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

Efficient method router that supports multiple simultaneous object versions

Assignee: International Business Machines Corp
•
Filing: 1995-04-03
•
Granted: 1998-06-16
•
Expires: 2015-04-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract OOP environments comprise composite data structures and internal mechanisms for manipulating those structures. The structures are used to allow a user to realize the power of OOP. Hence, the layout of these structures, the way in which the structures inter-relate, and the manner in which they are built and used are all critical to the utility of a particular OOP environment. It is no surprise, then, that manufacturers and suppliers of OOP environments are constantly striving to design composite data structures and internal mechanisms which maximize user productivity. The internal mechanisms and structures that make up the present invention are collectively referred to as the New Object Model (NOM). The composite data structures and organization of the NOM OOP environment provide significant benefits that are not provided by the environments of the prior art. These benefits include: a more efficient method resolution scheme and the ability to add method programs and object instance data to a class definition without the need to recompile the majority of the code base.

Inventors

  • 👤 John Clarence Endicott
  • 👤 Steven Jay Munroe
  • 👤 Robert Peter Resch

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 12:26
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/71; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/449

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 198 words
A computer implemented method for invoking a method program for a particular class, said method comprising the steps of: calling an object, said calling step being performed via a calling statement, said calling statement comprising an address for said object, a level, and a method program offset, said level representing said class to which said call is to be directed and said method program offset representing a method program that is to be invoked; accessing said object via said object address; accessing an interface table via an interface table address stored in said object, comparing a call signature contained in said call statement with a class signature contained in said interface table: discontinuing said method if said call signature does not match said class signature and raising an error condition if said call signature does not match said class signature; accessing a method table via a method table address stored in said interface table if said call signature does match, said method table address being determined via said level; accessing a method program address, said method program address being accessed via said method program offset; and invoking said method program through the use of said method program address.
Claim 2
Dependent Claim 198 words
A computer implemented method for invoking a method program for a particular class, said method comprising the steps of: calling an object, said calling step being performed via a calling statement, said calling statement comprising an address for said object, a level, and a method program offset, said level representing said class to which said call is to be directed and said method program offset representing a method program that is to be invoked; accessing said object via said object address; accessing an interface table via an interface table address stored in said object, comparing a call signature contained in said call statement with a class signature contained in said interface table: discontinuing said method if said call signature does not match said class signature and raising an error condition if said call signature does not match said class signature; accessing a method table via a method table address stored in said interface table if said call signature does match, said method table address being determined via said level; accessing a method program address, said method program address being accessed via said method program offset; and invoking said method program through the use of said method program address.
Claim 3
Dependent Claim 48 words
The method of claim 1 wherein said invoking step further comprises the step of supplying said method program with said object address and a data offset, said object address and said data offset being used by said method program to access object instance variables stored in said object.
Claim 4
Independent Claim 213 words
An apparatus for invoking a method program for a particular class, said apparatus comprising: means for calling an object, said calling step being performed via a calling statement, said calling statement comprising an address for said object, a level, and a method program offset, said level representing said class to which said call is to be directed and said method program offset representing a method program that is to be invoked; means for accessing said object via said object address; means for accessing an interface table via an interface table address stored in said object; means for comparing a call signature contained in said call statement with a class signature contained in said interface table; means for discontinuing said method if said call signature does not match said class signature and for raising an error condition if said call signature does not match said class signature; means for accessing a method table via a method table address stored in said interface table if said call signature does match said class signature, said method table address being determined via said level; means for accessing a method program address, said method program address being accessed via said method program offset; and means for invoking said method program through the use of said method program address.
Claim 5
Independent Claim 213 words
An apparatus for invoking a method program for a particular class, said apparatus comprising: means for calling an object, said calling step being performed via a calling statement, said calling statement comprising an address for said object, a level, and a method program offset, said level representing said class to which said call is to be directed and said method program offset representing a method program that is to be invoked; means for accessing said object via said object address; means for accessing an interface table via an interface table address stored in said object; means for comparing a call signature contained in said call statement with a class signature contained in said interface table; means for discontinuing said method if said call signature does not match said class signature and for raising an error condition if said call signature does not match said class signature; means for accessing a method table via a method table address stored in said interface table if said call signature does match said class signature, said method table address being determined via said level; means for accessing a method program address, said method program address being accessed via said method program offset; and means for invoking said method program through the use of said method program address.
Claim 6
Dependent Claim 48 words
The apparatus of claim 3 wherein said means for invoking further comprises means for supplying said method program with said object address and a data offset, said object address and said data offset being used by said method program to access object instance variables stored in said object.

References Cited (Backward Citations)

US5093914A Cited
US5280610A Cited
US5475817A Cited
US5297284A Cited
US5261098A Cited
US5367635A Cited
US5361350A Cited
US5421016A Cited
US5371891A Cited
US5432936A Cited
US5327562A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-15 2001-12-15 2002-06-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-15 2005-12-15 2006-06-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-15 2009-12-15 2010-06-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag