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 .
Status of Claims
Claims 1-9 are pending and rejected in the application.
Claims 1-8 are ineligible:
As to step one, claim 1 recites a query engine and, therefore, is a machine which is a statutory category.
As to step 2A-prong one, claim 1 recites
the chunk merge unit is configured to:
(a) specify, for each of a plurality of chunks to be merged, one or more pages that satisfy a condition under which a page includes key values of different instances, the one or more pages being a part of pages in a B-tree index corresponding to the chunk;
(b) split, for each of the one or more specified pages, the page into a page that includes a maximum value of a key value for an instance and a page that includes a minimum value of a key value for another instance;
(c) sort a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of key values; and
(d) construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted pages. The limitations, as drafted, are a process that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of the generic computer components. The “a database management apparatus”, “a query execution unit”, and “a chunk merge unit”, and “a database” amounts to mere generic computer components. That is other than reciting “a database management apparatus”, “a query execution unit”, and “a chunk merge unit”, and “a database” nothing in the claim element precludes the steps from practically being performed in the mind. Thus, claim 1 is not patentable eligible under 35 U.S.C. 101.
For example, but for the chunk merge unit, “the chunk merge unit is configured to:
specify, for each of a plurality of chunks to be merged, one or more pages that satisfy a condition under which a page includes key values of different instances, the one or more pages being a part of pages in a B-tree index corresponding to the chunk;” encompasses mentally a person specify, for each of a plurality of chunks to be merged, one or more pages that satisfy a condition under which a page includes key values of different instances, the one or more pages being a part of pages in a B-tree index corresponding to the chunk.
For example, but for the chunk merge unit, “(b) split, for each of the one or more specified pages, the page into a page that includes a maximum value of a key value for an instance and a page that includes a minimum value of a key value for another instance;” encompasses mentally a person splitting, for each of the one or more specified pages, the page into a page that includes a maximum value of a key value for an instance and a page that includes a minimum value of a key value for another instance.
For example, but for the chunk merge unit, “(c) sort a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of key values;” encompasses mentally a person sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of key values.
For example, but for the chunk merge unit, “(d) construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted pages.” encompasses mentally a person constructing, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted pages. The mere nominal recitation of a database management apparatus does not take the claim limitations out of the mental processes grouping. If claim limitation(s), under its broadest reasonable interpretation, covers performance of the limitation(s) in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
As to Step 2A-prong two, the judicial exception is not integrated into a practical application. Claim 1 recites
a database management apparatus, comprising a query execution unit and a chunk merge unit, wherein the query execution unit stores, for every import of data to a database, in response to a query of the import, data to be imported in a chunk corresponding to the import, and constructs a B-tree index corresponding to the chunk;
for each chunk, the B-tree index corresponding to the chunk is an index having a tree structure in which a plurality of pages are a plurality of nodes, and includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances;
for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;
Here, “a database management apparatus, comprising a query execution unit and a chunk merge unit, wherein the query execution unit stores, for every import of data to a database, in response to a query of the import, data to be imported in a chunk corresponding to the import, and constructs a B-tree index corresponding to the chunk;” encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)).
Next, “for each chunk, the B-tree index corresponding to the chunk is an index having a tree structure in which a plurality of pages are a plurality of nodes, and includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances;” encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)).
Next, “for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)). Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, the claim is directed to an abstract idea. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, the claim is directed to an abstract idea.
As to step 2B, the claim as a whole does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above, claim 1 additional limitation amounts to no more than mere extra solution activity and generic computer components do not amount to significantly more than the judicial exception because the generic computer components are implementing the limitations in a generic manner. Thus, even when viewed as a whole, nothing in the claim adds significantly more (i.e., an inventive concept) to the abstract idea. Mere chunking and comparing data cannot provide an inventive concept. Thus, claim 1 is not patentable eligible under 35 USC 101.
Under the 2019 PEG, a conclusion that an additional element is insignificant extra-solution activity in Step 2A should be re-evaluated in Step 2B. Here, “a database management apparatus, comprising a query execution unit and a chunk merge unit, wherein the query execution unit stores, for every import of data to a database, in response to a query of the import, data to be imported in a chunk corresponding to the import, and constructs a B-tree index corresponding to the chunk;”,
“for each chunk, the B-tree index corresponding to the chunk is an index having a tree structure in which a plurality of pages are a plurality of nodes, and includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances;”,
and “for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” steps are considered to be extra-solution activity in Step 2A, and thus it is re-evaluated in Step 2B to determine if it is more than what is well-understood, routine, conventional activity in the field. The specification does not provide any indication that the limitations are anything other than extra solution activity.
Here, “a database management apparatus, comprising a query execution unit and a chunk merge unit, wherein the query execution unit stores, for every import of data to a database, in response to a query of the import, data to be imported in a chunk corresponding to the import, and constructs a B-tree index corresponding to the chunk;” is merely data gathering. OIP Techs court decision cited in MPEP 2106.05(d)(II) indicate that mere retrieving data is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
Next, “for each chunk, the B-tree index corresponding to the chunk is an index having a tree structure in which a plurality of pages are a plurality of nodes, and includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances;” is merely data gathering. OIP Techs court decision cited in MPEP 2106.05(d)(II) indicate that mere retrieving data is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
Next, “for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” is merely data gathering. OIP Techs court decision cited in MPEP 2106.05(d)(II) indicate that mere retrieving data is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
Accordingly, a conclusion that the “a database management apparatus, comprising a query execution unit and a chunk merge unit, wherein the query execution unit stores, for every import of data to a database, in response to a query of the import, data to be imported in a chunk corresponding to the import, and constructs a B-tree index corresponding to the chunk;”,
“for each chunk, the B-tree index corresponding to the chunk is an index having a tree structure in which a plurality of pages are a plurality of nodes, and includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances;”,
and “for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” steps are well-understood, routine, conventional activity is supported under Berkheimer Option 2. For these reasons, there is no inventive concept in the claim, and thus it is ineligible.
Next, “The database management apparatus according to claim 1, wherein the chunk merge unit is configured to: specify, for each of the plurality of chunks to be merged, as the one or more pages, one or more leaf pages in which a difference between a maximum value and a minimum value of a key value is equal to or larger than a threshold;” of dependent claim 2 is abstract because the claim encompasses mentally a person specifying, for each of the plurality of chunks to be merged, as the one or more pages, one or more leaf pages in which a difference between a maximum value and a minimum value of a key value is equal to or larger than a threshold.
In addition, “store, for each of the one or more specified leaf pages, a maximum value of a key value in the leaf page;” of dependent claim 2 is abstract because the claim encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)).
Next, “split, for each of the one or more specified leaf pages, the leaf page that satisfies a condition under which the leaf page includes key values of different instances into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and store a maximum value of a key value for each leaf page after splitting;” of dependent claim 2 is abstract because the claim encompasses mentally a person splitting, for each of the one or more specified leaf pages, the leaf page that satisfies a condition under which the leaf page includes key values of different instances into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and store a maximum value of a key value for each leaf page after splitting.
Next, “sort leaf pages including leaf pages obtained by splitting each of the one or more leaf pages;” of dependent claim 2 is abstract because the claim encompasses mentally a person sorting leaf pages including leaf pages obtained by splitting each of the one or more leaf pages.
Further, “create a higher-level page having one or a plurality of tiers for all leaf pages including the sorted leaf pages;” of dependent claim 2 is abstract because the claim encompasses mentally a person creating a higher-level page having one or a plurality of tiers for all leaf pages including the sorted leaf pages.
Further, “construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted leaf pages and the created higher-level page.” of dependent claim 2 is abstract because the claim encompasses mentally a person constructing, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted leaf pages and the created higher-level page. The claim does not recite additional limitations to integrate the abstract idea into a practical application because the claims do not impose any meaningful limits on practicing the abstract idea. The claim is insignificant extra-solution because 2106.05(d) court decision OIP Techs court states retrieving data is extra solution activity. Thus, claim 2 is not patent eligible under 35 USC 101.
Next, “The database management apparatus according to claim 1, wherein the chunk merge unit is configured to: specify, for each of the plurality of chunks to be merged, a higher-level page that satisfies a condition under which the higher-level page includes key values of different instances;” of dependent claim 3 is abstract because the claim encompasses mentally a person specifying, for each of the plurality of chunks to be merged, a higher-level page that satisfies a condition under which the higher-level page includes key values of different instances.
Next, “when the specified higher-level page is a higher-level page that is one level higher than a leaf page, specify a leaf page that satisfies a condition under which a page includes key values of different instances from among leaf pages of the higher-level page, split the specified leaf page into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and set a leaf page pointed by the higher-level page and the split leaf pages as subtrees in units of merge, respectively;” of dependent claim 3 is abstract because the claim encompasses mentally a person determining when the specified higher-level page is a higher-level page that is one level higher than a leaf page, specify a leaf page that satisfies a condition under which a page includes key values of different instances from among leaf pages of the higher-level page, split the specified leaf page into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and set a leaf page pointed by the higher-level page and the split leaf pages as subtrees in units of merge, respectively.
Next, “when the specified higher-level page is not a higher- level page that is one level higher than a leaf page, set a subtree, in which a page pointed by the higher-level page is a vertex, as a subtree in units of merge;” of dependent claim 3 is abstract because the claim encompasses mentally a person determining when the specified higher-level page is not a higher- level page that is one level higher than a leaf page, set a subtree, in which a page pointed by the higher-level page is a vertex, as a subtree in units of merge.
Next, “specify, for each subtree in units of merge, a minimum value and a maximum value of key values;” of dependent claim 3 is abstract because the claim encompasses mentally a person specifying, for each subtree in units of merge, a minimum value and a maximum value of key values.
Next, “sort a plurality of subtrees in units of merge in accordance with magnitudes of key values;” of dependent claim 3 is abstract because the claim encompasses mentally a person sorting a plurality of subtrees in units of merge in accordance with magnitudes of key values.
Next, “create a higher-level page in accordance with the minimum value and the maximum value for each subtree in units of merge; and construct one B-tree index including the sorted subtrees and the created higher-level page as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged.” of dependent claim 3 is abstract because the claim encompasses mentally a person creating a higher-level page in accordance with the minimum value and the maximum value for each subtree in units of merge; and construct one B-tree index including the sorted subtrees and the created higher-level page as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, claim 3 is directed to an abstract idea.
Next, “The database management apparatus according to claim 1, wherein the sorting of leaf pages comprises updating of a link between leaf pages.” of dependent claim 4 is abstract because the claim encompasses mentally a person sorting of leaf pages comprises updating of a link between leaf pages. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, claim 4 is directed to an abstract idea.
Next, “The database management apparatus according to claim 1, wherein the page that satisfies the condition under which the page includes key values of different instances is any of followings: a page where two or more key values with different designated ranges in the key values exist;” of dependent claim 5 is abstract because the claim encompasses mentally a person determining a page where two or more key values with different designated ranges in the key values exist. Next, “and a page where a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold.” of dependent claim 5 is abstract because the claim encompasses mentally a person determining a page where a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, claim 5 is directed to an abstract idea.
Next, “The database management apparatus according to claim 5, wherein the range or the threshold comprises a range or a threshold set from outside.” of dependent claim 6 is abstract because the claim encompasses mentally a person determining the range or the threshold comprises a range or a threshold set from outside. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, claim 6 is directed to an abstract idea.
Next, “The database management apparatus according to claim 1, wherein the chunk merge unit calculates, for each of the plurality of chunks to be merged, a proportion of the number of leaf pages that satisfy a condition under which a page includes key values of different instances to the number of all leaf pages included in a B-tree index corresponding to the chunk, and performs the (b) to (d) when the proportion is smaller than a threshold of the proportion.” of dependent claim 7 is abstract because the claim encompasses mentally a person calculating, for each of the plurality of chunks to be merged, a proportion of the number of leaf pages that satisfy a condition under which a page includes key values of different instances to the number of all leaf pages included in a B-tree index corresponding to the chunk, and performs the (b) to (d) when the proportion is smaller than a threshold of the proportion. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, claim 7 is directed to an abstract idea.
Next, “The database management apparatus according to claim 7, wherein the threshold of the proportion comprises a value set from outside.” of dependent claim 8 is abstract because the claim encompasses mentally a person determining the threshold of the proportion comprises a value set from outside. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, claim 8 is directed to an abstract idea.
Claim 9
As to step one, claim 9 recites a database management and, therefore, is a machine which is a statutory category.
As to step 2A-prong one, claim 9 recites a database management method for causing a computer to execute:
specifying, for each of a plurality of chunks to be merged among a plurality of chunks in a database, one or more pages in which a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold, the one or more pages being a part of pages in a B- tree index corresponding to the chunk,
the method further comprising:
splitting, for each of the one or more specified pages, the page including a maximum value and a minimum value of key values into a page that includes a maximum value of a key value and a page that includes a minimum value of a key value;
sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of a plurality of key values of the plurality of instances; and
constructing one B-tree index including the sorted pages as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged. The limitations, as drafted, are a process that, under its broadest reasonable interpretation, covers performance of the limitations in the mind but for the recitation of the generic computer components. The “a database management apparatus”, “a computer”, and “a database” amounts to mere generic computer components. That is other than reciting “a database management apparatus”, “a computer”, and “a database” nothing in the claim element precludes the steps from practically being performed in the mind. Thus, claim 9 is not patentable eligible under 35 U.S.C. 101.
For example, “specifying, for each of a plurality of chunks to be merged among a plurality of chunks in a database, one or more pages in which a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold, the one or more pages being a part of pages in a B- tree index corresponding to the chunk,” encompasses mentally a person specifying, for each of a plurality of chunks to be merged among a plurality of chunks in a database, one or more pages in which a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold, the one or more pages being a part of pages in a B- tree index corresponding to the chunk.
For example, “splitting, for each of the one or more specified pages, the page including a maximum value and a minimum value of key values into a page that includes a maximum value of a key value and a page that includes a minimum value of a key value;” encompasses mentally a person splitting, for each of the one or more specified pages, the page including a maximum value and a minimum value of key values into a page that includes a maximum value of a key value and a page that includes a minimum value of a key value.
For example, “sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of a plurality of key values of the plurality of instances;” encompasses mentally a person sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of a plurality of key values of the plurality of instances.
For example, “constructing one B-tree index including the sorted pages as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged” encompasses mentally a person constructing one B-tree index including the sorted pages as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged. The mere nominal recitation of a database management apparatus does not take the claim limitations out of the mental processes grouping. If claim limitation(s), under its broadest reasonable interpretation, covers performance of the limitation(s) in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea.
As to Step 2A-prong two, the judicial exception is not integrated into a practical application. Claim 9 recites
wherein, for every import of data to the database, a chunk corresponding to the import has data to be imported and a B-tree index corresponding to the chunk,
wherein, for each chunk, the B-tree index corresponding to the chunk includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances,
wherein, in each instance, a key value corresponding to the instance is a value that becomes larger as a time point at which the key value is obtained for the instance is later, for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;
Here, “wherein, for every import of data to the database, a chunk corresponding to the import has data to be imported and a B-tree index corresponding to the chunk” encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)).
Next, “wherein, for each chunk, the B-tree index corresponding to the chunk includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances,” encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)).
Next, “wherein, in each instance, a key value corresponding to the instance is a value that becomes larger as a time point at which the key value is obtained for the instance is later, for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” encompasses insignificant extra-solution activity and amounts to mere data gathering (see MPEP 2106.05(g)). Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, the claim is directed to an abstract idea. Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. Thus, the claim is directed to an abstract idea.
As to step 2B, the claim as a whole does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above, claim 9 additional limitation amounts to no more than mere extra solution activity and generic computer components do not amount to significantly more than the judicial exception because the generic computer components are implementing the limitations in a generic manner. Thus, even when viewed as a whole, nothing in the claim adds significantly more (i.e., an inventive concept) to the abstract idea. Mere chunking and comparing data cannot provide an inventive concept. Thus, claim 9 is not patentable eligible under 35 USC 101.
Under the 2019 PEG, a conclusion that an additional element is insignificant extra-solution activity in Step 2A should be re-evaluated in Step 2B. Here, “wherein, for every import of data to the database, a chunk corresponding to the import has data to be imported and a B-tree index corresponding to the chunk,”
“wherein, for each chunk, the B-tree index corresponding to the chunk includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances,”
and “wherein, in each instance, a key value corresponding to the instance is a value that becomes larger as a time point at which the key value is obtained for the instance is later, for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” steps are considered to be extra-solution activity in Step 2A, and thus it is re-evaluated in Step 2B to determine if it is more than what is well-understood, routine, conventional activity in the field. The specification does not provide any indication that the limitations are anything other than extra solution activity.
Here, “wherein, for every import of data to the database, a chunk corresponding to the import has data to be imported and a B-tree index corresponding to the chunk,” is merely data gathering. OIP Techs court decision cited in MPEP 2106.05(d)(II) indicate that mere retrieving data is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
Next, “wherein, for each chunk, the B-tree index corresponding to the chunk includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances,” is merely data gathering. OIP Techs court decision cited in MPEP 2106.05(d)(II) indicate that mere retrieving data is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
Next, “wherein, in each instance, a key value corresponding to the instance is a value that becomes larger as a time point at which the key value is obtained for the instance is later, for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” is merely data gathering. OIP Techs court decision cited in MPEP 2106.05(d)(II) indicate that mere retrieving data is a well-understood, routine, and conventional function when it is claimed in a merely generic manner (as it is here).
Accordingly, a conclusion that the “wherein, for every import of data to the database, a chunk corresponding to the import has data to be imported and a B-tree index corresponding to the chunk,”
“wherein, for each chunk, the B-tree index corresponding to the chunk includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances,”
and “wherein, in each instance, a key value corresponding to the instance is a value that becomes larger as a time point at which the key value is obtained for the instance is later, for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later;” steps are well-understood, routine, conventional activity is supported under Berkheimer Option 2. For these reasons, there is no inventive concept in the claim, and thus it is ineligible.
Software Per Se Rejection
Claim 1 is rejected under 35 U.S.C. 101 because the claims fail to place the invention squarely within on statutory class of invention. The claim does not claim any hardware and is considered software. The specification, paragraph[0046], states the units describes in the claim are computer programs. As such, the claims are drawn to something other than a process, machine, manufacture, or composition of matter. The examiner recommends amending the claim and adding a processor and memory to execute instructions store in the memory to implement the software components in the body of claim 1.
The dependent claims 2-8, which depend upon claim 1, are software per se claims because the claims recite software elements without structure. Thus, claims 1-8 are rejected under 35 U.S.C. 101 because the claims fail to place the invention squarely within on statutory class of invention.
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 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 2, and 4-8 are rejected under 35 U.S.C. 103 as being unpatentable over Barzilli U.S. Patent (2017/0242880; hereinafter: Barzilli) in view of Kwiatkowski U.S. Patent Publication (2025/0165533; hereinafter: Kwiatkowski) and Dragojevic et al. U.S. Patent Publication (2024/0241873; hereinafter: Dragojevic)
Claim 1
As to claim 1, Barzilli discloses a database management apparatus, comprising a query execution unit and a chunk merge unit, wherein
the query execution unit stores, for every import of data to a database, in response to a query of the import, data to be imported in a chunk corresponding to the import, and constructs a B-tree index corresponding to the chunk (paragraph[0008], the reference describes gathering data into an B-tree index in chunks.);
for each chunk, the B-tree index corresponding to the chunk is an index having a tree structure in which a plurality of pages are a plurality of nodes, and includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances (paragraph[0008]-paragraph[0009], the reference describes have maximum threshold each index based key value.);
for each instance, a key value corresponding to the instance is a value that becomes larger as a time point, at which the key value is obtained for the instance, is later(paragraph[0116]], the reference describes the system using the threshold to determine the key value page size increased.);
Barzilli does not appear to explicitly disclose the chunk merge unit is configured to:
(a) specify, for each of a plurality of chunks to be merged, one or more pages that satisfy a condition under which a page includes key values of different instances, the one or more pages being a part of pages in a B-tree index corresponding to the chunk;
(b) split, for each of the one or more specified pages, the page into a page that includes a maximum value of a key value for an instance and a page that includes a minimum value of a key value for another instance;
(c) sort a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of key values; and
(d) construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted pages.
However, Kwiatkowski discloses the chunk merge unit is configured to:
(a) specify, for each of a plurality of chunks to be merged, one or more pages that satisfy a condition under which a page includes key values of different instances, the one or more pages being a part of pages in a B-tree index corresponding to the chunk (paragraph[059], the reference describes using chunk merging based on a threshold condition.);
(b) split, for each of the one or more specified pages, the page into a page that includes a maximum value of a key value for an instance and a page that includes a minimum value of a key value for another instance (paragraph[0043], the reference describes splitting chunks based on a size threshold.). It would have been obvious to one of ordinary skill in the art before the effective filing data of the claimed invention to a person having ordinary skill in the art to which said subject matter pertains to have modified the teachings of Barzilli with the teachings of Kwiatkowski to chunk and split data which would result in the claim invention. The skilled artisan would have been motivated to improve the teachings of Barzilli with the teachings of Kwiatkowski to efficiently improve the technique for storing B-Tree indexes with grouped index leaf pages (Barzilli: paragraph[0014]).
The combination of Barzilli and Kwiatkowski does not appear to explicitly disclose
(c) sort a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of key values; and
(d) construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted pages.
However, Dragojevic discloses (c) sort a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of key values (paragraph[0062], the reference describes sorting by splitting the nodes when a threshold is reached.); and
(d) construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted pages (paragraph[0062] and paragraph[0066], the reference describes creating an index with the sorted data.). It would have been obvious to one of ordinary skill in the art before the effective filing data of the claimed invention to a person having ordinary skill in the art to which said subject matter pertains to have modified the teachings of Barzilli with the teachings of Kwiatkowski and Dragojevic to sort data which would result in the claim invention. The skilled artisan would have been motivated to improve the teachings of Barzilli Kwiatkowski with the teachings of Kwiatkowski and Dragojevic to efficiently balance workload between the writer and reader of a system (Dragojevic: paragraph[0003]).
Claim 2
As to claim 2, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 1, as noted above, and Kwiatkowski further disclose wherein the chunk merge unit is configured to:
specify, for each of the plurality of chunks to be merged, as the one or more pages, one or more leaf pages in which a difference between a maximum value and a minimum value of a key value is equal to or larger than a threshold (paragraph[0059], the reference describes merging based on a threshold.);
store, for each of the one or more specified leaf pages, a maximum value of a key value in the leaf page (paragraph[0052], the reference describes using the maximum value of page.);
split, for each of the one or more specified leaf pages, the leaf page that satisfies a condition under which the leaf page includes key values of different instances into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and store a maximum value of a key value for each leaf page after splitting (paragraph[0064], the reference describes using a splitting technique.);
Dragojevic further disclose sort leaf pages including leaf pages obtained by splitting each of the one or more leaf pages(paragraph[0062], the reference describes sorting by splitting the nodes when a threshold is reached.);
create a higher-level page having one or a plurality of tiers for all leaf pages including the sorted leaf pages (paragraph[0063], the reference describes indexing and creating different nodes (i.e., leaf pages, as claimed) in a sort order.); and
construct, as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged, one B-tree index including the sorted leaf pages and the created higher-level page(paragraph[0062] and paragraph[0066], the reference describes creating an index with the sorted data.).
Claim 4
As to claim 4, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 1, as noted above, and Dragojevic further disclose wherein the sorting of leaf pages comprises updating of a link between leaf pages (paragraph[0063], the reference describes sorting node data.).
Claim 5
As to claim 5, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 1, as noted above, and Dragojevic further disclose wherein the page that satisfies the condition under which the page includes key values of different instances is any of followings:
a page where two or more key values with different designated ranges in the key values exist(paragraph[0008]-paragraph[0009], the reference describes determining the pages and different key values.); and
a page where a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold(paragraph[0008]-paragraph[0009], the reference describes have maximum threshold each index based key value.).
Claim 6
As to claim 6, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 5, as noted above, and Dragojevic further disclose wherein the range or the threshold comprises a range or a threshold set from outside(paragraph[0008]-paragraph[0009], the reference describes have maximum threshold each index based key value.).
Claim 7
As to claim 7, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 1, as noted above, and Barzilli further disclose wherein the chunk merge unit calculates, for each of the plurality of chunks to be merged, a proportion of the number of leaf pages that satisfy a condition under which a page includes key values of different instances to the number of all leaf pages included in a B-tree index corresponding to the chunk, and performs the (b) to (d) when the proportion is smaller than a threshold of the proportion (paragraph[0109]-paragraph[0110], the reference describes merging data based on conditions.).
Claim 8
As to claim 8, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 7, as noted above, and Barzilli further disclose wherein the threshold of the proportion comprises a value set from outside(paragraph[0109]-paragraph[0110], the reference describes merging data based on conditions.).
Claim 9
As to claim 9, Barzilli discloses a database management method for causing a computer to execute:
specifying, for each of a plurality of chunks to be merged among a plurality of chunks in a database, one or more pages in which a difference between a maximum value and a minimum value of key values is equal to or larger than a threshold, the one or more pages being a part of pages in a B- tree index corresponding to the chunk (paragraph[0009]-paragraph[0010], the reference describes chunking based on maximum and minimum values.),
wherein, for every import of data to the database, a chunk corresponding to the import has data to be imported and a B-tree index corresponding to the chunk(paragraph[0008]-paragraph[0009], the reference describes have maximum threshold each index based key value.),
wherein, for each chunk, the B-tree index corresponding to the chunk includes one or a plurality of key values as one or a plurality of values for each of a plurality of instances(paragraph[0116]], the reference describes the system using the threshold to determine the key value page size increased.),
wherein, in each instance, a key value corresponding to the instance is a value that becomes larger as a time point at which the key value is obtained for the instance is later(paragraph[0116]], the reference describes the system using the threshold to determine the key value page size increased.),
Barzilli does not appear to explicitly disclose the method further comprising:
splitting, for each of the one or more specified pages, the page including a maximum value and a minimum value of key values into a page that includes a maximum value of a key value and a page that includes a minimum value of a key value;
sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of a plurality of key values of the plurality of instances; and
constructing one B-tree index including the sorted pages as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged.
However, Kwiatkowski discloses the method further comprising:
splitting, for each of the one or more specified pages, the page including a maximum value and a minimum value of key values into a page that includes a maximum value of a key value and a page that includes a minimum value of a key value(paragraph[0043], the reference describes splitting chunks based on a size threshold.). It would have been obvious to one of ordinary skill in the art before the effective filing data of the claimed invention to a person having ordinary skill in the art to which said subject matter pertains to have modified the teachings of Barzilli with the teachings of Kwiatkowski to chunk and split data which would result in the claim invention. The skilled artisan would have been motivated to improve the teachings of Barzilli with the teachings of Kwiatkowski to efficiently improve the technique for storing B-Tree indexes with grouped index leaf pages (Barzilli: paragraph[0014]).
The combination of Barzilli and Kwiatkowski does not appear to explicitly disclose sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of a plurality of key values of the plurality of instances; and
constructing one B-tree index including the sorted pages as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged.
However, Dragojevic discloses sorting a plurality of pages including pages obtained by splitting each of the one or more pages in accordance with magnitudes of a plurality of key values of the plurality of instances(paragraph[0062], the reference describes sorting by splitting the nodes when a threshold is reached.); and
constructing one B-tree index including the sorted pages as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged(paragraph[0062] and paragraph[0066], the reference describes creating an index with the sorted data.). It would have been obvious to one of ordinary skill in the art before the effective filing data of the claimed invention to a person having ordinary skill in the art to which said subject matter pertains to have modified the teachings of Barzilli with the teachings of Kwiatkowski and Dragojevic to sort data which would result in the claim invention. The skilled artisan would have been motivated to improve the teachings of Barzilli Kwiatkowski with the teachings of Kwiatkowski and Dragojevic to efficiently balance workload between the writer and reader of a system (Dragojevic: paragraph[0003]).
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Barzilli U.S. Patent (2017/0242880; hereinafter: Barzilli) in view of Kwiatkowski U.S. Patent Publication (2025/0165533; hereinafter: Kwiatkowski) and Dragojevic et al. U.S. Patent Publication (2024/0241873; hereinafter: Dragojevic) and further in view of Shatsky et al. U.S. Patent Publication (2024/0020236; hereinafter: Shatsky)
Claim 3
As to claim 3, the combination of Barzilli, Kwiatkowski, and Dragojevic discloses all the elements in claim 1, as noted above, but do not appear to explicitly disclose wherein the chunk merge unit is configured to:
specify, for each of the plurality of chunks to be merged, a higher-level page that satisfies a condition under which the higher-level page includes key values of different instances;
when the specified higher-level page is a higher-level page that is one level higher than a leaf page, specify a leaf page that satisfies a condition under which a page includes key values of different instances from among leaf pages of the higher-level page, split the specified leaf page into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and set a leaf page pointed by the higher-level page and the split leaf pages as subtrees in units of merge, respectively;
when the specified higher-level page is not a higher- level page that is one level higher than a leaf page, set a subtree, in which a page pointed by the higher-level page is a vertex, as a subtree in units of merge;
specify, for each subtree in units of merge, a minimum value and a maximum value of key values; sort a plurality of subtrees in units of merge in accordance with magnitudes of key values;
create a higher-level page in accordance with the minimum value and the maximum value for each subtree in units of merge; and
construct one B-tree index including the sorted subtrees and the created higher-level page as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged.
However, Shatsky disclose wherein the chunk merge unit is configured to:
specify, for each of the plurality of chunks to be merged, a higher-level page that satisfies a condition under which the higher-level page includes key values of different instances (paragraph[0057], the reference describes selecting levels based on size.);
when the specified higher-level page is a higher-level page that is one level higher than a leaf page, specify a leaf page that satisfies a condition under which a page includes key values of different instances from among leaf pages of the higher-level page, split the specified leaf page into a leaf page that includes a maximum value of a key value for an instance and a leaf page that includes a minimum value of a key value for another instance, and set a leaf page pointed by the higher-level page and the split leaf pages as subtrees in units of merge, respectively (paragraph[0079]-paragraph[0080], the reference describes merging based on the level of the pages.);
when the specified higher-level page is not a higher- level page that is one level higher than a leaf page, set a subtree, in which a page pointed by the higher-level page is a vertex, as a subtree in units of merge (paragraph[0080]-paragraph[0081], the reference describes sub-chunking a tree.);
specify, for each subtree in units of merge, a minimum value and a maximum value of key values (paragraph[0080]-paragraph[0081], the reference describes using key value to merge data.);
sort a plurality of subtrees in units of merge in accordance with magnitudes of key values (paragraph[0053], the reference describes sorting the data.);
create a higher-level page in accordance with the minimum value and the maximum value for each subtree in units of merge(paragraph[0053]-paragraph[0054], the reference describes sorting the data and creating different merge levels.); and
construct one B-tree index including the sorted subtrees and the created higher-level page as a B-tree index after merge of a plurality of B-tree indexes corresponding to the plurality of chunks to be merged(paragraph[0053]-paragraph[0054], the reference describes sorting the data and creating different merge levels.). It would have been obvious to one of ordinary skill in the art before the effective filing data of the claimed invention to a person having ordinary skill in the art to which said subject matter pertains to have modified the teachings of Barzilli with the teachings of Kwiatkowski, Dragojevic, and Shatsky to adjust different levels of node data which would result in the claim invention. The skilled artisan would have been motivated to improve the teachings of Barzilli with the teachings of Kwiatkowski, Dragojevic, and Shatsky to efficiently run metadata management (Shatsky: paragraph[0002]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DAWAUNE A CONYERS whose telephone number is (571)270-3552. The examiner can normally be reached on M-F 8:00am-4:30pm EST. EST.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Neveen Abel-Jalil can be reached on (571) 270-0474. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/DAWAUNE A CONYERS/Primary Examiner, Art Unit 2159
/DAWAUNE A CONYERS/Primary Examiner, Art Unit 2152 February 24, 2024