System and method for completeness of TCP data in TCP HA
First Claim
Patent Images
1. A transmission control protocol high availability system, comprising:
- an active processor, having an active application and an active TCP; and
a standby processor, having a standby application and a standby TCP;
wherein the active process or is directly coupled to the standby process;
wherein communications and data exchanges among the active application, the active TCP, the standby application and the standby TCP provide a mechanism for the seamless switch over of the incoming data stream from the active processor to the standby processor is provided by a method comprising the steps of;
duplicating a socket associated with the incoming TCP data stream from the active application in the active processor to the standby application in the standby processor;
synchronizing a set of data and a set of states corresponding to the socket associated with the incoming TCP data stream between the active TCP and the standby TCP;
sending a notification, from the active application, to the active TCP that the standby application in the standby processor is ready to receive data from the socket associated with the incoming TCP data stream;
copying a first TCP data received from the socket associated with the incoming TCP data stream, in an input buffer of the active application in the active processor, to the standby application in the standby processor;
sending a sequence number, by the active TCP in the active processor, to the standby TCP in the standby processor, wherein the sequence number corresponds a last byte of the first TCP data delivered through the socket associated the incoming data stream to the active application right before the active TCP receives the notification; and
sending a second TCP data through the socket associated with the incoming TCP data stream, from the standby TCP, to the standby application, wherein the second TCP data starts from a next byte to the last byte of the first TCP data;
thereby the first TCP data, the second TCP data, and subsequent TCP data from a peer router, form a continuous incoming data stream to the standby application in the standby processor for the socket duplicated from the active processor.
1 Assignment
0 Petitions
Accused Products
Abstract
System and method for completeness of transmission control protocol (TCP) high availability (HA) are disclosed. The system includes an active processor, having an application and a TCP, and a standby processor, having another application and another TCP; wherein communications among the active application, the active TCP, the standby application and the standby TCP quickly and efficiently enable the system seamlessly switching over from the active processor to the standby processor for transmission of incoming TCP data streams and outgoing TCP data streams if the active processor fails.
27 Citations
25 Claims
-
1. A transmission control protocol high availability system, comprising:
-
an active processor, having an active application and an active TCP; and a standby processor, having a standby application and a standby TCP; wherein the active process or is directly coupled to the standby process; wherein communications and data exchanges among the active application, the active TCP, the standby application and the standby TCP provide a mechanism for the seamless switch over of the incoming data stream from the active processor to the standby processor is provided by a method comprising the steps of; duplicating a socket associated with the incoming TCP data stream from the active application in the active processor to the standby application in the standby processor; synchronizing a set of data and a set of states corresponding to the socket associated with the incoming TCP data stream between the active TCP and the standby TCP; sending a notification, from the active application, to the active TCP that the standby application in the standby processor is ready to receive data from the socket associated with the incoming TCP data stream; copying a first TCP data received from the socket associated with the incoming TCP data stream, in an input buffer of the active application in the active processor, to the standby application in the standby processor; sending a sequence number, by the active TCP in the active processor, to the standby TCP in the standby processor, wherein the sequence number corresponds a last byte of the first TCP data delivered through the socket associated the incoming data stream to the active application right before the active TCP receives the notification; and sending a second TCP data through the socket associated with the incoming TCP data stream, from the standby TCP, to the standby application, wherein the second TCP data starts from a next byte to the last byte of the first TCP data; thereby the first TCP data, the second TCP data, and subsequent TCP data from a peer router, form a continuous incoming data stream to the standby application in the standby processor for the socket duplicated from the active processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A transmission control protocol high availability system, comprising:
-
an active processor, having an active application and an active TCP; and a standby processor, having a standby application and a standby TCP; wherein communications and data exchanges among the active application, the active TCP, the standby application and the standby TCP provide a mechanism for the seamless switch over of the outgoing data stream from the active processor to the standby processor is provided using a method comprising the steps of; duplicating a socket associated with the outgoing data stream from the active application in the active processor to the standby application in the standby processor; synchronizing data and states related to the socket associated with the outgoing data stream between the active TCP and the standby TCP; sending a notification, by the active application, to the active TCP that the standby application in the standby processor is ready to snoop outgoing data through the socket associated with the outgoing TCP data stream; sending a sequence number, by the active TCP in the active processor, to the standby TCP in the standby processor, wherein the sequence number corresponds a last byte of a first TCP data written to the active TCP by the active application right before the active TCP receives the notification; writing a second TCP data comprising of at least one whole message, from the active application, to the active TCP; storing the second TCP data into an input buffer by the active TCP; sending the second TCP data and corresponding boundary information, from the input buffer of the active TCP, to the standby TCP; and sending the second TCP data, from the standby TCP, to the standby application, wherein the second TCP data starts from a next byte to the last byte of the first TCP data; thereby the second TCP data and subsequent TCP data written to the active TCP by the active application form a continuous outgoing TCP data stream. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for providing a transmission of an incoming data stream in a transmission control protocol (TCP) high availability (HA) system, wherein the TCP HA system comprises an active processor, having an active application and an active TCP;
-
and a standby processor, having a standby application and a standby TCP; and
wherein the active processor and the standby processor are adapted to perform for a seamless switch-over of the incoming data stream from the active processor to the standby processor, comprising the steps of;duplicating a socket associated with the incoming data stream, from the active application in the active processor to the standby application in the standby processor; synchronizing data and states related to socket associated with the incoming data stream between the active TCP and the standby TCP; sending a notification, by the active application, to the active TCP that the standby application in the standby processor is ready to receive data from the socket associated with the incoming data stream; copying a first TCP data received from the socket associated with the incoming data stream, in an input buffer of the active application in the active processor, to the standby application in the standby processor; sending a sequence number, by the active TCP in the active processor, to the standby TCP in the standby processor, wherein the sequence number corresponds a last byte of the first TCP data delivered through the socket associated with the incoming data stream, to the active application right before the active TCP receives the notification; and sending a second TCP data through the socket associated with the incoming data stream, from the standby TCP, to the standby application, wherein the second TCP data starts from a next byte to the last byte of the first TCP data; thereby the first TCP data, the second TCP data, and subsequent incoming TCP data from a peer router, form a continuous incoming data stream to the standby application in the standby processor for the socket duplicated from the active processor. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method for providing a transmission of an outgoing data stream in a transmission control protocol (TCP) high availability (HA) system, wherein the TCP HA system comprises an active processor, having an active application and an active TCP;
- and a standby processor, having a standby application and a standby TCP; and
wherein the active processor and the standby processor are adapted to perform for a seamless switch-over of the outgoing data stream from the active processor to the standby processor, comprising the steps of;duplicating a socket associated with the outgoing data stream from the active application in the active processor to the standby application in the standby processor; synchronizing data and states related to the socket associated with the outgoing data stream between the active TCP and the standby TCP; sending a notification, by the active application, to the active TCP that the standby application in the standby processor is ready to snoop outgoing data through the socket associated with the outgoing data stream; sending a sequence number, by the active TCP in the active processor, to the standby TCP in the standby processor, wherein the sequence number corresponds a last byte of a first TCP data written to the active TCP by the active application right before the active TCP receives the notification; writing a second TCP data comprising at least one whole message, from the active application, to the active TCP; storing the second TCP data into an input buffer by the active TCP; sending the second TCP data and corresponding boundary information, from the input buffer of the active TCP, to the standby TCP; and sending the second TCP data, from the standby TCP, to the standby application, wherein the second TCP data starts from a next byte to the last byte of the first TCP data; thereby the second TCP data and subsequent TCP data written to the active TCP by the active application, is a continuous outgoing TCP data stream. - View Dependent Claims (23, 24, 25)
- and a standby processor, having a standby application and a standby TCP; and
Specification