Computer system, agent transmission method and agent reactivation method
First Claim
1. A computer system connected to a network, said computer system having an execution environment for agents, said execution environment comprising:
- a cache mechanism for storing name and version identifiers for agent programs and program code corresponding to each of the said agent programs;
a module for, in response to a request to transfer a first agent, reading from said cache mechanism program code corresponding to agent programs employed by the first agent; and
a conversion module for converting the name and the version identifier of the agent programs of the first agent, state data for the first agent and the program code read from said cache mechanism into a bit sequence for transmission, the bit sequence having the name and the version identifier placed first therein at a head of the bit sequence, the state data next, and the program code following the state data, wherein when the first agent includes a plurality of agent programs, said conversion module arranges the program code for the programs in a descending order of probability that the program code for each of the programs may not be available in a destination execution environment for the first agent.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a technique for providing high speed reactivation of an agent received by a receiving computer environment from a sending computer environment. Each agent maintains not only the names of programs necessary for its execution but also version information for the necessary programs. Preferably, each agent execution environment includes a cache mechanism which stores program code for programs that are used in agents as well as the names and the version identifiers of the programs. During the transfer of an agent, the name and version information for programs required by the agent are placed at the beginning of a bit sequence, with state data and program code following. The bit sequence is then transmitted. By employing the received name and version information, the execution environment at the destination utilizes, to the extent possible, program code that is held in the cache mechanism, or, if program code is not cached, utilizes the program code that is received.
-
Citations
10 Claims
-
1. A computer system connected to a network, said computer system having an execution environment for agents, said execution environment comprising:
-
a cache mechanism for storing name and version identifiers for agent programs and program code corresponding to each of the said agent programs;
a module for, in response to a request to transfer a first agent, reading from said cache mechanism program code corresponding to agent programs employed by the first agent; and
a conversion module for converting the name and the version identifier of the agent programs of the first agent, state data for the first agent and the program code read from said cache mechanism into a bit sequence for transmission, the bit sequence having the name and the version identifier placed first therein at a head of the bit sequence, the state data next, and the program code following the state data, wherein when the first agent includes a plurality of agent programs, said conversion module arranges the program code for the programs in a descending order of probability that the program code for each of the programs may not be available in a destination execution environment for the first agent. - View Dependent Claims (2, 3)
-
-
4. A computer system connected to a network, said computer system having an execution environment for agents, said execution environment comprising:
-
a cache mechanism for storing name and version identifiers for agent programs and program code corresponding to each of the said agent programs;
a module for, in response to a request to transfer a first agent, reading from said cache mechanism program code corresponding to agent programs employed by the first agent; and
a conversion module for converting the name and the version identifier of the agent programs of the first agent, state data for the first agent and the program code read from said cache mechanism into a bit sequence for transmission, the bit sequence having the name and the version identifier placed first therein at a head of the bit sequence, the state data next, and the program code following the state data, wherein when the first agent includes a plurality of programs, the program code for each of the programs is arranged in the bit sequence in order in accordance with size.
-
-
5. A computer system connected to a network, said computer system having an execution environment for agents from which the agents may be transmitted, said execution environment comprising:
-
a cache mechanism for storing a name and a version identifier for each program in a first agent and program code corresponding to each of the programs;
a conversion module for, in response to a request to transmit the first agent, converting the name and the version identifier of each of the programs of said first agent and state data for said first agent into a first bit sequence for transmission; and
a communication mechanism for communicating with other computers, wherein said cache mechanism further stores positional information for the program code, and wherein said conversion module further converts positional information for the program code for each of the programs into the first bit sequence for transmission. - View Dependent Claims (6)
a module for, when a name and a version identifier of a program are received from a receiving execution environment to which said first agent has been transmitted, reading, from said cache mechanism, program code corresponding to said name and said version identifier of the program, wherein said conversion module converts the program code for the program read from said cache mechanism into a second bit sequence for transmission.
-
-
7. A computer system connected to a network, said computer system having an execution environment for agents, said execution environment comprising:
-
a cache mechanism for storing a name and a version identifier for agent programs, and program code corresponding to each of the agent programs;
a retrieval module for, upon receipt by said execution environment of a name and a version identifier of an agent program for a first agent being transmitted to said execution environment, reading from said cache mechanism the program code which corresponds to said name and said version identifier for the agent program, if the program code is present in said cache mechanism;
a program defining module for generating the agent program from the read program code;
a state restoring module for restoring a state for first agent; and
a module for, when said retrieval module cannot read from said cache mechanism the program code which corresponds to said name and said version identifier of the agent program, outputting the program code for the agent program from a bit sequence transmitting the first agent to said execution environment.
-
-
8. A computer system connected to a network, said computer system having an execution environment for agents, said execution environment comprising:
-
a cache mechanism for storing a name and a version identifier for agent programs, and program code corresponding to each of the agent programs;
a retrieval module for, upon receipt by said execution environment of a name and a version identifier of an agent program for a first agent being transmitted to said execution environment, reading from said cache mechanism the program code which corresponds to said name and said version identifier for the agent program, if the program code is present in said cache mechanism;
a program defining module for generating the agent program from the read program code;
a state restoring module for restoring a state for first agent; and
a module for, when said retrieval module cannot read from said cache mechanism the program code which corresponds to said name and said version identifier of the agent program, transmitting said name and said version identifier of the agent program to a transmitting execution environment and requesting transmission of the corresponding program code.
-
-
9. A computer system connected to a network, said computer system having an execution environment for agents, said execution environment comprising:
-
a cache mechanism for storing a name and a version identifier for agent programs, and program code corresponding to each of the agent programs;
a retrieval module for, upon receipt by said execution environment of a name and a version identifier of an agent program for a first agent being transmitted to said execution environment, reading from said cache mechanism the program code which corresponds to said name and said version identifier for the agent program, if the program code is present in said cache mechanism;
a program defining module for generating the agent program from the read program code;
a state restoring module for restoring a state for first agent; and
a module for, when said retrieval module cannot read from said cache mechanism the program code which corresponds to said name and the said version identifier of the agent program, employing positional information for the program code to acquire the program code.
-
-
10. In a networked computing environment, a method for transmitting an agent from a first computer system to a second computer, wherein the first and second computer systems are connected to a network and have an execution environment for agents, said method comprising the steps of:
-
in response to a request to transfer a first agent from the first computer system to the second computer system, reading from a cache mechanism program code corresponding to agent programs of said first agent; and
transmitting a name and a version of each of said agent programs of said first agent, state data for said first agent, and said program code read from said cache mechanism to the second computer system, wherein when the first agent includes a plurality of agent programs corresponding to the first agent, program code for each of the agent programs are arranged in a descending order of probability that the program code for each agent program may not be available in the execution environment of the second computer system.
-
Specification