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

Framework for marshaling and unmarshaling argument object references

Assignee: Oracle America Inc
•
Filing: 1996-06-26
•
Granted: 2000-03-28
•
Expires: 2016-06-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and devices for reducing computing overhead in a distributed client/server based computing system which utilize an efficient framework for marshaling and unmarshaling argument object references are disclosed. In one aspect of the invention, a method of unmarshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves identifying the subcontract identifier associated with the argument object reference, using the identified subcontract identifier to identify an appropriate associated unmarshal method, and calling the associated unmarshal method. In another aspect of the invention, a method of marshaling an argument object reference, which includes a subcontract identifier, that is a part of an argument encapsulated within a marshal buffer involves invoking a marshal method of a client representation in the argument object reference passing the marshal buffer as an argument to the marshal method.

Inventors

  • 👤 Swee Boon Lim
  • 👤 Ken M. Cavanaugh, III
  • 👤 Anita Jindal

Bibliographic Details

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

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 140 words
A method of unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the method comprising the steps of: a) identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by the marshal buffer; b) accessing a subcontract registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified subcontract, the subcontract registry accessing step being accomplished by the subcontract identified by the subcontract identifier; and c) calling the identified unmarshal method associated with the identified subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method unmarshals the argument object reference.
Claim 2
Independent Claim 140 words
A method of unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the method comprising the steps of: a) identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by the marshal buffer; b) accessing a subcontract registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified subcontract, the subcontract registry accessing step being accomplished by the subcontract identified by the subcontract identifier; and c) calling the identified unmarshal method associated with the identified subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method unmarshals the argument object reference.
Claim 3
Dependent Claim 113 words
A method as recited in claim 1 further comprising the step of determining whether the identified subcontract identifier is the same as an expected subcontract identifier, wherein: when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, steps (b) and (c) are performed; and when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, steps (b) and (c) are not performed and the method further comprises the step of calling an expected unmarshal method that corresponds to the expected subcontract identifier, wherein the expected unmarshal method is called passing the marshal buffer as an argument to the call.
Claim 4
Dependent Claim 26 words
A method as recited in claim 1 wherein the step of identifying the subcontract identifier is accomplished by invoking a peek method on the marshal buffer.
Claim 5
Dependent Claim 23 words
A method as recited in claim 1 wherein the object reference further includes a server identifier, an implementation identifier, and a user key.
Claim 6
Dependent Claim 40 words
A method as recited in claim 3 wherein the peek method is specific to the marshal buffer, the peek method being arranged to identify the subcontract identifier by reading bytes associated with an object key of the argument object reference.
Claim 7
Dependent Claim 157 words
A computer readable medium having programmed instructions for unmarshaling an argument object reference that is at least a part of an argument encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the computer readable medium having programmed instructions arranged to: a) identify a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by programmed instructions associated with the marshal buffer; b) access a subcontract registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified subcontract, the subcontract registry accessing step being accomplished by programmed instructions associated with the subcontract identified using the subcontract identifier; and c) call the identified unmarshal method associated with the identified subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method includes programmed instructions arranged to unmarshal the argument object reference.
Claim 8
Dependent Claim 157 words
A computer readable medium having programmed instructions for unmarshaling an argument object reference that is at least a part of an argument encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the computer readable medium having programmed instructions arranged to: a) identify a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by programmed instructions associated with the marshal buffer; b) access a subcontract registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified subcontract, the subcontract registry accessing step being accomplished by programmed instructions associated with the subcontract identified using the subcontract identifier; and c) call the identified unmarshal method associated with the identified subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method includes programmed instructions arranged to unmarshal the argument object reference.
Claim 9
Dependent Claim 134 words
A computer readable medium as recited in claim 6 further comprising programmed instructions for: determining whether the identified subcontract identifier is the same as an expected subcontract identifier, the programmed instructions further being arranged to perform steps (b) and (c) when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, and not perform steps (b) and (c) when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier; and calling an expected unmarshal method that corresponds to the expected subcontract identifier when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, wherein the programmed instructions are further arranged to pass the marshal buffer an argument to the call to the expected unmarshal method.
Claim 10
Dependent Claim 182 words
An argument object reference unmarshaler for use in a distributed, client server computing system, the argument object reference unmarshaler comprising: a marshal buffer for receiving a distributed request that includes an argument object reference, the argument object reference having a subcontract identifier; a peeking mechanism associated with the marshal buffer that peeks at the subcontract identifier associated with the argument object reference, the peeking mechanism being arranged to make an unmarshaling request call to a subcontract associated with the subcontract identifier; a subcontract registry having entries corresponding to a plurality of different subcontracts, the subcontract registry being arranged to identify an unmarshal method associated with each different subcontract; a subcontract registry searching mechanism associated with the subcontract, the subcontract registry searching mechanism being arranged to search the subcontract registry using the subcontract identifier found by the peeking mechanism as a key to identify the unmarshal method associated with the argument object reference; and a call dispatcher for calling the identified unmarshal method passing the marshal buffer as an argument to the call, whereby the identified unmarshal method unmarshals the argument object reference.
Claim 11
Dependent Claim 182 words
An argument object reference unmarshaler for use in a distributed, client server computing system, the argument object reference unmarshaler comprising: a marshal buffer for receiving a distributed request that includes an argument object reference, the argument object reference having a subcontract identifier; a peeking mechanism associated with the marshal buffer that peeks at the subcontract identifier associated with the argument object reference, the peeking mechanism being arranged to make an unmarshaling request call to a subcontract associated with the subcontract identifier; a subcontract registry having entries corresponding to a plurality of different subcontracts, the subcontract registry being arranged to identify an unmarshal method associated with each different subcontract; a subcontract registry searching mechanism associated with the subcontract, the subcontract registry searching mechanism being arranged to search the subcontract registry using the subcontract identifier found by the peeking mechanism as a key to identify the unmarshal method associated with the argument object reference; and a call dispatcher for calling the identified unmarshal method passing the marshal buffer as an argument to the call, whereby the identified unmarshal method unmarshals the argument object reference.
Claim 12
Independent Claim 209 words
A method of unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the method comprising: identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying is accomplished by the marshal buffer using a reading function that is specific to the marshal buffer, the subcontract identifier being associated with an object key of the argument object reference; determining whether the identified subcontract identifier is the same as an expected subcontract identifier; when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, calling an expected unmarshal method that corresponds to the expected subcontract identifier, the expected unmarshal method calling being accomplished by the subcontract identified by the subcontract identifier, wherein the expected unmarshal method is called passing the marshal buffer and the identified subcontract identifier as arguments; and when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, using the identified subcontract identifier as an index into a registry to locate a suitable unmarshal method for unmarshaling the argument object reference.
Claim 13
Independent Claim 209 words
A method of unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the method comprising: identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying is accomplished by the marshal buffer using a reading function that is specific to the marshal buffer, the subcontract identifier being associated with an object key of the argument object reference; determining whether the identified subcontract identifier is the same as an expected subcontract identifier; when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, calling an expected unmarshal method that corresponds to the expected subcontract identifier, the expected unmarshal method calling being accomplished by the subcontract identified by the subcontract identifier, wherein the expected unmarshal method is called passing the marshal buffer and the identified subcontract identifier as arguments; and when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, using the identified subcontract identifier as an index into a registry to locate a suitable unmarshal method for unmarshaling the argument object reference.
Claim 14
Dependent Claim 172 words
A computer program product comprising a computer-usable medium having computer-readable code embodied thereon for unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a buffer, the argument object reference including a subcontract identifier, the argument object reference defined within a distributed client/server based computer system, the computer program comprising computer-readable program code for effecting the following steps within the computer system: a) identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by the marshal buffer; b) accessing a subcontract registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified subcontract, the subcontract registry accessing step being accomplished by the subcontract identified by the subcontract identifier; and c) calling the identified unmarshal method associated with the identified subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method unmarshals the argument object reference.
Claim 15
Dependent Claim 172 words
A computer program product comprising a computer-usable medium having computer-readable code embodied thereon for unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a buffer, the argument object reference including a subcontract identifier, the argument object reference defined within a distributed client/server based computer system, the computer program comprising computer-readable program code for effecting the following steps within the computer system: a) identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by the marshal buffer; b) accessing a subcontract registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified subcontract, the subcontract registry accessing step being accomplished by the subcontract identified by the subcontract identifier; and c) calling the identified unmarshal method associated with the identified subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method unmarshals the argument object reference.
Claim 16
Dependent Claim 102 words
A computer program product comprising computer-readable program code as recited in claim 10 further effecting the step of determining whether the identified subcontract identifier is the same as an expected subcontract identifier, wherein: when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, steps (b) and (c) are performed; and when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, steps (b) and (c) are not performed and the method further comprises the step of calling an expected unmarshal method that corresponds to the expected subcontract identifier.
Claim 17
Dependent Claim 32 words
A computer program product comprising computer-readable program code as recited in claim 10 wherein the step of identifying the subcontract identifier is accomplished by invoking a peek method on the marshal buffer.
Claim 18
Dependent Claim 29 words
A computer program product comprising computer-readable program code as recited in claim 10 wherein the object reference further includes a server identifier, an implementation identifier, and a user key.
Claim 19
Dependent Claim 246 words
A computer program product comprising a computer-usable medium having computer-readable code embodied thereon for unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the argument object reference defined within a distributed client/server based computer system, the computer program product comprising computer-readable code for effecting the following steps within the computer system: identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by the marshal buffer using a reading function that is specific to the marshal buffer, the subcontract identifier being associated with an object key of the argument object reference; determining whether the identified subcontract identifier is the same as an expected subcontract identifier; when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, calling an expected unmarshal method that corresponds to the expected subcontract identifier, the expected unmarshal method calling being accomplished by the subcontract identified by the subcontract identifier, wherein the expected unmarshal method is called passing the marshal buffer and the identified subcontract identifier as arguments; and when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, using the identified subcontract identifier as an index into a registry to locate a suitable unmarshal method for unmarshaling the argument object reference.
Claim 20
Dependent Claim 246 words
A computer program product comprising a computer-usable medium having computer-readable code embodied thereon for unmarshaling an argument object reference that is at least a part of an argument in an invocation request encapsulated within a marshal buffer, the argument object reference including a subcontract identifier, the argument object reference defined within a distributed client/server based computer system, the computer program product comprising computer-readable code for effecting the following steps within the computer system: identifying a subcontract associated with the argument object reference by reading the subcontract identifier in the argument object reference, wherein the subcontract identifying step is accomplished by the marshal buffer using a reading function that is specific to the marshal buffer, the subcontract identifier being associated with an object key of the argument object reference; determining whether the identified subcontract identifier is the same as an expected subcontract identifier; when it is determined that the identified subcontract identifier is the same as the expected subcontract identifier, calling an expected unmarshal method that corresponds to the expected subcontract identifier, the expected unmarshal method calling being accomplished by the subcontract identified by the subcontract identifier, wherein the expected unmarshal method is called passing the marshal buffer and the identified subcontract identifier as arguments; and when it is determined that the identified subcontract identifier is not the same as the expected subcontract identifier, using the identified subcontract identifier as an index into a registry to locate a suitable unmarshal method for unmarshaling the argument object reference.
Claim 21
Dependent Claim 162 words
A computer-implemented method for performing an invocation associated with a client representation, the client representation being associated with a distributed, client server computing system, the computer-implemented method comprising: invoking a first subcontract, the first subcontract being associated with the client representation; determining a transport, the transport being associated with the first subcontract; creating a marshal buffer, the marshal buffer being associated with the transport; marshaling a first set of information, wherein the first set of information is marshaled into the marshal buffer as contents of the marshal buffer; transmitting the contents of the marshal buffer over the transport to an end point associated with a server; receiving a second set of information from the server; encapsulating the second set of information from the server in the marshal buffer; and unmarshaling at least some of the second set of information from the marshal buffer, wherein the second set of information includes an argument object reference, the unmarshaling including unmarshaling the argument object reference.
Claim 22
Dependent Claim 162 words
A computer-implemented method for performing an invocation associated with a client representation, the client representation being associated with a distributed, client server computing system, the computer-implemented method comprising: invoking a first subcontract, the first subcontract being associated with the client representation; determining a transport, the transport being associated with the first subcontract; creating a marshal buffer, the marshal buffer being associated with the transport; marshaling a first set of information, wherein the first set of information is marshaled into the marshal buffer as contents of the marshal buffer; transmitting the contents of the marshal buffer over the transport to an end point associated with a server; receiving a second set of information from the server; encapsulating the second set of information from the server in the marshal buffer; and unmarshaling at least some of the second set of information from the marshal buffer, wherein the second set of information includes an argument object reference, the unmarshaling including unmarshaling the argument object reference.
Claim 23
Dependent Claim 109 words
A computer-implemented method as recited in claim 15 wherein unmarshaling includes: identifying a second subcontract by reading a subcontract identifier associated with the argument object reference, the second subcontract being associated with the argument object reference, wherein identifying the second subcontract is accomplished by the marshal buffer; accessing a registry using the subcontract identifier as a key to identify an unmarshal method associated with the identified second subcontract, the registry accessing being accomplished by the second subcontract; and calling the identified unmarshal method associated with the identified second subcontract passing the marshal buffer as an argument to the call, wherein the identified unmarshal method unmarshals the argument object reference.

References Cited (Backward Citations)

US5307490A Cited
US5577251A Cited
US5787251A Cited
US5737607A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag