(57)【要約】【課題】メッセージフレームの確実な送信を行うとともに受信ノード側における負荷の軽減を行うことは困難であった。【解決手段】リング型ネットワークシステムの各ノードは、自己が送信するメッセージフレームに新規であることを識別する識別情報を付加する識別部、前記メッセージフレームの受信に失敗したときに、当該メッセージフレームに受信失敗情報を付加する送達確認部、自己が送信して戻ってきたメッセージフレームに前記受信失敗情報が付加されているときに、前記メッセージフレームを再送する再送信部、新たに受信したメッセージフレームの送信元ノード情報と前記識別情報とを保持する情報保持部、受信した前記メッセージフレームの前記送信元ノード情報及び前記識別情報と前記情報保持部に保持されている前記送信元ノード情報及び前記識別情報とを比較し、両者が一致するときに当該受信したメッセージフレームを削除する削除部を備える。【選択図】図２
2011055093.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードをリング状に接続したリング型ネットワークシステムであって、
前記各ノードは、
自己が送信するメッセージフレームに新規メッセージフレームであることを識別するメッセージフレーム識別情報を付加する識別部と、
前記メッセージフレームの受信に失敗したときに、当該メッセージフレームに受信失敗情報を付加する送達確認部と、
自己が送信し順次中継されて戻ってきたメッセージフレームに前記受信失敗情報が付加されているときに、前記メッセージフレームを再度送信する再送信部と、
新たに受信したメッセージフレームに含まれる送信元ノード情報と前記メッセージフレーム識別情報とを保持する情報保持部と、
受信した前記メッセージフレームに含まれる前記送信元ノード情報及び前記メッセージフレーム識別情報と前記情報保持部に保持されている前記送信元ノード情報及び前記メッセージフレーム識別情報とを比較し、両者が一致するときに当該受信した重複した内容のメッセージフレームを削除する削除部と、
を備えたことを特徴とするリング型ネットワークシステム。
【請求項２】
前記メッセージフレームは、受信失敗したメッセージフレームの受信失敗情報を記録するメッセージフレーム送達確認フィードを備えていることを特徴とする請求項１に記載のリング型ネットワークシステム。
【請求項３】
前記ノードのそれぞれは、前記再送信部が同一のメッセージフレームを再度送信した回数を計数し、その回数が所定数に達した場合にはその同一のメッセージフレームの再度送信を停止する再送信停止部を備える請求項１又は２に記載のリング型ネットワークシステム。
【請求項４】
前記識別部は、新規メッセージフレームを送信する毎にインクリメントされるカウント部を備え、そのカウント部のカウント値を前記新規メッセージ識別情報としてメッセージフレームに付加するようになっている請求項１乃至３のいずれか１項に記載のリング型ネットワークシステム。
【請求項５】
前記情報保持部は、前記新規メッセージフレーム識別情報としての前記カウント値の最大値を、前記送信元ノード情報と対応づけて保持するようになっている請求項４記載のリング型ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードがリング状に構成されており、任意のノードを起点として送信されたメッセージフレームをリング内で転送するリング型ネットワークシステムに関する。
【背景技術】
【０００２】
複数のノードをリング状に構成し、リング内でメッセージフレームを単方向に転送することで、メッセージを一斉同報伝送（マルチキャスト／ブロードキャスト伝送）することが可能なリング型ネットワークが知られている。図８は、このようなリング型ネットワークの構成を示す図である。図８に示したリング型ネットワークシステムは、複数のノードＡ〜Ｅを有している。図８に示す例ではノードＡがメッセージの送信元ノードである。ノードＡから送信されたメッセージフレームはノードＢ、Ｃ、Ｄ、Ｅの順に伝搬され、ノードＡへと１巡することで各ノードへと送信される。リング型ネットワークでは、上記したようにノードＡから発信されたメッセージが各ノードを伝搬することにより一斉同報伝送を行うことも可能である。
【０００３】
一斉同報伝送においては、メッセージの送信先が複数存在する（図８に示した例では、ノードＢ〜Ｅとする）。そのため、受信ノードに対してメッセージの送達確認を行うと、複数の受信局（ノードＡが送信元ノードである場合、ノードＢ〜Ｅ）が受信応答を送信してしまう。そのため、一斉同報伝送時には、一般的には送達確認を行わずに受信応答による伝送路の負荷の軽減が図られている。
【０００４】
したがって、送信元ノードから送信されたメッセージフレームが受信局側で受信ができていない場合でも、送信元ノードであるノードＡからのメッセージフレームの再送（リトライ）などは行われずに、送信処理が終了されるのが一般的である。
それに対し、特許文献１に記載の技術では、このようなリング型のネットワークにおいて、送達確認を行う例が示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−６９０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、メッセージフレームの送達確認は行えるものの、メッセージフレームの受信に失敗した受信ノードが存在した場合の送信元ノードからの再送動作、および受信に成功した受信ノードにおける処理負荷の軽減などは考慮されておらず、メッセージフレームの確実な送信を行うとともに受信ノード側における負荷の軽減を両立することは困難であった。
【０００７】
そこで、本発明は、上記従来例の課題に着目してなされたものであり、メッセージフレームの確実な送信を行うことと受信ノード側における負荷の軽減とを両立させることができるリング型ネットワークシステムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明の請求項１に記載のリング型ネットワークシステムは、複数のノードをリング状に接続したリング型ネットワークシステムであって、前記各ノードは、自己が送信するメッセージフレームに新規メッセージフレームであることを識別するメッセージフレーム識別情報を付加する識別部と、前記メッセージフレームの受信に失敗したときに、当該メッセージフレームに受信失敗情報を付加する送達確認部と、自己が送信し順次中継されて戻ってきたメッセージフレームに前記受信失敗情報が付加されているときに、前記メッセージフレームを再度送信する再送信部と、新たに受信したメッセージフレームに含まれる送信元ノード情報と前記メッセージフレーム識別情報とを保持する情報保持部と、受信した前記メッセージフレームに含まれる前記送信元ノード情報及び前記メッセージフレーム識別情報と前記情報保持部に保持されている前記送信元ノード情報及び前記メッセージフレーム識別情報とを比較し、両者が一致するときに当該受信した重複した内容のメッセージフレームを削除する削除部と、を備えたことを特徴とする。
【０００９】
本発明の請求項２に記載のリング型ネットワークシステムは、前記メッセージフレームは、受信失敗したメッセージフレームの受信失敗情報を記録するメッセージフレーム送達確認フィードを備える。
本発明の請求項３に記載のリング型ネットワークシステムは、前記ノードのそれぞれは、前記再送信部が同一のメッセージフレームを再度送信した回数を計数し、その回数が所定数に達した場合にはその同一のメッセージフレームの再度送信を停止する再送信停止部を備える。
【００１０】
本発明の請求項４に記載のリング型ネットワークシステムでは、前記識別部は、新規メッセージフレームを送信する毎にインクリメントされるカウント部を備え、そのカウント部のカウント値を前記新規メッセージフレーム識別情報としてメッセージフレームに付加するようになっている。
本発明の請求項５に記載のリング型ネットワークシステムでは、前記情報保持部は、前記新規メッセージフレーム識別情報としての前記カウント値の最大値を、前記送信元ノード情報と対応づけて保持するようになっている。
【発明の効果】
【００１１】
本発明によれば、メッセージフレーム識別情報に基づいて受信ノード側でメッセージフレームの削除等の判定が可能となる。そのため、受信に成功した受信ノードにおける処理負荷の軽減などが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に関するリング型ネットワークシステムを示す構成図である。
【図２】本発明の実施の形態に関するリング型ネットワークシステムのノードを示す構成図である。
【図３】本発明の実施の形態に関するメッセージフレームの構成を示す図である。
【図４】送信ノードにおけるメッセージフレームの作成動作を示すフローチャートである。
【図５】受信ノードにおいて、実施される動作を示すフローチャートである。
【図６】リング型ネットワークによってメッセージフレームが１巡され、送信ノード自身が送信したメッセージフレームを受信した場合の送信ノードにおける動作を示すフローチャートである。
【図７】本発明の実施の形態における送受信動作を具体的に説明する図である。
【図８】従来のリング型ネットワークシステムを示す構成図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。図１は、本実施の形態におけるリング型ネットワークシステム１０の構成を示す図である。本実施の形態におけるリング型ネットワークシステム１０は、複数のノード１Ａ〜１Ｅを有している。これらのノードは互いにネットワーク回線で接続されリング状の構成とされている。つまり、ノード１Ａはノード１Ｂに接続され、ノード１Ｂはノード１Ｃに接続されている。以下、同様にノード１Ｃとノード１Ｄ、ノード１Ｄとノード１Ｅが接続され、ノード１Ｅがノード１Ａに接続されることでリング状のネットワークシステムを構成している。
【００１４】
なお、図１に示した例では、５個のノード１Ａ〜１Ｅを有する構成を示しているが、ノードの数は５個に限定されるものではなく、任意の数のノードを接続することが可能である。
このリング型ネットワークシステム１０に接続された各ノードは、それぞれが発信あるいは受信の動作が可能である。ここで、発信元ノードとなったノードから発信されたメッセージフレームはリング型ネットワークを構成する各ノードを伝搬して送信先である送信先ノード（受信ノード）に受信される。例えば、ノード１Ａを発信元ノードとしてメッセージフレームが送信された場合は、ノード１Ｂ→１Ｃ→１Ｄ→１Ｅ→１Ａの順に伝搬される。
【００１５】
ここで、受信ノードとして、例えばノード１Ｄが指定されていた場合は、伝搬過程においてノード１Ｄが、ノード１Ａからのメッセージフレームを受信し、他のノードはメッセージフレームの受信動作を行わずに次段のノードへとメッセージフレームを中継送信する。
また、一斉同報伝送が指定され、送信元ノードを除く全てのノード（例えばノード１Ｂ〜ノード１Ｅ）が受信ノードとして指定される場合には、各ノード１Ｂ〜１Ｅがノード１Ａより発信されたメッセージフレームを受信する。
【００１６】
このようにリング型ネットワークを構成し、各ノードが受信動作を行うことで、リング状ネットワークシステムにおける１対１のメッセージフレームの伝送、１対複数の一斉同報伝送（マルチキャスト／ブロードキャスト伝送）が実行される。
図２は、本実施形態における各ノードの構成を示す図である。ノード１Ａ〜１Ｅの構成は同一であるため、図２では、ノード１として代表的な１構成例のみが示されている。図２に示すように、ノード１はホストシステム部２１及び通信制御部２２を有している。ホストシステム部２１と通信制御部２２はノード内のシステムバス２３によって接続されている。
【００１７】
ホストシステム部２１は、各ノードが実行するアプリケーションプログラムなどに応じて各ノード内での処理を実行する部分である。通信制御部２２は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおいて物理層とデータリンク層に対応する層を制御する部分である。本実施形態では、この通信制御部２２が、送信するメッセージフレーム作成、およびメッセージフレームの受信動作の制御を行う。
【００１８】
ホストシステム部２１は、ＣＰＵ２１１及びメモリ２１２を有している。ＣＰＵ２１１は、例えばメモリ２１２に保持されたプログラムなどに基づいてノード内で実行される各種処理を実行する。メモリ２１２は、不図示のＲＯＭおよびＲＡＭを有している。メモリ２１２のＲＯＭには各ノードが実施するアプリケーションプログラムが保持され、ＲＡＭにはアプリケーションプログラムを実行する際の一時的なデータなどが保持される。
【００１９】
通信制御部２２は、ホストシステム部２１からの命令に基づいて、リング型ネットワークにおける各ノードの通信処理を制御・実行する。本実施の形態では、通信制御部２２は、少なくともメッセージフレーム送達確認部２２１、メッセージフレーム送信リトライ部（再送信部）２２２、重複メッセージフレーム削除部２２３及びメッセージフレーム識別部２２４を有している。
【００２０】
メッセージフレーム送達確認部２２１は、自ノードが送信元ノードとして機能する場合に動作する。より詳細には、メッセージフレーム送達確認部２２１は、メッセージフレームの送達確認に関する情報を生成する生成部２２１Ａおよび情報を書き換える書換部２２１Ｂを有している。
ここで、生成部２２１Ａは、自ノードが送信するメッセージフレームの一部として後述する送達確認フィールドの生成を行う。また、書換部２２１Ｂは、自ノードが受信した自ノード宛のメッセージフレームに関し、メッセージフレームの受信の成功あるいは失敗を判定し、受信したメッセージフレームを構成する送達確認フィールドをメッセージフレーム受信の成功、失敗に応じて書き換える。また、書換部２２１Ｂは、受信したメッセージフレームが自ノードが送信したメッセージフレームである場合には、再送必要性の有無に応じて、送達確認フィールドを書き換える。
【００２１】
メッセージフレーム送信リトライ部２２２は、自ノードが送信元ノードとして動作する場合に機能する。メッセージフレーム送信リトライ部２２２は、送信元のノードに関する情報、受信したメッセージフレームのメッセージフレーム識別情報を確認し、自ノードが発信したメッセージフレームであるか否かを判定する。
さらに、メッセージフレーム送信リトライ部２２２は、受信したメッセージフレームが自ノードが発信したメッセージフレームか否か、および自ノードから何回送信されたメッセージフレームなのかに基づいて、メッセージフレームの再送が必要であるかどうかを判定する。メッセージフレーム送信リトライ部２２２には、メッセージフレーム再送回数を設定する再送回数保持部２２２Ａが設けられており、受信したメッセージフレームが自ノードから何回再送されたかに応じて、再送必要性の有無などを判断する機能が備えられている。
【００２２】
重複メッセージフレーム削除部２２３は、自ノードが受信ノードとして機能する場合に動作する。重複メッセージフレーム削除部２２３は受信したメッセージフレームがすでに受信したメッセージフレームであるかどうかを判定し、受信メッセージフレームを破棄するか取り込むかを判定する部分である。重複メッセージフレーム削除部２２３は受信済みメッセージフレームの識別情報に対応する受信済みメッセージフレームの情報保持部２２３Ａを有し、この情報保持部２２３Ａに保持された情報に基づいて、受信したメッセージフレームに関して、受信済みであるか否かを判定する。
【００２３】
メッセージフレーム識別部２２４は、自ノードが送信元ノードとして機能する場合に動作する。メッセージフレーム識別部２２４は、新規メッセージフレームを送信する場合に、後述のメッセージフレーム識別情報を生成し、メッセージフレームを構成するフレームの一部として付加する部分である。このメッセージフレーム識別部２２４は、例えばカウンタ２２４Ａ、カウンタ２２４Ｂ等により構成される。
【００２４】
上記した通信制御部２２の動作は、ホストシステム部２１による指示および受信したメッセージフレームを構成するフレームの所定のフィールドの値に基づいて決定される。以下、本実施の形態において送受信されるメッセージフレームの構造について説明する。
図３は、本実施の形態において送受信されるメッセージフレームの構造を示す図である。本実施の形態におけるメッセージフレーム３０は、ヘッダフィールド３１、新規のメッセージフレーム識別情報（以下、メッセージＩＤと称す）フィールド３２、データフィールド３３、送達確認フィールド３４を有している。
【００２５】
ヘッダフィールド３１は、受信局側を初期化するプレアンブルフィールドや、フレームの種類などを示す情報を含むフィールドであり、送信されるメッセージフレームのヘッダとして必ず付加されるフィールドである。また、ヘッダフィールドには送信元ノードに関する情報、送信先ノードに関する情報が含まれる。
メッセージＩＤフィールド３２は、送信されるメッセージフレームに固有に付加されるフィールドであり、メッセージフレームごとに異なる値が割り振られているフィールドである。本実施の形態では、送信ノード内のカウンタによって、送信するメッセージフレームを、例えばシリアルにカウントアップしたカウント値によって構成される。このカウント値の具体例については後述する。
【００２６】
データフィールド３３は、メッセージフレーム本体のデータに対応するフィールドであり、このデータフィールド３３は送受信されるメッセージフレームの本体となる部分である。
送達確認フィールド３４は、自ノード宛のメッセージフレームである場合に、自ノードによって書き換え可能なフラグを有するフィールドであり、本実施の形態では、受信成功情報としての成功フラグおよび受信失敗情報としての失敗フラグにより構成されている。なお、送達確認フィールドとしては、いずれかのノードによって受信が失敗した事を示す失敗フラグのみであっても良い。
【００２７】
このように構成されたリング型ネットワークシステム１０の動作について、以下に説明する。先ず、ユニキャストについて説明する。送信元ノード、送信先ノード（受信ノード）が確定しているメッセージフレームを伝送する場合は、送信元ノードにおいてメッセージフレーム３０のヘッダフィールド３１に送信元ノード、送信先ノードに関する情報が書き込まれ、データフィールド３３にメッセージフレームデータが書き込まれて、リング型ネットワークの伝送路に出力される。リング型ネットワーク内では、伝送されるメッセージフレームが各ノードを伝播し、送信先とされた受信ノードによって受信動作が行われて、メッセージフレームの授受が行われる。
【００２８】
一方、リング型ネットワークシステム１０において、一斉同報伝送を利用してメッセージフレームを送信する場合、送信元ノードにおいて、メッセージフレーム３０のヘッダフィールド３１に送信元ノードの情報および送信先として一斉同報先を表す情報が書き込まれる。以下の動作説明では、ノード１Ａを送信元とし、ノード１Ａから発信されたメッセージフレームがノード１Ｂ〜１Ｅに対して一斉同報伝送される場合を例にして説明する。
【００２９】
図４は、送信元ノード（本例ではノード１Ａ）におけるメッセージフレーム作成動作を示すフローチャートであり、図５は受信ノードにおいて、実施される動作を示すフローチャートである。また、図６は、リング型ネットワークによってメッセージフレームが１巡され、送信ノード自身が送信したメッセージフレームを受信した場合の送信ノードにおける動作を示すフローチャートである。
【００３０】
送信元のノード１Ａにおいて、ホストシステム部２１によって、送信すべき新規メッセージフレームが生成された場合、ホストシステム部２１は新規メッセージフレームであることを示す信号と共に、新規メッセージフレームに対応するデータを通信制御部２２へと送信する（図４、ステップＳ４１参照）。
ホストシステム部２１より新規メッセージフレームを受信した通信制御部２２は、送信元の情報、送信先の情報および新規メッセージフレームに対応する情報を含むヘッダフィールド３１を作成する。このヘッダフィールド３１と新規メッセージフレームに対応するデータフィールド３３によってメッセージフレームの一部が構成される。
【００３１】
その後、通信制御部２２は、図４に示すステップＳ４２において、メッセージフレーム識別部２２４がメッセージＩＤを作成する。
ここで作成するメッセージＩＤは、送信元のノードによって作成されたメッセージフレームをシリアルに計数した番号などである。例えば送信元のノード１Ａによって最初に作成されたメッセージフレームであれば“１”、ノード１Ａによってｎ番目に作成された新規メッセージフレームであれば“ｎ”などとなる。このｎ番目のメッセージフレームであると言う情報は、上述したカウンタのカウント値を用いて作成される。なお、メッセージＩＤは、このような形に限定されず、メッセージフレーム毎に固有の識別情報であればよく、その作成方法は限定されない。
【００３２】
図４に示すステップＳ４３において、上記ステップＳ４２において作成したメッセージＩＤがヘッダフィールド３１およびデータフィールド３３を有するメッセージフレームにメッセージＩＤフィールド３２として付加される。
その後、通信制御部２２では、ヘッダフィールド３１、メッセージＩＤフィールド３２、データフィールド３３を有するメッセージフレームに、メッセージフレーム送達確認部２２１によってさらに送達確認フィールド３４を付加し、ネットワークに送信されるメッセージフレームが作成される（図４、ステップＳ４４参照）。ここで、付加される送達確認フィールド３４は、例えば、２ビットから構成されるフラグであり、各ビットが受信成功情報としての成功フラグおよび受信失敗情報としての失敗フラグに対応しているものとする。
【００３３】
ここで、新規メッセージフレームに対して、送信ノード１Ａにより作成される成功フラグ、失敗フラグはともに“Ｌ”レベル、つまり成功フラグ＝“０”、失敗フラグ＝“０”であるものとする。なお、成功フラグ、失敗フラグはともに“Ｈ”レベルの場合には、成功フラグ＝“１”、失敗フラグ＝“１”を設定する事になる。
このようにして送信元であるノード１Ａでは、ヘッダフィールド３１、メッセージＩＤフィールド３２（“ｎ”など）、データフィールド３３、送達確認フィールド３４（例えば成功フラグ＝“０”、失敗フラグ＝“０”）を有するメッセージフレームが生成され、ノード１Ｂに対するメッセージフレームとして送信される（図４、ステップＳ４５参照）。
【００３４】
次に、受信局側のノード１Ｂ〜１Ｅの動作について説明する。図５に示すように、受信ノード側では、重複メッセージフレーム削除部２２３において、受信したメッセージフレームに関する送信元ノード情報およびメッセージＩＤの取得が行われる（図５、ステップＳ５１参照）。その後、受信済みメッセージフレームの情報保持部５０から受信済みメッセージフレームの情報を読み出す。
【００３５】
情報保持部５０は、送信元ノードごとに各ノードが送信したメッセージフレームの最新のメッセージＩＤ（カウント値）を保持するＩＤ保持テーブルを有する。そのため、受信したメッセージフレームの送信元ノードおよびそのメッセージフレームのメッセージＩＤとＩＤ保持テーブルに保持されている送信元ノードおよびメッセージＩＤとを比較することにより、受信済みのメッセージフレームであるかどうかの確認が可能である（図５、ステップＳ５２参照）。
【００３６】
ここで、受信済みメッセージＩＤの情報保持部５０としては重複メッセージフレーム削除部２２３内（例えば、図２の情報保持部２２３Ａ）あるいは通信制御部２２内に記憶部として設けられていれば良い。この情報保持部５０は、リング型ネットワークに接続される各ノードと、夫々のノードが発信し、自ノードが受信済みのメッセージＩＤを関連付けて記憶しているものとする。
【００３７】
そして、受信ノードでは受信したメッセージＩＤと、受信済みメッセージＩＤとの比較が行われる（図５、ステップＳ５３参照）。この比較の結果、既に受信した受信済みメッセージＩＤと、新たに受信したメッセージＩＤが同一であった場合は、重複メッセージフレーム削除部２２３は受信動作を行わずに受信したメッセージフレームを破棄する（図５、ステップＳ５４参照）。正確にはノード全体としては、受信したメッセージフレームを次のノードへと中継する。
【００３８】
例えばノード１Ｂがノード１Ａからメッセージフレームを受信し、そのメッセージフレームがノード１Ｂによって既に受信済みのメッセージフレームであった場合、ノード１Ｂはメッセージフレームを受信する動作を行わずに、受信したメッセージフレームをノード１Ｃへと伝送させる。また、この時にノード１Ｂのメッセージフレーム送達確認部２２１は、受信メッセージフレームに含まれる送達確認フィールド３４の成功フラグを“１”に書き換える（図５、ステップＳ５４参照）。
【００３９】
一方、受信ノードで受信したメッセージＩＤと、受信済みメッセージＩＤとの比較の結果、受信済みのメッセージフレームではないとされた場合は、受信したメッセージフレームを新規メッセージフレームと認識する。受信したメッセージフレームが新規のメッセージフレームであると判断された場合、受信ノードは以下の動作を行う。
受信ノードは新規のメッセージフレームを保持する受信バッファに関する空き容量の確認を行う（図５、ステップＳ５５参照）。受信バッファに空き容量が十分にある場合、受信ノードはメッセージフレーム受信動作を実行し、受信したメッセージフレームの送信元ノードに対応させてメッセージＩＤを上記した情報保持部５０に書き込む（図５、ステップＳ５６参照）。
【００４０】
その後、メッセージフレーム送達確認部２２１は送達確認フィールド３４の成功フラグを“１”に書き換える（図５、ステップＳ５７参照）。メッセージフレーム送達確認部２２１により、送達確認フィールド３４が書き換えられたメッセージフレームは、次のノードへと伝播される。
受信バッファに空き容量が少なくメッセージフレームを受信できない場合、メッセージフレーム受信動作は行われない。メッセージフレーム送達確認部２２１は、受信メッセージフレームに含まれる送達確認フィールド３４の失敗フラグを“１”に書き換える。
【００４１】
そして、受信したメッセージフレームは、受信に失敗したノードを通過して次のノードへと伝播される（図５、ステップＳ５８参照）。なお、受信の失敗は、受信バッファの空き容量にのみ依存するものではなく、受信したメッセージフレームのＣＲＣチェック、パリティチェックなどにより、メッセージフレームが正常に受信できなかった場合でも同様の動作を行う。
【００４２】
このようにノード１Ｂ〜１Ｅを伝播したメッセージフレームはノード１Ａによって再び受信される。メッセージフレームを受信したノード１Ａでは、メッセージＩＤの確認を行う（図６、ステップＳ６１、Ｓ６２参照）。その後、受信したメッセージフレームが自ノードから送信されたものであるかどうかの判定を行う（図６、ステップＳ６３参照）。
自ノードから発信されたメッセージフレームでない場合は図５に示した受信ノードとしての動作を行う（図６、ステップＳ６７参照）。自ノードから発信されたメッセージフレームであると判定された場合は、送達確認フィールド３４の成功フラグ、失敗フラグの確認を行う（図６、ステップＳ６４参照）。
【００４３】
ここで、成功フラグ＝“１”、失敗フラグ＝“０”であった場合、メッセージフレーム送信リトライ部２２２は、受信ノードにおける受信失敗はなかったものと判断し、メッセージフレームの再送は行わない（図６、ステップＳ６８参照）。一方、成功フラグ＝“１”であった場合でも、失敗フラグ＝“１”であった場合は、メッセージフレーム送信リトライ部２２２は、伝播経路中のいずれかのノードでメッセージフレームの受信に失敗したものと判断する。
【００４４】
この判断に基づいて、メッセージフレームの再送が決定される（図６、ステップＳ６５参照）。なお、詳細には再送回数に基づいて、再送停止の判定を行っても良いが、この点に関しては、後述する（図６、ステップＳ６１０）。メッセージフレーム送達確認部２２１は、メッセージフレームを再送するときに、成功フラグ＝“０”、失敗フラグ＝“０“に書き換え、同一のメッセージＩＤを付与して再度ノード１Ｂへと送信する（図６、ステップＳ６６参照）。
【００４５】
メッセージフレームが再送された場合、ノード１Ｂ〜１Ｅでは、上記に図５を用いて説明した動作と同一の動作が行われる。ただし、受信ノードとしては、受信したメッセージフレームがすでに受信済みのメッセージフレームであるか否かを判定することができればよいので、ノード１Ａからｍ回目に送信されたメッセージフレームであるという情報は不要である。
【００４６】
このような場合、受信ノードでは、重複メッセージフレーム削除部２２３で受信したメッセージフレームのメッセージＩＤの上位の情報（例えばｎ）などから受信済みメッセージフレームであるか否かを判断すれば、受信済みのメッセージフレームであるか否かを判断することが可能である。つまり、送信元ノード情報とメッセージＩＤを判定することで受信済みのメッセージフレームであるか否かを適切に判断することが可能であり、受信済みのメッセージフレームであるときには受信したメッセージフレームデータを削除する。
【００４７】
このようにして伝搬されたメッセージフレームは再び、ノード１Ａによって受信される。ノード１Ａでは上記に図６を用いて説明した動作が繰り返される。ただし、メッセージフレーム識別部２２４が、メッセージフレーム再送の回数に関する情報を付加していた場合、同じメッセージフレームが何回繰り返して送信されているかを確認する（図６、ステップＳ６１０参照）。
【００４８】
ここで、再送の繰り返し回数があらかじめ設定された上限値（例えばｋ回）に達していた場合、メッセージフレーム送信リトライ部２２２は、再送を中止する（図６、ステップＳ６９参照）。つまり、メッセージフレーム送信リトライ部２２２は、カウンタＢ２２４Ｂのカウント値“ｍ”がｍ＝ｋとなった場合に再送は行わないものとして判定する。
このように構成しておくことで、受信ノードの構造的なエラーなどにより特定のメッセージフレームが受信不可能となっている場合でも、同一のメッセージフレームを無限にリング型ネットワークシステム１０内に送信することを防ぐことが可能である。
【００４９】
以上、説明した動作を、図７を用いて具体的に説明する。図７に示す例では説明の簡略化のため、メッセージＩＤは“８”として説明する。
また、ノード１Ａより送信されたメッセージフレームは、この例においては、リング型ネットワークシステム１０を２巡することによって全てのノードに受信され、ノード１Ａからの送信動作は２巡目で終了するものとして説明する。
【００５０】
図７に示す例では、ノード１Ａが、メッセージＩＤ＝“８” 、成功フラグ＝ “０” 、失敗フラグ＝ “０” およびヘッダフィールド３１、データフィールド３３を有するメッセージフレームをノード１Ｂへと送信する。
ノード１Ｂでは、ノード１Ａより送信されたメッセージフレームが受信される。ノード１Ｂでは、図５に示すステップＳ５２により、メッセージＩＤ＝“８”を読み取り、図５に示すステップＳ５３によって、受信済みメッセージＩＤではない事が確認される。
【００５１】
その後、ノード１Ｂでは、図５に示す、ステップＳ５５〜Ｓ５８のメッセージフレームの受信動作が行われる。図７に示す例では、図５に示すＳ５５において、ノード１Ｂでは、受信バッファの空き容量が充分であると判断されたものとする。
従って、新規メッセージフレームの受信は正常に行われ、図５に示すステップＳ５６において、メッセージＩＤ＝“８”が受信済みメッセージフレームとして情報保持部５０に保持される。受信側ノード１Ｂは、図５に示すステップＳ５７において成功フラグを“１”に書き換え、ノード１Ｃへとメッセージフレームを送信する。
【００５２】
次段で、メッセージフレームを受信したノード１Ｃでは、図５に示したステップＳ５３により、メッセージＩＤ＝“８”が受信済みのメッセージフレームではないことが判断される。送信元ノード１Ａからの送信メッセージフレームで、メッセージＩＤ＝“８”のメッセージフレームは受信済みではないため、図５に示すステップＳ５５において、メッセージフレーム受信可能かどうかを判定する。
【００５３】
図７に示す例では、ノード１Ｃでは、受信バッファの空き容量が充分ではなく、メッセージフレームの受信が正常に行われなかったものとする。メッセージフレームの受信に失敗したため、ノード１Ｃは、図５に示すステップＳ５８で、失敗フラグを“１”に書き換え、ノード１Ｄへとメッセージフレームを送信する。ノード１Ｄおよび１Ｅでも同様の動作が行われ、ノード１Ａにメッセージフレームが伝播される。
【００５４】
ここで、図７に示す例では、ノード１Ｄにおいては、メッセージフレームの受信に成功し、送達確認フィールド３４の成功フラグが書き換えられ、ノード１Ｅにおいてはメッセージフレームの受信に失敗し、送達確認フィールド３４の失敗フラグが書き換えられるものとする。ノード１Ｅから伝搬されたメッセージフレームは、再びノード１Ａへと入力される。
【００５５】
ノード１Ａでは送信元ノードを示す情報から、図６に示すステップＳ６３において、自ノードが発信したメッセージフレームである事が確認される。図６に示すステップＳ６４において、自ノードが発信したメッセージフレームである場合は、送達確認フィールド３４の成功フラグおよび失敗フラグの確認が行われる。
ここで、図７に示す例では、１巡目の送達確認フィールド３４の失敗フラグは、ノード１Ｃおよび１Ｅによって“１”とされているため、ノード１ＡはメッセージＩＤを再び“８”、成功フラグ=“０”、失敗フラグ＝“０”とし、メッセージフレームをノード１Ｂへと送信する。
【００５６】
ノード１Ｂでは、図５に示すステップＳ５２において、受信したメッセージフレームのメッセージＩＤを確認する。ここで、メッセージＩＤ＝“８”は既に受信したメッセージフレームとして保持されているため、図５に示すステップＳ５４において、ノード１Ｂでは受信動作を行わずに、送達確認フィールド３４の成功フラグを“１”として、次ノード１Ｃへとメッセージフレームが送信される。
【００５７】
ノード１Ｃでは、図５に示すステップＳ５２において、初回の受信時にメッセージフレームが受信できていないため、情報保持部５０にはメッセージＩＤ＝“８”が保持されていない。そのため、受信したメッセージフレームを新規のメッセージフレームと同様に取り扱い、図５に示したステップＳ５５〜Ｓ５８の受信動作を開始する。図７に示す例では、ノード１Ｃにおける２回目の受信時にはノード１Ｃの受信バッファに充分な空き容量ができているものとし、正常な受信動作が行われるものとする。
【００５８】
ノード１Ｃは、送達確認フィールド３４の成功フラグを“１”とし、次ノード１Ｄへとメッセージフレームを送信する。以降、ノード１Ｄおよび１Ｅにおいても同様な動作が行われる。図７に示す例では、２巡目においてノード１Ｄ、１Ｅにおいてもメッセージフレームが正常に受信され、失敗フラグは書き換えられず、成功フラグのみ“１”に書き換えられるものとする。
【００５９】
そして、ノード１Ｅから、ノード１Ａへとメッセージフレームが伝播される。ノード１ＡではメッセージＩＤから、自ノードが発信したメッセージフレームである事が確認されるため、メッセージフレーム送信リトライ部２２２により送達確認フィールド３４の成功フラグおよび失敗フラグの確認が行われる。
ここで、図７に示す例では、２回目の送信ですべての受信局側のノードによってメッセージフレームが正常に受信されている。そのため、送達確認フィールド３４の失敗フラグは“０”となっており、成功フラグが“１”とされている。送信側のノード１Ａは、全てのノードでメッセージフレームが正常に受信されたものとしてメッセージフレームの送信を終了する。
【００６０】
このようにして本実施の形態によれば、送信されるメッセージフレームに送達確認フィールド３４およびメッセージＩＤフィールド３２を設ける事により、リング型のネットワークシステムであっても、受信側のノードで受信に失敗した場合にメッセージフレームを再送することが可能なシステムを実現している。更に、送信側のノードでメッセージＩＤフィールド３２を作成し、それをメッセージフレームに付加する事で、メッセージフレームを受信する側のノードでメッセージＩＤを確認する事が可能となる。
【００６１】
このメッセージＩＤにより、受信側のノードが既に受信済みのメッセージフレームであると判断する事が可能であり、受信済みのメッセージフレームである場合には、メッセージフレーム受信に伴う他の作業を行わずに、送達確認フィールド３４のフラグを書き換えるのみで、次ノードへとメッセージフレームを送信する事が可能となる。そのため、メッセージフレーム受信側のノードで既に受信済みのメッセージフレームを受信した場合でも処理を増加させずに速やかに次ノードへとメッセージフレームを送信する事が可能である。
【００６２】
また、上記した実施の形態では、説明の簡略化のため、受信したメッセージフレームに関するメッセージＩＤの確認を送信側に１巡して戻ってきた場合と、受信ノードで分けて説明しているが、受信したメッセージフレームのメッセージＩＤ確認、受信済みメッセージフレームの確認（自ノード送信メッセージフレームの確認）、メッセージＩＤの比較などは、一部の機能を合成して構成することが可能である。
【００６３】
以上、本発明の実施の形態に基づいて詳細に説明したが、本発明は実施の形態に限定されず種々の変形が可能である。
【符号の説明】
【００６４】
１Ａ−１Ｅ      ノード
１０            リング型ネットワークシステム
２１            ホストシステム部
２２            通信制御部
２３            システムバス
３０            メッセージフレーム
３１            ヘッダフィールド
３２            メッセージＩＤ（メッセージフレーム識別情報）フィールド
３３            データフィールド
３４            送達確認フィールド
５０            情報保持部
２１１          ＣＰＵ
２１２          メモリ
２２１          メッセージフレーム送達確認部
２２２          メッセージフレーム送信リトライ部
２２３          重複メッセージフレーム削除部
２２４          メッセージフレーム識別情報生成部
【図１】
2011055093.tif 000003
【図２】
2011055093.tif 000004
【図３】
2011055093.tif 000005
【図４】
2011055093.tif 000006
【図５】
2011055093.tif 000007
【図６】
2011055093.tif 000008
【図７】
2011055093.tif 000009
【図８】
2011055093.tif 000010