System and method for shared memory based IPC queue template having event based notification
First Claim
1. A system for peer-based inter-process communication comprising:
- a plurality of peer processes, each process includinga bus system for selectively communicating data between first and second processes of the plurality thereof;
means adapted for generating, via the first process, a shared memory message template in accordance with a format acceptable to each of a plurality of peer processes thereto;
means adapted for setting an initialization process identification value to the first process;
means adapted for communicating a generated shared memory message template to each of the plurality of peer processes; and
a shared memory for selectively storing shared data in accordance with the generated shared memory message template such that shared data associated therewith is accessible by each of the plurality of processes;
wherein each process includes notification means adapted for notifying at least one of the plurality of processes when a modification is made to content of the shared memory; and
wherein each process includes a locking mechanism for selectively locking the shared memory from access by at least one other process.
1 Assignment
0 Petitions
Accused Products
Abstract
This invention is directed to a system and method for using a template that allows a user to define a specific message format for use in a shared memory queue in the inter-process communication environment. A shared segment of the size needed to hold the supplied number of elements and a queue header are created. The system then unmaps the queue from the user'"'"'s address space. The queue contents are reset to initialize the state. The supplied element in the queue is Pushed. The element for the queue First-In/First-Out (FIFO) is Popped. An element from the queue may be returned, without affecting queue status. The element content in the queue is then updated. The queue is subsequently locked for exclusive access. The lock may be released, enabling changes to the queue. The system also provides the element count in the queue and the logical name of the inter-process communication queue. The shared memory based header maintained by each inter-process communication queue allows all the clients of the queue to access queue information from a single source.
11 Citations
24 Claims
-
1. A system for peer-based inter-process communication comprising:
-
a plurality of peer processes, each process including a bus system for selectively communicating data between first and second processes of the plurality thereof; means adapted for generating, via the first process, a shared memory message template in accordance with a format acceptable to each of a plurality of peer processes thereto; means adapted for setting an initialization process identification value to the first process; means adapted for communicating a generated shared memory message template to each of the plurality of peer processes; and a shared memory for selectively storing shared data in accordance with the generated shared memory message template such that shared data associated therewith is accessible by each of the plurality of processes; wherein each process includes notification means adapted for notifying at least one of the plurality of processes when a modification is made to content of the shared memory; and wherein each process includes a locking mechanism for selectively locking the shared memory from access by at least one other process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for peer-based inter-process communication performed in a system comprising a plurality of peer processes, wherein the method comprises the steps of:
-
selectively communicating data between a first and a second process of the plurality of peer processes; generating, via the first process, a shared memory message template in accordance with a format acceptable to each of a plurality of peer processes thereto; setting an initialization process identification value to the first process; communicating a generated shared memory message template to each of the plurality of peer processes; selectively storing shared data in accordance with the generated shared memory message template such that shared data associated therewith is in a shared memory accessible by each of the plurality of processes; notifying at least one of the plurality of processes when a modification is made to content of the shared memory; and selectively locking the shared memory from access by at least one other process. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer implemented method for peer-based inter-process communication performed in a system comprising a plurality of peer processes, wherein the method comprises the steps of:
-
selectively communicating data between a first and a second process of the plurality of peer processes; generating, via the first process, a shared memory message template in accordance with a format acceptable to each of a plurality of peer processes thereto; setting an initialization process identification value to the first process; communicating a generated shared memory message template to each of the plurality of peer processes; selectively storing shared data in accordance with the generated shared memory message template such that shared data associated therewith is in a shared memory accessible by each of the plurality of processes; notifying at least one of the plurality of processes when a modification is made to content of the shared memory; and selectively locking the shared memory from access by at least one other process. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification