Cloud File Caching with Priority-Based Eviction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud-based file systems lack flexibility and integration when handling files from diverse sources, as they often fail to efficiently manage and cache files for offline access and storage across multiple devices.
Innovation Solution
A system that establishes communication links between computing devices and cloud storage systems, allowing for caching of files based on priority and attributes, with evictions managed by timestamp and priority hierarchies to optimize local memory usage, ensuring seamless file handling and offline access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If files are cached in local memory for offline access, then offline availability and access speed are improved, but local storage capacity is consumed and may exceed memory thresholds
Solution Approach 1:
The patent implements dynamic caching where files are cached in local memory based on real-time conditions such as network availability, storage capacity, and user activity patterns. The system continuously monitors local storage usage and automatically adjusts the cached file set, evicting files when thresholds are exceeded and caching new files when capacity allows, thereby maintaining offline availability while adapting to changing storage constraints.
Solution Approach 2:
The system changes the state of file caching by transitioning files between cached and non-cached states based on multiple parameters including file access frequency, user preferences, network conditions, and available storage capacity. This parameter-driven approach allows the system to optimize offline availability by caching frequently accessed files while evicting less important ones when storage is constrained.
2Speed
If multiple files are cached with high priority for immediate access, then access speed and user experience are improved, but the system lacks flexibility in managing diverse file types and sources
Solution Approach 1:
The patent applies different caching strategies and priority levels to different files based on their specific characteristics such as file type, size, access patterns, and user importance ratings. Instead of treating all files uniformly, the system assigns local quality attributes to each file that determine its caching behavior, allowing high-priority small files to be cached aggressively while low-priority large files use different strategies, thus achieving fast access for critical files while maintaining flexibility for diverse file types.
Solution Approach 2:
The system segments the file cache into multiple priority levels and categories (e.g., high priority, medium priority, low priority; frequently accessed, occasionally accessed, rarely accessed). This segmentation allows the system to manage diverse file types and sources effectively by applying appropriate caching policies to each segment, maintaining fast access for important files while preserving adaptability for handling various file categories with different requirements.
3Speed
If the system caches files proactively based on predictions, then future access speed is improved, but processing complexity and energy consumption increase
Solution Approach 1:
The system performs preliminary caching actions by proactively caching files that are predicted to be accessed in the future based on analysis of user behavior patterns, file access history, and usage trends. Instead of waiting for explicit user requests, the system anticipates future needs and pre-loads relevant files into local memory during periods of available capacity and low network load, thereby improving future access speed while managing energy consumption through intelligent timing and selection.
Data Source
AI summary
In one general aspect, a computer-readable storage medium can be configured to store instructions that when executed cause one or more processors to perform a process. The process can include establishing at least a portion of a communication link between a computing device and a storage system operating within a cloud environment. The process can include accessing a user interface including a listing of files representing a plurality of files where at least a first portion of the plurality of files are stored in a local memory of the computing device and a second portion of the plurality of files are stored in the storage system.


