O(1) Stream Sorting via Bitmap and Linked List
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data sorting mechanisms in VLSI technology face inefficiencies in reordering stream elements, particularly in real-time applications where high computational efficiency is required, as existing methods like naive search and binary tree searches are not scalable for large numbers of elements.
Innovation Solution
A network-connected device and method utilizing a linked list and a mapping dataset with a bitmap implementation, where each stream element is marked with a sequence number, allowing for efficient sorting by accessing dataset addresses equivalent to the sequence number, and inserting elements at ordered or derived positions based on their sequence, enabling high-performance sorting close to O(1) even for large numbers of elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If naive search or binary tree search is used for sorting stream elements, then the sorting can be implemented with simple data structures, but the computational efficiency deteriorates and becomes non-scalable for large numbers of elements
Solution Approach 1:
The patent divides the sorting problem into two independent parts: a bitmap data structure that tracks presence of sequence numbers (O(1) operations) and a linked list that stores actual stream elements. This segmentation allows each component to operate independently with optimal performance, avoiding the complexity of traditional tree structures while maintaining O(1) insertion efficiency.
Solution Approach 2:
The patent introduces a bitmap as an intermediary data structure that mediates between the incoming stream elements and the linked list. The bitmap acts as a lookup table that provides O(1) access to determine whether elements exist and where they should be inserted, eliminating the need for complex search operations while maintaining sorted order.
2Loss of time
If traditional sorting algorithms are used, then the implementation is straightforward, but the insertion time increases with the number of elements in the list
Solution Approach 1:
The patent performs preliminary actions by maintaining a bitmap that is pre-populated with the presence information of all sequence numbers in the sorted list. This allows the system to determine insertion positions in O(1) time without performing sequential searches, as the bitmap already contains all necessary information about element positions before insertion occurs.
Solution Approach 2:
The patent replaces the mechanical search process (iterating through elements to find insertion position) with a direct memory access mechanism (bitmap lookup). Instead of physically traversing the data structure to find where to insert an element, the system uses the bitmap's direct addressing capability to instantly determine the insertion position, achieving O(1) insertion time regardless of list size.
Data Source
Figure 1A~1B
Figure 2
Figure 3
AI summary
There is provided a network connected device, comprising: a storage storing a linked list holding stream elements sorted by their corresponding sequence number and a mapping dataset comprising dataset addresses each associated with a value and a corresponding pointer pointing to a position in the linked list that holds one of the stream elements, and a processor that adds stream elements each marked with a sequence number to the linked-list by: accessing a first of the dataset addresses which is equivalent to the respective sequence number, updating a value addressed by the first dataset address when this value is not already updated, when a copy of a stream element having the respective sequence number is missing from the linked-list adding a copy of the respective stream element to an ordered position in the linked-list, and when the copy is in the linked-list adding a copy to a derived position.