APPARATUS AND METHOD FOR MANAGING STORAGE OF DATA BLOCKS
First Claim
1. An apparatus, comprising:
- a processor and a memory, the processor configured to;
determine a storage location and a storage duration for a data block using cost information associated with a plurality of cloud storage services available for storing data blocks of a file system, the storage location specifying one of the cloud storage services in which the data block is to be stored, the storage duration specifying a length of time for which the data block is to be stored in the storage location; and
analyze storage of the data block at the storage location, based on an access pattern of the data block and the storage duration determined for the data block, to determine whether to remove the data block from the storage location.
11 Assignments
0 Petitions
Accused Products
Abstract
A data block storage management capability is presented. A cloud file system management capability manages storage of data blocks of a file system across multiple cloud storage services (e.g., including determining, for each data block to be stored, a storage location and a storage duration for the data block). A cloud file system management capability manages movement of data blocks of a file system between storage volumes of cloud storage services. A cloud file system management capability provides a probabilistic eviction scheme for evicting data blocks from storage volumes of cloud storage services in advance of storage deadlines by which the data blocks are to be removed from the storage volumes. A cloud file system management capability enables dynamic adaptation of the storage volume sizes of the storage volumes of the cloud storage services.
-
Citations
24 Claims
-
1. An apparatus, comprising:
a processor and a memory, the processor configured to; determine a storage location and a storage duration for a data block using cost information associated with a plurality of cloud storage services available for storing data blocks of a file system, the storage location specifying one of the cloud storage services in which the data block is to be stored, the storage duration specifying a length of time for which the data block is to be stored in the storage location; and analyze storage of the data block at the storage location, based on an access pattern of the data block and the storage duration determined for the data block, to determine whether to remove the data block from the storage location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A method, comprising:
using a processor and a memory for; determining a storage location and a storage duration for a data block using cost information associated with a plurality of cloud storage services available for storing data blocks of a file system, the storage location specifying one of the cloud storage services in which the data block is to be stored, the storage duration specifying a length of time for which the data block is to be stored in the storage location; and analyzing storage of the data block at the storage location, based on an access pattern of the data block and the storage duration determined for the data block, for determining whether to remove the data block from the storage location.
-
17. An apparatus, comprising:
a processor configured to; determine a storage duration for storage of a data block in a memory, the storage duration configured to indicate a time at which the data block is scheduled to be removed from the memory; compute a data block eviction time for the data block based on a probability density function configured to describe a probability of removing the data block from the memory at a time, within a range of time from an initial time to the time at which the data block is scheduled to be removed from the memory, since a last access time of the data block; and evict the data block from the memory when the block eviction time elapses without a subsequence access to the data block. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
24. A method, comprising:
using a processor for; determining a storage duration for storage of a data block in a memory, the storage duration configured to indicate a time at which the data block is scheduled to be removed from the memory; computing a data block eviction time for the data block based on a probability density function configured to describe a probability of removing the data block from the memory at a time, within a range of time from an initial time to the time at which the data block is scheduled to be removed from the memory, since a last access time of the data block; and evicting the data block from the memory when the block eviction time elapses without a subsequence access to the data block.
Specification