(57)【特許請求の範囲】
【請求項１】
通信クライアント装置と、
通信サーバ装置と、
前記通信クライアント装置及び前記通信サーバ装置相互間を冗長接続する少なくとも第１及び第２のデジタル通信路と、を含み、
前記通信クライアント装置は、前記通信サーバ装置に第１の優先度のメッセージを送信するとき前記第１又は第２のデジタル通信路の第１の通信ポートを使用し、前記通信サーバ装置に第２の優先度のメッセージを送信するとき前記第１又は第２のデジタル通信路の第２の通信ポートを使用し、
前記通信サーバ装置は、前記第１又は第２のデジタル通信路の第１の通信ポートを介して受信した前記第１の優先度のメッセージを前記第１又は第２の通信路の第２の通信ポートを介して受信した前記第２の優先度のメッセージに優先してデータ処理を行い、
前記通信クライアント装置は、前記第１の通信ポートを使用する前記第１の優先度のメッセージの送信を制御する第１の送受信プログラムと、前記第２の通信ポートを使用する前記第２の優先度のメッセージの送信を制御する第２の送受信プログラムと、を実行する、複数通信ポートを使用する優先度制御方法。
【請求項２】
前記通信クライアント装置は、前記第１の優先度のメッセージに前記第１の通信ポートを割り当て、当該第１の通信ポートが割り当てられたメッセージを前記第１のデジタル通信路に送信し、前記第２の優先度のメッセージに前記第２の通信ポートを割り当て、当該第２の通信ポートが割り当てられたメッセージを前記第２のデジタル通信路に送信する、請求項１に記載の複数通信ポートを使用する優先度制御方法。
【請求項３】
前記通信クライアント装置は、前記第１又は第２のデジタル通信路のいずれか一方が使用できないときに他方のデジタル通信路の第１の通信ポートに前記第１の優先度のメッセージを送信し、前記他方のデジタル通信路の第２の通信ポートに前記第２の優先度のメッセージを送信する、請求項１又は２に記載の複数通信ポートを使用する優先度制御方法。
【請求項４】
前記通信クライアント装置又は前記通信サーバ装置は、前記メッセージを構成するパケット群のパケットヘッダに送信先のアドレスと予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する、請求項１乃至３のいずれかに記載の複数通信ポートを使用する優先度制御方法。
【請求項５】
前記デジタル通信路は、ＴＣＰ／ＩＰ又はＴＣＰ／ＵＤＰの規格による通信路である、請求項１乃至４のいずれかに記載の複数通信ポートを使用する優先度制御方法。
【請求項６】
前記デジタル通信路は少なくとも２系統の通信路を形成する２つのネットワークスイッチを含む、請求項１乃至５のいずれかに記載の複数通信ポートを使用する優先度制御方法。
【請求項７】
装置相互間を冗長接続する少なくとも第１及び第２のデジタル通信路と、
通信サーバ装置に第１の優先度のメッセージを送信するとき前記第１又は第２のデジタル通信路の第１の通信ポートを使用し、前記通信サーバ装置に第２の優先度のメッセージを送信するとき前記第１又は第２のデジタル通信路の第２の通信ポートを使用する通信クライアント装置と、
前記第１又は第２のデジタル通信路の第１の通信ポートを介して受信した前記第１の優先度のメッセージを前記第１又は第２の通信路の第２の通信ポートを介して受信した前記第２の優先度のメッセージに優先してデータ処理を行う通信サーバ装置と、
を備え、
前記通信クライアント装置は、前記第１の通信ポートを使用する前記第１の優先度のメッセージの送信を制御する第１の送受信プログラムと、前記第２の通信ポートを使用する前記第２の優先度のメッセージの送信を制御する第２の送受信プログラムと、を実行する、複数通信ポートを使用する通信システム。
【請求項８】
前記通信クライアント装置は、前記第１の優先度のメッセージに前記第１の通信ポートを割り当て、当該第１の通信ポートが割り当てられたメッセージを前記第１のデジタル通信路に送信し、前記第２の優先度のメッセージに前記第２の通信ポートを割り当て、当該第２の通信ポートが割り当てられたメッセージを前記第２のデジタル通信路に送信する、請求項７に記載の複数通信ポートを使用する通信システム。
【請求項９】
前記通信クライアント装置は、前記第１又は第２のデジタル通信路のいずれか一方が使用できないときに他方のデジタル通信路の第１の通信ポートに前記第１の優先度のメッセージを送信し、前記他方のデジタル通信路の第２の通信ポートに前記第２の優先度のメッセージを送信する、請求項７又は８に記載の複数通信ポートを使用する通信システム。
【請求項１０】
前記通信クライアント装置又は前記通信サーバ装置は、前記メッセージを構成するパケット群のパケットヘッダに送信先のアドレスと予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する、請求項７乃至９のいずれかに記載の複数通信ポートを使用する通信システム。
【請求項１１】
前記デジタル通信路は、ＴＣＰ／ＩＰ又はＴＣＰ／ＵＤＰの規格による通信路である、請求項７乃至１０のいずれかに記載の複数通信ポートを使用する通信システム。
【請求項１２】
前記デジタル通信路は少なくとも２系統の通信路を形成する２つのネットワークスイッチを含む、請求項７乃至１１のいずれかに記載の複数通信ポートを使用する通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は冗長化された通信網（ネットワーク）を使用する通信装置相互間の優先度制御に関する。
【背景技術】
【０００２】
プロセス自動化（ＰＡ）や工場自動化（ＦＡ）に分散型制御システム（ＤＣＳ）が導入されている。分散型制御システムでは、多数の端末装置と制御装置とが通信ネットワークを介して接続される。分散型制御システム（ＤＣＳ）でのネットワーク構成は、通信の可用性を確保するためにネットワーク経路の冗長構成がとられることが一般的である。例えば、特開平７−２８８５２４号公報（特許文献１）には、データ端末装置からの切換指示信号によって通信媒体を切り換える二重化通信装置の例が紹介されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−２８８５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、多数の端末装置（通信クライアント）と制御装置（通信サーバ）とを接続すると、ネットワーク上における通信量は膨大となり、制御装置のデータ処理の負担が増大する。端末装置と制御装置間における処理の遅れによる不具合の発生を防止するため、重要な処理を優先させる必要がある。このため、通信のメッセージに優先度を持たせて処理することが考えられる。
【０００５】
例えば、ネットワークにイーサネット（Ethernet,ゼロックス社の商標）等の通信ネットワークを使用した通信において、メッセージに優先度を持たせる方式として帯域制御がある。帯域制御は通信メッセージ（パケット）内のタイプを表すＩＰパケット内のサービスタイプや、ＴＣＰ／ＵＤＰパケット内の通信ポートなどを利用して行う。
【０００６】
この帯域制御による優先度制御（帯域制御）は、ＷＡＮ（広域ネットワーク）とＬＡＮ（ローカルエリアネットワーク）のような通信速度の異なる通信ネットワーク間で、優先度の高いメッセージを優先的に処理させるという機構であり、主にネットワークスイッチに実装され、ネットワークスイッチ内でのキューイング処理によって実現されている。そして、ネットワークトラフィックの増加などによるネットワークスイッチの処理能力を超える高負荷により、スイッチのキューにメッセージが溜まったときには、スイッチ内でメッセージの追い越し処理が行われ有効に機能する。
【０００７】
しかしながら、ＴＣＰ／ＵＤＰパケット内の通信ポートで帯域制御が可能な仕様を持つネットワークスイッチは相当に高価であり、導入に関して費用面での問題がある。また、メッセージを受け取ってメッセージ処理するサーバ側におけるメッセージの優先度制御については従来考慮されていないので、サーバはメッセージの優先度制御機構を備えていない。
【０００８】
よって、本発明は、サーバが送信側から送信されるメッセージの優先度に応じて受信したメッセージの処理を行える優先度制御方法及び通信システムを提供することを目的とする。
【０００９】
また、本発明は、帯域制御機能などを持たないネットワークスイッチを使用して形成した通信ネットワークで受信したメッセージの優先処理を行える優先度制御方法及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明の複数通信ポートを使用する優先度制御方法（あるいは方式）は、通信クライアント装置と、通信サーバ装置と、上記通信クライアント装置及び上記通信サーバ装置相互間を冗長接続する少なくとも第１及び第２のデジタル通信路と、を含み、上記通信クライアント装置は、上記通信サーバ装置に第１の優先度のメッセージを送信するとき上記第１又は第２のデジタル通信路の第１の通信ポートを使用し、上記通信サーバ装置に第２の優先度のメッセージを送信するとき上記第１又は第２のデジタル通信路の第２の通信ポートを使用し、上記通信サーバ装置は、上記第１又は第２のデジタル通信路の第１の通信ポートを介して受信した上記第１の優先度のメッセージを上記第１又は第２の通信路の第２の通信ポートを介して受信した上記第２の優先度のメッセージに優先してデータ処理を行う。
【００１１】
ここで、優先度とは複数のメッセージ間における時間的な実行順位であり、第１の優先度は第２の優先度に優位し、第２の優先度は第３の優先度に優位する。また、通信ポートとは、例えば、デジタル通信路におけるプロトコルの一つであるＴＣＰ／ＩＰにおいて、ＩＰアドレスにより通信相手のコンピュータを指定するが（ＩＰ・ネットワーク層）、そのコンピュータ上で動いている複数のプログラムのうちの一つを通信相手として指定するために用いられている、ポート番号に相当するものである（ＴＣＰやＵＤＰ・トランスポート層）。
【００１２】
かかる構成とすることによって、通信サーバ装置側では、第１の通信ポートに第１の優先度のメッセージが得られ、第２の通信ポートには第２の優先度のメッセージが得られるので、容易に優先処理を行うことができる。
【００１３】
好ましくは、上記通信クライアント装置は、上記第１の優先度のメッセージに上記第１の通信ポートを割り当て、当該第１の通信ポートが割り当てられたメッセージを上記第１のデジタル通信路に送信し、上記第２の優先度のメッセージに上記第２の通信ポートを割り当て、当該第２の通信ポートが割り当てられたメッセージを上記第２のデジタル通信路に送信する。それにより、優先度に応じてデジタル通信路を分けて使用することが可能となり、優先度処理機能を備えないネットワークスイッチでメッセージの優先度処理を行ったような結果（優先度処理機能を備えた高価なネットワークスイッチを使用した場合と同様の効果）が得られる。
【００１４】
好ましくは、上記通信クライアント装置が、上記第１又は第２のデジタル通信路のいずれか一方を使用できないときに他方の（使用できる）デジタル通信路の第１の通信ポートに上記第１の優先度のメッセージを送信し、上記他方のデジタル通信路の第２の通信ポートに上記第２の優先度のメッセージを送信する。それにより、１つのデジタル通信路に障害が発生した場合であっても、他のデジタル通信路を使用してメッセージの優先度処理を行うことができる。
【００１５】
好ましくは、上記通信クライアント装置又は上記通信サーバ装置は、上記メッセージを構成するパケット群のパケットヘッダに送信先のアドレス（例えば、ＩＰアドレス）と予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する。
【００１６】
それにより、論理的な通信ポートを形成し、優先度付き通信ポートを特定することができる。また、既存規格の通信路を利用できるメッセージを形成し、デジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【００１７】
好ましくは、上記デジタル通信路は、ＴＣＰ／ＩＰ又はＴＣＰ／ＵＤＰの規格による通信路である。それにより、既存規格のデジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【００１８】
好ましくは、上記デジタル通信路は少なくとも２系統の通信路を形成する２つのネットワークスイッチを含む。それにより、冗長通信路を形成し、可用性の高い通信システムを構成することが可能となる。特に、プロセスオートメーション、工場オートメーションなどの分散処理システム（ＤＣＳ）に好適な複数通信ポートを使用する優先度制御方式を提供可能となる。
【００１９】
また、本発明の複数通信ポートを使用する通信システムは、装置相互間を冗長接続する少なくとも第１及び第２のデジタル通信路と、通信サーバ装置に第１の優先度のメッセージを送信するとき上記第１又は第２のデジタル通信路の第１の通信ポートを使用し、上記通信サーバ装置に第２の優先度のメッセージを送信するとき上記第１又は第２のデジタル通信路の第２の通信ポートを使用する通信クライアント装置と、上記第１又は第２のデジタル通信路の第１の通信ポートを介して受信した上記第１の優先度のメッセージを上記第１又は第２の通信路の第２の通信ポートを介して受信した上記第２の優先度のメッセージに優先してデータ処理を行う通信サーバ装置と、を備える。
【００２０】
かかる構成とすることによって、サーバ装置側では、第１の通信ポートに第１の優先度のメッセージが得られ、第２の通信ポートには第２の優先度のメッセージが得られるので、容易に優先処理を行うことができる。
【００２１】
好ましくは、上記通信クライアント装置は、上記第１の優先度のメッセージに上記第１の通信ポートを割り当て、当該第１の通信ポートが割り当てられたメッセージを上記第１のデジタル通信路に送信し、上記第２の優先度のメッセージに上記第２の通信ポートを割り当て、当該第２の通信ポートが割り当てられたメッセージを上記第２のデジタル通信路に送信する。それにより、優先度に応じてデジタル通信路を分けて使用することが可能となり、優先度処理機能を備えないネットワークスイッチでメッセージの優先度処理を行ったような結果（優先度処理機能を備えた高価なネットワークスイッチを使用した場合と同様の効果）が得られる。
【００２２】
好ましくは、上記通信クライアント装置は、上記第１又は第２のデジタル通信路のいずれか一方が使用できないときに他方のデジタル通信路の第１のポートに上記第１の優先度のメッセージを送信し、上記他方のデジタル通信路の第２のポートに上記第２の優先度のメッセージを送信する。それにより、１つのデジタル通信路に障害が発生した場合であっても、他のデジタル通信路を使用してメッセージの優先度処理を行うことができる。
【００２３】
好ましくは、上記通信クライアント装置又は上記通信サーバ装置は、上記メッセージを構成するパケット群のパケットヘッダに送信先のアドレスと予め定義された送信メッセージの優先度に対応した通信ポート番号とを設定する。それにより、論理的な通信ポートを形成し、優先度付き通信ポートを特定することができる。また、既存規格の通信路を利用できるメッセージを形成し、デジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【００２４】
好ましくは、上記デジタル通信路は、ＴＣＰ／ＩＰ又はＴＣＰ／ＵＤＰの規格による通信路である。それにより、既存規格のデジタル通信路を使用して優先度付きメッセージを交換することが可能となる。
【００２５】
好ましくは、上記デジタル通信路は少なくとも２系統の通信路を形成する２つのネットワークスイッチを含む。それにより、冗長通信路を形成し、可用性の高い通信システムを構成することが可能となる。特に、プロセスオートメーション、工場オートメーションなどの分散処理システム（ＤＣＳ）に好適な複数通信ポートを使用する優先度制御方式を提供可能となる。
【発明の効果】
【００２６】
本発明によれば、ネットワークスイッチが帯域制御機能などを持たない場合であっても、受信側が受信した複数のメッセージの優先度に応じて各受信メッセージの処理順番を適宜に変更する優先度制御を実現することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本願の優先度制御方法（通常動作）を説明する説明図である。
【図２】本願の優先度制御方法（障害発生時の動作）を説明する説明図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について図面を参照して説明する。各図において、対応する部分には同一符号を付し、かかる部分の説明を省略する。
【００２９】
本発明の実施の形態では、冗長型の通信システム、例えば、二重化された分散型制御システム（ＤＣＳ）におけるメッセージ通信において、予め定められた取り決めに従って各メッセージの優先度に対応付けられた複数の通信ポートが用意される。送信側（通信クライアント装置）は送信するメッセージの優先度に応じて送信する通信ポートを選択する。受信側（通信サーバ装置や他の通信クライアント装置）は、各メッセージの優先度を、通信ポートを参照することによって判別し、優先度の高いメッセージを優先的に処理する。
【００３０】
（通信システム）
図１は、本発明の優先度制御方法（あるいは方式）を説明する説明図である。同図（Ａ）は、ネットワーク構成と通信経路を示している。同図（Ｂ）は、通信クライアントにおけるプログラム処理を説明する図である。同図（Ｃ）は、通信サーバにおけるプログラム処理を説明する図である。
【００３１】
図１（Ａ）に示すように、通信ネットワークは、複数の通信クライアント装置１、２つのネットワークスイッチ２ａ，２ｂ、通信サーバ装置３等によって構成される。この図では、説明の便宜のため、通信クライアント装置は1つのみを代表して示している。通信クライアント装置１と通信サーバ装置３相互間は２つのネットワークスイッチ２ａ及び２ｂによって二重に接続されている。
【００３２】
上述したように、例えば、プロセスオートメーションや工場オートメーションでは、分散型制御システム（ＤＣＳ）が導入されており、装置相互間のネットワーク構成は、通信の可用性を確保するためにネットワーク経路の冗長構成をとることが一般的である。このように各接続機器を通信ネットワークに冗長接続することによってシステムの障害に対する通信の可用性を高めている。
【００３３】
なお、デジタル通信においては種々の規約がある。例えば、ネットワーク上でコンピュータ同士がデータを交換するプロトコルの一つであるＴＣＰ／ＩＰにおいては、ＩＰアドレスにより通信相手のコンピュータを指定するが（ＩＰ・ネットワーク層）、そのコンピュータ上で動いている複数のプログラムのうちの一つを通信相手として指定するために、ポート番号を用いる（ＴＣＰやＵＤＰ・トランスポート層）。指定できる番号の範囲はＴＣＰやＵＤＰなどの通信の種類毎にそれぞれ０−６５５３５（１６ビット符号無し整数）と定められている。これらのボート番号と、ＴＣＰやＵＤＰなどの通信プロトコルの指定の組み合わせで特定される、論理的な通信のインタフェースをポートと呼んでいる。
【００３４】
通信クライアント装置１は、パーソナルコンピュータと同様の内部構成（ＣＰＵ，メモリ，ＨＤＤ，入出力インタフェース等）を有し、２つの通信インタフェースを備えている。第１の通信インタフェースには第１のネットワークインタフェースカードＮＩＣが接続されている。このカードには第１のＩＰアドレス（例えば、１９２．１６８．０．１）が割り当てられている。第２の通信インタフェースには第２のネットワークインタフェースカードＮＩＣが接続されている。このカードには第２のＩＰアドレス（例えば、１９２．１６８．１．１）が割り当てられている。
【００３５】
通信サーバ装置３は、一般のサーバ装置と同様に構成され、通信インタフェースに２つのネットワークインタフェースカードＮＩＣが接続されている。第１のネットワークインタフェースカードには第３のＩＰアドレス（例えば、１９２．１６８．０．２）が割り当てられている。第２のネットワークインタフェースカードには第４のＩＰアドレス（例えば、１９２．１６８．１．２）が割り当てられている。
【００３６】
ネットワークスイッチ２ａは、例えば、ＴＣＰ／ＵＤＰ形式やＴＣＰ／ＩＰ形式のパケットを伝送する。パケットのヘッダには送信元のＩＰアドレス、ポート番号、送信先のＩＰアドレス番号、ポート番号が含まれている。この例では、例えば、ポート番号１００００を第１の優先度（優先度高）処理に割り当て、ポート番号１０００１を第２の優先度（優先度低）処理に割り当てている。
【００３７】
ネットワークスイッチ２ａは、クライアント装置１の第１のネットワークカード（ＩＰアドレス：１９２．１６８．０．１）から送信されたメッセージ（パケット）の送信先のＩＰアドレスとポート番号（ヘッダ情報）を読み取って送信先に転送する。送信先が通信サーバの第１のネットワークインタフェースカードのＩＰアドレスであると、このメッセージを通信サーバ３の第１のネットワークインタフェースカードに転送する。
【００３８】
同様に、ネットワークスイッチ２ｂは、クライアント装置１の第２のネットワークカード（ＩＰアドレス：１９２．１６８．１．１）から送信されたメッセージ（パケット）の送信先のＩＰアドレスとポート番号（ヘッダ情報）を読み取ってそれが通信サーバ３の第２のネットワークインタフェースカードのＩＰアドレスであると、このメッセージを通信サーバの第２のネットワークインタフェースカードに転送する。
【００３９】
通信クライアント装置１は、通信サーバ装置３にメッセージを送る場合に、第１のネットワーク（ネットワークスイッチ２ａ）を使用するか、第２のネットワーク（ネットワークスイッチ２ｂ）を使用するかを選択可能である。したがって、通信クライアント装置１は冗長接続を利用して優先度によってメッセージの送信に使用する通信路を区別することができる。
【００４０】
例えば、予め各通信クライアント装置と通信サーバ装置間で取り決めをすることによって、第１のネットワークを第１の優先度（優先度高）処理のメッセージの伝送に使用することが出来る。第２のネットワークを第２の優先度（優先度高）処理のメッセージの伝送に使用することが出来る。通信サーバ３は第１のネットワークインタフェースカードから受信されるメッセージを優先度が高く、第２のネットワークインタフェースカードから受信されるメッセージを相対的に優先度が低いものとして扱うことができる。ネットワークをメッセージの優先順位で使い分けることによって第１の優先度（優先度高）のメッセージの転送速度（伝送速度）を向上させることが期待できる。
【００４１】
更に、ヘッダ情報の第１のポート番号（例えば、１００００）を第１の優先度（優先度高）、第２のポート番号（例えば、１０００１）を第２の優先度（優先度高）と予め各通信クライアントと通信サーバ装置間で取り決めて使用することでもサーバ装置において優先度処理を行うことが可能となる。この場合には、後述するように、いずれのネットワークを使用しても優先度の高いメッセージを通信サーバ装置３に伝送することが可能となるので、いずれかのネットワークがダウンした場合であっても他のネットワークを使用して優先度付きのメッセージの伝送を継続することができる。
【００４２】
（通信クライアント装置）
次に、上述した通信システムの動作について説明する。
図１（Ｂ）は、通信クライアント装置の動作を機能的に説明する図である。通信クライアント装置１は、プロセスデバイスの制御アプリケーションプログラムなど、優先度の異なる複数のプログラム（図示せず）と外部装置（サーバ装置）とのメッセージ交換を仲介する通信処理部１１を備え、更に、第１のネットワークインタフェースカード（ＮＩＣ１）を制御する送受信プログラム１と、第２のネットワークインタフェースカード（ＮＩＣ２）を制御する送受信プログラム２とを実行している。
【００４３】
なお、通信クライアント装置１は通信に必要な各種のパラメータを予め入手してメモリに記憶している。また、通信処理部１１は使用（通信）可能なネットワークインタフェースカードＮＩＣ１，ＮＩＣ２を予めＮＩＣステータスフラグによって把握している。
【００４４】
通信処理部１１は、アプリケーションプログラムから出力される（優先度１の）メッセージと、送信先とメッセージの優先度（優先度１）を、ＮＩＣステータスフラグを参照して送受信プログラム１に送り、送信を要求する。送受信プログラム１はメッセージを構成するパケット群のヘッダに送信先のＩＰアドレス（１９２．１６８．０．２）と第１順位に定義付けられたポート番号（１００００）を書き込む。また、必要により送信元ＩＰアドレス（１９２．１６８．０．１）等も書き込む。このようにして形成された第１の優先度付き送信メッセージをＮＩＣ１からネットワークスイッチ２ａを介して通信サーバ装置３に送信する。
【００４５】
また、通信処理部１１は他のアプリケーションプログラムから出力される（優先度２の）メッセージと、送信先アドレス、とメッセージの優先度（優先度２）をＮＩＣステータスフラグを参照して送受信プログラム２に送り、送信を要求する。送受信プログラム２はメッセージを構成するパケット群のヘッダに送信先のＩＰアドレス（１９２．１６８．１．２）と第２順位に定義づけられたポート番号（１０００１）を書き込む。また、必要により送信元ＩＰアドレス（１９２．１６８．０．１）等も書き込む。このようにして形成された第１の優先度付き送信メッセージをＮＩＣ２からネットワークスイッチ２ａを介して通信サーバ装置３に送信する。
【００４６】
（通信サーバ装置）
図１（Ｃ）は、通信サーバ装置の動作を機能的に説明する図である。既述したように、通信サーバ装置３は、第１及び第２のネットワークインタフェースカードＮＩＣ１，ＮＩＣ２と、これ等カードを制御する送受信プログラム１，２を備える。また、通信処理部３１を備えている。
【００４７】
第１のネットワークインタフェースカード（ＮＩＣ１）は、通信路２ａから入来するメッセージのパケットヘッダからポート番号を抽出し、ポート番号が１００００（第１の優先度）であるとき、このメッセージを送受信プログラム１に受け渡す。また、ポート番号が１０００１（第２の優先度）であるとき、このメッセージを送受信プログラム２に受け渡す。
【００４８】
同様に、第２のネットワークインタフェースカード（ＮＩＣ２）は、通信路２ｂから入来するメッセージのパケットヘッダからポート番号を抽出し、ポート番号が１００００（第１の優先度）であるとき、このメッセージを送受信プログラム１に受け渡す。また、ポート番号が１０００１（第２の優先度）であるとき、このメッセージを送受信プログラム２に受け渡す。
【００４９】
送受信プログラム１及び２は、メッセージをアプリケーションが処理可能なように復号化して当該メッセージの優先度と共に通信処理部３１のメッセージキュー３２に送る。送受信プログラム１からは優先度の高いメッセージが送られ、送受信プログラム２からは優先度の低いメッセージが送られる。メッセージキューは外部から入来する各メッセージを一旦保持し、優先度の高いメッセージから処理を行えるようにするもの（待ち行列）である。
【００５０】
通信処理部３１は、一つのメッセージを処理すると、次に実行するメッセージをメッセージキュー３２から読み込む。このとき、メッセージキュー３２に残っているメッセージのうちより優先度の高いメッセージを選択し、これよりも優先度の低いメッセージに先行して処理を行う。このような処理を繰り返してメッセージの処理を行う。
【００５１】
なお、サーバ装置が複数のＣＰＵを備えて、複数のスレッドを同時に処理できるものである場合には、通信処理部３１は各メッセージを当該メッセージの優先度に対応して各スレッドに分配する（ＣＰＵの資源を分配する）ようにしてもよい。
【００５２】
また、通信サーバ装置３においても通信クライアント装置と同様の手順によってメッセージを通信クライアント装置１に送信することができる。通信に必要な各種のパラメータは予め入手してメモリに記憶している。また、通信処理部３１は使用（通信）可能なネットワークインタフェースカードＮＩＣ１，ＮＩＣ２を予めＮＩＣステータスフラグによって把握している。
【００５３】
なお、上述した例では、通信処理部３１は一つであるか、２つの送受信プログラム１及び２にそれぞれ通信処理部を設ける（２つ設ける）構成としても良い。それにより、優先度が低い通信ポートの受信処理に負荷がかっているときでも、優先度が高い通信ポートの受信処理はメッセージを受ければ直ちに処理を開始することができる。
【００５４】
図２は、上述した通信システムに異常が発生した場合の優先度処理を説明する図である。同図において、図１と対応する部分には同一符号を付し、かかる部分の説明は省略する。
【００５５】
例えば、図２（Ａ）に示すように、第１のネットワークスイッチ２ａの配線で断線が生じた場合、通信クライアント装置１ではこれを検出する。そして、図２（Ｂ）に示すように、使用すべきネットワークインタフェースカードを第２のカード「２」に切り換える。送受信プログラム１及び２はメッセージをネットワークインタフェースカードＮＩＣ２を選択する。送受信プログラム１からネットワークインタフェースカードＮＩＣ２に送られるメッセージには第１の優先度を示すポート番号１００００が記録されている。受信プログラム１からネットワークインタフェースカードＮＩＣ２に送られるメッセージには第１の優先度を示すポート番号１００００が記録されている。また、受信プログラム２からネットワークインタフェースカードＮＩＣ２に送られるメッセージには第２の優先度を示すポート番号１０００１が記録されている。
【００５６】
通信サーバ装置３側では、ネットワークインタフェースカードＮＩＣ２で通信クライアント装置１からのメッセージを受信する。ネットワークインタフェースカードＮＩＣ２は受信メッセージのパケットヘッダからポート番号を読み出し、第１のり優先処理を定義するポート番号１００００のメッセージを送受信プログラム１に送る。また、第２の優先処理を定義するポート番号１０００１のメッセージを送受信プログラム２に送る。送受信プログラム１及び２から復号された第１の優先度のメッセージと第２の優先度のメッセージがメッセージキューに送られる。以後は、図１の例と同様にメッセージの処理が行われる。
【００５７】
このように、実施例によれば、冗長通信システムに異常が生じた場合にもメッセージの優先度制御を継続することができる。
【００５８】
（他の実施例）
上述した例では、第１及び第２の優先度のメッセージを使用しているが、これに限定されるものではなく、３つ以上の優先度のメッセージを設けることもできる。複数のポート番号に複数の優先度を割り当てることによってより多くの優先度のメッセージを簡単に形成することができる。このような複数の優先度のメッセージを、各優先度を考慮してメッセージ処理を行うことができるので好都合である。その際、ネットワーク構成上のどの通信経路を使用するかも選択可能である。
【００５９】
以上説明したように、本発明の実施例では、分散型制御システム（ＤＣＳ）などにおけるメッセージ通信において、優先度毎に複数の通信ポート（あるいはポート番号）を用意し、送信側が送信するメッセージの優先度に応じて送信する通信ポート（あるいはポート番号）を変更することにより、メッセージを受信し処理する側のサーバ側で優先度の高いメッセージを優先的に処理する仕組みを提供することができる。
【００６０】
また、冗長通信経路は物理的に独立した通信帯域を持つため、ＴＣＰ／ＵＤＰ(Transmission Control Program / User Datagram Protocol)の通信ポート毎の帯域制御機能をもたないネットワークスイッチのみでも優先度に対応して通信経路を選択することによりネットワーク負荷を考慮した優先度制御が実現できる。
【００６１】
また、実施例における通信処理部は、送信側はメッセージ送信時にメッセージの優先度毎に優先度が低い通信ポートと優先度が高い通信ポートに振り分けて送信する。このとき、ネットワーク構成が非冗長構成の場合はどちらの通信ポートも同じネットワークインタフェースカードＮＩＣが使用されるが、冗長構成の場合は冗長経路がどちらも有効なときには異なるネットワークインタフェースカードＮＩＣが使用され得る。経路が一方しか有効でないときには有効な経路のみを使用して動作する。
【００６２】
また、受信側（サーバ側）は、優先度毎に設けられた通信ポート毎に受信処理を行うことができる。受信処理を別々に行う場合には、お互いの通信処理が独立して動作可能となって好ましい。優先度が低い通信ポート用の受信処理部に負荷がかかっているときでも、優先度が高い通信ポートの受信処理部は、メッセージを受信すればただちに処理を開始することができる。
また、本実施例では優先度毎に異なる通信ポート（あるいは通信ポート番号）を使用することができるため、同一メッセージでも緊急度により優先度を切り換えて送受信することができる。このことにより、メッセージを送信するクライアント側が状況により柔軟に優先度制御を実施することが可能である。
【符号の説明】
【００６３】
１  通信クライアント装置、２，２ａ，２ｂ  通信ネットワーク、３  通信サーバ装置
【図１】
0005669647.tif 000002
【図２】
0005669647.tif 000003