Method and apparatus for determining the type of an object in a distributed object system
First Claim
1. An apparatus for narrowing the type of a target object in a distributed object environment computing system, the computing system including a first computer and a second computer and wherein the target object is intended to reside in a computer-controlled process executing on the second computer, the apparatus comprising:
- a) a client located on the first computer;
b) a proxy object intended to reside in a computer-controlled process executing on the first computer;
c) a calling mechanism for invoking a type checking method using a target interface identifier as an argument to determine whether the target object is of a specified type, the target interface identifier indicative of a possible type of the target object;
d) an apparent comparison mechanism for determining whether the target interface identifier is equal to or a base for an apparent interface identifier held by the proxy object, the apparent interface identifier indicative of a possible type of the target object, wherein when the target interface identifier is determined to be equal to or a base for the apparent interface identifier, the apparent comparison mechanism is arranged to return an affirmative narrowing indication to the client;
e) a communication device for establishing a connection with an object request broker daemon on the second computer;
f) a target object identifier located on the first computer that identifies the target object to the second computer;
g) an identification mechanism for utilizing the object request broker daemon and the target object identifier to identify a real interface identifier and an interface definition object for the target object; and
h) a real comparison mechanism located on the second computer utilizing the interface definition object for comparing the target interface identifier to a real interface identifier and for determining whether the target interface identifier is equal to or a base for the real interface identifier, the real interface identifier indicative of the type of the target object, wherein when the target interface identifier is determined to be equal to or a base for the real interface identifier, an affirmative narrowing indication is returned to the client and wherein when the target interface identifier is determined not to be equal to or a base for the real interface identifier, a negative narrowing indication is returned to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of checking the type of an object located on a remote computer in a distributed object environment computing system is disclosed. Initially, a type checking method to determine whether a remotely located object is of a specified type is invoked. In the invocation, a target interface identifier is included as an argument. A determination is then made as to whether the target interface identifier is equal to or a base for an apparent interface identifier held by a proxy object located on the first computer. If the target interface identifier is determined to be equal to or a base for the apparent interface identifier, an affirmative indication to that effect is returned to the client process. If not, then the target interface identifier is then compared to a real interface identifier. In many embodiments, a call to the server host will have to be made in order to determine the real interface identifier. In some embodiments, a local cache memory can also be provided to store the results of such inquiries. The target interface identifier is then compared to the real interface identifier and a determination is made as to whether the target interface identifier is equal to or a base for the real interface identifier. The result is then returned to the client process. A method of checking the type of an object and additionally returning an output proxy object is also disclosed. The output proxy object may be the original input proxy object that has been widened to the class associated with the target interface identifier, or may be a newly created proxy object that is of the same kind as the input proxy and of the same type as the target interface identifier.
-
Citations
34 Claims
-
1. An apparatus for narrowing the type of a target object in a distributed object environment computing system, the computing system including a first computer and a second computer and wherein the target object is intended to reside in a computer-controlled process executing on the second computer, the apparatus comprising:
-
a) a client located on the first computer; b) a proxy object intended to reside in a computer-controlled process executing on the first computer; c) a calling mechanism for invoking a type checking method using a target interface identifier as an argument to determine whether the target object is of a specified type, the target interface identifier indicative of a possible type of the target object; d) an apparent comparison mechanism for determining whether the target interface identifier is equal to or a base for an apparent interface identifier held by the proxy object, the apparent interface identifier indicative of a possible type of the target object, wherein when the target interface identifier is determined to be equal to or a base for the apparent interface identifier, the apparent comparison mechanism is arranged to return an affirmative narrowing indication to the client; e) a communication device for establishing a connection with an object request broker daemon on the second computer; f) a target object identifier located on the first computer that identifies the target object to the second computer; g) an identification mechanism for utilizing the object request broker daemon and the target object identifier to identify a real interface identifier and an interface definition object for the target object; and h) a real comparison mechanism located on the second computer utilizing the interface definition object for comparing the target interface identifier to a real interface identifier and for determining whether the target interface identifier is equal to or a base for the real interface identifier, the real interface identifier indicative of the type of the target object, wherein when the target interface identifier is determined to be equal to or a base for the real interface identifier, an affirmative narrowing indication is returned to the client and wherein when the target interface identifier is determined not to be equal to or a base for the real interface identifier, a negative narrowing indication is returned to the client. - View Dependent Claims (2, 3)
-
-
4. An apparatus for narrowing the type of a target object in a distributed object environment computing system, the computing system including a first computer and a second computer and wherein the target object is intended to reside in a computer-controlled process executing on the second computer, the apparatus comprising:
-
a) a client located on the first computer; b) a proxy object intended to reside in a computer-controlled process executing on the first computer; c) a calling mechanism for invoking a type checking method using a target interface identifier as an argument to determine whether the target object is of a specified type, the target interface identifier indicative of a possible type of the target object; d) an apparent comparison mechanism for determining whether the target interface identifier is equal to or a base for an apparent interface identifier held by the proxy object, the apparent interface identifier indicative of a possible type of the target object, wherein when the target interface identifier is determined to be equal to or a base for the apparent interface identifier, the apparent comparison mechanism is arranged to return an affirmative narrowing indication to the client; e) a real comparison mechanism for comparing the target interface identifier to a real interface identifier and for determining whether the target interface identifier is equal to or a base for the real interface identifier, the real interface identifier indicative of the type of the target object; f) a cache memory located on the first computer; and g) a cache-checking device utilizing the real comparison mechanism for determining whether the target interface identifier is equal to or a base for the real interface identifier, wherein when said target interface identifier is determined to be equal to or a base for said real interface identifier, said cache-checking device is arranged to return an affirmative narrowing indication to said client. - View Dependent Claims (5, 6, 7)
-
-
8. An apparatus for narrowing an input proxy object intended to reside in a computer-controlled process executing on a first computer in a distributed object environment computing system, the apparatus comprising:
-
a) a client located on a first computer; b) a target object intended to reside in a computer-controlled process executing on a second computer; c) a checking mechanism for performing a check cast function on the input proxy object using a target interface identifier, the target interface identifier indicative of a possible type of the target object, the checking mechanism comparing the target interface identifier to an apparent interface identifier of the input proxy object and to interface identifiers of all parent objects of the input proxy object, the apparent interface identifier indicative of a possible type of the target object; d) a communication device for establishing a connection with an object request broker daemon on the second computer, e) a target object identifier located on the first computer that identifies the target object to the second computer; f) an identification mechanism for utilizing the object request broker daemon and the target object identifier to identify a real interface identifier and an interface definition object for the target object; g) a real comparison mechanism utilizing the interface definition object for comparing the target interface identifier to a real interface identifier associated with the target object and for determining whether the target interface identifier is equal to or a base for the real interface identifier, the real interface identifier indicative of the type of the target object; and h) a creating device for creating an output proxy object of the same kind as the input proxy object and of the same type as the target interface identifier. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. An apparatus for narrowing an input proxy object intended to reside in a computer-controlled process executing on a first computer in a distributed object environment computing system, the apparatus comprising:
-
a) a client located on a first computer; b) a target object intended to reside in a computer-controlled process executing on the second computer; c) a checking mechanism for performing a check cast function on the input proxy object using a target interface identifier, the target interface identifier indicative of a possible type of the target object; d) a real comparison mechanism for determining whether the target interface identifier is equal to or a base for a real interface identifier associated with the target object, the real interface identifier indicative of the type of the target object; e) a creating device for creating an output proxy object of the same kind as the input proxy object and of the same type as the target interface identifier; f) a cache memory located on the first computer; and g) a cache-checking device utilizing the real comparison mechanism for determining whether the target interface identifier is equal to or a base for the real interface identifier, wherein when the target interface identifier is determined to be equal to or a base for the real interface identifier, the creating device is arranged to create an output proxy object of the same kind as the input proxy object and of the same type as the target interface identifier. - View Dependent Claims (15, 16, 17)
-
-
18. A computer-implemented method of narrowing the type of a target object in a distributed object environment computing system that includes a client located on a first computer, said target object residing in a computer-controlled process executing on a second computer and a proxy object located on said first computer representing said target object, said method comprising the following under computer control;
-
a) said client invoking a type checking method using a target interface identifier as an argument to determine whether said target object is of a specified type, said target interface identifier indicative of a possible type of said target object; b) determining whether said target interface identifier is equal to or a base for an apparent interface identifier held by said proxy object located on the first computer, said apparent interface identifier indicative of a possible type of the target object; c) wherein when said target interface identifier is determined to be equal to or a base for said apparent interface identifier, an affirmative narrowing indication is returned to said client; and d) wherein when said target interface identifier is determined not to be equal to or a base for said apparent interface identifier, said method further comprises, establishing a connection with an object request broker daemon on said second computer, utilizing said object request broker daemon to identify a real interface identifier and an interface definition object for said target object, said real interface identifier indicative of said type of said target object, wherein said object request broker daemon utilizes a target object identifier passed from said first computer to locate said real interface identifier and said interface definition object, wherein said target object identifier is arranged to identify said target object to said second computer, utilizing said interface definition object to compare said target interface identifier to said real interface identifier and to determine whether said target interface identifier is equal to or a base for said real interface identifier, and returning the result of the interface definition object determination to said proxy object located on said first computer, wherein when said target interface identifier is determined to be equal to or a base for said real interface identifier, an affirmative narrowing indication is returned to said client and wherein when said target interface identifier is determined not to be equal to or a base for said real interface identifier, a negative narrowing indication is returned to said client. - View Dependent Claims (19, 20)
-
-
21. A computer-implemented method of narrowing the type of a target object in a distributed object environment computing system that includes a client located on a first computer, said target object residing in a computer-controlled process executing on a second computer and a proxy object located on said first computer representing said target object, said method comprising the following under computer control:
-
a) said client invoking a type checking method using a target interface identifier as an argument to determine whether said target object is of a specified type, said target interface identifier indicative of a possible type of said target object; b) determining whether said target interface identifier is equal to or a base for an apparent interface identifier held by said proxy object located on the first computer, said apparent interface identifier indicative of a possible type of the target object; c) wherein when said target interface identifier is determined to be equal to or a base for said apparent interface identifier, an affirmative narrowing indication is returned to said client; and d) wherein when said target interface identifier is determined not to be equal to or a base for said apparent interface identifier, said method further comprises, checking a cache memory on said first computer to compare said target interface identifier to a real interface identifier, said real interface identifier indicative of said type of said target object, determining whether said target interface identifier is equal to or a base for said real interface identifier, wherein when said target interface identifier is determined to be equal to or a base for said real interface identifier, an affirmative narrowing indication is returned to said client, and wherein when such determination can not be made by checking said cache memory, making a call to said second computer to determine whether said target interface identifier is equal to or a base for said real interface identifier. - View Dependent Claims (22, 23, 24)
-
-
25. In a distributed object environment computing system that includes a client located on a first computer, an input proxy object residing in a computer-controlled process executing on the first computer, and a target object residing in a computer-controlled process executing on a second computer, a computer-implemented method of narrowing the input proxy object comprising the following under computer control:
-
a) performing a check cast function on the input proxy object using a target interface identifier, the target interface identifier indicative of a possible type of the target object, the check cast function including the sub-steps of comparing the target interface identifier to an apparent interface identifier of the input proxy object, the apparent interface identifier indicative of a possible type of the target object, and the sub-step of comparing the target interface identifier to interface identifiers of all parent objects of the input proxy object; b) determining whether the check cast function is successful; and c) wherein if the check cast function is not successful, said method further comprises, establishing a connection with an object request broker daemon on the second computer, utilizing the object request broker daemon to identify a real interface identifier and an interface definition object for the target object, the real interface identifier indicative of the type of the target object, wherein the object request broker daemon utilizes a target object identifier passed from the first computer to locate the real interface identifier and the interface definition object, and wherein the target object identifier is arranged to identify the target object to the second computer, utilizing the interface definition object to compare the target interface identifier to a real interface identifier and to determine whether the target interface identifier is equal to or a base for the real interface identifier, and returning the result of the interface definition object determination to the proxy object located on the first computer, wherein when the target interface identifier is equal to or a base for the real interface identifier, an output proxy object of the same kind as the input proxy object and of the same type as the target interface identifier is created. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. In a distributed object environment computing system that includes a client located on a first computer, an input proxy object residing in a computer-controlled process executing on the first computer, and a target object residing in a computer-controlled process executing on a second computer, a computer-implemented method of narrowing the input proxy object comprising the following under computer control:
-
a) performing a check cast function on the input proxy object using a target interface identifier, the target interface identifier indicative of a possible type of the target object, the check cast function including the sub-steps of comparing the target interface identifier to an apparent interface identifier of the input proxy object, the apparent interface identifier indicative of a possible type of the target object, and the sub-step of comparing the target interface identifier to interface identifiers of all parent objects of the input proxy object; b) determining whether the check cast function is successful; and c) wherein if the check cast function is not successful, said method further comprises, checking a cache memory on said first computer to compare said target interface identifier to a real interface identifier, said real interface identifier indicative of said type of said target object, determining whether said target interface identifier is equal to or a base for said real interface identifier, wherein when said target interface identifier is determined to be equal to or a base for said real interface identifier, an output proxy object of the same kind as the input proxy object and of the same type as the target interface identifier is created, and wherein when such determination can not be made by checking said cache memory, making a call to said second computer to determine whether said target interface identifier is equal to or a base for said real interface identifier. - View Dependent Claims (32, 33, 34)
-
Specification