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).

  • 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
  • Patent number: 11531614
    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: August 12, 2020
    Date of Patent: December 20, 2022
    Assignee: VMware, Inc.
    Inventors: Tanay Ganguly, Zubraj Singha, Goresh Musalay, Kashish Bhatia
  • Publication number: 20220318320
    Abstract: The present invention relates to a system for focused web crawling comprising a crawler, a distiller, a queuing unit and a classifying module arranged to undergo a method for focused web crawling that inputs a seed address into a subsequently formed address queue, iteratively extracts a primary address from the address queue, iteratively invigilates the primary address for presence in an address store, and follows a series of steps to conduct relevancy check of the addresses via naive bayes protocol, simultaneously calculates primary conditional probability of a set of predefined webpage(s) using the protocol, sequentially calculates plurality of secondary conditional probabilities pertaining to the webpage(s) of the iteratively extracted primary addresses, further classifies the webpage(s) as relevant/irrelevant webpage(s) and finally transfers addresses of the relevant webpage(s) and the relevant set of addresses into the address queue, else into the address store.
    Type: Application
    Filed: June 24, 2021
    Publication date: October 6, 2022
    Inventors: Rajesh Kumar Bhatia, Manish Kumar, Kashish Bhatia
  • Publication number: 20220300315
    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: Application
    Filed: May 18, 2021
    Publication date: September 22, 2022
    Inventors: GORESH MUSALAY, SACHIN SHINDE, ZUBRAJ SINGHA, TANAY GANGULY, KASHISH BHATIA
  • Publication number: 20220300314
    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: Application
    Filed: May 18, 2021
    Publication date: September 22, 2022
    Inventors: Goresh Musalay, Sachin Shinde, Zubraj Singha, Tanay Ganguly, Kashish Bhatia
  • Patent number: 11403212
    Abstract: The disclosure provides an approach for implementing a deduplicated (DD) assisted caching policy for a content based read cache (CBRC). Embodiments include receiving a first input/output (I/O) to write first data in storage as associated with a first logical block address (LBA); when the first data is located in a CBRC or in a DD cache located in memory, incrementing a first deduplication counter associated with the first data; when the first data is located in neither the CBRC nor the DD cache, creating the first deduplication counter; when the first deduplication counter meets a threshold after incrementing, and the first data is not located in the DD cache, adding the first data to the DD cache; and writing the first data to the storage as associated with the first LBA.
    Type: Grant
    Filed: May 5, 2021
    Date of Patent: August 2, 2022
    Assignee: VMware, Inc.
    Inventors: Zubraj Singha, Kashish Bhatia, Tanay Ganguly, Goresh Musalay
  • Patent number: 11334430
    Abstract: Disclosed herein is a system and method for checking and maintaining consistency of blocks stored in a virtual disk with a content based read cache (CBRC). When blocks are written to the cache and virtual disk, a hash is computed for the block and stored in a digest file on the virtual disk. In the background, each block is obtained from the virtual disk, its hash is recomputed, and the hash is compared to the stored hash in the digest file. If the comparison indicates a mismatch, then an error is reported.
    Type: Grant
    Filed: August 12, 2020
    Date of Patent: May 17, 2022
    Assignee: VMware, Inc.
    Inventors: Goresh Musalay, Kashish Bhatia, Zubraj Singha, Tanay Ganguly
  • Patent number: 11249915
    Abstract: Methods and systems are disclosed for populating a fail-over cache. When host computer systems in a system each have a content based read cache, the methods and system provide several functions applied in different orders for determining blocks that are to be included in the fail-over cache. Each function attempts a different strategy for combining the contents of the caches of each host computer system into the fail-over cache. If any strategy is successful, then the fail-over cache is placed into service. If all of the strategies fail, then an eviction strategy is employed in which blocks are evicted from each cache until the combination of caches meets a requirement of the fail-over cache, which, in one embodiment, is the size of the fail-over cache.
    Type: Grant
    Filed: March 6, 2020
    Date of Patent: February 15, 2022
    Assignee: VMware, Inc.
    Inventors: Vikas Suryawanshi, Kashish Bhatia, Zubraj Singha
  • Publication number: 20210373994
    Abstract: Disclosed herein is a system and method for checking and maintaining consistency of blocks stored in a virtual disk with a content based read cache (CBRC). When blocks are written to the cache and virtual disk, a hash is computed for the block and stored in a digest file on the virtual disk. In the background, each block is obtained from the virtual disk, its hash is recomputed, and the hash is compared to the stored hash in the digest file. If the comparison indicates a mismatch, then an error is reported.
    Type: Application
    Filed: August 12, 2020
    Publication date: December 2, 2021
    Inventors: GORESH MUSALAY, Kashish Bhatia, Zubraj Singha, Tanay Ganguly
  • Publication number: 20210374045
    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: August 12, 2020
    Publication date: December 2, 2021
    Inventors: Tanay Ganguly, Zubraj Singha, Goresh Musalay, Kashish Bhatia
  • Publication number: 20210216465
    Abstract: Methods and systems are disclosed for populating a fail-over cache. When host computer systems in a system each have a content based read cache, the methods and system provide several functions applied in different orders for determining blocks that are to be included in the fail-over cache. Each function attempts a different strategy for combining the contents of the caches of each host computer system into the fail-over cache. If any strategy is successful, then the fail-over cache is placed into service. If all of the strategies fail, then an eviction strategy is employed in which blocks are evicted from each cache until the combination of caches meets a requirement of the fail-over cache, which, in one embodiment, is the size of the fail-over cache.
    Type: Application
    Filed: March 6, 2020
    Publication date: July 15, 2021
    Inventors: VIKAS SURYAWANSHI, KASHISH BHATIA, ZUBRAJ SINGHA