JP7046473B2 - プロセス制御システムに冗長性を提供するための方法および装置 - Google Patents

プロセス制御システムに冗長性を提供するための方法および装置 Download PDF

Info

Publication number
JP7046473B2
JP7046473B2 JP2015223632A JP2015223632A JP7046473B2 JP 7046473 B2 JP7046473 B2 JP 7046473B2 JP 2015223632 A JP2015223632 A JP 2015223632A JP 2015223632 A JP2015223632 A JP 2015223632A JP 7046473 B2 JP7046473 B2 JP 7046473B2
Authority
JP
Japan
Prior art keywords
network
host
integrity
integrity message
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.)
Active
Application number
JP2015223632A
Other languages
English (en)
Other versions
JP2016096549A (ja
JP2016096549A5 (ja
Inventor
ベネット ウィリアム、
ニコラス、 オーマート ジョエル
シール ダーク、
Original Assignee
フィッシャー-ローズマウント システムズ,インコーポレイテッド
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 フィッシャー-ローズマウント システムズ,インコーポレイテッド filed Critical フィッシャー-ローズマウント システムズ,インコーポレイテッド
Publication of JP2016096549A publication Critical patent/JP2016096549A/ja
Publication of JP2016096549A5 publication Critical patent/JP2016096549A5/ja
Application granted granted Critical
Publication of JP7046473B2 publication Critical patent/JP7046473B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/41855Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34482Redundancy, processors watch each other for correctness

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Computer And Data Communications (AREA)

Description

本開示は、一般に、プロセス制御システムに関し、より詳細には、プロセス制御システムに冗長性を提供するための方法および装置に関する。
化学、石油または他のプロセスで使用されるもののような、プロセス制御システムは、通常、アナログ、デジタルまたはアナログ/デジタル結合バスを経由して1つ以上のフィールド装置に通信可能に結合された1つ以上のプロセス制御装置を含む。フィールド装置は、例えば、弁、バルブポジショナ、スイッチおよび送信機(例えば、温度、圧力および流量センサー)であり得るが、弁の開閉およびプロセス制御パラメータの測定などのプロセス制御機能をプロセス内で実行する。プロセス制御装置は、フィールド装置によって行われたプロセス測定値を示す信号を受信し、次いで、この情報を処理して制御信号の生成し、制御ルーチンの実装、他のプロセス制御判断、およびプロセス制御システムアラームの開始を行う。
フィールド装置および/または制御装置からの情報は、通常、データハイウェイまたは通信ネットワークを介して、オペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中型データベースなどの、1つ以上の他のハードウェア装置に対して利用可能にされる。かかる装置は、通常、より過酷な工場環境から遠くに離れた制御室および/または他の位置に配置される。これらのハードウェア装置は、例えば、オペレータが、プロセス制御システムのプロセスに関して、例えば、プロセスの現在の状態の表示、動作状態の変更、プロセス制御ルーチンの設定の変更、プロセス制御装置および/またはフィールド装置の動作の変更、フィールド装置および/またはプロセス制御装置によって生成されたアラームの表示、担当者のトレーニングおよび/またはプロセスの評価を目的としたプロセスの動作のシミュレーションなどの、様々な機能のいずれかを実行するのを可能にするアプリケーションを実行する。
コンピュータアーキテクチャ、ネットワーキング、および仮想化における技術進歩を組み合わせることにより、ある制御システムを実装できる、効率的で管理の容易な、仮想化コンピューティング環境の開発を可能にしている。すなわち、従来型の制御システムで使用される、ワークステーション、パーソナルコンピュータ、および他のハードウェア装置は、仮想プロセス制御環境内で実装された仮想マシンと置き換えられ得る。エンドユーザーは、かかる仮想マシン上で実装されたアプリケーションおよびソフトウェアに、仮想システムに接続されたシンクライアントを介してアクセスする。このようにして、従来の方法で必要とされ得る全てのハードウェア構成要素を取得、構成および保守する、相当なコストおよび複雑さが削減できる。
本開示の教示が実装され得るプロセス制御システム例の略図である。 図1のプロセス制御システム例の一部のネットワーク構成例の略図である。 図1および/または図2のプロセス制御システム例におけるネットワークホストの任意の1つの実施態様例のブロック図である。 2つの共通したネットワークを経由して接続されたネットワークホストのシステム例の略図である。 図4のネットワークホスト間の通信状態を表すテーブルである。 ネットワークホストの1つと関連したネットワーク障害のある図4のシステム例の略図である。 図6のネットワークホスト間の通信状態を表すテーブルである。 図6のネットワークホストおよび周囲のネットワーク障害の最初の発見中に、図4のネットワークホストの各々によって伝送される完全性メッセージに対する経時的変化の例を示すテーブルである。 ネットワークホストの最初の発見中に、図4のネットワークホストの各々によって伝送される完全性メッセージに対する経時的変化の異なる例を示すテーブルである。 2つの共通したネットワークを経由して接続された2つのネットワークホスト例のシステム例の略図である。 2つのネットワークの各々にネットワーク障害のある図10のシステム例の略図である。 2つのネットワークの各々にネットワーク障害のある図10のシステム例の略図である。 ネットワークホスト間に冗長性を提供するために、図1~図4、図6、および/または図10~図12のネットワークホスト例を実装する方法例を示す流れ図である。 ネットワークホスト間に冗長性を提供するために、図1~図4、図6、および/または図10~図12のネットワークホスト例を実装する方法例を示す流れ図である。 図13A~図13Bの方法例を実行するため、ならびに/またはより一般的には、図1~図4、図6、および/もしくは図10~図12のネットワークホスト例を実装するために、使用され、かつ/またはプログラムされ得るプロセッサプラットフォーム例の略図である。
信頼性は、プロセス制御システムの実施態様における共通の懸念事項であり、特に、多数の従来型の別個のワークステーションおよび他のコンピュータ構成要素が全て、ホストサーバーのクラスタ上の仮想マシン(VM)として実装される仮想化制御システムでの懸念事項である。これらの懸念事項に対処するために、ハードウェア製造業者は、冗長ディスクアレイ、制御装置、および電力供給を備えたストレージエリアネットワーク(SAN)装置などの、信頼性向上のためのハードウェアソリューションを提供する。複数のホストサーバーは、通常、システム全体の可用性を向上させて、物理システム全体をシャットダウンする必要なく、構成要素のアップグレードまたは交換などの、保守のための余地を持たせるために、1つの高度に冗長なSANでクラスタ化される。Windows Server 2012などの最先端のオペレーティングシステムは、VMの、物理システムの1つの部分(例えば、ハードドライブ)からそのシステムの別の部分への、または、外部のバックアップシステムさえへの移行を容易にし、その間、VMは実行を継続し、そのVM上で継続され得るアプリケーションの動作もしくは通信またはユーザーやりとりに顕著な影響を与えることがない。かかるソリューションは、シンクライアント(thin clients)などの外部コンピュータノードまたはネットワークホスト上にインストールされたソフトウェアクライアントにより、イーサネットを介してアクセスできる、電子メールサーバー、ウェブサーバーおよび他のバックエンドサーバーなどの、様々な仮想マシンの可用性を向上させる。
多数の従来型の(すなわち、物理的)制御システムは、オペレータインタフェースアプリケーション、資産管理アプリケーション、アラーム管理アプリケーションなどの、システムの不可欠な部分であるソフトウェア構成要素に向き合う多数のオペレータを有する。これらの構成要素は、相当な量のビジネスロジックを実行し、制御システムの他の構成要素と通信する際に高い可用性を確実にするために独自のプロトコルを使用する。例えば、操作卓は、頻繁に、制御システム内の複数の制御装置および/またはヒストリアンと通信している。かかる例では、操作卓と特定のヒストリアンとの間で接続が失われる場合、操作卓は、別のヒストリアンからの情報にアクセスすることにより、依然として任意の所望の履歴データを取得することが可能であり得る。同様に、操作卓と特定の制御装置との間で接続が失われる場合、操作卓は、依然として、制御システム内の類似した測定点を有する別の制御装置から所望の実行時データを取得することが可能であり得る。
前述した冗長性のいくつかは、データがオペレータに提示されるエンドユーザー端末が、提示されているデータを生成するビジネスロジックを実行しているアプリケーションと分離されているので、プロセス制御システムが仮想化されると利用できなくなる。すなわち、いくつかの仮想化制御システムでは、ビジネスロジックは、集中型ホストシステム上で実装されたVMによって実行されるが、他方、エンド端末は、多くの場合、遠隔表示プロトコルを使用して表示するためにVMからのデータにアクセスするシンクライアントである。従って、VMが、一次制御装置またはヒストリアンとの接続を失った場合に、代替制御装置またはヒストリアンからデータを取得できるかどうかは、シンクライアントとVMとの間の接続が失敗した場合にデータがシンクライアントに表示されるかどうかには無関係である。従って、仮想化環境を実装する、ホストサーバーおよび関連ハードウェアに組み込まれた多数の冗長性があるが、システムの可用性および/または信頼性における弱点は、エンドユーザー端末ノード(例えば、シンクライアント)への接続である。
多くの場合、シンクライアントは、仮想制御システムと関連付けられたシンクライアントのいずれかがダウン時間を経験している場合に、その故障したシンクライアントと関連付けられたVMが別の端末からアクセスできることを前提として、多数の冗長機能を備えていない(結果として、多くの単一障害点となる)。いくつかのシンクライアントは、冗長ネットワークカードで実装されており、この特徴によって、ネットワーク接続が失われる場合に、シンクライアントはバックアップネットワークに切り替えることができる。これは改善点であるが、かかるソリューションはそれでもやはり、ある限界に悩まされる。例えば、認められなかったデータ伝送の配信は、通常、再伝送中に再試行され得る。しかし、ネットワーク障害がある場合、再伝送でのいずれの試行も失敗し、そのプロセスは、ネットワーク接続がタイムアウトするまで繰り返す。いくつかのかかる例では、接続がタイムアウトした後にのみ、ネットワーク障害が確認され、その時点で代替通信経路がバックアップネットワークを経由して確立され得る。通常、かかるネットワーク障害を検出して冗長ネットワーク上で接続を再確立するために、1分を優に超える時間がかかり得る。多くのプロセス制御設定において、通信のない1分間は許容できない。許容可能な遅延は、大抵5秒未満である。その上、多くのかかる状況では、エンドユーザーは、障害から再接続までの間のほとんどの時間、障害が起こっていることに気が付かず、従って、シンクライアントの画面上に表示された、期限切れの情報を見て、それを頼りにしているかもしれない。さらにその上、ネットワーク障害の後、新しい接続が確立される前に、配信を試みたいずれのデータも失われる。
データを失うことなく冗長ネットワークへのシームレスなフェイルオーバーを提供する1つのソリューションは、並列冗長プロトコル(PRP)の使用を伴う。PRPは、1つのネットワークが故障している場合でさえ、データのあらゆるパケットを、少なくとも2つのネットワークの各ネットワークインタフェース上で一度の、2度伝送することにより、データ通信の良好な配信を達成する。かかるアプローチでは、障害回復における遅延がなく、データが失われないことを確実にする。しかし、かかるアプローチは、2倍多いデータが送受信されているので、ネットワークトラフィックおよびコンピュータ処理における著しい増大を伴う。
他の冗長方式は、冗長性を処理できる外部スイッチなどの特殊なハードウェアを使用して、かつ/またはシンクライアントでの使用のためにリンクアグリゲーションをサポートするネットワークインタフェースカードで、実装されている。しかし、追加のハードウェア装置の取得および保守に追加の費用がかかる。その上、スイッチを、ネットワークアーキテクチャに応じて、仮想ローカルエリアネットワーク(VLAN)および/またはリンクアグリゲーションで構成するのがさらに複雑である。さらにその上、かかるハードウェア構成要素は、大抵、仮想化ソフトウェアのプロバイダ以外の異なる製造業者によって提供される。
本明細書で開示する例は、データを失うことなく、かつデータ処理または帯域幅要件における著しい増大なしで、迅速な回復時間(5秒未満)を提供するために、前述の限界を克服する冗長ネットワークシステムを提供する。本明細書で開示する例は、各々が2つのネットワークインタフェースを有し、その各々が2つのネットワークの1つに接続されている、ネットワークホストの任意のグループを通じて、実装され得る。本明細書では、用語「ネットワークホスト」(または「ホスト」)は、ネットワークに接続されていて、伝送制御プロトコル/インターネットプロトコル(TCP/IP)プロトコルスタックを使用して通信する、任意のコンピュータまたは他の装置(仮想的に、または物理ハードウェアを介して実装されているかに関わらず)を指す。ネットワークホストの例は、仮想マシン、シンクライアント、シッククライアント、組込みコントローラ、および/または任意の他の適切なコンピューティング装置を含む。
本明細書で開示する例は、マルチホームのネットワークホストを伴う。すなわち、本明細書で説明する冗長方式の一部とすることを意図とした各ホストは、2つのネットワークインタフェース(例えば、NIC)を経由して2つの独立したネットワークに接続される。さらに、同じ冗長方式に加わっている各ホストは、その方式内の他のあらゆるホストと同じ2つのネットワークに接続される。すなわち、ネットワークホストの各々は、冗長方式の一部として含まれる全てのホストに共通した2つの別個のネットワークを通じて、コネクション型通信を可能にする2つのネットワークインタフェースを含む。冗長方式の一部を形成するネットワークホストは2つの共通したネットワークを有するが、いくつかの例では、ネットワークのいずれも、他のネットワークに接続されていない1つ以上の他のホストも含み得る。かかるホストは、本明細書で説明する冗長方式に含まれていない可能性があるが、かかるホストはかかる方式を妨げない。その上、ホストの1つ以上は、本明細書で開示する教示に影響を及ぼすことなく、追加のネットワークに接続され得る。さらにその上、いくつかの例では、プロセス制御システム内に、各々が2つの共通したネットワークを含む、ネットワークホストの複数のグループがあり得る。かかる例では、ネットワークの各グループは、本明細書で開示する教示を別々に実装し得る。
本明細書で説明する冗長方式は、仮想プロセス制御システムのコンテキストにおいて可用性の特定の懸念事項を解決するために有益であるが、本明細書で説明する教示は、代替として、完全な物理環境(すなわち、仮想化なし)で実装され得る。すなわち、本明細書で開示する教示は、2つの共通したネットワークを共有して、TCP/IPプロトコルに基づき通信するネットワークホストの任意のセットに適用可能である。
本明細書で説明する冗長方式の例は、ネットワークホストに共通した2つの独立したネットワークを通じたネットワークホスト間の接続状態を監視することにより達成される。ネットワーク接続を実質的にリアルタイムで監視することにより、ネットワーク障害が素早く検出される。一旦、ネットワークの1つでネットワーク障害が検出されると、関連付けられたネットワークホストは、本明細書で開示する教示に従い、インターネットプロトコル(IP)ルーティング標準を使用して、障害の起こったネットワークを迂回する代替通信経路を自動的に確立する。より具体的には、ネットワークホストは、(障害の起こったネットワークに接続された)ネットワークインタフェースの1つからの伝送を、(動作可能なネットワークと接続された)他のネットワークインタフェースを通して再ルーティングする。
いくつかの開示する例では、ネットワーク障害の検出および代替通信経路の確立には、5秒もかからない。いくつかの例では、もっと短い時間(例えば、500ミリ秒以下)も可能である。従って、本明細書で開示する例は、プロセス制御システム環境にとって、信頼できる最新のデータがオペレータおよび他のエンドユーザーに対して利用可能であること確実にするために必要な要件内で回復時間を提供する。さらに、ネットワーク障害を検出して代替通信経路を確立するために要する時間は、データ伝送に対する接続タイムアウト期間未満である。すなわち、ネットワークホストがデータ再伝送の試行をやめる前に、代替ルートが確立されるであろう。そのため、データは失われず、せいぜい数秒遅延するくらいであろう。
本明細書で説明するようにネットワーク障害を実質的にリアルタイムで検出して、かかる障害から迅速に回復するのを可能にすることは、ホストを接続している2つのネットワークの各々を通じたネットワークホスト間の接続性を継続して監視することにより達成される。いくつかの例では、各ネットワークホストは、ネットワークを通じて他のネットワークホストの各々に頻繁に伝送される完全性メッセージ(integrity message)を準備する。いくつかの例では、完全性メッセージは、プロセス制御システムの通常動作と関連した、ホスト間での典型的なデータ伝送とは異なる。いくつかの例では、完全性メッセージは、対応するネットワークを通じてブロードキャストされる。他の例では、完全性メッセージは、そのメッセージを受信するように構成されたネットワークホストのみに対してマルチキャストされる。いくつかの例では、各ネットワークホストからの各連続した完全性メッセージの伝送が、各ネットワークインタフェース間で交互に行われる。いくつかの例では、完全性メッセージは、後続の完全性メッセージがネットワークインタフェースのいずれかから送信される前に、接続されたホストの各々のネットワークインタフェースの各々から伝送される。すなわち、いくつかの例は、各ネットワークホストの各ネットワークインタフェースを繰り返してから、第1のネットワークホストに戻ってプロセスを繰り返す。いくつかの例では、各ネットワークホストのネットワークインタフェースの各々を繰り返すことは、一瞬のうちに起こる。このように、各ネットワークホストは完全性メッセージを、各ネットワークインタフェースを経由して、あらゆる他のネットワークホストに頻繁に伝送する。結果として、各ネットワークインタフェースを経由した各ネットワークホスト間の接続が、任意の2つのネットワークホスト間で障害を迅速に検出するために常に監視できる。
各完全性メッセージは、伝送側ホストの、対応するネットワークを通じた、他のホストの各々と接続性を検査する働きをする。他のネットワークホストの各々が、特定のネットワークを通じて、伝送側ホストから完全性メッセージを受信する場合、ネットワークホストの各々は、それ自身と伝送側ホストとの間のそのネットワークを通じた通信状態が良好であることを確認できる。他方、ネットワークホストの1つ以上が、特定のホストから伝送された完全性メッセージの受信に失敗した場合、完全性メッセージがないことは、ネットワーク障害を示すものである。従って、予期された完全性メッセージの受信に失敗したネットワークホストは、それ自身と、そのメッセージが予期されたホストとの間の接続状態が不良であることを確認し得る。
いくつかの例では、完全性メッセージは、既知の時間間隔で定期的に伝送されるために、特定のネットワークホストの特定のネットワークインタフェースから、既知の時間間隔より長期間にわたってメッセージが受信されない場合、ネットワーク障害が推測され得る。いくつかの例では、ネットワーク障害は、同じネットワークホストの同じネットワークインタフェースから送信される各連続した完全性メッセージ間の時間間隔の3倍の閾値期間を超えて、受信されている完全性メッセージがないことに基づいて検出される。いくつかの例では、閾値期間は、その間隔の3倍よりも長いこともあれば、短いこともあり得る。
各ホストから他の全てのホストに対して各ネットワークを通じて伝送された定期的な完全性メッセージは、各ネットワークホスト間の各ネットワークを経由した接続のチェックまたはテストとして機能する。ネットワークホストが完全性メッセージを受信する場合、そのホストと、そのメッセージを送信したネットワークホストとの間の接続または通信状態が良好であると確認される。ネットワークホストが(閾値期間の後)完全性メッセージを受信しない場合、そのホストと、メッセージが予期されたネットワークホストとの間の接続状態が悪いと判断される。このように、いくつかの例では、各ホスト間の接続または通信状態が、メッセージに含まれる内容とは関係なく、メッセージが受信されるかどうかに基づき判断される。しかし、いくつかの例では、完全性メッセージの内容が完全性情報を含んでいて、異なるホスト間の異なるネットワークを通じた接続状態を検証するために、ネットワークホストの各々に対してさらなる情報を提供する。
いくつかの例では、完全性メッセージは、その完全性メッセージが送信されたネットワークホストを識別するホスト情報を含む。いくつかの例では、ホスト情報は、メッセージを送信しているネットワークホストの両方のネットワークインタフェースのIPアドレスを含む。このように、全てのネットワークホストは、ネットワーク障害が検出された場合に代替通信経路を作成するために必要なIP情報を有する。いくつかの例では、ホスト情報は、ネットワーク上の他のホストを発見するために各ネットワークホストによって使用される。
加えて、いくつかの例では、完全性メッセージは、そのメッセージを伝送しているネットワークホストと、他のホストの各々との間の両方のネットワークインタフェースに対する接続または通信状態を示す完全性情報を含む。いくつかの例では、この情報を生成して、他のネットワークホストの各々と関連付けられた通信状態を受信する(ネットワークホストの各々がそれらの完全性メッセージを伝送する時に)ことにより、ネットワークホストの各々が、それ自身と他の全てのホストとの間の通信状態を表す完全性テーブルを生成できる。いくつかの例では、かかる情報は、直接接続がネットワーク障害に起因して失敗した場合に、代替通信経路を定義するために頼りにされる。追加または代替として、いくつかの例では、各完全性メッセージに含まれる完全性情報は、各ホストが他のホストから完全性メッセージを受信したかどうか、およびいつ受信したかに基づき各ホストによって判断された通信状態に関する冗長検査として使用される。
完全性メッセージの頻繁な伝送は、ネットワークにいくらか追加の負荷を課すが、ネットワークトラフィックの総量は、PRPを使用したシステムの実装に伴うネットワークトラフィックよりも依然として大幅に少ない。例えば、ネットワークが、各々がプロセス制御システムと関連した1000パケットのデータを毎秒受信する10のホストを含む場合、PRPを使用する際に各ホストに伝送されるデータの総量は、秒あたり2倍の2000データパケットになる。一方、10のホストの各々が、本明細書で開示する教示に従って、毎秒2つの完全性メッセージパケットを伝送する場合、各ホストに転送されるデータの総量は、秒あたり1020データパケットになるであろう(1000プロセス制御データパケット+2×10=20完全性メッセージデータパケット)。明らかに、開示する例で伝送された1020データパケットは、PRPの使用で必要とされる2000データパケットよりも大幅に少ない。完全性メッセージによって生成されるネットワーク負荷は、ネットワークホストの数および完全性メッセージの頻度の関数であるが、ネットワークを通じて伝送されるプロセス制御データの量とは無関係である。従って、前述した例での各ネットワークホストが秒あたり5000パケットのプロセス制御データを受信した場合、完全性パケットの量は秒あたり20パケットのままであろう。しかし、ネットワーク障害のより迅速な検出を可能にするために、完全性メッセージがもっと頻繁に(例えば、秒あたり5メッセージ)送信される場合、完全性メッセージに起因した負荷は比例して増加する(例えば、最高で、秒あたり5×10=50データパケット)であろうが、総量は依然として、PRPによって課される負荷をはるかに下回る結果となるであろう(例えば、秒あたり2000パケットと比べて、秒あたり1050パケット)。同様に、ホストの数が(例えば、最大で50まで)増加するが、完全性メッセージの頻度が秒あたり2データパケットで維持される場合、各ネットワークホストで各秒に受信される完全性データの総量は、秒あたり2×50=100パケットである(計、秒あたり1100データパケット)。従って、追加のホストおよび/またはもっと頻繁な完全性メッセージはネットワークに追加の負担を課すが、負担のレベルは、PRPを実装する場合に必要とされるような、ネットワークトラフィック量の2倍よりも依然としてはるかに少ない。
その上、本明細書で説明する教示は、ソフトウェアベースであるため、任意の特殊または追加のハードウェア(例えば、冗長性を提供できるネットワークスイッチ)を取得、構成、依存、および/または保守する必要がない。そのため、本明細書で開示する例は、任意の適切なネットワークに対して追加の設定なしで使用でき、それと同時に、構成およびセットアップの複雑さを削減する。
いくつかの例では、仮想プロセス制御システムのコンテキストにおいて、本明細書で開示する教示を実装するためのネットワーク冗長性ソフトウェアおよび関連した構成ツールが、仮想化ソフトウェア(例えば、DeltaV Virtual Studio(商標))内に含まれていて、そのソフトウェアを作成する仮想マシンに自動的に組み込まれる。いくつかの例では、IPアドレスを仮想マシン上のネットワークインタフェースカード(NIC)に割り当てた後、構成ツールが、任意の2つのネットワークにわたる冗長性をセットアップするために実行できる。追加または代替として、いくつかの例では、仮想化ソフトウェアは、必要なファイルおよび、冗長サービスを自動的に作成するスクリプトを含むディスクを仮想マシンにアタッチし得、そのファイルを仮想マシン上にコピーし、構成ツールを起動して、ディスクをイジェクトする。ディスクは、仮想化ソフトウェアの初期のバージョンで作成された仮想マシン上でのかかる冗長方式の作成を可能にする。
いくつかの例では、ネットワーク冗長性ソフトウェアおよび構成ツールの両方が、リモートデスクトップ接続インストーラ(例えば、DeltaV Remote Desktop Connection)に含まれる。かかる例では、リモートデスクトップ接続インストーラが、セットアップされたネットワークが既に2つあることを検出すると、それらのネットワークに対して冗長性を自動的に構成できる。そうでない場合、構成ツールは、IPアドレスが各ネットワークホストに割り当てられた後、手動で実行できる。
本明細書で開示する例は、システムの可用性を損なうシナリオをユーザーにアラームで知らせる可用性監視システムに統合され得る。例えば、冗長ネットワーク経路の1つが利用できないか、または動作不能(アクティブか予備かに関わらず)になっている場合、アラートまたはアラームが、エンドユーザー(例えば、オペレータまたは保守技術者)にその障害を通知するために生成されて、問題に対処する機会を提供し得る。加えて、いくつかの例では、ネットワーク障害の発生は、データヒストリアンにログが取られ得る。いくつかのかかる例では、ログは、障害のタイミングならびに影響を受けるネットワークホストの識別を含む。
図を詳細に見ると、図1は、本開示の教示が実装され得るプロセス制御システムまたは分散制御システム(DCS)例100の略図である。本明細書では、句「プロセス制御システム」は、句「分散制御システム」と区別しないで使用される。図1のDCS例100は、任意の所望の通信媒体(例えば、無線、ハードワイヤードなど)およびプロトコル(例えば、Foundation Fieldbus、Profibus、HARTなど)を使用して、複数のスマートおよび/または非スマートのフィールド装置104に通信可能に結合されたプロセス制御装置102を含む。図1の制御装置例102は、例えば、Fisher-Rosemount Systems,Inc、Emerson Process Management会社によって販売されているDeltaV(商標)制御装置であり得る。本明細書で開示する教示は、DeltaV(商標)ハードウェア、ソフトウェア、および/またはファームウェアに関連して説明されるが、教示は、他の実体によって製造ならびに/または開発された他のハードウェア(例えば、他の制御装置)、ファームウェア、および/もしくはソフトウェアに適合し得る。さらに、図1には2つの制御装置102が示されているが、任意の所望のタイプおよび/またはタイプの組合せの追加および/または少ない制御装置および/またはプロセス制御プラットフォームが、DCS例100で実装できる。
通常、プロセス制御システム内の制御装置は、1つ以上のコンピュータと関連付けられ得る1つ以上の操作卓、アプリケーションステーション、および/または他のワークステーション(本明細書ではワークステーションと総称する)に通信可能に結合される。しかし、図示例では、制御装置102は、仮想プロセス制御環境例106に通信可能に結合されている。図1の仮想プロセス制御環境例106は、ドメインコントローラ例108、第1のホストサーバー例110、第2のホストサーバー例112、第3のホストサーバー例114、およびストレージエリアネットワーク(SAN)例116を含む。図示例では、仮想プロセス制御環境106は、テーブル118内にリストされた複数の仮想ワークステーション117に対応する仮想マシンを実装する。
テーブル118に示されるように、DCS100に対して実装された仮想ワークステーション117は、8つの仮想操作卓120、4つのアプリケーションステーション122、および1つの仮想一次制御システムアプリケーションステーション124(例えば、DeltaV(商標)ProPlusワークステーション)を含む。具体的には、図示例では、第1のホストサーバー110は、仮想操作卓120の3つおよび仮想アプリケーションステーション122の2つを実装し、第2のホストサーバー112は、仮想操作卓120の他の3つおよび仮想アプリケーションステーション122の1つを実装し、そして第3のホストサーバー114は、仮想操作卓120の残りの2つ、最後の仮想アプリケーションステーション122、および仮想一次制御システムアプリケーションステーション124を実装する。仮想ワークステーション例117の分割例がテーブル118に示されているが、仮想ワークステーション例117は、ホストサーバー110、112、114の各々の要求に従い任意の組合せで、ホストサーバー110、112、114のいずれか1つに割り当てられ得る。追加または代替として、いくつかの例では、仮想ワークステーション117の1つ以上の複製が、ホストサーバー110、112、114の別個のものに実装され得る。
図示例では、ホストサーバー110、112、114およびSAN 116は、一般にクラスタと呼ばれるネットワークを形成するために、通信可能に相互接続されている。ドメインコントローラ108は、クラスタと通信して、クラスタを管理し、クラスタ内に格納された情報へのアクセスを制御する。図示例では、SAN 116は、ホストサーバー110、112、114の各々がメモリの同じ論理ユニット(例えば、同じ論理ユニット番号)に対して読取り/書込み操作を実行し得る、共通または共用記憶装置(例えば、クラスタ共有ボリューム)として機能する。このように、仮想ワークステーション117の実施態様と関連付けられたデータが、システムに対して高可用性を提供するために、各ホストサーバー110、112、114内のネイティブのハードドライブとは別に格納される。例えば、ホストサーバー110、112、114の1つが故障すると、そのホストサーバーによって実装された仮想ワークステーション117が、他のホストサーバー110、112、114の1つ上で起動され得る。いくつかの例では、SAN 116が含まれていないために、各ホストサーバー110、112、114はそのローカルのハードドライブに依存する。
図1の図示例では、仮想プロセス制御環境106のホストサーバー110、112、114の各々(および関連したSAN 116)は、バスおよび/またはローカルエリアネットワーク(LAN)128を経由して制御装置102に通信可能に結合されており、それは、一般に、アプリケーション制御ネットワーク(ACN)と呼ばれる。図1のLAN例128は、任意の所望の通信媒体およびプロトコルを使用して実装され得る。例えば、LAN例128は、ハードワイヤードおよび/または無線のイーサネット通信方式に基づき得る。しかし、任意の他の適切な通信媒体(複数可)および/またはプロトコル(複数可)が使用できる。さらに、図1には単一のLAN 128が示されているが、図1の構成要素例間に冗長通信経路を提供するために、2つ以上のLANおよび/または通信ハードウェアの他の代替部品が使用され得る。
いくつかの例では、仮想プロセス制御環境106(例えば、ドメインコントローラ108、ホストサーバー110、112、114、およびSAN 116)は、仮想プロセス制御環境106内で実装された仮想ワークステーション117にリモートにアクセスできるシンクライアント126に通信可能に結合されて、オペレータ、エンジニア、および/または他のプラント担当者が、シンクライアント126のディスプレイ上にレンダリングされたユーザーインタフェースを介して、あたかも仮想ワークステーション117がそのディスプレイと関連付けられた物理コンピュータシステムおよび/または他のプロセッサプラットフォームで実装されているかのように同じ方法で、ワークステーションとやりとりするのを可能にする。
図1は、本明細書で開示する教示が有利に採用され得るDCS例100を示しているが、本明細書で開示する教示は、必要に応じて、図1の図示例よりも多かれ少なかれ複雑な(例えば、2つ以上の仮想プロセス制御環境106を有する、もっと多くの(物理および/または仮想)ワークステーションを有する、2つ以上の地理的位置にわたる、など)他のプロセスプラントおよび/またはプロセス制御システムで有利に採用され得る。その上、本明細書で開示する教示は、完全に物理的なプロセス制御システム(例えば、仮想プロセス制御環境106を有していないシステム)で採用され得る。
図2は、図1のDCS例100の一部のネットワーク構成例200の略図である。図2の図示例では、シンクライアント126の3つが、ワークステーション117の3つに通信可能に結合されて示されている。図示例では、ワークステーション117は、仮想プロセス制御環境106内の仮想マシンとして実装されており、他方、シンクライアント126は、物理コンピューティング装置である。図2に示すように、シンクライアント126の各々およびワークステーション117の各々が、一次ネットワーク202および別個の二次ネットワーク204に接続されている。すなわち、シンクライアント126およびワークステーション117の各々は、同じ共通のネットワーク202、204に対してマルチホームである。より具体的には、いくつかの例では、シンクライアント126およびワークステーション117の各々は、一次ネットワーク202に接続された第1のネットワークインタフェース206(例えば、ネットワークインタフェースコントローラ(NIC))を含む。さらに、いくつかの例では、シンクライアント126およびワークステーション117の各々は、二次ネットワーク202に接続された第2のネットワークインタフェース208を含む。本明細書では、用語「一次」および「二次」は、異なるネットワークホスト間で共通したネットワーク(例えば、ネットワーク202、204)を区別するために使用され、一方のネットワークが、必ず最初に使用される、デフォルト設定で使用される、より頻繁に使用される、またはより重要であると示唆することを意図していない。
説明のため、シンクライアント126およびワークステーション117は、それら全てが同じネットワーク202、204に接続されているという点において、本明細書では一般に、ネットワークホスト210と呼ばれる。いくつかの例では、図2に示すシンクライアント126およびワークステーション117に加えて、またはその代わりに、他のタイプのネットワークホスト210があり得る(例えば、シッククライアント、独立した物理ワークステーション、組込みコントローラ、など)。ネットワークホスト210は、仮想プロセス制御環境106を形成するために使用される、前述したホストサーバー110、112、114とは異なる。しかし、ホストサーバー110、112、114は、本明細書で開示する教示に従い上で定義したようなネットワークホストと見なされ得る、仮想マシン(例えば、ワークステーション117)および/または他の仮想装置を実装し得る。
図3は、本明細書で開示する教示に従って構築されたネットワークホスト例210の実施態様例である。図3の図示例では、ネットワークホスト210は、第1のネットワークインタフェース例302、第2のネットワークインタフェース例304、完全性メッセージアナライザー例306、完全性テーブル生成器例308、完全性メッセージ生成器例310、通信経路判定器例312、通信マネージャ例314、およびアラームマネージャ例316を含む。
ネットワークホスト例210は、図1および/または図2のDCS例100のシンクライアント126またはワークステーション117の任意の1つを実装するために使用され得る。しかし、説明のため、ネットワークホスト210は、図4に示すネットワークホスト402、404、406の簡略化システム400に関連して説明されるであろう。ホスト402、404、406の各々は、図3のネットワークホスト例210を使用して実装され得る。図4の図示例に示すように、ホスト402、404、406の各々は、一次ネットワーク408および二次ネットワーク410に接続されたマルチホームのネットワークホストである。その上、図示例に示すように、一次ネットワーク408および二次ネットワーク410は、3つのネットワークホスト402、404、406の各々に共通している。より具体的には、ネットワークホスト402、404、406の各々は、各ネットワークホスト402、404、406がそれを通して一次ネットワーク408に接続する第1のネットワークインタフェース302を含む。さらに、図示例では、ネットワークホスト402、404、406の各々は、各ネットワークホスト402、404、406がそれを通して二次ネットワーク408に接続する第2のネットワークインタフェース304を含む。結果として、ネットワークホスト402、404、406の全ては、それらの対応する第1のネットワークインタフェース302を経由して、一次ネットワーク408を通じて相互に直接通信でき、かつ/またはそれらの対応する第2のネットワークインタフェース304を経由して、二次ネットワーク410を通じて直接通信できる。いくつかの例では、ホスト402、404、406間のネットワーク408、410のいずれかの上に1つ以上のスイッチがあり得る。しかし、本開示のため、ネットワークホスト402、404、406は、伝送がいずれかのスイッチを通過するかに関わらず、対応するネットワークインタフェース302、304が、それらが接続されているネットワークを通じて通信する場合、「直接」通信するといわれる。
図3を再度参照すると、ネットワークホスト例210(図4のネットワークホスト402、404、406の任意の1つに対応する)は、一次ネットワーク408に接続するための第1のネットワークインタフェース302が備えられ、それにより、一次ネットワーク408上の他のネットワークホスト(例えば、ネットワークホスト402、404、406)との通信を可能にする。ネットワークホスト例210は、二次ネットワーク410に接続するための第2のネットワークインタフェース304が備えられ、それにより、二次ネットワーク410上の他のネットワークホスト(例えば、ネットワークホスト402、404、406)との通信を可能にする。いくつかの例では、第1および第2のネットワークインタフェース302、304は、(例えば、図1および/または図2の物理シンクライアント126内の)物理ネットワークインタフェースカード(NIC)を介して実装される。他の例では、第1および第2のネットワークインタフェース302、304は、(例えば、図1および/または図2の仮想ワークステーション117内の)仮想マシンの仮想構成要素として実装される。いくつかの例では、第1および第2のネットワークインタフェース302、304が物理的または仮想的に実装されているかどうかに関わらず、第1および第2のネットワークインタフェース302、304の間でインターネットプロトコル(IP)ルーティングが可能にされる。このように、第2のネットワークインタフェース304を意図する最終的な宛先として、第1のネットワークインタフェース302に配信された情報は、第2のネットワークインタフェース304に送られ得る。かかる例では、第1のネットワークインタフェース302は、第2のネットワークインタフェース304に向かう予定の任意のデータを転送するために、第2のネットワークインタフェース304に対してルーターまたはゲートウェイとして定義される。同様に、図示例では、第1のネットワークインタフェース302を意図する最終的な宛先として、第2のネットワークインタフェース304に配信された情報は、第2のネットワークインタフェース304を経由して第1のネットワークインタフェース302に送られ得る。
図3の図示例では、ネットワークホスト210は、ネットワークホスト210と、完全性メッセージを伝送している他のネットワークホストとの間の接続または通信状態を判断するために、他のネットワークホストから受信した完全性メッセージを分析する完全性メッセージアナライザー306を備えている。本明細書では、通信状態は、直接通信が、2つの特定のネットワークホスト402、404、406の対応するネットワークインタフェース302、304間で、対応するネットワーク408、410を通じて生じ得るかどうかの指標を指す。2つのネットワークホストの2つの対応するネットワークインタフェース間で直接通信が可能な場合、通信状態は「良好」である。ネットワーク障害があるために、2つのネットワークインタフェース間で対応するネットワークを通じて、データが直接伝送できない場合、通信状態は「不良」である。ネットワーク障害の特定の性質は、本明細書で開示する教示に関係しない。従って、ケーブルのプラグが抜けているか、損傷している(例えば、切れている)かどうか、またはネットワークインタフェース302、304の1つが内部的に故障しているか、かつ/もしくは対応するインタフェース間の通信を妨げる任意の他の状況かどうかに関わらず、影響するインタフェース間で不良な通信状態が設定される。
各ネットワークホスト402、404、406が、他のネットワークホストの各々の第1のネットワークインタフェース302から(一次ネットワーク408を通じて)定期的に伝送される完全性メッセージを受信する時に、完全性メッセージアナライザー306は、完全性メッセージがうまく受信されたので、受信側ネットワークホストと送信側ネットワークホストとの間の一次ネットワーク408を通じた通信状態が良好であることを確認する。同様に、ネットワークホスト402、404、406の各々が、他のネットワークホストの各々の第2のネットワークインタフェース304から(二次ネットワーク410を通じて)定期的に伝送される完全性メッセージを受信する時に、完全性メッセージアナライザー306は、受信側ネットワークホストと送信側ネットワークホストとの間の一次ネットワーク408を通じた通信状態が良好であることを確認する。すなわち、いくつかの例では、メッセージの受信は、通信状態が良好であることを確認するための根拠として役立つ。従って、いくつかの例では、各完全性メッセージの特定の内容は、接続または通信状態の判断に無関係である。しかし、他の例では、完全性メッセージの内容は、第2のレベルの通信状態の確認を提供し、かつ/または本明細書で開示する教示を実装する際に有用な追加の詳細を提供する。
一方、例えば、ネットワークホスト402、404、406のうちの1つのネットワークインタフェース302、304の1つの失敗などの、ネットワーク障害がある場合には、失敗したインタフェースをもつネットワークホストが、その失敗したネットワークインタフェースを介して伝送しようと試みるいずれの完全性メッセージも配信されないであろう。完全性メッセージが、予期された時に(例えば、ネットワーク障害に起因して)受信されない場合、いくつかの例では、完全性メッセージアナライザー306は、ネットワーク障害があること、従って、対応するネットワークインタフェース間の通信状態が悪いと判断する。具体的には、いくつかの例では、完全性メッセージが、一次および二次ネットワーク408、410の各々を通じ、対応する第1および第2のネットワークインタフェース302、304を経由して、定期的に伝送される。いくつかの例では、特定のネットワークホストの特定のネットワークインタフェースから送信された各完全性メッセージが、同じネットワークホストの同じネットワークインタフェースから送信された以前の完全性メッセージから特定の時間間隔内に伝送される。そのため、(通信状態が良好であることを示す)完全性メッセージの受信後から始まる、時間間隔が、新しい完全性メッセージを受信することなく、超過する場合、受信側ネットワークホストの完全性メッセージアナライザー306は、予期された伝送が失敗したと判断し得る。予期された完全性メッセージがないことは、かかる例では、伝送側ネットワークホストの特定のネットワークインタフェースに関して、失敗したかまたは不良な通信状態を示す。いくつかの状況では、ネットワーク障害以外の要因が、特定の完全性メッセージが、連続するメッセージに対して構成された時間間隔内に伝達されるかどうかに影響を及ぼし得る。それに応じて、いくつかの例では、完全性メッセージアナライザー306は、閾値期間が、同じネットワークホストの同じネットワークインタフェースからの連続したメッセージ間で予期される時間間隔よりも、例えば、時間間隔の3倍など、長い後に限り、2つの異なるネットワークホストの対応するネットワークインタフェース間の通信状態が悪いと判断し得る。他の例では、時間間隔は、メッセージが送信されたネットワークインタフェースに関わらず、3つの完全性メッセージが、特定のネットワークホストから受信されることが予期される期間に対応し得る。例えば、各ホストは、配信できない、全てのネットワークホストの全てのネットワークインタフェースを繰り返す各時間間隔中に、2つの完全性メッセージを(各ネットワークインタフェースを経由して1つ)送信し得るため、次に失敗した伝送は(ネットワークインタフェースに関わらず)、不良な通信状態を示すのに十分である。いくつかの例では、完全性メッセージアナライザー306は、他のネットワークホスト402、404、406から受信した完全性メッセージの内容を分析して、以下でさらに完全に説明するように、それ自身の完全性情報を判断し、かつ/または更新する。
図3の図示例では、ネットワークホスト210は、各ネットワークホスト(例えば、ネットワークホスト402、404、406)間の一次および二次ネットワーク408、410の各々を通じた(例えば、第1および第2のネットワークインタフェース302、304の各々を経由した)接続または通信状態を示す完全性情報を格納する完全性テーブルまたは他のデータ構造を生成するために、完全性テーブル生成器308を備えている。
図示例では、同じネットワークに接続された他の全てのネットワークインタフェース302、304に関して、別々の通信状態が各ネットワークホストの各ネットワークインタフェース302、304に関連付けられる。従って、図4の図示例では、ネットワークホスト402、404、406のネットワークインタフェース302の各々が同じ一次ネットワーク408に接続されているので、第1のネットワークホスト402(ホストA)の第1のネットワークインタフェース302は、第2のネットワークホスト404(ホストB)および第3のネットワークホスト406(ホストC)の第1のネットワークインタフェース302の各々に対して別々の通信状態を有する。しかし、図示例では、第1のネットワークホスト402の第1のネットワークインタフェース302および他のネットワークホスト404、406の第2のネットワークインタフェース304が異なるネットワークに接続され、それ故、決して直接通信しないので、第1のネットワークホスト402の第1のネットワークインタフェース302と、第2および第3のネットワークホスト404、406の第2のネットワークインタフェース304のいずれかとの間で定義された通信状態はない。
いくつかの例では、完全性テーブルは、前述の完全性メッセージアナライザー306によって判断された通りの通信状態に基づいて生成される。すなわち、完全性メッセージアナライザー306が完全性メッセージを特定のホストから受信すると、完全性テーブル生成器308が特定のホストとの(そのメッセージが受信されたネットワークを通じた)通信状態を良好に設定する。完全性メッセージアナライザー306が、完全性メッセージが予期した通りに特定のホストから受信されなかった(例えば、メッセージを受信することなく、閾値期間が経過した)と判断する場合、完全性テーブル生成器308は、特定のホストとの(そのメッセージが受信されるはずだったネットワークを通じた)通信状態を不良に設定する。このように完全性メッセージが受信されるかどうかだけに依存すると、完全性メッセージアナライザー306は、それ自身以外の2つの異なるネットワークホスト間の通信状態を直接判断できない。その結果、いくつかの例では、完全性テーブル生成器308によって作成された完全性テーブルは、対応するネットワークホスト210と関連した通信状態情報のみを含む。他の例では、完全性メッセージアナライザー306は、他のホスト間の通信状態を判断するために、他のネットワークホストから受信した完全性メッセージの内容を分析する。
図4のシステム400に対する完全性情報を表すテーブル例500が図5に示されている。いくつかの例では、完全性テーブル生成器308は、図5のテーブル500に含まれる情報の少なくとも一部を含めるが、必ずしもその全部ではなく、また必ずしも同様に編成されていない。図5のテーブル500では、図4のネットワークホスト402、404、406の各々の(関連付けられた一次および二次ネットワーク408、410に基づく)ネットワークインタフェース302、304の各々が、テーブル500の先頭行および左端の列に沿って識別される。ネットワークホスト402、404、406の任意の2つの間の対応するネットワークインタフェース302、304のいずれかを経由した直接通信リンクの状態が、対応するネットワーク408、410を通じて接続しているホスト402、404、406の行および列に対応するボックス内に示されている。
図示例に示すように、テーブル500は、4つの象限502、504、506、508に分割されている。第1象限502は、ネットワークホスト402、404、406の間の一次ネットワーク408を通じた(例えば、第1のネットワークインタフェース302を経由した)通信状態を表す。第4象限508は、ネットワークホスト402、404、406の間の二次ネットワーク410を通じた(例えば、第2のネットワークインタフェース304を経由した)通信状態を表す。図のように、第1および第4の象限502、508を通るテーブル500の対角線に沿ったボックスは、同じネットワークホストの同じネットワークインタフェースと関連付けられた行および列に対応する。そのため、これらのボックスは、異なる点の間の通信リンクを定義していないので、網掛けされている。
テーブル例500の第2および第3の象限504、506は、対応する行および列が同じネットワーク408、410と関連付けられておらず、従って、直接通信リンクを表していないので、本明細書で説明するような通信状態を表していない。そのため、第2および第3の象限504、506内のボックスのほとんどに削除されている。しかし、同じネットワークホスト402、404、406の第1および第2のネットワークインタフェース302、304と関連付けられた第2および第3の象限504、506の各々内のボックスは、ラベル「ローカル」で表されて、ホストネットワーク402、404、406内のネットワークインタフェース302、304間のローカル通信が、前述のようにIPルーティングがホスト内で有効にされている場合に可能であることを示す。しかし、同じネットワークホストの2つのネットワークインタフェース間のローカル通信はネットワーク408、410のいずれも経由していないので、かかる通信は、本明細書で開示する教示に従ったネットワークに対する通信状態の定義とは無関係である。すなわち、テーブル例500内に表されているローカル通信は、説明を目的としてのみ示されている。従って、いくつかの例では、完全性テーブル生成器308によって作成された完全性テーブルは、第2および第3の象限504、506内に表される情報を除外し得る。さらに、いくつかの例では、完全性テーブル生成器308は、完全性テーブル生成器308が属するネットワークホスト402、404、406と関連した情報のみを含め得る。例えば、ホストAに対する完全性テーブルは、ホストAと関連付けられた行および/または列内の情報のみを含み得る。
図5の図示例に示すように、ネットワークホスト402、404、406の各々のネットワークインタフェース302、304の各々の間の通信状態は、ネットワーク障害がないことを示す「良好」である。これに対して、図4のシステム例400が、図6に複製されているが、第2のネットワークホスト404(ホストB)の第1のネットワークインタフェース302と関連したネットワーク障害602があり、対応する通信状態のテーブル700が図7に示されている。図7の図示例に示されるように、第4象限508は、各ネットワーク接続の通信状態が良好という点において、図5のテーブル例500内の第4象限と同一である。第4象限508は、二次ネットワーク410と関連付けられた通信状態を表しており、図6に示されたネットワーク障害602は一次ネットワーク408のみに影響するので、第4象限508は、図5に示されたテーブル500と、図7に示されたテーブル700との間で変わりがない。図示例では、図7のテーブル例700の(一次ネットワーク408と関連付けられた)第1象限502は、第2のネットワークホスト404と、第1および第3のネットワークホスト402、406の両方との間の不良な通信状態を示す。しかし、第1と第3のネットワークホスト402、406の間の一次ネットワーク408を通じた通信状態は良好なままである。
図4および図6のシステム例400のトポロジに起因して、ネットワーク障害が生じた時にはいつでも、障害は、ネットワークホスト402、404、406の1つが他の全てのネットワークホスト(例えば、他の2つ)との接続を失う結果となるが、他のネットワークホストは依然として通信可能である。もっと多くのネットワークホストおよび/またはもっと複雑なネットワークトポロジ(例えば、1つ以上のスイッチを備えた)を含む他の例では、関与する様々なネットワークホスト間の通信状態の異なる分割となり得る。例えば、ネットワーク障害は、1つのネットワークホストが、他のネットワークホストの一部のみとの特定のネットワークを通じた接続を失う結果となり得るが、他のネットワークホストとの同じネットワークを通じた通信は保持したままである。同様に、いくつかの例では、ネットワーク障害は、ネットワークホストの第1のグループにネットワークホストの第2のグループとの接続を失わせるが、ネットワークホストは対応するグループ内の他のネットワークホストとの接続は維持している。
図3を再度参照すると、ネットワークホスト例210は、第1および第2のネットワークインタフェース302、304と関連付けられたネットワークの各々上の他のネットワークホストに定期的に伝送される完全性メッセージを生成するために、完全性メッセージ生成器310を備えている。いくつかの例では、完全性メッセージは、完全性メッセージの送信元または発信元(例えば、完全性メッセージが伝送されたネットワークホスト)を識別するのに役立つホスト情報を含む。より具体的には、いくつかの例では、ホスト情報は、完全性メッセージを伝送しているネットワークホストの第1および第2のネットワークインタフェース302、304の各々に割り当てられたIPアドレスの表示を含む。
加えて、いくつかの例では、完全性メッセージは、送信側ネットワークホスト(例えば、完全性メッセージの送信元)と、一次および二次ネットワーク408、410の各々上の他のネットワークホストの各々との間の接続または通信状態を示すのに役立つ完全性情報を含む。いくつかの例では、完全性メッセージに含まれる完全性情報は、完全性テーブル生成器308によって生成された完全性テーブル内に含まれる情報に対応する。いくつかの例では、特定のネットワークホストの完全性メッセージ生成器310によって準備された各完全性メッセージで送信された完全性情報は、その特定のネットワークホストと関連付した通信状態情報のみを含む。いくつかのかかる例では、伝送された完全性メッセージは、たとえ特定の完全性メッセージが常にネットワークの1つを通じてのみ伝送されても、一次ネットワーク408および二次ネットワーク410の両方に対してネットワークホストと関連した通信状態情報を含む。
いくつかの例では、完全性メッセージアナライザー306は、完全性メッセージを分析して、他のネットワークホストの各々から受信した最初の完全性メッセージに基づき、一次および二次ネットワーク408、410の各々上で他のネットワークホストを自動的に発見する。前述のように、各完全性メッセージは、その完全性メッセージを伝送しているネットワークホストを識別するホスト情報を含む。その結果、いくつかの例では、新しいネットワークホスト(すなわち、以前の完全性メッセージが受信されていないネットワークホスト)を識別する完全性メッセージが受信された場合、受信側ネットワークホストの完全性メッセージアナライザー306は、受信したホスト情報(そのメッセージを伝送したネットワークホストの関連付けられたネットワークインタフェース302、304に対するIPアドレス)に基づきそのホストに対してIPルーティングテーブル内に新しいエントリを作成する。加えて、いくつかの例では、完全性メッセージアナライザー306は、ホスト情報を完全性テーブル生成器308に提供して、完全性メッセージを送信している新しく発見されたネットワークホストと、完全性メッセージを受信しているネットワークホストとの間の通信の状態を格納するために、完全性テーブルを更新および/または拡張する。新しいネットワークホストの発見および後続の完全性メッセージに対して結果として生じる変更が、以下で説明する図8に示されている。
図8は、ネットワークホスト402、404、406、および図6の周囲のネットワーク障害602発生の最初の発見中に図4のネットワークホスト402、404、406の各々によって伝送された完全性メッセージに対する経時的変化例を示すテーブル800である。図8の図示例では、テーブル800の各行が、第1列802内に示されるように、後の時点に対応する下位行をもつ異なる時点に対応する。従って、時間T1(1行目)は第1の時点であり、その後に時間T2(2行目)が続き、その後に時間T3(3行目)が続き、以下同様である。図示例では、各離散時点(例えば、T1、T2、T3など)において、ホストネットワーク402、404、406の1つが、一次ネットワーク408または二次ネットワーク410のいずれか1つを通じ、伝送側ホストネットワーク402、404、406の対応するネットワークインタフェース302、304を経由して、完全性メッセージを伝送する。図8のテーブル例800では、任意の特定の時点において完全性メッセージを伝送しているネットワークホスト402、404、406が、第2列804内で識別され、同時に、完全性メッセージが伝送されるネットワーク408、410が第3列806内に示されている。図示例では、テーブル800にリストされたネットワーク408、410に接続されたネットワークインタフェース302、304は、各対応する完全性メッセージが送信されるインタフェースである。
図示例に示すように、同じネットワークインタフェース302、304が後続の完全性メッセージを送信するために使用される前に、連続する時点において伝送された完全性メッセージの送信元または発信元は、各ネットワークホスト402、404、406のネットワークインタフェース302、304の各々を、各ネットワーク408、410を通じて繰り返している。例えば、時間T1において、第1のネットワークホスト402(ホストA)が第1の完全性メッセージを一次ネットワーク408を通じて(第1のネットワークインタフェース302を経由して)伝送する。第2および第3のネットワークホスト404、406の両方のネットワークインタフェース302、304ならびに第1のネットワークホスト402の第2のネットワークインタフェース304からの完全性メッセージが時間T2~T6で送信されるので、同じネットワークホスト402の同じネットワークインタフェース302が、時間T7まで完全性メッセージを再度伝送することはない。いくつかの例では、テーブル例800内に示される各時点の間の間隔はほぼ同じである。そのため、各連続する完全性メッセージのおおよそのスケジュールまたはタイミングが分かっているので、同じネットワークホストの同じネットワークインタフェースからの各連続する完全性メッセージ間の間隔も同様に分かっている。言い換えれば、いくつかの例では、完全性メッセージを送信するために、システム400が、ネットワークノードの各々のネットワークインタフェースの各々を繰り返すための時間間隔が知られている。結果として、最後の完全性メッセージが、特定のネットワークホストの特定のネットワークインタフェースから受信されてからの期間が、同じ送信元からの次の完全性メッセージがいつ予期されるかを判断するために監視できる。いくつかの例では、予期された期間内に完全性メッセージが受信されない場合、ネットワーク障害が検出される。全てのネットワークホストの全てのネットワークインタフェースを繰り返すための期間は、関与するネットワークの特質およびサイズ、ならびに完全性メッセージが伝送される頻度に応じて、システムによって異なり得る。いくつかの例では、1サイクルの時間は100ミリ秒であり得る。結果として、ネットワーク障害が検出でき、次いで、重要なデータが失われる前に迅速に(例えば、実質的にリアルタイムで)対応できる。例えば、500ミリ秒のサイクル周期は、2秒未満の切替え時間となるであろう。
図8のテーブル例800は、各時点において送信された各完全性メッセージの内容も示す。具体的には、第4列808は、各完全性メッセージで送信された識別情報を示す。前述のように、各完全性メッセージは、ネットワークホストのネットワークインタフェース302、304の各々のIPアドレスの表示を含むメッセージを送信しているネットワークホストを識別するホスト情報を含む。従って、図示例で時間T1およびT7において、完全性メッセージが第1のネットワークホスト402から一次ネットワーク408を通じて送信される間に、同じホスト情報が、時間T4において二次ネットワーク410を経由して、他のネットワークホスト404、406にも送信される。
テーブル例800の第5列810には、各完全性メッセージに含まれる完全性情報が示されている。前述のように、いくつかの例では、ネットワークホスト402、404、406は、互いから受信した完全性メッセージに基づき、互いを発見し得る。かかる例では、ネットワークホストが発見される前は、かかる情報が知られていないので、完全性メッセージはいかなる完全性情報(例えば、ホスト間の通信状態)も含むことができない。それに応じて、図8に示すように、時間T1においてホストAは、ホストAに対するホスト情報を含むが、いかなる完全性情報も含んでいない、完全性メッセージを伝送する。ホストBは、時間T1においてホストAから伝送された完全性メッセージを受信したので、ホストBの完全性メッセージアナライザー306は、(伝送されたホスト情報に基づき)ホストAを識別し、従って、IPルーティングテーブル内にホストA(および対応するネットワークインタフェース302、304)に対する新しいエントリを作成するのを可能にされる。加えて、ホストBは、ホストAから一次ネットワーク408を通じて伝送された完全性メッセージを受信したので、ホストBの完全性メッセージアナライザー306は、通信が一次ネットワーク408を通じて可能であることを確認して、ホストBの完全性テーブル生成器308が、通信状態を良好に設定するのを可能にする。その結果、時間T2において、ホストBから伝送された完全性メッセージは、(ホストBによって発見された通り)ホストAの存在およびそれらの間の一次ネットワーク408を通じた通信状態が(文字「G」によって示される)良好であることを示す完全性情報を含む。
時間T3において、ホストCから伝送された完全性メッセージは、それぞれ、時間T1および時間T2において各ホストから送信された以前に伝送された完全性メッセージに基づき、ホストAおよびホストBの両方に関する完全性情報を含む。一旦、完全性メッセージが、時間T3においてホストCから送信されると、各ネットワークホストからのホスト情報が一度伝送されているために、各ホストは、今や他のホストに対して発見されていて、指示されたデータ通信を適切に(例えば、他のネットワークホストの各々から提供されたIP情報を使用して)可能にする。
図8の図示例に示すように、第1の3つの完全性メッセージの各々が(時間T1、T2、およびT3において)一次ネットワーク408を通じて伝送される。そのため、各完全性メッセージで提供されるようにネットワークホスト402、404、406(ホストA、ホストB、ホストC)の各々の間で示される通信状態は、一次ネットワーク408に関してのみ提供される。第1の完全性メッセージがホストAから(時間T4において)二次ネットワーク410を通じて送信されて初めて、ホストBの完全性メッセージアナライザー306が、ホストAとホストBとの間で二次ネットワーク410を通じて通信が可能であることを確認する。かかる接続の確認は、時間T5においてホストBから送信される後続の完全性メッセージに反映される。ホストCも、時間T4においてホストAから送信された完全性メッセージを受信して、それらの間の二次ネットワーク410を通じた通信を同様に確認する。一旦、完全性メッセージが時間T6においてホストCから送信されると、各ネットワークホスト402、404、406の全てのネットワークインタフェース302、304が完全性メッセージを伝送しているために、各ネットワークホスト402、404、406は、システム400内の他の全てのホストに関してその接続状態を確認できる。(時間T7から始まる)各ホストから送信された後続の完全性メッセージは、ネットワークホスト402、404、406が相互の間の通信状態を継続してチェックして、完全性情報に対する変更に関する更新を提供するのを可能にする。
各ネットワークホスト402、404、406のネットワークインタフェース302、304の各々が動作している接続を維持している場合、各後続の完全性メッセージの一部として伝送される完全性情報は、時間T7、T8、およびT9において示されるように、全ての通信状態が良好な同じままである。しかし、ネットワーク障害が起こった場合、影響を受けたネットワークホストの後続の完全性メッセージが、最終的には、影響を受けたネットワークホスト間の通信状態における変更を反映するように更新される。
図8の図示例では、図6のネットワーク障害602が時間T8とT9との間(例えば、時間T8.5において)に起こる。図示例に示すように、障害602のために、ホストB(第2のネットワークホスト404)への、またはホストBからの通信がもはや可能でないが、時間T9およびT10において(それぞれ、ホストCおよびホストAから)送信された完全性情報によって示される全ての接続の通信状態が、それにも関わらず、良好であると示されている。前述のように、いくつかの例では、特定のネットワークインタフェースに関した不良な接続(例えば、ネットワーク障害)の検出は、最後の(例えば、直前の)伝送が特定のネットワークインタフェースから受信された後に、新しい伝送を受信することなく、経過した閾値期間に基づく。図示例では、ホストBから一次ネットワーク408を通じて(ネットワーク障害602の前に)うまく伝送された最後の完全性メッセージが、時間T8において生じた。繰り返すべき6つの異なるネットワークインタフェースがあるので、ホストBから一次ネットワーク408を通じて伝送される次の完全性メッセージは、時間T14まで予期されない。そのため、時間T9およびT10で送信された完全性メッセージは、時間T8において受信されたメッセージに基づき、全ての通信状態を良好であると継続して示す。いくつかの例では、時間T8と時間T14との間の時間が1秒未満であるために、通信状態におけるこのエラーは、素早く解決されるであろう。
図示例では、時間T11に送信された完全性メッセージは、ホストB(完全性メッセージを送信しているネットワークホスト)とホストCとの間の一次ネットワーク408を通じた通信状態は悪いが(文字「B」によって示される)、他方、ホストBとホストAとの間の通信状態は依然として良好であることを示す。ホストAおよびホストCに関して示される異なる通信状態は、ホストBにおいてホストAおよびBの各々から一次ネットワーク408を経由して受信された最後の完全性メッセージのタイミングに関連した、ネットワーク障害602のタイミングの結果である。テーブル例800に示すように、ホストAから一次ネットワーク408を通じて伝送された最後の完全性メッセージは時間T7においてであり、それは、時間T8.5におけるネットワーク障害602の前である。ホストAから一次ネットワークを通じて予期される次の完全性メッセージは、時間T13まで予期されない。そのため、時間T11において、ホストAからの次に予期される完全性メッセージまでの時間間隔が経過していないために、ホストBの完全性メッセージアナライザー306は、まだ、ホスト間のネットワークが失敗していることを確認していない。一方、ホストCは時間T9において完全性メッセージを伝送したが、それは、時間T8.5におけるネットワーク障害602の後に生じた。結果として、時間T9においてホストCから送信された完全性メッセージは、予期通りにホストBに配信されないために、完全性メッセージアナライザー306は、ホスト間の接続が不良であると判断する。
前述のように、いくつかの例では、完全性メッセージアナライザー306は、各完全性メッセージの内容(例えば、完全性情報)を分析して、後続の完全性メッセージに示されるネットワークホスト間の通信状態を更新する。これは、ホストCにより時間T12に送信される完全性メッセージによって示される。前述のように、ホストBにより時間T8に送信された完全性メッセージは、ネットワーク障害602がまだ起こっていなかったので、ホストCでうまく受信された。さらに、一次ネットワーク408を通じたホストBからの次の完全性メッセージは、時間T14まで予期されない。しかし、いくつかの例では、ホストCの完全性メッセージアナライザー306は、ホストBから二次ネットワーク410を通じて(時間T11に)送信された完全性情報によって示される不良な通信状態を識別する。いくつかのかかる例では、完全性メッセージアナライザー306は、それ自身とホストBとの間の一次ネットワーク408を通じた通信状態が不良であると判断する。
ホストAにより時間T13に提供された完全性情報は、ホストBからの次に予期される完全性メッセージがまだ将来(時間T14において)であり、他のどの完全性メッセージも別の方法でホストAとホストBとの間の不良な接続を示さないので、依然として、ホストAとホストBとの間の通信状態が良好であると示している。しかし、ホストAが時間T13で完全性メッセージを送信する一方、ホストBは、ネットワーク障害602のためにメッセージを受信しないであろう。従って、ホストBの完全性メッセージアナライザー306は、時間T13において、それが、ホストAからの次の完全性メッセージが予期されたが、受信されなかった時であるので、通信状態が悪いと判断する。
時間T14で、ホストBは、ホストAとホストBとの間(時間T13で判断された)およびホストBとホストCとの間(時間T9で判断された)の通信障害を示す完全性メッセージを伝送しようと試行し得る。しかし、ネットワーク障害602に起因して、ホストBからの完全性メッセージの配信が失敗するために、ホストAおよびホストCには何も配信されない。いくつかのかかる例では、ホストBは完全性メッセージを(例えば、時間T14で)伝送しようとするとき、伝送は認められないままであり得、それにより、ホストBに対して、伝送が他のホストから受信されてから閾値期間を超えているかどうかに関わらず、ネットワーク障害が生じていることを示す。ホストAおよびホストCに関して、新しいメッセージが時間T14で予期されて、完全性メッセージがホストBから一次ネットワーク408を通じて最後にうまく伝送された時間T8と、時間T15との間の期間が、その間に別の完全性メッセージが予期される、閾値期間を超える。いくつかのかかる例では、ホストCの完全性メッセージアナライザー306は、ホストBとホストCとの間に一次ネットワーク408を経由したネットワーク障害があると判断して、それに応じて(時間T15で送信される)完全性情報を更新する。他の例では、ホストCの完全性メッセージアナライザー306は、前述のようにホストBから(時間T11で)受信した完全性情報に基づき、障害のある通信状態を既に判断している可能性がある。その結果、かかる例では、ホストCにより(時間T15で)伝送された完全性メッセージに含まれる完全性情報は、悪い通信状態を反映し続ける。同様に、図示例では、ホストAの完全性メッセージアナライザー306は、完全性メッセージが、時間T14でホストBから予期されていたので、ホストAとホストBとの間に一次ネットワーク408を経由したネットワーク障害があると判断する。そのため、時間T16で、ホストAによって提供された完全性情報が、悪い通信状態を反映するように更新される。従って、時間T16までに、ネットワークホストの全てがネットワーク障害602を検出して、通信状態における変化を反映する完全性メッセージを伝送している。各ホストからの各後続の完全性メッセージ内の完全性情報は、別の変化が検出される(例えば、ネットワーク障害602が修復される、かつ/またはネットワークホストの少なくとも2つの間で別のネットワーク障害が起こる)まで、継続して同じままであろう。図示例は、単一の時間間隔(例えば、全てのネットワークインタフェースの1回の繰返し)だけの後に通信状態が更新されていると示しているが、いくつかの例では、閾値期間は、例えば、ネットワークインタフェースの2または3回の完全な繰返しの期間など、もっと長い可能性がある。
テーブル例800は、ホストAが、時間T13およびT19で一次ネットワークを経由して完全性メッセージを伝送していることを示し、ホストCは、時間T9およびT15で一次ネットワークを経由して完全性メッセージを送信していることを示しているが、ホストBに関するネットワーク障害602のために、ホストAおよびホストCからのメッセージは互いにうまく配信されるだけである。すなわち、ホストAおよびホストCは、他によって伝送された完全性メッセージを受信しているであろうが、ホストBはいずれの完全性メッセージも受信していないであろう。
いくつかの例では、図8のテーブル例800に示すように、各ネットワークホスト402、404、406から送信される完全性メッセージは、一次ネットワーク408および二次ネットワーク410の間で交互に行われる。すなわち、ホストA、B、およびCの各々が完全性メッセージを一次ネットワーク408を通じて送信し、続いて、ホストA、B、およびCの各々は、完全性メッセージを二次ネットワーク410を通じて送信する。他の取決めも可能である。例えば、図9は、ネットワークホストの最初の発見中に、図4のネットワークホストの各々によって伝送された完全性メッセージに対する様々な経時的変化例を示すテーブル900である。図9の図示例では、各ネットワークホスト402、404、406が完全性メッセージを各ネットワーク408、410を通じて伝送した後に、別のネットワークホストが同じことを行う。すなわち、ホストAが第1の完全性メッセージを一次ネットワーク408を通じて(時間T1で)伝送し、続いて、第2の完全性メッセージを二次ネットワーク410を通じて(時間T2で)伝送した後に、ホストBが任意の完全性メッセージを(時間T3から始めて)伝送する。ネットワークホストの各々が発見される際に連続する完全性メッセージ内に結果として生じる完全性情報が、図9のテーブル例900に示されている。
前述のように、いくつかの例では、各ネットワークホストは、それ自身と他のネットワークホストとの間の通信状態を、他のホストからの完全性メッセージが予期された時に受信されるか否かに基づき判断し得る。そのため、いくつかの例では、各完全性メッセージ内に含まれているものがホスト情報だけである。かかる例では、第5列810内に示す完全性情報は、完全性テーブル生成器308によって作成された完全性テーブル内に格納された情報に対応する。しかし、この情報は、他のネットワークホストと共有されていない可能性がある。すなわち、いくつかの例では、各ホストは、結果として生じる完全性情報を共有することなく、それ自身の完全性テーブルを生成する。他の例では、完全性情報は、ネットワークホストの各々の間で判断された通信状態の比較を可能にするために、ホスト間で共有される。いくつかの例では、ネットワークホストにより他のネットワークホストから受信された完全性情報は、(例えば、完全性テーブルが全てのネットワーク接続の通信状態を含む場合に)完全性テーブルを更新するか、または完成するために使用される。さらに、いくつかの例では、ネットワークホストにより別のホストから受信された完全性情報は、ネットワークホストが送信すべき次の完全性メッセージに含まれる完全性情報を更新するために使用される。
図3を再度参照すると、ネットワークホスト例210は、ネットワークホスト210と他のネットワークホストとの間のデータ通信用の経路を判断して設定するために、通信経路判定器例312を備えている。いくつかの例では、特定のネットワークインタフェース(例えば、第1のネットワークインタフェース302)と別のネットワークホストの対応するインタフェースとの間の関連付けられたネットワーク(例えば、一次ネットワーク408)を通じた通信状態が良好である場合、通信経路判定器312は、通信経路を、接続されたネットワークインタフェースと関連付けられたネットワークを通るとして定義する。そのため、ネットワークホストは、対応するネットワークを経由して直接通信する。しかし、完全性メッセージアナライザー306が、ネットワークインタフェース間でネットワーク障害(例えば、不良な通信状態)を検出すると、通信経路判定器312は、ネットワークインタフェース間で代替経路を識別し得る。例えば、一次ネットワーク408を経由した2つのネットワークホスト間にネットワーク障害がある場合、通信経路判定器312は、2つのネットワークホストを接続する二次ネットワーク410を通る代替通信経路を定義し得る。通信経路例は、図10~図12に関連して、以下でさらに完全に説明される。
いくつかの例では、通信経路判定器312は、不良な通信状態が検出されるとすぐに、代替通信経路を確立する。他の例では、通信経路判定器312は、通信経路が不良であることが閾値回、確認された後に、代替通信経路を確立する。いくつかの例では、特定のネットワークホストの通信経路判定器312は、特定のネットワークホストから送信された連続する完全性メッセージの閾値数が、ホスト間の通信状態が不良であることを示した後、別のホストに関して代替通信経路を確立する。例えば、不良な通信状態での完全性メッセージの閾値数は3であり得る。図8の図示例に示すように、ホストCに関して悪い通信状態を示している、ホストBから送信された第1の完全性メッセージは、時間T11で二次ネットワーク410を通じて送信される。同じ情報(ホストBとホストCとの間の悪い通信状態)を有する第2の完全性メッセージが、時間T14で一次ネットワーク408を経由して送信されるが、それは、ネットワーク障害602のために、他のホストに決して到達しない(そのため、テーブル800に、何も配信されないと示されている)。ホストCに関して悪い通信状態を示している、ホストBから送信された第3の完全性メッセージが、時間T17で二次ネットワーク410を通じて送信される。従って、かかる例では、ホストBの通信経路判定器312は、時間T17においてホストBとホストCとの間に代替通信経路を確立する。
一方、上の例では、ホストBの通信経路判定器312は、時間T20において、これが、ホストBとホストAとの間の悪い通信状態を示している、ホストBから送信された(決して配信されないが)第3の完全性メッセージであるので、ホストBとホストAとの間に代替通信経路を確立する。かかる情報を有する、第1の完全性メッセージがホストBから(一次ネットワーク408を経由して試行されて)送信されたのは時間T14においてであり、第2の完全性メッセージが送信されて(かつ、二次ネットワーク410を経由してうまく配信された)のは時間T17においてである。ホストAに関して、ホストBとの失敗した接続を示している3つの連続した完全性メッセージは、時間T16、T19、およびT22(図示せず)においてである。それ故、ホストAの通信経路判定器312は、時間T20において、ホストAとホストBとの間に代替通信経路を確立する。ホストCに関して、ホストBとの失敗した接続を示している3つの連続した完全性メッセージは、時間T12、T15、およびT18においてである。それ故、ホストCの通信経路判定器312は、時間T18において、ホストCとホストBとの間に代替通信経路を確立する。
図10は、一次ネットワーク1006および二次ネットワーク1008を経由して接続された2つのネットワークホスト例1002、1004を備えたシステム例1000の略図である。いくつかの例では、ネットワークホスト1002、1004は、(図1および/もしくは図2のシンクライアント126および/もしくはワークステーション117、ならびに/または図4および/もしくは図6のネットワークホスト402、404、406に対応する)前述のネットワークホスト210と同様に機能する。従って、図示例に示すように、ネットワークホスト1002、1004の各々は、一次ネットワーク1006に接続された第1のネットワークインタフェース1010および二次ネットワーク1008に接続された第2のネットワークインタフェース1012を有する。図10の一次および二次ネットワーク1006、1008は、図4の一次および二次ネットワーク408、410に対応し得る。
図10の図示例では、一次ネットワーク1006が、X.X.Xとして表されたIPネットワーク番号で識別される。第1のネットワークホスト1002および第2のネットワークホスト1004の第1のネットワークインタフェース1010は、それぞれ、X.X.X.1およびX.X.X.2のIPアドレスを割り当てられた一次ネットワーク1006に接続されている。図示例の、二次ネットワーク1008は、Y.Y.Yとして表されたIPネットワーク番号で識別されて、第1のネットワークホスト1002および第2のネットワークホスト1004の第2のネットワークインタフェース1012は、それぞれ、Y.Y.Y.1およびY.Y.Y.2のIPアドレスを割り当てられた二次ネットワーク1006に接続されている。
図示例に示すように、第1のネットワークホスト1002から第2のネットワークホスト1004への2つの直接通信経路がある。両方の通信経路は、一次ネットワーク1006を通じた第2のネットワークホスト1002の第1のネットワークインタフェース1010への第1のネットワークホスト1002の第1のネットワークインタフェース1010、または、二次ネットワーク1006を通じた第2のネットワークホスト1004の第2のネットワークインタフェース1012への第1のネットワークホスト1002の第2のネットワークインタフェース1012のいずれかから直接である。同様に、上で概説した経路の逆である、第2のネットワークホスト1004から第1のネットワークホスト1002へ行く、2つの直接経路がある。これらの直接通信経路は、図10のテーブル1014内に要約されている。
ネットワーク1006、1008の1つにネットワーク障害がある場合、その障害のあるネットワークに接続されたネットワークインタフェース1010、1012の間の直接通信はもう利用できない。しかし、一方のネットワークの障害は、他方のネットワークに影響しないために、直接通信は、他方の(適切に機能している)ネットワークを通じて依然として利用可能である。いくつかのかかる例では、障害のあるネットワークに関連付けられたネットワークインタフェース間の通信は、良好なネットワークを通じて間接的に達成される。例えば、図11は、一次ネットワーク1006内にネットワーク障害1102のあるシステム例1000を示す。第1および第2のネットワークホスト1002、1004の第2のネットワークインタフェース1012は二次ネットワーク1008を通じて直接通信できるが、第1および第2のネットワークホスト1002、1004の第1のネットワークインタフェース1010は、ネットワーク障害1102のために、一次ネットワーク1006を通じて直接通信できない。
いくつかの例では、上のネットワーク障害1102は、IPルーティングを可能にすることにより各ネットワークホスト1002、1004のネットワークインタフェース1010、1012間でネットワークホスト1002、1004内の内部またはローカルルーティング1104を使用して迂回される。ネットワークホスト内でIPルーティングを可能にして、いくつかの例では、不良な通信状態が、ネットワークインタフェースおよび別のネットワークホストの対応するネットワークインタフェースの1つに関して検出される場合、通信経路判定器312は、ネットワークホストが接続される良好なネットワークに依存する新規または代替経路を定義する。具体的には、いくつかの例では、通信経路判定器312は、同じネットワークホストの他のネットワークインタフェースを、不良な接続をもつネットワークインタフェースと良好な接続を有するネットワークインタフェースとの間のゲートウェイまたはルーターとして定義するエントリで、失敗したネットワークに接続されたネットワークインタフェースに対するIPルーティングテーブルを自動的に更新する。データを伝送しているネットワークホストおよびそのデータを受信しているネットワークホストの両方がネットワーク障害を検出するので、良好なネットワークに接続された各ホスト上のネットワークインタフェースが両方とも、データ通信が必要に応じて最終的な宛先に転送されるのを可能にするために、対応するネットワークホストの他のネットワークインタフェースに対するゲートウェイとして定義されるであろう。
例えば、第1のネットワークホスト1002の第1のネットワークインタフェース1010は、第2のネットワークホスト1002の第1のネットワークインタフェース1010にデータ(例えば、プロセス制御システムの操作と関連付けられたデータ)を伝送しようとし得る。しかし、図11に表された状況では、かかるデータ通信は、ネットワーク障害1102のために失敗するであろう。しかし、前述のように、ネットワークホスト1002、1004は、ネットワーク障害1102が非常に迅速に(例えば、数秒以内に)検出できるように、他のホストから送信された完全性メッセージの頻繁な伝送を監視する。いくつかの例では、ネットワーク障害1102が検出されるとすぐに、第1のネットワークホスト1002の通信経路判定器312は、第2のネットワークインタフェース1012が、通信のために第1のネットワークホスト1002の第1のネットワークインタフェース1010を形成するゲートウェイとして定義される、新しい通信経路を定義する。結果として、第1のネットワークホスト1002の第1のネットワークインタフェース1010から生じた通信が、第2のネットワークインタフェース1012に(例えば、内部ルーティング1104を経由して)ルーティングされて、二次ネットワーク1008を通じて伝送される。同時に、かかる例では、第2のネットワークホスト1004の通信経路判定器312は同様に、第2のネットワークインタフェース1012を、第2のネットワークホスト1004の第1のネットワークインタフェース1010と関連した通信のためのゲートウェイとして定義する。結果として、第1のネットワークインタフェース1010にアドレス指定される第2のネットワークホスト1004の第2のネットワークインタフェース1012で受信された伝達は、第1のネットワークインタフェース1010に(例えば、内部ルーティング1104を経由して)転送される。従って、図11の図示例では、テーブル1106に要約するように、1つの直接通信経路および1つの間接通信経路がネットワークホスト1002、1004間にある。
前述のように、一旦、通信経路判定器312が新しい通信経路を確立すると、データ通信が、第1および第2のネットワークホスト1002、1004の第1のネットワークインタフェース1010間で再開できる。いくつかの例では、ネットワーク障害と代替通信経路の確立との間の時間は5秒未満である。いくつかの例では、その時間が2秒未満である。その結果、これは、ネットワーク障害を検出するのに1分以上かかり、その後、データ伝送が再度開始できる前に新しい通信を確立しなければならない既存の方法に比べて、著しい改善である。
いくつかの例では、データ通信は、通信経路判定器312によって定義された代替通信経路を経由して伝送されるが、第1のネットワークインタフェース1010から起源されている完全性メッセージは、依然として、一次ネットワーク1006によって定義された直接経路を通じて伝送される。かかる例では、ネットワーク障害1102が続いている限り、完全性メッセージの伝送は成功しないであろう。そのため、かかる完全性メッセージを期待している他のホストネットワークが、対応するネットワークインタフェース間の接続に対して、通信状態が悪いことを継続して確認するであろう。しかし、一旦、ネットワーク障害が修復されると、次の完全性メッセージがうまく配信されるので、そのメッセージを受信しているネットワークホストは、接続が回復されていることを確認できる。いくつかの例では、一旦、ネットワークホストが、ネットワーク障害が修復されている(すなわち、通信状態が不良から良好に変わっている)と判断すると、通信経路判定器312は、現在修復されている一次ネットワーク1006の直接経路を通じて、プロセス制御データを再度伝送するために、関連付けられたネットワークインタフェースに対するIPルーティングテーブルを調整し得る。
図12は、二次ネットワーク1008内にネットワーク障害1202のあるシステム例1000を示す。いくつかの例では、ネットワークホスト1002、1004の二次ネットワークインタフェース1012間で代替通信経路を検出して確立することは、図11のネットワーク障害1102に関して前述したのと同様に達成されるが、第2のネットワークインタフェース1012間の通信は、一次ネットワーク1006を通じてルーティングされている。図12のテーブル1204は、図12のネットワーク障害1202に起因する直接および間接通信経路を要約する。
図3を再度参照すると、ネットワークホスト例210は、ネットワークホスト210からの完全性メッセージの伝送を管理するために、通信マネージャ例314を備えている。例えば、通信マネージャ314は、完全性メッセージがいつ、第1のネットワークインタフェース302を経由して伝送されるべきか、また、完全性メッセージがいつ、第2のネットワークインタフェース304を経由して伝送されるべきかを制御する。前述のように、いくつかの例では、完全性メッセージの伝送が、第1および第2のネットワークインタフェース302、304間で交互に行われる。いくつかの例では、通信マネージャ314は、各完全性メッセージのタイミングが、各連続するメッセージに対して設定された時間間隔内になるように制御する。
加えて、いくつかの例では、通信マネージャ314は、ネットワークホスト210からのいずれかのネットワーク408、410上の任意の指定アドレスへのデータ(例えば、プロセス制御データ)の伝送を管理する。例えば、通信マネージャは、正しい宛先に伝送されるための適切なルーティング情報を備えたデータパケットを用意する。いくつかの例では、ネットワーク障害が最初に検出されると、通信マネージャ314は、代替経路が確立される前(通常、2,3秒のみ)に伝達されるように意図された任意のデータを、再伝送のためにキューに入れさせる。一旦、代替経路が確立されると、任意のキューに入れられたデータが、任意の後続のデータと共に、再伝送できる。その結果、本明細書で開示する教示は、ネットワーク障害を、多数の既知の方法よりもずっと早く検出して解決できるだけでなく、本明細書で開示する例は、データが失われず、全てが適切に配信されることを確実にするという追加の利点も達成する。
(図1~図2、図4、図6、および/または図10~図12のワークステーション117、シンクライアント126、ネットワークホスト402、404、406、および/またはネットワークホスト1002、1004のいずれかに対応する)ホストネットワークホスト210の方法例が、図3に示されているが、図3に示す要素、プロセスおよび/または装置の1つ以上が、結合、分割、再構成、省略、除外および/または任意の他の方法で実装され得る。さらに、第1のネットワークインタフェース例302、第2のネットワークインタフェース例304、完全性メッセージアナライザー例306、完全性テーブル生成器例308、完全性メッセージ生成器例310、通信経路判定器例312、通信マネージャ例314、アラームマネージャ例316、および/または、より一般的には、図3のネットワークホスト例210が、ハードウェア、ソフトウェア、ファームウェアならびに/または、ハードウェア、ソフトウェア、および/もしくはファームウェアの任意の組合せによって実装され得る。従って、例えば、第1のネットワークインタフェース例302、第2のネットワークインタフェース例304、完全性メッセージアナライザー例306、完全性テーブル生成器例308、完全性メッセージ生成器例310、通信経路判定器例312、通信マネージャ例314、アラームマネージャ例316、および/または、より一般的には、ネットワークホスト例210のいずれも、1つ以上のアナログもしくはデジタル回路(複数可)、論理回路、プログラム可能プロセッサ(複数可)、特定用途向け集積回路(ASIC)(複数可)、プログラム可能論理回路(PLD)(複数可)および/またはフィールドプログラム可能論理回路(FPLD)(複数可)によって実装され得る。完全にソフトウェアおよび/またはファームウェア実装を包含する本特許の任意の装置またはシステムクレームを読むと、第1のネットワークインタフェース例302、第2のネットワークインタフェース例304、完全性メッセージアナライザー例306、完全性テーブル生成器例308、完全性メッセージ生成器例310、通信経路判定器例312、通信マネージャ例314、および/またはアラームマネージャ例316の少なくとも1つが、本明細書により、そのソフトウェアおよび/またはファームウェアを格納している、メモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、Blu-rayディスクなどの、有形的コンピュータ可読記憶装置もしくは記憶ディスクを含むように明示的に定義される。さらにその上、図3のネットワークホスト例210は、図3に示されているものに加えて、またはそれらの代わりに、1つ以上の要素、プロセスおよび/もしくは装置を含み得、かつ/または示されている要素、プロセスおよび装置の一部または全部のうちの1つ以上を含み得る。
図3のネットワークホスト210を実装するための方法例を表す流れ図1300が図13Aおよび図13Bに示されている。この例では、本方法は、図14に関連して以下で説明する、プロセッサプラットフォーム例1400に示されるプロセッサ1412などの、プロセッサによって実行するためのプログラムを含むマシン可読命令を使用して実装され得る。プログラムは、CD-ROM、プロッピィディスク、ハードドライブ、デジタル多用途ディスク(DVD)、Blu-rayディスク、またはプロセッサ1412と関連付けられたメモリなどの、有形的コンピュータ可読記憶媒体上に格納されたソフトウェアで具現化され得るが、プログラム全体および/またはその一部は、プロセッサ1412以外の装置によって代わりに実行され、かつ/またはファームウェアもしくは専用ハードウェアで具現化され得る。さらに、プログラム例は、図13Aおよび図13Bに示す流れ図を参照して説明されるが、ネットワークホスト例210を実装する多くの他の方法が代わりに使用され得る。例えば、ブロックの実行順が変更され得、かつ/または記述されたブロックの一部が変更、除外、または結合され得る。
前述のように、図13Aおよび図13Bのプロセス例は、情報が任意の期間(例えば、長期間、恒久的に、短期間、一時的にバッファリングのために、および/または情報のキャッシュのために)格納される、ハードディスクドライブ、フラッシュメモリ、読取り専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュ、ランダムアクセスメモリ(RAM)および/または任意の他の記憶装置もしくは記憶ディスクなどの、有形的コンピュータ可読記憶媒体上に格納されたコード化命令(例えば、コンピュータおよび/またはマシン可読命令)を使用して実装され得る。本明細書では、有形的コンピュータ可読記憶媒体という用語は、任意のタイプのコンピュータ可読記憶装置および/または記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するように明示的に定義される。本明細書では、「有形的コンピュータ可読記憶媒体」および「有形的マシン可読記憶媒体」は、区別しないで使用される。追加または代替として、図13Aおよび図13Bの方法例は、情報が任意の期間(例えば、長期間、恒久的に、短期間、一時的にバッファリングのために、および/または情報のキャッシュのために)格納される、ハードディスクドライブ、フラッシュメモリ、読取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリおよび/または任意の他の記憶装置もしくは記憶ディスクなどの、持続性コンピュータおよび/またはマシン可読媒体上に格納されたコード化命令(例えば、コンピュータおよび/またはマシン可読命令)を使用して実装され得る。本明細書では、持続性コンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読記憶装置および/または記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するように明示的に定義される。本明細書では、句「少なくとも」がクレームのプリアンブル内の移行語句として使用される場合、用語「包含する(comprising)」が、制限がないのと同様に、制限がない。
図13Aおよび図13Bの方法例1300は、ブロック1302から始まり、そこで、完全性メッセージアナライザー306が、(例えば、完全性メッセージアナライザー306と関連付けられたネットワークホスト以外の)ネットワークホストからの予期された完全性メッセージが指定されたネットワークインタフェース(例えば、第1または第2のネットワークインタフェース302、304のいずれか)を経由して受信されるかどうかを判断する。指定されたネットワークインタフェースが第1のネットワークインタフェース302に対応するか、第2のネットワークインタフェース304に対応するかは、ネットワークホストが、2つの共通したネットワークを経由して接続された各ネットワークホストのネットワークインタフェースの各々をどのように繰り返すかによって決まる。いくつかの例では、完全性メッセージは、最後の完全性メッセージが同じネットワークインタフェースから受信された時から経過した閾値期間に基づいて予期される。いくつかの例では、閾値期間は、ネットワークインタフェースの各々の単一の繰返し期間に対応する。他の例では、閾値期間は、例えば、ネットワークインタフェースの各々の3回の繰返し期間など、もっと長い。
完全性メッセージアナライザー306が、完全性メッセージが受信されている(ブロック1302)と判断する場合、制御は、ブロック1304に進み、そこで、完全性メッセージアナライザー例306が、その完全性メッセージが新しいネットワークホストからであるかどうかを判断する。完全性メッセージアナライザー306は、完全性メッセージに含まれるホスト情報に基づいてそのように判断する。ホスト情報が、メッセージアナライザー306が以前にそこから完全性メッセージを受信したことがないネットワークホストを識別する場合、完全性メッセージアナライザー306は、そのネットワークホストを新しいと判断する。完全性メッセージアナライザー306が、ネットワークホストが新しいと判断する(ブロック1304)場合、制御はブロック1306に進み、そこで、完全性メッセージアナライザー例306は新しいネットワークホストに対するエントリをIPルーティングテーブル内に作成する。ブロック1307で、完全性テーブル生成器例308は、新しいネットワークホストに対して完全性テーブル内にエントリを作成する。ブロック1308で、完全性テーブル生成器例308は、完全性テーブル内で、指定されたネットワークインタフェースを経由したネットワークホストとの通信状態の指標を良好に設定する。すなわち、(ブロック1302で判断されたように)完全性メッセージが受信されたので、完全性メッセージを伝送しているホストネットワークとの接続が良好であると確認されて、完全性テーブルがそれに応じて生成される。ブロック1304に戻って、完全性メッセージアナライザー306が、ネットワークホストが新しくないと判断する場合、制御は直接、ブロック1308に進む。
ブロック1309で、通信経路判定器例312は、通信状態が以前は悪かった(以下で説明するブロック1330での設定)かどうかを判断する。そうである場合、制御はブロック1310に進み、そこで、通信経路判定器例が、(以下で説明するブロック1338で確立される代替通信経路から)ネットワークホストの指定されたネットワークインタフェースへの直接通信経路を再確立する。すなわち、指定されたネットワークインタフェースとネットワークホストとの間の通信状態が悪かったが、現在は良好と示されている(すなわち、ネットワーク接続がちょうど修復された)場合、通信経路判定器312は、指定されたネットワークインタフェースと、完全性メッセージがそこから受信されたネットワークホストとの間の直接通信を復元し得る。いくつかの例では、通信経路判定器312は、指定されたネットワークインタフェースと関連付けられたIPルーティング情報を更新することにより直接通信経路を再確立して、他のネットワークホストとの直接伝送を可能にする。ブロック1311で、アラームマネージャ例316は、(以下で説明するブロック1332で生成された)アラートを除去して、ネットワーク回復をログに記録する。制御は、次いで、ブロック1312に進む。ブロック1309に戻って、通信経路判定器例312が、通信状態が以前は悪くなかったと判断する場合、制御は直接、ブロック1312に進む。
ブロック1312で、通信マネージャ例314は、プロセス制御データを、指定されたネットワークインタフェースを経由して、ネットワークホストに直接伝送する。すなわち、プロセス制御データは、対応するネットワークインタフェースから関連付けられたネットワークを経由して直接伝送されるが、なぜなら、その経路を通じた通信が良好であると判断されているからである。
ブロック1314で、通信マネージャ例314が、完全性メッセージを第1のネットワークインタフェース302を経由して伝送すべきかどうかを判断する。そうである場合、制御はブロック1316に進み、そこで、完全性メッセージ生成器例310が、完全性メッセージを生成する。いくつかの例では、完全性メッセージは、第1および第2のネットワークインタフェース302、304のIPアドレスを識別するホスト情報を含む。加えて、いくつかの例では、完全性メッセージは、ネットワークインタフェース302、304の各々と、他のネットワークホストの対応するネットワークインタフェースとの間の通信状態を示す完全性情報を含む。ブロック1318で、通信マネージャ例314が、完全性メッセージを他のネットワークホストへ第1のネットワークインタフェース302を経由して伝送する。制御は、ブロック1326に進んで、図13Aおよび図13Bの方法例を続行するかどうかを判断する。そうである場合、制御はブロック1302に戻って、受信した後続の完全性メッセージでプロセスを繰り返す。そうでない場合、図13Aおよび図13Bの方法例が終了する。
ブロック1314に戻って、通信マネージャ例314が、完全性メッセージを第1のネットワークインタフェース302を経由して伝送しないと判断する場合、制御はブロック1320に進む。ブロック1320で、通信マネージャ例314は、完全性メッセージを第2のネットワークインタフェース304を経由して伝送するかどうかを判断する。通信マネージャ例314が、完全性メッセージを第2のネットワークインタフェース304を経由して伝送しないと判断する場合、制御はブロック1302に進む。通信マネージャ例314が、完全性メッセージを第2のネットワークインタフェース304を経由して伝送すると判断する場合、制御はブロック1322に進み、そこで、完全性メッセージ生成器例310が完全性メッセージを生成する。ブロック1324で、通信マネージャ例314は、完全性メッセージを他のネットワークホストに第2のネットワークインタフェース304を経由して伝送する。制御は、次いで、ブロック1326に進み、ブロック1302に戻って方法を繰り返すか、または方法例を終了するかを判断する。
ブロック1302に戻って、完全性メッセージアナライザー306が、予期された完全性メッセージが受信されていないと判断する場合、制御はブロック1328に進み、そこで、完全性メッセージアナライザー例306は、最後の完全性メッセージが指定されたネットワークインタフェースから受信されてから閾値期間を超えているかどうかを判断する。閾値期間を超えていない場合、制御はブロック1312に戻って、プロセス制御データを伝送する。閾値期間を超えている場合、制御はブロック1330に進む。ブロック1330で、完全性テーブル生成器例308は、完全性テーブル内で、指定されたネットワークインタフェースを経由したネットワークホストとの通信状態の指標を不良に設定する。ブロック1332で、アラームマネージャ例316は、アラートを生成して、ネットワーク障害をログに記録する。いくつかの例では、ネットワーク障害が起こっていることを示すために、アラートがエンドユーザー(例えば、オペレータ)に提供される。
ブロック1334で、通信経路判定器例312は、代替通信経路が(例えば、方法例の以前の繰返し中に)確立されているかどうかを判断する。そうである場合、制御は、以下で説明するブロック1342に直接進む。通信経路判定器例312が、代替通信経路が確立されていないと判断する場合、制御はブロック1336に進む。ブロック1336で、通信マネージャ例314は、ネットワークホストに送信された(例えば、ブロック1312で)失敗したプロセス制御データ通信を、再伝送のためにキュー内に格納する。ブロック1338で、通信経路判定器例312は、ネットワークホストの指定されたネットワークインタフェースへの代替通信経路を確立する。いくつかの例では、第1および第2のネットワークインタフェース302、304の間の送信元ネットワークホストおよび宛先ネットワークホストの各々内でローカルルーティングに依存する。かかる例では、経路は、指定されたネットワークインタフェース以外のネットワークインタフェースと関連付けられたネットワークを通るように定義される。
一旦、代替通信経路が確立される(ブロック1338)と、ブロック1340で、通信マネージャ例314が、キュー内のプロセス制御データ通信をネットワークホストに代替通信経路を経由して再伝送する。ブロック1342で、通信マネージャ例314は、プロセス制御データ(例えば、以前にキューに入れられたデータ以外)をネットワークホストに代替通信経路を経由して伝送する。制御は、次いで、ブロック1314に進んで、前述のように方法例を続行する。
図14は、図3のネットワークホスト210を実装するために図13Aおよび図13Bの方法を実行する命令を実行することが可能なプロセッサプラットフォーム例1400の略図である。プロセッサプラットフォーム1400は、例えば、サーバー、パーソナルコンピュータ、モバイル機器(例えば、携帯電話、スマートフォン、iPad(商標)などのタブレット)、携帯情報端末(PDA)、インターネット家電、DVDプレーヤー、CDプレーヤー、または任意の他のタイプのコンピューティング装置であり得る。
図示例のプロセッサプラットフォーム1400は、プロセッサ1412を含む。図示例のプロセッサ1412はハードウェアである。例えば、プロセッサ1412は、任意の所望のファミリまたは製造業者からの1つ以上の集積回路、論理回路、マイクロプロセッサまたは制御装置によって実装できる。
図示例のプロセッサ1412は、ローカルメモリ1413(例えば、キャッシュ)を含む。図示例のプロセッサ1412は、揮発性メモリ1414および不揮発性メモリ1416を含むメインメモリとバス1418を経由して通信する。揮発性メモリ1414は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他のタイプのランダムアクセスメモリ装置によって実装され得る。不揮発性メモリ1416は、フラッシュメモリおよび/または任意の他の所望のタイプのメモリ装置によって実装され得る。メインメモリ1414、1416へのアクセスは、メモリコントローラによって制御される。
図示例のプロセッサプラットフォーム1400は、インタフェース回路1420も含む。インタフェース回路1420は、イーサネットインタフェース、ユニバーサルシリアルバス(USB)、および/またはPCI expressインタフェースなどの、任意のタイプのインタフェース規格によって実装され得る。
図示例では、1つ以上の入力装置1422がインタフェース回路1420に接続されている。入力装置(複数可)1422は、ユーザーがデータおよびコマンドをプロセッサ1412に入力するのを可能にする。入力装置(複数可)は、例えば、音声センサー、マイクロホン、カメラ(スチルまたはビデオ)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイントおよび/または音声認識システムによって実装できる。
1つ以上の出力装置1424も図示例のインタフェース回路1420に接続されている。出力装置1424は、例えば、ディスプレイ装置(例えば、発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ、ブラウン管ディスプレイ(CRT)、タッチスクリーン、触覚出力装置、発光ダイオード(LED)、プリンタおよび/またはスピーカー)によって実装できる。図示例のインタフェース回路1420は、従って、通常、グラフィックスドライバカード、グラフィックスドライバチップまたはグラフィックスドライバプロセッサを含む。
図示例のインタフェース回路1420は、ネットワーク1426(例えば、イーサネット接続、デジタル加入者回線(DSL)、電話線、同軸ケーブル、携帯電話システムなど)を経由して外部マシン(例えば、任意の種類のコンピューティング装置)とのデータ交換を容易にするために、送信機、受信機、送受信機、モデムおよび/またはネットワークインタフェースカードなどの、通信装置も含む。
図示例のプロセッサプラットフォーム1400は、ソフトウェアおよび/またはデータを格納するための1つ以上の大容量記憶装置1428も含む。かかる大容量記憶装置1428の例は、フロッピィディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、Blu-rayディスクドライブ、RAIDシステム、およびデジタル多用途ディスク(DVD)ドライブを含む。
図13Aおよび図13Bの方法を実装するためのコード化命令1432は、大容量記憶装置1428内、揮発性メモリ1414内、不揮発性メモリ1416内、および/またはCDもしくはDVDなどの取り外し可能有形的コンピュータ可読記憶媒体上に格納され得る。
前述から、上で開示した方法、装置および製品は、プロセス制御システム(物理的および/または仮想的な実装かに関わらず)内で使用される既存の冗長システムに対していくつかの利点を提供することが理解されるであろう。具体的には、本明細書で開示する例は、冗長性を容易にするために、外部ハードウェアの取得、構成、および/または保守と関連した費用および/または複雑性に依存しない。加えて、本明細書で開示する例は、障害を検出するために通信ネットワークの完全性を継続的に監視しており、かかる障害に他の既存の方法よりもずっと迅速に応答して、代替通信経路を確立する。その上、本明細書で開示する例は、ネットワーク障害後に送信されたデータの再伝送を可能にするのに十分な時間内にネットワーク接続を復元するために、データが失われることがない。全てのデータを別個のネットワークを通じて2度送信することによりネットワーク障害に起因してデータを失うことがない、信頼できる接続を提供するいくつかの既知のアプローチがあるが、本明細書で開示する例は、かかる追加の負荷をネットワーク上に課す必要性を回避し、それによって、より多くのデータが、かつ/またはより速い速度で、伝送されるのを可能にする。
ある方法、装置および製品例が本明細書で開示されているが、本特許の対象範囲はそれらに制限されない。それとは逆に、本特許は、本特許の請求項の範囲に適正に含まれる全ての方法、装置および製品を包含する。

Claims (16)

  1. 第1のネットワークホストにおいて、第2のネットワークホストから第1のネットワークを通じて伝送された第1の完全性メッセージを受信することであって、前記第1の完全性メッセージの連続するもののタイミングは、前記第2のネットワークホストが前記第1のネットワークホストから通信を受信するかどうかに関係なく、前記第2のネットワークホストによって決定され、前記第1の完全性メッセージの各連続する完全性メッセージのタイミングが既知であるために、各ネットワークホストの特定のネットワークインタフェースからの各後続する完全性メッセージ間の間隔も同様に既知であることを特徴とする前記第1の完全性メッセージを受信することと、
    前記第1のネットワークホストにおいて、前記第1のネットワークホストの第1のネットワークインタフェースと、前記第2のネットワークホストの第のネットワークインタフェースとの間の前記第1のネットワークを通じた第の通信経路にわたるネットワーク障害を、前記第1のネットワークホストの前記第1のネットワークインタフェースが、前記第2のネットワークホストの前記第1のネットワークインタフェースから予期された前記第1の完全性メッセージの1つを受信できない場合に、検出することと、
    前記検出されたネットワーク障害に応答して、前記第1のネットワークホストの第2のネットワークインタフェースと前記第2のネットワークホストの第2のネットワークインタフェースとの間に第2の通信経路を自動的に確立することと
    を含む、方法。
  2. 前記第2の通信経路が、前記第1のネットワークホストの前記第2のネットワークインタフェースおよび前記第2のネットワークホストの前記第2のネットワークインタフェースを経由した第2のネットワークを含む、請求項1に記載の方法。
  3. 第1のネットワークホストにおいて、前記第2のネットワークホストから第2のネットワークを通じて伝送された第2の完全性メッセージを受信することをさらに含む、請求項1または請求項2に記載の方法。
  4. 前記第1の完全性メッセージおよび前記第2の完全性メッセージの各々が、前記第2のネットワークホストならびに前記第2のネットワークホストの前記第1および第2のネットワークインタフェースを識別するホスト情報を含む、請求項3に記載の方法。
  5. 前記第1の完全性メッセージおよび前記第2の完全性メッセージの各々が、前記第2のネットワークホストと前記第1のネットワークホストとの間で判断された、対応する第1および第2のネットワークインタフェースを経由した、前記第1のネットワークおよび前記第2のネットワークの各々を通じた通信状態を示す完全性情報を含む、請求項3に記載の方法。
  6. 第3の完全性メッセージを前記第1のネットワークホストから前記第1のネットワークを通じて伝送することと、
    第4の完全性メッセージを前記第1のネットワークホストから前記第2のネットワークを通じて伝送することであって、前記第3の完全性メッセージおよび前記第4の完全性メッセージの両方が、前記検出されたネットワーク障害に応答して、前記第1のネットワークホストの前記第1のネットワークインタフェースと、前記第2のネットワークホストの前記第1のネットワークインタフェースとの間の前記第1のネットワークを通じたネットワーク障害を示すことを、さらに含む、請求項3に記載の方法。
  7. 前記検出されたネットワーク障害に応答して、事象、アラート、またはアラームの少なくとも1つを生成することと、
    前記事象、前記アラート、または前記アラームの前記少なくとも1つをログに記録することと
    をさらに含む、請求項1~請求項6の何れか1項に記載の方法。
  8. 命令を含む有形的コンピュータ可読記憶媒体であって、前記命令が、実行される際に、第1のネットワークホストに少なくとも:
    第2のネットワークホストから第1のネットワークを通じて伝送された第1の完全性メッセージを受信することであって、前記第1の完全性メッセージの連続するもののタイミングは、前記第2のネットワークホストが前記第1のネットワークホストから通信を受信するかどうかに関係なく、前記第2のネットワークホストによって決定され、前記第1の完全性メッセージの各連続する完全性メッセージのタイミングが既知であるために、各ネットワークホストの特定のネットワークインタフェースからの各後続する完全性メッセージ間の間隔も同様に既知であることを特徴とする前記第1の完全性メッセージを受信することと、
    前記第1のネットワークホストの第1のネットワークインタフェースと、前記第2のネットワークホストの第1のネットワークインタフェースとの間の前記第1のネットワークを通じた第1の通信経路にわたるネットワーク障害を、前記第1のネットワークホストの前記第1のネットワークインタフェースが、前記第2のネットワークホストの前記第1のネットワークインタフェースから予期された前記第1の完全性メッセージの1つを受信できない場合に、検出することと、
    前記検出されたネットワーク障害に応答して、前記第1のネットワークホストの第2のネットワークインタフェースと前記第2のネットワークホストの第2のネットワークインタフェースとの間に第2の通信経路を自動的に確立することと
    を実行させる、命令を含む有形的コンピュータ可読記憶媒体。
  9. 前記第2の通信経路が、前記第1のネットワークホストの前記第2のネットワークインタフェースおよび前記第2のネットワークホストの前記第2のネットワークインタフェースを経由した第2のネットワークを含む、請求項8に記載の有形的コンピュータ可読記憶媒体。
  10. 前記第2の通信経路が、前記ネットワーク障害が生じてから5秒未満で確立される、請求項8または請求項9に記載の有形的コンピュータ可読記憶媒体。
  11. 前記命令が、実行される際に、前記第1のネットワークホストにさらに、
    前記検出されたネットワーク障害に応答して、事象、アラート、またはアラームの少なくとも1つを生成することと、
    前記事象、前記アラート、または前記アラームの前記少なくとも1つをログに記録することと
    を実行させる、請求項8~請求項10の何れか1項に記載の有形的コンピュータ可読記憶媒体。
  12. プロセッサおよびメモリを含む第1のネットワークホストを備えたシステムであって、
    前記プロセッサが、
    第2のネットワークホストから第1のネットワークを通じて伝送された第1の完全性メッセージを受信することであって、前記第1の完全性メッセージの連続するもののタイミングは、前記第2のネットワークホストが前記第1のネットワークホストから通信を受信するかどうかに関係なく、前記第2のネットワークホストによって決定され、前記第1の完全性メッセージの各連続する完全性メッセージのタイミングが既知であるために、各ネットワークホストの特定のネットワークインタフェースからの各後続する完全性メッセージ間の間隔も同様に既知であることを特徴とする前記第1の完全性メッセージを受信することと、
    前記第1のネットワークホストの第1のネットワークインタフェースと、前記第2のネットワークホストの第1のネットワークインタフェースとの間の前記第1のネットワークを経由した第1の通信経路にわたるネットワーク障害を、前記第1のネットワークホストの前記第1のネットワークインタフェースが、前記第2のネットワークホストの前記第1のネットワークインタフェースから予期された前記第1の完全性メッセージの1つを受信できない場合に、検出することと、
    前記検出されたネットワーク障害に応答して、前記第1のネットワークホストの第2のネットワークインタフェースと前記第2のネットワークホストの第2のネットワークインタフェースとの間に第2の通信経路を自動的に確立することと
    を行うために、前記メモリに格納された命令を実行する、システム。
  13. 前記第2の通信経路が、前記第1のネットワークホストの前記第2のネットワークインタフェースおよび前記第2のネットワークホストの第2のネットワークインタフェースを経由した第2のネットワークを含む、請求項12に記載のシステム。
  14. 前記第2の通信経路が、前記ネットワーク障害が生じてから5秒未満で確立される、請求項12または請求項13に記載のシステム。
  15. 前記命令が、実行される際に、前記第1のネットワークホストにさらに、前記第2のネットワークホストから第2のネットワークを通じて伝送された第2の完全性メッセージを
    受信させる、請求項12~請求項14の何れか1項に記載のシステム。
  16. 前記命令が、実行される際に、前記第1のネットワークホストにさらに、
    前記検出されたネットワーク障害に応答して、事象、アラート、またはアラームの少なくとも1つを生成することと、
    前記事象、前記アラート、または前記アラームの前記少なくとも1つをログに記録することと
    を実行させる、請求項12~請求項15の何れか1項に記載のシステム。
JP2015223632A 2014-11-14 2015-11-16 プロセス制御システムに冗長性を提供するための方法および装置 Active JP7046473B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/541,932 US10003525B2 (en) 2014-11-14 2014-11-14 Methods and apparatus to provide redundancy in a process control system
US14/541,932 2014-11-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020104604A Division JP7009560B2 (ja) 2014-11-14 2020-06-17 プロセス制御システムに冗長性を提供するための方法および装置

Publications (3)

Publication Number Publication Date
JP2016096549A JP2016096549A (ja) 2016-05-26
JP2016096549A5 JP2016096549A5 (ja) 2018-12-27
JP7046473B2 true JP7046473B2 (ja) 2022-04-04

Family

ID=55855541

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015223632A Active JP7046473B2 (ja) 2014-11-14 2015-11-16 プロセス制御システムに冗長性を提供するための方法および装置
JP2020104604A Active JP7009560B2 (ja) 2014-11-14 2020-06-17 プロセス制御システムに冗長性を提供するための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020104604A Active JP7009560B2 (ja) 2014-11-14 2020-06-17 プロセス制御システムに冗長性を提供するための方法および装置

Country Status (5)

Country Link
US (1) US10003525B2 (ja)
JP (2) JP7046473B2 (ja)
CN (1) CN105607590B (ja)
DE (1) DE102015119643A1 (ja)
GB (1) GB2536750B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016140198A1 (ja) * 2015-03-04 2016-09-09 日本電信電話株式会社 セキュリティ対処無効化防止装置、セキュリティ対処無効化防止方法およびセキュリティ対処無効化防止プログラム
US10333772B2 (en) * 2016-06-07 2019-06-25 Quanta Computer Inc. Remote keyboard-video-mouse technologies
DE102017103418B4 (de) * 2017-02-20 2019-01-24 Infineon Technologies Ag Verfahren zum Bestimmen von Informationen über eine Integrität von Signalverarbeitungskomponenten innerhalb eines Signalpfades, Signalverarbeitungsschaltung und elektronische Steuerungseinheit
CN108512753B (zh) 2017-02-28 2020-09-29 华为技术有限公司 一种集群文件系统中消息传输的方法及装置
DE102017109030A1 (de) * 2017-04-27 2018-10-31 Endress+Hauser Process Solutions Ag Verfahren zum Betreiben eines Feldgeräts
DE102017123222A1 (de) 2017-10-06 2019-04-11 Endress + Hauser Process Solutions Ag Verfahren zum Betreiben einer Anlage der Automatisierungstechnik
CN109274553A (zh) * 2018-09-26 2019-01-25 北京广利核系统工程有限公司 核安全级dcs系统通信的自诊断方法和装置
CN109802571A (zh) * 2018-12-29 2019-05-24 国网天津市电力公司电力科学研究院 一种应用于三相固态变压器的冗余控制系统及方法
CN110119111B (zh) * 2019-02-26 2021-04-16 北京龙鼎源科技股份有限公司 通信方法及装置、存储介质、电子装置
TWI722447B (zh) * 2019-06-03 2021-03-21 瑞昱半導體股份有限公司 傳輸介面的錯誤處理方法以及相關的錯誤處理架構
US11846934B2 (en) 2019-09-23 2023-12-19 Fisher-Rosemount Systems, Inc. Industrial control system hyperconverged architecture
US11671314B2 (en) * 2020-06-11 2023-06-06 Dell Products L.P. Configuring HCI management network via management controller
TWI796693B (zh) * 2021-05-17 2023-03-21 象量科技股份有限公司 路燈系統、主動檢查路燈狀態的方法和例行自動檢查路燈是否正常的方法
CN113934135B (zh) * 2021-12-14 2022-04-01 国网江苏省电力工程咨询有限公司 一种基于电力管廊的复式监控系统
CN114660974B (zh) * 2022-04-22 2022-11-08 珠海市洛奇云联科技有限公司 一种工业制造智能系统及其远程控制方法
WO2023237217A1 (en) * 2022-06-10 2023-12-14 Abb Schweiz Ag Automation system and method for investigating, in the automation system, the performance of a wireless communication network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115225A (ja) 1998-10-02 2000-04-21 Toshiba Corp ネットワークシステムに適用されるネットワーク切り替え方法
US6392990B1 (en) 1999-07-23 2002-05-21 Glenayre Electronics, Inc. Method for implementing interface redundancy in a computer network
JP2010147932A (ja) 2008-12-19 2010-07-01 Fujitsu Ltd パス切替え方法及びノード装置
JP2010283811A (ja) 2009-05-13 2010-12-16 Avaya Inc ネットワーク要素の転送プレーンにおいてポート状態テーブルを保持するための方法及び装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178178B1 (en) * 1994-06-01 2001-01-23 Nortel Networks Limited Switching module for redundant local area network
US6181677B1 (en) * 1998-02-18 2001-01-30 Milgo Solutions, Inc. Method and apparatus for detection and protection against data loss in a fractional T1/E1 communications environment
WO2000079758A2 (en) * 1999-06-21 2000-12-28 Fieldbus Foundation Block-oriented control system on high speed ethernet
CA2401635A1 (en) * 2000-02-25 2001-08-30 Honeywell International Inc. Multiple network fault tolerance via redundant network control
US7284147B2 (en) * 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
US7813263B2 (en) * 2004-06-30 2010-10-12 Conexant Systems, Inc. Method and apparatus providing rapid end-to-end failover in a packet switched communications network
JP4498871B2 (ja) * 2004-09-22 2010-07-07 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置
US20060291378A1 (en) * 2005-06-28 2006-12-28 Alcatel Communication path redundancy protection systems and methods
US8134928B1 (en) * 2005-12-15 2012-03-13 Nvidia Corporation Technique for identifying a failed network interface card within a team of network interface cards
US7606143B2 (en) * 2007-02-28 2009-10-20 Embarq Corporation System and method for advanced fail-over for packet label swapping
EP1995918A1 (en) * 2007-05-25 2008-11-26 British Telecommunications Public Limited Company Alternative route selection in Telecommunications networks
JP4966927B2 (ja) * 2008-07-31 2012-07-04 株式会社日立製作所 プラント監視・制御システムおよび通信経路の迂回方法
JP5531831B2 (ja) * 2010-07-06 2014-06-25 富士通株式会社 通信装置、及び通信方法
CN102082695B (zh) * 2011-03-07 2013-01-02 中控科技集团有限公司 热备冗余网络系统及其冗余实现方法
CN102611598B (zh) * 2012-01-31 2015-07-15 长沙中联消防机械有限公司 控制器局域网络总线冗余系统及冗余切换的方法和装置
CN103647781B (zh) * 2013-12-13 2017-05-17 大连理工计算机控制工程有限公司 一种基于设备冗余和网络冗余的混合冗余可编程控制系统
CN103826253A (zh) * 2014-02-26 2014-05-28 江苏林洋电子股份有限公司 一种ZigBee网络协调器冗余备份方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115225A (ja) 1998-10-02 2000-04-21 Toshiba Corp ネットワークシステムに適用されるネットワーク切り替え方法
US6392990B1 (en) 1999-07-23 2002-05-21 Glenayre Electronics, Inc. Method for implementing interface redundancy in a computer network
JP2010147932A (ja) 2008-12-19 2010-07-01 Fujitsu Ltd パス切替え方法及びノード装置
JP2010283811A (ja) 2009-05-13 2010-12-16 Avaya Inc ネットワーク要素の転送プレーンにおいてポート状態テーブルを保持するための方法及び装置

Also Published As

Publication number Publication date
DE102015119643A1 (de) 2016-05-19
US20160142283A1 (en) 2016-05-19
GB201520094D0 (en) 2015-12-30
JP7009560B2 (ja) 2022-01-25
JP2020167714A (ja) 2020-10-08
US10003525B2 (en) 2018-06-19
JP2016096549A (ja) 2016-05-26
CN105607590B (zh) 2021-06-08
CN105607590A (zh) 2016-05-25
GB2536750B (en) 2021-07-14
GB2536750A (en) 2016-09-28

Similar Documents

Publication Publication Date Title
JP7009560B2 (ja) プロセス制御システムに冗長性を提供するための方法および装置
US8174962B2 (en) Global broadcast communication system
US9185053B2 (en) Virtual fault tolerant ethernet appliance and method of operation
US9218230B2 (en) Method for transmitting messages in a redundantly operable industrial communication network and communication device for the redundantly operable industrial communication network
US10412042B2 (en) Topology based internet protocol (IP) addressing
CN110572275A (zh) 一种网卡切换方法、装置、服务器及计算机可读存储介质
US20150113313A1 (en) Method of operating a server system with high availability
US11063855B2 (en) Monitoring of the data transmission in a client/server-based device access system
US10412041B2 (en) Internet protocol (IP) addressing using an industrial control program
CN104168193A (zh) 一种虚拟路由器冗余协议故障检测的方法及路由设备
US9231779B2 (en) Redundant automation system
JP2010103695A (ja) クラスタシステム、クラスタサーバ及びクラスタ制御方法
CN107342911B (zh) 处理装置、代替处理装置、中继装置、处理系统及处理方法
CN110635928B (zh) 一种控制方法、装置以及计算机存储介质
CN104125079A (zh) 一种确定双机热备份配置信息的方法及装置
JP5588857B2 (ja) Lani/f切替制御システムと方法およびプログラム
JP2021061478A (ja) 中継装置、中継システム、及び中継プログラム
JP2006246152A (ja) パケット転送装置、パケット転送ネットワークシステムおよびパケット転送方法
US10491421B2 (en) Ring protection network module
JP4258016B2 (ja) ネットワーク構成制御システム
CN103595629A (zh) 一种irdp网络中主机网关快速切换的方法和装置
WO2018236431A1 (en) REDUNDANT NETWORK ROUTING WITH PROXY SERVERS
CN114826887B (zh) 私网连接通信方法和系统
US20240214907A1 (en) Communication system, communication control method, and non-transitory computer readable storage medium
CN117271064A (zh) 一种虚拟机管理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191016

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200218

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200617

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210126

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210511

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20210615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211207

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220118

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220222

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220323

R150 Certificate of patent or registration of utility model

Ref document number: 7046473

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150