(57)【特許請求の範囲】
【請求項１】
複数のデータをツリー構造で表示するデータ表示装置であって、
前記データをノードとして少なくとも１つのツリー構造を表示する表示手段と、
表示された前記ツリー構造を構成するノードのうちの第１ノードが選択されたことに応答して、前記第１ノードから上位方向および下位方向へ繋がる全てのノードを第１ノード群として識別する第１識別手段と、
前記第１ノード群とは別の第２ノードが選択されたことに応答して、前記第２ノードから上位方向および下位方向へ繋がる全てのノードを第２ノード群として識別する第２識別手段と、
前記第１ノードへ向けて前記第２ノードを移動させる操作を受け付け、前記操作に応じて前記第２ノード群を前記第１ノードへ向けて移動させる移動手段と、
予め定められた規則に従って、前記第２ノード群の移動に伴い表示を省略すべきノードを判別する判別手段と、
判別された前記ノードの表示を省略して前記第１ノード群と前記第２ノード群とを近隣させて表示するように前記表示手段に指示する指示手段とを含む、データ表示装置。
【請求項２】
前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードとの距離が一定以内となったノードと規定する、請求項１に記載のデータ表示装置。
【請求項３】
前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードと重畳されたノードと規定する、請求項１に記載のデータ表示装置。
【請求項４】
前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードとの距離が一定以内となったノード、または前記第２ノード群を構成するいずれかのノードと重畳されたノードと規定するとともに、前記表示を省略すべきノードとして、前記第１ノード群と前記第２ノード群との間にはないノードと規定する、請求項１に記載のデータ表示装置。
【請求項５】
前記表示手段は、前記ツリー構造を表示する際、各前記ノードについて各前記データの内容を縮小または省略して表示し、前記指示手段からの指示を受けて前記第１ノード群と前記第２ノード群を近隣させて表示する際、前記第１ノード群および前記第２ノード群を拡大表示することにより、前記内容を拡大して表示または全体表示する、請求項１に記載のデータ表示装置。
【請求項６】
各前記ノードは、重み値が関連付けられ、前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードとの距離が一定以内となったノード、または前記第２ノード群を構成するいずれかのノードと重畳されたノードで、かつ前記重み値が閾値以下であるノードと規定する、請求項１に記載のデータ表示装置。
【請求項７】
前記重み値は、前記データがいつ作成されたか、何人のユーザが使用したか、更新の頻度がどの程度か、他からどれだけ参照されているかにより決定された重要度、またはユーザにより設定された重要度に応じて与えられる、請求項６に記載のデータ表示装置。
【請求項８】
前記指示手段は、ユーザにより設定されたノード表示情報を参照し、前記第１ノード群および前記第２ノード群に含まれるノードのうち、表示を省略すべきノードを非表示にするように前記表示手段に指示する、請求項１に記載のデータ表示装置。
【請求項９】
複数のデータをツリー構造で表示するデータ表示装置により実行される方法であって、  前記データをノードとして少なくとも１つのツリー構造を表示するステップと、
表示された前記ツリー構造を構成するノードのうちの第１ノードが選択されたことに応答して、前記第１ノードから上位方向へ繋がる全てのノードと該第１ノードから下位方向へ繋がる全てのノードとを第１ノード群として識別するステップと、
前記第１ノード群とは別の第２ノードが選択されたことに応答して、前記第２ノードから上位方向へ繋がる全てのノードと該第２ノードから下位方向へ繋がる全てのノードとを第２ノード群として識別するステップと、
前記第１ノードへ向けて前記第２ノードを移動させる操作を受け付け、前記操作に応じて前記第２ノード群を前記第１ノードへ向けて移動させるステップと、
予め定められた規則に従って、前記第２ノード群の移動に伴い表示を省略すべきノードを判別するステップと、
判別された前記ノードの表示を省略して前記第１ノード群と前記第２ノード群とを近隣させて表示するように前記装置が備える表示手段に対して指示するステップとを含む、データ表示方法。
【請求項１０】
前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードとの距離が一定以内となったノードと規定する、請求項９に記載のデータ表示方法。
【請求項１１】
前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードと重畳されたノードと規定する、請求項９に記載のデータ表示方法。
【請求項１２】
前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードとの距離が一定以内となったノード、または前記第２ノード群を構成するいずれかのノードと重畳されたノードと規定するとともに、前記表示を省略すべきノードとして、前記第１ノード群と前記第２ノード群との間にはないノードと規定する、請求項９に記載のデータ表示方法。
【請求項１３】
前記表示するステップでは、前記ツリー構造を表示する際、各前記ノードについて各前記データの内容を縮小または省略して表示し、前記方法は、前記表示手段が指示を受けて前記第１ノード群と前記第２ノード群を近隣させて表示する際、前記第１ノード群および前記第２ノード群を拡大表示することにより、前記内容を拡大して表示または全体表示するステップをさらに含む、請求項９に記載のデータ表示方法。
【請求項１４】
各前記ノードは、重み値が関連付けられ、前記規則は、前記表示を省略すべきノードを、前記第２ノード群を構成するいずれかのノードとの距離が一定以内となったノード、または前記第２ノード群を構成するいずれかのノードと重畳されたノードで、かつ前記重み値が閾値以下であるノードと規定する、請求項９に記載のデータ表示方法。
【請求項１５】
前記重み値は、前記データがいつ作成されたか、何人のユーザが使用したか、更新の頻度がどの程度か、他からどれだけ参照されているかにより決定された重要度、またはユーザにより設定された重要度に応じて与えられる、請求項１４に記載のデータ表示方法。
【請求項１６】
前記指示するステップは、ユーザにより設定されたノード表示情報を参照し、前記第１ノード群および前記第２ノード群に含まれるノードのうち、表示を省略すべきノードを非表示にするように前記表示手段に指示するステップを含む、請求項９に記載のデータ表示方法。
【請求項１７】
請求項９〜１６のいずれか１項に記載のデータ表示方法を実行するためのコンピュータ可読なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータをツリー構造により表示する装置、方法およびプログラムに関し、より詳細には、複数のデータをツリー構造により表示し、各データを各ノードとしてノード同士を近づけることにより、その間にあるノードを省略して表示することを可能にするデータ表示装置、その表示方法およびその方法を実行するためのコンピュータ可読なプログラムに関する。
【背景技術】
【０００２】
コンピュータによって大量のデータを効率的に管理する方法として、ツリー構造またはグラフ構造により管理する方法がある。ツリー構造は、複数の階層を有し、ある階層に属する１つの要素であるノードから、その下位の階層に位置する複数のノードへ枝分かれした形で各ノードが配置された構造である。グラフ構造は、節点の有限集合と、辺（節点の順序対）の有限集合との対からなる構造で、節点がノードとされ、辺はノード間を結ぶ線分で表される。このグラフ構造も、１つのノードから複数のノードへ枝分かれした形で各ノードが配置されている場合がある。このため、グラフ構造も、表示する際は、ツリー構造として表示することができる。【０００３】
あるノードから複数のノードへ枝分かれしている場合、枝分かれする元のノードは、親ノードと呼ばれ、枝分かれした先の複数のノードは、子ノードと呼ばれる。また、親ノードがないノードは、根ノードと呼ばれ、最上位のノードとされる。子ノードがないノードは、葉ノードと呼ばれ、最下位のノードとされる。【０００４】
親ノードは、子ノードへのポインタを有する。ポインタは、親ノードや子ノードへアクセスするための情報を含む。このため、最上位の根ノードから最下位の葉ノードへと順に走査することを可能にし、これにより目的のノードを探索することができる。子ノードが複数ある場合は、親ノードは、複数の子ノードに対するポインタのリストをもつことができる。【０００５】
上記のツリー構造またはグラフ構造で管理することができるデータの一例として、「ＩＴ機器」というデータを挙げることができる。「ＩＴ機器」には、「ＰＣ」、「タブレット端末」、「スマートフォン」等が含まれ、「ＰＣ」には、「本体」、「ディスプレイ」等が含まれ、「本体」には、「ＣＰＵ」、「メモリ」等が含まれるため、「ＩＴ機器」というデータを根ノードとして、「ＰＣ」等のデータを次の階層のノード、「本体」等のデータをさらに次の階層のノードとし、「ＣＰＵ」等のデータを最下位のノードとして表現することができるからである。また、「ＩＴ機器」というデータと「ＰＣ」等のデータを線分で結び、「ＰＣ」と「本体」等のデータを線分で結ぶことができるからである。【０００６】
データがツリー構造またはグラフ構造で管理される場合、それをツリー構造により画面上に表示すると、図１に示すようなものとなる。図１には、各データがツリー構造を構成する各ノードとされていて、２つのツリー構造が表示されている。このようなツリー構造により管理される膨大なデータを、効率よく表示し、アクセスしたいというニーズがある。【０００７】
例えば、図１に示すノードＸ１とノードＹ３の２つに注目して、作業を行いたい場合、それらのノードＸ１とノードＹ３の間にあるノードＸ２、ノードＸ３、ノードＸ４、ノードＹ１、ノードＹ２を省略し、ノードＸ１とノードＹ３を出来るだけ近づけて表示できれば、ノードＸ１とノードＹ３に対して作業を実施しやすくなるからである。また、ノードＸ１とノードＹ３が、画面をスクロールしなければ表示できないような場合には、１画面内にノードＸ１とノードＹ３を表示できれば、スクロールすることなく、作業を実施することができるからである。【０００８】
従来において、このような省略表示を可能にするための技術として、重要度等のパラメータによる重み付けを行い、閾値を設定して、その重み付けを基に閾値以下のパスを省略する技術が提案されている（例えば、非特許文献１参照）。この技術では、エッジに重み付けをして、一定以上の重みのエッジおよびそれを含むノードのみを表示するようにしている。【０００９】
また、木構造型の形式に整えて表示することによりグラフ表示するグラフ表示手段であって、表示省略ノードがあるとき、その表示省略ノードの前段のノードの末尾若しくは近傍に、次段に表示省略ノードの存在を示す記号を付加表示する機能を有するグラフ表示手段を備えたグラフ表示処理装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平８−２５５２５３号公報
【非特許文献】
【００１１】
【非特許文献１】Bret Victor、“Visualizing Weights of GraphEdges”、［online］、平成２３年５月１０日、［平成２４年１月１１日検索］、インターネット＜ＵＲＬ：http://worrydream.com/VisualizingEdgeWeights/＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記非特許文献１に記載された技術は、パラメータによる重み付けを基に省略するが、そのパラメータによる省略には限界があり、その時々のユーザの意図を反映して省略することはできない。【００１３】
上記特許文献１に記載された装置は、省略した際に省略を示す記号を付加表示することを前提としており、ノードの省略操作を意図するものではない。【００１４】
また、各ノードのコンテキスト・メニュー等により、操作の一覧を表示し、その中から選択して実行させる手法も考えられるが、この手法では、操作が煩雑になってしまう。【００１５】
そこで、簡単な操作で、ユーザの意図を反映して不要なノードの省略表示を実現することができる装置や方法の提供が望まれていた。
【課題を解決するための手段】
【００１６】
本発明は、上記課題を解決するためになされたものであり、上記課題は、以下のデータ表示装置、データ表示方法およびその方法を実行するためのコンピュータ可読なプログラムを提供することにより解決することができる。【００１７】
すなわち、本発明は、複数のデータをツリー構造で表示するデータ表示装置であって、データをノードとして少なくとも１つのツリー構造を表示する表示手段と、表示されたツリー構造を構成するノードのうちの第１ノードが選択されたことに応答して、第１ノードから上位方向および下位方向へ繋がる全てのノードを第１ノード群として識別する第１識別手段と、第１ノード群とは別の第２ノードが選択されたことに応答して、第２ノードから上位方向および下位方向へ繋がる全てのノードを第２ノード群として識別する第２識別手段と、第１ノードへ向けて第２ノードを移動させる操作を受け付け、その操作に応じて第２ノード群を第１ノードへ向けて移動させる移動手段と、予め定められた規則に従って、第２ノード群の移動に伴い表示を省略すべきノードを判別する判別手段と、判別されたノードの表示を省略して第１ノード群と第２ノード群とを近隣させて表示するように表示手段に指示する指示手段とを含む、データ表示装置が提供される。【００１８】
ユーザが２つのノードを選択し、その一方を他方へ近づける操作を行うだけで、それら２つのノードを近隣させて表示することができるので、簡単な操作で、ユーザの意図を反映して不要なノードの省略表示を実現することができる。【００１９】
上記の規則は、表示を省略すべきノードを、第２ノード群を構成するいずれかのノードとの距離が一定以内となったノードと規定することができる。また、上記の規則は、表示を省略すべきノードを、第２ノード群を構成するいずれかのノードと重畳されたノード（距離が０となったノード）と規定することも可能である。【００２０】
さらに、上記の規則は、それに加えて、表示を省略すべきノードとして、第１ノード群と第２ノード群との間にはないノードも規定することができる。２つのノード群を並べて表示することができるとともに、それら以外の余分なノードの表示を省略することができるので、目的のノードに対する作業をより効率的に行うことが可能となる。【００２１】
表示手段は、ツリー構造を表示する際、各ノードについて各データの内容を縮小または省略して表示することができる。このため、表示手段は、指示手段からの指示を受けて第１ノード群と第２ノード群を近隣させて表示する際、第１ノード群および第２ノード群を拡大表示することにより、各データの内容を拡大して表示または全体表示することができる。なお、これらの拡大表示は、第２ノード群が第１ノードへ近づくにつれて、徐々に拡大表示することができる。大量のノードが１画面に表示される場合、データの内容を表す文字や図面等が小さすぎたり、省略された文字等が存在して、それらを認識することができないが、このように拡大表示または全体表示することでどのような文字が書かれ、どのような図面であるかを認識することが可能となる。【００２２】
また、各ノードは、重み値が関連付けられ、上記の規則は、表示を省略すべきノードを、第２ノード群を構成するいずれかのノードとの距離が一定以内となったノード、または第２ノード群を構成するいずれかのノードと重畳されたノードで、かつ重み値が閾値以下であるノードと規定することができる。【００２３】
そのときの重み値は、データがいつ作成されたか、何人のユーザが使用したか、更新の頻度がどの程度か、他からどれだけ参照されているかにより決定された重要度に応じて与えることができる。また、ユーザが重要度を設定することにより、それに対応する重み値を与えることも可能である。これにより、重要度が高いノードについては、その表示を省略することなく、その表示を残すことができる。【００２４】
上記の指示手段は、ユーザにより設定されたノード表示情報を参照し、第１ノード群および第２ノード群に含まれるノードのうち、表示を省略すべきノードを非表示にするように表示手段に指示することができる。これにより、目的の近傍のデータのみを参照したいという要求に応えることが可能となる。【００２５】
本発明は、上記データ表示装置のほか、上記データ表示装置により実行されるデータ表示方法およびその方法を実行するためのコンピュータ可読なプログラムも提供することができる。このプログラムは、ネットワークに接続されたサーバ装置やデータベース等に格納され、ダウンロード要求に応じて提供することもできるし、ＣＤ−ＲＯＭ、ＳＤカード、ＤＶＤ、フラッシュメモリ等の記録媒体に格納して提供することも可能である。
【図面の簡単な説明】
【００２６】
【図１】複数のデータを管理するためのツリー構造を例示した図。
【図２】本発明のデータ表示装置のハードウェア構成の一例を示した図。
【図３】本発明のデータ表示装置の１つの実施形態を示した機能ブロック図。
【図４】表示手段がツリー構造を表示したところを示した図。
【図５】第１識別手段により第１ノード群が識別されたところを示した図。
【図６】第２識別手段により第２ノード群が識別されたところを示した図。
【図７】移動手段により第２ノード群が移動され、指示手段により指示された内容に基づき表示手段がノードの表示を省略し、第１ノード群と第２ノード群とを近く並べて表示したところを示した図。
【図８】図３に示す装置により実行される処理の流れを示したフローチャート図。
【図９】第１ノード群および第２ノード群の外側に位置する不要なノードも非表示にしたところを示した図。
【図１０】第１ノード群と第２ノード群とを近く並べ、画面に入る程度に拡大表示したところを示した図。
【図１１】重要度に応じて判別を行い、重要度が高いノードの直系のノードを残すように表示したところを示した図。
【発明を実施するための形態】
【００２７】
図２は、本発明のデータ表示装置のハードウェア構成の一例を示した図である。データ表示装置１００は、例えば、パーソナル・コンピュータやワークステーション等とすることができ、ＣＰＵ１０２、主記憶装置として用いられるＲＡＭ１０４およびＲＯＭ１０６、ハードディスク・ドライブ（ＨＤＤ）１０８、キーボードやマウスといった入力装置１１０、ディスプレイ装置１１２を含んで構成することができる。これらは、いずれもシステム・バス１１４に接続され、データ等のやりとりは、このシステム・バス１１４を介して行われる。パーソナル・コンピュータは、ノートＰＣ、デスクトップＰＣ、タブレットＰＣのいずれであってもよい。
【００２８】
ＣＰＵ１０２は、例えば、インテル社のＣｏｒｅ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）、ＡＭＤ社のＰｈｅｎｏｍ（登録商標）、Ａｔｈｌｏｎ（登録商標）等を用いることができる。ＲＡＭ１０４は、ＣＰＵ１０２が直接読み書きするための記憶装置である。
【００２９】
ＲＯＭ１０６は、読み出し専用のメモリで、ＢＩＯＳ(Basic Input/Output System)やファームウェア等を記憶する。ＨＤＤ１０８は、各種のアプリケーション・ソフトウェアやオペレーティング・システム(OS)等を記憶する。ＯＳとしては、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ  ＯＳ（登録商標）等、ＣＰＵ１０２に適合する任意のものを用いることができる。
【００３０】
また、ＨＤＤ１０８には、複数のデータをツリー構造により管理し、それら複数のデータをツリー構造により表示する処理を実行させるためのプログラムを記憶することができる。このプログラムは、ＣＰＵ１０２によりＲＡＭ１０４に読み出され、ＣＰＵ１０２がそのプログラムを実行することにより、後述する処理を実現する。このプログラムは、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等の任意のプログラム言語により作成することができる。
【００３１】
入力装置１１０は、ＯＳが提供するグラフィック・ユーザ・インタフェース(GUI)に従い、ディスプレイ装置１１２の画面上に表示されたアイコン、タスクバー、ウィンドウ等のグラフィック・オブジェクトを操作するために、また、文字や数字等を入力するために使用される。また、入力装置１１０は、ディスプレイ装置１１２の画面上に表示されたコマンド・ボタンを押下する際にも使用され、このボタン押下により処理を開始させたり、処理を中止させたり、処理を終了させたりすることができる。
【００３２】
ディスプレイ装置１１２は、例えば、液晶ディスプレイとすることができ、タッチパネルを搭載したものであってもよい。タッチパネルを搭載したディスプレイ装置１１２である場合、画面にタッチして上記操作や文字等の入力を行うことができるため、上記の入力装置１１０は不要である。
【００３３】
そのほか、必要に応じて、ネットワークに接続するための通信インタフェースや、ＤＶＤドライブ、ＳＤカードスロット等を備えることができる。このシステムは、無線ＬＡＮ機能やＢｌｕｅｔｏｏｔｈ（登録商標）機能を実現するために送受信機を備えていてもよい。
【００３４】
図３は、図２に示したデータ表示装置の機能ブロック図である。データ表示装置１００は、上記のようにＣＰＵ１０２、ＲＡＭ１０４、ＨＤＤ１０８を備え、ＨＤＤ１０８には、上記のツリー構造により表示する処理を実行するためのプログラムを格納し、ＣＰＵ１０２がそれをＲＡＭ１０４に読み出し、それを実行することにより、データ表示装置１００を以下の各手段として機能させることができる。
【００３５】
したがって、このデータ表示装置１００は、表示手段２００と、第１識別手段２０２と、第２識別手段２０４と、移動手段２０６と、判別手段２０８と、指示手段２１０とを備える。
【００３６】
表示手段２００は、各データを、少なくとも１つのツリー構造を構成する各ノードとし、当該少なくとも１つのツリー構造を表示する。ツリー構造としては、図４に示すように、１つの根ノード３００を有し、その根ノード３００から枝分かれしたノード３０２を有し、また、そのノード３０２から枝分かれした、またはそのノード３０２に繋がれたノード３０４、さらには、そのノード３０４から枝分かれしたノード３０６を有する。
【００３７】
ツリー構造は、図４に示すような階層構造を形成し、最上位のノードが根ノード３００であり、次に上位のノードがノード３０２であり、そのあと順に、ノード３０４、ノード３０６となる。ノード３０４の一部およびノード３０６は、それに繋がるノードが存在しないため、最下位のノードであって、葉ノードである。これらのノードは、親子関係を有し、例えば、ノード３０２とノード３０４との関係で言えば、ノード３０２は、親ノードであり、ノード３０４は、子ノードである。
【００３８】
表示手段２００は、図４に示すノード３０４の中のノード３０８のように、ノードを、そのデータの内容を縮小した画像（例えばサムネイル）として表示することができる。ノード３０８が、フローチャートをデータの内容としてもつ場合、フローチャートを縮小した画像として表示することができる。なお、図４に示すように、ツリー構造全体を１つの画面内に表示するため、数多くのノードがある場合、その縮小画像は小さくなり、フローチャート内に書かれている文字等を読むことはできない。実際にその内容を知りたい場合は、その縮小画像をダブルクリックする等して、そのデータを通常の画像サイズで開くことにより、その文字等を読むことができる。
【００３９】
再び図３を参照して、第１識別手段２０２は、表示手段２００に表示されたツリー構造を構成するノードのうちの１つのノード（第１ノード）が選択されたことに応答して、その第１ノードから上位方向および下位方向へ繋がる直系の全てのノードを１つのノード群（第１ノード群）として識別する。第１ノードに関連する直系のノードを残し、必要に応じてその直系内のノードのデータを参照することができるようにするためである。
【００４０】
例えば、参照したいデータとして「本体」を選択するにしても、「本体」しか表示されていなければ、それが何に関連するものか分からない。しかしながら、直系のノードをノード群と識別することで、その上位のノードとして、例えば「ＰＣ」や「ＩＴ機器」等も表示されるので、これらに関連したデータであることを知ることができる。
【００４１】
図５に、画面４００内に表示された第１識別手段２０２が識別した第１ノード群を示す。ユーザは、参照したいノードをマウス等の入力装置を使用して選択する。一例では、ユーザは、マウスを使用し、ポインタを図５に示すノードＣ２を表すアイコンまたは縮小画像上に配置し、クリックすることによりそのノードＣ２を選択する。
【００４２】
第１識別手段２０２は、その選択に応答して、ノードＣ２から上位方向および下位方向へ繋がる直系のノードを識別する。各ノードは、ポインタを有し、そのポインタは、下位ノードへアクセスするための情報を含むものである。そのノードが、複数の子ノードをもつ場合は、それらの子ノードへのポインタのリストをもつことができる。
【００４３】
第１識別手段２０２は、ノードＣ２がもつポインタを参照し、また、ノードＣ２へのポインタをもつノードを探索し、そのノードＣ２の上位方向に繋がるノードＢ１および下位方向に繋がるノードＤ１、Ｄ２、Ｄ３を識別する。そして、第１識別手段２０２は、これらのノードＤ１、Ｄ２、Ｄ３がもつポインタを参照し、また、ノードＢ１へのポインタをもつノードを探索し、そのノードＢ１の上位方向に繋がるノードＡ１のみを識別する。
【００４４】
選択された第１ノードの上位方向に繋がるノードの探索は、その第１ノードの親ノードを探索することにより行うことができる。すべてのノードは、上位ノードを有する場合には、それぞれ１つの親ノードしか有しない。このため、この探索では、１つのノードのみが検出される。
【００４５】
第１識別手段２０２は、ノードＡ１へのポインタをもつノードを探索するが、ノードＡ１の上位方向にはノードが存在しないため、最終的にノードＡ１、Ｂ１、Ｃ２、Ｄ１、Ｄ２、Ｄ３を第１ノード群として識別する。図５では、このようにして識別した第１ノード群が、枠の線の太さを変えて、ノードＢ２、Ｂ３、Ｃ１等の他のノードとは区別可能に示されている。また、それらのノードを繋ぐ線も同様に区別可能に示されている。このような表示は、一例であり、枠内の色の変更や枠の形状の変更等により区別可能に示すこともできる。
【００４６】
再び図３を参照して、第２識別手段２０４は、上記で識別された第１ノード群とは別のノード（第２ノード）が選択されたことに応答して、第２ノードから上位方向および下位方向へ繋がる全てのノードを１つのノード群（第２ノード群）として識別する。
【００４７】
図６に、画面４００内に表示された第２識別手段２０４が識別した第２ノード群を示す。ユーザは、参照したいノードをマウス等の入力装置を使用して選択する。一例では、ユーザは、マウスを使用し、ポインタを図６に示すノードＧ３を表すアイコンまたは縮小画像上に配置し、クリックすることによりそのノードＧ３を選択する。図６では、すでに第１ノード群が識別されているのが示されている。
【００４８】
第２識別手段２０４は、ノードＧ３から上位方向および下位方向へ繋がる直系のノードを識別する。具体的には、第１識別手段２０２が行う処理と同様に、第２識別手段２０４は、ノードＧ３がもつポインタを参照して、また、ノードＧ３へのポインタをもつノードを探索し、ノードＧ３の上位方向および下位方向に繋がるノードＦ２、Ｈ３を識別する。
【００４９】
また、第２識別手段２０４は、ノードＦ２へのポインタをもつノードを探索し、ノードＦ２から上位方向に繋がるノードＥ１を識別する。ノードＥ１の上位方向へはノードが存在せず、また、ノードＨ３より下位にはノードが存在しないことから、第２識別手段２０４は、ノードＥ１、Ｆ２、Ｇ３、Ｈ３を第２ノード群として識別する。図６では、識別した第２ノード群も、枠の線の太さを変えて、ノードＦ１、Ｇ１、Ｇ２等の他のノードおよび第１ノード群とは区別可能に示され、それらのノードを繋ぐ線も区別可能に示されている。これも上記と同様に、枠内の色の変更や枠の形状の変更等により区別可能に示すこともできる。
【００５０】
再び図３を参照して、移動手段２０６は、ユーザがマウス等を使用して、第２ノードを表すアイコンまたは縮小画像等をドラッグ等することにより第１ノードが位置する方向へ移動させると、その操作を受け付け、その操作に応じて上記で識別された第２ノード群を第１ノードへ向けて移動させる。移動手段２０６は、例えば、マウスのポインタの移動方向および移動速度を検出し、その移動方向および移動速度を基に、第２ノード群を構成する各ノードを表すアイコンや縮小画像を移動させることにより、その移動を実現することができる。なお、移動の方法は、これに限られるものではなく、例えば、ポインタの位置を連続して検出し、その位置を基に移動させることも可能である。
【００５１】
移動手段２０６により第２ノード群を構成する各ノードを表すアイコンや縮小画像を移動させていくと、第１ノード群と第２ノード群との間に位置するノードを表すアイコンまたは縮小画像と重畳されることになる。そこで、このような重畳される不要なノードを省略するべく、判別手段２０８は、予め定められた規則に従って、第２ノード群の移動に伴い表示を省略すべきノードを判別する。
【００５２】
判別手段２０８は、予め定められた規則に従って、表示を省略すべきノードを判別するが、その規則としては、一例として、表示を省略すべきノードを、第２ノード群を構成するいずれかのノードとの距離が、例えば５ｍｍや１ｃｍ等の一定以内となったノードと規定することができる。また、表示を省略すべきノードを、第２ノード群を構成するいずれかのノードと重畳されたノード（距離が０となったノード）と規定することも可能である。指示手段２１０は、判別手段２０８により判別されたノードの表示を省略して第１ノード群と第２ノード群とを近づけて表示するように表示手段２００に指示する。
【００５３】
図６および図７を参照して詳細に説明すると、図６に示す第２ノードとしてのノードＧ３が、第１ノードとしてのノードＣ２へ向けて移動される場合、第１ノード群を構成するノードＡ１、Ｂ１、Ｃ２、Ｄ１、Ｄ２、Ｄ３と、第２ノード群を構成するノードＥ１、Ｆ２、Ｇ３、Ｈ３との間に位置するノードＢ２、Ｂ３、Ｃ３、Ｃ４、Ｃ５、Ｄ４、Ｄ５、Ｆ１、Ｇ１、Ｇ２、Ｈ１、Ｈ２は、第２ノード群を構成するいずれかのノードとの距離が一定以内に入ることで、判別手段２０８により表示を省略すべきノードと判別され、指示手段２１０により表示手段２００に指示されてその表示が省略されていく。
【００５４】
そして、最終的に図７に示すように、第１ノード群と第２ノード群との間に位置していたノードのすべてが省略され、第１ノード群と第２ノード群が隣り合わせで表示される。省略されたノードは、完全に画面から消去されてもよいが、図７に示すように、省略されたノードを１つにまとめて、省略されていることを表す省略記号で表示することも可能である。図７では、その省略記号が、小円とそれに繋がる線の一部が破線で示されたものとされている。
【００５５】
省略記号で表示した場合、ユーザは、マウス等の入力装置を使用してその省略記号を選択することにより、すべてのノードが省略されない元の表示へ戻すことができる。例えば、マウスのカーソルを省略記号に重畳させ、クリックすることにより選択して、元の表示に戻すことができる。
【００５６】
このように、ユーザが２つのノードを選択し、その一方を他方へ近づける操作を行うだけで、それら２つのノードを近隣させて表示することができるので、簡単な操作で、ユーザの意図を反映して不要なノードの省略表示を実現することができる。
【００５７】
図８を参照して、データ表示装置が行う処理の流れについて説明する。データ表示装置は、プログラムが実行されることにより、ステップ８００においてこの処理を開始する。ステップ８０５では、ユーザが、例えば、根ノードのデータを選択したことを受けて、表示手段２００が、その根ノードのデータを含む複数のデータをツリー構造により表示する。根ノードのデータが上記の「ＩＴ機器」と、例えば「店舗」とを参照したい場合、それら２つのデータをそれぞれが含む２つのツリー構造を並べて表示する。ここでは、２つのツリー構造を並べて表示することを説明するが、これに限られるものではなく、１つのツリー構造を表示することもできるし、３つ以上のツリー構造を並べて表示することも可能である。
【００５８】
ステップ８１０では、ユーザが、ツリー構造中の参照したいデータを第１ノードとして選択したことを受けて、第１識別手段２０２が、第１ノードから上位方向および下位方向へ繋がる全てのノードを第１ノード群として識別する。
【００５９】
ステップ８１５では、ユーザが、ツリー構造中の参照したい第１ノード群とは別のもう１つのデータを第２ノードとして選択したことを受けて、第２識別手段２０４が、第２ノードから上位方向および下位方向へ繋がる全てのノードを第２ノード群として識別する。
【００６０】
ステップ８２０では、移動手段２０６が、第１ノードへ向けて第２ノードを移動させる操作を受け付け、その操作に応じて第２ノード群を第１ノードへ向けて移動させる。そして、判別手段２０８が、ステップ８２５で、予め定められた規則に従って、第２ノード群の移動に伴い表示を省略すべきノードを判別する。具体的には、上記の例のように、移動先にあるノードと、第２ノード群を構成するいずれかのノードとの距離が一定以内に入ったかどうかを判定することにより、省略すべきノードであるかどうかを判別する。
【００６１】
ステップ８３０では、判別手段２０８により判別されたノードの表示を省略して第１ノード群と第２ノード群とを近づけて表示するように指示手段２１０が表示手段２００に指示する。そして、ステップ８３５で、第２ノードの移動が停止したかを判定する。停止していない場合、ステップ８２０へ戻り、第２ノード群の移動を継続させ、表示を省略すべきノードを判別し、その表示を省略する。一方、その移動が停止した場合、ステップ８４０へ進み、この処理を終了する。
【００６２】
このように移動が停止した場合にすぐに処理を終了することもできるが、一定時間が経過するまで待ち、その時間が経過した後に処理を終了することも可能である。この場合、一定時間内に再度第２ノードの移動を開始させれば、引き続き第２ノード群を移動させることができるようにすることができる。
【００６３】
上記の例では、第１ノード群と第２ノード群との間に位置する不要なノードのみの表示を省略し、第１ノード群と第２ノード群を近づけて表示することを可能にしているが、上記の規則において、それに加えて、表示を省略すべきノードとして、第１ノード群と第２ノード群との間にはないノードと規定し、それらの外側に位置するノードも非表示にすることも可能である。
【００６４】
すなわち、外側に位置するノードも非表示にすると、例えば、図９に示すような第１ノード群と第２ノード群のみの表示となる。この場合も、省略したノードについて、省略されていることを表す省略記号で表示することができる。
【００６５】
このように外側に位置するノードも非表示にすることで、２つのノード群を並べて表示することができるとともに、それら以外の余分なノードの表示を省略することができるので、見やすくなり、目的のノードに対する作業をより効率的に行うことが可能となる。
【００６６】
表示手段２００は、ツリー構造を表示する際、各ノードについて各データの内容を縮小または省略して表示するが、第１ノード群と第２ノード群を近づけて表示する際、図１０に示すように、第１ノード群および第２ノード群を拡大表示することにより、その内容を拡大して表示または全体表示することができる。全体表示では、省略された内容の全部を表示する。
【００６７】
この拡大表示は、第２ノード群が第１ノードへ近づくにつれて、徐々に拡大表示することができる。大量のノードが１画面中に表示されている場合、データの内容を表す文字や図面等が小さすぎたり、省略された文字等が存在して、それらを読むことができないが、このように拡大表示または全体表示することでそれらを読むことができるようになる。このため、実際にそのノードのデータを開くことなく、その内容を知ることができる。なお、全体表示する際、文字等のサイズは元のサイズとすることもできるし、ノードを表す枠に合わせて拡大して表示することも可能である。
【００６８】
また、各ノードに重み値を関連付け、上記の規則を、上記一定距離以内となったノードまたは重畳されたノード、かつ表示を省略すべきノードを重み値が閾値以下であるノードと規定することができる。重み値は、そのノードが表すデータの重要度に応じて与えることができる。例えば、そのデータがいつ作成されたか、何人のユーザがそのデータを使用したか、そのデータの更新頻度はどの程度か、そのデータが他からどれだけ参照されているか等に応じて与えることができる。また、ユーザが重要度を設定することにより、それに対応する重み値を与えることも可能である。これに限られるものではないが、例えば、障害の深刻度を小、中、大のいずれかを選択することにより重要度を設定し、その重要度に応じた重み値を与えることができる。
【００６９】
一般的に、重要度は、過去に作成されたデータより、現在作成されているデータの方が高く、少ないユーザより多くのユーザが使用しているデータの方が高いと考えられる。また、更新頻度が低いよりは高い方がそのデータに対する関心が高いことから、その重要度も高く、他から参照された回数が少ないよりは多い方がそのデータに対する関心が高いことから、その重要度は高いと考えられる。
【００７０】
重み値は、任意の値として与えることもできるが、更新回数、参照回数、使用回数等として与えることも可能である。判別手段２０８は、ノードが、上記の一定距離以下となった場合または重畳された場合であって、かつ重み値が閾値以下である場合に、そのノードを、表示を省略すべきノードとして判別することができる。このため、判別手段２０８は、そのノードが例え一定距離以下となった場合または重畳された場合であっても、重み値が閾値を超える場合は、省略すべきノードと判別せず、表示を継続させることができる。これにより、重要度が高いノードについては、その表示を省略することなく、その表示を残すことができる。
【００７１】
図１１には、上記の判別において重み値が閾値を超え、重要度が高いと判断されたノードＢ２、Ｃ４が、その表示を省略せずに残されているのが示されている。図１１では、その表示が、重要度が高いことを示すために異なる色で示されている。なお、重要度は、上記のデータがいつ作成されたか等以外のものから判断してもよい。また、閾値は、ユーザが任意の値に設定することができる。
【００７２】
上述した実施形態では、第１ノード群および第２ノード群として識別されたすべてのノードは省略されずにすべて表示されるが、図３に示す指示手段２１０が、ユーザにより設定されたノード表示情報を参照し、第１ノード群および第２ノード群に含まれるノードのうち、表示を省略すべきノードを非表示にするように表示手段２００に指示することも可能である。
【００７３】
ノード表示情報は、ユーザが入力することによりＨＤＤ１０８等の記憶装置に記憶される。指示手段２１０は、判別手段２０８により判別されたノードの表示を省略して第１ノード群および第２ノード群を近隣させて表示するように指示する際、その記憶されたノード表示情報を参照して、第１ノード群および第２ノード群のうちのどのノードを非表示にするかを識別し、その識別したノードの表示も省略するように、表示手段２００に対して指示する。
【００７４】
ノード表示情報としては、例えば、選択したノード、すなわち第１ノードおよび第２ノードと同じ階層にあるノード以外をすべて非表示にするという情報とすることができる。これにより、目的の近傍のデータのみを参照したいという要求に応えることができる。
【００７５】
ノード表示情報としては、そのほか、選択した２つのノードの根ノードのみ、または選択した２つのノードの共通する親ノードのみを表示し、その他のノードをすべて非表示にするという情報とすることも可能である。また、ノード表示情報としては、選択したノードの上下の指定した数の階層のみを表示し、その他の階層については非表示にするという情報であってもよい。
【００７６】
図１１に示すノードＤ３とノードＨ３を選択し、ノードＨ３をノードＤ３へ向けて移動させる場合について説明する。ノード表示情報として、表示する階層がレベル１に指定されている場合、ノードＤ３を含む第１ノード群とノードＨ３を含む第２ノード群との間にあるノードについては上記処理によりその表示を省略し、さらに、ノードＤ３およびノードＨ３の１段上のノードＣ２およびノードＧ３まで表示し、それより上位の階層のノードを非表示にする。レベル２に指定されている場合、ノードＤ３およびノードＨ３の２段上のノードＢ１およびノードＦ２までを表示し、それより上位の階層のノードについては非表示にする。ここでは、ノードＤ３およびノードＨ３より下位にノードが存在しないため、上位方向のみについて説明したが、レベル−１等として、下位についても同様に適用することができる。
【００７７】
このレベルは、予めユーザの入力により設定されていてもよいが、任意の時にユーザがメニュー等を開き、そのメニュー等において自由に設定できるようになされていてもよい。この場合も、近づけることにより拡大表示し、重要度が高いノードについては継続して表示させることができる。
【００７８】
これまで、本発明のデータ表示装置、データ表示方法およびその方法を実行するためのコンピュータ可読なプログラムについて、図面を参照して詳細に説明してきたが、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、２つのノード群の間にあるノードの表示を省略することに限られるものではなく、本発明は、３つ以上のノード群のそれぞれの間にあるノードの表示を省略することも可能である。
【００７９】
上記のプログラムは、フレキシブル・ディスク、CD-ROM、DVD-ROM、SDカード、HDD等の記録媒体に格納して提供することができ、また、インターネット等のネットワークに接続されたサーバ等に格納し、ダウンロード要求に応じて、ネットワークを介して提供することも可能である。
【符号の説明】
【００８０】
１００…データ表示装置、１０２…ＣＰＵ、１０４…ＲＡＭ、１０６…ＲＯＭ、１０８…ＨＤＤ、１１０…入力装置、１１２…ディスプレイ装置、１１４…システム・バス、２００…表示手段、２０２…第１識別手段、２０４…第２識別手段、２０６…移動手段、２０８…判別手段、２１０…指示手段、３００…根ノード、３０２、３０４、３０６、３０８…ノード、４００…画面
【図１】
0005643462.tif 000002
【図２】
0005643462.tif 000003
【図３】
0005643462.tif 000004
【図４】
0005643462.tif 000005
【図５】
0005643462.tif 000006
【図６】
0005643462.tif 000007
【図７】
0005643462.tif 000008
【図８】
0005643462.tif 000009
【図９】
0005643462.tif 000010
【図１０】
0005643462.tif 000011
【図１１】
0005643462.tif 000012