IP Library Granted Patent US 9,172,598
Granted Patent B2
US 9,172,598 · App. 14/100,351 · Granted Oct 27, 2015

Scalable reliable failover in a network

Inventor: Robert Robinson (Waterloo, CA)
Assignee: Pravala Inc.
H04L41/0654H04L12/4633H04L41/0663H04L61/2061
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 9,172,598
App. No.
14/100,351
Granted
Oct 27, 2015
Kind
B2
Abstract

A method is provided for establishing a reliable communication channel between an encapsulation node and a cluster of decapsulation nodes across a communication network. The method is implemented at the encapsulation node and comprises the following steps. A primary session is initialized with a primary decapsulation node in the cluster of decapsulation nodes during which an assigned address is received. A redundant session is initialized with a redundant decapsulation node in the cluster of decapsulation nodes. Data is transmitted to and received from the decapsulation node until a failure is detected. Once the failure is detected, data is transmitted to and received from the redundant decapsulation node instead of the primary decapsulation node.

Claims (38)

1. A method for establishing a reliable communication channel between an encapsulation node and a cluster of decapsulation nodes across a communication network, the method, implemented at the encapsulation node, comprising:

initializing a primary session with a primary decapsulation node in the cluster of decapsulation nodes, including receiving an assigned address from the decapsulation node;

prior to failure of the primary session, initializing a redundant session with a redundant decapsulation node in the cluster of decapsulation nodes;

transmitting encapsulated data to and receiving encapsulated data from the decapsulation node until a failure is detected; and

upon detection of the failure and the assigned address being associated with the redundant decapsulation node, transmitting encapsulated data to and receiving encapsulated data from the redundant decapsulation node instead of the primary decapsulation node.

2. The method of claim 1 , wherein the encapsulation node is implemented at a client.

3. The method of claim 1 , wherein the address is an Internet Protocol (IP) address.

4. The method of claim 1 , wherein the failure is detected at the encapsulation node upon receipt of an error message or a time-out when attempting to transmit data to the primary decapsulation node.

5. A method for establishing a reliable communication channel between a decapsulation node among a cluster of decapsulation nodes and an encapsulation node across a communication network, the method, implemented at the decapsulation node, comprising:

establishing a session with the encapsulation node in response a request therefrom, the request indicating whether or not the decapsulation node is to be a primary decapsulation node or a redundant decapsulation node; and

if the decapsulation node is to be the primary decapsulation node:

selecting an address for the encapsulation node;

transmitting the selected address to the encapsulation node; and

transmitting encapsulated data to and receiving encapsulated data from the encapsulation node until a failure occurs;

if the decapsulation node is to be the redundant decapsulation node:

maintaining the session until the failure occurs; and

transmitting data to and receiving data from the encapsulation node after the failure occurs, wherein the assigned address is associated with the redundant decapsulation node for routing data to the encapsulation node.

6. The method of claim 5 , wherein the address is selected from a group of addresses assigned to the decapsulation node.

7. The method of claim 6 wherein the group of addresses is categorized into a plurality of sub-groups of addresses, each of the sub-groups of addresses being associated with a corresponding one of other decapsulation nodes in the cluster of decapsulation nodes, and the address is selected from one the sub-groups of addresses based on the redundant decapsulation node.

8. The method of claim 5 , wherein the address is an Internet Protocol (IP) address.

9. The method of claim 5 , wherein the failure is identified when the redundant decapsulation node begins receiving data from the encapsulation node.

10. An encapsulation node configured to communicate with a cluster of decapsulation nodes across a communication network for establishing a reliable communication channel, the encapsulation node comprising:

a processor; and

memory for storing instructions, which when executed by the processor cause the processor to:

initialize a primary session with a primary decapsulation node in the cluster of decapsulation nodes, including receiving an assigned address from the decapsulation node;

prior to failure of the primary session, initialize a redundant session with a redundant decapsulation node in the cluster of decapsulation nodes;

transmit encapsulated data to and receiving encapsulated data from the decapsulation node until a failure is detected; and

upon detection of the failure and the assigned address being associated with the redundant decapsulation node, transmit data to the redundant decapsulation node instead of the primary decapsulation node.

11. A robust decapsulation node system comprising:

a plurality of decapsulation nodes, one of the plurality of plurality of decapsulation nodes to be configured as a primary decapsulation node for a corresponding encapsulation node and one or more of the plurality of decapsulation nodes to be configured as a redundant decapsulation node for the encapsulation node;

a router configured to route data between the plurality of decapsulation nodes and a network; and

a mapping table for use by the router to associate an address of the encapsulation node with the primary decapsulation node, the mapping table configured to be updated to associate the address of the encapsulation node with one of the one or more redundant decapsulation nodes upon failure of the primary encapsulation node; wherein the address is one of a group of addresses assigned to the primary decapsulation node.

12. The decapsulation node system of claim 11 wherein the group of addresses is categorized into a plurality of sub-groups of addresses, each of the sub-groups of addresses being associated with a corresponding one of other decapsulation nodes in the plurality of decapsulation nodes, and the address is assigned to the encapsulation node from one the sub-groups of addresses based on the redundant decapsulation node.

13. The decapsulation node system of claim 12 , wherein the address is an Internet Protocol (IP) address.

14. The decapsulation node system of claim 11 , wherein each of the plurality of decapsulation nodes can be configured as the primary decapsulation node for the encapsulation node and as the redundant decapsulation node for other encapsulation nodes.

15. The decapsulation node system of claim 11 , wherein mapping table is further configured to associate the address of the encapsulation node with the primary decapsulation nodes upon recovery.

16. The decapsulation node system of claim 11 , wherein the failure is identified when the redundant decapsulation node begins receiving data from the encapsulation node.

17. The decapsulation node system of claim 11 , further comprising a decapsulation node failure detector configured to detect the failure at the primary decapsulation node and restart the primary decapsulation node.

Assignments (3)
SECURITY INTEREST Recorded Jan 28, 2020
From: WILMERDING COMMUNICATIONS, LLC
To: CTH LENDING COMPANY, LLC
Reel/Frame 051642/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PRAVALA, INC.
To: WILMERDING COMMUNICATIONS LLC
Reel/Frame 037873/0021 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2015
From: ROBINSON, ROBERT
To: PRAVALA INC.
Reel/Frame 036620/0778 →
Continuity (3)
Continuation 13104669 · May 10, 2011
Provisional Application 61333037 · May 10, 2010
Related Publication 20140092727A1 · Apr 3, 2014