Event Queue Management For Embedded Systems
Abstract
An event management structure for an embedded system, which supports multiple waiters waiting on the same event without replicating the events for each waiter, is provided. Notifications of events are received from entities within an embedded system. The event management architecture then posts the events to a central queue and generates a unique identification tag for each posted event. Additionally, entities within the embedded system are allowed to wait on specific events. More specifically, entities may request access to specific events based on the unique identification tag associated with a particular event. In further implementations, data associated with queued events may be provided to the waiters. In some implementations, events matching a specific description since a particular event, identified by its unique identification tag, may be requested by entities in the embedded system.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A real-time operating system executable by an embedded system comprising:
an event queue configured to store information about events occurring within an embedded system; an event posting module configured to allow entities within the embedded system to post events to the event queue; a waiter registration module configured to allow entities within the embedded system to wait on the occurrence of a particular event; a waiter notification module configured to notify entities within the embedded system of particular events within the event queue; and an event data access module configured to allow entities within the embedded system to access data associated with an event.
2 . The real-time operating system recited in claim 1 , wherein the event queue is a circular buffer.
3 . The real-time operating system recited in claim 1 , further comprising an event queue size module configured to dynamically adjust the size of the event queue.
4 . The real-time operating system recited in claim 1 , further comprising:
a plurality of event queues; and an event queue access module configured to authenticate entities within the embedded system for posting and waiting privileges to each of the plurality of event queues based on a selected access control scheme.
5 . A computer-implemented method for managing an event queue within a real-time operating system executable on an embedded system, the method comprising:
receiving a request from a first entity within an embedded system to wait on a first event; determining when the first event is posted to an event queue; notifying the first entity once the event is posted; and providing access to data associated with the event to the first entity.
6 . The computer-implemented method recited in claim 5 , further comprising:
receiving a request to post a second event to the event queue from a second entity within the embedded system; generating a unique identification tag for the second event; and adding the second event to the event queue.
7 . The computer-implemented method recited in claim 6 , further comprising adding data associated with the second event to the event queue.
8 . The computer-implemented method recited in claim 5 , wherein the request from the first entity identifies the first event by a first unique identification tag, the method act of determining when the first event is posted to the event queue comprising:
searching the event queue to determine if an event having the first unique identification tag is stored within the event queue; again searching the event queue if determined that an event having the first unique identification tag is stored within the event queue, to determine a first event is stored within the event queue; providing details of the event matching the first unique identification tag to the first entity if it is determined that an event having the first unique identification tag is stored within the event queue; and waiting for the first event if it is determined that an event having the first event is not stored in the event queue; and generating an error if it is determined that an event having the first unique identification tag is not stored within the event queue.
9 . The computer-implemented method recited in claim 8 , further comprising modifying the size of the event queue.
10 . One or more non-transient computer readable storage media having instructions stored thereon that cause a computer to perform a set of operations, the set of operations comprising:
receiving a request from an entity within an embedded system to wait on an event; determining when the event is posted to an event queue; notifying the entity once the event is posted; and providing access to data associated with the event to the entity.
11 . The one or more non-transient computer readable media recited in claim 10 , the set of operations further comprising:
receiving a request to post a second event to the event queue from a second entity within the embedded system; generating a unique identification tag for the second event; and adding the second event to the event queue.
12 . The one or more non-transient computer readable media recited in claim 11 , the set of operations further comprising adding data associated with the second event to the event queue.
13 . The one or more non-transient computer readable media recited in claim 10 , wherein the request from the first entity identifies the first event by a first unique identification tag, the operations for determining when the first event is posted to the event queue comprising:
searching the event queue to determine if an event having the first unique identification tag is stored within the event queue; providing details of the event matching the first unique identification tag to the first entity if it is determined that an event having the first unique identification tag is stored within the event queue; and generating an error if it is determined that an event having the first unique identification tag is not stored within the event queue.
14 . The one or more non-transient computer readable media recited in claim 13 , the set of operations further comprising modifying the size of the event queue.
15 . An embedded system comprising:
a processor; a plurality of entities; an event queue; and a memory having a set of instructions stored thereon that cause the embedded system to perform a set of operations, the set of operations comprising:
receiving a request from a first one of the plurality of entities to wait on a first event;
determining when the first event is posted to the event queue;
notifying the first entity once the event is posted; and
providing access to data associated with the event to the first entity.
16 . The embedded system recited in claim 15 , the set of operations further comprising:
receiving a request to post a second event to the event queue from a second one of the plurality of entities; generating a unique identification tag for the second event; and adding the second event to the event queue.
17 . The embedded system recited in claim 16 , the set of operations further comprising adding data associated with the second event to the event queue.
18 . The embedded system recited in claim 15 , wherein the request from the first entity identifies the first event by a first unique identification tag, the operation for determining when the first event is posted to the event queue comprising:
searching the event queue to determine if an event having the first unique identification tag is stored within the event queue; providing details of the event matching the first unique identification tag to the first entity if it is determined that an event having the first unique identification tag is stored within the event queue; and generating an error if it is determined that an event having the first unique identification tag is not stored within the event queue.
19 . The embedded system recited in claim 18 , the set of operations further comprising modifying the size of the event queue.Join the waitlist — get patent alerts
Track US2013239124A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.