(57)【要約】【課題】ある仮想マシンからのデータの取得が失敗することが予測される場合、または、データの取得が失敗した場合に、自動的に別の仮想マシンからデータの取得を試みること。【解決手段】仮想マシン４１において、要求されたデータを、仮想マシン４１が取得できないと予測された場合、または、仮想マシン４１が取得できなかった場合、要求部２０３は、仮想マシン４２に対して、データを取得するように要求をする。【選択図】図３
2010231251.tif 000002
【特許請求の範囲】
【請求項１】
通信装置と、
第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、
前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサと、
を有し、
前記第１の仮想マシンが、
前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、
前記検知手段により検知された取得要求により要求されたデータを、前記第１の仮想マシンが取得できるか判定する第１の判定手段と、
前記データを取得できないと前記第１の判定手段が判定した場合、前記第２の仮想マシンに対して、前記データを取得するように要求をする要求手段と
を有し、
前記第２の仮想マシンが、
前記要求を受けると、前記通信装置を介して前記データを取得する第１の取得手段
を有する
ことを特徴とする情報処理装置。
【請求項２】
通信装置と、
第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、
前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサと、
を有し、
前記第１の仮想マシンが、
前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、
前記取得要求により要求されるデータの取得を試みる第２の取得手段と、
前記検知手段により検知された取得要求により要求されたデータを、前記第２の取得手段が取得できたか判定する第１の判定手段と、
前記データを取得できなかったと前記第１の判定手段が判定した場合、前記第２の仮想マシンに対して、前記データを取得するように要求をする要求手段と
を有し、
前記第２の仮想マシンが、
前記要求を受けると、前記通信装置を介して前記データを取得する第１の取得手段
を有する
ことを特徴とする情報処理装置。
【請求項３】
前記取得要求が、前記データを特定するための文字列を含み、
前記第１の仮想マシンは、文字列のパターンを示す情報を記憶する第１の記憶手段を有し、
前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が前記第１の記憶手段に記憶されている情報と一致した場合、前記第１の判定手段は、前記データを取得できないと判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記取得要求が、前記データを特定するための文字列を含み、
前記第１の仮想マシンは、前記第１の仮想マシンが取得できなかったデータの所在を示す所在情報の履歴、または、前記第２の仮想マシンが取得できたデータの所在を示す所在情報の履歴を示す情報を記憶する第１の記憶手段を有し、
前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が、前記第１の記憶手段に記憶されている情報と一致した場合、前記第１の判定手段は、前記データを取得できないと判定する
ことを特徴とする請求項１または３に記載の情報処理装置。
【請求項５】
前記第２の仮想マシンは、前記第１の取得手段が前記データを取得した場合、前記データを取得できたことを示す結果を前記第１の仮想マシンに送信する送信手段を有し、
前記第１の仮想マシンは、前記第２の仮想マシンから前記結果を受信した場合、前記結果に係るデータの所在を示す所在情報を用いて前記第１の記憶手段に記憶されている履歴を更新する更新手段を有する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２の仮想マシンは、前記第１の取得手段が取得したデータの所在を示す所在情報の履歴を示す情報を記憶する第２の記憶手段を有し、
前記第１の仮想マシンは、前記検知手段により検知された前記取得要求により要求される前記データの取得の可否の判定を前記第２の仮想マシンに依頼する依頼手段を有し、
前記第２の仮想マシンは、前記依頼を受けると、前記データの所在情報の所定の一部または全部が、前記第２の記憶手段に記憶されている情報と一致するか判定する第２の判定手段を有し、
前記データの所在情報の所定の一部または全部が前記第２の記憶手段に記憶されている情報と一致すると前記第２の判定手段により判定された場合、前記第１の取得手段が、前記データを取得する
ことを特徴とする請求項１、３−５のいずれかの項に記載の情報処理装置。
【請求項７】
前記第１の仮想マシンは、第１のデータを取得する第２の取得手段を有し、
前記第２の取得手段により取得された前記第１のデータが、第２のデータの所在を示す所在情報を含み、
前記第１の仮想マシンは、前記第１のデータから前記第２のデータの所在情報を抽出する抽出手段を有し、
前記抽出手段により抽出された前記所在情報の所定の一部または全部が前記第１の記憶手段に記憶された情報に一致したとき、前記第１の判定手段は、前記第２のデータを取得できないと判定する
ことを特徴とする請求項１、３−６のいずれかの項に記載の情報処理装置。
【請求項８】
前記データを取得できないと前記第１の判定手段が判定しなかった場合、前記第２の取得手段は、前記第２のデータを取得する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記第１のデータが、データを構成するための制御情報を含み、
前記制御情報が前記第１の仮想マシンに対応しないものであった場合、前記要求手段が、前記データを取得するように前記第２の仮想マシンに要求する
ことを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
表示装置を有し、
前記第２の仮想マシンが、前記第１の取得手段により取得されたデータに従った画像を前記表示装置に表示させる表示手段を有する
ことを特徴とする請求項１−９のいずれかの項に記載の情報処理装置。
【請求項１１】
前記通信装置を介した通信が許可される第１の動作モードと、前記通信装置を介した通信が許可されない第２の動作モードとを有し、
前記要求手段は、前記動作モードが前記第１の動作モードである場合に、前記データを取得するように前記第２の仮想マシンに要求する
ことを特徴とする請求項１−１０のいずれかの項に記載の情報処理装置。
【請求項１２】
通信装置と、第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有する情報処理装置における通信方法であって、
前記第１の仮想マシンが、前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、
前記第１の仮想マシンが、前記検知された取得要求により要求されたデータを、前記第１の仮想マシンが取得できるか判定するステップと、
前記第１の仮想マシンが前記データを取得できないと判定された場合、前記第２の仮想マシンに対して、前記データを取得するように要求をするステップと、
前記第２の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップと
を有することを特徴とする通信方法。
【請求項１３】
通信装置と、第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有する情報処理装置における通信方法であって、
前記第１の仮想マシンが、前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、
前記第１の仮想マシンが、前記取得要求により要求されるデータの取得を試みるステップと、
前記第１の仮想マシンが、前記検知された取得要求により要求されたデータを取得できたか判定するステップと、
前記第１の仮想マシンが、前記データを取得できなかったと判定した場合、前記第２の仮想マシンに対して、前記データを取得するように要求をするステップと、
前記第２の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップと
を有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の仮想マシンを実行する情報処理装置におけるデータ通信に関する。
【背景技術】
【０００２】
物理的に単一の通信端末において、複数の仮想マシンを動作させる技術が知られている（特許文献１−７参照）。特許文献１は、端末に保存されたスケルトンファイルにアクセスすると、リモートサーバからデータファイルを取得する技術を開示している。特許文献２は、外部と通信するために、ホストＯＳのＴＣＰ／ＩＰスタックを用いて通信を行う技術を開示している。特許文献３は、異なる仮想マシン上で動作するアプリケーション同士が通信により連携する技術を開示している。特許文献４は、仮想化ソフトウェアにおいて、外部と通信している仮想マシンを特定し、受信したパケットをどの仮想マシンに送信するか判定する技術を開示している。特許文献５は、サービスＯＳとゲストＯＳとを有する装置において、ゲストＯＳ上のＦＴＰクライアントからＦＴＰ接続要求を受け取ると、サービスＯＳ側の仮想マシンが通信を確立することを開示している。特許文献６は、複数の仮想マシンを有する情報処理装置において、ある仮想マシンにおいてエラーが発生した場合に、他の仮想マシンの動作を継続させる技術を開示している。特許文献７は、複数のＶＭＭを有する装置において、特権イベントが発生した場合に、特権イベントを処理すべきＶＭＭを特定し、そのＶＭＭに制御を移行させる技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６７３５６０１号明細書
【特許文献２】米国特許第７４２４７１０号明細書
【特許文献３】米国特許第７３４６９０９号明細書
【特許文献４】米国特許第７３５６８１８号明細書
【特許文献５】特開２００８−２９９６１７号公報
【特許文献６】特開２００７−３２３１４２号公報
【特許文献７】特表２００７−５０５４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１−７は、特定の接続先を介してのみアクセス可能なように制限されたサーバに対して、ある仮想マシン上のアプリケーションがデータの取得を試みてそれが失敗した場合の処理について開示していない。
本発明は、ある仮想マシンからのデータの取得が失敗することが予測される場合、または、データの取得が失敗した場合に、自動的に別の仮想マシンからデータの取得を試みる技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、通信装置と、第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記接続先以外の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有し、前記第１の仮想マシンが、前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、前記検知手段により検知された取得要求により要求されたデータを、前記第１の仮想マシンが取得できるか判定する第１の判定手段と、前記データを取得できないと前記第１の判定手段が判定した場合、前記第２の仮想マシンに対して、前記データを取得するように要求をする要求手段とを有し、前記第２の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得する第１の取得手段を有することを特徴とする情報処理装置を提供する。
この情報処理装置によれば、第１の仮想マシンがデータを取得できないと判定された場合においても、第２の仮想マシンによるデータの取得が試みられる。
【０００６】
また、本発明は、通信装置と、第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先以外の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサと、を有し、前記第１の仮想マシンが、前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、前記取得要求により要求されるデータの取得を試みる第２の取得手段と、前記検知手段により検知された取得要求により要求されたデータを、前記第２の取得手段が取得できたか判定する第１の判定手段と、前記データを取得できなかったと前記第１の判定手段が判定した場合、前記第２の仮想マシンに対して、前記データを取得するように要求をする要求手段とを有し、前記第２の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得する第１の取得手段を有することを特徴とする情報処理装置を提供する。
この情報処理装置によれば、第１の仮想マシンがデータを取得できなかったと判定された場合においても、第２の仮想マシンによるデータの取得が試みられる。
【０００７】
好ましい態様において、前記取得要求が、前記データを特定するための文字列を含み、前記第１の仮想マシンは、文字列のパターンを示す情報を記憶する第１の記憶手段を有し、前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が前記第１の記憶手段に記憶されている情報と一致した場合、前記第１の判定手段は、前記データを取得できないと判定してもよい。
この情報処理装置によれば、特定のパターンの文字列を含む取得要求に係るデータの取得が、第２の仮想マシンに自動的に要求される。
【０００８】
別の好ましい態様において、前記取得要求が、前記データを特定するための文字列を含み、前記第１の仮想マシンは、前記第１の仮想マシンが取得できなかったデータの所在を示す所在情報の履歴、または、前記第２の仮想マシンが取得できたデータの所在を示す所在情報の履歴を示す情報を記憶する第１の記憶手段を有し、前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が、前記第１の記憶手段に記憶されている情報と一致した場合、前記第１の判定手段は、前記データを取得できないと判定してもよい。
この情報処理装置によれば、第１の仮想マシンが取得できなかったデータの所在情報の履歴または第２の仮想マシンが取得できたデータの所在を示す所在情報の履歴と一致する文字列を含む取得要求に係るデータ取得が、第２の仮想マシンに自動的に要求される。
【０００９】
さらに別の好ましい態様において、前記第２の仮想マシンは、前記第１の取得手段が前記データを取得した場合、前記データを取得できたことを示す結果を前記第１の仮想マシンに送信する送信手段を有し、前記第１の仮想マシンは、前記第２の仮想マシンから前記結果を受信した場合、前記結果に係るデータの所在を示す所在情報を用いて前記第１の記憶手段に記憶されている履歴を更新する更新手段を有してもよい。
この情報処理装置によれば、第２の仮想マシンにおけるデータの取得結果に応じて、第１の記憶手段に記憶されている履歴が書き替えられる。
【００１０】
さらに別の好ましい態様において、前記第２の仮想マシンは、前記第１の取得手段が取得したデータの所在を示す所在情報の履歴を示す情報を記憶する第２の記憶手段を有し、前記第１の仮想マシンは、前記検知手段により検知された前記取得要求により要求される前記データの取得の可否の判定を前記第２の仮想マシンに依頼する依頼手段を有し、前記第２の仮想マシンは、前記依頼を受けると、前記データの所在情報の所定の一部または全部が、前記第２の記憶手段に記憶されている情報と一致するか判定する第２の判定手段を有し、前記データの所在情報の所定の一部または全部が前記第２の記憶手段に記憶されている情報と一致すると前記第２の判定手段により判定された場合、前記第１の取得手段が、前記データを取得してもよい。
この情報処理装置によれば、データの取得の可否の判定精度がより高められる。
【００１１】
さらに別の好ましい態様において、前記第１の仮想マシンは、第１のデータを取得する第２の取得手段を有し、前記第２の取得手段により取得された前記第１のデータが、第２のデータの所在を示す所在情報を含み、前記第１の仮想マシンは、前記第１のデータから前記第２のデータの所在情報を抽出する抽出手段を有し、前記抽出手段により抽出された前記所在情報の所定の一部または全部が前記第１の記憶手段に記憶された情報に一致したとき、前記第１の判定手段は、前記第２のデータを取得できないと判定してもよい。
この情報処理装置によれば、第２のデータについて取得要求が出されなくても、第２のデータの取得の可否が判断される。
【００１２】
さらに別の好ましい態様において、前記第２のデータを取得できないと前記第１の判定手段が判定しなかった場合、前記第２の取得手段は、前記第２のデータを取得してもよい。
この情報処理装置によれば、第１の仮想マシンで取得できるデータについては第１の仮想マシンで取得される。
【００１３】
さらに別の好ましい態様において、前記第１のデータが、データを構成するための制御情報を含み、前記制御情報が前記第１の仮想マシンに対応しないものであった場合、前記要求手段が、前記データを取得するように前記第２の仮想マシンに要求してもよい。
この情報処理装置によれば、第１の仮想マシンと対応しない制御情報に対応するデータは、第２の仮想マシンでの取得が試みられる。
【００１４】
さらに別の好ましい態様において、この情報処理装置は、表示装置を有し、前記第２の仮想マシンが、前記第１の取得手段により取得されたデータに従った画像を前記表示装置に表示させる表示手段を有してもよい。
この情報処理装置によれば、第２の仮想マシンでデータを取得すると、取得したデータに従った画像が自動的に表示される。
【００１５】
さらに別の好ましい態様において、この情報処理装置は、前記通信装置を介した通信が許可される第１の動作モードと、前記通信装置を介した通信が許可されない第２の動作モードとを有し、前記要求手段は、前記動作モードが前記第１の動作モードである場合に、前記データを取得するように前記第２の仮想マシンに要求してもよい。
この情報処理装置によれば、第２の仮想マシンに対する無駄な要求が抑制される。
【００１６】
さらに、本発明は、通信装置と、第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有する情報処理装置における通信方法であって、前記第１の仮想マシンが、前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、前記第１の仮想マシンが、前記検知された取得要求により要求されたデータを、前記第１の仮想マシンが取得できるか判定するステップと、前記第１の仮想マシンが前記データを取得できないと判定された場合、前記第２の仮想マシンに対して、前記データを取得するように要求をするステップと、前記第２の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップとを有することを特徴とする通信方法を提供する。
この通信方法によれば、第１の仮想マシンがデータを取得できないと判定された場合においても、第２の仮想マシンによるデータの取得が試みられる。
【００１７】
さらに、本発明は、通信装置と、第１の仮想マシンおよび第２の仮想マシンを実現するためのプログラム、前記第２の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第１のアプリケーションを実現するためのプログラム、ならびに前記第１の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第２のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有する情報処理装置における通信方法であって、前記第１の仮想マシンが、前記第２のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、前記第１の仮想マシンが、前記取得要求により要求されるデータの取得を試みるステップと、前記第１の仮想マシンが、前記検知された取得要求により要求されたデータを取得できたか判定するステップと、前記第１の仮想マシンが、前記データを取得できなかったと判定した場合、前記第２の仮想マシンに対して、前記データを取得するように要求をするステップと、前記第２の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップとを有することを特徴とする通信方法を提供する。
この通信方法によれば、第１の仮想マシンがデータを取得できなかったと判定された場合においても、第２の仮想マシンによるデータの取得が試みられる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態に係る携帯電話機１０のハードウェア構成を示す図である。
【図２】携帯電話機１０のソフトウェア構成を示す図である。
【図３】第１実施形態に係る携帯電話機１０の機能構成を示す図である。
【図４】判定部２０５で用いられるパターン情報を例示する図である。
【図５】判定部２０５で用いられる履歴情報を例示する図である。
【図６】取得可否の判定処理を示すフローチャートである。
【図７】コンテンツの取得処理を示すフローチャートである。
【図８】履歴情報の更新処理を示すフローチャートである。
【図９】第２実施形態に係る携帯電話機１０の機能構成を示す図である。
【図１０】取得可否の判定処理を示すフローチャートである。
【図１１】判定の依頼を受信したときの処理を示すフローチャートである。
【図１２】コンテンツ取得処理を示す図である。
【図１３】第３実施形態に係る携帯電話機１０の機能構成を示す図である。
【図１４】第１のコンテンツを取得したときの処理を示すフローチャートである。
【図１５】第２のコンテンツの取得が要求されたときのフローチャートである。
【図１６】コンテンツ取得処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
１．ハードウェア構成およびソフトウェア構成の概要
図１は、一実施形態に係る携帯電話機１０のハードウェア構成を示す図である。携帯電話機１０は、本発明に係る情報処理装置の一例である。携帯電話機１０は、ＣＰＵ（Central Processing Unit）２０と、メモリ２１と、記憶装置３０と、キーパッド３１と、ディスプレイ３２と、スピーカ３３と、通信装置３４とを有する。
【００２０】
図２は、携帯電話機１０のソフトウェア構成を示す図である。携帯電話機１０のソフトウェアは、仮想化ソフトウェア（Virtual Machine Manager、以下「ＶＭＭ」という）４０と、仮想マシン４１（第１の仮想マシンの一例）と、仮想マシン４２（第２の仮想マシンの一例）とを有する。以下、図１および図２を参照して携帯電話機１０の構成を説明する。
【００２１】
ＣＰＵ２０（プロセッサの一例）は、メモリ２１上に展開されたソフトウェアを実行する処理装置である。メモリ２１は、ＣＰＵ２０がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶装置３０は、ＶＭＭ４０、ＯＳ（Operating System）、アプリケーション等のプログラムや、設定情報、コンテンツ等のデータを記憶する記憶装置、例えばフラッシュメモリである。この例では、記憶装置３０からロードされたプログラムやデータがメモリ２１上に展開され、ＣＰＵ２０により実行される。また、ＣＰＵ２０がＶＭＭ４０を実行することにより、携帯電話機１０の内部に仮想マシン４１および仮想マシン４２が形成される。
【００２２】
キーパッド３１は、ユーザの操作に応じた信号をＣＰＵ２０に供給する入力装置である。ユーザによる操作は、単一のキーの押し下げ、複数のキーの同時押しなどがある。キーパッド３１が操作されると、操作を示す情報がＶＭＭ４０を介して仮想マシン４１または仮想マシン４２に伝達される。仮想マシン４１または仮想マシン４２の内部では、ＯＳがアプリケーションに操作を示す情報を伝達する。これにより、ユーザによるキーパッド３１の操作に応じて、メニュー選択や文字入力等の処理が行われる。
【００２３】
ディスプレイ３２は、仮想マシン４１または仮想マシン４２において実行されているアプリケーションプログラムの処理結果を画像として出力する出力装置である。ユーザがアプリケーションでコンテンツ（データ）を利用すると、そのコンテンツに応じた画面がディスプレイ３２に表示される。ユーザは、ディスプレイ３２に表示された画面を見ながらキーパッド３１を操作し、携帯電話機１０に情報を入力する。スピーカ３３は、仮想マシン４１または仮想マシン４２において実行されているアプリケーションプログラムの処理結果を音（音声、音楽等）として出力する出力装置である。
【００２４】
通信装置３４は、外部の端末装置と通信するための装置である。この例で、通信装置３４は、移動通信網用のアンテナ、通信プロセッサ、無線ＬＡＮ（Local Area Network）アダプタ等を含む。
【００２５】
ＶＭＭ４０は、物理的に単一の装置（携帯電話機１０）上に、複数の仮想的な装置（仮想マシン）を形成し、平行動作させるためのプログラムである。この例では、仮想マシン４１および仮想マシン４２が動作する。仮想マシン４１および仮想マシン４２は、それぞれ、ＶＭＭ４０により仮想化されたＣＰＵ、メモリ、周辺機器を有している。仮想マシン４１および仮想マシン４２は、それぞれがＯＳを有し、このＯＳ上でＡＰＩ（Application Programming Interface）群、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）スタック等のミドルウェア（ソフトウェアモジュール）やブラウザ等のアプリケーションプログラムが動作する。ＶＭＭ４０としては、例えば、VMware、Xen（登録商標）、Virtualbox等が用いられる。
【００２６】
仮想マシン４１は、いわゆるスマートフォンに相当する仮想マシンである。スマートフォンとは、ＰＣと同様にカスタマイズ性に優れている携帯電話機、具体的には、ＣＰＵ２０が直接実行可能なネイティブコードのアプリケーションプログラム（以下「ネイティブコードアプリ」という）を追加することができる携帯電話機をいう。ネイティブコードアプリの一例として、ブラウザがある。このブラウザは、携帯電話機に特化していない、一般ＰＣ（Personal Computer）向けのサイト（以下「ＰＣサイトという」）を閲覧することができる。
【００２７】
一般に、携帯電話機のセキュリティはＰＣのセキュリティよりも高い。近年、ブラウザを介して画像、着信音、楽曲などをダウンロードするサービスが知られているが、これらダウンロードされたデータは、携帯電話機１０の外へ持ち出したり、改ざんしたりすることができないように制限されていることが多い。このような制限を行うために、ある種のウェブサーバにおいては、携帯電話機からのアクセスのみを許可し、ＰＣ等の携帯電話機以外の端末からのアクセスは許可しないように、端末の識別が行われている。この識別をするための技術としては、携帯電話事業者が運用するゲートウェイ（特定の接続先の一例）のＩＰ（Internet Protocol）アドレスを用いて端末を識別する技術がある。このような技術により、携帯電話機からのみアクセスが可能なウェブサイト（以下「携帯サイト」という）が存在する。
【００２８】
スマートフォンにおいては、非ネイティブコードアプリよりも実行速度が速いネイティブコードアプリを用いて機能を拡張することが可能である。しかし、例えばコンピュータウイルスのような悪意あるアプリケーションプログラムが実行されると、ユーザの意図に反して、アドレス帳等の個人情報やコンテンツの消去、改ざん、漏洩が起こる危険性がある。この危険性により、スマートフォンにおいては、非スマートフォンの携帯電話機と異なり、コンテンツのダウンロードを許可したくないという事業者およびユーザの事情がある。このため、スマートフォンのブラウザは、携帯サイトにアクセスするためのゲートウェイを経由せずに、特定の接続先とは異なる別の接続先（またはアクセスポイント）を介してインターネットに接続される。すなわち、仮想マシン４１は、このゲートウェイを経由せずにインターネットに接続される。この構成では、スマートフォンからは携帯サイトにアクセスできない。
【００２９】
仮想マシン４２は、標準機（非スマートフォン）に相当する仮想マシンである。前述のように仮想マシン４２は、携帯サイトにアクセスするためのゲートウェイを経由して、外部のネットワークにアクセスする。仮想マシン４２は、記憶装置３０上に、仮想マシン４１からはアクセスできない、仮想マシン４２専用の記憶領域を有する。携帯サイトからダウンロードされたコンテンツは、この記憶領域に記憶される。同様に、仮想マシン４１は、記憶装置３０上に、仮想マシン４２からはアクセスできない、仮想マシン４１専用の記憶領域を有する。
【００３０】
２．第１実施形態
２−１．構成
図３は、第１実施形態に係る携帯電話機１０の機能構成を示す図である。仮想マシン４１は、ブラウザ５０、検知部２０１、判定部２０２、要求部２０３、判定部２０５および更新部２０７を有する。仮想マシン４２は、ブラウザ６０を有する。ブラウザ５０は、インターネットに接続されたウェブサーバ（外部装置）からウェブコンテンツ（ＨＴＭＬ（HyperText Markup Language）データおよび関連する画像ファイル、音声ファイル等）を取得し、取得したウェブコンテンツに従った画面をディスプレイ３２に表示させるためのアプリケーションプログラムであり、仮想マシン４１のＯＳ上で動作する。記憶部１００は、仮想マシン４１専用の記憶領域である。ブラウザ６０は、インターネットからＨＴＭＬデータを取得し、取得したＨＴＭＬデータに従った画面をディスプレイ３２に表示させるためのアプリケーションプログラムであり、仮想マシン４２のＯＳ上で動作する。ブラウザ６０は、取得部２０４および送信部２０６を有する。以下、ここで、「アプリケーション」とは、ＣＰＵ２０がアプリケーションプログラムを実行し、メモリやディスプレイを制御することにより、携帯電話機１０上に実現（実装）される機能をいう。検知部２０１、判定部２０２、要求部２０３、判定部２０５および更新部２０７等の機能構成要素はソフトウェアモジュールである。以下、「検知部２０１が、・・・する」というように機能構成要素を主体として動作を記述することがあるが、これは、ＣＰＵ２０が検知部２０１に係るソフトウェアモジュールに含まれる命令群を実行することにより、その処理が行われることを意味する。
【００３１】
検知部２０１は、通信装置３４およびインターネットを介してウェブコンテンツを取得するための要求（以下「取得要求」という）を検知する。取得要求は、ブラウザ５０から出される。この例で、取得要求は、そのコンテンツの所在を示す情報（以下「所在情報」という）としてＵＲＬ（Uniform Resource Locator）を含む。ＵＲＬは、例えば、「http://www.aaaaaa.co.jp/product/index.html」という文字列である。この例のＵＲＬは、「http」というスキームで、「www.xxxx.co.jp」という名前（ホスト名）のウェブサーバに接続して、「/product/index.html」というパス名で特定されるコンテンツ（ＨＴＭＬファイル）を取得することを示す。検知部２０１は、ＵＲＬで指定されるウェブサーバに接続するために、ブラウザ５０が外部通信ＡＰＩを呼び出したことを検知する。外部通信ＡＰＩは、携帯電話機１０の外部の装置との通信をするためのＡＰＩである。あるいは、検知部２０１は、コンテンツへのリンクがクリックされたことを、取得要求として検知してもよい。
【００３２】
判定部２０２は、検知部２０１が検知した取得要求に対するコンテンツを取得できたかどうかの判定をする。判定部２０２は、取得要求に対する、ウェブサーバからの回答を用いてこの判定をする。コンテンツを取得できた場合、ウェブサーバからの回答はそのコンテンツを含んでいる。したがって、コンテンツを取得できない場合とは、ウェブサーバからの回答に正しいコンテンツが含まれない場合をいう。ウェブサーバからコンテンツを取得する処理には、（１）ホスト名からＩＰアドレスを特定する（ＤＮＳ（Domain Name Server）による名前解決）、（２）ＩＰアドレスを用いてウェブサーバに接続する、（３）パス名を用いてコンテンツを要求する、（４）ウェブサーバがコンテンツを送信する、という４つの段階がある。「コンテンツを取得できない場合」には、具体的には、上記４つの段階に対応した、（１）ホスト名からＩＰアドレスの変換に失敗、（２）接続失敗、（３）コンテンツを取得できない、（４）標準機からのアクセスのみ許容される旨がコンテンツに記載されている、の４つの例がある。例（１）〜（３）では、仮想マシン４１はエラーメッセージを取得する。この場合、判定部２０２は、取得したエラーメッセージから、コンテンツを取得できなかったと判定する。また、例（４）では、見かけ上コンテンツを取得できているが、コンテンツの内容としてエラーを含んでいる。判定部２０２は、取得したコンテンツの内容を検査し、エラーが含まれていた場合には、コンテンツを取得できなかったと判定する。
【００３３】
判定部２０５は、検知部２０１が検知した取得要求で要求されているコンテンツを、仮想マシン４１が取得できるかどうか（コンテンツ取得の可否）の判定をする。換言すると、判定部２０５は、要求されているコンテンツが仮想マシン４２で取得すべきものであるかを判定する。判定部２０５は、ウェブサーバからの回答ではなく、検知部２０１が検知した取得要求を用いてこの判定をする。すなわち、判定部２０２は、仮想マシン４１がコンテンツを実際に取得できたかを判定し、判定部２０５は、仮想マシン４１がコンテンツを取得できるか予測する。この例で、判定部２０５は、取得要求に含まれるＵＲＬが所定のパターンの文字列を含むか、または、過去にコンテンツの取得に失敗したＵＲＬの履歴に一致する、という２つの基準を用いてコンテンツ取得の可否を判定する。
【００３４】
図４は、判定部２０５で用いられるパターン情報を例示する図である。パターン情報とは、文字列のパターンを示す情報をいう。パターン情報は、記憶部１００に記憶されている。パターン情報は、携帯サイトのＵＲＬに含まれることが多いことが知られている文字列、例えば、「imode」、「.mobi」、「mobile.」、「/i/」、「/m/」および「/mobile/」を含むリストである。判定部２０５は、取得要求に含まれるＵＲＬの全部または所定の一部がパターン情報に含まれる文字列と一致するか、すなわち、取得要求に含まれるＵＲＬが、パターン情報に含まれる文字列のいずれかを含むか検査する。取得要求に含まれるＵＲＬがこれらの文字列のいずれかを含むことが検知された場合、判定部２０５は、検知部２０１が検知した取得要求に対するコンテンツを取得できないと判定する。
【００３５】
図５は、判定部２０５で用いられる履歴情報を例示する図である。履歴情報とは、過去の所定期間、所定回数または過去すべてのアクセスにおいて、仮想マシン４１においてコンテンツを取得できなかったＵＲＬ、または仮想マシン４２においてコンテンツを取得できたＵＲＬの一部または全部を示す情報をいう。図５の例では、スキームおよびホスト名が履歴として用いられる。履歴情報は、記憶部１００に記憶されている。判定部２０５は、取得要求に含まれるＵＲＬが、履歴情報に含まれる履歴（文字列）のいずれかを含むか検査する。取得要求に含まれるＵＲＬがこれらの履歴のいずれかを含むことが検知された場合、判定部２０５は、検知部２０１が検知した取得要求に対するコンテンツを取得できないと判定する。
【００３６】
再び図３を参照する。要求部２０３は、コンテンツを取得できなかったと判定部２０２が判定した場合、または、コンテンツを取得できないと判定部２０５が判定した場合に、仮想マシン４２に対してコンテンツを取得するよう要求をする。ＶＭＭ４０は、仮想マシン４１と仮想マシン４２との間での通信を行うためのソフトウェアモジュール（以下「ＶＭ（Virtual Machine）間通信機構」という）を有しており、これを用いて仮想マシン４１から仮想マシン４２に要求が送られる。この要求は、コンテンツの取得に用いられる情報、例えばコンテンツのＵＲＬを含む。なお、ＶＭ間通信機構は、ＶＭＭ４０とは別のソフトウェアモジュールであってもよい。
【００３７】
仮想マシン４１からの要求を受けると、仮想マシン４２の取得部２０４は、通信装置３４およびインターネットを介して、コンテンツを送信するようウェブサーバに対に要求する。取得部２０４は、コンテンツの要求に対する応答をウェブサーバから取得する。
【００３８】
送信部２０６は、取得部２０４におけるコンテンツの取得の結果を、仮想マシン４１に送信する。結果は、ＶＭ間通信機構を用いて仮想マシン４２から仮想マシン４１に送信される。ここでいう「結果」は、少なくとも、要求が成功した（すなわちコンテンツを取得できた）かあるいは失敗したかを示す情報を含む。また、この結果は、仮想マシン４１におけるコンテンツの取得要求を特定する情報を含む。さらに、この結果は、判定部２０２で説明した４つのエラーのうちいずれに該当するかという情報を含んでもよい。
【００３９】
受信部２１２は、仮想マシン４２から送信される情報を受信する。更新部２０７は、受信部２１２が仮想マシン４２からコンテンツ取得の結果を受信すると、受信した結果に応じて、記憶部１００に記憶されている履歴情報を更新する。仮想マシン４２から受信した結果が、コンテンツを取得できたことを示すものであった場合、更新部２０７は、受信した結果に係る取得要求から履歴として保存する情報（この例ではスキームおよびホスト名）を履歴情報に追加する。
【００４０】
２−２．動作
図６は、仮想マシン４１におけるコンテンツの取得可否の判定処理を示すフローチャートである。検知部２０１が取得要求を検知すると、図６のフローが実行される。ステップＳ１０１において、判定部２０５は、記憶部１００からパターン情報を読み出す。ステップＳ１０２において、判定部２０５は、取得要求に含まれるＵＲＬが、パターン情報に含まれる文字列を含むか判定する。ＵＲＬの所定の一部または全部が、パターン情報の文字列と一致したと判定された場合（Ｓ１０２：ＹＥＳ）、判定部２０５は、処理をステップＳ１０７に移行する。ＵＲＬがパターン情報の文字列を含まないと判定された場合（Ｓ１０２：ＮＯ）、判定部２０５は、処理をステップＳ１０３に移行する。
【００４１】
ステップＳ１０３において、判定部２０５は、記憶部１００から履歴情報を読み出す。ステップＳ１０４において、判定部２０５は、取得要求に含まれるＵＲＬが、履歴情報に含まれる文字列を含むか判定する。ＵＲＬの所定の一部または全部が、履歴情報の文字列と一致したと判定された場合（Ｓ１０４：ＹＥＳ）、判定部２０５は、処理をステップＳ１０７に移行する。ＵＲＬが履歴情報の文字列を含まないと判定された場合（Ｓ１０４：ＮＯ）、判定部２０５は、処理をステップＳ１０５に移行する。ステップＳ１０１−Ｓ１０４の処理は、ウェブサーバに対してコンテンツの送信の要求が、携帯電話機１０から外部の装置に送信される前に実行される。
【００４２】
ステップＳ１０５において、外部通信ＡＰＩは、コンテンツの取得を試みる。すなわち、通信装置３４およびインターネットを介して、コンテンツを送信するようウェブサーバに要求する。外部通信ＡＰＩは、この要求に対する応答を受信する。
【００４３】
ステップＳ１０６において、判定部２０２は、コンテンツが取得できたか判定する。コンテンツが取得できなかったと判定された場合（Ｓ１０６：ＮＯ）、判定部２０２は、処理をステップＳ１０７に移行する。コンテンツが取得できたと判定された場合（Ｓ１０６：ＹＥＳ）、判定部２０２は、取得要求の判定処理を終了する。
【００４４】
ステップＳ１０７において、要求部２０３は、仮想マシン４２に対し、コンテンツの取得の要求をする。この要求は、コンテンツのＵＲＬを含んでいる。この要求をすると、要求部２０３は、コンテンツの取得可否の判定処理を終了する。
【００４５】
要求部２０３において、コンテンツの取得の要求を送信する装置は以下のように特定される。要求部２０３は、送信先の装置の識別子をあらかじめ記憶している。要求部２０３は、記憶している識別子により特定される装置に、コンテンツの取得の要求を送信する。この識別子としては、例えば、ＶＭＭ４０により付与されるＩＤが用いられる。この場合、ＶＭＭ４０は、各仮想マシンにＩＤを与え、そのＩＤのリストを記憶している。あるいは、送信先の装置の識別子としてＩＰアドレスが用いられてもよい。仮想マシン４１および仮想マシン４２がＴＣＰ／ＩＰに従った通信インターフェースを有していれば、仮想マシン４１および仮想マシン４２にはＩＰアドレスが付与されるので、これを識別子として用いることができる。
【００４６】
図７は、仮想マシン４２におけるコンテンツの取得処理を示すフローチャートである。仮想マシン４１からコンテンツの取得の要求を受信すると、取得部２０４は、通信装置３４およびインターネットを介して、コンテンツを送信するようウェブサーバに要求する（ステップＳ２０１）。取得部２０４は、この要求に対する応答を受信する。この応答は、コンテンツの取得が許可された場合はコンテンツを含み、それ以外の場合は判定部２０２において説明した４つのエラーのいずれかを示すエラーメッセージや、接続タイムアウトなどのエラーメッセージを含んでいる。
【００４７】
ステップＳ２０２において、取得部２０４は、コンテンツの取得要求の結果を特定する。取得部２０４は、コンテンツを取得できた場合は結果が成功だったと特定し、コンテンツを取得できなかった場合は結果が失敗だったと特定する。ステップＳ２０３において、送信部２０６は、特定した結果を、コンテンツ取得の要求元である仮想マシン４１に送信する。結果の送信には、ＶＭ間通信が用いられる。結果を送信すると、送信部２０６は、コンテンツの取得処理を終了する。
【００４８】
図８は、仮想マシン４１における履歴情報の更新処理を示すフローチャートである。仮想マシン４２からコンテンツの取得の結果を受信すると、更新部２０７は、コンテンツを取得できたか判定する（ステップＳ３０１）。コンテンツを取得できたと判定された場合（Ｓ３０１：ＹＥＳ）、更新部２０７は、処理をステップＳ３０２に移行する。コンテンツを取得できなかったと判定された場合（Ｓ３０１：ＮＯ）、更新部２０７は、処理をステップＳ３０３に移行する。
【００４９】
ステップＳ３０２において、更新部２０７は、記憶部１００に記憶されている履歴情報を更新する。具体的には、更新部２０７は、取得できたコンテンツのＵＲＬから履歴として記憶する情報（この例ではスキームおよびホスト名）を抽出し、抽出した情報を履歴情報に追加する。履歴情報を更新すると、更新部２０７は、履歴情報の更新処理を終了する。
【００５０】
ステップＳ３０３において、更新部２０７は、仮想マシン４１においてコンテンツの取得を実行する前であるか判定する。仮想マシン４１は、処理対象となっている取得要求について、その取得要求が外部装置に送信済みであるか送信前であるかを示すフラグを記憶している。更新部２０７は、このフラグを参照してコンテンツの取得を実行する前であるか判定する。コンテンツの取得を実行する前であると判定された場合（Ｓ３０３：ＹＥＳ）、更新部２０７は、処理をステップＳ３０４に移行する。コンテンツの取得を実行した後であると判定された場合（Ｓ３０３：ＮＯ）、更新部２０７は、図８のフローを終了する。
【００５１】
ステップＳ３０４において、取得部２０４は、通信装置３４およびインターネットを介して、コンテンツを送信するようウェブサーバに要求する。取得部２０４は、この要求に対する応答を受信する。この応答により、要求されたコンテンツを取得できた場合、そのコンテンツをブラウザ５０に渡す。コンテンツを取得できなかった場合、取得部２０４は、コンテンツを取得できなかった旨をブラウザ５０に通知する。
【００５２】
以上で説明したように、本実施形態によれば、仮想マシン４１でコンテンツを取得できなかった場合または、仮想マシン４１でコンテンツを取得できないと予想される場合、仮想マシン４１は、仮想マシン４２にコンテンツの取得を要求する（すなわち、コンテンツの取得を依頼する）。仮想マシン４２は、仮想マシン４１からの要求に応じてコンテンツを取得する。これにより、携帯電話機１０のユーザはサイトのアクセス制限によらず、仮想マシン４１に対して操作入力を行うことによりコンテンツを取得できる。本実施形態の構成を有しない場合と比較して、操作性が向上する。また、コンテンツを取得できなかったと判定部２０２が判定した場合にのみ、要求部２０３がコンテンツの取得を仮想マシン４２に要求する構成であると、コンテンツの取得の要求がタイムアウトするまで次の処理が行えない場合がある。しかし、この場合でも、コンテンツの取得要求を実施する前に、判定部２０５により、取得要求に基づいてコンテンツの取得の可否が判断される。これにより、タイムアウトを待たなくても次の処理が実行できる。また、コンテンツの要求が携帯電話機１０の外部に送信される前にコンテンツの取得の可否が判定され、仮想マシン４１からコンテンツの取得の要求が行われず、仮想マシン４２からコンテンツの取得の要求が行われる場合には、本実施形態の構成を有しない場合と比較してネットワーク上を流れるパケットの数（通信量）が抑制される。
【００５３】
本実施形態で説明した機能の実装は、例えば以下のように行われる。仮想マシン４１において、外部通信ＡＰＩを提供するミドルウェアが従来のものから改変されている。このミドルウェアは、外部通信ＡＰＩと、新たに導入された、仮想的な外部通信ＡＰＩ、第１判定ＡＰＩ、第２判定ＡＰＩ、要求ＡＰＩとを有している。以下この仮想的な外部通信ＡＰＩを、「仮想ＡＰＩ」という。外部通信ＡＰＩは従来からある外部通信ＡＰＩである。仮想ＡＰＩは、ブラウザ５０が外部通信ＡＰＩを呼び出したときに、外部通信ＡＰＩよりも先に仮想ＡＰＩが呼び出されるように構成されている。仮想ＡＰＩは、本実施形態に係る機能を実現または呼び出すためのＡＰＩである。第１判定ＡＰＩは、判定部２０２に相当する機能を提供するＡＰＩである。第２判定ＡＰＩは、判定部２０５に相当する機能を提供するＡＰＩである。要求ＡＰＩは、要求部２０３に相当する機能を提供するＡＰＩである。以下、図６のフローを例に、動作の詳細を説明する。
【００５４】
まず、コンテンツの取得をするために、ブラウザ５０が外部通信ＡＰＩを呼び出す。ブラウザ５０が外部通信ＡＰＩを呼び出すと、外部通信ＡＰＩではなく、仮想ＡＰＩが呼び出される。ブラウザ５０から呼び出されると、仮想ＡＰＩは、第２判定ＡＰＩを呼び出す。すなわち、この例では仮想ＡＰＩが検知部２０１として機能している。第２判定ＡＰＩは、図６のステップＳ１０１−Ｓ１０４の処理を行う。第２判定ＡＰＩは、取得要求がパターン情報または履歴情報に一致した場合、要求ＡＰＩを呼び出す。どちらにも一致しなかった場合、第２判定ＡＰＩは、処理を仮想ＡＰＩに戻す。仮想ＡＰＩは、外部通信ＡＰＩを呼び出す。
【００５５】
外部通信ＡＰＩは、ＤＮＳによる名前解決、サーバへの接続、コンテンツの取得等の処理を行う（ステップＳ１０５）。外部通信ＡＰＩは、コンテンツを取得できた場合はそのコンテンツを、コンテンツを取得できなかった場合はエラーメッセージを、結果として仮想ＡＰＩに渡す。仮想ＡＰＩは、外部通信ＡＰＩから受け取った結果を判定するために第１判定ＡＰＩを呼び出す。第１判定ＡＰＩは、結果がコンテンツを含む場合には、標準機からのアクセスのみ許容される旨がコンテンツに記載されているか、コンテンツを検査する。標準機からのアクセスのみ許容される旨がコンテンツに記載されていた場合、または、外部通信ＡＰＩからエラーメッセージを含む結果を受け取った場合、第１判定ＡＰＩは、要求ＡＰＩを呼び出す。結果がコンテンツを含み、かつ、標準機からのアクセスのみ許容される旨がコンテンツに記載されていなかった場合、第１判定ＡＰＩは、エラーが無い旨を仮想ＡＰＩに回答する。エラーが無い旨の回答を受けると、仮想ＡＰＩは、外部通信ＡＰＩを呼び出した結果として、取得したコンテンツを設定する。
【００５６】
要求ＡＰＩは、コンテンツの取得を仮想マシン４２に要求する（ステップＳ１０７）。要求ＡＰＩは、仮想マシン４２に要求をした旨を仮想ＡＰＩに回答する。要求ＡＰＩからの回答を受けると、仮想ＡＰＩは、結果をエラーに設定する。
【００５７】
仮想ＡＰＩは、設定された結果をブラウザ５０に渡す。ブラウザ５０は、取得した結果（コンテンツまたはエラー）に応じた画面を表示する。
【００５８】
３．第２実施形態
３−１．構成
図９は、第２実施形態に係る携帯電話機１０の機能構成を示す図である。以下、第１実施形態と共通する要素については共通の参照符号を用い、その説明を省略する。第２実施形態において、携帯電話機１０は、記憶部１０１を有する。記憶部１０１は、仮想マシン４２専用の記憶領域である。記憶部１０１は、仮想マシン４２における履歴情報を記憶する。仮想マシン４２における履歴情報とは、仮想マシン４２が取得することができたコンテンツのＵＲＬの履歴（成功した取得要求の履歴）を示す情報である。仮想マシン４２のブラウザ６０は、仮想マシン４１から要求を受けた場合に加え、ユーザが仮想マシン４２のブラウザ６０を操作している場合に、ウェブサーバからコンテンツの取得を試みる。仮想マシン４２における履歴情報は、これら２つの場合による履歴を含む。本実施形態において、コンテンツを取得できるか否かは、仮想マシン４１における履歴情報に加え、仮想マシン４２における履歴情報を用いて判定される。
【００５９】
仮想マシン４１の判定部２０５は、検知部２０１によって検知された取得要求について、コンテンツ取得の可否を判定するように仮想マシン４２に依頼する。
【００６０】
仮想マシン４２の判定部２０８は、仮想マシン４１からの依頼を受けて、仮想マシン４２においてコンテンツを取得すべきであるか、すなわち、仮想マシン４２におけるコンテンツ取得の可否を判定する。この判定には、記憶部１０１に記憶されている履歴情報が用いられる。取得部２０４は、仮想マシン４１からコンテンツの取得要求を受けた場合に加え、判定部２０８の判定結果に応じて、コンテンツを送信するようウェブサーバに要求する。
【００６１】
３−２．動作
図１０は、第２実施形態に係る取得要求の判定処理を示すフローチャートである。ステップＳ１０１−Ｓ１０３の処理は、第１実施形態で説明したとおりである。ステップＳ１０４において、判定部２０５は、取得要求に含まれるＵＲＬが履歴情報に一致するか判定する。ＵＲＬが、履歴情報に一致すると判定された場合（Ｓ１０４：ＹＥＳ）、判定部２０５は、処理をステップＳ１０７に移行する。ＵＲＬが履歴情報に一致しないと判定された場合（Ｓ１０４：ＮＯ）、判定部２０５は、処理をステップＳ１０８に移行する。
【００６２】
ステップＳ１０８において、判定部２０５は、仮想マシン４２に対してコンテンツの取得の可否を判定するように依頼（要求）をする。この依頼は、取得しようとするコンテンツのＵＲＬを含む。この依頼をすると、判定部２０５は図１０のフローを終了する。
【００６３】
図１１は、仮想マシン４２が判定の依頼を受信したときの処理を示すフローチャートである。仮想マシン４１からコンテンツの取得の可否の判定を依頼されると、図１１のフローが実行される。ステップＳ４０１において、判定部２０８は、記憶部１０１から履歴情報を読み出す。ステップＳ４０２において、判定部２０８は、仮想マシン４１においてコンテンツを取得可能であるか、具体的には、仮想マシン４１からの要求に含まれるＵＲＬが、記憶部１０１から読み出した履歴情報に含まれる履歴を含むか判定する（ステップＳ４０２）。仮想マシン４１においてコンテンツを取得可能であると判定された場合（Ｓ４０２：ＹＥＳ）、判定部２０８は、処理をステップＳ４０３に移行する。仮想マシン４１においてコンテンツを取得可能でないと判定された場合（Ｓ４０２：ＮＯ）、判定部２０８は、送信部２０６を介してその旨を仮想マシン４１に回答する。
【００６４】
ステップＳ４０３において、判定部２０８は、取得部２０４にコンテンツの取得を要求する。コンテンツの取得を要求すると、判定部２０８は、図１１のフローを終了する。
【００６５】
図１２は、仮想マシン４１におけるコンテンツ取得処理を示す図である。からコンテンツを取得可能でない旨の回答を仮想マシン４２から受けると、外部通信ＡＰＩは、コンテンツの取得を試みる（ステップＳ５０１）。すなわち、外部通信ＡＰＩは、通信装置３４を介して、コンテンツを送信するようウェブサーバに要求する。外部通信ＡＰＩは、この要求に対する応答を受信する。ステップＳ５０２において、判定部２０２は、コンテンツが取得できたか判定する。コンテンツが取得できなかったと判定された場合（Ｓ５０２：ＮＯ）、判定部２０２は、処理をステップＳ５０３に移行する。コンテンツが取得できたと判定された場合（Ｓ５０２：ＹＥＳ）、判定部２０２は、取得要求の判定処理を終了する。
【００６６】
ステップＳ５０３において、要求部２０３は、仮想マシン４２に対し、コンテンツの取得の要求をする。この要求をすると、要求部２０３は、コンテンツの取得処理を終了する。ステップＳ５０１−Ｓ５０３の処理は、第１実施形態のステップＳ１０５−Ｓ１０７の処理に相当する。ステップＳ１０７、Ｓ４０３またはＳ５０３においてコンテンツの取得を要求されると、取得部２０４は、図７のフローに従ってコンテンツの取得を試みる。
【００６７】
仮想マシン４１においては仮想マシン４２でコンテンツを取得すべきであると判定できなくても、仮想マシン４２において、仮想マシン４２でコンテンツを取得できると判定できる場合がある。本実施形態によれば、本実施形態の構成を有しない場合と比較して、仮想マシン４２におけるコンテンツ取得の可否をより確実に判定することができる。
【００６８】
４．第３実施形態
４−１．構成
図１３は、第３実施形態に係る携帯電話機１０の機能構成を示す図である。第３実施形態において、携帯電話機１０は、第１のコンテンツを取得したときに、第１のコンテンツに含まれる所在情報（第２のコンテンツのＵＲＬ）を含む文字列（ＨＴＭＬタグ）を抽出する。携帯電話機１０は、抽出した文字列を用いて、第２のコンテンツの取得可否を判定する。この処理は、第１のコンテンツを取得したときに行われ、第２のコンテンツの取得要求があったか否かにかかわらず行われる。以下、第１実施形態と共通する要素については共通の参照符号を用い、その説明を省略する。
【００６９】
仮想マシン４１の抽出部２０９は、ブラウザ５０が取得したコンテンツ（第１のコンテンツ）から、第２のコンテンツのＵＲＬを含む文字列を抽出する。いま、コンテンツがＨＴＭＬファイルを含むウェブコンテンツである場合を例に説明する。ＨＴＭＬファイルは、多くの場合、別のウェブコンテンツへのリンクを示すＨＴＭＬタグを含む。このリンクは、別のウェブコンテンツのＵＲＬを含む。ユーザがブラウザ５０上で別のウェブコンテンツのリンクを選択すると、ブラウザ５０は、選択されたリンクに含まれるＵＲＬを用いてコンテンツの取得要求を生成する。さらに、ブラウザ５０は、生成した取得要求を用いてコンテンツを取得する。抽出部２０９は、ウェブコンテンツが取得されると、そのウェブコンテンツに含まれるリンクが選択されたか否かにかかわらず、リンクのＵＲＬを含む文字列を抽出する。すなわち、リンクが選択される前にＵＲＬを抽出することが可能である。ウェブコンテンツに複数のリンクが含まれる場合、抽出部２０９は、複数組の文字列を抽出する。
【００７０】
この例で、抽出部２０９は、ＨＴＭＬファイルから、ＵＲＬを含む１区切りの文字列を抽出する。「１区切りの文字列」とは、ここでは１つのＨＴＭＬタグをいう。例えば、ＨＴＭＬファイルが「<a href="http://www.aaaaaa.co.jp/mn.main">」というＨＴＭＬタグを含んでいた場合、抽出部２０９は、「<a href="http://www.aaaaaa.co.jp/mn.main">」という文字列を抽出する。別の例で、ＨＴＭＬファイルが「<a href="http://www.aaaaaa.co.jp/mn.main" accesskey="1">」というＨＴＭＬタグを含んでいた場合、抽出部２０９は、「<a href="http://www.aaaaaa.co.jp/mn.main" accesskey="1">」という文字列を抽出する。
【００７１】
判定部２０５は、抽出部２０９が抽出したＵＲＬについて、仮想マシン４２におけるコンテンツの取得の可否の判定をする。この判定は、第１実施形態における取得要求の判定と同様に行われる。抽出部２０９が複数のＵＲＬを抽出した場合、処理の対象となるＵＲＬが所定のルールに従って１つずつ順番に特定され、対象となるＵＲＬについて判定が行われる。判定部２０５は、仮想マシン４２において取得されるべきコンテンツの取得要求を特定する情報、すなわち、仮想マシン４２において取得されるべきと判定されたコンテンツのＵＲＬをキャッシュに一時的に記憶する。検知部２０１によりコンテンツの取得要求が検知されると、判定部２０５は、記憶部１００のパターン情報および履歴情報を参照せず、キャッシュを参照して仮想マシン４２におけるコンテンツの取得の可否の判定をする。仮想マシン４２において取得されるべきと判定されたＵＲＬが複数存在する場合、判定部２０５は、複数のＵＲＬをキャッシュに記憶される。キャッシュは、メモリ２１において仮想マシン４１の内部に設けられるので、仮想マシン４１の外部に設けられる場合と比較して判定部２０５が高速に参照することが可能である。
【００７２】
取得部２１０は、判定部２０５において仮想マシン４２によりコンテンツを取得すべきであると判定されなかった場合に、通信装置３４を介してコンテンツを送信するようウェブサーバに要求する。
【００７３】
本実施形態において、情報処理装置１０は、通信装置３４を介して外部装置と通信する通信機能をオフにする動作モード（以下「セルフモード」という）を有する。セルフモードは、例えば、消費電力を抑制する目的で使用される。情報処理装置１０の動作モードがセルフモードである場合、仮想マシン４２にコンテンツの取得を要求しても、コンテンツを取得することはできない。すなわち、要求が無駄になってしまう。また、電力を余計に消費してしまう場合もあり、セルフモードの利点が薄れてしまう。したがって、本実施形態において、要求部２０３は、情報処理装置１０の動作モードがセルフモードにある場合には、仮想マシン４２に対してコンテンツの取得の要求をしない。
【００７４】
要求部２０３は、例えば、仮想マシン４２に対し動作モードの問い合わせを行うことにより、情報処理装置１０の動作モードを示す情報を取得する。あるいは、仮想マシン４２が、動作モードを変更するたびに、その時点での動作モードを示す情報を仮想マシン４１に送信してもよい。あるいは、ＶＭＭ４０など、仮想マシン４１および仮想マシン４２以外のソフトウェアモジュールが情報処理装置１０の動作モードを監視し、仮想マシン４１は、このソフトウェアモジュールから情報処理装置１０の動作モードを示す情報を取得してもよい。
【００７５】
表示部２１１は、取得部２０４が取得したコンテンツに従った画像をディスプレイ３２に表示する。取得部２０４（仮想マシン４１）がコンテンツを取得したということは、仮想マシン４１がアクティブになり、ブラウザ６０の画面がディスプレイ３２に表示される必要がある。表示部２１１は、コンテンツが取得できた場合、仮想マシン４２をアクティブにし、ブラウザ６０の画面がディスプレイ３２に表示されるように制御をする。
【００７６】
４−２．動作
図１４は、仮想マシン４１が第１のコンテンツを取得したときの処理を示すフローチャートである。仮想マシン４１が通信装置３４を介してコンテンツを取得すると、図１４のフローが実行される。
【００７７】
ステップＳ６０１において、判定部２０５は、抽出部２０９が抽出した文字列に仮想マシン４２で用いられる制御情報が含まれているか判定する。「仮想マシン４２で用いられる制御情報」とは、仮想マシン４２の独自の機能を制御するための情報をいう。例えば、「<a href="http://www.aaaaaa.co.jp/mn.main" accesskey="1">」というＨＴＭＬタグにおいて、「accesskey="1"」の部分は、キーパッド３１のうち「１」キーが押されると、このリンクを選択する機能を提供するための文字列（情報）であり、仮想マシン４２に独自のものである。仮想マシン４１は、仮想マシン４２の独自機能に関する文字列の一覧を記憶部１０１に記憶しており、判定部２０５は、この一覧を参照して、文字列に仮想マシン４２で用いられる制御情報が含まれているか判定する。あるいは、判定部２０５は、ブラウザ５０にこの文字列の解釈をさせ、ブラウザ５０が解釈できなかった場合、文字列に仮想マシン４２で用いられる制御情報が含まれていると判定してもよい。仮想マシン４２で用いられる制御情報が含まれていると判定された場合（Ｓ６０１：ＹＥＳ）、判定部２０５は、処理をステップＳ６０２に移行する。仮想マシン４２で用いられる制御情報が含まれていないと判定された場合（Ｓ６０１：ＮＯ）、判定部２０５は、処理をステップＳ６０４に移行する。
【００７８】
ステップＳ６０２において、要求部２０３は、情報処理装置１０において通信が許可されているか、すなわち、情報処理装置１０の動作モードが非セルフモードであるか判定する。情報処理装置１０において通信が許可されていると判定された場合（Ｓ６０２：ＹＥＳ）、要求部２０３は、仮想マシン４２にコンテンツの取得を要求する（ステップＳ６０３）。情報処理装置１０において通信が許可されていないと判定された場合（Ｓ６０２：ＮＯ）、要求部２０３は図１４のフローを終了する。
【００７９】
ステップＳ６０４において、抽出部２０９は、取得したコンテンツから文字列を抽出する。ステップＳ６０５−Ｓ６０８において、判定部２０５は、第１実施形態のステップＳ１０１−Ｓ１０４と同様に、文字列とパターン情報および履歴情報との照合を行う。抽出された文字列がパターン情報または履歴情報と一致する部分を含んでいた場合（Ｓ６０６またはＳ６０８：ＹＥＳ）、判定部２０５は、処理をステップＳ６０９に移行する。抽出された文字列がパターン情報および履歴情報と一致する部分を含んでいなかった場合（Ｓ６０８：ＮＯ）、判定部２０５は、処理をステップＳ６１０に移行する。
【００８０】
ステップＳ６０９において、判定部２０５は、パターン情報または履歴情報と一致する部分を含んでいた文字列を、仮想マシン４２においてコンテンツを取得すべきリンクを特定する情報としてキャッシュに記憶する。ステップＳ６１０において、判定部２０５は、仮想マシン４２においてコンテンツを取得すべきであるか否かの判定結果を示す情報を、リンクを特定する情報とともにキャッシュに記憶する。
【００８１】
図１５は、仮想マシン４１において第２のコンテンツの取得が要求されたときの処理を示すフローチャートである。ステップＳ１０９において、判定部２０５は、取得を要求されているコンテンツ（第２のコンテンツ）が、第１のコンテンツに含まれるリンクを選択したことにより要求されたものであるか判定する。ブラウザ５０においては、リンクを選択することに加え、ＵＲＬを入力することによっても、第２のコンテンツの取得が可能である。ここでは、第１のコンテンツに含まれるリンクを選択した場合とそれ以外の場合とで処理を異ならせている。リンクを選択することによる要求であると判定された場合（Ｓ１０９：ＹＥＳ）、判定部２０５は、処理をステップＳ１１０に移行する。リンクを選択することによる要求でないと判定された場合（Ｓ１０９：ＮＯ）、判定部２０５は、処理をステップＳ１０１に移行する。
【００８２】
ステップＳ１１０において、判定部２０５は、キャッシュを参照して、そのリンクについて、仮想マシン４２においてコンテンツを取得すべきであるとの判定結果であるか判定する。仮想マシン４２においてコンテンツを取得すべきであるとの判定結果であると判定された場合（Ｓ１１０：ＹＥＳ）、判定部２０５は、処理をステップＳ１１１に移行する。仮想マシン４２においてコンテンツを取得すべきであるとの判定結果であると判定された場合（Ｓ１１０：ＮＯ）、判定部２０５は、処理をステップＳ１１１に移行する。
【００８３】
ステップＳ１１１において、判定部２０５は、キャッシュを参照して、そのリンクについて、仮想マシン４２においてコンテンツを取得すべきであるか否かを判定する。仮想マシン４２においてコンテンツを取得すべきであると判定された場合（Ｓ１１１：ＹＥＳ）、判定部２０５は、処理をステップＳ１１２に移行する。仮想マシン４２においてコンテンツを取得すべきであると判定されなかった場合（Ｓ１１１：ＮＯ）、判定部２０５は、処理をステップＳ１０１に移行する。
【００８４】
ステップＳ１０１−Ｓ１０５の処理は、第１実施形態で説明したものと同様である。ステップＳ１０６において、コンテンツが取得できなかったと判定された場合、判定部２０２は、処理をステップＳ１１２に移行する。
【００８５】
ステップＳ１１２において、要求部２０３は、情報処理装置１０において通信が許可されているか、すなわち、情報処理装置１０の動作モードが非セルフモードであるか判定する。情報処理装置１０において通信が許可されていると判定された場合（Ｓ１１２：ＹＥＳ）、要求部２０３は、処理をステップＳ１０７に移行する。情報処理装置１０において通信が許可されていないと判定された場合（Ｓ１１２：ＮＯ）、要求部２０３は、図１５のフローを終了する。
【００８６】
図１６は、仮想マシン４２におけるコンテンツ取得処理を示すフローチャートである。ステップＳ２０１−Ｓ２０２の処理は、第１実施形態で説明したものと同様である。ステップＳ２０２の処理が終了すると、取得部２０４は、処理をステップＳ２０４に移行する。
【００８７】
ステップＳ２０４において、取得部２０４は、コンテンツを取得できたか判定する。コンテンツを取得できたと判定された場合（Ｓ２０４：ＹＥＳ）、取得部２０４は、処理をステップＳ２０５に移行する。コンテンツを取得できなかったと判定された場合（Ｓ２０４：ＮＯ）、取得部２０４は、処理をステップＳ２０３に移行する。
【００８８】
ステップＳ２０５において、表示部２１１は、コンテンツに従った画面をディスプレイ３２に表示する。
【００８９】
以上で説明したように、本実施形態によれば、仮想マシン４２においてコンテンツを取得すべきであるか否かの判定は、コンテンツの取得要求がなくても行われる。コンテンツの取得要求に先立って判定が行われていた場合、判定の結果を確認すればよいので、本実施形態の構成を有しない場合と比較して、コンテンツの取得要求があってから仮想マシン４２にコンテンツの取得を要求するまでの時間を短縮できる。
【００９０】
５．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００９１】
第１実施形態に係る機能の具体的な実装方法は、実施形態で説明したものに限定されない。第１実施形態では、検知部２０１、判定部２０２、要求部２０３、判定部２０５に相当する新たなＡＰＩおよび外部通信ＡＰＩを含むミドルウェアを新たに導入する例を説明したが、これ以外の態様で上記の機能が実装されてもよい。例えば、外部通信ＡＰＩ自体を改良し、検知部２０１、判定部２０２、要求部２０３、判定部２０５としての機能またはこれらの機能を呼び出す機能を付加してもよい。あるいは、ブラウザ５０に、検知部２０１、判定部２０２、要求部２０３、判定部２０５としての機能またはこれらの機能を呼び出す機能を付加してもよい。さらにあるいは、ブラウザ５０以外のアプリケーションプログラムやＯＳ等に、検知部２０１、判定部２０２、要求部２０３、判定部２０５としての機能またはこれらの機能を呼び出す機能を持たせてもよい。要は、仮想マシン４１が全体として実施形態で説明した機能を実現できるのであれば、実装の形態はどのようなものであってもよい。仮想マシン４２や、第２実施形態、第３実施形態、その他の実施形態についても同様である。
【００９２】
第１〜第３実施形態において、仮想マシン４１は、判定部２０２および判定部２０５のうちどちらか一方を有していなくてもよい。例えば、判定部２０２を有さない場合、図６のステップＳ１０６の処理が省略される。要は、要求部２０３は、コンテンツを取得できないと予測された場合、または、コンテンツを取得できなかった場合に、仮想マシン４２に対してコンテンツの取得を要求するものであればよい。
【００９３】
第１〜第３実施形態において、記憶部１００は、パターン情報および履歴情報のうちどちらか一方を有していなくてもよい。例えば、記憶部１００がパターン情報を有しない場合、図６のステップＳ１０１およびＳ１０２の処理が省略される。記憶部１００が履歴情報を有しない場合についても同様である。
【００９４】
第１〜第３実施形態において、送信部２０６は、取得部２０４でコンテンツを取得できたことを示す結果を送信する機能を有していなくてもよい。この場合、仮想マシン４１は、更新部２０７を有していなくてもよい。
【００９５】
第１実施形態において、更新部２０７は、仮想マシン４２によりコンテンツの取得の結果ではなく、仮想マシン４１によるコンテンツの取得の結果に応じて記憶部１００に記憶された履歴情報の更新を行ってもよい。この場合、仮想マシン４１においてコンテンツの取得（ステップＳ３０４）ができなかったときに、更新２０７は履歴情報の更新をする。
【００９６】
第２実施形態において、仮想マシン４１は、判定部２０２および判定部２０５を有していなくてもよい。すなわち、仮想マシン４２でコンテンツを取得すべきであるかの判定（仮想マシン４１でコンテンツを取得できるかの判定）は仮想マシン４２のみで行い、仮想マシン４１がその結果に応じて、仮想マシン４２に対してコンテンツの取得の要求を行ってもよい。
【００９７】
第３実施形態において、仮想マシン４２は、表示部２１１を有していなくてもよい。
あるいは、第１および第２実施形態の仮想マシン４２が、表示部２１１を有していてもよい。
【００９８】
第３実施形態において、仮想マシン４２独自の制御情報に応じた処理の分岐は行われなくてもよい。すなわち、図１４のステップＳ６０１の処理は省略されてもよい。あるいは、ＨＴＭＬタグが制御情報を含むかの判定は、パターン情報を用いた判定（図１５のステップＳ１０１およびＳ１０２）の一部として行われてもよい。この場合、パターン情報は、仮想マシン４２独自の制御情報を示す文字列を含む。あるいは、第１実施形態または第２実施形態の携帯電話機１０において、仮想マシン４２独自の制御情報がＨＴＭＬタグにあった場合に、仮想マシン４２にコンテンツの取得を要求してもよい。
【００９９】
第３実施形態において、仮想マシン４２は、動作モードとしてセルフモードを有していなくてもよい。あるいは、第１および第２実施形態の仮想マシン４２が、動作モードとしてセルフモードを有していてもよい。この場合、図１５のステップＳ１１２と同様の処理が行われてもよい。
【０１００】
ソフトウェアまたはソフトウェアモジュール間の機能の分担は、実施形態で説明したものに限定されない。仮想マシン４１または仮想マシン４２が全体として、実施形態で説明した機能を実現できるのであれば、個々のソフトウェアモジュールの機能の分担はどのようなものであってもよい。例えば、第３実施形態において、ＨＴＭＬタグが仮想マシン４２独自の制御情報を含むかの判定は、判定部２０５が行う例を説明した。しかし、この判定は、判定部２０５以外の別のソフトウェアモジュールにより行われてもよい。また、別の例で、第３実施形態において、ブラウザ６０が取得部２０４および送信部２０６を有している例を説明した。しかし、ブラウザ６０以外の別のアプリケーションが、取得部２０４および送信部２０６の少なくともいずれか一方を有し、ブラウザ６０と連携して動作してもよい。さらに別の例で、第１実施形態において、ブラウザ５０以外の別のアプリケーションプログラムが検知部２０１、判定部２０２、要求部２０３、判定部２０５および更新部２０７を有している例を説明した。しかし、ブラウザ５０が、これらの機能の少なくとも１つを有し、このアプリケーションプログラムと連携して動作してもよい。また、検知部２０１、判定部２０２、要求部２０３、判定部２０５および更新部２０７はそれぞれ別のプログラムとして実装されてもよい。特に例示はしないが、他の実施形態や他の機能要素についても同様である。
【０１０１】
仮想マシン４１上および仮想マシン４２上でインターネットを介したデータ通信を行うアプリケーションはブラウザに限定されない。同様に、インターネットを介して取得されるデータはウェブコンテンツに限定されない。メーラ等の他のアプリケーションおよび電子メール等の他のデータが用いられてもよい。データが電子メールである場合、データの所在を示す情報は、メールサーバのアドレスまたはメールアドレスである。
【符号の説明】
【０１０２】
１０…携帯電話機、２０…ＣＰＵ、２１…メモリ、３０…記憶装置、３１…キーパッド、３２…ディスプレイ、３３…スピーカ、３４…通信装置、４０…ＶＭＭ、４１…仮想マシン、４２…仮想マシン、５０…ブラウザ、６０…ブラウザ、１００…記憶部、１０１…記憶部、２０１…検知部、２０２…判定部、２０３…要求部、２０４…取得部、２０５…判定部、２０６…送信部、２０７…更新部、２０８…判定部、２０９…抽出部、２１０…取得部、２１１…表示部、２１２…受信部
【図１】
2010231251.tif 000003
【図２】
2010231251.tif 000004
【図３】
2010231251.tif 000005
【図４】
2010231251.tif 000006
【図５】
2010231251.tif 000007
【図６】
2010231251.tif 000008
【図７】
2010231251.tif 000009
【図８】
2010231251.tif 000010
【図９】
2010231251.tif 000011
【図１０】
2010231251.tif 000012
【図１１】
2010231251.tif 000013
【図１２】
2010231251.tif 000014
【図１３】
2010231251.tif 000015
【図１４】
2010231251.tif 000016
【図１５】
2010231251.tif 000017
【図１６】
2010231251.tif 000018