(57)【要約】【課題】システムのメモリ残量を恒常的に余裕のある状態にすることができる、情報処理システム、情報処理方法、及び情報処理プログラムを提供すること。【解決手段】情報処理システム１は、アプリケーションプログラムが使用しているデバイス２を特定するデバイス特定部１１ａと、デバイス特定部１１ａにより特定されたデバイス２に基づき、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定する判定部１１ｂと、判定部１１ｂの判定結果に基づき、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するメモリ制御部１１ｃとを備える。【選択図】図１
2013089042.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムが使用しているデバイスを特定するデバイス特定手段と、
前記デバイス特定手段により特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定手段と、
前記判定手段の判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御手段と、
を備える情報処理システム。
【請求項２】
前記判定手段は、前記デバイス特定手段により特定されたデバイスを使用する他のアプリケーションプログラムの有無に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する、
請求項１に記載の情報処理システム。
【請求項３】
不揮発性の記憶手段と、
前記判定手段により前記アプリケーションプログラムが使用するメモリの一部又は全部を解放すると判定された場合、当該解放するメモリの一部又は全部に格納されていたデータを前記記憶手段に記憶させるバックアップ手段と、
所定のタイミングで、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する復帰手段と、
を備える請求項１又は２に記載の情報処理システム。
【請求項４】
前記判定手段は、前記アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又は前記アプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する、
請求項１から３のいずれか一項に記載の情報処理システム。
【請求項５】
前記復帰手段は、起動中の前記アプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する、
請求項３及び４に記載の情報処理システム。
【請求項６】
アプリケーションプログラムが使用しているデバイスを特定するデバイス特定ステップと、
前記デバイス特定ステップにより特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定ステップと、
前記判定ステップの判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御ステップ手段と、
を含む情報処理方法。
【請求項７】
請求項６に記載の方法をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションプログラムに対応してメモリの利用効率を高めるためのメモリ制御方法が提案されている。このメモリ制御方法では、メモリ確保部は、アプリケーションからメモリの確保要求を受け、メモリ量管理部で要求メモリが要求量確保可能かチェックし、可能であれば確保する。メモリ解放部は、アプリケーションからメモリの解放要求を受けてメモリを解放し、メモリ量管理部にメモリが解放されたことを通知する。メモリ量管理部は、システムのメモリ残量と各アプリケーションの使用メモリ量とを管理し、システムのメモリ残量がメモリの確保要求を下回る際に、適切なアプリケーションを選択してそのアプリケーションの使用するメモリの一部もしくはすべてをメモリ強制解放部で解放する。メモリ強制解放部は、対象アプリケーションにメモリの一部もしくはすべてを強制解放するよう通知し、強制解放を実行させる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１０７１９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の如き従来の方法では、システムのメモリ残量がメモリの確保要求を下回る際に、所定のアプリケーションの使用するメモリの一部もしくはすべてをメモリ強制解放部で解放するものに過ぎないため、システムのメモリ残量が逼迫しなければアプリケーションの使用するメモリが解放されることはなかった。その結果、システムのメモリ残量が逼迫する度にアプリケーションの使用するメモリを解放するという動作を繰り返すこととなり、システム全体の動作が重くなる可能性があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、システムのメモリ残量を恒常的に余裕のある状態にすることができる、情報処理システム、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、請求項１に記載の情報処理システムは、アプリケーションプログラムが使用しているデバイスを特定するデバイス特定手段と、前記デバイス特定手段により特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定手段と、前記判定手段の判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御手段と、を備える。
【０００７】
また、請求項２に記載の情報処理システムは、請求項１に記載の情報処理システムにおいて、前記判定手段は、前記デバイス特定手段により特定されたデバイスを使用する他のアプリケーションプログラムの有無に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する。
【０００８】
また、請求項３に記載の情報処理システムは、請求項１又は２に記載の情報処理システムにおいて、不揮発性の記憶手段と、前記判定手段により前記アプリケーションプログラムが使用するメモリの一部又は全部を解放すると判定された場合、当該解放するメモリの一部又は全部に格納されていたデータを前記記憶手段に記憶させるバックアップ手段と、所定のタイミングで、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する復帰手段と、を備える。
【０００９】
また、請求項４に記載の情報処理システムは、請求項１から３のいずれか一項に記載の情報処理システムにおいて、前記判定手段は、前記アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又は前記アプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する。
【００１０】
また、請求項５に記載の情報処理システムは、請求項３及び４に記載の情報処理システムにおいて、前記復帰手段は、起動中の前記アプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する。
【００１１】
また、請求項６に記載の情報処理方法は、アプリケーションプログラムが使用しているデバイスを特定するデバイス特定ステップと、前記デバイス特定ステップにより特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定ステップと、前記判定ステップの判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御ステップ手段と、を含む。
【００１２】
また、請求項７に記載の情報処理プログラムは、請求項６に記載の方法をコンピュータに実行させる。
【発明の効果】
【００１３】
請求項１に記載の情報処理システム、請求項６に記載の情報処理方法、及び請求項７に記載の情報処理プログラムによれば、アプリケーションプログラムが使用しているデバイスに基づき、アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定手段が判定し、判定手段の判定結果に基づき、アプリケーションプログラムが使用するメモリの一部又は全部をメモリ制御手段が解放するので、システムのメモリ残量が逼迫しているか否かに関わらず、他のアプリケーションプログラムの動作に支障が出ない場合にはメモリを解放することができ、システムのメモリ残量を恒常的に余裕のある状態にすることができる。
【００１４】
請求項２に記載の情報処理システムによれば、判定手段は、デバイス特定手段により特定されたデバイスを使用する他のアプリケーションプログラムの有無に基づき、アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定するので、確実に他のアプリケーションプログラムの動作に支障が出ない場合に、メモリを解放することができる。
【００１５】
請求項３に記載の情報処理システムによれば、判定手段によりアプリケーションプログラムが使用するメモリの一部又は全部を解放すると判定された場合、当該解放するメモリの一部又は全部に格納されていたデータをバックアップ手段が記憶手段に記憶させ、所定のタイミングで、バックアップ手段により記憶手段に記憶されたデータを復帰手段がメモリに展開するので、アプリケーションプログラムが使用するメモリの一部又は全部を解放した場合であっても、所定のタイミングで当該アプリケーションプログラムを容易に復帰させることができる。
【００１６】
請求項４に記載の情報処理システムによれば、判定手段は、アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又はアプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定するので、メモリを解放しても支障が出ない可能性が高い場合にメモリを解放することができる。
【００１７】
請求項５に記載の情報処理システムによれば、復帰手段は、起動中のアプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、バックアップ手段により記憶手段に記憶されたデータをメモリに展開するので、アプリケーションプログラムが使用するメモリの一部又は全部を解放した場合であっても、復帰が要求された場合には当該アプリケーションプログラムを容易に復帰させることができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態に係る情報処理システムを例示するブロック図である。
【図２】判定テーブルに格納されている情報を例示した表である。
【図３】情報処理のフローチャートである。
【図４】バックアップ処理のフローチャートである。
【図５】復帰処理のフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明に係る情報処理システム、情報処理方法、及び情報処理プログラムの実施の形態について図面を参照しつつ詳細に説明する。ただし、これら実施の形態によって本発明が限定されるものではない。
【００２０】
（構成）
最初に、実施の形態に係る情報処理システムの構成について説明する。図１は、本実施の形態に係る情報処理システムを例示するブロック図である。図１に示すように、情報処理システム１は、メモリ１０、制御部１１、及びデータ記録部１２をシステムバス１３にて通信可能に接続して構成されている。また、情報処理システム１には、各種デバイス２（例えばカメラ、オーディオ、ネットワーク通信機器、ＧＰＳ、エアコン等）が接続されている。
【００２１】
（構成−メモリ）
メモリ１０は、プログラムや各種のデータを格納するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の如きメインメモリである。
【００２２】
（構成−制御部）
制御部１１は、情報処理システム１、及びデバイス２を制御する制御手段であり、具体的には、ＣＰＵ、当該ＣＰＵ上で解釈実行される各種のプログラム（ＯＳなどの基本制御プログラムや、ＯＳ上で起動され特定機能を実現するアプリケーションプログラムを含む）等を備えて構成されるコンピュータである。特に、実施の形態に係る情報処理プログラムは、任意の記録媒体又はネットワークを介して情報処理システム１にインストールされることで、制御部１１の各部を実質的に構成する。
【００２３】
この制御部１１は、機能概念的に、デバイス特定部１１ａ、判定部１１ｂ、メモリ制御部１１ｃ、バックアップ部１１ｄ、及び復帰部１１ｅを備えている。デバイス特定部１１ａは、アプリケーションプログラムが使用しているデバイス２を特定するデバイス特定手段である。判定部１１ｂは、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定する判定手段である。メモリ制御部１１ｃは、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するメモリ制御手段である。バックアップ部１１ｄは、メモリ１０の一部又は全部に格納されていたデータをデータ記録部１２に記憶させるバックアップ手段である。復帰部１１ｅは、所定のタイミングで、バックアップ部１１ｄによりデータ記録部１２に記憶されたデータをメモリ１０に展開する復帰手段である。これらの制御部１１の各構成要素によって実行される処理の詳細については後述する。
【００２４】
（構成−データ記録部）
データ記録部１２は、情報処理システム１の動作に必要なプログラム及び各種のデータを記録する記録手段であり、不揮発性の記憶手段である。このデータ記録部１２は、例えば、外部記憶装置としてのハードディスク（図示省略）の如き磁気的記録媒体を用いて構成されている。ただし、ハードディスクに代えてあるいはハードディスクと共に、フラッシュメモリの如き半導体型記憶媒体、又はＤＶＤやブルーレイディスクの如き光学的記録媒体を含む、その他の任意の不揮発性記録媒体を用いることができる。
【００２５】
このデータ記録部１２は、判定テーブル１２ａ、及びアプリ管理データベース１２ｂ（以下、データベースを「ＤＢ」と称する）を備えている。また、データ記録部１２には、メモリ制御部１１ｃにより解放されるメモリ１０の一部又は全部に格納されていたデータがバックアップ部１１ｄによって格納される。
【００２６】
判定テーブル１２ａは、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定部１１ｂが判定する際に参照するテーブルである。図２は、判定テーブル１２ａに格納されている情報を例示した表である。この図２に示すように、判定テーブル１２ａには、項目「アプリ」、「使用デバイス」、及び「解放可否」に対応する情報が相互に関連付けて格納されている。
項目「アプリ」に対応して格納される情報は、メモリ１０の一部又は全部を解放するか否かを判定する対象となるアプリケーションプログラムを特定する情報である（図２では「ＡＲアプリ」等）。なお、図２の判定テーブル１２ａにおける項目「アプリ」に対応して格納されている「−−−」は、特定のアプリケーションプログラムに限定されず、全てのアプリケーションプログラムについて適用される旨を示している。
項目「使用デバイス」に対応して格納される情報は、各アプリケーションプログラムが使用するデバイス２を特定する情報である（図２ではアプリケーションプログラム「ＡＲアプリ」について使用デバイス「カメラ」等）。
項目「解放可否」に対応して格納される情報は、メモリ１０を使用中のアプリケーションプログラムがフォアグラウンド（以下、必要に応じて「ＦＧ」）の状態からバックグラウンド（以下、必要に応じて「ＢＧ」）の状態に移行する場合、あるいはＢＧの状態で所定時間経過した場合等に、当該アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを特定するための情報である。
図２の例では、使用デバイス２が「カメラ」であるアプリケーションプログラム「ＡＲアプリ」について、メモリ１０の一部又は全部を解放可である旨を示す情報「可」が格納されている。これは、アプリケーションプログラムがＦＧの状態ではない場合、カメラの撮影画像をディスプレイに表示させることができず、カメラを使用することができないため、カメラの制御に用いるメモリ１０を解放しても支障がないからである。
また、使用デバイス２が「オーディオ」であるアプリケーションプログラム「インターネットラジオアプリ」について、メモリ１０の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがＦＧの状態ではなくても、インターネットラジオのストリーミング再生は継続されているため、オーディオの制御に用いるメモリ１０を解放することはできないからである。
また、使用デバイス２が「ネットワーク通信機器」であるアプリケーションプログラム「クーポンアプリ」について、メモリ１０の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがＦＧの状態ではなくても、クーポンやセール情報等を定期的に外部サーバから取得する必要があるため、ネットワーク通信機器の制御に用いるメモリ１０を解放することはできないからである。
また、使用デバイス２が「ＧＰＳ」であるアプリケーションプログラム「クーポンアプリ」について、メモリ１０の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがＦＧの状態ではなくても、定期的に現在位置の情報を取得した上で、外部サーバから現在位置に関連するクーポンやセール情報等を取得する必要があるため、ＧＰＳの制御に用いるメモリ１０を解放することはできないからである。
また、使用デバイス２が「エアコン」であるアプリケーションプログラム「インパネアプリ」について、メモリ１０の一部又は全部を解放可である旨を示す情報「可」が格納されている。これは、アプリケーションプログラムがＦＧの状態ではない場合、エアコンの操作画面をディスプレイに表示させることができず、エアコンの操作を行うことができないため、エアコン操作に用いるメモリ１０を解放しても支障がないからである。
また、使用デバイス２がない任意のアプリケーションプログラムについて、メモリ１０の一部又は全部を解放不可である旨を示す情報「可」が格納されている。これは、デバイス２を使用していないアプリケーションプログラムがＦＧの状態ではない場合、当該アプリケーションプログラムに関するメモリ１０を解放しても支障がないからである。
【００２７】
図１に戻り、アプリ管理ＤＢ１２ｂには、アプリケーションプログラムに関するアプリ管理情報が格納されている。アプリ管理情報は、例えばアプリケーションプログラムを一意に識別するアプリＩＤ、アプリケーションプログラムのパッケージ名、パッケージサイズ、バージョン名、アプリケーション間で特定ユーザについてデータを共有するために用いるアプリ間共有ユーザＩＤ、インストール日時、最終アップデート日時、インストール可能領域、使用デバイス２、メモリ制御部１１ｃにより解放されるメモリ１０の一部又は全部に格納されていたデータが記憶されたデータ記録部１２のデータ記憶領域を特定するための復帰用データ保存場所情報等を含んで格納されている。
【００２８】
（処理−情報処理）
次に、このように構成された情報処理システム１によって実行される情報処理について説明する。図３は、情報処理のフローチャートである（以下の各処理の説明ではステップを「Ｓ」と略記する）。この情報処理は、例えば、情報処理システム１に電源が投入された場合に起動される。
【００２９】
情報処理が起動されると、メモリ制御部１１ｃは、メモリ制御の対象となるイベントが発生するまで待機する（ＳＡ１、Ｎｏ）。ここで、メモリ制御の対象となるイベントには、起動していないアプリケーションプログラムの起動を要求するイベント（以下、必要に応じて「アプリ起動要求」）、起動中のアプリケーションプログラムの中でＦＧの状態にないアプリケーションプログラム（例えばＢＧの状態のアプリケーションプログラムや、使用するメモリ１０が解放されたアプリケーションプログラム等）をＦＧに復帰させることを要求するイベント（以下、必要に応じて「アプリ復帰要求」）、及び、メモリ１０を解放できる可能性が生じるイベント（例えば、ＦＧの状態にあるアプリケーションプログラム（以下、必要に応じて「ＦＧアプリ」）をＢＧの状態にすることを要求するイベント（以下、必要に応じて「ＢＧ化要求」）や、アプリケーションプログラムがＦＧからＢＧに移行されてから所定時間経過した場合に自動発生するイベント等）の３種のイベントがあるものとする。
【００３０】
メモリ制御の対象となるイベントが発生すると（ＳＡ１、Ｙｅｓ）、メモリ制御部１１ｃは、ＳＡ１で発生したイベントが、アプリ起動要求であるか否かを判定する（ＳＡ２）。
【００３１】
その結果、ＳＡ１で発生したイベントがアプリ起動要求ではない場合（ＳＡ２、Ｎｏ）、メモリ制御部１１ｃは、ＳＡ１で発生したイベントが、アプリ復帰要求であるか否かを判定する（ＳＡ３）。
【００３２】
その結果、ＳＡ１で発生したイベントがアプリ復帰要求ではない場合（ＳＡ３、Ｎｏ）、すなわちＳＡ１で発生したイベントが、ＢＧ化要求（例えば、ＦＧアプリが他のアプリケーションプログラムの割り込みによりＢＧに移行するイベント、より詳細にはディスプレイにホーム画面を表示させることを要求するイベント、ナビゲーションプログラムにおいて現在位置を表示させることを要求するイベント、現在表示されているウィンドウに他のウィンドウを割り込み表示させることを要求するイベント（例えば着信通知や地図更新等）等）である場合や、アプリケーションプログラムがＦＧからＢＧに移行されてから所定時間経過したことにより自動発生したイベントである場合、デバイス特定部１１ａは、メモリ１０を解放できる可能性が生じたものとし、メモリ１０を解放する対象となるアプリケーションプログラム（例えば、ＦＧからＢＧへの移行が要求されたアプリケーションプログラムや、ＦＧからＢＧに移行されてから所定時間経過したアプリケーションプログラム。以下、必要に応じて「対象アプリ」）が使用しているデバイス２を特定する（ＳＡ４）。具体的には、デバイス特定部１１ａはアプリ管理ＤＢ１２ｂを参照し、対象アプリに対応する使用デバイス２を特定する。図２の例では、対象アプリが「ＡＲアプリ」である場合、当該アプリが使用しているデバイス２として「カメラ」が特定される。
【００３３】
図３に戻り、ＳＡ４の処理の後、判定部１１ｂは、デバイス特定部１１ａにより特定されたデバイス２を使用する他のアプリケーションプログラムの有無を判定する（ＳＡ５）。具体的には、判定部１１ｂはアプリ管理ＤＢ１２ｂを参照し、ＳＡ４で特定したデバイス２に関連付けられている他のアプリＩＤがある場合に、デバイス特定部１１ａにより特定されたデバイス２を使用する他のアプリケーションプログラムが存在すると判定する。
【００３４】
その結果、デバイス特定部１１ａにより特定されたデバイス２を使用する他のアプリケーションプログラムが存在しない場合（ＳＡ５、Ｎｏ）、判定部１１ｂは、ＳＡ４でデバイス特定部１１ａにより特定されたデバイス２に基づき、対象アプリが使用するメモリ１０の一部又は全部を解放するか否かを判定する（ＳＡ６）。具体的には、判定部１１ｂは判定テーブル１２ａを参照し、対象アプリとＳＡ４でデバイス特定部１１ａにより特定された使用デバイス２とに対応して判定テーブル１２ａの項目「解放可否」に格納されている情報に基づき、対象アプリが使用するメモリ１０の一部又は全部を解放するか否かを判定する。図２の例では、例えば対象アプリが「ＡＲアプリ」であり、ＳＡ４でデバイス特定部１１ａにより特定された使用デバイス２が「カメラ」である場合、ＡＲアプリが使用するメモリ１０の一部又は全部を解放すると判定する。一方、対象アプリが「インターネットラジオアプリ」であり、ＳＡ４でデバイス特定部１１ａにより特定された使用デバイス２が「オーディオ」である場合、インターネットラジオアプリが使用するメモリ１０の一部又は全部を解放しないと判定する。
【００３５】
図３に戻り、ＳＡ６の判定の結果、対象アプリが使用するメモリ１０の一部又は全部を解放しない場合（ＳＡ６、Ｎｏ）、メモリ制御部１１ｃは、対象アプリが使用するメモリ１０の解放を行わず、対象アプリをＢＧに移行する（ＳＡ７）。例えば対象アプリがＦＧからＢＧへの移行が要求されたアプリケーションプログラムである場合には、当該対象アプリをＢＧに移行する。また、対象アプリがＦＧからＢＧに移行されてから所定時間経過したアプリケーションプログラムである場合には、ＢＧの状態を維持する。その後、制御部１１は情報処理を終了する。
【００３６】
また、デバイス特定部１１ａにより特定されたデバイス２を使用する他のアプリケーションプログラムが存在する場合（ＳＡ５、Ｙｅｓ）、対象アプリが使用するメモリ１０を解放してしまうと、当該対象アプリが使用しているデバイス２にも影響が生じ、当該デバイス２を使用する他のアプリケーションプログラムにも支障が出ることから、メモリ制御部１１ｃは対象アプリが使用するメモリ１０の解放を行わず、対象アプリをＢＧに移行する（ＳＡ７）。その後、制御部１１は情報処理を終了する。
【００３７】
一方、ＳＡ６の判定の結果、対象アプリが使用するメモリ１０の一部又は全部を解放する場合（ＳＡ６、Ｙｅｓ）、バックアップ部１１ｄはバックアップ処理を実行する（ＳＡ８）。
【００３８】
（処理−バックアップ処理）
ここでバックアップ処理について説明する。図４はバックアップ処理のフローチャートである。図４に示すように、バックアップ処理が開始されると、バックアップ部１１ｄは対象アプリのアプリＩＤを取得する（ＳＢ１）。
【００３９】
次にバックアップ部１１ｄは、対象アプリが使用するメモリ１０の一部又は全部（すなわち解放するメモリ１０の一部又は全部）に格納されていたデータを記憶させるためのデータ記憶領域をデータ記録部１２に作成する（ＳＢ２）。
【００４０】
そしてバックアップ部１１ｄは、対象アプリが使用するメモリ１０の一部又は全部に格納されていたデータにＳＢ１で取得した当該対象アプリのアプリＩＤを関連付けて、ＳＢ２で作成したデータ記録部１２のデータ記憶領域に記憶させる（ＳＢ３）。この時バックアップ部１１ｄは、データを記憶させたデータ記憶領域を特定する復帰用データ保存場所情報を、対象アプリのアプリＩＤと関連付けてアプリ管理ＤＢ１２ｂに格納する。その後、制御部１１はバックアップ処理を終了し、メインルーチンに戻る。
【００４１】
図３に戻り、ＳＡ８の処理の後、メモリ制御部１１ｃは、対象アプリが使用するメモリ１０の一部又は全部を解放する（ＳＡ９）。これにより、他のアプリケーションプログラムが当該メモリ１０の一部又は全部を使用可能となる。ＳＡ９の処理の後、制御部１１は情報処理を終了する。
【００４２】
また、ＳＡ２において、ＳＡ１で発生したイベントがアプリ起動要求である場合（ＳＡ２、Ｙｅｓ）、制御部１１は起動を要求されたアプリケーションプログラムをデータ記録部１２から読み出して起動させる（ＳＡ１０）。この際、メモリ制御部１１ｃは、当該アプリケーションプログラムが使用するための領域をメモリ１０に確保する。その後、制御部１１は情報処理を終了する。
【００４３】
また、ＳＡ３において、ＳＡ１で発生したイベントがアプリ復帰要求である場合（ＳＡ３、Ｙｅｓ）、復帰部１１ｅは、復帰を要求されたアプリケーションプログラムが、ＢＧの状態のアプリケーションプログラム（すなわち使用するメモリ１０が解放されていないアプリケーションプログラム）の中に含まれているか否かを判定する（ＳＡ１１）。
【００４４】
その結果、復帰を要求されたアプリケーションプログラムが、ＢＧの状態のアプリケーションプログラムの中に含まれていない場合（すなわち復帰を要求されたアプリケーションプログラムが、使用するメモリ１０が解放されたアプリケーションプログラムである場合）（ＳＡ１１、Ｎｏ）、復帰部１１ｅは復帰処理を実行する（ＳＡ１２）。
【００４５】
（処理−復帰処理）
ここで、復帰処理について説明する。図５は復帰処理のフローチャートである。図５に示すように、復帰処理が開始されると、復帰部１１ｅは復帰を要求されたアプリケーションプログラムのアプリＩＤを取得する（ＳＣ１）。
【００４６】
次に、復帰部１１ｅはアプリ管理ＤＢ１２ｂを参照し、ＳＣ１で取得したアプリＩＤに関連付けて格納されている復帰用データ保存場所情報に基づき、復帰を要求されたアプリケーションプログラムについて図３のＳＡ９で解放されたメモリ１０に格納されていたデータが記憶されているデータ記録部１２のデータ記憶領域を特定する（ＳＣ２）。なお、復帰を要求されたアプリケーションプログラムについてデータ記録部１２のデータ記憶領域に記憶されているデータが存在しない場合には、ＳＣ１で取得したアプリＩＤに対応する復帰用データ保存場所情報が存在しない旨が特定される。
【００４７】
続いて復帰部１１ｅは、ＳＣ２におけるデータ記憶領域の特定結果に基づき、復帰を要求されたアプリケーションプログラムについてデータ記録部１２のデータ記憶領域に記憶されているデータの有無を判定する（ＳＣ３）。
【００４８】
その結果、復帰を要求されたアプリケーションプログラムについてデータ記録部１２のデータ記憶領域に記憶されているデータが存在する場合（ＳＣ３、Ｙｅｓ）、復帰部１１ｅは当該データを読み出し、メモリ１０に展開する（ＳＣ４）。その後、制御部１１は復帰処理を終了する。
【００４９】
一方、復帰を要求されたアプリケーションプログラムについてデータ記録部１２のデータ記憶領域に記憶されているデータが存在しない場合（すなわち、ＳＣ１で取得したアプリＩＤに対応する復帰用データ保存場所情報が存在しない場合）（ＳＣ３、Ｎｏ）、制御部１１は復帰処理を終了する。
【００５０】
図３に戻り、ＳＡ１１において、復帰を要求されたアプリケーションプログラムがＢＧの状態のアプリケーションプログラムの中に含まれている場合（ＳＡ１１、Ｙｅｓ）、又はＳＡ１２の処理の後、復帰部１１ｅは、メモリ１０に展開されているデータを用いて、復帰を要求されたアプリケーションプログラムをＦＧの状態に復帰させる（ＳＡ１３）。その後、制御部１１は情報処理を終了する。
【００５１】
（効果）
このように実施の形態によれば、アプリケーションプログラムが使用しているデバイス２に基づき、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定部１１ｂが判定し、判定部１１ｂの判定結果に基づき、アプリケーションプログラムが使用するメモリ１０の一部又は全部をメモリ制御部１１ｃが解放するので、システムのメモリ残量が逼迫しているか否かに関わらず、他のアプリケーションプログラムの動作に支障が出ない場合にはメモリ１０を解放することができ、システムのメモリ残量を恒常的に余裕のある状態にすることができる。
【００５２】
また、判定部１１ｂは、デバイス特定部１１ａにより特定されたデバイス２を使用する他のアプリケーションプログラムの有無に基づき、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定するので、確実に他のアプリケーションプログラムの動作に支障が出ない場合に、メモリ１０を解放することができる。
【００５３】
また、判定部１１ｂによりアプリケーションプログラムが使用するメモリ１０の一部又は全部を解放すると判定された場合、当該解放するメモリ１０の一部又は全部に格納されていたデータをバックアップ部１１ｄがデータ記録部１２に記憶させ、所定のタイミングで、バックアップ部１１ｄによりデータ記録部１２に記憶されたデータを復帰部１１ｅがメモリ１０に展開するので、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放した場合であっても、所定のタイミングで当該アプリケーションプログラムを容易に復帰させることができる。
【００５４】
また、判定部１１ｂは、アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又はアプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定するので、メモリ１０を解放しても支障が出ない可能性が高い場合にメモリ１０を解放することができる。
【００５５】
また、起動中のアプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、バックアップ部１１ｄによりデータ記録部１２に記憶されたデータを復帰部１１ｅがメモリ１０に展開するので、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放した場合であっても、復帰が要求された場合には当該アプリケーションプログラムを容易に復帰させることができる。
【００５６】
〔実施の形態に対する変形例〕
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
【００５７】
（解決しようとする課題や発明の効果について）
まず、発明が解決しようとする課題や発明の効果は、上述の内容に限定されるものではなく、発明の実施環境や構成の細部に応じて異なる可能性があり、上述した課題の一部のみを解決したり、上述した効果の一部のみを奏することがある。
【００５８】
（情報処理システムの構成について）
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成できる。例えば、情報処理システム１の各構成要素を、ネットワークを介して分散配置してもよい。
【００５９】
（情報処理について）
上述の実施の形態では、例えばＦＧの状態にあるアプリケーションプログラムをＢＧの状態にすることを要求するイベントや、アプリケーションプログラムがＦＧからＢＧに移行されてから所定時間経過した場合に自動発生するイベントが発生した場合に、アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定すると説明したが、その他の場合にメモリ１０の一部又は全部を解放するか否かを判定するようにしてもよい。例えば、アプリケーションプログラムがＢＧの状態である場合において、当該アプリケーションプログラムによるデバイス２の使用状態に基づき、当該アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放するか否かを判定するようにしてもよい。より具体的には、ＢＧの状態のアプリケーションプログラムがデバイス２を使用していない場合、当該アプリケーションプログラムが使用するメモリ１０の一部又は全部を解放すると判定してもよい。
【符号の説明】
【００６０】
１  情報処理システム
２  デバイス
１０  メモリ
１１  制御部
１１ａ  デバイス特定部
１１ｂ  判定部
１１ｃ  メモリ制御部
１１ｄ  バックアップ部
１１ｅ  復帰部
１２  データ記録部
１２ａ  判定テーブル
１２ｂ  アプリ管理ＤＢ
１３  システムバス
【図１】
2013089042.tif 000003
【図２】
2013089042.tif 000004
【図３】
2013089042.tif 000005
【図４】
2013089042.tif 000006
【図５】
2013089042.tif 000007