TL;DR: In this article, the authors propose a cloud bridge between two virtual storage resources and for transmitting data from one first virtual storage resource to the other virtual storage service. But they do not discuss how to transfer data between the two resources.
Abstract: Methods and systems for establishing a cloud bridge between two virtual storage resources and for transmitting data from one first virtual storage resource to the other virtual storage resource The system can include a first virtual storage resource or cloud, and a storage delivery management service that executes on a computer and within the first virtual storage resource The storage delivery management service can receive user credentials of a user that identify a storage adapter Upon receiving the user credentials, the storage delivery management service can invoke the storage adapter which executes an interface that identifies a second virtual storage resource and includes an interface translation file The storage delivery management service accesses the second virtual storage resource and establishes a cloud bridge with the second virtual storage resource using information obtained from the second virtual storage resource and information translated by the storage adapter using the interface translation file
TL;DR: In this paper, a management capability is provided for a virtual computing platform that allows for the creation, deletion, modification, control (e.g., start, stop, suspend, resume) and status (i.e., events) off the virtual servers which execute on the virtual computing platforms and the management capability provides controls for these functions.
Abstract: A management capability is provided for a virtual computing platform. In one example, this platform allows interconnected physical resources such as processors, memory, network interfaces and storage interfaces to be abstracted and mapped to virtual resources (e.g., virtual mainframes, virtual partitions). Virtual resources contained in a virtual partition can be assembled into virtual servers that execute a guest operating system (e.g., Linux). In one example, the abstraction is unique in that any resource is available to any virtual server regardless of the physical boundaries that separate the resources. For example, any number of physical processors or any amount of physical memory can be used by a virtual server even if these resources span different nodes. A virtual computing platform is provided that allows for the creation, deletion, modification, control (e.g., start, stop, suspend, resume) and status (i.e., events) off the virtual servers which execute on the virtual computing platform and the management capability provides controls for these functions. In a particular example, such a platform allows the number and type of virtual resources consumed by a virtual server to be scaled up or down when the virtual server is running. For instance, an administrator may scale a virtual server manually or may define one or more policies that automatically scale a virtual server. Further, using the management API, a virtual server can monitor itself and can scale itself up or down depending on its need for processing, memory and I/O resources. For example, a virtual server may monitor its CPU utilization and invoke controls through the management API to allocate a new processor for itself when its utilization exceeds a specific threshold. Conversely, a virtual server may scale down its processor count when its utilization falls. Policies can be used to execute one or more management controls. More specifically, a management capability is provided that allows policies to be defined using management object's properties, events and/or method results. A management policy may also incorporate external data (e.g., an external event) in its definition. A policy may be triggered, causing the management server or other computing entity to execute an action. An action may utilize one or more management controls. In addition, an action may access external capabilities such as sending notification e-mail or sending a text message to a telephone paging system. Further, management capability controls may be executed using a discrete transaction referred to as a 'job.' A series of management controls may be assembled into a job using one or management interfaces. Errors that occur when a job is executed may cause the job to be rolled back, allowing affected virtual servers to return to their original state.
TL;DR: The Mirage prototype compiles OCaml code into unikernels that run on commodity clouds and offer an order of magnitude reduction in code size without significant performance penalty, and demonstrates that the hypervisor is a platform that overcomes the hardware compatibility issues that have made past library operating systems impractical to deploy in the real-world.
Abstract: We present unikernels, a new approach to deploying cloud services via applications written in high-level source code. Unikernels are single-purpose appliances that are compile-time specialised into standalone kernels, and sealed against modification when deployed to a cloud platform. In return they offer significant reduction in image sizes, improved efficiency and security, and should reduce operational costs. Our Mirage prototype compiles OCaml code into unikernels that run on commodity clouds and offer an order of magnitude reduction in code size without significant performance penalty. The architecture combines static type-safety with a single address-space layout that can be made immutable via a hypervisor extension. Mirage contributes a suite of type-safe protocol libraries, and our results demonstrate that the hypervisor is a platform that overcomes the hardware compatibility issues that have made past library operating systems impractical to deploy in the real-world.
TL;DR: In this article, a set of programs enable the start and the efficient and secure operation of an operating system (OS) installed on a virtual hard disk that is stored on an external storage device.
Abstract: A set of programs enable the start and the efficient and secure operation of an operating system (OS) installed on a virtual hard disk that is stored on an external storage device. When the external storage device is connected to a host system, a user can start the OS in a virtual machine on the host system. The virtual machine execution is controlled by a virtual machine monitor (VMM) installed on the host system. At startup of the program, the type of VMM installed on the host system is autodetected. Host system parameters that are relevant for an optimal configuration of the virtual machine, such as the amount of available physical memory, are captured. Before launch of the virtual machine the OS installed on the virtual hard disk is dynamically modified to support hardware emulated by the selected VMM. Configuration templates and scripts for supported VMM types are stored on the external storage device. The template or script that corresponds to the autodetected VMM is used to create an optimized virtual machine configuration. Virtual machine configuration parameters that depend upon host settings are adapted. The created virtual machine configuration includes a specific storage configuration: The virtual machine is configured to use three virtual hard disks for system, user, and paging data. The virtual hard disks for system and user data are configured to use copy-on-write (COW) functionality supported by the respective VMM. With the COW configuration the virtual machine's write operations are redirected to a location in a file system on an internally attached storage medium. The non-persistent virtual hard disk used for the page data is entirely stored in the temporary location as an expanding virtual hard disk and is erased after shutdown. If data persistence is required for user and/or system data the respective overlay files are merged with the corresponding virtual hard disk base files on the external storage device after shutdown of the virtual machine. When the program managing the configuration and launch process is closed after shutdown of the virtual machine, all temporary files are deleted. The dynamic COW configuration with deferred, consolidated write operations to the external storage device offers the benefits of improved write performance and security and extended lifetime of the external storage device. The latter is particularly important for flash-memory-based devices with a finite number of sustainable write/erase cycles per storage block.
TL;DR: In this article, a broker machine receives a request from a client machine for access to a computing environment, the request including an identification of a user of the client machine, and one of a plurality of virtual machines is identified, the identified virtual machine providing the requested computing environment.
Abstract: A method for providing access to a computing environment includes the step of receiving, by a broker machine, a request from a client machine for access to a computing environment, the request including an identification of a user of the client machine. One of a plurality of virtual machines is identified, the identified virtual machine providing the requested computing environment. One of a plurality of execution machines is identified, the identified execution machine executing a hypervisor providing access to hardware resources required by the identified virtual machine. A connection is established between the client machine and the identified virtual machine.