DETAILED ACTION
Claims 1-16 and 19-22 are pending. Claims 1 and 15 are in independent form.
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 Objections
Claim 8 is objected to because of the following informalities:
“the stored predicted states”. The claims merely state a singular state and later the claim discusses a plurality of states. In order to have compact prosecution, the Examiner interprets this as the stored predicted states. Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
Claims 3 and 20 are rejected under 35 U.S.C. 112(b), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 3 recites the limitation "the previously stored predicted state" in lines 4-5. There is insufficient antecedent basis for this limitation in the claim.
Claim 20 recites the limitation "the second performance metrics" in line 2. There is insufficient antecedent basis for this limitation in the claim.
Claim Rejections - 35 USC § 103
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
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.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 6, and 13-16 are rejected under 35 U.S.C. 103 as being unpatentable U.S. Patent No. 9,325,585 to Wang et al. (“Wang”) in view of U.S. Publication No. 2022/0050754 to Liu et al. ("Liu") in view of U.S. Publication No. 2015/0113120 to Jacobson et al. (“Jacobson”) and further in view of U.S. Publication No. 2013/0179574 to Calder et al. (“Calder”).
Regarding claim 1, Wang teaches:
A software monitoring system arranged to monitor a software system comprising one or more computational resources (Wang: lines Col. 8, lines 36-45, “If the Policy Manager 110 determines that the client's request is consistent with policies of the system, the Policy Manager 110 may return a set of resources and mechanisms that are to be allocated and activated for the client's request to the Establishment Service module 104”; wherein the monitoring system provides computational resources when demand is needed), wherein the software system is configured to execute one or more services each utilizing a portion of the one or more of computational resources and the software system further comprises a live capacity controller configured to receive one or more first performance metrics from the one or more services and to assign the portion of the computational resources to the one or more services based on the first performance metrics (Wang: Col. 8, lines 31-45, “the QoS Manager 102 may extract QoS information from the request, for example the client's role, credentials, and QoS requirements. The QoS Manager 102 may request the Establishment Service module 104 to try to create a QoS contract that satisfies the requirements appropriate for the client's role. The Establishment Service module 104 may interpret the QoS information and may request the Policy Manager 110 to start an admission control process to determine whether the system 100 can admit the client 130 based on its role and requested QoS parameters. If the Policy Manager 110 determines that the client's request is consistent with policies of the system, the Policy Manager 110 may return a set of resources and mechanisms that are to be allocated and activated for the client's request to the Establishment Service module 104”; wherein the establishment service module and Policy manager are interpreted as the live capacity controller and receiving one or more first performance metrics will be the QoS information including the QoS requirements; then providing back the resources is equated to the assigning of the computational resources), the software monitoring system comprising a controller configured to:
However, Wang does not appear to teach:
receive second performance metrics;
execute a state predictor to determine a predicted state of the software system based on the second performance metrics;
However, in the same field of endeavor, Liu teaches:
receive second performance metrics (Liu: Paragraph [0016], “An analytic engine can collect each site's backup system's runtime CPU/IO statistic to predict workload status for the next N days. At the same time, the backup management center can exchange local and remote DP sites' workload results”; wherein the runtime statistics are the second metrics);
execute a state predictor to determine a predicted state of the software system based on the second performance metrics (Liu: Paragraph [0016], “An analytic engine can collect each site's backup system's runtime CPU/IO statistic to predict workload status for the next N days. At the same time, the backup management center can exchange local and remote DP sites' workload results”; wherein the second metrics are the runtime statistics and wherein the state is workload status that is predicted);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by Wang by using a state predictor to predict state of the system, as taught by Liu. One of ordinary skill in the art would have been motivated to use the methods of Liu because it would improve data availability as well as optimizing sites that experience low performance. (Liu: Paragraph [0002]).
However, the Wang/Liu combination does not appear to explicitly teach:
execute a standby capacity calculator to determine a standby capacity based on the predicted state.
However, in the same field of endeavor, Jacobson teaches:
execute a standby capacity calculator to determine a standby capacity based on the predicted state (Jacobson: Paragraph [0026], “The predictive scaling component 125 could then determine a plan for predictively scaling the application, based on the determined number of application instances needed to satisfy the estimated future workload and an average start-up time for the application instances”; wherein the estimated future workload is the predicted state and the predictive scaling component would be the standby capacity calculator that determines a plan in light of the determined number of application instances needed which is the standby capacity);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu combination by executing a standby capacity calculator to determine standby capacity based on a predicted state, as taught by Jacobson. One of ordinary skill in the art would have been motivated to use the methods of Jacobson because it would improve the performance of the system by responding to fluctuations in need of resources. (Jacobson: Paragraphs [0028]-[0029]).
However, the Wang/Liu/Jacobson combination does not appear to teach:
reserve computational resources according to the standby capacity to a standby pool of computational resources enabling the live capacity controller to assign a change in the portion of the computational resources to the one or more services from the standby pool.
However, in the same field of endeavor, Calder teaches:
reserve computational resources according to the standby capacity to a standby pool of computational resources (Calder: Paragraph [0030], “A “standby reservation of virtual machines is a reservation associated with a pool or account for virtual machines to be assigned to the pool or account for use at some point in the future. Provisioning the virtual machine for use can mean merely that sufficient virtual machine resources are identified and/or reserved within the cloud computing environment, so that virtual machine resources will be available for conversion to dedicated virtual machines when requested”; Paragraph [0031], “A standby virtual machine reservation is not an allocation or assignment of a virtual machine. Instead, a standby virtual machine reservation reserves the right in the future for an idle or preemptible virtual machine to be converted to a dedicated virtual machine assigned to the user or pool associated with the standby reservation”) enabling the live capacity controller to assign a change in the portion of the computational resources to the one or more services from the standby pool (Calder: Paragraph [0033], “Standby reservations can be used to convert idle or preemptible virtual machines to dedicated machines assigned to a pool corresponding to a user based on time-based criteria or load-based criteria”; Paragraph [0023], “A process for managing a virtual machine cluster, such as a task tenant, can assign and unassign virtual machines from a virtual machine pool. A task tenant (or other process for managing a virtual machine cluster) can also schedule tasks on a virtual machine within a cluster based on a queue of jobs corresponding to the pool the virtual machine is assigned to. When a task tenant needs additional machines in order to assign a sufficient number to a virtual machine pool, the task tenant can obtain additional virtual machines from the general cloud computing environment. Similarly, if a task tenant has an excess of virtual machines, the task tenant can return the excess machines to the general cloud computing environment”; wherein the task tenant acts as the live capacity controller and handles allocations/assignations and deallocations of virtual machines).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson combination by reserving resources to a standby pool and then assigning them to one or more services, as taught by Calder. One of ordinary skill in the art would have been motivated to use the methods of Calder because it would improve the availability of resources in cloud computing environments. (Calder: Paragraph [0028]).
Regarding claim 6, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1 and further teaches:
wherein the controller is further configured to determine the predicted state based on a system model (Liu: Paragraph [0016], “some organizations only schedule full backups during the weekend, which causes the CPU/IO resources to be much busier on the weekends than during working days. Using such information of past workload times, the workload busy status for next N days can be predicted. Hence, with machine learning techniques, the load prediction model can be trained based on the historical data”; wherein the status prediction model is a machine learning model which is interpreted as the system model).
Regarding claim 13, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1 and further teaches:
wherein the first performance metrics is at least a subset of the second performance metrics (Wang: Col. 8, lines 30-45, “upon receiving a request from a client 130, the QoS Manager 102 may extract QoS information from the request, for example the client's role, credentials, and QoS requirements. The QoS Manager 102 may request the Establishment Service module 104 to try to create a QoS contract that satisfies the requirements appropriate for the client's role”; Col. 8, lines 45-57, “The Establishment Service module 104 may query the Prediction Service module 114 for a current system condition (e.g., lightly loaded, normal, overloaded, etc.) and a predicted availability of resources in the near future. If the Prediction Service module 114 indicates that resources are available, the Establishment Service module 112 may request the Resource Manager 112 to reserve the resources. If the Resource Manager 112 indicates that resources are successfully reserved, the Establishment Service module 104 may return to the QoS Manager 102 a QoS contract, which includes resources and QoS parameters (for example, response time, throughput, and availability) that meet QoS requirements of the client 130”; wherein the QoS information is the first performance metrics and the second performance metrics includes said QoS information in order to create a new QoS Agreement that fits the QoS information requirements).
Regarding claim 14, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1 and further teaches:
wherein the controller is further configured to reserve computational resources according to the standby capacity to the standby pool of computational resources enabling the live capacity controller to assign an increase in the portion of the computational resources to the one or more services (Wang: Col. 8, lines 45-57, “The Establishment Service module 104 may query the Prediction Service module 114 for a current system condition (e.g., lightly loaded, normal, overloaded, etc.) and a predicted availability of resources in the near future. If the Prediction Service module 114 indicates that resources are available, the Establishment Service module 112 may request the Resource Manager 112 to reserve the resources. If the Resource Manager 112 indicates that resources are successfully reserved, the Establishment Service module 104 may return to the QoS Manager 102 a QoS contract, which includes resources and QoS parameters (for example, response time, throughput, and availability) that meet QoS requirements of the client 130”; wherein it determines if resources are available and the capacity in this situation is binary, e.g. available or not available; then the additional resources are reserved).
Regarding claim 15, Wang teaches:
A method for automated software monitoring of a software system comprising one or more computational resources (Wang: lines Col. 8, lines 36-45, “If the Policy Manager 110 determines that the client's request is consistent with policies of the system, the Policy Manager 110 may return a set of resources and mechanisms that are to be allocated and activated for the client's request to the Establishment Service module 104”; wherein the monitoring system provides computational resources when demand is needed) configured to execute one or more services and a live capacity controller configured to receive performance metrics from the one or more services and to assign a portion of the computational resources to the one or more services based on the performance metrics (Wang: Col. 8, lines 31-45, “the QoS Manager 102 may extract QoS information from the request, for example the client's role, credentials, and QoS requirements. The QoS Manager 102 may request the Establishment Service module 104 to try to create a QoS contract that satisfies the requirements appropriate for the client's role. The Establishment Service module 104 may interpret the QoS information and may request the Policy Manager 110 to start an admission control process to determine whether the system 100 can admit the client 130 based on its role and requested QoS parameters. If the Policy Manager 110 determines that the client's request is consistent with policies of the system, the Policy Manager 110 may return a set of resources and mechanisms that are to be allocated and activated for the client's request to the Establishment Service module 104”; wherein the establishment service module and Policy manager are interpreted as the live capacity controller and receiving one or more first performance metrics will be the QoS information including the QoS requirements; then providing back the resources is equated to the assigning of the computational resources),
However, Wang does not appear to teach:
receiving second performance metrics;
determining a predicted state of the software system;
However, in the same field of endeavor, Liu teaches:
receiving the performance metrics (Liu: Paragraph [0016], “An analytic engine can collect each site's backup system's runtime CPU/IO statistic to predict workload status for the next N days. At the same time, the backup management center can exchange local and remote DP sites' workload results”);
determining a predicted state of the software system (Liu: Paragraph [0016], “An analytic engine can collect each site's backup system's runtime CPU/IO statistic to predict workload status for the next N days. At the same time, the backup management center can exchange local and remote DP sites' workload results”; wherein the second metrics are the runtime statistics and wherein the state is workload status that is predicted);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by Wang by using a state predictor to predict state of the system, as taught by Liu. One of ordinary skill in the art would have been motivated to use the methods of Liu because it would improve data availability as well as optimizing sites that experience low performance. (Liu: Paragraph [0002]).
However, the Wang/Liu combination does not appear to explicitly teach:
determining a standby capacity based on the predicted state.
However, in the same field of endeavor, Jacobson teaches:
determining a standby capacity based on the predicted state (Jacobson: Paragraph [0026], “The predictive scaling component 125 could then determine a plan for predictively scaling the application, based on the determined number of application instances needed to satisfy the estimated future workload and an average start-up time for the application instances”; wherein the estimated future workload is the predicted state and the predictive scaling component would be the standby capacity calculator that determines a plan in light of the determined number of application instances needed which is the standby capacity);
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu combination by executing a standby capacity calculator to determine standby capacity based on a predicted state, as taught by Jacobson. One of ordinary skill in the art would have been motivated to use the methods of Jacobson because it would improve the performance of the system by responding to fluctuations in need of resources. (Jacobson: Paragraphs [0028]-[0029]).
However, the Wang/Liu/Jacobson combination does not appear to teach:
reserving computational resources according to the standby capacity to a standby pool of computational resources enabling the live capacity controller to assign a change in the portion of the computational resources to the one or more services from the standby pool.
However, in the same field of endeavor, Calder teaches:
reserving computational resources according to the standby capacity to a standby pool of computational resources (Calder: Paragraph [0030], “A “standby reservation of virtual machines is a reservation associated with a pool or account for virtual machines to be assigned to the pool or account for use at some point in the future. Provisioning the virtual machine for use can mean merely that sufficient virtual machine resources are identified and/or reserved within the cloud computing environment, so that virtual machine resources will be available for conversion to dedicated virtual machines when requested”; Paragraph [0031], “A standby virtual machine reservation is not an allocation or assignment of a virtual machine. Instead, a standby virtual machine reservation reserves the right in the future for an idle or preemptible virtual machine to be converted to a dedicated virtual machine assigned to the user or pool associated with the standby reservation”) enabling the live capacity controller to assign a change in the portion of the computational resources to the one or more services from the standby pool (Calder: Paragraph [0033], “Standby reservations can be used to convert idle or preemptible virtual machines to dedicated machines assigned to a pool corresponding to a user based on time-based criteria or load-based criteria”; Paragraph [0023], “A process for managing a virtual machine cluster, such as a task tenant, can assign and unassign virtual machines from a virtual machine pool. A task tenant (or other process for managing a virtual machine cluster) can also schedule tasks on a virtual machine within a cluster based on a queue of jobs corresponding to the pool the virtual machine is assigned to. When a task tenant needs additional machines in order to assign a sufficient number to a virtual machine pool, the task tenant can obtain additional virtual machines from the general cloud computing environment. Similarly, if a task tenant has an excess of virtual machines, the task tenant can return the excess machines to the general cloud computing environment”; wherein the task tenant acts as the live capacity controller and handles allocations/assignations and deallocations of virtual machines).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson combination by reserving resources to a standby pool and then assigning them to one or more services, as taught by Calder. One of ordinary skill in the art would have been motivated to use the methods of Calder because it would improve the availability of resources in cloud computing environments. (Calder: Paragraph [0028]).
Regarding claim 16, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 15 and further teaches:
A non-transitory computer-readable medium storing computer instructions that when loaded into and executed by a controller of a software monitoring system enables the software monitoring system to implement the method of claim 15 (Wang: Col. 28, lines 31-36, “Each block or symbol in a block diagram or flowchart diagram referenced herein may represent a module, segment or portion of computer usable or readable program code which comprises one or more executable instructions for implementing, by one or more data processing systems, the specified function or functions”).
Claims 2, 4, 8-9, 19, and 21 are rejected under 35 U.S.C. 103 as being unpatentable Wang in view of Liu in view of Jacobson in view of Calder and further in view of U.S. Publication No. 2017/0063645 to Testa et al. ("Testa").
Regarding claim 2, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1. However, the combination does not appear to explicitly teach:
wherein the controller is further configured to:
execute a performance calculator to determine a prediction performance;
execute a compensator calculator to determine a compensator based on the prediction performance; and
determine the standby capacity based on the compensator.
However, in the same field of endeavor, Testa teaches:
wherein the controller is further configured to:
execute a performance calculator to determine a prediction performance (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective”; Paragraph [0046], “The weight may then indicate the resource's 110 performance influence on the applications 120 performance. Thereby it may be possible to predict future dependent metric influence on a SLA metric”; wherein the performance calculator determines a weight);
execute a compensator calculator to determine a compensator based on the prediction performance (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective. The weight of a dependent metric may enable how to predict a size or a magnitude of a corrective action”; wherein the compensator calculator determines the size or magnitude of a corrective action such as adding resources); and
determine the standby capacity based on the compensator (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective”; wherein the compensator calculator provides the size or magnitude and resources can be add or removed based on the size or magnitude that is predicted).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by determining standby capacity based on prediction performance, as taught by Testa. One of ordinary skill in the art would have been motivated to use the methods of Testa because it would enable suitable predictions for changing resource allocation while providing fewer alarms to handle by an operator. (Testa: Paragraphs [0013]-[0015]).
Regarding claim 4, the Wang/Liu/Jacobson/Calder/Testa combination teaches all of the elements of claim 2 and further teaches:
wherein the controller is further configured to determine the compensator based on a safety factor (k) (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective. The weight of a dependent metric may enable how to predict a size or a magnitude of a corrective action”; wherein the safety factor (k) is interpreted as a factor that helps make sure there is enough resources and therefore, the size or magnitude of resource addition is determined based on the weight factor).
Regarding claim 8, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 6. However, the combination does not appear to explicitly teach:
wherein the controller is further configured to
store the predicted state;
store the received performance metrics; and
execute a model trainer to train the system model based on the stored predicted states and the stored received performance metrics.
However, in the same field of endeavor, Testa teaches:
wherein the controller is further configured to
store the predicted state (Testa: Paragraph [0055], “the SLA metric may be composed by a set of metrics, a plurality of dependent metrics may be influencing the SLA metric, it may be difficult to determine how the different dependent metrics will influence the SLA metric in different situations. By storing status data, it may be possible to learn and build experience, and thereby better provide weight for different dependent metrics. This in turn will enable better prediction of the application's 120 behavior in the computer environment 50”; wherein the third element of training the element including stored predicted states);
store the received performance metrics (Testa: Paragraph [0055], “the SLA metric may be composed by a set of metrics, a plurality of dependent metrics may be influencing the SLA metric, it may be difficult to determine how the different dependent metrics will influence the SLA metric in different situations. By storing status data, it may be possible to learn and build experience, and thereby better provide weight for different dependent metrics. This in turn will enable better prediction of the application's 120 behavior in the computer environment 50”; wherein the stored dependent metrics, SLA metric, and status data will allow training using this data); and
execute a model trainer to train the system model based on the stored predicted states and the stored received performance metrics (Testa: Paragraph [0055], “the SLA metric may be composed by a set of metrics, a plurality of dependent metrics may be influencing the SLA metric, it may be difficult to determine how the different dependent metrics will influence the SLA metric in different situations. By storing status data, it may be possible to learn and build experience, and thereby better provide weight for different dependent metrics. This in turn will enable better prediction of the application's 120 behavior in the computer environment 50”; wherein the stored dependent metrics, SLA metric, and status data will allow training using this data; wherein the model is the actual process of learning that occurs).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by training the model on historical data to learn patterns, as taught by Testa. One of ordinary skill in the art would have been motivated to use the methods of Testa because an advantage with these features is that the solution may be gaining knowledge and building experience over time, i.e. the solution will learn and adopt changes of resource allocation for an optimal effect. (Testa: Paragraph [0064]).
Regarding claim 9, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 6. However, the combination does not appear to explicitly teach:
execute a performance calculator to determine a prediction performance;
execute a compensator calculator to determine a compensator based on the prediction performance;
determine the standby capacity based on the compensator; and
determine that the prediction performance falls below a threshold and in response thereto train the system model.
However, in the same field of endeavor, Testa teaches:
execute a performance calculator to determine a prediction performance (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective”; Paragraph [0046], “The weight may then indicate the resource's 110 performance influence on the applications 120 performance. Thereby it may be possible to predict future dependent metric influence on a SLA metric”; wherein the performance calculator determines a weight);
execute a compensator calculator to determine a compensator based on the prediction performance (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective. The weight of a dependent metric may enable how to predict a size or a magnitude of a corrective action”; wherein the compensator calculator determines the size or magnitude of a corrective action such as adding resources);
determine the standby capacity based on the compensator (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective”; wherein the compensator calculator provides the size or magnitude and resources can be add or removed based on the size or magnitude that is predicted); and
determine that the prediction performance falls below a threshold and in response thereto train the system model (Testa: Paragraph [0052], “In an embodiment, the dependency status may be evaluated through a weighted function of the at least one dependent metric status, wherein the dependency status may be determined as above or below at least one threshold. In an embodiment, there may be a plurality of thresholds, e.g. for different severity or different warning levels. A threshold may also be specified as an interval”; Paragraph [0053], “in an embodiment, the statistical status and the dependency status of the SLA metric may be compared S160, wherein when the comparison indicates that the two statuses are different, an updated status S170 of the SLA metric may be performed based on a worse value of the statistical status and the dependency status. The status may be stored S180 in a data storage”; Paragraph [0055], “By storing status data, it may be possible to learn and build experience, and thereby better provide weight for different dependent metrics. This in turn will enable better prediction of the application's 120 behavior in the computer environment 50”; wherein the weight is the prediction performance and it being below a threshold can trigger an action, the action and statuses are stored and are used for further learning in the future).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by training the model on historical lower than threshold data to learn patterns, as taught by Testa. One of ordinary skill in the art would have been motivated to use the methods of Testa because an advantage with these features is that the solution may be gaining knowledge and building experience over time, i.e. the solution will learn and adopt changes of resource allocation for an optimal effect. (Testa: Paragraph [0064]).
Regarding claim 19, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 15. However, the combination does not appear to explicitly teach:
wherein the method further comprises determining a prediction performance and determining a compensator based on the prediction performance, and the standby capacity is determined further based on the compensator.
However, in the same field of endeavor, Testa teaches:
wherein the method further comprises determining a prediction performance (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective”; Paragraph [0046], “The weight may then indicate the resource's 110 performance influence on the applications 120 performance. Thereby it may be possible to predict future dependent metric influence on a SLA metric”; wherein the performance calculator determines a weight) and determining a compensator based on the prediction performance (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective. The weight of a dependent metric may enable how to predict a size or a magnitude of a corrective action”; wherein the compensator calculator determines the size or magnitude of a corrective action such as adding resources), and the standby capacity is determined further based on the compensator (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective”; wherein the compensator calculator provides the size or magnitude and resources can be add or removed based on the size or magnitude that is predicted).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by determining standby capacity based on prediction performance, as taught by Testa. One of ordinary skill in the art would have been motivated to use the methods of Testa because it would enable suitable predictions for changing resource allocation while providing fewer alarms to handle by an operator. (Testa: Paragraphs [0013]-[0015]).
Regarding claim 21, the Wang/Liu/Jacobson/Calder/Testa combination teaches all of the elements of claim 19 and further teaches:
wherein the method further comprises determining the compensator based on a safety factor (k) (Testa: Paragraph [0048], “determine a weight for a dependent metric because it may than be possible to predict or determine how much resources 110 that should be added or removed for an application, in order to have desired effect on the application 120. Another advantage may be that it may be possible to predict or determine how many resources 110 which should be allocated or removed for an application, in order to achieve a certain impact on the application's 120 performance from an SLA perspective. The weight of a dependent metric may enable how to predict a size or a magnitude of a corrective action”; wherein the safety factor (k) is interpreted as a factor that helps make sure there is enough resources and therefore, the size or magnitude of resource addition is determined based on the weight factor).
Claims 5 and 22 are rejected under 35 U.S.C. 103 as being unpatentable Wang in view of Liu in view of Jacobson in view of Calder and further in view of U.S. Publication No. 2014/0344828 to Brown et al. ("Brown").
Regarding claim 5, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1. However, the combination does not appear to teach:
wherein the controller is further configured to execute a minimum standby pool calculator to determine a minimum standby pool size based on the predicted state and in response thereto execute the standby capacity calculator to determine the standby capacity based also on the minimum standby pool size.
However, in the same field of endeavor, Brown teaches:
wherein the controller is further configured to execute a minimum standby pool calculator to determine a minimum standby pool size based on the predicted state and in response thereto execute the standby capacity calculator to determine the standby capacity based also on the minimum standby pool size (Brown: Paragraph [0015], “Described embodiments provide techniques to reserve resources for a super process and sub-processes of the super process by forming level pools, containing resources, for different levels of processes of the super process, where a plurality of level pools are reserved for each of the level of sub-processes of the super process. Each resource level pool may include the minimum number of resources needed for the sub-process on this level and may only be assigned when the sub-process is invoked. By using pools with resources per each level of sub-processes, the assignment of pools of resources is minimized and limited to pools having only the number of the resources for the sub-process to complete without a deadlock”).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by determining standby capacity based on a minimum size of the pool, as taught by Brown. One of ordinary skill in the art would have been motivated to use the methods of Brown because it would provide plenty of resources while also preventing deadlocks. (Brown: Paragraphs [0004]).
Regarding claim 22, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 15. However, the combination does not appear to teach:
wherein the method further comprises determining a minimum standby pool size based on the predicted state, and the standby capacity is determined based also on the minimum standby pool size.
However, in the same field of endeavor, Brown teaches:
wherein the method further comprises determining a minimum standby pool size based on the predicted state, and the standby capacity is determined based also on the minimum standby pool size (Brown: Paragraph [0015], “Described embodiments provide techniques to reserve resources for a super process and sub-processes of the super process by forming level pools, containing resources, for different levels of processes of the super process, where a plurality of level pools are reserved for each of the level of sub-processes of the super process. Each resource level pool may include the minimum number of resources needed for the sub-process on this level and may only be assigned when the sub-process is invoked. By using pools with resources per each level of sub-processes, the assignment of pools of resources is minimized and limited to pools having only the number of the resources for the sub-process to complete without a deadlock”).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by determining standby capacity based on a minimum size of the pool, as taught by Brown. One of ordinary skill in the art would have been motivated to use the methods of Brown because it would provide plenty of resources while also preventing deadlocks. (Brown: Paragraphs [0004]).
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable Wang in view of Liu in view of Jacobson in view of Calder in view of U.S. Publication No. 2022/0179700 to Jreij et al. ("Jreij").
Regarding claim 7, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 6. However, the combination does not appear to teach:
wherein the controller is further configured to determine the predicted state based on the system model utilizing a neural network.
However, in the same field of endeavor, Jreij teaches:
wherein the controller is further configured to determine the predicted state based on the system model utilizing a neural network (Jreij: Paragraph [0034], “the system control processor manager (50) may predict the likely computing resource needs in the future. The predictions may be used to determine when to limit computing resource allocation, how to limit computing resource allocation, and when to deallocate resources to obtain additional computing resources for allocation purposes. To generate the predictions, the system control processor manager (50) may implement any number and type of predictive algorithm including, for example, machine learning, stochastic methods, heuristic learning, global minimization, and/or other types of predictive algorithms”; wherein a neural network is a machine learning model).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by determining standby predicted states using neural networks, as taught by Jreij. One of ordinary skill in the art would have been motivated to use the methods of Jreij because it would reduce the likelihood of over-provisioning of computing resources thereby resulting in reduced inefficient computing resource utilization (e.g., idle computing resources). (Jreij: Paragraph [0021]).
Claims 10-12 are rejected under 35 U.S.C. 103 as being unpatentable Wang in view of Liu in view of Jacobson in view of Calder and further in view of U.S. Patent No. 10,673,714 to Chitalia et al. ("Chitalia").
Regarding claim 10, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1. However, the combination does not appear to teach:
wherein the second performance metrics comprises one or more images representing one or more current states of the one or more services of the software system and wherein the controller is further configured to determine the predicted state of the software system based on image analysis of the one or more images.
However, in the same field of endeavor, Chitalia teaches:
wherein the second performance metrics comprises one or more images representing one or more current states of the one or more services of the software system and wherein the controller is further configured to determine the predicted state of the software system based on image analysis of the one or more images (Chitalia: Col. 12, lines 23-38, “Dashboard 203 may include user interfaces that present information about utilization of a network, virtualization infrastructure, cluster, or other computing environment. In some examples, utilization information for one or more infrastructure elements may be presented as color and/or a range indicator that corresponds to a metric value for that infrastructure element. The range indicator may be used in a user interface that includes a heat map, where for one or more utilization metrics, infrastructure elements experiencing high utilization are presented in a manner that is visually distinct from infrastructure elements experiencing low utilization (e.g., red for high utilization and green for low utilization)”; Col. 12, lines 1-16, “Dashboard 203 may also present information about the health and risk for one or more virtual machines 148 or other resources within data center 110. In some examples, “health” may correspond to an indicator that reflects a current state of one or more virtual machines 148”; Col. 11, lines 56-67, “The bins of such histograms may represent the number of instances that used a given percentage of a resource, such CPU utilization. By presenting data using histograms, dashboard 203 presents information in a way that allows administrator 128, if dashboard 203 is presented at user interface device 129, to quickly identify patterns that indicate under-provisioned or over-provisioned instances. In some examples, dashboard 203 may highlight resource utilization by instances on a particular project or host, or total resource utilization across all hosts or projects, so that administrator 128 may understand the resource utilization in context of the entire infrastructure”; wherein the performance metrics include a heatmap/dashboard that use colors that are used to determine predicted state of the system based on appearance/analysis of the images; wherein an administrator which can be deemed a controller analyzes the images to determine a predicted state).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by using images indicative of health of a system to assist in determining an issue, as taught by Chitalia. One of ordinary skill in the art would have been motivated to use the methods of Chitalia because it would provide near or seemingly-near real-time and historic monitoring, performance visibility and dynamic optimization to improve orchestration, security, accounting and planning within the computing environment. (Chitalia: Col. 1, lines 51-55).
Regarding claim 11, the Wang/Liu/Jacobson/Calder/Chitalia combination teaches all of the elements of claim 10 and further teaches:
wherein the controller is further configured to provide said image analysis to recognize a pattern in the one or more images, which pattern is associated with a known state, wherein the predicted state is determined to be the known state (Chitalia: Col. 12, lines 23-38, “Dashboard 203 may include user interfaces that present information about utilization of a network, virtualization infrastructure, cluster, or other computing environment. In some examples, utilization information for one or more infrastructure elements may be presented as color and/or a range indicator that corresponds to a metric value for that infrastructure element. The range indicator may be used in a user interface that includes a heat map, where for one or more utilization metrics, infrastructure elements experiencing high utilization are presented in a manner that is visually distinct from infrastructure elements experiencing low utilization (e.g., red for high utilization and green for low utilization)”; Col. 12, lines 1-16, “Dashboard 203 may also present information about the health and risk for one or more virtual machines 148 or other resources within data center 110. In some examples, “health” may correspond to an indicator that reflects a current state of one or more virtual machines 148”; Col. 11, lines 56-67, “The bins of such histograms may represent the number of instances that used a given percentage of a resource, such CPU utilization. By presenting data using histograms, dashboard 203 presents information in a way that allows administrator 128, if dashboard 203 is presented at user interface device 129, to quickly identify patterns that indicate under-provisioned or over-provisioned instances. In some examples, dashboard 203 may highlight resource utilization by instances on a particular project or host, or total resource utilization across all hosts or projects, so that administrator 128 may understand the resource utilization in context of the entire infrastructure”; wherein the performance metrics include a heatmap/dashboard that use colors that are used to determine predicted state of the system based on appearance/analysis of the images; wherein an administrator which can be deemed a controller analyzes the images to determine a predicted state such as red being high utilization which is a known state).
Regarding claim 12, the Wang/Liu/Jacobson/Calder combination teaches all of the elements of claim 1. However, the combination does not appear to teach:
wherein the second performance metrics comprises at least one performance metric from a first service of the one or more services, wherein the performance metric from the first service comprises an opaque data entity.
However, in the same field of endeavor, Chitalia teaches:
wherein the second performance metrics comprises at least one performance metric from a first service of the one or more services, wherein the performance metric from the first service comprises an opaque data entity (Chitalia: Col. 12, lines 23-38, “Dashboard 203 may include user interfaces that present information about utilization of a network, virtualization infrastructure, cluster, or other computing environment. In some examples, utilization information for one or more infrastructure elements may be presented as color and/or a range indicator that corresponds to a metric value for that infrastructure element. The range indicator may be used in a user interface that includes a heat map, where for one or more utilization metrics, infrastructure elements experiencing high utilization are presented in a manner that is visually distinct from infrastructure elements experiencing low utilization (e.g., red for high utilization and green for low utilization”); wherein the performance metrics include a heatmap/dashboard that use colors to show predicted utilization states; however, the use of colors is essentially not showing the underlying values. Under broadest reasonable interpretation an opaque data entity can be interpreted as a piece of data or value that does not reveal underlying values).
It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the method taught by the Wang/Liu/Jacobson/Calder combination by using images indicative of health of a system that do not fully reveal the data to assist in determining an issue, as taught by Chitalia. One of ordinary skill in the art would have been motivated to use the methods of Chitalia because it would provide near or seemingly-near real-time and historic monitoring, performance visibility and dynamic optimization to improve orchestration, security, accounting and planning within the computing environment. (Chitalia: Col. 1, lines 51-55).
Allowable Subject Matter
Claims 3 and 20 are objected to as being dependent upon a rejected base claim and are rejected under non-art rejections, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims as well as overcoming the non-art rejections.
As to claim 3, it contains allowable subject matter when the claim is taken as a whole. See the bolded/italicized/underlined text indicating aspects that in combination with the remainder of the claim differentiate it from prior art:
The software monitoring system of claim 2, wherein the controller is further configured to execute an accuracy calculator to determine a prediction accuracy by comparing the second performance metrics for a specific time period to the previously stored predicted state of the software system for the specific time period, and to determine the prediction performance based on the prediction accuracy.
As to claim 20, it contains allowable subject matter when the claim is taken as a whole. See the bolded/italicized/underlined text indicating aspects that in combination with the remainder of the claim differentiate it from prior art:
The method of claim 19, wherein the method further comprises:
determining a prediction accuracy by comparing the second performance metrics for a specific time period to the previously stored predicted state of the software system for the specific time period; and
determining the prediction performance based on the prediction accuracy.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. (US 20250258708 A1, US 11966775 B2, US 20240089218 A1, US 20230350723 A1, US 20230205664 A1, US 20230099001 A1, US 10248469 B2, US 20190087232 A1, US 20180367581 A1, US 20180103088 A1, US 20170201434 A1, US 20150127905 A1, US 20100082549 A1, US 20070100987 A1, US 20050222819 A1).
US 20250258708 A1: A federated distributed AI reasoning and action platform utilizing decentralized, partially observable hierarchical computing for neuro-symbolic reasoning. It features a federated Distributed Computational Graph (DCG) system integrating core components like pipeline orchestration, transformers, and marketplaces. The platform enables privacy-preserving dynamic resource allocation, intelligent task scheduling, and variable information sharing across diverse computing environments. By coordinating with an AI-based operating system and analyzing performance metrics, environmental conditions, and resource availability, the system optimizes efficiency across AI workloads and decision-making processes. This results in an adaptive, power-efficient, and scalable AI-enabled data processing system capable of handling complex tasks while maintaining peak performance under various operating conditions.
US 11966775 B2: A request to execute a recurring job is received by a cloud computing environment. Thereafter, available computing resources available to execute the job are determined based on historical resource consumption trends. A resource prediction for the job is then generated using an ensemble model ((S)ARIMA model) that combines an autoregressive moving average (ARMA) model and an autoregressive moving average (ARIMA) prediction models. The resource prediction characterizes resources to be consumed for successfully executing the job. Execution of the job can then be scheduled by the cloud computing environment based on the resource prediction and the available computing resources. Related apparatus, systems, techniques and articles are also described.
US 20240089218 A1: Aspects of the subject disclosure may include, for example, receiving workload requests for tenant devices providing services to user devices; partitioning node resources to facilitate network slicing in a software defined network to provide the services; determining that the workload requests exceed available resources of the node; and outsourcing a portion of a load to one or more neighboring nodes, where the outsourcing is performed in coordination with a regional orchestrator and a SDN intelligence module. Other embodiments are disclosed.
US 20230350723 A1: A control server checks whether a resource necessary for process execution is present in a computer system. The control server determines that generating a placement plan is possible when relative guarantee is possible, the relative guarantee guaranteeing a guarantee volume that is at least an absolute resource volume and, if possible, guaranteeing a resource volume reaching an upper limit volume, for a reservation acceptance limit, and starts generating the placement plan. In a period between right after the start of generation of the placement plan and right before permission to selection/approval of the proposed placement plan, the control server makes a reservation with relative guarantee that for the resource and the reservation acceptance limit, makes the guarantee volume and the upper limit volume for the resource volume of the resource different respectively from the guarantee volume and the upper limit volume for the reservation acceptance limit.
US 20230205664 A1: Techniques for predicting anomalies in forecasted time-series data are disclosed. A system. A system predicts whether a monitored computing system will experience anomalies by comparing forecasted values associated with components in the monitored computing system to threshold values. The system utilizes time-series machine learning models to forecast workloads of computing resources in the monitored computing system. The system trains and tests multiple different versions of a time-series model and selects the most accurate version to generate forecasts for a particular workload in the computing system. The system compares the forecasts to threshold values to predict anomalies. Based on detecting anomalies, the system generates recommendations for remediating predicted anomalies.
US 20230099001 A1: Automated processes and systems troubleshoot and optimize performance of applications running in distributed computing systems. An automated computer-implemented processes train an inference model for an application based on metrics associated with the application and a key performance indicator (“KPI”) of the application. When a run-time performance problem is detected in run-time KPI values of KPI, the trained inference model is applied to run-time metrics and run-time KPI values to identify relevant run-time metrics that can be used to identify the root cause of the performance problem. The root cause of the performance problem can be used to generate a recommendation for correcting the performance problem. An alert identifying the root cause of the performance problem and the recommendation for correcting the performance problem are displayed on an interface of a display, thereby enabling correction of the performance problem and optimization of the application.
US 10248469 B2: In an approach to collecting and processing performance metrics, one or more computer processors assign an identifier corresponding to a first workload associated with a first virtual machine. The one or more computer processors record resource consumption data of at least one processor at a performance monitoring interrupt. The one or more computer processors create a relational association of the first workload and the first virtual machine to the resource consumption data of the at least one processor. The one or more computer processors determine if the first workload is complete. Responsive to determining that the first workload is not complete, the one or more computer processors calculate a difference in recorded resource consumption data between the performance monitoring interrupt and a previous performance monitoring interrupt.
US 20190087232 A1: Duration information indicative of an amount of time taken by each of one or more tasks of a distributed compute phase of a distributed compute job in a distributed compute cluster to execute is obtained. The one or more tasks are sorted into one or more groups based on the duration information and a resource requirement is determined for each of the one or more groups. A time-varying allocation of resources of the distributed compute cluster for the phase is determined based on the resource requirement for each of the one or more groups.
US 20180367581 A1: Example implementations relate to scaling a processing system. An example implementation includes receiving an application having a number of operators for performing a service in the processing system. A metric of the processing system may be monitored while the application runs, and the processing system may be scaled where the metric surpasses a threshold. In an example, the processing system may be scaled by increasing or decreasing the number of operators of the application.
US 20180103088 A1: The present disclosure relates to minimizing the execution time of compute workloads in a distributed computing system. An example method generally includes receiving, from each of a plurality of server clusters, an estimated completion time and cost information predicted to be consumed in processing the compute workload. A workload manager compares the received estimates to a completion time and threshold cost criteria. Upon determining that the estimated completion time and cost information from any of the plurality of server clusters does not satisfy the completion time and threshold cost criteria, the workload manager partitions the compute workload into a plurality of segments, requests estimated completion time and cost information from the plurality of server clusters for each of the plurality of segments, and selects a cluster to process each segment of the compute workload based on the estimated completion time and cost reported for each segment.
US 20170201434 A1: Examples disclosed herein relate to updating a controller of a computational resource system that provides a computing capability to a distributed processing framework. An analysis engine of the distributed processing framework may collect resource usage data characterizing consumption of a compute resource of the computational resource system in providing the computing capability to a framework nodes of the distributed processing framework. Using the resource usage data, the analysis engine may update the controller of the computational resource system with actionable data affecting the computing capability.
US 20150127905 A1: A system and method for determining an optimal cache size of a computing system is provided. In some embodiments, the method comprises selecting a portion of an address space of a memory structure of the computing system. A workload of data transactions is monitored to identify a transaction of the workload directed to the portion of the address space. An effect of the transaction on a cache of the computing system is determined, and, based on the determined effect of the transaction, an optimal cache size satisfying a performance target is determined. In one such embodiment the determining of the effect of the transaction on a cache of the computing system includes determining whether the effect would include a cache hit for a first cache size and determining whether the effect would include a cache hit for a second cache size different from the first cache size.
US 20100082549 A1: Systems and methods for managing database applications are disclosed. A system includes a fabric that identifies a set of data-tier application components. Each of the data-tier application components includes a logical representation of a collection of database elements. The fabric identifies a set of database runtime resources hosting the set of data-tier application components, and the fabric identifies computing resources used by the set of database runtime resources to host the set of data-tier application components. The system also includes a management point to receive a fabric policy. One or more actions of the fabric policy are automatically applied to affected entities identified by the fabric to bring fabric elements into compliance with the fabric policy.
US 20070100987 A1: A method and system for monitoring computational resources within a data processing system is presented. A monitoring service receives a non-application-specific request to perform a monitoring operation in order to gather information about the usage of a computational resource within a data processing system. The monitoring service automatically selects a monitoring application from a set of monitoring applications in which the selected monitoring application is are able to perform the monitoring operation on the computational resource. The monitoring service then sends to the selected monitoring application an application-specific request that identifies the computational resource and indicates the monitoring operation to be performed on the computational resource.
US 20050222819 A1: A computing resource allocation system allocates hardware and software resources among employees, based upon a combination of the employee level, job function, and demonstrated workstation performance within the context of the job requirements of the employee and usage patterns of the computing resource. The system collects various performance data for computing resources. A set of policy rules is applied to the collected performance data and processed by the present system. Consequently, the present system automatically identifies and prioritizes employees in need of technology upgrades and replacements based on business needs and available resources. Performance data of a computing resource is captured and transmitted to a central collection agency. From the performance data, the present system determines when partial upgrades, such as memory additions or faster adapters are appropriate based on system performance or errors. In addition, the present system determines when a computing resource experiences continuous performance problems.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Matthew N Putaraksa whose telephone number is (303)297-4365. The examiner can normally be reached on Monday-Thursday 7:00am-5:00pm MT.
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, Ashish Thomas can be reached on (571) 272-0631. 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 the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MATTHEW N PUTARAKSA/Examiner, Art Unit 2114
/ASHISH THOMAS/Supervisory Patent Examiner, Art Unit 2114