System for selectively setting a server node, evaluating to determine server node for executing server code, and downloading server code prior to executing if necessary
First Claim
1. A method in a computer system network for specifying the execution of server code on a computer system node, the network having a plurality of computer system nodes, the method comprising the steps of:
- executing a client program on a client node;
requesting execution of the server code;
in response to the request to execute the server code,retrieving a client location context indicating a server node at which the server code is preferably to be executed, the client location context being selectively set to the client node a named node or a node where the persistent data is stored;
retrieving a server location context indicating the server nodes at which the server code can be executed, the server location context being set to one or more of the client node, a named node, or a node where the persistent data is stored;
evaluating the client location context and the server location context to determine the server node where the server code will be executed as either the client node, a named node, or a node where the persistent data is stored;
downloading the server code to the determined server node when the server code is not located at the determined server node; and
requesting execution of the server code on the determined server node.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for executing code remotely is provided. In a preferred embodiment, a client program executes on a client node and communicates with a network. The executing client program then requests the execution of server code corresponding to an object instance or object class instance with which the client program desires to communicate. In response to the client program request, the computer system determines a location where the server code will be executed. This determination is made using a set of rules that arbitrate between location contexts specified by the corresponding server program and a location context requested by the client program. Once the appropriate location is determined, the client program forwards its request to the appropriate network node, which requests execution of the requested server code.
93 Citations
34 Claims
-
1. A method in a computer system network for specifying the execution of server code on a computer system node, the network having a plurality of computer system nodes, the method comprising the steps of:
-
executing a client program on a client node; requesting execution of the server code; in response to the request to execute the server code, retrieving a client location context indicating a server node at which the server code is preferably to be executed, the client location context being selectively set to the client node a named node or a node where the persistent data is stored; retrieving a server location context indicating the server nodes at which the server code can be executed, the server location context being set to one or more of the client node, a named node, or a node where the persistent data is stored; evaluating the client location context and the server location context to determine the server node where the server code will be executed as either the client node, a named node, or a node where the persistent data is stored; downloading the server code to the determined server node when the server code is not located at the determined server node; and requesting execution of the server code on the determined server node. - View Dependent Claims (2, 3)
-
-
4. A method in a computer system network for specifying the execution of server code on a computer system node, the server code implementing behavior of an object, the network having a plurality of computer system nodes, the method comprising the steps of:
executing a client program on a client node; under control of the client program, requesting access to the object; in response to the request to access the object, requesting activation of the server code; and in response to the request to activate the server code, retrieving a client location context of a node at which the server code is to be executed; retrieving a server location context of a node at which the server code can be executed; evaluating the client location context and the server location context to determine a server node where the server code will be executed, wherein the determined server node is selectively set to one of the client node, a named node, or a node where persistent data of the object is stored; and downloading the server code to the determined server node when the server code is not located at the determined server node. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A method in a computer system network for specifying the execution of server code on a computer system node, the server code implementing behavior of an object, the network having a plurality of computer system nodes, the method comprising the steps of:
-
executing a client program on a client node; under control of the client program, requesting access to the object; in response to the request to access the object, requesting activation of the server code; and in response to the request to activate the server code, retrieving a client location context of a server node at which the server code is to be executed; evaluating the client indication to determine a node where the server code will be executed, wherein the determined node is selectively set to either the client node or a node where persistent data of the object is stored; and downloading the server code to the determined server node when the server code is not located at the determined server node. - View Dependent Claims (18)
-
-
19. A method in a computer system network for specifying the execution of server code on a computer system node, the server code implementing behavior of an object, the server code having a server location context that specifies a plurality of locations to execute the server code, the network having a plurality of computer system nodes, the method comprising the steps of:
-
executing a client program on a client node; under control of the client program, requesting activation of the server code, the request containing a request location context that specifies a plurality of locations to execute the server code; and in response to the request to activate the server code, selectively setting a determined node to where the server code will be executed based upon evaluating the plurality of locations of both the server location context and the request location context; and
downloading the server code to the determined server node when the server code is not located at the determined server node. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A computer-readable memory device containing instructions for controlling a computer processor to perform the steps of:
-
receiving a request from a client program on a client node to activate server code, the server code implementing behavior of an object; retrieving persistently-stored server location context of a server node at which the server code can be executed; determining, based upon the request and the server location context, a server node for executing the server code, the server node being selectively set to either the client node or a node where persistent data of the object is stored; downloading the server code to the determined server node when the server code is not located at the determined server node; and returning an indication of the server node to the client program. - View Dependent Claims (27)
-
-
28. A computer network system for determining the location of execution of server code on a computer system node, the system comprising:
-
an object with persistent data stored on a node and having server code for implementing the behavior of the object; a client node; a service control manger that, in response to a request to activate the server code, determines a server node for executing the server code based upon a location context, the server node being selectively set to the client node or the node that stores the persistent data of the object and downloading the server code to the determined server node when the server code is not located at the determined server node; and a client program executing on the client node that, in response to invocation, requests activation of the server code from the service control manager. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
Specification