説明

通信装置、通信システム及びプログラム

【課題】データの再送による伝送効率の低下を抑制する通信装置、通信システム及びプログラムを提供する。
【解決手段】通信装置30は、複数のレーン1、2、3及び4を有する伝送路40を介して他の通信装置60へ送信される第1のデータを複数の第2のデータに分割する分割手段32と、複数の第2のデータを複数のレーン1、2及び3のいずれかに振分けて他の通信装置60へ送信する送信手段34と、他の通信装置60が受信した複数の第2のデータのいずれかから異常が検出された場合に異常の通知を受信する異常通知受信手段36と、を備え、異常通知受信手段36が異常の通知を受信した場合、分割手段32は複数の第2のデータのうち異常が検出された第2のデータを複数の第3のデータに分割して、送信手段34は複数の第3のデータを複数のレーン1、2及び3のいずれかに振分けて他の通信装置60へ再送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信システム及びプログラムに関する。
【背景技術】
【0002】
従来、複数のレーンを有する伝送路を介して、複数のデータを並列に伝送する通信装置が知られている。例えば、画像データを複数の色のデータに分割して、複数の色のデータを複数のレーンを有する伝送路を介して他の通信装置へ並列に伝送する通信装置がある。
【0003】
例えば、特許文献1には、受信側ノードのパケット処理能力にあわせた送信側ノードのパケット送信を可能とし、リトライ間隔と回数を適切に設定する通信装置が開示されている。
【0004】
例えば、特許文献2には、複数の伝送経路が存在するネットワークに接続されるホストコンピュータ間のデータ伝送方法において、送信データを分割し、分割したデータに送信データを再構築するための情報を付加し、送信相手先までの伝送経路の状態を判別し、判別した伝送経路の状態に応じて伝送経路を選択し、選択した伝送経路を介して分割したデータの伝送を行うデータ伝送方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−333136号公報
【特許文献2】特開平8−293874号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、データの再送による伝送効率の低下を抑制することができる通信装置、通信システム及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、通信装置は、複数のレーンを有する伝送路を介して他の通信装置へ送信される第1のデータを複数の第2のデータに分割する分割手段と、前記分割手段が分割した前記複数の第2のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ送信する送信手段と、前記他の通信装置が受信した前記複数の第2のデータのいずれかから異常が検出された場合に前記異常の通知を受信する異常通知受信手段と、を備え、前記異常通知受信手段が前記異常の通知を受信した場合、前記分割手段は前記複数の第2のデータのうち前記異常が検出された第2のデータを複数の第3のデータに分割して、前記送信手段は前記分割手段が分割した前記複数の第3のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ再送することを特徴とする。
【0008】
上記目的を達成するため、通信装置は、上記構成において、前記複数のレーンごとに前記異常通知受信手段が前記異常の通知を受信した回数を計測する異常計測手段を備え、前記送信手段は、前記複数の第2のデータ又は前記複数の第3のデータを前記複数のレーンのいずれかに振分ける場合、前記異常計測手段が測定した前記回数が予め定められた値に達したレーン以外のレーンに振分けることを特徴とする。
【0009】
上記目的を達成するため、通信システムは、複数のレーンを有する伝送路を介して第2の通信装置へ送信される第1のデータを複数の第2のデータに分割する分割手段と、前記分割手段が分割した前記複数の第2のデータを前記複数のレーンのいずれかに振分けて前記第2の通信装置へ送信する送信手段と、前記第2の通信装置が受信した前記複数の第2のデータのいずれかから異常が検出された場合に前記異常の通知を受信する異常通知受信手段と、を具備し、前記異常通知受信手段が前記異常の通知を受信した場合、前記分割手段は前記複数の第2のデータのうち前記異常が検出された第2のデータを複数の第3のデータに分割して、前記送信手段は前記分割手段が分割した前記複数の第3のデータを前記複数のレーンのいずれかに振分けて前記第2の通信装置へ再送する第1の通信装置と、前記第1の通信装置から前記複数の第2のデータ又は前記複数の第3のデータを受信する受信手段と、前記第1の通信装置から受信した前記複数の第2のデータから前記異常を検出する異常検出手段と、前記異常検出手段が前記複数の第2のデータのいずれかから前記異常を検出した場合に前記異常を前記第1の通信装置に通知する異常通知手段と、を具備する前記第2の通信装置と、を備えることを特徴とする。
【0010】
上記目的を達成するため、プログラムは、コンピュータに、複数のレーンを有する伝送路を介して他の通信装置へ送信される第1のデータを複数の第2のデータに分割する分割手段と、前記分割手段が分割した前記複数の第2のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ送信する送信手段と、前記他の通信装置が受信した前記複数の第2のデータのいずれかから異常が検出された場合に前記異常の通知を受信する異常通知受信手段と、を実行させ、前記異常通知受信手段が前記異常の通知を受信した場合、前記分割手段は前記複数の第2のデータのうち前記異常が検出された第2のデータを複数の第3のデータに分割して、前記送信手段は前記分割手段が分割した前記複数の第3のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ再送することを実行させることを特徴とする。
【発明の効果】
【0011】
請求項1の発明によれば、送信できなかったデータを分割して再送しない場合と比較して、データの再送による伝送効率の低下が抑制される。
【0012】
請求項2の発明によれば、自然復旧する通信路を利用せずに再送する場合と比較して、データを再送する場合に異常が発生する頻度が低減される。
【0013】
請求項3の発明によれば、送信できなかったデータを分割して再送しない場合と比較して、データの再送による伝送効率の低下が抑制される。
【0014】
請求項4の発明によれば、送信できなかったデータを分割して再送しない場合と比較して、データの再送による伝送効率の低下が抑制される。
【図面の簡単な説明】
【0015】
【図1】実施例1に係る通信装置及び通信システムの一例である画像形成装置及びその周辺の構成を示すブロック図である。
【図2】実施例1に係る通信システムの構成の一例を示すブロック図である。
【図3】(a)及び(b)は、実施例1に係る第1のデータの一例を示す図である。(c)は、実施例1に係る第2のデータの一例を示す図である。(d)は、実施例1に係るパケットの構造の一例を示す図である。
【図4】実施例1に係る通信装置システムにおける第1のデータの通信において異常が発生しない場合の処理の一例を示す説明図である。
【図5】(a)は、実施例1に係る通信装置が第1のデータを送信してから、他の通信装置が第2のデータから異常を検出するまでの処理の一例を示す説明図である。(b)は、実施例1に係る通信装置が第2のデータを再送してから、他の通信装置が第1のデータを再構成するまでの処理の一例を示す説明図である。
【図6】(a)は、比較例に係る通信装置が第1のデータを送信してから、他の通信装置が第2のデータから異常を検出するまでの処理の一例を示す説明図である。(b)は、比較例に係る通信装置が第2のデータを再送してから、他の通信装置が第1のデータを再構成するまでの処理の一例を示す説明図である。
【図7】実施例1に係る通信装置が他の通信装置へ第1のデータを送信する処理の一例を示すフローチャートである。
【図8】実施例1に係る他の通信装置が通信装置から第1のデータを受信する処理の一例を示すフローチャートである。
【図9】実施例1に係る通信システムをコンピュータにより実現した構成の一例を示すブロック図である。
【図10】実施例2に係る通信システムの構成の一例を示すブロック図である。
【図11】実施例2に係る通信装置が異常レーン以外のレーンに送信するデータを振分ける処理の一例を示すフローチャートである。
【図12】実施例2に係る図11におけるデータ振分け処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明の実施例について、図面を参照して説明する。
【実施例1】
【0017】
図1を参照して、実施例1に係る通信装置及び通信システムの一例である画像形成装置及びその周辺の構成を説明する。図1は、実施例1に係る画像形成装置300及びその周辺の構成の一例を示すブロック図である。図1のように、画像形成装置300は、給紙部10、印刷部14及び後処理部22を備える。給紙部10は、状態検出手段12を有する。印刷部14は、スキャン手段16、画像制御手段18及び画処理手段20を有する。後処理部22は、製本手段24を有する。画像形成装置300の内部にある状態検出手段12、スキャン手段16、画像制御手段18、画処理手段20及び製本手段24は、矢印11、13、15及び17で示す伝送路を介してそれぞれ通信を行う。画像形成装置300の外部にある画像編集/生成装置400は、矢印19で示す伝送路を介して画像形成装置300と通信を行う。通信される内容は、例えば画像データや処理を指示するためのコマンド等である。
【0018】
給紙部10は、印刷する用紙の給紙を行う。状態検出手段12は、例えば印刷する用紙の色やサイズ等を検出して、検出した用紙の色やサイズ等に関するデータを画像制御手段18に送信する。印刷部14は、用紙に画像データ等を印刷する。スキャン手段16は、例えば印刷するために入力された画像データを取り込んで、画像データを画像制御手段18に送信する。画像制御手段18は、例えば画像データを画処理手段20や外部のコンピュータ等の画像編集/生成装置400に送信する。画処理手段20は、例えば画像制御手段18から画像データを受信して、画像データの拡大・縮小や色補正等の処理を行う。後処理部22は、例えば印刷した用紙の分配、折り、断裁、製本等の後処理を行う。製本手段24は、例えば画像制御手段18から印刷した用紙を綴じる位置や用紙の向きの情報を受信して、製本を行う。画像編集/生成装置400は、例えば画像制御手段18から受信した画像データの編集や画像データの生成を行い、画像データを画像制御手段18へ送信する。このように、画像形成装置300及び画像編集/生成装置400は、それぞれ通信装置に対応して、通信システムを構成する。また、画像形成装置300の内部の各手段がそれぞれ通信装置に対応して、通信システムを構成する。例えば、状態検出手段12と画像制御手段18とが、それぞれ通信装置に対応して、通信システムを構成する。図1の構成は、通信装置及び通信システムの構成の一例であり、他の構成でもよい。
【0019】
図2を参照して、実施例1に係る通信システムの構成の一例を説明する。図2は、実施例1に係る通信システムの構成の一例を示すブロック図である。図2のように、通信システム100は、通信装置30と、通信装置60とを備える。図1の例では、例えば、通信装置30は画像形成装置300であり、通信装置60は画像編集/生成装置400である。あるいは、通信装置30はスキャン手段16であり、通信装置60は画像制御手段18である。通信装置30と通信装置60とは、複数のレーン1、2、3及び4を有する伝送路40を介して並列にデータを送受信する。各レーンは、例えば光ファイバや同軸ケーブルである。レーン1、2及び3は、通信装置30から通信装置60へのデータの伝送に用いられる。レーン4は、通信装置60から通信装置30へのデータの伝送に用いられる。なお、図2に示すレーンの数及び各レーンの通信の方向は一例であり、レーンの数及び各レーンの通信の方向を変更してもよい。
【0020】
通信装置30は、分割手段32と、送信手段34と、異常通知受信手段36と、を有する。分割手段32は、伝送路40を介して通信装置60へ送信される元データである第1のデータを複数の第2のデータに分割する。なお、第1のデータは、図1のように通信装置30が他の装置から受信したデータでもよいし、通信装置30が生成したデータでもよい。送信手段34は、分割手段32が分割した複数の第2のデータをレーン1、2及び3のいずれかに振分けて通信装置60へ送信する。送信手段34は、各レーンの送信処理を行う送信機(Transmitter、以下Txと略記する)1、2及び3を有する。Tx1、Tx2及びTx3は、例えば各レーンが光ファイバである場合、電気を光に変換するTOSA(Transmitter Optical Sub−Assembly)等である。以下、Tx1、Tx2及びTx3を区別する必要がない場合は、総称して送信手段34と表記する。Tx1、Tx2及びTx3は、それぞれレーン1、2及び3を介して、振分けられた複数の第2のデータを送信する。送信手段34は、複数の第2のデータをレーン1、2及び3を介して送信する際に、複数の第2のデータをパケットの形式に変換して送信する。パケットとは、データを小分けにして通信するためのデータの形式であり、後述するように識別情報や誤り検出符号を含むデータの形式である。各パケットのサイズは、固定のサイズでもよいし、可変長のサイズでもよい。異常通知受信手段36は、通信装置60が受信した複数の第2のデータのいずれかから異常が検出された場合に異常の通知を受信する。図2では、異常通知受信手段36がレーン4を介して通信装置60から異常の通知を受信する例を示している。なお、異常通知受信手段36が、例えば伝送路40の通信状態を監視する監視装置等の通信装置30及び60の通信に直接関与しない装置により検出された異常の通知を受信するようにしてもよい。異常通知受信手段36が異常の通知を受信した場合、分割手段32は複数の第2のデータのうち異常が検出された第2のデータを複数の第3のデータに分割して、送信手段34は分割手段32が分割した複数の第3のデータをレーン1、2及び3のいずれかに振分けて通信装置60へ再送する。
【0021】
通信装置60は、受信手段62と、再構成手段64と、異常検出手段66と、異常通知手段68と、を備える。受信手段62は、通信装置30から複数の第2のデータ又は複数の第3のデータを受信する。受信手段62は、各レーンの受信処理を行う受信機(Receiver、以下Rxと略記する)1、2及び3を有する。Rx1、Rx2及びRx3は、例えば各レーンが光ファイバである場合、光を電気に変換するROSA(Receiver Optical Sub−Assembly)等である。以下、Rx1、Rx2及びRx3を区別する必要がない場合は、総称して受信手段62と表記する。Rx1、Rx2及びRx3は、それぞれレーン1、2及び3を介して、パケットの形式に変換された第2のデータ又は第3のデータを受信する。再構成手段64は、受信手段62が複数の第2のデータを受信した場合、複数の第2のデータのそれぞれが含む識別情報に従って、第1のデータを再構成する。再構成手段64は、受信手段62が複数の第3のデータを受信した場合、複数の第3のデータのそれぞれが含む識別情報に従って、再送された第2のデータを再構成し、正常に受信した第2のデータと再構成した第2のデータとが含む識別情報に従って、第1のデータを再構成する。再構成手段64は、再構成した第1のデータを、例えば再構成した第1のデータを用いて処理を行う外部の装置に出力する。なお、再構成手段64は、再構成した第1のデータを、例えば通信装置60が備える他の手段に出力してもよい。異常検出手段66は、通信装置30から受信した複数の第2のデータから伝送エラー等の異常を検出する。異常通知手段68は、異常検出手段66が複数の第2のデータのいずれかから異常を検出した場合にレーン4を介して異常の通知を通信装置30に通知する。
【0022】
図3を参照して、実施例1に係る通信装置30と通信装置60との間で送受信されるデータの構造の一例を説明する。図3(a)及び図3(b)は、実施例1に係る第1のデータの一例を示す図である。図3(c)は、実施例1に係る第2のデータの一例を示す図である。図3(d)は、実施例1に係るパケットの構造の一例を示す図である。
【0023】
図3(a)のように、第1のデータ80は、サイズが1536byteの例えば画像のデータや画像の色のデータである。図3(b)に示す第1のデータ82は、第1のデータ80を256byteごとに6つに等分割した例を示している。以下の説明では、第1のデータ82を256byteごとに等分割したデータをそれぞれ左からデータ1、2、3、4、5及び6と記す。図3(b)に示すような第1のデータ82の分割の方法は一例であって、分割するサイズや分割する数は他の値でもよい。
【0024】
図3(c)は、分割手段32が第1のデータ82を分割することにより生成した複数の第2のデータの一例を示している。複数の第2のデータ84、86及び88は、それぞれ第1のデータの一部を含むデータであって、互いに重複する部分を含まないデータである。なお、複数の第2のデータは、互いに重複する部分を含むデータでもよい。その場合、データの冗長性が高まり、伝送エラーに対する耐性が向上する。複数の第2のデータ84、86及び88を構成する各データを並べ替えることにより、第1のデータ82が再構成される。第2のデータ84は、データ4及び1で構成されるデータである。第2のデータ86は、データ5及び2で構成されるデータである。第2のデータ88は、データ6及び3で構成されるデータである。図3(c)に示すような分割手段32による第1のデータ82を複数の第2のデータに分割する方法は一例であって、他の方法でもよい。例えば、第1のデータが画像のデータである場合、画像処理規則等に従って分割してもよい。第2のデータ84、86及び88を、例えばY(Yellow)色、M(Magenta)色、C(Cyan)色、K(Black)色等の色のデータに対応させてもよい。
【0025】
図3(d)は、複数のフィールドから構成されるパケットのデータ構造の一例であり、各フィールドにそれぞれ値が格納される。各フィールドの名称は、先頭から「ヘッダ91」、「識別情報(ID)92」、「データ93」、「誤り検出符号94」、「フッタ95」及び「レーン識別情報(レーンID)96」である。以下の説明において、フィールド名の前後に「」記号を付し、各フィールドに格納される値の前後に””記号を付すこととする。
【0026】
図3(d)のように、「ヘッダ91」及び「フッタ95」には、それぞれパケット90の先頭及び終端を示す情報が格納される。なお、「ヘッダ91」及び「フッタ95」には、「データ93」に格納されるデータの種別を示す情報が格納されてもよく、例えば「データ93」に格納されるデータが画像データであることを示す情報や制御コマンドであることを示す情報が格納されてもよい。「ID92」には、「データ93」に格納されるデータを識別するための識別情報が格納される。例えば、「データ93」に”第2のデータ84”が格納される場合、「ID92」には”4及び1”が格納される。例えば「ID92」に格納された”4及び1”は、再構成手段64が第1のデータ82を再構成するために使用される。なお、「ID92」には、例えば通信装置60が第2のデータを記憶するメモリ等の記憶部のアドレスが格納されてもよい。その場合、再構成手段64は「ID92」に格納された記憶部のアドレスにしたがって第1のデータを再構成するようにしてもよい。「データ93」には、第2のデータ又は第3のデータが格納される。「誤り検出符号94」には、データ93のエラーを検出するためのデータが格納される。例えば、「誤り検出符号94」には巡回冗長検査(Cyclic Redundancy Check;CRC)等のデータが格納される。「誤り検出符号94」に格納されたデータを用いることにより、パケット単位でエラーの有無が検出される。なお、「誤り検出符号94」を「誤り訂正符号94」として、例えばハミング符号等の誤り訂正符号のデータを格納してもよい。「レーンID96」には、パケットを送信する場合に使用するレーンの識別情報を示す情報が格納される。例えば、送信手段34がレーン1を介してパケットを送信する場合、「レーンID96」には”1”が格納される。例えば、送信手段34が第2のデータをパケット90の形式に変換して受信手段62へ送信する場合、送信手段34は「データ93」に”第2のデータ”を格納する。受信手段62は、受信したパケットから「データ93」に格納された”第2のデータ”を取り出す。これにより、受信手段62は、第2のデータを受信する。
【0027】
図4を参照して、実施例1に係る通信システム100における第1のデータ82の通信において異常が発生しない場合の処理の一例を説明する。なお、図4では、説明のため、図2の一部を省略した構成とデータの流れを示している。
【0028】
図4のように、分割手段32は、第1のデータ82を、3つの第2のデータ84、86及び88に分割する。送信手段34は、3つの第2のデータ84、86及び88をレーン1、2及び3にそれぞれ振分ける。送信手段34は、第2のデータ84、86及び88をそれぞれパケット90の形式に変換する。第2のデータ84、86及び88をパケットの形式に変換したデータをそれぞれパケット1、2及び3とする。送信手段34は、パケット1の「ID92」、「データ93」、「レーンID96」にそれぞれ”4及び1”、”第2のデータ84”、”1”という値を格納する。送信手段34は、パケット2の「ID92」、「データ93」、「レーンID96」にそれぞれ”5及び2”、”第2のデータ86”、”2”という値を格納する。送信手段34は、パケット3の「ID92」、「データ93」、「レーンID96」にそれぞれ”6及び3”、”第2のデータ88”、”3”という値を格納する。Tx1、Tx2及びTx3は、それぞれパケット1、2及び3をレーン1、2及び3を介して通信装置60へ送信する。
【0029】
Rx1、Rx2及びRx3は、それぞれレーン1、2及び3を介して、パケット1、2及び3を受信する。異常検出手段66は、パケット1、2及び3のそれぞれに対して、「誤り検出符号94」に格納された値に基づいてエラーがないことを確認する。Rx1、Rx2及びRx3は、それぞれパケット1、2及び3の「ID92」に格納された識別情報を確認する。Rx1、Rx2及びRx3は、それぞれパケット1、2及び3から「データ93」に格納された”第2のデータ84”、”第2のデータ86”及び”第2のデータ88”を取り出す。Rx1、Rx2及びRx3は、それぞれ第2のデータ84、86及び88と識別情報とを再構成手段64に出力する。再構成手段64は、第2のデータ84、86及び88と識別情報とに基づいて、第1のデータ82を再構成する。以上で、処理が終了する。
【0030】
図5(a)及び図5(b)を参照して、実施例1に係る通信システム100における第1のデータ82の通信において異常が発生する場合の処理の一例を説明する。図5(a)は、実施例1に係る通信装置30が第1のデータ82を送信してから、通信装置60が第2のデータ86から異常を検出するまでの処理の一例を示す説明図である。図5(b)は、実施例1に係る通信装置30が第2のデータ86を再送してから、通信装置60が第1のデータ82を再構成するまでの処理の一例を示す説明図である。なお、通信装置30が第2のデータ86を再送する場合に、異常は発生しないとする。
【0031】
図5(a)のように、Rx1、Rx2及びRx3がパケット1、2及び3を受信するまでの処理は、図4の説明と重複するため省略する。異常検出手段66は、各パケットの「誤り検出符号94」に格納された値に基づいて、パケット2からエラーを検出する。異常検出手段66は、パケット2で検出されたエラーが訂正可能の場合、エラー訂正処理を行う。以後の処理は、図4の説明と同様である。
【0032】
異常検出手段66は、パケット2で検出されたエラーが訂正不可の場合、パケット2で異常が発生したと判断する。異常検出手段66は、Rx1、Rx2及びRx3から、パケット2の「ID92」に格納された”5及び2”と「レーンID96」に格納された”2”とを通知される。異常検出手段66は、パケット2の「ID92」に格納された”5及び2”と「レーンID96」に格納された”2”とを、異常通知手段68に通知する。異常通知手段68は、レーン4を介して、異常が検出されたパケット2の「ID92」に格納された”5及び2”と「レーンID96」に格納された”2”とを通信装置30の異常通知受信手段36に通知する。異常通知受信手段36は、通知された「ID92」に格納された”5及び2”及び「レーンID96」に格納された”2”を、分割手段32及び送信手段34に通知する。
【0033】
図5(b)のように、分割手段32は、通知されたパケット2の「ID92」に格納された”5及び2”に対応する第2のデータ86を複数の第3のデータ85及び87に分割する。第3のデータ85及び87は、それぞれデータ2及び5を含むデータである。送信手段34は、第3のデータ85及び87をそれぞれエラーが発生したレーン2以外のレーンであるレーン1及び3に振分ける。なお、送信手段34は、第3のデータ85及び87のいずれかをレーン2に振分けてもよい。送信手段34は、第3のデータ85及び87をそれぞれパケット90の形式に変換する。第3のデータ85及び87をパケットの形式に変換したデータをそれぞれパケット4及び5とする。送信手段34は、パケット4の「ID92」、「データ93」、「レーンID96」に、それぞれ”2”、”第3のデータ85”、”1”を格納する。送信手段34は、パケット5の「ID92」、「データ93」、「レーンID96」に、それぞれ”5”、”第3のデータ87”、”3”を格納する。Tx1、Tx2及びTx3は、それぞれパケット4及び5をレーン1及び3を介して通信装置60へ送信する。
【0034】
Rx1及びRx3は、それぞれレーン1及び3を介して、パケット4及び5を受信する。異常検出手段66は、パケット4及び5のそれぞれに対して、「誤り検出符号94」に格納された値に基づいてエラーがないことを確認する。Rx1及びRx3は、それぞれパケット4及び5の「ID92」に格納された識別情報を確認する。Rx1及びRx3は、それぞれパケット4及び5から「データ93」に格納された”第3のデータ85”及び”第3のデータ87”を取り出す。Rx1及びRx3は、それぞれ第3のデータ85及び87と識別情報とを再構成手段64に出力する。再構成手段64は、第3のデータ85及び87と各識別情報とに基づいて、第2のデータ86を再構成する。再構成手段64は、正常に受信した第2のデータ84及び88と再送された第2のデータ86と各識別情報とに基づいて、第1のデータ82を再構成する。以上で、処理が終了する。
【0035】
このように、実施例1に係る通信装置30は、異常が検出された第2のデータ86を第3のデータ85及び87に分割して、第3のデータ85及び87をレーン1及び3に振分けて再送する。第3のデータ85及び87のサイズは、それぞれ第2のデータ86のサイズより小さい。したがって、異常が検出された第2のデータ86を第3のデータ85及び87に分割して、第3のデータ85及び87をレーン1及び3に振分けて再送する方が、異常が検出された第2のデータ86をそのまま再送する場合に比べて、再送に要する時間が短縮される。よって、データの再送による伝送効率の低下が抑制される。
【0036】
図6(a)及び図6(b)を参照して、実施例1との比較のため、比較例に係る通信システムにおける第1のデータ82の通信において異常が発生する場合の処理の一例を説明する。図6(a)は、比較例に係る通信装置30が第1のデータ82を送信してから、通信装置60が第2のデータ86から異常を検出するまでの処理の一例を示す説明図である。図6(b)は、比較例に係る通信装置30が第2のデータ86を再送してから、通信装置60が第1のデータ82を再構成するまでの処理の一例を示す説明図である。なお、通信装置30が第2のデータ86を再送する場合に、異常は発生しないとする。
【0037】
図6(a)の説明は、図5(a)の説明と同様のため、省略する。図6(b)のように、通信装置30において、分割手段32は、通知されたパケット2の「ID92」に格納された”5及び2”に対応する第2のデータ86を分割せずにそのまま送信手段34に出力する。送信手段34は、第2のデータ86をパケット90の形式に変換する。第2のデータ86をパケットの形式に変換したデータをパケット6とする。送信手段34は、パケット6の「ID92」、「データ93」、「レーンID96」にそれぞれ”5及び2”、”第2のデータ86”、”2”を格納する。Tx2は、レーン2を介して通信装置60へパケット6を送信する。
【0038】
通信装置60において、Rx2は、レーン2を介して、パケット6を受信する。異常検出手段66は、パケット6に対して、「誤り検出符号94」に格納された値に基づいてエラーがないことを確認する。Rx2は、パケット6の「ID92」に格納された識別情報を確認する。Rx2は、パケット6から「データ93」に格納された”第2のデータ86”を取り出す。Rx2は、第2のデータ86と識別情報とを再構成手段64に出力する。再構成手段64は、正常に受信した第2のデータ84及び86と再送された第2のデータ86と各識別情報とに基づいて、第1のデータ82を再構成する。以上で、処理が終了する。
【0039】
このように、比較例では、送信装置30は異常が検出された第2のデータ86をそのまま再送するため、図5(b)のように第2のデータ86を第3のデータ85及び87に分割して再送する場合に比べて、伝送速度が遅くなる。よって、伝送効率が低下する。また、通信装置60において第1のデータ82の再構成が完了するタイミングが遅延するため、再構成された第1のデータ82を用いる後段の処理も遅延してしまう。
【0040】
図7に示すフローチャートを参照して、実施例1に係る通信装置30が他の通信装置60へ第1のデータを送信する処理の一例を説明する。分割手段32は、第1のデータを複数の第2のデータに分割する(ステップS10)。送信手段34は、複数の第2のデータをレーン1、2及び3のいずれかに振分ける(ステップS11)。送信手段34は、複数の第2のデータをパケット90の形式に変換する(ステップS12)。Tx1、Tx2及びTx3は、他の通信装置60へ各レーンを介して各パケットを送信する(ステップS13)。
【0041】
異常通知受信手段36は、他の通信装置60から異常の通知を受信したか否かを判定する(ステップS14)。異常の通知は、例えば、エラーが検出されたパケットの「ID92」に格納された識別情報と「レーンID96」に格納されたレーンを識別する情報とを含む。異常通知受信手段36が他の通信装置60から異常通知を受信しなかった場合(ステップS14のNo)、処理が終了する。異常通知受信手段36が他の通信装置60から異常通知を受信した場合(ステップS14のYes)、分割手段32は、異常が検出されたパケットの「ID92」に格納された識別情報に対応する第2のデータを複数の第3のデータに分割する(ステップS15)。送信手段34は、複数の第3のデータをレーン1、2及び3のいずれかに振分ける(ステップS16)。なお、ステップS16において、第2のデータ又は第3のデータをエラーが発生したレーン以外のレーンに振分けてもよいし、異常が発生したレーンに振分けてもよい。送信手段34は、第3のデータをパケット90の形式に変換する(ステップS17)。送信手段34は、他の通信装置60へ各レーンを介して各パケットを送信する(ステップS18)。以上で処理が終了する。
【0042】
図8に示すフローチャートを参照して、通信装置60が通信装置30から第1のデータ82を受信する処理の一例を説明する。受信手段62は、他の通信装置30から各レーンを介してパケットを受信する(ステップS22)。異常検出手段66は、受信したいずれかのパケットでエラーが検出されたか否かを判定する(ステップS24)。ステップS24において、異常検出手段66は、例えばパケット90の「誤り検出符号94」に格納された値を用いてパケットのエラーを検出する。異常検出手段66は、受信したいずれかのパケットでエラーが検出された場合(ステップS24のYes)、異常検出手段66は、検出されたエラーは訂正可能か否かを判定する(ステップS26)。例えば、異常検出手段66は、検出されたビット誤りの個数が誤り検出符号94により訂正可能なビット誤りの個数が予め定めた範囲以内の場合、検出されたエラーは訂正可能と判定する。検出されたエラーが訂正可能である場合(ステップS26のYes)、異常通知手段68は、他の通信装置30にレーン4を介して異常の通知を送信して(ステップS28)、処理が終了する。検出されたエラーが訂正不可である場合(ステップS24のNo)、受信手段62は、パケットの「データ93」に格納された”第2のデータ”又は”第3のデータ”と「ID92」に格納された識別情報を取り出して(ステップS32)、再構成手段64に出力する。再構成手段64は、受信手段62が取り出したデータが第2のデータであるか否かを判定する(ステップS34)。ステップS34における判定を行うには、例えば、予め定めた第2のデータのサイズ及び第3のデータのサイズと、受信手段62が取り出したデータのサイズとを比較して判定してもよい。また、パケット90に第2のデータであるか否かを示す情報を記録するフィールドを設けて、そのフィールドを参照することにより判定してもよい。再構成手段64は、受信手段62が取り出したデータが第2のデータである場合(ステップS34のYes)、パケットの「データ93」に格納された”第2のデータ”と「ID92」に格納された識別情報とに基づいて、第1のデータを再構成する(ステップS36)。再構成手段64は、受信手段62が取り出したデータが第3のデータである場合(ステップS34のNo)、パケットの「データ93」に格納された”第3のデータ”と「ID92」に格納された識別情報とに基づいて、第2のデータを再構成する(ステップS38)。ステップS38に続いて、ステップS36により、第1のデータを再構成する。以上で、処理が終了する。
【0043】
以上説明したように、実施例1によれば、図7のステップS14のように異常通知受信手段36がレーン2を介して伝送されたパケット2に異常が発生したという異常の通知を受信した場合、図7のステップS15のように分割手段32は異常が検出されたパケット2に対応する第2のデータ86を第3のデータ85及び87に分割して、図7のステップS16のように送信手段34は第3のデータ85及び87をレーン1及び3に振分けて、図7のステップS18のように他の通信装置60へ再送する。このように、異常が検出されたデータを再送する場合に、異常が検出されたデータを分割して、分割したデータを複数のレーンを用いて再送するようにすることにより、図6(a)及び図6(b)に示す比較例と比べて、データの再送に要する時間が短縮される。よって、データの再送による伝送効率の低下が抑制される。
【0044】
実施例1のように、第2のデータ86に異常が検出された場合、再構成手段64は第2のデータ86の再送が完了するまで、第1のデータ82の再構成を行うことができない。そのため、第2のデータ86の再送が完了するタイミングが遅延すると、第1のデータ82の再構成が完了するタイミングが遅延してしまう。図5(b)のように、異常が検出された第2のデータ86を第3のデータ85及び87に分割して、第3のデータ85及び87をレーン1及び3に振分けて再送することにより、再送に要する時間が短縮されるため、再構成手段64による第1のデータ82の再構成が完了するタイミングの遅延が抑制される。よって、例えば再構成された第1のデータ82を扱う処理の遅延が抑制される。
【0045】
実施例1において、送信手段34は、複数の第3のデータ85及び87を複数のレーン1、2及び3のいずれかに振分ける場合、複数のレーンのうち、異常が検出された第2のデータ86を送信する場合に使用したレーン2以外のレーン1及び3に振分ける例を説明した。送信手段34は、複数の第2のデータを複数のレーン1、2及び3のいずれかに振分ける場合、複数のレーンのうち異常が検出された第2のデータを送信する場合に使用したレーン以外のレーンに振分けるようにしてもよい。データを再送する場合に、異常が発生したレーンを再度使用すると、再び異常が発生するおそれがある。その場合、伝送効率が低下してしまう。実施例1のように、異常が発生したレーン以外のレーンを使用してデータを再送することにより、データを再送する場合に異常が発生する頻度が低下する。よって、データの再送による伝送効率の低下が抑制される。なお、データを再送する場合に、異常が発生したレーンを使用してもよい。また、タイマ等を用いて、予め定めた期間だけ異常が発生したレーンを使用しないようにしてもよい。伝送路周辺の偶発的なノイズ等の外乱は時間の経過により沈静化する場合があるため、予め定めた期間の経過後、異常が発生したレーンを通常のレーンに復帰させることにより、データの再送による伝送効率の低下が抑制される。
【0046】
実施例1に係る通信装置及び通信システムの適用例として、図1のような画像形成装置300及びその周辺の構成の一例を説明した。例えば、通信装置30をスキャン手段16に適用し、通信装置60を他の送信先である画像制御手段18に適用するとする。この場合、スキャン手段16における送信手段が伝送路を介して画像データを他の送信先である画像制御手段18へ送信する。画像制御手段18は、スキャン手段16から受信した画像データに対する画像処理を行う。画像データの通信の際、画像データを構成する特定のデータにおいて異常が発生すると、特定のデータの再送が完了するまで、画像制御手段18は画像データを再構成することができない。そのため、画像制御手段18において再構成された画像データを扱う処理の完了が遅延したり、システムの緊急停止が生じたりするおそれがある。画像形成装置に対して実施例1に係る通信装置及び通信システムの構成を適用することにより、画像データを構成するデータの再送に要する時間が短縮される。よって、他の送信先における画像形成装置の画像データを扱う処理の効率の低下が抑制される。なお、例えば、通信装置30を画像形成装置300に適用し、通信装置60を他の装置である画像編集/生成装置400に適用するようにしてもよい。実施例1に係る通信装置及び通信システムの構成を、画像のデータ以外の他のデータの通信を行う構成に適用してもよい。
【0047】
実施例1において、各レーンのそれぞれが1つの光ファイバや同軸ケーブル等であって、伝送路は複数の光ファイバや同軸ケーブル等から構成される例を説明した。なお、各レーンがそれぞれ光ファイバや同軸ケーブル等のように物理的に独立していなくてもよい。例えば、伝送路を1本の光ファイバとして、複数の波長の光を用いて複数の信号を並列に伝送するようにしてもよい。その場合、各波長の光の伝送経路が各レーンに対応する。
【0048】
実施例1において、各レーンで並列に伝送する複数の第2のデータ84、86及び88のサイズがいずれも同じ512byteである例を説明した。また、各レーンで並列に伝送する複数の第3のデータ85及び87のサイズがいずれも同じ256byteである例を説明した。このように、各レーンで伝送するデータのサイズを揃えることにより、各レーンにおけるデータの伝送に要する時間にばらつきが生じにくくなる。よって、再構成手段64における第1のデータを再構成する処理の開始のタイミングが遅延しにくくなる。なお、各レーンで伝送する複数の第2のデータ又は複数の第3のデータのサイズが互いに異なるように、分割手段32が第1のデータ又は第2のデータを分割してもよい。
【0049】
通信システム100における通信装置30及び60を、例えば図9に示すように、CPU(central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えたコンピュータにより実現してもよい。図9は、実施例1に係る通信システム100をコンピュータにより実現した構成の一例を示すブロック図である。図9において、図2に示す構成と同一の構成については、同一の符号を付して説明を省略する。図9のように、通信装置30は、CPU102、ROM104、RAM106、ハードディスク装置110及び光ディスク装置112を備える。光ディスク114には、通信装置30の分割手段32、送信手段34及び異常通知受信手段36の機能を実現するためのプログラム108が記憶されている。光ディスク114は、例えばCD−ROM(Compact Disc Read Only Memory)やDVD(Digital Versatile Disc)等である。CPU102は、光ディスク装置112により光ディスク114からプログラム108を読み出して、ハードディスク装置110にプログラム108をインストールする。CPU102は、プログラム108を実行することにより、分割手段32、送信手段34及び異常通知受信手段36の機能を実現する。なお、光ディスク114は、プログラム108が記録された可搬型記憶媒体の一例であって、例えばメモリーカード等の他の可搬型記憶媒体でもよい。光ディスク装置112は、プログラム108が記録された可搬型記憶媒体からプログラム108を読み出す装置の一例であって、他の可搬型記憶媒体からプログラム108を読み出す装置でもよい。また、通信装置30に外部のネットワークと接続される通信回路を設けて、CPU102が外部のネットワークからプログラム108をダウンロードするようにしてもよい。通信装置60は、通信装置30と同様に、CPU103、ROM105、RAM107、ハードディスク装置111、光ディスク装置113を備える。光ディスク115には、通信装置60の受信手段62、再構成手段64、異常検出手段66及び異常通知手段68の機能を実現するためのプログラム109が記憶されている。CPU103は、光ディスク装置112により光ディスク115からプログラム109を読み出して、ハードディスク装置111にプログラム109をインストールする。CPU103は、プログラム109を実行することにより、受信手段62、再構成手段64、異常検出手段66及び異常通知手段68の機能を実現する。
【実施例2】
【0050】
図10を参照して、実施例2に係る通信システムの構成の一例を説明する。図10は、実施例2に係る通信システムの構成の一例を示すブロック図である。通信システム200は、通信装置30が異常計測手段を有する点が通信システム100と異なる。図10において、図2に示す構成と同一の構成については、同一の符号を付して説明を省略する。
【0051】
図10のように、通信装置30は、異常計測手段38を有する。異常計測手段38は、複数のレーン1、2及び3ごとに異常通知受信手段36が異常の通知を受信した回数(異常通知回数)を計測する。送信手段34は、複数の第2のデータ又は複数の第3のデータを複数のレーン1、2及び3のいずれかに振分ける場合、異常通知回数が予め定められた値に達したレーン(異常レーン)以外のレーンに振分ける。例えば、予め定められた値が1000であり、レーン2に関する異常通知回数が1000回に達した場合、送信手段34はレーン2以外のレーン1及び3に複数の第2のデータ又は複数の第3のデータを振分ける。
【0052】
図11を参照して、実施例2に係る通信装置30が異常レーン以外のレーンに送信するデータを振分ける処理の一例を説明する。図11は、実施例2に係る通信装置30が異常レーン以外のレーンに送信するデータを振分ける処理の一例を示すフローチャートである。なお、異常通知回数はROMやRAM等の記憶部に記憶され、図11の処理の実行前に異常通知回数は初期化されているとする。
【0053】
図11のフローチャートに示すステップS40、S42、S43、S44、S46、S48及びS49は、それぞれ図7のフローチャートに示すステップS10、S12、S13、S14、S15、S17及びS18と同じ処理のため、説明を省略する。図11のように、ステップS40の終了後、送信手段34がデータ振分け処理を実行する(ステップS41)。ステップS44がYesの場合、異常計測手段38が異常通知回数をインクリメントする(ステップS45)。ステップS46の終了後、送信手段34がデータ振分け処理を実行する(ステップS47)。ステップS49の実行後、処理が終了する。
【0054】
図12を参照して、図11におけるデータ振分け処理の一例を説明する。図12は、図11におけるデータ振分け処理の一例を示すフローチャートである。図12のように、送信手段34は、異常計測手段38が計測した異常通知回数に基づいて、異常レーンがあるか否かを判定する(ステップS50)。送信手段34は、複数のレーン1、2及び3のうち異常レーンが少なくとも一つある場合(ステップS50のYes)、複数の第2のデータ又は複数の第3のデータを異常レーン以外のレーンに振分ける(ステップS51)。送信手段34は、複数のレーン1、2及び3のうち異常レーンがない場合(ステップS50のNo)、複数の第2のデータ又は複数の第3のデータを各レーン1、2及び3に振分ける(ステップS52)。以上で、処理が終了する。
【0055】
以上説明したように、実施例2によれば、通信装置30は、複数のレーン1、2及び3ごとに異常通知受信手段36が異常の通知を受信した回数を計測する異常計測手段38を備え、送信手段34は、第1のデータ又は複数の第3のデータを複数のレーン1、2及び3のいずれかに振分ける場合、異常計測手段38が測定した回数が予め定められた値に達したレーンである異常レーン以外のレーンに振分ける。異常レーンは、異常レーン以外のレーンに比べて、異常が発生する頻度が高いと想定される。そのため、第2のデータを再送する場合に、第2のデータを複数の第3のデータに分割して、複数の第3のデータを異常レーン以外のレーンに振分けることにより、異常の発生する頻度が低下する。よって、データの再送による伝送効率の低下が抑制される。なお、複数のレーン1、2及び3ごとに異常通知受信手段36が異常の通知を受信した回数の代わりに、例えば送信手段が複数のレーン1、2及び3ごとにパケットを再送する回数を用いてもよい。また、複数のレーン1、2及び3ごとに異常通知受信手段36が異常の通知を受信した回数に基づいて、複数のレーン1、2及び3ごとに異常の通知が発生する頻度を算出して、送信手段34は、第1のデータ又は複数の第3のデータを複数のレーン1、2及び3のいずれかに振分ける場合、異常の通知が発生する頻度が予め定められた値に達したレーン以外のレーンに振分けるようにしてもよい。
【0056】
通信システム200における通信装置30及び60を、例えば図9と同様に、CPU、ROM、RAM等を備えたコンピュータにより実現してもよい。その場合、CPU102は、プログラム108を実行することにより、分割手段32、送信手段34、異常通知受信手段36及び異常計測手段38の機能を実現する。CPU103は、プログラム109を実行することにより、受信手段62、再構成手段64、異常検出手段66及び異常通知手段68の機能を実現する。
【0057】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0058】
30 通信装置
32 分割手段
34 送信手段
36 異常通知受信手段
40 伝送路
60 通信装置
62 受信手段
66 異常検出手段
68 異常通知手段
80、82 第1のデータ
84、86、88 第2のデータ
85、87 第3のデータ
100、200 通信システム

【特許請求の範囲】
【請求項1】
複数のレーンを有する伝送路を介して他の通信装置へ送信される第1のデータを複数の第2のデータに分割する分割手段と、
前記分割手段が分割した前記複数の第2のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ送信する送信手段と、
前記他の通信装置が受信した前記複数の第2のデータのいずれかから異常が検出された場合に前記異常の通知を受信する異常通知受信手段と、
を備え、
前記異常通知受信手段が前記異常の通知を受信した場合、前記分割手段は前記複数の第2のデータのうち前記異常が検出された第2のデータを複数の第3のデータに分割して、前記送信手段は前記分割手段が分割した前記複数の第3のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ再送することを特徴とする通信装置。
【請求項2】
前記複数のレーンごとに前記異常通知受信手段が前記異常の通知を受信した回数を計測する異常計測手段を備え、
前記送信手段は、前記複数の第2のデータ又は前記複数の第3のデータを前記複数のレーンのいずれかに振分ける場合、前記異常計測手段が測定した前記回数が予め定められた値に達したレーン以外のレーンに振分けることを特徴とする請求項1に記載の通信装置。
【請求項3】
複数のレーンを有する伝送路を介して第2の通信装置へ送信される第1のデータを複数の第2のデータに分割する分割手段と、前記分割手段が分割した前記複数の第2のデータを前記複数のレーンのいずれかに振分けて前記第2の通信装置へ送信される送信手段と、前記第2の通信装置が受信した前記複数の第2のデータのいずれかから異常が検出された場合に前記異常の通知を受信する異常通知受信手段と、を具備し、前記異常通知受信手段が前記異常の通知を受信した場合、前記分割手段は前記複数の第2のデータのうち前記異常が検出された第2のデータを複数の第3のデータに分割して、前記送信手段は前記分割手段が分割した前記複数の第3のデータを前記複数のレーンのいずれかに振分けて前記第2の通信装置へ再送する第1の通信装置と、
前記第1の通信装置から前記複数の第2のデータ又は前記複数の第3のデータを受信する受信手段と、前記第1の通信装置から受信した前記複数の第2のデータから前記異常を検出する異常検出手段と、前記異常検出手段が前記複数の第2のデータのいずれかから前記異常を検出した場合に前記異常を前記第1の通信装置に通知する異常通知手段と、を具備する前記第2の通信装置と、
を備えることを特徴とする通信システム。
【請求項4】
コンピュータに、
複数のレーンを有する伝送路を介して他の通信装置へ送信される第1のデータを複数の第2のデータに分割する分割手段と、
前記分割手段が分割した前記複数の第2のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ送信する送信手段と、
前記他の通信装置が受信した前記複数の第2のデータのいずれかから異常が検出された場合に前記異常の通知を受信する異常通知受信手段と、
を実行させ、
前記異常通知受信手段が前記異常の通知を受信した場合、前記分割手段は前記複数の第2のデータのうち前記異常が検出された第2のデータを複数の第3のデータに分割して、前記送信手段は前記分割手段が分割した前記複数の第3のデータを前記複数のレーンのいずれかに振分けて前記他の通信装置へ再送することを実行させることを特徴とするプログラム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−85149(P2012−85149A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−230477(P2010−230477)
【出願日】平成22年10月13日(2010.10.13)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】