DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This office action is in response to applicant’s amendment filed on 03/31/2023.
Claims 1-7 and 9-21 are pending and examined.
Claim 8 is cancelled.
Claim Objections
Claims 7, 12, 14-19 and 21 objected to because of the following informalities: the formulas and expressions provided in the claims dated 03/31/2023 are blurry and it is not clear what each expression is. 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.
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.
Claim 5 recites the limitation "the roulette rule" in “the firefly j is a neighbor firefly selected within a decision domain of the firefly i at the tth iteration based on the probability of each neighbor firefly in the neighborhood set of the firefly i and the roulette rule” There is insufficient antecedent basis for this limitation in the claim as the term “roulette rule” is not previously referenced either in claim 5, 4 or in claim 1.
With regards to Claim 17, the method of Claim 5 performs the same steps as the system of Claim 17, and Claim 17 is therefore rejected using the same rationale set forth above in the rejection of Claim 5.
Claims 6 and 18 are dependent on Claims 5 and 17 respectively and do not cure the deficiency as described above with the rejection of Claims 5 and 17. Therefore, Claims 6 and 18 are also rejected due to their dependent status.
Claim 11 recites the limitation “a decision domain” in “the firefly j is a neighbor firefly selected within a decision domain of the firefly i…” There is insufficient antecedent basis for this limitation in the claim as there is already a previously defined “a decision domain” referenced in claim 5 and earlier in claim 11, and it is therefore unclear whether the term “a decision domain” is the same term or a different term than the “a decision domain” in claim 5. Claim 11 additionally recites the limitation “the probability of each neighbor firefly in the neighborhood” in “the firefly j is a neighbor firefly selected within a decision domain of the firefly i at the tth iteration based on the probability of each neighbor firefly in the neighborhood set of the firefly i…” There is insufficient antecedent basis for this limitation in the claim as the term “probability of each neighbor firefly in the neighborhood” is not previously referenced either in claims 11, 5, 4 or 1.
With regards to Claim 20, the method of Claim 11 performs the same steps as the system of Claim 20, and Claim 20 is therefore rejected using the same rationale set forth above in the rejection of Claim 11.
Claims 12 and 21 are dependent on Claims 11 and 20 respectively and do not cure the deficiency as described above with the rejection of Claims 11 and 20. Therefore, Claims 12 and 21 are also rejected due to their dependent status.
Claim 13 recites the limitation "the quantity of the locations of the fireflies" and “the quantity of to-be-selected hosts” in “wherein, the quantity of the locations of the fireflies is equal to the quantity of to-be-selected hosts.” There is insufficient antecedent basis for this limitation in the claim as the terms "the quantity of the locations of the fireflies" and “the quantity of to-be-selected hosts” are not previously referenced either in claim 13 or in claim 1.
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-7 and 9-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to (an) abstract idea(s) without significantly more.
Claims 1, 9 and 10 recite:
A virtual machine deployment method, comprising:
randomly setting locations of respective fireflies and
initializing target parameters of the respective fireflies, wherein the locations of the respective fireflies are locations of respective to- be-selected hosts;
taking the respective fireflies separately as to-be-processed objects, and
performing a function calculation step to obtain target function values corresponding to the respective fireflies;
the function calculation step comprising: calculating a target function according to the location of each of the to-be-processed objects, wherein the target function can represent an average performance score of all the to-be-selected hosts after assuming that a virtual machine has been deployed to each of the to-be-processed objects;
determining whether a maximum number of iterations is reached;
when the maximum number of iterations is reached, determining a firefly corresponding to the largest target function value among all target function values as a destination firefly,
determining a to-be-selected host corresponding to the destination firefly as a destination host, and
deploying the virtual machine to the destination host; and
when the maximum number of iterations is not reached, updating the target parameters of the respective fireflies,
updating the locations of the respective fireflies according to the updated target parameters, and
re-performing the step of taking the respective fireflies separately as the to-be-processed objects and
performing the function calculation step to obtain target function values corresponding to the respective fireflies.
Step 1: Is the claim to a process, machine, manufacture, or composition of matter?
Yes.
Claim 1 is a process.
Claim 9 is a machine.
Claim 10 is a manufacture.
Step 2A, Prong I: Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The ‘performing’ limitation in #4 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “determining” in the context of this claim encompasses a person analyzing, evaluating, or performing a function calculation step to obtain target function values, including comparison or judgement.
The ‘calculating’ limitation in #5 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “calculating” in the context of this claim encompasses a person analyzing, evaluating, or calculating a target function according to the location of each to-be-processed object, including comparison or judgement.
The ‘determining’ limitation in #6 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “determining” in the context of this claim encompasses a person analyzing, evaluating, or determining whether a maximum number of iterations is reached, including comparison or judgement.
The ‘determining’ limitation in #7 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “determining” in the context of this claim encompasses a person analyzing, evaluating, or determining a firefly corresponding to the largest target function value as a destination firefly, including comparison or judgement.
The ‘determining’ limitation in #8 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “determining” in the context of this claim encompasses a person analyzing, evaluating, or determining a to-be-selected host corresponding to the destination firefly as a destination host, including comparison or judgement.
The ‘performing’ limitation in #13 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “determining” in the context of this claim encompasses a person analyzing, evaluating, or performing a function calculation step to obtain target function values, including comparison or judgement.
Step 2A, Prong II: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No.
The ‘setting’ limitation in #1 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element as “apply it” that is mere instructions to apply an exception. The limitation “setting” in the context of this claim encompasses merely randomly setting locations of fireflies. See MPEP 2106.05(f).
The ‘initializing’ limitation in #2 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element as “apply it” that is mere instructions to apply an exception. The limitation “initializing” in the context of this claim encompasses merely initializing target parameters of fireflies. See MPEP 2106.05(f).
The ‘taking’ limitation in #3 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element that is insignificant extra-solution activity. The limitation “taking” in the context of this claim encompasses merely taking the fireflies as to-be-processed objects. See MPEP 2106.05(g).
The ‘deploying’ limitation in #9 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element as “apply it” that is mere instructions to apply an exception. The limitation “deploying” in the context of this claim encompasses merely deploying the virtual machine to the destination host. See MPEP 2106.05(f).
The ‘updating’ limitation in #10 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element as “apply it” that is mere instructions to apply an exception. The limitation “updating” in the context of this claim encompasses merely updating the target parameters of the fireflies. See MPEP 2106.05(f).
The ‘updating’ limitation in #11 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element as “apply it” that is mere instructions to apply an exception. The limitation “updating” in the context of this claim encompasses merely updating the locations of the fireflies. See MPEP 2106.05(f).
The ‘re-performing’ limitation in #12 above, as claimed and under broadest reasonable interpretation (BRI), is an additional element that is insignificant extra-solution activity. The limitation “re-performing” in the context of this claim encompasses merely re-performing the step of taking the fireflies as to-be-processed objects. See MPEP 2106.05(g).
Additionally, one or more of the claims recite the following additional elements:
A memory (Claim 9)
A processor (Claims 9 and 10)
A computer program (Claims 9 and 10)
These additional elements are recited at a high level of generality (i.e., as generic computer components) such that they amount to no more than components comprising mere instructions to apply the exception. Accordingly, these additional elements do not integrate the abstract idea(s) into a practical application because they do not impose any meaningful limits on practicing the abstract ideas(s).
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
As discussed above with respect to integration of the abstract idea(s) into a practical application, the aforementioned additional elements amount to no more than components for obtaining or gathering data and comprising mere instructions to apply the exception which is evidently seen in MPEP 2106.05(g)&(f). Mere instructions to apply an exception using generic computer components cannot provide an inventive concept.
Claims 2 and 14 merely further describe the calculation formula of the target function of Claims 1 and 9 respectively. The claims do not include additional elements that integrate into practical application or are sufficient to amount to significantly more than the judicial exception.
Claims 3 and 15 merely further describe the average resource balance degree of Claims 2 and 14 respectively. The claims do not include additional elements that integrate into practical application or are sufficient to amount to significantly more than the judicial exception.
Claims 11 and 20 merely further describe the neighbor firefly of Claims 5 and 17 respectively. The claims do not include additional elements that integrate into practical application or are sufficient to amount to significantly more than the judicial exception.
Claims 12 and 21 merely further describe the probability of each neighbor firefly of Claims 11 and 20 respectively. The claims do not include additional elements that integrate into practical application or are sufficient to amount to significantly more than the judicial exception.
Claims 13 merely further describes the quantity of locations of fireflies and hosts of Claim 1. The claim does not include additional elements that integrate into practical application or are sufficient to amount to significantly more than the judicial exception.
Therefore, Claims 1-3, 9-15 and 20-21 is directed to (an) abstract idea(s) without significantly more.
Claims 4 and 16 recite:
wherein the target parameter comprises fluorescein and a step length; the step of updating the target parameters of the respective fireflies comprises:
updating fluorescein of the respective fireflies with a first formula, wherein the first formula is:
PNG
media_image1.png
33
225
media_image1.png
Greyscale
updating step lengths of the respective fireflies with a second formula, wherein the second formula is:
PNG
media_image2.png
84
235
media_image2.png
Greyscale
wherein li(t+ 1) is fluorescein of a firefly i at the (t+1)th iteration, p(0 < p < 1) is a fluorescein volatilization speed of the firefly i, li(t) is fluorescein of the firefly i at the tth iteration, y is a fluorescein update rate of the firefly i, Fi(t +1) is a target function value of the firefly i at the (t+1)th iteration, si(t + 1) is a step length of the firefly i at the (t+1)th iteration, smin is a preset minimum step length, smax is a preset maximum step length, t+1 is the current number of iterations, and tmax is the maximum number of iterations
Step 1: Is the claim to a process, machine, manufacture, or composition of matter?
Yes.
Claim 4 is a process.
Claim 16 is a machine.
Step 2A, Prong I: Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The ‘updating’ limitation in #14 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “updating” in the context of this claim encompasses a person analyzing, evaluating, or updating the fluorescein of fireflies with a first formula, including comparison or judgement.
The ‘updating’ limitation in #15 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “updating” in the context of this claim encompasses a person analyzing, evaluating, or updating the step lengths of fireflies with a second formula, including comparison or judgement.
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
As discussed above with respect to integration of the abstract idea(s) into a practical application, the aforementioned additional elements amount to no more than components for obtaining or gathering data and comprising mere instructions to apply the exception which is evidently seen in MPEP 2106.05(f). Mere instructions to apply an exception using generic computer components cannot provide an inventive concept.
Therefore, Claims 4 and 16 are directed to (an) abstract idea(s) without significantly more.
Claims 5 and 17 recite:
wherein the step of updating the locations of the respective fireflies according to the updated target parameters comprises:
updating the locations of the respective fireflies with a third formula, wherein the third formula is:
PNG
media_image3.png
79
286
media_image3.png
Greyscale
wherein xi(t+1) is a location of the firefly i at the (t+1)th iteration, xi(t) is a location of the firefly i at the tth iteration, si(t + 1) is the step length of the firefly i at the (t+1)th iteration, xj(t) is a location of a firefly j at the tth iteration, and ||xj(t) – xi(t)|| is a Euclidean distance between the location of the firefly i and the location of the firefly j and wherein the firefly j is a neighbor firefly selected within a decision domain of the firefly i at the tth iteration based on the roulette rule, and the fluorescein of the firefly j is greater than the fluorescein of the firefly i.
Step 1: Is the claim to a process, machine, manufacture, or composition of matter?
Yes.
Claim 5 is a process.
Claim 17 is a machine.
Step 2A, Prong I: Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The ‘updating’ limitation in #16 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “updating” in the context of this claim encompasses a person analyzing, evaluating, or updating the locations of fireflies with a third formula, including comparison or judgement.
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
As discussed above with respect to integration of the abstract idea(s) into a practical application, the aforementioned additional elements amount to no more than components for obtaining or gathering data and comprising mere instructions to apply the exception which is evidently seen in MPEP 2106.05(f). Mere instructions to apply an exception using generic computer components cannot provide an inventive concept.
Claims 6 and 18 merely further describe the target parameter of Claims 5 and 17 respectively. The claims do not include additional elements that integrate into practical application or are sufficient to amount to significantly more than the judicial exception.
Therefore, Claims 5-6 and 17-18 are directed to (an) abstract idea(s) without significantly more.
Claims 7 and 19 recite:
performing normalization on the average power consumption, the average CPU utilization rate, and the average resource balance degree, wherein a normalization formula is:
PNG
media_image4.png
181
197
media_image4.png
Greyscale
wherein fp is the average power consumption after normalization, fp_0 is the average power consumption before normalization, fp_min is a minimum average power consumption, and fp_max is a maximum average power consumption; fcpu is the average CPU utilization rate after normalization, fcpu_o is the average CPU utilization rate before normalization, fcpu_min is a minimum average CPU utilization rate, fcpu_max is a maximum average CPU utilization rate; fload is the average resource balance degree after normalization, fload_0 is the average resource balance degree before normalization, fload_min is a minimum average resource balance degree, fload_max is a maximum average resource balance degree.
Step 1: Is the claim to a process, machine, manufacture, or composition of matter?
Yes.
Claim 7 is a process.
Claim 19 is a machine.
Step 2A, Prong I: Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes: (an) abstract idea(s).
The ‘performing’ limitation in #17 above, as claimed and under broadest reasonable interpretation (BRI), is a mental process that covers performance of the limitation in the mind. The limitation “performing” in the context of this claim encompasses a person analyzing, evaluating, or performing normalization on the average power consumption using a normalization formula, including comparison or judgement.
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No.
As discussed above with respect to integration of the abstract idea(s) into a practical application, the aforementioned additional elements amount to no more than components for obtaining or gathering data and comprising mere instructions to apply the exception which is evidently seen in MPEP 2106.05(f). Mere instructions to apply an exception using generic computer components cannot provide an inventive concept.
Therefore, Claims 7 and 19 are directed to (an) abstract idea(s) without 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.
Claim(s) 1, 9-10, and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Li et al. (NPL: “VIRTUAL MACHINE PLACEMENT STRATEGY BASED ON DISCRETE FIREFLY ALGORITHM IN CLOUD ENVIRONMENTS”), hereinafter “Li” in view of Heim et al. (U.S. Patent No. US 20110131571 A1), hereinafter “Heim”
With regards to Claim 1, Li teaches:
A virtual machine deployment method, comprising: randomly setting locations of respective fireflies and initializing target parameters of the respective fireflies (Table 1, Section I, paragraph 3, “We solve the model based on the proposed discrete firefly algorithm. Firstly, a group of fireflies is randomly initialized in solution space, each firefly represents a placement result. Secondly, brightness of fireflies is calculated. Then, the movement strategy makes darker fireflies move to brighter fireflies in solution space.” The group of fireflies being randomly initialized in solution space as seen in table 1 correlates to randomly setting locations of respective fireflies. The brightness of the fireflies being calculated, where the brightness is used in the movement strategy, correlates to initializing target parameters of the respective fireflies), wherein the locations of the respective fireflies are locations of respective to-be-selected hosts (Table 1, Section I, paragraphs 1 and 3, “Different types of users' virtual machines (VMs) are created by virtualization technology such as KVM, Xen, etc. in data center. These VMs will be placed in physical machines (PMs) of the data center… We solve the model based on the proposed discrete firefly algorithm. Firstly, a group of fireflies is randomly initialized in solution space, each firefly represents a placement result.” The virtual machines vm1-vm5 being placed in a data center host1-host5 based on the placement result of the firefly as seen in table 1 correlates to the locations of the respective fireflies being locations of the respective to-be-selected hosts);
taking the respective fireflies separately as to-be-processed objects (Section 3.2, Subsection 3: Pseudocode, “while (t < MaxGeneration ) 4. calculate the absolute brightness of each fireflies 5. sort fireflies incrementally according to brightness”) 6. for i=1:n 7. for j=1:n 8. If(Ii > Ij) 9. calculate the distance between firefly i and j using Eq.(13) 10. calculate the attractiveness of firefly j attracting i using Eq.(12) 11. move firefly i to j using Eq.(14)” Each firefly having its absolute brightness calculated and sorted, then comparing the distance of individual fireflies i and j to move firefly i’s position as shown in the pseudocode correlates to taking the respective fireflies separately as to-be-processed objects), and performing a function calculation step to obtain target function values corresponding to the respective fireflies (Section 3.2, Subsection 3: Pseudocode, “while (t < MaxGeneration ) 4. calculate the absolute brightness of each fireflies 5. sort fireflies incrementally according to brightness”) 6. for i=1:n 7. for j=1:n 8. If(Ii > Ij) 9. calculate the distance between firefly i and j using Eq.(13) 10. calculate the attractiveness of firefly j attracting i using Eq.(12) 11. move firefly i to j using Eq.(14).” The equations 12-14 being used to calculate the distance and attractiveness of each firefly to obtain the new location of each firefly correlates to performing a function calculation step to obtain target function values corresponding to the respective fireflies); the function calculation step comprising: calculating a target function according to the location of each of the to-be-processed objects (Table 2, Sections 3.1 and 3.2, Subsection 3: Pseudocode, “Where ßo is the attractiveness at r = 0, r IS a fixed light absorption coefficient, rU is the distance between the i-th and j-th firefly, is listed as below… while (t < MaxGeneration ) 4. calculate the absolute brightness of each fireflies 5. sort fireflies incrementally according to brightness”) 6. for i=1:n 7. for j=1:n 8. If(Ii > Ij) 9. calculate the distance between firefly i and j using Eq.(13) 10. calculate the attractiveness of firefly j attracting i using Eq.(12) 11. move firefly i to j using Eq.(14).” The equations 12-14 being used to calculate the distance and attractiveness of each firefly, where the attractiveness uses the distance between fireflies in the calculation, to obtain the new location of each firefly as an S(xik) value such as in table 2 correlates to calculating a target function according to the location of each of the to-be-processed objects), wherein the target function can represent a performance score of all the to-be-selected hosts after assuming that a virtual machine has been deployed to each of the to-be-processed objects (Table 2, Sections 3.1 and 3.2, Subsection 3: Pseudocode, “When moving firefly’s' positions by equation (16), the positions will be changed from a binary number to a real number. These real number will be restricted to [0, 1] by equation (17), as shown in table 2. The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1.” The firefly’s position being represented by the real number S(xik) value for the VMs and hosts in table 2 as a result of the firefly’s position being moved correlates to the target function representing a performance score of all the to-be-selected hosts. Each of the virtual machines having a S(xik) value for each host based on the firefly i’s position as seen in table 2 correlates to the performance score of all the to-be-selected hosts after assuming that a virtual machine has been deployed to each of the to-be-processed objects); determining whether a maximum number of iterations is reached (Sections 3.1, 3.2, Subsection 3: Pseudocode, Section 4.2, “where t is iterations, X j and X j are positions of firefly i and j separately … 3.while (t < MaxGeneration )… The DFA-VMP parameter settings are determined to be n = 30, a = 0.1, ßo = 1, r = 1, MaxGeneration = 1000.” The pseudocode including a while loop that counts the current iterations as t until the MaxGeneration variable representing the number of iterations to be performed is reached correlates to determining whether a maximum number of iterations is reached);
when the maximum number of iterations is reached, determining a firefly corresponding to the largest target function value among all target function values as a destination firefly (Table 2, Sections 3.1, 3.2, Subsection 3: Pseudocode, Section 4.2, “where t is iterations, X j and X j are positions of firefly i and j separately … The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1. lf there are not enough resources on corresponding PM, then choose the sub-maximum value and replace it with 1… 3.while (t < MaxGeneration )… disperse position after moving by discretization strategy in 3.2 section… 19 .end while 20.obtain the global best solution… The DFA-VMP parameter settings are determined to be n = 30, a = 0.1, ßo = 1, r = 1, MaxGeneration = 1000.” The pseudocode including a while loop that counts the current iterations as t until the MaxGeneration variable representing the number of iterations to be performed is reached correlates to the maximum number of iterations being reached. The while loop using discretization strategies to pick the maximum value of each line as shown in table 2 as the new firefly location correlates to determining a firefly corresponding to the largest target function value among all target function values as a destination firefly. After the while loop terminates, the global best solution being obtained with a final dispersion of positions based on the last discretization strategy completed therefore correlates to when the maximum number of iterations is reached, determining a firefly corresponding to the largest target function value among all target function values as a destination firefly), determining a to-be-selected host corresponding to the destination firefly as a destination host (Table 2, Section 3.2, “The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1. lf there are not enough resources on corresponding PM, then choose the sub-maximum value and replace it with 1. At this point, measure corresponding PM's resources again. We process above in sequence until all of VMs are placed in PMs.” The largest S(xik) value in each row being selected as the new position after moving a firefly as seen in table 2 corresponding to a specific VM and host correlates to determining a to-be-selected host corresponding to the destination firefly as a destination host), and deploying the virtual machine to the destination host (Fig. 2, Table 2, Sections 2.2 and 3.2, “Resource wastage refers to imbalance about residual different dimensional resources after placing some different configuration VMs. In order to increase resource utilization, we add it into original resource wastage model and get final resource wastage model as below… where Rcj and Rcj represent CPU and memory residual ratio of j-th PM respectively. Umj is memory utilization of j-th PM… The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1. lf there are not enough resources on corresponding PM, then choose the sub-maximum value and replace it with 1. At this point, measure corresponding PM's resources again. We process above in sequence until all of VMs are placed in PMs.” All of the VMs being placed in physical machines before the resource wastage as shown in figure 2 is calculated, which involves resource utilization such as memory utilization and therefore the virtual machine would be deployed to a physical machine, correlates to deploying the virtual machine to the destination host); and when the maximum number of iterations is not reached, updating the target parameters of the respective fireflies (Table 2, Sections 3.1, 3.2, Subsection 3: Pseudocode, Section 4.2, “Movement: The movement of a firefly, i is attracted to another more brighter firefly j, is determined by… where t is iterations, X j and X j are positions of firefly i and j separately, ßj ; is the attractiveness of firefly j attracting i… The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1. lf there are not enough resources on corresponding PM, then choose the sub-maximum value and replace it with 1… 3.while (t < MaxGeneration )… 10. calculate the attractiveness of firefly) attracting i using Eq.(12) 11. move firefly i to j using Eq.(14)… disperse position after moving by discretization strategy in 3.2 section… 19 .end while… The DFA-VMP parameter settings are determined to be n = 30, a = 0.1, ßo = 1, r = 1, MaxGeneration = 1000.” The pseudocode including a while loop that counts the current iterations as t until the MaxGeneration variable representing the number of iterations to be performed is reached, where at some point t is less than MaxGeneration, correlates to the maximum number of iterations not being reached. The while loop calculating the movement of the fireflies i and j, which uses the attractiveness of a particular firefly, correlates to when the maximum number of iterations is not reached, updating the target parameters of the respective fireflies), updating the locations of the respective fireflies according to the updated target parameters (Table 2, Section 3.2, Subsection 3: Pseudocode, “When moving firefly’s' positions by equation (16), the positions will be changed from a binary number to areal number. These real number will be restricted to [0, I] by equation (17), as shown in table 2. The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1… 3.while (t < MaxGeneration )… 10. calculate the attractiveness of firefly) attracting i using Eq.(12) 11. move firefly i to j using Eq.(14)… 14. disperse position after moving by discretization strategy in 3.2 section” The while loop moving the position of the firefly based on the updated attractiveness and discretization strategy as seen in table 2 correlates to updating the locations of the respective fireflies according to the updated target parameters), and re-performing the step of taking the respective fireflies separately as the to-be-processed objects and performing the function calculation step to obtain target function values corresponding to the respective fireflies (Section 3.2, Subsection 3: Pseudocode, “while (t < MaxGeneration ) 4. calculate the absolute brightness of each fireflies 5. sort fireflies incrementally according to brightness”) 6. for i=1:n 7. for j=1:n 8. If(Ii > Ij) 9. calculate the distance between firefly i and j using Eq.(13) 10. calculate the attractiveness of firefly j attracting i using Eq.(12) 11. move firefly i to j using Eq.(14)… disperse position after moving by discretization strategy in 3.2 section… end while” Each firefly having its absolute brightness calculated and sorted, then comparing the distance of individual fireflies i and j to move firefly i’s position for each iteration of the while loop as shown in the pseudocode correlates to re-performing the step of taking the respective fireflies separately as to-be-processed objects. The equations 12-14 being used to calculate the distance and attractiveness of each firefly to obtain the new location of each firefly for each iteration of the while loop correlates to performing the function calculation step to obtain target function values corresponding to the respective fireflies).
Li does not explicitly teach that the performance score is an average performance score. However, average performance scores are a popular method of determining the performance of a virtual machine placement as evidenced by Heim (Paragraph 27, “A selection algorithm also includes comparison ordering to sort the remaining candidate hosts by means of a score (or any other type of transitive order) that will identify the best host. Examples of criteria in a comparison ordering algorithm to sort by include any of (or some weighted scoring of): the average host CPU utilization over the last X minutes; the average host memory utilization over the last X minutes; the ratio between the number of virtual CPUs scheduled on the host and physical cores; and the average host I/O utilization over the last X minutes.” The selection algorithm sorting the remaining candidate hosts by a score based on the average host CPU, memory, or I/O utilization correlates to an average performance score).
Therefore, it would have been obvious to one of ordinary skill in the art to which said subject matter pertains before the effective filing date of the claimed invention to combine Li with wherein the target function can represent an average performance score of all the to-be-selected hosts as taught by Heim because general selection algorithms can scan for relevant hosts to launch a VM and provide all the required resources such as access to relevant storage and logical networks. Checking against exclusion criteria, which prevent the VM from running on a certain hosts and include the average CPU or memory usage being above a particular percent, ensures that only candidate hosts are considered in further selection processes (Heim: paragraph 27).
With regards to Claims 9 and 10, the method of Claim 1 performs the same steps as the machine and manufacture of Claims 9 and 10 respectively, and Claims 9 and 10 are therefore rejected using the same rationale set forth above in the rejection of Claim 1.
With regards to Claim 13, Li in view of Heim teaches the method of Claim 1 above. Li further teaches:
wherein, the quantity of the locations of the fireflies is equal to the quantity of to-be-selected hosts (Tables 1 and 2, Section 3.2: subsection 1: Discretization strategy, “When moving fireflys' positions by equation (16), the positions will be changed from a binary number to areal number. These real number will be restricted to [0, I] by equation (17), as shown in table 2. The proposed discretization strategy is shown as follows: we choose the maximum value of each lines from first to last in table 2, and replace it with 1.” The maximum value for each line in table 2 being replaced with 1 would yield a result similar to what is shown in table 1, with one firefly located at each host. Therefore, the examples shown in tables 1 and 2 with 5 hosts and 5 firefly locations correlates to the quantity of the locations of the fireflies being equal to the quantity of to-be-selected hosts).
Claim Objections
Claims 2-7, 11-12, and 14-21 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), 2nd paragraph, and rejection under 35 U.S.C. 101 set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
Prior Art Made of Record
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure.
Barlaskar et al. (NPL: “Energy-efficient virtual machine placement using enhanced firefly algorithm”); teaching a method of virtual machine placement using an enhanced and modified firefly algorithm and a hierarchical cluster-based modified firefly algorithm. These algorithms present comparative analysis relating to energy optimization and detect when hosts are overloaded when considering placement options.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SELINA HU whose telephone number is (571)272-5428. The examiner can normally be reached Monday-Friday 8:30-5:30.
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, Chat Do can be reached at (571) 272-3721. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
SELINA HU
Examiner
Art Unit 2193
/Chat C Do/Supervisory Patent Examiner, Art Unit 2193