JP2013089042A - 情報処理システム、情報処理方法、及び情報処理プログラム - Google Patents
情報処理システム、情報処理方法、及び情報処理プログラム Download PDFInfo
- Publication number
- JP2013089042A JP2013089042A JP2011229086A JP2011229086A JP2013089042A JP 2013089042 A JP2013089042 A JP 2013089042A JP 2011229086 A JP2011229086 A JP 2011229086A JP 2011229086 A JP2011229086 A JP 2011229086A JP 2013089042 A JP2013089042 A JP 2013089042A
- Authority
- JP
- Japan
- Prior art keywords
- application program
- memory
- information processing
- unit
- application
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】システムのメモリ残量を恒常的に余裕のある状態にすることができる、情報処理システム、情報処理方法、及び情報処理プログラムを提供すること。
【解決手段】情報処理システム1は、アプリケーションプログラムが使用しているデバイス2を特定するデバイス特定部11aと、デバイス特定部11aにより特定されたデバイス2に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定する判定部11bと、判定部11bの判定結果に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するメモリ制御部11cとを備える。
【選択図】図1
【解決手段】情報処理システム1は、アプリケーションプログラムが使用しているデバイス2を特定するデバイス特定部11aと、デバイス特定部11aにより特定されたデバイス2に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定する判定部11bと、判定部11bの判定結果に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するメモリ制御部11cとを備える。
【選択図】図1
Description
本発明は、情報処理システム、情報処理方法、及び情報処理プログラムに関する。
従来、アプリケーションプログラムに対応してメモリの利用効率を高めるためのメモリ制御方法が提案されている。このメモリ制御方法では、メモリ確保部は、アプリケーションからメモリの確保要求を受け、メモリ量管理部で要求メモリが要求量確保可能かチェックし、可能であれば確保する。メモリ解放部は、アプリケーションからメモリの解放要求を受けてメモリを解放し、メモリ量管理部にメモリが解放されたことを通知する。メモリ量管理部は、システムのメモリ残量と各アプリケーションの使用メモリ量とを管理し、システムのメモリ残量がメモリの確保要求を下回る際に、適切なアプリケーションを選択してそのアプリケーションの使用するメモリの一部もしくはすべてをメモリ強制解放部で解放する。メモリ強制解放部は、対象アプリケーションにメモリの一部もしくはすべてを強制解放するよう通知し、強制解放を実行させる(例えば、特許文献1参照)。
しかしながら、上述の如き従来の方法では、システムのメモリ残量がメモリの確保要求を下回る際に、所定のアプリケーションの使用するメモリの一部もしくはすべてをメモリ強制解放部で解放するものに過ぎないため、システムのメモリ残量が逼迫しなければアプリケーションの使用するメモリが解放されることはなかった。その結果、システムのメモリ残量が逼迫する度にアプリケーションの使用するメモリを解放するという動作を繰り返すこととなり、システム全体の動作が重くなる可能性があった。
本発明は、上記に鑑みてなされたものであって、システムのメモリ残量を恒常的に余裕のある状態にすることができる、情報処理システム、情報処理方法、及び情報処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1に記載の情報処理システムは、アプリケーションプログラムが使用しているデバイスを特定するデバイス特定手段と、前記デバイス特定手段により特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定手段と、前記判定手段の判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御手段と、を備える。
また、請求項2に記載の情報処理システムは、請求項1に記載の情報処理システムにおいて、前記判定手段は、前記デバイス特定手段により特定されたデバイスを使用する他のアプリケーションプログラムの有無に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する。
また、請求項3に記載の情報処理システムは、請求項1又は2に記載の情報処理システムにおいて、不揮発性の記憶手段と、前記判定手段により前記アプリケーションプログラムが使用するメモリの一部又は全部を解放すると判定された場合、当該解放するメモリの一部又は全部に格納されていたデータを前記記憶手段に記憶させるバックアップ手段と、所定のタイミングで、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する復帰手段と、を備える。
また、請求項4に記載の情報処理システムは、請求項1から3のいずれか一項に記載の情報処理システムにおいて、前記判定手段は、前記アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又は前記アプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する。
また、請求項5に記載の情報処理システムは、請求項3及び4に記載の情報処理システムにおいて、前記復帰手段は、起動中の前記アプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する。
また、請求項6に記載の情報処理方法は、アプリケーションプログラムが使用しているデバイスを特定するデバイス特定ステップと、前記デバイス特定ステップにより特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定ステップと、前記判定ステップの判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御ステップ手段と、を含む。
また、請求項7に記載の情報処理プログラムは、請求項6に記載の方法をコンピュータに実行させる。
請求項1に記載の情報処理システム、請求項6に記載の情報処理方法、及び請求項7に記載の情報処理プログラムによれば、アプリケーションプログラムが使用しているデバイスに基づき、アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定手段が判定し、判定手段の判定結果に基づき、アプリケーションプログラムが使用するメモリの一部又は全部をメモリ制御手段が解放するので、システムのメモリ残量が逼迫しているか否かに関わらず、他のアプリケーションプログラムの動作に支障が出ない場合にはメモリを解放することができ、システムのメモリ残量を恒常的に余裕のある状態にすることができる。
請求項2に記載の情報処理システムによれば、判定手段は、デバイス特定手段により特定されたデバイスを使用する他のアプリケーションプログラムの有無に基づき、アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定するので、確実に他のアプリケーションプログラムの動作に支障が出ない場合に、メモリを解放することができる。
請求項3に記載の情報処理システムによれば、判定手段によりアプリケーションプログラムが使用するメモリの一部又は全部を解放すると判定された場合、当該解放するメモリの一部又は全部に格納されていたデータをバックアップ手段が記憶手段に記憶させ、所定のタイミングで、バックアップ手段により記憶手段に記憶されたデータを復帰手段がメモリに展開するので、アプリケーションプログラムが使用するメモリの一部又は全部を解放した場合であっても、所定のタイミングで当該アプリケーションプログラムを容易に復帰させることができる。
請求項4に記載の情報処理システムによれば、判定手段は、アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又はアプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定するので、メモリを解放しても支障が出ない可能性が高い場合にメモリを解放することができる。
請求項5に記載の情報処理システムによれば、復帰手段は、起動中のアプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、バックアップ手段により記憶手段に記憶されたデータをメモリに展開するので、アプリケーションプログラムが使用するメモリの一部又は全部を解放した場合であっても、復帰が要求された場合には当該アプリケーションプログラムを容易に復帰させることができる。
以下、本発明に係る情報処理システム、情報処理方法、及び情報処理プログラムの実施の形態について図面を参照しつつ詳細に説明する。ただし、これら実施の形態によって本発明が限定されるものではない。
(構成)
最初に、実施の形態に係る情報処理システムの構成について説明する。図1は、本実施の形態に係る情報処理システムを例示するブロック図である。図1に示すように、情報処理システム1は、メモリ10、制御部11、及びデータ記録部12をシステムバス13にて通信可能に接続して構成されている。また、情報処理システム1には、各種デバイス2(例えばカメラ、オーディオ、ネットワーク通信機器、GPS、エアコン等)が接続されている。
最初に、実施の形態に係る情報処理システムの構成について説明する。図1は、本実施の形態に係る情報処理システムを例示するブロック図である。図1に示すように、情報処理システム1は、メモリ10、制御部11、及びデータ記録部12をシステムバス13にて通信可能に接続して構成されている。また、情報処理システム1には、各種デバイス2(例えばカメラ、オーディオ、ネットワーク通信機器、GPS、エアコン等)が接続されている。
(構成−メモリ)
メモリ10は、プログラムや各種のデータを格納するためのRAM(Random Access Memory)の如きメインメモリである。
メモリ10は、プログラムや各種のデータを格納するためのRAM(Random Access Memory)の如きメインメモリである。
(構成−制御部)
制御部11は、情報処理システム1、及びデバイス2を制御する制御手段であり、具体的には、CPU、当該CPU上で解釈実行される各種のプログラム(OSなどの基本制御プログラムや、OS上で起動され特定機能を実現するアプリケーションプログラムを含む)等を備えて構成されるコンピュータである。特に、実施の形態に係る情報処理プログラムは、任意の記録媒体又はネットワークを介して情報処理システム1にインストールされることで、制御部11の各部を実質的に構成する。
制御部11は、情報処理システム1、及びデバイス2を制御する制御手段であり、具体的には、CPU、当該CPU上で解釈実行される各種のプログラム(OSなどの基本制御プログラムや、OS上で起動され特定機能を実現するアプリケーションプログラムを含む)等を備えて構成されるコンピュータである。特に、実施の形態に係る情報処理プログラムは、任意の記録媒体又はネットワークを介して情報処理システム1にインストールされることで、制御部11の各部を実質的に構成する。
この制御部11は、機能概念的に、デバイス特定部11a、判定部11b、メモリ制御部11c、バックアップ部11d、及び復帰部11eを備えている。デバイス特定部11aは、アプリケーションプログラムが使用しているデバイス2を特定するデバイス特定手段である。判定部11bは、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定する判定手段である。メモリ制御部11cは、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するメモリ制御手段である。バックアップ部11dは、メモリ10の一部又は全部に格納されていたデータをデータ記録部12に記憶させるバックアップ手段である。復帰部11eは、所定のタイミングで、バックアップ部11dによりデータ記録部12に記憶されたデータをメモリ10に展開する復帰手段である。これらの制御部11の各構成要素によって実行される処理の詳細については後述する。
(構成−データ記録部)
データ記録部12は、情報処理システム1の動作に必要なプログラム及び各種のデータを記録する記録手段であり、不揮発性の記憶手段である。このデータ記録部12は、例えば、外部記憶装置としてのハードディスク(図示省略)の如き磁気的記録媒体を用いて構成されている。ただし、ハードディスクに代えてあるいはハードディスクと共に、フラッシュメモリの如き半導体型記憶媒体、又はDVDやブルーレイディスクの如き光学的記録媒体を含む、その他の任意の不揮発性記録媒体を用いることができる。
データ記録部12は、情報処理システム1の動作に必要なプログラム及び各種のデータを記録する記録手段であり、不揮発性の記憶手段である。このデータ記録部12は、例えば、外部記憶装置としてのハードディスク(図示省略)の如き磁気的記録媒体を用いて構成されている。ただし、ハードディスクに代えてあるいはハードディスクと共に、フラッシュメモリの如き半導体型記憶媒体、又はDVDやブルーレイディスクの如き光学的記録媒体を含む、その他の任意の不揮発性記録媒体を用いることができる。
このデータ記録部12は、判定テーブル12a、及びアプリ管理データベース12b(以下、データベースを「DB」と称する)を備えている。また、データ記録部12には、メモリ制御部11cにより解放されるメモリ10の一部又は全部に格納されていたデータがバックアップ部11dによって格納される。
判定テーブル12aは、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定部11bが判定する際に参照するテーブルである。図2は、判定テーブル12aに格納されている情報を例示した表である。この図2に示すように、判定テーブル12aには、項目「アプリ」、「使用デバイス」、及び「解放可否」に対応する情報が相互に関連付けて格納されている。
項目「アプリ」に対応して格納される情報は、メモリ10の一部又は全部を解放するか否かを判定する対象となるアプリケーションプログラムを特定する情報である(図2では「ARアプリ」等)。なお、図2の判定テーブル12aにおける項目「アプリ」に対応して格納されている「−−−」は、特定のアプリケーションプログラムに限定されず、全てのアプリケーションプログラムについて適用される旨を示している。
項目「使用デバイス」に対応して格納される情報は、各アプリケーションプログラムが使用するデバイス2を特定する情報である(図2ではアプリケーションプログラム「ARアプリ」について使用デバイス「カメラ」等)。
項目「解放可否」に対応して格納される情報は、メモリ10を使用中のアプリケーションプログラムがフォアグラウンド(以下、必要に応じて「FG」)の状態からバックグラウンド(以下、必要に応じて「BG」)の状態に移行する場合、あるいはBGの状態で所定時間経過した場合等に、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを特定するための情報である。
図2の例では、使用デバイス2が「カメラ」であるアプリケーションプログラム「ARアプリ」について、メモリ10の一部又は全部を解放可である旨を示す情報「可」が格納されている。これは、アプリケーションプログラムがFGの状態ではない場合、カメラの撮影画像をディスプレイに表示させることができず、カメラを使用することができないため、カメラの制御に用いるメモリ10を解放しても支障がないからである。
また、使用デバイス2が「オーディオ」であるアプリケーションプログラム「インターネットラジオアプリ」について、メモリ10の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがFGの状態ではなくても、インターネットラジオのストリーミング再生は継続されているため、オーディオの制御に用いるメモリ10を解放することはできないからである。
また、使用デバイス2が「ネットワーク通信機器」であるアプリケーションプログラム「クーポンアプリ」について、メモリ10の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがFGの状態ではなくても、クーポンやセール情報等を定期的に外部サーバから取得する必要があるため、ネットワーク通信機器の制御に用いるメモリ10を解放することはできないからである。
また、使用デバイス2が「GPS」であるアプリケーションプログラム「クーポンアプリ」について、メモリ10の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがFGの状態ではなくても、定期的に現在位置の情報を取得した上で、外部サーバから現在位置に関連するクーポンやセール情報等を取得する必要があるため、GPSの制御に用いるメモリ10を解放することはできないからである。
また、使用デバイス2が「エアコン」であるアプリケーションプログラム「インパネアプリ」について、メモリ10の一部又は全部を解放可である旨を示す情報「可」が格納されている。これは、アプリケーションプログラムがFGの状態ではない場合、エアコンの操作画面をディスプレイに表示させることができず、エアコンの操作を行うことができないため、エアコン操作に用いるメモリ10を解放しても支障がないからである。
また、使用デバイス2がない任意のアプリケーションプログラムについて、メモリ10の一部又は全部を解放不可である旨を示す情報「可」が格納されている。これは、デバイス2を使用していないアプリケーションプログラムがFGの状態ではない場合、当該アプリケーションプログラムに関するメモリ10を解放しても支障がないからである。
項目「アプリ」に対応して格納される情報は、メモリ10の一部又は全部を解放するか否かを判定する対象となるアプリケーションプログラムを特定する情報である(図2では「ARアプリ」等)。なお、図2の判定テーブル12aにおける項目「アプリ」に対応して格納されている「−−−」は、特定のアプリケーションプログラムに限定されず、全てのアプリケーションプログラムについて適用される旨を示している。
項目「使用デバイス」に対応して格納される情報は、各アプリケーションプログラムが使用するデバイス2を特定する情報である(図2ではアプリケーションプログラム「ARアプリ」について使用デバイス「カメラ」等)。
項目「解放可否」に対応して格納される情報は、メモリ10を使用中のアプリケーションプログラムがフォアグラウンド(以下、必要に応じて「FG」)の状態からバックグラウンド(以下、必要に応じて「BG」)の状態に移行する場合、あるいはBGの状態で所定時間経過した場合等に、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを特定するための情報である。
図2の例では、使用デバイス2が「カメラ」であるアプリケーションプログラム「ARアプリ」について、メモリ10の一部又は全部を解放可である旨を示す情報「可」が格納されている。これは、アプリケーションプログラムがFGの状態ではない場合、カメラの撮影画像をディスプレイに表示させることができず、カメラを使用することができないため、カメラの制御に用いるメモリ10を解放しても支障がないからである。
また、使用デバイス2が「オーディオ」であるアプリケーションプログラム「インターネットラジオアプリ」について、メモリ10の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがFGの状態ではなくても、インターネットラジオのストリーミング再生は継続されているため、オーディオの制御に用いるメモリ10を解放することはできないからである。
また、使用デバイス2が「ネットワーク通信機器」であるアプリケーションプログラム「クーポンアプリ」について、メモリ10の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがFGの状態ではなくても、クーポンやセール情報等を定期的に外部サーバから取得する必要があるため、ネットワーク通信機器の制御に用いるメモリ10を解放することはできないからである。
また、使用デバイス2が「GPS」であるアプリケーションプログラム「クーポンアプリ」について、メモリ10の一部又は全部を解放不可である旨を示す情報「不可」が格納されている。これは、アプリケーションプログラムがFGの状態ではなくても、定期的に現在位置の情報を取得した上で、外部サーバから現在位置に関連するクーポンやセール情報等を取得する必要があるため、GPSの制御に用いるメモリ10を解放することはできないからである。
また、使用デバイス2が「エアコン」であるアプリケーションプログラム「インパネアプリ」について、メモリ10の一部又は全部を解放可である旨を示す情報「可」が格納されている。これは、アプリケーションプログラムがFGの状態ではない場合、エアコンの操作画面をディスプレイに表示させることができず、エアコンの操作を行うことができないため、エアコン操作に用いるメモリ10を解放しても支障がないからである。
また、使用デバイス2がない任意のアプリケーションプログラムについて、メモリ10の一部又は全部を解放不可である旨を示す情報「可」が格納されている。これは、デバイス2を使用していないアプリケーションプログラムがFGの状態ではない場合、当該アプリケーションプログラムに関するメモリ10を解放しても支障がないからである。
図1に戻り、アプリ管理DB12bには、アプリケーションプログラムに関するアプリ管理情報が格納されている。アプリ管理情報は、例えばアプリケーションプログラムを一意に識別するアプリID、アプリケーションプログラムのパッケージ名、パッケージサイズ、バージョン名、アプリケーション間で特定ユーザについてデータを共有するために用いるアプリ間共有ユーザID、インストール日時、最終アップデート日時、インストール可能領域、使用デバイス2、メモリ制御部11cにより解放されるメモリ10の一部又は全部に格納されていたデータが記憶されたデータ記録部12のデータ記憶領域を特定するための復帰用データ保存場所情報等を含んで格納されている。
(処理−情報処理)
次に、このように構成された情報処理システム1によって実行される情報処理について説明する。図3は、情報処理のフローチャートである(以下の各処理の説明ではステップを「S」と略記する)。この情報処理は、例えば、情報処理システム1に電源が投入された場合に起動される。
次に、このように構成された情報処理システム1によって実行される情報処理について説明する。図3は、情報処理のフローチャートである(以下の各処理の説明ではステップを「S」と略記する)。この情報処理は、例えば、情報処理システム1に電源が投入された場合に起動される。
情報処理が起動されると、メモリ制御部11cは、メモリ制御の対象となるイベントが発生するまで待機する(SA1、No)。ここで、メモリ制御の対象となるイベントには、起動していないアプリケーションプログラムの起動を要求するイベント(以下、必要に応じて「アプリ起動要求」)、起動中のアプリケーションプログラムの中でFGの状態にないアプリケーションプログラム(例えばBGの状態のアプリケーションプログラムや、使用するメモリ10が解放されたアプリケーションプログラム等)をFGに復帰させることを要求するイベント(以下、必要に応じて「アプリ復帰要求」)、及び、メモリ10を解放できる可能性が生じるイベント(例えば、FGの状態にあるアプリケーションプログラム(以下、必要に応じて「FGアプリ」)をBGの状態にすることを要求するイベント(以下、必要に応じて「BG化要求」)や、アプリケーションプログラムがFGからBGに移行されてから所定時間経過した場合に自動発生するイベント等)の3種のイベントがあるものとする。
メモリ制御の対象となるイベントが発生すると(SA1、Yes)、メモリ制御部11cは、SA1で発生したイベントが、アプリ起動要求であるか否かを判定する(SA2)。
その結果、SA1で発生したイベントがアプリ起動要求ではない場合(SA2、No)、メモリ制御部11cは、SA1で発生したイベントが、アプリ復帰要求であるか否かを判定する(SA3)。
その結果、SA1で発生したイベントがアプリ復帰要求ではない場合(SA3、No)、すなわちSA1で発生したイベントが、BG化要求(例えば、FGアプリが他のアプリケーションプログラムの割り込みによりBGに移行するイベント、より詳細にはディスプレイにホーム画面を表示させることを要求するイベント、ナビゲーションプログラムにおいて現在位置を表示させることを要求するイベント、現在表示されているウィンドウに他のウィンドウを割り込み表示させることを要求するイベント(例えば着信通知や地図更新等)等)である場合や、アプリケーションプログラムがFGからBGに移行されてから所定時間経過したことにより自動発生したイベントである場合、デバイス特定部11aは、メモリ10を解放できる可能性が生じたものとし、メモリ10を解放する対象となるアプリケーションプログラム(例えば、FGからBGへの移行が要求されたアプリケーションプログラムや、FGからBGに移行されてから所定時間経過したアプリケーションプログラム。以下、必要に応じて「対象アプリ」)が使用しているデバイス2を特定する(SA4)。具体的には、デバイス特定部11aはアプリ管理DB12bを参照し、対象アプリに対応する使用デバイス2を特定する。図2の例では、対象アプリが「ARアプリ」である場合、当該アプリが使用しているデバイス2として「カメラ」が特定される。
図3に戻り、SA4の処理の後、判定部11bは、デバイス特定部11aにより特定されたデバイス2を使用する他のアプリケーションプログラムの有無を判定する(SA5)。具体的には、判定部11bはアプリ管理DB12bを参照し、SA4で特定したデバイス2に関連付けられている他のアプリIDがある場合に、デバイス特定部11aにより特定されたデバイス2を使用する他のアプリケーションプログラムが存在すると判定する。
その結果、デバイス特定部11aにより特定されたデバイス2を使用する他のアプリケーションプログラムが存在しない場合(SA5、No)、判定部11bは、SA4でデバイス特定部11aにより特定されたデバイス2に基づき、対象アプリが使用するメモリ10の一部又は全部を解放するか否かを判定する(SA6)。具体的には、判定部11bは判定テーブル12aを参照し、対象アプリとSA4でデバイス特定部11aにより特定された使用デバイス2とに対応して判定テーブル12aの項目「解放可否」に格納されている情報に基づき、対象アプリが使用するメモリ10の一部又は全部を解放するか否かを判定する。図2の例では、例えば対象アプリが「ARアプリ」であり、SA4でデバイス特定部11aにより特定された使用デバイス2が「カメラ」である場合、ARアプリが使用するメモリ10の一部又は全部を解放すると判定する。一方、対象アプリが「インターネットラジオアプリ」であり、SA4でデバイス特定部11aにより特定された使用デバイス2が「オーディオ」である場合、インターネットラジオアプリが使用するメモリ10の一部又は全部を解放しないと判定する。
図3に戻り、SA6の判定の結果、対象アプリが使用するメモリ10の一部又は全部を解放しない場合(SA6、No)、メモリ制御部11cは、対象アプリが使用するメモリ10の解放を行わず、対象アプリをBGに移行する(SA7)。例えば対象アプリがFGからBGへの移行が要求されたアプリケーションプログラムである場合には、当該対象アプリをBGに移行する。また、対象アプリがFGからBGに移行されてから所定時間経過したアプリケーションプログラムである場合には、BGの状態を維持する。その後、制御部11は情報処理を終了する。
また、デバイス特定部11aにより特定されたデバイス2を使用する他のアプリケーションプログラムが存在する場合(SA5、Yes)、対象アプリが使用するメモリ10を解放してしまうと、当該対象アプリが使用しているデバイス2にも影響が生じ、当該デバイス2を使用する他のアプリケーションプログラムにも支障が出ることから、メモリ制御部11cは対象アプリが使用するメモリ10の解放を行わず、対象アプリをBGに移行する(SA7)。その後、制御部11は情報処理を終了する。
一方、SA6の判定の結果、対象アプリが使用するメモリ10の一部又は全部を解放する場合(SA6、Yes)、バックアップ部11dはバックアップ処理を実行する(SA8)。
(処理−バックアップ処理)
ここでバックアップ処理について説明する。図4はバックアップ処理のフローチャートである。図4に示すように、バックアップ処理が開始されると、バックアップ部11dは対象アプリのアプリIDを取得する(SB1)。
ここでバックアップ処理について説明する。図4はバックアップ処理のフローチャートである。図4に示すように、バックアップ処理が開始されると、バックアップ部11dは対象アプリのアプリIDを取得する(SB1)。
次にバックアップ部11dは、対象アプリが使用するメモリ10の一部又は全部(すなわち解放するメモリ10の一部又は全部)に格納されていたデータを記憶させるためのデータ記憶領域をデータ記録部12に作成する(SB2)。
そしてバックアップ部11dは、対象アプリが使用するメモリ10の一部又は全部に格納されていたデータにSB1で取得した当該対象アプリのアプリIDを関連付けて、SB2で作成したデータ記録部12のデータ記憶領域に記憶させる(SB3)。この時バックアップ部11dは、データを記憶させたデータ記憶領域を特定する復帰用データ保存場所情報を、対象アプリのアプリIDと関連付けてアプリ管理DB12bに格納する。その後、制御部11はバックアップ処理を終了し、メインルーチンに戻る。
図3に戻り、SA8の処理の後、メモリ制御部11cは、対象アプリが使用するメモリ10の一部又は全部を解放する(SA9)。これにより、他のアプリケーションプログラムが当該メモリ10の一部又は全部を使用可能となる。SA9の処理の後、制御部11は情報処理を終了する。
また、SA2において、SA1で発生したイベントがアプリ起動要求である場合(SA2、Yes)、制御部11は起動を要求されたアプリケーションプログラムをデータ記録部12から読み出して起動させる(SA10)。この際、メモリ制御部11cは、当該アプリケーションプログラムが使用するための領域をメモリ10に確保する。その後、制御部11は情報処理を終了する。
また、SA3において、SA1で発生したイベントがアプリ復帰要求である場合(SA3、Yes)、復帰部11eは、復帰を要求されたアプリケーションプログラムが、BGの状態のアプリケーションプログラム(すなわち使用するメモリ10が解放されていないアプリケーションプログラム)の中に含まれているか否かを判定する(SA11)。
その結果、復帰を要求されたアプリケーションプログラムが、BGの状態のアプリケーションプログラムの中に含まれていない場合(すなわち復帰を要求されたアプリケーションプログラムが、使用するメモリ10が解放されたアプリケーションプログラムである場合)(SA11、No)、復帰部11eは復帰処理を実行する(SA12)。
(処理−復帰処理)
ここで、復帰処理について説明する。図5は復帰処理のフローチャートである。図5に示すように、復帰処理が開始されると、復帰部11eは復帰を要求されたアプリケーションプログラムのアプリIDを取得する(SC1)。
ここで、復帰処理について説明する。図5は復帰処理のフローチャートである。図5に示すように、復帰処理が開始されると、復帰部11eは復帰を要求されたアプリケーションプログラムのアプリIDを取得する(SC1)。
次に、復帰部11eはアプリ管理DB12bを参照し、SC1で取得したアプリIDに関連付けて格納されている復帰用データ保存場所情報に基づき、復帰を要求されたアプリケーションプログラムについて図3のSA9で解放されたメモリ10に格納されていたデータが記憶されているデータ記録部12のデータ記憶領域を特定する(SC2)。なお、復帰を要求されたアプリケーションプログラムについてデータ記録部12のデータ記憶領域に記憶されているデータが存在しない場合には、SC1で取得したアプリIDに対応する復帰用データ保存場所情報が存在しない旨が特定される。
続いて復帰部11eは、SC2におけるデータ記憶領域の特定結果に基づき、復帰を要求されたアプリケーションプログラムについてデータ記録部12のデータ記憶領域に記憶されているデータの有無を判定する(SC3)。
その結果、復帰を要求されたアプリケーションプログラムについてデータ記録部12のデータ記憶領域に記憶されているデータが存在する場合(SC3、Yes)、復帰部11eは当該データを読み出し、メモリ10に展開する(SC4)。その後、制御部11は復帰処理を終了する。
一方、復帰を要求されたアプリケーションプログラムについてデータ記録部12のデータ記憶領域に記憶されているデータが存在しない場合(すなわち、SC1で取得したアプリIDに対応する復帰用データ保存場所情報が存在しない場合)(SC3、No)、制御部11は復帰処理を終了する。
図3に戻り、SA11において、復帰を要求されたアプリケーションプログラムがBGの状態のアプリケーションプログラムの中に含まれている場合(SA11、Yes)、又はSA12の処理の後、復帰部11eは、メモリ10に展開されているデータを用いて、復帰を要求されたアプリケーションプログラムをFGの状態に復帰させる(SA13)。その後、制御部11は情報処理を終了する。
(効果)
このように実施の形態によれば、アプリケーションプログラムが使用しているデバイス2に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定部11bが判定し、判定部11bの判定結果に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部をメモリ制御部11cが解放するので、システムのメモリ残量が逼迫しているか否かに関わらず、他のアプリケーションプログラムの動作に支障が出ない場合にはメモリ10を解放することができ、システムのメモリ残量を恒常的に余裕のある状態にすることができる。
このように実施の形態によれば、アプリケーションプログラムが使用しているデバイス2に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定部11bが判定し、判定部11bの判定結果に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部をメモリ制御部11cが解放するので、システムのメモリ残量が逼迫しているか否かに関わらず、他のアプリケーションプログラムの動作に支障が出ない場合にはメモリ10を解放することができ、システムのメモリ残量を恒常的に余裕のある状態にすることができる。
また、判定部11bは、デバイス特定部11aにより特定されたデバイス2を使用する他のアプリケーションプログラムの有無に基づき、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定するので、確実に他のアプリケーションプログラムの動作に支障が出ない場合に、メモリ10を解放することができる。
また、判定部11bによりアプリケーションプログラムが使用するメモリ10の一部又は全部を解放すると判定された場合、当該解放するメモリ10の一部又は全部に格納されていたデータをバックアップ部11dがデータ記録部12に記憶させ、所定のタイミングで、バックアップ部11dによりデータ記録部12に記憶されたデータを復帰部11eがメモリ10に展開するので、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放した場合であっても、所定のタイミングで当該アプリケーションプログラムを容易に復帰させることができる。
また、判定部11bは、アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又はアプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定するので、メモリ10を解放しても支障が出ない可能性が高い場合にメモリ10を解放することができる。
また、起動中のアプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、バックアップ部11dによりデータ記録部12に記憶されたデータを復帰部11eがメモリ10に展開するので、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放した場合であっても、復帰が要求された場合には当該アプリケーションプログラムを容易に復帰させることができる。
〔実施の形態に対する変形例〕
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
(解決しようとする課題や発明の効果について)
まず、発明が解決しようとする課題や発明の効果は、上述の内容に限定されるものではなく、発明の実施環境や構成の細部に応じて異なる可能性があり、上述した課題の一部のみを解決したり、上述した効果の一部のみを奏することがある。
まず、発明が解決しようとする課題や発明の効果は、上述の内容に限定されるものではなく、発明の実施環境や構成の細部に応じて異なる可能性があり、上述した課題の一部のみを解決したり、上述した効果の一部のみを奏することがある。
(情報処理システムの構成について)
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成できる。例えば、情報処理システム1の各構成要素を、ネットワークを介して分散配置してもよい。
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成できる。例えば、情報処理システム1の各構成要素を、ネットワークを介して分散配置してもよい。
(情報処理について)
上述の実施の形態では、例えばFGの状態にあるアプリケーションプログラムをBGの状態にすることを要求するイベントや、アプリケーションプログラムがFGからBGに移行されてから所定時間経過した場合に自動発生するイベントが発生した場合に、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定すると説明したが、その他の場合にメモリ10の一部又は全部を解放するか否かを判定するようにしてもよい。例えば、アプリケーションプログラムがBGの状態である場合において、当該アプリケーションプログラムによるデバイス2の使用状態に基づき、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定するようにしてもよい。より具体的には、BGの状態のアプリケーションプログラムがデバイス2を使用していない場合、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放すると判定してもよい。
上述の実施の形態では、例えばFGの状態にあるアプリケーションプログラムをBGの状態にすることを要求するイベントや、アプリケーションプログラムがFGからBGに移行されてから所定時間経過した場合に自動発生するイベントが発生した場合に、アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定すると説明したが、その他の場合にメモリ10の一部又は全部を解放するか否かを判定するようにしてもよい。例えば、アプリケーションプログラムがBGの状態である場合において、当該アプリケーションプログラムによるデバイス2の使用状態に基づき、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放するか否かを判定するようにしてもよい。より具体的には、BGの状態のアプリケーションプログラムがデバイス2を使用していない場合、当該アプリケーションプログラムが使用するメモリ10の一部又は全部を解放すると判定してもよい。
1 情報処理システム
2 デバイス
10 メモリ
11 制御部
11a デバイス特定部
11b 判定部
11c メモリ制御部
11d バックアップ部
11e 復帰部
12 データ記録部
12a 判定テーブル
12b アプリ管理DB
13 システムバス
2 デバイス
10 メモリ
11 制御部
11a デバイス特定部
11b 判定部
11c メモリ制御部
11d バックアップ部
11e 復帰部
12 データ記録部
12a 判定テーブル
12b アプリ管理DB
13 システムバス
Claims (7)
- アプリケーションプログラムが使用しているデバイスを特定するデバイス特定手段と、
前記デバイス特定手段により特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定手段と、
前記判定手段の判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御手段と、
を備える情報処理システム。 - 前記判定手段は、前記デバイス特定手段により特定されたデバイスを使用する他のアプリケーションプログラムの有無に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する、
請求項1に記載の情報処理システム。 - 不揮発性の記憶手段と、
前記判定手段により前記アプリケーションプログラムが使用するメモリの一部又は全部を解放すると判定された場合、当該解放するメモリの一部又は全部に格納されていたデータを前記記憶手段に記憶させるバックアップ手段と、
所定のタイミングで、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する復帰手段と、
を備える請求項1又は2に記載の情報処理システム。 - 前記判定手段は、前記アプリケーションプログラムがフォアグラウンドからバックグラウンドに移行されてから所定時間経過した場合、又は前記アプリケーションプログラムが他のアプリケーションプログラムの割り込みによりバックグラウンドに移行された場合に、当該アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する、
請求項1から3のいずれか一項に記載の情報処理システム。 - 前記復帰手段は、起動中の前記アプリケーションプログラムの中でフォアグラウンドの状態にないアプリケーションプログラムをフォアグラウンドに復帰させることを要求するイベントが発生し、且つ、当該復帰を要求されたアプリケーションプログラムが、バックグラウンドの状態のアプリケーションプログラムの中に含まれていない場合に、前記バックアップ手段により前記記憶手段に記憶されたデータを前記メモリに展開する、
請求項3及び4に記載の情報処理システム。 - アプリケーションプログラムが使用しているデバイスを特定するデバイス特定ステップと、
前記デバイス特定ステップにより特定されたデバイスに基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するか否かを判定する判定ステップと、
前記判定ステップの判定結果に基づき、前記アプリケーションプログラムが使用するメモリの一部又は全部を解放するメモリ制御ステップ手段と、
を含む情報処理方法。 - 請求項6に記載の方法をコンピュータに実行させる情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011229086A JP2013089042A (ja) | 2011-10-18 | 2011-10-18 | 情報処理システム、情報処理方法、及び情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011229086A JP2013089042A (ja) | 2011-10-18 | 2011-10-18 | 情報処理システム、情報処理方法、及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013089042A true JP2013089042A (ja) | 2013-05-13 |
Family
ID=48532888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011229086A Pending JP2013089042A (ja) | 2011-10-18 | 2011-10-18 | 情報処理システム、情報処理方法、及び情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013089042A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018067087A (ja) * | 2016-10-18 | 2018-04-26 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
-
2011
- 2011-10-18 JP JP2011229086A patent/JP2013089042A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018067087A (ja) * | 2016-10-18 | 2018-04-26 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI631472B (zh) | 分散式作業系統 | |
JP4955943B2 (ja) | 情報端末および計算機資源管理方法 | |
US20180131583A1 (en) | Automatic provisioning of cloud services | |
KR20140031366A (ko) | 복수-소스 복원을 위한 방법 및 장치 | |
CN109376197B (zh) | 一种数据同步方法、服务器及计算机存储介质 | |
JP2007148816A (ja) | 携帯端末装置およびソフトウェアインストール方法 | |
US9445392B1 (en) | Method of providing non-native notifications and system thereof | |
KR20170005859A (ko) | 이동 통신 단말에 설치된 어플리케이션 패키지를 관리하는 방법 및 장치 | |
CN103530186A (zh) | 实现相机应用支持多位置存储的方法及系统 | |
US20170193238A1 (en) | Operating system partition protecting system, protecting device, and terminal | |
CN106021149B (zh) | 蓝牙低功耗设备的多个连接管理 | |
CN105786539B (zh) | 一种文件下载方法及装置 | |
JP2014194634A (ja) | 情報処理装置、情報処理方法、並びに記録媒体 | |
CN108989072B (zh) | 一种部署、管理及调用组件的方法及装置 | |
EP3178002A1 (en) | Data backup to and restore from trusted devices in close physical proximity | |
JP2013089042A (ja) | 情報処理システム、情報処理方法、及び情報処理プログラム | |
JP6221701B2 (ja) | 制御プログラム、制御装置及び制御方法 | |
US20150269068A1 (en) | Method and apparatus for managing memory of device | |
KR20140118436A (ko) | 가전 기기 스토리지 가상화 장치 및 방법 | |
CN105453518B (zh) | 计量网络的同步 | |
JP2008140123A (ja) | 複数プログラムの制御管理方法および制御管理装置 | |
JP2011108014A (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム | |
CN108990029B (zh) | 一种无线设备的扫描启停方法及无线设备 | |
JP6287308B2 (ja) | レプリケーション制御システム、レプリケーション制御方法、及び、レプリケーション制御プログラム | |
CN107402749B (zh) | 实现图片加载库的方法及装置 |