Arrangements for I/O control in a virtualized system
First Claim
Patent Images
1. A method comprising:
- identifying at least two paging devices to support a virtual client, wherein each of the at least two paging devices provide memory for storing logical volumes of data for the virtual client and wherein the at least two paging devices are accessed directly or indirectly by the virtual client;
setting up a device interface definition, stored in two or more virtual input/output servers, wherein the device interface definition is based on the identified at least two paging devices associated with the virtual client;
communicating commands among a hypervisor, the virtual client, and the at least two paging devices using a first virtual input/output server based on the device interface definition; and
moving the logical volumes of data between the virtual client and a specified memory location utilizing one or more of the at least two paging-devices, the device interface definition, and the communicated commands;
wherein moving the logical volumes of data between the virtual client and the specified memory location comprises;
determining whether the virtual client has direct access to the specified memory location via a first paging device based on the device interface definition;
responsive to the virtual client failing to have direct access to the specified memory location via the first paging device, locating an second paging device to facilitate access to the specified memory location based on the device interface definition; and
accessing, by the virtual client, the specified memory location using a second virtual input/output server and the first virtual input/output server, wherein the virtual client accesses the specified memory location via an intermediate client that is granted access to the first paging device and the second paging device such that the intermediate client copies the logical volumes of data from the second paging device to the first paging device whereby the first client and intermediate client share the logical volumes of data in a same paging space on the second paging device.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for controlling input and output of a virtualized computing platform is disclosed. The method can include creating a device interface definition, assigning an identifier to a paging device and configuring commands useable by a virtual input output server. The commands can be sent to the input output server and can be converted by the input output server into paging device commands. A hypervisor can assist in facilitating the communication configuration. Other embodiments are also disclosed.
-
Citations
17 Claims
-
1. A method comprising:
-
identifying at least two paging devices to support a virtual client, wherein each of the at least two paging devices provide memory for storing logical volumes of data for the virtual client and wherein the at least two paging devices are accessed directly or indirectly by the virtual client; setting up a device interface definition, stored in two or more virtual input/output servers, wherein the device interface definition is based on the identified at least two paging devices associated with the virtual client; communicating commands among a hypervisor, the virtual client, and the at least two paging devices using a first virtual input/output server based on the device interface definition; and moving the logical volumes of data between the virtual client and a specified memory location utilizing one or more of the at least two paging-devices, the device interface definition, and the communicated commands;
wherein moving the logical volumes of data between the virtual client and the specified memory location comprises;determining whether the virtual client has direct access to the specified memory location via a first paging device based on the device interface definition; responsive to the virtual client failing to have direct access to the specified memory location via the first paging device, locating an second paging device to facilitate access to the specified memory location based on the device interface definition; and accessing, by the virtual client, the specified memory location using a second virtual input/output server and the first virtual input/output server, wherein the virtual client accesses the specified memory location via an intermediate client that is granted access to the first paging device and the second paging device such that the intermediate client copies the logical volumes of data from the second paging device to the first paging device whereby the first client and intermediate client share the logical volumes of data in a same paging space on the second paging device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising:
-
one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to identify at least two paging devices to support a virtual client, wherein each of the at least two paging devices provide memory for storing logical volumes of data for the virtual client and wherein the at least two paging devices are accessed directly or indirectly by the virtual client; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, set up a device interface definition, stored in two or more virtual input/output servers, wherein the device interface definition is based on the identified at least two paging devices associated with the virtual client; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, communicate commands among a hypervisor, the virtual client, and the at least two paging devices using a first virtual input/output server based on the device interface definition; and program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, move the logical volumes of data between the virtual client and a specified memory location utilizing one or more of the at least two paging devices, the device interface definition and the communicated commands, wherein moving the logical volumes of data between the virtual client and the specified memory location comprises; determining whether the virtual client has direct access to the specified memory location via a first paging device based on the device interface definition; responsive to the virtual client failing to have direct access to the specified memory location via the first paging device, locating an second paging device to facilitate access to the specified memory location based on the device interface definition; and accessing, by the virtual client, the specified memory location using a second virtual input/output server and the first virtual input/output server, wherein the virtual client accesses the specified memory location via an intermediate client that is granted access to the first paging device and the second paging device such that the intermediate client copies the logical volumes of data from the second paging device to the first paging device whereby the first client and intermediate client share the logical volumes of data in a same paging space on the second paging device. - View Dependent Claims (11, 12, 13)
-
-
14. A computer program product comprising a computer readable storage medium having a computer readable program stored thereon, wherein the computer readable program, when executed by a computing device, causes the computing device to:
-
identify at least two paging devices to support a virtual client, wherein each of the at least two paging devices provide memory for storing logical volumes of data for the virtual client and wherein the at least two paging devices are accessed directly or indirectly by the virtual client; set up a device interface definition, stored in two or more virtual input/output servers, wherein the device interface definition is based on the identified at least two paging devices associated with the virtual client; communicate commands among a hypervisor, the virtual client, and the at least two paging devices using a first virtual input/output server based on the device interface definition; and move the logical volumes of data between the virtual client and a specified memory location utilizing one or more of the at least two paging devices, the device interface definition, and the communicated commands, wherein the computer readable program to move the logical volumes of data between the virtual client and the specified memory location further causes the computing device to; determine whether the virtual client has direct access to the specified memory location via a first paging device based on the device interface definition; responsive to the virtual client failing to have direct access to the specified memory location via the first paging device, locate an second paging device to facilitate access to the specified memory location based on the device interface definition; and access the specified memory location using a second virtual input/output server and the first virtual input/output server, wherein the virtual client accesses the specified memory location via an intermediate client that is granted access to the first paging device and the second paging device such that the intermediate client copies the logical volumes of data from the second paging device to the first paging device whereby the first client and intermediate client share the logical volumes of data in a same paging space on the second paging device. - View Dependent Claims (15, 16, 17)
-
Specification