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 .
This communication is responsive to the amendment filed 05/19/2026.
Claims 1-3, 6-12, 14-17, 19-23, and 25 are pending in this application.
The rejection of claims 1-3, 6-12, 14-17, 19-23, and 25 under 35 USC § 101 has been withdrawn in view of Applicant's amendment and arguments.
Claim Rejections - 35 USC § 103
2. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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 may not be obtained though the invention is not identically disclosed or described as set forth in section 102 of this title, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made.
Claims 1-3, 6-12, 14-17, 19-23 and 25 are rejected under 35 U.S.C. 103 as being unpatentable over Farhan et al. (US 20160224381) in view of Wang et al. (US 20200192715).
As to claim 1:
Farhan teaches a method of priority-based scheduling with limited resources (Abstract: Methods and systems for optimizing workloads on information handling systems), the method comprising:
selecting, by a resource manager based on information from a workload initiator describing characteristics of a workload, a priority level for the workload and a processor component to execute the workload, wherein the selected processor component is selected from a processor core and a media encoding/decoding accelerator each having an associated job scheduler ([0033]: “…User interface represents a user interface that a user may operate to use policy processing engine, for example to specify the workload or to select a profile used to implement a particular workload policy…”; [0039]: “In operation, policy processing engine may receive a workload request, such as from a user via user interface. The workload request may specify a computing task, such as a computing task executed by application…The workload request may include an indication of a particular one of HIS profile. Alternatively, policy processing engine may select one of HIS profile based on other information, such as the user (or user account) or application…”; [0040]: “Based on the workload request, policy processing engine 210 may determine workload attributes of the computing task. The workload attributes may include dependencies of the computing task on hardware resources 260. For example, when the computing task includes multithreading, activation of multiple cores within a CPU, when available, may be desirable. Alternatively, when the computing task executes within a single thread, the computing task may execute most efficiently when sent to a single core within a CPU, which may be desirable. Accordingly, the workload attributes may specify any one or more of a degree of multithreading, a thread priority, and an instruction set architecture. The workload attributes may specify any one or more of a desired processor frequency, processor cache capacity, processor cache architecture, processor cache throughput, memory capacity, memory bus speed, memory throughput, and usage of a non-uniform memory architecture, for example. The workload attributes may specify a desired degree of background execution or a tolerable network latency, for example. The workload attributes may further specify any one or more of a desired storage capacity, a minimum storage available, a storage data throughput, and a storage latency. The workload attributes may also specify any one or more of a degree of acceleration by a graphics processing unit, a vertical synchronization setting, a degree of digital signal processing, a degree of integer processing, a degree of background execution, and an operating system, among other desired attributes for the workload; [0061]: decision engine 308 may distribute resource requests based on optimization criteria, such as optimization criteria for certain hardware resources. In some embodiments, the optimization criteria may be specific to particular application or activity, such as speed, power, priority, security, reliability, location, etc. Decision engine 308 may receive optimization criteria with the resource request. For example, the resource request may indicate prioritization of speed over security for processing the resource request. In some embodiments, decision engine 308 may derive optimization criteria from context information. As an example and not by way of limitation, a computationally intensive application, such as MATLAB™ from The MathWorks, Incorporated of Natick, Mass., may contain an application profile 342-2 indicating the application is resource intensive. Based on application profile 342-2, decision engine 308 may accordingly determine optimization criteria that indicate prioritizing processing and memory resources over graphics or storage, for example”);
receiving, by the job scheduler of the selected processor component from the resource manager, the priority level for the workload ([0040]: “based on the workload request, policy processing engine may determine workload attributes of the computing tasks. The workload attributes may include dependencies of the computing tasks on hardware resources. For example, when the computing task includes multithreading, activation of multiple cores within a CPU, when available, may be desirable….Accordingly, the workload attributes may specify any one or more of the degree of multithreading, a thread priority, and an instruction set architectures…”; [0041]: “Then, policy processing engine may identify specific ones of hardware resources present at the information handling system, for example, via monitoring engine. In addition, policy processing engine may monitor an operational state of at least some of hardware resources in order to determine which configuration changes are indicated by the workload attributes, or which configuration settings are already commensurate with the workload attributes…”; [0042]: “Next, based on the workload attributes and hardware resources, policy processing engine may determine a workload policy for the computing task…The workload policy may specify hardware resources used to execute the computing tasks such as by specifying specific settings for aspects of identified hardware resources…”);
scheduling, by the job scheduler of the selected processor component in response to a request to execute the workload from the workload initiator, the workload for execution on the selected processor component in accordance with the priority level ([0042]: “Next, based on the workload attributes and hardware resources, policy processing engine may determine a workload policy for the computing task…The workload policy may specify hardware resources used to execute the computing tasks such as by specifying specific settings for aspects of identified hardware resources…When the workload policy is implemented, the computing task may be executed by the information handling system….”) ; and
executing, by the selected processor component based on the scheduling by the job scheduler of the selected processor component, the workload ([0042]: “Next, based on the workload attributes and hardware resources, policy processing engine may determine a workload policy for the computing task…The workload policy may specify hardware resources used to execute the computing tasks such as by specifying specific settings for aspects of identified hardware resources…When the workload policy is implemented, the computing task may be executed by the information handling system….”) (see also figures 5 and 7 with associated reference paragraphs 0033, 0040-0046, 0073-0074, 0078-0079).
Farhan, however, does not explicitly indicate that a workload is identified based on a workload identifier.
Wang teaches a workload is identified based on a workload identifier ([0077]: “work scheduler 910 to assign a workload to a processor (e.g., any of core-0 to core-5 or other numbers or cores or other devices) and control when to pre-fetch relevant content to a cache or memory used by the processor for the workload based on a position of an identifier of the workload in a work queue 920 associated with the processor”; [0140]: “the work scheduler to ... assign a workload to a processor and control when to pre-fetch content relevant to the workload to store in a memory accessible to the processor based on a position of an identifier of the workload in a work queue associated with the processor).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Farhan with Wang because it would have improved the efficiency of CPU performance with regard to processing tasks, which in turn can reduce the total cost of ownership (TCO) for cloud providers who own CPUs.
As to claim 2:
Farhan teaches the priority level corresponds to one or more quality of service levels based on a user experience objective ([0040] and ([0061]).
As to claim 3:
Farhan teaches selecting a priority level for the workload includes: identifying, based on the characteristics of the workload, a job classification for the workload, wherein the job classification indicates whether the workload is a real-time job; and identifying, based on one or more policies, a priority definition corresponding to the job classification ([0031-0033] and [0039-0040]).
As to claim 6:
Farhan teaches selecting the processor component to execute the workload includes: determining whether to select the processor core or the media encoding/decoding accelerator based on the characteristics of the workload and one or more utilization metrics of the processor core and the media encoding/decoding accelerator ([0040-0042]).
As to claim 7:
Farhan teaches identifying, by the job scheduler, the workload received from the workload initiator; identifying, by the job scheduler in response to receiving the workload, the priority level associated with the workload; and scheduling, by the job scheduler, execution of the workload on the selected processor component based on the priority level ([0033] and [0039-0040]).
Farhan, however, does not explicitly teach, Wang teaches the identifier of the workload initiator ([0077] and [0140]).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Farhan with Wang because it would have improved the efficiency of CPU performance with regard to processing tasks, which in turn can reduce the total cost of ownership (TCO) for cloud providers who own CPUs.
As to claim 8:
Farhan, however, does not explicitly teach, Wang teaches assigning the workload to a job scheduling queue among a plurality of job scheduling queues for the selected processor component, each queue corresponding to a different priority level ([0026], [0035], [0046] and [0079]).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Farhan with Wang because it would have improved the efficiency of CPU performance with regard to processing tasks, which in turn can reduce the total cost of ownership (TCO) for cloud providers who own CPUs.
As to claim 9:
Farhan teaches scheduling execution of the workload on the selected processor component includes: preempting a first workload having a first priority level for a second workload having a second priority level, wherein the second priority level is a higher priority than the first priority level ([0040] and [0061]).
As to claim 21:
Farhan teaches communicating, to the workload initiator in response to a workload allocation request, a workload allocation recommendation identifying the selected processor component, wherein the job scheduler for the selected processor component receives the workload from the workload initiator based on the workload allocation recommendation ([0063] and [0067-0068]).
As to claim 22:
Farhan teaches the workload allocation request is received prior to the workload initiator submitting the workload to any processor component ([0039-0040]).
As to claim 23:
Farhan teaches the characteristics of the workload indicate one or more of a media encoding/decoding protocol, a resolution, and a frame rate ([0030] and [0038-0039]).
As to claim 25:
Farhan teaches the job scheduler of the selected processor component is configured to schedule jobs on the media encoding/decoding accelerator ([0038-0039]).
As to claims 10-12, 14, and 15:
Refer to the discussion of claims 1-3, 7, and 8 above, respectively, for rejections. Claims 10-12, 14, and 15 are the same as claims 1-3, 7, and 8, except claims 10-12, 14, and 15 are apparatus claims and claims 1-3, 7, and 8 are method claims.
As to claims 16, 17, 19, and 20:
Refer to the discussion of claims 1, 3, 7, and 8 above, respectively, for rejections. Claims 16, 17, 19, and 20 are the same as claims 1, 3, 7, and 8, except claims 16, 17, 19, and 20 are computer program product claims and claims 1, 3, 7, and 8 are method claims
Response to Arguments
3. Applicant’s arguments filed 05/19/2026 have been fully considered but they are not
persuasive.
Regarding independent claims 1, 10, and 16:
Applicant argues that Farhan does not teach “selecting, by a resource manager based on information from a workload initiator describing characteristics of a workload, a priority level for the workload and a processor component to execute the workload, wherein the processor component is one of a processor core and a media encoding/decoding accelerator”.
In response, under a broadest reasonable interpretation, Farhan meets the limitations as claimed. Farhan teaches selecting, by a resource manager based on information from a workload initiator describing characteristics of a workload, a priority level for the workload and a processor component to execute the workload, wherein the processor component is one of a processor core and a media encoding/decoding accelerator ([0033]: “…User interface represents a user interface that a user may operate to use policy processing engine, for example to specify the workload or to select a profile used to implement a particular workload policy…”; [0039]: “In operation, policy processing engine may receive a workload request, such as from a user via user interface. The workload request may specify a computing task, such as a computing task executed by application…The workload request may include an indication of a particular one of HIS profile. Alternatively, policy processing engine may select one of HIS profile based on other information, such as the user (or user account) or application…”; [0040]: “Based on the workload request, policy processing engine 210 may determine workload attributes of the computing task. The workload attributes may include dependencies of the computing task on hardware resources 260. For example, when the computing task includes multithreading, activation of multiple cores within a CPU, when available, may be desirable. Alternatively, when the computing task executes within a single thread, the computing task may execute most efficiently when sent to a single core within a CPU, which may be desirable. Accordingly, the workload attributes may specify…a thread priority, and an instruction set architecture. The workload attributes may specify any one or more of a desired processor frequency, processor cache capacity, processor cache architecture, processor cache throughput, memory capacity, memory bus speed, memory throughput, and usage of a non-uniform memory architecture, for example. The workload attributes may specify a desired degree of background execution or a tolerable network latency, for example. The workload attributes may further specify any one or more of a desired storage capacity, a minimum storage available, a storage data throughput, and a storage latency. The workload attributes may also specify any one or more of a degree of acceleration by a graphics processing unit, a vertical synchronization setting, a degree of digital signal processing, a degree of integer processing, a degree of background execution, and an operating system, among other desired attributes for the workload; [0061]: decision engine 308 may distribute resource requests based on optimization criteria, such as optimization criteria for certain hardware resources. In some embodiments, the optimization criteria may be specific to particular application or activity, such as speed, power, priority, security, reliability, location, etc. Decision engine 308 may receive optimization criteria with the resource request. For example, the resource request may indicate prioritization of speed over security for processing the resource request. In some embodiments, decision engine 308 may derive optimization criteria from context information. As an example and not by way of limitation, a computationally intensive application, such as MATLAB™ from The MathWorks, Incorporated of Natick, Mass., may contain an application profile 342-2 indicating the application is resource intensive. Based on application profile 342-2, decision engine 308 may accordingly determine optimization criteria that indicate prioritizing processing and memory resources over graphics or storage, for example”);
Applicant argues that Farhan does not teach “receiving, by the job scheduler of the processor component from the resource manager, the priority level for the workload”.
In response, under a broadest reasonable interpretation, Farhan meets the limitations as claimed. Farhan’s teaching ([0040]: “based on the workload request, policy processing engine may determine workload attributes of the computing tasks. The workload attributes may include dependencies of the computing tasks on hardware resources. For example, when the computing task includes multithreading, activation of multiple cores within a CPU, when available, may be desirable….Accordingly, the workload attributes may specify any one or more of the degree of multithreading, a thread priority, and an instruction set architectures…”; [0041]: “Then, policy processing engine may identify specific ones of hardware resources present at the information handling system, for example, via monitoring engine. In addition, policy processing engine may monitor an operational state of at least some of hardware resources in order to determine which configuration changes are indicated by the workload attributes, or which configuration settings are already commensurate with the workload attributes…”; [0042]: “Next, based on the workload attributes and hardware resources, policy processing engine may determine a workload policy for the computing task…The workload policy may specify hardware resources used to execute the computing tasks such as by specifying specific settings for aspects of identified hardware resources…”) reads-on the limitations as claimed.
Applicant argues that Farhan does not teach “scheduling, by the job scheduler in response to a request to execute the workload from the workload initiator, the workload for execution on the processor component in accordance with the priority level”.
In response, under a broadest reasonable interpretation, Farhan meets the limitations as claimed. Farhan’s teaching ([0042]: “Next, based on the workload attributes and hardware resources, policy processing engine may determine a workload policy for the computing task…The workload policy may specify hardware resources used to execute the computing tasks such as by specifying specific settings for aspects of identified hardware resources…When the workload policy is implemented, the computing task may be executed by the information handling system….” reads-on the limitations as claimed.
Applicant argues that Farhan does not teach “executing, by the selected processor component based on the scheduling by the job scheduler of the selected processor component, the workload”.
In response, under a broadest reasonable interpretation, Farhan meets the limitations as claimed ([0042]: “Next, based on the workload attributes and hardware resources, policy processing engine may determine a workload policy for the computing task…The workload policy may specify hardware resources used to execute the computing tasks such as by specifying specific settings for aspects of identified hardware resources…When the workload policy is implemented, the computing task may be executed by the information handling system….”) (see also figures 5 and 7 with associated reference paragraphs 0033, 0040-0046, 0073-0074, 0078-0079).
Regarding dependent claims 3, 6, 12, 17, 21-23, and 25:
In the Office Action, the examiner mapped each claimed limitation to specific relevant passages in the reference to show how the reference meets the claim limitations. Applicants in response did not provide any underlying analysis as to why the portions of the prior art relied on did not support the examiner’s position. This response by Applicants is insufficient to satisfy the requirement of specific argument to have the claims considered for patentability; in accordance with 37 C.F.R. § 1.111 Applicant must distinctly and specifically point out “how the language of the claims patentably distinguishes them from the references”.
It is noted that any citations to specific, pages, columns, paragraphs, lines, or figures in the prior art references and any interpretation of the reference should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. See MPEP 2123.
It is also noted claimed subject matter, not the specification is the measure of the invention. Limitations in the specification cannot be read into the claims for the purpose of avoiding the prior art, In re Self, 213 USPQ 1 (CCPA 1982), In re Priest, 199 USPQ 11 (1978). The Examiner has a duty and responsibility to the public and to Applicant to interpret the claims as broadly as reasonably possible during prosecution. In re Prater, 415 F.2d 1 393, 1404-05, 162 USPQ 541, 550-51 (CCPA 1969).
Conclusion
4. The prior art made of record, listed on PTO 892 provided to Applicant is considered to have relevancy to the claimed invention. Applicant should review each identified reference carefully before responding to this office action to properly advance the case in light of the prior art.
US 12353908: “scheduling execution of artificial intelligence (AI) workloads in a cloud infrastructure platform. A global scheduler receives AI workloads associated with resource ticket values. The scheduler distributes the AI workloads to nodes based on balancing resource ticket values. Local schedulers of the nodes schedule AI workloads on resources based on the resource ticket values of the AI workloads. Based on scheduling the AI workloads, coordinator services of the local schedulers execute the distributed AI workloads on the infrastructure resources of the nodes. The disclosure further describes scheduling AI workloads based on priority tiers. A scheduler receives AI workloads, and each AI workload is associated with a priority tier indicative of a preemption priority while being executed. The AI workloads are scheduled for execution on a distributed set of nodes based on the priority tiers and then execute based on the scheduling”.
US 10896064: “A workload scheduling method, system, and computer program product include analyzing a resource scheduling requirement for processes of a workload including the communication patterns among CPUs and accelerators, creating feasible resources based on static resource information of the resources for the processes of the workload, and selecting an available resource of the feasible resources to assign the workload based on the resource scheduling requirement, such that the CPU and GPU connection topology of the selection matches the communication patterns of the workload”.
THIS ACTION IS MADE FINAL. 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 extension fee 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.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to VAN H. NGUYEN whose telephone number is (571) 272-3765. The examiner can normally be reached on Monday- Friday from 9:00AM to 5:30 PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, LEWIS BULLOCK, can be reached at telephone number (571) 272-3759. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center or Private PAIR to authorized users only. Should you have questions about access to Patent Center or the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/VAN H NGUYEN/
Primary Examiner, Art Unit 2199