← Back to Patent Explorer
US6009266A Expired / Lapsed US ⏱️ 0.0 years remaining

Methods, apparatus and data structures for managing objects

Assignee: Sun Microsystems Inc
•
Filing: 1995-03-22
•
Granted: 1999-12-28
•
Expires: 2015-03-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A variety of methods, apparatus, and data structures for managing transient and persistent distributed objects are disclosed. Objects for use as object references are described, both for transient and persistent objects. In one aspect of the invention, a data structure that is intended for use as an object reference for a transient object is disclosed having a set of endpoint addresses, an incarnation number, and an object key. These elements serve to uniquely identify and locate the transient object. In another aspect of the invention, an object that is intended for use as an object reference for a persistent object is disclosed having a host computer name, a locator identification, an object key, and a subobject identifier. The first three elements serve as an indirection to the persistent object and the third element is for use by the persistent object. These data structures enable a distributed object operating environment which integrates both transient and persistent objects. A variety of methods utilizing one or more of the elements of the abovementioned object references to provide a system resource efficient interaction between a client requesting service from a server object. One particular method selects the fastest transport mode between the client and the server object. Another specific method teaches reading addressing information directly from local cache memory. If the addressing information is not available in cache memory, the information is first found and then stored in cache memory thereby perpetuating the efficiency of the invention.

