(57)【要約】  中継装置（１０）は、パケットを情報処理装置（４）、または、中継装置（８）から受信する。また、中継装置（１０）は、受信したパケットに含まれる調停待ちの累積時間を示す優先順位データの値を時間の経過に応じて更新する。そして、中継装置（１０）は、受信した各パケットに含まれる優先順位データの値の比較結果に応じて、送信するパケットを選択する。そして、中継装置（１０）は、選択したパケットを中継装置（７）へ送信する。
2013088521.tif 000002
【特許請求の範囲】
【請求項１】
データを受信する複数の受信部と、
前記複数の受信部が受信した各データに含まれる調停待ちの累積時間を示す値を、時間の経過に応じて更新する更新部と、
前記各データに含まれる調停待ちの累積時間を示す値の比較結果に応じて、送信するデータを選択する選択部と、
前記選択部が選択したデータを他の装置へ送信する送信部と
を有することを特徴とする中継装置。
【請求項２】
前記更新部は、時間の経過に応じて、各データに含まれる調停待ちの累積時間を示す値をインクリメントし、
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も多いデータを送信するデータとして選択することを特徴とする請求項１に記載の中継装置。
【請求項３】
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も多いデータが複数存在する場合には、当該複数のデータから送信するデータをラウンドロビンで選択することを特徴とする請求項２に記載の中継装置。
【請求項４】
前記複数の受信部が受信した各データに含まれる調停待ちの累積時間を示す値が所定の閾値以上であるか否かを判別する判別部と、
いずれかのデータについて調停待ちの累積時間を示す値が所定の閾値以上であると前記判別部が判別した場合には、当該調停待ちの累積時間が所定の閾値以上であるデータの送信元に対して、タイムアウトを通知する通知部と
をさらに有することを特徴とする請求項２または３に記載の中継装置。
【請求項５】
前記更新部は、時間の経過に応じて、各データに含まれる調停待ちの累積時間を示す値をデクリメントし、
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も少ないデータを送信するデータとして選択することを特徴とする請求項１に記載の中継装置。
【請求項６】
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も少ないデータが複数存在する場合には、当該複数のデータから送信するデータをラウンドロビンで選択することを特徴とする請求項５に記載の中継装置。
【請求項７】
前記複数の受信部が受信した各データに含まれる調停待ちの累積時間を示す値が所定の閾値以下であるか否かを判別する判別部と、
いずれかのデータについて調停待ちの累積時間を示す値が処置の閾値以下であると前記判別部が判別した場合には、当該データの送信元となる情報処理装置に対して、タイムアウトを通知する通知部と
をさらに有することを特徴とする請求項５または６に記載の中継装置。
【請求項８】
データを受信する複数の受信装置を有し、各受信装置が受信したデータの中継を行う中継装置が実行するデータ中継方法において、
前記複数の受信装置が受信した各データに含まれる調停待ちの累積時間を示す値を、時間の経過に応じて更新し、
前記各データに含まれる調停待ちの累積時間を示す値の比較結果に応じて、送信するデータを選択し、
前記選択したデータを他の装置へ送信する
処理を実行することを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置および中継方法に関する。
【背景技術】
【０００２】
従来、複数のデータを受信すると、各データを送信する優先順位を決定し、優先順位が高いデータから順に転送する中継装置の技術が知られている。このような中継装置の一例として、同一のポートから送信する複数のデータを受信すると、各データをラウンドロビン方式で選択し、選択した順にデータを送信する中継装置が知られている。【０００３】
以下、このような中継装置を複数有するネットワークの一例について説明する。図９は、複数の中継装置がデータの中継を行うネットワークを説明するための図である。例えば、図９に例示するネットワークは、３つの中継装置＃１〜＃３と５つの情報処理装置＃１〜＃５を有する。【０００４】
なお、図９に例示するネットワークでは、中継装置＃１〜＃３が順に接続され、中継装置＃１に情報処理装置＃１と情報処理装置＃２とが接続される。また、図９に例示するネットワークでは、中継装置＃２に情報処理装置＃３が接続され、中継装置＃３に情報処理装置＃４と情報処理装置＃５とが接続される。【０００５】
次に、中継装置が実行する調停処理について説明する。図１０は、中継装置の一例を説明するための図である。図１０に示す例では、中継装置＃２は、ポート入力部３０、ポート入力部３１、優先順位決定部３２、ポート出力部３３を有する。ポート入力部３０は、情報処理装置＃３と接続されたポート＃１の入力部であり、情報処理装置＃３からデータを受信する。また、ポート入力部３１は、中継装置＃３と接続されたポート＃２の入力部であり、中継装置＃３からデータを受信する。【０００６】
優先順位決定部３２は、ポート入力部３０およびポート入力部３１が中継装置＃１に送信するデータを受信した場合には、ラウンドロビン方式でポート＃１又はポート＃２を選択し、選択したポートの入力部が受信したデータをポート出力部に出力する。また、ポート出力部３３は、中継装置＃１が接続されたポート＃０の出力部であり、優先順位決定部３２から取得したデータを中継装置＃１に送信する。【０００７】
このようなネットワークにおいて、各中継装置＃１〜＃３は、同一のポートを用いて送信するデータを受信すると、ラウンドロビン方式で送信するデータを選択し、選択した順にデータを送信する処理をそれぞれ独立して実行する。例えば、中継装置＃３は、情報処理装置＃４と情報処理装置＃５とから、情報処理装置＃１を宛先とするデータを受信する。このような場合には、中継装置＃３は、同一のポートを用いて各データを送信するため、受信したデータの調停を行い、調停に勝ったデータを中継装置＃２へ送信する。【０００８】
同様に、中継装置＃２は、情報処理装置＃３と中継装置＃３とから、情報処理装置＃１を宛先とするデータを受信すると、受信したデータの調停を行い、調停に勝ったデータを中継装置＃１へ送信する。同様に、中継装置＃１は、情報処理装置＃２と中継装置＃２とから、情報処理装置＃１を宛先とするデータを受信すると、受信したデータの調停を行い、調停に勝ったデータを情報処理装置＃１へ送信する。【０００９】
また、各情報処理装置＃１〜＃５は、データを往復させる通信を行う場合がある。例えば、図１１は、情報処理装置間のデータの送受信を説明するための図である。なお、図１１に示す例では、情報処理装置＃５が情報処理装置＃１を宛先としてデータを送信し、情報処理装置＃１が情報処理装置＃５に応答を送信する。【００１０】
例えば、情報処理装置＃５は、転送データを情報処理装置＃１に対して送信する。すると、データは、３つの中継装置＃１〜＃３を介して、情報処理装置＃１に転送される。そして、情報処理装置＃１は、データを受信した場合には、応答を情報処理装置＃５に対して送信する。すると、情報処理装置＃１が送信した応答は、３つの中継装置＃１〜＃３を介して、情報処理装置＃５に転送される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平０７−２１９８９１号公報
【特許文献２】特開２００２−０５５９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、上述したラウンドロビン方式でデータの調停を行う技術では、各中継装置がデータを送信する順序をそれぞれ独立して決定するので、各情報処理装置間の通信を中継する中継装置の数に応じて、各情報処理装置間の通信時間が変化する。この結果、各情報処理装置間の通信時間が不均衡になるという問題がある。【００１３】
例えば、情報処理装置＃２は、１つの中継装置＃１を介して、情報処理装置＃１にデータを送信するので、１回の調停待ちが発生する。しかし、情報処理装置＃５は、３つの中継装置＃１〜＃３を介して、情報処理装置＃１にデータを送信するので、３回の調停待ちが発生する。このため、情報処理装置＃１と情報処理装置＃２とが通信を行う場合と、情報処理装置＃１と情報処理装置＃５とが通信を行う場合とでは、データの送信と応答との送受信に要する時間が均等にならない。【００１４】
１つの側面では、本発明は、各情報処理装置間の通信時間の均等化を図ることを目的とする。
【課題を解決するための手段】
【００１５】
１つの側面では、データを受信する中継装置である。このような中継装置は、受信したデータに含まれる調停待ちの累積時間を示す値を、時間の経過に応じて更新する。そして、中継装置は、受信した各データに含まれる調停待ちの累積時間を示す値の比較し、比較した結果に応じて、送信するデータを選択する。そして、中継装置は、選択したデータを他の装置へ送信する。
【発明の効果】
【００１６】
１実施形態によれば、各情報処理装置間の通信時間の均等化を図ることができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例１に係る通信システムを説明するための図である。
【図２Ａ】図２Ａは、実施例１に係る情報処理装置が送信するパケットの一例を説明するための図である。
【図２Ｂ】図２Ｂは、ヘッダの一例を説明するための図である。
【図２Ｃ】図２Ｃは、ペイロードの一例を説明するための図である。
【図３】図３は、実施例１に係る中継装置の機能構成を説明するための図である。
【図４】図４は、優先順位データを更新する処理の一例を説明するための図である。
【図５】図５は、パケットを送信する処理の一例を説明するための図である。
【図６】図６は、通信にかかる時間の一例を説明するための図である。
【図７】図７は、実施例１に係る中継装置が実行する処理の流れの一例を説明するためのフローチャートである。
【図８】図８は、実施例１に係る情報処理装置と中継装置がパケットを受信した際に実行する処理の流れを説明するフローチャートである。
【図９】図９は、複数の中継装置がデータの中継を行うネットワークを説明するための図である。
【図１０】図１０は、中継装置の一例を説明するための図である。
【図１１】図１１は、情報処理装置間のデータの送受信を説明するための図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照して本願に係る中継装置および中継方法について説明する。
【実施例１】
【００１９】
以下の実施例１では、図１を用いて、中継装置を有する通信システムの一例を説明する。図１は、実施例１に係る通信システムを説明するための図である。図１に示す例では、通信システム１は、複数の情報処理装置２〜６と、複数の中継装置７、８、１０を有する。【００２０】
また、図１に示す例では、中継装置７は、中継装置１０と接続されており、中継装置１０は、中継装置８と接続されている。また、中継装置７には、情報処理装置２、３が接続されており、中継装置１０には、情報処理装置４が接続されており、中継装置８には、情報処理装置５、６が接続されている。【００２１】
このような通信システム１においては、各情報処理装置２〜６は、中継装置７、８、１０を介して、データの送受信を行う。すなわち、情報処理装置２と情報処理装置３とは、中継装置７を介してデータの送受信を行い、情報処理装置２と情報処理装置４とは、中継装置７、１０を介してデータの送受信を行う。また、情報処理装置２と情報処理装置５、又は、情報処理装置２と情報処理装置６とは、中継装置７、８、１０を介してデータの送受信を行う。【００２２】
なお、以下の説明においては、各情報処理装置２〜６は、データを格納したパケットを送受信するものとする。また、以下の説明においては、各情報処理装置３〜６から情報処理装置２に対して、パケットが送信される例、すなわち、各情報処理装置３〜６と情報処理装置２とがデータの送受信を行う例について説明する。また、以下の説明においては、中継装置７、８は、中継装置１０と同様の機能を発揮するものとして、説明を省略する。【００２３】
各情報処理装置２〜６は、データの他の情報処理装置へ送信する場合には、送信先となる情報処理装置のＩＰ（Internet  Protocol）アドレスと、送信するデータと、送信するデータの優先順位を示す優先順位データとを含むパケットを生成する。そして、各情報処理装置２〜６は、自身と接続する中継装置に対して、生成したパケットを送信する。【００２４】
ここで、図２Ａ〜２Ｃを用いて、各情報処理装置２〜６が送信するパケットの一例について説明する。図２Ａは、実施例１に係る情報処理装置が送信するパケットの一例を説明するための図である。また、図２Ｂは、ヘッダの一例を説明するための図である。図２Ｃは、ペイロードの一例を説明するための図である。【００２５】
図２Ａに示すように、各情報処理装置２〜６は、ヘッダとペイロードとを有するパケットを送信する。ここで、パケットのヘッダには、図２Ｂに示すように、優先順位データと宛先アドレスとペイロード長とが格納される。ここで、優先順位データとは、パケットを送信する優先順位を示す情報である。【００２６】
例えば、各情報処理装置２〜６は、あらかじめ設定された任意の数値を優先順位データとしてパケットに格納する。また、後述するように、各中継装置７、８、１０は、所定の時間おきに、優先順位データをデクリメントする。このため、優先順位データとは、パケットが中継装置２、８、１０において調停を待った時間の累積を示すこととなる。【００２７】
また、後述するように、各中継装置７、８、１０は、優先順位データが「０」になると、タイムアウトが発生したと判別する。このため、各情報処理装置２〜６は、優先順位データとして、タイムアウトが発生するまでの時間を格納する。【００２８】
また、宛先アドレスとは、パケットの宛先となる情報処理装置のＩＰアドレスである。ペイロード長とは、パケットのペイロードの容量を示す情報である。また、図２Ｃに示すように、パケットのペイロードには、送信元なる情報処理装置の送信元ＰＣ（Personal  Computer）番号、データ通し番号、データが格納される。ここで、送信元ＰＣ番号とは、パケットを生成した情報処理装置を一意に示す番号であり、データ通し番号とは、パケットに格納されたデータがいくつ目のデータであるかを示す情報である。【００２９】
次に、図３を用いて、中継装置１０の一例について説明する。図３は、実施例１に係る中継装置の機能構成を説明するための図である。なお、図３は、中継装置１０が有する複数のポート＃０〜＃２のうち、ポート＃１、＃２における入力ポートと、ポート＃０における出力ポートの機能を示したものである。すなわち、中継装置１０は、各ポート＃０〜＃２ごとに、各ポート＃０〜＃２を出力先とした図３と同様の機能構成を有するものとする。【００３０】
例えば、図３に示す例では、中継装置１０は、ポート入力部１１、減算部１２、ポート入力部１３、減算部１４、ポート出力部１５、優先順位決定部２０を有する。ここで、ポート入力部１１は、情報処理装置４と接続されたポート＃１の入力部であり、ポート入力部１３は、中継装置８と接続されたポート＃２の入力部である。また、ポート＃０出力部は、中継装置７と接続されたポートの出力部である。【００３１】
また、減算部１２は、ポート＃１と対応付けられており、減算部１４は、ポート＃２と対応付けられている。また、図３に示す例では、ポート入力部１１は、バリッド出力部１１ａを有する。ポート入力部１３も同様に、バリッド出力部１３ａを有し、ポート出力部１５は、バリッド出力部１５ａ、出力バッファ１５ｂを有する。また、優先順位決定部２０は、調停部２１、出力制御部２６、セレクタ２５を有する。また、調停部２１は、タイマ部２２、比較部２３、決定部２４を有する。また、出力制御部２６は、優先順位データ書換部２８、パケット組み立て部２７を有する。なお、図３では省略したが、中継装置１０は、ポート＃０〜＃２以外にも複数のポートを有し、各ポートに入力部と、対応付けられた減算部を有するものとする。【００３２】
以下、中継装置１０が実行する処理について説明する。なお、ポート入力部１３は、ポート入力部１１と同様の処理を実行するものとして、説明を省略する。また、減算部１４は、減算部１２と同様の処理を実行するものとして、説明を省略する。【００３３】
ポート入力部１１は、情報処理装置４と接続されたポート＃１の入力部であり、情報処理装置４が送信したパケットを受信する。また、ポート入力部１１は、パケットを受信した場合には、受信したパケットを保持するとともに、パケットを保持した旨を示すバリッドビット「ｏｎ」をバリッド出力部１１ａにセットする。【００３４】
また、ポート入力部１１は、パケットの優先順位データの値を取得し、取得した優先順位データの値を減算部１２に出力する。また、ポート入力部１１は、決定部２４からＡｃｋｎｏｗｌｅｄｇｅを取得した場合には、保持したパケットを優先順位決定部２０のセレクタ２５に出力する。また、ポート入力部１１は、パケットを出力した場合には、バリッド出力部１１ａにセットしたバリッドビットをクリアするとともに、減算部１２が保持する値をクリアする。【００３５】
バリッド出力部１１ａは、ポート入力部１１によってバリッドビットがセットされた場合には、パケットを受信した旨を示す信号を決定部２４に出力する。つまり、バリッド出力部１１ａは、バリッドビッド「ｏｎ」がセットされると、「ｏｎ」を示す信号を決定部２４に出力し、バリッドビットがクリアされると、「ｏｆｆ」を示す信号を出力する。【００３６】
減算部１２は、所定の時間おきに、ポート＃１が受信したパケットの優先順位データを更新する。具体的には、減算部１２は、ポート入力部１１から、ポート＃１が受信したパケットの優先順位データを取得する。このような場合には、減算部１２は、取得した優先順位データの値を保持するとともに、比較部２３とセレクタ２５に対して保持したデータの値を出力する。また、減算部１２は、タイマ部２２から更新を指示する信号を受信した場合には、保持した値を１デクリメントする。そして、減算部１２は、新たな値を比較部２３に出力する。【００３７】
なお、図３に示す例では、図面が煩雑になるのを防ぐため、減算部１２とセレクタ２５との接続を示す線については省略する。【００３８】
ポート出力部１５は、中継装置７と接続されたポート＃０の出力部であり、出力制御部２６から送信するパケットを受信した場合には、受信したパケットを出力バッファ１５ｂに保持する。また、ポート出力部１５は、パケットを保持した場合には、バリッド出力部１５ａにバリッドビットをセットする。【００３９】
そして、ポート出力部１５は、出力バッファ１５ｂに保持させたパケットを中継装置７に送信する。また、ポート出力部１５は、パケットを中継装置７に送信した場合には、バリッド出力部１５ａにセットしたバリッドビットをクリアする。【００４０】
なお、バリッド出力部１５ａは、他のバリッド出力部１１ａと同様に、バリッドビットがセットされると「ｏｎ」を示す信号を決定部２４に出力し、バリッドビットがクリアされると「ｏｆｆ」を示す信号を決定部２４に出力する。【００４１】
次に、優先順位決定部２０が実行する処理について説明する。調停部２１は、各ポートが同時期にパケットを受信した場合には、受信したパケットの調停を行う。タイマ部２２は、所定の時間間隔で、減算部１２、１４に更新を指示する信号を送信する。なお、タイマ部２２は、図３において記載を省略した中継装置１０が有するポートと対応付けられた全ての減算部に対して更新を指示する信号を送信する。【００４２】
比較部２３は、各ポートが受信したパケットが含む優先順位データを比較する。そして、比較部２３は、比較結果を決定部２４に出力する。具体的には、比較部２３は、各ポートと対応付けられた減算部から、優先順位データを取得する。そして、比較部２３は、取得した優先順位データを比較し、最も少ない値の優先順位データを識別し、識別した優先順位データを含むパケットを受信したポートを判別する。【００４３】
その後、比較部２３は、判別したポートを決定部２４に通知する。なお、比較部２３は、最も少ない値の優先順位データが複数存在する場合は、優先順位データが最も少ない値であるパケットを受信した複数のポートを決定部２４に通知する。【００４４】
決定部２４は、各ポートの入力部が有するバリッド出力部１１ａ、１３ａからパケットを受信した旨を示す信号を取得する。また、決定部２４は、各ポートが受信したパケットが含む優先順位データの比較結果を比較部２３から取得する。また、決定部２４は、ポート出力部１５が有するバリッド出力部１５ａの出力が「ｏｎ」であるか「ｏｆｆ」であるかを判別する。すなわち、決定部２４は、ポート出力部１５がパケットを送信しているか否かを判別する。【００４５】
そして、決定部２４は、ポート出力部１５が有するバリッド出力部１５ａの出力が「ｏｆｆ」であると判別した場合、すなわち、ポート出力部１５がパケットの送信を行っていない場合には、以下の処理を実行する。すなわち、決定部２４は、パケットを受信した旨を示す信号を出力するポートのうち、比較部２３から比較結果として通知されたポートの受信部に対してＡｃｋｎｏｗｌｅｄｇｅを出力する。また、決定部２４は、Ａｃｋｎｏｗｌｅｄｇｅを出力したポートをセレクタ２５に通知する。【００４６】
また、決定部２４は、複数のポートを通知されていた場合には、以下の処理を実行する。すなわち、決定部２４は、バリッドビットが「ｏｎ」であるポートであって、かつ、比較部２３から通知されたポートから、１つのポートをラウンドロビン方式で選択する。そして、決定部２４は、選択したポートの受信部に対してＡｃｋｎｏｗｌｅｄｇｅを出力するとともに、選択したポートをセレクタ２５に通知する。【００４７】
セレクタ２５は、中継装置１０が有する各ポートのうち、決定部２４から通知されたポートが受信したパケットを出力制御部２６に伝送する。また、セレクタ２５は、決定部２４から通知されたポートと対応する減算部が出力する値、すなわち、優先順位データの値を出力制御部２６に出力する。例えば、セレクタ２５は、決定部２４からポート＃１を通知された場合には、ポート入力部１１が出力するパケットを出力制御部２６に伝送するとともに、ポート＃１と対応付けられた減算部１２が出力する優先順位データを出力制御部２６に伝送する。【００４８】
パケット組み立て部２７は、セレクタ２５を介してポート入力部１１またはポート入力部１３からパケットを受信すると、受信したパケットを保持する。そして、パケット組み立て部２７は、保持したパケットの優先順位データを優先順位データ書換部２８が更新した場合には、パケットをポート出力部１５に出力する。【００４９】
優先順位データ書換部２８は、セレクタを介して、中継装置１０が有する全てのポートと対応付けられた減算部１２、１４から優先順位データを取得する。すなわち、優先順位データ書換部２８は、パケット組み立て部２７が受信したパケットが中継装置１０における調停処理の間、待機した時間が反映された優先順位データを取得する。そして、優先順位データ書換部２８は、パケット組み立て部２７が保持するパケットの優先順位データを取得した優先順位データの値に更新する。【００５０】
例えば、ポート入力部１１、バリッド出力部１１ａ、減算部１２、ポート入力部１３、バリッド出力部１３ａ、減算部１４、ポート出力部１５、バリッド出力部１５ａ、出力バッファ１５ｂとは、電子回路である。また、優先順位決定部２０、調停部２１、タイマ部２２、比較部２３、決定部２４、セレクタ２５、出力制御部２６、パケット組み立て部２７、優先順位データ書換部２８とは、電子回路である。ここで、電子回路の例として、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などを適用する。【００５１】
次に、図４を用いて、中継装置１０がパケットの優先順位データを更新する処理の具体例について説明する。図４は、優先順位データを更新する処理の一例を説明するための図である。なお、以下の説明においては、ポート＃１が受信したパケットを送信する例について説明する。【００５２】
例えば、図４に示す例では、減算部１２は、データの入力端子としてＤａｔａ１、Ｄａｔａ２を有するカウンタ回路を有する。このカウンタ回路は、バリッド出力部１１ａの出力が「ｏｆｆ」、すなわち、バリッド出力部１１ａにバリッドがセットされていない場合は、Ｄａｔａ１端子から入力された値をＱ端子から出力する。【００５３】
また、カウンタ回路は、バリッド出力部１１ａの出力が「ｏｆｆ」から「ｏｎ」に変化した場合は、Ｄａｔａ２端子から入力された値をＱ端子から出力する。また、カウンタ回路は、タイマ部２２と接続されたＴ端子に信号が入力されると、入力された値を１デクリメントして、Ｑ端子から出力する。【００５４】
以下、減算部１４がこのようなカウンタ回路を有する例について説明する。例えば、ポート入力部１１は、図４中（Ａ）に示すように、情報処理装置４からパケットを受信する。すると、ポート入力部１１は、図４中（Ｂ）に示すように、カウンタ回路のＤａｔａ２端子に優先順位データの値を出力するとともに、バリッド出力部１１ａにバリッドビッドをセットする。【００５５】
すると、図４中（Ｃ）に示すように、バリッド出力部１１ａの出力が「ｏｆｆ」から「ｏｎ」へと変化するので、減算部１２のカウンタ回路は、Ｄａｔａ２端子の入力、すなわち、ポート入力部１１が受信した優先順位データの値を取得する。そして、減算部１２のカウンタ回路は、図４中（Ｄ）に示すように、取得した値を比較部２３とセレクタ２５とに出力する。また、減算部１２のカウンタ回路は、図４中（Ｅ）に示すように、出力をＤａｔａ１端子にも出力する。すなわち、減算部１２のカウンタ回路は、優先順位データの値を保持することとなる。【００５６】
ここで、減算部１２のカウンタ回路は、図４中（Ｆ）に示すように、所定の時間おきに、タイマ部２２から信号を受信する。このため、減算部１２のカウンタ回路は、所定の時間おきに、保持した値を１デクリメントした値を出力する。ここで、Ｑ端子の出力は、Ｄａｔａ１端子にも伝送されるので、カウンタ回路は、デクリメント後の値を保持することとなる。このように、減算部１２は、ポート入力部１１が受信したパケットが調停待ちした時間を優先順位データに反映させる。【００５７】
また、比較部２３は、各ポートと対応付けられた減算部１２、１４から取得した優先順位データの値を比較し、最も少ない値を通知した減算部と対応付けられたポートを識別し、図４中（Ｇ）に示すように、識別したポートを決定部２４に通知する。例えば、比較部２３は、減算部１２から通知された値が「３」であり、減算部１４から通知された値が「５」である場合には、減算部１２と対応付けられたポート＃１を決定部２４に通知する。【００５８】
決定部２４は、バリッド出力部１５ａの出力が「ｏｆｆ」であり、かつ、比較部２３からポートの通知を取得すると、図４中（Ｈ）に示すように、通知されたポート＃１のポート入力部１１にＡｃｋｎｏｗｌｅｄｇｅを出力する。また、決定部２４は、図４中（Ｉ）に示すように、セレクタ２５にポート＃１を通知する。【００５９】
すると、ポート入力部１１は、図４中（Ｊ）に示すように、受信したパケットをセレクタ２５に出力する。ここで、セレクタ２５は、決定部２４からポート＃１の通知を受付けているため、図４中（Ｋ）に示すように、ポート入力部１１が出力したパケットを出力制御部２６に出力する。また、セレクタ２５は、ポート＃１と対応付けられた減算部１２が出力した値、すなわち、中継装置１０において調停待ちした時間が反映された優先順位データを出力制御部２６に出力する。【００６０】
なお、中継装置１０は、減算部１２が優先順位データの値をデクリメントした結果「０」となった場合や、優先順位データの値が所定の閾値以下となった場合、優先順位データの値がカウンタアンダーフローとなった場合等は、以下の処理を実行する。すなわち、中継装置１０は、減算部１２と対応付けられたポート＃１が受信したパケットがタイムアウトした旨を示す信号やパケットを、ポート＃１からパケットの送信元へ送信する。なお、中継装置１０がタイムアウトした旨を示す信号やパケットを送信する処理は、従来技術と同様の処理を実行するものとして、詳細な説明を省略する。【００６１】
次に、図５を用いて、新たな優先順位データを格納したパケットを送信する処理の具体例について説明する。図５は、パケットを送信する処理の一例を説明するための図である。例えば、決定部２４は、図５中（Ｌ）に示すように、バリッド出力部１５ａの出力が「ｏｆｆ」となった場合は、図５中（Ｍ）に示すように、セレクタ２５にポート＃１を通知する。【００６２】
このような場合には、図５中（Ｎ）で示すように、セレクタ２５は、ポート＃１のポート入力部１１が出力したパケットを、出力制御部２６のパケット組み立て部２７に伝送する。また、セレクタ２５は、ポート＃１と対応付けられた減算部１２の出力、すなわち、パケットが中継装置１０において調停待ちした時間が反映された優先順位データを優先順位データ書換部２８に伝送する。【００６３】
このような場合には、優先順位データ書換部２８は、図５中（Ｏ）に示すように、パケット組み立て部２７が保持したパケットの優先順位データを減算部１２から取得した優先順位データに書換える。その後、パケット組み立て部２７は、図５中（Ｐ）に示すように、パケットをポート出力部１５の出力バッファ１５ｂに出力する。【００６４】
次に、図６を用いて、各情報処理装置２〜６の通信にかかる時間の一例について説明する。なお、図６に示す例では、各情報処理装置３〜６が、情報処理装置２を宛先とするパケットを送信し続ける例について説明する。【００６５】
図６は、通信にかかる時間の一例を説明するための図である。なお、図６に示す例では、各情報処理装置２〜６をＰＣ２〜６と記載し、各中継装置７、８、１０をＳＷ（Switch）７、８、１０と記載した。また、図６に示す例では、各中継装置７、８、１０が実行するタイミングを横方向にとり、縦方向に各中継装置７、８、１０が取得するパケットを記載した。【００６６】
具体的には、図６に示す例では、上方向から、中継装置８が情報処理装置５、６から受信するパケット、中継装置１０が情報処理装置４と中継装置８から受信するパケットを記載した。続いて、中継装置７が情報処理装置３と中継装置１０から受信するパケット、情報処理装置２が受信するパケットを記載した。【００６７】
また、図６に示す例では、各パケットが含む優先順位データ、パケットの宛先、ペイロード長、パケットを出力した情報処理装置、各情報処理装置が出力したパケットの通し番号を記載した。なお、図６に示す例では、各情報処理装置３〜６は、優先順位データを「１０」とし、各パケットのペイロードを「２」としたパケットを送信するものとする。また、各中継装置７、８、１０は、各タイミングにおいて、優先順位データを１デクリメントするものとする。【００６８】
例えば、最初のタイミングにおいては、中継装置８は、情報処理装置５、６からパケットを受信する。すると、中継装置８は、受信したパケットの優先順位データが「１０」で同一であるため、図６中（Ｑ）に示すように、情報処理装置５から受信したパケットをラウンドロビン方式で選択し、図６中の矢印で示すように選択したパケットを中継装置１０に送信する。【００６９】
また、図６中（Ｒ）に示すように、中継装置８は、情報処理装置６から受信したパケットの優先順位データを１デクリメントし「９」とする。また、２番目のタイミングにおいて、中継装置８は、パケットの送信先となる中継装置１０のポートが埋まっているため、パケットの送信を行わずに待機する。【００７０】
また、図６中（Ｓ）に示すように、中継装置１０は、中継装置８から送信されたパケットを受信する。また、中継装置１０は、情報処理装置４からパケットを受信する。このような場合には、各パケットの優先順位データが同一であるため、中継装置１０は、情報処理装置４から受信したパケットをラウンドロビンで選択し、中継装置７に送信する。なお、中継装置１０は、３番目のタイミングにおいて、送信先の中継装置７のポートが埋まっており、新たなパケットを送信できないため、そのまま待機する。【００７１】
また、４番目のタイミングにおいて、中継装置８のポートが空くため、中継装置１０は、図６中（Ｔ）に示すように、優先順位データがより最も小さいパケットを中継装置７へ送信する。また、図６中（Ｕ）に示すように、５番目のタイミングにおいて、中継装置７は、優先順位データが最も小さいパケット、すなわち、４番目のタイミングにおいて中継装置１０から受信したパケットを情報処理装置２へと送信する。【００７２】
つまり、図６に示す例では、各中継装置７、８、１０は、図６中の実線矢印で示すように、パケットをそれぞれ転送する。この結果、例えば、各中継装置７、８、１０は、図６中の点線矢印で示すように、情報処理装置６が出力したパケットを転送することとなる。ここで、図６中（Ｖ）に示すように、情報処理装置２は、各情報処理装置３〜６が送信したパケットを均等に受信することとなる。【００７３】
すなわち、情報処理装置２は、各中継装置７、８、１０がそれぞれ独立してラウンドロビン方式でパケットの調停を行った場合には、情報処理装置３が出力したパケットを１／２の割合で受信することとなる。このため、各中継装置７、８、１０は、各情報処理装置２〜６間の通信時間を均等にできない。【００７４】
しかし、図６に示すように、各中継装置７、８、１０は、各パケットが調停待ちした時間の累積を示す優先順位データに応じて、送信するパケットの調停を行う。この結果、各中継装置７、８、１０は、図６中に示す例では、各情報処理装置２〜６間の通信に要する時間を均等にできる。【００７５】
以下、中継装置７、８、１０が、各情報処理装置２〜６間の通信に要する時間を均等にできる点について、具体例を用いて説明する。例えば、各中継装置７、８、１０をパケットが通過するのに要する時間をＴとし、各中継装置７、８、１０でパケット調停に勝利する確立をＰとすると、各情報処理装置２〜６の間の通信に要する平均時間は、「Σ（１／Ｐ）×Ｔ」で示すことができる。つまり、各情報処理装置２〜６の間の通信に要する時間は、パケットが通過する各中継装置７、８、１０における「（１／Ｐ）×Ｔ」の総和となる。【００７６】
また、各中継装置７、８、１０がラウンドロビン方式で送信するパケットを選択する場合には、各中継装置７、８、１０において各パケットが選択される確立は、１／２となる。この結果、情報処理装置２と情報処理装置３との間の通信に要する平均時間は、「（１／０．５）×Ｔ＝２Ｔ」となる。【００７７】
また、情報処理装置２と情報処理装置４との間の通信に要する平均時間は、「（１／０．５）×Ｔ＋（１／０．５）×Ｔ＝４Ｔ」となる。また、情報処理装置２と情報処理装置５、６との間の通信に要する平均時間は、「（１／０．５）×Ｔ＋（１／０．５）×Ｔ＋（１／０．５）×Ｔ＝６Ｔ」となる。【００７８】
一方、各中継装置７、８、１０が各パケットの優先順位データを所定の時間おきにデクリメントするとともに、最も少ない優先順位データを含むパケットを送信する場合には、各中継装置７、８、１０がパケットを送信する確立は以下のようになる。【００７９】
すなわち、中継装置８は、情報処理装置５、６が出力したパケットを１／２の確立で送信する。また、中継装置１０は、調停待ちの累積時間が長いパケットほど、優先して送信するので、情報処理装置４が出力したパケットを１／３の確立で送信し、中継装置８が出力したパケットを２／３の確立で送信する。また、中継装置７は、調停待ちの累積時間が長いパケットほど、優先して送信するので、情報処理装置３が出力したパケットを１／４の確立で送信し、中継装置１０が出力したパケットを３／４の確立で送信する。【００８０】
この結果、情報処理装置２と情報処理装置３との間の通信に要する平均時間は、「（１／０．２５）×Ｔ＝４Ｔ」となる。また、情報処理装置２と情報処理装置４との間の通信に要する平均時間は、「（１／０．３３）×Ｔ＋（１／０．７５）×Ｔ＝４．３３Ｔ」となる。また、情報処理装置２と情報処理装置５、６との間の通信に要する平均時間は、「（１／０．５）×Ｔ＋（１／０．６６）×Ｔ＋（１／０．７５）×Ｔ＝４．８３Ｔ」となる。このように、中継装置７、８、１０は、各情報処理装置２〜６間の通信に要する時間を均等にすることができる。【００８１】
このため、例えば、各情報処理装置３〜６の利用者が、通信に要した時間に応じて課金されるパケット通信を用いて、情報処理装置２とパケット通信を行う際にも、中継装置７、８、１０は、各情報処理装置３〜６の利用者への課金額を公平にできる。また、中継装置７、８、１０は、調停待ちの累積時間が長いパケットほど、優先して送信するので、パケットのタイムアウトを防ぐ結果、通信システム１が混雑した場合にも、通信距離が遠い情報処理装置間の通信を円滑に行なえる。【００８２】
次に図７を用いて、中継装置１０が実行する処理の流れについて説明する。図７は、実施例１に係る中継装置が実行する処理の流れの一例を説明するためのフローチャートである。なお、図７に示す例では、ポート＃０を用いて出力するパケットを受信した際に、中継装置１０が実行する処理の流れについて説明する。【００８３】
例えば、中継装置１０は、ポート入力部１１またはポート入力部１３に新たなパケットを受信したか否かを判別する（ステップＳ１０１）。そして、中継装置１０は、パケットを受信したと判別した場合には（ステップＳ１０１肯定）、新たに受信したパケットの優先順位データを減算器にセットする（ステップＳ１０２）。【００８４】
次に、中継装置１０は、ポート出力部１５のバリッド出力部１５ａが出力するバリッドが「ｏｎ」であるか否かを判別する（ステップＳ１０４）。そして、中継装置１０は、ポート出力部１５のバリッド出力部１５ａが出力するバリッドが「ｏｆｆ」であると判別した場合は（ステップＳ１０４否定）、以下の処理を実行する。【００８５】
すなわち、中継装置１０は、減算部１２、１４にセットされた優先順位データを比較し、優先順位データの値が最も少ないパケットデータを選択する（ステップＳ１０５）。次に、中継装置１０は、選択したパケットデータの優先順位データを、減算器にセットされた優先順位データに更新する（ステップＳ１０６）。そして、中継装置１０は、バリッド出力部１５ａに「ｏｎ」をセットし、優先順位データを更新したパケットを中継装置７に送信する（ステップＳ１０７）。【００８６】
一方、中継装置１０は、バリッド出力部１５ａの出力が「ｏｎ」であると判別した場合（ステップＳ１０４肯定）、優先順位データを更新してから一定時間が経過したか否かを判別する（ステップＳ１０８）。そして、中継装置１０は、優先順位データを更新してから一定時間が経過したと判別した場合は（ステップＳ１０８肯定）、各ポートと対応付けられた減算部１２、１４が保持する値を１デクリメントする（ステップＳ１０９）。なお、中継装置１０は、優先順位データを更新してから一定時間が経過したと判別した場合は（ステップＳ１０８否定）、ステップＳ１０９の処理をスキップする。【００８７】
次に、中継装置１０は、パケットの出力が終了したか否かを判別し（ステップＳ１１０）、パケットの出力が終了した場合は（ステップＳ１１０肯定）、バリッド出力部１５ａのバリッドビットを「ｏｆｆ」にする（ステップＳ１１１）。その後、中継装置１０は、再度、ポート入力部１１またはポート入力部１３に新たなパケットを受信したか否かを判別する（ステップＳ１０１）。なお、中継装置１０は、パケットの出力が終了していない場合は（ステップＳ１１０否定）、ステップＳ１１１の処理をスキップし、再度、ポート入力部１１またはポート入力部１３に新たなパケットを受信したか否かを判別する（ステップＳ１０１）。【００８８】
また、中継装置１０は、ポート入力部１１またはポート入力部１３に新たなパケットを受信していないと判別した場合は（ステップＳ１０１否定）、ポート入力部１１またはポート入力部１３にパケットがあるか否かを判別する（ステップＳ１０３）。そして、中継装置１０は、ポート入力部１１またはポート入力部１３にパケットがある場合は（ステップＳ１０３肯定）、ポート出力部１５のバリッド出力部１５ａが出力するバリッドが「ｏｎ」であるか否かを判別する（ステップＳ１０４）。【００８９】
また、中継装置１０は、ポート入力部１１およびポート入力部１３にパケットがない場合は（ステップＳ１０３否定）、再度、ポート入力部１１またはポート入力部１３に新たなパケットを受信したか否かを判別する（ステップＳ１０１）。【００９０】
次に、図８を用いて、中継装置１０が情報処理装置４からパケットを受信した際に実行する処理の流れについて説明する。図８は、実施例１に係る情報処理装置と中継装置がパケットを受信した際に実行する処理の流れを説明するフローチャートである。例えば情報処理装置４は、パケットに優先順位データを設定し（ステップＳ２０１）、パケットを中継装置１０に送信する（ステップＳ２０２）。【００９１】
すると、中継装置１０は、ポート＃１がパケットを受信する（ステップＳ２０３）。次に、中継装置１０は、受信したパケットから優先順位データを取り出し、減算部１２に設定する（ステップＳ２０４）。このような場合には、減算部１２は、優先順位データを調停部２１に通知する（ステップＳ２０５）。そして、調停部２１は、ポート出力部１５の使用中ステータスを確認し（ステップＳ２０６）、ポート＃０が使用中であるか否かを判別する（ステップＳ２０７）。【００９２】
また、調停部２１は、ポート＃０が使用中ではないと判別した場合は（ステップＳ２０７否定）、減算部１２、１４のうち、優先順位データが小さいほうにＡｃｋｎｏｗｌｅｄｇｅを返す（ステップＳ２０８）。次に、Ａｃｋｎｏｗｌｅｄｇｅが返ったポートの入力部は、優先順位決定部２０にパケットを出力する（ステップＳ２０９）。【００９３】
このような場合は、優先順位決定部２０が有する出力制御部２６は、パケットの優先順位データを減算部の優先順位データに書換えて、ポート出力部１５に出力する（ステップＳ２１０）。そして、ポート出力部１５は、中継装置７にパケットを出力する（ステップＳ２１１）。この際、ポート出力部１５は、使用中ステータスを使用中にする（ステップＳ２１２）。すなわち、ポート出力部１５は、バリッド出力部１５ａに「ｏｎ」を設定する。【００９４】
ここで、送信先が情報処理装置である場合は（ステップＳ２１３肯定）、送信先となる情報処理装置がパケットを受信して（ステップＳ２１４）、処理が終了となる。一方、送信先が中継装置である場合は（ステップＳ２１３否定）、送信先の中継装置が、ステップＳ２０３の処理を実行することとなる。【００９５】
一方、中継装置１０は、ポート＃０が使用中である場合は（ステップＳ２０７肯定）、経過した時間を確認し（ステップＳ２１５）、優先順位データを更新してから一定時間が経過したか否かを判別する（ステップＳ２１６）。そして、中継装置１０は、一定時間が経過した場合は（ステップＳ２１６肯定）、各減算部１２、１４の優先順位データをデクリメントする（ステップＳ２１７）。【００９６】
なお、中継装置１０は、一定時間が経過していない場合は（ステップＳ２１６否定）、ステップＳ２１７の処理をスキップする。また、ポート出力部１５は、新たなパケットを送信できる状態の場合は、使用中ステータスを未使用にし、それ以外の場合は、使用中ステータスを使用中にする（ステップＳ２１８）。つまり、ポート出力部１５は、パケットを送信できる場合は、バリッド出力部１５ａに「ｏｆｆ」をセットし、パケットを送信できない場合は、バリッド出力部１５ａに「ｏｎ」をセットする。その後、調停部２１は、ポート出力部１５の使用中ステータスを確認する（ステップＳ２０６）。【００９７】
［中継装置１０の効果］
上述したように、中継装置１０は、調停待ちの累積時間を示す優先順位データを含むパケットを受信する複数のポートを有する。また、中継装置１０は、受信したパケットに格納されていた優先順位データを所定の時間おきに更新する。そして、中継装置１０は、受信したパケットの優先順位データの比較結果に応じて、送信するパケットを選択し、選択したパケットを送信する。【００９８】
このため、中継装置１０は、各情報処理装置２〜６間の通信に要する時間を均等にすることができる。また、中継装置１０は、各情報処理装置２〜６間の通信において、データの送受信と応答の送受信とが実行される際にも、応答が格納されたパケットが送信先に到着する時間を均等にすることができる。【００９９】
また、中継装置１０は、所定の時間おきに、受信したパケットに格納されていた優先順位データをデクリメントする。そして、中継装置１０は、受信したパケットのうち、優先順位データが最も小さいパケットを送信するパケットとして選択する。このため、中継装置１０は、送信するパケットがタイムアウトするまでの時間を容易に判別することができる。【０１００】
また、中継装置１０は、優先順位データが最も小さいパケットが複数存在する場合、すなわち、複数の優先順位データの値が同一であり、かつ、この値が最も小さい値である場合は、以下の処理を実行する。すなわち、中継装置１０は、優先順位データが最も小さいパケットから、送信するパケットをラウンドロビン方式で選択する。このため、中継装置１０は、デッドロックすることなく、パケットを適切に中継することができる。【０１０１】
また、中継装置１０は、パケットの優先順位データが所定の閾値以下となった場合は、パケットの送信元となる情報処理装置に対して、タイムアウトを通知する。このため、中継装置１０は、各情報処理装置２〜６に対して、迅速にタイムアウトを通知することができる。
【実施例２】
【０１０２】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。【０１０３】
（１）優先順位データの更新について
上述した中継装置１０は、各パケットの優先順位データを所定の時間間隔でデクリメントし、優先順位データの値が最も少ないパケットを送信するパケットとして選択した。しかし、実施例は、これに限定されるものではない。【０１０４】
例えば、中継装置１０は、各パケットの優先順位データを所定の時間間隔でインクリメントし、優先順位データの値が最も多いパケットを送信することとしてもよい。また、このような処理を実行する場合は、中継装置１０は、優先順位データの値が所定の閾値よりも多くなったパケットを判別し、判別したパケットの送信元となる情報処理装置へタイムアウトを送信することとなる。【０１０５】
中継装置１０は、このように、優先順位データをインクリメントし、優先順位データの値が最も多いパケットを送信した場合には、中継装置１０は、各パケットが調停待ちした時間の累積を容易に識別することができる。なお、中継装置１０は、優先順位データの値を更新する場合は、インクリメント、または、デクリメントするだけではなく、任意の数式を用いて優先順位データを更新することとしてもよい。【０１０６】
（２）パケットの構成例について
上述した各パケットは、ヘッダに優先順位データを有していた。しかし、実施例はこれに限定されるものではなく、ヘッダ以外にも任意の位置に優先順位データを有することとしてもよい。【０１０７】
（３）優先順位データの初期値について
上述した各情報処理装置２〜６は、送信するパケットの優先順位データとして、同一の値を格納したパケットを送信した。しかし、実施例はこれに限定されるものではない。例えば、各情報処理装置２〜６は、優先して送信するパケットについては、予め低い値の優先順位データを格納することで、他のパケットよりも優先して送信させることができる。【０１０８】
なお、パケットの優先順位データは、各情報処理装置２〜６が実行するＯＳ（Operating  System）が決定してもよく、ＯＳよりも下層に存在する機能や装置が任意に設定するものであってもよい。また、各情報処理装置２〜６は、通信システム１の混雑具合に応じた値の優先順位データを設定することとしてもよい。【０１０９】
（４）中継装置について
上述した中継装置７、８、１０は、ＴＣＰ（Transmission  Control  Protocol）／ＩＰ（Internet  Protocol）による通信だけではなく、例えば、ＰＣＩｅ（Peripheral  Components  Interconnect  bus  Express）などのデバイス間の接続にも適用することができる。すなわち、中継装置７、８、１０は、パケットに優先順位データを格納することができれば、任意の手法を用いて通信を行うシステムに適用することができる。
【符号の説明】
【０１１０】
１  通信システム
２〜６  情報処理装置
７、８、１０  中継装置
１１、１３、３０、３１  ポート入力部
１１ａ、１３ａ、１５ａ  バリッド出力部
１２、１４  減算部
１５、３３  ポート出力部
１５ｂ  出力バッファ
２０  優先順位決定部
２１  調停部
２２  タイマ部
２３  比較部
２４  決定部
２５  セレクタ
２６  出力制御部
２７  パケット組み立て部
２８  優先順位データ書換部
３２  優先順位決定部
【図１】
2013088521.tif 000003
【図２Ａ】
2013088521.tif 000004
【図２Ｂ】
2013088521.tif 000005
【図２Ｃ】
2013088521.tif 000006
【図３】
2013088521.tif 000007
【図４】
2013088521.tif 000008
【図５】
2013088521.tif 000009
【図６】
2013088521.tif 000010
【図７】
2013088521.tif 000011
【図８】
2013088521.tif 000012
【図９】
2013088521.tif 000013
【図１０】
2013088521.tif 000014
【図１１】
2013088521.tif 000015
【手続補正書】
【提出日】平成26年6月20日(2014.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
調停待ちの累積時間を示す値を含むデータを受信する複数の受信部と、
前記複数の受信部が受信した各データに含まれる調停待ちの累積時間を示す値を、時間の経過に応じて更新する更新部と、
前記各データに含まれる調停待ちの累積時間を示す値の比較結果に応じて、送信するデータを選択する選択部と、
前記選択部が選択したデータを他の装置へ送信する送信部と
を有することを特徴とする中継装置。 
【請求項２】
前記更新部は、時間の経過に応じて、各データに含まれる調停待ちの累積時間を示す値をインクリメントし、
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も多いデータを送信するデータとして選択することを特徴とする請求項１に記載の中継装置。 
【請求項３】
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も多いデータが複数存在する場合には、当該複数のデータから送信するデータをラウンドロビンで選択することを特徴とする請求項２に記載の中継装置。 
【請求項４】
前記複数の受信部が受信した各データに含まれる調停待ちの累積時間を示す値が所定の閾値以上であるか否かを判別する判別部と、
いずれかのデータについて調停待ちの累積時間を示す値が所定の閾値以上であると前記判別部が判別した場合には、当該調停待ちの累積時間が所定の閾値以上であるデータの送信元に対して、タイムアウトを通知する通知部と
をさらに有することを特徴とする請求項２または３に記載の中継装置。 
【請求項５】
前記更新部は、時間の経過に応じて、各データに含まれる調停待ちの累積時間を示す値をデクリメントし、
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も少ないデータを送信するデータとして選択することを特徴とする請求項１に記載の中継装置。 
【請求項６】
前記選択部は、前記各データに含まれる調停待ちの累積時間を示す値が最も少ないデータが複数存在する場合には、当該複数のデータから送信するデータをラウンドロビンで選択することを特徴とする請求項５に記載の中継装置。 
【請求項７】
前記複数の受信部が受信した各データに含まれる調停待ちの累積時間を示す値が所定の閾値以下であるか否かを判別する判別部と、
いずれかのデータについて調停待ちの累積時間を示す値が処置の閾値以下であると前記判別部が判別した場合には、当該データの送信元となる情報処理装置に対して、タイムアウトを通知する通知部と
をさらに有することを特徴とする請求項５または６に記載の中継装置。 
【請求項８】
調停待ちの累積時間を示す値を含むデータを受信する複数の受信装置を有し、各受信装置が受信したデータの中継を行う中継装置が実行するデータ中継方法において、
前記複数の受信装置が受信した各データに含まれる調停待ちの累積時間を示す値を、時間の経過に応じて更新し、
前記各データに含まれる調停待ちの累積時間を示す値の比較結果に応じて、送信するデータを選択し、
前記選択したデータを他の装置へ送信する
処理を実行することを特徴とする中継方法。 
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
１つの側面では、調停待ちの累積時間を示す値を含むデータを受信する中継装置である。このような中継装置は、受信したデータに含まれる調停待ちの累積時間を示す値を、時間の経過に応じて更新する。そして、中継装置は、受信した各データに含まれる調停待ちの累積時間を示す値の比較し、比較した結果に応じて、送信するデータを選択する。そして、中継装置は、選択したデータを他の装置へ送信する。
【国際調査報告】
2013088521.tif 000016
2013088521.tif 000017