IP Library Granted Patent US 9,582,343
Granted Patent B2
US 9,582,343 · App. 15/169,390 · Granted Feb 28, 2017

Key input processing in virtualized computing environment

Inventor: Ji Yang (Beijing, CN)
Assignee: VMware, Inc.
G06F9/546G06F9/45558G06F9/542G06F2009/4557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,582,343
App. No.
15/169,390
Granted
Feb 28, 2017
Kind
B2
Abstract

An example method is provided to process an input in a virtualized computing environment. The virtualized computing environment may include a physical machine running a host operating system and a virtualization software with one or more virtual machines. The example method may include detecting activation of at least one key input that causes a first message to be generated, the first message associated with the key input, comparing the first message with a set of stored messages, wherein any of the set of stored messages can be properly executed by targets in both the host operating system and the virtual machine but with different responses, and determining, based on the comparing, whether the first message is intended for a target in the host operating system or in the virtual machine.

Claims (59)

1. A method, comprising:

receiving a user input at a user device, the user device running a host operating system with virtualization software running on the host operating system, the virtualization software managing at least one virtual machine, the virtual machine running a guest operating system;

generating a message in response to the user input;

comparing the message with a set of stored messages, wherein each message in the set of stored messages can be properly executed by targets in both the host operating system and the virtual machine; and

if the message matches a message in the set of stored messages, then generating a notice soliciting the user for additional input in order to determine whether the user input is intended for the host operating system or the virtual machine.

2. The method of claim 1 , wherein each message in the set of stored messages would produce a different response depending on whether the message is executed in the host operating system or in the virtual machine.

3. The method of claim 1 , further comprising:

receiving a user response to the notice;

determining, by the host operating system, based on the user response, whether to direct the message to a target in the host operating system or to a target in the virtual machine.

4. The method of claim 1 , further comprising:

receiving a user response to the notice;

determining, based on the user response, that the user input is intended for the virtual machine; and

directing the message to the virtualization software.

5. The method of claim 1 , further comprising:

receiving a user response to the notice;

determining, based on the user response, that the user input is intended for a target in the host operating system; and

directing the message to a target in the host operating system.

6. The method of claim 1 , wherein, if the message does not match a message in the set of stored messaged, then determining, by the host operating system, whether to direct the message to a target in the host operating system or to a target in the virtual machine.

7. The method of claim 1 , further comprising generating an interrupt in the host operating system while the host operating system determines whether to direct the message to a target in the host operating system or to a target in the virtual machine.

8. A computing device, comprising:

at least one processor; and

memory including instructions that, when executed by the at least one processor, cause the computing device to perform the steps of:

receiving a user input at a user device, the user device running a host operating system with virtualization software running on the host operating system, the virtualization software managing at least one virtual machine, the virtual machine running a guest operating system;

generating a message in response to the user input;

comparing the message with a set of stored messages, wherein each message in the set of stored messages can be properly executed by targets in both the host operating system and the virtual machine; and

if the message matches a message in the set of stored messages, then generating a notice soliciting the user for additional input in order to determine whether the user input is intended for the host operating system or the virtual machine.

9. The computing device of claim 8 , wherein each message in the set of stored messages would produce a different response depending on whether the message is executed in the host operating system or in the virtual machine.

10. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

receiving a user response to the notice;

determining, by the host operating system, based on the user response, whether to direct the message to a target in the host operating system or to a target in the virtual machine.

11. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

receiving a user response to the notice;

determining, based on the user response, that the user input is intended for the virtual machine; and

directing the message to the virtualization software.

12. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

receiving a user response to the notice;

determining, based on the user response, that the user input is intended for a target in the host operating system; and

directing the message to a target in the host operating system.

13. The computing device of claim 8 , wherein, if the message does not match a message in the set of stored messaged, then determining, by the host operating system, whether to direct the message to a target in the host operating system or to a target in the virtual machine.

14. The computing device of claim 8 , wherein the memory further includes instructions that when executed by the at least one processor, cause the computing device to perform the steps of:

generating an interrupt in the host operating system while the host operating system determines whether to direct the message to a target in the host operating system or to a target in the virtual machine.

15. A non-transitory computer readable storage medium comprising one or more sequences of instructions, the instructions when executed by one or more processors causing the one or more processors to execute the operations of:

receiving a user input at a user device, the user device running a host operating system with virtualization software running on the host operating system, the virtualization software managing at least one virtual machine, the virtual machine running a guest operating system;

generating a message in response to the user input;

comparing the message with a set of stored messages, wherein each message in the set of stored messages can be properly executed by targets in both the host operating system and the virtual machine; and

if the message matches a message in the set of stored messages, then generating a notice soliciting the user for additional input in order to determine whether the user input is intended for the host operating system or the virtual machine.

16. The non-transitory computer readable storage medium of claim 15 , wherein each message in the set of stored messages would produce a different response depending on whether the message is executed in the host operating system or in the virtual machine.

17. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

receiving a user response to the notice;

determining, by the host operating system, based on the user response, whether to direct the message to a target in the host operating system or to a target in the virtual machine.

18. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

receiving a user response to the notice;

determining, based on the user response, that the user input is intended for the virtual machine; and

directing the message to the virtualization software.

19. The non-transitory computer readable storage medium of claim 15 , further comprising instructions that when executed by the one or more processors cause the one or more processors to execute the operations of:

receiving a user response to the notice;

determining, based on the user response, that the user input is intended for a target in the host operating system; and

directing the message to a target in the host operating system.

20. The non-transitory computer readable storage medium of claim 15 , wherein, if the message does not match a message in the set of stored messaged, then determining, by the host operating system, whether to direct the message to a target in the host operating system or to a target in the virtual machine.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
Continuity (2)
Continuation 14636608 · Mar 3, 2015
Related Publication 20160274959A1 · Sep 22, 2016