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 .
DETAILED ACTION
This action is issued in response to Application filed July 08, 2025.
Claims 1-22 are pending.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1 and 12 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
In particular, claims 1 and 12 recite adjust “the secondary indexing scheme” within the last limitation of the claims. However, there is no prior mention of an indexing scheme; therefore, the limitation lacks antecedent basis.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Raman (U.S. Patent Application No. 2019/0340273) in view of Li (U.S. Patent Application No. 2021/0209103).
Regarding Claim 1, Raman discloses a sub-system of a database system, wherein the sub-system comprises: a plurality of computing device clusters, wherein a computing device cluster of the plurality of computing device clusters includes a set of computing devices (Fig.1; par [0028-0029], Raman – a set of servers stores a portion of a data set that comprises a collection of records within one or more tables of a database; wherein the servers are organized into server clusters), wherein one or more computing devices of the set of computing devices is operable to:
initiate an analysis of secondary indexes of at least a portion of a dataset, wherein the dataset includes a plurality of rows of data, wherein the plurality of rows of data is partitioned into a plurality of data partitions, wherein a first data partition of the plurality of data partitions includes the first plurality of data segments, wherein a first secondary index of the secondary indexes is associated with a column of data of a first data segment of the first plurality of data segments, and wherein the first secondary index is regarding an access ordering of rows of data of the first data segment (Fig.1; par [0031-0033], Raman – each server stores an index that facilitates access to records stored by the server; wherein each server can expedite access to stored records by utilizing the index. Some application of the data set rely upon the use of the index and analyzing the contents of the index… par [0028-0029], Raman - a set of servers stores a portion of a data set that comprises a collection of records within one or more tables of a database… par [0084], Raman - the data set is organized by a data set layout, such as a row-oriented or column-oriented relational database);
the analysis of the secondary indexes includes: determining secondary indexing efficiency metrics for the secondary indexes, wherein first metrics of the secondary indexing efficiency metrics is regarding efficiency of accessing rows of data of the first data segment in accordance with the first secondary index; comparing the secondary indexing efficiency metrics with respect to a desired threshold of accessing rows of data of the portion of the dataset (par [0044], Raman - An analysis of the applications utilizing the records stored by the second storage server may reveal that the indexing of the storage server exhibits a deficiency-e.g., a query-intensive operation applied to the index servers in the first region from clients within the second region may exhibit poor performance; but that the performance of accessing the records through the second storage server is adequate. The adaptability of the servers for the performance characteristics of the data set and applications may be selectively targeted to the indexing and/or storage capabilities of the set… par [0116], Raman - the performance characteristics may be evaluated, reevaluated, and/or monitored while providing the data set for the application. While the application utilizes the data set indexed by the index server subset, an embodiment may capture a measurement of the performance characteristic for the index server subset, and perform a comparison of the measurement of the performance characteristic with a guarantee for the application); and
when the comparison is unfavorable, adjust the secondary indexing for at least some of the secondary indexes; and based on the adjusted secondary indexing, generate adjusted secondary indexes for the least some of the secondary indexes to produce adjusted secondary indexes for the at least the portion of the dataset (par [0116-0117], Raman - the performance characteristics may be evaluated, reevaluated, and/or monitored while providing the data set for the application. While the application utilizes the data set indexed by the index server subset, an embodiment may capture a measurement of the performance characteristic for the index server subset, and perform a comparison of the measurement of the performance characteristic with a guarantee for the application. Based on the comparison, automatically adjust the index server subset. As a first such example, the comparison may indicate a deficiency between the guarantee and the measurement of the performance characteristic, and the adjustment may involve adding, to the index server subset, a new index replica that is collocated with at least one storage server of the set to raise the performance characteristic toward the guarantee… an option to redistribute the index server subset may be automatically detected (e.g., by evaluating the possible distribution options for the index server subset, estimating or measuring the performance characteristics thereof).
While Raman teaches all of the claimed subject matter above with respect to adjusting indexes; however, Raman is not as detailed with respect to adjusting the indexing scheme.
On the other hand, Li discloses adjusting the indexing scheme and generating an adjust index (par [0036-0037], Li – reindexing data segments based on changes to column data to transition from an index of one index type to an index of another, more-suitable index type based on addition and removal of data in the column and data segments thereof… par [0022-0023], Li – dynamic re-indexing to change between different index types based on the evolution of the data distribution).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate Li’s segment-based indexing into the Raman system. A skilled artisan would have been motivated to combine in order to more accurately identify and adjust processing needs for indexes; thus improving the search efficiency of indexes.
Regarding Claim 2, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the one or more computing devices is further operable to determine the secondary indexing efficiency metrics by:
executing a test query on a set of data segments of the at least the portion of the dataset, wherein the test query includes accessing data of the set of data segments in accordance with a corresponding set of secondary indexes of the secondary indexes; during the execution of the test query, determining data access efficiency of the data of the set of data segments as at least part of determining the secondary indexing efficiency metrics, wherein the set of data segments includes two or more data segments (par [0043-0044], Raman - A query-intensive operation may be conducted by an application that is located in the second region, wherein access to the indices in a location that is proximate to the application may significantly promote the performance of the query-intensive operation… the indexing of the storage server exhibits a deficiency—e.g., a query-intensive operation applied to the index servers in the first region from clients within the second region may exhibit poor performance—but that the performance of accessing the records through the second storage server is adequate).
Regarding Claim 3, the combination of Raman in view of Li, disclose the sub-system of claim 2, wherein the one or more computing devices is further operable to determine the secondary indexing efficiency metrics by: determining data processing efficiency of executing the test query on the data of the set of data segments as at least part of determining the secondary indexing efficiency metrics (par [0043-0044], [0116], Raman).
Regarding Claim 4, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the one or more computing devices is further operable to determine the secondary indexing efficiency metrics by:
executing a series of test queries on a set of data segments of the at least the portion of the dataset, wherein each of the series of test queries includes accessing data of the set of data segments in accordance with a corresponding set of secondary indexes of the secondary indexes; during the execution of the series of test queries, determining data access efficiency of the data of the set of data segments as at least part of determining the secondary indexing efficiency metrics, wherein the set of data segments includes two or more data segments (par [0043-0044], Raman - A query-intensive operation may be conducted by an application that is located in the second region, wherein access to the indices in a location that is proximate to the application may significantly promote the performance of the query-intensive operation… the indexing of the storage server exhibits a deficiency—e.g., a query-intensive operation applied to the index servers in the first region from clients within the second region may exhibit poor performance—but that the performance of accessing the records through the second storage server is adequate).
Regarding Claim 5, the combination of Raman in view of Li, disclose the sub-system of claim 4, wherein the one or more computing devices is further operable to determine the secondary indexing efficiency metrics by: determining data processing efficiency of executing the series of test queries on the data of the set of data segments as at least part of determining the secondary indexing efficiency metrics (par [0043-0044], [0116], Raman).
Regarding Claim 6, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the one or more computing devices is further operable to compare the secondary indexing efficiency metrics with respect to the desired threshold by: identifying a number of inefficient data segments, where an inefficient data segment of the number of inefficient data segments is one in which its rows of data were accessed below the desired threshold; identifying a number of efficient data segments, where an efficient data segment of the number of inefficient data segments is one in which its rows of data were accessed at or above the desired threshold; comparing the number of efficient data segments to the number of inefficient data segments; and determining the comparison to be favorable when the number of efficient data segments exceeds the number of inefficient data segments by a desired margin (par [0116], Raman).
Regarding Claim 7, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the one or more computing devices is further operable to adjust the secondary indexing scheme for at least some of the secondary indexes by:
adjusting the secondary indexing scheme for the number of inefficient data segments (par [0036-0037], Li – reindexing data segments based on changes to column data to transition from an index of one index type to an index of another, more-suitable index type based on addition and removal of data in the column and data segments thereof… par [0116], Raman - Based on the comparison, automatically adjust the index server subset. As a first such example, the comparison may indicate a deficiency between the guarantee and the measurement of the performance characteristic, and the adjustment may involve adding, to the index server subset, a new index replica that is collocated with at least one storage server of the set to raise the performance characteristic toward the guarantee).
Regarding Claim 8, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the first secondary index comprises one or more of:
information regarding a layout of the first data segment of the first plurality of data segments (par [0037], [0084], Raman - the collocation of the record set and the index on a particular server may create interdependencies, such as the physical layout… the data set is organized by a data set layout, such as a row-oriented or column-oriented relational database);
information regarding the column of data of the first data segment that points to rows of the first data segment to be accessed in accordance with the first secondary index; and
information regarding a format of the column of data of the first data segment of the first plurality of data segments.
Regarding Claim 9, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the one or more computing devices is further operable to: store the plurality of rows of data of the at least the portion of the dataset in accordance with a primary index (par [0095], Raman – some index servers may be identified as primary index servers that provide indexing capabilities of the data set).
Claim 10 contains similar subject matter as claim 1 above; and is rejected under the same rationale.
Regarding Claim 11, the combination of Raman in view of Li, disclose the sub-system of claim 1, wherein the one or more computing devices is further operable to:
analyze the adjusted secondary indexes by: determining adjusted secondary indexing efficiency metrics for the adjusted secondary indexes; comparing the adjusted secondary indexing efficiency metrics with respect to the desired threshold of accessing rows of data of the portion of the dataset (par [0044], Raman - An analysis of the applications utilizing the records stored by the second storage server may reveal that the indexing of the storage server exhibits a deficiency-e.g., a query-intensive operation applied to the index servers in the first region from clients within the second region may exhibit poor performance; but that the performance of accessing the records through the second storage server is adequate. The adaptability of the servers for the performance characteristics of the data set and applications may be selectively targeted to the indexing and/or storage capabilities of the set… par [0116], Raman - the performance characteristics may be evaluated, reevaluated, and/or monitored while providing the data set for the application. While the application utilizes the data set indexed by the index server subset, an embodiment may capture a measurement of the performance characteristic for the index server subset, and perform a comparison of the measurement of the performance characteristic with a guarantee for the application); and
when the comparison is unfavorable, re-adjust the adjusted secondary indexing scheme for at least some of the adjusted secondary indexes; and based on the re-adjusted secondary indexing scheme, generate re-adjusted secondary indexes for the least some of the adjusted secondary indexes (par [0116-0117], Raman - the performance characteristics may be evaluated, reevaluated, and/or monitored while providing the data set for the application. While the application utilizes the data set indexed by the index server subset, an embodiment may capture a measurement of the performance characteristic for the index server subset, and perform a comparison of the measurement of the performance characteristic with a guarantee for the application… par [0036-0037], Li – reindexing data segments based on changes to column data to transition from an index of one index type to an index of another, more-suitable index type based on addition and removal of data in the column and data segments thereof… par [0022-0023], Li – dynamic re-indexing to change between different index types based on the evolution of the data distribution).
Claims 12-22 contain similar subject matter as claims 1-11 above; and are rejected under the same rationale.
Points of Contact
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHELCIE L DAYE whose telephone number is (571) 272-3891. The examiner can normally be reached on Monday-Friday 7:30-4:00pm. 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 on 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 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).
Chelcie Daye
Patent Examiner
Technology Center 2100
June 24, 2026
/CHELCIE L DAYE/Primary Examiner, Art Unit 2161