(57)【特許請求の範囲】
【請求項１】
自身の属性、自身以外の複数の他のアプリケーションプログラムの属性および前記複数の他のアプリケーションプログラムの優先順位を示す情報を含むアプリケーションプログラムを複数記憶する記憶手段と、
前記複数のアプリケーションプログラムを実行する実行手段と、
前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウに対応するアプリケーションプログラムに含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記情報に含まれる優先度に応じた順位で、前記最表面のウィンドウの下に重なるように表示させる表示制御手段と
を有する情報処理装置。
【請求項２】
前記最表面のウインドウに対応するアプリケーションプログラムに属性が含まれる前記他のアプリケーションプログラムのうち実行中でないアプリケーションプログラムがあった場合、前記実行手段は、前記実行中でないアプリケーションプログラムを実行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段が、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウ以外のウィンドウを、前記複数のアプリケーションプログラムに含まれる優先順位を用いる重み付け演算により定められる順序で重複して表示させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
他の装置からデータを受信する処理を実行させるための命令群を含む通信プログラムを含む複数のアプリケーションプログラムであって、各々が自身の属性を含むアプリケーションプログラムを複数記憶する記憶手段と、
前記複数のアプリケーションプログラムを実行する実行手段と、
前記命令群によって前記実行手段が実行する前記処理により、自身以外の複数の他のアプリケーションプログラムの属性および前記複数の他のアプリケーションプログラムの優先順位を示す情報を取得する取得手段と、
前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、前記取得手段が最表面のウィンドウに対応するアプリケーションプログラムの動作に従って取得した情報に含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記情報に含まれる優先度に応じた順位で、前記最表面のウィンドウの下に重なるように表示させる表示制御手段と
を有する情報処理装置。
【請求項５】
前記取得手段が取得した情報に属性が含まれる前記他のアプリケーションプログラムのうち実行中でないアプリケーションプログラムがあった場合、前記実行手段は、前記実行中でないアプリケーションプログラムを実行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記表示制御手段が、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウ以外のウィンドウを、前記少なくとも１つのアプリケーションプログラムが取得した情報に含まれる優先順位を用いる重み付け演算により定められる順序で重複して表示させる
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
コンピュータ装置を、
自身の属性、自身以外の複数の他のアプリケーションプログラムの属性および前記複数の他のアプリケーションプログラムの優先順位を示す情報を含むアプリケーションプログラムを複数記憶する記憶手段と、
前記複数のアプリケーションプログラムを実行する実行手段と、
前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウに対応するアプリケーションプログラムに含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記情報に含まれる優先度に応じた順位で、前記最表面のウィンドウの下に重なるように表示させる表示制御手段と
して機能させるプログラム。
【請求項８】
コンピュータ装置を、
他の装置からデータを受信する処理を実行させるための命令群を含む通信プログラムを含む複数のアプリケーションプログラムであって、各々が自身の属性を含むアプリケーションプログラムを複数記憶する記憶手段と、
前記複数のアプリケーションプログラムを実行する実行手段と、
前記命令群によって前記実行手段が実行する前記処理により、自身以外の複数の他のアプリケーションプログラムの属性および前記複数の他のアプリケーションプログラムの優先順位を示す情報を取得する取得手段と、
前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、前記取得手段が最表面のウィンドウに対応するアプリケーションプログラムの動作に従って取得した情報に含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記情報に含まれる優先度に応じた順位で、前記最表面のウィンドウの下に重なるように表示させる表示制御手段と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザインターフェース（Graphical User Interface、ＧＵＩ）に関する。
【背景技術】
【０００２】
複数のアプリケーションプログラムを並行して実行するコンピュータ装置がある。このようなコンピュータ装置の中には、ユーザインターフェースとなるウインドウをアプリケーション毎に表示する、すなわち複数のウィンドウを表示するものがある。ウィンドウを表示する表示領域の大きさは有限であるため、複数のウィンドウが重ねて表示されることがある。このような場合、複数のウィンドウを重ねる順序、すなわち、ウィンドウの表示順序は、アプリケーションプログラムの操作性に影響を与える。
【０００３】
特許文献１〜３は、ウィンドウの表示順序に関する技術を開示している。特許文献１によれば、ウィンドウのグループが定義される。あるウィンドウが最前面に表示されると、そのウィンドウと同じグループのウィンドウが決められた順序で表示される。特許文献２によれば、ユーザが決めた優先順位に従って、前面配置および後面配置が決定される。特許文献３によれば、あるアプリケーションから別のアプリケーションへの遷移回数によってアプリケーションの関連度が判定される。あるアプリケーションのウィンドウが表示されると、その後面には、そのアプリケーションと関連度が高いアプリケーションのウィンドウが表示される。
【０００４】
【特許文献１】特開２００４−３１０６５５号公報
【特許文献２】特開平９−２８２１３２号公報
【特許文献３】特開平１０−２６０８１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術は、ウィンドウがグループ化されるため、個々のアプリケーションについて適切な表示順序を提供することができないという問題があった。特許文献２に記載の技術は、ユーザが優先順位を決定する必要があるため、操作が煩雑になるという問題があった。特許文献３に記載の技術は、関連度の精度を向上させるためにはアプリケーションを繰り返し使用しなければならず、使用回数が少ないときには判定される関連度の精度が低いという問題があった。また、特許文献１〜３のいずれも、アプリケーションが処理する情報に基づいてウィンドウの表示順序を決めることができなかった。
【０００６】
これに対し本発明は、たとえ１回しか使用しないアプリケーションであっても、個々のアプリケーションまたはそのアプリケーションが処理する情報に基づいて、ウィンドウの表示順序を自動的に決定する技術を提供する。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明は、自身の属性および自身以外の他のアプリケーションプログラムの属性を含むアプリケーションプログラムを複数記憶する記憶手段と、前記複数のアプリケーションプログラムを実行する実行手段と、前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウに対応するアプリケーションプログラムに含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記最表面のウィンドウの次に表示させる表示制御手段とを有する情報処理装置を提供する。
【０００８】
好ましい態様において、この情報処理装置は、前記複数のアプリケーションプログラムの各々が、自身の属性、自身以外の複数の他のアプリケーションプログラムの属性、前記複数の他のアプリケーションプログラムの優先順位を含み、前記表示制御手段が、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウ以外のウィンドウを、前記最表面のウィンドウに対応するアプリケーションプログラムに含まれる優先順位に従って定められる順序で重複して表示させてもよい。
【０００９】
別の好ましい態様において、この情報処理装置は、前記複数のアプリケーションプログラムの各々が、自身の属性、自身以外の複数の他のアプリケーションプログラムの属性、前記複数の他のアプリケーションプログラムの優先順位を含み、前記表示制御手段が、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウ以外のウィンドウを、前記複数のアプリケーションプログラムに含まれる優先順位を用いる重み付け演算により定められる順序で重複して表示させてもよい。
【００１０】
また、本発明は、自身の属性を含むアプリケーションプログラムを複数記憶する記憶手段と、前記複数のアプリケーションプログラムを実行する実行手段と、前記実行手段により実行されるアプリケーションプログラムの動作に従って、自身以外の他のアプリケーションプログラムの属性を含む情報を取得する取得手段と、前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、前記取得手段が最表面のウィンドウに対応するアプリケーションプログラムの動作に従って取得した情報に含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記最表面のウィンドウの次に表示させる表示制御手段とを有する情報処理装置を提供する。
【００１１】
好ましい態様において、この情報処理装置は、前記取得手段が、複数の他のアプリケーションプログラムの属性、前記複数の他のアプリケーションプログラムの優先順位を含む情報を取得し、前記表示制御手段が、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウ以外のウィンドウを、前記最表面のウィンドウに対応するアプリケーションプログラムが取得した情報に含まれる優先順位に従って定められる順序で重複して表示させてもよい。
【００１２】
別の好ましい態様において、この情報処理装置は、前記取得手段が、複数の他のアプリケーションプログラムの属性、前記複数の他のアプリケーションプログラムの優先順位を含む情報を取得し、前記表示制御手段が、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウ以外のウィンドウを、前記少なくとも１つのアプリケーションプログラムが取得した情報に含まれる優先順位を用いる重み付け演算により定められる順序で重複して表示させてもよい。
【００１３】
さらに、本発明は、コンピュータ装置を、自身の属性および自身以外の他のアプリケーションプログラムの属性を含むアプリケーションプログラムを複数記憶する記憶手段と、前記複数のアプリケーションプログラムを実行する実行手段と、前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、最表面のウィンドウに対応するアプリケーションプログラムに含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記最表面のウィンドウの次に表示させる表示制御手段として機能させるプログラムを提供する。
【００１４】
さらに、本発明は、コンピュータ装置を、自身の属性を含むアプリケーションプログラムを複数記憶する記憶手段と、前記複数のアプリケーションプログラムを実行する実行手段と、前記実行手段により実行されるアプリケーションプログラムの動作に従って、自身以外の他のアプリケーションプログラムの属性を含む情報を取得する取得手段と、前記実行手段により実行される複数のアプリケーションプログラムに対応する複数のウィンドウを表示手段に表示させる表示制御手段であって、前記複数のウィンドウを重複して表示させる場合、前記取得手段が最表面のウィンドウに対応するアプリケーションプログラムの動作に従って取得した情報に含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、前記最表面のウィンドウの次に表示させる表示制御手段として機能させるプログラムを提供する。
【発明の効果】
【００１５】
本発明によれば、たとえ１回しか使用しないアプリケーションであっても、個々のアプリケーションまたはそのアプリケーションが処理する情報について適切な表示順序が自動的に決定される。
【発明を実施するための最良の形態】
【００１６】
１．第１実施形態
１−１．構成
図１は、本発明の第１実施形態に係る携帯電話機１の外観図である。携帯電話機１は、本発明に係る情報処理装置の一例である。携帯電話機１は、筐体２Ａおよび筐体２Ｂを有する。筐体２Ａと筐体２Ｂとは、ヒンジ３を介して連結されている。携帯電話機１は、いわゆる折り畳み型の携帯電話機である。携帯電話機１のユーザは、図１に示されるように筐体２Ａおよび筐体２Ｂを開いた状態で音声通信やデータ通信を行う。
【００１７】
筐体２Ａは、スピーカ６、アンテナ７および表示装置８を有する。スピーカ６は、通話の音声、操作音、楽曲音などを出力する。アンテナ７は、無線基地局との間で無線通信を行う。表示装置８は、文字や画像を表示する。筐体２Ｂは、キーパッド４およびマイクロホン５を有する。キーパッド４は、ユーザの操作に応じた信号を出力する。マイクロホン５は、入力された音声を電気信号に変換して出力する。
【００１８】
図２は、携帯電話機１の機能構成を示す図である。携帯電話機１は、複数のウィンドウの表示順序を決定する機能を有する。記憶部１０は、複数のアプリケーションプログラム（アプリケーションＡＰ１、アプリケーションＡＰ２、…）を記憶する。アプリケーションプログラムは、それぞれ、そのアプリケーションプログラム自身の属性および自身以外の他のアプリケーションプログラムの属性を含む。実行部１１は、複数のアプリケーションプログラムを実行する。表示制御部１２は、実行部１１により実行される複数のアプリケーションプログラムに対応する複数のウィンドウ（ウィンドウＷ１、Ｗ２およびＷ３）を、表示部２０に表示させる。複数のウィンドウを重複して表示させる場合、表示制御部１２は、最表面のウィンドウに対応するアプリケーションプログラムに含まれる属性により特定されるアプリケーションプログラムに対応するウィンドウを、最表面のウィンドウの次に表示させる。
【００１９】
図３は、携帯電話機１のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）１０２は、携帯電話機１の各構成要素を制御する制御装置である。ＲＯＭ（Read Only Memory）１０３は、携帯電話機１の基本的な動作に必要なプログラムおよびデータを記憶する記憶装置である。ＲＯＭ１０３は、例えば、ＩＰＬ（Initial Program Loader）、ＯＳ（Operating System）プラグラムおよびＪａｖａ（登録商標）プラットフォームプラグラムを記憶している。ＩＰＬは、携帯電話機１の電源が投入されたときに最初に実行するプログラムを読み出すプログラムである。本実施形態において、ＩＰＬは、ＯＳプログラムを読み出す。ＯＳプログラムは、データの入出力、記憶装置へのアクセス、各種プログラムの実行、音声通信、データ通信、その他の携帯電話機１の基本的な機能を実現させるプログラムである。ＣＰＵ１０２がＯＳプログラムを実行することにより、携帯電話機１は、図２に示される機能構成を有する。Ｊａｖａプラットフォームプログラムは、ＯＳ上にＪａｖａ実行環境を実現させるプログラムである。Ｊａｖａ実行環境については後述する。
【００２０】
ＲＡＭ（Random Access Memory）１０４は、ＣＰＵ１０２がプログラムを実行する際にワークエリアとして機能する記憶装置である。記憶部１０５は、アプリケーションプログラムおよびデータを記憶する記憶装置である。記憶部１０５は、不揮発性メモリを有する。本実施形態において、記憶部１０５は、複数のアプリケーションプログラムＡＰ１、ＡＰ２、…を記憶する。
【００２１】
操作部１０６は、ユーザの操作に応じた信号を出力する。操作部１０６は、テンキー、発呼キー、終話キー、クリアキー、カーソルキー、電源キー、その他の入力を行うためのキーを含むキーパッド（図１のキーパッド４）を有する。ユーザは、キーパッドを操作することにより携帯電話機１に対して指示を入力する。表示部１０７は、文字や画像を表示する。表示部１０７は、液晶ディスプレイなどの表示装置（図１の表示装置８）を有する。表示部１０７は、実行中のアプリケーションプログラムに対応するウィンドウを表示する。通信部１０８は、アンテナ（図１のアンテナ７）を介して無線基地局を介して音声通信またはデータ通信を行う。
【００２２】
図４は、Ｊａｖａ実行環境を示す図である。ＣＰＵ１０２がＪａｖａプラットフォームプログラムを実行することにより、図４に示されるＪａｖａ実行環境１１４がＯＳ１１１上に実現される。Ｊａｖａ実行環境１１４は、クラスライブラリ１１７、ＪＶＭ（Java Virtual Machine）１１８およびＪＡＭ（Java Application Manager）１１９を有する。クラスライブラリ１１７は、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭ１１８は、Ｊａｖａアプリケーションプログラムとして提供されるバイトコードを解釈して実行する機能を有する。ＪＡＭ１１９は、Ｊａｖａアプリケーションプログラムのダウンロード、インストール、起動、終了、その他の動作を管理する機能を有する。
【００２３】
第１ストレージ１１５は、ＪＡＭ１１９の管理の下にダウンロードされるＪａｖａアプリケーションプログラム（ＪａｒファイルおよびＡＤＦ（Application Descriptive File））を格納する領域である。第２ストレージ１１６は、Ｊａｖａアプリケーションプログラムの実行の際に生成されたデータをその終了後に格納しておくための領域である。第２ストレージ１１６において、インストールされたＪａｖａアプリケーションプログラム毎に個別の格納領域が割り当てられる。あるＪａｖａアプリケーションプログラムに割り当てられた格納領域のデータは、そのＪａｖａアプリケーションプログラムが実行されている間のみ書き換え可能となっており、別のＪａｖａアプリケーションプログラムは書き換えをすることができない。
【００２４】
ＯＳ１１１は、同時に複数の処理を並行して行うマルチタスク機能を有している。ＯＳ１１１上には、複数のアプリケーション、例えばアプリケーション１１２およびアプリケーション１１３が実現される。表示部１０７は、各アプリケーションに対応するウィンドウを表示する。
【００２５】
１−２．動作
図５は、携帯電話機１の動作を示すフローチャートである。図５に示されるフローは、最表面に表示されるウィンドウに対応するアプリケーションが変更されたことを契機として開始される。以下、「最表面に表示されるウィンドウに対応するアプリケーション」を単に「最表面のアプリケーション」という。具体的には、このフローは、それまで実行されていなかったアプリケーションが起動されたこと、あるいは、それまで最表面以外の位置に表示されていたウィンドウを最表面に表示する指示が入力されたことを契機として開始される。以下、属性として種別「決済」を有する決済アプリケーションおよび属性として種別「バンキング」を有するバンキングアプリケーションが実行されているときに、属性として種別「ショッピング」を有するショッピングアプリケーションが起動された場合を例に説明する。
【００２６】
ステップＳ１００において、ＣＰＵ１０２は、最表面のウィンドウを特定する。この例では、ＣＰＵ１０２は、ショッピングアプリケーションに対応するウィンドウを最表面のウィンドウとして特定する。
【００２７】
ステップＳ１１０において、ＣＰＵ１０２は、最表面に対応するウィンドウに対応するアプリケーションに含まれる、他のアプリケーションの属性を読み出す。この例では、他のアプリケーションの属性は、対応テーブルに含まれた状態で読み出される。対応テーブルは、ウィンドウの表示順序を決定するための情報を含む。対応テーブルは、少なくとも１つのデータセットを含む。各データセットは、他のアプリケーションの優先順位と、その属性として種別を示す情報を含む。
【００２８】
図６は、対応テーブルを例示する図である。この対応テーブルは、種別「決済」を有するアプリケーションの優先順位が「１」であり、種別「バンキング」を有するアプリケーションの優先順位が「２」であることを示す。対応テーブルは、ＡＤＦに含まれている。あるいは、対応テーブルは、ＡＤＦ以外の付属データに含まれていてもよい。さらにあるいは、対応テーブルは、アプリケーションプログラムに内部データとして含まれていてもよい。
【００２９】
再び図５を参照して説明する。ステップＳ１２０において、ＣＰＵ１０２は、対応テーブルに含まれる種別を有するアプリケーションが現在実行中であるか判断する。対応テーブルに含まれる種別を有するアプリケーションが実行中であると判断された場合（Ｓ１２０：ＹＥＳ）、ＣＰＵ１０２は、処理をステップＳ１４０に移行する。対応テーブルに含まれる種別を有するアプリケーションのうち実行中でないものがあると判断された場合（Ｓ１２０：ＮＯ）、ＣＰＵ１０２は、処理をステップＳ１３０に移行する。この例では、ＣＰＵ１０２は、種別「決済」を有するアプリケーションおよび種別「バンキング」を有するアプリケーションが実行中であるか判断する。いま両者ともに実行中であるので、ＣＰＵ１０２は、処理をステップＳ１４０に移行する。
【００３０】
ステップＳ１３０において、ＣＰＵ１０２は、実行されていないアプリケーションを起動する。例えば、種別「バンキング」を有するアプリケーションが実行されていない場合、ＣＰＵ１０２は、記憶部１０５から種別「バンキング」を有するアプリケーションを検索する。所望のアプリケーションを発見すると、ＣＰＵ１０２は、発見したアプリケーションを起動する。所望のアプリケーションが発見されなかった場合、ＣＰＵ１０２は、新たなアプリケーションの起動は行わない。いずれの場合も、ＣＰＵ１０２は、処理をステップＳ１４０に移行する。
【００３１】
ステップＳ１４０において、ＣＰＵ１０２は、ウィンドウの表示順序を決定する。ＣＰＵ１０２は、最表面に表示するウィンドウ以外のウィンドウの表示順序を、対応テーブルに含まれる情報に基づいて決定する。この例では、実行中のアプリケーションは、ショッピングアプリケーション、決済アプリケーションおよびバンキングアプリケーションである。このうち、最表面に表示するウィンドウは、ショッピングアプリケーションに対応するウィンドウである。ＣＰＵ１０２は、決済アプリケーションおよびバンキングアプリケーションに対応するウィンドウの表示順序を、対応テーブルに含まれる優先度が高い順に決定する。すなわち、決済アプリケーションのウィンドウを上に、バンキングアプリケーションのウィンドウをその下に表示することを決定する。以上まとめると、ＣＰＵ１０２は、実行中のアプリケーションについて、最表面から、ショッピングアプリケーション、決済アプリケーション、バンキングアプリケーションの順でウィンドウを表示することを決定する。
【００３２】
ステップＳ１５０において、ＣＰＵ１０２は、決定された順序でウィンドウを表示部１０７に表示させる。ＣＰＵ１０２は、最表面から、ショッピングアプリケーション、決済アプリケーション、バンキングアプリケーションの順でウィンドウを表示するように、表示部１０７を制御する。
【００３３】
図７は、表示部１０７の画面Ｓに表示されるウィンドウを例示する図である。本実施形態によれば、ウィンドウの表示順序は自動的に決定される。このとき、表示順序は、アプリケーションプログラムに含まれる情報に基づいて決定される。したがって、最表面のアプリケーションにより指定される順序で、他のアプリケーションのウィンドウが表示される。
【００３４】
１−３．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。なお、以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００３５】
１−３−１．変形例１
ウィンドウの表示順序は、最表面のアプリケーション以外のアプリケーションに含まれる対応テーブルに基づいて決定されてもよい。例えば、最表面のアプリケーションプログラムに含まれる対応テーブルに加え、これにより特定されるアプリケーションプログラムに含まれる対応テーブルが考慮されてもよい。以下、「最表面のアプリケーションプログラムに含まれる対応テーブル」を単に「最表面の対応テーブル」という。上述の例では、ショッピングアプリケーション、決済アプリケーションおよびバンキングアプリケーションのプログラムにそれぞれ含まれる計３つの対応テーブルに基づいて、ウィンドウの表示順序が決定されてもよい。この場合、ＣＰＵ１０２は、対応テーブルに含まれる優先度をポイント化し、すべての対応テーブルについてポイントを合算する。ＣＰＵ１０２は、ポイントに従ってウィンドウの表示順序を決定する。
【００３６】
この場合、ステップＳ１２０およびＳ１３０の処理は、最表面の対応テーブルのみを対象として行われる。あるいは、ステップＳ１２０およびＳ１３０の処理は、最表面以外の対応テーブルを処理の対象としてもよい。
【００３７】
なお、ポイントは対応テーブルのうち一部についてのみ合算されてもよい。例えば、最表面の対応テーブルに加え、これにより特定されるアプリケーションプログラムのうち優先度があらかじめ決められた条件を満たす対応テーブルが考慮されてもよい。あらかじめ決められた条件としては、「優先度が最大のもの」、「優先度が上位３位までのもの」、「属性『バンキング』を有するアプリケーションよりも優先度が高いもの」、その他の優先度に関する条件が用いられる。上述の例で「優先度が最大のもの」という条件が用いられた場合、ショッピングアプリケーションおよび決済アプリケーションのプログラムに含まれる計２つの対応テーブルに基づいて、ウィンドウの表示順序が決定される。
【００３８】
１−３−２．変形例２
変形例１において、複数の対応テーブルについて優先度のポイントを合算する際には、重み付け演算が用いられてもよい。この場合、ＣＰＵ１０２は、最表面の対応テーブルに含まれる優先度に基づいて、すなわち、最表面の対応テーブルに含まれる優先度が高いものほど重み付け係数が大きくなるように、重み付け係数を決定する。上述の例では、ＣＰＵ１０２は、高い方から、ショッピングアプリケーションの対応テーブル、決済アプリケーションの対応テーブル、バンキングアプリケーションの対応テーブルの順で重み付け係数を決定する。
【００３９】
１−３−３．変形例３
ステップＳ１２０およびＳ１３０の処理は省略されてもよい。すなわち、対応テーブルに含まれる属性により特定されるアプリケーションのうち実行されていないものがあっても、ＣＰＵ１０２は、このアプリケーションを起動しなくてもよい。この場合、ＣＰＵ１０２は、対応テーブルに含まれる属性により特定されるアプリケーションのうち既に実行されているもののみについて、表示順序を決定する。
【００４０】
あるいは、対応テーブルに含まれる属性により特定されるアプリケーションのうち実行されていないものがあった場合、ＣＰＵ１０２は、優先度があらかじめ決められた条件を満たすアプリケーションプログラムのみを起動してもよい。あらかじめ決められた条件としては、変形例１で説明されたものが用いられる。例えば、上述の例で「優先度が最大のもの」という条件が用いら、かつ、決済アプリケーションが実行されていなかった場合、ＣＰＵ１０２は、決済アプリケーションを起動する。
【００４１】
１−３−４．他の変形例
本発明が適用される情報処理装置は、携帯電話機に限定されない。情報処理装置は、パーソナルコンピュータ、ＰＤＡ（Personal Data Assistants）、電子手帳、無線通信端末、有線通信端末、その他いかなる形態の装置でもよい。また、情報処理装置のハードウェア構成は、図２に示されるものに限定されない。図２に示される要素のうち１以上のものが省略されてもよい。例えば、情報処理装置は表示部を有していなくてもよい。この場合、情報処理装置は、情報処理装置とは別の表示装置に接続される。情報処理装置は、表示装置に対し、表示を制御するデータまたは信号を出力する。要は、情報処理装置は、図３に示される機能構成を有するものであればどのような形態の装置でもよいし、どのようなハードウェア構成を有していてもよい。また、アプリケーションプログラムが記述される言語はＪａｖａに限定されない。アプリケーションプログラムは、Ｊａｖａ以外のいかなるプログラム言語を用いて記述されてもよい。
【００４２】
表示順序の決定に用いられる属性は、アプリケーションの種別に限定されない。表示順序の決定に用いられる属性は、アプリケーションプログラムの提供者または製作者、アプリケーションプログラムの提供の時期、アプリケーションプログラムが実行された回数、アプリケーションプログラムの識別子など、いかなる属性が用いられてもよい。属性は、アプリケーションプログラムを一意に特定するものでもよいし、アプリケーションプログラムが属するカテゴリやグループを特定するものでもよい。
【００４３】
属性により特定されるアプリケーションプログラムが複数ある場合、ＣＰＵ１０２は、これらのアプリケーションプログラムの表示順序を、実施形態で説明したアルゴリズム以外のアルゴリズムで決定してもよい。あるいは、ＣＰＵ１０２は、複数の属性の組み合わせに基づいて、ウィンドウの表示順序を決定してもよい。この場合、対応テーブルのデータセットは、ある属性と、それとは別の属性と、対応する優先度とを含む。例えば、属性として提供者「Ａ社」および種別「決済」を有するアプリケーションプログラムと、属性として提供者「Ｂ社」および種別「決済」を有するアプリケーションプログラムとが実行されている例を考える。さらにこの例で、対応テーブルが、種別「決済」および提供者「Ａ社」を有するアプリケーションプログラムの優先度が「１」で、種別「決済」および提供者「Ｂ社」を有するアプリケーションプログラムの優先度が「２」であるという情報を含んでいる。この場合、ＣＰＵ１０２は、属性「種別」および「提供者」の組み合わせに基づいて、表示順序を、最表面から順に、ショッピングアプリケーション、Ａ社の決済アプリケーション、Ｂ社のアプリケーションと決定する。
【００４４】
対応テーブルに優先度が記載されていないアプリケーションの表示順序は、どのように決定されてもよい。実施形態の例において、ショッピングアプリケーションを起動したときに、決済アプリケーション、バンキングアプリケーション、ゲームアプリケーションおよび音楽再生アプリケーションが実行されている例について説明する。ショッピングアプリケーション、決済アプリケーションおよびバンキングアプリケーションについては、実施形態で説明したとおりに表示順序が決定される。ＣＰＵ１０２は、ゲームアプリケーションおよび音楽再生アプリケーションについて、どのようなアルゴリズムで表示順序を決定してもよい。例えばＣＰＵ１０２は、ショッピングアプリケーションの起動が指示された時点におけるゲームアプリケーションおよび音楽再生アプリケーションの相対的表示順序を維持することを決定する。すなわち、ＣＰＵ１０２は、表示順序を、最表面から順に、ショッピングアプリケーション、決済アプリケーション、バンキングアプリケーション、ゲームアプリケーション、音楽再生アプリケーションと決定する。
【００４５】
表示順序を決定するための情報は、対応テーブルに限定されない。例えば、アプリケーションプログラムは、そのアプリケーションの次に表示すべきアプリケーションの属性を示す情報のみを有していてもよい。具体的には、アプリケーションプログラムは、次に表示すべきアプリケーションの属性として「決済」という情報のみを有していてもよい。
【００４６】
上述の実施形態において、ウィンドウの表示順序を決定する機能はＯＳが有していたが、ＯＳ以外のプログラムがウィンドウの表示順序を決定する機能を有していてもよい。この場合、このプログラムは、ネットワークを介してダウンロードされてもよい。あるいは、このプログラムは、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）等の記憶媒体により提供されてもよい。
【００４７】
２．第２実施形態
続いて、本発明の第２実施形態について説明する。以下、第１実施形態と共通する事項についてはその説明を省略する。また、第１実施形態と共通する要素については共通の参照番号を用いて説明する。
【００４８】
２−１．構成
図８は、第２実施形態に係る携帯電話機２の機能構成を示す図である。記憶部１０は、複数のアプリケーション（アプリケーションＡＰ１、ＡＰ２、…）を記憶する。複数のアプリケーションは、各々、自身の属性を含む。実行部１１は、複数のアプリケーションプログラムを実行する。データ取得部１３は、アプリケーションプログラムの動作に従って、自身以外の他のアプリケーションプログラムの属性を含む情報を取得する。表示制御部１２は、複数のアプリケーションプログラムに対応する複数のウィンドウ（ウィンドウＷ１、Ｗ２およびＷ３）を表示部２０に表示させる。表示制御部１２は、複数のウィンドウを重複して表示させる場合、データ取得部１３が最表面のウィンドウに対応するアプリケーションプログラムの動作に従って取得した情報に含まれる属性を自身の属性として含むアプリケーションプログラムに対応するウィンドウを、最表面のウィンドウの次に表示させる。なお携帯電話機２のハードウェア構成は、図３に示されるものと同じである。
【００４９】
２−２．動作
図９は、携帯電話機２の動作を示すフローチャートである。図９において、図５のフローと共通する処理には共通の参照符号が用いられている。これらの処理についての説明は省略する。図９に示されるフローは、最表面のアプリケーションが変更されたこと、または、最表面のアプリケーションが処理するデータが更新されたことを契機として開始される。以下、属性として種別「決済」および提供者「Ａ社」を有する決済アプリケーションプログラムおよび属性として種別「決済」および提供者「Ｂ社」を有する決済アプリケーションプログラムが実行されているときに、属性として種別「ショッピング」を有するショッピングアプリケーションプログラムが起動された場合を例に説明する。
【００５０】
ステップＳ２００において、ＣＰＵ１０２は、ショッピングアプリケーションプログラムの動作に従って、処理対象となるデータを取得する。以下、アプリケーションにより処理されるデータを「処理データ」という。処理データは、例えば、ネットワークおよび通信部１０８を介して取得されるＨＴＭＬ（HyperText Markup Language）データである。
【００５１】
ステップＳ２１０において、ＣＰＵ１０２は、再表面のアプリケーションの処理データに対応テーブルが含まれるか判断する。第１実施形態と同様に、対応テーブルは、ウィンドウの表示順序を決定するための情報を含む。処理データが対応テーブルを含むと判断された場合（Ｓ２１０：ＹＥＳ）、ＣＰＵ１０２は、処理をステップＳ２２０に移行する。処理データが対応テーブルを含まないと判断された場合（Ｓ２１０：ＮＯ）、ＣＰＵ１０２は、処理をステップＳ２００に移行する。
【００５２】
ステップＳ２２０において、ＣＰＵ１０２は、再表面のアプリケーションの処理データから対応テーブルを読み出す。対応テーブルを読み出した後の処理は、第１実施形態で説明したとおりである。
【００５３】
図１０は、対応テーブルを例示する図である。図１０（Ａ）の対応テーブルは、属性として提供者「Ａ社」を有するアプリケーションの優先度が「１」であり、属性として提供者「Ｂ社」を有するアプリケーションの優先度が「２」であることを示す。図１０（Ｂ）の対応テーブルは、属性として提供者「Ｂ社」を有するアプリケーションの優先度が「１」であり、属性として提供者「Ａ社」を有するアプリケーションの優先度が「２」であることを示す。いま、ある処理データに図１０（Ａ）の対応テーブルが含まれ、別の処理データに図１０（Ｂ）の対応テーブルが含まれる場合を例に説明する。
【００５４】
図１１は、表示部１０７の画面Ｓに表示されるウィンドウを例示する図である。ショッピングアプリケーションがある処理データを処理しているとき、ウィンドウの表示順序は、図１０（Ａ）の対応テーブルに従って決められる。すなわち、ＣＰＵ１０２は、表示順序を、最表面から順に、ショッピングアプリケーション、Ａ社の決済アプリケーション、Ｂ社のアプリケーションと決定する（図１１（Ａ））。あるいは、ショッピングアプリケーションが別の処理データを処理しているとき、ウィンドウの表示順序は、図１０（Ｂ）の対応テーブルに従って決められる。すなわち、ＣＰＵ１０２は、表示順序を、最表面から順に、ショッピングアプリケーション、Ｂ社の決済アプリケーション、Ａ社のアプリケーションと決定する（図１１（Ｂ））。
【００５５】
本実施形態によれば、ウィンドウの表示順序は自動的に決定される。このとき、表示順序は、アプリケーションにより取得されたデータに含まれる情報に基づいて決定される。したがって、最表面のアプリケーションが取得したデータにより指定される順序で、他のアプリケーションのウィンドウが表示される。すなわち、同じアプリケーションを使用していても、そのアプリケーションが処理するデータに応じてウィンドウの表示順序が決定される。
【００５６】
２−３．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。なお、以下の変形例および第１実施形態の変形例のうち２つ以上のものが組み合わせて用いられてもよい。また、第１実施形態の変形例が第２実施形態に適用されてもよい。
【００５７】
２−３−１．変形例１
ウィンドウの表示順序は、最表面のアプリケーション以外のアプリケーションが取得した処理データに含まれる対応テーブルに基づいて決定されてもよい。例えば、最表面のアプリケーションプログラムが取得したデータに含まれる対応テーブルに加え、これにより特定されるアプリケーションプログラムが取得したデータに含まれる対応テーブルが考慮されてもよい。以下、「最表面のアプリケーションプログラムが取得したデータに含まれる対応テーブル」を単に「最表面の対応テーブル」という。第２実施形態の例では、ショッピングアプリケーション、Ａ社決済アプリケーションおよびＢ社決済アプリケーションのプログラムにそれぞれ含まれる計３つの対応テーブルに基づいて、ウィンドウの表示順序が決定されてもよい。この場合、ＣＰＵ１０２は、対応テーブルに含まれる優先度をポイント化し、すべての対応テーブルについてポイントを合算する。ＣＰＵ１０２は、ポイントに従ってウィンドウの表示順序を決定する。
【００５８】
この場合、ステップＳ１２０およびＳ１３０の処理は、最表面の対応テーブルのみを対象として行われる。あるいは、ステップＳ１２０およびＳ１３０の処理は、最表面以外の対応テーブルを処理の対象としてもよい。
【００５９】
なお、ポイントは対応テーブルのうち一部についてのみ合算されてもよい。例えば、最表面の対応テーブルに加え、これにより特定されるアプリケーションプログラムのうち優先度があらかじめ決められた条件を満たすアプリケーションが取得したデータに含まれる対応テーブルが考慮されてもよい。あらかじめ決められた条件としては、「優先度が最大のもの」、「優先度が上位３位までのもの」、「属性『Ｂ社』を有するアプリケーションよりも優先度が高いもの」、その他の優先度に関する条件が用いられる。上述の例で「優先度が最大のもの」という条件が用いられた場合、ショッピングアプリケーションおよびＡ社決済アプリケーションが取得したデータに含まれる計２つの対応テーブルに基づいて、ウィンドウの表示順序が決定される。
【００６０】
２−３−２．変形例２
変形例１において、複数の対応テーブルについて優先度のポイントを合算する際には、重み付け演算が用いられてもよい。この場合、ＣＰＵ１０２は、最表面の対応テーブルに含まれる優先度に基づいて、すなわち、最表面の対応テーブルに含まれる優先度が高いものほど重み付け係数が大きくなるように、重み付け係数を決定する。第２実施形態の例では、ＣＰＵ１０２は、高い方から、ショッピングアプリケーションの対応テーブル、Ａ社決済アプリケーションの対応テーブル、Ｂ社決済アプリケーションの対応テーブルの順で重み付け係数を決定する。
【００６１】
２−３−３．変形例３
重み付け演算に用いられる複数の対応テーブルは、同一のアプリケーションにより取得されたものでもよい。例えばあるアプリケーションが、時系列的なデータ処理に伴って、対応テーブルＡ、対応テーブルＢ、対応テーブルＣの３つの対応テーブルを順番に取得した場合を例に説明する。この場合、ＣＰＵ１０２は、これら３つの対応テーブルに含まれる優先度を用いた重み付け演算によりウィンドウの表示順序を決定してもよい。重み付け係数は、対応テーブルを取得した順番に基づいて決定される。例えば、直近の処理データに含まれる対応テーブルの方が、昔の処理データに含まれる対応テーブルよりも大きな重み付け係数を有する。
【００６２】
２−３−４．変形例４
第１実施形態と第２実施形態が組み合わせて用いられてもよい。すなわち、ＣＰＵ１０２は、最表面のアプリケーションプログラムに含まれる対応テーブルにより得られた優先度を、処理データに含まれる対応テーブルに含まれる優先度を用いて補正してもよい。
【図面の簡単な説明】
【００６３】
【図１】本発明の第１実施形態に係る携帯電話機１の外観図である。
【図２】携帯電話機１の機能構成を示す図である。
【図３】携帯電話機１のハードウェア構成を示す図である。
【図４】Ｊａｖａ実行環境を示す図である。
【図５】携帯電話機１の動作を示すフローチャートである。
【図６】対応テーブルを例示する図である。
【図７】表示されるウィンドウを例示する図である。
【図８】第２実施形態に係る携帯電話機２の機能構成を示す図である。
【図９】携帯電話機２の動作を示すフローチャートである。
【図１０】対応テーブルを例示する図である。
【図１１】表示されるウィンドウを例示する図である。
【符号の説明】
【００６４】
１…携帯電話機、２…携帯電話機、３…ヒンジ、４…キーパッド、５…マイクロホン、６…スピーカ、７…アンテナ、８…表示装置、９…筐体、１０…記憶部、１１…実行部、１２…表示制御部、１３…データ取得部、２０…表示部、１０２…ＣＰＵ、１０３…ＲＯＭ、１０４…ＲＡＭ、１０５…記憶部、１０６…操作部、１０７…表示部、１０８…通信部、１１１…ＯＳ、１１２…アプリケーション、１１３…アプリケーション、１１４…Ｊａｖａ実行環境、１１５…第１ストレージ、１１６…第２ストレージ、１１７…クラスライブラリ、１１８…ＪＶＭ、１１９…ＪＡＭ
【図１】
0004642815.tif 000002
【図２】
0004642815.tif 000003
【図３】
0004642815.tif 000004
【図４】
0004642815.tif 000005
【図５】
0004642815.tif 000006
【図６】
0004642815.tif 000007
【図７】
0004642815.tif 000008
【図８】
0004642815.tif 000009
【図９】
0004642815.tif 000010
【図１０】
0004642815.tif 000011
【図１１】
0004642815.tif 000012