Prosecution Insights
Last updated: July 17, 2026
Application No. 18/703,823

DATA PROCESSING METHOD, APPARATUS AND SYSTEM

Non-Final OA §103§112
Filed
Apr 23, 2024
Priority
Jun 23, 2022 — CN 202210719647.4 +1 more
Examiner
HEADLY, MELISSA A
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
BOE Technology Group Co., Ltd.
OA Round
1 (Non-Final)
75%
Grant Probability
Favorable
1-2
OA Rounds
1y 2m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allowance Rate
309 granted / 412 resolved
+20.0% vs TC avg
Strong +40% interview lift
Without
With
+40.1%
Interview Lift
resolved cases with interview
Typical timeline
3y 5m
Avg Prosecution
21 currently pending
Career history
441
Total Applications
across all art units

Statute-Specific Performance

§101
2.0%
-38.0% vs TC avg
§103
94.2%
+54.2% vs TC avg
§102
2.0%
-38.0% vs TC avg
§112
1.0%
-39.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 412 resolved cases

Office Action

§103 §112
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Examiner Notes Examiner cites particular columns 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 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. The examiner encourages Applicant to submit an authorization to communicate with the examiner via the Internet by making the following statement (from MPEP 502.03): “Recognizing that Internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.” Please note that the above statement can only be submitted via Central Fax, Regular postal mail, or EFS Web (PTO/SB/439). Claim Objections Claim 9 is objected to because of the following informalities: the phrase “in a cast that the first script is run at a frequency greater than a first frequency threshold” should be amended to state: “in a case that the first script is run at a frequency greater than a first frequency threshold;” and the phrase “in a cast that the second script is run at a frequency greater than a second frequency threshold and less than or equal to the first frequency threshold” should be amended to state: “in a case that the second script is run at a frequency greater than a second frequency threshold and less than or equal to the first frequency threshold.” Appropriate correction is required. 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 5 and 7-9, 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. The following claim language is unclear and indefinite: As per claim 5, it is unclear what is meant by “determining a first number of the data processing requests received within a most recent first time period for many times (i.e. it is unclear what the term “for many times” applies to. For example, is a “first number of the data processing requests received within a most recent first time period” collected many times? Does this term refer to historical metrics collection? For the purposes of examination, the examiner has interpreted the phrase “for many times” to refer to historical collection of metrics data.). Claims 7-9 are rejected due to their dependence on claim 5. As per claim 5, it is unclear what is meant by “increasing the processing unit in the target processing node, in a case that a growth rate of the first number is greater than a first probability threshold” (i.e. it is unclear what is meant by “increasing the processing unit” for the purposes of examination, this limitation is interpreted to include increasing resources related to the first processing unit.). Claims 7-9 are rejected due to their dependence on claim 5. As per claim 5 it is unclear what is meant by “decreasing the processing unit in the target processing node, in a case that the growth rate of the first number is less than a second probability threshold, wherein the second probability threshold is less than zero.” (i.e. it is unclear what is meant by “decreasing the processing unit” for the purposes of examination, this limitation is interpreted to include decreasing resources related to the first processing unit.). It is also unclear how a second probability threshold related to utilization can be less than zero. Claims 7-9 are rejected due to their dependence on claim 5. As per claim 6, it is unclear what is meant by “determining a second number of the data processing requests corresponding to a same script received within a most recent second time period for many times.” (i.e. it is unclear what the term “for many times” applies to. For example, is a “a second number of the data processing requests” collected many times? Does this term refer to historical metrics collection? For the purposes of examination, the examiner has interpreted the phrase “for many times” to refer to historical collection of metrics data.) As per claim 6, it is unclear what is meant by “increasing a processing unit for running the same script” (i.e. it is unclear what is meant by “increasing a processing unit” for the purposes of examination, this limitation is interpreted to include increasing resources related to the processing unit.) As per claim 6 it is unclear what is meant by “decreasing the processing unit” (i.e. it is unclear what is meant by “decreasing the processing unit” for the purposes of examination, this limitation is interpreted to include decreasing resources related to the first processing unit.). It is also unclear how a fourth probability threshold related to utilization can be less than zero. As per claim 7, it is unclear what is meant by “execute x script acquisition operations to obtain n scripts for m processing units to run, in a case that the m processing units in the processing node are increased, wherein m>x>n>1,one said script acquisition operation corresponds to one script out of the n scripts.” (i.e. it is unclear what the terms “x,” “n,” and “m” represent. For example, do these terms represent an amount represented by an integer?). As per claim 8, it is unclear what is meant by “m>x=n.” (i.e. it is unclear what the terms “x,” “n,” and “m” represent. For example, do these terms represent an amount represented by an integer?). 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-6, 10-12, and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kathiresan et al (US 20170371713) in view of Smith et al. (US 20210064431 A1). As per claim 1, Kathiresan teaches the invention substantially as claimed including a method for processing data, wherein the method is applied to a target processing node ([0035], executes the requests on the nodes 32a) in a system for processing data ([0007], The disclosed technology manages tasks such as deployment, maintenance, scheduling and monitoring of multi-CPU architecture systems using an Intelligent Resource Management System (IRMS)), the system for processing data comprises a first relay node ([0036], RMS 20 also invokes the job scheduler 30 to determine how the nodes are assigned to various jobs), at least one request node ([0037], The consumer is the user of the resources provided by the cluster system and can be either a physical human user or a software agent that represents a human user and acts on his behalf. A cluster system has multiple consumers submitting job requests that need to be executed) and at least one processing node ([0032], job manager 26 can dispatch a job, e.g., a DNA sequence analysis, to the available nodes 32a), the target processing node is any one of the at least one processing node ([0035], The resource status manager 28 receives job submission requests, executes the requests on the nodes 32a), and the method comprises: receiving a data processing request sent by the first relay node ([0032], When submitted, the job scheduler informs the job manager 26 and the resource status manager 28 what to do, when to run the jobs, and where to run the jobs; Examiner Note: the claimed “first relay node” is mapped to Kathiresan’s “job scheduler”: [0057], A user job script file is submitted to the job scheduler), ..., and the target request node is any one of the at least one request node ([0037], The consumer is the user of the resources provided by the cluster system and can be either a physical human user or a software agent that represents a human user and acts on his behalf. A cluster system has multiple consumers submitting job requests that need to be executed); executing a data processing operation requested by the data processing request ([0035], executes the requests on the nodes 32a; and [0054], A plurality of CPUs from the multi-CPU system can be designated so that each CPU of the plurality of CPUs receives one application instance of the number of application instances and one bio-informatics data segment of the number of bio-informatics data segments. The multi-threaded bio-informatics for each bio-informatics data segment on each CPU of the plurality of CPU can be executed, wherein the bio-informatics multi-process for each bio-informatics data segment is executed within a number of cores associated with each CPU of the plurality of CPUs); and transmitting a processing result of the data processing operation to the target request node ([0059], The job manager dispatches M instances of jobs to every CPU. Partial results are collected from every CPU and merge together (in the same order of distribution) to get the final result. This final result can be sent to the user). Kathiresan fails to specifically teach, wherein the data processing request is sent to the first relay node by a target request node based on data to be processed of the system for processing data. However, Smith teaches, wherein the data processing request is sent to the first relay node by a target request node based on data to be processed of the system for processing data ([0079], in response to the client device 102 connecting to the server environment 106, the client device 102 may request the server environment 106 execute a particular application. The server environment 106 can spawn one or more applications in a single or multi-threaded environment in response to executing the particular application requested for by the client device 102. The computing system 110 can determine which additional applications are spawned in response to the client device 102 executing a particular application; and [0081], the computing system 110 can determine from the activity data 114 which applications executing on the server environment 106 communicates back to client device 102. For example, the computing system 110 can determine from the activity data 114 that an application corresponding to an online transaction will communicate back to the client device 102 for verification of the transaction; Examiner Notes: 1) the claimed “first relay node” is mapped to Smith’s “computing system 110” and the claimed “target request node” is mapped to Smith’s “client device 102; ” and 2) Smith’s “activity data” includes executing an application: [0077], A user-initiated activity can include, for example, an application selected by a user of the client device 102 for performing an online payment or performing an online storage execution). Kathiresan and Smith are analogous because they are each related to task management. Kathiresan teaches a method of managing script related jobs among several nodes. (Abstract, system is capable of receiving a job script file requesting to run analyses for a data file on a multi-CPU system using a multi-threaded application... data file can be partitioned into a number of data segments equaling to the number of CPUs needed for the analysis and a number of application instances equal to the number of CPUs needed for the analysis can be created. The multi-threaded applications are executed on a plurality of CPUs for each bio-informatics data segment and resultants are obtained for each execution. These resultants are combined in the same order of data partitioning to obtain analysis). Smith teaches a method of job management based on usage statistics including comparing usage to various thresholds. ([0023], the method includes performing a management action for one or more of the multiple computing environments based on the usage measure and the planned usage level, where the management action includes at least one of: changing a duration that a running computing environment is permitted to continue running; changing a default duration limit that computing environments are permitted to run; changing a level of computing resources allocated to a running computing environment; changing a default level of computing resources allocated to computing environments; changing a policy governing extension of computing environment duration; changing a threshold for an amount of activity for a computing environment to be shut down; changing a threshold for an inactive computing environment to be re-started; changing an execution priority for a computing environment; or changing an amount of environments that are permitted to run concurrently; and [0029], accessing data indicating multiple thresholds each indicating different predetermined proportions of the planned usage level; and monitoring whether the usage of cloud computing services by the group of multiple computing environments reaches any of the multiple thresholds). It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention that based on the combination, the teachings of Kathiresan would be modified with Smith’s various utilization threshold resulting in a system that manages tasks based on data to be utilization thresholds and forecasted utilization. Therefore, it would have been obvious to combine the teachings of Kathiresan and Smith. As per claim 2, Kathiresan teaches, wherein the system for processing data further comprises a second relay node ([0031], The Resource Management System can include:... a job manager 26), and the transmitting the processing result of the data processing operation to the target request node comprises: sending the processing result to the second relay node ([0033], job manager 26 can dispatch a job, e.g., a DNA sequence analysis, to the available nodes 32a, . . . , based on information provided by a resource mapping table and collect the results after a successful execution); and the target request node acquires the processing result from the second relay node based on the data processing response, wherein the data processing response is used to indicate that the processing result has been obtained ([0036], The RMS 20 further dispatches the jobs to the assigned nodes 32a, . . . , and manages the job execution processes before returning the results to the users 34a, . . . , upon job completion; [0040], After successful execution of the applications, the partial results 54a obtained from every CPU can be merged into a single file in the same order of data segment distribution. The final execution results 52 (merged results) can be sent from job manager 48 to the user and [0093], implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback). Kathiresan fails to specifically teach, sending a data processing response of the data processing request to the first relay node, such that the first relay node sends the data processing response to the target request node. However, Smith teaches, sending a data processing response of the data processing request to the first relay node, such that the first relay node sends the data processing response to the target request node ([0073], user can interact with the computing system 110 to communicate with the cloud computing system 108 to see logs that indicate connection requests, disconnections, and utilization of the client devices to the server environment 106. The user can retrieve the logs from the cloud computing system 108 and store the retrieved logs on the computing system 110; and [0081], computing system 110 can additionally determine which tasks that execute on the server environment 106 communicate back to the client devices. For example, the computing system 110 can determine from the activity data 114 which applications executing on the server environment 106 communicates back to client device 102. For example, the computing system 110 can determine from the activity data 114 that an application corresponding to an online transaction will communicate back to the client device 102 for verification of the transaction. Thus, the computing system 110 can note the applications that communicate back to the client devices ). The same motivation used in the rejection of claim 1 is applicable to the instant claim. As per claim 3, Kathiresan teaches, wherein the data processing request carries an identifier of a script corresponding to the data processing request ([0012], application information includes application name, reference data, input files and number of threads to run; and [0049], the job script file identifies the application to run); and the script corresponding to the data processing request is a script that needs to be run to execute the data processing operation requested by the data processing request ([0049], a job script file is received by the job scheduler (Step A1). The job script file can request to run a bio-informatics analysis for a bio-informatics data file on a multi-CPU system using a multi-threaded bio-informatics application. The job script file can include an application to be used for the job, its argument details and its resource requirements, e.g., the job script file identifies the application to run, number of threads to run, input file(s) needed for the job, and any reference files); and the executing the data processing operation requested by the data processing request comprises: using a processing unit, which has been created within the processing node and is configured to run the script corresponding to the data processing request, to execute the data processing operation ([0047], the IRMS identifies the suitable resources for running the job (Step 5), collects the hardware topology details from the resource management table (Step 6), builds an application knowledge structure (AKS) using known application characteristics and their resource requirements (Step 7) and expands the intelligent resource mapping table (IRMT) according to the application knowledge structure and hardware topology selected (Step 8). The IRMT then dynamically creates various instances of the application based on the hardware selected (i.e., the number of CPUs) (Step 9)). As per claim 4, Kathiresan teaches, wherein the data processing request sent by the first relay node comprises different data processing requests corresponding to a same script ([0044], M number of instances of sequence alignment application can be created and the independent (disjoint) data segments of the input file can be distributed to every instance of the application, e.g., first instance of the application uses first data segment, second instance of the application uses second data segment and so on; and [0049], the job script file identifies the application to run, number of threads to run, input file(s) needed for the job, and any reference files) and data processing operations requested by the different data processing requests are executed by a same processing unit ([0032], resource status manager 28 receives job submission requests, executes the requests on the nodes 32a). As per claim 5, Smith teaches, further comprising: determining a first number of the data processing requests received within a most recent first time period ([0009], system may identified usage patterns (e.g., usage trends) from monitored usage data and activity data. For example, the system can use identify usage patterns for a given cloud computing environment from currently active user sessions in computer environment,...and a priority ranking of active CPU tasks; and [0014], system can store activity data that indicates the way that environments are used over time, e.g.,...the number and type of tasks performed) for many times ([0008], system may use identified usage patterns in determining if forecasted usage is in line or exceeds a usage plan or a usage budget, e.g., for a particular time period. For example, a set of usage patterns may indicate an expected usage of cloud computing resources for a given cloud computing environment over the next two weeks; [0044], accessing usage measures for the group of multiple computing environments corresponding to different periods of time; and [0071], monitor current activity and previous activity on the server environment 106 associated with the client devices to determine whether to shut down or power on the server environment 106); increasing the processing unit in the target processing node ([0010], the system performs actions based on the tracked usage of cloud computing resources, determinations that thresholds are met or exceeded, and/or based on detected usage patterns... The actions can include modifying configuration settings for cloud computing environments, e.g., increasing or reducing the cloud computing resources allocated to the cloud computing environments), in a case that a growth rate of the first number is greater than a first probability threshold ([0008], system may detect patterns in the tracked usage of cloud computing resources, and use the usage patterns in managing usage of cloud computing resources and/or notifying users. Specifically, the system may use identified usage patterns in determining if forecasted usage is in line or exceeds a usage plan or a usage budget, e.g., for a particular time period... the system can use identified usage patterns to determine actions to manage cloud computing environments. For example, the system can use detected usage patterns to predict if performing a particular remedial action will be sufficient to bring the forecasted usage levels in line with a usage plan or usage budget), wherein the first probability threshold is greater than zero ([0011], the system receives data that indicates a planned usage level, e.g., a budgeted amount of resources to be allocated over a time period. The usage budget can be for a group of users (e.g., an organization, department, a group of employees working on a particular project, etc.) or a group computing environments, or for individual users or individual computing environments); and decreasing the processing unit in the target processing node, in a case that the growth rate of the first number is less than a second probability threshold, wherein the second probability threshold is less than zero ([0010], actions can include ...shutting down cloud computing environments...The actions can include modifying configuration settings for cloud computing environments, e.g., ... reducing the cloud computing resources allocated to the cloud computing environments). As per claim 6, Smith teaches, further comprising: determining a second number of the data processing requests corresponding to a same script received within a most recent second time period ([0014], system can store activity data that indicates the way that environments are used over time, e.g., which environments are run, the times and durations that they are run,...the number and type of tasks performed; and [0079], he computing system 110 evaluates the activity data 114. For example, the computing system 110 determines, from the activity data 114, an amount of the activity on the server environment 106 that is due to user actions. For example, in response to the client device 102 connecting to the server environment 106, the client device 102 may request the server environment 106 execute a particular application) for many times ([0044], accessing usage measures for the group of multiple computing environments corresponding to different periods of time; and [0071], monitor current activity and previous activity on the server environment 106 associated with the client devices to determine whether to shut down or power on the server environment 106); increasing a processing unit for running the same script in the target processing node, in a case that a growth rate of the second number is greater than a third probability threshold, wherein the third probability threshold is greater than zero ([0018], the system the detected usage patterns and/or the forecasted usage to change the configuration of cloud computing environments. For example, if the usage patterns indicate that, for a given cloud computing environment, there is increased demand on weekends between the 11:00 am and 3:00 pm, the system can adjust the configuration settings for the cloud computing environment such that 20% more CPUs are allocated to the cloud computing environment during the time of increased demand); and decreasing the processing unit for running the same script in the target processing node, in a case that the growth rate of the second number is less than a fourth probability threshold, wherein the fourth probability threshold is less than zero ([0015], ith the expected level or range of activity known for specific users and environments, the system can compare current usage and recent trends with the typical activity levels observed previously. When the system determines that the current or recent usage by a user or environment (or group of users and environments) is outside the typical or expected range, as determined from historical activity for the user or environment, the system can send a notification of the anomaly to an administrator or to the user involved in the anomalous condition. The system may take other actions to respond to a detected usage anomaly, such as to require additional authentication or verification for the usage to continue, to limit or restrict resources available to a running environment, to shut down an environment). As per claim 10, Kathiresan teaches, wherein before executing the data processing operation requested by the data processing request, the method further comprises: determining processing units in the processing node that are respectively configured to run scripts corresponding to multiple data processing requests ([0049], The job script file can request to run a bio-informatics analysis for a bio-informatics data file on a multi-CPU system using a multi-threaded bio-informatics application; and [0053], At the resource status manager, the resource status manager designates a plurality of CPUs from the multi-CPU system so that each CPU of the plurality of CPUs receives one application instance of the number of application instances and one bio-informatics data segment of the number of bio-informatics data segments with the plurality of CPUs equaling the number of CPUs needed for the bio-informatics analysis. (Step A6). Once the suitable hardware is identified, the hardware topology details can be collected from the scheduler's resource management table), by using multiple threads in parallel ([0050], the AKSM builds an application knowledge structure for the multi-threaded bio-informatics application using the job script file and known application arguments (Step A2). The application knowledge structure can have a dynamic and disjoint set of arguments that can be independently executable at each CPU of the multi-CPU system; and [0054], data-parallelization and multi-processing is defined across all the CPUs. At the same time, multiple threads are executed within the CPU. Hence, data-parallelization with multi-processing and multi-threads can be implemented without any source code modification) and according to the multiple data processing requests, upon receiving the multiple data processing requests sent by the first relay node ([0035], The resource status manager 28 receives job submission requests, executes the requests on the nodes 32a, . . . , and can monitor the nodes 32a, . . . before, during and after the execution... using information provided by the resource mapping table, the resource status manager 28 maintains the hardware topology information for the system, e.g., number of nodes, number of CPUs per node and number of cores per CPU; and [0043], the resource status manager can get the hardware topology information from the resource management table, where (i) N=total number of cores per node (ii) M=number of CPUs per node and (iii) P=number of cores per CPU. Once received, the job scheduler can partition a user-provided data file (input file) into independent data segments (chunks)). As per claim 11, Kathiresan teaches the invention substantially as claimed including a method for processing data, wherein the method is applied to a first relay node ([0036], RMS 20 also invokes the job scheduler 30 to determine how the nodes are assigned to various jobs) in a system for processing data ([0007], The disclosed technology manages tasks such as deployment, maintenance, scheduling and monitoring of multi-CPU architecture systems using an Intelligent Resource Management System (IRMS)), the system for processing data further comprises at least one request node ([0037], The consumer is the user of the resources provided by the cluster system and can be either a physical human user or a software agent that represents a human user and acts on his behalf. A cluster system has multiple consumers submitting job requests that need to be executed) and at least one processing node ([0032], job manager 26 can dispatch a job, e.g., a DNA sequence analysis, to the available nodes 32a), and the method comprises: receiving a data processing request sent by a target request node ([0057], A user job script file is submitted to the job scheduler),..., and the target request node is any one of the at least one request node ([0037], The consumer is the user of the resources provided by the cluster system and can be either a physical human user or a software agent that represents a human user and acts on his behalf. A cluster system has multiple consumers submitting job requests that need to be executed); and sending the data processing request to a target processing node, such that the target processing node executes a data processing operation requested by the data processing request ([0035], executes the requests on the nodes 32a; and [0054], A plurality of CPUs from the multi-CPU system can be designated so that each CPU of the plurality of CPUs receives one application instance of the number of application instances and one bio-informatics data segment of the number of bio-informatics data segments. The multi-threaded bio-informatics for each bio-informatics data segment on each CPU of the plurality of CPU can be executed, wherein the bio-informatics multi-process for each bio-informatics data segment is executed within a number of cores associated with each CPU of the plurality of CPUs) and transmits a processing result of the data processing operation to the target request node ([0059], The job manager dispatches M instances of jobs to every CPU. Partial results are collected from every CPU and merge together (in the same order of distribution) to get the final result. This final result can be sent to the user), and the target processing node is any one of the at least one processing node ([0035], executes the requests on the nodes 32a). Kathiresan fails to specifically teach, wherein the data processing request is sent by the target request node based on data to be processed of the system for processing data. However, Smith teaches, wherein the data processing request is sent by the target request node based on data to be processed of the system for processing data ([0079], in response to the client device 102 connecting to the server environment 106, the client device 102 may request the server environment 106 execute a particular application. The server environment 106 can spawn one or more applications in a single or multi-threaded environment in response to executing the particular application requested for by the client device 102. The computing system 110 can determine which additional applications are spawned in response to the client device 102 executing a particular application; and [0081], the computing system 110 can determine from the activity data 114 which applications executing on the server environment 106 communicates back to client device 102. For example, the computing system 110 can determine from the activity data 114 that an application corresponding to an online transaction will communicate back to the client device 102 for verification of the transaction; Examiner Notes: 1) the claimed “first relay node” is mapped to Smith’s “computing system 110” and the claimed “target request node” is mapped to Smith’s “client device 102; ” and 2) Smith’s “activity data” includes executing an application: [0077], A user-initiated activity can include, for example, an application selected by a user of the client device 102 for performing an online payment or performing an online storage execution). The same motivation used in the rejection of claim 1 is applicable to the instant claim. As per claim 12, Kathiresan teaches, wherein the system for processing data further comprises a second relay node ([0031], The Resource Management System can include:... a job manager 26), the target processing node is configured to send the processing result to the second relay node, and the method further comprises: receiving a data processing response of the data processing request sent by the target processing node, wherein the data processing response is used to indicate that the processing result has been obtained ([0040], After successful execution of the applications, the partial results 54a obtained from every CPU can be merged into a single file in the same order of data segment distribution. The final execution results 52 (merged results) can be sent from job manager 48 to the user); and sending the data processing response to the target request node, such that the target request node acquires the processing result from the second relay node based on the data processing response ([0040], After successful execution of the applications, the partial results 54a obtained from every CPU can be merged into a single file in the same order of data segment distribution. The final execution results 52 (merged results) can be sent from job manager 48 to the user). As per claim 15, Kathiresan teaches the invention substantially as claimed including a method for processing data, wherein the method is applied to a target request node ([0037], The consumer is the user of the resources provided by the cluster system and can be either a physical human user or a software agent that represents a human user and acts on his behalf. A cluster system has multiple consumers submitting job requests that need to be executed) in a system for processing data ([0007], The disclosed technology manages tasks such as deployment, maintenance, scheduling and monitoring of multi-CPU architecture systems using an Intelligent Resource Management System (IRMS)), the system for processing data comprises a first relay node ([0036], RMS 20 also invokes the job scheduler 30 to determine how the nodes are assigned to various jobs), at least one request node ([0037], The consumer is the user of the resources provided by the cluster system and can be either a physical human user or a software agent that represents a human user and acts on his behalf. A cluster system has multiple consumers submitting job requests that need to be executed) and at least one processing node ([0032], job manager 26 can dispatch a job, e.g., a DNA sequence analysis, to the available nodes 32a), the target request node is any one of the at least one request node ([0035], executes the requests on the nodes 32a) in a system for processing data ([0007], The disclosed technology manages tasks such as deployment, maintenance, scheduling and monitoring of multi-CPU architecture systems using an Intelligent Resource Management System (IRMS)), and the method comprises: acquiring data to be processed of the system for processing data ([0057], A user job script file is submitted to the job scheduler); the target processing node is any one of the at least one processing node ([0035], The resource status manager 28 receives job submission requests, executes the requests on the nodes 32a); the target processing node executes a data processing operation requested by the data processing request ([0035], executes the requests on the nodes 32a; and [0054], A plurality of CPUs from the multi-CPU system can be designated so that each CPU of the plurality of CPUs receives one application instance of the number of application instances and one bio-informatics data segment of the number of bio-informatics data segments. The multi-threaded bio-informatics for each bio-informatics data segment on each CPU of the plurality of CPU can be executed, wherein the bio-informatics multi-process for each bio-informatics data segment is executed within a number of cores associated with each CPU of the plurality of CPUs); and acquiring a processing result of the data processing operation from the target processing node ([0059], The job manager dispatches M instances of jobs to every CPU. Partial results are collected from every CPU and merge together (in the same order of distribution) to get the final result. This final result can be sent to the user). Kathiresan fails to specifically teach, sending a data processing request to the first relay node based on the data to be processed, such that the first relay node sends the data processing request to a target processing node, the target processing node executes a data processing operation requested by the data processing request. However, Smith teaches, sending a data processing request to the first relay node based on the data to be processed, such that the first relay node sends the data processing request to a target processing node, the target processing node executes a data processing operation requested by the data processing request ([0079], in response to the client device 102 connecting to the server environment 106, the client device 102 may request the server environment 106 execute a particular application. The server environment 106 can spawn one or more applications in a single or multi-threaded environment in response to executing the particular application requested for by the client device 102. The computing system 110 can determine which additional applications are spawned in response to the client device 102 executing a particular application; and [0081], the computing system 110 can determine from the activity data 114 which applications executing on the server environment 106 communicates back to client device 102. For example, the computing system 110 can determine from the activity data 114 that an application corresponding to an online transaction will communicate back to the client device 102 for verification of the transaction; Examiner Notes: 1) the claimed “first relay node” is mapped to Smith’s “computing system 110” and the claimed “target request node” is mapped to Smith’s “client device 102; ” and 2) Smith’s “activity data” includes executing an application: [0077], A user-initiated activity can include, for example, an application selected by a user of the client device 102 for performing an online payment or performing an online storage execution). The same motivation used in the rejection of claim 1 is applicable to the instant claim. As per claim 16, Kathiresan teaches, wherein the system for processing data further comprises a second relay node ([0031], The Resource Management System can include:... a job manager 26), and the target processing node is configured to send the processing result to the second relay node ([0040], The final execution results 52 (merged results) can be sent from job manager 48 to the user). Kathiresan fails to specifically teach, send a data processing response of the data processing request to the first relay node, wherein the data processing response is used to indicate that the processing result has been obtained; and the acquiring the processing result of the data processing operation from the target processing node comprises: receiving the data processing response sent by the first relay node. However, Smith teaches, send a data processing response of the data processing request to the first relay node, wherein the data processing response is used to indicate that the processing result has been obtained ([0073], user can interact with the computing system 110 to communicate with the cloud computing system 108 to see logs that indicate connection requests, disconnections, and utilization of the client devices to the server environment 106. The user can retrieve the logs from the cloud computing system 108 and store the retrieved logs on the computing system 110; and [0081], computing system 110 can additionally determine which tasks that execute on the server environment 106 communicate back to the client devices. For example, the computing system 110 can determine from the activity data 114 which applications executing on the server environment 106 communicates back to client device 102. For example, the computing system 110 can determine from the activity data 114 that an application corresponding to an online transaction will communicate back to the client device 102 for verification of the transaction. Thus, the computing system 110 can note the applications that communicate back to the client devices ); and the acquiring the processing result of the data processing operation from the target processing node comprises: receiving the data processing response sent by the first relay node ([0073], user can interact with the computing system 110 to communicate with the cloud computing system 108 to see logs that indicate connection requests, disconnections, and utilization of the client devices to the server environment 106. The user can retrieve the logs from the cloud computing system 108 and store the retrieved logs on the computing system 110; and [0081], computing system 110 can additionally determine which tasks that execute on the server environment 106 communicate back to the client devices. For example, the computing system 110 can determine from the activity data 114 which applications executing on the server environment 106 communicates back to client device 102. For example, the computing system 110 can determine from the activity data 114 that an application corresponding to an online transaction will communicate back to the client device 102 for verification of the transaction. Thus, the computing system 110 can note the applications that communicate back to the client devices ). The same motivation used in the rejection of claim 15 is applicable to the instant claim. As per claim 17, this is the “apparatus claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim. As per claim 18, this is the “system claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim. As per claim 19, this is the “non-transitory computer-readable storage medium claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim. As per claim 20, this is the “computer program product claim” corresponding to claim 1 and is rejected for the same reasons. The same motivation used in the rejection of claim 1 is applicable to the instant claim. Claims 7-8 are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kathiresan-Smith and in further view of Chan et al. (US 20140289202 A1). As per claim 7, Kathiresan teaches, wherein the system for processing data further comprises a second relay node, and the target processing node is configured to: execute x script acquisition operations to obtain n scripts for m processing units to run, in a case that the m processing units in the processing node are increased, wherein m>x>n>1,one said script acquisition operation corresponds to one script out of the n scripts ([0039], AKSM 43 is capable of separating a job script file submitted by a consumer, e.g., job script files can be separated into application information and resource information. The AKSM can also validate an application's resource information (e.g. number of threads to run) to a user's requested resource requirement (e.g. number of cores required to run the application). Further, the AKSM 43 can build an application knowledge structure (AKS) and calculate the data segment size for data-parallelization. The data segment size equal to total number of reads in the data file (input file) divided by M, where M is number of CPUs needed to perform an analysis; and [0061], To increase performance of a sequence alignment application, the bio-information can follow conventional multi-step performance engineering concepts: ... (2) Performance profile: Get the application performance profile and debug the performance bottleneck, which may be due to thread contention, limitations in shared cache size while increasing number of threads, possibility of cache coherence problem, multi-thread synchronization issues, time delay due to remote memory access etc.; and (3) Optimal selection: Based on the above scalability study and performance profile results, the bio-information can select the optimal thread size-T (where, N≧T≧1)), and the script acquisition operation is configured to: acquire a corresponding script from a memory, in a case that the corresponding script is stored in the memory of the target processing unit ([0014], a processor that receives a job script file, the job script file requesting to run an analysis for a data file on a multi-CPU system using a multi-threaded application; a processor that builds an application knowledge structure for the multi-threaded application from the job script file and known application arguments, the application knowledge structure having a dynamic and disjoint set of arguments that can be independently executable at each CPU of the multi-CPU system... each CPU of the plurality of CPUs receives one application instance of the number of application instances and one data segment of the number of data segments); and create the m processing units based on the n scripts ([0044], M number of instances of sequence alignment application can be created and the independent (disjoint) data segments of the input file can be distributed to every instance of the application, e.g., first instance of the application uses first data segment, second instance of the application uses second data segment and so on; and [0050], the AKSM builds an application knowledge structure for the multi-threaded bio-informatics application using the job script file and known application arguments (Step A2). The application knowledge structure can have a dynamic and disjoint set of arguments that can be independently executable at each CPU of the multi-CPU system). Kathiresan fails to specifically teach, the script acquisition operation is configured to: ...send an acquisition request for a corresponding script to the second relay node and receive the corresponding script sent by the second relay node based on the acquisition request, in a case that the corresponding script is not stored in the memory. However, Chan teaches, the script acquisition operation is configured to: ...send an acquisition request for a corresponding script to the second relay node and receive the corresponding script sent by the second relay node based on the acquisition request, in a case that the corresponding script is not stored in the memory ([0051], If the server 110 does not have the data file, the server 110 determines a location of the data file, e.g., the computing devices 140-150. In some embodiments, the server 110 refers to the mapping of the data files to computing devices in the backup metadata 305 to obtain the location of the data file... For example, the server 110 determines that the data file is backed up to the computing device 140. In some embodiments, the server 110 obtains the data file from the computing device 140 and transmits it to the computing device 130). Chan also teaches, acquire a corresponding script from a memory, in a case that the corresponding script is stored in the memory of the target processing unit ([0051], A user issues a request 505 using from the computing device 130 for retrieving a data file from the server 110. If the server 110 has a copy of the data file, the server 110 returns the data file to the computing device 130) The combination of Kathiresan-Smith and Chan are analogous because they are each related to task management. Kathiresan teaches a method of managing script related jobs among several nodes. Smith teaches a method of job management based on usage statistics including comparing usage to various thresholds. Chan teaches a method of acquiring scripts for job execution based on access frequency. ([0051], If the server 110 does not have the data file, the server 110 determines a location of the data file, e.g., the computing devices 140-150. In some embodiments, the server 110 refers to the mapping of the data files to computing devices in the backup metadata 305 to obtain the location of the data file; and [0056], the server 110 determines that the frequency of access of a particular data file backed up on a computing device is below a threshold, the server 110 can modify the data backup policies 200 to back up the particular data file to the server 100 instead of the computing device. That way, storage space can be made available on the computing device for storing a data file whose frequency of access is above the threshold). It would have been obvious to one having ordinary skill in the art before the effective filing date of the combination of Kathiresan-Smith would be modified with Chan’s script acquisition and storing mechanisms resulting in a system that manages script storage and acquisition for various jobs. Therefore, it would have been obvious to combine the teachings of the combination of Kathiresan-Smith and Chan. As per claim 8, Kathiresan teaches, wherein m>x=n ([0044], M number of instances of sequence alignment application can be created and the independent (disjoint) data segments of the input file can be distributed to every instance of the application; and [0052], job scheduler calculates a data segment size for distributing the data file across multiple nodes and partitions the bio-informatics data file into a number of bio-informatics data segments equaling to the number of CPUs needed for the bio-informatics analysis (Step A4). The AKS creates a number of application instances equal to the number of CPUs needed for the bio-informatics analysis (Step A5)). As per claim 9, Chan teaches, further comprising: conducting statistics on frequency at which each script stored in the memory and the second relay node is run ([0056], storage space can be made available on the computing device for storing a data file whose frequency of access is above the threshold); moving a first script stored in the second relay node from the second relay node to the memory, in a cast that the first script is run at a frequency greater than a first frequency threshold ([0056], storage space can be made available on the computing device for storing a data file whose frequency of access is above the threshold); and moving a second script stored in the memory from the memory to the second relay node, in a cast that the second script is run at a frequency greater than a second frequency threshold and less than or equal to the first frequency threshold ([0056], if the server 110 determines that the frequency of access of a particular data file backed up on a computing device is below a threshold, the server 110 can modify the data backup policies 200 to back up the particular data file to the server 100 instead of the computing device). Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kathiresan-Smith and in further view of Chiplunkar et al. (US 2021 0132993 A1). As per claim 13, the combination of Kathiresan-Smith fails to specifically teach, wherein the sending the data processing request to the target processing node comprises: sending a first data processing request in multiple data processing requests to the target processing node, upon receiving the multiple data processing requests sent by the target request node; and sending a second data processing request in the multiple data processing requests to the target processing node, upon receiving a data processing response of the first data processing request. However, Chiplunkar teaches, wherein the sending the data processing request to the target processing node comprises: sending a first data processing request in multiple data processing requests to the target processing node, upon receiving the multiple data processing requests sent by the target request node ([0060], Each of processing queues 421, 422, 423, 424, and 425 are configured to receive computing requests from assignment queue 412 in a batch each time period); and sending a second data processing request in the multiple data processing requests to the target processing node, upon receiving a data processing response of the first data processing request ([0060], Each of processing queues 421, 422, 423, 424, and 425 are configured to receive computing requests from assignment queue 412 in a batch each time period). The combination of Kathiresan-Smith and Chiplunkar are analogous because they are each related to task management. Kathiresan teaches a method of managing script related jobs among several nodes. Smith teaches a method of job management based on usage statistics including comparing usage to various thresholds. Chiplunkar teaches a task management method that queues processing requests for execution. (Abstract, The workload is mapped to a set of tokens or credits. If a requestor has sufficient tokens to cover the workload for the request, the request is processed. The request may be processed in accordance with a set of processing queues). It would have been obvious to one having ordinary skill in the art before the effective filing date of the combination of Kathiresan-Smith would be modified with Chiplunkar’s request queues resulting in a system that manages job processing using queues. Therefore, it would have been obvious to combine the teachings of the combination of Kathiresan-Smith and Chiplunkar. Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over the combination of Kathiresan-Smith and in further view of Krishna et al. (US 20220245505 A1). As per claim 14, Kathiresan teaches, wherein after receiving a data processing request sent by the target request node, the method further comprises: adding the data processing request to a first queue ([0036], jobs submitted by the users 34a, . . . , into the cluster system are initially placed into queues); the sending the data processing request to the target processing node comprises: sending the data processing request in the first queue to the target processing node ([0036], The RMS 20 further dispatches the jobs to the assigned nodes 32a, . . ., and manages the job execution processes before returning the results to the users 34a, . . ., upon job completion). The combination of Kathiresan-Smith fails to specifically teach, after receiving the data processing response of the data processing request sent by the target processing node, the method further comprises: adding the data processing response to a second queue; and the sending the data processing response to the target request node comprises: sending the data processing response from the second queue to the target request node. However, Krishna teaches, after receiving the data processing response of the data processing request sent by the target processing node, the method further comprises: adding the data processing response to a second queue (Abstract, Processing results are provided to a results queue when a task completes); and the sending the data processing response to the target request node comprises: sending the data processing response from the second queue to the target request node ([0055], provide the processing results of multiple worker pods 332, 334 to a completion queue 314. Completion manager 312 obtains the processing results from the completion queue 314, and provides the processing results in response to the ingress request). The combination of Kathiresan-Smith and Krishna are analogous because they are each related to task management. Kathiresan teaches a method of managing script related jobs among several nodes. Smith teaches a method of job management based on usage statistics including comparing usage to various thresholds. Krishna teaches a task management method that queues processing results in order to route said results to a client. (Abstract, a pool of worker pods are generated that can execute tasks to train a machine learning model. The pool of work pods are assigned tasks by a master that communicates with the worker pods using a work queue. Each worker pod can provide output using a results queue. ). It would have been obvious to one having ordinary skill in the art before the effective filing date of the combination of Kathiresan-Smith would be modified with Krishna’s result queue resulting in a system that manages job processing and delivery of processing results. Therefore, it would have been obvious to combine the teachings of the combination of Kathiresan-Smith and Krishna. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure and is as follows: LV et al. (CN 107430526)- Teaches task scheduling: Abstract, A method and job scheduling node (200) for cross-machine set (202) for scheduling data processing, each processor comprising at least one data processor. upon receiving (2:2) a request for data processing operation and job scheduling node (200) obtains (2:5) the current processor resource state of each processor, processor resource state indicating at least the current using situation of each data processor in the processor. job scheduling node (200) further selects based on the obtained resource status processor (2:6) at least one spare data processor set of processor to perform a data processing operation; and Cao et al.- Teaches task scheduling including dividing tasks for distributed scheduling: Abstract, a dividing unit configured to divide, based on a predetermined policy, computation workload for data in a storage node into at least one sub-workload; and a dispatching unit configured to dispatch the at least one sub-workload to at least one of the storage node and a computing node that is physically separate from the storage node for execution of the at least one sub-workload with computing resources in the at least one of the storage node and the computing node Any inquiry concerning this communication or earlier communications from the examiner should be directed to MELISSA A HEADLY whose telephone number is (571)272-1972. The examiner can normally be reached Monday- Friday 9-5:30pm. 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, Bradley Teets can be reached at 571-272-3338. 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. /MELISSA A HEADLY/Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Apr 23, 2024
Application Filed
Jun 11, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12664011
Hybrid Cloud Based Protection for Applications and Virtual Machines
3y 9m to grant Granted Jun 23, 2026
Patent 12650862
Sharing Virtual Environment Data
4y 9m to grant Granted Jun 09, 2026
Patent 12639091
PROBE DEPLOYMENT
4y 4m to grant Granted May 26, 2026
Patent 12632290
METHOD AND APPARATUS FOR DYNAMICALLY ADJUSTING PIPELINE DEPTH TO IMPROVE EXECUTION LATENCY
4y 4m to grant Granted May 19, 2026
Patent 12619453
COMMUNICATION PROCESSING DEVICE, PROGRAM AND COMMUNICATION PROCESSING METHOD
5y 1m to grant Granted May 05, 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
75%
Grant Probability
99%
With Interview (+40.1%)
3y 5m (~1y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 412 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