DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. Claims 1-20 are pending.
Information Disclosure Statement
3. The information disclosure statement (IDS) submitted on 1/08/2026 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Drawings
4. The drawings have been reviewed and are accepted as being in compliance with the provisions of 37 CFR 1.121.
Priority
5. Acknowledgment is made of applicant’s claim for continuation of PCT/CN2022/133309 filed on November 21, 2022.
Claim Rejections - 35 USC § 101
6. 35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
7. Claims 1-20 are rejected under 35 U.S.C. 101 as being directed to an abstract idea without significantly more.
Step 1: Claim 1 recites “A method for…”; the claim recites a series of steps and therefore is a process. Claims 8 recites “A node associated with a database system…” therefore the claim is a machine. Claim 15 recites “A data base system…” therefore the claim is a machine.
Step 2A Prong One: Claims 1, 9, and 15 recite the limitations "determining" and specifically “evaluation” of the request. That is, other than reciting a "database" or "data center node", nothing in the claim element precludes the step from practically being performed in a human mind or with the aid of pen and paper. These limitations are processes that, under their broadest reasonable interpretation, cover performance of the limitation in the mind, but for the recitation of generic computer components.
If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind, then it falls within the “Mental Processes” grouping of abstract ideas (concepts performed in the human mind including an observation, evaluation, judgment, and opinion).
Step 2A Prong Two: The judicial exception is not integrated into a practical application. The claim recites the additional elements “receiving a message handling function….” And The “performing by the message” based on the evaluation, this limitation is a mere generic transmission and presentation of collected and analyzed data (MPEP 2106.05(g).
A claim to "collecting information, analyzing it, and displaying certain results of the collection and analysis," where the data analysis steps are recited at a high level of generality such that they are considered insignificant extra-solution activity. Electric Power Group v. Alstom, S.A., 830 F.3d 1350, 1353-54, 119 USPQ2d 1739, 1741-42 (Fed. Cir. 2016).
Step 2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The insignificant extra-solution activities listed above, including “performing by the message handling” this limitation is a mere generic transmission and presentation of collected and analyzed data. The limitations performed by a data center node, being a tool.; generates a combination of data or “output” based on data and update the based evaluation of the request ( it is recognized by the courts as well-understood, routine, and conventional activities when they are claimed in a merely generic manner. (see MPEP 2106.04(a)(2). There are no additional elements that amount to significantly more than the above-identified judicial exception (abstract idea).
Koninklijke KPN N.V. v.Gemalto M2M GmbH, 942 F.3d 1143, 1149 (Fed. Cir.2019) (quoting Affinity Labs of Tex., LLC v. DIRECTV, LLC, 838 F.3d 1253, 1257 (Fed. Cir. 2016)). In the context of software patents (which includes machine learning patents), the step-one inquiry determines “whether the claims focus on ‘the specific asserted improvement in computer capabilities . . . or, instead, on a process that qualifies as an abstract idea for which computers are invoked merely as a tool.’” Id. (alteration in original) (quoting Finjan, Inc. v. Blue Coat Sys., Inc., 879 F.3d 1299, 1303 (Fed. Cir. 2018)).
As per Claims 2 , The claim recites the additional limitations determining, by the message handling function, if the request includes a get-current-type request associated with the data item; upon determining the data item has a data type based at least in part on the priority sequence, reporting, by the message handling function, the data type associated with the data item; and upon determining the data item has no data type, reporting, by the message handling function, the data item has no data type..” The claim does not include additional elements that are sufficient to amount to significantly more than the abstract idea, under their broadest reasonable interpretation, cover performance of the limitation in the mind, but for the recitation of generic computer components, specifically doing comparison of data, from different sources. (See COFFELT V. NVIDIA CORPORATION, The determination of data type association claimed can be done by a human mentally or with a pen and paper.” It further added that “analyzing information by steps people [can] go through in their minds, or by mathematical algorithms, without more . . . [are] mental processes within the abstract-idea category.
As per Claim 3, The claim recites the additional limitations: “determining, by the message handling function, if the request includes a clear request associated with the data item; and upon determining the request is a clear request; clearing, by the message handling function, one or more values associated with the data item;
clearing, by the message handling function, one or more attributes associated
with the data item; building, by the message handling function, a merge-clear message based on the clearing of the one or more values and the one or more attributes; and
sending, by the message handling function, a merge-clear request associated with the data item to all other data center nodes in the database system.” The claim does not include additional elements that are sufficient to amount to significantly more than the abstract idea, under their broadest reasonable interpretation, cover performance of the limitation in the mind, but for the recitation of generic computer components, specifically doing comparison of data, from different sources, “applying a function”, which recites a mere mental step or an abstract idea.
As per Claims 4-8, recite determining, applying by the message handling function, sending, the message, and determine priorities according to values and read request.
The judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements "sending...", “rejecting” according to the data item and the associated message. The limitations amount to a data gathering step and a mere generic transmission and presentation of collected and analyzed data which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)).
As per Claims 10-14 and 16-20, being the data center and system claims corresponding to the method claims 2-8 respectively and rejected under the same reason set forth in connection of the rejections of Claims 2-8.
Claim Rejections - 35 USC § 103
8. 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.
9. Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over in Inbar et al (US 2022/0121627), view of Wu et al (US 2016/0142249), hereinafter “Inbar” and “Wu” respectively.
As per Claim 1, Inbar discloses:
A method for conflict free replicated data type management in a database system including multiple data center nodes, the method comprising: (Par [0003], “Conflict-free replicated data types (CRDTs) are data structures that can be replicated across multiple nodes in a distributed system network to achieve strong eventual consistency” and Figures 1-3) receiving, by a message handling function associated with a data center node, (Par [0042], “3) At 106, at some later point in time, the shards emit their up-to-date OVC in periodic OVC update messages. These messages indicate that the shards have received all updates from Replica A” and see Figures 1-2; includes the data center; and Par [0144], “a mechanism that defines a strict type precedence when handling key type conflict resolution. For example, in some embodiments, a Replica A can create a list key K and append elements…”)
a request message defining a request relating to a data item, (Par [0006], “receive a plurality of messages each acknowledging that the first key is to be deleted; determine that the plurality of messages includes a message for each of a plurality of shards of the first replica; and in response to determining that the plurality of messages includes a message for each of the plurality of shards of the first replica, delete the first key.”)
the data item defined without a data type or defined with one or more data types, (Par [0012], “methods for implementing conflict-free replicated data types in in-memory data structures are provided, the methods comprising: marking a first key of a conflict-free replicated data type as to be deleted; sending an update message reflecting that the first key is to be deleted to a first replica of an in-memory data structure”).
with the one or more data types (Par [0005], “implementing conflict-free replicated data types” and performing, by the message handling function, one or more actions based on an evaluation of the request. (Par [0042], “3) At 106, at some later point in time, the shards emit their up-to-date OVC in periodic OVC update messages. These messages indicate that the shards have received all updates from Replica A” and par [0094], “cursor-like XREAD from a streams' tail. In this mode, the reader requests to read the most recent message from the tail of the stream…” and see Figures 1-2; including the data center).
Inbar discloses causal order of operations, par [0033], in between replicas however not specifically the “priority sequency” associated with…”
Inbar do not specifically discloses the following: wherein a priority sequence is associated with the mentioned one or more data types;
Wu discloses the following claimed features as follows: (Par [0061-0062], “C. Convergent and Commutative Data Types” and par [0076], “The current changes can be provided in either a sequencing approach or a parallel approach. In the sequencing approach, current changes are provided first to a master node, and then the master node provides the changes to a provisioned node…” and see Figures 4C-4H).
Therefore, it would have been obvious to a person of ordinary skill in the art at the effective filing date to incorporate the teachings of Wu specifically having certain sequence into the method of Inbar to take advantage on applying the respective order of operations according to sequencing. The modification would have been obvious because one of the ordinary skills in the art would implement obtaining and providing an order to copy from a master node and follow its changes accordingly.
As per Claim 2, the rejection of Claim 1 is incorporated and Inbar further discloses: wherein the step of performing includes: determining, by the message handling function, if the request includes a get-current-type request associated with the data item; (Par [0117], “In some embodiments, when a key is updated by a replica, there are two ways information about the update can be propagated to other replicas: CRDT Effect messages and CRDT State Merge messages.” And see Figures 1-2) upon determining the data item has a data type based at least in part on the priority sequence, (Par [0118], “a CRDT Effect message needs to have prior information about the updated key in some embodiments. For example, an effect may describe an operation such as “add element X to a set”. Because of this, CRDT Effect messages can be used between replicas after an initial state synchronization has been established in some embodiments.” And see Figures 1-2) reporting, by the message handling function, the data type associated with the data item; (Par [0006], “mark a first key of a conflict-free replicated data type as to be deleted; send an update message reflecting that the first key is to be deleted to a first replica of an in-memory data structure; receive a plurality of messages each acknowledging that the first key is to be deleted; determine that the plurality of messages includes a message for each of a plurality of shards of the first replica” and see Figures 1-2) and upon determining the data item has no data type, reporting, by the message handling function, the data item has no data type. (Par [0064] and par [0068], “In some embodiments, volatile keys can only be actively expired by the replica that owns the TTL, and never by other replicas. In some embodiments, active expiration is a process whereby keys are scanned and keys that have an expired TTL are removed” being the no data type, its attitudes are managed by time to live; and Par [0129], “In some embodiments, a replica in accordance with the mechanisms described here may start in one of three states” and par [0130] (“1) No dataset loaded from disk (because persistence was not used, or because of a fault).”)
As per Claim 3, the rejection of Claim 1 is incorporated and Inbar further discloses: wherein the step of performing includes: determining, by the message handling function, if the request includes a clear request associated with the data item; (Par [0006], “…and in response to determining that the plurality of messages includes a message for each of the plurality of shards of the first replica, delete the first key.” And par [0012], “…and in response to determining that the plurality of messages includes a message for each of the plurality of shards of the first replica, deleting the first key.” Deletes keys according to expiration and par [0018], “marking a first key of a conflict-free replicated data type as to be deleted” see Figures 1-2) and upon determining the request is a clear request: clearing, by the message handling function, one or more values associated with the data item; (Par [0023], “and applying a precedence to the fourth key and the fifth key based on the first type and the second type so that the fourth key is assigned the second value.” and Paragraphs [0088-0089], “where t is the beginning time of the interval and v is the value (if no + or −) or change in value (if + or −)….” And see Figures 1-2) clearing, by the message handling function, one or more attributes associated with the data item; (Par [0023], “and applying a precedence to the fourth key and the fifth key based on the first type and the second type so that the fourth key is assigned the second value.” and Paragraphs [0088-0089], “where t is the beginning time of the interval and v is the value (if no + or −) or change in value (if + or −)….” And see Figures 1-2) building, by the message handling function, a merge-clear message based on the clearing of the one or more values and the one or more attributes; (Par [0102], “ Replica B deletes the stream key and propagates the delete to Replica A.” and par [0117], “CRDT Effect messages and CRDT State Merge messages.” And par [0121], “Replica A sends a CRDT State Merge message for Ka to Replica B, and Replica B sends a CRDT State Merge message for Kb to Replica A. After both replicas perform the merge, the key K is guaranteed to transition to a common state…”) and sending, by the message handling function, a merge-clear request associated with the data item to all other data center nodes in the database system. (Par [0012], “sending an update message…” and Par [0094], “To serve this mode of reading, a stream can be merge-read from the sub-streams which are already sorted, in some embodiments. In this merge-read, the reader is provided with entries from the streams based on the order (e.g., oldest to newest)” and see Figures 1-2).
As per Claim 4, the rejection of Claim 1 is incorporated and Inbar further discloses: wherein the step of performing includes: upon determining the request is a not a clear request, determining, by the message handling function if the data item has a data type; and (Par [0006], “…and in response to determining that the plurality of messages includes a message for each of the plurality of shards of the first replica, delete the first key.” And par [0012], “…and in response to determining that the plurality of messages includes a message for each of the plurality of shards of the first replica, deleting the first key.” Deletes keys according to expiration and par [0018], “marking a first key of a conflict-free replicated data type as to be deleted” see Figures 1-2)
upon determining the data item has no data type and the request has a meaning: (Par [0064] and par [0068], “In some embodiments, volatile keys can only be actively expired by the replica that owns the TTL, and never by other replicas. In some embodiments, active expiration is a process whereby keys are scanned and keys that have an expired TTL are removed” being the no data time, its attitudes are managed by time to live) applying, by the message handling function, a change to a value associated with the data item as defined by the request; (Par [0023], “and applying a precedence to the fourth key and the fifth key based on the first type and the second type so that the fourth key is assigned the second value.” and Paragraphs [0088-0089], “where t is the beginning time of the interval and v is the value (if no + or −) or change in value (if + or −)….” And see Figures 1-2) applying, by the message handling function, a change to an attribute associated with the data item as defined by the request; (Par [0023] and Paragraphs [0088-0089], “where t is the beginning time of the interval and v is the value (if no + or −) or change in value (if + or −)….”) and sending, by the message handling function, a merge request associated with the data item to all other data center nodes in the database system. (Par [0012], “sending an update message…” and Par [0094], “To serve this mode of reading, a stream can be merge-read from the sub-streams which are already sorted, in some embodiments. In this merge-read, the reader is provided with entries from the streams based on the order (e.g., oldest to newest)” and see Figures 1-2).
As per Claim 5, the rejection of Claim 1 is incorporated and Inbar further discloses:, wherein the step of performing includes: upon determining the data item has a data type at least in part based on the priority sequence and a current data type associated with the data item matches a data type defined in the request:
applying, by the message handling function, a change to a value associated with the data item as defined by the request; (Par [0023], “and applying a precedence to the fourth key and the fifth key based on the first type and the second type so that the fourth key is assigned the second value.” and Paragraphs [0088-0089], “where t is the beginning time of the interval and v is the value (if no + or −) or change in value (if + or −)….” And see Figures 1-2) applying, by the message handling function, a change to an attribute associated with the data item as defined by the request; (Par [0023] and Paragraphs [0088-0089], “where t is the beginning time of the interval and v is the value (if no + or −) or change in value (if + or −)….”) and sending, by the message handling function, a merge request associated with the data item to all other data center nodes in the database system. (Par [0012], “sending an update message…” and Par [0094], “To serve this mode of reading, a stream can be merge-read from the sub-streams which are already sorted, in some embodiments. In this merge-read, the reader is provided with entries from the streams based on the order (e.g., oldest to newest)” and see Figures 1-2).
As per Claim 6, the rejection of Claim 1 is incorporated and Inbar further discloses:, wherein the step of performing includes: upon determining the data item has a data type at least in part based on the priority sequence and a current data type associated with the data item is different than a data type defined in the request: rejecting, by the message handling function, the request. (Paragraphs [0084-0085], Add-wins semantics imply that when an add or update operation is performed concurrently to a remove operation, on the same data, the add or update operations take precedence. For example, if Replica A adds an element X to a set while Replica B deletes the same element X from the same set, the result of the operation (after being propagated and consolidated) is a set with element X as part of it.” It’s handled according to it data type, see also par [0087], “Next, Replica B deletes the key K and concurrently (before receiving the delete update message)…” and see Figures 1-2)
As per Claim 7, the rejection of Claim 1 is incorporated and Inbar further discloses: wherein the request message is associated with a read request. (Paragraphs [0094-0097], “…one read mode that can be provided is a cursor-like XREAD from a streams' tail. In this mode, the reader requests to read the most recent message from the tail of the stream. The reader receives the message along with the stream's ID, and then makes a subsequent read using that ID in order to read the next message in the stream.” and see Figures 1-2).
As per Claim 9, the rejection of Claim 1 is incorporated and Inbar further discloses: wherein the data item can include multiple values and multiple data types, wherein the data types are incompatible. (Par [0028], “CRDTs and allow in-memory data structures (e.g., REDIS) to be deployed in an active-active deployment with minimal changes to APIs of the in-memory data structures (e.g., REDIS) and the known behavior of the in-memory data structures (e.g., REDIS).” Active-active CRDTS include different types of data, strings, sets, sorted sets, hashes, lists, counters, and JSON objects).
As per Claims 9-20, being the data center and system claims corresponding to the method claims 1-8 respectively and rejected under the same reason set forth in connection of the rejections of Claims 1-8 and further Inbar discloses: (Par [0027]).
Conclusion
10. The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Slovetskiy; Sergey (US-20220019485-A1) relates to Conflict-free convergent and commutative replicated data types (CRDTs or CmRDTs) are used to model, address, and synchronize individual stack layer instances as intersecting sets of state parameters in a distributed system. CRDTs are data structures that can be used in distributed computing to replicate data across multiple computers in a network.
Thimbleby; William J. (US-20220391381-A1) relates to The memory 104 may further store data structures, e.g., the data models or graphs disclosed herein including CRDTs for individual data objects. The data models or graphs stored in the memory 104 may include the data models or graphs generated or updated locally at the device 100 as well as the data models or graphs (or their replicas) received from other devices.
Burckhardt; Sebastian (US-9436502-B2) relates to An “Eventually Consistent Sharing Model,” as described herein, provides various techniques for using fork-join automata based on “revision diagrams” to determine both arbitration and visibility of changes or updates to shared information (e.g., data, databases, lists, etc.).
11. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANGELICA RUIZ whose telephone number is (571)270-3158. The examiner can normally be reached M-F 10:00 am to 6:00 pm.
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, Boris Gorney can be reached at (571) 270-5626. 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.
/ANGELICA RUIZ/Primary Examiner, Art Unit 2154 January 23, 2026