Claims
- 1. A method of accessing data in an object-based data storage system including a first computer and a second computer, said method comprising:
said first computer obtaining a data access map from said second computer, wherein said data access map contains information to be interpreted by said first computer to perform said data access; said first computer interpreting said data access map so as to determine a first set of operations needed to be performed by said first computer for accessing said data; and said first computer performing said first set of operations and a second set of operations to access said data.
- 2. The method of claim 1, wherein said data access map includes a layout map describing how one or more objects to be accessed during said data access are stored in said data storage system, and wherein said layout map contains at least one of the following:
a first information about a storage layout scheme for said one or more objects; a second information about which one or more of a plurality of storage disks in said data storage system are used to store said one or more objects; and a third information about the number of disks from said plurality of storage disks that are used to store said one or more objects.
- 3. The method of claim 1, wherein said first computer performing said first set of operations includes at least one of the following:
said first computer computing, using said data access map, one or more physical disk locations in one or more of a plurality of storage disks in said data storage system that need to be accessed for said data access; and said first computer further computing one or more byte offsets for accessing said data in said one or more of said plurality of storage disks.
- 4. The method of claim 1, wherein said first computer performing said second set of operations includes:
said first computer constructing a directed acyclic graph (DAG) after interpreting said information in said data access map, wherein said DAG identifies a sequence for said second set of operations needed to be performed by said first computer for accessing said data; and said first computer executing said DAG to perform said second set of operations in said sequence.
- 5. A method of accessing data in an object-based distributed data storage system comprising:
obtaining a data access map that contains information about said data access; interpreting said data access map so as to determine one or more operations needed to be performed as part of accessing said data; and performing said one or more operations as part of accessing said data.
- 6. In an object-based data storage system including a plurality of client computers and a server computer, wherein each of said plurality of client computers is configured to perform a corresponding data access to a storage disk in said data storage system, a method of accessing data in said storage disk comprising:
each of said plurality of client computers constructing a corresponding directed acyclic graph (DAG), wherein each said corresponding DAG identifies a sequence for a respective first set of operations needed to be performed by corresponding client computer for said corresponding data access; and each of said plurality of client computers executing said corresponding DAG to perform said respective first set of operations in said sequence for said corresponding data access.
- 7. The method of claim 6, further comprising:
each of said plurality of client computers obtaining a respective data access map from said server computer, wherein each said respective data access map contains information to be interpreted by a corresponding client computer to determine a respective second set of operations needed to be performed by said client computer as part of said corresponding data access; and each of said plurality of client computers performing said respective second set of operations.
- 8. A method of accessing data in an object-based data storage system including a first computer and a second computer, said method comprising:
said first computer obtaining a data access map from said second computer, wherein said data access map contains information to be interpreted by said first computer to perform said data access; in the event that said first computer being unable to interpret said data access map, said first computer notifying said second computer of a data access operation needed to be performed by said first computer to access said data; said second computer constructing a directed acyclic graph (DAG) based on said information contained in said data access map, wherein said DAG identifies a sequence of I/O operations for said data access operation needed to be performed by said first computer to access said data; said second computer sending said DAG to said first computer; and said first computer executing said DAG to perform said I/O operations in said sequence so as to access said data.
- 9. A method of accessing data in an object-based data storage system comprising:
receiving a request from a requestor describing a data access operation needed to be performed by said requester to access said data in said data storage system; constructing a directed acyclic graph (DAG) in response to said request using information contained in a data access map corresponding to said data access to be performed by said requester, wherein said DAG identifies a sequence of I/O operations for said data access operation needed to be performed by said requestor to access said data; sending said DAG to said requestor; and configuring said requester to execute said DAG to perform said I/O operations in said sequence so as to access said data.
- 10. A computer-readable storage medium containing a program code, which, upon execution by a processor in an object-based distributed data storage system, causes said processor to perform the following:
receive a request from a requestor describing a data access operation needed to be performed by said requestor to access data in said data storage system; construct a directed acyclic graph (DAG) in response to said request using information contained in a data access map corresponding to said data access to be performed by said requester, wherein said DAG identifies a sequence of I/O operations for said data access operation needed to be performed by said requester to access said data; and send said DAG to said requestor.
- 11. An object-based data storage system comprising:
means for receiving a request from a requestor describing a data access operation needed to be performed by said requestor to access data in said data sorage system; means for constructing a directed acyclic graph (DAG) in response to said request using information contained in a data access map corresponding to said data access to be performed by said requestor, wherein said DAG identifies a sequence of I/O operations for said data access operation needed to be performed by said requestor to access said data; means for sending said DAG to said requester; and means for configuring said requestor to execute said DAG to perform said I/O operations in said sequence so as to access said data.
REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority benefits of prior filed co-pending and commonly-owned U.S. provisional patent applications Serial No. 60/368,785, filed on Mar. 29, 2002 and Serial No. 60/372,042, filed on Apr. 12, 2002, the disclosures of both of which are incorporated herein by reference in their entireties.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60368785 |
Mar 2002 |
US |
|
60372042 |
Apr 2002 |
US |