JP2010129054A - Program execution apparatus - Google Patents

Program execution apparatus Download PDF

Info

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
Application number
JP2008306632A
Other languages
Japanese (ja)
Other versions
JP4698724B2 (en
Inventor
Hisatoshi Eguchi
悠利 江口
Masaru Ota
賢 太田
Tomohiro Nakagawa
智尋 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2008306632A priority Critical patent/JP4698724B2/en
Publication of JP2010129054A publication Critical patent/JP2010129054A/en
Application granted granted Critical
Publication of JP4698724B2 publication Critical patent/JP4698724B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program execution apparatus for shortening the switching period (mode switching period) of operating mode. <P>SOLUTION: This program execution apparatus includes a suspending section 161 for evacuating a program to be suspended executed in one operating mode to a storage 163 when the one operating mode is switched to the other operating mode, a resuming section 162 for resuming the program to be suspended evacuated to the storage 163 in the one operating mode when the other operating mode is switched to the one operating mode, an informing section 165 for informing the other operating mode of the program to be suspended, and a specifying section 166 for specifying a specifying program from the program to be suspended. The resuming section 162 resumes the specifying program specified by the specifying section 166 in the one operating mode. <P>COPYRIGHT: (C)2010,JPO&INPIT

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技術では、特殊プログラムは、携帯端末上で実行されているプログラムに対して、サスペンドを指示するコマンド(サスペンドコマンド)を送信する。同様に、特殊プログラムは、サスペンドへ遷移されたプログラムに対して、レジュームを指示するコマンド(レジュームコマンド)を送信する。
特開2006−338554号公報 米国特許第6,553,400号明細書 米国特許第4,912,628号明細書
In the third technique, the special program transmits a command (suspend command) for instructing suspension to the program being executed on the mobile terminal. Similarly, the special program transmits a command (resume command) instructing resume to the program that has been changed to the suspend state.
JP 2006-338554 A US Pat. No. 6,553,400 U.S. Pat. No. 4,912,628

ここで、携帯端末上で実行されるプログラム数が増加すると、プログラムのサスペンド/レジュームが頻繁に生じることが想定される。例えば、追加プログラムの実行中に電話の着信を受けた場合に、信頼プログラム(電話プログラム)を信頼モードで実行する必要がある。すなわち、非信頼モードから信頼モードへの切り替えが必要である。このようなケースにおいて、多数の信頼プログラムがサスペンドされている場合には、多数の信頼プログラムのレジュームに必要な時間が増大する。これによって、電話の着信が一定期間内に完了しない恐れがある。   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 program execution device 100 according to the first embodiment. The program execution device 100 is mounted on a mobile terminal, for example.

図1に示すように、プログラム実行装置100は、非セキュア実行ドメイン110と、セキュア実行ドメイン120とを有する。   As illustrated in FIG. 1, the program execution device 100 includes a non-secure execution domain 110 and a secure execution domain 120.

なお、プログラム実行装置100は、非信頼プログラム10A〜非信頼プログラム10Cを実行する非信頼モード130と、信頼プログラム20A〜信頼プログラム20Cを実行する信頼モード140とを有する。プログラム実行装置100は、非信頼モード130と信頼モード140とを排他的に設定する。   The program execution device 100 has an untrusted mode 130 for executing the untrusted program 10A to the untrusted program 10C and a trust mode 140 for executing the trust program 20A to the trust program 20C. The program execution device 100 exclusively sets the untrusted mode 130 and the trust mode 140.

第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 program execution apparatus 100 is also provided with a display unit 200. The display unit 200 displays an application corresponding to the program executed by the program execution device 100. The display unit 200 is mounted on a mobile terminal, for example.

非セキュア実行ドメイン110は、セキュア実行ドメイン120とハード的に切り離されており、新たに追加されたアプリケーションなどが実行されるドメインである。非セキュア実行ドメイン110は、上述した非信頼モード130及び信頼モード140を有する。   The non-secure execution domain 110 is separated from the secure execution domain 120 by hardware, and is a domain in which newly added applications and the like are executed. The non-secure execution domain 110 has the untrust mode 130 and the trust mode 140 described above.

セキュア実行ドメイン120は、非セキュア実行ドメイン110とハード的に切り離されており、セキュリティが保護されたドメインである。例えば、セキュア実行ドメイン120は、通信機能に係るアプリケーションを実行する。   The secure execution domain 120 is separated from the non-secure execution domain 110 in hardware, and is a security-protected domain. For example, the secure execution domain 120 executes an application related to a communication function.

ここで、非セキュア実行ドメイン110は、アプリケーション処理部111と、メモリ領域112とを有する。また、非セキュア実行ドメイン110は、サスペンド部161と、レジューム部162と、ストレージ163と、モード切替部164と、通知部165と、指定部166とを有する。   Here, the non-secure execution domain 110 includes an application processing unit 111 and a memory area 112. Further, the non-secure execution domain 110 includes a suspend unit 161, a resume unit 162, a storage 163, a mode switching unit 164, a notification unit 165, and a designation unit 166.

アプリケーション処理部111は、非信頼プログラム10や信頼プログラム20に基づいて、アプリケーションを実行する。アプリケーション処理部111は、非信頼モード130及び信頼モード140のうち、アクティブな動作モードによって用いられる。   The application processing unit 111 executes an application based on the untrusted program 10 and the trusted program 20. The application processing unit 111 is used in an active operation mode among the untrusted mode 130 and the trusted mode 140.

メモリ領域112は、各種情報を一次的に記憶するメモリ領域である。メモリ領域112は、例えば、アプリケーションの実行情報を記憶する。メモリ領域112は、非信頼モード130及び信頼モード140のうち、アクティブな動作モードによって用いられる。   The memory area 112 is a memory area for temporarily storing various information. The memory area 112 stores application execution information, for example. The memory area 112 is used by an active operation mode of the non-trust mode 130 and the trust mode 140.

実行情報は、例えば、プログラムのメモリマップ、プログラムが利用するファイルやソケット、プログラムが受付けるシグナル、プログラムが受付けるシグナルの動作、スタック情報、ヒープ情報、レジスタ情報などである。   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 unit 161 performs a suspend process. Specifically, the suspend unit 161 is a suspend target program that is a program executed in one operation mode when the operation mode is switched from one operation mode to another operation mode among the plurality of operation modes. Is saved in the storage 163. The suspend unit 161 saves the execution information of the suspend target program to the storage 163 as state information.

レジューム部162は、レジューム処理を行う。具体的には、レジューム部162は、他の動作モードから一の動作モードに動作モードが切り替えられる場合に、ストレージ163に退避されたサスペンド対象プログラムを一の動作モードで再開する。   The resume unit 162 performs a resume process. Specifically, when the operation mode is switched from another operation mode to one operation mode, the resume unit 162 resumes the suspend target program saved in the storage 163 in the one operation mode.

ここで、レジューム部162は、後述する指定部166によって指定された指定プログラムを一の動作モードで再開することに留意すべきである。   Here, it should be noted that the resume unit 162 resumes the designated program designated by the designation unit 166 described later in one operation mode.

なお、レジューム部162は、後述する指定部166によって指定プログラムが指定されない場合に、前回の動作モードの切り替えにおいてサスペンド部161によってストレージ163に退避されたサスペンド対象プログラムのみを一の動作モードで再開する。   The resume unit 162 resumes only the suspend target program saved in the storage 163 by the suspend unit 161 in the previous operation mode switching in one operation mode when the designated program is not designated by the designation unit 166 described later. .

ここで、レジューム部162は、後述する指定部166によって指定された指定プログラムを再開する際に、指定プログラムによって実行されるアプリケーションを表示部200上における最前面に表示させる。   Here, the resume unit 162 causes the application executed by the designated program to be displayed on the foreground on the display unit 200 when the designated program designated by the designation unit 166 described later is resumed.

なお、レジューム部162は、複数の指定プログラムが指定されている場合には、後述する通知部165によって通知された表示位置の関係を維持するように、アプリケーションの表示位置を制御してもよい。   When a plurality of designated programs are designated, the resume unit 162 may control the display position of the application so as to maintain the relationship between the display positions notified by the notification unit 165 described later.

例えば、最前面に表示されていたアプリケーションを実行するサスペンド対象プログラム及び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 resume unit 162 displays the suspend target program (designated program) for executing the application displayed in the foreground in the foreground. The resume unit 162 displays the suspend target program (designated program) for executing the application displayed third on the second.

ストレージ163は、プログラム実行装置100で実行されるOS(Operating System)や各種プログラムを記憶する。また、ストレージ163は、サスペンド部161によって退避されたサスペンド対象プログラムの実行情報を状態情報として記憶する。   The storage 163 stores an OS (Operating System) executed by the program execution apparatus 100 and various programs. Further, the storage 163 stores the execution information of the suspension target program saved by the suspend unit 161 as state information.

さらに、ストレージ163は、アクティブな動作モードを切り替える条件を記憶する。具体的には、ストレージ163は、非信頼モード130から信頼モード140にアクティブな動作モードを切り替える第1条件、信頼モード140から非信頼モード130にアクティブな動作モードを切り替える第2条件を記憶する。   Further, the storage 163 stores a condition for switching the active operation mode. Specifically, the storage 163 stores a first condition for switching the active operation mode from the untrusted mode 130 to the trust mode 140 and a second condition for switching the active operation mode from the trust mode 140 to the untrusted mode 130.

第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 mode switching unit 164 switches the operation mode. Specifically, the mode switching unit 164 switches the active operation mode from the unreliable mode 130 to the reliable mode 140. That is, the mode switching unit 164 switches the active operation mode from the unreliable mode 130 to the reliable mode 140 when the first condition is satisfied. Similarly, the mode switching unit 164 switches the active operation mode from the trust mode 140 to the non-trust mode 130. That is, the mode switching unit 164 switches the active operation mode from the reliable mode 140 to the unreliable mode 130 when the second condition is satisfied.

通知部165は、一の動作モードから他の動作モードに動作モードが切り替えられる場合に、サスペンド対象プログラムを他の動作モードに通知する。例えば、通知部165は、サスペンド対象プログラムの名称を他の動作モードに通知する。   The notification unit 165 notifies the suspension target program to another operation mode when the operation mode is switched from one operation mode to another operation mode. For example, the notification unit 165 notifies the name of the suspension target program to another operation mode.

例えば、通知部165は、図2に示すように、サスペンド対象プログラムの名称と、サスペンド対象プログラムによって実行されるアプリケーションの表示位置とを通知する。なお、表示位置は、表示部200上において複数のアプリケーションが表示されている場合に、表示部200上において各アプリケーションが表示される位置(最前面、2番目、最背面)である。   For example, as illustrated in FIG. 2, the notification unit 165 notifies the name of the suspend target program and the display position of the application executed by the suspend target program. The display position is a position (frontmost, second, rearmost) where each application is displayed on the display unit 200 when a plurality of applications are displayed on the display unit 200.

指定部166は、通知部165によって通知されたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。   The designation unit 166 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 165.

(プログラムの状態)
以下において、第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 memory area 112 but the program execution information is stored in the storage 163 as the state information.

(2)状態保存状態は、プログラムの実行情報がメモリ領域112上に展開されており、プログラムの実行情報が状態情報としてストレージ163に記憶された状態である。   (2) The state storage state is a state in which program execution information is expanded on the memory area 112 and the program execution information is stored in the storage 163 as state information.

(3)停止状態は、プログラムの実行情報がメモリ領域112上に展開されているが、プログラムが停止している状態である。   (3) The stopped state is a state where the program execution information is expanded on the memory area 112 but the program is stopped.

(4)実行状態は、プログラムの実行情報がメモリ領域112上に展開されており、プログラムが実行されている状態である。   (4) The execution state is a state in which the program execution information is expanded on the memory area 112 and the program is being executed.

(プログラム実行装置の動作)
以下において、第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 program execution device 100 according to the first embodiment.

上述したように、第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 program execution device 100 in one operation mode will be described with reference to FIG.

図4に示すように、ステップ10において、プログラム実行装置100は、一の動作モードで実行されるプログラムを取得し、一の動作モードで実行されるプログラムを管理する。   As shown in FIG. 4, in step 10, the program execution device 100 acquires a program executed in one operation mode and manages the program executed in the one operation mode.

ステップ11において、プログラム実行装置100は、切り替え後の動作モード(すなわち、他の動作モード)に対して、一の動作モードで実行されるプログラム(サスペンド対象プログラム)を通知する。   In step 11, the program execution device 100 notifies the program (suspend target program) executed in one operation mode to the operation mode after switching (that is, another operation mode).

ステップ12において、プログラム実行装置100は、一の動作モードから他の動作モードにアクティブな動作モードを切り替える。   In step 12, the program execution device 100 switches the active operation mode from one operation mode to another operation mode.

ステップ13において、プログラム実行装置100は、他の動作モードから一の動作モードにアクティブな動作モードを切り替える。   In step 13, the program execution device 100 switches the active operation mode from another operation mode to one operation mode.

なお、ステップ12の処理とステップ13の処理との間では、プログラム実行装置100は、他の動作モードで動作する。   In addition, between the process of step 12 and the process of step 13, the program execution apparatus 100 operate | moves in another operation mode.

ステップ14において、プログラム実行装置100は、指定部166によって指定プログラムが指定されているか否かを判定する。プログラム実行装置100は、指定プログラムが指定されている場合には、ステップ15の処理に移る。一方で、プログラム実行装置100は、指定プログラムが指定されている場合には、ステップ16の処理に移る。   In step 14, the program execution device 100 determines whether or not the designated program is designated by the designation unit 166. When the designated program is designated, the program execution device 100 proceeds to the process of step 15. On the other hand, when the designated program is designated, the program execution device 100 proceeds to the process of step 16.

ステップ15において、プログラム実行装置100は、指定部166によって指定された指定プログラムを再開する。すなわち、プログラム実行装置100は、レジューム処理において指定プログラムを復帰する。   In step 15, the program execution device 100 resumes the designated program designated by the designation unit 166. That is, the program execution device 100 returns the designated program in the resume process.

ステップ16において、プログラム実行装置100は、前回の動作モードの切り替えにおいてサスペンド部161によってストレージ163に退避されたサスペンド対象プログラムのみを再開する。すなわち、プログラム実行装置100は、前回の動作モードの切り替え前に一の動作モードで実行されていたサスペンド対象プログラムを復帰する。   In step 16, the program execution device 100 resumes only the suspend target program saved in the storage 163 by the suspend unit 161 in the previous switching of the operation mode. In other words, the program execution device 100 restores the suspend target program that was executed in one operation mode before switching to the previous operation mode.

第2に、他の動作モードにおけるプログラム実行装置100の動作について、図5を参照しながら説明する。   Secondly, the operation of the program execution device 100 in another operation mode will be described with reference to FIG.

図5に示すように、ステップ20において、プログラム実行装置100は、一の動作モードで実行されていたサスペンド対象プログラムを取得する。すなわち、プログラム実行装置100は、切り替え後の動作モード(すなわち、一の動作モード)において再開すべきサスペンド対象プログラムを取得する。   As shown in FIG. 5, in step 20, the program execution device 100 acquires a suspend target program that has been executed in one operation mode. That is, the program execution device 100 acquires a suspend target program to be resumed in the operation mode after switching (that is, one operation mode).

ステップ21において、プログラム実行装置100は、指定プログラムを指定するか否かを判定する。プログラム実行装置100は、指定プログラムを指定する場合には、ステップ22の処理に移る。一方で、プログラム実行装置100は、指定プログラムを指定しない場合には、ステップ23の処理に移る。   In step 21, the program execution device 100 determines whether or not a designated program is designated. When the designated program is designated, the program execution device 100 proceeds to the process of step 22. On the other hand, if the designated program is not designated, the program execution device 100 proceeds to the process of step 23.

ステップ22において、プログラム実行装置100は、ステップ20で取得したサスペンド対象プログラムの中から、指定プログラムを指定する。   In step 22, the program execution device 100 designates a designated program from the suspend target programs acquired in step 20.

ステップ23において、プログラム実行装置100は、動作モードの切り替えを要求する。すなわち、プログラム実行装置100は、他の動作モードから一の動作モードへのアクティブな動作モードの切り替えを要求する。   In step 23, the program execution device 100 requests switching of the operation mode. That is, the program execution device 100 requests switching of an active operation mode from another operation mode to one operation mode.

ステップ24において、プログラム実行装置100は、動作モードを切り替える。すなわち、プログラム実行装置100は、他の動作モードから一の動作モードへのアクティブな動作モードを切り替える。   In step 24, the program execution device 100 switches the operation mode. That is, the program execution device 100 switches an active operation mode from another operation mode to one operation mode.

(作用及び効果)
第1実施形態では、指定部166は、一の動作モードで動作していたサスペンド対象プログラムの中から、一の動作モードで再開すべきプログラムである指定プログラムを指定する。レジューム部162は、指定部166によって指定された指定プログラムを一の動作モードで再開する。
(Function and effect)
In the first embodiment, the designation unit 166 designates a designated program that is a program to be resumed in one operation mode from among the suspend target programs that have been operating in the one operation mode. The resume unit 162 resumes the designated program designated by the designation unit 166 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実施形態では、レジューム部162は、指定部166によって指定プログラムが指定されなかった場合に、前回の動作モードの切り替えにおいてサスペンド部161によってストレージ163に退避されたサスペンド対象プログラムのみを一の動作モードで再開する。   In the first embodiment, when the designated program is not designated by the designation unit 166, the resume unit 162 operates only the suspend target program saved in the storage 163 by the suspend unit 161 in the previous switching of the operation mode. Resume in mode.

従って、一の動作モードで全プログラムを再開する必要がなく、動作モードの切り替え時間を短縮できる。   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 notification unit 165 notifies the name of the suspend target program to another operation mode. Therefore, the risk generated when notifying the suspension target program to another operation mode is reduced.

第1実施形態では、レジューム部162は、指定部166によって指定された指定プログラムを再開する際に、指定プログラムによって実行されるアプリケーションを表示部200上における最前面に表示させる。従って、ユーザは、指定プログラムによって実行されるアプリケーションを即時的に利用できる。   In the first embodiment, the resume unit 162 causes the application executed by the designated program to be displayed on the foreground on the display unit 200 when the designated program designated by the designation unit 166 is resumed. Therefore, the user can immediately use the application executed by the designated program.

第1実施形態では、モード切替部164は、第1条件が満たされた場合に、非信頼モード130から信頼モード140にアクティブな動作モードを切り替える。同様に、モード切替部164は、第2条件が満たされた場合に、信頼モード140から非信頼モード130にアクティブな動作モードを切り替える。従って、動作モードが自動的に切り替えられる。   In the first embodiment, the mode switching unit 164 switches the active operation mode from the unreliable mode 130 to the reliable mode 140 when the first condition is satisfied. Similarly, the mode switching unit 164 switches the active operation mode from the trust mode 140 to the unreliable mode 130 when the second condition is satisfied. Therefore, the operation mode is automatically switched.

[変更例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 program execution device 100 includes a data sharing area that is a memory area that can be accessed by a plurality of operation modes.

(プログラム実行装置の構成)
以下において、変更例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 program execution device 100 according to the first modification. In FIG. 6, it should be noted that the same components as those in FIG.

図6に示すように、プログラム実行装置100は、図1に示す構成に加えて、信頼ゾーン171を有する。   As illustrated in FIG. 6, the program execution device 100 includes a trust zone 171 in addition to the configuration illustrated in FIG. 1.

信頼ゾーン171は、複数の動作モード(非信頼モード130及び信頼モード140)がアクセス可能なメモリ領域であるデータ共有領域である。信頼ゾーン171は、他の動作モード(例えば、非信頼モード130)によるサスペンド対象プログラムの改変が禁止される領域である。信頼ゾーン171としては、例えば、AMR社のTrustZoneを用いることが可能である。   The trust zone 171 is a data sharing area that is a memory area accessible by a plurality of operation modes (non-trust mode 130 and trust mode 140). The trusted zone 171 is an area where alteration of the suspend target program in other operation modes (for example, the untrusted mode 130) is prohibited. As the trust zone 171, for example, AMR TrustZone can be used.

なお、上述した通知部165は、信頼ゾーン171を用いてサスペンド対象プログラムを他の動作モードに通知する。   The notification unit 165 described above notifies the suspension target program to another operation mode using the trust zone 171.

(作用及び効果)
変更例1では、通知部165は、信頼ゾーン171を用いてサスペンド対象プログラムを他の動作モードに通知する。信頼ゾーン171は、他の動作モード(例えば、非信頼モード130)によるサスペンド対象プログラムの改変が禁止される領域である。従って、サスペンド処理やレジューム処理に伴うシステムの破壊やコンテンツの不正コピーなどを抑制できる。
(Function and effect)
In the first modification, the notification unit 165 notifies the suspension target program to another operation mode using the trust zone 171. The trusted zone 171 is an area where alteration of the suspend target program in other operation modes (for example, the untrusted mode 130) is prohibited. Therefore, it is possible to suppress the destruction of the system and the illegal copy of the content accompanying the suspend process and the resume process.

[変更例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 program execution device 100 manages the program stop time in association with the program.

(プログラム実行装置の構成)
以下において、変更例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 program execution device 100 according to the second modification. In FIG. 7, it should be noted that the same components as those in FIG.

図7に示すように、プログラム実行装置100は、図1に示す構成に加えて、停止時刻記憶部172と、サスペンド前処理部173とを有する。   As illustrated in FIG. 7, the program execution device 100 includes a stop time storage unit 172 and a suspend preprocessing unit 173 in addition to the configuration illustrated in FIG. 1.

停止時刻記憶部172は、実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する。停止時刻記憶部172は、例えば、図8に示すように、プログラム名と表示位置と停止時刻とを対応付けるテーブルを記憶する。   The stop time storage unit 172 stores a stop time that is a time when a program in the execution state transitions to the stop state. For example, as shown in FIG. 8, the stop time storage unit 172 stores a table that associates program names, display positions, and stop times.

サスペンド前処理部173は、動作モードの切り替えに伴ってサスペンド部161がサスペンド処理を行う前に、サスペンド処理の一部を予め行う。具体的には、サスペンド前処理部173は、以下に示す動作を行う。   The suspend preprocessing unit 173 performs a part of the suspend process before the suspend unit 161 performs the suspend process in accordance with the switching of the operation mode. Specifically, the suspend preprocessing unit 173 performs the following operation.

第1に、サスペンド前処理部173は、停止時刻から所定時間が経過した場合に、メモリ領域112上に展開された実行情報を状態情報としてストレージ163に退避する。言い換えると、サスペンド前処理部173は、動作モードの切り替えが生じる前において、プログラムの実行情報(状態情報)を予めストレージ163に退避する。このように、サスペンド前処理部173は、動作モードの切り替えが生じる前において、サスペンド処理の一部を予め行う。   First, the suspend preprocessing unit 173 saves the execution information expanded in the memory area 112 as state information in the storage 163 when a predetermined time has elapsed from the stop time. In other words, the suspend preprocessing unit 173 saves program execution information (status information) in the storage 163 in advance before the operation mode is switched. As described above, the suspend preprocessing unit 173 performs a part of the suspend process in advance before the operation mode is switched.

第2に、サスペンド前処理部173は、停止状態に遷移したプログラムが実行状態に遷移した場合に、ストレージ163に状態情報(実行情報)が退避された実行情報を削除する。すなわち、サスペンド前処理部173は、ストレージ163に退避されたプログラムの実行情報(状態情報)を削除する。   Second, the suspend preprocessing unit 173 deletes the execution information whose state information (execution information) has been saved in the storage 163 when the program that has transitioned to the stopped state transitions to the execution state. That is, the suspend preprocessing unit 173 deletes the program execution information (status information) saved in the storage 163.

第3に、サスペンド前処理部173は、サスペンド部161によってサスペンド対象プログラムがストレージ163に退避される場合に、メモリ領域112上に展開された実行情報を削除する。   Third, the suspend preprocessing unit 173 deletes the execution information expanded on the memory area 112 when the suspend unit 161 saves the suspend target program in the storage 163.

(プログラム実行装置の動作)
以下において、変更例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 program execution device 100 according to the second modification. Note that the flow shown in FIG. 9 is a series of processes performed for all programs executed in the active operation mode.

図9に示すように、ステップ30において、プログラム実行装置100は、プログラムが停止状態であるか否かを判定する。プログラム実行装置100は、プログラムが停止状態である場合には、ステップ31の処理に移る。一方で、プログラム実行装置100は、プログラムが実行状態である場合には、ステップ32の処理に移る。   As shown in FIG. 9, in step 30, the program execution device 100 determines whether or not the program is in a stopped state. When the program is in a stopped state, the program execution device 100 proceeds to the process of step 31. On the other hand, the program execution device 100 proceeds to the process of step 32 when the program is in an execution state.

ステップ31において、プログラム実行装置100は、プログラムの停止時刻を停止時刻記憶部172に記憶する。   In step 31, the program execution device 100 stores the stop time of the program in the stop time storage unit 172.

ステップ32において、プログラム実行装置100は、プログラムの停止時刻が記憶されているか否かを判定する。プログラム実行装置100は、プログラムの停止時刻が記憶されている場合には、ステップ33の処理に移る。一方で、プログラム実行装置100は、プログラムの停止時刻が記憶されていない場合には、一連の処理を終了する。   In step 32, the program execution device 100 determines whether or not the stop time of the program is stored. When the program stop time is stored, the program execution device 100 proceeds to the process of step 33. On the other hand, the program execution device 100 ends the series of processes when the stop time of the program is not stored.

ステップ33において、プログラム実行装置100は、停止時刻記憶部172に記憶されたプログラムの停止時刻を初期化する。例えば、プログラム実行装置100は、停止時刻記憶部172に記憶されたプログラムの停止時刻を削除する。また、プログラム実行装置100は、停止時刻記憶部172に記憶されたプログラムの停止時刻を無効化ビットによって無効化してもよい。   In step 33, the program execution device 100 initializes the stop time of the program stored in the stop time storage unit 172. For example, the program execution device 100 deletes the program stop time stored in the stop time storage unit 172. Further, the program execution device 100 may invalidate the stop time of the program stored in the stop time storage unit 172 with an invalidation bit.

(作用及び効果)
変更例2では、サスペンド前処理部173は、動作モードの切り替えに伴ってサスペンド部161がサスペンド処理を行う前に、サスペンド処理の一部を予め行う。従って、モード切り替えに伴うサスペンド処理が軽減され、動作モードの切り替え時間を短縮できる。
(Function and effect)
In the second modification, the suspend preprocessing unit 173 performs a part of the suspend process before the suspend unit 161 performs the suspend process in accordance with the switching of the operation mode. Therefore, the suspend process accompanying the mode switching is reduced, and the operation mode switching time can be shortened.

[変更例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 program execution device 100 manages the resume condition (restart condition) of the program in association with the program.

(プログラム実行装置の構成)
以下において、変更例3に係るプログラム実行装置の構成について、図面を参照しながら説明する。図10は、変更例3に係るプログラム実行装置100の構成を示すブロック図である。図10では、図7と同様の構成について同様の符号を付していることに留意すべきである。
(Configuration of program execution device)
Hereinafter, the configuration of the program execution device according to Modification 3 will be described with reference to the drawings. FIG. 10 is a block diagram illustrating a configuration of the program execution device 100 according to the third modification. In FIG. 10, it should be noted that the same components as those in FIG.

図10に示すように、プログラム実行装置100は、図7に示す構成に加えて、レジューム条件記憶部174を有する。   As shown in FIG. 10, the program execution device 100 includes a resume condition storage unit 174 in addition to the configuration shown in FIG.

レジューム条件記憶部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 program execution apparatus 100. The program request condition is, for example, a condition “network interrupt” associated with the untrusted program 10A. The event condition is, for example, a condition “load 10% or less” associated with the unreliable program 10B.

なお、上述したレジューム部162は、サスペンド対象プログラムのうち、レジューム条件を満たすプログラム(処理対象プログラム)を再開する。   The resume unit 162 described above resumes programs (processing target programs) that satisfy the resume condition among the suspend target programs.

(プログラム実行装置の動作)
以下において、変更例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 program execution device 100 according to the third modification.

図12に示すように、ステップ40において、プログラム実行装置100は、プログラムへの要求があるか否かを判定する。プログラム実行装置100は、プログラムへの要求がある場合には、ステップ41の処理に移る。一方で、プログラム実行装置100は、プログラムへの要求がない場合には、ステップ42の処理に移る。   As shown in FIG. 12, in step 40, the program execution device 100 determines whether there is a request for the program. If there is a request for the program, the program execution device 100 proceeds to the process of step 41. On the other hand, when there is no request for the program, the program execution apparatus 100 proceeds to the process of step 42.

ステップ41において、プログラム実行装置100は、レジューム条件(プログラム要求条件)を満たすプログラム(処理対象プログラム)がサスペンド状態に遷移しているか否かを判定する。プログラム実行装置100は、レジューム条件(プログラム要求条件)を満たすプログラムがサスペンド状態に遷移している場合には、ステップ43の処理に移る。一方で、プログラム実行装置100は、レジューム条件(プログラム要求条件)を満たすプログラムがサスペンド状態に遷移していない場合には、一連の処理を終了する。   In step 41, the program execution device 100 determines whether a program (processing target program) that satisfies the resume condition (program request condition) has transitioned to the suspended state. If the program that satisfies the resume condition (program request condition) has transitioned to the suspended state, the program execution device 100 proceeds to the process of step 43. On the other hand, when the program that satisfies the resume condition (program request condition) has not transitioned to the suspended state, the program execution device 100 ends the series of processes.

ステップ42において、プログラム実行装置100は、レジューム条件(イベント条件)が満たされているか否かを判定する。プログラム実行装置100は、レジューム条件(イベント条件)が満たされている場合には、ステップ43の処理に移る。一方で、プログラム実行装置100は、レジューム条件(イベント条件)が満たされていない場合には、一連の処理を終了する。   In step 42, the program execution device 100 determines whether or not a resume condition (event condition) is satisfied. When the resume condition (event condition) is satisfied, the program execution device 100 proceeds to the process of step 43. On the other hand, the program execution device 100 ends a series of processes when the resume condition (event condition) is not satisfied.

ステップ43において、プログラム実行装置100は、レジューム条件(プログラム要求条件又はイベント条件)を満たすプログラム(処理対象プログラム)を再開する。プログラム実行装置100は、レジューム条件(プログラム要求条件又はイベント条件)を満たすプログラムを復帰する。   In step 43, the program execution device 100 resumes a program (processing target program) that satisfies the resume condition (program request condition or event condition). The program execution device 100 returns a program that satisfies the resume condition (program request condition or event condition).

(作用及び効果)
変更例3では、レジューム部162は、サスペンド対象プログラムのうち、レジューム条件を満たすプログラム(処理対象プログラム)を再開する。従って、サスペンド対象プログラムのいずれかである処理対象プログラムを必要に応じて実行状態に遷移させることができる。
(Function and effect)
In the third modification, the resume unit 162 resumes a program (processing target program) that satisfies the resume condition among the suspension target programs. Therefore, the processing target program that is one of the suspension target programs can be changed to the execution state as necessary.

[変更例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 program execution device 100 manages a policy related to a program state transition in association with a program.

(プログラム実行装置の構成)
以下において、変更例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 program execution device 100 according to the fourth modification. In FIG. 13, it should be noted that the same components as those in FIG.

図13に示すように、プログラム実行装置100は、図7に示す構成に加えて、ポリシー記憶部175を有する。   As illustrated in FIG. 13, the program execution device 100 includes a policy storage unit 175 in addition to the configuration illustrated in FIG. 7.

ポリシー記憶部175は、図14に示すように、プログラム名とポリシーとを対応付けるテーブルを記憶する。ポリシーは、状態遷移及び処理開始条件を含む。   As shown in FIG. 14, the policy storage unit 175 stores a table that associates program names with policies. The policy includes a state transition and a process start condition.

状態遷移は、プログラムの状態遷移を示している。例えば、信頼プログラム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 policy storage unit 175 include (1) save policy, (2) suspend policy, and (3) delete policy.

(1)退避ポリシーは、実行状態又は停止状態のプログラム(サスペンド対象プログラム)について、メモリ領域112上に展開された実行情報をストレージ163に退避するポリシーである。退避ポリシーは、例えば、信頼プログラムA,D,Pに対応付けられたポリシーのように、停止状態から状態保存状態に遷移するポリシーである。   (1) The evacuation policy is a policy for evacuating the execution information expanded on the memory area 112 to the storage 163 for the program in the execution state or the stopped state (suspend target program). The evacuation policy is a policy that makes a transition from the stopped state to the state storage state, such as a policy associated with the trusted programs A, D, and P.

(2)サスペンドポリシーは、実行状態又は停止状態のプログラム(サスペンド対象プログラム)について、プログラムをストレージ163に退避するポリシーである。具体的には、サスペンド処理では、メモリ領域112上に展開された実行情報をストレージ163に退避した上で、メモリ領域112上に展開された実行情報が削除される。サスペンドポリシーは、例えば、信頼プログラムB,Eに対応付けられたポリシーのように、停止状態からサスペンド状態に遷移するポリシーである。   (2) The suspend policy is a policy for saving a program in the storage 163 with respect to a program in a running state or a stopped state (suspended target program). Specifically, in the suspend process, the execution information expanded on the memory area 112 is saved in the storage 163, and then the execution information expanded on the memory area 112 is deleted. The suspend policy is a policy that makes a transition from a stopped state to a suspended state, such as a policy associated with the trusted programs B and E.

(3)削除ポリシーは、状態保存状態のプログラム(サスペンド対象プログラム)について、メモリ領域112上に展開された実行情報を削除するポリシーである。削除ポリシーは、例えば、信頼プログラムC,Y,Zに対応付けられたポリシーのように、状態保存状態からサスペンド状態に遷移するポリシーである。   (3) The deletion policy is a policy for deleting the execution information developed on the memory area 112 for the state saved program (suspend target program). The deletion policy is a policy for transitioning from the state saving state to the suspended state, such as a policy associated with the trust programs C, Y, and Z, for example.

なお、上述したサスペンド前処理部173は、ポリシー記憶部175に記憶されたポリシーに基づいて、一の動作モードで動作するプログラム(サスペンド対象プログラム)の状態を遷移させる。   Note that the suspend preprocessing unit 173 described above transitions the state of a program (suspend target program) that operates in one operation mode based on the policy stored in the policy storage unit 175.

(プログラム実行装置の動作)
以下において、変更例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 program execution device 100 according to the fourth modification.

図15に示すように、ステップ50において、プログラム実行装置100は、一の動作モードで動作するプログラム(サスペンド対象プログラム)について、停止時刻記憶部172に停止時刻が記憶されているか否かを判定する。プログラム実行装置100は、停止時刻が記憶されている場合には、ステップ53の処理に移る。一方で、プログラム実行装置100は、停止時刻が記憶されていない場合には、ステップ54の処理に移る。   As shown in FIG. 15, in step 50, the program execution apparatus 100 determines whether or not a stop time is stored in the stop time storage unit 172 for a program that operates in one operation mode (suspend target program). . When the stop time is stored, the program execution device 100 proceeds to the process of step 53. On the other hand, if the stop time is not stored, the program execution device 100 proceeds to the process of step 54.

ステップ51において、プログラム実行装置100は、ストレージ163に退避された実行情報が有効であるか否かを判定する。プログラム実行装置100は、実行情報が有効である場合には、一連の処理を終了する。一方で、プログラム実行装置100は、実行情報が無効である場合には、ステップ52の処理に移る。   In step 51, the program execution device 100 determines whether or not the execution information saved in the storage 163 is valid. When the execution information is valid, the program execution device 100 ends the series of processes. On the other hand, if the execution information is invalid, the program execution device 100 proceeds to the process of step 52.

例えば、プログラム実行装置100は、プログラムが実行状態であり、ストレージ163に退避された実行情報が古い場合に、ストレージ163に退避された実行情報が無効であると判定する。   For example, when the program is in an execution state and the execution information saved in the storage 163 is old, the program execution device 100 determines that the execution information saved in the storage 163 is invalid.

ステップ52において、プログラム実行装置100は、ストレージ163に退避された実行情報を削除する。   In step 52, the program execution device 100 deletes the execution information saved in the storage 163.

ステップ53において、プログラム実行装置100は、処理開始条件が満たされているか否かを判定する。プログラム実行装置100は、処理開始条件が満たされている場合には、ステップ54の処理に移る。一方で、プログラム実行装置100は、処理開始条件が満たされていない場合には、一連の処理を終了する。   In step 53, the program execution device 100 determines whether or not a process start condition is satisfied. When the process start condition is satisfied, the program execution device 100 proceeds to the process of step 54. On the other hand, the program execution device 100 ends a series of processes when the process start condition is not satisfied.

ステップ54において、プログラム実行装置100は、プログラムが停止状態であるか否かを判定する。プログラム実行装置100は、プログラムが停止状態である場合には、ステップ56の処理に移る。一方で、プログラム実行装置100は、プログラムが状態保存状態である場合には、ステップ55の処理に移る。   In step 54, the program execution device 100 determines whether or not the program is in a stopped state. If the program is in a stopped state, the program execution device 100 proceeds to the process of step 56. On the other hand, if the program is in the state storage state, the program execution device 100 proceeds to the process of step 55.

ステップ55において、プログラム実行装置100は、図14に示したポリシーNo.3に係る処理開始条件が満たされているか否かを判定する。すなわち、プログラム実行装置100は、プログラムのポリシーがポリシーNo.3であるか否かを判定する。プログラム実行装置100は、プログラムのポリシーがポリシーNo.3である場合には、ステップ58の処理に移る。一方で、プログラム実行装置100は、プログラムのポリシーがポリシーNo.3でない場合には、一連の処理を終了する。   In step 55, the program execution device 100 determines the policy No. shown in FIG. 3 is determined whether or not the processing start condition according to 3 is satisfied. That is, the program execution apparatus 100 determines that the policy of the program is policy No. 3 is determined. In the program execution device 100, the policy of the program is the policy No. If it is 3, the process proceeds to step 58. On the other hand, in the program execution device 100, the policy of the program is the policy No. If it is not 3, the series of processing ends.

ステップ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 program execution device 100 determines the policy No. shown in FIG. 1 or policy no. 3 is determined whether or not the processing start condition according to 3 is satisfied. That is, the program execution apparatus 100 determines that the policy of the program is policy No. 1 or policy no. 3 is determined. In the program execution device 100, the policy of the program is the policy No. 1 or policy no. If it is 3, the process proceeds to step 57. On the other hand, in the program execution device 100, the policy of the program is the policy No. If it is 2, the process proceeds to step 58.

ステップ57において、プログラム実行装置100は、一の動作モードで動作するプログラム(サスペンド対象プログラム)を状態保存状態に遷移させる。   In step 57, the program execution device 100 causes the program (suspend target program) operating in one operation mode to transition to the state storage state.

ステップ58において、プログラム実行装置100は、一の動作モードで動作するプログラム(サスペンド対象プログラム)をサスペンド状態に遷移させる。   In step 58, the program execution device 100 causes the program (suspend target program) operating in one operation mode to transition to the suspend state.

(作用及び効果)
変更例4では、サスペンド前処理部173は、ポリシー記憶部175に記憶されたポリシーに基づいて、一の動作モードで動作するプログラム(サスペンド対象プログラム)の状態を遷移させる。すなわち、一の動作モードで動作するプログラム(サスペンド対象プログラム)毎に適した状態遷移を実現できる。
(Function and effect)
In the fourth modification, the suspend preprocessing unit 173 changes the state of a program (suspended program) that operates in one operation mode based on the policy stored in the policy storage unit 175. That is, it is possible to realize a state transition suitable for each program (suspend target program) that operates in one operation mode.

[その他の実施形態]
本発明は上述した実施形態によって説明したが、この開示の一部をなす論述及び図面は、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
[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 mode switching unit 164 receives a request to switch an operation mode from one operation mode to another operation mode, the mode switching unit 164 receives the one operation mode after the suspension target program is saved in the storage 163 by the suspend unit 161. The operation mode may be switched from one operation mode to another operation mode.

(2)モード切替部164は、一の動作モードから他の動作モードに動作モードを切り替える要求を受けた場合に、サスペンド前処理部173によってメモリ領域112上に展開された実行情報が削除された後に、一の動作モードから他の動作モードに動作モードを切り替えてもよい。   (2) When the mode switching unit 164 receives a request to switch the operation mode from one operation mode to another operation mode, the execution information developed on the memory area 112 by the pre-suspend processing unit 173 has been deleted. Later, the operation mode may be switched from one operation mode to another operation mode.

(3)プログラム実行装置100は、ポリシー記憶部175に記憶されるポリシーをプログラム毎に設定する設定部を有していてもよい。設定部は、ポリシーを設定するためのユーザインタフェース(設定画面など)をユーザに提供する。   (3) The program execution device 100 may include a setting unit that sets the policy stored in the policy storage unit 175 for each program. The setting unit provides a user with a user interface (such as a setting screen) for setting a policy.

(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 notification unit 165 to another operation mode may include other information in addition to the program name and the display position. The other information is, for example, the usage amount of the memory area 112 used by the program, the importance of the program, the processing contents of the program, and the like. The designation unit 166 designates a designated program based on these pieces of information.

第1実施形態に係るプログラム実行装置100の構成を示す図である。It is a figure which shows the structure of the program execution apparatus 100 which concerns on 1st Embodiment. 第1実施形態に係る通知部165によって通知される情報を示す図である。It is a figure which shows the information notified by the notification part 165 which concerns on 1st Embodiment. 第1実施形態に係るプログラムの状態を説明するための図である。It is a figure for demonstrating the state of the program which concerns on 1st Embodiment. 第1実施形態に係るプログラム実行装置100の動作を示すフロー図である。It is a flowchart which shows operation | movement of the program execution apparatus 100 which concerns on 1st Embodiment. 第1実施形態に係るプログラム実行装置100の動作を示すフロー図である。It is a flowchart which shows operation | movement of the program execution apparatus 100 which concerns on 1st Embodiment. 変更例1に係るプログラム実行装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the program execution apparatus 100 which concerns on the example 1 of a change. 変更例2に係るプログラム実行装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the program execution apparatus 100 which concerns on the example 2 of a change. 変更例2に係る停止時刻記憶部172に記憶された情報を示す図である。It is a figure which shows the information memorize | stored in the stop time memory | storage part 172 which concerns on the example 2 of a change. 変更例2に係るプログラム実行装置100の動作を示すフロー図である。It is a flowchart which shows operation | movement of the program execution apparatus 100 which concerns on the example 2 of a change. 変更例3に係るプログラム実行装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the program execution apparatus 100 which concerns on the example 3 of a change. 変更例3に係るレジューム条件記憶部174に記憶された情報を示す図である。It is a figure which shows the information memorize | stored in the resume condition memory | storage part 174 which concerns on the example 3 of a change. 変更例3に係るプログラム実行装置100の動作を示すフロー図である。It is a flowchart which shows operation | movement of the program execution apparatus 100 which concerns on the example 3 of a change. 変更例4に係るプログラム実行装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the program execution apparatus 100 which concerns on the example 4 of a change. 変更例4に係るポリシー記憶部175に記憶された情報を示す図である。It is a figure which shows the information memorize | stored in the policy memory | storage part 175 which concerns on the example 4 of a change. 変更例4に係るプログラム実行装置100の動作を示すフロー図である。It is a flowchart which shows operation | movement of the program execution apparatus 100 which concerns on the example 4 of a change.

符号の説明Explanation of symbols

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に記載のプログラム実行装置。   The resume unit resumes only the suspend target program saved in the data storage by the suspend unit in the previous operation mode switching in the one operation mode when the designated program is not designated by the designation unit. The program execution device according to claim 1. 前記一の動作モードから前記他の動作モードに前記動作モードを切り替える第1条件及び前記他の動作モードから前記一の動作モードに前記動作モードを切り替える第2条件を記憶する記憶部と、
前記動作モードを切り替えるモード切替部とをさらに備え、
前記モード切替部は、前記第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に記載のプログラム実行装置。   The program execution device according to claim 1, wherein the notification unit notifies the name of the suspend target program to the other operation mode. 前記レジューム部は、前記指定部によって指定された前記指定プログラムを前記一の動作モードで再開する場合に、前記指定部によって指定された前記指定プログラムによって実行されるアプリケーションを表示部上における最前面に表示させることを特徴とする請求項1に記載のプログラム実行装置。   The resume unit, when resuming the designated program designated by the designation unit in the one operation mode, brings an application executed by the designated program designated by the designation unit to the forefront on the display unit. The program execution device according to claim 1, wherein the program execution device is displayed. 前記一の動作モードは、前記一の動作モードにおいて実行状態にあるプログラムの実行情報をメモリ領域上に展開しており、
前記実行状態にあるプログラムが停止状態に遷移した時刻である停止時刻を記憶する停止時刻記憶部と、
前記停止時刻から所定時間が経過した場合に、前記メモリ領域上に展開された実行情報を前記データストレージに退避するサスペンド前処理部とをさらに備えることを特徴とする請求項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.
前記サスペンド前処理部は、前記停止状態に遷移したプログラムが前記実行状態に遷移した場合に、前記データストレージに退避された実行情報を削除することを特徴とする請求項7に記載のプログラム実行装置。   8. The program execution device according to claim 7, wherein the suspend preprocessing unit deletes the execution information saved in the data storage when the program that has transitioned to the stop state transitions to the execution state. . 前記サスペンド前処理部は、前記サスペンド部によって前記サスペンド対象プログラムが前記データストレージに退避される場合に、前記メモリ領域上に展開された実行情報を削除することを特徴とする請求項7に記載のプログラム実行装置。   8. The suspend preprocessing unit, when the suspend target program is saved in the data storage by the suspend unit, deletes the execution information developed in the memory area. Program execution device. 前記レジューム部は、前記サスペンド対象プログラムのいずれかである処理対象プログラムに対する処理要求を受けた場合に、前記データストレージに退避された実行情報を用いて、前記処理対象プログラムを前記一の動作モードで再開することを特徴とする請求項7に記載のプログラム実行装置。   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 in the one operation mode. The program execution device according to claim 7, wherein the program execution device resumes. 前記サスペンド対象プログラムのそれぞれについて、前記一の動作モードで前記サスペンド対象プログラムを再開する再開条件を記憶する条件記憶部をさらに備え、
前記レジューム部は、前記処理対象プログラムに対する処理要求が前記再開条件を満たす場合に、前記処理対象プログラムを前記一の動作モードで再開することを特徴とする請求項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.
JP2008306632A 2008-12-01 2008-12-01 Program execution device Expired - Fee Related JP4698724B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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