Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request
First Claim
1. A method of persistent cache synchronization for a first communication session and a concurrent second communication session over an external communication link between an application executing on a first computer and an application executing on a second computer located remote from the first computer, the method comprising the steps of:
- determining if a new checkpoint is required;
establishing a first cache operatively associated with the first session at the first computer and a corresponding second cache operatively associated with the first session at the second computer;
establishing a third cache operatively associated with the second session at the first computer and a corresponding fourth cache operatively associated with the second session at the second computer;
transmitting a checkpoint request to the second computer indicating one of the first or the third cache to be used to provide a checkpoint;
receiving the checkpoint request at the second computer;
copying the second cache responsive to the received checkpoint request if the checkpoint request indicates the first cache to provide a checkpoint cache of the second computer;
copying the fourth cache responsive to the received checkpoint request if the checkpoint request indicates the third cache to provide a checkpoint cache of the second computer;
associating the checkpoint cache of the second computer with both the first and the second session;
transmitting a checkpoint confirmation message to the first computer responsive to said step of copying the second cache and said step of copying the fourth cache;
receiving the checkpoint confirmation message at the first computer;
creating a checkpoint cache of the first computer as a copy of the indicated one of the first or the third cache responsive to the received checkpoint confirmation message;
associating the checkpoint cache of the first computer with both the first session and the second session to provide a checkpoint; and
thenrepeating, responsive to said determining step, said steps of transmitting a checkpoint request, receiving the checkpoint request, copying the second cache, copying the fourth cache, associating the checkpoint cache of the second computer, transmitting a checkpoint confirmation message, receiving the checkpoint confirmation message, creating, and associating the checkpoint cache of the first computer to provide a new checkpoint;
wherein said determining step comprises the steps of;
initiating a new checkpoint from the first cache based on a checkpoint criteria for the first session;
preventing initiating a new checkpoint from the first cache during execution of said repeating step wherein the one of the first or the third cache is the third cache;
initiating a new checkpoint from the third cache based on a checkpoint criteria for the second session; and
preventing initiating a new checkpoint from the third cache during execution of said repeating step wherein the one of the first or the third cache is the first cache.
1 Assignment
0 Petitions
Accused Products
Abstract
Method, apparatus and program products are provided for persistent cache synchronization for a first communication session and a concurrent second communication session over an external communication link between a client protocol conversion application executing on a first computer and a server protocol conversion application executing on a second computer located remote from the first computer. An active cache is established independently for each session with a corresponding cache for each session at the other computer for use with the first and the second communication session respectively. A checkpoint request is transmitted to the server application indicating one of the active protocol caches from either the first session or the second session to be used to provide a checkpoint. On receipt of the request from the server application, the active protocol cache for the indicated session is copied to provide a checkpoint cache of the second computer. Regardless of which session was indicated, the resulting checkpoint cache of the second computer is associated with both the first and the second session. A checkpoint confirmation message is transmitted to the client application with the first computer responsive to the copying operation. On receipt of the checkpoint confirmation message, the client application creates a checkpoint cache of the first computer as a copy of the indicated one of the first or second sessions protocol cache. The checkpoint cache of the first computer is associated with both the first session and the second session to provide a checkpoint. Operations to create new checkpoints are repeated as desired based upon checkpoint criteria.
104 Citations
39 Claims
-
1. A method of persistent cache synchronization for a first communication session and a concurrent second communication session over an external communication link between an application executing on a first computer and an application executing on a second computer located remote from the first computer, the method comprising the steps of:
-
determining if a new checkpoint is required; establishing a first cache operatively associated with the first session at the first computer and a corresponding second cache operatively associated with the first session at the second computer; establishing a third cache operatively associated with the second session at the first computer and a corresponding fourth cache operatively associated with the second session at the second computer; transmitting a checkpoint request to the second computer indicating one of the first or the third cache to be used to provide a checkpoint; receiving the checkpoint request at the second computer; copying the second cache responsive to the received checkpoint request if the checkpoint request indicates the first cache to provide a checkpoint cache of the second computer; copying the fourth cache responsive to the received checkpoint request if the checkpoint request indicates the third cache to provide a checkpoint cache of the second computer; associating the checkpoint cache of the second computer with both the first and the second session; transmitting a checkpoint confirmation message to the first computer responsive to said step of copying the second cache and said step of copying the fourth cache; receiving the checkpoint confirmation message at the first computer; creating a checkpoint cache of the first computer as a copy of the indicated one of the first or the third cache responsive to the received checkpoint confirmation message; associating the checkpoint cache of the first computer with both the first session and the second session to provide a checkpoint; and
thenrepeating, responsive to said determining step, said steps of transmitting a checkpoint request, receiving the checkpoint request, copying the second cache, copying the fourth cache, associating the checkpoint cache of the second computer, transmitting a checkpoint confirmation message, receiving the checkpoint confirmation message, creating, and associating the checkpoint cache of the first computer to provide a new checkpoint; wherein said determining step comprises the steps of; initiating a new checkpoint from the first cache based on a checkpoint criteria for the first session; preventing initiating a new checkpoint from the first cache during execution of said repeating step wherein the one of the first or the third cache is the third cache; initiating a new checkpoint from the third cache based on a checkpoint criteria for the second session; and preventing initiating a new checkpoint from the third cache during execution of said repeating step wherein the one of the first or the third cache is the first cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 36)
-
-
12. A method of persistent cache synchronization for an application executing on a second computer and having a first communication session and a concurrent second communication session over an external communication link with an application executing on a first computer and located remote from the second computer, the method comprising the steps of:
-
establishing a protocol cache operatively associated with the first session at the second computer; establishing a protocol cache operatively associated with the second session at the second computer; receiving at the second computer a checkpoint request identifying one of the first or the second session; copying the protocol cache operatively associated with the identified one of the first or the second session at the second computer responsive to the received checkpoint request to provide a checkpoint cache of the second computer, the checkpoint cache of the second computer being associated with both the first and the second session; transmitting a checkpoint confirmation message to the first computer responsive to said step of copying the protocol cache; and
thenrepeating said steps of receiving copying and transmitting to provide a new checkpoint; wherein the application executing on the first computer is a client protocol conversion application and wherein the application executing on the second computer is a server protocol conversion application and further comprising the steps following said transmitting step of; receiving a request to initiate a new session including an identification of a checkpoint cache of the first computer from the first computer at the second computer over the external communication link; selecting a checkpoint cache of the second computer corresponding to the transmitted identification as a corresponding protocol cache operatively associated with the third session at the second computer; and transmitting an acknowledgment message to the first computer acknowledging selection of the checkpoint cache of the second computer corresponding to the transmitted identification as the corresponding protocol cache operatively associated with the third session at the second computer.
-
-
13. A method of persistent cache synchronization for an application executing on a first computer and having a first communication session and a concurrent second communication session over an external communication link with an application executing on a second computer located remote from the first computer, the method comprising the steps of:
-
establishing a protocol cache operatively associated with the first session at the first computer; establishing a protocol cache operatively associated with the second session at the first computer; transmitting a checkpoint request to the second computer indicating one of the first or the second session whose associated protocol cache is to be used to create a checkpoint; receiving a checkpoint confirmation message at the first computer; creating a checkpoint cache of the first computer as a copy of the protocol cache of the one of the first or the second session at the first computer responsive to the received checkpoint confirmation message to provide a checkpoint, the checkpoint cache of the first computer being associated with both the first session and the second session; and
thenrepeating said steps of transmitting receiving and creating to provide a new checkpoint; wherein the application executing on the first computer is a client protocol conversion application and wherein the application executing on the second computer is a server protocol conversion application and further comprising the steps following said creating step of; initiating a third communication session by transmitting a request including an identification of the checkpoint cache of the first computer from the first computer to the second computer over the external communication link; receiving an acknowledgment message at the first computer acknowledging selection of a checkpoint cache of the second computer corresponding to the transmitted identification as a corresponding protocol cache operatively associated with the third session at the second computer; and selecting the checkpoint cache of the first computer as a protocol cache operatively associated with the third session at the first computer.
-
-
14. A system for persistent cache synchronization for a first communication session and a concurrent second communication session over an external communication link between an application executing on a first computer and an application executing on a second computer located remote from the first computer, the system comprising:
-
means operatively associated with the first computer for establishing a first cache operatively associated with the first session at the first computer and a third cache operatively associated with the second session at the first computer; means operatively associated with the second computer for establishing a corresponding second cache operatively associated with the first session at the second computer and a corresponding fourth cache operatively associated with the second session at the second computer; means operatively associated with said first computer for determining if a new checkpoint is desired; means responsive to said means for determining for transmitting a checkpoint request to the second computer indicating one of the first or the third cache to be used to provide a checkpoint; means for receiving the checkpoint request at the second computer; means for copying the second cache responsive to the received checkpoint request if the checkpoint request indicates the first cache to provide a checkpoint cache of the second computer; means for copying the fourth cache responsive to the received checkpoint request if the checkpoint request indicates the third cache to provide a checkpoint cache of the second computer; means for associating the checkpoint cache of the second computer with both the first and the second session; means for transmitting a checkpoint confirmation message to the first computer responsive to said means for copying the second cache and said means for copying the fourth cache; means for receiving a checkpoint confirmation message at the first computer; means for creating a checkpoint cache of the first computer as a copy of the indicated one of the first or the third cache responsive to a received checkpoint confirmation message; and means for associating the checkpoint cache of the first computer with both the first session and the second session to provide a checkpoint; wherein said means for determining comprises; means for initiating a new checkpoint from the first cache based on a checkpoint criteria for the first session; means for initiating a new checkpoint from the third cache based on a checkpoint criteria for the second session; and means for preventing said means for initiating a new checkpoint from the first cache and said means for initiating a checkpoint from the third cache from initiating interfering new checkpoints. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for persistent cache synchronization for an application executing on a second computer and having a first communication session and a concurrent second communication session over an external communication link with an application executing on a first computer and located remote from the second computer, the system comprising:
-
means for establishing a protocol cache operatively associated with the first session at the second computer; means for establishing a protocol cache operatively associated with the second session at the second computer; means at the second computer for receiving a checkpoint request identifying one of the first or the second session; means for copying the protocol cache operatively associated with the identified one of the first or the second session at the second computer responsive to the received checkpoint request to provide a checkpoint cache of the second computer, the checkpoint cache of the second computer being associated with both the first and the second session; and means for transmitting a checkpoint confirmation message to the first computer responsive to said means for copying the protocol cache; wherein the application executing on the first computer is a client protocol conversion application and wherein the application executing on the second computer is a server protocol conversion application and further comprising; means at the second computer for receiving a request to initiate a new session including an identification of a checkpoint cache of the first computer from the first computer over the external communication link; means for selecting a checkpoint cache of the second computer corresponding to the transmitted identification as a corresponding protocol cache operatively associated with the third session at the second computer; and means for transmitting an acknowledgment message to the first computer acknowledging selection of the checkpoint cache of the second computer corresponding to the transmitted identification as the corresponding protocol cache operatively associated with the third session at the second computer.
-
-
26. A system for persistent cache synchronization for an application executing on a first computer and having a first communication session and a concurrent second communication session over an external communication link with an application executing on a second computer located remote from the first computer, the system comprising:
-
means for establishing a protocol cache operatively associated with the first session at the first computer; means for establishing a protocol cache operatively associated with the second session at the first computer; means at the first computer for determining if a new checkpoint is desired; means responsive to said means for determining if a new checkpoint is desired for transmitting a checkpoint request to the second computer indicating one of the first or the second session whose associated protocol cache is to be used to create a checkpoint; means for receiving a checkpoint confirmation message at the first computer; and means for creating a checkpoint cache of the first computer as a copy of the protocol cache of the one of the first or the second session at the first computer responsive to the received checkpoint confirmation message to provide a checkpoint, the checkpoint cache of the first computer being associated with both the first session and the second session; wherein the application executing on the first computer is a client protocol conversion application and wherein the application executing on the second computer is a server protocol conversion application and further comprising; means for initiating a third communication session by transmitting a request including an identification of the checkpoint cache of the first computer from the first computer to the second computer over the external communication link; means for receiving an acknowledgment message at the first computer acknowledging selection of a checkpoint cache of the second computer corresponding to the transmitted identification as a corresponding protocol cache operatively associated with the third session at the second computer; and means for selecting the checkpoint cache of the first computer as a protocol cache operatively associated with the third session at the first computer.
-
-
27. A computer program product for persistent cache synchronization for a first communication session and a concurrent second communication session over an external communication link between an application executing on a first computer and an application executing on a second computer located remote from the first computer, the computer program product comprising:
a computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising; computer readable program code means operatively associated with the first computer for establishing a first cache operatively associated with the first session at the first computer and a third cache operatively associated with the second session at the first computer; computer readable program code means operatively associated with the second computer for establishing a corresponding second cache operatively associated with the first session at the second computer and a corresponding fourth cache operatively associated with the second session at the second computer; computer readable program code means operatively associated with said first computer for determining if a new checkpoint is desired; computer readable program code means responsive to said computer readable program code means for determining for transmitting a checkpoint request to the second computer indicating one of the first or the third cache to be used to provide a checkpoint; computer readable program code means for receiving the checkpoint request at the second computer; computer readable program code means for copying the second cache responsive to the received checkpoint request if the checkpoint request indicates the first cache to provide a checkpoint cache of the second computer; computer readable program code means for copying the fourth cache responsive to the received checkpoint request if the checkpoint request indicates the third cache to provide a checkpoint cache of the second computer; computer readable program code means for associating the checkpoint cache of the second computer with both the first and the second session; computer readable program code means for transmitting a checkpoint confirmation message to the first computer responsive to said computer readable program code means for copying the second cache and said computer readable program code means for copying the fourth cache; computer readable program code means for receiving a checkpoint confirmation message at the first computer; computer readable program code means for creating a checkpoint cache of the first computer as a copy of the indicated one of the first or the third cache responsive to a received checkpoint confirmation message; and computer readable program code means for associating the checkpoint cache of the first computer with both the first session and the second session to provide a checkpoint; wherein said computer readable program code means for determining comprises; computer readable program code means for initiating a new checkpoint from the first cache based on a checkpoint criteria for the first session; computer readable program code means for initiating a new checkpoint from the third cache based on a checkpoint criteria for the second session; and computer readable program code means for preventing said computer readable program code means for initiating a new checkpoint from the first cache and said computer readable program code means for initiating a checkpoint from the third cache from initiating interfering new checkpoints. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 37)
-
38. A computer program product for persistent cache synchronization for an application executing on a second computer and having a first communication session and a concurrent second communication session over an external communication link with an application executing on a first computer and located remote from the second computer, the computer program product comprising:
A computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising; computer readable program code means for establishing a protocol cache operatively associated with the first session at the second computer; computer readable program code means for establishing a protocol cache operatively associated with the second session at the second computer; computer readable program code means at the second computer for receiving a checkpoint request identifying one of the first or the second session; computer readable program code means for copying the protocol cache operatively associated with the identified one of the first or the second session at the second computer responsive to the received checkpoint request to provide a checkpoint cache of the second computer, the checkpoint cache of the second computer being associated with both the first and the second session; and computer readable program code means for transmitting a checkpoint confirmation message to the first computer responsive to said computer readable program code means for copying the protocol cache; wherein the application executing on the first computer is a client protocol conversion application and wherein the application executing on the second computer is a server protocol conversion application and further comprising; computer readable program code means at the second computer for receiving a request to initiate a new session including an identification of a checkpoint cache of the first computer from the first computer over the external communication link; computer readable program code means for selecting a checkpoint cache of the second computer corresponding to the transmitted identification as a corresponding protocol cache operatively associated with the third session at the second computer; and computer readable program code means for transmitting an acknowledgment message to the first computer acknowledging selection of the checkpoint cache of the second computer corresponding to the transmitted identification as the corresponding protocol cache operatively associated with the third session at the second computer.
-
39. A computer program product for persistent cache synchronization for an application executing on a first computer and having a first communication session and a concurrent second communication session over an external communication link with an application executing on a second computer located remote from the first computer, the computer program product comprising:
a computer readable storage medium having computer readable program code means embodied in said medium, said computer readable program code means comprising; computer readable program code means for establishing a protocol cache operatively associated with the first session at the first computer; computer readable program code means for establishing a protocol cache operatively associated with the second session at the first computer; computer readable program code means at the first computer for determining if a new checkpoint is desired; computer readable program code means responsive to said computer readable program code means for determining if a new checkpoint is desired for transmitting a checkpoint request to the second computer indicating one of the first or the second session whose associated protocol cache is to be used to create a checkpoint; computer readable program code means for receiving a checkpoint confirmation message at the first computer; and computer readable program code means for creating a checkpoint cache of the first computer as a copy of the protocol cache of the one of the first or the second session at the first computer responsive to the received checkpoint confirmation message to provide a checkpoint, the checkpoint cache of the first computer being associated with both the first session and the second session; wherein the application executing on the first computer is a client protocol conversion application and wherein the application executing on the second computer is a server protocol conversion application and further comprising; computer readable program code means for initiating a third communication session by transmitting a request including an identification of the checkpoint cache of the first computer from the first computer to the second computer over the external communication link; computer readable program code means for receiving an acknowledgment message at the first computer acknowledging selection of a checkpoint cache of the second computer corresponding to the transmitted identification as a corresponding protocol cache operatively associated with the third session at the second computer; and computer readable program code means for selecting the checkpoint cache of the first computer as a protocol cache operatively associated with the third session at the first computer.
Specification