(57)【特許請求の範囲】
【請求項１】
複数台のノードが接続されると共に該複数台のうちの１台のノードを管理ノード、他のノードを非管理ノードとするネットワークでノード間のデータ送受信を行うネットワーク通信システムにおいて、前記管理ノードは所定周期で巡回フレームを前記ネットワークに送信し、各非管理ノードは前記巡回フレームを受信して送信許可された送信データ、送信許可されていない場合には送信要求有、もしくは送信要求が無い場合は生存メッセージのいずれかを前記巡回フレームにより前記管理ノードに通知し、該管理ノードは、各非管理ノードからの前記巡回フレーム中の送信データ、送信要求有、生存メッセージに基づいて送信許可を与える非管理ノードの順番を管理し、該順番に基づいて前記巡回フレームにより送信許可が通知された非管理ノードが送信データをネットワークに送信することを特徴とするネットワーク通信システム。
【請求項２】
上記各非管理ノードは、送信要求発生時刻を付加して送信要求を送るものとし、管理ノードは、送信要求発生時刻の順に送信許可を与えるように管理するものとした請求項１のネットワーク通信システム。
【請求項３】
請求項１において、管理ノードは、非管理ノードから前記ネットワークに送信された送信データの終了を検知したとき次の順番の非管理ノードに送信許可を通知することを特徴とするネットワーク通信システム。
【請求項４】
請求項１〜請求項３のいずれかにおいて、管理ノードは、非管理ノードから送信要求が送信されず且つ送信データ及び生存メッセージも送信されなかった場合に当該非管理ノードに障害が発生したと判断することを特徴とするネットワーク通信システム。
【請求項５】
請求項４において、前記管理ノードは、前記障害発生の有無を生存管理テーブルで管理し、送信許可の順番をサービス順管理テーブルで管理し、巡回フレーム送信毎に取得する各非管理ノードからの送信要求の有無または送信データまたは生存メッセージにより前記生存管理テーブルと前記サービス順管理テーブルを更新することを特徴とするネットワーク通信システム。
【請求項６】
請求項１〜請求項５のいずれかにおいて、非管理ノードは、送信データを必要に応じて分割すると共に最終が分かる通番を付けてネットワークに送信し、管理ノードは最終の通番から当該送信データの終了を検知することを特徴とするネットワーク通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＨＤＬＣ（High-level Data Link control Procedure：ハイレベルデータリンク制御手順）伝送制御手順によって構築されたネットワークの通信システムに係り、特に、ＨＤＬＣ手順で規定するＳＤＬＣ（Synchronous Data Link control Procedure：同期データリンク制御）伝送制御方式によって構築された論理リング型ネットワークをＧＡ（Go Ahead）シーケンスを使用して通信する際の伝送効率を向上させるのに好適なネットワーク通信システムに関する。
【０００２】
【従来の技術】
複数のノードが接続されて構成され、そのうちの１つのノードを管理ノード（以後、このノードを管理ノードといい、他のノードを非管理ノードという。）とする通信ネットワークでは、管理ノードは、定周期に巡回フレームをネットに送信する。管理ノードは、データ送信をしている非管理ノードが存在しない状態では、送信許可を与える非管理ノードを決定する為に、送信要求の有無を示す情報を管理ノード宛に送信するよう全非管理ノードに指示を出す。
【０００３】
送信要求の発生した非管理ノードは、管理ノードに対し、送信要求「有」を送信する。この送信要求「有」を受信した管理ノードは、この非管理ノードに対し送信許可を通知し、これにより、送信許可を受けた非管理ノードは、送信データをネットワークに送出する。この送信データの最終フレームを受信した管理ノードは、次に送信許可を与える非管理ノードを決定する為に、送信要求の有無を示す情報を送信するよう全非管理ノードに指示を出す。この指示を受けた非管理ノードは、送信要求の有無を示す情報を、管理ノードに対して送信する。
【０００４】
全非管理ノードから送信要求の有無情報を受信した管理ノードは、次に送信許可を与える非管理ノードを決定し、その非管理ノードに対し送信許可を通知し、送信許可を受けた非管理ノードは、この送信許可に基づき送信データをネットワークに送出する。以後同様に、このネットワーク通信システムでは、上述したようなデータ送信フェーズと送信ノード決定フェーズを交互に繰り返す。
【０００５】
ここで、送信ノード決定フェーズとは、管理ノードが、いずれかのノードから送信された送信データの最終フレームを受信してから全非管理ノードの送信要求の有無を示す情報を受信するまでの状態をいい、データ送信フェーズとは、管理ノードが、送信要求「有」の非管理ノードに送信許可を送信してから当該非管理ノードの送出する送信データの最終フレームを受信するまでの状態をいう。
【０００６】
尚、従来公知例には特開平１１−６８８０８号、特開平６−１０４９１６号、特開平６−７７９７４号がある。特開平１１−６８８０８号は、１つのマスタ局と複数のスレーブ局とを有し、マスタ局が送信要求を回収するために送信要求回収フレームを回線に流し、各スレーブ局は、送信要求があれば回収フレーム中の自己アドレス位置に送信すべきデータの優先度を付加して、マスタ局へ送る。マスタ局は、優先度の順位に従ってスレーブ局に送信権を与える。特開平６−１０４９１６号は、複数のリソース（例えばプリンタとメモリとか表示装置とか）に、複数の上位装置（例えば情報処理装置とか交換機とか）が使用要求を発する際の使用要求の競合の調停を行うものである。特開平６−７７９７４号は、ネットワーク上に接続された通信装置相互の送信と受信とにおける、再送制御に関するものである。
【０００７】
【発明が解決しようとする課題】
従来のネットワーク通信システムでは、上述したように、データ送信フェーズと次のデータ送信フェーズの間に、必ず送信ノード決定フェーズが入る構成となっている。送信ノード決定フェーズでは、ネットワーク上にデータが流れないため、データ送信フェーズ間に必ず送信ノード決定フェーズが入る従来のネットワーク通信システムは、データの伝送効率が悪いという問題がある。
更に、従来公知例である特開平１１−６８８０８号は、データの送信の優先度に従ってマスタ局がスレーブ局に送信権を与えるものであり、各スレーブ局が対等な関係にあってそれ故にデータに優先度がない如きスレーブ局相互のシステムには適用できない。更に、各スレーブ局はデータの優先度を管理する機能が不可欠である。特開平６−１０４９１６号及び特開平６−７７９７４号は、いずれもマスタ局とスレーブ局という概念はない。
【０００８】
本発明の目的は、上記のような従来技術の問題を克服し、伝送効率の向上を図ることができるネットワーク通信システムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、複数台のノードが接続されると共に該複数台のうちの１台のノードを管理ノード、他のノードを非管理ノードとするネットワークでノード間のデータ送受信を行うネットワーク通信システムにおいて、前記管理ノードは所定周期で巡回フレームを前記ネットワークに送信し、各非管理ノードは前記巡回フレームを受信して送信許可された送信データ、送信許可されていない場合には送信要求有、もしくは送信要求が無い場合は生存メッセージのいずれかを前記巡回フレームにより前記管理ノードに通知し、該管理ノードは、各非管理ノードからの前記巡回フレーム中の送信データ、送信要求有、生存メッセージに基づいて送信許可を与える非管理ノードの順番を管理し、該順番に基づいて前記巡回フレームにより送信許可が通知された非管理ノードが送信データをネットワークに送信することを特徴とするネットワーク通信システムを開示する。
【００１０】
更に本発明は、各非管理ノードは、送信要求発生時刻を付加して送信要求を送るものとし、管理ノードは、送信要求発生時刻の順に送信許可を与えるように管理するものとしたネットワーク通信システムを開示する。
【００１１】
更に本発明は、好適には、管理ノードは、非管理ノードから前記ネットワークに送信された送信データの終了を検知したとき次の順番の非管理ノードに送信許可を通知し、また、非管理ノードから送信要求が送信されず且つ送信データ及び生存メッセージも送信されなかった場合に当該非管理ノードに障害が発生したと判断し、また、前記障害発生の有無を生存管理テーブルで管理し、送信許可の順番をサービス順管理テーブルで管理すると共に各テーブルを常に最新状態に更新する。更に、非管理ノードは、送信データを必要に応じて分割すると共に最終が分かる通番を付けてネットワークに送信し、管理ノードは最終の通番から当該送信データの終了を検知する。
【００１２】
管理ノードは、巡回フレーム送信毎に複数の非管理ノードから送信要求が出された場合、送信許可を与える順番を管理し、その順番に従って、送信許可を出力する。このように、一回の送信許可に基づく非管理ノードからの送信データの終了を待って、改めて送信許可を与える非管理ノードを決定するのではなく、送信許可を与える順番を管理してその順に、送信許可を当該非管理ノードに通知する構成としたので、送信ノード決定フェーズが不要となり、その分だけ伝送効率が向上する。
【００１３】
【発明の実施の形態】
以下、本発明の一実施形態を図面を参照して説明する。
図１は、本発明の一実施形態に係るネットワーク通信システムの構成図であり、このネットワークには、多数のノード（図１の例では４つのノード）が接続されている。そのうちの１台のノード１を、本実施形態では管理ノードとし、他のノード１１，１２，…，１ｎを非管理ノードとし、互いに情報をやり取りする。
【００１４】
管理ノード１は、環状ネットワーク１００に定周期に巡回フレームを送信して全非管理ノードに対して送信要求の有無を問い合わせ、巡回フレームを受信した非管理ノード１１，１２，…，１ｎは、送信要求がある場合には管理ノード１に対して送信要求「有」を通知する。送信要求が無い場合でも自身に障害が無いことを示す生存メッセージを管理ノード１に通知する。
【００１５】
管理ノード１では、送信要求「有」または送信データまたは生存メッセージを受信した非管理ノードを「生存している」非管理ノードとして生存管理テーブル（図５）で管理すると共に、複数の非管理ノード１１，１２，…，１ｎから複数の送信要求「有」を受信した場合、これらをサービス順管理テーブル（図４）で管理し、いずれかの非管理ノードに対して送信許可を出力して以後に当該非管理ノードから送信される送信データの終了を受信したときサービス順管理テーブルを参照して次ぎのサービス順に当たる非管理ノードに対して送信許可を通知する。
【００１６】
管理ノード１は、送信要求受信キュー２と、前記のサービス順管理テーブル３と、前記の生存管理テーブル４とを備え、接続線６によりネットワーク１００に接続されている。非管理ノード１１，１２，…，１ｎは、夫々送信キュー２１，２２，…，２ｎを備え、接続線７１，７２，…，７ｎによりネットワーク１００に接続されている。尚、非管理ノードは、ネットワーク１００に１台のみ接続された構成でも良い。
【００１７】
図２は、非管理ノードに設けている送信キュー２１の構成（他の非管理ノードの送信キューも同じ構成）と送信データフォーマットを示す図であり、送信キュー２１は、送信データを管理する為に設けられている。送信キュー２１には、送信すべき送信データがチェーン状に連結されており、各送信データは、送信情報２０１とデータ２０２とで構成されている。
【００１８】
送信情報２０１には、次キューアドレス２０４と、自ノード番２０５と、送信先ノード番２０６と、要求発生時刻２０７と、キュー状態２０８と、データ種別２０９と、データ長２１０と、データアドレス２１１とを格納する領域が設けられている。
【００１９】
図３は、管理ノード１に設けられた送信要求受信キュー２の構造とキューフォーマットを示す図であり、送信要求受信キュー２は、各非管理ノードからの送信要求を管理する為に設けられている。即ち、送信要求受信キュー２には、非管理ノード毎の送信要求３０２，３０７が設けられ、また、同一の非管理ノードの送信要求３０２，３０３，３０４，…は、チェーン状に連結されている。各送信要求３０２，３０３，３０４，３０７には、夫々、図２に示す送信情報２０１と同様に、次キューアドレス３０８と、自ノード番３０９と、送信先ノード番３１０と、要求発生時刻３１１と、キュー状態３１２と、データ種別３１３と、データ長３１４とを格納する領域が設けられている。
【００２０】
図４は、管理ノード１に設けられたサービス順管理テーブル３（図１）の構成図である。サービス順管理テーブルは、非管理ノード１１，１２，…，１ｎに対するサービス順を管理するために設けられており、サービス順は、同じく管理ノード１に設けられている送信要求受信キュー２を基に編集される。この編集は、次の様にして行う。先ず、管理ノード１は、非管理ノード１１等からの送信要求３０２等（図３）を受信した時に、その送信要求３０２を含め非管理ノード１１毎に最も古い要求発生時刻２０７を持つ送信要求を検索し、その要求発生時刻２０７を全非管理ノード１１，１２，…，１ｎで比較し、サービス順を決定し、それをサービス順管理テーブル３に設定する。但し、サービス順の決定の対象は、図５に示す生存管理テーブルで「生存」状態となっている非管理ノードだけとする。
【００２１】
図５は、非管理ノードの生存状態を管理するための生存管理テーブル４（図１）の構成図である。生存状態は、非管理ノードから受信される送信要求や送信データ、生存メッセージにより判断する。その判断は、次の様にして行う。非管理ノード１１，１２，…，１ｎからの送信要求３０２等（図３）と、図２の送信データまたは生存メッセージが一定時間または一定周期以上、管理ノード１に届いている状態を「生存」状態とし、非管理ノード１１，１２，…，１ｎからの送信要求３０２等や、送信データ２０１または生存メッセージが一定時間または一定周期以上届いていない状態を「死」状態とする。そして、毎周期の非管理ノードからのデータを受信するタイミングで、各生存／死状態を判断し、結果を生存管理テーブル４に書き込む。
【００２２】
図６は、管理ノード１と非管理ノード１１との送信と応答の手順を説明する信号シーケンス図である。非管理ノードは、管理ノードに対する送信データが発生すると、管理ノードに対し送信要求１を送信する（手順６０１）。この送信要求１を受信した管理ノードは、非管理ノードに対して、送信要求１に対する要求応答１を返送する（手順６０２）と共に、送信要求１を含め編集したサービス順管理テーブルの先頭サービス非管理ノードに対して、送信許可１を送信する（手順６０２）。要求応答１と送信許可１の宛先となる非管理ノードが同じであっても異なっていても良く、管理ノードは、要求応答１と送信許可１を同一の送信タイミングで送出する。
【００２３】
要求応答１を受信した非管理ノードは、送信キューの当該送信データのキュー状態（図２の２０８）を送信許可待ち状態にする。また、送信許可１を受信した非管理ノードは、送信キューの当該送信データのキュー状態を確認し、送信許可待ち状態である時、送信キューの送信データを一括または分割して、管理ノードに対し送信する（手順６０３）。その時、送信データには分割通番を付加し、最終通番であれば最終であることを記す（手順６０３−Ｘ）。
【００２４】
非管理ノードは、送信状態にかかわらず、管理ノードに対する送信データが発生したとき、他の送信フレームと同じタイミングで、送信要求２を管理ノード宛に送信する（手順６０３−Ｎ）。管理ノードも、同様に、送信状態にかかわらず、非管理ノードから送信要求２を受信した時は、他の送信フレームと同じタイミングで、要求応答２を返信する（手順６１６）。
【００２５】
非管理ノードは、一括または分割した送信データ１を送信し続け、最終通番の送信データを送信する（手順６０３―Ｘ）と、この最終通番である送信データを受信した管理ノードは、非管理ノードに対して、最終通番である送信データに対するデータ応答１を送信する（手順６０５）。また、当該送信データに対する送信要求を削除し、編集したサービス順管理テーブルの先頭サービス非管理ノードに対して、送信許可２を送信する（手順６０５）。データ応答１と送信許可２の宛先となる非管理ノードは、同一であっても異なっていても良く、管理ノードは、データ応答１と送信許可２を同一の送信タイミングで送出する。
【００２６】
非管理ノードは、一括または分割した送信データを送信し続け、最終通番である送信データを送信する（手順６０６―Ｘ）と、最終通番である送信データを受信した管理ノードは、非管理ノードに対して、最終通番である送信データに対するデータ応答２を送信する（手順６０７）。データ応答２を受信した非管理ノードは、送信する送信要求または送信データが無い時には、管理ノードに自ノードが生存状態であることを通知する為に、生存メッセージを毎周期送信する（手順６０８）。
【００２７】
図７は、非管理ノードにおける送受信手順を示すフローチャートである。非管理ノードは、所定周期毎に巡回フレームを通して、ネットワーク１００（図１）からの受信およびネットワーク１００への送信を行なうが、まず、ネットワークから受信を行なう（ステップ７０１）。受信したフレームの中に送信許可（例えば、図６の手順６０２で受信した送信許可１）が存在するか否かを検索し（ステップ７０２）、送信許可が有るときには、送信キューの中の送信許可に対応する送信データのキュー状態を送信許可状態に遷移し（ステップ７０３）、一括または分割したデータに通番を格納し（ステップ７０４）、分割したデータを送信バッファに格納する（ステップ７０５）。
【００２８】
次に、受信したフレームの中に要求応答（例えば、図６の手順６０２で受信した要求応答１）が存在するか否かを検索し（７０６）、要求応答が有るときには、送信キューの中のこの要求応答に対応する送信データのキュー状態を応答受信済状態に遷移する（ステップ７０７）。そして、受信したフレームの中にデータ応答（例えば、図６の手順６０５で受信したデータ応答１）が存在するか否かを検索し（ステップ７０８）、データ応答が有るときには、送信キューの中からこのデータ応答に対応する送信データを削除する（ステップ７０９）。
【００２９】
次に、送信キューの中に、この要求応答が未受信状態の送信データが存在するか否かを検索し（ステップ７１０）、送信データが有るときには、送信要求（例えば、図６の手順６０１の送信要求１）を作成し、送信バッファに格納する（ステップ７１１）。そして、送信キューの中にキュー状態が許可状態である送信データが存在するか否かを検索し（ステップ７１２）、送信データが存在するときには、一括または分割したデータを送信バッファに格納する（ステップ７１３）。
【００３０】
次に、送信バッファの中に送信フレームが存在するか否かを検索し（ステップ７１４）、存在しないときには、生存メッセージを作成し、送信バッファに格納する（ステップ７１５）。最後に、送信バッファの内容をネットワーク１００に送信する(ステップ７１６）。
【００３１】
図８は、管理ノードにおける送受信手順を示すフローチャートである。管理ノードは、所定周期毎の巡回フレームを通して、ネットワーク１００からの受信およびネットワーク１００への送信を行なう。
【００３２】
まず、管理ノードは、ネットワーク１００から受信を行なう（ステップ８０１）。受信したフレームの中に最終通番の送信データが存在するか否かを検索し（ステップ８０２）、存在するときには、送信要求受信キューから当該送信データに対応する送信要求を削除し（ステップ８０３）、サービス順管理テーブルを再構成し（ステップ８０４)、最終通番の送信データに対応するデータ応答を作成し（ステップ８０５）、このデータ応答を送信バッファに格納する（ステップ８０６）。
【００３３】
また引き続き、サービス順管理テーブル（図４）の中に送信許可を与えていない送信要求が存在するか否かを検索し（ステップ８０７）、存在するときには、送信要求を送信した非管理ノードに対して送信許可を作成し（ステップ８０８）、送信バッファに格納する（ステップ８０９）。
【００３４】
次に、受信したフレームの中に送信要求が存在するか否かを検索し（ステップ８１０）、存在するときには、送信要求を送信要求受信キューに連結し（ステップ８１１）、サービス順管理テーブル（図４）の再構成を行ない（ステップ８１２）、送信要求を送信した非管理ノードに対する要求応答を作成し（ステップ８１３）、送信バッファに格納する（ステップ８１４）。
【００３５】
また引き続き、サービス順管理テーブルの中に送信許可を与えていない送信要求が存在し（ステップ８１５）かつ送信バッファに送信許可が既に格納されているか否かを検索し（ステップ８１６）、該当するときには、送信要求を送信した非管理ノードに対して送信許可を作成し（ステップ８１７）、送信バッファに格納する（ステップ８１８）。
【００３６】
次に、非管理ノード毎に、受信したフレームの中に自ノードの送信したフレームが存在するか否かを検索し（ステップ８２０）、存在しないときには、生存管理テーブル（図５）の該当非管理ノードの欄を「死」状態とし（ステップ８２１）、サービス順管理テーブル（図４）の再構成を行う（ステップ８２３）。全非管理ノードの検索が終了したとき（ステップ８１９）、送信バッファにある送信フレームをネットワーク１００に送信する（ステップ８２４）。
【００３７】
この様に、本実施形態によれば、非管理ノードからの送信データの送信が終了する毎に、次に送信許可を与える非管理ノードを決定する必要がなくなり、サービス順管理テーブルに従って順に送信許可を通知すればよくなるため、その分だけ伝送効率が向上する。また、サービス順の管理の他に、非管理ノードの生死の状態も管理するため、どの非管理ノードに障害が発生したのか容易に判断することができ、障害発生ノードに対しての送信許可を誤って通知することも回避可能となる。更に、巡回フレーム送信毎に取得する非管理ノードからの送信要求の有無や生存メッセージに基づいてサービス順管理テーブルや生存管理テーブルを編集し直し更新するため、ネットワークにおけるデータ送受信が滞ることもなくなる。
【００３８】
【発明の効果】
本発明によれば、ネットワーク上のデータ送信状況にかかわらず、管理ノードが、データを送信する非管理ノードの順番を決定・管理するので、送信データの最終通番の送信完了後と、次送信データの先頭通番の送信開始との間で従来行っていた送信ノード決定フェーズを省くことが可能となり、伝送効率を向上することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る多数ノード接続のネットワーク構成図である。
【図２】送信キューの構造と送信データフォーマットを示す図である。
【図３】送信要求受信キューの構造とデータフォーマットを示す図である。
【図４】非管理ノードのサービス順を管理するテーブルの構成図である。
【図５】非管理ノードの生存状態を管理するテーブルの構成図である。
【図６】管理ノードと非管理ノードとの間の送信と応答の信号シーケンス図である。
【図７】非管理ノードの送受信手順を示すフローチャートである。
【図８】管理ノードの送受信手順を示すフローチャートである。
【符号の説明】
１  管理ノード
２  送受信要求キュー
３  サービス順管理テーブル
４  生存管理テーブル
１１，１２，１ｎ  非管理ノード
２１  送信キュー
【図１】
0003699343.tif 000002
【図２】
0003699343.tif 000003
【図３】
0003699343.tif 000004
【図４】
0003699343.tif 000005
【図５】
0003699343.tif 000006
【図６】
0003699343.tif 000007
【図７】
0003699343.tif 000008
【図８】
0003699343.tif 000009