Prosecution Insights
Last updated: August 17, 2026
Application No. 18/969,537

STORING A SEGMENT DIRECTORY GROUP VIA A DATABASE SYSTEM

Non-Final OA §103§112
Filed
Dec 05, 2024
Priority
Nov 12, 2024 — provisional 63/719,444
Examiner
WILLIS, AMANDA LYNN
Art Unit
2156
Tech Center
2100 — Computer Architecture & Software
Assignee
Ocient Holdings LLC
OA Round
3 (Non-Final)
36%
Grant Probability
At Risk
3-4
OA Rounds
3y 0m
Est. Remaining
62%
With Interview

Examiner Intelligence

Grants only 36% of cases
36%
Career Allowance Rate
128 granted / 357 resolved
-19.1% vs TC avg
Strong +26% interview lift
Without
With
+26.1%
Interview Lift
resolved cases with interview
Typical timeline
4y 8m
Avg Prosecution
15 currently pending
Career history
382
Total Applications
across all art units

Statute-Specific Performance

§101
14.1%
-25.9% vs TC avg
§103
45.7%
+5.7% vs TC avg
§102
12.6%
-27.4% vs TC avg
§112
21.4%
-18.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 357 resolved cases

Office Action

§103 §112
DETAILED ACTION Receipt of Applicant’s Amendment, filed February 11, 2026 is acknowledged. Claims 21-23, 26, 29-32, 35 and 38 were amended. Claims 1-20, 24, 28, 33, and 37 were cancelled. Claims 21-38 are pending in this office action. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 21-23, 25-27, 29-32, 34-36, and 38 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. With regard to claims 21 and 30, claim 21 recites “A database system comprises: … a plurality of computing device clusters… wherein the plurality of segments is stored in memory of the database system… metadata regarding storage of the plurality of segments in the memory of the database system”. Claim 30 appears to recite substantially similar limitations and suffers from the same issues. The claimed database system has not been recited as comprising a ‘memory’. The reference to ‘memory in the database system’ lacks antecedent basis. The claim language appears to define an object comprising itself (e.g. the system comprised of …the system). Furthermore, one of ordinary skill in the art would recognize that the ‘computing device clusters’ would contain ‘memory’. It is unclear if the recited memory is referring to the memory within the computing device clusters. The structure of the claimed device is unclear. The distinction between the device clusters and the memory is unclear and the claimed device comprises itself. For examination purposes the claim has been construed as –a plurality of device clusters comprising a plurality of memories… wherein the plurality of segments is stored in respective memories of the device clusters. It is suggested that the claim be amended to not define the claimed object as including the claimed object. It is suggested that the relationship between the device clusters and the memory be clarified. 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, 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 21-23, 25-27, 29-32, 34-36, and 38 are rejected under 35 U.S.C. 103 as being unpatentable over Kondiles [2018/0096049] in view of Thumbert [2025/0023811]. With regard to 21 Kondiles teaches A database system comprises: a plurality of computing device clusters as the set of coding clusters (Kondiles, ¶84 “The payload store 402 includes a set of coding clusters 406, 408 and 410 for storing data and serving data to computer software applications”), wherein a computing device cluster of the plurality of computing device clusters includes a plurality of computing devices (Kondiles, ¶85 “Each coding cluster includes a number of nodes, such as the nodes 432 and 434.”; Figure 4), wherein a computing device of the plurality of computing devices includes a plurality of computing nodes as the nodes 432 and 434 (Id), wherein a computing node of the plurality of computing nodes includes a plurality of processing core resources as each node includes a processing unit, such as 1802 (Kondiles, ¶86 “Each node is a computer system, a simplified diagram of which is shown in FIG. 18 and generally indicated at 1800. The computer 1800 includes a processing unit 1802”), wherein a set of processing core resources of the computing device cluster is operable to: effectuate data activity as storing data (¶94), writing/inserting data (¶177), deleting data (¶135), sequential writing to same segment (¶109), measuring and storing new data (¶87) and (¶135), and accessing data for search queries (¶122) Please note this claim limitation has been interpreted in light of Claim 22) of a segment as the top Segment 610 (Figure 6, 610) of a plurality of segments of a dataset as segments in data (¶94 “Data is grouped in segments with some fixed size.”) [[ (XXX, ¶94 “Each unique segment is stored on exactly one storage disk, and multiple unique segments can be stored on a disk.”) in memory (XXX, ¶56 “Database software applications running in clusters and on nodes within clusters maintain open coding blocks in memory”) of the database system (XXX, Abstract “A massively parallel database management system includes”), wherein a plurality of segment directories as segment groups (Kondiles, ¶127 “For example, the routing table 600 is searched to locate the segments based on the segment groups and IDA offsets of the row numbers.”) associated with the plurality of segments include metadata (Kondiles, ¶88 “As used herein, links between clusters are termed as inter-cluster links while links between nodes within a cluster are termed as intra-cluster links”) regarding storage of the plurality of segments (XXX, ¶94 “Each unique segment is stored on exactly one storage disk, and multiple unique segments can be stored on a disk.”) in the memory (XXX, ¶56 “Database software applications running in clusters and on nodes within clusters maintain open coding blocks in memory”) of the database system (XXX, Abstract “A massively parallel database management system includes”); in accordance with successfully effectuated data activity as the data being operated (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”) of the segment as the particular segment of the cluster being written too directly (Id): [[ Update as writing to the segments of clusters (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”) a segment directory as the specific segment group (¶119 “The IDA offset 1204 uniquely identifies a segment within the segment group 1202. When each node includes exactly one storage disk, the IDA offset 1204 then uniquely identifies a node within the segment group 1202. The combination of the segment group 1202 and the IDA offset uniquely identifies a segment within the database system 112, and is thus termed herein as a segment ID.”) of the plurality of segment directories as the segment groups (Id) with metadata as the index values (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”) regarding data resulting from the successfully effectuated data activity of the segment as the data being operated on (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”); and effectuate data activity as storing data (¶94), writing/inserting data (¶177), deleting data (¶135), sequential writing to same segment (¶109), measuring and storing new data (¶87) and (¶135), and accessing data for search queries (¶122) Please note this claim limitation has been interpreted in light of Claim 22) of a second segment as the bottom Segment 610 (Figure 6, 610) of the plurality of segments as segments in data (¶94 “Data is grouped in segments with some fixed size.”) [[ in accordance with successfully effectuated data activity as the data being operated (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”) of the second segment as the particular segment being written too directly (Id): [[]]; and update as writing to the segments of clusters (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”)a second segment directory as the specific segment group (¶119 “The IDA offset 1204 uniquely identifies a segment within the segment group 1202. When each node includes exactly one storage disk, the IDA offset 1204 then uniquely identifies a node within the segment group 1202. The combination of the segment group 1202 and the IDA offset uniquely identifies a segment within the database system 112, and is thus termed herein as a segment ID.”) of the plurality of segment directories as the segment groups (Id) with metadata as the index values (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”) regarding data resulting from the successfully effectuated data activity of the second segment as the data being operated on (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”). Kondiles does not explicitly teach effectuated data activity of a segment… in accordance with a consensus protocol… effectuated data activity of a second segment… in accordance with a consensus protocol… Thumbert teaches effectuate data activity of a segment as the load of particular node (THUMBERT, ¶94 “The same consensus message passing mechanism amongst the sentinels 320 can also be used to perform load balancing”) of a dataset in accordance with a protocol as monitoring load of the nodes via a consensus mechanism (Id); record successful effectuated data activity of the segment in a consensus file as the respective linked consensus information (¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”) … effectuate data activity of a second segment as the load of particular node (THUMBERT, ¶94 “The same consensus message passing mechanism amongst the sentinels 320 can also be used to perform load balancing”) of a dataset in accordance with a consensus protocol as monitoring load of the nodes via a consensus mechanism (Id); record successful effectuated data activity of the second segment in a second consensus file as the respective linked consensus information (¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”). It would have been obvious to one of ordinary skill to which said subject matter pertains at the time the invention was filed to have implemented the network within Kondiles using the consensus mechanism taught by Thumbert as it yields the predictable results of provide fallback (Thumbert, ¶80), load-balancing (Thumbert, ¶80) and failure recovery (Thumbert, ¶69) within the network. Please note that one of ordinary skill in the art would recognize the B+tree structure taught by Kondiles (Kondiles, ¶123) as being a DAG similar to the one taught by Thumbert (¶16) and thus capable of being implemented using the consensus concepts taught by Thumbert. With regard to claims 22 and 31, the proposed combination further teaches wherein the effectuated data activity comprises one or more of: store the segment of the plurality of segments of the dataset as storing each segment (Kondiles, ¶94 “Data is grouped in segments with some fixed size. Each segment is assigned to exactly one node in exactly one coding cluster in the payload store 402. In such a case, a segment is the fundamental relocatable unit in the database system 112. Each unique segment is stored on exactly one storage disk, and multiple unique segments can be stored on a disk”); add data to the segment of the plurality of segments of the dataset as segments being written/inserted (Kondiles, ¶117 “multiple writes (such as 1902-1906) are performed on a single segment 501 in parallel at the same time”); delete data from the segment of the plurality of segments of the dataset as deleting data from segments (Kondiles, ¶135 “The source node receives the notification and deletes the data from its segment of storage to free space for storing new data.”); modify data of the segment of the plurality of segments of the dataset as sequential write to the same segment (Kondiles, ¶109 “The sequential placement of rows in the open memory blocks means sequential write of the rows into storage devices and segments”); compute new data from the segment of the plurality of segments of the dataset as measuring new data, storing new data (Kondiles, ¶87 “the age of the data is measured in days in a system where newer data is expected to be accessed more frequently.”; ¶135 “The source node receives the notification and deletes the data from its segment of storage to free space for storing new data.”); and access the segment of the plurality of segments of the dataset (Kondiles, ¶95 “Each cluster within the payload store 402 maintains a routing table providing a mapping between segment identifiers and storage drives. In one implementation, the routing table is maintained and stored locally by each node in a cluster that may need to access data, and consistently replicated between nodes in the cluster upon changes.”) for a query (Kondiles, ¶122 “The database system 112 further generates and maintains indexes for rows of data stored in segments within the system 112. The indexes support extremely low latency data queries.”). With regard to claims 23 and 32, the proposed combination further teaches wherein the segment of the plurality of segments of the dataset comprises one of: a data segment (XXX, ¶129 “As shown in FIG. 20, the reads at 1512 are massive parallel accesses to the nodes of the data segments.”); and a parity segment (XXX, Figure 11, 1110-1114; ¶97 “To provide fault tolerance and redundancy for the database system 112, the cluster 700 uses parity information for data construction when one or more disks fail.”). With regard to claims 25 the proposed combination further teaches the set of processing core resources as each node includes a processing unit, such as 1802 (Kondiles, ¶86 “Each node is a computer system, a simplified diagram of which is shown in FIG. 18 and generally indicated at 1800. The computer 1800 includes a processing unit 1802”) e.g. the nodes in the network (Thumbert, ¶37) storing copies of the consensus file (Thumbert ¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”); the sets of computing nodes of the set of computing devices of the computing device cluster storing copies of the consensus file as each respective link locally determining its own information and synchronizing it with the network (Thumbert ¶21 “determining the respective link state information includes determining the respective local information by each sentinel node; and the synchronization of the respective local information determined by each sentinel node is based on consensus message passing between the plurality of sentinel nodes.”); the set of computing devices of the computing device cluster storing copies of the consensus file as the synchronized consensus messages (Id); and the computing device cluster as the set of coding clusters (Kondiles, ¶84 “The payload store 402 includes a set of coding clusters 406, 408 and 410 for storing data and serving data to computer software applications”) storing a copy of the consensus file (Thumbert, ¶25 “the consensus information is indicative of a consensus current traffic load determined for each respective LBR of the two or more LBRs within the virtual DODAG root.”). With regard to claims 26 and 35 the proposed combination further teaches wherein the set of processing core resources are further operable to: create a plurality of file names as the IDA offset (Kondiles, ¶119 “The IDA offset 1204 uniquely identifies a segment within the segment group 1202. When each node includes exactly one storage disk, the IDA offset 1204 then uniquely identifies a node within the segment group 1202. The combination of the segment group 1202 and the IDA offset uniquely identifies a segment within the database system 112, and is thus termed herein as a segment ID.”) for the plurality of segment directories as the specific segment group (Id), wherein a first file name of the plurality of file names as the IDA offset that identifies a segment of the segment group (Id) is for a first segment directory as the segment group (Id); and store, based on the plurality of file names, the plurality of segment directories as a plurality of files in the database system (¶119 “When each node includes exactly one storage disk, the IDA offset 1204 then uniquely identifies a node within the segment group 1202. The combination of the segment group 1202 and the IDA offset uniquely identifies a segment within the database system 112, and is thus termed herein as a segment ID.”). With regard to claims 27 and 36 the proposed combination further teaches wherein the storing the plurality of files further comprises: process the plurality of files in accordance with a long term storage (LTS) protocol to produce a plurality of LTS files as SSD (Kondiles, ¶116, ¶117, wherein the LTS protocol includes one or more of: dictionary compression, data compression (Kondiles, ¶108 “In a further implementation, the received data is compressed at 1103. The compression reduces the use of storage space. In one implementation, the row distributor splits the received data into the set of rows and compresses the data.”), data deduplication, and error encoding (Kondiles, ¶98 “In a different implementation, the cluster 800 implements Reed-Solomon coding for error correction.”); and store the plurality of LTS files as the plurality of files (Kondiles, ¶115 “Furthermore, the data writing of the process 1100 does not rely on or use a file system (such as NTFS file system or Google File System that Google Bigtable relies on) on the nodes”). With regard to claims 28 and 37 the proposed combination further teaches the sets of computing nodes of a set of computing devices of the computing device cluster (Kondiles, ¶85 “Each coding cluster includes a number of nodes, such as the nodes 432 and 434.”; Figure 4) storing a set of inner layer (¶123 “The illustrative index structure 1300 includes two index values 1302 and 1304”; Figure 13, 1302, 1304) segment directories of the plurality of directories as segment groups (Kondiles, ¶127 “For example, the routing table 600 is searched to locate the segments based on the segment groups and IDA offsets of the row numbers.”), wherein an inner layer segment directory of the set of inner layer segment directories includes identification data to identify one or more lower level segment directories of the plurality of segment directories (Kondiles, ¶126 “the software application writes the leaf values of the index structure directly into segments of clusters within the index store 404 using … The grouping of leaf data by segments allows sequential write of the leaves into storage devices.”), one or more higher level segment directories of the plurality of segment directors as the coding cluster (Kondiles, ¶85 ¶85 “Each coding cluster includes a number of nodes, such as the nodes 432 and 434.”; Figure 4), and/or one or more equal level segment directories of the plurality of segment directors (¶123 “The illustrative index structure 1300 includes two index values 1302 and 1304”; Figure 13, 1302, 1304). With regard to claims 29 and 38, the proposed combination further teaches wherein the segment directory of the plurality of segment directories comprises: first data as the respective link state information (Thubert ¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”) regarding storage of a set of the plurality of segments of the dataset in memory of the database system as segment groups (Kondiles, ¶127 “For example, the routing table 600 is searched to locate the segments based on the segment groups and IDA offsets of the row numbers.”); and second data as the respective link state information (Thuberts¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”) regarding the successfully effectuated data activity as the row of data being operated on directly (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”) regarding the set of the plurality of segments of the dataset as segment groups (Kondiles, ¶127 “For example, the routing table 600 is searched to locate the segments based on the segment groups and IDA offsets of the row numbers.”). With regard to claim 30 Kondiles teaches A computer-readable memory comprises: a first memory section that stores operational instructions (¶37 “Another object of this disclosure is to provide a massively parallel database management system with storage device drivers programmed in computer program language C++ for optimal performance.”) that, when executed by a set of processing core resources as each node includes a processing unit, such as 1802 (Kondiles, ¶86 “Each node is a computer system, a simplified diagram of which is shown in FIG. 18 and generally indicated at 1800. The computer 1800 includes a processing unit 1802”) of a computing device cluster as the set of coding clusters (Kondiles, ¶84 “The payload store 402 includes a set of coding clusters 406, 408 and 410 for storing data and serving data to computer software applications”) of a database system (Kondiles, ¶13 “database management system”), causes the set of processing core resources to: effectuate data activity of segments of a dataset as storing data (¶94), writing/inserting data (¶177), deleting data (¶135), sequential writing to same segment (¶109), measuring and storing new data (¶87) and (¶135), and accessing data for search queries (¶122) Please note this claim limitation has been interpreted in light of Claim 22, [[ wherein the plurality of segments is stored (XXX, ¶94 “Each unique segment is stored on exactly one storage disk, and multiple unique segments can be stored on a disk.”) in memory (XXX, ¶56 “Database software applications running in clusters and on nodes within clusters maintain open coding blocks in memory”) of the database system (XXX, Abstract “A massively parallel database management system includes”), wherein a plurality of segment directories as segment groups (Kondiles, ¶127 “For example, the routing table 600 is searched to locate the segments based on the segment groups and IDA offsets of the row numbers.”) associated with the plurality of segments include metadata (Kondiles, ¶88 “As used herein, links between clusters are termed as inter-cluster links while links between nodes within a cluster are termed as intra-cluster links”) regarding storage of the plurality of segments (XXX, ¶94 “Each unique segment is stored on exactly one storage disk, and multiple unique segments can be stored on a disk.”) in the memory (XXX, ¶56 “Database software applications running in clusters and on nodes within clusters maintain open coding blocks in memory”) of the database system (XXX, Abstract “A massively parallel database management system includes”); in accordance with successfully effectuated data activity as the data being operated (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”) of the segment as the particular segment of the cluster being written too directly (Id): [[ Update as writing to the segments of clusters (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”) a segment directory as the specific segment group (¶119 “The IDA offset 1204 uniquely identifies a segment within the segment group 1202. When each node includes exactly one storage disk, the IDA offset 1204 then uniquely identifies a node within the segment group 1202. The combination of the segment group 1202 and the IDA offset uniquely identifies a segment within the database system 112, and is thus termed herein as a segment ID.”) of the plurality of segment directories as the segment groups (Id) with metadata as the index values (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”) regarding data resulting from the successfully effectuated data activity of the segment as the data being operated on (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”); and effectuate data activity as storing data (¶94), writing/inserting data (¶177), deleting data (¶135), sequential writing to same segment (¶109), measuring and storing new data (¶87) and (¶135), and accessing data for search queries (¶122) Please note this claim limitation has been interpreted in light of Claim 22) of a second segment as the bottom Segment 610 (Figure 6, 610) of the plurality of segments as segments in data (¶94 “Data is grouped in segments with some fixed size.”) [[ in accordance with successfully effectuated data activity as the data being operated (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”) of the second segment as the particular segment being written too directly (Id): [[]]; and update as writing to the segments of clusters (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”)a second segment directory as the specific segment group (¶119 “The IDA offset 1204 uniquely identifies a segment within the segment group 1202. When each node includes exactly one storage disk, the IDA offset 1204 then uniquely identifies a node within the segment group 1202. The combination of the segment group 1202 and the IDA offset uniquely identifies a segment within the database system 112, and is thus termed herein as a segment ID.”) of the plurality of segment directories as the segment groups (Id) with metadata as the index values (¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver”) regarding data resulting from the successfully effectuated data activity of the second segment as the data being operated on (¶124 “At 1402, a computer software application running in the index store 404 operates on a row of data to generate an index value.”; ¶125 “the software application writes the index values of the index structure directly into segments of clusters within the index store 404 using, for example, a storage driver. The write operation does not involve or use a file system. Instead, the driver runs in user mode and directly accesses the storage device for writing data.”). Kondiles does not explicitly teach effectuated data activity of a segment… in accordance with a consensus protocol… effectuated data activity of a second segment… in accordance with a consensus protocol… Thumbert teaches effectuate data activity of a segment as the load of particular node (THUMBERT, ¶94 “The same consensus message passing mechanism amongst the sentinels 320 can also be used to perform load balancing”) of a dataset in accordance with a protocol as monitoring load of the nodes via a consensus mechanism (Id); record successful effectuated data activity of the segment in a consensus file as the respective linked consensus information (¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”) … effectuate data activity of a second segment as the load of particular node (THUMBERT, ¶94 “The same consensus message passing mechanism amongst the sentinels 320 can also be used to perform load balancing”) of a dataset in accordance with a consensus protocol as monitoring load of the nodes via a consensus mechanism (Id); record successful effectuated data activity of the second segment in a second consensus file as the respective linked consensus information (¶102 “At block 404, the process 400 includes determining consensus information indicative of a current status of each border router of the two or more border routers, wherein the consensus information is based on the respective link state information.”). It would have been obvious to one of ordinary skill to which said subject matter pertains at the time the invention was filed to have implemented the network within Kondiles using the consensus mechanism taught by Thumbert as it yields the predictable results of provide fallback (Thumbert, ¶80), load-balancing (Thumbert, ¶80) and failure recovery (Thumbert, ¶69) within the network. Please note that one of ordinary skill in the art would recognize the B+tree structure taught by Kondiles (Kondiles, ¶123) as being a DAG similar to the one taught by Thumbert (¶16) and thus capable of being implemented using the consensus concepts taught by Thumbert. Response to Arguments Applicant's arguments filed February 11, 2026 have been fully considered but they are not persuasive. All the arguments regarding the newly added limitations are addressed in the above rejections. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMANDA WILLIS whose telephone number is (571)270-7691. The examiner can normally be reached Monday-Friday 8am-2pm. 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, Ajay Bhatia can be reached at 571-272-3906. 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. /AMANDA L WILLIS/ Primary Examiner, Art Unit 2156
Read full office action

Prosecution Timeline

Dec 05, 2024
Application Filed
Sep 11, 2025
Non-Final Rejection mailed — §103, §112
Dec 01, 2025
Response Filed
Jan 15, 2026
Final Rejection mailed — §103, §112
Feb 11, 2026
Response after Non-Final Action
Mar 18, 2026
Request for Continued Examination
Mar 21, 2026
Response after Non-Final Action
Jun 12, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12688175
DATA REPLICATION AND RECURSIVE TREE STRUCTURE SEARCHING
3y 11m to grant Granted Jul 21, 2026
Patent 12670193
SPARSE EMBEDDING INDEX FOR SEARCH
4y 7m to grant Granted Jun 30, 2026
Patent 12639369
Dynamic Audio File Generation
6y 6m to grant Granted May 26, 2026
Patent 12639306
DATABASE OPERATOR CLAUSE VARIABLE CALCULATION IN DISTRIBUTED SYSTEMS
1y 11m to grant Granted May 26, 2026
Patent 12619635
METHODS AND SYSTEMS FOR SUPPLY CHAIN ANALYTICS USING VISUALIZATIONS AND STANDARDIZATION CONSTRUCTS
2y 1m to grant Granted May 05, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
36%
Grant Probability
62%
With Interview (+26.1%)
4y 8m (~3y 0m remaining)
Median Time to Grant
High
PTA Risk
Based on 357 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month