DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Specification
The applicant amended the title and in view of the amendment, the respective objection has been withdrawn.
Claim Objections
Claim 8 is objected to because of the following informalities: Claim 8 recites the phrase “provides receives” in the second to last limitation where the word ‘provides’ should be deleted since that conforms with the other limitations of the claim. The claim is being construed as though the above noted suggestion has been adopted as described above. Appropriate correction is required.
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-11 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
With regard to claim 1:
Step 2A, Prong One:
The claim recites the following limitations which are drawn towards an abstract idea:
the set of foundation nodes collectively executes a set of query operational instructions on the at least a portion of the ingested data set to produce a partial query response (recites mental process steps of performing evaluations/analysis/calculations on data which can include mathematical functions),
wherein: the first foundation node executes the set of query operational instructions on the first part of the at least a portion of the ingested data set to produce a first part of the partial query response (recites mental process steps of performing evaluations/analysis/calculations on data which can include mathematical functions; similar to performing separate calculations such as calculating totals for disjoint sets such as revenue for stores by region (partial query response) and then aggregating/totaling/averaging the regions; the various foundation nodes relate to generic recitation of a computer to perform the calculations where multiple computers to perform parallel processing/calculations only serves to rely on the capabilities of a general-purpose computer to speed up calculations, see MPEP 2106.05(a)(I)),
and the second foundation node executes the set of query operational instructions on the second part of the at least a portion of the ingested data set to produce a second part of the partial query response (recites mental process steps of performing evaluations/analysis/calculations on data which can include mathematical functions; similar to performing separate calculations such as calculating totals for disjoint sets such as revenue for stores by region (partial query response) and then aggregating/totaling/averaging the regions; the various foundation nodes relate to generic recitation of a computer to perform the calculations where multiple computers to perform parallel processing/calculations only serves to rely on the capabilities of a general-purpose computer to speed up calculations, see MPEP 2106.05(a)(I));
and generate an output query response based on the partial query response and one or more output query operational instructions (recites mental process steps of analytics/analyzing as well as combinational/logical or even mathematical operations that aggregate or combine various input datasets together to form an answer/output response);
As seen from above, the identified limitations recite concepts associated with an abstract idea and thus the respective claim recites a judicial exception (see 2106.04(a)) and thus requires further analysis as discussed below.
Step 2A, Prong Two:
The following limitations have been identified as being additional elements as discussed below.
A database system comprises: a load sub-system that includes a plurality of loader nodes (recites generic computer elements to use a computer as a tool to implement the judicial exception, see MPEP 2106.05(f)),
wherein a set of loader nodes of the plurality of loader nodes collectively ingests (recites insignificant extrasolution activity of data gathering or receiving information, see MPEP 2106.05(g)) and temporarily stores a data set in a first format to produce an ingested data set (recites insignificant extrasolution activity of storing information in memory, see MPEP 2106.05(g)),
a store and compute sub-system that includes a plurality of foundation nodes, wherein: a foundation node of the plurality of foundation nodes includes a processing core resource of a computing node of a computing device (recites generic computer elements to use a computer as a tool to implement the judicial exception, see MPEP 2106.05(f));
a set of foundation nodes collectively long-term stores at least a portion of the ingested data set (recites insignificant extrasolution activity of storing information in memory, see MPEP 2106.05(g));
wherein: a first foundation node long-term stores a first part of the at least a portion of the ingested data set (recites insignificant extrasolution activity of storing information in memory, see MPEP 2106.05(g)),
and a second foundation node long-term stores a second part of the at least a portion of the ingested data set (recites insignificant extrasolution activity of storing information in memory, see MPEP 2106.05(g)),
and a query and response sub-system that includes a plurality of SQL (Standard Query Language) nodes (recites generic computer elements to use a computer as a tool to implement the judicial exception, see MPEP 2106.05(f)),
wherein a set of SQL nodes of the plurality of SQL nodes collectively generate the set of query operational instructions (recites creating computer instructions to perform generic computer operations at a high-level of generality amounting to idea of a solution that uses the computer as a tool to implement the abstract idea, see MPEP 2106.05(f)).
As seen from the above discussion, the identified limitations did not integrate the judicial exception into a practical application (see MPEP 2106.04(d)). This judicial exception is not integrated into a practical application because the additional elements recite generic computer elements at a high-level of generality to perform/implement the abstract idea as well as various generic functions of retrieving and storing information as well as transmitting information.
Step 2B:
Below is the analysis of the claims:
A database system comprises: a load sub-system that includes a plurality of loader nodes (recites generic computer elements to use a computer as a tool to implement the judicial exception, see MPEP 2106.05(f)),
wherein a set of loader nodes of the plurality of loader nodes collectively ingests (recites well-understood, routine, and conventional activity of data gathering or receiving information, see MPEP 2106.05(d)) and temporarily stores a data set in a first format to produce an ingested data set (recites well-understood, routine, and conventional activity of storing information in memory, see MPEP 2106.05(d)),
a store and compute sub-system that includes a plurality of foundation nodes, wherein: a foundation node of the plurality of foundation nodes includes a processing core resource of a computing node of a computing device (recites generic computer elements to use a computer as a tool to implement the judicial exception, see MPEP 2106.05(f));
a set of foundation nodes collectively long-term stores at least a portion of the ingested data set (recites well-understood, routine, and conventional activity of storing information in memory, see MPEP 2106.05(d));
wherein: a first foundation node long-term stores a first part of the at least a portion of the ingested data set (recites well-understood, routine, and conventional activity of storing information in memory, see MPEP 2106.05(d)),
and a second foundation node long-term stores a second part of the at least a portion of the ingested data set (recites well-understood, routine, and conventional activity of storing information in memory, see MPEP 2106.05(d)),
and a query and response sub-system that includes a plurality of SQL (Standard Query Language) nodes (recites generic computer elements to use a computer as a tool to implement the judicial exception, see MPEP 2106.05(f)),
wherein a set of SQL nodes of the plurality of SQL nodes collectively generate the set of query operational instructions (recites creating computer instructions to perform generic computer operations at a high-level of generality amounting to idea of a solution that uses the computer as a tool to implement the abstract idea, see MPEP 2106.05(f)).
As seen from above, the respective claim elements taken individually do not amount to significantly more than the judicial exception. When taken as a whole (in combination), the claim also does not amount to significantly more than the abstract idea because the additional elements generic computer elements at a high-level of generality to perform/implement the abstract idea as well as various generic functions of retrieving and storing information as well as transmitting information.
With regard to claim 2, this claim recites wherein the processing core resource comprises: a processing module operably coupled to executes the set of query operational instructions on a respective part of the at least a portion of the ingested data set to produce a respective part of the partial query response (recites apply-it type limitations describing generic computer hardware elements to implement/perform the judicial exception at a high-level of generality, see MPEP 2106.05(f));
and a memory device operably coupled to long-term store the respective part of the at least a portion of the ingested data set (recites apply-it type limitations describing generic computer hardware elements to do generic computer functionality such as data storage recited at a high-level of generality, see MPEP 2106.05(f)).
With regard to claim 3, this claim recites wherein the processing core resource further comprises: cache memory operably coupled to the processing module (recites apply-it type limitations describing generic computer hardware elements to do generic computer functionality such as data storage recited at a high-level of generality, see MPEP 2106.05(f)).
With regard to claim 4, this claim recites wherein the processing core resource further comprises: a memory interface operably coupled to the processing module and to the memory device, wherein the memory interface is further operably coupled to a main memory of the node of the computing device (recites technological environment limitations describing how generic computer components are interconnected in order to function, see MPEP 2106.05(h), and adds no meaningful limitation beyond that of the abstract idea).
With regard to claim 5, this claim recites wherein the computing node of the computing device comprises: a plurality of computing core resources, wherein the computing node includes a first sub-set of the set of foundation nodes, and wherein a second computing node of the computing device includes a second sub-set of the set of foundation nodes (recites apply-it type limitations describing generic computer hardware elements to implement/perform the judicial exception at a high-level of generality in particular a computer system or server with a plurality of processors or computing resources/nodes and can perform parallel or distributed processing jobs/tasks, see MPEP 2106.05(f)).
With regard to claim 6, this claim recites wherein the computing node of the computing device comprises: a plurality of computing core resources, wherein the computing node includes a first sub-set of the set of foundation nodes wherein a computing node of another computing device includes a second sub-set of the set of foundation nodes (recites apply-it type limitations describing generic computer hardware elements to implement/perform the judicial exception at a high-level of generality in particular a computing system made up of multiple servers or computers and can perform parallel or distributed processing jobs/tasks, see MPEP 2106.05(f)).
With regard to claim 7, this claim recites lead computing devices of a plurality of storage clusters of the store and compute sub-system (recites technological environment limitations describing generic computer hardware elements in a multi-processor/device system architecture recited at a high-level of generality in particular reciting a leader or master computer/server/node for a set of computing devices so that the cluster or set of devices can perform parallel or distributed processing jobs/tasks, see MPEP 2106.05(f)) receive respective segments of the ingested data set in a batch mode or a streaming mode (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d)),
wherein: a first lead computing device of a first storage cluster of the plurality of storage clusters receives a first segment of the ingested data set (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d));
the first lead computing device allocates sub-segments of the first segment to itself and to other computing devices in the first storage cluster (recites insignificant extrasolution activity of transmitting information over a network which amounts to well-understood, routine, and conventional activity of transmitting information over a network, see MPEP 2106.05(d));
the first lead computing device allocates sub-sub-sections of its sub-segment of the first segment to a plurality of computing nodes of the first lead computing device (recites insignificant extrasolution activity of transmitting information over a network which amounts to well-understood, routine, and conventional activity of transmitting information over a network, see MPEP 2106.05(d));
a lead computing node of the plurality of computing nodes of the first lead computing device allocates the sub-sub-segments of the first lead computing device to itself and to other computing nodes of the plurality of computing nodes of the first lead computing device (recites insignificant extrasolution activity of transmitting information over a network which amounts to well-understood, routine, and conventional activity of transmitting information over a network, see MPEP 2106.05(d));
the lead computing node of the plurality of computing nodes of the first lead computing device allocates sub-sub-sub-segments of its allocated sub-sub-segment of the first segment to a plurality of computing core resources of the node (recites insignificant extrasolution activity of transmitting information over a network which amounts to well-understood, routine, and conventional activity of transmitting information over a network, see MPEP 2106.05(d)),
wherein the first foundation node long-terms stores a respective sub-sub-sub-segment of the sub-sub-sub segments as the first part of the at least a portion of the ingested data set (recites apply-it type limitations describing generic computer hardware elements to do generic computer functionality such as data storage recited at a high-level of generality, see MPEP 2106.05(f)).
With regard to claim 8, this claim recites lead computing devices of a plurality of storage clusters of the store and compute sub-system (recites technological environment limitations describing generic computer hardware elements in a multi-processor/device system architecture recited at a high-level of generality in particular reciting a leader or master computer/server/node for a set of computing devices so that the cluster or set of devices can perform parallel or distributed processing jobs/tasks, see MPEP 2106.05(f)) receive respective the set of query operational instructions regarding the ingested data set (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d)),
wherein: a first lead computing device of a first storage cluster of the plurality of storage clusters receives the set of query operational instructions and provides the set of query operational instructions to other computing devices in the first storage cluster (recites insignificant extrasolution activity of receiving and transmitting information over a network which amounts to well-understood, routine, and conventional activity of receiving and transmitting information over a network, see MPEP 2106.05(d));
a first lead computing node of a first plurality of computing nodes of the first lead computing device provides receives the set of query operational instructions and provides the set of query operational instructions to other computing nodes in the first plurality of computing nodes (recites insignificant extrasolution activity of receiving and transmitting information over a network which amounts to well-understood, routine, and conventional activity of receiving and transmitting information over a network, see MPEP 2106.05(d));
and a first lead computing core resource of a first plurality of computing core resources of the lead computing nodes of the first plurality of computing nodes receives the set of query operational instructions and provides the set of query operational instructions to other computing core resources in the first plurality of computing core resources (recites insignificant extrasolution activity of receiving and transmitting information over a network which amounts to well-understood, routine, and conventional activity of receiving and transmitting information over a network, see MPEP 2106.05(d)).
With regard to claim 9, this claim recites the first lead computing core resource collecting a first plurality of partial results from the first plurality of computing core resources (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d));
the first lead computing node collecting pluralities of partial results from the plurality of computing core resources of the plurality of computing nodes of the lead computing device (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d));
the first lead computing device collecting pluralities of pluralities of partial results from the plurality of computing core resources of the plurality of computing nodes of the plurality of computing device of the first storage cluster (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d));
and the lead computing devices of the plurality of storage clusters providing respective pluralities of pluralities of partial results from their respective plurality of computing core resources of their respective plurality of computing nodes of their respective plurality of computing devices of the plurality of storage clusters (recites insignificant extrasolution activity of receiving information over a network which amounts to well-understood, routine, and conventional activity of receiving information over a network, see MPEP 2106.05(d)).
With regard to claim 10, this claim recites the first foundation node stores the first part of the partial query response; and the second foundation node stores the second part of the partial query response (recites insignificant extrasolution activity of storing information in memory which amounts to well-understood, routine, and conventional activity of storing information in memory, see MPEP 2106.05(d)).
With regard to claim 11, this claim recites the at least a portion of the ingested data set including a time window of streaming data (recites field of use limitations describing the input data and some meaning associated therewith, see MPEP 2106.05(h), and adds no meaningful limitation beyond that of the abstract idea).
Claim Rejections - 35 USC § 103
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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1 and 10 are rejected under 35 U.S.C. 103 as being unpatentable over Lang et al [US 2017/0083588 A1] in view of Oberbrekling et al [US 2018/0074786 A1].
With regard to claim 1, Lang teaches a database system comprises: a load sub-system that includes a plurality of loader nodes, wherein a set of loader nodes of the plurality of loader nodes collectively ingests
“For example, the query partitioner 310 may partition the query 104 based upon the number, kinds, and sequence of operators comprising the query 104; e.g., a query 104 specified in SQL may be partitioned into a first query portion 206 comprising a “SELECT NAME, DATE FROM RECORDS” operation that projects selected records from a data set;”, para 45; Examiner Note (EN): projecting from a dataset is similar to ingesting data since both relate to the receiving of data from a dataset);
a store and compute sub-system that includes a plurality of foundation nodes, wherein: a foundation node of the plurality of foundation nodes includes a processing core resource of a computing node of a computing device (see paragraphs [0078] and [0093]; the nodes of the system that receive and process queries can have at least one processing unit/processing core resource);
the set of foundation nodes collectively executes a set of query operational instructions on the at least a portion of the ingested data set to produce a partial query response, wherein: the first foundation node executes the set of query operational instructions on the first part of the at least a portion of the ingested data set to produce a first part of the partial query response, and the second foundation node executes the set of query operational instructions on the second part of the at least a portion of the ingested data set to produce a second part of the partial query response (see paragraphs [0045], [0047], and [0061]; the system can have multiple query engines that obtain portions of the data set and can execute respective query instructions to form local query response;
“For instance, the data set 102 may be distributed over the node set 106, and respective nodes 106 may apply a query operator to the subset of the data set 102 that is stored by and/or accessible to the node 106. In this model, the nodes 108 selected from the node set 106 may be arranged as a processing chain or pipeline; e.g., a node 108 may receive a first intermediate result 214 produced by a previous selected node 108 by performing a previous query portion 206 of the query 104, may execute the query instruction set 212 over the first intermediate result 214 to produce a second intermediate query result 214, and may transmit the second intermediate query result 214 to a next selected node 322 of the node set 108.”, para 61);
and a query and response sub-system that includes a plurality of SQL (Standard Query Language) nodes, wherein a set of SQL nodes of the plurality of SQL nodes collectively generate the set of query operational instructions, and generate an output query response based on the partial query response and one or more output query operational instructions (see [0045], [0047], and [0061], [0036]; the system can have a processing chain/pipeline with earlier stages/nodes sending results to a second set of query engines/nodes that perform additional operations in accordance with an instruction set to produce an intermediate query response;
“For instance, the data set 102 may be distributed over the node set 106, and respective nodes 106 may apply a query operator to the subset of the data set 102 that is stored by and/or accessible to the node 106. In this model, the nodes 108 selected from the node set 106 may be arranged as a processing chain or pipeline; e.g., a node 108 may receive a first intermediate result 214 produced by a previous selected node 108 by performing a previous query portion 206 of the query 104, may execute the query instruction set 212 over the first intermediate result 214 to produce a second intermediate query result 214, and may transmit the second intermediate query result 214 to a next selected node 322 of the node set 108.”, para 61;
“The selected nodes 108 are then instructed to invoke the query instruction sets 210, which causes the set of selected nodes 108 to execute the query instruction sets 210 that, together, cause the selected nodes 108 to perform the entire query 104 in a distributed manner”, para 36);
Lang does not appear to explicitly teach:
wherein a set of loader nodes of the plurality of loader nodes… temporarily stores a data set in a first data format to produce an ingested data set,
a set of foundation nodes collectively long-term store at least a portion of the ingested data set, wherein: a first foundation node long-term stores a first part of the at least a portion of the ingested data set, and a second foundation node long-term stores a second part of the at least a portion of the ingested data set.
Oberbrekling teaches wherein a set of loader nodes of the plurality of loader nodes… temporarily stores the data set in a first data format to produce an ingested data set (see paragraphs [0039], [0037], [0053], [0055], [0063], and [0068]; the system can have an ingest subsystem that allows for the short term storage of data as well as have long term storage for the data after it has been ingested;
“In certain embodiments of the present disclosure, prior to loading data into a data warehouse (or other data target) the data is processed through a pipeline (also referred to herein as a semantic pipeline) which includes various processing stages. In some embodiments, the pipeline can include an ingest stage, prepare stage, profile stage, transform stage, and publish stage.”, para 37;
“The distributed storage system 105 provides a temporary storage space for ingested data files, which can then also provide storage of intermediate processing files, and for temporary storage of results prior to publication”, para 39;
“The publishing sub-system can deliver the processed data to one or more data targets. A data target may correspond to a place where the processed data can be sent. The place may be, for example, a location in memory, a computing system, a database, or a system that provides a service.”, para 53;
“The prepare engine can identify a format associated with the raw data and can convert the raw data into a format (e.g., normalize the raw data) that can be processed by the data enrichment service 302.”, para 63).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang by including a load/ingest sub-system can that uses both temporary and non-temporary storage as taught by Oberbrekling in order to allow the system to be able to receive new data and store that data in quicker volatile memory for temporary storage and any subsequent operations before sending the data to more permanent but slower storage for other downstream processes while ensuring no data loss if the node losses power since ingested data is not in any temporary or volatile storage.
Lang in view of Oberbrekling teach a set of foundation nodes collectively long-term store at least a portion of the ingested data set, wherein: a first foundation node long-term stores a first part of the at least a portion of the ingested data set, and a second foundation node long-term stores a second part of the at least a portion of the ingested data set (see Lang, paragraph [0003], [0045], [0047], [0048] and [0061]; see Oberbrekling, paragraphs [0039], [0037], [0053], [0055], [0063], and [0068]; the system can utilize various types of memory including long-term storage memory such as solid state/flash devices).
With regard to claim 10, Lang in view of Oberbrekling teach the first foundation node stores the first part of the partial query response; and the second foundation node stores the second part of the partial query response (see Lang, paragraphs [0045], [0047], and [0061]; the system can have multiple query engines that obtain portions of the data set and can execute respective query instructions to form local query response with the respective engine/node having memory store the partial response in the respective computing device).
Claims 2-6 are rejected under 35 U.S.C. 103 as being unpatentable over Lang et al [US 2017/0083588 A1] in view of Oberbrekling et al [US 2018/0074786 A1] in further view of Schipunov et al [US 2008/0027920 A1].
With regard to claim 2, Lang in view of Oberbrekling teach all the claim limitations of claim 1 as discussed above.
Lang in view of Oberbrekling teach computing resources but do not appear to explicitly teach:
wherein the processing core resource comprises: a processing module operably coupled to executes the set of query operational instructions on a respective part of the at least a portion of the ingested data set to produce a respective part of the partial query response; and a memory device operably coupled to long-term store the respective part of the at least a portion of the ingested data set.
Schipunov teaches wherein the processing core resource comprises: a processing module operably coupled to executes the set of query operational instructions on a respective part of the at least a portion of the ingested data set to produce a respective part of the partial query response; and a memory device operably coupled to long-term store the respective part of the at least a portion of the ingested data set (see paragraphs [0029]; the respective node can also perform/execute various operational instructions/tasks to produce results; see paragraphs [0068], [0006], and [0028] and Figure 12; the nodes include various levels of hardware that can include processors and memory for storage while it waits for sub-tasks to complete in order to aggregate results).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling by allowing the leader or main node to also perform tasks as taught by Schipunov in order to allow the for nodes to also have control of sub-clusters to assign tasks while also being able to perform operations on tasks too and not be idle thereby increasing processing throughput and responsiveness in processing the query by not only leveraging distributed processing but also hierarchical distributed processing.
Lang in view of Oberbrekling in further view of Schipunov teach wherein the processing core resource comprises: a processing module operably coupled to executes the set of query operational instructions on a respective part of the at least a portion of the ingested data set to produce a respective part of the partial query response; and a memory device operably coupled to long-term store the respective part of the at least a portion of the ingested data set (see Lang, paragraphs [0078], [0034], and [0093] and Figures 6 and 11; see Schipunov, paragraphs [0029]; [0068], [0006], and [0028] and Figure 12; the respective node can also perform/execute various operational instructions/tasks to produce results with the node including various hardware that can include processors and memory).
With regard to claim 3, Lang in view of Oberbrekling in further view of Schipunov wherein the processing core resource further comprises: cache memory operably coupled to the processing module (see Schipunov, paragraph [0069], see Lang, paragraph [0093]; see Oberbrekling, paragraph [0218]; cache can be used).
With regard to claim 4, Lang in view of Oberbrekling in further view of Schipunov teach wherein the processing core resource further comprises: a memory interface operably coupled to the processing module and to the memory device, wherein the memory interface is further operably coupled to a main memory of the node of the computing device (Schipunov, Figure 12; an interface is provided to the memory device including main memory).
With regard to claim 5, Lang in view of Oberbrekling teach all the claim limitations of claim 1 as discussed above.
Lang in view of Oberbrekling teach distributed computing but do not appear to explicitly teach:
wherein the computing node of the computing device comprises: a plurality of computing core resources, wherein the computing node includes a first sub-set of the set of foundation nodes, and wherein a second computing node of the computing device includes a second sub-set of the set of foundation nodes.
Schipunov teaches wherein the computing node of the computing device comprises: a plurality of computing core resources, wherein the computing node includes a first sub-set of the set of foundation nodes, and wherein a second computing node of the computing device includes a second sub-set of the set of foundation nodes (see paragraphs [0029]; the respective node can also perform/execute various operational instructions/tasks to produce results; see paragraphs [0068], [0006], and [0028] and Figure 12; the nodes include various levels of hardware that can include processors and memory for storage while it waits for sub-tasks to complete in order to aggregate results).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling by allowing the leader or main node to also perform tasks as taught by Schipunov in order to allow the for nodes to also have control of sub-clusters to assign tasks while also being able to perform operations on tasks too and not be idle thereby increasing processing throughput and responsiveness in processing the query by not only leveraging distributed processing but also hierarchical distributed processing.
With regard to claim 6, Lang in view of Oberbrekling teach all the claim limitations of claim 1 as discussed above.
Lang in view of Oberbrekling teach wherein the computing node of the computing device comprises: a plurality of computing core resources (see Lang, paragraph [0093]; the computing node can include ‘at least one processing unit’ which indicates it can have a plurality of processing units or computing core resources).
Lang in view of Oberbrekling teach distributed computing but do not appear to explicitly teach:
wherein the computing node includes a first sub-set of the set of foundation nodes wherein a computing node of another computing device includes a second sub-set of the set of foundation nodes.
Schipunov teaches wherein the computing node includes a first sub-set of the set of foundation nodes wherein a computing node of another computing device includes a second sub-set of the set of foundation nodes (see paragraphs [0029]; the respective node can also perform/execute various operational instructions/tasks to produce results; see paragraphs [0068], [0006], and [0028] and Figure 12; the nodes include various levels of hardware that can include processors and memory for storage while it waits for sub-tasks to complete in order to aggregate results).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling by allowing the leader or main node to also perform tasks as taught by Schipunov in order to allow the for nodes to also have control of sub-clusters to assign tasks while also being able to perform operations on tasks too and not be idle thereby increasing processing throughput and responsiveness in processing the query by not only leveraging distributed processing but also hierarchical distributed processing.
Claims 7-9 are rejected under 35 U.S.C. 103 as being unpatentable over Lang et al [US 2017/0083588 A1] in view of Oberbrekling et al [US 2018/0074786 A1] in further view of Schipunov et al [US 2008/0027920 A1] and Dinker et al [US 2003/0177411 A1].
With regard to claim 7, Lang in view of Oberbrekling teach all the claim limitations of claim 1.
Lang in view of Oberbrekling teach distributed computing but do not appear to explicitly teach:
lead computing devices of a plurality of storage clusters of the store and compute sub-system receive respective segments of the ingested data set in a batch mode or a streaming mode,
wherein: a first lead computing device of a first storage cluster of the plurality of storage clusters receives a first segment of the ingested data set;
the first lead computing device allocates sub-segments of the first segment to itself and toother computing devices in the first storage cluster;
the first lead computing device allocates sub-sub-sections of its sub-segment of the first segment to a plurality of computing nodes of the first lead computing device;
a lead computing node of the plurality of computing nodes of the first lead computing device allocates the sub-sub-segments of the first lead computing device to itself and to other computing nodes of the plurality of computing nodes of the first lead computing device;
the lead computing node of the plurality of computing nodes of the first lead computing device allocates sub-sub-sub-segments of its allocated sub-sub-segment of the first segment to a plurality of computing core resources of the node, wherein the first foundation node long-terms stores a respective sub-sub-sub-segment of the sub-sub-sub segments as the first part of the at least a portion of the ingested data set.
Schipunov teaches wherein: a first lead computing device of a first storage cluster of the plurality of storage clusters receives a first segment of the ingested data set; the first lead computing device allocates sub-segments of the first segment to itself and to other computing devices in the first storage cluster (see paragraphs [0029], [0035], [0038], and [0040]; the system can have a logical hierarchical computing structure with ability to assign/allocate sub-tasks to itself as well to other computing devices in the cluster or set of nodes).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling by allowing the leader or main node to also perform tasks as taught by Schipunov in order to allow the for nodes to also have control of sub-clusters to assign tasks while also being able to perform operations on tasks too and not be idle thereby increasing processing throughput and responsiveness in processing the query by not only leveraging distributed processing but also hierarchical distributed processing.
Lang in view of Oberbrekling in further view of Schipunov teach lead computing devices of a plurality of storage clusters of the store and compute sub-system receive respective segments of the ingested data set in a batch mode or a streaming mode (see Schipunov, paragraph [0058]; see Lang, Figure 7 for node subsets and paragraphs [0033], [0060], and [0061]; see Oberbrekling, paragraph [0179]; the data set can be from a data stream or batch data set when received by the lead/master node of the set of nodes)
Lang in view of Oberbrekling in further view of Schipunov teach various hierarchical cluster nodes and sub-cluster nodes but do not appear to explicitly teach:
the first lead computing device allocates sub-sub-sections of its sub-segment of the first segment to a plurality of computing nodes of the first lead computing device;
a lead computing node of the plurality of computing nodes of the first lead computing device allocates the sub-sub-segments of the first lead computing device to itself and to other computing nodes of the plurality of computing nodes of the first lead computing device;
the lead computing node of the plurality of computing nodes of the first lead computing device allocates sub-sub-sub-segments of its allocated sub-sub-segment of the first segment to a plurality of computing core resources of the node, wherein the first foundation node long-terms stores a respective sub-sub-sub-segment of the sub-sub-sub segments as the first part of the at least a portion of the ingested data set.
Dinker teaches a plurality of computing nodes of the first lead computing device (see paragraph [0067] and claim 10; a sub-cluster node B can have multiple server computers associated with it).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling in further view of Schipunov by composing cluster (or sub-cluster) nodes as a combination of multiple computing devices as taught by Dinker in order to allow for greater parallel and distributed processing of queries and tasks by not only having different distinct clusters and sub-clusters working together but having multiple computing devices in each cluster or sub-cluster instead of a single computer thus helping to ensure that respective nodes do not have a single point of failure while also providing greater processing capabilities to handle the various tasks/queries performed by the respective cluster nodes.
Lang in view of Oberbrekling in further view of Schipunov and Dinker teach the first lead computing device allocates sub-sub-sections of its sub-segment of the first segment to a plurality of computing nodes of the first lead computing device (see Dinker, paragraph [0067] and claim 10; see Lang, Figure 7 for node subsets and paragraphs [0060] and [0061]; see Schipunov, paragraphs [0038], [0035], and [0058]; the system can have multiple nodes arranged logically in a hierarchical manner where each respective cluster or sub-cluster can have multiple devices/servers within it that can be assigned various sub-tasks for that particular cluster/sub-cluster node);
a lead computing node of the plurality of computing nodes of the first lead computing device allocates the sub-sub-segments of the first lead computing device to itself and to other computing nodes of the plurality of computing nodes of the first lead computing device (see Dinker, paragraph [0067] and claim 10; see Lang, Figure 7 for node subsets and paragraphs [0060] and [0061] and [0093]; see Schipunov, paragraphs [0038], [0035], and [0058]; the system can have multiple nodes arranged logically in a hierarchical manner where each respective cluster or sub-cluster can have multiple devices/servers within it that can be assigned various sub-tasks for that particular cluster/sub-cluster node where each device of the multiple devices of a cluster-node for a sub-task can be assigned respective portions of the task);
the lead computing node of the plurality of computing nodes of the first lead computing device allocates sub-sub-sub-segments of its allocated sub-sub-segment of the first segment to a plurality of computing core resources of the node, wherein the first foundation node long-terms stores a respective sub-sub-sub-segment of the sub-sub-sub segments as the first part of the at least a portion of the ingested data set (see Dinker, paragraph [0067] and claim 10; see Lang, Figure 7 for node subsets and paragraphs [0060] and [0061] and [0093]; see Schipunov, paragraphs [0038], [0035], [0044], and [0058]; the system can have multiple nodes arranged logically in a hierarchical manner where each respective cluster or sub-cluster can have multiple devices/servers within it that can be assigned various sub-tasks for that particular cluster/sub-cluster node where each of the multiple devices of a cluster-node for a sub-task can be assigned respective portions of the task; lastly, each device/computer/server can then assign respective portions of the sub-tasks to respective processing unit/CPU or a worker thread to perform the respective operations).
With regard to claim 8, Lang in view of Oberbrekling teach all the claim limitations of claim 1.
Lang in view of Oberbrekling teach distributed computing but do not appear to explicitly teach:
lead computing devices of a plurality of storage clusters of the store and compute sub-system receive respective the set of query operational instructions regarding the ingested data set,
wherein: a first lead computing device of a first storage cluster of the plurality of storage clusters receives the set of query operational instructions and provides the set of query operational instructions to other computing devices in the first storage cluster;
a first lead computing node of a first plurality of computing nodes of the first lead computing device provides receives the set of query operational instructions and provides the set of query operational instructions to other computing nodes in the first plurality of computing nodes;
and a first lead computing core resource of a first plurality of computing core resources of the lead computing nodes of the first plurality of computing nodes receives the set of query operational instructions and provides the set of query operational instructions to other computing core resources in the first plurality of computing core resources.
Schipunov teaches lead computing devices of a plurality of storage clusters of the store and compute sub-system receive respective the set of query operational instructions ; wherein: a first lead computing device of a first storage cluster of the plurality of storage clusters receives the set of query operational instructions and provides the set of query operational instructions to other computing devices in the first storage cluster (see paragraphs [0029], [0034]-[0035], and [0038]; the system can multiple separate clusters that can have their own respective sub-clusters such that the lead device or cluster node is a master/leader node for those sub-clusters and can receive different sets of tasks (query operational instructions) regarding the respective data that the tasks are to be operated on).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling by allowing the leader or main node to also perform tasks as taught by Schipunov in order to allow the for nodes to also have control of sub-clusters to assign tasks while also being able to perform operations on tasks too and not be idle thereby increasing processing throughput and responsiveness in processing the query by not only leveraging distributed processing but also hierarchical distributed processing.
Lang in view of Oberbrekling in further view of Schipunov teach lead computing devices of a plurality of storage clusters of the store and compute sub-system receive respective the set of query operational instructions regarding the ingested data set (see Schipunov, paragraphs [0029], [0034]-[0035], and [0038]; see Lang, Figures 2 and 7 and paragraphs [0059]-[0061]; the respective system can divide/partition the query and provide that query to respective query pipelines (series of clusters) that can have additional associated sub-clusters to each cluster).
Lang in view of Oberbrekling in further view of Schipunov teach various hierarchical cluster nodes and sub-cluster nodes but do not appear to explicitly teach:
a first lead computing node of a first plurality of computing nodes of the first lead computing device provides receives the set of query operational instructions and provides the set of query operational instructions to other computing nodes in the first plurality of computing nodes;
and a first lead computing core resource of a first plurality of computing core resources of the lead computing nodes of the first plurality of computing nodes receives the set of query operational instructions and provides the set of query operational instructions to other computing core resources in the first plurality of computing core resources.
Dinker teaches a first plurality of computing nodes of the first lead computing device (see paragraph [0067] and claim 10; a sub-cluster node B can have multiple server computers associated with it).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling in further view of Schipunov by composing cluster (or sub-cluster) nodes as a combination of multiple computing devices as taught by Dinker in order to allow for greater parallel and distributed processing of queries and tasks by not only having different distinct clusters and sub-clusters working together but having multiple computing devices in each cluster or sub-cluster instead of a single computer thus helping to ensure that respective nodes do not have a single point of failure while also providing greater processing capabilities to handle the various tasks/queries performed by the respective cluster nodes.
Lang in view of Oberbrekling in further view of Schipunov and Dinker teach a first lead computing node of a first plurality of computing nodes of the first lead computing device provides receives the set of query operational instructions and provides the set of query operational instructions to other computing nodes in the first plurality of computing nodes (see Dinker, paragraph [0067] and claim 10; see Lang, Figure 7 for node subsets and paragraphs [0060] and [0061] and [0093]; see Schipunov, paragraphs [0038], [0035], and [0058]; the system can have multiple nodes arranged logically in a hierarchical manner where each respective cluster or sub-cluster can have multiple devices/servers within it that can be assigned various sub-tasks (query instructions) for that particular cluster/sub-cluster node where each device of the multiple devices of a cluster-node for a sub-task can be assigned respective portions (query instructions) of the task);
and a first lead computing core resource of a first plurality of computing core resources of the lead computing nodes of the first plurality of computing nodes receives the set of query operational instructions and provides the set of query operational instructions to other computing core resources in the first plurality of computing core resources (see Dinker, paragraph [0067] and claim 10; see Lang, Figure 7 for node subsets and paragraphs [0060] and [0061] and [0093]; see Schipunov, paragraphs [0038], [0035], [0044], and [0058]; the system can have multiple nodes arranged logically in a hierarchical manner where each respective cluster or sub-cluster can have multiple devices/servers within it that can be assigned various sub-tasks for that particular cluster/sub-cluster node where each of the multiple devices of a cluster-node for a sub-task can be assigned respective portions of the task; lastly, each device/computer/server can then assign respective portions of the sub-tasks to respective processing unit/CPU or a worker thread to perform the respective query operations).
With regard to claim 9, Lang in view of Oberbrekling in further view of Schipunov and Dinker teach the first lead computing core resource collecting a first plurality of partial results from the first plurality of computing core resources; the first lead computing node collecting pluralities of partial results from the plurality of computing core resources of the plurality of computing nodes of the lead computing device; the first lead computing device collecting pluralities of pluralities of partial results from the plurality of computing core resources of the plurality of computing nodes of the plurality of computing device of the first storage cluster; and the lead computing devices of the plurality of storage clusters providing respective pluralities of pluralities of partial results from their respective plurality of computing core resources of their respective plurality of computing nodes of their respective plurality of computing devices of the plurality of storage clusters (see Dinker, paragraph [0067] and claim 10; see Lang, Figure 7 for node subsets and paragraphs [0032], [0060], and [0061]; see Schipunov, paragraphs [0029], [0034], and [0035]; the respective logical hierarchy of computer nodes can be utilized to partition/sub-divide data and respective tasks/operations to be performed at the lower levels of the hierarchy with the parent levels receiving and aggregating the partial results from their respective sub-nodes).
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Lang et al [US 2017/0083588 A1] in view of Oberbrekling et al [US 2018/0074786 A1] in further view of James et al [US 2019/0236194 A1].
With regard to claim 11, Lang in view of Oberbrekling teach all the claim limitations of claim 1 as discussed above.
Lang in view of Oberbrekling do not appear to explicitly teach the at least a portion of the ingested data set including a time window of streaming data.
James teaches the at least a portion of the ingested data set including a time window of streaming data (see paragraphs [0157]-[0158], [0290], [0299], and [0347]; the system can ingest data where that data is associated with a time window).
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify the distributed query processing system of Lang in view of Oberbrekling by including means to regularly update or ingest data on a periodic basis and be able to logically associate that data with time periods/ranges as taught by James in order to be able to continuously/automatically retrieve new data so that the system can have the latest data while also organized via time ranges so that the system can increase responsiveness to user queries relating to time-related requests/tasks without having to scan/sort large quantities of data during query runtime to find the desired information while also not having to wait for any additional search queries at runtime to see if any new data is available to the system.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-6 and 10 are provisionally rejected on the ground of obviousness-type nonstatutory double patenting as being unpatentable over claim 1 of copending Application No. 19/207,178 (reference application). Although the claims at issue are not identical, they are not patentably distinct from each other because the claims are drawn to substantially similar subject matter as depicted and discussed below.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
Claim #
Claim Limitation
‘349 Limitation
Claim #
1
A database system comprises: a load sub-system that includes a plurality of loader nodes,
A database system comprises: a load and store sub-system that includes:
1
1
wherein a set of loader nodes of the plurality of loader nodes collectively ingests and temporarily stores a data set in a first data format to produce an ingested data set;
a data input module operable to ingest a data set; short term storage operable to temporarily store the data set to produce an ingested data set; and long term storage operable to store the ingested data set;
1
1
a store and compute sub-system that includes a plurality of foundation nodes,
a query execution sub-system that includes:
a plurality of local query engines,
a plurality of intermediate query engines
1
1
wherein: a foundation node of the plurality of foundation nodes includes a processing core resource of a computing node of a computing device;
See discussion below
1
a set of foundation nodes collectively long-term stores at least a portion of the ingested data set, wherein: a first foundation node long-term stores a first part of the at least a portion of the ingested data set, and a second foundation node long-term stores a second part of the at least a portion of the ingested data set,
wherein a set of local query engines of the plurality of local query engines is operable to: collectively obtain the ingested data set; (EN: the data isn’t immediately discarded therefore it is long-term stored)
1
1
the set of foundation nodes collectively executes a set of query operational instructions on the at least a portion of the ingested data set to produce a partial query response,
and collectively execute a set of local query operational instructions on at least a portion of the ingested data set to produce a local partial query response;
1
1
wherein: the first foundation node executes the set of query operational instructions on the first part of the at least a portion of the ingested data set to produce a first part of the partial query response,
and collectively execute a set of local query operational instructions on at least a portion of the ingested data set to produce a local partial query response;
1
1
and the second foundation node executes the set of query operational instructions on the second part of the at least a portion of the ingested data set to produce a second part of the partial query response;
and collectively execute a set of local query operational instructions on at least a portion of the ingested data set to produce a local partial query response;
1
1
and a query and response sub-system that includes a plurality of SQL (Standard Query Language) nodes,
and a query planning subsystem
1
1
wherein a set of SQL nodes of the plurality of SQL nodes collectively generate the set of query operational instructions,
and a query planning subsystem operable to: generate the set of local query operational instructions, the set of intermediate query operational instructions, and the set of global query operational instructions based on a query regarding the data set; assign the set of local query operational instructions to the set of local query engines; assign the set of intermediate query operational instructions to the set of intermediate query engines; and assign the set of global query operational instructions to the global query engine
1
1
and generate an output query response based on the partial query response and one or more output query operational instructions.
and a global query engine operable to execute a set of global query operational instructions on at least a portion of the intermediate partial query response to produce a query result;
1
As seen from the mapping above, the claims are substantially similar with some minor differences including the instant application recites a plurality of loader nodes where it would have been obvious for the ‘178 patent application to use multiple computer components/nodes so that the networked computer system is not bottlenecked by a single data ingestion/load point.
Additionally, instant application recites: “wherein: a foundation node of the plurality of foundation nodes includes a processing core resource of a computing node of a computing device;” where it would have been obvious for the ‘179 patent application to use processing cores (or standard computer processing units) for their various engines/nodes so that the respective networked distributed computer system can operate since computers need a processor to process instructions and commands.
The instant application recites “a query and response sub-system that includes a plurality of SQL (Standard Query Language) nodes” where it would have been obvious for the ‘178 patent application to use multiple computer components/nodes so that the networked computer system is not bottlenecked by a single data computing device.
With regard to claims 2-6, claim 2 is substantially similar to claim 1 and its discussion of executing instructions to produce a partial query response via computer components of a computing device. Claims 3 and 4 also recite standard computer components where it would be obvious for the reference patent application’s various sub-systems and/or engines to include standard computer hardware so that their respective computing devices can function including being able to read and store data and instructions (memory interface) as well as use cache (RAM) to reduce long read times from main memory/hard disks for every operation. Claims 5 and 6 recites multi-core processors being used in the distributed computer system where it would be obvious to use multi-core processors as a design choice between single processors versus increased speed and throughput of operations with standard and well-known multi-core or multi-processor designs.
Claim 10 recites the limitations similar to claim 1 above and mapped in a similar manner with the query engines storing the partial query response(s).
Claims 1-6 and 10 provisionally rejected on the ground of obviousness-type nonstatutory double patenting as being unpatentable over claim 1 of copending Application No.19/227,097 (reference application). Although the claims at issue are not identical, they are not patentably distinct from each other because the claims are drawn to substantially similar subject matter as discussed above.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
The main difference between claims 1 of both the reference application and instant application is that the instant application discusses additional details regarding the store and compute sub-system to indicate that the foundation nodes includes processing resources and various foundation nodes long-term stores parts of the ingested data where it would have been obvious for the reference patent application to use processing cores (or standard computer processing units) for their various nodes so that the respective networked distributed computer system can operate since computers need a processor to process instructions and commands. Also, it would have been obvious to have memory for the store and compute sub-system to have means to ‘store’ information so that the respective sub-system isn’t instantaneously discarding the data and can actually operate on it and be able to do something with the respective calculated results at a later time.
With regard to claims 2-6, claim 2 is substantially similar to claim 1 and its discussion of executing instructions to produce a partial query response via computer components of a computing device. Claims 3 and 4 also recite standard computer components where it would be obvious for the reference patent application’s various sub-systems and/or engines to include standard computer hardware so that their respective computing devices can function including being able to read and store data and instructions (memory interface) as well as use cache (RAM) to reduce long read times from main memory/hard disks for every operation. Claims 5 and 6 recites multi-core processors being used in the distributed computer system where it would be obvious to use multi-core processors as a design choice between single processors versus increased speed and throughput of operations with standard and well-known multi-core or multi-processor designs.
Claim 10 recites the limitations similar to claim 1 above and mapped in a similar manner with the query engines storing the partial query response(s).
Claims 1-10 are provisionally rejected on the ground of obviousness-type nonstatutory double patenting as being unpatentable over claims 1 and 15-17 of copending Application No. 19/206,322 (reference application). Although the claims at issue are not identical, they are not patentably distinct from each other because the claims are drawn to substantially similar subject matter as discussed below.
This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented.
The main difference between claims 1 of both the reference application and instant application is that the instant application discusses additional details regarding the store and compute sub-system to indicate that the foundation nodes includes processing resources where it would have been obvious for the reference patent application to use processing cores (or standard computer processing units) for their various nodes so that the respective networked distributed computer system can operate since computers need a processor to process instructions and commands.
With regard to claims 2-6, claim 2 is substantially similar to claim 1 and its discussion of executing instructions to produce a partial query response via computer components of a computing device. Claims 3 and 4 also recite standard computer components where it would be obvious for the reference patent application’s various sub-systems and/or engines to include standard computer hardware so that their respective computing devices can function including being able to read and store data and instructions (memory interface) as well as use cache (RAM) to reduce long read times from main memory/hard disks for every operation. Claims 5 and 6 recites multi-core processors being used in the distributed computer system where it would be obvious to use multi-core processors as a design choice between single processors versus increased speed and throughput of operations with standard and well-known multi-core or multi-processor designs.
Claim 10 recites the limitations similar to claim 1 above and mapped in a similar manner with the query engines storing the partial query response(s).
Claims 7-9 are substantially similar to claims 15-17 of the reference application.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Pandis et al [US 2023/0359627 A1] teaches at Figures 2 and 3 various processing clusters where each processing cluster can have a leader node that can send node-specific query instructions to respective compute nodes of that processing cluster and associated with that processing cluster’s leader node.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MARC S SOMERS whose telephone number is (571)270-3567. The examiner can normally be reached M-F 11-8 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ann Lo can be reached at 5712729767. 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.
/MARC S SOMERS/Primary Examiner, Art Unit 2159 8/7/2026