IP Library Granted Patent US 10,069,726
Granted Patent B1
US 10,069,726 · App. 15/924,148 · Granted Sep 4, 2018

Overlay network identity-based relay

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 10,069,726
App. No.
15/924,148
Granted
Sep 4, 2018
Kind
B1
Abstract

Embodiments are directed to a relay that receives packets from a source gateway. associated with a source gateway identifier (GID) and a target GID associated with a target gateway where each GID is separate from a network address or a hostname of the source gateway or the target gateway. The relay determines a connection route based on an association between the connection route and an ingress identifier obtained from the packets The relay provides the connection route based on the source GID and the target GID. The relay determines network address information associated with the target gateway based on the connection route. And, the relay forwards the packets provided by the source gateway to the target gateway based on the network address information.

Claims (111)

1. A method for managing communication over a network using one or more network computers, wherein execution of instructions by the one or more network computers perform the method comprising:

instantiating a relay engine to perform actions including:

receiving one or more packets from a source gateway that are associated with a source gateway identifier (GID) corresponding to the source gateway and a target GID associated with a target gateway, wherein each GID is separate from a network address or a hostname of the source gateway or the target gateway;

determining a connection route based on an association between the connection route and an ingress identifier, wherein the ingress identifier is obtained from the one or more packets from the source computer that is separate from the source GID;

providing the connection route based on the source GID and the target GID, wherein the connection route is associated with both the source GID and the target GID;

determining network address information associated with the target gateway based on the connection route; and

forwarding the one or more packets provided by the source gateway to the target gateway based on the network address information.

2. The method of claim 1 , further comprising, instantiating a platform engine to provide policy information that defines one or more connection routes in an overlay network to one or more relay engines and to one or more gateways, wherein each connection route is associated with two or more GIDs.

3. The method of claim 1 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

determining a delay period based on one or more of, the GID associated with other gateway, the GID associated with another target gateway, policy associated with the relay, or one or more performance metrics; and

upon an expiration of the delay period, providing a response message to the other gateway, wherein a first relay that provides the response message to the other gateway is used to establish the connection route.

4. The method of claim 1 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

obtaining another ingress identifier and another GID associated with the other gateway; and

employing the other ingress identifier to index the other GID data store.

5. The method of claim 1 , wherein the relay engine performs further actions, comprising: translating the one or more packets from the source gateway from a first network protocol to a second network protocol that is compatible with the target gateway.

6. The method of claim 1 , further comprising:

instantiating a gateway engine to perform actions, including:

broadcasting an initial handshake message to one or more relays; and

establishing a connection with a relay that is first to respond to the initial handshake message.

7. The method of claim 1 , wherein the relay engine performs further actions, comprising:

monitoring the one or more packets to identify keep-alive packets; and

dropping one or more connections between one or more gateways associated with keep-alive packets based on one or more performance metrics.

8. The method of claim 1 , wherein the relay engine performs further actions, comprising, dropping one or more connections between one or more gateways based on one or more performance metrics exceeding one or more defined thresholds.

9. A system for managing communication over a network, comprising:

a relay computer, comprising:

a transceiver that communicates over the network;

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

instantiating a relay engine to perform actions including:

receiving one or more packets from a source gateway that are associated with a source gateway identifier (GID) corresponding to the source gateway and a target GID associated with a target gateway, wherein each GID is separate from a network address or a hostname of the source gateway or the target gateway;

determining a connection route based on an association between the connection route and an ingress identifier, wherein the ingress identifier is obtained from the one or more packets from the source computer that is separate from the source GID;

providing the connection route based on the source GID and the target GID, wherein the connection route is associated with both the source GID and the target GID;

determining network address information associated with the target gateway based on the connection route; and

forwarding the one or more packets provided by the source gateway to the target gateway based on the network address information; and

a source gateway computer, comprising:

a transceiver that communicates over the network;

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

providing the one or more packets that are associated with the source GID.

10. The system of claim 9 , further comprising, instantiating a platform engine to provide policy information that defines one or more connection routes in an overlay network to one or more relay engines and to one or more gateways, wherein each connection route is associated with two or more GIDs.

11. The system of claim 9 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

determining a delay period based on one or more of, the GID associated with other gateway, the GID associated with another target gateway, policy associated with the relay, or one or more performance metrics; and

upon an expiration of the delay period, providing a response message to the other gateway, wherein a first relay that provides the response message to the other gateway is used to establish the connection route.

12. The system of claim 9 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

obtaining another ingress identifier and another GID associated with the other gateway; and

employing the other ingress identifier to index the other GID data store.

13. The system of claim 9 , wherein the relay engine performs further actions, comprising: translating the one or more packets from the source gateway from a first network protocol to a second network protocol that is compatible with the target gateway.

14. The system of claim 9 , further comprising:

instantiating a gateway engine to perform actions, including:

broadcasting an initial handshake message to one or more relays; and

establishing a connection with a relay that is first to respond to the initial handshake message.

15. The system of claim 9 , wherein the relay engine performs further actions, comprising:

monitoring the one or more packets to identify keep-alive packets; and

