IP Library Granted Patent US 9,684,737
Granted Patent B2
US 9,684,737 · App. 14/182,909 · Granted Jun 20, 2017

Accessing an N-way linked list

Inventor: Burkhard Steinmacher-Burow (Esslingen, DE)
Assignee: International Business Machines Corporation
G06F17/30958G06F12/023G06F3/0482G06F3/0489
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,684,737
App. No.
14/182,909
Granted
Jun 20, 2017
Kind
B2
Abstract

Computer-implemented methods for accessing a particular element of a plurality of elements stored in an N-way linked list in a computer memory provide for adding or removing elements at locations within the list. The methods may be employed with LIFO or FIFO N-way linked lists. The methods may include traversing the N sub-lists in parallel as well as the use of single instruction multiple data operations.

Claims (43)

1. A computer-implemented method for accessing a particular element of a plurality of elements stored in an N-way linked list in a computer memory, the N-way linked list having N linked sub-lists and a list order, each element being in one of the N sub-lists and including a pointer to a next sequential element in a same sub-list, comprising:

identifying a location of the particular element;

identifying respective locations of N neighbor elements consecutive to the particular element in list order;

for each of the N neighbor elements, redirecting a pointer of a respective neighbor element to point to an element one position away, in list order, from an element currently pointed to by the respective neighbor element; and

removing the particular element,

wherein the identifying of respective locations of N neighbor elements consecutive to the particular element in list order includes:

identifying of respective locations of N neighbor elements following the particular element in list order; and

redirecting, for each of the N neighbor elements, a pointer of the respective neighbor element to point to an element one position away, in list order, from an element currently pointed to by the respective neighbor element includes:

redirecting a previous element pointer of the respective neighbor element to point to an element one position more previous, in list order, than an element currently pointed to by the previous element pointer of the respective neighbor element.

2. The method of claim 1 , wherein:

the identifying of respective locations of N neighbor elements consecutive to the particular element in list order includes:

identifying of respective locations of N neighbor elements previous to the particular element in list order; and

redirecting, for each of the N neighbor elements, a pointer of the respective neighbor element to point to an element one position away, in list order, from an element currently pointed to by the respective neighbor element includes:

redirecting a following element pointer of the respective neighbor element to point to an element one position further following, in list order, than an element currently pointed to by the following element pointer of the respective neighbor element.

3. The method of claim 1 , the identifying a location of the particular element further comprising traversing the N sub-lists in parallel.

4. The method of claim 1 , the identifying a location of the particular element further comprises traversing the N sub-lists using a single instruction multiple data operation.

5. The method of claim 1 , wherein elements are stored and fetched from a tail of the list according to a last-in-first-out scheme.

6. The method of claim 1 , wherein elements are stored at a tail and fetched from a head of the list according to a first-in-first-out scheme.

7. A computer-implemented method for accessing a particular element of a plurality of elements stored in an N-way linked list in a computer memory, the N-way linked list having N linked sub-lists and a list order, each element being in one of the N sub-lists and including a pointer to a next sequential element in a same sub-list, comprising:

identifying a first location for adding the particular element, the first location having a first element, the first element having a pointer to a first sequential element;

redirecting the pointer of the first element to point to a neighbor element one position away, in list order, from the first sequential element;

redirecting respective pointers of N-2 neighbor elements consecutive to the first element, in list order, to point to a neighbor element one position away, in list order, than an element currently pointed to by the respective neighbor element;

adding the particular element and redirecting a pointer of an (N-1) neighbor element consecutive to the first location, in list order, to point to the particular element; and

setting the pointer of the particular element to point to the first sequential element,

wherein the first sequential element is a previous element;

the redirecting the pointer of the first element to point to an element one position away, in list order, from the first sequential element includes:

redirecting the pointer of the first element to point to a neighbor element one position less previous, in list order, than the first previous element;

the redirecting respective pointers of N-2 neighbor elements consecutive to the first location, in list order, to point to an element one position away, in list order, than an element currently pointed to by the respective neighbor element includes:

redirecting respective pointers of N-2 neighbor elements following the first location, in list order, to point to an element one position less previous, in list order, than an element currently pointed to by the respective neighbor element; and

the adding the particular element and redirecting a pointer of an (N-1) neighbor element consecutive to the first location, in list order, to point to the particular element includes:

redirecting a pointer of an (N-1) neighbor element following the first location, in list order, to point to the particular element.

8. The method of claim 7 , wherein:

the first sequential element is a following element;

the redirecting the pointer of the first element to point to a neighbor element one position away, in list order, from the first sequential element includes:

redirecting the pointer of the first element to point to a neighbor element one position closer following, in list order, the first following element; and

the redirecting respective pointers of N-2 neighbor elements consecutive to the first location, in list order, to point to an element one position away, in list order, than an element currently pointed to by the respective neighbor element includes:

redirecting respective pointers of N-2 neighbor elements preceding the first location, in list order, to point to an element one position closer following, in list order, an element currently pointed to by the respective neighbor element; and

the adding the particular element and redirecting a pointer of an (N- 1 ) neighbor element consecutive to the first location, in list order, to point to the particular element includes:

redirecting a pointer of an (N-1) neighbor element preceding the first location, in list order, to point to the particular element.

9. The method of claim 7 , the identifying a first location for adding the particular element further comprising traversing the N sub-lists in parallel.

10. The method of claim 7 , the identifying a first location for adding the particular element further comprising traversing the N sub-lists using a single instruction multiple data operation.

11. The method of claim 7 , wherein elements are stored and fetched from a tail of the list according to a last-in-first-out scheme.

12. The method of claim 7 , wherein elements are stored at a tail and fetched from a head of the list according to a first-in-first-out scheme.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2014
From: STEINMACHER-BUROW, BURKHARD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032236/0549 →
Continuity (1)
Related Publication 20150234934A1 · Aug 20, 2015