Patents by Inventor KASHISH BHATIA

KASHISH BHATIA 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: 20240403096
    Abstract: An example method of creating a volume for a container of container cluster executing in a computer system includes: receiving, at a container volume driver executing in the computer system, a request to create the volume from a container agent, the container agent executing in the computer system on behalf of the container; determining, by the container volume driver in cooperation with a storage stack, that insufficient available space exists in a virtual disk pool to store the volume; sending, by the container volume driver to the storage stack, a delete request targeting a portion of the physical storage that stores a freeable portion of the plurality of allocated volumes; requesting, by the container volume driver, the storage stack to activate a garbage collector that processes the delete request; and requesting, by the container volume driver, the container agent to retry the request to create the volume.
    Type: Application
    Filed: August 2, 2023
    Publication date: December 5, 2024
    Inventor: KASHISH BHATIA
  • Publication number: 20240402933
    Abstract: A data structure tracks the usage of an eager-zeroed virtual disk on a per block basis and this data structure is referenced during migration or cloning of the eager-zeroed virtual disk so that copying of the zero blocks can be avoided. A method of migrating or cloning the eager-zeroed virtual disk stored in a first storage device comprises: determining for each of a plurality of unique sets of blocks using this data structure, whether or not any of the blocks in the unique set has been written to since the initialization of the virtual disk; and for each unique set determined to have at least one block that has been written to since the initialization of the virtual disk, issuing a copy command to make a copy of all blocks in the unique set in a second storage device.
    Type: Application
    Filed: August 2, 2023
    Publication date: December 5, 2024
    Inventors: Kashish Bhatia, Zubraj Singha, Goresh Vitthalrao Musalay
  • Publication number: 20240362050
    Abstract: The disclosure provides a method for handling heterogeneous input/output (I/O) load for containers running in a virtualized environment. The method generally includes receiving, from an application running in a container, an I/O indicating to write data to a persistent volume backed by a virtual disk file in storage, determining a maximum number of in-flight write I/Os allowed for the persistent volume based on a share of a total write I/O bandwidth assigned to the virtual disk file and allocated to the persistent volume, determining a current number of in-flight write I/Os for the persistent volume, and determining whether the current number of in-flight write I/Os for the persistent volume is greater than or equal to the maximum number of in-flight write I/Os allowed for the persistent volume to determine whether the received I/O is to be rejected or processed.
    Type: Application
    Filed: April 25, 2023
    Publication date: October 31, 2024
    Inventor: Kashish Bhatia
  • Patent number: 12130734
    Abstract: Virtual memory space may be saved in a clone environment by leveraging the similarity of the data signatures in swap files when a chain of virtual machines (VMs) includes clones spawned from a common parent and executing common applications. Deduplication is performed across the chain, rather than merely within each VM. Examples include generating a common deduplication identifier (ID) for the chain; generating a logical addressing table linked to the deduplication ID, for each of the VMs in the chain; and generating a hash table for the chain. Examples further include, based at least on a swap out request, generating a hash value for a block of memory to be written to a storage medium; and based at least on finding the hash value within the hash table, updating the logical addressing table to indicate a location of a prior-existing duplicate of the block on the storage medium.
    Type: Grant
    Filed: November 17, 2022
    Date of Patent: October 29, 2024
    Assignee: VMware LLC
    Inventors: Tanay Ganguly, Zubraj Singha, Goresh Musalay, Kashish Bhatia
  • Publication number: 20240354136
    Abstract: The disclosure provides an approach for scalable volumes of stateful containers in a virtual environment. A method includes detecting a size change of an existing storage volume for a container running on a host; checking a volume mapping table to determine a size of the existing storage volume; computing a difference between the changed size of the existing storage volume and the size of the existing storage volume in the volume mapping table; creating a storage volume for the container, wherein the size of the created storage volume is at least equal to the difference; and adding an identifier of the container, an identifier of the existing storage volume, an identifier of the created storage volume, and a size of the created storage volume, to an entry in the volume mapping table.
    Type: Application
    Filed: April 18, 2023
    Publication date: October 24, 2024
    Inventor: Kashish BHATIA
  • Patent number: 12124734
    Abstract: Example methods and systems to process input/output (I/O) requests in a distributed storage system in a virtualized computing environment are disclosed. One example method includes executing a first thread to destage one or more data writes, wherein the one or more data writes correspond to a first bucket; executing a second thread to destage the one or more data deletes, wherein the one or more data deletes correspond to a second bucket; in response to executing the first thread, buffering write I/Os associated with the one or more data writes in a logical queue; in response to executing the second thread, buffering delete I/Os associated with the one or more data deletes in the logical queue; and adjusting a number of slots in the logical queue dedicated to buffer the delete I/Os based on a relationship between the first bucket and the second bucket.
    Type: Grant
    Filed: September 12, 2022
    Date of Patent: October 22, 2024
    Assignee: VMware LLC
    Inventors: Kashish Bhatia, Randhir Singh, Kamal Jeet Charan, Akshay Jindal, Prasanna Aithal
  • Publication number: 20240345858
    Abstract: Disclosed embodiments pertain to support input/output modules for container volumes. An input/output (I/O) request can be received from a containerized application. A container volume targeted by the I/O request can be identified. A determination is then made that the container volume is associated with one or more I/O modules based on a stored mapping of container volumes to I/O modules. Data associated with the I/O request is sent to the one or more I/O modules for processing. Processed data can be received from the one or more I/O modules, and the I/O request is fulfilled using the processed data. In certain embodiments, a write I/O request is fulfilled by writing the processed data to a virtual disk file for the container volume, and a read I/O request is fulfilled by returning the original data after reversing the processing to the containerized application.
    Type: Application
    Filed: April 12, 2023
    Publication date: October 17, 2024
    Inventor: Kashish BHATIA
  • Patent number: 12099862
    Abstract: Example methods are provided to identify unused memory regions in pages that are allocated for storing executable code. One or more of the unused memory regions are usable as a secure location to store confidential information shared between a hypervisor on the host and a guest (such as a guest virtual computing instance) that runs on the host. The one or more unused memory regions may also be used to store executable code (such as valid executable code of antivirus software or other security program) that has been prevented/delayed in its execution by malicious code that has occupied the pages, thereby providing the executable code with sufficient memory resources to enable the executable code to at least partially complete execution.
    Type: Grant
    Filed: May 18, 2021
    Date of Patent: September 24, 2024
    Assignee: VMware LLC
    Inventors: Goresh Musalay, Sachin Shinde, Zubraj Singha, Tanay Ganguly, Kashish Bhatia
  • Patent number: 12019505
    Abstract: An example computing device includes a processor and a memory coupled to the processor. The memory may include a diagnostic daemon executing in a user space. The diagnostic daemon may include a plugin layer and a plurality of plugins communicatively connected to the plugin layer. Each plugin may perform at least one operation related to diagnostic data collection. The plugin layer may receive an event from a component running in the computing device upon the component encountering an error. The event may include a plugin identifier and an operation identifier. Further, the plugin layer may route the event to a plugin of the plurality of plugins based on the plugin identifier. Furthermore, the plugin may determine an operation to be performed corresponding to the component based on the operation identifier and execute the operation to collect a type of diagnostic information specified for the component.
    Type: Grant
    Filed: October 14, 2022
    Date of Patent: June 25, 2024
    Assignee: VMware LLC
    Inventors: Randhir Singh, Kashish Bhatia
  • Publication number: 20240152462
    Abstract: The disclosure provides a method for caching data. The method generally includes receiving, from an application running in a first container, an I/O to write data in a storage virtual disk to a block associated with an LBA, determining a cache is assigned to the first container and the storage virtual disk using a container mapping table comprising a first container mapping table entry mapping the first container and the disk to the cache and a second container mapping table entry mapping a second container and the disk to the cache, writing the data to the block in the storage virtual disk and to a cache block in the cache, computing a hash of the data, adding an entry that maps the LBA to the hash in an LBA table, and adding an entry that maps the hash to the cache block and to the disk in a hash table.
    Type: Application
    Filed: January 6, 2023
    Publication date: May 9, 2024
    Inventor: KASHISH BHATIA
  • Patent number: 11934857
    Abstract: Example methods are provided to identify unused memory regions in pages that are allocated for storing executable code. One or more of the unused memory regions are usable as a secure location to store confidential information shared between a hypervisor on the host and a guest (such as a guest virtual computing instance) that runs on the host. The one or more unused memory regions may also be used to store executable code (such as valid executable code of antivirus software or other security program) that has been prevented/delayed in its execution by malicious code that has occupied the pages, thereby providing the executable code with sufficient memory resources to enable the executable code to at least partially complete execution.
    Type: Grant
    Filed: May 18, 2021
    Date of Patent: March 19, 2024
    Assignee: VMware, Inc.
    Inventors: Goresh Musalay, Sachin Shinde, Zubraj Singha, Tanay Ganguly, Kashish Bhatia
  • Publication number: 20240086103
    Abstract: Example methods and systems to process input/output (I/O) requests in a distributed storage system in a virtualized computing environment are disclosed. One example method includes executing a first thread to destage one or more data writes, wherein the one or more data writes correspond to a first bucket; executing a second thread to destage the one or more data deletes, wherein the one or more data deletes correspond to a second bucket; in response to executing the first thread, buffering write I/Os associated with the one or more data writes in a logical queue; in response to executing the second thread, buffering delete I/Os associated with the one or more data deletes in the logical queue; and adjusting a number of slots in the logical queue dedicated to buffer the delete I/Os based on a relationship between the first bucket and the second bucket.
    Type: Application
    Filed: September 12, 2022
    Publication date: March 14, 2024
    Applicant: VMware, Inc.
    Inventors: Kashish BHATIA, Randhir SINGH, Kamal Jeet CHARAN, Akshay JINDAL, Prasanna AITHAL
  • Publication number: 20240028443
    Abstract: An example computing device includes a processor and a memory coupled to the processor. The memory may include a diagnostic daemon executing in a user space. The diagnostic daemon may include a plugin layer and a plurality of plugins communicatively connected to the plugin layer. Each plugin may perform at least one operation related to diagnostic data collection. The plugin layer may receive an event from a component running in the computing device upon the component encountering an error. The event may include a plugin identifier and an operation identifier. Further, the plugin layer may route the event to a plugin of the plurality of plugins based on the plugin identifier. Furthermore, the plugin may determine an operation to be performed corresponding to the component based on the operation identifier and execute the operation to collect a type of diagnostic information specified for the component.
    Type: Application
    Filed: October 14, 2022
    Publication date: January 25, 2024
    Inventors: RANDHIR SINGH, KASHISH BHATIA
  • Patent number: 11880316
    Abstract: Example methods and systems for input output (IO) request handling based on tracking information are described. One example may involve a computer system configuring, in a cache, a zero-filled logical memory page that is mappable to multiple logical block addresses of a virtual disk. In response to detecting a first IO request to perform zero writing at a logical block address, the computer system may store tracking information indicating that zero writing has been issued. In response to detecting a second IO request to perform a read at the logical block address, the computer system may determine that that zero writing has been issued for the logical block address based on the tracking information. The zero-filled logical memory page may be fetched from the cache to respond to the second IO request, thereby servicing the second IO request from the cache instead of the virtual disk.
    Type: Grant
    Filed: February 4, 2022
    Date of Patent: January 23, 2024
    Assignee: VMware, Inc.
    Inventor: Kashish Bhatia
  • Publication number: 20230214249
    Abstract: Multiple stateful virtualized computing instances (e.g., containers) are provided with concurrent access (e.g., read and/or write access) to a shared persistent storage location, such as a persistent volume (PV). This multiple-access capability is provided by a container volume driver that generates and maintains an interval tree data structure for purposes of tracking and managing attempts by containers to simultaneously read/write to the PV.
    Type: Application
    Filed: February 25, 2022
    Publication date: July 6, 2023
    Inventor: KASHISH BHATIA
  • Publication number: 20230185741
    Abstract: Example methods and systems for input output (IO) request handling based on tracking information are described. One example may involve a computer system configuring, in a cache, a zero-filled logical memory page that is mappable to multiple logical block addresses of a virtual disk. In response to detecting a first IO request to perform zero writing at a logical block address, the computer system may store tracking information indicating that zero writing has been issued. In response to detecting a second IO request to perform a read at the logical block address, the computer system may determine that that zero writing has been issued for the logical block address based on the tracking information. The zero-filled logical memory page may be fetched from the cache to respond to the second IO request, thereby servicing the second IO request from the cache instead of the virtual disk.
    Type: Application
    Filed: February 4, 2022
    Publication date: June 15, 2023
    Inventor: KASHISH BHATIA
  • Publication number: 20230176889
    Abstract: The disclosure provides an approach for upgrading a virtual machine (VM) using an instant clone. A method includes initiating updating of the VM on a host in a datacenter; creating a clone of the VM on the host, in response to initiating the update; receiving a first write input/output (I/O) request for a first data block; checking a first disk bitmap associated with a first delta disk for whether a first bit associated with the first data block is set; based on the first bit being set, checking a scanner bitmap for whether a second bit associated with the first data block is set; and based on the second bit being set: waiting until the first data block is merged into a second disk; and performing the first write I/O to the first data block in the second disk after the first data block is merged into the second disk.
    Type: Application
    Filed: February 8, 2022
    Publication date: June 8, 2023
    Inventor: KASHISH BHATIA
  • Publication number: 20230080935
    Abstract: Virtual memory space may be saved in a clone environment by leveraging the similarity of the data signatures in swap files when a chain of virtual machines (VMs) includes clones spawned from a common parent and executing common applications. Deduplication is performed across the chain, rather than merely within each VM. Examples include generating a common deduplication identifier (ID) for the chain; generating a logical addressing table linked to the deduplication ID, for each of the VMs in the chain; and generating a hash table for the chain. Examples further include, based at least on a swap out request, generating a hash value for a block of memory to be written to a storage medium; and based at least on finding the hash value within the hash table, updating the logical addressing table to indicate a location of a prior-existing duplicate of the block on the storage medium.
    Type: Application
    Filed: November 17, 2022
    Publication date: March 16, 2023
    Inventors: Tanay GANGULY, Zubraj SINGHA, Goresh MUSALAY, Kashish BHATIA
  • Publication number: 20230025126
    Abstract: A system may include a host computer, a VCI running on the host computer, a virtualization layer executing in the host computer to support the VCI, and an in-guest agent executing in the VCI. The virtualization layer receives a message including metadata about a first memory region to be copied and an indication of loading of an upgraded version of the in-guest agent. Further, the virtualization layer copies data from the first memory region to a second memory region. Furthermore, the virtualization layer receives information about an entry point of the upgraded version from the in-guest agent. Also, the virtualization layer receives a request to register the entry point from the upgraded version and verifies the request based on the information about the entry point. Upon verifying the request, the virtualization layer enables the upgraded version to copy the data from the second memory region.
    Type: Application
    Filed: October 8, 2021
    Publication date: January 26, 2023
    Inventors: SACHIN SHINDE, Goresh Musalay, Tanay Ganguly, Zubraj Singha, Kashish Bhatia
  • Publication number: 20230027307
    Abstract: An example method of providing a transient cache in system memory of a host for swap space on storage accessible by the host, the method including: identifying, by transient cache drivers executing in virtual machines (VMs) supported by a hypervisor executing on the host, unused space in code pages of a plurality of processes executing in the VMs; sending, from the transient cache drivers to a transient cache manager of the hypervisor, unused space metadata describing the unused space; creating, by the transient cache manager based on the unused space metadata, the transient cache in the system memory by aggregating the unused space; and providing, to a first transient cache driver of the transient cache drivers executing in a first VM of the VMs, information for accessing the transient cache.
    Type: Application
    Filed: October 8, 2021
    Publication date: January 26, 2023
    Inventors: Sachin Shinde, Zubraj Singha, Goresh Musalay, Tanay Ganguly, Kashish Bhatia