Automatic scaling of at least one user application to external clouds

US9912607B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9912607-B2
Application numberUS-201514745972-A
CountryUS
Kind codeB2
Filing dateJun 22, 2015
Priority dateNov 12, 2014
Publication dateMar 6, 2018
Grant dateMar 6, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06Q10/063Primary

    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

  • H04L47/783Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9912607B2 cover?
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 preferen…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06Q10/063. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 06 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).