Fingerprint Hash Processing Using Fixed-Size Data Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for processing fingerprint hashes from audio streams face inefficiencies in handling large databases and high-frequency lookups, leading to high memory consumption and costs when dealing with numerous audio streams.
Innovation Solution
The use of a fixed size continuous data structure and hardware caches, specifically solid-state drives, to store and retrieve fingerprint hashes efficiently, along with a processor-based algorithm for matching and indexing, reduces memory usage and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional database operations are used for audio recognition at global scale, then comprehensive track recognition is achieved, but processing efficiency and memory consumption become problematic
Solution Approach 1:
The database is segmented into multiple partitions distributed across different storage devices. Each partition contains a subset of fingerprint hashes, allowing parallel processing and reducing the memory burden on any single device. The system divides the large-scale database into manageable chunks that can be processed independently.
Solution Approach 2:
The patent introduces a hierarchical storage architecture that adds a spatial dimension to data access. By distributing database partitions across multiple storage devices and using distributed caching mechanisms, the system transforms a single-memory-constraint problem into a multi-dimensional storage solution that leverages both memory and disk resources efficiently.
2Speed
If large databases are loaded into memory for fast access, then lookup speed improves, but memory costs increase significantly
Solution Approach 1:
The system pre-loads frequently accessed database partitions into memory caches before they are needed. By anticipating and preparing data in advance based on access patterns, the system ensures fast lookup speeds for common queries without requiring the entire database to reside in memory simultaneously.
Solution Approach 2:
The patent introduces hardware caches and memory buffers as intermediary layers between the database storage and processing units. These intermediaries hold frequently accessed fingerprint hash data, providing fast access paths for common lookups while allowing less frequently accessed data to remain in slower, cheaper storage media.
3Productivity
If the entire database is kept in memory for simultaneous stream processing, then processing speed increases, but system cost increases
Solution Approach 1:
The system segments the database across multiple storage devices and processes different audio streams in parallel by directing them to appropriate database partitions. This segmentation enables the system to handle hundreds of thousands of simultaneous streams using distributed, cost-effective hardware rather than requiring a single expensive high-memory system.
Solution Approach 2:
The patent changes the storage parameter from centralized high-memory architecture to distributed low-memory architecture. By modifying how data is stored and accessed across the system - using distributed file systems, network file systems, or cloud storage - the system achieves high processing capacity for multiple streams without proportionally increasing memory costs.
Data Source
AI summary
An apparatus for processing fingerprint hashes of an audio stream. The apparatus includes: hardware caches, each hardware cache configured to store files, each file containing a part of a fixed size continuous data structure, and the fixed size continuous data structure containing fixed size data items, each fixed size data item representing a stored unique fingerprint hash; random access memories; and processors. The processors are configured to cause performance of: obtaining generated fingerprint hashes of an audio stream; matching recursively each generated fingerprint hash of the audio stream against stored unique fingerprint hashes of the tracks using match time offsets between the audio stream and each track in order to identify the audio stream; wherein the matching comprises retrieving, into the random access memories from one of the files, each stored unique fingerprint hash addressed by each generated fingerprint hash and represented by each fixed size data item.


