DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-4 and 6-15 are pending in this application.
Response to Arguments
Applicant’s arguments regarding the rejections of claims 1-11 under 35 U.S.C. 112b have been fully considered and some are persuasive. Some of the rejections have been withdrawn. However, new 35 U.S.C. 112b rejections are applied to claims 1-4 and 6-15 based on the amendments.
Applicant's arguments regarding the 35 U.S.C. 101 rejections of claims 1-11 have been fully considered but they are not persuasive.
Regarding the 35 U.S.C. 101 rejection, the applicant argues the following in the remarks:
The claims are not an abstract idea and are therefore patentable.
The claims provide an improvement over conventional technology.
A method that provides memory storing electric power resource information related to an electric power status at each site does not fall under the examples of "mental processes" and is also not abstract. Thus, since the claims are not directed to towards an abstract idea, the claims are patentable.
The claims meet the significantly more prong of the two-part analysis and are therefore patentable. Each recitation of the claim adds significantly more to the alleged abstract idea such that the claims do not apply judicial exceptions on a generic computer and merely describe attributes of the technological environment.
Examiner has thoroughly considered Applicant’s arguments, but respectfully finds them unpersuasive for at least the following reasons:
As to point (a), the examiner respectfully disagrees. Examiner’s analysis of the claims under 35 USC 101 is mischaracterized. Examiner only considers certain portions of the claims to be abstract ideas. For example, the limitation “that creates an allocation plan for selecting one of a plurality of sites as an allocation site” is a mental process since humans can use their judgement to mentally select one or a plurality of sites to create an allocation plan. Complete analysis of all of the limitations that are considered to be mental processes is shown below.
As to point (b), the examiner respectfully disagrees. The specification recites an improvement, but that improvement is not realized in the claims (see MPEP 2106.04(d)(1) “if the specification sets forth an improvement in technology, the claim must be evaluated to ensure that the claim itself reflects the disclosed improvement. That is, the claim includes the components or steps of the invention that provide the improvement described in the specification.”).
As to point (c), the examiner respectfully disagrees. The limitation “memory storing electric power resource information related to an electric power status at each site” is in dependent claim 3, so a conclusion regarding a dependent claim would not apply to all claims. Additionally, claim 3 is not directed to a method, so the argument is moot. Furthermore, the limitation “memory storing electric power resource information related to an electric power status at each site” is considered to include a generic computing component (memory) and an insignificant extra-solution activity that is well-understood, routine, or conventional because it is directed to “storing and retrieving information in memory” (MPEP 2106.05(d)). Therefore, this additional element does not integrate the judicial exceptions into a practical application and does not recite significantly more. Dependent claim 3 has been amended to remove a mental process, but the fact that amended dependent claim 3 does not recite a mental process does not negate the fact that it depends upon claim 1, which recites mental processes.
As to point (d), the examiner respectfully disagrees. A generic argument that the claims recite significantly more because they do not just apply judicial exceptions on a generic computer or merely describe attributes of the technological environment is provided. However, the MPEP’s definition of what it means to be significantly more is not applied in the arguments. MPEP 2106.05(I)(A) provides the types of limitations that the courts deem to be considered significantly more, but the arguments fail to adequately prove that limitations of the claims are those types of limitations.
Applicant's arguments regarding the 35 U.S.C. 103 rejections of claims 1-11 have been fully considered but they are not persuasive.
Regarding the 35 U.S.C. 103 rejection, the applicant argues the following in the remarks:
Applicant respectfully submits that Dasgupta and/or Matteson fail to teach, disclose, or suggest "the processor further: receives target performance information indicating target performance for the program," "the processor further: ... calculates a necessary allocation amount per site and a necessary electric power consumption amount per site by using the target performance information, the performance model, and the electric power consumption model," "the processor further: ... generates the allocation plan based on the calculation of the necessary allocation amount and the necessary electric power consumption amount and electric power resource information comprising a future prediction value," and/or "the processor further: ... transfers the allocation plan to the allocation site to cause implementation of the allocation plan at the allocation site," as recited by claim 1. Further, Dasgupta and Matteson as a whole are completely devoid of "wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage," as recited by claim 1. With respect to dependent claims 4-5 and 7, Applicant respectfully submits that the addition of Kommula, Ninan, and/or Anton does not cure the deficiencies of Dasgupta and Matteson noted above with respect to the independent claims from which these claims variously depend.
Examiner has thoroughly considered Applicant’s arguments, but respectfully finds them unpersuasive for at least the following reasons:
As to point (a), the examiner respectfully disagrees. Dasgupta teaches "the processor further: receives target performance information indicating target performance for the program" because it recites in [0043] “an arbitrator module executing on a hardware processor”; [0022] “A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server and what are the VM sizes in terms of central processing unit (CPU), memory and input/output (I/O) allocations. This decision is based on inputs from the performance management component 112 as well as the energy cost management component 108. The performance management component 112 provides inputs on the desired sizing of the CPU, memory, I/O, etc metrics of the VM depending on the performance that is desired from it. These performance requirements are based on the service level agreements (SLAs) associated with a VM. The performance models 110 of VMs are input to this component. An example of a performance model can include the throughput versus CPU allocation curve of an application”; [0021] “the energy cost management component 108 and the performance management component 112 provide input to an arbitrator component 114 in the form of energy savings allocation and savings estimates, and performance based sizing estimates, respectively”.
Dasgupta teaches "the processor further: ... calculates a necessary allocation amount and a necessary electric power consumption amount per site by using the target performance information, the performance model, and the electric power consumption model" because it recites in [0043] “an arbitrator module executing on a hardware processor”; [0022] “A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server and what are the VM sizes in terms of central processing unit (CPU), memory and input/output (I/O) allocations. This decision is based on inputs from the performance management component 112 as well as the energy cost management component 108. The performance management component 112 provides inputs on the desired sizing of the CPU, memory, I/O, etc metrics of the VM depending on the performance that is desired from it. These performance requirements are based on the service level agreements (SLAs) associated with a VM. The performance models 110 of VMs are input to this component. An example of a performance model can include the throughput versus CPU allocation curve of an application”; [0021] “Further, the energy cost management component 108 and the performance management component 112 provide input to an arbitrator component 114 in the form of energy savings allocation and savings estimates, and performance based sizing estimates, respectively”; [0024] “The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM. During selection at all levels, the arbitrator attempts to find the placement that gives the minimum energy cost expenditure to the datacenter”; claim 18 “at least one processor coupled to the memory and operative to: use one or more server power characteristics to determine a power cost for any given virtual machine placement in the datacenter”; [0023] “On the other hand, the energy management component 108 provides inputs on the desired sizing of CPU, memory, I/O, etc. metrics of the VM depending on its desired energy efficiency. The power 102 and cooling models 104 are input to this component. An example of a power model can include the power consumed versus CPU allocation curve of a server…Based on these inputs, the arbitrator 114 decides a placement for all VMs on the servers in the datacenter, such that the total energy cost (power and cooling) is minimized while meeting performance objectives”.
Matteson teaches "the processor further: ... calculates a necessary allocation amount per site” because it recites in [0029] “the program instructions executable by a processor to cause the processor to perform a method. The method may comprise…determining, for each of the plurality of servers, the current power consumption efficiency and a capacity utilization associated with the current power consumption efficiency before and during performance of a plurality of instances of an identified workload”; [0023] “The amount of capacity utilization necessary to perform the workload may be obtained in various ways. For example, a user may manually enter a capacity utilization value, perhaps based on previous experiences. Alternatively, each server may store a record of capacity utilization before and during performance of the workload each time the workload is performed”.
Dasgupta teaches “the processor further: ... generates the allocation plan based on the calculation of the necessary allocation amount and the necessary electric power consumption amount and electric power resource information” because it recites in [0043] “an arbitrator module executing on a hardware processor”; [0022] “A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server and what are the VM sizes in terms of central processing unit (CPU), memory and input/output (I/O) allocations. This decision is based on inputs from the performance management component 112 as well as the energy cost management component 108. The performance management component 112 provides inputs on the desired sizing of the CPU, memory, I/O, etc metrics of the VM depending on the performance that is desired from it. These performance requirements are based on the service level agreements (SLAs) associated with a VM. The performance models 110 of VMs are input to this component. An example of a performance model can include the throughput versus CPU allocation curve of an application”; [0024] “The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM. During selection at all levels, the arbitrator attempts to find the placement that gives the minimum energy cost expenditure to the datacenter”; claim 18 “at least one processor coupled to the memory and operative to: use one or more server power characteristics to determine a power cost for any given virtual machine placement in the datacenter…and use the power cost and cooling cost to apply integrated energy cost minimization at one or more levels of hierarchy in the datacenter to determine placement of a virtual machine in the datacenter such that the integrated energy cost of the datacenter is minimized.”
Ninan, which was applied in now canceled claim 5, teaches electric power resource information comprising a future prediction value because it recites on pg. 9 lines 31-33 “The supply predictor table 320 shows a predicted portion of energy supplied to the grid by fossil fuels, nuclear and renewable energy source, for hour-long timeslots between 10:00 and 7:00”.
Dasgupta teaches "the processor further: ... transfers the allocation plan to the allocation site to cause implementation of the allocation plan at the allocation site" because it recites in [0043] “an energy-aware arbitrator module and an arbitrator module executing on a hardware processor”; [0024] “FIG. 2 is a diagram illustrating multiple levels of hierarchy, according to an embodiment of the present invention. By way of illustration, FIG. 2 depicts an energy-aware arbitrator component 202, which provides input in order to perform row of rack selection (step 204), rack 212 selection (step 206) and server 214 selection (step 208). Row of rack selection includes a datacenter map selection 210. In FIG. 2, the arbitrator works through the multiple hierarchy levels (that is, room, rows of racks, racks, server, etc.) in a top-down manner. The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM. During selection at all levels, the arbitrator attempts to find the placement that gives the minimum energy cost expenditure to the datacenter.”
Ninan cures the deficiencies of Dasgupta and Matteson by teaching “wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage” because it recites on pg. 5 lines 26-29 “The one or more emissions characteristics may additionally or alternatively include historic or current or predicted values for a proportion of energy supplied by a specific type of energy source, for example a proportion of the electricity provided by renewable, solar, tidal, wind power, nuclear, or fossil fuel energy sources” and on pg. 6 lines 23-26 “a predicted proportion of energy provided by non-renewable energy sources is below a first-proportional-threshold-level and / or a predicted proportion of energy provided by renewable energy sources is above a second-proportional-threshold-level”.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-4 and 6-15 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention.
As per claim 1:
Lines 26-27 recite “transfers the allocation plan to the allocation site to cause implementation of the allocation plan at the allocation site” but this is not supported by the specification. The specification recites in [0132] “Furthermore, according to the present embodiment, the CPU 120 transfers data to the allocation site according to the container/data allocation plan, and instructs the allocation site to deploy the program”. However, the specification does not recite that the allocation plan is transferred to the allocation site.
Claims 2-4 and 6-15 are dependent claims of claim 1 and fail to resolve the deficiencies of claim 1, so they are rejected for the same reasons.
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.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-4 and 6-15 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), 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.
As per claims 1, 10, and 11 (line numbers refer to claim 1):
Lines 19, 23, and 28 recite “necessary allocation amount”, but it is unclear if these limitations are regarding “a resource amount of hardware necessary”.
Lines 23-24 recite “calculation of the necessary allocation amount and the necessary electric power consumption amount” but it is unclear if “the necessary allocation amount” refers to “necessary allocation amount per site” and if “the necessary electric power consumption amount” refers to “necessary electric power consumption amount per site”.
As per claim 15:
Lines 2-3 recite “redeploying the program” but neither claim 15 nor claim 1, which claim 15 depends upon recite deploying the program. Therefore, it is unclear how the program can be redeployed if it hasn’t been deployed.
Claims 2-4 and 6-15 are dependent claims of claim 1 and fail to resolve the deficiencies of claim 1, so they are rejected for the same reasons.
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 1-4 and 6-15 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (abstract idea) without significantly more.
As per claim 1, in step 1 of the 101 analysis, the examiner has determined that the claim
is directed to an apparatus. Therefore, the claim is directed to one of the four statutory categories of invention.
In step 2A prong 1 of the 101 analysis, the examiner has determined that the claim recites
a judicial exception. Specifically, the limitations “that creates an allocation plan for selecting one of a plurality of sites as an allocation site”, “calculates a necessary allocation amount per site and a necessary electric power consumption amount per site by using the target performance information, the performance model, and the electric power consumption model”, “generates the allocation plan based on the calculation of the necessary allocation amount and the necessary electric power consumption amount and electric power resource information comprising a future prediction value”, and “to cause implementation of the allocation plan at the allocation site” are mental processes. Creating an allocation plan is a mental process since humans can mentally select an allocation site. Calculating a necessary allocation amount and a necessary electric power consumption amount is a mental process since humans can mentally compute values. Generating an allocation plan based on calculations is a mental process since humans can mentally compute values and mentally make an allocation. Causing implementation of the allocation plan is a mental process since allocating can be performed in the mind.
In step 2A prong 2 of the 101 analysis, the examiner has determined that the additional
elements, alone or in combination do not integrate the judicial exceptions into a practical
application for the following rationale:
The limitations "the plurality of sites each storing data", “stores a performance model per site and an electric power consumption model per site”, “further: receives target performance information indicating target performance for the program”, and “transfers the allocation plan to the allocation site” represent insignificant, extra-solution activities. The term "extra-solution activity" can be understood as "activities incidental to the primary process or product that are merely a nominal or tangential addition to the claim" (MPEP 2106.05(g)). The examiner has determined that the limitations "the plurality of sites each storing data", “stores a performance model and an electric power consumption model per site”, “further: receives target performance information indicating target performance for the program”, and “transfers the allocation plan to the allocation site” are directed to mere data gathering activities which is a category of insignificant extra-solution activities (MPEP 2106.05(g)).
The limitations "an allocation control apparatus" and "the allocation control apparatus comprising: a memory; and a processor" apply judicial exceptions on a generic computer. "Alappat 's rationale that an otherwise ineligible algorithm or software could be made patent-eligible by merely adding a generic computer to the claim was superseded by the Supreme Court's Bilski and Alice Corp. decisions" so therefore applying judicial exceptions on the allocation control apparatus, memory or processor which are generic computers does not integrate the judicial exceptions into a practical application (MPEP 2106.05(b)).
The limitations “the plurality of sites each storing data and including a computer node capable of constructing an execution platform that executes a program for performing processing related to the data”, “the allocation site including the execution platform and the data allocated therein”, “the performance model indicating a relationship between performance of the program and a resource amount of hardware necessary for realizing the performance of the program, and the electric power consumption model indicating a relationship between a resource allocation amount allocated to the program and an electric power consumption amount consumed when the program is executed”, “wherein the necessary allocation amount and the necessary electric power consumption amount respectively being the resource allocation amount and the electric power consumption amount necessary for realizing the target performance” and “wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage” merely describe attributes of the technological environment in with the abstract idea is operating. The courts have identified that generally linking the use of a judicial exception into a technological environment do not integrate a judicial exception into a practical application (MPEP 2106.04(d)(I)).
In step 2B of the 101 analysis, the examiner has determined that the additional elements, alone or in combination do not recite significantly more than the abstract ideas identified above for the following rationale:
The limitations "the plurality of sites each storing data", “stores a performance model per site and an electric power consumption model per site”, “further: receives target performance information indicating target performance for the program”, and “transfers the allocation plan to the allocation site” represent insignificant, extra-solution activities. The limitations "the plurality of sites each storing data", “stores a performance model per site and an electric power consumption model per site”, “further: receives target performance information indicating target performance for the program”, and “transfers the allocation plan to the allocation site” are well-understood, routine, or conventional because they are directed to "receiving or transmitting data" or “storing and retrieving information in memory” (MPEP 2106.05(d)). These are additional elements that the courts have recognized as well understood, routine, or conventional (MPEP 2106.05(d)). The citation of court cases in the MPEP meets the Berkheimer evidentiary burden since citation of a court case in the MPEP is one of the 4 types of evidentiary support that can be used to prove that the additional elements are well-understood, routine, or conventional (see 125 USPQ2d 1649 Berkheimer v. HP, Inc.). Thus, the limitations do not amount to significantly more than the abstract idea.
The limitations "an allocation control apparatus" and "the allocation control apparatus comprising: a memory; and a processor" apply judicial exceptions on a generic computer and therefore do not provide significantly more.
The limitations “the plurality of sites each storing data and including a computer node capable of constructing an execution platform that executes a program for performing processing related to the data”, “the allocation site including the execution platform and the data allocated therein”, “the performance model indicating a relationship between performance of the program and a resource amount of hardware necessary for realizing the performance of the program, and the electric power consumption model indicating a relationship between a resource allocation amount allocated to the program, and an electric power consumption amount consumed when the program is executed”, “wherein the necessary allocation amount and the necessary electric power consumption amount respectively being the resource allocation amount and the electric power consumption amount necessary for realizing the target performance” and “wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage” merely describe attributes of the technological environment and therefore do not amount to significantly more than the exception itself (MPEP 2106.05(h)).
As per claim 2, it recites mental processes, generic computing components, attributes of the technological environment, and an insignificant extra solution activity that is well understood, routine, or conventional because it is directed to “storing and retrieving information in memory” (MPEP 2106.05(d)). Therefore, the additional elements neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 3, it recites generic computing components, and an insignificant extra solution activity that is well understood, routine, or conventional because it is directed to “storing and retrieving information in memory” (MPEP 2106.05(d)). Therefore, the additional elements neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 4, it recites attributes of the technological environment that neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 6, it recites mental processes, generic computing components, attributes of the technological environment, and an insignificant extra solution activity that is well understood, routine, or conventional because it is directed to “storing and retrieving information in memory” (MPEP 2106.05(d)). Therefore, the additional elements neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 7, it recites attributes of the technological environment that neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 8, it recites attributes of the technological environment that neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 9, it recites generic computing components, and an insignificant extra solution activity that is well understood, routine, or conventional because it is directed to “receiving or transmitting data” (MPEP 2106.05(d)). Therefore, the additional elements neither integrate the judicial exceptions into a practical application nor recite significantly more.
As per claim 10, it is a computer system claim of claim 1, so it is rejected for similar reasons.
As per claim 11, it is an allocation control method claim of claim 1, so it is rejected for similar reasons.
As per claim 12, it recites an attribute of the technological environment that neither integrates the judicial exceptions into a practical application nor recites significantly more.
As per claim 13, it recites an attribute of the technological environment that neither integrates the judicial exceptions into a practical application nor recites significantly more.
As per claim 14, it recites an attribute of the technological environment that neither integrates the judicial exceptions into a practical application nor recites significantly more.
As per claim 15, it recites a mental process and a mere instruction to apply a judicial exception. Therefore, the additional elements neither integrate the judicial exceptions into a practical application nor recite significantly more.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-4, 6, 8-11, and 13-15 are rejected under 35 U.S.C. 103 as being unpatentable over Dasgupta et al. (US 20110238340 A1 hereinafter Dasgupta), in view of Matteson et al. (US 20170255240 A1 hereinafter Matteson), and further in view of Ninan (GB2536229A).
Dasgupta, Matteson, and Ninan were cited in a prior office action.
As per claim 1, Dasgupta teaches the invention substantially as claimed including an allocation control apparatus that creates an allocation plan for selecting one of a plurality of sites as an allocation site, the plurality of sites each storing data and including a computer node capable of constructing an execution platform that executes a program for performing processing related to the data, and the allocation site including the execution platform and the data allocated therein, the allocation control apparatus comprising (Figs. 1 and 2; [0022] A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server; [0024] The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM; [0044] computer useable program code that is stored in a computer readable storage medium in a server data processing system; [0052] As used herein, including the claims, a "server" includes a physical data processing system (for example, system 612 as shown in FIG. 6) running a server program; [0031] At the server level, for a representative server, the power consumed for different sizes of workload is measured.):
a memory; and a processor ([0043] each of the distinct software modules being embodied on a tangible computer-readable recordable storage medium. The distinct software modules can include, for example, a power model module, a cooling model module, a computation fluid dynamics modeler module, a performance model module, a performance management module, an energy cost management module, an energy-aware arbitrator module and an arbitrator module executing on a hardware processor.),
wherein the memory stores a performance model and an electric power consumption model per site, the performance model indicating a relationship between performance of the program and a resource amount of hardware necessary for realizing the performance of the program, and the electric power consumption model indicating a relationship between a resource allocation amount allocated to the program, and an electric power consumption amount consumed when the program is executed ([0022] The performance management component 112 provides inputs on the desired sizing of the CPU, memory, I/O, etc metrics of the VM depending on the performance that is desired from it. These performance requirements are based on the service level agreements (SLAs) associated with a VM. The performance models 110 of VMs are input to this component. An example of a performance model can include the throughput versus CPU allocation curve of an application; [0023] the energy management component 108 provides inputs on the desired sizing of CPU, memory, I/O, etc. metrics of the VM depending on its desired energy efficiency. The power 102 and cooling models 104 are input to this component. An example of a power model can include the power consumed versus CPU allocation curve of a server; [0043] The techniques depicted in FIG. 5 can also, as described herein, include providing a system, wherein the system includes distinct software modules, each of the distinct software modules being embodied on a tangible computer-readable recordable storage medium. The distinct software modules can include, for example, a power model module, a cooling model module, a computation fluid dynamics modeler module, a performance model module, a performance management module, an energy cost management module, an energy-aware arbitrator module and an arbitrator module executing on a hardware processor;[0040] a power consumed versus capacity curve is built using actual measurements during a calibration phase and/or server specifications; [0031] During the bottom-up calibration step, measurements are performed at each level of the hierarchy. At the server level, for a representative server, the power consumed for different sizes of workload is measured.), and
the processor further: receives target performance information indicating target performance for the program, calculates a necessary allocation amount and a necessary electric power consumption amount per site by using the target performance information, the performance model, and the electric power consumption model, generates the allocation plan based on the calculation of the necessary allocation amount and the necessary electric power consumption amount and electric power resource information, and transfers the allocation plan to the allocation site to cause implementation of the allocation plan at the allocation site, wherein the necessary allocation amount and the necessary electric power consumption amount respectively being the resource allocation amount and the electric power consumption amount necessary for realizing the target performance (Figs. 1 and 2; [0043] an energy-aware arbitrator module and an arbitrator module executing on a hardware processor; [0022] A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server and what are the VM sizes in terms of central processing unit (CPU), memory and input/output (I/O) allocations. This decision is based on inputs from the performance management component 112 as well as the energy cost management component 108. The performance management component 112 provides inputs on the desired sizing of the CPU, memory, I/O, etc metrics of the VM depending on the performance that is desired from it. These performance requirements are based on the service level agreements (SLAs) associated with a VM. The performance models 110 of VMs are input to this component. An example of a performance model can include the throughput versus CPU allocation curve of an application; [0021] the energy cost management component 108 and the performance management component 112 provide input to an arbitrator component 114 in the form of energy savings allocation and savings estimates, and performance based sizing estimates, respectively; [0038] Step 502 includes using one or more server power characteristics (for example, processing capacity of the server) to determine a power cost for any given virtual machine placement in the datacenter; [0023] The performance models 110 are used by the arbitrator 114 to guarantee that desired performance is met. On the other hand, the energy management component 108 provides inputs on the desired sizing of CPU, memory, I/O, etc. metrics of the VM depending on its desired energy efficiency. The power 102 and cooling models 104 are input to this component. An example of a power model can include the power consumed versus CPU allocation curve of a server…Based on these inputs, the arbitrator 114 decides a placement for all VMs on the servers in the datacenter, such that the total energy cost (power and cooling) is minimized while meeting performance objectives;[0040] a power consumed versus capacity curve is built using actual measurements during a calibration phase and/or server specifications; [0031] During the bottom-up calibration step, measurements are performed at each level of the hierarchy. At the server level, for a representative server, the power consumed for different sizes of workload is measured; Claim 18 at least one processor coupled to the memory and operative to: use one or more server power characteristics to determine a power cost for any given virtual machine placement in the datacenter …and use the power cost and cooling cost to apply integrated energy cost minimization at one or more levels of hierarchy in the datacenter to determine placement of a virtual machine in the datacenter such that the integrated energy cost of the datacenter is minimized; [0024] FIG. 2 is a diagram illustrating multiple levels of hierarchy, according to an embodiment of the present invention. By way of illustration, FIG. 2 depicts an energy-aware arbitrator component 202, which provides input in order to perform row of rack selection (step 204), rack 212 selection (step 206) and server 214 selection (step 208). Row of rack selection includes a datacenter map selection 210. In FIG. 2, the arbitrator works through the multiple hierarchy levels (that is, room, rows of racks, racks, server, etc.) in a top-down manner. The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM. During selection at all levels, the arbitrator attempts to find the placement that gives the minimum energy cost expenditure to the datacenter).
Dasgupta fails to teach a performance model per site, calculates a necessary allocation amount per site, electric power resource information comprising a future prediction value, and wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage.
However, Matteson teaches a performance model per site ([0045] For each server, the method accesses, for each of the three servers (Server #1, Server #2 and Server #3), a determined relationship between power consumption efficiency and capacity utilization. This is shown by the solid curved lines (80-1, 80-2 and 80-3) in each graph; Abstract the method determines a curve of power consumption efficiency as a function of capacity utilization that is representative of the performance of the plurality of instances of the identified workload);
calculates a necessary allocation amount per site ([0023] The amount of capacity utilization necessary to perform the workload may be obtained in various ways. For example, a user may manually enter a capacity utilization value, perhaps based on previous experiences. Alternatively, each server may store a record of capacity utilization before and during performance of the workload each time the workload is performed; [0029] the program instructions executable by a processor to cause the processor to perform a method. The method may comprise…determining, for each of the plurality of servers, the current power consumption efficiency and a capacity utilization associated with the current power consumption efficiency before and during performance of a plurality of instances of an identified workload).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Dasgupta with the teachings of Matteson to provide the greatest improvement in power consumption efficiency (see Matteson [0025] the method may assign the additional workload to an identified server among the plurality of servers that would experience the greatest improvement in power consumption efficiency by receiving the additional workload.).
Dasgupta and Matteson fail to teach electric power resource information comprising a future prediction value, and wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage.
However, Ninan teaches electric power resource information comprising a future prediction value, and wherein the future prediction value comprises at least one of an available renewable energy amount and an intra-electric power renewable energy percentage (Fig. 3; pg. 5 lines 26-29 The one or more emissions characteristics may additionally or alternatively include historic or current or predicted values for a proportion of energy supplied by a specific type of energy source, for example a proportion of the electricity provided by renewable, solar, tidal, wind power, nuclear, or fossil fuel energy sources; pg. 6 lines 23-26 a predicted proportion of energy provided by non-renewable energy sources is below a first-proportional-threshold-level and / or a predicted proportion of energy provided by renewable energy sources is above a second-proportional-threshold-level; pg. 9 lines 31-33 The supply predictor table 320 shows a predicted portion of energy supplied to the grid by fossil fuels, nuclear and renewable energy source, for hour-long timeslots between 10:00 and 7:00).
It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined Dasgupta and Matteson with the teachings of Ninan to reduce an environmental impact (see Ninan pg. 1 lines 4-5 automatically scheduling operational events at times that reduce an environmental impact of the events.).
As per claim 2, Dasgupta, Matteson, and Ninan teach the allocation control apparatus according to claim 1. Dasgupta teaches wherein the site includes a plurality of node groups including one or more computer nodes having equal electric power efficiency ([0025] servers on a rack are homogeneous in terms of p; [0028] P is a function of the power efficiency of all of the servers), wherein the memory stores the performance model and the electric power consumption model per node group ([0022] An example of a performance model can include the throughput versus CPU allocation curve of an application; [0023] An example of a power model can include the power consumed versus CPU allocation curve of a server; [0043] The techniques depicted in FIG. 5 can also, as described herein, include providing a system, wherein the system includes distinct software modules, each of the distinct software modules being embodied on a tangible computer-readable recordable storage medium. The distinct software modules can include, for example, a power model module, a cooling model module, a computation fluid dynamics modeler module, a performance model module, a performance management module, an energy cost management module, an energy-aware arbitrator module and an arbitrator module executing on a hardware processor; [0040] a power consumed versus capacity curve is built using actual measurements during a calibration phase and/or server specifications; [0031] During the bottom-up calibration step, measurements are performed at each level of the hierarchy. At the server level, for a representative server, the power consumed for different sizes of workload is measured. At the rack level, based on the servers on the rack, one or more embodiments of the invention estimate the energy consumed in order to service a certain workload), and wherein the processor calculates the necessary allocation amount and the necessary electric power consumption amount per node group ([0022] A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server and what are the VM sizes in terms of central processing unit (CPU), memory and input/output (I/O) allocations. This decision is based on inputs from the performance management component 112 as well as the energy cost management component 108. The performance management component 112 provides inputs on the desired sizing of the CPU, memory, I/O, etc metrics of the VM depending on the performance that is desired from it; [0023] An example of a power model can include the power consumed versus CPU allocation curve of a server; [0043] an energy-aware arbitrator module and an arbitrator module executing on a hardware processor; Claim 18 at least one processor coupled to the memory and operative to: use one or more server power characteristics to determine a power cost for any given virtual machine placement in the datacenter; [0024] In FIG. 2, the arbitrator works through the multiple hierarchy levels (that is, room, rows of racks, racks, server, etc.) in a top-down manner. The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM. During selection at all levels, the arbitrator attempts to find the placement that gives the minimum energy cost expenditure to the datacenter), and creates the allocation plan indicating the node group based on a result of the calculation, the node group including each of the execution platform and the data allocated therein at the allocation site in which the execution platform and the data are allocated (Fig. 2; [0023] Based on these inputs, the arbitrator 114 decides a placement for all VMs on the servers in the datacenter, such that the total energy cost (power and cooling) is minimized while meeting performance objectives; [0024] The arbitrator attempts to find an energy efficient placement for each VM within every level of the hierarchy. It first selects which rows of racks within the datacenter room to place the VM. Then, the arbitrator selects a particular server rack in that row. Finally, it selects a particular server within the rack for hosting the VM; [0044] computer useable program code that is stored in a computer readable storage medium in a server data processing system; [0052] As used herein, including the claims, a "server" includes a physical data processing system (for example, system 612 as shown in FIG. 6) running a server program; [0022] A main task of the arbitrator 114 is to come up with a placement plan that determines which VM is placed on which server and what are the VM sizes in terms of central processing unit (CPU), memory and input/output (I/O) allocations. This decision is based on inputs fr