JP2010097567A - デバイス接続制御方法 - Google Patents

デバイス接続制御方法 Download PDF

Info

Publication number
JP2010097567A
JP2010097567A JP2008270132A JP2008270132A JP2010097567A JP 2010097567 A JP2010097567 A JP 2010097567A JP 2008270132 A JP2008270132 A JP 2008270132A JP 2008270132 A JP2008270132 A JP 2008270132A JP 2010097567 A JP2010097567 A JP 2010097567A
Authority
JP
Japan
Prior art keywords
virtual machine
display device
authentication
machine monitor
human interface
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.)
Pending
Application number
JP2008270132A
Other languages
English (en)
Inventor
Masaya Umemura
雅也 梅村
Makoto Kayashima
信 萱島
Takatoshi Kato
崇利 加藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008270132A priority Critical patent/JP2010097567A/ja
Publication of JP2010097567A publication Critical patent/JP2010097567A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】仮想マシン実行環境で動作中の仮想マシンに対し、仮想マシン実行環境に接続された複数のヒューマンインターフェースデバイスから適切なものを対応付け、前記ヒューマンインターフェースデバイスを対応付けた仮想マシンを適切な表示装置に対応付ける技術を提供する。
【解決手段】複数のヒューマンインターフェースデバイス50、51および表示装置40、41が接続された仮想マシン実行環境100における仮想マシンモニタ10が、所定のインターフェース45を介して利用者の認証情報の入力を受け付け、この認証情報と予め記憶手段に格納している認証用情報とを照合して前記利用者の認証を実行し、当該認証に成功すると仮想マシン200を起動する処理と、前記利用者が前記認証情報の入力に用いたヒューマンインタフェースデバイス50、51および表示装置40、41の情報と、前記表示装置40、41が接続された旨の情報を、前記起動した仮想マシン200に通知する処理と、を実行する。
【選択図】図1

Description

本発明は、デバイス接続制御方法に関するものであり、具体的には、仮想マシン実行環境で動作中の仮想マシンの画面を遠隔の利用者の表示装置に表示する為の関連付け手法に関する。
仮想マシンモニタは、仮想マシンモニタ上の複数の仮想マシンの画面を、仮想マシン毎に1枚のウィンドウを割り当て、仮想マシンモニタのデスクトップウィンドウに並べて表示していた。例えば、従来提案されているグラフィックサブシステムを仮想化する技術では、仮想マシンモニタが管理するグラフィックハードウェアを、仮想マシンモニタ上の複数の仮想マシンで共用させ、前記仮想マシンが並行して画面を描画している(特許文献1参照)。この場合、前記仮想マシンが描画した画面は、仮想マシンごとに1つのウィンドウとして、仮想マシンモニタが管理する表示装置に表示された仮想マシンモニタのデスクトップウィンドウに並べて表示する。
また、USBメモリやCD−ROMドライブ、プリンタやスキャナといったUSBデバイスを接続すると仮想マシンモニタがプラグアンドプレイし、これらUSBデバイスを占有する。仮想マシンモニタが占有したUSBデバイスについて、例えばUSBメモリの場合、仮想マシンモニタが仮想マシンにファイル共有を許可する事で仮想マシンから利用できた。また、プリンタの場合、仮想マシンモニタがプリンタスプールを公開しこのプリンタスプールのキューに仮想マシンから印刷ジョブを積む事で、仮想マシンからの印刷がなされていた。
特開2006−190281号公報
従来、仮想マシン実行環境で動作中の仮想マシンの画面は、仮想マシン実行環境の仮想マシンモニタのデスクトップウィンドウに、仮想マシン毎に1枚のウィンドウとして表示し、アクティブなウィンドウでのキーボードやマウスの入力を仮想マシンに入力し、ユーザ操作を受け付けていた。仮想マシン実行環境に仮想マシンの数だけキーボードとマウスを接続しても、何れのキーボードやマウスからの入力はアクティブなウィンドウすなわち一つの仮想マシンにしか入力されない。従って、複数の利用者が各々の仮想マシンに対し、各利用者のキーボードやマウスから同時に入力し操作を行うことはできない。
つまり、仮想マシン実行環境に仮想マシンの数だけキーボードとマウスと表示装置を接続し、前記表示装置に仮想マシンのウィンドウを最大表示しても、アクティブなウィンドウは1枚なので各仮想マシンの利用者が表示装置の前のキーボードやマウスから各人の仮想マシンに同時に入力したり操作できなかった。
同様にUSBデバイスの場合、USBデバイスをPCに直接接続し、このPCに占有させ排他的に利用させる従来の使い方は、仮想マシン実行環境上の仮想マシンでは実現できなかった。
そこで本発明は上記課題を鑑みてなされたものであり、仮想マシン実行環境で動作中の仮想マシンに対し、仮想マシン実行環境に接続された複数のヒューマンインターフェースデバイス(キーボードやマウスなど)から適切なヒューマンインターフェースデバイスを対応付ける技術、並びに、ヒューマンインターフェースデバイスを対応付けた仮想マシンを適切な表示装置に対応付ける技術の提供を目的とする。
また、USBデバイスについて仮想マシンがプラグアンドプレイして占有し、独占利用する技術、前記仮想マシンがシャットダウンしてUSBデバイスを占有していない状態でも、前記USBデバイスの状態を監視し把握する技術の提供を目的とする。
上記課題を解決する本発明のデバイス接続制御方法は、複数のヒューマンインターフェースデバイスおよび表示装置が接続された仮想マシン実行環境における仮想マシンモニタが、所定のインターフェースを介して利用者の認証情報の入力を受け付け、この認証情報と予め記憶手段に格納している認証用情報とを照合して前記利用者の認証を実行し、当該認証に成功すると仮想マシンを起動する処理と、前記利用者が前記認証情報の入力に用いたヒューマンインタフェースデバイスおよび表示装置の情報と、前記表示装置が接続された旨の情報を、前記起動した仮想マシンに通知する処理とを実行することを特徴とする。
なお、前記仮想マシンは、計算機(=仮想マシン)を構成するハードウェアを、実際に物理的なハードウェアを具備する計算機がソフトウェア的にエミュレートして作り出した計算機となる。計算機はその処理能力に応じて複数台の仮想計算機を提供できる。なお、前記仮想マシンは仮想化ソフトウェアにより生成される。こうした仮想化ソフトウェアは、仮想マシンモニタ(VMM:Virtual Machine Monitor)とも呼ばれるソフトウェアである。通常、単一のコンピュータを複数のコンピュータであるかのように分割して使うためのものである。前記仮想マシンは、例えば、前記仮想マシンモニタもしくは仮想マシン実行環境が管理サーバとしてシンクライアント接続したクライアントから遠隔操作されるコンピュータとなる。
また、前記デバイス接続制御方法において、前記仮想マシンモニタもしくは仮想マシンが、前記複数のヒューマンインタフェースデバイスないし前記複数の表示装置を、該当ヒューマンインターフェースデバイスないし表示装置に対応するクラスドライバまたは個々のデバイスドライバで制御するとしてもよい。
また、前記デバイス接続制御方法において、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置がUSBデバイスであり、USBインターフェースを備える中継装置に接続されているとしてもよい。
この場合、前記中継装置が、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置と前記仮想マシンモニタもしくは仮想マシンとの間に生じるUSBバスプロトコルでの通信データを、IPプロトコルでカプセル化してIPパケットに変換し、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置と前記仮想マシンモニタもしくは仮想マシンとの間で前記IPパケットの通信を仲介する。
また、前記仮想マシンモニタもしくは仮想マシンが、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置と前記中継装置を介してUSBバスプロトコルで通信し、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置の制御を実行する。
また、前記デバイス接続制御方法において、前記仮想マシンモニタもしくは仮想マシンが、前記ヒューマンインタフェースデバイスまたは前記中継装置と通信し、前記ヒューマンインターフェースデバイスまたは前記中継装置における特定の入力インターフェースでの入力事象のデータを受け付けて、前記複数の表示装置に、前記利用者の認証情報の入力を受け付ける認証ダイアログの画面データを送信する処理を実行する、としてもよい。
例えば、前記ヒューマンインターフェースデバイスまたは前記中継装置が具備する入力装置にホットキーを用意しておき、このホットキーが利用者から押下されると、仮想マシンモニタがこれを感知し、仮想マシンの起動やログイン、ログオンの為の認証ダイアログの画面データを表示装置に送って表示させるのである。
また、前記デバイス接続制御方法において、前記仮想マシンモニタもしくは仮想マシンが、前記中継装置に接続された前記複数のヒューマンインターフェースデバイスおよび前記複数の表示装置の情報を記憶手段に格納しており、前記複数の表示装置のうちから、前記特定の入力インターフェースでの入力事象がなされたヒューマンインタフェースデバイスまたは中継装置に接続された表示装置を選択し、該当表示装置に対して前記認証ダイアログの画面データを送信する処理を実行する、としてもよい。
また、前記デバイス接続制御方法において、前記表示装置が、IPプロトコルで動画ストリームを受信し、この動画ストリームをデコードし再生するテレビであるとしてもよい。この場合、前記仮想マシンモニタもしくは仮想マシンが、前記テレビと通信し、前記テレビにおける前記動画ストリームの受信と無関係に表示する特定の入力インターフェースでの入力事象のデータを受け付けて、前記テレビに前記認証ダイアログの画面データを送信する処理を実行する。
また、前記デバイス接続制御方法において、前記テレビが、前記動画ストリームの受信と無関係に表示する特定の入力インターフェースと、当該テレビのリモートコントローラの特定ボタンとの対応関係を記憶手段にて記憶しており、前記テレビのリモートコントローラと通信し前記リモートコントローラの特定ボタンの押下事象のデータを受け付けて、この押下事象のデータを前記仮想マシンモニタもしくは仮想マシンに送信するとしてもよい。
この場合、前記仮想マシンモニタもしくは仮想マシンが、前記テレビから前記入力事象のデータを受け付けて、前記テレビに前記認証ダイアログの画面データを送信する処理を実行する。
また、前記デバイス接続制御方法において、前記仮想マシンが、前記動画ストリームの画面描画を実行し、前記仮想マシンまたは前記仮想マシンが動作する仮想マシン実行環境、もしくは仮想マシンモニタが、前記動画ストリームの描画画面のデータをエンコードし、前記テレビに配信するとしてもよい。
また、前記デバイス接続制御方法において、前記仮想マシンモニタが、前記認証ダイアログを介して利用者の認証情報の入力を受け付け、この認証情報と予め記憶手段に格納している認証用情報とを照合して前記利用者の認証を実行し、当該認証に成功すると、前記認証ダイアログを表示していた表示装置と認証情報の入力に用いられたヒューマンインタフェースデバイスとを関連付けた情報を記憶手段に格納する処理と、前記認証に成功した利用者について、記憶手段にて予め対応付けされた仮想マシンを起動する処理とを実行する、としてもよい。
また、前記デバイス接続制御方法において、前記仮想マシンモニタが、起動した前記仮想マシンに対し、前記関連付けを行った前記表示装置と前記ヒューマンインタフェースデバイスとが接続された旨の情報を通知し、前記仮想マシンが、前記表示装置と前記ヒューマンインターフェースデバイスについてプラグアンドプレイを行い、前記表示装置と前記ヒューマンインターフェースデバイスに対応するクラスドライバもしくは個々のデバイスドライバをロードし、前記関連付けを行った前記表示装置と前記ヒューマンインタフェースデバイスを占有する、としてもよい。
こうした仮想マシンモニタは、例えば、認証ダイアログでの認証に成功すると、認証ダイアログに対して利用者アカウントとパスワードを入力したキーボード(ヒューマンインターフェースデバイス)と、この認証ダイアログを表示していた表示装置と、利用者からの操作を受け付けていたマウス(ヒューマンインターフェースデバイス)とを括り付けする。そして、前記キーボード、表示装置、マウスらを仮想マシンに接続してプラグアンドプレイをさせることで仮想マシンに占有させる。以後、仮想マシンモニタは、前記占有を行っている仮想マシンがシャットダウン、休止、スリープ、ログアウトないしログオフするまでの間、前記キーボードとマウスからの入力を、これらに対応付けた仮想マシンに入力し、仮想マシンモニタに接続された他のキーボードとマウスから隔絶する。
なお、上述したようなキーボード、マウス、および表示装置の括り付けの際、仮想マシンモニタは、仮想マシンにUSBハブを介してキーボードやマウス、表示装置がつながっていると、このUSBハブについてもキーボード、マウスおよび表示装置に括りつける。このUSBハブに接続されているUSBメモリやCD−ROMドライブ、プリンタやスキャナ等のUSBデバイスも括りつける。
一方、前記仮想マシンがシャットダウン、休止、スリープ、ログアウトないしログオフすると、仮想マシン実行環境は、前記仮想マシンから表示装置、キーボード、マウス、およびUSBハブらを取り戻し、占有する。
仮想マシンモニタは、仮想マシンが占有していない表示装置とキーボードとマウス、そしてUSBハブやUSBハブにつながるUSBデバイスを占有する間、占有している表示装置とヒューマンインターフェースデバイス、USBデバイスの状態を監視ないし把握する。また表示装置やキーボードとマウス、中継装置へのUSBハブの挿抜や、USBデバイスの挿抜とプラグアンドプレイの成否や、通信が途切れたり、ホットキーが押されたり、どの表示装置やキーボードとマウスで認証を試み、どの仮想マシンに移譲したか等のログを残す。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
本発明によれば、仮想マシン実行環境で動作中の仮想マシンに対し、仮想マシン実行環境に接続された複数のヒューマンインターフェースデバイス(キーボードやマウスなど)から適切なヒューマンインターフェースデバイスを対応付けることが可能となる。また、前記ヒューマンインターフェースデバイスを対応付けた仮想マシンを適切な表示装置に対応付けることが可能となる。また、USBデバイスについて仮想マシンがプラグアンドプレイして占有し、独占利用することが可能となる。また、前記仮想マシンがシャットダウンしてUSBデバイスを占有していない状態でも、前記USBデバイスの状態を監視し把握することが可能となる。
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態におけるデバイス接続制御システム1の構成例1を示す図である。図1に示すデバイス接続制御システム1は、ネットワーク140を介して互いに接続された、ブレードPCなどの情報処理装置100、前記情報処理装置100ないし当該情報処理装置100が提供する仮想マシン実行環境上で稼働する仮想マシン200と接続されるリモートUSBハブ3、を含むものである。
また、前記仮想マシンモニタ10は、仮想マシン200を(仮想的に)構成するハードウェアを、実在する物理的なハードウェア(情報処理装置100のもの)からソフトウェア的にエミュレートし、仮想マシン200を作り出す。この仮想マシンモニタ10は仮想化ソフトウェアとも呼ばれるソフトウェアである。また、前記仮想マシンモニタ10は、TCP/IPのプロトコルスタック111、仮想マシン200に公開している仮想NIC111(ネットワークインタフェースカード)、仮想USBハブ113、USBバスドライバ114を各々仮想マシンモニタ10が管理するプロセスとして実行する。また、前記仮想マシンモニタ10は、管理テーブル16(情報処理装置100の記憶手段から割り当てされた記憶領域に格納)、および認証ダイアログ表示用のVRAM400,401を具備している。
こうした仮想マシンモニタ10は、仮想マシン実行環境たる情報処理装置100上に常駐し、仮想マシン200の起動と利用者の管理、利用者毎のHID(ヒューマンインターフェースデバイス)や表示装置のバインドと、これらHIDや表示装置の仮想マシン200への接続を担う。
一方、仮想マシン実行環境を提供する前記情報処理装置100は、NIC105(ネットワークインタフェースカード)を具備し、前記NIC105でネットワーク140に接続している。このネットワーク140を介して表示装置41が情報処理装置100には接続される。同様に、前記ネットワーク140で前記リモートUSBハブ3を介して表示装置40とHID50、51が情報処理装置100に接続されている。前記HID50、51は、例えば、キーボードやマウスといったヒューマンインタフェースデバイス=HIDを意味する(以下、HIDと記載)。
前記情報処理装置100は、例えば、データセンターなどに設置されたシャーシに挿入されて使用され、利用者の端末に対し仮想マシン200を提供するサーバ装置である。情報処理装置100は、必要な機能を備えるべくHDD(ハードディスクドライブ)101などに格納されたプログラム102をRAM103に読み出し、演算装置たるCPU104により実行する。
また、前記情報処理装置100は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェースやディスプレイなどの出力インターフェースを必要に応じて備えることもできる。また、前記ネットワーク140に接続して前記リモートUSBハブ3らとの間のデータ授受を担うNIC105などを有している。前記情報処理装置100は、前記NIC105により、前記リモートUSBハブ3らと例えばインターネットやLANなどのネットワーク140を介して接続し、データ授受を実行する。
また、情報処理装置100は、他にも、フラッシュROM(Read Only Memory)106と、デスクトップの映像情報を生成するビデオカード330とを有する。
前記フラッシュROM106には、BIOS107(Basic Input/Output System)が記憶されている。前記CPU104は、電源の投入後、先ずフラッシュROM106にアクセスしてBIOS107を実行することにより、情報処理装置100のシステム構成を認識する。
こうした情報処理装置100は、前記HDD101において、OS(Operating System)108と、シンクライアント接続用のリモート操作サーバ、暗号化通信プログラム、セッション管理エージェント等のプログラム(図示せず)を格納している。前記OS108は、CPU104が情報処理装置100の各部を統括的に制御して、必要な機能を実現する各プログラムを実行するためのプログラムである。CPU104は、BIOS107に従い、HDD101からOS108をRAM103にロードして実行する。これにより、CPU104は、情報処理装置100の各部を統括的に制御する。
前記リモート操作サーバのプログラムは、情報処理装置100および仮想マシンモニタ10を介して仮想マシン200のデスクトップを、利用者の端末、リモートUSBハブ3を介したHID等から遠隔操作可能とするためのプログラムであり、例えばAT&Tケンブリッジ研究所で開発されたVNC(Virtual Network Computing)のサーバプログラムである。CPU104は、OS108に従い、HDD101からこのリモート操作サーバをRAM103にロードして実行する。これにより、CPU104は、VPN等のネットワーク140を介してリモートUSBハブ3らから送られてきた入力情報(キーボードおよびマウスの操作内容)を受信し、仮想マシンモニタ10を介して仮想マシン200に転送して処理させると共に、仮想マシン200での処理結果を示す映像情報(ディスプレイのデスクトップ画面)を、VPN等のネットワーク140を介してリモートUSBハブ3や表示装置41らに返す。
また、前記暗号化通信プログラムは、リモートUSBハブ3らとの間にVPN等のネットワーク140を構築するための通信プログラムであり、例えばIPsec(Security Architecture for the Internet Protocol)を用いた通信プログラムである。CPU104は、OS108に従い、HDD101から暗号化通信プログラム371をRAM103にロードして実行する。これにより、CPU104は、NIC105を介してリモートUSBハブ3や表示装置41らから受付けた接続確立要求等に従い、対象装置との間にVPN等のセキュアなネットワーク140を構築し、このVPN等を介して通信を行なう。
また、前記セッション管理エージェントは、仮想マシン200とこれに割り当てされた利用者の端末、リモートUSBハブ3らとのシンクライアント接続におけるセッション状態を管理するエージェントである。例えば、リモートUSBハブ3を介したHID50,51とのシンクライアント接続終了をモニタリングしており、セッション終了時にはその旨を情報処理装置100に通知する。
一方、前記情報処理装置100とネットワーク140を介して接続されるリモートUSBハブ3は、USBプロトコルをIPプロトコルに変換する中継装置となる。このリモートUSBハブ3は、ホットキー30を具備し、当該ホットキー30が利用者らに押下されると、仮想マシン実行環境(を提供する情報処理装置100)に対し、前記ホットキー30が押された旨のイベントを通知する。上記仮想マシン実行環境において、遠隔の利用者はHID50やHID51により、動作中の仮想マシン200を操作し、一方、仮想マシン200の画面は遠隔の利用者の表示装置40や表示装置41に表示される。
他方、前記仮想マシン200は、利用者の用いるHID50、51での入力データをリモートUSBハブ3のリモート操作クライアントを介して通信し、HID50、51らからの遠隔操作を実現するリモート操作サーバのプログラムを備える。
−−−処理例1−−−
以下、本実施形態におけるデバイス接続制御方法の実際手順について、図1、図2に基づき説明する。図2は本実施形態におけるデバイス接続制御方法の処理フロー例1を示す図である。なお、以下で説明するデバイス接続制御方法に対応する各種動作は、例えば、前記デバイス接続制御システム1を構成する各装置らが実行するプログラムによって実現される(勿論、ハードウェアとして実現してもよい)。そしてこのプログラムは、各装置の記憶手段に格納されており、実行に合わせてメモリに読み出され演算装置により実行される。
ここで、仮想マシン実行環境を提供する情報処理装置100(以後、仮想マシン実行環境100)に直接もしくはネットワーク140越しに接続されるUSBデバイスは、仮想マシンモニタ10が管理するプロセスであるUSBバスドライバ114が制御する。ネットワーク140上のUSBデバイスは、TCP/IPのプロトコルスタック111を介して仮想USBハブ113に接続される。また、この仮想USBハブ113を管理、制御しているUSBバスドライバ114が、前記USBデバイスを管理、制御する。
すなわち図1において、HID50,51と、表示装置40,41は、TCP/IPのプロトコルスタック111を介して仮想USBハブ113に接続される。USBバスドライバ114が管理、制御する仮想USBハブ113を介して仮想マシンモニタ10はHID50,51と、表示装置40,41を管理、制御する。
上記において、前記TCP/IPのプロトコルスタック111、仮想NIC112、仮想USBハブ113、およびUSBバスドライバ114は、各々仮想マシンモニタ10が管理するプロセスであるが、仮想マシン実行環境100が管理するプロセスとして実行し、仮想マシンモニタ10がこれらプロセスを制御する構成としてもよい。
また、前記ホットキー30が実装されたリモートUSBハブ3には、表示装置40とHID50,HID51が接続されている。仮想マシン実行環境100はホットキー30が実装されたリモートUSBハブ3と接続状態に有り、仮想マシン実行環境100にUSBのハブが追加される。仮想マシン実行環境100は追加されたUSBハブに表示装置40とHID50,HID51が接続されていると認識し、USBのプラグアンドプレイで、表示装置40とHID50,HID51の各々に適切なドライバをロードし使用可能な状態にしている。
なお、前記表示装置41はIPプロトコルでストリーミング配信された動画を受信し再生するテレビである。仮想マシン実行環境100の仮想マシンモニタ10が、前記VRAM400のデータをエンコードし、この表示装置41に配信している。
こうした状況において、前記リモートUSBハブ3のホットキー30が利用者により押下されたとする。するとこの押下イベントは当該リモートUSBハブ3から仮想マシン実行環境100にhttpプロトコルのリクエストで送られる(s100)。リクエストを受信した仮想マシン実行環境100は、仮想マシンモニタ10に前記リクエストを中継し、前記ホットキー30が押された旨イベントとして通知する(s101)。一方、前記仮想マシンモニタ10は前記イベントの通知を受信し、イベントとして処理する(s102)。
なお、前記リモートUSBハブ3は、前記ホットキー30の押下イベントをhttpプロトコルのリクエストで仮想マシン実行環境100を介して仮想マシン200に通知する他、ホットキー30をリモートUSBハブ3にHIDとして実装する。そして、前記押下リクエストをこのHIDからの入力として仮想マシンモニタ10に通知するのである。ここでのリモートUSBハブ3は、USBハブとHIDのマルチファンクションデバイスであり、本実施形態の仮想マシンモニタ10においてはUSBデバイスとして認識される。
前記リモートUSBハブ3のHID機能(ホットキー30の機能など)には、キーボードやマウス、ジョイスティックとは異なるHIDクラスのIDが割り当てられている。前記HID機能は、割り当てられたIDでHIDデバイスとして振舞う。一方、前記仮想マシンモニタ10は、USBのプラグアンドプレイの際、前記割り当てられたIDに該当するドライバをロードし該当USBデバイスを使用可能な状態にする。
よって、前記仮想マシンモニタ10は、前記ホットキー30での押下イベントをHIDからの入力として扱い、前記割り当てられたIDに基づきホットキー30からのイベントと認識し処理する。
次に、前記仮想マシンモニタ10は、認証ダイアログを表示する為、仮想マシンモニタ用に仮想マシン実行環境の記憶手段101に確保されている記憶領域から、認証ダイアログ描画用のデータを読み出す。そして、例えばVRAM401に認証ダイアログとその背景を描画してエンコードし、前記ネットワーク140およびリモートUSBハブ3を介して表示装置40で表示させる(s103)。こうして、前記ホットキー30の押下に呼応した前記仮想マシンモニタ10は、当該仮想マシンモニタ10に接続され、表示装置識別用の表示装置番号を付与してある表示装置(この場合、表示装置40)に認証ダイアログを表示させる。
仮想マシンモニタ10がこうして認証ダイアログを表示させるのは、後述するステップs105での認証処理の他に、後述するステップs106でのポートバインドの為、該当利用者がどのHIDとどの表示装置を利用したいのか特定することを目的としている。
前記VRAM401に描画した認証ダイアログとその背景のエンコードデータは、前記TCP/IPプロトコルスタック111からIPパケットとしてネットワーク140を介してリモートUSBハブ3に送信され、リモートUSBハブ3が前記IPパケットをUSBプロトコルのパケットに変換を行って、前記表示装置40に配信される。
なお、前記仮想マシンモニタ10は、前記ホットキー30から仮想マシン実行環境100までの経路や過去の利用状況、例えば前記ホットキー30とリモートUSBハブ3に接続されたキーボードと表示装置との組み合わせ履歴(後述する管理テーブル16にて記憶)を参考に、前記ホットキー30が押されたリモートUSBハブ3に接続されている表示装置40を選択し、前記VRAM401に認証ダイアログを描画した。この表示装置の選択処理の詳細については後述する。
他方、前記仮想マシンモニタ10は、前記VRAM400に認証ダイアログの背景のみを描画してエンコードし、前記ネットワーク140およびリモートUSBハブ3を介して表示装置41で表示させる(s104)。
なお、利用されていない状態にある表示装置に対しては、前記仮想マシンモニタ10がこれを監視・検知してビデオ信号の送信を止め、表示装置が具備する節電モードに遷移させるとよい。これにより表示装置の節電や画面焼きつきによる劣化防止を図る。
前記表示装置40の周囲には、当該表示装置40がUSB接続しているリモートUSBハブ3に同じくUSB接続されているHID50が設置されている。また、前記表示装置41の周囲には同様にHID51が設置されているとする。利用者は前記認証ダイアログが表示された前記表示装置40の周囲にあるHID50を操作して、利用者のIDとパスワードを入力する。ここで入力されたIDとパスワードは、前記HID50からリモートUSBハブ3を介して前記仮想マシンモニタ10が受け取って認証処理を行う(s105)。仮想マシンモニタ10は、前記IDとパスワードを、例えば、前記仮想マシン実行環境100の記憶手段101に予め記憶済みの前記利用者のID・パスワードと照合し、その一致/不一致で認証成功/失敗の判定を行う。
前記利用者に関する認証に成功すると(s105:OK)、前記仮想マシンモニタ10は、認証に成功した利用者が使用中の表示装置40とHID50の情報をバインド(関連付け)し所定の記憶手段に記憶する(s106)。前記利用者に関する認証に失敗すると(s105:NG)、前記仮想マシンモニタ10は、例えば、処理を終了する。
前記利用者に関する認証に成功した前記仮想マシンモニタ10は、前記ステップs106と並行して、前記利用者に割り当てている仮想マシン200を起動する、またはスリープ状態や休止状態から復帰させる(s107)。利用者毎の仮想マシン200の割当管理は、通常のシンクライアント接続におけるクライアントへのシンクライアントサーバの割当管理と同様に、利用者と仮想マシン200との対応関係を記憶手段に設けた所定のテーブルに設定して行う。例えば、仮想マシン実行環境100ないし仮想マシンモニタ10、或いはシンクライアント接続の一般的な管理用サーバがこの管理を実行している。
前記仮想マシン200が起動または復帰すると、仮想マシンモニタ10は、前記ステップs106で情報をバインドした表示装置40とHID50を、仮想マシン200にプラグし、これら表示装置40とHID50の使用権限を当該仮想マシンモニタ10から仮想マシン200に移譲する(s108)。このステップs108が完了した時点で、前記仮想マシン200へのログオン認証が行われる。
前記仮想マシン200のOSはUSBデバイスとして前記表示装置40とHID50を認識し、USBのプラグアンドプレイで、各々に適切なドライバをロードし使用可能な状態にする。前記仮想マシン200は、前記ステップs108を終えた時点で、排他的に表示装置40とHID50を占有する。
一方、前記表示装置41やHID51の使用権限は依然として仮想マシンモニタ10が占有しており、HID51から仮想マシン200に入力したり、仮想マシン200から表示装置41に表示することは出来ない。すなわち、仮想マシン200に対して、表示装置41やHID51から干渉したり、乗っ取ることは出来ない。
前記仮想マシン200に、前記表示装置40がプラグされプラグアンドプレイに成功すると、仮想マシン200に1つディスプレイが増える。前記仮想マシン200は起動時点では仮想の表示装置(仮想マシンモニタ10によりエミュレートされたもの)のみを持ち、仮想マシンモニタ10が表示装置40をプラグすることで初めて外部の表示装置を得て、外部の表示装置に表示処理が可能となる。仮想マシンモニタ10が表示装置40をプラグすることで外部の表示装置が得られるため、前記仮想マシン200は仮想の表示装置が無い状態で起動しても構わない。
また、前記仮想マシンモニタ10が、前記仮想マシン200の起動前に当該仮想マシン200に対する仮想表示装置を準備して仮想マシン200に公開し、仮想マシンモニタ10内で仮想表示装置に表示装置40をプラグするとしてもよい。この場合、起動後の仮想マシン200が前記仮想表示装置に描画したデータを透過的に前記表示装置40に表示する要領で、仮想マシンモニタ10による前記ステップs108のプラグにおける仮想マシン200でのプラグアンドプレイを省略することも可能である。
その後、前記利用者が前記仮想マシン200からログアウトやログオフしたり、或いは前記仮想マシン200をシャットダウンやスリープ、休止にしたり、または前記ステップのいずれかのステップで処理に失敗すると、仮想マシンモニタ10はこれを検知し、前記ホットキー30が押下される前の状態、すなわち仮想マシンモニタ10が表示装置40とHID50を占有していた状態に戻す(s109)。
すなわち前記仮想マシン200が占有しないことになった表示装置40とHID50は、仮想マシンモニタ10が占有する。前記表示装置40とHID50を占有する間、仮想マシンモニタ10は、占有している表示装置40とHID50の状態を監視ないし把握し、また前記表示装置40やHID50のUSB接続が解除されたり、通信が途切れたり、或いはホットキーが押された事象や、利用者がどの表示装置40やHID50で認証を試み、その結果、表示装置40やHID50をどの仮想マシン200に移譲したか等のログを記憶手段の管理テーブル16に格納し残しておく。
前記管理テーブル16のログに基づき、利用者が好んで使うHIDと表示装置の組み合わせ(例えば、所定期間中に所定頻度以上の利用があったHIDと表示装置の組み合わせなど)が予め明確であり、この組み合わせに一定期間変化がない場合、前記ステップs105の認証で利用者を認証して認証に成功後に、ステップs106において、前記利用者用の仮想マシン200に、当該利用者が好んで使うHIDと表示装置を接続し、その後の仮想マシン200へのログオン認証を省略しても構わない。
また、会社等組織のネットワーク内での利用で、不特定多数で共有し排他的に利用するKIOSK端末様態では、仮想マシン実行環境へのアクセス権限や仮想マシン200の実行権限の確認を目的とするステップs105の認証は省略し、ステップs108完了後の仮想マシン200へのログオン時の認証に一元化しても構わない。
また、前述のステップs105の認証を省略する場合、仮想マシン実行環境が載った情報処理装置100に接続されている複数のHIDと複数の表示装置の中から、HIDと表示装置をステップs103でバインドする必要があるので、仮想マシンモニタ10は、前記認証ダイアログの代わりに認証を伴わないダイアログを表示装置40に表示させ、利用者にこのダイアログをHID50で操作させる事でHID50と表示装置40をバインドするとしても構わない。
以上の構成によれば、複数の表示装置と複数のHIDから利用者が認証に使った表示装置とHIDを特定して両者をバインドし、バインドした表示装置とHIDを利用者の仮想マシン200にプラグすることができる。この利用者は前記バインドした表示装置とHIDを介して前記仮想マシン200を利用することが出来る。バインドした表示装置とHIDのみが前記仮想マシン200にプラグされ、他の表示装置や他のHIDに仮想マシン200を乗っ取られることは無い。また、前記仮想マシンモニタ10が表示装置をプラグすることで前記仮想マシン200は外部の表示装置が得られる。従ってこの仮想マシン200は仮想の表示装置が無い状態で起動できる。
−−−処理例2−−−
図3は、本実施形態におけるホットキー30の種別ごとの処理内容例を示す図である。ここでは、前記ホットキー30の種別ごとにステップs103とステップs105を詳述し、上記処理例1と重複するステップs106〜ステップs108の説明は割愛する。
前記ホットキー30としては、前記表示装置のリモコンのボタンや表示装置に表示されているボタン、キーボードやマウスの特定のボタン、リモートUSBハブ3が具備するボタンの主に3種類を想定している。
こうしたホットキー30が押されると、上記処理例1で説明したステップs101〜ステップs108の手順を踏んで、仮想マシンモニタ10は表示装置とHIDを仮想マシン200に接続し、利用者が仮想マシン200を使えるようになるのであるが、想定した3種類のホットキー毎に、ステップs103での認証ダイアログの表示とHIDデバイスの操作が異なる。
例えば、表示装置40、41のリモコンのボタンや表示装置40、41に表示されているボタンがホットキー30である場合、表示装置が表示するメニューやリモコン表面に複数のボタンが配置され、各々所定のサービスや機能を指し示している。前記メニュー上におけるボタンの並びは、例えばリモコンの1〜0の数字キー所謂テンキーの並びに準じている。メニュー上に表示されているボタンの中から前記ホットキー30に割り当てられているボタンを利用者が押したい場合、押したいボタンの並びに対応したリモコンの数字キーを選んで利用者が押す。すると、例えばリモコンの赤外線通信装置が該当ボタンのキーデータを表示装置に送信する。
例えば、表示装置40はこのキーデータを赤外線受光部で受信し、メニュー中で表示されているホットキー対応ボタンが押されたことを認識する。こうしてホットキーが押されたことを認識した表示装置40は、ホットキーが押された旨を仮想マシンモニタ10にイベントとして通知する(前記ステップs103)。
一方、前記仮想マシンモニタ10はこの表示装置40に前記認証ダイアログを表示すべく、仮想マシンモニタ10のVRAM401に認証ダイアログとその背景を描画し、その描画データを前記表示装置40に送信し表示させる(前記ステップs104)。
前記表示装置40の周囲にはHID50が置かれており、利用者は認証ダイアログが表示された表示装置40の周囲にあるHID50を操作して、利用者のIDとパスワードを入力する。ここで入力されたIDとパスワードは、HID50からリモートUSBハブ3およびネットワーク140を介して仮想マシンモニタ10が受け取り、認証処理を行う(前記ステップs105)。
一方、キーボードやマウスの特定のボタンや、リモートUSBハブ3が具備するボタンがホットキーである場合は以下の通りの処理手順となる。この場合、前記ホットキーが利用者により押されると、仮想マシン実行環境100は仮想マシンモニタ10にホットキーが押された旨イベントとして通知する(前記ステップs103)。
前記仮想マシンモニタ10は、認証ダイアログを表示すべく前記VRAM401に認証ダイアログとその背景を描画し、例えば、表示装置が複数ある場合一つの表示装置に描画データを表示させる(前記ステップs104)。
この時、前記利用者は前記ホットキー30を押下したキーボードやマウス、リモートUSBハブ3の周囲の表示装置に前記認証ダイアログが表示されることを期待している。前記仮想マシンモニタ10は、接続されている表示装置が複数ある場合、前記ホットキーが押されたキーボードやマウス、リモートUSBハブ3の周囲の表示装置に認証ダイアログを表示するように務める(この処理については後述)。
例えば、前記利用者が期待した表示装置に認証ダイアログが表示されなかった場合、この利用者が目にしている表示装置には背景のみが表示されている。そこでこの利用者は、キーボードやマウスを操作して背景のみ表示されている表示装置に、認証ダイアログを移動させる操作を行うこととなる。
認証ダイアログの表示装置間の移動方法は例えば3種類を想定できる。一つは、最寄りの表示装置に背景のみが表示された時点で、前記利用者は改めてキーボードのホットキーを押す。すると、再度のホットキー押下のデータを受けた仮想マシンモニタ10が、予め前記キーボードに対応付けた表示装置(つまり前記利用者の最寄りの表示装置)に付与してある通し番号(管理テーブル16から読み出す)を、該当表示装置に表示させる。前記利用者は前記キーボードでこの通し番号を押す。例えば通し番号が「2」なら数字キーの「2」を利用者が押す。すると、この通し番号の押下データが仮想マシンモニタ10に返信される。仮想マシンモニタ10はこれを受けて、今まで背景のみ表示させていた表示装置に対し、VRAMに描画した認証ダイアログの描画データを送信して表示させる。前記表示装置では認証ダイアログの画面が表示される一方、それまで認証ダイアログが表示されていた表示装置から認証ダイアログは消えて背景のみの表示となる。
もう一つは、例えば、最寄りの表示装置に背景のみが表示された時点で、前記利用者が改めてキーボードのTABキーを押す。すると、このTABキーの押下データを受けた仮想マシンモニタ10は、それまで認証ダイアログを表示していた表示装置から認証ダイアログを消し、別の表示装置に認証ダイアログを表示させる。仮想マシンモニタ10に接続されている表示装置が例えば3台あった場合、前記利用者がTABキーを押す毎に、1台目から順番に認証ダイアログの表示対象が切り換わり、3台目の表示装置にて認証ダイアログの表示がなされている時にまたTABキーの押下があれば、表示対象を1台目に戻す。こうして、背景のみが表示されていた表示装置に認証ダイアログを順次表示させることができる。
ところで、背景のみが表示されている表示装置にマウスポインタは表示されていない。そこでHIDとしてマウスが使われる場合、前記利用者はマウスを縦横に動かして(例えば、マウスポインタが画面で見えるまで一定方向にマウスポインタの移動動作を継続する)マウスポインタを目前の表示装置まで表示させる。利用者は、目前の表示装置でマウスポインタが視認できたならば、例えば前記マウスの右ボタンをクリックする。するとこの右クリックがなされた前記目前の表示装置の情報が前記リモートUSBハブ3から仮想マシンモニタ10に送信される。仮想マシンモニタ10はこの表示装置の情報を受けて、該当表示装置に対して前記認証ダイアログを表示させる。
或いは、前記マウスの右ボタンを利用者が押し続けたことを仮想マシンモニタ10ないしリモートUSBハブ3が検知して、ポップアップメニューを該当表示装置に表示させるとしてもよい。この場合、前記利用者が前記ポップアップメニューのアイテムから認証ダイアログを選び、前記右ボタンから押していた指を離すと、認証ダイアログの表示指示として仮想マシンモニタ10が認識し、該当表示装置に認証ダイアログを表示させることも出来る。なお、利用者がこのポップアップメニューから、中止やキャンセルを選んで右ボタンから押していた指を離すと、これを仮想マシンモニタ10が検知し、前記ステップs103を中止してホットキーが押される前の状態に戻す。
前記認証ダイアログが表示装置に表示されると、利用者はキーボードとマウスを操作して、利用者のIDとパスワードを入力する。ここで入力されたIDとパスワードは仮想マシンモニタ10が受け取って認証する(ステップs105)。
なお、上記例では、複数の表示装置の中から1台を選んで認証ダイアログを表示しているが、複数台の表示装置に同時に認証ダイアログを表示するとしてもよい。この場合、例えば、認証ダイアログに識別子、例えばCAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)を表示したり、表示装置に識別子が刷り込まれたステッカーを貼る。利用者は認証の際にIDとパスワードと識別子を入力し、一方、仮想マシンモニタ10はこの利用者に関して認証に成功した表示装置を前記識別子等で特定できる。
上記処理例2において、ホットキーは、HIDやリモートUSBハブ、表示装置に表示されたボタンもしくは表示されたボタンに割り当てられたリモコンの数字ボタンで実現できる。また、仮想マシン実行環境に複数の表示装置がつながった状態でも、認証ダイアログを表示する表示装置を利用者の意図した表示装置に切換えて、認証処理を実行出来る。また、仮想マシンモニタ10は、認証に成功した利用者が使ったHIDと表示装置を容易に特定できる。
−−−処理例3−−−
図4は本実施形態における管理テーブルの状態例を示す図である。また、図5は、本実施形態のデバイス接続制御方法における処理手順例3を示す図である。前記仮想マシンモニタ10は、前記管理テーブル16において仮想マシン実行環境に接続されたデバイスと利用者と仮想マシン200と情報処理装置100との対応関係を管理する。そこで、前記ステップs101〜ステップs108まで手順を踏む際の前記管理テーブル16の状態について以下説明する。
なお、前記管理テーブル16は、前記仮想マシンモニタ10のOSがメモリ上に展開するテーブルである。図4は、前記管理テーブル16の一部を抜粋したもので、デバイス管理とアカウント管理、仮想マシン管理、起動管理、接続先管理の各データ例を示している。
前記起動管理と接続先管理のデータ内容は、仮想マシンモニタ10が別途管理するレジストリファイルの該当データをコピーしたものである。過去に仮想マシンモニタ10がプラグアンドプレイしたデバイスに発見したホットキーと接続経路の情報が起動管理に、そのホットキーで仮想マシン200を起動した利用者のアカウント情報が接続先管理にそれぞれ保持されている。
図4に示す管理テーブル16の例において、起動管理のデータとして3つのホットキーと接続経路が登録されている。1番目のレコードは通し番号が「#1」で、実体は仮想マシン実行環境の電源ボタンであり、その接続経路は「直付け」である。2番目のレコードは通し番号が「#95」で、実体はリモートUSBハブ3が具備するホットキーであり、その接続経路はリモートUSBハブ3のIPアドレスである「ip#1」である。3番目のレコードは通し番号が「#98」で、実体は表示装置41に表示されるボタンであり、接続経路は前記表示装置41のIPアドレスである「ip#2」である。
一方、前記デバイス管理、アカウント管理、仮想マシン管理の各データは、仮想マシンモニタ10のOSがメモリ上に展開し、その内容は仮想マシンモニタ10もしくは仮想マシン実行環境がシャットダウンすると消失する。
前記デバイス管理のデータとしては、USBハブとポート番号を示すポート情報と、デバイスの種別と、デバイスクラス毎の通し番号と、接続経路と、表示装置番号(仮想マシンモニタ10が表示装置を識別する為に付与した番号)が保持される。
図中、ポート番号はUSBハブの通し番号と当該USBハブのポートの番号を「−」で区切って表記している。例えば、ポート「#1−1」は、仮想マシン実行環境を提供する情報処理装置100が具備するUSBハブの1番目のポートを意味する。以後のハブの通し番号は見つかった順に付与され、リモートUSBハブ3は2番目に(デバイスクラス毎の通し番号が‘#2’)、ポート「#2−3」につながるHID50内のUSBハブは3番目に(デバイスクラス毎の通し番号が‘#3’)見つかったことを意味する。
上述の通り、ポート「#2−3」につながっているHID50に対してエニュメレーションする過程で、HID50内にUSBのハブが見つかる。このプラグアンドプレイの結果、HID50内のUSBハブが使用可能となると、仮想マシン実行環境を提供する情報処理装置100に、前記HID50内のUSBハブから接続イベントが到着する。情報処理装置100は、前記HID50内のUSBハブの当該ポートにつながるデバイスをエニュメレーションする。図の通り、ポート「#3−1」にはHID50の実体であるHIDが見つかり、ポート「#3−2」にはHID50内のUSBハブにケーブルで外付けされたCD−ROMドライブが見つかり、それぞれプラグアンドプレイされ、使用可能となる。
前記HID50内のUSBハブにケーブルで外付けされるデバイスはCD−ROMドライブに限らず、USBメモリ等のマスストレージや生体認証装置、ICカードリーダライタ、プリンタ、スキャナ、キャッシュレジスタのお金が入ったドロワ等のUSBデバイスでもかまわない。
また、前記アカウント管理のデータとしては、個々のデバイスを占有している利用者すなわち認証に成功して仮想マシン200にログインもしくはログオンした利用者のアカウント名が設定される。また、前記仮想マシン管理のデータとしては、デバイスを占有している仮想マシン200の識別番号とその仮想マシン200を稼働させている情報処理装置100(=仮想マシン実行環境)の識別番号が設定される。あるデバイスのアカウント管理と仮想マシン管理の各データが空欄である場合、そのデバイスは仮想マシンモニタ10が占有している。
利用者が認証に成功して仮想マシン200にログインもしくはログオンすると、仮想マシンモニタ10は、ログ取得と学習を兼ねて前記管理テーブル16における接続先管理のデータとして、前記利用者のアカウント名を設定しレジストリに保存する。
続いて、前記ステップs101〜ステップs108の手順に従って図4の管理テーブルを説明する。ここで、前記ホットキー30が利用者に押されると、仮想マシン実行環境100は仮想マシンモニタ10に対し、前記ホットキー30が押された旨イベントとして、ホットキー30の通し番号「95」を通知する(前記ステップs101)。仮想マシンモニタ10は、前記管理テーブル16の起動管理のデータを参照し、前記ホットキー30の通し番号「95」に基づき、経路を「ip#1」すなわちリモートUSBハブ3のIPアドレスと特定することができる。
前記仮想マシンモニタ10は、前記経路を特定したので、直付けの表示装置以外の表示装置すなわちポート「#2−1」と「#2−2」に接続されている表示装置(表示装置40と表示装置41)に、前記ステップs103の認証ダイアログを表示させる。ここでは、経路「ip#1」すなわちリモートUSBハブ3の先の表示装置は「#2−1」の表示装置40なので、仮想マシンモニタ10は、認証ダイアログを前記表示装置40に表示させ、他方、表示装置41には背景のみを表示させる(前記ステップs103、s104)。
この時、利用者は認証ダイアログが表示された前記表示装置40の周囲にあるHID50を操作して、利用者のIDとパスワードを入力する。入力されたIDとパスワードは仮想マシンモニタ10が受け取り認証する(前記ステップs105)。この認証に成功したならば、仮想マシンモニタ10は、前記管理テーブル16における、リモートUSBハブ「#2−3」に関するアカウント管理のデータとして、例えば「usr1」を設定する。
なお、ポート「#3−1」につながるHID50は、リモートUSBハブ3に直接つながらず、HID50内のUSBハブを介してリモートUSBハブ3につながっている。前記ステップs108で表示装置40とHID50は仮想マシン200にプラグし、仮想マシン200のOSはUSBデバイスとして表示装置40とHID50を認識し、プラグアンドプレイする。そこで、前記仮想マシン200は、前記HID50について、HID50内のUSBハブ、このUSBハブのポートにつながるHID、HID50内のUSBハブにケーブルで外付けされたCD−ROMドライブの順にプラグアンドプレイを行う。
すなわち、HID50内のUSBハブもCD−ROMドライブも仮想マシン200が占有する。よって、前記ステップs105の時点で、このHID50内のUSBハブの認識に成功した仮想マシンモニタ10は、前記管理テーブル16における、HID「#3−1」に関するアカウント管理のデータとして、前記「usr1」を設定する。また、このUSBハブには、ポート「#3−2」にCD−ROMドライブが接続されている。前記仮想マシンモニタ10は、前記ステップs105の時点で、このCD−ROMドライブの認識に成功したならば、前記管理テーブル16における、CD−ROMドライブ「#3−2」に関するアカウント管理のデータとして前記「usr1」を設定する。
前記ステップs105での認証処理に成功すると、前記仮想マシンモニタ10は、認証に成功した利用者が使用中の表示装置40とHID50をバインド(関連付け)する。前記仮想マシンモニタ10は、前記管理テーブル16におけるデバイス管理のデータにおいて、ポート「#2−1」に接続されている表示装置40に認証ダイアログを表示中に、ポート「#3−1」に接続されているHID50からの入力データに基づいて利用者認証に成功した事を根拠に、前記表示装置40とHID50をバインドし、前記管理テーブル16における表示装置「#2−1」に関するアカウント管理データベースとして前記「usr1」を設定する(前記ステップs106)。
前記HID50には上述の通り、HID50内のUSBハブとこのUSBハブにケーブルで外付けされたCR−ROMドライブが含まれ、都合4つのUSBデバイスがバインドされる。認証に成功した利用者は仮想マシン200から、このCD−ROMドライブを排他的に占有し、独占的に利用する。
なお、前記HID50内にUSBハブを具備する事で、他のUSB機器(CD−ROMドライブ等)のバインドと独占を実現しているが、既製のUSBハブをリモートUSBハブ3に接続し、この既製のUSBハブに接続したHIDないし表示装置で認証に成功すれば、認証に成功した利用者は、この利用者の仮想マシン200から既製のUSBハブに接続されたUSBデバイスを排他的に占有し、独占的に利用できる。
また、前記HID50内のUSBハブや既製のUSBハブを仮想マシン200が占有した状態で利用中に、これらUSBハブに別途USBデバイスが挿されると上記同様にプラグアンドプレイが実行される。そして、別途挿されたUSBデバイスも前記利用者が排他的に占有し、独占的に利用できる。
上述の通り、前記HID50内のUSBハブや既製のUSBハブをHIDと表示装置と一緒にバインドし、仮想マシン200にプラグする事でこれらUSBハブに接続されるUSBデバイスが利用できる。しかし、企業や官公庁では、利用者による安易なUSBデバイス接続や利用を抑止する必要がある。一般的なPCでは、接続されたUSBデバイスについてその製品名や種別を認識し、例えば該当デバイスのクラスドライバを差換えたり、デバイスへのアクセスをフィルタリングするドライバを挿入してUSBデバイスの利用を制限ないし抑止している。クラスドライバの差換えやフィルタリングするドライバの挿入は前記仮想マシン200に適用してもよく、そうした場合、USBデバイスの利用を制限ないし抑止できる。
一方、前記ステップs106に並行して、仮想マシンモニタ10は利用者の仮想マシン200を起動する(前記ステップs107)。またはスリープ状態や休止状態から復帰させる。この時、前記仮想マシン200は、仮想マシンモニタ10が起動する1台目の仮想マシン200となるので通し番号「1」が付与される。よって、前記管理テーブル16におけるポート「#2−3」=リモートUSBハブ3、と「#2−1」=表示装置40に関する仮想マシン管理のデータとして、前記仮想マシンモニタ10は、通し番号「#1」を設定することになる。
仮想マシン200が起動または復帰すると、前記仮想マシンモニタ10は、前記ステップs106でバインドした表示装置40とHID50を仮想マシン200にプラグし、前記表示装置40とHID50の使用権限を仮想マシン200に移譲する(前記ステップs108)。仮想マシン200のOSはUSBデバイスとして前記表示装置40とHID50を認識し、USBのプラグアンドプレイで、各々に適切なドライバをロードし使用可能な状態にする。このステップs108を終えた時点で、仮想マシン200は、排他的に前記表示装置40とHID50を占有する。
前記仮想マシン200に前記表示装置40がプラグされプラグアンドプレイに成功すると、仮想マシン200に1つディスプレイが増える。上記例での仮想マシン200は、起動時点で仮想の表示装置のみを持ち、仮想マシンモニタ10が表示装置40をプラグすることで初めて外部の表示装置を得ることとなる。仮想マシンモニタ10が表示装置40をプラグすることで外部の表示装置が得られるため、前記仮想マシン200は仮想の表示装置が無い状態で起動しても構わない。
この時点で、仮想マシンモニタ10は、前記管理テーブル16における接続先管理のデータとしてアカウント名「usr1」を設定する。
前記利用者が前記仮想マシン200からログアウトやログオフしたり、仮想マシン200をシャットダウンやスリープ、休止にしたり、または上述のステップs101〜ステップs108のいずれかのステップで処理に失敗すると、仮想マシンモニタ10は、前記ホットキー30が押される前の状態、すなわち仮想マシンモニタ10が表示装置40とHID50を占有する状態に戻す。この場合、前記管理テーブル16では、仮想マシンモニタ10により、アカウント管理と仮想マシン管理の各データが空欄に戻される。
一方、仮想マシン200が占有していない表示装置とHID、USBハブやUSBハブにつながるUSBデバイスは、仮想マシンモニタ10が占有する。仮想マシンモニタ10は、これら表示装置とHID、USBハブやUSBハブにつながるUSBデバイスを占有する間、占有している表示装置とHID、USBデバイスの状態を監視ないし把握する。また、仮想マシンモニタ10は、表示装置やHID、リモートUSBハブへのUSBハブの挿抜や、USBデバイスの挿抜とプラグアンドプレイの成否、通信の途絶、ホットキーの押下、どの表示装置やHIDで利用者が認証を試み、どの仮想マシン200に表示装置らの占有権が移譲されたか等のログを所定の記憶手段に記録する。
以上の例によれば、前記仮想マシンモニタ10は、前記管理テーブル16を管理・利用することで、OSには単純にポートにつながっていると認識されるHIDや表示装置の接続経路を把握でき、押されたホットキーと同一経路もしくは周辺のHIDや表示装置を特定でき、特定した表示装置に認証ダイアログを表示できる。
また、仮想マシンモニタ10は、認証に成功した利用者が認証に使った表示装置とHIDを特定してバインドし、バインドした表示装置とHIDを一意に仮想マシン200にプラグできる。前記利用者は前記表示装置やHIDを介して仮想マシン200を利用することが出来る。
また、前記リモートUSBハブ3にUSBハブを介してHIDや表示装置が接続されると、前記仮想マシンモニタ10は、このUSBハブにつながる他のUSBデバイスを、前記HIDと表示装置にバインドし、認証に成功した前記利用者が仮想マシン200から前記USBデバイスらを排他的に占有し、独占的に利用できることになる。
−−−処理例4−−−
図5は、本実施形態の表示装置におけるメニュー表示中のホットキーを示す図である。テレビなどの表示装置のリモコンのボタンや、表示装置に表示されているボタンがホットキーである場合を想定する。この場合、前記表示装置が表示するメニューには複数のボタンが表示され、各ボタンは所定のサービスや機能に対応付いている。なお、前記表示装置としては、IPプロトコルでストリーミング配信された動画を受信し再生するデジタルテレビを想定できる。
図5に示すメニュー画面500は、表示装置が表示している画面である。このメニュー画面500において、画面中央付近から左端までがカレンダ表示で、このカレンダ表示中の日付についてのハイライトを利用者がリモコンからの指示で適宜移動させて所定日を選択すると、表示装置は、該当日付の天気やニュース、或いはblogや日記、受信したメール、その日の写真データなどを当該表示装置の備える記憶手段ないしネットワークで接続された記憶手段より読み出して表示する。一方、前記メニュー画面500の右側には、複数のボタンが配置されている。これらボタンの並びはリモコンの1〜0の数字キー所謂10キーの並びに準じている。表示されているボタンの中で、上段の3つのボタンのうち右端の「PC」と書かれたボタンがホットキー31に割り当てられている。ホットキー31に割り当てられたボタンを利用者が押したい場合、前記リモコンの同じ位置の数字キーを選んで押すことで、前記メニュー画面500にて表示されている「PC」ボタンが押され、ホットキー31を押したことになる。
前記「PC」ボタンすなわちホットキー31が押されると、前記表示装置はホットキー31が押された旨を前記仮想マシンモニタ10にイベントとして通知する(前記ステップs103)。
一方、前記仮想マシンモニタ10は、この表示装置に認証ダイアログを表示すべく、前記VRAMに認証ダイアログとその背景を描画し、描画データを表示装置に送る。この時点で前記表示装置から前記メニュー画面500の表示は消え、代わりに前記認証ダイアログがこの表示装置に表示されることとなる。
前記表示装置の周囲にはHIDがが置かれており、前記利用者は認証ダイアログが表示された前記表示装置の周囲にあるHIDを操作して、利用者のIDとパスワードを入力する。ここで入力されたIDとパスワードは前記HIDから仮想マシンモニタ10に送られる。仮想マシンモニタ10は前記ID・パスワードを受け取って認証処理を行う(前記ステップs105)。
以上の例によれば、IPプロトコルでストリーミング配信された動画を受信し再生するテレビについても、画面表示したボタンをホットキーに対応させることが出来る。利用者は、ホットキーに対応付けたリモコンの数字キーでホットキーの押下動作を行うことが出来る。また、仮想マシンモニタ10は前記テレビの画面に認証ダイアログを表示させられる。
−−−処理例5−−−
図6は、本実施形態におけるデバイス接続制御システムの構成例2を示す図である。この例は、図1に示した1台目の仮想マシン200が起動した後の状況を示している。前記仮想マシン200は既に表示装置40とHID50を占有し、仮想マシンモニタ10は残された表示装置41とHID51を占有している。
利用者が、例えば図5で説明した表示装置41のメニュー画面500で表示されているホットキー31を押すと、前記表示装置41は仮想マシンモニタ10に対し、前記ホットキー31が押された旨のイベントを通知する。
この時、前記仮想マシンモニタ10は、認証ダイアログを表示する為、VRAM400に認証ダイアログとその背景を描画する。そしてこのVRAM400のデータをエンコードして表示装置41に配信する。この配信データを受信した表示装置41は前記認証ダイアログとその背景を表示する(前記ステップs103)。前記表示装置41では、それまで表示していた前記メニュー画面500が消え去り、代わりに前記認証ダイアログが表示される。以後、前記表示装置41のリモコンは、前記仮想マシンモニタ10や仮想マシン200の画面表示を止めて、前記メニュー画面500に戻るかテレビ放送に切り換える際に用いられる。
前記仮想マシンモニタ10や仮想マシン200への入力には、HIDであるキーボードとマウスが用いられる。前記表示装置41の周囲にはHID51が置かれており、前記利用者は認証ダイアログが表示された表示装置41の周囲にあるHID51を操作して、利用者のIDとパスワードを入力する。ここで入力されたIDとパスワードは表示装置41から仮想マシンモニタ10に送られる。仮想マシンモニタ10は前記ID・パスワードを受け取って認証処理する(前記ステップs105)。
仮想マシンモニタ10は前記認証に成功すると、この認証に成功した利用者が使用中の表示装置41とHID51をバインド(関連付け)する(前記ステップs106)。また仮想マシンモニタ10は並行して、前記利用者の仮想マシン201を起動するか、またはスリープ状態や休止状態から復帰させる(前記ステップs107)。
仮想マシン201が起動または復帰すると、仮想マシンモニタ10は、前記ステップs106でバインドした表示装置41とHID51を仮想マシン201にプラグし、表示装置41とHID51の使用権限を仮想マシン201に移譲する(前記ステップs108)。前記仮想マシン201のOSはUSBデバイスとして表示装置41とHID51を認識し、USBのプラグアンドプレイで、各々に適切なドライバをロードし使用可能な状態にする。前記ステップs108を終えた時点で、仮想マシン201は排他的に表示装置41とHID51を占有する。
前記表示装置40やHID50は仮想マシン200が占有しており、HID50から仮想マシン201に入力したり、仮想マシン201から表示装置40に表示することは出来ない。同様に、HID51から仮想マシン200に入力したり、仮想マシン200から表示装置41に表示することは出来ない。これにより、仮想マシン200と仮想マシン201は互いに独立で、お互いに干渉したり、一方が他を乗っ取ることは出来ない。
なお、前記仮想マシン201からログアウトやログオフしたり、仮想マシン201をシャットダウンやスリープ、休止にしたり、または上述のステップs101〜ステップs108のいずれかのステップで処理に失敗すると、仮想マシンモニタ10は、前記ホットキー31が押される前の状態、すなわち仮想マシンモニタ10が表示装置41とHID51を占有する状態に戻す。
上記例によれば、仮想マシン実行環境に複数の表示装置と複数のHIDが接続されていても、1対1対応で表示装置とHIDを仮想マシンに接続できる。従って、複数の利用者が仮想マシン実行環境上で銘々の仮想マシンを利用できる。
−−−表示画面の遷移例−−−
図7は、本実施形態における1台目と2台目の仮想マシンに対する一連の処理における表示画面の遷移例を示す図である。図7において、時間は紙面上から下に向かって経過し、この時間経過と前記ステップs101〜ステップs108の進行に従って、表示装置における表示画面が遷移する。
例えば、前記リモートUSBハブ3の具備する前記ホットキー30が押されると、上述してきた通り、これに伴って認証ダイアログ45がVRAM401に描画され、前記認証ダイアログ45が表示装置40に表示される。VRAM400には背景のみが描画され、例えば、他の表示装置41に前記背景が表示される。前記仮想マシンモニタ10は、前記ステップs101〜ステップs108を踏む。前記ステップs108を終えた時点で、前記仮想マシン200は、排他的に表示装置40とHID50を占有している。これにより表示装置40には仮想マシン200の画面200が表示される。
この後、仮想マシンモニタ10は表示装置41やHID51を占有している。ある時点で前記表示装置41のホットキー31が押されると、前記仮想マシンモニタ10は、例えば、VRAM400に認証ダイアログ45を描画してそのデータをエンコードする。エンコードしたデータは仮想マシンモニタ10から表示装置41に配信され、表示装置41が表示する。
前記仮想マシンモニタ10は前記ステップs101〜ステップs108を踏む。そして前記ステップs108を終えた時点で、前記仮想マシン201は、排他的に前記表示装置41とHID51を占有している。これにより前記表示装置41には仮想マシン201の画面201が表示される。
以上の図1〜図7に基づき説明した、前記仮想マシンモニタ10による仮想マシンとUSB機器の動的な接続制御手法は、仮想マシンモニタ10が仮想マシンに公開している仮想NIC112を介して、動的に仮想マシンへのUSB機器の接続制御を行うことで実現している。例えば、上述の実施例では仮想マシン実行環境は1台の情報処理装置100に構築され、仮想マシンモニタ10と仮想マシンは実質的に1台の情報処理装置上で動作している。しかし、複数台の情報処理装置上に構築された仮想マシン実行環境でも、仮想マシンモニタ10と仮想マシンが仮想NIC112を介して接続されるのでUSB機器の動的な接続制御が可能である。
また、仮想NIC112の代わりにTCP/IPのプロトコルスタック111配下のNIC107を介して、前記情報処理装置100がつながるネットワーク上に設置した在来のPCに対して通信が可能である。そこで仮想マシンモニタ10は、仮想マシンに対する前記ステップs107と同様に、既存の遠隔起動コマンドで在来のPCの電源を投入し、在来のPCを起動できる。また同様に、前記仮想マシンモニタ10は、仮想マシンに対する前記ステップs108と同様に、在来のPCの起動後に動的にUSB機器の接続制御ができる。よって、上述までの実施例における仮想マシンモニタ10によるUSB機器の接続制御は、ネットワーク上の在来のPCに対しても有効である。
以上本実施形態によれば、複数の表示装置と複数のHIDの中から、利用者が認証に使った表示装置とHIDを特定してそれらをバインドし、バインドした表示装置とHIDを利用者の仮想マシンにプラグすることで、前記利用者が前記HIDや表示装置を介して仮想マシンを利用することが出来る。バインドした表示装置とHIDのみが仮想マシンにプラグされ、他の表示装置や他のHIDに仮想マシンを乗っ取られることが無く、仮想マシンは排他的に表示装置とHIDを利用できる。
また、仮想マシンモニタは管理テーブルを利用し、OSには単純にポートにつながっていると認識されるHIDや表示装置の接続経路を確実に把握できる。また、押されたホットキーと同一経路もしくは周辺のHIDや表示装置を特定し、ここで特定した表示装置に認証ダイアログを表示する処理が可能である。それ故、仮想マシン実行環境に複数の表示装置がつながった状態でも、認証ダイアログを表示する表示装置を利用者の意図した表示装置に切換え、認証処理を実行出来る。また仮想マシンモニタは、認証に成功した利用者が使ったHIDと表示装置を容易に特定できる。
その結果、仮想マシンモニタは、認証に成功した利用者が認証に使った表示装置とHIDを特定してバインドし、ここでバインドした表示装置とHIDを一意に仮想マシンにプラグできる。利用者が仮想マシンを利用することが出来る。すなわち、仮想マシン実行環境に複数の表示装置と複数のHIDが接続されていても、1対1対応で表示装置とHIDを仮想マシンに接続でき、複数の利用者が仮想マシン実行環境上で銘々の仮想マシンを利用できる。
加えて前記ホットキーは、HIDやリモートUSBハブ、或いは表示装置に表示されたボタンもしくは表示されたボタンに関連付けられたリモコンの数字ボタンで実現できるものであり、実現手段として柔軟性を兼ね備えている。
また、IPプロトコルでストリーミング配信された動画を受信し再生するテレビであっても、画面表示したボタンをホットキーに対応付けて利用することが出来る。また、利用者は前記ホットキーに対応付けたリモコンの数字キーでホットキーを押下することが出来る。このホットキーの押下により、前記仮想マシンモニタから送信されてくる認証ダイアログを前記テレビは画面表示し、利用者の認証データ入力に提供することができる。
したがって、仮想マシン実行環境で動作中の仮想マシンに対し、仮想マシン実行環境に接続された複数のヒューマンインターフェースデバイスから適切なものを対応付け、前記ヒューマンインターフェースデバイスを対応付けた仮想マシンを適切な表示装置に対応付けることが可能となる。
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本実施形態におけるデバイス接続制御システムの構成例1を示す図である。 本実施形態のデバイス接続制御方法における処理手順例1を示す図である。 本実施形態におけるホットキーの種別ごとの処理内容例を示す図である。 本実施形態における管理テーブルの状態例を示す図である。 本実施形態の表示装置におけるメニュー表示中のホットキーを示す図である。 本実施形態におけるデバイス接続制御システムの構成例2を示す図である。 本実施形態における1台目と2台目の仮想マシンに対する一連の処理における表示画面の遷移例を示す図である。
符号の説明
1 デバイス接続制御システム
3 リモートUSBハブ(中継装置)
10 仮想マシン実行環境上の仮想マシンモニタ
16 管理テーブル
30,31 ホットキー
40,41 表示装置
45 認証ダイアログ
50,51 HID(ヒューマンインタフェースデバイス)
100 (仮想マシン実行環境を実現する)情報処理装置
101 HDD(Hard Disk Drive)
102 プログラム
103 RAM(Random Access Memory)
104 CPU(Central Processing Unit)
105 NIC(Network Interface Card)
106 フラッシュROM
107 BIOS
108 OS
111 TCP/IPのプロトコルスタック
112 仮想NIC(ネットワークインタフェースカード)
113 仮想USBハブ
114 USBバスドライバ
140 ネットワーク
200、201 仮想マシン
400,401 VRAM

Claims (10)

  1. 複数のヒューマンインターフェースデバイスおよび表示装置が接続された仮想マシン実行環境における仮想マシンモニタが、
    所定のインターフェースを介して利用者の認証情報の入力を受け付け、この認証情報と予め記憶手段に格納している認証用情報とを照合して前記利用者の認証を実行し、当該認証に成功すると仮想マシンを起動する処理と、
    前記利用者が前記認証情報の入力に用いたヒューマンインタフェースデバイスおよび表示装置の情報と、前記表示装置が接続された旨の情報を、前記起動した仮想マシンに通知する処理と、
    を実行するデバイス接続制御方法。
  2. 前記仮想マシンモニタもしくは仮想マシンが、
    前記複数のヒューマンインタフェースデバイスないし前記複数の表示装置を、該当ヒューマンインターフェースデバイスないし表示装置に対応するクラスドライバまたは個々のデバイスドライバで制御することを特徴とする請求項1に記載のデバイス接続制御方法。
  3. 前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置がUSBデバイスであり、USBインターフェースを備える中継装置に接続されており、
    前記中継装置が、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置と前記仮想マシンモニタもしくは仮想マシンとの間に生じるUSBバスプロトコルでの通信データを、IPプロトコルでカプセル化してIPパケットに変換し、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置と前記仮想マシンモニタもしくは仮想マシンとの間で前記IPパケットの通信を仲介し、
    前記仮想マシンモニタもしくは仮想マシンが、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置と前記中継装置を介してUSBバスプロトコルで通信し、前記複数のヒューマンインタフェースデバイスおよび前記複数の表示装置の制御を実行する、
    ことを特徴とする請求項1に記載のデバイス接続制御方法。
  4. 前記仮想マシンモニタもしくは仮想マシンが、
    前記ヒューマンインタフェースデバイスまたは前記中継装置と通信し、前記ヒューマンインターフェースデバイスまたは前記中継装置における特定の入力インターフェースでの入力事象のデータを受け付けて、前記複数の表示装置に、前記利用者の認証情報の入力を受け付ける認証ダイアログの画面データを送信する処理を実行する、ことを特徴とする請求項3に記載のデバイス接続制御方法。
  5. 前記仮想マシンモニタもしくは仮想マシンが、
    前記中継装置に接続された前記複数のヒューマンインターフェースデバイスおよび前記複数の表示装置の情報を記憶手段に格納しており、
    前記複数の表示装置のうちから、前記特定の入力インターフェースでの入力事象がなされたヒューマンインタフェースデバイスまたは中継装置に接続された表示装置を選択し、該当表示装置に対して前記認証ダイアログの画面データを送信する処理を実行する、
    ことを特徴とする請求項4に記載のデバイス接続制御方法。
  6. 前記表示装置が、IPプロトコルで動画ストリームを受信し、この動画ストリームをデコードし再生するテレビであり、
    前記仮想マシンモニタもしくは仮想マシンが、前記テレビと通信し、前記テレビにおける前記動画ストリームの受信と無関係に表示する特定の入力インターフェースでの入力事象のデータを受け付けて、前記テレビに前記認証ダイアログの画面データを送信する処理を実行する、
    ことを特徴とする請求項4に記載のデバイス接続制御方法。
  7. 前記テレビが、
    前記動画ストリームの受信と無関係に表示する特定の入力インターフェースと、当該テレビのリモートコントローラの特定ボタンとの対応関係を記憶手段にて記憶しており、
    前記テレビのリモートコントローラと通信し前記リモートコントローラの特定ボタンの押下事象のデータを受け付けて、この押下事象のデータを前記仮想マシンモニタもしくは仮想マシンに送信し、
    前記仮想マシンモニタもしくは仮想マシンが、前記テレビから前記入力事象のデータを受け付けて、前記テレビに前記認証ダイアログの画面データを送信する処理を実行する、
    ことを特徴とする請求項6に記載のデバイス接続制御方法。
  8. 前記仮想マシンが、前記動画ストリームの画面描画を実行し、
    前記仮想マシンまたは前記仮想マシンが動作する仮想マシン実行環境、もしくは仮想マシンモニタが、前記動画ストリームの描画画面のデータをエンコードし、前記テレビに配信する、
    ことを特徴とする請求項6に記載のデバイス接続制御方法。
  9. 前記仮想マシンモニタが、
    前記認証ダイアログを介して利用者の認証情報の入力を受け付け、この認証情報と予め記憶手段に格納している認証用情報とを照合して前記利用者の認証を実行し、当該認証に成功すると、前記認証ダイアログを表示していた表示装置と認証情報の入力に用いられたヒューマンインタフェースデバイスとを関連付けた情報を記憶手段に格納する処理と、
    前記認証に成功した利用者について、記憶手段にて予め対応付けされた仮想マシンを起動する処理とを実行する、
    ことを特徴とする請求項4に記載のデバイス接続制御方法。
  10. 前記仮想マシンモニタが、起動した前記仮想マシンに対し、前記関連付けを行った前記表示装置と前記ヒューマンインタフェースデバイスとが接続された旨の情報を通知し、
    前記仮想マシンが、前記表示装置と前記ヒューマンインターフェースデバイスについてプラグアンドプレイを行い、前記表示装置と前記ヒューマンインターフェースデバイスに対応するクラスドライバもしくは個々のデバイスドライバをロードし、前記関連付けを行った前記表示装置と前記ヒューマンインタフェースデバイスを占有する、
    ことを特徴とする請求項9に記載のデバイス接続制御方法。
JP2008270132A 2008-10-20 2008-10-20 デバイス接続制御方法 Pending JP2010097567A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008270132A JP2010097567A (ja) 2008-10-20 2008-10-20 デバイス接続制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008270132A JP2010097567A (ja) 2008-10-20 2008-10-20 デバイス接続制御方法

Publications (1)

Publication Number Publication Date
JP2010097567A true JP2010097567A (ja) 2010-04-30

Family

ID=42259173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008270132A Pending JP2010097567A (ja) 2008-10-20 2008-10-20 デバイス接続制御方法

Country Status (1)

Country Link
JP (1) JP2010097567A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013182522A (ja) * 2012-03-02 2013-09-12 Nec Corp シンクライアントシステム、中継装置、画面情報転送方法、及び画面情報転送プログラム
KR101334692B1 (ko) * 2012-05-21 2013-12-02 세진전자 주식회사 Usb 장치의 다중 hid 데이터 제어 시스템
WO2013190688A1 (ja) * 2012-06-21 2013-12-27 富士通株式会社 情報処理システム,情報処理方法,通信装置
JP2014525612A (ja) * 2011-08-10 2014-09-29 クアルコム,インコーポレイテッド モバイルデバイス上にセキュア仮想環境を提供するための方法および装置
WO2015145983A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 コンピュータシステム、データ処理装置、バスデータ転送方法、および、コンピュータ可読記録媒体
JP2016505946A (ja) * 2012-12-07 2016-02-25 華為技術有限公司Huawei Technologies Co.,Ltd. 複数のバーチャルマシーンをマッピングする方法及びシステム並びにクライアント装置
JP2016133959A (ja) * 2015-01-19 2016-07-25 千和 大倉 ネットワーク接続装置、ネットワーク接続方法、およびネットワーク接続システム
WO2022190388A1 (ja) 2021-03-12 2022-09-15 富士通株式会社 中継制御方法、中継制御プログラム、中継制御装置、および情報処理システム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014525612A (ja) * 2011-08-10 2014-09-29 クアルコム,インコーポレイテッド モバイルデバイス上にセキュア仮想環境を提供するための方法および装置
JP2013182522A (ja) * 2012-03-02 2013-09-12 Nec Corp シンクライアントシステム、中継装置、画面情報転送方法、及び画面情報転送プログラム
KR101334692B1 (ko) * 2012-05-21 2013-12-02 세진전자 주식회사 Usb 장치의 다중 hid 데이터 제어 시스템
WO2013190688A1 (ja) * 2012-06-21 2013-12-27 富士通株式会社 情報処理システム,情報処理方法,通信装置
JPWO2013190688A1 (ja) * 2012-06-21 2016-02-08 富士通株式会社 情報処理システム,情報処理方法,通信装置
US9509680B2 (en) 2012-06-21 2016-11-29 Fujitsu Limited Information processing system, information processing method and communication device
JP2016505946A (ja) * 2012-12-07 2016-02-25 華為技術有限公司Huawei Technologies Co.,Ltd. 複数のバーチャルマシーンをマッピングする方法及びシステム並びにクライアント装置
WO2015145983A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 コンピュータシステム、データ処理装置、バスデータ転送方法、および、コンピュータ可読記録媒体
JPWO2015145983A1 (ja) * 2014-03-28 2017-04-13 日本電気株式会社 コンピュータシステム、データ処理装置、バスデータ転送方法、および、コンピュータ可読記録媒体
US10324883B2 (en) 2014-03-28 2019-06-18 Nec Corporation Computer system, data-processing apparatus, bus-data transferring method, and computer-readable recording medium for transferring data flowing through system bus
JP2016133959A (ja) * 2015-01-19 2016-07-25 千和 大倉 ネットワーク接続装置、ネットワーク接続方法、およびネットワーク接続システム
WO2022190388A1 (ja) 2021-03-12 2022-09-15 富士通株式会社 中継制御方法、中継制御プログラム、中継制御装置、および情報処理システム

Similar Documents

Publication Publication Date Title
JP2010097567A (ja) デバイス接続制御方法
TWI526931B (zh) 用於虛擬機器之繼承產品啟動
JP5398231B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
US7992143B2 (en) Systems and methods of creating and accessing software simulated computers
CN104704448B (zh) 本地和远程计算环境之间的反向无缝集成
JP2007156587A (ja) 電源制御方法およびこれを実現するシステム
US20150261482A1 (en) Printing system, control method thereof, and non-transitory computer-readable medium
JP2008077325A (ja) ストレージ装置及びストレージ装置に対する設定方法
JP2007122449A (ja) コンピュータシステム
JP2009181345A (ja) 連携システム
JP2010117855A (ja) シンクライアントシステム、シンクライアントシステム構成方法、シンクライアントシステムを構成する周辺機器接続装置および計算機
US20170118191A1 (en) Image processing apparatus, method for controlling the same, and storage medium for carrying out login processing
US20100229114A1 (en) User Interface for Interaction with Virtual Machine
JP4488427B2 (ja) 印刷システム、印刷管理サーバ、印刷制御方法、プログラム及びコンピュータ読み取り可能な記憶媒体
CN103019629A (zh) 打印装置、信息处理装置、打印系统和方法
JP2013175889A (ja) 画像形成装置及びその制御方法
JP5407386B2 (ja) サーバ装置及びプログラム
JP2011164686A (ja) 情報処理装置、画像処理装置、ログインの認証方法、プログラム及び記録媒体
CN101131641B (zh) 对系统状态改变作出反应的用户界面管理设备和方法
JP2005313413A (ja) 画像処理システム、画像処理装置及びプログラム
JP5193010B2 (ja) 申告データ作成システム、申告データ作成方法、コンピュータ装置、接続管理サーバ、およびデータベースサーバ
JP2007213419A (ja) 情報処理装置、セッションの制御方法、及びプログラム
JP2005228018A (ja) ネットワーク端末システム
JP5673077B2 (ja) 画像処理装置とその処理方法及びプログラム。
EP4014460A1 (en) A multi-function device, a system, a method of configuring a multi-function device, and a program