Construction and usage of a pre-warmed cache for client-server emulator
First Claim
1. A method of communicating between at least two computers, comprising the steps of:
- generating a pre-warmed cache containing information used by a first program on a first computer;
loading the pre-warmed cache on a second computer for use by a second program which is associated with the first program, said loading step occurring prior to any request for actual use of the information by the second program; and
establishing a session between the first and second computers using the first and second programs.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of communicating between computers, particularly between a host connected to a network server, and a workstation client running a terminal emulator. A pre-warmed cache is generated, containing information used in common by emulation programs on the client and server.
The pre-warmed cache can be loaded on the client, e.g., when establishing a session with the server. The pre-warmed cache may be generated by executing an application on the host, transmitting at least one terminal data stream associated with the application to the server (or to a second server configured substantially similar to the first server) and building a cache instance using one or more portions of the terminal data stream. A single pre-warmed cache can be provided for different hosts.
-
Citations
23 Claims
-
1. A method of communicating between at least two computers, comprising the steps of:
-
generating a pre-warmed cache containing information used by a first program on a first computer;
loading the pre-warmed cache on a second computer for use by a second program which is associated with the first program, said loading step occurring prior to any request for actual use of the information by the second program; and
establishing a session between the first and second computers using the first and second programs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
loading the pre-warmed cache on a third computer for use by a third program which is substantially similar to the second program and is also associated with the first program; and
establishing a session between the first and third computers using the first and third programs.
-
-
3. The method of claim 1 further comprising the steps of:
-
loading the pre-warmed cache on a third computer for use by a third program which is substantially similar to the second program;
loading the pre-warmed cache on a fourth computer for use by a fourth program which is substantially similar to the first program and is associated with the third program; and
establishing a session between the third computer and the fourth computer using the third program and the fourth program.
-
-
4. The method of claim 1 further comprising the steps of:
-
compressing a data stream at the first computer to remove selected data which is also present in the pre-warmed cache at the second computer, thereby creating a compressed data stream;
transmitting the compressed data stream to the second computer; and
expanding the compressed data stream at the second computer to add the selected data from the pre-warmed cache.
-
-
5. The method of claim 1 wherein the first computer is a network server connected to a host, the second computer is a workstation client connected across a network to the network server, and the first and second programs are terminal emulation intercept programs adapted to allow the workstation client to communicate with the host by emulating a terminal compatible with the host, and further comprising the steps of:
-
transmitting a terminal data stream in a first format from the host to the network server;
converting the terminal data stream into a network data stream having a second format, using the first program;
transmitting the network data stream from the network server to the workstation client; and
converting the network data stream back into the terminal data stream at the workstation client, using the second program.
-
-
6. The method of claim 1 wherein said generating step includes the steps of:
-
establishing a different session between a third computer and a fourth computer using a third program at the third computer and a fourth program at the fourth computer, wherein the third program is substantially similar to the first program, and the fourth program is substantially similar to the second program;
transmitting at least one data stream from the third computer to the fourth computer during the different session, wherein the data stream includes information used by the third and fourth programs;
building a cache instance using one or more portions of the data stream; and
saving a copy of the cache instance as the pre-warmed cache.
-
-
7. The method of claim 1 further comprising the steps of:
-
copying the pre-warmed cache to create a checkpoint at the second computer; and
comparing the checkpoint at the second computer with a checkpoint at the first computer.
-
-
8. The method of claim 1 wherein said loading step is performed in response to said establishing step.
-
9. The method of claim 1 wherein the first computer is a network server connected to a host, the second computer is a workstation client connected across a network to the network server, the first and second programs are terminal emulation programs adapted to allow the workstation client to communicate with the host by emulating a terminal compatible with the host, and said generating step includes the steps of:
-
executing an application on the host;
transmitting at least one terminal data stream associated with the application, from the host to the network server;
building a cache instance using one or more portions of the terminal data stream; and
saving a copy of the cache instance as the pre-warmed cache.
-
-
10. The method of claim 6 further comprising the step of terminating the different session between the third and fourth computers, and wherein said saving step is performed in response to said terminating step.
-
11. The method of claim 7 wherein:
-
the second computer has a previous checkpoint from an earlier session; and
said copying step is performed in response to the further step of determining that the previous checkpoint is invalid.
-
-
12. The method of claim 8 wherein said loading step includes the step of copying the pre-warmed cache from the first computer to the second computer.
-
13. The method of claim 9 wherein the network server is connected to another host, and said generating step further includes the steps of:
-
executing another application on the other host;
transmitting at least one other terminal data stream associated with the other application, from the other host to the network server;
building another cache instance using one or more portions of the other terminal data stream; and
merging the other cache instance with the pre-warmed cache.
-
-
14. A computer network comprising:
-
a plurality of computers, including at least a first computer having a first communications program, and a second computer having a second communications program which is associated with said first communications program;
a communications link for transmitting information between said first and second communications programs; and
means for loading a pre-warmed cache on said second computer, said pre-warmed cache containing information used in common by said first and second communications programs, said loading means loading the pre-warmed cache on said second computer prior to any request for actual use of information contained in said pre-warmed cache by said second communications program. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
said plurality of computers further includes a third computer having a third communications program which is substantially similar to said second communications program and is also associated with said first communications program;
said communications link is further for transmitting information between said first and third communications programs;
said pre-warmed cache is a first pre-warmed cache containing a first set of information; and
said loading means is further for loading a second pre-warmed cache on said third computer, said second pre-warmed cache containing a second set of information used in common by said first and third communications programs.
-
-
16. The computer network of claim 14 wherein:
-
said plurality of computers further includes a third computer having a third communications program which is substantially similar to said second communications program and is also associated with said first communications program;
said communications link is further for transmitting information between said first and third communications programs; and
said loading means is further for loading said pre-warmed cache on said third computer.
-
-
17. The computer network of claim 14 wherein:
-
said first communications program includes means for compressing a data stream at said first computer to remove selected data which is also present in said pre-warmed cache at said second computer, thereby creating a compressed data stream; and
said second communications program includes means for expanding said compressed data stream at said second computer to add said selected data from said pre-warmed cache.
-
-
18. The computer network of claim 14 further comprising a host, wherein:
-
said first computer is a network server connected to said host;
said second computer is a workstation client; and
said first and second communications programs are terminal emulation programs adapted to allow said workstation client to communicate with said host by emulating a terminal compatible with said host.
-
-
19. The computer network of claim 14 further comprising means for generating said pre-warmed cache.
-
20. The computer network of claim 14 further comprising:
-
means for using said pre-warmed cache to create a checkpoint at said second computer; and
means for comparing said checkpoint at said second computer with a checkpoint at said first computer.
-
-
21. The computer network of claim 14 wherein said loading means loads said pre-warmed cache in response to said first and second communications programs establishing a session.
-
22. The computer network of claim 19 wherein said generating means includes:
-
a third computer having a third communications program which is substantially similar to said second communications program and is also associated with said first communications program; and
means for building a cache instance using one or more portions of a data stream transmitted from said first communications program to said third communications program.
-
-
23. The computer network of claim 22 further comprising a host, wherein:
-
said first computer is a network server connected to said host;
said second computer is a first workstation client;
said third computer is a second workstation client;
said second communications program is a first terminal emulation program adapted to allow said first workstation client to emulate a terminal compatible with said host;
said third communications program is a second terminal emulation program, substantially similar to said first terminal emulation program, adapted to allow said second workstation client to emulate a terminal compatible with said host; and
said first communications program is adapted to allow said first and second terminal emulation programs to conduct sessions with said host.
-
Specification