(57)【要約】【課題】専用ＯＳの採用により高セキュリティを担保したゲストＯＳ上のプログラムから通信をする際に、ゲストＯＳ専用のドライバが新たに必要なこと。【解決手段】仮想マシン１１３は、仮想ＲＡＭ上に仮想ＲＡＭディスクを作成する。仮想マシン１１３は、携帯端末２００から読み出したゲストＯＳ１１５およびゲストＯＳアプリ１１６を仮想ＲＡＭディスクに記憶する。ゲストＯＳ１１５は、仮想ＲＡＭディスクから起動される。ゲストＯＳ１１５とホストＯＳ１１１との間にブリッジを確立する。ゲストＯＳアプリ１１６がネットワークを介した通信を行う際、ホストＯＳ１１１のドライバを用いて携帯端末２００およびネットワークを介した通信を行う。【選択図】図３
2010238130.tif 000002
【特許請求の範囲】
【請求項１】
制御手段と、
ゲストＯＳ、および前記ゲストＯＳ上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、
仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストＯＳ、および前記ホストＯＳと前記ゲストＯＳとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段と
を有し、
前記制御手段が、前記記憶手段から読み出した前記ホストＯＳを起動し、
前記制御手段が、前記ホストＯＳ上で前記仮想化プログラムを実行し、仮想制御手段および仮想ＲＡＭを有する仮想マシンを起動し、
前記仮想制御手段が、前記仮想ＲＡＭ上に仮想ＲＡＭディスクを作成し、
前記仮想制御手段が、前記携帯端末から読み出した前記ゲストＯＳおよび前記ゲストアプリケーションプログラムを前記仮想ＲＡＭディスクに記憶し、
前記仮想制御手段が、前記仮想ＲＡＭディスクから前記ゲストＯＳを起動し、
前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストＯＳと前記ホストＯＳとの間に前記ブリッジを確立し、
前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストＯＳの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行う
ことを特徴とする情報処理装置。
【請求項２】
前記携帯端末は、前記情報処理装置の外部記憶装置として機能するための第１のモードと前記情報処理装置が前記ネットワークを介した通信を中継する中継装置として機能するための第２のモードとを切り換え可能であり、
前記仮想制御手段は、前記第１のモードの前記携帯端末を前記外部記憶装置として使用可能とするマウント処理を行い、
前記マウント処理の後で、前記仮想制御手段は、前記携帯端末から前記ゲストＯＳおよび前記ゲストアプリケーションプログラムを読み出す
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記仮想制御手段は、前記第１のモードの前記携帯端末を前記外部記憶装置として使用不可能とするアンマウント処理を行い、
前記仮想制御手段は、前記アンマウント処理の後で、前記通信を行う
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記仮想化プログラムが、前記ホストＯＳと前記ゲストＯＳとを切り換える切り替え処理を含み、
前記記憶手段が、前記切り替え処理を禁止する制御プログラムを記憶し、
前記制御手段が、前記ゲストＯＳが起動された後で、前記制御プログラムを実行し、前記切り換え処理を禁止する
ことを特徴とする請求項１−３のいずれかの項に記載の情報処理装置。
【請求項５】
制御手段と、ゲストＯＳ、および前記ゲストＯＳ上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストＯＳ、および前記ホストＯＳと前記ゲストＯＳとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段とを有する情報処理装置の制御方法であって、
前記制御手段が、前記記憶手段から読み出した前記ホストＯＳを起動するステップと、
前記制御手段が、前記ホストＯＳ上で前記仮想化プログラムを実行し、仮想制御手段および仮想ＲＡＭを有する仮想マシンを起動するステップと、
前記仮想制御手段が、前記仮想ＲＡＭ上に仮想ＲＡＭディスクを作成するステップと、
前記仮想制御手段が、前記携帯端末から読み出した前記ゲストＯＳおよび前記ゲストアプリケーションプログラムを前記仮想ＲＡＭディスクに記憶するステップと、
前記仮想制御手段が、前記仮想ＲＡＭディスクから前記ゲストＯＳを起動するステップと、
前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストＯＳと前記ホストＯＳとの間に前記ブリッジを確立するステップと、
前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストＯＳの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行うステップと
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、企業内にてテレワークが促進され、社内だけではなくサテライトオフィスや、自宅にて仕事を行うワークスタイルが登場してきた。できる限り社内と同じ環境で仕事をするために、社外からセキュアに社内ＩＴ資産（サーバ、情報処理端末等）を利用できる仕組みとしてシンクライアントが利用されている。
【０００３】
例えば、特許文献１は、シンクライアント端末として機能させるために、認証情報などを記憶した耐タンパストレージ機能を有したストレージデバイスを挿入し、サーバに対して遠隔操作させることを開示している。また、特許文献２は、ユーザ用仮想マシンとサーバ代替仮想マシンという２つの仮想マシンを有するクライアント装置において、ユーザ用仮想マシンからパケットを送出する際に、サーバ代替仮想マシンにおいてパケットを解析し、ネットワーク上のサーバにパケットを送る場合には、サーバ代替仮想マシンのドライバを用いてパケットを送出することを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９１８８２７号公報
【特許文献２】特開２００８−２９９６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ゲストＯＳを記憶した単一の携帯端末と接続され、ドライバを含むホストＯＳを記憶した情報処理装置において、ホストＯＳのドライバの元で携帯端末を通信の中継装置として用いて、高セキュリティを担保しつつ、ゲストＯＳ上のプログラムが通信を行う技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、制御手段と、ゲストＯＳ、および前記ゲストＯＳ上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストＯＳ、および前記ホストＯＳと前記ゲストＯＳとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段とを有し、前記制御手段が、前記記憶手段から読み出した前記ホストＯＳを起動し、前記制御手段が、前記ホストＯＳ上で前記仮想化プログラムを実行し、仮想制御手段および仮想ＲＡＭを有する仮想マシンを起動し、前記仮想制御手段が、前記仮想ＲＡＭ上に仮想ＲＡＭディスクを作成し、前記仮想制御手段が、前記携帯端末から読み出した前記ゲストＯＳおよび前記ゲストアプリケーションプログラムを前記仮想ＲＡＭディスクに記憶し、前記仮想制御手段が、前記仮想ＲＡＭディスクから前記ゲストＯＳを起動し、前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストＯＳと前記ホストＯＳとの間に前記ブリッジを確立し、前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストＯＳの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行うことを特徴とする情報処理装置を提供する。
この情報処理装置によれば、ゲストＯＳ専用のドライバを用いなくても、ゲストＯＳ上のプログラムから通信をすることができる。
【０００７】
好ましい態様において、前記携帯端末は、前記情報処理装置の外部記憶装置として機能するための第１のモードと前記情報処理装置が前記ネットワークを介した通信を中継する中継装置として機能するための第２のモードとを切り換え可能であり、前記仮想制御手段は、前記第１のモードの前記携帯端末を前記外部記憶装置として使用可能とするマウント処理を行い、前記マウント処理の後で、前記仮想制御手段は、前記携帯端末から前記ゲストＯＳおよび前記ゲストアプリケーションプログラムを読み出してもよい。
この情報処理装置によれば、携帯端末を外部記憶装置として用いて携帯端末に記憶されたゲストＯＳを起動することができる。
【０００８】
別の好ましい態様において、前記仮想制御手段は、前記第１のモードの前記携帯端末を前記外部記憶装置として使用不可能とするアンマウント処理を行い、前記仮想制御手段は、前記アンマウント処理の後で、前記通信を行ってもよい。
この情報処理装置によれば、携帯端末を外部記憶装置として用いた後に中継装置として用いることができる。
【０００９】
さらに別の好ましい態様において、前記仮想化プログラムが、前記ホストＯＳと前記ゲストＯＳとを切り換える切り替え処理を含み、前記記憶手段が、前記切り替え処理を禁止する制御プログラムを記憶し、前記制御手段が、前記ゲストＯＳが起動された後で、前記制御プログラムを実行し、前記切り換え処理を禁止してもよい。
この情報処理装置によれば、切り換え処理を禁止する構成を有しない場合と比較してゲストＯＳのセキュリティを高めることができる。
【００１０】
また、本発明は、制御手段と、ゲストＯＳ、および前記ゲストＯＳ上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストＯＳ、および前記ホストＯＳと前記ゲストＯＳとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段とを有する情報処理装置の制御方法であって、前記制御手段が、前記記憶手段から読み出した前記ホストＯＳを起動するステップと、前記制御手段が、前記ホストＯＳ上で前記仮想化プログラムを実行し、仮想制御手段および仮想ＲＡＭを有する仮想マシンを起動するステップと、前記仮想制御手段が、前記仮想ＲＡＭ上に仮想ＲＡＭディスクを作成するステップと、前記仮想制御手段が、前記携帯端末から読み出した前記ゲストＯＳおよび前記ゲストアプリケーションプログラムを前記仮想ＲＡＭディスクに記憶するステップと、前記仮想制御手段が、前記仮想ＲＡＭディスクから前記ゲストＯＳを起動するステップと、前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストＯＳと前記ホストＯＳとの間に前記ブリッジを確立するステップと、前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストＯＳの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行うステップとを有する制御方法を提供する。
この制御方法によれば、ゲストＯＳ専用のドライバを用いなくても、ゲストＯＳ上のプログラムから通信をすることができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る通信システムの構成を示す図である。
【図２】情報処理装置１００のハードウェア構成を示すブロック図である。
【図３】情報処理装置１００のソフトウェア構成を示す図である。
【図４】仮想マシン１１３の構成を示す図である。
【図５】携帯端末２００の機能構成を示すブロック図である。
【図６Ａ】情報処理装置１００の動作を説明するシーケンス図である。
【図６Ｂ】情報処理装置１００の動作を説明するシーケンス図である。
【発明を実施するための形態】
【００１２】
１．構成
１−１．通信システム
図１は、一実施形態に係る通信システムの構成を示す図である。この通信システムは、情報処理装置１００と、携帯端末２００と、ネットワーク３００と、サーバ４００とを有する。情報処理装置１００と携帯端末２００とは、例えばＵＳＢ（Universal Serial Bus）ケーブルにより接続されている。情報処理装置１００は、携帯端末２００およびネットワーク３００を介してサーバ４００と通信を行う。
【００１３】
１−２．情報処理装置１００
図２は、情報処理装置１００のハードウェア構成を示すブロック図である。情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＡＭ（Random Access Memory）１０２、デバイスコントローラ１０３、ＢＩＯＳ（Basic Input/Output System）・ＲＯＭ（Read Only Memory）１０４、近距離有線通信部１０５およびＨＤＤ１０６を有する。なお、図示していないが、情報処理装置１００は、キーボード等の入力装置（操作部）や、ディスプレイなどの表示装置、ＲＯＭなどを有している。
【００１４】
ＣＰＵ１０１は、情報処理装置１００の構成要素を制御する制御装置である。ＲＡＭ１０２は、ＯＳやアプリケーションなどのソフトウェアが展開される揮発性の記憶装置である。また、ＲＡＭ１０２には、ＣＰＵ１０１からの指示のもと、ＲＡＭディスクとして用いられるＲＡＭディスク領域１０２ａが形成される。「ＲＡＭディスク」とは、ＲＡＭ１０２の一部に確保された領域を、ＯＳが利用可能なファイルシステム（仮想的な外部記憶装置）として利用する仕組みのこと、または、この仮想的な外部記憶装置をいう。
ファイル等が読み出される。
【００１５】
デバイスコントローラ１０３は、ＢＩＯＳやドライバの読み込みや、携帯端末２００の制御、ＲＡＭディスク領域１０２ａの制御を行う制御装置である。ＢＩＯＳ・ＲＯＭ１０４は、ＢＩＯＳを記憶する記憶装置である。近距離有線通信部１０５は、携帯端末２００と通信するためのインターフェースである。近距離有線通信部１０５は、ＵＳＢ規格に準拠したコネクタを有しており、このコネクタに接続されたＵＳＢケーブルを介して携帯端末２００と通信（データや信号の送受信）をする。ＨＤＤ１０６は、不揮発性の外部記憶装置である。ＨＤＤ１０６は、ＯＳ（Operating System）、アプリケーションプログラムなどのプログラムや、各種データを記憶する。
【００１６】
図３は、情報処理装置１００のソフトウェア構成を示す図である。ホストＯＳ１１１は、基本的な機能を提供し、情報処理装置１００全体を管理する基本ソフトウェアである。ＶＭＭ１１２は、情報処理装置１００上に仮想マシンを形成するためのソフトウェアである。仮想マシンとは、物理的に単一のコンピュータ装置内に仮想的に形成されるコンピュータ装置をいう。この例で、ＶＭＭ１１２は、ホストＯＳ１１１上で動作する。仮想マシン１１３および仮想マシン１１４は、ＶＭＭ１１２により形成された仮想マシンである。ゲストＯＳ１１５は、仮想マシン１１３上で動作するＯＳである。ゲストＯＳアプリ１１６は、ゲストＯＳ１１５上で動作するアプリケーションプログラム、例えばウェブブラウザである。ゲストＯＳ１１７は、仮想マシン１１４上で動作するＯＳである。ゲストＯＳアプリ１１８は、ゲストＯＳ１１７上で動作するアプリケーションプログラムである。制御アプリ１１９は、ＶＭＭ１１２を制御するためのアプリケーションプログラムである。この例で、制御アプリ１１９は、ホストＯＳ１１１上で動作する。ホストＯＳアプリ１２０は、ホストＯＳ１１１上で動作するアプリケーションプログラムである（広義には、制御アプリ１１９はホストＯＳアプリ１２０の一種である）。
【００１７】
図４は、仮想マシン１１３の構成を示す図である。仮想マシン１１３は、仮想ＣＰＵ１３１、仮想ＲＡＭ１３２、仮想デバイスコントローラ１３３、仮想ＢＩＯＳ・ＲＯＭ１３４および仮想近距離有線通信部１３５を有する。これらは、仮想的な構成であるが、それぞれ、ＣＰＵ１０１、ＲＡＭ１０２、デバイスコントローラ１０３、ＢＩＯＳ・ＲＯＭ１０４および近距離有線通信部１０５に相当する機能を有する。仮想マシン１１４についても同様である。この例で、仮想マシン１１３はいわゆるシンクライアントであるので、ＨＤＤのような不揮発性の外部記憶装置を有していない。
【００１８】
１−３．携帯端末２００
図５は、携帯端末２００の機能構成を示すブロック図である。この例で、携帯端末２００は携帯電話機である。携帯端末２００は、情報処理装置１００に接続されると、メモリ２０１またはモデム２０２として機能する。メモリ２０１は、情報処理装置１００の外部記憶装置としての機能である。モデム２０２は、情報処理装置１００がネットワーク３００を介した通信を行う際に用いられるモデムとしての機能である。情報処理装置１００と接続されると、携帯端末２００は、メモリ２０１またはモデム２０２のいずれか一方として機能する。携帯端末２００がメモリ２０１として機能しているとき、携帯端末２００は「メモリモード」であるという。携帯端末２００がモデム２０２として機能しているとき、携帯端末２００は「モデムモード」であるという。メモリモードとモデムモードの切り替えは排他的に行われ、一方のモードで機能しているときは他方の機能を使うことはできない。
【００１９】
コントローラ２０３は、メモリ２０１およびモデム２０２を切り換える処理（以下「切り換え処理」という）を行う。切り換え処理は、例えばユーザによる操作に応じて行われる。近距離有線通信部２０４は、情報処理装置１００と通信するためのインターフェースである。近距離有線通信部２０４は、ＵＳＢ規格に準拠したコネクタを有しており、このコネクタに接続されたＵＳＢケーブルを介して情報処理装置１００と通信をする。ＵＳＩＭ（Universal Subscriber Identity Module）２０５は、携帯端末２００のユーザの加入者情報等を記憶するメモリモジュールである。ＵＳＩＭ２０５は、携帯端末２００に着脱可能である。またこの例で、ＵＳＩＭ２０５は、認証キーを記憶している。認証キーは、情報処理装置１００におけるユーザの認証に用いられる。
【００２０】
なお、図示は省略するが、携帯端末２００は、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置、通信インターフェースといったハードウェア構成を有している。ＣＰＵがプログラムを実行してこれらのハードウェア構成を制御することにより、図５の機能構成が実現される。
【００２１】
２．動作
図６Ａ−６Ｂは、情報処理装置１００の動作を説明するシーケンス図である。図６Ａ−６Ｂにおいて、情報処理装置１００のハードウェア構成はまとめて「ハードウェア」として記載されている。また、ハードウェア以外に、ホストＯＳ１１１や制御アプリ１１９等のソフトウェアモジュールが処理の主体として記載されているが、これは、このソフトウェアモジュール（に含まれる命令群）を実行しているＣＰＵ１０１が、ＲＡＭ１０２等のハードウェア構成を制御し、このソフトウェアモジュールの機能として処理を行うことを意味する。
【００２２】
ステップＳ１０１において、情報処理装置１００の電源がオンされる。ＣＰＵ１０１は、ＢＩＯＳに記憶されている情報に従って、ホストＯＳ１１１を起動する（ステップＳ１０２）。ホストＯＳ１１１の起動後、ホストＯＳ１１１の設定またはユーザの操作により、制御アプリ１１９が起動する（ステップＳ１０３）。制御アプリ１１９は、ＶＭＭ１１２を起動する（ステップＳ１０４）。ＶＭＭ１１２は、仮想マシン１１３を起動する（ステップＳ１０５）。
【００２３】
起動されると、仮想マシン１１３は、ＶＭＭ１１２に対しゲストＯＳ１１５のブートを指令する（ステップＳ１０６）。ブート指令を受けると、ＶＭＭ１１２は、デバイスコントローラ１０３に対しゲストＯＳ１１５のブートを指令する（ステップＳ１０７）。ブート指令を受けると、ハードウェアは、携帯端末２００との間で、ゲストＯＳ１１５の起動に用いられるデータを送受信する（ステップＳ１０８およびＳ１０９）。
【００２４】
ステップＳ１０８およびＳ１０９の処理は、具体的には、例えば以下の処理を含む。デバイスコントローラ１０３は、携帯端末２００に対する読み出し（ＤｉｓｋＲＲ）を行う。携帯端末２００は、ＤｉｓｋＲＲに対する応答としてＭＢＲ（Master Boot Record）をデバイスコントローラ１０３に送る。ＭＢＲは、ブート先を特定する情報を含む。デバイスコントローラ１０３は、ＭＢＲを、ＶＭＭ１１２を介して仮想マシン１１３の仮想ＣＰＵ１３１に送る。仮想ＣＰＵ１３１は、ＭＢＲを読み込み、読み込んだＭＢＲに基づいてブート先を特定する。この例では、ブート先としてメモリ２０１（携帯端末２００）が指定される。仮想ＣＰＵ１３１は、特定されたブート先に対して、ＢＬ（Boot Loader）の読み込みを指令する。ＢＬは、ゲストＯＳ１１５起動のための初期化処理に用いられる情報、ゲストＯＳ１１５のコア部分（の命令群）およびゲストＯＳ１１５を起動する手順を記載したプログラム（以下「手順プログラム」という）を含む。この例では、ＣＰＵ１３１は、ＶＭＭ１１２およびデバイスコントローラ１０３を介して携帯端末２００にＢＬの読み込みを指令する。この指令を受けると、携帯端末２００は、ＢＬをデバイスコントローラ１０３およびＶＭＭ１１２を介して仮想ＣＰＵ１３１に送る。仮想ＣＰＵ１３１は、ＢＬを読み込み、読み込んだＢＬに含まれる手順プログラムに従って初期化処理を行う。初期化処理が完了すると、仮想ＣＰＵ１３１は、ゲストＯＳ１１５のコア部分を起動する。ゲストＯＳ１１５のコア部分を起動すると、仮想ＣＰＵ１３１は、ＶＭＭ１１２を介して、デバイスコントローラ１０３にＲＡＭディスクの作成を要求する。
【００２５】
この要求を受けると、デバイスコントローラ１０３は、仮想マシン１１３にＲＡＭディスクの作成の要求をする。この要求は、ＶＭＭ１１２を介して（ステップＳ１１０）、仮想マシン１１３に送られる（ステップＳ１１１）。
【００２６】
ＲＡＭディスク作成の要求を受けると、仮想マシン１１３は、ＲＡＭディスクを作成する（ステップＳ１１２）。詳細には以下のとおりである。仮想ＣＰＵ１３１は、仮想デバイスコントローラ１３３に、ＲＡＭディスクの作成を指令する。この指令を受けると、仮想デバイスコントローラ１３３は、仮想ＲＡＭ１３２上に仮想ＲＡＭディスク１３２ａを作成する。この例で、仮想ＲＡＭディスク１３２ａは、初期スクリプト用の領域およびＯＳ本体用の領域を含む。この例で、初期スクリプト用の領域およびＯＳ本体用の領域は、それぞれ別のＲＡＭディスク（仮想ＲＡＭディスク１３２ａ−１および仮想ＲＡＭディスク１３２ａ−２）として認識される。「初期スクリプト」とは、ゲストＯＳ１１５本体を仮想ＲＡＭディスク１３２ａ（仮想ＲＡＭディスク１３２ａ−２）に転送および起動するためのスクリプトをいう。仮想ＣＰＵ１３１は、仮想ＲＡＭディスク１３２ａ−１をマウントするよう仮想デバイスコントローラ１３３に要求する。この要求を受けて、仮想デバイスコントローラ１３３は、仮想ＲＡＭディスク１３２ａ−１をマウントする。ここで、「マウント」とは、周辺機器（この場合は仮想ＲＡＭディスク１３２ａ−１）をコンピュータ（この場合は仮想マシン１１３）に認識させ、使用可能なように設定することをいう。仮想ＣＰＵ１３１は、初期スクリプトの展開を、仮想デバイスコントローラ１３３に要求する。この要求を受けると、仮想デバイスコントローラ１３３は、仮想ＲＡＭディスク１３２ａ−１上に初期スクリプトを展開する。仮想ＣＰＵ１３１は、仮想ＲＡＭディスク１３２ａ−１から初期スクリプトを読み込み、初期スクリプトを起動する。
【００２７】
初期スクリプトが起動されると、仮想ＣＰＵ１３１は、仮想ＲＡＭディスク１３２ａ−２をマウントするよう仮想デバイスコントローラ１３３に指令する。この指令を受けると、仮想デバイスコントローラ１３３は、仮想ＲＡＭディスク１３２ａ−２をマウントする。さらに、仮想ＣＰＵ１３１は、メモリ２０１（メモリモードで動作している携帯端末２００）を外部記憶装置としてマウントするように、仮想デバイスコントローラ１３３に指令する。この指令を受けると、仮想デバイスコントローラ１３３は、ＶＭＭ１１２およびデバイスコントローラ１０３を介して、携帯端末２００をマウントする。
【００２８】
ＲＡＭディスクの作成が完了すると、仮想マシン１１３は、ＲＡＭディスクの作成が完了した旨をＶＭＭ１１２に通知する（ステップＳ１１３）。ＲＡＭディスクの作成が完了した旨を通知されると、ＶＭＭ１１２は、ゲストＯＳ１１５の読み込みをデバイスコントローラ１０３を介して（ステップＳ１１４）、携帯端末２００に指令する（ステップＳ１１５）。この指令を受けると、携帯端末２００は、ゲストＯＳ１１５のファイル（ゲストＯＳ１１５本体）を、デバイスコントローラ１０３（ステップＳ１１６）およびＶＭＭ１１２を介して（ステップＳ１１７）、仮想マシン１１３に送信する（ステップＳ１１８）。仮想マシン１１３の仮想デバイスコントローラ１３３は、転送されたゲストＯＳ１１５本体を仮想ＲＡＭディスク１３２ａ（詳細には仮想ＲＡＭディスク１３２ａ−２）に展開する（ステップＳ１１９）。ゲストＯＳ１１５本体を展開すると、仮想ＣＰＵ１３１は、ゲストＯＳ１１５本体を起動する（ステップＳ１２０）。ゲストＯＳ１１５本体の起動に際して、仮想デバイスコントローラ１３３は、仮想ＲＡＭディスク１３２ａ−２にＯＳ用ファイルを展開する。
【００２９】
また、ゲストＯＳ１１５と同時に、またはゲストＯＳ１１５の後に、ゲストＯＳアプリ１１６のファイルも仮想ＲＡＭディスク１３２ａに転送される。
【００３０】
ゲストＯＳ１１５の転送が完了すると、仮想ＣＰＵ１３１は、メモリモードの携帯端末２００のアンマウント処理を行う。ここで、携帯端末２００の「アンマウント」とは、携帯端末２００を外部記憶装置として認識することをやめ、外部記憶装置として使用できないように設定することをいう。
【００３１】
携帯端末２００においては、メモリモードからモデムモードへの切り替えが行われる（ステップＳ１２２）。この切り換えは、例えば、ユーザの操作に応じて行われる。あるいは、この切り換えは、ゲストＯＳ１１５の起動が完了した後や、メモリモードの携帯端末２００がアンマウントされた後に、情報処理装置１００からの指示に応じて自動的に行われてもよい。
【００３２】
モデムモードへの切り替えが完了すると、携帯端末２００は、モデムポートの確立をデバイスコントローラ１０３に要求する（ステップＳ１２３）。この要求を受けると、デバイスコントローラ１０３は、モデムポートの確立をホストＯＳ１１１に要求する（ステップＳ１２４）。モデムポートの確立を要求されると、ホストＯＳ１１１は、通信ドライバの読み込みをデバイスコントローラ１０３に要求する（ステップＳ１２５）。この要求を受けると、デバイスコントローラ１０３は、ＨＤＤ１０６から通信ドライバを読み込む（ステップＳ１２６）。この通信ドライバは、ホストＯＳ１１１上で動作し、携帯端末２００をモデムとして用いて通信を行うためのドライバである。
【００３３】
デバイスコントローラ１０３が通信ドライバを読み込むと、制御アプリ１１９は、ゲストＯＳ１１５とホストＯＳ１１１との間にブリッジを確立する（ステップＳ１２７）。「ブリッジ」とは、ホストＯＳ１１１（仮想マシン１１３）がホストＯＳ１１１を制御するための（仮想的な）伝送路、または、この伝送を行うためのソフトウェアモジュールをいう。ハードウェアとの間でブリッジを確立する相手（この例では仮想マシン１１３）は、制御アプリ１１９の設定により定められている。ソフトウェアモジュールとしてのブリッジは、ＶＭＭ１１２の機能の一部として提供される。あるいは、ブリッジは、ＶＭＭ１１２とは別のソフトウェアとして提供されてもよい。
【００３４】
ブリッジが確立されると、制御アプリ１１９は、仮想マシン１１３をアクティブにする。「仮想マシン１１３をアクティブにする」とは、情報処理装置１００のディスプレイに表示される画面が仮想マシン１１３による画面となり、キーボードの操作が仮想マシン１１３に入力される状態となることをいう。仮想マシン１１３をアクティブにすると、制御アプリ１１９は、ディスプレイロック処理を行う。「ディスプレイロック処理」とは、アクティブな仮想マシン（または物理マシン）を変更できないようにする処理をいう。多くの場合、ＶＭＭ１１２は、アクティブな仮想マシンを切り換える機能を有しているが、「ディスプレイロック処理」は、この機能を無効にすることを意味する。
【００３５】
モデムポートが確立されると、仮想ＣＰＵ１３１は、携帯端末２００から認証キーを取得する。この例では、携帯端末２００のＵＳＩＭ２０５に記憶されている加入者情報および識別情報が認証キーとして取得される。仮想ＣＰＵ１３１は、携帯端末２００から取得した認証キーを、あらかじめ記憶している認証キーと比較する。両者が一致すると判断された場合、仮想マシン１１３は、携帯端末２００（すなわち、携帯端末２００のユーザ）が正当であると判断する。携帯端末２００が正当であると判断されると、仮想マシン１１３は、ユーザの操作を受け付ける状態となる。両者が一致しないと判断された場合、仮想マシン１１３は、携帯端末２００が不当であると判断する。携帯端末２００が不当であると判断されると、仮想マシン１１３は、仮想マシン１１３をシャットダウンするための操作以外の操作を受け付けない状態となる。なお、この例で、仮想マシン１１３は、携帯端末２００をモデムとして認識している。仮想マシン１１３は、モデムと通信する際の標準命令体系であるＡＴコマンドにより携帯端末２００と通信することにより、認証キーを取得する。
【００３６】
仮想マシン１１３においては、ゲストＯＳアプリ１１６が起動される（ステップＳ１２８）。ゲストＯＳアプリ１１６は、例えば、ゲストＯＳ１１５が起動した後で自動的に起動するように設定されている。あるいは、ゲストＯＳアプリ１１６は、ユーザの操作に応じて起動されてもよい。ゲストＯＳアプリ１１６の起動は、ゲストＯＳ１１５と同様に行われる。
【００３７】
ゲストＯＳアプリ１１６は、インターネットアクセスを要求する。この要求は、ブリッジにより、すなわち、仮想マシン１１３（ステップＳ１３０）およびＶＭＭ１１２を介して（ステップＳ１３１）、ホストＯＳ１１１に送られる。インターネットアクセスを要求されると、デバイスコントローラ１０３は、通信ドライバを起動する（ステップＳ１３２）。この通信ドライバは、ホストＯＳ１１１上で動作する。
【００３８】
デバイスコントローラ１０３は、通信ドライバの制御下で、近距離有線通信部１０５に通信を要求する。近距離有線通信部１０５は、携帯端末２００に通信を要求する。携帯端末２００は、この要求に応じてダイヤル発信を行い、サーバ４００とのコネクションを確立する（ステップＳ１３３）。コネクションを確立すると、携帯端末２００は、接続が完了した旨を近距離有線通信部１０５に通知する。近距離有線通信部１０５は、接続が完了した旨をデバイスコントローラ１０３に通知する。デバイスコントローラ１０３は、接続が完了した旨を仮想マシン１１３に通知する。こうして、ゲストＯＳアプリ１１６は、サーバ４００との通信が可能になる。
【００３９】
仮想ＲＡＭディスク１３２ａを用いて起動されたゲストＯＳ１１５上で起動されたゲストＯＳアプリ１１６は、必要に応じて仮想ＲＡＭディスク１３２ａに記憶されているプログラムファイルを読み込む。本実施形態によれば、ゲストＯＳ１１５が起動された後に、外部記憶装置として機能している携帯端末２００からゲストＯＳ１１５の実行に必要なプログラムファイルを取得する必要がない。ゲストＯＳ１１５が起動された後では、携帯端末２００はモデムとして用いられる。すなわち、１台の携帯端末２００を、シンクライアントのための仮想マシン１１３の起動用などの外部記憶装置および通信手段として機能させることができる。また、仮想ＲＡＭディスクを使った環境により仮想マシンをハードディスクレスＰＣ化する事で、仮想システムのセキュリティ向上が可能になる。さらに、ゲストＯＳ１１５専用のドライバを用いなくても、ネットワークを介した通信が行われる。
【００４０】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００４１】
３−１．変形例１
上述の実施形態においては、情報処理装置１００（物理マシン）においてはＣＰＵ１０１とデバイスコントローラ１０３とが処理を分担していたが、物理的に単一のプロセッサが、ＣＰＵ１０１とデバイスコントローラ１０３とが行った処理を行ってもよい。あるいは、実施形態においてＣＰＵ１０１またはデバイスコントローラ１０３が行うものとして説明した処理を、物理的に２つ以上のプロセッサが協働して行ってもよい。要は、物理的には１つまたは２つ以上のプロセッサが、実施形態でＣＰＵ１０１とデバイスコントローラ１０３とが行うものとして説明した処理を行う制御手段として機能すればよい。仮想ＣＰＵ１３１と仮想デバイスコントローラ１３３についても同様である。
【００４２】
３−２．変形例２
仮想デバイスコントローラ１３３とデバイスコントローラ１０３との処理の分担は実施形態で説明したものに限定されない。実施形態において仮想デバイスコントローラ１３３が行うものとして説明された処理の一部を、デバイスコントローラ１０３が実行してもよい。その逆も同様である。
【００４３】
３−３．変形例３
メモリ２０１（携帯端末２００）のマウント処理のタイミングは、実施形態で説明したものに限定されない。ゲストＯＳ１１５やゲストＯＳアプリ１１６のファイル等、必要なファイルを転送する前であれば、どのタイミングでマウント処理が行われてもよい。同様に、メモリ２０１のアンマウント処理のタイミングは、実施形態で説明したものに限定されない。ゲストＯＳ１１５やゲストＯＳアプリ１１６のファイル等、必要なファイルを転送した後であれば、どのタイミングでアンマウント処理が行われてもよい。
【００４４】
３−４．変形例４
ゲストＯＳ１１５およびゲストＯＳアプリ１１６の一方または双方は、圧縮された状態で仮想ＲＡＭディスク１３２ａに記憶されていてもよい。この場合において、ゲストＯＳ１１５またはゲストＯＳアプリ１１６のファイルを使用するときは、仮想ＣＰＵ１３１は、圧縮されたファイルを解凍し、仮想ＲＡＭディスク１３２ａに展開する。仮想ＣＰＵ１３１は、展開されたファイルを仮想ＲＡＭディスク１３２ａから読み込み、実行する。
【００４５】
３−５．変形例５
ゲストＯＳ１１５のファイルの構成は実施形態で説明したものに限定されない。実施形態では、ゲストＯＳ１１５が、コア部分（初期スクリプト）および本体部分に分けられている例を説明したが、ゲストＯＳ１１５は単一の部分で構成されてもよいし、３つ以上の部分で構成されてもよい。仮想ＲＡＭディスク１３２ａは、ゲストＯＳ１１５のファイルの構成に応じた数に区分されてもよい。ゲストＯＳアプリ１１６についても同様である。
【符号の説明】
【００４６】
１００…情報処理装置、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…デバイスコントローラ、１０４…ＢＩＯＳ・ＲＯＭ、１０５…近距離有線通信部、１０６…ＨＤＤ、１１１…ホストＯＳ、１１２…ＶＭＭ、１１３…仮想マシン、１１４…仮想マシン、１１５…ゲストＯＳ、１１６…ゲストＯＳアプリ、１１７…ゲストＯＳ、１１８…ゲストＯＳアプリ、１１９…制御アプリ、１２０…ホストＯＳアプリ、１３１…仮想ＣＰＵ、１３２…仮想ＲＡＭ、１３３…仮想デバイスコントローラ、１３４…仮想ＢＩＯＳ・ＲＯＭ、１３５…仮想近距離有線通信部、２００…携帯端末、２０１…メモリ、２０２…モデム、２０３…コントローラ、２０４…近距離有線通信部、２０５…ＵＳＩＭ、３００…ネットワーク、４００…サーバ
【図１】
2010238130.tif 000003
【図２】
2010238130.tif 000004
【図３】
2010238130.tif 000005
【図４】
2010238130.tif 000006
【図５】
2010238130.tif 000007
【図６Ａ】
2010238130.tif 000008
【図６Ｂ】
2010238130.tif 000009