Parallel String Sorting via Integer Prefix Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current string sorting algorithms are inefficient for large datasets, particularly when dealing with strings, as they often require sequential processing and do not fully utilize multi-processor systems, leading to slower data access and processing times.

Innovation Solution

The implementation of a parallel data sort methodology that converts string prefixes to integers, allowing for parallel processing using existing sorting algorithms, which divides data into blocks, sorts them in parallel, and merges the results, enhancing performance by leveraging multi-processor capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If string sorting algorithms are used on large datasets, then sorting capability is achieved, but processing speed is slow due to sequential execution

Engineering Contradiction:
Improvesorting speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the string sorting problem into two parts: extracting and sorting prefixes (keys) separately from the full strings. By dividing the data into prefix components and corresponding full records, the algorithm can sort only the prefix portion in parallel, significantly reducing the computational burden and enabling faster processing of large datasets

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the sorting operation from operating on entire strings to operating on integer representations of prefixes. By converting string prefixes into integer keys and sorting in this transformed dimensional space, the algorithm achieves faster comparison and sorting operations that can be parallelized across multiple processors

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If traditional sorting algorithms are used, then sorting is achieved, but multi-processor capabilities are not utilized

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary structure (prefix integer array) that mediates between the original string data and the sorting operation. This intermediary allows the sorting algorithm to work with simple integers instead of complex strings, enabling parallel processing while maintaining the ability to reconstruct the fully sorted result by merging with the original data

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If full string sorting is performed, then complete sorting accuracy is achieved, but processing efficiency decreases

Engineering Contradiction:
Improvesorting accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial action by sorting only the prefix portion of strings rather than the entire string. This partial sorting approach maintains sufficient accuracy for most practical applications where prefix ordering provides meaningful organization, while dramatically improving processing efficiency by reducing the amount of data being sorted

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11354093B1Integer and characters prefix based methodologies combined with parallel data sort methodology enhance the execution performance of any string sorting algorithm
Publication Date: 2022.06.07 THABIT KHALID OMAR
  • US11354093B1 patent drawing
  • US11354093B1 patent drawing
  • US11354093B1 patent drawing

AI summary

Methodology to reduce the running time of any string sorting algorithm is described. In one methodology, a prefix of each string from the input unsorted string array is converted to an integer and placed in an array. The array of integers is sorted using the given sorting algorithm. In subsequent methodology, the characters of the string prefix are placed in a record structure and stored in an array of character records. The array of character records is sorted using the given sorting algorithm. The input unsorted array of strings is then sorted using either the sorted array of integers or character records as a reference. Both methodologies showed performance improvements when running in sequential mode only. Therefore, parallel data sort methodology (PDS) was introduced allowing sorting algorithms to sort data in parallel, and its implementation made the two methodologies execute much faster in parallel mode.