IP Library Granted Patent US 9,584,439
Granted Patent B2
US 9,584,439 · App. 14/847,432 · Granted Feb 28, 2017

Pluggable allocation in a cloud computing system

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,584,439
App. No.
14/847,432
Granted
Feb 28, 2017
Kind
B2
Abstract

In one embodiment, a cloud computing system provides user extensibility by providing a plugin interface for major systems. Plugin interfaces for a compute service, object service, network service, authentication and authorization service, message service, and image service are disclosed. One or more of the plugin interfaces can be used to alter the allocation of virtual to physical resources across multiple services. Compound services and smart allocation facilities are possible with user-directed modification.

Claims (30)

1. A cloud computing system, the system comprising:

a compute service, the compute service including a request application programming interface (API), an allocator, and a physical resource pool; the allocator including a processor, a computer-readable storage medium, and a network interface, and a compute plug-in facility; the physical resource pool including a plurality of information processing devices, each information processing device including a processor, a computer-readable medium, and network interface;

a network service logically coupling the request API, the allocator and the physical resource pool;

wherein the allocator is operative to instantiate one or more virtual resources based on one or more requests received via the request API, and wherein each virtual resource, when instantiated, is associated with one of the plurality of physical resources according to an allocation policy; and wherein there is a default allocation policy;

wherein the compute plug-in facility further comprises a plug-in API, and wherein the compute plug-in facility is operable to modify the allocation policy in response to a request to use a non-default allocation policy via the plug-in API; and wherein the subsequent association of virtual resources with physical resources is directed by the non-default allocation policy.

2. The cloud computing system of claim 1 , wherein the default allocation policy is provided by a first party and the non-default allocation policy is provided by a second party.

3. The cloud computing system of claim 2 , wherein the physical resource pool is controlled by the first party and resources from the physical resource pool are temporarily provided to the second party.

4. The cloud computing system of claim 1 , wherein the virtual resources include one or more of a logical container, an operating environment, and a virtual router.

5. The cloud computing system of claim 1 , wherein the network service includes a default packet routing policy, a default packet filtering policy, and a network plug-in facility; and wherein the network plug-in facility is operable to modify one of the default packet routing policy and the default packet filtering policy in response to a request to use a non-default routing policy; and wherein the subsequent routing and/or filtering of packets is directed by the non-default packet routing policy.

6. The cloud computing system of claim 5 , wherein the default routing policy is provided by a first party and the non-default routing policy is provided by a second party.

7. The cloud computing system of claim 1 , wherein the system further comprises an authentication and authorization service.

8. The cloud computing system of claim 7 , wherein the authentication and authorization service includes a plug-in facility; and wherein requests received via the request API are authenticated via the plug-in facility.

9. A cloud computing system, the system comprising:

a storage service, a compute service, and a physical resource pool,

the storage service including a storage request application programming interface (API) and a storage allocator, the storage allocator including a processor, a computer-readable storage medium, and a network interface, and a storage plug-in facility;

the compute service including a compute request API and a compute allocator, the compute allocator including a processor, a computer-readable storage medium, and a network interface, and a compute plug-in facility;

the physical resource pool including a plurality of information processing devices, each information processing device including a processor, a computer-readable medium, and network interface;

wherein the storage allocator is operative to associate one or more objects accessed via the storage request API with one or more of the plurality of physical resources according to a storage allocation policy; and wherein there is a default storage allocation policy;

wherein the storage plug-in facility further comprises a storage plug-in API, and wherein the storage plug-in facility is operable to modify the storage allocation policy in response to a request to use a non-default storage allocation policy via the storage plug-in API; and wherein the subsequent association of objects with physical resources by the storage allocator is directed by the non-default allocation policy;

wherein the compute allocator is operative to instantiate one or more virtual resources based on one or more requests received via the compute request API, and wherein each virtual resource, when instantiated, is associated with one of the plurality of physical resources according to a compute allocation policy; and wherein there is a default compute allocation policy; and

