(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5669647
(24)【登録日】2014年12月26日
(45)【発行日】2015年2月12日
(54)【発明の名称】複数通信ポートを使用する優先度制御方法及び通信システム
(51)【国際特許分類】
G06F 15/00 20060101AFI20150122BHJP
【FI】
G06F15/00 470
【請求項の数】12
【全頁数】12
(21)【出願番号】特願2011-75677(P2011-75677)
(22)【出願日】2011年3月30日
(65)【公開番号】特開2012-208876(P2012-208876A)
(43)【公開日】2012年10月25日
【審査請求日】2013年8月26日
(73)【特許権者】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】岸 勝
【審査官】
漆原 孝治
(56)【参考文献】
【文献】
特開2001−358762(JP,A)
【文献】
特開2004−343731(JP,A)
【文献】
特開2009−055130(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/00
(57)【特許請求の範囲】
【請求項1】
通信クライアント装置と、
通信サーバ装置と、
前記通信クライアント装置及び前記通信サーバ装置相互間を冗長接続する少なくとも第1及び第2のデジタル通信路と、を含み、
前記通信クライアント装置は、前記通信サーバ装置に第1の優先度のメッセージを送信するとき前記第1又は第2のデジタル通信路の第1の通信ポートを使用し、前記通信サーバ装置に第2の優先度のメッセージを送信するとき前記第1又は第2のデジタル通信路の第2の通信ポートを使用し、
前記通信サーバ装置は、前記第1又は第2のデジタル通信路の第1の通信ポートを介して受信した前記第1の優先度のメッセージを前記第1又は第2の通信路の第2の通信ポートを介して受信した前記第2の優先度のメッセージに優先してデータ処理を行い、
前記通信クライアント装置は、前記第1の通信ポートを使用する前記第1の優先度のメッセージの送信を制御する第1の送受信プログラムと、前記第2の通信ポートを使用する前記第2の優先度のメッセージの送信を制御する第2の送受信プログラムと、を実行する、複数通信ポートを使用する優先度制御方法。
【請求項2】
前記通信クライアント装置は、前記第1の優先度のメッセージに前記第1の通信ポートを割り当て、当該第1の通信ポートが割り当てられたメッセージを前記第1のデジタル通信路に送信し、前記第2の優先度のメッセージに前記第2の通信ポートを割り当て、当該第2の通信ポートが割り当てられたメッセージを前記第2のデジタル通信路に送信する、請求項1に記載の複数通信ポートを使用する優先度制御方法。
【請求項3】
前記通信クライアント装置は、前記第1又は第2のデジタル通信路のいずれか一方が使用できないときに他方のデジタル通信路の第1の通信ポートに前記第1の優先度のメッセージを送信し、前記他方のデジタル通信路の第2の通信ポートに前記第2の優先度のメッセージを送信する、請求項1又は2に記載の複数通信ポートを使用する優先度制御方法。
【請求項4】
前記通信クライアント装置又は前記通信サーバ装置は、前記メッセージを構成するパケット群のパケットヘッダに送信先のアドレスと予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する、請求項1乃至3のいずれかに記載の複数通信ポートを使用する優先度制御方法。
【請求項5】
前記デジタル通信路は、TCP/IP又はTCP/UDPの規格による通信路である、請求項1乃至4のいずれかに記載の複数通信ポートを使用する優先度制御方法。
【請求項6】
前記デジタル通信路は少なくとも2系統の通信路を形成する2つのネットワークスイッチを含む、請求項1乃至5のいずれかに記載の複数通信ポートを使用する優先度制御方法。
【請求項7】
装置相互間を冗長接続する少なくとも第1及び第2のデジタル通信路と、
通信サーバ装置に第1の優先度のメッセージを送信するとき前記第1又は第2のデジタル通信路の第1の通信ポートを使用し、前記通信サーバ装置に第2の優先度のメッセージを送信するとき前記第1又は第2のデジタル通信路の第2の通信ポートを使用する通信クライアント装置と、
前記第1又は第2のデジタル通信路の第1の通信ポートを介して受信した前記第1の優先度のメッセージを前記第1又は第2の通信路の第2の通信ポートを介して受信した前記第2の優先度のメッセージに優先してデータ処理を行う通信サーバ装置と、
を備え、
前記通信クライアント装置は、前記第1の通信ポートを使用する前記第1の優先度のメッセージの送信を制御する第1の送受信プログラムと、前記第2の通信ポートを使用する前記第2の優先度のメッセージの送信を制御する第2の送受信プログラムと、を実行する、複数通信ポートを使用する通信システム。
【請求項8】
前記通信クライアント装置は、前記第1の優先度のメッセージに前記第1の通信ポートを割り当て、当該第1の通信ポートが割り当てられたメッセージを前記第1のデジタル通信路に送信し、前記第2の優先度のメッセージに前記第2の通信ポートを割り当て、当該第2の通信ポートが割り当てられたメッセージを前記第2のデジタル通信路に送信する、請求項7に記載の複数通信ポートを使用する通信システム。
【請求項9】
前記通信クライアント装置は、前記第1又は第2のデジタル通信路のいずれか一方が使用できないときに他方のデジタル通信路の第1の通信ポートに前記第1の優先度のメッセージを送信し、前記他方のデジタル通信路の第2の通信ポートに前記第2の優先度のメッセージを送信する、請求項7又は8に記載の複数通信ポートを使用する通信システム。
【請求項10】
前記通信クライアント装置又は前記通信サーバ装置は、前記メッセージを構成するパケット群のパケットヘッダに送信先のアドレスと予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する、請求項7乃至9のいずれかに記載の複数通信ポートを使用する通信システム。
【請求項11】
前記デジタル通信路は、TCP/IP又はTCP/UDPの規格による通信路である、請求項7乃至10のいずれかに記載の複数通信ポートを使用する通信システム。
【請求項12】
前記デジタル通信路は少なくとも2系統の通信路を形成する2つのネットワークスイッチを含む、請求項7乃至11のいずれかに記載の複数通信ポートを使用する通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は冗長化された通信網(ネットワーク)を使用する通信装置相互間の優先度制御に関する。
【背景技術】
【0002】
プロセス自動化(PA)や工場自動化(FA)に分散型制御システム(DCS)が導入されている。分散型制御システムでは、多数の端末装置と制御装置とが通信ネットワークを介して接続される。分散型制御システム(DCS)でのネットワーク構成は、通信の可用性を確保するためにネットワーク経路の冗長構成がとられることが一般的である。例えば、特開平7−288524号公報(特許文献1)には、データ端末装置からの切換指示信号によって通信媒体を切り換える二重化通信装置の例が紹介されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−288524号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、多数の端末装置(通信クライアント)と制御装置(通信サーバ)とを接続すると、ネットワーク上における通信量は膨大となり、制御装置のデータ処理の負担が増大する。端末装置と制御装置間における処理の遅れによる不具合の発生を防止するため、重要な処理を優先させる必要がある。このため、通信のメッセージに優先度を持たせて処理することが考えられる。
【0005】
例えば、ネットワークにイーサネット(Ethernet,ゼロックス社の商標)等の通信ネットワークを使用した通信において、メッセージに優先度を持たせる方式として帯域制御がある。帯域制御は通信メッセージ(パケット)内のタイプを表すIPパケット内のサービスタイプや、TCP/UDPパケット内の通信ポートなどを利用して行う。
【0006】
この帯域制御による優先度制御(帯域制御)は、WAN(広域ネットワーク)とLAN(ローカルエリアネットワーク)のような通信速度の異なる通信ネットワーク間で、優先度の高いメッセージを優先的に処理させるという機構であり、主にネットワークスイッチに実装され、ネットワークスイッチ内でのキューイング処理によって実現されている。そして、ネットワークトラフィックの増加などによるネットワークスイッチの処理能力を超える高負荷により、スイッチのキューにメッセージが溜まったときには、スイッチ内でメッセージの追い越し処理が行われ有効に機能する。
【0007】
しかしながら、TCP/UDPパケット内の通信ポートで帯域制御が可能な仕様を持つネットワークスイッチは相当に高価であり、導入に関して費用面での問題がある。また、メッセージを受け取ってメッセージ処理するサーバ側におけるメッセージの優先度制御については従来考慮されていないので、サーバはメッセージの優先度制御機構を備えていない。
【0008】
よって、本発明は、サーバが送信側から送信されるメッセージの優先度に応じて受信したメッセージの処理を行える優先度制御方法及び通信システムを提供することを目的とする。
【0009】
また、本発明は、帯域制御機能などを持たないネットワークスイッチを使用して形成した通信ネットワークで受信したメッセージの優先処理を行える優先度制御方法及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決する本発明の複数通信ポートを使用する優先度制御方法(あるいは方式)は、通信クライアント装置と、通信サーバ装置と、上記通信クライアント装置及び上記通信サーバ装置相互間を冗長接続する少なくとも第1及び第2のデジタル通信路と、を含み、上記通信クライアント装置は、上記通信サーバ装置に第1の優先度のメッセージを送信するとき上記第1又は第2のデジタル通信路の第1の通信ポートを使用し、上記通信サーバ装置に第2の優先度のメッセージを送信するとき上記第1又は第2のデジタル通信路の第2の通信ポートを使用し、上記通信サーバ装置は、上記第1又は第2のデジタル通信路の第1の通信ポートを介して受信した上記第1の優先度のメッセージを上記第1又は第2の通信路の第2の通信ポートを介して受信した上記第2の優先度のメッセージに優先してデータ処理を行う。
【0011】
ここで、優先度とは複数のメッセージ間における時間的な実行順位であり、第1の優先度は第2の優先度に優位し、第2の優先度は第3の優先度に優位する。また、通信ポートとは、例えば、デジタル通信路におけるプロトコルの一つであるTCP/IPにおいて、IPアドレスにより通信相手のコンピュータを指定するが(IP・ネットワーク層)、そのコンピュータ上で動いている複数のプログラムのうちの一つを通信相手として指定するために用いられている、ポート番号に相当するものである(TCPやUDP・トランスポート層)。
【0012】
かかる構成とすることによって、通信サーバ装置側では、第1の通信ポートに第1の優先度のメッセージが得られ、第2の通信ポートには第2の優先度のメッセージが得られるので、容易に優先処理を行うことができる。
【0013】
好ましくは、上記通信クライアント装置は、上記第1の優先度のメッセージに上記第1の通信ポートを割り当て、当該第1の通信ポートが割り当てられたメッセージを上記第1のデジタル通信路に送信し、上記第2の優先度のメッセージに上記第2の通信ポートを割り当て、当該第2の通信ポートが割り当てられたメッセージを上記第2のデジタル通信路に送信する。それにより、優先度に応じてデジタル通信路を分けて使用することが可能となり、優先度処理機能を備えないネットワークスイッチでメッセージの優先度処理を行ったような結果(優先度処理機能を備えた高価なネットワークスイッチを使用した場合と同様の効果)が得られる。
【0014】
好ましくは、上記通信クライアント装置が、上記第1又は第2のデジタル通信路のいずれか一方を使用できないときに他方の(使用できる)デジタル通信路の第1の通信ポートに上記第1の優先度のメッセージを送信し、上記他方のデジタル通信路の第2の通信ポートに上記第2の優先度のメッセージを送信する。それにより、1つのデジタル通信路に障害が発生した場合であっても、他のデジタル通信路を使用してメッセージの優先度処理を行うことができる。
【0015】
好ましくは、上記通信クライアント装置又は上記通信サーバ装置は、上記メッセージを構成するパケット群のパケットヘッダに送信先のアドレス(例えば、IPアドレス)と予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する。
【0016】
それにより、論理的な通信ポートを形成し、優先度付き通信ポートを特定することができる。また、既存規格の通信路を利用できるメッセージを形成し、デジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【0017】
好ましくは、上記デジタル通信路は、TCP/IP又はTCP/UDPの規格による通信路である。それにより、既存規格のデジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【0018】
好ましくは、上記デジタル通信路は少なくとも2系統の通信路を形成する2つのネットワークスイッチを含む。それにより、冗長通信路を形成し、可用性の高い通信システムを構成することが可能となる。特に、プロセスオートメーション、工場オートメーションなどの分散処理システム(DCS)に好適な複数通信ポートを使用する優先度制御方式を提供可能となる。
【0019】
また、本発明の複数通信ポートを使用する通信システムは、装置相互間を冗長接続する少なくとも第1及び第2のデジタル通信路と、通信サーバ装置に第1の優先度のメッセージを送信するとき上記第1又は第2のデジタル通信路の第1の通信ポートを使用し、上記通信サーバ装置に第2の優先度のメッセージを送信するとき上記第1又は第2のデジタル通信路の第2の通信ポートを使用する通信クライアント装置と、上記第1又は第2のデジタル通信路の第1の通信ポートを介して受信した上記第1の優先度のメッセージを上記第1又は第2の通信路の第2の通信ポートを介して受信した上記第2の優先度のメッセージに優先してデータ処理を行う通信サーバ装置と、を備える。
【0020】
かかる構成とすることによって、サーバ装置側では、第1の通信ポートに第1の優先度のメッセージが得られ、第2の通信ポートには第2の優先度のメッセージが得られるので、容易に優先処理を行うことができる。
【0021】
好ましくは、上記通信クライアント装置は、上記第1の優先度のメッセージに上記第1の通信ポートを割り当て、当該第1の通信ポートが割り当てられたメッセージを上記第1のデジタル通信路に送信し、上記第2の優先度のメッセージに上記第2の通信ポートを割り当て、当該第2の通信ポートが割り当てられたメッセージを上記第2のデジタル通信路に送信する。それにより、優先度に応じてデジタル通信路を分けて使用することが可能となり、優先度処理機能を備えないネットワークスイッチでメッセージの優先度処理を行ったような結果(優先度処理機能を備えた高価なネットワークスイッチを使用した場合と同様の効果)が得られる。
【0022】
好ましくは、上記通信クライアント装置は、上記第1又は第2のデジタル通信路のいずれか一方が使用できないときに他方のデジタル通信路の第1のポートに上記第1の優先度のメッセージを送信し、上記他方のデジタル通信路の第2のポートに上記第2の優先度のメッセージを送信する。それにより、1つのデジタル通信路に障害が発生した場合であっても、他のデジタル通信路を使用してメッセージの優先度処理を行うことができる。
【0023】
好ましくは、上記通信クライアント装置又は上記通信サーバ装置は、上記メッセージを構成するパケット群のパケットヘッダに送信先のアドレスと予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する。それにより、論理的な通信ポートを形成し、優先度付き通信ポートを特定することができる。また、既存規格の通信路を利用できるメッセージを形成し、デジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【0024】
好ましくは、上記デジタル通信路は、TCP/IP又はTCP/UDPの規格による通信路である。それにより、既存規格のデジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【0025】
好ましくは、上記デジタル通信路は少なくとも2系統の通信路を形成する2つのネットワークスイッチを含む。それにより、冗長通信路を形成し、可用性の高い通信システムを構成することが可能となる。特に、プロセスオートメーション、工場オートメーションなどの分散処理システム(DCS)に好適な複数通信ポートを使用する優先度制御方式を提供可能となる。
【発明の効果】
【0026】
本発明によれば、ネットワークスイッチが帯域制御機能などを持たない場合であっても、受信側が受信した複数のメッセージの優先度に応じて各受信メッセージの処理順番を適宜に変更する優先度制御を実現することが可能となる。
【図面の簡単な説明】
【0027】
【
図1】本願の優先度制御方法(通常動作)を説明する説明図である。
【
図2】本願の優先度制御方法(障害発生時の動作)を説明する説明図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について図面を参照して説明する。各図において、対応する部分には同一符号を付し、かかる部分の説明を省略する。
【0029】
本発明の実施の形態では、冗長型の通信システム、例えば、二重化された分散型制御システム(DCS)におけるメッセージ通信において、予め定められた取り決めに従って各メッセージの優先度に対応付けられた複数の通信ポートが用意される。送信側(通信クライアント装置)は送信するメッセージの優先度に応じて送信する通信ポートを選択する。受信側(通信サーバ装置や他の通信クライアント装置)は、各メッセージの優先度を、通信ポートを参照することによって判別し、優先度の高いメッセージを優先的に処理する。
【0030】
(通信システム)
図1は、本発明の優先度制御方法(あるいは方式)を説明する説明図である。同図(A)は、ネットワーク構成と通信経路を示している。同図(B)は、通信クライアントにおけるプログラム処理を説明する図である。同図(C)は、通信サーバにおけるプログラム処理を説明する図である。
【0031】
図1(A)に示すように、通信ネットワークは、複数の通信クライアント装置1、2つのネットワークスイッチ2a,2b、通信サーバ装置3等によって構成される。この図では、説明の便宜のため、通信クライアント装置は1つのみを代表して示している。通信クライアント装置1と通信サーバ装置3相互間は2つのネットワークスイッチ2a及び2bによって二重に接続されている。
【0032】
上述したように、例えば、プロセスオートメーションや工場オートメーションでは、分散型制御システム(DCS)が導入されており、装置相互間のネットワーク構成は、通信の可用性を確保するためにネットワーク経路の冗長構成をとることが一般的である。このように各接続機器を通信ネットワークに冗長接続することによってシステムの障害に対する通信の可用性を高めている。
【0033】
なお、デジタル通信においては種々の規約がある。例えば、ネットワーク上でコンピュータ同士がデータを交換するプロトコルの一つであるTCP/IPにおいては、IPアドレスにより通信相手のコンピュータを指定するが(IP・ネットワーク層)、そのコンピュータ上で動いている複数のプログラムのうちの一つを通信相手として指定するために、ポート番号を用いる(TCPやUDP・トランスポート層)。指定できる番号の範囲はTCPやUDPなどの通信の種類毎にそれぞれ0−65535(16ビット符号無し整数)と定められている。これらのボート番号と、TCPやUDPなどの通信プロトコルの指定の組み合わせで特定される、論理的な通信のインタフェースをポートと呼んでいる。
【0034】
通信クライアント装置1は、パーソナルコンピュータと同様の内部構成(CPU,メモリ,HDD,入出力インタフェース等)を有し、2つの通信インタフェースを備えている。第1の通信インタフェースには第1のネットワークインタフェースカードNICが接続されている。このカードには第1のIPアドレス(例えば、192.168.0.1)が割り当てられている。第2の通信インタフェースには第2のネットワークインタフェースカードNICが接続されている。このカードには第2のIPアドレス(例えば、192.168.1.1)が割り当てられている。
【0035】
通信サーバ装置3は、一般のサーバ装置と同様に構成され、通信インタフェースに2つのネットワークインタフェースカードNICが接続されている。第1のネットワークインタフェースカードには第3のIPアドレス(例えば、192.168.0.2)が割り当てられている。第2のネットワークインタフェースカードには第4のIPアドレス(例えば、192.168.1.2)が割り当てられている。
【0036】
ネットワークスイッチ2aは、例えば、TCP/UDP形式やTCP/IP形式のパケットを伝送する。パケットのヘッダには送信元のIPアドレス、ポート番号、送信先のIPアドレス番号、ポート番号が含まれている。この例では、例えば、ポート番号10000を第1の優先度(優先度高)処理に割り当て、ポート番号10001を第2の優先度(優先度低)処理に割り当てている。
【0037】
ネットワークスイッチ2aは、クライアント装置1の第1のネットワークカード(IPアドレス:192.168.0.1)から送信されたメッセージ(パケット)の送信先のIPアドレスとポート番号(ヘッダ情報)を読み取って送信先に転送する。送信先が通信サーバの第1のネットワークインタフェースカードのIPアドレスであると、このメッセージを通信サーバ3の第1のネットワークインタフェースカードに転送する。
【0038】
同様に、ネットワークスイッチ2bは、クライアント装置1の第2のネットワークカード(IPアドレス:192.168.1.1)から送信されたメッセージ(パケット)の送信先のIPアドレスとポート番号(ヘッダ情報)を読み取ってそれが通信サーバ3の第2のネットワークインタフェースカードのIPアドレスであると、このメッセージを通信サーバの第2のネットワークインタフェースカードに転送する。
【0039】
通信クライアント装置1は、通信サーバ装置3にメッセージを送る場合に、第1のネットワーク(ネットワークスイッチ2a)を使用するか、第2のネットワーク(ネットワークスイッチ2b)を使用するかを選択可能である。したがって、通信クライアント装置1は冗長接続を利用して優先度によってメッセージの送信に使用する通信路を区別することができる。
【0040】
例えば、予め各通信クライアント装置と通信サーバ装置間で取り決めをすることによって、第1のネットワークを第1の優先度(優先度高)処理のメッセージの伝送に使用することが出来る。第2のネットワークを第2の優先度(優先度高)処理のメッセージの伝送に使用することが出来る。通信サーバ3は第1のネットワークインタフェースカードから受信されるメッセージを優先度が高く、第2のネットワークインタフェースカードから受信されるメッセージを相対的に優先度が低いものとして扱うことができる。ネットワークをメッセージの優先順位で使い分けることによって第1の優先度(優先度高)のメッセージの転送速度(伝送速度)を向上させることが期待できる。
【0041】
更に、ヘッダ情報の第1のポート番号(例えば、10000)を第1の優先度(優先度高)、第2のポート番号(例えば、10001)を第2の優先度(優先度高)と予め各通信クライアントと通信サーバ装置間で取り決めて使用することでもサーバ装置において優先度処理を行うことが可能となる。この場合には、後述するように、いずれのネットワークを使用しても優先度の高いメッセージを通信サーバ装置3に伝送することが可能となるので、いずれかのネットワークがダウンした場合であっても他のネットワークを使用して優先度付きのメッセージの伝送を継続することができる。
【0042】
(通信クライアント装置)
次に、上述した通信システムの動作について説明する。
図1(B)は、通信クライアント装置の動作を機能的に説明する図である。通信クライアント装置1は、プロセスデバイスの制御アプリケーションプログラムなど、優先度の異なる複数のプログラム(図示せず)と外部装置(サーバ装置)とのメッセージ交換を仲介する通信処理部11を備え、更に、第1のネットワークインタフェースカード(NIC1)を制御する送受信プログラム1と、第2のネットワークインタフェースカード(NIC2)を制御する送受信プログラム2とを実行している。
【0043】
なお、通信クライアント装置1は通信に必要な各種のパラメータを予め入手してメモリに記憶している。また、通信処理部11は使用(通信)可能なネットワークインタフェースカードNIC1,NIC2を予めNICステータスフラグによって把握している。
【0044】
通信処理部11は、アプリケーションプログラムから出力される(優先度1の)メッセージと、送信先とメッセージの優先度(優先度1)を、NICステータスフラグを参照して送受信プログラム1に送り、送信を要求する。送受信プログラム1はメッセージを構成するパケット群のヘッダに送信先のIPアドレス(192.168.0.2)と第1順位に定義付けられたポート番号(10000)を書き込む。また、必要により送信元IPアドレス(192.168.0.1)等も書き込む。このようにして形成された第1の優先度付き送信メッセージをNIC1からネットワークスイッチ2aを介して通信サーバ装置3に送信する。
【0045】
また、通信処理部11は他のアプリケーションプログラムから出力される(優先度2の)メッセージと、送信先アドレス、とメッセージの優先度(優先度2)をNICステータスフラグを参照して送受信プログラム2に送り、送信を要求する。送受信プログラム2はメッセージを構成するパケット群のヘッダに送信先のIPアドレス(192.168.1.2)と第2順位に定義づけられたポート番号(10001)を書き込む。また、必要により送信元IPアドレス(192.168.0.1)等も書き込む。このようにして形成された第1の優先度付き送信メッセージをNIC2からネットワークスイッチ2aを介して通信サーバ装置3に送信する。
【0046】
(通信サーバ装置)
図1(C)は、通信サーバ装置の動作を機能的に説明する図である。既述したように、通信サーバ装置3は、第1及び第2のネットワークインタフェースカードNIC1,NIC2と、これ等カードを制御する送受信プログラム1,2を備える。また、通信処理部31を備えている。
【0047】
第1のネットワークインタフェースカード(NIC1)は、通信路2aから入来するメッセージのパケットヘッダからポート番号を抽出し、ポート番号が10000(第1の優先度)であるとき、このメッセージを送受信プログラム1に受け渡す。また、ポート番号が10001(第2の優先度)であるとき、このメッセージを送受信プログラム2に受け渡す。
【0048】
同様に、第2のネットワークインタフェースカード(NIC2)は、通信路2bから入来するメッセージのパケットヘッダからポート番号を抽出し、ポート番号が10000(第1の優先度)であるとき、このメッセージを送受信プログラム1に受け渡す。また、ポート番号が10001(第2の優先度)であるとき、このメッセージを送受信プログラム2に受け渡す。
【0049】
送受信プログラム1及び2は、メッセージをアプリケーションが処理可能なように復号化して当該メッセージの優先度と共に通信処理部31のメッセージキュー32に送る。送受信プログラム1からは優先度の高いメッセージが送られ、送受信プログラム2からは優先度の低いメッセージが送られる。メッセージキューは外部から入来する各メッセージを一旦保持し、優先度の高いメッセージから処理を行えるようにするもの(待ち行列)である。
【0050】
通信処理部31は、一つのメッセージを処理すると、次に実行するメッセージをメッセージキュー32から読み込む。このとき、メッセージキュー32に残っているメッセージのうちより優先度の高いメッセージを選択し、これよりも優先度の低いメッセージに先行して処理を行う。このような処理を繰り返してメッセージの処理を行う。
【0051】
なお、サーバ装置が複数のCPUを備えて、複数のスレッドを同時に処理できるものである場合には、通信処理部31は各メッセージを当該メッセージの優先度に対応して各スレッドに分配する(CPUの資源を分配する)ようにしてもよい。
【0052】
また、通信サーバ装置3においても通信クライアント装置と同様の手順によってメッセージを通信クライアント装置1に送信することができる。通信に必要な各種のパラメータは予め入手してメモリに記憶している。また、通信処理部31は使用(通信)可能なネットワークインタフェースカードNIC1,NIC2を予めNICステータスフラグによって把握している。
【0053】
なお、上述した例では、通信処理部31は一つであるか、2つの送受信プログラム1及び2にそれぞれ通信処理部を設ける(2つ設ける)構成としても良い。それにより、優先度が低い通信ポートの受信処理に負荷がかっているときでも、優先度が高い通信ポートの受信処理はメッセージを受ければ直ちに処理を開始することができる。
【0054】
図2は、上述した通信システムに異常が発生した場合の優先度処理を説明する図である。同図において、
図1と対応する部分には同一符号を付し、かかる部分の説明は省略する。
【0055】
例えば、
図2(A)に示すように、第1のネットワークスイッチ2aの配線で断線が生じた場合、通信クライアント装置1ではこれを検出する。そして、
図2(B)に示すように、使用すべきネットワークインタフェースカードを第2のカード「2」に切り換える。送受信プログラム1及び2はメッセージをネットワークインタフェースカードNIC2を選択する。送受信プログラム1からネットワークインタフェースカードNIC2に送られるメッセージには第1の優先度を示すポート番号10000が記録されている。受信プログラム1からネットワークインタフェースカードNIC2に送られるメッセージには第1の優先度を示すポート番号10000が記録されている。また、受信プログラム2からネットワークインタフェースカードNIC2に送られるメッセージには第2の優先度を示すポート番号10001が記録されている。
【0056】
通信サーバ装置3側では、ネットワークインタフェースカードNIC2で通信クライアント装置1からのメッセージを受信する。ネットワークインタフェースカードNIC2は受信メッセージのパケットヘッダからポート番号を読み出し、第1のり優先処理を定義するポート番号10000のメッセージを送受信プログラム1に送る。また、第2の優先処理を定義するポート番号10001のメッセージを送受信プログラム2に送る。送受信プログラム1及び2から復号された第1の優先度のメッセージと第2の優先度のメッセージがメッセージキューに送られる。以後は、
図1の例と同様にメッセージの処理が行われる。
【0057】
このように、実施例によれば、冗長通信システムに異常が生じた場合にもメッセージの優先度制御を継続することができる。
【0058】
(他の実施例)
上述した例では、第1及び第2の優先度のメッセージを使用しているが、これに限定されるものではなく、3つ以上の優先度のメッセージを設けることもできる。複数のポート番号に複数の優先度を割り当てることによってより多くの優先度のメッセージを簡単に形成することができる。このような複数の優先度のメッセージを、各優先度を考慮してメッセージ処理を行うことができるので好都合である。その際、ネットワーク構成上のどの通信経路を使用するかも選択可能である。
【0059】
以上説明したように、本発明の実施例では、分散型制御システム(DCS)などにおけるメッセージ通信において、優先度毎に複数の通信ポート(あるいはポート番号)を用意し、送信側が送信するメッセージの優先度に応じて送信する通信ポート(あるいはポート番号)を変更することにより、メッセージを受信し処理する側のサーバ側で優先度の高いメッセージを優先的に処理する仕組みを提供することができる。
【0060】
また、冗長通信経路は物理的に独立した通信帯域を持つため、TCP/UDP(Transmission Control Program / User Datagram Protocol)の通信ポート毎の帯域制御機能をもたないネットワークスイッチのみでも優先度に対応して通信経路を選択することによりネットワーク負荷を考慮した優先度制御が実現できる。
【0061】
また、実施例における通信処理部は、送信側はメッセージ送信時にメッセージの優先度毎に優先度が低い通信ポートと優先度が高い通信ポートに振り分けて送信する。このとき、ネットワーク構成が非冗長構成の場合はどちらの通信ポートも同じネットワークインタフェースカードNICが使用されるが、冗長構成の場合は冗長経路がどちらも有効なときには異なるネットワークインタフェースカードNICが使用され得る。経路が一方しか有効でないときには有効な経路のみを使用して動作する。
【0062】
また、受信側(サーバ側)は、優先度毎に設けられた通信ポート毎に受信処理を行うことができる。受信処理を別々に行う場合には、お互いの通信処理が独立して動作可能となって好ましい。優先度が低い通信ポート用の受信処理部に負荷がかかっているときでも、優先度が高い通信ポートの受信処理部は、メッセージを受信すればただちに処理を開始することができる。
また、本実施例では優先度毎に異なる通信ポート(あるいは通信ポート番号)を使用することができるため、同一メッセージでも緊急度により優先度を切り換えて送受信することができる。このことにより、メッセージを送信するクライアント側が状況により柔軟に優先度制御を実施することが可能である。
【符号の説明】
【0063】
1 通信クライアント装置、2,2a,2b 通信ネットワーク、3 通信サーバ装置