JP7494256B2 - ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法 - Google Patents

ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法 Download PDF

Info

Publication number
JP7494256B2
JP7494256B2 JP2022129919A JP2022129919A JP7494256B2 JP 7494256 B2 JP7494256 B2 JP 7494256B2 JP 2022129919 A JP2022129919 A JP 2022129919A JP 2022129919 A JP2022129919 A JP 2022129919A JP 7494256 B2 JP7494256 B2 JP 7494256B2
Authority
JP
Japan
Prior art keywords
node
topology
network
data set
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022129919A
Other languages
English (en)
Other versions
JP2022159468A (ja
Inventor
モティリンスキ,パトリック
ヴィンセント,ステファヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2022159468A publication Critical patent/JP2022159468A/ja
Application granted granted Critical
Publication of JP7494256B2 publication Critical patent/JP7494256B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/025Updating only a limited number of routers, e.g. fish-eye update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Description

本発明は、概して、システムトポロジを更新するシステムトポロジ及び方法に関し、特に、変化するピアツーピア(P2P)システムトポロジ及び変化するP2Pシステムトポロジを更新する方法に関する。本発明は、具体的に、限定ではないが、分散型システム及びトランザクション及び/又はブロックチェーンを実装するために該分散型システムを用いる方法に適する。
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、限定ではないが、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装される総意に基づく電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタルアセットの制御の転送を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション(UTXO)に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信した第1ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新しいブロックに追加し、iii)マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステム、及びブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動タスク及びプロセスのために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散プロセス、等)を利用できる。
現在の研究の一分野は、「スマートコントラクト(smart contracts)」の実装のためのブロックチェーンの使用である。これらは、機械可読取引又は合意の条件の実行を自動化するために設計されたコンピュータプログラムである。自然言語で記述され得る従来の取引と異なり、スマートコントラクトは、結果を生成するためにインプットを処理できるルールを含み、該結果に依存して動作を実行させることのできる、機械実行可能プログラムである。
ブロックチェーンに関連する関心の他の分野は、ブロックチェーンを介する現実世界のエンティティの表現及び転送のための「トークン」(又は「カラードコイン」)の使用である。潜在的に機密な又は秘密のアイテムは、識別可能な意味又は値を有しないトークンにより表現できる。したがって、トークンは、現実世界のアイテムをブロックチェーンから参照できるようにする識別子として機能する。
ネットワーク内の接続及びルーティングを管理するための、様々な従来の方法が知られている。このような従来の方法の例は以下に簡単に記載される。
US2014286344は、ネットワーク内の分散型接続確立及び復旧に関する。接続制約は、ネットワーク上の転送を制御するために使用されるルーティングプロトコルの拡張を用いて送付される。ノードは、トポロジ及び接続データベースを維持し、制約に基づき接続のルートを計算する。ノードは、接続のために計算したルート上にある場合、該接続について転送状態をインストールする。各ノードはネットワークトポロジの一貫したビューを有し、接続に関連付けられた制約を与えられているので、ネットワークにある各ノードは、接続について同じルートを計算する。障害が生じると、ノードは、ネットワーク全体に渡る優先度に基づき接続の復旧パスを計算して、復旧パスがシグナリングされることなく、影響を受けた接続のために復旧パスが生成されるようにする。タイムスタンプは、イベントが到着する順序に関係なく、一貫した順序でノードにより提供されることを可能にするために使用される。
EP0752795は、通信ネットワーク内のリンク予約に関する。通信ネットワーク内の接続を設定し、削除し、及び更新する分散型手段が記載される。これは障害が存在するとき、ロバストである。より具体的には、接続のためのパスが計算され、予約要求が、別個のチャネルを通じて、該接続のためのパスのノードのセットの各々へ予約のために同時に送信されて、接続のためにリソースが利用可能かどうかを決定する。接続のためのリンクが利用可能であり及び予約されていることを確認すると、設定メッセージが宛先ノードに到達するまで、設定メッセージが隣接ノード間でバスに沿って順次送信される。各ノードにおける切り替えは、次に、設定メッセージに応答して、接続を確立するために、それら自体を構成する。
US2004170151は、動的ネットワーク及び動的ネットワークのためのルーティング方法に関する。ルーティング情報がネットワークのノード内のローカルルーティングテーブルに格納されるという条件で、複数のノードを有する動的ネットワークが記載される。ノードは、ローカルルーティングテーブルを更新するために更新要求を他のノードへ送信し、アドレス指定されたノードは、更新されたルーティング情報を有する更新応答を要求側ノードへ送信する。
システムトポロジに伴う課題は、例えば新しいノード又はピアがシステムに参加したことにより、及び/又はノード又はピアが動作状態を離れ及び戻ることにより、トポロジ変化が生じるとき、システムが効果的且つ高速に機能する状態に維持されることを保証することである。
したがって、可能な目的の中でも特に、トポロジの変化が効率的及び/又は迅速に検出される、システムトポロジ及び/又はシステムトポロジを更新する方法を含むソリューションを提供することが望ましい。
したがって、可能な目的の中でも特に、システム内でトポロジの変化が効率的及び/又は迅速に通信される、システムトポロジ及び/又はシステムトポロジを更新する方法を含むソリューションを提供することが望ましい。
したがって、可能な目的の中でも特に、トポロジの変化がネットワークを通じて一貫して及び/又は効率的に及び/又は迅速に更新される、システムトポロジ及び/又はシステムトポロジを更新する方法を含むソリューションを提供することが望ましい。
このような改良されたソリューションが考案される。本発明は、添付の請求項において及び/又は本発明の説明において定められる。
本発明の第1の態様によると、ネットワークトポロジのネットワークの認識を更新する方法であって、当該方法は、
(a)ネットワークのトポロジの変化を組み込んだトポロジデータセットが、前記ネットワーク内の第1ノードにより受信されるステップであって、前記トポロジデータセットは時間指示に関連付けられる、ステップと、
(b)前記第1ノードが、時間指示に関連付けられたトポロジデータセットを有するステップと、
を含み、前記第1ノードにより受信された前記トポロジデータセットの前記時間指示が前記第1ノードのトポロジデータセットの時間指示より新しい場合、前記第1ノードのトポロジデータセットは前記第1ノードにより受信された前記トポロジデータセットにより更新される、方法が提供される。
前記方法は、特にステップ(b)の後に、前記第1ノードが、前記ネットワークへ、更新した第1ノードトポロジデータセットを送信すること、を更に提供し得る。より望ましくは、前記方法は、特にステップ(b)の後に、第2ノードトポロジデータセットが前記第1ノードトポロジデータセットへの更新をもたらすとき、前記第1ノードが、前記ネットワークへ、前記更新した第1ノードトポロジデータセットを送信するステップ、を更に提供し得る。
前記方法は、前記第1ノードは隣接ノードを有し、前記隣接ノードは、前記第1ノードの所与の隣接指標の範囲内にあるノードであることを提供し得る、並びに、前記第1ノードは近隣ノードを有し、前記近隣ノードは、前記第1ノードの前記所与の隣接指標の外側且つ前記第1ノードの所与の近隣指標の範囲内にあるノードである、ことを提供し得る。前記方法は、前記第1ノードは、前記更新された第1ノードトポロジデータセットを、隣接ノード及び近隣ノードのみへ送信する、ことを更に提供し得る。
前記第1ノードにより受信された前記トポロジデータセットに関連付けられた前記時間指示は、前記トポロジデータセットが提供されたノードにより生成される。前記時間指示は、前記トポロジデータセットが提供されたノードによりトポロジデータセットに関連付けられたタイムスタンプであってよい。前記時間指示は、前記第2ノードによる前記ネットワーク内の変化の検出時間、又は、より望ましくは、ネットワーク内の変化を第1ノードへ第2ノードにより送信する時間の時間指示であってよい。前記時間指示は、前記トポロジデータセットを提供するノードの時間ベクトルクロックにより提供されてよい。
前記方法は、前記第1ノードのトポロジデータセットが、以下:
(a)前記第1ノードのトポロジデータセット内にリストされたノード間の1つ以上のリンクの動作状態を変更する、
(b)前記第1ノードのトポロジデータセット内にリストされないノード間の1つ以上のリンクを追加する、
(c)前記第1ノードのトポロジデータセット内にリストされたノード間の1つ以上のリンクを削除する、
のうちの1つ以上により更新される、ことを更に提供し得る。
前記方法は、前記第1ノードトポロジデータが更新される条件が、前記ネットワーク内のノードから受信された前記トポロジデータセットが、前記第1ノードのトポロジデータセット内にない1つ以上のリンクを含むことであることを更に提供し得る。前記方法は、更なる条件が、前記第1ノードのトポロジデータセットが、前記ノードの所与の指標の範囲内にある前記ネットワーク内のノードから受信した前記トポロジデータセット内のこのようなリンクに関してのみ更新されることである、ことを更に提供し得る。
前記方法は、前記ネットワークの前記トポロジの変化を組み込んでいるトポロジデータセットが、前記ネットワーク内の第2ノードにより、前記ネットワーク内のイベントの検出に起因して提供されることを更に提供し得る。前記イベントは、前記ネットワーク内のノードにより前記第2ノードへ送信されたメッセージの中断により検出され得る。前記イベントの検出は、前記第2ノードの前記トポロジデータセットの変化を生じ得る。前記第2ノードの前記トポロジデータセットの変化は、前記第2ノードが前記トポロジデータセットの変化を前記ネットワーク内の少なくとも前記第1ノードへ送信することを提供し得る。
前記方法は、望ましくはステップ(a)と(b)との間に、複数のトポロジデータセットをそれらのそれぞれの時間指示に従い順序付けるステップを更に有し得る。前記複数のトポロジデータセットのうちの1つは、前記第1ノードのトポロジデータセットであってよく、前記複数のトポロジデータセットのうちの別の1つは、前記第2ノードのトポロジデータセットである可能性がある。前記複数のトポロジデータセットのうちの1つは、第3ノードからのトポロジデータセットであってよく、望ましくは、前記複数のトポロジデータセットのうちの他のものは、更なるノードからである。順序付ける前記ステップは、前記複数のトポロジデータセットのうちのどれが、前記前記複数のトポロジデータセットのうち最近のものであるかを確立してよい。
前記方法は、前記複数のトポロジデータセットのうちの最近のものが、前記第1ノードのトポロジデータセットを更新するために使用されることを更に提供し得る。前記方法は、最近の時間指示に関連付けられないトポロジデータセットが使用されない又は廃棄されることを更に提供し得る。
前記更新された第1ノードのトポロジデータセットは、前の第1ノードのトポロジデータセットを置き換えてよい。
ネットワークのトポロジのネットワークの認識を更新する方法は、さらに、前記ネットワーク内の接続を最適化する及び/又は前記ネットワーク内の一貫したデータ分配を最適化する方法であってよい。
本発明の第2の態様によると、本発明の第1の態様の方法を実行するよう構成される、場合によっては本願明細書の他の場所に記載される機能、オプション、及び可能性のうちの任意のものを実行するよう構成されるシステムを含む、コンピュータにより実装されるシステムが提供される。
前記コンピュータにより実装されるシステムは、前記ネットワークの前記トポロジの変化を検出するための検出部を含み得る。前記検出部は、1つ以上のノード及び/又は1つ以上のリンクに影響する変化を検出してよい。前記検出部は、例えば第1状態から第2状態への及び/又は第2状態から第1状態への、及び/又は1つ以上の他の状態を含んでよい、状態の1つ以上の変化を検出してよい。
前記コンピュータにより実装されるシステムは、特に更新されたトポロジデータセットを含むメッセージに関して、前記ネットワーク内で通信される更新されたトポロジデータセットをソートする更新ソート部を含んでよい。更新ソート部は、メッセージが正しいシーケンス若しくは順序又は生成時間で考慮されるように提供されてよい。
前記コンピュータにより実装されるシステムは、トポロジデータセットが前記ネットワーク内の他のノードからのトポロジデータセットにより更新されるように、トポロジデータセットを処理するトポロジデータセット処理部を含み得る。
前記コンピュータにより実装されるシステムは、前記ネットワークの前記トポロジの変化の認識が前記ネットワーク内で共有されるように、更新されたトポロジデータセットのためのトポロジ更新通信部を含み得る。トポロジデータセット処理部は、更なるノードのトポロジデータセットからのデータに従い、ノードのトポロジデータセットの更新を提供し得る。
本発明の第3の態様によると、ノードのネットワーク内の構成であって、前記ネットワークのトポロジの変化に関して前記ネットワークを更新し、前記構成は、前記ネットワークの前記トポロジの変化の検出のための検出部、及び/又は、前記ネットワーク内で通信された更新されたトポロジデータセットをソートする更新ソート部、及び/又は、トポロジデータセットの処理のためのトポロジデータセット処理部と、及び/又は、前記ネットワークの前記トポロジの変化の認識が前記ネットワーク内で共有されるようにする、更新されたトポロジデータセットのためのトポロジ更新通信部、を含む構成が提供される。
前記検出部は、1つ以上のノード及び/又は1つ以上のリンクに影響する変化を検出してよい。前記検出部は、例えば第1状態から第2状態への及び/又は第2状態から第1状態への、及び/又は1つ以上の他の状態を含んでよい、状態の1つ以上の変化を検出してよい。
前記更新ソート部は、更新されたトポロジデータセットを含むメッセージを提供されてよい。更新ソート部は、メッセージが正しいシーケンス若しくは順序又は生成時間で考慮されるように提供されてよい。
トポロジデータセットの処理のためのトポロジデータセット処理部は、前記ネットワーク内の他のノードからのトポロジデータセットにより更新されるトポロジデータセットのためであってよい。
前記トポロジデータセット処理部は、更なるノードのトポロジデータセットからのデータに従い、ノードのトポロジデータセットの更新を提供し得る。
したがって、本発明によると、以下の中から、オプション、可能性、及び特徴が提供され又は更に提供されてよい。
前記ネットワークは、ノードの分散型システムであってよい。前記分散型システムは、クライアント及び/又はサーバ及び/又はピアの形式で1つ以上のノードを含み得る。
ノードは、アクティブ電子装置又はデータ通信機器であってよい。ノードは、特に、ルータ及び/又はワークステーション及び/又はサーバ及び/又はホストコンピュータであってよい。ノードは、例えばネットワーク内で情報を生成し及び/又は受信し及び/又は1つ以上の他のノードへ送信することが可能な場所であってよい。
1つ以上の又は全部のノードはピアであってよい。2つ以上の又は全部のノードは、例えば特権又は能力又は機能の観点で、前記ネットワーク内の等価な参加者であってよい。
前記ネットワーク内のノードは、ノードの集合と考えられてよい。
ノードは、1つ以上のリンクにより接続されてよい。ノードは、1つ以上のリンクにより別のノードに接続されてよい。1つ以上の又は全部のリンクはエッジであってよい。
2つのノードの間の距離は、該ノードの間のリンクの和であってよく、望ましくは、最小数のリンクが該ノードの間の接続を提供する。前記距離はホップであってよい。前記距離は、リンク数であってよい。例えば、直接リンクされたノードは値1のホップを有し、及び/又は間接的にリンクされたノードは値>/=2のホップを有する。距離又はホップはd(i,j)として定められてよく、ここで、dはノードiとノードjとの間の距離である。
ノードは、限られた数のリンク、望ましくは単一のリンクが接続を提供するとき、別のノードに直接接続されてよい。ノードは、1つ以上の他のノードに直接接続されてよい。望ましくは、ノードに直接接続されたノードは、隣接ノードと見なされるノードに接続される。望ましくは、ノードに直接接続された他のノードの全部は、該ノードの隣接ノードである。隣接ノードは次のように定義されてよい:adj(i)={j∈V:d(i,j)=radj}、ここで、iは検討中のノードであり、jはノードの集合Vの中の隣接ノード数であり、radjは所与の隣接指標である。
所与の隣接指標は隣接半径であってよい。所与の隣接指標は、リンクの数、例えば1リンクであってよい。
ノードは、1リンクより多くのリンク数が接続を提供するとき、更なるノードに間接接続されてよい。望ましくは、ノードが更なるノードに、隣接ノード及び/又は更なるノードのような1つ以上の中間ノードを経由して接続されるとき、又は該ノードが直列の2つ以上のリンクを経由して該更なるノードに接続されるとき、該ノードは該更なるノードに間接接続される。ノードは、前記ネットワーク内の前記更なるノードのうちの1つ以上又は全部に間接接続されてよい。望ましくは、前記ノードの所与の近隣指標の範囲内にある、隣接ノードではない前記更なるノードは、該ノードの近隣ノードである。前記ノードの所与の近隣指標の外側にある前記更なるノードは、望ましくは、隣接ノードでも近隣ノードでもない。前記ノードの所与の近隣指標の外側にあり、隣接ノードでも近隣ノードでもない前記更なるノードは、望ましくは、依然としてノードの集合の部分である。前記近隣ノードは次のように定められてよい:N(i)={j∈V:d(i,j)=H,adj(i)⊆N(i)}、ここで、iは検討中のノードであり、jはノードiとノードjとの間の距離d(i,j)の範囲内にある集合V内の近隣ノードの数であり、adj(i)はノードiの隣接ノードであり、Hは所与の近隣指標である。
所与の隣接指標は隣接半径であってよい。所与の隣接指標は、下限値及び上限値であってよい。所与の近隣指標は、例えば2リンクのような共通の下限及び上限値を有するリンク数であってよい。所与の近隣指標は、望ましくは所与の隣接指標より大きい。
ノードは、ノードの集合の部分であり、1つ以上の隣接ノード及び1つ以上の近隣ノードを有してよい。ノードの集合からの別のノードは、前記ノードと共通の1つ以上又は全部の隣接ノードを有してよく、又は前記ノードと共通の隣接ノードを有しなくてよい。前記別のノードは、前記ノードと共通の1つ以上又は全部の近隣ノードを有してよく、又は前記ノードと共通の近隣ノードを有しなくてよい。
前記ネットワークのトポロジの変化のための検出部及び/又は検出が提供され得る。1つ以上のノード及び/又は1つ以上のリンクに影響する変化のための検出部及び/又は検出が提供され得る。前記1つ以上の変化は、例えば第1状態から第2状態への及び/又は第2状態から第1状態への、及び/又は1つ以上の他の状態を含んでよい、状態の変化であってよい。
ノードは、第1状態及び第2状態を有してよく、前記第2状態は前記第1状態と比べて特性の変化を表す。前記特性の変化は、前記ノードがノードの前記集合及び/又は前記ネットワークに加わることであってよい。前記特性の変化は、前記ノードがノードの前記集合及び/又は前記ネットワークに再び加わることであってよい。前記特性の変化は、前記ノードがノードの前記集合及び/又はネットワークの中のノードとして機能し始める又は再び機能し始めることであってよい。前記特性の変化は、前記ノードがノードの前記集合及び/又はネットワークを離れることであってよい。前記特性の変化は、前記ノードがノードの前記集合及び/又はネットワークの中のノードとして機能することを停止することであってよい。
望ましくは、ノードと該ノードに直接接続された更なるノードとの間のリンクは、第1状態及び第2状態を有し、前記第2状態は前記第1状態と比べて特性変化を表す。特性の変化は、リンクの出現又はリンクへのアクセスであってよい。特性の変化は、リンクの再出現又はリンクへの更新されたアクセスであってよい。特性の変化は、リンクの消失又はリンクへのアクセスの損失であってよい。
特性の変化は、直接検出されてよい。望ましくは、特性の変化は、例えばテストメッセージを用いて間接的に検出される。テストメッセージは、あるノードから他のノードへ送信されてよい。テストメッセージは、リンクに沿って送信されてよい。テストメッセージは、望ましくは繰り返し、望ましくは定期的に送信される。テストメッセージは、所与の時間期間内に少なくとも1回、及び望ましくは該時間期間の任意の所与の繰り返しの中で少なくとも1回、送信されてよい。時間期間は、ノード内のクロック機能により制御され又はノードに関連付けられてよい。
ノードによる他のノードからのテストメッセージの受信の欠如は、該他のノード及び/又はその間のリンクが特性の変化を経験していることを示してよい。特に、受信の欠如は、前記他のノードが前記ネットワークを離れたこと及び/又はリンクが消失したことを示してよい。望ましくは、受信の欠如は、前記他のノードが機能停止したこと及び/又はリンクが機能停止したことを示す。望ましくは、受信の欠如は、時間期間に関して考慮される。望ましくは、時間期間は、テストメッセージが繰り返される時間期間より長い期間である。各ノードは、テストメッセージの受信が期待される時間期間を定めるために、タイマを、望ましくはリンク毎に別個の1つ維持してよい。
ノードの状態変化の検出は、ノードのトポロジデータセットに対する変化を生成し得る。第1状態から第2状態への変化の検出は、ノードのトポロジデータセットに対する変化を生成し得る。第2状態から第1状態への変化の検出は、ノードのトポロジデータセットに対する変化を生成し得る。
第1状態であって、ノードがネットワークに参加している又は機能している及び/又はリンクがアクセス可能な又は機能している、第1状態から、第2状態であって、ネットワークに参加していない又は機能していないる及び/又はリンクがアクセス可能でない又は機能していない、第2状態への変化の検出は、ノードのトポロジデータセットに変化を生じ得る。
ノードのトポロジデータセットの変化は、ノードの状態又はリンクの変化であってよい。状態の変化は、アクティブ状態又は生きている状態又は接続状態から、非アクティブ状態又は死んでいる状態又は切断状態への変化であってよい。
ノードのトポロジデータセットの変化は、トポロジデータセットからのノードの削除であってよい。ノードのトポロジデータセットの変化は、トポロジデータセットからのリンクの削除であってよい。
第2状態であって、ネットワークに参加していない又は機能していないる及び/又はリンクがアクセス可能でない又は機能していない、第2状態から、第1状態であって、ノードがネットワークに参加している又は機能している及び/又はリンクがアクセス可能な又は機能している、第1状態への変化の検出は、ノードのトポロジデータセットに変化を生じ得る。
ノードのトポロジデータセットの変化は、ノードの状態又はリンクの変化であってよい。状態の変化は、非アクティブ状態又は死んでいる状態又は切断状態から、アクティブ状態又は生きている状態又は接続状態への変化であってよい。
ノードのトポロジデータセットの変化は、トポロジデータセットへのノードの追加であってよい。ノードのトポロジデータセットの変化は、トポロジデータセットへのリンクの追加であってよい。
ノードのトポロジデータセットは、トポロジテーブルであってよい。は、ノードにとって可能な完全なデータセットと比べて不完全なデータセットであってよい。
ノードのトポロジデータセット、例えばトポロジテーブルは、そのときに該ノードに知られているリンクのリストを含んでよい。トポロジテーブルは、該ノードと、該ノードについてのノードの選択のうちの1つ以上の望ましくは全部との間の可能なリンクのうちの1つ以上又は全部のリストを含んでよい。該ノードについてのノードの選択は、該ノードの隣接ノードのうちの1つ以上、望ましくは全部、及び/又は該ノードの近隣ノードのうちの1つ以上、望ましくは全部、であってよい。トポロジテーブルは、そのときにノ―ドに知られているリンクのうちの1つ以上、望ましくは全部の状態を含んでよい。
ノードのトポロジデータセットの変化があるとき、ノードのトポロジデータセットの変化は、1つ以上の他のノードに通信されてよい。ノードのトポロジデータセットの変化があるとき、ノードのトポロジデータセット全体が、1つ以上の他のノードに通信されてよい。1つ以上の他のノードは、1つ以上の又は全部の隣接ノードを含んでよい。1つ以上の他のノードは、1つ以上の又は全部の近隣ノードを含んでよい。1つ以上の他のノードは、ノードの集合の中の1つ以上の又は全部のノードを含んでよい。
別のノードがノードのトポロジデータセットを受信すると、他のノードは、望ましくは、他のノードが他のノードの現在のトポロジデータセットを、ノードのトポロジデータセットで更新するか否かを評価する。評価は、ノードのトポロジデ―タセットを受信する各々の別のノードにより実行されてよく、望ましくは各評価は他の評価と独立である。評価は、望ましくは、他のノードの現在のトポロジデータセットがノードのトポロジデータセットより古いか又は新しいかを確立してよい。望ましくは、他のノードの現在のデータセットがより古い場合、別のノードの現在のトポロジデータセットは、ノードのトポロジデータセットから更新される。望ましくは、他のノードの現在のデータセットがより新しい場合、別のノードの現在のトポロジデータセットは、ノードのトポロジデータセットから更新されない。
ノードが別のノードのトポロジデータセットを受信すると、ノードは、望ましくは、ノードがノードの現在のトポロジデータセットを、他のノードのトポロジデータセットで更新するか否かを評価する。評価は、望ましくは、ノードの現在のトポロジデータセットが他のノードのトポロジデータセットより古いか又は新しいかを確立してよい。望ましくは、ノードの現在のデータセットがより古い場合、ノードの現在のトポロジデータセットは、他のノードのトポロジデータセットから更新される。望ましくは、ノードの現在のデータセットがより新しい場合、ノードの現在のトポロジデータセットは、他のノードのトポロジデータセットから更新される。
ネットワーク内で通信されるメッセージのためのメッセージソート部及び/又はメッセージのソートは、特にネットワークのトポロジの変化に関するメッセージに関して提供され得る。メッセージのための更新ソート部又はメッセージのソートは、メッセージが正しいシーケンス若しくは順序又は生成時間で考慮されるように提供されてよい。
ノード及び別のノードは、論理クロックのようなクロック機能を提供されてよい。クロック機能は、2つのデータ構造を提供し得る。1つ目はローカル時間のレコードであり、2つ目は分散型システムにおいて最も良く知られているグローバル時間のレコードである。例えば、論理クロックは、クロック機能を通じるローカル時間、例えば論理ローカル時間のレコード、及び論理グローバル時間のような分散型システム内のグローバル時間のローカルレコードを提供してよい。
望ましくは、システム内の各ノードは、クロック機能を提供される。
クロック機能は、システム内の1つ以上又は全部のイベントにタイムスタンプを割り当ててよい。イベントは、新しいノード又は新しいリンクの検出を含んでよい。イベントは、ノード又はリンクの状態の変化の検出を含んでよい。イベントは、ノード又はリンクの損失の検出を含んでよい。イベントは、ノードがノードのトポロジデータセットを更新することを含んでよい。
システム内のタイムスタンプは、望ましくは単調な、最も望ましくは増大する特性に従う。2つのイベントが因果でリンクされるとき、結果イベントは、該結果イベントをもたらした原因イベントより遅いタイムスタンプを与えられてよい。
クロック機能は、ベクトル時間クロックであってよい。ベクトル時間クロックは時間ベクトルを用いてよい。各ノードは、別個の時間ベクトルを作動する。各ノードは、該ノードの時間ベクトルを用いて、該ノードのイベントにタイムスタンプを付してよい。各時間ベクトルは次の形式であってよく:T=(Ti1,...,Tin)、ここで、Tはノードiのローカル論理クロックであり、時間1から時間nまでのノードiの論理時間進行を記述する。
1つ以上の、望ましくは全部のノードは、1つ以上の又は全部のノードの、望ましくは該ノードの隣接ノード及び/又は近隣ノード論理時間進行の少なくとも部分的認識を有する。別のノードの論理時間進行の少なくとも部分的認識は、次の形式であってよく:Tij、これは、ノードjのローカル時間nのノードiの最新認識を表し、ここでj∈adj(i)である。Tの次元はdim(T)により表され、dim(T)はadj(i)のサイズに等しくてよい。
時間ベクトルクロックは、1つ以上のルールに従い作動してよい。ルールは、以下のうちの1つ以上又は全部を含んでよい。
1.1つ以上の、望ましくは全部のノードが、0のローカル時間で起動する。
2.ノードでイベントが生じると、ローカル時間は、例えば整数だけ、望ましくは値1だけ増大されてよい。
3.ノードでイベントが生じると、該ノードは、メッセージを、望ましくはトポロジデータセットが変化した1つ以上の更なるノードへ送信する。
4.更なるノードが、望ましくは変化のメッセージを受信すると、それは該ノードのイベントであると考えられ、望ましくは、したがって、ルール2が更なるノードのローカル時間に適用される。
5.更なるノードが、望ましくは変化のメッセージを受信すると、更なるノードのローカル時間は、ルール4の増加に加えて更に増加され、望ましくは、更なるノードのローカル時間は、ルール4の増加の後の更なるノードのローカル時間、又はメッセージ内の更なるノードのローカル時間、の大きい方だけ更に増大される。
6.ノードにより更なるノードへ送信されたメッセージは、ノード及びノードがローカル時間の認識を有する全部の更なるノードのローカル時間を含む。該ローカル時間は、そのときの1つ以上の更なるノードの実施のローカル時間と異なってよい。
7.メッセージがノードにより受信された最後のメッセージより新しい場合、該メッセージのトポロジデータセットは、更なるノードのトポロジデータセットを更新するために使用されてよい。望ましくは、ルール4及び/又は5は、メッセージがより新しい及び/又はメッセージが交信中の更なるノードのトポロジデータセットをもたらす場合にのみ適用される。
8.メッセージがノードにより受信された最後のメッセージより古い場合、該メッセージのトポロジデータセットは、廃棄され及び/又は更なるノードのトポロジデータセットを更新するために使用されなくてよい。望ましくは、ルール4及び/又は5は、メッセージがより古い及び/又はメッセージのトポロジデータセットが廃棄され及び/又は使用されない。
ベクトル時間クロックは、1つ以上のルールに従い作動してよい。ここで、該ルールは以下のうちの1つ以上又は全部を含む:
・ノードiにおける初期ローカルイベントのタイムスタンプは、1であるi番目のエントリを除き、全て0である。
・Tij=xの場合、ノードiは、ノードjにおけるローカル時間がxまで進んでいることを知る。
・ベクトルTiは、論理グローバル時間のノードiのビューを構成する。
・ノードiはそれをイベントにタイムスタンプを付すために使用する。
・メッセージのタイムスタンプは、現在のスタンプ及び入ってくるベクトルタイムスタンプのうちの要素全体の最大である。
・メッセージを送信する前に、ノードiは自身のローカル論理時間Tij←Tij+1を更新する。
・ノードj∈adj(i)からのメッセージ(m,T)を受信すると、ノードiは、以下によりノードiの論理グローバル時間を更新する動作を実行する:∀k∈adj(i)、Tik←max(Tik,Tjk)。
1つ以上の又は全部のノードにより送信された1つ以上の又は全部のメッセージのブロードキャストアルゴリズムは、決定性アルゴリズム又は確率的アルゴリズムであってよい。
データセット処理部及び/又はデータセットの処理は、ネットワークのトポロジの変化の認識がネットワーク内で共有されるように提供されてよい。ノードのトポロジデータセットのためのデータセット処理部及び/又は処理は、ノードのトポロジデータセットが更なるノードのトポロジデータセットからのデータにより更新されるように、提供されてよい。
ノードのトポロジデータセット、例えばトポロジテーブルは、ノード、望ましくは各ノードについて、構成されてよい。ノードのトポロジデータセットは、該ノードiの主トポロジビューVを含んでよい。ノードのトポロジデータセットは、ノードに知られているリンクのリストを含んでよい。リンクは、lmnの形式でリストされてよい。ここで、mは1つのノードであり、nは別のノードである。形式lmn及びlnmは、同義的に使用されてよく、それらのペアのうちの1つのみがリスト内のリンクを提供するためにリストされる。Tノードのトポロジデータセットは、リスト内の各リンクの指定を含んでよい。指定は、2つの値のうちの1つ、例えば1又は∞を有してよい。指定は、リンクの動作状態に関連してよい。例えば、動作しているときの値、及び動作していないときの値である。
最初に、ノードに知られているリンクのリストは、それらのノード、及びしたがって、例えばリンクを介して更なるノードからのテストメッセージの受信により該ノードにより検出された該リンク、であってよい。
更なるノードのトポロジデータセットを含むメッセージが交換されると、ノードに知られているリンクのリストは、他のノードからのメッセージ内のこれらのリンクであってよく、又はそれにより補強されてよい。望ましくは、ノードに知られているリンク及び他のノードからのメッセージ内のこれらのリンクの結合は、ノードのトポロジデータセットを形成する。
ノードのトポロジデータセットは、ノード又はリンクの動作状態の変化に関して更新されてよい。ノードのトポロジデータセットは、ノード又はリンクが動作状態に戻ることに関して更新されてよい。ノードのトポロジデータセットは、新しいノード又は新しいリンクがネットワークに追加されることに関して更新されてよい。ネットワークに追加されている新しいノードは、別のノードからノードトポロジデータセットを、該ノードの第1ノードトポロジデータセットを提供するために、送信されてよい。
ノードのトポロジデータセットは、1つ以上の条件が満たされるとき、更なるノードのトポロジデータセットを含むメッセージ内からのデータにより更新されてよい。条件は、更なるノードのトポロジデータセットがノードのトポロジデータセットより新しいタイムスタンプを有することであってよい。条件は、1つ以上のリンク、特にノードのトポロジデータセット及び更なるノードのトポロジデータセットの両方の中の1つ以上のリンクに関して、例えば1から∞へ又は∞から1への指定の変化があることであってよい。条件は、更なるノードのトポロジデータセットがノードのトポロジデータセット内に無い1つ以上のリンクを含むことであってよい。条件は、ノードのトポロジデータセットがノードの所与の指標の範囲内にある更なるノードのトポロジデータセット内のリンクに関して更新されるだけであるという更なる条件と一緒に、更なるノードのトポロジデータセットが、ノードのトポロジデータセット内に無い1つ以上のリンクを含むことであってよい。所与の指標は、所与の隣接指標の範囲内であること、又はより望ましくは所与の近隣指標の範囲内であることであってよい。所与の指標の範囲内に無いリンクは、望ましくは、ノードのトポロジデータセットに追加されない。
ノードのトポロジデータセットは、m={V,T}の形式のメッセージmをノードjから所与の時間Tに受信すると、更新されてよい。ここで、ノードjはトポロジデータセット又はグローバルトポロジビューVを有し、ノードiがそれを用いて、ノードiのトポロジデータセット又はグローバルトポロジビューVを更新するようにする。
ノードのトポロジデータセットは、リンクlmnがノードのトポロジデータセット、例えばグローバルビューV、及び更なるノードのトポロジデータセット、例えば更なるノードのグローバルビューVの両方にあるリンクである場合に更新されてよい。その結果、V∪Vである。Vの中で受信されたリンクlmnに関する情報により更新されるノードのトポロジデータセットは、タイムスタンプT[t]>T[t]を条件としてよい。ここで、該条件が真である場合に、リンクlmnのより新しい状態が取られる。
ノードのトポロジデータセットは、リンクlpqが更なるノードのトポロジデータセット、例えば更なるノードのグローバルビューV内にあり、ノードのトポロジデータセット、例えば更なるノードのグローバルビューV内に存在しない場合に更新されてよい。ノードのトポロジデータセット、例えばノードのグローバルビューVに追加されているリンクlpqに関する情報は、ノードiとqとの間の距離が隣接ノードの値、水平Hより小さいことを条件としてよい。条件は、lij+ljp2+lp1p2+・・・+lpnp+lpq<Hであってよく、ここで、lij、ljp2、lp1p2、...、lpnpはすべてVのアクティブリンクである。
ノードは、該ノードにより受信されたメッセージの結果として、該ノードのトポロジデータセットに変更が行われると常に、該ノードのトポロジデータセットを含むメッセージを1つ以上の更なるノードへ送信してよい。望ましくは、ノードは、該ノードのトポロジデータセットを含むメッセージを、近隣ノード及び/又は隣接ノードである1つ以上の更なるノードのみへ送信してよい。
ノードは、該ノードが新しいノードにリンクされると常に、該ノードのトポロジデータセットを含むメッセージを、1つ以上の該新しいノードへ送信してよい。望ましくは、ノードは、該ノードのトポロジデータセットを含むメッセージを、該ノードの隣接ノードである1つ以上の新しいノードのみへ送信してよい。
システム内の複数のノード及び/又は方法は、互いに独立に更新を開始してよい。複数の更新は、システム及び/又は方法の中で同時に起動されてよく、望ましくは、更新に伴うタイムスタンプ制御が、ノードにおけるトポロジデータセットに適用される。
本発明の上述の及び他の態様は、本願明細書に記載される実施形態から明らかであり、それらの実施形態を参照して教示される。本発明の実施形態は、単なる例として添付の図面を参照して以下に説明される。
ノード、隣接ノード及び近隣ノード、を示すネットワークトポロジ図の一例である。 ベクトルクロックのシステムの説明である。 任意のトポロジ変化(障害又は損失メッセージ)の存在しない、ブロードキャストアルゴリズムの実行を示す。 本発明の一実施形態の動作を説明するために使用されるグローバルネットワークの説明である。 本発明の一実施形態を説明するために使用される時間と共にノード間でのメッセージの交換の説明である。
非構造化ピアツーピア(peer-to-peer:P2P)ネットワークの中心的問題は、トポロジの維持である。例えば、ノードがネットワークに参加し及び離れるとき及び/又はノードが突然クラッシュしたとき、どのように近隣の変数を正しく更新するかである。本発明は、トポロジ更新アルゴリズムに関する。
P2Pネットワーク内では、検索、情報流布、ブロードキャスト、等のために、「誰が誰に接続されるか」又は「誰が誰を知っているか」を知る必要がある。このコンテキストでは、確率的アルゴリズム及び決定性アルゴリズムのような多数のブロードキャストアルゴリズムが知られている。
疫学的アルゴリズム又はゴシッププロトコル(Gossip Protocols)は、本来、確率的であり、それらは固定トポロジに依存しない。ノードは、ランダムな近隣と情報を交換して、拡散のような計算パターンを実装し、結果として、システムは、全てのノードがメッセージを知る状態に収束する。ゴシッププロトコルは、ネットワーク内のノード数と独立に、各ノードが固定数のメッセージだけを送信するので、拡張可能である。さらに、ノードは、肯定応答を待たず、又は肯定応答が到着しないならば回復動作も行わない。ノードは異なるノードからメッセージのコピーを受信するので、それらは、断続的なリンク障害及びノードクラッシュに対して障害耐性を達成する。いかなるノードも担うべき特別な役割を有しない。したがって、障害ノードは、他のノードがメッセージを送信し続けることを防がない。したがって、障害検出又は特別な回復動作は必要ない。
ゴシッププロトコルの欠点は、それらが送信する多数のメッセージである。あるクラスのゴシッププロトコル(非エントロピープロトコル)は、無限の実行において、無制限の数のメッセージを送信する。
横型探索のようなスパニングツリーアルゴリズムは、決定性アルゴリズムのクラスである。スパニングツリーは、ネットワークを「バックボーン」、つまりノードを接続するエッジの最小セットとして、視覚化する単純な方法を提供する。概念は単純であり、スパニングツリーは、先ず構成され、各ノードからローカルデータ変数を収集するために使用され、次に、ルートノード(又はシンクノード)へ向かってデータを集約する。各ノードは、それ自体の親へ自身の値を送信する。各非リーフノードにおいて、自身の子ノードの値は、それ自体の値に加えて、ツリーの上方へ結果を送信する前に処理される。横型探索プロトコルは、浅いレベルにある全てのノードが生成されるまで、ツリー内のノードを生成しないので、常にノードへの最短パスを発見する。スパニングツリーは、情報分散及び収集の、及びそれらがネットワークの新しいトポロジを計算する方法において、非常に効率的な形式である。
一般に、スパニングツリーのような構造は、構造的に脆弱であると考えられ、単一の頂点又はエッジの障害がブロードキャストを失敗させる。
トポロジ更新問題は、現在、ネットワークトポロジが動的であるとき、つまりリンクが任意の時間に障害し回復するとき、各ネットワークサイトにおけるネットワークトポロジの認識を保つことの問題である。任意のトポロジアルゴリズムの正しい動作は、リンク状態変化(障害及び修復)がネットワークノード又は他の要因により検出される方法に大きく依存する。
トポロジアルゴリズムの使用の下地にある及び任意のソリューションにおいて説明されるべき課題には、幾つかの繊細さがある。
・リンクは、短時間の間に、幾つかのトポロジ変化を経験することがある。他のネットワークノードは、どの変化が最近のものであったかを最終的に決定しなければならない。ノードは、リンクの状態に関する古い情報と新しい情報との間を区別可能でなければならない。
・トポロジアルゴリズムの実行中に、追加のトポロジ変化が生じることがある。トポロジアルゴリズムは、実行中に新しい情報を組み込む、又は新しいアルゴリズムバージョンを開始する、ことが可能でなければならない。異なるバージョンが使用される場合、各ノードは、どれが最新バージョンかを決定可能でなければならない。
・単一リンクの修復は、切断されたネットワークの2つの部分を再接続させることが可能である。各部分は、もう一方に関する古いトポロジ情報を有することがある。アルゴリズムは、2つの部分が最終的に合意し、正しいネットワークトポロジを採用することを保証しなければならない。
ネットワークが自身の中の変化を明確に理解する能力は、ネットワークを通じる高速且つ効率的通信のために、及びネットワークが完全に機能するために、重要である。一例として、デジタル通貨に高速支払ネットワークを提供するために、トランザクション及び他の情報は、分散型ネットワークを通じて完全且つ迅速に共有されなければならない。
シェアを参加者に分配することにより秘密を保護する閾値暗号システムに依存する方法では、秘密シェアの部分集合を共同で保持する商人(merchant)の集合で構成されるネットワークが、最初に構成される。秘密シェアの第2の半分は、顧客(customer(s))により保持される。商人ネットワークは、署名の生成、鍵シェアの更新、閾値レベルの定義、トランザクションの検証、等のような重要なタスクを実行する。協働し通信し及びネットワークトポロジを認識する彼らの能力は、これらの状況において不可欠である。
以下の説明では、私達は、各商人ノードが、リンク及びノード障害にも拘わらず、ネットワークトポロジの正しいビューを維持することを可能にするアルゴリズムを提示する。アルゴリズムは、ネットワークが、有限数のステップのうちに安定構成に自動的に戻ること(所謂、「自己安定化」)を可能にし、イベント間の因果関係を正確にキャプチャするために論理クロックを使用する。トポロジ更新プロトコルは、イベント駆動型である。つまり、幾つかの変化が検出されると、起動される。
システムは、
トポロジの変化を検出するステップと、
これらの変化を発生により順序付けるステップと、
該変化を反映する新しいトポロジを構成するステップと、を含む。
本発明の完全な説明を可能にするために、ネットワークの数学的モデルを理解することが有用である。
図1を参照すると、一連のノード(1~8とラベル付けされる)が設けられる。各ノードは、別のノードへのリンク(又はエッジ)を設けられる。一連のノードは、集合を形成し、ここでVは該集合の中のノードの数である。
ネットワークは、グラフG=(V,E)により表すことができる。ここで、Vはノードの集合であり、それぞれが異なるアイデンティティを有し、Eはエッジ(又はリンク)の集合である。
数学的モデルは、以下の定義を使用する。
定義1(「ホップ(Hop)」の定義)。2つのノードi及びjの間の距離d(i,j)は、これらのノードを接続するリンクの最小数に等しい。したがって、図1で、ノード6とノード1との間の距離は2リンクであり、ノード8とノード1の場合には1リンクだけである。
定義2(「隣接ノード(Adjacent Nodes)」の定義)。集合Vの中のノードi、i∈V、の隣接ノードadj(i)は、所定距離又は隣接半径radjの範囲内にある、集合Vの中のノードj、j∈V、である。ここで、adj(i)={j∈V:d(i,j)=radj
定義3(「近隣ノード(Neighbour Nodes)」の定義)。集合Vの中のノードi、i∈V、の近隣ノードN(i)は、所定距離又は水平半径H≧radjの範囲内にある、集合Vの中のノードj、j∈V、である。ここで、N(i)={j∈V:d(i,j)=H,adj(i)⊆N(i)}
図1で、隣接半径radj=1を選択した場合、ノード(ピア)1の隣接ノードは、赤で表される、つまりノード2、3、4、7、8である。水平半径H=2を選択した場合、近隣ノードは、青で表される、つまりノード5及び6である。
変化の検出
明らかに、トポロジ変化を説明可能であるために、このような変化を検出可能である必要がある。
トポロジ変化は、いつでも起こり得る。したがって、任意の種類の初期障害をキャプチャするために、システムに関して以下を仮定する。ネットワーク内の各ノードiは、自身の、リスト内の隣接ノードのアイデンティティを維持する。ノードiは、テストメッセージ「I’m alive」を自身の隣接ノードへ定期的に送信する。図1を参照すると、ノード4は、このようなメッセージをノード1のみへ送信し、一方で、ノード1はこのようなメッセージをノード2、3、4、7、8へ送信する。
「I’m alive」メッセージの発送頻度は、エラー検出メカニズムの効率に大きな影響を与える。短いエラー検出時間を達成するために、「I’m alive」メッセージが非常に頻繁に送信されチェックされる必要がある。
ノードi内の各プロセッサは、時間間隔を測定するために使用されるローカルクロックを有する。異なるノードにおけるクロックは、互いに同期していないことがある。各リンク(i,j)について、ノードiは、自身の隣接ノードj∈adj(i)のタイマtijを維持する。ノードiが「I’m alive」メッセージをノードjから時間間隔δt内に受信しなかった場合、リンク(i,j)はもはや利用可能ではないと考えられ、jを自身の隣接ノード集合から削除する。ノードiは、次に、自身の現在の(場合によっては誤った)トポロジテーブルTを更新する。トポロジテーブルは、ノードiに直接接続されたリンクの動作状態のリストである。したがって、図1を参照すると、ノード1は「I’m alive」メッセージをノード4へ送信し、ノード4は「I’m alive」メッセージをノード1へ送信すべきである。ノード1がこのようなメッセージをノード4から所定時間期間内に受信しなかった場合、ノード4は、ノード1のトポロジテーブルTから削除される。次に、トポロジテーブルT内のノード1の隣接ノードは、ノード2、3、7、及び8だけになる。
以上の考察は、第1トポロジ更新ルールを形成する。つまり以下の通りである:
1.ノードが、隣接リンクが故障したことを検出すると、障害状態がノードの主トポロジテーブルに入力される。
この更新されたトポロジテーブルは、ノード集合Vの中の他のノードと共有されることが望ましい。これが生じると、ノードは、自身のトポロジテーブルを、隣接ノードから受信したトポロジテーブルに従い更新する。したがって、第2トポロジ更新ルールが形成され、つまり以下の通りである:
2.ノードは、主トポロジテーブル全体を近隣から受信すると、自身の主トポロジテーブルを、主トポロジ更新アルゴリズム(後述する)を用いて更新する。
変化の順序付け
上述のように、更新されたトポロジテーブルメッセージは、検出されたトポロジ変化に応答して送信されるだけである。ネットワーク内で送信される全てのメッセージは遅延の影響を受けるので、ノードは、ある時点で自身が正しいトポロジを知っていることを確信できない。更新されたトポロジテーブルメッセージのうちの1つ以上は、その受信時間に関係なく、別の更新されたトポロジメッセージの中に記された状態と比べて古く又は期限切れであることがある。因果序数ブロードキャスト(Raynal,M.、Singhal,M.、「Capturing Causality in Distributed Systems、1996、IEEEに詳述される)は、2つのメッセージが因果関係があり、同じ宛先を有する場合、それらがそれらの送信順でアプリケーションへ配信されることを保証する。
本発明は、論理クロックのシステムを使用する。ここで、全てのノード(ピア)は、後述するルールセットを用いて進められる論理クロックを有する。結果として、全てのメッセージはタイムスタンプを割り当てられ、該タイムスタンプにより、処理がイベント間の因果関係を推測できる。イベントに割り当てられたタイムスタンプは、単調性の特性に従い、それらは常に増加している。つまり、イベントaがイベントbに影響を与える原因である場合、aのタイムスタンプはbのタイムスタンプより小さい。この場合、イベントbはイベントaの結果である。
論理クロックは、以下のルールに従い進む;ベクトル時間クロック。
ベクトルクロックのシステムでは、時間ドメインは、有限次元の非負整数ベクトルの集合により表される。各ノードiは、ベクトルT=(Ti1,...,Tin)を維持する。ここで、Tijは、ノードiのローカル論理クロックであり、時間1から時間nまでのノードiの論理時間進捗を記述する。
ijは、ノードjのローカル時間についてのノードiの最新知識を表す。ここで、ノードj∈adj(i)である。
Tiの次元をdim(T)により表記し、dim(T)をadj(i)の大きさと等しくする。
ノードiにおける初期ローカルイベントのタイムスタンプは、1であるi番目のエントリを除き、全て0である。Tij=xの場合、ノードiは、ノードjにおけるローカル時間がxまで進んでいることを知る。ベクトルTは、ノードiの論理グローバル時間のビューを構成し、ノードiはそれをイベントにタイムスタンプを付すために使用する。受信したメッセージのタイムスタンプは、現在のスタンプ及び入ってくるベクトルタイムスタンプのうちの要素全体の最大である。
この動作は、図2に、3個のノードA、B、Cに関して示される。各ノードにおいて、ローカル時間は最初は0である。イベントがノードCで生じると、ノードCは、自身のローカルクロック時間を1まで増加させ、ノードBに通知する。ノードBがメッセージを受信するとき、他のイベントはノードBに通知されず、したがって、ノードBのローカル時間は0のままである。ノードBが、今、イベントを経験したので、ノードBはノードBのローカル時間を1により更新する。ノードBのローカル時間が0だったので、これは1の値を与える。さらに、ノードBは、また、更新したノードBのローカル時間(今の値1)又はメッセージ内のノードBのローカル時間(本例では値1)のうちの大きい方を追加することにより、ノードBのローカル時間を補正する。したがって、補正されたノードBのローカル時間は2であり、ノードBは、次に変化をノードAに通知する。
ノードAは、1により更新し及び1の追加により補正する同様の処理を通じて、A:2 B:2 C:1のノードBへのメッセージをもたらす。ノードBがこのメッセージを受信する時間までに、ノードBは、別の独立イベントに気付き、それをCに通信している。したがって、1によるノードBの更新があるが、補正はノードBのローカル時間への1の追加であり(この時点までに3)、メッセージ内のノードBのローカル時間への1の追加ではない(この時点で2だけ)。したがって、Aへ送信された新しいメッセージは、B:5(3+1+1であり、2+1+1ではない)の値を有する。
後のメッセージは、同じ方法で処理される。時間3でノードBにより送信される第2メッセージは、上述の他のメッセージ、メッセージ1(CからBへ)、メッセージ2(BからAへ)、及びメッセージ4(AからBへ)及びメッセージ5(BからCへ)と独立である。
以上の考察は、論理クロック更新ルールを形成する。つまり以下の通りである:
1.メッセージを送信する前に、ノードiは自身のローカル論理時間を更新するTij←Tij+1。
2.メッセージ(m,T)をノードj∈adj(i)から受信すると、ノードiは、以下の一連の動作を実行する:
a.自身の論理グローバル時間を以下のように更新する:
∀k∈adj(i)、Tik←max(Tik,Tjk
図3は、任意の障害又は損失メッセージを有しないブロードキャストアルゴリズムの実行を示す。私達は、ブロードキャストアルゴリズム(決定性又は確率的)を指定せず、私達は近隣ノードの定義を与えない。私達は、ノード1、2、3が全て隣接ノードであると仮定する。つまり、(2,3)∈adj(1)、(1,3)∈adj(2)、(1,2)∈adj(3)。ノード1は、第1メッセージ(m,T)を生成し、それをランダムに又は選択されたブロードキャストアルゴリズムに従い確定的に、ノード2及び3へ送信する。ノード3は、ノード1からのメッセージ(m,T)にトリガされ、新しい第2メッセージ(m,T)を生成し、それをノード1及び2へ送信する。ノード1は、ノード3からのメッセージ(m,T)にトリガされ、新しい第3メッセージ(m,T)を生成し、それをノード2及び3へ送信する。
具体的に、ノード2が第2メッセージ(m,T)をノード3から受信するときまでに、ノード2は既に(m,T)をノード1から受信から受信している。ノード2は、これらのメッセージの順序を、上述の方法から知る。したがって、ノード2は、第2メッセージ(m,T)を廃棄し、第2メッセージ(m,T)を使用して、メッセージ内容の完全性を保証する。
更新されたトポログラフィの構成
変化を検出し、ノードにおいて該変化の正しい順序を保証すると、ノードが新しいトポログラフィを確立する方法が以下に議論される。
以下のアルゴリズムは、各ノードiにより、その主トポロジビューVを構成するために使用される。lmn又はlnmのようなノードmとnとの間の単一の双方向リンクを参照する。トポロジテーブルV内の各エントリは、リンクlmn又はlnmである。リンクは、つの値1又は∞のうちの1つを取ることができる。リンクが動作中であるとき、値は1に設定される。リンクが死んでいるとき、値は∞に設定される。
所与の時間にノードjからメッセージm={V,T}を受信すると、ノードjは、それを用いて自身のグローバルビューVを更新する。
リンクlmnを両方のグローバルビューの中のリンクであるとする。V∪V。リンクlmnに関する情報は、タイムスタンプT[t]>T[t]ならば、受信したVにより更新される。リンクlmnのより新しい状態が取り入れられる。
pqを、現在V内のリンクではない、V内のリンクであるとする。lpqに関する情報は、ノードiとqとの間の距離が隣接ノードについての値、水平Hより小さい場合、グローバルビューVに追加される。つまり、lij+ljp2+lp1p2+・・・+lpnp+lpq<H、ここで、lij、ljp2、lp1p2、...、lpnpはすべてVのアクティブリンクである。
したがって、リンクの動作状態の変化が更新され、動作状態に戻るリンクが追加され、ネットワークに現れる新しいリンクが追加される。リンクがネットワークに戻る又は新しいリンクがネットワークに追加されるとき、トポロジアルゴリズムは、自身が最新トポロジテーブルのコピーを提供されることを保証する。
以上の考察は、通信ルールを形成する。つまり以下の通りである:
1.ノードの主トポロジテーブル内のリンク状態エントリが変化すると、新しいトポロジテーブルを含むメッセージが近隣ノードへ送信される。
2.ノードにおけるリンクプロトコルが、隣接リンクが動作中になったことを検出すると、ノードは、自身の主トポロジテーブル全体を該リンクを介して送信する。
プロトコルの適切なコードの例は次の通りである。
Figure 0007494256000001
トポロジ更新アルゴリズムの動作例は、図4のネットワークを参照して以下に記載される。
adj=1、及びH=2と仮定する。したがって、ノード1に対して、ノード2及び3は隣接ノードであり、ノード4及び5は近隣ノードである。
初期段階で、ノード1、2、及び3のトポロジビューV、i∈(1,2,3)は:
Figure 0007494256000002
結果として、ノード3は、ノード1及び2より情報の多い且つ完全な主トポロジビューを有する。
変化を詳述するメッセージを順序付ける方法に戻ると、論理クロックTは:
Figure 0007494256000003
フェーズ1:
ノード3は、第1メッセージm={V,T[t]=1}をノード1及びノード2へ送信する。
フェーズ2:
ノード1及び2、つまりi∈(1,2)は、T[t]>T[t]かどうかをチェックする。第1メッセージのときこれに該当するので、ノード1及び2、つまりノードiは、それらの論理クロックT及びそれらのビューVを更新する。実際には、これは、リンクl23がノード1に予め知られていなかったので、Vへのl23の追加を意味する。一方で、リンクl45もノード1に知られていなかったが、該リンクは許容近隣ノード限界の外側であるので:l13+l34+l45>H、Vはリンクl45を含むよう更新されない。結果として生じる、ノード1及び2のT及びVへの更新は:
Figure 0007494256000004
ノード1が同様のメッセージm={V,T[t]=1}をノード2へ送信した場合、ノード2は自身の論理クロックを更新する:
Figure 0007494256000005
ノード2のトポロジビューVは、ノード2がリンクl12、l13、l23及びl34について既に知っているので、不変である。Vに変化がないので、ノード2は新しいメッセージをブロードキャストしない。
フェーズ3:
リンク(エッジ)l34は、今、死んでいる。ノード3は、ノード4からのテストメッセージの欠如により、この変化を検出する。結果として、ノード3は、l34の該動作状態を含むよう、ビューを更新する。更新されたビューは:
Figure 0007494256000006
ノード3は、変化があるので、新しいメッセージm={V,T[t]=2}をノード1及び2へ送信する。本例では、私達は、mがノード2に届かない(又は未だノード2に届いていない)と仮定する。
フェーズ4:
ノード1は、上述のチェックを実行し、自身の論理クロックT及び自身のビューVを更新する。これは、以下を与える:
Figure 0007494256000007
フェーズ5:
ノード1は、直ちに動作し、メッセージm={V,T[t]=2}を送信する。
フェーズ6:
メッセージmを受信すると、ノード2は上述のチェックを実行し、次に、ノード2は相応してT及びVを更新する:
Figure 0007494256000008
同じ方法で、更なる変化が検出され、通達され、順序付けられ、更新され得る。
留意すべきことに、上述の実施形態は、本発明を限定するのではなく、当業者は添付の請求項により定められる本発明の範囲から逸脱することなく多数の代替の実施形態を考案できる。請求項中、括弧内に記載された如何なる参照符号も、請求項を制限すると見なされるべきではない。用語「有する(comprising又はcomprises)」等は、全体としていかなる請求項中に及び明細書に列挙された以外の要素又はステップの存在を排除するものではない。本願明細書において、「有する(comprises)」は「含む(includes)又は構成される(consists of)」を意味し、「有する(comprising)」は「含む(including)又は構成される(including of)」を意味する。要素の単数の参照は、該要素の複数の存在を排除するものではなく、逆も同様である。本発明は、複数の別個の要素を有するハードウェアにより又は適切にプログラムされたコンピュータにより、実施され得る。複数の手段を列挙している装置の請求項では、これらの複数の手段は、1つの同一のハードウェア要素により実装することができる。特定の量が相互に異なる従属請求項に記載されるという事実は、これらの量の組合せが有利に用いることが出来ないことを示すものではない。

Claims (17)

  1. ネットワークトポロジのネットワークの認識を更新する、コンピュータにより実施される方法であって、前記ネットワークは複数のリンクにより接続された複数のノードを含み、前記方法は、
    a)前記ネットワーク内の第2ノードにより、前記ネットワーク内のイベントを検出するステップであって、前記イベントは前記ネットワーク内の別のノードにより前記第2ノードへ定期的に送信されるメッセージの中断である、ステップと、
    b)前記ネットワーク内の第1ノードにより、前記第2ノードにより提供される前記ネットワークのトポロジの変化を組み込んだ受信トポロジデータセットを受信するステップであって、前記受信トポロジデータセットは時間指示に関連付けられ、前記第1ノードは時間指示に関連付けられたトポロジデータセットを有する、ステップと、
    c)前記受信トポロジデータセットに関連付けられた時間指示が前記第1ノードの前記トポロジデータセットに関連付けられた時間指示より新しい場合、前記第1ノードの前記トポロジデータセットは前記受信トポロジデータセットにより更新される、ステップと、
    を含む方法。
  2. 前記第1ノードの前記トポロジデータセットは、1つ以上の条件が満たされる場合にのみ更新され、条件は、新しいリンクが前記第1ノードの所与の隣接指標又は所与の近隣指標の範囲内である場合に、前記第1ノードの前記トポロジデータセットが前記新しいリンクを追加するためだけに更新されることである、請求項1に記載の方法。
  3. 前記方法は、更に、前記第1ノードが前記ネットワークへ、前記第1ノードの更新されたポロジデータセットを送信することを提供する、請求項1又は2に記載の方法。
  4. 前記方法は、更に、ステップc)の後に、前記受信トポロジデータセットが前記第1ノードの前記トポロジデータセットに対する更新を生じるとき、前記第1ノードが前記ネットワークへ、前記第1ノードの前記更新されたポロジデータセットを送信することを提供する、請求項1~3のいずれかに記載の方法。
  5. 前記第1ノードは隣接ノードを有し、前記隣接ノードは、前記第1ノードの所与の隣接指標の範囲内にあるノードであり、前記第1ノードは近隣ノードを有し、前記近隣ノードは、前記第1ノードの前記所与の隣接指標の外部にあり、前記第1ノードの所与の近隣指標の範囲内にある、請求項1~4のいずれかに記載の方法。
  6. 前記第1ノードは、隣接ノード及び近隣ノードにのみ前記第1ノードの前記更新されたポロジデータセットを送信する、請求項5に記載の方法。
  7. 前記受信トポロジデータセットに関連付けられた前記時間指示は、前記第2ノードにより生成される、請求項1~6のいずれかに記載の方法。
  8. 前記受信トポロジデータセットに関連付けられた前記時間指示は、前記第2ノードの時間ベクトルクロックにより提供される、請求項1~7のいずれかに記載の方法。
  9. 前記受信トポロジデータセットに関連付けられた時間指示は、前記第2ノードによる、前記ネットワーク内の前記変化の検出の時間の指示であるか、又は、
    前記受信トポロジデータセットに関連付けられた時間指示は、前記第2ノードによる前記第1ノードへの前記受信トポロジデータセットの送信の時間の指示である、請求項1~8のいずれかに記載の方法。
  10. 前記第1ノードの前記トポロジデータセットは以下:
    a)前記第1ノードのトポロジデータセットの中にリストされたノード間の1つ以上のリンクの動作状態を変化すること;
    b)前記第1ノードの前記トポロジデータセットの中にリストされていないノード間の1つ以上のリンクを追加すること、
    c)前記第1ノードの前記トポロジデータセットの中にリストされているノード間の1つ以上のリンクを除去すること、
    のうちの1つ以上により更新される、請求項1~9のいずれかに記載の方法。
  11. 前記イベントの前記検出は、前記第2ノードの前記トポロジデータセットの変化を生じ、前記第2ノードの前記トポロジデータセットの前記変化は、前記第2ノードが前記トポロジデータセットの前記変化を前記ネットワーク内の少なくとも前記第1ノードに送信することをもたらす、請求項1~10のいずれかに記載の方法。
  12. 前記方法は、
    複数のトポロジデータセットを、それら各々の時間指示に従い順序付けるステップであって、前記順序付けるステップは、前記複数のトポロジデータセットのうちのどれが前記複数のトポロジデータセットの中の最新のものかを確立する、ステップを更に含む請求項1~11のいずれかに記載の方法。
  13. 前記複数のトポロジデータセットの中の最新のものは、前記第1ノードの前記トポロジデータセットを更新するために使用される、請求項12に記載の方法。
  14. 前記方法は、最新の時間指示に関連付けられないトポロジデータセットが使用されない又は破棄されることを更にもたらす、請求項12又は請求項13に記載の方法。
  15. 前記第1ノードの前記更新されたポロジデータセットは、前記第1ノードの前のトポロジデータセットを置き換える、請求項1~14のいずれかに記載の方法。
  16. 請求項1~15のいずれか一項に記載の方法を実行するよう構成されるコンピュータにより実装されるシステム。
  17. ノードのネットワークのうちのノードの中のハードウェア構成であって、前記ハードウェア構成は、
    a)前記ネットワークのトポロジの変化を検出する検出器であって、前記検出器はイベントを検出するよう構成され、前記イベントは前記ネットワーク内の別のノードにより定期的に送信されるメッセージの中断である、検出器と、
    b)前記ネットワーク内で通信された更新トポロジデータセットをソートする更新ソータであって、各トポロジデータセットは各々の時間指示に関連付けられる、更新ソータと、
    c)トポロジデータセットの処理のためのトポロジデータセットプロセッサであって、前記トポロジデータセットプロセッサは、別のノードの受信したトポロジデータセットからのデータに従い前記ノードの前記トポロジデータセットを更新するよう構成される、トポロジデータセットプロセッサと、
    d)前記ネットワークのトポロジの変化の認識が前記ネットワーク内で共有されるようにする、更新されたトポロジデータセットのためのトポロジ更新通信機と、
    を含むハードウェア構成。
JP2022129919A 2017-01-31 2022-08-17 ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法 Active JP7494256B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB1701592.6A GB201701592D0 (en) 2017-01-31 2017-01-31 Computer-implemented system and method
GB1701592.6 2017-01-31
PCT/IB2018/050515 WO2018142258A1 (en) 2017-01-31 2018-01-29 Computer-implemented system and method for updating a network's knowledge of the network's topology
JP2019539164A JP7127035B2 (ja) 2017-01-31 2018-01-29 ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019539164A Division JP7127035B2 (ja) 2017-01-31 2018-01-29 ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法

Publications (2)

Publication Number Publication Date
JP2022159468A JP2022159468A (ja) 2022-10-17
JP7494256B2 true JP7494256B2 (ja) 2024-06-03

Family

ID=58462608

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019539164A Active JP7127035B2 (ja) 2017-01-31 2018-01-29 ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法
JP2022129919A Active JP7494256B2 (ja) 2017-01-31 2022-08-17 ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019539164A Active JP7127035B2 (ja) 2017-01-31 2018-01-29 ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法

Country Status (7)

Country Link
US (1) US11050821B2 (ja)
EP (2) EP3952217A1 (ja)
JP (2) JP7127035B2 (ja)
CN (2) CN116846809A (ja)
GB (1) GB201701592D0 (ja)
TW (2) TWI763767B (ja)
WO (1) WO2018142258A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294310B (zh) * 2018-12-06 2022-04-29 上海西门子医疗器械有限公司 自动提取工作流程方法和在分布式系统中检测侵入方法
CN110149221B (zh) * 2019-04-28 2022-09-20 众安信息技术服务有限公司 一种基于联盟链的自适应网络的构建方法及装置
CN110636113A (zh) * 2019-08-23 2019-12-31 上海电力大学 区块链的拜占庭容错共识方法、系统、设备和存储介质
US11533233B2 (en) * 2019-09-27 2022-12-20 Apple Inc. Techniques for selecting spanning tree among candidate links within an ad hoc network
EP3769216B1 (en) * 2019-11-06 2022-03-16 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
JP6852776B1 (ja) * 2019-11-26 2021-03-31 ダイキン工業株式会社 ブロックチェーンシステム、プログラム及びネットワーク接続装置
US11689618B2 (en) * 2019-12-18 2023-06-27 Hitachi Energy Switzerland Ag Data exchange and processing synchronization in distributed systems
CN111314119B (zh) * 2020-01-19 2023-06-27 合肥工业大学 不确定环境下无人平台信息感知网络快速重构方法和装置
KR102375937B1 (ko) * 2020-10-29 2022-03-16 (주)텔레필드 로드엠 기반 광 통신망에서 광 감시 채널을 이용한 토폴로지 정보 공유 장치 및 방법
CN112671584B (zh) * 2020-12-25 2023-03-24 深圳深宝电器仪表有限公司 网络拓扑的识别方法、装置、系统和存储介质
CN113395173A (zh) * 2021-05-27 2021-09-14 北京小米移动软件有限公司 信息交互方法、信息交互装置、终端及存储介质
CN113259459B (zh) * 2021-06-02 2021-09-24 支付宝(杭州)信息技术有限公司 区块链子网运行状态的控制方法和区块链系统
CN113572646B (zh) * 2021-07-28 2024-04-02 上海欧冶金诚信息服务股份有限公司 一种适用于区块链节点外网部署的星型组网方法及系统
WO2023012867A1 (ja) * 2021-08-02 2023-02-09 日本電信電話株式会社 情報処理装置、ノードの選択方法、及びプログラム
CN113901619B (zh) * 2021-09-28 2024-04-19 天津大学 一种基于偏相关分析的配电网网状拓扑识别方法
CN115314391B (zh) * 2022-08-06 2024-04-26 北京工业大学 一种区块链网络拓扑动态建立和数据传输优化方法
CN115883364B (zh) * 2022-12-21 2023-11-07 中山大学 一种分布式网络控制器动态优化方法
CN116896507B (zh) * 2023-09-11 2023-12-01 成都汉度科技有限公司 一种基于融合终端和ltu的台区拓扑识别方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004521561A (ja) 2001-06-11 2004-07-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動的ネットワーク及び動的ネットワークに対するルーティング方法
US20140286344A1 (en) 2007-06-01 2014-09-25 Rockstar Consortium Us Lp Distributed connection establishment and restoration

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781537A (en) * 1995-07-07 1998-07-14 International Business Machines Corporation Setting up, taking down and maintaining connections in a communications network
DE69922797T2 (de) 1999-06-23 2005-10-13 Sony International (Europe) Gmbh Kalibrierungsverfahren für drahtlose Netze mit Direktverkehr
US6816460B1 (en) 2000-03-14 2004-11-09 Lucent Technologies Inc. Location based routing for mobile ad-hoc networks
US7006453B1 (en) 2000-03-14 2006-02-28 Lucent Technologies Inc. Location based routing for mobile ad-hoc networks
US6836465B2 (en) 2001-11-29 2004-12-28 Ipsum Networks, Inc. Method and system for path identification in packet networks
US7298707B2 (en) 2004-01-21 2007-11-20 Cisco Technology, Inc. System and method for controlling the flooding of information in a network environment
US7756017B2 (en) * 2006-09-08 2010-07-13 The Uwm Research Foundation, Inc. System and method for scheduling routing table calculation in link state routing protocols
CN101374323A (zh) * 2007-08-21 2009-02-25 华为技术有限公司 网络信息更新方法及系统
JP5292951B2 (ja) 2008-07-03 2013-09-18 日本電気株式会社 経路制御方法、経路制御システム、経路制御装置、及び経路制御用プログラム
FR2954644A1 (fr) 2009-12-21 2011-06-24 Thales Sa Protocole de routage fiabilise
EP2517122A4 (en) 2009-12-27 2014-08-27 Sigma Designs Israel Sdi Ltd ROUTING AND TOPOLOGY MANAGEMENT
WO2011079441A1 (zh) * 2009-12-30 2011-07-07 中兴通讯股份有限公司 多协议标签交换系统中网络拓扑的更新方法及系统
CN102195857A (zh) * 2010-03-18 2011-09-21 武汉迈威光电技术有限公司 一种网络拓扑结构与节点信息搜集方法
US8959139B2 (en) 2010-05-28 2015-02-17 Juniper Networks, Inc. Application-layer traffic optimization service endpoint type attribute
US8953948B2 (en) * 2011-02-23 2015-02-10 Ciena Corporation Optical transport network synchronization and timestamping systems and methods
US8908539B1 (en) * 2012-05-25 2014-12-09 Google Inc. Systems and methods for testing network connections of a centrally-controlled network
CN103001887B (zh) * 2012-11-22 2018-01-05 中兴通讯股份有限公司 一种链路保活方法、控制器及交换机
EP3141037B1 (en) * 2014-05-09 2019-04-24 Telefonaktiebolaget LM Ericsson (publ) Uplink reconfiguration for split bearer in dual connectivity
KR101564965B1 (ko) 2015-05-14 2015-11-03 주식회사 티맥스 소프트 분산 서버 환경에서 벡터 클럭을 사용하여 메시지에 상대적인 순서를 부여하고 상기 부여된 상대적인 순서에 따라 메시지를 전달하기 위한 방법 및 장치
US10409782B2 (en) * 2016-06-15 2019-09-10 Chen Zhang Platform, system, process for distributed graph databases and computing
US20180063238A1 (en) * 2016-08-25 2018-03-01 Jiangang Zhang Massively Scalable, Low Latency, High Concurrency and High Throughput Decentralized Consensus Algorithm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004521561A (ja) 2001-06-11 2004-07-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動的ネットワーク及び動的ネットワークに対するルーティング方法
US20140286344A1 (en) 2007-06-01 2014-09-25 Rockstar Consortium Us Lp Distributed connection establishment and restoration

