JP3715560B2 - 通信システム及び通信制御装置 - Google Patents
通信システム及び通信制御装置 Download PDFInfo
- Publication number
- JP3715560B2 JP3715560B2 JP2001270727A JP2001270727A JP3715560B2 JP 3715560 B2 JP3715560 B2 JP 3715560B2 JP 2001270727 A JP2001270727 A JP 2001270727A JP 2001270727 A JP2001270727 A JP 2001270727A JP 3715560 B2 JP3715560 B2 JP 3715560B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- frame
- length frame
- variable length
- block
- 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.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、通信システム及び通信制御装置に係り、より詳しくは、複数のノード装置がノード間伝送媒体によりループ状に接続された通信システム、該通信システムにおけるノード装置が具備する通信制御装置に関する。
【0002】
【従来の技術】
複数の装置相互間でネットワークを介してデータの送受信を行う様々な通信システムが構築されている。こうした通信システムでは、装置間接続、装置間通信の容易さや通信資源の効率的な活用のために、様々な通信システムが提案されている。こうした通信システムにおけるデータ伝送路としては、複数の伝送路相互間における信号の同期合わせを行う必要がないことから、データ転送速度を向上可能であり、かつ、構成も簡易化可能なシリアル伝送路が主流となっている。
【0003】
こうしたシリアル伝送路を使用する通信プロトコルの下位層(OSIの7階層モデルにおける物理層及びデータリンク層に相当)として代表的なものとして、例えば、ANSIのX3T11により規格化されているファイバチャンネル(Fiber Channel)がある。このファイバチャンネルを採用すると、複数のノード装置を簡易に接続可能であり、かつ、複数のノード装置相互間において高速なデータ転送が可能となっている。
【0004】
ここで、ファイバチャンネルでは、複数のノード装置間でデータ通信を行う幾何学的構成として、ファブリックと呼ばれる交換機に類似したスイッチ装置を使用するスター状接続構成と、スイッチ装置のような特別の装置を使用しないループ状接続構成とがある。これらのスター状接続構成とループ状接続構成とを比較してみると、ループ状接続構成の方が簡易な構成であるといえる。
【0005】
【発明が解決しようとする課題】
上述のループ状接続構成のファイバチャンネルでは、シリアル伝送路におけるフレームの衝突を避けるために、データ転送を行おうとするノード装置は、データ転送に使用する経路を他のノード装置が使用していないときにデータ伝送を行う方式が一般に採用されている。このため、データ転送を行おうとするノード装置は、まず、データ転送に使用する経路を他のノード装置が使用しているか否かを確認する。こうした確認の結果、データ転送に使用する経路を他のノード装置が使用していないことが確認されると、データ転送を行おうとするノード装置は、データ転送に使用する経路の使用権を獲得し、データ転送を開始する。かかる経路の使用権の獲得にあたっては、各ノード装置の使用権要求の競合が発生し得ることから、データ転送のたびに使用権要求のアービトレーション(調停)を行うことが必要となる。
【0006】
このため、データ転送が開始された後には高速のデータ転送が可能であるが、データ転送をしようとしてからデータ転送開始までのオーバヘッド時間が存在するため、ノード装置がデータ転送を行おうとしてから、そのデータ転送が完了するまでの時間は、伝送媒体上をその転送データが伝送される時間に比べて長いものとなっていた。さらに、他のノード装置による使用権要求の発生状況により、使用権の獲得動作開始からデータ転送開始までのオーバヘッド時間が非常に長くなる可能性もあった。すなわち、データ転送を行おうとしたノード装置にとって、データ転送を行おうとしてからデータ転送が完了するまでの時間(以下、「データ転送のターンアラウンド時間」という)が長く、かつ、不定となっていた。
【0007】
本発明は、上記の事情のもとでなされたものであり、その第1の目的は、簡易な構成で、ノード装置間におけるデータ転送のターンアラウンド時間を短縮化でき、かつ、データ転送のターンアラウンド時間を保証可能な通信システムを提供することにある。
【0008】
また、本発明の第2の目的は、複数のノード装置におけるマスタノード装置が装備することにより、本発明の通信システムを容易に構築することができる通信制御装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明の通信システムは、1つがマスタノード装置である複数のノード装置がシリアル伝送路によりループ状に接続され、送信元ノード識別子データを有するブロックヘッダデータ及び送信データを含むノードブロックを挿入及び削除可能な1つの可変長フレームが前記複数のノード装置を順次巡り、前記可変長フレームへの前記ノードブロックの挿入は、前記可変長フレームを受信した受信ノード装置がデータの送信を行うときに、前記受信ノード装置によって新たな自ノードブロックの挿入として行われ、前記可変長フレームからの前記ノードブロックの削除は、前記受信ノード装置が受信した前記可変長フレーム中に前記受信ノード装置により以前に挿入された自ノードブロックがあるとき、前記受信ノード装置による前記以前に挿入された自ノードブロックの削除として行われる通信システムにおいて、前記マスタノード装置が、システム初期化時には、新たな可変長フレームとして、通常可変長フレームを生成して前記シリアル伝送路に送出し、前記可変長フレームが消失したと判断した時には、リトライ可変長フレームを生成して前記シリアル伝送路に送出し、前記受信した可変長フレームが前記リトライ可変長フレームであるときには、前回の可変長フレーム時に挿入した自ノードブロックを前記リトライ可変長フレームに挿入するとともに、挿入されたノードブロックを変更せずに、前記リトライ可変長フレームを前記通常可変長フレームに変更し、前記マスタノード装置以外のノード装置は、前記受信した可変長フレームが前記リトライ可変長フレームであるときには、前回の可変長フレーム時に挿入した自ノードブロックを前記リトライ可変長フレームに挿入する、ことを特徴とする通信システムである。
【0010】
これによれば、複数のノード装置を順次巡るループ状のフレーム経路上には、1つの可変長フレームが存在するのみである。このため、フレーム経路におけるフレーム衝突は原理的に発生し得ない。
【0011】
そして、データ送信を行おうとするノード装置は、可変長フレームを受信したときに、あたかも可変長フレームという貨物列車に車両を新たに連結するように、送信データを含むノードブロックを可変長フレームに挿入する。なお、本発明においては、送信元のノード装置の識別子データはノードブロックのブロックヘッダ部に入れられるが、送信先のノード装置の識別子データについては、ブロックヘッダ部に入れてもよいし、また、ノードブロックの送信データ部に入れてもよい。
【0012】
また、データ送信を行ったノード装置は、他のノード装置を巡った可変長フレームを受信したときに、受信した可変長フレームに挿入されている、前回の可変長フレームの受信時に自分が挿入した自ノードブロックを可変長フレームから削除する。こうして、可変長フレーム中のデータブロックの数がノード装置の数を超えることを防止している。この結果、可変長フレームの長さ(構成ビット数)が一定値以下になることが保証される。
【0013】
したがって、本発明の通信システムによれば、フレーム経路上におけるフレーム衝突が発生し得ないことから、フレーム経路の使用権に関する調停を行うことが不要であり、かつ、ノードブロックを可変長フレームに挿入したノード装置がそのブロックを可変長フレームから削除するという簡易な方式により、可変長フレーム長を制限する。したがって、簡単な構成で、装置間におけるデータ転送のターンアラウンド時間を短縮化でき、かつ、データ転送のターンアラウンド時間を保証できる。
【0014】
本発明の通信システムでは、前記ノードブロックそれぞれがエラー検出部を有し、前記受信ノード装置が、受信した可変長フレームに含まれる他のノード装置が送信した他ノードブロックの内、エラー無と判定されたものに含まれる送信データを記憶する構成とすることができる。
【0015】
また、本発明の通信システムでは、前記受信ノード装置が、前記受信した可変長フレームに含まれる前記受信ノード装置が送信した自ノードブロックがエラー有と判定されたとき、前記自ノードブロックを前記可変長フレームから削除した後、前記自ノードブロックが含むべきデータを含む新たな自ノードブロックを生成して前記可変長フレームに挿入する構成とすることができる。
【0019】
本発明の通信制御装置は、送信元ノード識別子データを有するブロックヘッダデータ及び送信データを含むノードブロックを挿入及び削除可能な1つの可変長フレームが巡るループ状のフレーム巡回経路上に配設される複数のノード装置におけるマスタノード装置が具備する通信制御装置であって、前記可変長フレームを受信し、前記受信した可変長フレームに前記ノード装置が以前に挿入した自ノードブロックが存在するときには、該以前に挿入した自ノードブロックを削除するフレーム受信処理装置と;前記フレーム受信処理装置を介したノードブロックに、新たに送信すべきデータがあるときには、前記送信すべきデータを含む新たな自ノードブロックが付加されたノードブロック群を作成し、前記ノードブロック群が挿入された可変長データフレームを前記フレーム巡回経路へ向けて送出するフレーム送信処理装置と;を備え、前記フレーム送信処理装置が、システム初期化時には、新たな可変長フレームとして、通常可変長フレームを生成して前記シリアル伝送路に送出し、前記可変長フレームが消失したと判断した時には、リトライ可変長フレームを生成して前記シリアル伝送路に送出し、前記受信した可変長フレームが前記リトライ可変長フレームであるときには、前回の可変長フレーム時に挿入した自ノードブロックを前記リトライ可変長フレームに挿入するとともに、挿入されたノードブロックを変更せずに、前記リトライ可変長フレームを前記通常可変長フレームに変更することを特徴とする通信制御装置である。
【0020】
この通信制御装置を、複数のノード装置がシリアル伝送路によりループ状に接続され、前記複数のノード装置相互間においてデータ通信可能な通信システムにおけるマスタノード装置の通信制御装置として使用することにより、本発明の通信システムを容易に構築することができる。
【0023】
本発明の通信制御装置では、前記フレーム送信処理装置が、前記新たな自ノードブロックを前記他ノードブロックの後ろに付加する構成とすることができる。
【0024】
また、本発明の通信制御装置では、前記ノードブロックそれぞれがエラー検出部を有する場合、前記フレーム受信処理装置が、受信した可変長フレームに含まれる他のノード装置が挿入した他ノードブロックの内、エラー無と判定されたものに含まれる送信データをバッファ記憶装置に転送する構成とすることができる。
【0025】
また、本発明の通信制御装置では、前記フレーム送信処理装置が、前記受信した可変長フレームに含まれる自ノード装置が送信した自ノードブロックがエラー有と判定されたとき、前記自ノードブロックが含むべきデータを含むノードブロックを前記新たな自ノードブロックとして作成する構成とすることができる。
【0027】
【発明の実施の形態】
以下、本発明の一実施形態を、添付図面を参照して説明する。
【0028】
図1には、本発明の一実施形態に係る通信システム100の構成が示されている。図1に示されるように、この通信システム100は、1台のマスタノード装置10Mと、通常ノード装置10Ni(i=1〜P)とを備えている。そして、マスタノード装置10M及び通常ノード装置10Niが、シリアル伝送媒体としての光ファイバ150〜15Pによって、ループ状に接続されている。すなわち、光ファイバ150によってマスタノード装置10Mと通常ノード装置10N1とが接続され、光ファイバ15j(j=1〜(P−1))によって通常ノード装置10Njと通常ノード装置10Nj+1とが接続され、さらに、光ファイバ15Pによって通常ノード装置10NPとマスタノード装置10Mとが接続されている。こうした光ファイバ150〜15Pによるマスタノード装置10M及び通常ノード装置10Niのループ状接続により、ループ状のフレーム伝送路19が形成されている。なお、以下の説明においてマスタノード装置10M及び通常ノード装置10Niを総称する場合には、「ノード装置10M,10Ni」と記すものとする。
【0029】
こうしたループ状のフレーム伝送路19には、通常時には1つの可変長フレームFLMが存在し、マスタノード装置10M及び通常ノード装置10Niを順次巡っている。この可変長フレームFLMは、図2(A)に示されるように、フレームの開始を示すフレーム開始指示部SOF(以下、単に「SOF」と記す)、フレームの属性を示すフレームヘッダ部FH、マスタノード装置10M及び通常ノード装置10Niの中でデータ送信を行おうとするノード装置それぞれにより挿入されたノードブロックNB(Sk)(k=1〜Q)から成るノードブロック部NBP、及びフレームの終了を示すフレーム終了指示部EOF(以下、単に「EOF」と記す)から構成される。ここで、パラメータSkは、ノードブロックNB(Sk)を可変長フレームFLMに挿入したノード装置を示している。
【0030】
以上の可変長フレームFLMの構成要素の内、SOF、フレームヘッダ部FH、及びEOFは必須構成要素であり、可変長フレームFLMには必ず含まれている。一方、ノードブロック部NBPは可変長フレームFLMの任意構成要素であり、データ送信を行おうとするノード装置がないときには、可変長フレームFLM中には、ノードブロック部NBPは存在しないことになる。
【0031】
前記フレームヘッダ部FHは固定長を有する。そして、フレームヘッダ部FHは、内部の所定位置に、可変長フレームFLMが通常可変長フレームであるか、又は、リトライ可変長フレームであるかを示すリトライフラグRを含んでいる。ここで、リトライフラグRがオフの場合には、可変長フレームFLMが通常可変長フレームであることを示し、また、リトライフラグRがオンの場合には、可変長フレームFLMがリトライ可変長フレームであることを示すようになっている。
【0032】
前記ノードブロックNB(Sk)は、図2(B)に示されるように、ノードブロックNB(Sk)のデータ通信処理上の情報を含む固定長のブロックヘッダ部BH(Sk)、ノードブロックNB(Sk)を挿入したノード装置が送信しようとしている可変長の送信データSD(Sk)、及びノードブロックNB(Sk)における伝送エラーの有無をチェックするための固定長のチェックコード部CHKから構成されている。ここで、チェックコード部CHKにおけるチェックコードとしては様々なエラー検出用コードを採用することができるが、本実施形態においては、(X16+X12+X5+1)を生成多項式とする巡回冗長検査コード(以下、「CRCコード」と呼ぶ)を採用している。なお、チェックコード部CHKにおけるチェックコードは、こうした巡回冗長検査(CRC)に限定されず、また、CRCによるチェックを行う場合であっても、生成多項式として他のものを採用してもよい。例えば、上記の本実施形態の生成多項式は16ビットのCRCコードを算出するものであるが、32ビットのCRCコードを算出する生成多項式を採用することもできるし、また、16ビットのCRCコードを算出する他の生成多項式を採用してもよい。
【0033】
前記ブロックヘッダ部BH(Sk)は、図2(C)に示されるように、可変長フレームにブロックヘッダ部BH(Sk)を挿入したノード装置の識別子、すなわち送信データSD(Sk)の送信元ノード識別子SN(Sk)と、送信データSD(Sk)が格納されるべき、マスタノード装置10M及び通常ノード装置10Niそれぞれが備える後述するメモリ40内領域の先頭アドレスTAD(以下、「転送先頭アドレス」という)TAD(Sk)、及び送信データSD(Sk)のバイト数BSとを所定位置に含んでいる。なお、本実施形態では、ブロックヘッダ部BH(Sk)には、送信データSD(Sk)の送信先ノード識別子DN(Sk)が更に含まれているものとする。
【0034】
図1に戻り、前記通常ノード装置10Ni(i=1〜P)それぞれは、通常ノード装置10Niそれぞれの処理を統括制御するホスト計算機50Niと、フレーム伝送路19を介して他のノード装置のホスト計算機との間でデータ通信を行う際の通信制御を行う通信制御装置20Nと、ホスト計算機50Ni及び通信制御装置20Nの双方からアクセス可能なメモリ装置40とを備えている。すなわち、全ての通常ノード装置10Niは、通信制御装置20N及びメモリ装置40を構成要素として同様に備えており、通常ノード装置10Ni相互間においては、通信制御装置20N及びメモリ装置40以外のホスト計算機50Ni等の構成が異なっている。
【0035】
前記通信制御装置20Nは、図3に示されるように、(a)光ファイバ15iを介した可変長フレームFLMを受信し、光電気信号変換等を行って受信フレーム信号RFLMに変換するレシーバ21Rと、(b)受信フレーム信号RFLMを入力して処理するフレーム受信処理装置22と、(c)送信フレーム信号SFLMの生成処理を行うフレーム送信処理装置23Nと、(d)送信フレーム信号SFLMを光電変換等して可変長フレームFLMを光ファイバ15iに送出する信号トランスミッタ21Tとを備えている。なお、本実施形態では、フレーム伝送路19を介した通信の物理層インターフェースとして、ファイバチャンネルと同様の物理層インターフェースを採用しており、信号レシーバ21Rが光電気信号変換に加えて周知の10B/8B変換を行うとともに、信号トランスミッタ21Tが光電気信号変換に加えて周知の8B/10B変換を行っている。
【0036】
通信制御装置20Nは、さらに、(e)内部バスIBの使用権の調停を行うバスアービタ24、(f)メモリ40へのアクセスのために内部バスIBの信号とメモリアクセス信号との整合を図るメモリインターフェース25、及び(g)内部バスIBの信号とホスト計算機50Niが採用するホストバス信号との整合を図るホストインターフェース26を備えている。そして、フレーム受信処理装置22から、バスアービタ24及びメモリインターフェース25を介して、メモリ40にデータ転送ができるようになっている。また、フレーム受信処理装置22から、バスアービタ24及びホストインターフェース26を介して、ホスト計算機50Niにデータ転送ができるようになっている。また、ホスト計算機50Niから、ホストインターフェース26及びバスアービタを介して、フレーム送信処理装置23Nにデータ転送ができるようになっている。さらに、ホスト計算機50Niが、ホストインターフェース26、バスアービタ24、及びメモリインターフェースを介して、メモリ40をアクセス可能となっている。
【0037】
なお、内部バスIBのマスタとなり得るのは、フレーム受信処理装置22及びホスト計算機50Niであるが、両者の間で内部バスIBの使用権獲得要求の競合が生じた場合、バスアービタは24、フレーム受信処理装置22による使用権獲得要求を優先するようになっている。
【0038】
以上のようなデータの転送以外に、フレーム受信処理装置22はホスト計算機50Niへ向けて割り込み処理要求を通知することが可能となっている。なお、図3においては、データ信号の流れが実線矢印にて示されているが、割り込み要求等の制御信号の流れの表示は省略されている。
【0039】
前記フレーム受信処理装置22は、図4に示されるように、フレーム解析装置31、ブロック解析器32、及びブロックデータ転送器33とを備えている。
【0040】
前記フレーム解析装置31は、受信フレーム信号RFLMを入力して、SOF及びEOFを検出するとともに、フレームヘッダ部FHからリトライフラグRを抽出する。そして、フレーム解析装置31は、SOF検出によりオンとなりEOF検出によりオフとなるフレーム信号受信FLRを、ブロック解析器32及びフレーム送信処理装置23Nへ向けて出力する。また、フレーム解析装置31は、リトライフラグR及びノードブロック部NBPを、速やかに順次、ブロック解析器32及びフレーム送信処理装置23Nへ向けて出力する。
【0041】
前記ブロック解析器32は、フレーム信号受信FLRがオンであるときに入力したリトライフラグRがオンである場合には、受信した可変長フレームFLMがリトライ可変長フレームであると判定する。そして、速やかに可変長フレームの送出を開始するべき旨をフレーム送信開始信号SFLにより、また、前回の可変長フレームFLMの受信時に送信したデータを再度送信すべき旨を送信データ選択信号SDSにより、フレーム送信処理装置23Nへ通知する。
【0042】
一方、ブロック解析器32は、フレーム信号受信FLRがオンであるときに入力したリトライフラグRがオフである場合には、受信した可変長フレームFLMが通常可変長フレームであると判定する。そして、入力したノードブロック部NBPに含まれるノードブロックNB(Sk)ごとに、順次、CRCコードを利用したCRCチェックを行って、ノードブロックNB(Sk)内における誤りの有無のチェックを行う。
【0043】
かかるCRCチェックにあたり、ブロック解析器32は、最初のノードブロックNB(S1)の開始を、フレーム信号受信FLRがオンであるときに入力したノードブロック部NBの始まりをもって認識する。また、ノードブロックNB(S1)の終了を、ブロックヘッダBH(S1)が有する固定バイト数及びブロックヘッダBH(S1)内の送信データSD(S1)のバイト数BS(S1)に基づいて認識する。そして、ブロック解析器32は、以降のノードブロックNB(Sk)の開始を、直前のノードブロックNB(Sk-1)の終了に基づいて認識するとともに、ブロックNB(Sk)の終了を、ブロックヘッダBH(Sk)が有する固定バイト数及びブロックヘッダBH(Sk)内の送信データSD(Sk)のバイト数BS(Sk)に基づいて認識しつつ、ノードブロックNB(Sk)のCRCチェックを行う。
【0044】
また、ブロック解析器32は、受信した可変長フレームFLMが通常可変長フレームであるときには、入力したノードブロックNB(Sk)が、自ノードが送信したノードブロックであるか否かをチェックする。このチェックにあたり、ブロック解析器32は、自ノード識別子とノードブロックNB(Sk)中の送信元ノード識別子SN(Sk)とを比較する。なお、本実施形態では、後述する可変長フレームFLMに対するノードブロックの削除及び追加処理によって、各ノード装置10M,10Niにより受信された可変長フレームFLMに自ノードブロックが存在するとすれば、それは、ノードブロックNB(S1)に限定されるようになっている。このため、ブロック解析器32は、自ノードが送信したノードブロックであるか否かをチェックを最初のノードブロックNB(S1)についてのみ行うこととしている。
【0045】
以上の自ノードブロックチェックを最初のノードブロックNB(S1)について行った結果、自ノードブロックではないと判定されたとき、ブロック解析器32は、ノードブロックNB(S1)のCRCチェックの終了を待たずに、ノードブロックNB(S1)から始まるブロックノード部NBPが挿入された可変長フレームの送出を速やかに開始するべき旨をフレーム送信開始信号SFLにより、フレーム送信装置23Nに通知するとともに、前回の可変長フレームFLMの受信時に送信したデータを格納しているデータバッファを解放すべき旨を送信データ選択信号SDSにより、フレーム送信装置23Nに通知する。そして、ノードブロックNB(S1)のCRCチェックが終了し、CRCエラーを検出しなかったとき、ブロック解析器32は、ノードブロックNB(S1)を、ブロックデータ転送器33ヘ向けて出力する。以後に入力するノードブロックNB(Sk)については、ブロック解析器32は、自ノードブロックを行わずにCRCチェックのみを行い、ノードブロックNB(Sk)においてCRCエラーを検出しなかったとき、ノードブロックNB(Sk)を、ブロックデータ転送器33ヘ向けて出力する。
【0046】
また、自ノードブロックチェックを最初のノードブロックNB(S1)について行った結果、自ノードブロックであると判定されたときは、ブロック解析器32は、ノードブロックNB(S1)のCRCチェックが終了を待って、ノードブロック(S1)が削除され、ノードブロックNB(S2)から始まるブロックノード部NBPが挿入された可変長フレームの送出を開始するべき旨をフレーム送信開始信号SFLにより、フレーム送信装置23Nに通知する。
【0047】
ノードブロックNB(S1)のCRCチェックにより、ノードブロックNB(S1)におけるエラーが検出されなかったときには、ブロック解析器32は、以後に入力するノードブロックNB(Sk)についてCRCチェックを行い、ノードブロックNB(Sk)においてCRCエラーを検出しなかったとき、ノードブロックNB(Sk)を、ブロックデータ転送器33ヘ向けて出力する。
【0048】
一方、ノードブロックNB(S1)のCRCチェックにより、ノードブロックNB(S1)におけるエラーが検出されたときには、ブロック解析器32は、前回の可変長フレームFLMの受信時に送信したデータを再度送信すべき旨を送信データ選択信号SDSにより、フレーム送信処理装置23Nへ通知する。そして、ブロック解析器32は、以後に入力するノードブロックNB(Sk)についてCRCチェックを行い、ノードブロックNB(Sk)においてCRCエラーを検出しなかったとき、ノードブロックNB(Sk)を、ブロックデータ転送器33ヘ向けて出力する。
【0049】
前記ブロックデータ転送器33は、ブロック解析器32からのノードブロックNB(Sk)を受け、ノードブロックNB(Sk)におけるブロックヘッダBH(Sk)内の転送先頭アドレスTAD(Sk)及びバイト数BS(Sk)を使用して、ノードブロックNB(Sk)における送信データSD(Sk)を、バスアービタ24及びメモリインターフェース25を介してメモリ40に転送する。また、ブロックデータ転送器33は、ブロックヘッダBH(Sk)内の送信先ノードDN(Sk)が自ノードであるか否かを判定する。そして、送信先ノードDN(Sk)が自ノードなかったときには、ブロックデータ転送器33は、上記の送信データSD(Sk)のメモリ40への転送のみを行う。一方、送信先ノードDN(Sk)が自ノードではなかったときには、ブロックデータ転送器33は、上記の送信データSD(Sk)のメモリ40への転送に加えて、ブロックヘッダBH(Sk)を、バスアービタ24及びホストインターフェース26を介してホスト計算機50Niのローカルメモリの所定アドレスに転送し、その後にホスト計算機50Niに対して割り込み要求IRQを発行する。
【0050】
前記フレーム送信処理装置23Nは、図5に示されるように、送信データバッファ36と、フレーム生成器37Nとを備えている。
【0051】
前記送信データバッファ36はトグルバッファであり、2つのバッファ単位をノードブロック送信ごとに交換しながら、ブロックヘッダ及び送信データから成るノードブロックデータの送信バッファとして使用されるようになっている。バッファ単位それぞれには、ホスト計算機50Niがホストインターフェース26及びバスアービタ24を介してノードブロックデータを書き込めるようになっている。なお、1回のノードブロックデータ量すなわちホスト計算機50Niが1つのバッファ単位に書き込むべきデータ量がバッファ単位の容量よりも大きいときには、バッファ単位がフルになった時点でホスト計算機50Niの書き込み動作が待たされる。そして、後述する自ノードブロック送信におけるノードブロックデータバッファ36からのノードブロックデータの読み出しによりそのバッファ単位に空きができるまで、ホスト計算機50Niによるそのバッファ単位へのデータ書き込みが禁止される。
【0052】
また、バッファ単位にノードブロックデータ書き込まれると、そのノードブロックデータが送信された後、フレーム受信処理装置22(より詳しくは、ブロック解析器32)から、前回の可変長フレームFLMの受信時に送信したノードブロックデータを格納しているデータバッファを解放すべき旨を送信データ選択信号SDSにより通知されると、そのバッファ単位は、次のノードブロックデータのために解放される。この解放の結果、ホスト計算機50Niによるそのバッファ単位へのデータ書き込みが可能となる。
【0053】
なお、ホスト計算機50Niが送信データバッファ36にノードブロックデータを書き込むときには、そのノードブロックデータ内の送信データが、そのノードブロックデータで指定される先頭アドレス転送先頭アドレスとバイト数とで指定される自ノード装置10Ni内のメモリ40の領域に、同時に書き込まれるようになっている。
【0054】
前記フレーム生成器37Nは、フレーム受信処理装置22からのリトライフラグR、ノードブロック部NBP、及びフレーム送信開始信号SFLを入力し、フレーム送信開始信号SFLによって指示されたタイミングに従って、送信フレーム信号SFLMとして、SOFの出力を開始する。このSOFの出力に引き続き、フレーム受信処理装置22からのリトライフラグRを含むフレームヘッダFH、及びフレーム受信処理装置22からのノードブロック部NBPのうち、自ノードブロックを除いたもの(以下、「ノードブロック部NBP’」と呼ぶ)を、送信フレーム信号SFLMとして、順次送出する。そして、ノードブロック部NBP’の送出後、新たなノードブロックデータがある場合には、新たなノードブロックデータを送信データバッファ36から読み出して、送信フレーム信号SFLMとして送出する。こうしてノードブロック部の出力が終了すると、引き続いて、フレーム生成器37Nは、送信フレーム信号SFLMとしてEOFを出力する。
【0055】
以上説明した通信制御装置20Nは、各要素が、基本クロックに同期して動作するハードウエア回路によって構成されている。
【0056】
前記メモリ40は、複数の高速アクセス可能なメモリ素子、例えばスタティックRAM(Random Access Memory)素子等を有している。このメモリ40は、図6に示されるように、ノード装置10M,10Niごと、メモリ領域MAM,MANi(i=1〜P)が割り付けられている。これに応じて、ノード装置10M,10Niは、送信するノードブロックにおけるブロックヘッダ内の転送先頭アドレス及びバイト数を設定するようになっており、ノード装置10M,10Niから送信された送信データそれぞれは、メモリ領域MAM,MANiに格納されるようになっている。
【0057】
ここで、以上のように構成された通信制御装置20Nの全体的な動作について説明する。
【0058】
通信制御装置20Nは、まず、SOF(図2(A)参照)の受信を監視して、可変長フレームFLMの受信を開始したか否かを判定する。ここで、否定的な判定がなされたときは、再度、受信の監視及び可変長フレームFLMの受信開始の判定を行う。一方、肯定的な判定がなされたときは、通信制御装置20Nは、受信した可変長フレームFLMのフレームヘッダFHにおけるリトライフラグR(図2(A)参照)がオンであるか否かを判定する。
【0059】
ここで、受信した可変長フレームFLMが、図7(A)に示されるような、リトライ可変長フレームFLMR1であり、リトライフラグRがオンであったときには、通信制御装置20Nは、リトライ可変長フレームを受信したと認識し、前回の通常可変長フレームの受信時に挿入した自ノードブロックを、最後のノードブロックとして今回受信したリトライ可変長フレームFLMR1に挿入して送信する。すなわち、前回の通常可変長フレームの受信時に自ノードブロックを挿入していなかった場合には、通信制御装置20Nは、図7(A)に示されるリトライ可変長フレームFLMR1と同一のリトライ可変長フレームを、可変長フレームFLMとして送信する。一方、前回の通常可変長フレームの受信時に自ノードブロックを挿入していた場合には、通信制御装置20Nは、図7(B)に示されるような、図7(A)に示されるリトライ可変長フレームFLMR1内の最後のノードブロックNB(SQ)とEOFとの間に、前回の通常可変長フレームの受信時に挿入した自ノードブロックNB(SQ+1)が挿入されたリトライ可変長フレームFLMS1を可変長フレームFLMとして送信する。
【0060】
なお、通信制御装置20Nによるリトライ可変長フレームの送信は、受信したリトライ可変長フレームにおけるリトライフラグRがオンであることの検出後、速やかに開始される。また、受信したリトライ可変長フレームにノードブロック部NBP(図2(A)参照)が含まれていないときには、通信制御装置20Nは、フレームヘッダFHとEOFとの間に前回の通常可変長フレームの受信時に挿入した自ノードブロックが挿入されたリトライ可変長フレームを送信することになる。
【0061】
また、受信した可変長フレームFLMが、図8(A)に示されるような通常可変長フレームFLMR2であり、リトライフラグRがオフであったときには、通信制御装置20Nは、受信した可変長フレームFLMR2が通常可変長フレームであると認識し、最初のノードブロックNB(S1)が自ノードブロックであるか否かを判定する。そして、否定的な判定がなされたときには、通信制御装置20Nは、新たに送信すべき自ノードブロックを最後のノードブロックとして今回受信した可変長フレームFLMに挿入して送信する。すなわち、新たに送信すべき自ノードブロックがない場合には、通信制御装置20Nは、図8(A)に示される通常可変長フレームFLMR1と同一の通常可変長フレームを、可変長フレームFLMとして送信する。一方、新たに送信すべき自ノードブロックがある場合には、通信制御装置20Nは、図8(B)に示されるような、図8(A)に示される通常可変長フレームFLMR2内の最後のノードブロックNB(SQ)とEOFとの間に、新たに送信すべき自ノードブロックNB(SQ+1)が挿入された通常可変長フレームFLMS2を、可変長フレームFLMとして送信する。
【0062】
なお、受信した通常可変長フレームの最初のノードブロックNB(S1)が自ノードブロックでない場合における通信制御装置20Nによる通常可変長フレームの送信は、受信した可変長フレームにおけるリトライフラグRがオフであることの検出後、速やかに開始される。また、受信したリトライ可変長フレームにノードブロック部NBPが含まれていないときには、通信制御装置20Nは、フレームヘッダFHとEOFとの間に新たに送信すべき自ノードブロックが挿入されたリトライ可変長フレームを送信することになる。
【0063】
受信した可変長フレームFLMが、図8(A)のように、通常可変長フレームFLMR2であり、かつ、最初のノードブロックNB(S1)が自ノードブロックではないとき、以上の通常可変長フレームFLMS2等の送信処理と並行して、通信制御装置20Nは、ノードブロックNB(S1)〜NB(SP)のCRCチェックと、ノードブロックNB(S1)〜NB(SP)内の送信データSD(S1)〜SD(SP)のメモリ40への転送処理を行う。かかる転送処理においては、上述したように、ブロック解析器32によりCRCエラーが検出されなかったノードブロックNB(Sk)内の送信データSD(Sk)のみが、ブロックヘッダBH(Sk)内の転送先頭アドレスTAD(Sk)及びバイト数BSに従って、ブロックデータ転送器33によりメモリ40へ転送される。そして、送信データSD(Sk)がメモリ40へ転送されたノードブロックNB(Sk)におけるブロックヘッダBH(Sk)内の送信先ノード識別子DN(Sk)が自ノードを示すものについて、上述したように、ブロックデータ転送器33によるホスト計算機50Niへの割り込み要求処理が行われる。
【0064】
また、受信した可変長フレームFLMが、図9(A)に示されるように、リトライフラグがオフの通常可変長フレームであり、かつ、最初のノードブロックNB(S1)が自ノードブロックである通常可変長フレームFLMR3あった場合には、通信制御装置20Nは、まず、ノードブロックNB(S1)についてCRCチェックを行う。このCRCチェックの結果、エラーが検出されなかったときには、通信制御装置20Nは、受信した自ノードブロックNB(S1)が削除され、かつ、新たに送信すべき自ノードブロックを最後のノードブロックとして挿入された通常可変長フレームを送信する。すなわち、新たに送信すべき自ノードブロックがない場合には、通信制御装置20Nは、図9(B)に示されるような、図9(A)に示される通常可変長フレームFLMからノードブロックNB(S1)が削除された通常可変長フレームFLMS3を、可変長フレームFLMとして送信する。また、新たに送信すべき自ノードブロックがある場合には、通信制御装置20Nは、図9(C)に示されるような、図9(A)に示される通常可変長フレームFLMからノードブロックNB(S1)が削除され、かつ、最後のノードブロックNB’(SQ)として新たに送信すべき自ノードブロックが挿入された通常可変長フレームFLMS3’を、可変長フレームFLMとして送信する。
【0065】
一方、前回の可変長フレームFLMの受信時に自ノードブロックを挿入しており、かつ、最初のノードブロックNB(S1)でCRCエラーが検出されたときには、通信制御装置20Nは、この最初のノードブロックNB(S1)が自ノードブロックであり、かつ、CRCエラーが発生したと認識する。そして、通信制御装置20Nは、図9(D)に示されるような、受信した自ノードブロックNB(S1)が削除され、かつ、最後のノードブロックNB’(SQ)として前回の通常可変長フレームの受信時に挿入した自ノードブロックが挿入された通常可変長フレームFLMS3”を、可変長フレームFLMとして送信する。
【0066】
なお、受信した通常可変長フレームの最初のノードブロックNB(S1)が自ノードブロックである場合における通信制御装置20Nによるリトライ可変長フレームの送信は、受信した可変長フレームにおける最初のノードブロックNB(S1)のCRCチェック後、速やかに開始される。また、受信した通常可変長フレームに自ノードブロックNB(S1)のみが含まれているときには、通信制御装置20Nは、フレームヘッダFHとEOFとの間に新たに送信すべき自ノードブロック又は前回の通常可変長フレームの受信時に挿入した自ノードブロックが挿入されたリトライ可変長フレームを送信することになる。
【0067】
受信した可変長フレームFLMが、図9(A)のように、通常可変長フレームFLMR3であり、かつ、最初のノードブロックNB(S1)が自ノードブロックであるとき、以上の通常可変長フレームFLMS3,FLMS3’,FLMS3”の送信処理と並行して、通信制御装置20Nは、ノードブロックNB(S2)〜NB(SQ)のCRCチェックと、ノードブロックNB(S2)〜NB(SQ)内の送信データSD(S2)〜SD(SQ)のメモリ40への転送処理を行う。かかる転送処理においては、上述した通常可変長フレームであり、かつ、最初のノードブロックNB(S1)が自ノードブロックではないときと同様にして、ブロック解析器32によりCRCエラーが検出されなかったノードブロックNB(Sk)内の送信データSD(Sk)のみが、ブロックヘッダBH(Sk)内の転送先頭アドレスTAD(Sk)及びバイト数BSに従って、ブロックデータ転送器33によりメモリ40へ転送される。また、上述した通常可変長フレームであり、かつ、最初のノードブロックNB(S1)が自ノードブロックではないときと同様の割り込み処理が行われる。
【0068】
図1に戻り、前記マスタノード装置10Mは、マスタノード装置10Mの処理を統括制御するホスト計算機50Mと、他のノード装置のホスト計算機との間でデータ通信を行う際の通信制御を行う通信制御装置20Mと、ホスト計算機50M及び通信制御装置20Mの双方からアクセス可能なメモリ装置40とを備えている。なお、マスタノード装置10Mの説明にあたり、通常ノード装置10Niと同一の構成要素を有する場合には、同一の符号を付し、重複する説明を省略する。
【0069】
前記通信制御装置20Mは、図10に示されるように、光ファイバ15Pを介した可変長フレームFLMを受信し、光電気信号変換等を行って受信フレーム信号RFLMに変換するレシーバ21Rと、受信フレーム信号RFLMを入力して処理するフレーム受信処理装置22と、送信フレーム信号SFLMの生成処理を行うフレーム送信処理装置23Mと、送信フレーム信号SFLMを光電変換等して可変長フレームFLMを光ファイバ150に送出する信号トランスミッタ21Tとを備えている。そして、通信制御装置20Mは、上述の通信制御装置20Nと同様に、さらに、バスアービタ24、メモリインターフェース25、及びホストインターフェース26を備えている。なお、図10においても図3の場合と同様に、データ信号の流れが実線矢印にて示されているが、割り込み要求等の制御信号の流れの表示は省略されている。
【0070】
前記フレーム送信処理装置23Mは、図11に示されるように、上述した図5に示されたフレーム送信処理装置23Nと比べて、フレーム生成器37Nに代えてフレーム生成器37Mを備えるとともに、フレーム生成制御器38を更に備える点が相違する。
【0071】
前記フレーム生成制御器38は、パワーオン等による初期化が行われたことを検出すると、新たな可変長フレームFLMをフレーム伝送路19に送出すべき旨をフレーム生成制御信号FLGによりフレーム生成器37Mに通知する。また、フレーム生成制御器38は、フレーム受信処理装置22から出力されたフレーム信号受信FLRをモニタし、可変長フレームFLMを所定時間以上にわたって受信しないときに可変長フレームFLMが消失したものと判断し、新たに可変長フレームFLMをリトライ可変長フレームとして、フレーム伝送路19に送出すべき旨をフレーム生成制御信号FLGによりフレーム生成器37Mに通知する。ここで、フレーム生成制御器38は、可変長フレームFLMを所定時間以上にわたって受信しないことを、SOF又はEOFを所定時間以上にわたって検出しないことによって検出する。
【0072】
さらに、フレーム生成制御器38は、リトライ可変長フレームの送出指示をフレーム生成制御信号FLGによりフレーム生成器37Mに通知後、リトライ可変長フレームを所定時間以上にわたって受信しないときに、フレーム伝送路19のいずれかにおいて故障が発生したと判断する。そして、フレーム生成制御器38は、その旨をホスト計算機50Mに通知する。
【0073】
前記フレーム生成器37Mは、上記のフレーム生成器37Nの作用に加えて、フレーム生成制御器38からのフレーム生成制御信号FLGによる指示に応じて、新たな可変長フレームFLMとして、通常可変長フレーム又はリトライ可変長フレームを生成してフレーム伝送路19に送出する。さらに、フレーム生成器37Mは、リトライ可変長フレームを受信したときは、リトライ可変長フレームを通常可変長フレームに変更して、フレーム伝送路19に送出する。
【0074】
ここで、以上のように構成された通信制御装置20Mの全体的な動作について説明する。
【0075】
電源投入や新たな通常ノード装置の増設等伴う通信システム100の初期化が行われると、通信制御装置20Mが、新たに通常可変長フレームとして、可変長フレームFLMの生成を指示する。この指示を受けた通信制御装置20Mは、図12(A)に示されるような、ノードブロック部NBPを含まず、フレームヘッダ部FHにおけるリトライフラグRがオフに設定された可変長フレームFLMS4を生成し、可変長フレームFLMとして送信する。その後、この可変長フレームFLMがフレーム伝送路19を進行し、ノード装置10M,10Niを順次巡る。
【0076】
かかる通常可変長フレームFLMの巡回にあたり、マスタノード装置10Mは、通常可変長フレームFLMの消失の監視を除いて、上述の通常ノード装置20Niと同様に動作する。こうした通常可変長フレームFLMの巡回中において、可変長フレームFLMの消失エラーが検出されると、通信制御装置20Mは、図12(B)に示されるような、ノードブロック部NBPを含まず、フレームヘッダ部FHにおけるリトライフラグRがオンに設定されたリトライ可変長フレームFLMS5を生成し、可変長フレームFLMとして送信する。
【0077】
そして、通常ノード装置10Niを順次巡回した可変長フレームとして、図13(A)に示されるようなリトライ可変長フレームFLMR4を受信すると、通信制御装置20Mは、リトライ可変長フレームFLMR4中のリトライフラグRをオフに設定するとともに、前回の通常可変長フレームを受信したときに挿入した自ノードブロックを挿入して送信する。すなわち、前回の通常可変長フレームを受信したときに挿入した自ノードブロックがないときには、通信制御装置20Mは、図13(B)に示されるような、図13(A)のリトライ通常可変長フレームFLMR4のリトライフラグRをオフに設定変更したのみの通常可変長フレームFLMS6を、可変長フレームFLMとして送信する。一方、前回の通常可変長フレームを受信したときに挿入した自ノードブロックがあるときには、通信制御装置20Mは、図13(C)に示されるような、図13(A)のリトライ可変長フレームFLMのリトライフラグRをオフに設定変更するとともに、最後のノードブロックNB(SQ+1)として前回の通常可変長フレームを受信したときに挿入した自ノードブロックが挿入された通常可変長フレームFLMS6’を、可変長フレームFLMとして送信する。
【0078】
なお、以上のような可変長フレームFLMの巡回と、可変長フレームFLM受信処理における他ノードブロック内の送信データのメモリ40への転送と、自ノードブロックの可変長フレームFLMへの挿入処理における自ノードブロック内の送信データのメモリ40への書き込みが行われる結果、可変長フレームFLMの巡回時間程度のタイムラグはあるが、各ノード装置10M,10Niにおけるメモリ40の内容は互いに同一となるようになっている。
【0079】
以上のように構成された通信システム100では、複数のノード装置10M,10Niを順次巡るループ状のフレーム伝送経路上には、1つの可変長フレームFLMが存在するのみである。このため、フレーム伝送経路におけるフレーム衝突は原理的に発生し得ない。
【0080】
そして、データ送信を行おうとするノード装置10M,10Niは、可変長フレームFLMを受信したときに、あたかも可変長フレームFLMという貨物列車に車両を新たに連結するように、送信データを含むノードブロックを可変長フレームFLMに挿入する。また、データ送信を行ったノード装置10M,10Niは、他のノード装置を巡った可変長フレームFLMを受信したときに、受信した可変長フレームFLMに挿入されている、前回の可変長フレームFLMの受信時に自分が挿入した自ノードブロックを可変長フレームFLMから削除する。
【0081】
したがって、本実施形態の通信システム100によれば、簡単な構成で、ノード装置10M、10Ni間におけるデータ転送のターンアラウンド時間を短縮化でき、かつ、データ転送のターンアラウンド時間の上限を保証することができる。
【0082】
また、ノード装置10M、10Ni間におけるデータ転送をハードウエア回路で構成された通信制御装置20M,20Nのみ制御するので、ホスト計算機50M,50Niに負担をかけずに、かつ、高速で行うことができる。
【0083】
また、フレーム伝送経路19における可変長フレームFLMの消失を監視し、可変長フレームFLMの消失が検出された場合に、通信制御装置20M,20Nによるリトライ処理により、消失直前の可変長フレームFLMを速やかに再現するので、速やかにフレーム消失エラーからの回復ができる。
【0084】
また、ノード装置10M,10Niが挿入したノードブロックごとにエラー検出を行い、エラーが検出されたノードブロックに含まれる送信データは無視するとともに、同一のノードブロックを再送するので、信頼性が高く、かつ、確実なノード装置10M、10Ni間におけるデータ転送を行うことができる。
【0085】
また、僅かな時間差はあるが、ノード装置10M,10Niそれぞれのメモリ40相互間で記憶データが同一となるので、ノード装置10M,10Ni相互間において、同一のデータを共有することができる。すなわち、ノード装置10M,10Niのメモリ40を一種の共有メモリとして使用することができる。
【0086】
なお、上記の実施形態では、シリアル伝送路として光ファイバを使用したが、同軸ケーブルやツイストペア線を使用することもできる。
【0087】
また、上記の実施形態では、個別に設けたメモリ40にデータを転送したが、ホスト計算機50M,50Niのローカルメモリに直接転送するようにしてもよい。
【0088】
また、上記の実施形態では、ブロックヘッダ内に送信先ノード識別子を含ませることとしたが、送信データ内に送信先ノード識別子を含ませることとしてもよい。また、送信先ノード識別子は、ブロックヘッダ内の任意の位置に置くことができる。
【0089】
さらに、送信すべきデータを送信データとする自ノードブロックを送信した後、送信先ノード識別子を送信データとする自ノードブロックを別途送信し、この送信先ノード識別子から成る送信データを受信した、当該送信先ノード識別子で特定されるノード装置において割り込み要求を発生させることとしてもよい。
【0090】
また、ブロックデータ転送器33が、ホスト計算機50M,Niへの割り込み要求を発生させるのではなく、処理要求をメモリ40内の特定領域に書き込むこととし、ホスト計算機50M,Niが自ノード内のメモリ40内におけるその特定領域内のデータを定期的にセンスすることとしてもよい。
【0091】
また、上述のような各メモリ40の内容が相互に同一となることを利用して、一つのホスト計算機が自ノードのメモリ40内の特定領域に処理要求を書き込むことにより、実質的に他ノードのメモリ40内の特定領域に処理要求を書き込むこととするとともに、他のホスト計算機が、自ノードのメモリ40内の特定領域をセンスすることにより、処理要求を伝達するようにしてもよい。
【0092】
また、上記の実施形態では、ノードブロック単位にホスト計算機50M,50Niへ割り込み要求を行うこととしたが、ノードブロック部が含まれる可変長フレームFLMの受信単位で、ホスト計算機50M,50Niへ割り込み要求を行うこととすることもできる。
【0093】
【発明の効果】
以上説明したように、本発明の通信システムによれば、ループ状にノード装置間が接続される簡易な構成で、ターンアラウンド時間を短縮化し、かつ、ターンアラウンド時間の上限を保証しつつ、ノード装置間でデータ転送を行うことができる。
【0094】
また、本発明の通信方法によれば、ノード装置間におけるデータ転送のターンアラウンド時間を短縮化でき、かつ、データ転送のターンアラウンド時間の上限を保証することができる。
【0095】
また、本発明の通信制御装置を各ノード装置が備えることにより、簡易な構成で、ターンアラウンド時間を短縮化し、かつ、ターンアラウンド時間の上限を保証しつつ、ノード装置間でデータ転送を行うことができる通信システムを構築することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る通信システムの構成を概略的に示すブロック図である。
【図2】図2(A)〜図2(C)は、図1の可変長クレームの構成を説明するための図である。
【図3】図1の通常ノード装置の通信制御装置の構成を示すブロック図である。
【図4】図3のフレーム受信装置の構成を示すブロック図である。
【図5】図3のフレーム送信装置の構成を示すブロック図である。
【図6】図1のメモリのアドレス割付を説明するための図である。
【図7】図7(A)及び図7(B)は、図3の通信制御装置における処理を説明するための図(その1)である。
【図8】図8(A)及び図8(B)は、図3の通信制御装置における処理を説明するための図(その2)である。
【図9】図9(A)〜図9(D)は、図3の通信制御装置における処理を説明するための図(その3)である。
【図10】図1のマスタノード装置の通信制御装置の構成を示すブロック図である。
【図11】図10のフレーム送信装置の構成を示すブロック図である。
【図12】図12(A)及び図12(B)は、図10の通信制御装置における処理を説明するための図(その1)である。
【図13】図13(A)〜図13(C)は、図10の通信制御装置における処理を説明するための図(その2)である。
【符号の説明】
10M…マスタノード装置(ノード装置)、10N1〜10NP…通常ノード装置(ノード装置)、150〜15P…光ファイバ(シリアル伝送路)、19…フレーム伝送路(フレーム巡回経路)、20M,20N…通信制御装置、22…フレーム受信処理装置、23M,23N…フレーム送信処理装置、40…メモリ、100…通信システム、FLM…可変長フレーム。
Claims (7)
- 1つがマスタノード装置である複数のノード装置がシリアル伝送路によりループ状に接続され、
送信元ノード識別子データを有するブロックヘッダデータ及び送信データを含むノードブロックを挿入及び削除可能な1つの可変長フレームが前記複数のノード装置を順次巡り、
前記可変長フレームへの前記ノードブロックの挿入は、前記可変長フレームを受信した受信ノード装置がデータの送信を行うときに、前記受信ノード装置によって新たな自ノードブロックの挿入として行われ、
前記可変長フレームからの前記ノードブロックの削除は、前記受信ノード装置が受信した前記可変長フレーム中に前記受信ノード装置により以前に挿入された自ノードブロックがあるとき、前記受信ノード装置による前記以前に挿入された自ノードブロックの削除として行われる通信システムにおいて、
前記マスタノード装置は、
システム初期化時には、新たな可変長フレームとして、通常可変長フレームを生成して前記シリアル伝送路に送出し、
前記可変長フレームが消失したと判断した時には、リトライ可変長フレームを生成して前記シリアル伝送路に送出し、
前記受信した可変長フレームが前記リトライ可変長フレームであるときには、前回の可変長フレーム時に挿入した自ノードブロックを前記リトライ可変長フレームに挿入するとともに、挿入されたノードブロックを変更せずに、前記リトライ可変長フレームを前記通常可変長フレームに変更し、
前記マスタノード装置以外のノード装置は、前記受信した可変長フレームが前記リトライ可変長フレームであるときには、前回の可変長フレーム時に挿入した自ノードブロックを前記リトライ可変長フレームに挿入する、ことを特徴とする通信システム。 - 前記ノードブロックそれぞれはエラー検出部を有し、
前記受信ノード装置は、受信した可変長フレームに含まれる他のノード装置が送信した他ノードブロックの内、エラー無と判定されたものに含まれる送信データを記憶することを特徴とする請求項1に記載の通信システム。 - 前記受信ノード装置は、前記受信した可変長フレームに含まれる前記受信ノード装置が送信した自ノードブロックがエラー有と判定されたとき、前記自ノードブロックを前記可変長フレームから削除した後、前記自ノードブロックが含むべきデータを含む新たな自ノードブロックを生成して前記可変長フレームに挿入する、ことを特徴とする請求項1又は2に記載の通信システム。
- 送信元ノード識別子データを有するブロックヘッダデータ及び送信データを含むノードブロックを挿入及び削除可能な1つの可変長フレームが巡るループ状のフレーム巡回経路上に配設される複数のノード装置におけるマスタノード装置が具備する通信制御装置であって、
前記可変長フレームを受信し、前記受信した可変長フレームに前記ノード装置が以前に挿入した自ノードブロックが存在するときには、該以前に挿入した自ノードブロックを削除するフレーム受信処理装置と;
前記フレーム受信処理装置を介したノードブロックに、新たに送信すべきデータがあるときには、前記送信すべきデータを含む新たな自ノードブロックが付加されたノードブロック群を作成し、前記ノードブロック群が挿入された可変長データフレームを前記フレーム巡回経路へ向けて送出するフレーム送信処理装置と;を備え、
前記フレーム送信処理装置は、
システム初期化時には、新たな可変長フレームとして、通常可変長フレームを生成して前記シリアル伝送路に送出し、
前記可変長フレームが消失したと判断した時には、リトライ可変長フレームを生成して前記シリアル伝送路に送出し、
前記受信した可変長フレームが前記リトライ可変長フレームであるときには、前回の可変長フレーム時に挿入した自ノードブロックを前記リトライ可変長フレームに挿入するとともに、挿入されたノードブロックを変更せずに、前記リトライ可変長フレームを前記通常可変長フレームに変更することを特徴とする通信制御装置。 - 前記フレーム送信処理装置は、前記新たな自ノードブロックを前記他ノードブロックの後ろに挿入する、ことを特徴とする請求項4に記載の通信制御装置。
- 前記ノードブロックそれぞれはエラー検出部を有し、
前記フレーム受信処理装置は、受信した可変長フレームに含まれる他のノード装置が挿入した他ノードブロックの内、エラー無と判定されたものに含まれる送信データをバッファ記憶装置に転送することを特徴とする請求項4又は5に記載の通信制御装置。 - 前記フレーム送信処理装置は、前記受信した可変長フレームに含まれる自ノード装置が送信した自ノードブロックがエラー有と判定されたとき、前記自ノードブロックが含むべきデータを含むノードブロックを前記新たな自ノードブロックとして作成する、ことを特徴とする請求項4〜6のいずれか一項に記載の通信制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001270727A JP3715560B2 (ja) | 2001-09-06 | 2001-09-06 | 通信システム及び通信制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001270727A JP3715560B2 (ja) | 2001-09-06 | 2001-09-06 | 通信システム及び通信制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003087277A JP2003087277A (ja) | 2003-03-20 |
JP3715560B2 true JP3715560B2 (ja) | 2005-11-09 |
Family
ID=19096340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001270727A Expired - Lifetime JP3715560B2 (ja) | 2001-09-06 | 2001-09-06 | 通信システム及び通信制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3715560B2 (ja) |
-
2001
- 2001-09-06 JP JP2001270727A patent/JP3715560B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003087277A (ja) | 2003-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6157972A (en) | Apparatus and method for processing packetized information over a serial bus | |
JP2565631B2 (ja) | データ・フレームの伝送方法及び伝送システム | |
US4780814A (en) | Global serial channel for microcontroller | |
US4332027A (en) | Local area contention network data communication system | |
KR100304063B1 (ko) | 2지점간상호접속통신유틸리티 | |
US5301186A (en) | High speed transmission line interface | |
US6094532A (en) | Multiprocessor distributed memory system and board and methods therefor | |
US6347097B1 (en) | Method and apparatus for buffering received data from a serial bus | |
JPS6022846A (ja) | デ−タ通信システム及び装置 | |
JPH0354659A (ja) | 4ポート付きパケットメモリ制御装置を有する二重経路コンピュータ相互接続システム | |
JPH0340543B2 (ja) | ||
US4593281A (en) | Local area network interframe delay controller | |
CN112836453B (zh) | Sas控制器帧缓冲区结构设计方法 | |
US6973096B2 (en) | System and method for processing bandwidth allocation messages | |
CN105357147A (zh) | 一种高速高可靠的片上网络适配单元 | |
JP2009502072A (ja) | FlexRay通信モジュール及びFlexRay通信制御装置、並びにFlexRay通信接続とFlexRay加入者装置との間でメッセージを伝送する方法 | |
US6442670B2 (en) | Data processing system including a shared memory resource circuit | |
US5442631A (en) | Communication control device | |
JP3715560B2 (ja) | 通信システム及び通信制御装置 | |
Scott | The SCX channel: A new, supercomputer-class system interconnect | |
CN114615353B (zh) | 一种基于axi总线的rmap目标方ip核及其命令响应方法 | |
JP2972193B2 (ja) | 高速シリアルリンクのバッファをパージする方法、及び該方法を実施する装置 | |
US6643816B1 (en) | Transmitting apparatus and error handling method in transmitting apparatus | |
JP2643089B2 (ja) | 並列/直列バスにおけるエラー検出および回復システム | |
US20230269062A1 (en) | Communication apparatus and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050519 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050630 |
|
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: 20050817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050825 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3715560 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110902 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110902 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |