IP Library › Granted Patent US 11,689,450
Granted Patent B2
US 11,689,450 · App. 17/544,494 · Granted Jun 27, 2023

Routing application calls

Inventors: Bolivar Santos Perez Pereira (Porto Alegre, BR); David Briemann (Heidelberg, DE)
Assignee: SAP SE
H04L45/306G06F9/547H04L45/52H04L61/457H04L61/4511H04L61/5007H04L67/561H04L67/63H04L63/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,689,450
App. No.
17/544,494
Granted
Jun 27, 2023
Kind
B2
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 (55)

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 internet protocol (IP) address corresponding to a domain address of a second application;

assigning, by the one or more computing devices, an unused 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;

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; and

forwarding, by the one or more computing devices, the call to the second application using a route associated with the domain address.

2. The computer-implemented method of claim 1 , further comprising querying, by the one or more computing devices, a metadata service to retrieve the route associated with the domain address.

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 associated with the domain address, received from a metadata service; and

identifying, by the one or more computing devices, the route associated with the domain address from the storage device.

4. The computer-implemented method of claim 1 , wherein the first application resides on a first sub-system, and the first sub-system comprises a plurality of destination ports.

5. The computer-implemented method of claim 4 , wherein each of the plurality of destination ports is configured to support a different communication protocol.

6. 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 associated with the domain address and the routing protocol;

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

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, wherein the processor is 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;

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; and

forward the call to the second application using a route associated with the domain address.

9. The system of claim 8 , the processor further configured to query a metadata service to retrieve the route associated with the domain address.

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 associated with the domain address, received from a metadata service; and

identify the route associated with the domain address from the storage device.

11. The system of claim 8 , wherein the first application resides on a first sub-system, and the first sub-system comprises a plurality of destination ports.

12. The system of claim 11 , wherein each of the plurality of destination ports is configured to support a different communication protocol.

13. 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 associated with the domain address and the routing protocol; and

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

14. The system of claim 8 , 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;

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; and

forwarding the call to the second application using a route associated with the domain address.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise querying a metadata service to retrieve the route associated with the domain address.

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 associated with the domain address, received from a metadata service; and

identifying the route associated with the domain address 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 associated with the domain address 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 15 , wherein the first application resides on a first sub-system, and the first sub-system comprises a plurality of destination ports.

20. The non-transitory computer-readable medium of claim 19 , wherein each of the plurality of destination ports is configured to support a different communication protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: PEREIRA, BOLIVAR SANTOS PEREZ; BRIEMANN, DAVID
To: SAP SE
Reel/Frame 058394/0431 →
Continuity (2)
Continuation 17096478 · Nov 12, 2020
Related Publication 20220150161A1 · May 12, 2022
Cited By (1)
US 12,562,986