(57)【特許請求の範囲】
【請求項１】
情報をノードのセットとして表すことができる階層的情報であって、各ノードが前記情報の部分に関連づけられ、前記ノードが有向エッジによって接続されており、１つのノードが多くとも１つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは、最初のノードおよび最後のノードを有し、かつ前記最後のノードを除く各ノードにその子ノードの１つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスｎであるとする、ノードのセットとして表すことができる階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する２次元構造内に表示するための方法において、
（ａ）それぞれのノードに関連づけられるセルを含むための２次元構造を生成するステップであって、前記複数の行の数は最長パス内の前記ノードの数に等しく、前記複数の列の数は前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけられているセルは親セルであり、子ノードに関連づけされているセルは子セルであり、リーフ・ノードに関連づけされているセルはリーフ・セルであるとするステップと、
（ｂ）前記２次元構造内において行ｎ内のセルのそれぞれのための配置を指定するステップであって、その結果、各セルの親セルが行ｎ−１に配置され、各セルの子セルが行ｎ＋１に配置され、各リーフ・セルが正確に１つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけられている子セルが延びる列にわたって正確に延びるステップと、
（ｃ）少なくとも１つのセルに、そのセルが関連するノードに関連づけられた情報の少なくとも一部を与えるステップ
を包含することを特徴とする方法。
【請求項２】
有向エッジによって接続される複数のノードを有するツリー構造化された情報であって、任意のノードは多くとも１つの入エッジを有し、入エッジを伴わないノードがルート・ノードであり、出エッジを伴わないノードがリーフ・ノードであり、パスは、最初のノードおよび最後のノードを有し、前記最初のノードから開始して前記有向エッジに沿って前記エッジの方向に前記最後のノードまで進むことによって得られ、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであり、かつ各ノードは関連づけられた情報を有するものとする、ツリー構造化された情報をディスプレイ上のテーブル内に表示するためのコンピュータ・コントロールされる表示システムにおいて、
（ａ）前記入力手段に応答して前記テーブルならびに前記ツリー構造化された情報を表示するための表示仕様を生成するための演算手段であって、前記テーブルは、２次元の行および列のセルの配列を包含し、各ノードはセルに関連づけられており、前記配列は、最長パス内のノードの数に等しい数の行、およびリーフ・ノードの数に等しい数の列を有し、
（ｉ）ルート・ノードが関連づけられたセルが、最初の行内に配置され、
（ｉｉ）パスに沿ったノードが関連づけされたセルが、前記最初の行からの連続する行内に連続して配置され、それにおいて各ノードが関連づけられたセルは、１つの列もしくは前記ノードが関連づけされたセルに関連づけされるノードからのパス上に配置されたリーフ・ノードの数に等しい数の列、のうちの大きい方にわたって延び、かつ各列はパスを表し、かつ
（ｉｉｉ）少なくとも１つのノードが関連づけされたセルが、前記ノードに関連づけられた情報の少なくとも一部を含むものとする表示仕様を生成するための演算手段と、
（ｂ）前記演算手段に応答して、前記表示仕様を受け取り、前記テーブルを表示するための表示処理手段
を包含することを特徴とするコンピュータ・コントロールされる表示システム。
【請求項３】
階層的情報を表示するための表示仕様を生成するべくプログラムされたソフトウエアを包含するメモリ・メディアであって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、パスは親ノードから子ノードに進むノードのシーケンスであり、ルート・ノードはパスの最初のノードであり、リーフ・ノードはパスの最後のノードであるとするノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する２次元構造内に、
（ａ）それぞれのノードに関連づけされるセルを含むための２次元構造であって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルである２次元構造を生成し、
（ｂ）前記２次元構造内における行ｎ内のセルのそれぞれに関する配置であって、結果として各セルの親セルが行ｎ−１に配置され、各セルの子セルが行ｎ＋１に配置され、各リーフ・セルが正確に１つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延びる配置を指定し、かつ
（ｃ）少なくとも１つのセルに、そのセルが関連するノードに関連づけされた情報の少なくとも一部を与えること、
によって表示するための表示仕様を生成するべくプログラムされたソフトウエアを包含するメモリ・メディア。
【請求項４】
階層的情報を表示するためのプロセスを実行するべくプログラムされたコンピュータであって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、パスは親ノードから子ノードに進むノードのシーケンスであり、ルート・ノードはパスの最初のノードであり、リーフ・ノードはパスの最後のノードであるとするノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する２次元構造内に表示するための、
（ａ）それぞれのノードに関連づけされるセルを含むための２次元構造であって、前記複数の行の数が最長パス内のノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルである２次元構造を生成し、
（ｂ）前記２次元構造内における行ｎ内のセルのそれぞれに関する配置であって、結果として各セルの親セルが行ｎ−１に配置され、各セルの子セルが行ｎ＋１に配置され、各リーフ・セルが正確に１つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延びる配置を指定し、
（ｃ）少なくとも１つのセルに、そのセルが関連するノードに関連づけされた情報の少なくとも一部を与えるプロセスを実行するべくプログラムされたコンピュータ。
【請求項５】
階層的に関連づけされた情報であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも１つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは、最初のノードおよび最後のノードを有し、かつ前記最後のノードを除く各ノードにその子ノードの１つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであるとする、ノードのセットとして表すことが可能な階層的に関連づけされた情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する２次元構造内に表示するためコンピュータ・コントロールされる表示システムにおいて、
（ａ）前記階層的に関連づけされた情報から表示仕様を生成するためのプロセッサと、
（ｂ）前記プロセッサに応答するディスプレイであって、前記階層的に関連づけされた情報が、各ノードに関連づけされたセルを含む２次元構造として表示され、それにおいて前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルとなり、子ノードに関連づけされているセルが子セルとなり、リーフ・ノードに関連づけされているセルがリーフ・セルとなり、前記セルのそれぞれが、前記２次元構造内の行ｎに配置され、その結果、各セルの親セルが行ｎ−１に配置され、各セルの子セルが行ｎ＋１に配置され、各リーフ・セルが正確に１つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延び、さらに少なくとも１つのセルがそのセルが関連するノードに関連づけされた情報の少なくとも一部を表示することになるディスプレイ
を包含することを特徴とするコンピュータ・コントロールされる表示システム。
【請求項６】
階層的に関連づけされた情報であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも１つの入エッジを有し、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、パスは、最初のノードにおいて開始し、かつ最後のノードにおいて終了し、その結果、前記最後のノードを除く各ノードにその子ノードの１つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであるとする、ノードのセットとして表すことが可能な階層的に関連づけされた情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する２次元構造内に表示するためコンピュータ・コントロールされる表示システムにおいて、
（ａ）表示仕様を生成するための処理エレメントと、
（ｂ）前記表示仕様が、各ノードに関連づけされたセルを含む２次元構造として表示されるディスプレイ・エレメントであって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルとなり、子ノードに関連づけされているセルが子セルとなり、リーフ・ノードに関連づけされているセルがリーフ・セルとなり、前記セルのそれぞれが、前記２次元構造内の行ｎに配置され、その結果、各セルの親セルが行ｎ−１に配置され、各セルの子セルが行ｎ＋１に配置され、各リーフ・セルが正確に１つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延び、さらに少なくとも１つのセルがそのセルが関連するノードに関連づけされた情報の少なくとも一部を表示するものとするディスプレイ・エレメント
を包含することを特徴とするコンピュータ・コントロールされる表示システム。
【請求項７】
階層的に関連づけされた情報であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも１つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは、最初のノードおよび最後のノードを有し、かつ前記最後のノードを除く各ノードにその子ノードの１つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであるとする、ノードのセットとして表すことが可能な階層的に関連づけされた情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有するディスプレイ・イメージ内に表示するための方法において、（ａ）各ノードに関連づけされるセルを含むディスプレイ・イメージであって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、親ノードに関連づけされているセルが親セルとなり、子ノードに関連づけされているセルが子セルとなり、リーフ・ノードに関連づけされているセルがリーフ・セルとなり、かつリーフ・ノードに関連づけされているセルがリーフ・セルとなるディスプレイ・イメージを生成するステップと、
（ｂ）各ノードに関するスパン値であって、そのノードを含むパス上のリーフ・ノードの数とするスパン値を決定するステップと、
（ｃ）前記ディスプレイ・イメージの最初の行のすべての列にわたって延びるルート・セルを割り当てるステップと、
（ｄ）前記ディスプレイ・イメージの連続する行内において、前にある行内の各親ノードの各子ノードに関する子セルを割り当てるステップであって、各子セルが、それが関連する子ノードのスパン数に等しい数の列にわたって延び、かつその親セルの延びる列と同じ列の少なくとも一部にわたって延びるべく配置され、かつ前にある行内の特定の親セルのすべての子セルが、全体としてその親セルの延びる列にわたって延びるものとする子セルを割り当てるステップと、
少なくとも１つのセルに、そのセルが関連するノードに関連づけされた情報の少なくとも一部を与えるステップ
を包含することを特徴とする方法。
【請求項８】
有向エッジによって接続される複数のノードを有するツリー構造化された情報であって、任意のノードは多くとも１つの入エッジを有し、入エッジを伴わないノードがルート・ノードであり、出エッジを伴わないノードがリーフ・ノードであり、パスは、任意のノードから開始し、各ポイントにおいて有向エッジに沿ってその方向に進み、別のノードに至るノードのシーケンスであり、サブツリーは、任意のノードから開始し、それからのすべての可能性のあるパス上のすべてのノードを含むノードの部分であり、かつ各ノードが、関連づけされた情報を有するものとする、ツリー構造化された情報をディスプレイ上に表示するための表示仕様を生成するための演算システムにおいて、
（ｃ）ユーザ入力を受け取るための入力手段と、
（ｄ）前記入力手段に応答して、前記ツリー構造化された情報のイメージを生成するための表示仕様を生成する機能を有する演算手段であって、ディスプレイ・プロセッサによって受け取られたとき、前記イメージが表示エリアを有する２次元の行および列のセルの配列を包含し、それにおいて各ノードがセルに関連づけされており、前記配列が、最長パス内のノードの数に等しい数の行、およびリーフ・ノードの数に等しい数の列を有するものとなり、
（ｉｖ）ルート・ノードが関連づけされたセルが、最初の行内に配置され、
（ｖ）ルートからリーフまでのパスに沿ったノードが関連づけされたセルが、前記最初の行からの連続する行内に連続して配置され、それにおいて各ノードが関連づけされたセルは、１つの列もしくは前記ノードが関連づけされたセルに関連づけされるノードからのパス上に配置されたリーフ・ノードの数に等しい数の列、のうちの大きい方にわたって延び、
（ｖｉ）各列が、ルートからリーフまでのパスを表し、かつすべてのその種のパスが表現され、
（ｖｉｉ）各ノードが関連づけされたセルが、少なくとも１つの選択エレメントを含むものとなる表示仕様を生成する機能を有する演算手段と、
（ｅ）前記演算手段に応答して前記表示仕様をディスプレイ・プロセッサに渡すための出力手段
を包含することを特徴とする演算システム。
【請求項９】
階層的情報を表示するための表示仕様であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも１つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは１つのノードから開始し、各ポイントにおいて有向エッジに沿ってその方向の別のノードに進み、パスのエンドに至るノードの一続きであり、フル・パスは、ルート・ノードから開始してリーフ・ノードで終了するパスであるとする、ノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する２次元構造内に表示するための表示仕様を生成する演算システムにおいて、
（Ａ）ユーザ入力を受け取るための入力手段と、
（Ｂ）前記入力手段に応答して、前記階層的情報のイメージを生成するための表示仕様を生成する機能を有する演算手段であって、ディスプレイ・プロセッサによって受け取られたとき、前記イメージが、
（ｉ）それぞれのノードに関連づけされるセルを含むための２次元構造であって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルであり、それにおいて
（ａ）前記セルのそれぞれが、前記２次元構造内の行ｎに配置され、その結果、各セルの親セルが行ｎ−１に配置され、
（ｂ）各セルの子セルが、行ｎ＋１に配置され、
（ｃ）各リーフ・セルが、正確に１つの列に延び、
（ｄ）リーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延び、かつ、
（ｅ）各セルが、選択エレメントを含む２次元構造、
を包含するものとなる表示仕様を生成する機能を有する演算手段と、
（Ｃ）前記演算手段に応答して前記表示仕様をディスプレイ・プロセッサに渡すための出力手段
を包含することを特徴とする演算システム。
【請求項１０】
階層的情報を表示するための表示仕様であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも１つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは１つのノードから開始し、各ポイントにおいて有向エッジに沿ってその方向の別のノードに進み、パスのエンドに至るノードの一続きであり、フル・パスは、ルート・ノードから開始してリーフ・ノードで終了するパスであるとする、ノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有するディスプレイ・イメージ内に表示するための表示仕様を生成する演算システムにおいて、
（Ａ）ユーザ入力を受け取るための入力手段と、
（Ｂ）前記入力手段に応答して、前記階層的情報のイメージを生成するための表示仕様を生成する機能を有する演算手段であって、ディスプレイ・プロセッサによって受け取られたとき、前記イメージが、
（ｄ）それぞれのノードに関連づけされるセルを含むための２次元構造であって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルであり、それにおいて
（ｅ）各ノードがスパン値を有し、前記スパン値は、そのノードを含むパス上のリーフ・ノードの数であり、
（ｆ）前記ルート・セルが最初の行に配置され、前記ディスプレイ・イメージの前記最初の行の列のすべてにわたって延び、
（ｇ）前記ディスプレイ・イメージの連続する行内において、前にある行内の各親ノードの各子ノードに関する子セルが配置され、それにおいて各子ノードがそのスパン数に等しい数の列にわたって延び、かつその親セルの延びる列と同じ列の少なくとも一部にわたって延びるべく配置され、
（ｈ）リーフ・セルを除くセルが、そのセルに関連づけされている子セルが延びる列にわたって正確に延び、
（ｉ）各リーフ・セルが、１つの列に延び、かつ
（ｊ）各セルが、少なくとも１つの選択エレメントを含む２次元構造、
を包含するものとなる表示仕様を生成する機能を有する演算手段と、
（Ｃ）前記演算手段に応答して前記表示仕様をディスプレイ・プロセッサに渡すための出力手段
を包含することを特徴とする演算システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して情報の表示分野に関する。より詳細に述べれば、本発明は、ツリー構造化された情報の表示をテーブル形式で構成し、かつ操作するための方法を提供し、「ルート〜リーフ」パスの迅速な識別を可能にするとともに、ツリー表現の中、およびそれに調和された補助表示を介する場合の両方において、これらのパスのより深い探究を容易にする。
【０００２】
【従来の技術及び発明が解決しようとする課題】
ツリー構造のパスは論理グループ化を形成し、その内部ノードは、（ファイル・ディレクトリのような単純なコンテナとしての作用するのではなく）実質的な情報の量を表す。たとえば、自然分類学あるいはプログラミング言語のフレームワークといった継承ツリーのノードは、プロパティの集合を表し、パスは、内部ノードまたはリーフによって継承される純プロパティを決定する。別の例を挙げれば、ｅ−メールのスレッドを描写するために使用されるツリーのノードは、個別のメッセージを表し、そのパスは、スレッド内の同期的なメッセージ／応答シーケンスを構成する。この種の応用に関して言えば、ツリーのビジュアル化が、パス関係の好都合な把握を提供する必要があり、一方、それと同時にツリーのコンテンツの概要として機能し得る充分なテキストを含んでいる必要がある。さらにツリーのビジュアル化は、パスに沿った情報のより深い探究に関するコンテキストとしても機能する必要がある。
【０００３】
【課題を解決するための手段】
本発明は、ツリー構造化された資料をテーブル様構造に変換することによって、つまり、以下において「ツリーテーブル」と呼ぶ、その中において各パスがテーブルの列により表現される構造に変換することによってパスの理解に関する問題を直接的に解決する。１つのノードのすべての子は、そのノードの直下に配置され、一見して理解することができる。エッジを示すために専用のスペースが割り当てられることはなく、したがってより多くの空間を表示のために使用することができる。
【０００４】
ツリーのサイズならびに形状は、限られた表示エリア内に、そのノードに関してどれだけのコンテンツを与え得るかということを決定し、その結果、大きなツリーの場合には、最初のビジュアル化の中のノードに与えることができる情報の量が充分ではないことがある。本発明はこの問題を２つの方法に従って解決する。第１は、「関心度」の表示に関連づけされた方法を適合させて、テーブル様ジオメトリと矛盾のない方法で注目エリアの選択的な拡張を可能にする。本発明が大きなツリーの表示の問題を解決するために用いている第２の手段は、補助表示内へのツリーテーブルのサブパートの抽出を提供することであり、その結果、より多くのスペースがそれらのサブパート内のテキストに使用可能となる一方、フルスケールもしくはアウトライン形式のいずれかにおいてオリジナルの表現を保持し、ユーザがコンテキストを意識できる状態が維持される。
【０００５】
また本発明は、フル・パスもしくはルートを同一にする子のいずれかを表す、緊密な関連を有するノードの連結させたコンテンツを読み取るためのガイドとしてのツリーテーブルの使用も提供する。示されるコンテンツは、完全なコンテンツとなることもあれば、応用に適した方法で縮約されることもある。
【０００６】
ツリー構造化された情報を「ツリーテーブル」、すなわちテーブル様の表示構造に変換し、かつ表示するための方法が提供されており、それにおいてはルートからリーフ・ノードに至る各パスが単一の列によって表され、ノードの直接の継承者を表すセルが、そのノードの直下に配置される。
【０００７】
また、補助表示の生成のための基礎とするツリーテーブルの使用に関する方法も提供されている。その種の方法の１つは、ツリーテーブルのサブパートをその種の別の構造に抽出することをサポートしており、中サイズのツリーをより深く探究するため、および完全に表現することによって、有効な量のテキストのためのスペースがなくなってしまうような大きなツリーを無理なく調べるためのより広いスペースが許容される。
【０００８】
提供されている別の方法は、（ａ）個別の列（フル・パスを表す）もしくは（ｂ）所定のノードに対するすべての継承者のいずれかに関連づけされる連結されたノードのコンテンツの読み出しに対するセレクタおよびガイドとして使用するために、補助表示内においてツリーテーブル構造を利用する。この補助構造は、独立のウインドウ内に表示することも可能であり、また限られた表示スペース内における使用のために、付随するフレーム内に表示することもできる。
【０００９】
ツリーからツリーテーブルへの変換は、２つの基本的なステップからなり、第１は、それぞれの列について単位幅を前提として行う、テーブルのセルの配置および相対的なサイズを識別するアウトライン・ツリーテーブルの開発であり、第２は、特定のサイズおよびコンテンツをそれぞれのセルに関連づけする表示仕様の開発である。
【００１０】
第１のステップは、ツリーテーブルの基本的なレイアウトを確立する。行の数は、ツリーの高さに等しい。列の数は、そのツリーのリーフ・ノードの数に等しい。最上端のセルはルートを表し、最初の行にわたって延びる。ルートの子を表すセルは、順番に次の行に配置される。その種の「子セル」のそれぞれの幅は、その子セルによって表されるノードの最終的な子孫となるリーフ・ノードの数に等しい（もしくは、そのノードが子孫を有していないときは１になる）。特定の行内にリーフ・ノードを表すセルがあるときには、その下に続くすべて行内のそのポジションにギャップが現れる。
【００１１】
第２のステップは、以下に基づいて各セルに特定のサイズおよびコンテンツを関連づけする：
（ａ）第１のステップにおいて獲得された基本レイアウト
（ｂ）使用可能な表示スペース
（ｃ）列またはセルの選択（もしくはそれを行わないこと）
（ｄ）生成されたツリーテーブルの選択（もしくはそれを行わないこと）およびそのほかの詳細の解釈を規定するコントロール・システム。これらのコントロールは、各種の方法に従って、たとえば追加のモードを設定する選択によって、あるいはジェスチャ（選択およびキーボード入力の組み合わせ）によって系統化され、かつ実現されることが可能であるが、最終的には以下を包含する：
１．セルが延びる列もしくはそのセルが先頭となるサブツリーのいずれか一方としてセルの選択を解釈することについての明細。
【００１２】
２．各列に対して均等な幅を与えることによって（「自然な」割り当てがもたらされる）、あるいはフォーカス・エリアがカバーする列を優先することによって（示された範囲まで）得られた幅、および部分的にはフォーカスの考慮によって得られた高さを伴う、セルのサイズをどのように獲得するかということについての明細。
【００１３】
３．ツリーテーブルにフル・ディスプレイ・スペースを使用するか、あるいはより制限されたスペースを使用するかということについての明細。
【００１４】
４．ツリーテーブルのセルにテキストを組み込むか否か、また組み込むのであればどの程度にするかということについての明細。
【００１５】
これらのエリアにおける選択肢を前提とすると、特定の幅が各列に関連づけされ、それらが使用されて基本レイアウトにおけるセル幅が増加される。続いて、これらの幅を前提とし、組み込まれるテキストに関するいくつかの制限とともに考慮すると、各セルに提供するべきコンテンツの量が決定される。選択およびフォーカス・エリアは、カラーによって、あるいはそのほかの手段によって、たとえばグレイスケールによって強調される。
【００１６】
独立した表示のためのツリーテーブルのサブパートの抽出は、前述した２つの基本ステップに追加される１つのステップを伴う。基本レイアウトが獲得された後、隣接する列のセットが、そのレイアウトから抽出される。抽出される列は、任意のセットとしてもよく、また特定のサブツリーに延びる（ツリーテーブル表現の）列としてもよい。その後、抽出された列は、二次的な表示のための基本レイアウトとして扱われる。
【００１７】
関連するノードのセットのフル・コンテンツを読み出すためのナビゲーション・ガイドとしてのツリーテーブルの利用が、２つの変形実施態様によって提供され、これらは、ともにツリーの意味のある論理ユニット内の資料を連結する。第１の実施態様のタイプは、追加のコントロールを使用して選択の意味範囲を拡大し、独立のウインドウ内に補助表示を生じさせる。第２の実施態様は、デュアル・フレームを使用し、その結果、ツリーテーブルならびに拡大されたコンテンツの両方を、同時に、同一のウインドウ内において見ることが可能になる。
【００１８】
【発明の実施の形態】
ここで図面を参照すると、図１〜１５には、本発明を構成する方法によって生成されるツリーテーブルおよびそれによってサポートされるツリーテーブル−ベースのインタラクションが図示されている。本発明のこの実施態様は、スレッド探究用のツリーテーブルを使用するｅ−メール・レビュー・ツールを提供する。これらの図面内において基礎をなしているツリーは、ニュースグループのスレッドを表す。ビジュアル化は、ディスプレイ・プロセッサ、たとえばＮｅｔｓｃａｐｅ（ネットスケープ）ブラウザもしくはそのほかのビューワに対して表示仕様を提出することによって得られる。しかしながら、本発明の方法は一般的なものであり、多くのプログラミング言語に関連付けされたグラフィカル・ユーザ・インターフェース（ＧＵＩ）ツールキット内に埋め込まれるような多くの種類のディスプレイ・プロセッサに関する仕様の生成に使用することができる（図１６との関連からより完全な説明を後述する）。図１６〜３１は、表示仕様の開発に使用される方法を示している。
【００１９】
また、この特定の実施態様はｅ−メール・レビュー・ツールに指向されているが、本発明が多くの異なる種類の情報のビジュアル化に使用できることに注意が必要であり、その例として、たとえば生物学的分類、オブジェクト指向プログラミング言語のフレームワーク、ツリー追跡言語の降順、系統化チャート、および系図等が挙げられるが、それもほんの一部にすぎない。これらの例の間に共通する重要な特性は、それらがすべてツリーを使用して情報をビジュアル化することであり、それにおいてはツリー内のパスが論理的なグルーピングを表し、ツリーのノードが一致を表す。本発明は、任意のこの種のツリーをビジュアル化するための有用なツールを提供する。
【００２０】
図１は、均一の列サイズを有するツリーテーブルを示しているが、それは、これが明示的に選択されたフォーカスが存在しないケースであることによる。タイトル行２０００は、Ｎｅｔｓｃａｐｅ（ネットスケープ）ブラウザおよび当該ブラウザ固有のコントロールによって生成されたタイトル行からなる。ここで注意することは、タイトル行２０００がディスプレイ・プロセッサとしてこのブラウザを使用するときのアーティファクトであるということである。専用ディスプレイ・プロセッサを使用して、あるいは別のブラウザのディスプレイ・プロセッサもしくはプログラムを使用して本発明が実装される場合には、タイトル行２０００を縮小されることもあり、さらには省略されることもある。
【００２１】
コントロール行２０１０は、ツリーテーブル表示メカニズムのためのコントロール行であり、表示コントロールの一実施態様を示している。コントロール行２０１０は、コントロール行の一実施態様であり、追加のコントロールを示した別の実施態様については、図１０との関連から説明を後述する。コントロール行２０１０は、３種類の選択を提供する：すなわち、フォーカス・セレクション２０２０、読み出しセレクション２０３０、およびサイズ・セレクション２０４０である。各セレクション２０２０、２０３０、２０４０は、アンダーラインが付されていないことによって現在の選択を示すとともに、そのほかの選択可能な選択肢も示している。セレクションの選択肢は、ドロップ−ダウン・メニューとして、あるいはそのほかの選択を呈示する手段を使用して実装することもできる。それに加えて、各種の方法により現在の選択を示すことも可能であり、それには、グレイスケール、カラー、および反転表示、網掛け、輪郭表示等が含まれる。図示されているセレクションの選択肢のサブセットを示すこと、および／または選択肢を多くの異なる選択肢グループにグループ化すること、および／またはリネームすること、および／または類似であるが同一ではないセレクションに修正することも可能である。
【００２２】
フォーカス・セレクション２０２０は、キーワード「ｆｏｃｕｓ（フォーカス）」という見出しが付けられており、テーブル内のセルを選択することが、フォーカスを示すことに関してどのように解釈されるかについての選択肢を提供する。「ｔｒｅｅ（ツリー）」の選択は、セルを選択することが、そのセルが先頭となるサブツリー（つまり、そのセルによって表されるノードが先頭になるサブツリーを表すツリーテーブルの部分）にフォーカスを持ってくることを示す。「ｃｏｌ（列）」の選択は、セルを選択することが、そのセルによってカバーされる最左翼の列にフォーカスを持ってくることを示す。読み出しセレクション２０３０は、キーワード「ｒｅａｄ（読み出し）」という見出しが付けられており、セレクションに関して補助コンテンツ表示を生成するか否か（「ｙｅｓ（イエス）」または「ｎｏ（ノー）」によって選択する）を示す。サイズ・セレクション２０４０は、キーワード「ｓｉｚｅ（サイズ）」を伴い、２つのタイプのコントロール、すなわち全体としてのツリーテーブルによって占められるスペースのコントロール、およびフォーカスを選択することが、セルに対する幅の相対的なアプローチにどのような影響を及ぼすかというコントロールを組み合わせる。フォーカス・セレクション２０４０のこの例示において与えられている最初の２つの選択肢、すなわち「ｆｏｃｕｓ（フォーカス）」および「ｆｏｃｕｓ＋（フォーカス＋）」は、優先権を伴うフルサイズのツリーテーブル（ｆｏｃｕｓ（フォーカス））または、フォーカス・エリアがある場合には、その中のセルに与えられるより高い優先権を伴うツリーテーブル（ｆｏｃｕｓ＋（フォーカス＋））を示す。これらの選択肢は、ツリーの部分の原位置での探究に使用される。残り３つの選択肢、すなわち「ｓｔｄｄ（標準）」、「ｓｍａｌｌ（スモール）」、および「ｍｉｎｉ（ミニ）」は、すべてフォーカス・セルに優先権が与えられないことを示しており、かつそのそれぞれは、テーブルの全体的なサイズがフルサイズになるか、ある程度省略されるか、もしくは大部分が省略されるかを示す。また、「ｓｔｄｄ（標準）」の選択は、セル・サイズが許す範囲でテキストを含むことを許可するが、「ｓｍａｌｌ（スモール）」および「ｍｉｎｉ（ミニ）」の選択は、テキストを含むことを明示的に禁止する。フォーカス・セルに優先権が与えられないこれら３つの選択肢は、（ａ）ツリーの部分を拡張している間および拡張した後の配景を回復するため、（ｂ）大きなツリーの完全なピクチャを与えるため、および（ｃ）制限されたスクリーン・エリア内に小さな表現を作成して補助表示用のコンテキストとして機能させるために使用される。この例の最後になるがコントロール行２０１０は列ヘッダ２０５０を含み、これが使用されると、列Ｃ１〜Ｃ８の列全体がフォーカス・エリアとして選択される。
【００２３】
図の残りの部分は、行Ｒ１〜Ｒ９および列Ｃ１〜Ｃ８からなるツリーテーブル２０５５を示している。ここで注意することは、この例において、行Ｒ１〜Ｒ９が上から下に、列Ｃ１〜Ｃ８が左から右に向かって配列されているが、これが例示のみを目的としているにすぎないということである。ビジュアル化は容易に再配列が可能であり、その結果、行が下から上に、かつ／または列が右から左に配列されることもある。同様に、列および行が交代されて、その結果、行Ｒ１〜Ｒ９が列になり、列Ｃ１〜Ｃ８が行になるということも可能なことである。図示の配列が、ｅ−メール・スレッドの階層的に関連づけされた情報を見る上で適していると判断されたが、別の配列も可能であり、別の状況においては、それの方がｅ−メール・スレッドを含めた階層的に関連づけされた情報を見る上でより適していることもある。
【００２４】
ツリーテーブル２０５５は、セル２０６０、２０６５、２０７０、２０７５、２０８０、２０９０、および２０９５といったセルから構成される。テーブル内の各セルは、基礎をなしているツリーのノードを表しており、それぞれのセルは、そのツリー内におけるその直接の子孫を表すセルにわたって延びている。ツリーのルート、すなわちこの実施態様においては、ｅ−メール・スレッドの最初のメッセージは、セル２０６０によって表され、それがツリーテーブルの最初の行Ｒ１の全体を占めており、すべての列Ｃ１〜Ｃ８にわたって延びている。セル２０６０内に含まれている資料には、焦点としてそのセルの選択に使用することができるラベル２０６１（この実施態様の場合はメッセージ番号）および選択されたときに、関連づけされているツリーのノードのテキストを表示する別のラベル２０６２（この実施態様の場合はオーサーの名前）が含まれる。この実施態様においては、関連づけされたツリーのノードのテキストが、メッセージ全体になる。またセル２０６０は、ボディ２０６３を有し、この実施態様においてはそれがメッセージのテキストの少なくとも一部からなる。ここで注意が必要になるが、この実施態様においては、本発明がテキスト情報に適用されていることからボディ２０６３がテキストからなるが、別の実施態様においては、ボディがテキスト、図面、グラフィックス、ＭＰＥＧファイル、ＭＰ３ファイル、あるいはテキスト、グラフィック、オーディオもしくはビジュアルの情報のストアに使用することができる任意のフォーマットになることもある。ツリーテーブル内のすべてのセルは、通常、少なくとも１つの選択可能なエレメント、たとえばラベル２０６１もしくはラベル２０６２を含み、スペースが非常に制約される場合には、それがわずかに単一文字からなることもある。完全なラベルを含むこと、およびそのほかの情報を含むことは、セル内の使用可能なスペースおよびそのほかのコントロールに依存する。たとえばセル２１０５は、２つのラベル２１０６、２１０７を含んでいるが、ボディをまったく含んでいない。
【００２５】
セル２０６５、２０７０、および２０７５は、ツリーテーブルの２番目の行Ｒ２を構成し、セル２０６０によって表されるノードの子を表している。この実施態様においては、これらが最初のメッセージに対する応答になる。個々のセルに割り当てられるセルの幅は、それが延びている列の数、およびそれぞれの列の幅に依存する。図１のツリーテーブル２０５５においては、すべての列Ｃ１〜Ｃ８が等しい幅を有する。したがって、所定のセルに割り当てられるスペースの量は、それが延びる列の数に正比例する。（一方、列の数は、そのセルによって表されるノードのリーフ・ノードの数、すなわち子孫の数に等しい。）したがって４つの列Ｃ１〜Ｃ４に延びるセル２０６５は、３つの列Ｃ５〜Ｃ７に延びるセル２０７０より、あるいはリーフでありテキストをまったく含まない１つの列Ｃ８に延びるアイテム２０７５より多くのスペースをテキスト用に提供する。３番目の行Ｒ３においては、セル２０８０が、セル２０６５によって表されるノードの単一の子を表し、セル２０９０および２０９５が、セル２０７０によって表されるノードの子を表す。テーブル内の各列、たとえばセル２０６０および２０７５が延びる列Ｃ８は、このツリーの単一のルート〜リーフ・パスを表す。
【００２６】
図２〜４は、ツリーの選択された部分、すなわちサブツリーもしくはパスのいずれかに対してより大きなスペースを与えるフォーカス・エリアの使用を示している。これらの図面は、同一のツリーテーブル、すなわち図１に示されているツリーテーブル２０５５を示しており、図１に示されているものと同一の特徴には同一の参照番号を使用している。図２は、図１に示したツリーテーブルを表しているが、セル２０７０を先頭とするサブツリーに卓立性が与えられている。フォーカス・セレクション２０２０は、セルの選択をサブツリーの選択として解釈するフォーカスがセットされていることを示している。読み出しセレクション２０３０は、「Ｎｏ（ノー）」にセットされる。サイズ・セレクション２０４０は、サイズが「ｆｏｃｕｓ（フォーカス）」にセットされていることを示しており、これはフルサイズの表示を使用し、フォーカス列に対して優先権を与えるが、組み込まれる説明的なテキストの量には制限を伴う。これは、セルの高さを制限する。すべての選択は、アンダーラインがないことによって示されているが、前述したように各種の方法に従って示すことが可能である。この組み合わせは、セル２０７０およびすべてのセル２０９０、２０９５、２１１０、２１１５、２１３５、２１４０、２１５０、および２１５５を、フォーカス・エリア内にあるものと見なし、セル２０７０が延びる列、すなわち列ヘッダ２０５０内におけるＣ５、Ｃ６、およびＣ７によって表される列に対し、ほかの列、たとえば列Ｃ１〜Ｃ４との比較において余分の幅が与えられる。それに加えて、フォーカス・エリア内のセルを強調表示して、セル２０６０、２０６５、２０８０、および２１００等のフォーカス・エリア外のセルと区別することも可能であり、その場合に、選択されたセル２０７０と残りのセル２０９０、２０９５、２１１０、２１１５、２１３５、２１４０、２１５０、および２１５５とで異なる強調を使用することもできる。強調表示は、各種の方法に従って示すことが可能であり、たとえばカラー、グレイスケール、反転表示、網掛け、輪郭表示等により選択されているセルを視覚的に区別する。セルのラベルおよびセルのボディは、セルの幅ならびに高さの制限が許す範囲内でセル内に配置される。つまりセル２０６０は、完全なセル・ラベル２０６１ならびに２０６２、および前述と同様にボディ２０６３としてメッセージ・テキストの一部を表示する。しかしながら非強調表示のセル２０６５は、情報の断片だけ、つまりこの場合であれば単一のセル・ラベル２０６６だけを表示し、セル２０７５は、セル・ラベル２０７６に関する単一の選択可能な文字だけを表示することになる。
【００２７】
図３もまた図１のツリーテーブルを示しているが、この場合はサブツリーではなく列のフォーカスを伴う。サイズ・セレクション２０４０は、「ｆｏｃｕｓ（フォーカス）」が選択（アンダーラインがないことによって示される）されたことによって、前述同様の優先権が与えられるフォーカス列を伴うフルサイズの表示の使用にセットされている。コントロール行２０１０は、列選択２０５０の「７」を「１〜６」または「８」より優先的に大きなボックスで表示することによって列Ｃ７の選択を示している。しかしながら、各種の方法に従って選択を示すことが可能であり、それには、たとえばカラー、グレイスケール、網掛け、輪郭表示、あるいは反転表示等が含まれる。この組み合わせは、識別された列を含むすべてのセル、すなわちこの場合であれば列７を含むセル２０６０、２０７０、２０９５、２１１５、および２１４０に対して、ほかのセルとの比較において余分のスペースを与えることになる。これらのセルは、セル２０６０によって表されるツリーのルートからセル２１４０によって表されるリーフに至る単一のパスを表す。コントロール行２０１０内の列選択Ｃ７および選択された列Ｃ７のセルは、いずれも強調表示され、そのほかのセル２０６５、２０７５、２１００、２１１０、２１２５、２１３５、２０８０、２０９０、２１０５、２１２０、２１３０等が不明瞭化されてフォーカスが強調される。これに代えて、フォーカス・セレクション２０２０を「ｃｏｌ（列）」にセットし、列Ｃ７内の任意のセルと選択することによっても類似の効果を得ることができる。表示ウインドウより長いツリーテーブルの場合に、この代替方法は必要に応じて表示のスクロールも提供し、選択されたセルの下側のセルが現れるようにする。
【００２８】
ここで注意することは、図２および３において、フォーカス選択が使用されてフォーカス・エリアが決定されていること、つまりその後強調表示を行ってユーザのためにフォーカスの選択をツリーテーブルの残りの部分から区別することができるフォーカス・エリアが決定されていることである。これらは、それぞれの場合において連続するセルのグループからなるが、必ずしもそうである必要はない。たとえば、周知のサーチ・アルゴリズムを使用して、キーワード、フレーズ、またはそのほかの属性を含むすべてのセルに関するサーチを行えば、ユーザは連続していないセルのグループを選択することが可能であり、また連続していないグループを選択するそのほかの方法を使用することもできる。選択が行われた後は、その選択に対して前述した強調表示方法を適用することができる。
【００２９】
図４もまた図１のツリーテーブルを示しているが、この場合にはフォーカス・エリアに対して、より大きな卓立性が与えられている。サイズ・セレクション２０４０は、「ｆｏｃｕｓ＋（フォーカス＋）」がセットされていることを示しており（アンダーラインがないことによって示される）、これによりフルサイズの表示が使用され、フォーカス列に最大の優先権が与えられる。コントロール行２０１０は、図３に示した場合と同様に列Ｃ７の選択を示している。サイズ・セレクション２０４０および列選択のこの組み合わせによって、識別された列を含むすべてのセル、すなわちこの場合であればセル２０６０、２０７０、２０９５、２１１５、および２１４０に対して、より多くのスペースが与えられることになり、図３に関して説明したようにそれらを強調表示することができる。特に、セル２０６０、２０７０、２０９５、２１１５、および２１４０に対しては、より大きな高さが与えられて、より多くのテキストの包含が可能になっている。また、読み出しセレクション２０３０が「ｙｅｓ（イエス）」にセットされ、図５の補助表示がイネーブルされる。この場合においても、図２および３の場合と同様に、セル・ラベルおよびセルのボディは、セルの幅ならびに高さの制限が許す範囲内においてセル内に収められる。
【００３０】
図５〜７は、「読み出しビュー」に関する補助表示の使用を示しており、これは、特定の意味の論理グループに連結された、ツリーテーブルによって表されるツリーのノードに関するアプリケーション依存の量のコンテンツを提供する。これらの論理グループは：（ａ）ツリーの個別の「ルート〜リーフ」パスに沿ったノード、すなわち個別の列に沿ったセルによって表されるノード、および（ｂ）特定のノードの、そのノードを表すセルの直接下側になるセルによって表される子である。図５は、これまで説明した図２〜４の列Ｃ７に関する読み出しビューを示しており、列Ｃ７内のセルによって表されるノードのコンテンツを連結している。図５に示されている補助表示２４９０は、図４に示されるように、まずツリーテーブル２０５５の読み出しセレクション２０３０を「ｙｅｓ（イエス）」にセットし、続いて希望する列を選択、すなわちこの例の場合であれば列Ｃ７を選択することによって獲得される。ツリーテーブルの列の選択が、その列のセルに優先的なスペースおよび／または強調表示を与えることから、ツリーテーブルは、列コンテンツのいずれが著しく長いビューになり得るかということについてのガイドとして機能する。列ヘッダ２４００は、ツリーテーブル表示２０５５内に見られるものに等しい選択された列番号を示す。エレメント・ヘッダ２４１０は、選択された列の最初のセル、すなわち図４に示されているセル２０６０に対応するセルのラベリング情報を含んでおり、可能性としては追加のセル情報も含む。たとえばｅ−メール・スレッドのレビューを行っているときには、日付を含ませることができる。ボディ２４２０は、セル２０６０によって表されるツリーのノードに関連づけされたテキストを含んでいる。エレメント・ヘッダ２４３０は、その列の次のセル、すなわち図４に示されているセル２０７０のラベリング情報を含んでいる。ボディ２４４０は、セル２０７０によって表されるツリーのノードに関連づけされたテキストからなる。列Ｃ７の残りについても同様に示される。この例においては、列のエレメントが、ｅ−メール・スレッドの非同期の会話のメッセージを表している。読み出しビューに組み込まれるメッセージ・テキストを、それらの基本的なコンテンツに縮小し、ヘッダおよびテイラーを削除し、引用を略語化し、あるいは引用が、以前のエレメントに関連づけされるテキストと完全な冗長性を有する場合には、それらを完全に除去してもよく、その結果、メッセージの全体のシーケンスを非常に効率的に読むことが可能になる。このほかの、より列固有の列読み出しビューの実施態様を使用することも可能である。たとえば、ｅ−メール応用の変形実施態様においては、列によって表されるノードに関連づけされたテキストを、列固有の方法に従って要約することができる。しかしながら、テキストが要約される場合であっても、コンテンツの表示にはかなりのスペースが必要になると見られる。したがって、スクロール・バー２４９５が含められ、ユーザは、限られた表示エリア内において希望する部分を見ることができるようになる。
【００３１】
特定のツリーのノードの直接の子のコンテンツを示すためにも補助表示が使用され、その場合においてもベースのツリーテーブルに調和される。図６および７は、これを目的としたツリーテーブルの使用を示している。
【００３２】
図６もまた、図１のツリーテーブルを示しており、それにおいてはフォーカス・セレクション２０２０が「ｔｒｅｅ（ツリー）」にセットされ、読み出しセレクション２０３０が「ｙｅｓ（イエス）」にセットされ、かつルート・セル２０６０が選択されている。ルート・セル２０６０の選択は、読み出しセレクション２０３０が「ｙｅｓ（イエス）」にセットされていることに関連して、図７に示されている補助表示２６９０を表示する。補助表示２６９０は、図６に示されているように、何が表示されているかということ、および選択されたセルのラベル情報、つまりセル２０６０のラベル情報を示すヘッダ２６００から始まる。この例においては、ツリーテーブルがｅ−メール・スレッドのメッセージを表すことから、このヘッダが、特に親の「メッセージ」およびその「応答」を参照する。これの後に、エレメント・ヘッダ２６１０およびボディ２６１５が続き、それぞれ選択されたセル２０６０に関するラベル情報およびセル２０６０によって表されるツリーのノードに関連づけされたテキストを含んでいる。さらにその後にセル２０６０によって表されるツリーのノードの子に関連づけされた情報の開始を示すヘッダ２６２０が続き、さらにそのほかの子に関連づけされたヘッダ２６３０、２６４０およびテキスト２６３５、２６４５がその後に続く。この例においては、直接の子が、図６に示されるセル２０６５、２０７０、および２０７５である。スクロール・バー２６５０によって示されているように、表示をスクロールすれば完全なコンテンツを見ることができる。
【００３３】
図８および９は、縮小サイズのツリーテーブルの使用を示しており、それを使用して（ａ）特に大きなツリーの完全なピクチャを提供し、また（ｂ）補助表示のガイドとして用いる場合のツリーテーブルに必要なスペースを制限する。図８および９に示されているツリーテーブルは、これまでの図面に示されていたものに同じであり、したがって、同一の参照番号を使用して同一の特徴を示す。図８においては、フォーカス・セレクション２０２０が「ｔｒｅｅ（ツリー）」にセットされており、ルート・セル２０６０が選択されている。しかしながら、サイズ・セレクション２０４０が「ｓｍａｌｌ（スモール）」にセットされている。これは、テーブルに割り当てられる表示エリアの合計サイズを制限し、フォーカス・エリア内のセル、すなわち、この例においてはツリーテーブル内のすべてのセルとなるが、それらが拡張されることを禁止する。この形式においては、セルが、そのセルに関連づけされた選択可能なレベルを示す一方、ボディがまったく表示されない。しかしながら、選択されたセル２０６０ならびにフォーカス・エリア内のすべてのセルが、前述同様に強調表示され、その結果、縮小サイズのツリーテーブルを、補助表示に対する好都合なガイドとして機能させることができる。図９もまた同一のツリーを表しているが、サイズ・セレクション２０４０が「ｍｉｎｉ（ミニ）」にセットされている。これは、割り当てられる表示スペースをさらに制限し、セル・ラベル用により小さなフォントを使用し、かつ／またはセル・ラベルの切り捨てをもたらし、ツリー全体にわたるスクロールのためにスクロール・バー２１９５が導入される。
【００３４】
図１０〜１２は、別の実施態様を示しており、追加のコントロール・コマンド、およびより詳細な探究のための、ツリーテーブルのサブパートを補助表示に抽出するサブパートの抽出を有している。図１０は、行Ｒ１〜Ｒ１１、列Ｃ１〜Ｃ２３、および５４のセルを含むツリーに関するツリーテーブル２９５５を示している。セルの数に起因して、わずかな割合のセルだけがテキストに使用可能なスペースを有している。たとえば、行Ｒ１内のルート・セル２９２５、行Ｒ２内の２つの子セル、および行Ｒ３〜Ｒ７内の、列Ｃ１〜Ｃ７もしくは列Ｃ１〜Ｃ６に延びる子孫といったセルだけである。したがって、コントロール行２９１０は、図１におけるツリーテーブルのコントロール行２０１０の特徴、つまりフォーカス・セレクション２０２０、読み出しセレクション２０３０、およびサイズ・セレクション２０４０だけでなく、第２のセットのコントロール、すなわち抽出タイトル２９６０、ツリー・セレクション２９２０、および列セレクション２９５０を含んでおり、ツリーテーブルのサブパートの抽出を可能にする。この例において提供される抽出コントロールは、（ａ）特定のサブツリーを表すセル（そのサブツリーのルートの祖先を表すセルを伴うか、あるいは伴わない）、もしくは（ｂ）あらかじめ定義済みの列範囲のセットの１つのいずれか一方の抽出を可能にする。別の実施態様においては、追加のタイプの抽出も可能であり、たとえばユーザによって明示的に指定された列範囲内の列の選択が挙げられる。
【００３５】
抽出タイトル２９６０は、ツリー・セレクション２９２０および列セレクション２９５０を抽出コントロールとしてカテゴリ設定する。ツリー・セレクション２９２０は、２つのタイプのサブツリー抽出の間における選択を可能にする。「ｔｏｐ（トップ）」の選択は、特定のサブツリーに関連づけされたすべての列からなるツリーテーブルの抽出をイネーブルするが、その開始は、オリジナルのツリーテーブルの最初の行Ｒ１になる（つまり、サブツリーを表すツリーテーブルの部分の上側になる行内のセルも含む）。「ｆｏｃｕｓ（フォーカス）」の選択は、そのサブツリーのルートを表すセル、およびそれ以下のすべてのセルからなるツリーテーブルを抽出する。列セレクション２９５０は、いくつかのあらかじめ指定された列範囲の間における選択を可能にし、この例であればその範囲が「（１．．．）」によって識別される列１〜１２および「（１３．．．）」によって識別される列１３〜２３になる。図１０において、ツリー・セレクション２９２０として「ｆｏｃｕｓ（フォーカス）」が選択され、その後、セル２９３０が選択されたとすると、セル２９３０によって表されるノードをルートとするサブツリーを表すツリーテーブルの部分が、図１１に示すように抽出される。図１０において、列セレクション「（１３．．．）」が選択されると、結果は、図１２に示されるように、列１３〜２３からなるツリーテーブルの部分の抽出となる。コントロール行２９１０内の列ヘッダ２９７０は、ツリーテーブル２９５５の２３列の先頭に位置し、特定の列の選択を可能にする。
【００３６】
図１１は、サブツリーを表すツリーテーブルの部分を補助表示に抽出した結果を示している。この例においては、抽出されたツリーテーブル３０５５が、図１０に示されているセル２９３０によって表されるノードが先頭となるサブツリーを表す。図１１が、図１０に示されているツリーテーブル２９５５の部分を示すことから、図１０に示されているものと同一の特徴については、同一の参照番号が使用されている。コントロール行２９１０には、フォーカス・セレクション２０２０、読み出しセレクション２０３０、サイズ・セレクション２０４０、および抽出タイトル２９６０が、ツリー・セレクション２９２０とともに備わっている。しかしながら、列セレクション２９５０はなく、これはさらにサブツリーの抽出を行うことは可能であるが、これ以上の列範囲による抽出ができないことを意味している。列ヘッダ２９７０は、図１０に示されているオリジナルのツリーテーブル２９５５の列Ｃ１〜Ｃ１０に関するヘッダだけを含んでおり、これは、これらの列だけに選択されたサブツリーのノードを表すセルが延びていることによる。行注釈３０１０は、オリジナルのツリーテーブルのいずれの行が省略されているかについて示すために使用され、この例ではそれが行Ｒ１だけであり、行Ｒ２〜Ｒ１１は表示されている。抽出されたツリーテーブル３０５５は、図１０に示されているセル２９３０およびその図面にあるそれ以下のすべてのセルからなる。
【００３７】
図１２は、列範囲からなるツリーテーブルの部分を補助表示に抽出した結果を示している。この例においては、抽出されたツリーテーブル３１５５が、図１０に示されているツリーテーブル２９５５の列範囲Ｃ１３〜Ｃ２３からなる。図１２が、図１０に示されているツリーテーブル２９５５の部分を示すことから、図１０に示されているものと同一の特徴については、同一の参照番号が使用されている。コントロール行２９１０には、フォーカス・セレクション２０２０、読み出しセレクション２０３０、サイズ・セレクション２０４０、および抽出タイトル２９６０が、ツリー・セレクション２９２０とともに備わっている。しかしながら、列セレクション２９５０はなく、これはさらにサブツリーの抽出を行うことは可能であるが、これ以上の列範囲による抽出ができないことを意味している。列ヘッダ２９７０は、図１０に示されているオリジナルのツリーテーブル２９５５の列Ｃ１２〜Ｃ２３に関するヘッダだけを含んでいる。抽出されたツリーテーブル３１５５は、図１０の列Ｃ１２〜Ｃ２３に示されているすべてのセルからなる。列１２内に示されているいくつかのセル、より具体的に言えばセル２９２５、２９３１、２９３２、２９３３は、ベース・ツリーテーブル２９５５内において、これらのセルが選択された列範囲を超えて左側に延びていることを示すインジケータ２９３４（この例においては、太字のディスク）が前置されたラベルを有している。
【００３８】
図１３〜１５は、ツリーテーブルの探究にデュアル−フレーム・アプローチを使用する別の実施態様を示している。このアプローチにおいては、ツリーテーブルを原位置で拡張することが困難になるが、それよりはむしろツリーテーブルのセルによって表されるノードのグループに関連づけされたコンテンツを読む上でのナビゲーション・ガイドとしてだけ使用される。図１３は、図１のツリーテーブルの、初期状態のデュアル−フレーム・ビューを示しており、ガイド・フレーム３２００および読み出しフレーム３２７０を含んでいる。ガイド・フレーム３２００は、ｄｉｓｐｌａｙ（表示）モード３２１０およびｃｈａｎｇｅ（変更）セレクション３２１５からなるモード・コントロール行３２６０を含む。表示モード３２１０は、分割されたツリーテーブル３２３０内の列ラベルまたはセルの選択が行われるとき、何が読み出しフレーム３２７０内に表示されるかというかということを決定する現在のモードを示している。これが分割されたツリーテーブル３２３０であることから、分割されたツリーテーブル３２３０のそれぞれの部分に１つ、合計して２つの列選択２０５０がある。この例においては、表示モードが「ｔｅｘｔ（テキスト）」になっているが、「ｔｅｘｔ（テキスト）」、「ａｂｂｒ（縮約）」または「ｍｓｇ（メッセージ）」のいずれとすることもできる。「ｔｅｘｔ（テキスト）」もしくは「ａｂｂｒ（縮約）」モードにおいては、分割されたツリーテーブル３２３０内の列またはセルが選択されると、そのセルが延びる最左翼の列内のセルによって表されるノードに関連づけされたボディ、すなわちテキストもしくはすでにここで開示したそのほかの情報が連結されて読み出しフレーム３２７０内に表示される。「ｔｅｘｔ（テキスト）」モードにおいては、ボディ情報が縮約されない。しかしながら、「ａｂｂｒ（縮約）」モードにおいては、縮約された形式で同じ情報を得ることができる。「ｍｓｇ（メッセージ）」モードにおいては、選択されたセルによって表されるノードに関連づけされたボディだけが表示される。変形実施態様は、単一のモードだけ、これらの表示モードのサブセット、もしくは代替モードを含むこともあり、また当然のことながら、モードに別の表現が用いられることもある。たとえば、ボディ情報がグラフィック、オーディオ、またはそのほかのタイプの情報を含む場合には、これらのタイプの情報に適した代替コマンドが適切になると見られる。それに代えて、望ましい場合には、要約した形式、あるいはキーワードを強調表示する形式を用いてテキスト情報を供給することもできる。変更（ｃｈａｎｇｅ）セレクション３２１５は、現在の表示モードの変更を可能にする。与えられている選択肢は、現在の表示モードに代えて使用することができるモードである。この例の場合であれば「ａｂｂｒ（縮約）」および「ｍｓｇ（メッセージ）」になる。
【００３９】
分割されたツリーテーブル３２３０は、垂直に仕切られ、割り当てられている水平のスペース内に収まるサブテーブルに分割されたツリーテーブルである。この例の場合は、４列がサブテーブル内の列数の最大値として使用されており、その結果、サブテーブル３２４０および３２５０がもたらされる。しかしながら、サブテーブル内の列数の最大値は、使用可能な表示スペース、ラベルに使用されているフォント・サイズ、ディスプレイの解像度、およびそのほかの要因に応じて変化することがある。したがって、ツリーテーブル３２３０が、単一のツリーテーブルとして示されることもあれば、あるいは適切な任意数のサブテーブルを有する分割されたツリーテーブルとして示されることもある。分割されたツリーテーブル３２３０が図１に示されているツリーテーブル２０５５によって表されるツリーと同一のツリーを表していることから、ツリーテーブル３２３０の列ヘッダおよびセルは、図１のツリーテーブル２０５５内に示されている列ヘッダおよびセルと同一の方法に従ってラベル付けされる。セルが、１つのサブテーブルを超えて別のサブテーブル内の列に延びることも可能である。これが生じる場合には、そのセルが延びる列を含むすべてのサブテーブル内においてそのセルが示される。この例の場合であれば、セル２０６０がサブテーブル３２４０の列Ｃ１〜Ｃ４にわたって延び、またサブテーブル３２５０の列Ｃ５〜Ｃ８にわたって延びており、両方のサブテーブルに現れている。セルをこの方法に従って分割する場合、右矢印３２４１および左矢印３２５１等の続きマークをセル内に使用して、続きの方向を示すことができる。
【００４０】
分割されたツリーテーブル３２３０のサブテーブル内の列ラベル２０５０もしくはセルは、いずれを選択しても読み出しフレーム３２７０内に示す情報を示すことができる。いずれの場合においても、表示（ｄｉｓｐｌａｙ）モード３２１０が「ｔｅｘｔ（テキスト）」または「ａｂｂｒ（縮約）」であれば、読み出しフレーム３２８０内に示される資料が列に関連づけされる。サブテーブルのセルが選択された場合には、関連する列が、そのサブテーブル内のそのセルを含む最左翼の列になる。図１３の例においては、サブテーブル３２４０のセル２０６０が選択されており、その選択は、前述した方法のいずれかに従った強調表示によって示すことができる。関連する列は、サブテーブル３２４０内のセル２０６０を含む最左翼の列であり、この例であれば列Ｃ１になるが、それについても前述したような強調表示によって示すことができる。選択された列内にないガイド・フレーム３２００のセルは、対比を目的として不明瞭化してもよい。
【００４１】
読み出しフレーム３２７０が使用されて、ガイド・フレーム３２００内において現在行われている選択に関連づけされるボディ情報が表示される。読み出しフレーム・ヘッダ３２７５は、表示されている列の列番号を示し、この例においてはそれが列Ｃ１を示す「Ｃｏｌｕｍｎ（列）１」である。現在有効になっている表示モードは、この例の場合は「ｔｅｘｔ（テキスト）」であり、それも読み出しフレーム・ヘッダ３２７５内に示されている。読み出しフレーム・ヘッダ３２７５の後には、エレメント３２８０、３２８５、および３２９０といった一連のエレメントが続く。エレメント・ヘッダ３２８１は、エレメント３２８０に関するラベリング情報、すなわち表示されている列の最初のセル、ここではセル２０６０に関するラベリング情報を含む。そのほかの情報を含ませてもよく、たとえば日付および時刻が挙げられる。ビュー・コントロール３２８２は、そのエレメントに関連づけされたツリーのノードに関係するそのほかの情報による、ガイド・フレーム３２００に関する別の一時的な置き換えの要求を受け入れる。この例においては、ビュー・コントロール３２８２が、エレメント３２８０に関連づけされたノードの子に関連づけされている資料を、左側のフレーム内に、一時的にガイド・フレーム３２００と置き換えて表示する要求（「ｒｅｓｐｓ（応答）」）だけが許容されている。この種の置き換えの例を図１５に示す。変形実施態様においては、「ｒｅｓｐｓ（応答）」要求によって、エレメント３２８０に関連づけされたノードの子が別のウインドウに表示される形にすることもできる。ビュー・コントロール３２８７およびビュー・コントロール３２９２といったほかのビュー・コントロールが、それぞれのエレメントによって表されるノードのタイプに適した別の要求を受け入れるようにしてもよい。たとえば、ビュー・コントロール３２８７は、エレメント３２８５に関連づけされたノードの親に関連づけされる資料を左側のフレームに表示する要求（「ｐｒｅｄ（属性）」）、または読み出しフレームを先頭までスクロールする要求（「ｔｏｐ（トップ）」）を受け付ける。ビュー・コントロール３２９２は、ビュー・コントロール３２８２に示される「ｒｅｓｐｓ（応答）」選択肢およびビュー・コントロール３２８７に示される「ｐｒｅｄ（属性）」ならびに「ｔｏｐ（トップ）」選択肢をすべて含んでいる。適切であれば、このほかのビュー・コントロールを追加してもよい。たとえば、次のエレメントまでのスクロールを提供するビュー・コントロールが望ましい場合には、それを追加することもできる。このほかのコントロールとしては、ボディ３２８３に関する要約されたコンテンツと縮約されていない完全なコンテンツの間の切り替えを含めることが考えられる。
【００４２】
エレメント・ボディ３２８３が、エレメント・ヘッダ３２８１の後に続いており、テキスト、グラフィックといった、そのエレメントによって表されるツリーのノードに関連づけされた情報を含む。この実施態様においては、この資料が、そのツリーのノードに関連づけされたメッセージのコンテンツからなる。またエレメント３２８０が選択されたセル２０６０に対応していることから、前述したいずれかの方法に従ってエレメント・ボディ３２８３を強調表示してもよい。エレメント３２８０の後には、エレメント３２８５が続く。エレメント・ヘッダ３２８６は、エレメント・ヘッダ３２８１と同様に、関連づけされたセル、すなわちこの例においてはセル２０６５に関するラベリング情報およびビュー・コントロール３２８７を含んでいる。ボディ３２８８は、同様にこのツリーのノード、すなわちセル２０６５に関連づけされた情報を含んでいる。また、スクロール・バー３２９５が備えられており、ユーザは、読み出しフレーム３２７０のコンテンツ全体をスクロールすることができる。
【００４３】
図１４は、図１３と同じツリーテーブルに関するデュアル・フレーム・ツリーテーブルのビューを示しているが、この場合には異なるセルが選択されている。図１４に示されている分割されたツリーテーブルが図１３に示されているそれに同一であることから、同じ特徴については同じ参照番号が使用されている。図１４において選択されているセルは、サブテーブル３２５０内のセル２０７０であり、行Ｒ２の列Ｃ５〜Ｃ７に延びている。セル２０７０は、前述したように強調表示を行って選択を示し、また最左翼の列Ｃ５のほかのセルには別の方法に従って強調表示を行うことができる。分割されたツリーテーブル内の残りのセルについては、不明瞭化してもよい。読み出しフレーム３３７０は、構造において図１３の読み出しフレーム３２７０と類似しているが、分割されたツリーテーブル３２３０の列Ｃ５に関連づけされた資料を含んでいる。また、セル２０７０がその列の選択されたセルであることから、読み出しフレームは、初めから、セル２０７０によって表されるノードに関連づけされた資料を含むエレメント３３８０までスクロールされている。ボディ・エレメント３３８３は、強調表示を行ってセル２０７０の強調表示と整合させることができる。
【００４４】
図１５は、別の実施態様を示しており、これにおいてはデュアル・フレーム・ツリーテーブルのビューを、分割されたツリーテーブルによって表されるツリーに関連づけされた別の資料を、読み出しフレーム内のビュー・コントロールを使用して探究に使用する。これは、左側の補助フレーム３４００および右側の読み出しフレーム３２７０からなる。図１５に示されている右側の読み出しフレームは、図１３の読み出しフレーム３２７０と同一であることから、同じ特徴については同じ参照番号が使用されている。この例においては、吟味されている追加の資料が、読み出しフレーム内にテキストが表示されるノードの子に関連づけされたテキストからなる。図１５においては、ユーザがビュー・コントロール３２８２を選択した直後が仮定されており、これが読み出しフレーム３２７０のエレメント３２８０（および図１３のガイド・フレーム３２００のセル２０６０）によって表されるノードの子を、左側のフレーム、すなわち図１３のガイド・フレーム３２００と一時的に置き換わるフレーム内に表示することを要求する。それにより、補助フレーム３４００が左側フレーム内に現れる。補助フレーム３４００はヘッダ３４２０を含み、それが（ａ）子が表示されるセル（および読み出しフレームのエレメント）、すなわちこの場合であればセル２０６０および読み出しフレームのエレメント３２８０のラベルを示し、（ｂ）表示の形式（「ａｂｂｒｅｖ（縮約）」）を示し、かつ（ｃ）ガイド・フレーム３２００を復帰させる要求に関するコントロール（「ｂａｃｋ  ｔｏ  ｔｒｅｅ（ツリーに戻る）」）を提供する。この例がｅ−メール応用を考慮していることから、ヘッダ３４２０が「応答」または「子」を参照することもある。ヘッダ３４２０に、セル２０６０に関連づけされたノードの子に関連づけされる情報を含む子エレメント３４３０、３４４０、および３４５０等の子エレメントが続いている。子ヘッダ３４３１は、読み出しフレームのエレメント３２８０に関連づけされたノードの最初の子を表すセル、具体的には図１３のセル２０６５に関するラベル情報、およびシフト・コントロール（「ｉｎｃｏｌ  １」）を含むが、そのほかの情報を含んでいることもある。シフト・コントロールの選択は、左側フレームにガイド・フレーム３２００を再度表示するが、選択がセル２０６５および列Ｃ１に変更される。子ヘッダは、日付等の追加の情報を含んでいることもあり、シフト・コントロールは、スペリングおよび意味において異なることもある。子ボディ３４３２が子ヘッダ３４３１に続いており、子エレメント・ヘッダ３４３１内にラベルが現れるセル、すなわちこの場合であればセル２０６５によって表されるノードに関連づけされたテキストを含んでいる。ここで注意が必要であるが、テキストを要約もしくは縮約がなされた形式で提供することも可能であり、要約もしくは縮約がなされたテキストと完全なテキストの間の切り替えを行うためのコントロールを備えることもできる。
【００４５】
次に、これらのビジュアル化を開発するための方法に移るが、図１６は、全体的なコントロール・メカニズムを示しており、本発明の実施態様によって使用される主プロセスを参照している。インタラクティブなビジュアル化の生成においては、多くの同時代的バリエーションが存在し、そのそれぞれは、主プロセスがどのように呼び出されるかということ、および表示仕様の詳細において何らかの差をもたらす。バリエーションの原因のいくつかを次に示す。
【００４６】
（ａ）表示仕様を表現するために使用される言語、たとえばツリーテーブルのビジュアル化の構造ならびにコンテンツを指定する言語。これは、ＨＴＭＬもしくはそのバリアントの１つ、またはプログラミング言語固有（たとえばＪＡＶＡ（登録商標）（ジャバ）スイング）、あるいはこれら２つの組み合わせとすることができる。
【００４７】
（ｂ）表示は、テーブル・アイテムもしくはコントロールの各選択肢が独立のインタラクションを要求するように構造化されるか、あるいはいくつかのインタラクションが互いに結合されるか（たとえば「フォーム」の場合）ということ。
【００４８】
（ｃ）インタラクションは、ステートレスか、あるいはセッション−ベースかということ。ステートレス・インタラクションにおいては、ブラウザに一般的であるが、以前のインタラクション（要求の中に収められる場合を除く）のシーケンスに関する事前の知識をまったく伴わずに各ビジュアル化の要求が処理される。
【００４９】
（ｄ）ビジュアル化に使用される各ウインドウは、個別に、独立のプロセスによってマネージされるか（ブラウザのオペレーションの基本モード）、あるいは単一のアプリケーションが関係するすべてのウインドウをマネージするかということ。
【００５０】
（ｅ）コントロール・メカニズムは、ディスプレイ・システムを含む単一システム上において実装されるか、あるいはディスプレイ・システムとは独立のシステム上において実装されるかということ。たとえばユーザが、リモート・ウェブ・サイトを伴うブラウザを介して、あるいは別の分散コンピューティング・フレームワーク内においてインタラクションすることがある。
【００５１】
（ｆ）単一のツリーが観察されているのか、あるいは複数のツリーが観察されているのかということ。複数のツリーが観察されている場合には、すべてのツリーがそのサブツリーになるダミーの親ノードを挿入し、単一のツリーであるかのように処理すると望ましいことがある。それに代えて、各ツリーを独立に処理し、表示情報を連結して単一の表示イメージを生成することが望ましいこともある。
【００５２】
しかしながら、どのような一般的なメカニズムが使用されてインタラクティブなビジュアル化の生成が行われる場合であっても、本発明によって提供される方法は基本的に同じであり、相違のほとんどは、主プロセスがどのように呼び出されるかということ、および要求ならびに結果の表示仕様がどのように表現されるかということの詳細において生じる。
【００５３】
判断ボックス１０においてコントロール・ルーチンが開始すると、それにおいてツリーテーブルおよび／または補助読み出しビューの要求があったか否かについてのチェックが行われる。その要求があった場合には、コントロール・ルーチンが判断ボックス２０に進み、それにおいてフル・ツリーテーブルの表示の要求があったか否かについてのチェックが行われる。その要求があった場合には、ボックス３０に進んでツリーテーブル表示を構成するが、それについては図１７に詳細が説明されている。ツリーテーブル表示を構成した後、コントロール・ルーチンが判断ボックス４０に進み、それにおいて読み出しビューの要求があったか否かについてのチェックが行われる。フル・ツリーテーブルの表示が要求されていない場合には、コントロール・ルーチンがツリーテーブルを構成するステップをスキップし、直接判断ボックス４０に進み、補助読み出しビューの要求があったか否かについてのチェックが行われる。その要求があった場合には、ボックス５０に進んで読み出しビューを構成し、その後、終了ボックス７０に進む。読み出しビュー・ビルダ・プロセスについては、図３０に詳細が説明されている。読み出しビューが要求されていなければ、直接終了ボックス７０に進む。しかしながら、判断ボックス１０においてコントロール・ルーチンが、フル・ツリーテーブルの表示が要求されてなく、デュアル−フレーム・ツリーテーブルの表示が求められていると判断した場合には、ボックス６０に進んでデュアル−フレーム・ツリーテーブル・ビューを構成し、その後、終了ボックス７０に進む。デュアル−フレーム・ビルダ・プロセスについては、図２７に詳細が説明されている。
【００５４】
図１７は、全体的なツリーテーブル・ビルダ・プロセスを記述している。コントロール・ルーチンは、入力ツリーおよび表示コントロールの現在のセットがあればそれを伴ってボックス１００に入り、判断ボックス１１０に移動する。判断ボックス１１０においてコントロール・ルーチンは、これが、関連するツリーのツリーテーブル表示に関する最初の要求であるか否かをチェックする。これが最初の要求である場合には、ボックス１２０から開始するいくつかの前処理を実行する。ボックス１２０においては、値の初期セットがコントロールに関連づけされる。その後ボックス１３０においては、各ノードのスパン値を用いて入力ツリーを拡張することによって、その後の処理のための準備が行われる。リーフ・ノードに対応するスパン値は１であり、そのほかのノードに関するスパン値は、そのノードの最終的な子孫となるリーフの数になる。単純なデプス−ファースト・プロセスによりこれらのスパン値が見つかる。各ノードｎについて、そのすべての子が処理された後に、そのスパン値が、それらの子のスパン値の合計にセットされる。スパン値をセットした後、コントロール・ルーチンがボックス１４０に進み、それにおいてツリーテーブルのためのアウトライン・レイアウトを生成する。アウトライン・レイアウト生成プロセスについては、図１８に関連してより詳細に考察する。アウトライン・レイアウトをはじめ、各列内のアイテムの要約リストが、その後の使用のためにストレージ・デバイス９０内に保存される。ストレージ・デバイス９０は、情報を生成するプロセスが終了した後に、保存されている情報へのアクセスが可能になる任意のメディアとすることができる。ここで注意が必要であるが、ここではアウトライン・レイアウトおよび各列内のアイテムの要約リストが保存されて、それが必要になるごとに情報を再生成することが回避されているが、ストレージ・デバイス９０から検索するのではなく、情報が使用されるごとに、アウトライン・レイアウトおよび各列内のアイテムの要約リストが生成されるようにもできることは明らかである。同じことが、ストレージ・デバイスもしくはメモリからデータまたは情報の検索が行われる、プロセスのほかの部分についても言える。アウトライン・レイアウトは、ツリーテーブルのスケルトンであり、それにおいては各ツリーのノードが、特定の行内の、特定の開始列ならびに終了列を伴うセルに関連づけされ、かつツリーのノードに関連づけされたセルの間のスペースがギャップ・セルによって埋められる。ギャップ・セルは、コンテンツをまったく伴わないセルである。ギャップ・セルは、テーブルのジオメトリを維持し、最終的にそれらを背景と区別不能にレンダリングする方法で表示される。アウトライン・レイアウトは、要素が行を表し、その行内のセルのリストからなる単純なリストによって表すことができる。アウトライン・レイアウトならびに要約情報を保存した後、コントロール・ルーチンがボックス１６０に進み、コントロール行の構成を行う。
【００５５】
しかしながら、判断ボックス１１０におけるチェックによって、これが、指定されたツリーに関するツリーテーブルのための最初の要求ではないと判断された場合には、ボックス１６０に進む前に、コントロール・ルーチンがボックス１５０に進み、それにおいてストレージ・デバイス９０からストア済みのアウトライン・レイアウトが読み出される。ボックス１６０においては、図１または図１０に示されているような、現在の、ならびにそのほかの可能なコントロール選択肢を示す表示用のヘッダ・エレメントが生成される。その後、コントロール・ルーチンがボックス１７０に進み、それにおいてアウトライン・レイアウトがさらに表示レイアウトに、すなわち特定のディスプレイ・プロセッサ（たとえば、ブラウザが使用されているのであればブラウザ）に適したレイアウト仕様に変換され、セルに対して特定の寸法ならびにカラーもしくはそのほかのタイプの背景の塗りつぶしが与えられ、かつ特定の情報ならびにリンクにより埋められる。アウトライン・レイアウトから表示レイアウトへの変換については、図２０との関連から詳細を後述する。最後に、コントロール・ルーチンがボックス１８０に進み、結果として得られた表示レイアウトをこのプロセスの読み出し元に返す。
【００５６】
図１８および１９は、アウトライン・レイアウトの構成を記述しており、それにおいては、各ツリーのノードが、特定の行内の、特定の開始列ならびに終了列を伴うセルに関連づけされ、かつツリーのノードに関連づけされたセルの間のスペースがギャップ・セルによって埋められる。ここで使用されている一般的なアプローチが、入力ツリーを表すツリー３５０を伴って図１９に図示されており、このツリーは、ルート・ノードＮ１、内部ノードＮ１１、Ｎ１２、ならびにＮ１３、およびリーフ・ノードＮ１１１、Ｎ１１２、Ｎ１３１を有する。アウトライン・レイアウト３６０は、構成中のアウトライン・レイアウトを表しており、セルＣ１、Ｃ１１、Ｃ１２、Ｃ１３、Ｃ１１１、ならびにＣ１１２、３つの行Ｒ１、Ｒ２、ならびにＲ３、および列ＣＬ１、ＣＬ２、ＣＬ３、ならびにＣＬ４を伴っている。
【００５７】
最初のセルＣ１は、ツリーのルート・ノードＮ１用に割り当てられる。セルＣ１は、最初の行Ｒ１全体に、すべての列ＣＬ１〜ＣＬ４にわたって延びる。その後、先行する行のコンテンツに基づいて続く各行が展開される。アウトライン・レイアウト３６０内においては、行Ｒ２がセルＣ１１、Ｃ１２、およびＣ１３を含んでおり、行Ｒ３が、行Ｒ２に基づいて構成中となっている。セルＣ１１１およびＣ１１２が割り当てられてノードＮ１１の子を表し、それらがセルＣ１１の直下に配置されている。次に割り当てられる実在のセルは、ノードＮ１３１を表すセルＣ１３１であり、セルＣ１３の直下から開始しなければならない。しかし、これが行われる前に、セルＣ１１２とＣ１３１の間のギャップをブリッジするためにギャップ・セルＧが必要になる。ギャップ・セルＧが配置された後には、セルＣ１３１を割り当てることが可能になる。
【００５８】
図１８に明示されているコントロール・ルーチンは、このアプローチを実行する。これはボックス２００において開始し、そこでテーブルの最初の行に、ツリーのルートに対応する単一のセルが割り当てられる。このセルは、テーブルの列１から開始し、ｎ列にわたって延びるが、このｎは、ルートのスパン値である。最初の行が、「ベース行」変数ｂｒの初期値としてセットされる。その後コントロールが判断ボックス２１０に、すなわち繰り返しごとに単一の行を構成するループの最初のステップに進む。判断ボックス２１０においては、コントロール・ルーチンが、構成を必要とする行が残っているか否かをチェックし、残っていなければ、ボックス２１５上において終了し、コントロールをその呼び出し元に返す。構成を必要とする行が残っている場合には、ボックス２２０にコントロール・ルーチンが進み、それにおいてコントロール・ルーチンは、「ベース行セル」変数ｂｒｃを、変数ｂｒによって示される行内の最初のセルにセットし、新しい行変数ｒの値をｂｒ＋１にセットし、かつ現在の列を１にセットすることによって次の行に関するプロセスを初期化した後、ボックス２３０に進む。
【００５９】
判断ボックス２３０においては、現在のベース行セルｂｒｃによって表されるノードが子を有しているか否かについてのチェックが行われる。子を有していなければ、判断ボックス２４０に進む。ボックス２４０においては、コントロール・ルーチンが、変数ｂｒによって参照されるベース行内にセルが残っているか否かのチェックを行う。残っている場合には、ボックス２５０に進み、それにおいて変数ｂｒｃを、変数ｂｒによって参照される行内の新しいセルに更新し、ボックス２３０に戻る。残っていなければ、ベース行変数ｂｒが現在の行（構成したばかりの行）を参照するように更新され、コントロール・ルーチンがボックス２１０に戻って次の行の構成を行う。
【００６０】
しかしながら、判断ボックス２３０のチェックにおいて、現在のベース行セルｂｒｃに対応するノードが子を有していると判断されると、コントロール・ルーチンが判断ボックス２７０に進み、新しい行内にそれらの子に関する表現を追加する。ボックス２７０においては、現在の列ポジション変数ｒｃｏｌがｂｒｃの列ポジションに等しく、その結果、ポジションｒｃｏｌに割り当てられる新しいセルが、親の下に整列することになるか否かについてのチェックを行う。それに該当すれば、ボックス２９０に進む。それに該当しなければ、ボックス２８０に進み、「ギャップ」セルを現在の行に追加して、行内の現在の列ポジションと、変数ｂｒｃによって参照されるセルの開始列の間に渡し、その後ｒｃｏｌの値を更新してからボックス２９０に進む。ボックス２９０において、現在の子ノード変数「ｃｎｏｄｅ」が、セルｂｒｃによって表されるノードの最初の子にセットされると、その後、ボックス３００〜３２０からなるループが開始されて、その種の子のそれぞれに対応するセルを追加し、関連するツリーのノードのスパンに等しいアウトライン幅をそれぞれに与え、それがボックス３１０におけるテストにより、セルｂｒｃによって表されるノードの子がすべてなくなったと判断されるまで続けられた後、コントロールがボックス２４０に戻る。
【００６１】
図２０は、図１７のボックス１７０からの、アウトライン・ツリーテーブル・レイアウトを実際の表示仕様に変換する、フォーカスにバリエーションが与えられた場合を考慮した一般的なプロセスをカバーしている。ボックス４００は、プロセスに対する入力を表し、それにはアウトライン・レイアウト、オプションの抽出仕様（より大きなレイアウトからこのツリーテーブルの抽出を行うべきか否かを示す）、オプションのフォーカス（列および可能性としては行からなる）、目標表示幅、およびサイズ・コントロール（図１参照）が含まれる。
【００６２】
この入力が与えられると、コントロール・ルーチンはまず、判断ボックス４１０において、入力が抽出仕様を含むか否かについてのチェックを行う。含んでいる場合にはボックス４２０に進み、それにおいて要求された列を抽出することによってそのプロセスに関する一時的なアウトライン・レイアウトを形成し、その後ボックス４３０に進む。しかしながらボックス４１０のチェックにおいて抽出が必要ないと判断されると、そこから直接ボックス４３０に進む。ボックス４３０においては、図２１に関連してより詳細を後述するが、フォーカス列範囲、すなわちフォーカスが当てられている連続する列のセットがあれば、それを識別する。次に、ボックス４４０において、図２２に関連してより詳細を後述するが、列範囲を、表示幅ならびにサイズ・コントロールとともに使用し、それぞれの列に対して表示単位を用いて表した特定の幅を割り当てる。最後に、ボックス４５０において、図２４に関連してより詳細を後述するが、列幅によって含意されるセル幅を具体化し、かつ各セルに関するコンテンツを指定する実際の表示レイアウト仕様が生成される。各セルに関するコンテンツは、表現されるツリーのノードに関連づけされた情報、フォーカス情報、およびセル内において使用可能なスペースを基礎とする。
【００６３】
図２１は、図２０のボックス４３０のプロセスを詳細に示しており、それにおいては、フォーカス列範囲がある場合にそれが識別される。判断ボックス５００においては、コントロール・ルーチンが現在のフォーカス・エレメントをチェックする。現在のフォーカス・エレメントがないこともあるが、フォーカス列だけがあり、あるいはフォーカス列およびフォーカス行がともに存在することもある。フォーカス・エレメントがない場合には、コントロール・ルーチンがボックス５５０に進み、フォーカス・カウントを０にセットし、その後ボックス５６０に進んで空のフォーカス範囲を返す。フォーカス列だけがある場合には、コントロール・ルーチンがボックス５１０に進む。ボックス５１０においては、フォーカス範囲が単一のフォーカス列にセットされ、かつフォーカス・カウントが１にセットされ、ボックス５６０においてコントロール・ルーチンがそのフォーカス範囲を返す。しかしながら、ボックス５００のチェックにおいて、フォーカス列およびフォーカス行がともに存在すること、つまりそのフォーカス列において開始するそのフォーカス行内のセルが選択されていることが示されると、コントロール・ルーチンがボックス５２０に進み、その選択をどのように解釈するべきかを決定する。ボックス５２０において、示されたセルを含む最初の列にフォーカスを当てるという意味にその選択を解釈するものと判断されると、コントロール・ルーチンはボックス５１０に進み、列が指定された場合とまったく同じに、フォーカス・カウントおよびフォーカス範囲をセットする。それ以外は、コントロール・ルーチンがボックス５３０に進み、アウトライン・レイアウト内の、フォーカス行内のフォーカス列において開始するセルを獲得し、ボックス５４０に進む。ボックス５４０においては、フォーカス範囲をそのセルが延びる特定の列にセットし、その後、コントロール・ルーチンがボックス５６０に進んでそのフォーカス範囲を返す。
【００６４】
図２２は、図２０のボックス４４０のプロセスを詳細に示しており、それにおいては、与えられた表示幅、フォーカス範囲、およびサイズ・コントロールに基づいてフォーカス列および非フォーカス列に特定の幅（表示単位を用いて表す）が割り当てられる。最初のボックス６００においては、コントロール・ルーチンが、フォーカス列ならびに非フォーカス列の初期サイズをともに最小値（境界を加えた単一の文字だけを保持するに充分なサイズ）にセットし、ボックス６１０に進む。判断ボックス６１０においては、ルーチンが、少なくとも１つのフォーカス列が存在するか否かについてのチェックを行う。フォーカス列が存在しない場合には、ルーチンが判断ボックス６２５に進む。少なくとも１つのフォーカス列が存在する場合には、コントロール・ルーチンが判断ボックス６１５に進み、列幅の割り当てにおいてフォーカスを考慮することがコントロールによって指定されているか否かをチェックする（場合によっては、たとえば表示上において強調によってだけフォーカスが示される場合には、それを行う必要がない）。フォーカスが考慮されない場合には、コントロール・ルーチンが判断ボックス６２５に進む。列幅の割り当てにおいてフォーカスが考慮されることになる場合には、コントロール・ルーチンがボックス６２０に進み、図２３に関連してより詳細を後述するが、フォーカスと非フォーカスのサイズの間に相違を持たせることを基礎として列幅をセットした後、ボックス６４０に進み、図２０のボックス４５０に戻って表示レイアウトを構成する。
【００６５】
判断ボックス６２５には、フォーカスが存在しない場合、あるいは列幅の割り当てにおいてフォーカスが考慮されない場合に入るが、そこでは、サイズ・コントロールが有効表示幅、すなわち列幅の割り当てにおいて前提となる表示幅を示しているか否かについてのチェックが行われる。有効表示幅は、縮小されることもあり、たとえばより幅の狭いツリーテーブル表示を生成することもできる。その場合には、コントロール・ルーチンがボックス６３０に進み、有効表示幅を縮小してからボックス６３５に進む。しかしながら、有効表示幅が縮小されない場合には、コントロール・ルーチンが直接ボックス６３５に進む。ボックス６３５においては、コントロール・ルーチンが列幅を均一に増加し、有効表示幅が満たされるとボックス６４０に戻り、図２０のボックス４５０に示したように表示レイアウトを構成する。
【００６６】
図２３は、図２２のボックス６２０の詳細であり、フォーカス列および非フォーカス列に対して行う可及的に異なる幅の割り当てを記述している。コントロール・ルーチンは判断ボックス６５０に入り、それにおいて、どのような種類のサイズ強調がフォーカス列に対して要求されているかについてのチェックを行う。それがフォーカス列を最大化することであると判断されると、コントロール・ルーチンがボックス６５５に進み、それにおいてフォーカス列のサイズを標準の長さにセットした後、ボックス６６０に進む。そこでは、式「結果の幅＝（フォーカス・リーフ・カウント×フォーカス列サイズ）＋（非フォーカス・リーフ・カウント×非フォーカス列サイズ）」を使用して、使用可能な表示幅を大きく超えることがないように、必要に応じてフォーカス列のサイズが縮小される。その後ボックス６８０においてルーチンがリターンする。
【００６７】
しかしながら、判断ボックス６５０においてコントロール・ルーチンが、フォーカス列は最大化されるのではなく優先されると判断すると、コントロール・ルーチンがボックス６６５に進む。ボックス６６５においては、少なくともフォーカス・エリア内の最大セルが、意味のある量のテキストを含むことができるようにフォーカス列サイズが初期セットされる。このステップは、その種のテキストを含ませるために必要な幅をフォーカス列の数を用いて除するオペレーションからなる。その後コントロール・ルーチンがボックス６７０に進み、さらにボックス６７５に進んで、フォーカス列および非フォーカス列のサイズをさらに調整する。ボックス６７０においては、各フォーカス・セル内に妥当な量のテキストが収められるまで、あるいは表示幅に到達するまで、フォーカス列の幅が増加される。それぞれの増幅においては、前述のボックス６６０において使用した結果の幅の式を用いて結果の幅のチェックが行われる。その後ボックス６７５において、可能であれば表示幅に到達するまで非フォーカス列が増加される（ここでも結果の幅に関する式が用いられる）。その後、ボックス６８０においてコントロール・ルーチンがリターンする。ここで気づかれようが、この特定の例示においては、２つの選択肢、具体的にはフォーカス列が優先されるのか、あるいは最大化されるのかという選択肢が考慮されている。しかしながら、ほかの区別を行うことも可能であり、区別に別の解釈を与えることも可能である。たとえば、フォーカス列および非フォーカス列の幅に関して、ユーザ定義の優先権を与えることもできる。
【００６８】
図２４は、図２０のボックス４５０の詳細であり、割り当てられた列幅、ツリーのノードに関連づけされたコンテンツ情報、およびいくつかのコントロール情報を使用して表示レイアウトをどのように生成するかということについて記述している。いくつかのレイアウト仕様の機能的な詳細は、レイアウトに意図されたプロセッサに依存する。ここでは、一般的に、ＨＴＭＬテーブル仕様を受け付ける標準ブラウザを前提とする；手順においては、別のグラフィック・ディスプレイ・プロセッサに関連して軽微な相違を生じることもある。この前提の下に、ボックス７００においてコントロール・ルーチンが出力テーブル仕様の先頭を生成し、列番号識別子が使用される場合には、それに続く、それぞれが列番号を含む個別のセルの行を生成する。（これらのセルは、それらのカラーを背景と同じに指定することによって不可視にされる。）この図面に記述されている処理の残りの部分は、アウトライン・レイアウトの行およびセルにわたる、それぞれに関する表示レイアウト仕様の生成の繰り返しからなる。コントロール・ルーチンは、ボックス７１０においてアウトライン・レイアウトの最初の行を獲得した後、ボックス７３０に進み、ディスプレイ・プロセッサに適した行開始ボックスを生成し、その後ボックス７４０に進む。ボックス７４０においては、アウトライン・レイアウト内の現在の行の最初のセルを獲得し、ボックス７６０に進む。
【００６９】
ボックス７６０においてコントロール・ルーチンは、フォーカス列および非フォーカス列の延びる幅を合計することによって現在のセルの実際の表示幅を求め、ボックス７７０（詳細は図２５）に進んでそのセルに関する表示レイアウト仕様の実際のコンテンツを生成する。その後ボックス７８０（詳細は図２６）に進み、表示セルの背景をセットした後、判断ボックス７８５に進む。判断ボックス７８５においては、コントロール・ルーチンが、現在のアウトライン・レイアウト行内に未処理のセルが残っているか否かについてのチェックを行い、残っている場合にはボックス７５０に戻って次のセルを獲得する。残っていなければ、判断ボックス７９０に進み、それにおいてアウトライン・レイアウトのすべての行の処理を完了したか否かついてのチェックを行う。すべてを完了していなければ、ボックス７２０に戻り、現在の行に関する表示仕様を完了し、新しい行を獲得する。すべての行の処理を完了すると、ボックス７９５に進み、テーブルの最終行に関する表示使用を完成して終了する。
【００７０】
図２５は、図２４のボックス７７０の詳細であり、個別のセルに関する表示レイアウトのコンテンツの生成を記述している。ボックス８００においては、コントロール・ルーチンが、そのセルに関する列スパンを獲得し、判断ボックス８１０に進む。判断ボックス８１０においてルーチンは、そのセルがギャップ・セルであるか否かについてのチェックを行う。ギャップ・セルであれば、ボックス８２０においてコンテンツをブランクにセットし、ボックス８９５においてリターンする。セルがギャップ・セルでなければ、ルーチンがボックス８３０に進み、レイアウト・セルに関連づけされるツリーのノードに関するラベリングおよびそのほかの説明的な資料を獲得する。アプリケーションに応じて、最小サイズのラベルおよびフルサイズのラベルがともに存在すること、これら２つが融合していること、および／または独立の記述が存在し、あるいは存在しないことがあり得る。さらに記述がツリーのノードに関連づけされている情報から導かれることもあり、あるいはそれが未修整の形式でツリーのノードに関連づけされている情報からなることもある。この情報を獲得した後は、コントロール・ルーチンが判断ボックス８４０に進む。
【００７１】
図２５の判断ボックス８４０においては、コントロール・ルーチンが、有効セル幅とラベリング情報を比較することによって、そのセル内に配置するテキストの量をいくらにするかという決定を開始する。セルが最小サイズのラベルより狭いことが明らかになると、ボックス８９０に進む（セルが単一の文字しか必要としないリンクだけを含むものとなることを含意する）。セルが最小サイズのラベルよりは広いが、最大でもフル・ラベルの幅しかないと判断されると、セルのコンテンツとして、収容することができるラベルの最大部分列をセットし、ボックス８９０に進む。しかしながら判断ボックス８４０において、コントロール・ルーチンが、セル幅はラベルに必要な幅より大きいと判断すると、判断ボックス８６０に進み、さらにチェックを行う。
【００７２】
図２５の判断ボックス８６０においては、コントロール・ルーチンが、そのノードに関連づけされた前述したような説明テキストもしくはそのほかの情報が含まれるか否かについてのチェック、具体的に述べれば（ａ）そのセルに関する説明的な資料があるか否か、および（ｂ）そのセルの幅が有効なサイズで情報を提供するために必要な最小の幅に少なくとも等しいか否か、および（ｃ）コントロールが、その種の情報を含ませることを示しているか否かについてのチェックを行う。コントロールのセッティングに関して言えば、セルの幅が情報を含ませる上で充分であっても、いくつかのコントロールがそれを含ませることを妨げることがある。たとえば、図１〜１５に示したコントロールの説明において、サイズ選択肢の「ｓｍａｌｌ（スモール）」および「ｍｉｎｉ（ミニ）」は、情報を排除する。また、この実施態様において、選択肢「ｆｏｃｕｓ＋（フォーカス＋）」は、非フォーカス・エリアから情報を排除する。
【００７３】
判断ボックス８６０において、情報の包含はないと判断されると、コントロール・ルーチンがボックス８７０に進み、それにおいてセルのコンテンツとしてラベルだけをセットした後、ボックス８９０に進む。しかしながら、判断ボックス８６０においてコントロール・ルーチンが、情報の包含があると判断すると、このルーチンはボックス８８０に進み、それにおいて、割り当てられた幅および深さの中に収容可能な情報の部分をセルのコンテンツとしてセットする。この深さは、フォーカスに関する考察に応じて変化することがある。たとえばこの例において、選択肢「ｆｏｃｕｓ＋（フォーカス＋）」は、より深いフォーカス・セルの使用、したがって、より多くの情報の収容が可能であることを含意する。
【００７４】
ボックス８９０へは、セル内に表示するコンテンツが確立された後に入り；リンクもしくはそのほかの表示上のセルの選択を示すために使用されるメカニズムを生成する。これらのリンクの表現は、ディスプレイ・プロセッサのコンフィグレーションおよび表示仕様に使用されている言語によって決定される。たとえば、フォームを採用していないステートレス・ブラウザ・コンフィグレーションの場合であれば、リンクがセルの行ならびに最初の列の表示だけでなく、そのほかすべてのコントロールの状態を含むこともある。またその種のコンフィグレーションにおいてコントロールが補助読み出しビューの生成をイネーブルした場合には、複合リンクがセットされ、その結果、セルが選択されたとき、修正後のツリーテーブルの要求をはじめ、読み出しビューの要求も生じることになる。必要なすべてのリンク情報がセットされた後は、ボックス８９５においてリターンが行われる。
【００７５】
図２６は、図２４のボックス７８０の詳細を示しており、セルの背景のセットを記述している。これは例示にすぎず、ほかの方法を使用することもできる。ボックス９００は入力を示しており、この入力は、現在のセル、選択されたセルがある場合にはその行ならびに最初の列、フォーカスがあるか否か、ある場合には現在のセルがフォーカス・エリア内になるか否かということから構成される。この図によって具体化される方法においては、フォーカスが存在しない場合に、ギャップ・セルを除くすべてのセルに同一の背景が与えられる。フォーカスが存在する場合には、フォーカス・エリア外のセルには不明瞭化した背景が与えられ、選択されたセルがある場合にはそれに強調表示の背景が与えられ、フォーカス・エリア内のそのほかのセルには別の強調表示の背景が与えられる。カラーもしくはグレイスケールあるいはそのほかのタイプの背景を強調および不明瞭化に使用することが可能であり、そのほかにも反転表示およびその方法に適した修正を伴った境界の選択を使用することができる。
【００７６】
判断ボックス９１０においては、コントロール・ルーチンが、そのセルがギャップ・セルであるか否かについてチェックを行い、それに該当すればボックス９６０に進み、それにおいてそのセルの背景が不可視となるようにセットするが、これは、そのセルがツリーテーブルを囲む周囲のエリアの一部として現れることを意味しており、その後コントロール・ルーチンが、ボックス９９５においてリターンする。そのセルがギャップ・セルでなければ、コントロール・ルーチンが判断ボックス９２０に進み、それにおいて、このツリーテーブルがフォーカス・エリアを有するか否かを判断する。このツリーテーブルがフォーカス・エリアを有していない場合には、ルーチンがボックス９７０に進み、それにおいてカラーもしくはそのほかの手段によって、そのセルの背景をベース背景にセットした後、ボックス９９５においてリターンする。しかしながら、判断ボックス９２０におけるチェックが、このツリーテーブルがフォーカス・エリアを有していることを示すと、コントロール・ルーチンが判断ボックス９３０に進み、それにおいて、現在のセルがフォーカス・エリア内に含まれるか否かのチェックを行う。現在のセルがフォーカス・エリア内に含まれない場合には、コントロール・ルーチンがボックス９８０に進み、それにおいてカラーもしくはそのほかの手段を用いて、セルの背景を不明瞭化する背景にセットした後、ボックス９９５においてリターンする。しかしながら、判断ボックス９３０におけるチェックが、このセルがフォーカス・エリア内に含まれることを示すと、コントロール・ルーチンが判断ボックス９４０に進み、それにおいて現在のセルが選択されたセルであるか否かのチェックを行う。現在のセルが選択されたセルである場合には、コントロール・ルーチンがボックス９９０に進み、それにおいてカラーもしくはそのほかのタイプの強調背景を指定することによって、セルの背景を第１の強調背景にセットし、その後ボックス９９５においてリターンする。判断ボックス９３０におけるチェックが、現在のセルが選択されたセルではないことを示すと、コントロール・ルーチンがボックス９５０に進み、それにおいてこのセルのカラーを第２の強調背景にセットした後、ボックス９９５においてリターンする。
【００７７】
図２７〜２９は、図１３〜１５に示されているデュアル・フレーム・ツリーテーブルを生成するためのメカニズムを記述しており、当該ツリーテーブルは、左側フレームがしばしば垂直に仕切られて、アウトライン・ツリーテーブルを含み、右側フレームが選択された列のコンテンツを含む。これは、読み出しビューが望ましいが、ツリーテーブルの探究に１つのウインドウしか当てられない場合に適している。
【００７８】
メカニズムのいくつかの詳細は、表示ウインドウ内において１ないしは複数のフレーム仕様を受け付ける標準ブラウザであって、そのそれぞれが、フレームが獲得される方法に関する個別の、可能性としては手続き上の仕様を参照する仕様を受け付ける標準ブラウザであるという前提を基礎としている。軽微な適合によって、このメカニズムが別のディスプレイ・プロセッサに適したものとなる。
【００７９】
図２７は、初期デュアル・フレーム・ビューの生成および続いて行われる、左側のツリーテーブル・ガイド内の選択に基づいたビューの生成の両方に使用される全体的なプロセスを記述している。初期デュアル・フレーム・ビューを生成するために、ツリーテーブル・ガイド用の仕切りのある表示レイアウトが構成される。その後のビューを生成するために、仕切りのある表示レイアウトが編集され、強調表示を介してフォーカス・エリアのシフトが示される。したがって、初期ビューの生成のために、コントロール・ルーチンがボックス１１００において開始し、それにおいてアウトライン・レイアウトを構成する。これを行う手順については、より詳細な説明が前述の図１８にある。コントロール・ルーチンは、その後ボックス１１１０に進み、それにおいてその後の使用のためのアウトライン・レイアウト情報をはじめ、各列のセルに関するノード識別子のリストをストレージ・デバイス９０内にストアし、ボックス１１２０に進む。ボックス１１２０においては、コントロール・ルーチンが、必要に応じてアウトライン・レイアウトを垂直のスライスに仕切り、それぞれのスライスごとに１つの表示レイアウトのリストを構成する。このプロセスについては、図２８との関連から詳細を後述する。その後ルーチンは、ボックス１１３０に進み、それにおいて将来使用するための表示レイアウトのリストをストレージ・デバイス９０内にストアする。その後ボックス１１４０に進み、最初に選択される列を１に、最初に選択されるセルをその列の最初にそれぞれセットし、ボックス１１６０に進む。
【００８０】
ボックス１１５０は、ツリーテーブル・ガイド内において選択が行われた後のフレーム化されたビューの修正を行うために使用されるエントリ・ポイントである。ボックス１１５０においては、コントロール・ルーチンが、選択される列およびその列内のセルを、入力パラメータに基づいてセットし、ボックス１１６０に進む。ボックス１１６０においては、デュアル・フレーム・レイアウト仕様が生成される。ここでは標準ブラウザの前提が使用されて、個別のフレームに異なる手続きソースを指定するフレーム化されたビューを構成することによって必要な処理を呼び出す。左側フレームについては、指定された手続きソースが垂直に仕切られたツリーテーブルの構成を行う。この手順については、図２９との関連から説明を後述する。右側フレームについては、手続きソースが読み出しビューを構成する。この手順については、図３０との関連から説明を後述する。フレーム化されたビューが構成されると、その後ボックス１１７０においてそれがディスプレイ・プロセッサに渡される。
【００８１】
図２８は、図２７のボックス１１２０の処理を詳細に示しており、それにおいて表示レイアウト・リストが生成される。表示レイアウト・リストの各要素は、入力アウトライン・レイアウトの垂直スライスを表している。全体的なプロセスは：（ａ）使用可能なスペース内に適合させるためにツリーテーブルを分けなければならないか否かの判断、（ｂ）分けなければならない場合には、いくつのコンポーネントが必要になるかの判断、および（ｃ）入力アウトラインから各コンポーネントを分離してそれを表示レイアウトに変換する繰り返しからなる。この手順に対する入力がボックス１２００に要約されており、当該入力はアウトライン・レイアウト、および使用可能なフレーム幅、および最小表示セル幅からなる。コントロール・ルーチンは、ボックス１２１０において開始し、そこで、フレームに適合させるためにツリーテーブルを分けなければならないか否かの判断に必要な基本データを計算する。計算されたデータは、フレームの水平寸法に収めることができる最小幅の列の数（ｍａｘＣｏｌｓ）からなり、さらにすべての列を収容するために必要なツリーを分割する数が求められる。その後コントロール・ルーチンがボックス１２２０に進み、現在のテーブル（ｃｕｒｒｅｎｔｔｒｅｅ）を１にセットし、現在の「残りのレイアウト」（ｒｅｍＬａｙｏｕｔ）をすべてのアウトライン・レイアウトにセットすることによって処理を初期化する。これ以下の処理においては、テーブルのパーティションがｒｅｍＬａｙｏｕｔから１つずつ分離され、表示フォームに変換される。これは、判断ボックス１２３０において開始し、そこでは、生成することになる次のコンポーネントが最後になるか否かについてのチェックが行われる。現在のテーブルが最後でなければ、コントロール・ルーチンがボックス１２４０に進み、それにおいて、ｒｅｍＬａｙｏｕｔの次のｍａｘＣｏｌｓ個の列からなる一時的なアウトライン・レイアウト（ｔｅｍｐＬａｙｏｕｔ）が構成され、さらにこれらの列がｒｅｍＬａｙｏｕｔから取り除かれて、コントロール・ルーチンがボックス１２５０に進む。ボックス１２５０においては、ルーチンがｔｅｍｐＬａｙｏｕｔを表示レイアウトに変換し、結果を表示レイアウト・リストに追加する。アウトライン・レイアウト（ｔｅｍｐＬａｙｏｕｔ等）から表示レイアウトへの変換については、図２０に関して前述した詳細に説明されている。表示レイアウトを表示レイアウト・リストに追加すると、ルーチンがボックス１２６０に進み、現在のツリー番号をインクリメントした後、ボックス１２３０に戻る。
【００８２】
しかしながら、判断ボックス１２３０のチェックにおいて、生成することになる現在のコンポーネントが最後であると判断されると、コントロール・ルーチンがボックス１２７０に進むが、それにおいて、残されている列、すなわちｒｅｍＬａｙｏｕｔ内のそれが表示レイアウトに変換され、結果が表示レイアウト・リストに追加された後に、コントロール・ルーチンがボックス１２８０においてリターンする。
【００８３】
図２９は、図２８の手順において獲得された表示レイアウト・リストから、垂直に仕切られたツリーテーブル・レイアウトを生成するための手順を記述している。その目的は、セルの背景もしくはリストのレイアウト内におけるそのほかの強調パラメータをセットしてフォーカス列およびフォーカス・セルを示し、かつレイアウトを連結することである。これは、ガイド・フレームの最初の表示のため、もしくはその後の選択された列および／またはセルの変更に基づく表示のための、新しいガイド・フレームを生成する要求を基礎として開始される。コントロール・ルーチンは、ボックス１３００において開始すると、ストア済みの列情報をストレージ・デバイス９０から読み出す。ストア済みの列情報は、列番号のリストおよび各列に関連づけされたアイテム識別子からなる。コントロール・ルーチンは、ボックス１３１０に進み、それにおいてストア済みの表示レイアウト・リストをストレージ・デバイス９０から読み出す。その後ボックス１３２０に進み、リスト内の最初のテーブル・レイアウトを獲得し、ボックス１３３０に進む。判断ボックス１３３０においては、コントロール・ルーチンが、選択された列を現在のテーブル・レイアウトが含むか否かについてのチェックを行う。それを含んでいる場合にはルーチンがボックス１３４０に進み、要求された列内のセルを表すレイアウト内の、それらのセルに関する背景仕様を、第１の強調背景（その列の中の選択されたセル用）もしくは第２の強調背景（その列の中の選択されていないセル用）のいずれかにセットし、ボックス１３５０に進む。背景は、前述したように応用に応じて、カラーもしくはそのほかの手段を使用して区別される。
【００８４】
しかしながらボックス１３３０のチェックにおいて、現在のテーブルが要求された列を含んでいないことが示されると、コントロール・ルーチンが直接ボックス１３５０に進む。コントロール・ルーチンは、ボックス１３５０において、選択された列に含まれないセル用の背景を非強調背景にセットした後、ボックス１３６０に進む。ボックス１３６０においては、編集済みのレイアウトが使用されて最終レイアウトの開始もしくは拡張が行われ、その後コントロール・ルーチンが、ボックス１３７０に進む。判断ボックス１３７０においては、コレクション内の残りのテーブル・レイアウトの有無がチェックされる。レイアウトが残っている場合には、コントロール・ルーチンがボックス１３８０に移動して新しいレイアウトを獲得し、ボックス１３３０に戻って次のレイアウトを生成する。レイアウトが残っていなければコントロール・ルーチンがボックス１３９０に進み、完成した仕切りのあるレイアウトを返す。
【００８５】
図３０は、デュアル・フレーム・ツリーテーブルの一部として、あるいは独立のウインドウとして読み出しビューを生成する手順を記述している。ボックス１４００は、この手順に対する入力を要約しており、当該入力は、呼び出しソースの表示（フル・ツリーテーブルからの選択、またはデュアル・フレーム・ツリーテーブルのナビゲーション・ガイドからの選択）読み出しビューのタイプ（列または継承者のセット）、および存在する場合にはソース・アイテム（セルの選択）からなる。コントロール・ルーチンは、ボックス１４１０において開始し、そこでストア済みの列の要約情報をストレージ・デバイス９０から呼び出すが、これはアウトライン・レイアウトから導かれ、各列内のセルに関するアイテム識別子のリストからなる。その後コントロール・ルーチンは、判断ボックス１４２０に進み、生成するビューのタイプが列であるか、あるいは継承者のセットであるかについてのチェックをそこで行う。
【００８６】
生成するビューが「継承者」ビューになる場合には、コントロール・ルーチンがボックス１４３０に進み、それにおいて列要約情報のリスト内のソース・アイテムの直後に続くアイテムの識別子からなる出力リストを生成し、ボックス１４５０に進む。判断ボックス１４５０においては、ソース・アイテムを出力ビューに含めるべきか否かのチェックをコントロール・ルーチンが行う。これは、呼び出しソースに依存することがある。たとえば、呼び出しソースがフル・ツリーテーブルである場合には、ソース・アイテムが読み出しビューに含められることがあるが、呼び出しソースがフレーム化されたナビゲーション・ガイドである場合には、含められないことがある。ソース・アイテムをビュー内に含めることになる場合には、コントロール・ルーチンがボックス１４６０に進み、それにおいてソース・アイテムを表すコンテンツをビューに追加し、ボックス１４７０に進む。コンテンツの追加に関する手順については、図３１との関連から詳細を後述する。含めない場合には、コントロール・ルーチンが直接ボックス１４７０に進む。
【００８７】
しかしながら判断ボックス１４２０のチェックにおいて、生成するビューが「列」ビューであることが示されると、コントロール・ルーチンがボックス１４４０に進み、それにおいて列要約リストから列に関するアイテムの識別子からなる出力リストを生成し、ボックス１４７０に進む。
【００８８】
ボックス１４７０および１４８０は、出力リスト内の各アイテム識別子に関する読み出しビューの１つのコンポーネントを生成するループを表している。判断ボックス１４７０において、コントロール・ルーチンは、出力リスト内にアイテムが残っているか否かを判断する。残っている場合にはボックス１４８０に進み、それにおいてソース・アイテムを表すコンテンツを、図３１との関連から詳細を次に述べる手順を使用して追加し、ボックス１４７０に戻る。しかしながらボックス１４７０のチェックにおいて、出力リスト内にアイテムが残っていないことが示されると、コントロール・ルーチンは、ボックス１４９０において読み出しビューを返す。ここで注意が必要であるが、この手順においては、各アイテムのコンテンツが個別のユニットとして追加されている。いくつかの応用については、ビューのアイテムに加えて、あるいはそれに代えて、要約情報を提供すると有用なこともある。
【００８９】
図３１は、単一の読み出しビュー・アイテムを生成するための手順を記述している。ボックス１５００は、この手順に対する入力を要約している：すなわち呼び出しソース（フル・ツリーテーブルまたはデュアル・フレーム・ガイド）、ビューのタイプ（列または継承者）、存在する場合にはソース・アイテム、構成中の部分的な読み出しビュー、およびビューに追加することになるアイテムのＩＤである。コントロール・ルーチンは、ボックス１５１０において開始し、そこでストレージ・ボックス９０からアイテムのヘッダ情報を読み出すとボックス１５２０に進み、それにおいて、追加することになるアイテムに関するヘッダ情報を読み出しビューに追加する。ヘッダ情報ならびに含められるリンクのフォーマットは、呼び出しソースに応じて異なることがある。ヘッダ情報を追加すると、その後コントロール・ルーチンがボックス１５３０に進み、それにおいてそのアイテムの完全なコンテンツを取り出した後、ボックス１５４０に進む。ボックス１５４０においては、連結された読み出しビュー内の配置に関するコンテンツの調整を行い（たとえば、引用されているメッセージが前出のものである場合にはｅ−メール・スレッドのビューから引用されたメッセージを取り除く）、ボックス１５５０に進む。ボックス１５５０においては、そのコンテンツが列ビューのソース・アイテムである場合に、コントロール・ルーチンがその強調表示を行い、そのコンテンツを読み出しビューに追加した後、ボックス１５６０においてリターンする。
【図面の簡単な説明】
【図１】  均一な列サイズを伴うツリーテーブルを示した説明図である。
【図２】  セルが先頭となるサブツリーにフォーカスを行った図１のツリーテーブルを示した説明図である。
【図３】  列に対してフォーカスを行った図１のツリーテーブルを示した説明図である。
【図４】  列に対して拡大したフォーカスを行った図１のツリーテーブルを示した説明図である。
【図５】  「列読み出しビュー」が示されている図１のツリーテーブルの補助表示を示した説明図である。
【図６】  コントロールがセットされて「継承者読み出しビュー」の補助表示がイネーブルになった図１のツリーテーブルを示した説明図である。
【図７】  「継承者読み出しビュー」が示されている図１のツリーテーブルの補助表示を示した説明図である。
【図８】  水平ならびに垂直のサイズが強く制限された図１のツリーテーブルを示した説明図である。
【図９】  さらにサイズが制限された図１のツリーテーブルを示した説明図である。
【図１０】  抽出コントロールを含むツリーテーブルを示した説明図である。
【図１１】  図１０のツリーテーブルからサブツリーを抽出することによって得られたツリーテーブルを示した説明図である。
【図１２】  図１０のツリーテーブルから列を抽出することによって得られたツリーテーブルを示した説明図である。
【図１３】  デュアル・フレーム・ツリーテーブル表示を示した説明図である。
【図１４】  別の列にフォーカスがシフトされた図１３のデュアル・フレーム・ツリーテーブル表示を示した説明図である。
【図１５】  左側フレームがノードの子の表示に使用されている図１３のデュアル・フレーム・ツリーテーブル表示を示した説明図である。
【図１６】  ツリーテーブルおよび補助表示の生成における主プロセスのステップを示したフローチャートである。
【図１７】  全体的なツリーテーブル構成プロセスを示したフローチャートである。
【図１８】  全体的なツリーテーブル構成プロセスのアウトライン・レイアウト構成ステップを示したフローチャートである。
【図１９】  構成中のアウトライン・レイアウトを示した説明図である。
【図２０】  アウトライン・レイアウトから表示レイアウトへの変換を示したフローチャートである。
【図２１】  フォーカス範囲を求める方法を示したフローチャートである。
【図２２】  表示レイアウトの列幅をセットするための方法を示したフローチャートである。
【図２３】  表示レイアウトのフォーカス−ベースの列幅をセットするための方法を示したフローチャートである。
【図２４】  計算された列幅を前提とする表示レイアウトを生成するための方法を示したフローチャートである。
【図２５】  使用可能なスペースを基礎としてセル・コンテンツをセットするための方法を示したフローチャートである。
【図２６】  セルの強調表示をセットするための方法を示したフローチャートである。
【図２７】  デュアル・フレーム・ツリーテーブル表示を構成するための方法を示したフローチャートである。
【図２８】  デュアル・フレーム・ツリーテーブル表示に関する表示レイアウト・リストを構成するための方法を示したフローチャートである。
【図２９】  表示レイアウト・リストから垂直に仕切られたツリーテーブルを構成するための方法を示したフローチャートである。
【図３０】  補助の列または継承者読み出しビューを生成するための方法を示したフローチャートである。
【図３１】  特定のノードに関連づけされたコンテンツを読み出しビューに追加するための方法を示したフローチャートである。
【符号の説明】
９０  ストレージ・デバイス、３５０  ツリー、３６０  アウトライン・レイアウト、２０００  タイトル行、２０１０，２９１０  コントロール行、２０２０  フォーカス・セレクション、２０３０  読み出しセレクション、２０４０  サイズ・セレクション、２０５０，２４００，２９７０  列ヘッダ、２０５５，２９５５，３０５５，３１５５，３２３０  ツリーテーブル、２０６０，２０６５，２０７０，２０８０，２０９０，２９３０  セル、２０６１，２０６２  ラベル、２０６３，２４２０，２４４０，２６１５，３２８３  ボデ、２０７５  アイテム、２１９５，２４９５，２６５０，３２９５  スクロール・バー、２４３０，２６１０，３２８１，３２８６  エレメント・ヘッダ、２４９０，２６９０  補助表示、２６００，３４２０  ヘッダ、２９２０  ツリー・セレクション、２９２５  ルート・セル、２９５０  列セレクション、２９６０  抽出タイトル、３０１０  行注釈、３２００  ガイド・フレーム、３２１０  表示（ｄｉｓｐｌａｙ）モード、３２１５  変更（ｃｈａｎｇｅ）セレクション、３２３０  分割されたツリーテーブル、３２４０，３２５０  サブテーブル、３２６０  モード・コントロール行、３２７０，３３７０  読み出しフレーム、３２７５  読み出しフレーム・ヘッダ、３２８０，３２８５，３３８０  エレメント、３２８２，３２８７，３２９２  ビュー・コントロール、３３８３  ボディ・エレメント、３４００  補助フレーム、３４３０  子エレメント、３４３１  子ヘッダ、Ｎ１  ルート・ノード、Ｎ１１，Ｎ１２，Ｎ１３  内部ノード、Ｎ１１１，Ｎ１１２，Ｎ１３１  リーフ・ノード、Ｃ１，Ｃ１１，Ｃ１２，Ｃ１３，Ｃ１１１，Ｃ１１２  セル、Ｒ１，Ｒ２，Ｒ３  行、ＣＬ１，ＣＬ２，ＣＬ３，ＣＬ４  列。
【図１】
0004077692.tif 000002
【図２】
0004077692.tif 000003
【図３】
0004077692.tif 000004
【図４】
0004077692.tif 000005
【図５】
0004077692.tif 000006
【図６】
0004077692.tif 000007
【図７】
0004077692.tif 000008
【図８】
0004077692.tif 000009
【図９】
0004077692.tif 000010
【図１０】
0004077692.tif 000011
【図１１】
0004077692.tif 000012
【図１２】
0004077692.tif 000013
【図１３】
0004077692.tif 000014
【図１４】
0004077692.tif 000015
【図１５】
0004077692.tif 000016
【図１６】
0004077692.tif 000017
【図１７】
0004077692.tif 000018
【図１８】
0004077692.tif 000019
【図１９】
0004077692.tif 000020
【図２０】
0004077692.tif 000021
【図２１】
0004077692.tif 000022
【図２２】
0004077692.tif 000023
【図２３】
0004077692.tif 000024
【図２４】
0004077692.tif 000025
【図２５】
0004077692.tif 000026
【図２６】
0004077692.tif 000027
【図２７】
0004077692.tif 000028
【図２８】
0004077692.tif 000029
【図２９】
0004077692.tif 000030
【図３０】
0004077692.tif 000031
【図３１】
0004077692.tif 000032