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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program 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
Description
例えば、端末装置においてキーが押下されたときに当該キーが押下されたことを示す情報が仮想マシンに送信される。また端末装置においてキーが離上されたときに当該キーが離上されたことを示す情報が、仮想マシンに送信される。 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.
本発明の目的は、上述した課題を解決するキー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラムを提供することにある。 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は、第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
The
イベント検出部21は、キーボード10のキーの押下および離上を示すキーイベントの発生を検出する。
押下イベント生成部22は、イベント検出部21がキーの押下を示すキーイベントを検出してから所定の連続入力判定時間(例えば、1秒)以内に当該キーの離上を示すキーイベントが検出されない場合に、当該連続入力判定時間ごとに、当該キーの押下を示すキーイベントを生成する。
例えば、押下イベント生成部22は、同じキーの押下が3秒間継続した場合、当該キーの押下を示す押下イベントを1秒ごとに1回ずつ生成する。
キーコード変換部23は、イベント検出部21が検出するキーイベント、および、押下イベント生成部22が生成するキーイベントが示すキーのキーコードを、端末装置20のOS(Operating System)に係るキーコードから、Linux(登録商標)キーコードなどの所定のコード体系のキーコードに変換する。
送信部24は、キーコード変換部23がキーコードを変換したキーイベントをパケットに格納し、仮想化サーバ30に送信する。 The
The
The press
For example, when the same key is continuously pressed for 3 seconds, the press
The key
The
仮想化サーバ30は、仮想マシン管理プログラムを実行することで、受信したパケットの転送先を管理する転送基盤31と、仮想マシンを管理するハイパーバイザ32と、仮想マシンを実行する仮想化部33とを備える。なお、転送基盤31は、端末装置20から、キーの押下および離上を示すキーイベントを受信する受信部の一例である。
ハイパーバイザ32は、イベント取得部321、キーコード変換部322、離上イベント生成部323、出力部324を備える。
イベント取得部321は、転送基盤31から転送されたキーイベントを取得する。
キーコード変換部322は、イベント取得部321が取得したキーイベントに係るキーコードを、仮想化部33で動作する仮想マシンのOSに係るキーコードに変換する。
離上イベント生成部323は、キーコード変換部322が変換したキーイベントがキーの押下を示す場合に、当該キーの離上を示すキーイベントを生成する。
出力部324は、キーコード変換部322が変換したキーイベントおよび離上イベント生成部323が生成したキーイベントを、仮想化部33で動作する仮想マシンに出力する。 The
The
The
The
The key
When the key event converted by the key
The
図2は、第1の実施形態に係る端末装置の動作を示すフローチャートである。
端末装置20が、仮想マシン接続プログラムにより仮想化サーバ30と接続されると、イベント検出部21は、キーボード10の押下または離上によるキーイベントが発生したか否かを判定する(ステップS1)。
イベント検出部21は、キーイベントの発生を検出すると(ステップS1:YES)、キーコード変換部23は、当該キーイベントに含まれるキーコードを所定の体系のキーコードに変換する(ステップS2)。
次に送信部24は、キーコード変換部23によって変換されたキーイベントをパケットに格納して、転送基盤31に送信する(ステップS3)。 Next, the operation of the
FIG. 2 is a flowchart showing the operation of the terminal device according to the first embodiment.
When the
When the
Next, the
離上されていないキーのうち、押下時間が連続入力判定時間以上となるキーが存在する場合(ステップS4:YES)、押下イベント生成部22は、当該キーの押下を示すキーイベントを生成する(ステップS5)。
そして、イベント検出部21は、当該キーイベントに含まれるキーコードを所定の体系のキーコードに変換する(ステップS2)。次に送信部24は、キーコード変換部23によって変換されたキーイベントを、パケットに格納して転送基盤31に送信する(ステップS3)。 On the other hand, when the
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
Then, the
仮想化サーバ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
If the connection with the
Through the above processing, the
端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。 FIG. 3 is a flowchart showing the operation of the
When the
次に、出力部324は、当該キーイベントがキーの押下を示すか否かを判定する(ステップS103)。当該キーイベントがキーの押下を示す場合(ステップS103:YES)、出力部324は、キーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS104)。
次に、離上イベント生成部323は、キーコード変換部322が変換したキーイベントが示すキーの離上を示すキーイベントを生成する。次に、出力部324は、離上イベント生成部323が生成したキーイベントを仮想化部33に出力し(ステップS105)、処理を終了する。 The
Next, the
Next, the lift
これにより、キーイベントを格納するパケットの伝送遅延の有無に関わらず、仮想マシンには、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが入力されるため、仮想化システム1は、意図しない連続入力の発生を防ぐことができる。 As described above, when a key event indicating a key press is detected, the
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
なお、他の実施形態においてはこれに限られず、端末装置20が離上イベント生成部323を備えても良い。 In the
In addition, in other embodiment, it is not restricted to this, The
したがって、本実施形態に係る仮想化システム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
Therefore, in the
In the present embodiment, the
これにより、端末装置20と仮想マシンとでキーマップが異なる場合にも、端末装置20と仮想マシンとで入力される文字に違いが生じることを防ぐことができる。 Further, the
Thereby, even when the key maps are different between the
次に、第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
The
押下キー管理部325は、端末装置20においてどのキーの押下が継続しているかを管理する。
具体的には、押下キー管理部325は、押下を示すキーイベントが検出されたときに、当該キーイベントに係るキーコードを内部メモリに記録し、離上を示すキーイベントが検出されたときに、当該キーイベントに係るキーコードを内部メモリから削除する。これにより、押下キー管理部325は、内部メモリを参照することで、押下が継続しているキーを特定することができる。
メタキーイベント生成部326は、メタキーの押下および離上を示すキーイベントを生成する。 The
The pressed
Specifically, the pressed
The meta key
図5は、第2の実施形態に係るハイパーバイザ32の動作を示すフローチャートである。
端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。 Next, the operation of the
FIG. 5 is a flowchart showing the operation of the
When the
次に、押下キー管理部325は、当該キーイベントがキーの押下を示すか否かを判定する(ステップS203)。当該キーイベントがキーの押下を示す場合(ステップS203:YES)、押下キー管理部325は、当該キーイベントに係るキーコードを内部メモリに記憶する(ステップS204)。これにより、押下キー管理部325は、内部メモリを参照することで、当該キーコードに係るキーが端末装置20において押下されていることを特定することができる。 The
Next, the pressed
メタキーが押下されていない場合(ステップS205:NO)、出力部324は、ステップS202でキーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS206)。
次に、離上イベント生成部323は、キーコード変換部322が変換したキーイベントが示すキーの離上を示すキーイベントを生成する。次に、出力部324は、離上イベント生成部323が生成したキーイベントを仮想化部33に出力し(ステップS207)、処理を終了する。 Next, the pressed
When the meta key is not pressed (step S205: NO), the
Next, the lift
次に、出力部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
Next, the
Next, the
Next, the lift
Next, the
Next, the lift
これにより、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが仮想マシンに入力されるにも関わらず、メタキーと通常キーの同時押しを実現することができる。 As described above, the
As a result, the
次に、第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
図6は、第3の実施形態に係るハイパーバイザの動作を示すフローチャートである。
端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。 An operation of the
FIG. 6 is a flowchart illustrating the operation of the hypervisor according to the third embodiment.
When the
次に、出力部324は、当該キーイベントがキーの押下を示すか否かを判定する(ステップS303)。当該キーイベントがキーの押下を示す場合(ステップS303:YES)、出力部324は、キーコード変換部322が変換したキーイベントを仮想化部33に出力する(ステップS304)。 The
Next, the
他方、キーイベントに係るキーコードがメタキーを示す場合(ステップS305:YES)、離上イベント生成部323は、当該メタキーの離上を示すキーイベントを生成しない。
これにより、仮想化部33が実行する仮想マシンにおいて当該メタキーは、押下が継続した状態となる。 Next, the lift
On the other hand, when the key code related to the key event indicates a meta key (step S305: YES), the lift
Accordingly, the meta key is kept pressed in the virtual machine executed by the
他方、キーイベントに係るキーコードがメタキーを示す場合(ステップS307:YES)、出力部324は、キーコード変換部322が変換したキーイベント(メタキーの離上)を仮想化部33に出力し(ステップS308)、処理を終了する。これにより、仮想化部33が実行する仮想マシンにおいて当該メタキーの押下の継続が終了する。 When the key event converted by the key
On the other hand, when the key code related to the key event indicates a meta key (step S307: YES), the
なお、パケットの伝送遅延によりメタキーの離上のタイミングが遅れる可能性があるが、メタキーの離上と通常キーの押下の順序が正しければ、伝送遅延が生じたとしても仮想マシンにおいて意図しない連続入力が生じない。 As described above, the lift
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
For example, the
図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
That is, the
離上イベント生成部323は、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する。
出力部324は、イベント検出部21が検出したキーの押下を示すキーイベントおよび離上イベント生成部323が生成したキーの離上を示すキーイベントを、仮想マシンに出力する。
これにより、仮想化システム1は、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。 The
When the key event indicating the key press occurs, the lift
The
Accordingly, the
コンピュータ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
The
The
また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムを主記憶装置92に展開し、上記処理を実行しても良い。 In at least one embodiment, the
When this program is distributed to the
さらに、当該プログラムは、前述した機能を補助記憶装置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
端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部と
を備えるキー制御システム。 (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.
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部をさらに備え、
前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記押下イベント生成部が生成した前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
付記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
メタキーが押下されているときに前記イベント検出部が他のキーの押下を検出した場合に、前記出力部が、前記メタキーの押下を示すキーイベント、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記離上イベント生成部が生成した前記キーイベント、および前記メタキーの離上を示すキーイベントを、前記仮想マシンに出力する
付記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
前記離上イベント生成部が生成するキーイベントが、メタキー以外のキーの離上を示すキーイベントであり、
前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記イベント検出部が検出したメタキーの離上を示す前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
付記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
キーイベントに係るキーコードを、仮想マシンで用いられるキーコードに変換するキーコード変換部を備え、
前記出力部が、前記キーコード変換部によってキーコードが変換されたキーイベントを、前記仮想マシンに出力する
付記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
前記イベント検出部が、前記端末装置に備えられ、
前記出力部が、前記仮想マシンを動作させる仮想化サーバに備えられる
付記1から付記5の何れかに記載のキー制御システム。 (Appendix 6)
The event detection unit is provided in the terminal device,
The key control system according to any one of
端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、
キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成するステップと、
前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップと
を有するキー制御方法。 (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.
仮想マシンを動作させる仮想化部と、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部と
を備える仮想化サーバ。 (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.
仮想マシンを動作させるステップと、
端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成するステップと、
前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップと
を備えるキー制御方法。 (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.
コンピュータを、
仮想マシンを動作させる仮想化部、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部
として機能させるためのプログラム。 (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.
キーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部と、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部と
を備える端末装置。 (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.
キーの押下および離上を示すキーイベントの発生を検出するステップと、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成するステップと、
前記検出したキーの押下を示す前記キーイベン
トおよび前記生成した前記キーイベントを、仮想マシンを備える仮想化サーバに送信するステップと
を有するキー送信方法。 (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.
コンピュータを、
キーの押下および離上を示すキーイベントの発生を検出するイベント検出部、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部
として機能させるためのプログラム。 (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.
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.
20 端末装置
21 イベント検出部
22 押下イベント生成部
23 キーコード変換部
24 送信部
30 仮想化サーバ
31 転送基盤
32 ハイパーバイザ
33 仮想化部
321 イベント取得部
322 キーコード変換部
323 離上イベント生成部
324 出力部 DESCRIPTION OF
Claims (10)
- 端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部と
を備えるキー制御システム。 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. - 所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部をさらに備え、
前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記押下イベント生成部が生成した前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
請求項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. - メタキーが押下されているときに前記イベント検出部が他のキーの押下を検出した場合に、前記出力部が、前記メタキーの押下を示すキーイベント、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記離上イベント生成部が生成した前記キーイベント、および前記メタキーの離上を示すキーイベントを、前記仮想マシンに出力する
請求項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. - 端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、
キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成するステップと、
前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップと
を有するキー制御方法。 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. - 仮想マシンを動作させる仮想化部と、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部と
を備える仮想化サーバ。 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. - 仮想マシンを動作させるステップと、
端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成するステップと、
前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップと
を備えるキー制御方法。 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. - コンピュータを、
仮想マシンを動作させる仮想化部、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部
として機能させるためのプログラム。 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. - キーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部と、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部と
を備える端末装置。 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. - キーの押下および離上を示すキーイベントの発生を検出するステップと、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成するステップと、
前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを、仮想マシンを備える仮想化サーバに送信するステップと
を有するキー送信方法。 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. - コンピュータを、
キーの押下および離上を示すキーイベントの発生を検出するイベント検出部、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部
として機能させるためのプログラム。 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.
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)
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)
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 |
-
2016
- 2016-05-02 JP JP2017520587A patent/JP6750618B2/en active Active
- 2016-05-02 KR KR1020177033098A patent/KR20170137894A/en not_active Application Discontinuation
- 2016-05-02 WO PCT/JP2016/063570 patent/WO2016190054A1/en active Application Filing
Patent Citations (4)
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)
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 |