(57)【特許請求の範囲】
【請求項１】
パケットデータを受信装置に送信するための複数の送信部と、
前記受信装置からのパケットデータを受信するための少なくとも１つの受信部と、
複数のパケットデータを、前記複数の送信部に対して順次割り当てて送信するよう制御する送信制御部とを備え、
前記送信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記複数の送信部に対して送信順序が分かる状態で順次割り当てて送信し、前記受信装置から返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信部を変更する送信装置。
【請求項２】
前記送信制御部は、前記同期のずれが発生した場合、１から開始する昇順番号が割り振られたループバックパケットを前記複数の送信部に対して順次割り当てて送信し、前記受信装置から返信されてきた複数のループバックパケットのうち最後に返信されてきたループバックパケットに割り振られた番号の数だけ、データ転送の再開の際にパケットデータを割り当てる送信部を進める請求項１記載の送信装置。
【請求項３】
パケットデータを送信装置に送信するための少なくとも１つの送信部と、
前記送信装置からのパケットデータを受信するための複数の受信部と、
前記複数の受信部を介して送信されてきたパケットデータを、前記複数の受信部から順次取り込むことにより受信するよう制御する受信制御部とを備え、
前記受信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記送信部に対して送信順序が分かる状態で順次送信し、前記送信装置から前記複数の受信部に返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信部を変更する受信装置。
【請求項４】
前記受信制御部は、前記同期のずれが発生した場合、１から開始する昇順番号が割り振られたループバックパケットを前記送信部に対して順次送信し、前記送信装置から返信されてきた複数のループバックパケットのうち最後に返信されてきたループバックパケットに割り振られた番号の数だけ、データ転送の再開の際にパケットデータを取り込む受信部を戻す請求項３記載の受信装置。
【請求項５】
パケットデータを受信装置に送信するための複数の送信部と、前記受信装置からのパケットデータを受信するための少なくとも１つの受信部と、複数のパケットデータを、前記複数の送信部に対して順次割り当てて送信するよう制御する送信制御部とを備え、前記送信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記複数の送信部に対して送信順序が分かる状態で順次割り当てて送信し、前記受信装置から返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信部を変更する送信装置と、
前記送信装置と複数チャネルの伝送路により接続され、前記送信装置から送信されてきたパケットデータを受信する受信装置と、
を有する送受信システム。
【請求項６】
パケットデータを送信装置に送信するための少なくとも１つの送信部と、前記送信装置からのパケットデータを受信するための複数の受信部と、前記複数の受信部を介して送信されてきたパケットデータを、前記複数の受信部から順次取り込むことにより受信するよう制御する受信制御部とを備え、前記受信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記送信部に対して送信順序が分かる状態で順次送信し、前記送信装置から前記複数の受信部に返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信部を変更する受信装置と、
前記受信装置と複数チャネルの伝送路により接続され、前記受信装置に対してパケットデータを送信する送信装置と、
を有する送受信システム。
【請求項７】
入力されたデータに基づいて生成された複数のパケットデータを、パケットデータを受信装置に送信するための複数の送信部に対して順次割り当てて送信するよう制御するインターリーブ制御を行っている際に、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記複数の送信部に対して送信順序が分かる状態で順次割り当てて送信するステップと、
前記受信装置から返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信部を変更するステップとをコンピュータに実行させるためのプログラム。
【請求項８】
送信装置からのパケットデータを受信するための複数の受信部を介して送信されてきたパケットデータを、前記複数の受信部から順次取り込むことにより受信するよう制御するインターリーブ制御を行っている際に、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記送信装置に対して送信順序が分かる状態で順次送信するステップと、
前記送信装置から前記複数の受信部に返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信部を変更するステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、受信装置、送受信システムおよびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、固定障害発生レーンを特定して切り離し、正常レーンのみでデータ転送を再構築して代替的に伝送を可能として、伝送を継続できるようにしたデータ転送方式及び方法開示されている。
【０００３】
特許文献２には、送信装置と受信装置との間が複数の通信チャネルにより接続され、生成された複数のパケットデータを複数の通信チャネルに順次割り当てて送信するインターリーブ通信が行われる際に、検査対象の通信チャネルに検査用パケットを送信し、他の通信チャネルにはダミーパケットを送信するようにして、特定の通信チャネルのテストを行うようにした送受信システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１８６５２７号公報
【特許文献２】特開２０１４−２３６３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
送信装置と受信装置との間を複数の通信チャネルの伝送路により接続するような送受信システムでは、パケットデータを複数の通信チャネルに順次振り分けて伝送を行うインターリーブ通信と呼ばれる通信方法がある。このインターリーブ通信では、電源投入等により送信装置と受信装置との間で通信が確立された（リンクアップ完了）後に、予め定められた通信チャネルからパケットデータの送信を開始し、予め定められた通信チャネルからパケットデータの受信を開始するよう送信装置と受信装置は設定されている。そして、送信装置および受信装置は、その後は決まった順番で通信チャネルを切替えてパケットデータの送受信を行うよう設定されている。
【０００６】
しかし、送信装置と受信装置との間で高速なシリアル伝送によりデータの伝送を行っている場合、例えば外部からのノイズが伝送媒体に印加されると伝送エラーになってしまう場合がある。シリアル伝送では、誤り訂正機能が用いられている場合があるものの、バーストエラーのように短い区間で集中的に伝送エラーが発生すると訂正許容範囲を超えてしまう場合がある。このような場合には、受信装置側では、パケットデータを受信することができず消失状態となってしまう。
【０００７】
このように送信装置では、パケットデータを送信したが、受信装置では、このパケットデータを受信できない場合、受信装置側では、受信するパケットデータの順序が変わってしまうエラー状態となってしまう。
【０００８】
このようなエラー状態はインターリーブエラーと呼ばれ、このようなインターリーブエラーが発生すると、送受信システムでは、伝送を停止して、正常な伝送状態に復帰するために送信装置および受信装置のどちらか一方または両方の装置の電源をオフオンしてリンクアップ処理を再度やり直す必要がある。
【０００９】
本発明の目的は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれてしまうインターリーブエラーが発生した場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることが可能な送信装置、受信装置、送受信システムおよびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
［送信装置］
請求項１に係る本発明は、パケットデータを受信装置に送信するための複数の送信部と、
前記受信装置からのパケットデータを受信するための少なくとも１つの受信部と、
複数のパケットデータを、前記複数の送信部に対して順次割り当てて送信するよう制御する送信制御部とを備え、
前記送信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記複数の送信部に対して送信順序が分かる状態で順次割り当てて送信し、前記受信装置から返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信部を変更する送信装置である。
【００１１】
請求項２に係る本発明では、前記送信制御部は、前記同期のずれが発生した場合、１から開始する昇順番号が割り振られたループバックパケットを前記複数の送信部に対して順次割り当てて送信し、前記受信装置から返信されてきた複数のループバックパケットのうち最後に返信されてきたループバックパケットに割り振られた番号の数だけ、データ転送の再開の際にパケットデータを割り当てる送信部を進める請求項１記載の送信装置である。
【００１２】
［受信装置］
請求項３に係る本発明は、パケットデータを送信装置に送信するための少なくとも１つの送信部と、
前記送信装置からのパケットデータを受信するための複数の受信部と、
前記複数の受信部を介して送信されてきたパケットデータを、前記複数の受信部から順次取り込むことにより受信するよう制御する受信制御部とを備え、
前記受信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記送信部に対して送信順序が分かる状態で順次送信し、前記送信装置から前記複数の受信部に返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信部を変更する受信装置である。
【００１３】
請求項４に係る本発明では、前記受信制御部は、前記同期のずれが発生した場合、１から開始する昇順番号が割り振られたループバックパケットを前記送信部に対して順次送信し、前記送信装置から返信されてきた複数のループバックパケットのうち最後に返信されてきたループバックパケットに割り振られた番号の数だけ、データ転送の再開の際にパケットデータを取り込む受信部を戻す請求項３記載の受信装置である。
【００１４】
［送受信システム］
請求項５に係る本発明は、パケットデータを受信装置に送信するための複数の送信部と、前記受信装置からのパケットデータを受信するための少なくとも１つの受信部と、複数のパケットデータを、前記複数の送信部に対して順次割り当てて送信するよう制御する送信制御部とを備え、前記送信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記複数の送信部に対して送信順序が分かる状態で順次割り当てて送信し、前記受信装置から返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信部を変更する送信装置と、
前記送信装置と複数チャネルの伝送路により接続され、前記送信装置から送信されてきたパケットデータを受信する受信装置とを有する送受信システムである。
【００１５】
請求項６に係る本発明は、パケットデータを送信装置に送信するための少なくとも１つの送信部と、前記送信装置からのパケットデータを受信するための複数の受信部と、前記複数の受信部を介して送信されてきたパケットデータを、前記複数の受信部から順次取り込むことにより受信するよう制御する受信制御部とを備え、前記受信制御部は、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記送信部に対して送信順序が分かる状態で順次送信し、前記送信装置から前記複数の受信部に返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信部を変更する受信装置と、
前記受信装置と複数チャネルの伝送路により接続され、前記受信装置に対してパケットデータを送信する送信装置とを有する送受信システムである。
【００１６】
[プログラム]
請求項７に係る本発明は、入力されたデータに基づいて生成された複数のパケットデータを、パケットデータを受信装置に送信するための複数の送信部に対して順次割り当てて送信するよう制御するインターリーブ制御を行っている際に、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記複数の送信部に対して送信順序が分かる状態で順次割り当てて送信するステップと、
前記受信装置から返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信部を変更するステップとをコンピュータに実行させるためのプログラムである。
【００１７】
請求項８に係る本発明は、送信装置からのパケットデータを受信するための複数の受信部を介して送信されてきたパケットデータを、前記複数の受信部から順次取り込むことにより受信するよう制御するインターリーブ制御を行っている際に、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合、受信したときに送信元の装置に返信されるパケットデータであるループバックパケットを前記送信装置に対して送信順序が分かる状態で順次送信するステップと、
前記送信装置から前記複数の受信部に返信されてきた複数のループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信部を変更するステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１８】
請求項１に係る本発明によれば、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることができるという効果を得ることができる。
【００１９】
請求項２に係る本発明によれば、請求項１に係る発明により得られる効果に加えて、ループバックパケットに割り振られた番号を用いて正常な伝送状態に復帰させることができるという効果を得ることができる。
【００２０】
請求項３に係る本発明によれば、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることができるという効果を得ることができる。
【００２１】
請求項４に係る本発明によれば、請求項３に係る発明により得られる効果に加えて、ループバックパケットに割り振られた番号を用いて正常な伝送状態に復帰させることができるという効果を得ることができる。
【００２２】
請求項５に係る本発明によれば、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることができるという効果を得ることができる。
【００２３】
請求項６に係る本発明によれば、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることができるという効果を得ることができる。
【００２４】
請求項７に係る本発明によれば、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることができるという効果を得ることができる。
【００２５】
請求項８に係る本発明によれば、送信装置と受信装置との間でパケットデータの伝送に使用する通信チャネルの同期がずれた場合でも、送信装置および受信装置を初期化させることなく正常な伝送状態に復帰させることができるという効果を得ることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態の送受信システムのシステム構成を示す図である。
【図２】本発明の第１の実施形態における送受信システムの詳細な構成を示すブロック図である。
【図３】送信装置１００から受信装置２００に対してパケットデータを送信する際の、パケット制御部１０２の動作を説明するためのブロック図である。
【図４】送信装置１００から受信装置２００に対してパケットデータを送信する際の、パケット制御部２０２の動作を説明するためのブロック図である。
【図５】受信装置２００から送信装置１００に対してパケットデータを送信する際の、パケット制御部２０２の動作を説明するためのブロック図である。
【図６】受信装置２００から送信装置１００に対してパケットデータを送信する際の、パケット制御部１０２の動作を説明するためのブロック図である。
【図７】送信装置１００と受信装置２００との間のパケットデータのインターリーブ動作を模式的に示す図である。
【図８】送信装置１００から受信装置２００に通常パケットを送信する際の送受信動作を説明するための図である（通常パケットの送受信動作１）。
【図９】送信装置１００から受信装置２００に通常パケットを送信する際の送受信動作を説明するための図である（通常パケットの送受信動作２）。
【図１０】送信装置１００から受信装置２００に通常パケットを送信する際の送受信動作を説明するための図である（通常パケットの送受信動作３）。
【図１１】送信装置１００から受信装置２００に対して通常パケットを転送した際に、バーストエラーが発生した場合の送受信動作について説明するための図である（バーストエラー発生時の送受信動作１）。
【図１２】送信装置１００から受信装置２００に対して通常パケットを転送した際に、バーストエラーが発生した場合の送受信動作について説明するための図である（バーストエラー発生時の送受信動作２）。
【図１３】送信装置１００から受信装置２００に対してループバックパケットを送信した場合の送受信動作を説明するための図である（ループバックパケットの送受信動作１（受信側でのループバック））。
【図１４】送信装置１００から受信装置２００に対してループバックパケットを送信した場合の送受信動作を説明するための図である（ループバックパケットの送受信動作２（受信側でのループバック））。
【図１５】受信装置２００から送信装置１００に対してループバックパケットを送信した場合の送受信動作を説明するための図である（ループバックパケットの送受信動作１（送信側でのループバック））。
【図１６】受信装置２００から送信装置１００に対してループバックパケットを送信した場合の送受信動作を説明するための図である（ループバックパケットの送受信動作２（送信側でのループバック））。
【図１７】本発明の第１の実施形態の送受信システムにおいて行われるリカバリ処理の動作を説明するためのシーケンスチャートである。
【図１８】受信装置２００から転送されてきたループバックパケットを格納するための格納メモリの一例を示す図である。
【図１９】送信装置１００において実行されるリカバリ処理の動作を説明するためのフローチャートである。
【図２０】送信装置１００において実行されるリカバリ処理の動作を説明するためのフローチャートである。
【図２１】ループバックパケット格納メモリに格納されているループバックパケットの順序に応じて、インターリーブ送信制御部３３が実行するリカバリ処理を説明するためのフローチャートである。
【図２２】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理１（送信側が受信側に対して１つ進んでいる場合））。
【図２３】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理２（送信側が受信側に対して１つ進んでいる場合））。
【図２４】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理３（送信側が受信側に対して１つ進んでいる場合））。
【図２５】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理４（送信側が受信側に対して１つ進んでいる場合））。
【図２６】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理１（送信側が受信側に対して２つ進んでいる場合））。
【図２７】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理２（送信側が受信側に対して２つ進んでいる場合））。
【図２８】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理３（送信側が受信側に対して２つ進んでいる場合））。
【図２９】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理１（送信側が受信側に対して３つ進んでいる場合））。
【図３０】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理２（送信側が受信側に対して３つ進んでいる場合））。
【図３１】送信装置１００において実行されるリカバリ処理の動作を説明するための図である（送信側におけるリカバリ処理３（送信側が受信側に対して３つ進んでいる場合））。
【図３２】本発明の第２の実施形態の送受信システムにおいて行われるリカバリ処理の動作を説明するためのシーケンスチャートである。
【図３３】ループバックパケット格納メモリに格納されているループバックパケットの順序に応じて、インターリーブ受信制御部４３が実行するリカバリ処理を説明するためのフローチャートである。
【図３４】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理１（送信側が受信側に対して１つ進んでいる場合））。
【図３５】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理２（送信側が受信側に対して１つ進んでいる場合））。
【図３６】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理３（送信側が受信側に対して１つ進んでいる場合））。
【図３７】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理４（送信側が受信側に対して１つ進んでいる場合））。
【図３８】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理１（送信側が受信側に対して２つ進んでいる場合））。
【図３９】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理２（送信側が受信側に対して２つ進んでいる場合））。
【図４０】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理３（送信側が受信側に対して２つ進んでいる場合））。
【図４１】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理４（送信側が受信側に対して２つ進んでいる場合））。
【図４２】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理１（送信側が受信側に対して３つ進んでいる場合））。
【図４３】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理２（送信側が受信側に対して３つ進んでいる場合））。
【図４４】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理３（送信側が受信側に対して３つ進んでいる場合））。
【図４５】受信装置２００において実行されるリカバリ処理の動作を説明するための図である（受信側におけるリカバリ処理４（送信側が受信側に対して３つ進んでいる場合））。
【図４６】送受信システムの他の構成例を説明するための図である。
【発明を実施するための形態】
【００２７】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２８】
[第１の実施形態]
図１は本発明の第１の実施形態の送受信システムの構成を示す図である。
【００２９】
本実施形態の送受信システムは、図１に示されるように、パーソナルコンピュータ等の端末装置１０と、プリンタ等の画像形成装置２０とが通信ケーブル３０により接続された構成となっている。
【００３０】
端末装置１０は、印刷データを生成して、通信ケーブル３０経由にて生成した印刷データを画像形成装置２０に対して送信する。画像形成装置２０は、端末装置１０から送信された印刷データを受け付けて、印刷データに応じた画像を用紙上に出力する。
【００３１】
次に、図１に示した送受信システムの詳細な構成を図２に示す。なお、図２では、端末装置１０において印刷データを生成するための構成や、画像形成装置２０において印刷データに基づく画像を印刷用紙等に出力するための構成については省略して示している。
【００３２】
本実施形態の送受信システムでは、端末装置１０内に送信装置１００が設けられ、画像形成装置２０内に受信装置２００が設けられている。そのため、この送信装置１００と受信装置２００とにより送受信システムが構成される。
【００３３】
そして、本実施形態の送受信システムでは、端末装置１０と画像形成装置２０は相互にデータの送受信を行うことが可能な構成となっているが、端末装置１０から画像形成装置２０に伝送するデータ量は、画像形成装置２０から端末装置１０に送信するデータ量と比較して大きなものとなっている。
【００３４】
そのため、送信装置１００から受信装置２００にデータを送信するための伝送路として４つの通信チャネル設けられているのに対して、受信装置２００から送信装置１００にデータを送信するための伝送路は１つの通信チャネルしか設けられていない。
【００３５】
このように、本実施形態の送受信システムでは、データ転送量が非対称の伝送システムとなっているのは、端末装置１０から画像形成装置２０には、大量の画像データを送信する必要があるのに対して、画像形成装置２０から端末装置１０に対しては各種の制御データ等の少ないデータのみを送信できれば良いからである。
【００３６】
このような理由により、本実施形態の送信装置１００は、パケットデータを受信装置２００に送信するための４つの送信ポートと、受信装置２００からのパケットデータを受信するための少なくとも１つの受信ポートを備えている。ここで、パケットデータとは、転送しようとするデータをパケットと呼ばれる伝送単位により分割したものを意味する。
【００３７】
また、本実施形態の受信装置２００は、パケットデータを送信装置１００に送信するための少なくとも１つの送信ポートと、送信装置１００からのパケットデータを受信するための複数の受信ポートを備えている。
【００３８】
そして、この送受信システムでは、送信すべきデータは、所定量毎のデータに制御情報を付加したパケットデータに変換されて送信装置１００と受信装置２００との間を送受信されるようになっている。
【００３９】
端末装置１０内の送信装置１００では、ＣＰＵ１０９の制御に基づいて、メモリ１０８に一旦格納されたデータをパケットデータに変換した後に、４つの通信チャネルL0〜L3を介して画像形成装置２０内の受信装置２００に送信している。また、送信装置１００は、１つの通信チャネルL4を介して、受信装置２００からのパケットデータを受信している。
【００４０】
そして、送信装置１００は、図２に示されるように、入出力制御部１０１と、パケット制御部１０２と、リンク制御部１０３と、４チャネル分のビット変換部１０４ａ〜１０４ｄ、ビット逆変換部１０５、４チャネル分のパラレル／シリアル変換部（Ｐ／Ｓ）１０６ａ〜１０６ｄ、シリアル／パラレル変換部（Ｓ／Ｐ）１０７を備えている。
【００４１】
入出力制御部１０１は、端末装置１０内のメモリ１０８から画像データ等の、画像形成装置２０に送信するためのデータを取り出してパケット制御部１０２に転送する。また、入出力制御部１０１は、パケット制御部１０２から渡されたデータを端末装置１０のＣＰＵ等の内部のデータ処理部に転送する。
【００４２】
パケット制御部１０２は、入出力制御部１０１を経由して伝送されてきた画像データ等のデータをパケットデータに変換し、インターリーブ制御により４チャンネルに順次振り分けてパケットデータをリンク制御部１０３に転送する。また、このパケット制御部１０２はリンク制御部１０３を経由して伝送されてきたパケットデータから伝送データを取り出して、その取り出した伝送データを入出力制御部１０１に転送する。
【００４３】
リンク制御部１０３は、通常は送信装置１００と受信装置２００との間の通信を確立し、確立した通信を維持するための符号データを送受信している。リンク制御部１０３は、パケット制御部１０２からパケットデータが送られてくると、そのパケットデータを、４つのビット変換部１０４ａ〜１０４ｄのうちの、パケット制御部１０２により順次振り分けられたいずれかのビット変換部に転送する。またこのリンク制御部１０３は、ビット逆変換部１０５から転送されてきたパケットデータをパケット制御部１０２に転送する。
【００４４】
ビット変換部１０４ａ〜１０４ｄは、パケット制御部１０２において生成され、リンク制御部１０３を経由して入力されてきたパケットデータを通信用のビット配列のパケットデータに変換して、４つのパラレル／シリアル変換部１０６ａ〜１０６ｄのうちの対応するパラレル／シリアル変換部に転送する。
【００４５】
また、ビット逆変換部１０５は、シリアル／パラレル変換部１０７から渡された通信用のビット配列を持ったパケットを内部処理形式のビット配列のパケットに変換してリンク制御部１０３に転送する。
【００４６】
さらに、パラレル／シリアル変換部１０６ａ〜１０６ｄは対応するビット変換部１０４ａ〜１０４ｄから渡されたパラレル形式のパケットデータをシリアル形式のパケットデータに変換し、対応する４つの送信ポートから、受信装置２００に向けて通信ケーブル３０経由にて送信する。
【００４７】
さらに、シリアル／パラレル変換部１０７は、受信装置２００から通信ケーブル３０を経由して送信され受信ポートから入力されてきたシリアル形式のパケットデータをパラレル形式のパケットデータに変換してビット逆変換部１０５に転送する。
【００４８】
通信ケーブル３０は、送信装置１００の４つの通信チャンネルL0〜L3の送信ポートのそれぞれと、受信装置２００の４つの通信チャンネルL0〜L3の受信ポートのそれぞれを１対１で接続するとともに、送信装置１００の１つの通信チャネルL4の受信ポートと受信装置２００の１つの通信チャネルL4の送信ポートとを接続している。
【００４９】
画像形成装置２０内の受信装置２００は、送信チャンネルの数と受信チャンネルの数が送信装置１００とは逆になっている点を除き、送受信装置１００とほぼ同一の構成を有する。したがって、ここでは、上記の送信装置１００の説明を踏まえ、簡略に説明する。
【００５０】
画像形成装置２０内の受信装置２００では、ＣＰＵ２０９の制御に基づいて、４つの通信チャネルL0〜L3を介して端末装置１０内の送信装置１００から送信されてきたパケットデータを転送データに変換した後に、メモリ２０８に格納している。また、受信装置２００は、１つの通信チャネルL4を介して、送信装置１００に対してパケットデータを送信している。
【００５１】
そして、受信装置２００は、図２に示されるように、入出力制御部２０１と、パケット制御部２０２と、リンク制御部２０３と、４チャネル分のビット逆変換部２０４ａ〜２０４ｄ、ビット変換部２０５、４チャネル分のシリアル／パラレル変換部（Ｓ／Ｐ）２０６ａ〜２０６ｄと、パラレル／シリアル変換部（Ｐ／Ｓ）２０７を備えている。
【００５２】
送信装置１００の４つの通信チャネルL0〜L3の各送信ポートから通信ケーブル３０を経由して送信されてきたパケットデータは各受信ポートから入力されてシリアル／パラレル変換部２０６ａ〜２０６ｄでパラレル形式のパケットデータに変換され、さらに各ビット逆変換部２０４ａ〜２０４ｄで通信用のビット配列から内部処理形式のビット配列のパケットデータに逆変換される。ビット逆変換部２０４ａ〜２０４ｄで逆変換されたパケットデータはリンク制御部２０３を経由してパケット制御部２０２に転送される。
【００５３】
リンク制御部２０３は、送信装置１００のリンク制御部１０３と協同して、送信装置１００と受信装置２００との間の通信を確立し、確立した通信を維持するための符号データの送受信を行なう役割を担っている。このリンク制御部２０３は、通常は通信維持用の符号データの送受信を行っているが、ビット逆変換部２０４ａ〜２０４ｄからのパケットデータをパケット制御部２０２に受け渡す役割も担っている。
【００５４】
パケット制御部２０２は、送信装置１００のパケット制御部１０２におけるインターリーブ制御により４チャンネルに振り分けられて伝送されてきた４チャンネル分のパケットデータを順次１つの経路に集める役割と、それらのパケットデータから転送データを取り出して入出力制御部２０１に転送する役割とを担っている。
【００５５】
入出力制御部２０１は、パケット制御部２０２から伝えられた転送データを画像形成装置２０内のメモリ２０８に書き込む。画像形成装置２０は、このメモリ２０８に書き込まれたデータを読み出してそのデータに従って動作して印刷用紙等の記録媒体上に画像を出力する。
【００５６】
また、画像形成装置２０は、端末装置１０に向けて送信すべきデータがあるときは、そのデータを入出力制御部２０１に転送する。入出力制御部２０１は、転送されてきたデータを読み出してパケット制御部２０２に転送する。パケット制御部２０２は、そのデータをパケットデータに変換してリンク制御部２０３に転送する。リンク制御部２０３は、パケット制御部２０２から転送されたパケットデータをビット変換部２０５に転送する。ビット変換部２０５は、転送されてきたパケットデータを通信用のビット配列を持ったパケットデータに変換してパラレル／シリアル変換部２０７に転送する。パラレル／シリアル変換部２０７は、そのパケットデータをシリアル形式のパケットデータに変換し通信チャネルL4の送信ポートから送信装置１００に向けて通信ケーブル３０経由で送信する。このパケットデータは、送信装置１００の受信ポートに入力される。その後受信されたパケットデータは上述したような経路により処理される。
【００５７】
次に、図２に示した送信装置１００のパケット制御部１０２および受信装置２００のパケット制御部２０２の構成を図３〜図６のブロック図を参照して説明する。
【００５８】
図３および図４は、それぞれ、送信装置１００から受信装置２００に対してパケットデータを送信する際の、パケット制御部１０２およびパケット制御部２０２の動作を説明するためのブロック図である。
【００５９】
また、図５および図６は、それぞれ、受信装置２００から送信装置１００に対してパケットデータを送信する際の、パケット制御部２０２およびパケット制御部１０２の動作を説明するためのブロック図である。
【００６０】
なお、送信装置１００と受信装置２００との間で伝送されるパケットデータには、様々な種類のパケットデータが存在する。このパケットデータの種類としては、通常パケットデータ（以下通常パケットと略す。）と、ループバックパケット（以下ループバックパケットと略す。）が存在する。
【００６１】
通常パケットは、画像データ等のデータを送信装置１００から受信装置２００に伝送したり、受信装置２００から送信装置１００に各種データを伝送するためのパケットデータである。ただし、この通常パケットは、画像データのみでなく、画像データの解像度、カラー／モノクロの別、プリント出力に用いるべき用紙のサイズ、その他様々な、画像の出力に必要なデータを送信するためのパケットデータが含まれる。ここでは、それらを区別して記述する必要はなく、それら様々な種類のパケットデータを総称して「通常パケット」と称している。
【００６２】
また、ループバックパケットは、受信したときに送信元の装置に返信されるパケットデータである。例えば、送信装置１００から受信装置２００に対してループバックパケットを送信した場合、このループバックパケットを受信した受信装置２００では、送信元の送信装置１００に対して受信したループバックパケットを返信するように設定されている。また、同様に、受信装置２００から送信装置１００に対してループバックパケットを送信した場合、このループバックパケットを受信した送信装置１００では、送信元の受信装置２００に対して受信したループバックパケットを返信するように設定されている。
【００６３】
このループバックパケットは、伝送路の確認のために用いられるパケットデータであり、例えば端末装置１０では、上記のように画像形成装置２０を経由して返信されてきたループバックパケットのデータを調べることにより、そのループバックパケットを送信したチャンネルの通信性能の良否を判定している。
【００６４】
先ず、送信装置１００から受信装置２００に対してパケットデータを送信する際のパケット制御部１０２、２０２の動作について説明する。
【００６５】
パケット制御部１０２は、図３に示されるように、ラインバッファ３１と、パケット生成部３２と、インターリーブ送信制御部３３と、４つの通信チャネルL0〜L3にそれぞれ対応した送信バッファ３４ａ〜３４ｄと、１つの通信チャネルL4に対応した受信バッファ３５と、データ取得部３６とを備えている。
【００６６】
端末装置１０から画像形成装置２０に送信される、画像データを始めとする通常のデータは、一旦メモリ１０８に格納される。このメモリ１０８に格納されたデータは、入出力制御部１０１により取り出されてラインバッファ３１に移される。このラインバッファ３１内のデータはパケット生成部３２に渡され、パケット生成部３２ではそのデータを埋め込んだパケットデータ（通常パケット）を生成する。つまり、パケット生成部３２は、入力されたデータに基づいて、そのデータを送信するためのパケットデータを生成する。この生成されたパケットデータは、インターリーブ送信制御部３３により４つの通信チャンネルL0〜L3のうちの次のパケット送信を担う通信チャンネルに割り当てられて、４つの送信バッファ３４ａ〜３４ｄのうちの対応する送信バッファに格納される。
【００６７】
つまり、インターリーブ送信制御部３３は、パケット生成部３２により生成された複数のパケットデータを、４つの送信ポート（送信部）に対して順次割り当てて送信するよう制御する。
【００６８】
そして送信バッファに格納されたパケットは、リンク制御部１０３を経由し、さらに図２に示したビット変換部１０４ａ〜１０４ｄやパラレル／シリアル変換部１０６ａ〜１０６ｄを経由して受信装置２００に向けて送信される。
【００６９】
ループバックパケットを受信装置２００に送信する場合には、端末装置１０のＣＰＵ１０９からパケット制御部１０２のパケット生成部３２に対して、ループバックデータおよびループバック送信チャンネル、ループバック送信タイミング等の各種ループバックパケット生成指示が入力される。
【００７０】
パケット生成部３２では、このループバックパケット生成指示に基づいて、指示されたループバックデータを格納したループバックパケットを生成する。パケット生成部３２において生成されたループバックパケットは、上記で説明した通常パケットと同様にインターリーブ送信制御部３３に転送されて受信装置２００に対して送信される。
【００７１】
また、パケット制御部２０２は、図４に示されるように、４つの通信チャネルL0〜L3にそれぞれ対応した受信バッファ４１ａ〜４１ｄと、インターリーブ受信制御部４３と、データ取得部４４と、パケット生成部４５と、１つの通信チャネルL4に対応した送信バッファ４２とを備えている。
【００７２】
送信装置１００から各チャンネルを通って送信されてきたパケットデータは、受信バッファ４１ａ〜４１ｄのうちの送信されてきたチャンネルに対応する受信バッファに一旦格納されてインターリーブ受信制御部４３に転送される。インターリーブ受信制御部４３は、それら各チャンネルのパケットデータを一つの経路にまとめてデータ取得部４４に転送する。
【００７３】
つまり、インターリーブ受信制御部４３は、４つの受信ポート（受信部）を介して送信されてきたパケットデータを、この４つの受信ポートから順次取り込むことにより受信するよう制御する。
【００７４】
データ取得部４４では、そのパケットの種類が判定され、通常パケットである場合には、その通常パケット中のデータが取り出されて、入出力制御部２０１を介して画像形成装置２０内のメモリ２０８に書き込まれる。画像形成装置２０はこのメモリ２０８に書き込まれたデータを読み出して、そのデータの内容に従った動作を実行する。
【００７５】
一方、データ取得部４４は、転送されてきたパケットデータがループバックパケットであった場合には、そのループバックパケットから取り出したループバックデータをパケット生成部４５に転送する。すると、パケット生成部４５は、そのループバックデータを埋め込んだループバックパケットを再生して送信バッファ４２に書き込む。この送信バッファ４２内のループバックパケットはリンク制御部２０３を経由し、さらに図２に示したビット変換部２０５およびパラレル／シリアル変換部２０７を経由して送信装置１００に向けて送信される。
【００７６】
また画像形成装置２０から端末装置１０に送信される、ループバックデータ以外の転送データは、入出力制御部２０１を介してパケット生成部４５に送られて、パケット生成部４５によりその転送データが埋め込まれた通常パケットが生成される。つまり、パケット生成部４５は、入力されたデータに基づいて、そのデータを送信するためのパケットデータを生成する。この生成された通常パケットは、ループバックパケットと同様に、送信バッファ４２に書き込まれ、送信装置１００に向けて送信される。
【００７７】
次に、受信装置２００から送信装置１００に対してループバックパケットを送信する際のパケット制御部１０２、２０２の動作について図５、図６を参照して説明する。
【００７８】
画像形成装置２０から端末装置１０にループバックパケットを送信する場合には、図５に示されるように、画像形成装置２０のＣＰＵ２０９からパケット制御部２０２のパケット生成部４５に対して、ループバックデータおよびループバック送信チャンネル、ループバック送信タイミング等の各種ループバックパケット生成指示が入力される。
【００７９】
パケット生成部４５では、このループバックパケット生成指示に基づいて、指示されたループバックデータを格納したループバックパケットを生成する。パケット生成部４５において生成されたループバックパケットは、上記で説明した通常パケットと同様に送信装置１００に対して送信される。
【００８０】
そして、図６に示されるように、送信装置１００では、受信装置２００から通信チャネルL4を介して送信されてきたパケットデータは、受信バッファ３５に一旦格納されてデータ取得部３６に転送される。データ取得部３６では、そのパケットの種類が判定され、通常パケットである場合には、その通常パケット中のデータが取り出されて、入出力制御部１０１を介して端末装置１０内に転送される。
【００８１】
一方、データ取得部３６は、転送されてきたパケットデータがループバックパケットであった場合には、そのループバックパケットから取り出したループバックデータをパケット生成部３２に転送する。すると、パケット生成部３２は、そのループバックデータを埋め込んだループバックパケットを再生して、インターリーブ送信制御部３３を介して送信バッファ３４ａ〜３４ｄのうちのいずれかの送信バッファに書き込む。この送信バッファ内のループバックパケットはリンク制御部１０３を経由し、さらに図２に示したビット変換部１０４ａ〜１０４ｄおよびパラレル／シリアル変換部１０６ａ〜１０６ｄを経由して受信装置２００に向けて送信される。
【００８２】
次に、図７を参照して、送信装置１００と受信装置２００との間のパケットデータの送受信動作を説明する。図７は、送信装置１００と受信装置２００との間のパケットデータのインターリーブ動作を模式的に示す図である。
【００８３】
図７では、送信装置１００のパケット生成部３２により生成された通常パケットおよびループバックパケット等のパケットデータは、４つの通信チャネルL0〜L3に順次割り当てられて送信される。
【００８４】
そして、図７中のL0〜L3バッファは、受信装置２００内のパケット制御部２０２における受信バッファ４１ａ〜４１ｄに相当し、送信装置１００から通信チャネルL0〜L3を経由して送信されてきたパケットデータをそれぞれ格納する。そして、受信装置２００では、データ取得部４４がインターリーブ受信制御部４３の動作により、L0〜L3バッファに格納されたパケットデータを順次取り出すような動作が行われる。
【００８５】
また、図７中のL4バッファは、送信装置１００内のパケット制御部１０２における受信バッファ３５に相当し、受信装置２００から通信チャネルL4を経由して送信されてきたパケットデータを格納する。
【００８６】
以下の説明では、図７に示した模式図を用いて送信装置１００と受信装置２００との間のデータ伝送の動作を説明する。
【００８７】
先ず図８〜図１０を参照して、送信装置１００から受信装置２００に対して通常パケットを転送する際の動作について説明する。以下の説明では、通常パケットｐｋｔ１、ｐｋｔ２、ｐｋｔ３、・・・・という順番で送信装置１００から受信装置２００に対して通常パケットを送信するものとして説明を行う。
【００８８】
また、送信装置１００および受信装置２００では、パケットデータを割り当てる通信チャネルとして、通信チャネルL0から順次切り替えを開始するものとして説明する。
【００８９】
ここで、図８（Ａ）に示すように通常パケットｐｋｔ１がパケット生成部３２により生成されると、図８（Ｂ）に示すように、この通常パケットｐｋｔ１は通信チャネルL0を経由して受信装置２００に送信される。
【００９０】
そして、図８（Ｃ）に示すように、同様にして通常ｐｋｔ２は、通信チャネルL1を経由して受信装置２００に送信され、通常パケットｐｋｔ１はL0バッファに格納される。
【００９１】
すると、図９（Ａ）に示すように、LOバッファのパケットｐｋｔ１はデータ取得部４４により取り出され、通常パケットｐｋｔ２はL1バッファに格納され、通常パケットｐｋｔ３は通信チャネルL2を経由して受信装置２００に送信される。
【００９２】
次に、図９（Ｂ）に示すように、データ取得部４４は、パケットデータを取り出すバッファをL0バッファからL1バッファに切替えるため、L1バッファのパケットｐｋｔ２がデータ取得部４４により取り出される。
【００９３】
以降同様の制御が行われることにより、通常パケットｐｋｔ３、ｐｋｔ４、ｐｋｔ５も順次通信チャネルL2、L3、L0を介して受信装置２００に送信され、L2バッファ、L3バッファ、L0バッファに格納された後にデータ取得部４４により取得される（図９（Ｃ）、図１０（Ａ）、図１０（Ｂ））。
【００９４】
上記のような処理が行われることにより、図１０（Ｃ）に示されるように、受信装置２００では、通常パケットｐｋｔ１、ｐｋｔ２、ｐｋｔ３、ｐｋｔ４、ｐｋｔ５というように、送信装置１００で送信された順序のまま受信されることになる。
【００９５】
次に、図１１、図１２を参照して、送信装置１００から受信装置２００に対して通常パケットを転送した際に、バーストエラーが発生した場合の送受信動作について説明する。
【００９６】
先ず、図１１（Ａ）に示すように、通常パケットｐｋｔ１がL0バッファに格納され、通常パケットｐｋｔ２が通信チャネルL1を経由して伝送されている最中にバーストエラーが発生して消失してしまい、通常パケットｐｋｔ２が受信装置２００により正常に受信されなかったものとする。
【００９７】
すると、図１１（Ｂ）に示すように、データ取得部４４は、L0バッファから通常パケットｐｋｔ１を取り出した後に、L1バッファに次のパケットデータが格納されるのを待ち続けることになる。
【００９８】
しかし、図１１（Ｃ）、図１２（Ａ）に示されるように、L1バッファに格納されるはずだった通常パケットｐｋｔ２が消失してしまっているため、L1バッファにパケットデータが格納される前に、L2バッファ、L3バッファ、L0バッファにそれぞれ通常パケットｐｋｔ３、ｐｋｔ４、ｐｋｔ５が格納されることになる。
【００９９】
そして、図１２（Ｂ）に示されるように、L1バッファに通常パケットｐｋｔ６が格納されると、データ取得部４４は、L1バッファから通常パケットｐｋｔ６を取り出す。
【０１００】
その後、図１２（Ｃ）に示されるように、データ取得部４４は、L2バッファ、L3バッファ、L0バッファから順次、通常パケットｐｋｔ３、ｐｋｔ４、ｐｋｔ５を取り出すため、受信装置２００では、受信した通常パケットの順番が、ｐｋｔ１、ｐｋｔ６、ｐｋｔ３、ｐｋｔ４、ｐｋｔ５、・・・となりインターリーブエラーが発生する。
【０１０１】
このインターリーブエラーとは、送信装置１００と受信装置２００との間でパケットデータの伝送に使用する通信チャネルの同期がずれてしまうエラーである。このインターリーブエラーが発生すると、送信装置１００と受信装置２００との間では正常なパケットデータの送受信が行えなくなってしまう。
【０１０２】
次に、ループバックパケットを送信装置１００から受信装置２００に送信した場合の送受信動作を図１３、図１４を参照して説明する。
【０１０３】
先ず、最初の初期状態では、図１３（Ａ）に示すように、パケット生成部３２において生成されたパケットデータは通信チャネルL0に送信され、データ取得部４４は、通信チャネルL0からのパケットデータを取り出すように設定されているものとして説明する。
【０１０４】
この図１３（Ａ）に示した状態において、パケット生成部３２においてループバックパケットＬＰ１（以降ＬＰ１と略す。）が生成されたものとして説明する。
【０１０５】
すると、図１３（Ｂ）に示すように、生成されたＬＰ１は通信チャネルL0を介して受信装置２００に送信され、図１３（Ｃ）に示すようにL0バッファに格納される。
【０１０６】
すると、図１４（Ａ）に示すように、データ取得部４４は、L0バッファに格納されたＬＰ１を取得する。
【０１０７】
ここで、ＬＰ１はループバックパケットであるため、データ取得部４４は、図１４（Ｂ）に示すように、パケット生成部４５において新たなループバックパケットを再生した後に、再生したＬＰ１を通信チャネルL4を経由して送信装置１００に返信する。
【０１０８】
その結果、図１４（Ｃ）に示されるように、ＬＰ１は送信装置１００のL4バッファに格納される。
【０１０９】
次に、ループバックパケットを受信装置２００から送信装置１００に送信した場合の送受信動作を図１５、図１６を参照して説明する。
【０１１０】
先ず、最初の初期状態では、図１５（Ａ）に示すように、パケット生成部３２において生成されたパケットデータは通信チャネルL0に送信され、データ取得部４４は、通信チャネルL0からのパケットデータを取り出すように設定されているものとして説明する。
【０１１１】
この図１５（Ａ）に示した状態において、受信装置２００のパケット生成部４５においてループバックパケットＬＰ１（以降ＬＰ１と略す。）が生成されると、図１５（Ｂ）に示すように、生成されたＬＰ１は通信チャネルL4を介して送信装置１００に送信されてL4バッファに格納される。
【０１１２】
すると、図１５（Ｃ）に示すように、送信装置１００内のデータ取得部４４は、ＬＰ１はループバックパケットであるため、L4バッファに格納されたＬＰ１を取得してパケット生成部３２に転送する。
【０１１３】
ここで、パケット生成部３２は、図１６（Ａ）に示すように、データ取得部４４から転送されてきたＬＰ１に基づいて新たなループバックパケットＬＰ１を再生した後に、再生したＬＰ１を通信チャネルL0を経由して受信装置２００に返信する。
【０１１４】
その結果、図１６（Ｂ）に示されるようにＬＰ１は受信装置２００のL0バッファに格納され、図１６（Ｃ）に示すようにデータ取得部４４により取得される。
【０１１５】
次に、本実施形態の送受信システムにおいて行われるインターリーブエラーが発生した場合のリカバリ処理について図面を参照して詳細に説明する。なお、本発明の第１の実施形態では、送信装置１００側においてリカバリ処理が実行される
【０１１６】
図１７は、本実施形態の送受信システムにおいて行われるリカバリ処理の動作を説明するためのシーケンスチャートである。
【０１１７】
先ず、受信装置２００では、受信したパケットデータの受信順序が正常でないことを検出することにより、送信装置１００と受信装置２００との間でパケットデータの伝送に使用する通信チャネルの同期がずれてしまうインターリーブエラーが検出される（ステップＳ１０１）。
【０１１８】
すると、受信装置２００は、送信装置１００に対して転送する送信リクエストを停止する（ステップＳ１０２）。
【０１１９】
この送信リクエストとは、受信装置２００が送信装置１００に対して、例えば１ライン分等の所定量の画像データの転送を要求するためのリクエストである。送信装置１００では、受信装置２００からの送信リクエストを受け取ることにより、画像データ等の伝送データをパケットデータに変換して受信装置２００に送信している。
【０１２０】
そのため、受信装置２００において送信リクエストの転送を停止することにより、送信装置１００から受信装置２００に対するデータの転送は停止されることになる。
【０１２１】
その後、受信装置２００は、送信装置１００に対してインターリーブエラーが発生したことを通知する（ステップＳ１０３）。
【０１２２】
すると、送信装置１００では、発生したインターリーブエラーを解消するためのリカバリ処理を実行する（ステップＳ１０４）。このリカバリ処理の詳細については後述する。
【０１２３】
そして、送信装置１００は、リカバリ処理が完了すると、受信装置２００に対してリカバリ処理の完了を通知する（ステップＳ１０５）。
【０１２４】
受信装置２００では、送信装置１００からのリカバリ処理の完了通知を受け取ることにより、送信リクエストを再開する（ステップＳ１０６）。その結果、送信装置１００と受信装置２００との間では、パケットデータの送受信が再開されることになる。
【０１２５】
次に、上記で説明したインターリーブエラーを解消するためのリカバリ処理の詳細を図面を参照して詳細に説明する。
【０１２６】
本実施形態におけるインターリーブ送信制御部３３は、インターリーブエラーが発生して受信装置２００からエラー発生が通知された場合、データ転送を中止して、４つの送信ポート数分のループバックパケットを４つの送信ポートに対して送信順序が分かる状態で順次割り当てて送信する。そして、インターリーブ送信制御部３３は、受信装置２００から返信されてきた４つのループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを割り当てる送信ポートを変更する。
【０１２７】
例えば、インターリーブ送信制御部３３は、インターリーブエラーが発生した場合、１から開始する昇順番号が割り振られたループバックパケットを４つの送信ポートに対して順次割り当てて送信し、受信装置２００から返信されてきた４つのループバックパケットのうち最後に返信されてきたループバックパケットに割り振られた番号の数だけ、データ転送の再開の際にパケットデータを割り当てる送信ポートを進めることによりパケットデータを割り当てる送信ポートを変更する。
【０１２８】
次に、上記で説明したインターリーブエラーからのリカバリ処理を実現するための具体的動作を図１８〜図２１を参照して説明する。
【０１２９】
本実施形態では、送信装置１００から受信装置２００に対して、４つのループバックパケットＬＰ１〜ＬＰ４（以降ＬＰ１〜ＬＰ４と略す。）を順次送信するものとして説明する。
【０１３０】
先ず、送信装置１００では、受信装置２００から転送されてきたループバックパケットを図１８に示すような格納メモリにて格納しているものとして説明を行う。この図１８に示した格納メモリでは、ループバックパケットは受信された順番でアドレス１０１〜１０４に格納される。なお、図１８では、ループバックパケットＬＰ１〜ＬＰ４のうちいずれが格納されるか特定できないため、ＬＰｘとして表現している。
【０１３１】
次に、送信装置１００において実行されるリカバリ処理の動作を図１９、図２０を参照して説明する。
【０１３２】
送信装置１００では、先ず、Ｎの初期値としてループバックパケットの格納メモリの先頭アドレス１０１が設定される（ステップＳ２０１）。
【０１３３】
そして、送信装置１００は受信装置２００に対してＬＰ１を送信する（ステップＳ２０２）。そして、送信装置１００において送信したＬＰ１が受信された場合（ステップＳ２０３においてｙｅｓ）、送信装置１００ではインターリーブエラーは発生していないと判定して処理は終了する（ステップＳ２０４）。
【０１３４】
ステップＳ２０３においてＬＰ１が受信できない場合には、送信装置１００は受信装置２００に対してＬＰ２を送信する（ステップＳ２０５）。
【０１３５】
そして、送信装置１００においてＬＰ２が受信された場合（ステップＳ２０６においてｙｅｓ）、送信装置１００では、受信したＬＰ２をループバックパケットの格納メモリのアドレスＮに格納する（ステップＳ２０７）。そして、Ｎの値は１加算される（ステップＳ２０８）。
【０１３６】
次に、送信装置１００は受信装置２００に対してＬＰ３を送信する（ステップＳ２０９）。
【０１３７】
そして、送信装置１００においてＬＰ３が受信された場合（ステップＳ２１０においてｙｅｓ）、送信装置１００では、受信したＬＰ３をループバックパケットの格納メモリのアドレスＮに格納する（ステップＳ２１１）。そして、Ｎの値は１加算される（ステップＳ２１２）。
【０１３８】
同様にして、送信装置１００は受信装置２００に対してＬＰ４を送信する（ステップＳ２１３）。そして、送信装置１００においてＬＰ４が受信された場合（ステップＳ２１４においてｙｅｓ）、送信装置１００では、受信したＬＰ４をループバックパケットの格納メモリのアドレスＮに格納する（ステップＳ２１５）。そして、Ｎの値は１加算される（ステップＳ２１６）。
【０１３９】
そして、その後ＬＰ１が受信された場合（ステップＳ２１７においてｙｅｓ）、送信装置１００では、受信したＬＰ１をループバックパケットの格納メモリのアドレスＮに格納して（ステップＳ２１８）、Ｎの値は１加算される（ステップＳ２１９）。
【０１４０】
また、ＬＰ２が受信された場合（ステップＳ２２０においてｙｅｓ）、送信装置１００では、受信したＬＰ２をループバックパケットの格納メモリのアドレスＮに格納して（ステップＳ２２１）、Ｎの値は１加算される（ステップＳ２２２）。
【０１４１】
最後に、ＬＰ３が受信された場合（ステップＳ２２３においてｙｅｓ）、送信装置１００では、受信したＬＰ３をループバックパケットの格納メモリのアドレスＮに格納して（ステップＳ２２４）、Ｎの値は１加算される（ステップＳ２２５）。
【０１４２】
上記のような処理が行われることにより、送信装置１００では、受信装置２００から返信されてきたループバックパケットは、格納メモリのアドレス１０１〜１０４に順次格納されることになる。そして、アドレス１０４には、最後に受信されたループバックパケットが格納される。
【０１４３】
そして、送信装置１００のインターリーブ送信制御部３３は、上記のようにしてループバックパケット格納メモリに格納されたループバックパケットの順序に応じて、図２１に示すような処理によりリカバリ処理を実行する。
【０１４４】
このリカバリ処理では、インターリーブ送信制御部３３は、ループバックパケットの格納メモリを確認して（ステップＳ３０１）、アドレス１０４に格納されているループバックパケット、つまり最後に受信されたループバックパケットがＬＰ３であるか否かを判定する（ステップＳ３０２）。
【０１４５】
そして、アドレス１０４に格納されているループバックパケットがＬＰ３である場合（ステップＳ３０２においてｙｅｓ）、インターリーブ送信制御部３３は、データ転送の再開の際にパケットデータを割り当てる送信ポートを３つ進める（ステップＳ３０３）。
【０１４６】
また、アドレス１０４に格納されているループバックパケットがＬＰ２である場合（ステップＳ３０４においてｙｅｓ）、インターリーブ送信制御部３３は、データ転送の再開の際にパケットデータを割り当てる送信ポートを２つ進める（ステップＳ３０５）。
【０１４７】
また、アドレス１０４に格納されているループバックパケットがＬＰ２でない場合（ステップＳ３０４においてｎｏ）、つまりＬＰ１である場合、インターリーブ送信制御部３３は、データ転送の再開の際にパケットデータを割り当てる送信ポートを１つ進める（ステップＳ３０６）。
【０１４８】
なお、上記のステップＳ３０４においてアドレス１０４に格納されているループバックパケットがＬＰ２でない場合には、アドレス１０４に格納されているループバックパケットがＬＰ１であると判定できるのは以下の理由による。
【０１４９】
つまり、図１９に示したフローチャートにおけるステップＳ２０４では、ＬＰ１送信後にＬＰ１が受信された場合には、インターリーブエラーが発生していないと判定している。つまり、送信装置１００から受信装置２００に対して、ＬＰ１〜ＬＰ４の送信順でループバックパケットを送信して、ＬＰ１〜ＬＰ４の順番で受信された場合には、インターリーブエラーは発生していないと判定することができる。つまり、最後に受信したループバックパケットがＬＰ４であればインターリーブエラーは発生していないことになり、その場合にはそもそもリカバリ処理は途中で終了しているからである。
【０１５０】
その結果、ループバックパケットの格納メモリのアドレス１０４に格納されているループバックパケットがＬＰ２、ＬＰ３のいずれでもない場合には、アドレス１０４にはＬＰ１が格納されていると判定することできるのである。
【０１５１】
次に、本実施形態におけるリカバリ処理の動作を図面を参照して詳細に説明する。
【０１５２】
先ず、図２２〜図２５を参照して、送信側のインターリーブ動作が受信側のインターリーブ動作に対して通信チャネル１つ進んでいる場合の動作について説明する。
【０１５３】
以下の説明では、図２２（Ａ）に示すように、送信装置１００においてパケット生成部３２により生成されたパケットデータを送信する通信チャネルが通信チャネルL1であり、データ取得部４４がパケットデータを取り出す通信チャネルが通信チャネルL0となっていることにより送信側と受信側で通信チャネルが１つずれているものとして説明する。
【０１５４】
ここで、図２２（Ｂ）に示すように、このような状態でパケット生成部３２においてＬＰ１が生成されると、図２２（Ｃ）に示すように、ＬＰ１は通信チャネルL1を経由して受信装置２００に送信されてL1バッファに格納される。
【０１５５】
また、同様な処理が行われることにより、図２３（Ａ）に示すように、ＬＰ２はL2バッファに格納され、ＬＰ３はL3バッファに格納される。
【０１５６】
そして、図２３（Ｂ）に示されるように、ＬＰ４がL0バッファに格納されると、図２３（Ｃ）に示されるようにデータ取得部４４はL0バッファに格納されたＬＰ４を取得する。
【０１５７】
次に、図２４（Ａ）に示されるように、データ取得部４４により取得されたＬＰ４は通信チャネルL4を経由して送信装置１００に送信され、データ取得部４４は、L1バッファに格納されたＬＰ１を取得する。
【０１５８】
次に、図２４（Ｂ）に示されるように、データ取得部４４により取得されたＬＰ１は通信チャネルL4を経由して送信装置１００に送信され、データ取得部４４は、L2バッファに格納されたＬＰ２を取得する。
【０１５９】
そして、同様の動作により、図２４（Ｃ）に示されるように、L3バッファに格納されていたＬＰ３もデータ取得部４４により取得されて送信装置１００に送信される。
【０１６０】
上記のような処理の結果、図２５（Ａ）に示すように、送信装置１００では、ＬＰ１〜ＬＰ４の順番で送信したループバックパケットは、ＬＰ４、ＬＰ１、ＬＰ２、ＬＰ３の順序で受信されることになる。
【０１６１】
そして、送信装置１００のインターリーブ送信制御部３３は、最後に受信したループバックパケットがＬＰ３であるため、前記２５（Ｂ）に示すように、次にパケットデータを送信する送信ポートを通信チャネルL1の送信ポートから３つ進める。
【０１６２】
具体的には、インターリーブ送信制御部３３は、次にパケットデータを送信する送信ポートを、通信チャネルL1の送信ポートから通信チャネルL0の送信ポートに変更する。
【０１６３】
このリカバリ処理が行われたことにより、送信側において次にパケットデータを送信する通信チャネルと、受信側において次にパケットデータを受信する通信チャネルはともに通信チャネルL0となり、インターリーブエラーは解消されることになる。
【０１６４】
次に、図２６〜図２８を参照して、送信側のインターリーブ動作が受信側のインターリーブ動作に対して通信チャネル２つ進んでいる場合の動作について説明する。
【０１６５】
以下の説明では、図２６（Ａ）に示すように、送信装置１００においてパケット生成部３２により生成されたパケットデータを送信する通信チャネルが通信チャネルL2であり、データ取得部４４がパケットデータを取り出す通信チャネルが通信チャネルL0となっていることにより送信側と受信側で通信チャネルが２つずれているものとして説明する。
【０１６６】
ここで、図２６（Ｂ）に示すように、このような状態でパケット生成部３２においてＬＰ１が生成されると、図２６（Ｃ）に示すように、ＬＰ１は通信チャネルL2を経由して受信装置２００に送信されてL2バッファに格納される。
【０１６７】
また、同様な処理が行われることにより、図２７（Ａ）に示すように、ＬＰ２はL3バッファに格納され、ＬＰ３はL0バッファに格納される。
【０１６８】
そして、ＬＰ３がL0バッファに格納されたことにより、図２７（Ｂ）に示されるようにデータ取得部４４はL0バッファに格納されたＬＰ３を取得する。
【０１６９】
次に、図２７（Ｃ）に示されるように、データ取得部４４により取得されたＬＰ３は通信チャネルL4を経由して送信装置１００に送信され、データ取得部４４は、L1バッファに格納されたＬＰ４を取得する。
【０１７０】
次に、図２８（Ａ）に示されるように、データ取得部４４により取得されたＬＰ４は通信チャネルL4を経由して送信装置１００に送信され、データ取得部４４は、L2バッファに格納されたＬＰ１を取得する。
【０１７１】
そして、同様の動作により、図２８（Ｂ）に示されるように、取得されたＬＰ１は通信チャネルL4を経由して送信装置１００に送信され、L3バッファに格納されていたＬＰ２もデータ取得部４４により取得されて送信装置１００に送信される。
【０１７２】
上記のような処理の結果、図２８（Ｂ）に示すように、送信装置１００では、ＬＰ１〜ＬＰ４の順番で送信したループバックパケットは、ＬＰ３、ＬＰ４、ＬＰ１、ＬＰ２の順序で受信されることになる。
【０１７３】
そして、送信装置１００のインターリーブ送信制御部３３は、最後に受信したループバックパケットがＬＰ２であるため、前記２８（Ｃ）に示すように、次にパケットデータを送信する送信ポートを通信チャネルL2の送信ポートから２つ進める。
【０１７４】
具体的には、インターリーブ送信制御部３３は、次にパケットデータを送信する送信ポートを、通信チャネルL2の送信ポートから通信チャネルL0の送信ポートに変更する。
【０１７５】
このリカバリ処理が行われたことにより、送信側において次にパケットデータを送信する通信チャネルと、受信側において次にパケットデータを受信する通信チャネルはともに通信チャネルL0となり、インターリーブエラーは解消されることになる。
【０１７６】
最後に、図２９〜図３１を参照して、送信側のインターリーブ動作が受信側のインターリーブ動作に対して通信チャネル３つ進んでいる場合の動作について説明する。
【０１７７】
以下の説明では、図２９（Ａ）に示すように、送信装置１００においてパケット生成部３２により生成されたパケットデータを送信する通信チャネルが通信チャネルL3であり、データ取得部４４がパケットデータを取り出す通信チャネルが通信チャネルL0となっていることにより送信側と受信側で通信チャネルが３つずれているものとして説明する。
【０１７８】
ここで、図２９（Ｂ）に示すように、このような状態でパケット生成部３２においてＬＰ１が生成されると、図２９（Ｃ）に示すように、ＬＰ１は通信チャネルL3を経由して受信装置２００に送信されてL3バッファに格納される。
【０１７９】
また、同様な処理が行われることにより、図３０（Ａ）に示すように、ＬＰ２はL0バッファに格納される。
【０１８０】
そして、ＬＰ２がL0バッファに格納されたことにより、図３０（Ｂ）に示されるようにデータ取得部４４はL0バッファに格納されたＬＰ２を取得する。また、送信装置１００から送信されてきたＬＰ３、ＬＰ４は、順次L1バッファ、L2バッファに格納される。
【０１８１】
次に、図３０（Ｃ）に示されるように、データ取得部４４により取得されたＬＰ２は通信チャネルL4を経由して送信装置１００に送信され、データ取得部４４は、L1バッファに格納されたＬＰ３を取得する。
【０１８２】
次に、図３１（Ａ）に示されるように、データ取得部４４により取得されたＬＰ３は通信チャネルL4を経由して送信装置１００に送信され、データ取得部４４は、L2バッファに格納されたＬＰ４を取得する。
【０１８３】
そして、同様の動作により、図３１（Ｂ）に示されるように、L3バッファに格納されていたＬＰ１もデータ取得部４４により取得されて送信装置１００に送信される。
【０１８４】
上記のような処理の結果、図３１（Ｂ）に示すように、送信装置１００では、ＬＰ１〜ＬＰ４の順番で送信したループバックパケットは、ＬＰ２、ＬＰ３、ＬＰ４、ＬＰ１の順序で受信されることになる。
【０１８５】
そして、送信装置１００のインターリーブ送信制御部３３は、最後に受信したループバックパケットがＬＰ１であるため、前記３１（Ｃ）に示すように、次にパケットデータを送信する送信ポートを通信チャネルL3の送信ポートから１つ進める。
【０１８６】
具体的には、インターリーブ送信制御部３３は、次にパケットデータを送信する送信ポートを、通信チャネルL3の送信ポートから通信チャネルL0の送信ポートに変更する。
【０１８７】
このリカバリ処理が行われたことにより、送信側において次にパケットデータを送信する通信チャネルと、受信側において次にパケットデータを受信する通信チャネルはともに通信チャネルL0となり、インターリーブエラーは解消されることになる。
【０１８８】
[第２の実施形態]
次に、本発明の第２の実施形態の送受信システムについて説明する。
【０１８９】
本発明の第２の実施形態の送受信システムの構成については、図１〜図６に示した第１の実施形態の送受信システムと同様の構成であるため、その説明については省略する。
【０１９０】
上記で説明した本発明の第１の実施形態の送受信システムでは、送信装置１００側において、インターリーブエラーを解消するためのリカバリ処理を実行するものであったが、本発明の第２の実施形態の送受信システムでは、受信装置２００側においてリカバリ処理を実行する点が異なっている。
【０１９１】
本実施形態におけるインターリーブ受信制御部４３は、インターリーブエラーが発生したことを検出した場合、データ転送を中止して、４つの受信ポート数分のループバックパケットを送信装置１００への送信ポートに対して送信順序が分かる状態で順次送信し、送信装置１００から４つの受信ポートに返信されてきた４つのループバックパケットの受信順序に応じて、データ転送の再開の際にパケットデータを取り込む受信ポートを変更する。
【０１９２】
例えば、インターリーブ受信制御部４３は、インターリーブエラーが発生した場合、１から開始する昇順番号が割り振られたループバックパケットを送信ポートに対して順次送信し、送信装置１００から返信されてきた４つのループバックパケットのうち最後に返信されてきたループバックパケットに割り振られた番号の数だけ、データ転送の再開の際にパケットデータを取り込む受信ポートを戻すことによりパケットデータを取り込む受信ポートを変更する。
【０１９３】
次に、本発明の第２の実施形態の送受信システムにおいて行われるリカバリ処理の動作を図３２のシーケンスチャートを参照して説明する。
【０１９４】
先ず、受信装置２００では、受信したパケットデータの受信順序が正常でないことを検出することにより、送信装置１００と受信装置２００との間でパケットデータの伝送に使用する通信チャネルの同期がずれてしまうインターリーブエラーが検出される（ステップＳ４０１）。
【０１９５】
すると、受信装置２００は、送信装置１００に対して転送する送信リクエストを停止する（ステップＳ４０２）。
【０１９６】
そして、受信装置２００では、発生したインターリーブエラーを解消させるためのリカバリ処理を実行する（ステップＳ４０３）。
【０１９７】
リカバリ処理が完了すると、受信装置２００は、送信リクエストを再開して送信装置１００に対してパケットデータの送信を要求する（ステップＳ４０４）。
【０１９８】
このように本実施形態の送受信システムでは、受信装置２００においてインターリーブエラーの発生の検出およびリカバリ処理の実行が行われるため、送信装置１００では、インターリーブエラーの発生を認識することなくデータの送受信が継続される。
【０１９９】
なお、本実施形態の送受信システムにおけるリカバリ処理においても、図１８に示したようなループバックパケットの格納メモリが受信装置２００において設けられる。そして、受信装置２００において、図１９、図２０のフローチャートに示されるリカバリ処理が実行される。
【０２００】
そして、受信装置２００のインターリーブ受信制御部４３は、上記のようにしてループバックパケット格納メモリに格納されたループバックパケットの順序に応じて、図３３に示すような処理によりリカバリ処理を実行する。
【０２０１】
このリカバリ処理では、インターリーブ受信制御部４３は、ループバックパケットの格納メモリを確認して（ステップＳ５０１）、アドレス１０４に格納されているループバックパケット、つまり最後に受信されたループバックパケットがＬＰ３であるか否かを判定する（ステップＳ５０２）。
【０２０２】
そして、アドレス１０４に格納されているループバックパケットがＬＰ３である場合（ステップＳ５０２においてｙｅｓ）、インターリーブ受信制御部４３は、データ転送の再開の際にパケットデータを割り当てる送信ポートを３つ戻す（ステップＳ５０３）。
【０２０３】
また、アドレス１０４に格納されているループバックパケットがＬＰ２である場合（ステップＳ５０４においてｙｅｓ）、インターリーブ受信制御部４３は、データ転送の再開の際にパケットデータを割り当てる送信ポートを２つ戻す（ステップＳ５０５）。
【０２０４】
また、アドレス１０４に格納されているループバックパケットがＬＰ２でない場合（ステップＳ５０４においてｎｏ）、つまりＬＰ１である場合、インターリーブ受信制御部４３は、データ転送の再開の際にパケットデータを割り当てる送信ポートを１つ戻す（ステップＳ５０６）。
【０２０５】
次に、本実施形態におけるリカバリ処理の動作を図面を参照して詳細に説明する。
【０２０６】
先ず、図３４〜図３７を参照して、送信側のインターリーブ動作が受信側のインターリーブ動作に対して通信チャネル１つ進んでいる場合の動作について説明する。
【０２０７】
以下の説明では、図３４（Ａ）に示すように、送信装置１００においてパケット生成部３２により生成されたパケットデータを送信する通信チャネルが通信チャネルL1であり、データ取得部４４がパケットデータを取り出す通信チャネルが通信チャネルL0となっていることにより送信側と受信側で通信チャネルが１つずれているものとして説明する。
【０２０８】
ここで、図３４（Ｂ）に示すように、このような状態で受信装置２００のパケット生成部４５においてＬＰ１が生成されると、図３４（Ｃ）に示すように、ＬＰ１は通信チャネルL4を経由して送信装置１００に送信されてL4バッファに格納される。
【０２０９】
そして、図３５（Ａ）に示すように、ＬＰ１はループバックパケットであるため、パケット生成部３２は、ＬＰ１と同内容のＬＰ１を生成する。また、同様な処理が行われることにより、ＬＰ２がL4バッファに格納される。
【０２１０】
そして、図３５（Ｂ）に示されるように、ＬＰ１は通信チャネルL1を経由して受信装置２００に送信され、パケット生成部３２は、ＬＰ２と同内容のＬＰ２を生成し、ＬＰ３がL4バッファに格納される。
【０２１１】
そして、次に、図３５（Ｃ）に示されるように、ＬＰ１はL1バッファに格納され、ＬＰ２は通信チャネルL2を経由して受信装置２００に送信される。
【０２１２】
また、図３６（Ａ）に示されるように、同様の処理が行われることにより、ＬＰ２はL2バッファに格納され、ＬＰ３はL3バッファに格納される。
【０２１３】
そして、図３６（Ｂ）に示されるように、ＬＰ４がL0バッファに格納されると、図３６（Ｃ）に示されるようにデータ取得部４４は、L0バッファに格納されているＬＰ４を取得する。
【０２１４】
そして、同様の動作により、図３７（Ａ）に示されるように、L1バッファに格納されていたＬＰ１もデータ取得部４４により取得される。
【０２１５】
上記のような処理の結果、図３７（Ｂ）に示すように、受信装置２００では、ＬＰ１〜ＬＰ４の順番で送信したループバックパケットは、ＬＰ４、ＬＰ１、ＬＰ２、ＬＰ３の順序で受信されることになる。
【０２１６】
そして、受信装置２００のインターリーブ受信制御部４３は、最後に受信したループバックパケットがＬＰ３であるため、前記３７（Ｃ）に示すように、次にパケットデータを受信する受信ポートを通信チャネルL0の受信ポートから３つ戻す。
【０２１７】
具体的には、インターリーブ受信制御部４３は、次にパケットデータを受信する受信ポートを、通信チャネルL0の受信ポートから通信チャネルL1の受信ポートに変更する。
【０２１８】
このリカバリ処理が行われたことにより、送信側において次にパケットデータを送信する通信チャネルと、受信側において次にパケットデータを受信する通信チャネルはともに通信チャネルL1となり、インターリーブエラーは解消されることになる。
【０２１９】
次に、図３８〜図４１を参照して、送信側のインターリーブ動作が受信側のインターリーブ動作に対して通信チャネル２つ進んでいる場合の動作について説明する。
【０２２０】
以下の説明では、図３８（Ａ）に示すように、送信装置１００においてパケット生成部３２により生成されたパケットデータを送信する通信チャネルが通信チャネルL2であり、データ取得部４４がパケットデータを取り出す通信チャネルが通信チャネルL0となっていることにより送信側と受信側で通信チャネルが２つずれているものとして説明する。
【０２２１】
ここで、図３８（Ｂ）に示すように、このような状態で受信装置２００のパケット生成部４５においてＬＰ１が生成されると、図３８（Ｃ）に示すように、ＬＰ１は通信チャネルL4を経由して送信装置１００に送信されてL4バッファに格納される。
【０２２２】
そして、図３９（Ａ）に示すように、ＬＰ１はループバックパケットであるため、パケット生成部３２は、ＬＰ１と同内容のＬＰ１を生成する。また、同様な処理が行われることにより、ＬＰ２がL4バッファに格納される。
【０２２３】
そして、図３９（Ｂ）に示されるように、ＬＰ１は通信チャネルL2を経由して受信装置２００に送信され、パケット生成部３２は、ＬＰ２と同内容のＬＰ２を生成し、ＬＰ３がL4バッファに格納される。
【０２２４】
そして、次に、図３９（Ｃ）に示されるように、ＬＰ１はL2バッファに格納され、ＬＰ２は通信チャネルL3を経由して受信装置２００に送信される。
【０２２５】
また、図４０（Ａ）に示されるように、同様の処理が行われることにより、ＬＰ２はL3バッファに格納され、ＬＰ３はL0バッファに格納される。
【０２２６】
そして、図４０（Ｂ）に示されるように、ＬＰ３がL0バッファに格納されたことにより、データ取得部４４は、L0バッファに格納されているＬＰ３を取得する。また、ＬＰ４はL1バッファに格納される。
【０２２７】
そして、同様の動作により、図４０（Ｃ）に示されるように、L1バッファに格納されていたＬＰ４がデータ取得部４４により取得される。
【０２２８】
次に、同様の動作により、図４１（Ａ）に示されるように、L2バッファに格納されていたＬＰ１がデータ取得部４４により取得される。
【０２２９】
上記のような処理の結果、図４１（Ｂ）に示すように、受信装置２００では、ＬＰ１〜ＬＰ４の順番で送信したループバックパケットは、ＬＰ３、ＬＰ４、ＬＰ１、ＬＰ２の順序で受信されることになる。
【０２３０】
そして、受信装置２００のインターリーブ受信制御部４３は、最後に受信したループバックパケットがＬＰ２であるため、前記４１（Ｃ）に示すように、次にパケットデータを受信する受信ポートを通信チャネルL0の受信ポートから２つ戻す。
【０２３１】
具体的には、インターリーブ受信制御部４３は、次にパケットデータを受信する受信ポートを、通信チャネルL0の受信ポートから通信チャネルL2の受信ポートに変更する。
【０２３２】
このリカバリ処理が行われたことにより、送信側において次にパケットデータを送信する通信チャネルと、受信側において次にパケットデータを受信する通信チャネルはともに通信チャネルL2となり、インターリーブエラーは解消されることになる。
【０２３３】
次に、図４２〜図４５を参照して、送信側のインターリーブ動作が受信側のインターリーブ動作に対して通信チャネル３つ進んでいる場合の動作について説明する。
【０２３４】
以下の説明では、図４２（Ａ）に示すように、送信装置１００においてパケット生成部３２により生成されたパケットデータを送信する通信チャネルが通信チャネルL3であり、データ取得部４４がパケットデータを取り出す通信チャネルが通信チャネルL0となっていることにより送信側と受信側で通信チャネルが３つずれているものとして説明する。
【０２３５】
ここで、図４２（Ｂ）に示すように、このような状態で受信装置２００のパケット生成部４５においてＬＰ１が生成されると、図４２（Ｃ）に示すように、ＬＰ１は通信チャネルL4を経由して送信装置１００に送信されてL4バッファに格納される。
【０２３６】
そして、図４３（Ａ）に示すように、ＬＰ１はループバックパケットであるため、パケット生成部３２は、ＬＰ１と同内容のＬＰ１を生成する。また、同様な処理が行われることにより、ＬＰ２がL4バッファに格納される。
【０２３７】
そして、図４３（Ｂ）に示されるように、ＬＰ１は通信チャネルL3を経由して受信装置２００に送信され、パケット生成部３２は、ＬＰ２と同内容のＬＰ２を生成し、ＬＰ３がL4バッファに格納される。
【０２３８】
そして、次に、図４３（Ｃ）に示されるように、ＬＰ１はL3バッファに格納され、ＬＰ２は通信チャネルL0を経由して受信装置２００に送信される。
【０２３９】
また、図４４（Ａ）に示されるように、同様の処理が行われることにより、ＬＰ２はL0バッファに格納され、ＬＰ３は通信チャネルを経由して受信装置２００に送信される。
【０２４０】
そして、図４４（Ｂ）に示されるように、ＬＰ２がL0バッファに格納されたことにより、データ取得部４４は、L0バッファに格納されているＬＰ２を取得する。また、ＬＰ３はL1バッファに格納される。
【０２４１】
そして、同様の動作により、図４４（Ｃ）に示されるように、L1バッファに格納されていたＬＰ３がデータ取得部４４により取得される。
【０２４２】
次に、同様の動作により、図４５（Ａ）に示されるように、L2バッファに格納されていたＬＰ４がデータ取得部４４により取得される。
【０２４３】
上記のような処理の結果、図４５（Ｂ）に示すように、受信装置２００では、ＬＰ１〜ＬＰ４の順番で送信したループバックパケットは、ＬＰ２、ＬＰ３、ＬＰ４、ＬＰ１の順序で受信されることになる。
【０２４４】
そして、受信装置２００のインターリーブ受信制御部４３は、最後に受信したループバックパケットがＬＰ１であるため、前記４５（Ｃ）に示すように、次にパケットデータを受信する受信ポートを通信チャネルL0の受信ポートから１つ戻す。
【０２４５】
具体的には、インターリーブ受信制御部４３は、次にパケットデータを受信する受信ポートを、通信チャネルL0の受信ポートから通信チャネルL3の受信ポートに変更する。
【０２４６】
このリカバリ処理が行われたことにより、送信側において次にパケットデータを送信する通信チャネルと、受信側において次にパケットデータを受信する通信チャネルはともに通信チャネルL3となり、インターリーブエラーは解消されることになる。
【０２４７】
[変形例]
上記第１および第２の実施形態では、端末装置１０と画像形成装置２０とが通信ケーブル３０により直接接続されている構成であったが、本発明はこれに限定されるものではない。図４６に示されるような、端末装置１０とプリントサーバ４０とがネットワーク５０により接続され、このプリントサーバ４０と画像形成装置２０とが通信ケーブル３０により接続されたような構成の場合でも同様に本発明を適用することができるものである。
【符号の説明】
【０２４８】
１０    端末装置
２０    画像形成装置
３０    通信ケーブル
３１    ラインバッファ３１
３２    パケット生成部
３３    インターリーブ送信制御部
３４ａ〜３４ｄ    送信バッファ
３５    受信バッファ
３６    データ取得部
４０    プリントサーバ
４１ａ〜４１ｄ    受信バッファ
４２    送信バッファ
４３    インターリーブ受信制御部
４４    データ取得部
４５    パケット生成部
５０    ネットワーク
１００    送信装置
１０１    入出力制御部
１０２    パケット制御部
１０３    リンク制御部
１０４ａ〜１０４ｄ    ビット変換部
１０５    ビット逆変換部
１０６ａ〜１０６ｄ    パラレル／シリアル変換部（Ｐ／Ｓ）
１０７    シリアル／パラレル変換部（Ｓ／Ｐ）
１０８    メモリ
２００    受信装置
２０１    入出力制御部
２０２    パケット制御部
２０３    リンク制御部
２０４ａ〜２０４ｄ    ビット逆変換部
２０５    ビット変換部
２０６ａ〜２０６ｄ    シリアル／パラレル変換部（Ｓ／Ｐ）
２０７    パラレル／シリアル変換部（Ｐ／Ｓ）
２０８    メモリ
【図１】
0006493756.tif 000002
【図２】
0006493756.tif 000003
【図３】
0006493756.tif 000004
【図４】
0006493756.tif 000005
【図５】
0006493756.tif 000006
【図６】
0006493756.tif 000007
【図７】
0006493756.tif 000008
【図８】
0006493756.tif 000009
【図９】
0006493756.tif 000010
【図１０】
0006493756.tif 000011
【図１１】
0006493756.tif 000012
【図１２】
0006493756.tif 000013
【図１３】
0006493756.tif 000014
【図１４】
0006493756.tif 000015
【図１５】
0006493756.tif 000016
【図１６】
0006493756.tif 000017
【図１７】
0006493756.tif 000018
【図１８】
0006493756.tif 000019
【図１９】
0006493756.tif 000020
【図２０】
0006493756.tif 000021
【図２１】
0006493756.tif 000022
【図２２】
0006493756.tif 000023
【図２３】
0006493756.tif 000024
【図２４】
0006493756.tif 000025
【図２５】
0006493756.tif 000026
【図２６】
0006493756.tif 000027
【図２７】
0006493756.tif 000028
【図２８】
0006493756.tif 000029
【図２９】
0006493756.tif 000030
【図３０】
0006493756.tif 000031
【図３１】
0006493756.tif 000032
【図３２】
0006493756.tif 000033
【図３３】
0006493756.tif 000034
【図３４】
0006493756.tif 000035
【図３５】
0006493756.tif 000036
【図３６】
0006493756.tif 000037
【図３７】
0006493756.tif 000038
【図３８】
0006493756.tif 000039
【図３９】
0006493756.tif 000040
【図４０】
0006493756.tif 000041
【図４１】
0006493756.tif 000042
【図４２】
0006493756.tif 000043
【図４３】
0006493756.tif 000044
【図４４】
0006493756.tif 000045
【図４５】
0006493756.tif 000046
【図４６】
0006493756.tif 000047