Also Published As

Publication number Publication date
TW202228420A (zh) 2022-07-16
US20200053148A1 (en) 2020-02-13
CN116846809A (zh) 2023-10-03
TWI763767B (zh) 2022-05-11
CN110199500A (zh) 2019-09-03
GB201701592D0 (en) 2017-03-15
JP7127035B2 (ja) 2022-08-29
EP3577858B1 (en) 2021-09-15
TW201832513A (zh) 2018-09-01
JP2020505839A (ja) 2020-02-20
EP3952217A1 (en) 2022-02-09
WO2018142258A1 (en) 2018-08-09
EP3577858A1 (en) 2019-12-11
JP2022159468A (ja) 2022-10-17
US11050821B2 (en) 2021-06-29
TWI806517B (zh) 2023-06-21
CN110199500B (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
JP7494256B2 (ja) ネットワークのトポロジのネットワークの認識を更新するコンピュータにより実装されるシステム及び方法
Mao et al. Perigee: Efficient peer-to-peer network design for blockchains
US11778021B2 (en) Computer-implemented system and method for updating a network's knowledge of the network's topology
CN110754070B (zh) 最近交易在区块链网络上的快速传播
Gill et al. Let the market drive deployment: A strategy for transitioning to BGP security
WO2019021107A1 (en) COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR MANAGING A LARGE MEMORY GROUP DISTRIBUTED IN A BLOCK CHAIN NETWORK
JP7401465B2 (ja) ノードのネットワークにおいてデータパケットを伝搬させるシステム及び方法
US11489751B2 (en) Blockchain-based methods and device for propagating data in a network
Baniata et al. DONS: Dynamic Optimized Neighbor Selection for smart blockchain networks
KR20200081533A (ko) 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
Sitanayah et al. Fault-tolerant relay deployment based on length-constrained connectivity and rerouting centrality in wireless sensor networks
Maurer et al. On byzantine broadcast in loosely connected networks
Brinkmeier et al. Optimally dos resistant p2p topologies for live multimedia streaming
Jesus et al. Dependability in aggregation by averaging
Serena et al. Simulation of dissemination strategies on temporal networks
Newport Consensus with an abstract MAC layer
Jesus et al. Fault-tolerant aggregation by flow updating
Mikalsen Firechain: An efficient blockchain protocol using secure gossip
Jahanian et al. CoNICE: Consensus in intermittently-connected environments by exploiting naming with application to emergency response
Byrenheid et al. Attack resistant leader election in social overlay networks by leveraging local voting
JP2004260279A (ja) ピアグループの構成方法、属性情報更新方法、分断検出方法およびピアならびに該方法を実行するためのプログラム
Wang et al. Churn-tolerant leader election protocols
Zhu et al. Design of low-latency overlay protocol for blockchain delivery networks
Duan et al. Best effort broadcast under cascading failures in interdependent networks
Blockchains et al. Vijeth Aradhya¹ (), Seth Gilbert¹, and Aquinas Hobor¹, 2 1 National University of Singapore, Singapore, Singapore {varadhya, seth. gilbert}@ comp. nus. edu. sg 2 University College London, London, UK a. hobor@ cs. ucl. ac. uk

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240326

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240522

R150 Certificate of patent or registration of utility model

Ref document number: 7494256

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150