Detailed Action
This action is in response to the application filed on 02/12/2026. Claims 1-23 are
pending and have been fully examined.
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 .
Status of the Claims
Claims 1-23 are rejected under 35 U.S.C. 103
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-23 are rejected under 35 U.S.C. 103 as being unpatentable over Lemarinier et al. (U.S. Patent No. 9,448,842 B1), hereinafter referred to as Lemarinier, in view of Annen et al. (U.S. Patent No. 12,476,992 B2), hereinafter referred to as Annen.
Regarding Claim 1, Lemarinier teaches:
A processor, comprising: one or more circuits to cause one or more processors of a group of processors to receive a plurality of jobs and to execute the plurality of the jobs based at least on part on a job scheduler, (Col. 3, lines 30-35; Col. 5, lines 58-67; Col. 6, lines 1-5);
wherein the job scheduler is to monitor the group of processors… to allow at least another parallel processor(s) to join the subset to execute the at least one of the jobs that had failed to be completely performed without restarting the entire job that had failed to completely perform. (Col. 5, lines 15-20, 64-67; regarding, “a job execution scheduling system in accordance with example embodiments of the disclosure is configured to manage job execution for a distributed system, and thus, is configured handle issues that an operating system (OS)/scheduler for a single system is not such as, for example, node failure… the job execution scheduling system 200 may include, without limitation, a scheduler module 202, a job monitoring module 204, a dispatcher module 206, and a resource management module 208.”; Col. 6, lines 39-44; regarding, “checkpoint currently executing jobs (e.g., completely halt execution of a job, save an execution state of the job, and reinitiate execution at a later point in time from the saved execution state potentially on one or more different processing nodes 210), and so forth.”);
Lemarinier fails to explicitly disclose but Annen teaches:
wherein the job scheduler is to monitor the group of processors so that if a subset of parallel processors of the group were to execute at least one of the jobs that had failed to completely perform a first software program, the job scheduler is to prevent the subset from being allocated to perform a second software program until at least expiration of an amount of time by the job scheduler to allow at least another parallel processor(s) to join the subset to execute the at least one of the jobs that had failed to be completely performed… (Col. 13, lines 5-15; regarding, “In the event that the first node running the first set of job scheduling processes fails (e.g., due to a network failure or a physical machine failure), the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”; Col. 10, lines 33-61; regarding, “Each node in the cluster may run a Virtual Router Redundancy Protocol (VRRP) daemon. A daemon may comprise a background process. Each VRRP daemon may include a list of all floating IP addresses available within the cluster. In the event that the first node associated with the first floating IP address fails, one of the VRRP daemons may automatically assume or pick up the first floating IP address… if a node fails, then there may be a clear priority ordering for determining which other node in the cluster will take over the failed node's floating IP address.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Lemarinier with the teachings of Annen. Doing so could reduce network congestion (Annen, Col. 12, lines 50-54).
Regarding Claim 2, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein the at least one of the jobs is to be restarted using the subset including at least another parallel processor(s) at the amount of time or longer after failure. (Annen, Col. 13, lines 10-15; regarding, “In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 3, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein the at least one of the jobs that failed to completely perform is to be reverted to a checkpoint based at least in part on parallel processors of the subset that did not fail. (Lemarinier, Col. 6, lines 39-44; regarding, “checkpoint currently executing jobs (e.g., completely halt execution of a job, save an execution state of the job, and reinitiate execution at a later point in time from the saved execution state potentially on one or more different processing nodes 210), and so forth.”).
Regarding Claim 4, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein the subset of parallel processors that did not fail only are, prior to expiration of an amount of time, to be allocated to perform the at least one of the jobs. (Annen, Col. 13, lines 5-15; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 5, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein expiration of the amount of time or longer comprises an amount of time to elapse from the failure of the at least one of the jobs, after which the at least another parallel processor(s) is to also execute the at least one of the jobs. (Annen, Col. 13, lines 5-15; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 6, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein expiration of the amount of time or longer comprises a predetermined point in time following the failure of the at least one of the jobs, after which the at least another parallel processor(s) is to also execute the at least one of the jobs. (Annen, Col. 13, lines 5-15; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 7, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein, after the at least one of the jobs has completed, the subset of parallel processors that did not fail and the at least another parallel processor(s) are to initiate another job that is different from the at least one of the jobs on at least the subset of parallel processors that did not fail including the at least another parallel processor(s). (Lemarinier, Col. 9, lines 18-36; regarding, “in response to the resource request 310, job J3 may be resized by de-allocating processing node 1 from job J3 at time t.sub.2 (e.g., ceasing execution of J3 on processing node 1 at time t2). From time t.sub.2 until execution completion, job J3 may be in an execution state 308B in which job J3 executed only on processing node 0. In addition, processing node 1 that has now been made available may initiate execution of a portion of job J2 at time t.sub.2 such that from time t.sub.2 until execution completion, job J2 is in an execution state 304B in which job J2 is executing on both processing node 1 and processing node 2. Further, job J2 may be executed on processing nodes 1 and 2 for a longer period of time to accommodate the request for additional execution time. Moreover, job J4 (which is initially scheduled for execution on processing nodes 2 and 3) may be rescheduled to a future execution state 306B in which job J4 is executed only on processing node 3. Alternatively, the scheduler module 202 may allocate processing node 3 for execution of a different job than job J4.”).
Regarding Claim 8, Lemarinier teaches:
A method, comprising: executing a plurality of jobs based at least on part on a job scheduler, (Col. 3, lines 30-35; Col. 5, lines 58-67; Col. 6, lines 1-5);
wherein executing at least one of the jobs on a subset of parallel processors of a group of processors and monitoring status of the group of processors including the subset of parallel processors with the job scheduler so that if the subset managed by the job scheduler were to fail to completely execute the at least one of the jobs, the job scheduler would allow… at least another parallel processor(s) to join the subset to execute the at least one of the jobs that had failed to completely perform without restarting the entire job that had failed to completely perform. (Col. 5, lines 15-20, 64-67; regarding, “a job execution scheduling system in accordance with example embodiments of the disclosure is configured to manage job execution for a distributed system, and thus, is configured handle issues that an operating system (OS)/scheduler for a single system is not such as, for example, node failure… the job execution scheduling system 200 may include, without limitation, a scheduler module 202, a job monitoring module 204, a dispatcher module 206, and a resource management module 208.”; Col. 6, lines 39-44; regarding, “checkpoint currently executing jobs (e.g., completely halt execution of a job, save an execution state of the job, and reinitiate execution at a later point in time from the saved execution state potentially on one or more different processing nodes 210), and so forth.”);
Lemarinier fails to explicitly disclose but Annen teaches:
so that if the subset managed by the job scheduler were to fail to completely execute the at least one of the jobs, the job scheduler would allow an amount of time or longer after failure of at least one parallel processor(s) of the subset to allow at least another parallel processor(s) to join the subset to execute the at least one of the jobs that had failed to completely perform… (Col. 13, lines 5-15; regarding, “In the event that the first node running the first set of job scheduling processes fails (e.g., due to a network failure or a physical machine failure), the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”; Col. 10, lines 33-61; regarding, “Each node in the cluster may run a Virtual Router Redundancy Protocol (VRRP) daemon. A daemon may comprise a background process. Each VRRP daemon may include a list of all floating IP addresses available within the cluster. In the event that the first node associated with the first floating IP address fails, one of the VRRP daemons may automatically assume or pick up the first floating IP address… if a node fails, then there may be a clear priority ordering for determining which other node in the cluster will take over the failed node's floating IP address.”).
Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to which said subject matter pertains to combine Lemarinier with the teachings of Annen. Doing so could reduce network congestion (Annen, Col. 12, lines 50-54).
Regarding Claim 9, Lemarinier in view of Annen teaches the method of claim 8 as referenced above. Lemarinier in view of Annen further teaches:
and further comprising:
restarting the at least one of the jobs using the subset including after failure of at least one parallel processor(s) of the subset to allow the at least another parallel processor(s) to join the subset to execute the at least one of the jobs that had failed to be completely performed. (Annen, Col. 13, lines 10-15; regarding, “In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 10, Lemarinier in view of Annen teaches the method of claim 8 as referenced above. Lemarinier in view of Annen further teaches:
wherein the restarting comprises first software program is to be reverting to a checkpoint based at least in part on the subset of parallel processors that did not fail. (Lemarinier, Col. 6, lines 39-44; regarding, “checkpoint currently executing jobs (e.g., completely halt execution of a job, save an execution state of the job, and reinitiate execution at a later point in time from the saved execution state potentially on one or more different processing nodes 210), and so forth.”).
Regarding Claim 11, Lemarinier in view of Annen teaches the method of claim 8 as referenced above. Lemarinier in view of Annen further teaches:
wherein the reverting comprises allocating the subset of parallel processors only that did not fail, prior to expiration of an amount of time, to perform the at least one of the jobs. (Annen, Col. 13, lines 5-15; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 12, Lemarinier in view of Annen teaches the method of claim 8 as referenced above. Lemarinier in view of Annen further teaches:
wherein expiration of an amount of time comprises an amount of time to elapse from the failure of the group of the at least one parallel processor of the subset. (Annen, Col. 13, lines 5-15; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 13, Lemarinier in view of Annen teaches the method of claim 8 as referenced above. Lemarinier in view of Annen further teaches:
wherein expiration of an amount of time comprises a predetermined point in time following the failure of the at least one parallel processor of the subset. (Annen, Col. 13, lines 5-15; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started). In response to detecting jobs that have failed to be updated within the threshold period of time, the distributed job scheduler 308 may undo and restart the failed jobs on available nodes within the cluster.”).
Regarding Claim 14, Lemarinier in view of Annen teaches the method of claim 8 as referenced above. Lemarinier in view of Annen further teaches:
and further comprising:
after the at least one of the jobs has completed, initiating, on at least the subset of parallel processors that did not fail including the at least another parallel processor(s), another job that is different from the at least one of the jobs. (Lemarinier, Col. 9, lines 18-36; regarding, “in response to the resource request 310, job J3 may be resized by de-allocating processing node 1 from job J3 at time t.sub.2 (e.g., ceasing execution of J3 on processing node 1 at time t2). From time t.sub.2 until execution completion, job J3 may be in an execution state 308B in which job J3 executed only on processing node 0. In addition, processing node 1 that has now been made available may initiate execution of a portion of job J2 at time t.sub.2 such that from time t.sub.2 until execution completion, job J2 is in an execution state 304B in which job J2 is executing on both processing node 1 and processing node 2. Further, job J2 may be executed on processing nodes 1 and 2 for a longer period of time to accommodate the request for additional execution time. Moreover, job J4 (which is initially scheduled for execution on processing nodes 2 and 3) may be rescheduled to a future execution state 306B in which job J4 is executed only on processing node 3. Alternatively, the scheduler module 202 may allocate processing node 3 for execution of a different job than job J4.”).
Claims 15-20 are rejected under 35 U.S.C. 103 under the same grounds of rejection as claims 1-5 and 7 respectively.
Regarding Claim 21, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein the expiration time comprises a predetermined duration or a dynamically determined duration. (Annen, Col. 13, lines 7-11; regarding, “the states of the jobs managed by the first set of job scheduling processes may fail to be updated within a threshold period of time (e.g., a job may fail to be completed within 30 seconds or within minutes from being started).”).
Regarding Claim 22, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein the job that had failed to be completely performed is able to resume execution by reverting the job to a checkpoint comprising a saved state so as to preserve progress of that job. (Lemarinier, Col. 6, lines 39-43; regarding, “checkpoint currently executing jobs (e.g., completely halt execution of a job, save an execution state of the job, and reinitiate execution at a later point in time from the saved execution state potentially on one or more different processing nodes 210), and so forth.”).
Regarding Claim 23, Lemarinier in view of Annen teaches the processor of claim 1 as referenced above. Lemarinier in view of Annen further teaches:
wherein the at least another parallel processor(s) comprises at least one replacement processor of the group not used to perform a job prior to the failure and is to be available for the job that had failed to completely perform as the at least one replacement processor. (Annen, Col. 12, lines 55-60; regarding, “The distributed job scheduler 308 may comprise a distributed fault tolerant job scheduler, in which jobs affected by node failures are recovered and rescheduled to be run on available nodes.”).
Response to Arguments
Applicant’s arguments filed 2/12/2026 have been fully considered.
Applicant’s arguments with respect to the 35 U.S.C rejection 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
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MATHEW GUSTAFSON whose telephone number is (571)272-5273. The examiner can normally be reached Monday-Friday 8:00-4:00.
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, Bryce Bonzo can be reached at (571) 272-3655. 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.
/M.D.G./Examiner, Art Unit 2113 /BRYCE P BONZO/Supervisory Patent Examiner, Art Unit 2113