(57)【特許請求の範囲】
【請求項１】
送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、
前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、
前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、
前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する第１の送信制御ステップと、
前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御ステップと、
前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第２の送信制御ステップと、
前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新する加算更新ステップと
を有することを特徴とするパケット送受信方法。
【請求項２】
前記加算更新ステップで記憶している前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してＡＣＫ受信した場合および予め定めた時間の間連続してＡＣＫ受信した場合のいずれかの場合に、記憶している前記パケット送信間隔情報の値を減少させる減少更新ステップをさらに備えることを特徴とする請求項１記載のパケット送受信方法。
【請求項３】
送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ＡＣＫ応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、
前記ＡＣＫ応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、
前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、
前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する第１の送信制御ステップと、
前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御ステップと、
前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第２の送信制御ステップと、
前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新する更新ステップと
を有することを特徴とするパケット送受信方法。
【請求項４】
送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、
前記送信側装置は、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、
前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、
前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、
前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する送信制御手段と、
前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御手段と、を備え、
前記送信制御手段は、前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新することを特徴とするパケット送受信装置。
【請求項５】
前記送信側装置は、前記ＮＡＣＫ応答パケットの受信により前記パケット送信間隔記憶手段が前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してＡＣＫ受信した場合および予め定めた時間の間連続してＡＣＫ受信した場合のいずれかの場合に、前記パケット送信間隔記憶手段が記憶する前記パケット送信間隔情報の値を減少させる制御手段をさらに備えることを特徴とする請求項４記載のパケット送受信装置。
【請求項６】
送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、
前記送信側装置は、
前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ＡＣＫ応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、
前記ＡＣＫ応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、
前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、
前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する送信制御手段と、
前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御手段と、を備え、
前記送信制御手段は、前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新することを特徴とするパケット送受信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット送受信方法、及び装置に関し、特に送信側より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、送信側にて各データパケットの送信後、ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムと、それに用いられるパケット送受信装置と、そのパケット送受信方法とに関する。
【０００２】
【従来の技術】
従来、パケット送受信システム（装置）において、パケット送信側装置からのパケット送信（転送）は、パケット受信側装置からのＡＣＫ（肯定）応答により、続くパケットの送信を行い、ＮＡＣＫ（否定）応答により直前のパケットの再送を行うことにより行われている。パケット転送のスループットを上げるためには、受信側装置において確実に受信することができるデータパケット間の時間間隔ぎりぎりまで、送信側装置におけるパケット送信間隔（時間間隔）を短縮する必要がある。しかし、上述のＡＣＫ応答パケットは必ずしも、受信側装置において直ちに次のパケットの受信が可能であることを示しているとは限らない。このため、送信側装置が勝手にパケット送信間隔の時間を短縮すると、受信側装置においてパケットを正常に受信できなくなる回数、すなわちパケットの再送回数が増加し、バス（ネットワーク）のトラフィックを無駄に消費してしまう問題があった。
【０００３】
これを解決するため、パケット受信側装置が受信可能な状態となったことを示す特別な情報パケット（空情報パケット）をパケット送信側装置に送信し、この空情報パケットを受信してから送信側装置は通常の情報パケットを送信するといった技術が提案されている（例えば、特許文献１参照）。
【０００４】
あるいは、パケット送信側装置からパケット受信側装置にパケット送信間隔（時間間隔）を伝え、受信側装置では所定個数単位で、実際のパケット受信間隔（時間間隔）の和と、伝えられたパケット送信間隔の和との比較結果を送信側装置に通知し、送信側装置では通知され比較結果に基づいてパケット送信間隔を変化させる技術が提案されている（例えば、特許文献２参照）。
【０００５】
【特許文献１】
特開平２−１４２２４９号公報（第１−２頁、第１図）
【特許文献２】
特開平７−３０３１１７号公報（第２頁、図１３）
【０００６】
【発明が解決しようとする課題】
上述した従来の前者の技術（特許文献１記載技術）では、情報パケットの転送ごとに毎回、パケット受信側装置から受信可能状態を示すための空情報パケットを転送しているので、パケット送信側装置及び受信側装置間を接続するバス（ネットワーク）上でこれらパケットの転送（往復分）にかかる時間だけパケット送信間隔に無駄な待ち時間を生じ、スループットを極限まで向上させることができないという問題点があった。さらに、この技術をパケット受信ごとに必ずＡＣＫ／ＮＡＣＫ応答パケットを返送するパケット送受信システム（装置）にそのまま適用すると、空情報パケットの分だけトラフィックを無駄に消費するという問題点があった。
【０００７】
また従来の後者の技術（特許文献２記載技術）では、パケット受信側装置が、所定個数単位で、実際のパケット受信間隔合計と伝えられたパケット送信間隔合計とを比較し、その比較結果をパケット送信側装置に通知しなければならないので、受信側装置の構成が複雑になるとともに、その処理動作に負担がかかるという問題点があった。
【０００８】
本発明の目的は、パケット受信側となる装置の構成の複雑化及び処理動作の負担増を抑制しながら、バス（ネットワーク）のトラフィックを消費することなく、最大のスループットを得ることができるパケット送受信方法、及び装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明のパケット送受信方法は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する第１の送信制御ステップと、前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御ステップと、前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第２の送信制御ステップと、前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新する更新ステップとを有することを特徴とする。
【００１０】
本発明のパケット送受信方法は、前記加算更新ステップで記憶している前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してＡＣＫ受信した場合および予め定めた時間の間連続してＡＣＫ受信した場合のいずれかの場合に、記憶している前記パケット送信間隔情報の値を減少させる減少更新ステップをさらに備えることを特徴とする。
【００１１】
また、本発明のパケット送受信方法は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおける前記送信側装置のパケット送受信方法において、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ＡＣＫ応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶する記憶ステップと、前記ＡＣＫ応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始する計時ステップと、前記計時ステップで計時する時間が、前記記憶ステップで記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較ステップと、前記比較ステップで前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する第１の送信制御ステップと、前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御ステップと、前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力する第２の送信制御ステップと、前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記計時ステップで計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新する更新ステップとを有することを特徴とする。
【００１２】
本発明のパケット送受信装置は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、前記送信側装置は、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が受信可能なデータパケット間の時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、前記データパケットの送信開始信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに前記送信開始信号を出力する送信制御手段と、前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御手段と、を備え、前記送信制御手段は、前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時した当該時刻での計時値を、記憶している前記パケット送信間隔情報に加算して更新することを特徴とする。
【００１３】
また、本発明のパケット送受信装置の前記送信側装置は、前記ＮＡＣＫ応答パケットの受信により前記パケット送信間隔記憶手段が前記パケット送信間隔情報を加算更新したあと、予め定めた回数連続してＡＣＫ受信した場合および予め定めた時間の間連続してＡＣＫ受信した場合のいずれかの場合に、前記パケット送信間隔記憶手段が記憶する前記パケット送信間隔情報の値を減少させる制御手段をさらに備えることを特徴とする。
【００１４】
また、本発明のパケット送受信装置は、送信側装置より送信すべきデータを複数のデータパケットに分割して順次送信し、受信側装置にて各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送し、前記送信側装置にて各データパケットの送信後、前記ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、前記ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送するパケット送受信システムにおいて、前記送信側装置は、前記データパケットの送信開始前に前記受信側装置から受信した、前記受信側装置が前記ＡＣＫ応答パケット返送時点から次のデータパケットの受信が可能となる時点までの時間間隔を示すパケット送信間隔情報を記憶するパケット送信間隔記憶手段と、前記ＡＣＫ応答パケットの受信により出力されるタイマー起動信号を受信する度に計時回路をリセットして計時を開始するタイマー手段と、前記タイマー手段が計時する時間が、前記パケット送信間隔記憶手段に記憶した前記パケット送信間隔情報と一致したときに前記データパケットの送信を許可する比較手段と、前記比較手段から前記データパケットの送信を許可されると、前記データパケットを前記受信側装置に送信するとともに送信開始信号を出力する送信制御手段と、前記ＮＡＣＫ応答パケットを受信すると、予め定めた一定時間の間ＮＡＣＫ受信信号を出力する受信制御手段と、を備え、前記送信制御手段は、前記ＮＡＣＫ受信信号を受信すると直前の前記データパケットを再送するとともに前記送信開始信号を出力し、前記パケット送信間隔記憶手段は、前記ＮＡＣＫ受信信号の受信中に前記送信開始信号を受信すると、前記タイマー手段が計時している当該時刻での計時値を、記憶している前記パケット送信間隔として更新することを特徴とする。
【００１５】
【発明の実施の形態】
まず、本発明の概要を説明する。本発明は、パケット受信側装置からパケット送信側装置に対していちいち受信可能状態を通知するためにバストラフィックを消費することなく、パケット送信側装置がパケット受信側装置の受信能力を考慮してパケット送信を行うことにより、スループットを最大にしながらパケット受信側装置においてパケット受信を確実に行えるようにするものである。より詳細に説明すると、パケット送信側装置は、パケット送信の対象であるパケット受信側装置から確実に受信できるパケット送信間隔を予め取得して、これを送信間隔記憶部に記憶し、この間隔をもって送信制御部はパケット送信を行う。これにより、パケット受信側装置の受信不可状態によりパケットの再送が発生することを防止することができる。
【００１６】
また、実際の運用状態においてパケット受信側装置の受信能力が、なんらかの理由によって低下した場合、パケット送信側装置は、パケット受信側装置の受信能力を測定し、最適な送信間隔をもって送信間隔記憶部の内容を更新する。これにより、常時安定したパケット送受信を行うことができる。
【００１７】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
図１は本発明の一実施の形態を示すシステム構成図である。図１において、本実施の形態例（第１の実施の形態）のパケット送受信システムは、共通のネットワークであるバス２に複数台のパケット送受信装置１（１−１〜１−Ｎ）が接続されており、あるパケット送受信装置１−１から他のパケット送受信装置１−４に対してデータパケット３を送信し、パケット送受信装置１−４からパケット送受信装置１−１に対してＡＣＫ（肯定）またはＮＡＣＫ（否定）の応答パケット４を返送している場合を示している。パケット送信側装置（１−１）は、送信データを複数のデータパケットに分割して順次送信しており、各データパケットの送信後、ＡＣＫ応答パケットを受信すると後続のデータパケットを送信し、ＮＡＣＫ応答パケットを受信すると直前のデータパケットを再送する。パケット受信側装置（１−４）は、各データパケットの受信ごとに、正常に受信できた場合はＡＣＫ応答パケットを返送し、正常に受信できなかった場合はＮＡＣＫ応答パケットを返送する。なお本発明ではネットワークの形態は限定する必要はなく、ここでは例としてバス型で表しているが、階層型でも、スター型でも、あるいはその他の形態でもかまわない。
【００１９】
図２は、各パケット送受信装置１（１−１〜１−Ｎ）の内部構成例を示したブロック図である。各パケット送受信装置１（１−１〜１−Ｎ）は同一構成のため、１つのパケット送受信装置１のみを示す。
【００２０】
図２において、本例のパケット送受信装置１は、装置全体を制御する主制御部１０と、バス２を通してパケットの送受信を行うパケット送受信部２０とを有している。主制御部１０は、パケット送受信装置全体を制御するために必要なＣＰＵなど、一般的に情報処理装置に必要とされる部品により構成されている。パケット送受信部２０は、送信パケット蓄積メモリ２１と、送信制御部２２と、比較器２３と、送信間隔記憶部２４と、送信タイマー２５と、受信パケット蓄積メモリ２６と、受信解析部２７と、受信制御部２８とを有している。
【００２１】
送信パケット蓄積メモリ２１は、主制御部１０からの命令で送信するパケットを一時的に格納する。送信制御部２２は、送信パケット蓄積メモリ２１からパケットデータを読み出し、バス２に送出する。
【００２２】
受信制御部２８は、バスからパケットの受信を行い、受信したパケットを受信解析部２７を通して受信パケット蓄積メモリ２６に格納する。受信解析部２７は、受信制御部２８と受信パケット蓄積メモリ２６との間に配置され、受信パケットの内容を解析する。解析した結果、ヘッダ情報から受信したパケットの自装置宛なのか他装置宛なのかなどのパケット内容の解析を行う。受信制御部２８及び受信解析部２７はまた、各データパケットの受信ごとに正常に受信できたかできなかったかを判定し、正常に受信できた場合はＡＣＫ応答パケットを、正常に受信できなかった場合はＮＡＣＫ応答パケットを、送信制御部２２を通して受信したデータパケットの送信元へ返送させる。
【００２３】
送信間隔記憶部２４は、受信解析部２７において受信パケットを解析した結果、受信側装置の送信間隔を含むパケットならば、その情報を格納する。送信タイマー２５は、送信制御部２２、および受信制御部２８と同じクロックソースで動作するタイマー回路である。比較器２３は、送信間隔記憶部２４と送信タイマー２５との情報を比較し、一致したタイミングで送信制御部２２に対してパケット送信の許可信号を送出する。
【００２４】
次に、動作を説明する。
【００２５】
図３は、本発明におけるパケット送信側装置（例えば、パケット送受信装置１−１）とパケット受信側装置（例えば、パケット送受信装置１−４）との間のパケットの流れの一例を示したシーケンス図である。図３において、パケット送信側装置（１−１）は、電源投入時など、すくなくともデータパケットの送信を開始するまえに、パケット受信側装置（１−４）に対して、確実に受信可能なデータパケット間の時間間隔を示す受信可能パケット間隔、すなわちパケット送信側装置におけるパケット送信間隔情報を要求する。この受信側装置が持つ受信可能パケット間隔とは、受信側装置を開発製造するメーカーが推奨する値で、工場出荷状態において予め組み込まれている値である。
【００２６】
パケット受信側装置（１−４）は、パケット送信間隔情報要求を受け取ると、自装置が保持している受信可能パケット間隔情報をパケット送信間隔情報としてパケット送信側装置（１−１）に返送する。
【００２７】
パケット送信側装置（１−１）では、パケット受信側装置（１−４）からパケット送信間隔情報を取得すると、自装置内（受信解析部２７）において送信間隔情報信号ｓ２を送出し、送信間隔記憶部２４に格納する。図３のシーケンス図では、以降、この送信間隔Ｔ（＝Ｔ１）をもってデータパケットの送信を行うことを示している。なお、ＡＣＫ応答パケットは、この送信間隔Ｔ１以内に返送される。
【００２８】
パケット送信側装置（１−１）のパケット送受信部２０では、主制御部１０の制御の下、パケット受信側装置（１−４）宛の送信データを所定の大きさのパケット（データパケット）に分割して送信パケット蓄積メモリ２１に格納し、送信開始要求を送信制御部２２に与える。送信制御部２２は、送信開始要求を受けると、送信パケット蓄積メモリ２１から最初のデータパケットを読み出し、バス２に対して送出すると同時に、送信開始信号ｓ３を送信タイマー２５に送信する。
【００２９】
送信開始信号ｓ３を受信した送信タイマー２５は、タイマー回路をリセット、リスタートし、バス２に同期したクロックソースによりビットタイムのカウントを監視する。
【００３０】
比較器２３は、送信タイマー２５の値と、送信間隔記憶部２４の値の比較を行い、これらの値の一致を検出した場合、送信許可信号ｓ４を送信制御部２２に対して送る。送信許可信号ｓ４を受信した送信制御部２２は、即座に次のデータパケットを送信パケット蓄積メモリ２１から読み出しバス２に送出する。
【００３１】
バス２に送出されたデータパケットは、宛先であるパケット受信側装置（１−４）で受信され、正常に受信できた場合はＡＣＫ応答パケットが返送されてくる。パケット送信側装置（１−１）では、ＡＣＫ応答パケットが返送されてきた場合は、送信間隔記憶部２４に記憶された送信間隔Ｔの値（Ｔ１）に対する変更処理は行わない。
【００３２】
以上の動作を繰り返すことにより、再送を発生することなく、すべてのデータパケット送受信を行うことができる。図４に、以上に説明したパケットと各信号の関係の一例を示したタイミングチャートを示す。
【００３３】
次に、上記のメカニズムにより、パケット送信側装置（パケット送受信装置１−１）が最適なパケット送信間隔Ｔ（＝Ｔ１）でパケット送信を行っているにもかかわらず、万一、パケット受信側装置（パケット送受信装置１−４）において、何らかの理由によりパケット受信能力が低下した場合（例えば、パケット受信側装置（１−４）がマルチタスク環境にて動作している場合において、別タスクの負荷が異常に重くなった場合など）、パケット送信側装置（１−１）がパケット受信側装置（１−４）からデータパケットを正常に受信できなかったことを示すＮＡＣＫ応答パケットを受信したときの動作について説明する。なお、このＮＡＣＫ応答パケットも、送信間隔Ｔ１以内に返送される。
【００３４】
図５は、パケット受信側装置（１−４）からＮＡＣＫ応答パケットが返信されてきた場合のパケットフローの一例を示したシーケンス図である。パケット受信側装置（１−４）からＮＡＣＫ応答が返送されている間、パケット送信側装置（１−１）は同じデータパケットの再送を繰り返す。パケット送信側装置（１−１）は、ＮＡＣＫ応答により送信間隔記憶部２４のパケット送信間隔情報を更新する。すなわち、ＮＡＣＫ受信ごとに再送データパケットの送信間隔（ｔ１、ｔ２（＜Ｔ１））をＴ１に順次加算し、Ｔ２（図５に示す場合、Ｔ２＝Ｔ１＋ｔ１＋ｔ２）とする。ＡＣＫ受信で加算を停止する。以降のパケット送信において、この更新されたパケット送信間隔Ｔ（＝Ｔ２）により、再送を発生することなくパケット送受が行われることを示している。
【００３５】
図６は、パケット送信側装置（パケット送受信装置１−１）における送信間隔記憶部２４が更新される様子の一例を示したタイミングチャート図である。再送なくデータパケット送受が行われているとき、送信タイマー２５のカウント値が、送信間隔記憶部２４が保持するＴ１に達すると、送信許可信号ｓ４が発生しデータパケットＤａｔａ［ｍ］が送信される。データパケットＤａｔａ［ｍ］の送信とともに送信開始信号ｓ３を受信した送信タイマー２５は、リセット、リスタートし、再びＴ１後に送信許可信号ｓ４が発生、次のデータパケットＤａｔａ［ｎ］が送信される。
【００３６】
このとき、何らかの理由でパケット受信側装置（パケット送受信装置１−４）にてデータパケットの受信処理ができない状態にあると、ＮＡＣＫ応答が返送される。パケット送信側装置（１−１）の受信解析部２７では、ＮＡＣＫ応答を受けて、ＮＡＣＫ受信信号ｓ１を一定時間の間アクティブ状態にする。一定時間とは、ＮＡＣＫ受信信号ｓ１が送信制御部２２のデータパケット再送のトリガ、および、送信間隔記憶部２４の更新に利用されるので、これを満足する時間であればよい。ここでは、実装方法についてまでは規定しないが、例を挙げるとすれば、受信解析部２７の中に、タイマー回路を設けて、上記動作を保証する一定時間経過後にＮＡＣＫ受信信号ｓ１を非アクティブ状態にすることで実現できる。
【００３７】
ＮＡＣＫ受信信号ｓ１がアクティブとなると、これを受信した送信制御部２２は、即座に同じデータパケットＤａｔａ［ｎ］を再送し、送信開始信号ｓ３を発する。ＮＡＣＫ受信信号ｓ１がアクティブ状態のときに、送信開始信号ｓ３を受信した送信間隔記憶部２４は、それまでに記憶していたＴ１と、送信タイマー２５の現在のカウント値ｔ１とを加算した結果Ｔ１’（＝Ｔ１＋ｔ１）を記憶保持する。さらに、再送された２回目のＤａｔａ［ｎ］に対して、再びＮＡＣＫ応答が返送されると、Ｄａｔａ［ｎ］の再送タイミングにてＴ１’とｔ２（通常の場合、ｔ２＝２ｔ１）を加算した値Ｔ２（＝Ｔ１＋ｔ２）をもって送信間隔記憶部２４が再度更新される。
【００３８】
３回目のＤａｔａ［ｎ］に対してはＡＣＫ応答があったので、送信間隔記憶部２４の値はＴ２のままとなり、次のデータパケットＤａｔａ［ｐ］は、送信間隔Ｔ２後に送信される。
【００３９】
以上の動作により、パケット送信側装置は、パケット受信側装置からの応答パケットにより、自装置単独で送信間隔を最適な値に更新し、データパケット再送の発生を大幅に減らすことができ、結果として、無駄なトラフィック発生を抑制することが可能となる。
【００４０】
次に、受信可能パケット間隔を持っていないパケット受信側装置が通信相手の場合の動作について説明する。受信側装置において受信可能パケット間隔を持たない場合、当然ながら送信側装置からの要求に対して応答できないため、送信側装置においては、初期のパケット送信間隔を取得することができない。このように送信側装置において、受信側装置の受信可能パケット間隔が取得できない場合、送信間隔記憶部２４は送信側装置の起動時にリセットされた状態、すなわち送信間隔はゼロからスタートする。この状態でＮＡＣＫ応答によるパケット再送が発生することがなければ、このままパケット送受を継続すればよい。もしも、ＮＡＣＫ応答によるパケット再送が発生した場合でも、これまでに説明したメカニズムにより送信間隔記憶部２４の値が更新されるため、再送が起きないパケット送信が行える。
【００４１】
次に、パケット受信側装置の処理負荷が減少した場合などに、パケット送信側装置において、いったん増加させた送信間隔記憶部２４の送信間隔情報を減少させる方法について説明する。まず、減少させるトリガであるが、送信側装置において、ある一定回数連続してＡＣＫ受信した場合に減少させる方法、ある一定時間の間連続してＡＣＫ受信した場合に減少させる方法との２つが考えられる。これらは、ＡＣＫ受信またはＮＡＣＫ受信で主制御部１０に対して割り込みを発生させ、主制御部１０で実行しているソフトウェアにてこれを監視し、一定時間または一定回数の条件を満足した場合に、ソフトウェア制御により送信間隔記憶部２４の値を減少させることで実現できる。一定時間、一定回数をどのように設定するか、また、どのように減少させるかという手順については、送信側装置の機能実装に依存することであるので、具体的に数値についてはまでは規定しない。なお、受信側装置から負荷状態などの情報を取得し、その情報から送信間隔を減少させることも考え方としては存在するが、この方法では、さまざまな種類の受信側装置を想定した場合、取得した負荷状態の情報から送信間隔を定量的に算出することが困難であること、また、この情報をやりとりするための仕組みを送受信双方の装置に実装する必要があるため、ここでは範囲外とする。
【００４２】
次に本発明の他の実施の形態を図１及び図７〜１１を参照して説明する。本実施の形態例（第２の実施の形態）のパケット送受信システムは、上述した第１の実施の形態と基本的な構成は同様であるが、パケット受信側装置が持つ受信可能パケット間隔（パケット送信間隔情報）が、あるデータパケット受信後のＡＣＫ応答パケット返送時点から次のデータパケット受信可能となる時点までの間隔を指す場合に適した構成となっている。
【００４３】
本例（第２の実施の形態）のパケット送受信システムのシステム構成は、図１に示す第１の実施の形態と同様である。ただし、バス２における各パケット送受信装置１（１−１〜１−Ｎ）相互間のパケット転送遅延時間（同一パケットの送信時刻と受信時刻との差分時間）が、パケット送信間隔に対して無視できる程度に小さい場合を想定している。パケット転送遅延時間がある程度大きいと、いくらパケット送信側装置で受信側から取得したパケット送信間隔情報に従ってデータパケットの送信を行っても、パケット受信側装置で無駄な待ち時間を生じることになる。その場合は、パケット送信側装置で設定するパケット送信間隔を、取得したパケット送信間隔からパケットの往復の転送遅延時間分だけ削減した値とすることが考えられる。
【００４４】
図７は、本例（第２の実施の形態）の各パケット送受信装置１（１−１〜１−Ｎ）の内部構成例を示したブロック図である。各パケット送受信装置１（１−１〜１−Ｎ）は同一構成のため、１つのパケット送受信装置１のみを示す。本例のパケット送受信装置１は、図２に示す第１の実施の形態のパケット送受信装置１と基本的な構成は同様である。異なる点は、送信タイマー２５に対するリセット・起動を指示する信号が、送信制御部２２からの送信開始信号ｓ３ではなくて、受信解析部２７からのＡＣＫ応答パケット受信を示すタイマー起動信号ｓ５であることと、送信間隔記憶部２４におけるパケット送信間隔値の更新方法が異なることである。以下，これらの相違点を主として説明する。
【００４５】
図８は、パケット送信側装置（例えば、パケット送受信装置１−１）とパケット受信側装置（例えば、パケット送受信装置１−４）との間のパケットの流れの一例を示したシーケンス図である。図８において、パケット送信側装置（１−１）は、電源投入時など、すくなくともデータパケットの送信を開始するまえに、パケット受信側装置（１−４）に対して受信可能パケット間隔、すなわちパケット送信側装置におけるパケット送信間隔情報を要求する。このパケット送信間隔情報は、上述したように、あるデータパケット受信後のＡＣＫ応答パケット返送時点から次のデータパケット受信可能となる時点までの間隔を指し、受信側装置を開発製造するメーカーが推奨する値で、工場出荷状態において予め組み込まれている値である。
【００４６】
パケット送信側装置（１−１）は、パケット送信間隔情報を取得すると送信間隔情報信号ｓ２を送出し、送信間隔記憶部２４に格納する。なお、この際、上述したように、予め判明しているパケット送信側装置（１−１）とパケット受信側装置（１−４）間のパケットの往復の転送遅延時間分だけ送信間隔情報信号ｓ２の値を減じておくことができる。
【００４７】
図８のシーケンス図では、以降、この送信間隔Ｔ（Ｔ５）をもってデータパケットの送信を行うことを示している。送信制御部２２は、主制御部１０から送信するパケットデータが送信パケット蓄積メモリ２１に格納され、送信開始命令を受けると、最初のデータパケットをバス２に対して送出する。もし、このデータパケットに対して受信側装置から正常のデータパケットを受信したことを示すＡＣＫ応答パケットが返送されてきた場合、受信解析部２７においてこれを検出し、送信タイマー２５に対してタイマー起動信号ｓ５を送出する。
【００４８】
送信タイマー２５は、タイマー起動信号ｓ５を受信すると、カウント値を初期化し、バスに同期したクロックソースによりバス上のビットタイムをカウントする。
【００４９】
比較器２３は、予め送信間隔記憶部２４に格納されている送信間隔情報と送信タイマー２５の値とを比較し一致すると、送信制御部２２に対して次のデータパケットの送信許可信号ｓ４を送出する。送信許可信号ｓ４を受信した送信制御部２２は、次のデータパケットを送信パケット蓄積メモリ２１から読み出し、バス２に送出する。
【００５０】
以上の動作を繰り返すことにより、再送を発生することなく、すべてのデータパケット送受信を行うことができる。図９は、以上に説明したパケットと各信号の関係の一例を示したタイミングチャートである。
【００５１】
次に、上記のメカニズムにより、パケット送信側装置（１−１）が最適なパケット送信間隔Ｔ（＝Ｔ５）でパケット送信を行っているにもかかわらず、万一、パケット受信側装置（１−４）において、何らかの理由によりパケット受信能力が低下した場合（たとえば、パケット受信側装置がマルチタスク環境にて動作している場合において、別タスクの負荷が異常に重くなった場合など）、パケット送信側装置がパケット受信側装置からデータパケットを正常に受信できなかったことを示すＮＡＣＫ応答パケットを受信したときの動作について説明する。
【００５２】
図１０は、受信側装置（１−４）からＮＡＣＫ応答パケットが返信されてきた場合のパケットフローの一例を示したシーケンス図である。パケット受信解析部２７において、ＮＡＣＫ応答パケットを検出すると、送信制御部２２に対してＮＡＣＫ受信信号ｓ１を送出し、送信制御部２２は直前のデータパケットを再送するとともに送信開始信号ｓ３を出力する。この時点において、ＡＣＫ応答パケットを受信していないため、当然ながらパケット受信解析部２７からはＡＣＫ受信信号、すなわちタイマー起動信号ｓ５が送出されていないため、送信タイマー２５はカウント動作を継続している。
【００５３】
ＮＡＣＫ受信信号ｓ１は、同時に送信間隔記憶部２４に対しても入力されている。また、送信開始信号ｓ３も送信間隔記憶部２４に対して入力されている。送信間隔記憶部２４は、ＮＡＣＫ受信信号ｓ１がアクティブになっている状態で、送信開始信号ｓ３を受信すると、現在の送信タイマー２５の値をロードし、送信間隔情報を更新する（Ｔ＝Ｔ５→Ｔ５＋ｔ１（＝Ｔ５’）→Ｔ５＋ｔ１＋ｔ２（＝Ｔ５’＋ｔ２））。この結果、送信間隔記憶部２４の送信間隔情報は最終的に、実際にパケット受信側装置において正常にデータパケットの受信がなされた間隔、すなわちパケット送信側装置における最適なパケット送信間隔値（Ｔ６＝Ｔ５＋ｔ１＋ｔ２）に更新される。
【００５４】
図１１は、以上に説明した、送信間隔記憶部２４の更新タイミングの一例を示したタイミングチャートである。
【００５５】
【発明の効果】
以上説明したように本発明によれば、パケット受信側装置は、通常のＡＣＫ／ＮＡＣＫ応答パケットの返送以外には、確実に受信可能なデータパケット間の時間間隔を示す受信可能パケット間隔を予め設定しておき、パケット転送開始前にそれをパケット送信間隔としてパケット送信側装置に伝えるだけでよいので、構成の複雑化及び処理動作の負担増を抑制することができ、またパケット送受信のたびに受信側装置の状態を示すパケットを転送する必要がないため、バスのトラフィックを消費することなく、最大のスループットを得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示すシステム構成図である。
【図２】図１に示すパケット送受信装置の内部構成例を示したブロック図である。
【図３】本発明におけるパケット送信側装置と受信側装置との間のパケットの流れの一例を示したシーケンス図である。
【図４】図３に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【図５】本発明におけるパケット送信側装置と受信側装置との間のパケットの流れの他の一例を示したシーケンス図である。
【図６】図５に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【図７】本発明のパケット送受信装置の他の内部構成例を示したブロック図である。
【図８】図７に示すパケット送受信装置におけるパケット送信側装置と受信側装置との間のパケットの流れの一例を示したシーケンス図である。
【図９】図８に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【図１０】図７に示すパケット送受信装置におけるパケット送信側装置と受信側装置との間のパケットの流れの他の一例を示したシーケンス図である。
【図１１】図１０に対応したパケット送信側装置におけるパケットと各信号の関係の一例を示したタイミングチャートである。
【符号の説明】
１（１−１〜１−Ｎ）    パケット送受信装置
１０    主制御部
２０    パケット送受信部
２１    送信パケット蓄積メモリ
２２    送信制御部
２３    比較器
２４    送信間隔記憶部
２５    送信タイマー
２６    受信パケット蓄積メモリ
２７    受信解析部
２８    受信制御部
【図１】
0004192627.tif 000002
【図２】
0004192627.tif 000003
【図３】
0004192627.tif 000004
【図４】
0004192627.tif 000005
【図５】
0004192627.tif 000006
【図６】
0004192627.tif 000007
【図７】
0004192627.tif 000008
【図８】
0004192627.tif 000009
【図９】
0004192627.tif 000010
【図１０】
0004192627.tif 000011
【図１１】
0004192627.tif 000012