(57)【要約】【課題】動作モードの切り替え時間（モード切り替え時間）の短縮を図ることを可能とするプログラム実行装置を提供する。【解決手段】プログラム実行装置は、一の動作モードから他の動作モードへの切り替えにおいて、一の動作モードで実行されているサスペンド対象プログラムをストレージ１６３に退避するサスペンド部１６１と、他の動作モードから一の動作モードへの切り替えにおいて、ストレージ１６３に退避されたサスペンド対象プログラムを一の動作モードで再開するレジューム部１６２と、サスペンド対象プログラムを他の動作モードに通知する通知部１６５と、サスペンド対象プログラムの中から、指定プログラムを指定する指定部１６６とを備える。レジューム部１６２は、指定部１６６によって指定された指定プログラムを一の動作モードで再開する。【選択図】図１
2010129054.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの種別毎に定義された複数の動作モードを有しており、前記複数の動作モードのそれぞれを排他的に設定するプログラム実行装置であって、
前記複数の動作モードのうち、一の動作モードから他の動作モードに前記動作モードが切り替えられる場合に、前記一の動作モードで実行されているプログラムであるサスペンド対象プログラムをデータストレージに退避するサスペンド部と、
前記他の動作モードから前記一の動作モードに前記動作モードが切り替えられる場合に、前記データストレージに退避された前記サスペンド対象プログラムを前記一の動作モードで再開するレジューム部と、
前記サスペンド対象プログラムを前記他の動作モードに通知する通知部と、
前記通知部によって通知された前記サスペンド対象プログラムの中から、前記一の動作モードで再開すべきプログラムである指定プログラムを指定する指定部とを備え、
前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開することを特徴とするプログラム実行装置。
【請求項２】
前記レジューム部は、前記指定部によって前記指定プログラムが指定されない場合に、前回の動作モードの切り替えにおいて前記サスペンド部によって前記データストレージに退避された前記サスペンド対象プログラムのみを前記一の動作モードで再開することを特徴とする請求項１に記載のプログラム実行装置。
【請求項３】
前記一の動作モードから前記他の動作モードに前記動作モードを切り替える第１条件及び前記他の動作モードから前記一の動作モードに前記動作モードを切り替える第２条件を記憶する記憶部と、
前記動作モードを切り替えるモード切替部とをさらに備え、
前記モード切替部は、前記第１条件が満たされた場合に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替え、前記第２条件が満たされた場合に、前記他の動作モードから前記一の動作モードに前記動作モードを切り替えることを特徴とする請求項１に記載のプログラム実行装置。
【請求項４】
前記複数の動作モードがアクセス可能なメモリ領域であるデータ共有領域をさらに備え、
前記通知部は、前記データ共有領域を用いて前記サスペンド対象プログラムを前記他の動作モードに通知し、
前記データ共有領域は、前記他の動作モードによる前記サスペンド対象プログラムの改変が禁止される領域であることを特徴とする請求項１に記載のプログラム実行装置。
【請求項５】
前記通知部は、前記サスペンド対象プログラムの名称を前記他の動作モードに通知することを特徴とする請求項１に記載のプログラム実行装置。
【請求項６】
前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開する場合に、前記指定部によって指定された前記指定プログラムによって実行されるアプリケーションを表示部上における最前面に表示させることを特徴とする請求項１に記載のプログラム実行装置。
【請求項７】
前記一の動作モードは、前記一の動作モードにおいて実行状態にあるプログラムの実行情報をメモリ領域上に展開しており、
前記実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する停止時刻記憶部と、
前記停止時刻から所定時間が経過した場合に、前記メモリ領域上に展開された実行情報を前記データストレージに退避するサスペンド前処理部とをさらに備えることを特徴とする請求項１に記載のプログラム実行装置。
【請求項８】
前記サスペンド前処理部は、前記停止状態に遷移したプログラムが前記実行状態に遷移した場合に、前記データストレージに退避された実行情報を削除することを特徴とする請求項７に記載のプログラム実行装置。
【請求項９】
前記サスペンド前処理部は、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避される場合に、前記メモリ領域上に展開された実行情報を削除することを特徴とする請求項７に記載のプログラム実行装置。
【請求項１０】
前記レジューム部は、前記サスペンド対象プログラムのいずれかである処理対象プログラムに対する処理要求を受けた場合に、前記データストレージに退避された実行情報を用いて、前記処理対象プログラムを前記一の動作モードで再開することを特徴とする請求項７に記載のプログラム実行装置。
【請求項１１】
前記サスペンド対象プログラムのそれぞれについて、前記一の動作モードで前記サスペンド対象プログラムを再開する再開条件を記憶する条件記憶部をさらに備え、
前記レジューム部は、前記処理対象プログラムに対する処理要求が前記再開条件を満たす場合に、前記処理対象プログラムを前記一の動作モードで再開することを特徴とする請求項１０に記載のプログラム実行装置。
【請求項１２】
前記動作モードを切り替えるモード切替部をさらに備え、
前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替えることを特徴とする請求項１に記載のプログラム実行装置。
【請求項１３】
前記動作モードを切り替えるモード切替部をさらに備え、
前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド前処理部によって前記メモリ領域上に展開された実行情報が削除された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替えることを特徴とする請求項９に記載のプログラム実行装置。
【請求項１４】
前記サスペンド対象プログラムのそれぞれについて、前記メモリ領域上に展開された実行情報を前記データストレージに退避するポリシーである退避ポリシーを記憶する記憶部をさらに備え、
前記サスペンド前処理部は、前記退避ポリシーに基づいて、前記メモリ領域上に展開された実行情報を前記データストレージに退避することを特徴とする請求項７に記載のプログラム実行装置。
【請求項１５】
前記サスペンド対象プログラムのそれぞれについて、前記サスペンド対象プログラムを前記データストレージに退避するポリシーであるサスペンドポリシーを記憶する記憶部をさらに備え、
前記サスペンド前処理部は、前記サスペンドポリシーに基づいて、前記サスペンド対象プログラムを前記データストレージに退避することを特徴とする請求項１に記載のプログラム実行装置。
【請求項１６】
前記サスペンド対象プログラムのそれぞれについて、前記メモリ領域上に展開された実行情報を削除するポリシーである削除ポリシーを記憶する記憶部をさらに備え、
前記サスペンド前処理部は、前記削除ポリシーに基づいて、前記メモリ領域上に展開された実行情報を削除することを特徴とする請求項９に記載のプログラム実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの種別毎に定義された複数の動作モードを有しており、前記複数の動作モードのそれぞれを排他的に設定するプログラム実行装置に関する。
【背景技術】
【０００２】
従来、多様なコンテンツやアプリケーションを追加可能に構成された携帯端末が知られている。以下においては、携帯端末に追加されたプログラム（追加プログラム）などを非信頼プログラムと称する。一方で、携帯端末に予め実装されたプログラムを信頼プログラムと称する。
【０００３】
一般的に、信頼プログラムの信頼性は保証されているが、非信頼プログラムの信頼性は保証されていないケースが多い。すなわち、追加プログラムは、携帯端末を構成するシステム（ＯＳ、ドライバ、ブラウザなど）の破壊、携帯端末に格納されたコンテンツの不正コピーなどを引き起こす危険性がある。
【０００４】
例えば、信頼プログラムによって実行される移動体通信網へのアクセス手順が追加プログラムに漏洩した場合に、携帯端末に格納されたコンテンツが移動体通信網に流出する危険性が考えられる。従って、システムやコンテンツを保護した上で、追加プログラムを実行することが好ましい。
【０００５】
このような危険性に対処する技術として、（１）プログラムを実行するモードとして、複数の実行モードを設ける第１技術（例えば、特許文献１）、（２）プログラムのサスペンド／レジュームを実行させるキーを設ける第２技術（例えば、特許文献２）、（３）プログラムのサスペンド／レジュームを管理する特殊プログラムを設ける第３技術（例えば、特許文献３）が提案されている。
【０００６】
第１技術では、携帯端末は、非信頼モードと信頼モードとを有する。非信頼モードは、追加プログラムを実行するモードである。信頼モードは、信頼プログラムを実行するモードである。携帯端末は、非信頼モードと信頼モードとを時分割で動作させる。
【０００７】
第２技術では、携帯端末は、キーの押下に応じて、プログラムのサスペンドを実行する。同様に、携帯端末は、キーの押下に応じて、サスペンドへ遷移されたプログラムのレジュームを実行する。
【０００８】
第３技術では、特殊プログラムは、携帯端末上で実行されているプログラムに対して、サスペンドを指示するコマンド（サスペンドコマンド）を送信する。同様に、特殊プログラムは、サスペンドへ遷移されたプログラムに対して、レジュームを指示するコマンド（レジュームコマンド）を送信する。
【特許文献１】特開２００６−３３８５５４号公報
【特許文献２】米国特許第６，５５３，４００号明細書
【特許文献２】米国特許第４，９１２，６２８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ここで、携帯端末上で実行されるプログラム数が増加すると、プログラムのサスペンド／レジュームが頻繁に生じることが想定される。例えば、追加プログラムの実行中に電話の着信を受けた場合に、信頼プログラム（電話プログラム）を信頼モードで実行する必要がある。すなわち、非信頼モードから信頼モードへの切り替えが必要である。このようなケースにおいて、多数の信頼プログラムがサスペンドされている場合には、多数の信頼プログラムのレジュームに必要な時間が増大する。これによって、電話の着信が一定期間内に完了しない恐れがある。
【００１０】
上述した第１技術〜第３技術では、追加プログラムの不正動作の抑制やサスペンド／レジュームの切り替えについては考慮されているが、モード切り替え時間の短縮については考慮されていない。
【００１１】
そこで、本発明は、上述した課題を解決するためになされたものであり、動作モードの切り替え時間（モード切り替え時間）の短縮を図ることを可能とするプログラム実行装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の特徴に係るプログラム実行装置は、プログラムの種別毎に定義された複数の動作モードを有しており、前記複数の動作モードのそれぞれを排他的に設定する。プログラム実行装置は、前記複数の動作モードのうち、一の動作モードから他の動作モードに前記動作モードが切り替えられる場合に、前記一の動作モードで実行されているプログラムであるサスペンド対象プログラムをデータストレージに退避するサスペンド部と、前記他の動作モードから前記一の動作モードに前記動作モードが切り替えられる場合に、前記データストレージに退避された前記サスペンド対象プログラムを前記一の動作モードで再開するレジューム部と、前記サスペンド対象プログラムを前記他の動作モードに通知する通知部と、前記通知部によって通知された前記サスペンド対象プログラムの中から、前記一の動作モードで再開すべきプログラムである指定プログラムを指定する指定部とを備える。前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開する。
【００１３】
第１の特徴において、前記レジューム部は、前記指定部によって前記指定プログラムが指定されない場合に、前回の動作モードの切り替えにおいて前記サスペンド部によって前記データストレージに退避された前記サスペンド対象プログラムのみを前記一の動作モードで再開する。
【００１４】
第１の特徴において、プログラム実行装置は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える第１条件及び前記他の動作モードから前記一の動作モードに前記動作モードを切り替える第２条件を記憶する記憶部と、前記動作モードを切り替えるモード切替部とをさらに備える。前記モード切替部は、前記第１条件が満たされた場合に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替え、前記第２条件が満たされた場合に、前記他の動作モードから前記一の動作モードに前記動作モードを切り替える。
【００１５】
第１の特徴において、プログラム実行装置は、前記複数の動作モードがアクセス可能なメモリ領域であるデータ共有領域をさらに備える。前記通知部は、前記データ共有領域を用いて前記サスペンド対象プログラムを前記他の動作モードに通知する。前記データ共有領域は、前記他の動作モードによる前記サスペンド対象プログラムの改変が禁止される領域である。
【００１６】
第１の特徴において、前記通知部は、前記サスペンド対象プログラムの名称を前記他の動作モードに通知する。
【００１７】
第１の特徴において、前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開する場合に、前記指定部によって指定された前記指定プログラムによって実行されるアプリケーションを表示部上における最前面に表示させる。
【００１８】
第１の特徴において、前記一の動作モードは、前記一の動作モードにおいて実行状態にあるプログラムの実行情報をメモリ領域上に展開する。プログラム実行装置は、前記実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する停止時刻記憶部と、前記停止時刻から所定時間が経過した場合に、前記メモリ領域上に展開された実行情報を前記データストレージに退避するサスペンド前処理部とをさらに備える。
【００１９】
第１の特徴において、前記サスペンド前処理部は、前記停止状態に遷移したプログラムが前記実行状態に遷移した場合に、前記データストレージに退避された実行情報を削除する。
【００２０】
第１の特徴において、前記サスペンド前処理部は、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避される場合に、前記メモリ領域上に展開された実行情報を削除する。
【００２１】
第１の特徴において、前記レジューム部は、前記サスペンド対象プログラムのいずれかである処理対象プログラムに対する処理要求を受けた場合に、前記データストレージに退避された実行情報を用いて、前記処理対象プログラムを前記一の動作モードで再開する。
【００２２】
第１の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記一の動作モードで前記サスペンド対象プログラムを再開する再開条件を記憶する条件記憶部をさらに備える。前記レジューム部は、前記処理対象プログラムに対する処理要求が前記再開条件を満たす場合に、前記処理対象プログラムを前記一の動作モードで再開する。
【００２３】
第１の特徴において、プログラム実行装置は、前記動作モードを切り替えるモード切替部をさらに備える。前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える。
【００２４】
第１の特徴において、プログラム実行装置は、前記動作モードを切り替えるモード切替部をさらに備える。前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド前処理部によって前記メモリ領域上に展開された実行情報が削除された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える。
【００２５】
第１の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記メモリ領域上に展開された実行情報を前記データストレージに退避するポリシーである退避ポリシーを記憶する記憶部をさらに備える。前記サスペンド前処理部は、前記退避ポリシーに基づいて、前記メモリ領域上に展開された実行情報を前記データストレージに退避する。
【００２６】
第１の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記サスペンド対象プログラムを前記データストレージに退避するポリシーであるサスペンドポリシーを記憶する記憶部をさらに備える。前記サスペンド前処理部は、前記サスペンドポリシーに基づいて、前記サスペンド対象プログラムを前記データストレージに退避する。
【００２７】
第１の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記メモリ領域上に展開された実行情報を削除するポリシーである削除ポリシーを記憶する記憶部をさらに備える。前記サスペンド前処理部は、前記削除ポリシーに基づいて、前記メモリ領域上に展開された実行情報を削除する。
【発明の効果】
【００２８】
本発明によれば、動作モードの切り替え時間（モード切り替え時間）の短縮を図ることを可能とするプログラム実行装置を提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下において、本発明の実施形態に係るプログラム実行装置について、図面を参照しながら説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【００３０】
ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。従って、具体的な寸法などは以下の説明を参酌して判断すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００３１】
［実施形態の概要］
実施形態に係るプログラム実行装置は、プログラムの種別毎に定義された複数の動作モードを有しており、複数の動作モードのそれぞれを排他的に設定する。動作モードは、例えば、信頼プログラムを実行する信頼モード、非信頼プログラムを実行する非信頼モードなどである。信頼プログラムは、例えば、プログラム実行装置を搭載する携帯端末に予め実装されたプログラムである。非信頼プログラムは、例えば、プログラム実行装置を搭載する携帯端末に追加されたプログラム（追加プログラム）である。プログラム実行装置は、サスペンド部と、レジューム部と、通知部と、指定部とを備える。
【００３２】
サスペンド部は、複数の動作モードのうち、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、一の動作モードで実行されているプログラムであるサスペンド対象プログラムをデータストレージに退避する。レジューム部は、他の動作モードから一の動作モードに動作モードが切り替えられる場合に、データストレージに退避されたサスペンド対象プログラムを一の動作モードで再開する。通知部は、サスペンド対象プログラムを他の動作モードに通知する。指定部は、通知部によって通知されたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部は、指定部によって指定された指定プログラムを一の動作モードで再開する。
【００３３】
このように、指定部は、一の動作モードで動作していたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部は、指定部によって指定された指定プログラムを一の動作モードで再開する。
【００３４】
従って、一の動作モードで再開すべきプログラム数を減少することができ、動作モードの切り替え時間を短縮できる。
【００３５】
［第１実施形態］
（プログラム実行装置の構成）
以下において、第１実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１は、第１実施形態に係るプログラム実行装置１００を示すブロック図である。プログラム実行装置１００は、例えば、携帯端末に搭載される。
【００３６】
図１に示すように、プログラム実行装置１００は、非セキュア実行ドメイン１１０と、セキュア実行ドメイン１２０とを有する。
【００３７】
なお、プログラム実行装置１００は、非信頼プログラム１０Ａ〜非信頼プログラム１０Ｃを実行する非信頼モード１３０と、信頼プログラム２０Ａ〜信頼プログラム２０Ｃを実行する信頼モード１４０とを有する。プログラム実行装置１００は、非信頼モード１３０と信頼モード１４０とを排他的に設定する。
【００３８】
第１実施形態では、一の動作モードから他の動作モードにアクティブな動作モードを切り替える際に行われるサスペンド処理、他の動作モードから一の動作モードにアクティブな動作モードを切り替える際に行われるレジューム処理について例示する。
【００３９】
また、プログラム実行装置１００には、表示部２００が併設されている。表示部２００は、プログラム実行装置１００によって実行されるプログラムに対応するアプリケーションを表示する。表示部２００は、例えば、携帯端末に搭載される。
【００４０】
非セキュア実行ドメイン１１０は、セキュア実行ドメイン１２０とハード的に切り離されており、新たに追加されたアプリケーションなどが実行されるドメインである。非セキュア実行ドメイン１１０は、上述した非信頼モード１３０及び信頼モード１４０を有する。
【００４１】
セキュア実行ドメイン１２０は、非セキュア実行ドメイン１１０とハード的に切り離されており、セキュリティが保護されたドメインである。例えば、セキュア実行ドメイン１２０は、通信機能に係るアプリケーションを実行する。
【００４２】
ここで、非セキュア実行ドメイン１１０は、アプリケーション処理部１１１と、メモリ領域１１２とを有する。また、非セキュア実行ドメイン１１０は、サスペンド部１６１と、レジューム部１６２と、ストレージ１６３と、モード切替部１６４と、通知部１６５と、指定部１６６とを有する。
【００４３】
アプリケーション処理部１１１は、非信頼プログラム１０や信頼プログラム２０に基づいて、アプリケーションを実行する。アプリケーション処理部１１１は、非信頼モード１３０及び信頼モード１４０のうち、アクティブな動作モードによって用いられる。
【００４４】
メモリ領域１１２は、各種情報を一次的に記憶するメモリ領域である。メモリ領域１１２は、例えば、アプリケーションの実行情報を記憶する。メモリ領域１１２は、非信頼モード１３０及び信頼モード１４０のうち、アクティブな動作モードによって用いられる。
【００４５】
実行情報は、例えば、プログラムのメモリマップ、プログラムが利用するファイルやソケット、プログラムが受付けるシグナル、プログラムが受付けるシグナルの動作、スタック情報、ヒープ情報、レジスタ情報などである。
【００４６】
サスペンド部１６１は、サスペンド処理を行う。具体的には、サスペンド部１６１は、複数の動作モードのうち、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、一の動作モードで実行されているプログラムであるサスペンド対象プログラムをストレージ１６３に退避する。サスペンド部１６１は、サスペンド対象プログラムの実行情報を状態情報としてストレージ１６３に退避する。
【００４７】
レジューム部１６２は、レジューム処理を行う。具体的には、レジューム部１６２は、他の動作モードから一の動作モードに動作モードが切り替えられる場合に、ストレージ１６３に退避されたサスペンド対象プログラムを一の動作モードで再開する。
【００４８】
ここで、レジューム部１６２は、後述する指定部１６６によって指定された指定プログラムを一の動作モードで再開することに留意すべきである。
【００４９】
なお、レジューム部１６２は、後述する指定部１６６によって指定プログラムが指定されない場合に、前回の動作モードの切り替えにおいてサスペンド部１６１によってストレージ１６３に退避されたサスペンド対象プログラムのみを一の動作モードで再開する。
【００５０】
ここで、レジューム部１６２は、後述する指定部１６６によって指定された指定プログラムを再開する際に、指定プログラムによって実行されるアプリケーションを表示部２００上における最前面に表示させる。
【００５１】
なお、レジューム部１６２は、複数の指定プログラムが指定されている場合には、後述する通知部１６５によって通知された表示位置の関係を維持するように、アプリケーションの表示位置を制御してもよい。
【００５２】
例えば、最前面に表示されていたアプリケーションを実行するサスペンド対象プログラム及び３番目に表示されていたアプリケーションを実行するサスペンド対象プログラムが指定プログラムとして指定されたケースについて考える。すなわち、２番目に表示されていたアプリケーションを実行するサスペンド対象プログラムが指定プログラムとして指定されなかったケースについて考える。
【００５３】
このようなケースでは、レジューム部１６２は、最前面に表示されていたアプリケーションを実行するサスペンド対象プログラム（指定プログラム）を最前面に表示する。レジューム部１６２は、３番目に表示されていたアプリケーションを実行するサスペンド対象プログラム（指定プログラム）を２番目に表示する。
【００５４】
ストレージ１６３は、プログラム実行装置１００で実行されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種プログラムを記憶する。また、ストレージ１６３は、サスペンド部１６１によって退避されたサスペンド対象プログラムの実行情報を状態情報として記憶する。
【００５５】
さらに、ストレージ１６３は、アクティブな動作モードを切り替える条件を記憶する。具体的には、ストレージ１６３は、非信頼モード１３０から信頼モード１４０にアクティブな動作モードを切り替える第１条件、信頼モード１４０から非信頼モード１３０にアクティブな動作モードを切り替える第２条件を記憶する。
【００５６】
第１条件は、例えば、電源投入や電話着信などのイベントの発生である。第２条件は、例えば、非信頼プログラムの起動などのイベントの発生である。
【００５７】
モード切替部１６４は、動作モードを切り替える。具体的には、モード切替部１６４は、非信頼モード１３０から信頼モード１４０にアクティブな動作モードを切り替える。すなわち、モード切替部１６４は、第１条件が満たされた場合に、非信頼モード１３０から信頼モード１４０にアクティブな動作モードを切り替える。同様に、モード切替部１６４は、信頼モード１４０から非信頼モード１３０にアクティブな動作モードを切り替える。すなわち、モード切替部１６４は、第２条件が満たされた場合に、信頼モード１４０から非信頼モード１３０にアクティブな動作モードを切り替える。
【００５８】
通知部１６５は、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、サスペンド対象プログラムを他の動作モードに通知する。例えば、通知部１６５は、サスペンド対象プログラムの名称を他の動作モードに通知する。
【００５９】
例えば、通知部１６５は、図２に示すように、サスペンド対象プログラムの名称と、サスペンド対象プログラムによって実行されるアプリケーションの表示位置とを通知する。なお、表示位置は、表示部２００上において複数のアプリケーションが表示されている場合に、表示部２００上において各アプリケーションが表示される位置（最前面、２番目、最背面）である。
【００６０】
指定部１６６は、通知部１６５によって通知されたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。
【００６１】
（プログラムの状態）
以下において、第１実施形態に係るプログラムの状態について、図面を参照しながら説明する。図３は、第１実施形態に係るプログラムの状態を説明するための図である。
【００６２】
図３に示すように、プログラムの状態としては、（１）サスペンド状態、（２）状態保存状態、（３）停止状態、（４）実行状態が挙げられる。
【００６３】
（１）サスペンド状態は、プログラムの実行情報がメモリ領域１１２上に展開されていないが、プログラムの実行情報が状態情報としてストレージ１６３に記憶された状態である。
【００６４】
（２）状態保存状態は、プログラムの実行情報がメモリ領域１１２上に展開されており、プログラムの実行情報が状態情報としてストレージ１６３に記憶された状態である。
【００６５】
（３）停止状態は、プログラムの実行情報がメモリ領域１１２上に展開されているが、プログラムが停止している状態である。
【００６６】
（４）実行状態は、プログラムの実行情報がメモリ領域１１２上に展開されており、プログラムが実行されている状態である。
【００６７】
（プログラム実行装置の動作）
以下において、第１実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図４及び図５は、第１実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【００６８】
上述したように、第１実施形態では、一の動作モードから他の動作モードにアクティブな動作モードを切り替える際に行われるサスペンド処理、他の動作モードから一の動作モードにアクティブな動作モードを切り替える際に行われるレジューム処理について例示する。
【００６９】
第１に、一の動作モードにおけるプログラム実行装置１００の動作について、図４を参照しながら説明する。
【００７０】
図４に示すように、ステップ１０において、プログラム実行装置１００は、一の動作モードで実行されるプログラムを取得し、一の動作モードで実行されるプログラムを管理する。
【００７１】
ステップ１１において、プログラム実行装置１００は、切り替え後の動作モード（すなわち、他の動作モード）に対して、一の動作モードで実行されるプログラム（サスペンド対象プログラム）を通知する。
【００７２】
ステップ１２において、プログラム実行装置１００は、一の動作モードから他の動作モードにアクティブな動作モードを切り替える。
【００７３】
ステップ１３において、プログラム実行装置１００は、他の動作モードから一の動作モードにアクティブな動作モードを切り替える。
【００７４】
なお、ステップ１２の処理とステップ１３の処理との間では、プログラム実行装置１００は、他の動作モードで動作する。
【００７５】
ステップ１４において、プログラム実行装置１００は、指定部１６６によって指定プログラムが指定されているか否かを判定する。プログラム実行装置１００は、指定プログラムが指定されている場合には、ステップ１５の処理に移る。一方で、プログラム実行装置１００は、指定プログラムが指定されている場合には、ステップ１６の処理に移る。
【００７６】
ステップ１５において、プログラム実行装置１００は、指定部１６６によって指定された指定プログラムを再開する。すなわち、プログラム実行装置１００は、レジューム処理において指定プログラムを復帰する。
【００７７】
ステップ１６において、プログラム実行装置１００は、前回の動作モードの切り替えにおいてサスペンド部１６１によってストレージ１６３に退避されたサスペンド対象プログラムのみを再開する。すなわち、プログラム実行装置１００は、前回の動作モードの切り替え前に一の動作モードで実行されていたサスペンド対象プログラムを復帰する。
【００７８】
第２に、他の動作モードにおけるプログラム実行装置１００の動作について、図５を参照しながら説明する。
【００７９】
図５に示すように、ステップ２０において、プログラム実行装置１００は、一の動作モードで実行されていたサスペンド対象プログラムを取得する。すなわち、プログラム実行装置１００は、切り替え後の動作モード（すなわち、一の動作モード）において再開すべきサスペンド対象プログラムを取得する。
【００８０】
ステップ２１において、プログラム実行装置１００は、指定プログラムを指定するか否かを判定する。プログラム実行装置１００は、指定プログラムを指定する場合には、ステップ２２の処理に移る。一方で、プログラム実行装置１００は、指定プログラムを指定しない場合には、ステップ２３の処理に移る。
【００８１】
ステップ２２において、プログラム実行装置１００は、ステップ２０で取得したサスペンド対象プログラムの中から、指定プログラムを指定する。
【００８２】
ステップ２３において、プログラム実行装置１００は、動作モードの切り替えを要求する。すなわち、プログラム実行装置１００は、他の動作モードから一の動作モードへのアクティブな動作モードの切り替えを要求する。
【００８３】
ステップ２４において、プログラム実行装置１００は、動作モードを切り替える。すなわち、プログラム実行装置１００は、他の動作モードから一の動作モードへのアクティブな動作モードを切り替える。
【００８４】
（作用及び効果）
第１実施形態では、指定部１６６は、一の動作モードで動作していたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部１６２は、指定部１６６によって指定された指定プログラムを一の動作モードで再開する。
【００８５】
従って、一の動作モードで再開すべきプログラム数を減少することができ、動作モードの切り替え時間を短縮できる。
【００８６】
第１実施形態では、レジューム部１６２は、指定部１６６によって指定プログラムが指定されなかった場合に、前回の動作モードの切り替えにおいてサスペンド部１６１によってストレージ１６３に退避されたサスペンド対象プログラムのみを一の動作モードで再開する。
【００８７】
従って、一の動作モードで全プログラムを再開する必要がなく、動作モードの切り替え時間を短縮できる。
【００８８】
第１実施形態では、通知部１６５は、サスペンド対象プログラムの名称を他の動作モードに通知する。従って、他の動作モードにサスペンド対象プログラムを通知する際に生じるリスクが軽減される。
【００８９】
第１実施形態では、レジューム部１６２は、指定部１６６によって指定された指定プログラムを再開する際に、指定プログラムによって実行されるアプリケーションを表示部２００上における最前面に表示させる。従って、ユーザは、指定プログラムによって実行されるアプリケーションを即時的に利用できる。
【００９０】
第１実施形態では、モード切替部１６４は、第１条件が満たされた場合に、非信頼モード１３０から信頼モード１４０にアクティブな動作モードを切り替える。同様に、モード切替部１６４は、第２条件が満たされた場合に、信頼モード１４０から非信頼モード１３０にアクティブな動作モードを切り替える。従って、動作モードが自動的に切り替えられる。
【００９１】
［変更例１］
以下において、第１実施形態の変更例１について、図面を参照しながら説明する。以下においては、第１実施形態との相違点について主として説明する。
【００９２】
変更例１では、プログラム実行装置１００は、複数の動作モードがアクセス可能なメモリ領域であるデータ共有領域を備える。
【００９３】
（プログラム実行装置の構成）
以下において、変更例１に係るプログラム実行装置の構成について、図面を参照しながら説明する。図６は、変更例１に係るプログラム実行装置１００の構成を示すブロック図である。図６では、図１と同様の構成について同様の符号を付していることに留意すべきである。
【００９４】
図６に示すように、プログラム実行装置１００は、図１に示す構成に加えて、信頼ゾーン１７１を有する。
【００９５】
信頼ゾーン１７１は、複数の動作モード（非信頼モード１３０及び信頼モード１４０）がアクセス可能なメモリ領域であるデータ共有領域である。信頼ゾーン１７１は、他の動作モード（例えば、非信頼モード１３０）によるサスペンド対象プログラムの改変が禁止される領域である。信頼ゾーン１７１としては、例えば、ＡＭＲ社のＴｒｕｓｔＺｏｎｅを用いることが可能である。
【００９６】
なお、上述した通知部１６５は、信頼ゾーン１７１を用いてサスペンド対象プログラムを他の動作モードに通知する。
【００９７】
（作用及び効果）
変更例１では、通知部１６５は、信頼ゾーン１７１を用いてサスペンド対象プログラムを他の動作モードに通知する。信頼ゾーン１７１は、他の動作モード（例えば、非信頼モード１３０）によるサスペンド対象プログラムの改変が禁止される領域である。従って、サスペンド処理やレジューム処理に伴うシステムの破壊やコンテンツの不正コピーなどを抑制できる。
【００９８】
［変更例２］
以下において、第１実施形態の変更例２について、図面を参照しながら説明する。以下においては、第１実施形態との相違点について主として説明する。
【００９９】
変更例２では、プログラム実行装置１００は、プログラムの停止時刻をプログラムと対応付けて管理する。
【０１００】
（プログラム実行装置の構成）
以下において、変更例２に係るプログラム実行装置の構成について、図面を参照しながら説明する。図７は、変更例２に係るプログラム実行装置１００の構成を示すブロック図である。図７では、図１と同様の構成について同様の符号を付していることに留意すべきである。
【０１０１】
図７に示すように、プログラム実行装置１００は、図１に示す構成に加えて、停止時刻記憶部１７２と、サスペンド前処理部１７３とを有する。
【０１０２】
停止時刻記憶部１７２は、実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する。停止時刻記憶部１７２は、例えば、図８に示すように、プログラム名と表示位置と停止時刻とを対応付けるテーブルを記憶する。
【０１０３】
サスペンド前処理部１７３は、動作モードの切り替えに伴ってサスペンド部１６１がサスペンド処理を行う前に、サスペンド処理の一部を予め行う。具体的には、サスペンド前処理部１７３は、以下に示す動作を行う。
【０１０４】
第１に、サスペンド前処理部１７３は、停止時刻から所定時間が経過した場合に、メモリ領域１１２上に展開された実行情報を状態情報としてストレージ１６３に退避する。言い換えると、サスペンド前処理部１７３は、動作モードの切り替えが生じる前において、プログラムの実行情報（状態情報）を予めストレージ１６３に退避する。このように、サスペンド前処理部１７３は、動作モードの切り替えが生じる前において、サスペンド処理の一部を予め行う。
【０１０５】
第２に、サスペンド前処理部１７３は、停止状態に遷移したプログラムが実行状態に遷移した場合に、ストレージ１６３に状態情報（実行情報）が退避された実行情報を削除する。すなわち、サスペンド前処理部１７３は、ストレージ１６３に退避されたプログラムの実行情報（状態情報）を削除する。
【０１０６】
第３に、サスペンド前処理部１７３は、サスペンド部１６１によってサスペンド対象プログラムがストレージ１６３に退避される場合に、メモリ領域１１２上に展開された実行情報を削除する。
【０１０７】
（プログラム実行装置の動作）
以下において、変更例２に係るプログラム実行装置の動作について、図面を参照しながら説明する。図９は、変更例２に係るプログラム実行装置１００の構成を示すブロック図である。なお、図９に示すフローは、アクティブな動作モードにおいて実行されている全プログラムを対象として行われる一連の処理である。
【０１０８】
図９に示すように、ステップ３０において、プログラム実行装置１００は、プログラムが停止状態であるか否かを判定する。プログラム実行装置１００は、プログラムが停止状態である場合には、ステップ３１の処理に移る。一方で、プログラム実行装置１００は、プログラムが実行状態である場合には、ステップ３２の処理に移る。
【０１０９】
ステップ３１において、プログラム実行装置１００は、プログラムの停止時刻を停止時刻記憶部１７２に記憶する。
【０１１０】
ステップ３２において、プログラム実行装置１００は、プログラムの停止時刻が記憶されているか否かを判定する。プログラム実行装置１００は、プログラムの停止時刻が記憶されている場合には、ステップ３３の処理に移る。一方で、プログラム実行装置１００は、プログラムの停止時刻が記憶されていない場合には、一連の処理を終了する。
【０１１１】
ステップ３３において、プログラム実行装置１００は、停止時刻記憶部１７２に記憶されたプログラムの停止時刻を初期化する。例えば、プログラム実行装置１００は、停止時刻記憶部１７２に記憶されたプログラムの停止時刻を削除する。また、プログラム実行装置１００は、停止時刻記憶部１７２に記憶されたプログラムの停止時刻を無効化ビットによって無効化してもよい。
【０１１２】
（作用及び効果）
変更例２では、サスペンド前処理部１７３は、動作モードの切り替えに伴ってサスペンド部１６１がサスペンド処理を行う前に、サスペンド処理の一部を予め行う。従って、モード切り替えに伴うサスペンド処理が軽減され、動作モードの切り替え時間を短縮できる。
【０１１３】
［変更例３］
以下において、第１実施形態の変更例３について、図面を参照しながら説明する。以下においては、変更例２との相違点について主として説明する。
【０１１４】
変更例３では、プログラム実行装置１００は、プログラムのレジューム条件（再開条件）をプログラムと対応付けて管理する。
【０１１５】
（プログラム実行装置の構成）
以下において、変更例３に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１０は、変更例３に係るプログラム実行装置１００の構成を示すブロック図である。図１０では、図７と同様の構成について同様の符号を付していることに留意すべきである。
【０１１６】
図１０に示すように、プログラム実行装置１００は、図７に示す構成に加えて、レジューム条件記憶部１７４を有する。
【０１１７】
レジューム条件記憶部１７４は、図１１に示すように、プログラム名とレジューム条件とを対応付けるテーブルを記憶する。
【０１１８】
レジューム条件は、プログラムへの要求に係るプログラム要求条件と、プログラム実行装置１００全体に係るイベント条件とを含む。プログラム要求条件は、例えば、非信頼プログラム１０Ａに対応付けられた条件“ネットワーク割込み”である。イベント条件は、例えば、非信頼プログラム１０Ｂに対応付けられた条件“負荷１０％以下”である。
【０１１９】
なお、上述したレジューム部１６２は、サスペンド対象プログラムのうち、レジューム条件を満たすプログラム（処理対象プログラム）を再開する。
【０１２０】
（プログラム実行装置の動作）
以下において、変更例３に係るプログラム実行装置の動作について、図面を参照しながら説明する。図１２は、変更例３に係るプログラム実行装置１００の動作を示すフロー図である。
【０１２１】
図１２に示すように、ステップ４０において、プログラム実行装置１００は、プログラムへの要求があるか否かを判定する。プログラム実行装置１００は、プログラムへの要求がある場合には、ステップ４１の処理に移る。一方で、プログラム実行装置１００は、プログラムへの要求がない場合には、ステップ４２の処理に移る。
【０１２２】
ステップ４１において、プログラム実行装置１００は、レジューム条件（プログラム要求条件）を満たすプログラム（処理対象プログラム）がサスペンド状態に遷移しているか否かを判定する。プログラム実行装置１００は、レジューム条件（プログラム要求条件）を満たすプログラムがサスペンド状態に遷移している場合には、ステップ４３の処理に移る。一方で、プログラム実行装置１００は、レジューム条件（プログラム要求条件）を満たすプログラムがサスペンド状態に遷移していない場合には、一連の処理を終了する。
【０１２３】
ステップ４２において、プログラム実行装置１００は、レジューム条件（イベント条件）が満たされているか否かを判定する。プログラム実行装置１００は、レジューム条件（イベント条件）が満たされている場合には、ステップ４３の処理に移る。一方で、プログラム実行装置１００は、レジューム条件（イベント条件）が満たされていない場合には、一連の処理を終了する。
【０１２４】
ステップ４３において、プログラム実行装置１００は、レジューム条件（プログラム要求条件又はイベント条件）を満たすプログラム（処理対象プログラム）を再開する。プログラム実行装置１００は、レジューム条件（プログラム要求条件又はイベント条件）を満たすプログラムを復帰する。
【０１２５】
（作用及び効果）
変更例３では、レジューム部１６２は、サスペンド対象プログラムのうち、レジューム条件を満たすプログラム（処理対象プログラム）を再開する。従って、サスペンド対象プログラムのいずれかである処理対象プログラムを必要に応じて実行状態に遷移させることができる。
【０１２６】
［変更例４］
以下において、第１実施形態の変更例４について、図面を参照しながら説明する。以下においては、変更例２との相違点について主として説明する。
【０１２７】
変更例４では、プログラム実行装置１００は、プログラムの状態遷移に係るポリシーをプログラムと対応付けて管理する。
【０１２８】
（プログラム実行装置の構成）
以下において、変更例４に係るプログラム実行装置の構成について、図面を参照しながら説明する。図１３は、変更例４に係るプログラム実行装置１００の構成を示すブロック図である。図１３では、図７と同様の構成について同様の符号を付していることに留意すべきである。
【０１２９】
図１３に示すように、プログラム実行装置１００は、図７に示す構成に加えて、ポリシー記憶部１７５を有する。
【０１３０】
ポリシー記憶部１７５は、図１４に示すように、プログラム名とポリシーとを対応付けるテーブルを記憶する。ポリシーは、状態遷移及び処理開始条件を含む。
【０１３１】
状態遷移は、プログラムの状態遷移を示している。例えば、信頼プログラムＡ，Ｄ，Ｐに対応付けられた状態遷移“停止状態→状態保存状態”は、処理開始条件が満たされた場合に、信頼プログラムＡ，Ｄ，Ｐの状態を停止状態から状態保存状態に遷移させることを意味する。
【０１３２】
処理開始条件は、状態遷移を開始する条件である。例えば、信頼プログラムＡ，Ｄ，Ｐに対応付けられた処理開始条件“６０秒後”は、信頼プログラムＡ，Ｄ，Ｐが停止状態に遷移してから経過した時間が６０秒に達した場合に、信頼プログラムＡ，Ｄ，Ｐの状態を状態保存状態に遷移させることを意味する。
【０１３３】
ポリシー記憶部１７５に記憶されたポリシーとしては、（１）退避ポリシー、（２）サスペンドポリシー、（３）削除ポリシーなどである。
【０１３４】
（１）退避ポリシーは、実行状態又は停止状態のプログラム（サスペンド対象プログラム）について、メモリ領域１１２上に展開された実行情報をストレージ１６３に退避するポリシーである。退避ポリシーは、例えば、信頼プログラムＡ，Ｄ，Ｐに対応付けられたポリシーのように、停止状態から状態保存状態に遷移するポリシーである。
【０１３５】
（２）サスペンドポリシーは、実行状態又は停止状態のプログラム（サスペンド対象プログラム）について、プログラムをストレージ１６３に退避するポリシーである。具体的には、サスペンド処理では、メモリ領域１１２上に展開された実行情報をストレージ１６３に退避した上で、メモリ領域１１２上に展開された実行情報が削除される。サスペンドポリシーは、例えば、信頼プログラムＢ，Ｅに対応付けられたポリシーのように、停止状態からサスペンド状態に遷移するポリシーである。
【０１３６】
（３）削除ポリシーは、状態保存状態のプログラム（サスペンド対象プログラム）について、メモリ領域１１２上に展開された実行情報を削除するポリシーである。削除ポリシーは、例えば、信頼プログラムＣ，Ｙ，Ｚに対応付けられたポリシーのように、状態保存状態からサスペンド状態に遷移するポリシーである。
【０１３７】
なお、上述したサスペンド前処理部１７３は、ポリシー記憶部１７５に記憶されたポリシーに基づいて、一の動作モードで動作するプログラム（サスペンド対象プログラム）の状態を遷移させる。
【０１３８】
（プログラム実行装置の動作）
以下において、変更例４に係るプログラム実行装置の動作について、図面を参照しながら説明する。図１５は、変更例４に係るプログラム実行装置１００の動作を示すフロー図である。
【０１３９】
図１５に示すように、ステップ５０において、プログラム実行装置１００は、一の動作モードで動作するプログラム（サスペンド対象プログラム）について、停止時刻記憶部１７２に停止時刻が記憶されているか否かを判定する。プログラム実行装置１００は、停止時刻が記憶されている場合には、ステップ５３の処理に移る。一方で、プログラム実行装置１００は、停止時刻が記憶されていない場合には、ステップ５４の処理に移る。
【０１４０】
ステップ５１において、プログラム実行装置１００は、ストレージ１６３に退避された実行情報が有効であるか否かを判定する。プログラム実行装置１００は、実行情報が有効である場合には、一連の処理を終了する。一方で、プログラム実行装置１００は、実行情報が無効である場合には、ステップ５２の処理に移る。
【０１４１】
例えば、プログラム実行装置１００は、プログラムが実行状態であり、ストレージ１６３に退避された実行情報が古い場合に、ストレージ１６３に退避された実行情報が無効であると判定する。
【０１４２】
ステップ５２において、プログラム実行装置１００は、ストレージ１６３に退避された実行情報を削除する。
【０１４３】
ステップ５３において、プログラム実行装置１００は、処理開始条件が満たされているか否かを判定する。プログラム実行装置１００は、処理開始条件が満たされている場合には、ステップ５４の処理に移る。一方で、プログラム実行装置１００は、処理開始条件が満たされていない場合には、一連の処理を終了する。
【０１４４】
ステップ５４において、プログラム実行装置１００は、プログラムが停止状態であるか否かを判定する。プログラム実行装置１００は、プログラムが停止状態である場合には、ステップ５６の処理に移る。一方で、プログラム実行装置１００は、プログラムが状態保存状態である場合には、ステップ５５の処理に移る。
【０１４５】
ステップ５５において、プログラム実行装置１００は、図１４に示したポリシーＮｏ．３に係る処理開始条件が満たされているか否かを判定する。すなわち、プログラム実行装置１００は、プログラムのポリシーがポリシーＮｏ．３であるか否かを判定する。プログラム実行装置１００は、プログラムのポリシーがポリシーＮｏ．３である場合には、ステップ５８の処理に移る。一方で、プログラム実行装置１００は、プログラムのポリシーがポリシーＮｏ．３でない場合には、一連の処理を終了する。
【０１４６】
ステップ５６において、プログラム実行装置１００は、図１４に示したポリシーＮｏ．１又はポリシーＮｏ．３に係る処理開始条件が満たされているか否かを判定する。すなわち、プログラム実行装置１００は、プログラムのポリシーがポリシーＮｏ．１又はポリシーＮｏ．３であるか否かを判定する。プログラム実行装置１００は、プログラムのポリシーがポリシーＮｏ．１又はポリシーＮｏ．３である場合には、ステップ５７の処理に移る。一方で、プログラム実行装置１００は、プログラムのポリシーがポリシーＮｏ．２である場合には、ステップ５８の処理に移る。
【０１４７】
ステップ５７において、プログラム実行装置１００は、一の動作モードで動作するプログラム（サスペンド対象プログラム）を状態保存状態に遷移させる。
【０１４８】
ステップ５８において、プログラム実行装置１００は、一の動作モードで動作するプログラム（サスペンド対象プログラム）をサスペンド状態に遷移させる。
【０１４９】
（作用及び効果）
変更例４では、サスペンド前処理部１７３は、ポリシー記憶部１７５に記憶されたポリシーに基づいて、一の動作モードで動作するプログラム（サスペンド対象プログラム）の状態を遷移させる。すなわち、一の動作モードで動作するプログラム（サスペンド対象プログラム）毎に適した状態遷移を実現できる。
【０１５０】
［その他の実施形態］
本発明は上述した実施形態によって説明したが、この開示の一部をなす論述及び図面は、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
【０１５１】
例えば、上述した実施形態に以下に示す構成や処理が適用可能である。
【０１５２】
（１）モード切替部１６４は、一の動作モードから他の動作モードに動作モードを切り替える要求を受けた場合に、サスペンド部１６１によってサスペンド対象プログラムがストレージ１６３に退避された後に、一の動作モードから他の動作モードに動作モードを切り替えてもよい。
【０１５３】
（２）モード切替部１６４は、一の動作モードから他の動作モードに動作モードを切り替える要求を受けた場合に、サスペンド前処理部１７３によってメモリ領域１１２上に展開された実行情報が削除された後に、一の動作モードから他の動作モードに動作モードを切り替えてもよい。
【０１５４】
（３）プログラム実行装置１００は、ポリシー記憶部１７５に記憶されるポリシーをプログラム毎に設定する設定部を有していてもよい。設定部は、ポリシーを設定するためのユーザインタフェース（設定画面など）をユーザに提供する。
【０１５５】
（４）  レジューム処理において他の動作モードで必ず再開されるプログラムが設定されてもよい。このようなプログラムとしては、電話やメールの着信を処理するプログラムが挙げられる。
【０１５６】
（５）通知部１６５から他の動作モードに通知される情報は、プログラム名及び表示位置に加えて、他の情報を含んでいてもよい。他の情報は、例えば、プログラムが使用するメモリ領域１１２の使用量、プログラムの重要度、プログラムの処理内容などである。指定部１６６は、これらの情報に基づいて、指定プログラムを指定する。
【図面の簡単な説明】
【０１５７】
【図１】第１実施形態に係るプログラム実行装置１００の構成を示す図である。
【図２】第１実施形態に係る通知部１６５によって通知される情報を示す図である。
【図３】第１実施形態に係るプログラムの状態を説明するための図である。
【図４】第１実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図５】第１実施形態に係るプログラム実行装置１００の動作を示すフロー図である。
【図６】変更例１に係るプログラム実行装置１００の構成を示すブロック図である。
【図７】変更例２に係るプログラム実行装置１００の構成を示すブロック図である。
【図８】変更例２に係る停止時刻記憶部１７２に記憶された情報を示す図である。
【図９】変更例２に係るプログラム実行装置１００の動作を示すフロー図である。
【図１０】変更例３に係るプログラム実行装置１００の構成を示すブロック図である。
【図１１】変更例３に係るレジューム条件記憶部１７４に記憶された情報を示す図である。
【図１２】変更例３に係るプログラム実行装置１００の動作を示すフロー図である。
【図１３】変更例４に係るプログラム実行装置１００の構成を示すブロック図である。
【図１４】変更例４に係るポリシー記憶部１７５に記憶された情報を示す図である。
【図１５】変更例４に係るプログラム実行装置１００の動作を示すフロー図である。
【符号の説明】
【０１５８】
１０・・・非信頼プログラム、２０・・・信頼プログラム、１００・・・プログラム実行装置、１１０・・・非セキュア実行ドメイン、１１１・・・アプリケーション処理部、１１２・・・メモリ領域、１２０・・・セキュア実行ドメイン、１３０・・・非信頼モード、１４０・・・信頼モード、１６１・・・サスペンド部、１６２・・・レジューム部、１６３・・・ストレージ、１６４・・・モード切替部、１６５・・・通知部、１６６・・・指定部、１７１・・・信頼ゾーン、１７２・・・停止時刻記憶部、１７３・・・サスペンド前処理部、１７４・・・レジューム条件記憶部、１７５・・・ポリシー記憶部、２００・・・表示部
【図１】
2010129054.tif 000003
【図２】
2010129054.tif 000004
【図３】
2010129054.tif 000005
【図４】
2010129054.tif 000006
【図５】
2010129054.tif 000007
【図６】
2010129054.tif 000008
【図７】
2010129054.tif 000009
【図８】
2010129054.tif 000010
【図９】
2010129054.tif 000011
【図１０】
2010129054.tif 000012
【図１１】
2010129054.tif 000013
【図１２】
2010129054.tif 000014
【図１３】
2010129054.tif 000015
【図１４】
2010129054.tif 000016
【図１５】
2010129054.tif 000017