JP5626839B2 - 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法 - Google Patents

仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法 Download PDF

Info

Publication number
JP5626839B2
JP5626839B2 JP2010065275A JP2010065275A JP5626839B2 JP 5626839 B2 JP5626839 B2 JP 5626839B2 JP 2010065275 A JP2010065275 A JP 2010065275A JP 2010065275 A JP2010065275 A JP 2010065275A JP 5626839 B2 JP5626839 B2 JP 5626839B2
Authority
JP
Japan
Prior art keywords
virtual machine
data
communication connection
connection destination
identification information
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.)
Expired - Fee Related
Application number
JP2010065275A
Other languages
English (en)
Other versions
JP2011198157A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010065275A priority Critical patent/JP5626839B2/ja
Priority to US13/045,702 priority patent/US8752046B2/en
Publication of JP2011198157A publication Critical patent/JP2011198157A/ja
Application granted granted Critical
Publication of JP5626839B2 publication Critical patent/JP5626839B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、仮想計算機システム、仮想計算機制御装置および仮想計算機制御方法に関する。
一般に、クライアント−サーバ間で遠隔操作を行なうには、クライアントとサーバの双方に専用のソフトウェアを用意する。そして、それらのソフトウェアを連携して動作させることで、クライアントからサーバを操作し、サーバの処理結果をクライアントに表示させることが可能となる。
例えば、VNC(Virtual Network Computing)やリモートデスクトップなどの技術を使用した遠隔操作では、クライアントからサーバに、クライアントに接続したキーボードやマウス操作が伝えられる。すると、サーバは、あたかもサーバに接続されたキーボードやマウスが操作されたように処理を行なう。そして、サーバは、サーバの出力画面をクライアントに送信する。クライアントは、クライアントの出力画面にサーバの出力画面を表示する。
上記技術に関連して、クライアントコンピュータからサーバコンピュータのI/Oデバイスを使用可能にする仮想化されたI/Oデバイスをもつ計算機システムについて知られている。
また、クライアントコンピュータに接続されているUSBデバイスに対するアクセスおよび制御をサーバコンピュータへ選択的に導くまたは導き直すプロセスについて知られている。
特開2004−258840号公報 特開2006−195981号公報
上述のように、例えば、クライアントからサーバを遠隔操作する場合、クライアントからは、サーバに接続されたキーボードやマウスなどサーバを操作するための周辺機器のみが操作可能である。したがって、クライアントから、サーバに対して、クライアントに接続される機器を操作させるといったことができない。これは、サーバを遠隔するクライアントに接続される機器をサーバに認識させることができないからである。この場合の簡単な例を図1および図2に示す。
図1は、ネットワーク130を介してサーバ120と接続したクライアント110にUSB(Universal Serial Bus)メモリ111が接続されている場合を示している。
この場合、利用者は、クライアント110からサーバ120を操作し、例えば、ブログ(Weblog)やSNS(Social Network Service)のサイトの変更・更新などを行なうプログラムをサーバ120で実行させることができる。
しかし、サーバ120は、クライアント110に接続されたUSBメモリ111を認識することができない。そのため、利用者は、サーバ120に対して、USBメモリ111に保存された写真等のデータを直接読み出してブログやSNSのサイトにアップロードさせることができない。
この場合、利用者は、USBメモリ111に記憶されている写真等のデータをクライアント110からサーバ120に送信してから、送信した写真等のデータをサーバ120にアップロードさせる必要がある。
図2は、携帯端末装置210と、ゲームに使用するゲームパッド221を接続したゲーム機220と、がネットワーク230を介して接続している場合を示している。携帯端末装置210はクライアント機能を有し、ゲーム機220はサーバ機能を有する。
この場合、携帯端末装置210は、ゲーム機220を操作し、ゲーム機220でゲームを実行することができる。
しかし、携帯端末装置210にゲームパッド211を接続したとしても、ゲーム機220はゲームパッド211を認識することができない。そのため、利用者は、ゲームパッド211を使用してゲームをすることができない。利用者は、携帯端末装置210のテンキー等での操作をゲームパッド221での操作にエミュレートしてゲームを行なうことになる。
本仮想計算機システムは、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、サーバにアクセスするクライアントに備わる機器をサーバに操作させることができるようにすることである。
本仮想計算機システムの1つの観点によれば、本仮想計算機システムは、以下の構成要素を備える。
本仮想計算機システムは、ハードウェア資源を管理することにより、1または2以上の第1の仮想機械を実現する第1の仮想機械実現装置と1または2以上の第2の仮想機械を実現する第2の仮想機械実現装置とを備える。前記第1の仮想機械実現装置と前記第2の仮想機械実現装置は通信可能に接続する。
前記第1の仮想機械実現装置は、以下の構成要素を備える。
機器接続検出処理部は、第1の機器が接続されたことを検出する。
接続機器通知処理部は、機器毎の通信接続先を示す通信接続先情報にしたがって、前記第1の機器が接続されたことを前記第1の機器の通信接続先である前記第2の仮想機械実現装置に通知する。
第1の入出力制御部は、前記第2の仮想機械実現装置から前記第1の機器への第1のデータを受信すると前記第1の機器に前記第1のデータを送信する。また、第1の入出力制御部は、前記第1の機器から第2のデータを受信すると、前記通信接続先情報にしたがって、前記第2の仮想機械実現装置に前記第2のデータを送信する。また、前記第1の入出力制御部は、前記通信接続先情報に含まれる識別情報の前記第2の仮想機械実現装置の接続性が無効に設定されている場合、前記第2のデータを前記第1の仮想機械に送信する。
前記第2の仮想機械実現装置は、以下の構成要素を備える。
認証処理部は、接続を許可する装置の識別情報として前記第1の仮想機械実現装置の識別情報が含まれる場合に、該識別情報にしたがって、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置に接続を許可するか否か判別する。そして、認証処理部は、接続を許可する場合のみ、前記第1の機器が接続されたことを前記第2の仮想機械に通知する。
第2の入出力制御部は、前記第1の仮想機械実現装置から前記第2のデータを受信すると前記第2の仮想機械に前記第2のデータを送信する。また、第2の入出力制御部は、前記第2の仮想機械から前記第1の機器への前記第1のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第1のデータを送信する。
本仮想計算機システムによると、サーバにアクセスするクライアントに備わる機器をサーバに操作させることができる。
ネットワークを介してサーバと接続したクライアントにUSBメモリが接続されている場合の例を示す図である。 携帯端末装置と、ゲームに使用するゲームパッドを接続したゲーム機と、がネットワークを介して接続している場合の例を示す図である。 本実施例に係る情報処理システムの概要を説明する図である。 本実施例に係る識別情報の例を示す図である。 本実施例に係る通信接続先情報の例を示す図である。 本実施例に係る割り込み情報の例を示す図である。 本実施例に係る情報処理システムのクライアントに機器が接続された場合の処理を示すフローチャートである。 本実施例に係る情報処理システムのクライアントに接続されている機器からサーバのゲストOSを操作する処理を示すフローチャートである。 本実施例に係る情報処理システムのサーバのゲストOSからクライアントに接続する機器にデータを送信する処理を示すフローチャートである。 本実施例に係るサーバおよびクライアントの構成例を示す図である。
以下、本実施形態の一例について、図3〜図10に基づいて説明する。
図3は、本実施例に係る情報処理システム3000の概要を説明する図である。
図3に示す情報処理システム3000は、サーバとして動作する情報処理装置3100と、クライアントとして動作する情報処理装置3200と、を備える。そして、情報処理装置3100と情報処理装置3200とは、インターネットや専用回線などを介して、互いに通信可能に接続している。
以下、情報処理装置3100を単に「サーバ3100」といい、情報処理装置3200を単に「クライアント3200」という。
サーバ3100は、図10で後述するCPU1001、メモリ1002、入力装置1003、出力装置1004、外部記憶装置1005、媒体駆動装置1006およびネットワーク接続装置1007などを含むハードウェア3110を備える。そして、ハードウェア3110に含まれるCPU1001が、メモリ1002上に展開された所定のプログラムを実行することにより、ハイパーバイザ3120を実現する。
ハイパーバイザ3120は、サーバ3100が実現する仮想計算機システム全体を制御する。例えば、ハイパーバイザ3120は、ホストOS(Operating System)3130やゲストOS3140が動作するためのVM(Virtual Machine:仮想機械)を提供する。そして、ハイパーバイザ3120は、各OSのディスパッチ処理、各OSが実行する特権命令のエミュレート、CPUに関するハードウェア制御などを行なう。なお、図3には、ゲストOSが1つの場合を示しているが、ゲストOSの数を限定する趣旨ではない。
ここで、ハイパーバイザ3120は、認証処理部3121と、入出力制御部3122と、を備える。なお、図3中には、ハイパーバイザ3120内に識別情報記憶部3123を記載してあるが、これは理解を容易にするためである。識別情報記憶部3123がハイパーバイザ3120の構成に必須であることを示すものではない。識別情報400については、図4で後述する。
認証処理部3121は、クライアントから送られる割り込み情報600を受信すると、割り込み情報600を送信したクライアントが識別情報記憶部3123に記憶されている識別情報400に登録されているか否かを確認する。そして、認証処理部3121は、識別情報記憶部3123に登録されているクライアントのみ接続を許可する。接続を許可すると、認証処理部3121は、割り込み情報600をゲストOS3140に通知する。割り込み情報600については、図6に示す。
入出力制御部3122は、ホストOS3130やゲストOS3140から機器へのアクセスなどを制御する。なお、サーバ3100に接続する機器を「機器3150」、クライアント3200に接続する機器を「機器3250」という。
例えば、入出力制御部3122は、ゲストOS3140が識別情報400に登録されている機器3250に送信するデータを受信すると、その受信したデータを、識別情報400に登録されているクライアント3200に送信する。
また、入出力制御部3122は、ゲストOS3140が識別情報400に登録されていない機器3150に送信するデータを受信すると、その受信したデータを、サーバ3100に接続され機器3250に対応する機器3150に送信する。なお、「対応する」とは、ホストOS3130やゲストOS3140からは同一または同種のものと認識するということである。
また、例えば、入出力制御部3122は、クライアント3200からゲストOS3140へのデータを受信すると、指定のゲストOS3140にデータを送信する。
識別情報記憶部3123は、通信接続を許可するクライアントの固体識別子、例えばMACアドレスやIPアドレスを機器毎に登録する識別情報400を記憶する記憶装置である。識別情報記憶部3123は、例えば、ハードウェア3110に含まれるメモリ1002や外部記憶装置1005などによって実現することができる。
本実施例に係る仮想計算機システムでは、ホストOS3130やゲストOS3140は、公知のOSを使用することができる。したがって、ホストOS3130やゲストOS3140については、様々な公知技術を用いることができる。以下、ホストOS3130やゲストOS3140については、概要のみを述べる。
ホストOS3130は、ハイパーバイザ3120が提供するVMで動作するOSである。ホストOS3130は、ハイパーバイザ3120が起動すると、ハイパーバイザ3120によって自動的に起動される。
また、ホストOS3130は、仮想計算機システム全体の操作や管理を行なう。例えば、ホストOS3130は、ゲストOS3140の起動や停止などを制御する。また、ホストOS3130は、ゲストOS3140に割当てるハードウェア資源(例えば、CPU、メモリ、I/Oなど)を管理する。また、ホストOS3130は、ゲストOS3140が実行したI/O命令を実I/O装置に送信する。
ゲストOS3140も、ホストOS3130と同様に、ハイパーバイザ3120が提供するVMで動作するOSである。ゲストOS3140は、ホストOS3130により起動される。ゲストOS3140は、ホストOS3130を介して実I/O装置にアクセスする。この場合、ゲストOS3140には、仮想的なI/O装置が割当てられる。
ゲストOS3140は、割り込み処理部3141や入出力処理部3142などを備える。
割り込み処理部3141は、例えば、認証処理部3121から割り込み情報600の通知を受けると、割り込み情報600に含まれる割り込みベクタ番号に応じて、あらかじめ決められた処理を行なう。
例えば、割り込み処理部3141は、割り込み情報600に含まれる割り込みベクタ番号で特定される機器に対して、入出力処理部3142を介してアクセスし、機器、例えばUSBメモリについての情報を取得する。そして、割り込み処理部3141は、機器の動作に必要なドライバ3143を起動する。また、割り込み処理部3141は、機器を、ゲストOS3140の装置構成についての情報を保持するデバイス情報に登録する。以後、ゲストOS3140は、ドライバ3143を使用して機器へのアクセスが可能となる。
クライアント3200は、サーバ3100と同様に、図10で後述するCPU1001、メモリ1002、入力装置1003、出力装置1004、外部記憶装置1005、媒体駆動装置1006およびネットワーク接続装置1007などを含むハードウェア3210を備える。そして、ハードウェア3210に含まれるCPU1001が、メモリ1002上に展開された所定のプログラムを実行することにより、ハイパーバイザ3220を実現する。
なお、本実施例では、サーバ3100に備わるハードウェア3110とクライアント3200に備わるハードウェア3210とに共通するハードウェアを、図10に示すハードウェアを用いて説明する。ただし、ハードウェア3110とハードウェア3210とが同一の構成であるという意味ではない。例えば、ハードウェア3110とハードウェア3210が同一のCPUやメモリなどを備えることに限定する趣旨ではない。
ハイパーバイザ3220は、ホストOS3230やゲストOS3240が動作するVMを提供し、ホストOS3230やゲストOS3240が実行する特権命令のエミュレートなどを行なう。なお、図3には、ゲストOSが1つの場合を示しているが、ゲストOSの数を限定する趣旨ではない。
ハイパーバイザ3220は、クライアント3200が実現する仮想計算機システム全体を制御する。例えば、ハイパーバイザ3220は、ホストOS3230やゲストOS3240が動作するためのVMを提供する。そして、ハイパーバイザ3220は、各OSのディスパッチ処理、各OSが実行する特権命令のエミュレート、CPUに関するハードウェア制御などを行なう。なお、図3には、ゲストOSが1つの場合を示しているが、ゲストOSの数を限定する趣旨ではない。
ここで、ハイパーバイザ3220は、接続機器検出処理部3221と、接続機器通知処理部3222と、入出力制御部3223と、を備える。なお、図3中には、ハイパーバイザ3220内に通信接続先情報記憶部3224を記載してあるが、これは理解を容易にするためである。通信接続先情報記憶部3224がハイパーバイザ3220の構成に必須であることを示すものではない。
接続機器検出処理部3221は、クライアント3200に機器3250が接続したことを検出する。すると、接続機器検出処理部3221は、接続機器通知処理部3222に対して、クライアント3200に機器が接続したことを割り込み情報600とともに通知する。
接続機器通知処理部3222は、図5で後述する通信接続先情報500にしたがって、通信接続先を決定する。そして、接続機器通知処理部3222は、決定した通信接続先に割り込み情報600を通知する。
例えば、通信接続先がサーバ3100である場合、接続機器通知処理部3222は、サーバ3100に割り込み情報600を通知する。この場合、接続機器通知処理部3222は、割り込み情報600にクライアント3200のIPアドレスを付加する。また、通信接続先にサーバが設定されていない場合、接続機器通知処理部3222は、クライアント3200のゲストOS3240に割り込み情報600を通知する。
入出力制御部3223は、ゲストOS3240やホストOS3230から機器へのアクセスなどを制御する。
例えば、入出力制御部3223は、接続機器3250からデータを受信すると、通信接続先情報500に設定されている通信接続先にデータを送信する。例えば、接続情報に接続機器3250の通信接続先としてサーバ3100が登録されている場合、入出力制御部3223は、データをサーバ3100に送信する。また、通信接続先情報500の通信接続先にサーバが設定されていない場合、入出力制御部3223は、データをゲストOS3240に送信する。
また、例えば、入出力制御部3223は、サーバ3100から機器3250へのデータを受信すると、指定の機器3250にデータを送信する。
通信接続先情報記憶部3224は、クライアント3200に接続された機器毎にその通信接続先を登録する通信接続先情報500を記憶する記憶装置である。通信接続先情報記憶部3224は、例えば、ハードウェア3210に含まれるメモリ1002や外部記憶装置1005などによって実現することができる。通信接続先情報500については、図5に示し後述する。
本実施例に係る仮想計算機システムでは、ホストOS3230やゲストOS3240についても、ホストOS3130やゲストOS3140と同様に、公知のOSを使用することができる。したがって、ホストOS3230やゲストOS3240についても、様々な公知技術を用いることができる。
図4は、本実施例に係る識別情報400の例を示す図である。
図4に示す識別情報400は、登録順に、登録番号と、登録したクライアントに接続している機器の機器IDと、登録したクライアントのMAC(Media Access Control)アドレスおよびIPアドレスと、を備える。
識別情報400は、あらかじめ設定しておくことができる。また、クライアント3200から割り込み情報600を受信した時に、入力装置1003を介して利用者に通信接続先を指定させる機能をハイパーバイザ3120に持たせることもできる。
図5は、本実施例に係る通信接続先情報500の例を示す図である。
図5に示す通信接続先情報500は、登録順に、登録番号と、登録した機器の識別情報400である機器IDと、サーバへの通信接続の有効性と、通信接続先のサーバのIPアドレスと、を備える。なお、本実施例のように、サーバ3100が仮想計算機システムを構成する場合、通信接続先情報500に登録するIPアドレスは、仮想計算機システムで動作する各サーバに割当てられたIPアドレスである。
サーバ接続有効性は、例えば、「有効」または「無効」を設定することができる。サーバ接続有効性に「有効」と設定されている場合、IPアドレスが示すサーバが通信接続先となる。また、サーバ接続有効性に「無効」と設定されている場合、クライアント3200のゲストOS3240が通信接続先となる。
通信接続先情報500は、あらかじめ設定しておくことができる。また、クライアント3200に機器が接続されたことを検出した時に、入力装置1003を介して利用者に通信接続先を指定させる機能をハイパーバイザ3220に持たせることもできる。
通信接続先情報500には、同一の機器に対して複数のサーバを通信接続先として登録することもできる。この場合、例えば、ハイパーバイザ3220に、ディスプレイ等の表示手段に通信接続先の候補を表示して利用者に通信接続先を選択させる機能を持たせることもできる。
図6は、本実施例に係る割り込み情報600の例を示す図である。
図6に示す割り込み情報600は、割り込み種別を示す割り込みベクタ番号を備える。ただし、図6に示すように、クライアント3200からサーバ3100への割り込み情報600の送信時には、割り込み情報600にクライアント3200のIPアドレスが付加される。
図7は、本実施例に係る情報処理システム3000のクライアント3200に機器3250が接続された場合の機器の接続処理を示すフローチャートである。
サーバ3100では、例えば、ハイパーバイザ3120起動後の初期設定時や利用者から要求に応じて、ハイパーバイザ3120は識別情報400への登録を行なう(ステップS701b)。識別情報400への登録は、あらかじめ行なっておいてもよい。
クライアント3200では、例えば、ハイパーバイザ3220起動後の初期設定時や利用者からの要求に応じて、ハイパーバイザ3220は通信接続先情報500への登録を行なう(ステップS701c)。通信接続先情報500への登録は、あらかじめ行なっておいてもよい。
ここで、クライアント3200に機器3250が接続された場合を考える。
ステップS702cにおいて、クライアント3200に機器3250が接続されると、接続機器検出処理部3221は、ハードウェア3210からの割り込み信号などにより、機器3250の接続を検出する。すると、接続機器通知処理部3222は、通信接続先情報記憶部3224に記憶されている通信接続先情報500を参照し、機器3250の通信接続先を取得する。
ステップS703cにおいて、通信接続先情報500にサーバ接続が有効と設定されているサーバが登録されている場合(ステップS703c YES)、接続機器通知処理部3222は、サーバ接続が有効となっている複数のサーバから1つのサーバを選択する(ステップS704c)。
例えば、接続機器通知処理部3222は、通信接続先情報500にサーバ接続が有効となっている複数のサーバを、機器3250の通信接続先の選択候補としてディスプレイ等の表示手段に表示し、利用者に機器3250の通信接続先の選択を促す。そして、接続機器通知処理部3222は、利用者が指定したサーバを、機器3250の通信接続先として選択する。
なお、通信接続先情報500にサーバ接続が有効となっているサーバが1つである場合、接続機器通知処理部3222は、そのサーバ接続が有効となっているサーバを機器3250の通信接続先として選択する。
ステップS705cにおいて、接続機器通知処理部3222は、ステップS704cで選択したサーバに割り込み情報600を送信する。この送信のとき、接続機器通知処理部3222は、割り込み情報600にクライアント3200のIPアドレスを付加する。
通信接続先情報500にサーバ接続が有効に設定されているサーバが登録されていない場合(ステップS703c NO)、接続機器通知処理部3222は、クライアント3200のゲストOS3230に割り込み情報600を送信する(ステップS706c)。なお、通信接続先情報500にサーバが登録されていない場合も(ステップS703c NO)、接続機器通知処理部3222は、クライアント3200のゲストOS3230に割り込み情報600を送信する(ステップS706c)。
サーバ3100では、ハイパーバイザ3120がクライアント3200から送信される割り込み情報600を受信する(ステップS702b)。すると、認証処理部3121は、識別情報記憶部3123に記憶されている識別情報400を参照する。そして、割り込み情報600を送信したクライアント3200が識別情報400に登録されていない場合(ステップS703b NO)、認証処理部3121は、送信された割り込み情報600を無視する(ステップS705b)。
また、割り込み情報600を送信したクライアント3200が識別情報400に登録されている場合(ステップS703b YES)、認証処理部3121は、サーバ3100のゲストOS3140に割り込み情報600を送信する(ステップS704b)。例えば、認証処理部3121は、ハイパーバイザ3120が提供するVMの任意のI/OポートAからの割り込みにより割り込み情報600をゲストOS3140に送信する。
ステップS701aにおいて、ゲストOS3140は、ハイパーバイザ3120から割り込み情報600を受信する。すると、ゲストOS3140は、接続された機器3250を認識する(ステップS702a)。
例えば、ゲストOS3140は、ハイパーバイザ3120から割り込み情報600を受信すると、必要に応じて、割り込み情報600で特定される機器3250に対して、図8および図9に示す処理にしたがってアクセスする。そして、ゲストOS3140は、機器3250についての情報を取得する。そして、取得した情報に基づいて、ゲストOS3140は、機器3250の動作に必要なドライバを起動する。また、ゲストOS3140は、機器3250を、ゲストOS3140の機器構成についての情報を保持するデバイス情報に登録する。
以後、ゲストOS3140は、ドライバを使用して機器3250に対してアクセスが可能となる。なお、例えば、ハイパーバイザ3120は、ハイパーバイザ3120が提供するVMの任意のI/OポートAからの割り込みにより機器3250の接続を通知するので、ゲストOS3140は、I/OポートAに機器3250が接続したものと認識することになる。
以上の処理が完了すると、機器の接続処理が終了する(ステップS703a、S706b、S707c)。
図8は、本実施例に係る情報処理システム3000のクライアント3200に接続されている機器3250が、サーバ3100のゲストOS3140を操作する場合の処理を示すフローチャートである。
なお、図8に示す処理は、サーバ3100のゲストOS3140が、クライアント3200に接続されている機器3250からデータ等の情報を取得する場合の処理についても適用できる。この場合、機器3250からゲストOS3140には、操作情報ではなくデータ等の情報が送信されることになる。
ステップS801cにおいて、クライアント3200に接続されている機器3250を利用者が操作すると、入出力制御部3223は、機器3250の操作を検出する。すると、入出力制御部3223は、通信接続先情報記憶部3224に記憶されている通信接続先情報500を参照する。そして、入出力制御部3223は、機器3250についてサーバ接続が有効に設定されているか否かを確認する。
ステップS802cにおいて、機器3250についてサーバ接続が有効に設定されていない場合(ステップS802c NO)、入出力制御部3223は、クライアント3200のゲストOS3240に機器3250の操作情報を通知する(ステップS803c)。
本実施例において、「操作情報」とは、利用者が機器3250に対して行なう操作、または操作にともなう処理の指示に関する情報である。例えば、機器3250に備わるテンキーに対する操作に関する情報である。この操作情報には、機器3250に対して行なわれる操作であって、サーバ3100のゲストOS3140を操作するための操作、または操作にともなう処理の指示に関する情報を含むことができる。
機器3250についてサーバ接続が有効に設定されている場合(ステップS802c YES)、入出力制御部3223は、既に図7のステップS704cで選択したサーバ3100に機器3250の操作情報を送信する(ステップS804c)。
サーバ3100では、入出力制御部3122がクライアント3200から送信される操作情報を受信する(ステップS801b)。すると、入出力制御部3122は、識別情報記憶部3123に記憶されている識別情報400を参照する。そして、入出力制御部3122は、操作情報とともに受信する送信先情報、すなわちIPアドレスで特定されるゲストOS3140に操作情報を送信する(ステップS802b)。このとき、例えば、入出力制御部3122は、ハイパーバイザ3120が提供するVMの特定のI/OポートAを通じて機器3250の操作情報をゲストOS3140に送信する。
ステップS801aにおいて、ゲストOS3140は、ハイパーバイザ3120から操作情報を受信する。すると、ゲストOS3140は、操作情報にしたがって処理を行なう(ステップS802a)。
以上の処理が完了すると、クライアント3200に接続された機器3250からの操作の処理が終了する(ステップS803a、S803b、S805c)。
ここで、例えば、サーバ3100のゲストOS3140で動作するアプリケーションを操作することにより、クライアント3200に接続された機器3250が保持する画像データなどをホームページなどにロードする場合を考える。
この場合、クライアント3200に接続された機器3250、例えばテンキーなどを利用者が操作すると、その操作情報は、図8に示した処理にしたがって、サーバ3100のゲストOS3140に送信される。
すると、サーバ3100のゲストOS3140は、操作情報にしたがって、クライアント3200に接続された機器3250、例えばUSBメモリなどに対して画像データなどを要求する。機器3250、例えばUSBメモリなどに保持される画像データなどは、図8に示した処理にしたがって、サーバ3100のゲストOS3140に送信される。
そして、サーバ3100のゲストOS3140は、操作情報にしたがって、取得した画像データなどをホームページなどにアップロードする。
図9は、本実施例に係る情報処理システム3000のサーバ3100のゲストOS3140からクライアント3200に接続する機器3250に画像データなどのデータ等を送信する処理を示すフローチャートである。
なお、図9に示す処理は、サーバ3100のゲストOS3140からクライアント3200に接続する機器3250に操作情報を送信する処理についても適用できる。この場合、ゲストOS3140から機器3250には、画像データなどのデータ等ではなく操作情報が送信されることになる。
ステップS901aにおいて、ゲストOS3140は、機器3250に対してデータを出力する。なお、ゲストOS3140は、例えば、ハイパーバイザ3120が提供するVMの特定のI/OポートAに機器3250が接続していると認識しているので、ハイパーバイザ3120が提供するVMのI/OポートAにデータを出力する。
ステップS901bにおいて、ホストOS3130が出力したデータは、入出力制御部3122が受信する。すると、入出力制御部3122は、識別情報記憶部3123に記憶されている識別情報400を参照する。そして、機器3250の通信接続先のクライアント3200が識別情報400に登録されていない場合(ステップS902b NO)、入出力制御部3122は、サーバ3100に接続されている機器3150にデータを送信する(ステップS903b)。
また、機器3250の通信接続先のクライアント3200が識別情報400に登録されている場合(ステップS902b YES)、入出力制御部3122は、識別情報400に登録されているクライアント3200に対してデータを送信する(ステップS904b)。
クライアント3200では、サーバ3100から送られるデータを、ハイパーバイザ3220が受信する(ステップS901c)。すると、入出力制御部3223は、サーバ3100から送信されたデータとともに指定された機器3250に、データを送信する(ステップS903c)。機器3250は、送信されたデータを受信し、受信したデータ所定のアドレスに格納するなどの処理を行なう(ステップS904c)。
図10は、本実施例に係るサーバ3100およびクライアント3200の構成例を示す図である。本実施例に係るサーバ3100とクライアント3200は、同じ構成のものを用いることができる。以下では、サーバ3100の場合を例に構成の説明をする。なお、サーバ3100とクライアント3200が同一の構成であることに限定する趣旨でないのは当然である。
図10に示すサーバ3100のハードウェア3110は、CPU1001と、メモリ1002と、入力装置1003と、出力装置1004と、外部記録装置1005と、媒体駆動装置1006と、ネットワーク接続装置1007と、を備える。そして、これらの装置はバスに接続されて相互にデータの受け渡しが行える構成となっている。
CPU1001は、周辺機器や各種ソフトウェアを実行する他に本実施例に係るハイパーバイザ3120を実現するプログラムを実行する装置である。また、メモリ1002は、任意のプログラム等を記憶する装置である。メモリ1002には、例えば、RAM(Random Access Memory)などの揮発性のメモリを使用することができる。
入力装置1003は、外部からデータを入力する装置である。入力装置1003として、例えば、キーボードやマウスなどを使用することができる。出力装置1004は、データ等を出力しディスプレイ等の表示手段に表示させる装置である。
外部記録装置1005は、サーバ3100が動作するために必要なプログラムやデータの他に本実施例に係るハイパーバイザ3120を実現するプログラムを記録する装置である。外部記録装置1005には、例えば、磁気ディスク装置などを使用することができる。
媒体駆動装置1006は、メモリ1002や外部記録装置1005のデータを可搬記録媒体1008に出力し、または可搬記録媒体1008からプログラムやデータ等を読み出す装置である。なお、可搬記録媒体1008として、例えば、フロッピイディスクやMOディスク、CD−RやDVD−Rなどを使用することができる。
ネットワーク接続装置1007は、ネットワークに接続するための装置である。
上述のように、クライアント3200に機器3250が接続された場合、機器3250が通信接続先情報500に登録され、そのサーバ接続有効性が「有効」のとき、ハイパーバイザ3220は、その「有効」に設定されたサーバ3100に割り込み情報を送信する。
一方、サーバ3100で動作するハイパーバイザ3120は、識別情報400に登録されたサーバ3100から割り込み情報を受信すると、その割り込み情報をゲストOS3140に通知する。このとき、ゲストOS3140は、例えば、ハイパーバイザ3120が提供するVMの任意のI/Oポートからの割り込みによって割り込み情報が通知される。したがって、OS3140は、自身のI/Oポートに機器3250が接続されたと認識し、所定のドライバを起動するなど機器3250を動作させるために必要な動作を行なって機器3250へのアクセスが可能となる。
その結果、サーバ3100にアクセスするクライアント3200に備わる機器3250をサーバ3100に操作させることが可能となる。
例えば、クライアント3200からサーバ3100で動作するOS3140に対して所定の操作を行なった場合、以下のようにして、OS3140から機器3250へのアクセスが可能となる。以下のデータには、単なるデータの他に操作情報も含まれる。なお、同様に、機器3250からOS3140へのアクセスも可能となることは当然である。
ゲストOS3140から識別情報400に登録された機器3250へのデータの送信を検出すると、サーバ3100で動作するハイパーバイザ3120は、識別情報400に登録されている固体識別子で特定されるクライアント3200にデータを送信する。
一方、通信接続先情報500に登録された機器3250へのデータを受信すると、クライアント3200で動作するハイパーバイザ3220は、受信したデータを機器3250に送信する。
また、通信接続先情報500に登録された機器3250からデータを受信すると、クライアント3200で動作するハイパーバイザ3220は、そのサーバ接続有効性が「有効」に設定されているサーバ3100に対してデータを送信する。
一方、識別情報400に登録されたクライアント3200からデータを受信すると、ハイパーバイザ3120は、受信したデータをゲストOS3140に送信する。
したがって、例えば、遠隔地のクライアント3200に接続した機器3250でサーバ3100のゲストOS3140で動作するソフトウェアを操作し、そのソフトウェアから、遠隔地のクライアント3200に接続した機器3250を操作することが可能となる。
本実施例に係る仮想計算機システムは、ハイパーバイザ3120およびハイパーバイザ3220以外は既存のものを用いることができる。例えば、ハードウェア3110および3210の変更、ホストOS3130、3230、ゲストOS3140および3240の変更などが不要である。その結果、本実施例に係る仮想計算機システムを容易に実現することが可能となる効果を奏する。
本実施例に係るサーバ3100は、識別情報400に登録されたクライアント3200からしか割り込み情報を受付けないので、セキュリティを確保することができるという効果を奏する。
以上に説明した情報処理システム3000において、ホストOS3230またはゲストOS3240は、第1の仮想機械の一例として挙げられる。また、ホストOS3130またはゲストOS3140は、第2の仮想機械の一例として挙げられる。
クライアント3200は、第1の仮想機械実現装置の一例として挙げられる。また、サーバ3100は、第2の仮想機械実現装置の一例として挙げられる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ハードウェア資源を管理することにより、1または2以上の第1の仮想機械を実現する第1の仮想機械実現装置と1または2以上の第2の仮想機械を実現する第2の仮想機械実現装置とが通信可能に接続する仮想計算機システムにおいて、
前記第1の仮想機械実現装置は、
第1の機器が接続されたことを検出する機器接続検出処理部と、
機器毎の通信接続先を示す通信接続先情報にしたがって、前記第1の機器が接続されたことを前記第1の機器の通信接続先である前記第2の仮想機械実現装置に通知する接続機器通知処理部と、
前記第2の仮想機械実現装置から前記第1の機器への第1のデータを受信すると前記第1の機器に前記第1のデータを送信し、前記第1の機器から第2のデータを受信すると、前記通信接続先情報にしたがって、前記第2の仮想機械実現装置に前記第2のデータを送信する第1の入出力制御部と、
を備え、
前記第2の仮想機械実現装置は、
接続を許可する装置の識別情報として前記第1の仮想機械実現装置の識別情報が含まれる場合に、該識別情報にしたがって、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置に接続を許可するか否か判別し、接続を許可する場合のみ、前記第1の機器が接続されたことを前記第2の仮想機械に通知する認証処理部と、
前記第1の仮想機械実現装置から前記第2のデータを受信すると前記第2の仮想機械に前記第2のデータを送信し、前記第2の仮想機械から前記第1の機器への前記第1のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第1のデータを送信する第2の入出力制御部と、
を備えたことを特徴とする仮想計算機システム。
(付記2)
前記認証処理部は、前記識別情報に、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置の識別情報が含まれる場合、前記第1の仮想機械実現装置の接続を許可する、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記3)
前記認証処理部は、前記識別情報に、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置の識別情報が含まれない場合、前記第1の仮想機械実現装置の接続を許可しない、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記4)
前記第2の入出力制御部は、前記識別情報に、前記第1の機器が接続されている前記第1の仮想機械実現装置の識別情報が含まれる場合、前記第1の仮想機械実現装置に前記第1のデータを送信する、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記5)
前記第2の入出力制御部は、前記識別情報に、前記第1の機器が接続されている前記第1の仮想機械実現装置の識別情報が含まれない場合、自身に接続し前記第1の機器に対応する第2の機器に前記第1のデータを送信する、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記6)
前記識別情報は、機器と、該機器が接続されている仮想機械実現装置を識別する識別子と、を含む情報である、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記7)
前記第1の入出力制御部は、前記通信接続先情報に前記第1の機器の通信接続先として前記第2の仮想機械実現装置の識別情報が含まれる場合、前記第2のデータを前記第2の仮想機械実現装置に送信する、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記8)
前記第1の入出力制御部は、前記通信接続先情報に含まれる識別情報の前記第2の仮想機械実現装置の接続性が無効に設定されている場合、前記第2のデータを前記第1の仮想機械に送信する、
ことを特徴とする付記7に記載の仮想計算機システム。
(付記9)
前記第1の入出力制御部は、前記通信接続先情報に前記第1の機器の通信接続先の識別情報が含まれない場合、前記第2のデータを前記第1の仮想機械に送信する、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記10)
前記通信接続先情報は、機器と、該機器の通信接続先となる仮想機械実現装置を識別する識別子と、を含む情報である、
ことを特徴とする付記1に記載の仮想計算機システム。
(付記11)
ハードウェア資源を管理することにより、1または2以上の仮想機械を実現する仮想機械制御装置において、
機器が接続されたことを検出する機器接続検出処理部と、
機器毎の通信接続先を示す通信接続先情報にしたがって、前機器が接続されたことを、通信可能に接続した仮想機械実現装置に通知し、前記仮想機械実現装置に接続の許可を要求する接続機器通知処理部と、
接続を許可した前記仮想機械実現装置から前記機器への第1のデータを受信すると前記機器に前記第1のデータを送信し、前記機器から第2のデータを受信すると、前記通信接続先情報にしたがって、接続を許可した前記仮想機械実現装置前記第2のデータを送信する入出力制御部と、
を備えたことを特徴とする仮想計算機制御装置。
(付記12)
前記入出力制御部は、前記通信接続先情報に前記仮想機械実現装置の識別情報が含まれる場合、前記機器から前記第2のデータを受信すると、前記第2のデータを前記仮想機械実現装置に送信する、
ことを特徴とする付記11に記載の仮想計算機制御装置。
(付記13)
前記入出力制御部は、前記通信接続先情報に含まれる識別情報の前記仮想機械実現装置についての接続性が無効に設定されている場合、前記機器から前記第2のデータを受信すると、前記第2のデータを前記仮想機械に送信する、
ことを特徴とする付記12に記載の仮想計算機制御装置。
(付記14)
前記入出力制御部は、前記通信接続先情報に前記仮想機械実現装置の識別情報が含まれない場合、前記第2のデータを前記仮想機械に送信する、
ことを特徴とする付記11に記載の仮想計算機制御装置。
(付記15)
ハードウェア資源を管理することにより、1または2以上の仮想機械を実現する仮想機械制御装置において、
接続を許可する装置の識別情報として仮想機械実現装置の識別情報が含まれる識別情報にしたがって、第1の機器が接続されたことを通知した第1の仮想機械実現装置に接続を許可するか否か判別し、接続を許可する場合のみ、前記第1の機器が接続されたことを前記仮想機械に通知する認証処理部と、
前記第1の仮想機械実現装置から第1のデータを受信すると前記仮想機械に送信し、前記仮想機械から第2のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第2のデータを送信する入出力制御部と、
を備えたことを特徴とする仮想計算機制御装置。
(付記16)
前記入出力制御部は、前記識別情報に、前記第1の機器が接続されている前記第1の仮想機械実現装置の識別情報が含まれる場合、前記第1の仮想機械実現装置に前記第2のデータを送信する、
ことを特徴とする付記15に記載の仮想計算機システム。
(付記17)
前記入出力制御部は、前記識別情報に、前記第1の機器が接続されている前記第1の仮想機械実現装置の識別情報が含まれない場合、自身に接続し前記第1の機器に対応する第2の機器に前記第2のデータを送信する、
ことを特徴とする付記15に記載の仮想計算機システム。
(付記18)
ハードウェア資源を管理することにより、1または2以上の第1の仮想機械を実現する第1の仮想機械実現装置と1または2以上の第2の仮想機械を実現する第2の仮想機械実現装置とが通信可能に接続する仮想計算機システムの実行方法において、
前記第1の仮想機械実現装置に、
第1の機器が接続されたことを検出する機器接続検出処理と、
機器毎の通信接続先を示す通信接続先情報にしたがって、前記第1の機器が接続されたことを前記第1の機器の通信接続先である前記第2の仮想機械実現装置に通知する接続機器通知処理と、
前記第2の仮想機械実現装置から前記第1の機器への第1のデータを受信すると前記第1の機器に前記第1のデータを送信し、前記第1の機器から第2のデータを受信すると、前記通信接続先情報にしたがって、前記第2の仮想機械実現装置に前記第2のデータを送信する第1の入出力制御処理と、
を実行させ、
前記第2の仮想機械実現装置に、
接続を許可する装置の識別情報として前記第1の仮想機械実現装置の識別情報が含まれる場合に、該識別情報にしたがって、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置に接続を許可するか否か判別し、接続を許可する場合のみ、前記第1の機器が接続されたことを前記第2の仮想機械に通知する認証処理と、
前記第1の仮想機械実現装置から前記第2のデータを受信すると前記第2の仮想機械に前記第2のデータを送信し、前記第2の仮想機械から前記第1の機器への前記第1のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第1のデータを送信する第2の入出力制御処理と、
を実行させたことを特徴とする方法。
(付記19)
ハードウェア資源を管理することにより、1または2以上の仮想機械を実現する仮想機械の制御方法において、
機器が接続されたことを検出する機器接続検出処理と、
機器毎の通信接続先を示す通信接続先情報にしたがって、前機器が接続されたことを、通信可能に接続した仮想機械実現装置に通知し、前記仮想機械実現装置に接続の許可を要求する接続機器通知処理と、
接続を許可した前記仮想機械実現装置から前記機器への第1のデータを受信すると前記機器に前記第1のデータを送信し、前記機器から第2のデータを受信すると、前記通信接続先情報にしたがって、接続を許可した前記仮想機械実現装置前記第2のデータを送信する入出力制御処理と、
を仮想機械実現装置に実行させたことを特徴とする方法。
(付記20)
ハードウェア資源を管理することにより、1または2以上の仮想機械を実現する仮想機械の制御方法において、
接続を許可する装置の識別情報として仮想機械実現装置の識別情報が含まれる識別情報にしたがって、第1の機器が接続されたことを通知した第1の仮想機械実現装置に接続を許可するか否か判別し、接続を許可する場合のみ、前記第1の機器が接続されたことを前記仮想機械に通知する認証処理と、
前記第1の仮想機械実現装置から第1のデータを受信すると前記仮想機械に送信し、前記仮想機械から第2のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第2のデータを送信する入出力制御処理と、
を仮想機械実現装置に実行させたことを特徴とする方法。
3000 情報処理システム
3100 サーバ
3120 ハイパーバイザ
3121 認証処理部
3122 入出力制御部
3123 識別情報記憶部
3200 クライアント
3220 ハイパーバイザ
3221 接続機器検出処理部
3222 接続機器通知処理部
3223 入出力制御部
3224 通信接続先情報記憶部

Claims (4)

  1. ハードウェア資源を管理することにより、1または2以上の第1の仮想機械を実現する第1の仮想機械実現装置と1または2以上の第2の仮想機械を実現する第2の仮想機械実現装置とが通信可能に接続する仮想計算機システムにおいて、
    前記第1の仮想機械実現装置は、
    第1の機器が接続されたことを検出する機器接続検出処理部と、
    機器毎の通信接続先を示す通信接続先情報にしたがって、前記第1の機器が接続されたことを前記第1の機器の通信接続先である前記第2の仮想機械実現装置に通知する接続機器通知処理部と、
    前記第2の仮想機械実現装置から前記第1の機器への第1のデータを受信すると前記第1の機器に前記第1のデータを送信し、前記第1の機器から第2のデータを受信すると、前記通信接続先情報にしたがって、前記第2の仮想機械実現装置に前記第2のデータを送信する第1の入出力制御部と、
    を備え、
    前記第1の入出力制御部は、前記通信接続先情報における前記第1の機器の前記第2の仮想機械実現装置への通信接続の有効性が無効に設定されている場合、前記第2のデータを前記第1の仮想機械に送信し、
    前記第2の仮想機械実現装置は、
    接続を許可する装置の識別情報として前記第1の仮想機械実現装置の識別情報が含まれる場合に、該識別情報にしたがって、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置に接続を許可するか否か判別し、接続を許可する場合のみ、前記第1の機器が接続されたことを前記第2の仮想機械に通知する認証処理部と、
    前記第1の仮想機械実現装置から前記第2のデータを受信すると前記第2の仮想機械に前記第2のデータを送信し、前記第2の仮想機械から前記第1の機器への前記第1のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第1のデータを送信する第2の入出力制御部と、
    を備えたことを特徴とする仮想計算機システム。
  2. 前記認証処理部は、前記識別情報に、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置の識別情報が含まれる場合、前記第1の仮想機械実現装置の接続を許可する、
    ことを特徴とする請求項1に記載の仮想計算機システム。
  3. ハードウェア資源を管理することにより、1または2以上の仮想機械を実現する仮想計算機制御装置において、
    前記仮想計算機制御装置に機器が接続されたことを検出する機器接続検出処理部と、
    機器毎の通信接続先を示す通信接続先情報にしたがって、前記機器が接続されたことを、前記仮想計算機制御装置と通信可能に接続した仮想機械実現装置に通知し、前記仮想機械実現装置に接続の許可を要求する接続機器通知処理部と、
    接続を許可した前記仮想機械実現装置から前記機器への第1のデータを受信すると前記機器に前記第1のデータを送信し、前記機器から第2のデータを受信すると、前記通信接続先情報にしたがって、接続を許可した前記仮想機械実現装置に前記第2のデータを送信する入出力制御部と、
    を備え、
    前記入出力制御部は、前記通信接続先情報における前記機器の前記仮想機械実現装置への通信接続の有効性が無効に設定されている場合、前記第2のデータを前記仮想機械に送信する、
    ことを特徴とする仮想計算機制御装置。
  4. ハードウェア資源を管理することにより、1または2以上の第1の仮想機械を実現する第1の仮想機械実現装置と1または2以上の第2の仮想機械を実現する第2の仮想機械実現装置とが通信可能に接続する仮想計算機システムの実行方法において、
    前記第1の仮想機械実現装置に、
    第1の機器が接続されたことを検出する機器接続検出処理と、
    機器毎の通信接続先を示す通信接続先情報にしたがって、前記第1の機器が接続されたことを前記第1の機器の通信接続先である前記第2の仮想機械実現装置に通知する接続機器通知処理と、
    前記第2の仮想機械実現装置から前記第1の機器への第1のデータを受信すると前記第1の機器に前記第1のデータを送信し、前記第1の機器から第2のデータを受信すると、前記通信接続先情報にしたがって、前記第2の仮想機械実現装置に前記第2のデータを送信し、前記通信接続先情報における前記第1の機器の前記第2の仮想機械実現装置への通信接続の有効性が無効に設定されている場合、前記第2のデータを前記第1の仮想機械に送信する第1の入出力制御処理と、
    を実行させ、
    前記第2の仮想機械実現装置に、
    接続を許可する装置の識別情報として前記第1の仮想機械実現装置の識別情報が含まれる場合に、該識別情報にしたがって、前記第1の機器が接続されたことを通知した前記第1の仮想機械実現装置に接続を許可するか否か判別し、接続を許可する場合のみ、前記第1の機器が接続されたことを前記第2の仮想機械に通知する認証処理と、
    前記第1の仮想機械実現装置から前記第2のデータを受信すると前記第2の仮想機械に前記第2のデータを送信し、前記第2の仮想機械から前記第1の機器への前記第1のデータを受信すると、前記識別情報にしたがって、前記第1の仮想機械実現装置に前記第1のデータを送信する第2の入出力制御処理と、
    を実行させたことを特徴とする仮想計算機システムの実行方法。
JP2010065275A 2010-03-19 2010-03-19 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法 Expired - Fee Related JP5626839B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010065275A JP5626839B2 (ja) 2010-03-19 2010-03-19 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法
US13/045,702 US8752046B2 (en) 2010-03-19 2011-03-11 Virtual calculating machine system, virtual calculating machine control apparatus and virtual calculating machine control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010065275A JP5626839B2 (ja) 2010-03-19 2010-03-19 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法

Publications (2)

Publication Number Publication Date
JP2011198157A JP2011198157A (ja) 2011-10-06
JP5626839B2 true JP5626839B2 (ja) 2014-11-19

Family

ID=44648249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010065275A Expired - Fee Related JP5626839B2 (ja) 2010-03-19 2010-03-19 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法

Country Status (2)

Country Link
US (1) US8752046B2 (ja)
JP (1) JP5626839B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5705699B2 (ja) * 2011-10-12 2015-04-22 日本電信電話株式会社 接続制御システムおよび接続制御方法
US9460276B2 (en) * 2012-02-22 2016-10-04 Panasonic Intellectual Property Corporation Of America Virtual machine system, confidential information protection method, and confidential information protection program
WO2015132942A1 (ja) * 2014-03-07 2015-09-11 株式会社日立製作所 計算機

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862286B1 (en) * 2000-05-08 2005-03-01 3Com Corporation Tracking dynamic addresses on a network
JP2004258840A (ja) * 2003-02-25 2004-09-16 Hitachi Ltd 仮想化されたi/oデバイスをもつ計算機システム
JP4295184B2 (ja) 2004-09-17 2009-07-15 株式会社日立製作所 仮想計算機システム
US20060107269A1 (en) * 2004-11-17 2006-05-18 International Business Machines Corporation Virtual device hub
US7912987B2 (en) * 2005-01-14 2011-03-22 Microsoft Corporation USB devices in application server environments
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
JP2007219711A (ja) 2006-02-15 2007-08-30 Silex Technology Inc リモートデバイス制御プログラム
JP2007233815A (ja) * 2006-03-02 2007-09-13 Hitachi Ltd 情報処理システムおよび情報処理装置の割当管理方法
JP4127315B2 (ja) * 2006-05-24 2008-07-30 株式会社日立製作所 デバイス管理システム
JP4847272B2 (ja) 2006-10-18 2011-12-28 株式会社日立製作所 論理区画ごとに電源を管理する計算機システム、ストレージ装置及びそれらの制御方法
US7975017B1 (en) * 2008-02-27 2011-07-05 Parallels Holdings, Ltd. Method and system for remote device access in virtual environment
US8438360B2 (en) * 2009-11-23 2013-05-07 Symantec Corporation Distributed storage through a volume device architecture
EP2513810B1 (en) * 2009-12-14 2016-02-17 Citrix Systems, Inc. Methods and systems for communicating between trusted and non-trusted virtual machines

Also Published As

Publication number Publication date
US8752046B2 (en) 2014-06-10
US20110231842A1 (en) 2011-09-22
JP2011198157A (ja) 2011-10-06

Similar Documents

Publication Publication Date Title
US11467978B2 (en) Method and apparatus for hardware virtualization
TWI588751B (zh) 透過基板管理控制器管理虛擬機器的電腦主機與方法
CN106030548B (zh) 用于可信计算的多节点中枢
US9063793B2 (en) Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes
CN104954451B (zh) 一种虚拟化环境下usb设备的访问控制方法
CN107003865A (zh) 利用远程应用的文件共享
US9001364B2 (en) Management system, image forming apparatus, management system control method, and image forming apparatus control method for migration of setting values of an application that operates in the image forimng apparatus
CN106063218A (zh) 虚拟化系统中加解密的方法、装置和系统
EP2754030A1 (en) Virtual switch extensibility
US20100251255A1 (en) Server device, computer system, recording medium and virtual computer moving method
CN104636076A (zh) 一种用于云存储的分布式块设备驱动方法和系统
JP5608527B2 (ja) 仮想環境管理システム、及びその制御方法
JP2013254304A (ja) 情報処理装置、情報処理方法およびプログラム
JP5626839B2 (ja) 仮想計算機システム、仮想計算機制御装置および仮想計算機システムの実行方法
WO2024066638A1 (zh) 远程协助方法、装置、电子设备、云桌面服务器及介质
CN109039765B (zh) 网络配置方法及装置
JP5166307B2 (ja) 接続機器利用システムおよびその方法
JP5533005B2 (ja) 情報処理装置、計算機システム及びプログラム
JP7497637B2 (ja) 情報処理装置およびアクセス制御プログラム
JP5785856B2 (ja) コンピュータリソース提供装置、コンピュータリソース提供方法
EP4070193B1 (en) Providing device abstractions to applications inside a virtual machine
KR101608327B1 (ko) 이기종 하이퍼바이저 환경에서의 스토리지 제공방법
US9213842B2 (en) Tracing data block operations
TW202244731A (zh) 虛擬機的裝置直通方法及其伺服器
KR20210002418A (ko) 원격 접속을 위한 장치, 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20140120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140331

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: 20140924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140925

R150 Certificate of patent or registration of utility model

Ref document number: 5626839

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees