(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数の送信データを送信するデータ送信装置であって、
（ａ）複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択部と、
（ｂ）前記複製対象送信データ選択部により選択された前記複製対象送信データの複製である複製データを生成する複製データ生成部と、
（ｃ）前記複製データ生成部により前記複製対象送信データの前記複製データが生成された場合に、前記複製対象送信データと、前記複製対象送信データの前記複製データとを送信する送信部と、
（ｄ）前記ネットワークの通信品質に基づいて、前記複製データ生成部による複製データの複製数を設定する複製数設定部とを有し、
前記複製データ生成部は、
前記複製数設定部により設定された複製数に従って複製データを生成し、
前記送信部は、送信データを１回以上再送する場合があり、
前記複製数設定部は、前記ネットワークの通信品質として、前記送信部による送信データの再送回数に基づいて、前記複製データ生成部による複製データの複製数を設定し、
前記データ送信装置は、
前記複製数設定部として、
前記送信部による送信データの再送回数を記録する再送回数記録部と、
前記再送回数に関する基準値である再送回数基準値を記録する再送回数基準値記録部と、
前記再送回数記録部に記録された前記再送回数と前記再送回数基準値記録部に記録された前記再送回数基準値とを比較する再送回数比較部と、
前記複製データ生成部による複製データの複製数を記録する複製データ複製数記録部とを有し、
前記再送回数比較部は、前記再送回数記録部に記録された前記再送回数と前記再送回数基準値記録部に記録された前記再送回数基準値とを比較し、前記再送回数が前記再送回数基準値以上であると判断した場合に、前記複製データ複製数記録部に前記複製数の増加を指示する複製数増加指示を出力し、
前記複製データ複製数記録部は、前記再送回数比較部より出力された前記複製数増加指示に従って、前記複製数を増加し、
前記複製データ生成部は、前記複製データ複製数記録部に記録された前記複製数に従って、前記複製データを生成することを特徴とするデータ送信装置。
【請求項２】
前記複数の送信データの各々には、前記複数の送信データの各々の送信順序を示す送信シーケンス番号が設定され、
前記データ送信装置は、更に、前記送信シーケンス番号のうち送信順序の最後を示す送信シーケンス番号を記録する送信シーケンス番号記録部を有し、
前記複製対象送信データ選択部は、
前記複数の送信データの各々に設定された前記送信シーケンス番号が、前記送信シーケンス番号記録部に記録された前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号であることを前記複製対象送信データの選択条件とし、
前記送信シーケンス番号記録部に記録された前記送信順序の最後を示す送信シーケンス番号と、前記複数の送信データの各々に設定された前記送信シーケンス番号とを比較し、
前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号が設定されていると判断された送信データを、前記複製対象送信データとすることを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
前記複数の送信データの各々は、ヘッダー部とデータ部とを有し、
前記複製対象送信データ選択部は、
前記複数の送信データの各々の前記データ部のデータサイズがゼロであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記データ部のデータサイズを判断し、
前記データ部のデータサイズがゼロと判断された送信データを前記複製対象送信データとすることを特徴とする請求項１に記載のデータ送信装置。
【請求項４】
前記複製対象送信データ選択部は、
前記複数の送信データの各々が、他の送信データを複数個に分割した分割データのうちの最終の分割データであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記最終分割データであるか否かを判断し、
前記最終の分割データであると判断された送信データを前記複製対象送信データとすることを特徴とする請求項１に記載のデータ送信装置。
【請求項５】
前記データ送信装置は、更に、送信データのデータサイズに関する基準値であるデータサイズ基準値を記録するデータサイズ基準値記録部を有し、
前記複製対象送信データ選択部は、
前記複数の送信データの各々のデータサイズが、前記データサイズ基準値記録部に記録されたデータサイズ基準値以下であることを前記複製対象送信データの選択条件とし、
前記データサイズ基準値記録部に記録された前記データサイズ基準値と前記複数の送信データの各々のデータサイズとを比較し、
前記データサイズ基準値以下のデータサイズであると判断された送信データを前記複製対象送信データとすることを特徴とする請求項１に記載のデータ送信装置。
【請求項６】
データの重要性に応じて優先度が設定されている複数の送信データを送信するデータ送信装置であって、
（ａ）所定の選択条件に従って、複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択部と、
（ｂ）前記複製対象送信データ選択部により選択された前記複製対象送信データの複製である複製データを生成する複製データ生成部と、
（ｃ）前記優先度に関する基準値である優先度基準値を記録する優先度基準値記録部とを有し、
前記複製対象送信データ選択部は、
前記優先度基準値記録部に記録された前記優先度基準値と前記複数の送信データの各々に設定された前記優先度とを比較し、
前記選択条件に合致する送信データであっても、前記優先度基準値以下の優先度が設定されていると判断された送信データは前記複製対象送信データとしないことを特徴とするデータ送信装置。
【請求項７】
（ａ）複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択部と、
（ｂ）前記複製対象送信データ選択部により選択された前記複製対象送信データの複製である複製データを生成する複製データ生成部と、
（ｃ）前記複製データ生成部により前記複製対象送信データの前記複製データが生成された場合に、前記複製対象送信データと、前記複製対象送信データの前記複製データとを送信する送信部と、
（ｄ）前記送信部による前記複製対象送信データと前記複製データの送信の送信間隔を設定する送信間隔設定部とを有し、
前記送信部は、前記送信間隔設定部により設定された前記送信間隔に従って、前記複製対象送信データと前記複製データとを送信することを特徴とするデータ送信装置。
【請求項８】
ネットワークを介して複数の送信データを送信するデータ送信方法であって、
（ａ）複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択ステップと、
（ｂ）前記複製対象送信データ選択ステップにより選択された前記複製対象送信データの複製である複製データを生成する複製データ生成ステップと、
（ｃ）前記複製データ生成ステップにより前記複製対象送信データの前記複製データが生成された場合に、前記複製対象送信データと、前記複製対象送信データの前記複製データとを送信する送信ステップと、
（ｄ）前記ネットワークの通信品質に基づいて、前記複製データ生成ステップによる複製データの複製数を設定する複製数設定ステップとを有し、
前記複製データ生成ステップは、
前記複製数設定ステップにより設定された複製数に従って複製データを生成し、
前記送信ステップは、送信データを１回以上再送する場合があり、
前記複製数設定ステップは、前記ネットワークの通信品質として、前記送信ステップによる送信データの再送回数に基づいて、前記複製データ生成ステップによる複製データの複製数を設定し、
前記データ送信方法は、
前記複製数設定ステップとして、
前記送信ステップによる送信データの再送回数を記録する再送回数記録ステップと、
前記再送回数に関する基準値である再送回数基準値を記録する再送回数基準値記録ステップと、
前記再送回数記録ステップに記録された前記再送回数と前記再送回数基準値記録ステップに記録された前記再送回数基準値とを比較する再送回数比較ステップと、
前記複製データ生成ステップが同一の複製対象送信データに対して生成する前記複製データの複製数を記録する複製データ複製数記録ステップとを有し、
前記再送回数比較ステップは、前記再送回数記録ステップに記録された前記再送回数と前記再送回数基準値記録ステップに記録された前記再送回数基準値とを比較し、前記再送回数が前記再送回数基準値以上であると判断した場合に、前記複製データ複製数記録ステップに前記複製数の増加を指示する複製数増加指示を出力し、
前記複製データ複製数記録ステップは、前記再送回数比較ステップより出力された前記複製数増加指示に従って、前記複製数を増加し、
前記複製データ生成ステップは、前記複製データ複製数記録ステップに記録された前記複製数に従って、前記複製データを生成することを特徴とするデータ送信方法。
【請求項９】
前記複数の送信データの各々には、前記複数の送信データの各々の送信順序を示す送信シーケンス番号が設定され、
前記データ送信方法は、更に、前記送信シーケンス番号のうち送信順序の最後を示す送信シーケンス番号を記録する送信シーケンス番号記録ステップを有し、
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々に設定された前記送信シーケンス番号が、前記送信シーケンス番号記録ステップに記録された前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号であることを前記複製対象送信データの選択条件とし、
前記送信シーケンス番号記録ステップに記録された前記送信順序の最後を示す送信シーケンス番号と、前記複数の送信データの各々に設定された前記送信シーケンス番号とを比較し、
前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号が設定されていると判断された送信データを、前記複製対象送信データとすることを特徴とする請求項８に記載のデータ送信方法。
【請求項１０】
前記複数の送信データの各々は、ヘッダー部とデータ部とを有し、
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々の前記データ部のデータサイズがゼロであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記データ部のデータサイズを判断し、
前記データ部のデータサイズがゼロと判断された送信データを前記複製対象送信データとすることを特徴とする請求項８に記載のデータ送信方法。
【請求項１１】
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々が、他の送信データを複数個に分割した分割データのうちの最終の分割データであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記最終の分割データであるか否かを判断し、
前記最終の分割データであると判断された送信データを前記複製対象送信データとすることを特徴とする請求項８に記載のデータ送信方法。
【請求項１２】
前記データ送信方法は、更に、送信データのデータサイズに関する基準値であるデータサイズ基準値を記録するデータサイズ基準値記録ステップを有し、
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々のデータサイズが、前記データサイズ基準値記録ステップに記録されたデータサイズ基準値以下であることを前記複製対象送信データの選択条件とし、
前記データサイズ基準値記録ステップに記録された前記データサイズ基準値と前記複数の送信データの各々のデータサイズとを比較し、
前記データサイズ基準値以下のデータサイズであると判断された送信データを前記複製対象送信データとすることを特徴とする請求項８に記載のデータ送信方法。
【請求項１３】
データの重要性に応じて優先度が設定されている複数の送信データを送信するデータ送信方法であって、
（ａ）所定の選択条件に従って、複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択ステップと、
（ｂ）前記複製対象送信データ選択ステップにより選択された前記複製対象送信データの複製である複製データを生成する複製データ生成ステップと、
（ｃ）前記優先度に関する基準値である優先度基準値を記録する優先度基準値記録ステップとを有し、
前記複製対象送信データ選択ステップは、
前記優先度基準値記録ステップに記録された前記優先度基準値と前記複数の送信データの各々に設定された前記優先度とを比較し、
前記選択条件に合致する送信データであっても、前記優先度基準値以下の優先度が設定されていると判断された送信データは前記複製対象送信データとしないことを特徴とするデータ送信方法。
【請求項１４】
ａ）複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択ステップと、
（ｂ）前記複製対象送信データ選択ステップにより選択された前記複製対象送信データの複製である複製データを生成する複製データ生成ステップと、
（ｃ）前記複製データ生成ステップにより前記複製対象送信データの前記複製データが生成された場合に、前記複製対象送信データと、前記複製対象送信データの前記複製データとを送信する送信ステップと、
（ｄ）前記送信ステップによる前記複製対象送信データと前記複製データの送信の送信間隔を設定する送信間隔設定ステップとを有し、
前記送信ステップは、前記送信間隔設定ステップにより設定された前記送信間隔に従って、前記複製対象送信データと前記複製データとを送信することを特徴とするデータ送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報処理装置の通信処理に関するもので、特に信頼性を保証しないローカルエリアネットワーク等における通信の応答時間を短縮する方式に関するものである。
【０００２】
【従来の技術】
従来の情報処理装置の通信処理方式としては、例えば、特開平７−４６２８９号公報に示されるようなものがあった。図２６はこのような情報処理装置の通信処理方式の動作である。
【０００３】
この方式においては、ローカルエリアネットワークにおける情報フレームの損失によるデータ転送時間の遅延を短縮するために、情報フレームが損失するしないに係わらず全ての情報フレームを再送しておく。情報フレームを多重化して送出することにより、情報フレームの損失が発生した場合でも、受信側は再送要求を発行しなくても、再送を受け取ることができ、データ転送時間を短縮できる。
【０００４】
【発明が解決しようとする課題】
上記のような情報処理装置の通信処理方式では、通信パケットが損失した場合には、受信側からの再送要求の発行、送信側からの再送データの送出という手順を行った場合に比べて、データ転送時間を短縮することができるが、全ての通信パケットが多重化されるために、結果として通信帯域が半減し、通信パケットが損失しなかった場合と比較すると性能が劣化するという問題があった。
【０００５】
この発明は上記のような問題点を解消するためになされたもので、通信プロトコル処理の動作には変更を加えずに、損失した場合に大きな遅延が発生する特定の通信パケットのみを多重化することにより、通信帯域を減少させずに損失が発生した場合のデータ転送時間を短縮することを目的とする。
【０００６】
また、この発明は、ＬＡＮドライバを変更し、送信データを入れ替えずにＬＡＮコントローラに対して複数回送信要求を発行することにより、通信パケットの多重化をデータのコピーを行わずに実現し、多重化のオーバヘッドを削減することを目的とする。
【０００７】
更に、この発明は、通信パケットを多重化すると判断した場合の同一パケットの多重化数をネットワークの通信品質に応じて自動的に設定することを目的とする。
【０００８】
この発明は、通信パケットを多重化すると判断した場合の同一パケットの多重化数をネットワークの通信品質に応じて自動的に設定することを目的とする。
【０００９】
この発明は、送信側が多重化パケットを連続的に送信することによる受信側バッファのオーバフローの発生を防止することを目的とする。
【００１０】
この発明は、間欠的な小データ送信の損失による送信遅延の発生を防ぐために、指定サイズより小さいデータの送信の場合にも通信パケットの多重化を行うことを目的とする。
【００１１】
この発明は、優先度の高い処理の場合は通信の実時間性が必要と判断して、、指定優先度より高い優先度を持つプロセスからのデータの送信の場合にも通信パケットの多重化を行うことを目的とする。
【００１２】
また、この発明は、通信の実時間性を重視しない低い優先度の処理の場合、パケット多重化の判断を行わず、従来と同じ送信処理を行うことを目的とする。
【００１３】
【課題を解決するための手段】
この発明に係るデータ送信装置は、以下の要素を有することを特徴とする。
（ａ）複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択部、
（ｂ）前記複製対象送信データ選択部により選択された前記複製対象送信データの複製である複製データを生成する複製データ生成部、
（ｃ）前記複製データ生成部により前記複製対象送信データの前記複製データが生成された場合に、前記複製対象送信データと、前記複製対象送信データの前記複製データとを送信する送信部。
【００１４】
前記複数の送信データの各々には、前記複数の送信データの各々の送信順序を示す送信シーケンス番号が設定され、
前記データ送信装置は、更に、前記送信シーケンス番号のうち送信順序の最後を示す送信シーケンス番号を記録する送信シーケンス番号記録部を有し、
前記複製対象送信データ選択部は、
前記複数の送信データの各々に設定された前記送信シーケンス番号が、前記送信シーケンス番号記録部に記録された前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号であることを前記複製対象送信データの選択条件とし、
前記送信シーケンス番号記録部に記録された前記送信順序の最後を示す送信シーケンス番号と、前記複数の送信データの各々に設定された前記送信シーケンス番号とを比較し、
前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号が設定されていると判断された送信データを、前記複製対象送信データとすることを特徴とする。
【００１５】
前記複数の送信データの各々は、ヘッダー部とデータ部とを有し、
前記複製対象送信データ選択部は、
前記複数の送信データの各々の前記データ部のデータサイズがゼロであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記データ部のデータサイズを判断し、
前記データ部のデータサイズがゼロと判断された送信データを前記複製対象送信データとすることを特徴とする。
【００１６】
前記複製対象送信データ選択部は、
前記複数の送信データの各々が、他の送信データを複数個に分割した分割データのうちの最終の分割データであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記最終の分割データであるか否かを判断し、
前記最終の分割データであると判断された送信データを前記複製対象送信データとすることを特徴とする。
【００１７】
前記データ送信装置は、更に、送信データのデータサイズに関する基準値であるデータサイズ基準値を記録するデータサイズ基準値記録部を有し、
前記複製対象送信データ選択部は、
前記複数の送信データの各々のデータサイズが、前記データサイズ基準値記録部に記録されたデータサイズ基準値以下であることを前記複製対象送信データの選択条件とし、
前記データサイズ基準値記録部に記録された前記データサイズ基準値と前記複数の送信データの各々のデータサイズとを比較し、
前記データサイズ基準値以下のデータサイズであると判断された送信データを前記複製対象送信データとすることを特徴とする。
【００１８】
前記複数の送信データの各々には、データの重要性に応じて優先度が設定されており、
前記データ送信装置は、更に、前記優先度に関する基準値である優先度基準値を記録する優先度基準値記録部を有し、
前記複製対象送信データ選択部は、
前記優先度基準値記録部に記録された前記優先度基準値と前記複数の送信データの各々に設定された前記優先度とを比較し、
前記優先度基準値以上の優先度が設定されていると判断された送信データを前記複製対象送信データとすることを特徴とする。
【００１９】
前記複数の送信データの各々には、データの重要性に応じて優先度が設定されており、
前記データ送信装置は、更に、前記優先度に関する基準値である優先度基準値を記録する優先度基準値記録部を有し、
前記複製対象送信データ選択部は、
前記優先度基準値記録部に記録された前記優先度基準値と前記複数の送信データの各々に設定された前記優先度とを比較し、
前記選択条件に合致する送信データであっても、前記優先度基準値以下の優先度が設定されていると判断された送信データは前記複製対象送信データとしないことを特徴とする。
【００２０】
記送信部は、前記複製対象送信データと前記複製データとを再送し、
前記データ送信装置は、更に、前記送信部による前記複製対象送信データと前記複製データの再送回数を記録する再送回数記録部と、
前記再送回数に関する基準値である再送回数基準値を記録する再送回数基準値記録部と、
前記再送回数記録部に記録された前記再送回数と前記再送回数基準値記録部に記録された前記再送回数基準値とを比較する再送回数比較部と、
前記複製データ生成部が同一の複製対象送信データに対して生成する前記複製データの複製数を記録する複製データ複製数記録部とを有し、
前記再送回数比較部は、前記再送回数記録部に記録された前記再送回数と前記再送回数基準値記録部に記録された前記再送回数基準値とを比較し、前記再送回数が前記再送回数基準値以上であると判断した場合に、前記複製データ複製数記録部に前記複製数の増加を指示する複製数増加指示を出力し、
前記複製データ複製数記録部は、前記再送回数比較部より出力された前記複製数増加指示に従って、前記複製数を増加し、
前記複製データ生成部は、前記複製データ複製数記録部に記録された前記複製数に従って、前記複製データを生成することを特徴とする。
【００２１】
前記データ送信装置は、更に、前記送信部による前記複製対象送信データと前記複製データの送信の送信間隔を設定する送信間隔設定部を有し、
前記送信部は、前記送信間隔設定部により設定された前記送信間隔に従って、前記複製対象送信データと前記複製データとを送信することを特徴とする。
【００２２】
この発明に係るデータ送信方法は、以下の要素を有することを特徴とする。
（ａ）複数の送信データから、データの複製の対象となる送信データを複製対象送信データとして選択する複製対象送信データ選択ステップ、
（ｂ）前記複製対象送信データ選択ステップにより選択された前記複製対象送信データの複製である複製データを生成する複製データ生成ステップ、
（ｃ）前記複製データ生成ステップにより前記複製対象送信データの前記複製データが生成された場合に、前記複製対象送信データと、前記複製対象送信データの前記複製データとを送信する送信ステップ。
【００２３】
前記複数の送信データの各々には、前記複数の送信データの各々の送信順序を示す送信シーケンス番号が設定され、
前記データ送信方法は、更に、前記送信シーケンス番号のうち送信順序の最後を示す送信シーケンス番号を記録する送信シーケンス番号記録ステップを有し、
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々に設定された前記送信シーケンス番号が、前記送信シーケンス番号記録ステップに記録された前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号であることを前記複製対象送信データの選択条件とし、
前記送信シーケンス番号記録ステップに記録された前記送信順序の最後を示す送信シーケンス番号と、前記複数の送信データの各々に設定された前記送信シーケンス番号とを比較し、
前記送信順序の最後を示す送信シーケンス番号よりも前の送信順序を示す送信シーケンス番号が設定されていると判断された送信データを、前記複製対象送信データとすることを特徴とする。
【００２４】
前記複数の送信データの各々は、ヘッダー部とデータ部とを有し、
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々の前記データ部のデータサイズがゼロであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記データ部のデータサイズを判断し、
前記データ部のデータサイズがゼロと判断された送信データを前記複製対象送信データとすることを特徴とする。
【００２５】
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々が、他の送信データを複数個に分割した分割データのうちの最終の分割データであることを前記複製対象送信データの選択条件とし、
前記複数の送信データの各々につき、前記最終の分割データであるか否かを判断し、
前記最終の分割データであると判断された送信データを前記複製対象送信データとすることを特徴とする。
【００２６】
前記データ送信方法は、更に、送信データのデータサイズに関する基準値であるデータサイズ基準値を記録するデータサイズ基準値記録ステップを有し、
前記複製対象送信データ選択ステップは、
前記複数の送信データの各々のデータサイズが、前記データサイズ基準値記録ステップに記録されたデータサイズ基準値以下であることを前記複製対象送信データの選択条件とし、
前記データサイズ基準値記録ステップに記録された前記データサイズ基準値と前記複数の送信データの各々のデータサイズとを比較し、
前記データサイズ基準値以下のデータサイズであると判断された送信データを前記複製対象送信データとすることを特徴とする。
【００２７】
前記複数の送信データの各々には、データの重要性に応じて優先度が設定されており、
前記データ送信方法は、更に、前記優先度に関する基準値である優先度基準値を記録する優先度基準値記録ステップを有し、
前記複製対象送信データ選択ステップは、
前記優先度基準値記録ステップに記録された前記優先度基準値と前記複数の送信データの各々に設定された前記優先度とを比較し、
前記優先度基準値以上の優先度が設定されていると判断された送信データを前記複製対象送信データとすることを特徴とする。
【００２８】
前記複数の送信データの各々には、データの重要性に応じて優先度が設定されており、
前記データ送信方法は、更に、前記優先度に関する基準値である優先度基準値を記録する優先度基準値記録ステップを有し、
前記複製対象送信データ選択ステップは、
前記優先度基準値記録ステップに記録された前記優先度基準値と前記複数の送信データの各々に設定された前記優先度とを比較し、
前記選択条件に合致する送信データであっても、前記優先度基準値以下の優先度が設定されていると判断された送信データは前記複製対象送信データとしないことを特徴とする。
【００２９】
前記送信ステップは、前記複製対象送信データと前記複製データとを再送し、
前記データ送信方法は、更に、前記送信ステップによる前記複製対象送信データと前記複製データの再送回数を記録する再送回数記録ステップと、
前記再送回数に関する基準値である再送回数基準値を記録する再送回数基準値記録ステップと、
前記再送回数記録ステップに記録された前記再送回数と前記再送回数基準値記録ステップに記録された前記再送回数基準値とを比較する再送回数比較ステップと、
前記複製データ生成ステップが同一の複製対象送信データに対して生成する前記複製データの複製数を記録する複製データ複製数記録ステップとを有し、
前記再送回数比較ステップは、前記再送回数記録ステップに記録された前記再送回数と前記再送回数基準値記録ステップに記録された前記再送回数基準値とを比較し、前記再送回数が前記再送回数基準値以上であると判断した場合に、前記複製データ複製数記録ステップに前記複製数の増加を指示する複製数増加指示を出力し、
前記複製データ複製数記録ステップは、前記再送回数比較ステップより出力された前記複製数増加指示に従って、前記複製数を増加し、
前記複製データ生成ステップは、前記複製データ複製数記録ステップに記録された前記複製数に従って、前記複製データを生成することを特徴とする。
【００３０】
前記データ送信方法は、更に、前記送信ステップによる前記複製対象送信データと前記複製データの送信の送信間隔を設定する送信間隔設定ステップを有し、
前記送信ステップは、前記送信間隔設定ステップにより設定された前記送信間隔に従って、前記複製対象送信データと前記複製データとを送信することを特徴とする。
【００３１】
【発明の実施の形態】
実施の形態１．
この問題の解決を図るために、どのような場合に大きな通信遅延が発生するかについて述べる。図２７は従来の情報処理装置の通信処理機構の構成の一例である。２１１０は情報処理装置、２１１１は通信プロトコル処理部、２１２１はＬＡＮドライバである。図２８に示すように、送信側の情報処理装置はＬＡＮ２１４０により受信側の情報処理装置３１１０に接続されている。受信側の情報処理装置３１１０は、送信側の情報処理装置２１１０と同じ構成である。通信パケット２１３０は送信側情報処理装置２１１０から受信側情報処理装置３１１０へ送られる。
通信プロトコル処理部２１１１は、通信の信頼性を実現するために次の構成要素を持つ。
まず、送信を制御する情報として、これまで次に送信するデータ順序を示す送信シーケンス番号２１１２、受信側より受信確認を受信した送信データを示すＡｃｋ受信済み送信シーケンス番号２１１３、送信処理を行うことができる送信データサイズを示す送信ウィンドウサイズ２１１４の情報を持つ。また受信を制御する情報として、これまでに受信したデータ順序を示す受信済みシーケンス番号２１１５、受信処理を行うことができる受信データサイズを示す受信ウィンドウサイズ２１１６を持つ。
さらに、通信プロトコル処理部はプロトコル処理内の周期処理実現のために、タイマ処理２１５０を持つ。タイマ処理２１５０はタイマ２１５１と、それにより起床される周期処理２１５２で構成される。送信データは通信プロトコルの送信キューである送信待ちデータ２１１８に持つ。また、送信を行ったが受信確認を受け取っていない送信データも送信済みデータ２１１７として保持する。受信したデータはアプリケーションの受信処理が行われるまで、受信済みデータ２１１９に持つ。新しく到着した受信データは受信可能領域２１２０に置かれる。
【００３２】
通信パケット２１３０のヘッダには、通信プロトコル処理を行うために次の情報が記録される。２１３１はシーケンス番号で、送信データ２１３６のデータ順序を示す。シーケンス番号２１３１は送信制御情報の送信シーケンス番号２１１２より得られる。２１３２はＡｃｋ番号で、情報処理装置が受信済みのデータのデータ順序を示す。Ａｃｋ番号２１３２は受信制御情報の受信済みシーケンス番号２１１５より得られる。２１３３はウィンドウサイズで、情報処理装置が受信処理可能なデータサイズを示す。ウィンドウサイズ２１３３は受信制御情報の受信ウィンドウサイズ２１１６より得られる。２１３４は通信パケット２１３０内の送信データ２１３６のデータサイズである。２１３５は通信パケットが分割されていて、後続の通信データが存在するかどうかを示す分割フラグである。
【００３３】
このような情報処理装置の通信処理方式で、通信パケットを損失した場合の動作の例を図２９に示す。図２９では、（１）データ１、（２）データ２、（３）データ３と連続して送信を行った時に、データ２が失われた場合の例である。情報処理装置（受信）は、通信パケットのヘッダにあるシーケンス番号２１３１を参照することにより、データ３のパケットを受信した時点で、データ２のパケットが失われたことを検出できる。これにより、受信側は（４）でＡｃｋパケットによりデータ２の再送を要求し、それを受信した送信側は（５）でデータ２を再送する。この場合のデータ損失による遅延は通信パケットの往復処理にかかる時間であるため、高速なローカルエリアネットワークでは許容可能な遅延時間となる。
【００３４】
それに対し、別のケースの動作の例を図３０に示す。図３０では（４）で情報処理装置（受信）から送信するＡｃｋパケットが失われた場合の例である。情報処理装置（送信）は（１）データ１、（２）データ２、（３）データ３と連続して送信を行ったが、それに対する（４）Ａｃｋを受信していないために、次の送信データを送信することができない。また、情報処理装置（受信）も次のデータが届かないため、新たなＡｃｋパケットを送信しない。（５）で通信プロトコル処理部はタイマの周期処理２１５２により、送信ウィンドウサイズが一定時間更新されなかったことを検出する。これにより（６）で受信側の状態を確認するために、送信側からＡｃｋパケットを送信し、それに対する応答が（７）で受信側から返信されることにより、（４）でのＡｃｋパケットの損失を検出し、送信処理が再開される。この場合のデータ損失による遅延は、通信プロトコル処理部のタイマ２１５１の周期時間により決まる。これは通常５００ミリ秒のＮ倍といった時間であるため、高速なローカルエリアネットワークでは、損失が発生しなかった場合のデータ転送時間と比較すると極めて大きな遅延が発生する。このような図３０と類する状態の発生を防げば、通信パケットの損失が生じてもデータ転送の遅延時間を小さくすることができる。
【００３５】
以下、この発明の実施の形態１を図に従って説明する。
図１は、この発明の実施の形態１によるデータ送信装置の機能構成図である。
図１における通信プロトコル処理部１０、ＬＡＮドライバ１３は、図２７における通信プロトコル部２１１１及びＬＡＮドライバ２１２１と同様であり、また図１の通信プロトコル部１０に含まれる各要素も図２７の通信プロトコル処理部２１１１に含まれる各要素と同様である。
本実施の形態では、図２７に示した構成に加えて、パケット多重化制御部１２を持つ。パケット多重化制御部１２は、多重化判断部１２１と多重化パケット送出部１２２から構成される。
多重化判断部１２１は、送信データのうち複製データを作成する（多重化を行う）送信データ（複製対象送信データ）を選択する。また、多重化パケット送出部１２２は、複製対象送信データにつき複製データを作成し、複製対象送信データと作成した複製データとをＬＡＮドライバ１３に送信する。
また、図２に示すように、従来の情報処理装置と同様に、データ送信装置１はＬＡＮ２１４０を介してデータ受信装置２と接続されている。また、データ受信装置２はデータ送信装置１と同様の構成を有している。
【００３６】
図３はパケット多重化制御部１２の詳細構成である。パケット多重化制御部１２は通信プロトコル処理部１０の処理する通信コネクションごとに存在し、通信プロトコル処理部１０から送信データ１４０を受け取る。送信データ１４０のヘッダおよびデータの構成は図２７の通信パケット２１３０と同じである。
パケット多重化制御部１２の多重化判断部１２１は、送信シーケンス番号記録部１２３を持つ。
送信シーケンス番号記録部１２３は、前回の送信したデータの送信シーケンス番号（前回送信シーケンス番号）、即ち送信順序の最後を示す送信シーケンス番号を記録する。なお、送信シーケンス番号記録部１２３の役割については後述する。
また、多重化判断部１２１は、複製対象送信データ選択部として機能し、多重化判断処理１２４を行う。即ち、多重化判断部１２１は、送信データ１４０のヘッダ部の情報とデータ部の情報より送信データ１４０を複製対象送信データとするか否かを判断する。また、多重化判断部１２１は、多重化する場合には多重化パケット送出部１２２へ複製対象送信データとして選択された送信データ１４０を渡す。多重化しないと判断した場合には、そのままＬＡＮドライバ１３に渡し、従来と同様に送信する。
【００３７】
多重化パケット送出部１２２は、複製データ生成部として機能し、パケット複製処理１２５と多重化パケット送信処理１２６で構成される。
即ち、多重化パケット送出部１２２は、多重化判断部１２１において複製対象送信データと判断された送信データ１４０を受け取り、パケット複製処理１２５において、受け取った送信データ１４０の複製である複製データを生成し、送信データ１４０と同じデータを持つパケットを作成する。
多重化パケット送信処理１２６では、パケット複製処理１２５において複製したパケットと複製対象送信データである送信データ１４０を格納したパケットをＬＡＮドライバ１３に渡し、ＬＡＮドライバ１３はこれらのデータを送信する。
この場合は送信データ１４０と同じ内容の送信データ１６０が複製データとして複数回送信されることになる。
【００３８】
この発明の実施の形態１の全体動作を図４を使い説明する。
実施の形態１では、データを送信する場合、次のように動作する。なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
まず、Ｓ１１０で通信プロトコル処理部１０が送信プロトコル処理を行う。これにより、送信すべきデータが送信待ちデータ１１２に置かれる。
次にＳ１２０で、多重化判断部１２１が送信待ちデータ１１２から送信データを受け取り、送信データの多重化を行うか否か、即ち多重化判断処理を行う。
Ｓ１３０で送信パケットの多重化を行うと判断した場合は、多重化パケット送出部は、Ｓ１４０でパケット複製処理１２５を呼出し、複製データの生成、即ちパケットの複製を行う。
そしてＳ１５０で、多重化パケット送出部１２２は、多重化パケット送信処理１２６を呼出し、送信データ１４０のパケットと複製された送信データ１６０のパケットをＬＡＮドライバ１３に渡し、Ｓ１６０においてＬＡＮドライバがパケットを送信する。
Ｓ１３０で多重化を行わないと判断した場合は、そのまま送信待ちデータ１１２の送信データをＬＡＮドライバ１３に渡し、Ｓ１６０でＬＡＮドライバ１３がパケットをネットワークへ送信する。
ここで、Ｓ１２０からＳ１５０が本実施の形態で付加した新規処理である。Ｓ１１０、Ｓ１６０は従来と同じ動作を行う。本発明では受信側は従来と同じ動作を行う。これは、通信プロトコルの受信処理には同一のパケットを複数受け取った場合、同じパケットを廃棄する処理が組み込まれているため、パケットを多重化した場合でも、受信側に特別な処理はいらないためである。
【００３９】
本実施の形態で付加したＳ１２０、Ｓ１４０、Ｓ１５０の個々の処理の詳細を説明する。
図５はＳ１２０多重化判断処理の詳細である。これは多重化判断部１２１が行う。
Ｓ１２０では、複製対象送信データの選択のために設定された選択条件（以下、多重化条件という）に送信データ１４０が合致するか否かを多重化判断部１２１が判定する。本実施の形態では３つの多重化条件を設定している。
【００４０】
Ｓ１２１では、多重化判断部１２１は送信データ１４０のヘッダにあるシーケンス番号１４１が、送信シーケンス番号記録部１２３に記録された前回送信シーケンス番号（送信順序の最後を示すシーケンス番号）以下かどうかを確認する。記録された前回送信シーケンス番号以下の送信シーケンス番号は、最後に送信された送信データより前の送信順序を示す送信シーケンス番号であるから、再送パケットの送信と判断して、送信パケットを多重化すると判定し、送信パケットの多重化を行う（Ｓ１２５）。送信データ１４０のシーケンス番号１４１が送信シーケンス番号記録部１２３に記録された前回送信シーケンス番号以上である場合は、Ｓ１２２へ進む。
【００４１】
Ｓ１２２では、多重化判断部１２１は送信データ１４０のデータ部のデータサイズ１４４が０であるかどうかを確認する。データサイズが０であるということは送信すべきデータ１４６が存在しない、ウィンドウサイズ１４３が更新されたことを通知するＡｃｋパケットとなる。この場合も送信パケットを多重化すると判定し、送信パケットの多重化を行う（Ｓ１２５）。送信データのデータサイズが０でなかった場合は、Ｓ１２３に進む。
【００４２】
Ｓ１２３では、多重化判断部１２１は送信データ１４０の分割フラグを参照し、送信データ１４０が他のデータから分割されたデータであって、かつ分割されたデータの最終部分のパケットであることを示しているかを確認する。この場合は連続データの最終パケットと判断して、送信パケットを多重化すると判定し、送信パケットの多重化を行う（Ｓ１２５）。
【００４３】
送信データがＳ１２１からＳ１２３のいづれかの条件にあてはまった場合は、図６に従いＳ１４０の処理に移る。
Ｓ１２１からＳ１２３のいづれの条件にもあてはまらない場合は、Ｓ１２４で送信パケットを多重化しないと判定する。多重化しない場合は、図４に従いＳ１６０で従来のパケット送信処理を行う。この場合は、通信プロトコル処理部１０から受け取った送信データ１４０をそのままＬＡＮドライバ１３に渡す。
【００４４】
図５のフローチャートにおける多重化条件は、システムで行う通信の特性に合わせて、条件の選択や順序の変更を行うこともできる。また、新たな条件を追加することもできる。使用する通信プロトコル処理が、送受信制御情報１０３〜１０７の一部を持たないような簡易な通信プロトコル処理の場合は、その情報を必要とする多重化条件の判定を外して多重化判断処理Ｓ１２０を適用する。
【００４５】
図６は、パケット複製処理Ｓ１４０の詳細である。これは多重化パケット送出部１２２が行う。
Ｓ１４０では、Ｓ１２０でパケットを多重化すると判定した場合に、同じデータを持つ送信パケットを送信するためのパケットの複製を行う。
先ず、Ｓ１４１で、多重化パケット送出部１２２は、複製した送信データを置くメモリ領域をオペレーティングシステムから獲得する。これは送信データ用のメモリ領域を獲得する従来の手段を利用する。
次にＳ１４２で、多重化パケット送出部１２２は、送信データ１４０内のヘッダ、データ全ての内容をＳ１４１で獲得したメモリ領域にコピーする。これが複製データである送信データ１６０となる。
【００４６】
図７は、多重化パケット送信処理Ｓ１５０の詳細である。これは多重化パケット送出部１２２が行う。
Ｓ１５０では、多重化したパケットの送信処理を行う。本実施の形態では、ＬＡＮドライバのパケット送信処理Ｓ１６０（図４）をそのまま利用して、これを実現する。まず、Ｓ１５１で元のデータである送信データ１４０をＬＡＮドライバ１３に渡し、送信処理を依頼する。次にＳ１５２で複製した送信データ１６０をＬＡＮドライバ１３に渡し、送信処理を依頼する。
ＬＡＮドライバ１３はＳ１６０で送信処理を要求されている送信処理を全て実行するので、複製対象送信データである元の送信データ１４０と複製データである送信データ１６０の送信処理が行われ、多重化したパケットの送信が行われることになる。
【００４７】
この実施の形態１によるデータ送信装置によれば、損失した場合に大きな遅延を生じる送信パケットのみを多重化するようにしたので、通信帯域を減少させずに、通信パケットが損失した場合のデータ転送時間を短縮できる。また、そのような機構を従来の通信プロトコルを変更せず、付加する方式で実現することができる。
【００４８】
実施の形態２．
以下は、この発明の実施の形態２を図に従って説明する。
実施の形態２のデータ送信装置は、実施の形態１の図１と同じ構成だが、パケット多重化制御部１２およびＬＡＮドライバ１３が図８のような構成を持つ。
図８中、図３と同じ番号のものは、図３と同じ構成要素である。実施の形態２では、多重化パケット送出部１２２の代わりに多重化パケット登録部１２７を設けている。多重化パケット登録部１２７は、実施の形態１のパケット複製処理１２５、多重化パケット送信処理１２６の代わりに、多重化パケット登録処理１２８を行う。
また、ＬＡＮドライバ１３では新たに、多重化要求フラグ１３１、多重送信処理部１３２を持つ。多重化要求フラグ１３１は、ＬＡＮドライバ内の各送信データごとに保持するデータで、該当送信データを多重化して送信するかどうかを示すフラグである。
実施の形態２では、実施の形態１と異なり、パケット多重化制御部１２内で複製データである送信データ１６０を作成せずに、ＬＡＮドライバの多重化送信処理部１３２において、複製データを生成し、多重送信を行う。従って、ＬＡＮドライバ１３内の多重送信処理部１３２は、複製データ生成部及び送信部の機能を果たす。
【００４９】
この発明の実施の形態２の全体動作を図９に示す。なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
実施の形態２では、Ｓ１１０、Ｓ１２０、Ｓ１３０、Ｓ１６０の処理は実施の形態１と同じ動作をし、多重化を行うと判断した場合の多重化パケット登録部１２７の処理のみが異なる。
実施の形態２では、Ｓ１２０で送信データを多重化するか否かの判断が行われ、Ｓ１３０で送信データの多重化を行うと判断した場合、Ｓ２１０で多重化パケット登録部１２７は多重化パケット登録処理１２８を呼出し、ＬＡＮドライバに対して、多重送信要求の登録を行う。ＬＡＮドライバでは、Ｓ２２０で、多重送信処理部１３２を呼出し、複製対象送信データの複製データを生成し、多重送信を行う。
【００５０】
Ｓ２１０多重化パケット登録処理、Ｓ２２０多重送信処理の詳細動作を図１０、図１１により説明する。
図１０は、多重化パケット登録処理Ｓ２１０の詳細である。これは多重化パケット登録部１２７が行う。
Ｓ２１１では、送信データ１４０をＬＡＮドライバの送信キューに登録する。
そしてＳ２１２では、送信データ１４０に対応するＬＡＮドライバの多重化要求フラグ１３１を「多重化」に設定する。
【００５１】
図１１はＳ２２０多重送信処理の詳細である。これはＬＡＮドライバ１３が行う。
Ｓ２２１では、ＬＡＮドライバ１３はＬＡＮドライバの送信キューより送信データを取得する。
次に、Ｓ２２２で送信データに多重化要求フラグ１３１が「多重化」に設定されているかどうかを確認する。多重化要求フラグ１３１が「多重化」に設定されていない場合は、Ｓ２２３で従来と同様にＬＡＮコントローラに送信要求を発行し、ＬＡＮへ通信パケットを送出する。
Ｓ２２２で送信データに多重化フラグ１３１が「多重化」に設定されている場合は、Ｓ２２４に移る。
Ｓ２２４では多重送信処理部１３２に複製対象送信データである送信データ１４０を送り、Ｓ２２５で多重送信処理部１３２に送信要求を発行する。
さらに、Ｓ２２６で送信データを変更せずに再度、多重送信処理部１３２に送信要求を発行することにより、送信データの多重化を実現する。
Ｓ２２６の方法は、例えば、多重送信処理部１３２をＬＡＮコントローラとし、ＬＡＮコントローラ上のメモリに送信データ１４０を置き、コマンドレジスタに送信コマンドを書込むことにより送信処理を行う場合は、ＬＡＮコントローラのメモリ上のデータを再利用することにより行う。ＬＡＮコントローラがデータ送信装置の主記憶から直接ＤＭＡ転送により送信処理を行う場合は、同じメモリ領域の送信データを複数ＬＡＮコントローラに指定することにより行う。ＬＡＮコントローラのレジスタに送信データを書込むことにより送信処理を行う場合は、同じ送信データをレジスタに書込むことにより行う。
【００５２】
この実施の形態２によるデータ送信装置によれば、通信パケットの多重化を送信データのコピーをせず、ＬＡＮドライバにおける多重送信で実現するようにしたので、ソフトウェアの多重化処理のオーバヘッドを削減することができる。
【００５３】
実施の形態３．
以下は、この発明の実施の形態３を図に従って説明する。
実施の形態３のデータ送信装置では、実施の形態１の図１、図３と同じ構成を持つ。ただし、通信プロトコル処理部のタイマ処理１００は、実施の形態１と異なり図１２のようになる。実施の形態３ではタイマ処理１００に実施の形態１の構成に加えて、再送回数記録部１１５、再送回数基準値記録部１１６、及び再送回数比較部１１７を持ち、周期処理１０２の動作が異なる。
ここで、再送回数記録部１１５は、複製対象送信データたる送信データ１４０と複製データたる送信データ１６０の再送が行われた場合に、再送回数を記録する。再送回数基準値記録部１１６は、再送回数の上限値を示す再送回数基準値を記録している。また、再送回数比較部１１７は、再送回数記録部１１５に記録された再送回数と再送回数基準値記録部１１６に記録された再送回数基準値とを比較する。
また、多重化パケット送出部１２２は図１３のような構成になっており、実施の形態１における多重化パケット送出部とは異なっている。実施の形態３では多重化パケット送出部１２２に実施の形態１の構成に加えて、パケットの多重化数記録部１２０を持ち、パケット複製処理１２５の処理手順が異なる。
なお、多重化数記録部１２０は、複製対象送信データを複製する際の複製数、即ち多重化数を記録している。
【００５４】
この発明の実施の形態３のタイマ処理内の周期処理１０２の動作を図１４により説明する。本実施の形態に基づくデータ送信方法も同様の手順により実現される。
周期処理１０２はタイマ１０１により指定した周期ごとに起床する。
まず、Ｓ３０１で起床時に再送すべきデータ（複製対象送信データ及び複製データ）があるかどうかを判別する。タイマによる再送データがあるかどうかは、通信プロトコル処理が持つ再送タイマがエクスパイアしたかどうかで判定する。
Ｓ３０１で再送タイマがエクスパイアしておらず、再送すべきデータがない場合は、Ｓ３０６に移り従来と同じ周期処理を実行する。
Ｓ３０１で再送すべきデータがある場合にはＳ３０２に移り、再送回数記録部１１５に記録された再送回数をインクリメントする。
さらに、Ｓ３０３で、再送回数比較部１１７が、再送回数記録部１１５に記録された再送回数が再送回数基準値記録部１１６に記録された再送回数基準値以上になったかを確認する。再送回数記録部１１５に記録された再送回数が再送回数基準値よりも小さい場合は、Ｓ３０６で従来と同じ周期処理を実行する。
Ｓ３０３で再送回数記録部１１５に記録された再送回数が再送回数基準値以上になった場合は、再送回数比較部１１７は、多重化数記録部１２０に対して多重化数を増加するよう指示を出し、多重化数記録部１２０は多重化数をインクリメントする（Ｓ３０４）。これにより送信データの多重化の数が増すことになる。
さらにＳ３０５で再送回数記録部１１５に記録された再送回数をリセットし、再びタイマによる再送の発生をカウントできるようにする。Ｓ３０５の処理のあとＳ３０６で従来と同じ周期処理を実行する。
【００５５】
実施の形態３の送信処理の全体動作は実施の形態１の図４と同じである。
実施の形態３ではＳ１３０で送信パケットの多重化を行うと判断した場合のパケット複製処理の動作Ｓ１４０が異なる。
Ｓ１４０パケット複製処理の詳細を図１５により説明する。
Ｓ３１１で、多重化パケット送出部１２２は、多重化数記録部１２０に記録された多重化数を参照し、多重化数記録部１２０に記録された多重化数で指定した回数分の多重化処理を行ったか確認する。
Ｓ３１１で多重化数記録部１２０に記録された多重化数で指定した回数分の多重化処理を行っていないと判断された場合は、多重化パケット送出部１２２は、Ｓ１４１、Ｓ１４２の処理で多重化数記録部１２０に記録された多重化数で指定した回数分の送信パケットの複製をつくる。
ここで作成された全ての複製された送信データ１６０及び複製対象送信データである送信データ１４０を格納したパケットがＳ１５０により送信される。
このように、本実施の形態におけるデータ送信装置では、多重化数記録部１２０に記録された多重化数をインクリメントすることにより、多重化を行うと判断した場合の同一パケットの送信数を変えることができる。
なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
【００５６】
この実施の形態３によるデータ送信装置によれば、タイマによるパケットの再送の発生の累積回数に応じて、通信パケットの多重化数を増すようにしたので、ネットワークの通信品質に応じて多重化数を自動的に設定することができる。
【００５７】
実施の形態４．
以下は、この発明の実施の形態４を図に従って説明する。
実施の形態４のデータ送信装置は、実施の形態３の効果を実施の形態２の構成で得るものである。
実施の形態４は実施の形態２と同様に図８の構成を持つ。ただし、通信プロトコル処理部のタイマ処理１００は実施の形態３と同じ図１２の構成となる。また実施の形態４のＬＡＮドライバ１３は実施の形態２と異なり、図１６の構成となる。
ＬＡＮドライバ１３は多重化要求フラグ１３１に加えてパケットの多重化数記録部１２０を持ち、多重送信処理１３２の動作が異なる。
【００５８】
この発明の実施の形態４では、通信プロトコル処理部１０のタイマ処理１００の周期処理１０２は実施の形態３と同様に図１４の動作となる。また、送信処理の全体動作は実施の形態２の図９と同じである。
実施の形態４では、図９に示すＳ２１０は実施の形態２と同じ動作をするが、ＬＡＮドライバにおける多重送信処理Ｓ２２０の動作が異なる。多重送信処理Ｓ２２０の動作の詳細を図１７に示す。
多重送信処理Ｓ２２０ではＳ２２５までの処理は実施の形態２と同じであるが、その後Ｓ３２１で多重化数記録部１２０に記録された多重化数を参照し、多重化数に達するまでＳ２２６で同じ送信データを使って多重送信部に送信要求を発行する。このように多重化数記録部１２０に記録された多重化数をインクリメントすることにより、同一パケットの送信数を変えることができる。
なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
【００５９】
この実施の形態４によるデータ送信装置によれば、実施の形態２と同様の構成において、ネットワークの通信品質に応じて多重化数を自動的に設定することができる。
【００６０】
実施の形態５．
以下は、この発明の実施の形態５を図に従って説明する。
実施の形態５のデータ送信装置は、実施の形態２における多重化パケットの連続送信により、受信側バッファのオーバフローの発生を防ぐために、多重化パケットの送信間隔を制御するものである。
通信パケットの損失はネットワーク上でのデータ損失だけでなく、受信側バッファの溢れによる取りこぼしにより発生することも多い。実施の形態２では、多重化パケットの送信の場合、多重送信処理部１３２への送信要求を連続的に発行可能であるため、受信溢れにより再送パケットも失われる危険性がある。実施の形態５はこの問題を回避する。
実施の形態５は実施の形態２と同様に図８の構成を持つ。ただし、ＬＡＮドライバ１３は図１８に示すように実施の形態２と異なる。実施の形態５のＬＡＮドライバ１３は、送信間隔設定部１３３を有する。送信間隔設定部１３３は、多重送信処理部１３２への送信要求の発行間隔を制御することにより、多重化パケットの送信間隔を調整する。多重送信処理部１３２への送信要求の発行間隔の制御は、送信要求の発行間隔時間を規定した送信遅延時間１３４に基づいて行われる。
また、実施の形態５においては、図１１に示した多重送信処理Ｓ２２０と異なり、図１９に示すように送信遅延付き多重送信処理Ｓ２２０となる点でも実施の形態２と異なっている。
【００６１】
この発明の実施の形態５では、送信処理の全体動作は実施の形態２と同様に図９の動作を行う。
実施の形態５ではＳ２１０は実施の形態２と同じ動作をするが、ＬＡＮドライバ１３における多重送信処理Ｓ２２０が送信遅延付き多重送信処理Ｓ２２０に変わる。送信遅延付き多重送信処理Ｓ２２０の動作の詳細を図１９に示す。
多重送信処理ではＳ２２５までの処理は実施の形態２と同じであるが、その後Ｓ４０１で送信間隔設定部１３３は送信遅延時間１３４を参照し、そこで指定されている時間待つ。この指定時間は受信側情報処理装置の性能により、数μ秒から数１０μ秒である。この指定時間をビジーループもしくは高速なコンテキストスイッチによるウェイトなどの方法で待つ。送信遅延時間１３４を０とすることにより、再送待ちを行わない実施の形態２と同じ動作を行わせることもできる。Ｓ４０１の後、送信間隔設定部１３３は、同じ送信データを使って多重送信処理部１３２へ送信要求を発行する。このように、送信間隔設定部１３３が送信遅延時間を参照して送信間隔を調整するため、受信側に受信処理を行わせる余裕を作ることができる。
なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
【００６２】
この実施の形態５によるデータ送信装置によれば、実施の形態２の構成において、多重化送信を行う場合に、同一パケットを一定の遅延時間をおいて送信するようにしたので、連続送信による受信側の処理溢れを防ぐことができる。
【００６３】
実施の形態６．
以下は、この発明の実施の形態６を図に従って説明する。
実施の形態６のデータ送信装置は、実施の形態１または実施の形態２において、小さいデータの間欠送信の損失による大きなデータ転送の遅延の発生を防ぐことを目的とする。
情報処理システムの通信において、少量データを数１０ミリ秒から数秒のオーダの定周期で交換するような通信が存在する。この場合、１つの通信パケットの間欠的送信となり、このデータが損失した場合は、通信プロトコルのタイマ処理でないと検出できないため、大きな転送遅延が発生する。これを解決するために、実施の形態６では、分割されていない一定サイズより小さいデータの送信を小データの間欠送信と判断して、自動的に通信パケットの多重化を行う。また、データサイズが小さいため、多重化を行ってもこれによる通信帯域の減少は小さい。
実施の形態６のデータ送信装置は実施の形態１と同様に図１、図３の構成を持つが、多重化判断部１２１が異なる。多重化判断部の構成を図２０に示す。実施の形態６では多重化判断部１２１に、通信パケットの多重化を行うかどうかを判断するための送信データサイズのしきい値を示すデータサイズ基準値を記録したデータサイズ基準値記録部１２９を持つ。また多重化判断処理１２４の動作が異なる。
【００６４】
この発明の実施の形態６では、送信処理の全体動作は実施の形態１と同様に図４に示す動作を行う。
実施の形態６では、Ｓ１２０の多重化判断部１２１における多重化判断処理の動作が異なる。実施の形態６における多重化判断処理１２４の動作の詳細を図２１に示す。
実施の形態６では、Ｓ１２１からＳ１２３までの多重化条件の判定は実施の形態１と同様に行う。その後、多重化判断部１２１は、さらにＳ６０１で追加した条件について判定を行う。Ｓ６０１では、多重化判断部１２１は、送信データ１４０のデータ部のデータサイズ１４４、分割フラグ１４５とデータサイズ基準値記録部１２９に記録されたデータサイズ基準値とを比較し、送信データが分割されておらず、送信データサイズ１４４がデータサイズ基準値記録部１２９に記録されたデータサイズ基準値以下であるか判定する。
多重化条件４に合致した場合は間欠送信であると予想し、Ｓ１２５で送信パケットの多重化を行うと判断する。データサイズ基準値記録部１２９に記録されたデータサイズ基準値は、システムの通信設計より設定された値である。データサイズ基準値を０に設定することにより、実施の形態１と同じ動作を行わせることもできる。
多重化を行うと判断した送信データは図４のＳ１３０で多重化パケット送出部１２２に渡され、実施の形態１また実施の形態２の動作を行う。これにより、通信パケットの多重化が行われる。
なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
【００６５】
この実施の形態６によるデータ送信装置によれば、実施の形態１または実施の形態２と同様の構成において、指定サイズよりも小さい送信データの通信パケットを多重化するようにしたので、少量の間欠送信の通信パケットの損失による大きな転送遅延時間の発生を防ぐことができる。
【００６６】
実施の形態７．
以下は、この発明の実施の形態７を図に従って説明する。
実施の形態７のデータ送信装置は、実施の形態１または実施の形態２において、特に優先度の高い処理の送信データの損失による通信遅延の発生を防ぐことを目的とする。
実施の形態７では、優先度の高いプロセスからのデータ送信を実時間性の必要な通信と判断して、自動的に通信パケットの多重化を行う。実施の形態７は実施の形態１と同様に図１、図３の構成を持つが、多重化判断部１２１が異なる。多重化判断部１２１の構成を図２２に示す。
実施の形態７では多重化判断部１２１に処理優先度７０１を持つ。処理優先度７０１はオペレーティングシステムの管理するプロセス情報７１０にあるプロセス優先度７１１から得る該当送信データを送信するプロセスの優先度である。さらに、多重化判断部１２１は多重化を行うかどうかを判断するしきい値となる優先度基準値７０３を記録している優先度基準値記録部７０２を持つ。
また、図２３に示すように、多重化判断部１２１による多重化判断処理Ｓ１２０の手順が、実施の形態１又は実施の形態２と異なる。
【００６７】
この発明の実施の形態７では、送信処理の全体動作は実施の形態１と同様に図４の動作を行う。
実施の形態７ではＳ１２０の多重化判断部における多重化判断処理の動作が異なる。実施の形態７における多重化判断処理１２４の動作の詳細を図２３に示す。
実施の形態７では、Ｓ１２１からＳ１２３までの多重化条件の判定は実施の形態１と同様に行う。その後、多重化判断部１２１は、さらにＳ７０１で追加した条件について判定を行う。Ｓ７０１では、多重化判断部１２１は、優先度基準値７０３と処理優先度７０１を比較し、処理優先度７０１が優先度基準値７０３以上であるか判定する。条件に合致した場合は高優先度処理のデータ送信とし、Ｓ１２５で送信パケットの多重化を行うと判断する。優先度基準値７０３の値は、システム内の処理の優先度設計より、しきい値を設定しておく。多重化を行うと判断した送信データは図４のＳ１３０で多重化パケット送出部１２２に渡され、実施の形態１また実施の形態２の動作を行う。これにより、通信パケットの多重化が行われる。
なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
【００６８】
この実施の形態７によるデータ送信装置によれば、実施の形態１または実施の形態２と同様の構成において、優先度が指定値以上を持つ送信プロセスの送信データを多重化するようにしたので、実時間制約の厳しい処理のデータ送信の通信パケットの損失による大きな転送遅延時間の発生を防ぐことができる。
【００６９】
実施の形態８．
以下は、この発明の実施の形態８を図に従って説明する。
実施の形態８のデータ送信装置は、実施の形態１または実施の形態２において、通信の実時間性の必要ない優先度の低い処理の送信に対しては、実施の形態１の多重化判断の条件に関わらずパケットの多重化を行わず、従来と同じ方法で送信する。
実施の形態８のデータ送信装置は実施の形態１と同様に図１、図３の構成を持つが、多重化判断部１２１が異なる。多重化判断部の構成を図２４に示す。実施の形態８では実施の形態７と同様に多重化判断部に処理優先度７０１を持つ。さらに、多重化判断部は多重化を行わないしきい値となる多重化下限優先度基準値８０２を持つ。多重化下限優先度基準値８０２は、優先度基準値記録部７０２に記録されている。多重化下限優先度基準値８０２より低い優先度の送信処理は、送信データの多重化条件に関わらずパケットの多重化を行わない。また多重化判断処理１２４の動作が異なる。
【００７０】
この発明の実施の形態８のデータ送信装置は、送信処理の全体動作については、実施の形態１と同様に図４の動作を行う。しかしながら、実施の形態８ではＳ１２０の多重化判断部における多重化判断処理の動作が異なる。実施の形態８における多重化判断処理１２４の動作の詳細を図２５に示す。
実施の形態８では、まずＳ８０１で、多重化判断部１２１が、送信を要求したプロセスの処理優先度７０１と多重化下限優先度基準値８０２とを比較し、処理優先度７０１が多重化下限優先度基準値８０２よりも低いか判定する。
条件に合致した場合、即ち、処理優先度７０１が多重化下限優先度基準値よりも低い場合は、Ｓ１２１からＳ１２３までの多重化条件の判定は行わずに、Ｓ１２４で送信パケットの多重化を行わないと判断する。
処理優先度７０１が多重化下限優先度基準値以上であれば、実施の形態１と同様にＳ１２１からＳ１２３までの多重化条件の判定を行い、条件に合致した場合はＳ１２５で送信パケットの多重化を行うと判断する。
多重化下限優先度基準値８０２の値は、システム内の処理の優先度設計よりしきい値を設定しておく。
実施の形態７と組合わせることにより、送信プロセスの優先度が多重化下限優先度基準値８０２より低い場合は多重化を行わず、優先度基準値７０３以上の場合は必ず多重化を行うという動作を得ることができる。
なお、本実施の形態に基づくデータ送信方法も同様の手順により実現される。
【００７１】
この実施の形態８によるデータ送信装置によれば、実施の形態１または実施の形態２と同様の構成において、優先度が指定値より低い送信プロセスの送信データは条件に関わらず多重化しないようにしたので、実時間制約の必要のない処理のデータ送信に対しては、従来と同じ動作を行い、通信路の負荷を上げない。
【００７２】
ここで、これまで説明してきた本発明の特徴をまとめると以下のようになる。
データ損失が発生する可能性のあるローカルエリアネットワークにおける情報処理装置間の通信において、以下のような特徴を持つ通信処理方式
（ａ）通信プロトコル処理部から、他の情報処理装置へ送信するパケットを受け取り、ＬＡＮドライバへ送信パケットを送出するパケット多重化制御部を持つ。
（ｂ）パケット多重化制御部は、送信するパケットを多重化するかどうか判断する多重化判断部と、送信パケットを多重化しＬＡＮドライバへ送出する多重化パケット送出部を持つ。
（ｃ）多重化判断部は送信パケットのヘッダ内に含まれるシーケンス番号やデータサイズと、多重化判断部内に持つ前回送信シーケンス番号や制限データサイズとの比較により、パケットを多重化するかどうかの判断を行う。
（ｄ）多重化パケット送出部は送信するパケットの複製を作成するパケット複製処理と、複製したパケットをＬＡＮドライバに送出する多重化パケット送信処理を持つ。
【００７３】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）ＬＡＮドライバに、送信データを多重化して送信することを示す多重化要求フラグを持つ。
（ｂ）ＬＡＮドライバは多重化要求フラグが設定されている送信データに対して、同一データの複数回送信処理を行う多重送信処理を持つ。
（ｃ）多重送信処理は、ＬＡＮコントローラに対して、データを変更せずに送信要求を複数回発行することにより、多重化送信を実現する。
（ｄ）パケット多重化制御部内の多重化パケット送出部は、送信データのコピーを作成するパケット複製処理の代わりに、多重化パケット登録処理を持つ。
（ｅ）多重化パケット登録処理は、送信データのコピーを作成せず、ＬＡＮドライバの多重化要求フラグを設定することにより、ＬＡＮドライバに送信データの多重化を通知する。
【００７４】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）通信プロトコル処理部のタイマにより周期的に起動される周期処理で、タイマによる再送の発生回数を検出する。
（ｂ）多重化パケット送出部に同一パケットの送信回数を示すパケットの多重化数を持つ。
（ｃ）パケット複製処理は、パケットの多重化数を参照し、パケットを多重化する場合は、多重化数分のパケットの複製を作る。
（ｄ）タイマによる再送の発生回数が、設定したしきい値を越えた場合は多重化数を増やす。
【００７５】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）通信プロトコル処理部のタイマにより周期的に起動される周期処理で、タイマによる再送の発生回数を検出する。
（ｂ）ＬＡＮドライバに同一パケットの送信回数を示すパケットの多重化数を持つ。
（ｃ）ＬＡＮドライバの多重送信処理は、パケットの多重化数を参照し、パケットを多重化する場合は、多重化数分の送信要求を連続発行する。
（ｄ）タイマによる再送の発生回数が、設定したしきい値を越えた場合は多重化数を増やす。
【００７６】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）ＬＡＮドライバに同一パケットの多重送信を行う場合に、再送パケット送信までの待ち時間を指定する送信遅延時間を持つ。
（ｂ）ＬＡＮドライバは、多重送信を行う場合は送信遅延時間を参照し、指定された時間、送信要求発行を遅らせる。
【００７７】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）多重化判断部に通信パケットの多重化を行う送信データのデータサイズのしきい値を示す多重化パケットサイズを持つ。
（ｂ）多重化判断処理は、請求項１の多重化判断の条件に加えて、多重化パケットサイズを参照し、送信データサイズが多重化パケットサイズ以下であれば送信パケットを多重化すると判断し、送信データを多重化パケット送出部に渡す。
【００７８】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）多重化判断部に通信パケットの多重化を行う送信処理の優先度のしきい値を示す多重化優先度を持つ。
（ｂ）多重化判断部に送信要求を行ったプロセスの優先度を示す処理優先度を持つ。
（ｃ）多重化判断処理は、請求項１の多重化判断の条件に加えて、処理優先度と多重化優先度を参照し、送信処理の処理優先度が多重化優先度以上であれば送信パケットを多重化すると判断し、送信データを多重化パケット送出部に渡す。
【００７９】
更に、以下のような特徴を持つ情報処理装置の通信処理方式
（ａ）多重化判断部に通信パケットの多重化を行う必要がない送信処理の優先度のしきい値を示す多重化下限優先度を持つ。
（ｂ）多重化判断部に送信要求を行ったプロセスの優先度を示す処理優先度を持つ。
（ｃ）多重化判断処理は、多重化判断を行う前に、処理優先度と多重化優先度を参照し、送信処理の処理優先度が多重化下限優先度より小さい場合、多重化条件に関わらず送信パケットを多重化しないと判断し、送信データを多重化パケット送出部に渡す。
【００８０】
【発明の効果】
この発明によれば、損失した場合に大きな遅延を生じる送信パケットのみを多重化するようにしたので、通信帯域を減少させずに、通信パケットが損失した場合のデータ転送時間を短縮できる。また、そのような機構を従来の通信プロトコルを変更せず、付加する方式で実現することができる。
【００８１】
また、この発明によれば、通信パケットの多重化を送信データのコピーをせず、ＬＡＮドライバにおける多重送信で実現するようにしたので、ソフトウェアの多重化処理のオーバヘッドを削減することができる。
【００８２】
また、この発明によれば、タイマによるパケットの再送の発生の累積回数に応じて、通信パケットの多重化数を増すようにしたので、ネットワークの通信品質に応じて多重化数を自動的に設定することができる。
【００８３】
また、この発明によれば、多重化送信を行う場合に、同一パケットを一定の遅延時間をおいて送信するようにしたので、連続送信による受信側の処理溢れを防ぐことができる。
【００８４】
更に、この発明によれば、指定サイズよりも小さい送信データの場合、通信パケットを多重化するようにしたので、少量の間欠送信の通信パケットの損失による大きな転送遅延時間の発生を防ぐことができる。
【００８５】
この発明によれば、優先度が指定値以上を持つ送信プロセスの送信データを多重化するようにしたので、実時間制約の厳しい処理のデータ送信の通信パケットの損失による大きな転送遅延時間の発生を防ぐことができる。
【００８６】
この発明によれば、優先度が指定値より低い送信プロセスの送信データは条件に関わらず多重化しないようにしたので、実時間制約の必要のない処理のデータ送信に対しては、従来と同じ動作を行い、通信路の負荷を上げない。
【図面の簡単な説明】
【図１】  実施の形態１に係るデータ送信装置の構成を示すブロック図。
【図２】  実施の形態１に係るデータ送信装置を含むネットワーク構成を示す図。
【図３】  実施の形態１に係るデータ送信装置の構成を示すブロック図。
【図４】  実施の形態１に係るデータ送信装置の送信処理の手順を示すフローチャート図。
【図５】  実施の形態１に係るデータ送信装置の多重化判断処理の手順を示すフローチャート図。
【図６】  実施の形態１に係るデータ送信装置のパケット複製処理の手順を示すフローチャート図。
【図７】  実施の形態１に係るデータ送信装置の多重化パケット送信処理の手順を示すフローチャート図。
【図８】  実施の形態２に係るデータ送信装置の構成を示すブロック図。
【図９】  実施の形態２に係るデータ送信装置の送信処理の手順を示すフローチャート図。
【図１０】  実施の形態２に係るデータ送信装置の多重化パケット登録処理の手順を示すフローチャート図。
【図１１】  実施の形態２に係るデータ送信装置の多重送信処理の手順を示すフローチャート図。
【図１２】  実施の形態３に係るデータ送信装置のタイマ処理を示すブロック図。
【図１３】  実施の形態３に係るデータ送信装置の多重化パケット送出部を示すブロック図。
【図１４】  実施の形態３に係るデータ送信装置の周期処理の手順を示すフローチャート図。
【図１５】  実施の形態３に係るデータ送信装置のパケット複製処理の手順を示すフローチャート図。
【図１６】  実施の形態４に係るデータ送信装置のＬＡＮドライバを示すブロック図。
【図１７】  実施の形態４に係るデータ送信装置の多重送信処理の手順を示すフローチャート図。
【図１８】  実施の形態５に係るデータ送信装置のＬＡＮドライバを示すブロック図。
【図１９】  実施の形態５に係るデータ送信装置の送信遅延付き多重送信処理の手順を示すフローチャート図。
【図２０】  実施の形態６に係るデータ送信装置の多重化判断部を示すブロック図。
【図２１】  実施の形態６に係るデータ送信装置の多重化判断処理の手順を示すフローチャート図。
【図２２】  実施の形態７に係るデータ送信装置の多重化判断部を示すブロック図。
【図２３】  実施の形態７に係るデータ送信装置の多重化判断処理の手順を示すフローチャート図。
【図２４】  実施の形態８に係るデータ送信装置の多重化判断部を示すブロック図。
【図２５】  実施の形態８に係るデータ送信装置の多重化判断処理の手順を示すフローチャート図。
【図２６】  従来の通信処理方式の動作を示す図。
【図２７】  従来の情報処理装置の構成を示すブロック図。
【図２８】  従来の情報処理装置を含むネットワーク構成を示す図。
【図２９】  通信パケット紛失時の従来の情報処理装置の動作を示す図。
【図３０】  Ａｃｋパケット紛失時の従来の情報処理装置の動作を示す図。
【符号の説明】
１  データ送信装置、２  データ受信装置、１０  通信プロトコル処理部、１２  パケット多重化制御部、１３  ＬＡＮドライバ、１００  タイマ処理、１０１  タイマ、１０２  周期処理、１０３  送信シーケンス番号、１０４  Ａｃｋ受信済み送信シーケンス番号、１０５  送信ウィンドウサイズ、１０６  受信済みシーケンス番号、１０７  受信ウィンドウサイズ、１１０  送信済みデータ、１１２  送信待ちデータ、１１３  受信済みデータ、１１４  受信可能領域、１１５  再送回数記録部、１１６  再送回数基準値記録部、１１７  再送回数比較部、１２０  多重化数記録部、１２１  多重化判断部、１２２  多重化パケット送出部、１２３  送信シーケンス番号記録部、１２４  多重化判断処理、１２５パケット複製処理、１２６  多重化パケット送信処理、１２７  多重化パケット登録部、１２８  多重化パケット登録処理、１２９  データサイズ基準値記録部、１３１  多重化要求フラグ、１３２  多重送信処理部、１３３  送信間隔設定部、１３４  送信遅延時間、１４０  送信データ、１６０  送信データ、７０１  処理優先度、７０２  優先度基準値記録部、７０３  優先度基準値、７１０プロセス情報、７１１  プロセス優先度、８０２  多重化下限優先度基準値。
【図１】
0003752137.tif 000002
【図２】
0003752137.tif 000003
【図３】
0003752137.tif 000004
【図４】
0003752137.tif 000005
【図５】
0003752137.tif 000006
【図６】
0003752137.tif 000007
【図７】
0003752137.tif 000008
【図８】
0003752137.tif 000009
【図９】
0003752137.tif 000010
【図１０】
0003752137.tif 000011
【図１１】
0003752137.tif 000012
【図１２】
0003752137.tif 000013
【図１３】
0003752137.tif 000014
【図１４】
0003752137.tif 000015
【図１５】
0003752137.tif 000016
【図１６】
0003752137.tif 000017
【図１７】
0003752137.tif 000018
【図１８】
0003752137.tif 000019
【図１９】
0003752137.tif 000020
【図２０】
0003752137.tif 000021
【図２１】
0003752137.tif 000022
【図２２】
0003752137.tif 000023
【図２３】
0003752137.tif 000024
【図２４】
0003752137.tif 000025
【図２５】
0003752137.tif 000026
【図２６】
0003752137.tif 000027
【図２７】
0003752137.tif 000028
【図２８】
0003752137.tif 000029
【図２９】
0003752137.tif 000030
【図３０】
0003752137.tif 000031