(57)【要約】  リンク湾曲処理モジュールによって、ユーザーは、ノード−リンク・ダイアグラム内のリンクの湾曲をコントロールすることが可能な状態になることが可能である。ノード−リンク・ダイアグラムがユーザーに表示される際に、ユーザーは、ダイアグラムとインタラクションを行って、ダイアグラム内の１つまたは複数のリンクの湾曲を調整して、ダイアグラムの読みやすさを改善することが可能である。リンクの湾曲に対するユーザーの修正が、リンクに接続されるノードの位置が変化しないようにリンクの形状を変更する。そのようなコントロールをユーザーにもたらすことにより、ユーザーは、リンクの視覚ディスプレイをユーザーの好みに変えることが可能になる。
2015521302.tif 000002
【特許請求の範囲】
【請求項１】
第１の視覚的レイアウトでノード−リンク・ダイアグラムを表示するステップであって、前記ノード−リンク・ダイアグラムが複数のノードおよび複数のリンクを有し、各々のリンクが、ソースノードおよびターゲットノードを接続する曲線である、表示するステップと、
表示される前記ノード−リンク・ダイアグラムに対するユーザーアクションであって、リンクのサブセットに関連付けられた１つまたは複数のリンクの湾曲に対する修正を指示するユーザーアクションを検出するステップと、
第２の視覚的レイアウトを生成するステップであって、前記第２の視覚的レイアウトは、前記第１の視覚的レイアウトとは異なる、各々のリンクの修正された湾曲で前記サブセット内の各々のリンクを表示し、修正された形状は、前記サブセット内の各々のリンクに接続されるソースノードおよびターゲットノードの位置を変化させることなく各々のリンクの湾曲を変更する、生成するステップと
を含む、コンピューター実装方法。
【請求項２】
請求項１に記載のコンピューター実装方法であって、前記検出するステップは、
ユーザーにより、前記第１の視覚的レイアウト内の焦点ノードおよび前記焦点ノードに対する散開半径を識別するステップと、
前記散開半径に基づいて、前記焦点ノードに接続される隣接するリンク間の距離を展開するステップと
をさらに含む、コンピューター実装方法。
【請求項３】
請求項２に記載のコンピューター実装方法であって、
ユーザー指定最小分離角度を満たし、リンク交差を最小化する、前記焦点ノードに接続される各々のリンクに対する隣接するリンク間の分離の角度を決定するステップ
をさらに含むコンピューター実装方法。
【請求項４】
請求項３に記載のコンピューター実装方法であって、
前記隣接するリンク間の最小ユーザー指定分離を条件として、前記焦点ノードの中心からターゲットノードの中心までの、各々のリンクの長さを最小化するステップ
をさらに含むコンピューター実装方法。
【請求項５】
請求項３に記載のコンピューター実装方法であって、
隣接するリンク間の分離の前記角度内にラベルを挿入するステップ
をさらに含むコンピューター実装方法。
【請求項６】
プロセッサー実行可能命令を記憶するコンピューター可読記憶媒体であって、
プロセッサー上で実行されると、ユーザーにノード−リンク・ダイアグラムを表示する命令であって、前記ノード−リンク・ダイアグラムは複数のノードおよびリンクを有し、各々のリンクは、ソースノードをターゲットノードに接続する曲線である、表示する命令と、
プロセッサー上で実行されると、前記ノード−リンク・ダイアグラムに対して行われるユーザーアクションであって、前記ノード−リンク・ダイアグラム内の１つまたは複数のリンクに対する湾曲に対する修正をアクティブ化するためのユーザーアクションを検出する命令と、
プロセッサー上で実行されると、各々のリンクのソースノードの位置および各々のリンクのターゲットノードの位置を変化させることなく、検出された前記ユーザーアクションに基づいて、１つまたは複数のリンクに対する修正された湾曲を決定する命令と
を含むコンピューター可読記憶媒体。
【請求項７】
請求項６に記載のコンピューター可読記憶媒体であって、
プロセッサー上で実行されると、ユーザーが、前記ノード−リンク・ダイアグラム内の前記リンクとインタラクションを行って、リンクのバンドルを識別することを可能にする命令であって、リンクの前記バンドルの隣接するリンク間の分離の角度は、第１のユーザーアクションによって修正される、可能にする命令
をさらに含むコンピューター可読記憶媒体。
【請求項８】
請求項７に記載のコンピューター可読記憶媒体であって、
プロセッサー上で実行されると、リンクの前記バンドル内の前記リンクの再配置構成を指示する第２のユーザーアクションを検出する命令と、
プロセッサー上で実行されると、前記第２のユーザーアクションに応答して前記バンドル内の前記リンクの前記再配置構成を表示する命令と
をさらに含むコンピューター可読記憶媒体。
【請求項９】
請求項６に記載のコンピューター可読記憶媒体であって、
プロセッサー上で実行されると、ユーザーが、インタラクティブリンクマグネットを利用して、前記インタラクティブリンクマグネットに関連付けられたデーター属性と一致する１つまたは複数のリンクの湾曲をコントロールすることを可能にする命令
をさらに含むコンピューター可読記憶媒体。
【請求項１０】
請求項６に記載のコンピューター可読記憶媒体であって、
プロセッサー上で実行されると、ユーザーが、モデル曲線の１つまたは複数のコントロールポイントを、前記ノード−リンク・ダイアグラム内の前記モデル曲線に関連付けられたすべてのリンクの湾曲を変更するようにコントロールすることを可能にする命令
をさらに含むコンピューター可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]グラフは、構造化様式でデーターを提示するためによく使用されるデーター構造である。グラフはノードおよびリンクからなり、各々のノードはオブジェクトを表し、「エッジ」としてもまた知られているリンクは、ソースノードをターゲットノードに接続する。グラフは、情報のフローをモデル化するため、エンティティー間のリレーションシップをモデル化するため等々で、種々のアプリケーションにおいてよく使用される。例えばソーシャルネットワークでは、グラフのノードは個人を表す場合があり、エッジは２人の個人間のリレーションシップを表す場合がある。航空会社ネットワークでは、ノードは都市を表す場合があり、一連のエッジが１つの都市から別の都市へのルートを表す場合がある。
【０００２】
[0002]ノード−リンク・ダイアグラムは、グラフを視覚化するために使用されるコンストラクトであり、ボックスまたはドットなどのグラフィカルオブジェクトがノードを描写し、曲線が、２つのノード間のリンクを表すために使用される。多数のノードおよびリンクを有するノード−リンク・ダイアグラムは、視覚的に雑然とした状態になることで不利を招く。視覚的に雑然とした状態は、複数のリンクが相互に重複し、そのことによって、特定のリンクまたはリンクのサブセットを区別することが困難になるときのリンクの密集に起因することが多い。
【発明の概要】
【０００３】
[0003]この概要は、下記の詳細な説明においてさらに説明される概念の選択物を、単純化された形式で紹介するために提供されるものである。この概要は、特許請求される主題の主要な特徴または本質的な特徴を識別することは意図されず、この概要は、特許請求される主題の範囲を限定するために使用されることもまた意図されない。
【０００４】
[0004]ユーザーは、ノード−リンク・ダイアグラムと動作中にインタラクションを行って（ｉｎｔｅｒａｃｔ  ｗｉｔｈ；相互作用してまたは対話して）、追加的な視覚的な鮮明さを要するダイアグラムの一部分を識別することが可能である。特に、密集したリンクは、ダイアグラムの読みやすさを改善するために数多くの形で分離され得る。インタラクティブ（ｉｎｔｅｒａｃｔｉｖｅ；相互作用的または対話的）リンク散開（ｆａｎｎｉｎｇ）技法によって、ユーザーは、ユーザー指定散開半径にリンクを展開する（ｓｐｒｅａｄ）、または散開させることにより、ノードに接続されるリンクの湾曲を変更することが可能になる。最小分離角度が、ユーザー指定散開半径に基づいて決定され、ユーザー指定散開半径はしたがって、隣接するリンク間で必要とされる最小分離角度を決定するために使用される。リンクを表すために使用される滑らかな曲線は、リンク曲線は滑らかであり最小量だけ分離されなければならないという制約を条件として、各々のリンクの、その各々のリンクのソースノードからその各々のリンクのターゲットノードまでの長さを最小化するように計算される。
【０００５】
[0005]インタラクティブリンクバンドル技法によって、ユーザーは、自動的に生成される、またはユーザー定義のコントロールポイントを通る共通パスを共有すべきであるリンクのサブセットを選択することが可能になる。ユーザーは、これらのコントロールポイントの場所およびサイズを直接操作して、バンドルパスをさらに設定し直すこと、または、バンドル内部のリンク曲線の分離を調整することが可能である。
【０００６】
[0006]インタラクティブリンクマグネット技法によって、ユーザーは、インタラクティブリンクマグネットと呼ばれるドラッグ可能なグラフィックオブジェクトを使用して、インタラクティブリンクマグネットと一致するデーター属性を有するリンクを磁気的に吸引することが可能になる。磁気吸引は、マグネットに向かう方向に、一致するリンクの湾曲を変更し、そのことにより、より良好な視覚化のために、その一致するリンクをノード−リンク・ダイアグラムの残りのものから展開する。
【０００７】
[0007]インタラクティブリンク凡例技法によって、ユーザーは、ノード−リンク・ダイアグラムの凡例の部分であるモデル曲線の形状をコントロールすることが可能になる。ユーザーは、モデル曲線上の１つまたは複数のコントロールポイントとインタラクションを行って、モデル曲線に関連付けられたリンクの湾曲を変更することが可能である。次いで結果的な湾曲が、ノード−リンク・ダイアグラムの至るところに、モデル曲線に関連付けられたすべてのリンクに伝達される。
【０００８】
[0008]これらおよび他の特徴および利点が、以下の詳細な説明を読むこと、および、関連付けられた図面のレビューから明らかとなろう。前述の全体的な説明および以下の詳細な説明の両方が、単に説明的であり、特許請求されるような態様に関して制限をかけるものではないということが理解されるべきである。
【図面の簡単な説明】
【０００９】
【図１】ノード−リンク・ダイアグラム内部のリンクの湾曲をコントロールするための能力をユーザーにもたらす、例示的なシステムを図示する図である。
【図２】例示的なノード−リンク・ダイアグラムを図示する図である。
【図３Ａ】インタラクティブリンク散開を示す例示的な説明図である。
【図３Ｂ】インタラクティブリンク散開を示す例示的な説明図である。
【図３Ｃ】インタラクティブリンク散開を示す例示的な説明図である。
【図４】インタラクティブリンクバンドルを示す例示的な説明図である。
【図５Ａ】インタラクティブリンクマグネットを示す例示的な説明図である。
【図５Ｂ】インタラクティブリンクマグネットを示す例示的な説明図である。
【図５Ｃ】インタラクティブリンクマグネットを示す例示的な説明図である。
【図６Ａ】インタラクティブリンク凡例を示す例示的な説明図である。
【図６Ｂ】インタラクティブリンク凡例を示す例示的な説明図である。
【図７】インタラクティブリンク湾曲処理の例示的な方法を図示するフロー図である。
【図８】インタラクティブリンク散開の第１の例示的な方法を図示するフロー図である。
【図９】インタラクティブリンク散開の第２の例示的な方法を図示するフロー図である。
【図１０Ａ】インタラクティブリンク散開を示す例示的な説明図である。
【図１０Ｂ】インタラクティブリンク散開を示す例示的な説明図である。
【図１１】インタラクティブリンクバンドルの例示的な方法を図示するフロー図である。
【図１２】インタラクティブリンクマグネットの例示的な方法を図示するフロー図である。
【図１３】インタラクティブリンク凡例の例示的な方法を図示するフロー図である。
【図１４Ａ】インタラクティブリンク凡例内のリンクの湾曲を変更するために使用されるインタラクション（ｉｎｔｅｒａｃｔｉｏｎ；相互作用または対話）を示す例示的な説明図である。
【図１４Ｂ】インタラクティブリンク凡例内のリンクの湾曲を変更するために使用されるインタラクションを示す例示的な説明図である。
【図１４Ｃ】インタラクティブリンク凡例内のリンクの湾曲を変更するために使用されるインタラクションを示す例示的な説明図である。
【図１５】動作環境を図示するブロック図である。
【図１６】例示的なコンピューティングデバイスを図示するブロック図である。
【発明を実施するための形態】
【００１０】
[0025]様々な実施形態は、ユーザーが、ノード−リンク・ダイアグラム内のリンクの湾曲をコントロールすることを可能にするための技術に関するものである。ノード−リンク・ダイアグラムがユーザーに表示される際に、ユーザーは、ダイアグラムとインタラクションを行い、ダイアグラム内の１つまたは複数のリンクの湾曲を調整して、ノード−リンク・ダイアグラムの読みやすさを改善することが可能である。ノード−リンク・ダイアグラム内のリンクは、注意深く作成されたコントロールポイントによるスプラインとして描画される滑らかな曲線として提示される。リンクの湾曲は、滑らかな曲線の振幅および／または傾斜角度が拡大され、一方でリンクに接続されるノードは同じ位置のままであるように変更され得る。そのようなコントロールをユーザーにもたらすことにより、ユーザーは、リンクの視覚ディスプレイをユーザーの好みに変えることが可能になる。
【００１１】
[0026]実施形態は４つの技法、すなわち、インタラクティブリンク散開、インタラクティブバンドル、インタラクティブリンクマグネット、およびインタラクティブリンク凡例を扱う。各々の技法は、ノード−リンク・ダイアグラムとリアルタイムでインタラクションを行うための異なる能力をユーザーにもたらす。インタラクティブリンク散開技法によって、ユーザーは、ユーザー指定散開半径にリンクを展開する、または散開させることにより、ノードに接続されるリンクの湾曲を変更することが可能になる。曲線コントロールポイントが、隣接するリンク間のユーザー指定最小分離角度を達成するために自動的に設置される。リンクを表すために使用される滑らかな曲線は、最小分離角度を考慮するように、一方で、各々のリンクの、その各々のリンクのソースノードからその各々のリンクのターゲットノードまでの長さを最小化するように計算される。
【００１２】
[0027]インタラクティブリンクバンドル技法によって、ユーザーは、自動的に生成される、またはユーザー定義のコントロールポイントを通る共通パスを共有すべきであるリンクのサブセットを選択することが可能になる。ユーザーは、これらのコントロールポイントの場所およびサイズを直接操作して、バンドルパスをさらに設定し直すこと、または、バンドル内部のリンク曲線の分離を調整することが可能である。
【００１３】
[0028]インタラクティブリンクマグネット技法によって、ユーザーは、インタラクティブリンクマグネットと呼ばれるドラッグ可能なグラフィックオブジェクトを使用して、インタラクティブリンクマグネットと一致するデーター属性を有するリンクを磁気的に吸引することが可能になる。磁気吸引は、マグネットに向かう方向に、一致するリンクの湾曲を変更し、そのことにより、より良好な視覚化のために、その一致するリンクをノード−リンク・ダイアグラムの残りのものから展開する。
【００１４】
[0029]インタラクティブリンク凡例技法によって、ユーザーは、ノード−リンク・ダイアグラムの凡例の部分であるモデル曲線の形状をコントロールすることが可能になる。ユーザーは、モデル曲線上の１つまたは複数のコントロールポイントとインタラクションを行って、モデル曲線に関連付けられたリンクの湾曲を変更することが可能である。次いで結果的な湾曲が、ノード−リンク・ダイアグラムの至るところに、モデル曲線に関連付けられたすべてのリンクに伝達される。
【００１５】
[0030]次に注意は、ユーザーが、ノード−リンク・ダイアグラム内のリンク湾曲をインタラクティブでコントロールすることを可能にする例示的なシステムのディスカッションに向かう。図１は、インタラクティブリンク湾曲処理モジュール１０２を有する例示的なシステム１００のブロック図を図示するものであり、インタラクティブリンク湾曲処理モジュール１０２は、ノード−リンク・ダイアグラム１０４、および、ユーザーインタラクションモジュール１０６により検出されるユーザーアクションを受信する。検出されるユーザーアクションに基づいて、インタラクティブリンク湾曲処理モジュール１０２は、１つまたは複数のリンクの湾曲を変更し、スプライン・レンダリング・モジュール１１８を用いて、ノード・リンク・ダイアグラム１０４の修正された一部分をレンダリングする。
【００１６】
[0031]インタラクティブリンク湾曲処理モジュール１０２は、インタラクティブリンク散開モジュール１１０、インタラクティブバンドルモジュール１１２、インタラクティブリンクマグネットモジュール１１４、および／または、インタラクティブ凡例モジュール１１６などの、任意の１つまたは複数の統合リンク湾曲技法を含み得る。インタラクティブリンク湾曲処理モジュール１０２は、ユーザーアクションによってノード−リンク・ダイアグラム１０４を修正し、そのことにより、ユーザーの好みに変えられた、修正されたノード−リンク・ダイアグラム１０８を生成する。
【００１７】
[0032]システム１００は、プログラム可能命令を実行することが可能な任意のタイプの電子デバイスであり得るコンピューティングデバイス上で実装され得る。コンピューティングデバイスは、モバイルデバイス、携帯情報端末、モバイルコンピューティングデバイス、スマートフォン、携帯電話、ハンドヘルドコンピューター、サーバー、サーバーアレイもしくはサーバーファーム、Ｗｅｂサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピューター、メインフレームコンピューター、スーパーコンピューター、ネットワーク機器、Ｗｅｂ機器、分散コンピューティングシステム、マルチプロセッサーシステム、またはそれらの組み合わせとして実装され得る。
【００１８】
[0033]ノード−リンク・ダイアグラム１０４は、ノードのセットおよびリンクのセットを有するグラフである。リンクは、２つのノードを接続するエッジである。ノード−リンク・ダイアグラム１０４は、限定ではなく、ソーシャルネットワーク、物理的システムに関連付けられた状態機械、航空交通ネットワーク、コンピュータープログラムのデーターフロー、通信ネットワーク等々のような、任意のタイプのシステムを表すために使用され得るデーター構造である。図２を参照すると、Ｎ１〜Ｎ１９とラベル設定されたノード、および、ノードを相互に接続するリンクのコレクションを有するノード−リンク・ダイアグラム１０４が示されている。図２に示されるようなノード−リンク・ダイアグラム１０４は、ノード−リンク・ダイアグラム１０４内部で区別するのが困難であるリンクの密度が高いコレクションを示す。インタラクティブリンク湾曲処理モジュール１０２は、ノード−リンク・ダイアグラム１０４内部のリンクの視覚的表現を改善し、そのことにより、ノード−リンク・ダイアグラム１０４のユーザーの理解を改善するように構成される。
【００１９】
[0034]実施形態はノード−リンク・ダイアグラムに限定されず、実施形態は、限定ではなく、ツリーマップ、ツリー、グラフ等々の上のリンクオーバーレイなどの、他のタイプのグラフィカル表現に適用され得るということが留意されるべきである。
【００２０】
[0035]図１に戻って参照するとユーザーは、ユーザーインタラクションモジュール１０６を通してインタラクティブリンク湾曲処理モジュール１０２とインタラクションを行うことが可能である。ユーザーインタラクションモジュール１０６は、任意のタイプの入力デバイス、または入力デバイスの組み合わせにより受信され得るユーザー入力を処理するための任意の機能性を表す。入力デバイスは、マウス、キーボード、タッチスクリーンディスプレイ等々であり得る。ユーザーインタラクションモジュール１０６は、マウスクリック、キー入力、ジェスチャー、タッチ、音声コマンド、および任意の他のタイプのユーザーアクションを検出することが可能である。ユーザーアクションが、ノード−リンク・ダイアグラム１０４が表示される間に検出されるとき、ユーザーアクションはインタラクティブリンク湾曲処理モジュール１０２に送信される。
【００２１】
[0036]インタラクティブリンク散開モジュール１１０は、１つまたは複数のノードでの隣接するリンク間の分離距離を拡大し、そのことにより、特定のノードに関連付けられたリンクの読みやすさを改善するために使用され得る。図３Ａを参照すると、ノードＡ１２２を有するノード−ダイアグラム１２４の一部分が示されており、ノードＡ１２２は、９つのリンクがそのノードに進入し、４つのリンクがそのノードから外出する。ノードに進入するリンクのいくつかが重複し、そのことによって、リンクが表すフローを理解することが困難になっている。図３Ｂは、ノードＡ１２２に関連付けられたリンクが、各々のリンク間に空間が存在するように散開される、ノード−リンク・ダイアグラム１２６を示す。各々のリンク間の空間は、図３Ｃに示されるように、ノード−リンク・ダイアグラム１２８内の各々のリンクに対してのラベル、ラベル１〜ラベル９を挿入するために使用され得る。
【００２２】
[0037]図１に戻って参照すると、インタラクティブバンドルモジュール１１２は、ユーザーが、リンクのサブセットであって、より明確にそれらのリンクを区別するレイアウトで観視することをユーザーが望む、リンクのサブセットを選択することを可能にするために利用され得る。図４は、インタラクティブバンドル技法の例を図示する。ユーザーは、関心のリンクを通して線を描画することによりリンクのサブセットを選択することが可能である。インタラクティブバンドルモジュール１１２は、バンドル内の各々のリンク１３４、１３６、１３８、１４０、１４２の間に角度の分離が存在し、そのことによって、各々のリンクが簡単に区別できるということが可能になる、リンクのレイアウト１３１を生成する。図４に示されるように、ユーザーにより選択されるリンクは、減衰円１３２内に表示されて示され、各々のリンク１３４、１３６、１３８、１４０、１４２は、距離Ｓだけ各々の隣接するリンクから分離される。
【００２３】
[0038]図１に戻って参照すると、インタラクティブリンクマグネットモジュール１１４によって、ユーザーは、同じ特定のデーター属性に関連付けられたリンクの湾曲をコントロールすることが可能になる。データー属性は、リンクのサブセットに関連付けられる識別子またはラベルであり得る。例えばノード−リンク・ダイアグラムは、各々のルートが一連のリンクからなる航空会社ルートを包含し得る。ルート内の各々のリンクは、ルートをサービス提供する航空会社の運輸業者の名前に対応するデーター属性に関連付けられる場合がある。ユーザーは、より明確に特定の航空会社の運輸業者に関連付けられたリンクを観視することを望む場合がある。仮想マグネットが、それらのリンクを、それらのリンクがノード−リンク・ダイアグラム１０４内のリンクの残りのものから区別できるように、マグネットの位置に向けて引き出すために使用され得る。
【００２４】
[0039]図５Ａは、３つのリンク１５２、１５４、１５６、およびノード１４８、１５０を有するノード−リンク・ダイアグラムの一部分を示す。図５Ｂはマグネット１６０の配置を示し、マグネット１６０は、そのマグネットに関連付けられたデーター属性に対する一致するデーター属性を有するリンク１５８を吸引する。マグネット１６０の磁気の強さが、ノード１４８、１５０の配置を変更することなくリンク１５８の湾曲を変更する。図５Ｂに示されるように、磁気力の方向が角度αにより示され、マグネットの強さが、リンクの元の位置から半径ｒ１の距離でリンクを引く。半径ｒ２は、マグネットの中心に対する新しい湾曲の距離である。マグネット１６０は、修正されたリンク１５８を表すスプライン曲線を生成するために使用されるコントロールポイントｃ１〜ｃ５により定義される曲線にリンクの湾曲を変更する。
【００２５】
[0040]リンクマグネットは、半径により特徴付けられる磁気の強さを伴う明確な中心点を有する円形の形状として示されたが、ポリラインマグネットなどの他の形状が使用される場合がある。例えば図５Ｃは、線状のフォーマットで配置構成される２つのマグネット１６４、１６６を有する線マグネット１６８を図示する。各々のマグネット１６４、１６６は、図５Ｂに関して上記で述べられたように動作し、ノード−リンク・ダイアグラムのより広い領域にわたっていくつかのリンクの湾曲をコントロールすることが可能であるということをユーザーにもたらす。
【００２６】
[0041]図１に戻って参照すると、インタラクティブ凡例モジュール１１６によって、ユーザーは、ノード−リンク・ダイアグラムの部分である凡例に示されるリンクの湾曲を表すモデル曲線を変更することにより、共通属性を共有するリンクのサブセットの湾曲をコントロールすることが可能になる。図６Ａを参照すると、ある種の細菌株の反応を図示するノード−リンク・ダイアグラム１６８が示されている。ノード−リンク・ダイアグラム１６８は、各々のソースノードが基質を表し、デスティネーションノードが生成物である有向グラフである。ソースノードとデスティネーションノードとの間のリンクが細菌株を表す。ノード−リンク・ダイアグラム１６８は、ノード−リンク・ダイアグラム１６８内の各々の細菌株に関連付けられたモデル曲線を示す凡例１７０を有する。ｒｅｐｔｏｃｏｃｃｕｓ−ｐｙｏｇｅｎｅｓ菌株を表すリンクに関連付けられたモデル曲線１７８、ｍｏ−ｓａｐｉｅｎｓ菌株を表すリンクに関連付けられたモデル曲線１８０、およびｃｈｅｒｉｃｈｉａ−ｃｏｌｉ菌株を表すリンクに関連付けられたモデル曲線１８２が存在する。
【００２７】
[0042]各々のモデル曲線は、対応するコントロールポイント１７２、１７４、１７６を有する。ユーザーは、特定の細菌株に関連付けられたモデル曲線上のコントロールポイントを使用して、同じ細菌株に関連付けられたすべてのリンクの湾曲の振幅および傾斜角度を変更することが可能である。次いでモデル曲線に対して行われた修正が、ノード−リンク・ダイアグラムの至るところに、モデル曲線に関連付けられた特定の細菌株に関連付けられたすべてのリンクに戻るように伝達される。図６Ｂは、ノード−リンク・ダイアグラム１８６全体の至るところに伝達されたリンク湾曲修正を示す。
【００２８】
[0043]図１に戻って参照すると、スプライン・レンダリング・モジュール１１８は、ノード−リンク・ダイアグラム内の修正されたリンクを描画するために使用され得る。リンクは、スプライン（例えば、ベジエスプラインまたはＢ−スプライン曲線、カーディナルスプライン等）として実装され得る曲線として作成される。Ｂ−スプライン曲線は、連続曲線を形成するために一体に接続される一連の曲線セグメントである。Ｂ−スプラインは通常は、４つのコントロールポイントおよび多項式のセットにより定義される。スプライン・レンダリング・モジュール１１８は、曲線を表すコントロールポイントの座標および多項式のセットを使用して曲線を作成する。
【００２９】
[0044]Ｂ−スプライン曲線は、コントロールポイントおよびノットベクトル（ｋｎｏｔ  ｖｅｃｔｏｒ）により定義される。ノットベクトルはノットポイントのセットを包含し、各々のノットポイントは、曲線を曲線セグメントに再分割する曲線上の位置である。ノットの値は、曲線全体の形状を変化させることなく特定の曲線セグメントの形状を変化させるために使用される。インタラクティブリンク湾曲処理モジュール１０２は、ユーザーのアクションに準拠する１つまたは複数のリンクの湾曲を生成するために、Ｂ−スプライン曲線の１つまたは複数の曲線セグメントを変更する。
【００３０】
[0045]実施形態の一部が、図示目的でＢ−スプライン曲線に関して説明されている。しかしながら実施形態はＢ−スプライン曲線に制約されず、限定ではなく、２次または３次ベジエ曲線、一様またはカーディナルスプライン等のような、他のそのような滑らかな曲線が利用され得る。
【００３１】
[0046]インタラクティブリンク散開モジュール１１０、インタラクティブバンドルモジュール１１２、インタラクティブリンクマグネットモジュール１１４、インタラクティブ凡例モジュール１１６、およびスプライン・レンダリング・モジュール１１８は、プロセッサーにより実行されるときに、プロセッサーに、規定されたタスクによる方法および／または動作を実行させる、一連のコンピュータープログラム命令であり得る。これらのモジュールは、プログラムコード、プログラム、プロシージャー、モジュール、コードセグメント、プログラムスタック、ミドルウェアー、ファームウェアー、メソッド、ルーチン等々として実装され得る。実行可能コンピュータープログラム命令は、ある種の機能を実行するようにコンピューターに命令するための、定義済みのコンピューター言語、様式または構文によって実装され得る。命令は、任意の適切な高水準、低水準、オブジェクト指向、視覚的、コンパイラー型、および／またはインタープリター型のプログラミング言語を使用して実装され得る。
【００３２】
[0047]インタラクティブリンク散開モジュール１１０、インタラクティブバンドルモジュール１１２、インタラクティブリンクマグネットモジュール１１４、および／またはインタラクティブ凡例モジュール１１６の、任意の１つまたは組み合わせは、コンピューターグラフィックスを利用してグラフおよび／またはダイアグラムを視覚化するソフトウェアーアプリケーションの形で実施され得る。そのようなソフトウェアーアプリケーションの例は、限定ではなく、統合開発環境（ＩＤＥ）、スプレッドシートプログラム、グラフィックスエディターまたはダイアグラムエディター、ページレイアウトまたはページデザインのソフトウェアー、Ｗｅｂブラウザー、プレゼンテーション・グラフィックス・アプリケーション、ワードプロセッシング・アプリケーション等々を含み得る。
【００３３】
[0048]図１に示されるシステム１００は、ある種の構成で限定された数の要素を有するが、システム１００は、代替構成ではより多い、またはより少ない要素を含み得るということが十分認識されるべきである。さらに様々な実施形態では、本明細書で説明されるシステム１００は、複数の要素、プログラム、プロシージャー、モジュールを有するコンピューター実装システムを備え得る。本明細書ではこれらの用語は、ハードウェアー、ハードウェアーおよびソフトウェアーの組み合わせ、またはソフトウェアーのいずれかを備えるコンピューター関係エンティティーを指すことが意図される。例えば要素は、プロセッサー上で走るプロセス、ハードディスクドライブ、（光学および／または磁気記憶媒体の）複数の記憶ドライブ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピューターとして実装され得る。図示のために、サーバー上で走るアプリケーション、およびサーバーの両方が要素となる場合がある。１つまたは複数の要素が、実行のプロセスおよび／またはスレッド内部に存在する場合があり、要素は、所与の実装形態に対して所望に応じて、１つのコンピューター上に局在させられる場合があり、および／または、２つ以上のコンピューター間で分散させられる場合がある。実施形態は、この様式で限定されない。
【００３４】
[0049]次に注意は、様々な例示的な方法に向かう。代表的な方法は、別段の指示がない限り、必ずしも提示される順序で、または任意の特定の順序で実行される必要はないということが十分認識され得る。さらに、方法に関して説明される様々な活動は、シリアルもしくはパラレルの手法、または、シリアルおよびパラレルの動作の任意の組み合わせで実行され得る。方法は、設計および実行の制約の所与のセットに対して所望に応じて、説明される実施形態または代替実施形態の、１つまたは複数のハードウェアー要素および／またはソフトウェアー要素を使用して実装され得る。例えば方法は、論理デバイス（例えば、汎用または特殊目的コンピューター）による実行のための論理（例えば、コンピュータープログラム命令）として実装され得る。
【００３５】
[0050]図７は、ノード−リンク・ダイアグラム内のリンクの湾曲を修正するための例示的な方法２００のフロー図を図示する。方法２００は、本明細書で説明される１つまたは複数の実施形態により実行される動作の、一部またはすべてを表し得るということ、および方法は、図７で説明されるものより多い、または少ない動作を含み得るということが留意されるべきである。
【００３６】
[0051]図７を参照すると、ノード−リンク・ダイアグラムが、第１のレイアウトでユーザーに表示される（ブロック２０２）。ユーザーインタラクションモジュール１０６が、ノード−リンク・ダイアグラム上で実行されるユーザーアクションを検出する（ブロック２０４）。ユーザーアクションに基づいて、インタラクティブリンク湾曲方法の１つがアクティブ化され得る。ユーザーがタッチ、ジェスチャー等々を起こして、ノードのリンクを散開させる場合（ブロック２０６−はい）、インタラクティブリンク湾曲方法が実行され得る（ブロック２０８）。そうでない場合（ブロック２０６−いいえ）、ユーザーがノード−リンク・ダイアグラム上でリンクのセットを通して線を描画する場合（ブロック２１０−はい）、インタラクティブリンクバンドル方法が実行され得る（ブロック２１２）。そうでない場合（ブロック２１０−いいえ）、ユーザーがマグネットの使用を促進する場合（ブロック２１４−はい）、インタラクティブリンクマグネット方法が実行され得る（ブロック２１６）。そうでない場合（ブロック２１４−いいえ）、ユーザーが凡例内のモデル化された曲線上のコントロールポイントとインタラクションを行う場合（ブロック２１８−はい）、インタラクティブリンク凡例方法が実行され得る（ブロック２２０）。そうでない場合（ブロック２１８−いいえ）、プロセスは次のユーザーアクションを待機する（ブロック２０４）。各々の方法（ブロック２０８、２１２、２１６、２２０）の実行が完了すると、ノード−リンク・ダイアグラムの新しいレイアウトがユーザーに表示され（ブロック２０９）、プロセスは次のユーザーアクションを待つ（ブロック２０４）。
【００３７】
[0052]図８は、インタラクティブリンク散開を実行するための例示的な方法２０８のフロー図を図示する。方法２０８は、本明細書で説明される１つまたは複数の実施形態により実行される動作の、一部またはすべてを表し得るということ、および方法は、図８で説明されるものより多い、または少ない動作を含み得るということが留意されるべきである。
【００３８】
[0053]インタラクティブリンク散開では、ノードに接続される隣接するリンク間の分離が、特定のノードに接続されるリンクの読みやすさを改善するために増大される。隣接するリンク間の分離が増大されることによって、リンクに関連付けられることになる凡例または他の標示の挿入が可能になる。１つまたは複数の実施形態では、隣接するリンク間の分離距離は同じサイズになるように計算され得るが、このことによって、リンクの、そのリンクのターゲットノードまでの長さが増大される結果になる場合がある。他の実施形態では、隣接するリンク間の分離距離は、各々のリンクの、焦点ノードからその各々のリンクのそれぞれのターゲットノードまでの長さを最小化すること、およびリンク交差の数を最小化することを条件として、所望の展開半径を生み出すために必要とされる最小サイズとなるように計算され得る。
【００３９】
[0054]インタラクティブリンク散開モジュール１１０への入力は、以下のもの、すなわち、（１）選択されたノードもしくは焦点ノードに付着させられるリンクのセット、（２）焦点ノードの中心点、（３）焦点ノードに付着させられるリンクの各々に対するターゲットノードの中心点、（４）内側曲線セグメントに対するコントロールポイントを決定するために使用される、焦点ノードの中心の周囲の内側円に対する最小半径ｒ１、（５）各々の円が追加的なスプラインセグメントに対するコントロールポイントを決定するために使用される、いくつかの追加的な同心円、（６）隣接するリンク間の最小分離Ｓ、および／または、（７）同心円の各々に対する最小半径ｒ１〜ｒｎであり得る。各々の同心円は、追加的なスプラインセグメントに対するコントロールポイントを決定するために使用される。インタラクティブリンク散開モジュール１１０の出力は、各々のリンクの修正された湾曲を構成する曲線セグメントを表すコントロールポイントである。
【００４０】
[0055]インタラクティブリンク散開モジュール１１０は、焦点ノードの中心から各々のターゲットノードの中心までの直線を配置することになるコントロールポイントを決定することにより、各々のリンクに対する初期配置を決定する。これらのコントロールポイントは、内側円の円周上に配置される。これらのコントロールポイントは、リンクの、焦点ノードからそのリンクのターゲットノードまでの、最短距離、または最小限の長さを表す。
【００４１】
[0056]次いでリンクは、時計回りの順序で分析される。次いで、最小分離角度を満たさない各々のリンクが前のリンクのチェーンに入れられ、最小分離角度を超えるリンクが新しいチェーンに配置される。各々のチェーンは、最小分離要件を満たさない隣接するリンクを包含する。すべてのリンクを訪問した後には、チェーンのセットが存在し得る。
【００４２】
[0057]次いで各々のチェーン内のリンクが、プロクラステス分析を使用して最小角度分離を満足させるように散開される。プロクラステス分析は、チェーン内の各々のリンクが最小分離角度を達成するためにどれだけ移動させられるべきであるかを指示する、固定スケールおよび／または回転不変制約の射影を探し出すために使用される数学的技法である。この射影によって、最適な移動が、各々のリンクに対して、他のリンクを可能な限りほとんど移動させない状態で決定されるということが可能になる。プロクラステス分析によって、リアルタイムで実行される移動決定の高速な処理が可能になる。ただし散開の後に、新しい重複がチェーン間で引き起こされる場合があり、リンクが、必要以上に隣接するリンクの近くに位置する場合がある。この理由でチェーンは再分析され、散開が再適用される場合がある。
【００４３】
[0058]図８を参照すると、ユーザーインタラクションモジュール１０６は、ユーザーがノードにタッチしたことを検出することが可能である（ブロック２２２）。ユーザーは２つの指のジェスチャーを使用して、ノードを選択すること、および、ノードを被包する円の半径（すなわち、散開または展開半径）を同時にコントロールすることが可能である（ブロック２２２）。図１０Ａを参照すると、ノード２４４上でインタラクティブリンク散開を始動するために使用され得る、２つの指のジェスチャーが示されている。右手２４６の人さし指が、ノード２４４を選択するために使用され得るとともに、左手２５０の人さし指が、初期散開半径２４８をコントロールするために使用され得る。
【００４４】
[0059]図８に戻って参照すると、隣接するリンク間の最小分離、および同心円の数が決定される（ブロック２２４）。隣接するリンク間の最小分離Ｓは、満足のいく最小限の角度を与えるようにユーザーにより指定される任意の分離であり得るが、範囲：Ｓ≦（リンクの数）／（内側円の円周）の中であるべきである。内側円の円周は、ユーザーにより提供される散開半径に基づく。追加的な同心円の数および寸法は、ユーザー入力であり得る、または、最長リンクの長さにより自動的に決定され得る。追加的な同心円の最大のものの半径は、焦点ノードから最遠のターゲットノードの距離を超えないことになる。各々の同心円はコントロールポイントのセットを生み出し、それらのコントロールポイントのセットは、他の同心円からのコントロールポイントと組み合わされるときにリンクの湾曲を形成する、スプラインセグメントを生成するために使用される。
【００４５】
[0060]次いで、リンクの順序付けが決定される（ブロック２２６）。１つまたは複数の実施形態では順序は、焦点ノードの中心からのリンクのエンドポイントの時計回りの位置に基づくものであり得る（ブロック２２６）。次に初期コントロールポイントが内側円の円周上に配置され、コントロールポイントは、曲線であって、焦点ノードの中心からその曲線のターゲットノードの中心までの最短の長さを有する曲線を生み出すことになる（ブロック２２８）。次いで分離の角度が、各々のリンクに対して、焦点ノードの中心からターゲットノードの中心までの各々のリンクの長さを最小化しながら、最小分離角度が満たされるように決定される（ブロック２３０）。ブロック２２６〜２３０が、追加的なコントロールポイントを生成する必要がある各々の追加的な同心円に対して繰り返される。追加的な円が求められる場合（ブロック２３２−はい）、ブロック２２６〜２３０が繰り返される。すべての円が処理されたとき（ブロック２３２−いいえ）、各々のリンクが、コントロールポイントを通過する滑らかな曲線として描画される（ブロック２３４）。
【００４６】
[0061]図９は、各々のリンクに対する分離の角度を決定するために使用されるステップを図示する。各々のリンクが、ブロック２２６で前に決定された時計回りの順序で分析される（ブロック２３６）。リンクと隣接するリンクとの間の分離の現在の角度が所望の最小分離角度より少ない場合、リンクは、時計回りの順序でそのリンクに先行するリンクのチェーン内に配置される（ブロック２３８）。コントロールポイントが、最小分離角度を満たす現在の円の円周上に配置される（ブロック２３８）。リンクと隣接する角度との間の分離の現在の角度が最小分離角度より多い場合、リンクは新しいチェーン内に配置される（ブロック２４０）。すべてのリンクが分析された後、各々のチェーンが次いで分析される。
【００４７】
[0062]各々のチェーンに対して（ブロック２４２）、プロクラステス分析が、最小分離角度を満たし、リンクの長さを最小化する、チェーン内の各々のリンクに対するコントロールポイントを決定するために使用される（ブロック２４４）。プロセスは図８に戻る。
【００４８】
[0063]図１０Ｂは、２つの同心円、すなわち、半径ｒ１を有する内側円２５６、および半径ｒ２を有する外側円２５８を使用するノード２５２に適用されるインタラクティブ散開の例を図示する。リンク２６０に対する湾曲は、コントロールポイントｃ１、ｃ２、ｃ３、ｃ５を利用する曲線セグメントから形成される。内側円２５６上のリンク２５３とリンク２５５との間の分離の角度Ｓ１は最小分離距離を満たし、外側円２５８上のリンク２５９とリンク２６１との間の分離の角度Ｓ２は最小分離距離を満たす。
【００４９】
[0064]次に注意は、インタラクティブバンドルに向かう。図１１は、インタラクティブバンドルを実行するための例示的な方法２１２のフロー図を図示する。方法２１２は、本明細書で説明される１つまたは複数の実施形態により実行される動作の、一部またはすべてを表し得るということ、および方法は、図１１で説明されるものより多い、または少ない動作を含み得るということが留意されるべきである。
【００５０】
[0065]図４および図１１を参照すると、ユーザーは、リンクのセットをバンドルすることのそのユーザーの好みを、関心のリンクのセットを通して線を配置することにより指示することが可能である（ブロック２６４）。線は、ユーザーのコンピューティングデバイスから、キー入力、マウスクリック、タッチ、ジェスチャー等々によってノード−リンク・ダイアグラム１０４上にマークされ得る。線は、線の範囲の中央を中心に置かれる減衰円１３２を発生させるために使用される。減衰円１３２内部のリンクは、相互からのより大きな角度の分離を伴って表示され、そのことによりそれらのリンクは、ユーザーに対して、より可視的になる。
【００５１】
[0066]リンクは、リンク間の交差が最小限であるときに、より良好に観視される。この理由でインタラクティブバンドルモジュール１１２は、ノード間で生じるリンク交差の数を最小化する、ノードに進入するための、およびノードから外出するためのリンクの順序を決定する。そのような順序を決定する問題は、従来の地下鉄路線交差最小化問題（ｍｅｔｒｏ  ｌｉｎｅ  ｃｒｏｓｓｉｎｇ  ｍｉｎｉｍｉｚａｔｉｏｎ  ｐｒｏｂｌｅｍ）である。インタラクティブバンドルモジュール１１２は、地下鉄路線交差最小化問題に対する周知の解の任意のものを利用して、そのような順序付けを決定することが可能である（ブロック２６６）。次に、各々のリンクの修正されたリンク湾曲をレンダリングするために必要とされるスプラインが決定される（ブロック２６８）。減衰円のサイズ（すなわち、減衰円の半径Ｒ）、および、２つの隣接するリンク間で必要とされる最小分離Ｓに対する既定値が決定される。次いで、修正されたリンク湾曲を伴うリンクを示す減衰円１３２が、ユーザーに対してディスプレイ上にレンダリングされ得る（ブロック２７０）。
【００５２】
[0067]次いでユーザーは、減衰円１３２を編集することが可能である（ブロック２７２）。ユーザーは、減衰円１３２に進入するリンクを編集することが可能であり、減衰円１３２をサイズ変更すること、または、リンクもしくは減衰円１３２に対する任意の他のタイプの編集を行うことが可能である（ブロック２７２）。ユーザーがリンクおよび／または減衰円に対して行う編集は、ＲおよびＳの値を変更し、そのことにより、インタラクティブバンドルモジュール１１２に、減衰円１３２内に示されるリンク湾曲を再計算するように求めることが可能である。この状況で（ブロック２７２−はい）、インタラクティブバンドルモジュール１１２は、ブロック２６６〜２７２に示される処理を繰り返す。ユーザーが、バンドルされたリンクまたは減衰円１３２に対するさらなる編集を有さないとき（ブロック２７２−いいえ）、方法は図７に戻る。
【００５３】
[0068]図１２は、インタラクティブリンクマグネット技法の例示的な方法２１６のフロー図を図示する。方法２１６は、本明細書で説明される１つまたは複数の実施形態により実行される動作の、一部またはすべてを表し得るということ、および方法は、図１２で説明されるものより多い、または少ない動作を含み得るということが留意されるべきである。
【００５４】
[0069]リンクマグネットは、物理的マグネットのふるまいを模倣する視覚化技法である。物理的マグネットは磁気力を有し、その磁気力は、強磁性材料を有するオブジェクトをその物理的マグネットに向けて引き、他のタイプの材料で構成されるオブジェクトを退ける。物理的マグネットの磁気力は、マグネットの中心から所与の半径の範囲内に広がる。リンクマグネットは、特定のデーター属性に関連付けられるリンクをそのリンクマグネットに向けて引くように構成される。リンクマグネットは、そのリンクマグネットがリンクマグネットの半径の範囲内のリンクを吸引することを可能にする、磁気の強さを有し得る。ユーザーには、マグネットの磁気の強さ、および、マグネットが吸引される１つまたは複数のデーター属性を指定することが可能であるということがもたらされる。リンクマグネットは、所与の半径の範囲内で共通データー属性を有するリンクを検索するように、および、マグネットに向けてリンクの湾曲を移動させるようにプログラムされる、ドラッグ可能なグラフィックスソフトウェアーとして実装され得る。
【００５５】
[0070]図１２を参照すると、インタラクティブリンクマグネットモジュール１１４が、リンクのサブセットの上方に位置するマグネットの使用を検出する（ブロック２７４）。次いでリンクマグネットが、マグネットの強さまたは規定された半径の範囲内で、リンクマグネットに関連付けられたデーター属性と一致するデーター属性に関連付けられるリンクを検出する（ブロック２７６）。それらの一致するリンクに対してインタラクティブリンクマグネットモジュール１１４は、リンクマグネットによってユーザーにより力が及ぼされる方向および距離において各々の一致するリンクの修正された湾曲をレンダリングするために必要とされるコントロールポイントを生成する（ブロック２７８）。次いでスプライン・レンダリング・モジュール１１８が、ユーザーに対して修正された湾曲形状を伴う一致するリンクをレンダリングすることが可能である（ブロック２８０）。
【００５６】
[0071]次に注意は、インタラクティブリンク凡例技法に向かう。図１３は、インタラクティブリンク凡例技法の例示的な方法２１８のフロー図を図示する。方法２１８は、本明細書で説明される１つまたは複数の実施形態により実行される動作の、一部またはすべてを表し得るということ、および方法は、図１３で説明されるものより多い、または少ない動作を含み得るということが留意されるべきである。
【００５７】
[0072]ユーザーは、ノード−リンク・ダイアグラムに関連付けられた凡例内に示される、識別されるタイプのモデル曲線の湾曲を修正することにより、リンクのセットの湾曲をコントロールする（ブロック２８２）。１つまたは複数の実施形態では、モデル曲線はＢ−スプラインに基づくものであり得る。図１４Ａを参照すると、Ｂ−スプラインに基づくモデル曲線を有する凡例２８８が示されている。凡例は、ソースノード２９０とターゲットノード２９２との間のリンク２９４に対するモデル曲線を示す。リンク２９４は、曲線上の単一のポイントｃ１とインタラクションを行うことにより、モデル曲線の振幅ｄおよび傾斜角度αを増大するようにユーザーにより修正されている。コントロールポイントｃ２〜ｃ５は、モデル曲線上のユーザーのアクションによって新しい湾曲を生成するように組織的に表される。しかしながら、新しい湾曲が同じタイプの他のリンクに伝達される際には、各々のリンクのそれぞれのソースノードとデスティネーションノードとの間の距離が多様であることに起因して、湾曲の強い変動が存在する場合がある。この理由で、モデル曲線の別の実施形態が図１４Ｂに関して説明されるものであり、そのモデル曲線は、各々のリンクのソースノードとデスティネーションノードとの間の距離に依存せずに、リンクの振幅および全体としての形状を保持する。
【００５８】
[0073]図１４Ｂは、正弦曲線を有する基調に基づくインタラクティブモデル曲線２９６を図示する。ユーザーは、正弦曲線の振幅および周期性を、曲線の２つのポイントｃ１およびｃ２とインタラクションを行うことによりコントロールすることが可能である。図１４Ｃに示されるような新しい湾曲２９８は、その新しい湾曲２９８が各々のリンクの対応するソースノードとデスティネーションノードとの間の距離に依存しないので、一貫した湾曲によって各々の対応するリンク上で簡単に繰り返され得る。
【００５９】
[0074]図１３に戻って参照すると、モデル曲線に対して行われる修正に基づいて、インタラクティブリンク凡例モジュール１１５は、ノード−リンク・ダイアグラムの至るところで、識別されるタイプのリンクの湾曲を変更するために必要とされる、必要な幾何データーを生成する（ブロック２８４）。次いでこの幾何データーは、ノード−リンク・ダイアグラムの至るところで、識別されるタイプのリンクに対する新しい湾曲をレンダリングするために使用される（ブロック２８６）。
【００６０】
[0075]次に注意は、例示的な動作環境のディスカッションに向かう。図１５は、動作環境３００を図示する。動作環境３００は例示的であり、実施形態の機能性に関するいかなる限定も示唆することは意図されないということが留意されるべきである。実施形態は、１つまたは複数のサーバー３０６と通信フレームワーク３０４を通して通信している、１つまたは複数のクライアント３０２を有する動作環境３００に適用され得る。動作環境３００は、ネットワーク環境、分散環境、マルチプロセッサー環境の形で、または、リモートもしくはローカルの記憶デバイスにアクセス可能であるスタンドアロン・コンピューティングデバイスとして構成され得る。
【００６１】
[0076]クライアント３０２は、ハードウェアーデバイス、ソフトウェアーモジュールとして、またはそれらの組み合わせとして実施され得る。そのようなハードウェアーデバイスの例は、コンピューター（例えば、サーバー、パーソナルコンピューター、ノートＰＣ等）、携帯電話、携帯情報端末、または任意のタイプのコンピューティングデバイス等々を含み得るが、それらに限定されない。クライアント３０２は、単一の実行パス、複数の並行実行パス（例えば、スレッド、プロセス等）で、または任意の他の様式で実行する命令を有するソフトウェアーモジュールとして実施される場合もある。
【００６２】
[0077]サーバー３０６は、ハードウェアーデバイス、ソフトウェアーモジュールとして、またはそれらの組み合わせとして実施され得る。そのようなハードウェアーデバイスの例は、コンピューター（例えば、サーバー、パーソナルコンピューター、ノートＰＣ等）、携帯電話、携帯情報端末、または任意のタイプのコンピューティングデバイス等々を含み得るが、それらに限定されない。サーバー３０６は、単一の実行パス、複数の並行実行パス（例えば、スレッド、プロセス等）で、または任意の他の様式で実行する命令を有するソフトウェアーモジュールとして実施される場合もある。
【００６３】
[0078]通信フレームワーク３０４は、クライアント３０２とサーバー３０６との間の通信を促進する。通信フレームワーク３０４は、パケット交換ネットワーク（例えば、インターネットなどの公衆ネットワーク、エンタープライズ・イントラネットなどのプライベートネットワーク等々）、回線交換ネットワーク（例えば、公衆交換電話ネットワーク）、または、（適切なゲートウェイおよびトランスレーターを伴う）パケット交換ネットワークおよび回線交換ネットワークの組み合わせとともに使用するのに適切な技法などの、任意の周知の通信技法を実施することが可能である。クライアント３０２およびサーバー３０６は、１つまたは複数の通信インターフェイス、ネットワークインターフェイス、ネットワークインターフェイスカード、無線、ワイヤレス送信器／受信器、ワイヤード通信媒体および／またはワイヤレス通信媒体、物理的コネクター等々のような、通信フレームワーク３０４と相互動作可能であるように設計される、様々なタイプの標準通信要素を含み得る。ワイヤード通信媒体の例は、接続線、ケーブル、金属リード線、プリント回路板、バックプレーン、スイッチファブリック、半導体材料、ツイストペア接続線、同軸ケーブル、光ファイバー、伝達される信号等々を含み得る。ワイヤレス通信媒体の例は、アコースティック、無線周波数スペクトル、赤外線、および他のワイヤレス媒体を含み得る。
【００６４】
[0079]各々のクライアント３０２は、クライアント３０２に対してローカルな情報を格納する、１つまたは複数のクライアントデーターストアー３０８に結合され得る。各々のサーバー３０６は、サーバー３０６に対してローカルな情報を格納する、１つまたは複数のサーバーデーターストアー３１０に結合され得る。
【００６５】
[0080]図１６は、例示的なコンピューティングデバイス３１２のブロック図を図示する。コンピューティングデバイス３１２は、１つまたは複数のプロセッサー３１４、ディスプレイ３１６、ネットワークインターフェイス３１８、メモリー３２０、およびユーザー入力インターフェイス３２２を有し得る。プロセッサー３１４は、任意の市販で入手可能なプロセッサーであり得るとともに、デュアル・マイクロプロセッサーおよびマルチプロセッサー・アーキテクチャーを含み得る。ディスプレイ３１６は、タッチ能力を有するディスプレイを含む、任意の視覚ディスプレイユニットであり得る。ネットワークインターフェイス３１８は、コンピューティングデバイス３１２とネットワークとの間のワイヤードまたはワイヤレスの通信を促進する。ユーザー入力インターフェイス３２２は、コンピューティングデバイス３１２と、キーボード、マウス、タッチスクリーン等のような入力デバイスとの間の通信を促進する。
【００６６】
[0081]メモリー３２０は、実行可能なプロシージャー、アプリケーション、およびデーターを格納することが可能である、任意のコンピューター可読記憶媒体であり得る。コンピューター可読媒体は、搬送波によって送信される変調されたデーター信号などの、伝達される信号に関するものではない。メモリー３２０は、任意のタイプのメモリーデバイス（例えば、ランダムアクセスメモリー、読み取り専用メモリー等）、磁気記憶装置、揮発性記憶装置、非揮発性記憶装置、光学記憶装置、ＤＶＤ、ＣＤ、フロッピー（登録商標）ディスクドライブ等々であり得る。メモリー３２０は、１つまたは複数の外部記憶デバイスまたはリモートで設置された記憶デバイスもまた含み得る。メモリー３２０は、プロセッサーにより実行されるときに、プロセッサーに、説明された実施形態による方法および／または動作を実行させる、実行可能コンピュータープログラム命令を格納することが可能である。実行可能コンピュータープログラム命令は、ある種の機能を実行するようにコンピューターに命令するための、定義済みのコンピューター言語、様式または構文によって実装され得る。命令は、任意の適切な高水準、低水準、オブジェクト指向、視覚的、コンパイラー型、および／またはインタープリター型のプログラミング言語を使用して実装され得る。
【００６７】
[0082]メモリー３２０は、以下のような命令およびデーター、すなわち、
・オペレーティングシステム３２４、
・ノード−リンク・ダイアグラム１０４、
・ユーザーインタラクションモジュール１０６、
・インタラクティブリンク散開モジュール１１０、
・インタラクティブバンドルモジュール１１２、
・インタラクティブリンクマグネットモジュール１１４、
・インタラクティブリンク凡例モジュール１１６、
・スプライン・レンダリング・モジュール１１８、ならびに、
・様々な他のアプリケーションおよびデーター３２６
を包含し得る。
【００６８】
[0083]主題が構造的特徴および／または方法論的行為に対しての具体的な文言で説明されたが、添付される特許請求の範囲において定義される主題は、上記で説明された具体的な特徴または行為に必ずしも限定されないということが理解されるべきである。むしろ、上記で説明された具体的な特徴および行為は、特許請求の範囲を実装する例の形式として開示されるものである。
【図１】
2015521302.tif 000003
【図２】
2015521302.tif 000004
【図３Ａ】
2015521302.tif 000005
【図３Ｂ】
2015521302.tif 000006
【図３Ｃ】
2015521302.tif 000007
【図４】
2015521302.tif 000008
【図５Ａ】
2015521302.tif 000009
【図５Ｂ】
2015521302.tif 000010
【図５Ｃ】
2015521302.tif 000011
【図６Ａ】
2015521302.tif 000012
【図６Ｂ】
2015521302.tif 000013
【図７】
2015521302.tif 000014
【図８】
2015521302.tif 000015
【図９】
2015521302.tif 000016
【図１０Ａ】
2015521302.tif 000017
【図１０Ｂ】
2015521302.tif 000018
【図１１】
2015521302.tif 000019
【図１２】
2015521302.tif 000020
【図１３】
2015521302.tif 000021
【図１４Ａ】
2015521302.tif 000022
【図１４Ｂ】
2015521302.tif 000023
【図１４Ｃ】
2015521302.tif 000024
【図１５】
2015521302.tif 000025
【図１６】
2015521302.tif 000026
【国際調査報告】
2015521302.tif 000027
2015521302.tif 000028