IP Library › Granted Patent US 12,001,894
Granted Patent B2
US 12,001,894 · App. 17/725,131 · Granted Jun 4, 2024

Component-aware rest API routing gateway

Inventor: Andrew MacGaffey (Carol Stream, IL)
Assignee: MetaFluent, LLC
G06F9/54G06F16/955
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 12,001,894
App. No.
17/725,131
Granted
Jun 4, 2024
Kind
B2
Abstract

Embodiments perform gateway routing by receiving an application programming interface (“API”) request for an API from a client for a resource from a first endpoint, wherein a plurality of endpoints each include an instance of the API and each endpoint is associated with a unique identifier. The first API request includes a path that specifies a single unique identifier. Embodiments route the first API request to the first endpoint associated with the single unique identifier.

Claims (51)

1. A method of routing client provided application programming interface (API) requests via an API gateway, the method comprising:

receiving, by the API gateway, an API request for an API from a client for a resource from one or more endpoints of a plurality of endpoints, wherein each of the plurality of endpoints each comprise an instance of the API, is remote from the API gateway, is registered with the API gateway using a unique identifier, and is represented by a proxy in the API gateway, the API request comprising a uniform resource identifier (“URI”);

determining whether the URI provided by the client comprises an expression provided by the client, wherein the expression comprises one or more predicates, or a wild-card, or whether the URI comprises a Universally Unique ID (“UUID”) specifying a single unique endpoint;

when the URI comprises the expression, selecting multiple of the plurality of endpoints based on the expression and routing, by the API gateway, the API request to the selected endpoints, each selected endpoint having the same particular API type and API version;

receiving, by the API gateway, a plurality of responses to the request from a plurality of the selected endpoints;

aggregating, by the API gateway, the plurality of responses into an array of responses; and

when the URI comprises the UUID, routing, by the API gateway, the API request to the single unique endpoint.

2. The method of claim 1 ,

wherein the array of responses comprises a JavaScript Object Notation (JSON) array.

3. The method of claim 1 , wherein multiple instances of the API are located in a single business process.

4. The method of claim 1 , further comprising:

receiving a REST POST message comprising a POST wildcard expression, the POST message comprising an operation;

resolving the POST wildcard expression to identify a plurality of POST API endpoints; and

performing the operation at each of the plurality of POST API endpoints.

5. The method of claim 1 , wherein the resource is an API document, wherein the API document defines return values of GET operations as arrays.

6. The method of claim 1 , wherein the resource is an API document representing the API as defined by a corresponding endpoint.

7. The method of claim 1 , wherein each endpoint comprises a software component that provides a business application function.

8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the processors to route client provided application programming interface (API) requests via an API gateway, the routing comprising:

receiving, by the API gateway, an API request for an API from a client for a resource from one or more endpoints of a plurality of endpoints, wherein each of the plurality of endpoints each comprise an instance of the API, is remote from the API gateway, is registered with the API gateway using a unique identifier, and is represented by a proxy in the API gateway, the API request comprising a uniform resource identifier (“URI”);

determining whether the URI provided by the client comprises an expression provided by the client, wherein the expression comprises one or more predicates, or a wild-card, or whether the URI comprises a Universally Unique ID (“UUID”) specifying a single unique endpoint;

when the URI comprises the expression, selecting multiple of the plurality of endpoints based on the expression and routing, by the API gateway, the API request to the selected endpoints, each selected endpoint having the same particular API type and API version;

receiving, by the API gateway, a plurality of responses to the request from a plurality of the selected endpoints;

aggregating, by the API gateway, the plurality of responses into an array of responses; and

when the URI comprises the UUID, routing, by the API gateway, the API request to the single unique endpoint.

9. The computer-readable medium of claim 8 , the routing further comprising:

wherein the array of responses comprises a JavaScript Object Notation (JSON) array.

10. The computer-readable medium of claim 8 , wherein multiple instances of the API are located in a single business process.

11. The computer-readable medium of claim 8 , further comprising:

receiving a REST POST message comprising a POST wildcard expression, the POST message comprising an operation;

resolving the POST wildcard expression to identify a plurality of POST API endpoints; and

performing the operation at each of the plurality of POST API endpoints.

12. The computer-readable medium of claim 8 , wherein the resource is an API document, wherein the API document defines return values of GET operations as arrays.

13. The computer-readable medium of claim 8 , wherein the resource is an API document representing the API as defined by a corresponding endpoint.

14. The computer-readable medium of claim 8 , wherein each endpoint comprises a software component that provides a business application function.

15. An application programming interface (API) gateway comprising:

one or more processors that execute instructions to perform client provided routing application programming interface (API) requests via an API gateway, the routing comprising:

receiving, by the API gateway, an API request for an API from a client for a resource from one or more endpoints of a plurality of endpoints, wherein each of the plurality of endpoints each comprise an instance of the API, is remote from the API gateway, is registered with the API gateway using a unique identifier, and is represented by a proxy in the API gateway, the API request comprising a uniform resource identifier (“URI”);

determining whether the URI provided by the client comprises an expression provided by the client, wherein the expression comprises one or more predicates, or a wild-card, or whether the URI comprises a Universally Unique ID (“UUID”) specifying a single unique endpoint;

when the URI comprises the expression, selecting multiple of the plurality of endpoints based on the expression and routing, by the API gateway, the API request to the selected endpoints, each selected endpoint having the same particular API type and API version;

receiving, by the API gateway, a plurality of responses to the request from a plurality of the selected endpoints;

aggregating, by the API gateway, the plurality of responses into an array of responses; and

when the URI comprises the UUID, routing, by the API gateway, the API request to the single unique endpoint.

16. The gateway of claim 15

wherein the array of responses comprises a JavaScript Object Notation (JSON) array.

17. The gateway of claim 15 , further comprising:

receiving a REST POST message comprising a POST wildcard expression, the POST message comprising an operation;

resolving the POST wildcard expression to identify a plurality of POST API endpoints; and

performing the operation at each of the plurality of POST API endpoints.

18. The gateway of claim 15 , wherein the resource is an API document, wherein the API document defines return values of GET operations as arrays.

19. The gateway of claim 15 , wherein the resource is an API document representing the API as defined by a corresponding endpoint.

20. The gateway of claim 15 , wherein each endpoint comprises a software component that provides a business application function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2022
From: MACGAFFEY, ANDREW
To: METAFLUENT, LLC
Reel/Frame 059654/0104 →
Continuity (2)
Provisional Application 63176968 · Apr 20, 2021
Related Publication 20230103761A1 · Apr 6, 2023