Synchronous task scheduler for corba gateway
First Claim
1. A network management system comprising:
- a gateway which is coupled to one or more managed objects and which is configured to deliver messages between the managed objects and one or more managers;
a platform-independent interface to the gateway, wherein the gateway is configurable to communicate with the managers through the platform-independent interface to deliver the messages;
a thread pool which provides allocation of thread resources to each of the one or more managers; and
one or more synchronous task schedulers corresponding respectively to each of the managers, wherein each synchronous task scheduler is operable to receive and enqueue pending messages associated with the corresponding manager and to dequeue and deliver each of the pending messages using a thread from the thread pool upon completion of delivery of previous messages so that the messages are delivered in an order in which the messages were enqueued.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
44 Claims
-
1. A network management system comprising:
-
a gateway which is coupled to one or more managed objects and which is configured to deliver messages between the managed objects and one or more managers;
a platform-independent interface to the gateway, wherein the gateway is configurable to communicate with the managers through the platform-independent interface to deliver the messages;
a thread pool which provides allocation of thread resources to each of the one or more managers; and
one or more synchronous task schedulers corresponding respectively to each of the managers, wherein each synchronous task scheduler is operable to receive and enqueue pending messages associated with the corresponding manager and to dequeue and deliver each of the pending messages using a thread from the thread pool upon completion of delivery of previous messages so that the messages are delivered in an order in which the messages were enqueued. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A network management method comprising:
-
receiving a current message from a managed object in a synchronous task scheduler;
enqueueing the current message in the synchronous task scheduler;
completing delivery of a previous message to a manager by the synchronous task scheduler after said enqueueing the current message in the synchronous task scheduler;
dequeueing the current message after said completing delivery of the previous message to the manager by the synchronous task scheduler through a platform-independent interface;
assigning a thread from a thread pool for sending the current message; and
sending the current message from the synchronous task scheduler to the manager using the assigned thread after said dequeueing the current message and assigning the thread from the thread pool so that the messages are delivered in an order in which the messages were enqueued. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A carrier medium comprising program instructions for network management, wherein the program instructions are computer-executable to perform:
-
receiving a current message from a managed object in a synchronous task scheduler;
enqueueing the current message in the synchronous task scheduler;
completing delivery of a previous message to a manager by the synchronous task scheduler after said enqueueing the current message in the synchronous task scheduler;
dequeueing the current message after said completing delivery of the previous message to the manager by the synchronous task scheduler through a platform-independent interface;
assigning a thread from a thread pool for sending the current message; and
sending the current message from the synchronous task scheduler to the manager using the assigned thread after said dequeueing the current message and assigning the thread from the thread pool so that the messages are delivered in an order in which the messages were enqueued. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification