WO2016190054A1 - Key control system, virtualized server, terminal device, key control method, key transmission method, and program - Google Patents

Key control system, virtualized server, terminal device, key control method, key transmission method, and program Download PDF

Info

Publication number
WO2016190054A1
WO2016190054A1 PCT/JP2016/063570 JP2016063570W WO2016190054A1 WO 2016190054 A1 WO2016190054 A1 WO 2016190054A1 JP 2016063570 W JP2016063570 W JP 2016063570W WO 2016190054 A1 WO2016190054 A1 WO 2016190054A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
event
press
unit
indicating
Prior art date
Application number
PCT/JP2016/063570
Other languages
French (fr)
Japanese (ja)
Inventor
孝輔 前原
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to KR1020177033098A priority Critical patent/KR20170137894A/en
Priority to JP2017520587A priority patent/JP6750618B2/en
Publication of WO2016190054A1 publication Critical patent/WO2016190054A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Definitions

  • the present invention relates to a key control system, a virtualization server, a terminal device, a key control method, a key transmission method, and a program.
  • a technique is known in which a terminal device keyboard can be used on a virtual machine by transmitting information indicating key presses and release from a terminal device to a virtual machine operating on a server (for example, see Patent Document 1). For example, when a key is pressed on the terminal device, information indicating that the key is pressed is transmitted to the virtual machine. In addition, when the key is released in the terminal device, information indicating that the key is released is transmitted to the virtual machine.
  • An object of the present invention is to provide a key control system, a virtualization server, a terminal device, a key control method, a key transmission method, and a program that solve the above-described problems.
  • the key control system includes an event detection unit that detects occurrence of a key event indicating key press and release in the terminal device, and a key event that indicates key press occurs.
  • a release event generation unit that generates a key event indicating the release of the key, the key event that indicates a key press detected by the event detection unit, and the key event generated by the release event generation unit.
  • an output unit for outputting to the virtual machine.
  • the key control method includes a step of detecting occurrence of a key event indicating key press and release in the terminal device, and when a key event indicating key press occurs, Generating a key event indicating the release of the key, and outputting the key event indicating the detected key press and the generated key event to a virtual machine.
  • the virtualization server includes a virtualization unit that operates a virtual machine, a reception unit that receives a key event indicating key press and release from a terminal device, and a key press.
  • a key event indicating the key is received
  • a lift event generating unit that generates a key event indicating the release of the key
  • the key event indicating the key press received by the receiving unit and the lift event generating unit
  • An output unit that outputs the generated key event to the virtual machine.
  • a key control method includes a step of operating a virtual machine, a step of receiving a key event indicating key press and release from a terminal device, and a key indicating key press.
  • a key event indicating key press When receiving an event, generating a key event indicating the release of the key; and outputting the generated key event to the virtual machine and the key event indicating the received key press.
  • a program causes a computer to operate a virtual machine, a receiving unit that receives a key event indicating key press and release from a terminal device, and a key press.
  • a key event When a key event is received, a lift event generation unit that generates a key event indicating the release of the key, the key event indicating a key press received by the reception unit, and the lift event generation unit
  • the key event is made to function as an output unit that outputs the key event to the virtual machine.
  • the terminal device includes an event detection unit that detects occurrence of a key event indicating key press and release, and a key that is not released during a predetermined continuous input determination time.
  • an event detection unit that detects occurrence of a key event indicating key press and release, and a key that is not released during a predetermined continuous input determination time.
  • a pressing event generation unit that generates a key event indicating the pressing of the key, the key event indicating the pressing of the key detected by the event detection unit, and the pressing A transmission unit that transmits the key event generated by the event generation unit to the virtual machine.
  • the key transmission method there is a step of detecting occurrence of a key event indicating key press and release and a key that is not released during a predetermined continuous input determination time.
  • a step of generating a key event indicating the pressing of the key, the key event indicating the pressing of the detected key, and the generated key event the virtual machine To a virtualization server comprising:
  • a pressing event generation unit that generates a key event indicating the pressing of the key, the key event indicating the pressing of the key detected by the event detection unit, and the pressing
  • the key generator generated by the event generation unit is caused to function as a transmission unit that transmits to the virtual machine.
  • the key event indicating the release of the key is output to the virtual machine. Accordingly, it is possible to prevent the same key from being continuously input against the user's intention in the virtual machine due to a delay in transmission of information indicating the release of the key.
  • FIG. 1 is a schematic block diagram showing the configuration of the virtualization system according to the first embodiment.
  • the virtualization system 1 includes a terminal device 20 connected to the keyboard 10 by wire or wireless, and a virtualization server 30 that operates a virtual machine.
  • the terminal device 20 and the virtualization server 30 are connected via a network.
  • the terminal device 20 is a device that transmits input from the keyboard 10 to a virtual machine that operates on the virtualization server 30.
  • the terminal device 20 is realized by a computer such as a PC, a server, or a smartphone.
  • the terminal device 20 includes an event detection unit 21, a pressed event generation unit 22, a key code conversion unit 23, and a transmission unit 24 by executing a virtual machine connection program.
  • the event detection unit 21 detects the occurrence of a key event indicating a key press or release of the keyboard 10.
  • the press event generation unit 22 does not detect a key event indicating the release of the key within a predetermined continuous input determination time (for example, 1 second) after the event detection unit 21 detects a key event indicating the key press.
  • a key event indicating the pressing of the key is generated for each continuous input determination time.
  • the press event generation unit 22 generates a press event indicating the key press once every second.
  • the key code conversion unit 23 is configured to display the key event detected by the event detection unit 21 and the key code of the key indicated by the key event generated by the pressing event generation unit 22 according to the OS (Operating System) of the terminal device 20.
  • OS Operating System
  • the transmission unit 24 stores the key event obtained by converting the key code by the key code conversion unit 23 in a packet and transmits the packet to the virtualization server 30.
  • the virtualization server 30 transmits the key event received from the terminal device 20 to the virtual machine that operates on the own device.
  • the virtualization server 30 executes a virtual machine management program, thereby transferring a transfer base 31 that manages a transfer destination of the received packet, a hypervisor 32 that manages the virtual machine, and a virtualization unit 33 that executes the virtual machine.
  • the transfer infrastructure 31 is an example of a receiving unit that receives a key event indicating key press and release from the terminal device 20.
  • the hypervisor 32 includes an event acquisition unit 321, a key code conversion unit 322, a lift event generation unit 323, and an output unit 324.
  • the event acquisition unit 321 acquires the key event transferred from the transfer infrastructure 31.
  • the key code conversion unit 322 converts the key code related to the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33.
  • the release event generation unit 323 When the key event converted by the key code conversion unit 322 indicates a key press, the release event generation unit 323 generates a key event indicating the release of the key.
  • the output unit 324 outputs the key event converted by the key code conversion unit 322 and the key event generated by the lift event generation unit 323 to the virtual machine that operates in the virtualization unit 33.
  • the virtualization system 1 can prevent the occurrence of unintended continuous input due to packet delay, which is a transmission delay of information indicating key release.
  • FIG. 2 is a flowchart showing the operation of the terminal device according to the first embodiment.
  • the event detection unit 21 determines whether or not a key event has occurred due to pressing or lifting of the keyboard 10 (step S1).
  • the key code conversion unit 23 converts the key code included in the key event into a key code of a predetermined system (step S2).
  • the transmission unit 24 stores the key event converted by the key code conversion unit 23 in a packet and transmits the packet to the transfer base 31 (step S3).
  • step S5 when the event detection unit 21 does not detect the occurrence of the key event (step S1: NO), the press event generation unit 22 does not generate the key event indicating the lift after the key event indicating the press. It is determined whether or not there is a key whose pressing time is equal to or longer than the continuous input determination time (step S4).
  • the pressing time is an elapsed time from the time when the key event indicating the pressing of the key is transmitted last.
  • step S4: YES the pressed event generation unit 22 generates a key event indicating the pressing of the key ( Step S5).
  • the event detection unit 21 converts the key code included in the key event into a key code of a predetermined system (step S2).
  • the transmission unit 24 stores the key event converted by the key code conversion unit 23 in a packet and transmits the packet to the transfer base 31 (step S3).
  • step S6 When the packet storing the key event is transmitted in step S3, or when there is no key whose pressed time is equal to or longer than the continuous input determination time among the keys that are not released (step S4: NO), the terminal device 20 Then, it is determined whether or not the connection with the virtualization server 30 has been disconnected (step S6). If the connection with the virtualization server 30 is not disconnected (step S6: NO), the terminal device 20 returns the process to step S1, and again determines whether or not a key event has occurred. On the other hand, when the connection with the virtualization server 30 is disconnected (step S6: YES), the terminal device 20 ends the process. Through the above processing, the terminal device 20 can transmit a key event to the virtualization server 30.
  • FIG. 3 is a flowchart showing the operation of the hypervisor 32 according to the first embodiment.
  • the terminal device 20 transmits a packet storing a key event to the virtualization server 30, the transfer infrastructure 31 of the virtualization server 30 receives the packet. Next, the transfer infrastructure 31 transfers the packet to the hypervisor 32.
  • the event acquisition unit 321 of the hypervisor 32 acquires a packet from the transfer infrastructure 31 (step S101).
  • the key code conversion unit 322 converts the key code indicated by the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33 (step S102).
  • the output unit 324 determines whether or not the key event indicates a key press (step S103). If the key event indicates a key press (step S103: YES), the output unit 324 outputs the key event converted by the key code conversion unit 322 to the virtualization unit 33 (step S104).
  • the lift event generation unit 323 generates a key event indicating the key release indicated by the key event converted by the key code conversion unit 322.
  • the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S105), and ends the process.
  • step S103 when the key event converted by the key code conversion unit 322 indicates the release of the key (step S103: NO), the output unit 324 ends the process without outputting the key event to the virtualization unit 33. This is because a key event indicating key release has already been output to the virtualization unit 33 in step S105.
  • the virtualization system 1 when a key event indicating a key press is detected, the virtualization system 1 according to the present embodiment outputs a key event indicating a key release to the virtual machine together with the key event. As a result, the virtual machine receives a key event indicating the release of the key immediately after the key event indicating the key press, regardless of the transmission delay of the packet storing the key event.
  • the system 1 can prevent the occurrence of unintended continuous input.
  • the virtualization server 30 that operates the virtual machine generates a key event indicating the release of the key. Thereby, the release of the key can be reliably transmitted to the virtual machine.
  • the terminal device 20 may be provided with the take-off event production
  • the press event generation unit 22 when there is a key that is not released during the continuous input determination time, the press event generation unit 22 generates a key event that indicates pressing of the key every time the continuous input determination time elapses. Is generated.
  • a key event indicating the pressing of the same key and a key event indicating the release of the key are input to the virtualization unit 33 that executes the virtual machine at each continuous input determination time. Therefore, in the virtualization system 1 according to the present embodiment, the key event indicating the release of the key is input to the virtual machine immediately after the key event indicating the key press, but the continuous key press is continued. Input can be realized.
  • the virtualization system 1 according to the present embodiment it is possible to continuously input direction keys and delete keys.
  • the terminal device 20 includes the press event generation unit 22, but is not limited thereto.
  • the virtualization server 30 may include the press event generation unit 22.
  • the virtualization system 1 may not include the press event generation unit 22.
  • the terminal device 20 transmits a key event obtained by converting a key code related to the OS of the own device into a key code related to a predetermined system. Further, the virtualization server 30 converts the key code related to the received key event into a key code related to the OS of the virtual machine. Thereby, even when the key maps are different between the terminal device 20 and the virtual machine, it is possible to prevent a difference in characters input between the terminal device 20 and the virtual machine.
  • FIG. 4 is a schematic block diagram showing the configuration of the virtualization system according to the second embodiment.
  • the keys provided on the keyboard 10 may include meta keys that are premised on simultaneous pressing with other keys (hereinafter referred to as normal keys). Examples of meta keys include shift keys and control keys.
  • the virtualization system 1 according to the second embodiment can prevent the same key from being continuously input against the user's intention even when the meta key and the normal key are simultaneously pressed.
  • the virtualization system 1 according to the second embodiment is different from the first embodiment in the configuration of the virtualization server 30.
  • the virtualization server 30 according to the second embodiment further includes a pressed key management unit 325 and a meta key event generation unit 326 in addition to the configuration of the first embodiment.
  • the pressed key management unit 325 manages which key is continuously pressed in the terminal device 20. Specifically, the pressed key management unit 325 records the key code related to the key event in the internal memory when the key event indicating the pressing is detected, and detects the key event indicating the release. The key code related to the key event is deleted from the internal memory. As a result, the pressed key management unit 325 can identify the key that is being pressed by referring to the internal memory.
  • the meta key event generation unit 326 generates a key event indicating a press and release of a meta key.
  • FIG. 5 is a flowchart showing the operation of the hypervisor 32 according to the second embodiment.
  • the event acquisition unit 321 of the hypervisor 32 acquires a packet from the transfer infrastructure 31 (step S201).
  • the key code conversion unit 322 converts the key code indicated by the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33 (step S202).
  • the pressed key management unit 325 determines whether or not the key event indicates a key press (step S203). If the key event indicates a key press (step S203: YES), the press key management unit 325 stores the key code related to the key event in the internal memory (step S204). Thereby, the pressed key management unit 325 can specify that the key related to the key code is pressed on the terminal device 20 by referring to the internal memory.
  • the pressed key management unit 325 refers to the internal memory and determines whether or not the meta key is pressed (step S205). That is, the pressed key management unit 325 determines whether or not a key code indicating a meta key is recorded in the internal memory.
  • the output unit 324 outputs the key event converted by the key code conversion unit 322 in step S202 to the virtualization unit 33 (step S206).
  • the lift event generation unit 323 generates a key event indicating the key release indicated by the key event converted by the key code conversion unit 322.
  • the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S207), and ends the process.
  • the meta key event generation unit 326 when the meta key is pressed (step S205: YES), the meta key event generation unit 326 generates a key event indicating the press of the meta key determined to be pressed.
  • the output unit 324 outputs the key event generated by the meta key event generation unit 326 to the virtualization unit 33 (step S208).
  • the output unit 324 outputs the key event converted by the key code conversion unit 322 in step S202 to the virtualization unit 33 (step S209).
  • the lift event generation unit 323 generates a key event indicating the key release indicated by the key event converted by the key code conversion unit 322.
  • the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S210).
  • the lift event generation unit 323 generates a key event indicating the release of the key indicated by the key event generated by the meta key event generation unit 326. Then, the output unit 324 outputs the key event (meta key release) generated by the release event generation unit 323 to the virtualization unit 33 (step S211), and ends the process.
  • step S203 NO
  • the pressed key management unit 325 displays the key indicated by the key event recorded in the internal memory.
  • the code that is, the key code of the key corresponding to the key event
  • step S212 the process ends.
  • the pressed key management unit 325 can specify that the key related to the key code is not pressed in the terminal device 20 by referring to the internal memory.
  • the virtualization system 1 performs the key event indicating the press of the meta key and the press of the detected key when the press of another key is detected while the meta key is pressed.
  • the key event indicating the key event indicating the release of these keys and the key event indicating the release of these keys are output to the virtual machine.
  • the virtualization system 1 according to the present embodiment allows the meta key and the normal key to be displayed even though the key event indicating the release of the key is input to the virtual machine immediately after the key event indicating the key press. Simultaneous pressing can be realized.
  • the virtualization system 1 according to the third embodiment has the same configuration as that of the first embodiment shown in FIG.
  • FIG. 6 is a flowchart illustrating the operation of the hypervisor according to the third embodiment.
  • the event acquisition unit 321 of the hypervisor 32 acquires a packet from the transfer infrastructure 31 (step S301).
  • the key code conversion unit 322 converts the key code indicated by the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33 (step S302).
  • the output unit 324 determines whether or not the key event indicates a key press (step S303). When the key event indicates a key press (step S303: YES), the output unit 324 outputs the key event converted by the key code conversion unit 322 to the virtualization unit 33 (step S304).
  • the lift event generation unit 323 determines whether or not the key code related to the key event indicates a meta key (step S305).
  • the release event generation unit 323 When the key code related to the key event indicates a normal key (step S305: NO), the release event generation unit 323 generates a key event indicating the release of the key indicated by the key event converted by the key code conversion unit 322. .
  • the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S306), and ends the process.
  • the lift event generation unit 323 does not generate a key event indicating the shift of the meta key. Accordingly, the meta key is kept pressed in the virtual machine executed by the virtualization unit 33.
  • step S307 When the key event converted by the key code conversion unit 322 in step S302 indicates the release of the key (step S303: NO), the output unit 324 determines whether or not the key code related to the key event indicates a meta key. (Step S307). When the key code related to the key event indicates a normal key (step S307: NO), the output unit 324 ends the process without outputting the key event to the virtualization unit 33. On the other hand, when the key code related to the key event indicates a meta key (step S307: YES), the output unit 324 outputs the key event (meta key release) converted by the key code conversion unit 322 to the virtualization unit 33 ( Step S308), the process is terminated. As a result, the continuation of pressing of the meta key in the virtual machine executed by the virtualization unit 33 ends.
  • the lift event generation unit 323 does not generate a key event indicating the meta key release
  • the output unit 324 indicates the key event indicating the meta key release detected by the event detection unit 21. Is output to the virtual machine.
  • the timing of pressing and releasing the meta key in the virtual machine is in line with the timing of pressing and releasing the meta key in the terminal device 20.
  • pressing of the normal key input between the pressing of the meta key and release is handled as being pressed simultaneously with the meta key in the virtual machine.
  • the meta key release timing may be delayed due to packet transmission delay, but if the order of meta key release and normal key press is correct, even if transmission delay occurs, unintended continuous input in the virtual machine Does not occur.
  • the output unit 324 according to the first embodiment described above does not output the key event to the virtualization unit 33 when the key event indicates a lift (see “Step S103: NO” in FIG. 3). It is not limited to this.
  • the output unit 324 according to another embodiment may output the key event converted by the key code conversion unit 322 to the virtualization unit 33 regardless of whether the key event indicates pressing or release. . In this case, the virtual machine ignores a key event indicating the release of a key that has not been pressed, that is, a key that has already been released.
  • FIG. 7 is a schematic block diagram showing the basic configuration of the virtualization system.
  • the configuration illustrated in FIGS. 1 and 4 has been described as an embodiment of the virtualization system 1.
  • the basic configuration of the virtualization system 1 is as illustrated in FIG. That is, the virtualization system 1 has a basic configuration of the event detection unit 21, the take-off event generation unit 323, and the output unit 324.
  • the event detection unit 21 detects the occurrence of a key event indicating key press and release in the terminal device.
  • the lift event generation unit 323 generates a key event indicating the key release.
  • the output unit 324 outputs, to the virtual machine, a key event indicating the key press detected by the event detection unit 21 and a key event indicating the key release generated by the lift event generation unit 323. Accordingly, the virtualization system 1 can prevent the same key from being continuously input against the user's intention in the virtual machine due to a delay in transmission of information indicating the release of the key.
  • FIG. 8 is a schematic block diagram illustrating a configuration of a computer according to at least one embodiment.
  • the computer 90 includes a CPU 91, a main storage device 92, an auxiliary storage device 93, and an interface 94.
  • the terminal device 20 and the virtualization server 30 described above are each implemented in the computer 90.
  • the operation of each processing unit described above is stored in the auxiliary storage device 93 in the form of a program (the above-described virtual machine connection program and virtual machine management program).
  • the CPU 91 reads the program from the auxiliary storage device 93 and develops it in the main storage device 92, and executes the processing according to the program. Further, the CPU 91 secures a storage area corresponding to each of the above-described memories in the main storage device 92 according to the program.
  • the auxiliary storage device 93 is an example of a tangible medium that is not temporary.
  • Other examples of the tangible medium that is not temporary include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 94.
  • the program may be for realizing a part of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the above-described function in combination with another program already stored in the auxiliary storage device 93.
  • difference file difference program
  • An event detection unit for detecting the occurrence of a key event indicating key press and release in the terminal device; When a key event indicating a key press occurs, a lift event generation unit that generates a key event indicating the key release, and the key event indicating the key press detected by the event detection unit and the lift
  • a key control system comprising: an output unit that outputs the key event generated by the event generation unit to a virtual machine.
  • the key event generated by the lift event generation unit is a key event indicating the release of a key other than a meta key
  • the output unit includes the key event indicating the key press detected by the event detection unit, the key event indicating the release of the meta key detected by the event detection unit, and the key generated by the release event generation unit.
  • the key control system according to Appendix 1 or 2, wherein the event is output to the virtual machine.
  • Appendix 5 A key code conversion unit that converts a key code related to a key event into a key code used in a virtual machine, The key control system according to any one of appendix 1 to appendix 4, wherein the output unit outputs a key event whose key code has been converted by the key code conversion unit to the virtual machine.
  • the event detection unit is provided in the terminal device, The key control system according to any one of appendix 1 to appendix 5, wherein the output unit is provided in a virtualization server that operates the virtual machine.
  • a key control method comprising: outputting the key event indicating the detected key press and the generated key event to a virtual machine.
  • a virtualization unit for operating a virtual machine;
  • a receiving unit for receiving a key event indicating a key press and release from a terminal device;
  • a lift event generating unit that generates a key event indicating the key release;
  • a virtualization server comprising: the key event indicating the key press received by the receiving unit; and the output unit that outputs the key event generated by the lift event generating unit to the virtual machine.
  • Computer A virtualization unit for operating a virtual machine A receiving unit for receiving a key event indicating a key press and release from a terminal device; When a key event indicating a key press is received, a lift event generation unit that generates a key event indicating the key release, A program for causing the key event received by the receiving unit to be pressed and the key event generated by the lift event generating unit to function as an output unit that outputs to the virtual machine.
  • An event detector that detects the occurrence of a key event indicating key press and release; When there is a key that is not released during a predetermined continuous input determination time, each time the continuous input determination time elapses, a pressing event generation unit that generates a key event indicating the pressing of the key;
  • a terminal device comprising: the key event that indicates a key press detected by the event detection unit; and a transmission unit that transmits the key event generated by the press event generation unit to a virtual machine.
  • the present invention it is possible to prevent the same key from being continuously input against the user's intention in the virtual machine due to a delay in transmission of information indicating the release of the key.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

This key control system is provided with an event detection unit for detecting the occurrence of a key event that indicates the depression and release of a key on a terminal device, a release event generation unit for generating a key event that indicates the release of a key when a key event indicating the depression of the key has occurred, and an output unit for outputting the key event that indicates the depression of the key detected by the event detection unit and the key event generated by the release event generation unit to a virtual machine.

Description

キー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラムKey control system, virtualization server, terminal device, key control method, key transmission method, program
 本発明は、キー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラムに関する。 The present invention relates to a key control system, a virtualization server, a terminal device, a key control method, a key transmission method, and a program.
 端末装置から、サーバ上で動作する仮想マシンに向けて、キーの押下および離上を示す情報を送信することで、端末装置のキーボードを仮想マシン上で利用可能とする技術が知られている(例えば、特許文献1を参照)。
 例えば、端末装置においてキーが押下されたときに当該キーが押下されたことを示す情報が仮想マシンに送信される。また端末装置においてキーが離上されたときに当該キーが離上されたことを示す情報が、仮想マシンに送信される。
A technique is known in which a terminal device keyboard can be used on a virtual machine by transmitting information indicating key presses and release from a terminal device to a virtual machine operating on a server ( For example, see Patent Document 1).
For example, when a key is pressed on the terminal device, information indicating that the key is pressed is transmitted to the virtual machine. In addition, when the key is released in the terminal device, information indicating that the key is released is transmitted to the virtual machine.
国際公開第2010/109681号International Publication No. 2010/109681
 ところで仮想マシンには、同一のキーの押下が所定時間継続する場合に、当該キーが連続して押下されたものとみなすものがある。この場合、キーの離上を示す情報の伝送が遅延し、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されてしまう可能性がある。
 本発明の目的は、上述した課題を解決するキー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラムを提供することにある。
By the way, there are virtual machines in which when the same key is continuously pressed for a predetermined time, it is considered that the key is continuously pressed. In this case, transmission of information indicating the release of the key is delayed, and there is a possibility that the same key is continuously input against the user's intention in the virtual machine.
An object of the present invention is to provide a key control system, a virtualization server, a terminal device, a key control method, a key transmission method, and a program that solve the above-described problems.
 本発明の第1の態様によれば、キー制御システムは、端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部とを備える。 According to the first aspect of the present invention, the key control system includes an event detection unit that detects occurrence of a key event indicating key press and release in the terminal device, and a key event that indicates key press occurs. A release event generation unit that generates a key event indicating the release of the key, the key event that indicates a key press detected by the event detection unit, and the key event generated by the release event generation unit. And an output unit for outputting to the virtual machine.
 本発明の第2の態様によれば、キー制御方法は、端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成するステップと、前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップとを有する。 According to the second aspect of the present invention, the key control method includes a step of detecting occurrence of a key event indicating key press and release in the terminal device, and when a key event indicating key press occurs, Generating a key event indicating the release of the key, and outputting the key event indicating the detected key press and the generated key event to a virtual machine.
 本発明の第3の態様によれば、仮想化サーバは、仮想マシンを動作させる仮想化部と、端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部とを備える。 According to the third aspect of the present invention, the virtualization server includes a virtualization unit that operates a virtual machine, a reception unit that receives a key event indicating key press and release from a terminal device, and a key press. When a key event indicating the key is received, a lift event generating unit that generates a key event indicating the release of the key, and the key event indicating the key press received by the receiving unit and the lift event generating unit An output unit that outputs the generated key event to the virtual machine.
 本発明の第4の態様によれば、キー制御方法は、仮想マシンを動作させるステップと、端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成するステップと、前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップとを備える。 According to the fourth aspect of the present invention, a key control method includes a step of operating a virtual machine, a step of receiving a key event indicating key press and release from a terminal device, and a key indicating key press. When receiving an event, generating a key event indicating the release of the key; and outputting the generated key event to the virtual machine and the key event indicating the received key press. Prepare.
 本発明の第5の態様によれば、プログラムは、コンピュータを、仮想マシンを動作させる仮想化部、端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部として機能させる。 According to the fifth aspect of the present invention, a program causes a computer to operate a virtual machine, a receiving unit that receives a key event indicating key press and release from a terminal device, and a key press. When a key event is received, a lift event generation unit that generates a key event indicating the release of the key, the key event indicating a key press received by the reception unit, and the lift event generation unit The key event is made to function as an output unit that outputs the key event to the virtual machine.
 本発明の第6の態様によれば、端末装置は、キーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部と、前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部とを備える。 According to the sixth aspect of the present invention, the terminal device includes an event detection unit that detects occurrence of a key event indicating key press and release, and a key that is not released during a predetermined continuous input determination time. When the continuous input determination time elapses, a pressing event generation unit that generates a key event indicating the pressing of the key, the key event indicating the pressing of the key detected by the event detection unit, and the pressing A transmission unit that transmits the key event generated by the event generation unit to the virtual machine.
 本発明の第7の態様によれば、キー送信方法は、キーの押下および離上を示すキーイベントの発生を検出するステップと、所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成するステップと、前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを、仮想マシンを備える仮想化サーバに送信するステップとを有する。 According to the seventh aspect of the present invention, in the key transmission method, there is a step of detecting occurrence of a key event indicating key press and release and a key that is not released during a predetermined continuous input determination time. In this case, each time the continuous input determination time elapses, a step of generating a key event indicating the pressing of the key, the key event indicating the pressing of the detected key, and the generated key event, the virtual machine To a virtualization server comprising:
 本発明の第8の態様によれば、プログラムは、コンピュータを、キーの押下および離上を示すキーイベントの発生を検出するイベント検出部、所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部、前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部として機能させる。 According to the eighth aspect of the present invention, there is provided a program for causing a computer to detect an occurrence of a key event indicating key press and release and a key that is not released during a predetermined continuous input determination time. When the continuous input determination time elapses, a pressing event generation unit that generates a key event indicating the pressing of the key, the key event indicating the pressing of the key detected by the event detection unit, and the pressing The key generator generated by the event generation unit is caused to function as a transmission unit that transmits to the virtual machine.
 本発明の上記態様のうち少なくとも1つによれば、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを仮想マシンに出力する。これにより、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。 According to at least one of the above aspects of the present invention, when a key event indicating a key press occurs, the key event indicating the release of the key is output to the virtual machine. Accordingly, it is possible to prevent the same key from being continuously input against the user's intention in the virtual machine due to a delay in transmission of information indicating the release of the key.
第1の実施形態に係る仮想化システムの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the virtualization system which concerns on 1st Embodiment. 第1の実施形態に係る端末装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the terminal device which concerns on 1st Embodiment. 第1の実施形態に係るハイパーバイザの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the hypervisor which concerns on 1st Embodiment. 第2の実施形態に係る仮想化システムの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the virtualization system which concerns on 2nd Embodiment. 第2の実施形態に係るハイパーバイザの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the hypervisor which concerns on 2nd Embodiment. 第3の実施形態に係るハイパーバイザの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the hypervisor which concerns on 3rd Embodiment. 仮想化システムの基本構成を示す概略ブロック図である。It is a schematic block diagram which shows the basic composition of a virtualization system. 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the computer which concerns on at least 1 embodiment.
《第1の実施形態》
 以下、図面を参照しながら実施形態について詳しく説明する。
 図1は、第1の実施形態に係る仮想化システムの構成を示す概略ブロック図である。
 仮想化システム1は、有線または無線でキーボード10に接続された端末装置20と、仮想マシンを動作させる仮想化サーバ30とを備える。
 端末装置20と仮想化サーバ30とは、ネットワークを介して接続される。
<< First Embodiment >>
Hereinafter, embodiments will be described in detail with reference to the drawings.
FIG. 1 is a schematic block diagram showing the configuration of the virtualization system according to the first embodiment.
The virtualization system 1 includes a terminal device 20 connected to the keyboard 10 by wire or wireless, and a virtualization server 30 that operates a virtual machine.
The terminal device 20 and the virtualization server 30 are connected via a network.
 端末装置20は、仮想化サーバ30で動作する仮想マシンにキーボード10の入力を送信する装置である。端末装置20は、PC、サーバ、スマートフォンなどのコンピュータによって実現される。端末装置20は、仮想マシン接続プログラムを実行することで、イベント検出部21、押下イベント生成部22、キーコード変換部23、送信部24を備える。
 イベント検出部21は、キーボード10のキーの押下および離上を示すキーイベントの発生を検出する。
 押下イベント生成部22は、イベント検出部21がキーの押下を示すキーイベントを検出してから所定の連続入力判定時間(例えば、1秒)以内に当該キーの離上を示すキーイベントが検出されない場合に、当該連続入力判定時間ごとに、当該キーの押下を示すキーイベントを生成する。
 例えば、押下イベント生成部22は、同じキーの押下が3秒間継続した場合、当該キーの押下を示す押下イベントを1秒ごとに1回ずつ生成する。
 キーコード変換部23は、イベント検出部21が検出するキーイベント、および、押下イベント生成部22が生成するキーイベントが示すキーのキーコードを、端末装置20のOS(Operating System)に係るキーコードから、Linux(登録商標)キーコードなどの所定のコード体系のキーコードに変換する。
 送信部24は、キーコード変換部23がキーコードを変換したキーイベントをパケットに格納し、仮想化サーバ30に送信する。
The terminal device 20 is a device that transmits input from the keyboard 10 to a virtual machine that operates on the virtualization server 30. The terminal device 20 is realized by a computer such as a PC, a server, or a smartphone. The terminal device 20 includes an event detection unit 21, a pressed event generation unit 22, a key code conversion unit 23, and a transmission unit 24 by executing a virtual machine connection program.
The event detection unit 21 detects the occurrence of a key event indicating a key press or release of the keyboard 10.
The press event generation unit 22 does not detect a key event indicating the release of the key within a predetermined continuous input determination time (for example, 1 second) after the event detection unit 21 detects a key event indicating the key press. In this case, a key event indicating the pressing of the key is generated for each continuous input determination time.
For example, when the same key is continuously pressed for 3 seconds, the press event generation unit 22 generates a press event indicating the key press once every second.
The key code conversion unit 23 is configured to display the key event detected by the event detection unit 21 and the key code of the key indicated by the key event generated by the pressing event generation unit 22 according to the OS (Operating System) of the terminal device 20. To a key code of a predetermined code system such as Linux (registered trademark) key code.
The transmission unit 24 stores the key event obtained by converting the key code by the key code conversion unit 23 in a packet and transmits the packet to the virtualization server 30.
 仮想化サーバ30は、端末装置20から受信するキーイベントを、自装置において動作する仮想マシンに伝達する。
 仮想化サーバ30は、仮想マシン管理プログラムを実行することで、受信したパケットの転送先を管理する転送基盤31と、仮想マシンを管理するハイパーバイザ32と、仮想マシンを実行する仮想化部33とを備える。なお、転送基盤31は、端末装置20から、キーの押下および離上を示すキーイベントを受信する受信部の一例である。
 ハイパーバイザ32は、イベント取得部321、キーコード変換部322、離上イベント生成部323、出力部324を備える。
 イベント取得部321は、転送基盤31から転送されたキーイベントを取得する。
 キーコード変換部322は、イベント取得部321が取得したキーイベントに係るキーコードを、仮想化部33で動作する仮想マシンのOSに係るキーコードに変換する。
 離上イベント生成部323は、キーコード変換部322が変換したキーイベントがキーの押下を示す場合に、当該キーの離上を示すキーイベントを生成する。
 出力部324は、キーコード変換部322が変換したキーイベントおよび離上イベント生成部323が生成したキーイベントを、仮想化部33で動作する仮想マシンに出力する。
The virtualization server 30 transmits the key event received from the terminal device 20 to the virtual machine that operates on the own device.
The virtualization server 30 executes a virtual machine management program, thereby transferring a transfer base 31 that manages a transfer destination of the received packet, a hypervisor 32 that manages the virtual machine, and a virtualization unit 33 that executes the virtual machine. Is provided. The transfer infrastructure 31 is an example of a receiving unit that receives a key event indicating key press and release from the terminal device 20.
The hypervisor 32 includes an event acquisition unit 321, a key code conversion unit 322, a lift event generation unit 323, and an output unit 324.
The event acquisition unit 321 acquires the key event transferred from the transfer infrastructure 31.
The key code conversion unit 322 converts the key code related to the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33.
When the key event converted by the key code conversion unit 322 indicates a key press, the release event generation unit 323 generates a key event indicating the release of the key.
The output unit 324 outputs the key event converted by the key code conversion unit 322 and the key event generated by the lift event generation unit 323 to the virtual machine that operates in the virtualization unit 33.
 上記構成により、仮想化システム1は、キーの離上を示す情報の伝送の遅延となる、パケット遅延による意図しない連続入力の発生を防ぐことができる。 With the above configuration, the virtualization system 1 can prevent the occurrence of unintended continuous input due to packet delay, which is a transmission delay of information indicating key release.
 次に、本実施形態に係る仮想化システム1の動作について説明する。
 図2は、第1の実施形態に係る端末装置の動作を示すフローチャートである。
 端末装置20が、仮想マシン接続プログラムにより仮想化サーバ30と接続されると、イベント検出部21は、キーボード10の押下または離上によるキーイベントが発生したか否かを判定する(ステップS1)。
 イベント検出部21は、キーイベントの発生を検出すると(ステップS1:YES)、キーコード変換部23は、当該キーイベントに含まれるキーコードを所定の体系のキーコードに変換する(ステップS2)。
 次に送信部24は、キーコード変換部23によって変換されたキーイベントをパケットに格納して、転送基盤31に送信する(ステップS3)。
Next, the operation of the virtualization system 1 according to this embodiment will be described.
FIG. 2 is a flowchart showing the operation of the terminal device according to the first embodiment.
When the terminal device 20 is connected to the virtualization server 30 by the virtual machine connection program, the event detection unit 21 determines whether or not a key event has occurred due to pressing or lifting of the keyboard 10 (step S1).
When the event detection unit 21 detects the occurrence of a key event (step S1: YES), the key code conversion unit 23 converts the key code included in the key event into a key code of a predetermined system (step S2).
Next, the transmission unit 24 stores the key event converted by the key code conversion unit 23 in a packet and transmits the packet to the transfer base 31 (step S3).
 他方、イベント検出部21が、キーイベントの発生を検出しない場合(ステップS1:NO)、押下イベント生成部22は、押下を示すキーイベントの発生後、離上を示すキーイベントが発生していないキーのうち、押下時間が連続入力判定時間以上となるキーが存在するか否かを判定する(ステップS4)。なお押下時間とは、最後に当該キーの押下を示すキーイベントを送信した時刻からの経過時間である。
 離上されていないキーのうち、押下時間が連続入力判定時間以上となるキーが存在する場合(ステップS4:YES)、押下イベント生成部22は、当該キーの押下を示すキーイベントを生成する(ステップS5)。
 そして、イベント検出部21は、当該キーイベントに含まれるキーコードを所定の体系のキーコードに変換する(ステップS2)。次に送信部24は、キーコード変換部23によって変換されたキーイベントを、パケットに格納して転送基盤31に送信する(ステップS3)。
On the other hand, when the event detection unit 21 does not detect the occurrence of the key event (step S1: NO), the press event generation unit 22 does not generate the key event indicating the lift after the key event indicating the press. It is determined whether or not there is a key whose pressing time is equal to or longer than the continuous input determination time (step S4). The pressing time is an elapsed time from the time when the key event indicating the pressing of the key is transmitted last.
When there is a key whose pressed time is equal to or longer than the continuous input determination time among the keys that have not been released (step S4: YES), the pressed event generation unit 22 generates a key event indicating the pressing of the key ( Step S5).
Then, the event detection unit 21 converts the key code included in the key event into a key code of a predetermined system (step S2). Next, the transmission unit 24 stores the key event converted by the key code conversion unit 23 in a packet and transmits the packet to the transfer base 31 (step S3).
 ステップS3でキーイベントを格納したパケットを送信した場合、または離上されていないキーのうち、押下時間が連続入力判定時間以上となるキーが存在しない場合(ステップS4:NO)、端末装置20は、仮想化サーバ30との接続が切断されたか否かを判定する(ステップS6)。
 仮想化サーバ30との接続が切断されていない場合(ステップS6:NO)、端末装置20はステップS1に処理を戻し、再度キーイベントの発生の有無を判定する。他方、仮想化サーバ30との接続が切断された場合(ステップS6:YES)、端末装置20は処理を終了する。
 上記処理により、端末装置20は、キーイベントを仮想化サーバ30に送信することができる。
When the packet storing the key event is transmitted in step S3, or when there is no key whose pressed time is equal to or longer than the continuous input determination time among the keys that are not released (step S4: NO), the terminal device 20 Then, it is determined whether or not the connection with the virtualization server 30 has been disconnected (step S6).
If the connection with the virtualization server 30 is not disconnected (step S6: NO), the terminal device 20 returns the process to step S1, and again determines whether or not a key event has occurred. On the other hand, when the connection with the virtualization server 30 is disconnected (step S6: YES), the terminal device 20 ends the process.
Through the above processing, the terminal device 20 can transmit a key event to the virtualization server 30.
 図3は、第1の実施形態に係るハイパーバイザ32の動作を示すフローチャートである。
 端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。
FIG. 3 is a flowchart showing the operation of the hypervisor 32 according to the first embodiment.
When the terminal device 20 transmits a packet storing a key event to the virtualization server 30, the transfer infrastructure 31 of the virtualization server 30 receives the packet. Next, the transfer infrastructure 31 transfers the packet to the hypervisor 32.
 ハイパーバイザ32のイベント取得部321は、転送基盤31からパケットを取得する(ステップS101)。次に、キーコード変換部322は、イベント取得部321が取得したキーイベントが示すキーコードを、仮想化部33で動作する仮想マシンのOSに係るキーコードに変換する(ステップS102)。
 次に、出力部324は、当該キーイベントがキーの押下を示すか否かを判定する(ステップS103)。当該キーイベントがキーの押下を示す場合(ステップS103:YES)、出力部324は、キーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS104)。
 次に、離上イベント生成部323は、キーコード変換部322が変換したキーイベントが示すキーの離上を示すキーイベントを生成する。次に、出力部324は、離上イベント生成部323が生成したキーイベントを仮想化部33に出力し(ステップS105)、処理を終了する。
The event acquisition unit 321 of the hypervisor 32 acquires a packet from the transfer infrastructure 31 (step S101). Next, the key code conversion unit 322 converts the key code indicated by the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33 (step S102).
Next, the output unit 324 determines whether or not the key event indicates a key press (step S103). If the key event indicates a key press (step S103: YES), the output unit 324 outputs the key event converted by the key code conversion unit 322 to the virtualization unit 33 (step S104).
Next, the lift event generation unit 323 generates a key event indicating the key release indicated by the key event converted by the key code conversion unit 322. Next, the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S105), and ends the process.
 他方、キーコード変換部322によって変換されたキーイベントがキーの離上を示す場合(ステップS103:NO)、出力部324は当該キーイベントを仮想化部33に出力せずに処理を終了する。これは、キーの離上を示すキーイベントがステップS105で既に仮想化部33に出力されているためである。 On the other hand, when the key event converted by the key code conversion unit 322 indicates the release of the key (step S103: NO), the output unit 324 ends the process without outputting the key event to the virtualization unit 33. This is because a key event indicating key release has already been output to the virtualization unit 33 in step S105.
 このように、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントが検出された場合に、当該キーイベントと共に、キーの離上を示すキーイベントを仮想マシンに出力する。
 これにより、キーイベントを格納するパケットの伝送遅延の有無に関わらず、仮想マシンには、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが入力されるため、仮想化システム1は、意図しない連続入力の発生を防ぐことができる。
As described above, when a key event indicating a key press is detected, the virtualization system 1 according to the present embodiment outputs a key event indicating a key release to the virtual machine together with the key event.
As a result, the virtual machine receives a key event indicating the release of the key immediately after the key event indicating the key press, regardless of the transmission delay of the packet storing the key event. The system 1 can prevent the occurrence of unintended continuous input.
 また、本実施形態に係る仮想化システム1においては、キーの離上を示すキーイベントを仮想マシンを動作させる仮想化サーバ30が生成する。これにより、キーの離上を確実に仮想マシンに伝達することができる。
 なお、他の実施形態においてはこれに限られず、端末装置20が離上イベント生成部323を備えても良い。
In the virtualization system 1 according to the present embodiment, the virtualization server 30 that operates the virtual machine generates a key event indicating the release of the key. Thereby, the release of the key can be reliably transmitted to the virtual machine.
In addition, in other embodiment, it is not restricted to this, The terminal device 20 may be provided with the take-off event production | generation part 323.
 また、本実施形態において、押下イベント生成部22は、連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する。これにより、同一のキーの押下を示すキーイベントと当該キーの離上を示すキーイベントが、連続入力判定時間ごとに、仮想マシンを実行する仮想化部33に入力される。
 したがって、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが仮想マシンに入力されるにも関わらず、キーの長押しによる連続入力を実現することができる。例えば、本実施形態に係る仮想化システム1によれば、方向キーやデリートキーの連続入力が可能となる。
 なお、本実施形態では、端末装置20が押下イベント生成部22を備えるが、これに限られない。例えば、他の実施形態においては、仮想化サーバ30が押下イベント生成部22を備えても良い。また、連続入力の必要性が無い場合、他の実施形態に係る仮想化システム1では、押下イベント生成部22を備えなくても良い。
In the present embodiment, when there is a key that is not released during the continuous input determination time, the press event generation unit 22 generates a key event that indicates pressing of the key every time the continuous input determination time elapses. Is generated. As a result, a key event indicating the pressing of the same key and a key event indicating the release of the key are input to the virtualization unit 33 that executes the virtual machine at each continuous input determination time.
Therefore, in the virtualization system 1 according to the present embodiment, the key event indicating the release of the key is input to the virtual machine immediately after the key event indicating the key press, but the continuous key press is continued. Input can be realized. For example, according to the virtualization system 1 according to the present embodiment, it is possible to continuously input direction keys and delete keys.
In the present embodiment, the terminal device 20 includes the press event generation unit 22, but is not limited thereto. For example, in another embodiment, the virtualization server 30 may include the press event generation unit 22. When there is no need for continuous input, the virtualization system 1 according to another embodiment may not include the press event generation unit 22.
 また、本実施形態に係る端末装置20は、自装置のOSに係るキーコードを所定の体系に係るキーコードに変換したキーイベントを送信する。また仮想化サーバ30は、受信したキーイベントに係るキーコードを、仮想マシンのOSに係るキーコードに変換する。
 これにより、端末装置20と仮想マシンとでキーマップが異なる場合にも、端末装置20と仮想マシンとで入力される文字に違いが生じることを防ぐことができる。
Further, the terminal device 20 according to the present embodiment transmits a key event obtained by converting a key code related to the OS of the own device into a key code related to a predetermined system. Further, the virtualization server 30 converts the key code related to the received key event into a key code related to the OS of the virtual machine.
Thereby, even when the key maps are different between the terminal device 20 and the virtual machine, it is possible to prevent a difference in characters input between the terminal device 20 and the virtual machine.
《第2の実施形態》
 次に、第2の実施形態について説明する。図4は、第2の実施形態に係る仮想化システムの構成を示す概略ブロック図である。
 キーボード10に設けられるキーには、他のキー(以下、通常キーという)との同時押しが前提となるメタキーが存在することがある。メタキーの例としては、シフトキーや、コントロールキーなどが挙げられる。
 第2の実施形態に係る仮想化システム1は、メタキーと通常キーの同時押しが生じる場合にも、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。
<< Second Embodiment >>
Next, a second embodiment will be described. FIG. 4 is a schematic block diagram showing the configuration of the virtualization system according to the second embodiment.
The keys provided on the keyboard 10 may include meta keys that are premised on simultaneous pressing with other keys (hereinafter referred to as normal keys). Examples of meta keys include shift keys and control keys.
The virtualization system 1 according to the second embodiment can prevent the same key from being continuously input against the user's intention even when the meta key and the normal key are simultaneously pressed.
 第2の実施形態に係る仮想化システム1は、第1の実施形態と仮想化サーバ30の構成が異なる。具体的には、第2の実施形態に係る仮想化サーバ30は、第1の実施形態の構成に加え、更に押下キー管理部325およびメタキーイベント生成部326を備える。
 押下キー管理部325は、端末装置20においてどのキーの押下が継続しているかを管理する。
 具体的には、押下キー管理部325は、押下を示すキーイベントが検出されたときに、当該キーイベントに係るキーコードを内部メモリに記録し、離上を示すキーイベントが検出されたときに、当該キーイベントに係るキーコードを内部メモリから削除する。これにより、押下キー管理部325は、内部メモリを参照することで、押下が継続しているキーを特定することができる。
 メタキーイベント生成部326は、メタキーの押下および離上を示すキーイベントを生成する。
The virtualization system 1 according to the second embodiment is different from the first embodiment in the configuration of the virtualization server 30. Specifically, the virtualization server 30 according to the second embodiment further includes a pressed key management unit 325 and a meta key event generation unit 326 in addition to the configuration of the first embodiment.
The pressed key management unit 325 manages which key is continuously pressed in the terminal device 20.
Specifically, the pressed key management unit 325 records the key code related to the key event in the internal memory when the key event indicating the pressing is detected, and detects the key event indicating the release. The key code related to the key event is deleted from the internal memory. As a result, the pressed key management unit 325 can identify the key that is being pressed by referring to the internal memory.
The meta key event generation unit 326 generates a key event indicating a press and release of a meta key.
 次に、第2の実施形態に係る仮想化システム1の動作について説明する。なお端末装置20の動作は、第1の実施形態と同じである。
 図5は、第2の実施形態に係るハイパーバイザ32の動作を示すフローチャートである。
 端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。
Next, the operation of the virtualization system 1 according to the second embodiment will be described. The operation of the terminal device 20 is the same as that in the first embodiment.
FIG. 5 is a flowchart showing the operation of the hypervisor 32 according to the second embodiment.
When the terminal device 20 transmits a packet storing a key event to the virtualization server 30, the transfer infrastructure 31 of the virtualization server 30 receives the packet. Next, the transfer infrastructure 31 transfers the packet to the hypervisor 32.
 ハイパーバイザ32のイベント取得部321は転送基盤31からパケットを取得する(ステップS201)。次に、キーコード変換部322は、イベント取得部321が取得したキーイベントが示すキーコードを、仮想化部33で動作する仮想マシンのOSに係るキーコードに変換する(ステップS202)。
 次に、押下キー管理部325は、当該キーイベントがキーの押下を示すか否かを判定する(ステップS203)。当該キーイベントがキーの押下を示す場合(ステップS203:YES)、押下キー管理部325は、当該キーイベントに係るキーコードを内部メモリに記憶する(ステップS204)。これにより、押下キー管理部325は、内部メモリを参照することで、当該キーコードに係るキーが端末装置20において押下されていることを特定することができる。
The event acquisition unit 321 of the hypervisor 32 acquires a packet from the transfer infrastructure 31 (step S201). Next, the key code conversion unit 322 converts the key code indicated by the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33 (step S202).
Next, the pressed key management unit 325 determines whether or not the key event indicates a key press (step S203). If the key event indicates a key press (step S203: YES), the press key management unit 325 stores the key code related to the key event in the internal memory (step S204). Thereby, the pressed key management unit 325 can specify that the key related to the key code is pressed on the terminal device 20 by referring to the internal memory.
 次に、押下キー管理部325は、内部メモリを参照し、メタキーが押下されているか否かを判定する(ステップS205)。つまり、押下キー管理部325は、内部メモリにメタキーを示すキーコードが記録されているか否かを判定する。
 メタキーが押下されていない場合(ステップS205:NO)、出力部324は、ステップS202でキーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS206)。
 次に、離上イベント生成部323は、キーコード変換部322が変換したキーイベントが示すキーの離上を示すキーイベントを生成する。次に、出力部324は、離上イベント生成部323が生成したキーイベントを仮想化部33に出力し(ステップS207)、処理を終了する。
Next, the pressed key management unit 325 refers to the internal memory and determines whether or not the meta key is pressed (step S205). That is, the pressed key management unit 325 determines whether or not a key code indicating a meta key is recorded in the internal memory.
When the meta key is not pressed (step S205: NO), the output unit 324 outputs the key event converted by the key code conversion unit 322 in step S202 to the virtualization unit 33 (step S206).
Next, the lift event generation unit 323 generates a key event indicating the key release indicated by the key event converted by the key code conversion unit 322. Next, the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S207), and ends the process.
 他方、メタキーが押下されている場合(ステップS205:YES)、メタキーイベント生成部326は、押下されていると判定されたメタキーの押下を示すキーイベントを生成する。
 次に、出力部324は、メタキーイベント生成部326が生成したキーイベントを仮想化部33に出力する(ステップS208)。
 次に、出力部324は、ステップS202でキーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS209)。
 次に、離上イベント生成部323は、キーコード変換部322が変換したキーイベントが示すキーの離上を示すキーイベントを生成する。
 次に、出力部324は、離上イベント生成部323が生成したキーイベントを仮想化部33に出力する(ステップS210)。
 次に、離上イベント生成部323は、メタキーイベント生成部326が生成したキーイベントが示すキーの離上を示すキーイベントを生成する。そして、出力部324は、離上イベント生成部323が生成したキーイベント(メタキーの離上)を仮想化部33に出力し(ステップS211)、処理を終了する。
On the other hand, when the meta key is pressed (step S205: YES), the meta key event generation unit 326 generates a key event indicating the press of the meta key determined to be pressed.
Next, the output unit 324 outputs the key event generated by the meta key event generation unit 326 to the virtualization unit 33 (step S208).
Next, the output unit 324 outputs the key event converted by the key code conversion unit 322 in step S202 to the virtualization unit 33 (step S209).
Next, the lift event generation unit 323 generates a key event indicating the key release indicated by the key event converted by the key code conversion unit 322.
Next, the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S210).
Next, the lift event generation unit 323 generates a key event indicating the release of the key indicated by the key event generated by the meta key event generation unit 326. Then, the output unit 324 outputs the key event (meta key release) generated by the release event generation unit 323 to the virtualization unit 33 (step S211), and ends the process.
 他方、ステップS202でキーコード変換部322によって変換されたキーイベントがキーの離上を示す場合(ステップS203:NO)、押下キー管理部325は、内部メモリに記録された当該キーイベントが示すキーコード(即ち、当該キーイベントに対応するキーのキーコード)を削除し(ステップS212)、処理を終了する。これにより、押下キー管理部325は、内部メモリを参照することで、当該キーコードに係るキーが端末装置20において押下されていないことを特定することができる。 On the other hand, when the key event converted by the key code conversion unit 322 in step S202 indicates the release of the key (step S203: NO), the pressed key management unit 325 displays the key indicated by the key event recorded in the internal memory. The code (that is, the key code of the key corresponding to the key event) is deleted (step S212), and the process ends. Thereby, the pressed key management unit 325 can specify that the key related to the key code is not pressed in the terminal device 20 by referring to the internal memory.
 このように、本実施形態に係る仮想化システム1は、メタキーが押下されているときに他のキーの押下が検出された場合に、メタキーの押下を示すキーイベント、検出されたキーの押下を示すキーイベント、およびこれらのキーの離上を示すキーイベントを、仮想マシンに出力する。
 これにより、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが仮想マシンに入力されるにも関わらず、メタキーと通常キーの同時押しを実現することができる。
As described above, the virtualization system 1 according to the present embodiment performs the key event indicating the press of the meta key and the press of the detected key when the press of another key is detected while the meta key is pressed. The key event indicating the key event indicating the release of these keys and the key event indicating the release of these keys are output to the virtual machine.
As a result, the virtualization system 1 according to the present embodiment allows the meta key and the normal key to be displayed even though the key event indicating the release of the key is input to the virtual machine immediately after the key event indicating the key press. Simultaneous pressing can be realized.
《第3の実施形態》
 次に、第3の実施形態について説明する。第3の実施形態は、第2の実施形態と同様に、メタキーと通常キーの同時押しが生じる場合にも、同一のキーが利用者の意図に反して連続入力されることを防ぐ。
 第3の実施形態に係る仮想化システム1は、図1に示す第1の実施形態と同様の構成を有する。
<< Third Embodiment >>
Next, a third embodiment will be described. As in the second embodiment, the third embodiment prevents the same key from being continuously input against the user's intention even when the meta key and the normal key are simultaneously pressed.
The virtualization system 1 according to the third embodiment has the same configuration as that of the first embodiment shown in FIG.
 第3の実施形態に係る仮想化システム1の動作について説明する。なお端末装置20の動作は、第1の実施形態と同じである。
 図6は、第3の実施形態に係るハイパーバイザの動作を示すフローチャートである。
 端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。
An operation of the virtualization system 1 according to the third embodiment will be described. The operation of the terminal device 20 is the same as that in the first embodiment.
FIG. 6 is a flowchart illustrating the operation of the hypervisor according to the third embodiment.
When the terminal device 20 transmits a packet storing a key event to the virtualization server 30, the transfer infrastructure 31 of the virtualization server 30 receives the packet. Next, the transfer infrastructure 31 transfers the packet to the hypervisor 32.
 ハイパーバイザ32のイベント取得部321は転送基盤31からパケットを取得する(ステップS301)。次に、キーコード変換部322は、イベント取得部321が取得したキーイベントが示すキーコードを、仮想化部33で動作する仮想マシンのOSに係るキーコードに変換する(ステップS302)。
 次に、出力部324は、当該キーイベントがキーの押下を示すか否かを判定する(ステップS303)。当該キーイベントがキーの押下を示す場合(ステップS303:YES)、出力部324は、キーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS304)。
The event acquisition unit 321 of the hypervisor 32 acquires a packet from the transfer infrastructure 31 (step S301). Next, the key code conversion unit 322 converts the key code indicated by the key event acquired by the event acquisition unit 321 into a key code related to the OS of the virtual machine operating in the virtualization unit 33 (step S302).
Next, the output unit 324 determines whether or not the key event indicates a key press (step S303). When the key event indicates a key press (step S303: YES), the output unit 324 outputs the key event converted by the key code conversion unit 322 to the virtualization unit 33 (step S304).
 次に、離上イベント生成部323は、当該キーイベントに係るキーコードがメタキーを示すか否かを判定する(ステップS305)。キーイベントに係るキーコードが通常キーを示す場合(ステップS305:NO)、離上イベント生成部323は、キーコード変換部322が変換したキーイベントが示すキーの離上を示すキーイベントを生成する。次に、出力部324は、離上イベント生成部323が生成したキーイベントを仮想化部33に出力し(ステップS306)、処理を終了する。
 他方、キーイベントに係るキーコードがメタキーを示す場合(ステップS305:YES)、離上イベント生成部323は、当該メタキーの離上を示すキーイベントを生成しない。
 これにより、仮想化部33が実行する仮想マシンにおいて当該メタキーは、押下が継続した状態となる。
Next, the lift event generation unit 323 determines whether or not the key code related to the key event indicates a meta key (step S305). When the key code related to the key event indicates a normal key (step S305: NO), the release event generation unit 323 generates a key event indicating the release of the key indicated by the key event converted by the key code conversion unit 322. . Next, the output unit 324 outputs the key event generated by the lift event generation unit 323 to the virtualization unit 33 (step S306), and ends the process.
On the other hand, when the key code related to the key event indicates a meta key (step S305: YES), the lift event generation unit 323 does not generate a key event indicating the shift of the meta key.
Accordingly, the meta key is kept pressed in the virtual machine executed by the virtualization unit 33.
 ステップS302でキーコード変換部322によって変換されたキーイベントがキーの離上を示す場合(ステップS303:NO)、出力部324は、当該キーイベントに係るキーコードがメタキーを示すか否かを判定する(ステップS307)。キーイベントに係るキーコードが通常キーを示す場合(ステップS307:NO)、出力部324は当該キーイベントを仮想化部33に出力せずに処理を終了する。
 他方、キーイベントに係るキーコードがメタキーを示す場合(ステップS307:YES)、出力部324は、キーコード変換部322が変換したキーイベント(メタキーの離上)を仮想化部33に出力し(ステップS308)、処理を終了する。これにより、仮想化部33が実行する仮想マシンにおいて当該メタキーの押下の継続が終了する。
When the key event converted by the key code conversion unit 322 in step S302 indicates the release of the key (step S303: NO), the output unit 324 determines whether or not the key code related to the key event indicates a meta key. (Step S307). When the key code related to the key event indicates a normal key (step S307: NO), the output unit 324 ends the process without outputting the key event to the virtualization unit 33.
On the other hand, when the key code related to the key event indicates a meta key (step S307: YES), the output unit 324 outputs the key event (meta key release) converted by the key code conversion unit 322 to the virtualization unit 33 ( Step S308), the process is terminated. As a result, the continuation of pressing of the meta key in the virtual machine executed by the virtualization unit 33 ends.
 このように、本実施形態に係る離上イベント生成部323は、メタキーの離上を示すキーイベントを生成せず、出力部324が、イベント検出部21が検出したメタキーの離上を示すキーイベントを仮想マシンに出力する。これにより、仮想マシンにおけるメタキーの押下および離上のタイミングは、端末装置20におけるメタキーの押下および離上のタイミングに沿ったものとなる。これにより、メタキーの押下から離上までの間に入力された通常キーの押下は、仮想マシンにおいてメタキーと同時に押下されたものとして扱われる。
 なお、パケットの伝送遅延によりメタキーの離上のタイミングが遅れる可能性があるが、メタキーの離上と通常キーの押下の順序が正しければ、伝送遅延が生じたとしても仮想マシンにおいて意図しない連続入力が生じない。
As described above, the lift event generation unit 323 according to the present embodiment does not generate a key event indicating the meta key release, and the output unit 324 indicates the key event indicating the meta key release detected by the event detection unit 21. Is output to the virtual machine. As a result, the timing of pressing and releasing the meta key in the virtual machine is in line with the timing of pressing and releasing the meta key in the terminal device 20. As a result, pressing of the normal key input between the pressing of the meta key and release is handled as being pressed simultaneously with the meta key in the virtual machine.
Note that the meta key release timing may be delayed due to packet transmission delay, but if the order of meta key release and normal key press is correct, even if transmission delay occurs, unintended continuous input in the virtual machine Does not occur.
 以上、図面を参照して複数の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
 例えば、上述した第1の実施形態に係る出力部324は、キーイベントが離上を示す場合に当該キーイベントを仮想化部33に出力しないが(図3の「ステップS103:NO」参照)、これに限られない。
 例えば、他の実施形態に係る出力部324は、キーイベントが押下を示すか離上を示すかに関わらず、キーコード変換部322が変換したキーイベントを仮想化部33に出力しても良い。この場合は、押下されていないキー、すなわち既に離上されたキーの離上を示すキーイベントを仮想マシンが無視する。
As described above, the embodiments have been described in detail with reference to the drawings. However, the specific configuration is not limited to the above-described configuration, and various design changes and the like can be made.
For example, the output unit 324 according to the first embodiment described above does not output the key event to the virtualization unit 33 when the key event indicates a lift (see “Step S103: NO” in FIG. 3). It is not limited to this.
For example, the output unit 324 according to another embodiment may output the key event converted by the key code conversion unit 322 to the virtualization unit 33 regardless of whether the key event indicates pressing or release. . In this case, the virtual machine ignores a key event indicating the release of a key that has not been pressed, that is, a key that has already been released.
《基本構成》
 図7は、仮想化システムの基本構成を示す概略ブロック図である。
 上述した実施形態では、仮想化システム1の一実施形態として図1および図4に示す構成について説明したが、仮想化システム1の基本構成は、図7に示すとおりである。
 すなわち、仮想化システム1は、イベント検出部21、離上イベント生成部323、および出力部324を基本構成とする。
<Basic configuration>
FIG. 7 is a schematic block diagram showing the basic configuration of the virtualization system.
In the above-described embodiment, the configuration illustrated in FIGS. 1 and 4 has been described as an embodiment of the virtualization system 1. However, the basic configuration of the virtualization system 1 is as illustrated in FIG.
That is, the virtualization system 1 has a basic configuration of the event detection unit 21, the take-off event generation unit 323, and the output unit 324.
 イベント検出部21は、端末装置におけるキーの押下および離上を示すキーイベントの発生を検出する。
 離上イベント生成部323は、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する。
 出力部324は、イベント検出部21が検出したキーの押下を示すキーイベントおよび離上イベント生成部323が生成したキーの離上を示すキーイベントを、仮想マシンに出力する。
 これにより、仮想化システム1は、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。
The event detection unit 21 detects the occurrence of a key event indicating key press and release in the terminal device.
When the key event indicating the key press occurs, the lift event generation unit 323 generates a key event indicating the key release.
The output unit 324 outputs, to the virtual machine, a key event indicating the key press detected by the event detection unit 21 and a key event indicating the key release generated by the lift event generation unit 323.
Accordingly, the virtualization system 1 can prevent the same key from being continuously input against the user's intention in the virtual machine due to a delay in transmission of information indicating the release of the key.
 図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 コンピュータ90は、CPU91、主記憶装置92、補助記憶装置93、インタフェース94を備える。
 上述の端末装置20および仮想化サーバ30は、それぞれコンピュータ90に実装される。そして、上述した各処理部の動作は、プログラム(上述の仮想マシン接続プログラムおよび仮想マシン管理プログラム)の形式で補助記憶装置93に記憶されている。
 CPU91は、上記プログラムを補助記憶装置93から読み出して主記憶装置92に展開し、当該プログラムに従って上記処理を実行する。また、CPU91は、当該プログラムに従って、上述した各メモリに対応する記憶領域を主記憶装置92に確保する。
FIG. 8 is a schematic block diagram illustrating a configuration of a computer according to at least one embodiment.
The computer 90 includes a CPU 91, a main storage device 92, an auxiliary storage device 93, and an interface 94.
The terminal device 20 and the virtualization server 30 described above are each implemented in the computer 90. The operation of each processing unit described above is stored in the auxiliary storage device 93 in the form of a program (the above-described virtual machine connection program and virtual machine management program).
The CPU 91 reads the program from the auxiliary storage device 93 and develops it in the main storage device 92, and executes the processing according to the program. Further, the CPU 91 secures a storage area corresponding to each of the above-described memories in the main storage device 92 according to the program.
 なお、少なくとも1つの実施形態において、補助記憶装置93は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース94を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。
 また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムを主記憶装置92に展開し、上記処理を実行しても良い。
In at least one embodiment, the auxiliary storage device 93 is an example of a tangible medium that is not temporary. Other examples of the tangible medium that is not temporary include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 94.
When this program is distributed to the computer 90 via a communication line, the computer 90 that has received the distribution may develop the program in the main storage device 92 and execute the above processing.
 また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。
 さらに、当該プログラムは、前述した機能を補助記憶装置93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
The program may be for realizing a part of the functions described above.
Further, the program may be a so-called difference file (difference program) that realizes the above-described function in combination with another program already stored in the auxiliary storage device 93.
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above embodiments can be described as in the following supplementary notes, but are not limited thereto.
  (付記1)
 端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
 キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と
 前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部と
 を備えるキー制御システム。
(Appendix 1)
An event detection unit for detecting the occurrence of a key event indicating key press and release in the terminal device;
When a key event indicating a key press occurs, a lift event generation unit that generates a key event indicating the key release, and the key event indicating the key press detected by the event detection unit and the lift A key control system comprising: an output unit that outputs the key event generated by the event generation unit to a virtual machine.
  (付記2)
 所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部をさらに備え、
 前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記押下イベント生成部が生成した前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
 付記1に記載のキー制御システム。
(Appendix 2)
When there is a key that is not released during a predetermined continuous input determination time, a press event generation unit that generates a key event indicating the pressing of the key every time the continuous input determination time elapses,
The virtual machine displays the key event indicating the key press detected by the event detection unit, the key event generated by the press event generation unit, and the key event generated by the lift event generation unit. The key control system according to appendix 1.
  (付記3)
 メタキーが押下されているときに前記イベント検出部が他のキーの押下を検出した場合に、前記出力部が、前記メタキーの押下を示すキーイベント、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記離上イベント生成部が生成した前記キーイベント、および前記メタキーの離上を示すキーイベントを、前記仮想マシンに出力する
 付記1または付記2に記載のキー制御システム。
(Appendix 3)
When the event detection unit detects a press of another key when the meta key is pressed, the output unit indicates a key event indicating the press of the meta key, and a press of the key detected by the event detection unit. The key control system according to claim 1 or 2, wherein the key event generated by the release event generation unit and the key event indicating the release of the meta key are output to the virtual machine.
  (付記4)
 前記離上イベント生成部が生成するキーイベントが、メタキー以外のキーの離上を示すキーイベントであり、
 前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記イベント検出部が検出したメタキーの離上を示す前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
 付記1または付記2に記載のキー制御システム。
(Appendix 4)
The key event generated by the lift event generation unit is a key event indicating the release of a key other than a meta key,
The output unit includes the key event indicating the key press detected by the event detection unit, the key event indicating the release of the meta key detected by the event detection unit, and the key generated by the release event generation unit. The key control system according to Appendix 1 or 2, wherein the event is output to the virtual machine.
  (付記5)
 キーイベントに係るキーコードを、仮想マシンで用いられるキーコードに変換するキーコード変換部を備え、
 前記出力部が、前記キーコード変換部によってキーコードが変換されたキーイベントを、前記仮想マシンに出力する
 付記1から付記4の何れかに記載のキー制御システム。
(Appendix 5)
A key code conversion unit that converts a key code related to a key event into a key code used in a virtual machine,
The key control system according to any one of appendix 1 to appendix 4, wherein the output unit outputs a key event whose key code has been converted by the key code conversion unit to the virtual machine.
  (付記6)
 前記イベント検出部が、前記端末装置に備えられ、
 前記出力部が、前記仮想マシンを動作させる仮想化サーバに備えられる
 付記1から付記5の何れかに記載のキー制御システム。
(Appendix 6)
The event detection unit is provided in the terminal device,
The key control system according to any one of appendix 1 to appendix 5, wherein the output unit is provided in a virtualization server that operates the virtual machine.
  (付記7)
 端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、
 キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成するステップと、
 前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップと
 を有するキー制御方法。
(Appendix 7)
Detecting the occurrence of a key event indicating key press and release on the terminal device;
Generating a key event indicating the release of the key when a key event indicating pressing of the key occurs;
A key control method comprising: outputting the key event indicating the detected key press and the generated key event to a virtual machine.
  (付記8)
 仮想マシンを動作させる仮想化部と、
 端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、
 キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
 前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部と
 を備える仮想化サーバ。
(Appendix 8)
A virtualization unit for operating a virtual machine;
A receiving unit for receiving a key event indicating a key press and release from a terminal device;
When a key event indicating a key press is received, a lift event generating unit that generates a key event indicating the key release;
A virtualization server comprising: the key event indicating the key press received by the receiving unit; and the output unit that outputs the key event generated by the lift event generating unit to the virtual machine.
  (付記9)
 仮想マシンを動作させるステップと、
 端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、
 キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成するステップと、
 前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップと
 を備えるキー制御方法。
(Appendix 9)
Running the virtual machine;
Receiving a key event indicating a key press and release from a terminal device;
Generating a key event indicating the release of the key when a key event indicating a key press is received;
A key control method comprising: outputting the received key event indicating the key press and the generated key event to the virtual machine.
  (付記10)
 コンピュータを、
 仮想マシンを動作させる仮想化部、
 端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、
 キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、
 前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部
 として機能させるためのプログラム。
(Appendix 10)
Computer
A virtualization unit for operating a virtual machine,
A receiving unit for receiving a key event indicating a key press and release from a terminal device;
When a key event indicating a key press is received, a lift event generation unit that generates a key event indicating the key release,
A program for causing the key event received by the receiving unit to be pressed and the key event generated by the lift event generating unit to function as an output unit that outputs to the virtual machine.
  (付記11)
 キーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
 所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部と、
 前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部と
 を備える端末装置。
(Appendix 11)
An event detector that detects the occurrence of a key event indicating key press and release;
When there is a key that is not released during a predetermined continuous input determination time, each time the continuous input determination time elapses, a pressing event generation unit that generates a key event indicating the pressing of the key;
A terminal device comprising: the key event that indicates a key press detected by the event detection unit; and a transmission unit that transmits the key event generated by the press event generation unit to a virtual machine.
  (付記12)
 キーの押下および離上を示すキーイベントの発生を検出するステップと、
 所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成するステップと、
 前記検出したキーの押下を示す前記キーイベン
トおよび前記生成した前記キーイベントを、仮想マシンを備える仮想化サーバに送信するステップと
 を有するキー送信方法。
(Appendix 12)
Detecting the occurrence of a key event indicating key press and release;
Generating a key event indicating pressing of the key each time the continuous input determination time elapses when there is a key that is not released during a predetermined continuous input determination time;
Transmitting a key event indicating the detected key press and the generated key event to a virtualization server including a virtual machine.
  (付記13)
 コンピュータを、
 キーの押下および離上を示すキーイベントの発生を検出するイベント検出部、
 所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部、
 前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部
 として機能させるためのプログラム。 
(Appendix 13)
Computer
An event detector that detects the occurrence of a key event indicating key press and release;
When there is a key that is not released during a predetermined continuous input determination time, each time the continuous input determination time elapses, a press event generation unit that generates a key event indicating the pressing of the key,
A program for functioning as a transmission unit that transmits the key event detected by the event detection unit and the key event generated by the press event generation unit to a virtual machine.
 この出願は、2015年5月25日に出願された日本出願特願2015-105304号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
This application claims priority based on Japanese Patent Application No. 2015-105304 filed on May 25, 2015, the entire disclosure of which is incorporated herein.
本発明によれば、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。
According to the present invention, it is possible to prevent the same key from being continuously input against the user's intention in the virtual machine due to a delay in transmission of information indicating the release of the key.
1 仮想化システム
20 端末装置
21 イベント検出部
22 押下イベント生成部
23 キーコード変換部
24 送信部
30 仮想化サーバ
31 転送基盤
32 ハイパーバイザ
33 仮想化部
321 イベント取得部
322 キーコード変換部
323 離上イベント生成部
324 出力部
DESCRIPTION OF SYMBOLS 1 Virtualization system 20 Terminal device 21 Event detection part 22 Press event generation part 23 Key code conversion part 24 Transmission part 30 Virtualization server 31 Transfer infrastructure 32 Hypervisor 33 Virtualization part 321 Event acquisition part 322 Key code conversion part 323 Event generation unit 324 output unit

Claims (10)

  1.  端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
     キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
     前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部と
     を備えるキー制御システム。
    An event detection unit for detecting the occurrence of a key event indicating key press and release in the terminal device;
    When a key event indicating a key press occurs, a lift event generation unit that generates a key event indicating the key release;
    A key control system comprising: the key event that indicates a key press detected by the event detection unit; and an output unit that outputs the key event generated by the lift event generation unit to a virtual machine.
  2.  所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部をさらに備え、
     前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記押下イベント生成部が生成した前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
     請求項1に記載のキー制御システム。
    When there is a key that is not released during a predetermined continuous input determination time, a press event generation unit that generates a key event indicating the pressing of the key every time the continuous input determination time elapses,
    The virtual machine displays the key event indicating the key press detected by the event detection unit, the key event generated by the press event generation unit, and the key event generated by the lift event generation unit. The key control system according to claim 1.
  3.  メタキーが押下されているときに前記イベント検出部が他のキーの押下を検出した場合に、前記出力部が、前記メタキーの押下を示すキーイベント、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記離上イベント生成部が生成した前記キーイベント、および前記メタキーの離上を示すキーイベントを、前記仮想マシンに出力する
     請求項1または請求項2に記載のキー制御システム。
    When the event detection unit detects a press of another key when the meta key is pressed, the output unit indicates a key event indicating the press of the meta key, and a press of the key detected by the event detection unit. The key control system according to claim 1, wherein the key event generated by the release event generation unit and the key event indicating the release of the meta key are output to the virtual machine.
  4.  端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、
     キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成するステップと、
     前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップと
     を有するキー制御方法。
    Detecting the occurrence of a key event indicating key press and release on the terminal device;
    Generating a key event indicating the release of the key when a key event indicating pressing of the key occurs;
    A key control method comprising: outputting the key event indicating the detected key press and the generated key event to a virtual machine.
  5.  仮想マシンを動作させる仮想化部と、
     端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、
     キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
     前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部と
     を備える仮想化サーバ。
    A virtualization unit for operating a virtual machine;
    A receiving unit for receiving a key event indicating a key press and release from a terminal device;
    When a key event indicating a key press is received, a lift event generating unit that generates a key event indicating the key release;
    A virtualization server comprising: the key event indicating the key press received by the receiving unit; and the output unit that outputs the key event generated by the lift event generating unit to the virtual machine.
  6.  仮想マシンを動作させるステップと、
     端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、
     キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成するステップと、
     前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップと
     を備えるキー制御方法。
    Running the virtual machine;
    Receiving a key event indicating a key press and release from a terminal device;
    Generating a key event indicating the release of the key when a key event indicating a key press is received;
    A key control method comprising: outputting the received key event indicating the key press and the generated key event to the virtual machine.
  7.  コンピュータを、
     仮想マシンを動作させる仮想化部、
     端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、
     キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、
     前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部
     として機能させるためのプログラム。
    Computer
    A virtualization unit for operating a virtual machine,
    A receiving unit for receiving a key event indicating a key press and release from a terminal device;
    When a key event indicating a key press is received, a lift event generation unit that generates a key event indicating the key release,
    A program for functioning as an output unit that outputs to the virtual machine the key event received by the receiving unit indicating the key press and the key event generated by the lift event generating unit.
  8.  キーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
     所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部と、
     前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部と
     を備える端末装置。
    An event detector that detects the occurrence of a key event indicating key press and release;
    When there is a key that is not released during a predetermined continuous input determination time, each time the continuous input determination time elapses, a pressing event generation unit that generates a key event indicating the pressing of the key;
    A terminal device comprising: the key event that indicates a key press detected by the event detection unit; and a transmission unit that transmits the key event generated by the press event generation unit to a virtual machine.
  9.  キーの押下および離上を示すキーイベントの発生を検出するステップと、
     所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成するステップと、
     前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを、仮想マシンを備える仮想化サーバに送信するステップと
     を有するキー送信方法。
    Detecting the occurrence of a key event indicating key press and release;
    Generating a key event indicating pressing of the key each time the continuous input determination time elapses when there is a key that is not released during a predetermined continuous input determination time;
    Transmitting a key event indicating the detected key press and the generated key event to a virtualization server including a virtual machine.
  10.  コンピュータを、
     キーの押下および離上を示すキーイベントの発生を検出するイベント検出部、
     所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部、
     前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部
     として機能させるためのプログラム。
    Computer
    An event detector that detects the occurrence of a key event indicating key press and release;
    When there is a key that is not released during a predetermined continuous input determination time, each time the continuous input determination time elapses, a press event generation unit that generates a key event indicating the pressing of the key,
    A program for functioning as a transmission unit that transmits the key event detected by the event detection unit and the key event generated by the press event generation unit to a virtual machine.
PCT/JP2016/063570 2015-05-25 2016-05-02 Key control system, virtualized server, terminal device, key control method, key transmission method, and program WO2016190054A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020177033098A KR20170137894A (en) 2015-05-25 2016-05-02 Key control system, virtualization server, terminal device, key control method, key transmission method, program
JP2017520587A JP6750618B2 (en) 2015-05-25 2016-05-02 Key control system, virtualization server, key control method, program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-105304 2015-05-25
JP2015105304 2015-05-25

Publications (1)

Publication Number Publication Date
WO2016190054A1 true WO2016190054A1 (en) 2016-12-01

Family

ID=57392761

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/063570 WO2016190054A1 (en) 2015-05-25 2016-05-02 Key control system, virtualized server, terminal device, key control method, key transmission method, and program

Country Status (3)

Country Link
JP (1) JP6750618B2 (en)
KR (1) KR20170137894A (en)
WO (1) WO2016190054A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116095A (en) * 2021-11-10 2022-03-01 百度在线网络技术(北京)有限公司 Input method, device, electronic equipment, medium and product

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227548A (en) * 1990-04-17 1992-08-17 Seiko Epson Corp Information processing unit
JP2000259331A (en) * 1999-03-08 2000-09-22 Sharp Corp Radio input device
WO2010109681A1 (en) * 2009-03-25 2010-09-30 株式会社日立製作所 A computer system, resource management server of a computer system, and resource management method of a computer system
JP2015038644A (en) * 2010-06-30 2015-02-26 株式会社東芝 Computer and method of updating virtual machine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227548A (en) * 1990-04-17 1992-08-17 Seiko Epson Corp Information processing unit
JP2000259331A (en) * 1999-03-08 2000-09-22 Sharp Corp Radio input device
WO2010109681A1 (en) * 2009-03-25 2010-09-30 株式会社日立製作所 A computer system, resource management server of a computer system, and resource management method of a computer system
JP2015038644A (en) * 2010-06-30 2015-02-26 株式会社東芝 Computer and method of updating virtual machine

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116095A (en) * 2021-11-10 2022-03-01 百度在线网络技术(北京)有限公司 Input method, device, electronic equipment, medium and product
CN114116095B (en) * 2021-11-10 2023-07-21 百度在线网络技术(北京)有限公司 Input method, input device, electronic equipment, medium and product

Also Published As

Publication number Publication date
JP6750618B2 (en) 2020-09-02
KR20170137894A (en) 2017-12-13
JPWO2016190054A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
KR102288521B1 (en) Apparatus and method for storing data based on blockchain
CN104378422A (en) Mobile terminal and file transmission method and system thereof
JP5822125B2 (en) Service cooperation apparatus, service cooperation method, and service cooperation program
JP5362011B2 (en) Configuring the message processing pipeline
KR20090123012A (en) Distributed processing system and method
CN104618152A (en) Session table aging method and system
US8726287B2 (en) Method for reducing inter-process communication latency
CN101571811A (en) Information transmission method and device thereof
WO2016190054A1 (en) Key control system, virtualized server, terminal device, key control method, key transmission method, and program
JP2005228183A (en) Program execution method and computer system for executing the program
US11838207B2 (en) Systems for session-based routing
JP2006244450A (en) Resource management system, resource conversion table generation system, software authentication system, resource management program, resource conversion table generation program and software authenticating program, resource management method, resource conversion table generation method, and software authentication method
JP2011182115A (en) Communication method, communication system and server
JP2010211453A (en) File tampering check method and device
CN110691002B (en) Interrupt detection method and device
JP2012103952A (en) Memory dump method
JP6452573B2 (en) Data transmission device, data reception device, data transmission method, data reception method, data transmission program, and data reception program
JP2009205264A (en) Web service request processing apparatus, web service request processing method, and web service request processing system
WO2024093700A1 (en) Service hopping method and device, and storage medium
CN117170891A (en) Message processing method, device and equipment
JP5347271B2 (en) Terminal device and program
JP4985263B2 (en) Job linkage system, job linkage method, job linkage program
CN103401895A (en) Network acceleration method and system
CN103324528B (en) Virtual system management mode device and control method thereof
CN117135167A (en) Block chain data information synchronization method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16799762

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017520587

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20177033098

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16799762

Country of ref document: EP

Kind code of ref document: A1