(57)【要約】【課題】携帯型電子機器の表示部上への異なる表示系を有するフレームワークの表示が、他のフレームワークの表示に影響を及ぼさない技術を提供すること。【解決手段】少なくとも２つのフレームワーク上でそれぞれ動作するアプリケーションの表示ウィンドウのウィンドウスタックを制御して、１つの画面に１つのウィンドウを表示するウィンドウ制御システムにおいて、異なるフレームワークのウィンドウ間にダミーウィンドウを挿入した。【選択図】      図１
2006318190.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのフレームワーク上でそれぞれ動作するアプリケーションの表示ウィンドウのウィンドウスタックを制御して、１つの画面に１つのウィンドウを表示するウィンドウ制御システムにおいて、
異なるフレームワークのウィンドウ間にダミーウィンドウを挿入したことを特徴とするウィンドウ制御システム。
【請求項２】
請求項１に記載のウィンドウ制御システムにおいて、前記アプリケーションによる割り込み表示の許可又は禁止を制御する管理タスクを更に具備することを特徴とするウィンドウ制御システム。
【請求項３】
請求項２に記載のウィンドウ制御システムにおいて、前記管理タスクは、最前面に位置するウィンドウに関するアプリケーションが動作する第１のフレームワークと異なる第２のフレームワーク上で動作するアプリケーションからのウィンドウの割り込み表示があった場合において、
割り込みを許可する場合には、前記第１のフレームワークのダミーウィンドウを最前面に位置させた後に、前記第２のフレームワークのウィンドウを最前面に移動させ、
割り込みを禁止する場合は、割り込み表示の対象となるウィンドウを前記第２のフレームワークのダミーウィンドウの直下に移動させることを特徴とするウィンドウ制御システム。
【請求項４】
少なくとも２つのフレームワーク上でアプリケーションを動作させる制御部と、
前記アプリケーションのウィンドウを表示させる表示手段と、
前記表示手段に表示されるウィンドウの表示順序を管理する管理手段と、を具備し、
前記管理手段は、前記２つのフレームワーク上で動作するアプリケーションによるウィンドウ間にダミーウィンドウを挿入したことを特徴とする携帯型電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯型電子機器及びウィンドウ制御システムに関する。
【背景技術】
【０００２】
例えば、携帯電話などの携帯型電子機器では、表示を切り替えながら１つの画面上に様々な情報が表示される。この場合において、携帯型電子機器には、異なる表示系を有する２つのフレームワークを備え、それぞれのフレームワーク上でアプリケーションが独立に動作して、画面上に所定の表示をするものがある。この場合において、１つのフレームワーク上で動作している複数のアプリケーションに関する表示を行うためのウィンドウについて、複数のウィンドウを切り替えながら制御する制御方法として、特許文献１に示すようなものがある。この制御方法は、表示装置に複数のウィンドウを表示する際のウィンドウの重ね合わせを管理するウィンドウスタック制御方法であって、アプリケーション毎にウィンドウをグループ化し、ウィンドウグループ毎に表示を制御している。このウィンドウスタック制御方法は、単一のフレームワーク上で動作するアプリケーションのウィンドウスタックを制御するものである。このため、この方法を、複数のフレームワーク上で動作するアプリケーションを単一のシステム上で動作させるということを実現するのに適用しようとすると、互いのフレームワーク間におけるウィンドウスタックの同期が行われていないため、「一方のフレームワークを利用して表示しているウィンドウスタック上に、他方のフレームワークを表示してはならない」といったような、フレームワーク間の競合を制御できないという問題がある。
【０００３】
すなわち、各フレームワーク上で動作しているアプリケーションは、互いに関連を持たず独立に動作しているので、異なるフレームワーク上で動作するアプリケーションは、互いに他のアプリケーションが起動していることを、認識せずにそれぞれ表示処理を行っている。このため、例えば、通話中にメール受信のポップアップ画面が表示されるといった、意図していない場面で意図しない画面（すなわち、ウィンドウ）が表示されてしまうという問題点がある。
【特許文献１】特開２００４−３１０６５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、携帯型電子機器のフレームワーク上で動作するアプリケーションによるウィンドウ表示が、他のフレームワークの表示に影響を及ぼさない技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明では、フレームワーク間で異なるウィンドウスタックの制御方法の差異を、フレームワークの下位に属するインテグレーション層によって吸収し、更にシステム独自のウィンドウスタック制御をインテグレーション層で行うことにより、互いのフレームワークにウィンドウスタックを意識させること無く、表示制御を行っている。なお、その手段として、ダミーウィンドウおよび代理タスクを使用している。
【０００６】
具体的には、本発明の局面に係るウィンドウ制御システムは、少なくとも２つのフレームワーク上でそれぞれ動作するアプリケーションの表示ウィンドウのウィンドウスタックを制御して、１つの画面に１つのウィンドウを表示するウィンドウ制御システムにおいて、異なるフレームワークのウィンドウ間にダミーウィンドウを挿入したことを特徴とする。
【０００７】
また、本発明に係る携帯型電子機器は、少なくとも２つのフレームワーク上でアプリケーションを動作させる制御部と、前記アプリケーションのウィンドウを表示させる表示手段と、前記表示手段に表示されるウィンドウの表示順序を管理する管理手段と、を具備し、前記管理手段は、前記２つのフレームワーク上で動作するアプリケーションによるウィンドウ間にダミーウィンドウを挿入したことを特徴とする。
【０００８】
なお、本発明は、上記のような、システムや装置の発明に限らず、当該システムや装置の機能を実現する方法の発明やプログラムとしても成立する。
【発明の効果】
【０００９】
本発明によれば、異なる表示系を持つアプリケーションの設計思想の違いによる差異を吸収し、単一のプラットフォーム上に共存させることが可能となる。
【発明を実施するための最良の形態】
【００１０】
図面を参照して本発明の実施の形態を説明する。図１は、本発明の実施の形態に係るウィンドウ制御システムが適用される携帯型電子機器の概観斜視図である。この携帯型電子機器は、上部筐体１と下部筐体２とをヒンジ機構３を介して回動可能に接続したいわゆる折り畳み型の携帯通信端末であり、図１は各筐体１，２を開いた状態を示している。
【００１１】
上部筐体１には、その前面にメインＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）４が配設され、背面に図示しないサブＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）が配設されている。一方、下部筐体２には、キー入力デバイス５等と共に図示しない主印刷配線基板が収容されている。
【００１２】
図２は、図１に示す携帯型電子機器の回路構成を示すブロック図である。  
図２に示す携帯型電子機器は、アンテナ１５に接続されたＲＦインターフェース部１０と、アナログ・ベースバンド処理部２０と、ＣＰＵ部３０と、コントローラ部４０と、メモリ５０とを備えている。  
アンテナ１５は、無線信号の送受信を行う。  
ＲＦインターフェース部１０は、アンテナ１５で受信した無線信号の受信処理やアンテナ１５から無線信号を送信するための送信処理を行う。  
アナログ・ベースバンド処理部２０には、スピーカ２２及びマイク２４が接続されており、スピーカ２２から入力された音声信号を符号化処理・プロトコル制御などしてＲＦインターフェース部１０に出力したり、ＲＦインターフェース部１０から入力した無線信号の復号化処理・プロトコル制御などして音声信号をマイク２４に出力したりする。また、ＣＰＵ部３０を介して入力した画像などのデータの符号化処理等或いはその逆の復号化処理も行う。  
ＣＰＵ部３０は、あらゆる演算処理を行うと共に、機器全体の制御を行う。  
コントローラ部４０には、文字や数字などを入力するためのキーパッド４２や、静止画像や動画像を撮影するためのカメラ４４や、画像やリストなどの様々な情報を表示するディスプレイ４６や、アプリケーションやミドルウェアなどのプログラムやデータを記憶するメモリ５０などの周辺機器を制御する。
【００１３】
本発明の実施形態では、異なるフレームワーク間での表示に係る制御方法の差異を吸収するようにしている。メモリ内のアプリケーションなどの構成を図３に示す。  
通常では、メモリ内においては、フレームワークが２つの場合には、第１のフレームワーク５３ａと第２のフレームワーク５３ｂが記憶されており、該第１のフレームワーク５３ａと第２のフレームワーク５３ｂ上で、それぞれ、アプリケーション１Ａ５４ａ１、アプリケーション１Ｂ５４ａ２と、アプリケーション２Ａ５４ｂ１、アプリケーション２Ｂ５４ｂ２とが動作するようになっている。本実施形態では、第１のフレームワーク５３ａと第２のフレームワーク５３ｂの制御の差異を吸収するために、第１と第２のフレームワーク５３ａ、５３ｂの下位に属するインテグレーション層５１を設けている。このインテグレーション層５１は、第１と第２のフレームワーク５３ａ、５３ｂを実装するための仕組みを提供するものである。以下、具体的な構成について説明する。
【００１４】
図３に示すように、インテグレーション層５１には、第１の実装ＡＰＩ（アプリケーション・・インターフェース）５２ａと第２の実装ＡＰＩ５２ｂとが設けられている。第１の実装ＡＰＩ５２ａは、第１のフレームワーク５３ａを実装する上で必要となる機能を提供し、第２の実装ＡＰＩ５２ｂは、第２のフレームワーク５３ｂを実装する上で必要となる機能を提供する。なお、アプリケーション５４ａ１から５４ｂ２は、本携帯型電子機器の機能をユーザに提供するためのプログラムであって、それぞれのフレームワーク５３ａ、５３ｂ上で動作する。また、第１と第２のフレームワーク５３ａ、５３ｂは、各アプリケーションを実装する上で必要となる部品（ライブラリ等）の塊であって、それぞれ異なるウィンドウシステムを持っている。
【００１５】
管理タスク５５は、各アプリケーション５４ａ１から５４ｂ２の状態管理や競合管理などの管理を行うためのプログラムである。しかし、第１と第２のフレームワーク５３ａ、５３ｂ上で動作するアプリケーション５４ａ１から５４ｂ２は、そのフレームワーク毎に制御方法が異なるため、この管理タスク５５によって、直接管理することができない。そこで、各アプリケーション５４ａ１から５４ｂ２と、管理タスク５５とのやり取りをするための代理タスクを設けている。具体的には、アプリケーション５４ａ１、５４ａ２と管理タスク５５とのやり取りを行うための第１の代理タスク５６ａと、アプリケーション５４ｂ１、５４ｂ２と管理タスク５５とのやり取りを行うための第２の代理タスク５６ｂとを備えている。  
上記のような構成により、フレームワーク５３ａ、５３ｂ毎に独立して管理されているアプリケーション５４ａ１、５４ａ２と５４ｂ１、５４ｂ２の管理を、管理タスク５５で一元的に行うことが出来る。
【００１６】
上記のように構成された携帯型電子機器において、あるフレームワーク上のウィンドウが最前面に表示されている状態で、他方のフレームワークによる割り込み表示が発生した場合の制御例を以下に示す。
【００１７】
まず、割り込み表示を許可するケースについて説明する。  
図４の（ａ）と（ｂ）に示すようなウィンドウが混在しているものとし、（ａ）のカメラアプリケーションのウィンドウが最前面にあり、（ｂ）のメールアプリケーションのウィンドウがその下にあり、非表示になっているものとする。このときのウィンドウスタックを図５に示す。なお、図５において、「Ａ」は第１のフレームワークのウィンドウを示し、「Ｂ」は第２のフレームワークのウィンドウを示している。図５に示すように、本発明の実施形態では、ダミーウィンドウを追加し、このダミーウィンドウにより、管理タスク５５に第２のフレームワーク上のアプリケーション（メール）上に、他のフレームワーク上のアプリケーション（カメラ）が存在していることを認識させている。これにより、それぞれのアプリケーションには、それぞれのアプリケーションに係るウィンドウを表示させているように認識させながら、実際の画面上における表示及び非表示の制御が出来る。以下、実際の制御方法について説明する。
【００１８】
図６から図９を参照して割り込み表示を許可する場合の動作の流れを説明する。図６は、割り込み表示を許可する場合の動作の流れを示した図であり、図７から図９は、図６の各ステップにおけるウィンドウスタックの例を示す図である。なお、図６の動作は、図５において、カメラアプリケーション（第１のフレームワーク）のウィンドウ（以下、「カメラウィンドウ」と称する）の表示がなされている場合にメールアプリケーション（第２のフレームワーク）のウィンドウ（以下、「メールウィンドウ」と称する）の割り込み表示がなされる場合を示す例である。
【００１９】
まず、メールウィンドウの割り込み要求があった場合に、代理タスク５６ａ（又は５６ｂ）に、割り込み表示をするかどうかの問い合わせを行う（ステップＡ１）。ここで、管理タスク５５が割り込み表示を許可すると判断すれば、ステップＡ２からステップＡ４のような動作により、割り込み表示を行う。  
具体的には、まず、最前面に第１のフレームワークのダミーウィンドウを作成する（ステップＡ２、図７）。これにより、第１のフレームワークと第２のフレームワークに対してダミーウィンドウがそれぞれ作成される。次に、メールウィンドウを最前面に移動する（ステップＡ３、図８）。このとき、メールウィンドウは表示状態になり、カメラウィンドウはダミーウィンドウの直下に移動する。この時点で、第２のフレームワークのダミーウィンドウは不要になるので、当該ダミーウィンドウを削除する（ステップＡ４、図９）。
【００２０】
図１０から図１２を参照して割り込み表示を許可しない場合の動作の流れを説明する。図１１は、図１０のウィンドウの初期状態におけるウィンドウスタックを示している。図１２は、割り込み表示を許可しない場合の動作の流れを説明するための図であり、図１３は、図１２のステップＢ２におけるウィンドウスタックの例を示す図である。  
図１０に示すように、通話ウィンドウ（図１０の（ａ））と、メールウィンドウ（図１０の（ｂ））と、ブラウザアプリケーション（第２のフレームワーク）のウィンドウ（図１０の（ｃ）。以下、「ブラウザウィンドウ」と称する）があり、図１１に示すように、通話ウィンドウが最前面にあり、続いて、ダミーウィンドウ、ブラウザウィンドウ及びメールウィンドウの順に配置されているものとする。
【００２１】
この場合において、メールウィンドウの割り込み要求があった場合に、代理タスク５６ａ（又は５６ｂ）に、割り込み表示をするかどうかの問い合わせを行う（ステップＢ１）。ここで、通話ウィンドウにおける表示が通話中であれば、割り込みを行うことは好ましくないので、管理タスク５５が割り込み表示を許可しないと判断して、通話が終了した時点でメールの受信を表示するためのメールウィンドウをダミーウィンドウの直下に移動する（ステップＢ２、図１３）。すなわち、この時点では、通話ウィンドウは最前面にあるが、メールウィンドウとブラウザウィンドウが入れ替わっており、通話が終了した時点で表示されるウィンドウがブラウザウィンドウではなく、メールウィンドウになる。
【００２２】
そして、通話が終了すると、通話ウィンドウは、割り込み許可状態となるので、ウィンドウを終了するか、ブラウザの直下にダミーウィンドウを介して配置される。そして、通話ウィンドウとメールウィンドウとの間に配置されたダミーウィンドウが消去されることにより、メールウィンドウが最前面に表示されることになる。
【００２３】
なお、本発明の携帯型電子機器において、キーパッド４２によるキー押下のイベントが発生すると、キーボードフォーカスを第１のフレームワークの一番上のウィンドウと、第２のフレームワークの一番上のウィンドウに当てるように制御している。よって、それぞれの一番上のフレームワークの上に更に同じフレームワークのダミーウィンドウが存在する場合には、そのダミーウィンドウにキーボードフォーカスを当てることになる。
【００２４】
例えば、図１３に示されたウィンドウスタックの例の場合、第１のフレームワークのフォーカスは通話ウィンドウに、第２のフレームワークのフォーカスはダミーウィンドウにそれぞれキーボードフォーカスが当たっている。そのため、キーパッド４２によるキー押下がなされた場合においては、通話ウィンドウと、ダミーウィンドウにキー入力のイベントが通知されることになる。これによって、本ダミーウィンドウを所有するフレームワーク上のアプリケーションに対するキー押下イベントの配送を、抑止することが可能である。
【００２５】
上記のように、本発明の実施形態では、ダミーウィンドウを導入することにより、それぞれのフレームワーク上で動作するアプリケーションのウィンドウの表示を、管理タスクで一元的に管理できる。従って、意図しないような表示を行うことを防ぐことができる。なお、管理タスクが認識（管理）していないアプリケーションからの表示要求があった場合には、全て抑止するようにすれば、意図しない表示がなされることはない。  本発明は、上記各実施の形態に限ることなく、その他、実施段階ではその要旨を逸脱しない範囲で種々の変形を実施し得ることが可能である。さらに、上記各実施形態には、種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。
【００２６】
また、例えば各実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係るウィンドウ制御システムが適用される携帯型電子機器の概観斜視図。
【図２】図１に示す携帯型電子機器の回路構成を示すブロック図
【図３】メモリ内のアプリケーションなどの構成を示す図。
【図４】割り込み表示を許可するケースについて説明するための図。
【図５】図４に係るウィンドウスタックの例を示す図。
【図６】割り込み表示を許可する場合の動作の流れを示した図。
【図７】ステップＡ２におけるウィンドウスタックの例を示す図。
【図８】ステップＡ３におけるウィンドウスタックの例を示す図。
【図９】ステップＡ４におけるウィンドウスタックの例を示す図。
【図１０】割り込み表示を許可しないケースについて説明するための図。
【図１１】図１０に係るウィンドウスタックの例を示す図。
【図１２】割り込み表示を許可しない場合の動作の流れを示した図。
【図１３】ステップＢ２におけるウィンドウスタックの例を示す図。
【符号の説明】
【００２８】
１…上部筐体
２…下部筐体
３…ヒンジ機構
４…メインＬＣＤ
５…キー入力デバイス
１０…ＲＦインターフェース部
１５…アンテナ
２０…アナログ・ベースバンド処理部
２２…スピーカ
２４…マイク
３０…ＣＰＵ部
４０…コントローラ部
４２…キーパッド
４４…カメラ
４６…ディスプレイ
５０…メモリ
５１…インテグレーション層
５２ａ…第１の実装ＡＰＩ
５２ｂ…第２の実装ＡＰＩ
５３ａ…第１のフレームワーク
５３ｂ…第２のフレームワーク
５４ａ１、５４ａ２、５４ｂ１、５４ｂ２…アプリケーション
５５…管理タスク
５６ａ…第１の代理タスク
５６ｂ…第２の代理タスク
【図１】
2006318190.tif 000003
【図２】
2006318190.tif 000004
【図３】
2006318190.tif 000005
【図４】
2006318190.tif 000006
【図５】
2006318190.tif 000007
【図６】
2006318190.tif 000008
【図７】
2006318190.tif 000009
【図８】
2006318190.tif 000010
【図９】
2006318190.tif 000011
【図１０】
2006318190.tif 000012
【図１１】
2006318190.tif 000013
【図１２】
2006318190.tif 000014
【図１３】
2006318190.tif 000015