Patents by Inventor Benjamin J. CORRIE

Benjamin J. CORRIE 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: 20240345777
    Abstract: Container images are managed in a clustered container host system with a shared storage device. Hosts of the system each include a virtualization software layer that supports execution of virtual machines (VMs), one or more of which are pod VMs that have implemented therein a container engine that supports execution of containers within the respective pod VM. A method of deploying containers includes determining, from pod objects published by a master device of the system and accessible by all hosts of the system, that a new pod VM is to be created, creating the new pod VM, and spinning up one or more containers in the new pod VM using images of containers previously spun up in another pod VM, wherein the images of the containers previously spun up in the other pod VM are stored in the storage device.
    Type: Application
    Filed: June 27, 2024
    Publication date: October 17, 2024
    Inventor: Benjamin J. CORRIE
  • Publication number: 20230153035
    Abstract: Container images are managed in a clustered container host system with a shared storage device. Hosts of the system each include a virtualization software layer that supports execution of virtual machines (VMs), one or more of which are pod VMs that have implemented therein a container engine that supports execution of containers within the respective pod VM. A method of deploying containers includes determining, from pod objects published by a master device of the system and accessible by all hosts of the system, that a new pod VM is to be created, creating the new pod VM, and spinning up one or more containers in the new pod VM using images of containers previously spun up in another pod VM, wherein the images of the containers previously spun up in the other pod VM are stored in the storage device.
    Type: Application
    Filed: January 6, 2023
    Publication date: May 18, 2023
    Inventor: Benjamin J. CORRIE
  • Publication number: 20220179592
    Abstract: Container images are fetched in a clustered container host system with a shared storage device. Fetching a first container image in a first virtual machine includes creating a first virtual disk in the shared storage device, storing an image of the first container in the first virtual disk, mounting the first virtual disk to the first virtual machine, and updating a metadata cache to associate the image of the first container to the first virtual disk. Fetching a second container image in a second virtual machine includes checking the metadata cache to determine that a portion of the image of the second container is stored in the first virtual disk, creating a second virtual disk in the shared storage device, adding a reference to the first virtual disk in a metadata of the second virtual disk, and mounting the second virtual disk to the second virtual machine.
    Type: Application
    Filed: February 23, 2022
    Publication date: June 9, 2022
    Inventors: Benjamin J. CORRIE, Harsh KUMAR
  • Publication number: 20220006792
    Abstract: This disclosure describes a process for securely instantiating a virtual machine on a server cluster. The virtual machine just after instantiation has access to persistent storage that includes an encrypted region and lacks access to an encryption key configured to provide access to data stored within the encrypted region. The virtual machine receives a communication from a management server associated with the server cluster that includes the encryption key configured to provide access to the data stored within the encrypted region. After the virtual machine receives the encryption key, the server cluster runs services that depend upon the data stored within the encrypted region to operate after receiving the communication from the management server.
    Type: Application
    Filed: July 1, 2020
    Publication date: January 6, 2022
    Applicant: VMware, Inc.
    Inventors: Michal A. JANKOWSKI, Benjamin J. CORRIE, George HICKEN, Christian LITA
  • Publication number: 20210311759
    Abstract: A virtualized computing system includes: a host cluster including hosts executing a virtualization layer on hardware platforms thereof, the virtualization layer configured to support execution of virtual machines (VMs), the VMs including a pod VM, the pod VM including a container engine configured to support execution of containers in the pod VM, the pod VM including a first virtual disk attached thereto; and an orchestration control plane integrated with the virtualization layer, the orchestration control plane including a master server in communication with a pod VM controller, the pod VM controller configured to execute in the virtualization layer external to the VMs and cooperate with a pod VM agent in the pod VM, the pod VM agent generating root directories for the containers in the pod VM, each of the root directories comprising a union a read/write ephemeral layer stored on the first virtual disk and a read-only layer.
    Type: Application
    Filed: April 2, 2020
    Publication date: October 7, 2021
    Inventors: Benjamin J. CORRIE, Abhishek SRIVASTAVA, Adrian DRZEWIECKI
  • Publication number: 20210232344
    Abstract: Container images are managed in a clustered container host system with a shared storage device. Hosts of the system each include a virtualization software layer that supports execution of virtual machines (VMs), one or more of which are pod VMs that have implemented therein a container engine that supports execution of containers within the respective pod VM. A method of deploying containers includes determining, from pod objects published by a master device of the system and accessible by all hosts of the system, that a new pod VM is to be created, creating the new pod VM, and spinning up one or more containers in the new pod VM using images of containers previously spun up in another pod VM, wherein the images of the containers previously spun up in the other pod VM are stored in the storage device.
    Type: Application
    Filed: January 24, 2020
    Publication date: July 29, 2021
    Inventor: Benjamin J. CORRIE
  • Publication number: 20210232345
    Abstract: Container images are fetched in a clustered container host system with a shared storage device. Fetching a first container image in a first virtual machine includes creating a first virtual disk in the shared storage device, storing an image of the first container in the first virtual disk, mounting the first virtual disk to the first virtual machine, and updating a metadata cache to associate the image of the first container to the first virtual disk. Fetching a second container image in a second virtual machine includes checking the metadata cache to determine that a portion of the image of the second container is stored in the first virtual disk, creating a second virtual disk in the shared storage device, adding a reference to the first virtual disk in a metadata of the second virtual disk, and mounting the second virtual disk to the second virtual machine.
    Type: Application
    Filed: January 24, 2020
    Publication date: July 29, 2021
    Inventors: Benjamin J. CORRIE, Harsh KUMAR
  • Publication number: 20210232418
    Abstract: Container images are managed in a clustered container host system with a shared storage device. Hosts of the system include a virtualization software layer that supports execution of virtual machines (VMs) in the hosts, and one or more VMs have implemented therein a container engine that supports execution of containers within the respective VMs. Deploying a container in a first VM includes creating a virtual disk in the storage device, storing a container image in the virtual disk, mounting the virtual disk to the first VM, and updating a metadata cache to associate the container image to the virtual disk. Deploying the container in a second VM executed in a host different from a host in which the first VM is executed, includes checking the metadata cache to determine that the container image is stored in the virtual disk, and mounting the virtual disk to the second VM.
    Type: Application
    Filed: January 24, 2020
    Publication date: July 29, 2021
    Inventors: Benjamin J. CORRIE, Mark Russell JOHNSON, Adrian DRZEWIECKI
  • Publication number: 20170371693
    Abstract: One example relates to a computer system that includes a plurality of host computers each executing a hypervisor. The computer system further includes a virtualization manager having an application programming interface (API) configured to manage the hypervisor on each of the plurality of host computers, the virtualization manager configured to create a virtual container host within a resource pool that spans the plurality of host computers. The computer system further includes a plurality of container virtual machines (VMs) in the virtual container host configured to consume resources in the resource pool. The computer system further includes a daemon appliance executing in the virtual container host configured to invoke the API of the virtualization manager to manage the plurality of container VMs in response to commands from one or more clients.
    Type: Application
    Filed: June 23, 2016
    Publication date: December 28, 2017
    Inventors: Benjamin J. CORRIE, George HICKEN, Aaron SWEEMER, Zee YANG
  • Publication number: 20160098285
    Abstract: A virtualized computing system supports the execution of a plurality of virtual machines, where each virtual machine supports the execution of applications therein. Each application executes within a container that isolates the application executing therein from other processes executing on the computing system. A hierarchy of virtual machine templates is created by instantiating a parent virtual machine template, the parent virtual machine template having a. guest operating system and a container. An application to be run in a container is determined, and, in response, the parent virtual machine template is forked to create a child virtual machine template, where the child virtual machine template includes a replica of the container, and where the guest operating system of the parent virtual machine template overlaps in memory with a guest operating system of the child virtual machine template. The application is then installed in the replica of the container.
    Type: Application
    Filed: October 2, 2014
    Publication date: April 7, 2016
    Inventors: Scott Howard DAVIS, Aaron SWEEMER, Clint GREENWOOD, Benjamin J. CORRIE, George HICKEN, Zhenhua YANG
  • Publication number: 20150113202
    Abstract: Methods, systems, and computer programs for managing memory in a host where virtual machines (VMs) execute are presented. In one example, a method includes an operation for determining which amount of heap memory has been reserved in a Java virtual machine (JVM) that is in excess of the heap memory needed by the JVM. If there is excess heap memory, a Java balloon agent reserves a Java object in the heap memory. Typically, the Java object will be the size of one or more memory pages in the host. Further, the Java balloon agent loads the Java object with a certain value, for example, by zeroing out the page of memory. When a virtual machine monitor (VMM) in the host detects that a machine physical memory page associated with the Java object has the first value, then the VMM frees the machine physical memory page to make the memory available to other VMs or to other processes executing in the host.
    Type: Application
    Filed: December 23, 2014
    Publication date: April 23, 2015
    Inventors: Richard MCDOUGALL, Wei HUANG, Benjamin J. CORRIE
  • Publication number: 20150058843
    Abstract: A distributed computing application is described that provides a highly elastic and multi-tenant platform for Hadoop applications and other workloads running in a virtualized environment. Multiple instances of a distributed computing framework, such as Hadoop, may be executed concurrently. A centralized manager detects when contention for computing resources, such as memory and CPU, causes tasks to run slower on VMs executing on a given host, and scales up or scales down a cluster based on the detected resource contention.
    Type: Application
    Filed: June 23, 2014
    Publication date: February 26, 2015
    Inventors: Anne HOLLER, Jayanth GUMMARAJU, Kinshuk GOVIL, Benjamin J. CORRIE, George HICKEN
  • Publication number: 20130339568
    Abstract: A mechanism is provided for managing memory of a virtual machine having a runtime environment executing therein. The runtime environment includes a balloon agent that allocates memory objects within heap memory of the runtime environment and hints to a hypervisor that machine memory pages backing the memory objects may be candidates for page sharing. At launch of the runtime environment, the balloon agent allocates memory objects in response to detecting a state of high machine memory consumption by the virtual machine. Further, while the runtime environment is running, the balloon agent allocates memory objects within heap memory when the runtime environment becomes idle.
    Type: Application
    Filed: June 14, 2012
    Publication date: December 19, 2013
    Applicant: VMware, Inc.
    Inventor: Benjamin J. CORRIE
  • Publication number: 20130290596
    Abstract: A mechanism is provided for managing memory of a runtime environment executing on a virtual machine. A balloon agent that is part of a runtime environment is configured to coordinate inflations of a memory balloon within a heap of” the runtime environment and an out-of-heap overflow balloon, particularly in situations where a hypervisor needs to reclaim more memory from the runtime environment than the runtime environment is able to give up. The balloon agent may slowly free out-of-heap balloon memory, which may cause an increase of a target size for the balloon agent, which in turn inflates the memory balloon inside the heap of the runtime environment.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventor: Benjamin J. CORRIE
  • Publication number: 20130290641
    Abstract: A mechanism is provided for managing memory of a runtime environment executing on a virtual machine. The mechanism includes an elastic cache made of objects within heap memory of the runtime environment. When the runtime environment and virtual machine are not experiencing memory pressure from a hypervisor, the objects of the elastic cache may be used to temporarily store application-level cache data from applications running within the runtime environment. When memory pressure from the hypervisor is exerted, the objects of the elastic cache are re-purposed to inflate a memory balloon within heap memory of the runtime environment.
    Type: Application
    Filed: April 30, 2012
    Publication date: October 31, 2013
    Applicant: VMware, Inc.
    Inventor: Benjamin J. CORRIE