Remote procedure interface with support for multiple versions
First Claim
1. In an environment having a first computer process supporting an upgraded version of a remote procedure interface and a second computer process supporting a prior version of the remote procedure interface, a method for requesting in the first computer process a remote procedure to be executed on the second computer process, comprising:
- determining whether the second computer process supports the upgraded version of the remote procedure interface supported by the first computer process;
determining a mapping indication associated with the remote procedure if the second computer process does not support the upgraded version of the remote procedure interface; and
responding according to the mapping indication.
0 Assignments
0 Petitions
Accused Products
Abstract
A distributed computer system incorporating multiple computer processes enables a client computer process to request execution of a remote procedure on a server computer process even when the server computer process does not support a current version of the client computer process. A version map is utilized by the client computer process while requesting a remote procedure to format the request to a version supported by the server computer process, thus permitting client and server computer processes coresident in a distributed computer system to be upgraded independently while ensuring backward-compatibility with earlier versions.
72 Citations
27 Claims
-
1. In an environment having a first computer process supporting an upgraded version of a remote procedure interface and a second computer process supporting a prior version of the remote procedure interface, a method for requesting in the first computer process a remote procedure to be executed on the second computer process, comprising:
-
determining whether the second computer process supports the upgraded version of the remote procedure interface supported by the first computer process;
determining a mapping indication associated with the remote procedure if the second computer process does not support the upgraded version of the remote procedure interface; and
responding according to the mapping indication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
determining whether the second computer process supports the upgraded version of the remote procedure interface includes accessing a cache to determine supported versions of the remote procedure interface for the second computer process; and
the method further includes requesting execution of a first version of the remote procedure defined by the upgraded version of the remote procedure interface if the second computer process is not in the cache and if, in the response to the request, the second computer process indicates that the first version is not supported, adding the second computer process to the cache.
-
-
9. A computer system, comprising:
-
an upgraded version of a remote procedure interface defining one or more remote procedures and at least one mapping indication associated with each of the remote procedures;
a first computer process, having access to the upgraded version of the remote procedure interface, for requesting one or the one or more remote procedures to be executed on a second computer process supporting a prior version of the remote procedure interface; and
a request handler residing in the first computer process that identifies a mapping indication associated with the one remote procedure if the second computer process does not support the upgraded version of the remote procedure interface and responds according to the mapping indication. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An article of manufacture for use in requesting a remote procedure to be executed on a second computer process, the article of manufacture comprising computer-readable storage medium having code embodied therein that causes a first computer process to perform the steps of:
-
determining whether the second computer process supports an upgraded version of a remote procedure interface supported by the first computer process;
determining a mapping indication associated with the remote procedure if the second computer process does not support the upgraded version of the remote procedure interface; and
responding according to the mapping indication. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
determining whether the second computer process supports the upgraded version of the remote procedure interface includes accessing a cache to determine supported versions of the remote procedure for the second computer process; and
the code further causes the first computer process to perform the steps of requesting execution of a first version of the remote procedure defined by the upgraded version of the remote procedure interface if the second computer process is not in the cache and if, in response to the request, the second computer process indicates that the first version is not supported, adding the second computer process to the cache.
-
-
26. A method of transmitting a program product to a computer system, the method comprising the steps of:
-
(a) establishing a connection with the computer system; and
(b) transmitting the program product to the computer system, the program product being executable by a first computer process on the computer system to request execution of a remote procedure by a second computer process, the;
program product having code embodied therein that causes the first computer process to perform the steps of;
determining whether the second computer process supports an upgraded version of a remote procedure interface supported by the first computer process;
determining a mapping indication associated with the remote procedure if the second computer process does not support the upgraded version of the remote procedure interface; and
responding according to the mapping indication.
-
-
27. A method for requesting in a client computer process a particular remote procedure to be executed on a server computer process, wherein the client computer process supports a newer version of a remote procedure interface and the server computer process supports an older version of the remote procedure interface, the newer version and older version of the remote procedure interface each including one or more remote procedures and at least one remote procedure o the newer version having the same name as and at least one different construct than a corresponding remote procedure of the older version, the method comprising:
-
determining whether the server computer process supports the newer version of the remote procedure interface supported by the client computer process;
determining a mapping indication, between the newer and older versions of the remote procedure interface, associated with the particular remote procedure if the server computer process does not support the newer version of the remote procedure interface; and
responding according to the mapping indication.
-
Specification