Dynamic, seamless switching of a network session from one connection route to another
First Claim
1. A method for providing continuous connection during a session between a client and a network that is accessible via multiple different servers with respective different connection routes, said method comprising the steps of:
- caching session information, including user selections, during a session routed to said network via a first server connection;
monitoring said network for an occurrence of a predetermined condition, wherein said predetermined condition includes a determination that another server connection is a more effective server connection than said first server connection, wherein said monitoring step includes comparing each server connection of said network to each other to determine when at least one of said each server connection is more effective than said first server connection, wherein said another server connection is selected as the most effective server connection from said at least one of said each server connection; and
in response to said occurrence of said predetermined condition, dynamically switching a routing of said session from said first server connection to said another server connection without losing previous session information.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for providing continuous connection between a client and a network during a session. The system comprises of a connection utility, which monitors a network session for an occurrence of a pre-defined event and/or condition. The system is particularly advantageous in scenarios where a session'"'"'s connection is lost and the session has to be reconnected to the network. The system also finds applicability with several other types of events/conditions, including a connection break, a slow or congested connection or a change in the type of data being transmitted. When any one of the pre-defined events/conditions occur, the session is automatically routed from the present connection route to another connection route, and is completed on the other connection route. In order to complete the re-routing of the sessions, session information is cached on the client and the server. The session data is tagged with the original session ID. On the server, a special Client Key is stored for later retrieval, and on the client a special Server Key is stored. During the reconnect, the server uses its previously stored session data associated with the client key and previous session ID to regain a new session connection. The client uses its previously stored session data to regain its side of the connection and to pass the proper request over the wire to the server. This special “handshake” occurs at session reconnect time and allows the special session re-connection to occur. The re-routing of the session is completed with no noticeable loss in connection or session information. Thus, a substantially seamless switching of the session from the first connection route to the second connection route is implemented.
280 Citations
27 Claims
-
1. A method for providing continuous connection during a session between a client and a network that is accessible via multiple different servers with respective different connection routes, said method comprising the steps of:
-
caching session information, including user selections, during a session routed to said network via a first server connection;
monitoring said network for an occurrence of a predetermined condition, wherein said predetermined condition includes a determination that another server connection is a more effective server connection than said first server connection, wherein said monitoring step includes comparing each server connection of said network to each other to determine when at least one of said each server connection is more effective than said first server connection, wherein said another server connection is selected as the most effective server connection from said at least one of said each server connection; and
in response to said occurrence of said predetermined condition, dynamically switching a routing of said session from said first server connection to said another server connection without losing previous session information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
selecting a minimum throughput value for a connection throughput;
comparing a connection throughput of said first server connection with said minimum throughput value, and instantiating said dynamically switching step when said connection throughput is less than said minimum throughput value.
-
-
4. The method of claim 1, wherein said predetermined condition in said monitoring step includes a change in a data type, wherein a first data type has a different effective connection route than a second data type.
-
5. The method of claim 1, wherein said dynamically switching step includes the step of first displaying a user interface to permit said user to select when to complete said dynamically switching step.
-
6. The method of claim 5, wherein:
-
said caching step includes the steps of;
caching server-side session information at said server with an associated client key and session identifier (ID); and
caching client-side session information at said client with an associated server key and said session ID; and
said dynamically switching step includes the steps of;
encoding a header of a connection protocol of said client with the routing information of said next server connection;
terminating said session from said first server connection; and
resuming said session on said next server connection.
-
-
7. The method of claim 6, wherein said resuming step includes the steps of:
-
simultaneously retrieving said server-side session information utilizing said client key and session ID and retrieving said client-side session information utilizing said server key and session ID; and
forwarding said client-side session information to said server via said next server connection.
-
-
8. The method of claim 1, further comprising the step of updating a connection utility with said next server connection, wherein a later connection to said network is initiated via said next server connection.
-
9. The method of claim 8, wherein said dynamically switching step includes the step of first displaying a pop-up window to permit said user to select when to complete said dynamically switching step.
-
10. A system for providing continuous connection between a client and a network during a session, said system comprising:
-
a caching utility for caching session information, including server-side session information and client-side user information on a server and client, respectively, during said session routed to said network via a first server connection;
a monitoring utility that monitors said network for an occurrence of a predetermined condition, wherein said predetermined condition that is monitored includes a change in a data type, wherein a first data type has a different effective connection route than a second data type; and
switching utility that, in response to said occurrence of said predetermined condition, dynamically switches a routing of said session from said first server connection to another server connection without losing session information. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
means for selecting a minimum throughput value for a connection throughput;
means for comparing a connection throughput of said first server connection with said minimum throughput value, and means for instantiating said dynamically switching means when said connection throughput is less than said minimum throughput value.
-
-
13. The system of claim 10, wherein said predetermined condition in said monitoring step includes an on-the-fly determination that another server connection is a more optimal server connection than said first server connection, wherein said monitoring utility includes:
means for comparing each server connection of said network to each other to determine when at least one of said each server connection is more effective than said first server connection, wherein said another server connection is selected as the most effective server connection from said at least one of said each server connection.
-
14. The system of claim 13, wherein said switching utility includes means for first displaying a user interface to permit said user to select when to complete said dynamically switching step.
-
15. The system of claim 14, wherein said switching utility includes:
-
means for encoding a header of a connection protocol of said client with the routing information of said next server connection;
means for terminating said session from said first server connection; and
means for resuming said session on said next server connection.
-
-
16. The system of claim 15, wherein said means for resuming includes:
-
means for simultaneously retrieving said server-side session information utilizing said client key and session ID and retrieving said client-side session information utilizing said server key and session ID; and
means for forwarding said client-side session information to said server via said next server connection.
-
-
17. The system of claim 10, further comprising a connection utility, which is updated with said next server connection, wherein a later connection to said network is initiated via said next server connection.
-
18. The system of claim 17, wherein said switching utility includes means for first displaying a pop-up window to permit said user to select when to complete said dynamically switching step.
-
19. A computer program product for providing continuous connection between a client and a network that is accessible via multiple different servers with respective different connection routes, said program product comprising:
-
a computer readable medium; and
program instructions on said computer readable medium for;
caching user selections entered during a session routed to said network via a first server connection;
monitoring said network for an occurrence of a predetermined condition, wherein said predetermined condition instructions includes a slow connection throughput on said first server connection, said monitoring program instructions further comprising instructions for;
selecting a minimum throughput value for a connection throughput;
comparing a connection throughput of said first server connection with said minimum throughput value; and
instantiating said dynamically switching step when said connection throughput is less than said minimum throughput value; and
in response to said occurrence of said pre-determined condition, dynamically switching a routing of said session from said first server connection to another server connection. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
comparing each server connection of said network to each other to determine when at least one of said each server connection is more effective than said first server connection, wherein said another server connection is selected as the most effective server connection from said at least one of said each server connection.
-
-
23. The computer program product of claim 22 wherein said dynamically switching program instructions includes instructions for first displaying a pop-up window to permit said user to select when to complete said automatically switching step.
-
24. The computer program instructions of claim 23, wherein:
-
said caching program instructions include instructions for caching client-side session information at said client with an associated server key and said session ID; and
said automatically switching program instructions includes instructions for;
encoding a header of a connection protocol of said client with the routing information of said next server connection;
terminating said session from said first server connection; and
resuming said session on said next server connection.
-
-
25. The computer program instructions of claim 24, wherein said resuming program instructions includes instructions for the simultaneously downloading said user selections stored in said cached to said network on said next server connection.
-
26. The computer program product of claim 19, further comprising instructions for updating a connection utility with said next server connection, wherein a later connection to said network is initiated via said next server connection.
-
27. The computer program product of claim 26, wherein said dynamically switching program instructions includes instructions for first displaying a pop-up window to permit said user to select when to complete said dynamically switching step.
Specification