Inventors

  • 👤 David M. Brownell
  • 👤 Pavani Diwanji

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 11:06
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/4493

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 316 words
An object for use as an object reference for a distributed object associated with a server computer process executing on a server computer system in a distributed object operating environment said distributed object having a data structure comprising: an object interface and a data portion including: a kind field configured to identify the distributed object as either a persistent distributed object or a transient distributed object; and an object key corresponding to said distributed object, said object key being configured to identify said distributed object; wherein: if said kind field identifies said distributed object to be a transient distributed object, then said data portion icludes transient distributed object identification fields including: (1) a set of endpoint addresses corresponding to said server computer system, said set of endpoint addresses including a network address of said server computer system and a specific process identifier assigned by said server computer system to said server computer process; and (2) an incarnation number corresponding to said server computer process, said incarnation number suitable to distinguish said server computer process from other server computer processes that may have been assigned said specific process identifier by said server computer system; and if said kind field identifies said distributed object to be a persistent distributed object, then said data portion includes persistent distributed object identification fields including: (1) a computer system name corresponding to a computer system on which a locator service exists, said locator service being operable to provide addressing information regarding said persistent distributed object; (2) a locator identifier corresponding to a daemon computer process under which said locator service resides, said daemon computer process being resident on said computer system; and (3) a subobject identifier suitable for use in identifying a subobject present in said persistent distributed object; such that said kind field, said object key, and said transient and persistent object identification fields uniquely identify and locate said distributed object.
Claim 2
Dependent Claim 316 words
An object for use as an object reference for a distributed object associated with a server computer process executing on a server computer system in a distributed object operating environment said distributed object having a data structure comprising: an object interface and a data portion including: a kind field configured to identify the distributed object as either a persistent distributed object or a transient distributed object; and an object key corresponding to said distributed object, said object key being configured to identify said distributed object; wherein: if said kind field identifies said distributed object to be a transient distributed object, then said data portion icludes transient distributed object identification fields including: (1) a set of endpoint addresses corresponding to said server computer system, said set of endpoint addresses including a network address of said server computer system and a specific process identifier assigned by said server computer system to said server computer process; and (2) an incarnation number corresponding to said server computer process, said incarnation number suitable to distinguish said server computer process from other server computer processes that may have been assigned said specific process identifier by said server computer system; and if said kind field identifies said distributed object to be a persistent distributed object, then said data portion includes persistent distributed object identification fields including: (1) a computer system name corresponding to a computer system on which a locator service exists, said locator service being operable to provide addressing information regarding said persistent distributed object; (2) a locator identifier corresponding to a daemon computer process under which said locator service resides, said daemon computer process being resident on said computer system; and (3) a subobject identifier suitable for use in identifying a subobject present in said persistent distributed object; such that said kind field, said object key, and said transient and persistent object identification fields uniquely identify and locate said distributed object.
Claim 3
Dependent Claim 18 words
An object as described in claim 1 wherein said kind field indicates that said object kind is transient.
Claim 4
Dependent Claim 20 words
An object as described in claim 2 wherein said set of endpoint addresses is a data element of variable length.
Claim 5
Dependent Claim 20 words
An object as described in claim 2 wherein said set of endpoint addresses is a data element of fixed length.
Claim 6
Dependent Claim 26 words
An object as described in 4 wherein one address of said set of endpoint addresses is a data element in the range of 24-128 bytes long.
Claim 7
Dependent Claim 26 words
An object as described in 4 wherein one address of said set of endpoint addresses is a data element in the range of 24-128 bytes long.
Claim 8
Dependent Claim 36 words
An object as described in claim 5 wherein 4 bytes of said one address is a server computer system network address and 2 bytes of said one address is a server computer process network port number.
Claim 9
Dependent Claim 28 words
An object as described in claim 2 wherein said set of endpoint addresses includes a server computer system network address and a server computer process network port number.
Claim 10
Dependent Claim 50 words
An object as described in claim 2 wherein the distributed object operating environment includes a client resident in a client computer process executing on a client computer system and said set of endpoint addresses and said incarnation number together indicate that said server computer process is said client computer process.
Claim 11
Dependent Claim 50 words
An object as described in claim 2 wherein the distributed object operating environment includes a client resident in a client computer process executing on a client computer system and said set of endpoint addresses and said incarnation number together indicate that said server computer system is said client computer system.
Claim 12
Dependent Claim 18 words
An object as described in claim 2 wherein said incarnation number is a data element of variable length.
Claim 13
Dependent Claim 18 words
An object as described in claim 10 wherein said incarnation number is a data element of fixed length.
Claim 14
Dependent Claim 22 words
An object as described in claim 11 wherein said incarnation number is a data element in the range of 1-16 bytes long.
Claim 15
Dependent Claim 23 words
An object as described in claim 2 wherein said incarnation number is a number indicating the creation time of said server computer process.
Claim 16
Dependent Claim 25 words
An object as described in claim 2 wherein said incarnation number is a predefined number which has a predefined meaning to the server computer process.
Claim 17
Dependent Claim 33 words
An object as described in claim 2 wherein said object key is an identifier which in conjunction with said set of addressing information and said incarnation number uniquely defines said transient server object.
Claim 18
Dependent Claim 21 words
An object as described in claim 15 wherein said object key is a identification number unique within said server computer process.
Claim 19
Dependent Claim 47 words
An object as described in claim 2 wherein said distributed object operating environment is a first distributed object operating environment, and wherein said object key includes a second object for use as a second object reference for a transient object of a second distributed object operating environment.
Claim 20
Dependent Claim 33 words
An object as described in claim 17 wherein said object key enables a client in said first distributed object operating environment to call said transient object of said second distributed object operating environment.
Claim 21
Dependent Claim 36 words
A transient server object corresponding to an object reference as described in claim 2, said transient server object having transient state associated with it, said transient state stored in transient memory on said server computer system.
Claim 22
Dependent Claim 37 words
A transient server object as recited in claim 19 wherein said transient server object is bound directly to said server computer process such that when said server computer process ceases, said transient server object ceases to exist.
Claim 23
Dependent Claim 44 words
A distributed object operating environment comprising: a plurality of computer systems; a computer network interconnecting said plurality of computer systems; and at least one object as recited in claim 1, said at least one object residing on one of said plurality of computer systems.
Claim 24
Dependent Claim 18 words
An object as described in claim 1, wherein said kind field indicates that said object kind is persistent.
Claim 25
Dependent Claim 20 words
An object as described in claim 22 wherein said data structure of said second object further includes a location hint.
Claim 26
Dependent Claim 64 words
An object as described in claim 23 wherein said location hint includes: a set of endpoint addresses corresponding to said second server computer system upon which said persistent server object resides; and an incarnation number corresponding to said second server computer process, such that said set of endpoint addresses, said incarnation number, and said object key uniquely identify and locate said persistent server object.
Claim 27
Dependent Claim 22 words
An object as described in claim 22 wherein said computer system on which a locator service exists is a server computer system.
Claim 28
Dependent Claim 44 words
A distributed object operating environment comprising: a plurality of computer systems; a computer network interconnecting said plurality of computer systems; and at least one object as recited in claim 1, said at least one object residing on one of said plurality of computer systems.

References Cited (Backward Citations)

US5201049A Cited
EP0365115A2 Cited
US5325524A Cited
US5247676A Cited
US5504895A Cited
US5287507A Cited
US5511197A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-27 2003-06-28 2003-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-27 2007-06-28 2007-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-27 2011-06-28 2011-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag