IP Library Granted Patent US 10,346,216
Granted Patent B1
US 10,346,216 · App. 16/167,718 · Granted Jul 9, 2019

Systems, apparatus and methods for management of software containers

Inventors: Dongyi Yang (White Plains, NY); Endre Sara (Briarcliff Manor, NY); Enlin Xu (New York, NY)
Assignee: TURBONOMIC, INC.
G06F9/5055G06F9/45558G06F9/4881G06F11/301G06F11/302G06F11/3006G06Q20/065G06Q30/0283G06Q30/0635H04L43/08G06F2009/45595
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 10,346,216
App. No.
16/167,718
Granted
Jul 9, 2019
Kind
B1
Abstract

Methods, systems, and apparatus, including computer program products, are disclosed for managing resources in container systems, including multi-cloud systems. The use of supply chain economics alone and in combination with other techniques offers a unified platform to integrate, optimize or improve, and automate resource management in a container system. These techniques may be used to auto-scale or place container or pod entities. They may also be used to monitor and control contention of computing resources in a container system, and to place, clone, resize, suspend or terminate computing resources.

Claims (30)

1. A computer-implemented method, comprising steps:

(a) determining, by a pod manager running on a data processor in a container system, a computer resource bundle to be purchased for a pod in the container system, wherein the pod includes a cluster of a plurality of containers in the computer system sharing at least one resource;

(b) identifying, by the pod manager, at least a first resource provider and a second resource provider in the container system, each offering a purchase price to the computer resource bundle;

(c) automatically allocating, by the pod manager, the computer resource bundle from the first resource provider to the pod based at least in part on the purchase price offered thereby;

(d) determining an updated purchase price offered by the second resource provider;

(e) determining a moving cost for moving the pod from the first resource provider to the second resource provider; and

(f) determining whether to move the pod from the first resource provider to the second resource provider based at least in part on the updated purchase price offered by the second resource provider and the moving cost.

2. The method of claim 1 , wherein the pod is moved from the first resource provider to the second resource provider upon determining that (i) the updated purchase price offered by the second resource provider is lower than the purchase price offered by the first resource provider and (ii) the moving cost is less than a price difference between the purchase price offered by the first resource provider and the updated purchase price offered by the second resource provider.

3. The method of claim 1 , further comprising moving the pod from the first resource provider to the second resource provider in accordance with the determination in step (f).

4. The method of claim 1 , further comprising determining a performance characteristic associated with at least one of the first or second resource provider, wherein the determination in step (f) is further based on the determined performance characteristic.

5. The method of claim 4 , wherein the computer resource bundle comprises a processor, a storage I/O resource, a network I/O resource and I/O pathways connecting the plurality of containers, the performance characteristic comprising at least one of a clock rate of the processor, a bandwidth or a latency of the storage I/O resource, a bandwidth or a latency of the network I/O resource, or a bandwidth or a latency associated with the I/O pathways.

6. The method of claim 1 , further comprising:

monitoring a usage or a performance metric associated with at least one of the plurality of containers in the pod; and

based thereon, determining whether to move, clone or suspend the at least one of the plurality of containers in the pod.

7. The method of claim 6 , wherein the monitoring step comprises comparing actual and target qualities of a service metric associated with the at least one of the plurality of containers in the pod.

8. The method of claim 1 , further comprising:

dividing the container system into a plurality of subcomponents for managing individual nodes in the container system; and

selecting, by a scheduler in the container system, at least one of the nodes that the pod is to run on based at least in part on resource availability of the selected node.

9. The method of claim 8 , further comprising determining a real-time usage of each of the nodes, and based thereon, migrating at least one of the plurality of containers.

10. The method of claim 8 , wherein the selected node comprises a physical machine.

11. The method of claim 8 , wherein the selected node comprises a virtual machine.

12. The method of claim 1 , wherein the plurality of containers in the pod share a same IP address.

13. The method of claim 1 , wherein the container system comprises a Kubemetes container system.

14. The method of claim 1 , wherein the containers comprise Docker containers.

15. The method of claim 1 , wherein at least one of the plurality of resource providers comprises a computer server.

16. The method of claim 1 , further comprising horizontally scaling the pod by provisioning at least one additional container in the pod.

17. The method of claim 16 , further comprising dividing a workload among the additional container and the plurality of containers in the computer system.

18. The method of claim 1 , further comprising allocating additional computer resources to the pod from a third resource provider.

19. The method of claim 18 , wherein the additional computer resources are allocated to the pod upon a determination that a service level of the pod is below a predetermined threshold.

20. The method of claim 1 , wherein the purchase price is denoted in a virtual currency unit.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: TURBONOMIC, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062202/0030 →
RELEASE OF SECURITY INTEREST Recorded Jul 5, 2022
From: SILICON VALLEY BANK
To: TURBONOMIC, INC.
Reel/Frame 060396/0411 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 23, 2019
From: TURBONOMIC, INC.
To: SILICON VALLEY BANK
Reel/Frame 050156/0150 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 23, 2019
From: TURBONOMIC, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050156/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2018
From: YANG, DONGYI; SARA, ENDRE; XU, ENLIN
To: TURBONOMIC, INC.
Reel/Frame 047278/0153 →
Continuity (6)
Continuation 15351342 · Nov 14, 2016
Continuation In Part 15152459 · May 11, 2016
Provisional Application 62316340 · Mar 31, 2016
Provisional Application 62256559 · Nov 17, 2015
Provisional Application 62256645 · Nov 17, 2015
Provisional Application 62255859 · Nov 16, 2015
Cited By (3)
US 12,664,015 US 12,693,900 US 12,699,590