Resource String Compression for Fast Individual Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing compression technologies are inefficient for compressing short text strings in resource files, such as those used in software applications, due to lack of repetitive patterns and the need for per-string decompression, which affects storage and performance.
Innovation Solution
Implementing similarity compression, map-less encoding, and bit-level compression to reduce the size of resource files, along with an enhanced naming process using hash values for fast string retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If resource strings are compressed using traditional compression technologies, then file size is reduced, but decompression performance is degraded because traditional technologies compress entire files and cannot decompress individual strings efficiently
Solution Approach 1:
The patent divides the resource file into individual string entries, each with its own compression context. This allows selective decompression of specific strings by their indices rather than decompressing the entire file, directly resolving the contradiction between file size reduction and decompression performance.
Solution Approach 2:
The patent pre-processes the resource strings during build time to create a compressed format with embedded length information and null-termination markers. This preliminary action enables runtime systems to quickly decompress only the required strings without processing the entire file, maintaining both small file size and high decompression speed.
2Speed
If numerical identifiers are used for resource strings, then look-up speed is improved, but maintainability is degraded because identifiers are difficult to maintain across multiple development platforms
Solution Approach 1:
The patent introduces an intermediate layer where resource strings are stored with their full text content in the compressed file, and numerical identifiers serve only as indices to retrieve these strings. This intermediary structure maintains fast look-up speed while improving maintainability, as the actual string content can be easily updated across platforms without changing the identifier system.
Solution Approach 2:
The patent creates a copy of the resource strings in a compressed format during build time, allowing the runtime system to work with lightweight numerical identifiers for look-up while the actual string data remains stored in the compressed resource file. This copying approach enables fast identification while maintaining ease of updates.
3Ease of operation
If resource strings are stored with full text content, then maintainability is improved, but file size increases reducing the benefit of compression
Solution Approach 1:
The patent changes the parameter of string storage from uncompressed full text to a compressed format that retains the full text content but encodes it more efficiently. The compression algorithm exploits patterns in resource strings (repeated sequences, common prefixes) to reduce file size while maintaining the complete string content for easy maintenance.
Solution Approach 2:
The patent creates a composite storage structure that combines compressed string data with metadata (length information, null-termination markers, index mappings). This composite structure enables both space efficiency through compression and ease of maintenance through preserved full content, resolving the contradiction between file size and maintainability.
4Adaptability or versatility
If language localization is supported with multiple character strings per menu label, then versatility is improved, but file size increases significantly
Solution Approach 1:
The patent merges multiple language versions of the same resource string into a single compressed file, using the compression algorithm to identify and eliminate redundancies across languages. Common prefixes, suffixes, and patterns in localized strings are compressed efficiently, allowing multi-language support while minimizing file size increase.
Solution Approach 2:
The patent changes the storage parameter from storing each language version as a separate file to storing all language versions in a single compressed file with index-based access. This parameter change enables versatility for language localization while the compression technology reduces the overall file size by exploiting patterns across different language versions.
Data Source
AI summary
Technology is disclosed herein for compressing, encoding, and otherwise reducing the size of resource files. In at least one implementation, similarity compression is employed to reduce the size of a resource file. In another implementation, map-less encoding is employed to reduce the number of bytes used to represent a resource string. Bit-level compression is employed in another implementation to reduce the quantity of bits used to encode each character in a string. In addition, implementations are disclosed related to technology for naming strings and accelerated string location and retrieval.


