Prosecution Insights
Last updated: April 17, 2026
Application No. 18/047,724

SYSTEM AND METHOD FOR REDUCED QUERY LANGUAGE COMPLEXITY

Final Rejection §101§103
Filed
Oct 19, 2022
Examiner
GORNEY, BORIS
Art Unit
2154
Tech Center
2100 — Computer Architecture & Software
Assignee
Nexthink SA
OA Round
4 (Final)
40%
Grant Probability
At Risk
5-6
OA Rounds
4y 11m
To Grant
59%
With Interview

Examiner Intelligence

Grants only 40% of cases
40%
Career Allow Rate
79 granted / 200 resolved
-15.5% vs TC avg
Strong +19% interview lift
Without
With
+19.4%
Interview Lift
resolved cases with interview
Typical timeline
4y 11m
Avg Prosecution
8 currently pending
Career history
208
Total Applications
across all art units

Statute-Specific Performance

§101
17.5%
-22.5% vs TC avg
§103
46.6%
+6.6% vs TC avg
§102
13.7%
-26.3% vs TC avg
§112
19.1%
-20.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 200 resolved cases

Office Action

§101 §103
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 communication is responsive to the amendment to the original application. This action is Final. Claims 1-20 are pending and have been examined. Response to Amendments In the reply filed 05/06/25, claims 1, 9 and 17 were amended. Accordingly, claims 1 – 20 are pending. Response to Arguments Applicant's arguments with respect to claims 1 – 20 have been carefully considered but are moot and not deemed persuasive in view of rejections below. Examiner respectfully disagrees with applicant’s arguments on pages 8 – 10, that prior art fails to teach, linking a first table located in a first database to a second table located in a second database. Rice [0126] teaches, “In act 762, each table partition identified in act 760 is looked up by, for example, examining a catalog or other index that maps table partition identifiers to atoms. In an embodiment, each atom includes an identifier that allows such a lookup to occur. Recall that atoms can represent all database objects, and thus, also represent table partitions. Also recall that atoms are linked and that by locating a partition atom in a catalog (e.g., by a table number, table alias, or other unique identifier), the table atoms of the corresponding table can also be located. In a sense, the table atom is a parent atom that can link many to child atoms, including table partition atoms. To this end, index atoms, record atoms, data atoms, and other related table partition atoms can be located as well.” Therefore, examiner is not persuaded. All claims have been updated below with clarifying prior art citations. Kindly let me know if you have any questions. Thanks. Claim Rejections ‐ 35 USC § 101 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. Claims 1 – 20 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1: Statutory Category - MPEP §§ 2106.03 Claims 1–8 recite a method (process), claims 9–16 recite a system (machine), and claims 17 – 20 recite a non-transitory computer readable storage medium (manufacture), which fall within the statutory categories under § 101. Independent Claims 1, 9 and 17 Analysis Step 2A, Prong 1: Recited Judicial Exception (abstract idea) - MPEP §§ 2106.04(II)(A)(1), 2106.04(a)(2) The representative claim 1 recites the following abstract idea limitations: linking a first table located in a first database to a second table located in a second database (as drafted, this limitation is a process that, under the broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, nothing in the limitation precludes the step from practically being performed in the mind. This limitation, in the context of this claim, encompasses the user thinking about linking databases. Thus, this limitation recites an abstract mental process under 2019 PEG because it can be performed in the human mind either through observation, evaluation, judgment, and opinion); parsing, via at least one processor of the computer system, the query, resulting in a parsed query, the parsed query comprising (as drafted, this limitation is a process that, under the broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, nothing in the limitation precludes the step from practically being performed in the mind. This limitation, in the context of this claim, encompasses the user thinking about parsing the query. Thus, this limitation recites an abstract mental process under 2019 PEG because it can be performed in the human mind either through observation, evaluation, judgment, and opinion); determining, via the at least one processor, at least one common index between the first table and the second table, the at least one common index comprising data common between the first table and the second table (as drafted, this limitation is a process that, under the broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, nothing in the limitation precludes the step from practically being performed in the mind. This limitation, in the context of this claim, encompasses the user thinking about determining index tables. Thus, this limitation recites an abstract mental process under 2019 PEG because it can be performed in the human mind either through observation, evaluation, judgment, and opinion); identifying, via the at least one processor using the at least one common index, related data located in the second table in the second database, the related data associated with the first table (as drafted, this limitation is a process that, under the broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. That is, nothing in the limitation precludes the step from practically being performed in the mind. This limitation, in the context of this claim, encompasses the user thinking about identifying index. Thus, this limitation recites an abstract mental process under 2019 PEG because it can be performed in the human mind either through observation, evaluation, judgment, and opinion); Step 2A, Prong 2: Integration into a Practical Application (additional elements) - MPEP §§ 2106.04(II)(A)(2), MPEP 2106.04(d), 2106.05(a)-(c),(e)-(h). The claim recites the following additional elements: receiving, at a computer system in a string format, a query (These steps are recited at a high-level of generality (i.e., as a generic processor performing a generic computer function) such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea (see MPEP 2106.05(f)).); executing, via the at least one processor, the parsed query using the at least one common index, resulting in a third table, the third table being a combination of the at least a portion of the first table and the related data (This limitation amounts to data execution which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)).); displaying, via a display of the computer system, the third table (This limitation is a mere generic transmission and display of data which is considered to be insignificant extra solution activity (MPEP 2106.05(g)).) Step 2B: Significantly more or amounting to an inventive concept (Transformation or Technological Improvement) - MPEP §§ 2106.05 Claim recites additional elements of “…computer system…”; “… processor…”; “… display of the computer system…;” at a very high level of generality and without imposing meaningful limitations on the scope of the claim. In addition, paragraphs 25 – 27 of the instant specification describes generic off-the-shelf computer-based elements for implementing the claimed invention, which does not amount to significantly more than the abstract idea and is not enough to transform an abstract idea into eligible subject matter. Such generic, high-level, and nominal involvement of a computer or computer-based elements for carrying out the invention merely serves to tie the abstract idea to a particular technological environment, which is not enough to render the claims patent-eligible, as noted at pg. 74624 of Federal Register/Vol. 79, No. 241, citing Alice, which in turn cites Mayo. Further, See, e.g., Alice Corp. Pty. Ltd. v. CLS Bank Int'l, 134 S. Ct. 2347, 2359-60, 110 USPQ2d 1976, 1984 (2014). See also OIP Techs. v. Amazon.com, 788 F.3d 1359, 1364, 115 USPQ2d 1090, 1093-94 (Fed. Cir. 2015) ("Just as Diehr could not save the claims in Alice, which were directed to 'implementing the abstract idea of intermediated settlement on a generic computer', it cannot save O/P's claims directed to implementing the abstract idea of price optimization on a generic computer.") (citations omitted). See also, Affinity Labs of Texas LLC v. DirecTV LLC, 838 F.3d 1253, 1257-1258 (Fed. Cir. 2016) (mere recitation of a GUI does not make a claim patent-eligible); Intellectual Ventures I LLC v. Capital One Bank, 792 F.3d 1363, 1370 (Fed. Cir. 2015) ("the interactive interface limitation is a generic computer element".) The additional elements are broadly applied to the abstract idea at a high level of generality ("similar to how the recitation of the computer in the claims in Alice amounted to mere instructions to apply the abstract idea of intermediated settlement on a generic computer,") as explained in MPEP § 2106.05(f)) and they operate in a well-understood, routine, and conventional manner. MPEP § 2106.05 (d)(II) sets forth the following: The courts have recognized the following computer functions as well-understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g. at a high level of generality) as insignificant extra-solution activity. Receiving or transmitting data over a network, e.g., using the Internet to gather data, Symantec...; TLI Communications LLC v. AV Auto. LLC...; OIP Techs., Inc., v. Amazon.com, Inc... ; buySAFE, Inc. v. Google, Inc...; Performing repetitive calculations, Flook ... ; Bancorp Services v. Sun Life...; Electronic recordkeeping, Alice Corp...; Ultramercial... ; Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc...; Electronically scanning or extracting data from a physical document, Content Extraction and Transmission, LLC v. Wells Fargo Bank...; and A web browser's back and forward button functionality, Internet Patent Corp. v. Active Network, Inc... Courts have held computer-implemented processes not to be significantly more than an abstract idea (and thus ineligible) where the claim as a whole amounts to nothing more than generic computer functions merely used to implement an abstract idea, such as an idea that could be done by a human analog (i.e., by hand or by merely thinking). In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements integrates the abstract idea into a practical application. Their collective functions merely provide conventional computer implementation. Therefore, when viewed as a whole, these additional claim elements do not provide meaningful limitations to transform the abstract idea into a practical application of the abstract idea or that the ordered combination amounts to significantly more than the abstract idea itself. Dependent Claims Analysis The dependent claims have been fully considered as well, however, similar to the findings for independent claims above, these claims are similarly directed to the above-mentioned groupings of abstract ideas set forth in the 2019 PEG, without integrating it into a practical application and with, at most, a general purpose computer that serves to tie the idea to a particular technological environment, which does not add significantly more to the claims. The ordered combination of elements in the dependent claims (including the limitations inherited from the parent claim(s)) add nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology. Their collective functions merely provide conventional computer implementation. Accordingly, the subject matter encompassed by the dependent claims fails to amount to significantly more than the abstract idea. Specifically, Claims 2, 10 and 18 add the limitation of “wherein the parsed query further comprises a filter for at least one of the first table and the second table.” This limitation is merely data filtering using computer as a tool which is considered to be insignificant extra solution activity (MPEP 2106.05(g).) Claims 3, 11 and 19 add the limitation, “wherein the filter is a date range.” This limitation amounts to data gathering which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)). Claims 4, 12 and 20 add the limitation, “wherein the first table is a linked table.” This limitation is a mere generic transmission of linked data which is considered to be insignificant extra solution activity (MPEP 2106.05(g)).) Claims 5 and 13 add the limitation, “wherein the query keyword is an inner join between the first table and the second table followed by a group name of elements of the first table.” This limitation is merely data extraction using computer as a tool which is considered to be insignificant extra solution activity (MPEP 2106.05(g).) Claims 6 and 14 add the limitation, “wherein the query keyword is an outer join between the first table and the second table followed by a group name of elements of the first table.” This limitation is merely data extraction using computer as a tool which is considered to be insignificant extra solution activity (MPEP 2106.05(g).) Claims 7 and 15 add the limitation, “wherein the query keyword is a single word.” This limitation amounts to data gathering which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)). Claims 8 and 16 add the limitation, “receiving, at the computer system, an optional query aggregate command which, when executed by the at least one processor, computes an aggregated number based on the third table.” This limitation is merely data gathering which is considered to be insignificant extra solution activity (MPEP 2106.05(g).) Therefore, claims 1–20 are directed to an abstract idea and do not recite additional elements sufficient to amount to significantly more. The dependent claims do not transform the abstract idea into a patent-eligible application. Therefore, the claims are not patent-eligible under 35 U.S.C. § 101. 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 1 – 20 are rejected under 35 U.S.C. 103 as being unpatentable over Rice et al. U.S. Patent Application Publication No.: 2018/0357264 (Hereinafter “Rice”), and further in view of Panda et al. U.S. Patent Application Publication No.: 2023/0394074 (Hereinafter “Panda”). Regarding claim 1, Rice teaches, a method for performing a database query, comprising: linking a first table located in a first database to a second table located in a second database (Rice [0126]: In act 762, each table partition identified in act 760 is looked up by, for example, examining a catalog or other index that maps table partition identifiers to atoms. In an embodiment, each atom includes an identifier that allows such a lookup to occur. Recall that atoms can represent all database objects, and thus, also represent table partitions. Also recall that atoms are linked and that by locating a partition atom in a catalog (e.g., by a table number, table alias, or other unique identifier), the table atoms of the corresponding table can also be located. In a sense, the table atom is a parent atom that can link many to child atoms, including table partition atoms. To this end, index atoms, record atoms, data atoms, and other related table partition atoms can be located as well.); receiving, at a computer system in a string format (Rice [0074]: Symbolic binding can comprise a character string, integer or other value that can uniquely identify a particular storage group within the distributed database system.), a query (Rice [0029]: query formats); parsing, via at least one processor of the computer system (Rice [0040]: processor), the query, resulting in a parsed query, the parsed query comprising (Rice [0047]: The SQL parser module 204 is configured to receive the SQL transactions from the remote connections, and parse those queries to perform various functions including, for example, validating syntax and semantics, determining whether adequate permissions exist to execute the statements, and allocating memory and other resources dedicated to the query.): a first table (Rice [0071]: For example, a given transaction may execute a query that traverses the entirety of a first table, and by extension all of its respective table partitions, and also reads merely a portion of another table such that only a subset of its respective table partitions get traversed.) identifier corresponding to the first table in the first database, the first table comprising time-series data associated with at least a portion of a plurality of identifiable items (Rice [0074]: In an embodiment, storage groups are referenced by symbolic identifiers within the distributed database system 100. Symbolic binding can comprise a character string, integer or other value that can uniquely identify a particular storage group within the distributed database system. As discussed below, these symbolic identifiers provide a flexible mechanism by which partitioning policies can define partitioning criteria to establish a particular table partition, and also what subset of SMs are responsible for servicing that table partition. Stated differently, these symbolic identifiers enable partitioning policies to reference a symbolic name, as opposed to a static storage location (e.g., a drive letter, a relative path, and a file name), thus enabling dynamic adjustments to storage group assignments on-the-fly. One particular example of how partitioning policies can be used to map table partitions to storage groups is discussed below with regard to FIG. 5.), the time-series data identifying when the at least a portion of the plurality of identifiable items experience an event (Rice [0034]: Instead, certain embodiments disclosed herein advantageously provide a memory-centric database wherein each peer node implements a memory cache in volatile memory, such as random access memory (RAM), that can be utilized to keep active portions of the database cached for efficient updates during ongoing transactions. In addition, database nodes of the persistence tier 109 can implement storage interfaces that can commit those in-memory updates to physical storage devices to make those changes durable (e.g., such that they survive events such as reboots, power losses, and application crashes).); a first command consisting of: a second table identifier corresponding to the second table in the second database (Rice [0005]: Applying this partitioning policy to the database table will result in the records comprising the database table to be divided into a first partition containing only male names, and a second partition containing only female names.), the second table comprising an unredacted list of the plurality of identifiable items without the time-series data, the unredacted list identifying items which can experience the event (Rice [0095]: In act 956, the SM determines what remaining atoms should be requested from peer node durable storage. In an embodiment, this includes the SM communicating with other database nodes in the same storage group to determine which atoms can be requested from durable storage to synchronize the table partition. For example, the SM may send a request for aggregated last write times of each atom within durable storage associated with the table partition. In this example, the SM may compare each last write time to a corresponding last write time of atoms that exist in its own durable storage to determine which atoms to request from other nodes. In another example, the SM node can use fingerprints (hashes) to compare the atoms on disk and in memory between the syncing node and the rest of the database. So, in the event synchronization was previously interrupted because of, for example, power failure or loss of network connectivity, the SM can skip synchronization of those atoms that were previously retrieved. In another example, if the SM has not yet synchronized the assigned storage group, the SM will request all atoms from other SM nodes in the same storage group. In any such cases, the atoms to be retrieved from other SM nodes in the same storage group are then added to the same list determined in act 954, or to a separate list, depending on the configuration.); a query keyword which, when executed, combines at least a portion of the first table and at least a portion of the second table (Rice [0103]: FIG. 6b illustrates an example query 601 that defines a partitioning policy 603. The example table partitioning policy 603 can be understood as a set of rules that govern how a table identified by table identifier 650 should be divided up into individual partitions. … In turn, partition “pse” 662 will be stored in storage group “SSE” 660, based on the STORE IN keyword 658 followed by the symbolic name of a storage group (e.g., “SSE” 660). The symbolic name of a storage group does not need to be explicitly referenced by the STORE IN keyword 658. For example, a predefined default storage group may be assigned if no storage group is identified. In addition, the partition key 656 may be followed immediately by a STORE IN keyword similar to the STORE IN in keyword 658, and thus cause each of the partitions to be assigned to a particular default storage group by default. In an embodiment, the symbolic name of the storage group (such as “SSE” 660) comprises at least one of a numeric identifier, a system-provided alias, a user-provided alias, and a globally unique identifier (GUID)); determining, via the at least one processor, at least one common index between the first table and the second table, the at least one common index comprising data common between the first table and the second table (Rice [0077]: In an embodiment, the table partitioning policies 502 a and 502 b and tables 504 a and 504 b are representative of underlying database objects within the database and appear in the SQL layer 506. These database objects are also representative of their underlying atoms that enable the table partitioning policies and tables to persist and be distributed within the distributed database 100. As shown, a first table partitioning policy 502 a is applied to a first table 504 a and a second table partitioning policy 502 b is applied to a second table 504 b. In an embodiment, application of these policies means that records will be kept (inserted, updated, and removed, as the case may be) in table partitions based on criteria defined within the data definition language (DDL) of the policies.); Rice does not clearly teach, identifying, via the at least one processor using the at least one common index, related data located in the second table in the second database, the related data associated with the first table; However, Panda [0056] teaches, “ Different combinations of machine learning models may be used for the different models (e.g., the parser model 12, the table to text model 20, the search model 26, the table question answering model 40, and the highlight model 50 may have different machine learning models). For example, the search model 26 may be a BM25 algorithm over an index created with a BERT model and the parser model 12 may be a combination of an optical character recognition (OCR) model to parse the text and tables and other a deep neural network (DNN) models to extract the figures.” executing, via the at least one processor, the parsed query using the at least one common index (Panda [0006]: “The device includes one or more processors; memory in electronic communication with the one or more processors; and instructions stored in the memory, the instructions executable by the one or more processors to: parse a set of documents to identify tables within the set of documents; generate a table index for the tables; receive a query with query terms; search the table index for related tables to the query terms; locate an answer to the query in one or more tables in the related tables; and provide an output with the answer highlighted in the one or more tables in at least one document of the set of documents.”), resulting in a third table, the third table being a combination of the at least a portion of the first table and the related table (Panda [0027]: The environment 100 may include a parser model 12 that obtains the documents 10 and extracts the content of the documents 10 to identify one or more tables 14 within the documents 10. One example use case includes a first document with 8 tables 14 and a second document with 20 tables 14. The parser model 12 identifies the 8 different tables 14 for the first document and identifies the 20 different tables 14 for the second document. A table 14 is an arrangement of information or data, typically in rows and columns. The rows and columns include table cells. Each cell contains information (e.g., text, values, or images) relating to the combination of the rows and columns. The headings in the table 14 provide an explanation for the information in the different cells of the table 14. Moreover, the information in the rows and the columns may have different relationships. In some implementations, the documents 10 are obtained from the one or more datastores 108, 110. In some implementations, the documents 10 are uploaded by a user 106.); and displaying, via a display of the computer system, the third table (Panda [0039]: The related tables 38 may be a subset of the tables 14 that may have an answer to the query 28. For example, the search model 26 identifies text entries 22 in the table index 24 with a percentage of words or values that match the query terms 30. Another example includes the search model 26 identifying text entries 22 in the table index 24 with words or values that are similar to the query terms 30.). It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to incorporate the teaching of Rice et al. to the Panda’s system by adding the feature of subset of tables. The references (Rice and Panda) teach features that are analogous art and they are directed to the same field of endeavor, such as databases. Ordinary skilled artisan would have been motivated to do so to provide Rice’s system with enhanced data. (See Panda [Abstract], [0006], [0039], [0043]). One of the biggest advantages of network machine learning database algorithms is their ability to improve over time. Machine learning technology typically improves efficiency and accuracy thanks to the ever-increasing amounts of data that are processed. Regarding claim 2, the method of claim 1, wherein the parsed query further comprises a filter for at least one of the first table and the second table (Rice [0127]: As discussed above, SM nodes can be filtered out such that only those nodes that service the storage groups for the identified table partitions are utilized by the replication process discussed above with regard to act 712 of FIG. 7a. In one embodiment, such filtering is performed by a mechanism within atoms that automatically tracks which nodes have those atoms within durable storage. In this embodiment, an atom includes a reference to all nodes that have a copy of that atom in durable storage. To this end, the filtering of nodes discussed above with regard to FIG. 7a can be an automatic function. In other embodiments, nodes can be filtered based on a lookup table that maps table partition identifiers to storage groups.). Regarding claim 3, the method of claim 2, wherein the filter is a date range (Rice [0108]: “Interval partitioning is often implemented in the context of a date- or time-based partition key, although it is also suitable for a wide range of other partition keys, such as postal codes, income brackets, and other quantifiable measures.”). Regarding claim 4, the method of claim 1, wherein the first table is a linked table (Rice [0126]: “Also recall that atoms are linked and that by locating a partition atom in a catalog (e.g., by a table number, table alias, or other unique identifier), the table atoms of the corresponding table can also be located. In a sense, the table atom is a parent atom that can link many to child atoms, including table partition atoms. To this end, index atoms, record atoms, data atoms, and other related table partition atoms can be located as well.”). Regarding claim 5, the method of claim 1, wherein the query keyword is an inner join between the first table and the second table followed by a group name of elements of the first table (Rice [0120]: In some cases, the global audit trail is a database table that includes records that log, for example, a transaction identifier, tables affected by the transaction, a table partitioning policy, a partition key value, and a storage group. In an embodiment, the global audit trail provides an audit log that enables administrators to determine compliance with the partitioning policies. In some cases, the analysis is done by manual interaction by an administrator utilizing database queries (e.g., JOINS, SELECTS, and so on).). Regarding claim 6, the method of claim 1, wherein the query keyword is an outer join between the first table and the second table followed by a group name of elements of the first table (Panda [0089]: At 508, the method 500 includes searching the table index for related tables to the query terms. The search model 26 accesses the table index 24 associated with the document set 32 and executes a search on the table index 24 using the query terms 30. The search model 26 compares the query terms 30 to the text entries 22 in the table index 24 to identify one or more related tables 38 to the query terms 30. The related tables 38 may be a subset of the tables 14 that may have an answer to the query 28.). Regarding claim 7, the method of claim 1, wherein the query keyword is a single word (Panda [0039]: The related tables 38 may be a subset of the tables 14 that may have an answer to the query 28. For example, the search model 26 identifies text entries 22 in the table index 24 with a percentage of words or values that match the query terms 30. Another example includes the search model 26 identifying text entries 22 in the table index 24 with words or values that are similar to the query terms 30.). Regarding claim 8, the method of claim 1, further comprising: receiving, at the computer system, an optional query aggregate command which, when executed by the at least one processor, computes an aggregated number based on the third table (Rice [0109]: “In an embodiment, table partitions can be created automatically based on a modifiable interval, such that as a defined range is exceeded an additional partition table is created to account for the next range of values. This automatic generation of table partitions can continue indefinitely, and is optionally subject to table partitioning aging policies as discussed above. In any such case, the automatically generated table partitions can be named using an automatic naming mechanism and mapped to a storage group. In some cases, a STORE IN keyword can be utilized that identifies one of multiple available storage groups, and in these cases, the distributed database system 100 can cause the automatically generated table partitions to be mapped in a round-robin fashion onto the available storage groups.”). Regarding claim 9, Rice teaches, a system comprising: a display (Rice [0141]: a display device); at least one processor (Rice [0040]: processor); and a non-transitory computer-readable storage medium having instructions stored which, when executed by the at least one processor, causes the at least one processor to perform operations comprising (Rice [0141]: processor); linking a first table located in a first database to a second table located in a second database (Rice [0126]: In act 762, each table partition identified in act 760 is looked up by, for example, examining a catalog or other index that maps table partition identifiers to atoms. In an embodiment, each atom includes an identifier that allows such a lookup to occur. Recall that atoms can represent all database objects, and thus, also represent table partitions. Also recall that atoms are linked and that by locating a partition atom in a catalog (e.g., by a table number, table alias, or other unique identifier), the table atoms of the corresponding table can also be located. In a sense, the table atom is a parent atom that can link many to child atoms, including table partition atoms. To this end, index atoms, record atoms, data atoms, and other related table partition atoms can be located as well.); receiving, in a string format (Rice [0074]: Symbolic binding can comprise a character string, integer or other value that can uniquely identify a particular storage group within the distributed database system.), a query (Rice [0029]: query formats); parsing the query, resulting in a parsed query, the parsed query comprising (Rice [0047]: The SQL parser module 204 is configured to receive the SQL transactions from the remote connections, and parse those queries to perform various functions including, for example, validating syntax and semantics, determining whether adequate permissions exist to execute the statements, and allocating memory and other resources dedicated to the query.): a first table (Rice [0071]: For example, a given transaction may execute a query that traverses the entirety of a first table, and by extension all of its respective table partitions, and also reads merely a portion of another table such that only a subset of its respective table partitions get traversed.) identifier corresponding to the first table in the first database, the first table comprising time-series data associated with at least a portion of a plurality of identifiable items (Rice [0074]: In an embodiment, storage groups are referenced by symbolic identifiers within the distributed database system 100. Symbolic binding can comprise a character string, integer or other value that can uniquely identify a particular storage group within the distributed database system. As discussed below, these symbolic identifiers provide a flexible mechanism by which partitioning policies can define partitioning criteria to establish a particular table partition, and also what subset of SMs are responsible for servicing that table partition. Stated differently, these symbolic identifiers enable partitioning policies to reference a symbolic name, as opposed to a static storage location (e.g., a drive letter, a relative path, and a file name), thus enabling dynamic adjustments to storage group assignments on-the-fly. One particular example of how partitioning policies can be used to map table partitions to storage groups is discussed below with regard to FIG. 5.), the time-series data identifying when the at least a portion of the plurality of identifiable items experience an event (Rice [0034]: Instead, certain embodiments disclosed herein advantageously provide a memory-centric database wherein each peer node implements a memory cache in volatile memory, such as random access memory (RAM), that can be utilized to keep active portions of the database cached for efficient updates during ongoing transactions. In addition, database nodes of the persistence tier 109 can implement storage interfaces that can commit those in-memory updates to physical storage devices to make those changes durable (e.g., such that they survive events such as reboots, power losses, and application crashes).); a first command consisting of: a second table identifier corresponding to a second table in a second database (Rice [0005]: Applying this partitioning policy to the database table will result in the records comprising the database table to be divided into a first partition containing only male names, and a second partition containing only female names.), the second table comprising an unredacted list of the plurality of identifiable items without the time-series data, the unredacted list identifying items which can experience the event (Rice [0095]: In act 956, the SM determines what remaining atoms should be requested from peer node durable storage. In an embodiment, this includes the SM communicating with other database nodes in the same storage group to determine which atoms can be requested from durable storage to synchronize the table partition. For example, the SM may send a request for aggregated last write times of each atom within durable storage associated with the table partition. In this example, the SM may compare each last write time to a corresponding last write time of atoms that exist in its own durable storage to determine which atoms to request from other nodes. In another example, the SM node can use fingerprints (hashes) to compare the atoms on disk and in memory between the syncing node and the rest of the database. So, in the event synchronization was previously interrupted because of, for example, power failure or loss of network connectivity, the SM can skip synchronization of those atoms that were previously retrieved. In another example, if the SM has not yet synchronized the assigned storage group, the SM will request all atoms from other SM nodes in the same storage group. In any such cases, the atoms to be retrieved from other SM nodes in the same storage group are then added to the same list determined in act 954, or to a separate list, depending on the configuration.); a query keyword which, when executed, combines at least a portion of the first table and at least a portion of the second table (Rice [0103]: FIG. 6b illustrates an example query 601 that defines a partitioning policy 603. The example table partitioning policy 603 can be understood as a set of rules that govern how a table identified by table identifier 650 should be divided up into individual partitions. … In turn, partition “pse” 662 will be stored in storage group “SSE” 660, based on the STORE IN keyword 658 followed by the symbolic name of a storage group (e.g., “SSE” 660). The symbolic name of a storage group does not need to be explicitly referenced by the STORE IN keyword 658. For example, a predefined default storage group may be assigned if no storage group is identified. In addition, the partition key 656 may be followed immediately by a STORE IN keyword similar to the STORE IN in keyword 658, and thus cause each of the partitions to be assigned to a particular default storage group by default. In an embodiment, the symbolic name of the storage group (such as “SSE” 660) comprises at least one of a numeric identifier, a system-provided alias, a user-provided alias, and a globally unique identifier (GUID)); determining, via the at least one processor, at least one common index between the first table and the second table, the at least one common index comprising data common between the first table and the second table (Rice [0077]: In an embodiment, the table partitioning policies 502 a and 502 b and tables 504 a and 504 b are representative of underlying database objects within the database and appear in the SQL layer 506. These database objects are also representative of their underlying atoms that enable the table partitioning policies and tables to persist and be distributed within the distributed database 100. As shown, a first table partitioning policy 502 a is applied to a first table 504 a and a second table partitioning policy 502 b is applied to a second table 504 b. In an embodiment, application of these policies means that records will be kept (inserted, updated, and removed, as the case may be) in table partitions based on criteria defined within the data definition language (DDL) of the policies.); Rice does not clearly teach, identifying, via the at least one processor using the at least one common index, related data located in the second table in the second database, the related data associated with the first table; However, Panda [0056] teaches, “ Different combinations of machine learning models may be used for the different models (e.g., the parser model 12, the table to text model 20, the search model 26, the table question answering model 40, and the highlight model 50 may have different machine learning models). For example, the search model 26 may be a BM25 algorithm over an index created with a BERT model and the parser model 12 may be a combination of an optical character recognition (OCR) model to parse the text and tables and other a deep neural network (DNN) models to extract the figures.” executing the parsed query using the at least one common index (Panda [0006] teaches, “The device includes one or more processors; memory in electronic communication with the one or more processors; and instructions stored in the memory, the instructions executable by the one or more processors to: parse a set of documents to identify tables within the set of documents; generate a table index for the tables; receive a query with query terms; search the table index for related tables to the query terms; locate an answer to the query in one or more tables in the related tables; and provide an output with the answer highlighted in the one or more tables in at least one document of the set of documents.”), resulting in a third table, the third table being a combination of the at least a portion of the first table and the related table (Panda [0027]: The environment 100 may include a parser model 12 that obtains the documents 10 and extracts the content of the documents 10 to identify one or more tables 14 within the documents 10. One example use case includes a first document with 8 tables 14 and a second document with 20 tables 14. The parser model 12 identifies the 8 different tables 14 for the first document and identifies the 20 different tables 14 for the second document. A table 14 is an arrangement of information or data, typically in rows and columns. The rows and columns include table cells. Each cell contains information (e.g., text, values, or images) relating to the combination of the rows and columns. The headings in the table 14 provide an explanation for the information in the different cells of the table 14. Moreover, the information in the rows and the columns may have different relationships. In some implementations, the documents 10 are obtained from the one or more datastores 108, 110. In some implementations, the documents 10 are uploaded by a user 106.); and displaying, via the display, the third table (Panda [0039]: The related tables 38 may be a subset of the tables 14 that may have an answer to the query 28. For example, the search model 26 identifies text entries 22 in the table index 24 with a percentage of words or values that match the query terms 30. Another example includes the search model 26 identifying text entries 22 in the table index 24 with words or values that are similar to the query terms 30.). It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to incorporate the teaching of Rice et al. to the Panda’s system by adding the feature of subset of tables. The references (Rice and Panda) teach features that are analogous art and they are directed to the same field of endeavor, such as databases. Ordinary skilled artisan would have been motivated to do so to provide Rice’s system with enhanced data. (See Panda [Abstract], [0006], [0039], [0043]). One of the biggest advantages of network machine learning database algorithms is their ability to improve over time. Machine learning technology typically improves efficiency and accuracy thanks to the ever-increasing amounts of data that are processed. Regarding claim 10, the system of claim 9, wherein the parsed query further comprises a filter for at least one of the first table and the second table (Rice [0127]: As discussed above, SM nodes can be filtered out such that only those nodes that service the storage groups for the identified table partitions are utilized by the replication process discussed above with regard to act 712 of FIG. 7a. In one embodiment, such filtering is performed by a mechanism within atoms that automatically tracks which nodes have those atoms within durable storage. In this embodiment, an atom includes a reference to all nodes that have a copy of that atom in durable storage. To this end, the filtering of nodes discussed above with regard to FIG. 7a can be an automatic function. In other embodiments, nodes can be filtered based on a lookup table that maps table partition identifiers to storage groups.). Regarding claim 11, the system of claim 10, wherein the filter is a date range (Rice [0108]: “Interval partitioning is often implemented in the context of a date- or time-based partition key, although it is also suitable for a wide range of other partition keys, such as postal codes, income brackets, and other quantifiable measures.”). Regarding claim 12, the system of claim 9, wherein the first table is a linked table (Rice [0126]: “Also recall that atoms are linked and that by locating a partition atom in a catalog (e.g., by a table number, table alias, or other unique identifier), the table atoms of the corresponding table can also be located. In a sense, the table atom is a parent atom that can link many to child atoms, including table partition atoms. To this end, index atoms, record atoms, data atoms, and other related table partition atoms can be located as well.”). Regarding claim 13, the system of claim 9, wherein the query keyword is an inner join between the first table and the second table followed by a group name of elements of the first table (Rice [0120]: In some cases, the global audit trail is a database table that includes records that log, for example, a transaction identifier, tables affected by the transaction, a table partitioning policy, a partition key value, and a storage group. In an embodiment, the global audit trail provides an audit log that enables administrators to determine compliance with the partitioning policies. In some cases, the analysis is done by manual interaction by an administrator utilizing database queries (e.g., JOINS, SELECTS, and so on).). Regarding claim 14, the system of claim 9, wherein the query keyword is an outer join between the first table and the second table followed by a group name of elements of the first table (Panda [0089]: At 508, the method 500 includes searching the table index for related tables to the query terms. The search model 26 accesses the table index 24 associated with the document set 32 and executes a search on the table index 24 using the query terms 30. The search model 26 compares the query terms 30 to the text entries 22 in the table index 24 to identify one or more related tables 38 to the query terms 30. The related tables 38 may be a subset of the tables 14 that may have an answer to the query 28.). Regarding claim 15, the system of claim 9, wherein the query keyword is a single word (Panda [0039]: The related tables 38 may be a subset of the tables 14 that may have an answer to the query 28. For example, the search model 26 identifies text entries 22 in the table index 24 with a percentage of words or values that match the query terms 30. Another example includes the search model 26 identifying text entries 22 in the table index 24 with words or values that are similar to the query terms 30.). Regarding claim 16, the system of claim 9, wherein the non-transitory computer-readable storage medium has additional instructions stored which, when executed by the at least one processor, causes the at least one processor to perform operations comprising: receiving an optional query aggregate command which, when executed by the at least one processor, computes an aggregated number based on the third table (Rice [0109]: “In an embodiment, table partitions can be created automatically based on a modifiable interval, such that as a defined range is exceeded an additional partition table is created to account for the next range of values. This automatic generation of table partitions can continue indefinitely, and is optionally subject to table partitioning aging policies as discussed above. In any such case, the automatically generated table partitions can be named using an automatic naming mechanism and mapped to a storage group. In some cases, a STORE IN keyword can be utilized that identifies one of multiple available storage groups, and in these cases, the distributed database system 100 can cause the automatically generated table partitions to be mapped in a round-robin fashion onto the available storage groups.”). Regarding claim 17, Rice teaches, a non-transitory computer-readable storage medium having instructions stored which, when execute
Read full office action

