(57)【要約】  実施形態は、ノードのネットワークに対する安全なデータ管理を提供するためのシステムおよび方法を含む。複数の接続されるノードを含むネットワークは、格納されることができ、当該ノードは、ネットワークのエンティティを表す。要求は、ネットワークの第２のノードに関するデータを取り出すために、ネットワークの第１のノードから受信され得る。クエリは、要求されるデータを取り出すために生成され得る。クエリは、信頼されるストアに格納される第１のノードに対する許可に基づいてフィルタリングされ得る。フィールドは、フィルタリングされるクエリの結果から、第１のノードに対する許可に基づいて編集され得る。そして、編集される結果は、第１のノードに提供され得る。
2021519958.tif 000002
【特許請求の範囲】
【請求項１】
ノードのネットワークに対する安全なデータ管理を提供するための方法であって、前記方法は、
複数の接続されるノードを含むネットワークを格納することを含み、前記複数のノードは、前記ネットワークのエンティティを表し、
前記方法は、さらに、
前記ネットワークの第１のノードから、前記ネットワークの第２のノードに関するデータを取り出すための要求を受信することと、
前記要求されるデータを取り出すためのクエリを生成することと、
信頼されるストアに格納される前記第１のノードに対する許可に基づいて前記クエリをフィルタリングすることと、
前記第１のノードに対する前記許可に基づいて前記フィルタリングされるクエリの結果からフィールドを編集することと、
前記編集される結果を前記第１のノードに提供することとを含む、方法。
【請求項２】
前記ネットワークは、１つまたは複数の関係データテーブル上にマッピングされる、請求項１に記載の方法。
【請求項３】
前記生成されるクエリを、前記第２のノードに関連する前記第１のノードに対する許可に基づいて、前記要求されるデータを取り出すために用いられるキーを用いて増大させることをさらに含む、請求項２に記載の方法。
【請求項４】
前記要求は、前記第１のノードの認証されるユーザーから受信される、請求項３に記載の方法。
【請求項５】
前記認証されるユーザーは、前記第１のノードに接続されるノードに対する少なくともいくつかのデータを閲覧するための許可を有し、前記第１のノードは、前記第２のノードに接続される、請求項４に記載の方法。
【請求項６】
前記認証されるユーザーは、第１のノードとの経路を備えるノードに対する少なくともいくつかのデータを閲覧するための許可を有し、
前記第１のノードは、前記第２のノードとの経路上にある、請求項４に記載の方法。
【請求項７】
前記関係データテーブルの１つまたは複数へのアクセスを定義する許可ファイルが格納され、前記アクセス許可は、レコードを所有する所有者ノードと、前記所有者ノードとアクセスを要求するノードとの間の関係とに基づいて前記関係データテーブルにおけるレコード毎に定義される、請求項４に記載の方法。
【請求項８】
前記信頼されるストアは、前記ネットワークのノードに対する複数のキーを不変に格納する、請求項７に記載の方法。
【請求項９】
信頼されるストアに格納される前記第１のノードに対する許可に基づいて前記クエリをフィルタリングすることは、さらに、
前記信頼されるストアからキーのリストを取り出すために前記許可ファイルにアクセスすることを含み、キーの前記リストは、ノードのサブセットに対するものであり、当該ノードは、前記第１のノードとノードの前記サブセットとの間の前記関係に従う前記第１のノードによるアクセスに対して許可され、
前記クエリをフィルタリングすることは、さらに、
キーの前記リストを用いて前記クエリを増大させることを含み、前記クエリによって要求される前記関係データテーブル内の保護されるレコードは、キーの前記リストが、前記保護されるレコードに対応するキーを含むときに取り出される、請求項８に記載の方法。
【請求項１０】
前記エンティティは、供給者および顧客を含み、前記ノード間の経路は、１つまたは複数の製品に対するサプライチェーンネットワークを表す、請求項４に記載の方法。
【請求項１１】
前記第１のノードを含むか、前記第１のノードへの供給者を含むか、または前記第１のノードの顧客を含むサプライチェーンネットワークにアクセスするための許可を、前記認証されるユーザーは有する、請求項８に記載の方法。
【請求項１２】
非一時的なコンピュータ読み取り可能な媒体であって、前記媒体は、前記媒体上に格納される指令を有し、前記指令は、プロセッサによって実行されるとき、ノードのネットワークに対する安全なデータ管理を前記プロセッサに提供させ、前記提供することは、
複数の接続されるノードを含むネットワークを格納することを含み、前記複数のノードは、前記ネットワークのエンティティを表し、
前記提供することは、さらに、
前記ネットワークの第１のノードから、前記ネットワークの第２のノードに関するデータを取り出すための要求を受信することと、
前記要求されるデータを取り出すためのクエリを生成することと、
信頼されるストアに格納される前記第１のノードに対する許可に基づいて前記クエリをフィルタリングすることと、
前記第１のノードに対する前記許可に基づいて前記フィルタリングされるクエリの結果からフィールドを編集することと、
前記編集される結果を前記第１のノードに提供することとを含む、媒体。
【請求項１３】
前記ネットワークは、１つまたは複数の関係データテーブル上にマッピングされる、請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項１４】
前記要求は、前記第１のノードの認証されるユーザーから受信される、請求項１３に記載のコンピュータ読み取り可能な媒体。
【請求項１５】
前記関係データテーブルの１つまたは複数へのアクセスを定義する許可ファイルが格納され、前記アクセス許可は、レコードを所有する所有者ノードと、前記所有者ノードとアクセスを要求するノードとの間の関係とに基づいて前記関係データテーブルにおけるレコード毎に定義される、請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１６】
前記信頼されるストアは、前記ネットワークのノードに対する複数のキーを不変に格納する、請求項１５に記載のコンピュータ読み取り可能な媒体。
【請求項１７】
信頼されるストアに格納される前記第１のノードに対する許可に基づいて前記クエリをフィルタリングすることは、さらに、
前記信頼されるストアからキーのリストを取り出すために前記許可ファイルにアクセスすることを含み、キーの前記リストは、ノードのサブセットに対するものであり、当該ノードは、前記第１のノードとノードの前記サブセットとの間の前記関係に従う前記第１のノードによるアクセスに対して許可され、
前記クエリをフィルタリングすることは、さらに、
キーの前記リストを用いて前記クエリを増大させることを含み、前記クエリによって要求される前記関係データテーブル内の保護されるレコードは、キーの前記リストが、前記保護されるレコードに対応するキーを含むときに取り出される、請求項１６に記載のコンピュータ読み取り可能な媒体。
【請求項１８】
前記エンティティは、供給者および顧客を含み、前記ノード間の経路は、１つまたは複数の製品に対するサプライチェーンネットワークを表し、
前記第１のノードを含むか、前記第１のノードへの供給者を含むか、または前記第１のノードの顧客を含むサプライチェーンネットワークにアクセスするための許可を、前記認証されるユーザーは有する、請求項１４に記載のコンピュータ読み取り可能な媒体。
【請求項１９】
システムであって、前記システムは、
メモリ装置と通信する処理装置を備え、前記処理装置は、ノードのネットワークに対する安全なデータ管理を提供するように構成されており、前記提供することは、
複数の接続されるノードを含むネットワークを格納することを含み、前記複数のノードは、前記ネットワークのエンティティを表し、
前記提供することは、さらに、
前記ネットワークの第１のノードから、前記ネットワークの第２のノードに関するデータを取り出すための要求を受信することと、
前記要求されるデータを取り出すためのクエリを生成することと、
信頼されるストアに格納される前記第１のノードに対する許可に基づいて前記クエリをフィルタリングすることと、
前記第１のノードに対する前記許可に基づいて前記フィルタリングされるクエリの結果からフィールドを編集することと、
前記編集される結果を前記第１のノードに提供することとを含む、システム。
【請求項２０】
前記ネットワークは、１つまたは複数の関係データテーブル上にマッピングされる、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
この出願は、２０１８年４月３０日に出願された米国特許出願第１５／９６６，４５０号への優先権を主張し、その開示は、参照により本明細書に組み込まれる。
【０００２】
分野
本開示の実施形態は、ネットワークに基づくアクセス許可を用いる、ノードのネットワークに対する安全なデータ管理を提供することに関する。
【背景技術】
【０００３】
背景
近年、ソーシャルネットワークは、接続性の有用性を実証してきた。接続されるノードの大規模なネットワークは、参加するエンティティが、新しい機会を、それらの機会が新しい友好、ビジネスのコンタクト、またはその他の有用な繋がりであるか否かにかかわらず、識別することを可能にできる。これらのネットワークは、接続されるノードのグループ間の隠れている相乗効果を発掘する潜在性も有する。しかしながら、接続されるノードの利点にはリスクがないわけではない。ソーシャルネットワークなどの大規模ネットワークは、データプライバシーと、アイデンティティ管理と、その他のデータ共有の懸念とに関連する問題に悩まされている。加えて、接続性の動的な性質のため、接続されるノード上でデータ分析を行うと、固有の計算の課題が生じ得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本開示の実施形態は、関連技術を実質的に改善する、ノードのネットワークに対する安全なデータ管理を提供するためのシステムおよび方法に向けられる。
【０００５】
複数の接続されるノードを備えるネットワークは、格納されることができ、ノードは、ネットワークのエンティティを表す。要求は、ネットワークの第１のノードから受信されることができ、ネットワークの第２のノードに関するデータを取り出すことができる。クエリは、要求されるデータを取り出するために生成され得る。クエリは、信頼されるストアに格納されている第１のノードに対する許可に基づいてフィルタリングされ得る。フィールドは、フィルタリングされるクエリの結果から、第１のノードに対する許可に基づいて編集され得る。そして、編集される結果は、第１のノードに提供され得る。
【０００６】
実施形態の特徴および利点は、以下の説明において記載されているか、または説明から明らかになるか、または本開示の実施により理解され得る。
【０００７】
さらに他の実施形態、詳細、利点および修正は、好ましい実施形態の以下の詳細な説明から明らかになり、添付の図面と併せて解されるであろう。
【図面の簡単な説明】
【０００８】
【図１】例示的な実施形態に従う、ノードのネットワークに対するデータ処理を管理するためのシステムを示す図である。
【０００９】
【図２】例示的な実施形態に従う、ネットワークデータ管理システムに動作可能に結合されるコンピューティング装置のブロックダイアグラムを示す図である。
【００１０】
【図３】例示的な実施形態に従う、ノードのネットワークに対するデータ処理を管理するための機能ダイアグラムを示す図である。
【００１１】
【図４】例示的な実施形態に従う、ノードのネットワークを表すグラフを示す図である。
【００１２】
【図５】例示的な実施形態に従う、ネットワークデータ処理に対する関係データテーブルを示す図である。
【００１３】
【図６】例示的な実施形態に従う、ノードのネットワークに対するデルタ処理のためのフローダイアグラムを示す図である。
【００１４】
【図７】例示的な実施形態に従う、ノードのネットワークに対するデータ処理の安全な管理のための機能ダイアグラムを示す図である。
【００１５】
【図８】例示的な実施形態に従う、ノードのネットワークのビューを構成するための例示的なグラフィカルユーザーインターフェースを示す図である。
【００１６】
【図９】例示的な実施形態に従う、ネットワークデータの円グラフビューを示す図である。
【００１７】
【図１０】例示的な実施形態に従う、ネットワークデータのテーブルビューを示す図である。
【００１８】
【図１１】例示的な実施形態に従う、ネットワークデータのネットワークグラフビューを示す図である。
【００１９】
【図１２】例示的な実施形態に従う、サプライチェーンの世界ビューを示す図である。
【００２０】
【図１３】例示的な実施形態に従う、サプライチェーンデータの他の世界ビューを示す図である。
【００２１】
【図１４】例示的な実施形態に従う、サプライチェーンの他の世界ビューを示す図である。
【００２２】
【図１５】例示的な実施形態に従う、デルタ処理を用いる、ノードのネットワークを管理するための例示的な方法を示す図である。
【００２３】
【図１６】例示的な実施形態に従う、ノードのネットワークに対する安全なデータ管理を提供するための例示的な方法を示す図である。
【発明を実施するための形態】
【００２４】
詳細な説明
実施形態は、ノードのネットワークに対するデータ処理を管理する。例示的なネットワークは、ノード間の複数の接続を備える複数のノードを含み得る。いくつかの実施形態において、ネットワークは、種々の程度の情報共有を伴うソーシャルネットワークであり得る。時々、新しい接続は、以前には接続されていなかった２つのノード間で生成され得るか、または、接続は、以前には接続されていたノード間で切断され得る。ネットワークの現在の構成（例えば、ノード間の現在の接続など）に基づいて、１つまたは複数の経路が識別され得る。例えば、経路は、第１のノードにおいて開始でき、５番目のノードにおいて終了する前に、第２、第３および第４のノードを進行できる。そのような識別される経路は、パターン、トレンドもしくはリスクを識別すること、または予測を行うことに対して、または他の分析の目的に対して（つまり、ネットワーク内のノードと特定の実施形態とに応じて）有用であり得る。
【００２５】
しかしながら、これらのネットワークの動的な性質は、リスクと計算上の課題とをもたらす。例えば、ソーシャルネットワークは、しばしば変化しており、新しいノード接続を構築し、古いノード接続を切り離している。それゆえ、ノード間の経路の識別は、計算的に煩雑であり得る。本明細書においてさらに詳述されるように、実施形態は、ドリップフィードデルタ処理を活用して、動的な更新機能を維持しながら計算効率を達成するネットワークを管理する。
【００２６】
加えて、情報共有は、機密情報またはその他の取り扱いに慎重を要する情報を含むネットワークにおいて、困難であり得る。いくつかの実施形態において、ノード間の関係を特徴付けるために、ノード接続がさらに定義され得る（例えば、供給者、顧客、潜在的な供給者、潜在的な顧客、社会的な接続など）。これらの例において、ネットワークにおける所与のノードによって共有される情報は、接続タイプ、ネットワークにおける所与のノードからの距離、および所与のノードに対する顧客の好みに基づいて適合され得る。実施形態は、これらの情報共有ポリシーに従ってユーザー特有のデータ取り出しを保証するためのセキュリティプロトコルを含む。
【００２７】
いくつかの実施形態において、ネットワークにおけるノードは、サプライチェーンにおける供給者、仲介者、および／または顧客を表し得る。例えば、ノード間の接続は、これらのエンティティ間の種々の関係を表すことができる。経路は、複数のエンティティ間の拡張される関係を表すことができる。例えば、供給者／顧客の関係によって接続される複数のノードの経路は、商品または製品に対するサプライチェーンを表すことができる。
【００２８】
そのようなネットワークは、ノード間の接続に基づくグラフとも呼ばれ得る。このグラフを横断することは、例えば、サプライチェーンにおけるリンク、サプライチェーンを調節するために用いられ得る潜在的なリンク、サプライチェーンへのリスク（地理的リスク、政治的リスク、天候リスクなど）を識別するためと、その他の役に立つ目的のためとに有用であり得る。しかしながら、ノードのネットワークを表すグラフを横断することは、これらのネットワーク（例えばソーシャルネットワークなど）のいくつかの動的な性質、例えば、ノード間の接続の間の頻繁な変更などにより、特定の計算上の課題を提起し得る。
【００２９】
実施形態は、事前計算ソリューションと、キューにおける変更レコードを集約するドリップフィードデルタとを実現する。キューに入れられた変更レコード（例えば、ドリップ）に基づいてネットワークにおけるデータを更新すると、グラフは、グラフのノードに対して複数の直接アクセスベクトルを生成するために処理され得る。実施形態は、グラフ横断に関連するデータを効率的に取り出すことができ事前計算されたネットワークデータのバージョンを維持することを含む。例えば、所与のノードの直接アクセスベクトルは、所与のノードを含む１つまたは複数の潜在的な経路を示す。いくつかの実施形態において、グラフ処理／事前計算ソリューションは、推移閉包を決定することを含み得る。
【００３０】
事前計算ソリューションおよび／または生成される直接アクセスベクトルは、そのとき、グラフを効率的に横断するために用いられ得る。例えば、説明されるサプライチェーンの実施形態において、経路は、サプライチェーン、潜在的なサプライチェーン、または顧客と供給者との間のその他の関係であり得、ノードの直接アクセスベクトルに基づいて、所与のノードに対して１つまたは複数の経路が識別され得る。種々の実施形態において、ドリップフィードデルタおよび事前計算ソリューションは、効率的な横断に対して容易に利用可能なグラフ（例えばソーシャルネットワーク）を維持する。
【００３１】
いくつかの実施形態において、ネットワークのエンティティ（例えば、ノード）は、システムと対話する、承認されるユーザーを有し得る。例えば、承認されるユーザーは、エンティティに対するプロファイルを編集し、ネットワークの他のエンティティへメッセージを送信し、他のエンティティとの関係を変更し、ネットワークのエンティティに関連するデータを取り出し、ネットワーク分析および他の好適な機能を行うことができる。しかしながら、いくつかの実施形態において、１つまたは複数のエンティティに対する機密情報または取り扱いに慎重を要する情報は、ネットワークに関連付けて（例えば、データストアにおいて）格納され得る。例えば、ソーシャルネットワークにおいて、システムは、他のエンティティのサブセットと共有され得るが残りのエンティティと共有され得ない、第１のエンティティに対する取り扱いに慎重を要する情報を格納し得る。他の例において、取り扱いに慎重を要する情報は、プライベートとしてマークされ得るので、ソーシャルネットワークの他のいかなるエンティティと共有され得ない。
【００３２】
いくつかの実施形態において、システムは、ネットワークのエンティティに対して安全なデータ取り出しを提供できる。例えば、セキュリティサブシステムは、承認されるユーザーに対する１つまたは複数の許可を維持することができ、当該ユーザーが何の情報を取得できるかを決定する。セキュリティサブシステムに基づいて、データ取り出し要求は、承認されるユーザーが、確立される許可に従う情報のみを提供されることを保証するためにフィルタリングされ得る。例えば、関係フィルタリングは、データストアで検索を行う前に、生成されるクエリを許可に従ってフィルタリングするために用いられ得る。別の例において、データ編集は、承認されるユーザーにデータを提供する前にデータを編集するために許可に従って、クエリによって取り出されるデータに関して行われ得る。セキュリティサブシステム、関係フィルタリングおよびデータ編集は、ネットワークのエンティティに対する、取り扱いに慎重を要するデータまたは機密データの安全なデータ管理を保証するために用いられ得る。
【００３３】
ネットワークにおけるノードがサプライチェーン内の供給者、仲介業者、および／または顧客を表す実施形態において、安全なデータ管理は、ネットワークのエンティティへサプライチェーン情報を提供するために用いられ得る。例えば、セキュリティサブシステムにおける許可は、ネットワークを表すグラフにおけるノードの経路に基づいて設定され得る。経路がサプライチェーンを表すため、所与の経路上のエンティティには、サプライチェーンに対する関連データを取り出して結果を分析するための許可が与えられ得る。実施形態において、横断されるグラフと取り出され保護されるデータとに基づいて、サプライチェーン情報を含むグラフィカルユーザーインターフェースが表示される。これらのグラフィカルユーザーインターフェースは、サプライチェーンへのリスクを識別することと、サプライチェーンの効率を分析することと、その他の目的とに対して有用であり得る。
【００３４】
現在、小売サプライチェーン市場は、畑から食卓までの数百万の企業で構成されている。しばしば、これらの異なる企業は、製品開発、調達、コンプライアンス、注文、出荷、品質管理、在庫、予測、補充などを管理するための異なるシステムおよび実務を行う。当該業界は、しばしば、サプライチェーン全体の複雑さ、選定および性能と、（特に、食品などの特定の腐敗しやすい商品、または健康に影響を与えるその他の商品に対する）この膨大な数の絶望的なシステムとのために、トレーサビリティを達成できない。インテグレーションおよびＡＰＩは、範囲が限られており、何百ものサイロが作成されてきた。透明性のソリューションおよび取引ネットワークの新しい波は、それらが自身のサプライチェーンコミュニティと競争するときに、さらに他のサイロを追加するだけである。
【００３５】
実施形態は、様々なシステム、マイクロアプリケーション、モノのインターネット（「ＩｏＴ：Internet of Things」）および（アプリストアの原則を介した登録によって制御される）スマート装置が、共通のデータのセットと、トランザクションのキーパフォーマンスインジケーター（ＫＰＩ：key performance indicator）と、データリンクとを相互に交換することを可能にするプラットフォームを提供する。中央環境は、システムに関係なくプロセスのホストを渡ってトランザクションを監視するための機能を小売業者に提供し、共通のデータのセットを再利用するための機能をサプライチェーンに提供し、効率を高め、エンドツーエンドのプロセスに渡るデータのフローを可能にするデータリンクを提供する。実施形態は、例えばソーシャルネットワーキングの性能を介して、コミュニティを結び付けることができる。例えば１つのダッシュボードから複数のシステムとデータフィードとを管理するための効率的なプラットフォームおよびサービスを提供することにより、選定が促進される。
【００３６】
そのような選定は、多くの利点につながり得る。重複の削減により、サプライチェーン全体に渡って、効率が著しく向上し、データ品質が著しく改善する。サプライチェーンに渡るトランザクションの中央レポート、可視化、および監視は、効率を向上させ、レスポンスの速度を向上させ、リスクの予測を可能にし、例えばリスクを増加させるかまたは混乱を引き起こす出来事への、肝要なトレーサビリティを提供する。データリンクは、ビジネスの過程で通信するための種々のソリューションを可能にし、満足感と、ユーザーエクスペリエンスと、品質とを向上させる。開かれた接続性は、アプリケーションまたは装置の選択を促進し、革新を触発し、選定の動機を与え、世界中の膨大な性能に適合され得る。
【００３７】
次に、本開示の実施形態を詳細に参照し、その例は、添付の図面に示される。以下の詳細な説明において、本開示の徹底的な理解を提供するために、多くの特定の詳細が示されている。しかしながら、これらの特定の詳細なしで本開示が実施され得ることは、当業者には明らかであろう。他の例において、よく知られている方法、手順、構成要素、および回路は、実施形態の態様を不必要に曖昧にしないように、詳細には説明されていない。可能な限り、同様の参照番号は、同様の要素に対して用いられる。
【００３８】
図１は、例示的な実施形態に従う、ノードのネットワークに対するデータ処理を管理するためのシステムを示す。システム１００は、クライアント装置１０２と、クラウドサーバ１０４と、認証サーバ１０６と、ロードバランサ１０８と、ユーザーインターフェースロジック１１０と、ステートレスビジネスサービス層１１２と、データアクセス層１１４と、セキュリティポリシー１１６と、データベース１１８とを含む。クライアント装置１０２は、デスクトップ、ラップトップ、タブレット装置、携帯電話などのコンピューティング装置であり得る。例えば、クライアント装置１０２は、システム２１０と同様の任意のコンピューティング装置であり得る。いくつかの実施形態において、クライアント装置１０２は、ノードのネットワークに対するソフトウェアサービスにアクセスするためにクラウドサーバ１０４と通信するアプリケーション（例えば、ローカルに格納されるアプリケーション、ウェブベースのアプリケーションなど）を実行できる。
【００３９】
例えば、クライアントアプリケーションは、１つまたは複数のウェブ技術（例えば、ハイパーテキストマークアップ言語（「ＨＴＭＬ」：HyperText Markup Language）5.0、JavaScript（登録商標）、カスケーディングスタイルシート（ＣＳＳ：cascading style sheets）、スケーラブルベクタグラフィックス（「ＳＶＧ」：scalable vector graphics）など）を用いて実現され得る。そのようなアプリケーションは、デスクトップもしくはモバイル装置を用いて、標準的なブラウザまたはモバイルブラウザの両方から閲覧され得る。いくつかの実施形態において、ダウンロード可能なモバイルアプリケーション（例えば、iOS，Androidなど）が開発され得る。例えば、ダウンロード可能なアプリケーションは、ウェブサイトを表示するために内部で「コントロールレス」ブラウザを用いる（例えば、Cordova技術を用いる）コンテナアプリケーションであり得る。種々の実施形態において、標準ブラウザ（例えば、デスクトップ）、モバイルブラウザ、ダウンロード可能なアプリケーションを用いるとき、または任意の他の好適な構成において、アプリケーションを含むユーザーエクスペリエンスは一貫している。クライアント装置１０２へ送信される例示的な通信、およびクライアント装置１０２から受信される例示的な通信は、招待と、ネットワークメッセージと、ネットワークに関連するデータと、ネットワークに関係がある他の資料とを含み得る。
【００４０】
クラウドサーバ１０４は、ノードのネットワークに対するクラウドベースのソフトウェアサービスプラットフォームをホストするのに好適なサーバであり得る。例えば、クラウドサーバ１０４は、システム２１０と同様の任意のコンピューティング装置であり得、ならびに／またはオラクル（登録商標）クラウド、オラクル（登録商標）ベアメタル、オラクル（登録商標）ウェブロジックサーバ、および／もしくは、（Linux（登録商標）などのオペレーティングシステム、オラクル（登録商標）Java（登録商標）エンタープライズエディション（「ＥＥ：Enterprise Edition」などのウェブテクノロジーなどの）その他の好適な構成要素に組み込まれるエンゲージメントエンジン（「ＥＥ：engagement engine」）の種々のモジュールを含み得る。
【００４１】
いくつかの実施形態において、クラウドサーバ１０４は、認証サーバ１０６、ロードバランサ１０８、およびＵＩロジック１１０と通信している。例えば、クライアント装置１０２のうちの１つのユーザーは、認証サーバ１０６によって認証され得る。認証されるユーザーは、そのとき、アイデンティティ管理サービス内のＩＤに関連付けられ得る。認証サーバ１０６の例は、オラクル（登録商標）アイデンティティクラウドサービス（「ＩＤＣＳ」：Identity Cloud Service）である。ユーザーは、そのとき、ユーザーの認証されるＩＤに基づくネットワークアプリケーションサービスにアクセスできる。
【００４２】
ロードバランサ１０８は、システムの計算リソースを効果的に管理するための、１つまたは複数のプロセッサ（もしくは１つまたは複数のコンピューティング装置）に負荷を分散するサーバまたはモジュールであり得る。ロードバランサ１０８は、システム２１０と同様の任意のコンピューティング装置であり得る。
【００４３】
ＵＩロジック１１０は、１つまたは複数のクライアント装置１０２にユーザーインターフェースを提示するためのソフトウェアを含むサーバまたはモジュールであり得る。例えば、ＵＩロジック１１０は、クライアント装置１０２のうち１つで実行されるアプリケーションと通信して、ノードのネットワークに対するソフトウェアサービスと対話するためのインターフェースを提示できる。ＵＩロジック１１０は、クライアント装置１０２のうちの１つを構成して、本明細書において開示される種々のグラフィカルユーザーインターフェースを表示できる。
【００４４】
ステートレスビジネスサービス層１１２は、ノードのネットワークに対するステートレスソフトウェアサービスを提供できる。例えば、ネットワークデータを安全に、取り出し、更新し、または書き込み、ネットワークを横断し、ネットワークにおける参加者へメッセージを送信するなどを行う１つまたは複数のマイクロサービスが定義され得る。これらのステートレスマイクロサービスは、本明細書でさらに説明される。
【００４５】
データアクセス層１１４は、クエリ生成などのデータ処理機能を行うソフトウェア層であり得る。例えば、ステートレスビジネスサービス層１１２からの要求に基づいて、格納されるネットワークデータに関連する１つまたは複数の要求、命令、または更新は、データアクセス層１１４で受信され得る。クエリまたは命令は、受信される要求（構造化クエリ言語（「ＳＱＬ：structured query language」）クエリなど）に基づいて、データベース１１８に対して生成され得る。
【００４６】
セキュリティポリシー層１１６は、格納されるセキュリティポリシーに従って、データベース１１８に対してデータ取り出し、更新、または命令を保護するソフトウェア層であり得る。例えば、データベース１１８は、ネットワークデータを格納するための任意の好適なデータベース（例えば、オラクル（登録商標）関係データベース）であり得る。ネットワークデータは、ネットワークの参加者に対する機密情報または取り扱いに慎重を要する情報を含み得る。更新、命令（例えば、データベースへの書き込み）、またはデータアクセス層１１４から取り出す試み（例えば、クエリ）は、セキュリティポリシー層１１６により処理され、格納されるセキュリティポリシーに従ってネットワークデータをフィルタリングできる。
【００４７】
いくつかの実施形態において、クラウドサーバ１０４、認証サーバ１０６、ロードバランサ１０８、ユーザーインターフェースロジック１１０、ステートレスビジネスサービス層１１２、データアクセス層１１４、セキュリティポリシー１１６およびデータベース１１８は、単一のシステムまたはコンピューティング装置に組み込まれることができ、種々のコンピューティング装置にわたって分散されることができ、いくつかの実施形態においては、種々の場所にわたって分散されることができ、これらの組み合わせは、他の任意の好適な手法で構成され得る。例示的な実施形態において、クラウドサーバ１０４、認証サーバ１０６、ロードバランサ１０８、ユーザーインターフェースロジック１１０、ステートレスビジネスサービス層１１２、データアクセス層１１４、セキュリティポリシー１１６およびデータベース１１８は、ソフトウェア、ハードウェアまたはこれらの組み合わせであり得る。
【００４８】
図２は、実施形態に従う、コンピュータサーバ／システム２１０のブロックダイアグラムである。図２に示されるように、システム２１０は、プロセッサ２２２およびメモリ２１４などの、システム２１０の種々の構成要素の間で情報を通信するように構成されている、バス装置２１２および／または他の通信機構（複数可）を含み得る。加えて、通信装置２２０は、プロセッサ２２２からネットワーク（図示しない）を超えて別の装置へ送信されるデータをエンコードし、プロセッサ２２２に対してネットワークを超えて他のシステムから受信されるデータをデコードすることにより、プロセッサ２２２と他の装置との間の接続を可能にし得る。
【００４９】
例えば、通信装置２２０は、無線ネットワーク通信を提供するように構成されているネットワークインターフェースカードを含み得る。赤外線、無線、Bluetooth（登録商標）、Wi-Fiおよび／またはセルラ通信を含む様々な無線通信技術が用いられ得る。あるいは、通信装置２２０は、イーサネット（登録商標）接続などの有線ネットワーク接続（複数可）を提供するように構成され得る。
【００５０】
プロセッサ２２２は、システム２１０の計算機能および制御機能を行うための１つまたは複数の汎用または専用の目的のプロセッサを含み得る。プロセッサ２２２は、マイクロプロセッシング装置などの単一の集積回路を含んでもよく、またはプロセッサ２２２の機能を達成するために協働して動作する、複数の集積回路装置および／もしくは回路基板を含んでもよい。加えて、プロセッサ２２２は、メモリ２１４内に格納される、オペレーティングシステム２１５、ネットワークマネージャ２１６、および他のアプリケーション２１８などのコンピュータプログラムを実行し得る。
【００５１】
システム２１０は、プロセッサ２２２による実行のための情報および指令を格納するためのメモリ２１４を含み得る。メモリ２１４は、データを取り出し、提示し、修正し、格納するための種々の構成要素を含み得る。例えば、メモリ２１４は、プロセッサ２２２によって実行されるときに機能を提供するソフトウェアモジュールを格納し得る。モジュールは、システム２１０に対してオペレーティングシステム機能を提供するオペレーティングシステム２１５を含み得る。モジュールは、オペレーティングシステム２１５と、ネットワークに対するデータ処理を管理するように構成されているネットワークマネージャ２１６と、他のアプリケーションモジュール２１８とを含み得る。オペレーティングシステム２１５は、システム２１０に対してオペレーティングシステム機能を提供する。ネットワークマネージャ２１６は、ネットワークに関連するデータ処理に対するシステムコールを可能にする１つまたは複数のＡＰＩを含んでもよく、または本開示の任意の他の機能をさらに提供し得る。いくつかの例において、ネットワークマネージャ２１６は、インメモリ構成として実施され得る。
【００５２】
非一時的メモリ２１４は、プロセッサ２２２によってアクセスされ得る種々のコンピュータ読み取り可能な媒体を含み得る。例えば、メモリ２１４は、ランダムアクセスメモリ（「ＲＡＭ」：random access memory）、ダイナミックＲＡＭ（「ＤＲＡＭ」：dynamic RAM）、スタティックＲＡＭ（「ＳＲＡＭ」：static RAM）、読み出し専用メモリ（「ＲＯＭ」：read only memory）、フラッシュメモリ、キャッシュメモリ、および／またはその他の任意のタイプの非一時的なコンピュータ読み取り可能な媒体の任意の組み合わせを含み得る。
【００５３】
プロセッサ２２２は、バス２１２を介して、液晶ディスプレイ（「ＬＣＤ：Liquid Crystal Display」）などのディスプレイ２２４にさらに結合される。キーボード２２６およびコンピュータマウスなどのカーソル制御装置２２８は、通信装置２１２にさらに結合され、ユーザーがシステム２１０とインターフェースすることを可能にする。
【００５４】
いくつかの実施形態において、システム２１０は、より大きなシステムの一部であり得る。それゆえ、システム２１０は、付加的な機能を含む１つまたは複数の付加的な機能的モジュール２１８を含み得る。他のアプリケーションモジュール２１８は、例えばオラクル（登録商標）クラウドに組み込まれたエンゲージメントエンジン（「ＥＥ」）の種々のモジュールを含み得る。データベース２１７は、バス２１２に結合され、モジュール２１６および２１８に対して集約されたストレージを提供し、例えば、無線装置の使用率を格納し、いくつかの実施形態においては、ユーザプロファイル、トランザクション履歴などを格納する。データベース２１７は、論理的に関連したレコードまたはファイルの統合されるコレクションにデータを格納できる。データベース２１７は、運用的データベース、分析的データベース、データウェアハウス、分散データベース、エンドユーザデータベース、外部データベース、ナビゲーショナルデータベース、メモリ内データベース、ドキュメント指向データベース、リアルタイムデータベース、関係データベース、オブジェクト指向データベース、ＨＦＤＳ、または当該技術分野において知られている任意の他のデータベースであり得る。
【００５５】
単一のシステムとして示されているが、システム２１０の機能は、分散システムとして実現され得る。例えば、メモリ２１４およびプロセッサ２２２は、集合的にシステム２１０を表す複数の異なるコンピュータにわたって分散され得る。ある実施形態において、システム２１０は、装置（例えば、スマートフォン、タブレット、コンピュータなど）の一部であり得る。
【００５６】
ある実施形態において、システム２１０は、装置と切り離されてもよく、当該装置に対して、説明される機能を遠隔で提供し得る。さらに、システム２１０の１つまたは複数の構成要素は含まれなくてもよい。例えば、ユーザーまたは消費者の装置としての機能に対して、システム２１０は、スマートフォンであり得るか、または、プロセッサと、メモリと、ディスプレイとを含み、図２に示される他の構成要素のうちの１つまたは複数を含まず、図２に示されない追加の構成要素を含む他の無線装置であり得る。
【００５７】
図３は、例示的な実施形態に従う、ノードのネットワークに対するデータ処理を管理するための機能ダイアグラムを示す。ダイアグラム３００は、ネットワークのユーザーに対してサービスを提供できる例示的なソフトウェアフレームワークの一例を示す。図３は、アプリケーション開発フレームワーク（「ＡＤＦ： Application Development Framework」）フェース３０２と、ＡＤＦタスクフロー３０４と、ビーンズ３０６と、データモデル３０８と、サービス３１０と、データプラットフォーム３１２と、セキュリティプラットフォーム３１４と、データストレージ３１６と、拡張可能なマーク付け言語（「ＸＭＬ：Extensible Markup Language」）定義３１８を含む。
【００５８】
ＡＤＦフェース３０２は、ＨＴＭＬと、ＣＳＳと、ユーザーインターフェースを提供するための任意の他の好適なコードとを含むソフトウェアフレームワークのビュー部分であり得る。本明細書において開示される１つまたは複数のグラフィカルユーザーインターフェースは、ＡＤＦフェース３０２によって提供され得る。ＡＤＦタスクフロー３０４は、ソフトウェア機能を行うための１つまたは複数のユーザーインターフェース要素を構成するために用いられ得る。ビーンズ３０６は、ユーザーインターフェースロジックとインテグレーションとにモデル層のビジネスロジック規則を提供できる。ＡＤＦタスクフロー３０４およびビーンズ３０６は、ソフトウェアフレームワークのコントローラ部分であり得る。例えば、ＡＤＦタスクフロー３０４は、ビーンズ３０６の上にあり得、クライアントページに対してフレームワークを実現する。いくつかの実施形態において、ＡＤＦタスクフロー３０４は、アプリケーション画面のコレクションを通じたユーザーの過程を管理するために用いられ得るタスクフロー構成体のセットを提供できる。本明細書で開示されるグラフィカルユーザーインターフェースの要素の１つまたは複数の機能は、ＡＤＦタスクフロー３０４および／またはビーンズ３０６によって提供され得る。
【００５９】
データモデル３０８は、ソフトウェアフレームワークのモデル部分であり得る。データモデル３０８は、ユーザーインターフェース（例えば、ビューおよびコントローラ）とソフトウェアサービス（例えば、ソフトウェアフレームワークのビジネスサービス部分）との間とインターフェースするためのビジネスロジック規則および構造を提供できる。サービス３１０は、ソフトウェアフレームワークのビジネスサービス部分であり得る。サービス３１０は、ビジネス規則と、ロジックと、有効化と、例えば、格納されるネットワークデータ上でソフトウェアサービスが行われることを可能にする構造とを提供できる。サービス３１０は、本明細書で開示されるマイクロサービスのうちの１つまたは複数を含み得る。
【００６０】
データプラットフォーム３１０、セキュリティプラットフォーム３１４およびデータストレージ３１６は、ソフトウェアフレームワークのデータサービス部分であり得る。データプラットフォーム３１２は、物理ストレージに論理データをマッピングできる。例えば、サービス層３１０からの要求に基づいて、データプラットフォーム層３１２は、データストレージ３１６に格納されるデータを取り出し、格納し、または変更するために、データ命令（例えば、クエリ、変更要求など）を生成できる。これらのデータ命令は、セキュリティプラットフォーム３１２によって保護される。セキュリティプラットフォーム３１２は、データプラットフォーム層３１２からのデータ命令をフィルタリングするために用いられるセキュリティポリシーを格納できる。このように、データストレージ３１６に格納されるデータは、セキュリティプラットフォーム３１２によるセキュリティである。データプラットフォーム３１２およびセキュリティプラットフォーム３１４は、ＸＭＬ定義３１８によって定義され得る。それゆえ、これらのソフトウェア構成要素は、ＸＭＬ定義３１８を更新することによって直ちに更新および／または再構築され得るため、アジャイルである。サービス３１０、データプラットフォーム３１０、セキュリティプラットフォーム３１４およびデータストレージ３１６は、図７を参照してさらに説明される。
【００６１】
再び図１を参照すると、いくつかの実施形態において、システム１００は、グラフによって表されるノードのネットワークに対するソフトウェアサービスを提供できる。図４は、例示的な実施形態に従う、ノードのネットワークを表すグラフを示す。グラフ４００は、複数のノード４０２および複数の接続４０４のネットワークを表すことができる。各ノード４０２は、グラフ／ネットワークに参加するエンティティを表すことができ、各接続４０４は、エンティティ間の関係を表すことができる。いくつかの実施形態において、グラフ４００は、有向非巡回グラフ（「ＤＡＧ： Directed acyclic graph」）、またはネットワーク（例えば、ソーシャルネットワーク）を表すのに好適な任意の他のグラフである。
【００６２】
いくつかの実施形態において、図１のシステム１００は、グラフ４００によって表されるネットワークに対してソフトウェアサービスを提供できる。例えば、複数のノード４０２は、各々、組織を表すことができ、これらの組織に所属しているユーザーは、クライアント装置１０２のうちの１つを用いてネットワークにアクセスできる。これらのユーザーは、ノードのネットワークにアクセスし、当該ネットワークを操作し、または当該ネットワークと対話するために、クラウドホスティングサーバ１０４およびシステム１００の残りの要素と通信できる。例えば、ユーザーのアイデンティティは、認証サーバ１０６によって認証され（例えば、ＩＤＣＳサービス、または任意の他の好適なアイデンティティ管理サービス）、ユーザーは、そのとき、彼または彼女の認証されたアイデンティティに関連付けられた許可に従ってネットワークと対話できる。
【００６３】
いくつかの実施形態において、ノード４０２によって表される各組織は、ネットワークに登録できる。例えば、名称と、住所または場所（例えば、緯度、経度、母国および任意の他の好適な場所情報）と、組織に関連付けられたブランドと、ホームページユニフォームリソースロケータ（「ＵＲＬ：Uniform Resource Locator」）、組織のためのソーシャルメディアアカウントと、これらの組み合わせと、他の好適な情報との１つまたは複数を含み得る、登録された組織に対するプロファイルが格納され得る。
【００６４】
ある実施形態において、ノードのネットワークは、供給者、顧客および／または仲介者のネットワークを表すことができる。そのような例において、組織プロファイルは、販売される製品と、購入される製品と、第三者団体からの証明書と、第三者団体からの満了した証明書と、（例えば、ネットワークにおける他のエンティティの中からの）直接的な供給者と、（例えば、ネットワークにおける他のエンティティの中からの）直接的な顧客と、商品または製品に対する手順（例えばレシピ）と、商品または製品に対する部分（例えば原料）と、これらの組み合わせと、製品もしくは商品の購入者または販売者に対する任意の他の好適な情報とのうちの１つまたは複数も含み得る。
【００６５】
いくつかの実施形態において、第三者団体からの証明書は、食品または薬物の安全証明（例えば、ハラル証明、コーシャ証明）、公正取引証明、１つまたは複数の知られた証明エンティティからの証明（例えば、世界食品安全イニシアチブ（「ＧＦＳＩ」：Global Food Safety Initiative）、英国小売協会（「ＢＲＣ」：British Retail Consortium）、米国食品医薬品局（「ＦＤＡ」：Food and Drug administration）、米国農務省（「ＵＳＤＡ」：United States Department of Agriculture）、海洋管理協議会（「ＭＳＣ」：Marine Stewardship Council）、安全品質食品研究所（「ＳＱＦ」：Safe Quality Food Institute)など）、危害分析および重要管理点（「ＨＡＣＣＰ」：Hazard Analysis and Critical Control Points」）証明などを含む。これらの証明は、しばしば更新を必要とし、それゆえに、証明は時々満了し得る。満了した証明書は、商品または製品に対する最終的な届け先（例えば、届け先国および地方条例）次第では、サプライチェーンにおいて潜在的な問題を生み出し得る。
【００６６】
いくつかの実施形態において、商品または製品の手順は、レシピ、または商品もしくは製品を作るために用いられる原料のリストを含む。例えば、製品Ａは、原料Ｃ，Ｄ，ＥおよびＦを列挙するレシピＢなどの１つまたは複数のレシピを含み得る。例示的な商品または製品は、果実ジュースであり得る。所与の組織は、当該組織が果実ジュースのような製品に対するレシピを有する場合、別の顧客と考えられ得る。果実ジュースにおける原料は、果実濃縮物（例えば、クランベリー、リンゴなど）、異なるタイプの果実、および他の好適な原料であり得る。所与の組織は、当該組織が別の組織のレシピに対する原料を有する場合、供給者と考えられ得る。
【００６７】
一度登録されると、組織は、ネットワークにおいて互いに対話できる。例えば、複数のノード４０２によって表される組織は、互いにメッセージを送信し、共有され得る投稿を生成し、他の組織からの投稿に「いいね」し、他の組織がネットワークに参加するように当該他の組織へ招待を送信し、ソーシャルネットワークに対して好適な他の機能を行うことができる。
【００６８】
いくつかの実施形態において、グラフ４００において、複数のノード４０２の間の１つまたは複数の経路は、接続４０４に基づいて識別され得る。例えば、経路４０６は、図４に示されるように、複数のノード４０２のうち４つを含み得る。商品または製品を巻き込むトランザクションに対して、顧客、供給者および仲介者であり得るエンティティを複数のノード４０２が表す実施形態において、経路４０６は、サプライチェーンを表し得る。例えば、経路４０６は、終点（例えば、顧客）で終わる、複数のノード４０２間の商品または製品のフローを表すことができる。いくつかの実施形態において、終点は、情報を要求するサプライチェーン内のエンティティを表す、複数のノード４０２のうちの１つであり得る。例えば、経路４０６の終点を表すノード４０２は、商品または製品のフローに関する情報を、ノードを表すエンティティに要求できる。いくつかの例において、エンティティが下流の顧客に商品または製品を販売し得るため、この終点が仲介者であり得るが、経路４０６は、そのエンティティに対するサプライチェーンを表すことができる。エンティティの承認されるユーザ（例えば、認証されるアイデンティティ）は、ネットワークに対するソフトウェアサービスと対話でき、以下でさらに詳述されるように、このサプライチェーン情報を取り出すことができる。
【００６９】
いくつかの実施形態において、接続４０４は、組織（例えば、顧客および供給者）間の取引関係を表すことができる。例えば、組織Ａは、その供給者のうちの１つになるように組織Ｂを招待することができ、および／または、組織Ｂは、その顧客のうちの１つになるように組織Ａを招待できる。これは、組織Ｂが組織Ａのレシピの１つに対して原料を有する場合に起こり得る。ネットワーク内において、組織Ａと組織Ｂとの間の接続４０４は、取引関係の招待が組織の一方から送信され、他方によって受け入れられるときに作られ得る。
【００７０】
ある実施形態において、２つの組織が取引関係になるために招待を一度送信し受け取った時点で、それらは、どのレシピおよび原料がこの関係に依存するかを識別できる。顧客組織は、そのレシピにおいて用いられる原料のいくつかを新しい供給者組織に属性付けることができる。同様に、供給者組織は、当該組織が供給している製品に対するレシピを顧客組織の名前に属性付けることができる。図４に関して、接続４０４が取引関係を表すとき、グラフ４００は、取引組織（例えば、サプライチェーン）間の商品の潜在的なフローを示す。例えば、顧客組織に関連付けられた少なくとも１つの製品レシピを供給者組織が有し、供給者組織に関連付けられた少なくとも１つの原料を含むレシピを顧客組織が有する場合、供給者組織は、顧客組織のサプライチェーン内に示される（当該サプライチェーンの一部と考えられる）。
【００７１】
いくつかの実施形態において、接続４０４は、（取引しない）社会的関係を表すことができる。例えば、組織Ａは、ソーシャル接続要求を組織Ｂに提出することができ、ソーシャル接続を表す接続４０４が形成され得る。
【００７２】
いくつかの実施形態において、ネットワークデータは、関係データベースにおける複数の関係データテーブル上にマッピングされ得る。図５は、例示的な実施形態に従う、ネットワークデータの処理に対する関係データテーブルを示す。図５に示される例示的なデータテーブルは、組織５０２と、接続５０４と、レシピ５０６と、原料５０８と、レシピ_原料５１０と、レシピ_消費者５１２と、原料_供給者５１４とを含む。データテーブルは、属性（例えば、ＩＤ、名前など）、および、いくつかの例において、キー情報（例えば、主キーおよび外部キー）を含み得る。図示されるデータスキーマは、本開示の目的のために単純化されており、ネットワークデータに対するデータスキーマは、図示される例よりも実質的に大きくなるように実現できる。他の好適なスキーマも実現され得る。
【００７３】
いくつかの実施形態において、組織５０２は、組織ＩＤ、名称、本明細書で詳述される他のプロファイル情報、および任意の他の好適な組織プロファイル情報などの、組織プロファイル情報を格納できる。接続５０４は、接続ＩＤ、消費ＩＤ（例えば、顧客ＩＤ）、生産ＩＤ（例えば、供給者ＩＤ）、および任意の他の好適な接続情報などの、ノード間の接続についての情報を格納できる。いくつかの実施形態において、ノード間の接続は、商品または製品の具体化されるフロー（例えば、具体化される供給者／顧客関係）に基づき得る。
【００７４】
いくつかの実施形態において、レシピ５０６は、レシピＩＤ、レシピの説明、所有者組織ＩＤ、および任意の他の好適なレシピ情報などのレシピ情報を格納できる。同様に、原料５０８は、原料ＩＤ、原料の見出し、所有者組織ＩＤ、および任意の他の好適な原料情報などの原料情報を格納できる。レシピ_原料５１０は、所有されるレシピと所有される原料との間の関連を格納できる。
【００７５】
いくつかの実施形態において、レシピ_消費者５１２は、接続５０４に格納される接続ＩＤによって表される組織間の接続など、レシピを消費する接続とレシピを関連付ける情報を格納できる。同様に、原料_供給者５１４は、原料と原料を供給する接続とに関する情報を格納できる。例えば、レシピ_消費者５１２および原料_供給者５１４は、所与の接続から組織がどのように接続されるか（例えば、それらの間に存在するレシピ／原料の取引関係）を決定するために用いられ得る。
【００７６】
例えば、第１の組織により所有されるレシピＡは、原料Ｂ，ＣおよびＤを含み得る。第２の組織により所有される原料は、原料Ｄ，ＥおよびＦを含み得る。第２の組織により所有される原料、すなわち原料Ｄを含むレシピを第１の組織が所有しているため、商品または製品の潜在的なフローは、第１の組織と第２の組織との間に存在する。いくつかの例において、取引関係は、第１の組織と第２の組織とによって確認され、それによって（接続ＩＤを有する）接続が形成され得る。一度接続されると、第１の組織は、当該接続にレシピＡを関連付けることができ、第２の組織は、当該接続に原料Ｄを関連付けることができる。図５に示されるテーブルには、関連する接続と、原料と、レシピ情報とが投入され得る。
【００７７】
再び図４を参照すると、データテーブル上にノードのネットワークをマッピングすることは、複数のノード４０２に対してエンティティ特有の（例えば、組織プロファイル）情報を組織５０２に格納することと、接続４０４に対してノード接続情報を接続５０４に格納することとを含み得る。以下で詳述されるように、複数のノード４０２に対してベクトルを生成するためにネットワークを処理することは、レシピ５０６、原料５０８、レシピ_原料５１０、レシピ_消費者５１２および／または原料_供給者５１４によって示される、所有されるレシピと所有される原料との間の関連に基づいて管理され得る。
【００７８】
いくつかの実施形態において、更新または変更は、ユーザーによって要求され得る（例えば、ネットワークのノード／エンティティのうちの１つに関連付けられる）。例えば、認証されるユーザーは、商品もしくは製品のフロー（例えば、新しいもしくは更新される供給者／顧客関係）への変更、商品もしくは製品の新しいフロー、所有されるレシピもしくは原料の変更、新しいレシピもしくは原料、または任意の他の好適な変更などの変更をネットワークに要求し得る。ネットワークに対する変更は、新たに登録される組織に基づく新しいノード／エンティティの作成を含み得る。新しいノード／エンティティは、商品もしくは製品の既存のまたは新しいフローに基づいて既存のエンティティ／ノードとの接続を生成し得る。
【００７９】
図４に示される新しい接続４０８は、グラフ４００に対する変更の結果であり得る。例えば、新しい接続４０８によって接続される複数のノード４０２は、商品またはサービスを取引するための約束をすることができる。グラフ４００に対する更新に基づいて、新しい経路および新しい潜在的な経路が生成される。本明細書に詳述されるように、高い変更の頻度でソーシャルグラフなどのグラフを横断するための処理要求は、計算的に困難であり得る。実施形態は、頻繁な変化が存在するとしてもグラフ４００を横断するための効率的な技法を提供するためにドリップフィードデルタ処理を実現する。
【００８０】
図６は、例示的な実施形態に従う、ノードのネットワークに対するデルタ処理のためのフローダイアグラムを示す。デルタ６０２は、（例えば関係データテーブルに格納される）ネットワークデータ６０６に対する更新または変更を要求され得る。デルタ６０２は、先入れ先出し（ＦＩＦＯ：First in First Out）キューまたは任意の他の好適なキューなどのキュー６０４に格納され得る。処理される各変更または各更新は、ドリップフィードデルタ処理フローにおいてドリップと考えられ得る。更新または変更がネットワークデータ６０６上で行われるとき、ネットワークのエンティティ間の１つまたは複数の経路または潜在的な経路が変更され得る。例えば、デルタ６０２のうちの１つは、新しい接続４０８と同様の接続を生成する、および／または製品もしくは商品の（例えば、所有される原料、レシピ、もしくは製品への変更に基づく）新しい（もしくは新しい潜在的な）フローを生成する変化という結果を生じ得る。ネットワークデータ６０６に対する更新を完了すると、次のドリップが実行され得る（例えば、ネットワークデータ６０６は、キュー６０４の先頭のデルタ６０２に従って更新または変更され得る）。
【００８１】
いくつかの実施形態において、ネットワークデータ６０６は、（例えば、図５に示される関係テーブルに格納される）基礎をなすネットワークデータの事前計算されたバージョンを表すことができる。例えば、ネットワークデータ６０６は、ノード／エンティティ間の経路などのネットワーク情報（例えば、サプライチェーン情報）の効率的な取り出しに対して有用で事前計算されたデータであり得る。ユーザー（例えば、適切なセキュリティを伴う認証されるユーザー）は、例えば、クライアントアプリケーションにログインして当該アプリケーションと対話することによって、基礎をなすネットワークデータを直ちに更新／変更でき、これらの更新／変更は、基礎をなすネットワークデータにおいてキューの使用無しで反映され得る。しかしながら、デルタ６０２は、ネットワークデータ６０６（例えば、基礎をなすネットワークデータの事前計算バージョン）に影響を及ぼす更新／変化を表すことができる。実施形態は、ネットワーク情報の効率的な取り出しに対して有用で基礎をなすネットワークデータの、この事前計算されたバージョンを維持するためにネットワークデータ６０６を更新するときに、ドリップフィードデルタ技法を実現する。
【００８２】
いくつかの実施形態において、ネットワークデータ６０６は、基礎をなすネットワークデータとは切り離された関係データテーブルのセットに格納される。ネットワークデータ６０６は、事前計算された形態における、基礎をなすネットワークデータのコピーと考えられ得る。この事前計算された形態（および効率的なネットワークデータ取り出しの利点）を維持するために、更新は、開示されるドリップフィードデルタ技法によって管理される。言い換えれば、それは、（例えば、キュー６０４において）キューイングされドリップデルタとして実行される関係データテーブル（例えば、デルタ６０２）の切り離されたセットへの更新／変更である。ネットワークデータ６０６は、（ドリップデルタの実行後に）基礎をなすネットワークデータと最終的に一致し、ネットワークの高性能クエリを可能にする構造を提供する。
【００８３】
いくつかの実施形態において、デルタ６０２の処理は、利用可能な計算リソースに基づくベストエフォート条件下で行われる。処理遅延は、サーバが（ユーザーのアクティビティから）デルタ６０２を生成できるレートと、事前計算エンジンがキュー６０４からそれらを処理／除去できるレートとの間の相違に起因し得る。いくつかの実施形態において、デルタ処理は、遅延されてもよく、および／または予め定められた間隔で行われ得る（例えば、遅延が処理に組み込まれ得る）。
【００８４】
いくつかの実施形態において、基礎をなすネットワークデータに対する更新／変更（例えば、図５の関係データテーブルに対する変更）は、ネットワークデータ６０６を格納する別個のデータテーブルに影響を及ぼす変更を決定するために追跡され得る。例えば、以下のシナリオは、ネットワークデータ６０６に影響を及ぼす変更（例えば、キューに入れられる変更）を表す：
１）２つの組織が新しい取引関係を作成するか、または既存の取引関係を終わらせる；
２）２つの組織が既存の取引関係を終わらせる；
３）顧客もしくは供給者によって維持されるレシピまたは原料は、新しい組織を（製品／レシピの）顧客または（原料の）供給者として関連付けるように更新される；
４）顧客もしくは供給者により維持されるレシピまたは原料は、彼らが組織を原料の供給者または製品／レシピの顧客として除去するように更新される。
【００８５】
いくつかの実施形態において、基礎をなすネットワークデータに対する更新／変更は、これらの上述のシナリオのうちの１つまたは複数を識別するために追跡され得る。例えば、図５の関係テーブル構造を参照すると、以下の更新／変更は、ネットワークデータ６０６に影響を及ぼすと識別され得る。
レシピに追加される消費者／レシピから削除される消費者（レシピ_消費者５１２上での挿入、削除）
レシピに追加される原料／レシピから削除される原料（テーブルレシピ_原料 ５１０上での挿入、削除）
原料に追加される供給者／原料から削除される供給者（テーブル原料_供給者５１４での挿入、削除）
【００８６】
これらの場合の各々において、変更は、クライアントアプリケーションを用いるユーザ（例えば、許可を有する認証されるユーザ）によって実現され得ることに留意されたい。開示される技法の実施形態は、基礎をなすネットワークデータの事前計算されたバージョンを維持するためにネットワークデータ６０６を更新するために用いられる、これらの変化に対応するデルタ６０２を生み出す。
【００８７】
いくつかの実施形態において、データベース機能（例えば、オラクル(登録商標)ＲＤＢＭＳトリガ）は、デルタ６０２を処理するために用いられ得る。キューイングのための例示的な技法は、オラクル（登録商標）ＡＱ（「ＡＱ」：Advanced Queuing」）を含む。キュー６０４からのデルタ６０２は、処理されることができ、ネットワークデータ６０６を格納する（例えば、グラフに対する推移閉包を含む）データテーブルは、徐々に更新され得る。いくつかの実施形態では、種々の組織において複数のキュー消費者が実現されることができ、これらは、種々の組織によって共有され得る。ネットワークデータ６０６を格納するデータテーブルに対する例示的なスキーマは、以下の通りである：
事前計算_レシピ_消費者_供給者−消費組織の関係（レシピＩＤ、消費組織ＩＤおよび供給（所有）組織のＩＤ）に対するレシピの事前計算コピーを格納する。
事前計算_レシピ_原料−レシピ関係（レシピＩＤおよび原料ＩＤ）に対する原料の事前計算コピーを格納する。
事前計算_原料_消費者_供給者−供給組織の関係（原料ＩＤ、消費（所有）組織ＩＤおよび供給組織ＩＤ）に対する原料の事前計算コピーを格納する。
事前計算_原料_接続−可能であって、それゆえ、ネットワークを通じた横断のために用いられ得る原料接続に対する事前計算バージョンの原料を格納する。これは、推移閉包の増分評価を補助するために用いられる。
事前計算_組織_推移閉包_再帰的−組織の推移閉包に対する組織の事前計算バージョンを格納し、ネットワークに問い合わせるためにアプリケーションによって用いられるテーブルの１つである。いくつかの実施形態において、テーブルの設計は、単純であり、（その再帰的推移閉包エントリの）ＩＤと、消費組織ＩＤと、供給組織ＩＤとからなる。
事前計算_組織_推移閉包_経路−事前計算_組織_推移閉包_再帰的において消費組織ＩＤから供給組織ＩＤまでに得ることができる道（経路）の全ての事前計算バージョンを格納する。
事前計算_組織_推移閉包_原料_接続_経路_ヘッダ−このテーブルは、原料経路に対するヘッダレコードを保持する。このレコードは、この原料経路が可能にしている事前計算_組織_推移閉包_経路 からの、組織の推移閉包経路ＩＤを含む。これは、推移閉包の増分評価を補助するために用いられる。
事前計算_組織_推移閉包_原料_接続_経路_詳細−このテーブルは、事前計算_組織_推移閉包_原料_接続_経路_ヘッダからの、原料経路に対する詳細なレコードを保持する。これは、推移閉包の増分評価を補助するために用いられる。
【００８８】
実施形態は、ネットワークデータ６０６に影響を及ぼすとして識別され追跡される変化に対応するネットワークデータ６０６（例えば、上記のスキーマ）を格納するデータテーブルに対する更新／変化（例えば、デルタ６０２）を生成することを含む。例えば、追跡される変化は、２つのエンティティ／ノード間の取引関係に対する更新として識別され得る。１つまたは複数のデルタ６０２は、ネットワークデータ６０６を格納するデータテーブルを更新するために生成され得る。例えば、追跡される変更は、実現されるスキーマに基づいて、ネットワークデータ６０６を格納する複数のテーブルを更新／変更する複数のデルタ６０２に対応し得る。
【００８９】
いくつかの実施形態において、ドリップ（例えば、デルタ）を実行することは、ネットワークの推移閉包を決定することを含む。図４を参照して、グラフ４００の推移閉包は、所与のノードとの経路または潜在的な経路の一部である複数のノード４０２のサブセットに基づいて、所与のノードに対して維持され得る。商品もしくは製品の潜在的な接続またはフローは、原料と、レシピと、関連するエンティティ／ノードと、ネットワークデータ６０６に対して維持されるデータスキーマ（例えば、上記の開示されるデータスキーマ）において格納され更新される関連情報とに基づいて識別され得る。一般に、所与のノードに対して、グラフ４００の推移閉包は、所与のノードとの（例えば、既存のまたは潜在的な）経路上で含まれ得る、複数のノード４０２のサブセットを表す。グラフ４００に対する推移閉包は、任意の好適な手法で決定され得る（例えば、グラフの幅優先探索または深さ優先探索、フロイド−ワーシャルアルゴリズムなど）。
【００９０】
推移閉包を決定するとき、ノードから他のノードへの経路を数え上げる、規則またはデータのセットが用いられ得る。種々の実施形態において、ノード／エンティティ間の確立される取引関係は、経路を数え上げるための技法として用いられ得る。以下は、グラフ４００の推移閉包を決定するための例示的なアルゴリズムである：
ノードＸに対して；
Ｘの各レシピに対して、
レシピの各原料に対して、
原料の各供給者に対して、
潜在的な供給者ノードのリストに供給者を追加する。
「潜在的な供給者ノード」リストにおける各ノードに対して、
当該ノードが、顧客としてのノードＸがマークされた少なくとも１つのレシピを有するか否かをチェックする。
ノードが当該少なくとも１つのレシピを有さない場合、「潜在的な供給者ノード」リストからのノードを除去する。
//「潜在的な供給者ノード」は、ノードＸに対するサプライチェーンにおける次のレベルのノードである。
当該アルゴリズムは、リストにおける各ノードにわたって再帰的に行われ、ノードの次のレベルの供給者を生み出す。新しい再帰の各々に対して、現在の繰り返しの対象であるノードが新しい「Ｘ」となる。
【００９１】
決定される推移閉包の結果は、（例えば、例示的なスキーマと同様のデータテーブルにおいて）ネットワークデータ６０６として格納され得る。図６を参照して、デルタ６０２は、基礎をなすネットワークデータに対する変化によって影響が及ぼされるネットワークデータ６０６を格納する各データテーブルが更新されるように、ユーザーによって実行され基礎をなす（例えば、図５のデータテーブルに格納される）ネットワークデータに対する１つまたは複数の変化に基づいて生成され得る。言い換えれば、１つの情報Ａに対するネットワークデータの変更が与えられれば、デルタ６０２は、情報Ａを格納するか、または情報Ａに依存している情報を格納するネットワークデータ６０６に対する任意のデータテーブルを更新するために生成され得る。
【００９２】
いくつかの実施形態において、グラフ４００の推移閉包を維持することは、全体の推移閉包を再計算することよりはむしろ、ネットワークデータ（例えば、ネットワークデータ６０６）の事前計算されたバージョンを修正することを含む。完全な再構築が、例えば、データベース障害またはいくつかの他の必要に基づいて要求される場合、推移閉包の再構築は、接続、レシピおよび原料のレコードに基づいて行われ得る。
【００９３】
いくつかの実施形態において、グラフ４００に対する推移閉包の決定は、複数のノード４０２の各々に対する直接アクセスベクトルを提供する。例えば、グラフ４００に対する推移閉包は、所与のノードから到達され得る全てのノードのリストを提供できる：
ノード「Ｘ」が与えられると、「Ｘ」に対する閉包は、各オブジェクトが以下のように表されるオブジェクトのリストである：
１）「Ｘ」から到達され得るノード（「Ｙ」）のＩＤ。
２）グラフ内の「Ｘ」から「Ｙ」に達する全ての可能な道を記述する代替経路のセット。各代替経路は、「Ｘ」から「Ｙ」に到達するまで横断されるであろうノードＩＤのリストを含み得る。
【００９４】
所与のノードに対する直接アクセスベクトルは、関係データクエリにおいて、所与のノードとの経路の一部であるノードのサブセットを返すために選択され得る。言い換えれば、グラフ４００を横断して所与のノードに対する経路を返すための要求は、所与のノードに対する直接アクセスベクトルと関係クエリとを用いて、関係データテーブル（例えば、ネットワークデータ６０６に対するデータスキーマ）から要求されるネットワークデータを効率的に取り出すことができる。実施形態は、経路識別および対応するデータ取り出しなどのネットワークソフトウェアサービスを提供するために、グラフ４００を横断するための計算的に効率的な技法を提供する。
【００９５】
いくつかの実施形態において、ステートレスマイクロサービスなどのソフトウェアサービスは、ノードのネットワークに対するデータにアクセスするか、当該データを更新するか、変更するか、削除するか、または取り出すために活用できる。ネットワークデータに対する更新または変更のためのデルタ処理は、このデータの効率的なアクセスを可能にするが、いくつかの組織は、システムにおける、取り扱いに慎重を要する情報または機密情報を格納し得る。それゆえ、セキュリティポリシーおよびネットワークデータの安全なフィルタリングは、ネットワークデータの管理をさらに改善するために提供され得る。
【００９６】
図７は、例示的な実施形態に従う、ノードのネットワークに対するデータ処理の安全な管理のための機能ダイアグラムである。例えば、ダイアグラム７００は、本明細書で開示されるノードのネットワークに対する安全なデータ処理を達成するためのソフトウェア機能を表すことができる。
【００９７】
ダイアグラム７００は、サービス７０２と、データプラットフォーム７０４と、セキュリティプラットフォーム７０６と、データストレージ７０８とを含む。データプラットフォーム７０４は、アプリケーションプログラミングインターフェース（「ＡＰＩ：application programming interface」)７１０と、ＸＭＬ定義７１２と、論理対物理マッピング７１４とを含み得る。セキュリティプラットフォームは、データ編集７１６と、関係フィルタリング７１８と、信頼されるストア７２０と、ＸＭＬ構成７２２とを含み得る。いくつかの実施形態において、サービス７０２、データプラットフォーム７０４、セキュリティプラットフォーム７０６、およびデータストレージ７０８は、図３のサービス３１０、データプラットフォーム３１２、セキュリティプラットフォーム３１４、およびデータストレージ３１６と同様であり得る。
【００９８】
いくつかの実施形態において、サービス７０２は、ノードのネットワークとユーザーが対話するために提供される複数のマイクロサービスを含み得る。例えば、登録された組織（例えば、ネットワークのエンティティ）に加入している（クライアント装置を操作する）ユーザーは、複数の公開されるＡＰＩを用いて種々のマイクロサービスを呼び出し、ネットワークシステムとインターフェースし、ネットワークデータにアクセスできる。
【００９９】
いくつかの実施形態において、サービス７０２は、データストレージ７０８に格納されるネットワークデータにアクセスするか、当該データを更新するか、変更するか、または削除するためにＡＰＩ７１０を用いてデータプラットフォーム７０４と通信する。ＸＭＬ定義は、データストレージ７０８から取り出し可能なデータを定義できる。さらに、論理対物理マッピング７１４は、物理レベル要求または命令（例えば、関係データクエリ）に論理データ要求または命令をマッピングするために用いられ得る。
【０１００】
いくつかの実施形態において、物理レベル要求または命令（例えば、構造化クエリ言語（「ＳＱＬ：structured query language」）命令またはクエリ）は、データストレージ７０８上でこれらの要求もしくは命令を実行する前に、格納されるセキュリティプロトコルに従うフィルタリングまたは増大のためにセキュリティプラットフォーム７０６に通信される。信頼されるストア７２０は、登録されたユーザーおよび組織に対するアクセス許可を格納するネットワークに対するセキュリティポリシーの不変のソースである。
【０１０１】
例えば、データストア７０８へのアクセスは、信頼されるストア７２０に格納されるアクセス許可に従って保護され得る。いくつかの実施形態において、信頼されるストア７２０は、第１の組織プロファイルデータを書き込むために用いられる組織キーを格納できる。この例において、第１の組織のユーザーは、プロフィールデータを彼ら自体の組織に書き込むことができるが、そのような書き込みがサービス７０２の１つまたは複数によって、またはネットワークシステムの他のコードによって要求される場合であっても、プロフィールデータを任意の他の組織に書き込むことを妨げられる。
【０１０２】
いくつかの実施形態において、データプラットフォーム７０４から伝達されるクエリまたは命令（例えば、ＳＱＬ）は、信頼されるストア７２０に格納されるセキュリティポリシーに従って、関係フィルタ７１８によってフィルタリングまたは増大され得る。さらに、フィルタリングされるクエリまたは増大されるクエリによって取り出される任意のデータは、信頼されるストア７２０に格納されるセキュリティポリシーに従って、データ編集７１６によって編集され得る。いくつかの実施形態において、セキュリティプラットフォーム７０６は、ＸＭＬ構成７２２を用いて構成されることができ、ＸＭＬ構成７２２は、セキュリティプロトコル（例えば、アクセス許可、クエリフィルタリング、およびデータ編集）を定義する複数のＸＭＬファイルを含み得る。
【０１０３】
実施形態は、ネットワークシステムとインターフェースするための利用可能な複数のステートレスマイクロサービスを含む。ある実施形態において、マイクロサービスは、独立して配備可能なサービスである。ある実施形態において、マイクロサービスという用語は、言語に依存しないＡＰＩを用いて互いに通信する小さな独立したプロセスから複雑なアプリケーションが成るソフトウェアアーキテクチャ設計パターンを意図する。ある実施形態において、マイクロサービスは、高度に切り離されている小さなサービスであり、各々は、小さなタスクを行うことに集中し得る。ある実施形態において、マイクロサービスアーキテクチャスタイルは、単一のアプリケーションを一式の小さなサービスとして開発することへのアプローチであり、各々がそれ自体のプロセスで動作し、軽量のメカニズム（例えば、ＨＴＴＰリソースＡＰＩ）と通信する。ある実施形態において、マイクロサービスは、同じ機能の全てまたは多くを行うモノリシックサービスと比較して置き換えやすい。その上、マイクロサービスの各々は、他のマイクロサービスに不都合に影響を及ぼすことなく更新され得る。対照的に、モノリシックサービスの一部分への更新は、モノリシックサービスの他の部分に不所望にまたは意図せず否定的に影響を与え得る。ある実施形態において、マイクロサービスは、それらの性能の周辺で有益に編成され得る。ある実施形態において、マイクロサービスのコレクションの各々に対する起動時間は、それらのマイクロサービスの全てのサービスを集合的に行う単一のアプリケーションに対する起動時間よりもはるかに短い。
【０１０４】
ある実施形態において、マイクロサービスアーキテクチャは、柔軟で独立して配備可能なソフトウェアシステムを構築するためのサービス指向アーキテクチャ（「ＳＯＡ：service oriented architecture」）に対する専門化（すなわち、システム内のタスクの分離）および実現のアプローチを指す。マイクロサービスアーキテクチャにおけるサービスは、目標を満たすためにネットワークを超えて互いに通信するプロセスである。ある実施形態において、これらのサービスは、技術に依存しないプロトコルを使用する。ある実施形態において、サービスは、小さい粒度を有し、軽量のプロトコルを使用する。ある実施形態において、サービスは、独立して配備可能である。異なる小さなサービスにシステムの機能を分散させることによって、システムの一貫性が高められ、システムの結合が低下される。これは、システムを変更することと、いつでもシステムに機能および品質を追加することとを容易にする。それは、個々のサービスのアーキテクチャが絶え間ないリファクタリングを通じて現れることも可能にし、それゆえ、大規模なアップフロント設計に対する必要性を低減し、ソフトウェアを早くかつ絶え間なくリリースすることを可能にする。
【０１０５】
ある実施形態において、マイクロサービスアーキテクチャにおいて、アプリケーションは、サービスのコレクションとして開発され、各サービスは、それぞれのプロセスを実行し、通信するために軽量のプロトコル（例えば、各マイクロサービスに対して固有のＡＰＩ）を用いる。マイクロサービスアーキテクチャにおいて、ソフトウェアの個々のサービス／機能への分解は、提供されるサービスに応じて異なるレベルの粒度で行われ得る。サービスは、ランタイム構成要素／プロセスであり得る。各マイクロサービスは、他のモジュール／マイクロサービスと対話できる自己完結のモジュールであり得る。各マイクロサービスは、他のマイクロサービスにより連絡され得る不特定のユニバーサルポートを有し得る。ある実施形態において、マイクロサービスの不特定のユニバーサルポートは、マイクロサービスが（例えば、従来のハイパーテキスト転送プロトコル（「ＨＴＴＰ：Hypertext Transfer Protocol」）ポートとして）慣例によってエクスポーズし、同じサービス内の任意の他のモジュール／マイクロサービスがそれと対話することを可能にする標準的な通信チャネルである。ある実施形態において、マイクロサービスは、互いに独立しており、原子的であり、ステートレスである。マイクロサービスまたは任意の他の自己完結の機能モジュールは、一般的に「サービス」と称され得る。
【０１０６】
例えば、ステートレスマイクロサービスの１つは、ＩＤＣＳマイクロサービスなど、ユーザーのアイデンティティを認証するために用いられるアイデンティティ管理サービスであり得る。例えば、組織に関連付けられたユーザーは、彼らの組織証明を提供することができ、ＩＤＣＳマイクロサービスは、ユーザーのアイデンティティが、関連するシステムによって適切に認証されることを保証するために、ユーザーの組織のアイデンティティ管理システムを用いて認証を行うように構成され得る。以下の例は、ＩＤＣＳマイクロサービスに対するＡＰＩのサブセットを表す：
User GetCurrentUser
現在ログインしているユーザーによって識別される現在のユーザーを得る。
User GetUser(String emailAddress)
電子メールアドレスによって識別されるユーザーを取得する。それは、Username属性に対してＩＤＣＳを問い合わせる。
String CreateUser(User toCreate)
新たなユーザーを作成し、彼らをグループに追加する。グループ表示名は、アプリケーションのコンテキストパラメータ（web.xml）において設定可能である。ユーザーが追加されたＩＤＣＳグループは、ユーザーが作成される前に検索され得る。当該検索は、ＡＰＩを呼び出し、設定されるパラメータに一致する表示名を有するグループを検索できる。一度発見されると、それは、（ＵＩを通して見えない）グループＩｄを抽出し、そのグループＩｄを用いて、ＩＤＣＳサーバに更新（ＰＡＴＣＨ）要求を作成し、新たに作成されるユーザーを追加できる。新たに生成されるユーザーＩＤ（ＧＵＩＤ）は、オペレーションが成功した後に返される。
【０１０７】
いくつかの実施形態において、種々のマイクロサービスは、機能を実行するために互いにＡＰＩに依存し得る。例えば、ＩＤＣＳマイクロサービスは、例示的なＡＰＩに対して上記の機能を達成するために、１つまたは複数の他のマイクロサービスによって提供される機能に依存し得る。さらに、ＩＤＣＳマイクロサービスは、十分にユーザー認証を実現するために、組織のアイデンティティ管理システムから機能を要求できる。例えば、組織は、米国特許番号９，８３８，３７６に記載されているもののようなクラウドベースのユーザー認証システムを実現できる。
【０１０８】
別の例において、１つまたは複数のマイクロサービスは、データストレージ７０８からネットワークデータを作成するか（create）、読み取るか（read）、更新するか（update）、または削除する（delete）（「ＣＲＵＤ」）ために用いられる。例えば、種々のマイクロサービスは、マイクロサービスが表す「ビジネス機能」へのアクセスを提供するカスタムインターフェースまたはＣＲＵＤインターフェースをエクスポーズできる。いくつかの例において、マイクロサービスは、ビジネスエンティティ（例えば、会社プロファイル、招待のリスト、レシピなど）を表すことができる。ＣＲＵＤ動詞は、エンティティの対応するストリームが読み取られること、または操作されることを可能にできる。以下でさらに詳述されるように、そのようなサービスは、システムのセキュリティポリシーを伴うコンプライアンスを保証するために、セキュリティプラットフォーム７０６の機能にさらに依存し得る。以下の例は、１つまたは複数のＣＲＵＤマイクロサービスに対するＡＰＩのサブセットを表す：
【数１】
2021519958.tif 000003
ＣＲＵＤベース
−基礎をなすデータレポジトリ上で標準ＣＲＵＤを用いることを望むサービスの実現によって用いられるＩＣＲＵＤインターフェースの実現。
−ＣＲＵＤベースは、データリポジトリｉｄがＣＲＵＤオペレーションを指示することを期待する。
汎用ＣＲＵＤ
−データレポジトリ上でタイプ付けされていないＣＲＵＤ動作のためのＩＣＲＵＤインターフェースの汎用的なデータの実現。サービスは、データリポジトリｉｄがＣＲＵＤオペレーションを指示することを期待する。
ＣＲＵＤファクトリ
−ＩＣＲＵＤインターフェースの汎用データの実現を構築するファクトリ。
【０１０９】
別の例において、組織マイクロサービスは、ノードのネットワークとともに登録された組織に対する情報を管理するために用いられ得る。例えば、各組織は、前述の通り、複数の属性を含むプロファイルを有し得る。組織マイクロサービスは、データストレージ７０８に格納される組織情報にアクセスするか、当該情報を作成するかまたは更新するためにＣＲＵＤマイクロサービスの１つまたは複数の機能を呼び出すことができる。例えば、組織マイクロサービスによって、以下の機能が提供され得る：
作成（Create）
−ＣＲＵＤマイクロサービスに基づく標準的な作成
−データソースにおけるデータの制約に依存し、必須フィールドを強制する
読み取り（Read）
−ＣＲＵＤマイクロサービスに基づく標準的な読み取り
更新（Update）
−ＣＲＵＤマイクロサービスに基づく標準的な更新
−データソースにおけるデータの制約に依存し、必須フィールドを強制する
更新して作成（Update Create）
−ＣＲＵＤマイクロサービスに基づく標準的な更新して作成
−データソースにおけるデータの制約に依存し、必須フィールドを強制する
【０１１０】
組織マイクロサービスは、組織特有の情報を見つけ出し、組織の製品を取り出すために、ユーザーによっても用いられ得る。以下の例は、組織マイクロサービスに対するＡＰＩのサブセットを表す：
【数２】
2021519958.tif 000004
【０１１１】
いくつかの実施形態において、IDynamicDataRecordSet（ＩＤＲＳ）は、データの可変ストリームが表現されることを可能にする汎用のデータ構造である。ＩＤＲＳは、いくつかの部分を含み得る：
１）データストリームが表すレコードのリスト、例えば、エンティティごとに１つである。
２）各エンティティレコードは、属性ペアのセット、すなわち属性ＩＤと属性値とを有し得る。
３）各エンティティレコード自体は、エンティティレコードのリストを含み得る。そのような特徴を含む例は、階層的な表現を可能にできる。
４）上記のデータと並行して、ＩＤＲＳは、メタデータを含み得る。メタデータは、エンティティレコードにおいて利用可能な各属性に対するエントリを有し得る。このメタデータは、データの特性を記述する。例は、以下の通りである：
ａ．データベース上の物理データタイプ、例えばテキスト
ｂ．ビジネスタイプ−例えばパスワード
ｃ．可能な値の範囲
ｄ．必須フラグ
ｅ．有効化規則
ｆ．デフォルト値
ｇ．その他同種のもの
【０１１２】
ＩＤＲＳを利用する実施形態は、少なくとも、データ構造が標準的な方法で、値と、レコードと、リストと、階層と、他の概念とを表すことができるので、データ構造の利益を活用できる。これらの表現は、例えば、含まれるメタデータのために、自己記述的であり得る。ネットワークデータの実施形態は、ＩＤＲＳ構造として表され得る。そのような実施形態は、少なくとも、ＩＤＲＳ構造がそれを導き理解する方法に関する指標を提供するため、一般的な処理ユニットまたはＵＩ構成要素が異常なほど多くのデータを受け入れることを可能にする。
【０１１３】
別の例において、ユーザプロファイルマイクロサービスは、ノードのネットワークのユーザーに対するユーザプロファイルを管理するために用いられ得る。例えば、各ユーザーは、組織への所属などのユーザー特有の情報を含むプロファイルを有し得る。ユーザプロファイルマイクロサービスは、ＣＲＵＤマイクロサービスの１つまたは複数の機能を呼び出して、データストレージ７０８において格納されるユーザプロファイル情報にアクセスするか、当該情報を作成するか、または更新できる。例えば、以下は、ユーザプロファイルマイクロサービスによって提供され得る機能のサブセットを表す：
作成（Create）
−ＣＲＵＤマイクロサービスに基づく標準的な作成
読み取り（Read）
−ＣＲＵＤマイクロサービスに基づく標準的な読み取り
更新（Update）
−ＣＲＵＤマイクロサービスに基づく標準的な更新
更新して作成（Create Update）
−ＣＲＵＤマイクロサービスに基づく標準的な更新して作成
【０１１４】
別の例において、原料マイクロサービスは、データストレージ７０８に格納される原料情報とインターフェースするために用いられ得る。原料マイクロサービスに対する機能のサブセットは、以下の通りである：
定義：
メタデータ定義
・原料
RdbmsStandardAttributesによって提供される
・原料 _CRUD
RdbmsStandardAttributesによって提供される
動的データ定義
・原料
Captionと、ParentProductIdと、OwnerOrgIdとを読み取り
・原料_CRUD
RdbmsStandardAttributesによって提供される
機能：
標準的なＣＲＵＤオペレーションは、以下のように実現される：
読み取り（Read）
原料データストリームを用いてCrudBaseの一部として実現される。
削除（Delete）
原料_CRUDデータストリームを用いて上書きされる。
CreateItemsEx(Long denerOrgId、Long parentProductId、IDynamicDataRecordSet items)は、ORSCN_ServiceExceptionを投げ、
itemsリストを通じて繰り返し処理を行い、OwnerOrgIdおよびparentProductIdを設定し、
原料_CRUDデータストリームを用いてリポジトリ作成（create）を呼び出す。
UpdateCreateEx(Long ownerOrgId、Long parentProductId、IDynamicDataRecord item)は、ORSCN_ServiceExceptionを投げ、
OwnerOrgIdおよびparentProductIdを設定し、
原料_CRUDデータストリームを用いてリポジトリ更新して作成（updateCreate）を呼び出す。
ReadIngredient(Long ingredientId)は、ORSCN_ServiceExceptionを投げ、
・原料エンティティ上で静的なreadIngredientを呼び出し、
○ingredientIdがヌルである場合、ヌルが返される。
○原料_CRUDデータストリームを用いてリポジトリ読み取り（read）を呼び出し、ingredientId上でフィルタリングする。
○原料が返される場合、IngredientSuppliersCaptionsデータストリームを用いてリポジトリ上で読み取り（read）を呼び出すことによって供給者情報を拡張し、supplierIds属性を置換する。
更新（Update）
実現されない場合、例外が投げられる。
作成（Create）
実現されない場合、例外が投げられる。
作成／更新（Create/Update）
実現されない場合、例外が投げられる。
【０１１５】
別の例において、同様のレシピマイクロサービスは、データストレージ７０８に格納されるレシピ情報とインターフェースするために用いられる。レシピマイクロサービスに対する機能のサブセットは、以下の通りである：
定義：
メタデータ定義
・レシピ
RdbmsStandardAttributesによって提供される
・レシピ_CRUD
RdbmsStandardAttributesによって提供される
動的データ定義
・レシピ
Captionと、ParentProductIdと、OwnerOrgIdとを読み取り
・レシピ_CRUD
RdbmsStandardAttributesによって提供される
機能：
標準的なCRUDオペレーションは、以下のように実現される：
読み取り（Read）
レシピデータストリームを用いてCrudBaseの一部として実現される。
削除（Delete）
レシピ_CRUDデータストリームを用いて上書きされる。
CreateItemsEx(Long ownerOrgId、Long parentProductId、IDynamicDataRecordSet items)は、ORSCN_ServiceExceptionを投げ、
itemsリストを通して繰り返し処理を実行し、OwnerOrgIdおよびparentProductIdを設定し、
レシピ_CRUDデータストリームを用いてリポジトリ作成（create）を呼び出す。
UpdateCreateEx(Long ownerOrgId、Long parentProductId、ID ynamicDataRecord item)は、ORSCN_ServiceExceptionを投げ、
OwnerOrgIdおよびparentProductIdを設定し、
レシピ_CRUDデータストリームを用いてリポジトリ作成して更新（updateCreate）を呼び出す。
ReadRecipe(Long recipeId)は、ORSCN_ServiceExceptionを投げる。
・レシピエンティティ上で静的なreadRecipeを呼び出し、
〇recipeIdがヌルである場合、ヌルが返される。
〇レシピ_CRUDデータストリームを用いてリポジトリ読み取り（read）を呼び出し、recipeId上でフィルタリングする。
〇レシピが返される場合、RecipeConsumersCaptionsデータストリームを用いてリポジトリ上で読み取り（read）を呼び出すことによって顧客情報を拡張し、consumerIds属性を置き換える。
〇レシピが返される場合、RecipeIngredientsCaptionsデータストリームを用いてリポジトリ上で読み取り（read）を呼び出すことによって原料情報を拡張し、ingredientIds属性を置換する。
更新（Update）
実現されない場合、例外が投げられる。
作成（Create）
実現されない場合、例外が投げられる。
作成／更新（Create/Update）
実現されない場合、例外が投げられる。
【０１１６】
前述されたように、例示的なマイクロサービスは、実施形態においてステートレスであり得、それゆえ、互いにそれらの対話を大いに単純化する。いくつかの実施形態において、セッション状態マイクロサービスは、アプリケーションセッション上で保持される分散オブジェクトモデル（「ＤＯＭ：Distributed Object Model」）オブジェクトへのアクセスを可能にするために提供される。一例において、セッション状態マイクロサービスに対して単純化されるＡＰＩは、以下のインターフェースである：それは、sessionDOM GetSessionDOM()であって、セッションＤＯＭを提供するオブジェクトを返すことができる。
【０１１７】
ある実施形態において、ＤＯＭオブジェクトは、ネットワークにログインしたユーザーのセッションの状態を表すデータの多種多様なセットを収集するデータ構造であり得る。当該データは、頻繁にアクセスされるデータ（例えば、セキュリティ規則）であり得、そのデータは、要求に応じて蓄積されるか、またはログインしたユーザーに関する離散項目のセット（例えば、現在のユーザー、言語の選択、ユーザーの発信元、現在のネットワーク可視化レポートなど）である。マイクロサービスアーキテクチャに従って、実施形態は、ＤＯＭにおいてデータを読み取って更新するための単一のサービスを含む。このサービスは、データがＤＯＭから要求されるとき、ネットワークアプリケーションロジックによって用いられ得る。いくつかの実施形態において、ＤＯＭにおけるデータは、セッション状態に物理的にアンカーされ得る（例えば、アプリケーションサーバによって維持される）。
【０１１８】
本明細書で説明されるように、ネットワークに対するドリップフィードデルタ処理は、所与の組織／エンティティ／ノード（例えば、所与のノードに対する直接アクセスベクトル）に対するネットワーク構成を維持し、当該構成は、ノードのネットワークを表すグラフを横断する（例えば、所与のノードを含む既存の又は潜在的な経路／供給チェーンを識別する）ためにデータストレージ７０８に問い合わせるために容易に用いられ得る。ネットワークを横断するために用いられる例示的なネットワーク横断マイクロサービスは、組織（例えば、ネットワークにおけるエンティティまたはノード）に対する経路を返すために提供され得る。例示的なネットワーク横断マイクロサービスに対する機能のサブセットは、以下の通りである：
データレイアウト
接続当たり１行の単純な４列テーブル（接続ＩＤ（connectionId）、接続先、接続元、タイプ）。逆の接続は格納されない。
タイプc=消費者、s=供給者であって、ＸおよびＹが与えられると、
X c Y（ＸはＹを消費する）、
および
Y s X（ＹはＸに供給する）
は、同等である。
オブジェクト
ネットワーク
IDDRS<Organisations> organisations
List<Connection> connections
接続
Long formNodeId
Long toNodeId
Enum connectionType
ＡＰＩ
public Network readNetwork(Int startOrganisationId, int depth)
【０１１９】
いくつかの実施形態において、ネットワーク横断マイクロサービスは、要求するユーザーの組織に対してネットワーク経路（例えば、サプライチェーン）を返すことができる。例えば、返されるデータは、これらの組織を接続する関係の性質（例えば、取引相手、供給者、顧客など）に加えて、（例えば、ＩＤにより識別される）組織のペアのような経路を表すことができる。いくつかの実施形態において、このサービスは、組織のサプラインチェーンを表示し検索するために用いられ得る。
【０１２０】
（このサービスによって返される）サプライチェーンを表す組織は、接続と、それらの間で取引される、商品または製品とによって定義され得る。いくつかの実施形態において、接続されるノードのリストを届けるために、マイクロサービスは、受け入れられる接続と、取引される製品とに関する情報を利用するが、いくつかの実施形態において、この情報は用いられるが返されない。例えば、いくつかの実施形態において、サプライチェーンを表す組織のセットが結果として返されるが、結果のセットを決定するために用いられる上記の追加の情報は返されない。
【０１２１】
図８〜１４を参照してさらに詳述されるように、可視化は、ネットワークシステムのユーザーに表示されることができ、その可視化は、いくつかの例において、サプライチェーンを表すノード／エンティティの経路の可視化など、ネットワークシステムのセキュリティポリシーを用いて保護されるデータの可視化を含み得る。例示的な可視化マイクロサービスは、提供されることができ、ネットワークシステムに対する可視化を作成、編集、または更新するために用いられ得る。可視化マイクロサービスに対する機能のサブセットは、以下の通りである：
機能：
・作成（Create）
○全ての要求される特性が提供されることを保証する。
○新しい可視化を作成する。
・読み取り（Read）
○現在の組織に対する現在の可視化を読み取る。このようにして可視化を取り出すことは、可視化を作成するのに必要とされる全てから実際のデータを引いたものを返す。これは、全てのネットワークデータを読み取ることを必要とすることなく、可視化の仕様を取り出し編集するために用いられ得る。
・可視化データ読み取り（Read Visualisation Data）
○このオペレーションは、表示するＵＩに対して必要とされる実際のネットワークデータを含む可視化を読み取る。
・更新（Update）
○提供されるデータを用いて可視化を更新する。
・削除（Delete）
○ＤＯＭから可視化を除去する。
可視化は、以下のように定義され得る：
2021519958.tif 000005
作成（Creation）
可視化を作成することは、必須の属性が提供されることを要求し、そうでなければ例外が投げられる。一旦作成されると、可視化は編集され得る。可視化データは、それが表示される前に接続サービスを介して調べられる。このとき、オプションおよびフィルタが考慮される。
編集（Editing)
ＩＤを除いて、任意の属性は編集され得る。可視化属性を変更することは、変更（例えば、オプションまたはフィルタの変更）が効果を生ずるために、データが再び読み取られることを要求し得る。
【０１２２】
再び図７を参照すると、サービス７０２、データプラットフォーム７０４、セキュリティプラットフォーム７０６、およびデータストレージ７０８は、ネットワークにおけるエンティティ／ノード／組織間での情報共有を可能にするように構成され得る。ネットワークシステムは、このデータのいくつかが機密であるか又は取り扱いに慎重を要する場合でさえ、プライベートデータのサイロよりもむしろデータの流動的な共有に基づいている。したがって、ネットワークデータは、データへのアクセスを要求するノード／エンティティ／組織と、要求されるデータレコードを所有するノード／エンティティ／組織との間の関係に基づく共有規則に従って、ノード／エンティティ／組織の間で共有され得る。
【０１２３】
所与のノード／エンティティ／組織に対する例示的な共有規則は、以下の通りである：所与のエンティティによって所有されるデータレコード（例えば、テーブルの行）は、商品または製品の既存のフローが、所与のエンティティ（例えば、当該エンティティが取引相手であるか、またはサプライチェーン経路上にある）と共に存在する任意のエンティティへのアクセスを可能にし、そのような商品または製品の既存のフローを有さないエンティティへのアクセスを可能にしない。言い換えれば、所与のエンティティは、非取引相手がアクセスできない特定のデータに取引相手がアクセスすることを可能にし得る。同じレコード（例えば、行）内のフィールドデータ（例えば、列）の異なるグループに対して、異なるネットワーク共有規則が定義され得る。いくつかの実施形態において、共有規則は、ネットワークシステムの別個の各機能エリアに対して個々のユーザーに関して定義され得る。
【０１２４】
本明細書において詳述されるように、ノードネットワークのエンティティは、組織であり得、データストレージ７０８は、組織に対するプロファイル情報を格納できる。例えば、プロファイルは、登録された組織に対して格納されることができ、名称と、住所または場所（例えば、緯度、経度、母国、および任意の他の好適な場所情報）と、当該組織に関連付けられたブランドと、ホームページユニフォームリソースロケータ（「ＵＲＬ」）と、当該組織に対するソーシャルメディアアカウントと、これらの組み合わせと、他の好適な情報との１つまたは複数を含み得る。
【０１２５】
ある実施形態において、ノードのネットワークは、供給者、顧客および／または仲介者のネットワークを表すことができる。そのような例において、組織プロファイルは、販売される製品と、購入される製品と、第三者団体からの証明書と、第三者団体からの満了した証明書と、（例えば、ネットワークにおける他のエンティティの中からの）直接的な供給者と、（例えば、ネットワークにおける他のエンティティの中からの）直接的な顧客と、商品または製品に対する手順（例えばレシピ）と、商品または製品の部分（例えば原料）と、これらの組み合わせと、商品もしくは商品の購入者または販売者に対する任意の他の好適な情報との１つまたは複数も含み得る。
【０１２６】
ネットワークノードに対するソーシャル態様（例えば、投稿、メッセージなど）を含む実施形態において、システムは、メッセージ、投稿、議論グループ、および他のソーシャル対話のためのデータなどの、エンティティに対するソーシャルデータを管理できる。加えて、エンティティは、エンティティ／ノード間の接続、エンティティ／ノードとの経路（例えば、直接アクセスベクトル）、およびネットワークにおけるエンティティ／ノードの指向に関連する他の好適な情報など、ネットワークにおけるそれらの指向に関連するネットワークデータをさらに含む。
【０１２７】
いくつかの実施形態において、エンティティは、エンティティによって所有される個々のデータ（例えば、組織プロファイル、ソーシャルネットワークデータ、ネットワーク指向データなどに関連する異なるデータ項目）に対して特有の共有規則を定義できる。例えば、組織のプロフィールの一部は、（例えば、任意の人に利用可能な）パブリック共有規則を有することができ、一方、証明書または満了した証明書は、直接的な取引関係の（例えば、取引相手にのみ利用可能な）共有規則を有し得る。例示的な共有規則は、以下の通りである：
・パブリック−データは、インターネット上の任意の人に利用可能である。
・ネットワーク−データは、登録されたユーザー／組織の任意の人に利用可能である。システムにログインできるユーザアカウントを有する任意の者。
・直接的な取引接続−ソース組織が直接的な取引関係を有する組織内のユーザーにデータは利用可能である。彼らは、供給、消費、または供給および消費の両方のいずれかを行い、ソース組織とともに直接に消費を行う。
・顧客接続−データは、ソース組織の顧客である組織内のユーザーに利用可能である。
・供給者接続−データは、ソース組織の供給者である組織内のユーザーに利用可能である。
・潜在的な接続−（本明細書に詳述されるように）組織により所有される、原料とレシピとの間のマッチに基づいてソース組織が潜在的な接続（例えば、商品または製品の潜在的なフロー）を有する組織内のユーザーに、データは利用可能である。
・特定の組織−データは、組織の特定のリスト内から任意の人に利用可能である。組織は、ネットワーク上の全ての組織から選択され得る。
・プライベート−データは、データを所有する組織内のユーザーにのみ利用可能である。
【０１２８】
いくつかの実施形態において、セキュリティプラットフォーム７０６は、各ソースエンティティに対する（例えば、アクセス許可として格納される）これらの共有規則と、ソースエンティティとソースエンティティのデータを要求するユーザーとの間の関係とに基づいてアクセス許可決定を行う。エンティティ／組織間の関係は、ネットワークデータとして格納され得る。いくつかの例において、この関係は、どの招待が送信され受け入れられて取引関係を示したかによって定義され得る。例えば、顧客「Ｘ」は、それらに供給者として組織「Ｙ」が接続することを要求し得る。この招待が受け入れられる場合、供給者「Ｙ」は、「供給者にのみ見ることができる」と所有者「Ｘ」がマークしたデータに対する可視性を有する。
【０１２９】
いくつかの実施形態において、データ共有規則を解決し、ソースエンティティによって所有されるデータを取り出すためのユーザーの許可があるかどうかを決定すると、関係フィルタリング７１８は、データストレージ７０８からデータを取り出すために、「キー」を用いて、認証されるユーザーの代わりに（サービス７０２およびデータプラットフォーム７０４を介して）提出されるデータクエリ（例えば、ＳＱＬクエリ）を増大させる。次いで、増大されるクエリは、要求されるデータを取り出すためにデータストレージ７０８において実行され得る。ユーザーが、要求されるデータにアクセスすることを許可されないとデータストア７１８が決定するいくつかの実施形態において、当該データに対して関連する「キー」はクエリに追加されず、それゆえ、クエリがデータストア７１８において行われるとき、データは返されないであろう。
【０１３０】
いくつかの実施形態において、セキュリティプラットフォーム７０６は、「現在のログイン組織ＩＤ」にアクセスする。これは、認証されるユーザーに関連付けられた組織に基づいて、ログインプロセスによって、信頼されるストア７２０内に不変に格納され得る。取り扱いに慎重を要する情報（例えば、上記のセキュリティポリシー／共有規則のうちの１つによって保護される情報）を含むデータストレージ７０８内のテーブルは、レコードを「所有する」と考えられるエンティティ／組織の組織ＩＤによってそれらのレコードにキーをかけることができる。上記で開示したように、各エンティティ／組織化は、個々の組織へのアクセス、またはそれらに関連する「組織のクラス」へのアクセスを、特定の共有規則／アクセス許可（例えば、顧客、供給者など）に基づいて特定の方法で認めることができる。
【０１３１】
いくつかの実施形態において、データストレージ７０８においてネットワークデータを格納するテーブルは、関連した「セキュリティ記述子」を有するか、または（行がアクセス可能である場合）データへのアクセスを要求する組織がデータの行の所有者にどのように関連しなければならないかを示す規則のＸＭＬ表現を有する。例えば、ＸＭＬは、関連したデータテーブルのレコードに対する共有規則／アクセス許可を定義できる。セキュリティプラットフォーム７０６は、ＸＭＬ関係規則と「現在のログイン組織ＩＤ」とを用いて、組織のデータがアクセスされ得る可能性のある他の組織のセットを決定する。
【０１３２】
いくつかの実施形態において、関係フィルタリング７１８は、ＳＱＬにおいて（例えば、データプラットフォーム７０４によって）既に特定される任意のフィルタリングに追加的なWHERE節の修飾子が追加されるように、ＳＱＬアクセス文を修正する。この追加的な制限子は、（例えば、現在のログイン組織ＩＤとＸＭＬセキュリティ記述子とに従う）有効な組織ＩＤのセットを列挙でき、ＩＤの１つは、レコードがマッチされクエリの範囲内に含まれるように、データの行の組織キーにおいて存在しなければならない。
【０１３３】
いくつかの実施形態において、ＳＱＬ結果が受け取られた後であるが、それが呼び出しアプリケーションに返される前に、データ編集は、データ編集７１６によって行われる。例えば、WHEREキー修正プロセスは、ＳＱＬによってアクセスされる行を制限しているだろうが、これらの行の種々のフィールドは、セキュリティプロトコルを考慮することなく読み取られるだろう。いくつかの例において、データ所有者は、レコードへのアクセスを許可するが、レコード内の全てのフィールドへのアクセスを許可しないだろう。データ編集７１６は、そのようなシナリオに対処して列レベルデータを編集するために用いられ得る。
【０１３４】
いくつかの実施形態において、返される各レコードは、データ所有者によって現在の組織にアクセス可能であると承認されない任意のフィールドデータを除去するために、データ編集７１６によって後処理される。いくつかの実施形態において、行セット（例えば、返されるデータセット）は、キーフィルタリングおよび編集の後にのみ返されるだろう。
【０１３５】
一例として、要求する組織／アプリケーション／マイクロサービスは、制限されない「*」ＳＱＬ where節を用いてテーブルを読み取ることを試みることができる。次いで、セキュリティプラットフォーム７０６は、信頼されるストア７２０からの「現在のログイン中の組織ＩＤ」を用いて要求者を識別できる。次いで、セキュリティプラットフォーム７０６は、この組織へのアクセスを許可した他の組織のセットを計算できる。関係フィルタリング７１８は、追加的なWHERE修飾子をＳＱＬに追加して、このアクセスを許可しない組織によって所有されるデータをフィルタリングして除くことができる。それゆえ、そのような非制限ＳＱＬ文からの取り出しは、追加されるWHERE修飾子のために、はるかに安全なレコードセットを返すことになるだろう。
【０１３６】
いくつかの実施形態において、次いで、データ編集７１６は、取り出されるデータを分析して、要求者が閲覧することをレコードの所有する組織が許可していなかった任意のフィールドを除去できる。例えば、各レコードに対して、セキュリティプロトコル（例えば、アクセス許可／データ共有規則／セキュリティ記述子ファイル）は、要求する組織がレコードの所有者に関連して有する列レベルアクセスを決定するためにアクセスされ得る。要求する組織がデータへの列レベルアクセスを有さないと決定される場合、当該データは、結果セットから除去され得る。次いで、関係フィルタリングされ編集されるデータは、要求する組織に返され得る。いくつかの実施形態において、これは、レコードの空のセットであり得る。
【０１３７】
以下は、上述されたセキュリティ機能を行うためにセキュリティプラットフォーム７０６によって用いられるアクセス許可を定義する例示的なＸＭＬを表す：
【数３】
2021519958.tif 000006
2021519958.tif 000007
【０１３８】
いくつかの実施形態において、ユーザベースの機能的セキュリティルールは、ソース組織内で「誰」が「何」をできるかを制御する。彼らは、基礎をなすソース組織データに対して誰が何にアクセスできるかも制御できる。セキュリティテンプレートは、テンプレートが作成される時点で何の機能的セキュリティをユーザーが有するかを定義するために用いられる。管理者（十分な特権を有するユーザ）は、それがその組織内の所与のユーザーに対して許可されるか否か、またはそのユーザーから無効化されるか否かを、機能的セキュリティ設定によって制御できる。利用可能なセキュリティテンプレート、およびそれらの関連する特権は、以下の表１および表２において示される。例えば、３つのテンプレートが考慮され得る：管理者（Admin）−ユーザーと接続とそれらの組織に属する全てのデータとを管理することを含めて、組織を十分に管理することが可能であるユーザー；ユーザー編集者（User Editor）−ソーシャル投稿を行うこと、企業プロファイルを管理することなどによって寄与できるが、ユーザーおよび接続などを管理することなどの、セキュリティに関連する操作を行うことが可能でないユーザー；ユーザー読者（User Reader）−情報を閲覧し分析することのみが可能なユーザー。彼らは、いかなる変更も行うことができない。一般に、このユーザーは読み取り専用のユーザーである。
【表１】
2021519958.tif 000008
【表２】
2021519958.tif 000009
【０１３９】
いくつかの実施形態において、ソーシャルネットワークから取り出されるデータは、種々の機能的な目的に用いられ得る。例えば、経路（例えば、サプライチェーン）における組織の指向を示す１つまたは複数の可視化が生成され得る。図８は、例示的な実施形態に従う、ノードのネットワークのビューを構成するための例示的なグラフィカルユーザーインターフェースを示す。例えば、組織内のユーザーは、サプライチェーンの可視化を表示するためのダッシュボード８００を表示するように構成されるクライアント装置を操作し得る。可視化を生成するために取り出されるネットワークデータは、開示される１つまたは複数の機能を活用できる。例えば、可視化は、格納されるネットワークデータの事前計算バージョンから所与のノードに対して取り出されるベクトル（例えば、直接アクセスベクトル）に基づいて生成され得る。取り出されるネットワークデータは、所与のノードに関連してストレージセキュリティポリシーを管理する、関係フィルタリングとデータ編集機能とを用いて保護され得る。
【０１４０】
いくつかの実施形態において、ダッシュボード８００は、フィルタオプション８０２と、構成オプション８０４と、有効化８０６と、深さ８０８と、可視化オプション８１０と、属性８１２とを含むユーザーインターフェース要素（例えば、ウィジェット）を含み得る。例えば、フィルタオプション８０２は、組織データが可視化によって表示されるためのフィルタのタイプを決定するために用いられ得る。図示されるオプションは、国フィルタと、組織名フィルタと、購入される製品フィルタと、販売される製品フィルタと、満了した証明書フィルタと、原材料フィルタ（例えば、原料）と、製品ラインナップフィルタとを含む。
【０１４１】
図８は、「満了した証明書」が、選択されるフィルタである例を示す。構成オプション８０４は、選択されるフィルタの構成を可能にできる。示される実施形態において、フィルタは、「０」より多い満了した証明書を有するサプライチェーンにおけるエンティティを表示するように構成される。有効化８０６は、ユーザーがフィルタを有効または無効にすることを可能にする。
【０１４２】
深さ８０８は、ユーザーがサプライチェーンの深さを選択できるようにする（例えば、選択される深さ以下の距離を有するノード／エンティティ／組織を表示できるようする。ここで、距離は、ネットワークにおけるソースのノード／エンティティ／組織から離れるためのジャンプまたはホップの数である）。可視化オプション８１０は、ユーザーが、円グラフ、棒グラフ、ネットワークグラフ、テーブル、または世界地図などの可視化タイプを選択することを可能にする。図９は、例示的な実施形態に従う、ネットワークデータの円グラフの可視化を示す。図１０は、例示的な実施形態に従う、ネットワークデータのテーブルの可視化を示す。図１１は、例示的な実施形態に従う、ネットワークデータのネットワークグラフの可視化を示す。図１２〜１４は、例示的な実施形態に従う、サプライチェーンデータの世界ビューの可視化を示す。
【０１４３】
データ属性８１２は、いくつかの可視化によって用いられるデータ属性をユーザーが選択することを可能にする。例えば、図９の円グラフ９００は、国ごとに区分される円グラフを示す。ユーザーがサプライチェーンの可視化に対してデータをより広く眺めることを望む場合、図１０のデータテーブル１０００は、ネットワークデータのより大きな断面を提供する。図１１のネットワークグラフ１１００は、サプライチェーンに含まれる種々のリンクを表示する、ネットワークノードと、これらのネットワークノード間の接続との可視化を表す。
【０１４４】
図１２の世界ビューの可視化１２００は、ワールドマップ上に重ねられるサプライチェーンの接続を表す。この例において、ユーザーは、サプライチェーンにおける種々の地域リスクを示される。ユーザーは、サプライチェーンにおける点の１つを選択する（例えば、クリックまたはタッピングする）ことによって、サプライチェーン内のリンクに関するより粒度の高い情報をさらに要求できる。図１３の世界ビューの可視化１３００は、サプライチェーンにおけるリンクの選択時に表示される、ウィジェット１３０２と、概要１３０４と、指標１３０６とを含む。
【０１４５】
ウィジェット１３０２は、表示のための組織情報を選択するために用いられ得る。概要１３０４は、満了した証明書の数を含む、選択される組織の概要（例えば、表される可視化を生成するために用いられるフィルタ）を提供する。指標１３０６は、可視化を生成するために用いられる特定のフィルタに対する条件を示すことができる。示される実施形態において、選択される組織が満了した証明書を有しているため、指標１３０６は、赤いエクスクラメーションポイントを示す。いくつかの例において、組織が満了した証明書を有さない場合、緑のチェックが表示され得る。図４の可視化１４００は、同様に、サプライチェーンにおける異なる組織の概要を表示する、ウィジェット１４０２と概要１４０４とを含む。
【０１４６】
開示される種々の実施形態は、従来のデータ管理とセキュリティアプリケーションとに勝る多くの利点を有する。例えば、ドリップフィードデルタ処理とネットワークデータの事前計算されたバージョンとを含む実施形態は、ノードの大きなグラフを横断することに関連付けられた計算の複雑さを実質的に減少させることができる。少なくとも、生成される直接アクセスベクトルは、関係データベースに問い合わせることに対する効率的なソリューションを提供し、ネットワークデータを迅速かつ正確に取り出す。そのような効率性および高いアクセス可能性は、本明細書に開示される可視化などの、ネットワークシステムからのロバストなソフトウェアサービスの提供を可能にする。従来のデータ管理システムによって採られる、より煩雑で、より非効率的で、計算的に困難なアプローチは、これらの利益を達成し損なう。
【０１４７】
例えば、いくつかのデータスキーマの実施形態は、接続グラフネットワーク上で質問を表し回答するように設計される。しかしながら、これらの多くは、頻繁な読み取りおよび時おりの更新に対して最適化される。種々の実施形態において、ネットワークは、時々、新しい関係接続として頻繁な更新を受けることができ、取引される商品または製品は、参加している組織にわたって追加／更新される。開示されるドリップフィードデルタ処理は、そのような環境において技術的な利点を提供する。
【０１４８】
別の代替案は、関係ネットワーク接続テーブルの単純なオンデマンドの再帰であり得る。そのような単純なシステムを活用する従来のアプローチは、頻繁な更新を処理できるが、格納されるデータによって表されるグラフを横断することは、計算上困難であり得る。ドリップフィードデルタ処理ソリューション、およびネットワークデータの事前計算されたバージョンは、頻繁な更新が存在しても効率的な横断を提供でき、この効率的な横断は、これらの従来の技法に勝って性能の利点を生み出す。
【０１４９】
加えて、信頼されるストアとデータセキュリティポリシーとを含む実施形態は、サプライチェーンにおける異なる組織間で、またはいくつかの例において、サプライチェーンに追加され得る潜在的な組織間で、プライベートデータ、取り扱いに慎重を要するデータ、または機密データをノードのネットワークが格納し共有できることを保証する。特に、セキュリティサブシステムを介してデータ要求を流すこと、ならびにセキュリティサブシステムと信頼されるストアとによって達成される、関係フィルタリングおよびデータ編集は、いかなるユーザーまたは組織も、彼らが閲覧、更新または削除する許可を有さないデータへアクセスできないことを保証する。
【０１５０】
例えば、従来のロールベースのセキュリティメカニズムは、しばしば、アクセスを受信するユーザーまたはユーザグループの固定リストを用いてデータアクセスが認められることを前提とする。実施形態は、「データ所有者とデータ消費者との関係」に基づいてアクセスを提供する。例えば、ある１つのデータへのアクセスが組織の「顧客」に対して認められるとき、取引関係が更新されるにつれて、「顧客」カテゴリに分類される組織は、流動的に変化し得るので、その１つのデータへのアクセスが認められる組織は、流動的に変化し得る。実施形態は、そのような変化が存在する場合におけるデータ取り出しを効率的かつ効果的に保護できる許可ポリシーを提供する。加えて、旧来のセキュリティも、しばしばレコードキーベースである。実施形態は、レコードの各フィールド上で独立してセキュリティが設定される、より細かい粒度を含む。
【０１５１】
図１５は、例示的な実施形態に従う、デルタ処理を用いてノードのネットワークを管理するための例示的な方法を示す。ある実施形態において、図１５および図１６の以下の機能は、メモリまたは他のコンピュータ読み取り可能な媒体または有形の媒体に格納されるソフトウェアによって実現され、プロセッサによって実行される。他の実施形態において、各機能は、（例えば、特定用途向け集積回路（「ＡＳＩＣ：application specific integrated circuit」）、プログラマブルゲートアレイ（「ＰＧＡ：programmable gate array」）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ：field programmable gate array」）などの使用を通じて）ハードウェアにより、またはハードウェアとソフトウェアとの任意の組み合わせによって行われ得る。
【０１５２】
１５０２において、複数の接続されるノードを有するネットワークは格納され、ノードがネットワークのエンティティを表す。例えば、接続されるノードのネットワークは、関係データテーブル上にマッピングされ得る。実施形態において、ネットワークは、有向グラフによって表されるソーシャルネットワークであり得る。
【０１５３】
１５０４において、複数のノード間の接続に対する更新を示す、ネットワークに対する１つまたは複数のデルタが受信され得る。例えば、ネットワーク情報に対する更新は、ネットワークのエンティティに関連付けられ認証されるユーザーから受信されることができ、１つまたは複数のデルタは、更新に基づいて生成され得る。１５０６において、デルタは、キューに追加され得る。１５０８において、ネットワークのノード間の接続は、キューからのデルタを用いて更新され得る。例えば、キューは、ＦＩＦＯキューであり得、キューの先頭のデルタは、ネットワークを更新するために処理され得る。
【０１５４】
１５１０において、ネットワークは、所与のノードに対してベクトルを生成するためにノード間の接続を更新した後に処理され得る。例えば、ネットワークに対する推移閉包は、ネットワークを更新した後に決定されることができ、推移閉包は、ネットワークにおける各ノードに対して直接アクセスベクトルを生成するために用いられ得る。
【０１５５】
いくつかの実施形態において、ドリップフィードデルタ処理は、ネットワークデータの事前計算されたバージョンを１セットの関係データテーブルに格納することを含み得る。この事前計算されたバージョンは、例えばデータテーブルに格納される事前計算されたネットワークデータに基づいて、ネットワークの効率的な横断を提供できる。いくつかの実施形態において、ネットワークを処理することは、ネットワークデータの事前計算されたバージョンを格納するデータテーブルのうちの１つまたは複数におけるデータを更新することを含み得る。いくつかの実施形態において、ネットワークデータの事前計算されたバージョンは、データテーブルに問い合わせることによって取り出され得るネットワークのノードに対する直接アクセスベクトルを提供する。直接アクセスベクトルは、所与のノードとの接続を含む接続されるノードと、所与のノードおよび少なくとも１つの接続されるノードを含む経路の一部である間接的なノードとを示すことができる。
【０１５６】
１５１２において、所与のノードに対する１つまたは複数の経路は、生成されるベクトルに基づいて識別され得る。例えば、関係データテーブルは、所与のノードに対する経路情報を返すために直接アクセスベクトルを用いて問い合わされ得る。実施形態において、ネットワークのノード間のリンクを更新すると、所与のノードを含む識別される経路が作成され得る。
【０１５７】
実施形態において、１つまたは複数の部分と、複数の部分を含む１つまたは複数の手順とがネットワークのノードに対して定義されることができ、ネットワークの２つのノード間の接続は、２つのノードのうちの第２のノードに対して定義される部分にマッチする、２つのノードのうちの第１のノードに対して定義される手順の間の対応に基づき得る。例えば、手順はレシピであり得、部分は、レシピに対する原料であり得る。実施形態において、エンティティは、供給者および顧客を含むことができ、接続は、エンティティ間のトランザクションを表すことができる。例えば、識別される経路は、少なくとも１つの商品または製品に対してサプライチェーンを表すことができる。実施形態において、推移閉包は、接続されるノードに対する手順と部分との間の対応に基づく、ネットワークの接続を用いて決定され得る。
【０１５８】
図１６は、例示的な実施形態に従う、ノードのネットワークに対する安全なデータ管理を提供するための例示的な方法を示す。１６０２において、複数の接続されるノードを含むネットワークが格納され、ノードは、ネットワークのエンティティを表す。例えば、接続されるノードのネットワークは、関係データテーブル上にマッピングされ得る。実施形態において、ネットワークは、有向グラフによって表されるソーシャルネットワークであり得る。
【０１５９】
１６０４において、要求は、ネットワークの第２のノードに関するデータを取り出すために第１のノードから受信され得る。例えば、要求は、第１のノードによって表されるエンティティの承認されるユーザーから受信され得る。１６０６において、クエリは、要求されるデータを取り出すために生成され得る。
【０１６０】
１６０８において、クエリは、信頼されるストアに格納される第１のノードに対する許可に基づいてフィルタリングされ得る。例えば、クエリは、信頼されるストアに格納される第２のノードに関連している第１のノードに対する許可に基づいて、要求されるデータを取り出すために用いられるキーで増大され得る。
【０１６１】
いくつかの実施形態において、関係データテーブルの１つまたは複数へのアクセスを定義する許可ファイルが格納され、アクセス許可は、レコードを所有する所有者ノードと、所有者ノードおよびアクセスを要求するノードの間の関係とに基づいて、関係データテーブルにおけるレコードごとに定義される。信頼されるストアは、ネットワークのノードに対して複数のキーを不変に格納できる。いくつかの実施形態において、信頼されるストアに格納される第１のノードに対する許可に基づいてクエリをフィルタリングすることは、信頼されるストアからキーのリストを取り出すために許可ファイルにアクセスすることを含み、キーのリストは、第１のノードとノードのサブセットとの間の関係に従う第１のノードによるアクセスに対して許可されるノードのサブセットに対するものである。クエリを増大させることは、キーのリストをクエリに追加することを含むことができ、キーのリストが、保護されるレコードに対応するキーを含むとき、クエリによって要求される関係データテーブル内の保護されるレコードは取り出される。
【０１６２】
実施形態において、認証されるユーザーは、第１のノードに接続されるノードに対して少なくともいくつかのデータを閲覧するための許可を有し、第１のノードは、第２のノードに接続される。実施形態において、認証されるユーザーは、第１のノードとの経路を備えるノードに対して少なくともいくつかのデータを閲覧するための許可を有し、第１のノードは、第２のノードとの経路上にある。
【０１６３】
１６１０において、フィールドは、フィルタリングされるクエリの結果から、第１のノードに対する許可に基づいて編集され得る。例えば、許可ファイルは、返されるレコードの所有者に関連して第１のノードが何のアクセス許可を有するかを決定するためにアクセスされ得る。第１のノードがアクセスできないと決定された任意の列レベルデータは、クエリ結果を返す前に削除され得る。１６１２において、編集された結果は、第１のノードに提供され得る。
【０１６４】
実施形態において、ノードによって表されるエンティティは、供給者および顧客であり得、ノード間の経路は、１つまたは複数の製品に対してサプライチェーンネットワークを表し得る。例えば、認証されるユーザーは、第１のノードを含むか、第１のノードへの供給者を含むか、または第１のノードの顧客を含むサプライチェーンネットワークにアクセスするための許可を有し得る。
【０１６５】
実施形態は、ノードのネットワークに対するデータ処理を管理する。例示的なネットワークは、ノード間に複数の接続を有する複数のノードを含み得る。いくつかの実施形態において、ネットワークは、種々の程度の情報共有を有するソーシャルネットワークであり得る。時々、以前には接続されていなかった２つのノード間で新しい接続が生成され得るか、または以前には接続されていたノード間で接続が切断され得る。１つまたは複数の経路は、ネットワークの現在の構成（例えば、ノード間の現在の接続）に基づいて識別され得る。例えば、経路は、第１のノードにおいて開始し、第５のノードで終了する前に、第２、第３、および第４のノードを通って進行し得る。そのような識別される経路は、パターン、傾向もしくはリスクを識別すること、予測を行うこと、または他の分析目的（すなわち、ネットワーク内のノードと特定の実施形態とに依存する）のために有用であり得る。
【０１６６】
しかしながら、これらのネットワークの動的な性質は、リスクと計算の課題とをもたらす。例えば、ソーシャルネットワークは、しばしば変化し、新しいノード接続を構築し、古いノードを切り離している。それゆえ、ノード間の経路の識別は、計算上煩雑であり得る。本明細書においてさらに詳述されるように、実施形態は、ドリップフィードデルタ処理を活用して、ノード接続に対して動的な更新機能を維持しながら計算効率を達成するネットワークを管理する。
【０１６７】
いくつかの実施形態において、ネットワークのエンティティ（例えば、ノード）は、システムと対話する承認されるユーザーを有し得る。例えば、承認されるユーザーは、エンティティに対するプロファイルを編集し、ネットワークの他のエンティティへメッセージを送信し、他のエンティティとの関係を変更し、ネットワークのエンティティに関連するデータを取り出し、ネットワーク分析と他の好適な機能とを行うことができる。しかしながら、いくつかの実施形態において、１つまたは複数のエンティティに対する機密情報または取り扱いに慎重を要する情報は、ネットワークに関連して（例えば、データストアにおいて）格納され得る。例えば、ソーシャルネットワークにおいて、システムは、他のエンティティのサブセットと共有され得るが、残りのエンティティと共有され得ない、第１のエンティティに対して取り扱いに慎重を要する情報を格納し得る。他の例において、取り扱いに慎重を要する情報は、プライベートにマークされてもよく、それゆえ、ソーシャルネットワークの任意の他のエンティティと共有されなくてもよい。
【０１６８】
いくつかの実施形態において、システムは、ネットワークのエンティティに対する安全なデータ取り出しを提供できる。例えば、セキュリティサブシステムは、何の情報をユーザーが取り出すことができるかを決定する承認されるユーザーに対する１つまたは複数の許可を維持できる。セキュリティサブシステムに基づいて、データ取り出し要求は、承認されるユーザーが確立される許可に従った情報のみを提供されることを保証するためにフィルタリングされ得る。例えば、関係フィルタリングは、データストア上で検索を行う前に許可に従って、生成されるクエリをフィルタリングために用いられ得る。別の例において、データ編集は、承認されるユーザーにデータを提供する前に、データを編集するための許可に従って、クエリによって取り出されるデータ上で行われ得る。セキュリティサブシステム、関係フィルタリング、およびデータ編集は、ネットワークのエンティティに対して、取り扱いに慎重を要するデータまたは機密データの安全なデータ管理を保証するために用いられ得る。
【０１６９】
本明細書にわたって説明される本開示の特徴、構造または特性は、１つまたは複数の実施形態において任意の好適な手法で組み合わされ得る。例えば、本明細書全体を通して、「ある実施形態」、「いくつかの実施形態」、「特定の実施形態（certain embodiment）」、「特定の実施形態（certain embodiments）」、または他の同様の言葉の使用は、実施形態に関係して説明される特定の特徴、構造または特性が、本開示の少なくとも１つの実施形態に含まれ得るという事実を指す。それゆえ、本明細書全体を通して、「ある実施形態」、「いくつかの実施形態」、「特定の実施形態（certain embodiment）」、「特定の実施形態（certain embodiments）」という言い回し、または他の同様の言葉が現れることは、必ずしも全て実施形態の同じグループを指すとは限らず、説明される特徴、構造または特性は、１つまたは複数の実施形態において任意の好適な方法で組み合わされ得る。
【０１７０】
当業者は、上述される実施形態が、異なる順番のステップで、および／または開示される構成とは異なる構成における要素を伴って実施され得ることを容易に理解するであろう。そのため、本開示は、概説された実施形態を考慮するが、本開示の主旨および範囲にとどまりながら、特定の修正、変形および代替的な構成が明らかであることが当業者には明白であろう。それゆえ、本開示の境界および範囲を決定するために、添付される請求の範囲を参照するべきである。
【図１】
2021519958.tif 000010
【図２】
2021519958.tif 000011
【図３】
2021519958.tif 000012
【図４】
2021519958.tif 000013
【図５】
2021519958.tif 000014
【図６】
2021519958.tif 000015
【図７】
2021519958.tif 000016
【図８】
2021519958.tif 000017
【図９】
2021519958.tif 000018
【図１０】
2021519958.tif 000019
【図１１】
2021519958.tif 000020
【図１２】
2021519958.tif 000021
【図１３】
2021519958.tif 000022
【図１４】
2021519958.tif 000023
【図１５】
2021519958.tif 000024
【図１６】
2021519958.tif 000025
【国際調査報告】
2021519958.tif 000026
2021519958.tif 000027
2021519958.tif 000028