(57)【特許請求の範囲】
【請求項１】
外部機器を検知する検知手段と、
前記外部機器を識別する識別情報を取得する取得手段と、
表示手段に表示されるウィンドウと、前記識別情報と、当該ウィンドウに割り当てられる順位の関連付けを指定する指定情報を書き換え可能に記憶した記憶手段と、
前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する特定手段と、
前記特定手段により重なり合う複数のウィンドウが特定された場合に、当該複数のウィンドウについて表示の優先度を前記指定情報を用いて決定する決定手段であって、前記検知手段により検知されている外部機器について取得された前記識別情報が関連付けられたウィンドウの優先度が当該識別情報が関連付けられていないウィンドウの優先度よりも高くなるように、前記複数のウィンドウの優先度を決定する優先度決定手段と、
前記優先度決定手段により決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる表示制御手段と、
前記表示手段により表示されたウィンドウの表示された頻度又は表示時間の長さに基づいて、当該ウィンドウに割り当てられた前記順位を決定し、前記記憶手段に記憶された前記指定情報を書き換える順位決定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記優先度決定手段は、
前記検知手段により検知されている外部機器について取得された前記識別情報が関連付けられたウィンドウが複数ある場合に、これらのウィンドウのうち前記順位が最も高いウィンドウの優先度を最も高くする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
コンピュータに、
外部機器を検知する第１の機能と、
前記外部機器を識別する識別情報を取得する第２の機能と、
表示手段に表示されるウィンドウと、前記識別情報と、当該ウィンドウに割り当てられる順位の関連付けを指定する指定情報を書き換え可能に記憶した記憶手段から前記指定情報を読み出す第３の機能と、
前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する第４の機能と、
重なり合う複数のウィンドウが前記第４の機能により特定された場合に、当該複数のウィンドウについて表示の優先度を前記指定情報を用いて決定する機能であって、前記第１の機能により検知されている外部機器について取得された前記識別情報が関連付けられたウィンドウの優先度が当該識別情報が関連付けられていないウィンドウの優先度よりも高くなるように、前記複数のウィンドウの優先度を決定する第５の機能と、
前記第５の機能により決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる第６の機能と、
前記表示手段により表示されたウィンドウの表示された頻度又は表示時間の長さに基づいて、当該ウィンドウに割り当てられた前記順位を決定し、前記記憶手段に記憶された前記指定情報を書き換える第７の機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＵＩ（Graphical User Interface）に関する。
【背景技術】
【０００２】
複数のウィンドウが重なる場合の表示制御として、特許文献１に記載された技術が知られている。特許文献１には、表示画面に少なくとも２つのウィンドウを互いに重なる部分をもつ状態で表示しているときに、前面に表示されているウィンドウと、後面に表示されているウィンドウとを所定時間毎に入れ替えることや、それぞれのウィンドウの使用時間に応じて前面に表示する時間の長さを定めることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１６１１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、前面に表示すべきウィンドウとは、その表示時にユーザが利用する状況にあるウィンドウであるといえる。それゆえ、ユーザの利用の仕方によっては、前面に表示するウィンドウを所定時間毎に入れ替えるだけでは、ユーザが必要としていないウィンドウが前面に表示されることもある。
そこで、本発明は、複数のウィンドウの表示を自装置が検知可能な外部機器に応じて切り替え可能にすることを目的としている。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、外部機器を検知する検知手段と、前記外部機器を識別する識別情報を取得する取得手段と、表示手段に表示されるウィンドウと、前記識別情報と、当該ウィンドウに割り当てられる順位の関連付けを指定する指定情報を書き換え可能に記憶した記憶手段と、前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する特定手段と、前記特定手段により重なり合う複数のウィンドウが特定された場合に、当該複数のウィンドウについて表示の優先度を前記指定情報を用いて決定する決定手段であって、前記検知手段により検知されている外部機器について取得された前記識別情報が関連付けられたウィンドウの優先度が当該識別情報が関連付けられていないウィンドウの優先度よりも高くなるように、前記複数のウィンドウの優先度を決定する優先度決定手段と、前記優先度決定手段により決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる表示制御手段と、前記表示手段により表示されたウィンドウの表示された頻度又は表示時間の長さに基づいて、当該ウィンドウに割り当てられた前記順位を決定し、前記記憶手段に記憶された前記指定情報を書き換える順位決定手段とを備えることを特徴とする。
【０００６】
本発明に係る情報処理装置において、前記優先度決定手段は、前記検知手段により検知されている外部機器について取得された前記識別情報が関連付けられたウィンドウが複数ある場合に、これらのウィンドウのうち前記順位が最も高いウィンドウの優先度を最も高くする構成を採用してもよい。
【０００７】
本発明に係るプログラムは、コンピュータに、外部機器を検知する第１の機能と、前記外部機器を識別する識別情報を取得する第２の機能と、表示手段に表示されるウィンドウと、前記識別情報と、当該ウィンドウに割り当てられる順位の関連付けを指定する指定情報を書き換え可能に記憶した記憶手段から前記指定情報を読み出す第３の機能と、前記表示手段が行う表示において他のウィンドウと重なるウィンドウを特定する第４の機能と、重なり合う複数のウィンドウが前記第４の機能により特定された場合に、当該複数のウィンドウについて表示の優先度を前記指定情報を用いて決定する機能であって、前記第１の機能により検知されている外部機器について取得された前記識別情報が関連付けられたウィンドウの優先度が当該識別情報が関連付けられていないウィンドウの優先度よりも高くなるように、前記複数のウィンドウの優先度を決定する第５の機能と、前記第５の機能により決定された優先度が高いウィンドウを当該優先度が低いウィンドウより前面に表示させる第６の機能と、前記表示手段により表示されたウィンドウの表示された頻度又は表示時間の長さに基づいて、当該ウィンドウに割り当てられた前記順位を決定し、前記記憶手段に記憶された前記指定情報を書き換える第７の機能とを実現させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のウィンドウの表示を自装置が検知可能な外部機器に応じて切り替えることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る情報処理装置の構成を示すブロック図である。
【図２】情報処理装置の論理的構成を示す図である。
【図３】識別情報を例示する図である。
【図４】指定情報を例示する図である。
【図５】情報処理装置が実行する動作を示すフローチャートである。
【図６】ウィンドウ表示を例示する図である。
【図７】ウィンドウ表示を例示する図である。
【図８】本発明に係る情報処理装置の構成を示すブロック図である。
【図９】指定情報を例示する図である。
【図１０】情報処理装置が実行する動作を示すフローチャートである。
【図１１】優先度を決定する制御を説明するための図である。
【図１２】ウィンドウ表示を例示する図である。
【図１３】ウィンドウ表示を例示する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照し、本発明の実施の形態を説明する。
［第１実施形態］
図１は、本発明の第１の実施形態である情報処理装置の全体構成を示すブロック図である。同図に示すように、情報処理装置１００は、制御部１１と、無線通信部１２と、操作部１３と、表示部１４と、近距離無線通信部１５と、電子タグ部１６とを備える。情報処理装置１００は、本実施形態においては、携帯電話機であるとする。
【００１１】
制御部１１は、ＣＰＵ（Central Processing Unit）１１ａ、ＲＯＭ（Read Only Memory）１１ｂ、ＲＡＭ（Random Access Memory）１１ｃ及びＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）１１ｄを備え、ＣＰＵ１１ａがＲＡＭ１１ｃをワークエリアとして用いてＲＯＭ１１ｂやＥＥＰＲＯＭ１１ｄに記憶されたプログラムを実行し、これにより情報処理装置１００の各部の動作を制御する。無線通信部１２は、アンテナ１２ａを備え、所定の移動通信網とのデータ通信を無線で行う。操作部１３は、ボタン等の操作子を備え、ユーザの操作に応じた操作信号を制御部１１に供給する。表示部１４は、液晶ディスプレイや液晶駆動回路を備え、制御部１１から供給される表示データに応じた画像を表示する。
【００１２】
近距離無線通信部１５は、図示せぬアンテナを備え、自装置から所定の範囲に存在する外部機器と無線通信を行うインタフェースである。近距離無線通信部１５の通信範囲は、利用する外部機器やその利用の態様に応じて定められればよいが、例えば、数ｃｍ〜数十ｍ程度である。また、近距離無線通信部１５は、所定の無線通信規格に準拠して外部機器と通信を行う。近距離無線通信部１５が準拠する無線通信規格としては、例えば、Bluetooth（登録商標）やIrSimpleなどが挙げられるが、利用する外部機器やその利用の態様に応じたものを用いればよい。なお、本実施形態において、近距離無線通信部１５と通信可能な外部機器には、携帯電話機とワイヤレスヘッドホンとが含まれる。ここにおいて、ワイヤレスヘッドホンとは、無線で供給された楽音データを楽音として出力する外部機器のことをいう。
【００１３】
電子タグ部１６は、ＲＦＩＤ（Radio Frequency IDentification）タグ等の電子タグを備え、外部機器であるリーダライタと無線通信を行うインタフェースである。電子タグ部１６は、リーダライタと近接し、互いの間の距離が所定以下となると、リーダライタと通信が可能となるよう構成されている。なお、本実施形態において、電子タグ部１６は、あらかじめ記憶されたデータによって決済を行う、いわゆる電子決済機能を実現する。
【００１４】
ＲＯＭ１１ｂは、あらかじめいくつかのプログラムを記憶している。以下ではこれを「プリインストールプログラム」という。具体的には、プリインストールプログラムは、マルチタスクオペレーティングシステム（以下「マルチタスクＯＳ」という。）、Ｊａｖａ（登録商標）プラットフォーム及びネイティブアプリケーションの各プログラムである。マルチタスクＯＳは、ＴＳＳ（Time-Sharing System）による複数タスクの擬似的な並列実行を実現するために必要な仮想メモリ空間の割り当てなどの各種機能をサポートしたオペレーティングシステムである。Ｊａｖａプラットフォームは、マルチタスクＯＳを搭載した情報処理装置１００において後述するＪａｖａ実行環境１１３を実現するためのコンフィギュレーションであるＣＤＣ（Connected Device Configuration）にしたがって記述されたプログラム群である。ネイティブアプリケーションは、通話などの情報処理装置１００における基本的なサービスを実現するプログラムである。
【００１５】
ＥＥＰＲＯＭ１１ｄは、Ｊａｖａアプリケーションが記憶されるＪａｖａアプリケーション格納領域を有する。Ｊａｖａアプリケーションは、Ｊａｖａ実行環境下における処理の手順自体を記述した実体プログラムとその実体プログラムの実行に伴って利用される画像ファイルや音声ファイルとを結合したＪＡＲ(Java Archive)ファイルと、そのＪＡＲファイルのインストールや起動、各種の属性を記述したＡＤＦ（Application Descriptor File）とを有している。このＪａｖａアプリケーションは、コンテンツプロバイダ又は通信事業者により作成されて外部のサーバ装置などに格納され、情報処理装置１００からの要求に応じてそれらのサーバ装置から適宜ダウンロードされるようになっている。
【００１６】
図２は、ＲＯＭ１１ｂ及びＥＥＰＲＯＭ１１ｄに記憶された各種プログラムの実行により情報処理装置１００の制御部１１に実現される各部の論理的構成を示す図である。同図に示すように、各種プログラムを実行する情報処理装置１００には、ネイティブアプリケーション１１２及びＪａｖａ実行環境１１３がＯＳ１１１上に実現され、また、ＥＥＰＲＯＭ１１ｄには第１ストレージ１１４と第２ストレージ１１５とが確保される。
【００１７】
Ｊａｖａ実行環境１１３は、ＲＯＭ１１ｂのＪａｖａプラットフォームにより実現される。Ｊａｖａ実行環境１１３は、クラスライブラリ１１６、ＪＶＭ（Java Virtual Machine）１１７及びＪＡＭ（Java Application Manager）１１８からなる。クラスライブラリ１１６は、特定の機能を有するプログラムモジュール（クラス）群を１つのファイルに結合したものである。ＪＶＭ１１７は、上述のＣＤＣのために最適化されたＪａｖａ実行環境であり、Ｊａｖａアプリケーションとして提供されるバイトコードを解釈して実行する機能を有する。ＪＡＭ１１８は、Ｊａｖａアプリケーションのダウンロードやインストール、起動・終了などを管理する機能を有する。
【００１８】
第１ストレージ１１４は、ＪＡＭ１１８の管理の下にダウンロードされるＪａｖａアプリケーション（ＪａｒファイルとＡＤＦ）を格納する領域である。第２ストレージ１１５は、Ｊａｖａアプリケーションの実行の際に生成されたデータをその終了後に格納しておくための領域であり、インストールされたＪａｖａアプリケーション毎に個別の格納領域が割り当てられるようになっている。そして、あるＪａｖａアプリケーションに割り当てられた格納領域のデータは、そのＪａｖａアプリケーションが実行されている間のみ書き換え可能となっており、別のＪａｖａアプリケーションが書き換えを行い得ないようになっている。
【００１９】
なお、情報処理装置１００は、Ｊａｖａアプリケーションとして「対戦ゲーム」及び「グループウェア」を記憶している。ここにおいて、対戦ゲームとは、近距離無線通信部１５を介して他の携帯電話機（すなわち外部機器）と通信しながらゲームを行うことを可能にするアプリケーションのことをいう。また、グループウェアとは、オフィスにおける利用を前提としたアプリケーションであり、オフィスの各ユーザの情報共有を実現するアプリケーションのことをいう。グループウェアには、例えば、各ユーザのスケジュールを表示する機能や、業務に関するいわゆる電子掲示板を表示する機能が含まれる。
【００２０】
また、ネイティブアプリケーション１１２には、「ミュージックプレーヤ」及び「電子決済アプリ」が含まれる。ここにおいて、ミュージックプレーヤとは、楽音データの再生を制御するアプリケーションのことをいう。ミュージックプレーヤは、あらかじめ記憶している（又は無線通信部１２から受信した）符号化された楽音データを復号し、これを近距離無線通信部１５に出力する機能を実現する。また、電子決済アプリは、上述した電子決済機能を実現するアプリケーションのことをいう。電子決済アプリケーションは、店舗等に設けられたリーダライタと電子タグ部１６との通信を制御し、金銭的価値を有するデータ（以下「電子バリュー」という。）のやりとりを行う。電子決済アプリは、リーダライタからの指示に応じて、商品やサービスを購入する際には、記憶された電子バリューを減額し、電子バリューを課金（チャージ）する際には、記憶された電子バリューを増額する書き換えを行う。
【００２１】
上述したアプリケーションは、いずれも、表示部１４にウィンドウを表示させる機能を有する。例えば、対戦ゲームは、ゲームの内容をウィンドウに表示させ、ミュージックプレーヤは、楽音データの選択や再生の開始又は停止の指示を受け付けるウィンドウを表示させる。また、電子決済アプリは、記憶された電子バリューの残高をウィンドウに表示させる。
【００２２】
ＥＥＰＲＯＭ１１ｄは、上述したデータに加えて、識別情報と指定情報とを記憶する。識別情報は、情報処理装置１００と通信可能な外部機器を識別する情報である。また、指定情報は、上述したアプリケーションに関連付けられる外部機器を指定する情報である。アプリケーションは、それぞれ、表示部１４において所定のウィンドウに表示させるものであるため、指定情報は、アプリケーションの処理内容を表示するウィンドウに関連付けられる外部機器を指定する情報であるといえる。
【００２３】
図３は、本実施形態の識別情報を例示する図である。同図に示すように、識別情報は、制御部１１が実行可能なアプリケーションについて、「ＩＤ」及び「機器情報」を関連付けたデータである。また、識別情報は、一部の外部機器について、その属性を表す情報を含んでいる。
ここにおいて、「ＩＤ」は、外部機器のそれぞれについて情報処理装置１００が一意的に割り当てた情報である。「ＩＤ」は、例えば、所定の規則で付与される文字列や数字列である。また、「機器情報」は、情報処理装置１００と通信可能な外部機器を識別する情報である。「機器情報」としては、例えば、同図に示すような外部機器の種類を示す情報（それがリーダライタか、ワイヤレスヘッドホンか、といった情報）であってもよいが、いわゆる型番や製造番号などのより詳細な情報を含んでもよい。例えば、通信可能な個々の携帯電話機を区別する場合であれば、それぞれの携帯電話機に固有な情報を含む必要がある。
【００２４】
また、「属性」は、外部機器の属性を表す情報であり、ある外部機器を共通のグループに分類するための情報である。同図においては、「属性」は、携帯電話機を分類する情報であり、携帯電話機を「同僚」又は「対戦者」のいずれかに分類する情報である。ここにおいて、「同僚」とは、情報処理装置１００のユーザが勤務するオフィスで勤務する者をいい、当該識別情報により識別される携帯電話機がその同僚の所有する携帯電話機であることを意味している。また、「対戦者」とは、情報処理装置１００に記憶された対戦ゲームにより対戦することが可能な者をいい、当該識別情報により識別される携帯電話機がその対戦者の所有する携帯電話機であることを意味している。
【００２５】
なお、「機器情報」は、外部機器との通信時に、これを取得する態様であってもよい。また、上述したリーダライタのように、通信するインタフェースが他の外部機器と区別可能な場合には、そのインタフェースによる通信が実行されたことを示す情報を「機器情報」とみなしてもよい。制御部１１は、電子タグ部１６による通信が実行されると、これを示す情報を取得することができるため、かかる情報を「機器情報」として用いることができる。
【００２６】
図４は、本実施形態の指定情報を例示する図である。同図に示すように、指定情報は、「アプリケーション名」、「機器情報」及び「順位」を関連付けたデータである。
ここにおいて、「アプリケーション名」は、各々のアプリケーションを識別する情報である。「アプリケーション名」は、例えば、アプリケーションに付与された名称（ファイル名）であってもよいし、アプリケーションが記憶されている位置（アドレスやディレクトリ）であってもよい。「機器情報」は、対応するアプリケーションに関連付けられた外部機器を識別する情報であり、識別情報として記述された「機器情報」のいずれかが記述される。「順位」は、各々のアプリケーションに対応するウィンドウに割り当てられた順序を表す値である。この値は、例えば、当該アプリケーションに対応するウィンドウが表示された頻度やその表示時間の長さに基づいて決定されてもよいし、ユーザが任意に決定できるようにしてもよい。
【００２７】
なお、本実施形態において、「ウィンドウ」とは、アプリケーションが所定の機能を実現するときに当該アプリケーションに対して割り当てられる表示領域のことをいう。ここにおいて、その表示領域は、いかなる形状や外観を有していてもよく、窓型（矩形状）である必要はないが、以下に示す図においては、説明の便宜上、いずれも長方形とする。また、ウィンドウは、他のウィンドウが前面に重ねて表示されたとき、重なった部分については、前面の他のウィンドウのみが表示され、当該他のウィンドウが重なった表示領域は表示されないようになっている。以下においては、このように前面のウィンドウによって一部が非表示となったウィンドウの位置のことを、前面に対して「後面」という。
【００２８】
図４に示す指定情報は、「グループウェア」が「携帯電話機Ｂ〜Ｆ」、すなわち同僚の携帯電話機に関連付けられていることと、「対戦ゲーム」が「携帯電話機Ａ」、すなわち対戦者の携帯電話機に関連付けられていることとを示している。また、この指定情報は、「電子決済アプリ」が「リーダライタ」に関連付けられており、「ミュージックプレーヤ」が「ワイヤレスヘッドホン」に関連付けられていることを示している。
【００２９】
情報処理装置１００の構成は、以上のとおりである。この構成のもと、情報処理装置１００は、ユーザの要求に応じて複数のアプリケーションを実行する。このとき、ユーザは、操作部１３を介して所定の操作を行い、情報処理装置１００にアプリケーションの実行を要求する。
【００３０】
情報処理装置１００は、複数のアプリケーションを実行する場合、それぞれのアプリケーションに対応した複数のウィンドウを表示することができる。このとき、情報処理装置１００は、いわゆるオーバーラップウィンドウ方式によりウィンドウを表示する。すなわち、情報処理装置１００は、ユーザからの指示に応じて、ウィンドウの表示位置を移動させることが可能であり、複数のウィンドウを重ねて表示することが可能である。そのため、情報処理装置１００の制御部１１は、複数のウィンドウの表示位置に関する情報（以下「ウィンドウ情報」という。）を記憶し、ウィンドウの移動がある毎にこれを更新する。なお、複数のウィンドウが重なる場合、情報処理装置１００は、アクティブ（操作を受け付ける状態）となった時間が新しいウィンドウをより前面に表示する。ゆえに、最前面に表示されるウィンドウは、そのときアクティブとなっているウィンドウである。
【００３１】
情報処理装置１００は、重ねて表示しているウィンドウがある場合に、周辺に存在する外部機器と上述した指定情報とに基づいて各々のウィンドウの表示の優先度を決定する。この動作を行うときに情報処理装置１００が実行する処理は、以下のとおりである。
【００３２】
図５は、情報処理装置１００の制御部１１が実行する動作を示すフローチャートである。なお、この動作は、マルチタスクＯＳの一機能として実現される動作であり、所定のイベント（動作）を契機に実行されるものである。そのイベントとは、例えば、ユーザが操作を行い、新たなウィンドウが表示される動作や、新たな外部機器を検知する動作である。また、また、この動作は、このようなイベントによらず、所定の時間間隔で定期的に実行されるものであってもよい。
【００３３】
同図に示すように、まず、制御部１１は、通信可能な外部機器を検知する（ステップＳ１）。制御部１１は、近距離無線通信部１５又は電子タグ部１６と通信可能な外部機器の存在を認識することにより、この検知を行う。そして、制御部１１は、通信可能な外部機器が存在するか否かを判断することにより、検知可能な外部機器が存在するか否かを判断する（ステップＳ２）。
【００３４】
検知可能な外部機器が存在する場合（ステップＳ２：ＹＥＳ）、制御部１１は、検知した外部機器の識別情報を取得する（ステップＳ３）。これにより、制御部１１は、検知した外部機器を識別することができる。制御部１１は、外部機器の検知時や外部機器との通信時に、近距離無線通信部１５又は電子タグ部１６を介して外部機器から機器情報を取得する。
また、制御部１１は、取得した機器情報を用いて、その時点で通信可能な外部機器を示す情報（以下「接続情報」という。）をＥＥＰＲＯＭ１１ｄに記憶させてもよい。制御部１１は、取得した機器情報に基づいて、その機器情報又は対応するＩＤを接続情報として記憶する。この場合、制御部１１は、接続情報を読み出すことによって識別情報を取得することができる。なお、この場合、制御部１１は、ある外部機器が検知できなくなったとき、この外部機器に対応する識別情報を接続情報から削除する。
【００３５】
識別情報を取得したら、制御部１１は、表示部１４におけるウィンドウの表示状態を認識し、重なりを有して表示されているウィンドウを特定する（ステップＳ４）。このとき、制御部１１は、記憶しているウィンドウ情報に基づき、ウィンドウの重なりを判断する。ここにおいて、制御部１１は、他のウィンドウの表示を妨げるウィンドウと、他のウィンドウにより表示を妨げられるウィンドウの双方を重なりを有するウィンドウとして特定する。すなわち、制御部１１は、ある重なりを形成する複数のウィンドウについて、前面に表示されているウィンドウと後面に表示されているウィンドウの双方を重なりを有するものであると特定する。なお、これは、ある領域に３つ以上のウィンドウが重なっている場合であっても同様である。
【００３６】
続いて、制御部１１は、ステップＳ４において特定されるウィンドウが存在するか否かを判断することにより、重なりを有するウィンドウが存在するか否かを判断する（ステップＳ５）。ウィンドウが重なって表示されていると判断した場合（ステップＳ５：ＹＥＳ）、制御部１１は、特定されたウィンドウに対応するアプリケーションを特定し、そのアプリケーションに関連付けられた外部機器を特定する（ステップＳ６）。このとき、制御部１１は、指定情報及び識別情報を参照し、特定されたウィンドウにより表示が行われているアプリケーションに関連付けられたＩＤを読み出すことにより、関連する機器情報を特定する。なお、制御部１１は、識別情報に属性が含まれている場合には、その属性も特定する。
制御部１１は、重なりを有する全てのウィンドウについて、このような特定を行う。なお、ウィンドウは、それぞれ特定のアプリケーションに対応するものであるため、あるアプリケーションに関連付けられた機器情報は、対応するウィンドウに関連付けられた機器情報であるといえる。
【００３７】
制御部１１は、重なりを有する複数のウィンドウのそれぞれについて、関連する機器情報を特定したら、この複数のウィンドウ中に検知した外部機器の識別情報が関連付けられているウィンドウが存在するか否かを判断する（ステップＳ７）。この判断に際し、制御部１１は、各々のウィンドウに対応する機器情報を指定情報から読み出し、この機器情報に対応する外部機器がステップＳ１において検知されているか否かを判別する。
【００３８】
検知した外部機器に関連付けられたウィンドウが存在する場合（ステップＳ７：ＹＥＳ）、制御部１１は、そのウィンドウが複数あるか否かを判断する（ステップＳ８）。そして、かかるウィンドウが複数存在する場合（ステップＳ８：ＹＥＳ）、制御部１１は、これらのウィンドウから指定情報の順位が最も高いウィンドウを１つ特定する（ステップＳ９）。
【００３９】
次に、制御部１１は、判断対象のウィンドウが後面に表示されているか否かを判断する（ステップＳ１０）。ここにおいて、判断対象のウィンドウは、ステップＳ９において特定されたウィンドウか、あるいは、自装置の構成に関連付けられたウィンドウが単独で存在する場合は、そのウィンドウである。制御部１１は、これらのいずれかのウィンドウを、ステップＳ１０における判断対象のウィンドウとして決定する。そして、制御部１１は、判断対象のウィンドウが後面に表示されている場合（ステップＳ１０：ＹＥＳ）、そのウィンドウが最前面に表示されるように各ウィンドウの表示順序を切り替え、これに応じた表示データを出力する（ステップＳ１１）。
【００４０】
なお、ステップＳ２、Ｓ５、Ｓ７及びＳ１０における判断が否定的（すなわちＮＯ）である場合、制御部１１は、ウィンドウの表示順序を切り替えることなく処理を終了する。かかる場合は、最前面に表示すべきウィンドウが既に最前面に表示されているからである。
【００４１】
以上に説明した動作について、ウィンドウの具体的な表示例を挙げて説明する。なお、以下の例において、識別情報及び指定情報は、図３及び４にそれぞれ示したとおりであるとする。また、グループウェアのウィンドウを「ｗ１」、対戦ゲームのウィンドウを「ｗ２」、電子決済アプリのウィンドウを「ｗ３」、ミュージックプレーヤのウィンドウを「ｗ４」という。また、これらのウィンドウは、互いに重なり合い、図５に示した処理の実行前において図６のような表示状態であったとする。なお、同図において、表示部１４の表示領域は、ハッチングで示した領域である。
【００４２】
例えば、情報処理装置１００がオフィスにあり、その近傍に同僚の携帯電話機Ｂ〜Ｆのいずれかがある場合において、情報処理装置１００がこの携帯電話機を検知すると、制御部１１は、表示部１４による表示状態を図７（ａ）のように切り替える。すなわち、制御部１１は、指定情報によって同僚の携帯電話機を指定されているグループウェアのウィンドウｗ１を最前面に表示させる。
また、ユーザが情報処理装置１００をリーダライタにかざすような動作を行い、電子バリューの増減を行うと、制御部１１は、表示部１４による表示状態を図７（ｂ）のように切り替える。すなわち、制御部１１は、指定情報によってリーダライタを指定されている電子決済アプリのウィンドウｗ３を最前面に表示させる。
また、制御部１１は、同様に、情報処理装置１００と通信可能な範囲に対戦者の携帯電話機Ａがあれば、図７（ｃ）のように対戦ゲームのウィンドウｗ２を最前面に表示させ、情報処理装置１００と通信可能な範囲にワイヤレスヘッドホンがあれば、図７（ｄ）のようにミュージックプレーヤのウィンドウｗ４を最前面に表示させる。
【００４３】
なお、図７（ｄ）の表示状態は、図６の表示状態と同一である。すなわち、この場合、最前面に表示すべきウィンドウｗ４が既に最前面に表示されているので、制御部１１は、ウィンドウの表示順序を切り替える制御を行わない。これは、ステップＳ１０において「ＮＯ」であると判断される処理である。
【００４４】
本実施形態の情報処理装置１００は、このような動作を実行することにより、あらかじめ指定された外部機器を検知したときに、その外部機器と関連するアプリケーションのウィンドウを優先的に表示する。これにより、情報処理装置１００は、その近傍に所定の外部機器を検知したことを契機に、そのときどきで閲覧される可能性が高いウィンドウの全体を表示し、ユーザにその後の操作を迅速に行わせることが可能となる。すなわち、この情報処理装置１００は、検知した外部機器と関連するアプリケーションのウィンドウをより少ない操作で閲覧可能にするため、ユーザの操作負担を軽減させることが可能となる。このような動作は、携帯電話機のような操作子や画面サイズが制限される小型機器において、マルチタスクで処理を実行する場合に、特に顕著な効果を奏する。
【００４５】
また、本実施形態の情報処理装置１００は、外部機器に属性を指定することにより、例えば、同僚の携帯電話機が近傍にあるときはグループウェアのウィンドウを最前面に表示し、対戦者の携帯電話機が近傍にあるときは対戦ゲームのウィンドウを最前面に表示する、というように、検知した外部機器が同種の外部機器であっても、その属性に応じたウィンドウを優先的に表示することが可能である。これにより、例えば、駅の改札機のリーダライタではプリペイド型の電子決済機能を用い、店舗のリーダライタではポストペイ型の別の電子決済機能を用いる場合において、検知するリーダライタの属性に応じて異なるウィンドウを表示させることができる。
【００４６】
なお、本実施形態の情報処理装置１００は、アプリケーションのウィンドウの表示制御に際して、外部機器を検知可能であれば足り、当該アプリケーションによる処理は必須ではない。ゆえに、例えば、情報処理装置１００がリーダライタを検知可能な位置にあれば、決済後のみならず、決済前であっても電子決済アプリのウィンドウを最前面に表示させ、電子バリューの残額を確認可能にすることもできる。
【００４７】
［第２実施形態］
図８は、本発明の第２の実施形態である情報処理装置の全体構成を示すブロック図である。同図に示すように、情報処理装置２００は、制御部２１と、無線通信部２２と、操作部２３と、表示部２４と、近距離無線通信部２５と、電子タグ部２６と、計時部２７とを備える。
【００４８】
なお、本実施形態の情報処理装置２００において、第１実施形態の情報処理装置１００と同名の構成要素は、いずれも情報処理装置１００のそれと同様の構成を有する。ただし、制御部２１が記憶するデータは、制御部１１が記憶するデータと一部で異なる。そこで、以下においては、主として第２実施形態に特徴的な構成について説明し、第１実施形態と共通する構成については、適宜その説明を省略する。
【００４９】
計時部２７は、内部時計を備え、現在の時刻を表す時刻情報を制御部２１に出力する。なお、計時部２７は、情報処理装置２００の電源がオフのときにも計時を行っている。なお、現在時刻を特定するに際し、制御部２１は、必要に応じてその都度計時部２７から時刻情報を取得してもよいし、電源がオンになったときに計時部２５から時刻情報を取得し、その後は取得した時刻情報を内部で更新するようにしてもよい。
【００５０】
図９は、本実施形態の指定情報を例示する図である。なお、同図に示す指定情報は、識別情報が第１実施形態の識別情報（図３参照）と同様であった場合のものである。
本実施形態において、指定情報は、「アプリケーション名」、「機器情報」及び「順位」に加えて、更に「期間」を関連付けてなるデータである。すなわち、本実施形態の指定情報は、所定のアプリケーションについて、関連する外部機器と期間とを指定するものである。ここにおいて、「期間」は、所定の日時を表す情報であり、アプリケーションについて関連付けを有する期間とそうでない期間とを区別する情報である。
【００５１】
本実施形態において、指定情報は、アプリケーションが主に利用される時間を指定するものである。例えば、グループウェアであれば、これは勤務中に利用されるのが一般的であるから、勤務時間帯である９時０分から１８時０分までが「期間」に指定されている。また、対戦ゲームやミュージックプレーヤであれば、これは勤務時間以外（例えば、退勤後など）に利用されるのが一般的であるから、１８時３０分から２３時０分までが「期間」に指定されている。一方、電子決済アプリのように、いかなる時間にも利用される可能性があるアプリケーションについては、１日中、すなわち０時０分から２４時０分までが「期間」に指定されている。
【００５２】
本実施形態の情報処理装置２００は、以上の構成上の特徴を有している。この構成のもと、情報処理装置２００は、ウィンドウの表示の優先度を決定する処理を実行する。
図１０は、情報処理装置２００の制御部２１が実行する動作を示すフローチャートである。なお、同図において、図５と同一の符号が付されたステップは、第１実施形態と同様の処理を実行するステップである。すなわち、本実施形態に特徴的な動作は、ステップＳＡとステップＳＢであり、その他の動作は、第１実施形態に準ずるということである。
【００５３】
ステップＳＡにおいて、制御部２１は、計時部２７が出力する時刻情報に基づいて、現在時刻を特定する。また、ステップＳＢにおいて、制御部２１は、検知した外部機器の識別情報が関連付けられているとステップＳ７において判断されたウィンドウについて、さらに、このウィンドウに関連付けられている期間に現在時刻が含まれるか否かを判断する。制御部２１は、現在時刻が当該期間に含まれている場合には、ステップＳ８以降の処理を実行し、現在時刻が当該期間に含まれていない場合には、ウィンドウ表示を切り替えずに処理を終了する。
【００５４】
本実施形態の情報処理装置２００は、このような動作を実行することにより、あらかじめ指定された外部機器を所定の期間に検知したときに、その外部機器と関連するアプリケーションのウィンドウを優先的に表示する。これにより、情報処理装置２００は、ユーザの利用状況により即したウィンドウを表示することが可能となる。例えば、グループウェアのようなアプリケーションのウィンドウは、勤務時間内に表示されるのは適当であるが、勤務時間外に表示されると不適当な場合もある。第１実施形態の場合、例えば、勤務時間外に同僚と飲食や娯楽に興じている場合であっても、グループウェアのウィンドウが最前面に表示されてしまうことになる。これに対して、本実施形態のように、指定情報にウィンドウを表示すべき期間を含むことによって、表示するのが不適当な時間帯には、ウィンドウを自動的に最前面に表示することがないようにすることができる。
【００５５】
また、例えば、オフィスの同僚であるとともに、対戦ゲームの対戦者でもある者がいる場合のように、ある外部機器について複数の属性を割り当てた場合においても、本実施形態の情報処理装置２００は効果を奏する。このような場合には、グループウェアに対しては勤務時間帯を「期間」として指定する一方で、対戦ゲームに対しては勤務時間外の時間帯を「期間」として指定することにより、上述した複数の属性が割り当てられた外部機器が近傍にあったとしても、そのときどきの時間に応じたウィンドウを最前面に表示させることが可能となる。
【００５６】
なお、指定情報により指定される期間は、ある時刻からある時刻までという態様に限定されない。例えば、平日（月曜日から金曜日）や休日（土曜日及び日曜日）というように指定されてもよいし、月単位や年単位で指定されてもよい。
【００５７】
［変形例］
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
【００５８】
（１）変形例１
ウィンドウを優先的に表示させるための条件として、同一の属性を有する外部機器の数を加えてもよい。例えば、上述したグループウェアの場合、制御部がこれを最前面に表示させるのは、「属性」が「同僚」である携帯電話機を所定の数（例えば、３機）以上検知した場合に限ってもよい。このようにすれば、あるウィンドウを表示するのが不適当な状況において当該ウィンドウが自動的に最前面に表示されることを防ぐことができる。例えば、ある同僚とオフィス以外の場所でたまたま会った場合などに、グループウェアのウィンドウが自動的に最前面に表示されることを防ぐことができる。
【００５９】
また、この変形例は、例えば、参加者が４人以上でないと開始できない対戦ゲームのウィンドウを制御部が表示している場合において、「属性」が「同僚」である携帯電話機が３機以上検知されると、当該ウィンドウが最前面に表示される、というように用いることも可能である。
【００６０】
（２）変形例２
上述した実施形態において、制御部は、最前面に表示するウィンドウのみを決定し、その他のウィンドウの表示順序は特に問わない構成とした。しかし、制御部は、上述した指定情報に基づいて重なり合うウィンドウのそれぞれについて優先度を決定し、優先度がより高いウィンドウほどより前面に表示させる構成であってもよい。このようにすれば、所望のウィンドウが最前面に表示されていない場合に、ユーザがより少ない操作で所望のウィンドウを閲覧することが可能となる。なお、この場合における操作とは、例えば、最前面に表示されているウィンドウを閉じたり、あるいは最小化するといった操作のことである。
【００６１】
この場合において、制御部は、各アプリケーションに関連付けられた機器情報と順位の情報とに基づいて優先度を決定する。ここで、一例として、重なりを有して表示されている複数のウィンドウについて、検知されている外部機器と関連付けを有するウィンドウが複数あり、かつ、かかる関連付けを有さないウィンドウが複数ある場合を説明する。
【００６２】
図１１に示すように、複数の所定のアプリケーションについて、ウィンドウｗａ、ｗｂ、ｗｃ、ｗｄ、ｗｅ及びｗｆがあり、これらが互いに重なり合って表示されているとする。また、ここにおいて、ウィンドウｗａ、ｗｂ及びｗｃは、検知されている外部機器と関連付けを有し、ウィンドウｗｄ、ｗｅ及びｗｆは、かかる関連付けを有さないとする。
【００６３】
この場合、制御部は、まず、検知されている外部機器と関連付けを有するウィンドウｗａ、ｗｂ及びｗｃについて、ウィンドウｗｄ、ｗｅ及びｗｆより高い優先度を与える。そして、制御部は、ウィンドウｗａ、ｗｂ及びｗｃのそれぞれについて順位の高低に応じて優先度を決定するとともに、ウィンドウｗｄ、ｗｅ及びｗｆのそれぞれについて順位の高低に応じて優先度を決定する。その結果、制御部が決定する優先度は、図１１に示したようになる。この場合において、制御部は、優先度が最高となるウィンドウを最前面に表示させる。
【００６４】
（３）変形例３
上述したようなウィンドウの表示制御を実行した場合において、制御部は、かかる表示制御を実行した旨を通信可能な外部機器に通知してもよい。例えば、外部機器が、情報処理装置と共通の通信インタフェースを備え、かつ、アプリケーションを実行し、その処理内容をウィンドウ表示する構成を備える場合においては、情報処理装置において最前面に表示されているウィンドウを外部機器に通知してもよい。例えば、上述した第１実施形態において、情報処理装置が対戦ゲームのウィンドウを最前面に表示した場合に、情報処理装置は、情報処理装置により検知されている対戦者の携帯電話機Ａに対して、対戦ゲームのウィンドウを最前面に表示した旨を通知することができる。このようにすれば、携帯電話機Ａにおいて対戦ゲームが開始可能であることを知得することが可能となる。
【００６５】
（４）変形例４
特定のアプリケーションのウィンドウについては、上述した指定情報によらず常に決められた優先度を有するとしてもよい。これを実現するためには、例えば、このようなウィンドウを指定する情報を制御部があらかじめ記憶しており、かかるウィンドウが他のウィンドウと重なっている場合には、検知された外部機器によらず決められた優先度に応じた表示が行われるようにすればよい。なお、この特定のアプリケーションのウィンドウを最前面に表示させたい場合であれば、優先度をあらかじめ最高とするように決めておけばよい。
このようにすれば、自装置の動作に係る極めて重要な通知などの、後面に表示されることにより弊害が生じるおそれがあるウィンドウが存在する場合に、当該ウィンドウの表示が他のウィンドウにより妨げられないようにすることが可能となる。
【００６６】
また、この変形例は、換言すれば、指定された特定のアプリケーションのウィンドウを優先度の決定対象から除外するものであるともいえる。このとき、制御部は、指定されたウィンドウを含む複数のウィンドウが重なっている場合に、指定されたウィンドウを除いたウィンドウについて表示の優先度を決定し、指定されたウィンドウについては、あらかじめ決められた優先度で表示し、その他のウィンドウについては、指定情報に基づいて決定された優先度で表示する。
なお、ウィンドウの指定は、ユーザが行えるようにしてもよい。
【００６７】
（５）変形例５
外部機器を検知する構成は、上述した実施形態のものに限定されない。例えば、オフィスの各ユーザが電子タグ部を備える携帯電話機（外部機器）を所持し、リーダライタをいわゆるプレゼンス管理に用いるような場合においては、情報処理装置は、このリーダライタから携帯電話機の識別情報を取得し、これを以てオフィス内の外部機器やその数を検知してもよい。より具体的には、例えば、オフィスの出入口にリーダライタを備えておき、携帯電話機をリーダライタにかざさなければオフィスからの出入りが行えないような構成とすればよい。この構成において、リーダライタは、各々の携帯電話機を識別する識別情報を取得し、オフィス内にいるユーザとその数を認識できるように構成すればよい。
【００６８】
（６）変形例６
本発明において、最前面に表示されるウィンドウは、１つであるとは限らない。例えば、図１２に示す例のように、ウィンドウを複数のグループに分類できる場合、制御部は、それぞれのグループ毎に最前面に表示されるウィンドウを決定することができる。なお、この場合において、グループとは、１本の閉じた輪郭線が描画されるときの、この輪郭線がなす領域の内部に含まれるウィンドウの集合をいう。図１２に示す例の場合、ウィンドウは、グループＧ１とグループＧ２とに分類することができる。このような場合、制御部は、グループＧ１とＧ２の双方において最前面に表示するウィンドウを決定することができる。なお、この場合において、アクティブとなるウィンドウは、いずれのグループの最前面のウィンドウであってもよい。つまり、本発明は、表示部の画面を所定の領域毎に区切り、それぞれの領域において、最前面に表示するウィンドウ又はウィンドウの表示の優先度を決定するようにしてもよい。
【００６９】
さらに、本発明は、互いに重なり合わない複数のウィンドウが存在し、これらのウィンドウの全てが検知される外部機器に関連付けられている場合であれば、これらのウィンドウが全て最前面に表示されるような制御を行ってもよい。例えば、図１３に示すウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊのように、重なるウィンドウ（ｗｋ）が存在するものの、ウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊが互いに重なり合わない場合において、このウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊが検知される外部機器に関連付けられているときには、ウィンドウｗｇ、ｗｈ、ｗｉ及びｗｊの全てを最前面に表示することができる。
【００７０】
（７）変形例７
上述した実施形態においては、１つのアプリケーションに１つのウィンドウが対応付けられたが、本発明はこのような関係を有していなくてもよい。例えば、ＭＤＩ（Multiple Document Interface）を採用するアプリケーションにおいては、１つのアプリケーションにおいて複数のウィンドウが表示され得る。このようなアプリケーションにおいても、外部機器との関連付けをそれぞれのウィンドウ毎に行うことが可能であれば、本発明を適用することが可能である。例えば、いわゆるタブブラウザのようなアプリケーションにおいて、ウィンドウのそれぞれに外部機器を関連付け、最前面に表示する画面をこの関連付けに応じて制御してもよい。
【００７１】
（８）変形例８
上述した実施形態は、本発明を携帯電話機に適用したものであるが、本発明は、その他の情報処理装置に適用することも可能である。本発明は、ＰＤＡ（Personal Digital Assistance）等の通信端末や、パーソナルコンピュータなど、ウィンドウを表示する種々の情報処理装置に適用することができる。
【００７２】
（９）変形例９
上述した実施形態においては、本発明をＯＳの一機能として説明したが、本発明は、独立したアプリケーションとしても実現可能である。また、例えば、いわゆるプラグインとして本発明の機能を既存のＯＳ等のアプリケーションに付加することもできる。このような構成とした場合、本発明は、コンピュータ（情報処理装置）に上述のような機能を実現させるためのプログラムとして提供することも可能である。かかるプログラムは、例えば、光ディスク等の記録媒体に記憶させた形態で提供したり、あるいは、所定のサーバ装置からインターネット等のネットワークを介して提供することも可能である。
【符号の説明】
【００７３】
１００、２００…情報処理装置、１１、２１…制御部、１２、２２…無線通信部、１３、２３…操作部、１４、２４…表示部、１５、２５…近距離無線通信部、１６、２６…電子タグ部、２７…計時部
【図１】
0005437428.tif 000002
【図２】
0005437428.tif 000003
【図３】
0005437428.tif 000004
【図４】
0005437428.tif 000005
【図５】
0005437428.tif 000006
【図６】
0005437428.tif 000007
【図７】
0005437428.tif 000008
【図８】
0005437428.tif 000009
【図９】
0005437428.tif 000010
【図１０】
0005437428.tif 000011
【図１１】
0005437428.tif 000012
【図１２】
0005437428.tif 000013
【図１３】
0005437428.tif 000014