IP Library Granted Patent US 11,153,279
Granted Patent B2
US 11,153,279 · App. 16/776,735 · Granted Oct 19, 2021

Locally representing a remote application programming interface (API) endpoint within an application platform

Inventors: Paul Murray (Bristol, GB); Nicholas Randon (Bristol, GB)
Assignee: Hewlett Packard Enterprise Development LP
H04L63/0281H04L41/0806H04L61/1511H04L63/029H04L67/10H04L61/2007H04L63/0272
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,153,279
App. No.
16/776,735
Granted
Oct 19, 2021
Kind
B2
Abstract

Example implementations relate to exposing on-premise API endpoints in a cloud-based application platform. The application platform receives information regarding a forwarding proxy associated with a private network and information regarding a remote application programming interface (API) endpoint within the private network. A mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy is created by a controller of the application platform causing the forwarding client to instantiate a port corresponding to a forwarding route for the remote API endpoint based on the information regarding the forwarding proxy and the remote API endpoint. The remote API endpoint is locally represented within the application platform in a form of an instance of a service abstraction provided by the application platform.

Claims (37)

1. A computer-implemented method comprising:

receiving, by an application platform operating within a public cloud, information regarding a forwarding proxy associated with a private network and information regarding a remote application programming interface (API) endpoint within the private network;

creating, by a controller of the application platform, a mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy by causing the forwarding client to instantiate a port corresponding to a forwarding route for the remote API endpoint based on the information regarding the forwarding proxy and the remote API endpoint; and

locally representing the remote API endpoint within the application platform in a form of an instance of a service abstraction provided by the application platform by:

configuring an instance of an endpoint abstraction provided by the application platform that maps a name and port of the remote API endpoint to an address and the port of the forwarding client; and

configuring endpoint attributes of the instance of the service abstraction with a protocol of the remote API endpoint and a reference to the instance of the endpoint abstraction.

2. The computer-implemented method of claim 1 , wherein the application platform comprises a container cluster, the service abstraction comprises a container orchestrator service resource, and the endpoint abstraction comprises a container orchestrator endpoints resource.

3. The computer-implemented method of claim 2 , further comprising when the information regarding the remote API endpoint includes a domain name in a domain of the private network, creating, by the controller, a corresponding Domain Name System (DNS) entry in a private DNS zone of an upstream nameserver associated with the container cluster.

4. The computer-implemented method of claim 3 , wherein when the instance of the service abstraction has a cluster Internet Protocol (IP) address, then the corresponding DNS entry associates the cluster IP address with a name in the corresponding DNS entry.

5. The computer-implemented method of claim 3 , wherein when the instance of the service abstraction comprises a headless service, then the corresponding DNS entry associates the address and the port of the forwarding client with a name in the corresponding DNS entry.

6. The computer-implemented method of claim 1 , wherein the information regarding the forwarding proxy comprises a universal unique identifier (UUID).

7. The computer-implemented method of claim 1 , wherein the information regarding the remote API endpoint comprises a name of the remote API endpoint, an address of the remote API endpoint in an addressing scheme of the private network, a port of the remote API endpoint and a protocol used by the remote API endpoint.

8. The computer-implemented method of claim 1 , wherein said mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy facilitates communication with the remote API endpoint by a container in the application platform by allowing the container to direct network traffic intended for the remote API endpoint to the port on the forwarding client.

9. A non-transitory machine readable medium storing instructions executable by a processing resource of an application platform operating within a public cloud, the non-transitory machine readable medium comprising instructions to:

receive information regarding a forwarding proxy associated with a private network and information regarding a remote application programming interface (API) endpoint within the private network;

create, by a controller of the application platform, a mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy by causing the forwarding client to instantiate a port corresponding to a forwarding route for the remote API endpoint based on the information regarding the forwarding proxy and the remote API endpoint;

locally represent the remote API endpoint within the application platform in a form of an instance of a service abstraction provided by the application platform by:

