IP Library Granted Patent US 10,585,693
Granted Patent B2
US 10,585,693 · App. 15/681,167 · Granted Mar 10, 2020

Systems and methods for metric driven deployments to cloud service providers

Inventors: Ryan Aydelott (Chicago, IL); Daniel Murphy-Olson (Woodridge, IL); Sebastien Boisvert (Downers Grove, IL)
Assignee: UChicago Argonne, LLC
G06F9/45558G06Q10/0637H04L43/04G06F9/5077G06F2009/4557H04L41/5096
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,585,693
App. No.
15/681,167
Granted
Mar 10, 2020
Kind
B2
Abstract

Systems and methods are shown for providing metric driven deployments to cloud server services that are adapted to interface with each provider. In some implementations, there is insight and control over network, disk, CPU, and other activity giving the ability to do performance metrics analysis for a given application or service between different cloud server services as each application or service is run in a container within an instance running on the respective cloud server service. This allows for comparison between a plurality of providers for a given container driven by one or more metrics such as cost, flexibility, and performance. The instances which runs the one or more containers can be scaled up and down to a desired workload performance. Replication of images between providers can allow for seamless changing between providers based on changing goals as well as distribution of workload.

Claims (55)

1. A method comprising:

transmitting a plurality of deployments, each of the deployments adapted for executing using a respective cloud server service of a plurality of cloud server services, the plurality of deployments comprising instructions that when executed by the respective cloud server service:

creates a container within an instance running using the respective cloud server service, wherein the instance is configured to provide one or more parameters to the container for controlling one or more metrics for deployment;

monitors the performance of the deployment by comparing the one or more metrics with a respective threshold value;

receives a request comprising information associated with the deployment; and

updates a parameter associated with the deployment based on the received request, wherein the parameter is associated with one of bandwidth, latency, processing capability, or computer memory of the container;

receiving a first request comprising information associated with changing one or more of the plurality of deployments, wherein the information associated with changing one or more of the plurality of deployments comprises an image of data needed to load the respective container;

determining one or more of the plurality of deployments to change based on the first request, wherein at least one of the plurality of deployments does not meet a threshold value of at least one metric; and

transmitting a respective request to the one or more of the plurality of deployments based on the determination, the respective request causing the one or more of the plurality of deployments to update the parameter.

2. The method of claim 1 , wherein determining the one or more of the plurality of deployments to change based on the first request comprises application of a machine learning algorithm to the first request.

3. The method of claim 2 , wherein the machine learning algorithm accesses at least one metric from a group comprising cost, performance, reliability and time to deliver and analyzing the received request comprising information comprises:

comparing each of the one or more of the plurality of deployments to the at least one metric; and

determining the respective one or more of the plurality of deployments does not meet a threshold value of the at least one metric.

4. The method of claim 1 , wherein each of the plurality of deployments further comprises instructions executed by the respective cloud server service to:

receive a second request comprising information associated with changing one or more of the plurality of deployments; and

alter a parameter associated with the instance based on the analysis of the second received request.

5. The method of claim 4 , wherein the parameter associated with the instance is at least one of bandwidth, latency, processing capability, or computer memory.

6. The method of claim 1 , wherein a plurality of the plurality of deployments comprise an image associated with the container and synchronize updates to the image associated with the container between the plurality of the plurality of deployments.

7. A system comprising: one or more processors;

a network interface; and

a computer storage device storing instructions, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

transmitting, via the network interface, a plurality of deployments, each of the deployments adapted for executing using a respective cloud server service of a plurality of cloud server service, each of the plurality of deployments comprising instructions to:

create a container within an instance running using the respective cloud server service, wherein the instance is configured to provide one or more parameters to the container for controlling one or more metrics for deployment;

monitor the performance of the deployment by comparing the one or more metrics with a respective threshold value;

receive a request comprising information associated with the deployment; and

update a parameter associated with the deployment based on the received request wherein the parameter is associated with one of bandwidth, latency, processing capability, or computer memory of the container;

receiving a first request comprising information associated with changing one or more of the plurality of deployments, wherein the information associated with changing one or more of the plurality of deployments comprises an image of data needed to load the respective container;

