Wildcard File Filtering via Dual Hash Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for monitoring access to computer files with wildcards are resource-intensive and inefficient, particularly when dealing with large collections of files, as they lead to increased complexity and strain on computer processing resources.
Innovation Solution
A system utilizing two hash tables, a direct and a reverse hash table, to efficiently manage and search for patterns with wildcards, where each hash table entry contains a list of patterns sorted by length, and load balancing is used to reduce the likelihood of collisions and improve performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If wildcard patterns are added to file access monitoring, then the versatility of file matching is improved, but the computational complexity and resource consumption increase significantly
Solution Approach 1:
The patent segments the file matching problem by dividing wildcard patterns into prefix and suffix components around the wildcard character. This segmentation allows the system to pre-compute and store only the non-wildcard portions in hash tables, separating the constant matching logic from the variable wildcard matching, thereby reducing computational complexity while maintaining versatility
Solution Approach 2:
The patent applies preliminary action by pre-computing hash values for prefix and suffix patterns and storing them in hash tables before actual file access monitoring occurs. This pre-processing enables O(1) average-time complexity for pattern matching during runtime, eliminating the need for complex computations when monitoring file access events
2Reliability
If a large collection of files is monitored, then the comprehensiveness of security coverage is improved, but the processing time and resource usage increase
Solution Approach 1:
The patent creates compact representations (copies) of file patterns by storing only essential prefix and suffix components in hash tables rather than maintaining complete pattern strings. This copying approach reduces memory usage and enables faster comparison operations, allowing comprehensive monitoring of large file collections without proportional increases in processing time
Solution Approach 2:
The patent changes the parameter representation from complete file paths to hash-based prefix/suffix components. By transforming the matching parameters into hashed forms that can be compared efficiently, the system achieves O(1) average-time complexity for pattern matching, enabling comprehensive security coverage over large file collections with constant processing time per access event
3Adaptability or versatility
If dynamic changes to the file collection are made, then the adaptability of the monitoring system is improved, but the system performance and consistency are degraded
Solution Approach 1:
The patent implements self-service by automatically re-computing hash values and updating hash table entries when patterns are added or removed from the monitoring collection. This automated maintenance of hash structures eliminates the need for manual system reconfiguration and maintains O(1) matching performance dynamically without degrading overall system productivity
Solution Approach 2:
The patent makes the hash table structures dynamic by allowing patterns to be added and removed during runtime. The system dynamically updates the hash tables with new prefix and suffix patterns as the file collection changes, maintaining efficient O(1) average-time complexity for pattern matching throughout the system's operational lifecycle
Data Source
AI summary
A system monitors access to a computer file via a dynamically changeable non-heterogeneous collection load balanced across two hash tables. User activity is monitored on a target device to detect a user entered pattern including a wildcard character, selects one of the two hash tables, and calculates an index for the selected hash table based on the user entered pattern. The index is used to access the selected hash table to receive a stored pattern. The hash tables each have a plurality of entries, and each entry includes a list of one or more patterns that have the same hash index but different pattern values sorted by length in characters from longest to shortest. The first hash table is a direct hash table, and the second hash table is a reverse hash table.


