Patent application number | Description | Published |
20100030871 | POPULATING AND USING CACHES IN CLIENT-SIDE CACHING - Aspects of the subject matter described herein relate to client-side caching. In aspects, when a client receives a request for data that is located on a remote server, the client first checks a local cache to see if the data is stored in the local cache. If the data is not stored in the local cache, the client may check a peer cache to see if the data is stored in the peer cache. If the data is not stored in the peer cache, the client obtains the data from the remote server, caches it locally, and publishes to the peer cache that the client has a copy of the data. | 02-04-2010 |
20100185704 | CLIENT-BASED CACHING OF REMOTE FILES - A lease system is described herein that allows clients to request a lease to a remote file, wherein the lease permits access to the file across multiple applications using multiple handles without extra round trips to a server. When multiple applications on the same client (or multiple components of the same application) request access to the same file, the client specifies the same lease identifier to the server for each open request or may handle the request from the cache based on the existing lease. Because the server identifies the client's cache at the client level rather than the individual file request level, the client receives fewer break notifications and is able to cache remote files in more circumstances. Thus, by providing the ability to cache data in more circumstances common with modern applications, the lease system reduces bandwidth, improves server scalability, and provides faster access to data. | 07-22-2010 |
20100293197 | Directory Opportunistic Locks Using File System Filters - Aspects of the subject matter described herein relate to directory oplocks. In aspects, a file system filter is inserted in a filter stack between requesters of directory oplocks and a file system that stores file system objects. The file system filter receives requests for directory oplocks and subsequently monitors for requests to access file system objects that are inconsistent with the directory oplocks. To provide directory oplock mechanisms, the file system filter may use alternate data streams if provided by the file system or may independently maintain information usable to maintain and release directory oplocks. A directory oplock may affect ancestors and descendants of the directory depending on constraints imposed by the oplock. | 11-18-2010 |
20110246598 | MAPPING RDMA SEMANTICS TO HIGH SPEED STORAGE - Embodiments described herein are directed to extending remote direct memory access (RDMA) semantics to enable implementation in a local storage system and to providing a management interface for initializing a local data store. A computer system extends RDMA semantics to provide local storage access using RDMA, where extending the RDMA semantics includes the following: mapping RDMA verbs of an RDMA verbs interface to a local data store and altering RDMA ordering semantics to allow out-of-order processing and/or out-of-order completions. The computer system also accesses various portions of the local data store using the extended RDMA semantics. | 10-06-2011 |
20120143999 | CLIENT-BASED CACHING OF REMOTE FILES - A lease system is described herein that allows clients to request a lease to a remote file, wherein the lease permits access to the file across multiple applications using multiple handles without extra round trips to a server. When multiple applications on the same client (or multiple components of the same application) request access to the same file, the client specifies the same lease identifier to the server for each open request or may handle the request from the cache based on the existing lease. Because the server identifies the client's cache at the client level rather than the individual file request level, the client receives fewer break notifications and is able to cache remote files in more circumstances. Thus, by providing the ability to cache data in more circumstances common with modern applications, the lease system reduces bandwidth, improves server scalability, and provides faster access to data. | 06-07-2012 |
20120254396 | PROVIDING A WITNESS SERVICE - Described are embodiments directed at providing a witness service that sends notifications with a resource state to clients. Embodiments provide a protocol that includes various messages for registering and receiving notifications regarding the state of a resource. The protocol may include a message for requesting node information from a first node in a cluster. The node information identifies nodes in the cluster that provide a witness service, which monitors a resource. The protocol includes a message that is used to register with the witness service for notifications regarding a state, or state change, of a network or cluster resource. The protocol also includes messages for sending notifications with state information of the resource. | 10-04-2012 |
20130007518 | TRANSPARENT FAILOVER - Described are embodiments directed at persistent handles that are used to retain state across network failures and server failovers. Persistent handles are requested by a client after a session has been established with a file server. The request for the persistent handle includes a handle identifier generated by the client. The server uses the handle identifier to associate with state information. When there is a network failure or a server failover, and a reconnection to the client, the handle identifier is used to identify replayed requests that if replayed would create an inconsistent state on the server. The replayed requests are then appropriately handled. | 01-03-2013 |
20130041985 | TOKEN BASED FILE OPERATIONS - Described are embodiments which allow token-based file operations. The client may request a special offload file operation that is formatted according to a file access protocol. The file operation may be an offload read operation or an offload write operation. In an offload read operation, the client requests that data be logically read from a stored file, or a portion thereof. In response, the file server provides a response that includes a token that represents the logically read data. In some embodiments, the file server may return a response with a token that represents less than all of the requested data if for some reason it cannot provide a token that represents all of the data. The token can then be used by the client in a subsequent offload write operation. In embodiments, the tokens represent immutable data that can be safely and securely used across servers and clients. | 02-14-2013 |
20130066941 | CLUSTERED CLIENT FAILOVER - An application instance identifier is employed with various systems and methods in order to provide a requestor with continuous access to a resource when operating in a client clustered environment. A requestor residing on a first client in may attempt to access a resource. The first client sends a request to access the resource. The request may be associated with an application instance identifier that identifiers the requestor. At some point, the first client fails and the requestor is associated with a second client via a failover mechanism. The second client sends a second request to access the resource on behalf of the requestor. The second request is associated with the requestor's application instance identifier. The application instance identifier is used to identify the second request as belonging to the same requestor as the first request, thereby granting the second request to access the resource while avoiding a conflict situation. | 03-14-2013 |
20130067095 | SMB2 SCALEOUT - Systems and methods are disclosed for clients and servers operating in a scaled cluster environment. Efficiencies are introduced to the process of connecting a client to a clustered environment by providing the client with the ability to attempt a connection with multiple servers in parallel. Servers operating the in the clustered environment are also capable of providing persistent storage of file handles and other state information. Ownership of the state information and persistent handles may be transferred between servers, thereby providing clients with the opportunity to move from one server to another while maintaining access to resources in the clustered environment. | 03-14-2013 |
20130254272 | CLIENT-BASED CACHING OF REMOTE FILES - A lease system is described herein that allows clients to request a lease to a remote file, wherein the lease permits access to the file across multiple applications using multiple handles without extra round trips to a server. When multiple applications on the same client (or multiple components of the same application) request access to the same file, the client specifies the same lease identifier to the server for each open request or may handle the request from the cache based on the existing lease. Because the server identifies the client's cache at the client level rather than the individual file request level, the client receives fewer break notifications and is able to cache remote files in more circumstances. Thus, by providing the ability to cache data in more circumstances common with modern applications, the lease system reduces bandwidth, improves server scalability, and provides faster access to data. | 09-26-2013 |
20130254436 | TASK OFFLOAD TO A PERIPHERAL DEVICE - In one embodiment, to determine what tasks may be offloaded to a peripheral hardware device (e.g., to be performed in hardware on the peripheral device, rather than on the CPU(s) of the host computer), an indication from the at least one peripheral hardware device may be provided, without the peripheral hardware device first being queried to determine the task offload capabilities provided by the peripheral hardware device. | 09-26-2013 |
20130254492 | ACCESS REQUESTS WITH CACHE INTENTIONS - A lease system is described herein that allows clients to request a lease to a remote file, wherein the lease permits access to the file across multiple applications using multiple handles without extra round trips to a server. When multiple applications on the same client (or multiple components of the same application) request access to the same file, the client specifies the same lease identifier to the server for each open request or may handle the request from the cache based on the existing lease. Because the server identifies the client's cache at the client level rather than the individual file request level, the client receives fewer break notifications and is able to cache remote files in more circumstances. Thus, by providing the ability to cache data in more circumstances common with modern applications, the lease system reduces bandwidth, improves server scalability, and provides faster access to data. | 09-26-2013 |
20130304821 | PROVIDING A WITNESS SERVICE - Described are embodiments directed at providing a witness service that sends notifications with a resource state to clients. Embodiments provide a protocol that includes various messages for registering and receiving notifications regarding the state of a resource. The protocol may include a message for requesting node information from a first node in a cluster. The node information identifies nodes in the cluster that provide a witness service, which monitors a resource. The protocol includes a message that is used to register with the witness service for notifications regarding a state, or state change, of a network or cluster resource. The protocol also includes messages for sending notifications with state information of the resource. | 11-14-2013 |
20140032696 | MAPPING RDMA SEMANTICS TO HIGH SPEED STORAGE - Embodiments described herein are directed to extending remote direct memory access (RDMA) semantics to enable implementation in a local storage system and to providing a management interface for initializing a local data store. A computer system extends RDMA semantics to provide local storage access using RDMA, where extending the RDMA semantics includes the following: mapping RDMA verbs of an RDMA verbs interface to a local data store and altering RDMA ordering semantics to allow out-of-order processing and/or out-of-order completions. The computer system also accesses various portions of the local data store using the extended RDMA semantics. | 01-30-2014 |
20140244688 | ACCESS REQUESTS WITH CACHE INTENTIONS - A lease system is described herein that allows clients to request a lease to a remote file, wherein the lease permits access to the file across multiple applications using multiple handles without extra round trips to a server. When multiple applications on the same client (or multiple components of the same application) request access to the same file, the client specifies the same lease identifier to the server for each open request or may handle the request from the cache based on the existing lease. Because the server identifies the client's cache at the client level rather than the individual file request level, the client receives fewer break notifications and is able to cache remote files in more circumstances. Thus, by providing the ability to cache data in more circumstances common with modern applications, the lease system reduces bandwidth, improves server scalability, and provides faster access to data. | 08-28-2014 |
20140372521 | TRANSPARENT FAILOVER - Described are embodiments directed at persistent handles that are used to retain state across network failures and server failovers. Persistent handles are requested by a client after a session has been established with a file server. The request for the persistent handle includes a handle identifier generated by the client. The server uses the handle identifier to associate with state information. When there is a network failure or a server failover, and a reconnection to the client, the handle identifier is used to identify replayed requests that if replayed would create an inconsistent state on the server. The replayed requests are then appropriately handled. | 12-18-2014 |