IP Library Granted Patent US 11,228,573
Granted Patent B1
US 11,228,573 · App. 15/917,203 · Granted Jan 18, 2022

Application programming interface exchange

Inventors: Venkatachalam Rangasamy (San Jose, CA); Muhammad Durrani (San Jose, CA); Ashwin Kamath (Sunnyvale, CA)
Assignee: Equinix, Inc.
H04L63/067G06F9/54G06F21/629H04L9/0861H04L9/3228H04L12/4641H04L67/32
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 11,228,573
App. No.
15/917,203
Granted
Jan 18, 2022
Kind
B1
Abstract

An Application Programming Interface (API) exchange located within a data center is configured to receive, from a customer, a request for access to one or more APIs corresponding to respective service provider networks and to which the API exchange provides access. Based on the request for access, the API exchange bundles the one or more APIs into an API bundle, generates a unique subscription key for accessing the API bundle, and sends the unique subscription key to the customer. The API exchange receives, from the customer, a service request for invoking a requested API of the API bundle, the service request including the unique subscription key. Upon authorizing the service request to access the API bundle based on the unique subscription key, the API exchange sends the service request to the service provider network corresponding to the requested API.

Claims (56)

1. A method comprising:

receiving, by an Application Programming Interface (API) exchange located within a data center and from a customer of the API exchange, a request for access, the request for access specifying two or more APIs of a plurality of APIs corresponding to respective service provider networks and to which the API exchange provides access, wherein each of the plurality of APIs is associated with a different corresponding API endpoint;

generating, by the API exchange and based on the request for access specifying two or more APIs, a unique subscription key for accessing the two or more APIs specified by the request for access, wherein the unique subscription key enables access to any of the two or more APIs;

storing, by the API exchange, to a profile for the customer, a list of the two or more APIs specified by the request for access and data indicative of an association between the unique subscription key and the list of the two or more APIs;

sending, by the API exchange and to the customer in response to the request for access, the unique subscription key;

receiving, by the API exchange and from the customer, a service request for invoking a requested API of the two or more APIs, the service request specifying the unique subscription key; and

upon authorizing the service request to access the requested API based on the unique subscription key and the data indicative of the association, sending, by the API exchange, the service request to the service provider network corresponding to the requested API.

2. The method of claim 1 , further comprising generating, by the API exchange, the profile for the customer,

wherein authorizing the service request to access the requested API based on the unique subscription key and the data indicative of the association comprises determining that the unique subscription key of the service request is associated with the list of the two or more APIs stored in the profile for the customer.

3. The method of claim 1 ,

wherein the service request further comprises user credentials for accessing the two or more APIs, and

wherein authorizing the service request to access the requested API based on the unique subscription key and the data indicative of the association comprises authorizing the service request to access the requested API based on the user credentials.

4. The method of claim 1 , further comprising, by the API exchange, logging into a server associated with the requested API.

5. The method of claim 1 , further comprising:

creating, by the API exchange and in response to the request for access specifying two or more APIs, a virtual local area network (VLAN) with which the customer may access the two or more APIs using the unique subscription key,

wherein receiving the service request comprises receiving, by the API exchange, the service request via the VLAN.

6. The method of claim 5 , wherein authorizing the service request to access the requested API based on the unique subscription key and the data indicative of the association comprises identifying the requested API based at least on the VLAN.

7. The method of claim 1 , further comprising creating, by the API exchange, a record of service requests by the customer to the two or more APIs.

8. The method of claim 1 , wherein each API of the two or more APIs comprises a data feed for a service of a plurality of services provided by a cloud-based services exchange point located within the data center.

9. An Application Programming Interface (API) exchange located within a data center, comprising:

a network; and

a computing system comprising one or more processors, wherein the computing system is configured to receive, from a customer of the API exchange and via the network, a request for access, the request for access specifying two or more APIs of a plurality of APIs corresponding to respective service provider networks and to which the API exchange provides access,

wherein each of the plurality of APIs is associated with a different corresponding API endpoint,

wherein the computing system is configured to generate, based on the request for access specifying two or more APIs, a unique subscription key for accessing the two or more APIs specified by the request for access, wherein the unique subscription key enables access to any of the two or more APIs,

wherein the computing system is configured to store, to a profile for the customer, a list of the two or more APIs specified by the request for access and data indicative of an association between the unique subscription key and the list of the two or more APIs,

wherein the computing system is configured to send, to the customer in response to the request for access, the unique subscription key,

wherein the computing system is configured to receive, from the customer, a service request for invoking a requested API of the two or more APIs, the service request specifying the unique subscription key, and

wherein the computing system is configured to, upon authorizing the service request to access the requested API based on the unique subscription key and the data indicative of the association, send the service request to the service provider network corresponding to the requested API.

10. The API exchange of claim 9 , further comprising:

the profile for the customer,

wherein, to authorize the service request to access the requested API based on the unique subscription key and the data indicative of the association, the computing system is configured to determine that the unique subscription key of the service request is associated with the list of the two or more APIs stored in the profile for the customer.

11. The API exchange of claim 9 ,

wherein the service request further comprises user credentials for accessing the two or more APIs, and

wherein, to authorize the service request to access the requested API based on the unique subscription key and the data indicative of the association, the computing system is further configured to authorize the service request to access the requested API based on the user credentials.

12. The API exchange of claim 9 , wherein the computing system is further configured to log into a server associated with the requested API.

13. The API exchange of claim 9 ,

wherein the computing system is further configured to create, in response to the request for access specifying two or more APIs, a virtual local area network (VLAN) with which the customer may access the two or more APIs using the unique subscription key, and

wherein, to receive the service request, the computing system is further configured to receive the service request via the VLAN.

14. The API exchange of claim 13 , wherein, to authorize the service request to access the requested API based on the unique subscription key and the data indicative of the association, the computing system is further configured to identify the requested API based at least on the VLAN.

15. The API exchange of claim 9 , wherein the computing system is further configured to create a record of service requests by the customer to the two or more APIs.

16. The API exchange of claim 9 , wherein each API of the two or more APIs comprises a data feed for a service of a plurality of services provided by a cloud-based services exchange point located within the data center.

17. A non-transitory, computer-readable medium comprising instructions, that, when executed, cause one or more processors of an Application Programming Interface (API) exchange to:

receive, from a customer of the API exchange, a request for access, the request for access specifying two or more APIs of a plurality of APIs corresponding to respective service provider networks and to which the API exchange provides access, wherein each of the plurality of APIs is associated with a different corresponding API endpoint;

generate, based on the request for access specifying two or more APIs, a unique subscription key for accessing the two or more APIs specified by the request for access, wherein the unique subscription key enables access to any of the two or more APIs;

store, to a profile for the customer, a list of the two or more APIs specified by the request for access and data indicative of an association between the unique subscription key and the list of the two or more APIs;

send, to the customer in response to the request for access, the unique subscription key;

receive, from the customer, a service request for invoking a requested API of the two or more APIs, the service request specifying the unique subscription key; and

upon authorizing the service request to access the requested API based on the unique subscription key and the data indicative of the association, send the service request to the service provider network corresponding to the requested API.

18. The computer-readable medium of claim 17 , wherein the instructions further cause the one or more processors to generate the profile for the customer, and

wherein to authorize the service request to access the requested API based on the unique subscription key and the data indicative of the association comprises determining that the unique subscription key of the service request is associated with the list of the two or more APIs stored in the profile for the customer.

19. The computer-readable medium of claim 17 ,

wherein the service request further comprises user credentials for accessing the two or more APIs, and

wherein, to authorize the service request to access the requested API based on the unique subscription key and the data indicative of the association, the instructions further cause the one or more processors to authorize the service request to access the requested API based on the user credentials.

20. The computer-readable medium of claim 17 ,

wherein the instructions further cause the one or more processors to create, in response to the request for access specifying two or more APIs, a virtual local area network (VLAN) with which the customer may access the two or more APIs using the unique subscription key, and

wherein, to receive the service request, the instructions further cause the one or more processors to receive the service request via the VLAN.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2018
From: RANGASAMY, VENKATACHALAM; DURRANI, MUHAMMAD; KAMATH, ASHWIN
To: EQUINIX, INC.
Reel/Frame 045162/0302 →
Cited By (15)
US 12,197,503 US 12,238,102 US 12,299,502 US 12,307,305 US 12,355,843 US 12,386,684 US 12,401,694 US 12,405,948 US 12,407,647 US 12,437,057 US 12,498,998 US 12,556,464 US 12,561,185 US 12,585,514 US 12,706,953