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: 10169169
    Abstract: 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: Grant
    Filed: May 8, 2014
    Date of Patent: January 1, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: Faraz Shaikh, Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Mayuresh Vartak, Praveen Vegulla, Krishna Yadappanavar
  • Patent number: 10019459
    Abstract: 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: Grant
    Filed: December 19, 2013
    Date of Patent: July 10, 2018
    Inventors: Sandip Agarwala, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
  • Patent number: 9965203
    Abstract: 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: Grant
    Filed: May 31, 2016
    Date of Patent: May 8, 2018
    Inventors: Sandip Agarwala, Abhishek Chaturvedi, Shravan Gaonkar, Mallikarjunan Mahalingam, Sazzala Reddy, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar, Jeffrey A. Zabarsky
  • Patent number: 9720619
    Abstract: 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: Grant
    Filed: December 19, 2013
    Date of Patent: August 1, 2017
    Inventors: Smit Shah, Sandip Agarwala, Mallikarjunan Mahalingam, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
  • Patent number: 9582421
    Abstract: 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: Grant
    Filed: December 19, 2013
    Date of Patent: February 28, 2017
    Assignee: Springpath, Inc.
    Inventors: Sandip Agarwala, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
  • Patent number: 9521198
    Abstract: 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: Grant
    Filed: December 19, 2013
    Date of Patent: December 13, 2016
    Assignee: 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: 9448728
    Abstract: 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: Grant
    Filed: August 28, 2015
    Date of Patent: September 20, 2016
    Assignee: VMware, Inc.
    Inventors: Faraz Shaikh, Murali Vilayannur, Satyam B. Vaghani, Kiran Joshi
  • Patent number: 9448927
    Abstract: 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: Grant
    Filed: December 19, 2013
    Date of Patent: September 20, 2016
    Assignee: Springpath, Inc.
    Inventors: Sandip Agarwala, Shravan Gaonkar, Mallikarjunan Mahalingam, Smit Shah, Faraz Shaikh, Praveen Vegulla, Krishna Yadappanavar
  • Patent number: 9378067
    Abstract: 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: Grant
    Filed: May 8, 2014
    Date of Patent: June 28, 2016
    Assignee: 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: 20150370489
    Abstract: 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: Application
    Filed: August 28, 2015
    Publication date: December 24, 2015
    Inventors: Faraz SHAIKH, Murali VILAYANNUR, Satyam B. VAGHANI, Kiran JOSHI
  • Patent number: 9146766
    Abstract: 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: Grant
    Filed: June 22, 2011
    Date of Patent: September 29, 2015
    Assignee: VMware, Inc.
    Inventors: Faraz Shaikh, Murali Vilayannur, Satyam B. Vaghani, Kiran Joshi
  • Patent number: 9116726
    Abstract: 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: Grant
    Filed: September 28, 2012
    Date of Patent: August 25, 2015
    Assignee: VMware, Inc.
    Inventors: Faraz Shaikh, Krishna Yadappanavar, Murali Vilayannur
  • Patent number: 9052937
    Abstract: 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: Grant
    Filed: February 27, 2013
    Date of Patent: June 9, 2015
    Assignee: VMware, Inc.
    Inventors: Krishna Yadappanavar, Murali Vilayannur, Faraz Shaikh
  • Patent number: 9038066
    Abstract: 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: Grant
    Filed: September 28, 2012
    Date of Patent: May 19, 2015
    Assignee: VMware, Inc.
    Inventors: Krishna Yadappanavar, Faraz Shaikh, Murali Vilayannur
  • Patent number: 9032176
    Abstract: 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: Grant
    Filed: March 20, 2014
    Date of Patent: May 12, 2015
    Assignee: VMware, Inc.
    Inventors: Faraz Shaikh, Murali Vilayannur
  • Patent number: 8874859
    Abstract: 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: Grant
    Filed: December 22, 2010
    Date of Patent: October 28, 2014
    Assignee: VMware, Inc.
    Inventors: Murali Vilayannur, Krishna Yadappanavar, Faraz Shaikh, Manjunath Rajashekhar, Satyam B. Vaghani
  • Publication number: 20140245299
    Abstract: 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: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMware, Inc.
    Inventors: Krishna YADAPPANAVAR, Murali VILAYANNUR, Faraz SHAIKH
  • Publication number: 20140208321
    Abstract: 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: Application
    Filed: March 20, 2014
    Publication date: July 24, 2014
    Applicant: VMWARE, INC.
    Inventors: Faraz SHAIKH, Murali VILAYANNUR
  • Patent number: 8762660
    Abstract: 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: Grant
    Filed: May 30, 2012
    Date of Patent: June 24, 2014
    Assignee: VMware, Inc.
    Inventors: Faraz Shaikh, Murali Vilayannur
  • Publication number: 20140095823
    Abstract: 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: Application
    Filed: September 28, 2012
    Publication date: April 3, 2014
    Applicant: VMware, Inc.
    Inventors: Faraz SHAIKH, Krishna YADAPPANAVAR, Murali VILAYANNUR