Preventing Excessive Hydration In A Storage Virtualization System
First Claim
1. In a computing device comprising a processor, memory, and secondary storage, the memory storing computer-executable instructions that, when executed by the processor, implement a file system for managing the storage of files on the secondary storage, a method for storage virtualization of files, comprising:
- storing, on the secondary storage, a plurality of placeholder for a respective plurality of files, each file comprising data which is stored on a network remotely from the secondary storage, each placeholder containing metadata associated with its respective file, a sparse data stream containing none or some data of the respective file, and information which enables any remotely stored data of the respective file to be retrieved from the network;
receiving, from one or more applications executing on the processor of the computing device, one or more requests, each request comprising a request to access a file for which a placeholder is stored on the secondary storage;
determining, for each received request to access a file, whether the request requires that data of the file be retrieved from remote storage on the network;
monitoring a level of such requests requiring retrieval of data from the remote storage;
determining that the monitored level of requests has satisfied a threshold; and
performing operations, in response to determining that the threshold has been satisfied, to reduce an impact of such level of requests on resources of the computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
Storage virtualization techniques allow files and directories to be stored remotely, for example, by a cloud storage provider, but in a manner that appears to a user or application running on a local computing device as if the files are stored locally—even though the data of those files and directories may not be resident on the local computing device. That is, the contents of files and directories that may exist in the cloud look and behave as if they were stored locally on a computing device. The level of hydration of placeholders may be monitored and operations may be performed to reduce the impact of excessive hydration on the resources of the computing device.
25 Citations
20 Claims
-
1. In a computing device comprising a processor, memory, and secondary storage, the memory storing computer-executable instructions that, when executed by the processor, implement a file system for managing the storage of files on the secondary storage, a method for storage virtualization of files, comprising:
-
storing, on the secondary storage, a plurality of placeholder for a respective plurality of files, each file comprising data which is stored on a network remotely from the secondary storage, each placeholder containing metadata associated with its respective file, a sparse data stream containing none or some data of the respective file, and information which enables any remotely stored data of the respective file to be retrieved from the network; receiving, from one or more applications executing on the processor of the computing device, one or more requests, each request comprising a request to access a file for which a placeholder is stored on the secondary storage; determining, for each received request to access a file, whether the request requires that data of the file be retrieved from remote storage on the network; monitoring a level of such requests requiring retrieval of data from the remote storage; determining that the monitored level of requests has satisfied a threshold; and performing operations, in response to determining that the threshold has been satisfied, to reduce an impact of such level of requests on resources of the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device comprising a processor, a memory, and secondary storage, the memory storing executable instructions that, when executed by the processor, cause the computing device to perform operations comprising:
-
storing, on the secondary storage, a plurality of placeholder for a respective plurality of files, each file comprising data which is stored on a network remotely from the secondary storage, each placeholder containing metadata associated with its respective file, a sparse data stream containing none or some data of the respective file, and information which enables any remotely stored data of the respective file to be retrieved from the network; receiving, from one or more applications executing on the processor of the computing device, one or more requests, each request comprising a request to access a file for which a placeholder is stored on the secondary storage; determining, for each received request to access a file, whether the request requires that data of the file be retrieved from remote storage on the network; monitoring a level of such requests requiring retrieval of data from the remote storage; determining that the monitored level of requests has satisfied a threshold; and performing operations, in response to determining that the threshold has been satisfied, to reduce an impact of such level of requests on resources of the computing device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification