JP2010129054A - Program execution apparatus - Google Patents
Program execution apparatus Download PDFInfo
- Publication number
- JP2010129054A JP2010129054A JP2008306632A JP2008306632A JP2010129054A JP 2010129054 A JP2010129054 A JP 2010129054A JP 2008306632 A JP2008306632 A JP 2008306632A JP 2008306632 A JP2008306632 A JP 2008306632A JP 2010129054 A JP2010129054 A JP 2010129054A
- Authority
- JP
- Japan
- Prior art keywords
- program
- operation mode
- unit
- suspend
- execution device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、プログラムの種別毎に定義された複数の動作モードを有しており、前記複数の動作モードのそれぞれを排他的に設定するプログラム実行装置に関する。 The present invention relates to a program execution apparatus that has a plurality of operation modes defined for each type of program and exclusively sets each of the plurality of operation modes.
従来、多様なコンテンツやアプリケーションを追加可能に構成された携帯端末が知られている。以下においては、携帯端末に追加されたプログラム(追加プログラム)などを非信頼プログラムと称する。一方で、携帯端末に予め実装されたプログラムを信頼プログラムと称する。 Conventionally, portable terminals configured to be able to add various contents and applications are known. Hereinafter, a program (additional program) added to the mobile terminal is referred to as an untrusted program. On the other hand, a program installed in advance on the mobile terminal is referred to as a trust program.
一般的に、信頼プログラムの信頼性は保証されているが、非信頼プログラムの信頼性は保証されていないケースが多い。すなわち、追加プログラムは、携帯端末を構成するシステム(OS、ドライバ、ブラウザなど)の破壊、携帯端末に格納されたコンテンツの不正コピーなどを引き起こす危険性がある。 In general, the reliability of a trusted program is guaranteed, but the reliability of an untrusted program is often not guaranteed. In other words, the additional program has a risk of causing destruction of a system (OS, driver, browser, etc.) constituting the mobile terminal, illegal copying of content stored in the mobile terminal, and the like.
例えば、信頼プログラムによって実行される移動体通信網へのアクセス手順が追加プログラムに漏洩した場合に、携帯端末に格納されたコンテンツが移動体通信網に流出する危険性が考えられる。従って、システムやコンテンツを保護した上で、追加プログラムを実行することが好ましい。 For example, when the access procedure to the mobile communication network executed by the trusted program leaks to the additional program, there is a risk that the content stored in the mobile terminal leaks to the mobile communication network. Therefore, it is preferable to execute the additional program while protecting the system and contents.
このような危険性に対処する技術として、(1)プログラムを実行するモードとして、複数の実行モードを設ける第1技術(例えば、特許文献1)、(2)プログラムのサスペンド/レジュームを実行させるキーを設ける第2技術(例えば、特許文献2)、(3)プログラムのサスペンド/レジュームを管理する特殊プログラムを設ける第3技術(例えば、特許文献3)が提案されている。 As techniques for dealing with such dangers, (1) a first technique (for example, Patent Document 1) that provides a plurality of execution modes as modes for executing a program, and (2) a key for executing suspend / resume of a program There are proposed a second technique (for example, Patent Document 2) for providing a program, and (3) a third technique (for example, Patent Document 3) for providing a special program for managing suspend / resume of a program.
第1技術では、携帯端末は、非信頼モードと信頼モードとを有する。非信頼モードは、追加プログラムを実行するモードである。信頼モードは、信頼プログラムを実行するモードである。携帯端末は、非信頼モードと信頼モードとを時分割で動作させる。 In the first technique, the mobile terminal has an unreliable mode and a trusted mode. The untrusted mode is a mode for executing the additional program. The trust mode is a mode for executing a trust program. The portable terminal operates in an unreliable mode and a reliable mode in a time division manner.
第2技術では、携帯端末は、キーの押下に応じて、プログラムのサスペンドを実行する。同様に、携帯端末は、キーの押下に応じて、サスペンドへ遷移されたプログラムのレジュームを実行する。 In the second technique, the mobile terminal executes a program suspension in response to a key press. Similarly, the mobile terminal executes the resume of the program that has been changed to the suspend mode in response to the key press.
第3技術では、特殊プログラムは、携帯端末上で実行されているプログラムに対して、サスペンドを指示するコマンド(サスペンドコマンド)を送信する。同様に、特殊プログラムは、サスペンドへ遷移されたプログラムに対して、レジュームを指示するコマンド(レジュームコマンド)を送信する。
ここで、携帯端末上で実行されるプログラム数が増加すると、プログラムのサスペンド/レジュームが頻繁に生じることが想定される。例えば、追加プログラムの実行中に電話の着信を受けた場合に、信頼プログラム(電話プログラム)を信頼モードで実行する必要がある。すなわち、非信頼モードから信頼モードへの切り替えが必要である。このようなケースにおいて、多数の信頼プログラムがサスペンドされている場合には、多数の信頼プログラムのレジュームに必要な時間が増大する。これによって、電話の着信が一定期間内に完了しない恐れがある。 Here, when the number of programs executed on the mobile terminal increases, it is assumed that the suspend / resume of the program frequently occurs. For example, when an incoming call is received during execution of the additional program, it is necessary to execute the trust program (telephone program) in the trust mode. That is, switching from the unreliable mode to the reliable mode is necessary. In such a case, if a large number of trusted programs are suspended, the time required to resume a large number of trusted programs increases. As a result, incoming calls may not be completed within a certain period.
上述した第1技術〜第3技術では、追加プログラムの不正動作の抑制やサスペンド/レジュームの切り替えについては考慮されているが、モード切り替え時間の短縮については考慮されていない。 In the first to third technologies described above, suppression of unauthorized operations of additional programs and switching of suspend / resume are considered, but reduction of mode switching time is not considered.
そこで、本発明は、上述した課題を解決するためになされたものであり、動作モードの切り替え時間(モード切り替え時間)の短縮を図ることを可能とするプログラム実行装置を提供することを目的とする。 Accordingly, the present invention has been made to solve the above-described problems, and an object of the present invention is to provide a program execution device that can shorten the operation mode switching time (mode switching time). .
第1の特徴に係るプログラム実行装置は、プログラムの種別毎に定義された複数の動作モードを有しており、前記複数の動作モードのそれぞれを排他的に設定する。プログラム実行装置は、前記複数の動作モードのうち、一の動作モードから他の動作モードに前記動作モードが切り替えられる場合に、前記一の動作モードで実行されているプログラムであるサスペンド対象プログラムをデータストレージに退避するサスペンド部と、前記他の動作モードから前記一の動作モードに前記動作モードが切り替えられる場合に、前記データストレージに退避された前記サスペンド対象プログラムを前記一の動作モードで再開するレジューム部と、前記サスペンド対象プログラムを前記他の動作モードに通知する通知部と、前記通知部によって通知された前記サスペンド対象プログラムの中から、前記一の動作モードで再開すべきプログラムである指定プログラムを指定する指定部とを備える。前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開する。 The program execution device according to the first feature has a plurality of operation modes defined for each type of program, and sets each of the plurality of operation modes exclusively. When the operation mode is switched from one operation mode to another operation mode among the plurality of operation modes, the program execution device stores a suspend target program that is a program executed in the one operation mode as data A suspend unit that saves to storage, and a resume that resumes the suspended program saved to the data storage in the one operation mode when the operation mode is switched from the other operation mode to the one operation mode A notification unit that notifies the other operation mode of the suspend target program, and a designated program that is a program to be resumed in the one operation mode among the suspend target programs notified by the notification unit. And a designation unit for designating. The resume unit resumes the designated program designated by the designation unit in the one operation mode.
第1の特徴において、前記レジューム部は、前記指定部によって前記指定プログラムが指定されない場合に、前回の動作モードの切り替えにおいて前記サスペンド部によって前記データストレージに退避された前記サスペンド対象プログラムのみを前記一の動作モードで再開する。 In the first feature, when the designated program is not designated by the designating unit, the resume unit only selects the suspend target program saved in the data storage by the suspend unit in the previous switching of the operation mode. Restart in the operating mode.
第1の特徴において、プログラム実行装置は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える第1条件及び前記他の動作モードから前記一の動作モードに前記動作モードを切り替える第2条件を記憶する記憶部と、前記動作モードを切り替えるモード切替部とをさらに備える。前記モード切替部は、前記第1条件が満たされた場合に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替え、前記第2条件が満たされた場合に、前記他の動作モードから前記一の動作モードに前記動作モードを切り替える。 In the first feature, the program execution device includes a first condition for switching the operation mode from the one operation mode to the other operation mode, and a first condition for switching the operation mode from the other operation mode to the one operation mode. A storage unit that stores two conditions; and a mode switching unit that switches the operation mode. The mode switching unit switches the operation mode from the one operation mode to the other operation mode when the first condition is satisfied, and the other operation when the second condition is satisfied. The operation mode is switched from the mode to the one operation mode.
第1の特徴において、プログラム実行装置は、前記複数の動作モードがアクセス可能なメモリ領域であるデータ共有領域をさらに備える。前記通知部は、前記データ共有領域を用いて前記サスペンド対象プログラムを前記他の動作モードに通知する。前記データ共有領域は、前記他の動作モードによる前記サスペンド対象プログラムの改変が禁止される領域である。 In the first feature, the program execution device further includes a data sharing area which is a memory area accessible by the plurality of operation modes. The notification unit notifies the other operation mode of the suspend target program using the data sharing area. The data sharing area is an area where modification of the suspend target program in the other operation mode is prohibited.
第1の特徴において、前記通知部は、前記サスペンド対象プログラムの名称を前記他の動作モードに通知する。 In the first feature, the notification unit notifies the name of the suspend target program to the other operation mode.
第1の特徴において、前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開する場合に、前記指定部によって指定された前記指定プログラムによって実行されるアプリケーションを表示部上における最前面に表示させる。 In the first feature, the resume unit displays an application executed by the designated program designated by the designation unit when the designated program designated by the designation unit is resumed in the one operation mode. Display on the forefront of the department.
第1の特徴において、前記一の動作モードは、前記一の動作モードにおいて実行状態にあるプログラムの実行情報をメモリ領域上に展開する。プログラム実行装置は、前記実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する停止時刻記憶部と、前記停止時刻から所定時間が経過した場合に、前記メモリ領域上に展開された実行情報を前記データストレージに退避するサスペンド前処理部とをさらに備える。 In the first feature, in the one operation mode, execution information of a program in an execution state in the one operation mode is developed on a memory area. The program execution device is expanded in the memory area when a predetermined time has elapsed from the stop time, and a stop time storage unit that stores a stop time that is a time when the program in the execution state transits to the stop state. And a suspend preprocessing unit that saves the execution information to the data storage.
第1の特徴において、前記サスペンド前処理部は、前記停止状態に遷移したプログラムが前記実行状態に遷移した場合に、前記データストレージに退避された実行情報を削除する。 In the first feature, the suspend preprocessing unit deletes execution information saved in the data storage when a program that has transitioned to the stopped state transitions to the execution state.
第1の特徴において、前記サスペンド前処理部は、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避される場合に、前記メモリ領域上に展開された実行情報を削除する。 In the first feature, the suspend preprocessing unit deletes the execution information expanded in the memory area when the suspend target program is saved in the data storage by the suspend unit.
第1の特徴において、前記レジューム部は、前記サスペンド対象プログラムのいずれかである処理対象プログラムに対する処理要求を受けた場合に、前記データストレージに退避された実行情報を用いて、前記処理対象プログラムを前記一の動作モードで再開する。 In the first feature, when the resume unit receives a processing request for a processing target program that is one of the suspend target programs, the resume unit uses the execution information saved in the data storage to execute the processing target program. Resume in the one operation mode.
第1の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記一の動作モードで前記サスペンド対象プログラムを再開する再開条件を記憶する条件記憶部をさらに備える。前記レジューム部は、前記処理対象プログラムに対する処理要求が前記再開条件を満たす場合に、前記処理対象プログラムを前記一の動作モードで再開する。 In the first feature, the program execution device further includes a condition storage unit that stores a resumption condition for resuming the suspend target program in the one operation mode for each of the suspend target programs. The resume unit resumes the processing target program in the one operation mode when a processing request for the processing target program satisfies the restart condition.
第1の特徴において、プログラム実行装置は、前記動作モードを切り替えるモード切替部をさらに備える。前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える。 In the first feature, the program execution device further includes a mode switching unit that switches the operation mode. When the mode switching unit receives a request to switch the operation mode from the one operation mode to the other operation mode, the suspend unit saves the suspend target program in the data storage, and then The operation mode is switched from the operation mode to the other operation mode.
第1の特徴において、プログラム実行装置は、前記動作モードを切り替えるモード切替部をさらに備える。前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド前処理部によって前記メモリ領域上に展開された実行情報が削除された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える。 In the first feature, the program execution device further includes a mode switching unit that switches the operation mode. When the mode switching unit receives a request to switch the operation mode from the one operation mode to the other operation mode, the execution information developed in the memory area by the suspend preprocessing unit is deleted. Later, the operation mode is switched from the one operation mode to the other operation mode.
第1の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記メモリ領域上に展開された実行情報を前記データストレージに退避するポリシーである退避ポリシーを記憶する記憶部をさらに備える。前記サスペンド前処理部は、前記退避ポリシーに基づいて、前記メモリ領域上に展開された実行情報を前記データストレージに退避する。 In the first feature, the program execution device further includes a storage unit that stores a save policy that is a policy for saving the execution information expanded in the memory area to the data storage for each of the suspend target programs. The suspend preprocessing unit saves execution information expanded in the memory area to the data storage based on the save policy.
第1の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記サスペンド対象プログラムを前記データストレージに退避するポリシーであるサスペンドポリシーを記憶する記憶部をさらに備える。前記サスペンド前処理部は、前記サスペンドポリシーに基づいて、前記サスペンド対象プログラムを前記データストレージに退避する。 In the first feature, the program execution device further includes a storage unit that stores a suspend policy that is a policy for saving the suspend target program to the data storage for each of the suspend target programs. The suspend preprocessing unit saves the suspend target program in the data storage based on the suspend policy.
第1の特徴において、プログラム実行装置は、前記サスペンド対象プログラムのそれぞれについて、前記メモリ領域上に展開された実行情報を削除するポリシーである削除ポリシーを記憶する記憶部をさらに備える。前記サスペンド前処理部は、前記削除ポリシーに基づいて、前記メモリ領域上に展開された実行情報を削除する。 In the first feature, the program execution device further includes a storage unit that stores a deletion policy, which is a policy for deleting the execution information expanded on the memory area, for each of the suspend target programs. The suspend preprocessing unit deletes execution information expanded in the memory area based on the deletion policy.
本発明によれば、動作モードの切り替え時間(モード切り替え時間)の短縮を図ることを可能とするプログラム実行装置を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the program execution apparatus which makes it possible to shorten operation mode switching time (mode switching time) can be provided.
以下において、本発明の実施形態に係るプログラム実行装置について、図面を参照しながら説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。 Hereinafter, a program execution device according to an embodiment of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.
ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。従って、具体的な寸法などは以下の説明を参酌して判断すべきである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。 However, it should be noted that the drawings are schematic and ratios of dimensions and the like are different from actual ones. Therefore, specific dimensions and the like should be determined in consideration of the following description. Moreover, it is a matter of course that portions having different dimensional relationships and ratios are included between the drawings.
[実施形態の概要]
実施形態に係るプログラム実行装置は、プログラムの種別毎に定義された複数の動作モードを有しており、複数の動作モードのそれぞれを排他的に設定する。動作モードは、例えば、信頼プログラムを実行する信頼モード、非信頼プログラムを実行する非信頼モードなどである。信頼プログラムは、例えば、プログラム実行装置を搭載する携帯端末に予め実装されたプログラムである。非信頼プログラムは、例えば、プログラム実行装置を搭載する携帯端末に追加されたプログラム(追加プログラム)である。プログラム実行装置は、サスペンド部と、レジューム部と、通知部と、指定部とを備える。
[Outline of Embodiment]
The program execution device according to the embodiment has a plurality of operation modes defined for each type of program, and sets each of the plurality of operation modes exclusively. The operation mode is, for example, a trust mode for executing a trust program, a non-trust mode for executing a non-trust program, or the like. The trust program is, for example, a program installed in advance on a mobile terminal on which the program execution device is mounted. The unreliable program is, for example, a program (additional program) added to a mobile terminal equipped with a program execution device. The program execution device includes a suspend unit, a resume unit, a notification unit, and a designation unit.
サスペンド部は、複数の動作モードのうち、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、一の動作モードで実行されているプログラムであるサスペンド対象プログラムをデータストレージに退避する。レジューム部は、他の動作モードから一の動作モードに動作モードが切り替えられる場合に、データストレージに退避されたサスペンド対象プログラムを一の動作モードで再開する。通知部は、サスペンド対象プログラムを他の動作モードに通知する。指定部は、通知部によって通知されたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部は、指定部によって指定された指定プログラムを一の動作モードで再開する。 The suspend unit saves a suspend target program, which is a program executed in one operation mode, to a data storage when the operation mode is switched from one operation mode to another operation mode among a plurality of operation modes. . When the operation mode is switched from one operation mode to another operation mode, the resume unit resumes the suspend target program saved in the data storage in the one operation mode. The notification unit notifies the suspension target program to another operation mode. The designation unit designates a designated program that is a program to be resumed in one operation mode from the suspension target programs notified by the notification unit. The resume unit resumes the designated program designated by the designation unit in one operation mode.
このように、指定部は、一の動作モードで動作していたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部は、指定部によって指定された指定プログラムを一の動作モードで再開する。 In this manner, the designation unit designates a designated program that is a program to be resumed in one operation mode from among the suspension target programs that have been operating in the one operation mode. The resume unit resumes the designated program designated by the designation unit in one operation mode.
従って、一の動作モードで再開すべきプログラム数を減少することができ、動作モードの切り替え時間を短縮できる。 Therefore, the number of programs to be restarted in one operation mode can be reduced, and the operation mode switching time can be shortened.
[第1実施形態]
(プログラム実行装置の構成)
以下において、第1実施形態に係るプログラム実行装置の構成について、図面を参照しながら説明する。図1は、第1実施形態に係るプログラム実行装置100を示すブロック図である。プログラム実行装置100は、例えば、携帯端末に搭載される。
[First Embodiment]
(Configuration of program execution device)
The configuration of the program execution device according to the first embodiment will be described below with reference to the drawings. FIG. 1 is a block diagram showing a
図1に示すように、プログラム実行装置100は、非セキュア実行ドメイン110と、セキュア実行ドメイン120とを有する。
As illustrated in FIG. 1, the
なお、プログラム実行装置100は、非信頼プログラム10A〜非信頼プログラム10Cを実行する非信頼モード130と、信頼プログラム20A〜信頼プログラム20Cを実行する信頼モード140とを有する。プログラム実行装置100は、非信頼モード130と信頼モード140とを排他的に設定する。
The
第1実施形態では、一の動作モードから他の動作モードにアクティブな動作モードを切り替える際に行われるサスペンド処理、他の動作モードから一の動作モードにアクティブな動作モードを切り替える際に行われるレジューム処理について例示する。 In the first embodiment, a suspend process performed when switching an active operation mode from one operation mode to another operation mode, and a resume performed when switching an active operation mode from another operation mode to one operation mode. An example of processing will be described.
また、プログラム実行装置100には、表示部200が併設されている。表示部200は、プログラム実行装置100によって実行されるプログラムに対応するアプリケーションを表示する。表示部200は、例えば、携帯端末に搭載される。
The
非セキュア実行ドメイン110は、セキュア実行ドメイン120とハード的に切り離されており、新たに追加されたアプリケーションなどが実行されるドメインである。非セキュア実行ドメイン110は、上述した非信頼モード130及び信頼モード140を有する。
The
セキュア実行ドメイン120は、非セキュア実行ドメイン110とハード的に切り離されており、セキュリティが保護されたドメインである。例えば、セキュア実行ドメイン120は、通信機能に係るアプリケーションを実行する。
The
ここで、非セキュア実行ドメイン110は、アプリケーション処理部111と、メモリ領域112とを有する。また、非セキュア実行ドメイン110は、サスペンド部161と、レジューム部162と、ストレージ163と、モード切替部164と、通知部165と、指定部166とを有する。
Here, the
アプリケーション処理部111は、非信頼プログラム10や信頼プログラム20に基づいて、アプリケーションを実行する。アプリケーション処理部111は、非信頼モード130及び信頼モード140のうち、アクティブな動作モードによって用いられる。
The
メモリ領域112は、各種情報を一次的に記憶するメモリ領域である。メモリ領域112は、例えば、アプリケーションの実行情報を記憶する。メモリ領域112は、非信頼モード130及び信頼モード140のうち、アクティブな動作モードによって用いられる。
The
実行情報は、例えば、プログラムのメモリマップ、プログラムが利用するファイルやソケット、プログラムが受付けるシグナル、プログラムが受付けるシグナルの動作、スタック情報、ヒープ情報、レジスタ情報などである。 The execution information is, for example, a program memory map, a file or socket used by the program, a signal accepted by the program, an operation of a signal accepted by the program, stack information, heap information, register information, and the like.
サスペンド部161は、サスペンド処理を行う。具体的には、サスペンド部161は、複数の動作モードのうち、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、一の動作モードで実行されているプログラムであるサスペンド対象プログラムをストレージ163に退避する。サスペンド部161は、サスペンド対象プログラムの実行情報を状態情報としてストレージ163に退避する。
The suspend
レジューム部162は、レジューム処理を行う。具体的には、レジューム部162は、他の動作モードから一の動作モードに動作モードが切り替えられる場合に、ストレージ163に退避されたサスペンド対象プログラムを一の動作モードで再開する。
The
ここで、レジューム部162は、後述する指定部166によって指定された指定プログラムを一の動作モードで再開することに留意すべきである。
Here, it should be noted that the
なお、レジューム部162は、後述する指定部166によって指定プログラムが指定されない場合に、前回の動作モードの切り替えにおいてサスペンド部161によってストレージ163に退避されたサスペンド対象プログラムのみを一の動作モードで再開する。
The
ここで、レジューム部162は、後述する指定部166によって指定された指定プログラムを再開する際に、指定プログラムによって実行されるアプリケーションを表示部200上における最前面に表示させる。
Here, the
なお、レジューム部162は、複数の指定プログラムが指定されている場合には、後述する通知部165によって通知された表示位置の関係を維持するように、アプリケーションの表示位置を制御してもよい。
When a plurality of designated programs are designated, the
例えば、最前面に表示されていたアプリケーションを実行するサスペンド対象プログラム及び3番目に表示されていたアプリケーションを実行するサスペンド対象プログラムが指定プログラムとして指定されたケースについて考える。すなわち、2番目に表示されていたアプリケーションを実行するサスペンド対象プログラムが指定プログラムとして指定されなかったケースについて考える。 For example, consider a case where a suspend target program for executing an application displayed in the foreground and a suspend target program for executing an application displayed third are specified as designated programs. That is, consider a case where the suspend target program that executes the application displayed second is not designated as the designated program.
このようなケースでは、レジューム部162は、最前面に表示されていたアプリケーションを実行するサスペンド対象プログラム(指定プログラム)を最前面に表示する。レジューム部162は、3番目に表示されていたアプリケーションを実行するサスペンド対象プログラム(指定プログラム)を2番目に表示する。
In such a case, the
ストレージ163は、プログラム実行装置100で実行されるOS(Operating System)や各種プログラムを記憶する。また、ストレージ163は、サスペンド部161によって退避されたサスペンド対象プログラムの実行情報を状態情報として記憶する。
The
さらに、ストレージ163は、アクティブな動作モードを切り替える条件を記憶する。具体的には、ストレージ163は、非信頼モード130から信頼モード140にアクティブな動作モードを切り替える第1条件、信頼モード140から非信頼モード130にアクティブな動作モードを切り替える第2条件を記憶する。
Further, the
第1条件は、例えば、電源投入や電話着信などのイベントの発生である。第2条件は、例えば、非信頼プログラムの起動などのイベントの発生である。 The first condition is, for example, the occurrence of an event such as power-on or incoming call. The second condition is, for example, occurrence of an event such as activation of an untrusted program.
モード切替部164は、動作モードを切り替える。具体的には、モード切替部164は、非信頼モード130から信頼モード140にアクティブな動作モードを切り替える。すなわち、モード切替部164は、第1条件が満たされた場合に、非信頼モード130から信頼モード140にアクティブな動作モードを切り替える。同様に、モード切替部164は、信頼モード140から非信頼モード130にアクティブな動作モードを切り替える。すなわち、モード切替部164は、第2条件が満たされた場合に、信頼モード140から非信頼モード130にアクティブな動作モードを切り替える。
The
通知部165は、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、サスペンド対象プログラムを他の動作モードに通知する。例えば、通知部165は、サスペンド対象プログラムの名称を他の動作モードに通知する。
The
例えば、通知部165は、図2に示すように、サスペンド対象プログラムの名称と、サスペンド対象プログラムによって実行されるアプリケーションの表示位置とを通知する。なお、表示位置は、表示部200上において複数のアプリケーションが表示されている場合に、表示部200上において各アプリケーションが表示される位置(最前面、2番目、最背面)である。
For example, as illustrated in FIG. 2, the
指定部166は、通知部165によって通知されたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。
The
(プログラムの状態)
以下において、第1実施形態に係るプログラムの状態について、図面を参照しながら説明する。図3は、第1実施形態に係るプログラムの状態を説明するための図である。
(Program status)
Hereinafter, the state of the program according to the first embodiment will be described with reference to the drawings. FIG. 3 is a diagram for explaining the state of the program according to the first embodiment.
図3に示すように、プログラムの状態としては、(1)サスペンド状態、(2)状態保存状態、(3)停止状態、(4)実行状態が挙げられる。 As shown in FIG. 3, the program status includes (1) suspend status, (2) status save status, (3) stop status, and (4) execution status.
(1)サスペンド状態は、プログラムの実行情報がメモリ領域112上に展開されていないが、プログラムの実行情報が状態情報としてストレージ163に記憶された状態である。
(1) The suspended state is a state in which the program execution information is not expanded in the
(2)状態保存状態は、プログラムの実行情報がメモリ領域112上に展開されており、プログラムの実行情報が状態情報としてストレージ163に記憶された状態である。
(2) The state storage state is a state in which program execution information is expanded on the
(3)停止状態は、プログラムの実行情報がメモリ領域112上に展開されているが、プログラムが停止している状態である。
(3) The stopped state is a state where the program execution information is expanded on the
(4)実行状態は、プログラムの実行情報がメモリ領域112上に展開されており、プログラムが実行されている状態である。
(4) The execution state is a state in which the program execution information is expanded on the
(プログラム実行装置の動作)
以下において、第1実施形態に係るプログラム実行装置の動作について、図面を参照しながら説明する。図4及び図5は、第1実施形態に係るプログラム実行装置100の動作を示すフロー図である。
(Operation of the program execution device)
Hereinafter, the operation of the program execution device according to the first embodiment will be described with reference to the drawings. 4 and 5 are flowcharts showing the operation of the
上述したように、第1実施形態では、一の動作モードから他の動作モードにアクティブな動作モードを切り替える際に行われるサスペンド処理、他の動作モードから一の動作モードにアクティブな動作モードを切り替える際に行われるレジューム処理について例示する。 As described above, in the first embodiment, the suspend process performed when switching an active operation mode from one operation mode to another operation mode, and switching the active operation mode from another operation mode to one operation mode. An example of the resume process performed at this time will be described.
第1に、一の動作モードにおけるプログラム実行装置100の動作について、図4を参照しながら説明する。
First, the operation of the
図4に示すように、ステップ10において、プログラム実行装置100は、一の動作モードで実行されるプログラムを取得し、一の動作モードで実行されるプログラムを管理する。
As shown in FIG. 4, in step 10, the
ステップ11において、プログラム実行装置100は、切り替え後の動作モード(すなわち、他の動作モード)に対して、一の動作モードで実行されるプログラム(サスペンド対象プログラム)を通知する。
In step 11, the
ステップ12において、プログラム実行装置100は、一の動作モードから他の動作モードにアクティブな動作モードを切り替える。
In step 12, the
ステップ13において、プログラム実行装置100は、他の動作モードから一の動作モードにアクティブな動作モードを切り替える。
In step 13, the
なお、ステップ12の処理とステップ13の処理との間では、プログラム実行装置100は、他の動作モードで動作する。
In addition, between the process of step 12 and the process of step 13, the
ステップ14において、プログラム実行装置100は、指定部166によって指定プログラムが指定されているか否かを判定する。プログラム実行装置100は、指定プログラムが指定されている場合には、ステップ15の処理に移る。一方で、プログラム実行装置100は、指定プログラムが指定されている場合には、ステップ16の処理に移る。
In step 14, the
ステップ15において、プログラム実行装置100は、指定部166によって指定された指定プログラムを再開する。すなわち、プログラム実行装置100は、レジューム処理において指定プログラムを復帰する。
In step 15, the
ステップ16において、プログラム実行装置100は、前回の動作モードの切り替えにおいてサスペンド部161によってストレージ163に退避されたサスペンド対象プログラムのみを再開する。すなわち、プログラム実行装置100は、前回の動作モードの切り替え前に一の動作モードで実行されていたサスペンド対象プログラムを復帰する。
In step 16, the
第2に、他の動作モードにおけるプログラム実行装置100の動作について、図5を参照しながら説明する。
Secondly, the operation of the
図5に示すように、ステップ20において、プログラム実行装置100は、一の動作モードで実行されていたサスペンド対象プログラムを取得する。すなわち、プログラム実行装置100は、切り替え後の動作モード(すなわち、一の動作モード)において再開すべきサスペンド対象プログラムを取得する。
As shown in FIG. 5, in
ステップ21において、プログラム実行装置100は、指定プログラムを指定するか否かを判定する。プログラム実行装置100は、指定プログラムを指定する場合には、ステップ22の処理に移る。一方で、プログラム実行装置100は、指定プログラムを指定しない場合には、ステップ23の処理に移る。
In step 21, the
ステップ22において、プログラム実行装置100は、ステップ20で取得したサスペンド対象プログラムの中から、指定プログラムを指定する。
In step 22, the
ステップ23において、プログラム実行装置100は、動作モードの切り替えを要求する。すなわち、プログラム実行装置100は、他の動作モードから一の動作モードへのアクティブな動作モードの切り替えを要求する。
In step 23, the
ステップ24において、プログラム実行装置100は、動作モードを切り替える。すなわち、プログラム実行装置100は、他の動作モードから一の動作モードへのアクティブな動作モードを切り替える。
In step 24, the
(作用及び効果)
第1実施形態では、指定部166は、一の動作モードで動作していたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部162は、指定部166によって指定された指定プログラムを一の動作モードで再開する。
(Function and effect)
In the first embodiment, the
従って、一の動作モードで再開すべきプログラム数を減少することができ、動作モードの切り替え時間を短縮できる。 Therefore, the number of programs to be restarted in one operation mode can be reduced, and the operation mode switching time can be shortened.
第1実施形態では、レジューム部162は、指定部166によって指定プログラムが指定されなかった場合に、前回の動作モードの切り替えにおいてサスペンド部161によってストレージ163に退避されたサスペンド対象プログラムのみを一の動作モードで再開する。
In the first embodiment, when the designated program is not designated by the
従って、一の動作モードで全プログラムを再開する必要がなく、動作モードの切り替え時間を短縮できる。 Therefore, it is not necessary to restart all programs in one operation mode, and the operation mode switching time can be shortened.
第1実施形態では、通知部165は、サスペンド対象プログラムの名称を他の動作モードに通知する。従って、他の動作モードにサスペンド対象プログラムを通知する際に生じるリスクが軽減される。
In the first embodiment, the
第1実施形態では、レジューム部162は、指定部166によって指定された指定プログラムを再開する際に、指定プログラムによって実行されるアプリケーションを表示部200上における最前面に表示させる。従って、ユーザは、指定プログラムによって実行されるアプリケーションを即時的に利用できる。
In the first embodiment, the
第1実施形態では、モード切替部164は、第1条件が満たされた場合に、非信頼モード130から信頼モード140にアクティブな動作モードを切り替える。同様に、モード切替部164は、第2条件が満たされた場合に、信頼モード140から非信頼モード130にアクティブな動作モードを切り替える。従って、動作モードが自動的に切り替えられる。
In the first embodiment, the
[変更例1]
以下において、第1実施形態の変更例1について、図面を参照しながら説明する。以下においては、第1実施形態との相違点について主として説明する。
[Modification 1]
Hereinafter, Modification Example 1 of the first embodiment will be described with reference to the drawings. In the following, differences from the first embodiment will be mainly described.
変更例1では、プログラム実行装置100は、複数の動作モードがアクセス可能なメモリ領域であるデータ共有領域を備える。
In the first modification, the
(プログラム実行装置の構成)
以下において、変更例1に係るプログラム実行装置の構成について、図面を参照しながら説明する。図6は、変更例1に係るプログラム実行装置100の構成を示すブロック図である。図6では、図1と同様の構成について同様の符号を付していることに留意すべきである。
(Configuration of program execution device)
Hereinafter, the configuration of the program execution device according to the first modification will be described with reference to the drawings. FIG. 6 is a block diagram illustrating a configuration of the
図6に示すように、プログラム実行装置100は、図1に示す構成に加えて、信頼ゾーン171を有する。
As illustrated in FIG. 6, the
信頼ゾーン171は、複数の動作モード(非信頼モード130及び信頼モード140)がアクセス可能なメモリ領域であるデータ共有領域である。信頼ゾーン171は、他の動作モード(例えば、非信頼モード130)によるサスペンド対象プログラムの改変が禁止される領域である。信頼ゾーン171としては、例えば、AMR社のTrustZoneを用いることが可能である。
The
なお、上述した通知部165は、信頼ゾーン171を用いてサスペンド対象プログラムを他の動作モードに通知する。
The
(作用及び効果)
変更例1では、通知部165は、信頼ゾーン171を用いてサスペンド対象プログラムを他の動作モードに通知する。信頼ゾーン171は、他の動作モード(例えば、非信頼モード130)によるサスペンド対象プログラムの改変が禁止される領域である。従って、サスペンド処理やレジューム処理に伴うシステムの破壊やコンテンツの不正コピーなどを抑制できる。
(Function and effect)
In the first modification, the
[変更例2]
以下において、第1実施形態の変更例2について、図面を参照しながら説明する。以下においては、第1実施形態との相違点について主として説明する。
[Modification 2]
Hereinafter, Modification Example 2 of the first embodiment will be described with reference to the drawings. In the following, differences from the first embodiment will be mainly described.
変更例2では、プログラム実行装置100は、プログラムの停止時刻をプログラムと対応付けて管理する。
In the second modification, the
(プログラム実行装置の構成)
以下において、変更例2に係るプログラム実行装置の構成について、図面を参照しながら説明する。図7は、変更例2に係るプログラム実行装置100の構成を示すブロック図である。図7では、図1と同様の構成について同様の符号を付していることに留意すべきである。
(Configuration of program execution device)
Hereinafter, the configuration of the program execution device according to the second modification will be described with reference to the drawings. FIG. 7 is a block diagram illustrating a configuration of the
図7に示すように、プログラム実行装置100は、図1に示す構成に加えて、停止時刻記憶部172と、サスペンド前処理部173とを有する。
As illustrated in FIG. 7, the
停止時刻記憶部172は、実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する。停止時刻記憶部172は、例えば、図8に示すように、プログラム名と表示位置と停止時刻とを対応付けるテーブルを記憶する。
The stop
サスペンド前処理部173は、動作モードの切り替えに伴ってサスペンド部161がサスペンド処理を行う前に、サスペンド処理の一部を予め行う。具体的には、サスペンド前処理部173は、以下に示す動作を行う。
The suspend
第1に、サスペンド前処理部173は、停止時刻から所定時間が経過した場合に、メモリ領域112上に展開された実行情報を状態情報としてストレージ163に退避する。言い換えると、サスペンド前処理部173は、動作モードの切り替えが生じる前において、プログラムの実行情報(状態情報)を予めストレージ163に退避する。このように、サスペンド前処理部173は、動作モードの切り替えが生じる前において、サスペンド処理の一部を予め行う。
First, the suspend preprocessing
第2に、サスペンド前処理部173は、停止状態に遷移したプログラムが実行状態に遷移した場合に、ストレージ163に状態情報(実行情報)が退避された実行情報を削除する。すなわち、サスペンド前処理部173は、ストレージ163に退避されたプログラムの実行情報(状態情報)を削除する。
Second, the suspend preprocessing
第3に、サスペンド前処理部173は、サスペンド部161によってサスペンド対象プログラムがストレージ163に退避される場合に、メモリ領域112上に展開された実行情報を削除する。
Third, the suspend preprocessing
(プログラム実行装置の動作)
以下において、変更例2に係るプログラム実行装置の動作について、図面を参照しながら説明する。図9は、変更例2に係るプログラム実行装置100の構成を示すブロック図である。なお、図9に示すフローは、アクティブな動作モードにおいて実行されている全プログラムを対象として行われる一連の処理である。
(Operation of the program execution device)
Hereinafter, the operation of the program execution device according to the second modification will be described with reference to the drawings. FIG. 9 is a block diagram illustrating a configuration of the
図9に示すように、ステップ30において、プログラム実行装置100は、プログラムが停止状態であるか否かを判定する。プログラム実行装置100は、プログラムが停止状態である場合には、ステップ31の処理に移る。一方で、プログラム実行装置100は、プログラムが実行状態である場合には、ステップ32の処理に移る。
As shown in FIG. 9, in
ステップ31において、プログラム実行装置100は、プログラムの停止時刻を停止時刻記憶部172に記憶する。
In step 31, the
ステップ32において、プログラム実行装置100は、プログラムの停止時刻が記憶されているか否かを判定する。プログラム実行装置100は、プログラムの停止時刻が記憶されている場合には、ステップ33の処理に移る。一方で、プログラム実行装置100は、プログラムの停止時刻が記憶されていない場合には、一連の処理を終了する。
In step 32, the
ステップ33において、プログラム実行装置100は、停止時刻記憶部172に記憶されたプログラムの停止時刻を初期化する。例えば、プログラム実行装置100は、停止時刻記憶部172に記憶されたプログラムの停止時刻を削除する。また、プログラム実行装置100は、停止時刻記憶部172に記憶されたプログラムの停止時刻を無効化ビットによって無効化してもよい。
In step 33, the
(作用及び効果)
変更例2では、サスペンド前処理部173は、動作モードの切り替えに伴ってサスペンド部161がサスペンド処理を行う前に、サスペンド処理の一部を予め行う。従って、モード切り替えに伴うサスペンド処理が軽減され、動作モードの切り替え時間を短縮できる。
(Function and effect)
In the second modification, the suspend preprocessing
[変更例3]
以下において、第1実施形態の変更例3について、図面を参照しながら説明する。以下においては、変更例2との相違点について主として説明する。
[Modification 3]
Hereinafter, Modification Example 3 of the first embodiment will be described with reference to the drawings. In the following, differences from the second modification will be mainly described.
変更例3では、プログラム実行装置100は、プログラムのレジューム条件(再開条件)をプログラムと対応付けて管理する。
In the third modification, the
(プログラム実行装置の構成)
以下において、変更例3に係るプログラム実行装置の構成について、図面を参照しながら説明する。図10は、変更例3に係るプログラム実行装置100の構成を示すブロック図である。図10では、図7と同様の構成について同様の符号を付していることに留意すべきである。
(Configuration of program execution device)
Hereinafter, the configuration of the program execution device according to
図10に示すように、プログラム実行装置100は、図7に示す構成に加えて、レジューム条件記憶部174を有する。
As shown in FIG. 10, the
レジューム条件記憶部174は、図11に示すように、プログラム名とレジューム条件とを対応付けるテーブルを記憶する。 As shown in FIG. 11, the resume condition storage unit 174 stores a table that associates program names with resume conditions.
レジューム条件は、プログラムへの要求に係るプログラム要求条件と、プログラム実行装置100全体に係るイベント条件とを含む。プログラム要求条件は、例えば、非信頼プログラム10Aに対応付けられた条件“ネットワーク割込み”である。イベント条件は、例えば、非信頼プログラム10Bに対応付けられた条件“負荷10%以下”である。
The resume condition includes a program request condition related to a request to the program and an event condition related to the entire
なお、上述したレジューム部162は、サスペンド対象プログラムのうち、レジューム条件を満たすプログラム(処理対象プログラム)を再開する。
The
(プログラム実行装置の動作)
以下において、変更例3に係るプログラム実行装置の動作について、図面を参照しながら説明する。図12は、変更例3に係るプログラム実行装置100の動作を示すフロー図である。
(Operation of the program execution device)
Hereinafter, the operation of the program execution device according to the third modification will be described with reference to the drawings. FIG. 12 is a flowchart illustrating the operation of the
図12に示すように、ステップ40において、プログラム実行装置100は、プログラムへの要求があるか否かを判定する。プログラム実行装置100は、プログラムへの要求がある場合には、ステップ41の処理に移る。一方で、プログラム実行装置100は、プログラムへの要求がない場合には、ステップ42の処理に移る。
As shown in FIG. 12, in step 40, the
ステップ41において、プログラム実行装置100は、レジューム条件(プログラム要求条件)を満たすプログラム(処理対象プログラム)がサスペンド状態に遷移しているか否かを判定する。プログラム実行装置100は、レジューム条件(プログラム要求条件)を満たすプログラムがサスペンド状態に遷移している場合には、ステップ43の処理に移る。一方で、プログラム実行装置100は、レジューム条件(プログラム要求条件)を満たすプログラムがサスペンド状態に遷移していない場合には、一連の処理を終了する。
In
ステップ42において、プログラム実行装置100は、レジューム条件(イベント条件)が満たされているか否かを判定する。プログラム実行装置100は、レジューム条件(イベント条件)が満たされている場合には、ステップ43の処理に移る。一方で、プログラム実行装置100は、レジューム条件(イベント条件)が満たされていない場合には、一連の処理を終了する。
In step 42, the
ステップ43において、プログラム実行装置100は、レジューム条件(プログラム要求条件又はイベント条件)を満たすプログラム(処理対象プログラム)を再開する。プログラム実行装置100は、レジューム条件(プログラム要求条件又はイベント条件)を満たすプログラムを復帰する。
In step 43, the
(作用及び効果)
変更例3では、レジューム部162は、サスペンド対象プログラムのうち、レジューム条件を満たすプログラム(処理対象プログラム)を再開する。従って、サスペンド対象プログラムのいずれかである処理対象プログラムを必要に応じて実行状態に遷移させることができる。
(Function and effect)
In the third modification, the
[変更例4]
以下において、第1実施形態の変更例4について、図面を参照しながら説明する。以下においては、変更例2との相違点について主として説明する。
[Modification 4]
Hereinafter, Modification Example 4 of the first embodiment will be described with reference to the drawings. In the following, differences from the second modification will be mainly described.
変更例4では、プログラム実行装置100は、プログラムの状態遷移に係るポリシーをプログラムと対応付けて管理する。
In the fourth modification, the
(プログラム実行装置の構成)
以下において、変更例4に係るプログラム実行装置の構成について、図面を参照しながら説明する。図13は、変更例4に係るプログラム実行装置100の構成を示すブロック図である。図13では、図7と同様の構成について同様の符号を付していることに留意すべきである。
(Configuration of program execution device)
Hereinafter, the configuration of the program execution device according to the modified example 4 will be described with reference to the drawings. FIG. 13 is a block diagram illustrating a configuration of the
図13に示すように、プログラム実行装置100は、図7に示す構成に加えて、ポリシー記憶部175を有する。
As illustrated in FIG. 13, the
ポリシー記憶部175は、図14に示すように、プログラム名とポリシーとを対応付けるテーブルを記憶する。ポリシーは、状態遷移及び処理開始条件を含む。
As shown in FIG. 14, the
状態遷移は、プログラムの状態遷移を示している。例えば、信頼プログラムA,D,Pに対応付けられた状態遷移“停止状態→状態保存状態”は、処理開始条件が満たされた場合に、信頼プログラムA,D,Pの状態を停止状態から状態保存状態に遷移させることを意味する。 The state transition indicates the state transition of the program. For example, the state transition “stop state → state storage state” associated with the trust programs A, D, and P changes the state of the trust programs A, D, and P from the stop state when the processing start condition is satisfied. It means to transition to the saved state.
処理開始条件は、状態遷移を開始する条件である。例えば、信頼プログラムA,D,Pに対応付けられた処理開始条件“60秒後”は、信頼プログラムA,D,Pが停止状態に遷移してから経過した時間が60秒に達した場合に、信頼プログラムA,D,Pの状態を状態保存状態に遷移させることを意味する。 The process start condition is a condition for starting state transition. For example, the processing start condition “after 60 seconds” associated with the trust programs A, D, and P is when the time elapsed since the trust programs A, D, and P have transitioned to the stop state reaches 60 seconds. This means that the state of the trust programs A, D, and P is changed to the state storage state.
ポリシー記憶部175に記憶されたポリシーとしては、(1)退避ポリシー、(2)サスペンドポリシー、(3)削除ポリシーなどである。
The policies stored in the
(1)退避ポリシーは、実行状態又は停止状態のプログラム(サスペンド対象プログラム)について、メモリ領域112上に展開された実行情報をストレージ163に退避するポリシーである。退避ポリシーは、例えば、信頼プログラムA,D,Pに対応付けられたポリシーのように、停止状態から状態保存状態に遷移するポリシーである。
(1) The evacuation policy is a policy for evacuating the execution information expanded on the
(2)サスペンドポリシーは、実行状態又は停止状態のプログラム(サスペンド対象プログラム)について、プログラムをストレージ163に退避するポリシーである。具体的には、サスペンド処理では、メモリ領域112上に展開された実行情報をストレージ163に退避した上で、メモリ領域112上に展開された実行情報が削除される。サスペンドポリシーは、例えば、信頼プログラムB,Eに対応付けられたポリシーのように、停止状態からサスペンド状態に遷移するポリシーである。
(2) The suspend policy is a policy for saving a program in the
(3)削除ポリシーは、状態保存状態のプログラム(サスペンド対象プログラム)について、メモリ領域112上に展開された実行情報を削除するポリシーである。削除ポリシーは、例えば、信頼プログラムC,Y,Zに対応付けられたポリシーのように、状態保存状態からサスペンド状態に遷移するポリシーである。
(3) The deletion policy is a policy for deleting the execution information developed on the
なお、上述したサスペンド前処理部173は、ポリシー記憶部175に記憶されたポリシーに基づいて、一の動作モードで動作するプログラム(サスペンド対象プログラム)の状態を遷移させる。
Note that the suspend preprocessing
(プログラム実行装置の動作)
以下において、変更例4に係るプログラム実行装置の動作について、図面を参照しながら説明する。図15は、変更例4に係るプログラム実行装置100の動作を示すフロー図である。
(Operation of the program execution device)
Hereinafter, the operation of the program execution device according to the modification 4 will be described with reference to the drawings. FIG. 15 is a flowchart illustrating the operation of the
図15に示すように、ステップ50において、プログラム実行装置100は、一の動作モードで動作するプログラム(サスペンド対象プログラム)について、停止時刻記憶部172に停止時刻が記憶されているか否かを判定する。プログラム実行装置100は、停止時刻が記憶されている場合には、ステップ53の処理に移る。一方で、プログラム実行装置100は、停止時刻が記憶されていない場合には、ステップ54の処理に移る。
As shown in FIG. 15, in step 50, the
ステップ51において、プログラム実行装置100は、ストレージ163に退避された実行情報が有効であるか否かを判定する。プログラム実行装置100は、実行情報が有効である場合には、一連の処理を終了する。一方で、プログラム実行装置100は、実行情報が無効である場合には、ステップ52の処理に移る。
In step 51, the
例えば、プログラム実行装置100は、プログラムが実行状態であり、ストレージ163に退避された実行情報が古い場合に、ストレージ163に退避された実行情報が無効であると判定する。
For example, when the program is in an execution state and the execution information saved in the
ステップ52において、プログラム実行装置100は、ストレージ163に退避された実行情報を削除する。
In step 52, the
ステップ53において、プログラム実行装置100は、処理開始条件が満たされているか否かを判定する。プログラム実行装置100は、処理開始条件が満たされている場合には、ステップ54の処理に移る。一方で、プログラム実行装置100は、処理開始条件が満たされていない場合には、一連の処理を終了する。
In step 53, the
ステップ54において、プログラム実行装置100は、プログラムが停止状態であるか否かを判定する。プログラム実行装置100は、プログラムが停止状態である場合には、ステップ56の処理に移る。一方で、プログラム実行装置100は、プログラムが状態保存状態である場合には、ステップ55の処理に移る。
In step 54, the
ステップ55において、プログラム実行装置100は、図14に示したポリシーNo.3に係る処理開始条件が満たされているか否かを判定する。すなわち、プログラム実行装置100は、プログラムのポリシーがポリシーNo.3であるか否かを判定する。プログラム実行装置100は、プログラムのポリシーがポリシーNo.3である場合には、ステップ58の処理に移る。一方で、プログラム実行装置100は、プログラムのポリシーがポリシーNo.3でない場合には、一連の処理を終了する。
In step 55, the
ステップ56において、プログラム実行装置100は、図14に示したポリシーNo.1又はポリシーNo.3に係る処理開始条件が満たされているか否かを判定する。すなわち、プログラム実行装置100は、プログラムのポリシーがポリシーNo.1又はポリシーNo.3であるか否かを判定する。プログラム実行装置100は、プログラムのポリシーがポリシーNo.1又はポリシーNo.3である場合には、ステップ57の処理に移る。一方で、プログラム実行装置100は、プログラムのポリシーがポリシーNo.2である場合には、ステップ58の処理に移る。
In step 56, the
ステップ57において、プログラム実行装置100は、一の動作モードで動作するプログラム(サスペンド対象プログラム)を状態保存状態に遷移させる。
In
ステップ58において、プログラム実行装置100は、一の動作モードで動作するプログラム(サスペンド対象プログラム)をサスペンド状態に遷移させる。
In step 58, the
(作用及び効果)
変更例4では、サスペンド前処理部173は、ポリシー記憶部175に記憶されたポリシーに基づいて、一の動作モードで動作するプログラム(サスペンド対象プログラム)の状態を遷移させる。すなわち、一の動作モードで動作するプログラム(サスペンド対象プログラム)毎に適した状態遷移を実現できる。
(Function and effect)
In the fourth modification, the suspend preprocessing
[その他の実施形態]
本発明は上述した実施形態によって説明したが、この開示の一部をなす論述及び図面は、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
[Other Embodiments]
Although the present invention has been described with reference to the above-described embodiments, it should not be understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.
例えば、上述した実施形態に以下に示す構成や処理が適用可能である。 For example, the following configurations and processes can be applied to the above-described embodiment.
(1)モード切替部164は、一の動作モードから他の動作モードに動作モードを切り替える要求を受けた場合に、サスペンド部161によってサスペンド対象プログラムがストレージ163に退避された後に、一の動作モードから他の動作モードに動作モードを切り替えてもよい。
(1) When the
(2)モード切替部164は、一の動作モードから他の動作モードに動作モードを切り替える要求を受けた場合に、サスペンド前処理部173によってメモリ領域112上に展開された実行情報が削除された後に、一の動作モードから他の動作モードに動作モードを切り替えてもよい。
(2) When the
(3)プログラム実行装置100は、ポリシー記憶部175に記憶されるポリシーをプログラム毎に設定する設定部を有していてもよい。設定部は、ポリシーを設定するためのユーザインタフェース(設定画面など)をユーザに提供する。
(3) The
(4) レジューム処理において他の動作モードで必ず再開されるプログラムが設定されてもよい。このようなプログラムとしては、電話やメールの着信を処理するプログラムが挙げられる。 (4) A program that is always restarted in another operation mode in the resume process may be set. An example of such a program is a program that processes incoming calls and mails.
(5)通知部165から他の動作モードに通知される情報は、プログラム名及び表示位置に加えて、他の情報を含んでいてもよい。他の情報は、例えば、プログラムが使用するメモリ領域112の使用量、プログラムの重要度、プログラムの処理内容などである。指定部166は、これらの情報に基づいて、指定プログラムを指定する。
(5) Information notified from the
10・・・非信頼プログラム、20・・・信頼プログラム、100・・・プログラム実行装置、110・・・非セキュア実行ドメイン、111・・・アプリケーション処理部、112・・・メモリ領域、120・・・セキュア実行ドメイン、130・・・非信頼モード、140・・・信頼モード、161・・・サスペンド部、162・・・レジューム部、163・・・ストレージ、164・・・モード切替部、165・・・通知部、166・・・指定部、171・・・信頼ゾーン、172・・・停止時刻記憶部、173・・・サスペンド前処理部、174・・・レジューム条件記憶部、175・・・ポリシー記憶部、200・・・表示部 DESCRIPTION OF SYMBOLS 10 ... Untrusted program, 20 ... Trusted program, 100 ... Program execution apparatus, 110 ... Non-secure execution domain, 111 ... Application processing part, 112 ... Memory area, 120 ... Secure execution domain, 130 ... Untrusted mode, 140 ... Trusted mode, 161 ... Suspend unit, 162 ... Resume unit, 163 ... Storage, 164 ... Mode switching unit, 165 ..Notification unit, 166... Designation unit, 171... Trust zone, 172 .. stop time storage unit, 173 .. pre-suspend processing unit, 174 .. resume condition storage unit, 175. Policy storage unit, 200... Display unit
Claims (16)
前記複数の動作モードのうち、一の動作モードから他の動作モードに前記動作モードが切り替えられる場合に、前記一の動作モードで実行されているプログラムであるサスペンド対象プログラムをデータストレージに退避するサスペンド部と、
前記他の動作モードから前記一の動作モードに前記動作モードが切り替えられる場合に、前記データストレージに退避された前記サスペンド対象プログラムを前記一の動作モードで再開するレジューム部と、
前記サスペンド対象プログラムを前記他の動作モードに通知する通知部と、
前記通知部によって通知された前記サスペンド対象プログラムの中から、前記一の動作モードで再開すべきプログラムである指定プログラムを指定する指定部とを備え、
前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開することを特徴とするプログラム実行装置。 It has a plurality of operation modes defined for each type of program, and is a program execution device that exclusively sets each of the plurality of operation modes,
Suspend that saves a suspend target program, which is a program executed in the one operation mode, to a data storage when the operation mode is switched from one operation mode to another operation mode among the plurality of operation modes. And
A resume unit that resumes the suspended program saved in the data storage in the one operation mode when the operation mode is switched from the other operation mode to the one operation mode;
A notification unit for notifying the suspend target program to the other operation mode;
A designation unit for designating a designated program that is a program to be resumed in the one operation mode from the suspension target programs notified by the notification unit;
The resume unit restarts the designated program designated by the designation unit in the one operation mode.
前記動作モードを切り替えるモード切替部とをさらに備え、
前記モード切替部は、前記第1条件が満たされた場合に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替え、前記第2条件が満たされた場合に、前記他の動作モードから前記一の動作モードに前記動作モードを切り替えることを特徴とする請求項1に記載のプログラム実行装置。 A storage unit for storing a first condition for switching the operation mode from the one operation mode to the other operation mode and a second condition for switching the operation mode from the other operation mode to the one operation mode;
A mode switching unit for switching the operation mode;
The mode switching unit switches the operation mode from the one operation mode to the other operation mode when the first condition is satisfied, and the other operation when the second condition is satisfied. The program execution device according to claim 1, wherein the operation mode is switched from a mode to the one operation mode.
前記通知部は、前記データ共有領域を用いて前記サスペンド対象プログラムを前記他の動作モードに通知し、
前記データ共有領域は、前記他の動作モードによる前記サスペンド対象プログラムの改変が禁止される領域であることを特徴とする請求項1に記載のプログラム実行装置。 A data sharing area which is a memory area accessible by the plurality of operation modes;
The notification unit notifies the other operation mode of the suspended program using the data sharing area,
2. The program execution apparatus according to claim 1, wherein the data sharing area is an area where modification of the suspend target program in the other operation mode is prohibited.
前記実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する停止時刻記憶部と、
前記停止時刻から所定時間が経過した場合に、前記メモリ領域上に展開された実行情報を前記データストレージに退避するサスペンド前処理部とをさらに備えることを特徴とする請求項1に記載のプログラム実行装置。 In the one operation mode, the execution information of the program in the execution state in the one operation mode is expanded on the memory area,
A stop time storage unit that stores a stop time that is a time when the program in the execution state transitions to the stop state;
The program execution according to claim 1, further comprising: a suspend preprocessing unit that saves execution information expanded in the memory area to the data storage when a predetermined time has elapsed from the stop time. apparatus.
前記レジューム部は、前記処理対象プログラムに対する処理要求が前記再開条件を満たす場合に、前記処理対象プログラムを前記一の動作モードで再開することを特徴とする請求項10に記載のプログラム実行装置。 For each of the suspend target programs, further comprising a condition storage unit that stores a restart condition for restarting the suspend target program in the one operation mode,
The program execution device according to claim 10, wherein the resume unit resumes the processing target program in the one operation mode when a processing request for the processing target program satisfies the restart condition.
前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替えることを特徴とする請求項1に記載のプログラム実行装置。 A mode switching unit for switching the operation mode;
When the mode switching unit receives a request to switch the operation mode from the one operation mode to the other operation mode, the suspend unit saves the suspend target program in the data storage, and then The program execution device according to claim 1, wherein the operation mode is switched from the operation mode to the other operation mode.
前記モード切替部は、前記一の動作モードから前記他の動作モードに前記動作モードを切り替える要求を受けた場合に、前記サスペンド前処理部によって前記メモリ領域上に展開された実行情報が削除された後に、前記一の動作モードから前記他の動作モードに前記動作モードを切り替えることを特徴とする請求項9に記載のプログラム実行装置。 A mode switching unit for switching the operation mode;
When the mode switching unit receives a request to switch the operation mode from the one operation mode to the other operation mode, the execution information developed in the memory area by the suspend preprocessing unit is deleted. The program execution device according to claim 9, wherein the operation mode is switched from the one operation mode to the other operation mode later.
前記サスペンド前処理部は、前記退避ポリシーに基づいて、前記メモリ領域上に展開された実行情報を前記データストレージに退避することを特徴とする請求項7に記載のプログラム実行装置。 For each of the programs to be suspended, further comprising a storage unit for storing a save policy that is a policy for saving the execution information expanded on the memory area to the data storage,
8. The program execution device according to claim 7, wherein the suspend preprocessing unit saves the execution information expanded in the memory area to the data storage based on the save policy.
前記サスペンド前処理部は、前記サスペンドポリシーに基づいて、前記サスペンド対象プログラムを前記データストレージに退避することを特徴とする請求項1に記載のプログラム実行装置。 A storage unit that stores a suspend policy that is a policy for evacuating the suspend target program to the data storage for each of the suspend target programs,
2. The program execution device according to claim 1, wherein the suspend preprocessing unit saves the suspend target program in the data storage based on the suspend policy.
前記サスペンド前処理部は、前記削除ポリシーに基づいて、前記メモリ領域上に展開された実行情報を削除することを特徴とする請求項9に記載のプログラム実行装置。 A storage unit that stores a deletion policy that is a policy for deleting the execution information expanded on the memory area for each of the suspended programs,
10. The program execution device according to claim 9, wherein the suspend preprocessing unit deletes execution information expanded in the memory area based on the deletion policy.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008306632A JP4698724B2 (en) | 2008-12-01 | 2008-12-01 | Program execution device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008306632A JP4698724B2 (en) | 2008-12-01 | 2008-12-01 | Program execution device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010129054A true JP2010129054A (en) | 2010-06-10 |
JP4698724B2 JP4698724B2 (en) | 2011-06-08 |
Family
ID=42329364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008306632A Expired - Fee Related JP4698724B2 (en) | 2008-12-01 | 2008-12-01 | Program execution device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4698724B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014506704A (en) * | 2011-02-24 | 2014-03-17 | トラストニック リミテッド | Data exchange method in secure runtime environment |
JP2015533236A (en) * | 2013-01-25 | 2015-11-19 | グーグル・インコーポレーテッド | System, method and computer program product for managing data reinstallation |
US9489505B2 (en) | 2011-04-21 | 2016-11-08 | Trustonic Limited | Method for displaying information on a display device of a terminal |
US9875366B2 (en) | 2011-10-07 | 2018-01-23 | Trustonic Limited | Microprocessor system with secured runtime environment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212373A (en) * | 1996-01-30 | 1997-08-15 | Pfu Ltd | Process monitor device |
JP2002111805A (en) * | 2000-09-27 | 2002-04-12 | Nec Corp | Mobile telephone terminal and screen transition control method using the same |
JP2005284906A (en) * | 2004-03-30 | 2005-10-13 | Kyocera Corp | Portable telephone terminal equipment and program management method and its computer program |
JP2006127208A (en) * | 2004-10-29 | 2006-05-18 | Kyocera Corp | Cellular phone terminal, program management method and computer program of the same |
-
2008
- 2008-12-01 JP JP2008306632A patent/JP4698724B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09212373A (en) * | 1996-01-30 | 1997-08-15 | Pfu Ltd | Process monitor device |
JP2002111805A (en) * | 2000-09-27 | 2002-04-12 | Nec Corp | Mobile telephone terminal and screen transition control method using the same |
JP2005284906A (en) * | 2004-03-30 | 2005-10-13 | Kyocera Corp | Portable telephone terminal equipment and program management method and its computer program |
JP2006127208A (en) * | 2004-10-29 | 2006-05-18 | Kyocera Corp | Cellular phone terminal, program management method and computer program of the same |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014506704A (en) * | 2011-02-24 | 2014-03-17 | トラストニック リミテッド | Data exchange method in secure runtime environment |
US9489505B2 (en) | 2011-04-21 | 2016-11-08 | Trustonic Limited | Method for displaying information on a display device of a terminal |
US9875366B2 (en) | 2011-10-07 | 2018-01-23 | Trustonic Limited | Microprocessor system with secured runtime environment |
JP2015533236A (en) * | 2013-01-25 | 2015-11-19 | グーグル・インコーポレーテッド | System, method and computer program product for managing data reinstallation |
US9767287B2 (en) | 2013-01-25 | 2017-09-19 | Google Inc. | Systems, methods, and computer program products for managing data re-installation |
US10521589B2 (en) | 2013-01-25 | 2019-12-31 | Google Llc | Systems, methods, and computer program products for managing data re-installation |
Also Published As
Publication number | Publication date |
---|---|
JP4698724B2 (en) | 2011-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416061B2 (en) | Terminal control method and apparatus, and terminal | |
JP5323828B2 (en) | Virtual machine control device, virtual machine control program, and virtual machine control circuit | |
JPH077317B2 (en) | System restart device | |
KR20120064096A (en) | Methods and systems for operating a computer via a low power adjunct processor | |
WO2005098588A1 (en) | Display screen management unit | |
KR20120040432A (en) | Method and apparatus for supporting hibernation function in mobile device | |
JP5621912B2 (en) | Information processing apparatus and information processing apparatus control method | |
JP2004046324A (en) | Information processor with standby mode, and standby mode starting method and standby mode canceling method for the same | |
JP5741095B2 (en) | Wireless communication apparatus and power saving control method | |
JP2011134293A (en) | Data control device and program | |
JPH07134628A (en) | Power saving control method and information processor | |
JP4698724B2 (en) | Program execution device | |
JP4671418B2 (en) | Method for managing secondary storage device in user terminal and user terminal | |
JP2003167749A (en) | Information processor with simplified user switching function and program for use in the same | |
JP2010108253A (en) | Apparatus using nonvolatile memory as main memory | |
KR100315910B1 (en) | Method for swapping auxiliary memory using suspend mode | |
US20170262390A1 (en) | Device, prioritizing process method and computer-readable recording medium | |
JP4784105B2 (en) | Information processing apparatus, control method therefor, and information management system | |
KR102514841B1 (en) | Method for selectively providing network capability to each application | |
JPH1124936A (en) | Fast restart system of information processor | |
JP2008257438A (en) | Exception processor used for control of debugging device, exception processing method, exception processing program, and television and cellphone incorporated with the exception processor | |
US20170255411A1 (en) | Device, data saving process method and medium for data saving process program | |
CN112269985B (en) | Snapshot management method, device and storage medium | |
JP6098110B2 (en) | Information processing apparatus, data protection method, and program | |
TWI822685B (en) | Context data management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110121 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4698724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |