JP6988973B2 - Opc uaを用いたシステム処理、opc uaを用いた通信方法、及び負荷分散装置 - Google Patents

Opc uaを用いたシステム処理、opc uaを用いた通信方法、及び負荷分散装置 Download PDF

Info

Publication number
JP6988973B2
JP6988973B2 JP2020166830A JP2020166830A JP6988973B2 JP 6988973 B2 JP6988973 B2 JP 6988973B2 JP 2020166830 A JP2020166830 A JP 2020166830A JP 2020166830 A JP2020166830 A JP 2020166830A JP 6988973 B2 JP6988973 B2 JP 6988973B2
Authority
JP
Japan
Prior art keywords
server
opc
subscriber
data set
dataset
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
JP2020166830A
Other languages
English (en)
Other versions
JP2021072105A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Publication of JP2021072105A publication Critical patent/JP2021072105A/ja
Application granted granted Critical
Publication of JP6988973B2 publication Critical patent/JP6988973B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Description

OPC(Open Platform Communications) UA(Unified Architecture)は、プラットフォームから独立した、サービス中心のアーキテクチャであり、機械同士の通信、機械と企業体との通信、及び中間にある他の全てのものを含む、企業体全体での相互運用に必要な基盤を提供するアーキテクチャである。
OPC UAクライアントは、冗長サーバセットを含むOPC UAサーバの、複数のエンドポイントのユニフォームリソースロケータ(URL)を指定することができない。その結果、OPC UAクライアントは、冗長サーバセットにおいてOPC UAサーバと通信できない。それにもかかわらず、ユーザは、冗長サーバセットにおいてOPC UAクライアントを用いてOPC UAサーバと通信可能になることを希望している。
一以上の実施形態は、OPC UAを用いたシステム処理を提供する。前記システムは、第1のOPC UAサーバ及び第2のOPC UAサーバを備える冗長サーバセットと、前記冗長サーバセットと通信するエンドポイントユニフォームリソースロケータ(URL)を指定するOPC UAクライアントと、前記冗長サーバセットと前記OPC UAクライアントとの間に接続された負荷分散装置(LB)と、を備える。前記OPC UAクライアントは、前記エンドポイントURLに接続要求を送信する。前記第1のOPC UAサーバは、アクティブサーバである。前記第2のOPC UAサーバは、スタンバイサーバである。前記LBは、前記第1のOPC UAサーバへの接続をプロキシする。前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なる。
一以上の実施形態は、OPC UAを用いた通信方法を提供する。前記通信方法は、OPC UAクライアントにより、第1のOPC UAサーバ及び第2のOPC UAサーバを備える冗長サーバセットと通信するURLを指定するステップと、前記OPC UAクライアントにより、前記エンドポイントURLに接続要求を送信するステップと、前記冗長サーバセットと前記OPC UAクライアントとの間に接続されたLBにより、前記第1のOPC UAサーバへの接続をプロキシするステップと、を含む。前記第1のOPC UAサーバは、アクティブサーバである。前記第2のOPC UAサーバは、スタンバイサーバである。前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なる。
一以上の実施形態は、OPC UAを用いて処理を行うシステムのLBを提供する。前記LBは、エンドポイントユニフォームリソースロケータ(URL)への接続要求をOPC UAクライアントから受信する送受信部と、前記送受信部に接続されたプロセッサと、を備える。前記LBは、冗長サーバセットと前記OPC UAクライアントとの間に接続されている。前記冗長サーバセットは、第1のOPC UAサーバ及び第2のOPC UAサーバを備えている。前記エンドポイントURLは、前記冗長サーバセットと通信するOPC UAクライアントにより指定される。前記プロセッサは、前記要求に基づいて前記第1のOPC UAサーバへの接続をプロキシする。前記第1のOPC UAサーバは、アクティブサーバである。前記第2のOPC UAサーバは、スタンバイサーバである。前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なる。
一以上の実施形態によれば、本格的な改変、負荷分散装置の導入によるOPC UAサーバの再コンパイル、及び、OPC UAPub/Sub通信モジュールと連動させたファイアウォールテーブルの操作を行うことなく、任意のOPC UAサーバから透過的な冗長サーバセットを構成することが可能である。
一以上の実施形態に係る、OPC UAシステムを示す図である。 一以上の実施形態に係る、OPC UAクライアントのハードウェアの概略図である。 一以上の実施形態に係る、エンドポイントURLを指定するための、OPC UAクライアントに表示される管理者設定の概略図である。 一以上の実施形態に係る、負荷分散装置のハードウェアの概略図である。 一以上の実施形態に係る、OPC UAサーバのハードウェアの概略図である。 一以上の実施形態に係る、OPC UAシステムにおける初期化後の処理のシーケンス図である。 一以上の実施形態に係る、サーバ名及びサーバURLに関連付けられたエンドポイントURLを示す、負荷分散装置に含まれるテーブルである。 一以上の実施形態に係る、OPC UAシステムにおけるフェイルオーバーの処理のシーケンス図である。 一以上の実施形態に係る、OPC UAシステムの初期化後の処理のフローチャートである。 一以上の実施形態に係る、OPC UAシステムにおけるフェイルオーバー処理のフローチャートである。
本発明の実施形態について、図面を参照しながら、以下詳細に説明する。整合をとるため、複数の図面における同じ要素は、同じ参照符号で示される。
より完全な発明の理解のため、以下の発明の実施形態の説明において、多数の具体的な詳細について説明する。しかしながら、当業者にとって、発明がこれらの具体的な詳細以外で実施され得ることは明らかである。他の例において、発明が不明確になるのを回避するために、周知の構成については詳細に説明していない。
図1は、一以上の実施形態に係る、OPC UAシステム1を示す。OPC UAシステム1は、OPC UAクライアント110と、負荷分散装置(LB)120と、OPC UAサーバ131及び132を備える冗長サーバセット130と、OPC UAサーバ141及び142と、を備える。OPC UAクライアント110は、LB120に接続されており、LB120は、冗長サーバセット130のOPC UAサーバ131及び132に接続されている。
OPC UAシステム1は、クライアント−サーバ型に加えてOPC UAパブリッシャー(Publisher)及びサブスクライバー(Subscriber)のメッセージ送受信型を規定する、OPC UAパブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用することにより、プラットフォームから独立し、サービス中心のアーキテクチャを適用する。
Pub/Sub通信モデルには、パブリッシャー及びサブスクライバーという2つの役割がある。パブリッシャー及びサブスクライバーは、変数値及びイベントフィールドを示すデータセットをそれぞれ格納している。パブリッシャーは、ユーザデータグラムプロトコル(UDP)を用いて、データセットを含むメッセージを一以上のサブスクライバーに送信し、サブスクライバーのそれぞれは、同一のメッセージを受信する。
一以上の実施形態において、パブリッシャーに格納されたデータセットの値が更新された場合、パブリッシャーは、更新された値を有するデータセットを、一以上のサブスクライバーに提供する。サブスクライバーは、更新された値を有するデータセットをパブリッシャーから受信したとき、更新された値を有するデータセットに基づいて、内部に格納されたデータセットを更新する。
OPC UAクライアント110は、OPC UAシステム1におけるクライアントコンピュータである。OPC UAクライアント110は、OPC UAサーバ131及び132にメッセージを送信するソフトウェアアプリケーションを有する。メッセージは、OPC UAクライアント110とOPC UAサーバ131及び132との間で伝送される、所定のサービス要求又は応答を示すデータユニットであってよい。
LB120は、プロキシ、ヘルスチェック、及びUDP切換え機能を実行する。プロキシは、OPC UAクライアント110並びにOPC UAサーバ131、132、141及び142へのTCP/IP接続を管理する。LB120は、OPC UAサーバであってよく、パブリッシャー又はサブスクライバーのいずれかであってよい。
冗長サーバセット130のOPC UAサーバ131及び132は、一組の冗長サーバである。OPC UAシステム1は、一組又は複数組の冗長OPC UAサーバを含んでよい。これらの冗長OPC UAサーバにより、OPC UAシステム1は冗長モードを使用できるようになる。
一以上の実施形態において、冗長モードは、メッセージがOPC UAサーバ131及び132の双方により受信される、ホットスタンバイモードであってよい。ホットスタンバイモードは、ミラーリング又はサーバミラーリングと称されうる。ホットスタンバイモードにおいて、OPC UAサーバ131及び132の一方は、アクティブサーバとして構成され、OPC UAサーバ131及び132の他方は、スタンバイサーバとして構成される。アクティブサーバは、メインサーバ又はマスターサーバと称され、スタンバイサーバは、マックアップサーバ又はミラーサーバと称されてよい。
一以上の実施形態において、OPC UAサーバ131及び132の双方は、パブリッシャー及びサブスクライバーの双方として機能してよい(つまり、パブリッシャー及びサブスクライバーの双方の機能を含む)。
次に、OPC UAサーバ141及び142について、一以上の実施形態において、OPC UAサーバ141はパブリッシャーであり、OPC UAサーバ142はサブスクライバーであってよく、その逆であってもよい。あるいは、OPC UAサーバ141及び142は、双方ともパブリッシャー又はサブスクライバーであってもよい。
次に、OPC UAクライアント110、LB120、OPC UAサーバ131、132、141及び142のハードウェア構成について説明する。
図2は、一以上の実施形態に係る、OPC UAクライアント110のハードウェアの概略図である。図2に示すように、OPC UAクライアント110は、プロセッサ(例えば中央処理装置(CPU))1101、プロセッサ1101と通信するメモリ1102、ストレージ1103、送受信部1104、及びディスプレイ1105を少なくとも備える。プロセッサ1101は、メモリ1102に格納されたプログラムを実行する。ストレージ1103は、非一時的なコンピュータ可読の記憶媒体である。送受信部1104は、メッセージ(データ、信号)を送受信し、ローカルエリアネットワーク(LAN)インタフェース、無線LANインタフェース、又は、例えばロングタームエヴォリューション(LTE)及びNew Radio(NR)(5G)などのセルラーネットワークインタフェースの少なくともいずれかであってよい。ディスプレイ1105は、プロセッサ1101からの指示に基づいて情報を表示する。
図3に示すように、ディスプレイ1105は、OPC UAサーバのエンドポイントURLを指定するために使用される管理者設定を表示する。例えば、OPC UAクライアント110が冗長サーバセット130との通信を開始する前に、冗長サーバセット130のエンドポイントURLが、管理者設定において指定される。
図4は、一以上の実施形態に係る、LB120のハードウェアの概略図である。図4に示すように、LB120は、プロセッサ(例えばCPU)1201、メモリ1202、ストレージ1203、及び送受信部1204を少なくとも備える。プロセッサ1201は、メモリ1202に格納されたプログラムを実行する。ストレージ1203は、非一時的なコンピュータ可読の記憶媒体である。送受信部1204は、メッセージを送受信し、LANインタフェース、無線LANインタフェース、又は、例えばLTE及びNR(5G)などのセルラーネットワークインタフェースの少なくともいずれかであってよい。LB120は、ディスプレイ1105を備えていてもよい。例えば、送受信部1204は、OPC UAクライアント110からデータ信号(例えばエンドポイントURLへの接続要求)を受信する。プロセッサ1201は、OPC UAクライアント110からの接続要求に基づき、OPC UAサーバ131への接続をプロキシする。
図5は、一以上の実施形態に係る、OPC UAサーバ131、132、141及び142のハードウェアの概略図である。図5に示すように、OPC UAサーバ131、132、141及び142のそれぞれは、プロセッサ1301(例えばCPU)、メモリ1302、ストレージ1303、及び送受信部1304を少なくとも備える。プロセッサ1301は、メモリ1302に格納されたプログラムを実行する。ストレージ1303は、非一時的なコンピュータ可読の記憶媒体である。送受信部1304は、メッセージを送受信し、LANインタフェース、無線LANインタフェース、又は、例えばLTE及びNR(5G)などのセルラーネットワークインタフェースの少なくともいずれかであってよい。OPC UAサーバ131、132、141及び142のそれぞれは、ディスプレイ1105を備えていてもよい。
次に、OPC UAシステム1におけるプログラムの初期化後の一連の処理について説明する。具体的には、図6は、一以上の実施形態に係る、OPC UAシステム1における処理のシーケンス図である。
図6のステップS101において、冗長サーバセット130のエンドポイントURLが、OPC UAクライアント110において指定される。例えば、指定されたエンドポイントURLは、opc.tcp://192.168.1.150である。
ステップS102において、OPC UAクライアント110は、指定されたエンドポイントURLへの接続要求を、LB120に送信する。
ステップS103において、LB120は、指定されたエンドポイントURLへの接続を、OPC UAサーバ131にプロキシする。例えば、図7に示すように、LB120は、サーバ名及びサーバURLに関連付けられたエンドポイントURLを含むテーブルを備える。冗長サーバセット130のエンドポイントURL「192.168.1.150」は、OPC UAサーバ131に関連付けられている(つまり、冗長サーバセット130において、OPC UAサーバ131はアクティブサーバとして構成され、OPC UAサーバ132はスタンバイ(バックアップ)サーバとして構成されている)。
ステップS104において、LB120は、OPC UAサーバ131に接続(例えばプロキシ接続)要求を送信する。
ステップS105において、OPC UAクライアント110とOPC UAサーバ131との間で、TCP/IP接続が確立される。
ステップS106において、OPC UAクライアント110は、冗長サーバセット130におけるデータセットを更新するために使用される設定値(SV)を、エンドポイントURLに送信する。データセットは、指定されたデータの値のリストであり、イベントフィールド及び変数を含む。
ステップS107において、LB120は、SVをOPC UAサーバ131に送信する。SVは、冗長サーバセット130のエンドポイントURLに関連付けられている。
ステップS108において、OPC UAサーバ131は、SVに基づいて値を算出する。
ステップS109において、パブリッシャー及びサブスクライバーの双方として機能するOPC UAサーバ131は、算出した値を含むデータセットを提供する。
ステップS110において、サブスクライバーとして機能するOPC UAサーバ142は、OPC UAサーバ131からデータセットを受信し、内部に格納されたデータセットの現在の値を、OPC UAサーバ131からのデータセットに含まれる算出された値に書き換える。
ステップS111において、パブリッシャー及びサブスクライバーの双方として機能するOPC UAサーバ132は、OPC UAサーバ131からデータセットを受信し、内部に格納されたSVを、OPC UAサーバ131からのデータセットに含まれる算出された値に更新する。
ステップS112において、OPC UAサーバ132は、SVに基づいて新たな値を算出し、データセットを用いて他のサーバに新たな値を提供することを試行する。しかしながら、LB120は、スタンバイ(バックアップ)サーバが他のサーバにデータセットを提供することを禁止するファイアウォールテーブルを備える。言い換えると、OPC UAサーバ132によるデータセットの発行は、LB120のファイアウォールにより阻止される。
次に、OPC UAシステム1におけるプログラムの初期化後の他の一連の処理について説明する。図8は、一以上の実施形態に係る、OPC UAシステム1におけるフェイルオーバーの処理のシーケンス図である。
図8に示すように、ステップS201において、LB120は、ハートビート信号(つまりヘルスチェック信号)をOPC UAサーバ131に送信することにより、OPC UAサーバ131についてヘルスチェックを実行する。一以上の実施形態におけるここでの例では、OPC UAサーバ131はアクティブサーバとして機能し、OPC UAサーバ132は、スタンバイサーバとして機能する。
ステップS202において、OPC UAサーバ131は、ハートビート信号に応答して、確認応答信号をLB120に送信する。ステップS202において、LB120がハートビート信号を送信した後、確認応答信号を受信していなければ、LB120は、ステップS204において、OPC UAサーバ131が応答していないと決定する(つまり、OPC UAサーバ131における障害と決定する)。
OPC UAサーバ131が応答していないと決定すると、ステップS205において、LB120は、冗長サーバセット130のエンドポイントURLを、OPC UAサーバ131からOPC UAサーバ132に切り換える。
ステップS206において、LB120は、OPC UAサーバ132のデータセットの発行をOPC UAサーバ132に許可するように、ファイアウォールルールを変更する。
ステップS207において、LB120は、OPC UAサーバ132に接続要求を送信する。
ステップS208において、OPC UAクライアント110とOPC UAサーバ132との間で、TCP/IP接続が確立される。
ステップS209において、OPC UAサーバ132は、他のサーバにデータセットを提供する。
ステップS210において、サブスクライバーとして機能するOPC UAサーバ142は、OPC UAサーバ132のデータセットを受信し、OPC UAサーバ142のデータセットに内部に格納された現在の値を、OPC UAサーバ132から受信したデータセット内の値に書き換える。
従って、一以上の実施形態によれば、アクティブサーバとスタンバイサーバとがフェイルオーバー処理(つまり2つのサーバのうち1つが応答しないとき)により切り換えられ、切換え後の新たなアクティブサーバが、OPC UAシステム1の他のサブスクライバーにデータセットを提供する。さらに、切換え前のアクティブサーバは、切換え後は、他のサブスクライバーにデータセットを提供しない。一以上の実施形態のさらなる利点について、以下説明する。
一以上の実施形態によれば、OPC UAクライアントとOPC UAサーバとの間の直接接続は、LBを使用して提供される。これにより、OPC UAシステム1では、仮想サーバなどの仲介手段を用いる必要がなくなる。LBは、接続の管理を行うが、OPC UAサーバのそれぞれに直接向かう接続の経路の決定も行う。例えば、OPC UAクライアントは、エンドポイントURLに接続され、OPC UAサーバのノード値を変更し、呼出/要求は、アクティブサーバで直接行われる。
その結果、仲介手段を用いた場合に発生する単一点障害が防止され得る。さらに、LBは、OPC UAシステムの基盤に本格的な改変を加えることなく、容易にOPC UAシステムに組み込むことができる。
一以上の実施形態において、上述のUDPハートビートを用いた切換時間は、約100から200msであり、仮想サーバ(例えば仮想サーバ方式を実装する)により要求される30秒のスイッチ時間よりも極めて速い。すなわち、一以上の実施形態は、フェイルオーバーの速度を短縮し、その結果、切換中におけるデータの喪失を減らすことができる。
仮想仲介サーバでは、全てのユースケースについて、各クライアントにカスタムインストールを行うことが必要とされる。適正数量の仮想クライアントが必要であり、各仮想クライアントの規模とサーバの数量に対して要求されるハードウェアが接続されることが必要である。その一方で、LBを用いる一以上の実施形態に係る発明では、インストール及び実装の自由度が高く、より多くのサーバが接続された場合に規模の変更が容易である。例えば、冗長サーバに、より多くのOPC UAサーバを追加することは、構成ファイルを変更するのと同程度に容易であり、初期実装の後に実行することができる。ウェブトラフィックに用いられるLBは、数百から数千の接続を円滑に処理するであろう。
最後に、一以上の実施形態において、複数のOPC UAクライアントは、同一のLBを利用することができる。OPC UAクライアント及びOPC UAサーバは、LBと相互にやり取りするために追加のソフトウェア又は改変を必要としない。全てのシステム構成は、LBにより直接もたらされ、LBにより実装される。
図9は、一以上の実施形態に係るフローチャートである。このフローチャートは、図6を参照して上記説明した処理を反映している。
図9のステップS1001において、OPC UAクライアント110は、冗長サーバセット130と通信するエンドポイントURLを指定する。冗長サーバセット130は、OPC UAサーバ131(以下「第1のOPC UAサーバ」という)及びOPC UAサーバ132(以下「第2のOPC UAサーバ」という)を含む。第1及び第2のOPC UAサーバは、それぞれアクティブサーバ及びスタンバイサーバである。
ステップS1002において、OPC UAクライアント110は、エンドポイントURLに接続要求を送信する。
ステップS1003において、冗長サーバセット130とOPC UAクライアント110との間に接続されたLB120は、第1のOPC UAサーバへの接続をプロキシする。一以上の実施形態において、エンドポイントURLは、第1のOPC UAサーバ及び第2のOPC UAサーバのそれぞれのURLとは異なっていてよい。LB120が接続をプロキシした後、OPC UAクライアント110と第1のOPC UAサーバとの間で、TCP/IP接続が確立される。
Pub/Sub通信モデルでは、第1のOPC UAサーバ及び第2のOPC UAサーバは、それぞれパブリッシャー及び少なくとも1つのサブスクライバーである。第1及び第2のOPC UAサーバは、それぞれ第1のデータセット及び第2のデータセットである。
ステップS1004において、第1のOPC UAサーバは、第1のデータセットを更新する。
ステップS1005において、第1のOPC UAサーバは、更新された第1のデータセットを、少なくとも1つのサブスクライバーに(つまり第2のOPC UAサーバに)提供する。
ステップS1006において、第2のOPC UAサーバは、更新された第1のデータセットを第1のOPC UAサーバから受信したとき、第2のデータセットを更新する。一以上の実施形態において、LB120のファイアウォールテーブルにより、第2のOPC UAサーバが前記少なくとも1つのサブスクライバー以外の他の既存のサブスクライバーに第2のデータセットを提供することが阻止される。
図10は、一以上の実施形態に係るフローチャートである。このフローチャートは、図8を参照して上記説明した処理を反映している。図10のステップS2001−2003は、図9のステップS1001−1003と同一であるため、簡略化のためここでは説明を繰り返さない。
ステップS2004において、第1のOPC UAサーバ131の故障を検出すると、フェイルオーバー処理が実行され、第2のOPC UAサーバをアクティブサーバとし、第1のOPC UAサーバをスタンバイサーバとする切換えが行われる。切換え後、第2のOPC UAサーバは、パブリッシャーとなる。
ステップS2005において、第2のOPC UAサーバは、前記少なくとも1つのサブスクライバー以外の他の既存のサブスクライバーに第2のデータセットを提供する。
ステップS2006において、他の既存のサブスクライバーは、第2のOPC UAサーバから第2のデータセットを受信したとき、データセットをそれぞれ更新する。一以上の実施形態において、フェイルオーバー処理の結果としての切換えの後、LB120のファイアウォールテーブルにより、第1のOPC UAサーバがサブスクライバーに第1のデータセットを提供することが阻止される。
本開示につき、限られた数の実施形態に関して説明したが、当業者は、本開示を利用して、範囲を逸脱することなく、多様な他の実施形態が考案され得ることを理解できるであろう。従って、本発明の範囲は、添付された特許請求の範囲のみに限定されるものではない。

Claims (13)

  1. OPC UAを用いて処理を行うシステムであって、
    第1のOPC UAサーバ及び第2のOPC UAサーバを備える冗長サーバセットと、
    前記冗長サーバセットと通信するエンドポイントユニフォームリソースロケータ(URL)を指定するOPC UAクライアントと、
    前記冗長サーバセットと前記OPC UAクライアントとの間に接続された負荷分散装置(LB)と、
    を備え、
    前記OPC UAクライアントは、前記エンドポイントURLに接続要求を送信し、
    前記第1のOPC UAサーバは、アクティブサーバであり、
    前記第2のOPC UAサーバは、スタンバイサーバであり、
    前記LBは、前記第1のOPC UAサーバへの接続をプロキシし、
    前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なり、
    前記システムは、パブリッシャーがデータセットを含み、前記データセットを少なくとも1つのサブスクライバーに提供する、パブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用し、
    前記Pub/Sub通信モデルにおいて、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバは、それぞれ前記パブリッシャー及び前記少なくとも1つのサブスクライバーであり、
    前記第1のOPC UAサーバは、第1のデータセットを含み、
    前記第2のOPC UAサーバは、第2のデータセットを含み、
    前記第1のデータセットが更新されたとき、前記第1のOPC UAサーバは、前記更新された第1のデータセットを前記少なくとも1つのサブスクライバーに提供し、
    前記第2のOPC UAサーバは、前記更新された第1のデータセットを受信したとき、前記第2のデータセットを更新し、
    前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供しない、
    システム。
  2. 前記LBが前記接続をプロキシした後、前記OPC UAクライアントと前記第1のOPC UAサーバとの間でTCP/IP接続が確立される、請求項1に記載のシステム。
  3. 前記LBは、前記第2のOPC UAサーバが前記少なくとも1つのサブスクライバーに前記第2のデータセットを提供することを阻止するファイアウォールテーブルを備える、請求項1又は2に記載のシステム。
  4. OPC UAを用いて処理を行うシステムであって、
    第1のOPC UAサーバ及び第2のOPC UAサーバを備える冗長サーバセットと、
    前記冗長サーバセットと通信するエンドポイントユニフォームリソースロケータ(URL)を指定するOPC UAクライアントと、
    前記冗長サーバセットと前記OPC UAクライアントとの間に接続された負荷分散装置(LB)と、
    を備え、
    前記OPC UAクライアントは、前記エンドポイントURLに接続要求を送信し、
    前記第1のOPC UAサーバは、アクティブサーバであり、
    前記第2のOPC UAサーバは、スタンバイサーバであり、
    前記LBは、前記第1のOPC UAサーバへの接続をプロキシし、
    前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なり、
    前記システムは、パブリッシャーがデータセットを含み、前記データセットを少なくとも1つのサブスクライバーに提供する、パブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用し、
    前記Pub/Sub通信モデルにおいて、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバは、それぞれ前記パブリッシャー及び前記少なくとも1つのサブスクライバーであり、
    前記第1のOPC UAサーバは、第1のデータセットを含み、
    前記第2のOPC UAサーバは、第2のデータセットを含み、
    フェイルオーバー処理において、前記アクティブサーバが、前記第1のOPC UAサーバから前記第2のOPC UAサーバに切り換えられ、
    前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供し、
    前記スタンバイサーバが、前記第2のOPC UAサーバから前記第1のOPC UAサーバに切り換えられ、
    前記フェイルオーバー処理の後、前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供し、
    前記第1のOPC UAサーバは、前記第2のデータセットを受信したとき、前記第1のデータセットを更新し、
    前記第1のOPC UAサーバは、前記第1のデータセットを前記少なくとも1つのサブスクライバーに提供しない、
    ステム。
  5. 前記LBは、前記第1のOPC UAサーバが前記少なくとも1つのサブスクライバーに前記第1のデータセットを提供することを阻止するファイアウォールテーブルを備える、請求項に記載のシステム。
  6. OPC UAを用いた通信方法であって、
    OPC UAクライアントにより、第1のOPC UAサーバ及び第2のOPC UAサーバを備える冗長サーバセットと通信するエンドポイントユニフォームリソースロケータ(URL)を指定するステップと、
    前記OPC UAクライアントにより、前記エンドポイントURLに接続要求を送信するステップと、
    前記冗長サーバセットと前記OPC UAクライアントとの間に接続された負荷分散装置(LB)により、前記第1のOPC UAサーバへの接続をプロキシするステップと、
    を含み、
    前記第1のOPC UAサーバは、アクティブサーバであり、
    前記第2のOPC UAサーバは、スタンバイサーバであり、
    前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なり、
    パブリッシャーがデータセットを含み、前記データセットを少なくとも1つのサブスクライバーに提供する、パブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用するステップ、をさらに含み、
    前記Pub/Sub通信モデルにおいて、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバは、それぞれ前記パブリッシャー及び前記少なくとも1つのサブスクライバーであり、
    前記第1のOPC UAサーバは、第1のデータセットを含み、
    前記第2のOPC UAサーバは、第2のデータセットを含み、
    前記第1のOPC UAサーバにより、前記第1のデータセットを更新するステップと、
    前記第1のOPC UAサーバにより、前記更新された第1のデータセットを前記少なくとも1つのサブスクライバーに提供するステップと、
    前記第2のOPC UAサーバにより、前記第2のOPC UAサーバが前記更新された第1のデータセットを受信したとき、前記第2のデータセットを更新するステップと、
    をさらに含み、
    前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供しない、
    通信方法。
  7. 前記LBが前記接続をプロキシした後、前記OPC UAクライアントと前記第1のOPC UAサーバとの間でTCP/IP接続が確立される、請求項に記載の通信方法。
  8. 前記LBのファイアウォールテーブルにより、前記第2のOPC UAサーバが前記少なくとも1つのサブスクライバーに前記第2のデータセットを提供することを阻止するステップをさらに含む、請求項6又は7に記載の通信方法。
  9. OPC UAを用いた通信方法であって、
    OPC UAクライアントにより、第1のOPC UAサーバ及び第2のOPC UAサーバを備える冗長サーバセットと通信するエンドポイントユニフォームリソースロケータ(URL)を指定するステップと、
    前記OPC UAクライアントにより、前記エンドポイントURLに接続要求を送信するステップと、
    前記冗長サーバセットと前記OPC UAクライアントとの間に接続された負荷分散装置(LB)により、前記第1のOPC UAサーバへの接続をプロキシするステップと、
    を含み、
    前記第1のOPC UAサーバは、アクティブサーバであり、
    前記第2のOPC UAサーバは、スタンバイサーバであり、
    前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なり、
    パブリッシャーがデータセットを含み、前記データセットを少なくとも1つのサブスクライバーに提供する、パブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用するステップ、をさらに含み、
    前記Pub/Sub通信モデルにおいて、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバは、それぞれ前記パブリッシャー及び前記少なくとも1つのサブスクライバーであり、
    前記第1のOPC UAサーバは、第1のデータセットを含み、
    前記第2のOPC UAサーバは、第2のデータセットを含み、
    フェイルオーバー処理において、前記アクティブサーバを、前記第1のOPC UAサーバから前記第2のOPC UAサーバに切り換えるステップと、
    前記第2のOPC UAサーバにより、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供するステップと、
    をさらに含み、
    前記スタンバイサーバを、前記第2のOPC UAサーバから前記第1のOPC UAサーバに切り換えるステップと、
    前記フェイルオーバー処理の後、前記第2のOPC UAサーバにより、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供するステップと、
    前記第1のOPC UAサーバにより、前記第1のOPC UAサーバが前記第2のデータセットを受信したとき、前記第1のデータセットを更新するステップと、
    をさらに含み、
    前記第1のOPC UAサーバは、前記第1のデータセットを前記少なくとも1つのサブスクライバーに提供しない、
    信方法。
  10. 前記LBのファイアウォールテーブルにより、前記第1のOPC UAサーバが前記少なくとも1つのサブスクライバーに前記第1のデータセットを提供することを阻止するステップをさらに含む、請求項に記載の通信方法。
  11. OPC UAを用いて処理を行うシステムの負荷分散装置(LB)であって、
    エンドポイントユニフォームリソースロケータ(URL)への接続要求をOPC UAクライアントから受信する送受信部と、
    前記送受信部に接続されたプロセッサと、
    を備え、
    前記LBは、冗長サーバセットと前記OPC UAクライアントとの間に接続されており、
    前記冗長サーバセットは、第1のOPC UAサーバ及び第2のOPC UAサーバを備え、
    前記エンドポイントURLは、前記冗長サーバセットと通信するOPC UAクライアントにより指定され、
    前記プロセッサは、前記要求に基づいて前記第1のOPC UAサーバへの接続をプロキシし、
    前記第1のOPC UAサーバは、アクティブサーバであり、
    前記第2のOPC UAサーバは、スタンバイサーバであり、
    前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なり、
    前記システムは、パブリッシャーがデータセットを含み、前記データセットを少なくとも1つのサブスクライバーに提供する、パブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用し、
    前記Pub/Sub通信モデルにおいて、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバは、それぞれ前記パブリッシャー及び前記少なくとも1つのサブスクライバーであり、
    前記第1のOPC UAサーバは、第1のデータセットを含み、
    前記第2のOPC UAサーバは、第2のデータセットを含み、
    前記第1のデータセットが更新されたとき、前記第1のOPC UAサーバは、前記更新された第1のデータセットを前記少なくとも1つのサブスクライバーに提供し、
    前記第2のOPC UAサーバは、前記更新された第1のデータセットを受信したとき、前記第2のデータセットを更新し、
    前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供しない、
    LB。
  12. 前記プロセッサが前記接続をプロキシした後、前記OPC UAクライアントと前記第1のOPC UAサーバとの間でTCP/IP接続が確立される、請求項11に記載のLB。
  13. OPC UAを用いて処理を行うシステムの負荷分散装置(LB)であって、
    エンドポイントユニフォームリソースロケータ(URL)への接続要求をOPC UAクライアントから受信する送受信部と、
    前記送受信部に接続されたプロセッサと、
    を備え、
    前記LBは、冗長サーバセットと前記OPC UAクライアントとの間に接続されており、
    前記冗長サーバセットは、第1のOPC UAサーバ及び第2のOPC UAサーバを備え、
    前記エンドポイントURLは、前記冗長サーバセットと通信するOPC UAクライアントにより指定され、
    前記プロセッサは、前記要求に基づいて前記第1のOPC UAサーバへの接続をプロキシし、
    前記第1のOPC UAサーバは、アクティブサーバであり、
    前記第2のOPC UAサーバは、スタンバイサーバであり、
    前記エンドポイントURLは、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバのそれぞれのURLとは異なり、
    前記システムは、パブリッシャーがデータセットを含み、前記データセットを少なくとも1つのサブスクライバーに提供する、パブリッシャーサブスクライバー(Pub/Sub)通信モデルを適用し、
    前記Pub/Sub通信モデルにおいて、前記第1のOPC UAサーバ及び前記第2のOPC UAサーバは、それぞれ前記パブリッシャー及び前記少なくとも1つのサブスクライバーであり、
    前記第1のOPC UAサーバは、第1のデータセットを含み、
    前記第2のOPC UAサーバは、第2のデータセットを含み、
    フェイルオーバー処理において、前記アクティブサーバが、前記第1のOPC UAサーバから前記第2のOPC UAサーバに切り換えられ、
    前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供し、
    前記スタンバイサーバが、前記第2のOPC UAサーバから前記第1のOPC UAサーバに切り換えられ、
    前記フェイルオーバー処理の後、前記第2のOPC UAサーバは、前記第2のデータセットを前記少なくとも1つのサブスクライバーに提供し、
    前記第1のOPC UAサーバは、前記第2のデータセットを受信したとき、前記第1のデータセットを更新し、
    前記第1のOPC UAサーバは、前記第1のデータセットを前記少なくとも1つのサブスクライバーに提供しない、
    LB。
JP2020166830A 2019-10-31 2020-10-01 Opc uaを用いたシステム処理、opc uaを用いた通信方法、及び負荷分散装置 Active JP6988973B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/670,490 US11032362B2 (en) 2019-10-31 2019-10-31 System operating using OPC UA, communication method using OPC UA, and load balancer
US16/670490 2019-10-31

Publications (2)

Publication Number Publication Date
JP2021072105A JP2021072105A (ja) 2021-05-06
JP6988973B2 true JP6988973B2 (ja) 2022-01-05

Family

ID=72355782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020166830A Active JP6988973B2 (ja) 2019-10-31 2020-10-01 Opc uaを用いたシステム処理、opc uaを用いた通信方法、及び負荷分散装置

Country Status (3)

Country Link
US (1) US11032362B2 (ja)
EP (1) EP3817335B1 (ja)
JP (1) JP6988973B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11297029B2 (en) * 2019-10-02 2022-04-05 Paypal, Inc. System and method for unified multi-channel messaging with block-based datastore
US11570246B1 (en) * 2021-11-17 2023-01-31 Saudi Arabian Oil Company Layer 7 health check automated execution framework

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072407A (ja) * 2004-08-31 2006-03-16 Yokogawa Electric Corp プロセス制御システム
US20080046966A1 (en) * 2006-08-03 2008-02-21 Richard Chuck Rhoades Methods and apparatus to process network messages
US8522069B2 (en) * 2010-01-21 2013-08-27 Wincor Nixdorf International Gmbh Process for secure backspacing to a first data center after failover through a second data center and a network architecture working accordingly
US9912737B2 (en) 2014-08-27 2018-03-06 Exxonmobil Research And Engineering Company Method and system for modular interoperable distributed control
EP3260991A1 (en) * 2016-06-20 2017-12-27 Siemens Aktiengesellschaft System and method configured to execute data model transformations on data for cloud based applications
JP6870568B2 (ja) * 2017-10-24 2021-05-12 オムロン株式会社 通信システム、制御装置、設定装置、設定方法およびプログラム
US10469600B2 (en) * 2017-11-14 2019-11-05 Dell Products, L.P. Local Proxy for service discovery
FI127806B (en) * 2017-12-22 2019-02-28 Prosys Opc Oy A method, system and computer software for managing OPC UA server capacity
EP3702857A1 (en) * 2019-03-01 2020-09-02 ABB Schweiz AG Redundancy in a network centric process control system
US20200328977A1 (en) * 2019-04-10 2020-10-15 Cisco Technology, Inc. Reactive approach to resource allocation for micro-services based infrastructure

Also Published As

Publication number Publication date
EP3817335A1 (en) 2021-05-05
JP2021072105A (ja) 2021-05-06
US20210136143A1 (en) 2021-05-06
US11032362B2 (en) 2021-06-08
EP3817335B1 (en) 2022-11-02

Similar Documents

Publication Publication Date Title
EP3629552B1 (en) Method, registration center and device for service discovery
US8082290B2 (en) Intelligent establishment of peer-to-peer communication
JP6988973B2 (ja) Opc uaを用いたシステム処理、opc uaを用いた通信方法、及び負荷分散装置
US20070073829A1 (en) Partitioning data across servers
WO2019228515A1 (zh) 一种远程过程调用协议自适应方法、相关装置及服务器
EP2343867B1 (en) System and method of reducing intranet traffic on bottleneck links in a telecommunications network
KR20050077021A (ko) 원격통신 장치 및 시스템, 원격통신 네트워크 동작 방법
CN110580256A (zh) 一种识别应用标识的方法、设备及系统
CN111886900B (zh) 用于在基于服务的体系结构中消息代理的唯一服务标识符
US20030093560A1 (en) Load balancer
CN110932876B (zh) 一种通信系统、方法及装置
CN111917838B (zh) 基于微服务的处理方法及装置、存储介质、电子装置
CN113572835A (zh) 一种数据处理方法、网元设备以及可读存储介质
CN111615128A (zh) 一种多接入边缘计算方法、平台及系统
Helin et al. Mobile agent communication in wireless networks
CN112351077B (zh) 一种应用服务运行方法、系统、装置及存储介质
CN114080056A (zh) 一种会话更新方法、终端和网络侧设备
CN112422609A (zh) 一种编程装置、业务请求连接方法
CN116896750A (zh) 蜂窝通信网络之间的增强互连
CN114884880B (zh) 数据传输方法以及系统
CN105516121B (zh) 无线局域网中ac与ap通信的方法及系统
WO2018186873A1 (en) Ad hoc service switch-based control of ad hoc networking
WO2003023613A2 (en) Distributed service component systems
KR20050003598A (ko) 이중화된 도메인 네임 서버를 이용한 도메인 네임 서비스제공 시스템 및 제공 방법
CN112543511A (zh) 一种提供、发现移动边缘计算的方法及设备、装置、介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211014

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150