JP2022517266A - メッシュネットワーク - Google Patents

メッシュネットワーク Download PDF

Info

Publication number
JP2022517266A
JP2022517266A JP2021540893A JP2021540893A JP2022517266A JP 2022517266 A JP2022517266 A JP 2022517266A JP 2021540893 A JP2021540893 A JP 2021540893A JP 2021540893 A JP2021540893 A JP 2021540893A JP 2022517266 A JP2022517266 A JP 2022517266A
Authority
JP
Japan
Prior art keywords
node
nodes
communication link
multicast identification
identification message
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.)
Granted
Application number
JP2021540893A
Other languages
English (en)
Other versions
JP7315679B2 (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.)
Northrop Grumman Systems Corp
Original Assignee
Northrop Grumman Systems Corp
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 Northrop Grumman Systems Corp filed Critical Northrop Grumman Systems Corp
Publication of JP2022517266A publication Critical patent/JP2022517266A/ja
Application granted granted Critical
Publication of JP7315679B2 publication Critical patent/JP7315679B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • 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/20Network management software packages
    • 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/026Details of "hello" or keep-alive messages
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

メッシュネットワークを確立するためのシステムは、複数のノードの各々に対してソフトウェアアプリケーションの実行を開始する1つまたは複数のコンピューティングプラットフォームを含むことができる。複数のノードの各々は、複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、複数のノードの別のノードとのメッシュネットワーク内の通信リンクを確立する。さらに、複数のノードの各々は、トークンレジスタ内に、通信リンクが確立されている複数のノードの各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別される通信リンクが確立されていない複数のノードの各ノードの別の表示とを記録する。さらに、複数のノードの各々は、メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストする。

Description

