Automatic virtual input device

US10956034B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10956034-B2
Application numberUS-201616091055-A
CountryUS
Kind codeB2
Filing dateJul 25, 2016
Priority dateJul 25, 2016
Publication dateMar 23, 2021
Grant dateMar 23, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one example, a method for a first computing environment (FCE) to automatically display a virtual input device on a display of a second computing environment (SCE) communicatively coupled to the FCE via a main channel. An auxiliary channel is established between the FCE and the SCE. A virtual input device preference is negotiated with the SCE over the auxiliary channel. A selection by the SCE, over the main channel, of an input element of an active FCE application associated with the SCE is detected. In response to the selection, a virtual input device in accordance with the device preference, operable by the SCE to input data to the input element, is automatically caused to be launched.

First claim

Opening claim text (preview).

What is claimed is: 1. A first computing environment (FCE), comprising: a processor; and a memory communicatively coupled to the processor and including instructions executable by the processor for an auxiliary channel module to establish an auxiliary channel between the FCE and a second computing environment (SCE), the auxiliary channel different from a main channel connection between the FCE and the SCE, and to negotiate virtual input device display preferences with the SCE by: if a SCE-side physical input device is a highest priority input device that is present, not assigning a virtual input device; if the SCE-side physical input device is not the highest priority input device that is present, assigning the virtual input device as a FCE-side virtual input device or a SCE-side virtual input device that is the highest priority input device that is present, and a monitor module to, if the virtual input device has been assigned, detect a selection, by the SCE over the main channel, of an input element of an application executing on the FCE and displayed in an interactive window of the SCE, and in response automatically cause the virtual input device, in accordance with the display preferences, to be displayed at the SCE. 2. The first computing environment of claim 1 , wherein an operating system of the FCE does not include the FCE-side virtual input device. 3. The first computing environment of claim 1 , wherein the application executing on the FCE does not support the virtual input device. 4. The first computing environment of claim 1 , wherein an operating system of the FCE has a different platform from an operating system of the SCE. 5. A method for a first computing environment (FCE) to automatically display the virtual input device on a display of a second computing environment (SCE) communicatively coupled to the FCE via a main channel, comprising: establishing an auxiliary channel between the FCE and the SCE; negotiating a virtual input device preference with the SCE over the auxiliary channel by: if a SCE-side physical input device is a highest priority input device that is present, not assigning the virtual input device; if the SCE-side physical input device is not the highest priority input device that is present, assigning the virtual input device as a FCE-side virtual input device or a SCE-side virtual input device that is the highest priority input device that is present; if the virtual input device has been assigned: detecting a selection by the SCE, over the main channel, of an input element of an active FCE application associated with the SCE; and in response to the selection, automatically causing the launching, in accordance with the device preference, of the virtual input device operable by the SCE to input data to the input element. 6. The method of claim 5 , wherein the input element is an alphanumeric entry control of a graphical user interface presented by the active FCE application, and the selection is a click event or touch event for the alphanumeric entry control. 7. The method of claim 5 , wherein the automatically launching comprises: if the device preference is the FCE-side virtual input device, instructing an operating system of the FCE to launch the FCE-side virtual input device; and if the device preference is the SCE-side virtual input device, issuing an instruction to the SCE over the auxiliary channel to launch the SCE-side virtual input device. 8. The method of claim 5 , comprising: after the launching, detecting a selection by the SCE of an additional element of the active FCE application, or an activation of a different FCE application; and in response to the selection or the activation, automatically closing the virtual input device. 9. A non-transitory computer-readable storage medium having an executable program stored thereon, wherein the program instructs a processor of a first computing environment (FCE) to: establish an auxiliary channel with a second computing environment (SCE), the auxiliary channel different from a main channel with the second computing environment; negotiate virtual input device preferences with the SCE over the auxiliary channel by: if a SCE-side physical input device is a highest priority input device that is present, not assigning a virtual input device; if the SCE-side physical input device is not the highest priority input device that is present, assigning the virtual input device as a FCE-side virtual input device or a SCE-side virtual input device that is the highest priority input device that is present; if the virtual input device has been assigned: monitor interactions by the SCE, over the main channel, with an application executing on the FCE to detect a selection of an input element of the application; and automatically cause the virtual input device, in accordance with the device preferences, to be displayed at the SCE in response to the selection. 10. The medium of claim 9 , wherein the display preferences specify use of the SCE-side virtual input device and wherein, to automatically display the SCE-side virtual input device, the program further instructs the processor to: automatically issue a request to the SCE over the auxiliary channel to launch the SCE-side virtual input device, the SCE displaying the SCE-side virtual input device locally on the SCE in response. 11. The medium of claim 9 , wherein the display preferences specify use of the FCE-side virtual input device and wherein, to automatically display the FCE-side virtual input device, the program further instructs the processor to: automatically launch the FCE-side virtual input device on the FCE, the FCE-side virtual input device displayed at the SCE via the main channel. 12. The medium of claim 9 , wherein, to establish the auxiliary channel, the program further instructs the processor to: establish a virtual channel as the auxiliary channel if the SCE supports virtual channels; and establish a socket connection as the auxiliary channel if the SCE supports network sockets but does not support virtual channels. 13. The medium of claim 9 , wherein the FCE is a server, the SCE is a client, and the main channel uses a remote desktop communications protocol (RDCP). 14. The medium of claim 9 , wherein the FCE is a guest virtual machine, the SCE is a host machine, and the main channel implements virtualization of the FCE on the SCE.

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

  • using selection techniques to select from displayed items · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10956034B2 cover?
In one example, a method for a first computing environment (FCE) to automatically display a virtual input device on a display of a second computing environment (SCE) communicatively coupled to the FCE via a main channel. An auxiliary channel is established between the FCE and the SCE. A virtual input device preference is negotiated with the SCE over the auxiliary channel. A selection by the SCE…
Who is the assignee on this patent?
Hewlett Packard Development Co
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 23 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).