JP4077692B2 - Method and apparatus for tabular visualization composition and use of hierarchical material - Google Patents
Method and apparatus for tabular visualization composition and use of hierarchical material Download PDFInfo
- Publication number
- JP4077692B2 JP4077692B2 JP2002254645A JP2002254645A JP4077692B2 JP 4077692 B2 JP4077692 B2 JP 4077692B2 JP 2002254645 A JP2002254645 A JP 2002254645A JP 2002254645 A JP2002254645 A JP 2002254645A JP 4077692 B2 JP4077692 B2 JP 4077692B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- cell
- nodes
- leaf
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 98
- 239000000463 material Substances 0.000 title description 13
- 238000012800 visualization Methods 0.000 title description 12
- 230000008569 process Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims 6
- 210000004027 cell Anatomy 0.000 description 320
- 238000010586 diagram Methods 0.000 description 15
- 230000009977 dual effect Effects 0.000 description 15
- 238000000605 extraction Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 8
- 238000002372 labelling Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 210000005056 cell body Anatomy 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000011065 in-situ storage Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、概して情報の表示分野に関する。より詳細に述べれば、本発明は、ツリー構造化された情報の表示をテーブル形式で構成し、かつ操作するための方法を提供し、「ルート〜リーフ」パスの迅速な識別を可能にするとともに、ツリー表現の中、およびそれに調和された補助表示を介する場合の両方において、これらのパスのより深い探究を容易にする。
【0002】
【従来の技術及び発明が解決しようとする課題】
ツリー構造のパスは論理グループ化を形成し、その内部ノードは、(ファイル・ディレクトリのような単純なコンテナとしての作用するのではなく)実質的な情報の量を表す。たとえば、自然分類学あるいはプログラミング言語のフレームワークといった継承ツリーのノードは、プロパティの集合を表し、パスは、内部ノードまたはリーフによって継承される純プロパティを決定する。別の例を挙げれば、e−メールのスレッドを描写するために使用されるツリーのノードは、個別のメッセージを表し、そのパスは、スレッド内の同期的なメッセージ/応答シーケンスを構成する。この種の応用に関して言えば、ツリーのビジュアル化が、パス関係の好都合な把握を提供する必要があり、一方、それと同時にツリーのコンテンツの概要として機能し得る充分なテキストを含んでいる必要がある。さらにツリーのビジュアル化は、パスに沿った情報のより深い探究に関するコンテキストとしても機能する必要がある。
【0003】
【課題を解決するための手段】
本発明は、ツリー構造化された資料をテーブル様構造に変換することによって、つまり、以下において「ツリーテーブル」と呼ぶ、その中において各パスがテーブルの列により表現される構造に変換することによってパスの理解に関する問題を直接的に解決する。1つのノードのすべての子は、そのノードの直下に配置され、一見して理解することができる。エッジを示すために専用のスペースが割り当てられることはなく、したがってより多くの空間を表示のために使用することができる。
【0004】
ツリーのサイズならびに形状は、限られた表示エリア内に、そのノードに関してどれだけのコンテンツを与え得るかということを決定し、その結果、大きなツリーの場合には、最初のビジュアル化の中のノードに与えることができる情報の量が充分ではないことがある。本発明はこの問題を2つの方法に従って解決する。第1は、「関心度」の表示に関連づけされた方法を適合させて、テーブル様ジオメトリと矛盾のない方法で注目エリアの選択的な拡張を可能にする。本発明が大きなツリーの表示の問題を解決するために用いている第2の手段は、補助表示内へのツリーテーブルのサブパートの抽出を提供することであり、その結果、より多くのスペースがそれらのサブパート内のテキストに使用可能となる一方、フルスケールもしくはアウトライン形式のいずれかにおいてオリジナルの表現を保持し、ユーザがコンテキストを意識できる状態が維持される。
【0005】
また本発明は、フル・パスもしくはルートを同一にする子のいずれかを表す、緊密な関連を有するノードの連結させたコンテンツを読み取るためのガイドとしてのツリーテーブルの使用も提供する。示されるコンテンツは、完全なコンテンツとなることもあれば、応用に適した方法で縮約されることもある。
【0006】
ツリー構造化された情報を「ツリーテーブル」、すなわちテーブル様の表示構造に変換し、かつ表示するための方法が提供されており、それにおいてはルートからリーフ・ノードに至る各パスが単一の列によって表され、ノードの直接の継承者を表すセルが、そのノードの直下に配置される。
【0007】
また、補助表示の生成のための基礎とするツリーテーブルの使用に関する方法も提供されている。その種の方法の1つは、ツリーテーブルのサブパートをその種の別の構造に抽出することをサポートしており、中サイズのツリーをより深く探究するため、および完全に表現することによって、有効な量のテキストのためのスペースがなくなってしまうような大きなツリーを無理なく調べるためのより広いスペースが許容される。
【0008】
提供されている別の方法は、(a)個別の列(フル・パスを表す)もしくは(b)所定のノードに対するすべての継承者のいずれかに関連づけされる連結されたノードのコンテンツの読み出しに対するセレクタおよびガイドとして使用するために、補助表示内においてツリーテーブル構造を利用する。この補助構造は、独立のウインドウ内に表示することも可能であり、また限られた表示スペース内における使用のために、付随するフレーム内に表示することもできる。
【0009】
ツリーからツリーテーブルへの変換は、2つの基本的なステップからなり、第1は、それぞれの列について単位幅を前提として行う、テーブルのセルの配置および相対的なサイズを識別するアウトライン・ツリーテーブルの開発であり、第2は、特定のサイズおよびコンテンツをそれぞれのセルに関連づけする表示仕様の開発である。
【0010】
第1のステップは、ツリーテーブルの基本的なレイアウトを確立する。行の数は、ツリーの高さに等しい。列の数は、そのツリーのリーフ・ノードの数に等しい。最上端のセルはルートを表し、最初の行にわたって延びる。ルートの子を表すセルは、順番に次の行に配置される。その種の「子セル」のそれぞれの幅は、その子セルによって表されるノードの最終的な子孫となるリーフ・ノードの数に等しい(もしくは、そのノードが子孫を有していないときは1になる)。特定の行内にリーフ・ノードを表すセルがあるときには、その下に続くすべて行内のそのポジションにギャップが現れる。
【0011】
第2のステップは、以下に基づいて各セルに特定のサイズおよびコンテンツを関連づけする:
(a)第1のステップにおいて獲得された基本レイアウト
(b)使用可能な表示スペース
(c)列またはセルの選択(もしくはそれを行わないこと)
(d)生成されたツリーテーブルの選択(もしくはそれを行わないこと)およびそのほかの詳細の解釈を規定するコントロール・システム。これらのコントロールは、各種の方法に従って、たとえば追加のモードを設定する選択によって、あるいはジェスチャ(選択およびキーボード入力の組み合わせ)によって系統化され、かつ実現されることが可能であるが、最終的には以下を包含する:
1.セルが延びる列もしくはそのセルが先頭となるサブツリーのいずれか一方としてセルの選択を解釈することについての明細。
【0012】
2.各列に対して均等な幅を与えることによって(「自然な」割り当てがもたらされる)、あるいはフォーカス・エリアがカバーする列を優先することによって(示された範囲まで)得られた幅、および部分的にはフォーカスの考慮によって得られた高さを伴う、セルのサイズをどのように獲得するかということについての明細。
【0013】
3.ツリーテーブルにフル・ディスプレイ・スペースを使用するか、あるいはより制限されたスペースを使用するかということについての明細。
【0014】
4.ツリーテーブルのセルにテキストを組み込むか否か、また組み込むのであればどの程度にするかということについての明細。
【0015】
これらのエリアにおける選択肢を前提とすると、特定の幅が各列に関連づけされ、それらが使用されて基本レイアウトにおけるセル幅が増加される。続いて、これらの幅を前提とし、組み込まれるテキストに関するいくつかの制限とともに考慮すると、各セルに提供するべきコンテンツの量が決定される。選択およびフォーカス・エリアは、カラーによって、あるいはそのほかの手段によって、たとえばグレイスケールによって強調される。
【0016】
独立した表示のためのツリーテーブルのサブパートの抽出は、前述した2つの基本ステップに追加される1つのステップを伴う。基本レイアウトが獲得された後、隣接する列のセットが、そのレイアウトから抽出される。抽出される列は、任意のセットとしてもよく、また特定のサブツリーに延びる(ツリーテーブル表現の)列としてもよい。その後、抽出された列は、二次的な表示のための基本レイアウトとして扱われる。
【0017】
関連するノードのセットのフル・コンテンツを読み出すためのナビゲーション・ガイドとしてのツリーテーブルの利用が、2つの変形実施態様によって提供され、これらは、ともにツリーの意味のある論理ユニット内の資料を連結する。第1の実施態様のタイプは、追加のコントロールを使用して選択の意味範囲を拡大し、独立のウインドウ内に補助表示を生じさせる。第2の実施態様は、デュアル・フレームを使用し、その結果、ツリーテーブルならびに拡大されたコンテンツの両方を、同時に、同一のウインドウ内において見ることが可能になる。
【0018】
【発明の実施の形態】
ここで図面を参照すると、図1〜15には、本発明を構成する方法によって生成されるツリーテーブルおよびそれによってサポートされるツリーテーブル−ベースのインタラクションが図示されている。本発明のこの実施態様は、スレッド探究用のツリーテーブルを使用するe−メール・レビュー・ツールを提供する。これらの図面内において基礎をなしているツリーは、ニュースグループのスレッドを表す。ビジュアル化は、ディスプレイ・プロセッサ、たとえばNetscape(ネットスケープ)ブラウザもしくはそのほかのビューワに対して表示仕様を提出することによって得られる。しかしながら、本発明の方法は一般的なものであり、多くのプログラミング言語に関連付けされたグラフィカル・ユーザ・インターフェース(GUI)ツールキット内に埋め込まれるような多くの種類のディスプレイ・プロセッサに関する仕様の生成に使用することができる(図16との関連からより完全な説明を後述する)。図16〜31は、表示仕様の開発に使用される方法を示している。
【0019】
また、この特定の実施態様はe−メール・レビュー・ツールに指向されているが、本発明が多くの異なる種類の情報のビジュアル化に使用できることに注意が必要であり、その例として、たとえば生物学的分類、オブジェクト指向プログラミング言語のフレームワーク、ツリー追跡言語の降順、系統化チャート、および系図等が挙げられるが、それもほんの一部にすぎない。これらの例の間に共通する重要な特性は、それらがすべてツリーを使用して情報をビジュアル化することであり、それにおいてはツリー内のパスが論理的なグルーピングを表し、ツリーのノードが一致を表す。本発明は、任意のこの種のツリーをビジュアル化するための有用なツールを提供する。
【0020】
図1は、均一の列サイズを有するツリーテーブルを示しているが、それは、これが明示的に選択されたフォーカスが存在しないケースであることによる。タイトル行2000は、Netscape(ネットスケープ)ブラウザおよび当該ブラウザ固有のコントロールによって生成されたタイトル行からなる。ここで注意することは、タイトル行2000がディスプレイ・プロセッサとしてこのブラウザを使用するときのアーティファクトであるということである。専用ディスプレイ・プロセッサを使用して、あるいは別のブラウザのディスプレイ・プロセッサもしくはプログラムを使用して本発明が実装される場合には、タイトル行2000を縮小されることもあり、さらには省略されることもある。
【0021】
コントロール行2010は、ツリーテーブル表示メカニズムのためのコントロール行であり、表示コントロールの一実施態様を示している。コントロール行2010は、コントロール行の一実施態様であり、追加のコントロールを示した別の実施態様については、図10との関連から説明を後述する。コントロール行2010は、3種類の選択を提供する:すなわち、フォーカス・セレクション2020、読み出しセレクション2030、およびサイズ・セレクション2040である。各セレクション2020、2030、2040は、アンダーラインが付されていないことによって現在の選択を示すとともに、そのほかの選択可能な選択肢も示している。セレクションの選択肢は、ドロップ−ダウン・メニューとして、あるいはそのほかの選択を呈示する手段を使用して実装することもできる。それに加えて、各種の方法により現在の選択を示すことも可能であり、それには、グレイスケール、カラー、および反転表示、網掛け、輪郭表示等が含まれる。図示されているセレクションの選択肢のサブセットを示すこと、および/または選択肢を多くの異なる選択肢グループにグループ化すること、および/またはリネームすること、および/または類似であるが同一ではないセレクションに修正することも可能である。
【0022】
フォーカス・セレクション2020は、キーワード「focus(フォーカス)」という見出しが付けられており、テーブル内のセルを選択することが、フォーカスを示すことに関してどのように解釈されるかについての選択肢を提供する。「tree(ツリー)」の選択は、セルを選択することが、そのセルが先頭となるサブツリー(つまり、そのセルによって表されるノードが先頭になるサブツリーを表すツリーテーブルの部分)にフォーカスを持ってくることを示す。「col(列)」の選択は、セルを選択することが、そのセルによってカバーされる最左翼の列にフォーカスを持ってくることを示す。読み出しセレクション2030は、キーワード「read(読み出し)」という見出しが付けられており、セレクションに関して補助コンテンツ表示を生成するか否か(「yes(イエス)」または「no(ノー)」によって選択する)を示す。サイズ・セレクション2040は、キーワード「size(サイズ)」を伴い、2つのタイプのコントロール、すなわち全体としてのツリーテーブルによって占められるスペースのコントロール、およびフォーカスを選択することが、セルに対する幅の相対的なアプローチにどのような影響を及ぼすかというコントロールを組み合わせる。フォーカス・セレクション2040のこの例示において与えられている最初の2つの選択肢、すなわち「focus(フォーカス)」および「focus+(フォーカス+)」は、優先権を伴うフルサイズのツリーテーブル(focus(フォーカス))または、フォーカス・エリアがある場合には、その中のセルに与えられるより高い優先権を伴うツリーテーブル(focus+(フォーカス+))を示す。これらの選択肢は、ツリーの部分の原位置での探究に使用される。残り3つの選択肢、すなわち「stdd(標準)」、「small(スモール)」、および「mini(ミニ)」は、すべてフォーカス・セルに優先権が与えられないことを示しており、かつそのそれぞれは、テーブルの全体的なサイズがフルサイズになるか、ある程度省略されるか、もしくは大部分が省略されるかを示す。また、「stdd(標準)」の選択は、セル・サイズが許す範囲でテキストを含むことを許可するが、「small(スモール)」および「mini(ミニ)」の選択は、テキストを含むことを明示的に禁止する。フォーカス・セルに優先権が与えられないこれら3つの選択肢は、(a)ツリーの部分を拡張している間および拡張した後の配景を回復するため、(b)大きなツリーの完全なピクチャを与えるため、および(c)制限されたスクリーン・エリア内に小さな表現を作成して補助表示用のコンテキストとして機能させるために使用される。この例の最後になるがコントロール行2010は列ヘッダ2050を含み、これが使用されると、列C1〜C8の列全体がフォーカス・エリアとして選択される。
【0023】
図の残りの部分は、行R1〜R9および列C1〜C8からなるツリーテーブル2055を示している。ここで注意することは、この例において、行R1〜R9が上から下に、列C1〜C8が左から右に向かって配列されているが、これが例示のみを目的としているにすぎないということである。ビジュアル化は容易に再配列が可能であり、その結果、行が下から上に、かつ/または列が右から左に配列されることもある。同様に、列および行が交代されて、その結果、行R1〜R9が列になり、列C1〜C8が行になるということも可能なことである。図示の配列が、e−メール・スレッドの階層的に関連づけされた情報を見る上で適していると判断されたが、別の配列も可能であり、別の状況においては、それの方がe−メール・スレッドを含めた階層的に関連づけされた情報を見る上でより適していることもある。
【0024】
ツリーテーブル2055は、セル2060、2065、2070、2075、2080、2090、および2095といったセルから構成される。テーブル内の各セルは、基礎をなしているツリーのノードを表しており、それぞれのセルは、そのツリー内におけるその直接の子孫を表すセルにわたって延びている。ツリーのルート、すなわちこの実施態様においては、e−メール・スレッドの最初のメッセージは、セル2060によって表され、それがツリーテーブルの最初の行R1の全体を占めており、すべての列C1〜C8にわたって延びている。セル2060内に含まれている資料には、焦点としてそのセルの選択に使用することができるラベル2061(この実施態様の場合はメッセージ番号)および選択されたときに、関連づけされているツリーのノードのテキストを表示する別のラベル2062(この実施態様の場合はオーサーの名前)が含まれる。この実施態様においては、関連づけされたツリーのノードのテキストが、メッセージ全体になる。またセル2060は、ボディ2063を有し、この実施態様においてはそれがメッセージのテキストの少なくとも一部からなる。ここで注意が必要になるが、この実施態様においては、本発明がテキスト情報に適用されていることからボディ2063がテキストからなるが、別の実施態様においては、ボディがテキスト、図面、グラフィックス、MPEGファイル、MP3ファイル、あるいはテキスト、グラフィック、オーディオもしくはビジュアルの情報のストアに使用することができる任意のフォーマットになることもある。ツリーテーブル内のすべてのセルは、通常、少なくとも1つの選択可能なエレメント、たとえばラベル2061もしくはラベル2062を含み、スペースが非常に制約される場合には、それがわずかに単一文字からなることもある。完全なラベルを含むこと、およびそのほかの情報を含むことは、セル内の使用可能なスペースおよびそのほかのコントロールに依存する。たとえばセル2105は、2つのラベル2106、2107を含んでいるが、ボディをまったく含んでいない。
【0025】
セル2065、2070、および2075は、ツリーテーブルの2番目の行R2を構成し、セル2060によって表されるノードの子を表している。この実施態様においては、これらが最初のメッセージに対する応答になる。個々のセルに割り当てられるセルの幅は、それが延びている列の数、およびそれぞれの列の幅に依存する。図1のツリーテーブル2055においては、すべての列C1〜C8が等しい幅を有する。したがって、所定のセルに割り当てられるスペースの量は、それが延びる列の数に正比例する。(一方、列の数は、そのセルによって表されるノードのリーフ・ノードの数、すなわち子孫の数に等しい。)したがって4つの列C1〜C4に延びるセル2065は、3つの列C5〜C7に延びるセル2070より、あるいはリーフでありテキストをまったく含まない1つの列C8に延びるアイテム2075より多くのスペースをテキスト用に提供する。3番目の行R3においては、セル2080が、セル2065によって表されるノードの単一の子を表し、セル2090および2095が、セル2070によって表されるノードの子を表す。テーブル内の各列、たとえばセル2060および2075が延びる列C8は、このツリーの単一のルート〜リーフ・パスを表す。
【0026】
図2〜4は、ツリーの選択された部分、すなわちサブツリーもしくはパスのいずれかに対してより大きなスペースを与えるフォーカス・エリアの使用を示している。これらの図面は、同一のツリーテーブル、すなわち図1に示されているツリーテーブル2055を示しており、図1に示されているものと同一の特徴には同一の参照番号を使用している。図2は、図1に示したツリーテーブルを表しているが、セル2070を先頭とするサブツリーに卓立性が与えられている。フォーカス・セレクション2020は、セルの選択をサブツリーの選択として解釈するフォーカスがセットされていることを示している。読み出しセレクション2030は、「No(ノー)」にセットされる。サイズ・セレクション2040は、サイズが「focus(フォーカス)」にセットされていることを示しており、これはフルサイズの表示を使用し、フォーカス列に対して優先権を与えるが、組み込まれる説明的なテキストの量には制限を伴う。これは、セルの高さを制限する。すべての選択は、アンダーラインがないことによって示されているが、前述したように各種の方法に従って示すことが可能である。この組み合わせは、セル2070およびすべてのセル2090、2095、2110、2115、2135、2140、2150、および2155を、フォーカス・エリア内にあるものと見なし、セル2070が延びる列、すなわち列ヘッダ2050内におけるC5、C6、およびC7によって表される列に対し、ほかの列、たとえば列C1〜C4との比較において余分の幅が与えられる。それに加えて、フォーカス・エリア内のセルを強調表示して、セル2060、2065、2080、および2100等のフォーカス・エリア外のセルと区別することも可能であり、その場合に、選択されたセル2070と残りのセル2090、2095、2110、2115、2135、2140、2150、および2155とで異なる強調を使用することもできる。強調表示は、各種の方法に従って示すことが可能であり、たとえばカラー、グレイスケール、反転表示、網掛け、輪郭表示等により選択されているセルを視覚的に区別する。セルのラベルおよびセルのボディは、セルの幅ならびに高さの制限が許す範囲内でセル内に配置される。つまりセル2060は、完全なセル・ラベル2061ならびに2062、および前述と同様にボディ2063としてメッセージ・テキストの一部を表示する。しかしながら非強調表示のセル2065は、情報の断片だけ、つまりこの場合であれば単一のセル・ラベル2066だけを表示し、セル2075は、セル・ラベル2076に関する単一の選択可能な文字だけを表示することになる。
【0027】
図3もまた図1のツリーテーブルを示しているが、この場合はサブツリーではなく列のフォーカスを伴う。サイズ・セレクション2040は、「focus(フォーカス)」が選択(アンダーラインがないことによって示される)されたことによって、前述同様の優先権が与えられるフォーカス列を伴うフルサイズの表示の使用にセットされている。コントロール行2010は、列選択2050の「7」を「1〜6」または「8」より優先的に大きなボックスで表示することによって列C7の選択を示している。しかしながら、各種の方法に従って選択を示すことが可能であり、それには、たとえばカラー、グレイスケール、網掛け、輪郭表示、あるいは反転表示等が含まれる。この組み合わせは、識別された列を含むすべてのセル、すなわちこの場合であれば列7を含むセル2060、2070、2095、2115、および2140に対して、ほかのセルとの比較において余分のスペースを与えることになる。これらのセルは、セル2060によって表されるツリーのルートからセル2140によって表されるリーフに至る単一のパスを表す。コントロール行2010内の列選択C7および選択された列C7のセルは、いずれも強調表示され、そのほかのセル2065、2075、2100、2110、2125、2135、2080、2090、2105、2120、2130等が不明瞭化されてフォーカスが強調される。これに代えて、フォーカス・セレクション2020を「col(列)」にセットし、列C7内の任意のセルと選択することによっても類似の効果を得ることができる。表示ウインドウより長いツリーテーブルの場合に、この代替方法は必要に応じて表示のスクロールも提供し、選択されたセルの下側のセルが現れるようにする。
【0028】
ここで注意することは、図2および3において、フォーカス選択が使用されてフォーカス・エリアが決定されていること、つまりその後強調表示を行ってユーザのためにフォーカスの選択をツリーテーブルの残りの部分から区別することができるフォーカス・エリアが決定されていることである。これらは、それぞれの場合において連続するセルのグループからなるが、必ずしもそうである必要はない。たとえば、周知のサーチ・アルゴリズムを使用して、キーワード、フレーズ、またはそのほかの属性を含むすべてのセルに関するサーチを行えば、ユーザは連続していないセルのグループを選択することが可能であり、また連続していないグループを選択するそのほかの方法を使用することもできる。選択が行われた後は、その選択に対して前述した強調表示方法を適用することができる。
【0029】
図4もまた図1のツリーテーブルを示しているが、この場合にはフォーカス・エリアに対して、より大きな卓立性が与えられている。サイズ・セレクション2040は、「focus+(フォーカス+)」がセットされていることを示しており(アンダーラインがないことによって示される)、これによりフルサイズの表示が使用され、フォーカス列に最大の優先権が与えられる。コントロール行2010は、図3に示した場合と同様に列C7の選択を示している。サイズ・セレクション2040および列選択のこの組み合わせによって、識別された列を含むすべてのセル、すなわちこの場合であればセル2060、2070、2095、2115、および2140に対して、より多くのスペースが与えられることになり、図3に関して説明したようにそれらを強調表示することができる。特に、セル2060、2070、2095、2115、および2140に対しては、より大きな高さが与えられて、より多くのテキストの包含が可能になっている。また、読み出しセレクション2030が「yes(イエス)」にセットされ、図5の補助表示がイネーブルされる。この場合においても、図2および3の場合と同様に、セル・ラベルおよびセルのボディは、セルの幅ならびに高さの制限が許す範囲内においてセル内に収められる。
【0030】
図5〜7は、「読み出しビュー」に関する補助表示の使用を示しており、これは、特定の意味の論理グループに連結された、ツリーテーブルによって表されるツリーのノードに関するアプリケーション依存の量のコンテンツを提供する。これらの論理グループは:(a)ツリーの個別の「ルート〜リーフ」パスに沿ったノード、すなわち個別の列に沿ったセルによって表されるノード、および(b)特定のノードの、そのノードを表すセルの直接下側になるセルによって表される子である。図5は、これまで説明した図2〜4の列C7に関する読み出しビューを示しており、列C7内のセルによって表されるノードのコンテンツを連結している。図5に示されている補助表示2490は、図4に示されるように、まずツリーテーブル2055の読み出しセレクション2030を「yes(イエス)」にセットし、続いて希望する列を選択、すなわちこの例の場合であれば列C7を選択することによって獲得される。ツリーテーブルの列の選択が、その列のセルに優先的なスペースおよび/または強調表示を与えることから、ツリーテーブルは、列コンテンツのいずれが著しく長いビューになり得るかということについてのガイドとして機能する。列ヘッダ2400は、ツリーテーブル表示2055内に見られるものに等しい選択された列番号を示す。エレメント・ヘッダ2410は、選択された列の最初のセル、すなわち図4に示されているセル2060に対応するセルのラベリング情報を含んでおり、可能性としては追加のセル情報も含む。たとえばe−メール・スレッドのレビューを行っているときには、日付を含ませることができる。ボディ2420は、セル2060によって表されるツリーのノードに関連づけされたテキストを含んでいる。エレメント・ヘッダ2430は、その列の次のセル、すなわち図4に示されているセル2070のラベリング情報を含んでいる。ボディ2440は、セル2070によって表されるツリーのノードに関連づけされたテキストからなる。列C7の残りについても同様に示される。この例においては、列のエレメントが、e−メール・スレッドの非同期の会話のメッセージを表している。読み出しビューに組み込まれるメッセージ・テキストを、それらの基本的なコンテンツに縮小し、ヘッダおよびテイラーを削除し、引用を略語化し、あるいは引用が、以前のエレメントに関連づけされるテキストと完全な冗長性を有する場合には、それらを完全に除去してもよく、その結果、メッセージの全体のシーケンスを非常に効率的に読むことが可能になる。このほかの、より列固有の列読み出しビューの実施態様を使用することも可能である。たとえば、e−メール応用の変形実施態様においては、列によって表されるノードに関連づけされたテキストを、列固有の方法に従って要約することができる。しかしながら、テキストが要約される場合であっても、コンテンツの表示にはかなりのスペースが必要になると見られる。したがって、スクロール・バー2495が含められ、ユーザは、限られた表示エリア内において希望する部分を見ることができるようになる。
【0031】
特定のツリーのノードの直接の子のコンテンツを示すためにも補助表示が使用され、その場合においてもベースのツリーテーブルに調和される。図6および7は、これを目的としたツリーテーブルの使用を示している。
【0032】
図6もまた、図1のツリーテーブルを示しており、それにおいてはフォーカス・セレクション2020が「tree(ツリー)」にセットされ、読み出しセレクション2030が「yes(イエス)」にセットされ、かつルート・セル2060が選択されている。ルート・セル2060の選択は、読み出しセレクション2030が「yes(イエス)」にセットされていることに関連して、図7に示されている補助表示2690を表示する。補助表示2690は、図6に示されているように、何が表示されているかということ、および選択されたセルのラベル情報、つまりセル2060のラベル情報を示すヘッダ2600から始まる。この例においては、ツリーテーブルがe−メール・スレッドのメッセージを表すことから、このヘッダが、特に親の「メッセージ」およびその「応答」を参照する。これの後に、エレメント・ヘッダ2610およびボディ2615が続き、それぞれ選択されたセル2060に関するラベル情報およびセル2060によって表されるツリーのノードに関連づけされたテキストを含んでいる。さらにその後にセル2060によって表されるツリーのノードの子に関連づけされた情報の開始を示すヘッダ2620が続き、さらにそのほかの子に関連づけされたヘッダ2630、2640およびテキスト2635、2645がその後に続く。この例においては、直接の子が、図6に示されるセル2065、2070、および2075である。スクロール・バー2650によって示されているように、表示をスクロールすれば完全なコンテンツを見ることができる。
【0033】
図8および9は、縮小サイズのツリーテーブルの使用を示しており、それを使用して(a)特に大きなツリーの完全なピクチャを提供し、また(b)補助表示のガイドとして用いる場合のツリーテーブルに必要なスペースを制限する。図8および9に示されているツリーテーブルは、これまでの図面に示されていたものに同じであり、したがって、同一の参照番号を使用して同一の特徴を示す。図8においては、フォーカス・セレクション2020が「tree(ツリー)」にセットされており、ルート・セル2060が選択されている。しかしながら、サイズ・セレクション2040が「small(スモール)」にセットされている。これは、テーブルに割り当てられる表示エリアの合計サイズを制限し、フォーカス・エリア内のセル、すなわち、この例においてはツリーテーブル内のすべてのセルとなるが、それらが拡張されることを禁止する。この形式においては、セルが、そのセルに関連づけされた選択可能なレベルを示す一方、ボディがまったく表示されない。しかしながら、選択されたセル2060ならびにフォーカス・エリア内のすべてのセルが、前述同様に強調表示され、その結果、縮小サイズのツリーテーブルを、補助表示に対する好都合なガイドとして機能させることができる。図9もまた同一のツリーを表しているが、サイズ・セレクション2040が「mini(ミニ)」にセットされている。これは、割り当てられる表示スペースをさらに制限し、セル・ラベル用により小さなフォントを使用し、かつ/またはセル・ラベルの切り捨てをもたらし、ツリー全体にわたるスクロールのためにスクロール・バー2195が導入される。
【0034】
図10〜12は、別の実施態様を示しており、追加のコントロール・コマンド、およびより詳細な探究のための、ツリーテーブルのサブパートを補助表示に抽出するサブパートの抽出を有している。図10は、行R1〜R11、列C1〜C23、および54のセルを含むツリーに関するツリーテーブル2955を示している。セルの数に起因して、わずかな割合のセルだけがテキストに使用可能なスペースを有している。たとえば、行R1内のルート・セル2925、行R2内の2つの子セル、および行R3〜R7内の、列C1〜C7もしくは列C1〜C6に延びる子孫といったセルだけである。したがって、コントロール行2910は、図1におけるツリーテーブルのコントロール行2010の特徴、つまりフォーカス・セレクション2020、読み出しセレクション2030、およびサイズ・セレクション2040だけでなく、第2のセットのコントロール、すなわち抽出タイトル2960、ツリー・セレクション2920、および列セレクション2950を含んでおり、ツリーテーブルのサブパートの抽出を可能にする。この例において提供される抽出コントロールは、(a)特定のサブツリーを表すセル(そのサブツリーのルートの祖先を表すセルを伴うか、あるいは伴わない)、もしくは(b)あらかじめ定義済みの列範囲のセットの1つのいずれか一方の抽出を可能にする。別の実施態様においては、追加のタイプの抽出も可能であり、たとえばユーザによって明示的に指定された列範囲内の列の選択が挙げられる。
【0035】
抽出タイトル2960は、ツリー・セレクション2920および列セレクション2950を抽出コントロールとしてカテゴリ設定する。ツリー・セレクション2920は、2つのタイプのサブツリー抽出の間における選択を可能にする。「top(トップ)」の選択は、特定のサブツリーに関連づけされたすべての列からなるツリーテーブルの抽出をイネーブルするが、その開始は、オリジナルのツリーテーブルの最初の行R1になる(つまり、サブツリーを表すツリーテーブルの部分の上側になる行内のセルも含む)。「focus(フォーカス)」の選択は、そのサブツリーのルートを表すセル、およびそれ以下のすべてのセルからなるツリーテーブルを抽出する。列セレクション2950は、いくつかのあらかじめ指定された列範囲の間における選択を可能にし、この例であればその範囲が「(1...)」によって識別される列1〜12および「(13...)」によって識別される列13〜23になる。図10において、ツリー・セレクション2920として「focus(フォーカス)」が選択され、その後、セル2930が選択されたとすると、セル2930によって表されるノードをルートとするサブツリーを表すツリーテーブルの部分が、図11に示すように抽出される。図10において、列セレクション「(13...)」が選択されると、結果は、図12に示されるように、列13〜23からなるツリーテーブルの部分の抽出となる。コントロール行2910内の列ヘッダ2970は、ツリーテーブル2955の23列の先頭に位置し、特定の列の選択を可能にする。
【0036】
図11は、サブツリーを表すツリーテーブルの部分を補助表示に抽出した結果を示している。この例においては、抽出されたツリーテーブル3055が、図10に示されているセル2930によって表されるノードが先頭となるサブツリーを表す。図11が、図10に示されているツリーテーブル2955の部分を示すことから、図10に示されているものと同一の特徴については、同一の参照番号が使用されている。コントロール行2910には、フォーカス・セレクション2020、読み出しセレクション2030、サイズ・セレクション2040、および抽出タイトル2960が、ツリー・セレクション2920とともに備わっている。しかしながら、列セレクション2950はなく、これはさらにサブツリーの抽出を行うことは可能であるが、これ以上の列範囲による抽出ができないことを意味している。列ヘッダ2970は、図10に示されているオリジナルのツリーテーブル2955の列C1〜C10に関するヘッダだけを含んでおり、これは、これらの列だけに選択されたサブツリーのノードを表すセルが延びていることによる。行注釈3010は、オリジナルのツリーテーブルのいずれの行が省略されているかについて示すために使用され、この例ではそれが行R1だけであり、行R2〜R11は表示されている。抽出されたツリーテーブル3055は、図10に示されているセル2930およびその図面にあるそれ以下のすべてのセルからなる。
【0037】
図12は、列範囲からなるツリーテーブルの部分を補助表示に抽出した結果を示している。この例においては、抽出されたツリーテーブル3155が、図10に示されているツリーテーブル2955の列範囲C13〜C23からなる。図12が、図10に示されているツリーテーブル2955の部分を示すことから、図10に示されているものと同一の特徴については、同一の参照番号が使用されている。コントロール行2910には、フォーカス・セレクション2020、読み出しセレクション2030、サイズ・セレクション2040、および抽出タイトル2960が、ツリー・セレクション2920とともに備わっている。しかしながら、列セレクション2950はなく、これはさらにサブツリーの抽出を行うことは可能であるが、これ以上の列範囲による抽出ができないことを意味している。列ヘッダ2970は、図10に示されているオリジナルのツリーテーブル2955の列C12〜C23に関するヘッダだけを含んでいる。抽出されたツリーテーブル3155は、図10の列C12〜C23に示されているすべてのセルからなる。列12内に示されているいくつかのセル、より具体的に言えばセル2925、2931、2932、2933は、ベース・ツリーテーブル2955内において、これらのセルが選択された列範囲を超えて左側に延びていることを示すインジケータ2934(この例においては、太字のディスク)が前置されたラベルを有している。
【0038】
図13〜15は、ツリーテーブルの探究にデュアル−フレーム・アプローチを使用する別の実施態様を示している。このアプローチにおいては、ツリーテーブルを原位置で拡張することが困難になるが、それよりはむしろツリーテーブルのセルによって表されるノードのグループに関連づけされたコンテンツを読む上でのナビゲーション・ガイドとしてだけ使用される。図13は、図1のツリーテーブルの、初期状態のデュアル−フレーム・ビューを示しており、ガイド・フレーム3200および読み出しフレーム3270を含んでいる。ガイド・フレーム3200は、display(表示)モード3210およびchange(変更)セレクション3215からなるモード・コントロール行3260を含む。表示モード3210は、分割されたツリーテーブル3230内の列ラベルまたはセルの選択が行われるとき、何が読み出しフレーム3270内に表示されるかというかということを決定する現在のモードを示している。これが分割されたツリーテーブル3230であることから、分割されたツリーテーブル3230のそれぞれの部分に1つ、合計して2つの列選択2050がある。この例においては、表示モードが「text(テキスト)」になっているが、「text(テキスト)」、「abbr(縮約)」または「msg(メッセージ)」のいずれとすることもできる。「text(テキスト)」もしくは「abbr(縮約)」モードにおいては、分割されたツリーテーブル3230内の列またはセルが選択されると、そのセルが延びる最左翼の列内のセルによって表されるノードに関連づけされたボディ、すなわちテキストもしくはすでにここで開示したそのほかの情報が連結されて読み出しフレーム3270内に表示される。「text(テキスト)」モードにおいては、ボディ情報が縮約されない。しかしながら、「abbr(縮約)」モードにおいては、縮約された形式で同じ情報を得ることができる。「msg(メッセージ)」モードにおいては、選択されたセルによって表されるノードに関連づけされたボディだけが表示される。変形実施態様は、単一のモードだけ、これらの表示モードのサブセット、もしくは代替モードを含むこともあり、また当然のことながら、モードに別の表現が用いられることもある。たとえば、ボディ情報がグラフィック、オーディオ、またはそのほかのタイプの情報を含む場合には、これらのタイプの情報に適した代替コマンドが適切になると見られる。それに代えて、望ましい場合には、要約した形式、あるいはキーワードを強調表示する形式を用いてテキスト情報を供給することもできる。変更(change)セレクション3215は、現在の表示モードの変更を可能にする。与えられている選択肢は、現在の表示モードに代えて使用することができるモードである。この例の場合であれば「abbr(縮約)」および「msg(メッセージ)」になる。
【0039】
分割されたツリーテーブル3230は、垂直に仕切られ、割り当てられている水平のスペース内に収まるサブテーブルに分割されたツリーテーブルである。この例の場合は、4列がサブテーブル内の列数の最大値として使用されており、その結果、サブテーブル3240および3250がもたらされる。しかしながら、サブテーブル内の列数の最大値は、使用可能な表示スペース、ラベルに使用されているフォント・サイズ、ディスプレイの解像度、およびそのほかの要因に応じて変化することがある。したがって、ツリーテーブル3230が、単一のツリーテーブルとして示されることもあれば、あるいは適切な任意数のサブテーブルを有する分割されたツリーテーブルとして示されることもある。分割されたツリーテーブル3230が図1に示されているツリーテーブル2055によって表されるツリーと同一のツリーを表していることから、ツリーテーブル3230の列ヘッダおよびセルは、図1のツリーテーブル2055内に示されている列ヘッダおよびセルと同一の方法に従ってラベル付けされる。セルが、1つのサブテーブルを超えて別のサブテーブル内の列に延びることも可能である。これが生じる場合には、そのセルが延びる列を含むすべてのサブテーブル内においてそのセルが示される。この例の場合であれば、セル2060がサブテーブル3240の列C1〜C4にわたって延び、またサブテーブル3250の列C5〜C8にわたって延びており、両方のサブテーブルに現れている。セルをこの方法に従って分割する場合、右矢印3241および左矢印3251等の続きマークをセル内に使用して、続きの方向を示すことができる。
【0040】
分割されたツリーテーブル3230のサブテーブル内の列ラベル2050もしくはセルは、いずれを選択しても読み出しフレーム3270内に示す情報を示すことができる。いずれの場合においても、表示(display)モード3210が「text(テキスト)」または「abbr(縮約)」であれば、読み出しフレーム3280内に示される資料が列に関連づけされる。サブテーブルのセルが選択された場合には、関連する列が、そのサブテーブル内のそのセルを含む最左翼の列になる。図13の例においては、サブテーブル3240のセル2060が選択されており、その選択は、前述した方法のいずれかに従った強調表示によって示すことができる。関連する列は、サブテーブル3240内のセル2060を含む最左翼の列であり、この例であれば列C1になるが、それについても前述したような強調表示によって示すことができる。選択された列内にないガイド・フレーム3200のセルは、対比を目的として不明瞭化してもよい。
【0041】
読み出しフレーム3270が使用されて、ガイド・フレーム3200内において現在行われている選択に関連づけされるボディ情報が表示される。読み出しフレーム・ヘッダ3275は、表示されている列の列番号を示し、この例においてはそれが列C1を示す「Column(列)1」である。現在有効になっている表示モードは、この例の場合は「text(テキスト)」であり、それも読み出しフレーム・ヘッダ3275内に示されている。読み出しフレーム・ヘッダ3275の後には、エレメント3280、3285、および3290といった一連のエレメントが続く。エレメント・ヘッダ3281は、エレメント3280に関するラベリング情報、すなわち表示されている列の最初のセル、ここではセル2060に関するラベリング情報を含む。そのほかの情報を含ませてもよく、たとえば日付および時刻が挙げられる。ビュー・コントロール3282は、そのエレメントに関連づけされたツリーのノードに関係するそのほかの情報による、ガイド・フレーム3200に関する別の一時的な置き換えの要求を受け入れる。この例においては、ビュー・コントロール3282が、エレメント3280に関連づけされたノードの子に関連づけされている資料を、左側のフレーム内に、一時的にガイド・フレーム3200と置き換えて表示する要求(「resps(応答)」)だけが許容されている。この種の置き換えの例を図15に示す。変形実施態様においては、「resps(応答)」要求によって、エレメント3280に関連づけされたノードの子が別のウインドウに表示される形にすることもできる。ビュー・コントロール3287およびビュー・コントロール3292といったほかのビュー・コントロールが、それぞれのエレメントによって表されるノードのタイプに適した別の要求を受け入れるようにしてもよい。たとえば、ビュー・コントロール3287は、エレメント3285に関連づけされたノードの親に関連づけされる資料を左側のフレームに表示する要求(「pred(属性)」)、または読み出しフレームを先頭までスクロールする要求(「top(トップ)」)を受け付ける。ビュー・コントロール3292は、ビュー・コントロール3282に示される「resps(応答)」選択肢およびビュー・コントロール3287に示される「pred(属性)」ならびに「top(トップ)」選択肢をすべて含んでいる。適切であれば、このほかのビュー・コントロールを追加してもよい。たとえば、次のエレメントまでのスクロールを提供するビュー・コントロールが望ましい場合には、それを追加することもできる。このほかのコントロールとしては、ボディ3283に関する要約されたコンテンツと縮約されていない完全なコンテンツの間の切り替えを含めることが考えられる。
【0042】
エレメント・ボディ3283が、エレメント・ヘッダ3281の後に続いており、テキスト、グラフィックといった、そのエレメントによって表されるツリーのノードに関連づけされた情報を含む。この実施態様においては、この資料が、そのツリーのノードに関連づけされたメッセージのコンテンツからなる。またエレメント3280が選択されたセル2060に対応していることから、前述したいずれかの方法に従ってエレメント・ボディ3283を強調表示してもよい。エレメント3280の後には、エレメント3285が続く。エレメント・ヘッダ3286は、エレメント・ヘッダ3281と同様に、関連づけされたセル、すなわちこの例においてはセル2065に関するラベリング情報およびビュー・コントロール3287を含んでいる。ボディ3288は、同様にこのツリーのノード、すなわちセル2065に関連づけされた情報を含んでいる。また、スクロール・バー3295が備えられており、ユーザは、読み出しフレーム3270のコンテンツ全体をスクロールすることができる。
【0043】
図14は、図13と同じツリーテーブルに関するデュアル・フレーム・ツリーテーブルのビューを示しているが、この場合には異なるセルが選択されている。図14に示されている分割されたツリーテーブルが図13に示されているそれに同一であることから、同じ特徴については同じ参照番号が使用されている。図14において選択されているセルは、サブテーブル3250内のセル2070であり、行R2の列C5〜C7に延びている。セル2070は、前述したように強調表示を行って選択を示し、また最左翼の列C5のほかのセルには別の方法に従って強調表示を行うことができる。分割されたツリーテーブル内の残りのセルについては、不明瞭化してもよい。読み出しフレーム3370は、構造において図13の読み出しフレーム3270と類似しているが、分割されたツリーテーブル3230の列C5に関連づけされた資料を含んでいる。また、セル2070がその列の選択されたセルであることから、読み出しフレームは、初めから、セル2070によって表されるノードに関連づけされた資料を含むエレメント3380までスクロールされている。ボディ・エレメント3383は、強調表示を行ってセル2070の強調表示と整合させることができる。
【0044】
図15は、別の実施態様を示しており、これにおいてはデュアル・フレーム・ツリーテーブルのビューを、分割されたツリーテーブルによって表されるツリーに関連づけされた別の資料を、読み出しフレーム内のビュー・コントロールを使用して探究に使用する。これは、左側の補助フレーム3400および右側の読み出しフレーム3270からなる。図15に示されている右側の読み出しフレームは、図13の読み出しフレーム3270と同一であることから、同じ特徴については同じ参照番号が使用されている。この例においては、吟味されている追加の資料が、読み出しフレーム内にテキストが表示されるノードの子に関連づけされたテキストからなる。図15においては、ユーザがビュー・コントロール3282を選択した直後が仮定されており、これが読み出しフレーム3270のエレメント3280(および図13のガイド・フレーム3200のセル2060)によって表されるノードの子を、左側のフレーム、すなわち図13のガイド・フレーム3200と一時的に置き換わるフレーム内に表示することを要求する。それにより、補助フレーム3400が左側フレーム内に現れる。補助フレーム3400はヘッダ3420を含み、それが(a)子が表示されるセル(および読み出しフレームのエレメント)、すなわちこの場合であればセル2060および読み出しフレームのエレメント3280のラベルを示し、(b)表示の形式(「abbrev(縮約)」)を示し、かつ(c)ガイド・フレーム3200を復帰させる要求に関するコントロール(「back to tree(ツリーに戻る)」)を提供する。この例がe−メール応用を考慮していることから、ヘッダ3420が「応答」または「子」を参照することもある。ヘッダ3420に、セル2060に関連づけされたノードの子に関連づけされる情報を含む子エレメント3430、3440、および3450等の子エレメントが続いている。子ヘッダ3431は、読み出しフレームのエレメント3280に関連づけされたノードの最初の子を表すセル、具体的には図13のセル2065に関するラベル情報、およびシフト・コントロール(「incol 1」)を含むが、そのほかの情報を含んでいることもある。シフト・コントロールの選択は、左側フレームにガイド・フレーム3200を再度表示するが、選択がセル2065および列C1に変更される。子ヘッダは、日付等の追加の情報を含んでいることもあり、シフト・コントロールは、スペリングおよび意味において異なることもある。子ボディ3432が子ヘッダ3431に続いており、子エレメント・ヘッダ3431内にラベルが現れるセル、すなわちこの場合であればセル2065によって表されるノードに関連づけされたテキストを含んでいる。ここで注意が必要であるが、テキストを要約もしくは縮約がなされた形式で提供することも可能であり、要約もしくは縮約がなされたテキストと完全なテキストの間の切り替えを行うためのコントロールを備えることもできる。
【0045】
次に、これらのビジュアル化を開発するための方法に移るが、図16は、全体的なコントロール・メカニズムを示しており、本発明の実施態様によって使用される主プロセスを参照している。インタラクティブなビジュアル化の生成においては、多くの同時代的バリエーションが存在し、そのそれぞれは、主プロセスがどのように呼び出されるかということ、および表示仕様の詳細において何らかの差をもたらす。バリエーションの原因のいくつかを次に示す。
【0046】
(a)表示仕様を表現するために使用される言語、たとえばツリーテーブルのビジュアル化の構造ならびにコンテンツを指定する言語。これは、HTMLもしくはそのバリアントの1つ、またはプログラミング言語固有(たとえばJAVA(登録商標)(ジャバ)スイング)、あるいはこれら2つの組み合わせとすることができる。
【0047】
(b)表示は、テーブル・アイテムもしくはコントロールの各選択肢が独立のインタラクションを要求するように構造化されるか、あるいはいくつかのインタラクションが互いに結合されるか(たとえば「フォーム」の場合)ということ。
【0048】
(c)インタラクションは、ステートレスか、あるいはセッション−ベースかということ。ステートレス・インタラクションにおいては、ブラウザに一般的であるが、以前のインタラクション(要求の中に収められる場合を除く)のシーケンスに関する事前の知識をまったく伴わずに各ビジュアル化の要求が処理される。
【0049】
(d)ビジュアル化に使用される各ウインドウは、個別に、独立のプロセスによってマネージされるか(ブラウザのオペレーションの基本モード)、あるいは単一のアプリケーションが関係するすべてのウインドウをマネージするかということ。
【0050】
(e)コントロール・メカニズムは、ディスプレイ・システムを含む単一システム上において実装されるか、あるいはディスプレイ・システムとは独立のシステム上において実装されるかということ。たとえばユーザが、リモート・ウェブ・サイトを伴うブラウザを介して、あるいは別の分散コンピューティング・フレームワーク内においてインタラクションすることがある。
【0051】
(f)単一のツリーが観察されているのか、あるいは複数のツリーが観察されているのかということ。複数のツリーが観察されている場合には、すべてのツリーがそのサブツリーになるダミーの親ノードを挿入し、単一のツリーであるかのように処理すると望ましいことがある。それに代えて、各ツリーを独立に処理し、表示情報を連結して単一の表示イメージを生成することが望ましいこともある。
【0052】
しかしながら、どのような一般的なメカニズムが使用されてインタラクティブなビジュアル化の生成が行われる場合であっても、本発明によって提供される方法は基本的に同じであり、相違のほとんどは、主プロセスがどのように呼び出されるかということ、および要求ならびに結果の表示仕様がどのように表現されるかということの詳細において生じる。
【0053】
判断ボックス10においてコントロール・ルーチンが開始すると、それにおいてツリーテーブルおよび/または補助読み出しビューの要求があったか否かについてのチェックが行われる。その要求があった場合には、コントロール・ルーチンが判断ボックス20に進み、それにおいてフル・ツリーテーブルの表示の要求があったか否かについてのチェックが行われる。その要求があった場合には、ボックス30に進んでツリーテーブル表示を構成するが、それについては図17に詳細が説明されている。ツリーテーブル表示を構成した後、コントロール・ルーチンが判断ボックス40に進み、それにおいて読み出しビューの要求があったか否かについてのチェックが行われる。フル・ツリーテーブルの表示が要求されていない場合には、コントロール・ルーチンがツリーテーブルを構成するステップをスキップし、直接判断ボックス40に進み、補助読み出しビューの要求があったか否かについてのチェックが行われる。その要求があった場合には、ボックス50に進んで読み出しビューを構成し、その後、終了ボックス70に進む。読み出しビュー・ビルダ・プロセスについては、図30に詳細が説明されている。読み出しビューが要求されていなければ、直接終了ボックス70に進む。しかしながら、判断ボックス10においてコントロール・ルーチンが、フル・ツリーテーブルの表示が要求されてなく、デュアル−フレーム・ツリーテーブルの表示が求められていると判断した場合には、ボックス60に進んでデュアル−フレーム・ツリーテーブル・ビューを構成し、その後、終了ボックス70に進む。デュアル−フレーム・ビルダ・プロセスについては、図27に詳細が説明されている。
【0054】
図17は、全体的なツリーテーブル・ビルダ・プロセスを記述している。コントロール・ルーチンは、入力ツリーおよび表示コントロールの現在のセットがあればそれを伴ってボックス100に入り、判断ボックス110に移動する。判断ボックス110においてコントロール・ルーチンは、これが、関連するツリーのツリーテーブル表示に関する最初の要求であるか否かをチェックする。これが最初の要求である場合には、ボックス120から開始するいくつかの前処理を実行する。ボックス120においては、値の初期セットがコントロールに関連づけされる。その後ボックス130においては、各ノードのスパン値を用いて入力ツリーを拡張することによって、その後の処理のための準備が行われる。リーフ・ノードに対応するスパン値は1であり、そのほかのノードに関するスパン値は、そのノードの最終的な子孫となるリーフの数になる。単純なデプス−ファースト・プロセスによりこれらのスパン値が見つかる。各ノードnについて、そのすべての子が処理された後に、そのスパン値が、それらの子のスパン値の合計にセットされる。スパン値をセットした後、コントロール・ルーチンがボックス140に進み、それにおいてツリーテーブルのためのアウトライン・レイアウトを生成する。アウトライン・レイアウト生成プロセスについては、図18に関連してより詳細に考察する。アウトライン・レイアウトをはじめ、各列内のアイテムの要約リストが、その後の使用のためにストレージ・デバイス90内に保存される。ストレージ・デバイス90は、情報を生成するプロセスが終了した後に、保存されている情報へのアクセスが可能になる任意のメディアとすることができる。ここで注意が必要であるが、ここではアウトライン・レイアウトおよび各列内のアイテムの要約リストが保存されて、それが必要になるごとに情報を再生成することが回避されているが、ストレージ・デバイス90から検索するのではなく、情報が使用されるごとに、アウトライン・レイアウトおよび各列内のアイテムの要約リストが生成されるようにもできることは明らかである。同じことが、ストレージ・デバイスもしくはメモリからデータまたは情報の検索が行われる、プロセスのほかの部分についても言える。アウトライン・レイアウトは、ツリーテーブルのスケルトンであり、それにおいては各ツリーのノードが、特定の行内の、特定の開始列ならびに終了列を伴うセルに関連づけされ、かつツリーのノードに関連づけされたセルの間のスペースがギャップ・セルによって埋められる。ギャップ・セルは、コンテンツをまったく伴わないセルである。ギャップ・セルは、テーブルのジオメトリを維持し、最終的にそれらを背景と区別不能にレンダリングする方法で表示される。アウトライン・レイアウトは、要素が行を表し、その行内のセルのリストからなる単純なリストによって表すことができる。アウトライン・レイアウトならびに要約情報を保存した後、コントロール・ルーチンがボックス160に進み、コントロール行の構成を行う。
【0055】
しかしながら、判断ボックス110におけるチェックによって、これが、指定されたツリーに関するツリーテーブルのための最初の要求ではないと判断された場合には、ボックス160に進む前に、コントロール・ルーチンがボックス150に進み、それにおいてストレージ・デバイス90からストア済みのアウトライン・レイアウトが読み出される。ボックス160においては、図1または図10に示されているような、現在の、ならびにそのほかの可能なコントロール選択肢を示す表示用のヘッダ・エレメントが生成される。その後、コントロール・ルーチンがボックス170に進み、それにおいてアウトライン・レイアウトがさらに表示レイアウトに、すなわち特定のディスプレイ・プロセッサ(たとえば、ブラウザが使用されているのであればブラウザ)に適したレイアウト仕様に変換され、セルに対して特定の寸法ならびにカラーもしくはそのほかのタイプの背景の塗りつぶしが与えられ、かつ特定の情報ならびにリンクにより埋められる。アウトライン・レイアウトから表示レイアウトへの変換については、図20との関連から詳細を後述する。最後に、コントロール・ルーチンがボックス180に進み、結果として得られた表示レイアウトをこのプロセスの読み出し元に返す。
【0056】
図18および19は、アウトライン・レイアウトの構成を記述しており、それにおいては、各ツリーのノードが、特定の行内の、特定の開始列ならびに終了列を伴うセルに関連づけされ、かつツリーのノードに関連づけされたセルの間のスペースがギャップ・セルによって埋められる。ここで使用されている一般的なアプローチが、入力ツリーを表すツリー350を伴って図19に図示されており、このツリーは、ルート・ノードN1、内部ノードN11、N12、ならびにN13、およびリーフ・ノードN111、N112、N131を有する。アウトライン・レイアウト360は、構成中のアウトライン・レイアウトを表しており、セルC1、C11、C12、C13、C111、ならびにC112、3つの行R1、R2、ならびにR3、および列CL1、CL2、CL3、ならびにCL4を伴っている。
【0057】
最初のセルC1は、ツリーのルート・ノードN1用に割り当てられる。セルC1は、最初の行R1全体に、すべての列CL1〜CL4にわたって延びる。その後、先行する行のコンテンツに基づいて続く各行が展開される。アウトライン・レイアウト360内においては、行R2がセルC11、C12、およびC13を含んでおり、行R3が、行R2に基づいて構成中となっている。セルC111およびC112が割り当てられてノードN11の子を表し、それらがセルC11の直下に配置されている。次に割り当てられる実在のセルは、ノードN131を表すセルC131であり、セルC13の直下から開始しなければならない。しかし、これが行われる前に、セルC112とC131の間のギャップをブリッジするためにギャップ・セルGが必要になる。ギャップ・セルGが配置された後には、セルC131を割り当てることが可能になる。
【0058】
図18に明示されているコントロール・ルーチンは、このアプローチを実行する。これはボックス200において開始し、そこでテーブルの最初の行に、ツリーのルートに対応する単一のセルが割り当てられる。このセルは、テーブルの列1から開始し、n列にわたって延びるが、このnは、ルートのスパン値である。最初の行が、「ベース行」変数brの初期値としてセットされる。その後コントロールが判断ボックス210に、すなわち繰り返しごとに単一の行を構成するループの最初のステップに進む。判断ボックス210においては、コントロール・ルーチンが、構成を必要とする行が残っているか否かをチェックし、残っていなければ、ボックス215上において終了し、コントロールをその呼び出し元に返す。構成を必要とする行が残っている場合には、ボックス220にコントロール・ルーチンが進み、それにおいてコントロール・ルーチンは、「ベース行セル」変数brcを、変数brによって示される行内の最初のセルにセットし、新しい行変数rの値をbr+1にセットし、かつ現在の列を1にセットすることによって次の行に関するプロセスを初期化した後、ボックス230に進む。
【0059】
判断ボックス230においては、現在のベース行セルbrcによって表されるノードが子を有しているか否かについてのチェックが行われる。子を有していなければ、判断ボックス240に進む。ボックス240においては、コントロール・ルーチンが、変数brによって参照されるベース行内にセルが残っているか否かのチェックを行う。残っている場合には、ボックス250に進み、それにおいて変数brcを、変数brによって参照される行内の新しいセルに更新し、ボックス230に戻る。残っていなければ、ベース行変数brが現在の行(構成したばかりの行)を参照するように更新され、コントロール・ルーチンがボックス210に戻って次の行の構成を行う。
【0060】
しかしながら、判断ボックス230のチェックにおいて、現在のベース行セルbrcに対応するノードが子を有していると判断されると、コントロール・ルーチンが判断ボックス270に進み、新しい行内にそれらの子に関する表現を追加する。ボックス270においては、現在の列ポジション変数rcolがbrcの列ポジションに等しく、その結果、ポジションrcolに割り当てられる新しいセルが、親の下に整列することになるか否かについてのチェックを行う。それに該当すれば、ボックス290に進む。それに該当しなければ、ボックス280に進み、「ギャップ」セルを現在の行に追加して、行内の現在の列ポジションと、変数brcによって参照されるセルの開始列の間に渡し、その後rcolの値を更新してからボックス290に進む。ボックス290において、現在の子ノード変数「cnode」が、セルbrcによって表されるノードの最初の子にセットされると、その後、ボックス300〜320からなるループが開始されて、その種の子のそれぞれに対応するセルを追加し、関連するツリーのノードのスパンに等しいアウトライン幅をそれぞれに与え、それがボックス310におけるテストにより、セルbrcによって表されるノードの子がすべてなくなったと判断されるまで続けられた後、コントロールがボックス240に戻る。
【0061】
図20は、図17のボックス170からの、アウトライン・ツリーテーブル・レイアウトを実際の表示仕様に変換する、フォーカスにバリエーションが与えられた場合を考慮した一般的なプロセスをカバーしている。ボックス400は、プロセスに対する入力を表し、それにはアウトライン・レイアウト、オプションの抽出仕様(より大きなレイアウトからこのツリーテーブルの抽出を行うべきか否かを示す)、オプションのフォーカス(列および可能性としては行からなる)、目標表示幅、およびサイズ・コントロール(図1参照)が含まれる。
【0062】
この入力が与えられると、コントロール・ルーチンはまず、判断ボックス410において、入力が抽出仕様を含むか否かについてのチェックを行う。含んでいる場合にはボックス420に進み、それにおいて要求された列を抽出することによってそのプロセスに関する一時的なアウトライン・レイアウトを形成し、その後ボックス430に進む。しかしながらボックス410のチェックにおいて抽出が必要ないと判断されると、そこから直接ボックス430に進む。ボックス430においては、図21に関連してより詳細を後述するが、フォーカス列範囲、すなわちフォーカスが当てられている連続する列のセットがあれば、それを識別する。次に、ボックス440において、図22に関連してより詳細を後述するが、列範囲を、表示幅ならびにサイズ・コントロールとともに使用し、それぞれの列に対して表示単位を用いて表した特定の幅を割り当てる。最後に、ボックス450において、図24に関連してより詳細を後述するが、列幅によって含意されるセル幅を具体化し、かつ各セルに関するコンテンツを指定する実際の表示レイアウト仕様が生成される。各セルに関するコンテンツは、表現されるツリーのノードに関連づけされた情報、フォーカス情報、およびセル内において使用可能なスペースを基礎とする。
【0063】
図21は、図20のボックス430のプロセスを詳細に示しており、それにおいては、フォーカス列範囲がある場合にそれが識別される。判断ボックス500においては、コントロール・ルーチンが現在のフォーカス・エレメントをチェックする。現在のフォーカス・エレメントがないこともあるが、フォーカス列だけがあり、あるいはフォーカス列およびフォーカス行がともに存在することもある。フォーカス・エレメントがない場合には、コントロール・ルーチンがボックス550に進み、フォーカス・カウントを0にセットし、その後ボックス560に進んで空のフォーカス範囲を返す。フォーカス列だけがある場合には、コントロール・ルーチンがボックス510に進む。ボックス510においては、フォーカス範囲が単一のフォーカス列にセットされ、かつフォーカス・カウントが1にセットされ、ボックス560においてコントロール・ルーチンがそのフォーカス範囲を返す。しかしながら、ボックス500のチェックにおいて、フォーカス列およびフォーカス行がともに存在すること、つまりそのフォーカス列において開始するそのフォーカス行内のセルが選択されていることが示されると、コントロール・ルーチンがボックス520に進み、その選択をどのように解釈するべきかを決定する。ボックス520において、示されたセルを含む最初の列にフォーカスを当てるという意味にその選択を解釈するものと判断されると、コントロール・ルーチンはボックス510に進み、列が指定された場合とまったく同じに、フォーカス・カウントおよびフォーカス範囲をセットする。それ以外は、コントロール・ルーチンがボックス530に進み、アウトライン・レイアウト内の、フォーカス行内のフォーカス列において開始するセルを獲得し、ボックス540に進む。ボックス540においては、フォーカス範囲をそのセルが延びる特定の列にセットし、その後、コントロール・ルーチンがボックス560に進んでそのフォーカス範囲を返す。
【0064】
図22は、図20のボックス440のプロセスを詳細に示しており、それにおいては、与えられた表示幅、フォーカス範囲、およびサイズ・コントロールに基づいてフォーカス列および非フォーカス列に特定の幅(表示単位を用いて表す)が割り当てられる。最初のボックス600においては、コントロール・ルーチンが、フォーカス列ならびに非フォーカス列の初期サイズをともに最小値(境界を加えた単一の文字だけを保持するに充分なサイズ)にセットし、ボックス610に進む。判断ボックス610においては、ルーチンが、少なくとも1つのフォーカス列が存在するか否かについてのチェックを行う。フォーカス列が存在しない場合には、ルーチンが判断ボックス625に進む。少なくとも1つのフォーカス列が存在する場合には、コントロール・ルーチンが判断ボックス615に進み、列幅の割り当てにおいてフォーカスを考慮することがコントロールによって指定されているか否かをチェックする(場合によっては、たとえば表示上において強調によってだけフォーカスが示される場合には、それを行う必要がない)。フォーカスが考慮されない場合には、コントロール・ルーチンが判断ボックス625に進む。列幅の割り当てにおいてフォーカスが考慮されることになる場合には、コントロール・ルーチンがボックス620に進み、図23に関連してより詳細を後述するが、フォーカスと非フォーカスのサイズの間に相違を持たせることを基礎として列幅をセットした後、ボックス640に進み、図20のボックス450に戻って表示レイアウトを構成する。
【0065】
判断ボックス625には、フォーカスが存在しない場合、あるいは列幅の割り当てにおいてフォーカスが考慮されない場合に入るが、そこでは、サイズ・コントロールが有効表示幅、すなわち列幅の割り当てにおいて前提となる表示幅を示しているか否かについてのチェックが行われる。有効表示幅は、縮小されることもあり、たとえばより幅の狭いツリーテーブル表示を生成することもできる。その場合には、コントロール・ルーチンがボックス630に進み、有効表示幅を縮小してからボックス635に進む。しかしながら、有効表示幅が縮小されない場合には、コントロール・ルーチンが直接ボックス635に進む。ボックス635においては、コントロール・ルーチンが列幅を均一に増加し、有効表示幅が満たされるとボックス640に戻り、図20のボックス450に示したように表示レイアウトを構成する。
【0066】
図23は、図22のボックス620の詳細であり、フォーカス列および非フォーカス列に対して行う可及的に異なる幅の割り当てを記述している。コントロール・ルーチンは判断ボックス650に入り、それにおいて、どのような種類のサイズ強調がフォーカス列に対して要求されているかについてのチェックを行う。それがフォーカス列を最大化することであると判断されると、コントロール・ルーチンがボックス655に進み、それにおいてフォーカス列のサイズを標準の長さにセットした後、ボックス660に進む。そこでは、式「結果の幅=(フォーカス・リーフ・カウント×フォーカス列サイズ)+(非フォーカス・リーフ・カウント×非フォーカス列サイズ)」を使用して、使用可能な表示幅を大きく超えることがないように、必要に応じてフォーカス列のサイズが縮小される。その後ボックス680においてルーチンがリターンする。
【0067】
しかしながら、判断ボックス650においてコントロール・ルーチンが、フォーカス列は最大化されるのではなく優先されると判断すると、コントロール・ルーチンがボックス665に進む。ボックス665においては、少なくともフォーカス・エリア内の最大セルが、意味のある量のテキストを含むことができるようにフォーカス列サイズが初期セットされる。このステップは、その種のテキストを含ませるために必要な幅をフォーカス列の数を用いて除するオペレーションからなる。その後コントロール・ルーチンがボックス670に進み、さらにボックス675に進んで、フォーカス列および非フォーカス列のサイズをさらに調整する。ボックス670においては、各フォーカス・セル内に妥当な量のテキストが収められるまで、あるいは表示幅に到達するまで、フォーカス列の幅が増加される。それぞれの増幅においては、前述のボックス660において使用した結果の幅の式を用いて結果の幅のチェックが行われる。その後ボックス675において、可能であれば表示幅に到達するまで非フォーカス列が増加される(ここでも結果の幅に関する式が用いられる)。その後、ボックス680においてコントロール・ルーチンがリターンする。ここで気づかれようが、この特定の例示においては、2つの選択肢、具体的にはフォーカス列が優先されるのか、あるいは最大化されるのかという選択肢が考慮されている。しかしながら、ほかの区別を行うことも可能であり、区別に別の解釈を与えることも可能である。たとえば、フォーカス列および非フォーカス列の幅に関して、ユーザ定義の優先権を与えることもできる。
【0068】
図24は、図20のボックス450の詳細であり、割り当てられた列幅、ツリーのノードに関連づけされたコンテンツ情報、およびいくつかのコントロール情報を使用して表示レイアウトをどのように生成するかということについて記述している。いくつかのレイアウト仕様の機能的な詳細は、レイアウトに意図されたプロセッサに依存する。ここでは、一般的に、HTMLテーブル仕様を受け付ける標準ブラウザを前提とする;手順においては、別のグラフィック・ディスプレイ・プロセッサに関連して軽微な相違を生じることもある。この前提の下に、ボックス700においてコントロール・ルーチンが出力テーブル仕様の先頭を生成し、列番号識別子が使用される場合には、それに続く、それぞれが列番号を含む個別のセルの行を生成する。(これらのセルは、それらのカラーを背景と同じに指定することによって不可視にされる。)この図面に記述されている処理の残りの部分は、アウトライン・レイアウトの行およびセルにわたる、それぞれに関する表示レイアウト仕様の生成の繰り返しからなる。コントロール・ルーチンは、ボックス710においてアウトライン・レイアウトの最初の行を獲得した後、ボックス730に進み、ディスプレイ・プロセッサに適した行開始ボックスを生成し、その後ボックス740に進む。ボックス740においては、アウトライン・レイアウト内の現在の行の最初のセルを獲得し、ボックス760に進む。
【0069】
ボックス760においてコントロール・ルーチンは、フォーカス列および非フォーカス列の延びる幅を合計することによって現在のセルの実際の表示幅を求め、ボックス770(詳細は図25)に進んでそのセルに関する表示レイアウト仕様の実際のコンテンツを生成する。その後ボックス780(詳細は図26)に進み、表示セルの背景をセットした後、判断ボックス785に進む。判断ボックス785においては、コントロール・ルーチンが、現在のアウトライン・レイアウト行内に未処理のセルが残っているか否かについてのチェックを行い、残っている場合にはボックス750に戻って次のセルを獲得する。残っていなければ、判断ボックス790に進み、それにおいてアウトライン・レイアウトのすべての行の処理を完了したか否かついてのチェックを行う。すべてを完了していなければ、ボックス720に戻り、現在の行に関する表示仕様を完了し、新しい行を獲得する。すべての行の処理を完了すると、ボックス795に進み、テーブルの最終行に関する表示使用を完成して終了する。
【0070】
図25は、図24のボックス770の詳細であり、個別のセルに関する表示レイアウトのコンテンツの生成を記述している。ボックス800においては、コントロール・ルーチンが、そのセルに関する列スパンを獲得し、判断ボックス810に進む。判断ボックス810においてルーチンは、そのセルがギャップ・セルであるか否かについてのチェックを行う。ギャップ・セルであれば、ボックス820においてコンテンツをブランクにセットし、ボックス895においてリターンする。セルがギャップ・セルでなければ、ルーチンがボックス830に進み、レイアウト・セルに関連づけされるツリーのノードに関するラベリングおよびそのほかの説明的な資料を獲得する。アプリケーションに応じて、最小サイズのラベルおよびフルサイズのラベルがともに存在すること、これら2つが融合していること、および/または独立の記述が存在し、あるいは存在しないことがあり得る。さらに記述がツリーのノードに関連づけされている情報から導かれることもあり、あるいはそれが未修整の形式でツリーのノードに関連づけされている情報からなることもある。この情報を獲得した後は、コントロール・ルーチンが判断ボックス840に進む。
【0071】
図25の判断ボックス840においては、コントロール・ルーチンが、有効セル幅とラベリング情報を比較することによって、そのセル内に配置するテキストの量をいくらにするかという決定を開始する。セルが最小サイズのラベルより狭いことが明らかになると、ボックス890に進む(セルが単一の文字しか必要としないリンクだけを含むものとなることを含意する)。セルが最小サイズのラベルよりは広いが、最大でもフル・ラベルの幅しかないと判断されると、セルのコンテンツとして、収容することができるラベルの最大部分列をセットし、ボックス890に進む。しかしながら判断ボックス840において、コントロール・ルーチンが、セル幅はラベルに必要な幅より大きいと判断すると、判断ボックス860に進み、さらにチェックを行う。
【0072】
図25の判断ボックス860においては、コントロール・ルーチンが、そのノードに関連づけされた前述したような説明テキストもしくはそのほかの情報が含まれるか否かについてのチェック、具体的に述べれば(a)そのセルに関する説明的な資料があるか否か、および(b)そのセルの幅が有効なサイズで情報を提供するために必要な最小の幅に少なくとも等しいか否か、および(c)コントロールが、その種の情報を含ませることを示しているか否かについてのチェックを行う。コントロールのセッティングに関して言えば、セルの幅が情報を含ませる上で充分であっても、いくつかのコントロールがそれを含ませることを妨げることがある。たとえば、図1〜15に示したコントロールの説明において、サイズ選択肢の「small(スモール)」および「mini(ミニ)」は、情報を排除する。また、この実施態様において、選択肢「focus+(フォーカス+)」は、非フォーカス・エリアから情報を排除する。
【0073】
判断ボックス860において、情報の包含はないと判断されると、コントロール・ルーチンがボックス870に進み、それにおいてセルのコンテンツとしてラベルだけをセットした後、ボックス890に進む。しかしながら、判断ボックス860においてコントロール・ルーチンが、情報の包含があると判断すると、このルーチンはボックス880に進み、それにおいて、割り当てられた幅および深さの中に収容可能な情報の部分をセルのコンテンツとしてセットする。この深さは、フォーカスに関する考察に応じて変化することがある。たとえばこの例において、選択肢「focus+(フォーカス+)」は、より深いフォーカス・セルの使用、したがって、より多くの情報の収容が可能であることを含意する。
【0074】
ボックス890へは、セル内に表示するコンテンツが確立された後に入り;リンクもしくはそのほかの表示上のセルの選択を示すために使用されるメカニズムを生成する。これらのリンクの表現は、ディスプレイ・プロセッサのコンフィグレーションおよび表示仕様に使用されている言語によって決定される。たとえば、フォームを採用していないステートレス・ブラウザ・コンフィグレーションの場合であれば、リンクがセルの行ならびに最初の列の表示だけでなく、そのほかすべてのコントロールの状態を含むこともある。またその種のコンフィグレーションにおいてコントロールが補助読み出しビューの生成をイネーブルした場合には、複合リンクがセットされ、その結果、セルが選択されたとき、修正後のツリーテーブルの要求をはじめ、読み出しビューの要求も生じることになる。必要なすべてのリンク情報がセットされた後は、ボックス895においてリターンが行われる。
【0075】
図26は、図24のボックス780の詳細を示しており、セルの背景のセットを記述している。これは例示にすぎず、ほかの方法を使用することもできる。ボックス900は入力を示しており、この入力は、現在のセル、選択されたセルがある場合にはその行ならびに最初の列、フォーカスがあるか否か、ある場合には現在のセルがフォーカス・エリア内になるか否かということから構成される。この図によって具体化される方法においては、フォーカスが存在しない場合に、ギャップ・セルを除くすべてのセルに同一の背景が与えられる。フォーカスが存在する場合には、フォーカス・エリア外のセルには不明瞭化した背景が与えられ、選択されたセルがある場合にはそれに強調表示の背景が与えられ、フォーカス・エリア内のそのほかのセルには別の強調表示の背景が与えられる。カラーもしくはグレイスケールあるいはそのほかのタイプの背景を強調および不明瞭化に使用することが可能であり、そのほかにも反転表示およびその方法に適した修正を伴った境界の選択を使用することができる。
【0076】
判断ボックス910においては、コントロール・ルーチンが、そのセルがギャップ・セルであるか否かについてチェックを行い、それに該当すればボックス960に進み、それにおいてそのセルの背景が不可視となるようにセットするが、これは、そのセルがツリーテーブルを囲む周囲のエリアの一部として現れることを意味しており、その後コントロール・ルーチンが、ボックス995においてリターンする。そのセルがギャップ・セルでなければ、コントロール・ルーチンが判断ボックス920に進み、それにおいて、このツリーテーブルがフォーカス・エリアを有するか否かを判断する。このツリーテーブルがフォーカス・エリアを有していない場合には、ルーチンがボックス970に進み、それにおいてカラーもしくはそのほかの手段によって、そのセルの背景をベース背景にセットした後、ボックス995においてリターンする。しかしながら、判断ボックス920におけるチェックが、このツリーテーブルがフォーカス・エリアを有していることを示すと、コントロール・ルーチンが判断ボックス930に進み、それにおいて、現在のセルがフォーカス・エリア内に含まれるか否かのチェックを行う。現在のセルがフォーカス・エリア内に含まれない場合には、コントロール・ルーチンがボックス980に進み、それにおいてカラーもしくはそのほかの手段を用いて、セルの背景を不明瞭化する背景にセットした後、ボックス995においてリターンする。しかしながら、判断ボックス930におけるチェックが、このセルがフォーカス・エリア内に含まれることを示すと、コントロール・ルーチンが判断ボックス940に進み、それにおいて現在のセルが選択されたセルであるか否かのチェックを行う。現在のセルが選択されたセルである場合には、コントロール・ルーチンがボックス990に進み、それにおいてカラーもしくはそのほかのタイプの強調背景を指定することによって、セルの背景を第1の強調背景にセットし、その後ボックス995においてリターンする。判断ボックス930におけるチェックが、現在のセルが選択されたセルではないことを示すと、コントロール・ルーチンがボックス950に進み、それにおいてこのセルのカラーを第2の強調背景にセットした後、ボックス995においてリターンする。
【0077】
図27〜29は、図13〜15に示されているデュアル・フレーム・ツリーテーブルを生成するためのメカニズムを記述しており、当該ツリーテーブルは、左側フレームがしばしば垂直に仕切られて、アウトライン・ツリーテーブルを含み、右側フレームが選択された列のコンテンツを含む。これは、読み出しビューが望ましいが、ツリーテーブルの探究に1つのウインドウしか当てられない場合に適している。
【0078】
メカニズムのいくつかの詳細は、表示ウインドウ内において1ないしは複数のフレーム仕様を受け付ける標準ブラウザであって、そのそれぞれが、フレームが獲得される方法に関する個別の、可能性としては手続き上の仕様を参照する仕様を受け付ける標準ブラウザであるという前提を基礎としている。軽微な適合によって、このメカニズムが別のディスプレイ・プロセッサに適したものとなる。
【0079】
図27は、初期デュアル・フレーム・ビューの生成および続いて行われる、左側のツリーテーブル・ガイド内の選択に基づいたビューの生成の両方に使用される全体的なプロセスを記述している。初期デュアル・フレーム・ビューを生成するために、ツリーテーブル・ガイド用の仕切りのある表示レイアウトが構成される。その後のビューを生成するために、仕切りのある表示レイアウトが編集され、強調表示を介してフォーカス・エリアのシフトが示される。したがって、初期ビューの生成のために、コントロール・ルーチンがボックス1100において開始し、それにおいてアウトライン・レイアウトを構成する。これを行う手順については、より詳細な説明が前述の図18にある。コントロール・ルーチンは、その後ボックス1110に進み、それにおいてその後の使用のためのアウトライン・レイアウト情報をはじめ、各列のセルに関するノード識別子のリストをストレージ・デバイス90内にストアし、ボックス1120に進む。ボックス1120においては、コントロール・ルーチンが、必要に応じてアウトライン・レイアウトを垂直のスライスに仕切り、それぞれのスライスごとに1つの表示レイアウトのリストを構成する。このプロセスについては、図28との関連から詳細を後述する。その後ルーチンは、ボックス1130に進み、それにおいて将来使用するための表示レイアウトのリストをストレージ・デバイス90内にストアする。その後ボックス1140に進み、最初に選択される列を1に、最初に選択されるセルをその列の最初にそれぞれセットし、ボックス1160に進む。
【0080】
ボックス1150は、ツリーテーブル・ガイド内において選択が行われた後のフレーム化されたビューの修正を行うために使用されるエントリ・ポイントである。ボックス1150においては、コントロール・ルーチンが、選択される列およびその列内のセルを、入力パラメータに基づいてセットし、ボックス1160に進む。ボックス1160においては、デュアル・フレーム・レイアウト仕様が生成される。ここでは標準ブラウザの前提が使用されて、個別のフレームに異なる手続きソースを指定するフレーム化されたビューを構成することによって必要な処理を呼び出す。左側フレームについては、指定された手続きソースが垂直に仕切られたツリーテーブルの構成を行う。この手順については、図29との関連から説明を後述する。右側フレームについては、手続きソースが読み出しビューを構成する。この手順については、図30との関連から説明を後述する。フレーム化されたビューが構成されると、その後ボックス1170においてそれがディスプレイ・プロセッサに渡される。
【0081】
図28は、図27のボックス1120の処理を詳細に示しており、それにおいて表示レイアウト・リストが生成される。表示レイアウト・リストの各要素は、入力アウトライン・レイアウトの垂直スライスを表している。全体的なプロセスは:(a)使用可能なスペース内に適合させるためにツリーテーブルを分けなければならないか否かの判断、(b)分けなければならない場合には、いくつのコンポーネントが必要になるかの判断、および(c)入力アウトラインから各コンポーネントを分離してそれを表示レイアウトに変換する繰り返しからなる。この手順に対する入力がボックス1200に要約されており、当該入力はアウトライン・レイアウト、および使用可能なフレーム幅、および最小表示セル幅からなる。コントロール・ルーチンは、ボックス1210において開始し、そこで、フレームに適合させるためにツリーテーブルを分けなければならないか否かの判断に必要な基本データを計算する。計算されたデータは、フレームの水平寸法に収めることができる最小幅の列の数(maxCols)からなり、さらにすべての列を収容するために必要なツリーを分割する数が求められる。その後コントロール・ルーチンがボックス1220に進み、現在のテーブル(currenttree)を1にセットし、現在の「残りのレイアウト」(remLayout)をすべてのアウトライン・レイアウトにセットすることによって処理を初期化する。これ以下の処理においては、テーブルのパーティションがremLayoutから1つずつ分離され、表示フォームに変換される。これは、判断ボックス1230において開始し、そこでは、生成することになる次のコンポーネントが最後になるか否かについてのチェックが行われる。現在のテーブルが最後でなければ、コントロール・ルーチンがボックス1240に進み、それにおいて、remLayoutの次のmaxCols個の列からなる一時的なアウトライン・レイアウト(tempLayout)が構成され、さらにこれらの列がremLayoutから取り除かれて、コントロール・ルーチンがボックス1250に進む。ボックス1250においては、ルーチンがtempLayoutを表示レイアウトに変換し、結果を表示レイアウト・リストに追加する。アウトライン・レイアウト(tempLayout等)から表示レイアウトへの変換については、図20に関して前述した詳細に説明されている。表示レイアウトを表示レイアウト・リストに追加すると、ルーチンがボックス1260に進み、現在のツリー番号をインクリメントした後、ボックス1230に戻る。
【0082】
しかしながら、判断ボックス1230のチェックにおいて、生成することになる現在のコンポーネントが最後であると判断されると、コントロール・ルーチンがボックス1270に進むが、それにおいて、残されている列、すなわちremLayout内のそれが表示レイアウトに変換され、結果が表示レイアウト・リストに追加された後に、コントロール・ルーチンがボックス1280においてリターンする。
【0083】
図29は、図28の手順において獲得された表示レイアウト・リストから、垂直に仕切られたツリーテーブル・レイアウトを生成するための手順を記述している。その目的は、セルの背景もしくはリストのレイアウト内におけるそのほかの強調パラメータをセットしてフォーカス列およびフォーカス・セルを示し、かつレイアウトを連結することである。これは、ガイド・フレームの最初の表示のため、もしくはその後の選択された列および/またはセルの変更に基づく表示のための、新しいガイド・フレームを生成する要求を基礎として開始される。コントロール・ルーチンは、ボックス1300において開始すると、ストア済みの列情報をストレージ・デバイス90から読み出す。ストア済みの列情報は、列番号のリストおよび各列に関連づけされたアイテム識別子からなる。コントロール・ルーチンは、ボックス1310に進み、それにおいてストア済みの表示レイアウト・リストをストレージ・デバイス90から読み出す。その後ボックス1320に進み、リスト内の最初のテーブル・レイアウトを獲得し、ボックス1330に進む。判断ボックス1330においては、コントロール・ルーチンが、選択された列を現在のテーブル・レイアウトが含むか否かについてのチェックを行う。それを含んでいる場合にはルーチンがボックス1340に進み、要求された列内のセルを表すレイアウト内の、それらのセルに関する背景仕様を、第1の強調背景(その列の中の選択されたセル用)もしくは第2の強調背景(その列の中の選択されていないセル用)のいずれかにセットし、ボックス1350に進む。背景は、前述したように応用に応じて、カラーもしくはそのほかの手段を使用して区別される。
【0084】
しかしながらボックス1330のチェックにおいて、現在のテーブルが要求された列を含んでいないことが示されると、コントロール・ルーチンが直接ボックス1350に進む。コントロール・ルーチンは、ボックス1350において、選択された列に含まれないセル用の背景を非強調背景にセットした後、ボックス1360に進む。ボックス1360においては、編集済みのレイアウトが使用されて最終レイアウトの開始もしくは拡張が行われ、その後コントロール・ルーチンが、ボックス1370に進む。判断ボックス1370においては、コレクション内の残りのテーブル・レイアウトの有無がチェックされる。レイアウトが残っている場合には、コントロール・ルーチンがボックス1380に移動して新しいレイアウトを獲得し、ボックス1330に戻って次のレイアウトを生成する。レイアウトが残っていなければコントロール・ルーチンがボックス1390に進み、完成した仕切りのあるレイアウトを返す。
【0085】
図30は、デュアル・フレーム・ツリーテーブルの一部として、あるいは独立のウインドウとして読み出しビューを生成する手順を記述している。ボックス1400は、この手順に対する入力を要約しており、当該入力は、呼び出しソースの表示(フル・ツリーテーブルからの選択、またはデュアル・フレーム・ツリーテーブルのナビゲーション・ガイドからの選択)読み出しビューのタイプ(列または継承者のセット)、および存在する場合にはソース・アイテム(セルの選択)からなる。コントロール・ルーチンは、ボックス1410において開始し、そこでストア済みの列の要約情報をストレージ・デバイス90から呼び出すが、これはアウトライン・レイアウトから導かれ、各列内のセルに関するアイテム識別子のリストからなる。その後コントロール・ルーチンは、判断ボックス1420に進み、生成するビューのタイプが列であるか、あるいは継承者のセットであるかについてのチェックをそこで行う。
【0086】
生成するビューが「継承者」ビューになる場合には、コントロール・ルーチンがボックス1430に進み、それにおいて列要約情報のリスト内のソース・アイテムの直後に続くアイテムの識別子からなる出力リストを生成し、ボックス1450に進む。判断ボックス1450においては、ソース・アイテムを出力ビューに含めるべきか否かのチェックをコントロール・ルーチンが行う。これは、呼び出しソースに依存することがある。たとえば、呼び出しソースがフル・ツリーテーブルである場合には、ソース・アイテムが読み出しビューに含められることがあるが、呼び出しソースがフレーム化されたナビゲーション・ガイドである場合には、含められないことがある。ソース・アイテムをビュー内に含めることになる場合には、コントロール・ルーチンがボックス1460に進み、それにおいてソース・アイテムを表すコンテンツをビューに追加し、ボックス1470に進む。コンテンツの追加に関する手順については、図31との関連から詳細を後述する。含めない場合には、コントロール・ルーチンが直接ボックス1470に進む。
【0087】
しかしながら判断ボックス1420のチェックにおいて、生成するビューが「列」ビューであることが示されると、コントロール・ルーチンがボックス1440に進み、それにおいて列要約リストから列に関するアイテムの識別子からなる出力リストを生成し、ボックス1470に進む。
【0088】
ボックス1470および1480は、出力リスト内の各アイテム識別子に関する読み出しビューの1つのコンポーネントを生成するループを表している。判断ボックス1470において、コントロール・ルーチンは、出力リスト内にアイテムが残っているか否かを判断する。残っている場合にはボックス1480に進み、それにおいてソース・アイテムを表すコンテンツを、図31との関連から詳細を次に述べる手順を使用して追加し、ボックス1470に戻る。しかしながらボックス1470のチェックにおいて、出力リスト内にアイテムが残っていないことが示されると、コントロール・ルーチンは、ボックス1490において読み出しビューを返す。ここで注意が必要であるが、この手順においては、各アイテムのコンテンツが個別のユニットとして追加されている。いくつかの応用については、ビューのアイテムに加えて、あるいはそれに代えて、要約情報を提供すると有用なこともある。
【0089】
図31は、単一の読み出しビュー・アイテムを生成するための手順を記述している。ボックス1500は、この手順に対する入力を要約している:すなわち呼び出しソース(フル・ツリーテーブルまたはデュアル・フレーム・ガイド)、ビューのタイプ(列または継承者)、存在する場合にはソース・アイテム、構成中の部分的な読み出しビュー、およびビューに追加することになるアイテムのIDである。コントロール・ルーチンは、ボックス1510において開始し、そこでストレージ・ボックス90からアイテムのヘッダ情報を読み出すとボックス1520に進み、それにおいて、追加することになるアイテムに関するヘッダ情報を読み出しビューに追加する。ヘッダ情報ならびに含められるリンクのフォーマットは、呼び出しソースに応じて異なることがある。ヘッダ情報を追加すると、その後コントロール・ルーチンがボックス1530に進み、それにおいてそのアイテムの完全なコンテンツを取り出した後、ボックス1540に進む。ボックス1540においては、連結された読み出しビュー内の配置に関するコンテンツの調整を行い(たとえば、引用されているメッセージが前出のものである場合にはe−メール・スレッドのビューから引用されたメッセージを取り除く)、ボックス1550に進む。ボックス1550においては、そのコンテンツが列ビューのソース・アイテムである場合に、コントロール・ルーチンがその強調表示を行い、そのコンテンツを読み出しビューに追加した後、ボックス1560においてリターンする。
【図面の簡単な説明】
【図1】 均一な列サイズを伴うツリーテーブルを示した説明図である。
【図2】 セルが先頭となるサブツリーにフォーカスを行った図1のツリーテーブルを示した説明図である。
【図3】 列に対してフォーカスを行った図1のツリーテーブルを示した説明図である。
【図4】 列に対して拡大したフォーカスを行った図1のツリーテーブルを示した説明図である。
【図5】 「列読み出しビュー」が示されている図1のツリーテーブルの補助表示を示した説明図である。
【図6】 コントロールがセットされて「継承者読み出しビュー」の補助表示がイネーブルになった図1のツリーテーブルを示した説明図である。
【図7】 「継承者読み出しビュー」が示されている図1のツリーテーブルの補助表示を示した説明図である。
【図8】 水平ならびに垂直のサイズが強く制限された図1のツリーテーブルを示した説明図である。
【図9】 さらにサイズが制限された図1のツリーテーブルを示した説明図である。
【図10】 抽出コントロールを含むツリーテーブルを示した説明図である。
【図11】 図10のツリーテーブルからサブツリーを抽出することによって得られたツリーテーブルを示した説明図である。
【図12】 図10のツリーテーブルから列を抽出することによって得られたツリーテーブルを示した説明図である。
【図13】 デュアル・フレーム・ツリーテーブル表示を示した説明図である。
【図14】 別の列にフォーカスがシフトされた図13のデュアル・フレーム・ツリーテーブル表示を示した説明図である。
【図15】 左側フレームがノードの子の表示に使用されている図13のデュアル・フレーム・ツリーテーブル表示を示した説明図である。
【図16】 ツリーテーブルおよび補助表示の生成における主プロセスのステップを示したフローチャートである。
【図17】 全体的なツリーテーブル構成プロセスを示したフローチャートである。
【図18】 全体的なツリーテーブル構成プロセスのアウトライン・レイアウト構成ステップを示したフローチャートである。
【図19】 構成中のアウトライン・レイアウトを示した説明図である。
【図20】 アウトライン・レイアウトから表示レイアウトへの変換を示したフローチャートである。
【図21】 フォーカス範囲を求める方法を示したフローチャートである。
【図22】 表示レイアウトの列幅をセットするための方法を示したフローチャートである。
【図23】 表示レイアウトのフォーカス−ベースの列幅をセットするための方法を示したフローチャートである。
【図24】 計算された列幅を前提とする表示レイアウトを生成するための方法を示したフローチャートである。
【図25】 使用可能なスペースを基礎としてセル・コンテンツをセットするための方法を示したフローチャートである。
【図26】 セルの強調表示をセットするための方法を示したフローチャートである。
【図27】 デュアル・フレーム・ツリーテーブル表示を構成するための方法を示したフローチャートである。
【図28】 デュアル・フレーム・ツリーテーブル表示に関する表示レイアウト・リストを構成するための方法を示したフローチャートである。
【図29】 表示レイアウト・リストから垂直に仕切られたツリーテーブルを構成するための方法を示したフローチャートである。
【図30】 補助の列または継承者読み出しビューを生成するための方法を示したフローチャートである。
【図31】 特定のノードに関連づけされたコンテンツを読み出しビューに追加するための方法を示したフローチャートである。
【符号の説明】
90 ストレージ・デバイス、350 ツリー、360 アウトライン・レイアウト、2000 タイトル行、2010,2910 コントロール行、2020 フォーカス・セレクション、2030 読み出しセレクション、2040 サイズ・セレクション、2050,2400,2970 列ヘッダ、2055,2955,3055,3155,3230 ツリーテーブル、2060,2065,2070,2080,2090,2930 セル、2061,2062 ラベル、2063,2420,2440,2615,3283 ボデ、2075 アイテム、2195,2495,2650,3295 スクロール・バー、2430,2610,3281,3286 エレメント・ヘッダ、2490,2690 補助表示、2600,3420 ヘッダ、2920 ツリー・セレクション、2925 ルート・セル、2950 列セレクション、2960 抽出タイトル、3010 行注釈、3200 ガイド・フレーム、3210 表示(display)モード、3215 変更(change)セレクション、3230 分割されたツリーテーブル、3240,3250 サブテーブル、3260 モード・コントロール行、3270,3370 読み出しフレーム、3275 読み出しフレーム・ヘッダ、3280,3285,3380 エレメント、3282,3287,3292 ビュー・コントロール、3383 ボディ・エレメント、3400 補助フレーム、3430 子エレメント、3431 子ヘッダ、N1 ルート・ノード、N11,N12,N13 内部ノード、N111,N112,N131 リーフ・ノード、C1,C11,C12,C13,C111,C112 セル、R1,R2,R3 行、CL1,CL2,CL3,CL4 列。[0001]
BACKGROUND OF THE INVENTION
The present invention relates generally to the field of information display. More specifically, the present invention provides a method for organizing and manipulating the display of tree-structured information in a tabular format, enabling rapid identification of “root-to-leaf” paths and Facilitating deeper exploration of these paths, both in the tree representation and through harmonized auxiliary displays.
[0002]
[Prior art and problems to be solved by the invention]
The tree-structured path forms a logical grouping whose internal nodes represent a substantial amount of information (rather than acting as a simple container like a file directory). For example, a node in an inheritance tree, such as natural taxonomy or a programming language framework, represents a set of properties, and a path determines a net property that is inherited by internal nodes or leaves. As another example, the nodes of the tree used to depict an email thread represent individual messages whose paths constitute a synchronous message / response sequence within the thread. For this type of application, the tree visualization needs to provide a convenient grasp of the path relationships, while at the same time including sufficient text that can serve as an overview of the contents of the tree. . Furthermore, tree visualization needs to serve as a context for deeper exploration of information along the path.
[0003]
[Means for Solving the Problems]
The present invention converts a tree-structured material into a table-like structure, that is, hereinafter referred to as a “tree table”, in which each path is converted to a structure represented by a table column. Resolve problems with path understanding directly. All children of a node are placed directly under that node and can be understood at a glance. No dedicated space is allocated to show the edges, so more space can be used for display.
[0004]
The size and shape of the tree determines how much content can be given for that node within a limited display area, so that in the case of a large tree, the node in the first visualization The amount of information that can be given to a user may not be sufficient. The present invention solves this problem according to two methods. First, it adapts the method associated with the display of “degree of interest” to allow selective expansion of the area of interest in a manner consistent with table-like geometry. The second means that the present invention uses to solve the problem of displaying large trees is to provide the extraction of tree table subparts into the auxiliary display so that more space is available to them. While maintaining the original representation in either full scale or outline form, and maintaining the user's context awareness.
[0005]
The present invention also provides the use of a tree table as a guide for reading the linked content of closely related nodes that represent either full paths or root identical children. The content shown may be complete content or may be reduced in a way that is suitable for the application.
[0006]
A method is provided for converting and displaying tree-structured information into a "tree table", a table-like display structure, in which each path from the root to a leaf node is a single A cell represented by a column and representing the immediate successor of a node is placed directly under that node.
[0007]
Also provided are methods relating to the use of the underlying tree table for the generation of auxiliary displays. One such method supports extracting a sub-part of a tree table into another structure of that type, which is useful for deeper exploration and full representation of medium-sized trees. Larger spaces are allowed to reasonably explore large trees that would run out of space for large amounts of text.
[0008]
Another method provided is for reading the contents of a concatenated node associated with either (a) an individual column (representing a full path) or (b) all the successors for a given node. Utilizes a tree table structure in the auxiliary display for use as a selector and guide. This auxiliary structure can be displayed in a separate window or can be displayed in an accompanying frame for use in a limited display space.
[0009]
The conversion from tree to tree table consists of two basic steps, the first is an outline tree table that identifies the arrangement and relative size of the table cells, assuming the unit width for each column The second is the development of a display specification that associates a specific size and content with each cell.
[0010]
The first step establishes the basic layout of the tree table. The number of rows is equal to the height of the tree. The number of columns is equal to the number of leaf nodes in the tree. The topmost cell represents the root and extends over the first row. Cells representing the children of the root are placed in the next row in order. The width of each such "child cell" is equal to the number of leaf nodes that will ultimately be descendants of the node represented by that child cell (or 1 if the node has no descendants) Become). When there is a cell representing a leaf node in a particular row, a gap appears at that position in every row that follows it.
[0011]
The second step associates a specific size and content with each cell based on the following:
(A) Basic layout acquired in the first step
(B) Usable display space
(C) Select a column or cell (or do not do it)
(D) A control system that prescribes the selection of the generated tree table (or not) and the interpretation of other details. These controls can be organized and implemented according to various methods, for example by selection to set additional modes, or by gestures (combinations of selection and keyboard input), but ultimately Includes:
1. Specification for interpreting a cell selection as either the column in which the cell extends or the subtree headed by that cell.
[0012]
2. Width and fraction obtained by giving equal width to each column (resulting in a “natural” assignment) or by prioritizing the columns covered by the focus area (up to the indicated range) A description of how to obtain the size of the cell, with the height obtained by focusing the focus.
[0013]
3. Details about whether to use full display space or more limited space for the tree table.
[0014]
4). Details about whether and how much text to embed in the tree table cell.
[0015]
Given the choices in these areas, a specific width is associated with each column and they are used to increase the cell width in the basic layout. Subsequently, given these widths and taken into account along with some restrictions on the text to be incorporated, the amount of content to be provided in each cell is determined. The selection and focus area is highlighted by color or by other means, for example by gray scale.
[0016]
Extracting a sub-part of a tree table for independent display involves one step added to the two basic steps described above. After the basic layout is acquired, a set of adjacent columns is extracted from the layout. The columns to be extracted may be an arbitrary set, or may be columns (in a tree table representation) that extend to a specific subtree. The extracted column is then treated as a basic layout for secondary display.
[0017]
The use of a tree table as a navigation guide to retrieve the full content of a set of related nodes is provided by two variant embodiments, which together link material in a meaningful logical unit of the tree. . The type of the first embodiment uses additional controls to expand the semantic range of selection and produce an auxiliary display in a separate window. The second embodiment uses dual frames so that both the tree table as well as the magnified content can be viewed simultaneously in the same window.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Referring now to the drawings, FIGS. 1-15 illustrate a tree table generated by the method of constructing the present invention and the tree table-based interactions supported thereby. This embodiment of the invention provides an email review tool that uses a tree table for thread exploration. The underlying tree in these drawings represents a newsgroup thread. Visualization is obtained by submitting display specifications to a display processor, such as a Netscape browser or other viewer. However, the method of the present invention is general and can be used to generate specifications for many types of display processors that are embedded in graphical user interface (GUI) toolkits associated with many programming languages. (A more complete description will be given later in connection with FIG. 16). 16-31 show the method used for the development of display specifications.
[0019]
Also, while this particular embodiment is directed to an email review tool, it should be noted that the present invention can be used to visualize many different types of information, for example biological Such as scientific classification, object-oriented programming language framework, tree tracking language descending order, systematic charts, and genealogy, but only a few. An important characteristic common to these examples is that they all use a tree to visualize information, where the paths in the tree represent logical groupings and the nodes of the tree match. Represents. The present invention provides a useful tool for visualizing any such tree.
[0020]
FIG. 1 shows a tree table with a uniform column size because it is the case where there is no explicitly selected focus. The
[0021]
A
[0022]
The
[0023]
The remaining part of the figure shows a tree table 2055 comprising rows R1 to R9 and columns C1 to C8. Note that in this example, rows R1-R9 are arranged from top to bottom and columns C1-C8 are arranged from left to right, but this is for illustrative purposes only. It is. Visualization can be easily rearranged so that rows are arranged from bottom to top and / or columns are arranged from right to left. Similarly, columns and rows can be interchanged so that rows R1-R9 become columns and columns C1-C8 become rows. While the illustrated arrangement has been determined to be suitable for viewing the hierarchically associated information of an email thread, other arrangements are possible, and in other situations it is e -It may be more suitable for viewing hierarchically related information including mail threads.
[0024]
The tree table 2055 includes cells such as
[0025]
[0026]
Figures 2-4 illustrate the use of a focus area that provides more space for a selected portion of the tree, either a sub-tree or a path. These figures show the same tree table, ie the tree table 2055 shown in FIG. 1, and the same reference numerals are used for the same features as shown in FIG. FIG. 2 shows the tree table shown in FIG. 1, but the sub-tree starting from the
[0027]
FIG. 3 also shows the tree table of FIG. 1, but in this case with column focus instead of subtree. The
[0028]
Note that in FIGS. 2 and 3, the focus selection is used to determine the focus area, that is, highlighting is then performed to select the focus for the rest of the tree table. The focus area that can be distinguished from the above is determined. These consist of groups of consecutive cells in each case, but this is not necessarily so. For example, using a well-known search algorithm, a search on all cells containing keywords, phrases, or other attributes can allow the user to select a group of non-contiguous cells, Other methods of selecting non-contiguous groups can also be used. After the selection is made, the above-described highlighting method can be applied to the selection.
[0029]
FIG. 4 also shows the tree table of FIG. 1, but in this case, a greater standout is given to the focus area. The
[0030]
FIGS. 5-7 illustrate the use of an auxiliary display for the “read view”, which is an application-dependent amount of content for the nodes of the tree represented by the tree table, linked to a logical group of specific meanings. I will provide a. These logical groups are: (a) nodes along individual “root-to-leaf” paths of the tree, ie nodes represented by cells along individual columns, and (b) that node of a particular node. The child represented by the cell directly below the cell being represented. FIG. 5 shows the readout view for column C7 of FIGS. 2-4 described so far, concatenating the contents of the nodes represented by the cells in column C7. As shown in FIG. 4, the
[0031]
Auxiliary displays are also used to show the content of the immediate children of a particular tree node, and still match the base tree table. Figures 6 and 7 illustrate the use of a tree table for this purpose.
[0032]
FIG. 6 also shows the tree table of FIG. 1, in which the
[0033]
FIGS. 8 and 9 illustrate the use of a reduced size tree table that can be used to (a) provide a complete picture of a particularly large tree, and (b) a tree for use as a guide for auxiliary display. Limit the space required for the table. The tree tables shown in FIGS. 8 and 9 are the same as those shown in the previous drawings, and therefore the same reference numbers are used to indicate the same features. In FIG. 8, the
[0034]
FIGS. 10-12 illustrate another embodiment, with additional control commands, and subpart extraction that extracts tree table subparts into an auxiliary display for more detailed exploration. FIG. 10 shows a tree table 2955 for a tree that includes cells in rows R1-R11, columns C1-C23, and 54. Due to the number of cells, only a small percentage of cells have space available for text. For example, only cells such as
[0035]
The
[0036]
FIG. 11 shows the result of extracting the portion of the tree table representing the subtree in the auxiliary display. In this example, the extracted tree table 3055 represents a subtree whose head is the node represented by the
[0037]
FIG. 12 shows the result of extracting the portion of the tree table consisting of the column range in the auxiliary display. In this example, the extracted tree table 3155 includes column ranges C13 to C23 of the tree table 2955 shown in FIG. Since FIG. 12 shows the portion of the tree table 2955 shown in FIG. 10, the same reference numerals are used for the same features as those shown in FIG. The
[0038]
FIGS. 13-15 illustrate another embodiment that uses a dual-frame approach to exploring the tree table. This approach makes it difficult to extend the tree table in-situ, but rather just as a navigation guide for reading content associated with a group of nodes represented by the cells of the tree table. used. FIG. 13 shows an initial dual-frame view of the tree table of FIG. 1 and includes a
[0039]
The divided tree table 3230 is a tree table divided vertically into sub-tables that are partitioned vertically and fit within an allocated horizontal space. In this example, 4 columns are used as the maximum number of columns in the subtable, resulting in
[0040]
The
[0041]
Read
[0042]
An
[0043]
FIG. 14 shows a view of the dual frame tree table for the same tree table as FIG. 13, but in this case a different cell has been selected. Since the split tree table shown in FIG. 14 is identical to that shown in FIG. 13, the same reference numerals are used for the same features. The cell selected in FIG. 14 is a
[0044]
FIG. 15 illustrates another embodiment in which a view of a dual frame tree table is displayed, another material associated with the tree represented by the split tree table, and a view in the readout frame. • Use the controls to explore. This consists of a left
[0045]
Turning now to the method for developing these visualizations, FIG. 16 shows the overall control mechanism and refers to the main process used by embodiments of the present invention. There are many contemporary variations in the generation of interactive visualizations, each of which makes some difference in how the main process is invoked and in the details of the display specification. Some of the causes of variations are:
[0046]
(A) A language used to express a display specification, such as a language for specifying the structure of tree table visualization and content. This can be HTML or one of its variants, or programming language specific (eg JAVA® (Java) swing), or a combination of the two.
[0047]
(B) The display means that each choice of table item or control is structured to require independent interaction, or whether several interactions are combined with each other (eg in the case of a “form”) .
[0048]
(C) Whether the interaction is stateless or session-based. In stateless interactions, each visualization request is processed without any prior knowledge of the sequence of previous interactions (except when contained in the request), which is common for browsers.
[0049]
(D) Whether each window used for visualization is individually managed by an independent process (basic mode of operation of the browser) or all windows involved in a single application. .
[0050]
(E) Whether the control mechanism is implemented on a single system including the display system or on a system independent of the display system. For example, a user may interact through a browser with a remote web site or within another distributed computing framework.
[0051]
(F) Whether a single tree is observed or whether multiple trees are observed. If multiple trees are being observed, it may be desirable to insert a dummy parent node where all trees are subtrees and process as if they were a single tree. Alternatively, it may be desirable to process each tree independently and concatenate the display information to produce a single display image.
[0052]
However, whatever the general mechanism is used to generate interactive visualizations, the method provided by the present invention is essentially the same, with most of the differences being the main process. Occurs in the details of how is called and how the request and result display specifications are expressed.
[0053]
When the control routine begins in
[0054]
FIG. 17 describes the overall tree table builder process. The control routine enters
[0055]
However, if the check in
[0056]
18 and 19 describe the configuration of the outline layout, where each tree node is associated with a cell in a particular row with a particular start column and end column, and the nodes of the tree The space between the cells associated with is filled with gap cells. The general approach used here is illustrated in FIG. 19 with a
[0057]
The first cell C1 is assigned for the root node N1 of the tree. Cell C1 extends across all columns CL1-CL4 throughout the first row R1. Thereafter, each subsequent line is expanded based on the content of the preceding line. Within
[0058]
The control routine specified in FIG. 18 implements this approach. This begins in
[0059]
In
[0060]
However, if the check in
[0061]
FIG. 20 covers the general process from
[0062]
Given this input, the control routine first checks in
[0063]
FIG. 21 details the process of
[0064]
FIG. 22 details the process of
[0065]
[0066]
FIG. 23 details the
[0067]
However, if the control routine determines in
[0068]
FIG. 24 is a detail of
[0069]
In
[0070]
FIG. 25 details the
[0071]
In
[0072]
In the
[0073]
If it is determined in
[0074]
[0075]
FIG. 26 shows details of
[0076]
In
[0077]
FIGS. 27-29 describe the mechanism for generating the dual frame tree table shown in FIGS. 13-15, which includes a left frame often partitioned vertically, Contains a tree table and the right frame contains the contents of the selected column. This is appropriate when a read view is desirable but only one window can be devoted to exploring the tree table.
[0078]
Some details of the mechanism are standard browsers that accept one or more frame specifications in the display window, each of which refers to a separate and possibly procedural specification of how the frame is acquired. It is based on the premise that it is a standard browser that accepts specifications. Minor adaptations make this mechanism suitable for other display processors.
[0079]
FIG. 27 describes the overall process used for both the initial dual frame view generation and the subsequent generation of the view based on the selection in the left tree table guide. In order to generate an initial dual frame view, a display layout with a divider for the tree table guide is constructed. To generate a subsequent view, the partitioned display layout is edited and the focus area shift is shown via highlighting. Thus, for the generation of the initial view, the control routine begins at
[0080]
[0081]
FIG. 28 details the process of
[0082]
However, if the check in
[0083]
FIG. 29 describes a procedure for generating a vertically partitioned tree table layout from the display layout list acquired in the procedure of FIG. Its purpose is to set the cell background or other emphasis parameters in the list layout to indicate the focus column and focus cell, and to concatenate the layouts. This is initiated on the basis of a request to generate a new guide frame for the initial display of the guide frame or for subsequent display based on changes in selected columns and / or cells. The control routine begins at
[0084]
However, if the check in
[0085]
FIG. 30 describes the procedure for generating a read view as part of a dual frame tree table or as an independent window.
[0086]
If the view to be generated is the “inheritor” view, the control routine proceeds to
[0087]
However, if the check in
[0088]
[0089]
FIG. 31 describes the procedure for generating a single read view item.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing a tree table with a uniform column size.
FIG. 2 is an explanatory diagram showing the tree table of FIG. 1 in which a focus is placed on a sub-tree whose cell is at the head;
FIG. 3 is an explanatory diagram showing the tree table of FIG. 1 with focus on columns.
FIG. 4 is an explanatory diagram showing the tree table of FIG. 1 with an enlarged focus on a column.
FIG. 5 is an explanatory diagram showing an auxiliary display of the tree table of FIG. 1 in which a “column readout view” is shown.
6 is an explanatory diagram showing the tree table of FIG. 1 in which the control is set and the auxiliary display of the “inheritor read view” is enabled.
FIG. 7 is an explanatory diagram showing an auxiliary display of the tree table of FIG. 1 in which the “inheritor read view” is shown.
FIG. 8 is an explanatory diagram showing the tree table of FIG. 1 in which the horizontal and vertical sizes are strongly limited.
FIG. 9 is an explanatory diagram showing the tree table of FIG. 1 with a further limited size.
FIG. 10 is an explanatory diagram showing a tree table including an extraction control.
11 is an explanatory diagram showing a tree table obtained by extracting a subtree from the tree table of FIG.
12 is an explanatory diagram showing a tree table obtained by extracting columns from the tree table of FIG.
FIG. 13 is an explanatory diagram showing a dual frame tree table display.
14 is an explanatory diagram showing the dual frame tree table display of FIG. 13 with the focus shifted to another column.
FIG. 15 is an illustration showing the dual frame tree table display of FIG. 13 where the left frame is used to display the children of the node.
FIG. 16 is a flow chart showing the steps of the main process in generating the tree table and auxiliary display.
FIG. 17 is a flowchart showing an overall tree table construction process.
FIG. 18 is a flowchart showing outline layout configuration steps of the overall tree table configuration process.
FIG. 19 is an explanatory diagram showing an outline layout in configuration;
FIG. 20 is a flowchart showing conversion from an outline layout to a display layout.
FIG. 21 is a flowchart showing a method for obtaining a focus range.
FIG. 22 is a flowchart showing a method for setting the column width of the display layout.
FIG. 23 is a flowchart illustrating a method for setting a focus-base column width of a display layout.
FIG. 24 is a flowchart showing a method for generating a display layout based on a calculated column width.
FIG. 25 is a flowchart illustrating a method for setting cell content based on available space.
FIG. 26 is a flowchart illustrating a method for setting cell highlighting.
FIG. 27 is a flowchart illustrating a method for configuring a dual frame tree table display.
FIG. 28 is a flowchart illustrating a method for constructing a display layout list for dual frame tree table display.
FIG. 29 is a flowchart illustrating a method for constructing a tree table vertically partitioned from a display layout list.
FIG. 30 is a flowchart illustrating a method for generating an auxiliary column or successor readout view.
FIG. 31 is a flowchart illustrating a method for adding content associated with a particular node to a read view.
[Explanation of symbols]
90 Storage Device, 350 Tree, 360 Outline Layout, 2000 Title Row, 2010, 2910 Control Row, 2020 Focus Selection, 2030 Read Selection, 2040 Size Selection, 2050, 2400, 2970 Column Header, 2055, 2955, 3055 , 3155, 3230 tree table, 2060, 2065, 2070, 2080, 2090, 2930 cells, 2061, 2062 labels, 2063, 2420, 2440, 2615, 3283 bodies, 2075 items, 2195, 2495, 2650, 3295 scroll bars, 2430, 2610, 3281, 3286 Element header, 2490, 2690 Auxiliary display, 2600, 3420 Header, 2 20 tree selection, 2925 root cell, 2950 column selection, 2960 extracted title, 3010 row annotation, 3200 guide frame, 3210 display mode, 3215 change selection, 3230 partitioned tree table, 3240, 3250 sub-table, 3260 mode control row, 3270, 3370 read frame, 3275 read frame header, 3280, 3285, 3380 element, 3282, 3287, 3292 view control, 3383 body element, 3400 auxiliary frame, 3430 child element , 3431 child header, N1 root node, N11, N12, N13 internal node, N111, N112, N131 Node, C1, C11, C12, C13, C111, C112 cells, R1, R2, R3, line, CL1, CL2, CL3, CL4 column.
Claims (10)
(a)それぞれのノードに関連づけられるセルを含むための2次元構造を生成するステップであって、前記複数の行の数は最長パス内の前記ノードの数に等しく、前記複数の列の数は前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけられているセルは親セルであり、子ノードに関連づけされているセルは子セルであり、リーフ・ノードに関連づけされているセルはリーフ・セルであるとするステップと、
(b)前記2次元構造内において行n内のセルのそれぞれのための配置を指定するステップであって、その結果、各セルの親セルが行n−1に配置され、各セルの子セルが行n+1に配置され、各リーフ・セルが正確に1つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけられている子セルが延びる列にわたって正確に延びるステップと、
(c)少なくとも1つのセルに、そのセルが関連するノードに関連づけられた情報の少なくとも一部を与えるステップ
を包含することを特徴とする方法。Hierarchical information in which information can be represented as a set of nodes, each node being associated with a portion of the information, the nodes being connected by directed edges, and at most one incoming edge The parent node is the source of the incoming edge, the child node is the target of the outgoing edge, the root node is the node without the incoming edge, the leaf node is the node without the outgoing edge, A path is a sequence of nodes that has a first node and a last node, and each node except the last node is followed by one of its child nodes, and a full path is a root node whose first node is in the path The hierarchical information that can be represented as a set of nodes, assuming that the leaf node is the path n that is the last node in the path A method for a plurality of rows where the row Les has a height, and each column displays in a two-dimensional structure having a plurality of columns having a width,
(A) generating a two-dimensional structure for including cells associated with each node, wherein the number of rows is equal to the number of nodes in the longest path, and the number of columns is A cell that is equal to the total number of leaf nodes and is associated with a parent node is a parent cell, a cell associated with a child node is a child cell, and a cell associated with a leaf node is a leaf A step of being a cell;
(B) designating the placement for each of the cells in row n within the two-dimensional structure, so that the parent cell of each cell is placed in row n-1 and the child cell of each cell Is placed in row n + 1, each leaf cell extends exactly in one column, and each cell excluding the leaf cell extends exactly over the column from which the child cell associated with the respective cell extends;
(C) providing at least one cell with at least a portion of information associated with a node with which the cell is associated.
(a)前記入力手段に応答して前記テーブルならびに前記ツリー構造化された情報を表示するための表示仕様を生成するための演算手段であって、前記テーブルは、2次元の行および列のセルの配列を包含し、各ノードはセルに関連づけられており、前記配列は、最長パス内のノードの数に等しい数の行、およびリーフ・ノードの数に等しい数の列を有し、
(i)ルート・ノードが関連づけられたセルが、最初の行内に配置され、
(ii)パスに沿ったノードが関連づけされたセルが、前記最初の行からの連続する行内に連続して配置され、それにおいて各ノードが関連づけられたセルは、1つの列もしくは前記ノードが関連づけされたセルに関連づけされるノードからのパス上に配置されたリーフ・ノードの数に等しい数の列、のうちの大きい方にわたって延び、かつ各列はパスを表し、かつ
(iii)少なくとも1つのノードが関連づけされたセルが、前記ノードに関連づけられた情報の少なくとも一部を含むものとする表示仕様を生成するための演算手段と、
(b)前記演算手段に応答して、前記表示仕様を受け取り、前記テーブルを表示するための表示処理手段
を包含することを特徴とするコンピュータ・コントロールされる表示システム。Tree-structured information with multiple nodes connected by directed edges, where any node has at most one incoming edge, the node without incoming edge is the root node, and the outgoing node A node without an edge is a leaf node, and the path has a first node and a last node, starting from the first node and along the directed edge in the direction of the edge And the full path is the path where the root node is the first node of the path, the leaf node is the last node of the path, and each node has associated information In a computer-controlled display system for displaying tree-structured information in a table on a display,
(A) computing means for generating display specifications for displaying the table and the tree-structured information in response to the input means, wherein the table is a two-dimensional row and column cell; Each node is associated with a cell, the array having a number of rows equal to the number of nodes in the longest path and a number of columns equal to the number of leaf nodes;
(I) the cell with which the root node is associated is placed in the first row;
(Ii) cells with associated nodes along the path are placed consecutively in successive rows from the first row, where each node is associated with a column or associated with the node Extending over the larger of a number of columns equal to the number of leaf nodes located on the path from the node associated with the selected cell, and each column represents a path, and (iii) at least one Computing means for generating a display specification in which a cell associated with the node includes at least a part of the information associated with the node;
(B) A computer-controlled display system comprising display processing means for receiving the display specifications and displaying the table in response to the computing means.
(a)それぞれのノードに関連づけされるセルを含むための2次元構造であって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルである2次元構造を生成し、
(b)前記2次元構造内における行n内のセルのそれぞれに関する配置であって、結果として各セルの親セルが行n−1に配置され、各セルの子セルが行n+1に配置され、各リーフ・セルが正確に1つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延びる配置を指定し、かつ
(c)少なくとも1つのセルに、そのセルが関連するノードに関連づけされた情報の少なくとも一部を与えること、
によって表示するための表示仕様を生成するべくプログラムされたソフトウエアを包含するメモリ・メディア。A memory medium containing software programmed to generate a display specification for displaying hierarchical information, wherein the information can be represented as a set of nodes, where each node represents the information The nodes are connected by directed edges, the parent node is the source of the incoming edge, the child node is the target of the outgoing edge, and the path is a sequence of nodes going from the parent node to the child nodes The root node is the first node in the path and the leaf node is the last node in the path, each row having a height, which can be represented as a set of nodes In a two-dimensional structure having a plurality of rows and a plurality of columns, each column having a width,
(A) a two-dimensional structure for including cells associated with each node, wherein the number of rows is equal to the number of nodes in the longest path, and the number of columns is the leaf The cell that is equal to the total number of nodes and is associated with the parent node is the parent cell, the cell associated with the child node is the child cell, and the cell associated with the leaf node is the leaf cell Create a two-dimensional structure,
(B) an arrangement for each of the cells in row n in the two-dimensional structure, with the result that the parent cell of each cell is arranged in row n-1 and the child cells of each cell are arranged in row n + 1; Specify an arrangement in which each leaf cell extends exactly in one column, and each cell excluding the leaf cell extends exactly over the column in which the child cells associated with the respective cell extend, and (c) at least Giving a cell at least part of the information associated with the node with which the cell is associated,
A memory medium containing software programmed to generate a display specification for display by.
(a)それぞれのノードに関連づけされるセルを含むための2次元構造であって、前記複数の行の数が最長パス内のノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルである2次元構造を生成し、
(b)前記2次元構造内における行n内のセルのそれぞれに関する配置であって、結果として各セルの親セルが行n−1に配置され、各セルの子セルが行n+1に配置され、各リーフ・セルが正確に1つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延びる配置を指定し、
(c)少なくとも1つのセルに、そのセルが関連するノードに関連づけされた情報の少なくとも一部を与えるプロセスを実行するべくプログラムされたコンピュータ。A computer programmed to perform a process for displaying hierarchical information, wherein said information can be represented as a set of nodes, wherein each node is associated with a portion of said information, said node Are connected by directed edges, the parent node is the source of the incoming edge, the child node is the target of the outgoing edge, the path is a sequence of nodes going from the parent node to the child nodes, and the root node is the path Hierarchical information, which can be represented as a set of nodes that are the first nodes of and the leaf nodes are the last nodes of the path, multiple rows each having a height, and each column For displaying in a two-dimensional structure having a plurality of columns having a width,
(A) a two-dimensional structure for including cells associated with each node, wherein the number of the plurality of rows is equal to the number of nodes in the longest path, and the number of the plurality of columns is the leaf node The cell associated with the parent node is the parent cell, the cell associated with the child node is the child cell, and the cell associated with the leaf node is the leaf cell Generate a two-dimensional structure,
(B) an arrangement for each of the cells in row n in the two-dimensional structure, with the result that the parent cell of each cell is arranged in row n−1 and the child cell of each cell is arranged in row n + 1; Specify an arrangement in which each leaf cell extends exactly in one column and each cell except the leaf cell extends exactly over the column in which the child cells associated with the respective cell extend;
(C) A computer programmed to perform a process that provides at least one cell with at least a portion of the information associated with the node with which the cell is associated.
(a)前記階層的に関連づけされた情報から表示仕様を生成するためのプロセッサと、
(b)前記プロセッサに応答するディスプレイであって、前記階層的に関連づけされた情報が、各ノードに関連づけされたセルを含む2次元構造として表示され、それにおいて前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルとなり、子ノードに関連づけされているセルが子セルとなり、リーフ・ノードに関連づけされているセルがリーフ・セルとなり、前記セルのそれぞれが、前記2次元構造内の行nに配置され、その結果、各セルの親セルが行n−1に配置され、各セルの子セルが行n+1に配置され、各リーフ・セルが正確に1つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延び、さらに少なくとも1つのセルがそのセルが関連するノードに関連づけされた情報の少なくとも一部を表示することになるディスプレイ
を包含することを特徴とするコンピュータ・コントロールされる表示システム。Hierarchically related information, wherein the information can be represented as a set of nodes, where each node is associated with a portion of the information, and the nodes are connected by directed edges; Each node has at most one incoming edge, the parent node is the source of the incoming edge, the child node is the target of the outgoing edge, the root node is a node with no incoming edge, and the leaf node is A node without an outgoing edge, a path is a sequence of nodes having a first node and a last node, and each node except the last node followed by one of its child nodes, and a full path is Express as a set of nodes where the root node is the first node in the path and the leaf node is the last node in the path Computer controlled to display hierarchically related information in a two-dimensional structure having a plurality of rows, each row having a height, and a plurality of columns, each column having a width. Display system
(A) a processor for generating display specifications from the hierarchically related information;
(B) a display responsive to the processor, wherein the hierarchically related information is displayed as a two-dimensional structure including cells associated with each node, wherein the number of rows is the longest path The number of the plurality of columns is equal to the total number of leaf nodes, and the cell associated with the parent node is the parent cell, and the cell associated with the child node is the child The cells associated with the leaf nodes become leaf cells, and each of the cells is placed in row n in the two-dimensional structure, so that the parent cell of each cell is in row n−1 Placed, the child cells of each cell are placed in row n + 1, each leaf cell extends exactly in one column, and each cell except the leaf cell is associated with a respective cell. Computer controlled, characterized in that it includes a display that extends exactly over the column in which the child cells extend, and that at least one cell will display at least a portion of the information associated with the node with which the cell is associated. Display system.
(a)表示仕様を生成するための処理エレメントと、
(b)前記表示仕様が、各ノードに関連づけされたセルを含む2次元構造として表示されるディスプレイ・エレメントであって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルとなり、子ノードに関連づけされているセルが子セルとなり、リーフ・ノードに関連づけされているセルがリーフ・セルとなり、前記セルのそれぞれが、前記2次元構造内の行nに配置され、その結果、各セルの親セルが行n−1に配置され、各セルの子セルが行n+1に配置され、各リーフ・セルが正確に1つの列に延び、かつリーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延び、さらに少なくとも1つのセルがそのセルが関連するノードに関連づけされた情報の少なくとも一部を表示するものとするディスプレイ・エレメント
を包含することを特徴とするコンピュータ・コントロールされる表示システム。Hierarchically related information, wherein the information can be represented as a set of nodes, where each node is associated with a portion of the information, and the nodes are connected by directed edges; Each node has at most one incoming edge, the root node is a node with no incoming edge, the leaf node is a node with no outgoing edge, the parent node is the source of the incoming edge, and the child A node is a target of an outgoing edge, and a path is a sequence of nodes that starts at the first node and ends at the last node, so that each node except the last node is followed by one of its child nodes A full path is one in which the root node is the first node in the path and the leaf node is the last node in the path The hierarchically related information, which can be represented as a set of nodes, in a two-dimensional structure having a plurality of rows, each row having a height, and a plurality of columns, each column having a width. In a display system that is computer controlled to display,
(A) a processing element for generating a display specification;
(B) the display specification is a display element that is displayed as a two-dimensional structure including cells associated with each node, wherein the number of the plurality of rows is equal to the number of nodes in the longest path; The number of columns is equal to the total number of leaf nodes, and the cell associated with the parent node is the parent cell, the cell associated with the child node is the child cell, and is associated with the leaf node. Cells become leaf cells, and each of the cells is placed in row n in the two-dimensional structure, so that the parent cell of each cell is placed in row n-1 and the child cells of each cell are row n + 1, each leaf cell extends exactly in one column, and each cell except the leaf cell extends exactly over the column in which the child cell associated with the respective cell extends. Display system in which at least one cell is computer controlled, characterized in that it comprises a display element which is intended to display at least part of the information which the cell is associated with an associated node.
(b)各ノードに関するスパン値であって、そのノードを含むパス上のリーフ・ノードの数とするスパン値を決定するステップと、
(c)前記ディスプレイ・イメージの最初の行のすべての列にわたって延びるルート・セルを割り当てるステップと、
(d)前記ディスプレイ・イメージの連続する行内において、前にある行内の各親ノードの各子ノードに関する子セルを割り当てるステップであって、各子セルが、それが関連する子ノードのスパン数に等しい数の列にわたって延び、かつその親セルの延びる列と同じ列の少なくとも一部にわたって延びるべく配置され、かつ前にある行内の特定の親セルのすべての子セルが、全体としてその親セルの延びる列にわたって延びるものとする子セルを割り当てるステップと、
少なくとも1つのセルに、そのセルが関連するノードに関連づけされた情報の少なくとも一部を与えるステップ
を包含することを特徴とする方法。Hierarchically related information, wherein the information can be represented as a set of nodes, where each node is associated with a portion of the information, and the nodes are connected by directed edges; Each node has at most one incoming edge, the parent node is the source of the incoming edge, the child node is the target of the outgoing edge, the root node is a node with no incoming edge, and the leaf node is A node without an outgoing edge, a path is a sequence of nodes having a first node and a last node, and each node except the last node followed by one of its child nodes, and a full path is Express as a set of nodes where the root node is the first node in the path and the leaf node is the last node in the path In a method for displaying hierarchically related information capable of being displayed in a display image having a plurality of rows, each row having a height, and a plurality of columns, each column having a width. (A) a display image including cells associated with each node, wherein the number of rows is equal to the number of nodes in the longest path and the number of columns is the sum of the leaf nodes The cell associated with the parent node is the parent cell, the cell associated with the child node is the child cell, the cell associated with the leaf node is the leaf cell, and the leaf node Generating a display image in which the associated cell is a leaf cell;
(B) determining a span value for each node, which is the number of leaf nodes on the path including the node;
(C) assigning a root cell extending across all columns of the first row of the display image;
(D) assigning a child cell for each child node of each parent node in a previous row in successive rows of the display image, wherein each child cell has a span number of child nodes to which it relates. All child cells of a particular parent cell in a previous row are arranged to extend over an equal number of columns and extend over at least a portion of the same column as the column of the parent cell, Assigning child cells to extend over the extending column;
Providing at least one cell with at least a portion of information associated with a node with which the cell is associated.
(c)ユーザ入力を受け取るための入力手段と、
(d)前記入力手段に応答して、前記ツリー構造化された情報のイメージを生成するための表示仕様を生成する機能を有する演算手段であって、ディスプレイ・プロセッサによって受け取られたとき、前記イメージが表示エリアを有する2次元の行および列のセルの配列を包含し、それにおいて各ノードがセルに関連づけされており、前記配列が、最長パス内のノードの数に等しい数の行、およびリーフ・ノードの数に等しい数の列を有するものとなり、
(iv)ルート・ノードが関連づけされたセルが、最初の行内に配置され、
(v)ルートからリーフまでのパスに沿ったノードが関連づけされたセルが、前記最初の行からの連続する行内に連続して配置され、それにおいて各ノードが関連づけされたセルは、1つの列もしくは前記ノードが関連づけされたセルに関連づけされるノードからのパス上に配置されたリーフ・ノードの数に等しい数の列、のうちの大きい方にわたって延び、
(vi)各列が、ルートからリーフまでのパスを表し、かつすべてのその種のパスが表現され、
(vii)各ノードが関連づけされたセルが、少なくとも1つの選択エレメントを含むものとなる表示仕様を生成する機能を有する演算手段と、
(e)前記演算手段に応答して前記表示仕様をディスプレイ・プロセッサに渡すための出力手段
を包含することを特徴とする演算システム。Tree-structured information with multiple nodes connected by directed edges, where any node has at most one incoming edge, the node without incoming edge is the root node, and the outgoing node A node without an edge is a leaf node, and the path is a sequence of nodes starting at any node, proceeding in that direction along a directed edge at each point, and leading to another node. Tree-structured information that starts from any node and is part of the node that contains all nodes on all possible paths from it, and that each node has associated information In a calculation system for generating a display specification for displaying on a display,
(C) input means for receiving user input;
(D) computing means having a function of generating a display specification for generating an image of the tree-structured information in response to the input means, the image when received by a display processor; Includes an array of two-dimensional row and column cells having a display area, wherein each node is associated with a cell, the array having a number of rows equal to the number of nodes in the longest path, and leaves It has a number of columns equal to the number of nodes,
(Iv) the cell with which the root node is associated is placed in the first row;
(V) Cells associated with nodes along the path from the root to the leaf are successively arranged in successive rows from the first row, in which each cell is associated with one column. Or extends over the larger of a number of columns equal to the number of leaf nodes located on the path from the node associated with the cell with which the node is associated,
(Vi) each column represents a path from the root to a leaf, and all such paths are represented,
(Vii) arithmetic means having a function of generating a display specification in which a cell associated with each node includes at least one selected element;
(E) An arithmetic system comprising output means for passing the display specifications to a display processor in response to the arithmetic means.
(A)ユーザ入力を受け取るための入力手段と、
(B)前記入力手段に応答して、前記階層的情報のイメージを生成するための表示仕様を生成する機能を有する演算手段であって、ディスプレイ・プロセッサによって受け取られたとき、前記イメージが、
(i)それぞれのノードに関連づけされるセルを含むための2次元構造であって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルであり、それにおいて
(a)前記セルのそれぞれが、前記2次元構造内の行nに配置され、その結果、各セルの親セルが行n−1に配置され、
(b)各セルの子セルが、行n+1に配置され、
(c)各リーフ・セルが、正確に1つの列に延び、
(d)リーフ・セルを除く各セルが、それぞれのセルに関連づけされている子セルが延びる列にわたって正確に延び、かつ、
(e)各セルが、選択エレメントを含む2次元構造、
を包含するものとなる表示仕様を生成する機能を有する演算手段と、
(C)前記演算手段に応答して前記表示仕様をディスプレイ・プロセッサに渡すための出力手段
を包含することを特徴とする演算システム。A display specification for displaying hierarchical information, wherein the information can be represented as a set of nodes, where each node is associated with a portion of the information, and the nodes are connected by directed edges. Each node has at most one incoming edge, the parent node is the source of the incoming edge, the child node is the target of the outgoing edge, the root node is the node without the incoming edge, and the leaf A node is a node without an outgoing edge, and a path is a sequence of nodes that start at one node and go to another node in that direction along the directed edge at each point, leading to the end of the path , Full path is a hierarchical information that can be represented as a set of nodes, starting with the root node and ending with leaf nodes In computing system, each row generating a display specification for a plurality of rows, and each column displays in a two-dimensional structure having a plurality of columns having a width having a height,
(A) an input means for receiving user input;
(B) computing means having a function of generating a display specification for generating an image of the hierarchical information in response to the input means, and when received by a display processor, the image is
(I) a two-dimensional structure for including cells associated with each node, wherein the number of rows is equal to the number of nodes in the longest path, and the number of columns is the leaf The cell that is equal to the total number of nodes and is associated with the parent node is the parent cell, the cell associated with the child node is the child cell, and the cell associated with the leaf node is the leaf cell And (a) each of the cells is placed in row n in the two-dimensional structure, so that the parent cell of each cell is placed in row n−1,
(B) The child cell of each cell is placed in row n + 1,
(C) Each leaf cell extends in exactly one row,
(D) each cell, excluding leaf cells, extends exactly over the column that the child cells associated with the respective cell extend; and
(E) a two-dimensional structure in which each cell includes a selected element;
An arithmetic means having a function of generating a display specification that includes
(C) An arithmetic system comprising output means for passing the display specifications to a display processor in response to the arithmetic means.
(A)ユーザ入力を受け取るための入力手段と、
(B)前記入力手段に応答して、前記階層的情報のイメージを生成するための表示仕様を生成する機能を有する演算手段であって、ディスプレイ・プロセッサによって受け取られたとき、前記イメージが、
(d)それぞれのノードに関連づけされるセルを含むための2次元構造であって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、かつ親ノードに関連づけされているセルが親セルであり、子ノードに関連づけされているセルが子セルであり、リーフ・ノードに関連づけされているセルがリーフ・セルであり、それにおいて
(e)各ノードがスパン値を有し、前記スパン値は、そのノードを含むパス上のリーフ・ノードの数であり、
(f)前記ルート・セルが最初の行に配置され、前記ディスプレイ・イメージの前記最初の行の列のすべてにわたって延び、
(g)前記ディスプレイ・イメージの連続する行内において、前にある行内の各親ノードの各子ノードに関する子セルが配置され、それにおいて各子ノードがそのスパン数に等しい数の列にわたって延び、かつその親セルの延びる列と同じ列の少なくとも一部にわたって延びるべく配置され、
(h)リーフ・セルを除くセルが、そのセルに関連づけされている子セルが延びる列にわたって正確に延び、
(i)各リーフ・セルが、1つの列に延び、かつ
(j)各セルが、少なくとも1つの選択エレメントを含む2次元構造、
を包含するものとなる表示仕様を生成する機能を有する演算手段と、
(C)前記演算手段に応答して前記表示仕様をディスプレイ・プロセッサに渡すための出力手段
を包含することを特徴とする演算システム。A display specification for displaying hierarchical information, wherein the information can be represented as a set of nodes, where each node is associated with a portion of the information, and the nodes are connected by directed edges. Each node has at most one incoming edge, the parent node is the source of the incoming edge, the child node is the target of the outgoing edge, the root node is the node without the incoming edge, and the leaf A node is a node without an outgoing edge, and a path is a sequence of nodes that start at one node and go to another node in that direction along the directed edge at each point, leading to the end of the path , Full path is a hierarchical information that can be represented as a set of nodes, starting with the root node and ending with leaf nodes In operation system for generating a display specification for display in a display image having a plurality of rows in which a plurality of rows, each row having a height, and each column having a width,
(A) an input means for receiving user input;
(B) computing means having a function of generating a display specification for generating an image of the hierarchical information in response to the input means, and when received by a display processor, the image is
(D) a two-dimensional structure for including cells associated with each node, wherein the number of rows is equal to the number of nodes in the longest path, and the number of columns is the leaf The cell that is equal to the total number of nodes and is associated with the parent node is the parent cell, the cell associated with the child node is the child cell, and the cell associated with the leaf node is the leaf cell And (e) each node has a span value, said span value being the number of leaf nodes on the path containing that node;
(F) the root cell is located in the first row and extends across all of the columns of the first row of the display image;
(G) In successive rows of the display image, child cells for each child node of each parent node in the previous row are placed, where each child node extends over a number of columns equal to its span number; and Arranged to extend over at least a portion of the same column as the parent cell extends;
(H) cells except leaf cells extend exactly over the column that the child cells associated with that cell extend;
(I) a two-dimensional structure in which each leaf cell extends in one column and (j) each cell includes at least one selection element;
An arithmetic means having a function of generating a display specification that includes
(C) An arithmetic system comprising output means for passing the display specifications to a display processor in response to the arithmetic means.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/954,388 US6976212B2 (en) | 2001-09-10 | 2001-09-10 | Method and apparatus for the construction and use of table-like visualizations of hierarchic material |
| US09/954,530 | 2001-09-10 | ||
| US09/954,388 | 2001-09-10 | ||
| US09/954,530 US6944818B2 (en) | 2001-09-10 | 2001-09-10 | Method and apparatus for the viewing and exploration of the content of hierarchical information |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003140792A JP2003140792A (en) | 2003-05-16 |
| JP4077692B2 true JP4077692B2 (en) | 2008-04-16 |
Family
ID=27130350
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002254645A Expired - Fee Related JP4077692B2 (en) | 2001-09-10 | 2002-08-30 | Method and apparatus for tabular visualization composition and use of hierarchical material |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4077692B2 (en) |
-
2002
- 2002-08-30 JP JP2002254645A patent/JP4077692B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003140792A (en) | 2003-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6944818B2 (en) | Method and apparatus for the viewing and exploration of the content of hierarchical information | |
| US6976212B2 (en) | Method and apparatus for the construction and use of table-like visualizations of hierarchic material | |
| JP4307501B2 (en) | Automatic layout and formatting of content for media design | |
| US10409895B2 (en) | Optimizing a document based on dynamically updating content | |
| US7007069B2 (en) | Method and apparatus for clustering hierarchically related information | |
| US7111253B2 (en) | Method and apparatus for displaying hierarchical information | |
| US8935602B2 (en) | Hierarchical drag and drop structure editor for web sites | |
| US8156430B2 (en) | System and method for clustering nodes of a tree structure | |
| US5905498A (en) | System and method for managing semantic network display | |
| US7031970B2 (en) | Method and apparatus for generating summary information for hierarchically related information | |
| US6792475B1 (en) | System and method for facilitating the design of a website | |
| JP4602650B2 (en) | Navigation generating apparatus and program | |
| US6924827B1 (en) | Method and system for allowing a user to perform electronic data gathering using foldable windows | |
| US20040117449A1 (en) | Method and apparatus for generating overview information for hierarchically related information | |
| JP2003132074A (en) | Document display method | |
| US7107550B2 (en) | Method and apparatus for segmenting hierarchical information for display purposes | |
| EP2116925B1 (en) | Method, system, program for assisting object selection when web page is authored | |
| JPH1040050A (en) | Table generation instructing device and table generating system | |
| JP4077692B2 (en) | Method and apparatus for tabular visualization composition and use of hierarchical material | |
| JPH08106464A (en) | Document generating device | |
| JP2002169836A (en) | Information aggregation and support system | |
| JP2004110609A (en) | File management system, file management program, and recording medium | |
| JP3416780B2 (en) | Structured document browsing device | |
| JP5428316B2 (en) | Identifier shortening display program, identifier shortening display device, and identifier shortening display method | |
| JP4720695B2 (en) | Content provision method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050823 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070918 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080108 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080201 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110208 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120208 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120208 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130208 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140208 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |