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 in response to the amendments, arguments and remarks, filed on 4/29/2026, in which claim(s) 1-3, 5-7, 10-12 and 14-16 is/are presented for further examination.
Claim(s) 1-3, 5-7, 10-12 and 14-16 has/have been amended.
Claim(s) 4, 8, 9, 13, 17 and 18 has/have been cancelled.
Response to Amendments
Applicant’s amendment to the title has been accepted. The objection to the title as being not descriptive has been withdrawn.
Applicant’s amendment(s) to claim(s) 10 has/have been accepted. The objection(s) to the claim(s) for informalities has/have been withdrawn.
Applicant’s amendment(s) to claim(s) 1 and 10 has/have been accepted. The rejection(s) of the claim(s), under 35 U.S.C. 101, as being directed to non-statutory subject matter, has/have been withdrawn. Consequently, the rejection(s) of claim(s) 2-9 and 11-18, which depend(s) from claim(s) 1 and 10, has/have also been withdrawn.
Applicant’s amendment(s) to claim(s) 1-3, 5-7, 10-12 and 14-16 has/have been accepted.
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-3, 5-7, 10-12 and 14-16, filed on 4/29/2026, have been fully considered but they are not persuasive. Accordingly, this action has been made FINAL.
Applicant's arguments with respect to the rejection(s) of claim(s) 1-18, under 35 U.S.C. 103, see the middle of page 14 of applicant’s remarks, filed on 4/29/2026, have been fully considered but they are not persuasive. Applicant is arguing that the references do not disclose the newly added limitations, please see the updated rejections below.
Claim Objections
Claim 6 is objected to because of the following informalities: in line 2, “operable to” should be corrected to “operable to:” (i.e., add a colon “:” after “to”). Appropriate correction is required.
Claim 15 is objected to because of the following informalities: in line 3, “operable to” should be corrected to “operable to:” (i.e., add a colon “:” after “to”). Appropriate correction is required.
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, 6, 7, 10, 15 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Petropoulos et al., US 2018/0285418 A1 (hereinafter “Petro”) in view of Watari, US 2013/0297646 A1 (hereinafter “Watari”).
Claims 1 and 10
Petro discloses a database system comprises:
a data input sub-system includes a first plurality of computing devices (Petro, Fig. 3, processing cluster 320a), wherein a data input cluster of computing devices of the first plurality of computing devices is operably coupled to organize respective portions of a data set into a plurality of segments (Petro, [0057], see the ingestion processing 442 [i.e., “data input sub-system”] implements partition assignment 530 to determine which partition 540 of not-structured data set 550 to store the data objects 542 [i.e., where the data objects assigned to a corresponding/respective partition are being interpreted as “a plurality of segments”] in … , partition assignment 530 may generate a hash value (e.g., based on a timestamp or other unique value that may be determined for each data object, such as the order in which the data objects are parsed by parser 510), … . Partition assignment 530 may then implement a consistent hashing technique to assign the data objects based on the generated hash value. … The data objects may be stored 506 according to the partition assignment in not-structured data set 550 in data storage service 230. Each partition may be stored as collection of objects, such as buckets for partitions 540 a, 540 b and 540 n storing data object(s) 542 a, 542 b, and 542 n respectively);
a data store, retrieve, and processing (SRP) sub-system includes a second plurality of computing devices (Petro, Fig. 3, processing cluster 320b), wherein a first SRP cluster of computing devices of the second plurality of computing devices is operably coupled to:
store, a first group of segments of the plurality of segments, process, the first group of segments in accordance with a first portion of an optimized query plan to produce a first set of partial results (Petro, Fig. 10, see 1020 “Generate a query execution plan for the query that includes stateless operation(s) to apply the query to the not-structured portion of the data set [i.e., corresponds to “first group of segments of the plurality of segments”]”, 1030 “Initiate performance of the stateless operation(s) at remote query processing engine(s) with respect to not-structured portion as part of executing the query plan” and 1040 “Receive result(s) from the query processing engine(s) [i.e., corresponds to “set of partial results”] for the stateless operation(s)”);
wherein a first computing device of the first SRP cluster of computing devices
wherein the first set of segments is allocated to the first computing device and the first sub-set of segments is allocated to the first node (Petro, [0051], see data ingestion service 270 may implement a control plane 460 and multiple ingestion nodes 440 to ingest data received (e.g., as part of data streams) from different data sources 404 [i.e., where the different data sources/”first set of segments” are sent to different nodes for processing], in some embodiments. Control plane 460 may arbitrate, balance, select, or dispatch work to different ingest node(s) 440, in various embodiments);
process the first segment in accordance with the first portion of the optimized query plan to produce a result component of the first set of partial results (Petro, Fig. 10, see 1020 “Generate a query execution plan for the query that includes stateless operation(s) to apply the query to the not-structured portion of the data set [i.e., corresponds to “first group of segments of the plurality of segments”]”, 1030 “Initiate performance of the stateless operation(s) at remote query processing engine(s) with respect to not-structured portion as part of executing the query plan” and 1040 “Receive result(s) from the query processing engine(s) [i.e., corresponds to “set of partial results”] for the stateless operation(s)”);
wherein a second SRP cluster of computing devices of the second plurality of computing devices is operably coupled to:
store, a second group of segments of the plurality of segments, process, the second group of segments in accordance with the first portion of an optimized query plan to produce a second set of partial results (Petro, Fig. 10, see 1020 “Generate a query execution plan for the query that includes stateless operation(s) to apply the query to the not-structured portion of the data set [i.e., corresponds to “first group of segments of the plurality of segments”]”, 1030 “Initiate performance of the stateless operation(s) at remote query processing engine(s) with respect to not-structured portion as part of executing the query plan” and 1040 “Receive result(s) from the query processing engine(s) [i.e., corresponds to “set of partial results”] for the stateless operation(s)”); and
a query and result (QR) sub-system includes a third plurality of computing devices (Petro, Fig. 3, processing cluster 320n), wherein a QR cluster of computing devices of the third plurality of computing devices is operably coupled to:
generate the optimized query plan in accordance with a query regarding the data set (Petro, [0068], see query planning 712 may implement query optimizer 720 to rewrite the parsed query based on metadata that describes both the local data and remote data; Petro, [0069], see perform query rewrites to optimize execution of portions of the query with respect to remotely stored data; and Petro, Fig. 10, see 1020 “Generate a query execution plan for the query that includes stateless operation(s) to apply the query to the not-structured portion of the data set”);
send the first portion of the optimized query plan to the first and second SRP clusters of computing devices (Petro, Fig. 10, see 1030 “Initiate performance of the stateless operation(s) at remote query processing engine(s) with respect to not-structured portion as part of executing the query plan”, where the portions of the query plan are sent to corresponding clusters);
receive the first and second sets of partial results from the first and second SRP clusters of computing devices (See below); and
generate, in accordance with a second portion of the optimized query plan, a query result at least partially based on the first and second sets of partial results (Petro, Fig. 10, see 1030 “Initiate performance of the stateless operation(s) at remote query processing engine(s) with respect to not-structured portion as part of executing the query plan”, 1040 “Receive result(s) from the query processing engine(s) for the stateless operation(s)” and 1050 “Generate a final result based, at least in part, on the result(s) from the remote query engine(s)”).
Petro does not appear to explicitly disclose concurrently organize respective portions of a data set into a plurality of segments
store, in parallel, a group of segments of the plurality of segments,
process, in parallel, the group of segments
includes a plurality of sets of processing core resources, wherein a first set of processing core resource of the plurality of sets of processing core resources is included in a first node of a plurality of nodes of the computing device, wherein a first processing core resource of the first set of processing core resources is operable to:
store a first segment of a first sub-set of segments of a first set of segments of the first group of segments;
generate a distribution plan regarding the optimized query plan, wherein the distribution plan allocates the first portion of the optimized query plan to the first and second SRP clusters of computing devices for parallel execution.
Watari discloses concurrently organize respective portions of a data set into a plurality of segments (See Watari, Abstract, below where each data source corresponds to a “group of segments” with a “plurality of segments”);
store, in parallel, a group of segments of the plurality of segments, process, in parallel, the group of segments (Watari, Abstract, see system comprising a memory including a plurality of data sources, a plurality of processors, and a pattern matching component executed by at least one processor of the plurality of processors and configured to execute a query execution plan using a first processor of the plurality of processors concurrently [i.e., “parallel] with a second processor of the plurality of processors, wherein the first processor processes a first data source [i.e., corresponds to a “first group of segments”] of the plurality of data sources identified in the query execution plan and the second processor processes a second data source [i.e., corresponds to a “second group of segments”] of the plurality of data sources identified in the query execution plan);
includes a plurality of sets of processing core resources, wherein a first set of processing core resource of the plurality of sets of processing core resources is included in a first node of a plurality of nodes of the computing device (Watari, Fig. 1, see multicore 104 with processors 108, 110 and 112), wherein a first processing core resource of the first set of processing core resources is operable to:
store a first segment of a first sub-set of segments of a first set of segments of the first group of segments (Watari, [0013], see execution plan include instructions for identifying records that meet a condition set [i.e., selecting records that match a condition, which means not all of the records are retrieved only a subset] associated with the data source and retrieving specified information from the records for storage in a buffer accessible by the plurality of processors);
generate a distribution plan regarding the optimized query plan, wherein the distribution plan allocates the first portion of the optimized query plan to the first and second SRP clusters of computing devices for parallel execution (Watari, Fig. 5, see 504 “Assign threads”).
Petro and Watari are analogous art because they are from the same field of endeavor of processing large amounts of data.
It would have been obvious to one of ordinary skill in the art before the effective filing data of the invention, having the teachings of Petro and Watari before him/her, to modify the data processing of Petro to include the parallel processing of Watari because it would quicken processing.
The suggestion/motivation for doing so would have been to increase efficiency over conventional query execution processes, see Watari, [0024].
Therefore, it would have been obvious to combine Watari with Petro to obtain the invention as specified in the instant claim(s).
Claim(s) 10 recite(s) similar limitations to claim 13 and is/are rejected under the same rationale.
With respect to claim 10, Petro discloses a computer readable memory device (Petro, [0096], see system memory 2020) comprises:
a first memory section (Petro, [0096], see system memory 2020) that stores operational instructions that,
a second memory section (Petro, [0096], see system memory 2020) that stores operational instructions that,
a third memory section (Petro, [0096], see system memory 2020) that stores operational instructions that.
Claims 6 and 15
With respect to claims 6 and 15, the combination of Petro and Watari discloses further comprises:
a lead computing device of a lead SRP cluster of computing devices (Petro, [0058], see leader node 610) is operable to
receives the first portion of the optimized query plan from the query and response sub-system (Petro, [0068], see query planning 712 may implement query optimizer 720 to rewrite the parsed query based on metadata that describes both the local data and remote data; Petro, [0069], see perform query rewrites to optimize execution of portions of the query with respect to remotely stored data; and Petro, Fig. 10, see 1020 “Generate a query execution plan for the query that includes stateless operation(s) to apply the query to the not-structured portion of the data set”; and Watari, Fig. 5, see 205 “Read query plan”);
identify the first and second SRP clusters of computing devices based on storing segments of the data set (Petro, [0058], see leader node 610 may implement query planning 612 (discussed in detail below with regard to FIG. 7) to generate query plan(s) and instructions 614 for executing queries on processing cluster 600 that perform tiered data processing); and
send the first portion of the optimized query plan to the first and second SRP clusters of computing devices (Watari, Fig. 5, see 504 “Assign threads”).
Claims 7 and 16
With respect to claims 7 and 16, the combination of Petro and Watari discloses further comprises:
a lead computing device of the first SRP cluster of computing devices (Petro, [0058], see leader node 610) is operable to:
receives the first portion of the optimized query plan from the lead computing device of the lead SRP cluster of computing devices (Petro, [0068], see query planning 712 may implement query optimizer 720 to rewrite the parsed query based on metadata that describes both the local data and remote data; Petro, [0069], see perform query rewrites to optimize execution of portions of the query with respect to remotely stored data; and Petro, Fig. 10, see 1020 “Generate a query execution plan for the query that includes stateless operation(s) to apply the query to the not-structured portion of the data set”; and Watari, Fig. 5, see 205 “Read query plan”); and
send the first portion of the optimized query plan to other computing devices in the first SRP cluster of computing device (Watari, Fig. 5, see 504 “Assign threads”).
Allowable Subject Matter
Claim(s) 2, 3, 5, 11, 12 and 14 is/are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
– Bowman et al., 2019/0129888 for distributed storage grouping;
– Kondiles et al., 2022/0207044 for query execution via virtual segments;
– Stolze et al., 2026/0119495 for generating an optimized join tree for execution of a plurality of join operations via a database system;
– Uppala, 7860865 for a hierarchy of servers for query processing of column chunks;
– Hagerup, 10769126 for data entropy reduction across stream shard;
– Ellis et al., 6360214 for automatic database statistics creation;
– Yu et al., 9229983 for system-wide query optimization;
– Ma et al., CN 120011394 for data processing; and
– Liu et al., CN 106021488 for managing a key-value database.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
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: June 15, 2026
/APU M MOFIZ/Supervisory Patent Examiner, Art Unit 2161