IP Library › Granted Patent US 9,158,586
Granted Patent B2
US 9,158,586 · App. 13/269,947 · Granted Oct 13, 2015

Systems and methods for managing cloud computing resources

Inventor: Keith Alan Rothschild (Dunwoody, GA)
Assignee: Cox Communications, Inc.
G06F9/5005G06F3/067G06F9/5083H04L67/10
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,158,586
App. No.
13/269,947
Granted
Oct 13, 2015
Kind
B2
Abstract

Systems and methods for managing cloud computing resources are provided. A plurality of available cloud computing servers may be identified by a cloud computing resource manager (“CCRM”). The CCRM may include one or more computers. The initiation of one or more processes on one or more servers included in the plurality of cloud computing servers may be directed by the CCRM. Operational data associated with the operation of the one or more processes and network data associated with network timing delays between the one or more servers and one or more client devices in communication with the one or more servers may be obtained by the CCRM. Based at least in part upon the operational data and the network data, the distribution of resources among the plurality of cloud computing servers may be managed by the CCRM.

Claims (61)

1. A method, comprising:

identifying, by a cloud computing resource manager (CCRM) comprising one or more computers, a plurality of available cloud computing servers;

directing, by the CCRM, the initiation of one or more processes on a first server of the plurality of cloud computing servers in communication with a second server of the plurality of cloud computing servers over a first communication link, and the second server in communication with a third server of the plurality of cloud computing servers over a second communication link, wherein the first server, the second server, and the third server implement at least a portion of the one or more processes in response to a request from a client device that is remote from the plurality of cloud computing servers;

obtaining, by the CCRM, operational data associated with the operation of the one or more processes and network data associated with respective network timing delays associated with the first communication link and between the first server and the second server, the second communication link and between the second server and the third server, and a third communication link, the third communication link connecting the client device to at least one of the plurality of cloud computing servers, wherein the operational data comprises one or more indications associated with a resource threshold associated with the first server, the second server, or the third server, wherein the one or more indications comprise an indication that a resource requirement of the first server, the second server, or the third server has exceeded the resource threshold or an indication that a resource requirement of the first server, the second server, or the third server is expected to exceed the resource threshold; and

managing, by the CCRM based at least in part upon the operational data and the network data, the distribution of resources among the plurality of cloud computing servers, wherein the managing comprising comparing, by the CCRM, the network timing delays with a respective network timing delay threshold to determine the distribution.

2. The method of claim 1 , wherein identifying a plurality of available cloud computing servers comprises identifying a plurality of servers associated with a cable distribution network.

3. The method of claim 1 , wherein obtaining operational data comprises obtaining at least one of (i) data associated with allocated memory resources, (ii) data associated with available memory resources, or (iii) data associated with processor utilization.

4. The method of claim 1 , wherein obtaining operational data comprises receiving an indication that the resource requirements of at least one of the first server, the second server, or the third server have exceeded the network timing delay threshold or that the resource requirements are expected to exceed the network timing delay threshold.

5. The method of claim 1 , wherein the one or more processes comprise one or more first processes having associated cloud interface functionality, and further comprising:

obtaining, by the CCRM, data associated with the resource requirements of one or more second processes operating on at least one of the first server, the second server, or the third server, wherein the one or more second processes do not have associated cloud interface functionality,

wherein managing the distribution of resources comprises managing the distribution of resources based at least in part upon the data associated with the one or more second processes.

6. The method of claim 1 , wherein managing the distribution of resources comprises:

identifying, by the CCRM, a process included in the one or more processes that requires additional resources; and

allocating, by the CCRM, additional resources to a server executing the process.

7. The method of claim 1 , wherein managing the distribution of resources comprises:

identifying, by the CCRM, a process included in the one or more processes that requires additional resources, wherein the process is executing on the first server; and

initiating, by the CCRM, a second instance of the process on a fourth server-included in the plurality of cloud computing servers.

8. The method of claim 7 , further comprising:

directing, by the CCRM, a transitioning of the process from the first server to the fourth server.

9. The method of claim 7 , further comprising:

balancing, by the CCRM, a processing load between a first instance of the process and the second instance of the process.

10. The method of claim 1 , wherein managing the distribution of resources among the plurality of cloud computing servers comprises:

