Method and apparatus for exchanging data between transactional and non-transactional input/output systems in a multi-processing, shared memory environment
First Claim
1. A queuing system for exchanging data elements between a transactional input/output (IO) system and a non-transactional IO system, said queuing system comprising:
- a queue including a plurality of memory slots;
a write pointer for successively designating memory slots of said queue permitting a process of either one of the transactional system and the non-transactional system to access the memory slots for enqueuing data elements thereto;
a read pointer for successively designating memory slots of said queue permitting a process of either one of the transactional system and the non-transactional system to access the memory slots for dequeuing and processing data elements contained therein; and
a control functional block operative to control;
a) ownership of each one of said read and write pointers by a process of either one of the transactional system and the non-transactional system;
b) ownership of a memory slot of said queue by a process of either one of the transactional system and the non-transactional system;
said queuing system permitting a controllable exchange of data elements between the transactional system and the non-transactional system.
14 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a queuing system, implemented in the memory of a computer by the execution of a program element. The queuing system includes a queue with a plurality of memory slots, a write pointer and a read pointer. The write pointer permits to enqueue data elements in successive memory slots of the queue. The read pointer permits to dequeue data elements from the queue memory slots for processing, where these data elements are potentially non-dequeuable. Upon identifying a non-dequeuable data element in a particular memory slot of the queue, the read pointer is capable to skip over the particular memory slot and move on to a successive memory slot.
-
Citations
13 Claims
-
1. A queuing system for exchanging data elements between a transactional input/output (IO) system and a non-transactional IO system, said queuing system comprising:
-
a queue including a plurality of memory slots;
a write pointer for successively designating memory slots of said queue permitting a process of either one of the transactional system and the non-transactional system to access the memory slots for enqueuing data elements thereto;
a read pointer for successively designating memory slots of said queue permitting a process of either one of the transactional system and the non-transactional system to access the memory slots for dequeuing and processing data elements contained therein; and
a control functional block operative to control;
a) ownership of each one of said read and write pointers by a process of either one of the transactional system and the non-transactional system;
b) ownership of a memory slot of said queue by a process of either one of the transactional system and the non-transactional system;
said queuing system permitting a controllable exchange of data elements between the transactional system and the non-transactional system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for exchanging data elements between a transactional input/output (IO) system and a non-transactional IO system, said method comprising the steps of:
-
providing a queue that includes a plurality of memory slots;
implementing a write pointer function to successively designate memory slots of said queue to permit a process of either one of the transactional system and the non-transactional system to access the memory slots for enqueuing data elements thereto;
implementing a read pointer function to successively designate memory slots of said queue to permit a process of either one of the transactional system and the non-transactional system to access the memory slots for dequeuing and processing data elements contained therein; and
implementing a control functional block to control;
a) ownership of each one of said read and write pointers by a process of either one of the transactional system and the non-transactional system;
b) ownership of a memory slot of said queue by a process of either one of the transactional system and the non-transactional system;
permitting a controllable exchange of data elements between the transactional system and the non-transactional system.
-
Specification