US 12,438,805 B2
Dynamic API gateway routing based on request metadata
Leigh Griffin, Waterford (IE); and Pierre-Yves Chibon, Saint-Pol-de-Leon (FR)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by Red Hat, Inc., Raleigh, NC (US)
Filed on Sep. 15, 2023, as Appl. No. 18/369,029.
Application 18/369,029 is a continuation of application No. 17/861,536, filed on Jul. 11, 2022, granted, now 11,848,857.
Prior Publication US 2024/0015093 A1, Jan. 11, 2024
Int. Cl. G06F 15/173 (2006.01); G06F 15/16 (2006.01); H04L 45/12 (2022.01); H04L 45/302 (2022.01); H04L 67/561 (2022.01)
CPC H04L 45/123 (2013.01) [H04L 45/302 (2013.01); H04L 67/561 (2022.05)] 20 Claims
OG exemplary drawing
 
10. A system comprising:
a memory; and
a processing device, operatively coupled to the memory, to:
receive, at a gateway device, a request from a client device, the gateway device to provide access to a plurality of services provided by a plurality of compute nodes;
determine a geolocation of the client device based on metadata associated with the request;
determine a bandwidth of a connection between the client device and the gateway device based on the metadata associated with the request;
create a manifest based on a set of rules associated with the client device, the geolocations of the client device, the bandwidth of the connection between the client device and the gateway device, and characteristics of the plurality of services, the manifest identifying a logical view of a subset of the plurality of services provided by a subset of the plurality of compute nodes in a cluster that are available to the client device to access, wherein each of the subset of the plurality of services support the bandwidth of the connection between the client device and the gateway device;
generate a sub-cluster of the cluster based on the manifest;
identify a service unavailable via the sub-cluster in violation of the set of rules associated with the client device;
instantiate the service on a compute node located in a geographic region that is compatible with the set of rules associated with the client device;
add, to the manifest, the service in the subset of the plurality of services and the compute node in the subset of the plurality of compute nodes; and
route the request to the service on the compute node located in the geographic region based on the manifest; and
route the request to the service on the compute node located in the geographic region based on the manifest.