DETAILED ACTION
Claims 1-20 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 .
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, 14 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pat. No. 11,301,301 B2 issued to Tang et al. in view of U.S. Pub. No. 20190065222 A1 to Liu.
As to claim 1, Tang teaches a method, comprising:
making, by a workload management computing system comprising one or more processor devices, a determination that a quantity of computing resources utilized by a set of existing workloads is greater than a threshold quantity of the computing resources (Excessive incoming requests for target function 522-2/Block 1030) (“…According to Equation (1), the problem of calculating the processing capacity may be established as follows: if Ck(t)<{circumflex over (R)}(t), the processing capacity Ck can be determined and may be used to determine rate limit L to limit the number of incoming requests processed by computing environment 401. Excessive incoming requests for target function 522-2 can be routed to computing environment 501…At block 1010, workload scheduling system 510 determines a workload of a target function of a service provisioned in a first computing environment. At block 1020, workload scheduling system 510 determines a processing capacity of the service available for the target function in the first computing environment. At block 1030, workload scheduling system 510 determines whether the workload exceeds the processing capacity. At block 1040, in accordance with a determination that the workload exceeds the processing capacity, workload scheduling system 510 causes at least one incoming request for the target function to be routed to a target instance of the target function, the target instance of the target function being provisioned in a second computing environment different from the first computing environment.” Col. 19 Ln. 22-28, Col. 22 Ln. 49-63);
responsive to the determination, identifying, by the workload management computing system, a particular rate limiting target from a plurality of rate limiting targets of a rate limiting policy, wherein the rate limiting policy controls workload fulfillment decisions for workload requests received from requesting entities (the rate limit on target function L(t),) (“…In the above Equation (1), if Ck(t)≥{circumflex over (R)}(t), which means that the processing capacity at time point t is sufficient enough to process the incoming requests needed to be processed by target function 522-2, then the number of requests pending for processing will not be increased. If Ck(t)<{circumflex over (R)}(t), which means that the processing capacity at time point t is insufficient, the increase of the number of pending requests is determined based on the rate of incoming requests needed to be processed {circumflex over (R)}(t), the rate limit on target function L(t), and the rate of offloading the requests F(t) at time point t…In some embodiments, rate limit L is imposed here to avoid using up the processing capacity for target function 522-2. The workload of target function 522-2 may be compared with rate limit L to determine whether one or more incoming requests should be routed to computing environment 501. According to Equation (2), rate limit L at a time point t may be determined by weighting the processing capacity with a predetermined weight λ so as to preserve some margin from the processing capacity. In some examples, the weight λ may be a value approximate to, but is smaller than 1, for example, may be larger than 0.5 but is smaller than 1… More particularly, capacity calculator 512 may determine, from the information on execution of the requests, the respective number of requests pending for processing in a plurality of time intervals, such as successive time intervals. Capacity calculator 512 may determine the change of the number of requests pending for processing across the time intervals. If it is determined that the number of requests Q pending for processing is increasing from a time interval to one or more following time intervals, capacity calculator 512 may determine that offloading of the workload of target function 522-2 may be needed. In such a case, capacity calculator 512 may determine that the target function is to be in a rate-limit status in computing environment 401 for a future time interval. In the rate-limit status, the incoming requests for target function 522-2 may not be all routed to service 420-4, but some of them are instead routed to target instance 505…” Col. 18 Ln. 66-67, Col. 19 Ln. 1-8), and wherein the plurality of rate limiting targets comprises:
a characteristic of a requested workload;
a characteristic of a workload request; or
a characteristic of a requesting entity (the rate limit on target function L(t),).
Tang is silent with reference to modifying, by the workload management computing system, the rate limiting policy, wherein modifying the rate limiting policy comprises replacing an existing rate limit for the rate limiting target with a modified rate limit different than the existing rate limit.
Liu teaches modifying, by the workload management computing system, the rate limiting policy, wherein modifying the rate limiting policy comprises replacing an existing rate limit for the rate limiting target with a modified rate limit different than the existing rate limit (adjusting the workload pressure value comprises reducing the workload pressure value according to a preset step length when the initial workload pressure value triggers the rate limit threshold of the application cluster”/Step 202) (“…In one embodiment, adjusting the workload pressure value comprises reducing the workload pressure value according to a preset step length when the initial workload pressure value triggers the rate limit threshold of the application cluster,
paragraph 0018 In one embodiment, the workload pressure test unit comprises an initialization subunit, configured to perform an overall workload pressure testing on the test machines of the application cluster according to a preset initial workload pressure value; an adjustment subunit, configured to adjust the workload pressure value; and an acquisition subunit, configured to obtain the average single-machine capability of the testing machines when the workload pressure value reaches a maximum value within a workload pressure value that triggers a rate limit threshold of the application cluster..
Step 202: Adjust the workload pressure value…If the initial workload pressure value is too small to trigger a rate limit threshold of the application cluster, the workload pressure value can be increased gradually. Specifically, the workload pressure value can be increased gradually according to a preset step length. If the initial workload pressure value is set to be excessively large which triggers the rate limit threshold of the application cluster, the workload pressure value can be reduced. When the workload pressure value is reduced, the workload pressure testing tool can reduce the workload pressure value gradually according to a preset step length…The rate limit threshold of the application cluster is set according to an estimated limit of a workload pressure-handling capability of the application cluster.
Exceeding the rate limit threshold indicates that the application cluster has reached the limit of the workload pressure-handling capability…” paragraphs 0010/0018/0046/0047).
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 Tang with the teaching of Liu because the teaching of Liu would improve the system of Tang by providing a technique for modifying or shedding workload in order provide optimal computer resource utilization.
As to claims 14 and 20, see the rejection of claim 1, expect for a memory, one or more processor devices and a non-transitory computer-readable storage medium.
Tang teaches a memory (Ram 30/Cache 32) and one or more processor devices (Processing Unit 16) and a non-transitory computer-readable storage medium (Storage System 34).
Claims 1-4, 7, 8, 10, 12-17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Pat. No. 11,301,301 B2 issued to Tang et al. in view of U.S. Pat. No. 8,914,497 B1 issued to Xiao et al.
As to claim 1, Tang teaches a method, comprising:
making, by a workload management computing system comprising one or more processor devices, a determination that a quantity of computing resources utilized by a set of existing workloads is greater than a threshold quantity of the computing resources (Excessive incoming requests for target function 522-2/Block 1030) (“…According to Equation (1), the problem of calculating the processing capacity may be established as follows: if Ck(t)<{circumflex over (R)}(t), the processing capacity Ck can be determined and may be used to determine rate limit L to limit the number of incoming requests processed by computing environment 401. Excessive incoming requests for target function 522-2 can be routed to computing environment 501…At block 1010, workload scheduling system 510 determines a workload of a target function of a service provisioned in a first computing environment. At block 1020, workload scheduling system 510 determines a processing capacity of the service available for the target function in the first computing environment. At block 1030, workload scheduling system 510 determines whether the workload exceeds the processing capacity. At block 1040, in accordance with a determination that the workload exceeds the processing capacity, workload scheduling system 510 causes at least one incoming request for the target function to be routed to a target instance of the target function, the target instance of the target function being provisioned in a second computing environment different from the first computing environment.” Col. 19 Ln. 22-28, Col. 22 Ln. 49-63);
responsive to the determination, identifying, by the workload management computing system, a particular rate limiting target from a plurality of rate limiting targets of a rate limiting policy, wherein the rate limiting policy controls workload fulfillment decisions for workload requests received from requesting entities (the rate limit on target function L(t),) (“…In the above Equation (1), if Ck(t)≥{circumflex over (R)}(t), which means that the processing capacity at time point t is sufficient enough to process the incoming requests needed to be processed by target function 522-2, then the number of requests pending for processing will not be increased. If Ck(t)<{circumflex over (R)}(t), which means that the processing capacity at time point t is insufficient, the increase of the number of pending requests is determined based on the rate of incoming requests needed to be processed {circumflex over (R)}(t), the rate limit on target function L(t), and the rate of offloading the requests F(t) at time point t…In some embodiments, rate limit L is imposed here to avoid using up the processing capacity for target function 522-2. The workload of target function 522-2 may be compared with rate limit L to determine whether one or more incoming requests should be routed to computing environment 501. According to Equation (2), rate limit L at a time point t may be determined by weighting the processing capacity with a predetermined weight λ so as to preserve some margin from the processing capacity. In some examples, the weight λ may be a value approximate to, but is smaller than 1, for example, may be larger than 0.5 but is smaller than 1… More particularly, capacity calculator 512 may determine, from the information on execution of the requests, the respective number of requests pending for processing in a plurality of time intervals, such as successive time intervals. Capacity calculator 512 may determine the change of the number of requests pending for processing across the time intervals. If it is determined that the number of requests Q pending for processing is increasing from a time interval to one or more following time intervals, capacity calculator 512 may determine that offloading of the workload of target function 522-2 may be needed. In such a case, capacity calculator 512 may determine that the target function is to be in a rate-limit status in computing environment 401 for a future time interval. In the rate-limit status, the incoming requests for target function 522-2 may not be all routed to service 420-4, but some of them are instead routed to target instance 505…” Col. 18 Ln. 66-67, Col. 19 Ln. 1-8), and wherein the plurality of rate limiting targets comprises:
a characteristic of a requested workload;
a characteristic of a workload request; or
a characteristic of a requesting entity (the rate limit on target function L(t),).
Tang is silent with reference to modifying, by the workload management computing system, the rate limiting policy, wherein modifying the rate limiting policy comprises replacing an existing rate limit for the rate limiting target with a modified rate limit different than the existing rate limit.
Xiao teaches modifying, by the workload management computing system, the rate limiting policy, wherein modifying the rate limiting policy comprises replacing an existing rate limit for the rate limiting target with a modified rate limit different than the existing rate limit (throttling and otherwise managing service requests that have non-uniform workloads by adjusting a maximum request rate dependent on a current work throughput rate) (“…In some embodiments, the systems and methods described herein may perform throttling and otherwise managing service requests that have non-uniform workloads by adjusting a maximum request rate dependent on a current work throughput rate. For example, in some embodiments the amount of work required to satisfy various service requests is non-uniform (e.g., the amount of work required to satisfy service requests may vary based on the type of request, the state of the targeted resources, or the specific results of the requested operation). However, if the work throughput rate is a limiting factor in the operation and/or performance of the system (e.g., due to technical capabilities, capacity, or bandwidth, or due to business and/or policy considerations, including various service level agreements), a targeted or committed work throughput level may not be guaranteed merely by enforcing a fixed limit on the rate at which requests are accepted for servicing.…” Col. 8 Ln. 37-53).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for modifying or shedding workload in order provide optimal computer resource utilization.
As to claim 2, Tang teaches the method of claim 1, wherein, prior to making the determination, the method comprises:
receiving, by the workload management computing system, a workload request from a requesting entity via an interface, wherein the workload request is indicative of the characteristic of the requesting entity (client) (“…End user(s) 402 may provision and access services 420 through a web browser or some other software application on a client. In some embodiments, the provisioning and/or requests of end user(s) 402 may be provided to an ingress gateway 430. Ingress gateway 430 may include a corresponding proxy for processing the provisioning and/or the requests to services 420…” Col. Ln. Col. 7 Ln. 13-19).
As to claim 3, Xiao teaches the method of claim 2, wherein modifying, by the computing system, the rate limiting policy comprises:
modifying, by the workload management computing system, the rate limiting policy, wherein the modified rate limit for the rate limiting target controls at least one of:
a maximum quantity of workload requests associated with the rate limiting target to be fulfilled within a period of time (Step 530/the system may determine a new lower maximum request rate dependent on the current work throughput rate);
a maximum quantity of computing resources available to fulfill workload requests associated with the rate limiting target; or
a type of computing resource available to fulfill workload requests associated with the rate limiting target (“…As illustrated in the example in FIG. 5, the method may include the system determining that the current work throughput rate exceeds a pre-determined targeted (or committed) work throughput rate, as in 520. In this example, it is assumed that the current request rate does not exceed the current maximum request rate. In other words, in this example, the request rate does not exceed its target value, but the work throughput rate exceeds its target value. In this example, in response to the system being overloaded in this manner (i.e. in terms of the work throughput rate), the system may determine a new lower maximum request rate dependent on the current work throughput rate and the targeted/committed work throughput rate, as in 530. For example, in some embodiments, the system may be configured to calculate a new lower maximum request rate in order to meet the targeted/committed work throughput rate. The system may then set the maximum request rate to the calculated value, as in 540. Note that in this example, rather than calculating an amount by which to change the maximum request rate (as in previous examples), the system is configured to determine a new (absolute) value for the maximum request rate…” Col. 12 Ln. 43-63).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for modifying or shedding workload in order provide optimal computer resource utilization.
As to claim 4, Xiao teaches the method of claim 3, wherein the method further comprises: causing, by the workload management computing system, fulfillment of the workload indicated by the workload request in accordance with the modified rate limit for the rate limiting target (Step 530/the system may determine a new lower maximum request rate dependent on the current work throughput rate) (“…As illustrated in the example in FIG. 5, the method may include the system determining that the current work throughput rate exceeds a pre-determined targeted (or committed) work throughput rate, as in 520. In this example, it is assumed that the current request rate does not exceed the current maximum request rate. In other words, in this example, the request rate does not exceed its target value, but the work throughput rate exceeds its target value. In this example, in response to the system being overloaded in this manner (i.e. in terms of the work throughput rate), the system may determine a new lower maximum request rate dependent on the current work throughput rate and the targeted/committed work throughput rate, as in 530. For example, in some embodiments, the system may be configured to calculate a new lower maximum request rate in order to meet the targeted/committed work throughput rate. The system may then set the maximum request rate to the calculated value, as in 540. Note that in this example, rather than calculating an amount by which to change the maximum request rate (as in previous examples), the system is configured to determine a new (absolute) value for the maximum request rate…” Col. Ln. 43-63).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for modifying or shedding workload in order provide optimal computer resource utilization.
As to claim 7, Xiao teaches the method of claim 3, wherein identifying the rate limiting target comprises identifying, by the workload management computing system, the rate limiting target from the plurality of rate limiting targets, wherein the characteristic of the requested entity comprises the entity type associated with the requesting entity, and wherein the entity type associated with the requesting entity comprises an automated entity type (Clients 105) (“…In the example illustrated in FIG. 1, the clients 105 may encompass any type of clients configured to submit service requests to Web server 130 via network 110 on behalf of a user or a requesting application. For example, a given client 105 may include a suitable version of a Web browser, or a plug-in module or other type of code module configured to execute as an extension to or within an execution environment provided by a Web browser. Alternatively, a client 105 may encompass an application such as a database application, media application, office application, or any other application that may make use of the services provided by Web server 130. In some embodiments, such an application may include sufficient protocol support (e.g., for a suitable version of Hypertext Transfer Protocol (HTTP)) for generating and processing Web service requests without necessarily implementing full browser support for all types of Web-based data. That is, client 105 may be an application configured to interact directly with Web server 130. In various embodiments, client 105 may be configured to generate requests for Web services according to a Representational State Transfer (REST)-style Web services architecture, a document or message-based Web services architecture, or another suitable Web services architecture. In some embodiments, client 105 may be configured to provide access to Web-based service to other applications in a manner that is transparent to those applications. For example, a client 105 may be configured to integrate with an operating system to provide services in accordance with a suitable variant of the service model described herein. However, the operating system may present a different service request interface to applications than that described herein…” Col. 4 Ln. 41-67,Col. 5 Ln. 1-3).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for allowing varying number of clients to request/execute their workloads.
As to claim 8, Xiao teaches the method of claim 7, wherein modifying the rate limiting policy comprises:
replacing, by the workload management computing system, the existing rate limit for the rate limiting target with the modified rate limit, wherein the modified rate limit comprises a maximum quantity of workload requests from entities of the automated entity type (Client 105) to be fulfilled within the period of time (Step 530/the system may determine a new lower maximum request rate dependent on the current work throughput rate) (“…As illustrated in the example in FIG. 5, the method may include the system determining that the current work throughput rate exceeds a pre-determined targeted (or committed) work throughput rate, as in 520. In this example, it is assumed that the current request rate does not exceed the current maximum request rate. In other words, in this example, the request rate does not exceed its target value, but the work throughput rate exceeds its target value. In this example, in response to the system being overloaded in this manner (i.e. in terms of the work throughput rate), the system may determine a new lower maximum request rate dependent on the current work throughput rate and the targeted/committed work throughput rate, as in 530. For example, in some embodiments, the system may be configured to calculate a new lower maximum request rate in order to meet the targeted/committed work throughput rate. The system may then set the maximum request rate to the calculated value, as in 540. Note that in this example, rather than calculating an amount by which to change the maximum request rate (as in previous examples), the system is configured to determine a new (absolute) value for the maximum request rate…” Col. 12 Ln. 43-63); and wherein the method further comprises:
causing, by the workload management computing system, rejection of the workload request in accordance with the maximum quantity of workload requests from entities of the automated entity type to be fulfilled within the period of time (may reject or otherwise fail to service requests received in excess of the new maximum request rate) (“…Subsequent to setting the maximum request rate to the new maximum request rate, the system may service at least a portion of subsequent service requests, dependent on the new maximum request rate, as in 550. In other words, the system may accept and/or service requests that are received up to the new maximum request rate and may reject or otherwise fail to service requests received in excess of the new maximum request rate. In this example, after changing the maximum request rate, the system may reject a portion of subsequent incoming requests, but may operate with a work throughput rate that is less than or equal to the targeted/committed work throughput rate (or that is closer to the targeted/committed work throughput rate than it was before the maximum request rate was changed). In the case that the system rejects a portion of subsequent incoming requests subsequent to the change in the maximum request rate (e.g., if the change in the maximum request rate results in the current request rate exceeding the new maximum request rate), the method may include one or more further adjustments to the maximum request rate (not shown). For example, the system may be configured to apply the techniques illustrated in FIG. 3 or FIG. 4 and described herein to further adjust the maximum request rate such that the number of requests accepted and serviced is maximized while meeting both the maximum request rate and targeted/committed work throughput rate targets…” Col. 12 Ln. 64-67, Col. 13 Ln. 1-21).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for rejecting workload(s) in order provide optimal computer resource utilization.
As to claim 10, Xiao teaches the method of claim 2, wherein the method further comprises: causing, by the workload management computing system, rejection of the workload request based on the modified rate limit for the rate limiting target (may reject or otherwise fail to service requests received in excess of the new maximum request rate) (“…Subsequent to setting the maximum request rate to the new maximum request rate, the system may service at least a portion of subsequent service requests, dependent on the new maximum request rate, as in 550. In other words, the system may accept and/or service requests that are received up to the new maximum request rate and may reject or otherwise fail to service requests received in excess of the new maximum request rate. In this example, after changing the maximum request rate, the system may reject a portion of subsequent incoming requests, but may operate with a work throughput rate that is less than or equal to the targeted/committed work throughput rate (or that is closer to the targeted/committed work throughput rate than it was before the maximum request rate was changed). In the case that the system rejects a portion of subsequent incoming requests subsequent to the change in the maximum request rate (e.g., if the change in the maximum request rate results in the current request rate exceeding the new maximum request rate), the method may include one or more further adjustments to the maximum request rate (not shown). For example, the system may be configured to apply the techniques illustrated in FIG. 3 or FIG. 4 and described herein to further adjust the maximum request rate such that the number of requests accepted and serviced is maximized while meeting both the maximum request rate and targeted/committed work throughput rate targets…” Col. 12 Ln. 64-67, Col. 13 Ln. 1-21).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for rejecting workload(s) in order provide optimal computer resource utilization.
As to claim 12, Xiao teaches the method of claim 1, wherein identifying the rate limiting target from the plurality of rate limiting targets comprises: responsive to the determination, identifying, by the workload management computing system, the rate limiting target from the plurality of rate limiting targets based at least in part on contextual information (the rate limit on target function L(t),), wherein the contextual information is descriptive of one or more operations (target function 522-2) performed to fulfill the workload indicated by the workload request (incoming requests) (“…In the above Equation (1), if Ck(t)≥{circumflex over (R)}(t), which means that the processing capacity at time point t is sufficient enough to process the incoming requests needed to be processed by target function 522-2, then the number of requests pending for processing will not be increased. If Ck(t)<{circumflex over (R)}(t), which means that the processing capacity at time point t is insufficient, the increase of the number of pending requests is determined based on the rate of incoming requests needed to be processed {circumflex over (R)}(t), the rate limit on target function L(t), and the rate of offloading the requests F(t) at time point t…In some embodiments, rate limit L is imposed here to avoid using up the processing capacity for target function 522-2. The workload of target function 522-2 may be compared with rate limit L to determine whether one or more incoming requests should be routed to computing environment 501. According to Equation (2), rate limit L at a time point t may be determined by weighting the processing capacity with a predetermined weight λ so as to preserve some margin from the processing capacity. In some examples, the weight λ may be a value approximate to, but is smaller than 1, for example, may be larger than 0.5 but is smaller than 1…More particularly, capacity calculator 512 may determine, from the information on execution of the requests, the respective number of requests pending for processing in a plurality of time intervals, such as successive time intervals. Capacity calculator 512 may determine the change of the number of requests pending for processing across the time intervals. If it is determined that the number of requests Q pending for processing is increasing from a time interval to one or more following time intervals, capacity calculator 512 may determine that offloading of the workload of target function 522-2 may be needed. In such a case, capacity calculator 512 may determine that the target function is to be in a rate-limit status in computing environment 401 for a future time interval. In the rate-limit status, the incoming requests for target function 522-2 may not be all routed to service 420-4, but some of them are instead routed to target instance 505…” Col. 18 Ln. 66-67, Col. 19 Ln. 1-8).
As to claim 13, Xiao teaches the method of claim 1, wherein the plurality of rate limiting targets comprises: a particular workload type (non-uniform workloads); a particular workload request type; a particular requesting entity; or a particular requesting entity type (Clients 105) (“…In the example illustrated in FIG. 1, the clients 105 may encompass any type of clients configured to submit service requests to Web server 130 via network 110 on behalf of a user or a requesting application. For example, a given client 105 may include a suitable version of a Web browser, or a plug-in module or other type of code module configured to execute as an extension to or within an execution environment provided by a Web browser. Alternatively, a client 105 may encompass an application such as a database application, media application, office application, or any other application that may make use of the services provided by Web server 130. In some embodiments, such an application may include sufficient protocol support (e.g., for a suitable version of Hypertext Transfer Protocol (HTTP)) for generating and processing Web service requests without necessarily implementing full browser support for all types of Web-based data. That is, client 105 may be an application configured to interact directly with Web server 130. In various embodiments, client 105 may be configured to generate requests for Web services according to a Representational State Transfer (REST)-style Web services architecture, a document or message-based Web services architecture, or another suitable Web services architecture. In some embodiments, client 105 may be configured to provide access to Web-based service to other applications in a manner that is transparent to those applications. For example, a client 105 may be configured to integrate with an operating system to provide services in accordance with a suitable variant of the service model described herein. However, the operating system may present a different service request interface to applications than that described herein…” Col. 4 Ln. 41-67,Col. 5 Ln. 1-3).
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 Tang with the teaching of Xiao because the teaching of Xiao would improve the system of Tang by providing a technique for allowing varying number of clients to request/execute their workloads.
As to claims 14 and 20, see the rejection of claim 1, expect for a memory, one or more processor devices and a non-transitory computer-readable storage medium.
Tang teaches a memory (Ram 30/Cache 32) and one or more processor devices (Processing Unit 16) and a non-transitory computer-readable storage medium (Storage System 34).
As to claim 15, see the rejection of claim 2 above.
As to claim 16, see the rejection of claim 3 above.
As to claim 17, see the rejection of claim 4 above.
Allowable Subject Matter
Claims 5, 6, 9, 11, 18 and 19 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. Pat. No. 11,301,301 B2 issued to Tang et al. and U.S. Pat. No. 8914497 B1 issued to Xiao et al.), taken alone or in combination do not specifically disclose or suggest the claimed recitations (claims 5, 6, 9, 11, 18 and 19), 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.
U.S. Pub. No. 2018/0276044 A1 to Fong et al. and directed to coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads.
U.S. Pub. No. 2025/0030699 A1 to Suresh et al. and directed to multi-tenant rate limiting service for distributed systems.
U.S. Pub. No. 2020/0310852 A1 to Featonby et al. and directed to compute platform recommendations for new workloads in a distributed computing environment.
U.S. Pub. No. 2020/0026560 A1 to Singh et al. and directed to dynamic workload classification for workload-based resource allocation.
U.S. Pat. No. 12204950 B2 issued to Watson et al. and directed to methods and systems for managing workloads in a distributed computing environment.
U.S. Pub. No. 2024/0281554 A1 to Jha et al. and directed to techniques are provided for using rate-limited mechanisms for querying a non-tabular database in a Containers-as-a-Service (CaaS) platform.
U.S. Pub. No. 2023/0362084 A1 to Levi et al. and directed to system for scheduling or executing workloads based on receiving rational value at rate limiter, has processing device that determines rate to execute workloads responsive to receiving numbers corresponding to rational value.
U.S. Pub. No. 2022/0027197 A1 to Tang et al. and directed to workload offloading between computing environments.
U.S. No. Pub. 2019/0354412 A1 to Bivens et al. and directed to optimizing dynamical resource allocations in disaggregated data centers.
U.S. No. Pub. No. 2020/0028935 A1 to Sahay et al. and directed to workload rebalancing in heterogeneous resource environments.
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