Fetching Query Results Through Cloud Object Stores
US-2024394271-A1 · Nov 28, 2024 · US
US9229646B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9229646-B2 |
| Application number | US-78733704-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 26, 2004 |
| Priority date | Feb 26, 2004 |
| Publication date | Jan 5, 2016 |
| Grant date | Jan 5, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A environment and method are provided for increasing the storage capacity of a data storage environment. Additional storage clusters may be added to the storage environment without affecting the performance of each individual storage cluster. When data is written to the storage environment, a selection may be made as to which storage cluster is to store the data. When data is read from the storage environment, it may be determined which storage cluster stores the data and the data may be retrieved from that storage cluster.
Opening claim text (preview).
What is claimed is: 1. A method of accessing a first unit of data stored in a content addressable storage environment that includes a plurality of storage clusters, wherein the content addressable storage environment identifies each unit of data stored thereon using a content address that is based, at least in part, upon at least a portion of the content of the respective unit of data, wherein the content address comprises an identifier used to determine on which of the plurality of storage clusters the respective unit of data is stored, the method comprising acts of: receiving a request from a host computer to locate the first unit of data previously stored in the storage environment, wherein the request identifies the first unit of data via a first content address that is based, at least in part, upon at least a portion of the content of the first unit of data, wherein the identifier of the first content address comprises a common identifier that is the same as the identifier of a second content address of a second unit of data that is related to the first unit of data, wherein each of the plurality of storage clusters comprises a plurality of nodes, wherein the plurality of nodes in each storage cluster share a software utility that is separate from a software utility used by nodes in other storage clusters of the plurality of storage clusters; and in response to receipt of the request, determining on which one of the plurality of storage clusters the unit of data is stored based, at least in part, on the common identifier of the first content address of the first unit of data. 2. The method of claim 1 , wherein the host computer executes an application program that stores data to and retrieves data from the storage environment, wherein the host further executes an application programming interface that interfaces the application program to the storage environment, and wherein the act of receiving is performed by the application programming interface. 3. The method of claim 1 , wherein the storage environment is coupled to the host computer by at least one communication link, wherein the host computer, the storage environment, and the at least one communication link form a computer system, wherein the computer system includes an appliance that monitors access requests from the host computer, and wherein the act of receiving the request further comprises an act of receiving, at the appliance, the request from the application. 4. The method of claim 3 , wherein the act of determining is performed by the appliance. 5. The method of claim 1 , wherein the host computer executes an application program that stores data on the storage environment, and wherein the act of receiving the request further comprises an act of receiving the request directly from the application program. 6. The method of claim 4 , wherein the act of receiving the request further comprises an act of receiving the request by at least one of the plurality of storage clusters. 7. The method of claim 6 , wherein the at least one of the plurality of storage clusters includes at least one access node that receives and processes access requests, and wherein the act of receiving the request from the application program at the at least one of the plurality of storage clusters further comprises an act of receiving the request at the at least one access node. 8. The method of claim 1 , wherein the act of determining comprises an act of performing a search for the first unit of data on the plurality of storage clusters. 9. The method of claim 8 , wherein the act of performing a search for the first unit of data further comprises an act of performing the search serially through the plurality of storage clusters until the first unit of data is found. 10. The method of claim 8 , wherein the act of performing a search for the first unit of data further comprises an act of performing the search on each of the plurality of storage clusters in parallel. 11. The method of claim 1 , wherein the act of determining is performed by at least one of the plurality of storage clusters. 12. The method of claim 1 , wherein the act of determining comprises locating the first unit of data on at least one of the plurality of storage clusters without performing a search. 13. The method of claim 1 , wherein the first content address includes time information, based on when the first unit of data was stored in the storage environment, and the act of determining comprises an act of determining on which of the plurality of storage clusters the first unit of data is stored based, at least in part, on the time information of the first content address of the first unit of data. 14. The method of claim 13 , wherein the act of determining further comprises an act of determining on which of the plurality of storage clusters the first unit of data is stored based, at least in part, on a hash value of the time information of the first content address of the first unit of data. 15. The method of claim 1 , wherein the identifier is a guaranteed unique identifier (GUID), and wherein the act of determining further comprises an act of determining on which of the plurality of storage clusters the first unit of data is stored based, at least in part, on the GUID. 16. The method of claim 15 , wherein the act of determining further comprises an act of determining on which of the plurality of storage clusters the first unit of data is stored based, at least in part, on a hash of the GUID. 17. The method of claim 1 , wherein the act of determining further comprises acts of: accessing information that specifies an algorithm that was used to select on which of the plurality of storage clusters the first unit of data was stored, based on the first content address of the unit of data; and applying the algorithm to the first content address of the first unit of data to determine on which of the plurality of storage clusters the first unit of data is stored. 18. The method of claim 17 , wherein the information specifies a plurality of algorithms used by the storage environment and during which period of time each of the plurality of algorithms was used to store units of data. 19. The method of claim 18 , wherein the information further specifies, for each one of the plurality of algorithms, at least one storage cluster that was in the storage environment during the period of time when the one of the plurality of algorithms was in effect. 20. At least one non-transitory computer readable medium encoded with instructions that, when executed on a computer system, perform a method of accessing a first unit of data stored in a content addressable storage environment that includes a plurality of storage clusters, wherein the content addressable storage environment identifies each unit of data stored thereon using a content address that is based, at least in part, upon at least a portion of the content of the respective unit of data, wherein the content address comprises an identifier used to determine on which of the plurality of storage clusters the respective unit of data is stored, and wherein the computer system comprises the storage environment and a host computer that stores data on the storage environment, and wherein the method comprises acts of: receiving a request from the host computer to locate the first unit of data previously stored in the storage environment, wherein the request identifies the first unit of data via a first content address that is based, at least in part, upon at least a portion of the content of the
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title
by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.