Fault tolerance associations for IP transport protocols
First Claim
1. A system for communicating between an outside computer and a cluster of computers comprising:
- a first computer and a second computer, comprising;
a primary instance of a transmission control protocol resident on the first computer;
a primary data structure coupled to the primary instance describing the state of an association defining pathways between the cluster and the outside computer, the state description including names or addresses of the first computer, the second computer, and the outside computer;
a secondary instance of a transmission control protocol resident on the second computer;
a secondary data structure coupled to the secondary instance replicated from the primary data structure;
an intra-cluster network coupling the first computer and the second computer;
a synchronization process coupled to the primary data structure and the secondary data structure replicating the primary data structure to the secondary data structure across the intra-cluster network to synchronize the structures;
wherein the primary instance comprises a first node in the association between the outside computer and the cluster and wherein the outside computer comprises an opposite node;
wherein the secondary instance comprises a second node in the association between the outside computer and the cluster;
wherein the association is configured such that address of the first node and the address of the second node are provided to the opposite node at the same time as different addresses for the same node through the communication between the cluster and the opposite node in accordance with the transmission control protocol.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure addresses a system and method for failure tolerant communications using a transmission control protocol, preferably SCTP. In a preferred embodiment, an association is created between two instances of SCTP, where each instance is an endpoint. While an SCTP association provides for multiple IP addresses providing for multiple paths between the instances, it expressly does not provide for failover of the node occupied by the instance itself. The preferred embodiment provides a duplicate instance of SCTP on a separate node in the cluster which provides a hot back-up to the primary instance. The duplicate instance is maintained by replicating the state information for the association to keep the duplicate instance relatively synchronized with the primary instance.
61 Citations
23 Claims
-
1. A system for communicating between an outside computer and a cluster of computers comprising:
-
a first computer and a second computer, comprising;
a primary instance of a transmission control protocol resident on the first computer;a primary data structure coupled to the primary instance describing the state of an association defining pathways between the cluster and the outside computer, the state description including names or addresses of the first computer, the second computer, and the outside computer; a secondary instance of a transmission control protocol resident on the second computer; a secondary data structure coupled to the secondary instance replicated from the primary data structure; an intra-cluster network coupling the first computer and the second computer; a synchronization process coupled to the primary data structure and the secondary data structure replicating the primary data structure to the secondary data structure across the intra-cluster network to synchronize the structures; wherein the primary instance comprises a first node in the association between the outside computer and the cluster and wherein the outside computer comprises an opposite node; wherein the secondary instance comprises a second node in the association between the outside computer and the cluster; wherein the association is configured such that address of the first node and the address of the second node are provided to the opposite node at the same time as different addresses for the same node through the communication between the cluster and the opposite node in accordance with the transmission control protocol. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for communicating between an outside computer and a cluster of computers comprising a first computer, a second computer, and a third computer comprising:
-
a primary instance of a transmission control protocol resident on the first computer; a primary data structure resident on the second computer coupled to the primary instance describing the state of an association defining pathways between the cluster and the outside computer, the state description including names or addresses of the first computer and the third computer in the cluster and of the outside computer; a secondary instance of a transmission control protocol resident on the third computer coupled to the primary data structure; an intra-cluster network coupling the first computer, the second computer, and the third computer; wherein the primary instance comprises a first node in the association between the outside computer and the cluster and wherein the outside computer comprises an opposite node; wherein the secondary instance comprises a second node in the association between the outside computer and the cluster; wherein the association is configured such that the address of the first node and the address of the second node are provided to the opposite node at the same time as different addresses for the same node through the communication between the cluster and the opposite node in accordance with the transmission control protocol. - View Dependent Claims (8, 9)
-
-
10. A method of communicating between an outside computer and a first computer using a transmission control protocol comprising:
-
instantiating a primary instance of the transmission control protocol on the first computer; instantiating a corresponding instance of the transmission control protocol on the outside computer; instantiating a secondary instance of the transmission control protocol on a second computer coupled to the first computer; building an association defining pathways of communication between the primary instance and the corresponding instance wherein the address of the secondary instance and the address of the primary instance are provided to the corresponding instance at the same time and the address of the secondary instance is defined as an alternate address for the primary instance through the communication between the first computer, the second computer, and the outside computer in accordance with the transmission control protocol; storing state information regarding the association in a primary data structure coupled to the primary instance, the state description including names or addresses of the first computer, the second computer and the outside computer; replicating the primary data structure to a secondary data structure coupled to the secondary instance; communicating between the primary instance and the corresponding instance through the pathways defined by the association using the transmission control protocol; updating state information regarding the association in the primary data structure; and synchronizing the secondary data structure to reflect updates to the primary data structure. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of communicating between an outside computer and a first computer using a transmission control protocol comprising:
-
instantiating a primary instance of the transmission control protocol on the first computer; instantiating a corresponding instance of the transmission control protocol on the outside computer; instantiating a secondary instance of the transmission control protocol on a second computer coupled to the first computer; building an association defining pathways of communication between the primary instance and the corresponding instance wherein the address of the secondary instance and the address of the primary instance are provided to the corresponding instance at the same time and the address of the secondary instance is defined as an alternate address for the primary instance through the communication between the first computer, the second computer, and the outside computer in accordance with the transmission control protocol; storing state information regarding the association in a primary data structure coupled to the primary instance but located on a separate computer from the primary instance and coupled to the secondary instance, the state description including names or addresses of the first computer, the second computer and the outside computer; communicating between the primary instance and the corresponding instance through the pathways defined by the association using the transmission control protocol; updating state information regarding the association in the primary data structure; and on failure of the first computer on which the primary instance resides, communicating between the secondary instance and the corresponding instance through the pathways defined by the association as stored in the primary data structure. - View Dependent Claims (19, 20, 21)
-
-
22. A method of communicating between an outside computer and a first computer using a transmission control protocol comprising:
-
instantiating a primary instance of the transmission control protocol on the first computer; instantiating a corresponding instance of the transmission control protocol on the outside computer; instantiating a secondary instance of the transmission control protocol on a second computer coupled to the first computer; building an association defining pathways of communication between the primary instance and the corresponding instance wherein the address of the secondary instance and the address of the primary instance are provided to the corresponding instance at the same time and the address of the secondary instance is defined as an alternate address for the primary instance through the communication between the first computer, the second computer, and the outside computer in accordance with the transmission control protocol; storing state information regarding the association in a primary data structure coupled to the primary instance, the state description including names or addresses of the first computer, the second computer and the outside computer; communicating between the primary instance and the corresponding instance through the pathways defined by the association using the transmission control protocol; updating state information regarding the association in the primary data structure; and upon detection of a triggering event, replicating the primary data structure to a secondary data structure coupled to the secondary instance. - View Dependent Claims (23)
-
Specification