determining one or more of the plurality of deployments to change based on the first request, wherein at least one of the plurality of deployments does not meet a threshold value of at least one metric; and

transmitting, via the network interface, a respective request to the one or more of the plurality of deployments based on the determination, the respective request causing the one or more of the plurality of deployments to update the parameter.

8. The system of claim 7 , wherein determining the one or more of the plurality of deployments to change based on the first request comprises application of a machine learning algorithm to the first request.

9. The system of claim 8 , wherein the machine learning algorithm accesses at least one metric from a group comprising cost, performance, reliability and time to deliver and analyzing the received request comprising information comprises:

comparing each of the one or more of the plurality of deployments to the at least one metric; and

determining the respective one or more of the plurality of deployments does not meet a threshold value of the at least one metric.

10. The system of claim 7 , wherein each of the plurality of deployments further comprises instructions executed by the respective cloud server service to:

receive a second request comprising information associated with changing one or more of the plurality of deployments; and

alter a parameter associated with the instance based on the analysis of the second received request.

11. The system of claim 10 , wherein the parameter associated with the instance is at least one of bandwidth, latency, processing capability, or computer memory.

12. The system of claim 7 , wherein a plurality of the plurality of deployments comprise an image associated with the container and synchronize updates to the image associated with the container between the plurality of the plurality of deployments.

13. A non-transitory computer-readable medium having stored computer-executable instructions that, when executed by one or more processors of a computer system cause the computer system to perform a process comprising:

transmitting a plurality of deployments, each of the deployments adapted for executing using a respective cloud server service of a plurality of cloud server services, the plurality of deployments comprising instructions that when executed by the respective cloud server service:

creates a container within an instance running using the respective cloud server service, wherein the instance is configured to provide one or more parameters to the container for controlling one or more metrics for deployment;

monitors the performance of the deployment by comparing the one or more metrics with a respective threshold value;

receives a request comprising information associated with the deployment; and

updates a parameter associated with the deployment based on the received request, wherein the parameter is associated with one of bandwidth, latency, processing capability, or computer memory of the container;

receiving a first request comprising information associated with changing one or more of the plurality of deployments, wherein the information associated with changing one or more of the plurality of deployments comprises an image of data needed to load the respective container;

determining one or more of the plurality of deployments to change based on the first request wherein at least one of the plurality of deployments does not meet a threshold value of at least one metric: and

transmitting a respective request to the one or more of the plurality of deployments based on the determining, the respective request causing the one or more of the plurality of deployments to update the parameter.

14. The non-transitory computer-readable medium of claim 13 , wherein determining the one or more of the plurality of deployments to change based on the first request comprises application of a machine learning algorithm to the first request.

15. The non-transitory computer-readable medium of claim 14 , wherein the machine learning algorithm accesses at least one metric from a group comprising cost, performance, reliability and time to deliver and analyzing the received request comprising information comprises:

comparing each of the one or more of the plurality of deployments to the at least one metric; and

determining the respective one or more of the plurality of deployments does not meet a threshold value of the at least one metric.

16. The non-transitory computer-readable medium of claim 13 , wherein each of the plurality of deployments further comprises instructions executed by the respective cloud server service to:

receive a second request comprising information associated with changing one or more of the plurality of deployments; and

alter a parameter associated with the instance based on the analysis of the second received request.

17. The non-transitory computer-readable medium of claim 16 , wherein the parameter associated with the instance is at least one of bandwidth, latency, processing capability, or computer memory.

Assignments (3)
CONFIRMATORY LICENSE Recorded Mar 10, 2021
From: UCHICAGO ARGONNE, LLC
To: UNITED STATES DEPARTMENT OF ENERGY
Reel/Frame 055546/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2020
From: BOISVERT, SEBASTIEN
To: UCHICAGO ARGONNE, LLC
Reel/Frame 051542/0894 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2019
From: MURPHY-OLSON, DANIEL; AYDELOTT, RYAN; BOISVERT, SEBASTIEN
To: UCHICAGO ARGONNE, LLC
Reel/Frame 050991/0249 →
Continuity (2)
Provisional Application 62402959 · Sep 30, 2016
Related Publication 20180095778A1 · Apr 5, 2018
Cited By (1)
US 12,206,595