Skip List Generation with Dynamic Node Promotion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Skip lists with a finite number of levels face performance degradation when the number of nodes exceeds a certain limit, and increasing levels may not be feasible due to memory constraints, especially in dynamic memory managers where the number of nodes is variable and unpredictable.

Innovation Solution

A method for generating a skip list that dynamically promotes nodes to different levels based on varying criteria, such as probability values or deterministic rules, to maintain efficient search performance across a range of node counts, even in memory-constrained systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the number of levels in the skip list is increased to maintain performance with more nodes, then search efficiency is improved, but memory footprint increases which is unacceptable in memory-constrained systems

Engineering Contradiction:
Improvesearch efficiencyVSAvoidmemory footprint
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making the skip list structure adaptive and flexible. Nodes can have variable numbers of forward pointers (levels) depending on their promotion status, allowing the structure to dynamically adjust to the actual number of nodes present. This eliminates the need to pre-allocate maximum levels, thereby reducing memory footprint while maintaining search efficiency for the current node count.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of node structure from fixed-level to variable-level. Each node contains an array of forward pointers whose effective size varies based on the node's level (number of promotions). This parameter change allows the skip list to optimize memory usage by only allocating the necessary pointer arrays for the actual number of levels needed, rather than provisioning for maximum possible levels.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If a fixed probability value is used for node promotion, then implementation simplicity is maintained, but performance degrades when node count varies significantly

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsearch performance
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The patent implements a dynamic promotion mechanism where the probability value is not fixed but adapts based on the current state of the skip list. The promotion probability can be adjusted according to the number of nodes, their distribution, and memory constraints, allowing the structure to optimize search performance for varying node counts while maintaining reasonable implementation complexity through systematic probability adjustment rules.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where the promotion probability is adjusted based on observed performance and structural characteristics. The system monitors the skip list state (number of nodes, level distribution, search patterns) and adjusts promotion probabilities accordingly, creating a feedback loop that optimizes performance for different workload conditions while maintaining implementation feasibility.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If the skip list structure is made adaptive to varying node counts, then performance is maintained across different scales, but device complexity increases

Engineering Contradiction:
Improveperformance consistencyVSAvoidstructure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent achieves adaptability through dynamic node promotion and level assignment. Each node's level and number of forward pointers are determined dynamically based on promotion events rather than fixed allocation. This dynamic approach maintains performance consistency across varying node counts without requiring complex pre-computation or restructuring, as the adaptation happens incrementally during node insertion and promotion.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The skip list structure serves itself by automatically adjusting its configuration through the promotion mechanism. When nodes are inserted, they are automatically evaluated for promotion to higher levels based on the current structure state and promotion probability. This self-service mechanism maintains performance adaptability without requiring external intervention or complex management logic, reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8959309B2Skip list generation
Publication Date: 2015.02.17 CANON KK
  • US8959309B2 patent drawing
  • US8959309B2 patent drawing
  • US8959309B2 patent drawing

AI summary

A method of generating a skip list is disclosed. The skip list comprises a data structure for referencing a plurality of ordered nodes, the data structure having a plurality of linked lists, a total number of the plurality of linked lists being constrained by an available memory of a memory system, the method comprising the steps of: inserting a first node of the plurality of nodes into a predetermined linked list of the plurality of linked lists of the data structure of the skip list in the available memory; promoting the first node to one or more other linked lists based on a first set of criteria; and generating the skip list by inserting at least a second node of the plurality of nodes into the data structure and promoting the second node based on a second set of criteria, said second set of criteria being different from the first set of criteria.