IP Library Granted Patent US 6,957,436
Granted Patent B1
US 6,957,436 · App. 09/890,444 · Granted Oct 18, 2005

Method and system for multi-threaded object loading and unloading

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,957,436
App. No.
09/890,444
Granted
Oct 18, 2005
Kind
B1
Abstract

A method for controlling a table containing a list of active objects. The table is accessed by one or more threads in a multi-threaded computing environment. The method comprising the steps of mutex locking the table with a first thread when activating an object provided that the table is not locked by a second thread, and creating an entry for the object in the table when the entry does not exist in the table, wherein the entry includes a reference count. The method further comprises the steps of incrementing the reference count of the object if the table is locked by the second thread, and unlocking the table from the mutex lock after incrementing the reference count whether or not the object is completely activated. A system configured to perform steps similar to the above described steps is also provided.

Claims (43)

1. A method of controlling a life cycle of an object in a multi-thread computing environment, comprising:

creating a table containing a list of active objects;

determining whether or not an object is listed in the table; and

if the object is not listed in the table, then:

mutex locking the table;

entering an object id of the object into the table;

setting a first count associated with the object id in the table to value of one; and

unlocking the mutex lock without waiting until the object is completely loaded.

2. The method of claim 1 if the object is listed in the table, then:

incrementing the first count; and

determining whether or not the object is etherealizing.

3. The method of claim 2 if the object is etherealizing, then:

waiting the object to be completely etherealized; and

reactivating the object.

4. The method of claim 1 further comprising:

incrementing the first count when an additional request is made to the object; and

decrementing the first count when the request is dispatched on the object.

5. The method of claim 4 further comprising:

deactivating the object only when the first count is equal to zero.

6. A method for controlling a table containing a list of active objects, wherein the table is accessed by one or more threads in a multi-threaded computing environment, comprising:

mutex locking the table with a first thread when activating an object provided that the table is not locked by a second thread;

creating an entry for the object in the table when the entry does not exist in the table, wherein the entry includes a reference count;

incrementing the reference count of the object if the table is locked by the second thread; and

unlocking the table from the mutex lock after incrementing the reference count whether or not the object is completely activated.

7. The method of claim 6 further comprising:

etherealizing the object only when the reference count of the object is zero.

8. The method of claim 6 further comprising:

incrementing a reactivation count if the object is etherealizing when the first thread attempts to activate the object, wherein the entry of the table further includes the reactivation count.

9. The method of claim 8 further comprising:

broadcasting the reactivation count to wake any waiting object to reactivate the etherealized object.

10. The method of claim 8 further comprising:

decrementing the reference count after dispatching a request on the object.

11. The method of claim 10 further comprising:

deactivating the object only when the reference count is equal to zero.

12. A server computer in a client-server computing environment, comprising:

a memory configured to store a table containing a list of active objects; and

a processor configured to determine whether or not the object is listed in the table;

wherein the processor, if the object is not listed in the table, is further configured to mutex lock the table, to enter an object id of the object to be activated into the table, to set a first count to one, and to unlock the mutex lock without waiting until the object is completely loaded; and

wherein the first count is associated with the object id in the table.

13. The server of claim 12 wherein the processor is further configured to increment the first count and to determine whether or not the object is etherealizing if the object is listed in the table.

14. The server of claim 13 wherein the processor is further configured to wait the object to be completely etherealized, and to reactivate the object if the object is etherealizing.

15. The server of claim 11 wherein the processor is further configure to increment the first count when an additional request is made to the object and to decrement the first count when the request is dispatched on the object.

16. The server of claim 15 wherein the processor is further configured to deactivate the object only when the first count is equal to zero.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 2, 2017
From: BANK OF AMERICA, N.A.
To: MICRO FOCUS IP DEVELOPMENT LIMITED; MICRO FOCUS (IP) LIMITED
Reel/Frame 042205/0235 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2017
From: BANK OF AMERICA, N.A.
To: MICRO FOCUS IP DEVELOPMENT LIMITED; MICRO FOCUS (IP) LIMITED
Reel/Frame 042205/0867 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR FIELD TO SHOW MICRO FOCUS (IP) LIMITED AS AN ASSIGNOR/GRANTOR TO THE SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 035633 FRAME 0599. ASSIGNOR(S) HEREBY CONFIRMS THE GRANT OF SECURITY INTEREST. Recorded May 15, 2015
From: MICRO FOCUS IP DEVELOPMENT LIMITED; MICRO FOCUS (IP) LIMITED
To: BANK OF AMERICA, N.A.
Reel/Frame 035685/0628 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS IP DEVELOPMENT LIMITED
To: BANK OF AMERICA, N.A.
Reel/Frame 035633/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2013
From: IONA TECHNOLOGIES LIMITED
To: MICRO FOCUS IP DEVELOPMENT LIMITED
Reel/Frame 029832/0838 →
RE-REGISTRATION AS A PRIVATE COMPANY Recorded Sep 21, 2009
From: IONA TECHNOLOGIES, PLC
To: IONA TECHNOLOGIES LIMITED
Reel/Frame 023254/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2001
From: MIHIC, MATTHEW A.
To: IONA TECHNOLOGIES, PLC
Reel/Frame 012387/0297 →