Patent application number | Description | Published |
20100180079 | NOTIFYING SOFTWARE COMPONENTS USING A SHARED PHYSICAL STORAGE MEDIUM - A method for implementing virtual disk reservations on a storage medium for multiple distributed applications. The method includes initializing a plurality of virtual disks, wherein each of the virtual disks is instantiated on a physical storage medium. A reservation status is determined for each of the virtual disks and a first distributed application that uses at least one virtual disk is executed. Upon an update of the reservation status for the at least one virtual disk by the first distributed application, a notification indicator is set to notify a second distributed application of the update. The update is subsequently recognized and the notification indicator is cleared in order to continue I/O for the first distributed application and the second distributed application. | 07-15-2010 |
20100186014 | DATA MOVER FOR COMPUTER SYSTEM - In a computer system with a disk array that has physical storage devices arranged as logical storage units and is capable of carrying out hardware storage operations on a per logical storage unit basis, data movement operations can be carried out on a per-file basis. A data mover software component for use in a computer or storage system enables cloning and initialization of data to provide high data throughput without moving the data between the kernel and application levels. | 07-22-2010 |
20110055274 | PROVIDING MULTIPLE CONCURRENT ACCESS TO A FILE SYSTEM - Multiple computers are connected to a data storage unit that includes a file system, which further includes multiple data entities, including files, directories and the file system itself. The file system also includes, for each data entity, an owner field for indicating which computer, if any, has exclusive or shared access to the data entity, along with a time field for indicating when a lease of the data entity began. When a computer wants to lease a data entity, the computer uses a disk reservation capability to temporarily lock the data storage unit, and, if the data entity is not currently leased, the computer writes its own identification value into the owner field and a current time into the time field for the data entity, to claim the data entity for a renewable lease period. If a prior lease of a data entity has expired, another computer may break the lease and claim ownership for itself. | 03-03-2011 |
20110179082 | MANAGING CONCURRENT FILE SYSTEM ACCESSES BY MULTIPLE SERVERS USING LOCKS - Atomic test and set (ATS) operations are carried out to perform lock operations that allow a node to acquire or release a lock to a resource of a shared file system that is stored in a data storage unit (DSU) and update its liveness information. Each ATS operation includes the step of comparing contents accessed and read through the shared file system and contents stored at a particular logical block number of the DSU. If the two contents match, updates to the contents of the lock or the liveness information are permitted. | 07-21-2011 |
20110258626 | NOTIFYING SOFTWARE COMPONENTS USING A SHARED PHYSICAL STORAGE MEDIUM - Techniques for updating a cached version of data in a computer system upon a change of the data as stored in a shared storage system networked to the computer system are described. In accordance with such techniques, a notification from the shared storage system is received at the computer system upon attempting to access the shared storage system. The computer system then determines that the notification occurred due to an unregistering of the computer system's access to the shared storage system by a second computer system that has updated the data stored in the shared storage system. As such, the computer system re-registers its access to the shared storage system and updates the cached version of the data with the data in the shared storage system that was updated by the second computer system. | 10-20-2011 |
20120158647 | Block Compression in File System - Individual blocks of data associated with a file are compressed into sub-blocks according to a compression type. For block compression type, an entire block of data is compressed and stored in the sub-block. For substream compression type, a block of data is first divided into multiple substreams that are each individually compressed and stored within the sub-block. | 06-21-2012 |
20120167080 | GUEST FILE SYSTEM INTROSPECTION AND DEFRAGMENTABLE VIRTUAL DISK FORMAT FOR SPACE EFFICIENCY - A virtualized computer system employs a virtual disk with a space efficient (SE) format to store data for virtual machines running therein. The SE format allows for defragmentation at a fine-grained level, where unused, stale, and zero blocks are moved to the end of the virtual disk so that the virtual disk may be truncated and space reclaimed by the underlying storage system as part of a special defragmentation process. | 06-28-2012 |
20120310909 | FILE SYSTEM WITH OPTIMISTIC I/O OPERATIONS ON SHARED STORAGE - A method for performing I/O operations on a file stored in a file system utilizing a shared data storage system and accessible by a plurality of host computers is disclosed. A host computer receives from a process executing on it, a request to read data stored in the file. The host computer then requests the data stored in the file without acquiring a lock from the file system. The host computer also maintains a timeout value associated with the file while reading the data. The host computer receives at least a portion of the data prior to an expiration of time, and if all the data has not been received before the expiration of time, it then assesses whether another of the host computers has acquired a lock on the file, and, if so, invalidates the received data without providing it to the requesting process. | 12-06-2012 |
20120331242 | CONSISTENT UNMAPPING OF APPLICATION DATA IN PRESENCE OF CONCURRENT, UNQUIESCED WRITERS AND READERS - Free storage blocks previously allocated to a logical block device are released back to an underlying storage system supporting the logical block device in a manner that does not conflict with write operations that may be issued to the free storage blocks at about the same time. According to a first technique, write operations on the same storage blocks to be released are paused until the underlying storage system has completed the releasing operation or, if the write operations are issued earlier than when the underlying storage system actually performs the releasing operation, such storage blocks are not released. According to a second technique, a special file is allocated the free storage blocks, which are then made available for safe releasing. | 12-27-2012 |
20130019067 | METHOD AND SYSTEM FOR ENSURING CACHE COHERENCE OF METADATA IN CLUSTERED FILE SYSTEMSAANM VILAYANNUR; MuraliAACI San JoseAAST CAAACO USAAGP VILAYANNUR; Murali San Jose CA USAANM LI; JinyuanAACI BellevueAAST WAAACO USAAGP LI; Jinyuan Bellevue WA USAANM VAGHANI; Satyam B.AACI San JoseAAST CAAACO USAAGP VAGHANI; Satyam B. San Jose CA US - Metadata of a shared file in a clustered file system is changed in a way that ensures cache coherence amongst servers that can simultaneously access the shared file. Before a server changes the metadata of the shared file, it waits until no other server is attempting to access the shared file, and all I/O operations to the shared file are blocked. After writing the metadata changes to the shared file, local caches of the other servers are updated, as needed, and I/O operations to the shared file are unblocked. | 01-17-2013 |
20130024940 | OFFLOADING OPERATIONS TO A REPLICATE VIRTUAL MACHINE - A method for detecting malicious code within a first virtual machine comprising creating a snapshot of the first virtual machine and transferring the snapshot to a second machine. A scan operation is run on the snapshot using resources of the second machine. In response to detecting malicious code during the scan operation, action is taken at the first virtual machine to address the detection of the malicious code. Thus, the action in response to detecting the malicious code may include placing the first virtual machine in quarantine. | 01-24-2013 |
20130046740 | PERFORMING ONLINE IN-PLACE UPGRADE OF CLUSTER FILE SYSTEM - A shared file system for a group of host computer systems is upgraded in-place in a manner that the shared file system can remain online and accessible to the host computer systems. Each host computer system first loads a new file system driver that is backward compatible with a driver that is currently used by them to interact with the file system. Second, one of the host computer systems acquires locks to file system management data structures of the file system, upgrades the file system management data structures, and upon completion thereof, notifies the other host computer system that the upgrade to the file system management data structures is complete. | 02-21-2013 |
20130046948 | METHOD FOR REPLICATING A LOGICAL DATA STORAGE VOLUME - Replicated data storage units are autonomously identified and assembled into generationally related data storage volumes. A data storage manager, implementing a re-signaturing process executed at defined intervals or manually initiated on a server or client system connected to the storage area network, scans the collection of visible data storage units to identify those related as a data storage volume. Each replicated data storage unit includes metadata that embeds an identification of the replicated data storage unit and volume accessible to the data storage manager. To assemble a set of replicated data storage units into a generational volume, the data storage unit metadata is rewritten to establish a unique data storage volume identity including information to associate the data storage volume in a lineage with the source data storage volume. | 02-21-2013 |
20130054888 | CONFIGURING OBJECT STORAGE SYSTEM FOR INPUT/OUTPUT OPERATIONS - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. When an input-output command (IO) is received at the storage system, an identifier is retrieved from the IO and translated into a logical storage volume identifier, and the IO is executed on storage locations referenced by a logical storage volume corresponding to the logical storage volume identifier. | 02-28-2013 |
20130054889 | COMPUTER SYSTEM ACCESSING OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. Prior to issuing input-output commands to a logical storage volume, the computer system sends a request to bind the logical storage volume to a protocol endpoint. In response a first identifier for the protocol endpoint and a second identifier for the logical storage volume is returned. Different second identifiers may be generated for different logical storage volumes even though the same protocol endpoint is being used. Therefore, a single protocol endpoint may serve as a gateway for multiple logical storage volumes. | 02-28-2013 |
20130054890 | MANAGEMENT SYSTEM AND METHODS FOR OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. To facilitate creation and management of logical storage volumes, special application programming interfaces (APIs) have been developed. The special APIs include commands to create a logical storage volume, bind, unbind, and rebind the logical storage volume, extend the size of the logical storage volume, clone the logical storage volume, and move the logical storage volume. | 02-28-2013 |
20130054910 | VIRTUAL MACHINE SNAPSHOTTING IN OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects within logical storage containers. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. A snapshot profile can be separately defined for each of these logical storage volumes, even for those that are within the same storage container. The snapshot profile for a logical storage volume defines whether or not snapshot is enabled for that logical storage volume, the frequency of the snapshot, and the number of snapshots to be retained. | 02-28-2013 |
20130054932 | OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. Logical storage volumes are created from a logical storage container having an address space that maps to storage locations of the physical data storage units. Each of the logical storage volumes so created has an address space that maps to the address space of the logical storage container. A logical storage container may span more than one storage system and logical storage volumes of different customers can be provisioned from the same logical storage container with appropriate security settings. | 02-28-2013 |
20130055248 | METHOD OF BALANCING WORKLOADS IN OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. When traffic through a particular protocol endpoint is busy, the logical storage volume undergoes a rebind process pursuant to which the logical storage volume is bound to a new protocol endpoint, and the binding to the old protocol endpoint is removed upon completion of all pending input-output commands issued through the old protocol endpoint. | 02-28-2013 |
20130055249 | VIRTUAL MACHINE PROVISIONING IN OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. When a virtual machine is provisioned, logical storage volumes include a logical metadata storage volume and logical data storage volumes. The logical metadata storage volume stores metadata for the virtual machine such as configuration and log files, swap file, and disk descriptor files. Each disk descriptor file is provided for one logical data storage volume and stores metadata about the logical data storage volume such as size and unique identifying data. | 02-28-2013 |
20130198246 | INITIALIZING FILE DATA BLOCKS - A method and system is provided for initializing files such as, for example and without limitation, pre-allocated files or raw device mapping (RDM) files, by delaying initializing file blocks. In accordance with one or more embodiments of the present invention, file blocks are associated with corresponding indicators to track un-initialized blocks. | 08-01-2013 |
20130212577 | APPLICATION-SPECIFIC DATA IN-FLIGHT SERVICES - Embodiments provide data in-flight services (DIFS) to software applications such as virtual machines (VMs) at an application level without requiring modification to established storage protocols. In exemplary embodiments, a software application is associated with a DIFS policy indicating one or more DIFS services to apply to the software application. Data transmitted by the software application to a destination is tagged based on the DIFS policy associated with the software application and transmitted to the destination. | 08-15-2013 |
20130332489 | PROVIDING MULTIPLE CONCURRENT ACCESS TO A FILE SYSTEM - Multiple computers are connected to a data storage unit that includes a file system, which further includes multiple data entities, including files, directories and the file system itself. The file system also includes, for each data entity, an owner field for indicating which computer, if any, has exclusive or shared access to the data entity, along with a time field for indicating when a lease of the data entity began. When a computer wants to lease a data entity, the computer uses a disk reservation capability to temporarily lock the data storage unit, and, if the data entity is not currently leased, the computer writes its own identification value into the owner field and a current time into the time field for the data entity, to claim the data entity for a renewable lease period. If a prior lease of a data entity has expired, another computer may break the lease and claim ownership for itself. | 12-12-2013 |
20140006731 | FILTER APPLIANCE FOR OBJECT-BASED STORAGE SYSTEM | 01-02-2014 |
20140032515 | FILE SYSTEM WITH OPTIMISTIC I/O OPERATIONS ON SHARED STORAGE - A method for performing I/O operations on a file stored in a file system utilizing a shared data storage system and accessible by a plurality of host computers is disclosed. A host computer receives from a process executing on it, a request to read data stored in the file. The host computer then requests the data stored in the file without acquiring a lock from the file system. The host computer also maintains a timeout value associated with the file while reading the data. The host computer receives at least a portion of the data prior to an expiration of time, and if all the data has not been received before the expiration of time, it then assesses whether another of the host computers has acquired a lock on the file, and, if so, invalidates the received data without providing it to the requesting process. | 01-30-2014 |
20140181398 | Configuring Object Storage System for Input/Output Operations - A method processes input-output commands (IOs) in a storage system. The storage system receives an IO including first and second identifiers. The first identifier is used to direct the IO to the storage system. At the storage system, the method retrieves the second identifier from the IO and translates the second identifier to a logical storage volume identifier. Then, the method executes the IO on storage locations referenced by a logical storage volume corresponding to the logical storage volume identifier. | 06-26-2014 |
20140244929 | OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. Logical storage volumes are created from a logical storage container having an address space that maps to storage locations of the physical data storage units. Each of the logical storage volumes so created has an address space that maps to the address space of the logical storage container. A logical storage container may span more than one storage system and logical storage volumes of different customers can be provisioned from the same logical storage container with appropriate security settings. | 08-28-2014 |
20140245016 | MANAGEMENT SYSTEM AND METHODS FOR OBJECT STORAGE SYSTEM - The storage system exports logical storage volumes that are provisioned as storage objects. These storage objects are accessed on demand by connected computer systems using standard protocols, such as SCSI and NFS, through logical endpoints for the protocol traffic that are configured in the storage system. To facilitate creation and management of logical storage volumes, special application programming interfaces (APIs) have been developed. The special APIs include commands to create a logical storage volume, bind, unbind, and rebind the logical storage volume, extend the size of the logical storage volume, clone the logical storage volume, and move the logical storage volume. | 08-28-2014 |
20150058523 | SYSTEM SOFTWARE INTERFACES FOR SPACE-OPTIMIZED BLOCK DEVICES - Interfaces to storage devices that employ storage space optimization technologies, such as thin provisioning, are configured to enable the benefits gained from such technologies to be sustained. Such an interface may be provided in a hypervisor of a virtualized computer system to enable the hypervisor to discover features of a logical unit number (LUN), such as whether or not the LUN is thinly provisioned, and also in a virtual machine (VM) of the virtualized computer system to enable the VM to discover features of a virtual disk, such as whether or not the virtual disk is thinly provisioned. The discovery of these features enables the hypervisor or the VM to instruct the underlying storage device to carry out certain operations such as an operation to deallocate blocks previously allocated to a logical block device, so that the storage device can continue to benefit from storage space optimization technologies implemented therein. | 02-26-2015 |
20150058562 | SYSTEM SOFTWARE INTERFACES FOR SPACE-OPTIMIZED BLOCK DEVICES - Interfaces to storage devices that employ storage space optimization technologies, such as thin provisioning, are configured to enable the benefits gained from such technologies to be sustained. Such an interface may be provided in a hypervisor of a virtualized computer system to enable the hypervisor to discover features of a logical unit number (LUN), such as whether or not the LUN is thinly provisioned, and also in a virtual machine (VM) of the virtualized computer system to enable the VM to discover features of a virtual disk, such as whether or not the virtual disk is thinly provisioned. The discovery of these features enables the hypervisor or the VM to instruct the underlying storage device to carry out certain operations such as an operation to deallocate blocks previously allocated to a logical block device, so that the storage device can continue to benefit from storage space optimization technologies implemented therein. | 02-26-2015 |