DETAILED ACTION
Claims 1-11 are pending in this application.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Specification
The following guidelines illustrate the preferred layout for the specification of a utility application. These guidelines are suggested for the applicant’s use.
Arrangement of the Specification
As provided in 37 CFR 1.77(b), the specification of a utility application should include the following sections in order. Each of the lettered items should appear in upper case, without underlining or bold type, as a section heading. If no text follows the section heading, the phrase “Not Applicable” should follow the section heading:
(a) TITLE OF THE INVENTION.
(b) CROSS-REFERENCE TO RELATED APPLICATIONS.
(c) STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT.
(d) THE NAMES OF THE PARTIES TO A JOINT RESEARCH AGREEMENT.
(e) INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A READ-ONLY OPTICAL DISC, AS A TEXT FILE OR AN XML FILE VIA THE PATENT ELECTRONIC SYSTEM.
(f) STATEMENT REGARDING PRIOR DISCLOSURES BY THE INVENTOR OR A JOINT INVENTOR.
(g) BACKGROUND OF THE INVENTION.
(1) Field of the Invention.
(2) Description of Related Art including information disclosed under 37 CFR 1.97 and 1.98.
(h) BRIEF SUMMARY OF THE INVENTION.
(i) BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S).
(j) DETAILED DESCRIPTION OF THE INVENTION.
(k) CLAIM OR CLAIMS (commencing on a separate sheet).
(l) ABSTRACT OF THE DISCLOSURE (commencing on a separate sheet.
(m) SEQUENCE LISTING. (See MPEP § 2422.03 and 37 CFR 1.821 - 1.825).
A “Sequence Listing” is required on paper if the application discloses a nucleotide or amino acid sequence as defined in 37 CFR 1.821(a) and if the required “Sequence Listing” is not submitted as an electronic document either on read-only optical disc or as a text file via the patent electronic system.
The abstract of the disclosure is objected to because the abstract filed on 04/23/24 in not on a separate sheet (it includes (Figure 1)). A corrected abstract of the disclosure is required and must be presented on a separate sheet, apart from any other text. See MPEP § 608.01(b).
The specification cites a Chinese application (Application No. 202310445180.3) page 1. The specification needs to be updated.
Claim Objections
Claim 11 is objected to because of the following informalities:
Claim 11 seems to include typographical error.
The term “the feature vectors,” seems to have been used in error.
Appropriate correction is required, for instance, the “,” should be replaced with a “;” (i.e., “the feature vectors,” should be replaced with “the feature vectors;”)
Claim 11 includes the term “AI”. Abbreviations are allowed in claims, however, the first occurrence of the abbreviation MUST be spelled out. For instance, Artificial Intelligence (AI).
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, 5, 6 and 8-10 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 20140229221 A1 to Shih et al. in view of C.N. No. 103268261 A to LU et al.
As to claim 1, Shih teaches a task scheduling method, comprising:
decomposing (split/divided/partition), via a processor, a computing task into multiple sequent subtasks (smaller subtasks) (“…In one simple scenario, the entire task may be scheduled as one unit of work, and after the task completes, the client may be notified of the task completion. In many scenarios, however, the task may be split into smaller subtasks, either based on explicit subtask boundaries defined by the client or based on automated subtask generation by the resource manager. In one embodiment, the client may be provided the opportunity to either specify the details of each subtask or opt in to an automated subtask scheduling option. Clients may specify various task and subtask properties in different embodiments, such as for example the interruptibility characteristics of the task or of individual subtasks, whether any or all of the subtasks can be run in parallel, performance requirements or desired resource sizes for the task or subtasks, and so on. In some embodiments, deadlines and or budget constraints may be specified at the subtask level as well as or instead of at the task level…In some embodiments the interface implemented by the interface manager 183 or the resource manager 180 may allow the client 148 to specify various preferences or suggestions that may be useful in generating the execution plans. For example, in one embodiment, the client 148 may specify details of subtasks into which the task can be divided, e.g., for finer grained scheduling. If the client is willing to let the resource manager 180 partition the task into subtasks, then a preference or setting for automated subtask generation may be specified instead…” paragraphs 0024/0034),
wherein the candidate paths include one or more computing nodes selected from multiple computing nodes (the resource manager may generate an execution plan for the task, where the execution plan comprises using one or more resources of a selected resource pool to perform at least a portion of the task) (“…According to one such embodiment, a resource manager in such an environment may receive a task execution query comprising a specification of a task to be performed for a client, where the specification has an associated target deadline for completion of the task and an associated budget constraint for completion of the task. In response, the resource manager may generate an execution plan for the task, where the execution plan comprises using one or more resources of a selected resource pool to perform at least a portion of the task. The resource pool may be selected based at least in part on the pricing policy of the resource pool and an analysis of the task specification. Other factors may also be taken into consideration in selecting the resource pool or resource type, such as whether the task or its subtasks can be resumed after an interruption without excessive overhead, and so on. The resource manager may provide an indication of the execution plan to the client in some embodiments, e.g., in order to receive an approval of the plan. The resource manager may then schedule an execution of at least a portion of the task on a resource from the selected resource pool…wherein the task corresponds to a first node in a graph comprising a plurality of additional nodes, wherein each of the plurality of additional nodes corresponds to a respective additional task, and wherein the one or more resource configurations are selected to minimize a global cost of executing the task and one or more of the additional tasks…” paragraph 0023/claim 2) and
the computing nodes are configured to process subtasks that match their supported operation types (each node representing a different task) (“…In one embodiment, the task may correspond to one node in a graph that includes multiple nodes, each node representing a different task. The global cost of executing all the tasks in the graph may be minimized using the techniques described herein. The graph may comprise a dependency graph such that execution of at least one of the tasks is dependent on execution of at least one of the other tasks. The graph may represent a portion of the tasks that are submitted to or scheduled to execute on the provider network 110 over a particular window of time. Any suitable subset of tasks may be added to a particular graph for minimization of the cost of executing the entire graph…” paragraph 0055/0099);
obtaining feature vectors including feature information of each candidate path and feature information of each subtask (task execution query comprising a specification of a task/Task Execution Query 202/Task Specification 307) (“…According to one such embodiment, a resource manager in such an environment may receive a task execution query comprising a specification of a task to be performed for a client, where the specification has an associated target deadline for completion of the task and an associated budget constraint for completion of the task. In response, the resource manager may generate an execution plan for the task, where the execution plan comprises using one or more resources of a selected resource pool to perform at least a portion of the task. The resource pool may be selected based at least in part on the pricing policy of the resource pool and an analysis of the task specification. Other factors may also be taken into consideration in selecting the resource pool or resource type, such as whether the task or its subtasks can be resumed after an interruption without excessive overhead, and so on. The resource manager may provide an indication of the execution plan to the client in some embodiments, e.g., in order to receive an approval of the plan. The resource manager may then schedule an execution of at least a portion of the task on a resource from the selected resource pool…” paragraphs 0023/0044), and
calculating a total required time (estimated duration of the execution/Estimated Execution Duration 415) for each candidate path to complete the multiple sequent subtasks based on the feature vectors (“…In some embodiments, using the systems and methods described herein, a task may be scheduled to finish prior to a need-by time that may be specified by a client. Based on prior execution times for similar tasks in addition to other usage data for the provider network, an estimated duration of the execution of the task may be determined so that the task may be automatically scheduled to complete by the user-specified deadline. Through the added flexibility of the execution window provided by the need-by time, the cost of the compute instances and other resources used to execute the task may be minimized…” paragraphs 0048/0050); and
selecting the candidate path with the shortest total time (earliest possible time) to process the multiple sequent subtasks (“…The resource manager 180 may support several types of task execution queries in some embodiments. For example, a client 148 may, instead of supplying a deadline for a task, wish to determine the earliest possible time at which a task can be completed within a given budget constraint. Or, the client 148 may, instead of specifying a budget constraint, wish to determine the cost of completing a task before a target deadline. As noted above, various other types of task execution queries may also be supported in some embodiments: e.g., queries requesting a least-estimated-cost plan, queries requesting plans that include acquiring a specified number and/or type of resource instance, or queries that request plans for data transfers of a specified amount of data or a specific data set. The interface for task execution requests supported by the resource manager 180 may allow clients to specify various different "what-if scenarios" using combinations of such different types of queries before a specific execution plan is chosen or approved for implementation. Once an execution plan is implemented, e.g., by starting an execution of a first compute sub-task or data transfer sub-task, the client 148 may be allowed to view the current status of the execution via the interface in some embodiments…” paragraph 0037).
Shih silent with reference to obtaining multiple candidate paths that are capable of processing the sequent subtasks based on a network topology information table.
LU teaches obtaining multiple candidate paths that are capable of processing the sequent subtasks based on a network topology information table (hierarchical computing resource management…tree structure) (“…A suitable for large scale efficient computer of hierarchical computing resource management method through hierarchical software frame structure all the compute nodes organized in a tree structure, each computing node tree comprises three different node types, i.e…leaf nodes, leaf node is responsible for computing execution task, a layer of intermediate node sending a job execution situation and node resource using condition, and up a layer of intermediate node reporting task execution result;...intermediate node: the main function of the intermediate nodes comprises: (1) receiving on the one layer intermediate node or root node allocated task, a layer of intermediate node or root node sending a job execution situation and node resource using condition, and reporting the execution result of the task, (2) real time monitoring state of the next layer node or leaf node, collecting the node load information of all nodes, (3) task scheduling decisions to ensure load balancing between lower nodes, (4) communication with the lower node. allotting computing task, and receiving the calculating result;…root node, the root node different from the management node high efficient computer. It is of efficient computer management node randomly selected in one computing node, The main function of the root node comprises: (a) receiving a computing job management node distribution, analyzing each task in the operation resource request type, the computing job is divided into a series of task, sending the operation execution condition and node resource using condition to the management node, and the management node returns the job execution result; (b) real-time monitoring computing nodes in the tree state of all nodes to collect the load information of the middle node and the subordinate node, (c) according to the load information of the master node, the task scheduling decisions so that each intermediate node to keep load balance, (d) the middle node communication and allotting computing task, and receiving the calculating result…A) establishing node tree: firstly, the management node randomly selects a computing node as a first tree node calculating the tree, then uses the communication cost information such as distance, adding the weight between nodes closest to the calculating node tree distance between computing nodes in the computing node tree order from small to big according to the weight. tree construction algorithm uses B tree algorithm to ensure that computing node tree is a balanced tree, there is no one middle node load is heavy and the other condition free of an intermediate node… B) executing a computing job management node computer delivering the job to the computing node on the tree as root node, the root node according to the user submitting description information contained in the job automatically dividing a computing job into a series of calculation task…” paragraphs 0011-0014/0016/0017).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Shih with the teaching of LU because the teaching of LU would improve the system of Shih by providing a hierarchical technique for using a sequence of nodes for executing tasks and subtasks.
As to claim 5, LU teaches the task scheduling method according to claim 1, wherein the feature information of the candidate paths comprises information of each computing node that forms the candidate paths, and network topology information (hierarchical computing resource management…tree structure) (“…A suitable for large scale efficient computer of hierarchical computing resource management method through hierarchical software frame structure all the compute nodes organized in a tree structure, each computing node tree comprises three different node types, i.e…leaf nodes, leaf node is responsible for computing execution task, a layer of intermediate node sending a job execution situation and node resource using condition, and up a layer of intermediate node reporting task execution result;...intermediate node: the main function of the intermediate nodes comprises: (1) receiving on the one layer intermediate node or root node allocated task, a layer of intermediate node or root node sending a job execution situation and node resource using condition, and reporting the execution result of the task, (2) real time monitoring state of the next layer node or leaf node, collecting the node load information of all nodes, (3) task scheduling decisions to ensure load balancing between lower nodes, (4) communication with the lower node. allotting computing task, and receiving the calculating result;…root node, the root node different from the management node high efficient computer. It is of efficient computer management node randomly selected in one computing node, The main function of the root node comprises: (a) receiving a computing job management node distribution, analyzing each task in the operation resource request type, the computing job is divided into a series of task, sending the operation execution condition and node resource using condition to the management node, and the management node returns the job execution result; (b) real-time monitoring computing nodes in the tree state of all nodes to collect the load information of the middle node and the subordinate node, (c) according to the load information of the master node, the task scheduling decisions so that each intermediate node to keep load balance, (d) the middle node communication and allotting computing task, and receiving the calculating result…A) establishing node tree: firstly, the management node randomly selects a computing node as a first tree node calculating the tree, then uses the communication cost information such as distance, adding the weight between nodes closest to the calculating node tree distance between computing nodes in the computing node tree order from small to big according to the weight. tree construction algorithm uses B tree algorithm to ensure that computing node tree is a balanced tree, there is no one middle node load is heavy and the other condition free of an intermediate node… B) executing a computing job management node computer delivering the job to the computing node on the tree as root node, the root node according to the user submitting description information contained in the job automatically dividing a computing job into a series of calculation task…” paragraphs 0011-0014/0016/0017).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Shih with the teaching of LU because the teaching of LU would improve the system of Shih by providing a hierarchical technique for using a sequence of nodes for executing tasks and subtasks.
As to claim 6, LU teaches the task scheduling method according to claim 5, wherein the information of the computing node comprises: supported operation types, current load rate, usage, and number of concurrent tasks (“…intermediate node: the main function of the intermediate nodes comprises: (1) receiving on the one layer intermediate node or root node allocated task, a layer of intermediate node or root node sending a job execution situation and node resource using condition, and reporting the execution result of the task, (2) real time monitoring state of the next layer node or leaf node, collecting the node load information of all nodes, (3) task scheduling decisions to ensure load balancing between lower nodes, (4) communication with the lower node. allotting computing task, and receiving the calculating result;…root node, the root node different from the management node high efficient computer. It is of efficient computer management node randomly selected in one computing node, The main function of the root node comprises: (a) receiving a computing job management node distribution, analyzing each task in the operation resource request type, the computing job is divided into a series of task, sending the operation execution condition and node resource using condition to the management node, and the management node returns the job execution result; (b) real-time monitoring computing nodes in the tree state of all nodes to collect the load information of the middle node and the subordinate node, (c) according to the load information of the master node, the task scheduling decisions so that each intermediate node to keep load balance, (d) the middle node communication and allotting computing task, and receiving the calculating result…node basic information comprises the name of said unnamed node, CPU quantity, CPU, CPU type, CPU basic frequency, memory capacity, operating system type, operating system bit, system operation state, the latest five minutes average load, the current running task number and the last information connection time, and the like. node limit information includes the node is available, the maximum available CPU number, the CPU load threshold is automatically started, the home node cell, task information of these contents. the administrator can limit the use of nodes at this, and for storing the modification by clicking the storing button…” paragraphs 0013/0014/0027).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Shih with the teaching of LU because the teaching of LU would improve the system of Shih by providing a loading balancing technique executing task/subtasks based on the load of the respective node load.
As to claim 8, Shih teaches the task scheduling method according to claim 1, wherein the feature information of the subtasks comprises: batch size, data packet size of the subtasks, and data type (“…In some embodiments, clients may specify instance count requirements 313 (e.g., a requirement that N instances of a particular type be allocated) and/or data transfer requirements 315 (e.g., indicating an amount of data to be transferred, or a specific data set to be transferred, from a specified source to a specified destination). The task specification 307 may indicate various details of the task, e.g., whether the task is a compute task or a data transfer task, what programs or executables are to be used for the task, how the success of the task is to be determined, performance-related requirements (such as minimum CPU power, memory size, network bandwidth), and so on. In embodiments where the client 148 is allowed to specify subtasks, the same kinds of information may be specified for each subtask…” paragraph 0044).
As to claim 9, Shih teaches the task scheduling method according to claim 1, wherein the feature vectors further comprises feature information of hardware (“…In some embodiments, clients may specify instance count requirements 313 (e.g., a requirement that N instances of a particular type be allocated) and/or data transfer requirements 315 (e.g., indicating an amount of data to be transferred, or a specific data set to be transferred, from a specified source to a specified destination). The task specification 307 may indicate various details of the task, e.g., whether the task is a compute task or a data transfer task, what programs or executables are to be used for the task, how the success of the task is to be determined, performance-related requirements (such as minimum CPU power, memory size, network bandwidth), and so on. In embodiments where the client 148 is allowed to specify subtasks, the same kinds of information may be specified for each subtask. Budget constraints and timing constraints may also be specified at the subtask level as well as, or instead of, at the task level in some embodiments. Budget constraints 309 may include, for example, the total price the client is willing to pay for task or subtask completion or the maximum usage-based billing rate the client is willing to pay. Timing constraints 311 may indicate the deadline by which the task or subtask is to be completed. In some embodiments, specific budget constraints and/or timing constraints may be omitted, allowing the resource manager 180 even greater flexibility in planning and scheduling tasks and subtasks…” paragraphs 0044/0059/0078).
As to claim 10, Shih teaches the task scheduling method according to claim 9, wherein the feature information of the hardware comprises: number of processor cores, processor load, memory size, and memory usage (“…Other clients may wish to specify a few constraints--such as the total number and/or sizes of instances to be used, or in the case of data transfer tasks…In response, the resource manager 180 may generate one or more execution plans for the task, using the information provided by the client in the request, as well as additional sources of information such as the pricing and/or interruptibility polices in effect for the various resource pools 121, and in some cases resource usage data. The resource usage data (which may be retrieved from resource management database 191 in some embodiments) may, for example, include the requesting client's past task execution history, resource utilization history, billing history, and overall resource usage trends for a given set of instances 130 that may be usable for the client's tasks. In some cases, the resource manager may use past resource usage data and trends for a given set of resource instances to develop projections of future resource usage and use these projections in developing the execution plan or plans…In some embodiments, clients may specify instance count requirements 313 (e.g., a requirement that N instances of a particular type be allocated) and/or data transfer requirements 315 (e.g., indicating an amount of data to be transferred, or a specific data set to be transferred, from a specified source to a specified destination). The task specification 307 may indicate various details of the task, e.g., whether the task is a compute task or a data transfer task, what programs or executables are to be used for the task, how the success of the task is to be determined, performance-related requirements (such as minimum CPU power, memory size, network bandwidth), and so on. In embodiments where the client 148 is allowed to specify subtasks, the same kinds of information may be specified for each subtask. Budget constraints and timing constraints may also be specified at the subtask level as well as, or instead of, at the task level in some embodiments. Budget constraints 309 may include, for example, the total price the client is willing to pay for task or subtask completion or the maximum usage-based billing rate the client is willing to pay. Timing constraints 311 may indicate the deadline by which the task or subtask is to be completed. In some embodiments, specific budget constraints and/or timing constraints may be omitted, allowing the resource manager 180 even greater flexibility in planning and scheduling tasks and subtasks…” paragraphs 0022/0033/0044/0059/0078).
Claim 2 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 20140229221 A1 to Shih et al. in view of C.N. No. 103268261 A to LU et al. as applied to claim 5 above, and further in view of U.S. Pub. No. 2019/0171494 A1 to Nucci et al.
As to claim 2, Shih as modified by LU teaches the task scheduling method according to claim 1, however it is silent with reference to wherein calculating the total required time for each candidate path to complete the multiple sequent subtasks further comprises:
calculating the total required time for each candidate path to complete the multiple sequent subtasks via a regression model.
Nucci teaches wherein calculating the total required time for each candidate path to complete the multiple sequent subtasks further comprises: calculating the total required time for each candidate path to complete the multiple sequent subtasks via a regression model (multi-linear regression model) (“…The optimal cluster configuration profiler 306 can use one or more multi-linear regression models to determine expected completion times of a job across different cluster configurations. A multi-linear regression model can indicate completion times of a job as a function of load on the different cluster configurations for the job. Additionally, a multi-linear regression model can be specific to a cluster configuration. For example, a multi-linear regression model can specify…At step 408, the optimal cluster configuration solver 308 identifies an optimal cluster configuration of the varying cluster configurations for the job in the remote cluster computing system based on the identified expected completion times of the production load across the varying cluster configurations. An optimal cluster configuration can be identified using the expected completion times across the varying cluster configurations based on a service level objective deadline of the job. Additionally, an optimal cluster configuration can be identified using the expected completion times across the varying cluster configurations based on costs to implement or otherwise utilize the varying cluster configurations in the remote cluster computing system…” paragraphs 0079/00800097).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Shih and LU with the teaching of Nucci because the teaching of Nucci would improve the system of Shih and LU by providing a regression analysis for estimating the relationship between a dependent variable and one or more independent variables to determine most closely fits data according to a specific mathematical criterion that best predicts or forecasts a result.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 20140229221 A1 to Shih et al. in view of C.N. No. 103268261 A to LU et al. as applied to claim 5 above, and further in view of U.S. Pub. No. 2018/0255150 A1 to Williams et al.
As to claim 7, Shih as modified by LU teaches the task scheduling method according to claim 5, however it is silent with reference to wherein the network topology information comprises: distance between adjacent computing nodes in the same candidate path.
Williams teaches wherein the network topology information comprises: distance between adjacent computing nodes in the same candidate path (distance) (“…Topology module 212 may create and update one or more topology data structures that represent the physical locations of the nodes and the applications running on the respective nodes. The one or more topology data structures may include a node topology data structure and an application topology data structure. The node topology data structure may be associated with node topology data and may represent the physical locations of one or more nodes and the distances between the one or more nodes. As discussed above, the physical locations may be relative physical locations or absolute physical locations. The application topology data structure may represent the applications of the one or more nodes and may be used by relationship detection module 214…” paragraph 0035).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Shih and LU with the teaching of Williams because the teaching of Williams would improve the system of Shih and LU by providing a node topology data structures for selecting nodes for executing tasks based on the distance between nodes.
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pub. No. 20140229221 A1 to Shih et al. in view of C.N. No. 103268261 A to LU et al. as applied to claim 5 above, and further in view of U.S. Pat. No. 10891156 B1 issued to Zhao et al.
As to claim 11, see the rejection of claim 1 above, expect for an AI cloud computing system, comprising:
a plurality of AI computing platforms, each AI computing platform comprising at least one computing component,
each computing component comprising:
a processor and multiple computing nodes, wherein the computing nodes are connected to the processor, and the computing nodes are connected to each other.
Zhao teaches a plurality of AI computing platforms, each AI computing platform comprising at least one computing component (deep learning training task),
each computing component comprising:
a processor (Central Processing Unit 202) and multiple computing nodes (Worker Server Nodes 130), wherein the computing nodes are connected to the processor, and the computing nodes are connected to each other (“…FIG. 3 is a high-level flow diagram of a method for executing tasks using a data coordination engine, according to an embodiment of the invention. For illustrative purposes, the workflow of FIG. 3 will be discussed in the context of the computing system of FIG. 1. As noted above, the parameter server nodes 110 will manage the execution of a master job (e.g., training a deep learning model) by assigning tasks and data across the worker server nodes 130, which are associated with the master job to be executed. On a given worker server node, the task scheduler/dispatcher module 131 will assign local computing resources to a given task, and schedule a time for executing the given task on the worker server node using the assigned computing resources (block 300). The local computing resources may include, for example, the accelerator devices 230 (e.g., GPU devices), memory, etc. The task scheduler/dispatcher module 131 will dispatch a given task for execution by one or more local processor devices (e.g., CPU and/or GPU) at the scheduled time to continue with execution of the given task (block 302). For example, for a deep learning training task, the initial phase of task execution may include preparing a set of training samples for a learning process…” Col. 9 Ln. 50-67, Col. 10 Ln. 1-10).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to modify the system of Shih and LU with the teaching of Lin because the teaching of Lin would improve the system of Shih and LU by providing a technique for building computational systems capable of performing tasks that typically require human intelligence, such as learning, reasoning, pattern recognition, and decision-making instead of following explicit step-by-step code, ingesting vast datasets and learn from them over time.
Allowable Subject Matter
Claims 3 and 4 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Reasons for allowance
The following is an examiner’s statement of reasons for allowance:
The closest prior art of records, (U.S. Pub. No. 20140229221 A1 to Shih et al. and C.N. No. 103268261 A to LU et al.), taken alone or in combination do not specifically disclose or suggest the claimed recitations (claims 3 and 4), when taken in the context of claims as a whole.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
C.N. No. 115525423A to Liu and directed computing task allocation method, distributed computing system and device.
U.S. Pub. No. 2014/0006534 to Jain et al. and computing nodes are configured to process subtasks that match their supported operation types.
W.O. No. 2022222567 A1 to LI et al. and directed to scheduling tasks.
C.N. No. 117931394 A to Gao et al. and directed to a method for dispatching task and subtasks using a trusted data analysis cluster.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES E ANYA whose telephone number is (571)272-3757. The examiner can normally be reached Mon-Fir. 9-6pm.
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, KEVIN YOUNG can be reached at 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 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.
/CHARLES E ANYA/Primary Examiner, Art Unit 2194