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 .
DETAILED ACTION
1. This Office Action is in response to the application filed on 02/12/2025.
Claims 1-20 are pending.
Priority
2. This application is a Continuation of 18/355,497 (Patent US 11,254,001), which was filed on 07/20/2023, was acknowledged and considered.
Examiner’s Note
3. Preliminary mappings of some pertinent arts:
System state data (According to Google): “System state data refers to the critical operating system files, configurations, and components (like the Registry, boot files, Active Directory) that define a computer's current condition, essential for recovery from failures; it captures the "snapshot" of the OS's settings, enabling restoration of the system's core functionality without necessarily backing up all user applications or data.”
Raft consensus protocol (According to Google): “Raft is a consensus algorithm for distributed systems that helps multiple servers agree on the same data, ensuring strong consistency even if some nodes fail, by using a leader-based system for tasks like leader election, log replication, and safety guarantees, making it more understandable than older protocols like Paxos. It works by electing a single leader, who manages all client requests, appends them to its log, and replicates those changes to followers; once a majority confirms, the change is committed across the cluster, ensuring all nodes stay synchronized.”
Potashnik et al, US 20220398018, [Potashnik: Paragraph 230 (“instead of or in addition to local storage, the highest sequence number may be persisted or stored on an independent, highly available, strongly consistent storage system, where an advantage of such remote storage may be faster discovery of new snapshots in S3 by another storage system, and also greater reliability in transferring ownership of S3 data from one storage system (possibly non-functioning) to another storage system”)] [Potashnik: Paragraphs 79 and 194 (“A segment identifies a set of non-volatile solid state storage 152 and a local identifier into the set of non-volatile solid state storage 152 that may contain data. In some embodiments, the local identifier is an offset into the device and may be reused sequentially by multiple segments. In other embodiments the local identifier is unique for a specific segment and never reused”)] [Potashnik: Paragraph 83 (“Each authority has an authority owner, which is a storage node that has the exclusive right to update the entities in the authority. In other words, a storage node contains the authority, and that the authority, in turn, contains entities”)] [Potashnik: Paragraph 228 (“For example, because a given object may change names, and consequently appear under a new key, after an update, a current version (or key sequence number) of an object may be determined using linked keys. In this example, a current version of a key may be tied, or linked, to a metadata representation of objects stored within a file system or source storage system, by having an object representation within a hierarchy of the metadata representation point to a key. In this example, a side-effect may be that updating a key may trigger updates of all the parent keys up the hierarchy, which may ultimately result in a question of where to link a topmost element—and one example solution may be to limit the top of the hierarchy at a certain level and persist a topmost key version at the source storage system”)] [Potashnik: Paragraphs 71 and 229 (“snapshot restoration may not need to access the most recent version of a data object because all older files may include a superset of the snapshot data” and “The storage cluster distributes user data across storage nodes”)] [Potashnik: Paragraph 90 (“The ambiguity that arises due to transient failures can be achieved automatically by a consensus protocol”)] [Potashnik: Paragraph 229 (“in some cases, snapshot restoration may not need to access the most recent version of a data object because all older files may include a superset of the snapshot data. Given this, instead of linking a data block descriptor object into a metadata”)].
Kondiles et al, US 20220043690, [Kondiles: Paragraphs 347 and 392 (“This can be accomplished via ownership sequence numbers (OSNs) assigned to incoming queries, where each OSN has corresponding data ownership information determined via consensus protocol mediated across a plurality of nodes”)] [Kondiles: Paragraph 270 (“The plurality of proper subsets of the plurality of cluster keys can be contiguous intervals of the cluster key domain. In various embodiments a first proper subset of the plurality of proper subsets includes a first number of cluster key values, and a second proper subset of the plurality of proper subsets includes a second number of cluster key values that is different from the first number of cluster key values”)] [Kondiles: Paragraph 347 (“When a set of segments are generated from a set of pages, a new consensus protocol can be performed to swap the set of pages for the set of segments in updated data ownership information with a new OSN, and this set of segments can be read rather than this set of pages for new queries tagged with a corresponding new OSN. This improves the technology of database systems by guaranteeing query correctness via ensuring that all records are accessed exactly once in query executions, while enabling records to be included in both pages and segments as required in periods of time after segments are generated from pages and prior to deletion of converted pages”)] [Kondiles: Paragraphs 131, 351 and 398 (“Nodes at corresponding levels are determined from configuration information received from corresponding parent nodes and/or nodes at higher levels, and can each send configuration information to other nodes, such as their own child nodes, at lower levels until the lowest level is reached. This configuration information can include assignment of a particular subset of operators of the set of query operators that each level and/or each node will perform for the query. The execution of the query is performed upstream in accordance with the determined configuration, where IO reads are performed first, and resultants are forwarded upwards until the root node ultimately generates the query result” and “where the shared state mediated via the consensus protocol indicates the most updated ownership information.”)].
Claim Rejections - 35 USC § 102
4. 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 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.
5. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
6. Claims 1-2, 4, 6, 16-17 and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Kondiles et al (US 20220043690).
Claim 1:
Kondiles suggests a method for execution by at least one processor of a database system, comprising: generating, via a first node of a set of nodes, an update to system state data mediated via the set of nodes via a consensus protocol [Kondiles: Paragraphs 347 and 392 (“This can be accomplished via ownership sequence numbers (OSNs) assigned to incoming queries, where each OSN has corresponding data ownership information determined via consensus protocol mediated across a plurality of nodes”)] [Kondiles: Paragraphs 131, 351 and 398 (“The execution of the query is performed upstream in accordance with the determined configuration, where IO reads are performed first, and resultants are forwarded upwards until the root node.”)]. Kondiles suggests committing, via the first node, the update to system state data in accordance with the consensus protocol based on communicating the update to a first proper subset of the set of nodes based on the first proper subset of the set of nodes constituting a first majority of the set of nodes [Kondiles: Paragraphs 131, 351 and 398 (“Nodes at corresponding levels are determined from configuration information received from corresponding parent nodes and/or nodes at higher levels, and can each send configuration information to other nodes, such as their own child nodes, at lower levels until the lowest level is reached. This configuration information can include assignment of a particular subset of operators of the set of query operators that each level and/or each node will perform for the query. The execution of the query is performed upstream in accordance with the determined configuration, where IO reads are performed first, and resultants are forwarded upwards until the root node ultimately generates the query result” and “where the shared state mediated via the consensus protocol indicates the most updated ownership information.”)] [Kondiles: Paragraph 321 (“The query execution plan data 3941 can include the modified operator execution flow 3818 and/or can assign portions of the modified operator execution flow 3818 to nodes 37 at different levels of a corresponding query execution plan”)]. Kondiles suggests determining, via a second node of the set of nodes not included in the first proper subset of the set of nodes, to perform a database system functionality requiring utilization of a most recent version of the system state data [Kondiles: Paragraphs 358 and 379 (“As revised data ownership information is determined by particular nodes over time, most recent versions of the data ownership information 2710 can be implemented to execute incoming queries”)]. Kondiles suggests requesting, via the second node, current system state data from a second proper subset of the set of nodes constituting a second
majority of the set of nodes [Kondiles: Paragraph 129 (“In some cases, the single node or set of possible nodes at root level 2412 is a proper subset of the set of nodes at inner level 2410.2, and/or is a proper subset of the set of nodes at the IO level”)]. Kondiles suggests receiving, via the second node, a set of responses from the second proper subset of the set of nodes [Kondiles: Paragraph 129 (“In some cases, the single node or set of possible nodes at root level 2412 is a proper subset of the set of nodes at inner level 2410.2, and/or is a proper subset of the set of nodes at the IO level”)]. Kondiles suggests determining, via the second node, a current version of the system state data locally stored via local storage of the second node is outdated based on identifying, in at least one of the set of responses, at least one state data change from the current version of the system state data locally stored via the second node, wherein the at least one state data change includes the update [Kondiles: Paragraphs 351 and 358 (“Rather than necessitating global coordination and/or single entity responsible for assignment and sharing of data ownership information as new versions are generated over time, each new version of the data ownership information of a particular storage cluster 35 can be generated via a consensus protocol, which can be executed by some or all nodes 37 in a storage cluster participating in the consensus protocol, where the shared state mediated via the consensus protocol indicates the most updated ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)]. Kondiles suggests updating, via the second node, the current version of the system state data locally stored via the local storage of the second node as the most recent version of the system state data based on applying the at least one state data change to the current version of the system state data locally stored via the second node [Kondiles: Paragraph 358 (“most recent versions of the data ownership information 2710 can be implemented to execute incoming queries. However, if the node were to immediately adopt the most recent data ownership information in executing queries, queries could be processed improperly. In particular, as an individual node executes a query over a span of time, if the node changes its segment set determined for the query based on a more recent versions of the data ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)]. Kondiles suggests performing, via the second node, the database system functionality via accessing the most recent version of the system state data in the local storage of the second node based on confirming the most recent version of the system state data is stored in the local storage of the second node [Kondiles: Paragraph 358 (“most recent versions of the data ownership information 2710 can be implemented to execute incoming queries. However, if the node were to immediately adopt the most recent data ownership information in executing queries, queries could be processed improperly. In particular, as an individual node executes a query over a span of time, if the node changes its segment set determined for the query based on a more recent versions of the data ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)].
Claim 2:
Kondiles suggests wherein the second node requests the current system state data from the second proper subset of the set of nodes constituting the second majority of the set of nodes based on determining an inter-cluster segment group transfer is in progress node [Kondiles: Paragraph 358 (“most recent versions of the data ownership information 2710 can be implemented to execute incoming queries. However, if the node were to immediately adopt the most recent data ownership information in executing queries, queries could be processed improperly. In particular, as an individual node executes a query over a span of time, if the node changes its segment set determined for the query based on a more recent versions of the data ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)].
Claim 4:
Claim 4 is essentially the same as claim 1 except that it sets forth the claimed invention as a system rather than a method and rejected under the same reasons as applied above.
Claim 6:
Kondiles suggests wherein the second proper subset of the set of nodes does not include the first node [Kondiles: Paragraph 358 (“most recent versions of the data ownership information 2710 can be implemented to execute incoming queries. However, if the node were to immediately adopt the most recent data ownership information in executing queries, queries could be processed improperly. In particular, as an individual node executes a query over a span of time, if the node changes its segment set determined for the query based on a more recent versions of the data ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)].
Claim 16:
Kondiles suggests wherein identifying the at least one state data change from the current version of the system state data locally stored via the second node is based on determining newer state date the at least one of the set of responses based on detecting a progression of the system state data in the at least one of the set of responses from the current version of the system state data locally stored via the second node [Kondiles: Paragraph 358 (“most recent versions of the data ownership information 2710 can be implemented to execute incoming queries. However, if the node were to immediately adopt the most recent data ownership information in executing queries, queries could be processed improperly. In particular, as an individual node executes a query over a span of time, if the node changes its segment set determined for the query based on a more recent versions of the data ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)].
Claim 17:
Kondiles suggests wherein the second node requests the current system state data from the second proper subset of the set of nodes constituting the second majority of the set of nodes based on determining an inter-cluster segment group transfer is in progress [Kondiles: Paragraph 358 (“most recent versions of the data ownership information 2710 can be implemented to execute incoming queries. However, if the node were to immediately adopt the most recent data ownership information in executing queries, queries could be processed improperly. In particular, as an individual node executes a query over a span of time, if the node changes its segment set determined for the query based on a more recent versions of the data ownership information”)] [Kondiles: Paragraph 357 (“Because data ownership information is local only to a particular storage cluster 35, each storage cluster of a small number of nodes can execute the consensus protocol amongst themselves, rather than requiring consensus or other coordination across all nodes in the database system.”)].
Claim 20:
Claim 20 is essentially the same as claim 1 except that it sets forth the claimed invention as a program product rather than a method and rejected under the same reasons as applied above.
Claim Rejections - 35 USC § 103
6. 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 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.
7. 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.
8. Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Kondiles et al (US 20220043690), in view of Kondo (US 20220334953).
Claim 7:
The combined teachings of Kondiles and Kondo suggest wherein the consensus protocol is implemented as a Raft consensus protocol, and the first node is implemented as a leader node, and wherein the second node is implemented as a follower node of the first node [Kondo: Paragraph 19 (“When nodes are authenticated in a closed private network, fault-tolerant consensus protocol like Raft, Paxos and PBFT are used”)] [Kondo: Paragraph 54 (“the obtained data by extracting latest states of the blockchain system from the database files as illustrated at 703 of FIG. 7(a);”)].
Both references (Kondiles and Kondo) taught features that were directed to analogous art and they were directed to the same field of endeavor, such as data management. It would have been obvious to one of ordinary skill in the art at the time the invention was made, having the teachings of Kondiles and Kondo before him/her, to modify the system of Kondiles with the teaching of Kondo in order to implement a Raft consensus protocol in a data system [Kondo: Paragraph 19].
Allowable Subject Matter
9. Claims 3, 5, 8-15 and 18-19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
10. Any inquiry concerning this communication or earlier communications from the examiner should be directed to [Hung D. Le], whose telephone number is [571-270-1404]. The examiner can normally be communicated on [Monday to Friday: 9:00 A.M. to 5:00 P.M.].
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Apu Mofiz can be reached on [571-272-4080]. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, contact [800-786-9199 (IN USA OR CANADA) or 571-272-1000].
Hung Le
01/20/2026
/HUNG D LE/Primary Examiner, Art Unit 2161