identifying, by the CCRM, an event associated with an increase of existing network timing delays associated with at least one of the first, the second, or the third communication links;

determining, by the CCRM, the respective network timing delay threshold; and

further managing the distribution of resources based at least in part upon the identified event.

11. The method of claim 1 , further comprising:

determining, by the CCRM, respective priorities for a first process and second process included in the one or more processes,

wherein managing the distribution of resources comprises managing the distribution of resources based at least in part upon the determined priorities.

12. The method of claim 1 , further comprising:

generating, by the CCRM, a utilization report associated with at least one of the plurality of available cloud computing servers.

13. A system, comprising:

at least one memory operable to store computer-executable instructions; and

at least one hardware processor configured to access the at least one memory and execute the computer-executable instructions to:

identify a plurality of available cloud computing servers;

identify one or more processes executed on a first server of the plurality of cloud computing servers in communication with a second server of the plurality of cloud computing servers over a first communication link, and the second server in communication with a third server of the plurality of cloud computing servers over a second communication link, wherein the execution is in response to a request from a client device that is remote from the plurality of cloud computing servers;

obtain operational data associated with the operation of the one or more processes and network data associated with respective network timing delays associated with the first communication link and between the first server and the second server, the second communication link and between the second server and the third server, and a third communication link, the third communication link connecting the client device to at least one of the plurality of cloud computing servers, wherein the operational data comprises one or more indications associated with a resource threshold associated with the first server, the second server, or the third server, wherein the one or more indications comprise an indication that a resource requirement of the first server, the second server, or the third server has exceeded the resource threshold or an indication that a resource requirement of the first server, the second server, or the third server is expected to exceed the resource threshold; and

manage, based at least in part upon the operational data and the network data, the distribution of resources among the plurality of cloud computing servers, wherein the managing comprising comparing, by the CCRM, the network timing delays with a respective network timing delay threshold to determine the distribution.

14. The system of claim 13 , wherein the plurality of available cloud computing servers comprises a plurality of servers associated with a cable distribution network.

15. The system of claim 13 , wherein the operational data comprises at least one of (i) data associated with allocated memory resources, (ii) data associated with available memory resources, or (iii) data associated with processor utilization.

16. The system of claim 13 , wherein the obtained operational data comprises an indication that the resource requirements of at least one of the first server, the second server, or the third server have exceeded the network timing delay threshold or that the resource requirements are expected to exceed the network timing delay threshold.

17. The system of claim 13 , wherein the one or more processes comprise one or more first processes having associated cloud interface functionality, and

wherein the at least one processor is further configured to execute the computer-executable instructions to:

obtain data associated with the resource requirements of one or more second processes operating on at least one of the first server, the second server, or the third server, wherein the one or more second processes are not associated with cloud interface functionality; and

manage the distribution of resources based at least in part upon the data associated with the one or more second processes.

18. The system of claim 13 , wherein the at least one processor is configured to manage the distribution of resources by executing the computer-executable instructions to:

identify a process included in the one or more processes that requires additional resources; and

allocate additional resources to a server executing the process.

19. The system of claim 13 , wherein the at least one processor is configured to manage the distribution of resources by executing the computer-executable instructions to:

identify a process included in the one or more processes that requires additional resources, wherein the process is executing on the first serve; and

direct initiation of a second instance of the process on a fourth server included in the plurality of cloud computing servers.

20. The system of claim 19 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

direct at least one of (i) a transitioning of the process from the first server to the fourth server or (ii) a balancing of a processing load between a first instance of the process and the second instance of the process.

21. The system of claim 13 , wherein the at least one processor is configured to manage the distribution of resources by executing the computer-executable instructions to:

identify an event associated with an increase of existing network timing delays associated with at least one of the first, the second, or the third communication links;

determine the respective network timing delay threshold; and

further manage the distribution of resources based at least in part upon the identified event.

22. The system of claim 13 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

determine respective priorities for a first process and second process included in the one or more processes; and

manage the distribution of resources based at least in part upon the determined priorities.

23. The system of claim 13 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

generate a utilization report associated with at least one of the plurality of available cloud computing servers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2011
From: ROTHSCHILD, KEITH ALAN
To: COX COMMUNICATIONS, INC.
Reel/Frame 027038/0284 →
Continuity (1)
Related Publication 20130091284A1 · Apr 11, 2013