DETAILED ACTION
Claims 1-18 and 20-21 are presented for examination.
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 .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-8, 10-18, and 20-21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foerster et al. (US PG Pub No. 2021/0027197 A1) in view of Sabella et al. (US PG Pub No. 2018/0183855 A1).
Regarding claim 1, Foerster teaches a computer-implemented method for load balancing of a multi-task process, the computer-implemented method comprising:
generating, by one or more processors and using an optimization model, an optimal processing decision for an individual computing task of the multi-task process ([0007]; Fig 2, 240; [0066]), wherein:
(a) the optimal processing decision is based on
(b) the plurality of task parameters comprises a plurality of computing operations associated with the individual computing task ([0007-8]; [0014]; [0016]);
(c) the plurality of processing environments comprises a local processing environment and a remote processing environment ([0037]; [0044]), and
(d) the optimal processing decision identifies the local processing environment or the remote processing environment as an optimal processing environment for executing the plurality of computing operations of the individual computing task ([0037]; [0090]); and
initiating, by the one or more processors, the performance of the individual computing task based on the optimal processing decision (Fig 2, 250; [0072]).
Foerster does not teach the optimal processing decision is based on at least one of a complexity attribute, a time attribute, or a processing intensity attribute based on a plurality of task parameters of the individual computing task.
Sabella teaches classifying application tasks in categories such as computation hungry, intermediate and moderate data processing applications based on data processing and data transfer requirements ([0042-45], i.e. complexity attribute derived from task parameters). Sabella further teaches determining to offload based on tradeoffs between computation time for task execution and communication cost by supplying both a time attribute and processing intensity attribute basis ([0042]; [0059]).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to determine at least one of a complexity attribute, a time attribute, or a processing intensity attribute based on a plurality of task parameters of the individual computing task. One would be motivated by the desire to make the decision to offload based on tradeoffs between execution and communication costs as taught by Sabella.
Regarding claim 2, Foerster teaches receiving, by the one or more processors, a dependency graph for the multi-task process, wherein the dependency graph comprises a plurality of task nodes corresponding to a plurality of interdependent computing tasks of the multi-task process ([0007]); and identifying, by the one or more processors, the individual computing task based on the dependency graph ([0007]).
Regarding claim 3, Foerster teaches wherein identifying the individual computing task comprises: receiving, by the one or more processors, a current graph state and one or more task dependencies for the dependency graph ([0043]); and identifying, by the one or more processors, the individual computing task based on the current graph state and the one or more task dependencies ([0007]).
Regarding claim 4, Foerster teaches wherein the local processing environment comprises a containerized environment configured to run the multi-task process ([0062]).
Regarding claim 5, Foerster teaches wherein the remote processing environment comprises at least one serverless instance ([0040]).
Regarding claim 6, Foerster teaches wherein generating the optimal processing decision comprises: receiving, by the one or more processors, a current local state for the local processing environment ([0043]); and generating, by the one or more processors and using the optimization model, the optimal processing decision for the individual computing task based on the current local state ([0043]).
Regarding claim 7, Foerster teaches wherein the current local state is indicative of at least one of a processing capability, an available memory, or a processing queue for the local processing environment ([0060]).
Regarding claim 8, Foerster teaches wherein generating the optimal processing decision comprises: receiving, by the one or more processors, a current remote state for the remote processing environment ([0043]); and generating, by the one or more processors and using the optimization model, the optimal processing decision for the individual computing task based on the current remote state ([0043]).
Regarding claim 10, Foerster teaches wherein the current remote state is indicative of at least one of a processing capability, an available memory, or a processing queue for the remote processing environment ([0060]).
Regarding claim 11, Foerster does not teach wherein the current remote state is indicative of a percentage of the processing capability currently available for the remote processing environment.
Foerster teaches the context information for the computational environment can include data identifying the processing and/or storage capabilities of the available computing devices, available memory on the available computing devices ([0060]). Official Notice is made that it is old and well known to express available processing and memory resources as a percentage. Therefore, it would have been obvious to one or ordinary skill in the art before the effective filing date of the invention to indicate a percentage of the processing capability currently available. One would be motivated by the desire to express available resources as a percentage for easier comprehension and comparison by standardizing the value to a base of 100.
Regarding claim 12, Foerster teaches wherein: the individual computing task comprises one or more task parameters, the one or more task parameters comprise at least one of a task identifier, one or more task services, and one or more task arguments, and the optimal processing decision is based on the one or more task parameters ([0050-51], wherein data characterizing the computational graph would inherently include task identify and arguments).
Regarding claims 13-18 and 20, they are the apparatus and media claims of claims 1-2, and 4-8 above. Therefore, they are rejected for the same reasons as claims 1-2, and 4-8 above.
Regarding claim 21, Sabella teaches wherein the plurality of computing operations comprises a primitive local operation and an Application Programming Interface (API) call ([0064]; [0066]; [0111]; [0128]).
Claim(s) 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Foerster et al. (US PG Pub No. 2021/0027197 A1) in view of Sabella et al. (US PG Pub No. 2018/0183855 A1), further in view of Johnson et al. (US PG Pub No. 2016/0063192 A1).
Regarding claim 9, Foerster does not teach wherein the current remote state is indicative of a probability of instantiating a remote instance of the remote processing environment based on the individual computing task.
Johnson teaches tracking resource state enabling probability calculation of start and complete times of tasks ([0201]). It would have been obvious to one or ordinary skill in the art before the effective filing date of the invention to indicate a probability of instantiating a remote instance of the remote processing environment based on the individual computing task. One would be motivated by the desire to identify state changes of a resource and determining effect on schedule and workflow ahead of real time as taught by Johnson ([0201]).
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-18 and 20-21 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERIC C WAI whose telephone number is (571)270-1012. The examiner can normally be reached Monday - Friday 9-5.
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, Aimee Li can be reached at (571) 272-4169. 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.
/Eric C Wai/Primary Examiner, Art Unit 2195