DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
This Office Action has been issued in response to Applicant’s Communication of amended application S/N 18/070,141 filed on May 6, 2026. Claims 1 to 14 are currently pending with the application. Claims 6 to 11 are withdrawn from further consideration.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 2, 4, 12, 13, and 14 are rejected under 35 U.S.C. 103 as being unpatentable over MATSUBARA et al. (U.S. Publication No. 2018/0260463) hereinafter Matsubara, in view of Rao et al. (U.S. Publication No. 2021/0117425) hereinafter Rao, and further in view of Bortnikov et al. (U.S. Publication No. 2017/0220617) hereinafter Bortnikov.
As to claim 1:
Matsubara discloses:
A transaction processing method, applied to a transaction allocation device, the transaction allocation device residing in a distributed database system, the distributed database system further comprising at least two node devices sharing a same storage system [Paragraph 0018 teaches task processing nodes 200 execute tasks using data 221 stored in the distributed database], the method comprising:
determining, when handling an allocation request of a target transaction, transaction allocation indexes respectively corresponding to the at least two node devices, each transaction allocation index corresponding to one of the node devices used for indicating a matching degree of allocation of a new transaction to the node device, wherein each of the at least two node devices automatically imports data from the same storage system based on a requirement of the target transaction [Paragraph 0020 teaches upon receipt of an execution request of a task, performing a data inquiry to each task processing node 200, to determine presence of data to be used in the task, and based on the responses to the data inquiry, determine a task processing node where to assign the task, in other words, the responses from the node devices represent the matching degree of allocation of the transaction to the node device; Paragraph 0027 teaches receiving execution request of a task, and identifying the task processing nodes 200 to be performed the data inquiry before performing the data inquiry, and performing the data inquiry to the identified task processing nodes, therefore automatically importing data based on a requirement of the transaction]; and
determining a node device of the target transaction in the at least two node devices based on the transaction allocation indexes respectively corresponding to the at least two node devices [Paragraph 0020 teaches based on the received responses from each of the task processing nodes, determining a task processing node to assign the task for processing; Paragraph 0028 teaches selecting a task processing node where to assign the task based on the results of the data inquiry and assigns the task to the selected task processing node; Paragraph 0057 teaches target task processing node processes the task, and transmits information for the response, therefore, coordinating the target transaction; Paragraph 0078 teaches assigning tasks to the at least one of the task processing nodes so that the tasks to be executed are balanced among the task processing nodes, in other words, organizing one or more data nodes to jointly process the target transaction; Paragraph 0082 teaches assigning the task to a plurality of task processing nodes, by assigning a task for performing different processing to the each of the plurality of task processing nodes, therefore, assigning tasks of the transaction to one or more data nodes devices to process the transaction].
Matsubara does not appear to expressly disclose determining a coordinator node; and coordinating, by the coordinator node device, the target transaction, comprising: transmitting a data read request to at least one data node device in the at least two node devices based on transaction information of the target transaction; transmitting a transaction validation request and a local write set to the at least one data node device in response to a data read result returned by the at least one data node device satisfying a transaction validation condition; determining a processing instruction of the target transaction based on a validation result of the target transaction returned by the at least one data node device; transmitting the processing instruction of the target transaction to the at least one data node device in the at least two node devices, wherein the at least one data node device is different than the coordinator node device and is configured to participate in processing the target transaction; and causing the at least one data node device to execute the processing instruction of the target transaction; the processing instruction being a commit instruction or an abort instruction.
Rao discloses:
determining a coordinator node [Paragraph 0624 teaches identifying a query coordinator 3304 that can process the query; Paragraph 0625 teaches determining a query coordinator to execute the tasks, where different query coordinators can be identified for different operations]; and
coordinating, by the coordinator node device, the target transaction, comprising: transmitting the processing instruction of the target transaction to the at least one data node device, wherein the at least one data node device is different than the coordinator node device and is configured to participate in processing the target transaction [Paragraph 0625 teaches query coordinator(s) 3304 can coordinate the various tasks to execute queries assigned to them, where the query coordinator determines what tasks are to be handled by the worker nodes 3306, spawn the worker nodes 3306 for the different tasks, instruct different worker nodes 3306 to perform the different tasks and where to route the results of each task, monitor the worker nodes 3306 during the query, control the flow of data between the worker nodes, etc., where the coordinator and the worker nodes are different]; and
causing the at least one data node device to execute the processing instruction of the target transaction [Paragraph 0625 teaches query coordinator(s) 3304 can coordinate the various tasks to execute queries assigned to them, where the query coordinator instructs different worker nodes 3306 to perform the different tasks, therefore, causing the nodes to execute the transaction; Paragraph 0626 teaches worker nodes 3306 can perform the various tasks assigned to them by a query coordinator 3304].
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, to combine the teachings of the cited references and modify the invention as taught by Matsubara, by determining a coordinator node; and coordinating, by the coordinator node device, the target transaction, comprising: transmitting a processing instruction of the target transaction to at least one data node device in the at least two node devices, wherein the at least one data node device is different than the coordinator node device and is configured to participate in processing the target transaction; and causing the at least one data node device to execute the processing instruction of the target transaction, as taught by Rao [Paragraph 0624-0626], because both applications are directed to management of distributed environments; by selecting a coordinator node, processing demands on the search head is reduced, while enabling isolation between different query processing (See Rao Paras [0624], [0625]).
Neither Matsubara nor Rao appear to expressly disclose transmitting a data read request to at least one data node device in the at least two node devices based on transaction information of the target transaction; transmitting a transaction validation request and a local write set to the at least one data node device in response to a data read result returned by the at least one data node device satisfying a transaction validation condition; determining a processing instruction of the target transaction based on a validation result of the target transaction returned by the at least one data node device; the processing instruction being a commit instruction or an abort instruction.
Bortnikov discloses:
transmitting a data read request to at least one data node device in the at least two node devices based on transaction information of the target transaction [Paragraph 0099 teaches identifying a bucket corresponding to the transaction key, and checking to see if the key is among the entry pairs already entered in the bucket];
transmitting a transaction validation request and a local write set to the at least one data node device in response to a data read result returned by the at least one data node device satisfying a transaction validation condition [Paragraph 0099 teaches upon determining that the answer is yes (in other words, in response to a read result satisfying a validation condition), comparing the trid of the transaction to the timestamp, where if txid<ts_w, then it is determined that a conflict exists, where each key of the write set of the transaction is input, hence, transmitted];
determining a processing instruction of the target transaction based on a validation result of the target transaction returned by the at least one data node device [Paragraph 0099 teaches determining that there is a conflict, and unlocking the bucket, followed by an abortion of the transaction, therefore, determining a processing instruction based on a validation result];
the processing instruction being a commit instruction or an abort instruction [Paragraph 0099 teaches performing an abortion of the transaction in response to determining that a conflict exists].
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, to combine the teachings of the cited references and modify the invention as taught by Matsubara, by transmitting a data read request to at least one data node device in the at least two node devices based on transaction information of the target transaction; transmitting a transaction validation request and a local write set to the at least one data node device in response to a data read result returned by the at least one data node device satisfying a transaction validation condition; determining a processing instruction of the target transaction based on a validation result of the target transaction returned by the at least one data node device; the processing instruction being a commit instruction or an abort instruction, as taught by Bortnikov [Paragraph 0099], because both applications are directed to management of transactions in distributed environments; performing various validation operations enables the detection of potential conflicts, thereby maintaining data integrity and improving system throughput (See Bortnikov Para [0001]).
Same rationale applies to claims 12, 13, and 14 since they recite similar limitations, and are therefore similarly rejected.
As to claim 2:
Matsubara discloses:
determining a transaction allocation mode, the transaction allocation mode comprising one of allocation based on transaction busyness, allocation based on device busyness, and allocation based on hybrid busyness [Paragraph 0075 teaches in case where a plurality of processing nodes is identified, the selection of the task processing nodes can be performed based on CPU usage, or amount of processing load; Paragraph 0079 teaches selecting task processing node based on a selection rule]; and
determining the transaction allocation indexes respectively corresponding to the at least two node devices according to a determination manner indicated by the transaction allocation mode [Paragraph 0075 teaches the selection of the task processing nodes can be performed based on CPU usage, or amount of processing load; Paragraph 0076 teaches selecting a task processing node having a low CPU usage; Paragraph 0049 teaches the load 303 stores the value of the memory usage, the number of tasks being executed by the task processing node, etc.].
As to claim 4:
Matsubara discloses:
transmitting device ID information of the coordinator node device to a terminal initiating the allocation request [Paragraph 0077 teaches transmitting information including the identification information on the task processing nodes holding the target data; Paragraph 0083 teaches transmitting task transfer information including identification information of the task processing nodes], the terminal is configured to transmit transaction information of the target transaction to the coordinator node device according to the device ID information of the coordinator node device (Examiner respectfully notes that the terminal is outside of the scope of the claims), and
coordinating, by the coordinator node device, the target transaction based on the transaction information [Paragraph 0057 teaches target task processing node processes the task, and transmits information for the response, therefore, coordinating the target transaction].
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over MATSUBARA et al. (U.S. Publication No. 2018/0260463) hereinafter Matsubara as applied to claim 1 above, in view of in view of Rao et al. (U.S. Publication No. 2021/0117425) hereinafter Rao, in view of Bortnikov et al. (U.S. Publication No. 2017/0220617) hereinafter Bortnikov, and further in view of Gordon (U.S. Publication No. 2017/0289298).
As to claim 3:
Matsubara discloses all the limitations as set forth in the rejections of claim 1 above, but does not appear to expressly disclose the transaction allocation mode comprises the allocation based on hybrid busyness, and the determining the transaction allocation indexes respectively corresponding to the at least two node devices according to a determination manner indicated by the transaction allocation mode comprises: determining a transaction allocation index corresponding to a first node device based on a transaction processing quantity of the first node device, a device resource utilization rate of the first node device, a transaction processing quantity weight, a device resource utilization rate weight, and a weight adjustment parameter, wherein the first node device is any node device in the at least two node devices.
Gordon discloses:
the transaction allocation mode comprises the allocation based on hybrid busyness,
and the determining the transaction allocation indexes respectively corresponding to the at least two node devices according to a determination manner indicated by the transaction allocation mode comprises: determining a transaction allocation index corresponding to a first node device based on a transaction processing quantity of the first node device, a device resource utilization rate of the first node device, a transaction processing quantity weight, a device resource utilization rate weight, and a weight adjustment parameter, wherein the first node device is any node device in the at least two node devices [Paragraph 0009 teaches calculating grades for at least one of the assignments in respect of at least one of the interconnected computer nodes, such that each grade being indicative of a suitability of a respective computer node of the interconnected computer nodes to execute a respective assignment; Paragraph 0193 teaches the data of various parameters relating to dynamic behavior and the environment can include various parameters data indicative of the current state of one or more nodes and resources, and can include data of presence and loads and availability and faults and capabilities and response times and connectivity and costs, e.g., costs of network links, different types of data storage resources, statistical data, etc.; Paragraphs 0194-0244 teach parameter data can include hardware resources, including storage-related resources like response time, average latency, random seek time, data transfer rate, performance parameters of each CPU and core, computer node parameters like recent and current node load statistics, existing allocations and reservations, current amount of memory, recent and current latency statistics].
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, to combine the teachings of the cited references and modify the invention as taught by Matsubara, by determining a transaction allocation index corresponding to a first node device based on a transaction processing quantity of the first node device, a device resource utilization rate of the first node device, a transaction processing quantity weight, a device resource utilization rate weight, and a weight adjustment parameter, wherein the first node device is any node device in the at least two node devices, as taught by Gordon [Paragraphs 0009, 0193-0244], because both applications are directed to transaction routing to computing nodes; including additional parameters in the calculation of the degree or grade enables the identification of the most suitable computer node to select for execution of transactions, improving thereby efficiency of processing (See Gordon Para [0299]).
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over MATSUBARA et al. (U.S. Publication No. 2018/0260463) hereinafter Matsubara as applied to claim 1 above, in view of Rao et al. (U.S. Publication No. 2021/0117425) hereinafter Rao, in view of Bortnikov et al. (U.S. Publication No. 2017/0220617) hereinafter Bortnikov, and further in view of Gupta et al. (U.S. Patent No. 10,872,073) hereinafter Gupta.
As to claim 5:
Matsubara discloses:
the distributed database system supports a key-value data storage format [Paragraph 0019 teaches the distributed database stores key-value pairs as a plurality of pieces of data, although is not limited to a KVS].
Matsubara does not appear to expressly disclose a segment-page data storage format.
Gupta discloses:
supporting a key-value data storage format and a segment-page data storage format [Column 10, lines 9 to 22 teach storing data for a database managed in database service, such as data pages and segment redo logs, and backing up all data blocks written to the distributed storage system in a key-value storage].
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, to combine the teachings of the cited references and modify the invention as taught by Matsubara, by supporting a key-value data storage format and a segment-page data storage format, as taught by Gupta [Column 10], because both applications are directed to data management in distributed databases; by supporting various formats of data, flexibility and interoperability of the system is enhanced.
Response to Arguments
The following is in response to arguments filed on May 6, 2026. Arguments have been carefully and respectfully considered.
Claim Rejections - 35 USC § 101
Applicant’s arguments have been fully and respectfully considered. In view of claim amendments, and arguments, rejections under 35 USC § 101 are hereby withdrawn.
Claim Rejections - 35 USC § 103
Applicant’s arguments have been carefully and respectfully considered, but are moot in view of new grounds of rejections, as necessitated by the amendments.
Further, Applicant argues that “while Matsubara may teach a centralized query coordinator determining which data to import based on a query requirement, it does not disclose each of the at least two node devices automatically importing data from a same storage system based on a requirement of a target transaction without coordinator interference”.
In response to Applicant’s argument that the references fail to show certain features of the
invention, it is noted that the features upon which applicant relies (i.e., “each of the at least two node devices automatically importing data from a same storage system based on a requirement of a target transaction without coordinator interference”) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to RAQUEL PEREZ-ARROYO whose telephone number is (571)272-8969. The examiner can normally be reached Monday - Friday, 8:00am - 5:30pm, Alt Friday, EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sherief Badawi can be reached at 571-272-9782. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/RAQUEL PEREZ-ARROYO/Primary Examiner, Art Unit 2169