wherein the compute plug-in facility further comprises a compute plug-in API, and wherein the compute plug-in facility is operable to modify the compute allocation policy in response to a request to use a non-default compute allocation policy via the compute plug-in API; and wherein the subsequent association of virtual resources with physical resources by the compute allocator is directed by the non-default allocation policy.

10. The cloud computing system of claim 9 , wherein the default storage allocation policy is provided by a first party and the non-default storage allocation policy is provided by a second party.

11. The cloud computing system of claim 10 , wherein the physical resource pool is controlled by the first party and resources from the physical resource pool are temporarily provided to the second party.

12. The cloud computing system of claim 9 , wherein the default compute allocation policy is provided by a first party and the non-default compute allocation policy is provided by a second party.

13. The cloud computing system of claim 12 , wherein the physical resource pool is controlled by the first party and resources from the physical resource pool are temporarily provided to the second party.

14. The cloud computing system of claim 9 , wherein the network service includes a default packet routing policy, a default packet filtering policy, and a network plug-in facility; and wherein the network plug-in facility is operable to modify one of the default packet routing policy and the default packet filtering policy in response to a request to use a non-default routing policy; and wherein the subsequent routing and/or filtering of packets is directed by the non-default packet routing policy.

15. The cloud computing system of claim 14 , wherein the default routing policy is provided by a first party and the non-default routing policy is provided by a second party.

16. The cloud computing system of claim 9 , wherein the system further comprises an authentication and authorization service.

17. The cloud computing system of claim 16 , wherein the authentication and authorization service includes a plug-in facility; and wherein requests received via the storage plug-in API and compute plug-in API are authenticated via the plug-in facility.

18. The cloud computing system of claim 9 , wherein the storage allocator is operative to associate one or more objects stored via the storage API with one of the plurality of information processing devices from the physical resource pool; and wherein the storage plug-in facility is operable to modify the compute allocation policy in response to a request to use a non-default allocation policy; and wherein the subsequent association of virtual resources with physical resources minimizes the latency between the virtual resources instantiated by the compute allocator and the objects stored via the storage service.

Assignments (6)
RELEASE OF PATENT SECURITIES Recorded Mar 13, 2024
From: CITIBANK, N.A.
To: RACKSPACE US, INC.
Reel/Frame 066795/0177 →
SECURITY AGREEMENT (FIRST LIEN) Recorded Mar 13, 2024
From: RACKSPACE US, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066795/0282 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 40564 FRAME: 914. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: RACKSPACE US, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048658/0637 →
SECURITY AGREEMENT Recorded Nov 4, 2016
From: RACKSPACE US, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040564/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2015
From: LEAFE, EDWARD; WALSH, ALEXANDER; VOCCIO, PAUL; MESSERLI, ANTONY JOEL; THIER, CHARLES B; DICKINSON, JOHN A.; HOLT, GREGORY LEE; BEHRENS, CHRIS; MORRIS, TREY EUGENE; DIETZ, MATTHEW CHARLES; KOLKER, JASON LUVERN; SAWALHA, ZIAD; SRIKRISHNAN, YOGESHWAR; MATHEWS, WILLIAM RANDOLPH, IV; ISHAYA, VISHVANANDA
To: RACKSPACE US, INC.
Reel/Frame 036518/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2015
From: LEAFE, EDWARD; WALSH, ALEXANDER; VOCCIO, PAUL; MESSERLI, ANTONY JOEL; THIER, CHARLES B.; DICKINSON, JOHN; HOLT, GREGORY LEE; BEHRENS, CHRIS; EUGENE, TREY; CHARLES, MATTHEW; LUVERN, JASON; SAWALHA, ZIAD; SRIKRISHNAN, YOGESHWAR; MATHEW, WILLIAM RANDOLPH, IV; ISHAYA, VISHVANANDA
To: RACKSPACE US, INC.
Reel/Frame 036511/0105 →