Migration of network connection under mobility
First Claim
Patent Images
1. A computer readable storage device, tangibly embodying a program of instructions executable by the computer for migrating communication between a client device and a first server to communication between the client device and a second server, the program of instructions, when executing, performing the following steps:
- communicating, between the client device and the first server via a first communication session, wherein the first communication session has associated therewith at least one communication state;
determining, by the client device, the at least one communication state;
sending;
by the client device, a request message to the second server, wherein the request message includes an identification of the at least one communication state that was determined by the client device, wherein the identification of the at least onecommunication state that was determined by the client device is sent in at least one packet that has a reserved 1-bit flag in a TCP header set so as to identify the packet as distinguishable with respect to the information contained therein, and wherein the packet includes both a TCP state associated with a TCP protocol and an application state associated with an application layer, wherein said application state includes;
information regarding data segments in the application layer that client device is currently expecting to receive but has not yet received; and
an identification of an application data object and an offset position of the application data object expected to be received in the number of bytes from a beginning of a downloaded object, said application data object offset position being included in a TCP payload of the packet; and
communicating between the client device and the second server via a second communication session, wherein the second communication session is based at least in part upon the identification of the at least one communication state that was sent by the client device to the second server;
wherein the program of instructions, when executing, further performs the following steps;
determining, by the client device, when the communication between the client device and the first server via the first communication session migrates to the communication between the client device and the second server via the second communication session; and
sending, by the client device, to the second server, the identification of the at least one communication state that was determined by the client device after the client device determines that the communication between the client device and the first server via the first communication session has migrated to the communication between the client device and the second server via the second communication session,wherein the communication is migrated from between the client device and the first server to between the client device and the second server as a result of at least one of;
(a) load-balancing; and
(b) a virtual machine process.
1 Assignment
0 Petitions
Accused Products
Abstract
The present disclosure relates generally to the field of migration (e.g., seamless migration) of a network connection under mobility (e.g., host mobility). In various examples, migration (e.g., seamless migration) of a network connection under mobility (e.g., host mobility) may be implemented in the form of systems and/or algorithms.
23 Citations
19 Claims
-
1. A computer readable storage device, tangibly embodying a program of instructions executable by the computer for migrating communication between a client device and a first server to communication between the client device and a second server, the program of instructions, when executing, performing the following steps:
-
communicating, between the client device and the first server via a first communication session, wherein the first communication session has associated therewith at least one communication state; determining, by the client device, the at least one communication state; sending;
by the client device, a request message to the second server, wherein the request message includes an identification of the at least one communication state that was determined by the client device, wherein the identification of the at least onecommunication state that was determined by the client device is sent in at least one packet that has a reserved 1-bit flag in a TCP header set so as to identify the packet as distinguishable with respect to the information contained therein, and wherein the packet includes both a TCP state associated with a TCP protocol and an application state associated with an application layer, wherein said application state includes;
information regarding data segments in the application layer that client device is currently expecting to receive but has not yet received; and
an identification of an application data object and an offset position of the application data object expected to be received in the number of bytes from a beginning of a downloaded object, said application data object offset position being included in a TCP payload of the packet; andcommunicating between the client device and the second server via a second communication session, wherein the second communication session is based at least in part upon the identification of the at least one communication state that was sent by the client device to the second server; wherein the program of instructions, when executing, further performs the following steps; determining, by the client device, when the communication between the client device and the first server via the first communication session migrates to the communication between the client device and the second server via the second communication session; and sending, by the client device, to the second server, the identification of the at least one communication state that was determined by the client device after the client device determines that the communication between the client device and the first server via the first communication session has migrated to the communication between the client device and the second server via the second communication session, wherein the communication is migrated from between the client device and the first server to between the client device and the second server as a result of at least one of;
(a) load-balancing; and
(b) a virtual machine process. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 18)
-
-
2. A computer-implemented system for migrating communication from a first server to a second server, the computer-implemented system comprising:
- a memory device; and
a client device including at least one processor coupled to the memory device, wherein the at least one processor is configured for;
(a) communicating with the first server via a first communication session, wherein the first communication session has associated therewith at least one communication state;
(b) determining the at least one communication state; and
(c) sending to the second server a request message including an identification of the at least one communication state that was determined by the client device, wherein the identification of the at least one communication state that was determined by the client device is sent in at least one packet that has a reserved 1-bit flag in a TCP header set so as to identify the packet as distinguishable with respect to the information contained therein, and wherein the packet includes both a TCP state associated with a TCP protocol and an application state associated with an application layer, wherein said application state includes;
information regarding data segments in the application layer that client device is currently expecting to receive but has not yet received; and
an identification of an application data object and an offset position of the application data object expected to be received in the number of bytes from a beginning of a downloaded object, said application data object offset position being included in a TCP payload of the packet, wherein the at least one processor is further configured for communicating with the second server via a second communication session, wherein the second communication session is based at least in part upon the identification of the at least one communication state that was sent by the client device to the second server;
wherein the at least one processor is further configured for;
determining when the communication between the client device and the first server via the first communication session migrates to the communication between the client device and the second server via the second communication session; and
sending to the second server, the identification of the at least one communication state that was determined by the client device after the client device determines that the communication between the client device and the first server via the first communication session has migrated to the communication between the client device and the second server via the second communication session,wherein the communication is migrated from between the client device and the first server to between the client device and the second server as a result of at least one of;
(a) load-balancing; and
(b) a virtual machine process. - View Dependent Claims (14, 15, 16, 17, 19)
- a memory device; and
Specification