(57)【特許請求の範囲】
【請求項１】
実行中のアプリケーション画面を表示する表示パネルと、
ユーザによって選択されたアプリケーションの実行処理を行うアプリケーション実行処理部とを備え、
上記アプリケーション実行処理部は、
アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、フォアグランドでアプリケーション実行中に、上記プロセス生成処理をバックグランドで実行させておくものであり、
上記プロセス生成処理で生成されるプロセスは、関連性のある少なくとも２種類のアプリケーションで共通であることを特徴とする情報処理装置。
【請求項２】
上記アプリケーション実行処理部は、
上記表示パネル上に、フォアグランドで実行されるアプリケーションの実行画面が表示されるタイミングで、上記プロセス生成処理を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記アプリケーション実行処理部に対して、アプリケーション実行制御を行うアプリケーション実行制御部を備え、
上記アプリケーション実行制御部は、
アプリケーション実行に必要な制御処理の順位付けを行い、各アプリケーションを実行制御するとき、
上記プロセス生成処理に必要な制御処理の順位を、フォアグランドで実行中のアプリケーションの処理に必要な制御処理の順位よりも下げることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
実行中のアプリケーション画面を表示する表示パネルと、ユーザによって選択されたアプリケーションの実行処理を行うアプリケーション実行処理部とを備えた情報処理装置のアプリケーション実行制御方法であって、
アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、フォアグランドでアプリケーション実行中に、上記プロセス生成処理をバックグランドで実行するステップを含み、
上記プロセス生成処理で生成されるプロセスは、関連性のある少なくとも２種類のアプリケーションで共通であることを特徴とする情報処理装置のアプリケーション実行制御方法。
【請求項５】
コンピュータに、請求項４に記載のアプリケーション実行制御方法に含まれるステップを実行させるプログラム。
【請求項６】
請求項５に記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションが実行可能な情報処理装置に関する。
【背景技術】
【０００２】
複数のアプリケーションが実行可能な情報処理装置として、スマートフォン等の携帯情報端末がある。このような携帯情報端末において、アプリケーションの切替を迅速に行うために、フォアグランドで実行中のアプリケーションとは別のアプリケーションをバックグランドで起動しておく方法が採用されている。
【０００３】
しかしながら、上記の方法では、アプリケーションの切替時間、すなわち、現在実行中のアプリケーション終了から次のアプリケーション実行までの時間を短縮することができるが、アプリケーションをバックグラウンドで起動させておくと使用するメモリの使用量が増えてしまうという問題が生じる。
【０００４】
そこで、特許文献１には、メモリの使用量を抑えつつ、アプリケーションの起動時間を短縮化するために、アプリケーションの起動回数と使用頻度係数から各アプリケーションの優先度を計算して、優先度の高いアプリケーションをバックグラウンドで起動しておき、ユーザにより起動されたときにアプリケーションの起動状態だけを変更することで高速起動を実現する技術が開示されている。
【０００５】
また、上記特許文献１では、常駐アプリケーション用のメモリは通常アプリケーションが起動する際にメモリの容量が足りなければ、アプリケーションの優先度が低い順にメモリを開放することで、常駐アプリケーションがいるために通常アプリケーションがメモリ不足で起動できないという現象を回避している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−９７４２５号公報（２００８年４月２４日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された技術では、以下に示すような問題が生じる。
【０００８】
（ａ）バックグランドで起動しているアプリケーションへの切り替えは迅速にできるものの、バックグランドで起動していないアプリケーションへの切り替えには時間を要するため、ユーザは、アプリケーション切替時の体感速度が遅くなったと感じる虞がある。例えば、バックグランドで起動していないアプリケーションへの切替時において、起動が速いアプリケーションから、起動の遅いアプリケーションに切り替える際には、ユーザはより体感速度が遅くなったと感じる。
【０００９】
（ｂ）アプリケーションの起動回数と使用頻度をもとに優先順位を決める方法では、そもそもアプリケーションの起動に時間を要しないものも含まれるため、アプリケーションの切り替えに大きな速度改善が得られない場合がある。このような場合、ユーザは、アプリケーション切替時の体感速度が変わらないと感じる虞がある。
【００１０】
（ｃ）バックグラウンドでアプリケーションを起動する際のＣＰＵ処理の優先順位が考慮されていないため、フォアグラウンドで実行中のアプリケーションに影響を及ぼす虞が
ある。
【００１１】
本発明は、上記の各問題点に鑑みなされたものであって、その目的は、全てのアプリケーションの起動時間を短縮することで、アプリケーションの切替時の体感速度を速くし、且つ、フォアグランドで実行中のアプリケーションに影響を及ぼさない情報処理装置を提供する。
【課題を解決するための手段】
【００１２】
本発明の情報処理装置は、実行中のアプリケーション画面を表示する表示パネルと、
ユーザによって選択されたアプリケーションの実行処理を行うアプリケーション実行処理部とを備え、
上記アプリケーション実行処理部は、
アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、フォアグランドでアプリケーション実行中に、上記プロセス生成処理をバックグランドで実行させておくことを特徴としている。
【００１３】
上記構成によれば、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、上記アプリケーション実行処理部によって、フォアグランドでアプリケーション実行中に、上記プロセス生成処理がバックグランドで実行されているので、フォアグランドで実行中のアプリケーションを終了し、別のアプリケーションを実行させて、アプリケーション画面を表示パネルに表示させるまでの時間を、上記プロセス生成処理にかかる時間分だけ短縮できる。
【００１４】
これにより、複数のアプリケーションを切り替える場合などにおいて、次のアプリケーションの起動にかかる時間が短くなり、アプリケーション実行画面表示までの体感速度を速くすることができる。つまり、ユーザの、アプリケーション切替時の体感速度を速くすることが可能となる。
【００１５】
しかも、バックグランドでは、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理を行っているだけなので、ＣＰＵへの負荷が大きくないため、フォアグランドで実行中のアプリケーションに悪影響を及ぼすことはほとんど無い。
【００１６】
従って、上記構成の情報処理装置によれば、アプリケーションの切替時の体感速度を速くし、且つ、フォアグランドで実行中のアプリケーションに影響をほとんど及ぼさないという効果を奏する。
【００１７】
上記プロセス生成処理で生成されるプロセスは、関連性のある少なくとも２種類のアプリケーションで共通であることが好ましい。
【００１８】
上記構成によれば、プロセス生成処理で生成されるプロセスは、関連性のある少なくとも２種類のアプリケーションで共通であることで、プロセスが共通の一方のアプリケーションを起動すれば、当該プロセスが共通である他のアプリケーションの起動を、プロセス生成処理を行う分だけ時間短縮できる。
【００１９】
これによっても、ユーザは、アプリケーションの起動の速さを体感することができる。
【００２０】
上記アプリケーション実行処理部は、特定のアプリケーションとの関連性が強いプロセスに関しては、メモリ等の資源を占有する時間が短くなることから、上記表示パネル上に
、フォアグランドで実行されるアプリケーションの実行画面が表示されるタイミングで、上記プロセス生成処理を実行することが好ましい。
【００２１】
上記の構成によれば、表示パネル上に、フォアグランドで実行されるアプリケーションの実行画面が表示されるタイミングで、プロセス生成処理を実行することで、以下のような効果を奏する。
【００２２】
例えばメールと電話帳のように結びつきの強いプロセス（メール作成からのアドレス帳の参照など）に関しては、一方が起動したタイミングで他方のプロセスを起こしたほうが、メモリを占有する時間を減らせることが可能となる。
【００２３】
また、ＨＯＭＥに起動ショートカットが貼り付けられているような場合は、ユーザがアプリケーションを起動させるユースケースが限定されるため、ＨＯＭＥ起動時にショートカットから起動できるアプリケーションに関連するプロセスを起こしておくことで、アプリケーションの起動時間を短縮させることが可能となる。
【００２４】
上記アプリケーション実行処理部に対して、アプリケーション実行制御を行うアプリケーション実行制御部を備え、
上記アプリケーション実行制御部は、
アプリケーション実行に必要な制御処理の順位付けを行い、各アプリケーションを実行制御するとき、
上記プロセス生成処理に必要な制御処理の順位を、フォアグランドで実行中のアプリケーションの処理に必要な制御処理の順位よりも下げることが好ましい。
【００２５】
上記構成によれば、プロセスをバックグラウンドで起動させる際には、フォアグラウンドで動作しているアプリケーションのパフォーマンスに影響を与えないようにできる。
【００２６】
本発明の情報処理装置のアプリケーション実行制御方法は、実行中のアプリケーション画面を表示する表示パネルと、ユーザによって選択されたアプリケーションの実行処理を行うアプリケーション実行処理部とを備えた情報処理装置のアプリケーション実行制御方法であって、
アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、フォアグランドでアプリケーション実行中に、上記プロセス生成処理をバックグランドで実行することを特徴としている。
【００２７】
上記構成によれば、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、フォアグランドでアプリケーション実行中に、上記プロセス生成処理がバックグランドで実行することで、フォアグランドで実行中のアプリケーションを終了し、別のアプリケーションを実行させて、アプリケーション画面を表示パネルに表示させるまでの時間を、上記プロセス生成処理にかかる時間分だけ短縮できる。
【００２８】
これにより、複数のアプリケーションを切り替える場合などにおいて、次のアプリケーションの起動にかかる時間が短くなり、アプリケーション実行画面表示までの体感速度を速くすることができる。つまり、ユーザの、アプリケーション切替時の体感速度を速くすることが可能となる。
【００２９】
しかも、バックグランドでは、アプリケーションの実行に必要なリソースの割り当てを
行うプロセス生成処理を行っているだけなので、ＣＰＵへの負荷が大きくないため、フォアグランドで実行中のアプリケーションに悪影響を及ぼすことはほとんど無い。
【００３０】
従って、上記構成の情報処理装置によれば、アプリケーションの切替時の体感速度を速くし、且つ、フォアグランドで実行中のアプリケーションに影響をほとんど及ぼさないという効果を奏する。
【発明の効果】
【００３１】
本発明の情報処理装置は、実行中のアプリケーション画面を表示する表示パネルと、ユーザによって選択されたアプリケーションの実行処理を行うアプリケーション実行処理部とを備え、上記アプリケーション実行処理部は、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、フォアグランドでアプリケーション実行中に、上記プロセス生成処理をバックグランドで実行させておくことで、アプリケーションの切替時の体感速度を速くし、且つ、フォアグランドで実行中のアプリケーションに影響を及ぼさないという効果を奏する。
【図面の簡単な説明】
【００３２】
【図１】本発明の情報処理装置の一例を示す概略構成ブロック図である。
【図２】図１に示す情報処理装置を備えたスマートフォンのシステム構成図である。
【図３】アプリケーション実行処理の定義を説明するための図である。
【図４】アプリケーション起動切替の動作を説明する概略ブロック図である。
【図５】図１に示す情報処理装置によって実行されるプロセス生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００３３】
本発明の一実施の形態について説明すれば、以下の通りである。なお、本実施の形態では、本発明の情報処理装置を携帯情報端末であるスマートフォンに搭載した例について説明する。
【００３４】
＜スマートフォンのシステム構成＞・・・図２
本実施の形態に係るスマートフォンは、図２に示すように、情報処理装置を構成しているＣＰＵ１とバスを介して接続された、表示部（表示パネル）２、タッチパネル３、メモリ４、記憶媒体７を読み込むための記憶媒体読取部５、操作キー６、表示制御部８を備えている。
【００３５】
上記表示部２は、液晶パネル、有機ＥＬパネル等のフラットディスプレイパネルからなり、本スマートフォンによって処理される情報（映像、アプリケーション等）を表示するようになっている。
【００３６】
ここでは、上記表示部２には、本スマートフォン起動中、各種アプリケーションに対応するアプリケーション起動用のアイコンが表示されているものとする。なお、アイコン数が表示画面の一画面以上の場合には、複数の画面にアイコンを表示し、ユーザは、所望するアイコンを、画面をスクロールして探すことになる。
【００３７】
上記タッチパネル３は、上記表示部２の表示画面を覆うようにして設けられ、文字列の入力や、上述したアイコンの選択、表示画面のスクロール等のユーザによるタッチ操作を受け付けるユーザインターフェースとして機能する。タッチパネルの駆動方式については、静電容量方式、抵抗膜方式など何れの駆動方式であってもよく、駆動方式については特に限定されるものではない。
【００３８】
上記メモリ４は、アプリケーション等のＣＰＵ１で実行するためのプログラムのワークエリアとして機能するＲＡＭと、アプリケーションプログラムやスマートフォンを駆動するのに必要なプログラムを格納したＲＯＭからなっている。
【００３９】
上記記憶媒体読取部５は、外部メモリである記憶媒体７に記憶されたデータを読み取る装置である。つまり、記憶媒体７がＳＤメモリカードであれば、記憶媒体読取部５は、ＳＤカードリードとなる。
【００４０】
上記操作キー６は、ユーザが押下することにより機能する物理キーからなる入力手段である。つまり、本スマートフォンには、タッチパネル３に加えて、操作キー６もユーザインターフェースとして機能している。
【００４１】
上記表示制御部８は、上記表示部２の表示を制御する制御手段である。具体的には、表示部２に表示されている画面をスクロールさせたり、アプリケーションが起動したときの画面を表示部２に表示させたりする。ここで、上記表示制御部８による、表示部２に表示されている画面のスクロール制御や、アプリケーション起動画面を表示部２に表示させる制御は、ユーザによるタッチパネル３に対するタッチ操作によって実行される。この制御についての詳細は後述する。
【００４２】
＜制御部の説明＞・・・・・図１
上記ＣＰＵ１は、図１に示すように、アプリケーション実行制御部１０１、アプリケーション実行処理部１０２を備えた情報処理装置である。
【００４３】
上記アプリケーション実行制御部１０１は、タッチパネル３からのアプリケーション選択信号を受け付けると、受け付けたアプリケーションのプログラム（以下、アプリケーションプログラムと称する）をメモリ４（図２）や記憶媒体７（図２）等の記憶部から読み出して、実行するように、アプリケーション実行処理部１０２に指示する。
【００４４】
なお、上記アプリケーション選択信号は、例えばユーザがタッチパネル３にタッチすることで、タッチ位置に表示されているアプリケーション選択用のアイコンが選択（クリック）されることで生じた信号である。アプリケーションの選択は、タッチパネル３以外にも、上述の操作キー６による選択であってもよい。
【００４５】
上記アプリケーション実行処理部１０２は、アプリケーションをフォアグランドで実行させるフォアグランド実行部１０２ａと、アプリケーションをバックグランドで実行させるバックグランド実行部１０２ｂとで構成されている。
【００４６】
上記バックグランド実行部１０２ｂは、上記フォアグランド実行部１０２ａによってアプリケーションが実行されている状態で、バックグランドでアプリケーションを実行させる。
【００４７】
上記アプリケーション実行処理部１０２は、上記アプリケーション実行制御部１０１からの指示により、所望のアプリケーションプログラムを記憶部から読み出して、アプリケーションを起動させる。このとき、フォアグランドでアプリケーションが実行されていなければ、フォアグランド実行部１０２ａによって、当該アプリケーションを実行させ、フォアグランドでアプリケーションが実行されていれば、バックグランド実行部１０２ｂによって、当該アプリケーションを実行させる。
【００４８】
上記アプリケーション実行処理部１０２による実行結果は、必要に応じて表示制御部８
に送られ、表示部２に表示される。
【００４９】
＜アプリケーション実行処理＞・・・・図３
図３は、一般的なアプリケーションの実行処理の構造を模式的に示した図である。
【００５０】
すなわち、アプリケーションの実行処理は、大きく分けて、図３（ａ）に示すプロセス生成処理、図３（ｂ）に示すアプリケーション起動処理、図３（ｃ）に示す画面更新処理の３つの処理で構成されている。
【００５１】
図３（ａ）に示すプロセス生成処理では、前述のとおり、必要なリソースの割り当てが行われる。
【００５２】
また、図３（ｂ）に示すアプリケーション起動処理では、アプリ画面表示に必要なデータの取得、画面レイアウトの決定、ＧＵＩ（Graphical User Interface）関連の処理などが行われる。
【００５３】
さらに、図３（ｃ）に示す画面更新処理では、画面イメージを表示部２へ転送する処理が行われる。
【００５４】
上記の３つの処理は、上記アプリケーション実行処理部１０２で行なわれる。
【００５５】
上記のプロセスとは、オペレーティングシステムにおけるアプリケーションプログラムの実行単位のことであり、実行命令コードのイメージ、メモリ、プロセッサ状態、セキュリティ属性などのリソースで構成されている。
【００５６】
オペレーティングシステムは、複数のプロセスを並列実行しているが、プロセス同士を分離させておいて必要なリソースを割り当て、プロセス間で互いに干渉しあって障害を発生したりしないようにしている。
【００５７】
例えば、タッチパネル３上に表示されているアプリケーションのアイコンをユーザがタッチする等の操作により所望のアプリケーション起動を選択した場合、まず、プロセス生成処理が実行され、次に、アプリケーション起動処理が実行され、最後に、画面更新処理が行われることで、アプリケーション画面が表示部２に表示されることになる。
【００５８】
本実施の形態では、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示部２に表示するまでの処理をアプリケーション実行処理として説明する。
【００５９】
ここで、プロセスの起動とは、上記プロセスに必要なリソースを割り当てる処理（プロセス生成）を行うことを指しており、アプリケーション起動操作を行うタイミング以前に実行しておくことで、アイコンをタッチしてから画面に表示されるまでの体感速度を早くすることができる。
【００６０】
つまり、上記アプリケーション実行処理部１０２は、フォアグランド実行部１０２ａによって、フォアグランドでアプリケーションが実行されているときに、バックグランド実行部１０２ｂによって上記プロセス生成処理をバックグランドで実行させている。
【００６１】
上記構成によれば、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理から、アプリケーション実行画面を上記表示パネルに表示するまでの処理をアプリケーション実行処理としたとき、上記アプリケーション実行処理部１０２によって、
フォアグランドでアプリケーション実行中に、上記プロセス生成処理がバックグランドで実行されているので、フォアグランドで実行中のアプリケーションを終了し、別のアプリケーションを実行させて、アプリケーション画面を表示パネルに表示させるまでの時間を、上記プロセス生成処理にかかる時間分だけ短縮できる。
【００６２】
これにより、複数のアプリケーションを切り替える場合などにおいて、次のアプリケーションの起動にかかる時間が短くなり、アプリケーション実行画面表示までの体感速度を速くすることができる。つまり、ユーザの、アプリケーション切替時の体感速度を速くすることが可能となる。
【００６３】
しかも、バックグランドでは、アプリケーションの実行に必要なリソースの割り当てを行うプロセス生成処理を行っているだけなので、ＣＰＵへの負荷が大きくないため、フォアグランドで実行中のアプリケーションに悪影響を及ぼすことはほとんど無い。
【００６４】
従って、アプリケーションの切替時の体感速度を速くし、且つ、フォアグランドで実行中のアプリケーションに影響をほとんど及ぼさないという効果を奏する。
【００６５】
上記プロセス生成処理で生成されるプロセスは、関連性のある少なくとも２種類のアプリケーションで共通であることが好ましい。
【００６６】
上記構成によれば、プロセス生成処理で生成されるプロセスは、関連性のある少なくとも２種類のアプリケーションで共通であることで、プロセスが共通の一方のアプリケーションを起動すれば、当該プロセスが共通である他のアプリケーションの起動を、プロセス生成処理を行う分だけ時間短縮できる。
【００６７】
これによっても、ユーザは、アプリケーションの起動の速さを体感することができる。
【００６８】
また、複数のアプリケーションプログラムで、一つのプロセスに割り当てられたリソースを共有することができるため、複数のアプリケーションに影響があるプロセスを選定して予め実行しておくことで、より大きな効果が得られる。
【００６９】
＜具体例＞・・・図４
図４は、複数のアプリケーションプログラムで、一つのプロセスに割り当てられたリソースを共有した場合の動作の概要を説明するための図である。
【００７０】
ここでは、複数のアプリケーションとして、アプリＡ、アプリＢ、アプリＣ、アプリＤの４つのアプリケーションを用い、プロセスとして、プロセスＡ、プロセスＢの２種類のプロセスを用いた例について説明する。
【００７１】
まず、図４に示すように、プロセスＢを用いるアプリＣから終了の指示がシステムに送られる（（１）終了処理）。
【００７２】
次に、システムは、アプリＣからの終了指示を受け付けると、ＨＯＭＥアプリを起動させる（（２）起動処理）と共に、プロセスＡを起動させる（（３）プロセス起動処理）。
【００７３】
ここで、ＨＯＭＥアプリが起動した状態で、バックグランドで、プロセスＡが起動している。このプロセスＡは、アプリＡ、アプリＢ、そして、アプリＤが共有するものである。
【００７４】
続いて、ＨＯＭＥアプリ（アプリケーション選択用の複数のアイコンを表示させるアプ
リケーション）から、ユーザによって、アイコンが選択されると、選択されたアイコンに対応付けられたアプリケーションを起動させる（（４）アプリ起動処理）。ここでは、プロセスＡを用いるアプリＡが起動されるものとする。
【００７５】
この場合、アプリＡは、既にプロセスＡが起動された状態で、アプリケーション実行処理が行われるので、プロセスＡを起動させる分の処理時間を短縮させることができる。
【００７６】
しかも、フォアグランドで起動しているアプリＡのプロセスＡは、アプリＢにおいても用いられるので、アプリＡからアプリＢへの切り替えも迅速に行うことが可能となる。
【００７７】
さらに、フォアグランドで実行中のアプリＡが、同じプロセスＡを用いるアプリＤのデータを使用する場合（データ通信）にも、アプリＤが迅速に立ちあがるため、データの使用も迅速に行える。
【００７８】
例えば、オペレーティングシステムとして、Ａｎｄｒｏｉｄを用いたＡｎｄｒｏｉｄ端末において、ＨＯＭＥ画面がフォアグラウンドに表示されるタイミングで、電話帳アプリ（アプリＡとする）および、発着信履歴アプリ（アプリＢとする）のプログラムが動作するためのプロセス（プロセスＡとする）に必要なリソースを割り当てておく。つまり、プロセス生成処理を行って行っておく。
【００７９】
この状態で、電話帳アプリまたは、発着信履歴アプリのアイコンをタッチした際には、プロセス生成処理を行う必要がないため、アプリケーション画面が表示されるまでの時間が早くなる。つまり、プロセス生成処理に係る時間が短縮される。
【００８０】
また、例えば、メールアプリ（アプリＡとする）を起動する際には、受信相手のメールアドレスの名前を表示するために、電話帳アプリ（アプリＤとする）を実行して名前データを取得する必要があるが、電話帳アプリのプロセスに必要なリソースが既に割り当てられた状態であれば、名前データの取得にかかる時間を短縮することができるため、結果的に、メールアプリの起動も早くすることができる。
【００８１】
＜プロセス起動処理＞・・・図５
図５は、プロセス起動処理の流れを示すフローチャートである。なお、プロセス起動処理は、アプリケーション実行処理部１０２によって行われる。
【００８２】
まず、任意のアプリ終了されると（ステップＳ１１）、ＨＯＭＥ画面がフォアグランドで表示されているか否かが判定される（ステップＳ１２）。つまり、任意のアプリが終了されたときに、ＨＯＭＥアプリがフォアグランドで起動されているまで、次の処理が待機される。
【００８３】
次に、ステップＳ１２において、ＨＯＭＥ画面がフォアグランドで表示されていると判定されれば、バックグランド起動が必要なプロセスが起動中か否かを判定する（ステップＳ１３）。ここでは、例えば、図４に示すようなプロセスＡ、プロセスＢが起動中か否かを判定する。
【００８４】
そして、ステップＳ１３において、バックグランド起動が必要なプロセスが起動中であると判定されれば、プロセス生成処理を終了し、バックグランド起動が必要なプロセスが起動中でないと判定されれば、ステップＳ１４に移行して、プロセス起動可能か否かを判定する。ここでは、新たにプロセスを起動した場合に、割り当てるためのリソースがあるか否かを判定している。
【００８５】
ステップＳ１４において、プロセス起動可能でないと判定されれば、ステップＳ１１に移行して、再度リソース生成処理を続け、プロセス起動可能であると判定されれば、
ステップＳ１５に移行して、ＣＰＵによる処理の優先順位を低くして対象のプロセスを起動させ、プロセス生成処理を終了する。
【００８６】
つまり、ステップＳ１５では、既にフォアグランドでＨＯＭＥアプリが起動された状態で、プロセスを起動するために、ＨＯＭＥアプリに影響を与えないように、ＣＰＵ処理の優先順位を低くして、プロセスを起動するようになっている。
【００８７】
具体的には、上記アプリケーション実行処理部１０２は、アプリケーション実行に必要な制御処理の順位付けを行い、各アプリケーションを実行制御するとき、上記プロセス生成処理に必要な制御処理の順位を、フォアグランドで実行中のアプリケーションの処理に必要な制御処理の順位よりも下げるようにしている。
【００８８】
これにより、プロセスをバックグラウンドで起動させる際には、フォアグラウンドで動作しているアプリケーションのパフォーマンスに影響を与えないようにできる。
【００８９】
ところで、本実施の形態では、表示部２にＨＯＭＥ画面が表示されている状態、すなわちＨＯＭＥアプリケーションがファアグランドで実行されているときに、プロセス生成処理を実行するように説明したが、これに限定されるものではなく、上記表示部２上に、フォアグランドで実行されるアプリケーションの実行画面が表示されるタイミングで、上記プロセス生成処理を実行するようにしてもよい。
【００９０】
＜本発明の適用範囲について＞
本実施の形態では、本発明の情報処理装置をスマートフォンに搭載した例について説明した。これは、スマートフォンのような携帯型装置のように、メモリなどの資源が十分にないため、あらかじめ多くのアプリケーションを起動しておくことができない装置において、アプリケーションの切替を迅速に行う技術は有効であるからである。
【００９１】
しかしながら、本発明は、アプリケーションの切替時の体感速度を向上させることが目的であるので、スマートフォンのような携帯型装置に限定されず、ノートパソコンやディスクトップパソコン等のように、十分に資源が割り当てられた装置にておいても適用可能である。
【００９２】
このような十分に資源が割り当てられていて、複数のアプリケーションを同時に起動させておけるような装置であっても、すべてのアプリケーションを同時に起動させることは無理なので、やはり、バックグランドで先にプロセス生成処理を実行しておき、必要なときに迅速にアプリケーションを切り替えて実行させるには、有効な技術である。
【００９３】
＜プログラムおよび記録媒体＞
上記スマートフォンが備える情報処理装置におけるアプリケーション実行処理部１０２は、ハードウェアロジックによって構成すればよい。又は、次のように、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００９４】
すなわち、情報処理装置におけるアプリケーション実行処理部１０２は、各機能を実現するプログラムの命令を実行するＭＰＵなどのＣＰＵ、このプログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを実行可能な形式に展開するＲＡＭ（Random Access Memory）、および、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）を備えている。
【００９５】
そして、本発明の目的は、情報処理装置におけるアプリケーション実行処理部１０２を実現するためのアプリケーション実行処理プログラムは、プログラムメモリに固定的に担持されている場合に限らず、上記プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、又は、ソースプログラム）を記録した記録媒体を、上記情報処理装置におけるアプリケーション実行処理部１０２に供給し、上記記録媒体に記録されている上記プログラムコードを読み出して実行することによっても、達成可能である。
【００９６】
上記記録媒体は、特定の構造又は種類のものに限定されない。すなわちこの記録媒体は、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などとすることができる。
【００９７】
また、情報処理装置におけるアプリケーション実行処理部１０２を通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して供給する。この通信ネットワークは、情報処理装置におけるアプリケーション実行処理部１０２にプログラムコードを供給できるものであればよく、特定の種類又は形態に限定されない。たとえばインターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等であればよい。
【００９８】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成又は種類のものに限定されない。たとえばＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【００９９】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１００】
本発明は、複数のアプリケーション実行可能な情報処理装置、特に、アプリケーション実行画面の表示領域に制限があり、一度に表示できるアプリケーション実行画面が限られるスマートフォン等の携帯型の情報処理装置に利用することができる。
【符号の説明】
【０１０１】
１  ＣＰＵ
２  表示部
３  タッチパネル
４  メモリ
５  記憶媒体読取部
６  操作キー
７  記憶媒体
８  表示制御部
１０１  アプリケーション実行制御部
１０２  アプリケーション実行処理部
１０２ａ  フォアグランド実行部
１０２ｂ  バックグランド実行部
【図１】
0005840525.tif 000002
【図２】
0005840525.tif 000003
【図３】
0005840525.tif 000004
【図４】
0005840525.tif 000005
【図５】
0005840525.tif 000006