Automatic Scaling of at Least One User Application to External Clouds
US-2016134557-A1 · May 12, 2016 · US
US9912607B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9912607-B2 |
| Application number | US-201514745972-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 22, 2015 |
| Priority date | Nov 12, 2014 |
| Publication date | Mar 6, 2018 |
| Grant date | Mar 6, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the invention provide a method, a system and a computer program product configured to automatically auto-scale a user compute instance to multiple cloud providers while considering a multiplicity of user requirements. The method, executed on a digital data processor, includes obtaining information, via a user interface, that is descriptive of user cloud computing related preferences, including a user cloud computing budgetary preference. The method further includes sensing properties of a plurality of clouds and making decisions, based at least on the obtained information and on the sensed properties, of when to scale up or scale down the user cloud instance, of selecting one of the plurality of clouds as where to scale the user cloud instance, and determining which resource or resources of the selected cloud to add or remove from the selected cloud. The method further includes automatically executing the decisions on the selected cloud.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: at least one data processor connected with at least one memory that stores software instructions, where execution of the software instructions by the at least one data processor causes the system to: obtain information, via a user interface, that is descriptive of user cloud computing related preferences, wherein the user cloud computing related preferences comprises at least a user cloud computing budgetary preference, a location preference, a performance preference and a reliability level preference, and wherein the information further comprises indications on whether each of the user cloud computing related preferences is either required or preferred; sense properties of a plurality of clouds including at least reliability, cost, security, location, performance and infrastructure properties, wherein the sensed cost and infrastructure properties are obtained directly from a cloud provider via an application program interface of the cloud provider, and wherein the reliability, security, and performance properties are obtained at least in part based on one or more historical records of application deployments in each of the plurality of clouds; make decisions, based at least on the obtained information and on the sensed properties of the plurality of clouds, of when to scale up or scale down a user cloud instance, of selecting one of the plurality of clouds as where to scale the user cloud instance, and determining which resource or resources of the selected cloud to add or remove from the selected cloud; where in response to detection of a presence of a trigger to perform a user cloud instance scale up operation, solve a first optimization problem to select where to scale up the user cloud instance by selecting one of the plurality of clouds to add the user cloud instance to and then solve a second optimization problem to select which resource or resources in the selected cloud to add the user cloud instance to, where the selected resource or resources comprise at least one of memory, communication adapters and operating system, wherein selection of the one of the plurality of clouds to add comprises generating a requirement satisfaction vector for each of the user cloud computing related preferences comprising binary values indicating whether each of the plurality of clouds satisfy a given one of the user cloud computing related preferences, and selecting the cloud based on both the requirement satisfaction vectors and the obtained indications on whether each of the user cloud computing related preferences is either required or preferred; and automatically execute the decisions on the selected cloud. 2. The system of claim 1 , where the user's cloud instance is being executed on a private cloud when the decisions are executed, and where the selected cloud is a public cloud. 3. The system of claim 1 , where the obtained information descriptive of user cloud computing related preferences comprises a latency preference, in addition to the user cloud computing budgetary preference, the performance preference, the reliability level preference, and the location preference. 4. The system of claim 1 , where the obtained information is further descriptive of a user objective preference as to a certain cloud provider or cloud providers. 5. The system of claim 1 , where the making decisions is automatically triggered by at least a change in a user application instance so as to require more cloud resources or less cloud resources. 6. A computer program product comprised of software instructions on a non-transitory computer-readable medium, where execution of the software instructions using a computer results in performing operations comprising: obtaining information, via a user interface, that is descriptive of user cloud computing related preferences, wherein the user cloud computing related preferences comprises at least a user cloud computing budgetary preference, a location preference, a performance preference, and a reliability level preference, and wherein obtaining the information further comprises obtaining indications on whether each of the user cloud computing related preferences is either required or preferred; sensing properties of a plurality of clouds including at least a reliability, cost, security, location, performance, and infrastructure properties, wherein the sensed cost and infrastructure properties are obtained directly from a cloud provider via an application program interface of the cloud provider, and wherein the reliability, security, and performance properties are obtained at least in part based on one or more historical records of application deployments in each of the plurality of clouds; making decisions, based at least on the obtained information and on the sensed properties of the plurality of clouds, of when to scale up or scale down a user cloud instance, of selecting one of the plurality of clouds as where to scale the user cloud instance, and determining which resource or resources of the selected cloud to add or remove from the selected cloud, wherein selecting one of the plurality of clouds to add comprises generating a requirement satisfaction vector for each of the user cloud computing related preferences comprising binary values indicating whether each of the plurality of clouds satisfy a given one of the user cloud computing related preferences, and selecting the cloud based on both the requirement satisfaction vectors and the obtained indications on whether each of the user cloud computing related preferences is either required or preferred; where in response to detecting a presence of a trigger to perform a user cloud instance scale up operation, solving a first optimization problem to select where to scale up the user cloud instance by selecting one of the plurality of clouds to add the user cloud instance to and then solving a second optimization problem to select which resource or resources in the selected cloud to add the user cloud instance to, where the selected resource or resources comprise at least one of memory, communication adapters and operating system; and automatically executing the decisions on the selected cloud. 7. The computer program product of claim 6 , where the user's cloud instance is being executed on a private cloud when the decisions are executed, and where the selected cloud is a public cloud. 8. The computer program product of claim 6 , where the obtained information descriptive of user cloud computing related preferences comprises a latency preference, in addition to the user cloud computing budgetary preference, location preference and reliability level preference at least one of a performance preference. 9. The computer program product of claim 6 , where the obtained information is further descriptive of a user objective preference as to a certain cloud provider or cloud providers. 10. The computer program product of claim 6 , where the operation of making decisions is automatically triggered by at least a change in a user application instance so as to require more cloud resources or less cloud resources. 11. The system of claim 1 , where execution of the software instructions by the at least one data processor further causes the system to: in response to the presence of the trigger initially determine whether the trigger is to scale up or scale down the user cloud instance, where in response to determination that the trigger is to scale up the user cloud instance, determine if there exists a user-defined objective preference and, if the objective preference is determined to exist, then solve the first optimization problem and the second optimization problem. 12. The system
Operations research, analysis or management · CPC title
Electricity · mapped topic
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Distributed allocation of resources, e.g. bandwidth brokers · CPC title
Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.