Method and system for providing access to remotely hosted services through a normalized application programming interface
First Claim
1. A method comprising:
- at a server system having one or more processors and memory;
receiving, from a client, a generic request to access remotely hosted services, wherein the generic request uses generic parameters;
identifying a plurality of respective remotely hosted services that correspond to the generic request, wherein the remotely hosted services are each associated with a respective Application Programming Interface (API);
for each respective remotely hosted service, translating the generic request to a respective API-specific request to access the respective remotely hosted service using API-specific parameters, wherein;
the API-specific request and the API-specific parameters are specific to the respective API of the respective remotely hosted service; and
the translating includes, for a respective generic parameter in the generic request, identifying a corresponding respective API-specific parameter in an API database storing information about API-specific parameters for multiple distinct remotely hosted services, including the respective remotely hosted service, and using the corresponding respective API-specific parameter in place of the respective generic parameter in the respective API-specific request;
for each of the plurality respective remotely hosted services, sending the respective API-specific request to the respective remotely hosted service;
in response to the requests, receiving, from a plurality of the respective remotely hosted services, respective API-specific responses, where a respective API-specific response for a respective remotely hosted service includes respective content;
generating a final response that includes content from two or more of the API-specific responses; and
transmitting, to the client, the final response.
1 Assignment
0 Petitions
Accused Products
Abstract
A server system having one or more processors and memory receives, from a client, a generic request to access remotely hosted services. The server system identifies a plurality of respective remotely hosted services that are each associated with a respective API. For each respective remotely hosted service, the server system translates the generic request to a respective API-specific request to access the respective remotely hosted service using API-specific parameters and sends the respective API-specific request to the respective remotely hosted service. In response to the requests, the server system receives, from a plurality of the respective remotely hosted services, respective API-specific responses, where a respective API-specific response for a respective remotely hosted service includes respective content. The server system generates a final response that includes content from two or more of the API-specific responses and transmits the final response to the client.
250 Citations
39 Claims
-
1. A method comprising:
-
at a server system having one or more processors and memory; receiving, from a client, a generic request to access remotely hosted services, wherein the generic request uses generic parameters; identifying a plurality of respective remotely hosted services that correspond to the generic request, wherein the remotely hosted services are each associated with a respective Application Programming Interface (API); for each respective remotely hosted service, translating the generic request to a respective API-specific request to access the respective remotely hosted service using API-specific parameters, wherein; the API-specific request and the API-specific parameters are specific to the respective API of the respective remotely hosted service; and the translating includes, for a respective generic parameter in the generic request, identifying a corresponding respective API-specific parameter in an API database storing information about API-specific parameters for multiple distinct remotely hosted services, including the respective remotely hosted service, and using the corresponding respective API-specific parameter in place of the respective generic parameter in the respective API-specific request; for each of the plurality respective remotely hosted services, sending the respective API-specific request to the respective remotely hosted service; in response to the requests, receiving, from a plurality of the respective remotely hosted services, respective API-specific responses, where a respective API-specific response for a respective remotely hosted service includes respective content; generating a final response that includes content from two or more of the API-specific responses; and transmitting, to the client, the final response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A server system for providing normalized access to Application Programming Interfaces (APIs) of one or more remotely hosted services at host servers coupled to a communications network, comprising:
-
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions executed by the one or more processors for; receiving, from a client, a generic request to access the remotely hosted services, wherein the generic request uses generic parameters; identifying a plurality of respective remotely hosted services that correspond to the generic request, wherein the remotely hosted services are each associated with a respective API of the APIs; for each respective remotely hosted service, translating the generic request to a respective API-specific request to access the respective remotely hosted service using API-specific parameters, wherein; the API-specific request and the API-specific parameters are specific to the respective API of the respective remotely hosted service; and the translating includes, for a respective generic parameter in the generic request, identifying a corresponding respective API-specific parameter in an API database storing information about API-specific parameters for multiple distinct remotely hosted services, including the respective remotely hosted service, and using the corresponding respective API-specific parameter in place of the respective generic parameter in the respective API-specific request; for each of the plurality respective remotely hosted services, sending the respective API-specific request to the respective remotely hosted service; in response to the requests, receiving, from a plurality of the respective remotely hosted services, respective API-specific responses, where a respective API-specific response for a respective remotely hosted service includes respective content; generating a final response that includes content from two or more of the API-specific responses; and transmitting, to the client, the final response. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more processors of a server system, the one or more programs comprising instructions to be executed by the one or more processors so as to:
-
receive, from a client, a generic request to access remotely hosted services, wherein the generic request uses generic parameters; identify a plurality of respective remotely hosted services that correspond to the generic request, wherein the remotely hosted services are each associated with a respective Application Programming Interface (API); for each respective remotely hosted service, translate the generic request to a respective API-specific request to access the respective remotely hosted service using API-specific parameters, wherein; the API-specific request and the API-specific parameters are specific to the respective API of the respective remotely hosted service; and the translating includes, for a respective generic parameter in the generic request, identifying a corresponding respective API-specific parameter in an API database storing information about API-specific parameters for multiple distinct remotely hosted services, including the respective remotely hosted service, and using the corresponding respective API-specific parameter in place of the respective generic parameter in the respective API-specific request; for each of the plurality respective remotely hosted services, send the respective API-specific request to the respective remotely hosted service; in response to the requests, receive, from a plurality of the respective remotely hosted services, respective API-specific responses, where a respective API-specific response for a respective remotely hosted service includes respective content; generate a final response that includes content from two or more of the API-specific responses; and transmit, to the client, the final response. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification