IP Library Granted Patent US 10,721,328
Granted Patent B2
US 10,721,328 · App. 14/836,666 · Granted Jul 21, 2020

Offering application program interfaces (APIs) for sale in cloud marketplace

Inventors: Han Chen (White Plains, NY); Nicholas C. M. Fuller (North Hills, NY); Minkyong Kim (Scarsdale, NY); Isabelle M. Rouvellou (New York, NY)
Assignee: International Business Machines Corporation
H04L67/327G06F9/5072G06F16/951H04L63/101H04L67/2823H04W12/08H04W12/00514
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 10,721,328
App. No.
14/836,666
Granted
Jul 21, 2020
Kind
B2
Abstract

To provide a client with access to an API available from a provider, a request is received from a marketplace to subscribe to the API, responsive to the client selecting the API from a catalog of the marketplace. A subscriber identifier, which is uniquely associated with the request by the client to subscribe to the selected API, is generated. An authorization record is created within a proxy; it indicates that a request by the client to invoke the API received by the proxy should be forwarded to the provider from which the API is available if the request to invoke the API includes the subscriber identifier. The generated subscriber identifier and an address of the proxy are provided to the marketplace. Thus, the client is configured to invoke the API by sending a request including the subscriber identifier to the address of the proxy.

Claims (29)

1. A method for providing a client with access to invoke an application program interface (API) available from a provider, the method comprising:

receiving from a marketplace a request to subscribe to the API, wherein the subscription request is responsive to the client exclusively selecting the API from a catalog of the marketplace;

generating a subscriber identifier specific to the selected API, wherein the client is not authorized to invoke the API until the subscriber identifier is generated responsive to the subscription request;

creating an authorization record within a proxy, the authorization record indicating that a request by the client to invoke the API received by the proxy should be forwarded to the provider from which the API is available if the request to invoke the API comprises the subscriber identifier; and

providing the generated subscriber identifier and an address of the proxy to the marketplace, whereby the client is configured to invoke the API by sending a request comprising the subscriber identifier to the address of the proxy.

2. The method of claim 1 , wherein creating the authorization record further comprises generating an API key corresponding to the subscriber identifier, storing the subscriber identifier and the API key, and providing the API key to the marketplace, whereby the request to invoke the API further comprises the API key.

3. The method of claim 2 , wherein storing the subscriber identifier and the API key comprises storing the API key in a table with the subscriber identifier as primary key.

4. The method of claim 2 , wherein the authorization record indicates that a request by the client to invoke the API received by the proxy should be forwarded to the provider from which the API is available if the request to invoke the API comprises the subscriber identifier and the API key.

5. The method of claim 1 , wherein the proxy is an API proxy used solely to control access to a set of at least one API, the set of at least one API comprising the selected API.

6. The method of claim 1 , wherein the proxy is an API proxy used solely to control access to the selected API.

7. The method of claim 1 , further comprising using an identifier of the selected API retrieved from the subscription request to determine the provider from which the selected API is available.

8. The method of claim 7 , wherein using an identifier of the selected API retrieved from the subscription request to find the provider from which the selected API is available comprises using the identifier of the selected API as primary key within a table to find the provider.

9. The method of claim 7 , wherein the identifier of the selected API is embedded in the subscription request as an HTTP (hypertext transport protocol) authentication header.

10. The method of claim 7 , wherein the identifier of the selected API is embedded in the subscription request as a proxy URL path.

11. The method of claim 7 , wherein the identifier of the selected API is embedded in the subscription request as a URL parameter.

12. The method of claim 1 , wherein the address of the proxy comprises a uniform resource locator (URL) of the proxy.

13. The method of claim 1 , further comprising using an identifier of the marketplace retrieved from the subscription request to determine whether the marketplace is registered.

14. The method of claim 13 , further comprising returning an error if the marketplace is not registered.

15. The method of claim 13 , wherein using an identifier of the marketplace retrieved from the subscription request to determine whether the marketplace is registered comprises using the identifier of the marketplace as primary key within a table.

16. The method of claim 13 , further comprising using an identifier of the selected API retrieved from the subscription request to determine whether the selected API is registered.

17. The method of claim 16 , further comprising returning an error if the marketplace or the selected API is not registered.

18. The method of claim 16 , wherein using an identifier of the marketplace retrieved from the subscription request to determine whether the marketplace is registered comprises using the identifier of the marketplace as primary key within a first table, and wherein using an identifier of the marketplace retrieved from the subscription request to determine whether the marketplace is registered comprises using the identifier of the marketplace as primary key within a second table.

19. The method of claim 18 , wherein:

creating the authorization record further comprises generating an API key corresponding to the subscriber identifier, storing the subscriber identifier and the API key, and providing the API key to the marketplace, whereby the request to invoke the API further comprises the API key; and

storing the subscriber identifier and the API key comprises storing the identifier of the marketplace, the identifier of the selected API, and the API key in a third table with the subscriber identifier as primary key.

20. The method of claim 13 , wherein:

creating the authorization record further comprises generating an API key corresponding to the subscriber identifier, storing the subscriber identifier and the API key, and providing the API key to the marketplace, whereby the request to invoke the API further comprises the API key; and

storing the subscriber identifier and the API key comprises storing the identifier of the marketplace and the API key in a table with the subscriber identifier as primary key.

21. The method of claim 1 , wherein the subscriber identifier is further specific to the client.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2015
From: CHEN, HAN; FULLER, NICHOLAS C.M.; KIM, MINKYONG; ROUVELLOU, ISABELLE M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036430/0386 →
Continuity (1)
Related Publication 20170064038A1 · Mar 2, 2017
Cited By (1)
US 12,388,703