Patents by Inventor Abhay Kumar Jain

Abhay Kumar Jain 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).

  • Publication number: 20240111722
    Abstract: Deleting directories in a virtual distributed file system (VDFS), and non-virtual file systems, involves changing the name of a selected directory to a unique object identifier (UID) and moving the selected directory, named according to the UID, to a deletion target directory. A recursive process, implemented using a background deletion thread, starts in the current directory and identifies objects in the current directory. For an object that is a file or an empty directory, the object is added to a deletion queue. For an object that is a directory that is not empty, the recursion drops down into that directory as the new current directory. When the recursion has exhausted the selected directory, or some maximum object count has been reached, the objects identified in the deletion queue are deleted. This approach can also be used for file operations other than deletion, such as compression, encryption, and hashing.
    Type: Application
    Filed: November 21, 2022
    Publication date: April 4, 2024
    Inventors: Xiaohua FAN, Zhaohui GUO, Wenguang WANG, Kiran PATIL, Abhay Kumar JAIN
  • Patent number: 11907161
    Abstract: An example method of upgrading a distributed storage object from a first version to a second version includes: querying metadata of a first component configured according to the first version of the distributed storage object, the metadata defining extents of data on a disk group of the first component; populating, for a second component configured according to the second version of the distributed storage object, logical and middle maps based on the metadata such that initial entries in the logical map point to initial entries in the middle map, and the initial entries in the middle map point to physical addresses of the disk group of the first component; and reading the data from the disk group of the first component and writing the data to a disk group of the second component while updating the initial entries in the middle map.
    Type: Grant
    Filed: July 2, 2021
    Date of Patent: February 20, 2024
    Assignee: VMware, Inc.
    Inventors: Asit Desai, Abhay Kumar Jain, Wenguang Wang, Eric Knauft, Enning Xiang
  • Patent number: 11847028
    Abstract: Techniques for efficiently exporting snapshot changes are provided. In some embodiments, a system may receive a first snapshot of a data set in a storage system and a second snapshot the data set in the storage system. The system may further generate actions based on differences between the first snapshot and the second snapshot to produce a list of actions, wherein a modification to a file or directory path having a first directory location includes a first action to rename a file from the first directory location to a temporary storage location and a second action to rename the file from the temporary storage location to a second directory location; and provide the generated actions to a backup system. The backup system may apply the generated actions to a first backup associated with the first snapshot to produce a second backup associated with the second snapshot.
    Type: Grant
    Filed: July 3, 2020
    Date of Patent: December 19, 2023
    Assignee: VMWARE, INC.
    Inventors: Abhay Kumar Jain, Wenguang Wang
  • Patent number: 11841826
    Abstract: Techniques for efficiently managing a file clone from a filesystem which supports efficient volume snapshots are provided. In some embodiments, a system may receive an instruction to remove the file clone from the filesystem. The file clone may be a point-in-time copy of metadata of an original file. The system may further—for a file map entry in a filesystem tree associated with the file clone, the file map entry indicating a data block—decrement a reference count in a reference count entry associated with the file map entry. The reference count entry may be stored in the filesystem tree according to a key and the key may comprise an identification of the original file. The system may further reclaim the data block in a storage system when the reference count is zero.
    Type: Grant
    Filed: October 4, 2022
    Date of Patent: December 12, 2023
    Assignee: VMWARE INC.
    Inventors: Sriram Patil, Abhay Kumar Jain, Wenguang Wang, Nitin Rastogi, Pranay Singh, Richard P. Spillane
  • Patent number: 11755537
    Abstract: Optimizing file access includes a process for identifying a file access event for a first accessed file, and incrementing a first access counter in an access list in a memory, which also includes access counters for other accessed files. The process further includes exporting the first access counter to a performance monitoring dashboard, or exporting to a storage allocator and, based on the value, moving the first accessed file between a first storage and a second storage. The process also includes determining whether the value of the first access counter meets a first threshold, or a sum of values of the access counters for the other accessed files meets a second threshold. Based on meeting the first threshold or meeting the second threshold, the process includes persisting the access counters on a storage media. The access counters also provide security monitoring (e.g., identifying excessive file access).
    Type: Grant
    Filed: March 15, 2021
    Date of Patent: September 12, 2023
    Assignee: VMware, Inc.
    Inventors: Abhay Kumar Jain, Wenguang Wang, Richard P. Spillane
  • Publication number: 20230221864
    Abstract: A method for inline block-level deduplication is provided. The method generally includes receiving an input/output (I/O) to write a first data block in storage as associated with an logical block address (LBA), hashing the first data block to a first hash, determining a match for the first hash is contained in a bloom filter based on set bits in the bloom filter for the first hash, determining an entry for the first data block is contained in a deduplication hash table based on a subset of bits of the first hash, locating a first middle map extent in a middle map based on a middle block address (MBA) included in the entry, verifying the first hash matches the first hash stored in the middle map extent, adding a logical map extent for the LBA to a logical map, wherein the logical map extent maps the LBA to the MBA.
    Type: Application
    Filed: January 10, 2022
    Publication date: July 13, 2023
    Inventors: Abhay Kumar JAIN, Wenguang WANG
  • Publication number: 20230123478
    Abstract: Example methods and systems for accessing data in a log-structured file system having a plurality of snapshots of storage objects backed by a first-level copy-on-write (COW) B+ tree data structure and a plurality of second-level B+ tree data structures have been disclosed. One example method includes obtaining a first first-level mapping associated with a first snapshot from the plurality of snapshots based on a first logical block address, wherein each of the plurality of snapshots corresponds to each of the plurality of second-level B+ tree data structures, identifying a first second-level B+ tree data structure corresponding to one of the plurality of snapshots based on the first first-level mapping, obtaining a first second-level mapping based on the first logical block address in the first second-level B+ tree data structure, obtaining a first physical block address based on the first second-level mapping, and accessing data at the first physical block address.
    Type: Application
    Filed: October 19, 2021
    Publication date: April 20, 2023
    Applicant: VMware, Inc.
    Inventors: Enning XIANG, Wenguang WANG, Abhay Kumar JAIN, Sriram PATIL, Asit DESAI, Eric KNAUFT
  • Publication number: 20230028391
    Abstract: Techniques for efficiently managing a file clone from a filesystem which supports efficient volume snapshots are provided. In some embodiments, a system may receive an instruction to remove the file clone from the filesystem. The file clone may be a point-in-time copy of metadata of an original file. The system may further—for a file map entry in a filesystem tree associated with the file clone, the file map entry indicating a data block—decrement a reference count in a reference count entry associated with the file map entry. The reference count entry may be stored in the filesystem tree according to a key and the key may comprise an identification of the original file. The system may further reclaim the data block in a storage system when the reference count is zero.
    Type: Application
    Filed: October 4, 2022
    Publication date: January 26, 2023
    Inventors: Sriram Patil, Abhay Kumar Jain, Wenguang Wang, Nitin Rastogi, Pranay Singh, Richard P. Spillane
  • Publication number: 20230004525
    Abstract: An example method of upgrading a distributed storage object from a first version to a second version includes: querying metadata of a first component configured according to the first version of the distributed storage object, the metadata defining extents of data on a disk group of the first component; populating, for a second component configured according to the second version of the distributed storage object, logical and middle maps based on the metadata such that initial entries in the logical map point to initial entries in the middle map, and the initial entries in the middle map point to physical addresses of the disk group of the first component; and reading the data from the disk group of the first component and writing the data to a disk group of the second component while updating the initial entries in the middle map.
    Type: Application
    Filed: July 2, 2021
    Publication date: January 5, 2023
    Inventors: Asit DESAI, Abhay Kumar JAIN, Wenguang WANG, Eric KNAUFT, Enning XIANG
  • Publication number: 20220414064
    Abstract: A method for managing replication of cloned files is provided. Embodiments include determining, at a source system, that a first file has been cloned to create a second file. Embodiments include sending, from the source system to a replica system, an address of the first extent and an indication that a status of the first extent has changed from non-cloned to cloned. Embodiments include changing, at the replica system, a status of a second extent associated with a replica of the first file on the replica system from non-cloned to cloned and creating a mapping of the address of the first extent to an address of the second extent on the replica system. Embodiments include creating, at the replica system, a replica of the second file comprising a reference to the address of the second extent on the replica system.
    Type: Application
    Filed: June 24, 2021
    Publication date: December 29, 2022
    Inventors: Abhay Kumar JAIN, Sriram PATIL, Junlong GAO, Wenguang WANG
  • Patent number: 11494297
    Abstract: An example method of memory management in a computing system having a plurality of processors includes: receiving a first memory allocation request at a memory manager from a process executing on a processor of the plurality of processors in the computing system; allocating a local memory pool for the processor from a global memory pool for the plurality of processors in response to the first memory allocation request; and allocating memory from the local memory pool for the processor in response to the first memory allocation request without locking the local memory pool.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: November 8, 2022
    Assignee: VMWARE, INC.
    Inventors: Abhay Kumar Jain, Richard P. Spillane, Wenguang Wang, Nitin Rastogi, Mounesh Badiger
  • Patent number: 11494334
    Abstract: Techniques for efficiently managing a file clone from a filesystem which supports efficient volume snapshots are provided. In some embodiments, a system may receive an instruction to remove the file clone from the filesystem. The file clone may be a point-in-time copy of metadata of an original file. The system may further—for a file map entry in a filesystem tree associated with the file clone, the file map entry indicating a data block—decrement a reference count in a reference count entry associated with the file map entry. The reference count entry may be stored in the filesystem tree according to a key and the key may comprise an identification of the original file. The system may further reclaim the data block in a storage system when the reference count is zero.
    Type: Grant
    Filed: December 11, 2020
    Date of Patent: November 8, 2022
    Assignee: VMWARE INC.
    Inventors: Sriram Patil, Abhay Kumar Jain, Wenguang Wang, Nitin Rastogi, Pranay Singh, Richard P. Spillane
  • Patent number: 11455255
    Abstract: Techniques for improving the read performance of an LFS-based storage system that supports COW snapshotting are provided. In one set of embodiments, the storage system can implement an intermediate map for each storage object in the system that is keyed by a composite key consisting of snapshot identifier (major key) and LBA (minor key). With this approach, contiguous logical block addresses (LBAs) of a storage object or its snapshots will map to contiguous <Snapshot ID, LBA>-to-PBA mappings in the storage object's intermediate map, resulting in good spatial locality for those LBAs and robust read performance.
    Type: Grant
    Filed: May 24, 2021
    Date of Patent: September 27, 2022
    Assignee: VMware, Inc.
    Inventors: Abhay Kumar Jain, Sriram Patil, Wenguang Wang, Enning Xiang, Asit A. Desai
  • Publication number: 20220292061
    Abstract: Optimizing file access includes a process for identifying a file access event for a first accessed file, and incrementing a first access counter in an access list in a memory, which also includes access counters for other accessed files. The process further includes exporting the first access counter to a performance monitoring dashboard, or exporting to a storage allocator and, based on the value, moving the first accessed file between a first storage and a second storage. The process also includes determining whether the value of the first access counter meets a first threshold, or a sum of values of the access counters for the other accessed files meets a second threshold. Based on meeting the first threshold or meeting the second threshold, the process includes persisting the access counters on a storage media. The access counters also provide security monitoring (e.g., identifying excessive file access).
    Type: Application
    Filed: March 15, 2021
    Publication date: September 15, 2022
    Inventors: Abhay Kumar JAIN, Wenguang WANG, Richard P. SPILLANE
  • Publication number: 20220188267
    Abstract: Techniques for efficiently managing a file clone from a filesystem which supports efficient volume snapshots are provided. In some embodiments, a system may receive an instruction to remove the file clone from the filesystem. The file clone may be a point-in-time copy of metadata of an original file. The system may further—for a file map entry in a filesystem tree associated with the file clone, the file map entry indicating a data block—decrement a reference count in a reference count entry associated with the file map entry. The reference count entry may be stored in the filesystem tree according to a key and the key may comprise an identification of the original file. The system may further reclaim the data block in a storage system when the reference count is zero.
    Type: Application
    Filed: December 11, 2020
    Publication date: June 16, 2022
    Inventors: Sriram Patil, Abhay Kumar Jain, Wenguang Wang, Nitin Rastogi, Pranay Singh, Richard P. Spillane
  • Patent number: 11360678
    Abstract: In one set of embodiments, a computer system can periodically run an unmap service configured to scan a subset of bitmaps maintained by a file system of the computer system. As part of scanning each bitmap in the subset, the unmap service can, for each bit in the bitmap: (1) check whether the bit indicates that a corresponding physical block address (PBA) on the storage backend is currently free; (2) upon determining that the bit indicates the PBA is currently free, identify an extent within the bitmap where the PBA resides; (3) check whether an unmap indicator associated with the extent indicates that at least one free PBA in the extent is not currently unmapped in the storage backend; and (4) upon determining that the unmap indicator indicates at least one free PBA in the extent is not currently unmapped in the storage backend, add the PBA to a list of PBAs to be unmapped.
    Type: Grant
    Filed: February 19, 2021
    Date of Patent: June 14, 2022
    Assignee: VMware, Inc.
    Inventors: Long Yang, Wenguang Wang, Pranay Singh, Abhay Kumar Jain
  • Publication number: 20220027264
    Abstract: An example method of memory management in a computing system having a plurality of processors includes: receiving a first memory allocation request at a memory manager from a process executing on a processor of the plurality of processors in the computing system; allocating a local memory pool for the processor from a global memory pool for the plurality of processors in response to the first memory allocation request; and allocating memory from the local memory pool for the processor in response to the first memory allocation request without locking the local memory pool.
    Type: Application
    Filed: September 9, 2020
    Publication date: January 27, 2022
    Inventors: ABHAY KUMAR JAIN, Richard P. Spillane, Wenguang Wang, Nitin Rastogi, Mounesh Badiger
  • Publication number: 20220004461
    Abstract: Techniques for efficiently exporting snapshot changes are provided. In some embodiments, a system may receive a first snapshot of a data set in a storage system and a second snapshot the data set in the storage system. The system may further generate actions based on differences between the first snapshot and the second snapshot to produce a list of actions, wherein a modification to a file or directory path having a first directory location includes a first action to rename a file from the first directory location to a temporary storage location and a second action to rename the file from the temporary storage location to a second directory location; and provide the generated actions to a backup system. The backup system may apply the generated actions to a first backup associated with the first snapshot to produce a second backup associated with the second snapshot.
    Type: Application
    Filed: July 3, 2020
    Publication date: January 6, 2022
    Inventors: Abhay Kumar Jain, Wenguang Wang
  • Patent number: 11086779
    Abstract: Disclosed are a method and system for managing multi-threaded concurrent access to a cache data structure. The cache data structure includes a hash table and three queues. The hash table includes a list of elements for each hash bucket with each hash bucket containing a mutex object and elements in each of the queues containing lock objects. Multiple threads can each lock a different hash bucket to have access to the list, and multiple threads can each lock a different element in the queues. The locks permit highly concurrent access to the cache data structure without conflict. Also, atomic operations are used to obtain pointers to elements in the queues so that a thread can safely advance each pointer. Race conditions that are encountered with locking an element in the queues or entering an element into the hash table are detected, and the operation encountering the race condition is retried.
    Type: Grant
    Filed: November 11, 2019
    Date of Patent: August 10, 2021
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Mounesh Badiger, Abhay Kumar Jain, Junlong Gao, Zhaohui Guo, Richard P. Spillane
  • Publication number: 20210141728
    Abstract: Disclosed are a method and system for managing multi-threaded concurrent access to a cache data structure. The cache data structure includes a hash table and three queues. The hash table includes a list of elements for each hash bucket with each hash bucket containing a mutex object and elements in each of the queues containing lock objects. Multiple threads can each lock a different hash bucket to have access to the list, and multiple threads can each lock a different element in the queues. The locks permit highly concurrent access to the cache data structure without conflict. Also, atomic operations are used to obtain pointers to elements in the queues so that a thread can safely advance each pointer. Race conditions that are encountered with locking an element in the queues or entering an element into the hash table are detected, and the operation encountering the race condition is retried.
    Type: Application
    Filed: November 11, 2019
    Publication date: May 13, 2021
    Inventors: Wenguang WANG, Mounesh BADIGER, Abhay Kumar JAIN, Junlong GAO, Zhaohui GUO, Richard P. SPILLANE