(57)【要約】  プログラムの実行を開始する際に、当該プログラムの実行が停止される際に当該プログラムが使用していたメモリ領域が使用可能である場合には、当該プログラムの実行が停止される際に保存された、当該プログラムが使用しているメモリ領域に配置されていたデータの読み込みを行うことなく当該プログラムの過去の実行状況を再現できるようにする。停止終了管理部（５２）は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する。
2013088782.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、
を含むことを特徴とする情報処理装置。
【請求項２】
前記保存制御手段は、プログラムの実行が停止される際に、当該プログラムが使用している、予め定められた論理アドレスの範囲内の領域に配置されているデータが保存されるよう制御する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記保存制御手段は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータが、前回の当該プログラムの実行の停止の際に保存されたデータから変更されている場合に、当該データが保存されるよう制御し、変更されていない場合は、当該データが保存されるようには制御しない、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記保存制御手段は、前記情報処理装置が異常終了した場合は、前記情報処理装置が異常終了後に起動される際に、前記プログラムの実行が停止される際に保存されるよう制御されたデータを消去する、
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段、
を含むことを特徴とする情報処理装置。
【請求項６】
プログラムの実行が開始される際に、当該プログラムの過去の実行時に使用していたメモリ領域が解放されていた場合は、当該プログラムが使用するメモリ領域を確保する実行開始制御手段、をさらに含み、
前記読み出し制御手段は、前記実行開始制御手段によりメモリ領域が確保される際に、前記保存制御手段により当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該メモリ領域に配置されるよう制御する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段と、
プログラムの実行が開始される際に、前記保存制御手段により当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段と、
を含むことを特徴とする情報処理装置。
【請求項８】
プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御ステップ、
を含むことを特徴とする情報処理方法。
【請求項９】
プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御ステップ、
を含むことを特徴とする情報処理方法。
【請求項１０】
プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１１】
プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１２】
プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、
としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１３】
プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段、
としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
実行されているプログラムが終了される際に、当該プログラムによって、当該プログラムに関するセーブデータが保存される技術が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
プログラムの実行が停止される際に（例えば、サスペンド状態になる際、あるいは、サスペンド状態を経て終了される際、などに）、当該プログラムが使用しているメモリ領域に配置されているデータの少なくとも一部が保存されるよう制御するとともに、当該メモリ領域を解放するようにすると、その後、当該プログラムの実行を開始する際に当該プログラムの過去の実行状況を再現するためには、保存されたデータを読み込んで、当該プログラムが使用するメモリ領域に配置しなければならないこととなる。【０００４】
ここで、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータが保持されるようにすると、当該プログラムの実行が開始されるにあたって、当該データが使用可能であれば、上述のようにして保存されたデータをわざわざ読み込まなくても、当該プログラムの過去の実行状況を再現することができる。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、プログラムの実行を開始する際に、当該プログラムの実行が停止される際に当該プログラムが使用していたメモリ領域が使用可能である場合には、当該プログラムの実行が停止される際に保存された、当該プログラムが使用しているメモリ領域に配置されていたデータの読み込みを行うことなく当該プログラムの過去の実行状況を再現できるようにすることにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、を含むことを特徴とする。【０００７】
また、本発明に係る別の情報処理装置は、プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段、を含むことを特徴とする。【０００８】
また、本発明に係るさらに別の情報処理装置は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段と、プログラムの実行が開始される際に、前記保存制御手段により当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段と、を含むことを特徴とする。【０００９】
また、本発明に係る情報処理方法は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御ステップ、を含むことを特徴とする。【００１０】
また、本発明に係る別の情報処理方法は、プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御ステップ、を含むことを特徴とする。【００１１】
また、本発明に係るプログラムは、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、としてコンピュータを機能させることを特徴とする。【００１２】
また、本発明に係る別のプログラムは、プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段、としてコンピュータを機能させることを特徴とする。【００１３】
また、本発明に係る情報記憶媒体は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。【００１４】
また、本発明に係る別の情報記憶媒体は、プログラムの実行が開始される際に、当該プログラムの実行が停止された際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該プログラムが使用するメモリ領域に配置されるよう制御する読み出し制御手段、としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。【００１５】
本発明によれば、プログラムが停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御されるので、プログラムの実行を開始する際に、当該プログラムの実行が停止される際に当該プログラムが使用していたメモリ領域が使用可能である場合には、当該プログラムの実行が停止される際に保存された、当該プログラムが使用しているメモリ領域に配置されていたデータの読み込みを行うことなく当該プログラムの過去の実行状況が再現されることとなる。【００１６】
本発明の一態様では、前記保存制御手段は、プログラムの実行が停止される際に、当該プログラムが使用している、予め定められた論理アドレスの範囲内の領域に配置されているデータが保存されるよう制御することを特徴とする。【００１７】
また、本発明の一態様では、前記保存制御手段は、プログラムの実行が停止される際に、当該プログラムが使用しているメモリ領域に配置されているデータが、前回の当該プログラムの実行の停止の際に保存されたデータから変更されている場合に、当該データが保存されるよう制御し、変更されていない場合は、当該データが保存されるようには制御しないことを特徴とする。【００１８】
また、本発明の一態様では、前記保存制御手段は、前記情報処理装置が異常終了した場合は、前記情報処理装置が異常終了後に起動される際に、前記プログラムの実行が停止される際に保存されるよう制御されたデータを消去することを特徴とする。【００１９】
また、本発明の一態様では、プログラムの実行が開始される際に、当該プログラムの過去の実行時に使用していたメモリ領域が解放されていた場合は、当該プログラムが使用するメモリ領域を確保する実行開始制御手段、をさらに含み、前記読み出し制御手段は、前記実行開始制御手段によりメモリ領域が確保される際に、前記保存制御手段により当該プログラムに関連づけて存されるよう制御されたデータが記憶されている場合は、当該データが読み出されて当該メモリ領域に配置されるよう制御することを特徴とする。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る情報処理装置の外観の一例を示す斜視図である。
【図２】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示す構成図である。
【図３】本発明の一実施形態に係る情報処理装置で実現される機能の一例を示す機能ブロック図である。
【図４】メニュー画像が表示された画面の一例を示す図である。
【図５】ボード画像が表示された画面の一例を示す図である。
【図６】プログラム関連画像の一例を示す図である。
【図７】本発明の一実施形態に係る情報処理装置で実行されるプログラムが使用可能であるリソースの割り当て状況の一例を模式的に示す図である。
【図８】本発明の一実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。
【発明を実施するための形態】
【００２１】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００２２】
図１は、本発明の一実施形態に係る情報処理装置１０の外観の一例を示す斜視図である。図２は、図１に示す情報処理装置１０のハードウェア構成の一例を示す構成図である。本実施形態に係る情報処理装置１０は、例えば携帯型ゲーム機等の可搬型のデバイスであるものとする。
【００２３】
図１に示すように、本実施形態に係る情報処理装置１０の筐体１２は、全体として平板状の形状をしている。図１及び図２に示すように、本実施形態に係る情報処理装置１０は、制御部２０、記憶部２２、通信部２４、表示部２６、タッチセンサ２８、操作部３０、カードスロット３２、画像処理部３３、などを含んで構成される。これらの要素は、バスを介して接続される。
【００２４】
制御部２０は、例えばＣＰＵ等であって、記憶部２２に格納されているプログラムに従って、各種の情報処理を実行する。記憶部２２は、例えばＲＡＭやＲＯＭ等のメモリ素子などであって、制御部２０によって実行されるプログラムや各種のデータを格納する。また、記憶部２２は、制御部２０のワークメモリとしても機能する。通信部２４は、例えば、ネットワークインタフェースなど（具体的には、例えば、無線ＬＡＮモジュール）であり、制御部２０から入力される指示に従って、他の情報処理装置１０や、インターネット上のサーバ（図示せず）などへ情報を送信する。また、この通信部２４は、受信される情報を制御部２０に出力する。
【００２５】
表示部２６は、例えば、液晶表示パネルや有機ＥＬ表示パネル等、画像を表示する各種のデバイスである。図１に示すように、本実施形態では、表示部２６は筐体１２の前面に配置されており、表示部２６の画面は略矩形の形状をしている。以下、画面の横方向（幅方向）をＸ軸方向とし、画面の前面から見て左から右へ向かう方向をＸ軸正方向とする。また、画面の縦方向（高さ方向）をＹ軸方向とし、筐体１２の前面から見て下から上へ向かう方向をＹ軸正方向とする。
【００２６】
タッチセンサ２８は、画面に対応する形状及び大きさの略矩形の検出面を備えており、この検出面上に物体が接触した場合に、当該物体の接触位置を検出する。また、本実施形態では、タッチセンサ２８は、物体の接触位置を所定の時間間隔で順次検出する。図１に示すように、本実施形態では、タッチセンサ２８の検出面は、表示部２６の画面と重なるよう、筐体１２の前面に配置されている。なお、以下の説明では、ユーザは自分の指をタッチセンサ２８に接触させて操作入力を行うこととするが、これに限らず、ユーザはスタイラスなど手で持った物体を検出面に触れさせることで操作入力を行うようにしてもよい。また、タッチセンサ２８は、必ずしも物体が検出面に接触した場合だけ物体の位置を検出するのではなく、検出面上の検出可能範囲まで物体が近接した場合に、当該物体の検出面に対する位置を検出するようにしてもよい。タッチセンサ２８は、例えば、静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。なお、情報処理装置１０が、筐体１２の前面に配置されたタッチセンサ２８と対向するようにして筐体１２の背面に配置されたタッチセンサ２８を備えていてもよい。
【００２７】
操作部３０は、例えば、タッチセンサ２８とともに、ユーザが情報処理装置１０に対して行う操作入力に用いる操作部材の一種である。図１には、操作部３０を構成する操作部材の一例として、情報処理装置１０の筐体１２の前面に配置されたボタン３４及びアナログスティック３６が図示されている。なお、情報処理装置１０は、操作部３０を構成する操作部材として、例えば、スイッチや、筐体１２の上側面に配置されたボタン３４などを備えていてもよい。
【００２８】
カードスロット３２は、各種のメモリカード等の情報記憶媒体を挿抜可能なスロットであり、制御部２０からの指示に従って、カードスロット３２に挿入されるメモリカード等の情報記憶媒体に記録されたプログラムやデータなどの読み取りや、挿入されるメモリカード等の情報記憶媒体へのデータの書き込みを行う。本実施形態では、カードスロット３２は、情報処理装置１０の筐体の上側面に配置されている。なお、情報処理装置１０は、複数のカードスロット３２を備えていてもよく、これら複数のカードスロット３２が、互いに異なる規格である情報記憶媒体を挿抜可能であってもよい。
【００２９】
画像処理部３３は、例えばＧＰＵとフレームバッファメモリとを含んで構成され、制御部２０が出力する指示に従って、表示部２６に表示する画像を描画する。具体例として、画像処理部３３は表示部２６の表示領域に対応したフレームバッファメモリを備え、ＧＰＵは、制御部２０からの指示に従って、所定時間おきにこのフレームバッファメモリに対して画像を書き込む。そして、このフレームバッファメモリに書き込まれた画像が、所定のタイミングでビデオ信号に変換されて、表示部２６に表示される。
【００３０】
本実施形態に係る情報処理装置１０では、例えば、予め、記憶部２２や、カードスロット３２に挿入される情報記憶媒体（以下、挿入媒体と呼ぶ。）に、ゲームプログラム等の複数のプログラムが記憶されている。そして、本実施形態では、記憶部２２や挿入媒体に記憶されているプログラムは、第１の種類のプログラム（以下、ラージプログラムと呼ぶ。）、又は、第２の種類のプログラム（以下、ミニプログラムと呼ぶ。）のいずれかの分類に属する。そして、本実施形態に係る情報処理装置１０では、同時に２つ以上のラージプログラムは実行されないようになっている。なお、ラージプログラムに分類されるプログラムの一例としてはゲームプログラム等が挙げられ、ミニプログラムに分類されるプログラムの一例としては写真閲覧用のプログラムや音楽プレイヤのプログラム等が挙げられるが、これらの分類は一例にすぎず、例えば、ミニプログラムに分類されるゲームプログラムが存在しても構わないし、ラージプログラムに分類される写真閲覧用のプログラムや音楽プレイヤのプログラムが存在しても構わない。
【００３１】
また、本実施形態では、記憶部２２や挿入媒体に記憶されているプログラムは、フォアグラウンドプログラム、又は、バックグラウンドプログラムのいずれかの分類に属する。フォアグラウンドプログラムとは、フォアグラウンドで実行されるプログラムであり、例えば、ユーザが画面等を介して起動や停止を制御することができるプログラムを指す。バックグラウンドプログラムとは、バックグラウンドで実行されるプログラムであり、例えば、情報処理装置１０の起動の際に起動されたり、他のプログラムによって起動や停止が制御されたりするプログラムを指す。
【００３２】
本実施形態では、記憶部２２や挿入媒体に記憶されているプログラムは、フォアグラウンドプログラムであるラージプログラム、バックグラウンドプログラムであるラージプログラム、フォアグラウンドプログラムであるミニプログラム、又は、バックグラウンドプログラムであるミニプログラム、のうちのいずれかに該当することとなる。
【００３３】
図３は、本実施形態に係る情報処理装置１０で実現される機能の一例を示す機能ブロックズである。図３に示すように、情報処理装置１０は、機能的には、操作受付部４０、メニュー画像表示制御部４２、ボード画像表示制御部４４、画像切替部４６、実行開始管理部４８、プログラム実行部５０、停止終了管理部５２、を含んでいる。これらの機能は、コンピュータである情報処理装置１０で、本実施形態に係るプログラムが実行されることにより実現される。このプログラムは、コンピュータ通信ネットワーク経由で通信インタフェースを介して他のコンピュータからダウンロードされて、情報処理装置１０に提供されてもよいし、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙディスクなど）、ＵＳＢメモリ、メモリカード等のコンピュータ読み取り可能な情報記憶媒体に格納され、そこから情報処理装置１０に提供されるようにしてもよい。
【００３４】
操作受付部４０は、タッチセンサ２８や操作部３０に対するユーザの指示操作を受け付ける。特に、本実施形態では、ユーザは、例えば、タッチセンサ２８の検出面上に自分の指を接触させたり、検出面上に指を接触させた状態で指をスライドさせたりすることで、情報処理装置１０に対する操作入力を行う。以下、ユーザが検出面上の一点に短い時間だけ指を接触させる操作をタップ操作と呼ぶ。タップ操作が行われた場合、操作受付部４０は、タップ操作の位置（具体的には、例えば、ユーザが指を接触させた検出面内の位置のＸ座標値及びＹ座標値）を出力する。また、以下、ユーザが検出面上の一点に指を接触させ、その位置を始点として検出面上のいずれかの方向に直線的に指を動かしてから指を離す操作を、スライド操作と呼ぶ。スライド操作が行われた場合、情報処理装置１０は、当該操作においてユーザが指を移動させた操作に応じて、各種の情報処理を実行する。すなわち、スライド操作によって、情報処理装置１０は、方向の指示を受け付けることとなる。
【００３５】
メニュー画像表示制御部４２は、例えば、情報処理装置１０の起動時や、ユーザがメニュー表示を指示した場合など、所定のタイミングで、メニュー画像６０を画面に表示させる制御を行う。図４は、メニュー画像６０が表示された画面の一例を示す図である。メニュー画像６０は、ユーザにプログラム（本実施形態では、フォアグラウンドプログラム）を選択させるために提示される画像であって、ユーザによる選択対象となる複数のメニュー項目画像６２を含んだ画像である。各メニュー項目画像６２は、例えば、記憶部２２や挿入媒体に記憶されているフォアグラウンドプログラムを表すアイコン画像などである。そして、本実施形態では、メニュー画像６０内には、ラージプログラムであるフォアグラウンドプログラムに関連づけられたメニュー項目画像６２と、ミニプログラムであるフォアグラウンドプログラムに関連づけられたメニュー項目画像６２と、が含まれることとする。図４では、それぞれがフォアグラウンドプログラムに関連づけられた１０個のメニュー項目画像６２が、メニュー画像６０に含まれている。
【００３６】
メニュー画像６０が表示された状態において、ユーザは、いずれかのメニュー項目画像６２が表示された位置をタップすることで、プログラムの選択操作を行う。具体的には、メニュー画像表示制御部４２は、ユーザのタップ操作を受け付けた際に、画面内におけるタップされた位置のＸＹ座標を特定する。そして、メニュー画像表示制御部４２は、その位置に表示されているメニュー項目画像６２を特定する。そして、メニュー画像表示制御部４２は、特定されたメニュー項目画像６２に関連づけられたフォアグラウンドプログラムを特定する。このようにして、フォアグラウンドプログラムが選択されることとなる。
【００３７】
そして、メニュー画像表示制御部４２は、選択されたフォアグラウンドプログラムに関連する情報が配置された画像（以下、プログラム関連画像６６と呼ぶ。）の生成を、ボード画像表示制御部４４に指示する。図６は、プログラム関連画像６６の一例を示す図である。
【００３８】
ボード画像表示制御部４４は、メニュー画像６０が画面に表示された状態でユーザがいずれかのプログラムを選択した場合に、選択されたプログラムに関する画像を画面に表示させる制御を行う。以下、ボード画像表示制御部４４によって、画面への表示が制御される画像をボード画像６４と呼ぶ。図５は、ボード画像６４が表示された画面の一例を示す図である。本実施形態では、ボード画像表示制御部４４は、ユーザが選択したフォアグラウンドプログラムに対応するプログラム関連画像６６を生成して、そのプログラム関連画像６６の一部又は全部をボード画像６４として画面に表示させる。
【００３９】
図５及び図６に示すように、本実施形態に係るボード画像６４は、対応するフォアグラウンドプログラムに関連する複数の表示要素が配置されたプログラム関連画像６６の一部又は全部を表す画像である。本実施形態では、プログラム関連画像６６の横方向をＸ軸方向とし、左から右へ向かう方向をＸ軸正方向とする。また、プログラム関連画像６６の縦方向をＹ軸方向とし、下から上へ向かう方向をＹ軸正方向とする。
【００４０】
本実施形態に係るプログラム関連画像６６は、所定のスクロール方向（本実施形態では、例えば、Ｙ軸方向）に沿って延びる矩形の領域であって、Ｙ軸方向に延びる辺は、表示部２６の画面の縦方向の長さよりも長いものとする。そのため、ボード画像表示制御部４４は、プログラム関連画像６６の全体を一度に画面に表示することはできず、プログラム関連画像６６の一部の範囲だけをボード画像６４として画面に表示することとなる。本実施形態では、プログラム関連画像６６内の、実際に画面に表示される範囲（表示対象範囲）は、ユーザのスクロール指示に従って移動する。具体的には、例えば、ユーザが、タッチセンサ２８に対してスクロール指示に沿ったスライド操作を行うことによって、ボード画像表示制御部４４は、プログラム関連画像６６内の表示対象範囲を移動させる。そして、ボード画像表示制御部４４は、プログラム関連画像６６の移動後の表示対象範囲内に含まれる部分を、ボード画像６４として画面に表示させる。なお、表示対象範囲のサイズ及び形状は、画面のサイズに対応している。また、ボード画像表示制御部４４が、最初にボード画像６４を表示する際には、例えば、プログラム関連画像６６の最上端など、所定の位置が表示対象範囲に含まれるよう制御するようにしてもよい。
【００４１】
また、図６に例示するように、本実施形態では、プログラム関連画像６６は、プログラム情報領域６８と、コミュニケーション領域７０と、の２つの部分領域を含んで構成されている。プログラム情報領域６８は、フォアグラウンドプログラムの提供元となる事業者等によって用意された情報が配置される領域であり、コミュニケーション領域７０は、プログラム関連画像６６に関連づけられるフォアグラウンドプログラムに関して、複数のユーザが投稿したメッセージの内容が配置される領域である。コミュニケーション領域７０は、ユーザ同士の情報交換等に利用される。
【００４２】
また、本実施形態では、ボード画像表示制御部４４は、プログラム関連画像６６内に配置される表示要素の情報の管理も行う。具体的には、メニュー画像６０内においてフォアグラウンドプログラムが選択された際には、ボード画像表示制御部４４は、新たに生成するプログラム関連画像６６に含めるべき表示要素の情報を取得する。ボード画像表示制御部４４は、例えば、記憶部２２や挿入媒体に記憶されている静的な情報（プログラムの提供元のウェブサイトへのリンクを示す画像、フォアグラウンドプログラムのプロモーションビデオ等の動画像、など）を取得して、プログラム情報領域６８に配置するようにしてもよい。また、ボード画像表示制御部４４は、インターネット等のネットワーク経由で、外部のサーバから、例えば、ゲームプログラムであるフォアグラウンドプログラムに関するイベントの告知情報や、関連ウェブサイトの更新情報、関連商品の情報、パッチや追加プログラムの公開情報などを取得して、プログラム情報領域６８に配置するようにしてもよい。このときは、記憶部２２や挿入媒体に、フォアグラウンドプログラムに関する上述の情報の取得先の情報（例えば、ＵＲＬ）が、当該フォアグラウンドプログラムを識別する情報に関連づけて記憶されていることとする。
【００４３】
また、本実施形態では、ボード画像表示制御部４４は、コミュニケーション領域７０に配置すべき表示要素の情報についても、ネットワーク経由で外部から取得する。具体的には、例えば、情報処理装置１０のユーザは、情報処理装置１０で実行されるプログラムに関するメッセージを、インターネット等の通信ネットワークを経由して、所定のコミュニケーションシステムに投稿できるようになっている。本実施形態に係る情報処理装置１０は、フォアグラウンドプログラムと関連づけて、メッセージの投稿先となるコミュニケーションシステムを特定する情報（ＵＲＬ等）を記憶部２２や挿入媒体に記憶しており、この情報を参照して、ユーザが入力したメッセージをコミュニケーションシステムに送信する。ボード画像表示制御部４４は、フォアグラウンドプログラムに関連づけられたプログラム関連画像６６を生成する際には、上述のコミュニケーションシステムにアクセスし、当該フォアグラウンドプログラムに関して過去に投稿されたメッセージ情報を取得する。そして、ボード画像表示制御部４４は、取得されたメッセージの内容やメッセージの発言者を表す表示要素を配置したコミュニケーション領域７０の画像を、プログラム関連画像６６の一部として生成する。
【００４４】
また、ボード画像表示制御部４４は、所定の時間間隔で、外部のサーバやコミュニケーションシステムからフォアグラウンドプログラムに関連づけられた新着メッセージを取得して、その新着メッセージが含まれるよう当該フォアグラウンドプログラムに関連づけられたプログラム関連画像６６を更新するようにしてもよい。また、外部のサーバやコミュニケーションシステムが、フォアグラウンドプログラムに関連づけされた新着メッセージを受け付けた際に、当該新着メッセージを情報処理装置１０に通知するようにしてもよい。そして、ボード画像表示制御部４４は、当該通知の受付に応じて、当該フォアグラウンドプログラムに関連づけられたプログラム関連画像６６を更新するようにしてもよい。こうすれば、プログラムに関連づけられる情報が逐次更新されることとなる。
【００４５】
図５には、図６に示すプログラム関連画像６６のプログラム情報領域６８が表示対象範囲となっている場合のボード画像６４が示されている。プログラム情報領域６８内には、ボード画像６４に対応付けられるフォアグラウンドプログラムの実行を開始する際の操作の対象となる実行開始用画像が含まれている。本実施形態では、実行開始用画像として、実行開始ボタン画像７２（ここでは、フォアグラウンドプログラムに対応付けられるデフォルトの実行開始ボタン画像７２）がプログラム情報領域６８内に配置される。デフォルトの実行開始ボタン画像７２は、例えば、対応するフォアグラウンドプログラムが情報処理装置１０にインストールされる際に、記憶部２２に記憶される。ユーザは、実行開始ボタン画像７２を含むボード画像６４が画面に表示された状態において、この実行開始ボタン画像７２の表示位置をタップすることにより、対応するフォアグラウンドプログラムの起動を指示する。
【００４６】
画像切替部４６は、ユーザの選択操作によって、メニュー画像表示制御部４２が表示対象としたメニュー画像６０、並びに、ボード画像表示制御部４４が表示対象とした複数のボード画像６４の間で、表示画像の切替を行う。例えば、メニュー画像６０が表示された状態で、ユーザがフォアグラウンドプログラムＰ１を選択した場合、ボード画像表示制御部４４は、フォアグラウンドプログラムＰ１に対応するボード画像６４を画面に表示する。ユーザは、この状態において、例えば、Ｘ軸正方向へのスライド操作を行うことにより、画面にメニュー画像６０を再表示させることができる。さらに、メニュー画像６０が画面に再表示された状態で、ユーザが別のフォアグラウンドプログラムＰ２を選択した場合、ボード画像表示制御部４４は、フォアグラウンドプログラムＰ２に対応するボード画像６４を表示する。このようにして、ユーザは、順次、それぞれがフォアグラウンドプログラムに対応する複数のボード画像６４を画面に表示させることができる。画像切替部４６は、ユーザが画像切替操作（本実施形態では、Ｘ軸正方向又はＸ軸負方向へのスライド操作）を行った場合に、メニュー画像６０、並びに、表示可能な状態に設定されたボード画像６４（例えば、対応するメニュー項目画像６２がユーザに選択されたフォアグラウンドプログラムに関連づけられるボード画像６４）と、を切替処理の対象として、画面に表示される画像の切替を行う。
【００４７】
また、本実施形態では、画像切替部４６は、表示画像が切り替わる過程を画面に表示することとする。具体的には、例えば、Ｘ軸正方向（又は、Ｘ軸負方向）へのスライド操作に応じて、画像切替部４６は、表示されている画像（第１画像と呼ぶ。）がＸ軸正方向（又は、Ｘ軸負方向）に移動する様子を表示するとともに、移動する第１画像に続いて、Ｘ軸負方向側（又は、Ｘ軸正方向側）から、新たに表示されることとなる画像（第２画像と呼ぶ。）が画面内に入ってくる様子を表示する。そして、ユーザが所定距離以上指をスライドさせてからタッチセンサ２８から指を離して画像切替操作を終えると、画像切替部４６は、さらに第２画像の全体が画面内に入るまで、第１画像及び第２画像を移動させる。これにより、画像切替処理が終了し、画面内には第２画像だけが表示された状態となる。
【００４８】
ここで、例えば、フォアグラウンドプログラムＰ１に対応するボード画像６４（第１のボード画像６４と呼ぶ。）、及び、フォアグラウンドプログラムＰ２に対応するボード画像６４（第２のボード画像６４と呼ぶ。）が表示可能な状態に設定されている場合における画面切替の様子の一例について説明する。なお、ここでは、第２のボード画像６４が、第１のボード画像６４よりも前に表示可能な状態に設定されたこととする。上述の場合において、メニュー画像６０が表示されている状態で、ユーザがＸ軸負方向へのスライド操作を行うと、メニュー画像６０及び第１のボード画像６４が右から左へ移動する様子が表示され、第１のボード画像６４が画面全体に表示される。そして、第１のボード画像６４が表示されている状態で、ユーザがＸ軸負方向へのスライド操作を行うと、第１のボード画像６４及び第２のボード画像６４が右から左へ移動する様子が表示され、第２のボード画像６４が画面全体に表示される。そして、第２のボード画像６４が表示されている状態で、ユーザがＸ軸正方向へのスライド操作を行うと、第１のボード画像６４及び第２のボード画像６４が左から右へ移動する様子が表示され、第１のボード画像６４が画面全体に表示される。そして、第１のボード画像６４が表示されている状態で、ユーザがＸ軸正方向へのスライド操作を行うと、メニュー画像６０及び第１のボード画像６４が左から右へ移動する様子が表示され、メニュー画像６０が画面全体に表示される。
【００４９】
実行開始管理部４８は、記憶部２２や挿入媒体に記憶されているプログラムの実行を開始する（本実施形態では、例えば、プログラムを起動する、あるいは、プログラムの実行を再開する）。本実施形態では、情報処理装置１０の起動時に、実行開始管理部４８が、情報処理装置１０の起動時に起動されるよう予め設定された１又は複数のバックグラウンドプログラムを起動する。また、本実施形態では、実行開始管理部４８は、フォアグラウンドプログラムに対応するプログラム関連画像６６の一部又は全部であるボード画像６４が画面に表示された状態でユーザによる実行開始指示操作（本実施形態では、例えば、実行開始ボタン画像７２のタップ操作）を受け付けると、当該プログラムがサスペンド状態（例えば、制御部２０によって、当該プログラムについてプログラムカウンタの更新が行われなくなる状態や、当該プログラムに含まれる命令のフェッチ、デコード、並びに、実行が行われなくなる状態、など）になっている場合は、当該フォアグラウンドプログラムの実行を再開し（レジュームし）、当該プログラムがサスペンド状態になっていない場合は、当該フォアグラウンドプログラムを起動する。なお、実行開始ボタン画像７２が表示部２６に表示されている場合にのみ、この実行開始ボタン画像７２に関連づけられるフォアグラウンドプログラムのユーザの操作に応じた起動又は実行の再開が可能となっていてもよい。ここで、実行開始管理部４８によるプログラムの起動に伴い、情報処理装置１０で起動済であるプログラムが終了されることがあるが、このことの詳細については後述する。また、本実施形態では、実行中のプログラムがバックグラウンドプログラムの起動を実行開始管理部４８に指示することがある。実行開始管理部４８は、実行中のプログラムから受け付けるバックグラウンドプログラムの起動指示に応じて、起動指示の対象となったバックグラウンドプログラムを起動する。
【００５０】
また、本実施形態では、実行開始管理部４８がプログラムを起動すると、当該プログラムを識別する情報（例えば、プログラムの識別子やプログラムの名称など）と、所定値（本実施形態では、例えば、１００）が設定されたパラメータｅｘｐｉｒｅＣｏｕｎｔと、を関連づけて記憶部２２に記憶させる。また、本実施形態では、実行開始管理部４８が、プログラムを起動する際に、起動済の他のプログラムについてのパラメータｅｘｐｉｒｅＣｏｕｎｔの値を１減らす。パラメータｅｘｐｉｒｅＣｏｕｎｔの値は、プログラムの実行を継続させる優先順位の決定の基礎となる。パラメータｅｘｐｉｒｅＣｏｕｎｔの詳細については後述する。
【００５１】
なお、本実施形態では、実行開始管理部４８は、プログラムを起動する際に、当該プログラムに関連づけられている実行状況データが挿入媒体に記憶されているか否かを確認する。そして、プログラムに関連づけられている実行状況データが記憶されている場合には、当該実行状況データを用いてプログラムの起動を行う。なお、実行状況データの詳細については後述する。
【００５２】
プログラム実行部５０は、実行開始管理部４８により実行が開始されたプログラムを実行する。本実施形態では、プログラム実行部５０は、例えば、実行が開始されたプログラムを実行することにより生成される処理結果の画像（実行が開始されたプログラムが生成する処理結果の画像）を画面に表示させる。このようにして、ユーザは、起動されたプログラムにより実行可能な各種処理の実行を指示することができることとなる。
【００５３】
また、本実施形態に係る情報処理装置１０で実行されているプログラムに含まれる、当該プログラムのプロテクト宣言の開始又は終了を示す命令がプログラム実行部５０によって実行されることがある。具体的には、例えば、チャットプログラムなどにおいて、チャットプログラムが終了されることを防ぐべき状況が始まった（例えば、チャットが開始されたなど）際に、チャットプログラムのプロテクト宣言が開始され、チャットプログラムが終了されることを防ぐべき状況が終わった（例えば、チャットが終了されたなど）際に、チャットプログラムのプロテクト宣言が終了される。そして、プログラム実行部５０は、情報処理装置１０で実行されているプログラムが、プロテクト宣言中の状態であるか否かを管理する。具体的には、例えば、プログラム実行部５０は、実行中のプログラムのプロテクト宣言が開始されると、当該プログラムの識別情報と、当該プログラムがプロテクト宣言中であることを示すフラグと、が含まれる情報を記憶部２２に記憶させる。一方、プログラム実行部５０は、実行中のプログラムのプロテクト宣言が終了されると、記憶部２２に記憶されている、当該プログラムの識別情報と、当該プログラムがプロテクト宣言中であることを示すフラグと、が含まれる情報を削除する。
【００５４】
本実施形態に係る情報処理装置１０は、一定の条件の下で、複数のプログラムを同時に実行できるようになっている。図７は、複数のプログラムが同時に実行されている場合における、情報処理装置１０で実行されるプログラムが使用可能であるリソース（メモリ、ファイルディスクリプタ、など）の割り当て状況の一例を模式的に示す図である。図７に示すように、本実施形態に係る情報処理装置１０では、例えば、上述のメニュー画像６０やボード画像６４を生成して表示出力するシステムプログラム（以下、シェルと呼ぶ。）、ラージプログラム、ミニプログラム、のそれぞれに対して、固定サイズのリソースの上限が設定される。本実施形態に係る情報処理装置１０で実行されるシェルは、シェルに設定された上限の範囲内でリソースを使用可能である。本実施形態では、メニュー画像６０、ボード画像６４、プログラム関連画像６６、プログラム関連画像６６に配置される表示要素の情報、などは、シェルに割り当てられるリソースとして管理される。また、本実施形態では、上述のように、２つ以上のラージプログラムは同時に実行されないようになっている。よって、本実施形態に係る情報処理装置１０で実行されるラージプログラムは、ラージプログラムに設定された上限の範囲内でリソースを使用可能である。また、本実施形態では、ミニプログラムに設定されるリソースの上限は、情報処理装置１０で実行される１又は複数のミニプログラムの全体に対して設定されたリソースの上限となっている。そのため、ミニプログラムの全体に対して設定されたリソースの上限を超えない限りにおいては、本実施形態に係る情報処理装置１０で複数のミニプログラムを実行することができるようになっている。図７では、シェルに割り当て可能な最大リソースサイズがＲｓｌｉｍ、ラージプログラムに割り当て可能な最大リソースサイズがＲｌｌｉｍ、ミニプログラムに割り当て可能な最大リソースサイズがＲｍｌｉｍで示されている。また、情報処理装置１０で実行されている複数（図７の例では、３つ）のミニプログラムそれぞれが使用しているリソースが、Ｒｍ１、Ｒｍ２、及び、Ｒｍ３で示されている。
【００５５】
停止終了管理部５２は、所与の条件を満足する場合に、起動済のプログラムの実行を停止させたり終了させたりする。以下の説明では、プログラムの実行の停止とは、当該プログラムが、サスペンド状態になることを指し、プログラムの終了とは、当該プログラムの実行が終了されて、当該プログラムが使用していたリソースが解放されることを指すこととする。
【００５６】
本実施形態では、プログラムの実行中に（プログラムを実行することにより生成される処理結果の画像が画面に表示されている状態の際に）、ユーザが所定のボタン３４を押下するなどの操作を行うことで、当該プログラムに対するサスペンド操作を行うことができるようになっている。本実施形態では、プログラムに対するサスペンド操作が行われた際には、（１）停止終了管理部５２による、スクリーンショットの画像の記憶処理、（２）停止終了管理部５２による実行状況データの記憶処理、並びに、当該プログラムの実行の停止処理、（３）ボード画像表示制御部４４による、画面に表示される画像の、当該プログラムに対応するボード画像６４への切替処理、が行われる。
【００５７】
また、停止終了管理部５２は、上述の（１）に示す処理において、プログラムの実行が停止される際の画面のスクリーンショットの画像（例えば、プログラムの実行が停止される際に情報処理装置１０のフレームバッファメモリに書き込まれている画像）を記憶部２２に記憶させる。なお、このとき、停止終了管理部５２が、スクリーンショットの画像を挿入媒体に記憶させるようにしてもよい。
【００５８】
停止終了管理部５２は、上述の（２）に示す処理において、プログラムの実行が停止される際における当該プログラムの実行状況を示すデータである実行状況データを、当該プログラムを識別する情報（例えば、当該プログラムの識別子や、当該プログラムの名称など）や、当該プログラムの停止の際の日時を示す情報などと関連づけて、挿入媒体に記憶させるとともに、当該プログラムを停止させる。このことによって、当該プログラムは、サスペンド状態となる。また、このとき、当該プログラムが使用しているリソースは解放されない（すなわち、当該プログラムは終了されない）。
【００５９】
本実施形態では、停止終了管理部５２は、例えば、停止されるプログラムが使用しているメモリの一部に配置されているデータ（例えば、当該プログラムに割り当てられた仮想アドレス空間のうちの、予め定められた論理アドレスの範囲内の領域（以下、セーフメモリ領域と呼ぶ。）に配置されているデータ）を、実行状況データとして、挿入媒体に記憶させる。本実施形態では、セーフメモリ領域のサイズは、例えば、６４キロバイトである。このようにして、本実施形態では、停止終了管理部５２が、停止されるプログラムが使用しているメモリ領域に配置されているデータを保持しつつ、セーフメモリ領域に配置されているデータが挿入媒体に保存されるよう制御することとなる。
【００６０】
また、ボード画像表示制御部４４は、上述の（３）に示す処理において、停止終了管理部５２によって記憶部２２に記憶されたスクリーンショットの画像が実行開始ボタン画像７２として含まれるボード画像６４を生成して、当該ボード画像６４を画面に表示させる。このようにして、画面に表示される画像が、当該プログラムに対応するボード画像６４に切り替わる。このようにして、本実施形態では、ユーザは、実行開始ボタン画像７２を閲覧することによって、当該実行開始ボタン画像７２に対応するプログラムの実行が停止されたこと、並びに、当該プログラムの実行が停止された（サスペンド状態となった）際の状況を認識することができることとなる。
【００６１】
また、本実施形態では、プログラムの実行中に（プログラムを実行することにより生成される処理結果の画像が画面に表示されている状態の際に）、ユーザが所定のボタン３４を押下するなどの操作を行うことで、当該プログラムに対する終了操作を行うことができるようになっている。本実施形態では、プログラムに対する終了操作が行われた際には、停止終了管理部５２が、終了操作の対象となったプログラムの実行を終了し、当該プログラムが使用していたリソースを解放する。そして、本実施形態では、ユーザにより明示的にプログラムの終了が指示される際には、当該プログラムは、停止された状態（サスペンド状態）を経て、終了される。そのため、上述のようにしてプログラムが終了される際には、当該プログラムについて上述の（２）に示す処理が実行された上で、当該プログラムが使用しているリソースが解放されることとなる。
【００６２】
また、例えば、実行中のプログラムに含まれる、自らを終了させる命令がプログラム実行部５０により実行されると、停止終了管理部５２は、当該プログラムの実行を終了し、当該プログラムが使用していたリソースを解放する。このときも、当該プログラムについて上述の（２）に示す処理が実行されることとなる。また、例えば、実行中のプログラムに含まれる、実行中の他のプログラム（例えば、バックグラウンドプログラム）の終了命令がプログラム実行部５０により実行されると、停止終了管理部５２は、当該他のプログラムの実行を終了し、当該他のプログラムが使用していたリソースを解放する。このときも、当該他のプログラムについて上述の（２）に示す処理が実行されることとなる。また、終了されるプログラムがフォアグラウンドプログラムである場合には、停止終了管理部５２が、終了指示に応じて終了される当該プログラムに関連づけられるボード画像６４を表示可能ではない状態に設定する。そして、メニュー画像表示制御部４２が、メニュー画像６０を画面に表示する。
【００６３】
このようにして終了されたプログラムに対応するボード画像６４は、上述のように、表示可能ではない状態に設定されるので、当該プログラムの終了後に、ユーザが画面切替操作を行っても画面に当該プログラムに対応するボード画像６４は表示されない。
【００６４】
また、本実施形態では、サスペンド状態のプログラムに対応するボード画像６４が画面に表示された状態でユーザによる実行開始指示操作（本実施形態では、例えば、実行開始ボタン画像７２のタップ操作）が行われると、当該プログラムは起動済であるので、再度の起動は行われず、実行開始管理部４８が、当該プログラムが使用しているリソース（例えば、メモリに保持されているデータ）に基づいて、当該プログラムについてのサスペンド操作が行われた際における実行状況を再現して、当該プログラムの実行を再開する。
【００６５】
また、既にラージプログラムが１つ実行中である状態で、他のラージプログラムが起動される際には、停止終了管理部５２は、起動済であるラージプログラムを終了させて、当該ラージプログラムが使用していたリソースを解放する。この場合、停止終了管理部５２は、終了されるプログラムに関連づけられるボード画像６４を表示可能ではない状態に設定する。なお、このとき、停止終了管理部５２は、ラージプログラムを終了させる際に、ラージプログラムの実行内容をセーブデータとして保存するか否かをユーザに問い合わせて、保存することがユーザにより選択されたら、セーブデータを挿入媒体に出力するようにしてもよい。なお、このとき、停止終了管理部５２が、終了されるラージプログラムのセーフメモリ領域に配置されているデータを挿入媒体に記憶させるようにしてもよい。
【００６６】
また、停止終了管理部５２は、実行開始管理部４８がミニプログラムを起動する際に、必要に応じて、起動済のプログラムを終了させる。ここで、実行開始管理部４８がミニプログラムを起動する際に行われる、本実施形態に係る情報処理装置１０で行われる処理の流れの一例を、図８に示すフロー図を参照しながら説明する。なお、本実施形態では、起動の対象となるミニプログラムの実行に必要となるリソース量を示す情報は、当該ミニプログラムに関連づけて、記憶部２２や挿入媒体に予め記憶されていることとする。
【００６７】
まず、停止終了管理部５２は、起動の対象となるミニプログラムの実行に必要となるリソース量（必要リソース量ｒ１）を示す情報を記憶部２２等から取得する（Ｓ１０１）。そして、停止終了管理部５２は、ミニプログラム全体に割り当てられているリソースのうち、現在実行中のプログラムにより使用されておらず、起動の対象となるミニプログラムに割り当て可能なリソース量（割り当て可能リソース量ｒ２）を特定する（Ｓ１０２）。
【００６８】
そして、停止終了管理部５２は、起動の対象となるミニプログラムに未使用のリソースを割り当て可能であるか否か（例えば、必要リソース量ｒ１が、割り当て可能リソース量ｒ２以下であるか否か。）を判定する（Ｓ１０３）。
【００６９】
割り当て可能でない場合は（Ｓ１０３：Ｎ）、停止終了管理部５２は、実行中の各プログラムについて、プログラムの実行を継続させる優先順位の決定の基礎となる優先度（以下、実行継続優先度と呼ぶ。）を算出する（Ｓ１０４）。本実施形態では、停止終了管理部５２は、実行中の各プログラムについて以下のようにして実行継続優先度を算出する。停止終了管理部５２は、まず、実行継続優先度の算出対象となるプログラム（以下、算出対象プログラムと呼ぶ。）について記憶されているパラメータｅｘｐｉｒｅＣｏｕｎｔの値を実行継続優先度の初期値として設定する。そして、停止終了管理部５２は、算出対象プログラムがプロテクト宣言中であれば、実行継続優先度の値に１０００００を追加する。さらに、停止終了管理部５２は、算出対象プログラムがフォアグラウンドプログラムであって、当該算出対象プログラムを実行することにより生成される情報が画面に表示されている（当該プログラムが生成する情報が画面に表示されている）場合は、実行継続優先度の値に１００００を追加する。さらに、停止終了管理部５２は、算出対象プログラムがバックグラウンドアプリケーションである場合は、実行継続優先度の値に１０００を追加する。このようにして、実行中の各プログラムについて実行継続優先度が算出される。
【００７０】
そして、停止終了管理部５２は、実行継続優先度の値が最も小さいプログラムを選択する（Ｓ１０５）。そして、停止終了管理部５２は、選択されたプログラムについての実行状況データを、当該プログラムを識別する情報（例えば、当該プログラムの識別子や、当該プログラムの名称など）や、当該プログラムの終了の際の日時を示す情報などと関連づけて、挿入媒体に記憶させる（Ｓ１０６）。そして、停止終了管理部５２は、選択されたプログラムを終了させるとともに、当該プログラムが使用していたリソースを解放して（Ｓ１０７）、Ｓ１０２に示す処理に戻る。このとき、このプログラムに関してシェルで管理されていたリソースについては解放されない。また、このプログラムに関連づけられるボード画像６４は、表示可能な状態に維持される。また、本処理例では、停止終了管理部５２は、終了されるプログラムのスクリーンショットの画像が記憶部２２に記憶されている場合は、Ｓ１０７に示す処理において当該画像を記憶部２２から消去する。
【００７１】
Ｓ１０３に示す処理において、割り当て可能であることが判定されれば（Ｓ１０３：Ｙ）、実行開始管理部４８が、起動の対象となるプログラムを起動して（Ｓ１０８）、本処理例に示す処理を終了する。
【００７２】
以上のようにして終了されたプログラムに対応するボード画像６４は、上述のように、表示可能である状態が維持されるので、当該プログラムの終了後に、ユーザが画面切替操作を行った際に、画面に当該プログラムに対応するボード画像６４（例えば、当該プログラムのデフォルトの実行開始ボタン画像７２が配置されたボード画像６４）が表示されることとなる。また、本実施形態では、ボード画像表示制御部４４は、このようにして終了されたプログラムであっても、ボード画像６４が表示可能である状態が維持されているプログラムについては、上述のように、プログラムに関連づけられるプログラム関連画像６６に配置される表示要素の情報を逐次更新する。
【００７３】
そして、当該プログラムの実行開始指示操作がユーザにより行われた際には、実行開始管理部４８は、当該プログラムと関連づけて記憶されている実行状況データを取得して、当該実行状況データに基づいて、当該プログラムの実行を開始する。本実施形態では、実行開始指示操作の対象となったプログラムが、既に終了されており、当該プログラムが使用していたリソースが解放されている場合には、実行開始管理部４８は、例えば、実行開始指示操作の対象となったプログラムが使用するメモリ領域を記憶部２２に確保した上で、実行開始指示操作の対象となったプログラムと関連づけて記憶されている実行状況データを取得して、当該実行状況データを、当該プログラムに確保される仮想アドレス空間内のセーフメモリ領域に配置する。このようにしてセーフメモリ領域に配置されたデータによって、プログラムの実行状況の一部又は全部を再現してプログラムの実行を開始することが可能となることになる。このとき、実行開始管理部４８は、前回のプログラムの終了の際に記憶された実行状況データ（例えば、挿入媒体に最後に出力された実行状況データ、関連づけられている日時が最新である実行状況データ、など）に基づいて（例えば、前回のプログラムの終了の際に記憶された実行状況データをセーフメモリ領域に配置して）、当該プログラムの前回の終了の際における実行状況を再現して、当該プログラムの実行を開始するようにしてもよい。また、実行開始管理部４８は、前回よりも前の終了の際に記憶された実行状況データに基づいて（例えば、前回よりも前のプログラムの終了の際に記憶された実行状況データをセーフメモリ領域に配置して）、その際の当該プログラムの実行状況を再現するようにしてもよい。また、実行開始管理部４８は、ユーザに指定された実行状況データに基づいて、プログラムの実行状況を再現するようにしてもよい。
【００７４】
なお、上述の処理例のＳ１０６に示す処理において、停止終了管理部５２は、例えば、実行状況データを挿入媒体に記憶させる処理を実行しないようにしてもよい。また、上述の処理例のＳ１０６に示す処理において、停止終了管理部５２は、サスペンド状態であるフォアグラウンドプログラムが終了される際には、当該プログラムのセーフメモリ領域に配置されているデータが当該プログラムについて挿入媒体に記憶されている実行状況データから変化している場合（すなわち、前回の実行状況データの挿入媒体への記憶から、セーフメモリ領域に配置されているデータの内容が変更されている場合）に、実行状況データを挿入媒体に記憶させる処理を実行するようにして、当該プログラムのセーフメモリ領域に配置されているデータが、当該プログラムについて挿入媒体に記憶されている実行状況データから変化していない場合（すなわち、前回の実行状況データの挿入媒体への記憶から、セーフメモリ領域に配置されているデータの内容が変更されていない場合）には、実行状況データを挿入媒体に記憶させる処理を実行しないようにしてもよい。
【００７５】
また、上述の処理例のＳ１０７に示す処理において、終了されるプログラムのスクリーンショットの画像が記憶部２２から消去されないようにしてもよい。そして、終了されるプログラムのボード画像６４内に実行状況データに関連づけて記憶されたスクリーンショットの画像が実行開始ボタン画像７２として配置されるようにしてもよい。
【００７６】
本実施形態では、ユーザにより実行開始ボタン画像７２に対するタップ操作が行われて、サスペンド状態のプログラムの実行が再開される際、あるいは、実行状況データが挿入媒体からセーフメモリ領域に配置されてプログラムが起動される際に、ボード画像表示制御部４４が、当該プログラムの実行開始ボタン画像７２（例えば、当該プログラムのデフォルトの実行開始ボタン画像７２や，当該プログラムのスクリーンショットの画像）が画面全体に表示されるよう拡大させる制御を行う。そして、ボード画像表示制御部４４は、当該プログラムの実行の開始のために必要な処理（準備処理）が終了するまで（例えば、当該プログラムの実行の準備処理の終了直後に表示される画像の生成が終了するまで）、画面全体に表示されるよう制御された画像が画面に表示された状態を維持する。そして、当該プログラムの実行の準備処理が終了し、当該プログラムを実行することにより生成される処理結果の画像（当該プログラムが生成する処理結果の画像）が画面に表示されるようになると、画面に表示される画像が、スクリーンショットの画像から当該プログラムが生成する処理結果の画像に切り替わることとなる。
【００７７】
このように、本実施形態では、プログラムの実行の開始中（例えば、起動中、又は、サスペンド状態からの実行の再開中）に、当該プログラムの実行が停止される際の画面のスクリーンショットの画像が表示部２６に表示されるよう制御される。
【００７８】
また、本実施形態では、サスペンド状態からプログラムの実行が再開される際に、情報処理装置１０は、サスペンド状態から当該プログラムの実行が再開されたことをプログラム実行部５０に通知する。このことで、当該プログラムが再開された際に実行されるべき処理が実行されるようにすることが可能となる。
【００７９】
また、本実施形態では、情報処理装置１０は、プログラムの起動時や実行再開時に、当該プログラムが、ボード画像が表示可能ではない状態になってから起動されたのか、ボード画像が表示可能な状態が維持されたまま起動されたのかをプログラム実行部５０に通知する。このことで、プログラム実行部５０は、ボード画像が表示可能ではない状態になってから起動されたのか、ボード画像が表示可能な状態が維持されたまま起動されたのかによって異なる処理を実行するようにすることが可能となる。
【００８０】
以上のように、本実施形態では、停止終了管理部５２は、各プログラムに対応付けられる実行継続優先度に基づいて、複数のプログラムのうちから終了の対象となるプログラムを選択する。そして、停止終了管理部５２は、選択されるプログラムを終了させる。このとき、上述のように、停止終了管理部５２は、プロテクト宣言中ではないプログラムをプロテクト宣言中のプログラムよりも優先して終了させる。また、停止終了管理部５２は、表示されている情報を生成したフォアグラウンドプログラムとは異なるプログラムを、表示されている情報を生成したフォアグラウンドプログラムよりも優先して終了させる。また、停止終了管理部５２は、バックグラウンドプログラムを、表示されている情報を生成したフォアグラウンドプログラムよりも優先して終了させる。また、停止終了管理部５２は、表示されている情報を生成したフォアグラウンドプログラムとは異なるフォアグラウンドプログラムを、バックグラウンドプログラムよりも優先して終了させる。
【００８１】
また、本実施形態では、サスペンド状態のプログラム（実行の際に使用していたリソースが解放されていないプログラム）に対応するボード画像６４が画面に表示されている状態で、ユーザが、ボード画像６４のクローズ操作（例えば、ユーザが指等をタッチセンサ２８に接触させた状態で右上端から左下端へスライドさせる操作）を行うと、停止終了管理部５２が、当該ボード画像６４に対応するプログラムの実行を終了し、当該プログラムが使用していたリソースを解放する。このとき、本実施形態では、当該プログラムがサスペンド状態になる際に、既に当該プログラムのセーフメモリ領域に配置されるデータの挿入媒体への保存が行われているので、当該プログラムのセーフメモリ領域に配置されるデータの挿入媒体への保存は行われない。また、停止終了管理部５２は、クローズ操作が行われたボード画像６４を表示可能ではない状態に設定する。そして、メニュー画像表示制御部４２が、メニュー画像６０を画面に表示する。なお、メニュー画像表示制御部４２がメニュー画像６０を画面に表示する代わりに、ボード画像表示制御部４４が他のボード画像６４を画面に表示するようにしてもよい。そして、メニュー画像６０が画面に表示されている際に、クローズ操作が行われたボード画像６４に対応するメニュー項目画像６２を再度ユーザがタップした際には、ボード画像表示制御部４４が、当該ボード画像６４を画面に表示させる。本実施形態では、当該ボード画像６４には、デフォルトの実行開始ボタン画像７２が含まれる。
【００８２】
また、本実施形態では、表示対象となるボード画像６４（表示画像の切替により表示可能となるボード画像６４）の数の上限（例えば、６つ）が予め定められている。そして、実行開始管理部４８が、起動されることによって表示対象となるボード画像６４の数が上限を超えることとなるプログラム（例えば、起動されることによって表示対象となるボード画像６４の数が７個となるプログラム）を起動する際には、停止終了管理部５２は、起動済のフォアグラウンドプログラムであって、プロテクト宣言中ではないフォアグラウンドプログラムのうち、対応するボード画像６４のタップが最後に行われた日時が最も早いものを終了させる。
【００８３】
また、本実施形態では、情報処理装置１０が異常終了した際には、情報処理装置１０は、その後に起動される際に、挿入媒体に記憶されている実行状況データを消去する。情報処理装置１０は、例えば、実行状況データのファイル名に情報処理装置１０の起動日時等の一意の値が含まれている場合には、情報処理装置１０の起動時に、当該起動に対応付けられる一意の値とは異なる値がファイル名として含まれる実行状況データを消去するようにしてもよい。
【００８４】
本実施形態に係る情報処理装置１０では、プログラムが終了された後でも、終了されたプログラムに関連づけられるボード画像６４が表示可能な状態に維持されるので、新たなプログラムの起動に伴って起動済のプログラムが終了されても、そのプログラムに関連する情報が配置されたボード画像６４をユーザが画面に表示させることが可能な状態が維持されることとなる。
【００８５】
なお、本発明は上述の実施形態に限定されるものではない。
【００８６】
例えば、停止終了管理部５２は、停止されるプログラムのセーフメモリ領域に配置されているデータを、実行状況データとして、挿入媒体に記憶させる代わりに、記憶部２２（例えば、当該プログラムが使用している領域外のメモリや、情報処理装置１０に内蔵されたフラッシュメモリ等）に記憶させるようにしてもよい。
【００８７】
また、例えば、情報処理装置１０は、プログラムの種別によって、当該プログラムのセーフメモリ領域に配置されているデータを、実行状況データとして、挿入媒体に記憶させるか記憶部２２に記憶させるかを制御するようにしてもよい。情報処理装置１０は、例えば、システムアプリケーションが停止する際には、システムアプリケーションのプログラムのセーフメモリ領域に配置されているデータを記憶部２２に記憶させるよう制御して、ゲームアプリケーションが停止する際には、ゲームアプリケーションのプログラムのセーフメモリ領域に配置されているデータを挿入媒体に記憶させるよう制御してもよい。
【００８８】
また、例えば、情報処理装置１０は、実行状況データを挿入媒体に保存する際には、暗号化した上で保存するようにし、実行状況データを記憶部２２に保存する際には、暗号化せずに保存するようにしてもよい。
【００８９】
また、例えば、停止終了管理部５２が、プログラムが停止される（サスペンド状態になる）際に、当該プログラムのセーフメモリ領域に配置されているデータを、実行状況データとして、挿入媒体に記憶させないようにしてもよい。その代わりに、停止終了管理部５２は、プログラムが終了される際に、（すなわち、当該プログラムが使用しているリソースが解放される際に）当該プログラムのセーフメモリ領域に配置されているデータを、実行状況データとして、挿入媒体に記憶させるようにしてもよい。
【００９０】
また、例えば、プログラムが起動される際に、当該プログラムに関連づけられている実行状況データが記憶されていない場合には、情報処理装置１０は、当該プログラムを識別する情報（例えば、当該プログラムの識別子や、当該プログラムの名称など）や、当該プログラムの起動日時を示す情報などと関連づけられる、当該プログラムの実行状況データ（例えば、当該プログラムの起動時に当該プログラムのセーフメモリ領域に配置されているデータをコピーすることにより生成されるファイルである実行状況データ）を生成して、挿入媒体に記憶させるようにしてもよい。そして、情報処理装置１０は、プログラムが停止される際には、挿入媒体に記憶されている実行状況データを、停止される際における当該プログラムの実行状況を示す実行状況データに更新するようにしてもよい。
【００９１】
また、情報処理装置１０は、挿入媒体に記憶されている実行状況データの更新の際に、実行状況データを破損状態にしてから（例えば、実行状況データに関連付けられる情報を変更（例えば、実行状況データのファイル名をリネーム）してから）更新を開始し、更新が終了すると、破損状態にされた実行状況データを元に戻す（例えば、実行状況データに関連付けられる情報を元に戻す（例えば、実行状況データのファイル名を元に戻す））ようにしてもよい。こうすれば、例えば、情報処理装置１０は、挿入媒体に記憶されている実行状況データが破損状態であることを確認することによって、当該データが更新中に挿入媒体が抜かれるなどして更新が中途半端に行われた実行状況データであることを検出することが可能となる。そして、情報処理装置１０は、当該実行状況データについてはセーフメモリ領域に配置せずに破棄するよう制御するようにしてもよい。
【００９２】
なお、挿入媒体に記憶されている実行状況データが破損状態であることが確認された際に、情報処理装置１０は、当該実行状況データに対応付けられるプログラムの種別に応じた動作をするようにしてもよい。例えば、情報処理装置１０は、システムプログラムを起動する際に、当該システムプログラムの実行状況データが破損状態である場合は、当該実行状況データをセーフメモリ領域に配置した上でシステムプログラムを起動するようにしてもよい。このときは、例えば、システムプログラムによって破損されている実行状況データのハンドリングが行われるようにしてもよい。また、例えば、情報処理装置１０は、ゲームプログラムを起動する際に、当該ゲームプログラムの実行状況データが破損状態である場合は、当該データを破棄するようにしてもよい。このとき、例えば、情報処理装置１０は、ゲームプログラムの起動時に、当該プログラムの実行状況データを生成して、挿入媒体に記憶させるようにしてもよい。
【００９３】
また、セーフメモリ領域のサイズは、プログラムの種別（アプリケーションの種別）に基づいて決定される、あるいは、ユーザによってアプリケーション毎に設定可能であるようにしてもよい。また、例えば、セーフメモリ領域が数キロバイト程度のブロックに区切られていてもよい。そして、停止終了管理部５２は、フォアグラウンドプログラムがサスペンド状態になる際や終了される際に、当該プログラムについて挿入媒体に記憶されている実行状況データからデータの内容が変化しているブロック（すなわち、前回の実行状況データの挿入媒体への記憶からデータの内容が変更されているブロック）を、挿入媒体に書き出す（記憶されている実行状況データ中のブロックを更新する）ようにしてもよい。なお、ブロックのサイズは、例えば、挿入媒体のクラスタサイズに基づいて決定されるようにしてもよい。
【００９４】
また、情報処理装置１０は、ユーザからの要求に応じて、挿入媒体や記憶部２２に記憶されている実行状況データを消去する（あるいは、破損状態等、セーフメモリ領域に配置されない状態にする）ようにしてもよい。また、情報処理装置１０は、例えば、プログラムのバージョン情報に関連付けて実行状況データを保存するようにしてもよい。そして、情報処理装置１０は、保存されている実行状況データとは異なるバージョンのプログラムが起動される際には、当該実行状況データを消去する（あるいは、破損状態等、セーフメモリ領域に配置されない状態にする）ようにしてもよい。
【００９５】
また、例えば、サスペンド操作が行われたプログラムに対応するボード画像６４が画面に表示されている状態で、ユーザにより、ボード画像６４のクローズ操作が行われた際に、停止終了管理部５２が、当該ボード画像６４に対応するプログラムについて、クローズ操作が行われた際の実行状況を示す実行状況データを、当該プログラムを識別する情報や、当該プログラムの終了の際の日時を示す情報や、クローズ操作が行われた際の画面のスクリーンショットの画像などと関連づけて、挿入媒体に記憶させるようにしてもよい。そして、メニュー画像６０が画面に表示されている際に、当該ボード画像６４に対応するメニュー項目画像６２を再度ユーザがタップした際には、ボード画像表示制御部４４が、上述のスクリーンショットの画像を実行開始ボタン画像７２として含むボード画像６４を画面に表示させるようにしてもよい。そして、クローズ操作が行われたプログラムの実行開始指示操作がユーザにより行われた際には、実行開始管理部４８は、当該プログラムと関連づけて記憶されている実行状況データを取得して、当該実行状況データに基づいて、当該プログラムの実行状況を再現して、当該プログラムの実行を再開するようにしてもよい。
【００９６】
また、例えば、既にラージプログラムが１つ実行中である状態で、他のラージプログラムが起動される際には、停止終了管理部５２が、起動済であるラージプログラムを終了させて、当該ラージプログラムが使用していたリソースを解放するとともに、当該ラージプログラムの実行状況データを、当該プログラムを識別する情報や、当該プログラムの終了の際の日時を示す情報や、画面のスクリーンショットの画像などと関連づけて、挿入媒体に記憶させるようにしてもよい。そして、終了されたラージプログラムに対応するメニュー項目画像６２を再度ユーザがタップした際には、ボード画像表示制御部４４が、上述のスクリーンショットの画像を実行開始ボタン画像７２として含むボード画像６４を画面に表示させるようにしてもよい。そして、終了されたラージプログラムプログラムの実行開始指示操作がユーザにより行われた際には、実行開始管理部４８は、当該プログラムと関連づけて記憶されている実行状況データを取得して、当該実行状況データに基づいて、当該プログラムの実行状況を再現して、当該プログラムの実行を開始するようにしてもよい。
【００９７】
また、例えば、情報処理装置１０が、ボード画像６４が表示可能な状態となってから（ここでは、情報処理装置１０の起動後はじめてボード画像６４が表示可能な状態となった場合も、表示可能な状態となったボード画像６４が、表示可能ではない状態となり、その後再度表示可能な状態となった場合も含む。）、当該ボード画像６４に対応するプログラムの起動が行われたか否かを表すデータを記憶するようにしてもよい。このデータは、例えば、プログラムの識別情報に関連づけられたフラグであり、初期状態が「０」で、当該プログラムに対応するボード画像６４が表示可能な状態となってから当該プログラムの起動が最初に行われた際に値が「１」に更新され、その後、当該ボード画像６４が表示可能ではない状態となった際に値が「０」に更新されるフラグである。
【００９８】
そして、上述のフラグ等に基づいて、ボード画像６４が表示可能な状態となってからの当該ボード画像６４に対応するプログラムの起動が行われていないと判定される場合（例えば、フラグの値が「０」である場合）には、情報処理装置１０は、デフォルトの実行開始ボタン画像７２をボード画像６４に配置するようにしてもよい。また、情報処理装置１０は、当該プログラムの実行開始指示操作がユーザにより行われた際に、上述のフラグ等に基づいて、ボード画像６４が表示可能な状態となってからの当該ボード画像６４に対応するプログラムの起動が行われていないと判定される場合（例えば、フラグの値が「０」である場合）には、当該プログラムに関連づけられている実行状況データが挿入媒体に記憶されていても、初回起動時と同様の状況で、当該プログラムの実行を開始するようにしてもよい。一方、ボード画像６４が表示可能な状態となってからの当該ボード画像６４に対応するプログラムの起動が行われていると判定される場合（例えば、フラグの値が「１」である場合）には、情報処理装置１０は、スクリーンショットの画像を実行開始ボタン画像７２としてボード画像６４に配置するようにしてもよい。また、情報処理装置１０は、当該プログラムの実行開始指示操作がユーザにより行われた際に、上述のフラグ等に基づいて、ボード画像６４が表示可能な状態となってからの当該ボード画像６４に対応するプログラムの起動が行われていると判定される場合（例えば、フラグの値が「１」である場合）には、当該プログラムに関連づけられている実行状況データに基づいて、当該プログラムの実行状況を再現して、当該プログラムの実行を開始するようにしてもよい。
【００９９】
また、例えば、プログラム実行部５０が、プログラムのサスペンド操作が行われたタイミングの画面に関する複数のスクリーンショットの画像（例えば、画面全体のスクリーンショットの画像と画面の一部のスクリーンショットの画像、など）を記憶部又は挿入媒体に記憶させるようにしてもよい。そして、実行開始ボタン画像７２としてボード画像６４内に配置されるスクリーンショットの画像と、プログラムの実行の再開にあたって、再開の準備処理が終了するまで（例えば、再開後に表示される画像の生成が終了するまで）画面に表示されるスクリーンショットの画像と、が異なるようにしてもよい。
【０１００】
なお、プログラムの分類を管理する手法は特に問わない。例えば、記憶部２２や挿入媒体に記憶されているプログラム自体に、当該プログラムがラージプログラムであるかミニプログラムであるかを示す情報や、当該プログラムがフォアグラウンドプログラムであるかバックグランドプログラムであるかを示す情報が含まれるようにしてもよいし、プログラムの識別子と当該プログラムの分類（ラージプログラムとミニプログラムのいずれか、及び、フォアグラウンドプログラムとバックグラウンドプログラムのいずれか）とを対応付けた情報が記憶部２２に記憶されていてもよい。
【０１０１】
また、プログラムが表示可能な状態であるか否かを管理する手法は特に問わない。例えば、情報処理装置１０で一度でも実行されたことがあるプログラムについては、当該プログラムを識別する情報と、当該プログラムに関連づけられるボード画像６４が表示可能な状態であるか否かを示すフラグ（例えば、値１が表示可能な状態であることを示し、値０が表示可能な状態ではないことを示すフラグ）と、を関連づけて記憶部２２や挿入媒体に記憶するようにしてもよい。
【０１０２】
また、停止終了管理部５２は、例えば、ＣＰＵ使用量の上限や、最大同時実行プログラム数の上限を超えた際に、上述のようにして選択される実行継続優先度の値が最も小さいプログラムを終了させるようにしてもよい。
【０１０３】
また、例えば、ユーザが所定のボタン３４を押下するなどの操作を行うことで、プログラムのサスペンド操作を行った際に、メニュー画像表示制御部４２が、画面に表示される画像を、メニュー画像６０に切り替えるようにしてもよい。
【０１０４】
また、例えば、プログラムの実行が終了され、当該プログラムが使用していたリソースが解放される際に、当該プログラムのスクリーンショットの画像が情報処理装置１０に記憶されている場合には、情報処理装置１０が、当該画像を消去するようにしてもよい。
【０１０５】
また、例えば、サスペンド状態のプログラムの実行が再開される、あるいは、実行状況データが挿入媒体からセーフメモリ領域に配置されたプログラムが起動される際に、プログラムの実行の準備処理が終了するまで、当該プログラムが情報処理装置１０にインストールされる際に、記憶部２２に記憶される起動用画像が表示されるようにしてもよい。
【０１０６】
また、プログラムに対するサスペンド操作が行われた際に、停止終了管理部５２は、プログラムの種別によってはスクリーンショットの画像の記憶処理を実行しないようにしてもよい。具体的には、例えば、動画再生アプリケーションの実行が停止される際には、スクリーンショットの画像が記憶されないようにしてもよい。この場合には、ボード画像表示制御部４４は、実行開始ボタン画像７２として、空白の画像や黒一色の画像を配置するようにしてもよい。なお、プログラム実行部５０による動画再生アプリケーションの実行中（例えば、動画像の再生中）に、プログラム実行部５０が停止終了管理部５２に、スクリーンショットの画像の取得を禁止する旨を通知するようにしてもよい。そして、ボード画像表示制御部４４は、当該通知を受け付けている間（すなわち、動画像の再生中）に、動画再生アプリケーションが停止されてサスペンド状態になっても、スクリーンショットの画像が実行開始ボタン画像７２として配置されないよう制御するようにしてもよい。また、例えば、プログラム実行部５０による動画再生アプリケーションの実行中（例えば、動画像の再生中）に、プログラム実行部５０がボード画像表示制御部４４に、スクリーンショットの画像の表示を禁止する旨を通知するようにしてもよい。そして、ボード画像表示制御部４４は、当該通知を受け付けている間（すなわち、動画像の再生中は）に、動画再生アプリケーションの実行が停止されてサスペンド状態になっても、スクリーンショットの画像が実行開始ボタン画像７２として表示されないよう制御するようにしてもよい。なお、上述のようにして動画再生アプリケーションの実行が停止されてサスペンド状態になる際には、ボード画像表示制御部４４は、動画再生アプリケーションの起動前に実行開始ボタン画像７２としてボード画像６４内に配置される画像とは別の画像である、動画像の再生が実行中であることを示す画像（当該画像は、例えば、動画再生アプリケーションのインストール時に記憶部２２等に記憶される）を、実行開始ボタン画像７２としてボード画像６４内に配置するようにしてもよい。
【０１０７】
また、ボード画像表示制御部４４は、サスペンド状態となってからのプログラムの進行状況に応じた表示態様（例えば、サスペンド状態になってからの時間に応じた表示態様）で、スクリーンショットの画像を実行開始ボタン画像７２として配置するようにしてもよい。例えば、サスペンド状態となってから所定時間が経過するまでは、カラーの画像が実行開始ボタン画像７２として配置され、サスペンド状態となってから所定時間が経過した後は、白黒の画像が実行開始ボタン画像７２として配置されるようにしてもよい。
【０１０８】
また、例えば、プログラムが停止される際に、停止される際とは異なるタイミングのスクリーンショットの画像が記憶されるようにしてもよい。そして、プログラムの実行の開始中（例えば、起動中、又は、サスペンド状態からの実行の再開中）に、当該画像が表示部２６に表示されるようにしてもよい。
【０１０９】
また、情報処理装置１０が、例えば、ハードディスクドライブ、マイク、スピーカ、カメラ、加速度センサ、などを備えていてもよい。
【０１１０】
また、上述の情報処理装置１０が、複数の筐体（例えば、互いに通信可能な情報処理端末及びサーバ）から構成されていてもよい。そして、上述の情報処理装置１０で実行される処理が、情報処理端末とサーバとで分担して実行されるようにしてもよい。例えば、サーバでメニュー画像６０やボード画像６４に対応付けられるページが生成されて、情報処理端末に出力されるようにしてもよい。そして、情報処理端末が、サーバから受信したページをディスプレイ等に表示するようにしてもよい。
【０１１１】
また、上記の具体的な文字列や図面中の具体的な文字列は例示であり、これらの文字列には限定されない。
【図１】
2013088782.tif 000003
【図２】
2013088782.tif 000004
【図３】
2013088782.tif 000005
【図４】
2013088782.tif 000006
【図５】
2013088782.tif 000007
【図６】
2013088782.tif 000008
【図７】
2013088782.tif 000009
【図８】
2013088782.tif 000010
【手続補正書】
【提出日】平成25年9月17日(2013.9.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、
を含むことを特徴とする情報処理装置。
【請求項２】
前記保存制御手段は、実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用している、予め定められた論理アドレスの範囲内の領域に配置されているデータが保存されるよう制御する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記保存制御手段は、実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用しているメモリ領域に配置されているデータが、前回当該プログラムがサスペンド状態になった際に保存されたデータから変更されている場合に、当該データが保存されるよう制御し、変更されていない場合は、当該データが保存されるようには制御しない、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記保存制御手段は、前記情報処理装置が異常終了した場合は、前記情報処理装置が異常終了後に起動される際に、前記プログラムの実行が停止される際に保存されるよう制御されたデータを消去する、
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
プログラムを起動するとともに、当該プログラムがサスペンド状態になった際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データを読み出して当該プログラムが使用するメモリ領域に配置する読み出し制御手段、
を含むことを特徴とする情報処理装置。
【請求項６】
プログラムが起動される際に、当該プログラムの過去の実行時に使用していたメモリ領域が解放されていた場合は、当該プログラムが使用するメモリ領域を確保する実行開始制御手段、をさらに含み、
前記読み出し制御手段は、前記実行開始制御手段によりメモリ領域が確保される際に、前記プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データを読み出して当該メモリ領域に配置する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段と、
プログラムを起動するとともに、前記保存制御手段により当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データを読み出して当該プログラムが使用するメモリ領域に配置する読み出し制御手段と、
を含むことを特徴とする情報処理装置。
【請求項８】
実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの一部が当該プログラムに関連づけて保存されるよう制御する保存制御ステップ、
を含むことを特徴とする情報処理方法。
【請求項９】
プログラムを起動するとともに、当該プログラムがサスペンド状態になった際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データを読み出して当該プログラムが使用するメモリ領域に配置する読み出し制御ステップ、
を含むことを特徴とする情報処理方法。
【請求項１０】
実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの少なくとも一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１１】
プログラムを起動するとともに、当該プログラムがサスペンド状態になった際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データを読み出して当該プログラムが使用するメモリ領域に配置する読み出し制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１２】
実行されているプログラムがサスペンド状態になる際に、当該プログラムが使用しているメモリ領域に配置されているデータを保持しつつ、当該データの一部が当該プログラムに関連づけて保存されるよう制御する保存制御手段、
としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１３】
プログラムを起動するとともに、当該プログラムがサスペンド状態になった際に当該プログラムが使用しているメモリ領域に保持しつつ当該プログラムに関連づけて保存されるよう制御されたデータが記憶されている場合は、当該データを読み出して当該プログラムが使用するメモリ領域に配置する読み出し制御手段、
としてコンピュータを機能させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【国際調査報告】
2013088782.tif 000011
2013088782.tif 000012