Dynamic selection of storage tiers
First Claim
1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
- execute an operating system configured to store objects at a local storage tier, a local network storage tier, or a remote network storage tier, the local storage tier comprising one or more memories and mass storage devices of the computer, and the remote network storage tier comprising one or more storage resources provided by one or more data centers;
receive, at the operating system, an unqualified request to store an object without specifying a location for storing the object, the unqualified request being received from an application executing on the computer where the operating system executes and comprising the object to be stored, an optimization factor and at least one of one or more object location factors;
in response to receiving the request to store the object, utilize at least the one or more object location factors to determine a selected storage tier for the object, the selected storage tier is selected from the local storage tier, the local network storage tier, or the remote network storage tier;
cause the object to be stored at the selected storage tier;
create an entry in a lookup table that indicates the object is stored at the selected storage tier;
receive a request to retrieve the object; and
in response to receiving the request to retrieve the object, utilize the lookup table to identify the selected storage tier for the object, retrieve the object from the selected storage tier, and provide the object in response to the request to retrieve the object.
1 Assignment
0 Petitions
Accused Products
Abstract
An operating system is configured to receive a request to store an object that does not specify the location at which the object should be stored. The request might also include an optimization factor and one or more object location factors. The operating system might also generate object location factors or retrieve object location factors from one or more external locations. Object location factors might also be utilized that are based upon properties of the object to be stored. Utilizing the object location factors, and the optimization factor if provided, the operating system dynamically selects an appropriate storage tier for storing the object. The tiers might include a local storage tier, a local network storage tier, a remote network storage tier, and other types of storage tiers. The object is then stored on the selected storage tier. The object may be retrieved from the storage tier at a later time.
-
Citations
24 Claims
-
1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:
-
execute an operating system configured to store objects at a local storage tier, a local network storage tier, or a remote network storage tier, the local storage tier comprising one or more memories and mass storage devices of the computer, and the remote network storage tier comprising one or more storage resources provided by one or more data centers; receive, at the operating system, an unqualified request to store an object without specifying a location for storing the object, the unqualified request being received from an application executing on the computer where the operating system executes and comprising the object to be stored, an optimization factor and at least one of one or more object location factors; in response to receiving the request to store the object, utilize at least the one or more object location factors to determine a selected storage tier for the object, the selected storage tier is selected from the local storage tier, the local network storage tier, or the remote network storage tier; cause the object to be stored at the selected storage tier; create an entry in a lookup table that indicates the object is stored at the selected storage tier; receive a request to retrieve the object; and in response to receiving the request to retrieve the object, utilize the lookup table to identify the selected storage tier for the object, retrieve the object from the selected storage tier, and provide the object in response to the request to retrieve the object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method for dynamically selecting a storage tier for storing an object from a plurality of storage tiers, the method comprising performing computer-implemented operations for:
-
receiving, at an operating system executing on a computing device, an unqualified request to store an object without specifying a location for storing the object, the unqualified request being received from an application executing on the computing device and comprising the object to be stored, an optimization factor and at least one of one or more object location factors; in response to receiving the request, selecting by way of the operating system a selected storage tier from a plurality of storage tiers for storing the object based upon the one or more object location factors, the plurality of storage tiers comprising a local storage tier that comprises one or more memories and mass storage devices of the computing device, a local network storage tier, and a remote network storage tier that comprises one or more storage resources provided by one or more data centers; causing the object to be stored at the selected storage tier; creating an entry in a lookup table that indicates the object is stored at the selected storage tier; receiving a request to retrieve the object; and in response to receiving the request to retrieve the object, utilizing the lookup table to identify the selected storage tier for the object, retrieving the object from the selected storage tier, and providing the object in response to the request to retrieve the object. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An apparatus:
-
comprising; a processor; and a non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the apparatus to; receive, by an operating system executing on the apparatus, an unqualified request to store an object without specifying a location for storing the object, the unqualified request being received from an application executing on the apparatus and comprising the object to be stored, an optimization factor and at least one of one or more object location factors; in response to receiving the request, select, by the operating system, a selected storage location for storing the object from a local storage location and a network storage location, wherein selecting the storage location is based at least in part on the one or more object location factors, wherein the local storage location comprises one or more memories and mass storage devices of the apparatus, and wherein the network storage location comprises one or more storage resources provided by one or more data centers; cause the object to be stored at the selected storage location; create an entry in a lookup table that indicates the object is stored at the selected storage location; receive a request to retrieve the object; and in response to receiving the request to retrieve the object, utilize the lookup table to identify the selected storage location for the object, retrieve the object from the selected storage location, and provide the object in response to the request to retrieve the object. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification