Order-Preserving Variable-Length Integer Encoding for Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing variable-length integer encoding schemes fail to preserve the order of encoded integers, making them unsuitable for databases that require ordering, such as rotating transaction logs, leading to inefficient memory usage and processing speeds due to fixed-width integer storage.

Innovation Solution

A stable encoding scheme that translates integers into variable-length character bytes while maintaining order, using an algorithm that outputs encodings with fewer bytes than fixed-width integers, allowing for efficient storage and retrieval while preserving the ordering of input values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If fixed-width integer format is used to store transaction identifiers, then CPU processing operations can be performed easily, but significant space wastage occurs when many integers are small in value

Engineering Contradiction:
ImproveCPU processing easeVSAvoidmemory space
Core Design Contradiction:
Ease of manufactureVSLoss of substance

Solution Approach 1:

The patent applies variable-length encoding where the number of bytes used to represent an integer dynamically adjusts based on the magnitude of the value. Small integers use fewer bytes while large integers use more bytes, making the storage format adaptive rather than static. This resolves the contradiction by allowing efficient space utilization without sacrificing CPU processing capability, as the variable-length format can be processed through systematic decoding algorithms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of integer representation from fixed-width to variable-width by modifying the encoding scheme. Instead of always allocating the maximum number of bytes for each integer, the system varies the byte allocation based on the actual value magnitude, thereby reducing overall memory consumption while maintaining the ability to represent the full range of transaction identifier values.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If variable-length encoding schemes are used to reduce space, then memory efficiency improves, but the order of encoded integers is not preserved

Engineering Contradiction:
Improvememory spaceVSAvoidordering property
Core Design Contradiction:
Loss of substanceVSStability of the object's composition

Solution Approach 1:

The patent applies preliminary ordering actions by ensuring that the variable-length encoding scheme is designed to preserve the natural order of integers. The encoding algorithm is constructed such that smaller integers always encode to byte sequences that sort before larger integers, maintaining the ordering property from the outset rather than requiring subsequent sorting operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent modifies the encoding parameters to ensure order preservation by designing the variable-length representation to maintain monotonicity. The encoding scheme transforms integer values into byte sequences where the lexicographic order of the encoded representations corresponds to the numeric order of the original integers, thus changing the representation parameters while preserving the ordering relationship.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If large numbers of integers are stored in fixed-width format to external storage, then data can be stored reliably, but processing speed decreases due to CPU-storage medium transfer overhead

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the storage format parameter from fixed-width to variable-length encoding, reducing the average size of stored integers. This parameter change decreases the total volume of data that must be transferred between CPU and external storage, thereby improving processing speed while maintaining data reliability through systematic encoding and decoding procedures.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies segmentation by dividing the storage representation into variable-length segments rather than uniform fixed-width blocks. This segmentation allows the storage system to handle smaller average data units, reducing transfer overhead and improving I/O efficiency while maintaining data integrity through structured encoding that preserves all necessary information.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10404276B1Stable variable-length order-preserving encoding scheme
Publication Date: 2019.09.03 VMWARE INC
  • US10404276B1 patent drawing
  • US10404276B1 patent drawing
  • US10404276B1 patent drawing

AI summary

The present disclosure generally relates to an encoding scheme, and more specifically to a stable encoding scheme that is both variable-length and order-preserving. The present disclosure further describes a decoding scheme to decode and encoding generated by the encoding scheme. The encoding scheme may be parameterized by a single parameter k which remains constant across encoding and corresponding decoding operations. The output encodings generated by the encoding scheme are variable-length while maintaining order.