VIRTUALIZED DATA STORAGE SYSTEM ARCHITECTURE USING PREFETCHING AGENT
First Claim
1. A method of optimizing a block storage protocol access to a block storage device, the method comprising:
- receiving a first storage request for access to a first storage block from a storage client;
receiving storage block prefetching information from a prefetching agent monitoring the storage client;
using the storage block prefetching information, identifying a first high-level data structure entity corresponding with the first storage block;
analyzing the first high-level data structure entity to identify at least at a portion of a set of high-level data structure entities likely to be associated with at least one future storage request;
identifying a second storage block corresponding with the portion of the set of high-level data structure entities; and
communicating the second storage block from a physical storage array to a storage block cache via a wide-area network.
7 Assignments
0 Petitions
Accused Products
Abstract
Virtual storage arrays consolidate data storage from branch locations at data centers. The virtual storage array appears to storage clients as a local data storage; however, the virtual storage array data is actually stored at a data center. To overcome the bandwidth and latency limitations of wide area networks between branch locations and the data center, systems and methods predict, prefetch, and cache at the branch location storage blocks that are likely to be requested in the future by storage clients. When this prediction is successful, storage block requests are fulfilled from branch locations'"'"' storage block caches. Predictions may leverage an understanding of the semantics and structure of the high-level data structures associated with the storage blocks. Prefetching agents on storage clients monitor storage requests to determine the associations between requested storage blocks and the corresponding high-level data structures as well as other attributes useful for prediction.
95 Citations
20 Claims
-
1. A method of optimizing a block storage protocol access to a block storage device, the method comprising:
-
receiving a first storage request for access to a first storage block from a storage client; receiving storage block prefetching information from a prefetching agent monitoring the storage client; using the storage block prefetching information, identifying a first high-level data structure entity corresponding with the first storage block; analyzing the first high-level data structure entity to identify at least at a portion of a set of high-level data structure entities likely to be associated with at least one future storage request; identifying a second storage block corresponding with the portion of the set of high-level data structure entities; and communicating the second storage block from a physical storage array to a storage block cache via a wide-area network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification