File handling within a cloud-based file system
First Claim
1. A non-transitory computer-readable storage medium configured to store instructions that when executed cause one or more processors to perform a process, the process comprising:
- establishing at least a portion of a communication link between a computing device and a storage system operating within a cloud environment;
receiving a request to open a first file stored on the storage system;
in response to the request to open the first file, caching the first file in a local memory of the computing device, the first file being cached with a timestamp and a first priority based on an attribute of the first file being a request to open the first file, and the timestamp used for determining an eviction order from the local memory of the first file with respect to other files cached with a first priority;
receiving a request that a second file stored on the storage system be available offline;
in response to the request that the second file be available offline, caching the second file in the local memory of the computing device, the second file being cached with a timestamp and a second priority based on an attribute of the second file being a request that the second file be available offline, the second priority being lower than the first priority and identifying the second file for eviction from the local memory before the first file, and the timestamp used for determining an eviction order from the local memory of the second file with respect to other files cached with a second priority;
associating a file attribute with a third file stored on the storage system, the file attribute being at least one of a last modified date and a last viewed date associated with the third file;
subsequent to caching the first file and the second file, selecting the third file for caching in the local memory of the computing device based on the file attribute associated with the third file; and
caching the third file in the local memory of the computing device with a timestamp and a third priority that is lower than the second priority, the third priority identifying the third file for eviction from the local memory before the second file, and the timestamp used for determining an eviction order from the local memory of the third file with respect to other files cached with a third priority.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
20 Citations
21 Claims
-
1. A non-transitory computer-readable storage medium configured to store instructions that when executed cause one or more processors to perform a process, the process comprising:
-
establishing at least a portion of a communication link between a computing device and a storage system operating within a cloud environment; receiving a request to open a first file stored on the storage system; in response to the request to open the first file, caching the first file in a local memory of the computing device, the first file being cached with a timestamp and a first priority based on an attribute of the first file being a request to open the first file, and the timestamp used for determining an eviction order from the local memory of the first file with respect to other files cached with a first priority; receiving a request that a second file stored on the storage system be available offline; in response to the request that the second file be available offline, caching the second file in the local memory of the computing device, the second file being cached with a timestamp and a second priority based on an attribute of the second file being a request that the second file be available offline, the second priority being lower than the first priority and identifying the second file for eviction from the local memory before the first file, and the timestamp used for determining an eviction order from the local memory of the second file with respect to other files cached with a second priority; associating a file attribute with a third file stored on the storage system, the file attribute being at least one of a last modified date and a last viewed date associated with the third file; subsequent to caching the first file and the second file, selecting the third file for caching in the local memory of the computing device based on the file attribute associated with the third file; and caching the third file in the local memory of the computing device with a timestamp and a third priority that is lower than the second priority, the third priority identifying the third file for eviction from the local memory before the second file, and the timestamp used for determining an eviction order from the local memory of the third file with respect to other files cached with a third priority. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium configured to store instructions that when executed cause one or more processors to perform a process, the process comprising:
-
establishing at least a portion of a communication link between a computing device and a storage system operating within a cloud environment, the computing device including a local memory that is configured to cache files from the storage system; and associating a caching priority and a timestamp with each file included in a set of cached files stored in the local memory, the associating including; associating a first file with a first caching priority based on an attribute of the first file being a request to open the first file; associating a second file with a second caching priority based on an attribute of the second file being a request that the second file be available offline, the second caching priority being lower than the first caching priority; receiving an indication that a file caching threshold of the local memory of the computing device has been met or exceeded; and in response to the indication, identifying a first subset of the set of cached files, each file included in the first subset of the set of cached files being associated with the first caching priority; identifying a second subset of the set of cached files, each file included in the second subset of the set of cached files associated with the second caching priority, files associated with the second caching priority being identified for eviction from the local memory before files associated with the first caching priority; and evicting, until an eviction threshold is met, at least a portion of the set of cached files from the local memory, the evicting including; evicting the files included in the second subset of files in an order based on the timestamp associated with each file; and subsequent to evicting the files included in the second subset of files, evicting the files included in the first subset of files in an order based on the timestamp associated with each file. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method comprising:
-
establishing, by a computing device, at least a portion of a communication link between the computing device and a storage system operating within a cloud environment, the computing device including a local memory that is configured to cache files from the storage system; associating, by the computing device, a caching priority and a timestamp with each file included in a set of cached files stored in the local memory, the associating including; associating a first file with a first caching priority based on an attribute of the first file being a request to open the first file; associating a second file with a second caching priority based on an attribute of the second file being a request that the second file be available offline, the second caching priority being lower than the first caching priority; receiving an indication that a file caching threshold of the local memory of the computing device has been met or exceeded; and in response to the indication, identifying a first subset of the set of cached files, each file included in the first subset of the set of cached files being associated with the first caching priority; identifying a second subset of the set of cached files, each file included in the second subset of the set of cached files associated with the second caching priority, files associated with the second caching priority being identified for eviction from the local memory before files associated with the first caching priority; and evicting, until an eviction threshold is met, at least a portion of the set of cached files from the local memory, the evicting including; evicting the files included in the second subset of files in an order based on the timestamp associated with each file; and subsequent to evicting the files included in the second subset of files, evicting the files included in the first subset of files in an order based on the timestamp associated with each file. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification