Segmented virtual machine transport mechanism
AssigneeAzul Systems, Inc.
InventorsGil Tene, Michael A. Wolf, Anirban Sengupta, Sivakumar Annamalai, Adrian Sun
Life of this patent
Estimating the term…
Abstract
Providing data to an application running on a segmented virtual machine (VM) is disclosed. Providing data includes opening an interface between the segmented VM and an external data source, transferring data from the external data source to an interface buffer, transferring a first selected amount of data from the interface buffer to a shell VM buffer, transferring a second selected amount of data from the shell VM buffer to a core VM buffer, and providing portions of the data from the core VM buffer to the application in response to read requests from the application.
Claims47
A method of providing data to an application running on a segmented virtual machine (VM), comprising:
- opening an interface to a logical channel between the segmented VM and an external data source, wherein the segmented VM functions as a single VM comprising a core VM configured to perform VM internal execution functionality and a shell VM configured to communicate with the core VM and perform interactions with the external data source over the interface;
- transferring data from the external data source to an interface buffer;
- transferring a first selected amount of data from the interface buffer to a shell VM buffer associated with the shell VM of the segmented VM;
- transferring a second selected amount of data from the shell VM buffer to a core VM buffer associated with the core VM of the segmented VM;
- and
- providing portions of the data from the core VM buffer to the application in response to read requests from the application.
A method of transmitting data from an application running on a segmented virtual machine (VM), comprising:
- opening an interface to a logical channel between the segmented VM and an external data destination, wherein the segmented VM functions as a single VM comprising a core VM configured to perform VM internal execution functionality and a shell VM configured to communicate with the core VM and perform interactions with the external data source over the interface;
- writing portions of data to a core VM buffer associated with the core VM of the segmented VM in response to write requests from the application;
- transferring a first selected amount of data from the core VM buffer to a shell VM buffer associated with the shell VM of the segmented VM, wherein transferring the first selected amount of data is performed when a timer expires;
- transferring a second selected amount of data from the shell VM buffer to an interface buffer;
- and
- transmitting data from the interface buffer to the external data destination.
A system for providing data to an application running on a segmented virtual machine (VM), comprising:
- a processor configured to:
- open an interface to a logical channel between the segmented VM and an external data source, wherein the segmented VM functions as a single VM comprising a core VM configured to perform VM internal execution functionality and a shell VM configured to communicate with the core VM and perform interactions with the external data source over the interface;
- transfer data from the external data source to an interface buffer;
- transfer a first selected amount of data from the interface buffer to a shell VM buffer associated with the shell VM of the segmented VM;
- transfer a second selected amount of data from the shell VM buffer to a core VM buffer associated with the core VM of the segmented VM;
- and
- provide portions of the data from the core VM buffer to the application in response to read requests from the application.
A computer program product for providing data to an application running on a segmented virtual machine (VM), the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:
- opening an interface to a logical channel between the segmented VM and an external data source, wherein the segmented VM functions as a single VM comprising a core VM configured to perform VM internal execution functionality and a shell VM configured to communicate with the core VM and perform interactions with the external data source over the interface;
- transferring data from the external data source to an interface buffer;
- transferring a first selected amount of data from the interface buffer to a shell VM buffer associated with the shell VM of the segmented VM;
- transferring a second selected amount of data from the shell VM buffer to a core VM buffer associated with the core VM of the segmented VM;
- and
- providing portions of the data from the core VM buffer to the application in response to read requests from the application.
A system for transmitting data from an application running on a segmented virtual machine (VM), comprising:
- a processor configured to:
- open an interface to a logical channel between the segmented VM and an external data destination, wherein the segmented VM functions as a single VM comprising a core VM configured to perform VM internal execution functionality and a shell VM configured to communicate with the core VM and perform interactions with the external data source over the interface;
- write portions of data to a core VM buffer associated with the core VM of the segmented VM in response to write requests from the application;
- transfer a first selected amount of data from the core VM buffer to a shell VM buffer associated with the shell VM of the segmented VM, wherein transferring the first selected amount of data is performed when a timer expires;
- transfer a second selected amount of data from the shell VM buffer to an interface buffer;
- and
- transmit data from the interface buffer to the external data destination.
A computer program product for transmitting data from an application running on a segmented virtual machine (VM), the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:
- opening an interface to a logical channel between the segmented VM and an external data destination, wherein the segmented VM functions as a single VM comprising a core VM configured to perform VM internal execution functionality and a shell VM configured to communicate with the core VM and perform interactions with the external data source over the interface;
- writing portions of data to a core VM buffer associated with the core VM of the segmented VM in response to write requests from the application;
- transferring a first selected amount of data from the core VM buffer to a shell VM buffer associated with the shell VM of the segmented VM, wherein transferring the first selected amount of data is performed when a timer expires;
- transferring a second selected amount of data from the shell VM buffer to an interface buffer;
- and
- transmitting data from the interface buffer to the external data destination.
Dependencies are inferred from the claim text.