configuring an instance of an endpoint abstraction provided by the application platform that maps a name and port of the remote API endpoint to an address and the port of the forwarding client; and

configuring endpoint attributes of the instance of the service abstraction with a protocol of the remote API endpoint and a reference to the instance of the endpoint abstraction.

10. The non-transitory machine readable medium of claim 9 , wherein the application platform comprises a container cluster, the service abstraction comprises a container orchestrator service resource, and the endpoint abstraction comprises a container orchestrator endpoints resource.

11. The non-transitory machine readable medium of claim 10 , further comprising instructions to when the information regarding the remote API endpoint includes a domain name in a domain of the private network, create, by the controller, a corresponding Domain Name System (DNS) entry in a private DNS zone of an upstream nameserver associated with the container cluster.

12. The non-transitory machine readable medium of claim 11 , when the instance of the service abstraction has a cluster Internet Protocol (IP) address, then the corresponding DNS entry associates the cluster IP address with a name in the corresponding DNS entry.

13. The non-transitory machine readable medium of claim 11 , wherein when the instance of the service abstraction comprises a headless service, then the corresponding DNS entry associates the address and the port of the forwarding client with a name in the corresponding DNS entry.

14. The non-transitory machine readable medium of claim 9 , wherein the information regarding the forwarding proxy comprises a universal unique identifier (UUID).

15. The non-transitory machine readable medium of claim 9 , wherein the information regarding the remote API endpoint comprises a name of the remote API endpoint, an address of the remote API endpoint in an addressing scheme of the private network, a port of the remote API endpoint and a protocol used by the remote API endpoint.

16. The non-transitory machine readable medium of claim 9 , wherein said mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy facilitates communication with the remote API endpoint by a container in the application platform by allowing the container to direct network traffic intended for the remote API endpoint to the port on the forwarding client.

17. A system comprising:

a processing resource; and

a non-transitory computer-readable medium, coupled to the processing resource, having stored therein instructions that when executed by the processing resource cause the processing resource to:

receive, by an application platform, information regarding a forwarding proxy associated with a private network and information regarding a remote application programming interface (API) endpoint within the private network;

create, by a controller of the application platform, a mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy by causing the forwarding client to instantiate a port corresponding to a forwarding route for the remote API endpoint based on the information regarding the forwarding proxy and the remote API endpoint;

locally represent the remote API endpoint within the application platform in a form of an instance of a service abstraction provided by the application platform by:

configuring an instance of an endpoint abstraction provided by the application platform that maps a name and port of the remote API endpoint to an address and the port of the forwarding client; and

configuring endpoint attributes of the instance of the service abstraction with a protocol of the remote API endpoint and a reference to the instance of the endpoint abstraction.

18. The system of claim 17 , wherein the application platform comprises a container cluster, the service abstraction comprises a container orchestrator service resource, and the endpoint abstraction comprises a container orchestrator endpoints resource.

19. The system claim 17 , wherein the instructions further cause the processing resource to when the information regarding the remote API endpoint includes a domain name in a domain of the private network, create, by the controller, a corresponding Domain Name System (DNS) entry in a private DNS zone of an upstream nameserver associated with the container cluster.

20. The system of claim 17 , wherein said mapping between a resource model of the application platform to a tunnel established between a forwarding client of the application platform and the forwarding proxy facilitates communication with the remote API endpoint by a container in the application platform by allowing the container to direct network traffic intended for the remote API endpoint to the port on the forwarding client.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2021
From: HEWLETT-PACKARD LIMITED
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 054909/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2020
From: MURRAY, PAUL; RANDON, NICHOLAS
To: HEWLETT-PACKARD LIMITED
Reel/Frame 051717/0469 →
Continuity (1)
Related Publication 20210243164A1 · Aug 5, 2021
Cited By (2)
US 12,580,908 US 12,665,880