Caching of data requests in session-based environment
AssigneeNetApp, Inc.
InventorsGyanendra D. Pradhan, Roger W. Cox, Garrett R. Mueller
Life of this patent
Estimating the term…
Abstract
Caching of data requests in session-based environment. An embodiment of a method includes a client preparing a data request for a storage server in a session-based environment. The prepared data request is transmitted from the client to the storage server. The data request is stored in a cache memory for the client via a protocol for the session-based environment.
Claims16
A method comprising:
- in a client device, preparing a data request to a storage server in a session-based environment;
- transmitting the data request from the client device to the storage server;
- storing the data request in a cache memory in the client device via a protocol for the session-based environment, wherein the cache memory is controlled by a cache layer logically located between a Common Internet File System (CIFS) layer and a Transfer Control Protocol (TCP) layer in the protocol, and wherein the data request is cleared from the cache memory when completed;
- receiving, at the client device from a replacement storage server, a request to retransmit any uncompleted data request from the cache memory to the replacement storage server;
- and
- retrieving, by the client device, all uncompleted data requests remaining in the cache memory in response to the request to retransmit any uncompleted data request to the replacement storage server.
A method comprising:
- receiving a data request from a client device at a storage server, the client device and the storage server communicating in a session;
- transmitting an acknowledgment of the data request from the storage server to the client device;
- upon a failure of the storage server, switching an operation of the storage server to a replacement storage server;
- transmitting, by the replacement storage server to the client device, a request to retransmit any uncompleted data request stored in a cache in the client device to the replacement storage server, wherein the cache is controlled by a cache layer logically located between a Common Internet File System (CIFS) layer and a Transfer Control Protocol (TCP) layer, and wherein data requests are stored in the cache when transmitted and cleared from the cache when completed;
- and
- receiving, by the replacement storage server, all uncompleted data requests remaining in the cache, wherein the data requests are retrieved from the cache in the client device.
A storage system comprising:
- a first storage server coupled with a network in a session-based environment, the first storage server to engage in a session with a client device connected to the network, the client device having a cache within the client device for storage of data requests that are sent from the client device to the first storage server, the operation of the cache being directed by a protocol of the client device for the session-based environment, wherein the cache is controlled by a cache layer logically located between a Common Internet File System (CIFS) layer and a Transfer Control Protocol (TCP) layer in the protocol, and wherein the data requests are cleared from the cache when completed;
- a data storage coupled with the first storage server, the first storage server to access the data storage in response to data requests;
- and
- a second storage server coupled with the network, the second storage server to replace the first storage server, wherein all uncompleted data requests are retrieved from the cache in response to a request, sent from the second storage server, for transmission of any uncompleted data request remaining in the cache memory to the second storage server.
A client system comprising:
- a bus;
- a network adapter coupled with the bus to provide connection to a network in a session-based environment;
- a processor coupled with the bus;
- and
- an operating system for operation of the processor, the operating system including a data sharing protocol, the data sharing protocol including a cache module, the cache module to store a data request sent from the client system to a storage server in a cache until the data request is completed and to retrieve all uncompleted data requests from the cache module in response to a request from a replacement storage server, to transmit any uncompleted data request remaining in the cache to the replacement storage server, wherein the cache module is controlled by a cache layer logically located between a Common Internet File System (CIFS) layer and a Transfer Control Protocol (TCP) layer in the protocol.
A non-transitory machine-readable storage medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform operations comprising:
- preparing a data request to a storage server, at a client device, in a session-based environment;
- transmitting the data request from the client device to the storage server;
- storing the data request in a cache memory in the client device in response to a protocol for the session-based environment, wherein the cache memory is controlled by a cache layer logically located between a Common Internet File System (CIFS) layer and a Transfer Control Protocol (TCP) layer in the protocol, and wherein the data request is cleared from the cache memory when completed;
- retrieving all uncompleted data requests remaining in the cache memory in response to a request from a replacement storage server, to transmit any uncompleted data request from the cache memory to the replacement storage server;
- and
- transmitting the data request to the replacement storage server.
Dependencies are inferred from the claim text.