Patent application number | Description | Published |
20090077562 | Client Affinity in Distributed Load Balancing Systems - Aspects of the subject matter described herein relate to client affinity in distributed load balancing systems. In aspects, a request from a requester is sent to each server of a cluster. Each server determines whether it has affinity to the requester. If so, the server responds to the request. Otherwise, if the request would normally be load balanced to the server, the server queries the other servers in the cluster to determine whether any of them have affinity to the requester. If one of them does, the server drops the request and allows the other server to respond to the request; otherwise, the server responds to the request. | 03-19-2009 |
20090327798 | Cluster Shared Volumes - Described is a technology by which a storage volume is shared by cluster nodes of a server cluster. In one implementation, each node includes a redirector that provides shared access to the volume from that node. The redirector routes file system metadata requests from applications and the like through a first (e.g., SMB) communications path to the owning node, and routes file system read and write data to the storage device through a second, high-speed communications path such as direct direct block level I/O. An owning node maintains ownership of the storage device through a persistent reservation mechanism that writes a key to a registration table associated with the storage device. Non-owning nodes write a shared key. The owning node validates the shared keys against cluster membership data, and preempts (e.g., removes) any key deemed not valid. Security mechanisms for controlling access are also described. | 12-31-2009 |
20100057923 | Maintaining Client Affinity in Network Load Balancing Systems - Described is a technology in a network load balancing system (node cluster), by which client affinity is preserved across cluster configuration changes, including for new connections from a previous client. Each node maintains a list of the clients that are to remain (have affinity, or “stickiness”) with that node, including following bucket redistribution resulting from convergence. Each affinity list is communicated during convergence so that other nodes may build an exception list or lists. Via a node's exception list, the node that owns a bucket corresponding to a client knows of the affinity with another node and thus drops any packets from that client. Affinity may expire, whereby the node having affinity with that client releases it and notifies the node owning the bucket for that client that the client is no longer to be treated as an exception. | 03-04-2010 |
20120158662 | BACKUP AND RESTORE OF DATA FROM ANY CLUSTER NODE - Implementing point in time back-up. A method that may be practiced in a distributed computing environment. The distributed computing environment includes a number of computing system nodes. The method includes at a first node in the computing environment, taking a snapshot of a cluster volume. The cluster volume stores data items (e.g. files/blocks). Taking a snapshot includes marking a point in time for data items in the volume. The method further includes receiving a notification that a different node in the computing environment than the first node, has determined to change a data item in the cluster volume at a point after the marked point in time from an old version of the data item to a new version of the data item. The method further includes at the first node, saving the old version of the data item prior to modification. | 06-21-2012 |
20120158681 | VOLUMES AND FILE SYSTEM IN CLUSTER SHARED VOLUMES - The present invention extends to methods, systems, and computer program products for sharing volumes between clustered nodes. Embodiments of the invention include a Clustered Shared Volume File System (CsvFs) that appears to clients as a local file system. The CsvFs communicates to a node where a disk is mounted to coordinate access to files on the disks. CsvFs uses Opportunistic Locks (oplocks) to decide when direct access to a volume is safe. CsvFs can be extended with oplock upgrade mechanisms that allow a coordinating node to tell CsvFs when it is safe to attempt to upgrade oplock. CsvFs also uses a transitivity property of oplocks to be able to grant (delegate) oplocks to clients that are on top of CsvFs. | 06-21-2012 |
20120159005 | COORDINATION OF DIRECT I/O WITH A FILTER - Coordinating methods of I/O access to a shared data store. A method includes at a node, in a distributed system, performing one or more I/O operations on the shared data store using direct I/O access on a virtual data container. Direct I/O access includes performing I/O operations directly from the node to the shared data store including not having an owner node perform the I/O operation on the shared data store on the node's behalf. The owner node is a different node than the node doing the direct I/O operation. The owner node accesses the shared data store through a local data container. The method further includes determining that one or more subsequent I/O operations should be performed using redirected I/O access, where I/O operations are directed through a centralized node. The method further includes indicating to nodes in the distributed system to switch to redirected I/O access method. | 06-21-2012 |
20120159021 | STORAGE TOPOLOGY MANAGER - Defining a storage topology of a distributed computing system including a set of machine nodes. A method includes dynamically receiving from a number of nodes in the distributed computing system information about storage devices. Each node sends information about storage devices connected to that particular node. The information is sent dynamically from each node as conditions related to storage change and as a result of conditions related to storage changing. From the received information, the method includes dynamically constructing a storage topology representation of the distributed computed system. | 06-21-2012 |
20120311003 | Clustered File Service - A cluster based file service may operate on a cluster of two or more independent devices that have access to a common data storage. The file service may have a namespace definition with each device in the cluster, but may be modified by any device operating the file service. Each instance of the file service may identify and capture a command that changes the namespace structure and cause the change to be propagated to the other members of cluster. If one of the devices in the cluster does not successfully perform an update to the namespace structure, that device may be brought offline. The cluster based file service may permit adding or removing devices from the cluster while the file service is operating, and may provide a high throughput and high availability file service. | 12-06-2012 |
20120311685 | DISTRIBUTED NETWORK NAME - Aspects of the subject matter described herein relate to a distributed network name. In aspects, computers of a cluster have components of a distributed network name service. The network name service has a leader and clones that are hosted on the computers of the cluster. The leader is responsible for updating a name server with network names and addresses of the computers. The leader is also responsible for configuring a security server that allows clients to securely access the computers. The network name service provides credentials to local security authorities of the computers so that a client that attempts to access a service of the computers can be authenticated. | 12-06-2012 |
20130067188 | STORAGE DEVICE DRIVERS AND CLUSTER PARTICIPATION - The representation of storage devices on computers (e.g., as logical volumes) may be complicated by the pooling of multiple storage devices in order to apply redundancy plans such as mirroring and checksumming. Presented herein is a storage device driver configured to operate as a storage device interface generating representations of the storage regions of the storage devices; to claim those regions as a storage controller; and to expose pooled storage regions as logical disks. Additionally, the storage device driver may support the inclusion of storage devices in a cluster, comprising nodes that may be appointed as managers of the storage pool configuration; as managers of the storage devices; as owners having exclusive read/write access to the storage pool or cluster resources; and as cluster resource writers having excusive write access to a cluster resource. The nodes of the cluster may interoperate to share the storage devices while avoiding write conflicts. | 03-14-2013 |
20130067267 | RESOURCE AWARE PLACEMENT OF APPLICATIONS IN CLUSTERS - Placing an application on a node in a cluster. A method includes detecting an unexpected event indicating that an application should be placed on a node in the cluster. Real time information about resource utilization on one or more nodes in the cluster is received. Based on the real time information, a determination of a node to place the application is made. The application is placed on the determined node. | 03-14-2013 |
20130166863 | APPLICATION CONSISTENT SNAPSHOTS OF A SHARED VOLUME - The present invention extends to methods, systems, and computer program products for creating a snapshot of a shared volume that is application consistent across various nodes of a cluster. The invention enables a snapshot of a volume to be initiated on one node which causes all applications in the cluster that use the volume to persist their data to the volume prior to the snapshot being created. Accordingly, the snapshot is application consistent to all applications in the cluster that use the volume. The invention also enables applications on various nodes to perform post snapshot processing on the created snapshot. The invention can be used in an existing backup system that is not cluster aware to enable the existing backup system to create application consistent snapshots of a volume shared by applications across multiple nodes of a cluster. | 06-27-2013 |
20130191453 | DYNAMIC QUORUM FOR DISTRIBUTED SYSTEMS - Managing a distributed system. Embodiments may allow for a quorum to dynamically change the quorum vote. One example is illustrated in a method. The method includes determining a change to a voter's level of participation in a cluster. A quorum of voters changes the voter's voting privileges, based on the change in the voter's level of participation. | 07-25-2013 |
20130219125 | CACHE EMPLOYING MULTIPLE PAGE REPLACEMENT ALGORITHMS - The present invention extends to methods, systems, and computer program products for implementing a cache using multiple page replacement algorithms. An exemplary cache can include two logical portions where the first portion implements the least recently used (LRU) algorithm and the second portion implements the least recently used two (LRU2) algorithm to perform page replacement within the respective portion. By implementing multiple algorithms, a more efficient cache can be implemented where the pages most likely to be accessed again are retained in the cache. Multiple page replacement algorithms can be used in any cache including an operating system cache for caching pages accessed via buffered I/O, as well as a cache for caching pages accessed via unbuffered I/O such as accesses to virtual disks made by virtual machines. | 08-22-2013 |
20130227009 | ARBITRATION OF DISK OWNERSHIP IN A STORAGE POOL - The present invention extends to methods, systems, and computer program products for implementing persistent reservation techniques for establishing ownership of one or more physical disks. These persistent reservation techniques can be employed to determine ownership of physical disks in a storage pool as well as in any other storage configuration. Using the persistent reservation techniques of the present invention, when a network partition occurs, a defender of a physical disk does not remove a challenger's registration key until the defender receives notification that the challenger is no longer in the defender's partition. In this way, pending I/O from applications executing on the challenger will not fail due to the challenger's key being removed until the proper ownership of the physical disk can be resolved. | 08-29-2013 |
20130346532 | VIRTUAL SHARED STORAGE IN A CLUSTER - The present invention minimizes the cost of establishing a cluster that utilizes shared storage by creating a storage namespace within the cluster that makes each storage device, which is physically connected to any of the nodes in the cluster, appear to be physically connected to all nodes in the cluster. A virtual host bus adapter (VHBA) is executed on each node, and is used to create the storage namespace. Each VHBA determines which storage devices are physically connected to the node on which the VHBA executes, as well as each storage device that is physically connected to each of the other nodes. All storage devices determined in this manner are aggregated into the storage namespace which is then presented to the operating system on each node so as to provide the illusion that all storage devices in the storage namespace are physically connected to each node. | 12-26-2013 |
20140007092 | AUTOMATIC TRANSFER OF WORKLOAD CONFIGURATION | 01-02-2014 |
20140281709 | RECOVERY OF APPLICATION FROM SNAPSHOT - The targeted recovery of application-specific data corresponding to an application without performing recovery of the entire volume. The recovery is initiated by beginning to copy the prior state of the content of an application-specific data container from a prior snapshot to the application-specific data container in an operation volume accessible by the application. However, while the content of the application-specific data container is still being copied from the snapshot to the application-specific data container, the application is still permitted to perform read and write operations on the application-specific data container. Thus, the application-specific data container appears to the application to be fully accessible even though recovery of the content of the application-specific data container is still continuing in the background. | 09-18-2014 |
20140310278 | CREATING GLOBAL AGGREGATED NAMESPACES FOR STORAGE MANAGEMENT - Embodiments are directed to creating global, aggregated namespaces for storage management and to providing consistent namespaces in a distributed storage system. In one scenario, a computer system defines data storage objects for each data storage node. The data storage objects uniquely identify storage elements of the data storage nodes, where each data storage object includes various associated attributes. The computer system replicates the defined data storage objects and any associated attributes from a first data storage node to a second, different data storage node among the data storage nodes. As such, the defined data storage objects are visible from any node in the data storage nodes. The computer system also aggregates the defined data storage objects for each of the data storage nodes and creates a global, aggregated namespace that includes the aggregated data storage objects for each of the data storage nodes. | 10-16-2014 |
20140359054 | Distributed Storage Defense in a Cluster - Embodiments provide a method and system for enabling access to a storage device. Specifically, a node may request admittance to a cluster that has read and write access to a storage device. The node seeking access to the storage device must be first be approved by other nodes in the cluster. As part of the request, the node seeking access to the storage device sends a registration key to a storage device. Upon expiration of a registration timer, the node seeking access to the storage device receives a registration table from the storage device and determines whether its registration key is stored in the registration table. If the registration key is stored in the registration table the node has been accepted in the cluster and as a result, has been granted read and write access to the storage device. | 12-04-2014 |
20140359612 | Sharing a Virtual Hard Disk Across Multiple Virtual Machines - Embodiments provide a method and system for sharing storage among a plurality of virtual machines. Specifically, one or more embodiments are directed to sharing a virtual hard disk with various virtual machines in a virtual machine cluster. In embodiments, a command is sent from a virtual machine to a local parser. The parser prepares the command for transport over a file system protocol. The command is sent to a remote file server using the file system protocol. When the command is received by the file server, the file server unpacks the command, determines features about the command and converts the command to a format that executes the command on the virtual shared storage. | 12-04-2014 |