JP2010237788A - サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 - Google Patents

サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 Download PDF

Info

Publication number
JP2010237788A
JP2010237788A JP2009082525A JP2009082525A JP2010237788A JP 2010237788 A JP2010237788 A JP 2010237788A JP 2009082525 A JP2009082525 A JP 2009082525A JP 2009082525 A JP2009082525 A JP 2009082525A JP 2010237788 A JP2010237788 A JP 2010237788A
Authority
JP
Japan
Prior art keywords
host
terminal
physical device
management
server
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.)
Granted
Application number
JP2009082525A
Other languages
English (en)
Other versions
JP5476764B2 (ja
Inventor
Akira Miyamoto
亮 宮本
Ryuichi Matsukura
隆一 松倉
Takashi Ono
敬史 大野
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 JP2009082525A priority Critical patent/JP5476764B2/ja
Priority to GB1004702.5A priority patent/GB2469369B/en
Priority to US12/732,564 priority patent/US20100251255A1/en
Publication of JP2010237788A publication Critical patent/JP2010237788A/ja
Application granted granted Critical
Publication of JP5476764B2 publication Critical patent/JP5476764B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Abstract

【課題】ホストサーバ上で動作する仮想マシンからクライアント端末に接続された物理デバイスへアクセスするためのサーバ装置、計算機システム、プログラム及び仮想計算機移動方法を提供する。
【解決手段】端末管理OS32は、クライント端末3に対して物理デバイスの接続を検出した場合、接続通知を管理サーバ2に送信する。管理サーバ2は、クライアント端末3に割り当てられているホストVM13が当該クライアント端末3に移動が可能であるか否かを判定する。ホスト管理OS12は、管理サーバ2により移動が可能であると判定した場合、ホストVM13をクライアント端末3へネットワーク網Nを介して移動させる。クライアント端末3に移動したホストVM13は、クライアント端末3に接続されている物理デバイスが割り当てられて当該物理デバイスへアクセス可能となる。
【選択図】図5

Description

本願は、サーバ装置で動作する仮想マシンから端末装置に接続された物理デバイスへアクセスするためのサーバ装置、計算機システム、プログラム及び仮想計算機移動方法に関する。
近年、1台のサーバ上で複数の仮想計算機としての仮想マシンを同時に動作させる仮想化技術が普及してきている。この仮想化技術をクライアントOS( Operating System )に適用して、複数のクライアント端末夫々に、ホストサーバ上で動作している複数の仮想マシンを割り当てるシステムがある。各クライアント端末を操作するユーザは、ネットワークを介してホストサーバ上で動作している仮想マシンを利用することが可能となる。また、1台のホストサーバに限るものではなく、複数のホストサーバ上で複数の仮想マシンを動作させることも行われている。この場合、複数のホストサーバ上で各仮想マシンを最適なリソース環境で動作させるべくホストサーバ間で仮想マシンを移動させる技術が知られている(例えば、特許文献1、特許文献2及び特許文献3参照)。
クライアント端末には、ウェブカメラ、DVD( Digital Versatile Disc )ドライブ及びUSB( Universal Serial Bus )メモリ等の物理デバイスが接続されている。クライアント端末に割り当てられたホストサーバ上の仮想マシンは、例えばRDP(Remote Desktop Protocol )等を用い、ネットワークを介してクライアント端末に接続された物理デバイスへアクセスする。物理デバイスとして例えばウェブカメラを利用する場合、仮想マシンは、ネットワークを介してウェブカメラにアクセスし、画像データを随時受信する。また、物理デバイスとして例えばDVDドライブを利用する場合、仮想マシンは、ネットワークを介して記録媒体が挿入されたDVDドライブにアクセスし、DVDドライブが読み取ったデータを受信する。
特開2007−13248号公報 特開平10−190903号公報 特開2006−155576号公報
しかしながら、ネットワークを介して物理デバイスへアクセスするため、仮想化技術による物理デバイスのエミュレーション処理やネットワークの遅延によるスループット低下のために、物理デバイスへのアクセスが遅いという問題があった。
本願は斯かる事情に鑑みてなされたものであり、ユーザにより物理デバイスが接続された端末装置へ仮想計算機を移動させる移動手段を備えることにより、ネットワークを介さずに物理デバイスへアクセスすることで、効率化を可能にするサーバ装置、計算機システム、プログラム及び仮想計算機移動方法を提供することを目的とする。
本願に開示するサーバ装置は、物理デバイスが接続された複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置において、前記複数の端末装置夫々へ、前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定手段と、該判定手段により移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手段と、該移動手段により移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当手段とを備える。
当該装置の一観点によれば、物理デバイスが接続された端末装置へ仮想計算機を移動させる移動手段を備えることにより、ネットワークを介さずに物理デバイスへアクセス可能にする。
計算機システムを示す説明図である。 ホストサーバ及びクライアント端末で実行されるソフトウェアを含む例を示す説明図である。 ハードウェアの例を示すブロック図である。 ハードウェアの例を示すブロック図である。 各ソフトウェアの例を示すブロック図である。 ローカルリソース情報テーブルのレコードレイアウト例を示す図表である。 リソース情報テーブルのレコードレイアウト例を示す図表である。 接続テーブルのレコードレイアウト例を示す図表である。 各ソフトウェアの例を示すブロック図である。 VM起動処理の手順を示すフローチャートである。 リモート接続処理の手順を示すフローチャートである。 接続テーブル更新処理の手順を示すフローチャートである。 移動要求処理の手順を示すフローチャートである。 移動処理の手順を示すフローチャートである。 移動判定処理の手順を示すフローチャートである。 返還処理の手順を示すフローチャートである。 各ソフトウェアの例を示すブロック図である。 物理デバイスの選択に係る画面例を示す模式図である。 移動先端末の選択に係る画面例を示す模式図である。 返還指示を受付けるための画面例を示す模式図である 移動先端末選択処理の手順を示すフローチャートである。 移動先端末選択処理の手順を示すフローチャートである。 一覧作成処理の手順を示すフローチャートである。 返還処理の手順を示すフローチャートである。 返還処理の手順を示すフローチャートである。 各ソフトウェアの例を示すブロック図である。 アクセス制限テーブルのレコードレイアウト例を示す図表である。 アクセス制限処理の手順を示すフローチャートである。 アクセス制限処理の手順を示すフローチャートである。
実施の形態1
以下、実施の形態を図面に基づいて具体的に説明する。図1は、計算機システムを示す説明図である。計算機システムは、サーバ装置としての複数のホストサーバ(コンピュータ)1と、管理装置としての管理サーバ(コンピュータ)2と、端末装置としての複数のクライアント(コンピュータ)端末3とを含む。ホストサーバ1、管理サーバ2及びクライアント端末3夫々は、ネットワーク網Nを介して通信可能に接続してある。ホストサーバ1は、仮想化プログラムとしてのVMM( Virtual Machine Monitor )を実行している。
ホストサーバ1は、複数の仮想計算機(仮想マシン)として複数のVM( Virtual Machine )をVMM上で動作させる。以下、ホストサーバ1で実行しているVMM及び当該VMM上で動作しているVM夫々をホストVMM及びホストVMと呼ぶ。VMMは、例えばXen等である。クライアント端末3は、例えばパーソナルコンピュータ、又はホストサーバ1と同様にVMMを実行させる機能及び入出力機能を有する入出力装置等である。ホストサーバ1で動作している各ホストVMには、クライアント端末3夫々が割り当てられており、各クライアント端末3からリモート操作するようにしてある。これにより、ホストサーバ1及びクライアント端末3は、例えばシンクライアントシステムのホストサーバ及びシンクライアント端末として機能する。また、ホストサーバ1及びクライアント端末3夫々は、複数である場合に限らず1台であってもよい。
図2は、ホストサーバ1及びクライアント端末3で実行されるソフトウェアを含む例を示す説明図である。図2(a)はホストサーバ1を、図2(b)はクライアント端末3を夫々示している。ホストサーバ1は、ハードウェア10と、ホストVMM11と、ホスト管理OS12と、複数のホストVM13とを含む。ホスト管理OS12は、複数のホストVM13と同様にホストVMM11上で動作している。ホストVMM11は、ハードウェア10に含まれる物理デバイスを各ホストVM13に割り当てて、各VM13から物理デバイスへアクセス可能にしてある。ホスト管理OS12は、各ホストVM13が使用している計算資源としてのリソース情報を管理しており、当該リソース情報を管理サーバ2に随時送信するようにしてある。
クライアント端末3は、ホストサーバ1と同様にVMMが実行されており、当該VMM上でVMが動作している。以下、クライアント端末3で実行しているVMM及び当該VMM上で動作しているVM夫々を端末VMM及び端末VMと呼ぶ。クライアント端末3は、ハードウェア30と、端末VMM31と、端末管理OS32と、1つの端末VM33とを含む。端末管理OS32は、端末VM33と同様に端末VMM31上で動作している。端末VMM31は、ハードウェア30に含まれる物理デバイスを端末VM33に割り当てて、端末VM33から物理デバイスへアクセス可能にする。
端末管理OS32は、端末VM33が使用している計算資源としてのリソース情報を管理しており、当該リソース情報を管理サーバ2に随時送信するようにしてある。端末VM33には、ホストサーバ1で動作している複数のホストVM13のうち、1つのホストVM13が対応付けられている。各端末VM33は、対応するホストVM13夫々にリモート接続することにより、各クライアント端末3からホストVM13夫々をリモート操作するようにしてある。
図3は、ハードウェア30の例を示すブロック図である。ハードウェア30は、CPU( Central Processing Unit )300、RAM( Random-Access Memory )301及びHDD( Hard Disk Drive )302を含む。また、ハードウェア30は、NIC( Network Interface Card )303、画像処理部304、表示部305、入出力部306及び記録媒体読込部309等を含む。CPU300は、記録媒体読込部309に挿入された記録媒体310からプログラム3101を読み出してHDD302に記憶するようにしてある。記録媒体310は、CD( Compact Disk )及びDVD等である。CPU300は、HDD302に記憶したプログラム3101等をRAM301に読み出して実行する。
画像処理部304は、CPU300から与えられた画像情報に基づいて画像信号を生成し、表示部305に出力して表示させるようにしてある。表示部305は、例えば、液晶ディスプレイ等である。RAM301は、例えばSRAM( Static RAM )、DRAM( Dynamic RAM )及びフラッシュメモリ等である。RAM301は、CPU300による端末VMM31等の各種プログラムの実行時に発生する種々のデータを一時的に記憶する。入出力部306には、ユーザから操作を受付ける基本入力デバイスとしてキーボード307a及びマウス307b等が接続されている。基本入力デバイスは、キーボード等に限るものではなくタッチパネル等であってもよい。
また、入出力部306には、USBメモリ308a及びDVDドライブ308bが接続されている。USBメモリ308a及びDVDドライブ308b夫々には、USBメモリ及びDVD等の記録媒体が挿入又は取り外し可能にされている。入出力部306は、USBメモリ308a及びDVDドライブ308b夫々に記録媒体が挿入された場合、物理デバイスの接続通知をCPU300に通知するようにしてある。また、入出力部306は、例えばプリンタ、外部の入出力機器が入出力部306に接続された場合、当該入出力機器をクライアント端末3に接続された物理デバイスとして通知してもよい。入出力機器としてスキャナ、デジタルカメラ及びマイクロフォン等を含む。CPU300は、プログラム3101の指示に従い、接続された物理デバイスを検出し(検出ステップ)、ホスト管理OS12に通知するようにしてある(通知ステップ)
図4は、ハードウェア10の例を示すブロック図である。ハードウェア10は、CPU100、RAM101及びHDD102を含む。また、ハードウェア10は、NIC103、画像処理部104、表示部105及び入出力部106及び記録媒体読込部109等を含む。CPU100は、記録媒体読込部109に挿入された記録媒体110からプログラム1101を読み出してHDD102に記憶するようにしてある。CPU100は、HDD102に記憶したプログラム1101等をRAM101に読み出して実行する。RAM101は、CPU100によるホストVMM11等の各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
入出力部106には、基本入出力デバイスとしてキーボード107a及びマウス107b等が接続されている。また、入出力部106には、入出力306と同様にUSBメモリ、DVDドライブ及び外部の入出力機器等を接続してもよい。入出力部106は、入出力部306と同様に接続された物理デバイスをCPU100に通知するようにしてある。CPU100は、プログラム1101の指示に従い、ホストVM13を移動し(移動ステップ)、物理デバイスを割り当てるようにしてある(割当ステップ)。
図5は、各ソフトウェアの例を示すブロック図である。ホストVMM11は、割当手段としての物理デバイス割当部112を含む。物理デバイス割当部112は、ホスト管理OS12から受け取った割当要求に応じて、ホストVM13等に物理デバイスを割り当てるようにしてある。物理デバイス割当部112により物理デバイスを割り当てられたホストVM13等は、当該物理デバイスへアクセス可能となる。また、物理デバイス割当部112は、ホストVM13から物理デバイスの割当を解除することにより、解除手段としても機能する。
ホスト管理OS12は、検出手段としての物理デバイス接続検出部111、ローカルリソース管理部121、移動手段としてのVM移動部122及び物理デバイス割当要求部123を含む。物理デバイス接続検出部111は、入出力部106に接続又は切断された物理デバイスを検出するようにしてある。ローカルリソース管理部121は、ホスト管理OS12及びホストVM13夫々が使用している計算資源としてのリソース情報を管理している。また、ホスト管理OS12は、ローカルリソース管理部121が管理しているリソース情報を管理サーバ2に送信するようにしてある。VM移動部122は、ホストVM13をホストサーバ1からクライアント端末3へ移動させる。物理デバイス割当要求部123は、物理デバイス割当部112に割当要求又は解除要求を送信するようにしてある。
割当要求及び解除要求夫々は、割当又は解除対象の物理デバイスと、割当先又は解除先のホストVM13とを示す。ホストVM13は、ネットワーク網Nを介して端末VM33との間でリモート接続を行うための仮想サーバ131を含む。仮想サーバ131は、例えばRDPを用いたリモートデスクトップ接続を行うサーバプログラムを実行することで提供される。また、サーバプログラムは、ホストVM13で動作するOS上で実行するとよい。
端末VMM31は、物理デバイス割当部312を含む。物理デバイス割当部312は、端末管理OS32から受け取った割当要求に応じて端末VMM31上で動作している端末VM33等に物理デバイスを割り当てるようにしてある。物理デバイス割当部312により物理デバイスを割り当てられた端末VM33等は、当該物理デバイスへアクセス可能となる。
端末管理OS32は、物理デバイス接続検出部311と、ローカルリソース管理部321と、移動手段としてのVM移動部322と、物理デバイス割当要求部323とを含む。ローカルリソース管理部321は、端末管理OS32及び端末VM33夫々が使用する計算資源としてのリソース情報を管理している。端末管理OS32は、ローカルリソース管理部321が管理しているリソース情報を管理サーバ2に送信するようにしてある。物理デバイス接続検出部311は、入出力部306に接続又は切断された物理デバイスを検出するようにしてある。VM移動部322は、クライアント端末3に移動してきたホストVM13を移動元のホストサーバ1に移動させるようにしてある。物理デバイス割当要求部323は、物理デバイス割当部312に割当要求及び割当の解除要求を送信するようにしてある。割当要求及び解除要求夫々は、割当及び解除対象の物理デバイスと、割当先及び解除先である端末VM33等とを示す。
端末VM33は、ネットワーク網Nを介してホストVM13との間でリモート接続を行うための仮想クライアント331を含む。仮想クライアント331は、例えばRDPを用いたリモートデスクトップ接続を行うクライアントプログラムを実行することで提供される。また、クライアントプログラムは、端末VM33で動作するOS上で実行するとよい。仮想サーバ131及び仮想クライアント331間のリモート接続により、クライアント端末3がホストVM13へリモート接続される。ホスト管理OS12又は端末管理OS32は、ホストVM13及び端末VM33間をリモート接続した場合、接続情報を管理サーバ2に通知するようにしてある。
管理サーバ2は、リソース管理部21を含む。リソース管理部21は、ホスト管理OS12及び端末管理OS32から送られてくるリソース情報及び接続情報を管理するようにしてある。また、管理サーバ2は、ホストVM13をホストサーバ1からクライアント端末3へ移動可能であるか否かを判定する判定手段としても機能するようにしてある。仮想クライアント331は、クライアント端末3のキーボード307a及びマウス307b等が受付けたユーザによる操作を仮想サーバ131に送信するようにしてある。仮想サーバ131は、受信した操作に応じた処理を行って、処理結果に応じた画面情報を仮想クライアント331に送信するようにしてある。仮想クライアント331は、送られてきた画面情報をクライアント端末3が有する表示部305に表示するようにしてある。
ローカルリソース管理部121は、ローカルリソース情報テーブルをHDD102に記憶してリソース情報を管理するようにしてある。リソース情報は、CPU型名、使用コア数、空きメモリ容量、使用メモリ容量及び接続されている物理デバイスを含む。CPU型名は、ホスト管理OS12及びホストVM13が動作しているホストサーバ1のCPU100の型名等である。使用コア数は、CPU100が有する1つ又は複数のプロセッサコアのうち、ホスト管理OS12及びホストVM13夫々が使用しているプロセッサコアの数である。また、ホスト管理OS12は、CPU100が有する全てのプロセッサコアを使用しており、使用コア数がCPU100のコア数と同一となる。
使用メモリ容量は、RAM101が有するメモリ容量のうち、ホスト管理OS12又はホストVM13夫々に割り当てられて使用されているメモリ容量を示す。空きメモリ容量は、RAM101が有するメモリ容量のうち、使用されていないメモリ容量を示す。ローカルリソース情報テーブルは、ホスト管理OS12及びホストVM13夫々に割り当てられたIPアドレスを含む。
また、ローカルリソース情報テーブルは、ホスト管理OS12及びホストVM13夫々が動作しているホストサーバ1を指定する情報を含む。ローカルリソース管理部321は、ローカルリソース管理部121と同様にローカルリソース情報テーブルをHDD302に記憶してリソース情報を管理するようにしてある。また、端末管理OS32は、ホスト管理OS12と同様にCPU300が有する全てのプロセッサコアを使用しており、使用コア数がCPU300のコア数と同一となる。
図6は、ローカルリソース情報テーブルのレコードレイアウト例を示す図表である。図6は、クライアント端末3が有するローカルリソース管理部321がHDD302に記憶するローカルリソース情報テーブルの例を示している。図6に示す例では、端末VM33が動作しているCPU型名「E2700」及び端末VM33が使用しているコア数「1」を含んでいる。また、端末VM33のリソース情報の例は、RAM301の空きメモリ容量「1024」及び端末VM33が使用しているRAM301のメモリ容量「512」を含んでいる。
さらに、クライアント端末3に接続されて検出された物理デバイス「DVDドライブ,USBメモリ」を含んでいる。また、図6に示す空きメモリ容量及び使用メモリ容量の例は、MB( Mega Bite )単位で記憶されている。端末VM33に対応付けて端末VM33のIPアドレス「10.0.0.21」と、設置場所「自席」が記憶されている。設置場所「自席」は、端末VM33が動作しているクライアント端末3がユーザの居所に設置されていることを示す。
図7は、リソース情報テーブルのレコードレイアウト例を示す図表である。管理サーバ2のリソース管理部21は、リソース情報テーブルを図示しないHDD等に記憶してホスト管理OS12及び端末管理OS32から送られてきたリソース情報を管理するようにしてある。これにより、リソース管理部21は、ホストサーバ1及びクライアント端末3で動作している全ての管理OS及びVMのリソース情報を管理する。図7に示す例では、図6に示したHDD302に記憶されたローカルリソース情報と、HD102に記憶されたローカルリソース情報とを含んでいる。
図8は、接続テーブルのレコードレイアウト例を示す図表である。リソース管理部21は、接続テーブルをHDD等に記憶して接続情報を管理するようにしてある。接続テーブルは、管理OS及びVM夫々に割り当てられたIPアドレスと、管理OS及びVM夫々が動作している動作装置を示す情報とを含む。図8に示す例では、ホストサーバ1で動作しているホストVM13のIPアドレス「10.0.0.11」が含まれている。リソース管理部21は、接続情報をホスト管理OS12から通知された場合、接続情報から端末VM33に割り当てられたIPアドレスを取得し、接続先のホストVM13に対応付けて接続テーブルに記憶する。図8に示す例では、端末VM33のIPアドレス「10.0.0.21」が接続元IPアドレスとして取得され、ホストVM13に対応付けて接続テーブルに記憶されている。
続いて本実施の形態の概要を説明する。クライアント端末3が物理デバイスの接続を検出した場合、当該クライアント端末3に割り当てられているホストVM13が当該クライアント端末3に移動される。クライアント端末3に移動されたホストVM13に物理デバイスが割り当てられる。ホストVM13は、端末VMM31を介してクライアント端末3に接続された物理デバイスへアクセスする。以下に詳細を説明する。
クライアント端末3が有する入出力部306は、物理デバイスが接続された場合、端末管理OS32が有する物理デバイス接続検出部311に通知する。物理デバイス接続検出部311は、入出力部306からの通知により新たに接続された物理デバイスを検出し、端末管理OS32に通知する。物理デバイスの検出を通知された端末管理OS32は、接続通知を管理サーバ2に送信する。接続通知を受信した管理サーバ2は、複数のホストサーバ1で動作しているホストVM13のうち、端末VM33がリモート接続しているホストVM13を特定する。管理サーバ2は、リソース管理部21が管理しているリソース情報に基づいてホストVM13がクライアント端末3に移動が可能であるか否かを判定する。
移動が可能であるか否かの判定は、次に述べる第1判定条件から第3判定条件まで満たすか否かで行われる。第1判定条件として管理サーバ2は、ホストサーバ1のCPU型名がクライアント端末3のCPU型名と一致するか否かを判定する。第2判定条件として管理サーバ2は、ホストVM13の使用メモリ容量がクライアント端末3の空きメモリ容量以下であるか否かを判定する。第3判定条件として管理サーバ2は、ホストVM13の使用コア数がクライアント端末3の使用コア数、すなわち端末管理OS32の使用コア数と一致するか否かを判定する。管理サーバ2は、第1判定条件から第3判定条件までの全てが真であると判定した場合、移動可能と判定する。
管理サーバ2は、移動可能と判定した場合、ホストサーバ1にホストVM13の移動を要求する。移動要求されたホストサーバ1のホスト管理OS12は、ホストVM13が使用しているリソースを他のVM等が使用することを禁止して予約する。ホスト管理OS12は、物理デバイス割当要求部123によりホストVM13からの基本入出力デバイスの割当解除をホストVMM11に要求する。割当解除の要求を受付けたホストVMM11は、物理デバイス割当部112によりホストVM13から基本入出力デバイスの割当を解除する。ホスト管理OS12は、割当解除されたホストVM13をVM移動部122によりクライアント端末3に移動させる。
図9は、各ソフトウェアの例を示すブロック図である。図9は、ホストサーバ1からクライアント端末3にホストVM13が移動された場合の各ソフトウェアの例を示している。図9に示す例では、ホストサーバ1からクライアント端末3に移動されたホストVM13が端末VMM31上で動作している。ホスト管理OS12は、ホストVM13の移動が完了した場合、端末VM33からクライアント端末3の基本入出力デバイスを割当解除するよう端末管理OS32に要求する。割当解除を要求された端末管理OS32は、物理デバイス割当要求部323により端末VM33から基本入出力デバイスを割当解除するよう端末VMM31に要求する。
また、端末管理OS32は、割当解除した基本入出力デバイス及び新たにクライアント端末3に接続された物理デバイスをホストVM13へ割り当てるよう割当要求部323により端末VMM31に要求する。端末VMM31は、物理デバイス割当部312により端末VM33から基本入出力デバイスを解除し、新たに接続された物理デバイスをホストVM13に割り当てる。図9に示す如くホストVM13は、ネットワーク網Nを介さずにクライアント端末3に接続された物理デバイスへアクセス可能となる。次に、クライアント端末3から物理デバイスが切断されてホストVM13を移動元のホストサーバ1に返還する場合の動作を説明する。
クライアント端末3が有する入出力部306は、物理デバイスが切断された場合、端末管理OS32が有する物理デバイス接続検出部311に通知する。物理デバイス接続検出部311は、入出力部306からの通知により新たに切断された物理デバイスを検出し、端末管理OS32に通知する。物理デバイスの切断を通知された端末管理OS32は、物理デバイス割当要求部323によりホストVM13からクライアント端末3の基本入出力デバイス及び物理デバイスを割当解除するよう端末VMM31に要求する。割当解除を要求された端末VMM31は、物理デバイス割当部312によりホストVM13から基本入出力デバイス及び物理デバイスを割当解除する。端末管理OS32は、物理デバイス割当要求部323により、端末VM33へクライアント端末3の基本入出力デバイスを割り当てるよう端末VMM31に要求する。割当を要求された端末VMM31は、端末VM33へ基本入出力デバイスを割り当てる。端末管理OS32は、VM移動部322により、ホストVM13を移動元のホストサーバ1に移動させる。
端末管理OS32は、ホストVM13の移動が完了した場合、ホストVM13へホストサーバ1の基本入出力デバイスを割り当てるようホスト管理OS12に要求する。割当を要求されたホスト管理OS12は、物理デバイス割当要求部123によりホストVM13へ基本入出力デバイスを割り当てるようホストVMM11に要求する。割当を要求されたホストVMM11は、物理デバイス割当部112によりホストVM13へホストサーバ1の基本入出力デバイスを割り当てて、ホストVM13を返還する動作を完了する。
図10は、VM起動処理の手順を示すフローチャートである。VM起動処理は、管理サーバ2にリソース情報を送信すべくホスト管理OS12により実行される。また、VM起動処理は、ホスト管理OS12がホストVM13の起動要求を受信した場合に実行される。ホストVM13の起動要求は、例えば、ホストサーバ1がユーザによる操作に基づいて要求を受信するようにするとよい。ホスト管理OS12は、要求を受信して(ステップS10)、VMの起動要求を受付けたか否かを判定する(ステップS11)。ホスト管理OS12は、起動要求を受付けていないと判定した場合(ステップS11でNO)、要求を受信するステップS10に処理を戻す。ホスト管理OS12は、起動要求を受付けたと判定した場合(ステップS11でYES)、VMを起動する(ステップS12)。
ホスト管理OS12は、起動したVMのリソース情報を管理サーバ2に送信する(ステップS13)。管理サーバ2は、ホスト管理OS12から送られてきた情報を受信して(ステップS16)、リソース情報を受信したか否かを判定する(ステップS17)。管理サーバ2は、リソース情報を受信していないと判定した場合(ステップS17でNO)、情報を受信するステップS16に処理を戻す。管理サーバ2は、リソース情報を受信したと判定した場合(ステップS17でYES)、受信したリソース情報を用いてリソース情報テーブルを更新する(ステップS18)。管理サーバ2は、要求を受信して(ステップS19)、シャットダウン等による終了を受付けたか否かを判定する(ステップS20)。管理サーバ2は、終了を受付けていないと判定した場合(ステップS20でNO)、情報を受信するステップS16に処理を戻す。
管理サーバ2は、終了を受付けたと判定した場合(ステップS20でYES)、VM起動処理を終了する。ホスト管理OS32は、要求を受信して(ステップS14)、シャットダウン等による終了を受付けたか否かを判定する(ステップS15)。ホスト管理OS32は、終了を受付けていないと判定した場合(ステップS15でNO)、要求を受信するステップS10に処理を戻す。ホスト管理OS32は、終了を受付けたと判定した場合(ステップS15でYES)、VM起動処理を終了する。また、VM起動処理は、端末管理OS32が端末VM33の起動要求を受付けた場合にも、端末管理OS32により端末VM33を起動すべく実行される。端末管理OS32で実行されるVM起動処理は、図10に示したフローチャートと同様であるので説明を省略する。
図11は、リモート接続処理の手順を示すフローチャートである。リモート接続処理は、ホストVM13及び端末VM33上で実行される。ホストVM13は、仮想サーバ131を起動する(ステップS30)。端末VM33は、要求を受信して(ステップ31)、リモート接続要求をを受付けたか否かを判定する(ステップS32)。端末VM33は、リモート接続要求を受付けていないと判定した場合(ステップS32でNO)、要求を受信するステップS31に処理を戻す。端末VM33は、リモート接続要求を受付けたと判定した場合(ステップS32でYES)、仮想クライアント331を起動する(ステップS33)。
端末VM33は、リモート接続要求をホストVM13に送信する(ステップS34)。端末VM33は、接続先のホストVM13のIPアドレス及び接続状態を含む接続情報を管理サーバ2に送信する(ステップS35)。端末VM33は、要求を受信して(ステップS36)、仮想クライアント331の終了を受付けたか否かを判定する(ステップS37)。端末VM33は、仮想クライアント331の終了を受付けていないと判定した場合(ステップS37でNO)、要求を受信するステップS36に処理を戻す。端末VM33は、仮想クライアント331の終了を受付けたと判定した場合(ステップS37でYES)、仮想クライアント331を終了する(ステップS38)。端末VM33は、ホストVM13のIPアドレス及び切断状態を含む接続情報を管理サーバ2に送信して(ステップS39)、リモート接続処理を終了する。
ホストVM13は、要求を受信して(ステップS40)、端末VM33から送らてきたリモート接続要求を受信したか否かを判定する(ステップS41)。ホストVM13は、リモート接続要求を受信していないと判定した場合(ステップS41でNO)、要求を受信するステップS40に処理を戻す。ホストVM13は、リモート接続要求を受信したと判定した場合(ステップS41でYES)、リモート接続を開始する(ステップS42)。ホストVM13は、リモート接続の接続状態を確認して(ステップS43)、リモート接続が切断されたか否かを判定する(ステップS44)。ホストVM13は、リモート接続が切断されていないと判定した場合(ステップS44でNO)、リモート接続の接続状態を確認するステップS43に処理を戻す。ホストVM13は、リモート接続が切断されたと判定した場合(ステップS44でYES)、リモート接続処理を終了する。
図12は、接続テーブル更新処理の手順を示すフローチャートである。接続テーブル更新処理は、管理サーバ2が接続情報を受信して図示しないCPUにより実行される。管理サーバ2のCPUは、情報を受信して(ステップS50)、接続情報を受信したか否かを判定する(ステップS51)。CPUは、接続情報を受信していないと判定した場合(ステップS51でNO)、情報を受信するステップS50に処理を戻す。CPUは、接続情報を受信したと判定した場合(ステップS51でYES)、送信元のIPアドレスを接続元IPアドレスとして取得する(ステップS52)。CPUは、接続情報に含まれる接続先IPアドレスを取得し(ステップS53)、接続先VMを特定する(ステップS54)。
CPUは、リソース情報テーブルを参照して、接続先VMが動作しているホストサーバ1を特定する(ステップS55)。CPUは、接続元IPアドレス、特定した接続先VMを示す名称、接続先IPアドレス及び特定したホストサーバ1の名称を用いて接続テーブルを更新する(ステップS56)。CPUは、要求を受信して(ステップS57)、終了を受付けつけたか否かを判定する(ステップS58)。CPUは、終了を受付けていないと判定した場合(ステップS58でNO)、情報を受信するステップS50に処理を戻す。CPUは、終了を受付けたと判定した場合(ステップS58でYES)、接続テーブル更新処理を終了する。
図13は、移動要求処理の手順を示すフローチャートである。移動要求処理は、クライアント端末3に新たに接続された物理デバイスを端末管理OS32が検出して端末管理OS32及び管理サーバ2により実行される。端末管理OS32は、物理デバイスの接続状態を確認して(ステップS60)、物理デバイスの接続を検出したか否かを判定する(ステップS61)。端末管理OS32は、物理デバイスの接続を検出していないと判定した場合(ステップS61でNO)、物理デバイスの接続状態を確認するステップS60に処理を戻す。端末管理OS32は、物理デバイスの接続を検出したと判定した場合(ステップS61でYES)、物理デバイスの接続通知を管理サーバ2に送信して(ステップS62)、移動要求処理を終了する。
管理サーバ2のCPUは、通知を受信して(ステップS63)、端末管理OS32から送られてきた接続通知を受信したか否かを判定する(ステップS64)。管理サーバ2のCPUは、接続通知を受信していないと判定した場合(ステップS64でNO)、通知を受信するステップS63に処理を戻す。管理サーバ2のCPUは、接続通知を受信したと判定した場合(ステップS64でYES)、送信元のIPアドレスを取得することでクライアント端末3を移動先端末として特定する(ステップS65)。管理サーバ2のCPUは、リソース情報テーブルを参照し、移動先端末で動作している端末VM33を移動先VMとして特定する(ステップS66)。管理サーバ2のCPUは、接続テーブルを参照して移動先VMがリモート接続しているホストVM13を移動対象VMとして特定する(ステップS67)。
管理サーバ2のCPUは、リソース情報テーブルを参照して移動対象VMが動作しているホストサーバ1を特定する(ステップS68)。管理サーバ2のCPUは、後述の移動判定処理を実行する(ステップS69)。管理サーバ装置2のCPUは、移動判定処理の結果、移動可であるか否かを判定する(ステップS70)。管理サーバ2のCPUは、移動可でないと判定した場合(ステップS70でNO)、移動要求処理を終了する。管理サーバ2のCPUは、移動可であると判定した場合(ステップS70でYES)、移動要求をホストサーバ1のホスト管理OS12に送信し(ステップS71)、移動要求処理を終了する。
図14は、移動処理の手順を示すフローチャートである。移動処理は、移動要求処理により送信されてきた移動要求をホスト管理OS12が受付けて、ホスト管理OS12及び端末管理OS32により実行される。ホスト管理OS12は、要求を受信して(ステップS80)、移動要求を受信したか否かを判定する(ステップS81)。端末管理OS32は、移動要求を受信していないと判定した場合(ステップS81でNO)、要求を受信するステップS80に処理を戻す。ホスト管理OS12は、移動要求を受信したと判定した場合(ステップS81でYES)、移動対象VMであるホストVM13から基本入出力デバイスを割当解除する(ステップS82)。ホスト管理OS12は、移動対象VMが使用しているリソースを予約する(ステップS83)。
ホスト管理OS12は、移動対象VMをホストサーバ1へ移動開始させる(ステップS84)。ホスト管理OS12は、移動対象VMの移動状態を確認して(ステップS85)、移動を完了したか否かを判定する(ステップS86)。ホスト管理OS12は、移動を完了していないと判定した場合(ステップS86でNO)、移動対象VMの移動状態を確認するステップS85に処理を戻す。ホスト管理OS12は、移動を完了したと判定した場合(ステップS86でYES)、割当要求を端末管理OS32に送信して(ステップS87)、移動処理を終了する。
クライアント端末3の端末管理OS32は、要求を受信して(ステップS88)、ホストサーバ1のホスト管理OS12から割当要求を受信したか否かを判定する(ステップS89)。端末管理OS32は、割当要求を受信していないと判定した場合(ステップS89でNO)、要求を受信するステップS88に処理を戻す。端末管理OS32は、割当要求を受信したと判定した場合(ステップS89でYES)、移動してきた移動対象VMに基本入出力デバイス及び物理デバイスを割り当てて(ステップS90)、移動処理を終了する。
図15は、移動判定処理の手順を示すフローチャートである。移動判定処理は、図13で示したフローチャートのステップS69で管理サーバ2のCPUにより実行される。管理サーバ2のCPUは、リソース情報テーブルから移動対象VM及び移動先端末のリソース情報を取得する(ステップS91)。ここで、移動先端末のリソース情報は、リソース情報テーブルに含まれる移動先VMのリソース情報を参照することにより、取得される。管理サーバ2のCPU2は、移動対象VMの使用メモリ容量が移動先端末(クライアント端末3)の空きメモリ容量以下であるか否かを判定する(ステップS92)。
管理サーバ2のCPUは、空きメモリ容量以下でないと判定した場合(ステップS92でNO)、移動不可と判定して(ステップS96)、移動判定処理を終了する。管理サーバ2のCPUは、空きメモリ容量以下であると判定した場合(ステップS92でYES)、移動元のホストサーバ1のCPU型名が移動先端末のCPU型名と一致するか否かを判定する(ステップS93)。管理サーバ2のCPUは、CPU型名が一致しないと判定した場合(ステップS93でNO)、移動不可と判定するステップS96に処理を移す。
管理サーバ2のCPUは、CPU型名が一致すると判定した場合(ステップS93でYES)、移動対象VMの使用コア数が移動先端末のコア数と一致するか否かを判定する(ステップS94)。管理サーバ2のCPUは、使用コア数が一致しないと判定した場合(ステップS94でNO)、移動不可と判定するステップS96に処理を移す。管理サーバ2のCPUは、使用コア数が一致すると判定した場合(ステップS94でYES)、移動可と判定して(ステップS95)、移動判定処理を終了する。
図16は、返還処理の手順を示すフローチャートである。返還処理は、クライアント端末3から物理デバイスが切断されて、移動対象VMをホストサーバ1に戻すべく実行される。クライアント端末3の端末管理OS32は、物理デバイスの接続状態を確認して(ステップS100)、物理デバイスの切断を検出したか否かを判定する(ステップS101)。端末管理OS32は、物理デバイスの切断を検出していないと判定した場合(ステップS101でNO)、物理デバイスの接続状態を確認するステップS100に処理を戻す。端末管理OS32は、検出したと判定した場合(ステップS101でYES)、移動対象VMのホストVM13から基本入出力デバイス及び物理デバイスを割当解除する(ステップS102)。
端末管理OS32は、移動先VMの端末VM33に基本入出力デバイスを割り当てる(ステップS103)。端末管理OS32は、移動対象VMのホストVM13をホストサーバ1に移動開始する(ステップS104)。端末管理OS32は、移動対象VMの移動状態を確認して(ステップS105)、移動を完了したか否かを判定する(ステップS106)。端末管理OS32は、完了していないと判定した場合(ステップS106でNO)、移動対象VMの移動状態を確認するステップS105に処理を戻す。端末管理OS32は、完了したと判定した場合(ステップS106でYES)、デバイスの割当要求をホスト管理OS12に送信して(ステップS107)、返還処理を終了する。
ホストサーバ1のホスト管理OS12は、要求を受信して(ステップS108)、端末管理OS32から送られてきた割当要求を受信したか否かを判定する(ステップS109)。ホスト管理OS12は、割当要求を受信していないと判定した場合(ステップS109でNO)、要求を受信するステップS108に処理を戻す。ホスト管理OS12は、割当要求を受信したと判定した場合(ステップS109でYES)、ホストサーバ1に移動してきた移動対象VMのホストVM13に基本入出力デバイスを割り当てる(ステップS110)。ホスト管理OS12は、移動対象VMのリソースの予約を解除して(ステップS111)、返還処理を終了する。
以上より、新たに接続された物理デバイスをホストVM13が利用する場合、ホストVM13をクライアント端末3に移動させて、ネットワーク網Nを介さずに当該物理デバイスへアクセスすることが可能となる。また、物理デバイスの利用が完了した場合、ホストVM13を移動元のホストサーバ1に移動させてクライアント端末3からのリモート操作が可能となる。
本実施の形態1においては、クライアント端末3に物理デバイスが新たに接続される場合を示したが、これに限るものではない。例えば、複数のホストサーバ1夫々に物理デバイスが新たに接続された場合に適用してもよい。この場合、クライアント端末3がリモート接続しているホストVM13を、新たに接続された物理デバイスが検出された他のホストサーバ1に移動するとよい。また、管理サーバ2を備える計算機システムを示したが、これに限るものではない。管理サーバ2の代わりに、例えば複数のホストサーバ1のうち、いずれか1つのホストサーバ1で動作しているホスト管理OS12がリソース管理部21を備えていてもよい。この場合、ホスト管理OS12が移動判定処理を実行し、判定部として機能してもよい。
また、図2に示す如くハードウェア上でVMMが動作しており、さらに当該VMM上で管理OS及びVM等の各種プログラムが動作するハイパーバイザー型のVMMを用いる場合を示したが、これに限るものではない。例えば、ハードウェア上でホストOSが動作しており、当該ホストOS上で管理OS及びVMM等が動作するホストOS型のVMMを用いてもよい。
実施の形態2
図17は、各ソフトウェアの例を示すブロック図である。実施の形態1は物理デバイスが新たに接続されたクライアント端末へホストVMを移動させるのに対して、本実施の形態ではユーザにより選択された物理デバイスを有するクライアント端末に移動させるようにしてある。ホストVM13は、利用可能な物理デバイスを有するクライアント端末3を物理デバイスと共にVMの移動先候補として表示する表示手段としてのVM移動先候補表示部132を含む。VM移動先候補表示部132は、例えばホストVM13で動作するOS上でプログラムを実行することで提供するとよい。VM移動先候補表示部132は、ホストVM13にリモート接続されている端末VM33のユーザに対して移動先候補及び物理デバイスを表示する。ホストVM13は、移動先候補及び物理デバイスから、移動先端末及び利用する物理デバイスを選択する操作を端末VM33から受付けて操作受付手段として機能する。また、ホストVM13は、受付けた操作に基づいて物理デバイスを選択する選択手段としても機能する。
続いて本実施の形態の概要を説明する。クライアント端末3を介してリモート接続されているホストVM13は、ユーザによる物理デバイスの利用要求を受け付ける。利用要求を受付けたホストVM13は、VM移動先候補表示部132により移動可能なクライアント端末3に接続されている物理デバイスの一覧を表示する。ホストVM13は、1つのクライアント端末3の選択をユーザから受付ける。選択されたクライアント端末3にホストVM13が移動される。クライアント端末3に移動されたホストVM13は、端末VMM31を介してクライアント端末3に接続されている物理デバイスへアクセスする。以下に詳細を説明する。
図18は、物理デバイスの選択に係る画面例を示す模式図である。図18中(a)及び(b)夫々は、一覧ボタン及び選択ウィンドウが表示されたデスクトップ画面を示す。ホストVM13は、クライアント端末3に表示させているデスクトップ画面に物理デバイス一覧の表示の指示を受付ける一覧ボタンを表示させる。図18中(a)に示す例では、デスクトップ画面の右上に「物理デバイス一覧」と表示された一覧ボタンが表示されている。また、ユーザにより操作されたカーソルが、一覧ボタン上に位置している。
ホストVM13は、一覧ボタンがクリックされた場合、VM移動先候補表示部132により使用可能な物理デバイスの一覧を管理サーバ2に要求する。管理サーバ2は、ホストVM13のリソース情報及び各クライアント端末3のリソース情報に基づいて、ホストVM13の移動が可能である移動先端末を取得する。管理サーバ2は、移動可能な移動先端末に接続してある物理デバイスを利用可能な物理デバイスの一覧として取得する。管理サーバ2は、物理デバイス及び移動可能な移動先端末の一覧を要求元のホストVM13に送信する。ホストVM13は、管理サーバ2から取得した一覧に基づいて、1つの物理デバイス及び移動先端末の選択を受付けるための選択ウィンドウをデスクトップ画面に表示する。
図18中(b)に示す例では、タイトル「使用可能な物理デバイス一覧」を有する選択ウィンドウがデスクトップ画面に表示されている。図18中(b)の選択ウィンドウには、DVDドライブ及びUSBメモリ夫々に対応するデバイスボタンと、取消ボタンとが表示されている。ホストVM13は、取消ボタンがクリックされた場合、選択ウィンドウを閉じる。図18中(b)の物理デバイスウィンドウには、ユーザにより操作されたカーソルがDVDドライブに対応するデバイスボタン上に位置している。
図19は、移動先端末の選択に係る画面例を示す模式図である。図19中(a)及び(b)夫々は、デバイスボタン及び移動先ボタンが選択された場合のデスクトップ画面の例を示す。ホストVM13は、デバイスボタンがクリックされた場合、当該デバイスボタンに対応する物理デバイスが接続されているクライアント端末3を取得する。ホストVM13は、クライアント端末3に対応する移動先ボタンを選択ウィンドウに表示する。図19中(a)に示す例では、選択されたDVDドライブに対応するデバイスボタンが斜線で示す如く反転表示されている。また、選択されたDVDドライブが接続されているクライアント端末3に対応しており、「クライアント端末」と示された移動先ボタンが表示されている。
さらに、デバイスボタン及び移動先ボタンを結ぶ線が表示されている。これにより、DVDドライブがクライアント端末3に接続されていることが示されている。また、選択ウィンドウには、各クライアント端末3の設置場所を表示してもよい。各クライアント端末3の設置場所は、管理サーバ2のリソース管理部21が管理しているリソース情報から取得するとよい。ホストVM13は、移動先ボタンがクリックされて選択された場合、移動ボタンを選択ウィンドウに表示する。ホストVM13は、移動ボタンがクリックされた場合、選択されている移動先ボタンに対応するクライアント端末3を移動先端末として取得する。図19中(b)に示す例では、クライアント端末3に対応する移動先ボタンがクリックされて反転表示され、移動ボタンが表示されている。ホストVM13は、取得した移動先端末をホスト管理OS12に通知する。ホスト管理OS12は、ホストVM13を移動先端末に移動させる。
ホストVM13を移動先端末に移動させる動作と、移動後に物理デバイスを割当てる動作とは、実施の形態1と同様であるので説明を省略する。ホストVM13は、移動先端末を取得した場合、ホストVM13を移動させるか否かを確認するための確認ウィンドウをデスクトップ画面に表示してもよい。この場合、確認ウィンドウには、移動の確認を促すメッセージと共に、確認ボタン及び移動取消ボタンを表示するとよい。ホストVM13は、確認ボタンがクリックされた場合、ホストVM13を移動先端末に移動させる。また、ホストVM13は、移動取消ボタンがクリックされた場合、選択ウィンドウによる移動先端末の選択に処理を戻すとよい。
図20は、返還指示を受付けるための画面例を示す模式図である。ホストVM13は、移動先端末に移動した場合、デスクトップ画面にホストVM13をホストサーバ1に移動する返還指示を受付けるための返還ボタンを表示する。図20に示す例では、デスクトップ画面の右上に「戻る」と表示された返還ボタンが表示されている。ホストVM13は、返還ボタンがクリックされた場合、ホストVM13をホストサーバ1に移動させる移動要求を端末管理OS32に通知する。端末管理OS32は、ホストVM13をホストサーバ1に移動開始する。
図21及び図22は、移動先端末選択処理の手順を示すフローチャートである。移動先端末選択処理は、一覧ボタンのクリックを受付けて移動先端末の選択を実行する。アイコンホストVM13は、一覧ボタンが押下されたか否かを判定する(ステップS112)。ホストVM13は、一覧ボタンが押下されていないと判定した場合(ステップS112でNO)、押下されるまで待機する。ホストVM13は、押下されたと判定した場合(ステップS112でYES)、使用可能な物理デバイスの一覧要求を管理サーバ2に送信する(ステップS113)。管理サーバ2は、要求を受信して(ステップS114)、ホストVM13から送られてきた一覧要求を受付けたか否かを判定する(ステップS115)。
管理サーバ2は、一覧要求を受付けていないと判定した場合(ステップS115でNO)、要求を受信するステップS114に処理を戻す。管理サーバ2は、一覧要求を受付けたと判定した場合(ステップS115でYES)、後述の一覧作成処理を実行する(ステップS116)。管理サーバ2は、作成した一覧をホストVM13に送信する(ステップS117)。ホストVM13は、情報を受信して(ステップS118)、管理サーバから送られてきた一覧を受信したか否かを判定する(ステップS119)。ホストVM13は、一覧を受信していないと判定した場合(ステップS119でNO)、情報を受信するステップS118に処理を戻す。
ホストVM13は、一覧を受信したと判定した場合(ステップS119でYES)、デスクトップ画面に一覧を含む選択ウィンドウを表示する(S120)。ホストVM13は、取消ボタンが押下されたか否かを判定する(ステップS121)。ホストVM13は、取消ボタンが押下されたと判定した場合(ステップS121でYES)、移動先端末選択処理を終了する。ホストVM13は、取消ボタンが押下されていないと判定した場合(ステップS121でNO)、選択ウィンドウから物理デバイスが選択されたか否かを判定する(ステップS122)。
ホストVM13は、物理デバイスが選択されていないと判定した場合(ステップS122でNO)、取消ボタンが押下されたか否かを判定するステップS121に処理を戻す。ホストVM13は、物理デバイスが選択されたと判定した場合(ステップS122でYES)、移動先端末を選択ウィンドウに表示する(ステップS123)。ホストVM13は、取消ボタンが押下されたか否かを判定する(ステップS124)。ホストVM13は、取消ボタンが押下されたと判定した場合(ステップS124でYES)、移動先端末選択処理を終了する。
ホストVM13は、取消ボタンが押下されていないと判定した場合(ステップS124でNO)、選択ウィンドウから移動先端末が選択されたか否かを判定する(ステップS125)。ホストVM13は、移動先端末が選択されていないと判定した場合(ステップS125でNO)、取消ボタンが押下されたか否かを判定するステップS124に処理を戻す。ホストVM13は、移動先端末が選択されたと判定した場合(ステップS125でYES)、取消ボタンが押下されたか否かを判定する(ステップS126)。ホストVM13は、取消ボタンが押下されたと判定した場合(ステップS126でYES)、移動先端末選択処理を終了する。ホストVM13は、取消ボタンが押下されていないと判定した場合(ステップS126でNO)、移動ボタンが押下されたか否かを判定する(ステップS127)。ホストVM13は、移動ボタンが押下されていないと判定した場合(ステップS127でNO)、取消ボタンが押下されたか否かを判定するステップS126に処理を戻す。ホストVM13は、移動ボタンが押下されたと判定した場合(ステップS127でYES)、移動要求をホスト管理OS12に送信して(ステップS128)、移動先端末選択処理を終了する。
図23は、一覧作成処理の手順を示すフローチャートである。一覧作成処理は、図21のステップS116で管理サーバ2により実行される。管理サーバ2は、リソース管理部によりクライアント端末3からなる移動先候補一覧を取得する(ステップS131)。管理サーバ2は、一覧要求の要求元のIPアドレスに基づいてホストVM13を移動対象VMとして取得する(ステップS132)。管理サーバ2は、移動先候補一覧から移動先端末を1つ選択する(ステップS133)。管理サーバ2は、移動判定処理を実行する(ステップS134)。
管理サーバ2は、移動判定処理による判定結果に基づいて移動可であるか否かを判定する(ステップS135)。管理サーバ2は、移動可と判定した場合(ステップS135でYES)、リソース情報を参照して移動先端末に接続されている物理デバイスを取得する(ステップS136)。管理サーバ2は、取得した物理デバイスを使用可能な物理デバイスの一覧に追加する(ステップS137)。管理サーバ2は、移動候補一覧に含まれる全ての移動先候補を選択済みであるか否かを判定する(ステップS138)。
管理サーバ2は、全ての移動先候補を選択済みでないと判定した場合(ステップS138でNO)、移動先候補一覧から移動先端末として他の1つを選択する(ステップS139)。管理サーバ2は、移動判定処理を実行するステップS134に処理を戻す。管理サーバ2は、移動可であるか否かを判定するステップS135において、移動可でないと判定した場合(ステップS135でNO)、全ての移動先候補を選択済みであるか否かを判定するステップS138に処理を移す。管理サーバ2は、全ての移動先候補を選択済みであると判定した場合(ステップS138でYES)、一覧作成処理を終了する。
図24及び図25は、返還処理の手順を示すフローチャートである。返還処理は、デスクトップ画面に表示された戻るボタンのクリックを検出して移動対象VMをホストサーバ1に戻すべく実行される。ホストVM13は、戻るボタンが押下されたか否かを判定する(ステップS171)。ホストVM13は、戻るボタンが押下されていないと判定した場合(ステップS171でNO)、押下されるまで待機する。ホストVM13は、戻るボタンが押下されたと判定した場合(ステップS171でYES)、返還要求を端末管理OS32に送信して(ステップS172)、返還処理を終了する。端末管理OS32は、要求を受信して(ステップS173)、ホストVM13から送られてきた返還要求を受信したか否かを判定する(ステップS174)。端末管理OS32は、返還要求を受信していないと判定した場合(ステップS174でNO)、要求を受信するステップS173に処理を戻す。
端末管理OS32は、返還要求を受信したと判定した場合(ステップS174でYES)、移動対象VMから物理デバイスを割当解除する(ステップS175)。端末管理OS32は、移動先VMに基本入出力デバイスと共に、物理デバイスを割り当てる(ステップS176)。端末管理OS32は、移動対象VMのホストVM13をホストサーバ1に移動開始する(ステップS177)。端末管理OS32は、移動対象VMの移動状態を確認して(ステップS178)、移動を完了したか否かを判定する(ステップS179)。端末管理OS32は、完了していないと判定した場合(ステップS179でNO)、移動対象VMの移動状態を確認するステップS178に処理を戻す。端末管理OS32は、完了したと判定した場合(ステップS179でYES)、デバイスの割当要求をホスト管理OS12に送信して(ステップS180)、返還処理を終了する。
ホストサーバ1のホスト管理OS12は、要求を受信して(ステップS181)、端末管理OS32から送られてきた割当要求を受信したか否かを判定する(ステップS182)。ホスト管理OS12は、割当要求を受信していないと判定した場合(ステップS182でNO)、要求を受信するステップS181に処理を戻す。ホスト管理OS12は、受信したと判定した場合(ステップS182でYES)、ホストサーバ1に移動してきた移動対象VMのホストVM13に基本入出力デバイスを割り当てる(ステップS183)。ホスト管理OS12は、移動対象VMのリソースの予約を解除して(ステップS184)、返還処理を終了する。
以上より、利用可能な物理デバイスが選択された場合、ホストVM13をクライアント端末3に移動させて、ネットワーク網Nを介さずに当該物理デバイスへアクセスすることが可能となる。また、ホストVM13を移動元に返還する操作を受付けた場合、ホストVM13を移動元のホストサーバ1に移動させてクライアント端末3からのリモート操作が可能となる。
本実施の形態においては、クライアント端末3に接続された物理デバイスの選択を受け付ける場合を示したが、これに限るものではなく、移動可能なクライアント端末3に接続予定の物理デバイスの選択を受け付けてもよい。この場合、ホストサーバ1からクライアント端末3にホストVM13を移動させた後に、物理デバイスの接続を待機するとよい。また、クライアント端末3が接続された物理デバイスを選択する場合を示したが、これに限るものではない。例えば、複数のホストサーバ1夫々に接続された物理デバイスを選択するようにしてもよい。この場合、クライアント端末3がリモート接続しているホストVM13を、選択された物理デバイスが接続された他のホストサーバ1に移動するとよい。
管理サーバ2を備える計算機システムを示したが、これに限るものではない。管理サーバ2の代わりに、例えば複数のホストサーバ1のうち、いずれか1つのホストサーバ1で動作しているホスト管理OS12がリソース管理部21を備えていてもよい。また、実施の形態1と同様にハイパーバイザー型のVMMを用いる場合に限るものではなく、例えばホストOS型のVMMを用いてもよい。
本実施の形態は以上の如きであり、その他は実施の形態1と同様であるので対応する部分には同一の符号及び処理名を付してその詳細な説明を省略する。
実施の形態3
図26は、各ソフトウェアの例を示すブロック図である。本実施の形態は、クライアント端末3に移動したホストVM13から物理デバイスへのアクセスを制限する。管理サーバ2は、クライアント端末3に接続された物理デバイス夫々に対するアクセス可否を管理するアクセス管理部22を含む。ホストVM13は、管理サーバ2のアクセス管理部22が管理しているアクセス制限情報に基づいてアクセスを制限するアクセス制限部133を含む。
続いて本実施の形態の概要を説明する。クライアント端末3に移動されて基本入出力デバイス及び物理デバイスが割り当てられたホストVM13は、各デバイスへアクセスが可能となる。ここで、ホストVM13の移動動作及び各デバイスの割当動作は、実施の形態1及び実施の形態2と同様であるので説明を省略する。アクセス制限部133は、ホストVM13が割り当てられた物理デバイス夫々にアクセスする場合、予め設定されたアクセス制限情報に基づいてデバイスへのアクセスを許可することで許可手段として機能する。これにより、クライアント端末3を操作するユーザによる各物理デバイスへのアクセスを制限して、外部への情報の漏洩又は外部から計算機システムへの不正なデータ及びプログラムの進入を防ぐことが可能となる。
また、アクセス制限テーブルは、各物理デバイスの各動作に応じたアクセス可否を含む。アクセス制限部133により物理デバイスの動作状態を定期的に監視し、動作状態に応じたアクセス制限を行ってもよい。例えば、アクセス制限情報により書込動作が禁止されているDVDマルチドライブに読込みのみが可能なDVD−ROMが挿入された場合は、アクセスを許可するとよい。この場合、DVDマルチドライブに挿入されたDVD−ROMが、書き込み可能なDVD−RAMに入れ替えられた場合、当該DVD−ROMへのアクセスが禁止される。以下、詳細を説明する。
図27は、アクセス制限テーブルのレコードレイアウト例を示す図表である。アクセス管理部22は、アクセス制限テーブルを記憶部に記憶してアクセス制限情報を管理するようにしてある。アクセス制限テーブルには、各クライアント端末の入出力部306に接続してあるUSBメモリ308a及びDVD−ROMドライブ308b等の物理デバイス夫々のアクセス制限情報が含まれている。アクセス制限情報は、各物理デバイスのアクセス可否を各動作に対応して示しており、計算機システムの管理者等により予め決定されて記憶されている。図27に示す例では、クライアント端末3にUSBメモリ308aが接続された場合、書込動作についてはアクセスを許可しないアクセス否が記憶されている。また、DVDドライブ308bにDVDが挿入された場合、読込動作についてはアクセスを許可するアクセス可が記憶されている。
図28及び図29は、アクセス制限処理の手順を示すフローチャートである。アクセス制限処理は、クライアント端末3に移動してきたホストVM13への物理デバイスの割当が行われた場合に実行される。ホスト端末13は、要求を受信して(ステップS190)、アクセス要求を受付けたか否かを判定する(ステップS191)。ホストVM13は、アクセス要求を受付けていないと判定した場合(ステップS191でNO)、要求を受信するステップS190に処理を戻す。ホストVM13は、アクセス要求を受付けたと判定した場合(ステップS191でYES)、アクセスする物理デバイスに対応するアクセス制限情報の要求を管理サーバ2に送信する。管理サーバ2は、要求を受信して(ステップS193)、ホストVM13から送られてきたアクセス制限情報の要求を受信したか否かを判定する(ステップS194)。管理サーバ2は、アクセス制限情報の要求を受信していないと判定した場合(ステップS194でNO)、要求を受信するステップS193に処理を戻す。
管理サーバ2は、アクセス制限情報の要求を受信したと判定した場合(ステップS194でYES)、アクセス管理部22により要求元のクライアント端末3に対応するアクセス制限情報を取得する(ステップS195)。管理サーバ2は、取得したアクセス制限情報をホストVM13に送信して (ステップS196)、アクセス制限処理を終了する。ホストVM13は、情報を受信して(ステップS197)、管理サーバ2から送られてきたアクセス制限情報を受信したか否かを判定する(ステップS198)。ホストVM13は、アクセス制限情報を受信していないと判定した場合(ステップS198でNO)、情報を受信するステップS197に処理を戻す。ホストVM13は、アクセス制限情報を受信したと判定した場合(ステップS198でYES)、接続してある物理デバイスの一覧を取得する(ステップS199)。
ホストVM13は、物理デバイスの一覧から1つの物理デバイスを選択する(ステップS200)。ホストVM13は、アクセス制限情報に基づいて物理デバイスがアクセス可であるか否かを判定する(ステップS201)。ホストVM13は、アクセス可であると判定した場合(ステップS201でYES)、物理デバイスへのアクセスを許可する(ステップS202)。ホストVM13は、全ての物理デバイスを選択済みであるか否かを判定する(ステップS203)。ホストVM13は、選択済みでないと判定した場合(ステップS203でNO)、一覧から他の物理デバイスを選択して(ステップS204)、アクセス可であるか否かを判定するステップS201に処理を戻す。また、ホストVM13は、アクセス可であるか否かを判定するステップS201において、アクセス可でないと判定した場合(ステップS201でNO)、全ての物理デバイスを選択済みであるか否かを判定するステップS203に処理を移す。
ホストVM13は、選択済みであると判定した場合(ステップS203でYES)、メディアが交換されたか否かを判定する(ステップS205)。ホストVM13は、メディアが交換されたと判定した場合(ステップS205でYES)、アクセス可であるか否かを判定する(ステップS206)。ホストVM13は、アクセス可であると判定した場合(ステップS206でYES)、アクセス許可されているか否かを判定する(ステップS207)。ホストVM13は、アクセス許可されていないと判定した場合(ステップS207でNO)、アクセスを許可する(ステップS208)。
ホストVM13は、物理デバイスが割当解除されたか否かを判定する(ステップS209)。ホストVM13は、物理デバイスが割当解除されていないと判定した場合(ステップS209でNO)、メディアが交換されたか否かを判定するステップS205に処理を戻す。ホストVM13は、メディアが交換されたか否かを判定するステップS205において、メディアが交換されていないと判定した場合(ステップS205でNO)、物理デバイスが割当解除されたか否かを判定するステップS209に処理を移す。ホストVM13は、アクセス可であるか否かを判定するステップS206において、アクセス可でないと判定した場合(ステップS206でNO)、アクセス許可されているか否かを判定する(ステップS210)。ホストVM13は、アクセス許可されていないと判定した場合(ステップS210でNO)、物理デバイスが割当解除されたか否かを判定するステップS209に処理を移す。
ホストVM13は、アクセス許可されていると判定した場合(ステップS210でYES)、アクセス許可を解除して(ステップS211)、物理デバイスが割当解除されたか否かを判定するステップS209に処理を移す。ホストVM13は、アクセス許可されているか否かを判定するステップS207において、アクセス許可されていると判定した場合(ステップS207でYES)、物理デバイスが割当解除されたか否かを判定するステップS209に処理を移す。ホストVM13は、物理デバイスが割当解除されたと判定した場合(ステップS209でYES)、アクセス制限処理を終了する。これにより、ホストVM13から物理デバイスへのアクセスを事前に設定してあるアクセス制限情報に基づいて制限することが可能となる。
本実施の形態においては、クライアント端末3に移動してきたホストVM13に基本入出力デバイス及び物理デバイスが割り当てられ、当該物理デバイスへのアクセス制限を行う例を示したが。これに限るものではない。例えば、クライアント端末3に移動してきたホストVM13に基本入出力デバイスのみを割り当て、アクセス制限情報に基づいてアクセス許可する物理デバイスのみを割り当てるようにしてもよい。この場合、ホストVM13に割り当てられていない物理デバイスは、ホストVM13からアクセスできないため、アクセスが禁止される。
本実施の形態においては、管理サーバ2がアクセス管理部22を備える例を示したが、これに限るものではない。管理サーバ2の代わりに、例えば複数のホストサーバ1のうち、いずれか1つのホストサーバ1で動作しているホスト管理OS12がアクセス管理部22を備えていてもよい。
本実施の形態3は以上の如きであり、その他は実施の形態1及び2と同様であるので対応する部分には同一の符号及び処理名を付してその詳細な説明を省略する。
以上の実施の形態1乃至3を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
物理デバイスが接続された複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置において、
前記複数の端末装置夫々へ、前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定手段と、
該判定手段により移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手段と、
該移動手段により移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当手段と
を備えるサーバ装置。
(付記2)
前記複数の端末装置に接続された物理デバイスを検出する検出手段を備え、
前記判定手段は、前記検出手段により検出した物理デバイスが接続された端末装置へ、該端末装置に対応付けた仮想計算機の移動が可能であるか否かを判定する
付記1に記載のサーバ装置。
(付記3)
前記複数の端末装置に接続された物理デバイスのうち、少なくとも1つの物理デバイスを選択する選択手段を備え、
前記判定手段は、前記選択手段により選択した物理デバイスが接続された端末装置へ、該端末装置に対応付けた仮想計算機の移動が可能であるか否かを判定する
付記1又は付記2に記載のサーバ装置。
(付記4)
前記判定手段により移動が可能であると判定した端末装置に接続された物理デバイスの一覧を表示する表示手段と、
該表示手段により表示した一覧から、少なくとも1つの物理デバイスを選択する操作を受付ける操作受付手段と
を備え、
前記選択手段は、前記操作受付手段により受け付けた操作に基づいて物理デバイスを選択する
付記3に記載のサーバ装置。
(付記5)
前記複数の端末装置に接続された物理デバイス夫々に対するアクセス可否を記憶してある記憶部と、
該記憶部に記憶してあるアクセス可否に基づいて前記割当手段が割り当てた物理デバイスに対するアクセスを許可する許可手段と
を備える付記1乃至付記4のいずれか1つに記載のサーバ装置。
(付記6)
前記移動手段により移動した仮想計算機に、前記端末装置に接続された物理デバイスを割り当てる割当手段と、
該割当手段により割り当てた物理デバイスの割当を解除する解除手段
とを備え、
前記移動手段は、前記解除手段により物理デバイスの割当を解除した場合、前記端末装置に移動した仮想計算機を移動元に戻す
付記1乃至付記5のいずれか1つに記載のサーバ装置。
(付記7)
前記判定手段は、前記複数の端末装置夫々が有する計算資源及び前記複数の仮想計算機夫々が使用している計算資源に基づいて判定することを特徴とする付記1乃至付記6に記載のサーバ装置。
(付記8)
物理デバイスが接続された複数の端末装置と、該複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置とを有する計算機システムにおいて、
前記サーバ装置は、
前記複数の端末装置夫々へ前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定手段と、
該判定手段により移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手段と
を備え、
前記端末装置は、
前記移動手段により移動した仮想計算機に物理デバイスを割り当てる割当手段
を備える計算機システム。
(付記9)
前記複数の端末装置夫々が有する計算資源及び前記複数の仮想計算機夫々が使用している計算資源を管理する管理装置を備え、
前記判定手段は、前記管理装置により管理している計算資源に基づいて前記複数の端末装置夫々へ前記仮想計算機を移動可能であるか否かを判定する
付記8に記載の計算機システム。
(付記10)
前記管理装置は、前記複数の端末装置に接続してある物理デバイス夫々に対するアクセス可否を記憶した記憶部を備え、
前記サーバ装置は、
前記記憶部に記憶してあるアクセス可否に基づいて前記割当手段により割り当てた物理デバイス夫々に対するアクセスを許可する許可手段を備える
ことを特徴とする付記8又は付記9に記載の計算機システム。
(付記11)
物理デバイスが接続された複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置に、前記複数の端末装置夫々へ前記仮想計算機を移動させるプログラムにおいて、
前記サーバ装置に
前記複数の端末装置夫々へ前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定ステップと、
該判定ステップにより移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動ステップと、
該移動ステップにより移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当ステップと
を実行させるプログラム。
(付記12)
物理デバイスが接続された複数の端末装置夫々に対応付けた複数の仮想計算機を前記複数の端末装置へ移動させる仮想計算機移動方法において、
前記複数の端末装置夫々へ前記複数の端末装置夫々の移動が可能であるか否かを判定する判定手順と、
移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手順と、
移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当手順と
含む仮想計算機移動方法。
(付記13)
付記2に記載の複数の端末装置夫々により実行されるプログラムであって、
前記複数の端末装置夫々に接続された物理デバイスを検出する検出ステップと、
該検出ステップにより検出した前記物理デバイスを前記検出手段へ通知する通知ステップと
を実行するプログラム。
1 ホストサーバ
2 管理サーバ
3 クライアント端末
N ネットワーク網
10,30 ハードウェア
11 ホストVMM
12 ホスト管理OS
13 ホストVM
21 リソース管理部
22 アクセス管理部
31 端末VMM
32 端末管理OS
33 端末VM
100,300 CPU
100a,300a バス
101,301 RAM
102,302 HDD
103,303 NIC
104,304 画像処理部
105,305 表示部
106,306 入出力部
107a,307a キーボード
107b,307b マウス
109,309 記録媒体読込部
110,310 記録媒体
308a USBメモリ
308b DVDドライブ
111,311 物理デバイス接続検出部
112,312 物理デバイス割当部
121,321 ローカルリソース管理部
122,322 VM移動部
123,323 物理デバイス割当要求部
131 仮想サーバ
132 VM移動先候補表示部
133 アクセス制限部
331 仮想クライアント
1101,3101 プログラム

Claims (8)

  1. 物理デバイスが接続された複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置において、
    前記複数の端末装置夫々へ、前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定手段と、
    該判定手段により移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手段と、
    該移動手段により移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当手段と
    を備えるサーバ装置。
  2. 前記複数の端末装置に接続された物理デバイスを検出する検出手段を備え、
    前記判定手段は、前記検出手段により検出した物理デバイスが接続された端末装置へ、該端末装置に対応付けた仮想計算機の移動が可能であるか否かを判定する
    請求項1に記載のサーバ装置。
  3. 前記複数の端末装置に接続された物理デバイスのうち、少なくとも1つの物理デバイスを選択する選択手段を備え、
    前記判定手段は、前記選択手段により選択した物理デバイスが接続された端末装置へ、該端末装置に対応付けた仮想計算機の移動が可能であるか否かを判定する
    請求項1又は請求項2に記載のサーバ装置。
  4. 前記判定手段により移動が可能であると判定した端末装置に接続された物理デバイスの一覧を表示する表示手段と、
    該表示手段により表示した一覧から、少なくとも1つの物理デバイスを選択する操作を受付ける操作受付手段と
    を備え、
    前記選択手段は、前記操作受付手段により受け付けた操作に基づいて物理デバイスを選択する
    請求項3に記載のサーバ装置。
  5. 前記複数の端末装置に接続された物理デバイス夫々に対するアクセス可否を記憶してある記憶部と、
    該記憶部に記憶してあるアクセス可否に基づいて前記割当手段が割り当てた物理デバイスに対するアクセスを許可する許可手段と
    を備える請求項1乃至請求項4のいずれか一項に記載のサーバ装置。
  6. 物理デバイスが接続された複数の端末装置と、該複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置とを有する計算機システムにおいて、
    前記サーバ装置は、
    前記複数の端末装置夫々へ前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定手段と、
    該判定手段により移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手段と
    を備え、
    前記端末装置は、
    前記移動手段により移動した仮想計算機に物理デバイスを割り当てる割当手段
    を備える計算機システム。
  7. 物理デバイスが接続された複数の端末装置夫々に対応付けて複数の仮想計算機を動作させるサーバ装置に、前記複数の端末装置夫々へ前記仮想計算機を移動させるプログラムにおいて、
    前記サーバ装置に
    前記複数の端末装置夫々へ前記複数の仮想計算機夫々の移動が可能であるか否かを判定する判定ステップと、
    該判定ステップにより移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動ステップと、
    該移動ステップにより移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当ステップと
    を実行させるプログラム。
  8. 物理デバイスが接続された複数の端末装置夫々に対応付けた複数の仮想計算機を前記複数の端末装置へ移動させる仮想計算機移動方法において、
    前記複数の端末装置夫々へ前記複数の端末装置夫々の移動が可能であるか否かを判定する判定手順と、
    移動が可能であると判定した端末装置へ、該端末装置に対応付けた仮想計算機を移動する移動手順と、
    移動した仮想計算機に、該端末装置に接続された物理デバイスを割り当てる割当手順と
    含む仮想計算機移動方法。
JP2009082525A 2009-03-30 2009-03-30 サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 Expired - Fee Related JP5476764B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009082525A JP5476764B2 (ja) 2009-03-30 2009-03-30 サーバ装置、計算機システム、プログラム及び仮想計算機移動方法
GB1004702.5A GB2469369B (en) 2009-03-30 2010-03-22 Server device, computer system, and virtual computer moving method
US12/732,564 US20100251255A1 (en) 2009-03-30 2010-03-26 Server device, computer system, recording medium and virtual computer moving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009082525A JP5476764B2 (ja) 2009-03-30 2009-03-30 サーバ装置、計算機システム、プログラム及び仮想計算機移動方法

Publications (2)

Publication Number Publication Date
JP2010237788A true JP2010237788A (ja) 2010-10-21
JP5476764B2 JP5476764B2 (ja) 2014-04-23

Family

ID=42228070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009082525A Expired - Fee Related JP5476764B2 (ja) 2009-03-30 2009-03-30 サーバ装置、計算機システム、プログラム及び仮想計算機移動方法

Country Status (3)

Country Link
US (1) US20100251255A1 (ja)
JP (1) JP5476764B2 (ja)
GB (1) GB2469369B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015026162A (ja) * 2013-07-25 2015-02-05 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
CN104685479A (zh) * 2012-08-29 2015-06-03 超威半导体公司 客户虚拟机内的虚拟输入/输出存储器管理单元
WO2015146374A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 仮想化資源管理ノード及び仮想マシン移行方法
JP2021064369A (ja) * 2019-10-11 2021-04-22 グーグル エルエルシーGoogle LLC 車両のための拡張可能なコンピューティングアーキテクチャ

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417945B2 (en) * 2008-06-30 2013-04-09 Intel Corporation Detection and reporting of virtualization malware in computer processor environments
JP5493976B2 (ja) * 2010-02-18 2014-05-14 富士通株式会社 情報処理装置、計算機システム及びプログラム
WO2012079153A1 (en) * 2010-12-15 2012-06-21 Userful Corporation Multiple user computing method and system for same
US8667496B2 (en) * 2011-01-04 2014-03-04 Host Dynamics Ltd. Methods and systems of managing resources allocated to guest virtual machines
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
WO2014155555A1 (ja) * 2013-03-27 2014-10-02 株式会社日立製作所 管理システム及び管理プログラム
US20140365199A1 (en) * 2013-06-11 2014-12-11 The Mathworks, Inc. Pairing a physical device with a model element
US10360052B1 (en) 2013-08-08 2019-07-23 The Mathworks, Inc. Automatic generation of models from detected hardware
US9817688B2 (en) * 2015-02-18 2017-11-14 Red Hat Israel, Ltd. Identifying and preventing removal of virtual hardware
US10878140B2 (en) * 2016-07-27 2020-12-29 Emerson Process Management Power & Water Solutions, Inc. Plant builder system with integrated simulation and control system configuration
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01316833A (ja) * 1988-06-17 1989-12-21 Nec Corp 仮想計算機システムの構成変更方式
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2006107185A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd オフライン作業可能な端末を有する計算機システム
JP2008004072A (ja) * 2006-05-24 2008-01-10 Hitachi Ltd デバイス管理システム
JP2008083897A (ja) * 2006-09-27 2008-04-10 Nec Corp 負荷低減システム、負荷低減方法、及びプログラム
JP2008129968A (ja) * 2006-11-24 2008-06-05 Hitachi Ltd ネットワークシステム

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2682770B2 (ja) * 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
JP3657665B2 (ja) * 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
US6151618A (en) * 1995-12-04 2000-11-21 Microsoft Corporation Safe general purpose virtual machine computing system
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6968307B1 (en) * 2000-04-28 2005-11-22 Microsoft Corporation Creation and use of virtual device drivers on a serial bus
US7065549B2 (en) * 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050198303A1 (en) * 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US8799431B2 (en) * 2005-08-15 2014-08-05 Toutvirtual Inc. Virtual systems management
US8347063B2 (en) * 2005-08-19 2013-01-01 Intel Corporation Method and system for device address translation for virtualization
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP4702127B2 (ja) * 2006-03-22 2011-06-15 日本電気株式会社 仮想計算機システム及びその物理リソース再構成方法並びにプログラム
CA2547047A1 (en) * 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
WO2007136021A1 (ja) * 2006-05-24 2007-11-29 Nec Corporation 仮想マシン管理装置、仮想マシン管理方法およびプログラム
US8667500B1 (en) * 2006-10-17 2014-03-04 Vmware, Inc. Use of dynamic entitlement and adaptive threshold for cluster process balancing
US8656390B2 (en) * 2006-11-09 2014-02-18 International Business Machines Corporation Implementing shadow objects with relocated resources to form relationships between new and old locations
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US8171485B2 (en) * 2007-03-26 2012-05-01 Credit Suisse Securities (Europe) Limited Method and system for managing virtual and real machines
US8479194B2 (en) * 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US20090006702A1 (en) * 2007-06-26 2009-01-01 Nitin Sarangdhar Sharing universal serial bus isochronous bandwidth between multiple virtual machines
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
CA2697965C (en) * 2007-08-31 2018-06-12 Cirba Inc. Method and system for evaluating virtualized environments
US8468230B2 (en) * 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
US8819675B2 (en) * 2007-11-28 2014-08-26 Hitachi, Ltd. Virtual machine monitor and multiprocessor system
US8185894B1 (en) * 2008-01-10 2012-05-22 Hewlett-Packard Development Company, L.P. Training a virtual machine placement controller
US7925923B1 (en) * 2008-01-31 2011-04-12 Hewlett-Packard Development Company, L.P. Migrating a virtual machine in response to failure of an instruction to execute
US8996890B2 (en) * 2008-02-07 2015-03-31 Dell Products L.P. Method for power conservation in virtualized environments
US20090229589A1 (en) * 2008-03-10 2009-09-17 Karnis Nicholas Hopper for paintballs
US8099615B2 (en) * 2008-06-30 2012-01-17 Oracle America, Inc. Method and system for power management in a virtual machine environment without disrupting network connectivity
JP5157717B2 (ja) * 2008-07-28 2013-03-06 富士通株式会社 仮想バッテリを備えた仮想マシンシステムおよび仮想バッテリを備えた仮想マシンシステム用プログラム
US7904914B2 (en) * 2008-09-30 2011-03-08 Microsoft Corporation On-the-fly replacement of physical hardware with emulation
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
US8214829B2 (en) * 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
US8019861B2 (en) * 2009-01-29 2011-09-13 Vmware, Inc. Speculative virtual machine resource scheduling
US20100211958A1 (en) * 2009-02-17 2010-08-19 Sun Microsystems, Inc. Automated resource load balancing in a computing system
JP2010205209A (ja) * 2009-03-06 2010-09-16 Hitachi Ltd 管理計算機、計算機システム、物理リソース割り当て方法
US8321862B2 (en) * 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US8146082B2 (en) * 2009-03-25 2012-03-27 Vmware, Inc. Migrating virtual machines configured with pass-through devices
US8291416B2 (en) * 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
US8135818B2 (en) * 2009-06-22 2012-03-13 Red Hat Israel, Ltd. Automatic virtual machine migration in mixed SBC/CBC environment
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US9069730B2 (en) * 2009-06-29 2015-06-30 Hewlett-Packard Development Company, L. P. Coordinated reliability management of virtual machines in a virtualized system
US8359374B2 (en) * 2009-09-09 2013-01-22 Vmware, Inc. Fast determination of compatibility of virtual machines and hosts
US20110102443A1 (en) * 2009-11-04 2011-05-05 Microsoft Corporation Virtualized GPU in a Virtual Machine Environment
US8589921B2 (en) * 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8370473B2 (en) * 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US8346934B2 (en) * 2010-01-05 2013-01-01 Hitachi, Ltd. Method for executing migration between virtual servers and server system used for the same
US20110202640A1 (en) * 2010-02-12 2011-08-18 Computer Associates Think, Inc. Identification of a destination server for virtual machine migration
EP2521031A4 (en) * 2010-06-17 2014-01-08 Hitachi Ltd COMPUTER SYSTEM AND REVISION METHOD THEREOF
US8171349B2 (en) * 2010-06-18 2012-05-01 Hewlett-Packard Development Company, L.P. Associating a monitoring manager with an executable service in a virtual machine migrated between physical machines
US8615579B1 (en) * 2010-12-28 2013-12-24 Amazon Technologies, Inc. Managing virtual machine migration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01316833A (ja) * 1988-06-17 1989-12-21 Nec Corp 仮想計算機システムの構成変更方式
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式
JP2006107185A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd オフライン作業可能な端末を有する計算機システム
JP2008004072A (ja) * 2006-05-24 2008-01-10 Hitachi Ltd デバイス管理システム
JP2008083897A (ja) * 2006-09-27 2008-04-10 Nec Corp 負荷低減システム、負荷低減方法、及びプログラム
JP2008129968A (ja) * 2006-11-24 2008-06-05 Hitachi Ltd ネットワークシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200900348019; 渡邉英伸ほか4名: '仮想化技術と移動透過通を用いたウェアラブルデバイス支援システム' 情報処理学会研究報告 2009-IOT-4 , 20090305, pp.125-130, 社団法人情報処理学会 *
JPN6013020713; 渡邉英伸ほか4名: '仮想化技術と移動透過通を用いたウェアラブルデバイス支援システム' 情報処理学会研究報告 2009-IOT-4 , 20090305, pp.125-130, 社団法人情報処理学会 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104685479B (zh) * 2012-08-29 2018-04-17 超威半导体公司 客户虚拟机内的虚拟输入/输出存储器管理单元
CN104685479A (zh) * 2012-08-29 2015-06-03 超威半导体公司 客户虚拟机内的虚拟输入/输出存储器管理单元
JP2015526829A (ja) * 2012-08-29 2015-09-10 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated ゲスト仮想マシン内の仮想入出力メモリ管理ユニット
JP2015026162A (ja) * 2013-07-25 2015-02-05 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム
US10120710B2 (en) 2014-03-28 2018-11-06 Ntt Docomo, Inc. Virtualized resource management node and virtual migration method for seamless virtual machine integration
JPWO2015146374A1 (ja) * 2014-03-28 2017-04-13 株式会社Nttドコモ 仮想化資源管理ノード及び仮想マシン移行方法
WO2015146374A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 仮想化資源管理ノード及び仮想マシン移行方法
JP2021064369A (ja) * 2019-10-11 2021-04-22 グーグル エルエルシーGoogle LLC 車両のための拡張可能なコンピューティングアーキテクチャ
JP7043563B2 (ja) 2019-10-11 2022-03-29 グーグル エルエルシー 車両のための拡張可能なコンピューティングアーキテクチャ
JP2022093330A (ja) * 2019-10-11 2022-06-23 グーグル エルエルシー 車両のための拡張可能なコンピューティングアーキテクチャ
US11455180B2 (en) 2019-10-11 2022-09-27 Google Llc Extensible computing architecture for vehicles
JP7223895B2 (ja) 2019-10-11 2023-02-16 グーグル エルエルシー 車両のための拡張可能なコンピューティングアーキテクチャ
US11880701B2 (en) 2019-10-11 2024-01-23 Google Llc Extensible computing architecture for vehicles

Also Published As

Publication number Publication date
JP5476764B2 (ja) 2014-04-23
GB2469369A (en) 2010-10-13
GB2469369B (en) 2015-03-18
GB201004702D0 (en) 2010-05-05
US20100251255A1 (en) 2010-09-30

Similar Documents

Publication Publication Date Title
JP5476764B2 (ja) サーバ装置、計算機システム、プログラム及び仮想計算機移動方法
CN108351772B (zh) 跨应用实例的标识符
JP5343586B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
TWI478063B (zh) 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體
US7506037B1 (en) Method determining whether to seek operator assistance for incompatible virtual environment migration
US20140214922A1 (en) Method of providing virtual machine and service gateway for real-time virtual desktop service
US9766913B2 (en) Method and system for managing peripheral devices for virtual desktops
WO2011083673A1 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
JP2016167143A (ja) 情報処理システムおよび情報処理システムの制御方法
JP6003590B2 (ja) データセンタ,仮想システムの複写サービスの提供方法,データセンタの管理サーバ及び仮想システムの複写プログラム
JP2009223517A (ja) 情報処理システム、情報処理方法及びコンピュータプログラム
US11271895B1 (en) Implementing advanced networking capabilities using helm charts
JP2022552141A (ja) 仮想メモリ・メタデータ管理
JP2011170613A (ja) 情報処理装置、計算機システム及びプログラム
US20230195695A1 (en) File Sharing Method and Terminal Device
TW201235946A (en) Method and system for configuring USB device in virtual environment
KR101535792B1 (ko) 운영체제 구성 장치 및 방법
JP2017004044A (ja) ライセンス管理プログラム、ライセンス管理方法、およびライセンス管理システム
JP5864534B2 (ja) 仮想計算機システム、メモリ管理方法、メモリ管理プログラム、記録媒体および集積回路
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム
US9450910B2 (en) Network address allocation
JP3884239B2 (ja) サーバ計算機
US20240048597A1 (en) Using a handshake to communicate between a security and compliance center (scc) and at least a first operator
JP2019139417A (ja) 情報処理装置、制御方法及び制御プログラム
JP2007293639A (ja) アクセス制御方法、アクセス制御方法を用いた機器及びシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130925

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R150 Certificate of patent or registration of utility model

Ref document number: 5476764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees