Remote procedure calls in heterogeneous systems
First Claim
1. A method for calling a service procedure residing at either a local node or a remote node of a computer network from an application program executing on the local node, the method comprising the steps ofgenerating an initialization call from the application program identifying the application program;
- responsive to the initialization call, selecting service directories having locations of library procedures, mappings from names of library procedures to sets of required parameters and indicating the language of each library procedure;
generating a procedure call from the application program upon execution of a native language construct, the procedure call including a parameter set;
responsive to the procedure call, determining the local or remote node where the service procedure resides from a service directory, a service procedure identifier and a language in which the application program is written;
determining if the language of the application program and the language of the service procedure use different calling conventions;
responsive to the respective languages of the application program and the service procedure utilizing different calling conventions, reformatting the parameter set for the service procedure;
upon determination that the service procedure is located at the local node, calling the service procedure and passing the parameter set thereto;
upon determination that the service procedure is located on the remote node, calling a routing procedure on the local node from the service directory with the service procedure identifier and the parameter set;
calling a routing procedure on the remote node from the local node routing procedure with the service procedure identifier and the parameter set;
at the remote node, calling the service procedure on the remote node corresponding to the procedure identifier; and
executing the service procedure at the remote or local node, as appropriate, utilizing the parameter set.
0 Assignments
0 Petitions
Accused Products
Abstract
A system for making procedure calls can be used with a network of computers. An application program on a local node calls a desired library procedure. The library procedure can be available on the local node or a remote node, and the location need not be known by the application. If the library procedure is available on a remote node, a remote router procedure communicates a procedure identifier to the remote node. The procedure is executed, and any results are returned to the locol node, to be returned to the application program.
245 Citations
8 Claims
-
1. A method for calling a service procedure residing at either a local node or a remote node of a computer network from an application program executing on the local node, the method comprising the steps of
generating an initialization call from the application program identifying the application program; -
responsive to the initialization call, selecting service directories having locations of library procedures, mappings from names of library procedures to sets of required parameters and indicating the language of each library procedure; generating a procedure call from the application program upon execution of a native language construct, the procedure call including a parameter set; responsive to the procedure call, determining the local or remote node where the service procedure resides from a service directory, a service procedure identifier and a language in which the application program is written; determining if the language of the application program and the language of the service procedure use different calling conventions; responsive to the respective languages of the application program and the service procedure utilizing different calling conventions, reformatting the parameter set for the service procedure; upon determination that the service procedure is located at the local node, calling the service procedure and passing the parameter set thereto; upon determination that the service procedure is located on the remote node, calling a routing procedure on the local node from the service directory with the service procedure identifier and the parameter set; calling a routing procedure on the remote node from the local node routing procedure with the service procedure identifier and the parameter set; at the remote node, calling the service procedure on the remote node corresponding to the procedure identifier; and executing the service procedure at the remote or local node, as appropriate, utilizing the parameter set. - View Dependent Claims (2, 3)
-
-
4. A computer network for processing procedure calls, the computer network comprising:
-
a local node; computer means located at the local node for executing an application program and thereby generating, an initialization call identifying the application program, and a procedure call in a native language construct for calling a procedure stored at the local node or at one of a plurality of remote nodes and passing a parameter set; means located at the local node responsive to the initialization call for, selecting mappings from names of procedures to sets of required parameters, locations on the local and the remote nodes of a plurality of procedures, and the language of each procedure; means located at the local node responsive to a procedure call for generating a procedure identifier, for identifying the language of the application, for determining from the selected mappings and the identification of the procedure whether it is located at the local or at a remote node and, responsive to the application and the called procedure being in different language groups, for translating the parameter set to a convention compatible with the language of the called procedure; means located at the local node responsive to determination that the procedure is located at the local node for calling the procedure utilizing the parameter set; means located at the local node responsive to determination that the procedure is located at the remote node for initiating establishment of a communications session between the local node and the remote node and passing the procedure identifier for the called procedure and the parameter set to the remote node during the communications sessions; means located at the remote node responsive to establishment of the communications session and receipt of a parameter set and identification of the procedure during the communications session for generating a procedure call for the called procedure; means located at the remote node for executing the called procedure utilizing the parameter set; and means located at the remote node for returning results generated by the procedure to the local node. - View Dependent Claims (5, 6, 7, 8)
-
Specification