Prosecution Insights
Last updated: October 01, 2026
Application No. 18/778,478

METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR PROVIDING AND USING SHUFFLE TEMPLATES TO DISTRIBUTE DATA AMONG WORKERS COMPRISING COMPUTE RESOURCES IN A DATA CENTER

Non-Final OA §101§103
Filed
Jul 19, 2024
Priority
Jul 20, 2023 — provisional 63/528,011
Examiner
AMIN, MUSTAFA A
Art Unit
Tech Center
Assignee
William Marsh Rice University
OA Round
1 (Non-Final)
64%
Grant Probability
Moderate
1-2
OA Rounds
1y 5m
Est. Remaining
94%
With Interview

Examiner Intelligence

Grants 64% of resolved cases
64%
Career Allowance Rate
298 granted / 465 resolved
+4.1% vs TC avg
Strong +30% interview lift
Without
With
+29.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
17 currently pending
Career history
479
Total Applications
across all art units

Statute-Specific Performance

§101
17.9%
-22.1% vs TC avg
§103
51.4%
+11.4% vs TC avg
§102
15.0%
-25.0% vs TC avg
§112
11.0%
-29.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 465 resolved cases

Office Action

§101 §103
Detailed Action This application was filed on 07/19/2024 which claims benefit provisional application no. 63/528011 filed on 07/20/2023. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 1-24 are pending. Claims 1-24 are rejected. Information Disclosure Statement The information disclosure statement filed on 04/20/2025 does not fully comply with the requirements of 37 CFR 1.98(b) because the at least one of the listed publications identified as “non-patent literature documents” fails to identify and/or incorrectly identifies at least one of the following, as required in 37 CFR 1.98(b)(5): 1. publisher; 2. author (if any); 3. title; 4. relevant pages of the publication; 5. publication date; and 6. place of publication. More specifically, various NPL listings fail to include page number and/or total number of pages. It has been placed in the application file, but the information referred to therein has not been considered. Drawings The drawings submitted on 07/19/2024 are accepted. Specification The use of the term “spark” and “Pregel”, which is a trade name or a mark used in commerce, has been noted in this application. The term should be accompanied by the generic terminology; furthermore the term should be capitalized wherever it appears or, where appropriate, include a proper symbol indicating use in commerce such as ™, SM , or ® following the term. Although the use of trade names and marks used in commerce (i.e., trademarks, service marks, certification marks, and collective marks) are permissible in patent applications, the proprietary nature of the marks should be respected and every effort made to prevent their use in any manner which might adversely affect their validity as commercial marks. CLAIM INTERPRETATION The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked. As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph: (A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; (B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and (C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: shuffle manager configured for: providing… receiving… identifying… selecting… providing…” (claim 12), “workers configured for using…” (claims 12, 19, 20). Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. See at least figure 2, and paragraphs 0048-0049, and 0064. If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1 is rejected under 35 U.S.C. 101 as being directed to abstract idea without significantly more. Representative claim 1 is directed to a method for providing shuffle templates and using the shuffle templates to implement shuffling of data among workers comprising compute resources in a data center, the method comprising: providing, by a shuffle manager, an application programming interface (API) through which applications can select shuffle templates and specify data to be processed by the workers in the data center using the shuffle templates to distribute the data as messages transmitted among the workers; receiving, by the shuffle manager and via the API, a call for a shuffle template, the call including a shuffle template identifier for one of the shuffle templates and source and destination identifiers respectively identifying sources and destinations of data to be processed by the workers; selecting, by the shuffle manager, the shuffle template identified by the call for the shuffle template; providing, by the shuffle manager, the shuffle template to the workers; and at the workers, using the shuffle template to generate a shuffle plan and using the shuffle plan to shuffle the messages among the workers between the sources and the destinations. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, mental processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper (see, October 2019 Patent Eligibility Guidance Update, 84 Fed. Reg. 55,942, hereinafter “PEG”). Certain Methods Of Organizing Human Activity fundamental economic principles or practices (including hedging, insurance, mitigating risk), commercial or legal interactions (including agreements in the form of contracts; legal obligations; advertising, marketing or sales activities or behaviors; business relations), managing personal behavior or relationships or interactions between people (including social activities, teaching, and following rules or instructions) For instance, humans can mentally and/or via aid of pen/paper perform various method of organizing human activity including a method for using the shuffle templates to implement shuffling of data among workers comprising… , the method comprising: mentally and/or via pen/paper select shuffle templates and specify data to be processed by the workers in the data center using the shuffle templates to distribute the data as messages… mentally and/or pen/paper selecting the shuffle template identified by the call for the shuffle template; and at the workers, using the shuffle template to mentally and/or via pan paper generate a shuffle plan and using the shuffle plan to shuffle the messages (e.g. interactions between people) among the workers between the sources and the destinations. . Per prong 2, Step 2A, the additional non-emphasized elements as noted above, are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception; are merely adding words “apply it” (or an equivalent) with the judicial exception/mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea; Generally linking the use of the judicial exception to a particular technological environment or field of use - see MPEP 2106.05(d, f, g, h). For instance, “providing shuffle templates” are mere data gathering/insignificant extra-solution activity to the judicial exception, see MPEP 2106.05(g) “compute resources in a data center” are merely adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f, h) “providing, by a shuffle manager, an application programming interface (API) through which applications can…” are merely adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f, h) “receiving, by the shuffle manager and via the API, a call for a shuffle template, the call including a shuffle template identifier for one of the shuffle templates and source and destination identifiers respectively identifying sources and destinations of data to be processed by the workers” are mere data gathering/insignificant extra-solution activity to the judicial exception, see MPEP 2106.05(g) “providing, by the shuffle manager, the shuffle template to the workers” - are mere data gathering/insignificant extra-solution activity to the judicial exception, see MPEP 2106.05(g) Additionally, the recited claim limitations do not improve the functionality of the electronic device or achieve improved technical results and does not sufficiently tie any limitations or combination of limitations to any improvement (if any) to the functionality of the electronic device or achieving improved technical results. Per Step 2B, the additional non-emphasized elements as noted above, are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception; are merely adding words “apply it” (or an equivalent) with the judicial exception/mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea; Generally linking the use of the judicial exception to a particular technological environment or field of use - see MPEP 2106.05(d, f, g, h). . For instance, “providing shuffle templates” are mere data gathering/insignificant extra-solution activity to the judicial exception, see MPEP 2106.05(g) “compute resources in a data center” are merely adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f, h) “providing, by a shuffle manager, an application programming interface (API) through which applications can…” are merely adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f, h) “receiving, by the shuffle manager and via the API, a call for a shuffle template, the call including a shuffle template identifier for one of the shuffle templates and source and destination identifiers respectively identifying sources and destinations of data to be processed by the workers” are mere data gathering/insignificant extra-solution activity to the judicial exception, see MPEP 2106.05(g) “providing, by the shuffle manager, the shuffle template to the workers” - are mere data gathering/insignificant extra-solution activity to the judicial exception, see MPEP 2106.05(g) Additionally, the recited claim limitations do not improve the functionality of the electronic device or achieve improved technical results and do not sufficiently tie any limitations or combination of limitations to any improvement (if any) to the functionality of the electronic device or achieving improved technical results. Accordingly, claim 1 is rejected under 35 U.S.C. 101 as being directed to an abstract idea without significantly more. Independent claims 12, and 23 are system and medium claims corresponding to method claim 1 and are of substantially same scope. Accordingly, claims 12 and 23 are rejected under the same rational as set forth for claim 1. Dependent claims 2-11 when considered individually or in combination per steps as noted above are rejected under the same rational as set forth above for claim1 , and the recited claim limitations do not improve the functionality of the electronic device or achieve improved technical results. In particular, As per claim 2, the rejection of claim 1 further incorporated, further recites wherein providing the API includes providing a shuffle call API through which applications can specify a worker identifier, a template identifier, the shuffle template identifier, a shuffle invocation identifier, the source and destination identifiers, and buffers for sent or received data. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 3, the rejection of claim 1 further incorporated, further recites wherein the shuffle template includes parameters for the workers to process and transfer the data. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 4, the rejection of claim 3 further incorporated, further recites wherein the parameters define shuffle operations to perform on the data. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 5, the rejection of claim 4 further incorporated, further recites wherein the parameters include a send parameter for sending a message to a destination, a receive parameter for returning data received from a source, and a fetch parameter for returning data fetched from a source. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 6, the rejection of claim 4 further incorporated, further recites wherein the parameters include a partition parameter for partitioning messages according to a partition function and a combine parameter for combining message according to a combination function Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 7, the rejection of claim 1 further incorporated, further recites wherein the parameters include a sample function for sampling messages based on a rate and partition function. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 8, the rejection of claim 7 further incorporated, further recites comprising using the sample function to perform partition-aware sampling of the messages processed by different groups of workers in the data center. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 9, the rejection of claim 1 further incorporated, further recites comprising using results of the sampling to evaluate shuffle performance. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 10, the rejection of claim 1 further incorporated, further recites wherein the call for the shuffle template comprises a remote procedure call (RPC). Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claim 11, the rejection of claim 1 further incorporated, further recites wherein the shuffle template is configured to control the workers to shuffle the messages at a server level, then at a rack level, and a global level. Per prong 1, Step 2A, the above emphasized element/concepts are not meaningfully different than those concepts found by the courts to be abstract, namely, Mental Processes including concepts performed in the human mind (including an observation, evaluation, judgment, opinion) and/or humans using pen and paper. Per prong 2, Step 2A and 2B, the additional elements (e.g. non-emphasized elements) are mere data gathering/sending steps/insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g) and/or are merely adding words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(d, f, g, h). As per claims 13-22, and 24: Claims 13-22, and 24 are system and medium claims corresponding method claims 2-11 and are of substantially same scope. Accordingly, claims 13-22, and 24 are rejected under the same rational as set forth for claims 2-11. Examiner Notes Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. 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 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. 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. Claims 1-10, 12-21, and 23-24 are rejected under 35 U.S.C. 103 as being unpatentable over Breeden et al. (US 11886440 B1, referred hereinafter as D1) in view of Mashayekhi et al. (“Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics”, 2017, pages 513-526, cited on IDS filed on 04/20/2025, referred hereinafter as D2). As per claim 1, D1 discloses, A method for providing shuffle templates and using the shuffle templates to implement shuffling of data among workers comprising compute resources in a data center, the method comprising, (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and using the shuffle templates to implement shuffling (send/receive) of data among workers/sources/destinations comprising compute resources in a data center, the method comprising). providing, by a shuffle manager, an application programming interface (API) through which applications can select shuffle templates, (D1, fig 42 and 60, col 19 lines 13-15, col. 145 lines 54-61, col. 152 lines 55-56, discloses data may be ingested at the data intake and query system 108 through an intake system(shuffle manager) 210 configured to conduct preliminary processing on the data, and make the data available to downstream systems or components, such as the indexing system 212, query system 214, third party systems… Communications between the GUI pipeline creator 3420 and the intake system 210 can occur via a representational state transfer (“REST”) request in some implementations (e.g. API). The REST API can enable communication between a client (e.g., the GUI pipeline creator 3420) and a server-based system (e.g., the intake system 210) that employs REST constraints… At stage 2, the user can select a processing pipeline template (select a shuffle template) from the stage 2 region 4220 of the interface 4220.)). and specify data to be processed by the workers in the data center using the shuffle templates to distribute the data as messages transmitted among the workers, (D1, col 152, lines 24-65, In the first stage 4210, the user can specify one or more data sources and one or more data destinations that will receive data from those sources.) receiving, by the shuffle manager and via the API, a call for a shuffle template, the call including a shuffle template identifier for one of the shuffle templates, (D1, Page 160 col 152 lines 55-56, At stage 2, the user can select a processing pipeline template from stage 2 region 4220 of the interface 4220.) and source and destination identifiers respectively identifying sources and destinations of data to be processed by the workers, (D1, col 152, lines 24-65, In the first stage 4210, the user can specify one or more data sources and one or more data destinations that will receive data from those sources.). selecting, by the shuffle manager, the shuffle template identified by the call for the shuffle template, (D1, Page 160 col 152 lines 55-56, At stage 2, the user can select a processing pipeline template from stage 2 region 4220 of the interface 4220.) D1 fails to expressly disclose - providing, by the shuffle manager, the shuffle template to the workers; and at the workers, using the shuffle template to generate a shuffle plan and using the shuffle plan to shuffle the messages among the workers between the sources and the destinations. However, D2 discloses selecting, by the shuffle manager, the shuffle template identified by the call for the shuffle template; (D2, Pg 515, col 2, paragraph 2, disclose a controller (shuffle manager) that checks if tasks (shuffle template identifier) match the existing templates and then uses that template and passes parameters to worker to be inserted/incorporated into the worker template), providing, by the shuffle manager, the shuffle template to the workers, (D2, page 515, col 2 paragraph 2 discloses that the controller (shuffle manager) instantiates/provides the worker templates in the workers), and at the workers, using the shuffle template to generate a shuffle plan (D2, page 515, col. 2, paragraph 2, lines 13-15, discloses a driver program instantiates a controller template which then makes a copy and fills in the passed in parameters, Page. 515 col 2 lines 4-12, page 518, section 4.2, discloses that the worker template is instantiated with the parameters from the controller template and patched at the worker (e.g. generate a plan from the template)) and using the shuffle plan to shuffle the messages among the workers between the sources and the destinations, (D2, Pages 516-517, sections 3.1, 3.2, 3.4 discloses the application tasks using the templates are sent to the workers where and the task commands tell the workers to execute the application function(e.g. shuffle messages)). Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include the teachings of D2 as noted above. This would been obvious with predicable results of providing fine-grained scheduling flexibility of centralized control planes while matching the strong scaling of distributed ones as disclosed by D2 (page 513, abstract). As per claim 2, the rejection of claim 1 further incorporated, D1 discloses, wherein providing the API includes providing a shuffle call API through which applications can specify, a worker identifier, a template identifier, the shuffle template identifier , a shuffle invocation identifier, the source and destination identifiers, and buffers for sent or received data (D1, fig 35A, 42 and 60, col 19 lines 13-15, col. 141 lines 9-col. 142 lines 1-6; col. 145 lines 54-61, col. 152 lines 55-56, discloses an intake system(shuffle manager) 210 configured to conduct preliminary processing on the data,… Communications between the GUI pipeline creator 3420 and the intake system 210 can occur via a representational state transfer (“REST”) request in some implementations (e.g. API). The REST API can enable communication between a client (e.g., the GUI pipeline creator 3420) and a server-based system (e.g., the intake system 210) that employs REST constraints… At stage 2, the user can select a processing pipeline template (select a shuffle template) from the stage 2 region 4220 of the interface 4220.)…which reads on providing the API includes providing a shuffle call API through which applications can specify, a worker identifier (e.g. see fig. 35A specified nodes), a template identifier (e.g. user selected template), the shuffle template identifier (e.g. template identifier provided for user selection), a shuffle invocation identifier (e.g. one more template identifier provided for user selection as show in figure 42), the source and destination identifiers (e.g. source and destination for message transfer), and buffers for sent or received data (e.g. write index as shown figure 35A). Furthermore, the examiner notes that the above specified, a worker identifier, a template identifier, the shuffle template identifier , a shuffle invocation identifier, the source and destination identifiers, and buffers for sent or received data can also be fairly construed merely non-functional descriptive material (e.g. merely data) because as matter fact the above parameters are not positively used to control flow/operation of the claimed method/system, and as such D1 and D2 discloses the above data by virtue of having template having plurality of task, parameters, and/or functions.) As per claim 3, the rejection of claim 1 further incorporated, D1 discloses, wherein the shuffle template includes parameters for the workers to process and transfer the data, (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination. Additionally, D2, section 2.1-2.2 also discloses shuffle template includes parameters for the workers to process and transfer the data). As per claim 4, the rejection of claim 3 further incorporated, D1 discloses, wherein the parameters define shuffle operations to perform on the data, (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination. Additionally, D2, section 2.1-2.2 also discloses shuffle template includes parameters for the workers to process and transfer the data). As per claim 5, the rejection of claim 4 further incorporated, D1 discloses, wherein the parameters include a send parameter for sending a message to a destination, and a fetch parameter for returning data fetched from a source (D1, abstract, fig. 60, col. 170 10-16; col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination as well as a fetch parameter (e.g. configured data) for returning/collecting data fetched/collected from a source. Additionally, D2, section 2.1-2.2 also discloses shuffle template includes parameters for the workers to process and transfer the data). D1 fails to expressly disclose - a receive parameter for returning data received from a source. D2 (figure 6 and accompanying text) discloses a receive parameter for returning data received from a source. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include the teachings of D2 as noted above. This would been obvious with predicable results of providing via execution template a fine-grained scheduling flexibility of centralized control planes while matching the strong scaling of distributed ones as disclosed by D2 (page 513, abstract). As per claim 6, the rejection of claim 4 further incorporated, D1 discloses, wherein the parameters include a… (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination. Additionally, D2, section 2.1-2.2 also discloses shuffle template includes parameters for the workers to process and transfer the data). D1 fails to expressly disclose - partition parameter for partitioning messages according to a partition function and a combine parameter for combining message according to a combination function. However, the examiner notes that partition parameter for partitioning messages according to a partition function and a combine parameter for combining message according to a combination function (e.g. join clause and partition function in SQL) was notoriously well known before effective filing of the invention. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include the partition parameter for partitioning messages according to a partition function and a combine parameter for combining message according to a combination function. This would have been obvious with predicable results using various functions to manipulate and/or process data as known the art and to one of ordinary skill in the art. As per claim 7, the rejection of claim 4 further incorporated, D1 discloses, wherein the parameters include…, (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination. Additionally, D2, section 2.1-2.2 also discloses shuffle template includes parameters for the workers to process and transfer the data). D1 fails to expressly disclose - include a sample function for sampling messages based on a rate and partition function. However, the examiner notes that a sample function for sampling messages based on a rate and partition function. (e.g. SQL join clause, SQL partition function, and SQL TABLESAMPLE clause with associated rate/percentage of sample) was notoriously well known before effective filing of the invention. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include a sample function for sampling messages based on a rate and partition function. This would have been obvious with predicable results using various functions to manipulate and/or process data as known the art and to one of ordinary skill in the art. As per claim 8, the rejection of claim 7 further incorporated, D1 discloses, the messages processed by different groups of workers in the data center, (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination. Additionally, D2, section 2.1-2.2 also discloses shuffle templates include parameters for the workers to process and transfer the data in the data center). D1 fails to expressly disclose - comprising using the sample function to perform partition-aware sampling [of data]. However, the examiner notes that a sample function for sampling messages based on a rate and partition. (e.g., in SQL, using where clause to select a table and using TABLESAMPLE clause with associated rate/percentage of sample to sample the partition) was notoriously well known before effective filing of the invention. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include comprising using the sample function to perform partition-aware sampling [of data]. This would have been obvious with predicable results using various functions to manipulate and/or process data as known the art and to one of ordinary skill in the art. As per claim 9, the rejection of claim 8 further incorporated, D1 discloses, [using results] to evaluate shuffle performance, (D1, pages 519-522, discloses using various results to evaluate shuffle performance using execution templates). D1 fails to expressly disclose - comprising using results of the sampling. However, the examiner notes that a sample function for sampling messages based on a rate and partition to obtain results, and evaluate the results (e.g., in SQL, using where clause to select a table and using TABLESAMPLE clause with associated rate/percentage of sample to sample the partition to obtain results, and using other SQL functions to evaluate the results) was notoriously well known before effective filing of the invention. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include comprising using results of the sampling. This would have been obvious with predicable results using various functions to manipulate and/or process data and evaluate the results as known the art and to one of ordinary skill in the art. As per claim 10, the rejection of claim 4 further incorporated, D1 discloses, wherein the call for the shuffle template comprises [API call], (D1, fig 42 and 60, col 19 lines 13-15, col. 145 lines 54-61, col. 152 lines 55-56, discloses data may be ingested at the data intake and query system 108 through an intake system(shuffle manager) 210 configured to conduct preliminary processing on the data, and make the data available to downstream systems or components, such as the indexing system 212, query system 214, third party systems… Communications between the GUI pipeline creator 3420 and the intake system 210 can occur via a representational state transfer (“REST”) request in some implementations (e.g. API). The REST API can enable communication between a client (e.g., the GUI pipeline creator 3420) and a server-based system (e.g., the intake system 210) that employs REST constraints… At stage 2, the user can select a processing pipeline template (select a shuffle template) from the stage 2 region 4220 of the interface 4220.)). D1 fails to expressly disclose - a remote procedure call (RPC). However, the examiner notes that a remote procedure call (RPC) was notoriously well known before effective filing of the invention. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include a remote procedure call (RPC). This would have been obvious with predicable results using a remote procedure call (RPC) to access/calls to various sources/functions as known in the art and to one ordinary skill in the art. As per claims 12-21, and 23-24: Claims 12-21, and 23-24 are system and medium claims corresponding method claims 1-10 and are of substantially same scope. Accordingly, claims 12-21, and 23-24 are rejected under the same rational as set forth for claims 1-10. Claims 11 and 22 are rejected under 35 U.S.C. 103(a) as being unpatentable over Breeden et al. (US 11886440 B1, referred hereinafter as D1) in view of Mashayekhi et al. (“Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics”, 2017, pages 513-526, cited on IDS filed on 04/20/2025, referred hereinafter as D2) in view of Moore et al. (US 20220225321 A1, referred hereinafter as D3). As per claim 11, the rejection of claim 1 further incorporated, D1 discloses, wherein the shuffle template is configured to control the workers to shuffle the messages [between source and destination and/or workers], (D1, abstract, fig. 60, col. 176 lines 24-34 discloses providing shuffle templates (e.g. workflow/pipelines template) and the shuffle templates includes parameters for the workers to process and transfer the data between source and destination. Additionally, D2, section 2.1-2.2 also discloses shuffle template includes parameters for the workers to process and transfer the data between workers). D1/D2 fails to expressly disclose – [communication] at a server level, then at a rack level, and a global level. However, D3 (0024-0029) discloses tiered network architecture allowing for communications/message transfer at a server level, then at a rack level, and a global level. Accordingly, it would have been obvious to one having ordinary skill in the art before the effective filing date of the invention, as disclosed in D1, to include communication at a server level, then at a rack level, and a global level. This would have been obvious with predicable results of placing various functions (e.g. workers/VMs) at different levels of tiered network architecture based on function requirements and allowing communication between the functions in the tiered network architecture as disclosed by D3 (0029). As per claim 22: Claim 22 is a system claim corresponding method claim 11 and is of substantially same scope. Accordingly, claim 22 is rejected under the same rational as set forth for claim 11. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. Persistent Shuffle System DOCUMENT ID US 11269847 B2 DATE PUBLISHED 2022-03-08 Abstract A method includes receiving a request to perform a shuffle operation on a data stream; receiving at least a portion of the data stream including a plurality of records, each including a key; storing each of the plurality of records in a persistent storage location assigned to a key range corresponding to keys included in the plurality of records; receiving a request from a consumer for a subset of the plurality of records including a range of keys; and upon receiving the request from the consumer, providing the subset of the plurality of records including the range of keys from the one or more persistent storage locations. KNOWLEDGE MANAGEMENT SYSTEMS AND METHODS DOCUMENT ID US 20240177084 A1 DATE PUBLISHED 2024-05-30 Abstract Example knowledge management systems and methods are described. In one implementation, a knowledge transfer plan is identified for transferring knowledge from a first person to a second person, where the knowledge transfer plan is associated with a topic. A meeting is identified between the first person and the second person to transfer knowledge therebetween. The knowledge management systems and methods generate a summary of the meeting and access data from an external source that is related to the topic of the knowledge transfer plan. The summary of the meeting and the data from an external source are aggregated into the knowledge transfer plan. Consistent Sort-based Record-level Shuffling Of Machine Learning Data DOCUMENT ID US 10713589 B1 DATE PUBLISHED 2020-07-14 Abstract A determination that a machine learning data set is to be shuffled is made. Tokens corresponding to the individual observation records are generated based on respective identifiers of the records' storage objects and record key values. Respective representative values are derived from the tokens. The observation records are rearranged based on a result of sorting the representative values and provided to a shuffle result destination. See form 892. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MUSTAFA A AMIN whose telephone number is (571)270-3181. The examiner can normally be reached on Monday-Friday from 8:00 AM to 5:00 PM. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kevin Young, can be reached on 571-270-3180. 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 Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). 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) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form. /MUSTAFA A AMIN/ Primary Examiner, Art Unit 2194
Read full office action

Prosecution Timeline

Jul 19, 2024
Application Filed
Sep 15, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12737210
SECURE MANAGEMENT OF DEVICE CONTROL INFORMATION IN CONFIDENTIAL COMPUTING ENVIRONMENTS
3y 6m to grant Granted Sep 15, 2026
Patent 12730659
EFFICIENT DISTRIBUTION AND DEPLOYMENT OF LARGE FILES FOR GENERATING VIRTUALIZED NETWORK FUNCTIONS
3y 10m to grant Granted Sep 08, 2026
Patent 12718007
DOCUMENT AUTO-COMPLETION
2y 11m to grant Granted Aug 25, 2026
Patent 12704946
VIRTUAL CREATION OF REAL-WORLD PROJECTS
3y 3m to grant Granted Aug 11, 2026
Patent 12699574
COPYING COMPUTING RESOURCES BETWEEN EXECUTION ENVIRONMENTS
4y 9m to grant Granted Aug 04, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
64%
Grant Probability
94%
With Interview (+29.9%)
3y 8m (~1y 5m remaining)
Median Time to Grant
Low
PTA Risk
Based on 465 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month