# US 2014/0195590 A1 · Managing a logical client for a virtual machine

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195590 A1
- Document ID: US20140195590A1
- Status: Published application
- Kind: A1
- Application number: 13/737,340
- Filed: 2013-01-09
- Published: 2014-07-10
- Earliest claimed: 2013-01-09
- Assignees: Red Hat Israel, Ltd.
- Applicants: Red Hat Israel, Ltd.
- Inventors: Roni Luxenberg; Uri Lublin
- Web page: https://patentgrep.com/patent/US20140195590A1

## CPC

- H04L 67/025: for remote control or remote monitoring of applications
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- H04L 67/08: specially adapted for terminal emulation, e.g. Telnet
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A logical client includes a primary client device and one or more secondary client devices. Each of the secondary client devices may be coupled to one or more peripherals. The primary client in the logical client may use a virtual machine (VM) and/or an application that uses one or more peripheral devices. The primary client device may not be coupled to the one or more peripheral devices used by the application and/or the VM. The primary client device may access the peripheral devices coupled to secondary client devices in order to use the application and/or the VM.

## Claims

### Claim 1

A method comprising:
obtaining, by a virtual machine (VM) host, configuration data comprising a list of virtual peripheral devices for a VM used by a logical client comprising a first client device and a second client device;
identifying, based on the configuration data, a first virtual peripheral device in the list of virtual peripheral devices, the first virtual peripheral device corresponding to a first physical peripheral device coupled to the second client device;
communicating control data between the VM and the first client device via a first communication channel, the first communication channel being between the VM host and the first client device; and
communicating device data between the VM and the second client device via a second communication channel, the second communication channel being between the VM host and the second client device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
communicating, by the VM host, data between the VM host and a third client device via a third communication channel, wherein the VM uses a second virtual peripheral device, wherein the logical client further comprises the third client device, and wherein a second physical peripheral device is coupled to the third client device.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving device data from the first physical peripheral device via the second communication channel;
sending the device data to the first virtual peripheral device of the VM;
receiving device data from the first virtual peripheral device of the VM; and
sending the device data to the first physical peripheral device via the second communication channel.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
receiving device data from the second physical peripheral device via the third communication channel;
sending the device data to the second virtual peripheral device of the VM;
receiving device data from the second virtual peripheral device of the VM; and
sending the device data to the second physical peripheral device via the third communication channel.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving control data from the first client device via the first communication channel; and
sending the control data to the VM.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
communicating, by the VM host, data between a second virtual peripheral device and a second physical peripheral device wherein the first client device is coupled to the second peripheral device, and wherein the VM uses the second virtual peripheral device.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
authenticating one or more of the first client device or the second client device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the configuration data further comprises a second list of peripheral devices associated with the logical client.

### Claim 9

A system comprising:
a memory to store configuration data;
a processing device, coupled to the memory, the processing device to:
obtain configuration data comprising a list of virtual peripheral devices for a VM used by a logical client comprising a first client device and a second client device;
identify, based on the configuration data, a first virtual peripheral device in the list of virtual peripheral devices, the first peripheral device corresponding to a first physical peripheral device coupled to the second client device;
communicate control data between the VM and the first client device via a first communication channel, the first communication channel being between the system and the first client device; and
communicate device data between the VM and the second client device via a second communication channel, the second communication channel being between the system and the second client device.

### Claim 10 (depends on 9)

The system of claim 9, wherein the processing device is further to:
communicate device data between the VM and a third client device via a third communication channel, wherein the VM uses a second virtual peripheral device, wherein the logical client further comprises the third client device, and wherein a second physical peripheral device is coupled to the third client device.

### Claim 11 (depends on 9)

The system of claim 9, wherein the processing device is further to:
receive device data from the first physical peripheral device via the second communication channel;
send the device data to the first virtual peripheral device of the VM;
receive additional device data from the first virtual peripheral device of the VM; and
send the additional device data to the first physical peripheral device via the second communication channel.

### Claim 12 (depends on 10)

The system of claim 10, wherein the processing device is further to:
receive device data from the second physical peripheral device via the third communication channel;
send the device data to the second virtual peripheral device of the VM;
receive additional device data from the second virtual peripheral device of the VM; and
send the additional device data to the second physical peripheral device via the third communication channel.

### Claim 13 (depends on 9)

The system of claim 9, wherein the processing device is further to:
receive control data from the first client device via the first communication channel; and
send the control data to the VM.

### Claim 14 (depends on 9)

The system of claim 9, wherein the processing device is further to:
communicate data between a second virtual peripheral device and a second physical peripheral device wherein the first client device is coupled to the second peripheral device, and wherein the VM uses the second peripheral device.

### Claim 15

A non-transitory computer readable storage medium having instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
obtaining configuration data comprising a list of virtual peripheral devices for a virtual machine (VM) used by a logical client comprising a first client device and a second client device;
identifying, based on the configuration data, a first virtual peripheral device in the list of virtual peripheral devices, the first virtual peripheral device corresponding to a first physical peripheral device coupled to the second client device;
communicating control data between the VM and the first client device via a first communication channel, the first communication channel being between a virtual machine (VM) host and the first client device; and
communicating device data between the VM host and the second client device via the first communication channel and a second communication channel, the second communication channel being between the first client device and the second client device.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the operations further comprise:
communicate data between the VM and a third client device via a third communication channel and the first communication channel, wherein the third communication is between the first client device and the third client device, wherein the VM uses a second virtual peripheral device, wherein the logical client further comprises the third client device, and wherein a second physical peripheral device is coupled to the third client device.

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the operations further comprise:
receiving device data from the first physical peripheral device via the second communication channel;
sending the device data to the first virtual peripheral device of the VM via the first communication channel;
receiving additional device data from the first virtual peripheral device of the VM via the first channel; and
sending the additional device data to the first physical peripheral device via the second communication channel.

### Claim 18 (depends on 16)

The non-transitory computer readable storage medium of claim 16, wherein the operations further comprise:
receiving device data from the second physical peripheral device via the third communication channel;
sending the device data to the second virtual peripheral device of the VM via the first communication channel;
receiving additional device data from the second virtual peripheral device of the VM via the first communication channel; and
sending the additional device data to the second physical peripheral device via the third communication channel.

### Claim 19 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the operations further comprise:
sending control data to the VM via the first communication channel.

### Claim 20 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the operations further comprise:
communicating data between a second virtual peripheral device and a second physical peripheral device, wherein the first client device is coupled to the second peripheral device, and wherein the VM uses the second peripheral device.

### Claim 21 (depends on 15)

The non-transitory computer readable storage medium of claim 15, wherein the operations further comprise:
authenticating one or more of the first client device or the second client device.