dropping one or more connections between one or more gateways associated with keep-alive packets based on one or more performance metrics.

16. The system of claim 9 , wherein the relay engine performs further actions, comprising, dropping one or more connections between one or more gateways based on one or more performance metrics exceeding one or more defined thresholds.

17. A processor readable non-transitory storage media that includes instructions for managing communication over a network, wherein execution of the instructions by the one or more network computers perform the method comprising:

instantiating a relay engine to perform actions including:

receiving one or more packets from a source gateway that are associated with a source gateway identifier (GID) corresponding to the source gateway and a target GID associated with a target gateway, wherein each GID is separate from a network address or a hostname of the source gateway or the target gateway;

determining a connection route based on an association between the connection route and an ingress identifier, wherein the ingress identifier is obtained from the one or more packets from the source computer that is separate from the source GID;

providing the connection route based on the source GID and the target GID, wherein the connection route is associated with both the source GID and the target GID;

determining network address information associated with the target gateway based on the connection route; and

forwarding the one or more packets provided by the source gateway to the target gateway based on the network address information.

18. The media of claim 17 , further comprising, instantiating a platform engine to provide policy information that defines one or more connection routes in an overlay network to one or more relay engines and to one or more gateways, wherein each connection route is associated with two or more GIDs.

19. The media of claim 17 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

determining a delay period based on one or more of, the GID associated with other gateway, the GID associated with another target gateway, policy associated with the relay, or one or more performance metrics; and

upon an expiration of the delay period, providing a response message to the other gateway, wherein a first relay that provides the response message to the other gateway is used to establish the connection route.

20. The media of claim 17 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

obtaining another ingress identifier and another GID associated with the other gateway; and

employing the other ingress identifier to index the other GID data store.

21. The media of claim 17 , wherein the relay engine performs further actions, comprising: translating the one or more packets from the source gateway from a first network protocol to a second network protocol that is compatible with the target gateway.

22. The media of claim 17 , further comprising:

instantiating a gateway engine to perform actions, including:

broadcasting an initial handshake message to one or more relays; and

establishing a connection with a relay that is first to respond to the initial handshake message.

23. The media of claim 17 , wherein the relay engine performs further actions, comprising:

monitoring the one or more packets to identify keep-alive packets; and

dropping one or more connections between one or more gateways associated with keep-alive packets based on one or more performance metrics.

24. A network computer for managing communication over a network, comprising:

a transceiver that communicates over the network;

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

A method for managing communication over a network using one or more network computers, wherein execution of instructions by the one or more network computers perform the method comprising:

instantiating a relay engine to perform actions including:

receiving one or more packets from a source gateway that are associated with a source gateway identifier (GID) corresponding to the source gateway and a target GID associated with a target gateway, wherein each GID is separate from a network address or a hostname of the source gateway or the target gateway;

determining a connection route based on an association between the connection route and an ingress identifier, wherein the ingress identifier is obtained from the one or more packets from the source computer that is separate from the source GID;

providing the connection route based on the source GID and the target GID, wherein the connection route is associated with both the source GID and the target GID;

determining network address information associated with the target gateway based on the connection route; and

forwarding the one or more packets provided by the source gateway to the target gateway based on the network address information.

25. The network computer of claim 24 , further comprising, instantiating a platform engine to provide policy information that defines one or more connection routes in an overlay network to one or more relay engines and to one or more gateways, wherein each connection route is associated with two or more GIDs.

26. The network computer of claim 24 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

determining a delay period based on one or more of, the GID associated with other gateway, the GID associated with another target gateway, policy associated with the relay, or one or more performance metrics; and

upon an expiration of the delay period, providing a response message to the other gateway, wherein a first relay that provides the response message to the other gateway is used to establish the connection route.

27. The network computer of claim 24 , wherein the relay engine performs further actions, comprising:

receiving an initial handshake message from another gateway;

obtaining another ingress identifier and another GID associated with the other gateway; and

employing the other ingress identifier to index the other GID data store.

28. The network computer of claim 24 , wherein the relay engine performs further actions, comprising: translating the one or more packets from the source gateway from a first network protocol to a second network protocol that is compatible with the target gateway.

29. The network computer of claim 24 , further comprising:

instantiating a gateway engine to perform actions, including:

broadcasting an initial handshake message to one or more relays; and

establishing a connection with a relay that is first to respond to the initial handshake message.

30. The network computer of claim 24 , wherein the relay engine performs further actions, comprising:

monitoring the one or more packets to identify keep-alive packets; and

dropping one or more connections between one or more gateways associated with keep-alive packets based on one or more performance metrics.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2024
From: JOHNSON CONTROLS TYCO IP HOLDINGS LLP
To: TYCO FIRE & SECURITY GMBH
Reel/Frame 067056/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2023
From: TEMPERED NETWORKS, INC.
To: JOHNSON CONTROLS TYCO IP HOLDINGS LLP
Reel/Frame 065406/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2018
From: AHRENHOLZ, JEFFREY MICHAEL; BREWER, ORLIE THOMAS, JR.; COSTLOW, JEFF JAMES
To: TEMPERED NETWORKS, INC.
Reel/Frame 045263/0306 →