(57)【要約】【課題】ウィンドウシステムにおける利用者の利便性を向上させる。【解決手段】利用者の指定に応じてウィンドウの表示を制御するシステムであって、指定されたウィンドウと他のそれぞれのウィンドウとの間に、一方のウィンドウに表示されたコンテンツが他方のウィンドウに表示されたコンテンツに対する参照を含む関係である参照関係を検出する参照検出部と、指定されたウィンドウとの間に参照関係が検出されたウィンドウについて、指定されたウィンドウとの間に参照関係が検出されなかったウィンドウよりも高い表示優先度を算出する優先度算出部と、表示優先度に応じてそれぞれのウィンドウを画面に表示する表示制御部とを備えるシステムを提供する。【選択図】図４
2007213527.tif 000002
【特許請求の範囲】
【請求項１】
利用者の指定に応じてウィンドウの表示を制御するシステムであって、
指定されたウィンドウと他のそれぞれのウィンドウとの間に、一方のウィンドウに表示されたコンテンツが他方のウィンドウに表示されたコンテンツに対する参照を含む関係である参照関係を検出する参照検出部と、
前記指定されたウィンドウとの間に前記参照関係が検出されたウィンドウについて、前記指定されたウィンドウとの間に前記参照関係が検出されなかったウィンドウよりも高い表示優先度を算出する優先度算出部と、
前記表示優先度に応じてそれぞれのウィンドウを画面に表示する表示制御部と
を備えるシステム。
【請求項２】
前記画面に表示されたウィンドウに対する入力を利用者から受け付ける入力部を更に備え、
前記参照検出部は、ウィンドウを指定する入力が前記入力部によって受け付けられたことに応じ、前記指定されたウィンドウに表示されたコンテンツおよび他のそれぞれのウィンドウに表示されたコンテンツのそれぞれを走査することにより前記参照を検出する
請求項１に記載のシステム。
【請求項３】
前記参照検出部は、更に、前記指定されたウィンドウとの間に前記参照関係が検出されたウィンドウと、前記指定されたウィンドウとの間に前記参照関係が検出されなかったウィンドウとの間に前記参照関係を検出し、
前記優先度算出部は、前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウについて、前記指定されたウィンドウから前記参照関係を経由して到達不能なウィンドウよりも高い表示優先度を算出する
請求項１に記載のシステム。
【請求項４】
前記参照検出部は、更に、前記指定されたウィンドウから前記参照関係を経由して到達不能な一のウィンドウと、他のそれぞれのウィンドウとの間に前記参照関係を検出し、
前記優先度算出部は、前記一のウィンドウ、および、前記一のウィンドウとの間に前記参照関係が検出されたウィンドウについて、前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウの次に高い表示優先度を算出する
請求項３に記載のシステム。
【請求項５】
前記表示制御部は、前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウのそれぞれを、前記一のウィンドウとの間に前記参照関係が検出されたウィンドウのそれぞれを表示する前記画面上の領域よりも広い領域に表示する
請求項４に記載のシステム。
【請求項６】
前記優先度算出部は、前記指定されたウィンドウから前記参照関係を経由して到達可能なそれぞれのウィンドウについて、当該ウィンドウが前記参照の参照先であることを条件に、当該ウィンドウが当該参照の参照元である場合よりも高い表示優先度を算出する
請求項３に記載のシステム。
【請求項７】
前記優先度算出部は、前記指定されたウィンドウから前記参照関係を経由して到達可能なそれぞれのウィンドウについて、当該ウィンドウが参照元または参照先となっている前記参照の種類に応じて定められた表示優先度を算出する
請求項３に記載のシステム。
【請求項８】
前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウのうち、第１の前記ウィンドウは第１のウェブページの内容を表示し、第２の前記ウィンドウは第２のウェブページの内容を表示する場合において、
前記優先度算出部は、前記第１のウィンドウから前記第２のウィンドウへの前記参照関係が、前記第１のウェブページに表示された操作用オブジェクトを利用者が操作したことに応じ前記第２のウェブページが表示される関係であることを条件に、他の種類の前記参照関係である場合と比較してより高い表示優先度を算出する
請求項７に記載のシステム。
【請求項９】
前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウのうち、第１の前記ウィンドウは第１プログラムの動作内容を表示し、第２の前記ウィンドウは第２プログラムの動作内容を表示する場合において、
前記優先度算出部は、前記第１のウィンドウから前記第２のウィンドウへの前記参照関係が、前記第１プログラムの実行に応じ前記第２プログラムを起動する関係であることを条件に、他の種類の前記参照関係である場合と比較してより高い表示優先度を算出する
請求項７に記載のシステム。
【請求項１０】
前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウのうち、第１の前記ウィンドウは変数の定義を含むコンテンツを表示し、第２の前記ウィンドウはプログラムの動作内容を表示する場合において、
前記優先度算出部は、当該プログラムの動作によって前記第１のウィンドウ中で定義される変数の値が変更されることを条件に、前記第１および前記第２のウィンドウについて、利用者による前記操作用オブジェクトの操作によってウィンドウが表示される場合よりも低く他の場合よりも高い表示優先度を算出する
請求項８に記載のシステム。
【請求項１１】
前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウのうち、第１の前記ウィンドウは第１のウェブページの内容を表示し、第２の前記ウィンドウは第２のウェブページの内容を表示する場合において、
前記優先度算出部は、前記第１のウェブページおよび前記第２のウェブページの一方のハイパーリンクによって他方が参照されることを条件に、前記第１および前記第２のウィンドウについて、前記定義される変数の値がプログラムの動作によって変更される場合よりも低く他の場合よりも高い表示優先度を算出する
請求項１０に記載のシステム。
【請求項１２】
前記指定されたウィンドウから前記参照関係を経由して到達可能なウィンドウのうち、第１の前記ウィンドウは変数の定義を含むコンテンツを表示し、第２の前記ウィンドウはプログラムの動作内容を表示する場合において、
前記優先度算出部は、当該プログラムによって前記変数の値が参照されることを条件に、前記定義される変数の値がプログラムの動作によって変更される場合よりも低く他の場合よりも高い表示優先度を算出する
請求項１０に記載のシステム。
【請求項１３】
前記表示制御部は、前記表示優先度のより高いウィンドウを、前記表示優先度のより低いウィンドウの少なくとも一部を隠蔽するように重ねて前記画面に表示する
請求項１に記載のシステム。
【請求項１４】
それぞれの前記ウィンドウは、ウェブページまたはプログラムを示し、更に、
当該ウェブページまたはプログラムにおいて定義される変数の識別子を行の左側に、かつ、当該変数の値を行の右側に表示し、更に、
当該ウェブページまたはプログラムの識別子を当該ウィンドウの上辺近傍に表示し、
前記表示制御部は、前記指定されたウィンドウを中心とした円の外周に、他のそれぞれのウィンドウを、前記表示優先度の高い順に前記指定されたウィンドウの右近傍から左回りに配列して表示する
請求項１３に記載のシステム。
【請求項１５】
前記表示制御部は、ウィンドウの表示に代えて当該ウィンドウを識別可能なアイコンを表示している状態において、前記表示優先度の算出に応じ、前記アイコンの表示位置に基づく位置に前記表示優先度に応じてそれぞれのウィンドウを表示する
請求項１３に記載のシステム。
【請求項１６】
利用者の指定に応じてウィンドウの表示を制御する方法であって、
指定されたウィンドウと他のそれぞれのウィンドウとの間に、一方のウィンドウに表示されたコンテンツが他方のウィンドウに表示されたコンテンツに対する参照を含む関係である参照関係を検出するステップと、
前記指定されたウィンドウとの間に前記参照関係が検出されたウィンドウについて、前記指定されたウィンドウとの間に前記参照関係が検出されなかったウィンドウよりも高い表示優先度を算出するステップと、
前記表示優先度に応じてそれぞれのウィンドウを画面に表示するステップと
を備える方法。
【請求項１７】
利用者の指定に応じてウィンドウの表示を制御するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
指定されたウィンドウと他のそれぞれのウィンドウとの間に、一方のウィンドウに表示されたコンテンツが他方のウィンドウに表示されたコンテンツに対する参照を含む関係である参照関係を検出する参照検出部と、
前記指定されたウィンドウとの間に前記参照関係が検出されたウィンドウについて、前記指定されたウィンドウとの間に前記参照関係が検出されなかったウィンドウよりも高い表示優先度を算出する優先度算出部と、
前記表示優先度に応じてそれぞれのウィンドウを画面に表示する表示制御部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウィンドウの表示を制御するシステムおよびその方法に関する。特に、本発明は、ウィンドウの表示優先順位を自動的に判断するシステムおよびその方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータなどの情報処理装置においては、複数のウィンドウを表示可能なウィンドウシステムが採用されている。このウィンドウシステムによって、利用者は、複数のウィンドウに関連するコンテンツを表示させて見比べたり、一方のウィンドウに表示されたコンテンツを参照しながら他方のウィンドウに表示されたコンテンツを編集したりすることができる。しかしながら、画面に多数のウィンドウが重なり合って表示されている場合には、利用者が所望のウィンドウを見つけ出すことが難しい。
【０００３】
これに対し、ウィンドウを見つけ易くする各種の機能が用いられている。例えば、マイクロソフト社のウィンドウズ（登録商標）では、ウィンドウとは別にタスクバーが表示される。タスクバーには、表示中のウィンドウのみならず一時的に表示を中止したウィンドウが一覧表示される。また、他の技術として、画面上に表示されたウィンドウを整理するべくその表示位置を変更する技術が用いられている。例えば、上述のウィンドウズにおいては、それぞれのウィンドウを互いに重ならないように画面上に敷き詰める機能（タイル表示機能）が用意されている。このタイル表示機能については、特許文献１にも記載されている。また、ウィンドウズにおいては、それぞれのウィンドウを、その表示位置をずらしながら重ねて表示する機能（カスケード表示機能）が用意されている。
【０００４】
また、ウィンドウズには、最も最近に操作されたウィンドウから順に、ウィンドウをシンボル化して並べて表示する機能が設けられている（ＡＬＴキーとＴＡＢキーとを押下することにより呼び出されることが知られている）。この機能によれば、利用者は、最近に操作したウィンドウを見つけ出しやすい。また、他の技術として、画面が多数のウィンドウで込み合ってきたときに、見えている画面領域が最も小さい割合となるウィンドウを消去する技術が提案されている（特許文献２を参照。）。この技術によれば、不要なウィンドウを自動的に見つけ出し、利用者を煩わせることなくウィンドウを整理できる。
特許文献３については後述する。
【特許文献１】特開平９−１８５４８１号公報
【特許文献２】特開２００５−０５６８９０号公報
【特許文献３】特開２００３−１９５９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、タスクバー、タイル表示機能、または、カスケード表示機能によっても、ウィンドウの数が多くなると所望のウィンドウを見つけ出しにくい場合がある。また、しばらく操作していないウィンドウや手前側に表示されていないウィンドウであっても、利用者にとって重要であり表示を維持したい場合も多い。このため、利用者にとって重要な複数のウィンドウをグループ化して、他のグループよりも優先して（例えば手前側に）表示する方法も考えられている。特許文献３には、複数のウィンドウをファイル名やタイトルなどに基づきグループに分類し、グループ間の表示優先度とグループ内の表示優先度とを設定する技術が提案されている。しかしながら、ファイル名やタイトルによる分類では、異なる種類のウィンドウを同一のグループに分類しにくい。例えば、ウェブページを編集するウィンドウとウェブサービスプログラムを編集するウィンドウとは、これらが密接に関連しているのにも関わらず、ファイルの拡張子やタイトルなどが大きく異なるので同一のグループには分類されにくい。
【０００６】
そこで本発明は、上記の課題を解決することのできるシステム、方法、および、プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態においては、利用者の指定に応じてウィンドウの表示を制御するシステムであって、指定されたウィンドウと他のそれぞれのウィンドウとの間に、一方のウィンドウに表示されたコンテンツが他方のウィンドウに表示されたコンテンツに対する参照を含む関係である参照関係を検出する参照検出部と、指定されたウィンドウとの間に参照関係が検出されたウィンドウについて、指定されたウィンドウとの間に参照関係が検出されなかったウィンドウよりも高い表示優先度を算出する優先度算出部と、表示優先度に応じてそれぞれのウィンドウを画面に表示する表示制御部とを備えるシステムを提供する。また、このシステムによって表示を制御する方法、および、このシステムとして情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【０００８】
本発明によれば、ウィンドウシステムにおける利用者の利便性を、これまでより向上することができる。
【発明を実施するための最良の形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１０】
図１は、情報処理システム１０の全体構成を示す。情報処理システム１０は、利用者端末２０と、ウェブサーバ４０とを備える。利用者端末２０は、利用者からの入力を受け付け、その入力に基づく処理結果を画面２５に表示する。また、利用者端末２０は、ネットワーク３０を経由してウェブサーバ４０に接続されており、利用者からの入力に応じてウェブサーバ４０と通信する。ウェブサーバ４０は、利用者端末２０から受けた要求に応じてデータを利用者端末２０に送信し、画面２５において表示させる。利用者端末２０は、ウェブサーバ４０の指示に基づいて複数のウィンドウを画面２５に表示してもよい。
【００１１】
図２は、画面２５の第１表示例を示す。画面２５に表示される複数のウィンドウのそれぞれには、互いに異なるコンテンツが表示される。図２の表示例ではコンテンツの例として、ウェブアプリケーション作成用のプログラムの動作画面を示す。このプログラムは、ウェブアプリケーションを構成する複数のソフトウェアコンポーネントのそれぞれを、カードと呼ばれるウィンドウに表示する。それぞれのウィンドウには、カードの識別子としてアルファベットが表示される。図２の例において利用者端末２０は、カードＡからカードＴまでのそれぞれを示す２０個のウィンドウを表示する。これらのカードのタイトルは、「カード一覧」などのボタンを操作することによって一覧表示される。以降、あるカードＸを示すウィンドウをウィンドウＸなどと呼ぶ。
【００１２】
ウィンドウＮは、ウェブアプリケーションを構成するある１つのウェブページの内容を表示する。具体的には、ウィンドウＮは、制御項目と出力項目とを備える。制御項目は、「起動」の欄に他のカードの識別子を含む。この識別子は、このウェブページの表示に応じ起動されるプログラムの動作内容を表示するカードを示す。即ち、ウィンドウＮに表示されたウェブページが表示されると、カードＨ、カードＰ、カードＯ、カードＫ、および、カードＪのそれぞれに表示されたプログラムが起動される。
【００１３】
また、ウィンドウＮの出力項目は、このウェブページの表示を定めるソースファイルを含む。このソースファイルは、例えば、HTML(Hyper Text Markup Language)によって記述されてもよい。その他のウィンドウは、ウィンドウＮと同様にウェブページの内容を示してもよいし、ウェブサービスなどのプログラムの動作内容を示してもよい。例えば、ウィンドウＨは、SQL(Structured Query Language)のコマンドを記述するためのカードを表示する。ウィンドウＨが他のウィンドウのカードから呼び出されると、そのコマンドがデータベースに対して発行される。
【００１４】
利用者は、以上に例示したそれぞれのカードを編集することで、Java(登録商標)言語などの特殊なプログラム言語を知らなくても、ウェブアプリケーションを構成するソフトウェアコンポーネントを作成できる。
【００１５】
図３は、画面２５の第２表示例を示す。利用者端末２０は、第１表示例におけるそれぞれのウィンドウをアイコンとして表示してもよい。図３でアルファベットを付したアイコンは、そのアルファベットを識別子とするウィンドウに対応する。即ち、画面２５は、ウィンドウＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｌ、ＭおよびＴのそれぞれに対応するアイコンを表示している。
【００１６】
図３の例において、利用者端末２０は、ウェブサーバ４０の指示に基づき、ウィンドウ間の参照関係を表示してもよい。参照関係は、その種類毎に異なる矢印として表される。参照関係の種類は、例えば、ページ遷移、他カードの起動、値の代入、ハイパーリンク、および、値の参照の５種類である。ページ遷移の参照関係とは、第１のウェブページに表示された操作用オブジェクトを利用者が操作したことに応じ第２のウェブページが表示される関係をいう。例えば、ウィンドウＡおよびウィンドウＣはこの参照関係にある。即ち、ウィンドウＡに表示されたウェブページの操作用オブジェクトを利用者が操作したことに応じ、ウィンドウＣに表示されたウェブページが表示される。より詳細には、ウィンドウＡに表示されたウェブページには、ウィンドウＢに表示されたウェブページに表示を遷移させるためのＨＴＭＬのタグが含まれていてもよい。このタグは、例えば、ＦＯＲＭタグであり、ＡＣＴＩＯＮ属性にはウィンドウＢに表示されたウェブページへの遷移が指定されていてもよい。この場合、ＦＯＲＭタグの他の属性の属性値は遷移先のウェブページに与えられてもよい。また、ここでいう操作用オブジェクトは、ポインティングデバイスによりクリックすることのできるボタンなどである。
【００１７】
他カードの起動の参照関係とは、第１プログラムの実行に応じ第２プログラムが起動する関係をいう。例えば、ウィンドウＧおよびウィンドウＬはこの参照関係にある。即ち、ウィンドウＧに表示された第１プログラムが実行されるとウィンドウＬに表示された第２プログラムが従属的に起動される。即ち例えば、第１プログラムがウェブページを表示するプログラムであったとすると、そのウェブページの表示に応じて第２プログラムが従属的に起動する関係である。また、値の代入の参照関係とは、あるプログラムの動作によって他のウィンドウで定義された値が変更されることをいう。例えば、ウィンドウＭと表示外のウィンドウとはこの参照関係にある。即ち、ウィンドウＭに表示されたプログラムの動作によって、図３の表示外のあるウィンドウで定義された値が変更される。
【００１８】
ハイパーリンクの参照関係とは、第１のウェブページおよび第２のウェブページの一方のハイパーリンクによって他方が参照される関係をいう。例えば、ウィンドウＡとウィンドウＴとがこの参照関係にある。即ち、ウィンドウＴのウェブページに含まれるハイパーリンクによってウィンドウＡのウェブページが参照されている。また、値の参照の参照関係とは、あるプログラムによって他のウィンドウ中で定義された変数の値が変更される関係を言う。例えば、ウィンドウＢとウィンドウＤとはこの参照関係にある。即ち、ウィンドウＤに表示されるプログラムは、その動作中にウィンドウＢ中の変数値を参照する。
【００１９】
図４は、ウェブサーバ４０の機能構成を示す。ウェブサーバ４０は、要求に応じて画面の情報を返信するサーバとして機能するほか、ウィンドウの表示を制御するためのシステムとしても機能する。具体的には、ウェブサーバ４０は、入力部４００と、参照検出部４１０と、優先度算出部４２０と、表示制御部４３０とを有する。入力部４００は、画面２５に表示されたウィンドウに対する入力を利用者から受け付ける。そして、入力部４００は、利用者によって何れかのウィンドウが指定されたか否かを判断する。例えば、入力部４００は、ウィンドウをアクティブ化する操作を受け付けたことを条件に、そのウィンドウが指定されたと判断してもよい。また、入力部４００は、アクティブ化した状態で特定のキー操作を受け付けたことを条件に、そのウィンドウが指定されたと判断してもよい。
【００２０】
参照検出部４１０は、指定されたウィンドウと他のそれぞれのウィンドウとの間に、一方のウィンドウに表示されたコンテンツが他方のウィンドウに表示されたウィンドウに表示されたコンテンツに対する参照を含む関係である参照関係を検出する。具体的には、まず、参照検出部４１０は、ウィンドウを指定する入力が入力部４００によって受け付けられたことに応じ、指定されたウィンドウに表示されたコンテンツ、および、他のそれぞれのウィンドウに表示されたコンテンツを走査する。そして、参照検出部４１０は、それぞれのコンテンツから他のそれぞれのコンテンツに対する参照を検出する。そして、参照検出部４１０は、検出されたこの参照に基づいて、指定されたウィンドウと他のそれぞれのウィンドウとの間の参照関係を検出する。これに加えて、参照検出部４１０は、検出されたこの参照に基づいて、指定されたウィンドウとの間に参照関係が検出されたウィンドウと、更に他のウィンドウとの間に参照関係を検出してよい。
【００２１】
優先度算出部４２０は、指定されたウィンドウとの間に参照関係が検出されたウィンドウについて、指定されたウィンドウとの間に参照関係が検出されなかったウィンドウよりも高い表示優先度を算出する。表示制御部４３０は、算出された表示優先度に応じてそれぞれのウィンドウを画面に表示する。例えば、表示制御部４３０は、表示優先度のより高いウィンドウを、表示優先度のより低いウィンドウの少なくとも一部を隠蔽するように重ねて画面２５に表示してもよい。
【００２２】
図５は、参照関係に基づきウィンドウの表示を制御する処理のフローチャートである。入力部４００は、利用者によって何れかのウィンドウが指定されたか否かを判断する（Ｓ５００）。ウィンドウの指定に応じ（Ｓ５００：ＹＥＳ）、参照検出部４１０は、指定されたウィンドウと他のそれぞれのウィンドウとの間に参照関係を検出する（Ｓ５１０）。ここでは更に、参照検出部４１０は、指定されたウィンドウを起点とした推移的な参照関係を検出してもよい。即ち、参照検出部４１０は、指定されたウィンドウと他のそれぞれのウィンドウとの間の参照関係を検出し、参照関係の検出されたウィンドウと更に他のウィンドウとの間の参照関係を検出してもよい。これに加えて更に、参照検出部４１０は、指定されたウィンドウから参照関係を経由して到達不能な一のウィンドウを選択し、この一のウィンドウを起点とした推移的な参照関係を検出してもよい。
【００２３】
優先度算出部４２０は、検出された参照関係に基づいて、それぞれのウィンドウの表示優先度を算出する（Ｓ５２０）。具体的には、優先度算出部４２０は、指定されたウィンドウから参照関係を経由して到達可能なウィンドウについて、指定されたウィンドウから参照関係を経由して到達不能なウィンドウよりも高い表示優先度を算出してもよい。また、優先度算出部４２０は、指定されたウィンドウから到達不能な一のウィンドウ、および、当該一のウィンドウとの間に参照関係が検出されたウィンドウについて、指定されたウィンドウから到達可能なウィンドウの次に高い表示優先度を算出してもよい。表示制御部４３０は、算出された表示優先度に応じてそれぞれのウィンドウを画面に表示する（Ｓ５３０）。
【００２４】
図６は、Ｓ５１０における処理の詳細を示す。参照検出部４１０は、指定されたウィンドウを起点とした推移的な参照関係を検出する（Ｓ６００）。次に、参照検出部４１０は、画面２５上の全てのウィンドウについて他のウィンドウとの間の参照関係が検出されたかを判断する（Ｓ６１０）。検出されていれば（Ｓ６１０：ＹＥＳ）、参照検出部４１０は、Ｓ５１０の処理を終了する。一方、検出されていなければ（Ｓ６１０：ＮＯ）、参照検出部４１０は、指定されたウィンドウから参照関係を経由して到達不能な一のウィンドウを選択する（Ｓ６２０）。例えば、参照検出部４１０は、指定されたウィンドウから参照関係を経由して到達不能なウィンドウの中で、もとの表示優先度が最も高いウィンドウ、例えば最も手前側に表示されたウィンドウを選択してよい。そして、参照検出部４１０は、選択した当該一のウィンドウと、他のそれぞれのウィンドウとの間に参照関係を検出し（Ｓ６３０）、Ｓ６１０に処理を戻す。
【００２５】
図７は、Ｓ６００およびＳ６３０における処理の詳細を示す。図７を用いて、ある基準ウィンドウを起点とした推移的な参照関係を検出する処理を説明する。図７ではＳ６１０およびＳ６３０のそれぞれをまとめて説明するが、Ｓ６００における基準ウィンドウは、Ｓ５００において指定されたウィンドウであり、Ｓ６３０における基準ウィンドウは、Ｓ６２０において選択されたウィンドウである。まず、参照検出部４１０は、基準ウィンドウと他のそれぞれのウィンドウとの間の参照関係を検出する（Ｓ７００）。
【００２６】
新たに参照関係が検出されなければ（Ｓ７１０：ＮＯ）、参照検出部４１０は、参照関係の検出処理を終了する。新たな参照関係が検出されたことを条件に（Ｓ７１０：ＹＥＳ）、参照検出部４１０は、新たに参照関係が検出されたそれぞれのウィンドウについて次の処理をする（Ｓ７２０）。参照検出部４１０は、新たに参照関係が検出された当該ウィンドウと、未だ参照関係が検出されていない他のウィンドウとの間に参照関係を検出する（Ｓ７３０）。参照検出部４１０は、以上の処理を、新たに参照関係の検出されたそれぞれのウィンドウについて繰り返す（Ｓ７４０）。
【００２７】
以上、図６および図７に示す処理によれば、指定されたウィンドウから参照関係を経由して推移的に到達可能な一群のウィンドウを検出することができる。また、その他のウィンドウについても、ある基準ウィンドウから参照関係を経由して推移的に到達可能な一群のウィンドウを検出することができる。これにより、画面２５上に表示されたウィンドウを、互いに関連する複数のウィンドウを含むグループ毎に分類することができる。
【００２８】
図８は、Ｓ５２０における処理の詳細を示す。優先度算出部４２０は、指定されたウィンドウから到達可能なそれぞれのウィンドウについて表示優先度を算出する。各ウィンドウの表示優先度は、図８に示すように、当該ウィンドウが参照元または参照先となっている参照の種類に応じて定められる。また、各ウィンドウについて算出される表示優先度は、当該ウィンドウが参照の参照先であることを条件に、当該ウィンドウが当該参照の参照元である場合よりも高い。具体的には以下の通りである。
【００２９】
指定されたウィンドウから到達可能なウィンドウのうち、第１のウィンドウが第１のウェブページを表示し、第２のウィンドウが第２のウェブページを表示する場合がある。この場合、優先度算出部４２０は、これらのウィンドウの参照関係が、第１のウェブページに表示された操作用オブジェクトを利用者が操作したことに応じ第２のウェブページを表示する関係（ページ遷移の参照関係）であるかを判断する。当該関係であることを条件に、優先度算出部４２０は、他の種類の参照関係である場合と比較してより高い表示優先度を算出する。例えば、優先度算出部４２０は、ページ遷移の参照関係の参照元に優先度＋５を算出し、参照先に優先度＋６を算出する。
【００３０】
また、指定されたウィンドウから到達可能なウィンドウのうち、第１のウィンドウは第１プログラムの動作内容を表示し、第２のウィンドウは第２プログラムの動作内容を表示する場合がある。この場合、優先度算出部４２０は、これらのウィンドウの参照関係が、第１プログラムの動作に応じ第２プログラムを起動する関係（他カードの起動の参照関係）であるかを判断する。当該関係であることを条件に、優先度算出部４２０は、他の種類の参照関係である場合と比較してより高い表示優先度を算出する。例えば、優先度算出部４２０は、他カードの起動の参照関係の参照元に、優先度＋４を算出し、参照先に優先度＋５を算出してもよい。
【００３１】
また、指定されたウィンドウから参照関係を経由して到達可能なウィンドウのうち、第１のウィンドウは変数の定義を含むコンテンツを表示し、第２のウィンドウはプログラムの動作内容を表示する場合がある。この場合、優先度算出部４２０は、これらの間の参照関係が、このプログラムの動作によって第１のウィンドウ中で定義される変数の値が変更される関係（値の代入の参照関係）であるかを判断する。当該関係であることを条件に、優先度算出部４２０は、第１および第２のウィンドウについて、利用者による操作用オブジェクトの操作によってプログラムを起動する場合よりも低く他の場合よりも高い表示優先度を算出する。例えば、優先度算出部４２０は、値の代入の参照関係の参照元に優先度＋２を算出し、参照先に優先度＋３を算出してもよい。
【００３２】
また、指定されたウィンドウから参照関係を経由して到達可能なウィンドウのうち、第１の前記ウィンドウは第１のウェブページの内容を表示し、第２の前記ウィンドウは第２のウェブページの内容を表示する場合がある。この場合、優先度算出部４２０は、これらの参照関係が、第１のウェブページおよび第２のウェブページの一方のハイパーリンクによって他方が参照される関係（ハイパーリンクの参照関係）であるかを判断する。当該関係であることを条件に、優先度算出部４２０は、第１および第２のウィンドウについて、定義される変数の値がプログラムの動作によって変更される場合よりも低く他の場合よりも高い表示優先度を算出する。例えば、優先度算出部４２０は、ハイパーリンクの参照関係の参照元に優先度＋１を算出し、参照先に優先度＋２を算出してもよい。
【００３３】
また、指定されたウィンドウから参照関係を経由して到達可能なウィンドウのうち、第１のウィンドウは変数の定義を含むコンテンツを表示し、第２のウィンドウはプログラムの動作内容を表示する場合がある。この場合、優先度算出部４２０は、これらの参照関係が、プログラムによって変数の値が参照される関係（値の参照の参照関係）であるかを判断する。当該関係であることを条件に、優先度算出部４２０は、定義される変数の値がプログラムの動作によって変更される場合よりも低く他の場合よりも高い表示優先度を算出する。例えば、優先度算出部４２０は、値の参照の参照関係の参照元に優先度＋１を算出し、参照先に優先度＋２を算出してもよい。
以上のように算出された優先度は、ウィンドウ毎に合計される。優先度算出部４２０は、それぞれのウィンドウについて合計された優先度を、算出すべき表示優先度として取り扱う。
【００３４】
図９は、ウィンドウの配置を変更した後の画面２５の表示例を示す。図２などの例と同様、それぞれのウィンドウは、ウェブページまたはプログラムなどを示している。さらに、それぞれのウィンドウは、当該ウェブページまたはプログラムなどにおいて定義される変数の識別子を行の左側に、かつ、当該変数の値を行の右側に表示している。例えば、「ｈｔｍｌ」などの文字列が識別子であり、ｈｔｍｌのソースコードが変数の値である。変数の値は入力欄などに表示され、利用者は自由にその値を書き換えることができる。また、それぞれのウィンドウは、当該ウィンドウの識別子を当該ウィンドウの上辺近傍に表示する。例えば、「ウェブページカード」などの表示がウィンドウの識別子である。
【００３５】
このような仕様のウィンドウについて、表示制御部４３０は、表示優先度のより高いウィンドウについては重要な部分を見え易く表示する。具体的には、表示制御部４３０は、指定されたウィンドウ（例えばウィンドウＡ）を中心とした円の外周に、他のそれぞれのウィンドウを、表示優先度の高い順に、当該指定されたウィンドウの右近傍から左回りに配列して表示してもよい。また、既に述べたように、表示制御部４３０は、表示優先度のより高いウィンドウを、表示優先度のより低いウィンドウの少なくとも一部を隠蔽するように重ねて画面２５に表示してもよい。なお、表示優先度の等しい複数のウィンドウについては、表示制御部４３０は、ウィンドウが指定される前の元の表示優先度に従って表示してもよい。
【００３６】
更に、表示制御部４３０は、指定されたウィンドウから参照関係を経由して到達可能なウィンドウのそれぞれを、他の一のウィンドウとの間に参照関係が検出されたウィンドウのそれぞれを表示する画面２５上の領域よりも広い領域に表示してもよい。例えば、表示制御部４３０は、ウィンドウＡ、Ｋ、ＬおよびＪなどを広い領域に表示し、それらと参照関係のないウィンドウＰ、Ｑ、ＲおよびＳなどをそれより狭い領域に表示してもよい。
【００３７】
また、これに代えて、表示制御部４３０は、ウィンドウの表示に代えて当該ウィンドウを識別可能なアイコンを表示している状態（例えば図３に示す状態）において、表示優先度の算出に応じ、当該アイコンの表示位置に基づく位置に表示優先度に応じてそれぞれのウィンドウを表示してよい。例えば、表示制御部４３０は、アイコンが表示された画面上の位置が、ウィンドウの左上角となるように、アイコンをウィンドウ化して表示してもよい。
【００３８】
以上の表示例は例示であり、表示制御部４３０による表示はこれらの例に限定されない。例えば、表示制御部４３０は、表示優先度の高いウィンドウを他のウィンドウよりも画面中央近くに表示してもよいし、表示優先度の高いウィンドウを他のウィンドウと識別可能に彩色して表示してもよいし、表示優先度の高いウィンドウを他のウィンドウよりも広い領域に表示してもよい。
【００３９】
図１０は、ウェブサーバ４０として機能する情報処理装置８００のハードウェア構成の一例を示す。情報処理装置８００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＢＩＯＳ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００４０】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＢＩＯＳ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００４１】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置、例えば利用者端末２０と通信する。ハードディスクドライブ１０４０は、情報処理装置８００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００４２】
また、入出力コントローラ１０８４には、ＢＩＯＳ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＢＩＯＳ１０１０は、情報処理装置８００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置８００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００４３】
情報処理装置８００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置８００にインストールされて実行される。プログラムが情報処理装置８００等に働きかけて行わせる動作は、図１から図９において説明したウェブサーバ４０における動作と同一であるから、説明を省略する。
【００４４】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置８００に提供してもよい。
【００４５】
以上、本実施形態に係るウェブサーバ４０は、互いに関連の強い複数のウィンドウを、それぞれが表示するコンテンツの参照に基づいて自動的に判断する。そして、ウェブサーバ４０は、互いに関連の強い一群のウィンドウをグループとして優先的に表示する。この結果、多数のウィンドウが表示されている場合であっても、同時並行して操作する可能性の高いウィンドウを見つけ出し易くし、利用者の利便性を向上できる。
【００４６】
なお、本実施形態においては、ウェブアプリケーション作成用のプログラムを例に説明したが、本発明はこの実施形態に限定されるものではない。例えば、ウェブサーバ４０に代えて利用者端末２０が本実施形態の各機能を有していてもよい。一例として、利用者端末２０が、ウェブブラウザによって複数のウィンドウに複数のウェブページを表示しているときに、それぞれのウェブページの間の参照関係に基づいてウィンドウの表示を制御してもよい。また、利用者端末２０が、表計算ソフトウェアにより複数のテーブルを表示しているときに、それぞれのテーブルの間の参照関係に基づいてウィンドウの表示を制御してもよい。
【００４７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００４８】
【図１】図１は、情報処理システム１０の全体構成を示す。
【図２】図２は、画面２５の第１表示例を示す。
【図３】図３は、画面２５の第２表示例を示す。
【図４】図４は、ウェブサーバ４０の機能構成を示す。
【図５】図５は、参照関係に基づきウィンドウの表示を制御する処理のフローチャートである。
【図６】図６は、Ｓ５１０における処理の詳細を示す。
【図７】図７は、Ｓ６００およびＳ６３０における処理の詳細を示す。
【図８】図８は、Ｓ５２０における処理の詳細を示す。
【図９】図９は、ウィンドウの配置を変更した後の画面２５の表示例を示す。
【図１０】図１０は、ウェブサーバ４０として機能する情報処理装置８００のハードウェア構成の一例を示す。
【符号の説明】
【００４９】
１０  情報処理システム
２０  利用者端末
２５  画面
３０  ネットワーク
４０  ウェブサーバ
４００  入力部
４１０  参照検出部
４２０  優先度算出部
４３０  表示制御部
８００  情報処理装置
【図１】
2007213527.tif 000003
【図２】
2007213527.tif 000004
【図３】
2007213527.tif 000005
【図４】
2007213527.tif 000006
【図５】
2007213527.tif 000007
【図６】
2007213527.tif 000008
【図７】
2007213527.tif 000009
【図８】
2007213527.tif 000010
【図９】
2007213527.tif 000011
【図１０】
2007213527.tif 000012