Patent US6157961A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6157961A Expired / Lapsed US ⏱️ 0.0 years remaining

Client-side stub interpreter

Assignee: Sun Microsystems Inc
•
Filing: 1997-07-16
•
Granted: 2000-12-05
•
Expires: 2017-07-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides an elegant and compact way to provide mechanisms for invocation of objects by client applications and for argument passing between client applications and object implementations, which reduce the memory space required for the client-side stubs, without the client application or the operating system knowing the details of how these mechanisms work. Moreover, these mechanisms function in a distributed computer environment with similar ease and efficiency, where client applications may be on one computer node and object implementations on another. Additionally the invention is independent of the particular C++ compiler used for generation of the stub code. The mechanism used to reduce this memory space comprises a stub generator (called "CONTOCC"), a data base of client-side stub description files and a stub-interpreter which knows how to read these client-side stub description files. CONTOCC reads interface definition language ("IDL") files and generates corresponding C++ files. CONTOCC has the ability to read the IDL data and generate either normal C++ stub files or the special client-side stub description files.

Inventors

  • 👤 Peter B. Kessler
  • 👤 Graham Hamilton
  • 👤 Jonathan J. Gibbons

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 15:52
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547; G06F9/548

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 145 words
A computer implemented method for processing a request from a client to a server to invoke a method of the server, comprising the acts of: receiving a request from a client to invoke a particular method of a server; accessing a compact description associated with said particular method, said compact description comprising information specific to said particular method which determines the manner in which said request is to be processed, said compact description being in a form which is not directly executable; interpreting said compact description, at run time, to determine the manner in which said request is to be processed; processing said request in accordance with the specific information contained in said compact description to derive a transformed request having a form suitable for submission to an underlying communication mechanism; and invoking the underlying communication mechanism to send said transformed request to the server.
Claim 2
Dependent Claim 145 words
A computer implemented method for processing a request from a client to a server to invoke a method of the server, comprising the acts of: receiving a request from a client to invoke a particular method of a server; accessing a compact description associated with said particular method, said compact description comprising information specific to said particular method which determines the manner in which said request is to be processed, said compact description being in a form which is not directly executable; interpreting said compact description, at run time, to determine the manner in which said request is to be processed; processing said request in accordance with the specific information contained in said compact description to derive a transformed request having a form suitable for submission to an underlying communication mechanism; and invoking the underlying communication mechanism to send said transformed request to the server.
Claim 3
Dependent Claim 62 words
The method of claim 1, wherein the act of processing comprises the acts of: supplying a base set of functionality which is common to a plurality of methods; incorporating the specific information contained in said compact description with said base set of functionality to derive a customized set of functionality; and carrying out said customized set of functionality to process said request.
Claim 4
Dependent Claim 16 words
The method of claim 1, wherein said compact description is stored in one or more tables.
Claim 5
Dependent Claim 27 words
The method of claim 1, wherein said request includes one or more arguments, and wherein said compact description comprises information on the types and modes of arguments.
Claim 6
Dependent Claim 26 words
The method of claim 1, wherein said request includes one or more arguments, and wherein said compact description comprises information on marshaling and unmarshaling of arguments.
Claim 7
Dependent Claim 13 words
The method of claim 1, wherein said compact description comprises exception handling information.
Claim 8
Dependent Claim 18 words
The method of claim 1, wherein said compact description is stored as a plurality of compressed byte codes.
Claim 9
Dependent Claim 18 words
The method of claim 1, wherein said request includes an argument, and wherein said argument comprises an object.
Claim 10
Dependent Claim 20 words
The method of claim 1, wherein the client and server are objects residing on different machines in a distributed system.
Claim 11
Dependent Claim 17 words
The method of claim 1, wherein the client and server are objects residing on the same machine.
Claim 12
Independent Claim 170 words
An apparatus for processing a request from a client to a server to invoke a method of the server, comprising: a mechanism for receiving a request from a client to invoke a particular method of a server; a storage for storing a compact description associated with said particular method, said compact description comprising information specific to said particular method which determines the manner in which said request is to be processed, said compact description being in a form which is not directly executable; a mechanism for accessing, in response to said request, said compact description from said storage; a mechanism for interpreting said compact description, at run time, to determine the manner in which said request is to be processed; a mechanism for processing said request in accordance with the specific information contained in said compact description to derive a transformed request having a form suitable for submission to an underlying communication mechanism; and a mechanism for invoking the underlying communication mechanism to send said transformed request to the server.
Claim 13
Independent Claim 170 words
An apparatus for processing a request from a client to a server to invoke a method of the server, comprising: a mechanism for receiving a request from a client to invoke a particular method of a server; a storage for storing a compact description associated with said particular method, said compact description comprising information specific to said particular method which determines the manner in which said request is to be processed, said compact description being in a form which is not directly executable; a mechanism for accessing, in response to said request, said compact description from said storage; a mechanism for interpreting said compact description, at run time, to determine the manner in which said request is to be processed; a mechanism for processing said request in accordance with the specific information contained in said compact description to derive a transformed request having a form suitable for submission to an underlying communication mechanism; and a mechanism for invoking the underlying communication mechanism to send said transformed request to the server.
Claim 14
Dependent Claim 68 words
The apparatus of claim 1, wherein the mechanism for processing comprises: a mechanism for supplying a base set of functionality which is common to a plurality of methods; a mechanism for incorporating the specific information contained in said compact description with said base set of functionality to derive a customized set of functionality; and a mechanism for carrying out said customized set of functionality to process said request.
Claim 15
Dependent Claim 19 words
The apparatus of claim 1, wherein said compact description is stored in said storage in one or more tables.
Claim 16
Dependent Claim 27 words
The apparatus of claim 1, wherein said request includes one or more arguments, and wherein said compact description comprises information on the types and modes of arguments.
Claim 17
Dependent Claim 26 words
The apparatus of claim 1, wherein said request includes one or more arguments, and wherein said compact description comprises information on marshaling and unmarshaling of arguments.
Claim 18
Dependent Claim 13 words
The apparatus of claim 1, wherein said compact description comprises exception handling information.
Claim 19
Dependent Claim 21 words
The apparatus of claim 1, wherein said compact description is stored in said storage as a plurality of compressed byte codes.
Claim 20
Dependent Claim 18 words
The apparatus of claim 1, wherein said request includes an argument, and wherein said argument comprises an object.
Claim 21
Dependent Claim 20 words
The apparatus of claim 1, wherein the client and server are objects residing on different machines in a distributed system.
Claim 22
Dependent Claim 17 words
The apparatus of claim 1, wherein the client and server are objects residing on the same machine.
Claim 23
Dependent Claim 182 words
A computer program product for processing a request from a client to a server to invoke a method of the server, comprising: code for causing one or more processors to receive a request from a client to invoke a particular method of a server; code for causing one or more processors to access a compact description associated with said particular method, said compact description comprising information specific to said particular method which determines the manner in which said request is to be processed, said compact description being in a form which is not directly executable; code for causing one or more processors to interpret said compact description, at run time, to determine the manner in which said request is to be processed; code for causing one or more processors to process said request in accordance with the specific information contained in said compact description to derive a transformed request having a form suitable for submission to an underlying communication mechanism; and code for causing one or more processors to invoke the underling communication mechanism to send said transformed request to the server.
Claim 24
Dependent Claim 182 words
A computer program product for processing a request from a client to a server to invoke a method of the server, comprising: code for causing one or more processors to receive a request from a client to invoke a particular method of a server; code for causing one or more processors to access a compact description associated with said particular method, said compact description comprising information specific to said particular method which determines the manner in which said request is to be processed, said compact description being in a form which is not directly executable; code for causing one or more processors to interpret said compact description, at run time, to determine the manner in which said request is to be processed; code for causing one or more processors to process said request in accordance with the specific information contained in said compact description to derive a transformed request having a form suitable for submission to an underlying communication mechanism; and code for causing one or more processors to invoke the underling communication mechanism to send said transformed request to the server.
Claim 25
Dependent Claim 93 words
The computer program product of claim 21, wherein the code for causing one or more processors to process said request comprises: code for causing one or more processors to supply a base set of functionality which is common to a plurality of methods; code for causing one or more processors to incorporate the specific information contained in said compact description with said base set of functionality to derive a customized set of functionality; and code for causing one or more processors to carry out said customized set of functionality to process said request.
Claim 26
Dependent Claim 18 words
The computer program product of claim 21, wherein said compact description is stored in one or more tables.
Claim 27
Dependent Claim 29 words
The computer program product of claim 21, wherein said request includes one or more arguments, and wherein said compact description comprises information on the types and modes of arguments.
Claim 28
Dependent Claim 28 words
The computer program product of claim 21, wherein said request includes one or more arguments, and wherein said compact description comprises information on marshaling and unmarshaling of arguments.
Claim 29
Dependent Claim 15 words
The computer program product of claim 21, wherein said compact description comprises exception handling information.
Claim 30
Dependent Claim 20 words
The computer program product of claim 21, wherein said compact description is stored as a plurality of compressed byte codes.
Claim 31
Dependent Claim 20 words
The computer program product of claim 21, wherein said request includes an argument, and wherein said argument comprises an object.
Claim 32
Dependent Claim 22 words
The computer program product of claim 21, wherein the client and server are objects residing on different machines in a distributed system.
Claim 33
Dependent Claim 19 words
The computer program product of claim 21, wherein the client and server are objects residing on the same machine.

References Cited (Backward Citations)

US4989132A Cited
JPH03266064A Cited
US5524253A Cited
US5307490A Cited
US5526491A Cited
US5497463A Cited
US5452447A Cited
US5566302A Cited
US5577251A Cited
US5778228A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-05 2004-06-05 2004-12-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-05 2008-06-05 2008-12-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-05 2012-06-05 2012-12-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag