IP Library Granted Patent US 9,229,778
Granted Patent B2
US 9,229,778 · App. 13/456,402 · Granted Jan 5, 2016

Method and system for dynamic scaling in a cloud environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,229,778
App. No.
13/456,402
Granted
Jan 5, 2016
Kind
B2
Abstract

Various exemplary embodiments relate to a method and related network node including one or more of the following: determining first server dynamics associated with a first server instance, wherein the first server dynamics are indicative of a current performance of the first server instance; determining second server dynamics associated with a second server instance, wherein the second server dynamics are indicative of a current performance of the second server instance; determining, based on the first server dynamics, a current operating mode of the first server instance; determining, based on the second server dynamics, a current operating mode of the second server instance; scaling up with respect to the first server instance based on the first current operating mode indicating that the server instance is oversaturated; and scaling down with respect to the second server instance based on the second current operating mode indicating that the server instance is undersaturated.

Claims (76)

1. A method performed by a cloud application scaling controller for providing dynamic scaling, the method comprising:

determining, by the cloud application scaling controller, first server dynamics associated with a first server instance, wherein the first server dynamics are indicative of a current performance of the first server instance, wherein the first server dynamics comprise a first arriving requests metric and a first processed requests metric;

determining, by the cloud application scaling controller, second server dynamics associated with a second server instance, wherein the second server dynamics are indicative of a current performance of the second server instance, wherein the second server dynamics comprise a second arriving requests metric and a second processed requests metric;

determining, based on the first arriving requests metric and the first processed requests metric, a current operating mode of the first server instance;

determining, based on the second arriving requests metric and the second processed requests metric, a current operating mode of the second server instance;

scaling up with respect to the first server instance based on the first current operating mode indicating that the server instance is oversaturated; and

scaling down with respect to the second server instance based on the second current operating mode indicating that the server instance is undersaturated.

2. The method of claim 1 , wherein the first processed requests metric comprises at least one value for a service rate and the first arriving requests metric comprises at least one value for an input queue height.

3. The method of claim 1 , wherein,

the step of determining first server dynamics comprises:

receiving instantaneous server dynamics reported by the first server instance, and

computing smoothed server dynamics based on the instantaneous server dynamics; and

the step of determining, based on the first server dynamics, a current operating mode comprises:

determining, based on the smoothed server dynamics, a current operating mode of the first server instance.

4. The method of claim 3 , wherein the step of computing smoothed server dynamics comprises:

retrieving a previous smoothed server dynamics value;

multiplying the previous smoothed server dynamics value by a decay factor to produce a decayed server dynamics value; and

adding an instantaneous server dynamics value of the instantaneous server dynamics to the decayed server dynamics value to produce a smoothed server dynamics value.

5. The method of claim 1 , wherein the step of determining a current operating mode of the first server instance comprises:

comparing at least one value of the first server dynamics to at least one threshold value associated with the at least one value;

determining, based on the comparison, whether the current operating mode of the first server instance is undersaturated, saturated, or oversaturated.

6. The method of claim 1 , wherein the step of scaling up comprises sending a scaling instruction to spawn at least one new server instance.

7. The method of claim 1 , wherein the step of scaling down comprises sending a scaling instruction to combine at least two server instances into a single server instance.

8. A cloud application scaling controller for providing dynamic scaling, the cloud application scaling controller comprising:

a blackboard interface configured to communicate with an instantaneous server dynamics blackboard;

a cloud controller interface configured to communicate with a cloud controller;

an instantaneous dynamics retriever configured to retrieve an instantaneous dynamics value via the blackboard interface;

a smoothed dynamics calculator configured to compute a smoothed dynamics value based on combining the instantaneous dynamics value with a previous smoothed dynamics value;

a scaling decision engine configured to determine, based on the smoothed dynamics value, whether an server instance associated with the smoothed dynamics value should be scaled up or scaled down; and

a scaler configured to transmit a scaling instruction via the cloud controller interface based on the determination of the scaling decision engine.

9. The cloud application scaling controller of claim 8 wherein the instantaneous dynamics value includes at least one of a service rate and an input queue height.

10. The cloud application scaling controller of claim 9 , wherein the input queue height is a value derived by normalizing an input queue length based on complexities of requests stored in the input queue.

11. The cloud application scaling controller of claim 8 further comprising:

a database interface configured to communicate with at least one database;

a smoothed dynamics retriever configured to retrieve the previous smoothed dynamics value; and

a metadata retriever configured to retrieve a decay factor,

wherein, in computing the smoothed dynamics value, the smoothed dynamics calculator is configured to compute the smoothed dynamics value based on the instantaneous dynamics value, the previous smoothed dynamics value, and the decay factor.

12. The cloud application scaling controller of claim 11 , wherein,

the metadata retriever is further configured to retrieve at least one threshold value, and

in determining whether a server instance should be scaled up or scaled down, the scaling decision engine is configured to compare the scaled dynamics value to the at least one threshold value.

13. The cloud application scaling controller of claim 11 , wherein

the metadata retriever is further configured to determine a server type associated with the server instance, and

in retrieving the decay factor, the metadata retriever is configured to retrieve a decay factor associated with the server type.

14. The cloud application scaling controller of claim 8 , wherein the scaling instruction includes at least one of the following:

an instruction to redistribute work load among a plurality of server instances;

an instruction to request additional resources at least one server instance;

an instruction to spawn at least one new server instance; and

an instruction to terminate at least one server instance.

15. The cloud application scaling controller of claim 8 , further comprising:

a topology manager interface configured to communicate with a topology manager; and

a topology change reporter configured to

receive, via the cloud controller interface, an indication of a change in cloud topology, and

report the change in cloud topology via the topology manager interface.

16. An apparatus for providing dynamic scaling, the apparatus comprising:

a memory; and

a processor communicatively coupled to the memory, the processor being configured to:

determine by a cloud application scaling controller, first server dynamics associated with a first server instance, wherein the first server dynamics are indicative of a current performance of the first server instance, wherein the first server dynamics comprise a first arriving requests metric and a first processed requests metric;

determine second server dynamics associated with a second server instance, wherein the second server dynamics are indicative of a current performance of the second server instance, wherein the second server dynamics comprise a second arriving requests metric and a second processed requests metric;

determine, based on the first arriving requests metric and a first processed requests metric, a current operating mode of the first server instance;

determine, based on the second arriving requests metric and a second processed requests metric, a current operating mode of the second server instance;

scale up with respect to the first server instance based on the first current operating mode indicating that the server instance is oversaturated; and

scale down with respect to the second server instance based on the second current operating mode indicating that the server instance is undersaturated.

17. The apparatus of claim 16 , wherein the first processed requests metric comprises at least one value for a service rate and the first arriving requests metric comprises at least one value for an input queue height.

18. The apparatus of claim 16 , wherein,

in determining first server dynamic, the processor is configured to:

receive instantaneous server dynamics reported by the server instance, and

compute smoothed server dynamics based on the instantaneous server dynamics; and

in determining, based on the first server dynamics, a current operating mode for the first server instance, the processor is configured to:

determine, based on the smoothed server dynamics, a current operating mode of the first server instance.

19. The apparatus of claim 18 , wherein, in computing smoothed server dynamics, the processor is configured to:

retrieve a previous smoothed server dynamics value;

multiply the previous smoothed server dynamics value by a decay factor to produce a decayed server dynamics value; and

add an instantaneous server dynamics value of the instantaneous server dynamics to the decayed server dynamics value to produce a smoothed server dynamics value.

20. The apparatus of claim 16 , wherein, in determining a current operating mode for the first server instance, the processor is configured to:

compare at least one value of the server dynamics to at least one threshold value associated with the at least one value;

determine, based on the comparison, whether the current operating mode of the first server instance is undersaturated, saturated, or oversaturated.

Assignments (12)
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 030434/0104 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2012
From: RADHAKRISHNAN, GANESAN
To: ALCATEL-LUCENT USA, INC.
Reel/Frame 028110/0409 →