Method and system for a modular transmission control protocol (TCP) rare-handoff design in a streams based transmission control protocol/internet protocol (TCP/IP) implementation
First Claim
1. In a communication network, a method of TCP state migration comprising the steps of:
- a) establishing a TCP/IP communication session between a client computer and a first server computer, said first server computer part of a plurality of server computers forming a web cluster containing information, said communication session established for the transfer of data contained within said information;
b) handing off said communication session to a selected server computer from said first server computer over a persistent control channel using TCP handoff modules that are dynamically loadable within TCP/IP stacks in operating systems located at both said first server computer and said selected server computer, that implement a TCP handoff protocol that works within kernel levels of an existing TCP/IP protocol; and
c) migrating a first TCP state of said first server computer to said selected server computer, and a second TCP state of said selected server computer to said first server computer over said control channel.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for handing-off TCP states in a communication network. Specifically, the present invention allows for handing-off TCP states between nodes in an associated network that is optimized for rare handoff of TCP states. The handoff occurs between dynamically loadable modules that wrap around the TCP/IP stack located at a front-end node and a selected back-end web server. A handoff protocol implemented by the loadable modules works within the kernel level of the existing TCP/IP code. As such, no changes to the existing TCP/IP code is necessary. The loadable modules at the front-end are able to select a back-end web server depending on the content of the web request, coordinate handing off TCP states, and forward packets to the back-end web server. Loadable modules at the selected back-end modify response packets going out to reflect the proper TCP state of the front-end node.
55 Citations
37 Claims
-
1. In a communication network, a method of TCP state migration comprising the steps of:
-
a) establishing a TCP/IP communication session between a client computer and a first server computer, said first server computer part of a plurality of server computers forming a web cluster containing information, said communication session established for the transfer of data contained within said information;
b) handing off said communication session to a selected server computer from said first server computer over a persistent control channel using TCP handoff modules that are dynamically loadable within TCP/IP stacks in operating systems located at both said first server computer and said selected server computer, that implement a TCP handoff protocol that works within kernel levels of an existing TCP/IP protocol; and
c) migrating a first TCP state of said first server computer to said selected server computer, and a second TCP state of said selected server computer to said first server computer over said control channel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a communication network, a method of TCP state migration comprising the steps of:
-
a) establishing a TCP/IP communication session between a client computer and a first server computer, said first server computer part of a plurality of server computers forming a web cluster containing information, said communication session established for the transfer of data contained within said information;
b) monitoring traffic associated with establishing said TCP/IP communication session to understand a first initial TCP state of said first server computer associated with said TCP/IP communication session, at a first bottom-TCP (BTCP) module at said first server computer;
c) receiving a web request associated with said TCP/IP communication session at said first BTCP module at said first server computer;
d) examining content of said web request;
e) determining which of said plurality of server computers, a selected server computer, can best process said web request, based on said content;
f) handing off said communication session to said selected server computer from said first server computer over a persistent control channel, if said selected server computer is not said first server computer;
g) monitoring traffic associated with handing off said TCP/IP communication session to understand a second initial TCP state of said selected server computer associated with said TCP/IP communication session, at a second BTCP module at said selected server computer;
h) migrating said first initial TCP state to said selected server computer over said control channel, such that said second BTCP module can calculate a first TCP state for said first server computer in said TCP/IP communication session;
i) sending a second initial TCP state of said selected server computer to said first BTCP module, such that said first BTCP module can calculate a second TCP state for said selected server computer in said TCP/IP communication session;
j) forwarding data packets received at said first BTCP module from said client to said selected server computer, by changing said data packets to reflect said second TCP state and a second IP address of said selected server computer;
k) sending response packets from said selected server computer directly to said client computer by changing said response packets to reflect said first TCP state and a first IP address of said first server computer; and
l) terminating said TCP/IP communication session at said first server computer when said TCP/IP communication session is closed. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
26. A server computer comprising:
-
an upper TCP (UTCP) module located above a TCP module in an operating system of said server computer;
a bottom TCP (BTCP) module located below said TCP module, said UTCP, TCP, and BTCP modules implementing a method of handing off a communication session between a first node and second node in a cluster network that works within the kernel level of an existing TCP/IP protocol, by migrating TCP states associated with said first and second nodes.
-
Specification