(57)【要約】【課題】アプリケーションの実行環境が複数実現するコンピュータ装置において、実行環境間の通信を抑える。【解決手段】競合状態判定部２１Ｂは、競合状態保存部２１Ａに記憶されている判断結果情報の内容が「競合」である場合にはアプリケーションの連携を指示するメッセージ、連携先となるアプリケーションのファイル名を第２ＯＳ２２へ送信しない。また、競合状態判定部２１Ｂは、判断結果情報の内容が「非競合」である場合には、アプリケーションの連携を指示するメッセージ、連携先となるアプリケーションのファイル名を第２ＯＳ２２へ送信する。【選択図】図２
2010266955.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行する第１実行環境および第２実行環境とが実現し、
前記第１実行環境は、前記第１実行環境で実行された第１アプリケーションの連携先として指定された第２アプリケーションを示す特定情報を前記第２実行環境へ送信し、
前記第２実行環境は、前記第１実行環境から送信された特定情報で特定される第２アプリケーションが実行可能であるか否かを判断して該判断の結果を示す判断結果情報を送信し、
前記第１実行環境は、前記第２実行環境から送信された判断結果情報を記憶部に記憶し、
前記第１実行環境は、前記第１アプリケーションの連携先として第２アプリケーションが指定されると、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が不可であることを示している場合には、前記第２実行環境側へ前記第２アプリケーションへの連携を要求する要求メッセージを送信せず、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が可能であることを示している場合には、前記第２実行環境側へ前記要求メッセージを送信すること
を特徴とする情報処理装置。
【請求項２】
前記判断結果情報は、当該判断結果情報の保存期限を示す期限情報と共に記憶され、前記第１実行環境は、当該期間情報の示す保存期限が経過している場合、前記第２実行環境側へ前記要求メッセージを送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記期限情報は、連携先となる前記第２アプリケーションの種別により異なることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１実行環境と前記第２実行環境との間で、フォアグラウンドとなる実行環境が変化した場合、前記第１実行環境は前記判断結果情報を消去することを特徴とする請求項１乃至請求項３のいずれかに記載の情報処理装置。
【請求項５】
前記第１実行環境と前記第２実行環境との間で、フォアグラウンドとなる実行環境が変化した場合、前記第１実行環境は、前記判断結果情報と共に記憶された期限情報が示す保存期限を短縮することを特徴とする請求項２または請求項３に記載の情報処理装置。
【請求項６】
ユーザにより操作される操作部を有し、
前記第１実行環境は、前記操作部がユーザにより操作されると前記判断結果情報を消去すること
を特徴とする請求項１乃至請求項５のいずれかに記載の情報処理装置。
【請求項７】
ユーザにより操作される操作部を有し、
前記第１実行環境は、前記操作部がユーザにより操作されると前記判断結果情報と共に記憶された期限情報が示す保存期限を短縮すること
を特徴とする請求項２，３，５のいずれかに記載の情報処理装置。
【請求項８】
前記第１実行環境は、前記判断結果情報を前記記憶部に記憶した時刻から、連携先として前記第２アプリケーションが指定された時刻までの期間が予め定められた期間内であり、前記判断結果情報が第２アプリケーションの実行が可能であることを示している場合、予め定められた遅延時間が経過した後で前記特定情報を送信し、該特定情報を送信した後で受信した判断結果情報が第２アプリケーションの実行が可能であることを示している場合、前記要求メッセージを送信することを特徴とする請求項１乃至請求項５のいずれかに記載の情報処理装置。
【請求項９】
前記遅延時間は、連携先となる前記第２アプリケーションの種別により異なることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第１実行環境は、前記第１実行環境と前記第２実行環境との間で排他的に使用される資源について、該資源の使用状況が変化した場合、前記判断結果情報を消去することを特徴とする請求項１乃至請求項９のいずれかに記載の情報処理装置。
【請求項１１】
前記第１実行環境は、前記第１実行環境と前記第２実行環境との間で排他的に使用される資源について、該資源の使用状況が変化した場合、前記判断結果情報の期限情報が示す保存期限を短縮することを特徴とする請求項２，３，５，７のいずれかに記載の情報処理装置。
【請求項１２】
前記第２アプリケーションを複数記憶し、
前記第２実行環境は、前記第２アプリケーションについて、連携先として指定された回数を前記第２アプリケーション毎にカウントし、カウントした回数が予め定められた順位以内の第２アプリケーションについては、第２アプリケーションが実行可能であるか否か状態が変化した場合、前記判断結果情報を前記第１実行環境へ送信すること
を特徴とする請求項１乃至請求項１１のいずれかに記載の情報処理装置。
【請求項１３】
前記第２実行環境は、前記第２実行環境で実行された第２アプリケーションの連携先として指定された第１アプリケーションを示す特定情報と、連携元となる該第２アプリケーションを示す第２特定情報を前記第１実行環境へ送信し、
前記第１実行環境は、該第２特定情報を受信すると、該第２特定情報で特定される第２アプリケーションを実行可能と判断し、該判断結果が、記憶している該第２アプリケーションの判断結果情報の示す内容と異なる場合、前記判断結果情報を消去すること
を特徴とする請求項１乃至請求項１２のいずれかに記載の情報処理装置。
【請求項１４】
前記第２実行環境は、連携元の第１アプリケーションが実行されているか否か確認する確認要求メッセージを前記第１実行環境へ送信し、連携元の第１アプリケーションが実行されていないことを示す応答が前記第１実行環境から送信された場合、連携先の第２アプリケーションを終了すること
を特徴とする請求項１乃至請求項１３のいずれかに記載の情報処理装置。
【請求項１５】
前記第２実行環境は、前記判断結果情報を送信した場合、前記第１実行環境との通信経路を停止することを特徴とする請求項１乃至請求項１４のいずれかに記載の情報処理装置。
【請求項１６】
前記第１実行環境は、連携先として複数の第２アプリケーションの特定情報を前記第２実行環境へ送信し、
前記第２実行環境は、送信された特定情報で特定される第２アプリケーションが実行可能であるか否か各第２アプリケーションについて前記判断結果情報を送信し、
前記第１実行環境は、連携先とした第２アプリケーションについて、前記第２実行環境から送信された判断結果情報が第２アプリケーションの実行が不可であることを示している場合には、連携を無効とすること
を特徴とする請求項１乃至請求項１５のいずれかに記載の情報処理装置。
【請求項１７】
前記第１実行環境は、連携先で使用されるデータまたは該データを示すデータ特定情報を送信し、
前記第２実行環境は、当該データまたは当該データ特定情報で特定されるデータの分のリソースを確保すること
を特徴とする請求項１乃至請求項１６のいずれかに記載の情報処理装置。
【請求項１８】
前記第２実行環境は、前記リソースを確保した後で送信されたデータが、該リソースを確保した時に受信したデータと異なる場合、先に受信したデータを破棄することを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
アプリケーションを実行する第１実行環境および第２実行環境とが実現する情報処理装置の制御方法であって、
前記第１実行環境が、前記第１実行環境で実行された第１アプリケーションの連携先として指定された第２アプリケーションを示す特定情報を前記第２実行環境へ送信するステップと、
前記第２実行環境が、前記第１実行環境から送信された特定情報で特定される第２アプリケーションが実行可能であるか否かを判断して該判断の結果を示す判断結果情報を送信するステップと、
前記第１実行環境が、前記第２実行環境から送信された判断結果情報を記憶部に記憶するステップと、
前記第１実行環境が、前記第１アプリケーションの連携先として第２アプリケーションが指定されると、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が不可であることを示している場合には、前記第２実行環境側へ前記第２アプリケーションへの連携を要求する要求メッセージを送信せず、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が可能であることを示している場合には、前記第２実行環境側へ前記要求メッセージを送信するステップと
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置の資源の利用を制御する技術に関する。
【背景技術】
【０００２】
コンピュータ装置においてアプリケーションの実行環境として２つのＯＳ（Operating System）を実現させ、各ＯＳ上で異なるアプリケーションを実行する発明として、例えば特許文献１に開示された発明がある。この発明は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、デバイスなどコンピュータの資源を２つ備えており、第１のＣＰＵと第２のＣＰＵとで異なるＯＳが実現する。また、この発明は、各ＯＳからアクセス可能な共有メモリを有し、一方のＯＳで他方のＯＳの機能を利用した処理を行う場合、この処理の内容を共有メモリに書込み、他方のＯＳに割り込みを発生させる。そして、他方のＯＳは、共有メモリに書き込まれたコマンドを取り出し、コマンドに対応した処理を実行する。また、コマンドの処理結果を返す場合、処理を実行したＯＳ側が処理結果を共有メモリに書込み、コマンドを書き込んだＯＳに割り込みを発生させる。そして、コマンドを書き込んだＯＳ側は、共有メモリに書き込まれた処理結果を取り出す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３５１８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、コンピュータ装置においては、仮想化の技術を用いることにより、一つのＣＰＵ、ＲＯＭ、ＲＡＭおよびデバイスで、複数のＯＳを実現させることも可能となっており、この場合においても各ＯＳで別々にアプリケーションを実現させることができる。しかし、デバイスやリソースは特許文献１に開示されている発明のようにＯＳ毎には設けられていないため、例えば、第１のＯＳ側のアプリケーションと第２のＯＳ側のアプリケーションを連携させようとする場合、メモリの不足などによりアプリケーションを同時に実現できない場合や、同時に実現できても動作が不安定になる場合が生じえる。
この場合、連携元となるＯＳ側から連携先となるＯＳ側へ、アプリケーションを実現させることが可能か否か事前に問合わせる方法も考えられるが、連携が要求される度に問合わせが行われると、ＯＳ間での通信が頻繁に発生してＣＰＵへの負荷が大きくなり、ユーザの操作に対する反応への影響が大きくなる。
【０００５】
本発明は、上述した背景の下になされたものであり、アプリケーションの実行環境が複数実現するコンピュータ装置において、実行環境間の通信を抑えることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、アプリケーションを実行する第１実行環境および第２実行環境とが実現し、前記第１実行環境は、前記第１実行環境で実行された第１アプリケーションの連携先として指定された第２アプリケーションを示す特定情報を前記第２実行環境へ送信し、前記第２実行環境は、前記第１実行環境から送信された特定情報で特定される第２アプリケーションが実行可能であるか否かを判断して該判断の結果を示す判断結果情報を送信し、前記第１実行環境は、前記第２実行環境から送信された判断結果情報を記憶部に記憶し、前記第１実行環境は、前記第１アプリケーションの連携先として第２アプリケーションが指定されると、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が不可であることを示している場合には、前記第２実行環境側へ前記第２アプリケーションへの連携を要求する要求メッセージを送信せず、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が可能であることを示している場合には、前記第２実行環境側へ前記要求メッセージを送信することを特徴とする情報処理装置を提供する。
【０００７】
本発明においては、前記判断結果情報は、当該判断結果情報の保存期限を示す期限情報と共に記憶され、前記第１実行環境は、当該期間情報の示す保存期限が経過している場合、前記第２実行環境側へ前記要求メッセージを送信する構成であってもよい。
また、本発明においては、前記期限情報は、連携先となる前記第２アプリケーションの種別により異なる構成であってもよい。
【０００８】
また、本発明においては、前記第１実行環境と前記第２実行環境との間で、フォアグラウンドとなる実行環境が変化した場合、前記第１実行環境は前記判断結果情報を消去する構成であってもよい。
また、本発明においては、前記第１実行環境と前記第２実行環境との間で、フォアグラウンドとなる実行環境が変化した場合、前記第１実行環境は、前記判断結果情報と共に記憶された期限情報が示す保存期限を短縮する構成であってもよい。
【０００９】
また、本発明においては、ユーザにより操作される操作部を有し、前記第１実行環境は、前記操作部がユーザにより操作されると前記判断結果情報を消去する構成であってもよい。
また、本発明においては、ユーザにより操作される操作部を有し、前記第１実行環境は、前記操作部がユーザにより操作されると前記判断結果情報と共に記憶された期限情報が示す保存期限を短縮する構成であってもよい。
【００１０】
また、本発明においては、前記第１実行環境は、前記判断結果情報を前記記憶部に記憶した時刻から、連携先として前記第２アプリケーションが指定された時刻までの期間が予め定められた期間内であり、前記判断結果情報が第２アプリケーションの実行が可能であることを示している場合、予め定められた遅延時間が経過した後で前記特定情報を送信し、該特定情報を送信した後で受信した判断結果情報が第２アプリケーションの実行が可能であることを示している場合、前記要求メッセージを送信する構成であってもよい。
また、本発明においては、前記遅延時間は、連携先となる前記第２アプリケーションの種別により異なる構成であってもよい。
【００１１】
また、本発明においては、前記第１実行環境は、前記第１実行環境と前記第２実行環境との間で排他的に使用される資源について、該資源の使用状況が変化した場合、前記判断結果情報を消去する構成であってもよい。
また、本発明においては、前記第１実行環境は、前記第１実行環境と前記第２実行環境との間で排他的に使用される資源について、該資源の使用状況が変化した場合、前記判断結果情報の期限情報が示す保存期限を短縮する構成であってもよい。
【００１２】
また、本発明においては、前記第２アプリケーションを複数記憶し、前記第２実行環境は、前記第２アプリケーションについて、連携先として指定された回数を前記第２アプリケーション毎にカウントし、カウントした回数が予め定められた順位以内の第２アプリケーションについては、第２アプリケーションが実行可能であるか否か状態が変化した場合、前記判断結果情報を前記第１実行環境へ送信する構成であってもよい。
【００１３】
また、本発明においては、前記第２実行環境は、前記第２実行環境で実行された第２アプリケーションの連携先として指定された第１アプリケーションを示す特定情報と、連携元となる該第２アプリケーションを示す第２特定情報を前記第１実行環境へ送信し、前記第１実行環境は、該第２特定情報を受信すると、該第２特定情報で特定される第２アプリケーションを実行可能と判断し、該判断結果が、記憶している該第２アプリケーションの判断結果情報の示す内容と異なる場合、前記判断結果情報を消去する構成であってもよい。
【００１４】
また、本発明においては、前記第２実行環境は、連携元の第１アプリケーションが実行されているか否か確認する確認要求メッセージを前記第１実行環境へ送信し、連携元の第１アプリケーションが実行されていないことを示す応答が前記第１実行環境から送信された場合、連携先の第２アプリケーションを終了する構成であってもよい。
【００１５】
また、本発明においては、前記第２実行環境は、前記判断結果情報を送信した場合、前記第１実行環境との通信経路を停止する構成であってもよい。
【００１６】
また、本発明においては、前記第１実行環境は、連携先として複数の第２アプリケーションの特定情報を前記第２実行環境へ送信し、前記第２実行環境は、送信された特定情報で特定される第２アプリケーションが実行可能であるか否か各第２アプリケーションについて前記判断結果情報を送信し、前記第１実行環境は、連携先とした第２アプリケーションについて、前記第２実行環境から送信された判断結果情報が第２アプリケーションの実行が不可であることを示している場合には、連携を無効とする構成であってもよい。
【００１７】
また、本発明においては、前記第１実行環境は、連携先で使用されるデータまたは該データを示すデータ特定情報を送信し、前記第２実行環境は、当該データまたは当該データ特定情報で特定されるデータの分のリソースを確保する構成であってもよい。
また、本発明においては、前記第２実行環境は、前記リソースを確保した後で送信されたデータが、該リソースを確保した時に受信したデータと異なる場合、先に受信したデータを破棄する構成であってもよい。
【００１８】
また、本発明は、アプリケーションを実行する第１実行環境および第２実行環境とが実現する情報処理装置の制御方法であって、前記第１実行環境が、前記第１実行環境で実行された第１アプリケーションの連携先として指定された第２アプリケーションを示す特定情報を前記第２実行環境へ送信するステップと、前記第２実行環境が、前記第１実行環境から送信された特定情報で特定される第２アプリケーションが実行可能であるか否かを判断して該判断の結果を示す判断結果情報を送信するステップと、前記第１実行環境が、前記第２実行環境から送信された判断結果情報を記憶部に記憶するステップと、前記第１実行環境が、前記第１アプリケーションの連携先として第２アプリケーションが指定されると、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が不可であることを示している場合には、前記第２実行環境側へ前記第２アプリケーションへの連携を要求する要求メッセージを送信せず、前記記憶部に記憶された判断結果情報が第２アプリケーションの実行が可能であることを示している場合には、前記第２実行環境側へ前記要求メッセージを送信するステップとを有する制御方法を提供する。
【発明の効果】
【００１９】
本発明によれば、アプリケーションの実行環境が複数実現するコンピュータ装置において、実行環境間の通信を抑えることができる。
【図面の簡単な説明】
【００２０】
【図１】情報処理装置１のハードウェア構成を示したブロック図。
【図２】情報処理装置１において実現する機能ブロックを示した図。
【図３】表示部１０７に表示される画面を示した図。
【図４】競合状態判定部の処理の流れを示したフローチャート。
【図５】情報処理装置１の動作を説明するための図。
【発明を実施するための形態】
【００２１】
［実施形態］
（実施形態の構成）
図１は、本発明の一実施形態に係る情報処理装置１のハードウェア構成を示したブロック図である。本実施形態において情報処理装置１は、携帯電話機であり、移動体通信網を構成している無線基地局との間で無線通信を行い、音声通信やデータ通信を行うことが可能となっている。
【００２２】
情報処理装置１の各部は、バス１０１に接続されており、情報処理装置１の各部は、このバス１０１を介して各部間でデータの授受を行う。
通信部１０８は、無線基地局と通信を行うインターフェースの機能を有しており、ＣＰＵ１０２の制御の下、図示せぬアンテナを介して無線基地局と無線通信を行う。
操作部１０６は、図示を省略したテンキーなどの複数のキーを有している。情報処理装置１の使用者が、操作部１０６が有するキーを押下すると、押下されたキーを示す信号が操作部１０６からＣＰＵ１０２へ出力される。
表示部１０７は、図示を省略した液晶ディスプレイを有しており、ＣＰＵ１０２の制御の下、文字やグラフィック画面、情報処理装置１を操作するためのメニュー画面などを表示する。
【００２３】
ＲＯＭ１０３には、ＣＰＵ１０２により実行される各種プログラムが記憶されており、例えば、仮想マシンモニタ（ＶＭＭ：Virtual Machine Monitor）を実現するプログラムＶＭ、仮想マシンモニタ上で動作する第１のオペレーティングシステム（以下、第１ＯＳと称する）を実現するプログラムＯＳ１、仮想マシンモニタ上で動作する第２のオペレーティングシステム（以下、第２ＯＳと称する）を実現するプログラムＯＳ２などが記憶されている。
【００２４】
記憶部１０５は、不揮発性メモリを備えており、第１ＯＳ上で実行される複数の第１アプリケーションや、第２ＯＳ上で実行される複数の第２アプリケーションなどを記憶する。なお、第１アプリケーションは、第１ＯＳで実行可能なプログラムであり、ファイルの削除や移動、コピーなどファイルの管理を行うアプリケーションを実現するファイル管理プログラム、電子メールの作成や送受信、受信した電子メールの保存を行う電子メールアプリケーションを実現する電子メールプログラム、ウェブブラウザを実現するブラウザプログラムなどがある。また、第２アプリケーションは、第２ＯＳで実行可能なプログラムであり、第１アプリケーションと同様に、ファイル管理プログラム、電子メールプログラム、ブラウザプログラムなどがある。
また、記憶部１０５には、第１ＯＳがファイルを記憶する領域として使用する第１記憶領域と、第２ＯＳがファイルを記憶する領域として使用する第２記憶領域とが確保されており、第１記憶領域には、第１ＯＳ上で実行されるアプリケーションが使用するファイルが記憶され、第２記憶領域には、第２ＯＳ上で実行されるアプリケーションが使用するファイルが記憶される。
【００２５】
ＣＰＵ１０２は、情報処理装置１の各部を制御するものであり、図示を省略した二次電池から電力が供給されると、ＲＯＭ１０３からプログラムＶＭを読み出して実行し、情報処理装置１に仮想マシンモニタＶＭＭを実現させる。ＣＰＵ１０２は、仮想マシンモニタＶＭＭが実現すると、ＲＯＭ１０３からプログラムＯＳ１とプログラムＯＳ２とを読み出し、読み出した各プログラム実行する。プログラムＯＳ１とプログラムＯＳ２とが実行されると、仮想マシンモニタＶＭＭ上において、第１ＯＳ２１と第２ＯＳ２２とが実現する。
【００２６】
情報処理装置１において第１ＯＳ２１と第２ＯＳ２２とが実現すると、ＲＡＭ１０４を使用して各ＯＳ上でアプリケーションを実行することが可能となる。例えば、第１ＯＳ２１がフォアグラウンドとなっている場合、ユーザが操作部１０６のキーを操作し、第１アプリケーションの実行を指示する操作を行うと、第１アプリケーションが記憶部１０５から読み出されて実行される。
また、第２ＯＳ２２がフォアグラウンドとなっている場合、ユーザが操作部１０６のキーを操作し、第２アプリケーションの実行を指示する操作を行うと、第２アプリケーションが記憶部１０５から読み出されて実行される。
また、情報処理装置１において第１ＯＳ２１と第２ＯＳ２２とが実現すると、第１ＯＳ２１側で実行されている第１アプリケーションから連携先として第２ＯＳ側２２側で実行する第２アプリケーションを指定し、第１アプリケーションと第２アプリケーションを連携させることが可能となる。
【００２７】
ここで、図２は、情報処理装置１において実現される仮想マシンモニタＶＭＭ、ＯＳ、アプリケーションを模式的に示した図である。図２に示したように、情報処理装置１においては、仮想マシンモニタＶＭＭが構築され、仮想マシンモニタＶＭＭ上で第１ＯＳ２１と、第２ＯＳ２２が構築される。また、第１アプリケーションが実行され、第２アプリケーションが第２ＯＳ２２上で実行される。
【００２８】
また、第１ＯＳ２１が構築されると、第１ＯＳ２１においては、競合状態保存部２１Ａ、競合状態判定部２１Ｂが実現する。
競合状態保存部２１Ａは、後述する競合状態通知部２２Ｄから送信される競合情報を記憶するする機能ブロックである。
競合状態判定部２１Ｂは、第１アプリケーションから第２アプリケーションへ連携を要求する際に、競合状態保存部２１Ａに記憶された判断結果情報に基づいて、連携の要求を指示するメッセージを第２ＯＳ２２へ送信する機能ブロックである。
【００２９】
また、第２ＯＳ２２が構築されると、第２ＯＳ２２においては、競合管理部２２Ｃ、競合状態通知部２２Ｄが実現する。
競合管理部２２Ｃは、第２アプリケーションについて実行が可能か否か判断する機能ブロックである。競合管理部２２Ｃは、第１ＯＳ２１側から第２アプリケーションとの連携が要求されると、連携を要求されたアプリケーションを実行可能か否か判断し、判断結果を示す判断結果情報を生成する。なお、本実施形態においては、連携先とされたアプリケーションを実行できない場合を「競合」と称し、連携先とされたアプリケーションを実行できる場合を「非競合」と称する。
競合状態通知部２２Ｄは、競合管理部２２Ｃが生成した判断結果情報を第１ＯＳ２１側へ送信する機能ブロックである。
【００３０】
（実施形態の動作）
次に、本実施形態の動作について説明する。なお、以下の説明においては、画像を表す画像ファイルが第１記憶領域に記憶されており、第１記憶領域に記憶されている画像ファイルを、第２アプリケーションが生成する電子メールに添付する場合を想定して動作の説明を行う。
【００３１】
（連携先のアプリケーションを実現できる場合の動作）
まず、第１ＯＳ２１と第２ＯＳ２２との間で、アプリケーションを連携可能である時の動作について説明する。なお、以下の説明においては、第２ＯＳ２２側において、第２アプリケーションが何ら実行されていない場合を想定して動作の説明を行う。
【００３２】
第１ＯＳ２１がフォアグラウンドの状態にある時に、ユーザが操作部１０６を操作して第１アプリケーションであるファイル管理プログラムの実行を指示すると、ファイルの管理を行う第１アプリケーションが第１ＯＳ２１上に実現する。第１アプリケーションが実現すると、図３に例示したように、第１記憶領域に記憶されているファイルのファイル名やファイルサイズを表示する画面が表示部１０７に表示される。
【００３３】
ここで、ユーザが、画像ファイルである「sample.jpg」を選択した後、第２ＯＳ２２上で実現する電子メールアプリケーション（第２アプリケーション）を連携先として指定し、このアプリケーションが作成する電子メールに画像ファイルを添付するよう指示する操作が行われると、第１アプリケーションは、第２ＯＳ２２上で実現する第２アプリケーションとの連携を指示するメッセージを第１ＯＳ２１へ送る。また、連携先として指定された電子メールアプリケーションを実現するプログラムのファイル名を特定し、特定したファイル名を第１ＯＳ２１へ送る。なお、このファイル名は、ユーザが操作部１０６を操作して入力してもよく、予め第２ＯＳ２２側の電子メールアプリケーションのファイル名を第１ＯＳ側に登録しておき、第１ＯＳ２１側で電子メールアプリケーションとの連携が指示されると、登録してあるファイル名を読み出すようにしてもよい。また、ファイル名に替えて、アプリケーションを特定可能な記号列を使用してもよい。
【００３４】
次に第１ＯＳ２１においては、まず、競合状態判定部２１Ｂが、競合状態保存部２１Ａを参照し、判断結果情報が記憶されているか否か判断する（図４：ステップＳ１０１）。ここで、競合状態保存部２１Ａに、判断結果情報が記憶されていない場合（ステップＳ１０１；ＮＯ）、競合状態判定部２１Ｂは、第２アプリケーションの実行が可能であるか否か確認する確認メッセージと、第１アプリケーションの連携先となる電子メールアプリケーションのファイル名、および画像ファイルを第２ＯＳ２２へ送信する（ステップＳ１０５、図５：ステップＳ１０）。
【００３５】
第２ＯＳ２２において、この確認メッセージ、ファイル名および画像ファイルが受信されると、競合管理部２２Ｃは、受信したファイル名で特定される電子メールアプリケーションを実行可能か否か判断する（ステップＳ１１）。
ここで、競合管理部２２Ｃは、この時点でＲＡＭ１０４において未使用となっている領域の容量と、電子メールアプリケーションが使用するＲＡＭ１０４の使用量を確認し、電子メールアプリケーションが実行されると、ＲＡＭ１０４の容量が不足するか否か判断する。ここで、第１ＯＳ２１側でファイル管理アプリケーションが実行されているのみであって他にアプリケーションが実行されてない。
ＲＡＭ１０４において未使用となっている領域が電子メールアプリケーションが使用するＲＡＭ１０４の容量分あると、競合管理部２２Ｃが、ＲＡＭ１０４の容量が不足せずアプリケーションを実行可能と判断し、競合状態通知部２２Ｄは、アプリケーションを実行可能であることを示す「非競合」という判断結果情報を第１ＯＳ２１へ送信する（ステップＳ１２）。この判断結果情報が第１ＯＳ２１で受信されると、受信された判断結果情報は、競合状態保存部２１Ａに記憶される（ステップＳ１３）。
【００３６】
また、第１ＯＳ２１は、受信した判断結果情報が「非競合」であると（ステップＳ１０６；ＹＥＳ）、連携を要求する要求メッセージと、第１アプリケーションの連携先となる電子メールアプリケーションのファイル名、および画像ファイルを第２ＯＳ２２へ送信する（ステップＳ１０４、図５：ステップＳ１４）。
第２ＯＳ２２において、このメッセージ、ファイル名および画像ファイルが受信されると、画像ファイルは、第１ＯＳ２１と第２ＯＳ２２とで共有メモリとして使用されるＲＡＭ１０４に記憶される。また、第１ＯＳ２１から送信されたファイル名で特定される電子メールアプリケーションが記憶部１０５から読み出されて実行され（ステップＳ１５）、電子メールアプリケーションが第２ＯＳ２２上に実現する。第２ＯＳ２２は、電子メールアプリケーションに電子メールを作成させ、ＲＡＭ１０４に記憶された画像ファイルを作成した電子メールに添付する。
【００３７】
このように、アプリケーションを連携する際に連携先のＯＳ側でアプリケーションを実行可能であると判断されると、第１ＯＳ２１上で動作する第１アプリケーションと、第２ＯＳ２２上で動作する第２アプリケーションとを連携させた処理が実行できる。
【００３８】
（連携先のアプリケーションを実現できない場合の動作）
次に、第１ＯＳ２１と第２ＯＳ２２との間で、アプリケーションを連携できない時の動作について説明する。なお、以下の説明においては、競合状態保存部２１Ａに判断結果情報が記憶されてなく、アプリケーションの連携が要求される前に、第２ＯＳ２２側において、第２アプリケーションとしてブラウザプログラムとファイル管理プログラムが実行されている場合を想定して動作の説明を行う。
【００３９】
まず、上述した動作と同様にして、確認メッセージ、第１アプリケーションの連携先となる電子メールアプリケーションのファイル名、および画像ファイルが第２ＯＳ２２へ送信されると（ステップＳ１０５）、競合管理部２２Ｃは、受信したファイル名で特定される電子メールアプリケーションを実行可能か否か判断する。
【００４０】
ここで、競合管理部２２Ｃは、この時点でＲＡＭ１０４において未使用となっている領域の容量と、電子メールアプリケーションが使用するＲＡＭ１０４の使用量を確認し、電子メールアプリケーションが実行されると、ＲＡＭ１０４の容量が不足するか否か判断する。
ここでは、第１ＯＳ２１側でファイル管理アプリケーションが実行されており、さらに第２ＯＳ２２側では、ウェブブラウザとファイル管理アプリケーションが実行されており、ＲＡＭ１０４において未使用となっている領域が少ない。
ＲＡＭ１０４において未使用となっている領域が電子メールアプリケーションが使用するＲＡＭ１０４の容量分ないと、競合管理部２２Ｃが、ＲＡＭ１０４の容量が不足してアプリケーションを実行不可と判断し、競合状態通知部２２Ｄは、電子メールアプリケーションを実行不可であることを示す「競合」という判断結果情報を第１ＯＳ２１へ送信する。この判断結果情報が第１ＯＳ２１で受信されると、受信された判断結果情報は、競合状態保存部２１Ａに記憶される。
なお、ここで第２ＯＳ２２においては、第２アプリケーションが実行されるとＲＡＭ１０４の容量が不足すると判断されたため、電子メールアプリケーションは実行されない。
【００４１】
一方、第１ＯＳ２１においては、第２ＯＳ２２から送信された判断結果情報が連携先の電子メールアプリケーションのファイル名と共に競合状態保存部２１Ａに記憶される（ステップＳ１３）。なお、競合状態保存部２１Ａは、判断結果情報の保存期限（例えば、判断結果情報を受け取った時刻から予め定められた時間が経過した後の時刻）を示す期限情報も記憶する。
また、第１ＯＳ２１は、受信した判断結果情報が「競合」であると（ステップＳ１０６；ＮＯ）、ステップＳ１０４の処理を行わない。
【００４２】
この後、期限情報の保存期限が経過していないタイミングで、再度ユーザが画像ファイルを第２ＯＳ２２上で実現する電子メールアプリケーションが作成する電子メールに添付するよう指示すると、第１アプリケーションは、第２アプリケーションとの連携を指示するメッセージと、電子メールアプリケーションを実現するプログラムのファイル名を第１ＯＳ２１へ送る。
ここで、競合状態保存部２１Ａにおいては、電子メールアプリケーションのファイル名と共に判断結果情報が記憶されている。競合状態判定部２１Ｂは、第１アプリケーションから送られたファイル名と共に判断結果情報が記憶されていると（ステップＳ１０１；ＹＥＳ）、プログラム名と共に記憶されている期限情報の保存期限を確認する（ステップＳ１０２）。
【００４３】
競合状態判定部２１Ｂは、保存期限の示す時刻と現時点の時刻とを比較し、現時点の時刻が保存期限の時刻を過ぎていない場合には（ステップＳ１０２；ＮＯ）、判断結果情報の内容を判断する（ステップＳ１０３）。ここで、判断結果情報の内容が「競合」である場合には（ステップＳ１０３；ＮＯ）、競合状態判定部２１Ｂは、連携を要求するメッセージ、電子メールアプリケーションのファイル名、および画像ファイルを第２ＯＳ２２へ送信しない。
【００４４】
一方、判断結果情報の内容が「非競合」である場合には（ステップＳ１０３；ＹＥＳ）、競合状態判定部２１Ｂは、連携を要求するメッセージ、電子メールアプリケーションのファイル名、および画像ファイルを第２ＯＳ２２へ送信する（ステップＳ１０４）。
また、競合状態判定部２１Ｂは、現時点の時刻が保存期限の時刻を過ぎている場合には（ステップＳ１０２；ＹＥＳ）、ステップＳ１０５，Ｓ１０６の処理を行う。
【００４５】
要求するメッセージ、電子メールアプリケーションのファイル名、および画像ファイルが第２ＯＳ２２側へ送信された際、第２ＯＳ２２側において、ブラウザプログラムとファイル管理プログラムが終了しており、競合管理部２２Ｃにおいて、電子メールアプリケーションが実行可能と判断されると、電子メールアプリケーションが実行されて電子メールに画像ファイルが添付される。
一方、競合管理部２２Ｃにおいて、連携先のアプリケーションは実行不可と判断されると、上述したように、競合状態通知部２２Ｄが判断結果情報を第１ＯＳ２１へ送信し、第２アプリケーションは実行されない。
【００４６】
以上説明したように、第２アプリケーションとの連携を要求した第１ＯＳ２１側では、第２ＯＳ２２側から送信された判断結果情報を記憶しており、時刻がこの判断結果情報の保存期限の時刻を過ぎていない場合、確認メッセージが第２ＯＳ２２側へ送信されない。このため、ユーザからアプリケーションの連携を指示される度にメッセージを第２ＯＳ２２側へ送る構成と比較して、第１ＯＳ２１と第２ＯＳ２２との間でのメッセージの送信の頻度が少なく、ＣＰＵへの負荷が少なくなる。
【００４７】
［変形例］
本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよく、各変形例を組み合わせて実施してもよい。
【００４８】
上述した実施形態においては、情報処理装置１は、携帯電話機となっているが、パーソナルコンピュータやＰＤＡ（Personal Digital Assistance）など携帯電話機以外の装置であってもよい。
また、情報処理装置１において実現されるＯＳは、特定のＯＳに限定されるものではなく、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ（登録商標）やＬｉｎｕｘ（登録商標）、Ｓｙｍｂｉａｎ（登録商標）、リアルタイムＯＳなどのＯＳであってもよい。
また、上述した実施形態においては、アプリケーションの実行環境はＯＳとなっているが、ＯＳに限定されるものではない。例えばＪａｖａ（登録商標）仮想マシンなどプログラムを実行できる環境であればよい。
【００４９】
上述した実施形態では、第１ＯＳ２１側から第２ＯＳ２２側へアプリケーションの連携を要求するメッセージや確認メッセージが送られているが、このメッセージは、第１ＯＳ２１側から第２ＯＳ２２側へ送る構成に限定されるものではない。
例えば、第１ＯＳ２１側にも競合管理部と競合状態通知部を設けると共に、第２ＯＳ２２側にも競合状態保存部と競合状態判定部を設け、第１アプリケーションに連携させて画像ファイルを電子メールへ添付するよう第２ＯＳ２２側の第２アプリケーションで指示し、第１ＯＳ２１側の競合管理部でアプリケーションを実行可能か否か判断し、判断結果情報を第１ＯＳ２１側が第２ＯＳ２２側へ送るようにしてもよい。また、この判断結果情報を第２ＯＳ２２側の競合状態保存部が保存し、第２ＯＳ２２側の競合状態判定部は、この判断結果情報を用いて図４の処理を行うようにしてもよい。
【００５０】
上述した実施形態においては、競合状態通知部２２Ｄは、判断結果情報を送信した後、他方のＯＳ側から通信を一定時間の間は受け付けないようにしてもよい。
なお、他方のＯＳ側からの通信を受け付けない構成としては、ＯＳ間の通信経路を停止するようにしてもよく、また、第１ＯＳ２１側から送信された情報を第２ＯＳ２２側で破棄して無効化してもよい。
また、上述した実施形態においては、ステップＳ１０３において記憶している判断結果情報の内容が「競合」である場合、競合状態判定部２１Ｂは、確認メッセージ、連携先となるアプリケーションのファイル名、および画像ファイルを送信していないが、送信するようにしてもよい。
また、この場合、判断結果情報を受信した時刻からアプリケーションの連携を指示するメッセージを受け取るまでの期間が予め定められた期間内であると、アプリケーションの連携を要求するメッセージ、連携先となるアプリケーションのファイル名、および画像ファイルの送信を予め定められた時間だけ遅延させてもよい。
また、この遅延時間は連携先のアプリケーションの種別により異ならせてもよい。
【００５１】
上述した実施形態においては、確認メッセージと共に画像ファイルそのものを第１ＯＳ２１側から第２ＯＳ２２側へ送信しているが、この構成に限定されるものではない。例えば、確認メッセージを送信する際には、画像ファイルを送信せず、判断結果情報として「非競合」が第２ＯＳ２２側から第１ＯＳ２１側へ送信された場合、第１ＯＳ２１側が要求メッセージと共に画像ファイルを第２ＯＳ２２側へ送信するようにしてもよい。
また、第１ＯＳ２１側は、画像ファイルそのものを送信するのではなく、画像ファイルを特定する識別子（例えばファイル名）を送信してもよい。
また、第２ＯＳ２２は、確認メッセージと共に画像ファイルまたは画像ファイルを特定する識別子を受信した場合、当該画像ファイルまたは当該識別子で特定される画像ファイルの分のリソースを確保するようにしてもよい。
なお、第２ＯＳ２２は、リソースを確保した後で送信された画像ファイルが、リソースを確保した時に受信した画像ファイルと異なる場合、先に受信した画像ファイルを破棄してもよい。
【００５２】
上述した実施形態においては、判断結果情報の保存期間が判断結果情報と共に保存されるが、連携先のアプリケーションの種別によって、保存期間を異ならせてもよい。
また、上述した実施形態においては、保存期間を示す情報を記憶しなくてもよい。
また、上述した実施形態においては、競合管理部２２Ｃは、連携を要求されたアプリケーションのプログラム名を記憶しておき、このアプリケーションが実行されたり、終了されたりして連携先のアプリケーションを実行可能であるか否か判断結果が変更される場合、判断結果情報を他方のＯＳ側へ送信するようにしてもよい。
【００５３】
上述した実施形態においては、各ＯＳは、アプリケーションとの連携を指示するメッセージを受信した回数を連携先となるアプリケーション毎にカウントし、受信回数が上位（例えば３位以内）のアプリケーションについては、アプリケーションが実行されたり、終了されたりして連携先のアプリケーションを実行可能であるか否か判断結果が変更される場合、判断結果情報を他方のＯＳへ送信するようにしてもよい。
なお、受信回数が上位であっても、アプリケーションの種別によって短時間で判断結果情報が変化する場合には、判断結果情報を他方のＯＳへ伝えないようにしてもよい。
【００５４】
上述した実施形態においては、フォアグランドとなるＯＳが入れ替わった場合、フォアグランドとなった競合状態保存部２１Ａに保存されている判断結果情報の保存期間を短縮してもよい。
また、上述した実施形態においては、操作部１０６が操作された場合、判断結果情報の保存期間を短縮してもよい。
【００５５】
上述した実施形態においては、排他的に使用されるペリフェラルについて、ペリフェラルの使用状態が変化した場合、各ＯＳは、保存している判断結果情報を削除してもよく、また期限情報が示す保存期限を短くしてもよい。
また、一方のＯＳ側でアプリケーションが実行された場合、アプリケーションが実行されたことを知らせるメッセージを他方のＯＳへ送信し、このメッセージを受け取ったＯＳ側は、保存している判断結果情報を破棄するようにしてもよい。
また、上述した実施形態においては、一方のＯＳ側から他方のＯＳ側へ連携を要求したアプリケーションが実行されているか否かの確認結果を要求する確認要求メッセージを送信し、アプリケーションが実行されていないことを示す応答が返信された場合、アプリケーションの連携を解消するようにしてもよい。
【００５６】
上述した実施形態においては、第１ＯＳ２１側から第２ＯＳ２２側へ連携元の第１アプリケーションのファイル名を送信するようにしてもよく、また、第２ＯＳ２２側から第１ＯＳ２１側へ連携元の第２アプリケーションのファイル名を送信するようにしてもよい。
また、第２ＯＳ２２側から第１ＯＳ２１側へ第２アプリケーションとの連携を指示するメッセージと連携元の第２アプリケーションのファイル名とを送信した場合、第１ＯＳ２１側は、送信されたファイル名で特定される第２アプリケーションについて、実行可能であると判断してもよい。なお、ここで、送信されたファイル名で特定される第２アプリケーションについて、記憶している判断結果情報が、第２アプリケーションを実行不可であることを示す場合、記憶している判断結果情報を消去してもよい。
【００５７】
上述した実施形態において各ＯＳは、他方のＯＳに対して複数のアプリケーションとの連携を指示するために、複数のアプリケーションのファイル名を他方のＯＳ側へ送信するようにしてもよい。また、この場合、各ＯＳは、各アプリケーションについて判断結果情報を授受するようにしてもよい。
【符号の説明】
【００５８】
１・・・情報処理装置、ＶＭＭ・・・仮想マシンモニタ、２１・・・第１ＯＳ、２２・・・第２ＯＳ、２１Ａ・・・競合状態保存部、２１Ｂ・・・競合状態判定部、２２Ｃ・・・競合管理部、２２Ｄ・・・競合状態通知部、１０１・・・バス、１０２・・・ＣＰＵ、１０３・・・ＲＯＭ、１０４・・・ＲＡＭ、１０５・・・記憶部、１０６・・・操作部、１０７・・・表示部、１０８・・・通信部
【図１】
2010266955.tif 000003
【図２】
2010266955.tif 000004
【図３】
2010266955.tif 000005
【図４】
2010266955.tif 000006
【図５】
2010266955.tif 000007