[go: up one dir, main page]

JP6750618B2 - Key control system, virtualization server, key control method, program - Google Patents

Key control system, virtualization server, key control method, program Download PDF

Info

Publication number
JP6750618B2
JP6750618B2 JP2017520587A JP2017520587A JP6750618B2 JP 6750618 B2 JP6750618 B2 JP 6750618B2 JP 2017520587 A JP2017520587 A JP 2017520587A JP 2017520587 A JP2017520587 A JP 2017520587A JP 6750618 B2 JP6750618 B2 JP 6750618B2
Authority
JP
Japan
Prior art keywords
key
event
unit
indicating
release
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017520587A
Other languages
Japanese (ja)
Other versions
JPWO2016190054A1 (en
Inventor
孝輔 前原
孝輔 前原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016190054A1 publication Critical patent/JPWO2016190054A1/en
Application granted granted Critical
Publication of JP6750618B2 publication Critical patent/JP6750618B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

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)

Description

本発明は、キー制御システム、仮想化サーバ、キー制御方法、プログラムに関する。 The present invention, key control system, virtualization server, key control method, and a program.

端末装置から、サーバ上で動作する仮想マシンに向けて、キーの押下および離上を示す情報を送信することで、端末装置のキーボードを仮想マシン上で利用可能とする技術が知られている(例えば、特許文献1を参照)。
例えば、端末装置においてキーが押下されたときに当該キーが押下されたことを示す情報が仮想マシンに送信される。また端末装置においてキーが離上されたときに当該キーが離上されたことを示す情報が、仮想マシンに送信される。
A technique is known in which a keyboard of a terminal device can be used on the virtual machine by transmitting information indicating a key press and a key release from the terminal device to a virtual machine operating on a server ( See, for example, Patent Document 1.
For example, when a key is pressed on the terminal device, information indicating that the key has been pressed is transmitted to the virtual machine. Further, 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, some virtual machines consider that the same key is continuously pressed when the same key is continuously pressed for a predetermined time. In this case, the transmission of the information indicating the release of the key is delayed, and the same key may be continuously input in the virtual machine against the user's intention.
An object of the present invention is to provide key control system that solves the problems described above, the virtualization server, key control method, a program.

本発明の第1の態様によれば、キー制御システムは、端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、キーの押下を示すキーイベントが発生するたびに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部とを備える。 According to a first aspect of the present invention, the key control system, each time a an event detecting unit for detecting the occurrence of a key event showing pressing and Hanareue key in the terminal device, the key event showing pressing of a key is generated A release event generation unit that generates a key event indicating the release of the key, the key event indicating the 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 a virtual machine.

本発明の第2の態様によれば、キー制御方法は、端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、キーの押下を示すキーイベントが発生するたびに、当該キーの離上を示すキーイベントを生成するステップと、前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップとを有する。 According to a second aspect of the present invention, the key control method, each time the detecting the occurrence of a key event showing pressing and Hanareue key in the terminal device, the key event showing pressing of a key is generated, The method further includes a step of generating a key event indicating the release of the key, and a step of outputting the detected key event indicating the pressed key 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 a key press and a key release from a terminal device, and a key press. Each time a key event indicating the above is received, a release event generating unit that generates a key event indicating that the key is released, and the key event and the release event generating unit that indicate pressing of the key received by the receiving unit. And an output unit that outputs the key event generated by the virtual machine to the virtual machine.

本発明の第4の態様によれば、キー制御方法は、仮想マシンを動作させるステップと、端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、キーの押下を示すキーイベントを受信するたびに、当該キーの離上を示すキーイベントを生成するステップと、前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップとを備える。 According to a 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 a key press and a key release from a terminal device, and a key indicating a key press. Each time an event is received, a step of generating a key event indicating the release of the key, and a step of outputting the key event indicating the pressing of the received key and the generated key event to the virtual machine are performed. Prepare

本発明の第5の態様によれば、プログラムは、コンピュータを、仮想マシンを動作させる仮想化部、端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、キーの押下を示すキーイベントを受信するたびに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部として機能させる。 According to the fifth aspect of the present invention, a program causes a computer to perform a virtualizing unit that operates a virtual machine, a receiving unit that receives a key event indicating a key press and a key release from a terminal device, and a key press. Each time the key event shown is received, a release event generation unit that generates a key event that indicates the release of the key, the key event that indicates pressing of the key received by the reception unit, and the release event generation unit that generate The key event is output to the virtual machine and functions as an output unit.

本発明の上記態様のうち少なくとも1つによれば、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを仮想マシンに出力する。これにより、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。 According to at least one of the above aspects of the present invention, when a key event indicating the pressing of a key occurs, the key event indicating the release of the key is output to the virtual machine. As a result, it is possible to prevent the same key from being continuously input against the user's intention in the virtual machine due to the delay in the transmission of the 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 flow chart which shows operation of the terminal unit concerning a 1st embodiment. 第1の実施形態に係るハイパーバイザの動作を示すフローチャートである。6 is a flowchart showing an operation of the hypervisor according to the first embodiment. 第2の実施形態に係る仮想化システムの構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the virtualization system which concerns on 2nd Embodiment. 第2の実施形態に係るハイパーバイザの動作を示すフローチャートである。9 is a flowchart showing the operation of the hypervisor according to the second embodiment. 第3の実施形態に係るハイパーバイザの動作を示すフローチャートである。It is a flowchart which shows operation|movement of the hypervisor which concerns on 3rd Embodiment. 仮想化システムの基本構成を示す概略ブロック図である。It is a schematic block diagram showing a basic configuration 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 in a wired or wireless manner, 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 an 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 press event generation unit 22, a key code conversion unit 23, and a transmission unit 24 by executing the virtual machine connection program.
The event detection unit 21 detects the occurrence of a key event indicating the pressing and releasing of a key on the keyboard 10.
The press event generation unit 22 does not detect the 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 the key event indicating the press of the key. In this case, a key event indicating pressing of the key is generated for each continuous input determination time.
For example, when the same key is pressed for 3 seconds, the press event generating unit 22 generates a press event indicating that the key has been pressed once per second.
The key code conversion unit 23 determines the key code of the key indicated by the key event detected by the event detection unit 21 and the key event generated by the press event generation unit 22 as a key code related to the OS (Operating System) of the terminal device 20. To a key code of a predetermined code system such as a 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 operating in the device itself.
The virtualization server 30 executes the virtual machine management program to manage the transfer destination of the received packet, the hypervisor 32 that manages the virtual machine, and the virtualization unit 33 that executes the virtual machine. Equipped with. The transfer board 31 is an example of a receiving unit that receives a key event indicating a key press and a key release from the terminal device 20.
The hypervisor 32 includes an event acquisition unit 321, a key code conversion unit 322, a separation event generation unit 323, and an output unit 324.
The event acquisition unit 321 acquires the key event transferred from the transfer board 31.
The key code conversion unit 322 converts the key code related to the key event acquired by the event acquisition unit 321 into the 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 the pressing of a key, 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 separation event generation unit 323 to the virtual machine operating in the virtualization unit 33.

上記構成により、仮想化システム1は、キーの離上を示す情報の伝送の遅延となる、パケット遅延による意図しない連続入力の発生を防ぐことができる。 With the above configuration, the virtualization system 1 can prevent unintended continuous input due to packet delay, which is a delay in the transmission of information indicating the release of a key.

次に、本実施形態に係る仮想化システム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 releasing 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 it to the transfer board 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 pressed event generation unit 22 does not generate the key event indicating the lift after the generation of the key event indicating the press. It is determined whether or not there is a key of which the pressing time is the continuous input determination time or more (step S4). Note that the pressing time is the elapsed time from the time when the key event indicating the pressing of the key was last transmitted.
Among the keys that have not been released, if there is a key whose pressing time is equal to or longer than the continuous input determination time (step S4: YES), the pressing event generation unit 22 generates a key event indicating 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 it to the transfer board 31 (step S3).

ステップS3でキーイベントを格納したパケットを送信した場合、または離上されていないキーのうち、押下時間が連続入力判定時間以上となるキーが存在しない場合(ステップS4:NO)、端末装置20は、仮想化サーバ30との接続が切断されたか否かを判定する(ステップS6)。
仮想化サーバ30との接続が切断されていない場合(ステップS6:NO)、端末装置20はステップS1に処理を戻し、再度キーイベントの発生の有無を判定する。他方、仮想化サーバ30との接続が切断された場合(ステップS6:YES)、端末装置20は処理を終了する。
上記処理により、端末装置20は、キーイベントを仮想化サーバ30に送信することができる。
If the packet storing the key event is transmitted in step S3, or if there is no key that has not been lifted and the pressing time is longer than the continuous input determination time (step S4: NO), the terminal device 20 , It is determined whether or not the connection with the virtualization server 30 has been disconnected (step S6).
When the connection with the virtualization server 30 is not disconnected (step S6: NO), the terminal device 20 returns the process to step S1 and determines again 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 the 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 board 31 of the virtualization server 30 receives the packet. Next, the transfer board 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 board 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). When the key event indicates that the key is pressed (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 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 separation 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 the key event indicating the release of the key has already been output to the virtualization unit 33 in step S105.

このように、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントが検出された場合に、当該キーイベントと共に、キーの離上を示すキーイベントを仮想マシンに出力する。
これにより、キーイベントを格納するパケットの伝送遅延の有無に関わらず、仮想マシンには、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが入力されるため、仮想化システム1は、意図しない連続入力の発生を防ぐことができる。
In this way, the virtualization system 1 according to the present embodiment, when a key event indicating the pressing of a key is detected, outputs the key event indicating the release of the key 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 press of the key regardless of the transmission delay of the packet storing the key event. The system 1 can prevent unintended continuous input from occurring.

また、本実施形態に係る仮想化システム1においては、キーの離上を示すキーイベントを仮想マシンを動作させる仮想化サーバ30が生成する。これにより、キーの離上を確実に仮想マシンに伝達することができる。
なお、他の実施形態においてはこれに限られず、端末装置20が離上イベント生成部323を備えても良い。
In addition, in the virtualization system 1 according to the present embodiment, the virtualization server 30 that operates the virtual machine generates a key event indicating a key release. With this, it is possible to reliably transmit the release of the key to the virtual machine.
Note that, in other embodiments, the present invention is not limited to this, and the terminal device 20 may include the separation event generation unit 323.

また、本実施形態において、押下イベント生成部22は、連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する。これにより、同一のキーの押下を示すキーイベントと当該キーの離上を示すキーイベントが、連続入力判定時間ごとに、仮想マシンを実行する仮想化部33に入力される。
したがって、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが仮想マシンに入力されるにも関わらず、キーの長押しによる連続入力を実現することができる。例えば、本実施形態に係る仮想化システム1によれば、方向キーやデリートキーの連続入力が可能となる。
なお、本実施形態では、端末装置20が押下イベント生成部22を備えるが、これに限られない。例えば、他の実施形態においては、仮想化サーバ30が押下イベント生成部22を備えても良い。また、連続入力の必要性が無い場合、他の実施形態に係る仮想化システム1では、押下イベント生成部22を備えなくても良い。
In addition, in the present embodiment, when there is a key that is not lifted during the continuous input determination time, the press event generation unit 22 outputs a key event indicating that the key is pressed each time the continuous input determination time elapses. To generate. As a result, the key event indicating the pressing of the same key and the 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 press of the key, but the key is continuously pressed by the long press of the key. Input can be realized. For example, according to the virtualization system 1 according to the present embodiment, it is possible to continuously input a direction key and a delete key.
Although the terminal device 20 includes the press event generation unit 22 in the present embodiment, the present invention is not limited to this. For example, in another embodiment, the virtualization server 30 may include the press event generation unit 22. Further, 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 in which the key code related to the OS of the device itself is converted into the key code related to the predetermined system. The virtualization server 30 also converts the key code related to the received key event into a key code related to the OS of the virtual machine.
With this, even when the key map is different between the terminal device 20 and the virtual machine, it is possible to prevent a difference in the 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.
A key provided on the keyboard 10 may include a meta key that requires simultaneous pressing with other keys (hereinafter, referred to as normal keys). Examples of the meta key include a shift key and a control key.
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 press is detected, and when the key event indicating the release is detected. , 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 pressing and releasing of the 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 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 board 31 of the virtualization server 30 receives the packet. Next, the transfer board 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 board 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 pressing of a key (step S203). When the key event indicates that the key has been pressed (step S203: YES), the pressed key management unit 325 stores the key code related to the key event in the internal memory (step S204). As a result, the pressed key management unit 325 can identify that the key associated with the key code is pressed in 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 the key code indicating the 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 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 separation event generation unit 323 to the virtualization unit 33 (step S207), and ends the processing.

他方、メタキーが押下されている場合(ステップ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 that the meta key determined to be pressed is 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 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 separation event generation unit 323 to the virtualization unit 33 (step S210).
Next, the release event generation unit 323 generates a key event indicating the key release indicated by the key event generated by the meta key event generation unit 326. Then, the output unit 324 outputs the key event (release of the meta key) generated by the separation event generation unit 323 to the virtualization unit 33 (step S211), and ends the processing.

他方、ステップ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 determines that 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 identify that the key associated with the key code is not pressed in the terminal device 20 by referring to the internal memory.

このように、本実施形態に係る仮想化システム1は、メタキーが押下されているときに他のキーの押下が検出された場合に、メタキーの押下を示すキーイベント、検出されたキーの押下を示すキーイベント、およびこれらのキーの離上を示すキーイベントを、仮想マシンに出力する。
これにより、本実施形態に係る仮想化システム1は、キーの押下を示すキーイベントの直後に当該キーの離上を示すキーイベントが仮想マシンに入力されるにも関わらず、メタキーと通常キーの同時押しを実現することができる。
As described above, in the virtualization system 1 according to the present embodiment, when the pressing of another key is detected while the meta key is pressed, the key event indicating the pressing of the meta key and the detected pressing of the key are performed. The key event indicating the key event 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 output even though the key event indicating the release of the key is input to the virtual machine immediately after the key event indicating the press of the key. Simultaneous pressing can be realized.

《第3の実施形態》
次に、第3の実施形態について説明する。第3の実施形態は、第2の実施形態と同様に、メタキーと通常キーの同時押しが生じる場合にも、同一のキーが利用者の意図に反して連続入力されることを防ぐ。
第3の実施形態に係る仮想化システム1は、図1に示す第1の実施形態と同様の構成を有する。
<<Third Embodiment>>
Next, a third embodiment will be described. Similar to 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 the first embodiment shown in FIG.

第3の実施形態に係る仮想化システム1の動作について説明する。なお端末装置20の動作は、第1の実施形態と同じである。
図6は、第3の実施形態に係るハイパーバイザの動作を示すフローチャートである。
端末装置20が仮想化サーバ30にキーイベントを格納したパケットを送信すると、仮想化サーバ30の転送基盤31は当該パケットを受信する。次に、転送基盤31は、当該パケットをハイパーバイザ32へ転送する。
The 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 in the first embodiment.
FIG. 6 is a flowchart showing 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 board 31 of the virtualization server 30 receives the packet. Next, the transfer board 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 board 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 pressing of a key (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 release event generation unit 323 determines whether 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 separation event generation unit 323 to the virtualization unit 33 (step S306), and ends the processing.
On the other hand, when the key code related to the key event indicates the meta key (step S305: YES), the separation event generation unit 323 does not generate the key event indicating the separation of the meta key.
As a result, in the virtual machine executed by the virtualization unit 33, the meta key is in a continuously pressed state.

ステップS302でキーコード変換部322によって変換されたキーイベントがキーの離上を示す場合(ステップS303:NO)、出力部324は、当該キーイベントに係るキーコードがメタキーを示すか否かを判定する(ステップS307)。キーイベントに係るキーコードが通常キーを示す場合(ステップS307:NO)、出力部324は当該キーイベントを仮想化部33に出力せずに処理を終了する。
他方、キーイベントに係るキーコードがメタキーを示す場合(ステップS307:YES)、出力部324は、キーコード変換部322が変換したキーイベント(メタキーの離上)を仮想化部33に出力し(ステップS308)、処理を終了する。これにより、仮想化部33が実行する仮想マシンにおいて当該メタキーの押下の継続が終了する。
If 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 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 the meta key (step S307: YES), the output unit 324 outputs the key event (movement of the meta key) converted by the key code conversion unit 322 to the virtualization unit 33 ( In step S308), the process ends. As a result, the continuation of the pressing of the meta key in the virtual machine executed by the virtualization unit 33 ends.

このように、本実施形態に係る離上イベント生成部323は、メタキーの離上を示すキーイベントを生成せず、出力部324が、イベント検出部21が検出したメタキーの離上を示すキーイベントを仮想マシンに出力する。これにより、仮想マシンにおけるメタキーの押下および離上のタイミングは、端末装置20におけるメタキーの押下および離上のタイミングに沿ったものとなる。これにより、メタキーの押下から離上までの間に入力された通常キーの押下は、仮想マシンにおいてメタキーと同時に押下されたものとして扱われる。
なお、パケットの伝送遅延によりメタキーの離上のタイミングが遅れる可能性があるが、メタキーの離上と通常キーの押下の順序が正しければ、伝送遅延が生じたとしても仮想マシンにおいて意図しない連続入力が生じない。
As described above, the separation event generation unit 323 according to the present embodiment does not generate the key event indicating the separation of the meta key, and the output unit 324 displays the key event indicating the separation of the meta key 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. Thus, the depression of the normal key input from the depression of the meta key to the release is treated as the depression of the meta key at the same time in the virtual machine.
Note that there is a possibility that the timing of releasing the meta key will be delayed due to the packet transmission delay. Does not occur.

以上、図面を参照して複数の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述した第1の実施形態に係る出力部324は、キーイベントが離上を示す場合に当該キーイベントを仮想化部33に出力しないが(図3の「ステップS103:NO」参照)、これに限られない。
例えば、他の実施形態に係る出力部324は、キーイベントが押下を示すか離上を示すかに関わらず、キーコード変換部322が変換したキーイベントを仮想化部33に出力しても良い。この場合は、押下されていないキー、すなわち既に離上されたキーの離上を示すキーイベントを仮想マシンが無視する。
Although a plurality of embodiments have been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design changes and the like can be made.
For example, although the output unit 324 according to the above-described first embodiment does not output the key event to the virtualization unit 33 when the key event indicates separation (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 releasing. .. 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 shown in FIGS. 1 and 4 is described as one embodiment of the virtualization system 1, but the basic configuration of the virtualization system 1 is as shown in FIG. 7.
That is, the virtualization system 1 has the event detection unit 21, the separation event generation unit 323, and the output unit 324 as a basic configuration.

イベント検出部21は、端末装置におけるキーの押下および離上を示すキーイベントの発生を検出する。
離上イベント生成部323は、キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する。
出力部324は、イベント検出部21が検出したキーの押下を示すキーイベントおよび離上イベント生成部323が生成したキーの離上を示すキーイベントを、仮想マシンに出力する。
これにより、仮想化システム1は、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。
The event detection unit 21 detects the occurrence of a key event indicating the pressing and releasing of a key on the terminal device.
The release event generation unit 323 generates a key event indicating the release of the key when a key event indicating the pressing of the key occurs.
The output unit 324 outputs, to the virtual machine, a key event indicating the pressing of the key detected by the event detection unit 21 and a key event indicating the key separation generated by the separation event generation unit 323.
As a result, the virtualization system 1 can prevent the same key from being continuously input against the user's intention in the virtual machine due to the delay in the transmission of the 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 showing the 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 above-described terminal device 20 and virtualization server 30 are installed in the computer 90, respectively. 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 above program from the auxiliary storage device 93, expands it in the main storage device 92, and executes the above processing according to the program. Further, the CPU 91 reserves a storage area corresponding to each of the above-mentioned memories in the main storage device 92 according to the program.

なお、少なくとも1つの実施形態において、補助記憶装置93は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース94を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。
また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムを主記憶装置92に展開し、上記処理を実行しても良い。
Note that in at least one embodiment, the auxiliary storage device 93 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, semiconductor memories, etc. connected via the interface 94.
Further, when this program is distributed to the computer 90 via a communication line, the computer 90 to which the program is distributed may expand the program in the main storage device 92 and execute the above processing.

また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、当該プログラムは、前述した機能を補助記憶装置93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Further, the program may be a program for realizing some of the functions described above.
Further, the program may be a so-called difference file (difference program) that realizes the above-mentioned function in combination with another program already stored in the auxiliary storage device 93.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 The whole or part of the exemplary embodiments disclosed above can be described as, but not limited to, the following supplementary notes.

(付記1)
端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
キーの押下を示すキーイベントが発生したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部と
を備えるキー制御システム。
(Appendix 1)
An event detection unit that detects the occurrence of a key event indicating the pressing and releasing of a key in the terminal device,
When a key event indicating the pressing of a key occurs, a release event generating unit that generates a key event indicating the lifting of the key, and the key event indicating the pressing of the key detected by the event detection unit and the lifting 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 lifted up during a predetermined continuous input determination time, a pressing event generation unit that generates a key event indicating pressing of the key is provided each time the continuous input determination time elapses.
The output unit outputs the key event indicating a 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 release event generation unit to the virtual machine. The key control system according to appendix 1.

(付記3)
メタキーが押下されているときに前記イベント検出部が他のキーの押下を検出した場合に、前記出力部が、前記メタキーの押下を示すキーイベント、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記離上イベント生成部が生成した前記キーイベント、および前記メタキーの離上を示すキーイベントを、前記仮想マシンに出力する
付記1または付記2に記載のキー制御システム。
(Appendix 3)
When the event detecting unit detects pressing of another key while the meta key is pressed, the output unit indicates a key event indicating pressing of the meta key, and pressing of a key detected by the event detecting unit. The key control system according to supplementary note 1 or supplementary note 2, wherein the key event, the key event generated by the separation event generation unit, and the key event indicating separation of the meta key are output to the virtual machine.

(付記4)
前記離上イベント生成部が生成するキーイベントが、メタキー以外のキーの離上を示すキーイベントであり、
前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記イベント検出部が検出したメタキーの離上を示す前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
付記1または付記2に記載のキー制御システム。
(Appendix 4)
The key event generated by the separation event generation unit is a key event indicating separation of a key other than a meta key,
The output unit includes the key event indicating the pressing of the key detected by the event detection unit, the key event indicating the separation of the meta key detected by the event detection unit, and the key generated by the separation event generation unit. The key control system according to supplementary note 1 or supplementary note 2, which outputs an event 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 appendices 1 to 4, wherein the output unit outputs the key event, the key code of which is 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 appendices 1 to 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 the pressing and releasing of a key in the terminal device,
When a key event indicating the pressing of a key occurs, a step of generating a key event indicating the release of the key,
Outputting the detected key event indicating the pressing of the key and the generated key event to a virtual machine.

(付記8)
仮想マシンを動作させる仮想化部と、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部と
を備える仮想化サーバ。
(Appendix 8)
A virtualization module that runs a virtual machine,
A receiving unit that receives a key event indicating a key press and a key release from the terminal device,
When a key event indicating a key press is received, a release event generation unit that generates a key event indicating the release of the key,
An output unit configured to output the key event indicating the key press received by the reception unit and the key event generated by the release event generation unit to the virtual machine.

(付記9)
仮想マシンを動作させるステップと、
端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成するステップと、
前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップと
を備えるキー制御方法。
(Appendix 9)
Running virtual machines,
Receiving a key event indicating a key press and a key release from the terminal device,
Generating a key event indicating the release of the key when a key event indicating the pressing of the key is received,
Outputting the received key event indicating the pressing of the key and the generated key event to the virtual machine.

(付記10)
コンピュータを、
仮想マシンを動作させる仮想化部、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、
キーの押下を示すキーイベントを受信したときに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部
として機能させるためのプログラム。
(Appendix 10)
Computer,
A virtualization module that runs virtual machines,
A receiving unit that receives a key event indicating a key press and a key release from the terminal device,
When a key event indicating a key press is received, a release event generation unit that generates a key event indicating the release of the key,
A program for causing the key event received by the receiving unit and indicating the key press and the key event generated by the release event generating unit to output to the virtual machine.

(付記11)
キーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部と、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記押下イベント生成部が生成した前記キーイベントを仮想マシンに送信する送信部と
を備える端末装置。
(Appendix 11)
An event detection unit that detects the occurrence of a key event indicating the pressing and releasing of a key,
When there is a key that is not lifted up within a predetermined continuous input determination time, a press event generation unit that generates a key event indicating pressing of the key each time the continuous input determination time has elapsed,
A terminal device, comprising: the key event indicating the key press detected by the event detection unit and the 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 the pressing and releasing of a key,
When there is a key that is not lifted up within a predetermined continuous input determination time, each time the continuous input determination time has elapsed, a step of generating a key event indicating pressing of the key,
And a step of transmitting the 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 detection unit that detects the occurrence of a key event indicating the pressing and releasing of a key,
When there is a key that is not lifted up within a predetermined continuous input determination time, a press event generation unit that generates a key event indicating pressing of the key each time the continuous input determination time has elapsed,
A program for causing the key event indicating the key press detected by the event detection unit and the key event generated by the press event generation unit to function as a transmission unit that transmits to the virtual machine.

この出願は、2015年5月25日に出願された日本出願特願2015−105304号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2015-105304 for which it applied on May 25, 2015, and takes in those the indications of all here.

本発明によれば、キーの離上を示す情報の伝送の遅延によって、仮想マシンにおいて、同一のキーが利用者の意図に反して連続入力されることを防ぐことができる。
According to the present invention, it is possible to prevent the same key from being continuously input against the intention of the user in the virtual machine due to the delay in the transmission of the information indicating the release of the key.

1 仮想化システム
20 端末装置
21 イベント検出部
22 押下イベント生成部
23 キーコード変換部
24 送信部
30 仮想化サーバ
31 転送基盤
32 ハイパーバイザ
33 仮想化部
321 イベント取得部
322 キーコード変換部
323 離上イベント生成部
324 出力部
1 virtualization system 20 terminal device 21 event detection unit 22 pressed event generation unit 23 key code conversion unit 24 transmission unit 30 virtualization server 31 transfer infrastructure 32 hypervisor 33 virtualization unit 321 event acquisition unit 322 key code conversion unit 323 separation Event generation unit 324 Output unit

Claims (10)

端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するイベント検出部と、
キーの押下を示すキーイベントが発生するたびに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
前記イベント検出部が検出したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを仮想マシンに出力する出力部と
を備えるキー制御システム。
An event detection unit that detects the occurrence of a key event indicating the pressing and releasing of a key in the terminal device,
Each time a key event indicating a key press occurs, a release event generation unit that generates a key event indicating the release of the key,
A key control system comprising: an output unit that outputs to the virtual machine the key event indicating the key press detected by the event detection unit and the key event generated by the release event generation unit.
所定の連続入力判定時間の間に離上されないキーが存在する場合に、当該連続入力判定時間が経過するたびに、当該キーの押下を示すキーイベントを生成する押下イベント生成部をさらに備え、
前記離上イベント生成部が、前記押下イベント生成部が生成した前記キーイベントが発生するたびに、当該キーの離上を示すキーイベントを生成し、
前記出力部が、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記押下イベント生成部が生成した前記キーイベント、および前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する
請求項1に記載のキー制御システム。
When there is a key that is not lifted up during a predetermined continuous input determination time, a pressing event generation unit that generates a key event indicating pressing of the key is provided each time the continuous input determination time elapses.
The release event generation unit generates a key event indicating the release of the key every time the key event generated by the press event generation unit occurs,
The output unit outputs the key event indicating a 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 release event generation unit to the virtual machine. The key control system according to claim 1.
メタキーが押下されているときに前記イベント検出部が他のキーの押下を検出した場合に、前記出力部が、前記メタキーの押下を示すキーイベント、前記イベント検出部が検出したキーの押下を示す前記キーイベント、前記離上イベント生成部が生成した前記キーイベント、および前記メタキーの離上を示すキーイベントを、前記仮想マシンに出力する 請求項1または請求項2に記載のキー制御システム。 When the event detecting unit detects pressing of another key while the meta key is pressed, the output unit indicates a key event indicating pressing of the meta key, and pressing of a key detected by the event detecting unit. The key control system according to claim 1, wherein the key event, the key event generated by the separation event generation unit, and the key event indicating separation of the meta key are output to the virtual machine. 前記イベント検出部が、メタキーの押下および離上を示すキーイベント、ならびにメタキー以外のキーの押下および離上の発生を検出し、
前記離上イベント生成部が、前記メタキー以外のキーの押下を示すキーイベントが発生するたびに、前記メタキー以外のキーの離上を示すキーイベントを生成し
前記イベント検出部で検出されたキーイベントが前記メタキーの押下を示す場合に、前記出力部が、前記イベント検出部で検出されたメタキーの押下を示す前記キーイベントを前記仮想マシンに出力し、
前記イベント検出部で検出されたキーイベントが前記メタキーの離上を示す場合に、前記出力部が、前記イベント検出部が検出したメタキーの離上を示す前記キーイベントを前記仮想マシンに出力し
前記イベント検出部で検出されたキーイベントがメタキー以外のキーの押下を示す場合に、前記イベント検出部で検出されたメタキー以外のキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成したメタキー以外のキーの離上を示す前記キーイベントを前記仮想マシンに出力する
請求項1または請求項2に記載のキー制御システム。
The event detection unit detects a key event indicating pressing and releasing of a meta key, and occurrence of pressing and releasing of a key other than the meta key,
The Hanareue event generation unit, each time the key event showing pressing of a key other than the meta key is generated, and generates a key event indicating Hanareue keys except the meta key,
When the key event detected by the event detection unit indicates pressing of the meta key, the output unit outputs the key event indicating pressing of the meta key detected by the event detecting unit to the virtual machine,
When the key event detected by the event detection unit indicates the separation of the meta key, the output unit outputs the key event indicating the separation of the meta key detected by the event detection unit to the virtual machine ,
When the key event detected by the event detecting unit indicates pressing of a key other than the meta key, the key event indicating the pressing of a key other than the meta key detected by the event detecting unit and the release event generating unit are generated. The key control system according to claim 1, wherein the key event indicating the release of a key other than the meta key is output to the virtual machine.
キーイベントに係るキーコードを、仮想マシンで用いられるキーコードに変換するキーコード変換部を備え、
前記出力部が、前記キーコード変換部によってキーコードが変換されたキーイベントを、前記仮想マシンに出力する
請求項1から請求項4の何れかに記載のキー制御システム。
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 claims 1 to 4, wherein the output unit outputs, to the virtual machine, a key event whose key code has been converted by the key code conversion unit.
前記イベント検出部が、前記端末装置に備えられ、
前記出力部が、前記仮想マシンを動作させる仮想化サーバに備えられる
請求項1から請求項5の何れかに記載のキー制御システム。
The event detection unit is provided in the terminal device,
The key control system according to claim 1, wherein the output unit is provided in a virtualization server that operates the virtual machine.
端末装置におけるキーの押下および離上を示すキーイベントの発生を検出するステップと、
キーの押下を示すキーイベントが発生するたびに、当該キーの離上を示すキーイベントを生成するステップと、
前記検出したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを仮想マシンに出力するステップと
を有するキー制御方法。
Detecting the occurrence of a key event indicating the pressing and releasing of a key in the terminal device,
Each time a key event indicating a key press occurs, a step of generating a key event indicating the release of the key,
Outputting the detected key event indicating the pressing of the key and the generated key event to a virtual machine.
仮想マシンを動作させる仮想化部と、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部と、
キーの押下を示すキーイベントを受信するたびに、当該キーの離上を示すキーイベントを生成する離上イベント生成部と、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部と
を備える仮想化サーバ。
A virtualization module that runs a virtual machine,
A receiving unit that receives a key event indicating a key press and a key release from the terminal device,
Whenever a key event indicating a key press is received, a release event generation unit that generates a key event indicating the release of the key,
An output unit configured to output the key event indicating the key press received by the reception unit and the key event generated by the release event generation unit to the virtual machine.
仮想マシンを動作させるステップと、
端末装置から、キーの押下および離上を示すキーイベントを受信するステップと、
キーの押下を示すキーイベントを受信するたびに、当該キーの離上を示すキーイベントを生成するステップと、
前記受信したキーの押下を示す前記キーイベントおよび前記生成した前記キーイベントを前記仮想マシンに出力するステップと
を備えるキー制御方法。
Running virtual machines,
Receiving a key event indicating a key press and a key release from the terminal device,
Each time a key event indicating a key press is received, a step of generating a key event indicating the release of the key,
Outputting the received key event indicating the pressing of the key and the generated key event to the virtual machine.
コンピュータを、
仮想マシンを動作させる仮想化部、
端末装置から、キーの押下および離上を示すキーイベントを受信する受信部、
キーの押下を示すキーイベントを受信するたびに、当該キーの離上を示すキーイベントを生成する離上イベント生成部、
前記受信部が受信したキーの押下を示す前記キーイベントおよび前記離上イベント生成部が生成した前記キーイベントを前記仮想マシンに出力する出力部
として機能させるためのプログラム。
Computer,
A virtualization module that runs virtual machines,
A receiving unit that receives a key event indicating a key press and a key release from the terminal device,
Each time a key event indicating a key press is received, a release event generation unit that generates a key event indicating the release of the key,
A program for causing the key event received by the receiving unit and indicating the key press and the key event generated by the release event generating unit to output to the virtual machine.
JP2017520587A 2015-05-25 2016-05-02 Key control system, virtualization server, key control method, program Active JP6750618B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015105304 2015-05-25
JP2015105304 2015-05-25
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

Publications (2)

Publication Number Publication Date
JPWO2016190054A1 JPWO2016190054A1 (en) 2018-03-15
JP6750618B2 true JP6750618B2 (en) 2020-09-02

Family

ID=57392761

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (1)

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

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3074770B2 (en) * 1990-04-17 2000-08-07 セイコーエプソン株式会社 Information processing device
JP3461458B2 (en) * 1999-03-08 2003-10-27 シャープ株式会社 Wireless input device
EP2418578A1 (en) * 2009-03-25 2012-02-15 Hitachi, Ltd. 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

Also Published As

Publication number Publication date
JPWO2016190054A1 (en) 2018-03-15
KR20170137894A (en) 2017-12-13
WO2016190054A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
JP5822125B2 (en) Service cooperation apparatus, service cooperation method, and service cooperation program
JP7281045B2 (en) Error resolution information providing system, error resolution information providing device and electronic device
KR101426575B1 (en) Distributed Processing System and Method
JP2017162257A (en) Load monitoring program, load monitoring method, information processing apparatus, and information processing system
JP6750618B2 (en) Key control system, virtualization server, key control method, program
US20180329657A1 (en) Communication apparatus, control method, and non-transitory computer-readable storage medium
WO2014087654A1 (en) Data transmission device, data transmission method, and storage medium
JP2016040893A (en) Information processing system, image forming apparatus, control method, and computer program
JP2015064636A (en) Information processing system, distribution processing method, and program
US11838207B2 (en) Systems for session-based routing
CN110716982A (en) Block chain real-time storage method and device, computer equipment and storage medium
JP2010165105A (en) Communication equipment and control program for the same
US20150277858A1 (en) Performance evaluation device, method, and medium for information system
WO2009104720A1 (en) Resource usage control system, method of controlling resource usage, program for controlling resource usage
JPWO2014132437A1 (en) COMMUNICATION DEVICE, CONTROL DEVICE, AND PROGRAM
JP6330277B2 (en) TRANSMISSION DEVICE, TRANSMISSION METHOD, TRANSMISSION PROGRAM, AND RELAY SYSTEM
US8688767B2 (en) Distributed processing system, distributed operation method and computer program
JP5082147B2 (en) Multi-node system, inter-node switch, and data relay method
JP2009116382A (en) Distributed system and computer having distributed system
JP6834716B2 (en) Print management program, print management method, print management device and print management system
JP2009015561A (en) Server, key information conversion method, program, and system
JP6497061B2 (en) Information processing apparatus and program
JP7097256B2 (en) Information processing system, host device, and information processing device
JP5866101B2 (en) Relay device, relay method, and program
JP2012103952A (en) Memory dump method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200727

R150 Certificate of patent or registration of utility model

Ref document number: 6750618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150