Back-Pointer Data Structure for Bidirectional KLV Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data structures, such as Key, Length, Value (KLV) coding, are inefficient for reading files in reverse direction due to the lack of length indicators for encapsulated data, making it difficult to access data in both forward and backward directions.
Innovation Solution
A data structure with a back-pointer key and length indicator following each data container, allowing easy access and jumping between data blocks in both directions, implemented through methods like KLVL and KLVLK coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If KLV coding is used to structure data for forward reading, then data can be easily accessed in forward direction, but the structure becomes inoperative for backward reading without additional complex components
Solution Approach 1:
The patent applies inversion by adding a back-pointer field that enables backward reading capability to a structure originally designed for forward reading. The back-pointer stores the length of previous data containers, allowing the system to navigate backward through the data stream without requiring a complete redesign of the KLV structure.
Solution Approach 2:
The back-pointer field is preliminarily added to each data container during the recording process, storing the length information of previous containers before they are needed for backward reading. This preliminary preparation enables efficient backward navigation without requiring complex runtime calculations or additional index structures.
2Adaptability or versatility
If an index table is added to enable backward reading of KLV data, then bidirectional access becomes possible, but the device complexity increases significantly
Solution Approach 1:
The patent extracts the essential functionality needed for backward reading (length information of previous containers) and places it directly into the data container structure itself via the back-pointer field. This eliminates the need for a separate index table while maintaining bidirectional access capability.
Solution Approach 2:
The back-pointer functionality is merged with the existing KLV data container structure, combining the forward reading KLV fields (key, length, value) with the backward navigation capability (back-pointer). This integration achieves bidirectional access without requiring separate index structures.
3Ease of manufacture
If standard KLV coding is used, then data structure is simple and easy to implement, but backward reading requires complex parsing without length indicators
Solution Approach 1:
The patent inverts the traditional KLV sequence by adding a back-pointer field that contains length information, enabling the system to read backward by using this pre-stored length data. This inversion allows simple backward parsing without complex calculations.
Solution Approach 2:
Each data container serves itself by including the back-pointer field with length information, making the container self-sufficient for backward navigation. The container itself provides the navigation data needed for backward reading without requiring external index structures or complex parsing logic.
Data Source
AI summary
After recording a data container, a back-pointer item is recorded, comprising a specific key and an indicator of the length of the data container. This back-pointer item can be used to jump to the beginning of the data container when reading the file backwards. Other types of coding than KLV coding are also proposed. These types of coding can be used for instance to code the back-pointer item.