本開示は、コンピュータネットワークに関する。より具体的には、本開示は、メッシュネットワークを確立および維持するためのシステムおよび方法に関する。
コンピューティングプラットフォームまたはデジタルプラットフォームとは、ソフトウェアが実行される環境を指す。コンピューティングプラットフォームは、プログラムコードが実行されるものであれば、ハードウェアまたはオペレーティングシステム(OS)、ウェブブラウザおよび関連するアプリケーションプログラミングインタフェース、またはその他の基本となるソフトウェアであり得る。コンピューティングプラットフォームには、コンピューターアーキテクチャ、OS、ランタイムライブラリなど、様々な抽象化レベルがある。コンピューティングプラットフォームは、コンピュータプログラムを実行することができるステージである。
ミドルウェアは、オペレーティングシステムから利用できるサービスを超えて、ソフトウェアアプリケーションにサービスを提供するコンピュータソフトウェアである。それは「ソフトウェアグルー」として説明することができる。ミドルウェアは、ソフトウェア開発者が通信および入出力を簡単に実施できるようにする。ミドルウェアという用語は、一般に、分散アプリケーションでのデータの通信および管理を可能にするソフトウェアを指す。1つの定義として、ミドルウェアは、「トランスポート(例えば、TCP/IPを介して)層のサービスセットの上位にあるが、アプリケーション環境の下位にある(例えば、アプリケーションレベルのAPIよりも下にある)サービス」である。このより具体的な意味では、ミドルウェアは、クライアントサーバにおけるダッシュ(「-」)、またはピアツーピアにおける「ツー(-to-)」として説明することができる。ミドルウェアには、ウェブサーバ、アプリケーションサーバ、コンテンツ管理システム、およびアプリケーションの開発および配信をサポートする同様のツールが含まれる。
一例は、メッシュネットワークを確立するためのシステムに関する。システムは、複数のノードの各々に対してソフトウェアアプリケーションの実行を開始する1つまたは複数のコンピューティングプラットフォームを含むことができる。1つまたは複数のプラットフォームの各々は、複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、複数のノードの別のノードとのメッシュネットワークにおける通信リンクを確立することもできる。1つまたは複数のプラットフォームの各々は、トークンレジスタに、通信リンクが確立されている複数のノードの各ノードの特定の表示(indication)と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、通信リンクが確立されていない複数のノードの各ノードの別の表示とを記録することもできる。1つまたは複数のプラットフォームの各々は、個々のノードの始動に応答して、メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストする。個々のノードからの特定のマルチキャスト識別メッセージは、個々のノードが通信リンクを確立した複数のノードの各ノードに関する特定の識別子と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、個々のノードが通信リンクを確立していない各ノードに関する別の識別子とを含む。
別の例は、メッシュネットワークの複数のノードを含むメッシュネットワークを確立するためのシステムに関し、複数のノードの各々は、1つまたは複数のコンピューティングプラットフォーム上で実行され、オンラインになると、複数のノードの各々は、メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、各マルチキャスト識別メッセージは、個々のノードの一意の識別子と、個々のノードに関するトークンレジスタの現在の状態を特徴付けるデータとを含む。複数のノードの各々は、複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、複数のノードの別のノードとのメッシュネットワーク内の通信リンクを確立する。複数のノードの各々は、個々のトークンレジスタに、通信リンクが確立されている複数のノードの各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、マルチキャスト識別メッセージを受信していない複数のノードの各ノードの別の表示とを記録する。
さらなる別の例は、メッシュネットワークを確立するための方法に関する。方法は、メッシュネットワークの第1のノードにおいてアプリケーションの実行を開始するステップを含むことができる。方法は、開始後に、メッシュネットワーク上の各ノードにマルチキャスト識別メッセージをブロードキャストするステップも含むことができる。方法は、メッシュネットワーク上の第2のノードによってブロードキャストされた第1のマルチキャスト識別メッセージを第1のノードによって受信するステップをさらに含むことができる。方法は、第1のノードが、第1のマルチキャスト識別メッセージの受信に応答して、第2のノードとの通信リンクが確立されていないことを決定するステップをさらに含むことができる。方法は、第1のノードが、第2のノードとの通信リンクが確立されていないとの決定に応答して、第2のノードによってブロードキャストされた第1のマルチキャスト識別メッセージにおいて識別されたポート上で第2のノードとの通信リンクを確立するステップをさらに含むことができる。方法は、確立後、第1のノードが、メッシュネットワーク上に第2のノードによってブロードキャストされた第2のマルチキャスト識別メッセージを受信するステップをさらに含むことができる。方法は、第1のノードが、第2のマルチキャスト識別メッセージの受信に応答して、第2のノードとの通信リンクが確立されたという表示を追加するステップをさらに含むことができる。
メッシュネットワークを確立および維持するためのシステムの例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークを確立および維持するためのシステムの別の例を示す図。 メッシュネットワークのノードをサポートすることができるコンピューティングプラットフォームの例を示す図。 航空機上で動作する複数のノードのための複数のコンピューティングプラットフォームを備えたシステムの例を示す図。 メッシュネットワークを確立および維持するための方法の例を示す図。
本開示は、複数のノードの間でメッシュネットワークを確立および維持するためのシステムおよび方法に関する。システムは、複数のノードの各々上でソフトウェアアプリケーションの実行を各々が非決定論的な順序で開始する1つまたは複数のコンピューティングプラットフォームを含む。各ノードがオンラインになると(ソフトウェアアプリケーションが開始プロセスを完了すると)、個々のノードはマルチキャスト識別メッセージをメッシュネットワーク上の他のノードに過渡状態のレートでブロードキャストする。各マルチキャスト識別メッセージは、対応するノードに関する一意の識別子(例えば、ネットワークアドレスおよび開放ポート番号)と、対応するノードのトークンレジスタを特徴付けるデータとを含む。
さらに、マルチキャスト識別メッセージの受信に応答して、各ノードは、対応するトークンレジスタを分析して、個々のマルチキャスト識別メッセージをブロードキャストするノード(ブロードキャストノードと呼ばれる)との通信リンクが確立されているかどうかを判定する。ブロードキャストノードとの通信リンクが確立されていない場合、マルチキャスト識別メッセージを受信した各ノード(受信ノードと呼ぶことができる)は、ブロードキャストノードの一意の識別子(例えば、ネットワークアドレスおよび開放ポート)に基づいてブロードキャストノードとの通信リンクを確立する。さらに、ブロードキャストノードからの後続のマルチキャスト識別メッセージに応答して、各受信ノードは、受信ノードとブロードキャストノードとの間に通信リンクが確立されたという表示とともに、ブロードキャストノードをトークンレジスタに追加する。さらに、各受信ノードは、各マルチキャスト識別メッセージに応答して、マルチキャスト識別メッセージにおいて識別された、通信リンクが確立されていない他のノード(存在する場合)の表示を対応するトークンレジスタに追加する。従って、各受信ノード内のトークンレジスタは、マルチキャスト識別メッセージにおいて識別されたが、(直接)通信リンクが確立されていないノードの表示を含む。このプロセスは、メッシュネットワークが完全接続されたメッシュネットワークになるように、メッシュネットワーク内の各(オンライン)ノードの間に通信リンクができるまで継続する。
さらに、完全接続されたメッシュネットワークが確立された後、メッシュネットワーク上のノードの各々は、マルチキャスト識別メッセージをブロードキャストするレートを過渡状態のレートから定常状態のレートに低減して、ネットワークトラフィックを減少させる。しかしながら、将来のある時点で、メッシュネットワーク内の任意のノードが、任意のノードと特定のノードの間の通信リンクの障害を検出した場合、任意のノードは、トークンレジスタから特定のノードを削除して、ブロードキャストメッセージのレートを定常状態のレートから過渡状態のレートに変更する。本明細書で説明するシステムおよび方法を実装することにより、単一障害点のないサーバレスメッシュネットワークを確立し、かつ維持することができる。さらに、前述したように、メッシュネットワーク上のノードは、非決定論的な方法(例えば、予測不能な順序)で始動することができる。
図1は、N個のノード52のピアツーピア(例えば、サーバレス)完全接続されたメッシュネットワークを確立および維持するためのシステム50の一例を示しており、ここで、Nは2以上の整数である。本明細書で使用される場合、「完全接続されたメッシュネットワーク」という用語は、各ノード52が最終的に他の全てのノード52に直接接続することを示す。
N個のノード52は、コンピューティングプラットフォーム54上で実行されるソフトウェアサービス(例えば、アプリケーションおよびミドルウェア)を表すことができる。図1は1つのコンピューティングプラットフォームを示しているが、複数のコンピューティングプラットフォームが存在し得ることが理解される。一例として、システム50は、航空機に実装することができ、N個のノード52の各々は、航空機の異なる部分を制御するための異なるソフトウェアサービスを表す。
ノード52の各々は、ノード52間の通信を可能にするためのミドルウェアアプリケーションを含むことができる。ミドルウェアは、ミドルウェア上で実行されるソフトウェアアプリケーションのための独立したランタイム環境を提供することができる。いくつかの例では、N個のノード52の各々は、伝送制御プロトコルインターネットプロトコル(TCIP/IP)スタック内の通信プロトコルなどの標準通信プロトコルで通信することができる。より具体的には、いくつかの例では、ノード52は、伝送制御プロトコル(TCP)またはユーザデータグラムプロトコル(UDP)を介して通信することができる。
本明細書で使用される場合、「オンラインになる」という表現は、対応するノード52が起動プロセスの実行を完了し、メッシュネットワーク上の他のノードと通信する準備ができていることを示す。同様に、「オフラインになる」という表現は、対応するノードがメッシュネットワーク上の他のノードと通信できないことを示す。コンピューティングプラットフォーム54の初期起動時に、N個のノード52の各々が起動される。さらに、N個のノード52のうちの少なくとも2つは、非決定論的な順序でオンラインになる(例えば、起動プロセスを完了する)。別の言い方をすれば、少なくとも2つのノードが、予測できない順序で初期起動シーケンスを完了する。一例として、コンピューティングプラットフォーム54の1回目の起動時に、ノード3がノード2の前にオンラインになるように、ノード2は、ノード3の後に起動プロセスを完了することができる。さらに、コンピューティングプラットフォームの2回目の起動時に、ノード2がノード3の前にオンラインになるように、ノード2は、ノード3の前に起動プロセスを完了することができる。N個のノード52の各々を始動する順序は、例えば、コンピューティングプラットフォーム54の制御の及ばない可能性がある要因(例えば、ネットワーク待ち時間、オペレーティングシステムの優先順位および/または環境要因)に基づくことができる。
各ノード52は、メッシュネットワーク上のノード52を追跡するトークンレジスタ56を格納する。より具体的には、各ノード52のトークンレジスタ56は、トークンレジスタ56に関連付けられたノード52を特徴付ける情報を識別するデータを格納する。さらに、各ノード52のトークンレジスタ56は、トークンレジスタ56に関連付けられたノード52との通信リンクを確立したメッシュネットワーク上のノード52に関するデータを格納する。さらに、各ノード52のトークンレジスタ56は、トークンレジスタ56に関連付けられたノード52との通信リンクを確立していないが、少なくとも1つの他のノード52からのマルチキャスト識別メッセージにおいて識別された、メッシュネットワーク上のノード52に関するデータを格納する。言い換えると、任意のノード52について、任意のノードのトークンレジスタ56は、(i)任意のノード52(それ自体)、(ii)任意のノード52が通信リンクを確立した他の各ノード52、および(iii)通信リンクが確立されていないが、別のノード52からのマルチキャスト識別メッセージで識別されている各ノード52を識別する。
コンピューティングプラットフォーム54が始動された時から、メッシュネットワークが完全接続されたメッシュネットワークになるまで、N個のノード52の各々は、過渡状態で動作する。過渡状態では、N個のノード52の各々が、対応する起動手順を完了すると、過渡状態のレートでメッシュネットワーク内の各アクティブノードにマルチキャスト識別メッセージをブロードキャストする。(ブロードキャストされた)マルチキャスト識別メッセージの各々は、マルチキャスト識別メッセージをブロードキャストするノード52の一意の識別子を含む。一意の識別子は、ネットワークアドレス(IPアドレス)と、マルチキャスト識別メッセージをブロードキャストするノード52の開放ポートを特徴付けるデータとすることができる。各ノード52は、ブロードキャストされたマルチキャスト識別メッセージで識別された開放ポートを介して、任意のノードと一方向の通信リンクを確立することができるように構成されている。
ある特定の例(以下、「特定の例」という)として、ノード1が最初にオンラインになり(例えば、起動プロセスを完了する)、ノード3が2番目にオンラインになり、ノード2が3番目にオンラインになることを想定する。この例では、起動プロセスが完了すると、ノード1がマルチキャスト識別メッセージを過渡状態のレートでブロードキャストする。最初に、ノード1は、N個のノード52のうちの最初にオンラインになるノード52であるため、マルチキャスト識別メッセージは、ノード3またはノード2によって受信されない。
特定の例を続けると、ノード3がオンラインになると(例えば、起動プロセスが完了すると)、ノード3はノード1によってブロードキャストされた次のマルチキャスト識別メッセージを受信する。次のマルチキャスト識別メッセージの受信に応答して、ノード3は、ノード3からノード1への通信リンクを確立する(開放する)。通信リンクは、TCP接続、UDP接続、または別のプロトコルを使用する接続とすることができる。さらに、ブロードキャストされた後続のマルチキャスト識別メッセージのノード3による受信に応答して、ノード1は、ノード3との通信リンクが確立されたという表示を追加するようにノード1のトークンレジスタを更新する。
さらに、特定の例を続けると、ノード3は、また、マルチキャスト識別メッセージを過渡状態のレートでブロードキャストする。ノード2は、依然としてオンラインではないため(例えば、起動プロセスが完了していないため)、ノード2は、ノード3からマルチキャスト識別メッセージを受信しない。しかしながら、この例においてこの時点では、ノード1はオンラインであるため、ノード1は、マルチキャスト識別メッセージを受信する。ノード3からのマルチキャスト識別メッセージには、ノード3の一意の識別子と、ノード3のトークンレジスタ56を特徴付けるデータとが含まれている。一意の識別子には、ネットワークアドレス(例えば、IPアドレス)と、ノード3への通信リンクに関する開放ポート番号とが含まれている。より一般的には、マルチキャスト識別メッセージにおいて任意のノード52によって送信される一意の識別子は、任意のノードとの通信リンクを確立するための情報を含む。マルチキャスト識別メッセージの受信に応答して、ノード1は、ノード3との通信リンクを開く。さらに、後続のマルチキャスト識別メッセージにおいて、ノード1は、ノード1のトークンレジスタ56を特徴付けるデータと、ノード1の一意の識別子(例えば、IPアドレスおよび開放ポート番号)とをノード3に提供する。ノード1のトークンレジスタ56を特徴付けるデータの受信に応答して、ノード3は、ノード3のトークンレジスタ56を更新する。より具体的には、ノード3は、ノード1との通信リンクが確立されたという表示をトークンレジスタ56に追加する。
特定の例を続けると、その後、ノード2がオンラインになる。オンラインになると、ノード2は、ノード2の一意の識別子(例えば、IPアドレスおよび開放ポート番号)を含むマルチキャスト識別メッセージをブロードキャストする。特定の例では、ノード1がノード2から最初のマルチキャスト識別メッセージを受信しているが、ノード3は、マルチキャスト識別メッセージを受信していないと想定する。マルチキャスト識別メッセージは、通信の衝突および/またはメッシュネットワークでのパケットの損失が原因で、メッシュネットワーク上の全てのオンラインノード52で受信されない場合がある。従って、マルチキャスト識別メッセージに応答して、ノード1は、ノード2との通信リンクを確立して、後続のマルチキャスト識別メッセージにおいてノード1のトークンレジスタ56を特徴付けるデータをノード2に提供する。
ノード1のトークンレジスタ56を特徴付けるデータの受信に応答して、ノード2は、ノード2のトークンレジスタ56を更新する。特に、ノード2は、ノード1との通信リンクが確立されたという表示と、ノード3がメッシュネットワーク上にあるが、ノード3との通信リンクが確立されていないことを示すノード3に関する別の表示とをトークンレジスタ56に追加する。即ち、特定の例のこの時点で、ノード3のトークンレジスタは、メッシュネットワーク内で通信リンクを確立しているノード52に関する特定のインジケータ(indicator)と、通信リンクが確立されていないが、別のノード(例えば、ノード1)がメッシュネットワークのメンバーであると識別しているノードに関する別のインジケータとの2つの異なるインジケータを有する。
特定の例を続けると、後続のマルチキャスト識別メッセージにおいて、ノード1は、ノード1のトークンレジスタの更新されたステータスを特徴付けるデータをノード3に提供する。ノード1の更新されたトークンレジスタ56を特徴付けるデータに応答して、ノード2は、ノード2のトークンレジスタ56を更新する。特に、ノード2は、ノード3がメッシュネットワークのメンバーであり、かつノード2との通信リンクが確立されていないことを示すデータをトークンレジスタ56に格納する。
特定の例を続けると、N個のノード52の各々は、過渡状態のレートでマルチキャスト識別メッセージをブロードキャストし続ける。過渡状態のレートは、ノード52ごとに同じであっても、異なっていてもよいことに留意されたい。ある時点で、ノード3によってブロードキャストされたマルチキャスト識別メッセージがノード2で受信されると想定する。それに応答して、ノード2は、ノード3との通信リンクを確立する。さらに、後続のマルチキャスト識別メッセージにおいて、ノード2は、ノード2の一意の識別子(例えば、IPアドレスおよび開放ポート番号)と、トークンレジスタ56を特徴付けるデータとをノード3に提供する。それに応答して、ノード3は、ノード2との通信リンクを確立して、後続のマルチキャスト識別メッセージにおいて、ノード2の一意の識別子(例えば、IPアドレスおよび開放ポート番号)と、ノード2のトークンレジスタを特徴付けるデータをノード3に提供する。後続のマルチキャスト識別メッセージに応答して、ノード2は、ノード3との通信リンクが確立されたことを記録するようにそのトークンレジスタ56を変更する。従って、特定の例のこの時点で、メッシュネットワークの各ノード52間で直接双方向通信が確立される。従って、メッシュネットワークは、完全接続されたメッシュネットワークとなる。
システム50の各ノード52によってブロードキャストされる後続のマルチキャスト識別メッセージにおいて、対応するトークンレジスタ56を特徴付けるデータは、メッシュネットワーク上の全てのノードを識別する。従って、所定の時間(例えば、5~10秒)の後、メッシュネットワークは、定常状態にあると見なされる。そのような状況では、所定の時間が経過した後、各ノード52は、マルチキャスト識別メッセージをブロードキャストするレートを、過渡状態のレートから定常状態のレートに低減することができる。一例として、定常状態のレートでは、各ノード52は、メッシュネットワーク上のネットワークトラフィックを減少させるために、過渡状態のレートよりも少なくとも半分低いレートでマルチキャスト識別メッセージをブロードキャストする。従って、任意のノード52が過渡状態のレートで1秒あたり1個のメッセージのレートでマルチキャスト識別メッセージをブロードキャストする場合、任意のノードは、2秒以上あたり1個のメッセージの定常状態のレートでマルチキャスト識別メッセージをブロードキャストし得る。
特定の例を続けると、ある時点で、定常状態に達した後、ノード3がオフラインになる(無効になる)と想定する。一例では、例えば、ノード3で実行されているソフトウェアの障害のために、ノード3がオフラインになる可能性がある。別の例では、ノード3は、システム50の物理的構成要素がノード3をサポートする領域内で航空機が損傷を受けた状況でオフラインになる可能性がある。このような場合、ノード1またはノード2(残りの機能ノード52)がオフラインノード(ノード2)にメッセージを送信することを試行するが、その試行は失敗する。このような障害は、例えば、送信されたメッセージに対する確認応答の欠如によって検出することができる。
特定の例を続けると、ノード2は、ノード3がメッセージに応答していないことを検出すると想定する。このような状況では、ノード2はノード3のトークンレジスタ56からノード3を削除し、ノード2は過渡状態に戻り、ノード3は、更新された状態のトークンレジスタ56を特徴付けるデータを含むマルチキャスト識別メッセージを過渡状態のレートでブロードキャストする。マルチキャスト識別メッセージの受信に応答して、ノード1は、ノード2のトークンレジスタ56を特徴付けるデータを分析して、ノード2が欠落していることを識別する。それに応答して、ノード1は、ノード3にメッセージを送信することを試行することができる。特定の例では、ノード3が無効になっているため、試行は失敗する。それに応答して、ノード1は、トークンレジスタ56からノード3を削除して、過渡状態に戻り、マルチキャスト識別メッセージが過渡状態のレートでブロードキャストされることとなる。
特定の例を続けると、残りの両方のオンラインノード52(ノード1およびノード2)が、対応するトークンレジスタがメッシュネットワーク内に他のノードを含んでいないことを検出すると、メッシュネットワークは定常状態に戻る。特定の例では、定常状態では、ノード1およびノード2の両方が、マルチキャスト識別メッセージを送信するレートを過渡状態のレートから定常状態のレートに低減する。
システム50を実装することにより、サーバを使用することなく、完全接続されたメッシュネットワークを迅速に確立することができる。さらに、前述したように、ノード52がアクティブ化される順序、および/または起動プロセスを完了する順序の要件は存在しない。即ち、メッシュネットワーク上の各ノード52は、任意の順序で、かつ/または非決定論的にオンラインにすることができる。さらに、システム50は、単一障害点を持たない。むしろ、システム50はサーバレスであり、その結果、各ノード52は、中間システムなしで他のノード52と通信することができる。さらに、ミドルウェアは、ミドルウェア上で実行されているアプリケーションからのメッセージが、メッセージの意図された受信側(例えば、別のアプリケーション)がオンラインになるまで遅れるように構成することができる。
図2A~図2Nは、複数のノード102間で完全接続されたメッシュネットワークを確立および維持するためのシステム100の例を示す。図示の例では、4個のノード102が存在する。しかしながら、他の例では、より多くのまたはより少ないノード102が存在することができる。ノード102は、図1のノード52を実施するために採用され得る。ノード102は、コンピューティングプラットフォーム上で実行されるソフトウェアサービスを表すことができる。各ソフトウェアサービスは、ノード102間の通信を可能にするミドルウェア上で動作することができる。各ノード102は、トークンレジスタ104(図2A~図2Nにおいて「TR」とラベル付けされている)を含む。図2A~図2N全体を通して、実線で示されているノード102(図2Aのノード1およびノード2など)は、オンラインである(起動プロセスを完了した)と見なされることが理解される。さらに、図2A~図2Nに示される例の全体を通して、破線のノード102(図2Aのノード2およびノード4など)は、オフラインである(例えば、無効化されている、および/または起動プロセスが完了していない)と見なされる。
各トークンレジスタ104は、対応するノード102の識別情報と、対応するノード102が通信リンクを確立しているメッシュネットワーク内のノード102(存在する場合)に関する特定の表示とを含む。さらに、各トークンレジスタ104は、別のノード102によって識別されたが、通信リンクが確立されていないメッシュネットワーク内のノード(存在する場合)に関する別の表示を含む。
図2Aにおいて、ネットワークが過渡状態にあると想定する。特に、前述したように、図2Aにおいて、ノード1および3は実線で示されているようにオンライン(起動プロセスが完了)であり、ノード2および4は破線で示されているようにオフラインであると想定する。図2Aでは、矢印110によって示されるように、ノード1は、マルチキャスト識別メッセージをブロードキャストする。ノード2およびノード4はオフラインであるため、ノード3は、マルチキャスト識別メッセージ110を受信する。マルチキャスト識別メッセージ110は、一意の識別子(例えば、IPアドレスおよび開放ポート番号)と、マルチキャスト識別メッセージ110をブロードキャストするノード102のトークンレジスタとを含むことができる。図2Bに示されるように、マルチキャスト識別メッセージ110に応答して、ノード3は、ノード1からのマルチキャスト識別メッセージにおいて識別される開放ポート上で矢印112によって示されるノード1との通信リンクを確立する。
図2Cに示されるように、ノード3によってブロードキャストされる矢印114によって示される次のマルチキャスト識別メッセージ110は、ノード3のトークンレジスタ104を特徴付けるデータを含む。ノード3は、ノード1との通信リンク112を確立し、ノード3およびノード1は、ノード3のトークンレジスタ104を特徴付けるデータを受信したので、ノード1は、ノード3をノード1のトークンレジスタ104に追加する。より具体的には、ノード1は、ノード3との間に通信リンク112が確立されたという特定の表示とともに、ノード3をトークンレジスタ104に追加する。図2Dに示されるように、ノード1は、ノード3の開放ポート上で矢印116によって示されるノード3との通信リンクを確立する。さらに、後続のマルチキャスト識別メッセージ110において、ノード1は、ノード1およびノード3を識別するノード1のトークンレジスタ104を特徴付けるデータを提供する。それに応答して、ノード3は、ノード1との通信リンクが確立されたという特定の表示とともに、ノード1をノード3のトークンレジスタ104に追加する。
さらに、図2Dでは、オンラインである各ノード102間で直接双方向通信が確立されている。従って、閾値時間(例えば、5~10秒)内に追加のノード102がオンラインにならない例では、結果的に形成されるメッシュネットワークは、2個のノード102間の完全接続されたメッシュネットワークとなる。従って、メッシュネットワークは定常状態にあり、このような状況では、ノード1およびノード3は、マルチキャスト識別メッセージのブロードキャストのレートを過渡状態のレートから定常状態のレートに低減する。しかしながら、図2Eにおいて、ノード2がオンラインになり、ノード1およびノード3が過渡状態に戻ることが生じるものと想定する。
より具体的には、図2Eにおいては、ノード2がオンラインになると、ノード2は、矢印120によって示されるように、一意の識別子(例えば、IPアドレスおよび開放ポート番号)と、図2のトークンレジスタ104を特徴付けるデータとを含むマルチキャスト識別メッセージをブロードキャストする。それに応答して、ノード1は、矢印122によって示されるように、ノード2との通信リンクを確立する。図2Fに示されるように、ノード1によってブロードキャストされる後続のマルチキャスト識別メッセージ110(図2Aにも示される)は、ノード1のトークンレジスタ104を特徴付けるデータを提供する。図2A~図2N全体を通して、同じ参照番号を異なる矢印で使用して、同じマルチキャスト識別メッセージに関して異なるエンドポイントを示していることに留意されたい。例えば、マルチキャスト識別メッセージ110は、ノード1によってノード3およびノード2の両方にブロードキャストされる。
ノード1によってブロードキャストされたマルチキャスト識別メッセージ110に応答して、ノード2は、そのトークンレジスタ104を変更する。より具体的には、ノード2は、ノード1との通信リンク122が確立されたという特定の表示とともに、ノード1をノード2のトークンレジスタ104に追加する。さらに、ノード2は、ノード3との通信リンクが確立されていないという別の表示とともに、ノード3をノード2のトークンレジスタ104に追加する。図2Eに示されるように、通信リンクが確立されていないメッシュネットワーク上のノード102は、参照番号126によって示されるように、色が反転したトークンレジスタ104で表されている。
図2Fでは、ノード1からのマルチキャスト識別メッセージ110に応答して、ノード2は、矢印128によって示されるように、ノード1との通信リンクを確立する。さらに、ノード2によってブロードキャストされる後続のマルチキャスト識別メッセージ120において、ノード2は、ノード2のトークンレジスタ104を特徴付けるデータを提供する。この状況において、ノード3は、この特定のマルチキャスト識別メッセージを受信しないと想定する。それに応答して、ノード1は、通信リンク122がノード2と確立されたという特定の表示とともに、ノード2をノード1のトークンレジスタ104に追加する。さらに、ノード1のトークンレジスタ104を特徴付けるデータを有する、ノード1からの後続のマルチキャスト識別メッセージ110がノード3で受信される。それに応答して、ノード3は、ノード2との通信リンクが確立されていないという他の表示とともに、ノード2をトークンレジスタ104に追加する。
図2Gにおいて、ノード2によってブロードキャストされた後続のマルチキャスト識別メッセージ120がノード3において受信される。それに応答して、ノード3は、ノード2の開放ポート上で矢印130によって示されるように、ノード2との通信リンクを確立する。さらに、ノード3によってブロードキャストされる後続のマルチキャスト識別メッセージ114において、ノード3は、ノード3のトークンレジスタ104を特徴付けるデータをノード2(およびノード1)に提供する。それに応答して、ノード3からノード2への通信リンク130が確立されるので、ノード2は、通信リンク130がノード3と確立されたことを示すようにノード2のトークンレジスタ104を変更する。
さらに、図2Hに示されるように、ノード3によってブロードキャストされたマルチキャスト識別メッセージ114にさらに応答して、ノード2は、ノード3の開放ポート上で矢印132によって示されるノード3との通信リンクを確立する。さらに、後続のマルチキャスト識別メッセージ120において、ノード2は、トークンレジスタ104をノード3(およびノード1)にブロードキャストする。それに応答して、ノード2からノード3への通信リンク132が確立されるので、ノード3は、通信リンク132がノード2と確立されたことを示すようにノード3のトークンレジスタ104を変更する。
さらに、図2Dに示される状況と同様に、図2Hにおいて、直接双方向通信が、オンラインである各ノード102間で確立される。従って、閾値時間(例えば、5~10秒)内に追加のノード102がオンラインにならない例では、結果的に形成されるメッシュネットワークは、3個のノード102間の完全接続されたメッシュネットワークとなる。従って、メッシュネットワークは定常状態にあり、このような状況では、ノード1、ノード2、およびノード3は、マルチキャスト識別メッセージのブロードキャストのレートを過渡状態のレートから定常状態のレートに低減する。しかしながら、図2Iにおいて、ノード4がオンラインになり、ノード1、ノード2、およびノード3が過渡状態に戻ることが生じたと想定する。
より具体的には、図2Iにおいて、ノード4がオンラインになると、ノード4は、矢印140によって示されるように、一意の識別子(例えば、IPアドレスおよび開放ポート番号)と、ノード3のトークンレジスタ104を特徴付けるデータとを含むマルチキャスト識別メッセージをブロードキャストする。図2Iに示される例において、ノード3は、ノード4からマルチキャスト識別メッセージを受信し、ノード1およびノード2は、ノード4からマルチキャスト識別メッセージ140を受信しないと想定する。それに応答して、ノード3は、矢印142によって示されるように、ノード4との通信リンクを確立する。図2Iに示されるように、後続のマルチキャスト識別メッセージ114(図2Aにおいても示される)において、ノード3は、ノード3のトークンレジスタ104を特徴付けるデータを提供する。それに応答して、ノード4はそのトークンレジスタ104を変更する。より具体的には、ノード2は、ノード4との通信リンク142が確立されたという特定の表示とともに、ノード3をノード2のトークンレジスタ104に追加する。さらに、ノード4は、ノード1またはノード2との通信リンクが確立されていないという別の表示とともに、ノード1およびノード2をトークンレジスタ104に追加する。さらに、ノード1およびノード2は各々、ノード4がメッシュネットワーク上のノードであり、かつノード4との通信リンクが確立されていないという表示を追加するように対応するトークンレジスタ104を変更する。
図2Jに示されるように、後続のマルチキャスト識別メッセージ114は、ノード4によって受信され、それに応答して、ノード4は、矢印144によって示されるノード4との通信リンクを開く。さらに、ノード4によってブロードキャストされた後続のマルチキャスト識別メッセージ140は、ノード1ではなく、ノード2およびノード3によって受信される。それに応答して、ノード3は、通信リンク144がノード4と確立されたことを示すようにそのトークンレジスタ104を変更する。さらに、本明細書で説明する方法で、ノード2は、マルチキャスト識別メッセージ140で識別されるノード4の開放ポート上で矢印150によって示される通信リンクを確立し、ノード2は、後続のマルチキャスト識別メッセージ120をブロードキャストする。ノード2からノード4への通信リンク150が確立されるので、ノード2からのマルチキャスト識別メッセージ120に応答して、ノード4は、通信リンク150がノード2と確立されたという特定の表示を含むようにそのトークンレジスタ104を変更する。
さらに、ノード2からのマルチキャスト識別メッセージ120に応答して、ノード4は、矢印152によって示されるノード2との通信リンクを確立する。さらに、ノード4からブロードキャストされた後続のマルチキャスト識別メッセージ140に応答して、ノード2は、通信リンク154がノード4と確立されたという特定の表示を含むように、そのトークンレジスタ104を変更する。
図2Kに示されるように、ノード4によってブロードキャストされる後続のマルチキャスト識別メッセージ140は、ノード1、ノード2、ノード3、およびノード4によって受信される。それに応答して、ノード1は、矢印154によって示されるノード4との通信リンクを開く。さらに、ノード1からの後続のマルチキャスト識別メッセージ110の受信に応答して、ノード4は、通信リンク154がノード1と確立されたという特定の表示を含むように、そのトークンレジスタ104を変更する。さらに、ノード1によってブロードキャストされた後続のマルチキャスト識別メッセージ110に応答して、後続のマルチキャスト識別メッセージ110は、ノード4(ノード2およびノード3も同様)において受信される。それに応答して、ノード4は、ノード4の開放ポート上で矢印156によって示される通信リンクを開く。ノード4によってブロードキャストされた後続のマルチキャスト識別メッセージ140に応答して、ノード1は、通信リンク154がノード4と確立されたという特定の表示を含むように、そのトークンレジスタ104を変更する。
さらに、図2Dおよび図2Hに示されている状況と同様に、図2Kにおいて、直接双方向通信が、オンラインである各ノード102間で確立される。従って、閾値時間(例えば、5~10秒)内に追加のノード102がオンラインにならない例では、結果的に形成されるメッシュネットワークは、3個のノード102間の完全接続されたメッシュネットワークとなる。従って、メッシュネットワークは定常状態にあり、このような状況では、ノード1、ノード2、ノード3、およびノード4は、マルチキャスト識別メッセージのブロードキャストのレートを過渡状態のレートから定常状態のレートに低減する。
さらに、図2Lにおいて、ノード4が不確定要因によりオフラインになったと想定する。いくつかの例として、ノード4はソフトウェアクラッシュによりオフラインになる場合がある。他の例では、ノード4のハードウェアを搭載した航空機の損傷など、ハードウェア障害が原因でノード4がオフラインになる場合がある。このような状況では、ノード1、ノード2、およびノード3によってブロードキャストされるマルチキャスト識別メッセージは、110、114、および152の破線で示されているように、ノード4によって受信されない。さらに、ある時点で、ノード1は通信リンク154を介してノード4との通信を試行する。さらに、ノード2は、通信リンク152を介してノード4との通信を試行し、ノード3は、通信リンク142を介してノード4との通信を試行する。ノード4はオフラインであるため、破線142、152、および154で示されているように、通信リンク142、152、および154の各々が切断される。従って、この状況では、ノード1、ノード2、およびノード3は、マルチキャスト識別メッセージのブロードキャストのレートを定常状態のレートから過渡状態のレートに増加させる過渡モードに戻る。
図2Mに示すように、ノード4がオフラインであることを検出すると、ノード1、ノード2、およびノード3は、ノード4がメッシュネットワーク上のノードであるが、ノード4との通信リンクが確立されていないことを示すように個々のトークンレジスタ104を変更する。さらに、図2Nに示されるように、所定の時間(例えば、5~10秒)後、ノード1、ノード2、およびノード3は、メッシュネットワークからノード4を削除するように個々のトークンレジスタ104を変更する。さらに、閾値時間(例えば、5~10秒)内に追加のノード102がオンラインにならない例では、結果的に形成されるメッシュネットワークは、3個のノード102間の完全接続されたメッシュネットワークとなる。従って、メッシュネットワークは定常状態にあり、このような状況では、ノード1、ノード2、およびノード3は、マルチキャスト識別メッセージのブロードキャストのレートを過渡状態のレートから定常状態のレートに低減する。
図2A~図2Nのシステム100を使用することにより、ノード102の各々を、非決定論的な順序でオンラインにし、かつ/またはオフラインにすることができる。さらに、ノード102の通信を可能にするミドルウェアは、対応する各トークンレジスタ104が通信リンクが確立されたことを示すまでメッセージを遅らせることができる。このようにして、メッセージの再送信および/またはメッシュネットワーク上での衝突による遅延を短縮することができる。さらに、説明したように、システム100はサーバレスであるため、システム100の単一障害点は存在しない。実際、図2M~図2Nに示されているように、各ノード102は、別のノード102がオフラインになったことを検出したことに応答して、是正措置を取るように構成される。
図3は、例えば、図1のノード52および/または図2A-2Nのノード102のような、N個のノード202をサポートすることができるコンピューティングプラットフォーム200の例を示す。ここで、Nは、1以上の整数である。コンピューティングプラットフォーム200は、ハードウェア204を含む。いくつかの例では、ハードウェア204は、機械可読命令を格納するための非一時的メモリ(例えば、揮発性メモリおよび/または不揮発性メモリ)と、メモリにアクセスして機械可読命令を実行するための処理ユニット(例えば、1つまたは複数のプロセッサコア)とを含む。いくつかの例では、メモリは、ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリ、ランダムアクセスメモリ、またはそれらの任意の組み合わせとして実装することができる。他の例では、ハードウェア204は、命令が埋め込まれたマイクロコントローラを含むことができる。さらに、他の例では、ハードウェア204は、特定用途向け集積回路(ASIC)チップを含む。ハードウェア204はまた、他のコンピューティングプラットフォームと通信するためのイーサネット(登録商標)インターフェース、Wi?Fiインターフェース、ブルートゥース(Bluetooth(登録商標))インターフェースなどのインターフェースを含むことができる。
コンピューティングプラットフォーム200は、ハードウェア204上で実行されるオペレーティングシステム206を含むことができる。オペレーティングシステム206は、ハードウェア204およびソフトウェアリソースを管理することができるとともに、コンピュータプログラムに共通のサービスを提供することができる。さらに、ミドルウェア208(例えば、アプリケーションソフトウェア)のN個のインスタンスは、オペレーティングシステム206上で実行することができる。ミドルウェア208のN個のインスタンスの各々は、対応するノード202上に実装することができる。ミドルウェア208は、N個のアプリケーション210間の通信を可能にすることができ、各ノード202は、アプリケーションを含む。より具体的には、ミドルウェア208の各インスタンスは、2つのアプリケーションが別々のコンピューティングプラットフォーム上で実行されている状況を含んで、1つのアプリケーション210から別のアプリケーション210へのネットワーク通信(例えば、TCPおよび/またはUDPパケット)を指示することができる。さらに、各ミドルウェア208のインスタンスは、対応するアプリケーション210による別のアプリケーションと通信するための要求を、そのアプリケーションに対応するノードがオンラインになるまで遅らせることができる。即ち、ミドルウェア208は、任意のアプリケーション210がオフラインのアプリケーションと通信するための試行を防止することができる。いくつかの例では、ミドルウェア208のN個のインスタンスは、対応するアプリケーション210のための独立したランタイム環境を提供することができる。
図4は、図1のシステム50および/または図2A~図2Nのシステム100を実装するために採用することができるシステム250の例を示す。さらに、システム250は、3つのコンピューティングプラットフォーム252を含む。各コンピューティングプラットフォーム252は、図3のコンピューティングプラットフォーム200のインスタンスを表すことができる。システム250は、戦闘用の航空機で実行することができるソフトウェアの例として提供されている。
システム250は、コンピューティングプラットフォーム252の各々上で実行されるノードを含む。各ノードは、図1のノード52および/または図2A~図2Nのノード102のインスタンスを表すことができる。図4に示される例では、コンピューティングプラットフォーム1は、ナビゲーションノード260および制御ノード262を含む。ナビゲーションノード260は、例えば、航空機のナビゲーションシステムを制御するためのソフトウェアを含むことができる。制御ノード262は、航空機のパイロット制御のためのソフトウェアを表すことができる。
コンピューティングプラットフォーム2は、例えば、航空機の着陸装置を制御するためのソフトウェアを表すことができる着陸装置ノード264を含むことができる。さらに、コンピューティングプラットフォーム3は、航空機の兵器システムの動作を制御するための兵器ノード266を含むことができる。ナビゲーションノード260、制御ノード262、着陸装置ノード264、および兵器ノード266の各々は、本明細書で説明されるように、非決定論的な方法でオンラインまたはオフラインにすることができる。さらに、図示のように、双方向通信リンク270(2つの一方向通信リンクを表すことができる)は、システム250内の各ノードをシステム250内の全ての他のノードに接続する。このようにして、システム250は、完全接続されたメッシュネットワークを動作させる。さらに、システム250の結果的に形成されるメッシュネットワークは、サーバレスであり、その結果、システム250は単一障害点を持たない。
図5は、コンピューティングプラットフォーム上で動作する複数のノードの間でメッシュネットワークを確立および維持するための方法300の例を示す。方法300は、任意のノード(例えば、図1のノード52および/または図2A~図2Nのノード102)によって実行することができる。
310において、任意のノードは、任意のノードがオンラインになるように、任意のノードの上で実行されるアプリケーションを開始する。315において、ノードは、マルチキャスト識別メッセージを過渡状態のレートでブロードキャストする。320において、ノードは、メッシュネットワーク上の別のノードによってブロードキャストされたマルチキャスト識別メッセージを受信する。
325において、他のノードとの通信リンクが確立されているかどうかに関して判定が行われる。325における判定が負(例えば、否)である場合、方法300は330に移行する。325における判定が正(例えば、是)である場合、方法300は335に移行する。330において、任意のノードは、マルチキャスト識別メッセージをブロードキャストする他のノードとの通信リンクをマルチキャスト識別メッセージにおいて識別された通信ポートで確立し、方法は315に戻る。
335において、ノードまたは複数のノードが任意のノードのトークンレジスタに追加されるべきであるかどうかに関して判定が行われる。判定は、例えば、マルチキャスト識別メッセージをブロードキャストした他のノードが、任意のノードのトークンレジスタ内に存在しない、かつ/または任意のノードのトークンレジスタ内に存在しない第3のノードが、他のノードによってブロードキャストされたマルチキャスト識別メッセージにおいて識別されるという判定に基づくことができる。335における判定が正(例えば、是)である場合、方法300は340に移行する。335における判定が負(例えば、否)である場合、方法300は345に移行する。340において、任意のノードは、335における判定に基づいてそのトークンレジスタを変更する。特に、340においてトークンレジスタは、任意のノードが通信を確立したメッシュネットワークの各ノードに関する特定の表示と、通信が確立されていないメッシュネットワーク上の各ノードの別の表示とを記録し、方法300は、315に戻る。
345において、メッシュネットワークが定常状態を達成したかどうかに関して別の判定が行われる。345における判定は、例えば、任意のノードのトークンレジスタがマルチキャスト識別メッセージに応答して変更されてからの経過時間に基づくことができる。345における判定が負(例えば、否)である場合、方法300は315に戻ることができる。345における判定が正(例えば、是)である場合、方法300は350に移行する。350において、任意のノードは、マルチキャスト識別メッセージのブロードキャストのレートを(過渡状態のレートから)定常状態のレートに低減する。
上記で説明したことは一例である。当然ながら、考えられる全ての構成要素または方法の組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび順列が可能であることを認識するであろう。従って、本開示は、添付の特許請求の範囲を含む、本出願の範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。本明細書で使用される場合、「含む」という用語は、含むがこれに限定されないことを意味し、「含んでいる」という用語は、含んでいるがこれに限定されないことを意味する。「に基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、本開示または特許請求の範囲が「ある」構成要素、「第1の」構成要素、または「別の」構成要素、またはそれらと同等の構成要素を記載している場合、それは、そのような構成要素を1つまたは複数含むと解釈されるべきであり、2つ以上の要素を必要とするわけでも、除外するわけでもない。
上記で説明したことは一例である。当然ながら、考えられる全ての構成要素または方法の組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび順列が可能であることを認識するであろう。従って、本開示は、添付の特許請求の範囲を含む、本出願の範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。本明細書で使用される場合、「含む」という用語は、含むがこれに限定されないことを意味し、「含んでいる」という用語は、含んでいるがこれに限定されないことを意味する。「に基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、本開示または特許請求の範囲が「ある」構成要素、「第1の」構成要素、または「別の」構成要素、またはそれらと同等の構成要素を記載している場合、それは、そのような構成要素を1つまたは複数含むと解釈されるべきであり、2つ以上の要素を必要とするわけでも、除外するわけでもない。
以下に、上記実施形態から把握できる技術思想を付記として記載する。
[付記1]
メッシュネットワークを確立するためのシステムであって、
1つまたは複数のコンピューティングプラットフォームを備え、前記1つまたは複数のコンピューティングプラットフォームは、
複数のノードの各々についてソフトウェアアプリケーションの実行を開始し、ここで、複数のノードの各々は、
前記複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、前記複数のノードの別のノードとの前記メッシュネットワークにおける通信リンクを確立し、
トークンレジスタに、前記複数のノードにおける通信リンクが確立されている各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、前記複数のノードの通信リンクが確立されていない各ノードの別の表示とを記録し、
個々のノードの始動に応答して、前記メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、個々のノードからの特定のマルチキャスト識別メッセージは、個々のノードが通信リンクを確立した前記複数のノードの各ノードに関する特定の識別子と、前記1つまたは複数のマルチキャスト識別メッセージにおいて識別された、個々のノードが通信リンクを確立していない各ノードに関する別の識別子とを含み、
各ノードが伝送制御プロトコル(TCP)を介して通信する、システム。
[付記2]
メッシュネットワークを確立するためのシステムであって、
1つまたは複数のコンピューティングプラットフォームを備え、前記1つまたは複数のコンピューティングプラットフォームは、
複数のノードの各々についてソフトウェアアプリケーションの実行を開始し、ここで、複数のノードの各々は、
前記複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、前記複数のノードの別のノードとの前記メッシュネットワークにおける通信リンクを確立し、
トークンレジスタに、前記複数のノードにおける通信リンクが確立されている各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、前記複数のノードの通信リンクが確立されていない各ノードの別の表示とを記録し、
個々のノードの始動に応答して、前記メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、個々のノードからの特定のマルチキャスト識別メッセージは、個々のノードが通信リンクを確立した前記複数のノードの各ノードに関する特定の識別子と、前記1つまたは複数のマルチキャスト識別メッセージにおいて識別された、個々のノードが通信リンクを確立していない各ノードに関する別の識別子とを含み、
前記1つまたは複数のコンピューティングプラットフォームは、複数のコンピューティングプラットフォームを含む、システム。
[付記3]
メッシュネットワークを確立するためのシステムであって、
1つまたは複数のコンピューティングプラットフォームを備え、前記1つまたは複数のコンピューティングプラットフォームは、
複数のノードの各々についてソフトウェアアプリケーションの実行を開始し、ここで、複数のノードの各々は、
前記複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、前記複数のノードの別のノードとの前記メッシュネットワークにおける通信リンクを確立し、
トークンレジスタに、前記複数のノードにおける通信リンクが確立されている各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、前記複数のノードの通信リンクが確立されていない各ノードの別の表示とを記録し、
個々のノードの始動に応答して、前記メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、個々のノードからの特定のマルチキャスト識別メッセージは、個々のノードが通信リンクを確立した前記複数のノードの各ノードに関する特定の識別子と、前記1つまたは複数のマルチキャスト識別メッセージにおいて識別された、個々のノードが通信リンクを確立していない各ノードに関する別の識別子とを含み、
前記1つまたは複数のコンピューティングプラットフォームが航空機に実装される、システム。
[付記4]
前記複数のノードのうちの第1のノードがナビゲーションシステムを含み、前記複数のノードのうちの第2のノードが兵器システムを含む、付記3に記載のシステム。
[付記5]
メッシュネットワークを確立するためのシステムであって、
前記メッシュネットワークの複数のノードを備え、前記複数のノードの各々が1つまたは複数のコンピューティングプラットフォーム上で実行され、オンラインになると、前記複数のノードの各々が、
前記メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、ここで、各マルチキャスト識別メッセージは、個々のノードの一意の識別子と、個々のノードに関するトークンレジスタの現在の状態を特徴付けるデータとを含んでおり、
前記複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、前記複数のノードの別のノードとの前記メッシュネットワークにおける通信リンクを確立し、
個々のトークンレジスタに、通信リンクが確立されている前記複数のノードにおける各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、通信リンクが確立されていない前記複数のノードの各ノードの別の表示とを記録し、
前記複数のノードのうちの少なくとも2つが非決定論的な順序で始動され、
各ノードが伝送制御プロトコル(TCP)を介して通信する、システム。

Claims (20)

  1. メッシュネットワークを確立するためのシステムであって、
    1つまたは複数のコンピューティングプラットフォームを備え、前記1つまたは複数のコンピューティングプラットフォームは、
    複数のノードの各々についてソフトウェアアプリケーションの実行を開始し、ここで、複数のノードの各々は、
    前記複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、前記複数のノードの別のノードとの前記メッシュネットワークにおける通信リンクを確立し、
    トークンレジスタに、前記複数のノードにおける通信リンクが確立されている各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、前記複数のノードの通信リンクが確立されていない各ノードの別の表示とを記録し、
    個々のノードの始動に応答して、前記メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、個々のノードからの特定のマルチキャスト識別メッセージは、個々のノードが通信リンクを確立した前記複数のノードの各ノードに関する特定の識別子と、前記1つまたは複数のマルチキャスト識別メッセージにおいて識別された、個々のノードが通信リンクを確立していない各ノードに関する別の識別子とを含む、システム。
  2. 前記複数のノードのうちの少なくとも2つが非決定論的な順序で始動される、請求項1に記載のシステム。
  3. 各個々のノードによって提供されるマルチキャスト識別メッセージは、個々のノード上の開放通信ポートを識別する、請求項1に記載のシステム。
  4. 各ノードが伝送制御プロトコル(TCP)を介して通信する、請求項3に記載のシステム。
  5. 前記1つまたは複数のコンピューティングプラットフォームは、前記メッシュネットワークを介して前記複数のノードの間の通信を可能にするミドルウェアを備える、請求項1に記載のシステム。
  6. 前記複数のノードの各々は、前記複数のノードの各々との通信リンクを確立することに応答して、前記マルチキャスト識別メッセージをブロードキャストするレートを、過渡状態のレートから定常状態のレートに低減する、請求項1に記載のシステム。
  7. 前記複数のノードの各々が、
    個々のノードと特定のノードとの間の通信リンクの障害を検出し、
    前記トークンレジスタから前記特定のノードを削除し、
    前記マルチキャスト識別メッセージのブロードキャストのレートを定常状態のレートから過渡状態のレートに変更する、請求項6に記載のシステム。
  8. 前記1つまたは複数のコンピューティングプラットフォームは、複数のコンピューティングプラットフォームを含む、請求項1に記載のシステム。
  9. 前記複数のノードの各々は、独立したランタイム環境で動作する、請求項1に記載のシステム。
  10. 前記1つまたは複数のコンピューティングプラットフォームが航空機に実装される、請求項1に記載のシステム。
  11. 前記複数のノードのうちの第1のノードがナビゲーションシステムを含み、前記複数のノードのうちの第2のノードが兵器システムを含む、請求項10に記載のシステム。
  12. メッシュネットワークを確立するためのシステムであって、
    前記メッシュネットワークの複数のノードを備え、前記複数のノードの各々が1つまたは複数のコンピューティングプラットフォーム上で実行され、オンラインになると、前記複数のノードの各々が、
    前記メッシュネットワーク上でマルチキャスト識別メッセージをブロードキャストし、ここで、各マルチキャスト識別メッセージは、個々のノードの一意の識別子と、個々のノードに関するトークンレジスタの現在の状態を特徴付けるデータとを含んでおり、
    前記複数のノードの個々のノードによって、他のノードからのマルチキャスト識別メッセージに応答して、前記複数のノードの別のノードとの前記メッシュネットワークにおける通信リンクを確立し、
    個々のトークンレジスタに、通信リンクが確立されている前記複数のノードにおける各ノードの特定の表示と、1つまたは複数のマルチキャスト識別メッセージにおいて識別された、通信リンクが確立されていない前記複数のノードの各ノードの別の表示とを記録する、システム。
  13. 前記複数のノードのうちの少なくとも2つが非決定論的な順序で始動される、請求項12に記載のシステム。
  14. 各個々のノードによって提供される前記マルチキャスト識別メッセージは、個々のノード上の開放通信ポートを識別する、請求項12に記載のシステム。
  15. 各ノードが伝送制御プロトコル(TCP)を介して通信する、請求項13に記載のシステム。
  16. 前記複数のノードの各々は、前記複数のノードの各々との通信リンクを確立することに応答して、前記マルチキャスト識別メッセージをブロードキャストするレートを、過渡状態のレートから定常状態のレートに低減する、請求項12に記載のシステム。
  17. 前記複数のノードの各々が
    個々のノードと特定のノードとの間の通信リンクの障害を検出し、
    前記トークンレジスタから前記特定のノードを削除し、
    ブロードキャストメッセージのレートを定常状態のレートから過渡状態のレートに変更する、請求項16に記載のシステム。
  18. メッシュネットワークを確立するための方法であって、
    前記メッシュネットワークの第1のノードにおいてアプリケーションの実行を開始するステップと、
    開始後、前記メッシュネットワーク上の各ノードにマルチキャスト識別メッセージをブロードキャストするステップと、
    前記第1のノードが、前記メッシュネットワーク上の第2のノードによってブロードキャストされた第1のマルチキャスト識別メッセージを受信するステップと、
    前記第1のノードが、前記第1のマルチキャスト識別メッセージの受信に応答して、前記第2のノードとの通信リンクが確立されていないことを決定するステップと、
    前記第1のノードが、前記第2のノードとの通信リンクが確立されていないとの決定に応答して、前記第2のノードによってブロードキャストされた前記第1のマルチキャスト識別メッセージにおいて識別されたポート上で前記第2のノードとの通信リンクを確立するステップと、
    確立後、前記第1のノードが、前記メッシュネットワーク上に前記第2のノードによってブロードキャストされた第2のマルチキャスト識別メッセージを受信するステップと、
    前記第1のノードが、前記第2のマルチキャスト識別メッセージの受信に応答して、前記第2のノードとの通信リンクが確立されたという表示を追加するステップと、を含む方法。
  19. 前記第1のノードが、前記第1のマルチキャスト識別メッセージおよび/または前記第2のマルチキャスト識別メッセージにおいて識別された、第3のノードとの通信リンクが確立されていないという表示を追加するステップをさらに含む、請求項18に記載の方法。
  20. 前記メッシュネットワークの前記第1のノード、前記第2のノード、および前記第3のノードは、非決定論的な順序で始動される、請求項19に記載の方法。
JP2021540893A 2019-01-17 2019-12-10 メッシュネットワーク Active JP7315679B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/250,927 US10805146B2 (en) 2019-01-17 2019-01-17 Mesh network
US16/250,927 2019-01-17
PCT/US2019/065505 WO2020149965A1 (en) 2019-01-17 2019-12-10 Mesh network

Publications (2)

Publication Number Publication Date
JP2022517266A true JP2022517266A (ja) 2022-03-07
JP7315679B2 JP7315679B2 (ja) 2023-07-26

Family

ID=69024752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540893A Active JP7315679B2 (ja) 2019-01-17 2019-12-10 メッシュネットワーク

Country Status (5)

Country Link
US (1) US10805146B2 (ja)
EP (1) EP3887955A1 (ja)
JP (1) JP7315679B2 (ja)
KR (1) KR102631618B1 (ja)
WO (1) WO2020149965A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11257184B1 (en) 2018-02-21 2022-02-22 Northrop Grumman Systems Corporation Image scaler
US11157003B1 (en) 2018-04-05 2021-10-26 Northrop Grumman Systems Corporation Software framework for autonomous system
US11392284B1 (en) 2018-11-01 2022-07-19 Northrop Grumman Systems Corporation System and method for implementing a dynamically stylable open graphics library
US11089118B1 (en) 2020-06-19 2021-08-10 Northrop Grumman Systems Corporation Interlock for mesh network
US20240143338A1 (en) * 2022-11-02 2024-05-02 Pure Storage, Inc. Prioritized Deployment of Nodes in a Distributed Storage System

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009260594A (ja) * 2008-04-16 2009-11-05 Meidensha Corp データ通信方法
JP2011521590A (ja) * 2008-05-19 2011-07-21 クゥアルコム・インコーポレイテッド 無線ピア・ツー・ピア・ネットワークにおける、インフラストラクチャに援助された発見
JP2014060483A (ja) * 2012-09-14 2014-04-03 Hitachi Kokusai Electric Inc 通信システム及びその通信方法
US20150264554A1 (en) * 2011-01-14 2015-09-17 Cisco Technology, Inc. System and method for routing, mobility, application services, discovery, and sensing in a vehicular network environment
US20180212863A1 (en) * 2017-01-25 2018-07-26 Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret A. S. Island topologies and routing in hybrid mesh networks

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909577A (en) 1994-04-18 1999-06-01 Lucent Technologies Inc. Determining dynamic properties of programs
US5872909A (en) 1995-01-24 1999-02-16 Wind River Systems, Inc. Logic analyzer for software
US6038031A (en) 1997-07-28 2000-03-14 3Dlabs, Ltd 3D graphics object copying with reduced edge artifacts
US6976243B2 (en) 1999-10-05 2005-12-13 Borland Software Coporation Method and system for developing source code and displaying linked elements found within the source code
US20030023956A1 (en) 2000-02-14 2003-01-30 Adi Dulberg Embedded device monitoring agent
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7143343B2 (en) 2002-04-11 2006-11-28 International Business Machines Corporation Dynamic creation of an application's XML document type definition (DTD)
US6927778B2 (en) 2002-05-16 2005-08-09 Ati Technologies, Inc. System for alpha blending and method thereof
GB0406104D0 (en) 2004-03-17 2004-04-21 Koninkl Philips Electronics Nv Connecting devices to a peer-to-peer network
JP2007536634A (ja) 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7623516B2 (en) 2004-06-29 2009-11-24 Damaka, Inc. System and method for deterministic routing in a peer-to-peer hybrid communications network
US8086963B2 (en) 2005-05-19 2011-12-27 Microsoft Corporation Inheritance model between masters, layouts and slides
US7664107B2 (en) 2006-04-05 2010-02-16 Microsoft Corporation Self-stabilizing and fast-convergent structured peer-to-peer overlays
US8659654B2 (en) 2006-10-11 2014-02-25 Microsoft Corporation Image verification with tiered tolerance
US8136124B2 (en) 2007-01-18 2012-03-13 Oracle America, Inc. Method and apparatus for synthesizing hardware counters from performance sampling
US8719798B2 (en) 2007-08-01 2014-05-06 Sony Corporation System and method for software logging
US7996765B1 (en) 2007-09-07 2011-08-09 Adobe Systems Incorporated System and method for style sheet language coding that maintains a desired relationship between display elements
US20090145172A1 (en) 2007-12-10 2009-06-11 Bsh Home Appliances Corporation Washing machine with ultraviolet protection cycle
GB0823701D0 (en) 2008-12-31 2009-02-04 Symbian Software Ltd Fast data entry
US7990897B2 (en) * 2009-03-11 2011-08-02 Sony Corporation Method and apparatus for a wireless home mesh network with network topology visualizer
US10553001B2 (en) 2009-11-20 2020-02-04 Adobe Inc. Master page overlay
US20110216059A1 (en) 2010-03-03 2011-09-08 Raytheon Company Systems and methods for generating real-time three-dimensional graphics in an area of interest
US20120011491A1 (en) 2010-07-06 2012-01-12 Adi Eldar Efficient recording and replaying of the execution path of a computer program
US9361202B2 (en) 2013-07-18 2016-06-07 International Business Machines Corporation Filtering system noises in parallel computer systems during thread synchronization
US9501346B2 (en) 2014-01-21 2016-11-22 Oracle International Corporation Fine and coarse granularity logging handler
JP6031535B2 (ja) 2014-02-10 2016-11-24 ネイバー コーポレーションNAVER Corporation 多様な形態のカードを利用してサイトの製作を支援するサイト管理方法およびシステム
US10430169B2 (en) 2014-05-30 2019-10-01 Apple Inc. Language, function library, and compiler for graphical and non-graphical computation on a graphical processor unit
US9600594B2 (en) 2014-10-09 2017-03-21 Wrap Media, LLC Card based package for distributing electronic media and services
US20170329730A1 (en) 2016-05-12 2017-11-16 Wipro Limited Method and unit for handling interrupts in a system
US10689109B2 (en) * 2016-10-13 2020-06-23 Dynetics, Inc. Interceptor unmanned aerial system
US20190246289A1 (en) * 2018-02-08 2019-08-08 Mediatek Singapore Pte. Ltd. System And Method To Form An Optimized Repeater Network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009260594A (ja) * 2008-04-16 2009-11-05 Meidensha Corp データ通信方法
JP2011521590A (ja) * 2008-05-19 2011-07-21 クゥアルコム・インコーポレイテッド 無線ピア・ツー・ピア・ネットワークにおける、インフラストラクチャに援助された発見
US20150264554A1 (en) * 2011-01-14 2015-09-17 Cisco Technology, Inc. System and method for routing, mobility, application services, discovery, and sensing in a vehicular network environment
JP2014060483A (ja) * 2012-09-14 2014-04-03 Hitachi Kokusai Electric Inc 通信システム及びその通信方法
US20180212863A1 (en) * 2017-01-25 2018-07-26 Airties Kablosuz Iletisim Sanayi Ve Dis Ticaret A. S. Island topologies and routing in hybrid mesh networks

