(57)【要約】      （修正有）【課題】短期間に通信処理を完了する通信処理装置、方法及びシステムを提供する。【解決手段】通信処理装置１０１は、通信路１１１を介して情報処理装置１１０から、転送データと、通信路１１１が使用中か否かを表す通信路情報とを受信し、情報処理装置１１３に送信する中継部１０２と、送信データを送信するリクエストに応じて、通信路情報により、通信路１１１が使用中か否かを判定し、使用中でない場合に、通信路１１１が使用中を表す通信路情報を作成して情報処理装置１１０及び情報処理装置１１３に送信し、送信データを情報処理装置１１０又は情報処理装置１１３の少なくとも一方に送信し、送信処理が終了するのに応じて、通信路１１１が使用中でないことを表す通信路情報を作成して情報処理装置１１０及び情報処理装置１１３に送信し、通信路１１１が使用中の場合に、通信路１１１を介して該送信データを送信しない通信部１０３とを有する。【選択図】図１
2016139300.tif 000002
【特許請求の範囲】
【請求項１】
通信路を介して隣接している第１情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第２情報処理装置に送信する中継手段と、
送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第１情報処理装置及び前記第２情報処理装置に送信し、前記通信路を介して前記送信データを前記第１情報処理装置または前記第２情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第１情報処理装置及び前記第２情報処理装置に送信し、
前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない通信手段と
を備える通信処理装置。
【請求項２】
前記通信路情報は、前記通信路に関して、前記第１情報処理装置から受信可能な通信路情報と、前記第２情報処理装置から受信可能な通信路情報とを含み、
前記通信手段は、前記リクエストに応じて、２つの前記通信路情報が、いずれも、前記通信路が使用されていないことを表す場合に、前記通信路を介して、前記第１情報処理装置または前記第２情報処理装置に前記送信データを送信し、前記第１情報処理装置及び前記第２情報処理装置に、前記通信路が使用されていることを表す前記通信路情報を送信し、２つの前記通信路情報のうち、少なくとも一方が、前記通信路が使用されていることを表す場合に、前記送信データを送信しない
請求項１に記載の通信処理装置。
【請求項３】
前記第１情報処理装置から受信可能な通信路情報を記憶する第１通信路情報記憶手段と、
前記第２情報処理装置から受信可能な通信路情報を記憶する第２通信路情報記憶手段と、
をさらに備え、
前記中継手段は、前記第１情報処理装置から受信した前記通信路情報を前記第１通信路情報記憶手段に格納し、さらに、前記第２情報処理装置から受信した前記通信路情報を前記第２通信路情報記憶手段に格納し、
前記通信手段は、前記第１通信路情報記憶手段における前記通信路情報と、前記第２通信路情報記憶手段における前記通信路情報に基づいて、前記通信路が使用されているか否かを判定するとともに、作成した前記通信路情報を前記第１通信路情報記憶手段、及び、前記第２通信路情報記憶手段に格納する
請求項２に記載の通信処理装置。
【請求項４】
前記通信手段は、前記リクエストに応じて、複数の前記通信路に関する前記通信路情報に基づき、複数の前記通信路から使用されていない前記通信路を選び、選んだ前記通信路を介して、前記第１情報処理装置または前記第２情報処理装置に前記送信データを送信し、前記第１情報処理装置及び前記第２情報処理装置に、選んだ前記通信路が使用されていることを表す前記通信路情報を送信する
請求項１乃至請求項３のいずれかに記載の通信処理装置。
【請求項５】
前記送信データのうち、前記通信路を介して前記送信データのデータ量を計測する計測手段
をさらに備え、
前記通信手段は、前記通信路が使用されている否かを判定する基準を、前記データ量が満たすか否かに基づいて、前記通信路に関する前記通信路情報を作成する
請求項１乃至請求項４のいずれかに記載の通信処理装置。
【請求項６】
前記通信手段は、前記通信路が使用されているか否かを判定する第１基準を前記データ量が満たすか否かに基づいて、前記通信路に関する第１通信路情報を作成し、作成した前記第１通信路情報を、前記第１情報処理装置及び前記第２情報処理装置の一方に送信し、前記通信路が使用されているか否かを判定する第２基準を前記データ量が満たすか否かに基づいて、前記通信路に関する第２通信路情報を作成し、作成した前記第２通信路情報を、前記第１情報処理装置及び前記第２情報処理装置の他方に送信する
請求項５に記載の通信処理装置。
【請求項７】
複数の情報処理装置と、
前記複数の情報処理装置をリング状に通信接続する前記通信路と、
を備え、
前記情報処理装置は、請求項１乃至請求項６のいずれかに記載の通信処理装置を含む
情報処理システム。
【請求項８】
情報処理装置が、通信路を介して隣接している第１情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第２情報処理装置に送信し、送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第１情報処理装置及び前記第２情報処理装置に送信し、前記通信路を介して前記送信データを前記第１情報処理装置または前記第２情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第１情報処理装置及び前記第２情報処理装置に送信し、
前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない通信処理方法。
【請求項９】
前記通信路情報は、前記通信路に関して、前記第１情報処理装置から受信可能な通信路情報と、前記第２情報処理装置から受信可能な通信路情報とを含み、
前記リクエストに応じて、２つの前記通信路情報が、いずれも、前記通信路が使用されていないことを表す場合に、前記通信路を介して、前記第１情報処理装置または前記第２情報処理装置に前記送信データを送信し、前記第１情報処理装置及び前記第２情報処理装置に、前記通信路が使用されていることを表す前記通信路情報を送信し、２つの前記通信路情報のうち、少なくとも一方が、前記通信路が使用されていることを表す場合に、前記送信データを送信しない
請求項８に記載の通信処理方法。
【請求項１０】
前記情報処理装置は、
前記第１情報処理装置から受信可能な通信路情報を記憶する第１通信路情報記憶手段と、
前記第２情報処理装置から受信可能な通信路情報を記憶する第２通信路情報記憶手段と
を備え、
前記第１情報処理装置から受信した前記通信路情報を前記第１通信路情報記憶手段に格納し、さらに、前記第２情報処理装置から受信した前記通信路情報を前記第２通信路情報記憶手段に格納し、前記第１通信路情報記憶手段における前記通信路情報と、前記第２通信路情報記憶手段における前記通信路情報に基づいて、前記通信路が使用されているか否かを判定するとともに、作成した前記通信路情報を前記第１通信路情報記憶手段、及び、前記第２通信路情報記憶手段に格納する
請求項９に記載の通信処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、複数の情報処理装置間における通信を制御する通信処理装置等に関する。
【背景技術】
【０００２】
複数のプロセッサ間、または、プロセッサと主記憶装置（メモリ）との間における通信接続を実現する方式として、クロスバースイッチ方式と、リングバス方式とが知られている。
【０００３】
クロスバースイッチ方式においては、たとえば、複数のプロセッサにおける各プロセッサに関する通信接続を実現する経路（「第１バー」と表す）と、複数のメモリにおける各メモリに関する通信接続を実現する経路（「第２バー」と表す）が設置される。第１バーと、第２バーとの交点には、通信接続を切り替えるスイッチが設置される。クロスバースイッチ方式においては、スイッチを切り替えることにより、プロセッサと、メモリとの間の通信接続を実現する。
【０００４】
一方、リングバス方式は、複数のプロセッサと、複数のメモリとの間を、環状（リング状）に通信経路（パス、以降、「経路」と表す）を接続することにより、プロセッサと、メモリとの間における通信を実現する方式である。通信経路は、複数であってもよい。リングバス方式は、通信接続の全体を制御するマスタと、該マスタが決定する制御に従い通信処理を実行する、複数のスレーブとを用いて実現する。
【０００５】
たとえば、特許文献１乃至特許文献４は、複数の情報処理装置（プロセッサ）が相互に通信接続された情報処理システムについて開示する。
【０００６】
特許文献１は、バスを制御可能なバスマスタが複数存在する情報処理装置であっても、該複数のバスマスタの間において、バスを使用する権利を調停する必要がない多重バスシステムを開示する。該多重バスシステムは、機能ブロックと、該機能ブロックに接続されたバスインターフェースモジュール（モジュール）とを有する。該多重バスシステムにおいて、複数のモジュールは、該モジュールの下流側及び上流側において、異なるモジュールに互いに直列に接続する。
【０００７】
尚、バスが一方向のみにデータ（情報）を送信可能である場合に、上流側は、該方向とは反対の方向に通信接続されているモジュールを表す。また、下流側は、該方向と同じ方向に通信接続されているモジュールを表す。
【０００８】
該モジュールは、機能ブロックの入力リンクを、自モジュールの下流側に位置するモジュールの出力リンク、または、機能ブロックの反対側の出力リンクに接続する。また、該モジュールは、自モジュールの上流側に位置するモジュールの入力リンクを、該機能ブロック側の出力リンク、または、自モジュールの下流側に位置するモジュールの出力リンクに接続する。また、該モジュールは、該機能ブロックの反対側の入力リンクを該機能ブロックの出力リンクに接続する。
【０００９】
特許文献２は、リングバス方式に従い通信接続された複数のプロセッサを有するマルチプロセッサシステムにおいて、複数のプロセッサ間における転送時間を所定の時間よりも短くすることができるマルチプロセッサシステムを開示する。マルチプロセッサシステムにおいて、バス制御部は、１つのプロセッサが送信する指示（命令）に基づき、応答信号（リプライ）または要求信号（リクエスト）を信号用リングバスに送信する。また、バス制御部は、信号用リングバスを介して自制御部宛ての要求信号、または、応答信号を受信し、その後、所定の時間を経過した後に、データ用リングバスを介して、データを送受信する。
【００１０】
特許文献３は、中央演算処理装置（ＣＰＵ）モジュールにおいて実行される処理を、リングバス方式に従い通信接続されている複数のＣＰＵモジュールの間において、同期を取りながら入出力処理を実行する入出力制御方式を開示する。該入出力制御方式において、シリアルリンクを制御する大規模集積回路（ＬＳＩ）は、リングバスの転送速度に合致するように、一定間隔にて、ＣＰＵモジュールにて実行されている実行プロセッサに割り込み信号を送信する。実行プロセッサは、該割り込み信号を受信するのに応じて、入出力モジュールに対する入出力処理を実行する。
【００１１】
特許文献４は、フォールトトレラントな並列処理装置を開示する。該並列処理装置は、複数のプロセッサと、該プロセッサ間において通信接続可能なリングバスとを有する。該リングバスは、ある一方向のみに通信接続することが可能な単方向バスを２本有する。該リングバスにおいて、単方向バスは、相互に異なる方向に通信接続する。複数のプロセッサのうち、２台のプロセッサは、外部との入出力処理を実行する入出力プロセッサである。１つの入出力プロセッサは、他方の入出力プロセッサが故障したと判定する場合に、該他方の入出力プロセッサが実行する入出力処理を実行する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００８−１８１４２４号公報
【特許文献２】特開２００４−０８６７９８号公報
【特許文献３】特開平１１−３３８５２３号公報
【特許文献４】特開平１０−１２４３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１乃至特許文献４に開示されるシステムにおいて、マスタは、通信処理に関する制御を実行する。マスタは、リングバスが使用されなくなるタイミングを予測し、該予測したタイミングに基づいて、通信処理に関するリクエストを、スレーブに送信する。このようなシステムにおいて、予測されたタイミングが、必ずしも、正しいとは限らない。このようなシステムにおいて、たとえば、後続するリクエストは、先行するリクエストが発行されるまで、発行することができない。したがって、このような場合においては、実行すべき通信処理を短期間に完了することができない。
【００１４】
そこで、本発明の主たる目的は、短期間に通信処理を完了する通信処理装置等を提供することである。
【課題を解決するための手段】
【００１５】
前述の目的を達成するために、本発明の一態様において、通信処理装置は、
通信路を介して隣接している第１情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第２情報処理装置に送信する中継手段と、
送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第１情報処理装置及び前記第２情報処理装置に送信し、前記通信路を介して前記送信データを前記第１情報処理装置または前記第２情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第１情報処理装置及び前記第２情報処理装置に送信し、
前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない通信手段と
を備える。
【００１６】
また、本発明の他の見地として、通信処理方法は、
情報処理装置が、通信路を介して隣接している第１情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第２情報処理装置に送信し、送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第１情報処理装置及び前記第２情報処理装置に送信し、前記通信路を介して前記送信データを前記第１情報処理装置または前記第２情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第１情報処理装置及び前記第２情報処理装置に送信し、
前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない。
【発明の効果】
【００１７】
本発明に係る通信処理装置等によれば、短期間に通信処理を完了することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る通信処理装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る通信処理装置における処理の流れを示すフローチャートである。
【図３】第１の実施形態に係る通信処理装置が有する構成を示すブロック図である。
【図４】本発明の第２の実施形態に係る通信処理装置が有する構成を示すブロック図である。
【図５】第２の実施形態に係る通信処理装置における処理の流れを示すフローチャートである。
【図６】本発明の第３の実施形態に係る通信処理装置が有する構成を示すブロック図である。
【図７】第３の実施形態に係る通信処理装置における処理の流れを示すフローチャートである。
【図８】本発明の第４の実施形態に係る情報処理システム４０１が有する構成を示すブロック図である。
【図９】通信路が有する構成の一例を示すブロック図である。
【図１０Ａ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その１）である。
【図１０Ｂ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その２）である。
【図１０Ｃ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その３）である。
【図１０Ｄ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その４）である。
【図１０Ｅ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その５）である。
【図１０Ｆ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その６）である。
【図１０Ｇ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その７）である。
【図１０Ｈ】第４の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート（その８）である。
【図１１】一般的な情報処理システムが有する構成を示すブロック図である。
【図１２Ａ】一般的な情報処理システムにおける処理の流れを示すタイミングチャート（その１）である。
【図１２Ｂ】一般的な情報処理システムにおける処理の流れを示すタイミングチャート（その２）である。
【図１２Ｃ】一般的な情報処理システムにおける処理の流れを示すタイミングチャート（その３）である。
【図１２Ｄ】一般的な情報処理システムにおける処理の流れを示すタイミングチャート（その４）である。
【発明を実施するための形態】
【００１９】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００２０】
＜第１の実施形態＞
本発明の第１の実施形態に係る通信処理装置１０１が有する構成について、図１を参照しながら詳細に説明する。図１は、本発明の第１の実施形態に係る通信処理装置１０１が有する構成を示すブロック図である。
【００２１】
第１の実施形態に係る通信処理装置１０１は、中継部１０２と、通信部１０３とを有する。
【００２２】
情報処理装置１１２は、通信処理装置１０１を有する。さらに、情報処理装置１１２は、通信路１１１を介して、情報処理装置１１０、及び、情報処理装置１１３と通信することができる。また、情報処理システム１１４は、情報処理装置１１０と、情報処理装置１１２と、情報処理装置１１３と、通信路１１１とを含む。
【００２３】
情報処理システム１１４において、情報処理装置１１２は、情報処理装置１１０及び情報処理装置１１３と、通信路１１１を介して信号等を送受信することができる。一方、情報処理システム１１４において、情報処理装置１１３は、通信路１１１を介して、情報処理装置１１２と通信することができる。すなわち、図１に示す例において、情報処理装置１１３は、情報処理装置１１２を経由しなければ、情報処理装置１１０と通信することができない。すなわち、図１に示す例において、情報処理装置１１３は、直接、情報処理装置１１０と通信することができない。
【００２４】
たとえば、通信路１１１は、通信ネットワークであってもよいし、信号等を送受信する配線（バス）等であってもよい。
【００２５】
説明の便宜上、情報処理装置１１０は、通信路１１１を介して、情報処理装置１１２（または、情報処理装置１１３）に、通信処理等を実行するリクエストを送信するとする。情報処理装置１１２（または、情報処理装置１１３）は、該リクエストを受信するのに応じて、通信処理を開始することができる。図１に示す例において、情報処理システム１１４は、３台の情報処理装置を有するが、必ずしも３台でなくともよい。また、ある情報処理装置が、通信路１１１を介して、直接、通信することができることを、「隣接している」と表す。図１に示す例において、情報処理装置１１２は、情報処理装置１１０及び情報処理装置１１３に隣接している。一方、情報処理装置１１３は、情報処理装置１１２に隣接しているが、情報処理装置１１０には隣接していない。
【００２６】
まず、情報処理装置１１２が、自装置宛てのリクエストを受信しない場合における処理について説明する。
【００２７】
中継部１０２は、通信路１１１を介して、隣接している情報処理装置（たとえば、情報処理装置１１０、以降、「第１情報処理装置」と表す）から、転送対象である転送データと、通信路１１１が使用されているか否かを表す通信路情報とを受信する。次に、中継部１０２は、受信した転送データと、受信した通信路情報とを、隣接している情報処理装置（たとえば、情報処理装置１１３、以降、「第２情報処理装置」と表す）に送信する。
【００２８】
たとえば、通信路情報が表す値は、通信路１１１が使用されている場合に１であり、通信路１１１が使用されていない場合に０である。
【００２９】
次に、図２を参照しながら、情報処理装置１１２が、自装置宛てのリクエストを受信した場合における処理について詳細に説明する。図２は、第１の実施形態に係る通信処理装置１０１における処理の流れを示すフローチャートである。
【００３０】
情報処理装置１１０は、情報処理装置１１２が通信処理を実行することを要求するリクエストを、情報処理装置１１２に送信する。
【００３１】
通信部１０３は、該リクエストを受信し、受信したリクエストが自装置宛てであるか否かを判定する（ステップＳ１０１）。
【００３２】
通信部１０３は、受信したリクエストが自装置宛てであると判定する場合に（ステップＳ１０１にてＹＥＳ）、通信路１１１に関する通信路情報を読み取る（ステップＳ１０２）。
【００３３】
通信部１０３は、読み取った通信路情報に基づいて、通信路１１１が使用されているか否かを判定する（ステップＳ１０３）。たとえば、通信部１０３は、通信路情報が１である場合に、通信路１１１が使用されていると判定する。また、たとえば、通信部１０３は、通信路情報が０である場合に、通信路１１１が使用されていないと判定する。
【００３４】
次に、通信部１０３は、通信路１１１が使用されていない場合に（ステップＳ１０３にてＮＯ）、通信路１１１を介して、受信したリクエストに応じた通信処理を開始する。たとえば、受信したリクエストが、情報処理装置１１２が記憶する１０個の送信データを送信するリクエストであれば、通信部１０３は、該送信データを隣接している情報処理装置（たとえば、情報処理装置１１３）に送信する（ステップＳ１０４）。尚、この場合に、通信部１０３は、必ずしも、隣接している情報処理装置のすべてに、送信データを送信しなくてもよく、隣接している情報処理装置のうち、少なくとも１つの情報処理装置に送信すればよい。
【００３５】
さらに、通信部１０３は、通信路１１１が使用されていることを表す通信路情報を作成し、通信路１１１を介して、作成した通信路情報を、隣接している情報処理装置（たとえば、情報処理装置１１３）に送信する。隣接している情報処理装置が複数である場合に、通信部１０３は、隣接している各情報処理装置に、作成した通信路情報を送信する（ステップＳ１０５）。
【００３６】
その後、通信部１０３は、リクエストに応じた通信処理が完了（終了）するのに応じて、通信路が使用されていないことを表す通信路情報を作成する。通信部１０３は、通信路１１１を介して、作成した通信路情報を、隣接している情報処理装置（たとえば、情報処理装置１１３）に送信する。
【００３７】
一方、ステップＳ１０１にてＮＯの場合には、中継部１０２が、上述したような処理を実行する。
【００３８】
また、ステップＳ１０３にてＹＥＳの場合に、通信部１０３は、ステップＳ１０４及びステップＳ１０５における処理を実行しない。この場合に、通信路情報は、通信路１１１が使用されている状態を表す。したがって、通信部１０３は、通信路１１１を介して通信処理を開始することができない。さらに、通信部１０３は、通信路情報に基づき、通信路１１１が使用されなくなるまで待ってもよい。通信部１０３は、通信路１１１が使用されていなくなった場合に、ステップＳ１０４及びステップＳ１０５における処理を実行する。
【００３９】
次に、第１の実施形態に係る通信処理装置１０１に関する効果について説明する。
【００４０】
通信処理装置１０１によれば、短期間に通信処理を完了することができる。
【００４１】
この理由は、実際に通信路が使用されているか否かを表す通信路情報に基づき、通信処理が制御されるからである。
【００４２】
通信部１０３は、マスタ等の情報処理装置から、送信対象である送信データを送信するリクエストを受信した場合に、通信路情報に基づいて、通信路が使用されているか否かを判定する。すなわち、通信処理装置１０１は、特許文献１乃至特許文献４に開示されるような通信処理装置が実行するような予測したタイミングではなく、実際に通信路が使用されているか否かに基づいて、通信処理を実行する。したがって、通信処理が実行されるタイミングが正確であるので、本実施形態に係る通信処理装置１０１によれば、短期間に通信処理を完了することができる。
【００４３】
また、特許文献１乃至特許文献４に開示される情報処理システムは、通信路を使用するか否かを通信先に確認した後に送信するリクエスト−アクノーレッジ（ＲＥＱ−ＡＣＫ）方式を採用する。
【００４４】
一方、通信処理装置１０１は、通信路が使用されていることを表す通信路情報を、通信路を使用するのに応じて送信する。このため、各情報処理装置は、該通信路情報に基づき、通信路が使用されているか否かを判定することができる。この結果、本実施形態に係る通信処理装置１０１によれば、通信先に確認する必要がないので、通信処理時間を短縮することができる。
【００４５】
尚、図３に示すように、各情報処理装置が、通信路１１１を介してリング状に通信接続されている場合であっても、上述した通信処理装置１０１と同様な作用により、同様の効果を享受することができる。このことについて、以下に説明する。図３は、第１の実施形態に係る通信処理装置１２１が有する構成を示すブロック図である。
【００４６】
通信処理装置１２１は、中継部１０２と、通信部１２３とを有する
情報処理装置１２４は、通信処理装置１２１を有する。さらに、情報処理装置１１２は、通信路１２５を介して、情報処理装置１１０、及び、情報処理装置１１３と通信することができる。また、情報処理システム１２７は、情報処理装置１１０と、情報処理装置１２４と、情報処理装置１１３と、通信路１２５とを含む。
【００４７】
上述した通信路情報は、図３に示す例において、以下の２つの通信路情報を含む。すなわち、
・通信路１２５に関して、情報処理装置１１０から受信した（情報処理装置１１３に送信する）通信路情報（以降、「第１通信路情報」と表す）、
・通信路１２５に関して、情報処理装置１１３から受信した（情報処理装置１１０に送信する）通信路情報（以降、「第２通信路情報」と表す）。
【００４８】
情報処理装置１２４が自装置宛てのリクエストを受信しない場合における処理は、情報処理装置１１２が自装置宛てのリクエストを受信しない場合における処理と同様である。たとえば、中継部１０２は、通信路１２５を介して、情報処理装置１１０から、転送データと、第１通信路情報とを受信する。中継部１０２は、たとえば、受信した転送データと、受信した第１通信路情報とを、情報処理装置１１３に送信する。上述した処理と同様に、情報処理装置１２４は、第２通信路情報を送受信する。
【００４９】
情報処理装置１２４が自装置宛てのリクエストを受信する場合における処理に関しても、図３に例示す処理と同様である。
【００５０】
通信部１２３は、該リクエストを受信し、受信したリクエストが自装置宛てであるか否かを判定する。
【００５１】
通信部１２３は、受信したリクエストが自装置宛てであると判定する場合に、通信路１２５に関する第１通信路情報と、通信路１２５に関する第２通信路情報とを読み取る。
【００５２】
通信部１２３は、読み取った第１通信路情報と、読み取った第２通信路情報とに基づいて、通信路１２５が使用されているか否かを判定する。
【００５３】
通信部１２３は、第１通信路情報及び第２通信路情報において、いずれも、通信路１２５が使用されていないと判定する場合に、通信路１２５を介して、受信したリクエストに応じた通信処理を開始する。
【００５４】
たとえば、通信部１２３は、通信路１２５が使用されていることを表す第１通信路情報を作成し、作成した第１通信路情報を情報処理装置１１３に送信する。また、通信部１２３は、通信路１２５が使用されていることを表す第２通信路情報を作成し、作成した第２通信路情報を情報処理装置１１０に送信する。
【００５５】
その後、通信部１２３は、通信路１２５を介した通信処理が完了するのに応じて、通信路１２５が使用されていないことを表す第１通信路情報を作成し、作成した第１通信路情報を、通信路１２５を介して情報処理装置１１３に送信する。同様に、通信部１２３は、通信路１２５を介した通信処理が完了するのに応じて、通信路１２５が使用されていないことを表す第２通信路情報を作成し、作成した第２通信路情報を、情報処理装置１１０に送信する。
【００５６】
通信部１２３は、第１通信路情報及び第２通信路情報のいずれかにおいて、通信路１２５が使用されていることを表す場合に、通信路１２５を介して、受信したリクエストに応じた通信処理を実行しない。
【００５７】
尚、上述した処理において、通信処理装置１２１は、第１通信路情報を記憶可能な第１通信路情報記憶部（不図示）と、第２通信路情報を記憶可能な第２通信路情報記憶部（不図示）とを有してもよい。この場合に、中継部１０２は、受信した第１通信路情報を第１通信路情報記憶部に格納し、受信した第２通信路情報を第２通信路情報記憶部に格納する。
【００５８】
また、通信部１２３は、第１通信路情報記憶部から第１通信路情報を読み取り、第２通信路情報記憶部から第２通信路情報を読み取る。通信部１２３は、読み取った第１通信路情報と、読み取った第２通信路情報とに基づいて、通信路１２５が使用されているか否かを判定する。また、通信部１２３は、リクエストに応じた通信処理を実行する場合に、作成した第１通信路情報を第１通信路情報記憶部に格納し、作成した第２通信路情報を第２通信路情報記憶部に格納する。
【００５９】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００６０】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００６１】
図４と図５とを参照しながら、第２の実施形態に係る通信処理装置１３１が有する構成と、通信処理装置１３１が行う処理とについて説明する。図４は、本発明の第２の実施形態に係る通信処理装置１３１が有する構成を示すブロック図である。図５は、第２の実施形態に係る通信処理装置１３１における処理の流れを示すフローチャートである。
【００６２】
第２の実施形態に係る通信処理装置１３１は、中継部１０２と、通信部１３３とを有する。
【００６３】
情報処理装置１３４は、通信処理装置１３１を有する。さらに、情報処理装置１３４は、通信路１３５（または、通信路１３６）を介して、情報処理装置１１０、及び、情報処理装置１１３と通信することができる。情報処理システム１３７は、情報処理装置１１０と、情報処理装置１３４と、情報処理装置１１３と、通信路１３５と、通信路１３６とを含む。すなわち、本実施形態において、情報処理システム１３７は、複数の通信路を有する。
【００６４】
情報処理装置１３４が、自装置宛てのリクエストを受信しない場合における処理は、第１の実施形態に示した処理と同様である。
【００６５】
情報処理装置１３４が、自装置宛てのリクエストを受信した場合における処理について説明する。
【００６６】
通信部１３３は、受信したリクエストが自装置宛てであると判定する場合に（ステップＳ１０１にてＹＥＳ）、通信路１３５に関する通信路情報、及び、通信路１３６に関する通信路情報を読み取る（ステップＳ２０２）。
【００６７】
通信部１３３は、読み取った２つの通信路情報に基づき、通信路１３５、または、通信路１３６のうち、使用されていない通信路を選ぶ（ステップＳ２０３）。通信部１３３は、選んだ通信路を介して、受信したリクエストに応じた通信処理を開始する（ステップＳ２０４）。さらに、通信部１３３は、選んだ通信路が使用されていることを表す通信路情報を作成し、作成した通信路情報を、隣接している情報処理装置（たとえば、情報処理装置１１３）に送信する（ステップＳ２０５）。
【００６８】
その後、通信部１３３は、リクエストに応じた通信処理が完了（終了）するのに応じて、選んだ通信路が使用されていないことを表す通信路情報を作成し、作成した通信路情報を、隣接している情報処理装置（たとえば、情報処理装置１１３）に送信する。
【００６９】
尚、いずれの通信路も使用されていない場合に、通信部１３３は、少なくとも一方の通信路を選ぶ。また、いずれの通信路も使用されている場合に、通信部１３３は、第１の実施形態と同様に、リクエストに応じた通信処理を開始しない。または、通信部１３３は、いずれかの通信路が使用されなくなるのを待つ。
【００７０】
次に、第２の実施形態に係る通信処理装置１３１に関する効果について説明する。
【００７１】
本実施形態に係る通信処理装置１３１によれば、短期間に通信処理を完了することができる。さらに、本実施形態に係る通信処理装置１３１によれば、通信ネットワークが複数の通信路を有する場合であっても、さらに短期間に通信処理を完了することができる。
【００７２】
この理由は、理由１及び理由２である。すなわち、
（理由１）第２の実施形態に係る通信処理装置１３１が有する構成は、第１の実施形態に係る通信処理装置１０１が有する構成を含むからである、
（理由２）通信部１３３が、複数の通信路の中から、使用されていない通信路を選び、選んだ通信路を介して送信データを送信するからである。
【００７３】
尚、通信路１３５、及び、通信路１３６は、それぞれ、特定の方向のみにデータ（情報）を送信可能な単方向バスであってもよい。この場合に、通信路１３５、及び、通信路１３６は、相互に、逆または略逆の方向に通信接続することが可能であってもよい。
【００７４】
＜第３の実施形態＞
次に、上述した第２（または第１）の実施形態を基本とする本発明の第３の実施形態について説明する。
【００７５】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００７６】
図６と図７とを参照しながら、第３の実施形態に係る通信処理装置１４１が有する構成と、通信処理装置１４１が行う処理とについて説明する。図６は、本発明の第３の実施形態に係る通信処理装置１４１が有する構成を示すブロック図である。図７は、第３の実施形態に係る通信処理装置１４１における処理の流れを示すフローチャートである。
【００７７】
第３の実施形態に係る通信処理装置１４１は、中継部１０２と、通信部１３３と、計測部１４４とを有する。通信処理装置１４１は、さらに、通信路情報記憶部１４５を有してもよい。
【００７８】
情報処理装置１４６は、通信処理装置１４１を有する。さらに、情報処理装置１４６は、通信路１３５（または、通信路１３６）を介して、情報処理装置１１０、及び、情報処理装置１１３と通信することができる。情報処理システム１４７は、情報処理装置１１０と、情報処理装置１４６と、情報処理装置１１３と、通信路１３５と、通信路１３６とを含む。すなわち、本実施形態において、情報処理システム１４７は、複数の通信路を有する。
【００７９】
情報処理装置１４６が、自装置宛てのリクエストを受信しない場合における処理は、第１の実施形態に示した処理と同様である。
【００８０】
情報処理装置１４６が、自装置宛てのリクエストを受信した場合における処理について説明する。
【００８１】
通信部１３３は、図５に示すステップＳ１０１、ステップＳ２０２、及び、ステップＳ２０３における処理を実行する。
【００８２】
次に、計測部１４４は、受信したリクエストに基づいて、通信部１３３が送信対象である送信データに関するデータ量を求める（ステップＳ３０１）。たとえば、情報処理装置１４６が５個の要素を送信する通信処理である場合に、計測部１４４が計測する要素数は５である。
【００８３】
通信部１３３は、受信したリクエストに基づいて、隣接している情報処理装置に送信データの一部を送信する。計測部１４４は、求めたデータ量から、通信部１３３が送信したデータ量を引き算することにより、以降の処理において送信対象であるデータ量を求める（ステップＳ３０１）。たとえば、送信したデータが、１つの要素である場合に、計測部１４４は、送信対象であるデータ量として、５から１を引く処理により４を求める。
【００８４】
次に、計測部１４４は、求めたデータ量が基準を満たすか否かに基づき、選んだ通信路に関する通信路情報を作成する（ステップＳ３０２）。たとえば、計測部１４４は、送信対象であるデータ量が、３未満である場合に、選んだ通信路が使用されていないことを表す通信路情報を作成し、３以上である場合に、選んだ通信路が使用されていることを表す通信路情報を作成する。あるいは、計測部１４４は、たとえば、送信対象であるデータ量が、１未満である場合に、選んだ通信路が使用されていないことを表す通信路情報を作成し、１以上である場合に、選んだ通信路が使用されていることを表す通信路情報を作成する。
【００８５】
尚、計測部１４４は、第１通信路情報、及び、第２通信路情報に関して異なる基準に基づいて、通信路情報を作成してもよい。たとえば、計測部１４４は、求めたデータ量が第１基準を満たすか否かに基づいて第１通信路情報を作成し、求めたデータ量が第２基準を満たすか否かに基づいて第２通信路情報を作成してもよい。
【００８６】
また、計測部１４４は、作成した第１通信路情報、及び、作成した第２通信路情報を通信路情報記憶部１４５に格納してもよい。
【００８７】
次に、通信部１３３は、計測部１４４が作成した通信路情報（すなわち、第１通信路情報、及び、第２通信路情報）を隣接している情報処理装置に送信する（ステップＳ３０３）。
【００８８】
尚、計測部１４４は、受信したリクエストに基づいて、上述した基準を算出してもよい。たとえば、計測部１４４は、受信したリクエストから、送信対象であるデータ量と、送信先となる情報処理装置とを特定し、特定したデータ量と、情報処理装置１４６から送信先までに要する通信時間とに基づいて、基準を算出してもよい。すなわち、計測部１４４は、受信したリクエストから算出する通信処理に要する期間に基づいて、基準を算出してもよい。
【００８９】
次に、第３の実施形態に係る通信処理装置１４１に関する効果について説明する。
【００９０】
本実施形態に係る通信処理装置１４１によれば、短期間に通信処理を完了することができる。さらに、本実施形態に係る通信処理装置１４１によれば、さらに、短期間に通信処理を完了することができる。
【００９１】
この理由は、理由１及び理由２である。すなわち、
（理由１）第３の実施形態に係る通信処理装置１４１が有する構成は、第２の実施形態に係る通信処理装置１３１が有する構成を含むからである、
（理由２）計測部１４４が、データ量に基づいて、通信処理に要する期間を算出し、該期間に基づいて、通信路情報を算出するからである。
【００９２】
したがって、計測部１４４は、より正確に通信処理に要する期間を算出するので、通信路が使用されていない期間を短くすることができる。
【００９３】
＜第４の実施形態＞
次に、上述した本発明の各実施形態を基本とする本発明の第４の実施形態について説明する。
【００９４】
本実施形態において、情報処理システムは、主に通信を制御するマスタである情報処理装置と、該マスタから受信した命令（指示）に基づき通信処理を実行するスレーブである情報処理装置とを含む。また、マスタ及びスレーブは、本発明の各実施形態に示した通信処理装置を含む。
【００９５】
図８及び図９を参照しながら、第４の実施形態に係る情報処理システム４０１が有する構成について説明する。図８は、本発明の第４の実施形態に係る情報処理システム４０１が有する構成を示すブロック図である。図９は、通信路が有する構成の一例を示すブロック図である。
【００９６】
情報処理システム４０１は、マスタ４０２と、複数のスレーブ（たとえば、スレーブＡ乃至スレーブＨ）と、通信路（すなわち、複数のバス）とを含む。マスタ４０２とスレーブとの間、及び、複数のスレーブ間においては、１つの方向のみに通信可能な単方向バス（以降、「バス」と表す）を介して通信接続可能である。
【００９７】
図８に示す例において、情報処理システム４０１は、通信可能なリング状に接続された通信路を有する。該通信路は、１つの方向のみに通信可能なバスと、該方向とは反対方向または略反対方向のみにバスとを含む。すなわち、図８に示す例において、通信路は、バス４０５と、バス４０４とを含む。
【００９８】
以降、説明の便宜上、スレーブＸと、スレーブＹとが、バスＺを介して隣接している場合に、そのバスＺの接続構成を、バスＺ−ＸＹと表すとする。たとえば、図９に示す具体例において、スレーブＸとスレーブＹとを通信接続するバス４０３を、バス４０３−ＸＹと表すとする。同様に、たとえば、スレーブＹとスレーブＺとを通信接続するバス４０３の接続構成を、バス４０３−ＹＺと表す。すなわち、バス４０３は、バス４０３−ＸＹと、バス４０３−ＹＺとを含む通信接続を表すとする。また、スレーブＸと、マスタとが、バスＺを介して隣接している場合に、そのバスＺの接続構成を、バスＺ−ＭＸと表すとする。
【００９９】
バス４０３−ＸＹは、たとえば、スレーブ４１８（スレーブＸ）からスレーブ４１９（スレーブＹ）に、通信処理に関するリクエストを送信可能なバスを表す。
【０１００】
バス４０４−ＹＸは、たとえば、リクエストに応じて、スレーブ４１９（スレーブＹ）からスレーブ４１８（スレーブＸ）に、通信処理に関する送信データを送信可能なバスである。バス４１６−ＸＹは、たとえば、スレーブ４１８（スレーブＸ）からスレーブ４１９（スレーブＹ）に、バス４０４に関する通信路情報（バス情報）を送信可能なバスを表す。バス４１５−ＹＸは、たとえば、スレーブ４１９（スレーブＹ）からスレーブ４１８（スレーブＸ）に、バス４０４に関するバス情報を送信可能なバスを表す。
【０１０１】
バス４０５−ＸＹは、たとえば、リクエストに応じて、スレーブ４１８からスレーブ４１９に、通信処理に関する送信データを送信可能なバスを表す。バス４１３−ＸＹは、たとえば、スレーブ４１８からスレーブ４１９に、バス４０５に関する通信路情報（バス情報）を送信可能なバスを表す。バス４１２−ＹＸは、たとえば、スレーブ４１９からスレーブ４１８に、バス４０５に関するバス情報を送信可能なバスを表す。
【０１０２】
尚、上述した例において、スレーブ４１８とスレーブ４１９との間におけるバスを例に説明したが、スレーブ４１９とスレーブ４２０との間においても同様の構成を有する。また、通信ネットワークは、上述したバス等の通信路を含む。
【０１０３】
説明の便宜上、通信路情報（バス情報）を、バスを介して送信するとするが、必ずしも、専用のバスを介して送信する必要はない。すなわち、バス情報は、たとえば、あるスレーブから、異なるスレーブに送信可能であれば、送信する態様は上述した例に限定されない。
【０１０４】
説明の便宜上、情報処理システム４０１は、スレーブＡ乃至スレーブＨなる８台のスレーブを含むとする。尚、スレーブの台数は、図８に例示した８台に限定されず、他の台数であってもよい。
【０１０５】
図８及び図９を参照すると、マスタ４０２は、通信処理に関するリクエストを、バス４０３−ＭＡを介してスレーブＡに送信する。スレーブＡは、バス４０３−ＭＡを介して該リクエストを受信し、受信したリクエストを、バス４０３−ＡＢを介してスレーブＢに送信する。スレーブＢは、バス４０３−ＡＢを介して該リクエストを受信し、受信したリクエストを、バス４０３−ＢＣを介してスレーブＣに送信する。以降、同様に、マスタ４０２が送信したリクエストは、バス４０３（すなわち、バス４０３−ＣＤ、バス４０３−ＤＥ等）を介して、たとえば、スレーブＨまで送信される。
【０１０６】
また、マスタ４０２は、バス４０３−ＭＡを介して、複数のリクエストを、順次、スレーブＡに送信することができる。たとえば、マスタは、バス４０３−ＭＡを介して、先発のリクエストをスレーブＡに送信する。次に、スレーブＡは、バス４０３−ＭＡを介して、先発のリクエストを受信し、受信した先発のリクエストを、バス４０３−ＡＢを介してスレーブＢに送信する。その後、マスタ４０２は、バス４０３−ＭＡを介して、後発のリクエストをスレーブＡに送信することができる。同様に、送信先のスレーブが、送信元のスレーブ（または、マスタ）が送信したリクエストを受信した場合に、送信元のスレーブ（または、マスタ）は、該リクエストと異なるリクエストを送信することができる。すなわち、この場合に、マスタ４０２とスレーブＨとの間におけるバス（バス４０３−ＭＡ、バス４０３−ＡＢ、バス４０３−ＢＣ等）には、複数のリクエストが存在する。
【０１０７】
次に、マスタ４０２が、バス４０３−ＭＡを介して、後述のリクエスト１乃至リクエスト３を送信する場合の例を用いながら、図８に示すリング状のバス構成を有する情報処理システム４０１が行う処理について説明する。すなわち、この例において、マスタ４０２が送信するリクエストは、リクエスト１乃至リクエスト３であるとする。すなわち、
（リクエスト１）スレーブＣは、自装置が有する９個の要素からなるデータをマスタに送信する、
（リクエスト２）スレーブＤは、自装置が有する２個の要素からなるデータをマスタに送信する、
（リクエスト３）スレーブＥは、自装置が有する８個の要素からなるデータをマスタに送信する。
【０１０８】
図１０Ａ乃至図１０Ｈは、第４の実施形態に係る情報処理システム４０１における処理の流れを示すタイミングチャートである。
【０１０９】
説明の便宜上、図１０Ａ、図１０Ｇ、及び、図１０Ｈに示す例において、各信号は、該リクエストに付した番号を用いて表示するとする。
【０１１０】
また、説明の便宜上、マスタ４０２、及び、スレーブＡ乃至スレーブＨは、情報処理システム４０１のシステムクロックに応動して、データ及びリクエスト等を送信するとする。
【０１１１】
図１０Ａ乃至図１０Ｈに関して、いずれも、横方向は時刻を表し、矢印の方向に時刻が進むことを表す。また、図１０Ａに関して、縦方向は、各情報処理装置の名称（第１列）、及び、複数の情報処理装置間において送受信されるデータ（信号、または、信号を伝送する装置）の名称（第２列）を表す。図１０Ｂ乃至図１０Ｆに関して、縦方向は、情報処理装置名と、該情報処理装置に含まれる機器名が列挙されている。また、図１０Ｇ及び図１０Ｈに関して、縦方向は、情報処理装置名と、該情報処理装置に接続されている通信路名とが列挙されている。また、図１０Ａ、及び、図１０Ｃ乃至図１０Ｈに関しては、矢印の方向の順に該データ（信号）が進むことを表す。
【０１１２】
たとえば、図１０ＡにおけるＬ１行は、情報処理装置の名称としてマスタ、及び、信号の名称としてリクエストが記載されている。したがって、Ｌ１行は、マスタが送受信するリクエストに関する処理であることを表すので、時刻１にて、マスタ（Ｌ１行）は、リクエスト１を処理する。たとえば、Ｌ１行において、時刻１には、１（時刻１にて示された列の値）が記載されている。Ｌ１行及びＬ２行を参照することにより、これは、マスタ４０２が、時刻１にて、スレーブＡにリクエスト１を送信することを表す。さらに、たとえば、Ｌ１行の時刻２には、２（時刻２にて示された列の値）が記載されている。Ｌ１行及びＬ２行を参照することにより、これは、マスタ４０２が、時刻１にて、スレーブＡにリクエスト２を送信することを表す。すなわち、時刻２にて、スレーブＡのリクエストが１なので、これは、マスタからリクエスト１が伝搬したことを表す。同様に、リクエスト１は、時刻３にて、スレーブＢまで到達する。図１０Ａにおける○を付した数字は、リクエストが受信されたことを表すので、時刻４にてリクエスト１は、スレーブＣにて受信される。
【０１１３】
たとえば、図１０ＡにおけるＬ２行は、情報処理装置の名称としてスレーブＡ、及び、信号の名称としてリクエストが記載されている。したがって、Ｌ２行は、スレーブＡが送受信するリクエストに関する処理であることを表す。たとえば、Ｌ２行において、時刻２には、１（時刻２にて示された列の値）が記載されている。Ｌ１行乃至Ｌ３行を参照することにより、これは、スレーブＡが、時刻２にて、マスタ４０２が送信したリクエスト１を受信し、スレーブＢに受信したリクエスト１を送信することを表す。さらに、たとえば、Ｌ２行において、時刻３には、２（時刻３にて示された列の値）が記載されている。Ｌ１行乃至Ｌ３行を参照することにより、これは、スレーブＡが、時刻３にて、マスタ４０２が送信したリクエスト２を受信し、スレーブＢに受信したリクエスト２を送信することを表す。
【０１１４】
たとえば、図１０ＢにおけるＬ１２行は、情報処理装置の名称としてスレーブＣ、及び、スレーブＣが有する計測部が記載されている。Ｌ１２行は、スレーブＣが有する計測部における処理にて計測する値を表す。また、たとえば、Ｌ１２行の時刻４に、９が記載されている。これは、スレーブＣが有する計測部が、時刻４にて、９という数値を計測することを表す。また、Ｌ１３行の時刻６に、２が記載されている。これは、スレーブＤが有する計測部が、時刻６にて、２という数値を計測することを表す。
【０１１５】
まず、マスタ４０２は、時刻１にて、バス４０３−ＭＡを介して、リクエスト１をスレーブＡ（図１０ＡにおけるＬ２行）に送信する（図１０ＡにおけるＬ１行の時刻１）。スレーブＡは、時刻２にて、バス４０３−ＭＡを介してリクエスト１を受信し、バス４０３−ＡＢを介して、リクエスト１をスレーブＢ（図１０ＡにおけるＬ３行）に送信する（図１０ＡにおけるＬ２行の時刻２）。スレーブＢは、時刻３にて、バス４０３−ＡＢを介してリクエスト１を受信し、バス４０３−ＢＣを介して、リクエスト１をスレーブＣ（図１０ＡにおけるＬ４行）に送信する（図１０ＡにおけるＬ３行の時刻３）。スレーブＣは、時刻４にて、バス４０３−ＢＣを介してリクエスト１を受信する（図１０ＡにおけるＬ４行の時刻４）。この例では、マスタ４０２が送信したリクエストは、経由するバスの本数に応じた期間を経て、送信先であるスレーブに到達する。
【０１１６】
次に、スレーブＣは、バス４０３−ＢＣを介してリクエスト１を受信するのに応じて、バス４０４に関して、バス４１５−ＤＣを介して受信したバス情報（通信路情報）を記憶しているバス情報記憶部（「バス情報１Ｆ」と表す）から値を読み取る。スレーブＣは、読み取った値に基づき、バス４０４が使用されているか否かを判定する。さらに、スレーブＣは、バス４０４に関して、バス４１６−ＢＣを介して受信したバス情報を記憶しているバス情報記憶部（「バス情報１Ｂ」と表す）から値を読み取る。スレーブＣは、読み取った値に基づき、バス４０４が使用されているか否かを判定する。スレーブＣは、いずれのバス情報においても、バス４０４が使用されていないことを表す場合に、バス４０４を介して、リクエスト１に応じた通信処理を開始する（図１０Ｇにおける第Ｌ５５行おける時刻４）。スレーブＣは、いずれかのバス情報において、バス４０４が使用されていることを表す場合に、バス４０４を介して、リクエスト１に応じた通信処理を開始しない。この例の場合に、２つのバス情報は、いずれも、時刻４にて、バス４０４が使用されていないことを表すので、スレーブＣは、時刻４にて、バス４０４−ＣＢを介して１つの要素をスレーブＢに送信する（図１０ＧにおけるＬ５５行の時刻４）。
【０１１７】
一方、スレーブＣにおける計測部（図１０ＢにおけるＬ１２行）は、ある時刻において、スレーブＣが送信する対象である送信データの要素数を計測する。該計測部は、時刻４にて、リクエスト１に応じて９個なる要素数を計測する（図１０ＢにおけるＬ１２行の時刻４）。以降、計測部は、スレーブＣが、バス４０４−ＣＢを介して１つの要素をスレーブＢに送信するのに応じて、該要素数を１つ減じる（図１０ＢにおけるＬ１２行の時刻５乃至１２）。したがって、リクエスト１が９個の要素を含むデータに関するリクエストであるので、計測部は、時刻１３にて、０個なる要素数を計測する（図１０ＢにおけるＬ１２行の時刻１３）。
【０１１８】
スレーブＣは、該要素数に基づき、バス４０４に関する通信路情報を作成する。たとえば、スレーブＣは、通信処理を開始した後に、該要素数が３以上である場合に、該バス４０４が使用されていることを表す通信路情報を作成する。また、スレーブＣは、通信処理を開始した後に、該要素数が３未満である場合に、バス４０４が使用されていないことを表す通信路情報を作成する。たとえば、通信路情報の値が１の場合には、該バス４０４が使用されていることを表し、通信路情報の値が０の場合には、バス４０４が使用されていないことを表す。
【０１１９】
上述した例の場合に、スレーブＣは、時刻４にて通信処理を開始していないので、バス４０４が使用されていないことを表す第１通信路情報を作成する（図１０ＣにおけるＬ２０行の時刻４）。スレーブＣは、時刻５にて通信処理を実行し、さらに、該要素数が３以上であるので、バス４０４が使用されていることを表す第１通信路情報を作成する（図１０ＣにおけるＬ２０行の時刻５）。スレーブＣは、時刻１０にて、該要素数が３以上（図１０ＢにおけるＬ１２行の時刻１０）であるので、バス４０４が使用されていることを表す第１通信路情報を作成する（図１０ＣにおけるＬ２０行の時刻１０）。また、スレーブＣは、時刻１１にて、該要素数が３未満（図１０ＢにおけるＬ１２行の時刻１１）であるので、バス４０４が使用されていないことを表す第１通信路情報を作成する（図１０ＣにおけるＬ２０行の時刻１１）。
【０１２０】
スレーブＣは、作成した第１通信路情報をバス情報１Ｂに格納し、さらに、作成した第１通信路情報を、バス４１６−ＣＤを介してスレーブＤに送信する（図１０ＣにおけるＬ２０行の時刻４）。スレーブＤは、バス４１６−ＣＤを介して該第１通信路情報を受信し、受信した第１通信路情報をバス情報１Ｂに格納し、さらに、受信した第１通信路情報を、バス４１６−ＤＥを介してスレーブＥに送信する（図１０ＣにおけるＬ２１行の時刻５）。
【０１２１】
この例において、通信路情報は、通信処理を開始した後に１に設定されるので、時刻４にて０である。通信路情報は、通信処理を開始しているので、時刻５にてスレーブＤに伝搬した場合に１に設定される（図１０ＣにおけるＬ２１行の時刻５）。
【０１２２】
以降、同様に、スレーブＥは、バス４１６−ＤＥを介して第１通信路情報を受信し、受信した第１通信路情報をバス情報１Ｂに格納し、受信した第１通信路情報を、バス４１６−ＥＦを介して送信先のスレーブＦに送信する（図１０ＣにおけるＬ２２行の時刻６）。すなわち、スレーブＣがバス４１６−ＣＤを介して送信した第１通信路情報、バス４１６を介して、スレーブＤ、スレーブＥ、スレーブＦ、スレーブＧ、及び、スレーブＨに順次伝搬する。すなわち、該バス情報は、単方向バスを介して、スレーブＤ乃至スレーブＨにブロードキャスト（放送）される。
【０１２３】
さらに、スレーブＣは、計測部が計測した要素数に基づき、バス４１５を介して送信する第２通信路情報を作成する（図１０ＤにおけるＬ３１行）。たとえば、スレーブＣは、通信処理を開始した後に、該要素数が１以上である場合に、バス４０４が使用されていることを表す第２通信路情報を作成する。また、スレーブＣは、通信処理を開始した後に、該要素数が１未満である場合に、バス４０４が使用されていないことを表す第２通信路情報を作成する（図１０ＤにおけるＬ３１行）。
【０１２４】
上述した例の場合に、スレーブＣは、時刻４にて通信処理を開始していないので、バス４０４が使用されていないことを表す第２通信路情報を作成する（図１０ＤにおけるＬ３１行の時刻４）。スレーブＣは、時刻５にて通信処理を実行し、さらに、該要素数が１以上であるので、バス４０４が使用されていることを表す第２通信路情報を作成する（図１０ＤにおけるＬ３１行の時刻５）。スレーブＣは、時刻１２にて、該要素数が１以上であるので、バス４０４が使用されていることを表す第２通信路情報を作成する（図１０ＤにおけるＬ３１行の時刻４乃至１２）。また、スレーブＣは、時刻１３にて、該要素数が１未満であるので、バス４０４が使用されていないことを表す第２通信路情報を作成する（図１０ＤにおけるＬ３１行の時刻１３）。
【０１２５】
スレーブＣは、作成した第２通信路情報を、バス４１５−ＣＢを介してスレーブＢに送信する（図１０ＤにおけるＬ３１行の時刻４乃至１２）。スレーブＢは、バス４１５−ＣＢを介して該第２通信路情報を受信し、受信した第２通信路情報を、バス４１５−ＢＡを介してスレーブＡに送信する（図１０ＤにおけるＬ３２行の時刻５乃至１３）。スレーブＡは、バス４１５−ＢＡを介して、該第２通信路情報を受信する（図１０ＤにおけるＬ３３行の時刻６乃至１４）。すなわち、スレーブＣがバス４１５−ＣＢを介して送信した第２通信路情報は、バス４１５を介して、スレーブＢ、及び、スレーブＡに順次伝搬する。すなわち、該バス情報は、バス４１５を介して、スレーブＢ及びスレーブＡにブロードキャストされる。
【０１２６】
一方、マスタ４０２は、時刻２にて、バス４０３−ＭＡを介してリクエスト２をスレーブＡに送信する（図１０ＡにおけるＬ１行の時刻２）。スレーブＡは、時刻３にて、バス４０３−ＭＡを介してリクエスト２を受信し、リクエスト２を、バス４０３−ＡＢを介してスレーブＢに送信する（図１０ＡにおけるＬ２行の時刻３）。以降、リクエスト１と同様に、スレーブＤは、時刻６にて、バス４０３−ＣＤを介してリクエスト２を受信する（図１０ＡにおけるＬ５行の時刻６）。
【０１２７】
次に、スレーブＤは、バス４０３−ＣＤを介してリクエスト２を受信するのに応じて、バス４０４に関するバス情報１Ｂを参照し、バス４０４が使用されているか否かを判定する。さらに、スレーブＤは、バス４０４に関するバス情報１Ｆを参照し、バス４０４が使用されているか否かを判定する。上述した例の場合に、時刻６にてバス４０４が使用されていることを通信路情報が表すので（図１０ＣにおけるＬ２１行の時刻６）、スレーブＤは、バス４０４が使用されていると判定する。
【０１２８】
この場合に、スレーブＤは、バス４０５に関して、バス４１２−ＥＤから受信したバス情報（通信路情報）を記憶しているバス情報記憶部（「バス情報２Ｂ」と表す）を参照し、バス４０５が使用されているか否かを判定する。同様に、スレーブＤは、バス４０５に関して、バス４１３−ＣＤから受信したバス情報（通信路情報）を記憶しているバス情報記憶部（「バス情報２Ｆ」と表す）を参照し、バス４０５が使用されているか否かを判定する。上述した例の場合に、いずれのバス情報も、バス４０５が使用されていないことを表すので（図１０ＥにおけるＬ３７行の時刻６、図１０ＦにおけるＬ４６行の時刻６）、スレーブＤは、バス４０５が使用されていないと判定する。したがって、スレーブＤは、バス４０５を介して、リクエスト２に応じた通信処理を開始する（図１０ＨにおけるＬ６２行の時刻６）。
【０１２９】
以降、上述した処理と同様に、スレーブＤは、バス情報を送信する処理、及び、要素を送信する処理等を実行する。
【０１３０】
マスタ４０２は、時刻３にて、バス４０３−ＭＡを介してリクエスト３をスレーブＡに送信する（図１０ＡにおけるＬ１行の時刻３）。スレーブＡは、時刻４にて、バス４０３−ＭＡを介してリクエスト３を受信し、リクエスト３を、バス４０３−ＡＢを介してスレーブＢに送信する（図１０ＡにおけるＬ２行の時刻４）。以降、リクエスト１と同様に、スレーブＥは、時刻８にて、バス４０３を介してリクエスト３を受信する（図１０ＡにおけるＬ６行の時刻８）。
【０１３１】
スレーブＥは、リクエスト３を受信するのに応じて、バス４０４に関するバス情報１Ｂを参照し、バス４０４が使用されているか否かを判定する（図１０ＣにおけるＬ２２行の時刻８）。さらに、スレーブＥは、バス４０５に関するバス情報１Ｆを参照し、バス４０４が使用されているか否かを判定する（図１０ＤにおけるＬ２９行の時刻８）。上述した例の場合に、バス情報１Ｂが記憶する値は、バス４０４が使用されていることを表すので、スレーブＥは、バス４０４が使用されていると判定する。さらに、スレーブＥは、バス情報２Ｂ、及び、バス情報２Ｆにおける値に基づき、上述した判定を実行する（図１０ＥにおけるＬ３８行の時刻８、図１０ＦにおけるＬ４５行の時刻８）。
【０１３２】
上述した例の場合に、バス情報１Ｂにおけるバス情報は、バス４０４が使用されていることを表す（図１０ＣにおけるＬ２２行の時刻８）。また、バス情報２Ｆにおけるバス情報は、バス４０５が使用されていることを表す（図１０ＥにおけるＬ３８行の時刻８）。バス４０４、及び、バス４０５がいずれも使用されているので、スレーブＥは、時刻８にて、リクエスト３に応じた通信処理を保留する。スレーブＥは、通信処理を保留している期間に、バス情報１Ｂ、バス情報１Ｆ、バス情報２Ｂ、及び、バス情報２Ｆにおけるバス情報を読み取る処理を繰り返すことにより、バス４０４またはバス４０５が使用されなくなるのを待ってもよい。
【０１３３】
時刻９にて、バス４０５に関するバス情報２Ｆは、バス４０５が使用されていないことを表す（図１０ＥにおけるＬ３８行の時刻９）。また、時刻９にて、バス４０５に関するバス情報２Ｂは、バス４０５が使用されていないことを表す（図１０ＦにおけるＬ４５行の時刻９）。したがって、バス４０５に関するバス情報２Ｆ及びバス情報２Ｂは、いずれも、バス４０５が使用されていないことを表す。したがって、スレーブＥは、時刻９にて、バス４０５が使用されていないと判定するので、バス４０５を介してリクエスト３に応じた通信処理を開始する（図１０ＨにおけるＬ６３行の時刻９）。
【０１３４】
次に、第４の実施形態に係る情報処理システムに関する効果について説明する。
【０１３５】
本実施形態に係る情報処理システム４０１によれば、短期間に通信処理を完了することができる。
【０１３６】
図１１、図１２Ａ乃至図１２Ｄを参照しながら、本実施形態に係る情報処理システム４０１が、一般的な情報処理システム４３１と比べて短期間に通信を完了する理由について説明する。図１１は、一般的な情報処理システム４３１が有する構成を示すブロック図である。図１２Ａ乃至図１２Ｄは、一般的な情報処理システム４３１における処理の流れを示すタイミングチャートである。説明の便宜上、図１２Ａ乃至図１２Ｄに例示する信号は、リクエストに付された番号を用いて表すとする。
【０１３７】
尚、図１２Ａ及び図１２Ｂは、図１０Ａと同様の図である。図１２Ｃ及び図１２Ｄは、図１０Ｇ及び図１０Ｈと同様の図である。このため、図１２Ａ乃至図１２Ｄに関する詳細な説明を省略する。
【０１３８】
情報処理システム４３１は、マスタ４３２と、複数のスレーブと、通信路（すなわち、複数のバス）とを含む。マスタ４３２とスレーブとの間、及び、複数のスレーブ間においては、上述したバスを介して通信接続可能である。
【０１３９】
図１１に示す例において、情報処理システム４３１は、通信可能なリング状に接続された通信路を有する。また、通信路は、１つの方向のみに通信可能なバスと、該方向とは反対方向または略反対方向のみに通信可能なバスとを含む。
【０１４０】
説明の便宜上、情報処理システムは、スレーブＡ乃至スレーブＨなる８台のスレーブを含むとする。また、マスタ４３２は、上述したリクエスト１乃至リクエスト３を送信するとする。
【０１４１】
まず、マスタ４３２は、時刻１にて、バス４３３−ＭＡを介して、リクエスト１をスレーブＡに送信する（図１２ＡにおけるＲ１行の時刻１）。各スレーブが上述した処理を実行することにより、スレーブＣは、時刻４にて、バス４３３−ＢＣを介して、スレーブＢからリクエスト１を受信する（図１２ＡにおけるＲ４行の時刻４）。
【０１４２】
スレーブＣは、バス４３３−ＢＣを介してリクエスト１を受信するのに応じて、バス４３５−ＣＢを介して９個の要素からなるデータの送信処理を開始する。すなわち、スレーブＣは、時刻４にて、バス４３５−ＣＢを介して１個目の要素をスレーブＢに送信する（図１２ＣにおけるＲ２４行の時刻４）。スレーブＢは、時刻５にて、バス４３５−ＣＢを介して該要素を受信し、受信した該要素を、バス４３５−ＢＡを介してスレーブＡに送信する（図１２ＣにおけるＲ２５行の時刻５）。スレーブＡは、時刻６にて、バス４３５−ＢＡを介して該要素を受信し、受信した該要素を、バス４３５−ＡＭを介してマスタ４３２に送信する（図１２ＣにおけるＲ２６行の時刻６）。以降同様に、スレーブＡ乃至スレーブＣは、９個目の要素を送信する時刻１２まで、同様の処理を繰り返す（図１２ＣにおけるＲ２４行の時刻４乃至１２）。
【０１４３】
一方、マスタ４３２は、スレーブＣが通信処理を終了する時刻、及び、マスタ４３２からバス４３３を介してスレーブＤにリクエストが到達する期間に基づいて、バス４３３−ＭＡを介してリクエスト２を送信する。この例において、スレーブＣが送信処理を終了する時刻は時刻１２（図１２ＣにおけるＲ２４行の時刻１２）であり、マスタ４３２からバス４３３を介してスレーブＤにリクエストが到達するのに要する期間は４である。この場合に、スレーブＣは、時刻１３以降にバス４３５−ＣＢを介して、リクエスト２に関する通信処理を完了することができる。
【０１４４】
スレーブＤからバス４３５−ＤＣを介してスレーブＣにデータが到達するのに要する期間は１であるので、スレーブＤは、バス４３５−ＤＣを介して、時刻１２（＝１３−１）にてリクエスト２に応じた通信処理を開始することができる。したがって、マスタ４３２は、時刻８（＝１２−４）に、バス４３３−ＭＡを介してリクエスト２を送信する（図１２ＡにおけるＲ１行の時刻８）。すなわち、マスタ４３２は、バス４３５を介する通信処理が実行されなくなる時刻を予測することにより、バス４３３−ＭＡを介してリクエスト２を送信する（図１２ＡにおけるＲ１行の時刻８）。
【０１４５】
スレーブＤは、時刻１２に、バス４３３−ＣＤを介してリクエスト２を受信するのに応じて、バス４３５−ＤＣを介して、リクエスト２に応じた通信処理を開始する（図１２ＣにおけるＲ２４行の時刻１２）。
【０１４６】
次に、マスタ４３２は、時刻９に、バス４３５を介して、リクエスト３に応じた通信処理が実行可能であるか否かを予測する。時刻９に、リクエスト２に応じた通信処理がバス４３５を介して実行されている（図１２ＣにおけるＲ２４行の時刻９）ので、マスタ４３２は、バス４３５を介して、リクエスト３に応じた通信処理が、時刻９にて実行することができないと判定する。この場合に、マスタ４３２は、バス４３６を介して、リクエスト３に応じた通信処理が実行可能であるか否かを予測する。時刻９にてバス４３６を介して通信処理が実行されていない（図１２Ｄにおける時刻９）ので、マスタ４３２は、時刻９に、バス４３４−ＭＨを介してリクエスト３をスレーブＨに送信する（図１２ＢにおけるＲ１０行の時刻９）。
【０１４７】
以降、各スレーブが、バス４３４を介してリクエスト３を送信する処理を実行する（図１２ＢにおけるＲ１１行の時刻１０、Ｒ１２行の時刻１１、Ｒ１３行の時刻１２、及び、Ｒ１４行の時刻１３）。その後、スレーブＥは、時刻１３に、バス４３４−ＦＥを介してリクエスト３を受信し、バス４３６−ＥＦを介して、リクエスト３に応じた通信処理を開始する（図１２ＤにおけるＲ３２行の時刻１３）。この結果、リクエスト３に応じた通信処理は、時刻２３に完了する（図１２ＤにおけるＲ３５行の時刻２３）。
【０１４８】
上述したように、マスタ４３２は、バスを介した通信処理が実行されなくなる時刻を予測し、予測した時刻に基づいてリクエストを送信することにより、情報処理システム４３１において実行される通信処理を制御する。マスタ４３２が予測する時刻が必ずしも正しいとは限らないので、マスタ４３２は、情報処理システム４３１において実行される通信処理を効率よく制御するとは限らない。
【０１４９】
一方、上述したように、本実施形態に係る情報処理システム４０１は、通信路が使用されているか否かを表す通信路情報に基づき通信を制御する結果、時刻２０に通信処理を完了する。したがって、本実施形態に係る情報処理システム４０１によれば、短期間に通信処理を完了することができる。
【０１５０】
尚、上述した本発明の各実施形態において、通信路は、バスであるとして説明した。しかし、通信路は、たとえば、情報処理装置を１対１に通信接続可能な通信線であってもよい。すなわち、通信路は、ポイントツーポイント状に接続される通信線であってもよい。
【０１５１】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１５２】
１０１    通信処理装置
１０２    中継部
１０３    通信部
１１０    情報処理装置
１１１    通信路
１１２    情報処理装置
１１３    情報処理装置
１１４    情報処理システム
１２１    通信処理装置
１２３    通信部
１２４    情報処理装置
１２５    通信路
１２７    情報処理システム
１３１    通信処理装置
１３３    通信部
１３４    情報処理装置
１３５    通信路
１３６    通信路
１３７    情報処理システム
１４１    通信処理装置
１４４    計測部
１４５    通信路情報記憶部
１４６    情報処理装置
１４７    情報処理システム
４０１    情報処理システム
４０２    マスタ
４０３    バス
４０４    バス
４０５    バス
４１２    バス
４１３    バス
４１５    バス
４１６    バス
４１８    スレーブ
４１９    スレーブ
４２０    スレーブ
４３１    情報処理システム
４３２    マスタ
４３３    バス
４３４    バス
４３５    バス
４３６    バス
【図１】
2016139300.tif 000003
【図２】
2016139300.tif 000004
【図３】
2016139300.tif 000005
【図４】
2016139300.tif 000006
【図５】
2016139300.tif 000007
【図６】
2016139300.tif 000008
【図７】
2016139300.tif 000009
【図８】
2016139300.tif 000010
【図９】
2016139300.tif 000011
【図１０Ａ】
2016139300.tif 000012
【図１０Ｂ】
2016139300.tif 000013
【図１０Ｃ】
2016139300.tif 000014
【図１０Ｄ】
2016139300.tif 000015
【図１０Ｅ】
2016139300.tif 000016
【図１０Ｆ】
2016139300.tif 000017
【図１０Ｇ】
2016139300.tif 000018
【図１０Ｈ】
2016139300.tif 000019
【図１１】
2016139300.tif 000020
【図１２Ａ】
2016139300.tif 000021
【図１２Ｂ】
2016139300.tif 000022
【図１２Ｃ】
2016139300.tif 000023
【図１２Ｄ】
2016139300.tif 000024