← Back to Patent Explorer
US5263160A Expired / Lapsed US ⏱️ 0.0 years remaining

Augmented doubly-linked list search and management method for a system having data stored in a list of data elements in memory

Assignee: Hewlett Packard Development Co LP
•
Filing: 1991-01-31
•
Granted: 1993-11-16
•
Expires: 2011-01-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of searching and maintaining data elements in memory which are stored in a doubly-linked list. A logically related address component array is used to access data elements in the list. The list is divided into list segments which are dynamically maintained to decrease overall access time.

Inventors

  • 👤 James A. Porter, Jr.
  • 👤 Donald E. Matthews
  • 👤 Dennis E. Haugh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 19:27
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/901; G06F16/9024; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 174 words
In a system having data stored in a list of ordered data elements in memory, a method of searching and maintaining the data in memory comprising the steps of: a. creating an array; b. creating a doubly-linked list of ordered data elements; c. determining the number of ordered data elements in the doubly-linked list; d. dynamically grouping the doubly-linked list of ordered data elements into list segments by: determining the square root of the total number of data elements in the doubly-linked list; using the integer value of the square root of the total number of data elements to identify the number of list segments; e. filling the array with an address component of the first data element of each list segment; f. searching the doubly-linked list for a data element having a specified data value, including the steps of: searching the array for an address component; scanning the doubly-linked list sequentially from an entry point of a list segment; and g. retrieving the thus searched-for data element from the identified doubly-linked list member.
Claim 2
Dependent Claim 174 words
In a system having data stored in a list of ordered data elements in memory, a method of searching and maintaining the data in memory comprising the steps of: a. creating an array; b. creating a doubly-linked list of ordered data elements; c. determining the number of ordered data elements in the doubly-linked list; d. dynamically grouping the doubly-linked list of ordered data elements into list segments by: determining the square root of the total number of data elements in the doubly-linked list; using the integer value of the square root of the total number of data elements to identify the number of list segments; e. filling the array with an address component of the first data element of each list segment; f. searching the doubly-linked list for a data element having a specified data value, including the steps of: searching the array for an address component; scanning the doubly-linked list sequentially from an entry point of a list segment; and g. retrieving the thus searched-for data element from the identified doubly-linked list member.
Claim 3
Dependent Claim 249 words
In a system having data stored in a list of ordered data elements in memory, a method of searching and maintaining the data in memory comprising the steps of: a. creating an array; b. creating a doubly-linked list of ordered data elements; c. determining the number of ordered data elements in the doubly-linked list; d. determining the square root of the total number of ordered data elements in the doubly-linked list; e. establishing a number of list segments of data elements in the doubly-linked list by using the integer value of the square root; f. identifying the address component of the first data element of each list segment; g. filling the array with the identified address components to provide an ordered array; h. in response to a change in the number of ordered data elements, dynamically realigning the number of data elements within a list segment to approximate the same number of data elements in each list segment such that the number of address components is approximately equal to the total number of data elements squared; i. re-identifying the address component of the first data element of each reorganized list segment; j. refilling the array with the re-identified address components of the reorganized list segments; k. providing an ordered array; l. in response to a request for identification of a data element having a specified address component, searching the reordered array to find its associated list segment; and m. traversing the found list segment to find the data element.
Claim 4
Dependent Claim 249 words
In a system having data stored in a list of ordered data elements in memory, a method of searching and maintaining the data in memory comprising the steps of: a. creating an array; b. creating a doubly-linked list of ordered data elements; c. determining the number of ordered data elements in the doubly-linked list; d. determining the square root of the total number of ordered data elements in the doubly-linked list; e. establishing a number of list segments of data elements in the doubly-linked list by using the integer value of the square root; f. identifying the address component of the first data element of each list segment; g. filling the array with the identified address components to provide an ordered array; h. in response to a change in the number of ordered data elements, dynamically realigning the number of data elements within a list segment to approximate the same number of data elements in each list segment such that the number of address components is approximately equal to the total number of data elements squared; i. re-identifying the address component of the first data element of each reorganized list segment; j. refilling the array with the re-identified address components of the reorganized list segments; k. providing an ordered array; l. in response to a request for identification of a data element having a specified address component, searching the reordered array to find its associated list segment; and m. traversing the found list segment to find the data element.
Claim 5
Dependent Claim 150 words
The method of claim 2 wherein the step of dynamically realigning the number of ordered data elements within a list segment includes the steps of: a. adding a data element to the doubly-linked list; b. determining the number of ordered data elements in the expanded doubly-linked list; c. using the integer value of the square root of the total number of ordered data elements to identify a number of groupings of list segments of the expanded doubly-linked list; d. identifying the address component of the first member of each newly regrouped segment; and e. readjusting the array with the address components of each of the first members of each list segment to reflect any dynamic change in the number of groupings of the data elements in the doubly-linked list as a result of an increase in the integer value of the square root of the total number of data elements.
Claim 6
Dependent Claim 150 words
The method of claim 2 wherein the step of dynamically realigning the number of data elements within a list segment includes the steps of: a. deleting a data element to the doubly-linked list; b. determining the number of ordered data elements in the reduced doubly-linked list; c. using the integer value of the square root of the total number of ordered data elements to identify a number of groupings of list segments of the reduced doubly-linked list; d. identifying the address component of the first member of each newly regrouped segment; and e. readjusting the array with the address components of each of the first members of each list segment to reflect any dynamic change in the number of groupings of the ordered data elements in the doubly-linked list as a result of a decrease in the integer value of the square root of the total number of data elements.
Claim 7
Independent Claim 170 words
A system having data stored in a list of ordered data elements in a memory, comprising: a. means for determining the number of ordered data elements in a doubly-linked list; b. means for grouping and regrouping the number of ordered data elements in the doubly-linked list into list segments; c. means for determining an address component of each of the initial members of each list segment d. means for providing an ordered array comprising an address component of each of the initial members of each list segment; e. means for dynamically adjusting the number of list segments in response to an expansion or reduction of a plurality of ordered data elements using the integer value of the square root of the number of ordered data elements; f. means for dynamically adjusting the array in response to an expansion or reduction of a plurality of data elements; g. means for searching the array for an appropriate address component; and h. means for searching the doubly-linked list for an appropriate data element.
Claim 8
Independent Claim 170 words
A system having data stored in a list of ordered data elements in a memory, comprising: a. means for determining the number of ordered data elements in a doubly-linked list; b. means for grouping and regrouping the number of ordered data elements in the doubly-linked list into list segments; c. means for determining an address component of each of the initial members of each list segment d. means for providing an ordered array comprising an address component of each of the initial members of each list segment; e. means for dynamically adjusting the number of list segments in response to an expansion or reduction of a plurality of ordered data elements using the integer value of the square root of the number of ordered data elements; f. means for dynamically adjusting the array in response to an expansion or reduction of a plurality of data elements; g. means for searching the array for an appropriate address component; and h. means for searching the doubly-linked list for an appropriate data element.

References Cited (Backward Citations)

US4679139A Cited
US4887260A Cited
US5175857A Cited
US5043885A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-11-15 1997-05-17 1997-11-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-11-15 2001-05-17 2001-11-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-11-15 2005-05-17 2005-11-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag