Multiple version interface
First Claim
1. One or more computer memories collectively containing a proxy object implementing multiple versions of an interface and providing a multi-version interface, the multi-version interface being a single interface that includes all the functionalities supported by the multiple versions of the interface that are supported by the proxy object, such that the multi-version interface allows an object to access the functionalities supported by the multiple versions of the interface to communicate with multiple version of a target object.
2 Assignments
0 Petitions
Accused Products
Abstract
A modified proxy object implements one or a multiple versions of an interface, and provides a common, multi-version interface. The common, multi-version interface is comprised of a union of all the methods of all versions of the interface that are supported by the modified proxy object. Since the common, multi-version interface allows an object to access the functionalities supported by the multiple versions of the interface, a subsystem programmed to create and use the modified proxy object(s) only needs to use the common, multi-version interface provided by the modified proxy object(s) to communicate with multiple, different versions of remote subsystems.
33 Citations
18 Claims
- 1. One or more computer memories collectively containing a proxy object implementing multiple versions of an interface and providing a multi-version interface, the multi-version interface being a single interface that includes all the functionalities supported by the multiple versions of the interface that are supported by the proxy object, such that the multi-version interface allows an object to access the functionalities supported by the multiple versions of the interface to communicate with multiple version of a target object.
-
8. A computer-implemented method for allowing a subsystem to communicate with multiple different versions of a target subsystem, the method comprising:
-
establishing a connection with a target subsystem;
negotiating a version of an interface to use in communicating between the subsystem and the target subsystem;
creating an object and an instance of a proxy object in the subsystem, the proxy object implementing a plurality of versions of the interface and providing a common, multi-version interface that exposes the superset of methods belonging to the plurality of versions of the interface implemented by the proxy object;
providing the instance of the proxy object an indication of the negotiated version of the interface; and
establishing a logical channel between the instance of the proxy object and a counterpart proxy object in the target subsystem, wherein the counterpart proxy object is a remote source proxy that models the negotiated version of the object in the source subsystem, such that the instance of the proxy object and the counterpart proxy object communicate with each other using the negotiated version of the interface. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A subsystem that is capable of communicating with multiple different versions of a target subsystem, the subsystem comprising:
-
an object comprising an implementation of a superset of methods belonging to one or a plurality of versions of a subsystem, the object having an object interface that exposes the superset of methods; and
a modified proxy object comprising an implementation of a superset of the methods belonging to a plurality of versions of a target subsystem, the modified proxy object having a common, multi-version interface that exposes the superset of methods, such that the object and an instance of the modified proxy object communicate with each other through the object interface and the common, multi-version interface by only calling the methods belonging to a negotiated version of the subsystem and the instance of the modified proxy object. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification