Centralized, scalable cache for containerized applications in a virtualized environment

    公开(公告)号:US12174744B2

    公开(公告)日:2024-12-24

    申请号:US18093841

    申请日:2023-01-06

    Applicant: VMWARE, INC.

    Inventor: Kashish Bhatia

    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.

    Supporting execution of a computer program by using a memory page of another computer program

    公开(公告)号:US11934857B2

    公开(公告)日:2024-03-19

    申请号:US17323004

    申请日:2021-05-18

    Applicant: VMWARE, INC.

    CPC classification number: G06F9/45558 G06F2009/45579

    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.

    HYPERVISOR-ASSISTED MIGRATION OR CLONING OF EAGER-ZEROED VIRTUAL DISKS

    公开(公告)号:US20240402933A1

    公开(公告)日:2024-12-05

    申请号:US18229179

    申请日:2023-08-02

    Applicant: VMWARE, INC.

    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.

    METHOD TO HANDLE HETEROGENEOUS INPUT/OUTPUT (I/O) LOAD FOR CONTAINERS RUNNING IN A VIRTUALIZED ENVIRONMENT

    公开(公告)号:US20240362050A1

    公开(公告)日:2024-10-31

    申请号:US18306950

    申请日:2023-04-25

    Applicant: VMware, Inc.

    Inventor: Kashish Bhatia

    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.

    SAVING VIRTUAL MEMORY SPACE IN A CLONE ENVIRONMENT

    公开(公告)号:US20210374045A1

    公开(公告)日:2021-12-02

    申请号:US16991125

    申请日:2020-08-12

    Applicant: VMWARE, INC.

    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.

    Update of virtual machines using clones

    公开(公告)号:US12248801B2

    公开(公告)日:2025-03-11

    申请号:US17666580

    申请日:2022-02-08

    Applicant: VMWARE, INC.

    Inventor: Kashish Bhatia

    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.

    Input output (IO) request handling based on tracking information

    公开(公告)号:US11880316B2

    公开(公告)日:2024-01-23

    申请号:US17592552

    申请日:2022-02-04

    Applicant: VMWARE, INC.

    Inventor: Kashish Bhatia

    CPC classification number: G06F13/1668

    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.

    VIRTUALIZATION LAYER ASSISTED UPGRADING OF IN-GUEST AGENTS

    公开(公告)号:US20230025126A1

    公开(公告)日:2023-01-26

    申请号:US17496798

    申请日:2021-10-08

    Applicant: VMWARE, INC.

    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.

Patent Agency Ranking