Patents by Inventor Faraz SHAIKH
Faraz SHAIKH has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10169169Abstract: Creating and using highly available transaction logs in a distributed storage system is described, where the storage controller functions of the distributed storage system are separated from that of distributed storage system storage media. In an exemplary embodiment, a storage controller server receives a transaction entry at a first storage pool of the distributed storage system. The storage controller server further looks up a transaction log to store the transaction entry, where the transaction log is associated with a second storage pool. The storage controller server routes the transaction entry to the second storage pool, wherein the second storage pool stores the transaction entry.Type: GrantFiled: May 8, 2014Date of Patent: January 1, 2019Assignee: Cisco Technology, Inc.Inventors: Faraz Shaikh, Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Mayuresh Vartak, Praveen Vegulla, Krishna Yadappanavar
-
Patent number: 10019459Abstract: A distributed storage system called StorFS that performs distributed data deduplication is described. In an exemplary embodiment, a storage controller server determines if there is duplicative data in a distributed storage system. In this embodiment, the storage controller server determines if an entity is duplicated in the distributed storage system in line with an incoming input/output operation. The storage controller server determines if the entity is duplicated in the distributed storage system by receiving the entity and looking up the entity in a data deduplication table. If the entity exists in the data deduplication table, the storage controller server updates the metadata for the entity to point to the duplicate entity.Type: GrantFiled: December 19, 2013Date of Patent: July 10, 2018Inventors: Sandip Agarwala, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
-
Systems and methods for implementing an enterprise-class converged compute-network-storage appliance
Patent number: 9965203Abstract: A distributed storage system that dispatches an input/output request is described. In an exemplary embodiment, a storage controller client receives the input/output request, wherein the distributed storage system includes the storage controller client, a plurality of storage controller servers, a plurality of virtual nodes distributed among a plurality of physical nodes, and each of the plurality of physical nodes is hosted on one of the plurality of storage controller servers. The storage controller client further computes a target virtual node for the input/output request, where the target virtual node is one of the plurality of virtual nodes. Using the computed target virtual node, the storage controller client determines a target physical node that corresponds to the target virtual node, where the target physical node is one of the plurality of physical nodes.Type: GrantFiled: May 31, 2016Date of Patent: May 8, 2018Inventors: Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Sazzala Reddy, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar, Jeffrey A. Zabarsky -
Patent number: 9720619Abstract: A distributed snapshot in a distributed storage system is described, where the storage controller functions of the distributed storage system are separated from that of distributed storage system storage media. In an exemplary embodiment, a storage controller server receives a request to create the snapshot in the distributed storage system, where the distributed storage system includes a plurality of virtual nodes and a plurality of physical nodes, and the source object includes a plurality of stripes. The storage controller server further determines a set of virtual nodes from the plurality of virtual nodes, where each of the set of virtual nodes owns one of the plurality of stripes of the source object. For each of the set of virtual nodes, the storage controller server sends a clone request to that virtual node, where the request is to create a snapshot for the stripe hosted by that virtual node.Type: GrantFiled: December 19, 2013Date of Patent: August 1, 2017Inventors: Smit Shah, Sandip Agarwala, Mallikarjunan Mahalingam, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
-
Patent number: 9582421Abstract: A distributed multi-layer cache in a distributed storage system is described, where the storage controller functions of the distributed storage system are separated from that of distributed storage system storage media. In an exemplary embodiment, a storage controller server determines if an object is in a cache that stores a plurality of objects. In addition, the distributed storage system includes the cache and a distributed object layer for persistently storing the plurality of objects. The cache further includes a de-duplicated cache layer. The storage controller server accesses the object from the cache if the object is in the cache and accesses the object from the distributed object layer if the object is not in the cache.Type: GrantFiled: December 19, 2013Date of Patent: February 28, 2017Assignee: Springpath, Inc.Inventors: Sandip Agarwala, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
-
Systems and methods for implementing an enterprise-class converged compute-network-storage appliance
Patent number: 9521198Abstract: A distributed storage system that dispatches an input/output request is described. In an exemplary embodiment, a storage controller client receives the input/output request, wherein the distributed storage system includes the storage controller client, a plurality of storage controller servers, a plurality of virtual nodes distributed among a plurality of physical nodes, and each of the plurality of physical nodes is hosted on one of the plurality of storage controller servers. The storage controller client further computes a target virtual node for the input/output request, where the target virtual node is one of the plurality of virtual nodes. Using the computed target virtual node, the storage controller client determines a target physical node that corresponds to the target virtual node, where the target physical node is one of the plurality of physical nodes.Type: GrantFiled: December 19, 2013Date of Patent: December 13, 2016Assignee: Springpath, Inc.Inventors: Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Sazzala Reddy, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar, Jeffrey A. Zabarsky -
Patent number: 9448728Abstract: 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.Type: GrantFiled: August 28, 2015Date of Patent: September 20, 2016Assignee: VMware, Inc.Inventors: Faraz Shaikh, Murali Vilayannur, Satyam B. Vaghani, Kiran Joshi
-
Patent number: 9448927Abstract: A distributed garbage collection in a distributed storage system is described, where the storage controller functions of the distributed storage system are separated from that of distributed storage system storage media. In an exemplary embodiment, a storage controller server generates a live object map of live objects stored on the distributed storage system in a plurality of block segments distributed across a plurality of storage controller servers. The storage controller server further scans the plurality of block segments to generate segment summary statistics, where the segment summary statistics indicates the number of live objects stored in the plurality of block segments. In addition, the storage controller server compacts each of the plurality of block segments that have a low utilization based on the segment summary statistics. Furthermore, the live object map is a probabilistic data structure storing a list of valid objects.Type: GrantFiled: December 19, 2013Date of Patent: September 20, 2016Assignee: Springpath, Inc.Inventors: Sandip Agarwala, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
-
Patent number: 9378067Abstract: A distributed storage system that performs automated load balancing is described. In an exemplary embodiment, a storage controller server determines if there is duplicative data in a distributed storage system. In this embodiment, the storage controller server detects a load balancing event in the distributed storage system, where the distributed storage system includes a plurality of virtual nodes distributed across a plurality of physical nodes. In response to detecting the load balancing event, the storage controller server determines that a current virtual node is to move from a source physical node to a destination physical node. In addition, the current virtual node is one of the plurality of virtual nodes and the source and destination physical nodes are in the plurality of physical nodes. The storage controller server further moves the current virtual node from the source physical node to the destination physical node.Type: GrantFiled: May 8, 2014Date of Patent: June 28, 2016Assignee: Springpath, Inc.Inventors: Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Bhavesh Mehta, Jyothir Ramanan, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
-
Publication number: 20150370489Abstract: 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.Type: ApplicationFiled: August 28, 2015Publication date: December 24, 2015Inventors: Faraz SHAIKH, Murali VILAYANNUR, Satyam B. VAGHANI, Kiran JOSHI
-
Patent number: 9146766Abstract: 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.Type: GrantFiled: June 22, 2011Date of Patent: September 29, 2015Assignee: VMware, Inc.Inventors: Faraz Shaikh, Murali Vilayannur, Satyam B. Vaghani, Kiran Joshi
-
Patent number: 9116726Abstract: A virtualized computer system employs a virtual disk. Multiple snapshots of the virtual disk can be created. After a snapshot is created, writes to the virtual disk are captured in delta disks. Two snapshots are consolidated by updating block references in snapshot meta data. Block reference update takes advantage of the fact that blocks for the two snapshot are managed within the same storage container and, therefore, can be moved in the snapshot logical space without incurring data copy operations. Consolidation of delta disks also gracefully handles failures during the consolidation operation and can be restarted anew after the system has recovered from failure.Type: GrantFiled: September 28, 2012Date of Patent: August 25, 2015Assignee: VMware, Inc.Inventors: Faraz Shaikh, Krishna Yadappanavar, Murali Vilayannur
-
Patent number: 9052937Abstract: Input/output operations (IOs) are issued to a storage system using request queues that are each maintained for a resource targeted by the IOs. When an IO is requested, the target resource for the IO is first identified. If a request queue is maintained for the target resource, the IO is added to the request queue and the IO is issued to the storage system as the target resource becomes available. The availability of the target resource may be determined through periodic checks or by monitoring completions of IOs issued out of the request queue.Type: GrantFiled: February 27, 2013Date of Patent: June 9, 2015Assignee: VMware, Inc.Inventors: Krishna Yadappanavar, Murali Vilayannur, Faraz Shaikh
-
Patent number: 9038066Abstract: A virtualized computer system employs a virtual disk with a space efficient (SE) format to store data for virtual machines running therein. Data within a virtual disk with a SE format is stored in a grain, where multiple grains are included in a storage block. Writes to a grain within shared storage block in a virtual disk with an SE format are serviced by allocating a new grain and storing the write data to the new grain. Metadata associated with the client that transmitted the write request to the virtual disk is then updated to point to the new grain instead of the grain within the shared storage block.Type: GrantFiled: September 28, 2012Date of Patent: May 19, 2015Assignee: VMware, Inc.Inventors: Krishna Yadappanavar, Faraz Shaikh, Murali Vilayannur
-
Patent number: 9032176Abstract: A virtualized storage stack includes logical layers above the physical storage layer. Each logical layer allocates data blocks, and the data block allocation is propagated down to the physical storage layer. To facilitate contiguous storage, each layer of the virtualized storage stack maintains additional metadata associated with data blocks. For each data block, the metadata indicates whether the data block is free, provisioned and includes a tag that indicates when the data block was first written. Data blocks that were first written as part of the same write request share the same tag, and are mostly guaranteed to be physically co-located. Block allocations that reuse data blocks having the same tag are preferred. Such preference increases the likelihood of the blocks being contiguous in the physical storage as these blocks were allocated as part of the same first write.Type: GrantFiled: March 20, 2014Date of Patent: May 12, 2015Assignee: VMware, Inc.Inventors: Faraz Shaikh, Murali Vilayannur
-
Patent number: 8874859Abstract: 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.Type: GrantFiled: December 22, 2010Date of Patent: October 28, 2014Assignee: VMware, Inc.Inventors: Murali Vilayannur, Krishna Yadappanavar, Faraz Shaikh, Manjunath Rajashekhar, Satyam B. Vaghani
-
Publication number: 20140245299Abstract: Input/output operations (IOs) are issued to a storage system using request queues that are each maintained for a resource targeted by the IOs. When an IO is requested, the target resource for the IO is first identified. If a request queue is maintained for the target resource, the IO is added to the request queue and the IO is issued to the storage system as the target resource becomes available. The availability of the target resource may be determined through periodic checks or by monitoring completions of IOs issued out of the request queue.Type: ApplicationFiled: February 27, 2013Publication date: August 28, 2014Applicant: VMware, Inc.Inventors: Krishna YADAPPANAVAR, Murali VILAYANNUR, Faraz SHAIKH
-
Publication number: 20140208321Abstract: A virtualized storage stack includes logical layers above the physical storage layer. Each logical layer allocates data blocks, and the data block allocation is propagated down to the physical storage layer. To facilitate contiguous storage, each layer of the virtualized storage stack maintains additional metadata associated with data blocks. For each data block, the metadata indicates whether the data block is free, provisioned and includes a tag that indicates when the data block was first written. Data blocks that were first written as part of the same write request share the same tag, and are mostly guaranteed to be physically co-located. Block allocations that reuse data blocks having the same tag are preferred. Such preference increases the likelihood of the blocks being contiguous in the physical storage as these blocks were allocated as part of the same first write.Type: ApplicationFiled: March 20, 2014Publication date: July 24, 2014Applicant: VMWARE, INC.Inventors: Faraz SHAIKH, Murali VILAYANNUR
-
Patent number: 8762660Abstract: A virtualized storage stack includes logical layers above the physical storage layer. Each logical layer allocates data blocks, and the data block allocation is propagated down to the physical storage layer. To facilitate contiguous storage, each layer of the virtualized storage stack maintains additional metadata associated with data blocks. For each data block, the metadata indicates whether the data block is free, provisioned and includes a tag that indicates when the data block was first written. Data blocks that were first written as part of the same write request share the same tag, and are mostly guaranteed to be physically co-located. Block allocations that reuse data blocks having the same tag are preferred. Such preference increases the likelihood of the blocks being contiguous in the physical storage as these blocks were allocated as part of the same first write.Type: GrantFiled: May 30, 2012Date of Patent: June 24, 2014Assignee: VMware, Inc.Inventors: Faraz Shaikh, Murali Vilayannur
-
Publication number: 20140095823Abstract: A virtualized computer system employs a virtual disk. Multiple snapshots of the virtual disk can be created. After a snapshot is created, writes to the virtual disk are captured in delta disks. Two snapshots are consolidated by updating block references in snapshot meta data. Block reference update takes advantage of the fact that blocks for the two snapshot are managed within the same storage container and, therefore, can be moved in the snapshot logical space without incurring data copy operations. Consolidation of delta disks also gracefully handles failures during the consolidation operation and can be restarted anew after the system has recovered from failure.Type: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: VMware, Inc.Inventors: Faraz SHAIKH, Krishna YADAPPANAVAR, Murali VILAYANNUR