Also Published As

Publication number Publication date
US10805146B2 (en) 2020-10-13
JP7315679B2 (ja) 2023-07-26
US20200235987A1 (en) 2020-07-23
KR102631618B1 (ko) 2024-02-01
EP3887955A1 (en) 2021-10-06
KR20210104851A (ko) 2021-08-25
WO2020149965A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
JP7315679B2 (ja) メッシュネットワーク
EP3304303B1 (en) Allocating or announcing availability of a software container
US5699351A (en) Node management in scalable distributed computing environment
US7430747B2 (en) Peer-to peer graphing interfaces and methods
US8726078B1 (en) Method and system for providing high availability to computer applications
US7937482B1 (en) Scalable consensus protocol
US20040203378A1 (en) Persistent peer-to-peer networking over a piconet network
JP2006338666A (ja) 分散カーネルオペレーティングシステム
JP2006340354A (ja) 分散カーネルオペレーティングシステム
JP2000209212A (ja) 通信ネットワ―クシステムおよび通信ネットワ―クシステムにおけるサ―ビス管理方法
CN101753454A (zh) 路由器平滑重启方法、路由器和网络系统
US11985027B2 (en) Systems and methods for seamless failover in branch deployments by superimposing clustering solution on VRRP
WO2011082634A1 (zh) 资源定位和发现对等网络的对等节点及其配置的更新方法和系统
US20080151892A1 (en) Method, Copumter Program Product, and Apparatus for Providing Passive Automated Provisioning
JP4415391B2 (ja) データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置
US7962799B2 (en) System and method for synchronizing test runs on separate systems
TW200836525A (en) Selective passive address resolution learning
US9591080B2 (en) Method of establishing a network socket with a data server
CN115118791B (zh) Udp报文的分发方法、设备及可读存储介质
US11089118B1 (en) Interlock for mesh network
CN117608766B (zh) 分布式锁处理方法、设备、存储介质和系统
TWI838136B (zh) 用於存取和移動性管理之容錯系統、方法及其電腦可讀媒介
CN112134735B (zh) 一种自动扩容系统的方法及装置
WO2011060702A1 (zh) 对等叠加网、业务内容存储方法以及业务内容下载方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210714

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230428

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230524

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: 20230620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230713

R150 Certificate of patent or registration of utility model

Ref document number: 7315679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150