(57)【特許請求の範囲】
【請求項１】
絵図をフィルタリングする方法であって、
複数のノード及びそれらの関係の絵図を、前記ノード及びそれらの関係についての構造化データに基づいて表示することであって、
前記ノードの第１のノードを描画カンバスに表示すること、
前記ノードの第１のサブセットのリストを要求するのに有効な入力を受信することであって、前記ノードの前記第１のサブセット内の各ノードは、前記第１のノードに関連する、受信すること、
前記ノードの前記第１のサブセットを識別するために、前記構造化データを分析すること、
前記ノードの前記第１のサブセットを列挙するユーザインターフェースオーバーレイを前記描画カンバスの上に表示すること、
前記ユーザインターフェースオーバーレイから前記ノードの前記第１のサブセットの第２のノードを選択するのに有効な入力を受信すること、及び
前記描画カンバスにおいて前記絵図を生成及び表示することであって、前記第１のノードを第１のアイコンとして、前記第２のノードを第２のアイコンとして、且つ前記第１のアイコンと前記第２のアイコンとの間の結び付きを、前記第２のノードが前記第１のノードに関連することの表現として生成及び表示することを含む、生成及び表示すること
を含む、表示することと、
フィルタパラメータを指定するのに有効な入力を受信することと、
前記フィルタパラメータを満たす前記ノードの第２のサブセット及び前記フィルタパラメータを満たさない前記ノードの第３のサブセットを識別するために、前記絵図に表示された前記ノードを分析することと、
前記フィルタパラメータに従って前記絵図を変更することと
を含む方法。
【請求項２】
前記絵図に表示された前記ノードを分析することは、前記ノードのタグを分析することを含み、
前記タグは、前記構造化データに含まれ、及び
前記ノードの前記第２のサブセットは、前記フィルタパラメータを満たすタグを有する少なくとも１つのノードを含む、請求項１に記載の方法。
【請求項３】
前記フィルタパラメータを満たす前記ノードの前記第２のサブセット又は前記フィルタパラメータを満たさない前記ノードの前記第３のサブセットのいずれかを列挙するテキストリストを表示することを更に含む、請求項１に記載の方法。
【請求項４】
前記フィルタパラメータに従って前記絵図を変更することは、前記フィルタパラメータを満たさない前記ノードの前記第３のサブセットに対して、前記フィルタパラメータを満たす前記ノードの前記第２のサブセットを強調することを含む、請求項１に記載の方法。
【請求項５】
前記フィルタパラメータに従って前記絵図を変更することは、前記フィルタパラメータを満たす前記ノードの前記第２のサブセットに対して、前記フィルタパラメータを満たさない前記ノードの前記第３のサブセットの強調を抑えることを含む、請求項１に記載の方法。
【請求項６】
前記フィルタパラメータに従って前記絵図を変更することは、前記フィルタパラメータを満たさない前記ノードの前記第３のサブセットの各ノードをグレー表示されるように変更することを含む、請求項１に記載の方法。
【請求項７】
前記フィルタパラメータに従って前記絵図を変更することは、前記フィルタパラメータを満たす前記ノードの前記第２のサブセットが一緒に統合されるように前記ノードを再構成することを更に含む、請求項６に記載の方法。
【請求項８】
前記ノードの前記第１のノードを前記描画カンバスに表示する前に、
前記描画カンバスの横に、パネルであって、前記パネル内において少なくともいくつかの前記ノードの第２のリストを有するパネルを表示することと、
前記パネル内の前記第２のリストから前記第１のノードを前記描画カンバスにドラッグアンドドロップするのに有効な入力を受信することと
を更に含む、請求項１に記載の方法。
【請求項９】
前記絵図は、初期絵図を含み、及び前記構造化データは、前記構造化データの初期版を含み、前記初期絵図は、前記構造化データの前記初期版に基づき、前記方法は、
前記構造化データの現在版が、前記ノード又は前記関係の少なくとも１つに関して前記構造化データの前記初期版と比較して更新されていると判断することと、
前記構造化データの前記現在版が前記構造化データの前記初期版と比較して更新されていると判断することに応答して、前記複数のノード及びそれらの関係の前記初期絵図が古いという表示を出力することと
を更に含む、請求項１に記載の方法。
【請求項１０】
請求項１から９のいずれか一項に記載の方法を実行する又は実行を制御するために、プロセッサデバイスにより実行可能な記憶されたコンピュータ実行可能命令を有する、非一時的コンピュータ可読記憶媒体。
【請求項１１】
絵図をフィルタリングする方法であって、
ノード及びそれらの関係の絵図を、前記ノード及びそれらの関係についての構造化データに基づいてディスプレイデバイス上に表示することであって、
前記ノードの第１のノードを描画カンバスに表示すること、
前記第１のノードとの既存の関係を有する前記ノードの第１のサブセットのリストを要求するのに有効な入力を受信することであって、前記既存の関係は前記入力を前記受信することの前に存在する、受信すること、
前記ノードの前記第１のサブセットを識別するために、前記構造化データを分析することであって、前記ノードの前記第１のサブセット内の各ノードは、前記構造化データに規定された対応する既存の関係を有する前記第１のノードに関連する、分析すること、
前記入力を前記受信することに応答して、前記ノードの前記第１のサブセットを列挙するユーザインターフェースオーバーレイを前記描画カンバスの上に表示すること、
前記ユーザインターフェースオーバーレイから前記ノードの前記第１のサブセットの第２のノードを選択するのに有効な第２の入力を受信すること、及び
前記第２の入力を前記受信することに応答して、前記描画カンバスにおいて前記ノードの前記絵図と少なくとも複数の前記ノードを接続するコネクタとを生成及び表示することであって、前記第１のノードを第１のアイコンとして、前記第２のノードを第２のアイコンとして、且つ前記第１のアイコンと前記第２のアイコンとの間の前記コネクタの第１のコネクタを、前記第２のノードが前記対応する既存の関係を有する前記第１のノードに関連することの表現として生成及び表示することを含み、前記対応する既存の関係は、前記第２のノードが前記第１のノードと通信可能に結合していることを含む、生成及び表示すること
を含む、表示することと、
前記絵図は前記ノード及び前記コネクタについての前記構造化データに基づき、前記対応する既存の関係についての追加情報は、前記第１のコネクタに含まれ、且つ前記第１及び第２のノードが互いに通信することのできる複数ポートを含み、
フィルタパラメータを指定するのに有効な第３の入力を受信することであって、前記第３の入力は検索フィールドへのユーザ入力を含む、受信することと、
前記フィルタパラメータを満たす前記ノードの第２のサブセット及び前記フィルタパラメータを満たさない前記ノードの第３のサブセットを識別するために、前記ディスプレイデバイス上の前記絵図に表示された前記ノードを前記フィルタパラメータに基づいて分析することと、
前記フィルタパラメータに従って前記ディスプレイデバイス上に表示された前記絵図を変更することであって、前記フィルタパラメータを満たす前記ノードの前記第２のサブセットと前記フィルタパラメータを満たさない前記ノードの前記第３のサブセットとを視覚的に区別するために、前記絵図を変更することを含む、変更することと
を含む方法。
【請求項１２】
請求項１１に記載の方法を実行する又は実行を制御するために、プロセッサデバイスにより実行可能な記憶されたコンピュータ実行可能命令を有する、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
本明細書に記載される幾つかの実施形態は、概して、構造化データのための図に関する。
【背景技術】
【０００２】
背景
本明細書に別段のことが示される場合を除き、本明細書に記載される資料は、本願における特許請求の範囲に対する従来技術ではなく、また本セクションへの包含により従来技術であることを認めるものではない。
【０００３】
例えば、ネットワーク、組織等の幾つかの構造化データは、ネットワーク図又は組織チャート等の図の形態の表現に役立つ。幾つかの図用途では、ユーザは、構造化データに基づいてコンピュータで図を生成することができる。場合により、基礎となる構造化データは、更新され得、ユーザは、更新を図に反映することを望み得る。図を更新するための１つの既存の選択肢は、更新された構造化データに基づいて最初から図を再び生成することを含み、これは、図が多くのノードを含む場合に面倒であり及び／又は時間がかかることがある。
【０００４】
本明細書において特許請求される主題は、任意の欠点を解消する実施形態又は上記等の環境のみで動作する実施形態に限定されない。むしろ、この背景は、本明細書に記載される幾つかの実施形態を実施し得る１つの例示的な技術分野を示すためにのみ提供されている。
【発明の概要】
【課題を解決するための手段】
【０００５】
幾つかの例示的な実施形態の概要
この概要は、詳細な説明において更に後述される選択された概念を簡易化された形態で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必須の特徴を識別することを意図されず、特許請求される主題の範囲を判断することにおける支援として使用されることも意図されない。
【０００６】
例示的な一実施形態では、絵図をフィルタリングする方法は、複数のノード及びそれらの関係の絵図を、ノード及びそれらの関係についての構造化データに基づいて表示することを含み得る。方法は、フィルタパラメータを指定するのに有効な入力を受信することも含み得る。方法は、フィルタパラメータを満たすノードの第１のサブセット及びフィルタパラメータを満たさないノードの第２のサブセットを識別するために、絵図に表示されたノードを分析することも含み得る。方法は、フィルタパラメータに従って絵図を変更することも含み得る。
【０００７】
別の実施形態例では、絵図を更新する方法は、複数のノード及びそれらの関係の初期絵図を、ノード及びそれらの関係についての構造化データの初期版に基づいて表示することを含み得る。方法は、構造化データの現在版が、ノード又は関係の少なくとも１つに関して構造化データの初期版と比較して更新されていると判断することも含み得る。方法は、構造化データの現在版が構造化データの初期版と比較して更新されていると判断することに応答して、複数のノード及びそれらの関係の初期絵図が古いという表示を出力することも含み得る。
【０００８】
本開示の追加の特徴及び利点は、部分的に説明から明らかになるか又は本開示の実施により学習され得る以下の説明に記載される。本開示の特徴及び利点は、特に添付の特許請求の範囲において指摘される機器及び組合せにより実現及び取得され得る。本開示のこれら及び他の特徴は、以下の説明及び添付の特許請求の範囲からより詳細に明らかになるか、又は以下に記載される本開示の実施により学習され得る。
【０００９】
本開示の上記及び他の利点及び特徴を更に明確にするために、添付図面に示される本開示の特定の実施形態を参照して本開示のより具体的な説明を行う。これらの図面が本開示の典型的な実施形態のみを示し、したがって本開示の範囲の限定と見なされるものではないことが理解される。本開示について、添付図面の使用を通して更に具体的且つ詳細に記載及び説明する。
【図面の簡単な説明】
【００１０】
図面の簡単な説明
【図１】サーバ及び１つ又は複数のクライアントデバイスを含む一例の動作環境のブロック図である。
【図２】構造化データに基づいて絵図を生成する方法のフローチャートである。
【図３Ａ】絵図を生成するユーザインターフェースの図表現を含む。
【図３Ｂ】絵図を生成するユーザインターフェースの図表現を含む。
【図３Ｃ】絵図を生成するユーザインターフェースの図表現を含む。
【図４】構造化データに基づいて絵図を生成する別の方法のフローチャートである。
【図５】絵図を生成する別のユーザインターフェースの図表現を含む。
【図６】構造化データに基づいて絵図をフィルタリングする方法のフローチャートである。
【図７Ａ】絵図をフィルタリングするユーザインターフェースの図表現を含む。
【図７Ｂ】絵図をフィルタリングするユーザインターフェースの図表現を含む。
【図７Ｃ】絵図をフィルタリングするユーザインターフェースの図表現を含む。
【図８】絵図を更新する方法のフローチャートである。
【図９Ａ】本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を更新するユーザインターフェースの図表現を含む。
【図９Ｂ】本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を更新するユーザインターフェースの図表現を含む。
【図９Ｃ】本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を更新するユーザインターフェースの図表現を含む。
【図９Ｄ】本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を更新するユーザインターフェースの図表現を含む。
【発明を実施するための形態】
【００１１】
幾つかの実施形態例の詳細な説明
本明細書に記載される実施形態は、一般に、ドキュメント内のコンテンツをカスタマイズする技法に関する。コンテンツのカスタマイズは、コンテンツをブラウザ、スマートフォン若しくは他のモバイルデバイスのネイティブアプリ又は別の適したアプリケーションに供給するサーバにより実行され得る。代替又は追加として、コンテンツのカスタマイズは、ブラウザ、スマートフォン若しくは他のモバイルデバイスのネイティブアプリ又は別の適したアプリケーションにより実行され得る。例えば、クライアントデバイスのブラウザ（又はアプリ）を使用して、ドキュメントを受信し、クライアントデバイスに関連付けられたユーザに向けてドキュメント内のコンテンツをカスタマイズし得る。
【００１２】
本明細書に記載される幾つかの実施形態では、異なるユーザに向けてドキュメントのレンダリングをカスタマイズ可能であり得る。例えば、異なるユーザは、それぞれ共通のドキュメントを受信し得る。共通のドキュメントの各レンダリング中、異なるユーザにより提供されたユーザ入力に応じて、異なるユーザに関連するユーザタイプを決定し得る。共通のドキュメントの異なるページ及び／又はページの異なるレイヤは、対応するユーザタイプに基づいて異なるユーザに関連付けられたクライアントデバイスでレンダリングされ得る。これら及び他の実施形態では、各ユーザに対し、対応するユーザ入力及び／又は対応するユーザに関連付けられた他のカスタマイズデータに基づいて、共通のドキュメント内の異なるコンテンツを提示し得る。幾つかの実施形態では、ユーザは、ドキュメントの分岐点においてユーザ入力を提供し得る。分岐点後に後続ページにレンダリングされるレイヤは、分岐点において提供されるユーザ入力に依存し得る。
【００１３】
本明細書に記載される幾つかの実施形態では、異なるリンクを使用して、異なるユーザに向けて共通のドキュメントをカスタマイズ可能であり得る。例えば、異なるユーザのユーザタイプは、ドキュメントカスタマイズ前に事前に既知であり得る。異なるリンクは、対応するユーザタイプ及び／又は異なるユーザに関連付けられた他のカスタマイズデータに基づいて、異なるユーザに向けて作成され得る。異なるリンクは、共通のドキュメントを指し得る。異なるリンクは、それぞれ電子メール統合を使用して、異なるユーザに関連付けられたクライアントデバイスに配信され得る。リンクを受信したユーザは、共通のドキュメントを表示するリンクを選択し得、対応するリンクに基づいて共通のドキュメントをユーザに向けてカスタマイズさせる。その結果、異なるユーザにより受信された対応するリンクに基づいて、共通のドキュメント内の異なるコンテンツを異なるユーザに提示し得る。
【００１４】
ここで、図面を参照して、本発明の幾つかの実施形態例の様々な態様について説明する。図面は、そのような実施形態例の線図及び概略的表現であり、本発明の限定でもなければ、必ずしも一定の縮尺で描かれているわけでもない。
【００１５】
図１は、本明細書に記載される少なくとも幾つかの実施形態に従って構成される、サーバ１０２及び１つ又は複数のクライアントデバイス１０４、１０６、１０８を含む一例の動作環境１００のブロック図である。サーバ１０２及び／又はクライアントデバイス１０４、１０６、１０８は、構造化データに基づいて絵図を生成、フィルタリング及び／又は更新するように構成され得る。代替又は追加として、構造化データは、絵図への変更に基づいて更新され得る。
【００１６】
構造化データは、１つ又は複数のデータソース１１０から受信され得る。１つ又は複数のデータソース１１０は、ヒューマンリソース（ＨＲ）データベース、Amazon Web Services（ＡＷＳ）、別のクラウド基盤プロバイダ（例えば、Google Cloud Platform、Microsoft Azure）、データベーススキーマ（例えば、エンティティ関係図を生成する）、サービス指向アーキテクチャ、物理的ネットワーク発見ツール、ネットワークと同様にモデリングすることができるカスタムビルド技術システム又は構造化データの他のデータソースを含み得る。構造化データは、２つ以上のノード又は他のエンティティ及びそれらの間の関係を識別し得る。例えば、構造化データは、従業員、役員、オーナー及び／又は企業の他の人員、並びに相対ランク及び１つ又は複数の部門、デパートメント又は他の論理ユニットへの編成等の互いに対する関係を識別し得る。別の例として、構造化データは、様々な計算ノード、ストレージノード、データベースノード、ネットワーキングノード及び／又はＡＷＳの顧客により展開される他のエンティティ、並びに特定のノードが通信することができる特定のポート等のエンティティ間の関係を識別し得る。別の例として、構造化データは、データベース及びデータベース内のテーブル及び／又はデータベーススキーマ内の他のエンティティ、並びに外部キー及び／又は主キー等のエンティティ間の関係を識別し得る。
【００１７】
ＡＷＳ等のデータソース１１０及び／又は他のデータソース１１０により、ユーザは、対応する構造化データにより表されたノード又は他のエンティティをタグ付け可能であり得る。データソース１１０の構造化データにより表されたノードにユーザが提供し得るタグの例には、名前、カテゴリ、コスト、ローンチ日又は他のタグがあり得る。タグは、データソース１１０の構造化データの一部として記憶され得る。幾つかの実施形態では、タグは、データソース１１０の構造化データに基づいて生成された絵図のフィルタリングに使用され得る。
【００１８】
１つのサーバ１０２及び３つのクライアントデバイス１０４、１０６、１０８が図１に示されているが、動作環境１００は、より一般に、１つ又は複数のサーバ１０２及び１つ又は複数のクライアントデバイス１０４、１０６、１０８を含み得る。これら及び他の実施形態では、動作環境１００は、図１に示されていない他のサーバ及び／又はデバイスを含み得る。
【００１９】
動作環境１００は、ネットワーク１１２を更に含み得る。一般に、ネットワーク１１２は、サーバ１０２、クライアントデバイス１０４、１０６、１０８及びデータソース１１０が互いに通信できるようにする１つ又は複数の広域ネットワーク（ＷＡＮ）及び／又はローカルエリアネットワーク（ＬＡＮ）を含み得る。幾つかの実施形態では、ネットワーク１１２は、複数のＷＡＮ及び／又はＬＡＮ間の論理的接続及び物理的接続により形成されるグローバルインターネットワークを含め、インターネットを含み得る。代替又は追加として、ネットワーク１１２は、８０２．ｘｘネットワーク、Bluetoothアクセスポイント、無線アクセスポイント、インターネットプロトコル（ＩＰ）ベースのネットワーク又は他の有線及び／又は無線ネットワーク等の１つ又は複数のセルラ無線周波数（ＲＦ）ネットワーク、及び／又は１つ又は複数の有線及び／又は無線ネットワークを含み得る。ネットワーク１１２は、あるタイプのネットワークが別のタイプのネットワークとインターフェースできるようにするサーバを含むこともできる。
【００２０】
一般に、サーバ１０２は、クライアントデバイス１０４、１０６、１０８が、本明細書に記載されるように絵図を生成、フィルタリング及び／又は更新できるようにするウェブベースの図アプリケーション（「アプリケーション１１４」）をホストし得る。他の実施形態では、アプリケーション１１４は、非ウェブベースのアプリケーションを含み得るが、一般に、簡潔にするためにウェブベースのアプリケーションとして本明細書において説明され得る。代替又は追加として、サーバ１０２は、絵図への変更に基づく構造化データへの更新を促進し得る。例えば、ユーザは、手動でノードを絵図に追加し、及び／又は２つのノード間の関係を変更し得、そのような変更は、絵図から絵図の生成元の構造化データにプッシュされ得る。
【００２１】
サーバ１０２は、プロセッサ１１６及び記憶媒体１１８を更に含み得る。プロセッサ１１６は、中央演算処理装置（ＣＰＵ）、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）又はそれらの任意の組合せ等の任意のタイプであり得る。プロセッサ１１６は、実行されると、プロセッサ１１６に、サーバ１０２に関して本明細書に記載された動作の１つ又は複数を実行させるか又は実行を制御させるコンピュータ命令を実行するように構成され得る。
【００２２】
記憶媒体１１８は、ランダムアクセスメモリ（ＲＡＭ）等の揮発性メモリ、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）等の永続的若しくは不揮発性記憶装置、又は他の光ディスク記憶装置、磁気ディスク記憶装置、若しくは他の磁気記憶装置、ＮＡＮＤフラッシュメモリ、若しくは他の固体状態記憶装置、又は他の永続的若しくは不揮発性コンピュータ記憶媒体を含み得る。記憶媒体１１８は、プロセッサ１１６により実行されて、サーバ１０２に関して本明細書に記載される動作の１つ又は複数を実行するか又は実行を制御し得るコンピュータ命令を記憶し得る。
【００２３】
記憶媒体１１８は、１つ又は複数の組の構造化データ１２０、１つ又は複数のモデル１２２、モデル規則及び／又はヒューリスティック１２４（図１における「モデル規則／ヒューリスティック」）及び／又は１つ又は複数の絵図１２６を記憶し得る。各組の構造化データ１２０は、データソース１１０の対応する１つからインポートされ得る。構造化データ１２０は、ネットワーク１１２を介して又は直接接続が存在する場合には対応するデータソース１１０から直接インポートされ得る。
【００２４】
モデル規則及び／又はヒューリスティック１２４は、構造化データ１２０に適用して、構造化データにおいて表されるノード及び／又はそれらの関係についての情報を導出し得る規則及び／又はヒューリスティックを含む。構造化データ１２０、及び／又はモデル規則及び／又はヒューリスティック１２４により導出された情報は、サーバ１０２により使用されて、モデル１２２を生成し得、各モデル１２２は、異なる組の構造化データ１２０に対応する。各絵図１２６は、対応する組の構造化データ１２０から、及び／又は対応する組の構造化データ１２０から導出されたモデル１２２の対応する１つから直接生成され得る。絵図１２６は、クライアントデバイス１０４、１０６、１０８においてユーザから受信した入力に基づいて生成され得、対応する組の構造化データ１２０及び／又は対応する組の構造化データ１２０から導出された対応するモデル１２２において表されるノード又は他のエンティティの幾つか又は全てを含み得る。
【００２５】
データソース１１０における構造化データは、経時変化を受け得る。したがって、サーバ１０２は、時折、対応するデータソース１１０から対応する組の構造化データ１２０の更新版をインポートし得る。モデル規則及び／又はヒューリスティック１２４を対応する組の構造化データ１２０の更新版に適用して、対応する更新モデル１２２を生成し得る。サーバ１０２は、構造化データ１２０の前版を構造化データ１２０の更新版と比較して、２つの間の１つ又は複数の変更を識別し得る。識別された変更は、記憶媒体１１８に保存され得る。
【００２６】
代替又は追加として、サーバ１０２は、絵図１２６の対応する１つを分析して、識別された変更が絵図１２６に影響するか否かを判断し得る。識別された変更の少なくとも１つが絵図１２６に影響すると判断された場合、サーバ１０２は、対応する変更を用いて絵図１２６の更新版を生成し得、及び／又は古いもの若しくは構造化データ１２０の更新版と同期されていないものとして絵図１２６をフラグ付けるか若しくは他の方法で識別し得る。他方、幾つかの実施形態では、識別されたいずれの変更も絵図１２６に影響しないと判断される場合、最新のもの又は構造化データ１２０の更新版と同期したものとして絵図１２６をフラグ付けるか又は他の方法で識別し得る。
【００２７】
幾つかの実施形態では、サーバ１０２は、クライアントデバイス１０４、１０６、１０８と協働して、クライアントデバイス１０４、１０６、１０８が構造化データ１２０に基づいて絵図１２６を生成、フィルタリング及び／又は更新できるようにするように構成され得る。構造化データ１２０に基づく絵図１２６の生成、フィルタリング及び／又は更新は、構造化データ１２０に直接基づいて、及び／又は構造化データ１２０から導出されたモデル１２２に基づいて絵図１２６を生成、フィルタリング及び／又は更新することを含み得る。これら及び他の実施形態では、クライアントデバイス１０４、１０６、１０８は、ブラウザ１２８等の対応するアプリケーション又はアプリを使用して絵図１２６を生成し得、絵図１２６は、対応するクライアントデバイス１０４、１０６、１０８のディスプレイ上に表示され得る。
【００２８】
したがって、各クライアントデバイス１０４、１０６、１０８は、ネットワーク１１２を通してサーバ１０２と通信するように構成されたブラウザ１２８等のアプリケーションを実行し得る。他のクライアントデバイス１１９、１２１のそれぞれも、同様にブラウザ１２８等のブラウザを実行するように構成され得る。ブラウザ１２８は、インターネットブラウザ又はネットワーク１１２を通してサーバ１０２と通信するのに適した他のアプリケーションを含み得る。ブラウザ１２８は、構造化データ１２０及び／又は絵図１２６を生成、ダウンロード及び／又は対話し得る。各クライアントデバイス１０４、１０６、１０８は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、個人情報端末（ＰＤＡ）、ウェアラブルデバイス（例えば、スマートウォッチ）又は別の適したクライアントデバイスを含み得る。
【００２９】
各クライアントデバイス１０４、１０６、１０８は、図１においてクライアントデバイス１０４について示されるように、プロセッサ１３０及び記憶媒体１３２等のプロセッサ及び記憶媒体を更に含み得る。他のクライアントデバイス１０６、１２１１０８のそれぞれも同様に構成され得る。サーバ１０２のプロセッサ１１６と同様に、プロセッサ１３０は、ＣＰＵ、μＰ、μＣ、ＤＳＰ又はそれらの任意の組合せ等の任意のタイプであり得る。プロセッサ１３０は、実行されると、プロセッサ１３０に、クライアントデバイス１０４及び／又はブラウザ１２８に関して本明細書に記載される動作の１つ又は複数を実行させるか又は実行を制御させるコンピュータ命令を実行するように構成され得る。
【００３０】
サーバ１０２の記憶媒体１１８と同様に、クライアントデバイス１０４の記憶媒体１３２も、ＲＡＭ等の揮発性メモリ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ等の永続的若しくは不揮発性記憶装置、又は他の光ディスク記憶装置、磁気ディスク記憶装置、若しくは他の磁気記憶装置、ＮＡＮＤフラッシュメモリ、若しくは他の固体状態記憶装置、又は他の永続的若しくは不揮発性コンピュータ記憶媒体を含み得る。記憶媒体１３２は、プロセッサ１３０により実行されて、クライアントデバイス１０４及び／又はブラウザ１２８に関して本明細書に記載される動作の１つ又は複数を実行し得るコンピュータ命令を記憶し得る。記憶媒体１３２は、少なくとも一時的に絵図１２６、対応する組の構造化データ１２０又はモデル１２２の幾つか及び／又はサーバ１０２から得られ、及び／又はクライアントデバイス１０４でローカルに作成された他のコンテンツを更に記憶し得る。
【００３１】
本明細書に記載される実施形態は、ブラウザを使用してサーバ１０２と通信し、絵図を生成、フィルタリング及び／又は更新することに限定されない。例えば、ブラウザではなく又はブラウザに加えて、クライアントデバイス１０４、１０６、１０８は、スマートフォン及びタブレットコンピュータを含むモバイルデバイス等のクライアントデバイスで多くの場合に使用されるようにネイティブアプリを含み得る。したがって、本明細書に記載される実施形態は、一般に、ブラウザ、ネイティブアプリ又はクライアントデバイス１０４、１０６、１０８の別の適したアプリケーションを使用して絵図を生成、フィルタリング及び／又は更新することを含む。
【００３２】
図２は、本明細書に記載される少なくとも１つの実施形態に従って構成される、構造化データに基づいて絵図を生成する方法２００のフローチャートである。方法２００は、ブラウザ、図アプリケーション及び／又は他のアプリケーションを実行して、構造化データに基づいて絵図を生成する、例えばコンピュータ及び／又はサーバにおけるプロセッサによりプログラム的に実行又は制御され得る。一実装形態例では、方法２００は、全体的又は部分的に図１のサーバ１０２及び／又はクライアントデバイス１０４により実行され得る。方法２００は、ブロック２０２、２０４及び／又は２０６の１つ又は複数を含み得る。
【００３３】
ブロック２０２において、方法２００は、描画カンバスの横に、パネルであって、パネル内においてノードのリストを有するパネルを表示することを含み得る。例えば、図１のクライアントデバイス１０４は、クライアントデバイス１０４のディスプレイ上において、ブラウザ１２８内にパネル及び描画カンバスを表示し得る。ノードは、構造化データ１２０により表され得、及び／又は構造化データ１２０において識別され得る。クライアントデバイス１０４は、構造化データ１２０をデータソース１１０からインポートし得る。代替的に、サーバ１０２は、構造化データ１２０をデータソース１１０からインポートし、及び／又は対応するモデル１２２を導出し得、サーバ１０２は、構造化データ１２０及び／又はモデル１２２に基づいてノード及び／又はそれらの関係のリストをクライアントデバイス１０４に送信し得る。ブロック２０２後にブロック２０４が続き得る。
【００３４】
ブロック２０４において、方法２００は、絵図に含めるノードの２つ以上を選択するのに有効な入力を受信することを含み得る。例えば、クライアントデバイス１０４は、描画カンバスにおいて絵図に含める２つ以上のノードをパネルから選択するのに有効である、ドラッグアンドドロップマウス入力又は他の入力等のユーザ入力を受信し得る。ブロック２０４において絵図に含める２つ以上のノードを選択するのに有効な入力を受信することは、サブブロック２０４Ａにおいて、パネル内のリストから第１のノードを描画カンバスにドラッグアンドドロップするのに有効な入力を受信することを含み得る。ブロック２０４において絵図に含める２つ以上のノードを選択するのに有効な入力を受信することは、サブブロック２０４Ｂにおいて、パネル内のリストから第２のノードを描画カンバスにドラッグアンドドロップするのに有効な入力を受信することも含み得る。構造化データ１２０（構造化データ１２０自体又は構造化データ１２０から導出されたモデル１２２を含む）は、第２のノードが第１のノードに関連することを示し得る。ブロック２０４後にブロック２０６が続き得る。
【００３５】
ブロック２０６において、方法２００は、描画カンバスにおいて絵図を生成及び表示することを含み得、これは、第１のノードを第１のアイコンとして、第２のノードを第２のアイコンとして、且つ第１のアイコンと第２のアイコンとの間の結び付きを、第２のノードが第１のノードに関連することの表現として生成及び表示することを含む。
【００３６】
本明細書に開示されるこの及び他のプロセス及び方法では、プロセス及び方法において実行される機能が異なる順序で実施可能であることを当業者は理解するであろう。更に、概説されたステップ及び動作は、単なる例として提供され、開示される実施形態の本質から逸脱することなく、ステップ及び動作の幾つかは、任意選択的であり得、より少数のステップ及び動作に結合され得、又は追加のステップ及び動作に拡大され得る。例えば、方法２００は、本明細書に記載される１つ又は複数の他の方法及びプロセスと結合され得る。
【００３７】
更に、この及び他のプロセス及び方法に記載される機能又はブロックの幾つか又は全ては、１つ又は複数の非一時的コンピュータ可読媒体に記憶されたコンピュータ可読命令を実行する１つ又は複数のプロセッサにより実施され得る。コンピュータ可読命令のプロセッサによる実行により、プロセッサに機能又はブロックを実行させるか又は実行を制御させ得る。１つ又は複数のプロセッサは、図１のサーバ１０２のプロセッサ１１６、クライアントデバイス１０４のプロセッサ１３０及び／又は１つ若しくは複数の他のデバイスの１つ若しくは複数の他のプロセッサを含み得る。非一時的コンピュータ可読媒体は、サーバ１０２の記憶媒体１１８、クライアントデバイス１０４の記憶媒体１３２及び／又は１つ若しくは複数の他のデバイスの１つ若しくは複数の他の記憶媒体等の外部コンピュータ若しくはサーバに含まれるか、又は外部コンピュータ若しくはサーバがアクセス可能な１つ若しくは複数の非一時的コンピュータ可読媒体を含み得る。コンピュータ可読命令は、サーバ１０２の図アプリケーション１１４、クライアントデバイス１０４のブラウザ１２８及び／又は１つ若しくは複数の他のデバイスの１つ若しくは複数の他のアプリケーションの１つ若しくは複数を含み得る。
【００３８】
図２の方法２００の一実装形態例について図３Ａ及び図３Ｂと共に一緒に考察する。図３Ａ〜図３Ｃは、本明細書に開示される少なくとも１つの実施形態に従って構成される、絵図を生成するユーザインターフェースの図表現３００Ａ〜３００Ｃ（まとめて「図表現３００」）を含む。ユーザインターフェースは、図１のブラウザ１２８及び／又は図アプリケーション１１４により提供され得る。例えば、ブラウザ１２８は、図アプリケーション１１４と協働して、クライアントデバイス１０４のディスプレイを通してユーザにユーザインターフェースを提示し得る。図表現３００は、図２の方法２００の異なるステップに対応するユーザインターフェースの時点表現を含み得る。
【００３９】
図３Ａ〜図３Ｃでは、図表現３００は、描画カンバス３０２及び描画カンバス３０２の横のパネル３０４を含む。パネル３０４は、入力フィールド３０６を含み得、入力フィールド３０６から特定の組の構造化データを絵図のソースとして選択し得る。ユーザは、入力フィールド３０６において、ディレクトリを表示する入力又は絵図を生成し得る所望の組の構造化データを他の方法で見つけ且つ選択する入力を提供し得る。図３Ａ〜図３Ｃの例では、選択された組の構造化データは、「インポートされたＡＷＳ」と記される。ユーザが前に使用した構造化データの組を選択することは、データソースから構造化データの現在版をインポートするのに有効であり得、構造化データの現在版を分析して、構造化データの先行版と比較して更新されているか否かを判断し得る。
【００４０】
パネル３０４は、構造化データ及び／又は構造化データから導出された対応するモデルにおいて識別及び／又は表現されたノードのリスト３０８を含む。本明細書に記載される幾つかの実施形態によれば、リスト３０８内のノードは、描画カンバス３０２にドラッグアンドドロップされて、絵図３１０を生成し得る。関連するノード間の関係は、絵図３１０において、ユーザが手動で結び付きを要求する必要なく自動的に表示され得る結び付きにより表され得る。関係は、構造化データから直接又は構造化データから導出されたモデルから自動的に決定され得る。
【００４１】
図２〜図３Ｃをまとめて参照すると、方法２００の一実装形態例は、ブロック２０２において、描画カンバス３０２の横に、パネル３０４であって、パネル３０４内においてノードのリスト３０８を有するパネル３０４を表示することを含み得る。
【００４２】
方法２００の実装形態例は、ブロック２０４において、絵図３１０に含める「star-lucidpress.com」と記された第１のノード及び「software_load_balancers」と記された第２のノードをリスト３０８から選択するのに有効な入力を受信することを更に含み得る。例えば、ブロック２０４Ａにおいて、ユーザは、例えば、マウスカーソル３１４をリスト３０８内の「star-lucidpress.com」と記された第１のノードに移動させ、クリックして左マウスボタンを押したままマウスカーソル３１４を描画カンバス３０２に移動させ、左マウスボタンを解放することにより、図３Ａの３１２に一般に記されるように、「star-lucidpress.com」と記された第１のノードに対してドラッグアンドドロップ動作を実行し得る。幾つかの実施形態では、「star-lucidpress.com」と記された第１のノードとして第１のアイコン３１６を描画カンバス３０２に表示し得、第１のアイコン３１６（及び／又は他のアイコン）は、マウスカーソル３１４が描画カンバス３０２内にあるとき、図３Ａに示されるような輪郭を有するか又は他の方法で強調表示されて、マウスにより第１のアイコン３１６が「ホールドされたまま」（例えば、左マウスボタンがクリックされ、現在、押下されたまま）であることを示し得る。左マウスボタンが解放された後、第１のアイコン３１６は、図３Ａに示された輪郭（又は他の強調表示）なしで、図３Ｂ及び図３Ｃに示されるように表示し得る。マウス入力が方法２００のこの実施形態例において説明されているが、必要に応じて他のタイプの入力を実施することも可能である。
【００４３】
代替又は追加として、ブロック２０４Ｂにおいて、ユーザは、例えば、マウスカーソル３１４をリスト３０８内の「software_load_balancers」と記された第２のノードに移動させ、クリックして左マウスボタンを押したままマウスカーソル３１４を描画カンバス３０２に移動させ、左マウスボタンを解放することにより、図３Ｂの３１８に一般に記されるように、「software_load_balancers」と記された第２のノードに対してドラッグアンドドロップ動作を実行し得る。幾つかの実施形態では、「software_load_balancers」と記された第２のノードとして第２のアイコン３２０を描画カンバス３０２に表示し得、第２のアイコン３２０は、マウスカーソル３１４が描画カンバス３０２内にあるとき、図３Ｂに示されるような輪郭を有するか又は他の方法で強調表示されて、マウスにより第２のアイコン３２０が「ホールドされたまま」であることを示し得る。左マウスボタンが解放された後、第２のアイコン３２０は、図３Ｂに示された輪郭（又は他の強調表示）なしで、図３Ｃに示されるように示されて、第２のアイコン３２０が解放されたことを示し得る。
【００４４】
方法２００の実装形態例は、ブロック２０６において、描画カンバス３０２において絵図３１０を生成及び表示することを更に含み得、これは、第１のノードを第１のアイコン３１６として、第２のノードを第２のアイコン３２０として、且つ第１のアイコン３１６と第２のアイコン３２０との間の結び付き３２２（図３Ｃ）を、第２のノードが第１のノードに関連することの表現として生成及び表示することを含む。第１のノードと第２のノードとの間の関係を表す結び付き３２２は、ユーザが結び付き３２２を手動で要求若しくは描画する必要なく、又は結び付き３２２を得るためにドラッグアンドドロップし、第１のノード及び第２のノードを描画カンバス３０２内にドロップすることを超えて何もする必要なく、描画カンバス３０２に自動的に表示され得る。第１のノード及び第２のノードが、ＡＷＳからインポートされた構造化データに基づく図３Ｃに関連して、結び付き３２２は、第１のノード及び第２のノードが互いに通信するという意味で関連することを示し得る。代替又は追加として、結び付き３２２は、第１のノード及び第２のノードを接続することができるポート等の第１のノードと第２のノードとの間の関係についての追加情報３２４を含み得る。
【００４５】
幾つかの実施形態では、パネル３０４は、１つ又は複数の図形３２６を更に含み得る。図形３２６は、ユーザにより描画カンバス３０２にドラッグアンドドロップされ得る。代替又は追加として、ユーザは、関連しないノードを表すアイコン間に結び付きを作成し得る。図形３２６が、構造化データに基づいて絵図３１０と共に描画カンバス３０２にドラッグされ、及び／又は新しい結び付きがユーザにより作成されると、幾つかの実施形態では、そのような変更を更新として構造化データにプッシュバックすることが可能であり得る。そのような更新の一実装形態例の説明を本明細書の他の箇所において提供する。
【００４６】
図４は、本明細書に記載される少なくとも１つの実施形態に従って構成される、構造化データに基づいて絵図を生成する別の方法４００のフローチャートである。方法４００は、ブラウザ、図アプリケーション及び／又は他のアプリケーションを実行して、構造化データに基づいて絵図を生成する、例えばコンピュータ及び／又はサーバにおけるプロセッサによりプログラム的に実行又は制御され得る。一実装形態例では、方法４００は、全体的又は部分的に図１のサーバ１０２及び／又はクライアントデバイス１０４により実行され得る。方法４００は、ブロック４０２、４０４、４０６、４０８、４１０及び／又は４１２の１つ又は複数を含み得る。
【００４７】
ブロック４０２において、方法４００は、描画カンバス内に複数のノードの第１のノードを表示することを含み得る。例えば、図１のクライアントデバイス１０４は、クライアントデバイスのディスプレイ上のブラウザ１２８に描画カンバスを表示し得、第１のノードは、例えば、第１のアイコンとして描画カンバスに表示される。第１のノードは、例えば、図２〜図３Ｃに関して説明したようなノードのリストと共にパネルから描画カンバス内にドラッグアンドドロップされ得る。ノードは、構造化データ１２０により表され、及び／又は構造化データ１２０において識別され得る。代替として、サーバ１０２は、構造化データ１２０をデータソース１１０からインポートし得、及び／又は対応するモデル１２２を導出し得、サーバ１０２は、構造化データ１２０及び／又はモデル１２２に基づいてノード及び／又はそれらの関係のリストをクライアントデバイス１０４に送信し得る。ブロック４０２後にブロック４０４が続き得る。
【００４８】
ブロック４０４において、方法４００は、第１のノードに関連するノードのサブセットのリストを要求するのに有効な入力を受信することを含み得る。例えば、第１のアイコンとして表示されたノードは、第１のノードに関連するノードのリストを要求するのにクリック又は他の方法で選択され得る１つ又は複数の拡張ポイントを含み得る。ブロック４０４後にブロック４０６が続き得る。
【００４９】
ブロック４０６において、方法４００は、第１のノードに関連するノードのサブセットを識別することを含み得る。構造化データを分析して、第１のノードに関連するノードのサブセットを識別することは、モデル規則及び／又はヒューリスティック１２４を構造化データ１２０に適用して、図１のモデル１２２を導出することを含み得、モデル１２２は、いずれの特定のノードが所与の各ノードに関連するかを識別し得る。代替又は追加として、構造化データを分析して、第１のノードに関連するノードのサブセットを識別することは、モデル１２２に照会することを含み得る。ブロック４０６後にブロック４０８が続き得る。
【００５０】
ブロック４０８において、方法４００は、第１のノードに関連するノードのサブセットを列挙するユーザインターフェースオーバーレイを描画カンバスの上に表示することを含み得る。ユーザインターフェースオーバーレイは、例えば、描画カンバスの上に表示される、第１のノードに関連するノードのサブセットを列挙するウィンドウ又は他のユーザインターフェース要素を含み得る。ブロック４０８後にブロック４１０が続き得る。
【００５１】
ブロック４１０において、方法４００は、ユーザインターフェースオーバーレイからノードのサブセットの第２のノードを選択するのに有効な入力を受信することを含み得る。例えば、ユーザは、ユーザインターフェースオーバーレイに列挙された第２のノードに対してマウスクリック又は他の入力を実行して第２のノードを選択し、絵図に例えば第１のノード及び第２のノードの両方を含め得る。ブロック４１０後にブロック４１２が続き得る。
【００５２】
ブロック４１２において、方法４００は、描画カンバスにおいて絵図を生成及び表示することを含み得、これは、第１のノードを第１のアイコンとして、第２のノードを第２のアイコンとして、且つ第１のアイコンと第２のアイコンとの間の結び付きを、第２のノードが第１のノードに関連することの表現として生成及び表示することを含む。
【００５３】
方法４００は、図２の方法２００等の本明細書に記載される１つ又は複数の他の方法及びプロセスと組み合わされ得る。
【００５４】
図４の方法４００の一実装形態例について図５と一緒に考察する。図５は、本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を生成する別のユーザインターフェースの図表現５００Ａ〜５００Ｃ（まとめて「図表現５００」）を含む。ユーザインターフェースは、図１のブラウザ１２８及び／又は図アプリケーション１１４により提供され得る。例えば、ブラウザ１２８は、図アプリケーション１１４と協働して、クライアントデバイス１０４のディスプレイを通してユーザにユーザインターフェースを提示し得る。図表現５００は、図４の方法４００の異なるステップに対応するユーザインターフェースの時点表現を含み得る。幾つかの実施形態では、図５のユーザインターフェースは、図３Ａ〜図３Ｃのユーザインターフェースと同じ又は同様であり得る。
【００５５】
図５では、図表現５００は、描画カンバス５０２及び描画カンバス５０２の横のパネル５０４を含む。パネル５０４は、入力フィールド５０６を含み得、入力フィールド５０６から特定の組の構造化データを絵図のソースとして選択し得る。ユーザは、入力フィールド５０６において、ディレクトリを表示する入力又は絵図を生成し得る所望の組の構造化データを他の方法で見つけ且つ選択する入力を提供し得る。図５の例では、選択された組の構造化データは、「ＡＷＳインポート」と記される。ユーザが前に使用した構造化データの組を選択することは、データソースから構造化データの現在版をインポートするのに有効であり得、構造化データの現在版を分析して、構造化データの先行版と比較して更新されているか否かを判断し得る。
【００５６】
パネル５０４は、構造化データ及び／又は構造化データから導出された対応するモデルにおいて識別及び／又は表現されたノードのリスト５０８を含み得る。図２〜図３Ｃに関して説明したように、リスト５０８内のノードは、描画カンバス５０２にドラッグアンドドロップされて、絵図５１０を生成し得る。関連するノード間の関係は、絵図５１０において、ユーザが手動で結び付きの表示を要求する必要なく自動的に表示され得る結び付きにより表され得る。関係は、構造化データから直接又は構造化データから導出されたモデルから自動的に決定され得る。
【００５７】
図５の例では、リスト５０８内の「software_load_balancers」と記された第１のノードは、各図表現５００内に第１のアイコン５１２として既に示されている。第１のアイコン５１２として表示された第１のノードは、一般に、図２〜図３Ｃに関して説明したように描画カンバス５０２にドラッグアンドドロップされていることがある。第１のアイコン５１２として表示される第１のノードは、１つ又は複数の拡張ポイント５１４を含み得る。描画カンバス５０２においてアイコンとして表示される各ノードも同様に１つ又は複数の拡張ポイント５１４を含み得る。
【００５８】
図４及び図５を組み合わせて参照すると、方法４００の一実装形態例は、ブロック４０２において、描画カンバス５０２において、第１のアイコン５１２として「software_load_balancers」と記された第１のノードを表示することを含み得る。
【００５９】
方法４００の実装形態例は、ブロック４０４において、第１のノードに関連するノードのサブセットのリスト５１６を要求するのに有効な入力を受信することを更に含み得る。第１のノードに関連するノードのサブセットのリスト５１６を要求するのに有効な入力を受信することは、第１のノードの拡張ポイント５１４の１つを選択するのに有効な入力（例えば、マウスクリック）を受信することを含み得る。例えば、ユーザは、マウスカーソル５１８を拡張ポイント５１４の１つに移動させ、拡張ポイント５１４をクリック又は他の方法で選択し得る。所与のノードが複数の拡張ポイント５１４を有する場合、選択される特定の拡張５１４ポイントは、結び付きが、所与のノードと、対応するリストから選択されたノードとの間に描かれたものと同じ拡張ポイント５１４であり得る。
【００６０】
方法４００の実装形態例は、ブロック４０６において、構造化データを分析して、第１のノードに関連するノードのサブセットを識別することを更に含み得る。
【００６１】
方法４００の実装形態例は、ブロック４０８において、第１のノードに関連するノードのサブセットを有するリスト５１６を含むユーザインターフェースオーバーレイ５２０を描画カンバス５０２の上に表示することを更に含み得る。
【００６２】
方法４００の実装形態例は、ブロック４１０において、ユーザインターフェースオーバーレイ５２０から、第１のノードに関連するノードのサブセットからの「［elb］star-lucidchart-com」と記された第２のノードを選択するのに有効な入力を受信することを更に含み得る。例えば、ユーザは、マウスカーソル５１８をユーザインターフェースオーバーレイ５２０のリスト５１６内の「［elb］star-lucidchart-com」と記された第２のノードに移動させ、「［elb］star-lucidchart-com」と記された第２のノードをクリック又は他の方法で選択し得る。マウス入力が方法４００のこの実装形態例において説明されているが、必要に応じて他のタイプの入力を実施することも可能である。
【００６３】
方法４００の実装形態例は、ブロック４１２において、描画カンバス５０２において絵図５１０を生成及び表示することを更に含み得、これは、第１のノードを第１のアイコン５１２として、第２のノードを第２のアイコン５２２（図表現５００Ｃ）として、且つ第１のアイコン５１２と第２のアイコン５２２との間の結び付き５２４（図表現５００Ｃ）を、第２のノードが第１のノードに関連することの表現として生成及び表示することを含む。第１のノードと第２のノードとの間の関係を表す結び付き５２４は、ユーザが結び付き５２４を手動で要求若しくは描画する必要なく、又は結び付き５２４を得るために一般にユーザインターフェースオーバーレイ５２０から第２のノードを選択することを超えて何もする必要なく、描画カンバス５０２に自動的に表示され得る。第１のノード及び第２のノードが、ＡＷＳからインポートされた構造化データに基づく図５に関連して、結び付き５２４は、第１のノード及び第２のノードが互いに通信するという意味で関連することを示し得る。代替又は追加として、結び付き５２４は、第１のノード及び第２のノードを接続することができるポート等の第１のノードと第２のノードとの間の関係についての追加情報５２６を含み得る。
【００６４】
図６は、本明細書に記載される少なくとも１つの実施形態に従って構成される、構造化データに基づいて絵図をフィルタリングする方法６００のフローチャートである。方法６００は、ブラウザ、図アプリケーション及び／又は他のアプリケーションを実行して、構造化データに基づいて絵図を生成する、例えばコンピュータ及び／又はサーバにおけるプロセッサによりプログラム的に実行又は制御され得る。一実装形態例では、方法６００は、全体的又は部分的に図１のサーバ１０２及び／又はクライアントデバイス１０４により実行され得る。方法６００は、ブロック６０２、６０４、６０６及び／又は６０８の１つ又は複数を含み得る。
【００６５】
ブロック６０２において、方法６００は、複数のノード及びそれらの関係の絵図を、ノード及びそれらの関係についての構造化データに基づいて表示することを含み得る。絵図は、図２の方法２００及び図４の方法４００の一方又は両方に関して説明されるように及び／又は何らかの他の様式で生成され得る。したがって、各ノードは、対応するアイコンとして描画カンバスに表示され得、ノード間の関係は、アイコン間の結び付きにより表され得る。ブロック６０２後にブロック６０４が続き得る。
【００６６】
ブロック６０４において、方法６００は、フィルタパラメータを指定するのに有効な入力を受信することを含み得る。例えば、絵図が表示されたユーザインターフェースは、ユーザがキーワード、日付若しくは日付範囲、コスト又は他のフィルタパラメータを入力し得る検索フィールドを含み得る。したがって、フィルタパラメータを指定するのに有効な入力を受信することは、ユーザインターフェースの検索フィールドにユーザにより入力されたキーワード、日付若しくは日付範囲、コスト又は他のフィルタパラメータを受信することを含み得る。ブロック６０４後にブロック６０６が続き得る。
【００６７】
ブロック６０６において、方法６００は、フィルタパラメータを満たすノードの第１のサブセット及びフィルタパラメータを満たさないノードの第２のサブセットを識別するために、絵図に表示されたノードを分析することを含み得る。ノードを分析することは、ノードのタグを分析することを含み得、ここで、タグは、構造化データに含まれ、及びフィルタパラメータを満たすノードの第１のサブセットは、フィルタパラメータを満たすタグを有するノードを含み得る。キーワードフィルタパラメータの場合、ノードを分析することは、キーワードを探して、構造化データ内及び／又は対応するモデル内の絵図におけるノードのタグ又は他のフィールドを検索することを含み得る。例えば、構造化データ及び／又は対応するモデル内の絵図における、キーワードを有するタグ又は他のフィールドを有する任意のノードは、フィルタパラメータを満たす第１のサブセット内にあるものとして識別され得る一方、満たさないノードは、フィルタパラメータを満たさない第２のサブセット内にあるものとして識別され得る。同様の分析は、他のタイプのフィルタパラメータに対して実行することもできる。ブロック６０６後にブロック６０８が続き得る。
【００６８】
ブロック６０８において、方法６００は、フィルタパラメータに従って絵図を変更することを含み得る。フィルタパラメータに従って絵図を変更することは、フィルタパラメータを満たす絵図内のノードの第１のサブセットを強調表示する等、フィルタパラメータを満たさないノードの第２のサブセットに対して、フィルタパラメータを満たすノードの第１のサブセットを強調することを含み得る。代替又は追加として、フィルタパラメータに従って絵図を変更することは、フィルタパラメータを満たさない、絵図内のノードの第２のサブセットをグレー表示する等、フィルタパラメータを満たすノードの第１のサブセットに対して、フィルタパラメータを満たさないノードの第２のサブセットの強調を抑えることを含み得る。代替又は追加として、フィルタパラメータに従って絵図を変更することは、フィルタパラメータを満たすノードの第１のサブセットが一緒に統合されるようにノードを再構成することを更に含み得る。
【００６９】
ブロック６０８におけるフィルタパラメータに従って絵図を変更することへの代替又は追加として、本明細書に記載される少なくとも１つの実施形態は、合ったノードのリスト（例えば、テキストリスト）（例えば、フィルタパラメータを満たすノードのリスト）を出力し得る。リストは、絵図内のノードの表現とは別個であり得る。例えば、合ったノードのリストは、描画カンバスの上のユーザインターフェースオーバーレイ内、描画カンバスの隣若しくは近傍のパネル内、別個のウィンドウ内又は何らかの他の様式で提示され得る。
【００７０】
方法６００は、図２の方法２００及び図４の方法４００の１つ又は複数等の本明細書に記載される１つ又は複数の他の方法及びプロセスと組み合わされ得る。
【００７１】
図６の方法６００の一実装形態例を図７Ａ〜図７Ｃと一緒に考察する。図７Ａ〜図７Ｃは、本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図をフィルタリングするユーザインターフェースの図表現７００Ａ〜７００Ｃ（まとめて「図表現７００」）を含む。ユーザインターフェースは、図１のブラウザ１２８及び／又は図アプリケーション１１４により提供され得る。例えば、ブラウザ１２８は、図アプリケーション１１４と協働して、クライアントデバイス１０４のディスプレイを通してユーザにユーザインターフェースを提示し得る。図表現７００は、図６の方法６００の異なるステップに対応するユーザインターフェースの時点表現を含み得る。幾つかの実施形態では、図７Ａ〜図７Ｃのユーザインターフェースは、図３Ａ〜図３Ｃ及び図５のユーザインターフェースと同じ又は同様であり得る。
【００７２】
図７Ａ〜図７Ｃでは、図表現７００は、絵図７０４が内部に表示される描画カンバス７０２を含む。絵図７０４は、図２の方法２００及び図４の方法４００の一方又は両方に関して説明したように及び／又は何らかの他の様式で生成され得る。
【００７３】
図７Ａ〜図７Ｃに示されるような絵図７０４は、第１のノード７０６Ａ、第２のノード７０６Ｂ、第３のノード７０６Ｃ、第４のノード７０６Ｄ及び第５のノード７０６Ｅを含む（まとめて「ノード７０６」）。各ノード７０６は、対応するアイコンとして描画カンバス７０２に表示される。
【００７４】
絵図７０４は、第１の結び付き７０８Ａ、第２の結び付き７０８Ｂ、第３の結び付き７０８Ｃ及び第４の結び付き７０８Ｄ（まとめて「結び付き７０８」）を含む、ノード７０６間の様々な結び付きを更に含む。結び付き７０８は、対応するノードが互いに通信することができるという表示等のノード７０６間の関係を表す。第１の結び付き７０８Ａは、第１のノード７０６Ａ及び第２のノード７０６Ｂが関連する（例えば、互いに通信することができる）ことを表し得、第２の結び付き７０８Ｂは、第２のノード７０６Ｂ及び第３のノード７０６Ｃが関連することを表し得、第３の結び付き７０８Ｃは、第３のノード７０６Ｃ及び第４のノード７０６Ｄが関連することを表し得、第４の結び付き７０８Ｄは、第４のノード７０６Ｄ及び第５のノード７０６Ｅが関連することを表し得る。図７Ａ〜図７Ｃに示されるように、各結び付き７０８は、対応するノード７０６が互いに通信し得るポート等の追加情報を含み得る。
【００７５】
図７Ａ〜図７Ｃの描画カンバス７０２及び／又はユーザインターフェースの別の部分は、検索フィールド７１０を更に含み得る。ユーザは、１つ又は複数のフィルタパラメータを検索フィールド７１０に入力して、１つ又は複数のフィルタパラメータに従って絵図７０４をフィルタリングし得る。
【００７６】
図６及び図７Ａを参照すると、方法６００の実装形態例は、ブロック６０２において、ノード７０６及びそれらの関係（結び付き７０８で表される）の絵図７０５を、ノード７０６及びそれらの関係についての構造化データに基づいて表示することを含み得る。任意のフィルタリング前の絵図７０４を図７Ａに示す。
【００７７】
方法６００の実装形態例は、ブロック６０４において、図７Ｂに示されるような検索フィールド７１０を通してユーザにより入力され得る例えばキーワード「Lucid」をフィルタパラメータとして受信することにより、フィルタパラメータを指定するのに有効な入力を受信することを更に含み得る。
【００７８】
方法６００の実装形態例は、ブロック６０６において、フィルタパラメータを満たすノード７０６の第１のサブセット及びフィルタパラメータを満たさないノードの第２のサブセットを識別するために、絵図７０４内に表示されたノード７０６を分析することを更に含み得る。図７Ａ〜図７Ｃの例では、各ノード７０６は、ノード７０６の名前、例えば第１のノード７０６Ａ及び第３のノード７０６Ｃでは「star-lucidpress.com」、第２のノード７０６Ｂでは「software_load_balancers」、第４のノード７０６Ｄでは「ChartWebScaleGroup」、第５のノード７０６Ｅでは「Lucid Ops VPN」を有するタグを有する。したがって、ノード７０６を分析して第１のサブセット及び第２のサブセットを識別することは、ノードのタグを分析して、第１のノード７０６Ａ、第３のノード７０６Ｃ及び第５のノード７０６Ｅのそれぞれがタグにキーワード「Lucid」を含むため、フィルタパラメータを満たすものとして第１のノード７０６Ａ、第３のノード７０６Ｃ及び第５のノード７０６Ｅを識別し、第２のノード７０６Ｂ及び第４のノード７０６Ｄがタグにキーワード「Lucid」を含まないため、フィルタパラメータを満たさないものとして第２のノード７０６Ｂ及び第４のノード７０６Ｄを識別することを含み得る。
【００７９】
方法６００の実装形態例は、ブロック６０８において、フィルタパラメータに従って絵図７０４を変更することを更に含み得る。例えば、図７Ｂにおいて、絵図７０４は、フィルタパラメータを満たさない第２のノード７０６Ｂ及び第４のノード７０６Ｄをグレー表示することにより、図７Ａと比較して変更されている。幾つかの実施形態では、図７Ｂの例では結び付き７０８の全て等のフィルタパラメータを満たさない各ノードへの結び付きは、フィルタパラメータを満たさないノードの変更に一致するようにグレー表示又は他の方法で変更され得る。より一般には、フィルタパラメータに従って絵図７０４を変更することは、フィルタパラメータを満たすノード７０６を強調し、及び／又はフィルタパラメータを満たさないノード７０６の強調を抑えることを含み得る。
【００８０】
代替又は追加として、図７Ｃに示されるように、フィルタパラメータに従って絵図７０４を変更することは、フィルタパラメータを満たす第１のノード７０６Ａ、第３のノード７０６Ｃ及び第５のノード７０６Ｅを一緒に統合するようにノード７０６を再構成することを更に含み得る。図７Ａ〜図７Ｃに示されていないが、幾つかの実施形態では、描画カンバス７０２又は図７Ａ〜図７Ｃのユーザインターフェースの別の部分は、フィルタパラメータを満たす第１のノード７０６Ａ、第３のノード７０６Ｃ及び第５のノード７０６Ｅを統合するか否かでトグルする１つ又は複数のボタンを含み得る。
【００８１】
図８は、本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を更新する方法８００のフローチャートである。方法８００は、例えば、ブラウザ、図アプリケーション及び／又は他のアプリケーションを実行して、構造化データに基づいて絵図を生成する、例えばコンピュータ及び／又はサーバにおけるプロセッサによりプログラム的に実行又は制御され得る。一実装形態例では、方法８００は、全体的又は部分的に図１のサーバ１０２及び／又はクライアントデバイス１０４により実行され得る。方法８００は、ブロック８０２、８０４、８０６及び／又は８０８の１つ又は複数を含み得る。
【００８２】
ブロック８０２において、方法８００は、複数のノード及びそれらの関係の初期絵図を、ノード及びそれらの関係についての構造化データの初期版に基づいて表示することを含み得る。初期絵図は、図２の方法２００及び図４の方法４００の一方又は両方に関して説明されるように及び／又は何らかの他の様式で生成され得る。したがって、各ノードは、対応するアイコンとして描画カンバスに表示され得、ノード間の関係は、アイコン間の結び付きにより表され得る。ブロック８０２後にブロック８０４が続き得る。
【００８３】
ブロック８０４において、方法８００は、構造化データの現在版が、ノード又は関係の少なくとも１つに関して構造化データの初期版と比較して更新されていると判断することを含み得る。幾つかの実施形態では、初期絵図は、生成された日付及び／又は時刻を示すようにタイムスタンプを有し得、及び／又は初期絵図の生成元の構造化データのバージョンを識別し得る（例えば、タイムスタンプ若しくは他のインジケータにより）。構造化データの現在版は、対応するデータソースからインポートされた日付及び／又は時刻を示すタイムスタンプ又は他のインジケータを有し得る。タイムスタンプ又は他のインジケータを比較して、初期絵図が構造化データの現在版に基づいて生成されたか否かを判断し得る。初期絵図が構造化データの現在版に基づいて生成されていない場合、構造化データ及び／又はそれから導出されたモデルの現在版を構造化データ及び／又はそれから導出されたモデルの初期版と比較して、初期版から現在版への１つ又は複数の変更を識別し得る。代替又は追加として、初期絵図を構造化データ及び／又はそれから導出されたモデルの現在版と比較して、初期絵図に含まれたノード及び／又は関係への１つ又は複数の変更を識別し得る。ブロック８０４後にブロック８０６が続き得る。
【００８４】
ブロック８０６において、構造化データの現在版が構造化データの初期版と比較して更新されているとすること判断に応答して、方法８００は、ノード及びそれらの関係の初期絵図が古いという表示を出力することを含み得る。例えば、表示を出力することは、構造化データの初期絵図と、現在版に表示されたノード又は関係との間の１つ又は複数の不一致の存在及び／又は不一致の数を記述及び／又は列挙するテキスト出力を出力することを含み得る。代替又は追加として、表示を出力することは、構造化データの初期版に対して構造化データの現在版において修正又は削除されている、初期絵図に表示されたノード又は関係の少なくとも１つを強調表示することを含み得る。
【００８５】
方法８００は、例えば、構造化データの現在版が構造化データの初期版と比較して更新されていると判断することの前に、初期絵図が構造化データに対する更新についてチェックされることを要求するのに有効な入力を受信することを更に含み得、判断することは、入力の受信に応答して行われる。例えば、絵図は、更新についてのチェックに選択することができるボタンを含むユーザインターフェースの描画カンバスに表示され得る。
【００８６】
幾つかの実施形態では、構造化データの現在版が構造化データの初期版と比較して更新されていると判断することに応答して、方法８００は、構造化データの現在版に基づいてノード及びそれらの関係の現在の絵図を生成することを更に含み得、ここで、現在の絵図は、初期絵図と比較して少なくとも１つの相違を含む。現在の絵図は、ユーザからの入力なしで自動的に生成され得る。選択に応答して、ディスプレイ上において、初期絵図を表示するのに有効な第１のユーザインターフェースボタンを出力し得る。選択に応答して、ディスプレイ上において、現在の絵図を表示するのに有効な第２のユーザインターフェースボタンを出力することもできる。したがって、第１又は第２のユーザインターフェースボタンの１つを選択するのに有効なユーザ入力を受信し得る。第１のユーザインターフェースボタンを選択するのに有効な入力を受信することに応答して、初期絵図を表示し得、且つ現在の絵図を不明瞭化し得る。他方では、第２のユーザインターフェースボタンを選択するのに有効なユーザ入力を受信することに応答して、現在の絵図を表示し得、且つ初期絵図を不明瞭化し得る。
【００８７】
この及び他の実施形態では、少なくとも１つの相違を含む現在の絵図を表示することは、構造化データの初期版と比較して構造化データの現在版において更新されている更新ノード又は関係を表示することを含み得る。代替又は追加として、少なくとも１つの相違を含む現在の絵図を表示することは、構造化データの初期版にない、構造化データの現在版からの新しいノード又は関係を表示することを含み得る。代替又は追加として、少なくとも１つの相違を含む現在の絵図を表示することは、構造化データの初期版と比較して構造化データの現在版から削除されている削除ノード又は関係を省くことを含み得る。
【００８８】
幾つかの実施形態では、方法８００は、選択に応答して、ディスプレイ上において、構造化データの現在版に一致するように初期絵図を更新するのに有効な図更新ユーザインターフェースボタンを出力することを更に含み得る。方法８００は、図更新ユーザインターフェースボタンを選択するのに有効な入力を受信することを更に含み得る。それに応答して、方法８００は、構造化データの現在版に一致するように初期絵図を更新することを更に含み得、これは、現在の絵図に合うように初期絵図を修正することを含む。
【００８９】
幾つかの実施形態では、絵図は、ユーザが１つ又は複数のノードを追加し、１つ又は複数の既存のノードを修正し、ノード間に１つ又は複数の結び付きを追加してノード間の関係を示し、及び／又は１つ又は複数の既存の修正を変更することにより、ユーザによって更新され得る。代替又は追加として、ユーザは、構造化データの現在版を構造化データの初期版に戻すことを望み得る。したがって、構造化データの現在版は、初期絵図に基づいて更新され得、更新は、構造化データの初期版を反映し得、及び／又はユーザによる１つ又は複数の更新を含み得る。例えば、方法８００は、ディスプレイ上において、初期絵図に一致するように構造化データの現在版を更新するのに有効なソースデータ更新ユーザインターフェースボタンを出力することを更に含み得る。方法８００は、ソースデータ更新ユーザインターフェースボタンを選択するのに有効な入力を受信することを更に含み得る。それに応答して、方法８００は、初期絵図に一致するように構造化データの現在版を更新することを更に含み得、これは、少なくとも初期絵図における各ノード及び関係に関して構造化データの初期版に一致するようにソースにおける構造化データの現在版を修正することを含む。
【００９０】
方法８００は、図２の方法２００、図４の方法４００及び図６の方法６００の１つ又は複数等の本明細書に記載される１つ又は複数の他の方法及びプロセスと組み合わされ得る。
【００９１】
図８の方法８００の一実装形態例について図９Ａ〜図９Ｄと一緒に考察する。図９Ａ〜図９Ｄは、本明細書に記載される少なくとも１つの実施形態に従って構成される、絵図を更新するユーザインターフェースの図表現９００Ａ〜９００Ｄ（まとめて「図表現９００」）を含む。ユーザインターフェースは、図１のブラウザ１２８及び／又は図アプリケーション１１４により提供され得る。例えば、ブラウザ１２８は、図アプリケーション１１４と協働して、クライアントデバイス１０４のディスプレイを通してユーザにユーザインターフェースを提示し得る。図表現９００は、図８の方法８００の異なるステップに対応するユーザインターフェースの時点表現を含み得る。幾つかの実施形態では、図９Ａ〜図９Ｄのユーザインターフェースは、図３Ａ〜図３Ｃ、図５及び図７Ａ〜図７Ｃのユーザインターフェースと同じ又は同様であり得る。
【００９２】
図９Ａ〜図９Ｄでは、図表現９００は、初期絵図９０４Ａ又は更新された絵図９０４Ｂが表示される（まとめて「絵図９０４」）描画カンバス９０２を含む。初期絵図９０４Ａは、図２の方法２００及び図４の方法４００の一方又は両方に関して説明されるように及び／又は何らかの他の様式で生成され得る。現在の絵図９０４Ｂは、初期絵図９０４Ａの元となった構造化データの初期版と比較して更新された構造化データの現在版に基づいて自動的に生成され得る。
【００９３】
図９Ａ〜図９Ｄに示されるような絵図９０４は、第１のノード９０６Ａ、第２のノード９０６Ｂ、第３のノード９０６Ｃ、第４のノード９０６Ｄ及び第５のノード９０６Ｅを含む（まとめて「ノード９０６」）。各ノード９０６は、対応するアイコンとして描画カンバス９０２に表示される。
【００９４】
絵図９０４は、第１の結び付き９０８Ａ、第２の結び付き９０８Ｂ、第３の結び付き９０８Ｃ及び第４の結び付き９０８Ｄ（まとめて「結び付き９０８」）を含む、ノード９０６間の様々な結び付きを更に含む。結び付き９０８は、対応するノードが互いに通信することができるという表示等のノード９０６間の関係を表す。第１の結び付き９０８Ａは、第１のノード９０６Ａ及び第２のノード９０６Ｂが関連する（例えば、互いに通信することができる）ことを表し得、第２の結び付き９０８Ｂは、第２のノード９０６Ｂ及び第３のノード９０６Ｃが関連することを表し得、第３の結び付き９０８Ｃは、第３のノード９０６Ｃ及び第４のノード９０６Ｄが関連することを表し得、第４の結び付き９０８Ｄは、第４のノード９０６Ｄ及び第５のノード９０６Ｅが関連することを表し得る。図９Ａ〜図９Ｄに示されるように、各結び付き９０８は、対応するノード９０６が互いに通信し得るポート等の追加情報を含み得る。結び付き９０８は、代替的に、関係９０８と呼ばれ得る。
【００９５】
図９Ａ〜図９Ｄの描画カンバス９０２及び／又はユーザインターフェースの別の部分は、タイムスタンプ９１０Ａ（図９Ａ）又は９１０Ｂ（図９Ｄ）（まとめて「タイムスタンプ９１０」）、同期ボタン９０９（図９Ａ及び図９Ｄ）、不一致アラート９１２Ａ〜９１２Ｃ（図９Ｂ及び図９Ｃ）並びにボタン９１４Ａ（図９Ｂ及び図９Ｃ）、９１４Ｂ（図９Ｂ及び図９Ｃ）、９１６（図９Ｂ）及び９１８（図９Ｃ）の１つ又は複数を更に含み得る。
【００９６】
図９Ａ及び図９Ｄの同期ボタン９０９は、図９Ａ及び図９Ｂの初期絵図９０４Ａが構造化データに対する更新についてチェックされることを要求するためにユーザにより選択され得る。
【００９７】
図９Ａ及び図９Ｄのタイムスタンプ９１０は、絵図９０４が対応するソースデータと同期された最後の時刻を示し得、これは、実際に絵図９０４の生成元の構造化データのバージョンを識別し得る。例えば、図９Ａのタイムスタンプ９１０Ａは、初期絵図９０４Ａが第１の日付（図９Ａにおける「１１／１／１６」）で最後に同期されたことを示す一方、図９Ｄのタイムスタンプ９１０Ｂは、現在の絵図９０４Ｂが第１の日付後の第２の日付（図９Ｄにおける「１２／９／１６」）で最後に同期されたことを示す。
【００９８】
図９Ｂ及び図９Ｃの不一致アラート９１２Ａ〜９１２Ｃ（まとめて「不一致アラート９１２」）は、図９Ａ及び図９Ｂの初期絵図９０４Ａが何らかの点に関してソースデータの現在版と比較して古いことを示し得る。図９Ｂ及び図９Ｃの例では、不一致アラート９１２Ａは、初期絵図９０４Ａと構造化データの現在版とに表示されたノード９０６及び／又は関係９０８間の不一致数を記述するテキスト出力である。不一致アラート９１２Ｂは、不一致の１つとして第２の関係９０８Ｂを強調表示する一方、不一致アラート９１２Ｃは、不一致の別の１つとして第４のノード９０６Ｄを強調表示する。
【００９９】
図９Ｂ及び図９Ｃのボタン９１４Ａ及び９１４Ｂ（まとめて「ボタン９１４」）が選択されて、図９Ａ及び図９Ｂの初期絵図９０４Ａと図９Ｃ及び図９Ｄの現在の絵図９０４とをトグルし得る。
【０１００】
図９Ｂのボタン９１６が選択されて、図９Ａ及び図９Ｂの初期絵図９０４Ａに一致するように構造化データの現在版を更新し得る。
【０１０１】
図９Ｃのボタン９１８が選択されて、図９Ａ及び図９Ｂの初期絵図９０４Ａを図９Ｃ及び図９Ｄの現在の絵図９０４Ｂと置換し得る。
【０１０２】
図８及び図９Ａを参照すると、方法８００の実装形態例は、ブロック８０２において、複数のノード９０６及びそれらの関係９０８の初期絵図９０４Ａを、ノード９０６及びそれらの関係９０８についての構造化データの初期版に基づいて表示することを含み得る。
【０１０３】
描画カンバス９０２が表示されるクライアントデバイスは、初期絵図９０４Ａが構造化データに対する更新についてチェックされることを要求するのに有効な入力を受信し得る。例えば、クライアントデバイスは、図９Ａの同期ボタン９０９のユーザによる選択を受信し得る。
【０１０４】
入力の受信に応答して、方法８００の実装形態例は、ブロック８０４において、構造化データの現在版が、ノード９０６又は関係９０６の少なくとも１つに関して構造化データの初期版と比較して更新されていると判断することを含む。特に図９Ｂと図９Ｃとを比較することにより分かるように、この実装形態例では、前と異なるポートで第２の関係９０８Ｂが更新され、前と異なる名前で第４のノード９０６Ｄが更新されていると判断される。クライアントデバイス（例えば、クライアントデバイス１０４）及び／又はサーバ（例えば、サーバ１０２）は、構造化データの現在版が更新されていると判断することに応答して、図９Ｃ及び図９Ｄの現在の絵図９０４Ｂを自動的に生成し得る。
【０１０５】
図８、図９Ｂ及び図９Ｃを参照すると、方法８００の実装形態例は、ブロック８０６において、構造化データの現在版が構造化データの初期版と比較して更新されていると判断することに応答して、図９Ａ及び図９Ｂの初期絵図９０４Ａが古いことを示す不一致アラート９１２を出力することを含むこともできる。不一致アラート９１２Ａは、不一致の数を記述するテキスト出力を含む一方、不一致アラート９１２Ｂ、９１２Ｃは、不一致による影響を受ける特定の第２の関係９０８Ｂ及び第４のノード９０６Ｄを強調表示する。
【０１０６】
図９Ｂに示されるように、ボタン９１４Ｂの選択に応答して、現在の絵図９０４Ｂが不明瞭化された状態で初期絵図９０４Ａを表示し得る。図９Ｃに示されるように、ボタン９１４Ａの選択に応答して、初期絵図９０４Ａが不明瞭化された状態で現在の絵図９０４Ｂを表示し得る。他の実施形態では、初期絵図９０４Ａ及び現在の絵図９０４Ｂの両方を同時に、例えば異なる描画カンバス９０２に並べて表示し得る。
【０１０７】
初期絵図９０４Ａが図９Ｂのように表示されると、図９Ｂのボタン９１６を選択して、初期絵図９０４Ａに一致するように構造化データの現在版を更新し得る。
【０１０８】
現在の絵図９０４Ｂが図９Ｃに示されるように表示されると、図９Ｃのボタン９１８を選択して、構造化データの現在版に一致するように図９Ａ及び図９Ｂの初期絵図９０４Ａを更新し得る。
【０１０９】
本明細書に記載される実施形態は、コンピュータ実行可能命令又はデータ構造を搬送又は記憶するコンピュータ可読媒体を使用して実施され得る。そのようなコンピュータ可読媒体は、汎用コンピュータ又は専用コンピュータによりアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、若しくは他の光ディスク記憶装置、磁気ディスク記憶装置、若しくは他の磁気記憶装置、フラッシュメモリデバイス（例えば、固体状態メモリデバイス）、又はコンピュータ実行可能命令若しくはデータ構造の形態で所望のプログラムコードを搬送若しくは記憶するのに使用され得、汎用コンピュータ若しくは専用コンピュータによりアクセスされ得る任意の他の非一時的記憶媒体を含む非一時的コンピュータ可読媒体を含み得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれ得る。
【０１１０】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ又は専用処理デバイス（例えば、１つ又は複数のプロセッサ）に特定の機能又は機能群を実行させる命令及びデータを含み得る。構造特徴及び／又は方法論的動作に固有の用語で主題を説明したが、添付の特許請求の範囲に規定される主題は、必ずしも上述した特定の特徴又は動作に限定されないことを理解されたい。むしろ、上述した特定の特徴及び動作は、特許請求の範囲を実施する形態の例として開示されている。
【０１１１】
本明細書で使用される場合、「モジュール」又は「構成要素」という用語は、計算システムの汎用ハードウェア（例えば、コンピュータ可読媒体、処理デバイス等）により記憶及び／又は実行され得るモジュール又は構成要素及び／又はソフトウェアオブジェクト若しくはソフトウェアルーチンの動作を実行するように構成された特定のハードウェア実施を指し得る。幾つかの実施形態では、本明細書に記載された異なる構成要素、モジュール、エンジン及びサービスは、計算システムで実行されるオブジェクト又はプロセスとして（例えば、別個のスレッドとして）実施され得る。本明細書に記載されるシステム及び方法の幾つかは、一般に、ソフトウェア（汎用ハードウェアに記憶及び／又は実行される）で実施されるものとして説明されているが、特定のハードウェア実施又はソフトウェアと特定のハードウェア実施との組合せも可能であり、意図される。この説明では、「計算エンティティ」は、本明細書において先に定義された任意の計算システム又は計算システムで実行される任意のモジュール若しくはモジュールの組合せであり得る。
【０１１２】
本明細書におけるほぼあらゆる複数形及び／又は単数形の使用に関して、当業者は、状況及び／又は用途に適切であるように複数から単数及び／又は単数から複数に変換することができる。明確にするために、本明細書において様々な単数／複数置換を明示的に記載し得る。
【０１１３】
本発明は、本発明の趣旨又は基本特性から逸脱せずに他の特定の形態で実施することもできる。記載された実施形態は、全ての点に関して限定ではなく、例示としてのみ見なされるものとする。したがって、本発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味及び範囲内にある全ての変更形態は、特許請求の範囲に包含されるものとする。
【図１】
0006899441.tif 000002
【図２】
0006899441.tif 000003
【図３Ａ】
0006899441.tif 000004
【図３Ｂ】
0006899441.tif 000005
【図３Ｃ】
0006899441.tif 000006
【図４】
0006899441.tif 000007
【図５】
0006899441.tif 000008
【図６】
0006899441.tif 000009
【図７Ａ】
0006899441.tif 000010
【図７Ｂ】
0006899441.tif 000011
【図７Ｃ】
0006899441.tif 000012
【図８】
0006899441.tif 000013
【図９Ａ】
0006899441.tif 000014
【図９Ｂ】
0006899441.tif 000015
【図９Ｃ】
0006899441.tif 000016
【図９Ｄ】
0006899441.tif 000017