Prosecution Timeline

Oct 19, 2022
Application Filed
Dec 16, 2023
Non-Final Rejection — §101, §103
Mar 28, 2024
Applicant Interview (Telephonic)
Mar 28, 2024
Examiner Interview Summary
Mar 29, 2024
Response Filed
Jul 21, 2024
Final Rejection — §101, §103
Oct 15, 2024
Examiner Interview Summary
Oct 15, 2024
Applicant Interview (Telephonic)
Oct 29, 2024
Response after Non-Final Action
Nov 15, 2024
Request for Continued Examination
Nov 20, 2024
Response after Non-Final Action
Jan 23, 2025
Non-Final Rejection — §101, §103
May 06, 2025
Response Filed
Aug 09, 2025
Final Rejection — §101, §103
Apr 14, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12477089
DYNAMIC ADAPTATION OF IMAGES FOR PROJECTION, AND/OR OF PROJECTION PARAMETERS, BASED ON USER(S) IN ENVIRONMENT
2y 5m to grant Granted Nov 18, 2025
Patent 12235820
MANAGING MULTI-TENANT KEYS IN MULTI-TENANT COMPUTING ENVIRONMENTS
2y 5m to grant Granted Feb 25, 2025
Patent 12229015
Computerized Methods and Apparatus for Data Cloning
2y 5m to grant Granted Feb 18, 2025
Patent 12222904
AVOIDING DATA INCONSISTENCY IN A FILE SYSTEM USING 2-LEVEL SYNCHRONIZATION
2y 5m to grant Granted Feb 11, 2025
Patent 12061306
Constructing Structural Models of the Subsurface
2y 5m to grant Granted Aug 13, 2024
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
40%
Grant Probability
59%
With Interview (+19.4%)
4y 11m
Median Time to Grant
High
PTA Risk
Based on 200 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month