Client-Side Hashset Detection for Clock-Skewed File Changes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file transfer protocols like FTP lack support for application programming interfaces (APIs), making it difficult for client devices to reliably detect changes in shared files hosted by file hosting servers, leading to issues with missed changes due to server-generated timestamp discrepancies.
Innovation Solution
Client devices generate hashsets at periodic intervals, containing hash values of file metadata, comparing across two previous intervals to accurately detect file changes without relying on timestamps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If client devices rely on server-generated timestamps to detect file changes, then the detection process is simple to implement, but the detection accuracy deteriorates due to clock skew and timestamp implementation differences between server and client
Solution Approach 1:
The patent introduces an intermediary mechanism (hashset of file metadata) between the server and client to mediate file change detection. Instead of directly comparing timestamps which are subject to clock skew, the client computes hashsets of file metadata (including timestamps, sizes, permissions) and compares these hashsets across polling intervals. This intermediary representation eliminates the direct dependency on server clock accuracy while maintaining detection capability.
Solution Approach 2:
The patent changes the detection parameter from raw timestamps to hashsets of multiple file attributes (timestamps, sizes, permissions). By transforming the detection basis from a single parameter (timestamp) to a composite parameter (hashset of multiple attributes), the system achieves more accurate and reliable change detection that is not vulnerable to timestamp implementation differences.
2Reliability
If client devices poll file metadata at periodic intervals to detect changes, then the detection reliability improves, but the network bandwidth and memory usage increase
Solution Approach 1:
The patent extracts only the essential file metadata attributes (timestamps, sizes, permissions) needed for change detection and stores them in a compact hashset structure. This selective extraction avoids storing unnecessary data, reducing memory consumption while maintaining detection reliability. The hashset structure itself provides efficient storage and comparison capabilities.
Solution Approach 2:
The patent implements periodic polling of file metadata at configured intervals, which balances detection reliability with resource consumption. By using periodic rather than continuous monitoring, the system achieves reliable change detection while limiting network bandwidth usage and memory operations to necessary intervals, preventing resource exhaustion.
3Device complexity
If the protocol supports only file transfer without APIs, then the protocol simplicity is maintained, but the capability to efficiently detect and process file changes is lost
Solution Approach 1:
The patent enables the client device to perform self-service file change detection by computing and comparing hashsets of file metadata locally. Instead of requiring server-side API support for change notification, the client independently polls metadata, computes hashsets, and detects changes through comparison. This self-service approach maintains protocol simplicity while achieving robust change detection capability.
Data Source
AI summary
The detection of a change to a shared file of a file hosting service communicating only through a file transfer protocol is performed on a client-side device. The client-side device obtains the metadata of each shared file of a directory at each periodic interval. The client-side device generates a hashset for the directory at each periodic interval where the hashset includes a hash value for each file's metadata. If the hash of a file at a current time t is contained in the immediately preceding hashset at t−1 but not in the hashset of t−2 then the file is determined to have changed.


