IP Library › Granted Patent US 8,631,067
Granted Patent B2
US 8,631,067 · App. 12/828,778 · Granted Jan 14, 2014

Architecture, system and method for providing a neutral application programming interface for accessing different cloud computing systems

Inventors: Robert Kelley McWhirter (Wytheville, VA); Bryan Michael Kearney (Raleigh, NC)
Assignee: Red Hat, Inc.
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 8,631,067
App. No.
12/828,778
Granted
Jan 14, 2014
Kind
B2
Abstract

A method and apparatus for providing an application programming interface for accessing multiple disparate cloud computing systems is described. In one embodiment, the method includes defining a neutral format for cloud computing system requests and responses. The method may also include providing an application programming interface that exposes the neutral format to a client computer system to enable communication between the client computer system and a plurality of different cloud computing systems via the server computer system.

Claims (38)

1. A method comprising:

defining a neutral format for cloud computing system requests and responses, the neutral format comprising attributes of an application programming interface between a client computer system and each of a plurality of different cloud computing systems; and

providing, by a processing device, the application programming interface that exposes the neutral format to the client computer system to enable communication between the client computer system and the plurality of different cloud computing systems, wherein the application programming interface to provide an abstraction of cloud computing system parameters and functions for use by the client computer system during the communication with the plurality of different cloud computing system, wherein the parameters and the functions define the attributes of the application programming interface.

2. The method of claim 1 , further comprising:

receiving a request from the client computer system, the request specifying one of the plurality of different cloud computing systems;

receiving a request for the specified cloud computing system in the neutral format; and

providing a response to the client computer system, corresponding to the request, in the neutral format.

3. The method of claim 1 , further comprising:

routing the request to a translation service to translate the request from the neutral format to a second format supported by the specified cloud computing system; and

utilizing the translation service to translate a response of the cloud computing system, corresponding to the request, from the second format to the neutral format.

4. The method of claim 3 , wherein the translation service is a driver coupled with the application programming interface and corresponds to one of the plurality of different cloud computing systems.

5. The method of claim 1 , wherein the neutral format is one of extensible markup language, JavaScript Object Notation, or YAML.

6. The method of claim 1 , wherein the request is a request for a cloud computing service to be performed by the cloud computing system.

7. The method of claim 1 , wherein each of the different cloud computing systems supports a different messaging format.

8. A non-transitory computer readable storage medium that provides instructions, which when executed on a processing device cause the processing device to perform operations comprising:

defining a neutral format for cloud computing system requests and responses, the neutral format comprising attributes of an application programming interface between a client computer system and each of a plurality of different cloud computing systems; and

providing, by the processing device, the application programming interface that exposes the neutral format to the client computer system to enable communication between the client computer system and the plurality of different cloud computing systems, wherein the application programming interface to provide an abstraction of cloud computing system parameters and functions for use by the client computer system during the communication with the plurality of different cloud computing system, wherein the parameters and the functions define the attributes of the application programming interface.

9. The non-transitory computer readable storage medium of claim 8 , further comprising:

receiving a request from the client computer system, the request specifying one of the plurality of different cloud computing systems;

receiving a request for the specified cloud computing system in the neutral format; and

providing a response to the client computer system, corresponding to the request, in the neutral format.

10. The non-transitory computer readable storage medium of claim 8 , further comprising:

routing the request to a translation service to translate the request from the neutral format to a second format supported by the specified cloud computing system; and

utilizing the translation service to translate a response of the cloud computing system, corresponding to the request, from the second format to the neutral format.

11. The non-transitory computer readable storage medium of claim 10 , wherein the translation service is a driver coupled with the application programming interface and corresponds to one of the plurality of different cloud computing systems.

12. The non-transitory computer readable storage medium of claim 8 , wherein the neutral format is one of extensible markup language, JavaScript Object Notation, or YAML.

13. The non-transitory computer readable storage medium of claim 8 , wherein the request is a request for a cloud computing service to be performed by the cloud computing system.

14. The non-transitory computer readable storage medium of claim 8 , wherein each of the different cloud computing systems supports a different messaging format.

15. A system comprising:

a memory; and

a processing device coupled with the memory to:

define a neutral format for cloud computing system requests and responses, the neutral format comprising attributes of an application programming interface between a client computer system and each of a plurality of different cloud computing systems, and

provide the application programming interface that exposes the neutral format to the client computer system to enable communication between the client computer system and a plurality of different cloud computing systems, wherein the application programming interface to provide an abstraction of cloud computing system parameters and functions for use by the client computer system during the communication with the plurality of different cloud computing system, wherein the parameters and the functions define the attributes of the application programming interface.

16. The system of claim 15 wherein the processing device to receive a request from the client computer system, the request specifying one of the plurality of different cloud computing systems, receive a request for the specified cloud computing system in the neutral format, and provide a response to the client computer system, corresponding to the request, in the neutral format.

17. The system of claim 15 wherein the processing device to route the request to a translation service to translate the request from the neutral format to a second format supported by the specified cloud computing system, and utilize the translation service to translate a response of the cloud computing system, corresponding to the request, from the second format to the neutral format.

18. The system of claim 15 wherein the each of the different cloud computing systems supports a different messaging format, the client computer system communicates with the different cloud computing systems without a need to one of reformat the request to the different messaging format, issue the request in the different messaging format, change an application in the client computer system or implement a specific protocol of the cloud computing system.

19. The method of claim 7 wherein the client computer system communicates with the different cloud computing systems without a need to one of reformat the request to the different messaging format, issue the request in the different messaging format, change an application in the client computer system or implement a specific protocol of the cloud computing system.

20. The non-transitory computer readable storage medium of claim 14 , wherein the client computer system communicates with the different cloud computing systems without a need to one of reformat the request to the different messaging format, issue the request in the different messaging format, change an application in the client computer system or implement a specific protocol of the cloud computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2010
From: MCWHIRTER, ROBERT KELLEY; KEARNEY, BRYAN MICHAEL
To: RED HAT, INC.
Reel/Frame 024627/0846 →
Continuity (1)
Related Publication 20120005262A1 · Jan 5, 2012