Claims Analysis
Total Claims: 30
Claim 1
Independent Claim
155 words
In a distributed client/server based computing system having a dispatch
mechanism for dispatching a call from client objects to servant objects that includes a
transport layer, a method table dispatch layer on the client side that is above the
transport layer, the method table dispatch layer including a plurality of local method
tables and a plurality of remote method tables, wherein a first set of selected client
representations are associated with a local method table and a second set of selected
client representations are associated with a remote method table, a method of routing a
call from a client to a servant, the method comprising the step of: routing the call using a remote method table and the transport layer when the
client and servant do not share the same process; and routing the call using a local method table and bypassing the transport layer
when the client and servant do share the same process.
Claim 2
Dependent Claim
130 words
In a distributed client/server based computing system arranged to utilize object
references which uniquely identify associated objects, an arrangement comprising: a plurality of client representations indicative of requests for service, each object
reference having an associated client representation, wherein selected client
representations may be associated with a plurality of distinct object references; a remote method table arranged to identify remote dispatch methods associated
with a first set of the client representations, the remote dispatch methods being arranged
to cause invocation requests to be routed through a transport layer; and a local method table arranged to identify local dispatch methods associated with
a second set of the client representations, the local dispatch methods being arranged to
cause invocation requests to pass to a servant without being routed through the
transport layer.
Claim 3
Dependent Claim
37 words
An arrangement as recited in claim 2 wherein the object references each include
a first pointer arranged to identify an associated client representation and a second
pointer arranged to identify an associated one of the method tables.
Claim 4
Dependent Claim
52 words
An arrangement as recited in claims 2 or 3 wherein each method table includes
a plurality of pointers arranged to identify associated stubs, wherein each object
reference that includes a pointer to a selected one of the methods tables has an
associated stub that is pointed to by the selected method table.
Claim 5
Dependent Claim
54 words
An arrangement as recited in claims 2, 3, or 4 wherein a plurality of remote
method tables are arranged to identify remote dispatch methods associated with the first
set of client representations and a plurality of local method tables are arranged to
identify local dispatch methods associated with the second set of client representations.
Claim 6
Dependent Claim
32 words
An arrangement as recited in one of claims 2-5 wherein at least some of the
plurality of client representations have both an associated remote method table and an
associated local method table.
Claim 7
Dependent Claim
108 words
In a distributed client/server based computing system having a plurality of client
representations that have at least one of a remote method table and a local method table
associated therewith, a method of narrowing an object reference, the method
comprising the steps of: receiving a request for narrowing an object reference that identifies a servant
object, the narrowing request being received within a client process; determining whether the servant object identified by the request is in the client
process; and when it is determined that the servant object identified by the request is in the
client process, creating a narrowed object reference that identifies a local method table.
Claim 8
Dependent Claim
37 words
A method as recited in claim 7 wherein when it is determined that the servant
object identified by the request is not in the client process, creating a narrowed object
reference that identifies a remote method table.
Claim 9
Dependent Claim
133 words
In a distributed client/server based computing system having a plurality of client
representations that have one of a local m-table and a remote m-table associated
therewith, a method of unmarshaling an object reference, the method comprising the
steps of: receiving a request for unmarshaling an object reference that identifies a servant
object, the unmarshaling request being received within a client process; determining whether the servant object identified by the request is in the client
process; when it is determined that the servant object identified by the request is in the
client process, creating an unmarshaled object reference that identifies a local method
table; and when it is determined that the servant object identified by the request is not in
the client process, creating an unmarshaled object reference that identifies a remote
method table.
Claim 10
Dependent Claim
38 words
A method as recited in claim 9 wherein the request to unmarshal an object
reference comprises calling an unmarshal function of a client representation with one of
the local method table and the remote method table associated therewith.
Claim 11
Independent Claim
60 words
A method as recited in claims 9 or 10 wherein the client representation has a
plurality of distinct local method tables associated therewith, the method further
comprising the step of selecting a specific one of the local method tables associated with
the client representation, and wherein the call to the unmarshal function is made with
the selected local method table.
Claim 12
Dependent Claim
96 words
In a distributed client/server based computing system having a plurality of client
representations that have one of a local stub and a remote stub associated therewith, a
method of destringifying a stringified object reference, the method comprising the steps
of: converting the stringified object reference into a binary string which is suitable
for decoding by a marshal buffer; obtaining a marshal buffer to encapsulate the binary string; and invoking a method of unmarshaling the contents of the marshal buffer, wherein
the unmarshaling is accomplished utilizing the method of any one of claims 9, 10, or
11.
Claim 13
Dependent Claim
16 words
A method as recited in claim 12 wherein the stringified object is a ASCII
stringified object.
Claim 14
Dependent Claim
117 words
In a distributed client/server based computing system, a method of invoking a
servant from a client, the method comprising the steps of: calling a function pointed to by a client representation associated with the client,
the client representation including a local hook arranged to indicate whether the function
includes additional code to be executed by the client/server based object oriented
operating system; determining whether the function pointed to by the client representation is a
local stub function, the local stub function being a stub function in a local process
relative to the client; and when it is determined that the function pointed to by the client representation is
the local stab function, executing the local stab function.
Claim 15
Dependent Claim
117 words
A method as recited in claim 14 wherein the step of executing the local stab
function further comprises the steps of: determining whether the local hook of the client representation indicates that
additional code is to be executed; when it is determined that the local hook of the client representation is active,
calling a pre-local dispatch method of the client representation, the pre-local dispatch
method being arranged to gather information relating to the client representation; obtaining the servant from the client representation; calling a method identified in the servant, the method being a local dispatch
method; and calling a post-local dispatch method of the client representation, the post-local
dispatch method being associated with the pre-local dispatch method.
Claim 16
Dependent Claim
39 words
A method as recited in claim 15 wherein a generic holder is passed into the call
of the pre-local dispatch method, the generic holder being arranged to pass information
between the pre-local dispatch method and the post-local dispatch method.
Claim 17
Independent Claim
24 words
A method as recited in claims 15 or 16 wherein the pre-local dispatch method
prepares the servant for receiving a call from the client.
Claim 18
Independent Claim
18 words
A method as recited in claims 15, 16, or 17 wherein the post-local dispatch
method deactivates the servant.
Claim 19
Dependent Claim
167 words
A computer program product comprising a computer-usable medium having
computer-readable code embodied thereon for invoking an object method defined on a
distributed server object within a distributed object computing system, the distributed
object computing system arranged to utilize object references which uniquely identify
associated objects, the computer program product comprising computer-readable
program code for an arrangement comprising: a plurality of client representations indicative of requests for service, each object
reference having an associated client representation, wherein selected client
representations may be associated with a plurality of distinct object references; a remote method table arranged to identify remote dispatch methods associated
with a first set of the client representations, the remote dispatch methods being arranged
to cause invocation requests to be routed through a transport layer; and a local method table arranged to identify local dispatch methods associated with
a second set of the client representations, the local dispatch methods being arranged to
cause invocation requests to pass to a servant without being routed through the
transport layer.
Claim 20
Dependent Claim
46 words
A computer program product comprising computer-readable program code for
an arrangement as recited in claim 19 wherein the object references each include a first
pointer arranged to identify an associated client representation and a second pointer
arranged to identify an associated one of the method tables.
Claim 21
Dependent Claim
61 words
A computer program product comprising computer-readable program code for
an arrangement as recited in claims 19 or 20 wherein each method table includes a
plurality of pointers arranged to identify associated stubs, wherein each object reference
that includes a pointer to a selected one of the methods tables has a associated stub that
is pointed to by the selected method table.
Claim 22
Dependent Claim
45 words
A computer program product comprising computer-readable program code for
a arrangement as recited in any one of claims 19, 20, or 21 wherein at least some of
the plurality of client representations have both an associated remote method table and
an associated local method table.
Claim 23
Dependent Claim
192 words
A computer program product comprising a computer-usable medium having
computer-readable code embodied thereon for invoking an object method defined on a
distributed servant object within a distributed object computing system, the distributed
object computing system having a plurality of client representations that have at least
one of a remote method table and a local method table associated therewith, the
computer program product comprising computer-readable program code for effecting
the following steps within the computer system: receiving a request for processing an object reference that identifies the servant
object, the narrowing request being received within a client process, wherein the
request for processing is one of a request for narrowing the object reference and a
request for unmarshaling the object reference; determining whether the servant object identified by the request is in the client
process; when it is determined that the servant object identified by the request is in the
client process, creating a processed object reference that identifies a local method table;
and when it is determined that the servant object identified by the request is not in
the client process, creating a processed object reference that identifies a remote method
table.
Claim 24
Dependent Claim
44 words
A computer program product comprising computer-readable program code as
recited in claim 23 wherein the request to narrow an object reference comprises calling a
narrow function of a client representation with one of the local method table and the
remote method table associated therewith.
Claim 25
Dependent Claim
66 words
A computer program product comprising computer-readable program code as
recited in claims 23 or 24 wherein the client representation has a plurality of distinct
local method tables associated therewith, the method further comprising the step of
selecting a specific one of the local method tables associated with the client
representation, and wherein the call to the duplicate function is made with the selected
local method table.
Claim 26
Dependent Claim
44 words
A computer program product comprising computer-readable program code as
recited in claim 23 wherein the request to unmarshal an object reference comprises
calling an unmarshal function of a client representation with one of the local method
table and the remote method table associated therewith.
Claim 27
Dependent Claim
66 words
A computer program product comprising computer-readable program code as
recited in claims 23 or 26 wherein the client representation has a plurality of distinct
local method tables associated therewith, the method further comprising the step of
selecting a specific one of the local method tables associated with the client
representation, and wherein the call to the unmarshal function is made with the selected
local method table.
Claim 28
Dependent Claim
142 words
A computer program product comprising a computer-usable medium having
computer-readable code embodied thereon for invoking an object method defined on a
distributed server object within a distributed object computing system, the computer
program product comprising computer-readable program code for effecting the
following steps within the computer system: calling a function pointed to by a client representation associated with the client,
the client representation including a local hook arranged to indicate whether the function
includes additional code to be executed by the client/server based distributed object
computing system; determining whether the function pointed to by the client representation is a
local stub function, the local stub function being a stub function in a local process
relative to the client; and when it is determined that the function pointed to by the client representation is
the local stub function, executing the local stub function.
Claim 29
Dependent Claim
123 words
A computer program product comprising computer-readable program code as
recited in claim 28 wherein the step of executing the local stub function further
comprises the steps of: determining whether the local hook of the client representation indicates that
additional code is to be executed; when it is determined that the local hook of the client representation is active,
calling a pre-local dispatch method of the client representation, the pre-local dispatch
method being arranged to gather information relating to the client representation; obtaining the servant from the client representation; calling a method identified in the servant, the method being a local dispatch
method; and calling a post-local dispatch method of the client representation, the post-local
dispatch method being associated with the pre-local dispatch method.
Claim 30
Dependent Claim
45 words
A computer program product comprising computer-readable program code as
recited in claim 29 wherein a generic holder is passed into the call of the pre-local
dispatch method, the generic holder being arranged to pass information between the
pre-local dispatch method and the post-local dispatch method.