Read ahead caching of data from cloud storage and method thereof
First Claim
1. A computer system connected over a network to a cloud service, the computer system comprising:
- a storage area connected to another computer, and having a file system which includes a stub file representing a file stored with the cloud service; and
a cache and a processor connected to the storage area,wherein the file is a logical sequence of plural data segments,wherein an initial request for a first data segment of the file from the another computer to the storage area causes the processor to refer to the stub file, issue a first request to the cloud service for the first data segment of the file stored with the cloud service, and store the first data segment of the file in the cache,wherein, based on the initial request to the file, the processor issues a second request to the cloud service for a last data segment of the file stored with the cloud service, and stores the last data segment of the file in the cache, and,wherein, after the second request for the last data segment, the processor issues one or more additional requests to the cloud service for non-sequential intermediate data segments from among an intermediate logical sequence of the data segments of the file stored with the cloud service based on a type of the file, and stores the non-sequential intermediate data segments in the cache,wherein the non-sequential intermediate data segments are non-sequential within the intermediate logical sequence which includes the data segments of the file other than the first data segment and the last data segment of the file, andwherein the one or more additional requests to the cloud service are independent of any additional requests from the another computer after the initial request.
4 Assignments
0 Petitions
Accused Products
Abstract
A high tier storage area stores a stub file and a lower tier cloud storage area stores the file corresponding to the stub file. When a client apparatus requests segments of the file from the high tier storage area, reference is made to the stub file to determine a predicted non-sequential pattern of requests to the segments by the client apparatus. The high tier storage area follows the predicted non-sequential pattern of requests to retrieve the segments of the file from the cloud prior to the client apparatus actually requesting the segments. As such, the file may be efficiently provided to the client apparatus while also efficiently storing the file on the lower tier cloud storage area.
12 Citations
22 Claims
-
1. A computer system connected over a network to a cloud service, the computer system comprising:
-
a storage area connected to another computer, and having a file system which includes a stub file representing a file stored with the cloud service; and a cache and a processor connected to the storage area, wherein the file is a logical sequence of plural data segments, wherein an initial request for a first data segment of the file from the another computer to the storage area causes the processor to refer to the stub file, issue a first request to the cloud service for the first data segment of the file stored with the cloud service, and store the first data segment of the file in the cache, wherein, based on the initial request to the file, the processor issues a second request to the cloud service for a last data segment of the file stored with the cloud service, and stores the last data segment of the file in the cache, and, wherein, after the second request for the last data segment, the processor issues one or more additional requests to the cloud service for non-sequential intermediate data segments from among an intermediate logical sequence of the data segments of the file stored with the cloud service based on a type of the file, and stores the non-sequential intermediate data segments in the cache, wherein the non-sequential intermediate data segments are non-sequential within the intermediate logical sequence which includes the data segments of the file other than the first data segment and the last data segment of the file, and wherein the one or more additional requests to the cloud service are independent of any additional requests from the another computer after the initial request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of retrieving a file, the method comprising:
-
storing a file with a cloud service and maintaining a stub file representing the file on a file system of a storage area connected over a network with the cloud service, where the file is a logical sequence of plural data segments; receiving at the storage area an initial request for a first data segment of the file from another computer connected to the storage area; referring to the stub file; issuing a first request from the storage area to the cloud service for the first data segment of the file stored with the cloud service; storing the first data segment of the file in a cache accessible to the storage area; issuing, based on the initial request, a second request from the storage area to the cloud service for a last data segment of the file stored with the cloud service; storing the last data segment of the file in the cache; issuing, based on a type of the file, one or more additional requests from the storage area to the cloud service for non-sequential intermediate data segments from among an intermediate logical sequence of the data segments of the file stored with the cloud service based on a type of the file; and storing the non-sequential intermediate data segments in the cache, wherein the non-sequential intermediate data segments are non-sequential within the intermediate logical sequence which includes the data segments of the file other than the first data segment and the last data segment of the file, and wherein the one or more additional requests to the cloud service are independent of any additional requests from the another computer after the initial request. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification