IP Library Granted Patent US 9,098,346
Granted Patent B2
US 9,098,346 · App. 13/590,833 · Granted Aug 4, 2015

Cloud services layer dynamic API

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,098,346
App. No.
13/590,833
Granted
Aug 4, 2015
Kind
B2
Abstract

A network device receives a first file having a service-specific Application Programming Interface (API) definition for a first cloud service, and loads the service-specific API definition for the first cloud service into a Cloud Services Layer (CSL) API. The network device receives a service request involving the first cloud service, and handles, at the CSL API, the service request using the service-specific API definition for the first cloud service.

Claims (77)

1. A method, comprising:

receiving, at a cloud services layer (CSL) Application Programming Interface (API), a first file having a service-specific API definition for a first cloud service;

loading the service-specific API definition for the first cloud service into the CSL API;

receiving, at the CSL API from a client associated with a user, a service request in an API stream via an API call included in a batch of multiple service requests;

consulting, by the CSL API, a database, storing information related to identities of a plurality of users and functionalities for restricting access to and control of a plurality of cloud services, to identify the user;

determining, at the CSL API, whether the identified user is authorized to access the first cloud service; and

handling, at the CSL API and based on a determination that the identified user is authorized to access the first cloud service, the service request involving the first cloud service using the service-specific API definition for the first cloud service.

2. The method of claim 1 , further comprising:

receiving, at the CSL API, a second file having a revised service-specific API definition for the first cloud service which contains changes to the service-specific API definition;

loading the revised service-specific API definition for the first cloud service into the CSL API to replace the previous service-specific API definition for the first cloud service; and

handling, at the CSL API, another service request involving the first cloud service using the revised service-specific API definition for the first cloud service.

3. The method of claim 1 , further comprising:

receiving, at the CSL API, a second file having a service-specific API definition for a second cloud service;

loading the service-specific API definition for the second cloud service into the CSL API; and

handling, at the CSL API, a service request involving the second cloud service using the service-specific API definition for the second cloud service.

4. The method of claim 1 , wherein handling the service request involving the first cloud service comprises:

packaging the first service request involving the first cloud service into a CSL format, based on the service-specific API definition for the first cloud service, to generate a job submission.

5. The method of claim 4 , wherein handling the service request involving the first cloud service further comprises:

delivering the job submission from the CSL API to a job controller,

receiving, from the job controller, a confirmation message indicating creation of a job corresponding to the service request, and

sending the confirmation message to the client device.

6. The method of claim 5 , further comprising:

orchestrating, at the job controller, the job to cause a service node to execute the first cloud service based on the job submission.

7. The method of claim 6 , further comprising:

determining a service controller associated with the first cloud service; and

delivering at least a portion of the job to the determined service controller for execution by the first cloud service.

8. The method of claim 1 , wherein receiving a service request comprises:

receiving a representational state transfer (REST) API call.

9. A network device, comprising:

a communication interface coupled to a network;

a processing unit configured to implement a cloud services layer (CSL) Application Programming Interface (API) and to:

receive, via the communication interface, a first file having a service-specific API definition for a first cloud service,

load the service-specific API definition for the first cloud service into the CSL API,

receive, via the communication interface, a service request involving the first cloud service, wherein the service request is in an API stream via an API call included in a batch of multiple service requests and received from a client associated with a user,

consult a database, storing information related to identities of a plurality of users and functionalities for restricting access to and control of a plurality of cloud services, to identify the user;

determine whether the identified user is authorized to access the first cloud service; and

handle, at the CSL API and based on a determination that the identified user is authorized to access the first cloud service, the service request using the service-specific API definition for the first cloud service.

10. The device of claim 9 , where the processing unit is further configured to:

receive, via the communication interface, a second file having a revised service-specific API definition for the first cloud service,

load the revised service-specific API definition for the first cloud service into the CSL API to replace the previous service-specific API definition for the first cloud service,

receive, via the communication interface, another service request involving the first cloud service, and

handle, at the CSL API, the other service request using the revised service-specific API definition for the first cloud service.

11. The network device of claim 9 , where the processing unit is further configured to:

receive, via the communication interface, a second file having a service-specific API definition for a second cloud service,

load the service-specific API definition for the second cloud service into the cloud services API layer,

receive, via the communication interface, a service request involving the second cloud service, and

handle, at the CSL API, the service request involving the second cloud service using the service-specific API definition.

12. The network device of claim 9 , wherein, when handling the service request involving the first cloud service, the processing unit is further configured to:

package the service request involving the first cloud service into a cloud services layer (CSL) format, based on the service-specific API definition for the first cloud service, to generate a job submission.

13. The network device of claim 12 , wherein the processing unit is further configured to implement one or more job controllers and wherein, when handling the service request involving the first cloud service, the processing unit is further configured to:

deliver the job submission to one of the one or more job controllers,

receive, from the job controller, a confirmation message indicating creation of a job corresponding to the service request, and

send the confirmation message to the client device.

14. The network device of claim 13 , wherein the processing unit, when implementing the one of the one or more job controllers, is configured to:

orchestrate the job to cause a service node to execute the first cloud service based on the job submission.

15. The network device of claim 14 , wherein the processing unit, when implementing the one of the one or more controllers, is configured to:

determine a service controller associated with the first cloud service, and

deliver at least a portion of the job to the determined service controller for execution by the first cloud service.

16. A non-transitory computer-readable medium containing instructions executable by at least one processor, the computer-readable medium comprising:

one or more instructions for receiving a first file having a service-specific Application Programming Interface (API) definition for a first cloud service;

one or more instructions for loading the service-specific API definition for the first cloud service into a cloud services layer (CSL) API;

one or more instructions for receiving a service request involving the first cloud service, wherein the first service request is in an API stream via an API call included in a batch of multiple service requests and received from a client associated with a user;

one or more instructions for consulting a database, storing information related to identities of a plurality of users and functionalities for restricting access to and control of a plurality of cloud services, to identify the user;

one or more instructions for determining whether the identified user is authorized to access the first cloud service; and

one or more instructions for handling, at the CSL API and based on a determination that the identified user is authorized to access the first cloud service, the service request using the service-specific API definition for the first cloud service.

17. The non-transitory computer-readable medium of claim 16 , further comprising:

one or more instructions for receiving a second file having a revised service-specific API definition for the first cloud service;

one or more instructions for loading the revised service-specific API definition for the first cloud service into the CSL API to replace the previous service-specific API definition for the first cloud service;

one or more instructions for receiving another service request involving the first cloud service; and

one or more instructions for handling, at the CSL API, the other service request using the revised service-specific API definition for the first cloud service.

18. The non-transitory computer-readable medium of claim 16 , further comprising:

one or more instructions for receiving a second file having a service-specific API definition for a second cloud service;

one or more instructions for loading the service-specific API definition for the second cloud service into the cloud services API layer,

one or more instructions for receiving a service request involving the second cloud service, and

one or more instructions for handling, at the cloud services layer API, the service request involving the second cloud service using the service-specific API definition.

19. The non-transitory computer-readable medium of claim 16 , further comprising:

one or more instructions for packaging the service request involving the first cloud service into a CSL format, based on the service-specific API definition for the first cloud service, to generate a job submission.

Assignments (3)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: VERIZON PATENT AND LICENSING INC.
To: SALESFORCE.COM, INC.
Reel/Frame 046642/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2012
From: ROBB, TERENCE A.; LACEY, WILLIAM M.; HARRIS, ROGER D.
To: VERIZON PATENT AND LICENSING, INC.
Reel/Frame 028822/0627 →