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 .
The Office Action is in response to claims filed 09/28/2023.
Claims 1-20 are pending.
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-20 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, an abstract idea, and it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below.
Step 1: Claims 1-15 are directed to a method and fall within the statutory class of process. Claims 16-20 are directed to an apparatus and fall within the statutory class of machine. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes.
Step 2A Prong 1:
Claims 1 and 16: The limitations “reserving, for a first tenant in a cloud infrastructure and based on the first resource reservation request, first elastic resources”, “reserving, for a second tenant in the cloud infrastructure and based on the second resource reservation request, a second elastic resource”, and “allocating, to the first tenant, from the second elastic resource, and in response to the first quantity being greater than a second quantity of the first elastic resource, the first resource”, as drafted, are a process that under its broadest reasonable interpretation, covers performance of the mind. Reserving resources and allocating resources based on quantity parameters is considered to involve a mental process of observing and planning. The recited actions are understood to be performed by a processor, but are also able to be entirely performed in the mind.
Therefore, Yes, claims 1 and 16 recite a judicial exception. Step 2A Prong 2 will evaluate whether the claims are directed to a judicial exception.
Step 2A Prong 2:
Claims 1 and 16: The judicial exception is not integrated into a practical application. Claim 1 recites the following additional elements – “receiving a first resource reservation request”, “receiving a second reservation request”, and “receiving a resource allocation request for allocating, to the first tenant, a first resource, wherein the resource allocation request requests a first quantity of resources”. These additional elements are considered to be insignificant extra-solution activities of mere data gathering (MPEP § 2106.05(g)). The data gathering does not integrate the judicial exception into a practical application. Additionally, the steps performed in claim 1 and 16 are carried out by the following additional elements – “a memory configured to store instructions” and “one or more processors coupled to the memory and configured to execute the instructions”. These additional elements are considered to be recitations of generic computing components and functions merely being used as a tool to apply the abstract idea (MPEP § 2106.05(f)). These additional elements do not integrate the judicial exception into a practical application.
Therefore, “Do the claims recite additional elements that integrate the judicial exception in a practical application?” No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
After having evaluated the inquiries set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1 and 16 not only recite a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application.
Step 2B:
Claims 1 and 16: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above, the additional elements only amount to insignificant extra-solution activity and generic computing components being used as a tool to apply the abstract idea. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. The data gathering step of receiving resource reservation steps involves the transferring of data in a network. When reevaluating the other additional elements alone or in combination, the additional elements do not add an inventive concept that is significantly more.
Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception.
Having concluded analysis with in the provided framework, claims 1 and 16 do not recite eligible subject matter under 35 U.S.C. § 101.
With regards to claims 2 and 17, it recites “wherein allocating the first resource comprises allocating, from a part that is of the second elastic resource and that is not required by the second tenant in the resource running time period, the first resource”. This limitation further limits the judicial exception in claims 1 and 16 respectively, so the limitation is also considered a mental process. Understanding that a resource is not required and then allocating the resource involves observing, understanding, and planning which is a process that can be performed entirely in the mind. Claim 2 and 16 also recite the limitation “releasing, after the resource running time period ends, the first resource from the second elastic resource back to the second elastic resource”. This limitation is also considered a mental process because it involves understanding a time period has ended and then performing an action based on planning. Therefore, claim 2 and 16 recites a judicial exception and fails Step 2A Prong 1. Claim 2 and 16 also recite “wherein the resource allocation request comprises a resource running time period”. This limitation further limits the insignificant extra-solution activity recited in claims 1 and 15 respectively, so it is also considered an insignificant extra-solution activity of mere data gathering (MPEP § 2106.05(g)). The limitation does not integrate the judicial exception into a practical application, so the claims fail Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. The limitation only limits the kind of data in the request. It is still a transfer of data. Therefore, claims 2 and 16 fails Step 2B. Therefore, claims 2 and 16 do not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 3, it recites “further comprising predicting the part”. This limitation is considered a mental process because it involves understanding and calculating. Therefore, claim 3 recites a judicial exception and fails Step 2A Prong 1. Claim 3 does not include any additional elements that integrate the judicial exception into a practical application, so the claim fails Step 2A Prong 2. Claim 3 also does not include any additional elements that add an inventive concept that is significantly more, so the claim fails Step 2B. Therefore, claim 3 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claims 4 and 18, it recites “reclaiming, based on a third tenant confirming that a deletable instance used by the third tenant is allowed to be reclaimed during running, the deletable instance to obtain a second resource” and “scheduling, for the first tenant, the second resource”. These limitations are considered a mental process because they involve the planning and allocation of resources. Therefore, claims 4 and 18 recite judicial exception and fails Step 2A Prong 1. Claims 4 and 18 does not include any additional elements that integrate the judicial exception into a practical application, so the claim fails Step 2A Prong 2. Claims 4 and 18 also does not include any additional elements that add an inventive concept that is significantly more, so the claim fails Step 2B. Therefore, claims 4 and 18 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claims 5 and 19, it recites “reclaiming, based on a third tenant confirming that a replaceable instance used by the third tenant is allowed to be replaced during running, the replaceable instance to obtain a second resource, wherein a specification of the replaceable instance is the instance specification”, “scheduling, for the first tenant, the second resource”, and “allocating, to the third tenant, an instance of another specification to replace the replaceable instance”. These limitations are also considered a mental process because they involve the planning and assignment of resources. Therefore, claims 5 and 19 fail Step 2A Prong 1. Claims 5 and 19 also recite “wherein the resource allocation request comprises an instance specification”. This limitation further limits the insignificant extra-solution activity recited in claims 1 and 16 respectively, so it is also considered an insignificant extra-solution activity of mere data gathering (MPEP § 2106.05(g)). The limitation does not integrate the judicial exception into a practical application, so the claims fail Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. The limitation only limits the kind of data in the request. It is still a transfer of data. Therefore, claims 2 and 16 fails Step 2B. Therefore, claims 5 and 19 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claims 6 and 20, it recites “wherein a first price at which the third tenant purchases the replaceable instance is lower than a second price at which the third tenant purchases a non-replaceable instance”, wherein the non-replaceable instance and the replaceable instance have a same specification”, and “wherein the non-replaceable instance is not allowed to be replaced during running”. These limitations limit the environment of the judicial exception, so they are considered field of use/technological environment (MPEP § 2106.05(h)). However, they do not integrate the judicial exception into a practical application, so claims 6 and 20 fail Step 2A Prong 2. When reexamining the additional elements, alone or in combination, the additional elements do not amount to an inventive concept that is significantly more than the judicial exception, so the claim fails Step 2B. Therefore, claims 6 and 20 do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 7, it recites “reclaiming, based on a third tenant confirming that a migratable instance used by the third tenant is allowed to be migrated during running, the migratable instance to obtain a second resource, wherein the migratable instance belongs to the target region”, and “scheduling, for the first tenant, the second resource”. These limitations are considered to be a mental process because they involve planning and the allocation of resources, steps that can be done entirely in the mind. Therefore, claim 7 fails Step 2A Prong 1. Claims 7 also recites “wherein the resource allocation request comprises an identifier of a target region of the cloud infrastructure”. This limitation further limits the insignificant extra-solution (MPEP § 2106.05(g)) activity in claim 1, so it is also considered as such. Claim 7 additionally recites “migrating the migratable instance to another region” which is considered an insignificant extra-solution data transmission activity (MPEP § 2106.05(g)). The limitations do not integrate the judicial exception into practical application, so the claim fails Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. Both limitations are only a transfer of data. Therefore, claims 2 and 16 fails Step 2B. Therefore, claim 7 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 8, it recites “wherein a first price at which the third tenant purchases the migratable instance is lower than a second price at which the third tenant purchases a non-migratable instance”, “wherein the non-migratable instance and the migratable instance belong to a same region”, “and wherein the non-migratable instance is not allowed to be migrated during running”. These limitations limit the environment of the judicial exception, so they are considered field of use/technological environment (MPEP § 2106.05(h)). However, they do not integrate the judicial exception into a practical application, so claim 8 fail Step 2A Prong 2. When reexamining the additional elements, alone or in combination, the additional elements do not amount to an inventive concept that is significantly more than the judicial exception, so the claim fails Step 2B. Therefore, claim 8 do not recite patent eligible subject matter under 35 U.S.C. § 101.
With regard to claim 9, it recites “wherein a first priority of allocating a second resource in the first region to the first tenant is higher than a second priority of allocating a third resource in the second region to the first tenant” and “allocating, based on a third quantity of resources that are in the first region and that can be allocated to the first tenant being less than the first quantity, the third resource to the first tenant”. These limitations are considered a mental process because they involve understanding, judgement, planning, and the assignment of resources, which are steps that can be performed entirely in the mind. Therefore, claim 9 fails Step 2A Prong 1. Claim 9 also recites “wherein the resource allocation request comprises identifiers of a first region and a second region in the cloud infrastructure”. This limitation further limits the insignificant extra-solution activity of mere data gathering (MPEP § 2106.05(g)) in claim 1 and will also be considered as such. It does not integrate the judicial exception into a practical application, so claim 9 fails Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. The limitation only limits the kind of data in the request. It is still a transfer of data. Therefore, the claim fails Step 2B. Therefore, claim 9 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 10, it recites “implementing, based on resource configuration of the first tenant for a service and by using the second resource and the third resource, different services of the first tenant”. This limitation is considered mere instructions to apply an exception (MPEP § 2106.05(f)) because it is implementing services. It does not integrate the judicial exception into a practical application, so the claim fails Step 2A Prong 2. Claim 10 also does not include any additional elements that add an inventive concept that is significantly more, so the claim fails Step 2B. Therefore, claim 10 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 11, it recites “and scheduling, in response to a resource allocation confirmation operation of the first tenant for the third region, the fourth resource”. This limitation is a mental process because it involves understanding and assignment of resources, steps that can entirely be done in the mind. Therefore, claim 11 fails Step 2A Prong 1. Claim 11 also recites “presenting a resource allocation prompt interface for displaying a fourth resource in a third region in the cloud infrastructure”. This limitation is considered insignificant extra-solution display activity (MPEP § 2106.05(g)) and does not integrate the judicial exception into a practical application. Therefore, claim 11 fails Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Presenting offers and gathering statistics” is a well understood, routine, and conventional activity. Therefore, the claims Step 2B. Therefore, claim 11 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 12, it recites “wherein reserving the first elastic resources comprises determining, based on a first historical resource utilization status of the first tenant or a second historical resource utilization status of another tenant of the cloud infrastructure, the second quantity”, and “wherein the second quantity is less than the resource reservation quantity”. These limitations further limit the judicial exception in claim 1, so they are also considered a mental process. Therefore, claim 12 fails Step 2A Prong 1. Claim 12 also recites “wherein the first resource reservation request comprises a resource reservation quantity”. This additional element further limits the insignificant extra-solution activity of mere data gathering in claim 1, so it is also considered an insignificant extra-solution activity (MPEP § 2106.05(g)). It does not ingrate the judicial exception into a practical application, so the claim fails Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. The limitation only limits the kind of data in the request. It is still a transfer of data. Therefore, the claim fails Step 2B. Therefore, claim 12 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 13, it recites “selecting, based on a selection operation from the first tenant on the candidate resource, a part of the candidate resource to allocate the part to the first tenant”. This limitation is considered a mental process because it involves understanding and judgement which are steps that can be performed entirely in the mind. Therefore, claim 13 fails Step 2A Prong 1. Claim 13 also recites “presenting, before the first resource is allocated to the first tenant and to the first tenant, a resource scheduling interface, wherein the resource scheduling interface displays a candidate resource that can be allocated to the first tenant, and wherein the candidate resource does not meet a requirement of the resource allocation request”. This limitation is considered insignificant extra-solution display activity (MPEP § 2106.05(g)), and it does not integrate the judicial exception into a practical application. Therefore, claim 13 fails Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Presenting offers and gathering statistics” is a well understood, routine, and conventional activity. Therefore, the claims Step 2B. Therefore, claim 13 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 14, it recites “wherein the resource allocation request comprises a plurality of instance specifications”. This limitation further limits the insignificant extra-solution activity in claim 1, so it also considered as an insignificant extra-solution activity of mere data gathering (MPEP 2106.05(g)). The limitation does not integrate the judicial exception into a practical application, so the claim fails Step 2A Prong 2. When reevaluating the insignificant extra-solution activity for an inventive concept, the additional elements did not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” is a well understood, routine, and conventional computer function. The limitation only limits the kind of data in the request. It is still a transfer of data. Therefore, the claim fails Step 2B. Therefore, claim 14 does not recite patent eligible material under 35 U.S.C. § 101.
With regard to claim 15, it recites “calculating, based on any one or more of elastic resources, deletable instances, replaceable instances, or migratable instances of tenants of the cloud infrastructure, a third quantity of reserved resources that can be provided” and “rejecting the first resource reservation request when a fourth quantity of resources that the first resource reservation request requests to reserve is greater than the third quantity”. These limitations are considered to be a mental process because they involve calculating, understanding, and judgement which are steps that can be performed entirely in the mind. Therefore, claim 15 fails Step 2A Prong 1. Claim 15 does not include any additional elements that integrate the judicial exception into a practical application, so the claim fails Step 2A Prong 2. Claim 15 also does not include any additional elements that add an inventive concept that is significantly more, so the claim fails Step 2B. Therefore, claim 15 does not recite patent eligible material under 35 U.S.C. § 101.
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-2, 4-5, 14, 16-19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao Pat. No. WO 2017084453 A1 (hereafter Zhao) in view of Yamasaki et al. Pat. No. US 20170019345 A1 (hereafter Yamasaki). Citations to Zhao will correspond to the English translation provided.
With regard to claim 1, Zhao teaches a method comprising (Page 2 Lines 3-4 states “The present disclosure relates to the field of communications, for example, to a cloud platform resource management method, apparatus, and system”):
receiving a first resource reservation request (Page 6 Line 31 states “Step S101: Receive a resource reservation request sent by a tenant”);
reserving, for a first tenant in a cloud infrastructure and based on the first resource reservation request, first elastic resources (Page 6 Line 32 states “Step S102: Reserve resources to the tenant according to the parameter information in the resource reservation request”. Page 2 Line 15 states “tenants can dynamically scale the use of virtual resources”);
receiving a second resource reservation request (Page 6 Line 31 states “Step S101: Receive a resource reservation request sent by a tenant”. Page 2 Lines 12-13 states “Use multi-tenancy technology to abstract physical hardware resources into virtual resources (such as virtual machines). Each tenant rents virtual resources of different sizes according to their own business needs”. Examiner’s Note: this is a multi-tenant system, so each tenant makes a resource reservation requests);
reserving, for a second tenant in the cloud infrastructure and based on the second resource reservation request, a second elastic resource (Page 6 Line 32 states “Step S102: Reserve resources to the tenant according to the parameter information in the resource reservation request”. Page 2 Lines 12-13 states “Use multi-tenancy technology to abstract physical hardware resources into virtual resources (such as virtual machines). Each tenant rents virtual resources of different sizes according to their own business needs”. Page 2 Line 15 states “tenants can dynamically scale the use of virtual resources”. Examiner’s Note: this is a multi-tenant system, so other tenants reserve resources);
receiving a resource allocation request for allocating, to the first tenant, a first resource, wherein the resource allocation request requests a first quantity of resources (Page 8 Line 40 states “Step S301: Receive a resource allocation request sent by a tenant”. Page 9 Lines 6-8 states “Determining that the resource requested by the tenant is a common resource, and the quantity of the requested resource is less than or equal to the number of available resources of the reserved resource pool, and allocating the persistent reserved resource reserved for the tenant in the reserved resource pool to the tenant”);
and allocating, to the first tenant, from the second elastic resource, and in response to the first quantity being greater than a second quantity of the first elastic resources, the first resource (Page 9 Lines 1-2 state “Step S302: Allocating resources to the tenant from the resources reserved for the tenant according to the resource allocation request, and allocating the available resources from the shared resources to the tenant when the resources reserved for the tenant are insufficient”. Examiner’s Notes: the first quantity is the number of resources initially allocated. The second quantity is the number of resources initially reserved. It is interpreted that resources are allocated from the shared resources when there are not enough reserved resources).
Zhao does not explicitly teach that the resources allocated to the first tenant come from resources reserved for another tenant.
However, in an analogous art, Yamasaki teaches and allocating, to the first tenant, from the second elastic resource, and in response to the first quantity being greater than a second quantity of the first elastic resources, the first resource (¶ [0061] states “the management program computes tenant candidates to offer resources (step S102).” ¶ [0068] states “If the tenant's resources are equal to or less than the minimum required quantity, the module judges that no resources are allowed to be offered to another tenant and changes the object of processing of (step 201) to a next tenant. If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. See FIG. 8 step S202 through S204. ¶ [0064] states “the management program transmits a result of the coordination performed at (step S104) to the tenant that transmitted the resource allocation request (step S105)” and “it includes information such as “Server-1: CPUs: 4 core allocated, Server-2: CPUs: 4 core allocated”, which means that 4 core CPUs were allocated from a server labeled “Server-1” and 4 core CPUs were allocated from a server labeled “Server-2””. See FIG. 7. Examiner’s Notes: in FIG. 7 step S102, tenants that can offer resources are processed as candidate tenants. After coordination steps in S103 and S104, the selected candidate tenants will have their resources reallocated to the tenant that requested additional resources. ¶ [0068] shows that the resources that are reallocated to the requesting tenant were originally allocated to another tenant).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the allocation of resources from one tenant to another tenant of Yamasaki with the multi-tenant resource reservation and allocation of Zhao resulting in a system where resources are reserved, allocated, and can be transferred between tenants. A person having ordinary skill in the art would have motivated to make this combination so that “resource allocation among tenants can be carried out efficiently by selecting a way in which each tenant allocates resources depending on the time span of using resources which is one condition of a resource allocation request by a tenant” (¶ [0022]). It would be obvious that unused resources, such as reserved resources, can be used by other tenants because they are not currently being used.
With regard to claim 2, Zhao and Yamasaki teach the method of claim 1. Yamasaki additionally teaches wherein the resource allocation request comprises a resource running time period (¶ [0022] states “The “resource allocation request” includes a category of resources, required quantities of respective resources, and a times span of using resources”. ¶ [0058] states “A time span of offering 235 indicates a time span during which a tenant as the source of offering 232 offers resources specified in the field “a quantity of resources offered” 233 to a tenant as the destination of offering 231”),
wherein allocating the first resource comprises allocating, from a part that is of the second elastic resource and that is not required by the second tenant in the resource running time period, the first resource (¶ [0068] states “If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. ¶ [0069] states “Next, the resource offering candidate computing module computes a quantity of resources allowed to be offered by the tenant (step S203)”. ¶ [0077] states “the resource offering candidate computing module refers to the tenant policy information 210 and selects a way of offering resources fit for the time span information”),
and wherein the method further comprises releasing, after the resource running time period ends, the first resource from the second elastic resource back to the second elastic resource (¶ [0022] states ““tenant 2” judges that “tenant 1” requests resource allocation for a short time and performs resource allocation by changing the assignment of a quantity of resources assigned to a virtual machine so that the resources can be recovered upon termination of use of the resources by “tenant 1””. ¶ [0057] states “a tenant “T2” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to a tenant “T1” using means that is “changing a quantity of assignment by CPU capping””. ¶ [0058] states “information representing that a tenant T2 offers resources to a tenant T1 for a time span “by 06:00:00 on 2014/06/30””. See FIG. 6. Examiner’s Note: “changing a quantity of assignment by CPU capping” is interpreted to mean limiting the resource’s number of CPUs so that the CPUs can be reallocated to “tenant 1”).
With regard to claim 4, Zhao and Yamasaki teach the method of claim 1. Yamasaki additionally teaches reclaiming, based on a third tenant confirming that a deletable instance used by the third tenant is allowed to be reclaimed during running, the deletable instance to obtain a second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. ¶ [0068] states “If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. ¶ [0069] states “Next, the resource offering candidate computing module computes a quantity of resources allowed to be offered by the tenant (step S203)”. Examiner’s Note: when the resource offering candidate computing module checks if there are more assigned resources than the minimum required quantity and proceeds further in the method, that is interpreted as the third tenant agreeing that the instance is removeable);
and scheduling, for the first tenant, the second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0057] states ““T3” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to the tenant “T1”, using means that is “removing a VM” are stored in the relevant fields”. Examiner’s Note: it is interpreted that the resource allocation of the resources of the removed VM is the scheduling of resources).
With regard to claim 5, Zhao and Yamasaki teach the method of claim 1. Yamasaki additionally teaches wherein the resource allocation request comprises an instance specification (¶ [0060] states “The resource allocation request may include information representing physical computers, virtual computers, programs, a category and a quantity of resources allocable for a service”),
and wherein the method further comprises: reclaiming, based on a third tenant confirming that a replaceable instance used by the third tenant is allowed to be replaced during running, the replaceable instance to obtain a second resource, wherein a specification of the replaceable instance is the instance specification (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. ¶ [0073] states “If the sum is equal to or more than the requested quantity, the module terminates the loop processing of (step S205) and stores information registered in the offering candidates list into the resource coordination result information 230”. ¶ [0046] states “for recovering the resources; whereas, in the way of offering resources by removing a VM, processing to create a new VM is required to recover the resources”. Examiner’s Note: when the resource offering candidate computing module checks whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity, that is considered when the agreement for replacing happens. The sum of resources could be a sum of 1 replaceable instance. The VM, or resource, is replaceable by another VM that is created);
scheduling, for the first tenant, the second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0057] states ““T3” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to the tenant “T1”, using means that is “removing a VM” are stored in the relevant fields”. Examiner’s Note: it is interpreted that the resource allocation of the resources of the removed VM is the scheduling of resources. The “T” in “T3” is short for “tenant”);
and allocating, to the third tenant, an instance of another specification to replace the replaceable instance (¶ [0079] states “In an instance where a way of offering resources which is removing a virtual machine is selected, when the processing load on the tenant suddenly increases after the removal of a virtual machine, there may occur a need to add a new virtual machine and recover the configuration”).
With regard to claim 14, Zhao and Yamasaki teach the method of claim 1. Additionally, Yamasaki teaches wherein the resource allocation request comprises a plurality of instance specifications (¶ [0022] states “The “resource allocation request” includes a category of resources, required quantities of respective resources, and a times span of using resources.”)
With regard to claim 16, Zhao teaches an apparatus, comprising (Page 2 Lines 3-4 states “The present disclosure relates to the field of communications, for example, to a cloud platform resource management method, apparatus, and system”):
a memory configured to store instructions (Page 6 Line 2 state “the memory for storing instructions”):
and one or more processors coupled to the memory and configured to execute the instructions to (Page 6 Lines 1-3 state “The present disclosure also provides an electronic device comprising at least one processor and a memory communicatively coupled to the at least one processor, the memory for storing instructions executable by the at least one processor”):
receive a first resource reservation request, a second resource reservation request, and a resource allocation request, wherein the resource allocation request is for allocating, to a first tenant in a cloud infrastructure, a first resource (Page 6 Line 32 states “Step S102: Reserve resources to the tenant according to the parameter information in the resource reservation request”. Page 8 Line 40 states “Step S301: Receive a resource allocation request sent by a tenant”. Page 2 Lines 12-13 states “Use multi-tenancy technology to abstract physical hardware resources into virtual resources (such as virtual machines). Each tenant rents virtual resources of different sizes according to their own business needs”. Examiner’s Note: this is a multi-tenant system, so each tenant makes a resource reservation requests);
reserve, for the first tenant and based on the first resource reservation request, first elastic resources (Page 6 Line 32 states “Step S102: Reserve resources to the tenant according to the parameter information in the resource reservation request”. Page 2 Line 15 states “tenants can dynamically scale the use of virtual resources”);
reserve, for a second tenant in the cloud infrastructure and based on the second resource reservation request, a second elastic resource (Page 6 Line 32 states “Step S102: Reserve resources to the tenant according to the parameter information in the resource reservation request”. Page 2 Lines 12-13 states “Use multi-tenancy technology to abstract physical hardware resources into virtual resources (such as virtual machines). Each tenant rents virtual resources of different sizes according to their own business needs”. Page 2 Line 15 states “tenants can dynamically scale the use of virtual resources”. Examiner’s Note: this is a multi-tenant system, so other tenants reserve resources);
and allocate, to the first tenant, from the second elastic resource, and in response to a first quantity of resources requested by the resource allocation request being greater than a second quantity of the first elastic resources, the first resource (Page 9 Lines 1-2 states “Step S302: Allocating resources to the tenant from the resources reserved for the tenant according to the resource allocation request, and allocating the available resources from the shared resources to the tenant when the resources reserved for the tenant are insufficient”. Examiner’s Notes: the first quantity is the number of resources initially allocated. The second quantity is the number of resources initially reserved. It is interpreted that resources are allocated from the shared resources when there are not enough reserved resources).
Zhao does not explicitly teach that the resources allocated to the first tenant come from resources reserved for another tenant.
However, in an analogous art, Yamasaki teaches and allocate, to the first tenant, from the second elastic resource, and in response to a first quantity of resources requested by the resource allocation request being greater than a second quantity of the first elastic resources, the first resource (¶ [0061] states “the management program computes tenant candidates to offer resources (step S102).” ¶ [0068] states “If the tenant's resources are equal to or less than the minimum required quantity, the module judges that no resources are allowed to be offered to another tenant and changes the object of processing of (step 201) to a next tenant. If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. See FIG. 8 step S202 through S204. ¶ [0064] states “the management program transmits a result of the coordination performed at (step S104) to the tenant that transmitted the resource allocation request (step S105)” and “it includes information such as “Server-1: CPUs: 4 core allocated, Server-2: CPUs: 4 core allocated”, which means that 4 core CPUs were allocated from a server labeled “Server-1” and 4 core CPUs were allocated from a server labeled “Server-2””. See FIG. 7. Examiner’s Notes: in FIG. 7 step S102, tenants that can offer resources are processed as candidate tenants. After coordination steps in S103 and S104, the selected candidate tenants will have their resources reallocated to the tenant that requested additional resources. ¶ [0068] shows that the resources that are reallocated to the request tenant were originally allocated to another tenant).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the allocation of resources from one tenant to another tenant of Yamasaki with the multi-tenant resource reservation and allocation of Zhao resulting in a system where resources are reserved, allocated, and can be transferred between tenants. A person having ordinary skill in the art would have motivated to make this combination so that “resource allocation among tenants can be carried out efficiently by selecting a way in which each tenant allocates resources depending on the time span of using resources which is one condition of a resource allocation request by a tenant” (¶ [0022]). It would be obvious that unused resources, such as reserved resources, can be used by other tenants because they are not currently being used.
With regard to claim 17, Zhao and Yamasaki teach the apparatus of claim 16. Zhao additionally teaches wherein the resource allocation request comprises a resource running time period, and wherein the one or more processors are further configured to execute the instructions to (Page 6 Lines 1-3 state “The present disclosure also provides an electronic device comprising at least one processor and a memory communicatively coupled to the at least one processor, the memory for storing instructions executable by the at least one processor”).
Yamasaki additionally teaches wherein the resource allocation request comprises a resource running time period, and wherein the one or more processors are further configured to execute the instructions to (¶ [0022] states “The “resource allocation request” includes a category of resources, required quantities of respective resources, and a times span of using resources”. ¶ [0058] states “A time span of offering 235 indicates a time span during which a tenant as the source of offering 232 offers resources specified in the field “a quantity of resources offered” 233 to a tenant as the destination of offering 231”),
allocate, from a part that is of the second elastic resource and that is not required by the second tenant in the resource running time period, the first resource (¶ [0058] states “A time span of offering 235 indicates a time span during which a tenant as the source of offering 232 offers resources specified in the field “a quantity of resources offered” 233 to a tenant as the destination of offering 231”. ¶ [0068] states “If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. ¶ [0069] states “Next, the resource offering candidate computing module computes a quantity of resources allowed to be offered by the tenant (step S203)”. ¶ [0077] states “the resource offering candidate computing module refers to the tenant policy information 210 and selects a way of offering resources fit for the time span information”);
and release, after the resource running time period ends, the first resource from the second elastic resource back to the second elastic resource (¶ [0022] states ““tenant 2” judges that “tenant 1” requests resource allocation for a short time and performs resource allocation by changing the assignment of a quantity of resources assigned to a virtual machine so that the resources can be recovered upon termination of use of the resources by “tenant 1””. ¶ [0057] states “a tenant “T2” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to a tenant “T1” using means that is “changing a quantity of assignment by CPU capping””. ¶ [0058] states “information representing that a tenant T2 offers resources to a tenant T1 for a time span “by 06:00:00 on 2014/06/30””. See FIG. 6. Examiner’s Note: “changing a quantity of assignment by CPU capping” is interpreted to mean limiting the resource’s number of CPUs so that the CPUs can be reallocated to “tenant 1”).
With regard to claim 18, Zhao and Yamasaki teach the apparatus of claim 16. Zhao additionally teaches wherein the one or more processors are further configured to execute the instructions to (Page 6 Lines 1-3 state “The present disclosure also provides an electronic device comprising at least one processor and a memory communicatively coupled to the at least one processor, the memory for storing instructions executable by the at least one processor”).
Additionally, Yamasaki teaches reclaim, based on a third tenant confirming that a deletable instance used by the third tenant is allowed to be reclaimed during running, the deletable instance to obtain a second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. ¶ [0068] states “If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. ¶ [0069] states “Next, the resource offering candidate computing module computes a quantity of resources allowed to be offered by the tenant (step S203)”. Examiner’s Note: when the resource offering candidate computing module checks if there are more assigned resources than the minimum required quantity and proceeds further in the method, that is interpreted as the third tenant agreeing that the instance is removeable);
and schedule, for the first tenant, the second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0057] states ““T3” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to the tenant “T1”, using means that is “removing a VM” are stored in the relevant fields”. Examiner’s Note: it is interpreted that the resource allocation of the resources of the removed VM is the scheduling of resources).
With regard to claim 19, Zhao and Yamasaki teach the apparatus of claim 16. Additionally, Zhao teaches and wherein the one or more processors are further configured to execute the instructions to (Page 6 Lines 1-3 state “The present disclosure also provides an electronic device comprising at least one processor and a memory communicatively coupled to the at least one processor, the memory for storing instructions executable by the at least one processor”):
Additionally, Yamasaki teaches wherein the resource allocation request comprises an instance specification (¶ [0060] states “The resource allocation request may include information representing physical computers, virtual computers, programs, a category and a quantity of resources allocable for a service”),
reclaim, based on a third tenant confirming that a replaceable instance used by the third tenant is allowed to be replaced during running, the replaceable instance to obtain a second resource, wherein a specification of the replaceable instance is the instance specification (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. ¶ [0073] states “If the sum is equal to or more than the requested quantity, the module terminates the loop processing of (step S205) and stores information registered in the offering candidates list into the resource coordination result information 230”. ¶ [0046] states “for recovering the resources; whereas, in the way of offering resources by removing a VM, processing to create a new VM is required to recover the resources”. Examiner’s Note: when the resource offering candidate computing module checks whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity, that is considered when the agreement for replacing happens. The sum of resources could be a sum of 1 replaceable instance. The VM, or resource, is replaceable by another VM that is created);
schedule, for the first tenant, the second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0057] states ““T3” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to the tenant “T1”, using means that is “removing a VM” are stored in the relevant fields”. Examiner’s Note: it is interpreted that the resource allocation of the resources of the removed VM is the scheduling of resources. The “T” in “T3” is short for “tenant”);
and allocate, to the third tenant, an instance of another specification to replace the replaceable instance (¶ [0079] states “In an instance where a way of offering resources which is removing a virtual machine is selected, when the processing load on the tenant suddenly increases after the removal of a virtual machine, there may occur a need to add a new virtual machine and recover the configuration”).
Claim(s) 3 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and further in view of Khaligh et al. Pat. No. US 20220261661 A1 (hereafter Khaligh).
With regard to claim 3, Zhao and Yamasaki teach the method of claim 2. Zhao and Yamasaki do not explicitly teach predicting a part, or resource, that is not required by the second tenant.
However, in an analogous art, Khaligh teaches further comprising predicting the part (¶ [0026] states “predicting a total number of idle and available contiguous connected resources in particular user-defined timeframes”).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine idle resource prediction of Khaligh with the multi-tenant resource reservation and reallocation of Zhao and Yamasaki. A person having ordinary skill in the art would have motivated to make this combination for the purpose of “improved resource utilization efficiency, improved throughput and elasticity of scale as workload demands fluctuate” (¶ [0026]).
Claim(s) 6 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and further in view of Shulman et al. Pat. No. US 20240168791 A1 (hereafter Shulman).
With regard to claim 6, Zhao and Yamasaki teach the method of claim 5. Zhao and Yamasaki do not explicitly teach a difference in price between replaceable and non-replaceable instances that have a same specification.
However, in an analogous art, Shulman teaches wherein a first price at which the third tenant purchases the replaceable instance is lower than a second price at which the third tenant purchases a non-replaceable instance (¶ [0010] states “The stability of a resource also depends on the allocation scheme used by the cloud provider that may be an on-demand scheme implying a guaranteed resource or a Spot Instance scheme implying a not guaranteed, temporary resource which is less stable but much cheaper than an on-demand resource”. ¶ [0005] states “The On-demand type of resource is guaranteed to the customer until deallocated”. Examiner’s Note: the spot instance is the replaceable instance and the on-demand resource is the non-replaceable instance because the on-demand instance is guaranteed),
wherein the non-replaceable instance and the replaceable instance have a same specification (¶ [0015] states “Additionally, in accordance with an embodiment of the invention, the first instance is on-demand instance or spot instance, and the second instance is on-demand instance or spot instance”. ¶ [0017] states “the instance manager includes a machine image creator to create an image of the first instance, the image includes information enabling creating the second instance similar to the first instance”. ¶ [0042] states “Keeping the replacement transparent may also enable managing all type of instances in the environment in a similar manner, without the need to distinguish between on-demand and spot instances”),
and wherein the non-replaceable instance is not allowed to be replaced during running (¶ [0005] states “The On-demand type of resource is guaranteed to the customer until deallocated”. Examiner’s Note: the on-demand type of resource is the non-replaceable instance).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the price difference between spot and on-demand instances that have a same specification of Shulman with the reclaiming and allocation of resources of Zhao and Yamasaki. A person having ordinary skill in the art would have motivated to make this combination because “the stability of the resource—a more stable resource usually implies a higher price. A stability of a resource is expressed by the probability of it being available to the customer such that a more stable resource is more likely to be available to the customer over time.”. (¶ [0009]). It would obvious that if a resource does not need stability, then there can be cost savings by choosing an instance that has less stability, such as a spot instance. Cost savings are a benefit that one of ordinary skill in the art would recognize.
With regard to claim 20, Zhao and Yamasaki teach the apparatus of claim 19. Zhao and Yamasaki do not explicitly teach a difference in price between replaceable and non-replaceable instances that have a same specification.
However, in an analogous art, Shulman teaches wherein a first price at which the third tenant purchases the replaceable instance is lower than a second price at which the third tenant purchases a non-replaceable instance (¶ [0010] states “The stability of a resource also depends on the allocation scheme used by the cloud provider that may be an on-demand scheme implying a guaranteed resource or a Spot Instance scheme implying a not guaranteed, temporary resource which is less stable but much cheaper than an on-demand resource”. ¶ [0005] states “The On-demand type of resource is guaranteed to the customer until deallocated”. Examiner’s Note: the spot instance is the replaceable instance and the on-demand resource is the non-replaceable instance because the on-demand instance is guaranteed),
wherein the non-replaceable instance and the replaceable instance have a same specification (¶ [0015] states “Additionally, in accordance with an embodiment of the invention, the first instance is on-demand instance or spot instance, and the second instance is on-demand instance or spot instance”. ¶ [0017] states “the instance manager includes a machine image creator to create an image of the first instance, the image includes information enabling creating the second instance similar to the first instance”. ¶ [0042] states “Keeping the replacement transparent may also enable managing all type of instances in the environment in a similar manner, without the need to distinguish between on-demand and spot instances”),
and wherein the non-replaceable instance is not allowed to be replaced during running (¶ [0005] states “The On-demand type of resource is guaranteed to the customer until deallocated”. Examiner’s Note: the on-demand type of resource is the non-replaceable instance).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the price difference between spot and on-demand instances that have a same specification of Shulman with the reclaiming and allocation of resources of Zhao and Yamasaki. A person having ordinary skill in the art would have motivated to make this combination because “the stability of the resource—a more stable resource usually implies a higher price. A stability of a resource is expressed by the probability of it being available to the customer such that a more stable resource is more likely to be available to the customer over time”. (¶ [0009]). It would obvious that if a resource does not need stability, then there can be cost savings by choosing an instance that has less stability, such as a spot instance. Cost savings are a benefit that one of ordinary skill in the art would recognize.
Claim(s) 7 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and further in view of Stelmar Netto et al. Pat. No. US 20180084034 A1 (hereafter Stelmar Netto).
With regard to claim 7, Zhao and Yamasaki teach the method of claim 1. Yamasaki additionally teaches reclaiming, based on a third tenant confirming that a migratable instance used by the third tenant is allowed to be migrated during running, the migratable instance to obtain a second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. Examiner’s Note: when the resource offering candidate computing module checks whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity, that is considered when the confirming for an instance to be changed during running happens),
scheduling, for the first tenant, the second resource (¶ [0022] states ““tenant 3” judges that “tenant 1” requests resource allocation for a long time and performs resource allocation by removing a virtual machine to release resources belonging to the tenant 3 for a long time”. ¶ [0057] states ““T3” offers a quantity of resources indicated in the field “a quantity of resources offered” 233 to the tenant “T1”, using means that is “removing a VM” are stored in the relevant fields”. Examiner’s Note: it is interpreted that the resource allocation of the resources of the instance is the scheduling of resources. The “T” in “T3” is short for “tenant”);
Zhao and Yamasaki do not explicitly teach an identifier of a target region of the cloud infrastructure and that the instance is migratable.
However, in an analogous art, Stelmar Netto teaches wherein the resource allocation request comprises an identifier of a target region of the cloud infrastructure, and wherein the method further comprises (¶ [0018] states “the allocation constraints may include one or more of: server location”. ¶ [0047] states “There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter)”):
reclaiming, based on a third tenant confirming that a migratable instance used by the third tenant is allowed to be migrated during running, the migratable instance to obtain a second resource (¶ [0005] states “User assignment alternatives are calculated based on migration of user assignments of a second user to make the desired server resource available to the first user”. ¶ [0032] states “In step 330, a migration request may be sent to a second user proposing one or more configuration options and proposed user assignments based on those options. In step 335, the first user and the second user, perhaps with some contributions for the service provider managing the system, may negotiate a premium amount that will be paid to the second user if they agree to one of the configuration options”. [0019] states “Migration request interface 126 may provide users, including a one or more users who could release resources to enable a resource allocation change”. Examiner’s Note: agreement happens when the negotiation succeeds),
wherein the migratable instance belongs to the target region (¶ [0018] states “the user may specify various user request parameters for identifying a desired server resource” and “In some embodiments, the allocation constraints may include one or more of: server location”. ¶ [0019] states “Migration request interface 126 may provide users, including a one or more users who could release resources to enable a resource allocation change”. See FIG. 2. ¶ [0029] states “A user request is received from user D for a high performance computing application that requires significant resources on a single server. In before configuration 210, no one server of servers 220, 222, 224 has sufficient space for hosting user D's application. However, there may be configuration options for hosting all four applications on servers 220, 222, 224 if one or more application parts can be migrated”. Examiner’s Note: the allocation constraints may include the server location which indicates where the resources are needed. A user who possesses resources that can be released can exist in the same location. FIG. 2 provides an example. User B’s Application 240 is moved from Server 222 to Server 220. Server 222 is the target region of User D’s Application 262. User D’s Application 262 can then be allocated resources of Server 222);
and migrating the migratable instance to another region (¶ [0032] states “In step 350, the server systems may be reconfigured according to the user allocations in the accepted configuration option”. ¶ [0031] states “configuration 212 shows the configuration of servers 220, 222, 224 after configuration option 1 has been accepted by user B and implemented by a shared resource manager. B application 240 and A application 230 are now on server 220”. See FIG. 2).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the migratable instance and region identifier of Stelmar Netto with the resource reallocation of Zhao and Yamasaki. A person having ordinary skill in the art would have motivated to make this combination “to optimize server allocation for performance and revenue in accordance with the abstractions built into their pricing model” (¶ [0004]). More specifically, by controlling how users request resources and how requests are fulfilled, the service provider can effectively manage server resources (¶ [0016] states “By controlling resource abstraction and pricing models, the service provider may still effectively manage the shared resources in accordance with their business model”).
With regard to claim 13, Zhao and Yamasaki teach the method of claim 1. Additionally, Yamasaki additionally teaches wherein the resource scheduling interface displays a candidate resource that can be allocated to the first tenant, and wherein the candidate resource does not meet a requirement of the resource allocation request (¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. ¶ [0068] states “If the tenant's resources are equal to or less than the minimum required quantity, the module judges that no resources are allowed to be offered to another tenant and changes the object of processing of (step 201) to a next tenant. If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. Examiner’s Note: the candidate tenants are checked to see whether they have enough resources to offer for allocation. The minimum required quantity is the requirement of the resource allocation request)
and selecting, based on a selection operation from the first tenant on the candidate resource, a part of the candidate resource to allocate the part to the first tenant (¶ [0069] states “Next, the resource offering candidate computing module computes a quantity of resources allowed to be offered by the tenant (step S203)”. ¶ [0074] states “Another way of selecting may be first selecting a tenant including a quantity of resources allowed to be offered, the quantity that is the closest to the requested quantity of resources included in the resource allocation request”).
Zhao and Yamasaki do not explicitly teach a resource scheduling interface.
However, in an analogous art, Stelmar Netto teaches further comprising: presenting, before the first resource is allocated to the first tenant and to the first tenant, a resource scheduling interface (¶ [0018] states “Resource request interface 124 may provide users, including a first user initiating a resource allocation change, with a user interface for providing the relevant information to describe the shared computing resource they are looking for”),
wherein the resource scheduling interface displays a candidate resource that can be allocated to the first tenant, and wherein the candidate resource does not meet a requirement of the resource allocation request (¶ [0018] states “Resource request interface 124 may provide users, including a first user initiating a resource allocation change, with a user interface for providing the relevant information to describe the shared computing resource they are looking for”);
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date for the resource request interface of Stelmar Netto to display the candidate tenant resources for reallocation and the selection of a candidate resource of Zhao and Yamasaki because it provides users with “a user interface for providing the relevant information to describe the shared computing resource they are looking for” (¶ [0018]). A person having ordinary skill in the art would have motivated to make this combination so that “Users may be exposed to service abstractions and functionality for specifying resource placement strategies” (¶ [0016]) and the “higher levels of abstraction are generally applied to user service requests to improve provider control over efficient use of resources” (¶ [0016]). Additionally, one of ordinary skill in the art would recognize the benefit of providing an interface so that the user can send input and receive feedback from system. This is evident “In the event that all proposed configuration options are rejected by other users, the requesting user may be notified that the request has failed and they should reformulate their request” (¶ [0019]).
Claim(s) 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and Stelmar Netto and in further view of Shulman.
With regard to claim 8, Zhao, Yamasaki, and Stelmar Netto teach the method of claim 7. Additionally, Stelmar Netto teaches wherein a first price at which the third tenant purchases the migratable instance is lower than a second price at which the third tenant purchases a non-migratable instance (¶ [0005] states “User assignment alternatives are calculated based on migration of user assignments of a second user to make the desired server resource available to the first user”. ¶ [0029] states “In configuration option 1, B application 240 can be moved from server 222 to server 220”. ¶ [0028] state “user C's application may be a MapReduce Application with very specific server requirements that require a dedicated server location on server 224”. See ¶ [0029] for all configuration options. Examiner’s Note: user B’s Application 240 can be moved, or migrated. User C’s Application 250 on Server 224 is considered a non-migratable instance because it has specific server requirements. In the available configuration options for responding to user D’s request for resources, user C’s Application 250 is not listed as being able to be migrated. This makes application 250 the non-migratable instance),
wherein the non-migratable instance and the migratable instance belong to a same region (¶ [0028] states “User B's application has been provisioned in two application parts, B application 240 on server 222 and B application 242 on server 224”, “40 requests per minute are running on server 222 and 10 requests per minute are running on server 224”, and “User C's application has been provisioned in a single application part, C application 250 on server 224. For example, user C's application may be a MapReduce Application with very specific server requirements that require a dedicated server location on server 224”. ¶ [0029] states “In configuration option 1, B application 240 can be moved from server 222 to server 220 to create the necessary space for D application on server 222”. Examiner’s Note: user C’s Application 250 on Server 224 is considered a non-migratable instance because it has specific server requirements. In the available configuration options for responding to user D’s request for resources, user C’s Application 250 is not listed as being able to be migrated. This makes application 250 the non-migratable instance).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date that user B’s Application 242 on Server 224 is the migratable instance and user C’s Application 250 on the same Server 224 is the non-migratable instance. User B’s application requires generic processing capacity. Since user B’s Application 240 on Server 222 can be migrated and that there is no difference between Application 240 and Application 242 besides that they are in different server locations, it would be obvious that Application 242 can also be migrated to a different server in a different configuration option responding to a different resource request. Since Application 242 is in the same server as Application 250, the migratable and non-migratable instance are in the same region. A person having ordinary skill in the art would have been motivated to make this combination because it is obvious to try. The problem is that in a multi-tenant system some users need specific resources that may only be available in certain regions while other users have more flexibility in what resources are provisioned. Applications using specific resources may not be able to migrate. Determining where to place migratable and non-migratable workloads can be a challenge. The finite number of solutions are to have migratable and non-migratable instances in separate regions or to have migratable and non-migratable instances in the same region. One of ordinary skill in the art would recognize that having migratable and non-migratable instances in the same region can provide the most flexibility since it would only restrict the non-migratable instance location.
wherein the non-migratable instance is not allowed to be migrated during running (¶ [0028] states “User C's application has been provisioned in a single application part, C application 250 on server 224. For example, user C's application may be a MapReduce Application with very specific server requirements that require a dedicated server location on server 224”. Examiner’s Note: user C’s Application 250 on Server 224 is considered a non-migratable instance because it has specific server requirements. In the available configuration options for responding to user D’s request for resources, user C’s Application 250 is not listed as being able to be migrated. This makes application 250 the non-migratable instance).
Zhao, Yamasaki, and Stelmar Netto do not explicitly teach a price difference between migratable and non-migratable instances.
However, in an analogous art, Shulman teaches wherein a first price at which the third tenant purchases the migratable instance is lower than a second price at which the third tenant purchases a non-migratable instance (¶ [0010] states “The stability of a resource also depends on the allocation scheme used by the cloud provider that may be an on-demand scheme implying a guaranteed resource or a Spot Instance scheme implying a not guaranteed, temporary resource which is less stable but much cheaper than an on-demand resource”. ¶ [0005] states “The On-demand type of resource is guaranteed to the customer until deallocated”).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the pricing difference between spot and on demand instances of Shulman with the migratable and non-migratable instances of Zhao, Yamasaki, and Stelmar Netto. The on-demand instance can be likened to the non-migratable instance because the on-demand instance guarantees availability. When migrating between servers, Stelmar Netto states that “the downtime of user A ($100/minute)” (¶ [0030]) which shows that there is a period of unavailability when migrating. The sport instance can be likened to the migratable instance because both can be interrupted and have periods of unavailability. A person having ordinary skill in the art would have motivated to make this combination because “the stability of the resource—a more stable resource usually implies a higher price. A stability of a resource is expressed by the probability of it being available to the customer such that a more stable resource is more likely to be available to the customer over time.”. (¶ [0009]). It would obvious that if a resource does not need stability, then there can be cost savings by choosing an instance that has less stability, such as a spot instance. Cost savings are a benefit that one of ordinary skill in the art would recognize.
Claim(s) 9-11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and further in view of Helstroom et al. Pat. No. US 20240086240 A1 (hereafter Helstroom).
With regard to claim 9, Zhao and Yamasaki teach the method of claim 1. Zhao and Yamasaki do not explicitly teach allocating based on priorities associated with a region.
However, in an analogous art, Helstroom teaches wherein the resource allocation request comprises identifiers of a first region and a second region in the cloud infrastructure (¶ [0020] states “The user may also request that the underlying computing resources have certain characteristics”. ¶ [0029] states “For example, the resource user 110 may prefer that a server be located in California, but is also willing to use a server in Oregon or Washington. In such an example, the resource user 110 may specify a requested characteristic that the server be located in California with a priority value of 1. The resource user 110 may also specify a requested characteristic that the server be located in Oregon with a priority value of 2, and Washington with a priority value of 3”),
wherein a first priority of allocating a second resource in the first region to the first tenant is higher than a second priority of allocating a third resource in the second region to the first tenant (¶ [0029] states “For example, the resource user 110 may prefer that a server be located in California, but is also willing to use a server in Oregon or Washington. In such an example, the resource user 110 may specify a requested characteristic that the server be located in California with a priority value of 1. The resource user 110 may also specify a requested characteristic that the server be located in Oregon with a priority value of 2, and Washington with a priority value of 3”),
and wherein the method further comprises allocating, based on a third quantity of resources that are in the first region and that can be allocated to the first tenant being less than the first quantity, the third resource to the first tenant (¶ [0056] states “For example, the resource allocation objective may be to minimize the total cost for hosting the computing service(s) using computing resources of the resource provider 120 or to fulfill as many of the requested characteristics specified by the intent data 113 while meeting the budget constraint”. ¶ [0058] states “For example, a constraint may specify that ten servers are needed to host a computing service”. ¶ [0064] states “After the computing resources have been allocated, the resource provider 120 may host the computing service(s) using the allocated resources”. Examiner’s Note: the request may specify a quantity of resources requested. However, in order to meet a budget restraint, the number resources allocated is less than the requested amount).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine allocating resources based on region priority of Helstroom with the resource reservation and allocation system of Zhao and Yamasaki. A person having ordinary skill in the art would have been motivated to make this combination so that “The system can identify and allocate available computing resources for use in hosting a particular computing service based on the intent data, data regarding available resources, a budget constraint for the particular computing service, forecasted demand for the available resources, and/or a resource allocation objective (e.g., minimize the cost of the underlying resources)” (¶ [0022]). By doing so, the system can “determine a resource allocation that meets the resource allocation objective and satisfies as many requested characteristics as possible given a budget constraint and/or other constraints” (¶ [0022]). In the case of region priority, one of ordinary skill in the art would recognize that by specifying region priority, the user can encode intents related to cost and latency of services. In the case of allocating resources less than the requested amount, one of ordinary skill in the art would recognize this can be done to optimize other characteristics such as cost and resource partitioning.
With regard to claim 10, Zhao, Yamasaki, and Helstroom teach the method of claim 9. Additionally, Helstroom teaches further comprising implementing, based on resource configuration of the first tenant for a service and by using the second resource and the third resource, different services of the first tenant (¶ [0026] states “The intent data 113 may identify one or more computing services that the resource user 110 would like to have hosted by the resource provider 120” and “The requested characteristics can relate to the performance of the resource, the quantity of the resource, the type of resource, an amount of redundancy for the resource, the location for one or more instances of the resource, security for the resource, or another appropriate resource characteristic. For example, the computing service may be a video sharing web site that requires a multitude of servers, back-end applications, front-end applications, data storage, and other computing resources. Some requested characteristics for the video sharing web site may include several locations for instances of the front-end application”. Examiner’s Notes: the intent data can include information for hosting multiple services across different locations).
With regard to claim 11, Zhao, Yamasaki, and Helstroom teach the method of claim 10. Additionally, Yamasaki teaches and scheduling, in response to a resource allocation confirmation operation of the first tenant for the third region, the fourth resource (¶ [0067] states “the resource offering candidate computing module refers to the tenant configuration information 200, tenant policy information 210, and tenant usage status information 220, and checks for each tenant whether the quantity of currently assigned resources within the tenant is more than the minimum required quantity which is defined in the tenant policy (step S202)”. ¶ [0068] states “If resources more than the minimum required quantity are assigned within the tenant, the processing proceeds to (step S203)”. ¶ [0069] states “Next, the resource offering candidate computing module computes a quantity of resources allowed to be offered by the tenant (step S203)”. Examiner’s Note: when the resource offering candidate computing module checks if there are more assigned resources than the minimum required quantity and proceeds further in the method, that is interpreted as the third tenant agreeing with the scheduling, or allocation, of resources).
Additionally, Helstroom teaches further comprising: presenting a resource allocation prompt interface for displaying a fourth resource in a third region in the cloud infrastructure (¶ [0026] states “The requested characteristics can relate to the performance of the resource, the quantity of the resource, the type of resource, an amount of redundancy for the resource, the location for one or more instances of the resource, security for the resource, or another appropriate resource characteristic”. ¶ [0106] states “Implementations of the subject matter described in this specification can be implemented in a computing system that includes … a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification”. Examiner’s Note: the GUI can display resource information);
and scheduling, in response to a resource allocation confirmation operation of the first tenant for the third region, the fourth resource (¶ [0026] states “The requested characteristics can relate to the performance of the resource, the quantity of the resource, the type of resource, an amount of redundancy for the resource, the location for one or more instances of the resource, security for the resource, or another appropriate resource characteristic”).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to have an interface to handle user input regarding the user’s request for resources in a cloud infrastructure. A person having ordinary skill in the art would have motivated to make this combination so that “the user can provide input to the computer” and “feedback provided to the user” (¶ [0105]) for the purpose of letting “a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components” (¶ [0106]). One of ordinary skill in the art would recognize that by letting the user send input and receive output, the user can then benefit from the advantages of the invention, such as the system’s ability to “determine a resource allocation that meets the resource allocation objective and satisfies as many requested characteristics as possible given a budget constraint and/or other constraints” (¶ [0022]).
Claim(s) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and further in view of Poothia et al. Pat. No. US 20200042338 A1 (hereafter Poothia).
With regard to claim 12, Zhao and Yamasaki teach the method of claim 1. Additionally, Zhao teaches wherein the first resource reservation request comprises a resource reservation quantity (Page 7 Lines 35-36 states “Step S201: Receive a resource reservation request of the tenant, where the request carries parameters such as a start time, an end time, a timeout period, a quantity of resources, and a reservation duration”),
Zhao and Yamasaki do not explicitly teach a second quantity based historical resource utilization that is less than the reservation quantity.
However, in an analogous art, Poothia teaches wherein reserving the first elastic resources comprises determining, based on a first historical resource utilization status of the first tenant or a second historical resource utilization status of another tenant of the cloud infrastructure, the second quantity and wherein the second quantity is less than the resource reservation quantity (¶ [0119] states “the memory resizing recommendation system 340 may determine a moving average value of active memory consumption from the historical memory usage profiles to identify general trends of memory usage. The memory resizing recommendation system 340 may compare the moving average value with the initial revised memory allocation to determine if the initial revised memory allocation value is likely to be sufficient for future usage”. ¶ [0120] states “Specifically, the memory resizing recommendation system 340 may determine a difference between the values of the initial revised memory allocation and the moving average of the historical memory usage profile and add the difference (plus an additional amount if desired) to the initial revised memory allocation”. Examiner’s Note: the moving average is the second quantity. When additional memory is allocated, the moving average becomes less than the allocation, or reservation value).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the determining of a moving average based on historical usage and then allocating more resources of Poothia with the reservation request including a quantity of reserved resources of Zhao and Yamasaki. A person having ordinary skill in the art would have motivated to make this combination because “By having the appropriate amount of memory needed, reliance on memory compensating techniques is reduced, which in turns improves the performance of workloads on a virtual machine” (¶ [0027]). It would be obvious that having the appropriate amount of any kind of resource would also be beneficial to performance.
Claim(s) 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao in view of Yamasaki and further in view of Perkuhn et al. Pat. No. US 20130138807 A1 (hereafter Perkuhn).
With regard to claim 15, Zhao and Yamasaki teach the method of claim 1. Additionally, Yamasaki teaches calculating, based on any one or more of elastic resources, deletable instances, replaceable instances, or migratable instances of tenants of the cloud infrastructure, a third quantity of reserved resources that can be provided (¶ [0071] states “Next, the resource offering candidate computing module adds a result of the computing as a quantity of resources allowed to be offered (step S206)”. ¶ [0047] states “Among the ways of offering resources mentioned in FIG. 4, the load produced by the means for offering resources by CPU capping is the smallest, the load produced by shutting down a VM (and VM booting to recover resources) is the second smallest, and the load produced by removing a VM (and creating a new VM to recover resources) is the largest”. ¶ [0073] states “the resource offering candidate computing module checks whether the sum resulting from the addition performed at (step S206) is equal to or more than the requested quantity included in the resource allocation request (step S208)”);
and rejecting the first resource reservation request when a fourth quantity of resources that the first resource reservation request requests to reserve is greater than the third quantity (¶ [0073] states “the resource offering candidate computing module checks whether the sum resulting from the addition performed at (step S206) is equal to or more than the requested quantity included in the resource allocation request (step S208)”)
Zhao and Yamasaki do not explicitly teach rejecting a resource reservation request based on request quantity being greater than available resources.
However, in an analogous art, Perkuhn teaches and rejecting the first resource reservation request when a fourth quantity of resources that the first resource reservation request requests to reserve is greater than the third quantity (¶ [0021] states “According to a first variant, the method may further comprise rejecting the resource reservation request when no or insufficient resources are available for the preferred time period”)
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the rejection of a resource reservation based on resource availability of Perkuhn with the calculation of resources available to be offered to fulfil an allocation request of Zhao and Yamasaki. A person having ordinary skill in the art would have motivated to make this combination to “offer customers a high quality experience” (¶ [0002]). This is done by using “Quality of Service (QoS) provision and reservation” (¶ [0003]) because “by reservation of a required QoS, a required bit rate, delay, jitter, packet dropping probability and/or bit error rate may be guaranteed for a respective service (¶ [0003]). One of ordinary skill in the art would recognize that it is beneficial to reject a resource reservation for a time period if it means a decrease in network performance that violates a QoS.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PETER L YUAN whose telephone number is (571)272-5737. The examiner can normally be reached Mon-Fri 7:30am-5pm.
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, Bradley Teets can be reached at 571-272-3338. 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.
/PETER LI YUAN/Examiner, Art Unit 2197
/BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197