DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is sent in response to Applicant's Communication received on June 9, 2025 for application number 19/232,273. This Office hereby acknowledges receipt of the following and placed of record in file: Specification, Drawings, Abstract, Oath/Declaration, and Claims.
Priority
This application discloses and claims only subject matter disclosed in prior application no 18/466,155, filed August 7, 2023, and names the inventor or at least one joint inventor named in the prior application. Accordingly, this application may constitute a continuation or division. Should applicant desire to claim the benefit of the filing date of the prior application, attention is directed to 35 U.S.C. 120, 37 CFR 1.78, and MPEP § 211 et seq.
Claim Rejections - 35 USC § 103
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 of this title, 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.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 4, 7-8, 11, 14, and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Chan et al. (US 2021/0103576)(hereinafter Chan) in view of Lin et al. (US 2008/0172429)(hereinafter Lin), and in further view of Sundrani et al. (US 2012/0311300)(hereinafter Sundrani).
Regarding claim 1, Chan teaches a method comprises: obtaining, by a lock state management module of a leader computing node of a plurality of computing nodes of pluralities of computing nodes of a database system (see Fig. 2, para [0008], discloses a master node (leader node)), a first lock request from a first client of a plurality of clients of the database system, wherein the first lock request corresponds to a first data access request of a first dataset (see Fig. 2, para [0021], para [0046], discloses a lock request (first data access request) to access shared data objects (first dataset)), wherein the first data set is dispersedly stored across a set of computing nodes of the plurality of computing nodes (see Figs. 2-3, para [0046, 0050], discloses shared data objects stored across master nodes), and wherein the shared lock state data is shared by the leader computing node with other computing nodes of the plurality of computing nodes and mediated by the plurality of computing nodes in accordance with a consensus protocol (see Table 1, para [0056-0057], discloses self-compatible lock mode (consensus protocol)).
Chen does not explicitly teach identifying, by the lock state management module, a first pending lock request queue of a plurality of pending lock request queues of shared lock state data based on first lock metadata of the first lock request, wherein the first pending lock request queue is a queue of pending lock requests pertaining to the first dataset and the set of computing nodes; adding, by the lock state management module, the first lock request to the first pending lock request queue in accordance with a prioritization ordering; determining, by the lock state management module, to grant the first lock request based on a set of grant conditions of the first pending lock request queue to produce a granted first lock request of a first set of granted lock requests of the shared lock state data, wherein the first set of granted lock requests is a set of granted lock requests pertaining to the first dataset and the set of computing nodes; and removing, by the lock state management module, the first granted lock request from the first set of granted lock requests upon a removal indication.
Lin teaches identifying, by the lock state management module, a first pending lock request queue of a plurality of pending lock request queues of shared lock state data based on first lock metadata of the first lock request (see Fig. 6, para [0137], discloses identifying first pending locking request queue for table lock, T1, based on task (first lock metadata)), wherein the first pending lock request queue is a queue of pending lock requests pertaining to the first dataset and the set of computing nodes (see Fig. 6, para [0135-0137], discloses first pending lock request pertaining to tasks and set of nodes); adding, by the lock state management module, the first lock request to the first pending lock request queue in accordance with a prioritization ordering (see para [0302-0303], discloses adding a Freeze state for processing other pending request until an already pending request is resolved).
Chan/Lin are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan to identify pending lock request queue of shared lock state data from disclosure of Lin. The motivation to combine these arts is disclosed by Lin as “Performance of the system can be improved by “reducing the frequency and duration of the Freeze state and the number of clustered servers that are involved in the adjustment” (para [0278]) and identifying pending lock request of shared lock state data is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Chan/Lin do not explicitly teach determining, by the lock state management module, to grant the first lock request based on a set of grant conditions of the first pending lock request queue to produce a granted first lock request of a first set of granted lock requests of the shared lock state data, wherein the first set of granted lock requests is a set of granted lock requests pertaining to the first dataset and the set of computing nodes; and removing, by the lock state management module, the first granted lock request from the first set of granted lock requests upon a removal indication.
Sundrani teaches determining, by the lock state management module, to grant the first lock request based on a set of grant conditions of the first pending lock request queue to produce a granted first lock request of a first set of granted lock requests of the shared lock state data (see Fig. 2, para [0027-0028], discloses determining to grant access to a shared resource based on if there is a region lock overlapping an inserted region lock (set of conditions) in a region lock tree), wherein the first set of granted lock requests is a set of granted lock requests pertaining to the first dataset and the set of computing nodes (see Fig. 3, para [0026-0027], discloses grant lock request associated with shared resource and logical block address, LBA of a dummy target); and removing, by the lock state management module, the first granted lock request from the first set of granted lock requests upon a removal indication (see Fig. 4, Fig. 7, para [0033], discloses rebalancing region lock tree to remove original node associated with the granted region lock request).
Chan/Li/Sundrani are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li to remove first granted lock request from disclosure of Sundrani. The motivation to combine these arts is disclosed by Sundrani as “Performance of the system can be improved by “provide rapid look-up of a node entry based on a key that maps the entries in the tree into an ordered set” (para [0022]) and removing first granted lock request is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claim 11, Chan teaches a computer readable storage medium comprises: a first memory section that stores operational instructions that, when executed by a lock state management module of a leader computing node of a plurality of computing nodes of pluralities of computing nodes of a database system (see Fig. 2, para [0008], para [0018], discloses a master node (leader node) and memory), causes the lock state management module to: obtain a first lock request from a first client of a plurality of clients of the database system, wherein the first lock request corresponds to a first data access request of a first dataset (see Fig. 2, para [0008], discloses a master node (leader node)), wherein the first data set is dispersedly stored across a set of computing nodes of the plurality of computing nodes (see Figs. 2-3, para [0046, 0050], discloses shared data objects stored across master nodes); and wherein the shared lock state data is shared by the leader computing node with other computing nodes of the plurality of computing nodes and mediated by the plurality of computing nodes in accordance with a consensus protocol (see Table 1, para [0056-0057], discloses self-compatible lock mode (consensus protocol)).
Chan does not explicitly teach identify a first pending lock request queue of a plurality of pending lock request queues of shared lock state data based on first lock request metadata of the first lock request, wherein the first pending lock request queue is a queue of pending lock requests pertaining to the first dataset and the set of computing nodes; add the first lock request to the first pending lock request queue in accordance with a prioritization ordering; determine to grant the first lock request based on a set of grant conditions of the first pending lock request queue to produce a granted first lock request of a first set of granted lock requests of the shared lock state data, wherein the first set of granted lock requests is a set of granted lock requests pertaining to the first dataset and the set of computing nodes; and remove the first granted lock request from the first set of granted lock requests upon a removal indication.
Lin teaches identify a first pending lock request queue of a plurality of pending lock request queues of shared lock state data based on first lock metadata of the first lock request (see Fig. 6, para [0137], discloses identifying first pending locking request queue for table lock, T1, based on task (first lock metadata)), wherein the first pending lock request queue is a queue of pending lock requests pertaining to the first dataset and the set of computing nodes (see Fig. 6, para [0135-0137], discloses first pending lock request pertaining to tasks and set of nodes); adding, by the lock state management module, the first lock request to the first pending lock request queue in accordance with a prioritization ordering (see para [0302-0303], discloses adding a Freeze state for processing other pending request until an already pending request is resolved).
Chan/Lin are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan to identify pending lock request queue of shared lock state data from disclosure of Lin. The motivation to combine these arts is disclosed by Lin as “Performance of the system can be improved by “reducing the frequency and duration of the Freeze state and the number of clustered servers that are involved in the adjustment” (para [0278]) and identifying pending lock request of shared lock state data is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Chan/Lin do not explicitly teach determine to grant the first lock request based on a set of grant conditions of the first pending lock request queue to produce a granted first lock request of a first set of granted lock requests of the shared lock state data, wherein the first set of granted lock requests is a set of granted lock requests pertaining to the first dataset and the set of computing nodes; and remove the first granted lock request from the first set of granted lock requests upon a removal indication.
Sundrani teaches determine to grant the first lock request based on a set of grant conditions of the first pending lock request queue to produce a granted first lock request of a first set of granted lock requests of the shared lock state data (see Fig. 2, para [0027-0028], discloses determining to grant access to a shared resource based on if there is a region lock overlapping an inserted region lock (set of conditions) in a region lock tree), wherein the first set of granted lock requests is a set of granted lock requests pertaining to the first dataset and the set of computing nodes (see Fig. 3, para [0026-0027], discloses grant lock request associated with shared resource and logical block address, LBA of a dummy target); and remove the first granted lock request from the first set of granted lock requests upon a removal indication (see Fig. 4, Fig. 7, para [0033], discloses rebalancing region lock tree to remove original node associated with the granted region lock request).
Chan/Li/Sundrani are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li to remove first granted lock request from disclosure of Sundrani. The motivation to combine these arts is disclosed by Sundrani as “Performance of the system can be improved by “provide rapid look-up of a node entry based on a key that maps the entries in the tree into an ordered set” (para [0022]) and removing first granted lock request is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claims 4 and 14, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan does not explicitly teach wherein the adding the first lock request to the first pending lock request queue further comprises: updating, by the lock state management module, the shared lock state data to include the first lock request in the first pending lock request queue; and confirming, by the other computing nodes of the plurality of computing nodes, the updated first pending lock request queue in accordance with the consensus protocol.
Lin teaches wherein the adding the first lock request to the first pending lock request queue further comprises: updating, by the lock state management module, the shared lock state data to include the first lock request in the first pending lock request queue (see Figs. 7D-7F, para [0071], para [0239], discloses Semawait queue, queueing more than one LockRec); and confirming, by the other computing nodes of the plurality of computing nodes, the updated first pending lock request queue in accordance with the consensus protocol (see Figs. 7D-7F,para [0739], discloses compatible Semawait to queue new Lockrec structure).
Regarding claims 7 and 17, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan further teaches wherein the producing granted first lock request of the first set of granted lock requests further comprises: updating, by the lock state management module, the shared lock state data to include to the granted first lock request in the first set of granted lock requests (see Fig. 4, Table 1, para [0008], para [0060-0061], discloses update lock requests in global hash table of shared memory); and confirming, by the other computing nodes of the plurality of computing nodes, the updated first set of granted lock requests in accordance with the consensus protocol (see Fig. 4, Table 1, para [0072], discloses confirming update in master node acknowledgment regarding compatibility).
Regarding claims 8 and 18, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan further teaches when the updated first set of granted lock requests is confirmed, sending, by the , by the lock state management module, a notification that the first lock request was granted to the first client (see para [0073], discloses notifying waiting list in global hash table in shared memory).
Claims 2, 5, 9, 12, 15, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Chan et al. (US 2021/0103576)(hereinafter Chan) in view of Lin et al. (US 2008/0172429)(hereinafter Lin) and Sundrani as applied to claims 1 and 11, in further view of Maeda et al. (US 2024/0289185)(hereinafter Maeda).
Regarding claims 2 and 12, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan/Lin/Sundrani do not explicitly teach wherein the first lock request metadata comprises: a first lock request identifier; a first dataset identifier; a first data access request type; and one or more of: a creation time; a refresh time; an owner identifier; and a read priority identifier.
Maeda teaches wherein the first lock request metadata comprises: a first lock request identifier (see para [0084], discloses a first lock request identifier); a first dataset identifier (see para [0056], discloses first thread (dataset) identifier); a first data access request type (see para [0082], discloses a type of access operation specified in request); and one or more of: a creation time; a refresh time; an owner identifier; and a read priority identifier (see para [0027], discloses a creation time in new lock object at the exact same time a concurrency dictionary is being updated).
Chan/Li/Sundrani/Maeda are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li/Sundrani to include a first lock request identifier from disclosure of Maeda. The motivation to combine these arts is disclosed by Maeda as “This allows locking to be performed at a finer level of granularity, leading to higher system throughput and improved overall system performance” (para [0029]) and including a first lock request identifier is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claims 5 and 15, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan/Lin/Sundrani do not explicitly teach wherein the prioritization ordering comprises one or more of: a time prioritization ordering, wherein the time prioritization ordering prioritizes lock requests based on time of receipt; and a read prioritization ordering, wherein the read prioritization ordering prioritizes lock requests pertaining to read data access requests and groups the lock requests pertaining to read data access requests together for concurrent processing.
Maeda teaches wherein the prioritization ordering comprises one or more of: a time prioritization ordering, wherein the time prioritization ordering prioritizes lock requests based on time of receipt (see para [0026, 0028], discloses prioritizing order based on count value that is incremented each time a new thread attempts to access lock and in order in which lock request were received); and a read prioritization ordering, wherein the read prioritization ordering prioritizes lock requests pertaining to read data access requests and groups the lock requests pertaining to read data access requests together for concurrent processing (see para [0028, 0048], discloses read prioritization ordering according to concurrency manager, prioritizing order based on lock request receipt).
Chan/Li/Sundrani/Maeda are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li/Sundrani to include a first lock request identifier from disclosure of Maeda. The motivation to combine these arts is disclosed by Maeda as “This allows locking to be performed at a finer level of granularity, leading to higher system throughput and improved overall system performance” (para [0029]) and including a first lock request identifier is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claims 9 and 19, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan/Lin/Sundrani do not explicitly teach wherein the removal indication comprises one of: a notification that the set of computing nodes executed the first data access request; and a time lapse indication.
Maeda teaches wherein the removal indication comprises one of: a notification that the set of computing nodes executed the first data access request (see Fig. 2, para [0049-0050], discloses transmit of a confirmation of lock acquisition); and a time lapse indication (see Fig. 3, para [0059], discloses a ‘wait’ time (time lapse) and postpones execution of second file transfer request until lock is reassigned to second thread).
Chan/Li/Sundrani/Maeda are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li/Sundrani to include a first lock request identifier from disclosure of Maeda. The motivation to combine these arts is disclosed by Maeda as “This allows locking to be performed at a finer level of granularity, leading to higher system throughput and improved overall system performance” (para [0029]) and including a first lock request identifier is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Claims 3 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Chan et al. (US 2021/0103576)(hereinafter Chan) in view of Lin et al. (US 2008/0172429)(hereinafter Lin) and Sundrani as applied to claims 1 and 11, in further view of Werner et al. (US 2023/0081900)(hereinafter Werner).
Regarding claims 3 and 13, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan/Lin/Sundrani do not explicitly teach wherein the consensus protocol comprises a raft consensus protocol.
Werner teaches wherein the consensus protocol comprises a raft consensus protocol (see para [0099], discloses Raft consensus protocol).
Chan/Li/Sundrani/Werner are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li/Sundrani to include a raft consensus protocol from disclosure of Werner. The motivation to combine these arts is disclosed by Werner as “nodes may approve of the state of the data based on reaching consensus” (para [0099]) and including raft consensus protocol is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Claims 6, 10, 16, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Chan et al. (US 2021/0103576)(hereinafter Chan) in view of Lin et al. (US 2008/0172429)(hereinafter Lin) and Sundrani as applied to claims 1 and 11, in further view of Werner et al. (US 2023/0081900)(hereinafter Aya).
Regarding claims 6 and 16, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan/Lin/Sundrani do not explicitly teach wherein the set of grant conditions comprises: the first lock request having a front position in the first pending lock request queue, wherein the first pending lock request queue is processed from front to back; a read prioritization indicator of the first lock request linking the first lock request to one or more consecutive other read lock requests in the first pending lock request queue having the front position; and the first lock request being the only lock request in the first pending lock request queue.
Aya teaches wherein the set of grant conditions comprises: the first lock request having a front position in the first pending lock request queue, wherein the first pending lock request queue is processed from front to back (see para [0076], discloses queue positions, front or top of queue and back or bottom of queue); a read prioritization indicator of the first lock request linking the first lock request to one or more consecutive other read lock requests in the first pending lock request queue having the front position (see Fig. 5, para [0076], para [0106], discloses lock file positions being moved to earlier position in queue); and the first lock request being the only lock request in the first pending lock request queue (see para [0076], discloses initially created lock file moved to front of cache eviction queue).
Chan/Li/Sundrani/Aya are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li/Sundrani to include a front position in lock request queue from disclosure of Aya. The motivation to combine these arts is disclosed by Aya as “improve the speed and efficiency of executing the job” (para [0044]) and including a front position in lock request queue is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Regarding claims 10 and 20, Chan/Lin/Sundrani teach a method of claim 1 and medium of claim 11.
Chan/Lin/Sundrani do not explicitly teach determining, by at least one computing node of the plurality of computing nodes, a leader computing node failure indication; initiating, by the at least one computing node, an election process; electing, by remaining computing nodes of the plurality of computing nodes, a new leader computing node of the remaining computing nodes using the consensus protocol; and implementing, by the new leader computing node, tasks of the lock state management module.
Aya teaches determining, by at least one computing node of the plurality of computing nodes, a leader computing node failure indication (see Fig. 3, para [0052], discloses failed execution node); initiating, by the at least one computing node, an election process (see Fig. 3, para [0049], discloses each execution node can access any data from any data storage devices) ; electing, by remaining computing nodes of the plurality of computing nodes, a new leader computing node of the remaining computing nodes using the consensus protocol (see para [0049, 0052], discloses replacing failed execution node with new execution node); and implementing, by the new leader computing node, tasks of the lock state management module (see para [0039], para [0049-0050], discloses execution nodes accessing any data from any data storage devices and data retrieval tasks).
Chan/Li/Sundrani/Aya are analogous arts as they are each from the same field of endeavor of database systems.
Before the effective filing date of the invention it would have been obvious to a person of ordinary skill in the art to modify the system of Chan/Li/Sundrani to include a front position in lock request queue from disclosure of Aya. The motivation to combine these arts is disclosed by Aya as “improve the speed and efficiency of executing the job” (para [0044]) and including a front position in lock request queue is well known to persons of ordinary skill in the art, and therefore one of ordinary skill would have good reason to pursue the known options within his or her technical grasp that would lead to anticipated success.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See Jereczek et al. US Publication No. 2019/0138368.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to COURTNEY HARMON whose telephone number is (571)270-5861. The examiner can normally be reached M-F 9am - 5pm.
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, Ann Lo can be reached at 571-272-9767. 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.
/Courtney Harmon/Primary Examiner, Art Unit 2159