[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2002254645A
Other languages
Japanese (ja)
Other versions
JP2003140792A (en
Inventor
エス ニューマン ポーラ
ケイ カード スチュアート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US09/954,388 external-priority patent/US6976212B2/en
Priority claimed from US09/954,530 external-priority patent/US6944818B2/en
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JP2003140792A publication Critical patent/JP2003140792A/en
Application granted granted Critical
Publication of JP4077692B2 publication Critical patent/JP4077692B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 title line 2000 includes a title line generated by a Netscape browser and controls specific to the browser. Note that title line 2000 is an artifact when using this browser as a display processor. If the present invention is implemented using a dedicated display processor or using another browser's display processor or program, the title line 2000 may be reduced or even omitted. There is also.
[0021]
A control line 2010 is a control line for the tree table display mechanism and represents one embodiment of display control. The control line 2010 is one embodiment of the control line, and another embodiment showing additional controls will be described later in connection with FIG. The control row 2010 provides three types of selections: focus selection 2020, read selection 2030, and size selection 2040. Each selection 2020, 2030, 2040 indicates the current selection by not being underlined, as well as other selectable options. Selection options can also be implemented as drop-down menus or using other means of presenting selections. In addition, the current selection can be indicated by various methods, including gray scale, color, and reverse display, shading, outline display, and the like. Show a subset of the selection options shown and / or group and / or rename the options into many different option groups and / or modify them to similar but not identical selections It is also possible.
[0022]
The focus selection 2020 is headed by the keyword “focus” and provides an option as to how selecting a cell in the table is interpreted in terms of indicating focus. The selection of “tree” means that selecting a cell has the focus on the subtree headed by that cell (ie, the portion of the tree table representing the subtree headed by the node represented by that cell). Show you coming. The selection of “col” indicates that selecting a cell brings focus to the leftmost column covered by that cell. The read selection 2030 is headed with the keyword “read” and selects whether to generate an auxiliary content display for the selection (select by “yes” or “no”). Show. The size selection 2040 is accompanied by the keyword “size” and selects two types of controls: the control of the space occupied by the tree table as a whole, and the selection of the focus relative to the cell. Combine controls on how they affect the approach. The first two choices given in this example of focus selection 2040, “focus” and “focus +”, are full-sized tree tables with priority (focus). Or, if there is a focus area, it shows a tree table (focus + (focus +)) with higher priority given to the cells in it. These options are used for in-situ exploration of parts of the tree. The remaining three options, “stdd”, “small”, and “mini” all indicate that the focus cell is not given priority, and each , Indicates whether the overall size of the table is full, is omitted to some extent, or is largely omitted. Also, the selection of “stdd (standard)” allows text to be included as far as the cell size allows, while the selection of “small” and “mini” includes text. Explicitly prohibited. These three options, where the focus cell is not given priority, are: (a) to restore the landscape while expanding and after expanding parts of the tree; Used to give and (c) create a small representation in a restricted screen area to serve as a context for auxiliary display. At the end of this example, the control row 2010 includes a column header 2050, which when used, selects the entire column C1-C8 as the focus area.
[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 cells 2060, 2065, 2070, 2075, 2080, 2090, and 2095. Each cell in the table represents a node of the underlying tree, with each cell extending over the cell representing its immediate descendant in the tree. The root of the tree, in this embodiment, the first message of the email thread, is represented by cell 2060, which occupies the entire first row R1 of the tree table, and all columns C1-C8. It extends over. The material contained within cell 2060 includes a label 2061 (message number in this embodiment) that can be used to select that cell as a focus and a node of the associated tree when selected. , Another label 2062 (in this embodiment, the author's name) is displayed. In this embodiment, the text of the associated tree node is the entire message. Cell 2060 also has a body 2063, which in this embodiment consists of at least part of the text of the message. It should be noted that in this embodiment the body 2063 consists of text because the invention is applied to text information, but in another embodiment the body is text, drawing, graphics. MPEG, MP3 files, or any format that can be used to store textual, graphic, audio or visual information. Every cell in the tree table typically contains at least one selectable element, such as label 2061 or label 2062, which may consist of only a single character if space is very constrained . Including full labels and other information depends on the available space in the cell and other controls. For example, cell 2105 includes two labels 2106, 2107, but does not include any body.
[0025]
Cells 2065, 2070, and 2075 constitute the second row R2 of the tree table and represent the children of the node represented by cell 2060. In this embodiment, these are the responses to the first message. The width of a cell assigned to an individual cell depends on the number of columns it extends and the width of each column. In the tree table 2055 of FIG. 1, all the columns C1 to C8 have the same width. Thus, the amount of space allocated to a given cell is directly proportional to the number of columns it extends. (On the other hand, the number of columns is equal to the number of leaf nodes of the node represented by that cell, ie, the number of descendants.) Thus, the cell 2065 extending to the four columns C1 to C4 is divided into More space is provided for text than cells 2070 that extend, or items 2075 that extend to one column C8 that is a leaf and contains no text. In the third row R3, cell 2080 represents a single child of the node represented by cell 2065, and cells 2090 and 2095 represent the children of the node represented by cell 2070. Each column in the table, for example column C8 from which cells 2060 and 2075 extend, represents a single root to leaf path of this tree.
[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 cell 2070 is given superiority. The focus selection 2020 indicates that the focus for interpreting the cell selection as the sub-tree selection is set. Read selection 2030 is set to “No”. The size selection 2040 shows that the size is set to “focus”, which uses the full size display and gives priority to the focus column, but is built in The amount of text is limited. This limits the height of the cell. All selections are indicated by the lack of underlining, but can be indicated according to various methods as described above. This combination considers cell 2070 and all cells 2090, 2095, 2110, 2115, 2135, 2140, 2150, and 2155 to be within the focus area, and in the column that cell 2070 extends, ie, in column header 2050 Extra width is provided for the columns represented by C5, C6, and C7 in comparison with other columns, eg, columns C1-C4. In addition, cells in the focus area can be highlighted to distinguish them from cells outside the focus area, such as cells 2060, 2065, 2080, and 2100, in which case the selected cell Different emphasis can be used between 2070 and the remaining cells 2090, 2095, 2110, 2115, 2135, 2140, 2150, and 2155. The highlighting can be indicated according to various methods, and the selected cells are visually distinguished by, for example, color, gray scale, reverse display, shading, outline display, and the like. The cell label and cell body are placed within the cell within the limits of the cell width and height. That is, cell 2060 displays complete cell labels 2061 and 2062 and a portion of the message text as body 2063 as before. However, the unhighlighted cell 2065 only displays a piece of information, in this case only a single cell label 2066, and the cell 2075 only displays a single selectable character for the cell label 2076. Will be displayed.
[0027]
FIG. 3 also shows the tree table of FIG. 1, but in this case with column focus instead of subtree. The size selection 2040 is set to use a full size display with a focus column that is given the same priority as described above by selecting “focus” (indicated by no underline). ing. Control row 2010 indicates the selection of column C7 by displaying “7” in column selection 2050 in a larger box than “1-6” or “8”. However, selection can be indicated according to various methods, including, for example, color, gray scale, shading, contour display, or reverse display. This combination allows extra space in comparison to other cells for all cells that contain the identified column, in this case cells 2060, 2070, 2095, 2115, and 2140 that contain column 7. Will give. These cells represent a single path from the root of the tree represented by cell 2060 to the leaf represented by cell 2140. The column selection C7 and the cell of the selected column C7 in the control row 2010 are both highlighted, and other cells 2065, 2075, 2100, 2110, 2125, 2135, 2080, 2090, 2105, 2120, 2130, etc. are displayed. It is obscured and the focus is emphasized. Alternatively, a similar effect can be obtained by setting the focus selection 2020 to “col (column)” and selecting an arbitrary cell in the column C7. In the case of a tree table that is longer than the display window, this alternative method also provides scrolling of the display if necessary so that the cell below the selected cell appears.
[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 size selection 2040 shows that “focus + (focus +)” is set (indicated by the absence of an underline), which uses the full size display and gives the focus column the highest priority. Rights are granted. The control row 2010 indicates the selection of the column C7 as in the case shown in FIG. This combination of size selection 2040 and column selection gives more space for all cells that contain the identified column, in this case cells 2060, 2070, 2095, 2115, and 2140. As such, they can be highlighted as described with respect to FIG. In particular, cells 2060, 2070, 2095, 2115, and 2140 are given a higher height to allow for the inclusion of more text. Also, the read selection 2030 is set to “yes” and the auxiliary display of FIG. 5 is enabled. In this case as well, as in FIGS. 2 and 3, the cell label and cell body are contained within the cell as long as the cell width and height restrictions allow.
[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 auxiliary display 2490 shown in FIG. 5 first sets the read selection 2030 of the tree table 2055 to “yes” and then selects the desired column, ie this example In this case, it is obtained by selecting the column C7. Since the selection of a column in the tree table gives preferential space and / or highlighting to the cells in that column, the tree table serves as a guide to which of the column contents can be a significantly longer view. To do. Column header 2400 shows a selected column number equal to that found in tree table display 2055. Element header 2410 contains labeling information for the first cell in the selected column, ie, the cell corresponding to cell 2060 shown in FIG. 4, and possibly additional cell information. For example, when reviewing an email thread, the date can be included. Body 2420 contains text associated with the node of the tree represented by cell 2060. The element header 2430 contains labeling information for the next cell in the column, ie, the cell 2070 shown in FIG. Body 2440 consists of text associated with the node of the tree represented by cell 2070. The same applies to the rest of column C7. In this example, the elements in the column represent an email conversation message in an asynchronous conversation. Reduce message text embedded in the readout view to their basic content, remove headers and tailors, abbreviate citations, or make citations fully redundant with text associated with previous elements If so, they may be removed completely, so that the entire sequence of messages can be read very efficiently. Other, more column-specific column read view implementations can be used. For example, in a variant implementation of an e-mail application, text associated with a node represented by a column can be summarized according to a column specific method. However, even if the text is summarized, it appears that considerable space is required to display the content. Thus, a scroll bar 2495 is included, allowing the user to see the desired portion within the limited display area.
[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 focus selection 2020 is set to “tree”, the read selection 2030 is set to “yes”, and the root Cell 2060 is selected. Selection of the root cell 2060 displays the auxiliary display 2690 shown in FIG. 7 in connection with the read selection 2030 being set to “yes”. As shown in FIG. 6, the auxiliary display 2690 starts with a header 2600 indicating what is displayed and the label information of the selected cell, that is, the label information of the cell 2060. In this example, since the tree table represents an email thread message, this header specifically refers to the parent “message” and its “response”. This is followed by an element header 2610 and a body 2615, each containing label information about the selected cell 2060 and text associated with the node of the tree represented by the cell 2060. This is followed by a header 2620 indicating the start of information associated with the children of the node of the tree represented by cell 2060, followed by headers 2630, 2640 and texts 2635, 2645 associated with other children. In this example, the direct children are cells 2065, 2070, and 2075 shown in FIG. As indicated by the scroll bar 2650, the complete content can be viewed by scrolling the display.
[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 focus selection 2020 is set to “tree (tree)”, and the root cell 2060 is selected. However, the size selection 2040 is set to “small”. This limits the total size of the display area allocated to the table and becomes a cell in the focus area, ie all cells in the tree table in this example, but prohibits them from being expanded. In this format, the cell shows a selectable level associated with the cell, while no body is displayed. However, the selected cell 2060 as well as all cells in the focus area are highlighted as before, so that the reduced size tree table can serve as a convenient guide to the auxiliary display. FIG. 9 also represents the same tree, but the size selection 2040 is set to “mini”. This further limits the allocated display space, uses smaller fonts for cell labels and / or results in truncation of cell labels, and a scroll bar 2195 is introduced for scrolling through the tree.
[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 root cell 2925 in row R1, two child cells in row R2, and descendants extending to columns C1-C7 or columns C1-C6 in rows R3-R7. Accordingly, the control row 2910 includes not only the features of the control row 2010 of the tree table in FIG. 1, namely the focus selection 2020, the read selection 2030, and the size selection 2040, but also a second set of controls, namely the extracted title 2960, A tree selection 2920 and a column selection 2950 are included to allow extraction of subparts of the tree table. The extraction controls provided in this example are: (a) a cell that represents a particular subtree (with or without a cell that represents the root ancestor of that subtree), or (b) a predefined set of column ranges Allows extraction of either one of In another embodiment, additional types of extraction are possible, such as selection of columns within a column range explicitly specified by the user.
[0035]
The extraction title 2960 sets a category with the tree selection 2920 and the column selection 2950 as extraction controls. Tree selection 2920 allows selection between two types of subtree extraction. The selection of “top” enables the extraction of a tree table consisting of all the columns associated with a particular subtree, but its start is the first row R1 of the original tree table (ie, the subtree Including cells in the row above the portion of the tree table that represents. Selecting “focus” extracts a tree table consisting of a cell representing the root of the subtree and all cells below it. Column selection 2950 allows selection between several pre-specified column ranges, in this example the columns 1-12 and “(13” whose ranges are identified by “(1...)”. ..) ”Will be the columns 13-23. In FIG. 10, if “focus” is selected as the tree selection 2920 and then the cell 2930 is selected, the portion of the tree table representing the subtree rooted at the node represented by the cell 2930 is shown in FIG. 11 is extracted. In FIG. 10, when the column selection “(13...)” Is selected, the result is extraction of a portion of the tree table composed of columns 13 to 23 as shown in FIG. A column header 2970 in the control row 2910 is located at the beginning of the 23 columns of the tree table 2955 and allows selection of a particular column.
[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 cell 2930 shown in FIG. Since FIG. 11 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 control line 2910 includes a focus selection 2020, a read selection 2030, a size selection 2040, and an extracted title 2960 together with a tree selection 2920. However, there is no column selection 2950, which means that more subtrees can be extracted, but no more column ranges can be extracted. Column header 2970 includes only the headers for columns C1-C10 of the original tree table 2955 shown in FIG. 10, which are extended by cells representing nodes of the selected subtree in only those columns. Because it is. Line annotation 3010 is used to indicate which lines in the original tree table are omitted, in this example it is only line R1 and lines R2-R11 are displayed. The extracted tree table 3055 consists of the cell 2930 shown in FIG. 10 and all the cells below it in the drawing.
[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 control line 2910 includes a focus selection 2020, a read selection 2030, a size selection 2040, and an extracted title 2960 together with a tree selection 2920. However, there is no column selection 2950, which means that more subtrees can be extracted, but no more column ranges can be extracted. Column header 2970 includes only headers for columns C12-C23 of the original tree table 2955 shown in FIG. The extracted tree table 3155 includes all the cells shown in columns C12 to C23 in FIG. Some cells shown in column 12, more specifically cells 2925, 2931, 2932, 2933, are left in the base tree table 2955 beyond the column range in which they are selected. The indicator 2934 (in this example, a bold disk) indicating that it extends is provided with a label in front.
[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 guide frame 3200 and a readout frame 3270. The guide frame 3200 includes a mode control line 3260 consisting of a display mode 3210 and a change selection 3215. Display mode 3210 shows the current mode for determining what is displayed in readout frame 3270 when a column label or cell in split tree table 3230 is selected. Since this is a divided tree table 3230, there are two column selections 2050, one for each portion of the divided tree table 3230, in total. In this example, the display mode is “text (text)”, but it can be any of “text (text)”, “abbr (contract)”, or “msg (message)”. In "text" or "abbr" mode, when a column or cell in the split tree table 3230 is selected, it is represented by the cell in the leftmost column that the cell extends from. The body associated with the node, i.e. text or other information already disclosed herein, is concatenated and displayed in the readout frame 3270. In the “text (text)” mode, the body information is not reduced. However, in the “abbr” mode, the same information can be obtained in a contracted form. In “msg” mode, only the body associated with the node represented by the selected cell is displayed. Variations may include only a single mode, a subset of these display modes, or alternative modes, and, of course, other representations may be used for the modes. For example, if the body information includes graphic, audio, or other types of information, alternative commands suitable for these types of information may be appropriate. Alternatively, if desired, the text information can be provided using a summary format or a format that highlights keywords. A change selection 3215 allows the current display mode to be changed. The given options are modes that can be used instead of the current display mode. In the case of this example, “abbr (contract)” and “msg (message)”.
[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 subtables 3240 and 3250. However, the maximum number of columns in the sub-table may vary depending on the available display space, the font size used for the label, the display resolution, and other factors. Thus, the tree table 3230 may be shown as a single tree table or as a partitioned tree table with any suitable number of sub-tables. Since the divided tree table 3230 represents the same tree as the tree represented by the tree table 2055 shown in FIG. 1, column headers and cells of the tree table 3230 are stored in the tree table 2055 of FIG. Are labeled according to the same method as the column headers and cells shown in It is also possible for a cell to extend from one subtable to a column in another subtable. If this occurs, the cell is shown in all sub-tables that contain the column that the cell extends from. In this example, cell 2060 extends across columns C1-C4 of sub-table 3240 and extends over columns C5-C8 of sub-table 3250 and appears in both sub-tables. When dividing a cell according to this method, continuation marks such as right arrow 3241 and left arrow 3251 can be used in the cell to indicate the direction of continuation.
[0040]
The column label 2050 or the cell in the sub-table of the divided tree table 3230 can indicate the information shown in the read frame 3270 regardless of which is selected. In any case, if the display mode 3210 is “text” or “abbr”, the material shown in the readout frame 3280 is associated with the column. If a cell in a subtable is selected, the associated column is the leftmost column that contains that cell in that subtable. In the example of FIG. 13, cell 2060 of sub-table 3240 has been selected, and the selection can be indicated by highlighting according to any of the methods described above. The related column is the leftmost column including the cell 2060 in the sub-table 3240. In this example, the column is the column C1, which can also be indicated by the highlighting as described above. The cells of guide frame 3200 that are not in the selected column may be obscured for purposes of comparison.
[0041]
Read frame 3270 is used to display body information associated with the selection currently being made in guide frame 3200. The read frame header 3275 indicates the column number of the displayed column, and in this example, it is “Column (column) 1” indicating the column C1. The currently enabled display mode is “text (text)” in this example, which is also shown in the read frame header 3275. The read frame header 3275 is followed by a series of elements such as elements 3280, 3285, and 3290. Element header 3281 includes labeling information for element 3280, ie, the first cell in the displayed column, here the labeling information for cell 2060. Other information may be included, such as date and time. View control 3282 accepts another temporary replacement request for guide frame 3200 with other information related to the node of the tree associated with that element. In this example, the view control 3282 requests that the material associated with the child of the node associated with the element 3280 be temporarily replaced in the left frame with the guide frame 3200 (“resps (Response) ") only is allowed. An example of this type of replacement is shown in FIG. In an alternative embodiment, the “resps” request may cause the child of the node associated with element 3280 to be displayed in a separate window. Other view controls, such as view control 3287 and view control 3292, may accept other requests appropriate to the type of node represented by the respective element. For example, the view control 3287 may request that the material associated with the parent of the node associated with the element 3285 be displayed in the left frame (“pred (attribute)”) or scroll the read frame to the beginning (“ top (top) "). View control 3292 includes all “resps” options shown in view control 3282 and “pred” and “top” options shown in view control 3287. Other view controls may be added if appropriate. For example, if a view control that provides scrolling to the next element is desired, it can be added. Other controls could include switching between summarized content for body 3283 and full content that has not been reduced.
[0042]
An element body 3283 follows the element header 3281 and contains information associated with the node of the tree represented by the element, such as text or graphics. In this embodiment, this material consists of the content of the message associated with the node of the tree. Since the element 3280 corresponds to the selected cell 2060, the element body 3283 may be highlighted according to any of the methods described above. Element 3280 is followed by element 3285. The element header 3286, like the element header 3281, includes labeling information and view controls 3287 for the associated cell, ie cell 2065 in this example. Body 3288 also contains information associated with a node of this tree, cell 2065. A scroll bar 3295 is also provided to allow the user to scroll through the contents of the readout frame 3270.
[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 cell 2070 in the subtable 3250, and extends to the columns C5 to C7 in the row R2. Cell 2070 can be highlighted as described above to indicate selection, and other cells in the leftmost column C5 can be highlighted according to other methods. The remaining cells in the divided tree table may be obscured. Read frame 3370 is similar in structure to read frame 3270 of FIG. 13 but includes material associated with column C5 of partitioned tree table 3230. Also, since cell 2070 is the selected cell in that column, the readout frame has been scrolled from the beginning to element 3380 containing the material associated with the node represented by cell 2070. Body element 3383 can be highlighted to match the highlighting of cell 2070.
[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 auxiliary frame 3400 and a right readout frame 3270. The read frame on the right side shown in FIG. 15 is the same as the read frame 3270 of FIG. 13, and therefore the same reference numerals are used for the same features. In this example, the additional material being examined consists of text associated with the children of the node where the text is displayed in the readout frame. In FIG. 15, it is assumed that the user has just selected view control 3282, which is the child of the node represented by element 3280 of readout frame 3270 (and cell 2060 of guide frame 3200 of FIG. 13), It is required to display in the left frame, that is, the frame that temporarily replaces the guide frame 3200 of FIG. Thereby, the auxiliary frame 3400 appears in the left frame. The auxiliary frame 3400 includes a header 3420 that indicates (a) the label of the cell (and read frame element) in which the child is displayed, ie, in this case cell 2060 and read frame element 3280; Indicates the format of the display (“abbrev”) and (c) provides control (“back to tree”) on the request to return the guide frame 3200. Since this example considers e-mail applications, the header 3420 may refer to a “response” or “child”. The header 3420 is followed by child elements such as child elements 3430, 3440, and 3450 that contain information associated with the children of the node associated with the cell 2060. Child header 3431 includes a cell representing the first child of the node associated with element 3280 of the read frame, specifically label information for cell 2065 in FIG. 13, and shift control (“incol 1”), It may contain other information. The shift control selection redisplays the guide frame 3200 in the left frame, but the selection is changed to cell 2065 and column C1. Child headers may contain additional information such as dates, and shift controls may differ in spelling and semantics. A child body 3432 follows the child header 3431 and contains the text associated with the cell in which the label appears in the child element header 3431, in this case the node represented by cell 2065. It should be noted that text can also be provided in a condensed or contracted form, with controls for switching between summarized or contracted text and complete text. It can also be provided.
[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 decision box 10, a check is made as to whether there has been a request for a tree table and / or an auxiliary read view. If so, the control routine proceeds to decision box 20 where a check is made as to whether a full tree table display request has been made. If there is such a request, the process proceeds to box 30 to construct a tree table display, which is described in detail in FIG. After configuring the tree table display, the control routine proceeds to decision box 40, where a check is made as to whether a read view has been requested. If the display of the full tree table is not requested, the control routine skips the steps that make up the tree table and proceeds directly to decision box 40 to check whether there has been a request for an auxiliary read view. Is called. If there is a request, the process proceeds to box 50 to configure a read view, and then proceeds to end box 70. The read view builder process is described in detail in FIG. If no read view is requested, go directly to the end box 70. However, if the control routine determines in decision box 10 that display of a full tree table is not required and display of a dual-frame tree table is desired, control proceeds to box 60 and dual- Configure the frame tree table view and then go to the end box 70. The dual-frame builder process is described in detail in FIG.
[0054]
FIG. 17 describes the overall tree table builder process. The control routine enters box 100 with the current set of input trees and display controls, if any, and moves to decision box 110. In decision box 110, the control routine checks whether this is the first request for a tree table display of the associated tree. If this is the first request, some pre-processing starting from box 120 is performed. In box 120, an initial set of values is associated with the control. Thereafter, in box 130, the input tree is expanded with the span value of each node to prepare for further processing. The span value corresponding to a leaf node is 1, and the span value for the other nodes is the number of leaves that are the final descendants of that node. These span values are found by a simple depth-first process. For each node n, after all its children have been processed, its span value is set to the sum of the span values of those children. After setting the span value, the control routine proceeds to box 140 where it generates an outline layout for the tree table. The outline layout generation process will be discussed in more detail in connection with FIG. A summary list of items in each column, including the outline layout, is stored in the storage device 90 for subsequent use. The storage device 90 can be any medium that allows access to stored information after the process of generating information is complete. Care should be taken here, but the outline layout and summary list of items in each column are saved to avoid regenerating the information each time it is needed. Clearly, instead of retrieving from device 90, an outline layout and a summary list of items in each column can be generated each time information is used. The same is true for other parts of the process where data or information is retrieved from the storage device or memory. An outline layout is a skeleton of a tree table, where each tree node is associated with a cell in a particular row with a specific start column and end column, and of the cells associated with the tree node The space between them is filled with gap cells. A gap cell is a cell without any content. Gap cells are displayed in a way that preserves the table geometry and ultimately renders them indistinguishable from the background. An outline layout can be represented by a simple list consisting of a list of cells in which the element represents a row. After saving the outline layout and summary information, the control routine proceeds to box 160 to configure the control line.
[0055]
However, if the check in decision box 110 determines that this is not the first request for a tree table for the specified tree, before proceeding to box 160, the control routine proceeds to box 150; At that time, the stored outline layout is read from the storage device 90. In box 160, a display header element is generated indicating the current as well as other possible control options, as shown in FIG. 1 or FIG. The control routine then proceeds to box 170 where the outline layout is further converted to a display layout, that is, a layout specification suitable for a particular display processor (eg, browser if a browser is used). The cells are given specific dimensions and color or other type of background fill and are filled with specific information and links. Details of the conversion from the outline layout to the display layout will be described later in connection with FIG. Finally, the control routine proceeds to box 180 and returns the resulting display layout to the source of the process.
[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 tree 350 representing the input tree, which is root node N1, internal nodes N11, N12, and N13, and leaf Nodes N111, N112, and N131 are included. Outline layout 360 represents the outline layout being constructed, cells C1, C11, C12, C13, C111, and C112, three rows R1, R2, and R3, and columns CL1, CL2, CL3, and With CL4.
[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 outline layout 360, row R2 includes cells C11, C12, and C13, and row R3 is being configured based on row R2. Cells C111 and C112 are assigned to represent the children of node N11, and they are arranged directly below cell C11. The next real cell to be assigned is the cell C131 representing the node N131, which must start immediately below the cell C13. However, before this is done, a gap cell G is needed to bridge the gap between cells C112 and C131. After the gap cell G is arranged, the cell C131 can be allocated.
[0058]
The control routine specified in FIG. 18 implements this approach. This begins in box 200 where the first row of the table is assigned a single cell corresponding to the root of the tree. This cell starts at column 1 of the table and extends over n columns, where n is the span value of the route. The first row is set as the initial value of the “base row” variable br. Control then proceeds to decision box 210, the first step in the loop that constitutes a single row for each iteration. In decision box 210, the control routine checks to see if there are more lines that need to be configured, and if not, exits on box 215 and returns control to its caller. If there are more rows that need to be configured, the control routine proceeds to box 220 where the control routine sets the “base row cell” variable brc to the first cell in the row indicated by the variable br. Set, initialize the process for the next row by setting the value of the new row variable r to br + 1, and setting the current column to 1, then proceed to box 230.
[0059]
In decision box 230, a check is made as to whether the node represented by the current base row cell brc has children. If there are no children, proceed to decision box 240. In box 240, the control routine checks whether there are cells remaining in the base row referenced by the variable br. If so, proceed to box 250 where the variable brc is updated to a new cell in the row referenced by variable br and return to box 230. If not, the base row variable br is updated to refer to the current row (the row just constructed) and the control routine returns to box 210 to construct the next row.
[0060]
However, if the check in decision box 230 determines that the node corresponding to the current base row cell brc has children, the control routine proceeds to decision box 270 to represent the children in the new row. Add In box 270, a check is made as to whether the current column position variable rcol is equal to the column position of brc, so that a new cell assigned to position rcol will be aligned under the parent. If so, go to box 290. If not, go to box 280 and add a “gap” cell to the current row, passing between the current column position in the row and the start column of the cell referenced by the variable brc, then rcol After updating the value, go to box 290. In box 290, if the current child node variable “cnode” is set to the first child of the node represented by cell brc, then a loop consisting of boxes 300-320 is started, and the child of that kind is Add a corresponding cell to each, giving each one an outline width equal to the span of the node in the associated tree, until it is determined by the test in box 310 that all children of the node represented by cell brc are gone After continuing, control returns to box 240.
[0061]
FIG. 20 covers the general process from box 170 of FIG. 17 for converting the outline tree table layout to the actual display specification and taking into account the case where variations are given to the focus. Box 400 represents the input to the process, including outline layout, optional extraction specification (indicates whether this tree table should be extracted from a larger layout), optional focus (columns and possibly Line), target display width, and size control (see FIG. 1).
[0062]
Given this input, the control routine first checks in decision box 410 as to whether the input includes an extraction specification. If so, proceed to box 420 to form a temporary outline layout for the process by extracting the requested columns therein, and then proceed to box 430. However, if it is determined in the check in box 410 that no extraction is necessary, the process proceeds directly to box 430. In box 430, as will be described in more detail below in connection with FIG. 21, if there is a focused column range, ie, a set of consecutive columns that are in focus, it is identified. Next, in box 440, as described in more detail below in connection with FIG. 22, the column range is used in conjunction with the display width and size control, and the specific width expressed in display units for each column. Assign. Finally, in box 450, as will be described in more detail below in connection with FIG. 24, an actual display layout specification is generated that embodies the cell width implied by the column width and specifies content for each cell. The content for each cell is based on information associated with the node of the tree being represented, focus information, and space available in the cell.
[0063]
FIG. 21 details the process of box 430 of FIG. 20, in which it is identified if there is a focus column range. In decision box 500, the control routine checks the current focus element. There may be no current focus element, but there may only be a focus column, or there may be both a focus column and a focus row. If there is no focus element, the control routine proceeds to box 550, sets the focus count to 0, and then proceeds to box 560 to return an empty focus range. If there is only a focus column, the control routine proceeds to box 510. In box 510, the focus range is set to a single focus column and the focus count is set to 1, and in box 560 the control routine returns that focus range. However, if the check in box 500 indicates that both a focus column and a focus row exist, that is, a cell in that focus row starting in that focus column is selected, the control routine proceeds to box 520. Determine how the choice should be interpreted. If it is determined in box 520 to interpret the selection in the sense of focusing on the first column containing the indicated cell, the control routine proceeds to box 510, exactly as if the column were specified. Set the focus count and focus range to. Otherwise, the control routine proceeds to box 530, acquires the cell starting in the focus column in the focus row in the outline layout, and proceeds to box 540. In box 540, the focus range is set to the particular column that the cell extends, after which the control routine proceeds to box 560 and returns the focus range.
[0064]
FIG. 22 details the process of box 440 of FIG. 20, in which specific widths (displays) for focused and non-focused columns based on a given display width, focus range, and size control. (Expressed in units). In the first box 600, the control routine sets the initial size of both the focus and non-focus columns to the minimum value (a size sufficient to hold only a single character plus the border), and in box 610. move on. In decision box 610, the routine checks to see if there is at least one focus column. If no focus column exists, the routine proceeds to decision box 625. If there is at least one focus column, the control routine proceeds to decision box 615 and checks whether the control specifies that focus is considered in the column width assignment (in some cases, for example, If focus is shown only on the display by emphasis, there is no need to do that). If focus is not considered, the control routine continues to decision box 625. If focus is to be considered in the column width assignment, the control routine proceeds to box 620 and will be described in more detail below in connection with FIG. 23, but there is a difference between the focus and non-focus sizes. After setting the column width on the basis of providing, the process proceeds to box 640 and returns to box 450 in FIG. 20 to configure the display layout.
[0065]
Decision box 625 is entered when there is no focus, or when focus is not considered in the column width assignment, where the size control determines the effective display width, ie the display width that is assumed in the column width assignment. A check is made as to whether it is indicated. The effective display width may be reduced, for example, a narrower tree table display may be generated. In that case, the control routine proceeds to box 630 and the effective display width is reduced before proceeding to box 635. However, if the effective display width is not reduced, the control routine proceeds directly to box 635. In box 635, the control routine increases the column width uniformly and returns to box 640 when the effective display width is satisfied and configures the display layout as shown in box 450 of FIG.
[0066]
FIG. 23 details the box 620 of FIG. 22 and describes as much different width assignments as possible for the focus and non-focus columns. The control routine enters decision box 650 where it checks what kind of size enhancement is required for the focus column. If it is determined that it is to maximize the focus column, the control routine proceeds to box 655 where it sets the size of the focus column to a standard length and then proceeds to box 660. There, the expression “result width = (focus / leaf count × focus column size) + (non-focus / leaf count × non-focus column size)” can be used to greatly exceed the usable display width. The size of the focus column is reduced as necessary. The routine then returns in box 680.
[0067]
However, if the control routine determines in decision box 650 that the focus column is prioritized rather than maximized, the control routine proceeds to box 665. In box 665, the focus column size is initially set so that at least the largest cell in the focus area can contain a meaningful amount of text. This step consists of an operation that uses the number of focus columns to divide the width needed to include such text. The control routine then proceeds to box 670 and further to box 675 to further adjust the size of the focus and non-focus columns. In box 670, the width of the focus column is increased until a reasonable amount of text is contained in each focus cell or the display width is reached. At each amplification, the resulting width is checked using the resulting width equation used in box 660 above. Thereafter, in box 675, if possible, the non-focused column is increased until the display width is reached (again, the formula for the resulting width is used). Thereafter, the control routine returns in box 680. As will be noted here, in this particular illustration, two options are considered, specifically whether the focus column is prioritized or maximized. However, other distinctions can be made and different interpretations can be given to the distinctions. For example, user-defined priority can be given for the width of the focus and non-focus columns.
[0068]
FIG. 24 is a detail of box 450 of FIG. 20, showing how the display layout is generated using the assigned column width, content information associated with the nodes of the tree, and some control information. Is described. The functional details of some layout specifications depend on the processor intended for the layout. Here, it is generally assumed that a standard browser accepts an HTML table specification; the procedure may make minor differences in relation to other graphic display processors. Under this assumption, the control routine generates the beginning of the output table specification in box 700 and, if column number identifiers are used, it generates a row of individual cells, each containing a column number. . (These cells are made invisible by specifying their color to be the same as the background.) The rest of the processing described in this drawing is the display for each, across the rows and cells in the outline layout Consists of repeated generation of layout specifications. The control routine obtains the first line of the outline layout in box 710 and then proceeds to box 730 to generate a line start box suitable for the display processor and then proceeds to box 740. In box 740, get the first cell of the current row in the outline layout and go to box 760.
[0069]
In box 760, the control routine determines the actual display width of the current cell by summing the extended widths of the focus and non-focus columns and proceeds to box 770 (detailed in FIG. 25) to display layout specifications for that cell. Generate the actual content of Thereafter, the process proceeds to box 780 (details are shown in FIG. 26). After setting the background of the display cell, the process proceeds to decision box 785. In decision box 785, the control routine checks to see if there are any unprocessed cells remaining in the current outline layout row, and if so, returns to box 750 to get the next cell. To do. If not, proceed to decision box 790 where a check is made to see if all lines in the outline layout have been processed. If all has not been completed, return to box 720 to complete the display specification for the current row and obtain a new row. When all the rows have been processed, the process proceeds to box 795, where the display use for the last row of the table is completed and finished.
[0070]
FIG. 25 details the box 770 of FIG. 24 and describes the generation of display layout content for individual cells. In box 800, the control routine obtains the column span for that cell and proceeds to decision box 810. In decision box 810, the routine checks to see if the cell is a gap cell. If it is a gap cell, the content is set to blank in box 820 and return is made in box 895. If the cell is not a gap cell, the routine proceeds to box 830 to obtain labeling and other descriptive material for the nodes of the tree associated with the layout cell. Depending on the application, there may be both a minimum size label and a full size label, the fusion of the two, and / or an independent description. Further, the description may be derived from information associated with a tree node, or it may comprise information associated with a tree node in an unmodified form. After obtaining this information, the control routine proceeds to decision box 840.
[0071]
In decision box 840 of FIG. 25, the control routine initiates a determination of how much text to place in the cell by comparing the effective cell width with the labeling information. If it becomes clear that the cell is narrower than the minimum size label, proceed to box 890 (implying that the cell will contain only links that require only a single character). If it is determined that the cell is wider than the minimum size label, but at most full label width, then the largest substring of labels that can be accommodated is set as the contents of the cell and box 890 is entered. However, in decision box 840, if the control routine determines that the cell width is greater than the width required for the label, it proceeds to decision box 860 for further checking.
[0072]
In the decision box 860 of FIG. 25, the control routine checks to see if it contains any of the explanatory text or other information associated with the node, specifically (a) the cell. And (b) whether the width of the cell is at least equal to the minimum width needed to provide information in a valid size, and (c) the control A check is made as to whether or not it is indicated that species information is included. As far as control settings are concerned, even though the cell width is sufficient to contain the information, some controls may be prevented from containing it. For example, in the description of the controls shown in FIGS. 1-15, the size options “small” and “mini” exclude information. In this embodiment, the option “focus + (focus +)” excludes information from the non-focus area.
[0073]
If it is determined in decision box 860 that there is no information contained, the control routine proceeds to box 870 where it sets only the label as the contents of the cell and then proceeds to box 890. However, if the control routine determines in decision box 860 that the information is contained, the routine proceeds to box 880 where the portion of information that can be accommodated within the allocated width and depth is stored in the cell. Set as content. This depth may vary depending on focus considerations. For example, in this example, the choice “focus + (focus +)” implies that a deeper focus cell is used, and thus more information can be accommodated.
[0074]
Box 890 is entered after the content to be displayed in the cell is established; it creates a mechanism used to indicate the selection of the cell on the link or other display. The representation of these links is determined by the language used in the display processor configuration and display specifications. For example, in the case of a stateless browser configuration that does not employ a form, the link may include not only the display of the cell's row and first column, but also the state of all other controls. Also, if the control has enabled the creation of an auxiliary readout view in such a configuration, a composite link is set so that when a cell is selected, the readout view's request, including the modified tree table request, is set. There will also be a demand. After all the necessary link information has been set, a return is made in box 895.
[0075]
FIG. 26 shows details of box 780 of FIG. 24, describing a set of cell backgrounds. This is only an example, and other methods can be used. Box 900 shows the input, which includes the current cell, the row and the first column if there is a selected cell, whether the focus is present, and if so the current cell It is composed of whether or not it falls within the area. In the method embodied by this figure, in the absence of focus, all cells except the gap cell are given the same background. When focus is present, cells outside the focus area are given an obfuscated background, and if there is a selected cell, it is given a highlighted background, and other cells within the focus area are given. The cell is given another highlight background. Color or grayscale or other types of backgrounds can be used for highlighting and obscuring, as well as boundary selection with inversion and modifications suitable for the method.
[0076]
In decision box 910, the control routine checks whether the cell is a gap cell, and if so, proceeds to box 960 where it sets the background of the cell to be invisible. This means that the cell appears as part of the surrounding area surrounding the tree table, after which the control routine returns in box 995. If the cell is not a gap cell, the control routine proceeds to decision box 920 where it determines whether this tree table has a focus area. If the tree table does not have a focus area, the routine proceeds to box 970 where it sets the cell background to the base background by color or other means and then returns at box 995. However, if the check in decision box 920 indicates that this tree table has a focus area, the control routine proceeds to decision box 930 where the current cell is included in the focus area. Check whether or not. If the current cell is not within the focus area, the control routine proceeds to box 980, where it uses color or other means to set the cell background to an obfuscated background, Return at box 995. However, if the check in decision box 930 indicates that this cell is included in the focus area, the control routine proceeds to decision box 940 where the current cell is the selected cell or not. Check. If the current cell is the selected cell, the control routine proceeds to box 990 where the cell background is set to the first highlight background by specifying a color or other type of highlight background. Then return at box 995. If the check in decision box 930 indicates that the current cell is not the selected cell, the control routine proceeds to box 950 where it sets the color of this cell to the second emphasis background and then box 995. Return at
[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 box 1100 where it configures the outline layout. The procedure for doing this is described in more detail in FIG. 18 above. The control routine then proceeds to box 1110 where it stores a list of node identifiers for each column of cells in the storage device 90, including outline layout information for subsequent use, and proceeds to box 1120. In box 1120, the control routine partitions the outline layout into vertical slices as needed, and forms a list of display layouts for each slice. Details of this process will be described later in connection with FIG. The routine then proceeds to box 1130 where it stores a list of display layouts for future use in storage device 90. Thereafter, the process proceeds to box 1140, where the first selected column is set to 1, the first selected cell is set to the beginning of the column, and the process proceeds to box 1160.
[0080]
Box 1150 is the entry point used to modify the framed view after the selection is made in the tree table guide. In box 1150, the control routine sets the selected column and the cells in that column based on the input parameters and proceeds to box 1160. In box 1160, a dual frame layout specification is generated. Here, the premise of a standard browser is used to invoke the required processing by constructing a framed view that specifies different procedure sources for individual frames. For the left frame, a tree table is constructed in which designated procedure sources are partitioned vertically. This procedure will be described later in relation to FIG. For the right frame, the procedure source constitutes the read view. This procedure will be described later in connection with FIG. Once the framed view is constructed, it is then passed to the display processor in box 1170.
[0081]
FIG. 28 details the process of box 1120 of FIG. 27, in which a display layout list is generated. Each element of the display layout list represents a vertical slice of the input outline layout. The overall process is: (a) Determining whether the tree table must be split to fit within the available space, (b) If so, how many components are needed And (c) repetition of separating each component from the input outline and converting it to a display layout. Inputs for this procedure are summarized in box 1200, which consists of an outline layout, usable frame width, and minimum display cell width. The control routine begins at box 1210 where it calculates the basic data necessary to determine whether the tree table must be split to fit into the frame. The calculated data consists of the number of minimum width columns (maxCols) that can fit in the horizontal dimension of the frame, and the number of divisions of the tree necessary to accommodate all the columns is determined. The control routine then proceeds to box 1220 to initialize the process by setting the current table (currenttree) to 1 and the current “remaining layout” (remlayout) to all outline layouts. In the processing below this, the table partitions are separated from the remlayout one by one and converted into a display form. This begins at decision box 1230 where a check is made as to whether the next component to be generated is the last. If the current table is not last, the control routine proceeds to box 1240, where a temporary outline layout (tempLayout) is constructed consisting of the next maxCols columns of remlayout, and these columns are also remlayout. And the control routine proceeds to box 1250. In box 1250, the routine converts tempLayout to a display layout and adds the result to the display layout list. The conversion from an outline layout (such as tempLayout) to a display layout has been described in detail above with respect to FIG. When the display layout is added to the display layout list, the routine proceeds to box 1260, increments the current tree number, and then returns to box 1230.
[0082]
However, if the check in decision box 1230 determines that the current component to be generated is the last, the control routine proceeds to box 1270, where the remaining columns, i.e., in the remlayout. The control routine returns in box 1280 after it has been converted to a display layout and the result has been added to the display layout list.
[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 box 1300 and reads stored column information from storage device 90. Stored column information includes a list of column numbers and an item identifier associated with each column. The control routine proceeds to box 1310 where the stored display layout list is read from the storage device 90. Then go to box 1320 to get the first table layout in the list and go to box 1330. In decision box 1330, the control routine checks to see if the current table layout includes the selected column. If so, the routine proceeds to box 1340 and the background specification for those cells in the layout representing the cells in the requested column is displayed in the first highlight background (selected in that column). Set to either (for cells) or the second highlight background (for unselected cells in the column) and go to box 1350. The background is distinguished using color or other means depending on the application as described above.
[0084]
However, if the check in box 1330 indicates that the current table does not contain the requested column, the control routine proceeds directly to box 1350. The control routine proceeds to box 1360 after setting the background for cells not included in the selected column to a non-emphasized background in box 1350. In box 1360, the edited layout is used to start or extend the final layout, after which the control routine proceeds to box 1370. In decision box 1370, the presence of remaining table layouts in the collection is checked. If the layout remains, the control routine moves to box 1380 to acquire a new layout and returns to box 1330 to generate the next layout. If no layout remains, the control routine proceeds to box 1390 and returns the completed layout with partitions.
[0085]
FIG. 30 describes the procedure for generating a read view as part of a dual frame tree table or as an independent window. Box 1400 summarizes the input for this procedure, which is the call source display (select from full tree table or select from dual frame tree table navigation guide) read view type. (A set of columns or successors) and, if present, the source item (cell selection). The control routine begins at box 1410, where stored column summary information is retrieved from storage device 90, which is derived from the outline layout and consists of a list of item identifiers for the cells in each column. The control routine then proceeds to decision box 1420 where a check is made as to whether the type of view to be generated is a column or a set of inheritors.
[0086]
If the view to be generated is the “inheritor” view, the control routine proceeds to box 1430 where it generates an output list consisting of the identifiers of the items that immediately follow the source item in the list of column summary information. , Go to box 1450. In decision box 1450, the control routine checks whether the source item should be included in the output view. This may depend on the call source. For example, if the call source is a full tree table, the source item may be included in the read view, but not if the call source is a framed navigation guide. is there. If the source item is to be included in the view, the control routine proceeds to box 1460 where content representing the source item is added to the view and proceeds to box 1470. The procedure for adding content will be described in detail later in relation to FIG. If not, the control routine proceeds directly to box 1470.
[0087]
However, if the check in decision box 1420 indicates that the view to be generated is a "column" view, the control routine proceeds to box 1440 where it generates an output list consisting of the identifiers of the items for the columns from the column summary list. Then go to box 1470.
[0088]
Boxes 1470 and 1480 represent a loop that generates one component of the read view for each item identifier in the output list. In decision box 1470, the control routine determines whether there are any items remaining in the output list. If so, go to box 1480 where content representing the source item is added using the procedure described below in detail with respect to FIG. However, if the check in box 1470 indicates that no items remain in the output list, the control routine returns a read view in box 1490. It should be noted here that in this procedure, the contents of each item are added as individual units. For some applications, it may be useful to provide summary information in addition to or instead of the view item.
[0089]
FIG. 31 describes the procedure for generating a single read view item. Box 1500 summarizes the inputs to this procedure: call source (full tree table or dual frame guide), view type (column or inheritor), source item if present, configuration ID of the item to be added to the partial read view and view. The control routine begins at box 1510, where reading the item header information from storage box 90 proceeds to box 1520 where it adds header information about the item to be added to the read view. The header information as well as the format of the included links may vary depending on the call source. After adding the header information, the control routine then proceeds to box 1530 where it retrieves the complete contents of the item and then proceeds to box 1540. In box 1540, adjustments are made to the content related to placement in the concatenated readout view (eg, if the quoted message is the one cited above, the quoted message from the email thread's view is Remove), go to box 1550. In box 1550, if the content is a column view source item, the control routine highlights it, adds the content to the read view, and then returns in box 1560.
[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)

情報をノードのセットとして表すことができる階層的情報であって、各ノードが前記情報の部分に関連づけられ、前記ノードが有向エッジによって接続されており、1つのノードが多くとも1つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは、最初のノードおよび最後のノードを有し、かつ前記最後のノードを除く各ノードにその子ノードの1つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスnであるとする、ノードのセットとして表すことができる階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する2次元構造内に表示するための方法において、
(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.
有向エッジによって接続される複数のノードを有するツリー構造化された情報であって、任意のノードは多くとも1つの入エッジを有し、入エッジを伴わないノードがルート・ノードであり、出エッジを伴わないノードがリーフ・ノードであり、パスは、最初のノードおよび最後のノードを有し、前記最初のノードから開始して前記有向エッジに沿って前記エッジの方向に前記最後のノードまで進むことによって得られ、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであり、かつ各ノードは関連づけられた情報を有するものとする、ツリー構造化された情報をディスプレイ上のテーブル内に表示するためのコンピュータ・コントロールされる表示システムにおいて、
(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.
階層的情報を表示するための表示仕様を生成するべくプログラムされたソフトウエアを包含するメモリ・メディアであって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、パスは親ノードから子ノードに進むノードのシーケンスであり、ルート・ノードはパスの最初のノードであり、リーフ・ノードはパスの最後のノードであるとするノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する2次元構造内に、
(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.
階層的情報を表示するためのプロセスを実行するべくプログラムされたコンピュータであって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、パスは親ノードから子ノードに進むノードのシーケンスであり、ルート・ノードはパスの最初のノードであり、リーフ・ノードはパスの最後のノードであるとするノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する2次元構造内に表示するための、
(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.
階層的に関連づけされた情報であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも1つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは、最初のノードおよび最後のノードを有し、かつ前記最後のノードを除く各ノードにその子ノードの1つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであるとする、ノードのセットとして表すことが可能な階層的に関連づけされた情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する2次元構造内に表示するためコンピュータ・コントロールされる表示システムにおいて、
(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.
階層的に関連づけされた情報であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも1つの入エッジを有し、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、パスは、最初のノードにおいて開始し、かつ最後のノードにおいて終了し、その結果、前記最後のノードを除く各ノードにその子ノードの1つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであるとする、ノードのセットとして表すことが可能な階層的に関連づけされた情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する2次元構造内に表示するためコンピュータ・コントロールされる表示システムにおいて、
(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.
階層的に関連づけされた情報であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも1つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは、最初のノードおよび最後のノードを有し、かつ前記最後のノードを除く各ノードにその子ノードの1つが続くノードのシーケンスであり、フル・パスは、ルート・ノードがパスの最初のノードになり、リーフ・ノードがそのパスの最後のノードになるパスであるとする、ノードのセットとして表すことが可能な階層的に関連づけされた情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有するディスプレイ・イメージ内に表示するための方法において、(a)各ノードに関連づけされるセルを含むディスプレイ・イメージであって、前記複数の行の数が最長パス内の前記ノードの数に等しく、前記複数の列の数が前記リーフ・ノードの合計数に等しく、親ノードに関連づけされているセルが親セルとなり、子ノードに関連づけされているセルが子セルとなり、リーフ・ノードに関連づけされているセルがリーフ・セルとなり、かつリーフ・ノードに関連づけされているセルがリーフ・セルとなるディスプレイ・イメージを生成するステップと、
(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.
有向エッジによって接続される複数のノードを有するツリー構造化された情報であって、任意のノードは多くとも1つの入エッジを有し、入エッジを伴わないノードがルート・ノードであり、出エッジを伴わないノードがリーフ・ノードであり、パスは、任意のノードから開始し、各ポイントにおいて有向エッジに沿ってその方向に進み、別のノードに至るノードのシーケンスであり、サブツリーは、任意のノードから開始し、それからのすべての可能性のあるパス上のすべてのノードを含むノードの部分であり、かつ各ノードが、関連づけされた情報を有するものとする、ツリー構造化された情報をディスプレイ上に表示するための表示仕様を生成するための演算システムにおいて、
(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.
階層的情報を表示するための表示仕様であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも1つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは1つのノードから開始し、各ポイントにおいて有向エッジに沿ってその方向の別のノードに進み、パスのエンドに至るノードの一続きであり、フル・パスは、ルート・ノードから開始してリーフ・ノードで終了するパスであるとする、ノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有する2次元構造内に表示するための表示仕様を生成する演算システムにおいて、
(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.
階層的情報を表示するための表示仕様であって、前記情報はノードのセットとして表すことが可能であり、それにおいて各ノードは前記情報の部分に関連づけされ、前記ノードは有向エッジによって接続されており、各ノードは多くとも1つの入エッジを有し、親ノードは入エッジのソースであり、子ノードは出エッジのターゲットであり、ルート・ノードは入エッジを伴わないノードであり、リーフ・ノードは出エッジを伴わないノードであり、パスは1つのノードから開始し、各ポイントにおいて有向エッジに沿ってその方向の別のノードに進み、パスのエンドに至るノードの一続きであり、フル・パスは、ルート・ノードから開始してリーフ・ノードで終了するパスであるとする、ノードのセットとして表すことが可能な階層的情報を、それぞれの行が高さを有する複数の行、およびそれぞれの列が幅を有する複数の列を有するディスプレイ・イメージ内に表示するための表示仕様を生成する演算システムにおいて、
(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.
JP2002254645A 2001-09-10 2002-08-30 Method and apparatus for tabular visualization composition and use of hierarchical material Expired - Fee Related JP4077692B2 (en)

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)

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