US5218699A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Remote procedure calls in heterogeneous systems
Assignee: International Business Machines Corp
•
Filing: 1992-06-08
•
Granted: 1993-06-08
•
Expires: 2012-06-08
Abstract
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.
Inventors
- 👤 Richard T. Brandle
- 👤 Don L. Goodliffe
- 👤 Donald E. Keith
- 👤 Randy A. Robinette
- 👤 Robert C. Sizemore
- 👤 Garry J. Smithwick
- 👤 Anthony J. Zappavigna
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 16:00
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547; H; H04; H04L; H04L9/00; H04L9/40; H04L67/00; H04L67/01; H04L67/133
Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
292 words
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.
Claim 2
Independent Claim
292 words
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.
Claim 3
Dependent Claim
56 words
A method for calling a service procedure as set forth in claim 1, further comprising the steps of: upon completion of execution, returning a result parameter set from the service procedure to the local node routing procedure; formatting the result parameter set for the application program; and returning the result parameter set to the application program.
Claim 4
Dependent Claim
56 words
A method for calling a service procedure as set forth in claim 2, wherein said step of returning the result parameter set to the application program comprises the steps of: placing the result parameter set in a queue accessible by the application program; and reading the result parameter set from the queue into the application program.
Claim 5
Dependent Claim
337 words
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.
Claim 6
Dependent Claim
337 words
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.
Claim 7
Dependent Claim
67 words
A computer network for processing procedure calls as set forth in claim 4, wherein: the means for returning the result parameter set to the local node does so during the communications session; and the means for returning the result parameter set translates the result parameter set to a convention compatible with the language of the calling procedure and returns the result parameter set to the local node.
Claim 8
Dependent Claim
78 words
A computer network for processing procedure calls as set forth in claim 5 wherein: the procedure call responsive means at the local node include a first interface callable by the application program in a predetermined format, wherein said first interface calls the communications session initiating means; and the means for returning results include a second interface in a second predetermined format, wherein said second interface calls a procedure corresponding to the procedure identifier received during the communications session.
Claim 9
Dependent Claim
41 words
A computer network for processing a service procedure as set forth in claim 5, further comprising: queue means located at the local node for holding the result parameter set returned from the remote node for later availability to the application program.
Claim 10
Dependent Claim
34 words
A computer network for processing a procedure as set forth in claim 5, wherein the result parameter set returned from said remote node is returned to the application program by said procedure indicating means.
References Cited (Backward Citations)
US3593300A
Cited
US3657736A
Cited
US4205371A
Cited
US4495570A
Cited
US4455604A
Cited
EP0138352A2
Cited
US4688170A
Cited
US4712189A
Cited
EP0178235A1
Cited
US4769772A
Cited
US4851988A
Cited
US4780821A
Cited
US4901231A
Cited
US4914571A
Cited
US4937777A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1996-06-07 | 1996-12-07 | 1997-06-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2000-06-07 | 2000-12-07 | 2001-06-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2004-06-07 | 2004-12-07 | 2005-06-08 | $7700.00 | Window Closed / Lapsed |