The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Jan. 04, 2005

Filed:

Apr. 21, 2000
Applicants:

Sai V. Allavarpu, Pleasanton, CA (US);

Anand J. Bhalerao, Santa Clara, CA (US);

Inventors:

Sai V. Allavarpu, Pleasanton, CA (US);

Anand J. Bhalerao, Santa Clara, CA (US);

Assignee:

Sun Microsystems, Inc., Santa Clara, CA (US);

Attorneys:
Primary Examiner:
Int. Cl.
CPC ...
G06F 1516 ;
U.S. Cl.
CPC ...
Abstract

A system and method for a synchronous task scheduler. The synchronous task scheduler may be used with a CORBA Gateway between CORBA-based client manager applications and an enterprise manager. The CORBA Gateway may include components such as an Event Gateway which manages events from managed objects, and a Request Gateway which manages requests and responses of managed objects. The Event Gateway and the Request Gateway may be designed as multi-threaded systems. A thread pool may be used to increase efficiency and performance of the CORBA Gateway. To ensure ordered delivery of events or replies to the CORBA gateway clients in a multi-threaded environment using a thread pool, a synchronous task scheduler may be used. There may be a synchronous task scheduler associated with each client manager to preserve the chronology of messages sent to each. The synchronous task scheduler may maintain an internal message list, and deliver one message at a time from that internal list. The synchronous task scheduler may hold a reference to a thread pool and use that thread pool to deliver messages. When a message is scheduled, the synchronous task scheduler may check if any message is already being delivered. If no prior message is currently being delivered, an available thread may be assigned from the thread pool for delivery of the message and the scheduler may initiate delivery of the message. If a prior message is being delivered, it may enqueue the message in the message list. Then, when the prior message delivery is completed, the scheduler may dequeue the message, assign another thread from the thread pool, and initiate delivery of the message. This may continue until the message list is empty.


Find Patent Forward Citations

Loading…