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

Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive

Assignee: International Business Machines Corp
•
Filing: 1995-08-18
•
Granted: 1999-03-09
•
Expires: 2015-08-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An event management service (EMS) operating in a distributed computing environment includes a queueing mechanism for controlling passage of events through an event channel when multiple event consumers cannot consume events being generated by one or more event suppliers as the events are being generated. The queueing mechanism includes a number of queues: an input queue that receives queue elements for each event that reaches the service, an active queue that receives queue elements for each event that any event consumer has registered to receive, and a consumer queue for each event consumer registered to receive any event. A multi-threaded process control routine processes the queue elements to control passage of the events to the event consumers.

Inventors

  • 👤 Richard Jay Cohen

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:20
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/542

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 283 words
A queueing mechanism for an event management service operating in a distributed computing environment, wherein the event management service provides an event channel through which one or more event consumers are notified of events, wherein an event represents a change in state of a resource in the distributed computing environment and is supplied to the event management service by an event supplier, the queueing mechanism comprising: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of the consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event; wherein the active queue, the plurality of consumer queues and the control means enable one or more event suppliers to forward events to the event management service and the event management service to forward events to the one or more event consumers even if multiple event consumers cannot consume events being generated by the one or more event suppliers as the events are being generated.
Claim 2
Dependent Claim 283 words
A queueing mechanism for an event management service operating in a distributed computing environment, wherein the event management service provides an event channel through which one or more event consumers are notified of events, wherein an event represents a change in state of a resource in the distributed computing environment and is supplied to the event management service by an event supplier, the queueing mechanism comprising: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of the consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event; wherein the active queue, the plurality of consumer queues and the control means enable one or more event suppliers to forward events to the event management service and the event management service to forward events to the one or more event consumers even if multiple event consumers cannot consume events being generated by the one or more event suppliers as the events are being generated.
Claim 3
Dependent Claim 29 words
The queueing mechanism as described in claim 1 further including an input queue having queue elements each associated with an event generated by the one or more event suppliers.
Claim 4
Dependent Claim 23 words
The queueing mechanism as described in claim 2 wherein the one queue element of the active queue is obtained from the input queue.
Claim 5
Dependent Claim 33 words
The queueing mechanism as described in claim 2 wherein the control means comprises a first process running in a first thread of a process control for processing queue elements of the input queue.
Claim 6
Dependent Claim 38 words
The queueing mechanism as described in claim 4 wherein the control means also includes a second process running in a second thread of the process control for processing queue elements of at least one of the consumer queues.
Claim 7
Dependent Claim 35 words
The queueing mechanism as described in claim 5 wherein the control means also includes a third process running in a third thread of the process control for processing remote procedure calls to the input queue.
Claim 8
Dependent Claim 58 words
The queueing mechanism as described in claim 1 wherein the active queue has a plurality of queue elements each associated with an event that at least one event consumer has an interest in receiving, each said queue element associated with an event having a count identifying a number of event consumers that have interest in receiving the event.
Claim 9
Dependent Claim 27 words
The queueing mechanism as described in claim 7 wherein the control means comprises a plurality of process routines executing in different threads of a multi-threaded control routine.
Claim 10
Dependent Claim 292 words
In a computer network providing a distributed computing environment in which users can access distributed resources, the improvement comprising: event notification service means for establishing an event channel through which one or more event consumers are notified of events wherein an event represents a change in state of a resource in the distributed computing environment and is supplied to the event notification service means by an event supplier; and a queueing mechanism comprising: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of a consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event; wherein the active queue, the plurality of consumer queues and the control means enable one or more event suppliers to forward events to the event notification service means and the event notification service means to forward events to the one or more event consumers even if multiple event consumers cannot consume events being generated by the one or more event suppliers as the events are being generated.
Claim 11
Dependent Claim 292 words
In a computer network providing a distributed computing environment in which users can access distributed resources, the improvement comprising: event notification service means for establishing an event channel through which one or more event consumers are notified of events wherein an event represents a change in state of a resource in the distributed computing environment and is supplied to the event notification service means by an event supplier; and a queueing mechanism comprising: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of a consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event; wherein the active queue, the plurality of consumer queues and the control means enable one or more event suppliers to forward events to the event notification service means and the event notification service means to forward events to the one or more event consumers even if multiple event consumers cannot consume events being generated by the one or more event suppliers as the events are being generated.
Claim 12
Dependent Claim 34 words
The computer network as described in claim 9 wherein the queueing mechanism further includes an input queue for receiving queue elements each associated with an event generated by the one or more event suppliers.
Claim 13
Dependent Claim 27 words
The computer network as described in claim 10 wherein the control means comprises a plurality of process routines executing in different threads of a multi-threaded control routine.
Claim 14
Dependent Claim 27 words
The computer network as described in claim 11 wherein each of the consumer queues has a process routine associated therewith executing in one of the different threads.
Claim 15
Dependent Claim 294 words
A computer system for use in a distributed computing environment, comprising: a processor; an operating system running on the processor; event management service (EMS) program means run by the operating system for establishing an event channel through which one or more consumer processes are notified of events, wherein an event represents a change of state of a resource in the distributed computing environment and is provided to the event management service program means by a supplier process; and queueing means for enabling one or more supplier processes to forward events to the event management service program means and the event management service program means to forward events to the one or more consumer processes even if multiple consumer processes cannot consume events being generated by the one or more supplier processes as the events are being generated; wherein the queueing means comprises: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of a consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event.
Claim 16
Dependent Claim 294 words
A computer system for use in a distributed computing environment, comprising: a processor; an operating system running on the processor; event management service (EMS) program means run by the operating system for establishing an event channel through which one or more consumer processes are notified of events, wherein an event represents a change of state of a resource in the distributed computing environment and is provided to the event management service program means by a supplier process; and queueing means for enabling one or more supplier processes to forward events to the event management service program means and the event management service program means to forward events to the one or more consumer processes even if multiple consumer processes cannot consume events being generated by the one or more supplier processes as the events are being generated; wherein the queueing means comprises: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of a consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event.
Claim 17
Dependent Claim 33 words
The computer system as described in claim 13 wherein the queueing means further includes an input queue having queue elements each associated with an event generated by the one or more event suppliers.
Claim 18
Dependent Claim 271 words
An article of manufacture, comprising: a computer-readable storage medium having a substrate; and computer program data encoded in the substrate of the computer-readable storage medium, wherein the storage medium so configured causes a computer to manage event data, wherein the computer program data comprises: event management service (EMS) program means for establishing an event channel through which one or more consumer processes are notified of events, wherein an event represents a change in state and is supplied to the event management service program means by a supplier process; and means for queueing events when multiple consumer processes cannot consume events being generated by one or more supplier processes as the events are being generated, wherein the queueing means comprises: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of a consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event.
Claim 19
Dependent Claim 271 words
An article of manufacture, comprising: a computer-readable storage medium having a substrate; and computer program data encoded in the substrate of the computer-readable storage medium, wherein the storage medium so configured causes a computer to manage event data, wherein the computer program data comprises: event management service (EMS) program means for establishing an event channel through which one or more consumer processes are notified of events, wherein an event represents a change in state and is supplied to the event management service program means by a supplier process; and means for queueing events when multiple consumer processes cannot consume events being generated by one or more supplier processes as the events are being generated, wherein the queueing means comprises: an active queue having at least one queue element associated with an event that at least one event consumer has an interest in receiving, said queue element having a count identifying a number of event consumers that have interest in receiving the event; a plurality of consumer queues each associated with an event consumer having an interest in receiving the event, each consumer queue having a queue element pointing to the at least one queue element in the active queue; and control means for (a) delivering an event associated with the queue element of each consumer queue to an associated event consumer, (b) modifying the count with each delivery of the event associated with the queue element of a consumer queue, and (c) retaining the queue element of the active queue in the active queue until the count reaches a predetermined value indicating that all interested event consumers have received the event.

References Cited (Backward Citations)

US4395757A Cited
US5230048A Cited
US5253342A Cited
US5075847A Cited
US5345588A Cited
US5404521A Cited
US5355484A Cited
US5421013A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-08 2002-09-07 2003-03-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-08 2006-09-07 2007-03-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-08 2010-09-07 2011-03-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag