説明

通信装置、方法及びプログラム

【課題】仮想計算機の状態を適切に制御する。
【解決手段】ユーザモニタ端末100は、起動状態と停止状態とを切り替え可能なVM(Virtual Machine)を動作させているVMサーバから、当該VMから提供された画面データを受信する受信処理部211と、画面データを表示する表示部205と、当該画面データから処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行するVMを停止させるか否か判断する判断部と、停止させると判断されたVMを動作させているVMサーバに対して、当該VMの停止信号を送信する送信処理部212と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、仮想計算機を動作させる計算機と情報を送受信する通信装置、方法及びプログラムに関するものである。
【背景技術】
【0002】
従来から、計算装置が表示する画面データを、ネットワークを介して接続された通信装置で表示する技術がある。当該技術により計算装置で実行する処理を制御することが可能となる。
【0003】
上述した技術を利用することで、液晶タッチパネル及びペンなどの最小限の入出力インタフェースのみ備える通信端末装置をユーザに携帯させ、当該通信端末装置からネットワークを介して遠隔地に存在するサーバ(計算装置)に接続し、当該サーバから提供されるサービスを、通信端末装置で利用するシステムがある。
【0004】
ところで、近年、サーバ上で複数の仮想計算機を動作させる技術が提案されている。仮想計算機とは、物理的な計算機上に、主にソフトよる手段で仮想的な計算機を複数動作させ、その仮想的な計算機上でオペレーティングシステムやアプリケーションプログラムを動作させるものである。当該技術を利用することで、従来よりも少ない数の計算機で、より多くの計算機で運用していたシステムを実現することが可能となる。
【0005】
上述したシステムに仮想計算機の技術を適用すると、ユーザの操作に応じて通信端末装置の接続先のサーバが、仮想計算機サーバAから、仮想計算機サーバBといった具合に転送されていくことになる。
【0006】
このような仮想計算機を利用したシステムを運用する場合、仮想計算機を動作させるサーバにおいては、通信端末装置等から利用されていない仮想計算機を、少しでも長時間停止させることが、サービスのスケーラビリティを向上させることに直結する。
【0007】
一方、一度停止させた仮想計算機が提供するサービスを、通信端末装置が再び利用することになった場合、当該仮想計算機の再起動している時間、ユーザは待機することになる。このため、仮想計算機からサービスを提供する場合、当該仮想計算機の動作をいつ停止すべきかの判断は、慎重に行なわなければならない。
【0008】
そこで、非特許文献1では、ユーザに対して、仮想計算機の停止と起動とを変更できる技術が提案されている。当該技術を適用することで、ユーザが当該仮想計算機の停止と起動とを変更できるので、利用が終了した時に仮想計算機を停止させ、当該仮想計算機を利用したい場合には前もって起動させるようユーザが制御することができる。
【0009】
【非特許文献1】“Suspending and Resuming Virtual Machines”、[online]、[2007/12/28検索]、インターネット<URL: http://www.vmware.com/support/esx2/doc/esx20admin_remote-console8.html#1004281>
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、非特許文献1に記載された技術では、仮想計算機の停止を指示できる機能をユーザに対して提供したとしても、ユーザが仮想計算機を適切に停止させるか否か判断することは容易ではない。
【0011】
例えば、WWWのWebページ上に提示されたクリックボタンの様に、ユーザがこれから行う操作が、接続先のサーバが変更される操作であるのか否かを判断することは難しい。また、ユーザがサーバの接続先が変更されることを把握できた時には、既に通信端末装置は、停止の指示を与えるべき仮想計算機が動作しているサーバから、別のサーバに接続先が変更されていることも多く、この場合、仮想計算機に対して停止の指示を与えることは容易ではない。
【0012】
本発明は、上記に鑑みてなされたものであって、ユーザの利用状況に応じて、仮想計算機の起動状態と停止状態とを切り替える通信装置、方法及びプログラムを提供する。
【課題を解決するための手段】
【0013】
上述した課題を解決し、目的を達成するために、本発明にかかる通信装置は、起動状態と停止状態とを切り替え可能な仮想計算機を動作させている計算機から、当該仮想計算機から提供された画面情報を受信する受信手段と、前記画面情報を表示する表示手段と、前記表示手段により表示された前記画面情報から処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行する前記仮想計算機を停止させるか否か判断する判断手段と、停止させると判断された前記仮想計算機を動作させている前記計算機に対して、当該仮想計算機の停止信号を送信する送信手段と、を備えることを特徴とする。
【0014】
また、本発明にかかる通信方法は、受信手段が、起動状態と停止状態とを切り替え可能な仮想計算機を動作させている計算機から、当該仮想計算機から提供された画面情報を受信する受信ステップと、表示手段が、前記画面情報を表示する表示ステップと、判断手段が、前記表示ステップにより表示された前記画面情報から処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行する前記仮想計算機を停止させるか否か判断する判断ステップと、送信手段が、停止させると判断された前記仮想計算機を動作させている前記計算機に対して、当該仮想計算機の停止信号を送信する送信ステップと、を有することを特徴とする。
【0015】
また、本発明にかかる通信処理プログラムは、通信処理を行う手段として、コンピュータを機能させるプログラムであって、起動状態と停止状態とを切り替え可能な仮想計算機を動作させている計算機から、当該仮想計算機から提供された画面情報を受信する受信手段と、前記画面情報を表示する表示手段と、前記表示手段により表示された前記画面情報から処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行する前記仮想計算機を停止させるか否か判断する判断手段と、停止させると判断された前記仮想計算機を動作させている前記計算機に対して、当該仮想計算機の停止信号を送信する送信手段と、としてコンピュータを機能させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、ユーザが利用状況が反映されている画面情報に連動して、仮想計算機に停止信号を送信できるので、仮想計算機の状態を適切に制御することが可能という効果を奏する。
【発明を実施するための最良の形態】
【0017】
以下に添付図面を参照して、この発明にかかる通信装置、方法及びプログラムをユーザモニタ端末に適用した最良な実施の形態を詳細に説明する。なお、通信装置、方法及びプログラムは、ユーザモニタ端末以外の様々な装置に対して適用することができる。
【0018】
図1に示すように、ユーザが操作するユーザモニタ端末100は、仮想計算機(以降、VM(Virtual Machine)と呼ぶ)を動作させるVMサーバとネットワークを介して接続されている。そして、ユーザモニタ端末100は、VMサーバとの間でデータを送受信することで、当該VMサーバ上で動作しているVMからサービスを提供される。
【0019】
そして、本実施の形態にかかるユーザモニタ端末100は、液晶タッチパネルによる情報の表示機能と、当該液晶タッチパネルに対するペン入力機能を備えているものとする。
【0020】
図1に示す、第1VMサーバ151、及び第2VMサーバ152は、VMを動作させるPCサーバとする。VM1〜VM4は、それぞれ第1VMサーバ151及び第2VMサーバ152上で、仮想化技術により生成されたVMとする。サービスA〜サービスDは、各VM上で実行されているユーザ向けサービスのアプリケーションプログラムとする。
【0021】
ユーザが、ユーザモニタ端末100を操作することで、ユーザモニタ端末100があるVMサーバ(第1VMサーバ151又は第2VMサーバ152)上で動作しているVMに接続する。そして、ユーザが、当該VMから提供されるデスクトップ画面を参照し、当該デスクトップ画面に対してペン入力を行う。このペン入力情報が、ユーザモニタ端末100によりVMに対して送信される。その後、VMがペン入力結果に対応する情報をユーザモニタ端末100に対して送信する。これにより、ユーザモニタ端末100で、VMからのサービスを利用することができる。
【0022】
そして、図1では、ユーザモニタ端末100が、第2VMサーバ152のVM3と接続し、当該VM3のデスクトップ画面を表示し、VM3から提供されているサービスCを利用している状況を示している。さらに、ユーザモニタ端末100は、第1VMサーバ151のVM2と、第2VMサーバ152のVM4と接続されている、又はユーザの操作をトリガーに即座にVM2及びVM4と接続可能な状態であることを示している。VM2とVM4とが「接続している」か、「即座に接続可能な状態にある」かの違いは、ユーザモニタ端末100に表示されるGUI(Graphical User Interface)の設計に依存するものとする。なお、具体的に表示される画面については、後述する。
【0023】
さらに、ユーザモニタ端末100は、第1VMサーバ151のVM1とは現在接続されておらず、且つユーザの操作をトリガーに即座に接続可能な状況ではないことを示している。
【0024】
本実施の形態においては、接続中又は即座に接続する可能性のあるVM(上述した例では、VM2、VM3及びVM4)については起動状態とし、現在接続されておらず且つユーザの操作をトリガーに即座に接続可能な状態ではないVMについてはサスペンド状態とさせる例とする。さらに、ユーザモニタ端末100から接続可能なVMであっても、表示されている画面データに従って、状況に応じて起動状態か停止状態かを切り替えていくことになる。
【0025】
図2に示すように、ユーザモニタ端末100は、ステータス記憶部201と、通信処理部202と、画像変換部203と、GUI制御部204と、表示部205と、ペン入力受付部206と、判断部207と、操作数カウント部208と、を備える。
【0026】
ペン入力受付部206は、ユーザモニタ端末100が備える図示しない液晶タッチパネルに対する入力を、ペン入力の情報(ペンが指し示す位置座標等)として受け付ける。
【0027】
通信処理部202は、受信処理部211と、送信処理部212とを備え、VMを動作させるVMサーバと接続して、情報の送受信を行う。さらに、通信処理部202は、VMとの接続の確立や、切断処理なども行う。
【0028】
受信処理部211は、接続されたVMのデスクトップの画面データなどを、当該VMを動作させているVMサーバから受信する。
【0029】
送信処理部212は、接続されたVMに対してペン入力の情報、及びVMの切り替え情報を送信する。さらに、送信処理部212は、VMを動作させているVMサーバに対して、VMの停止信号、サスペンド状態に移行させる信号、起動状態に移行させる信号の送信も行う。
【0030】
画像変換部203は、受信処理部211から受け付けたVMのデスクトップの画面データを復号し、ユーザモニタ端末100で表示できる画像データ形式に変換する。画像データ形式の変換の例としては、受信した画面データがJPEGやPNGなどの画像形式で圧縮されていた場合、当該画面データを復号し、RGBデータに変換する等がある。そして、表示形式が変換された画面データは、GUI制御部204に出力される。
【0031】
GUI制御部204は、GUI生成部221と、GUI判断部222と、を備え、切替表示データの表示制御、及び当該切替表示データに対する入力受付制御を行う。この切替表示データは、画面データを提供しているVMを切り替えるために表示されるデータとする。切替表示データとは、表示部205に表示される画面を切り替えるための表示データとする。
【0032】
また、GUI制御部204は、ステータス記憶部201の更新処理も行う。
【0033】
GUI生成部221は、切替表示データを生成し、生成した切替表示データと、受信した画面データとを合成して、切替表示付画面データを生成する。そして、当該切替表示データに対してペン入力を受け付けた場合に、現在表示されていた画面データから、他のVMが提供する画面データに切り替えることになる。切替表示付画面データとは、VMから提供された画面データに、切替表示データを付加した画面データとする。
【0034】
本実施の形態では、切替表示付画面データに対するGUI方式として「ページ切替方式」を用いた例とする。つまり、切替表示データに対してペン入力を受け付けた場合に、ページをめくるように画面データを切り替える。
【0035】
GUI判断部222は、ペン入力受付部206が受け付けたペン入力の情報で指し示されている位置座標が、切替表示データを指し示しているか否か判断する。当該切替表示データを指し示していると判断した場合、VMの切り替えが指示されたと判断する。そして、GUI判断部222が切り替えを指示されたと判断した場合、VMを切り替えるための通知が、送信処理部212により送信される。
【0036】
表示部205は、GUI生成部221で合成された切替表示付画面データを表示する。図3に示す画面例のうち、符号301で示される「戻る」ボタンが、VMを切り替えるための切替表示データとなる。ユーザが「戻る」ボタン301をペンでクリックすることで、現在表示している画面データを提供していたVMより一つ前のVMから提供される画面データを、表示部205が表示する。切替表示データとして他には「進む」ボタンなどがある。
【0037】
また、「実行」ボタン302を押下した場合には、当該位置座標を含むペン入力情報が、当該画面データを送信しているVMに受け渡される。これにより、ユーザモニタ端末100は、当該VMからサービスの提供を受け付けたり、VMの接続先が切り替えられる等の処理が行われる。
【0038】
ステータス記憶部201は、ユーザモニタ端末100が接続したVMのステータスを記憶する。図4に示すように、接続した“VM”と、“表示状態”と、“ステータス”とを対応付けて記憶する。“VM”は、ユーザモニタ端末100が接続したVMの識別情報を記憶する。“表示状態”は、当該VMの表示状態を保持する。例えば“表示状態”が“表示中”の場合、当該“表示中”と対応付けられているVMから提供されている画面データが現在表示されていることを意味する。“戻る”は、“戻る”ボタンが押下された場合に、“戻る”と対応付けられているVMから提供される画面データが表示されることを意味する。“進む”は、“進む”ボタンが押下された場合に、“進む”と対応付けられているVMから提供される画面データが表示されることを意味する。
【0039】
つまり、図4に示すステータス記憶部201では、VM3から提供されている画面データがユーザモニタ端末100で表示されており、VM2及びVM4はユーザモニタ端末100に接続されているが、VM2及びVM4から提供される画面データは表示されていないことを意味する。
【0040】
フィールド“ステータス”は、当該VMの状態を示しており、“active”、“stop”及び“suspend”の3種類のうちいずれかの情報が格納されている。“active”であれば起動状態であることを意味し、“stop”であれば停止状態であることを意味し、“suspend”であればサスペンド状態を意味する。
【0041】
本実施の形態において、起動状態を維持するVMは、表示されているVMか、「進む」ボタン又は「戻る」ボタンの一回の押下(ワンクリック)で表示され得るVMとする。換言すれば、ユーザの1操作以内で実行されるVMは、起動状態を維持させておく。
【0042】
停止状態は、VMサーバにおいて、該当するVMにCPUが割り当てられていないが、VMが起動するために必要な情報がメモリ内に格納されているため、早く起動中に復帰できる状態とする。サスペンド状態は、VMサーバにおいて、該当するVMにCPUが割り当てられておらず、且つ当該VMに必要な情報もメモリ内からHDDに退避されているため、起動中に復帰するために時間がかかる状態とする。
【0043】
本実施の形態においては、停止状態にさせるVMは、「進む」ボタン又は「戻る」ボタンの2回以上の押下で表示されるVMとする。換言すれば、ユーザの2以上の操作で実行されるVMは、停止状態にさせておく。
【0044】
本実施の形態においては、サスペンド状態にさせるVMは、「進む」ボタン又は「戻る」ボタンを何回押下しても表示されることのないVMとする。
【0045】
図4に示すステータス記憶部201は、ユーザモニタ端末100の操作が行われ、新たなVMに接続される毎に、GUI制御部204が、当該VMを示すエントリを一つ追加する。
【0046】
図4に示すステータス記憶部201では、ユーザモニタ端末100がVM2、VM3、VM4の順に接続されたことを意味する。GUI制御部204は、VM4に接続した直後では“VM4”のエントリのフィールド“表示状態”に“表示中”を設定する。そして、ユーザが“戻る”ボタンを押下することで、GUI制御部204が、図4に示すように、“VM2”のエントリのフィールド“表示状態”を“戻る”に、“VM3”のエントリのフィールド“表示状態”を“表示中”に、“VM4”のエントリのフィールド“表示状態”を“進む”に更新する。これに伴い、後述する判断部207は、これらVMが一操作で表示可能であると判断し、各エントリのフィールド“ステータス”を“active”に更新する。
【0047】
また、図4に示すステータス記憶部201では、VM1のエントリがないことから、ユーザモニタ端末100がVM1に接続した後に当該VM1のエントリが削除されたか、VM1に接続したことがない、のうちいずれかと考えられる。
【0048】
その後、GUI生成部221が、VM3から受信した画面データに対して、切替表示データを合成した切替表示付画像データを生成し、表示部205が、VM3から提供される画面データを含む切替表示付画面データを、図5に示すように表示する。この図5に示す切替表示付画面データでは、VM4から提供される画面データに切り替えるための“進む”ボタン501が表示される。そして、ユーザが“進む”ボタン501か、“同意します”ボタン502を押下した場合に、表示部205が、VM4から提供される画面データを含む切替表示付画面データを表示することになる。
【0049】
操作数カウント部208は、ステータス記憶部201に格納された各エントリに基づいて、VM毎に、表示部205により表示された切替表示付画面データから処理を実行するのに必要な操作手順の数をカウントする。本実施の形態にかかる操作数カウント部208は、ステータス記憶部201のエントリの登録順から、VM毎の操作手順の数をカウントできる。例えば、表示状態が表示中のエントリの前後のエントリ(つまり、表示情報が“戻る”又は“進む”のエントリ)は、1操作とカウントされる。つまり、表示情報が“戻る”又は“進む”のエントリは、利用者による1操作で処理が実行される可能性のあるVMのエントリとなる。
【0050】
判断部207は、操作数カウント部208によりカウントされたVM毎の操作手順の数に基づいて、VMを停止させるか否か判断する。本実施の形態では、操作手順の数として、1操作以内であるか否かを基準とする。しかしながら、本実施の形態は、判定基準を1操作以内であるか否かに制限するものではなく、利用状況に応じて適切な操作手順の数を設定すればよい。
【0051】
そこで、本実施の形態にかかる判断部207は、表示している切替表示付画面データから2つ以上「進む」ボタン又は「戻る」ボタンを押下しなければ、呼び出せない処理を実行するVMを停止状態(stop)にさせると判断する。さらに、判断部207は、表示している切替表示付画面データからどう操作しても、呼び出すことができないVMについてはサスペンド状態にさせると判断する。
【0052】
つまり、判断部207は、ステータス記憶部201のフィールド“表示状態”が“戻る”、表示中、又は“進む”のVMの場合、操作数カウント部208によりカウントされた操作手順の数が1操作以内となるので、起動状態にさせるVMと判断することになる。フィールド“表示状態”がこれら(“戻る”、表示中、“進む”)以外の場合、判断部207は、操作数カウント部208によりカウントされた操作手順の数が2操作以上となるので、停止状態にさせるVMと判断することになる。
【0053】
つまり、図4に示すステータス記憶部201を参照した場合、判断部207は、VM2、VM3及びVM4を起動状態にする必要があると判断し、全エントリのフィールド“ステータス”を“active”に更新する。そして、送信処理部212は、VM2、VM3及びVM4を起動状態にするように信号を送信する。
【0054】
その後、ユーザが「進む」ボタンを一回押下するなどにより、画面データを提供するVMがVM3からVM4に切り替えられた場合、図6に示すように、GUI制御部204が、“VM2”のエントリのフィールド“表示状態”を“-”に、“VM3”のエントリのフィールド“表示状態”を“戻る”に、“VM4”のエントリのフィールド“表示状態”を“表示中”に更新する。つまり、VM2から提供される画面データは、ユーザの「戻る」ボタンを2回押下した場合に表示される。
【0055】
このような状況で、操作数カウント部208が各エントリの操作手順の数をカウントした場合、判断部207は、当該カウント結果に基づいて、VM3及びVM4の起動状態を維持し、VM2を停止状態にさせると判断する。そして、図6に示すように、判断部207は、“VM2”のエントリのフィールド“ステータス”を“stop”に更新する。
【0056】
そして、送信処理部212は、判断部207により各VMで停止状態にさせる又はサスペンド状態にさせると判断された場合、当該VMを動作させているVMサーバに対して、停止状態又はサスペンド状態にさせる信号を送信する。また、判断部207により停止状態のVMを起動状態にさせると判断された場合、当該VMを起動させるVMサーバに対して、起動状態にさせる信号を送信する。
【0057】
これら信号を受信したVMサーバは、以下に示すように処理を実施する。まず、VMを起動状態にさせる信号を受信した場合、VMサーバは、当該VMの実行を開始する。具体的には、CPUなどの実行資源の割当をスケジュールする。
【0058】
次に、VMを停止状態にさせる信号を受信した場合、VMサーバは、当該VMの実行を停止する。具体的には、VMサーバは、CPUなどの実行資源の割当をスケジュールから除外する。
【0059】
最後に、VMをサスペンド状態にさせる信号を受信した場合、VMサーバは、当該VMの実行イメージをストレージに退避する。具体的には、VMサーバは、当該VMのメモリイメージや仮想デバイスの状態情報など、仮想計算機の実行状態を示すメモリ上のデータを、ハードディスクのようなストレージに退避する。
【0060】
ところで、2回以上「進む」ボタン又は「戻る」ボタンを押下しなければ、辿り着けない画面データを出力しているVMは、即座に実行される可能性が少ないと考えられる。そこで、本実施の形態にかかる送信処理部212が、当該VMについて停止状態にさせる信号を送信することで、当該VMを動作させているVMサーバの処理負担を軽減させている。さらに、切替表示付画面データからどう操作しても、呼び出すことができないVMについては、ほとんど呼び出される可能性がないと考えられる。そこで、送信処理部212が、当該VMをサスペンド状態にさせる信号を送信して、当該VMを動作させているVMサーバで、当該VMが利用していたリソースを開放させている。
【0061】
さらに、ユーザが「進む」ボタン又は「戻る」ボタンを押下して、表示している画面データが切り替えられた際、あと一回「進む」ボタン又は「戻る」ボタンの押下で呼び出すことが可能となったVMがある場合、送信処理部212が、当該VMを動作させるVMサーバに対して、当該VMを起動状態にさせる信号を送信することになる。
【0062】
上述したユーザモニタ端末100の処理により、即座に利用される可能性のあるVMは起動状態となり、即座に利用される可能性のないVMは停止状態またはサスペンド状態となる。これにより、ユーザの操作に従ってVMの切り替えが行われた場合に、当該VMは起動状態であるために即座にサービスの提供が可能であると共に、即座に利用されないVMは停止状態にされるので、当該VMを動作させているVMサーバの処理負担を軽減させることができる。
【0063】
次に、ユーザモニタ端末100が行う処理の手順について、図7を用いて説明する。
【0064】
まず、受信処理部211が、VMサーバから、VMが提供している画面データを受信する(ステップS701)。
【0065】
次に、画像変換部203が、受信した画面データを、ユーザモニタ端末100が表示可能な形式に変換する(ステップS702)。
【0066】
そして、GUI生成部221が、変換した画面データに対して切替表示データを付与し、切替表示付画面データを生成する(ステップS703)。
【0067】
次に、GUI制御部204が、表示する切替表示付画面データに従って、ステータス記憶部201のフィールド“表示状態”を更新する(ステップS704)。
【0068】
そして、表示部205が、生成された切替表示付画面データの表示処理する(ステップS705)。
【0069】
その後、操作数カウント部208は、ステータス記憶部201に格納された各エントリにフィールド“表示状態”を参照し、VM毎に、当該切替表示付画面データから処理を実行するのに必要な操作手順の数をカウントする(ステップS706)。
【0070】
次に、判断部207は、操作数カウント部208によりカウントされた各VMの操作手順の数より、現在表示している切替表示付画面データからワンクリックで移動できないVMであるか否か判断し、判断結果に基づいて、各VMを停止状態にさせるか否か判断する(ステップS707)。
【0071】
そして、送信処理部212が、停止状態にさせると判断されたVMを動作させているVMサーバに対して、当該VMの停止信号を送信する(ステップS708)。
【0072】
次に、ペン入力受付部206が、ペン入力を受け付けたか否か判断する(ステップS709)。ペン入力を受け付けなかったと判断した場合(ステップS709:No)、特に処理を行わない。
【0073】
そして、ペン入力を受け付けたと判断した場合(ステップS709:Yes)、GUI判断部222が、ペン入力を受け付けた位置座標が、VMの切り替えを受け付ける切替表示データの領域であるか否か判断する(ステップS710)。
【0074】
GUI判断部222が、切替表示データの領域であると判断した場合(ステップS710:Yes)、表示するVMの切り替え処理を行う(ステップS711)。本実施の形態においては、ペン入力を受け付けた位置座標が、“進む”ボタンの表示領域の場合に、ステータス記憶部201で“進む”に対応付けられているVMに切り替える処理を行い、“戻る”ボタンの表示領域の場合に、ステータス記憶部201で“戻る”に対応付けられているVMに切り替える処理を行う。
【0075】
一方、GUI判断部222が、切替表示データの領域ではないと判断した場合(ステップS710:No)、送信処理部212が、ペン入力を受け付けた位置座標を、VMを動作させているVMサーバに対して送信する(ステップS712)。その後、再びステップS701から処理を繰り返す。
【0076】
本実施の形態にかかるユーザモニタ端末100においては、現在表示している画面データから、他のVMが提供する画面データを表示するまでの操作手順の数に基づいて、各VMの停止やサスペンドの指示を自動的に制御することを可能とした。これにより、ユーザの操作負担の軽減と、VMサーバの処理負担の軽減の両立を図ることを可能とした。
【0077】
さらに、ユーザモニタ端末100においては、自動的にVMの状態を切り替えるので、ユーザがどのVMを停止またはサスペンドするのか判断する必要がなくなったため、ユーザがVM等の特別な知識が不要となり、容易に利用可能となった。
【0078】
また、本実施の形態にかかるユーザモニタ端末100では、従来はVMに対して起動状態、停止状態及びサスペンド状態を明示的に指示する判断は困難であったが、ユーザの利用状態を反映している画面データに連動して、VMに対して状態の切り替えを指示することで、VMの状態の適切な制御を可能とする。
【0079】
(第2の実施の形態)
第1の実施の形態では、GUI方式として「ページ切替え方式」の場合について説明した。そこで、第2の実施の形態では、GUI方式として「タブ方式」を適用した例について説明する。
【0080】
図8に示すように、ユーザモニタ端末800は、上述した第1の実施の形態に係るユーザモニタ端末100とは、GUI制御部204と処理が異なるGUI制御部801と、判断部207と処理が異なる判断部802と、操作数カウント部208と処理が異なる操作数カウント部803と、を備えた点で異なる。なお、本実施の形態のユーザモニタ端末800の構成で、第1の実施の形態のユーザモニタ端末100と共通な構成及び処理手順については説明を省略する。
【0081】
GUI制御部801は、GUI生成部811と、GUI判断部812と、を備え、VMを切り替えるための切替表示データの制御を行う。さらに、GUI制御部801は、ステータス記憶部201の更新処理も行う。
【0082】
GUI生成部811は、切替表示データを生成し、生成した切替表示データと、入力された画面データとを合成して、切替表示付画面データを生成する。本実施の形態にかかる切替表示データとは、VM毎の画面データを切り替えるタブとする。そして、当該タブに対して、ペン入力がなされた場合に、表示部205が表示する画面データが切り替えられることになる。このように、本実施の形態では、切替表示データで利用されるGUI方式として「タブ方式」を用いた場合とする。
【0083】
図9に示す画面例のように、現在表示中のVM3のタブ902と、VM4のタブ901と、隠れているタブを表示するための矢印ボタン903とが表示されている。そして、VM2のタブは、ユーザの操作で画面の左端からさらに左に移動することで、隠されており、VM2のタブ自体が表示されていない。また、VM1のタブはすでにユーザにより削除されたものとする。このようにユーザは、タブの表示/非表示、削除または位置の変更等を行うことができる。
【0084】
そして、タブ902が現在選択されている状態のため、表示部205は、VM3の画面データを表示している。また、ユーザがタブ901をペンでクリックした場合、VM4から提供される画面データを、表示部205が表示する。
【0085】
そして、GUI制御部801は、ステータス記憶部201のフィールド“表示状態”を、図10に示すように更新する。まず、ステータス記憶部201において、タブが削除されたVM1のエントリが削除され、他のVM(VM2〜4)のエントリが登録されている状態とする。
【0086】
フィールド“表示状態”は、“タブ隠し中”、“表示中”及び“タブ表示中”の3種類とする。“タブ隠し中”は、当該タブが隠されている状態を示している。“表示中”は、タブ及びVMから提供される画面データが表示されている状態を示している。“タブ表示中”は、タブのみ表示されている状態を示している。
【0087】
GUI判断部812は、ペン入力受付部206が受け付けたペン入力の情報で指し示されている位置座標が、VMを切り替えるためのタブを指し示しているか否か判断する。当該タブを指し示していると判断した場合、当該タブのVMに切り替えと判断する。当該VMに切り替えと判断された場合、当該VMに切り替えるための通知が、送信処理部212により送信される。
【0088】
また、GUI判断部812は、ペン入力受付部206が受け付けたペン入力の情報で指し示されている位置座標が、矢印ボタン903を指し示しているか否か判断する。当該矢印ボタン903が指し示されていると判断した場合、表示部が左側に隠されていたVM2のタブを表示する。これにより、ユーザはVM2のタブを指し示すことが可能となる。
【0089】
操作数カウント部803は、ステータス記憶部201に格納された各エントリに基づいて、VM毎に、表示部205により表示された切替表示付画面データから処理を実行するのに必要な操作手順の数をカウントする。本実施の形態にかかる操作数カウント部803は、ステータス記憶部201の各エントリの表示状態から、VM毎の操作手順の数をカウントできる。例えば、表示状態が“タブ表示中”のエントリは、1操作で処理が実行される可能性のあるVMのエントリとなる。表示状態が“タブ隠し中”のエントリは、少なくとも2操作以上で処理が実行される可能性のあるVMのエントリとなる。
【0090】
そして、判断部802が、操作数カウント部208によりカウントされたVM毎の操作手順の数に基づいて、各VMを停止させるか否か判断する。
【0091】
本実施の形態にかかる判断部802では、操作数カウント部803によりによりカウントされたVM毎の操作手順の数により、現在表示している画面データを提供しているVM及び、タブが表示されているVMについて、ワンクリック以内で各VMが提供する画面を表示できると判断できるので、これらVMを起動状態にすると判断する。さらに、判断部802は、タブが隠されているVMについては、矢印ボタン903を押下した後、タブの選択という2操作が必要なため、当該VMについて停止状態にすると判断する。
【0092】
さらに、判断部802は、ステータス記憶部201の、フィールド“表示状態”が“表示中”及び“タブ表示中”のエントリのVMを、起動状態と判断し、当該エントリのフィールド“ステータス”を“active”と更新する。さらに、判断部802は、ステータス記憶部201の、フィールド“表示状態”が“タブ隠し中”のエントリのVMを、停止状態と判断し、当該エントリのフィールド“ステータス”を“stop”と更新する。さらに、判断部802は、エントリが削除された場合には、エントリが削除されたVMをサスペンド状態にすると判断する。
【0093】
本実施の形態にかかるユーザモニタ端末800は、第1の実施の形態と同様の効果を得られると共に、ユーザの要求に応じて、VMから提供されるサービスを切り替えることが可能となる。
【0094】
(第3の実施の形態)
上述した実施の形態では、GUI方式として「ページ切替え方式」及び「タブ方式」の場合について説明した。そこで、第3の実施の形態では、GUI方式として「マルチウィンドウ方式」を適用した例について説明する。
【0095】
図11に示すように、ユーザモニタ端末1100は、上述した第1の実施の形態に係るユーザモニタ端末100とは、GUI制御部204と処理が異なるGUI制御部1102と、判断部207と処理が異なる判断部1101と、操作数カウント部208と処理が異なる操作数カウント部1103と、を備えた点で異なる。なお、本実施の形態のユーザモニタ端末1100の構成で、第1の実施の形態のユーザモニタ端末100と共通な構成及び処理手順については説明を省略する。
【0096】
GUI制御部1102は、GUI生成部1111と、GUI判断部1112と、を備え、VM毎の画面データ及びVMを示すアイコンの制御を行う。さらに、GUI制御部1111は、ステータス記憶部201の更新処理も行う。
【0097】
GUI生成部1111は、画面データが表示されるウィンドウをVM毎に生成、又はVMを表すアイコンを生成し、当該ウィンドウとアイコンとが表示領域内に配置された画面データを生成する。
【0098】
図12に示した画面例では、操作中のVM3の画面データが表示されているウィンドウ1201と、VM2の画面データが表示されているウィンドウ1203と、が表示されている。そのうち、VM3のウィンドウ1201にフォーカスが当たっているため、VM3がユーザの操作を受け付け可能となっている。そして、VM4のウィンドウ1202は、VM3のウィンドウの背後にあるため、画面上に表示されていない。VM2のウィンドウは、画面上に表示されているがフォーカスが当たっていないものとする。さらに、符号1204に示すように、VM1のウィンドウは、ユーザの操作によりアイコン化されている。
【0099】
本実施の形態においては、フォーカスの有無ではなく、VMのウィンドウが表示されているかどうかが重要になる。つまり、VM2のウィンドウ1203はフォーカスが当たっていないが、ユーザの一操作で捜査対象となるので、VM2を起動状態とする必要がある。VM4のウィンドウ1202は、VM3のウィンドウ1201の背後にある。このため、ユーザは視認できず、一操作でVM4のウィンドウ1202を呼び出せないので、VM4を待機状態とする。
【0100】
さらに、VM1のアイコン1204は、ユーザがしばらく使用しないことの意思表明として、アイコン化されたものと考えられる。つまり、VM1のアイコン1204から、VM1のウィンドウを一操作で呼び出すことは可能ではある。しかしながら、ユーザが意図して待機状態としたものである以上、VM1は起動状態ではなく、サスペンド状態に移行する方が適切と考えられる。そこで、本実施の形態では、アイコン化されたVM(例えばVM1)を、サスペンド状態とする。
【0101】
そして、GUI制御部1102は、図12で示した各VMのウィンドウの表示状態に従って、ステータス記憶部201のフィールド“表示状態”を、図13に示すように更新する。
【0102】
本実施の形態にかかるフィールド“表示状態”は、“アイコン化”、“表示中”、“表示中(フォーカス有り)”及び“非表示”の4種類とする。“アイコン化”は、当該VMから提供される画面データは利用しないものとしてユーザがアイコン化した状態を示している。“表示中”は、フォーカスは当たっていないが、当該VMのウィンドウが表示されている状態を示している。“表示中(フォーカス有り)”は、フォーカスが当たっており、当該VMのウィンドウが表示されている状態を示している。“非表示”は、当該VMのウィンドウが、他のVMのウィンドウの背後に位置し、表示されていない状態を示している。
【0103】
GUI判断部1112は、ペン入力受付部206が受け付けたペン入力の情報で指し示されている位置座標が、VMのウィンドウ又はアイコンを指し示しているか否か判断する。ペンでウィンドウを指し示していると判断した場合、当該ウィンドウにフォーカスが当たったものと判断する。また、GUI判断部1112は、ペンでアイコンを指し示していると判断した場合、当該アイコンのVMのウィンドウを表示すると共に当該ウィンドウにフォーカスを当てる必要があると判断する。また、GUI判断部1112は、任意のウィンドウの背後に位置するウィンドウが指し示されたか否かの判断を、現在利用されている技術等を適用して行う。そして、背後に位置するウィンドウが指し示された場合、当該ウィンドウを前面に配置し、当該ウィンドウにフォーカスを当てるものとする。
【0104】
操作数カウント部1103は、ステータス記憶部201に格納された各エントリに基づいて、VM毎に、表示部205により表示された切替表示付画面データから処理を実行するのに必要な操作手順の数をカウントする。本実施の形態にかかる操作数カウント部1103は、ステータス記憶部201の各エントリの表示状態から、VM毎の操作手順の数をカウントできる。
【0105】
例えば、表示状態が“表示中”のエントリは、1操作で処理が実行される可能性のあるVMのエントリとなる。表示状態が“非表示”のエントリは、少なくとも2操作以上で処理が実行される可能性のあるVMのエントリとなる。表示状態が“アイコン化”のエントリは、1操作で処理が実行される可能性がある。しかしながら、VMのアイコン化は利用者が当該VMの利用の停止を要求したことを意図するものである。このため、操作数カウント部1103は、判断部1101に対して、例外処理として、表示状態が“アイコン化”のエントリの場合、当該エントリのVMをサスペンド状態にすることを指示する。
【0106】
そして、判断部1101が、操作数カウント部208によりカウントされたVM毎の操作手順に基づいて、各VMを停止させるか否か判断する。また、判断部1101は、操作数カウント部208によりVMをサスペンド状態にする指示があった場合、当該VMをサスペンド状態にすると判断する。
【0107】
つまり、本実施の形態にかかるユーザモニタ端末1100においては、フォーカスの有無に拘わらず、ウィンドウが表示されているVMについては、ワンクリックで表示できるので、判断部1101が起動状態にすると判断する。さらに、ウィンドウが他のウィンドウの背面に隠されているVMについては、ワンクリック以外の操作も必要なため、判断部1101が停止状態にすると判断する。さらに、アイコン化されたVMについては、ユーザが当分使用しないと考えられるため、判断部1101がサスペンド状態にすると判断する。
【0108】
つまり、判断部1101は、フィールド“表示状態”が“表示中”及び“表示中(フォーカス有り)”のエントリのVMに対しては、起動状態と判断し、送信処理部212が、必要に応じて、該当するVMを動作させているVMサーバに対して当該VMを起動状態とさせる信号を送信する。さらには、判断部1101は、当該エントリのフィールド“ステータス”を“active”と更新する。
【0109】
また、判断部1101は、フィールド“表示状態”が“非表示”のエントリのVMに対しては、停止状態と判断し、送信処理部212が、該当するVMを動作させているVMサーバに対して、当該VMを停止状態とさせる信号を送信する。さらに、判断部1101は、当該エントリのフィールド“ステータス”を“stop”と更新する。
【0110】
さらに、判断部1101は、フィールド“表示状態”が“アイコン化”のエントリのVM及びエントリが削除されたVMに対して、サスペンド状態にすると判断する。この場合、送信処理部212が該当するVMを動作させているVMサーバに対して、当該VMをサスペンド状態とさせる信号を送信する。そして、判断部1101は、フィールド“表示状態”が“アイコン化”にされた場合、当該エントリのフィールド“ステータス”を“suspend”と更新する。
【0111】
本実施の形態にかかるユーザモニタ端末1100は、第2の実施の形態と同様の効果を得られると共に、複数のVMを並列して利用する場合でも、VMを起動状態と停止状態とを適切に切り替えることが可能となる。
【0112】
上述した第1〜第3の実施の形態においては、GUI方式として「ページ切替え方式」、「タブ方式」及び「マルチウィンドウ方式」を適用した例について説明したが、これらGUI方式以外の方式を用いても良い。
【0113】
図14に示すように、上述した実施の形態のユーザモニタ端末100、800、1100は、ハードウェア構成として、上述した処理を行う通信処理プログラムなどが格納されているROM1402と、ROM1402内のプログラムに従ってユーザモニタ端末100、800、1100の各部を制御するCPU1401と、データの格納領域となるRAM1403と、ネットワークに接続して通信を行う通信I/F1404と、画面データを表示する表示装置1405と、ペンデバイスによる指示を検出する検出装置1406と、各部を接続するバス1407とを備えている。
【0114】
通信処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【0115】
この場合には、通信処理プログラムは、ユーザモニタ端末100、800、1100において上記記録媒体から読み出して実行することによりRAM1403上にロードされ、上記ソフトウェア構成で説明した各部がRAM1403上に生成されるようになっている。
【0116】
また、上述した実施の形態の通信処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【0117】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態の構成を組み合わせたり、上記実施の形態に多様な変更または改良を加えることができる。
【図面の簡単な説明】
【0118】
【図1】第1の実施の形態にかかるVMサーバを含むシステム構成を示した概念図である。
【図2】第1の実施の形態にかかるユーザモニタ端末の構成を示すブロック図である。
【図3】第1の実施の形態にかかるユーザモニタ端末の表示部が表示する第1の画面例を示した図である。
【図4】第1の実施の形態にかかるステータス記憶部のテーブル構造を示した図である。
【図5】第1の実施の形態にかかるユーザモニタ端末の表示部が表示する第2の画面例を示した図である。
【図6】第1の実施の形態にかかるステータス記憶部において、VM4の画面データが“表示中”となった場合を示した図である。
【図7】第1の実施の形態にかかるユーザモニタ端末の全体処理の手順を示したフローチャートである。
【図8】第2の実施の形態にかかるユーザモニタ端末の構成を示すブロック図である。
【図9】第2の実施の形態にかかるユーザモニタ端末の表示部が表示する第1の画面例を示した図である。
【図10】第2の実施の形態にかかるステータス記憶部のテーブル構造を示した図である。
【図11】第3の実施の形態にかかるユーザモニタ端末の構成を示すブロック図である。
【図12】第3の実施の形態にかかるユーザモニタ端末の表示部が表示する画面例を示した図である。
【図13】第3の実施の形態にかかるステータス記憶部のテーブル構造を示した図である。
【図14】ユーザモニタ端末のハードウェア構成を示した図である。
【符号の説明】
【0119】
100、800、1100 ユーザモニタ端末
151 第1VMサーバ
152 第2VMサーバ
201 ステータス記憶部
202 通信処理部
203 画像変換部
204、801、1102 GUI制御部
205 表示部
206 ペン入力受付部
207、802、1101 判断部
211 受信処理部
212 送信処理部
221、811、1111 GUI生成部
222、812、1112 GUI判断部
1401 CPU
1402 ROM
1403 RAM
1404 通信I/F
1405 表示装置
1406 検出装置
1407 バス

【特許請求の範囲】
【請求項1】
起動状態と停止状態とを切り替え可能な仮想計算機を動作させている計算機から、当該仮想計算機から提供された画面情報を受信する受信手段と、
前記画面情報を表示する表示手段と、
前記表示手段により表示された前記画面情報から処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行する前記仮想計算機を停止させるか否か判断する判断手段と、
停止させると判断された前記仮想計算機を動作させている前記計算機に対して、当該仮想計算機の停止信号を送信する送信手段と、
を備えることを特徴とする通信装置。
【請求項2】
前記表示手段により表示された前記画面情報から、各前記仮想計算機が処理を実行するための必要な操作手順の数を算出する操作数算出手段をさらに備え、
前記判断手段は、前記操作手順の数に基づいて、各前記仮想計算機を停止させるか否か判断すること、
を特徴とする請求項1に記載の通信装置。
【請求項3】
前記判断手段は、前記表示手段により表示された前記画面情報から1操作では処理を実行できない前記仮想計算機を停止させると判断すること、
を特徴とする請求項1に記載の通信装置。
【請求項4】
前記表示手段は、さらに処理を行う前記仮想計算機を切り替える切替表示情報を、前記画面情報と共に表示し、
前記切替表示情報が表示された座標領域の入力を、前記1操作として受け付ける入力受付手段を、さらに備えること、
を特徴とする請求項1乃至3のいずれか一つに記載の通信装置。
【請求項5】
前記表示手段が表示する前記切替表示情報は、現在表示している前記画面情報の前後に処理を行っていた前記仮想計算機に切り替えさせるものであること、
を特徴とする請求項4に記載の通信装置。
【請求項6】
前記表示手段が表示する前記切替表示情報は、現在表示している前記画面情報と異なる画面情報を提供する前記仮想計算機に切り替えさせるものであること、
を特徴とする請求項4に記載の通信装置。
【請求項7】
前記表示手段が表示する前記仮想計算機毎の前記画面情報は、ウィンドウ形式であること、
を特徴とする請求項1乃至3のいずれか一つに記載の通信装置。
【請求項8】
前記判断手段は、前記画面情報が他の画面情報の背面に存在する場合に、複数の操作手順が必要なものとして、背面に存在する前記画面情報を提供する前記仮想計算機を停止させると判断すること、
を特徴とする請求項7に記載の通信装置。
【請求項9】
前記表示手段は、前記画面情報内に、前記仮想計算機を、待機状態を表す待機表示情報で表示し、
前記判断手段は、前記表示手段により前記待機表示情報として表示されている前記仮想計算機については、操作手順の数にかかわらず、当該仮想計算機を停止させると判断すること、
を特徴とする請求項1乃至8のいずれか一つに記載の通信装置。
【請求項10】
受信手段が、起動状態と停止状態とを切り替え可能な仮想計算機を動作させている計算機から、当該仮想計算機から提供された画面情報を受信する受信ステップと、
表示手段が、前記画面情報を表示する表示ステップと、
判断手段が、前記表示ステップにより表示された前記画面情報から処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行する前記仮想計算機を停止させるか否か判断する判断ステップと、
送信手段が、停止させると判断された前記仮想計算機を動作させている前記計算機に対して、当該仮想計算機の停止信号を送信する送信ステップと、
を有することを特徴とする通信方法。
【請求項11】
通信処理を行う手段として、コンピュータを機能させるプログラムであって、
起動状態と停止状態とを切り替え可能な仮想計算機を動作させている計算機から、当該仮想計算機から提供された画面情報を受信する受信手段と、
前記画面情報を表示する表示手段と、
前記表示手段により表示された前記画面情報から処理を実行するのに必要な操作手順の数に基づいて、当該操作手順で処理を実行する前記仮想計算機を停止させるか否か判断する判断手段と、
停止させると判断された前記仮想計算機を動作させている前記計算機に対して、当該仮想計算機の停止信号を送信する送信手段と、
としてコンピュータを機能させることを特徴とする通信処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−181419(P2009−181419A)
【公開日】平成21年8月13日(2009.8.13)
【国際特許分類】
【出願番号】特願2008−20925(P2008−20925)
【出願日】平成20年1月31日(2008.1.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】