IP Library Granted Patent US 11,469,959
Granted Patent B2
US 11,469,959 · App. 17/366,335 · Granted Oct 11, 2022

Decentralized auto-scaling of network architectures

Inventors: Abhishek Kothari (San Jose, CA); Matti Oikarinen (San Jose, CA); Yucheng Xiong (Cupertino, CA); Manika Mittal (Sunnyvale, CA); Rohit Vijayakumar Athanikar (Sunnyvale, CA); Suresh Kumar Thiruvallur Loganathan (Sunnyvale, CA); Saravanan Murugesan (Sunnyvale, CA)
Assignee: Verizon Patent and Licensing Inc.
H04L41/0893G06F9/45558G06F9/5072G06F9/5077H04L41/0806H04L41/30G06F2009/45562
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 11,469,959
App. No.
17/366,335
Granted
Oct 11, 2022
Kind
B2
Abstract

Disclosed herein are systems, devices, and methods for providing auto-scaling in a cluster of device instances. In one embodiment, a method is disclosed comprising updating, using a distributed counter, a metric associated with one or more instances executing a network application; identifying that the metric has exceeded a threshold defined in a scaling policy based on comparing the distributed counter to the scaling policy; identifying a command to execute in response to the metric exceeding the threshold; and executing the command to modify the one or more instances.

Claims (47)

1. A device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:

logic, executed by the processor, for executing a distributed counter to update a count associated with a respective metric,

logic, executed by the processor, for transmitting a first value of the count to one or more instances, the one or more instances executing respective distributed counters,

logic, executed by the processor, for receiving a second value of the count from the one or more instances,

logic, executed by the processor, for updating, using the distributed counter, a metric associated with the one or more instances based on the second value,

logic, executed by the processor, for identifying that the metric has exceeded a threshold defined in a scaling policy, and

logic, executed by the processor, for executing a command in response to the metric exceeding the threshold.

2. The device of claim 1 the logic for executing a command in response to the metric exceeding the threshold comprising logic, executed by the processor, for executing a command selected from the group consisting of instantiating a new instance, destroying one of the one or more instances, and modifying one of the one or more instances.

3. The device of claim 1 , the first value causing the respective distributed counter of the one or more instances to update a metric associated with the distributed counter executing on the device.

4. The device of claim 1 , the logic for executing the command comprising transmitting an alert to a scaling component.

5. The device of claim 3 , the executing the command comprising issuing the command from a master instance to an image management infrastructure component.

6. The device of claim 1 , the logic for updating a metric associated with one or more instances comprising:

logic, executed by the processor, for performing an operation;

logic, executed by the processor, for updating a local counter corresponding to the metric; and

logic, executed by the processor, for sending a message to at least one other instance, the message causing the at least one other instance to update a distributed count value.

7. A system comprising:

one or more instances executing a network application, the one or more instances configured to:

update, using a distributed counter stored locally by each of the one or more instances, a metric associated with each of the one or more instances; and

configure one of the one or more instances as a scaling component, the scaling component configured to:

identify that the metric has exceeded a threshold defined in a scaling policy based on comparing the distributed counter to a value in the scaling policy, and

execute a command to modify the one or more instances in response to the metric exceeding the threshold.

8. The system of claim 7 , the scaling component further configured to pull the metric from the one or more instances.

9. The system of claim 8 , the scaling component further configured to retrieve the scaling policy stored locally on the scaling component and identify a threshold in the scaling policy.

10. The system of claim 8 the scaling component further configured to execute a command selected from the group consisting of instantiating a new instance, destroying one of the one or more instances, and modifying one of the one or more instances.

11. The system of claim 8 , the one or more instances further configured to:

perform, by a selected instance from the one or more instances, an operation;

update, by the selected instance, a local counter corresponding to the metric; and

send, by the selected instance, a message to at least one other instance, the message causing the at least one other instance to update a distributed count value.

12. A method comprising:

receiving, by one or more instances executing a network application, requests from a client device;

updating, using distributed counters implemented by the one or more instances and stored locally by each of the one or more instances, a metric associated with each of the one or more instances based on the requests;

identifying, by a master instance in the one or more instances, that the metric has exceeded a threshold defined in a scaling policy based on comparing the distributed counter to the scaling policy;

identifying, by the master instance, a command to execute in response to the metric exceeding the threshold; and

executing, by the master instance, the command to modify the one or more instances.

13. The method of claim 12 , the executing the command to modify the one or more instances comprising executing a command selected from the group consisting of instantiating a new instance, destroying one of the one or more instances, and modifying one of the one or more instances.

14. The method of claim 12 , the updating a metric associated with one or more instances executing a network application comprising:

performing, by a selected instance from the one or more instances, an operation;

updating, by the selected instance, a local counter corresponding to the metric; and

sending, by the selected instance, a message to at least one other instance, the message causing the at least one other instance to update a distributed count value.

15. The method of claim 12 , further comprising periodically selecting a master instance from the one or more instances.

16. The method of claim 15 , the periodically selecting a master instance from the one or more instances performed using a selection algorithm selected from the group consisting of a fixed selection, round robin algorithm, probabilistic selection algorithm, or election periodic timer algorithm.

17. The method of claim 15 , the identifying that the metric has exceeded a threshold defined in a scaling policy comprising retrieving, by the master instance, the scaling policy stored locally on the master instance and identifying a threshold in the scaling policy.

18. The method of claim 15 , the identifying a command to execute in response to the metric exceeding the threshold comprising issuing the command from the master instance to an image management infrastructure component.

19. The method of claim 12 , the identifying that the metric has exceeded a threshold defined in a scaling policy comprising pulling, by a scaling component, the metric from the one or more instances.

20. The method of claim 19 , the identifying that the metric has exceeded a threshold defined in a scaling policy comprising retrieving, by the scaling component, the scaling policy stored locally on the scaling component and identifying a threshold in the scaling policy.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057571/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 056752/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: KOTHARI, ABHISHEK; OIKARINEN, MATTI; XIONG, YUCHENG; MITTAL, MANIKA; ATHANIKAR, ROHIT VIJAYAKUMAR; THIRUVALLUR LOGANATHAN, SURESH KUMAR; MURUGESAN, SARAVANAN
To: OATH INC.
Reel/Frame 056757/0553 →
Continuity (2)
Continuation 16109061 · Aug 22, 2018
Related Publication 20210336856A1 · Oct 28, 2021