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: 11934857Abstract: 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: GrantFiled: May 18, 2021Date of Patent: March 19, 2024Assignee: VMware, Inc.Inventors: Goresh Musalay, Sachin Shinde, Zubraj Singha, Tanay Ganguly, Kashish Bhatia
-
Publication number: 20240086103Abstract: 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: ApplicationFiled: September 12, 2022Publication date: March 14, 2024Applicant: VMware, Inc.Inventors: Kashish BHATIA, Randhir SINGH, Kamal Jeet CHARAN, Akshay JINDAL, Prasanna AITHAL
-
Publication number: 20240028443Abstract: 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: ApplicationFiled: October 14, 2022Publication date: January 25, 2024Inventors: RANDHIR SINGH, KASHISH BHATIA
-
Patent number: 11880316Abstract: 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: GrantFiled: February 4, 2022Date of Patent: January 23, 2024Assignee: VMware, Inc.Inventor: Kashish Bhatia
-
Publication number: 20230214249Abstract: 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: ApplicationFiled: February 25, 2022Publication date: July 6, 2023Inventor: KASHISH BHATIA
-
Publication number: 20230185741Abstract: 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: ApplicationFiled: February 4, 2022Publication date: June 15, 2023Inventor: KASHISH BHATIA
-
Publication number: 20230176889Abstract: 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: ApplicationFiled: February 8, 2022Publication date: June 8, 2023Inventor: KASHISH BHATIA
-
Publication number: 20230080935Abstract: 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: ApplicationFiled: November 17, 2022Publication date: March 16, 2023Inventors: Tanay GANGULY, Zubraj SINGHA, Goresh MUSALAY, Kashish BHATIA
-
Publication number: 20230025126Abstract: 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: ApplicationFiled: October 8, 2021Publication date: January 26, 2023Inventors: SACHIN SHINDE, Goresh Musalay, Tanay Ganguly, Zubraj Singha, Kashish Bhatia
-
Publication number: 20230027307Abstract: 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: ApplicationFiled: October 8, 2021Publication date: January 26, 2023Inventors: Sachin Shinde, Zubraj Singha, Goresh Musalay, Tanay Ganguly, Kashish Bhatia
-
Patent number: 11531614Abstract: 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: GrantFiled: August 12, 2020Date of Patent: December 20, 2022Assignee: VMware, Inc.Inventors: Tanay Ganguly, Zubraj Singha, Goresh Musalay, Kashish Bhatia
-
Publication number: 20220318320Abstract: 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: ApplicationFiled: June 24, 2021Publication date: October 6, 2022Inventors: Rajesh Kumar Bhatia, Manish Kumar, Kashish Bhatia
-
Publication number: 20220300315Abstract: 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: ApplicationFiled: May 18, 2021Publication date: September 22, 2022Inventors: GORESH MUSALAY, SACHIN SHINDE, ZUBRAJ SINGHA, TANAY GANGULY, KASHISH BHATIA
-
Publication number: 20220300314Abstract: 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: ApplicationFiled: May 18, 2021Publication date: September 22, 2022Inventors: Goresh Musalay, Sachin Shinde, Zubraj Singha, Tanay Ganguly, Kashish Bhatia
-
Patent number: 11403212Abstract: 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: GrantFiled: May 5, 2021Date of Patent: August 2, 2022Assignee: VMware, Inc.Inventors: Zubraj Singha, Kashish Bhatia, Tanay Ganguly, Goresh Musalay
-
Patent number: 11334430Abstract: 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: GrantFiled: August 12, 2020Date of Patent: May 17, 2022Assignee: VMware, Inc.Inventors: Goresh Musalay, Kashish Bhatia, Zubraj Singha, Tanay Ganguly
-
Patent number: 11249915Abstract: 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: GrantFiled: March 6, 2020Date of Patent: February 15, 2022Assignee: VMware, Inc.Inventors: Vikas Suryawanshi, Kashish Bhatia, Zubraj Singha
-
Publication number: 20210373994Abstract: 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: ApplicationFiled: August 12, 2020Publication date: December 2, 2021Inventors: GORESH MUSALAY, Kashish Bhatia, Zubraj Singha, Tanay Ganguly
-
Publication number: 20210374045Abstract: 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: ApplicationFiled: August 12, 2020Publication date: December 2, 2021Inventors: Tanay Ganguly, Zubraj Singha, Goresh Musalay, Kashish Bhatia
-
Publication number: 20210216465Abstract: 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: ApplicationFiled: March 6, 2020Publication date: July 15, 2021Inventors: VIKAS SURYAWANSHI, KASHISH BHATIA, ZUBRAJ SINGHA