IP Library › Granted Patent US 11,196,665
Granted Patent B1
US 11,196,665 · App. 17/096,478 · Granted Dec 7, 2021

Routing application calls

Inventors: Bolivar Santos Perez Pereira (Porto Alegre, BR); David Briemann (Heidelberg, DE)
Assignee: SAP SE
H04L45/306G06F9/547H04L45/52H04L61/1511H04L61/1582H04L61/2007H04L67/2804H04L67/327H04L63/0281H04L63/166
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,196,665
App. No.
17/096,478
Granted
Dec 7, 2021
Kind
B1
Abstract

Disclosed herein are system, method, and computer program product embodiments for routing communication to applications. In an embodiment, first application can transmit a connection to a second application without knowing the exact route address of the second application. An agent can intercept the connection from a first application intended for a second application. The agent can identify the route address for the second application, determine the protocol the connection was intended to be transmitted, and forward the connection based on the route address and protocol to the second application.

Claims (64)

1. A computer-implemented method for routing application calls, the computer-implemented method comprising:

receiving, by one or more computing devices, from a first application, a query to retrieve an IP address corresponding to a domain address of a second application;

assigning, by the one or more computing devices, an unused internet protocol (IP) address to the second application;

adding, by the one or more computing devices, the IP address assigned to the second application and the domain address of the second application to a lookup table;

transmitting, by the one or more computing devices, the IP address assigned to the second application to the first application;

intercepting, by the one or more computing devices, a call to the second application based on the IP address assigned to the second application, the call including a request to form a connection using the IP address assigned to the second application;

retrieving, by the one or more computing devices, the domain address of the second application using the IP address assigned to the second application from the lookup table;

identifying, by the one or more computing devices, an identifier of the second application from the domain address of the second application;

identifying, by the one or more computing devices, a route for the second application using the identifier; and

forwarding, by the one or more computing devices, the call to the second application using the route.

2. The computer-implemented method of claim 1 , the identifying the route for the second application further comprising querying, by the one or more computing devices, a metadata service to retrieve the route.

3. The computer-implemented method of claim 1 , further comprising:

storing, by the one or more computing devices, in a storage device, routes for a plurality of applications including the route for the second application, received from a metadata service; and

identifying, by the one or more computing devices, the route of the second application from the storage device.

4. The computer-implemented method of claim 1 , further comprising:

identifying, by the one or more computing devices, a routing protocol based on a destination port included in the call;

building, by the one or more computing devices, a route proxy using the route and the routing protocol;

forwarding, by the one or more computing devices, the call to the second application using the route proxy.

5. The computer-implemented method of claim 4 , wherein the route proxy includes mutual transportation layer security (TLS).

6. The computer-implemented method of claim 4 , wherein the routing protocol is TCP or HTTP.

7. The computer-implemented method of claim 1 , wherein the second application parses the call to identify relevant data included in the call to be processed by the second application.

8. A system for routing application calls, the system comprising:

a memory; and

a processor coupled to the memory, the processor configured to:

receive from a first application, a query to retrieve an internet protocol (IP) address corresponding to a domain address of a second application;

assign an unused IP address to the second application;

add the IP address assigned to the second application and the domain address of the second application to a lookup table;

transmit the IP address assigned to the second application to the first application;

intercept a call to the second application based on the IP address assigned to the second application, the call including a request to form a connection using the IP address assigned to the second application;

retrieve the domain address of the second application using the IP address assigned to the second application from the lookup table;

identify an identifier of the second application from the domain address of the second application;

identify a route for the second application using the identifier; and

forward the call to the second application using the route.

9. The system of claim 8 , wherein to identify the route for the second application, the processor is further configured to query a metadata service to retrieve the route.

10. The system of claim 8 , the processor further configured to:

store in a storage device, routes for a plurality of applications including the route for the second application, received from a metadata service; and

identify the route of the second application from the storage device.

11. The system of claim 8 , the processor further configured to:

identify a routing protocol based on a destination port included in the call;

build a route proxy using the route and the routing protocol; and

forward the call to the second application using the route proxy.

12. The system of claim 11 , wherein the route proxy includes mutual transportation layer security (TLS).

13. The system of claim 11 , wherein the routing protocol is TCP or HTTP.

14. The system of claim 11 , wherein the second application parses the call to identify relevant data included in the call to be processed by the second application.

15. A non-transitory computer-readable medium having instructions stored thereon, execution of which, by one or more processors of a device, cause the one or more processors to perform operations comprising:

receiving from a first application, a query to retrieve an internet protocol (IP) address corresponding to a domain address of a second application;

assigning an unused IP address to the second application;

adding the IP address assigned to the second application and the domain address of the second application to a lookup table;

transmitting the IP address assigned to the second application to the first application;

intercepting a call to the second application based on the IP address assigned to the second application, the call including a request to form a connection using the IP address assigned to the second application;

retrieving the domain address of the second application using the IP address assigned to the second application from the lookup table;

identifying an identifier of the second application from the domain address of the second application;

identifying a route for the second application using the identifier; and

forwarding the call to the second application using the route.

16. The non-transitory computer-readable medium of claim 15 , wherein the identifying the route for the second application further comprises querying a metadata service to retrieve the route.

17. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

storing, in a storage device, routes for a plurality of applications including the route for the second application, received from a metadata service; and

identifying the route of the second application from the storage device.

18. The non-transitory computer-readable medium of claim 15 , the operations further comprising:

identifying a routing protocol based on a destination port included in the call;

building a route proxy using the route and the routing protocol; and

forwarding the call to the second application using the route proxy.

19. The non-transitory computer-readable medium of claim 18 , wherein the route proxy includes mutual transportation layer security (TLS).

20. The non-transitory computer-readable medium of claim 15 , wherein the second application parses the call to identify relevant data included in the call to be processed by the second application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2020
From: PEREIRA, BOLIVAR SANTOS PEREZ; BRIEMANN, DAVID
To: SAP SE
Reel/Frame 054580/0812 →
Cited By (1)
US 12,281,912