IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0114729
(2005-04-25)
|
등록번호 |
US-7386674
(2008-06-10)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
11 인용 특허 :
7 |
초록
▼
A system and method are provided to manage configuration of multiple file server appliances. The method comprises receiving a read request and, responsive to the receiving of the read request, utilizing a readahead engine to issue a readahead request. A portion of the readahead request that can be r
A system and method are provided to manage configuration of multiple file server appliances. The method comprises receiving a read request and, responsive to the receiving of the read request, utilizing a readahead engine to issue a readahead request. A portion of the readahead request that can be read from a local storage is delivered to the local storage system. A portion of the readahead request that can be read from a remote storage is delivered to the remote storage system.
대표청구항
▼
What is claimed is: 1. A method comprising: receiving a read request at a local storage server, the read request indicating client-requested data for a storage operating system to retrieve the client-requested data from a data container; and responsive to the receiving of the read request, utilizin
What is claimed is: 1. A method comprising: receiving a read request at a local storage server, the read request indicating client-requested data for a storage operating system to retrieve the client-requested data from a data container; and responsive to the receiving of the read request, utilizing a readahead engine to issue a readahead request, wherein: a portion of the readahead request for a set of data blocks that can be read from a local storage system is delivered to the local storage system, and a portion of the readahead request for another set of data blocks that can be read from a remote storage system is delivered to the remote storage system; and wherein issuance of the readahead request includes communication of a hint from the local storage server to a remote storage server which manages the remote storage system, the hint including a data structure which includes a plurality of parameters and indicates a read access pattern; the hint for use at the remote storage system to identify data to retrieve in response to the readahead request. 2. The method of claim 1, wherein the readahead request is a speculative readahead request or a client-driven readahead request. 3. The method of claim 1, further comprising coalescing remote requests. 4. The method of claim 3, wherein the coalescing of the read requests comprises: responsive to identifying a new remote request for data, identifying an existing outstanding remote request for the data; and canceling the new remote request for the data. 5. The method of claim 4, wherein the identifying of the existing outstanding remote request for the data includes parsing a list of outstanding remote requests. 6. The method of claim 1, wherein issuance of the readahead request comprises issuing a readahead request for a plurality of data blocks, wherein each request for a data block from a plurality of requests has an associated header indicating that the data block is from the plurality of requested data blocks. 7. The method of claim 1, further comprising: selecting an amount of readahead data to retrieve based on one or more factors; and retrieving the selected amount of readahead data. 8. The method of claim 7, wherein the one or more factors include historical information about prior requests associated with the data container. 9. The method of claim 1, wherein the hint is generated utilizing the historical information. 10. The method of claim 1, wherein the data container is a sparse volume. 11. A storage server comprising: a file system protocol layer to receive a client read request, the client read request indicating client-requested data for the storage operating system to retrieve from the data container; and a readahead engine to issue a readahead request in response to the received read request, wherein: a portion of the readahead request for a set of data blocks that can be read from a local storage system is delivered to the local storage system, and a portion of the readahead request for another set of data blocks that can be read from a remote storage system is delivered to the remote storage system; and wherein issuance of the readahead request includes communication of a hint from the storage server to a remote storage server which manages the remote storage system, the hint including a data structure which includes a plurality of parameters and indicates a read access pattern, the hint for use at the remote storage system to identify data to retrieve in response to the readahead request. 12. The storage server of claim 11 further comprising a request path, the request path having a speculative readahead component and a client-driven readahead component. 13. The storage server of claim 11, further including: a fetch on demand component to receive a new remote request; a buffer to store outstanding remote requests; and a request coalescing component to coalesce redundant read requests. 14. The storage server of claim 13, wherein the request coalescing component is to identify an existing outstanding remote request for the data; and to cancel the new remote request for the data. 15. The storage server of claim 14, wherein the identifying of the existing outstanding remote request for the data includes parsing the buffer that stores outstanding remote requests. 16. The storage server of claim 11, wherein issuance of the readahead requests includes: issuing a readahead request for a plurality of data blocks, wherein each request for a data block from the plurality of requests has an associated header indicating that the data block is from the plurality of requested data blocks. 17. The storage server of claim 11, further comprising: logic to select an amount of readahead data to retrieve based on one or more factors; and logic to retrieve the selected amount of readahead data. 18. The storage server of claim 17, wherein the one or more factors include historical information about prior requests associated with the data container. 19. The storage server of claim 18, wherein the hint is generated utilizing the historical information. 20. The storage server of claim 11, wherein the data container is a sparse volume. 21. A method comprising: receiving a read request at a front-end system, the read request indicating client-requested data for a storage operating system to retrieve from a data container; determining in the front-end system that the client-requested data is stored at a back-end system; accessing historical information associated with prior read requests; utilizing the historical information to generate, in the front-end system, a hint that includes a data structure which includes a plurality of parameters and indicates a read access pattern; communicating the hint from the front-end system to the back-end system; and utilizing the hint to service a readahead request associated with the read request. 22. A machine-readable program storage medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to: receive a client read request at a local storage server, the client read request indicating client-requested data for the storage operating system to retrieve from the data container; and issue a readahead request in response to the received read request, wherein: a portion of the readahead request that can be read from a local storage system is delivered to the local storage system, and a portion of the readahead request that can be read from a remote storage system is delivered to the remote storage system; and wherein issuance of the readahead request includes communication of a hint from the local storage server to a remote storage server which manages the remote storage system, the hint including a data structure which includes a plurality of parameters and indicates a read access pattern, the hint for use at the remote storage system to identify data to retrieve in response to the readahead request. 23. The method of claim 1, wherein the hint includes an indication of how many data blocks to retrieve, an indication of how many of the data blocks to retrieve are must-read data blocks, and an indication of how many of the data blocks to retrieve are speculative readahead data blocks. 24. The storage server of claim 11, wherein the hint includes an indication of how many data blocks to retrieve, an indication of how many of the data blocks to retrieve are must-read data blocks, and an indication of how many of the data blocks to retrieve are speculative readahead data blocks. 25. The method of claim 21, wherein the hint includes an indication of how many data blocks to retrieve, an indication of how many of the data blocks to retrieve are must-read data blocks, and an indication of how many of the data blocks to retrieve are speculative readahead data blocks. 26. The machine-readable program storage medium of claim 22, wherein the hint includes an indication of how many data blocks to retrieve, an indication of how many of the data blocks to retrieve are must-read data blocks, and an indication of how many of the data blocks to retrieve are speculative readahead data blocks.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.