DETAILED ACTION
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 .
This Office Action is in response to preliminary amendment filed on 07/15/2024.
Claims 1-9, 11-12, and 14-22 are pending.
Priority
Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Specification
The disclosure is objected to because of the following informalities:
[0019] “…for resource allocation, and the task execution efficiency is improved” should read “…for resource allocation, and the task execution efficiency is improved.”.
[0030] “…When task processing request is exists in the user device…” should read “…When a task processing request exists in the user device…”.
Appropriate correction is required.
Claim Objections
Claims 1-9, 11-12, and 14-22 are objected to because of the following informalities:
In Claim 1, “wherein the method is applied to a server, and the method comprises” should read “wherein the task processing method is applied to a server, and the task processing method comprises”.
In Claims 1, 11, and 12, “process a task indicated by the task processing request utilizing allocated resources” should read “process a task indicated by the task processing request utilizing the allocated resources”.
In Claims 2-9, “The method” should read “The task processing method”.
In Claim 3, ”from the processing engines to be warmed up, a first processing engine comprises” should read “from the processing engines to be warmed up, the first processing engine comprises”.
In Claims 5 and 17, “determining a user device corresponding to the processing engine” should read “determining a user device corresponding to a processing engine”.
In Claims 5 and 17, “allocating resources for the processing engines according to the resource amount” should read “allocating resources for the processing engines according to the required resource amount”.
In Claims 7 and 19, “wherein determining, in response to the server starting, processing engines to be warmed up comprises” should read “wherein determining, in response to the server starting, the processing engines to be warmed up comprises”.
In Claims 7 and 19, “the n processing engines as processing engines to be warmed up” should read “the n processing engines as the processing engines to be warmed up”.
In Claim 8, “wherein determining, according to a resource amount required by one processing engine to be warmed up and a total resource amount corresponding to the server, a number n of processing engines to be warmed up comprises” should read “wherein determining, according to the resource amount required by the one processing engine to be warmed up and the total resource amount corresponding to the server, the number n of the processing engines to be warmed up comprises”.
In Claims 8 and 20, “and a resource amount required by the one processing engine” should read “and the resource amount required by the one processing engine”.
In Claims 11 and 12, “determining, in response to the server starting” should read “determining, in response to a server starting”.
In Claims 14, 16, 18, and 22, “the method further comprises” should read “the task processing method further comprises”.
In Claim 15, “wherein the task processing request comprises an identification of the user device” should read “wherein the task processing request comprises an identification of a user device”.
In Claim 16, “in response to not finding the matched processing engine” should read “in response to not finding a matched processing engine”.
In Claim 20, “a number n of processing engines to be warmed up comprises” should read “a number n of the processing engines to be warmed up comprises”.
Any claim not specifically mentioned above, is objected due to its dependency on an objected claim.
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 12 and 22 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claims do not fall within at least one of the four categories of patent eligible subject matter because “computer readable storage medium” in claims 12 and 22 covers a signal per se. In addition, the specification discloses [0126] “…A computer program may be embodied on a computer readable medium, such as a storage medium. For example, a computer program may reside in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, a removable disk, a compact disk read-only memory (CD-ROM), or any other form of storage medium known in the art.” which does not explicitly exclude signals when describing the “computer readable storage medium”. Therefore, it is suggested that claims 12 and 22 be amended to recite “non-transitory computer readable medium” to overcome this rejection.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-4, 7, 9, 11-12, 14-16, 19, and 21-22 are rejected under 35 U.S.C. 102(a)(1) and 102(a)(2) as being anticipated by Wu et al. Pub. No. US 2018/0060400 Al (hereafter Wu).
Regarding claim 1, Wu anticipates the invention as claimed, including: A task processing method, wherein the method is applied to a server, and the method comprises: determining, in response to the server starting, processing engines to be warmed up ([0065] “As indicated at 960, resource management service 290 may automatically (or in response to requests (not illustrated)), commission or decommission pool(s) of clusters 910. For example in some embodiments, resource management service 290 may perform techniques that select the number and size of computing clusters 920 for the warm cluster pool 910. The number and size of the computing clusters 920 in the warm cluster pool 910 can be determined based upon a variety of factors including, but not limited to, historical and/or expected volumes of query requests, the price of the computing resources utilized to implement the computing clusters 920, and/or other factors or considerations, in some embodiments.”, [0066] “…one or more distributed query frameworks or other query processing engines can be installed on the computing nodes in each of the computing clusters 920…”, Note: A computing cluster is interpreted as a server); allocating resources for the processing engines to be warmed up such that the processing engines to be warmed up, when receiving a task processing request, process a task indicated by the task processing request utilizing allocated resources ([0066] “Once the number and size of computing clusters 920 has been determined, the computing clusters 920 may be instantiated, such as through the use of an on-demand computing service, or virtual compute service or data processing service as discussed above in FIG. 2. The instantiated computing clusters 920 can then be configured to process queries prior to receiving the queries at the managed query service. For example, and without limitation, one or more distributed query frameworks or other query processing engines can be installed on the computing nodes in each of the computing clusters 920…”, Note: A query is interpreted as a task).
Regarding claim 2, Wu anticipates: The method of claim 1, further comprising: receiving the task processing request sent by a user device ([0077] “…a query may be received via the various types of interfaces described above with regard to FIG. 4 (programmatic, user console, driver, etc.)…”, Note: A user interface is interpreted as a user device, and a query is interpreted as a task); selecting, from the processing engines to be warmed up, a first processing engine ([0079] “As indicated at 1140, the resource management data may be evaluated for available computing resources to select the computing resource to execute the query, in various embodiments. For example, a resource list may be scanned or evaluated to determine a next available resource to be assigned. In some embodiments, available resources may be categorized by type (e.g., query engine type) or by submitter ( e.g., user identifier, source network address, etc.). Depending on the query, the evaluation may (or may not) select an available resource (as discussed below with regard to FIG. 12). For instance, queries may only be able to select an available resource of the same type (e.g., same query engine) or the same submitter (e.g., same user identifier)…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”); processing the task indicated by the task processing request with the first processing engine ([0080] “If an available resource is selected, then as indicated at 1160, the query may be routed to the selected resource, according to some embodiments. For example, a request to initiate or begin processing at the selected computing resource(s) may be performed…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: A query is interpreted as a task).
Regarding claim 3, Wu anticipates: The method of claim 2, wherein the task processing request comprises an identification of the user device, and selecting, from the processing engines to be warmed up, a first processing engine comprises: finding, from the processing engines to be warmed up and according to the identification of the user device, a matched processing engine, and determining the matched processing engine as the first processing engine ([0079] “As indicated at 1140, the resource management data may be evaluated for available computing resources to select the computing resource to execute the query, in various embodiments. For example, a resource list may be scanned or evaluated to determine a next available resource to be assigned. In some embodiments, available resources may be categorized by type (e.g., query engine type) or by submitter (e.g., user identifier, source network address, etc.). Depending on the query, the evaluation may (or may not) select an available resource (as discussed below with regard to FIG. 12). For instance, queries may only be able to select an available resource of the same type (e.g., same query engine) or the same submitter (e.g., same user identifier)…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: The “same” user identifier is interpreted as the identification of the user device, and the query/processing engine with the same user identifier as the query submitter is interpreted as the matched processing engine).
Regarding claim 4, Wu anticipates: The method of claim 3, further comprising: selecting, in response to not finding the matched processing engine, a second processing engine from processing engines that are not warmed up ([0081] “If an available resource is not selected for executing the query, as indicated by the negative exit from 1150, then a resource may be obtained to execute the query from the pool, as indicated at 1170, in various embodiments. For example, as discussed above with regard to FIGS. 5 and 9, a request may be made to a pool manager, such as resource management service 290, to obtain a new computing resource from a pool (e.g., with a particular query engine type, query engine settings, or number of nodes, slots, or containers)…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: A different query engine from a pool is interpreted as the second processing engine); allocating resources for the second processing engine, and processing the task indicated by the task processing request with the second processing engine ([0081] …”As indicated at 1170, the query may be routed to the obtained resource, according to some embodiments. For example, a request to initiate or begin processing at the selected computing resource(s) may be performed…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: A query is interpreted as a task).
Regarding claim 7, Wu anticipates: The method of claim 1 wherein determining, in response to the server starting, processing engines to be warmed up comprises: determining, according to a resource amount required by one processing engine and a total resource amount corresponding to the server, a number n of processing engines to be warmed up, wherein the n is a positive integer greater than or equal to 1 and less than or equal to m, and the m is a total number of processing engines corresponding to the server ([0065] “…resource management service 290 may perform techniques that select the number and size of computing clusters 920 for the warm cluster pool 910. The number and size of the computing clusters 920 in the warm cluster pool 910 can be determined based upon a variety of factors including, but not limited to, historical and/or expected volumes of query requests, the price of the computing resources utilized to implement the computing clusters 920, and/or other factors or considerations, in some embodiments.”, [0067] “…A determination can be made as to whether the number or size of the computing clusters 920 in the warm cluster pool needs is to be adjusted, in various embodiments. The performance of the computing clusters 920 in the warm cluster pool 910 can be monitored based on cluster metric(s) 990 received from the cluster pool. The number of computing clusters 920 assigned to the warm cluster pool 910 and the size of each computing cluster 920 (i.e. the number of host computers in each computing cluster 920) in the warm cluster pool 910 can then be adjusted…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, [0060] “…For example, managed query agent 722 may provide further data to managed query service 270, such as the status 708 of the query (e.g. executing, performing I/O, performing aggregation, etc.,) and execution metrics 706 (e.g., health metrics, resource utilization metrics, cost metrics, length of time, etc.). In some embodiments, managed query agent 722 may provide cluster/query status 708 and execution metric(s) 706 to resource management service 290 (in order to make pool management decisions, such as modification events, lease requests, etc.)…”, Note: The number of hosts/query engines assigned to be warmed is interpreted as the n processing engines, a computing cluster is interpreted as a server, and the resource utilization metrics (resource amounts utilized by query engines and computing clusters) are utilized to make pool scaling decisions); selecting, from all processing engines corresponding to the server, the n processing engines as processing engines to be warmed up ([0067] “…A determination can be made as to whether the number or size of the computing clusters 920 in the warm cluster pool needs is to be adjusted, in various embodiments. The performance of the computing clusters 920 in the warm cluster pool 910 can be monitored based on cluster metric(s) 990 received from the cluster pool. The number of computing clusters 920 assigned to the warm cluster pool 910 and the size of each computing cluster 920 (i.e. the number of host computers in each computing cluster 920) in the warm cluster pool 910 can then be adjusted…”, [0023] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: The number of hosts/query engines assigned to be warmed is interpreted as the n processing engines).
Regarding claim 9, Wu anticipates: The method of claim 1, wherein the processing engines to be warmed up are Spark SQL engines with pending task processing requests ([0066] “…The instantiated computing clusters 920 can then be configured to process queries prior to receiving the queries at the managed query service. For example, and without limitation, one or more distributed query frameworks or other query processing engines can be installed on the computing nodes in each of the computing clusters 920 … the APACHE SPARK distributed processing framework can also, or alternately, be installed on the host computers in the computing clusters 920.”).
Regarding claim 11, Wu further anticipates: An electronic device comprising: a processor and a memory; the memory for storing instructions or a computer program; the processor for executing the instructions or the computer program in the memory to cause the electronic device to perform a task processing method comprising ([0102] System memory 2020 may store program instructions and/or data accessible by processor 2010…”, [0103] “In other embodiments, program instructions and/or data may be received, sent or stored upon different types of computer-accessible media or on similar media separate from system memory 2020 or computer system 2000. Generally speaking, a non-transitory, computer-readable storage medium may include storage media or memory media…”). The other limitations are substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 12, Wu further anticipates: A computer readable storage medium having stored therein instructions which, when executed on a device, cause the device to perform a task processing method comprising ([0102] System memory 2020 may store program instructions and/or data accessible by processor 2010…”, [0103] “In other embodiments, program instructions and/or data may be received, sent or stored upon different types of computer-accessible media or on similar media separate from system memory 2020 or computer system 2000. Generally speaking, a non-transitory, computer-readable storage medium may include storage media or memory media…”). The other limitations are substantially the same as those of claim 1. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 14, it is a machine claim whose limitations are substantially the same as those of claim 2. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 15, it is a machine claim whose limitations are substantially the same as those of claim 3. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 16, it is a machine claim whose limitations are substantially the same as those of claim 4. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 19, it is a machine claim whose limitations are substantially the same as those of claim 7. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 21, it is a machine claim whose limitations are substantially the same as those of claim 9. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 22, it is an article of manufacture claim whose limitations are substantially the same as those of claim 2. Accordingly, it is rejected for substantially the same reasons.
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 5-6 and 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over Wu et al. Pub. No. US 2018/0060400 Al (hereafter Wu) as applied to claims 1-4, 7, 9, 11-12, 14-16, 19, and 21-22 above, in view of Gawande et al. Pub. No. US 2020/0233869 Al (hereafter Gawande).
Regarding claim 5, Wu teaches the method of claim 1.
Wu fails to teach wherein allocating resources for the processing engines to be warmed up comprises: determining, for any of the processing engines to be warmed up, determining a user device corresponding to the processing engine; determining, in response to historical task information existing in the user device, a required resource amount according to the historical task information of the user device; allocating resources for the processing engines according to the resource amount.
In analogous art Gawande teaches wherein allocating resources for the processing engines to be warmed up comprises: determining, for any of the processing engines to be warmed up, determining a user device corresponding to the processing engine ([0085] “…a time-based analysis of the execution of prior queries and resource configurations may be performed (e.g., examining demand and resource configuration as a time series) to predict the demand, and thus number and configuration of resources to include the pool based on a time or time period associated with the provisioning event…”, [0022] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: The queries originate from user devices, and the queries are sent/correspond to query engines); determining, in response to historical task information existing in the user device, a required resource amount according to the historical task information of the user device ([0085] “…a time-based analysis of the execution of prior queries and resource configurations may be performed (e.g., examining demand and resource configuration as a time series) to predict the demand, and thus number and configuration of resources to include the pool based on a time or time period associated with the provisioning event. For instance, a provisioning event to launch a resource pool at 6:00 PM EST may evaluate the demand for resources starting at 6:00 PM EST, as well as the configuration of the resources used to execute the queries received in order to provision a number of resources that can satisfy a predicted demand for the pool starting at 6:00 PM EST.”, [0022] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”); allocating resources for the processing engines according to the resource amount ([0085] “…a time-based analysis of the execution of prior queries and resource configurations may be performed (e.g., examining demand and resource configuration as a time series) to predict the demand, and thus number and configuration of resources to include the pool based on a time or time period associated with the provisioning event. For instance, a provisioning event to launch a resource pool at 6:00 PM EST may evaluate the demand for resources starting at 6:00 PM EST, as well as the configuration of the resources used to execute the queries received in order to provision a number of resources that can satisfy a predicted demand for the pool starting at 6:00 PM EST.”, [0022] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Wu to incorporate the teachings of Gawande in order to satisfy a predicted demand (Gawande [0085] “…For instance, a provisioning event to launch a resource pool at 6:00 PM EST may evaluate the demand for resources starting at 6:00 PM EST, as well as the configuration of the resources used to execute the queries received in order to provision a number of resources that can satisfy a predicted demand for the pool starting at 6:00 PM EST.”).
Regarding claim 6, Wu and Gawande teach the method of claim 5, and Gawande further teaches further comprising: allocating, in response to historical task information absent in the user device, resources for the processing engines according to a preset resource allocation rule ([0085] “…In some embodiments, resources to be provisioned may be determined according to general classifications, such as small, medium, or large clusters, or may be determined with a specific number of nodes, engine type and engine configuration settings…”, [0022] “…configured computing resources may be one or more nodes, instances, hosts, or other collections of computing resources (e.g., a cluster of computing resources) that implement a query engine…”, Note: Resources provisioned based on general classifications of clusters are interpreted as preset resource allocation rules as they do not require historical task information).
Regarding claim 17, it is a machine claim whose limitations are substantially the same as those of claim 5. Accordingly, it is rejected for substantially the same reasons.
Regarding claim 18, it is a machine claim whose limitations are substantially the same as those of claim 6. Accordingly, it is rejected for substantially the same reasons.
Claims 8 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Wu et al. Pub. No. US 2018/0060400 Al (hereafter Wu) as applied to claims 1-4, 7, 9, 11-12, 14-16, 19, and 21-22 above, in view of Bernardin et al. Pub. No. US 2006/0277307 Al (hereafter Bernardin).
Regarding claim 8, Wu teaches the method according to claim 7.
Wu fails to teach wherein determining, according to a resource amount required by one processing engine to be warmed up and a total resource amount corresponding to the server, a number n of processing engines to be warmed up comprises: determining, according to a preset maximum warm-up number, a minimum warm-up number, and a resource amount required by the one processing engine, a maximum resource amount and a minimum resource amount required to be allocated; in response to a first ratio of the maximum resource amount to the total resource amount being less than or equal to a preset threshold, the number n of the processing engines to be warmed up being the maximum warm-up number; in response to the first ratio being greater than the preset threshold and a second ratio of the minimum resource amount to the total resource amount being less than or equal to the preset threshold, the number n of the processing engines to be warmed up being the minimum warm-up number.
In analogous art Bernardin teaches wherein determining, according to a resource amount required by one processing engine to be warmed up and a total resource amount corresponding to the server, a number n of processing engines to be warmed up comprises: determining, according to a preset maximum warm-up number, a minimum warm-up number, and a resource amount required by the one processing engine, a maximum resource amount and a minimum resource amount required to be allocated ([0053] “…Engines 20 are processes that provision and run software applications in the domains 40…”, [0067] “Data domains 47 of FIG. 4A provide data services such as databases or scalable caching services…”, [0072] “The service-level policy will generally define a minimum number and a maximum engines that should be allocated for each domain, either in terms of a number of engines or a percentage of available engines. A "minimum allocation percent" specifies a least amount of resource always held by an associated domain…”, [0073] “A "maximum allocation percent" specifies a cap on the amount of resources to be given to an associated domain…”, [0075] “Allocation of engines may also be influenced by service level agreements (SLAs)…”, [0084] “One engine daemon 22 runs per host…”, Note: The minimum number of engines is interpreted as the minimum warm-up number, the maximum number of engines is interpreted as the maximum warm-up number, and each engine requires an entire host’s resources); in response to a first ratio of the maximum resource amount to the total resource amount being less than or equal to a preset threshold, the number n of the processing engines to be warmed up being the maximum warm-up number ([0053] “…Engines 20 are processes that provision and run software applications in the domains 40…”, [0067] “Data domains 47 of FIG. 4A provide data services such as databases or scalable caching services…”, [0072] “The service-level policy will generally define a minimum number and a maximum engines that should be allocated for each domain, either in terms of a number of engines or a percentage of available engines…”, [0073] “A "maximum allocation percent" specifies a cap on the amount of resources to be given to an associated domain…”, [0075] “Allocation of engines may also be influenced by service level agreements (SLAs)…”, [0084] “One engine daemon 22 runs per host…”, [0121] “At step 1136, a current demand is computed for each domain, for example, as a function of SLAs defined in the policy for the domain and performance statistics collected for the domain (see "Policy and Resource Allocation," supra). If there is a positive demand (i.e., the statistics indicate that performance falls below the thresholds established by the SLAs), and the demand exhibits stability (i.e., as may be indicated according to a normalized variance in demand among engines 20 currently assigned to the domain 40), the expected number of engines is increased. For example, where a stable, positive demand is indicated, the expected number of engines may be increased by a fixed number (i.e., by one engine). At step 1138, the expected number of engines is finally set to be the lesser of a) the expected number of engines (as may have been increased due to demand) and b) the maximum number of engines (which has been set according to the domain policy)…”, Note: The maximum number of engines is interpreted as the maximum warm-up number, the maximum allocation percent is interpreted as the first ratio, and when performance falls below a threshold specified by the domain policy, the number of engines utilized is the maximum number of engines (maximum warm-up number)); in response to the first ratio being greater than the preset threshold and a second ratio of the minimum resource amount to the total resource amount being less than or equal to the preset threshold, the number n of the processing engines to be warmed up being the minimum warm-up number ([0053] “…Engines 20 are processes that provision and run software applications in the domains 40…”, [0067] “Data domains 47 of FIG. 4A provide data services such as databases or scalable caching services…”, [0072] “The service-level policy will generally define a minimum number and a maximum engines that should be allocated for each domain, either in terms of a number of engines or a percentage of available engines. A "minimum allocation percent" specifies a least amount of resource always held by an associated domain…”, [0073] “A "maximum allocation percent" specifies a cap on the amount of resources to be given to an associated domain…”, [0075] “Allocation of engines may also be influenced by service level agreements (SLAs)…”, [0084] “One engine daemon 22 runs per host…”, [0120] “…a minimum number of engines for the domain (established according to the domain policy) is initially set to be the expected allocation for the domain and recorded in the allocation map…”, [0121] “At step 1136, a current demand is computed for each domain, for example, as a function of SLAs defined in the policy for the domain and performance statistics collected for the domain (see "Policy and Resource Allocation," supra). If there is a positive demand (i.e., the statistics indicate that performance falls below the thresholds established by the SLAs), and the demand exhibits stability (i.e., as may be indicated according to a normalized variance in demand among engines 20 currently assigned to the domain 40), the expected number of engines is increased. For example, where a stable, positive demand is indicated, the expected number of engines may be increased by a fixed number (i.e., by one engine). At step 1138, the expected number of engines is finally set to be the lesser of a) the expected number of engines (as may have been increased due to demand) and b) the maximum number of engines (which has been set according to the domain policy)…”, Note: The minimum number of engines is interpreted as the minimum warm-up number, the minimum allocation percent is interpreted as the second ratio, and when performance is above a threshold specified by the domain policy (of the above limitation’s maximum allocation percent domain policy), the number of engines utilized is the minimum number of engines (minimum warm-up number)).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Wu to incorporate the teachings of Bernardin for improved performance and utilization of resources (Bernardin [0052] “…In accordance with the defined service-level policy, the AVP platform operates to provision and activate services according to demand for improved performance and utilization of resources.”).
Regarding claim 20, it is a machine claim whose limitations are substantially the same as those of claim 8. Accordingly, it is rejected for substantially the same reasons.\
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. In particular, US 20020194251 A1 is cited because it discloses an overall resource utilization indicator for an application processing engine that represents the ratio of current total resource utilization value divided by total available resource utilization value.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JUSTIN CHE-CHUN TONG whose telephone number is (703)756-1737. The examiner can normally be reached Monday-Thursday: 7:30 AM to 6:00 PM ET.
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, April Y Blair can be reached on (571)270-1014. 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.
/J.C.T./Examiner, Art Unit 2196
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196