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

Controlling method invocation sequence through virtual functions in an object-oriented class library

Assignee: International Business Machines Corp
•
Filing: 1996-07-02
•
Granted: 1997-05-20
•
Expires: 2016-07-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A mechanism for controlling method invocation and avoiding problems such as premature method execution before object construction and premature object destruction before method completion, is provided through a protocol function table in a class library. For any virtual functions declared in a class library, the thread of control invoking the function is re-directed through the protocol function table where it is either selectively accepted or delayed for later acceptance pending completion of some related procedure. When used in conjunction with an automatic routine for locating the originating point in an operating program, the protocol function table is particularly useful for executing concurrency in object-oriented applications.

Inventors

  • 👤 William G. O'Farrell

Bibliographic Details

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

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 185 words
A method for providing concurrent execution capability to an object-oriented computer program compiled under a non-extended compiler, said object-oriented computer program is to be executed in a multi-threaded computing environment, wherein said method comprising the steps of: constructing a class object having virtual functions from a class library within said object-oriented computer program in a dynamic memory storage; generating a virtual function table pointer in a first location within said class object, wherein said virtual function table pointer is indexing virtual functions of said class object to a virtual function table; copying said virtual function table pointer to a second location within said class object; replacing said virtual function table pointer in said first location within said class object with a protocol function table pointer, wherein said protocol function table pointer is indexing said virtual functions in said class object to a protocol function table for selectively delaying execution of virtual functions invoked through said class object; .and compiling said object-oriented computer program utilizing a non-extended compiler such that concurrent execution capability of said object-oriented computer program can be enabled in said multi-threaded computing environment.
Claim 2
Independent Claim 185 words
A method for providing concurrent execution capability to an object-oriented computer program compiled under a non-extended compiler, said object-oriented computer program is to be executed in a multi-threaded computing environment, wherein said method comprising the steps of: constructing a class object having virtual functions from a class library within said object-oriented computer program in a dynamic memory storage; generating a virtual function table pointer in a first location within said class object, wherein said virtual function table pointer is indexing virtual functions of said class object to a virtual function table; copying said virtual function table pointer to a second location within said class object; replacing said virtual function table pointer in said first location within said class object with a protocol function table pointer, wherein said protocol function table pointer is indexing said virtual functions in said class object to a protocol function table for selectively delaying execution of virtual functions invoked through said class object; .and compiling said object-oriented computer program utilizing a non-extended compiler such that concurrent execution capability of said object-oriented computer program can be enabled in said multi-threaded computing environment.
Claim 3
Dependent Claim 23 words
The method according to claim 1, further comprising the step of storing said virtual function table as a variable in said class object.
Claim 4
Dependent Claim 187 words
A memory for providing concurrent execution capability to an object-oriented computer program compiled under a non-extended compiler, wherein said memory comprising: means for constructing a class object having virtual functions from a class library within said object-oriented computer program in a dynamic memory storage; means for generating a virtual function table pointer in a first location within said class object, wherein said virtual function table pointer is indexing virtual functions of said class object to a virtual function table; means for copying said virtual function table pointer to a second location within said class object; means for replacing said virtual function table pointer in said first location within said class object with a protocol function table pointer, wherein said protocol function table pointer is indexing said virtual functions in said class object to a protocol function table, wherein said protocol function table comprises protocol functions for selectively delaying execution of virtual functions invoked through said class object; and means for compiling said object-oriented computer program utilizing a non-extended compiler such that concurrent execution capability of said object-oriented computer program can be enabled in said multi-threaded computing environment.
Claim 5
Dependent Claim 187 words
A memory for providing concurrent execution capability to an object-oriented computer program compiled under a non-extended compiler, wherein said memory comprising: means for constructing a class object having virtual functions from a class library within said object-oriented computer program in a dynamic memory storage; means for generating a virtual function table pointer in a first location within said class object, wherein said virtual function table pointer is indexing virtual functions of said class object to a virtual function table; means for copying said virtual function table pointer to a second location within said class object; means for replacing said virtual function table pointer in said first location within said class object with a protocol function table pointer, wherein said protocol function table pointer is indexing said virtual functions in said class object to a protocol function table, wherein said protocol function table comprises protocol functions for selectively delaying execution of virtual functions invoked through said class object; and means for compiling said object-oriented computer program utilizing a non-extended compiler such that concurrent execution capability of said object-oriented computer program can be enabled in said multi-threaded computing environment.
Claim 6
Dependent Claim 23 words
The memory according to claim 3, further comprising the means for storing said virtual function table as a variable in said class object.

References Cited (Backward Citations)

US5093914A Cited
US5297284A Cited
US5421016A Cited
US5355496A Cited
US5404525A Cited
US5515536A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-05-19 2000-11-18 2001-05-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-05-19 2004-11-18 2005-05-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-05-19 2008-11-18 2009-05-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag