Patents by Inventor Mounesh Badiger

Mounesh Badiger 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: 20240070080
    Abstract: The disclosure describes growing a data cache using a background hash bucket growth process. A first memory portion is allocated to the data buffer of the data cache and a second memory portion is allocated to the metadata buffer of the data cache based on the cache growth instruction. The quantity of hash buckets in the hash bucket buffer is increased and the background hash bucket growth process is initiated, wherein the process is configured to rehash hash bucket entries of the hash bucket buffer in the increased quantity of hash buckets. A data entry is stored in the data buffer using the allocated first memory portion of the data cache and metadata associated with the data entry is stored using the allocated second memory portion of the metadata buffer, wherein a hash bucket entry associated with the data entry is stored in the increased quantity of hash buckets.
    Type: Application
    Filed: August 31, 2022
    Publication date: February 29, 2024
    Inventors: Wenguang WANG, Yanxing PAN, Junlong GAO, Mounesh BADIGER, Eric KNAUFT, Vamsidhar GUNTURU
  • Patent number: 11698737
    Abstract: Examples provide a method of communication between a client application and a filesystem server in a virtualized computing system. The client application executes in a virtual machine (VM) and the filesystem server executes in a hypervisor.
    Type: Grant
    Filed: January 6, 2022
    Date of Patent: July 11, 2023
    Assignee: VMware, Inc.
    Inventors: Mounesh Badiger, Wenguang Wang, Adrian Drzewiecki
  • Patent number: 11513832
    Abstract: Examples provide a method of communication between a client driver and a filesystem server. The client driver executes in a virtual machine (VM) and the filesystem server executes in a hypervisor. The method includes: allocating, by the client driver, shared memory in an address space of the VM for the communication; sending identification information for the shared memory from the client driver to the filesystem server through an inter-process communication channel between the client driver and the filesystem server; identifying, by the filesystem server in cooperation with a kernel of the hypervisor, the shared memory within an address space of the hypervisor, based on the identification information, to create a shared memory channel; sending commands from the client driver to the filesystem server through the shared memory channel; and receiving completion messages for the commands from the filesystem server to the client driver through the shared memory channel.
    Type: Grant
    Filed: September 7, 2020
    Date of Patent: November 29, 2022
    Assignee: VMware, Inc.
    Inventors: Mounesh Badiger, Wenguang Wang, Adrian Drzewiecki, Maxime Austruy, Satish Pudi
  • 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: 11334498
    Abstract: A system and method for transferring data between a user space buffer in the address space of a user space process running on a virtual machine and a storage system are described. The user space buffer is represented as a file with a file descriptor. In the method, a file system proxy receives a request for I/O read or write from the user space process without copying data to be transferred. The file system proxy then sends the request to a file system server without copying data to be transferred. The file system server then requests that the storage system perform the requested I/O directly between the storage system and the user space buffer, the only transfer of data being between the storage system and the user space buffer.
    Type: Grant
    Filed: August 27, 2019
    Date of Patent: May 17, 2022
    Assignee: VMware, Inc.
    Inventors: Kamal Jeet Charan, Adrian Drzewiecki, Mounesh Badiger, Pushpesh Sharma, Wenguang Wang, Maxime Austruy, Richard P Spillane
  • Publication number: 20220129175
    Abstract: Examples provide a method of communication between a client application and a filesystem server in a virtualized computing system. The client application executes in a virtual machine (VM) and the filesystem server executes in a hypervisor.
    Type: Application
    Filed: January 6, 2022
    Publication date: April 28, 2022
    Inventors: Mounesh BADIGER, Wenguang WANG, Adrian DRZEWIECKI
  • Patent number: 11249660
    Abstract: Examples provide a method of communication between a client application and a filesystem server in a virtualized computing system. The client application executes in a virtual machine (VM) and the filesystem server executes in a hypervisor.
    Type: Grant
    Filed: September 4, 2020
    Date of Patent: February 15, 2022
    Assignee: VMware, Inc.
    Inventors: Mounesh Badiger, Wenguang Wang, Adrian Drzewiecki
  • 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: 20220019362
    Abstract: Examples provide a method of communication between a client application and a filesystem server in a virtualized computing system. The client application executes in a virtual machine (VM) and the filesystem server executes in a hypervisor.
    Type: Application
    Filed: September 4, 2020
    Publication date: January 20, 2022
    Inventors: MOUNESH BADIGER, Wenguang WANG, Adrian DRZEWIECKI
  • Publication number: 20220019456
    Abstract: Examples provide a method of communication between a client driver and a filesystem server. The client driver executes in a virtual machine (VM) and the filesystem server executes in a hypervisor. The method includes: allocating, by the client driver, shared memory in an address space of the VM for the communication; sending identification information for the shared memory from the client driver to the filesystem server through an inter-process communication channel between the client driver and the filesystem server; identifying, by the filesystem server in cooperation with a kernel of the hypervisor, the shared memory within an address space of the hypervisor, based on the identification information, to create a shared memory channel; sending commands from the client driver to the filesystem server through the shared memory channel; and receiving completion messages for the commands from the filesystem server to the client driver through the shared memory channel.
    Type: Application
    Filed: September 7, 2020
    Publication date: January 20, 2022
    Inventors: MOUNESH BADIGER, Wenguang Wang, Adrian Drzewiecki, Maxime Austruy, Satish Pudi
  • 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
  • Publication number: 20210011855
    Abstract: A system and method for transferring data between a user space buffer in the address space of a user space process running on a virtual machine and a storage system are described The user space buffer is represented as a file with a file descriptor in the method, a file system proxy receives a request for I/O read or write from the user space process without copying data to be transferred. The file system proxy then sends the request to a file system server without copying data to be transferred. The file system server then requests that the storage system perform the requested I/O directly between the storage system and the user space buffer, the only transfer of data being between the storage system and the user space buffer.
    Type: Application
    Filed: August 27, 2019
    Publication date: January 14, 2021
    Inventors: KAMAL JEET CHARAN, Adrian Drzewiecki, Mounesh Badiger, Pushpesh Sharma, Wenguang Wang, Maxime Austruy, Richard P. Spillane
  • Patent number: 9542112
    Abstract: Techniques for enabling secure cross-process memory sharing are provided. In one set of embodiments, a first user process executing on a computer system can create a memory handle representing a memory space of the first user process. The first user process can further define one or more access restrictions with respect to the memory handle. The first user process can then transmit the memory handle to a second user process executing on the computer system, the memory handle enabling the second user process to access at least a portion of the first process' memory space, subject to the one or more access restrictions.
    Type: Grant
    Filed: April 14, 2015
    Date of Patent: January 10, 2017
    Assignee: VMware, Inc.
    Inventors: Adrian Drzewiecki, Christoph Klee, Mounesh Badiger
  • Publication number: 20160306578
    Abstract: Techniques for enabling secure cross-process memory sharing are provided. In one set of embodiments, a first user process executing on a computer system can create a memory handle representing a memory space of the first user process. The first user process can further define one or more access restrictions with respect to the memory handle. The first user process can then transmit the memory handle to a second user process executing on the computer system, the memory handle enabling the second user process to access at least a portion of the first process' memory space, subject to the one or more access restrictions.
    Type: Application
    Filed: April 14, 2015
    Publication date: October 20, 2016
    Inventors: Adrian Drzewiecki, Christoph Klee, Mounesh Badiger