Method and apparatus for multi-process access to a linked-list
First Claim
Patent Images
1. A method for retrieving data comprising:
- locking a linked list;
retrieving data from an element in said linked list and alsoadvancing to a subsequent element while a breakpoint is not encountered;
marking the subsequent element in said linked list as in-use when a breakpoint is encountered, wherein marking the subsequent element in said linked list as in-use comprises maintaining a count of a quantity of processes that require additional access to the element;
creating a recommencement reference to the subsequent element; and
unlocking said linked list.
4 Assignments
0 Petitions
Accused Products
Abstract
Data is retrieved from a linked-list by locking the linked-list, retrieving data from an element in the linked-list, advancing to a subsequent element in the linked-list while a breakpoint is not encountered and marking the subsequent element as “in-use” when a breakpoint is encountered. A reference to the subsequent element is then created before the linked-list is unlocked.
-
Citations
18 Claims
-
1. A method for retrieving data comprising:
-
locking a linked list; retrieving data from an element in said linked list and also advancing to a subsequent element while a breakpoint is not encountered; marking the subsequent element in said linked list as in-use when a breakpoint is encountered, wherein marking the subsequent element in said linked list as in-use comprises maintaining a count of a quantity of processes that require additional access to the element; creating a recommencement reference to the subsequent element; and unlocking said linked list. - View Dependent Claims (2, 3)
-
-
4. A method for deleting an element from a linked list comprising:
-
determining if the element to be deleted is in-use; updating a recommencement reference to the element to refer to a data element that is subsequent to the data element to be deleted when the element in is in-use, wherein said updating a recommencement reference to the element comprises; discovering a pointer associated with a process identifier; disassociating the process identifier from the pointer; determining a pointer to a subsequent element; and associating the process identifier with a newly determined pointer; and
deleting the element.
-
-
5. An apparatus for storing and retrieving data comprising:
-
processor to execute an instruction sequence; memory for storing an instruction sequence; input unit for receiving data; first output unit for providing data according to a received data request; one or more ancillary output units for providing data according to a received data request; instruction sequences stored in the memory including; data storage module that, when executed by the processor, minimally causes the processor to; receive data from the input unit; allocate a data element to accommodate the data; create a reference to the data element; store the reference in at least one of a header pointer and a forward pointer included in a preceding data element; and store the data in the data element; data service module that, when executed by the processor, minimally causes the processor to; recognize a data request from the first output unit to the exclusion of all other data requests; provide data to the first output unit from a data element according to a data element reference and also advance the data element reference to a subsequent data element while a breakpoint is not encountered; mark a subsequent data element as in-use when a breakpoint is encountered, wherein the data service module causes the processor to mark a subsequent data element as in-use by minimally causing the processor to increment a use counter included in a subsequent data element; create a recommencement reference to a subsequent data element; and enable recognition of other data requests. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage medium having imparted thereon one or more instruction sequences for storing and retrieving data comprising:
-
data storage module that, when executed by a processor, minimally causes the processor to; receive data from an input unit; allocate a data element to accommodate the data; create a reference to the data element; store the reference in at least one of a header pointer and a forward pointer included in a preceding data element; and store the data in the data element; data service module that, when executed by a processor, minimally causes the processor to; recognize a data request from a first output unit to the exclusion of all other data requests; provide data to a first output unit from a data element according to a data element reference and also advance the data element reference to a subsequent data element while a breakpoint is not encountered; mark a subsequent data element as in-use when a breakpoint is encountered, wherein the data service module causes a processor to mark a subsequent data element as in-use by minimally causing the processor to increment a use counter included in a subsequent data element; create a recommencement reference to a subsequent data element; and enable recognition of other data requests. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An apparatus for storing and retrieving data comprising:
-
means for locking a linked list; means for retrieving data from an element in said linked list and also advancing to a subsequent element while a breakpoint is not encountered; means for marking the subsequent element in said linked list as in-use when a breakpoint is encountered, wherein marking the subsequent element in said linked list as in-use comprises maintaining a count of a quantity of processes that require additional access to the element; means for creating a recommencement reference to the subsequent element; and means for unlocking said linked list. - View Dependent Claims (16, 17, 18)
-
Specification