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 .
This Office action is issued in response to application, 19/349,172, filed on 10/3/2025.
Claim(s) 1-20 is/are pending.
Priority
Acknowledgment is made of applicant’s claim for priority to non-provisional application, 18/648,342, filed on 4/27/2024, which claims priority to non-provisional application, 16/267,608, filed on 2/5/2019, issued as U.S. 11,977,545, which claims priority to provisional application, 62/745,787, filed on 10/15/2018.
Specification
The title of the invention is not descriptive. A new title is required that is clearly indicative of the invention to which the claims are directed.
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
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.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 1 is directed to a “parallelized data input sub-system of a database” with “pluralities of computing nodes of a plurality of computing device cluster”, a “plurality of memory devices”, a “plurality of processing modules” and a “plurality of storage computing nodes of pluralities of storage computing nodes” where the “parallelized data input sub-system of a database”, the “computing nodes”, the “memory devices”, the “processing modules” and the “storage computing nodes” are not limited in any fashion. The plain meaning of the term “database” would include software under the broadest reasonable interpretation. The plain meaning of the term “device” would include software under the broadest reasonable interpretation. The plain meaning of the term “module” would include software under the broadest reasonable interpretation. As such, claim 1 could be interpreted to be implemented purely as software and, thus, is rejected as software per se.
Claim(s) 2-10 inherit(s) the deficiencies of the claim it/they depend(s) from.
Claim 11 is directed to “a computer readable storage medium” with a “first memory section”, a “second memory section”, a “third memory section”, a “first set of loader nodes of pluralities of computing nodes of pluralities of computing devices of a plurality of computing device clusters”, a “parallelized data input sub-system of a database system”, a “set of memory devices of a plurality of memory devices” and a “set of processing modules”, where the “memory device”, “memory sections” and the “computing devices” are not limited in any fashion. The plain meaning of the term “computer readable storage medium” would include transmissions under the broadest reasonable interpretation. The plain meaning of the term “memory section” would include software under the broadest reasonable interpretation. The plain meaning of the term “node” would include software under the broadest reasonable interpretation. The plain meaning of the term “database” would include software under the broadest reasonable interpretation. The plain meaning of the term “device” would include software under the broadest reasonable interpretation. The plain meaning of the term “module” would include software under the broadest reasonable interpretation. As such, claim 11 could be interpreted to be implemented purely as software and, thus, is rejected as software per se.
Claim(s) 12-20 inherit(s) the deficiencies of the claim it/they depend(s) from.
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.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gupta et al., US 11,567,972 B1 (hereinafter “Gupta”) in view of Srivastava, US 2018/0075095 A1 (hereinafter “Sriv”).
Claims 1 and 11
Gupta discloses a parallelized data input sub-system of a database system (Gupta, Fig. 2, see database system depicted; and Gupta, Col. 16, lines 32-42, see parallelize the workload to process queries), wherein the parallelized data input sub-system comprises:
pluralities of computing nodes of a plurality of computing device clusters, wherein a computing device cluster of the plurality of computing device clusters includes a plurality of computing devices, wherein a computing device of the plurality of computing devices includes a plurality of computing nodes of the pluralities of computing nodes, wherein the pluralities of computing nodes includes a first set of loader nodes, wherein the first set of loader nodes is operable to ingest at least a portion of a dataset (Gupta, Col. 9, line 56-Col. 10, line 10, see the storage cluster for a data storage service like a data warehouse service … . As illustrated in this example, a storage cluster 300 may include a leader node 320 [i.e., corresponds to the “computing device cluster of the plurality of computing device clusters includes a plurality of computing devices”] and storage nodes 330, 340, and 350 [i.e., “plurality of computing nodes of the pluralities of computing nodes”], which may communicate with each other over an interconnect 360. Leader node 320 may maintain slab mapping information 325 for executing queries on storage cluster 300. For instance, slab mapping information may be used to identify which storage nodes may store a storage slab; Gupta, Col. 10, line 50-Col. 11, line 3, see storage cluster 300 [i.e., corresponds to “computing device cluster of the plurality of computing device clusters includes a plurality of computing devices”] may also include storage nodes, such as storage nodes 330, 340, and 350 [i.e., “plurality of computing nodes of the pluralities of computing nodes”]. These one or more storage nodes (sometimes referred to as compute nodes), may for example, be implemented on servers or other computing devices, such as those described below with regard to computer system 2000 in FIG. 11, and each may include individual query processing “slices” defined, for example, for each core of a server's multi-core processor. Storage nodes may perform processing of database operations, such as queries, based on instructions sent to storage nodes 330, 340, and 350 from leader node 320; and Gupta, Fig. 3, see leader node 320 [i.e., corresponds to “computing device cluster of the plurality of computing device clusters includes a plurality of computing devices”] and storage nodes 330, 340 … 350 [i.e., “plurality of computing nodes of the pluralities of computing nodes”]; and Gupta, Col. 8, lines 39-52, see scaling clusters may allow users of the network-based service to perform their data warehouse functions, such as fast querying capabilities over structured data, integration with various data loading [i.e., corresponds to “loader nodes”] and ETL (extract, transform, and load) tools, client connections with best-in-class business intelligence (BI) reporting, data mining, and analytics tools, and optimizations for very fast execution of complex analytic queries such as those including multi-table joins, sub-queries, and aggregation, more efficiently), and wherein the first set of loader nodes includes:
a plurality of memory devices, wherein a set of memory devices of the plurality of memory devices is operable to temporarily store the at least the portion of the dataset in a raw data format (Gupta, Col. 3, lines 18-48, see when storage slab 102a became full, then storage slabs 102b, 102c, 102d through 102e [i.e., slabs corresponds to the “plurality of memory devices”] may be created. The ranges of distribution values assigned to the nodes of the tree may be divided, split, or otherwise determined resulting in a disjointed partition of the range of the parent node (e.g., slab 102a). For example, storage slab 102b has a range 104b including distribution values A through F, storage slab 102c has a range 104c including distribution values G through L, storage slab 102d has a range 104d including distribution values M through S, and storage slab 102e has a range 104e including distribution values T through Z. When a storage slab in this second level of storage slabs in the tree becomes full, then an additional level of storage slabs may be created for the full storage slab (e.g., storage slabs 102f, 102g, 102h through 102i) and the distribution value ranges may be split again (e.g., range 106f, including values A through Az, range 106g, including values B through C, range 106h, including values D through Dz, and range 106i, including values E through F; and Gupta, Col. 6, lines 21-42, see data catalog service 210 may direct the transformation of data ingested in one data format [i.e., corresponds to “raw data format”] into another data format, like the tree-based format discussed above with regard to FIG. 1 . For example, data may be ingested into a data storage service 310 as single file or semi-structured set of data (e.g., JavaScript Object Notation (JSON)); and
a plurality of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n), wherein a set of processing modules of the plurality of processing modules is operable to:
provide the long term storage formatted data to a plurality of storage computing nodes of pluralities of storage computing nodes of a store and compute sub-system of the database system for storage therein (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Gupta does not appear to explicitly disclose determine whether the at least the portion of the dataset is regarding a database query;
when the at least the portion of the dataset is regarding the database query provide the at least the portion of the dataset to a query and response sub-system of the database system; and
when the at least the portion of the dataset is not regarding the database query:
determine long term storage parameters for the at least the portion of the dataset;
process the at least the portion of the dataset in accordance with the long term storage parameters to produce long term storage formatted data.
Sriv discloses determine whether the at least the portion of the dataset is regarding a database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., corresponds to “portion of the dataset is regarding a database query, where the criterion described denotes the relevant data for the query], provided in the query);
when the at least the portion of the dataset is regarding the database query provide the at least the portion of the dataset to a query and response sub-system of the database system (Sriv, [0111], see, for each record that satisfies the criteria, the dataset management system 150 parallel processes 750 the parsed records to identify results. The dataset management system 150 provides 760 the identified results of the query back to the client device 110); and
when the at least the portion of the dataset is not regarding the database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., where when the criterion is not satisfied corresponds to “not regarding the database query”], provided in the query):
determine long term storage parameters for the at least the portion of the dataset (See below);
process the at least the portion of the dataset in accordance with the long term storage parameters to produce long term storage formatted data (Sriv, [0107], see the dataset management system 150 receives 620 new data values. In one embodiment, new data values are included as a part of a new dataset. In some embodiments, new data values are included in an update request for replacing one or more existing data values in the existing dataset. The dataset management system 150 combines 630 the received data values with the existing dataset to generate a combine dataset [i.e., corresponds to “process at least the portion of the dataset”]. For the new data values, the dataset management system 150 extracts 640 attributes of the new data values. Such attributes can be descriptive of the new data values or can uniquely identify the new data values [i.e., interpreted at the “long term storage parameters”]; Note: Applicant has not defined “long term storage parameters” in the claim, e.g., what they are/what they do).
Gupta and Sriv are analogous art because they are from the same field of endeavor of storing and retrieving data.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention, having the teachings of Gupta and Sriv before him/her, to modify the storage of Gupta to include the processing of Sriv because the system can adaptively respond to user queries by understanding schema changes.
The suggestion/motivation for doing so would have been to reduce computational resources that would otherwise be needed to maintain datasets across disparate data repositories, see Sriv, [0008].
Therefore, it would have been obvious to combine Sriv with Gupta to obtain the invention as specified in the instant claim(s).
Claim(s) 11 recite(s) similar limitations to claim 1 and is/are rejected under the same rationale.
With respect to claim 11, Gupta discloses a computer readable storage medium comprises:
a first memory section (Gupta, Col. 18, line 58-Col. 19, line 12, see system memory 2020);
a second memory section (Gupta, Col. 18, line 58-Col. 19, line 12, see system memory 2020); and
a third memory section (Gupta, Col. 18, line 58-Col. 19, line 12, see system memory 2020).
Claims 2 and 12
With respect to claims 2 and 12, the combination of Gupta and Sriv discloses wherein the first set of loader nodes comprises a set of batch data loader nodes, wherein the at least the portion of the dataset is a full dataset, and wherein the set of batch data loader nodes is operable to:
ingest the full dataset (Gupta, Col. 8, lines 39-52, see scaling clusters may allow users of the network-based service to perform their data warehouse functions, such as fast querying capabilities over structured data, integration with various data loading [i.e., corresponds to “loader nodes”] and ETL (extract, transform, and load) tools, client connections with best-in-class business intelligence (BI) reporting, data mining, and analytics tools, and optimizations for very fast execution of complex analytic queries such as those including multi-table joins, sub-queries, and aggregation, more efficiently; Note: Showing the ability to ingest data discloses disclosing the full dataset by merely ingesting long enough to process all of the data); and
wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is further operable to:
provide the full dataset to the set of memory devices (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Claims 3 and 13
With respect to claims 3 and 13, the combination of Gupta and Sriv discloses wherein the first set of loader nodes comprises a set of streaming data loader nodes, wherein the at least the portion of the dataset is a portion of a full dataset, and wherein the set of streaming data loader nodes is operable to:
ingest the portion of the full dataset (Gupta, Col. 8, lines 39-52, see scaling clusters may allow users of the network-based service to perform their data warehouse functions, such as fast querying capabilities over structured data, integration with various data loading [i.e., corresponds to “loader nodes”] and ETL (extract, transform, and load) tools, client connections with best-in-class business intelligence (BI) reporting, data mining, and analytics tools, and optimizations for very fast execution of complex analytic queries such as those including multi-table joins, sub-queries, and aggregation, more efficiently); and
wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is further operable to:
provide the portion of the full dataset to the set of memory devices (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Claims 4 and 14
With respect to claims 4 and 14, the combination of Gupta and Sriv discloses wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is further operable to:
convert the at least the portion of the dataset from an initial raw data format to the raw data format based on a raw data format preference (Gupta, Col. 6, lines 21-42, see the data stored in another data format [i.e., corresponds to the “initial raw data format”] may be converted to the tree-based format [i.e., corresponds to the “raw data format”] as part of a background operation (e.g., to discover the data type, column types, names, delimiters of fields, and/or any other information to construct the table)); and
provide the at least the portion of the dataset m the raw data format to the set of memory devices (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Claims 5 and 15
With respect to claims 5 and 15, the combination of Gupta and Sriv discloses wherein the long term storage parameters comprises one or more of:
a partitioning scheme (Gupta, Col. 3, line 56-Col. 4, line 2, see item may then be placed into the slab that is mapped to a range of hash values that includes the hash value. Various other types of distribution schemes, such as range partitioning or wrap-around range partitioning);
a data encoding scheme;
a data sorting scheme (Gupta, Col. 4, lines 31-40, see items may be stored within a storage slab according to a sort order); and
a data compression scheme (Gupta, Col. 7, line 43-Col. 8, line 16, see applying a compression method that is best suited to the particular column data type).
Claims 6 and 16
With respect to claims 6 and 16, the combination of Gupta and Sriv discloses wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is operable to:
determine database system parameters (Gupta, Col. 6, lines 21-42, see data catalog service 210 may be configured to identify the data format of the single file or semi-structured set of data and direct the creation of a table stored in storage slabs mapped to a tree; and Gupta, Col. 21, line 57-Col. 22, line 3, see a network-based service may be requested or invoked through the use of a message that includes parameters and/or data associated with the network-based services request. Such a message may be formatted according to a particular markup language such as Extensible Markup Language (XML), and/or may be encapsulated using a protocol such as Simple Object Access Protocol (SOAP)); and
generate the long term storage parameters based on the database system parameters and the at least the portion of the dataset (Gupta, Col. 6, lines 21-42, see data catalog service 210 may be configured to identify the data format of the single file or semi-structured set of data and direct the creation of a table stored in storage slabs mapped to a tree).
Claims 7 and 17
With respect to claims 7 and 17, the combination of Gupta and Sriv discloses wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is operable to provide the long term storage formatted data to the store and compute sub-system by:
providing a segment group of a partition of a plurality of partitions of the long term storage formatted data to a first computing device of a first computing device cluster of a plurality of computing device clusters of the store and compute sub-system, wherein the first computing device includes a plurality of storage computing nodes, and wherein a first segment of the segment group is provided to a first storage computing node of the plurality of storage computing nodes (Gupta, Col. 3, line 56-Col. 4, line 2, see a distribution scheme for assigning items to storage slabs may be implemented in many ways. For example, in at least some embodiments, a hash function may be applied to a specified value for each item (e.g., a specified column) that generates a hash value based on the column. The item may then be placed into the slab that is mapped to a range of hash values that includes the hash value. Various other types of distribution schemes, such as range partitioning or wrap-around range partitioning based on one or a composite of field (e.g., column) values may be implemented).
Claims 8 and 18
With respect to claims 8 and 18, the combination of Gupta and Sriv discloses further comprises:
wherein the first set of loader nodes is further operable to:
ingest a second portion of the dataset (Gupta, Col. 8, lines 39-52, see scaling clusters may allow users of the network-based service to perform their data warehouse functions, such as fast querying capabilities over structured data, integration with various data loading [i.e., corresponds to “loader nodes”] and ETL (extract, transform, and load) tools, client connections with best-in-class business intelligence (BI) reporting, data mining, and analytics tools, and optimizations for very fast execution of complex analytic queries such as those including multi-table joins, sub-queries, and aggregation, more efficiently);
wherein the set of memory devices (Gupta, Col. 3, lines 18-48, see when storage slab 102a became full, then storage slabs 102b, 102c, 102d through 102e [i.e., slabs corresponds to the “plurality of memory devices”] may be created) is further operable to:
temporarily store the second portion of the dataset m the raw data format (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1; Note: The ability to store data discloses the ability to temporarily store the data because the data needs to be stored for a small period of time, which is a subset of storing the data for a longer period of time and, thus, includes temporarily storing); and
wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is further operable to:
determine whether the second portion of the dataset is regarding a current database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., corresponds to “portion of the dataset is regarding a database query, where the criterion described denotes the relevant data for the query], provided in the query);
when the second portion of the dataset is regarding the current database query provide the second portion of the dataset to the query and response sub-system (Sriv, [0111], see, for each record that satisfies the criteria, the dataset management system 150 parallel processes 750 the parsed records to identify results. The dataset management system 150 provides 760 the identified results of the query back to the client device 110); and
when the second portion of the dataset is not regarding the current database query determine second long term storage parameters for the second portion of the dataset (See below), process the second portion of the dataset m accordance with the second long term storage parameters to produce second long term storage formatted data (Sriv, [0107], see the dataset management system 150 receives 620 new data values. In one embodiment, new data values are included as a part of a new dataset. In some embodiments, new data values are included in an update request for replacing one or more existing data values in the existing dataset. The dataset management system 150 combines 630 the received data values with the existing dataset to generate a combine dataset [i.e., corresponds to “process at least the portion of the dataset”]. For the new data values, the dataset management system 150 extracts 640 attributes of the new data values. Such attributes can be descriptive of the new data values or can uniquely identify the new data values [i.e., interpreted at the “long term storage parameters”]; Note: Applicant has not defined “long term storage parameters” in the claim, e.g., what they are/what they do); and
provide the second long term storage formatted data to the store and compute sub-system of the database system for storage therein (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Claims 9 and 19
With respect to claims 9 and 19, the combination of Gupta and Sriv discloses further comprises:
wherein the first set of loader nodes is further operable to:
ingest at least a portion of a second dataset (Gupta, Col. 8, lines 39-52, see scaling clusters may allow users of the network-based service to perform their data warehouse functions, such as fast querying capabilities over structured data, integration with various data loading [i.e., corresponds to “loader nodes”] and ETL (extract, transform, and load) tools, client connections with best-in-class business intelligence (BI) reporting, data mining, and analytics tools, and optimizations for very fast execution of complex analytic queries such as those including multi-table joins, sub-queries, and aggregation, more efficiently);
wherein the set of memory devices is further operable to:
temporarily store the at least the portion of the second dataset m a second raw data format (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1; Note: The ability to store data discloses the ability to temporarily store the data because the data needs to be stored for a small period of time, which is a subset of storing the data for a longer period of time and, thus, includes temporarily storing); and
wherein the set of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n) is further operable to:
determine whether the at least the portion of the second dataset is regarding a current database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., corresponds to “portion of the dataset is regarding a database query, where the criterion described denotes the relevant data for the query], provided in the query);
when the at least the portion of the second dataset is regarding the current database query (Sriv, [0111], see, for each record that satisfies the criteria, the dataset management system 150 parallel processes 750 the parsed records to identify results. The dataset management system 150 provides 760 the identified results of the query back to the client device 110);
provide the at least the portion of the second dataset to the query and response sub-system (Sriv, [0111], see, for each record that satisfies the criteria, the dataset management system 150 parallel processes 750 the parsed records to identify results. The dataset management system 150 provides 760 the identified results of the query back to the client device 110); and
when the at least the portion of the second dataset is not regarding the current database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., where when the criterion is not satisfied corresponds to “not regarding the database query”], provided in the query);
determine second long term storage parameters for the at least the portion of the second dataset (See below);
process the at least the portion of the second dataset in accordance with the second long term storage parameters to produce second long term storage formatted data (Sriv, [0107], see the dataset management system 150 receives 620 new data values. In one embodiment, new data values are included as a part of a new dataset. In some embodiments, new data values are included in an update request for replacing one or more existing data values in the existing dataset. The dataset management system 150 combines 630 the received data values with the existing dataset to generate a combine dataset [i.e., corresponds to “process at least the portion of the dataset”]. For the new data values, the dataset management system 150 extracts 640 attributes of the new data values. Such attributes can be descriptive of the new data values or can uniquely identify the new data values [i.e., interpreted at the “long term storage parameters”]; Note: Applicant has not defined “long term storage parameters” in the claim, e.g., what they are/what they do); and
provide the second long term storage formatted data to the store and compute sub-system of the database system for storage therein (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Claims 10 and 20
With respect to claims 10 and 20, the combination of Gupta and Sriv discloses further comprises:
wherein the pluralities of computing nodes includes a second set of loader nodes, wherein the second set of loader nodes is operable to ingest at least a portion of a second dataset (Gupta, Col. 8, lines 39-52, see scaling clusters may allow users of the network-based service to perform their data warehouse functions, such as fast querying capabilities over structured data, integration with various data loading [i.e., corresponds to “loader nodes”] and ETL (extract, transform, and load) tools, client connections with best-in-class business intelligence (BI) reporting, data mining, and analytics tools, and optimizations for very fast execution of complex analytic queries such as those including multi-table joins, sub-queries, and aggregation, more efficiently), and wherein the second set of loader nodes includes:
a second plurality of memory devices (Gupta, Col. 3, lines 18-48, see when storage slab 102a became full, then storage slabs 102b, 102c, 102d through 102e [i.e., slabs corresponds to the “plurality of memory devices”] may be created), wherein a second set of memory devices of the second plurality of memory devices is operable to temporarily store the at least the portion of the second dataset m a second raw data format (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1; Note: The ability to store data discloses the ability to temporarily store the data because the data needs to be stored for a small period of time, which is a subset of storing the data for a longer period of time and, thus, includes temporarily storing); and
a second plurality of processing modules (Gupta, Fig. 11, see processors 2010a, 2010b … 2010n), wherein a second set of processing modules of the second plurality of processing modules is operable to:
determine whether the at least the portion of the second dataset is regarding a current database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., corresponds to “portion of the dataset is regarding a database query, where the criterion described denotes the relevant data for the query], provided in the query);
when the at least the at least the portion of the second dataset is regarding the current database query provide the at least the portion of the second dataset to the query and response sub-system (Sriv, [0111], see, for each record that satisfies the criteria, the dataset management system 150 parallel processes 750 the parsed records to identify results. The dataset management system 150 provides 760 the identified results of the query back to the client device 110); and
when the at least the portion of the second dataset is not regarding the current database query (Sriv, [0111], see the dataset management system 150 successfully validates the query and processes 730 the query to generate results. Specifically, the dataset management system 150 can parse 740 the records of the dataset lineage record that each satisfy a criterion, such as a date range [i.e., where when the criterion is not satisfied corresponds to “not regarding the database query”], provided in the query):
determine second long term storage parameters for the at least the portion of the second dataset (See below);
process the at least the portion of the second dataset in accordance with the second long term storage parameters to produce second long term storage formatted data (Sriv, [0107], see the dataset management system 150 receives 620 new data values. In one embodiment, new data values are included as a part of a new dataset. In some embodiments, new data values are included in an update request for replacing one or more existing data values in the existing dataset. The dataset management system 150 combines 630 the received data values with the existing dataset to generate a combine dataset [i.e., corresponds to “process at least the portion of the dataset”]. For the new data values, the dataset management system 150 extracts 640 attributes of the new data values. Such attributes can be descriptive of the new data values or can uniquely identify the new data values [i.e., interpreted at the “long term storage parameters”]; Note: Applicant has not defined “long term storage parameters” in the claim, e.g., what they are/what they do); and
provide the second long term storage formatted data to the store and compute sub-system of the database system for storage therein (Gupta, Col. 3, lines 18-48, see splitting the storage slab and sending to the various sub storage slabs; and Gupta, Fig. 1).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
– Yeo et al., 2021/0279301 for oblivious RAM with logarithmic overhead;
– Danner et al., 7797621 for altering data during navigation between data cells; and
– Sun et al., 2014/0089331 for integrated analytics on multiple systems.
Point of Contact
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HUBERT G CHEUNG whose telephone number is (571) 270-1396. The examiner can normally be reached M-R 8:00A-5:00P EST; alt. F 8:00A-4:00P 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, Apu Mofiz can be reached at (571) 272-4080. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of 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.
HUBERT G. CHEUNG
Assistant Examiner
Art Unit 2161
Examiner: Hubert Cheung
/Hubert Cheung/Assistant Examiner, Art Unit 2161Date: August 13, 2026
/APU M MOFIZ/Supervisory Patent Examiner, Art Unit 2161