(57)【要約】【課題】  ユーザによるナビゲーションと表示領域消費の最適化のために、ユーザインターフェースにデータを表示する。【解決手段】  データは、複数のレベルを持つ階層に従って編成された複数のノードに関連付けられる。各ノードは、それに対応する識別子を有する。本発明は、各ノードの識別子を配列して、１つ又は複数のレベルを、より高いレベルに対する複数の方向の１つで階層の視覚的表現に表示することを含む。本発明は、ユーザ入力に応答して、階層の視覚的表現中のある表示方向に動的にレベルを展開し又はピボットすることを含む。【選択図】  図２
2004259286.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによるナビゲーションのためにユーザインターフェースにデータを提示する方法であって、前記データは複数のノードに関連付けられ、かつ記憶領域に格納され、前記ノードは、複数のレベルを持つ階層に従って編成され、前記ノードのそれぞれは、そのノードに関連付けられた識別子によって識別され、前記方法は、
前記識別子を配列して、１つまたは複数のレベルのノードを前記階層の視覚的表現として表示するステップであって、前記識別子は、あるレベルのノードの１つまたは複数を前記階層中でより高いレベルに対して第１の方向で表示し、且つ少なくとも１つの他のレベルのノードの１つまたは複数を前記階層中でより高いレベルに対して第２の方向で表示するように配列され、前記第１の方向は前記第２の方向と異なるステップと、
前記配列されたノードの識別子を有する前記階層の視覚的表現を前記ユーザに表示するステップと、
を含むことを特徴とする方法。
【請求項２】
前記第１の方向は、前記ユーザインターフェースに対しておおむね水平方向であり、前記第２の方向は前記ユーザインターフェースに対しておおむね垂直方向であることを特徴とする請求項１に記載の方法。
【請求項３】
前記階層の視覚的表現を表示するステップは、前記配列されたノードの識別子を有する前記階層の視覚的表現を、表示のために前記ユーザに伝達するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記識別子を配列するステップは、前記識別子を配列して、携帯情報端末、携帯電話、およびラップトップコンピュータを含む一群から選択されたコンピューティングデバイス上で、１つまたは複数の前記レベルのノードを前記階層の視覚的表現として表示するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記識別子を配列するステップは、前記識別子を配列して１つまたは複数の前記レベルのノードを前記階層の視覚的表現として表示するステップを含み、前記識別子は、あるレベルの前記ノードの１つまたは複数を、前記階層中でより高いレベルに対して実質的に水平の方向に表示し、且つ少なくとも１つの他のレベルの前記ノードの１つまたは複数を、前記階層中でより高いレベルに対して実質的に垂直の方向に表示することを特徴とする請求項１に記載の方法。
【請求項６】
前記階層の視覚的表現を展開するよう又は伏せるよう前記ユーザから与えられた１つまたは複数の要求に応答して、前記階層の視覚的表現をそれぞれ展開し又は伏せるステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
表示方向を変換するよう前記ユーザから与えられた１つ又は複数の要求に応答して、前記階層の視覚的表現中の１つ又は複数のレベルの前記表示方向を変換するピボットステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記識別子を配列するステップは、前記階層の視覚的表現中の１つ又は複数のレベルのノードを表示させるユーザ入力に応答して、前記ユーザ入力に従って前記識別子を動的に配列するステップを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記配列された識別子を、ハイパーテキストマークアップ言語ドキュメントに格納するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記識別子はそれぞれ、第１のアスペクト比を有する長方形で表され、前記第１のアスペクト比は、前記階層の視覚的表現中の表示領域に関連付けられた第２のアスペクト比に対応することを特徴とする請求項１に記載の方法。
【請求項１１】
１つ又は複数のコンピュータ可読媒体が、請求項１に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項１に記載の方法。
【請求項１２】
ユーザによるナビゲーションのためにユーザインターフェースにデータを提示するデータレポーティングシステムであって、前記データは、複数のノードに関連付けられ、且つ記憶領域に格納され、前記ノードは、複数のレベルを有する階層に従って編成され、前記ノードはそれぞれ、そのノードに関連付けられた識別子によって識別され、前記システムは、
前記識別子を配列して、１つ又は複数の前記レベルのノードを前記階層の視覚的表現として表示する手段であって、前記識別子は、あるレベルの前記ノードの１つ又は複数を前記階層中でより高いレベルに対して第１の方向で表示し、且つ少なくとも１つの他のレベルの前記ノードの１つ又は複数を前記階層中でより高いレベルに対して第２の方向で表示し、前記第１の方向は前記第２の方向と異なるようにした手段と、
前記配列された各ノードの識別子を有する前記階層の視覚的表現を前記ユーザに表示する手段と、
を含むことを特徴とするデータレポーティングシステム。
【請求項１３】
前記階層の視覚的表現を展開し又はピボットするようユーザから与えられた起動要求を受け取る手段をさらに備え、前記起動要求は、前記ユーザが前記ユーザインターフェースの選択デバイスを介して選択した前記識別子の少なくとも１つに対応し、前記少なくとも１つの識別子は、特定のレベルのノードに関連付けられ、前記要求はさらに、前記少なくとも１つの識別子に関連付けられた動作方向を含むことを特徴とする請求項１２に記載のデータレポーティングシステム。
【請求項１４】
前記識別子を配列して、特定のレベルに対してより低いレベルの前記ノードを前記階層の視覚的表現として表示する手段をさらに含み、前記識別子は、前記受け取った起動要求に応答して、より低い前記レベルのノードを前記階層中でより高いレベルに対して前記動作方向で表示し、前記階層の視覚的表現を展開するように配列されることを特徴とする請求項１３に記載のデータレポーティングシステム。
【請求項１５】
前記受け取った起動要求に応答して、前記階層の視覚的表現中における特定のレベルの前記ノードを前記階層中でより高いレベルに対して前記動作方向で表示し、前記階層の視覚的表現をピボットするように前記識別子を配列する手段をさらに含むことを特徴とする請求項１３に記載のデータレポーティングシステム。
【請求項１６】
前記階層の視覚的表現を伏せるための起動要求をユーザから受け取る手段であって、前記起動要求は、前記ユーザが前記ユーザインターフェースの選択デバイスを介して選択した前記識別子の少なくとも１つに対応し、前記少なくとも１つの識別子は、特定のレベルのノードに関連付けられる手段と、
前記受け取った起動要求に応答して、前記階層の視覚的表現中における前記特定のレベルを伏せるように前記識別子を配列する手段と、
をさらに含むことを特徴とする請求項１２に記載のデータレポーティングシステム。
【請求項１７】
前記第１の方向は、前記ユーザインターフェースに対しておおむね水平方向であり、前記第２の方向は前記ユーザインターフェースに対しておおむね垂直方向であることを特徴とする請求項１２に記載のデータレポーティングシステム。
【請求項１８】
前記レベルはそれぞれ、前記階層中のより高いレベルに対して実質的に水平の方向又は実質的に垂直の方向に表示されることを特徴とする請求項１２に記載のデータレポーティングシステム。
【請求項１９】
前記識別子を配列する手段は、スクロールすることなく前記ユーザインターフェースの表示領域に収まるように、前記階層の視覚的表現中における前記配列された各ノードの各識別子のサイズを自動的に拡大縮小するソフトウェアコンポーネントを含むことを特徴とする請求項１２に記載のデータレポーティングシステム。
【請求項２０】
前記記憶領域は、オンラインの分析処理データベースを含むことを特徴とする請求項１２に記載のデータレポーティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの表示およびナビゲーションの分野に関する。詳細には、本発明は、表示領域の使用を最適化するのと同時に、ユーザによるナビゲーションのために大きなデータセットを複数方向の階層(multi-directional hierarchy)で表示することに関する。
【背景技術】
【０００２】
データベースに記憶された大量のデータ（例えば１テラバイトあるいはそれを上回るデータ）は、表示し、ナビゲートするのが困難な場合がある。既存のシステムは、複数のレベルに編成(organize)されたノードを有する縦方向又は横方向のツリー構造(tree structure)を表示する。データを表示するための他の知られている構造の１つは組織図(organization chart)である。図１に示すように、例示的な縦方向のツリー構造は、横方向の動きを最少にして各レベルのデータを縦方向(vertical fashion)に展開(expand)する。同様に、横方向のツリー構造では、縦方向の動きを最少として主として横方向(horizontal fashion)に各レベルを展開する。不都合な点としては、縦方向および横方向のツリー構造は、使用されない表示領域(un-used display area)が相当生じるため表示領域を有効に使用することができない。そのため、縦方向および横方向のツリー構造では、一度にデータの比較的少ない部分しか表示領域に表示されない。大量のデータを扱う場合、ユーザは、追加的なデータを見るには表示領域をスクロールしなければならない。組織図では、ツリー構造は一般に表示領域の中央上部で始まり、各レベルのすべてのノードを中心に配置することにより、階層中で次に高いレベルに対して単一の方向に下方および外側へと展開する。この種のツリーでは右上隅および左上隅の表示領域が無駄になり、ユーザが関連データを有効に表示するためにレベルを編成し直す(re-organize)ことができない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そのような既存のシステムでは、階層の各レベルの複数方向への表示(multi-directional display)、レベル表示方向の動的な調整(dynamic adjustment of level display direction)、および任意レベルの複数ノードの展開(expansion)を行うことができない。そのため、こうした既存のシステムは、利用可能な表示領域(available display area)を最適化(optimize)することができず、ユーザに対して表示されるデータ量(amount of data)が限られる。
【０００４】
これらの理由から、上記およびその他の不都合点の１つ又は複数に対処するために、ユーザによるナビゲーションと表示領域の消費の最適化(optimization of consumption of the display area)のために複数方向に展開する階層でデータを表示するシステムが必要とされる。
【課題を解決するための手段】
【０００５】
本発明は、ユーザによるナビゲーションと表示領域の消費又は使用の最適化のために、ユーザインターフェースにデータを表示することを含む。データは、複数のレベルを有する階層に従って編成(organize)された複数のノードに関連付けられ、各ノードは識別子(identifier)を有する。詳細には、コンピュータシステムが、より高いレベルに対する複数の方向の１つ（例えば実質的に水平方向又は実質的に垂直方向）で１つ又は複数のレベルを階層の視覚的表現(visual representation of the hierarchy)として表示するように各ノードの識別子を配列(arrange)する本発明のソフトウェアルーチンを実行する。
【０００６】
複数方向への表示(multi-directional display)は、これらに限定しないが、アプリケーションプログラム（例えばファイルマネジャ）、およびウェブサービス（例えば決定支援システム(decision support system)などの）を含む各種実施形態に実施して、階層データ(hierarchical data)を提示(present)し、表示領域を有効に最大限に使用することができる。本発明は、表示データ(displayed data)の対話型再編成(interactive re-organization)を含む。例えば、本発明のソフトウェアは、各レベルの方向を動的(dynamically)に選択(select)し、修正(modify)する（例えば展開(expand)およびピボット(pivot)）機能をユーザに提供する。
【０００７】
本発明の一態様によれば、ある方法により、ユーザによるナビゲーションのためにユーザインターフェースにデータが提示(present)される。このデータは複数のノードに関連付けられ、記憶領域に格納される。ノードは、複数のレベルを有する階層(hierarchy)に従って編成(organize)される。各ノードは、そのノードに関連付けられた識別子によって識別される。この方法は、識別子を配列して１つ又は複数のレベルのノードを階層の視覚的表現(visual representation of the hierarchy)として表示することを含む。識別子は、あるレベルの１つ又は複数のノードを階層中でより高いレベルに対して第１の方向(first direction)に表示し、少なくとも１つの他のレベルの１つ又は複数のノードを階層中でより高いレベルに対して第２の方向(second direction)で表示するように配列される。第１の方向は第２の方向と異なる。この方法は、配列されたノードの識別子を有する階層の視覚的表現をユーザに表示することも含む。
【０００８】
本発明の別の態様によれば、ディスプレイを含むユーザインターフェースを有し、ユーザインターフェース選択デバイス(user interface selection device)に応答するコンピュータシステム中でデータが表示される。データは、複数のノードに関連付けられ、記憶領域に格納される。ノードは、複数のレベルを有する階層に従って編成される。ノードはさらに、そのノードに対応する識別子によって識別される。この方法は、ノードの識別子を配列して、１つ又は複数のレベルをディスプレイ上の階層の視覚的表現として表示することを含む。表示される各レベルは、より高いレベルに対して複数の方向の１つに配列された識別子によってディスプレイ上に表示される。この方法は、階層の視覚的表現を展開(expand)するための起動要求(activation request)をユーザから受け取ることも含む。この起動要求は、ユーザがユーザインターフェース選択デバイスを介して選択した識別子の少なくとも１つに対応する。少なくとも１つの識別子は、特定レベルのノードに関連付けられている。この要求はさらに、少なくとも１つの識別子に関連付けられた動作方向を含む。この方法は、ディスプレイ上の階層の視覚的表現としてその動作方向で表示するために、特定のレベルよりも低いレベルのノードに関連付けられた識別子を配列することも含む。
【０００９】
本発明のさらに別の態様によれば、コンピュータ可読媒体が、ユーザによるナビゲーションのためにユーザインターフェースにデータを提示するコンピュータ実行可能コンポーネントを有する。データは、複数のノードに関連付けられ、記憶領域に格納される。ノードは、複数のレベルを有する階層に従って編成される。各ノードは、そのノードに関連付けられた識別子によって識別される。このコンポーネントは、識別子を配列して、１つ又は複数のレベルのノードを階層の視覚的表現として表示するユーザインターフェースコンポーネント(user interface component)を含む。表示されるレベルのノードに関連付けられた各識別子は、より高いレベルに対する複数の方向の１つで表示される。
【００１０】
本発明のさらに別の態様によれば、データレポーティングシステムが、ユーザによるナビゲーションのためにユーザインターフェースにデータを提示する。データは、複数のノードに関連付けられ、記憶領域に格納される。ノードは、複数のレベルを有する階層に従って編成される。各ノードは、そのノードに関連付けられた識別子によって識別される。このシステムは、識別子を配列して、１つ又は複数のレベルを階層の視覚的表現として表示する手段を含む。識別子は、あるレベルの１つ又は複数のノードを階層中でより高いレベルに対して第１の方向で表示し、少なくとも１つの他のレベルの１つ又は複数のノードを階層中でより高いレベルに対して第２の方向で表示するように配列される。第１の方向は第２の方向と異なる。このシステムは、配列された各ノードの識別子を有する階層の視覚的表現をユーザに表示する手段も含む。  
あるいは、本発明は各種の他の方法および装置を含むことも可能である。
【００１１】
請求項１に係る本発明は、ユーザによるナビゲーションのためにユーザインターフェースにデータを提示する方法であって、前記データは複数のノードに関連付けられ、かつ記憶領域に格納され、前記ノードは、複数のレベルを持つ階層に従って編成され、前記ノードのそれぞれは、そのノードに関連付けられた識別子によって識別され、前記方法は、前記識別子を配列して、１つまたは複数のレベルのノードを前記階層の視覚的表現として表示するステップであって、前記識別子は、あるレベルのノードの１つまたは複数を前記階層中でより高いレベルに対して第１の方向で表示し、且つ少なくとも１つの他のレベルのノードの１つまたは複数を前記階層中でより高いレベルに対して第２の方向で表示するように配列され、前記第１の方向は前記第２の方向と異なるステップと、前記配列されたノードの識別子を有する前記階層の視覚的表現を前記ユーザに表示するステップと、を含むことを特徴とする方法である。
【００１２】
請求項２に係る本発明は、前記第１の方向は、前記ユーザインターフェースに対しておおむね水平方向であり、前記第２の方向は前記ユーザインターフェースに対しておおむね垂直方向であることを特徴とする請求項１に記載の方法である。
【００１３】
請求項３に係る本発明は、前記階層の視覚的表現を表示するステップは、前記配列されたノードの識別子を有する前記階層の視覚的表現を、表示のために前記ユーザに伝達するステップを含むことを特徴とする請求項１に記載の方法である。
【００１４】
請求項４に係る本発明は、前記識別子を配列するステップは、前記識別子を配列して、携帯情報端末、携帯電話、およびラップトップコンピュータを含む一群から選択されたコンピューティングデバイス上で、１つまたは複数の前記レベルのノードを前記階層の視覚的表現として表示するステップを含むことを特徴とする請求項１に記載の方法である。
【００１５】
請求項５に係る本発明は、前記識別子を配列するステップは、前記識別子を配列して１つまたは複数の前記レベルのノードを前記階層の視覚的表現として表示するステップを含み、前記識別子は、あるレベルの前記ノードの１つまたは複数を、前記階層中でより高いレベルに対して実質的に水平の方向に表示し、且つ少なくとも１つの他のレベルの前記ノードの１つまたは複数を、前記階層中でより高いレベルに対して実質的に垂直の方向に表示することを特徴とする請求項１に記載の方法である。
【００１６】
請求項６に係る本発明は、前記階層の視覚的表現を展開するよう又は伏せるよう前記ユーザから与えられた１つまたは複数の要求に応答して、前記階層の視覚的表現をそれぞれ展開し又は伏せるステップをさらに含むことを特徴とする請求項１に記載の方法である。
【００１７】
請求項７に係る本発明は、表示方向を変換するよう前記ユーザから与えられた１つ又は複数の要求に応答して、前記階層の視覚的表現中の１つ又は複数のレベルの前記表示方向を変換するピボットステップをさらに含むことを特徴とする請求項１に記載の方法である。
【００１８】
請求項８に係る本発明は、前記識別子を配列するステップは、前記階層の視覚的表現中の１つ又は複数のレベルのノードを表示させるユーザ入力に応答して、前記ユーザ入力に従って前記識別子を動的に配列するステップを含むことを特徴とする請求項１に記載の方法である。
【００１９】
請求項９に係る本発明は、前記配列された識別子を、ハイパーテキストマークアップ言語ドキュメントに格納するステップをさらに含むことを特徴とする請求項１に記載の方法である。
【００２０】
請求項１０に係る本発明は、前記識別子はそれぞれ、第１のアスペクト比を有する長方形で表され、前記第１のアスペクト比は、前記階層の視覚的表現中の表示領域に関連付けられた第２のアスペクト比に対応することを特徴とする請求項１に記載の方法である。
【００２１】
請求項１１に係る本発明は、１つ又は複数のコンピュータ可読媒体が、請求項１に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項１に記載の方法である。
【００２２】
請求項１２に係る本発明は、ユーザによるナビゲーションのためにユーザインターフェースにデータを提示するデータレポーティングシステムであって、前記データは、複数のノードに関連付けられ、且つ記憶領域に格納され、前記ノードは、複数のレベルを有する階層に従って編成され、前記ノードはそれぞれ、そのノードに関連付けられた識別子によって識別され、前記システムは、前記識別子を配列して、１つ又は複数の前記レベルのノードを前記階層の視覚的表現として表示する手段であって、前記識別子は、あるレベルの前記ノードの１つ又は複数を前記階層中でより高いレベルに対して第１の方向で表示し、且つ少なくとも１つの他のレベルの前記ノードの１つ又は複数を前記階層中でより高いレベルに対して第２の方向で表示し、前記第１の方向は前記第２の方向と異なるようにした手段と、前記配列された各ノードの識別子を有する前記階層の視覚的表現を前記ユーザに表示する手段と、を含むことを特徴とするデータレポーティングシステムである。
【００２３】
請求項１３に係る本発明は、前記階層の視覚的表現を展開し又はピボットするようユーザから与えられた起動要求を受け取る手段をさらに備え、前記起動要求は、前記ユーザが前記ユーザインターフェースの選択デバイスを介して選択した前記識別子の少なくとも１つに対応し、前記少なくとも１つの識別子は、特定のレベルのノードに関連付けられ、前記要求はさらに、前記少なくとも１つの識別子に関連付けられた動作方向を含むことを特徴とする請求項１２に記載のデータレポーティングシステムである。
【００２４】
請求項１４に係る本発明は、前記識別子を配列して、特定のレベルに対してより低いレベルの前記ノードを前記階層の視覚的表現として表示する手段をさらに含み、前記識別子は、前記受け取った起動要求に応答して、より低い前記レベルのノードを前記階層中でより高いレベルに対して前記動作方向で表示し、前記階層の視覚的表現を展開するように配列されることを特徴とする請求項１３に記載のデータレポーティングシステムである。
【００２５】
請求項１５に係る本発明は、前記受け取った起動要求に応答して、前記階層の視覚的表現中における特定のレベルの前記ノードを前記階層中でより高いレベルに対して前記動作方向で表示し、前記階層の視覚的表現をピボットするように前記識別子を配列する手段をさらに含むことを特徴とする請求項１３に記載のデータレポーティングシステムである。
【００２６】
請求項１６に係る本発明は、前記階層の視覚的表現を伏せるための起動要求をユーザから受け取る手段であって、前記起動要求は、前記ユーザが前記ユーザインターフェースの選択デバイスを介して選択した前記識別子の少なくとも１つに対応し、前記少なくとも１つの識別子は、特定のレベルのノードに関連付けられる手段と、前記受け取った起動要求に応答して、前記階層の視覚的表現中における前記特定のレベルを伏せるように前記識別子を配列する手段と、をさらに含むことを特徴とする請求項１２に記載のデータレポーティングシステムである。
【００２７】
請求項１７に係る本発明は、前記第１の方向は、前記ユーザインターフェースに対しておおむね水平方向であり、前記第２の方向は前記ユーザインターフェースに対しておおむね垂直方向であることを特徴とする請求項１２に記載のデータレポーティングシステムである。
【００２８】
請求項１８に係る本発明は、前記レベルはそれぞれ、前記階層中のより高いレベルに対して実質的に水平の方向又は実質的に垂直の方向に表示されることを特徴とする請求項１２に記載のデータレポーティングシステムである。
【００２９】
請求項１９に係る本発明は、前記識別子を配列する手段は、スクロールすることなく前記ユーザインターフェースの表示領域に収まるように、前記階層の視覚的表現中における前記配列された各ノードの各識別子のサイズを自動的に拡大縮小するソフトウェアコンポーネントを含むことを特徴とする請求項１２に記載のデータレポーティングシステムである。
【００３０】
請求項２０に係る本発明は、前記記憶領域は、オンラインの分析処理データベースを含むことを特徴とする請求項１２に記載のデータレポーティングシステムである。
【００３１】
この他の特徴については、以下で部分的に明らかにし、部分的には指摘する。すべての図面で対応する参照符号は対応する部分を示す。
【発明を実施するための最良の形態】
【００３２】
本発明は、サーバコンピュータ又はクライアントコンピュータで実行されて、クライアントコンピュータのユーザによるナビゲートのためにユーザインターフェースにデータを表示する（図２参照）ソフトウェアを含む。データは、複数のノードに関連付けられ、データベース（例えば非リレーショナルデータベース）などの記憶領域に格納される。ノードは、複数のレベルを持つ階層（例えばツリー構造）に従って編成される。各ノードには識別子（ラベルやアイコンなど）が関連付けられる。本発明によるソフトウェアは、各ノードの識別子を配列して１つ又は複数のレベルを階層の視覚的表現によって表示する。各レベルは、より高い１つのレベルに対して複数の方向の１つに表示される。
【００３３】
本発明は、プラットフォームに依存しない階層的な表示とデータナビゲーションのソフトウェアを提供する。一実施形態では、本発明は、ウェブブラウザが使用するハイパーテキストマークアップ言語（ＨＴＭＬ）コンポーネント（ＨＴＣ）として実装されるコントロールである。本発明による例示的ソフトウェアは、クライアントコンピュータによる使用のために、配列された識別子をＨＴＭＬドキュメントに実施する。本発明のこのソフトウェアルーチンは、階層のレベルとして編成されたノードに対応する記憶領域に格納された任意のデータを用いて動作する。階層の各ノードは、そのノードに対応する識別子（例えばラベル）を有する。
【００３４】
図２を参照すると、例示的なブロック図により、本発明により複数の方向に表示したレベルを有する階層を示している。図２の実施形態では、各レベルの表示は、階層中のより高いレベルに対して交互に垂直の方向と水平の方向になっている。例えば、「１月」、「２月」、「３月」、「４月」、「５月」、「６月」のラベルで識別されるノードは、ラベル「女性」で識別される１つ上のレベルのノードに対して水平方向に表示される。同様に、「ＵＳＡ」、「カナダ」、「ＵＫ」、「インド」のラベルで識別されるノードは、ラベル「４月」で識別される１つ上のレベルのノードに対して垂直方向に表示される。表示領域の左上隅を階層のルートとして、そのルートから階層中で順次低くなる各レベルを表示領域の右下隅に向かって右下へと表示していく。別の実施形態では、ノードは、より高いレベルのノードから表示の方向を継承する。例えば、子ノードが親ノードの表示方向を継承する。
【００３５】
また、本発明は、ユーザが任意のレベルを対話型に(interactively)又は動的に(dynamically)ピボット(pivot)して、別の方向に表示する機能を含む。例えば、図２に示す対話型のピボットポイント(interactive pivot point)２０２は、ユーザが選択して、次に低いレベルのノードを特定の方向に動的に表示させることができる位置(location)を示している。すなわち、このソフトウェアは、ユーザの入力に従って各ノードの識別子を動的に配列して１つ又は複数のレベルを階層の視覚的表現で表示する。当業者であるならば、階層レベルを表示するには他の方向が存在し、本発明の範囲に包含されることに留意されたい。さらに、発明者は、本発明は、クライアントで実行されるアプリケーションプログラム、又はクライアントからブラウザを介してアクセス可能なウェブサービスなど各種形態で実施できることを企図する。
【００３６】
本発明のソフトウェアルーチンは、各種タイプの階層データのナビゲーションに適用することができる。本発明は、データが階層として編成されるか、あるいはその他の形で異なるレベルに分類された記憶領域を用いて動作することができる。また、このソフトウェアルーチンをコンピューティングデバイスによって実行して、ウェブの使用データを分析する、レポートを選択する、あるいはラップトップ、携帯情報端末（ＰＤＡ）、携帯電話などの移動機器でインターネットをブラウズすることができる。本発明のソフトウェアルーチンは、現在のＨＴＣの状態が有効であるかどうかを判定する検証ルーチン(validation routine)を含めることにより、クライアントサイドのエラートラッピング(client side error trapping)を提供する。また、本発明のソフトウェアは、ソフトウェア開発者又は他のユーザがノード、レベル、およびそれに対応する表示方向の初期セットをデフォルトの選択として指定する（例えばソフトウェアの初期化時にアクセスされるファイルに格納する）ことができるため、各種のシナリオに拡張することができる。
【００３７】
一般に、階層の視覚的表現(visual representation of the hierarchy)は、各ノードに関連付けられたデータを含む。例えば、ファイルマネジャアプリケーションプログラムでは、ノードデータはファイル名を含むことができる。他の例では、ノードデータには、これに限定しないが、特定ノードの数値データの、より高いレベルのノードの数値データに対するパーセンテージを表す数値データおよびヒストグラムが含まれる。ヒストグラムは、特定ノードの数値データをルートノードの数値データと比較する点では絶対的な比較を表す。これに代えて、あるいはこれに加えて、ヒストグラムは、特定ノードの数値データを次に高いレベルのノードの数値データと比較する点では相対的な比較を表す。ヒストグラムは、ユーザによって設定することができる。一実施形態では、ノードデータは、拡張可能マークアップ言語ドキュメント又はダイナミックハイパーテキスト言語ドキュメントに格納される。
【００３８】
本発明の一実施形態では、各識別子は、階層の視覚的表現として、表示領域に関連付けられたアスペクト比(aspect ratio)に対応するアスペクト比を持つ長方形(rectangle)で表される。すなわち、各ノードの形状は、表示領域を最大限に使用するように横長に配列された長方形（例えば４：３のアスペクト比）の長辺を持つ長方形となる。ディスプレイの形状は、主として横長の長方形（例えば４：３のアスペクト比）なので、そのようなノード形状により画面の表示領域がさらに節減される。「オートフィット(autofit)」のオプションをユーザが使用可能にすると、スクロールせずに表示領域に収まるようにすべての表示ノードのサイズが自動的に変更（例えば拡大又は縮小）される。これは、数個のノードしかない場合は階層が非常に大きなサイズのノードで表示されることを意味する。階層は、より多くのレベルおよびノードを展開するにつれて次第に小さくなる。
【００３９】
（動作）
次いで図３を参照する。本図では、例示的な流れ図により、ノードを複数方向の階層として配列し、提示又は表示する本発明によるソフトウェアの動作を説明している。まず実行されると、この例示的ソフトウェアは、３０２で、各ノードの識別子を配列して１つ又は複数のレベルを階層の視覚的表現で表示する。各レベルは、より高いレベルに対する複数の方向の１つで表示される。すなわち、識別子は、階層中でより高いレベルに対する第１の方向であるレベルの１つ又は複数のノードを表示するように配列される。また、識別子は、階層中でより高いレベルに対する第２の方向で他のレベルの１つ又は複数のノードを表示するように配列される。第１の方向は、第２の方向と異なる。例えば、各レベルは、より高い１レベルに対して実質的に水平の方向又は実質的に垂直の方向に表示される。一実施形態では、実質的に水平の方向は、水平軸のいずれかの側でおよそ４５度である任意の軸に沿った方向である。同様に、実質的に垂直の方向は、垂直軸のいずれかの側でおよそ４５度である任意の軸に沿った方向である。１つの形態では、各レベルは、より高いレベルの方向とおおむね異なる方向に表示される。例えば、レベルは、「階段」型(“star-step” pattern)に表示することができる（下記参照）。
【００４０】
クライアントコンピュータでソフトウェアを実行する実施形態では、ソフトウェアはさらに、階層の視覚的表現をユーザに対して表示する。ソフトウェアがクライアントコンピュータのレンダリングルーチンへのアクセス権を持たない実施形態（例えばサーバコンピュータでソフトウェアを実行するなど）では、このソフトウェアは、階層の視覚的表現を表示のためにユーザに伝達する。
【００４１】
クライアントコンピュータは、ディスプレイと、ユーザインターフェース選択デバイスを含むことができる。ユーザは、ユーザインターフェース選択デバイスを介して、階層の視覚的表現を展開(expand)する、伏せる（隠す）(collapse)、又はピボット(pivot)する要求を本発明のソフトウェアに送信する。３０４で階層の視覚的表現を展開する、伏せる（隠す）、又はピボットする要求を受け取るのに応答して、本発明のソフトウェアは、３０６で、要求される展開、伏せ（隠し）、又はピボットを実行する。例えば、このソフトウェアは、ユーザから階層の視覚的表現を展開する起動要求を受け取る。起動要求(activation request)は、ユーザがユーザインターフェース選択デバイスで選択した識別子の少なくとも１つを含む。選択された識別子は、特定の１レベルのノードに関連付けられている。起動要求はさらに、選択された識別子に関連付けられた動作方向を含む。受け取った起動要求に応答して、ソフトウェアは、ディスプレイ上の階層の視覚的表現としてその動作方向で表示するために、その特定レベルよりも低い１レベルのノードに関連付けられた識別子を配列する。
【００４２】
再度図２の例を参照すると、表示された階層を展開する起動要求の例は、識別子としてラベル「４月」を含み、動作方向として垂直方向を指定することができる。この起動要求に応答して、ソフトウェアは、階層を展開して、「４月」で識別されるノードに関連付けられたレベルより低いレベルのノードを表示する。それらのノードは、「４月」で識別されるノードに対して垂直の方向に表示される。この例で表示されるノードには「ＵＳＡ」、「カナダ」、「ＵＫ」、「インド」が含まれる。
【００４３】
このソフトウェアは、階層の視覚的表現に表示されたレベルの方向を変換する、あるいはその他の形で変更する起動要求をユーザから受け取ることができる。起動要求は、ユーザインターフェース選択デバイスを介してユーザが選択した識別子の少なくとも１つを含む。選択された識別子は、特定レベルのノードに関連付けられている。起動要求はさらに、選択された識別子に関連付けられた動作方向も含む。受け取った起動要求に応答して、ソフトウェアは、ディスプレイ上の階層の視覚的表現にその動作方向で表示するために、特定のレベルより低いレベルのノードに関連付けられた識別子を配列する。
【００４４】
再度図２の例を参照すると、表示された階層の方向を変換する起動要求の例は、識別子としてラベル「４月」を含み、動作方向として水平方向を指定することができる。この起動要求に応答して、ソフトウェアは、階層の方向を変換して、「４月」で識別されるノードに関連付けられたレベルより低いレベルのノードを表示する。それらのノードは、「４月」で識別されるノードに対して水平の方向に表示される（図示せず）。この例では、水平方向に表示されるノードには「ＵＳＡ」、「カナダ」、「ＵＫ」、および「インド」が含まれる。
【００４５】
対話型のピボット(interactive pivoting)により、ユーザは、重要な情報を表示領域の最も目立つ位置に対話型に配列し、関連性がより低い情報は別の位置に配列することができる（その情報はスクロールによって得ることができる）。例えば、表示領域のより効率的な使用例は、より多くの階層レベルを別の方向ではないある方向に表示する場合に得ることができる。対話型のピボット(interactive pivoting)により、ユーザはそのような判断をし、それに応じて各レベルの展開方向(expansion direction)を変更(alter)することができる。一実施形態では、アルゴリズムにより、各レベルのノードの数と表示領域（例えばウィンドウ）のアスペクト比に基づいて、各レベルの展開方向を自動的にピボット(automatically pivot)して表示領域を最大限に使用する。例えば、ディスプレイのアスペクト比は４：３、１６：９、又は携帯情報端末や携帯電話などのデバイスに関連付けられた特別仕様のアスペクト比である。アルゴリズムは、階層の表示を調整して、特定の表示領域（例えばディスプレイ上のウィンドウ、又はディスプレイ全体）の消費又は使用を最適化する。本発明者は、当業者がそのようなアルゴリズムの基本的な形態を容易に設計できることを企図する。
【００４６】
このソフトウェアは、階層の視覚的表現を伏せる（隠す）ための起動要求(activation request to collapse)を受け取ることができる。そのような起動要求は、ユーザインターフェース選択デバイスを介してユーザが選択した、表示された識別子の少なくとも１つを含む。選択された識別子は、特定のレベルのノードに関連付けられている。受け取った要求に応答して、ソフトウェアは、ディスプレイ上の階層の視覚的表現の特定のレベルを伏せる（隠す）。図２の例を参照すると、表示された階層を伏せる（隠す）ための起動要求の例は、例えば識別子「４月」を含む。この起動要求に応答して、ソフトウェアは、表示された階層から「ＵＳＡ」、「カナダ」、「ＵＫ」、「インド」で識別されるノードを除去することにより、表示された階層を伏せる（隠す）。
【００４７】
他の実施形態では、起動要求は、結果としてソフトウェアが起動要求に従って表示された識別を配列する、各種他の階層の動作又は操作を構成することができる。例えば、起動要求は、これらに限定しないが、利用可能な表示領域に合わせて階層の視覚的表現を拡大縮小する要求、一定数のノードだけを表示し、残りのノードを見るためのスクロールバーを提供させる要求、ノードを追加又は削除する要求、ドリルパス(drill path)を通じてナビゲートする（ユーザからの各起動要求を通じて前および後ろに進むなど）要求、あるレベルのノードを１つのノードに組み合わせる要求、複数のノードを一度に展開する、又は一度に接触する要求、表示された階層の一部分をズームイン又はズームアウトする要求が含まれる。例えば、ユーザは、特定のレベルを元のサイズの２００％までズームアップするか、あるいは特定の大きな階層を元のサイズの１０％までズームアウトすることができる。
【００４８】
仮想的なグループ化(virtual grouping)には、あるレベルの複数のノードを１つのノードに組み合わせることが含まれる。すなわち、ユーザは、あるレベルの既存のノードを組み合わせて独自に作成したグループノードとすることにより仮想グループを作成することができる。例えば、ユーザは、「ワシントン」、「オレゴン」、「カリフォルニア」で識別されるノードを、「東海岸」で識別される新しいグループにグループ化することができる。
【００４９】
１つ又は複数のコンピュータ可読媒体が、図３に示す方法を実行するコンピュータ実行可能命令を有することができる。このコンピュータ実行可能命令は、例えばアプリケーションプログラム又はアプレットとしてコンピュータ可読媒体に格納することができる。
【００５０】
（構成要素(component)）
次いで図４を参照すると、ブロック図により、本発明によるソフトウェアを格納することが可能な例示的なコンピュータ可読媒体４０２を示す。１つの形態では、コンピュータ可読媒体４０２は、本発明を実施するコンピュータ実行可能コンポーネントを有する。このコンピュータ実行可能コンポーネントは、データを表示し、操作するように動作する。コンピュータ可読媒体は、各ノードの識別子を配列して１つ又は複数のレベルを階層の視覚的表現で表示するユーザインターフェースコンポーネント４０４を格納する。各レベルは、より高いレベルに対して複数の方向の１つで表示される。例えば、ユーザインターフェースコンポーネント４０４は、より高いレベルに対して水平の方向又は垂直の方向に１つ又は複数のレベルを表示するように各ノードの識別子を配列する。コンピュータ可読媒体４０２はサービスコンポーネント４０６も含み、このコンポーネントは、ユーザインターフェースコンポーネント４０４によって配列された識別子を有する階層の視覚的表現を展開する、伏せる（隠す）、又はピボットするためのユーザからの１つ又は複数の要求に応答して、階層の視覚的表現をそれぞれ展開する、伏せる（隠す）、又はピボットする。当業者は、図４に示すコンポーネント４０４、４０６は例示的なものに過ぎないことを認識されよう。すなわち、本発明の機能は、ここには明確に記載しない各種他のコンポーネントに実施することができる。発明者は、他のそのようなコンポーネントが本発明の範囲内にあることを企図する。コンピュータ可読媒体４０２に格納されたコンポーネント４０４、４０６は、クライアントコンピュータ４０８又はサーバコンピュータ４１０で排他的又は非排他的に実行することができる。
【００５１】
本発明のソフトウェアをクライアントコンピュータ４０８で実行する実施形態では、データは、クライアントコンピュータ４０８からアクセスできるデータベースなどの記憶領域４１２に記憶される。本発明が特に有用である一例は、比較的大きなインターネットサービスのネットワークの場合にはしばしば１テラバイトをゆうに超えるデータを扱う、ウェブの使用状況すなわち「クリック」データの管理である。本発明のソフトウェアをサーバコンピュータ４１０で実行する実施形態では、記憶領域４１２はサーバコンピュータ４１０からアクセスすることができる。そのような実施形態では、サーバコンピュータ４１０は、ユーザインターフェースコンポーネント４１６およびサービスコンポーネント４１８を格納したコンピュータ可読媒体４１４へのアクセス権を有する。記憶領域４１２は、ネットワークを通じてもクライアントコンピュータ４０８およびサーバコンピュータ４１０からアクセスすることができる。一般には、記憶領域４１２は、図５を参照して述べるように任意のメモリである。
【００５２】
（インプリメンテーション(implementation)）
ブラウザ実施形態(browser embodiment)（例えばウェブサービスの実施形態）では、本発明のソフトウェアは、自己完結型(self-contained)で独立(independent)した適格なオブジェクトモデルを用いてＨＴＣとして実装される。本発明のソフトウェアは、スクリプトファイルとしてダウンロードされる点で軽量である。しかし、本発明のソフトウェアは、インスタンス化後はバイナリコントロールのように動作し、一方でバイナリコントロール（ＡＣＴＩＶＥ  Ｘコントロールなど）に伴うセキュリティ問題は生じない。一実施形態では、本発明のソフトウェアは、ＨＴＭＬコンポーネントベースのオブジェクトモデリングを使用して自己完結型のコントロールを定義することにより、ＪＡＶＡ（登録商標）ＳＣＲＩＰＴで実施することができる。本発明のソフトウェアは、当業者に知られている標準的なダイナミックＨＴＭＬを使用して生成する。この実施形態では、ユーザは、クライアントコンピュータに別個にソフトウェアをインストールする必要がない。
【００５３】
あるいは、本発明は、アプリケーションプログラムとして、又はアプリケーションプログラム中に実施することもできる。例えば、本発明は、ＪＡＶＡ（登録商標）で書かれた１つ又は複数のアプレットを使用して実施することができる。この代替実施形態では、クライアントコンピュータにアプレットをダウンロードし、クライアントコンピュータで実行する。他の実施形態では、本発明は、ＪＡＶＡ（登録商標）ＳＣＲＩＰＴ又は任意のオブジェクト指向のプログラミング言語を用いて実施することができる。
【００５４】
当業者には、図３に示す方法は、本発明の範囲内にある各種のハードウェアコンポーネント、ソフトウェアコンポーネント、又はその両方によって、あるいはそれらと組み合わせて実行される１つ又は複数のコンピュータ可読媒体（例えばコンピュータ可読媒体４０２）上のコンピュータ実行可能命令として実施できることが認識されよう。本発明のソフトウェアは、例えば、ＨＴＭＬコンポーネント、ＪＡＶＡ（登録商標）又はＪＡＶＡ（登録商標）ＳＣＲＩＰＴで書かれたアプレット、又はブラウザ用のプラグインとしてダウンロードすることができる。さらに、ラップトップ機、携帯電話、携帯情報端末などの移動コンピューティングデバイスのブラウザが、本発明のソフトウェアを実行することができる。
【００５５】
一実施形態では、本発明を、生のユーザデータを例えばオンラインの分析処理データベースなどに格納された総合的な(holistic)ユーザプロファイルに変換する顧客インテリジェンスデータマインなどのデータレポーティングシステムとして実施する。そのようなデータレポーティングシステムでは、ユーザは、複数のウェブサービス又はアプリケーションプログラムのユーザについて、およびその特性についてのレポートを生成する。このレポートは、年齢、性別、言語、居住地、クライアントソフトウェアの設定、サイトレベルの使用状況、および寿命の使用状況を含むユーザプロファイルデータを含む。
【００５６】
このデータレポーティングシステムは、識別子を配列して１つ又は複数のレベルのノードを階層の視覚的表現で表示する手段を含む。データレポーティングシステムはさらに、配列された各ノードの識別子を有する階層の視覚的表現をユーザに表示する手段を含む。データレポーティングシステムはさらに、階層の視覚的表現を展開又はピボットさせる起動要求をユーザから受け取る手段を含む。データレポーティングシステムはさらに、識別子を配列して階層の視覚的表現中で特定のレベルとの関係でより低いレベルのノードを表示する手段を含む。受け取った起動要求に応答して階層の視覚的表現を展開するために、階層中のより高いレベルに相対的な動作方向でより低いレベルのノードを表示するように識別子を配列する。データレポーティングシステムはさらに、受け取った起動要求に応答して階層の視覚的表現をピボットするように、階層中のより高いレベルに相対的な動作方向で階層の視覚的表現の特定レベルのノードを表示するように識別子を配列する手段を含む。データレポーティングシステムはさらに、階層の視覚的表現を伏せる（隠す）ための起動要求をユーザから受け取る手段を含む。データレポーティングシステムはさらに、受け取った起動要求に応答して、階層の視覚的表現中の特定レベルを伏せる（隠す）ように識別子を配列する手段を含む。本発明によるソフトウェアおよびそのすべての可能な機能が、これらの例示的手段を構成する。一例では、識別子を配列して１つ又は複数のレベルのノードを階層の視覚的表現で表示する手段は、ソフトウェアコンポーネントを含む。このソフトウェアコンポーネントは、スクロールせずにユーザインターフェースの表示領域に収まるように、配列された各識別子のサイズを自動的に拡大縮小する。さらに、上記の例および本明細書の他の箇所で述べる例がこれらの例示的手段を構成する。
【００５７】
（例示的動作環境）
図５は、コンピュータ１３０の形態の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ１３０などのコンピュータが、図に示し、ここで説明する他の図で使用するのに適している。コンピュータ１３０は、１つ又は複数のプロセッサあるいは処理ユニット１３２、およびシステムメモリ１３４を有する。図の実施形態では、システムバス１３６が、システムメモリ１３４を含む各種のシステム構成要素をプロセッサ１３２に結合する。バス１３６は、各種のバスアーキテクチャの任意のものを使用する、メモリバス又はメモリコントローラ、周辺機器バス、アクセラレーテッドグラフィックポート、およびプロセッサバス又はローカルバスを含む数種のバス構造の１つ又は複数を表す。このアーキテクチャの例には、これらに限定しないが、ＩＳＡ(Industry Standard Architecture)バス、ＭＣＡ(Micro Channel Architecture)バス、ＥＩＳＡ(Enhanced ISA)バス、ＶＥＳＡ(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも称するＰＣＩ(Peripheral Component Interconnect)バスが含まれる。
【００５８】
コンピュータ１３０は通常、少なくとも何らかの形態のコンピュータ可読媒体を有する。コンピュータ可読媒体には、揮発性および不揮発性の媒体、取り外し可能および取り外し不能の媒体が含まれ、コンピュータ１３０によるアクセスが可能な任意の利用可能媒体でよい。コンピュータ可読媒体の例としては、これらに限定しないが、コンピュータ記憶媒体と通信媒体が含まれる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、あるいはその他のデータなどの情報を記憶するための任意の方法又は技術に実装された揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれる。例えば、コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気記憶装置、あるいは所望の情報の記憶に用いることができ、コンピュータ１３０によるアクセスが可能な任意の他の媒体が含まれる。通信媒体は通常、搬送波や他のトランスポート機構などの変調データ信号にコンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータを実施し、任意の情報伝達媒体を含む。当業者は、変調信号については精通しており、これは、信号中に情報を符号化する形でその特性の１つ又は複数の設定又は変化させた信号である。配線ネットワークや直接配線接続などの配線媒体、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体は、通信媒体の例である。上述の媒体の組み合わせも、コンピュータ可読媒体の範囲内に含まれる。
【００５９】
システムメモリ１３４は、取り外し可能および／又は取り外し不可能、揮発性および／又は不揮発性のメモリの形態のコンピュータ記憶媒体を含む。図の実施形態では、システムメモリ１３４は、読み取り専用メモリ（ＲＯＭ）１３８とランダムアクセスメモリ（ＲＡＭ）１４０を含む。起動時などにコンピュータ１３０内の要素間の情報転送を助ける基本ルーチンを含む基本入出力システム１４２（ＢＩＯＳ）は、通常ＲＯＭ１３８に記憶される。ＲＡＭ１４０は通常、処理ユニット１３２から即座にアクセス可能な、かつ／又は現在処理ユニット１３２によって操作中のデータおよび／又はプログラムモジュールを保持する。これに限定しないが、例として、図５にはオペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０を示している。
【００６０】
コンピュータ１３０は、この他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。例えば、図５には、取り外し不能、不揮発性の磁気媒体の読み書きを行うハードディスクドライブ１５４を示している。図５には、取り外し可能、不揮発性の磁気ディスク１５８の読み書きを行う磁気ディスクドライブ１５６、およびＣＤ−ＲＯＭや他の光学媒体などの取り外し可能、不揮発性の光ディスク１６２の読み書きを行う光ディスクドライブ１６０も示す。例示的動作環境で使用できるこの他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ記憶媒体には、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれる。ハードディスクドライブ１５４、磁気ディスクドライブ１５６、および光ディスクドライブ１６０は、通常は、インターフェース１６６などの不揮発性メモリインターフェースでシステムバス１３６に接続する。
【００６１】
図５に示したこれらのドライブ又は他の大容量記憶装置とそれらに関連付けられたコンピュータ記憶媒体は、コンピュータ１３０のコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶を提供する。例えば、図５では、ハードディスクドライブ１５４にオペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６を記憶している。これらのコンポーネントは、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０と同じものでも、異なるものでもよいことに留意されたい。ここではオペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６には、それらが少なくとも異なるコピーであることを表すために異なる参照符号を付している。
【００６２】
ユーザは、キーボード１８０、およびポインティングデバイス１８２（例えばマウス、トラックボール、ペン、タッチパッドなど）などの入力装置又はユーザインターフェース選択デバイスを通じてコンピュータ１３０にコマンドと情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらおよび他の入力装置は、システムバス１３６に結合されたユーザ入力インターフェース１８４を通じて処理ユニット１３２に接続するが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス（ＵＳＢ）など他のインターフェースおよびバス構造によって接続することも可能である。モニタ１８８又は他タイプの表示装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１３６に接続される。コンピュータは、しばしば、モニタ１８８に加えてスピーカやプリンタなど他の周辺出力装置（図示せず）も含み、それらは出力周辺インターフェース（図示せず）を通じて接続することができる。
【００６３】
コンピュータ１３０は、リモートコンピュータ１９４など１つ又は複数のリモートコンピュータへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１９４はパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、あるいはその他の一般的なネットワークノードでよく、通常はコンピュータ１３０との関連で上述した要素の多く又はすべてを含む。図５に示す論理接続には、構内ネットワーク（ＬＡＮ）１９６と広域ネットワーク（ＷＡＮ）１９８が含まれるが、他のネットワークを含むことも可能である。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、および世界規模のコンピュータネットワーク（例えばインターネット）に一般的に見られる。
【００６４】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ１３０はネットワークインターフェース又はアダプタ１８６を通じてＬＡＮ１９６に接続される。広域ネットワーキング環境で使用する場合、コンピュータ１３０は通常、インターネットなどのＷＡＮ１９８を通じて通信を確立するためのモデム１７８又は他の手段を含む。モデム１７８は内蔵型でも外付け型でもよく、ユーザ入力インターフェース１８４又は他の適切な機構を介してシステムバス１３６に接続する。ネットワーク環境では、コンピュータ１３０との関連で図示したプログラムモジュール、又はその一部は遠隔のメモリ記憶装置（図示せず）に格納することができる。これに限定しないが、例として図５ではリモートアプリケーションプログラム１９２がメモリ装置に常駐している。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用できることは理解されよう。
【００６５】
一般に、コンピュータ１３０のデータプロセッサは、別個の時にコンピュータの各種のコンピュータ可読記憶媒体に記憶された命令を用いてプログラムされる。プログラムおよびオペレーティングシステムは通常、例えばフロッピー（登録商標）ディスクやＣＤ−ＲＯＭなどによって配布される。そこからコンピュータの補助記憶装置にインストール又はロードされる。実行時に、そのプログラムおよびオペレーティングシステムは、少なくとも部分的にコンピュータの主要な電子メモリにロードされる。本明細書に記載する本発明は、そのような媒体が下記でマイクロプロセッサ又は他のデータプロセッサとの関連で述べるステップを実施する命令又はプログラムを含む場合には、上述および他の各種のコンピュータ可読記憶媒体を含む。本発明は、ここに述べる方法および技術に従ってプログラムした場合はコンピュータ自体も含む。
【００６６】
説明のために、オペレーティングシステムなどのプログラムおよび他の実行可能プログラムコンポーネントは、別個のブロックとして図示する。ただし、そのようなプログラムおよびコンポーネントは、コンピュータの異なる記憶コンポーネントに様々な時に常駐し、コンピュータのデータプロセッサによって実行されることが認識されよう。
【００６７】
コンピュータ１３０を含む例示的コンピューティングシステムとの関係で説明するが、本発明は、多数の他の汎用又は専用のコンピューティングシステム環境又は構成で動作することができる。このコンピューティングシステム環境は、本発明の使用又は機能性の範囲について何らの限定を示唆するものではない。さらに、このコンピューティングシステム環境は、例示的動作環境に示す構成要素の１つ又は組み合わせに関連する依存関係又は必要性を有するものとも解釈すべきでない。本発明に使用するのに適する可能性があるよく知られているコンピューティングシステム、環境、および／又は構成の例には、これらに限定しないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上述のシステム又はデバイスのいずれを含む分散コンピューティング環境などがある。
【００６８】
本発明は、１つ又は複数のコンピュータ又は他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令との一般的な関係で説明することができる。一般に、プログラムモジュールには、これらに限定しないが、特定タスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造が含まれる。本発明は、通信ネットワークを通じてリンクされた遠隔の処理ユニットによってタスクを行う分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、メモリ記憶装置を含むローカルおよびリモート両方のコンピュータ記憶媒体にプログラムモジュールを置くことができる。
【００６９】
作動中、コンピュータ１３０は、図３に示すようなコンピュータ可読命令を実行して、ディスプレイ上の階層の視覚的表現に１つ又は複数のレベルをより高いレベルに対して複数の方向の１つで表示するようにノードの識別子を配列する。コンピュータ１３０はまた、階層の視覚的表現を展開する起動要求をユーザから受け取るコンピュータ実行可能命令も実行する。この起動要求は、ユーザインターフェース選択デバイスを介してユーザが選択した識別子の少なくとも１つを含む。選択された識別子は、特定のレベルのノードに関連付けられている。この要求はさらに、選択された識別子に関連付けられた動作方向を含む。コンピュータ１３０はまた、ディスプレイ上の階層の視覚的表現にその動作方向で表示するように特定のレベルより低いレベルのノードに関連付けられた識別子を配列するコンピュータ実行可能命令も実行する。
【００７０】
（具体例）
次に、具体例を用いて本発明を説明する。図６は、複数方向の階層を示した本発明の例示的実施形態のスクリーンショットである。図６には、ノードの表示方向が交互に垂直軸と水平軸になる「階段方式(stair stepping)」の特徴を表している。このような表示により、ユーザは、既存のシステムが提供する階層に比べて、ディスプレイ上で一度により多くのノードを見ることができる。ピボット矢印(pivot arrow)６０２などの各ノード中のピボット矢印は、展開した場合に後続のノードが表示される表示方向を表す。一実施形態では、階段方式の振る舞いはデフォルトで可能にされる。垂直方向と水平方向交互にデータを表示すると、階層を展開する全体的な角度が変わるので画面の表示領域が節減される。すなわち、全体的な展開の方向が、主として下に向かう（例えば従来の縦方向に表示される階層）ものから、垂直方向の程度と水平方向の程度が等しい４５度の角度に変わる。このように展開の角度を変えることにより、スクロールせずに表示される情報がかなり増える。
【００７１】
図６に示した例示的階層中のデータは、ディメンショングループ(dimension group)、ディメンション(dimension)、およびレベル(level)に従って編成(organizeされている。ディメンションは、クエリ中で制約とグループ化を行うための基礎となるレベルからなる階層である。例えば、場所のディメンションには、国、州、ＤＭＡ、市、および郵便番号などのディメンションレベルの階層が含まれる。例えば、右クリックメニューを使用して対象領域を選択し、次いであるディメンション（例えば年齢）を選択し、次いでディメンションレベル（例えば年齢グループ）を選択することにより、ユーザは、データベースを照会してすべてのユーザを年齢グループごとに表示させる。ディメンションレベルを選択すると、本発明のソフトウェアは、１つ又は複数のノードを使用してデータを表示する。各ノードは、選択されたディメンションレベルのディメンションメンバについての情報を表示する。例えば、２５〜３４は、年齢グループのディメンションレベルのディメンションメンバである。
【００７２】
次いで図７を参照すると、スクリーンショットで階層のルートノードを示し、ルートノードに関連付けられた例示的ノードデータの異なる部分を識別している。この例では、ルートノードは、特定の期間内に収集されたすべてのユーザデータを表す。ルートノードのノード値は、ユーザの総数（例えば１億６５００万人）に等しい。ディメンションレベルは、あるディメンション階層の関連するメンバからなるグループの名前を表す。例えば、「年齢グループ」および「法的身分」は、年齢のディメンションのディメンションレベルである。ディメンションメンバは、１回又は複数回のデータ出現を表すディメンションレベルの１項目である。年齢グループのディメンションレベルのメンバには、２５〜３４と３５〜５０が含まれる。メンバは、一意としても、非一意としてもよい。例えば、クライアント設定の対象領域では、「ブラウザ」のディメンションは、「ブラウザ」と「ブラウザバージョン」の２つのディメンションレベルを含む。ブラウザＸは、ブラウザのディメンションレベルの一意のメンバを表し、１．０は、ブラウザバージョンのディメンションレベルの非一意のメンバを表す。ノードグラフは、そのノードが表すデータの図式表現を表示する。デフォルトのグラフは棒グラフである。上記の例では、棒グラフは、親ノードすなわちルートノードの２６％に当たることを表している。ノード値は、そのノードに関連付けられたデータ値である。上記の例では、４２，９００，０００は、２５〜３４歳の年齢グループにあるユーザの数である。ノードパーセンテージは、カレントノードのノード値と、より高いレベルのノードのノード値を比較したパーセンテージである。ピボット矢印は、続くクエリ(subsequent query)で展開されるレベルの方向を識別する。ユーザは、この矢印を選択して表示の方向を指定することができる。ユーザインターフェース選択デバイスを介してレポートノードの上にポインタを置くことにより、追加的な情報を得ることができる。その情報は、そのノードのデータの要約を表示する。
【００７３】
本発明のソフトウェアは、ディメンションを手動又は自動的にグループ化するオプションを含む。ユーザは（例えばユーザインターフェース選択デバイスで右クリックを行うなどして）ノードを選択して、特定のディメンショングループにそのノードを追加する。本発明のソフトウェアはまた、自動的にディメンショングループを作成する（例えばディメンショングループ名のアルファベット順にする）。本発明のソフトウェアは、ディメンショングループを記述するメタデータを生成する。ディメンショングループは、例えば「人口統計情報」や「クライアント設定」を含むことができる。
【００７４】
本発明又はその実施形態の要素を紹介する際、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「ｓａｉｄ」は、その要素が１つ又は複数あることを意味する。用語「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、および「ｈａｖｉｎｇ」は包含的な意味であり、記載した要素以外にも追加的な要素があってよいことを意味する。
【００７５】
上述に鑑みて、本発明のいくつかの目的が実現され、他の有利な結果が達成されることが理解されよう。
【００７６】
上記の構成、製品、および方法には本発明の範囲から逸脱することなく各種の変更を加えることができるので、上記の説明に含まれ、添付図面に図示するすべての事項は、制限的な意味ではなく説明を目的とするものと解釈されたい。
【図面の簡単な説明】
【００７７】
【図１】従来技術による垂直方向のツリー構造の実施形態の図である。
【図２】本発明の一実施形態により複数方向に表示されたレベルを有する階層を示す例示的ブロック図である。
【図３】本発明の一実施形態にしたがって、複数方向に展開する階層にノードを配列し表示するソフトウェアの動作を説明する例示的流れ図である。
【図４】本発明の一実施形態にしたがって、ソフトウェアを格納することが可能な例示的コンピュータ可読媒体を示すブロック図である。
【図５】本発明を実施することが可能な適切なコンピューティングシステム環境の一例を示すブロック図である。
【図６】複数方向に展開する階層を示した例示的実施形態のスクリーンショットである。
【図７】ルートノードとその例示的なノードデータを示す一実施形態のスクリーンショットである。
【符号の説明】
【００７８】
１３０、１９４  コンピュータ
１３２  処理ユニット
１３４  システムメモリ
１３６  システムバス
１３８  ＲＯＭ
１４０  ＲＡＭ
１４２  ＢＩＯＳ
１４４、１７０  オペレーティングシステム
１４６、１７２、１９２  アプリケーションプログラム
１４８、１７４  プログラムモジュール
１５０、１７６  プログラムデータ
１５４  ハードディスクドライブ
１５６  磁気ディスクドライブ
１５８  磁気ディスク
１６０  光ディスクドライブ
１６２  光ディスク
１６６  インターフェース
１７８  モデム
１８０  キーボード
１８２  ポインティングデバイス
１８４  ユーザ入力インターフェース
１８８  モニタ
１９０  ビデオインターフェース
１９６  ＬＡＮ
１９８  ＷＡＮ
２０２  ピボットポイント
４０２、４１４  コンピュータ可読媒体
４０４、４１６  ユーザインターフェースコンポーネント
４０６、４１８  サービスコンポーネント
４０８  クライアントコンピュータ
４１０  サーバコンピュータ
４１２  記憶領域
６０２  ピボット矢印
【図１】
2004259286.tif 000003
【図２】
2004259286.tif 000004
【図３】
2004259286.tif 000005
【図４】
2004259286.tif 000006
【図５】
2004259286.tif 000007
【図６】
2004259286.tif 000008
【図７】
2004259286.tif 000009
【手続補正書】
【提出日】平成16年4月8日(2004.4.8)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2004259286.tif 000010
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2004259286.tif 000011