JP2016139300A - 通信処理装置、通信処理方法、及び、情報処理システム - Google Patents

通信処理装置、通信処理方法、及び、情報処理システム Download PDF

Info

Publication number
JP2016139300A
JP2016139300A JP2015014213A JP2015014213A JP2016139300A JP 2016139300 A JP2016139300 A JP 2016139300A JP 2015014213 A JP2015014213 A JP 2015014213A JP 2015014213 A JP2015014213 A JP 2015014213A JP 2016139300 A JP2016139300 A JP 2016139300A
Authority
JP
Japan
Prior art keywords
communication path
information
communication
processing apparatus
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015014213A
Other languages
English (en)
Inventor
貴彦 上杉
Takahiko Uesugi
貴彦 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2015014213A priority Critical patent/JP2016139300A/ja
Publication of JP2016139300A publication Critical patent/JP2016139300A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】短期間に通信処理を完了する通信処理装置、方法及びシステムを提供する。【解決手段】通信処理装置101は、通信路111を介して情報処理装置110から、転送データと、通信路111が使用中か否かを表す通信路情報とを受信し、情報処理装置113に送信する中継部102と、送信データを送信するリクエストに応じて、通信路情報により、通信路111が使用中か否かを判定し、使用中でない場合に、通信路111が使用中を表す通信路情報を作成して情報処理装置110及び情報処理装置113に送信し、送信データを情報処理装置110又は情報処理装置113の少なくとも一方に送信し、送信処理が終了するのに応じて、通信路111が使用中でないことを表す通信路情報を作成して情報処理装置110及び情報処理装置113に送信し、通信路111が使用中の場合に、通信路111を介して該送信データを送信しない通信部103とを有する。【選択図】図1

Description

本発明は、たとえば、複数の情報処理装置間における通信を制御する通信処理装置等に関する。
複数のプロセッサ間、または、プロセッサと主記憶装置(メモリ)との間における通信接続を実現する方式として、クロスバースイッチ方式と、リングバス方式とが知られている。
クロスバースイッチ方式においては、たとえば、複数のプロセッサにおける各プロセッサに関する通信接続を実現する経路(「第1バー」と表す)と、複数のメモリにおける各メモリに関する通信接続を実現する経路(「第2バー」と表す)が設置される。第1バーと、第2バーとの交点には、通信接続を切り替えるスイッチが設置される。クロスバースイッチ方式においては、スイッチを切り替えることにより、プロセッサと、メモリとの間の通信接続を実現する。
一方、リングバス方式は、複数のプロセッサと、複数のメモリとの間を、環状(リング状)に通信経路(パス、以降、「経路」と表す)を接続することにより、プロセッサと、メモリとの間における通信を実現する方式である。通信経路は、複数であってもよい。リングバス方式は、通信接続の全体を制御するマスタと、該マスタが決定する制御に従い通信処理を実行する、複数のスレーブとを用いて実現する。
たとえば、特許文献1乃至特許文献4は、複数の情報処理装置(プロセッサ)が相互に通信接続された情報処理システムについて開示する。
特許文献1は、バスを制御可能なバスマスタが複数存在する情報処理装置であっても、該複数のバスマスタの間において、バスを使用する権利を調停する必要がない多重バスシステムを開示する。該多重バスシステムは、機能ブロックと、該機能ブロックに接続されたバスインターフェースモジュール(モジュール)とを有する。該多重バスシステムにおいて、複数のモジュールは、該モジュールの下流側及び上流側において、異なるモジュールに互いに直列に接続する。
尚、バスが一方向のみにデータ(情報)を送信可能である場合に、上流側は、該方向とは反対の方向に通信接続されているモジュールを表す。また、下流側は、該方向と同じ方向に通信接続されているモジュールを表す。
該モジュールは、機能ブロックの入力リンクを、自モジュールの下流側に位置するモジュールの出力リンク、または、機能ブロックの反対側の出力リンクに接続する。また、該モジュールは、自モジュールの上流側に位置するモジュールの入力リンクを、該機能ブロック側の出力リンク、または、自モジュールの下流側に位置するモジュールの出力リンクに接続する。また、該モジュールは、該機能ブロックの反対側の入力リンクを該機能ブロックの出力リンクに接続する。
特許文献2は、リングバス方式に従い通信接続された複数のプロセッサを有するマルチプロセッサシステムにおいて、複数のプロセッサ間における転送時間を所定の時間よりも短くすることができるマルチプロセッサシステムを開示する。マルチプロセッサシステムにおいて、バス制御部は、1つのプロセッサが送信する指示(命令)に基づき、応答信号(リプライ)または要求信号(リクエスト)を信号用リングバスに送信する。また、バス制御部は、信号用リングバスを介して自制御部宛ての要求信号、または、応答信号を受信し、その後、所定の時間を経過した後に、データ用リングバスを介して、データを送受信する。
特許文献3は、中央演算処理装置(CPU)モジュールにおいて実行される処理を、リングバス方式に従い通信接続されている複数のCPUモジュールの間において、同期を取りながら入出力処理を実行する入出力制御方式を開示する。該入出力制御方式において、シリアルリンクを制御する大規模集積回路(LSI)は、リングバスの転送速度に合致するように、一定間隔にて、CPUモジュールにて実行されている実行プロセッサに割り込み信号を送信する。実行プロセッサは、該割り込み信号を受信するのに応じて、入出力モジュールに対する入出力処理を実行する。
特許文献4は、フォールトトレラントな並列処理装置を開示する。該並列処理装置は、複数のプロセッサと、該プロセッサ間において通信接続可能なリングバスとを有する。該リングバスは、ある一方向のみに通信接続することが可能な単方向バスを2本有する。該リングバスにおいて、単方向バスは、相互に異なる方向に通信接続する。複数のプロセッサのうち、2台のプロセッサは、外部との入出力処理を実行する入出力プロセッサである。1つの入出力プロセッサは、他方の入出力プロセッサが故障したと判定する場合に、該他方の入出力プロセッサが実行する入出力処理を実行する。
特開2008−181424号公報 特開2004−086798号公報 特開平11−338523号公報 特開平10−124338号公報
特許文献1乃至特許文献4に開示されるシステムにおいて、マスタは、通信処理に関する制御を実行する。マスタは、リングバスが使用されなくなるタイミングを予測し、該予測したタイミングに基づいて、通信処理に関するリクエストを、スレーブに送信する。このようなシステムにおいて、予測されたタイミングが、必ずしも、正しいとは限らない。このようなシステムにおいて、たとえば、後続するリクエストは、先行するリクエストが発行されるまで、発行することができない。したがって、このような場合においては、実行すべき通信処理を短期間に完了することができない。
そこで、本発明の主たる目的は、短期間に通信処理を完了する通信処理装置等を提供することである。
前述の目的を達成するために、本発明の一態様において、通信処理装置は、
通信路を介して隣接している第1情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第2情報処理装置に送信する中継手段と、
送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第1情報処理装置及び前記第2情報処理装置に送信し、前記通信路を介して前記送信データを前記第1情報処理装置または前記第2情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第1情報処理装置及び前記第2情報処理装置に送信し、
前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない通信手段と
を備える。
また、本発明の他の見地として、通信処理方法は、
情報処理装置が、通信路を介して隣接している第1情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第2情報処理装置に送信し、送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第1情報処理装置及び前記第2情報処理装置に送信し、前記通信路を介して前記送信データを前記第1情報処理装置または前記第2情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第1情報処理装置及び前記第2情報処理装置に送信し、
前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない。
本発明に係る通信処理装置等によれば、短期間に通信処理を完了することができる。
本発明の第1の実施形態に係る通信処理装置が有する構成を示すブロック図である。 第1の実施形態に係る通信処理装置における処理の流れを示すフローチャートである。 第1の実施形態に係る通信処理装置が有する構成を示すブロック図である。 本発明の第2の実施形態に係る通信処理装置が有する構成を示すブロック図である。 第2の実施形態に係る通信処理装置における処理の流れを示すフローチャートである。 本発明の第3の実施形態に係る通信処理装置が有する構成を示すブロック図である。 第3の実施形態に係る通信処理装置における処理の流れを示すフローチャートである。 本発明の第4の実施形態に係る情報処理システム401が有する構成を示すブロック図である。 通信路が有する構成の一例を示すブロック図である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その1)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その2)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その3)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その4)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その5)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その6)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その7)である。 第4の実施形態に係る情報処理システムにおける処理の流れを示すタイミングチャート(その8)である。 一般的な情報処理システムが有する構成を示すブロック図である。 一般的な情報処理システムにおける処理の流れを示すタイミングチャート(その1)である。 一般的な情報処理システムにおける処理の流れを示すタイミングチャート(その2)である。 一般的な情報処理システムにおける処理の流れを示すタイミングチャート(その3)である。 一般的な情報処理システムにおける処理の流れを示すタイミングチャート(その4)である。
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
本発明の第1の実施形態に係る通信処理装置101が有する構成について、図1を参照しながら詳細に説明する。図1は、本発明の第1の実施形態に係る通信処理装置101が有する構成を示すブロック図である。
第1の実施形態に係る通信処理装置101は、中継部102と、通信部103とを有する。
情報処理装置112は、通信処理装置101を有する。さらに、情報処理装置112は、通信路111を介して、情報処理装置110、及び、情報処理装置113と通信することができる。また、情報処理システム114は、情報処理装置110と、情報処理装置112と、情報処理装置113と、通信路111とを含む。
情報処理システム114において、情報処理装置112は、情報処理装置110及び情報処理装置113と、通信路111を介して信号等を送受信することができる。一方、情報処理システム114において、情報処理装置113は、通信路111を介して、情報処理装置112と通信することができる。すなわち、図1に示す例において、情報処理装置113は、情報処理装置112を経由しなければ、情報処理装置110と通信することができない。すなわち、図1に示す例において、情報処理装置113は、直接、情報処理装置110と通信することができない。
たとえば、通信路111は、通信ネットワークであってもよいし、信号等を送受信する配線(バス)等であってもよい。
説明の便宜上、情報処理装置110は、通信路111を介して、情報処理装置112(または、情報処理装置113)に、通信処理等を実行するリクエストを送信するとする。情報処理装置112(または、情報処理装置113)は、該リクエストを受信するのに応じて、通信処理を開始することができる。図1に示す例において、情報処理システム114は、3台の情報処理装置を有するが、必ずしも3台でなくともよい。また、ある情報処理装置が、通信路111を介して、直接、通信することができることを、「隣接している」と表す。図1に示す例において、情報処理装置112は、情報処理装置110及び情報処理装置113に隣接している。一方、情報処理装置113は、情報処理装置112に隣接しているが、情報処理装置110には隣接していない。
まず、情報処理装置112が、自装置宛てのリクエストを受信しない場合における処理について説明する。
中継部102は、通信路111を介して、隣接している情報処理装置(たとえば、情報処理装置110、以降、「第1情報処理装置」と表す)から、転送対象である転送データと、通信路111が使用されているか否かを表す通信路情報とを受信する。次に、中継部102は、受信した転送データと、受信した通信路情報とを、隣接している情報処理装置(たとえば、情報処理装置113、以降、「第2情報処理装置」と表す)に送信する。
たとえば、通信路情報が表す値は、通信路111が使用されている場合に1であり、通信路111が使用されていない場合に0である。
次に、図2を参照しながら、情報処理装置112が、自装置宛てのリクエストを受信した場合における処理について詳細に説明する。図2は、第1の実施形態に係る通信処理装置101における処理の流れを示すフローチャートである。
情報処理装置110は、情報処理装置112が通信処理を実行することを要求するリクエストを、情報処理装置112に送信する。
通信部103は、該リクエストを受信し、受信したリクエストが自装置宛てであるか否かを判定する(ステップS101)。
通信部103は、受信したリクエストが自装置宛てであると判定する場合に(ステップS101にてYES)、通信路111に関する通信路情報を読み取る(ステップS102)。
通信部103は、読み取った通信路情報に基づいて、通信路111が使用されているか否かを判定する(ステップS103)。たとえば、通信部103は、通信路情報が1である場合に、通信路111が使用されていると判定する。また、たとえば、通信部103は、通信路情報が0である場合に、通信路111が使用されていないと判定する。
次に、通信部103は、通信路111が使用されていない場合に(ステップS103にてNO)、通信路111を介して、受信したリクエストに応じた通信処理を開始する。たとえば、受信したリクエストが、情報処理装置112が記憶する10個の送信データを送信するリクエストであれば、通信部103は、該送信データを隣接している情報処理装置(たとえば、情報処理装置113)に送信する(ステップS104)。尚、この場合に、通信部103は、必ずしも、隣接している情報処理装置のすべてに、送信データを送信しなくてもよく、隣接している情報処理装置のうち、少なくとも1つの情報処理装置に送信すればよい。
さらに、通信部103は、通信路111が使用されていることを表す通信路情報を作成し、通信路111を介して、作成した通信路情報を、隣接している情報処理装置(たとえば、情報処理装置113)に送信する。隣接している情報処理装置が複数である場合に、通信部103は、隣接している各情報処理装置に、作成した通信路情報を送信する(ステップS105)。
その後、通信部103は、リクエストに応じた通信処理が完了(終了)するのに応じて、通信路が使用されていないことを表す通信路情報を作成する。通信部103は、通信路111を介して、作成した通信路情報を、隣接している情報処理装置(たとえば、情報処理装置113)に送信する。
一方、ステップS101にてNOの場合には、中継部102が、上述したような処理を実行する。
また、ステップS103にてYESの場合に、通信部103は、ステップS104及びステップS105における処理を実行しない。この場合に、通信路情報は、通信路111が使用されている状態を表す。したがって、通信部103は、通信路111を介して通信処理を開始することができない。さらに、通信部103は、通信路情報に基づき、通信路111が使用されなくなるまで待ってもよい。通信部103は、通信路111が使用されていなくなった場合に、ステップS104及びステップS105における処理を実行する。
次に、第1の実施形態に係る通信処理装置101に関する効果について説明する。
通信処理装置101によれば、短期間に通信処理を完了することができる。
この理由は、実際に通信路が使用されているか否かを表す通信路情報に基づき、通信処理が制御されるからである。
通信部103は、マスタ等の情報処理装置から、送信対象である送信データを送信するリクエストを受信した場合に、通信路情報に基づいて、通信路が使用されているか否かを判定する。すなわち、通信処理装置101は、特許文献1乃至特許文献4に開示されるような通信処理装置が実行するような予測したタイミングではなく、実際に通信路が使用されているか否かに基づいて、通信処理を実行する。したがって、通信処理が実行されるタイミングが正確であるので、本実施形態に係る通信処理装置101によれば、短期間に通信処理を完了することができる。
また、特許文献1乃至特許文献4に開示される情報処理システムは、通信路を使用するか否かを通信先に確認した後に送信するリクエスト−アクノーレッジ(REQ−ACK)方式を採用する。
一方、通信処理装置101は、通信路が使用されていることを表す通信路情報を、通信路を使用するのに応じて送信する。このため、各情報処理装置は、該通信路情報に基づき、通信路が使用されているか否かを判定することができる。この結果、本実施形態に係る通信処理装置101によれば、通信先に確認する必要がないので、通信処理時間を短縮することができる。
尚、図3に示すように、各情報処理装置が、通信路111を介してリング状に通信接続されている場合であっても、上述した通信処理装置101と同様な作用により、同様の効果を享受することができる。このことについて、以下に説明する。図3は、第1の実施形態に係る通信処理装置121が有する構成を示すブロック図である。
通信処理装置121は、中継部102と、通信部123とを有する
情報処理装置124は、通信処理装置121を有する。さらに、情報処理装置112は、通信路125を介して、情報処理装置110、及び、情報処理装置113と通信することができる。また、情報処理システム127は、情報処理装置110と、情報処理装置124と、情報処理装置113と、通信路125とを含む。
上述した通信路情報は、図3に示す例において、以下の2つの通信路情報を含む。すなわち、
・通信路125に関して、情報処理装置110から受信した(情報処理装置113に送信する)通信路情報(以降、「第1通信路情報」と表す)、
・通信路125に関して、情報処理装置113から受信した(情報処理装置110に送信する)通信路情報(以降、「第2通信路情報」と表す)。
情報処理装置124が自装置宛てのリクエストを受信しない場合における処理は、情報処理装置112が自装置宛てのリクエストを受信しない場合における処理と同様である。たとえば、中継部102は、通信路125を介して、情報処理装置110から、転送データと、第1通信路情報とを受信する。中継部102は、たとえば、受信した転送データと、受信した第1通信路情報とを、情報処理装置113に送信する。上述した処理と同様に、情報処理装置124は、第2通信路情報を送受信する。
情報処理装置124が自装置宛てのリクエストを受信する場合における処理に関しても、図3に例示す処理と同様である。
通信部123は、該リクエストを受信し、受信したリクエストが自装置宛てであるか否かを判定する。
通信部123は、受信したリクエストが自装置宛てであると判定する場合に、通信路125に関する第1通信路情報と、通信路125に関する第2通信路情報とを読み取る。
通信部123は、読み取った第1通信路情報と、読み取った第2通信路情報とに基づいて、通信路125が使用されているか否かを判定する。
通信部123は、第1通信路情報及び第2通信路情報において、いずれも、通信路125が使用されていないと判定する場合に、通信路125を介して、受信したリクエストに応じた通信処理を開始する。
たとえば、通信部123は、通信路125が使用されていることを表す第1通信路情報を作成し、作成した第1通信路情報を情報処理装置113に送信する。また、通信部123は、通信路125が使用されていることを表す第2通信路情報を作成し、作成した第2通信路情報を情報処理装置110に送信する。
その後、通信部123は、通信路125を介した通信処理が完了するのに応じて、通信路125が使用されていないことを表す第1通信路情報を作成し、作成した第1通信路情報を、通信路125を介して情報処理装置113に送信する。同様に、通信部123は、通信路125を介した通信処理が完了するのに応じて、通信路125が使用されていないことを表す第2通信路情報を作成し、作成した第2通信路情報を、情報処理装置110に送信する。
通信部123は、第1通信路情報及び第2通信路情報のいずれかにおいて、通信路125が使用されていることを表す場合に、通信路125を介して、受信したリクエストに応じた通信処理を実行しない。
尚、上述した処理において、通信処理装置121は、第1通信路情報を記憶可能な第1通信路情報記憶部(不図示)と、第2通信路情報を記憶可能な第2通信路情報記憶部(不図示)とを有してもよい。この場合に、中継部102は、受信した第1通信路情報を第1通信路情報記憶部に格納し、受信した第2通信路情報を第2通信路情報記憶部に格納する。
また、通信部123は、第1通信路情報記憶部から第1通信路情報を読み取り、第2通信路情報記憶部から第2通信路情報を読み取る。通信部123は、読み取った第1通信路情報と、読み取った第2通信路情報とに基づいて、通信路125が使用されているか否かを判定する。また、通信部123は、リクエストに応じた通信処理を実行する場合に、作成した第1通信路情報を第1通信路情報記憶部に格納し、作成した第2通信路情報を第2通信路情報記憶部に格納する。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図4と図5とを参照しながら、第2の実施形態に係る通信処理装置131が有する構成と、通信処理装置131が行う処理とについて説明する。図4は、本発明の第2の実施形態に係る通信処理装置131が有する構成を示すブロック図である。図5は、第2の実施形態に係る通信処理装置131における処理の流れを示すフローチャートである。
第2の実施形態に係る通信処理装置131は、中継部102と、通信部133とを有する。
情報処理装置134は、通信処理装置131を有する。さらに、情報処理装置134は、通信路135(または、通信路136)を介して、情報処理装置110、及び、情報処理装置113と通信することができる。情報処理システム137は、情報処理装置110と、情報処理装置134と、情報処理装置113と、通信路135と、通信路136とを含む。すなわち、本実施形態において、情報処理システム137は、複数の通信路を有する。
情報処理装置134が、自装置宛てのリクエストを受信しない場合における処理は、第1の実施形態に示した処理と同様である。
情報処理装置134が、自装置宛てのリクエストを受信した場合における処理について説明する。
通信部133は、受信したリクエストが自装置宛てであると判定する場合に(ステップS101にてYES)、通信路135に関する通信路情報、及び、通信路136に関する通信路情報を読み取る(ステップS202)。
通信部133は、読み取った2つの通信路情報に基づき、通信路135、または、通信路136のうち、使用されていない通信路を選ぶ(ステップS203)。通信部133は、選んだ通信路を介して、受信したリクエストに応じた通信処理を開始する(ステップS204)。さらに、通信部133は、選んだ通信路が使用されていることを表す通信路情報を作成し、作成した通信路情報を、隣接している情報処理装置(たとえば、情報処理装置113)に送信する(ステップS205)。
その後、通信部133は、リクエストに応じた通信処理が完了(終了)するのに応じて、選んだ通信路が使用されていないことを表す通信路情報を作成し、作成した通信路情報を、隣接している情報処理装置(たとえば、情報処理装置113)に送信する。
尚、いずれの通信路も使用されていない場合に、通信部133は、少なくとも一方の通信路を選ぶ。また、いずれの通信路も使用されている場合に、通信部133は、第1の実施形態と同様に、リクエストに応じた通信処理を開始しない。または、通信部133は、いずれかの通信路が使用されなくなるのを待つ。
次に、第2の実施形態に係る通信処理装置131に関する効果について説明する。
本実施形態に係る通信処理装置131によれば、短期間に通信処理を完了することができる。さらに、本実施形態に係る通信処理装置131によれば、通信ネットワークが複数の通信路を有する場合であっても、さらに短期間に通信処理を完了することができる。
この理由は、理由1及び理由2である。すなわち、
(理由1)第2の実施形態に係る通信処理装置131が有する構成は、第1の実施形態に係る通信処理装置101が有する構成を含むからである、
(理由2)通信部133が、複数の通信路の中から、使用されていない通信路を選び、選んだ通信路を介して送信データを送信するからである。
尚、通信路135、及び、通信路136は、それぞれ、特定の方向のみにデータ(情報)を送信可能な単方向バスであってもよい。この場合に、通信路135、及び、通信路136は、相互に、逆または略逆の方向に通信接続することが可能であってもよい。
<第3の実施形態>
次に、上述した第2(または第1)の実施形態を基本とする本発明の第3の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第2の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図6と図7とを参照しながら、第3の実施形態に係る通信処理装置141が有する構成と、通信処理装置141が行う処理とについて説明する。図6は、本発明の第3の実施形態に係る通信処理装置141が有する構成を示すブロック図である。図7は、第3の実施形態に係る通信処理装置141における処理の流れを示すフローチャートである。
第3の実施形態に係る通信処理装置141は、中継部102と、通信部133と、計測部144とを有する。通信処理装置141は、さらに、通信路情報記憶部145を有してもよい。
情報処理装置146は、通信処理装置141を有する。さらに、情報処理装置146は、通信路135(または、通信路136)を介して、情報処理装置110、及び、情報処理装置113と通信することができる。情報処理システム147は、情報処理装置110と、情報処理装置146と、情報処理装置113と、通信路135と、通信路136とを含む。すなわち、本実施形態において、情報処理システム147は、複数の通信路を有する。
情報処理装置146が、自装置宛てのリクエストを受信しない場合における処理は、第1の実施形態に示した処理と同様である。
情報処理装置146が、自装置宛てのリクエストを受信した場合における処理について説明する。
通信部133は、図5に示すステップS101、ステップS202、及び、ステップS203における処理を実行する。
次に、計測部144は、受信したリクエストに基づいて、通信部133が送信対象である送信データに関するデータ量を求める(ステップS301)。たとえば、情報処理装置146が5個の要素を送信する通信処理である場合に、計測部144が計測する要素数は5である。
通信部133は、受信したリクエストに基づいて、隣接している情報処理装置に送信データの一部を送信する。計測部144は、求めたデータ量から、通信部133が送信したデータ量を引き算することにより、以降の処理において送信対象であるデータ量を求める(ステップS301)。たとえば、送信したデータが、1つの要素である場合に、計測部144は、送信対象であるデータ量として、5から1を引く処理により4を求める。
次に、計測部144は、求めたデータ量が基準を満たすか否かに基づき、選んだ通信路に関する通信路情報を作成する(ステップS302)。たとえば、計測部144は、送信対象であるデータ量が、3未満である場合に、選んだ通信路が使用されていないことを表す通信路情報を作成し、3以上である場合に、選んだ通信路が使用されていることを表す通信路情報を作成する。あるいは、計測部144は、たとえば、送信対象であるデータ量が、1未満である場合に、選んだ通信路が使用されていないことを表す通信路情報を作成し、1以上である場合に、選んだ通信路が使用されていることを表す通信路情報を作成する。
尚、計測部144は、第1通信路情報、及び、第2通信路情報に関して異なる基準に基づいて、通信路情報を作成してもよい。たとえば、計測部144は、求めたデータ量が第1基準を満たすか否かに基づいて第1通信路情報を作成し、求めたデータ量が第2基準を満たすか否かに基づいて第2通信路情報を作成してもよい。
また、計測部144は、作成した第1通信路情報、及び、作成した第2通信路情報を通信路情報記憶部145に格納してもよい。
次に、通信部133は、計測部144が作成した通信路情報(すなわち、第1通信路情報、及び、第2通信路情報)を隣接している情報処理装置に送信する(ステップS303)。
尚、計測部144は、受信したリクエストに基づいて、上述した基準を算出してもよい。たとえば、計測部144は、受信したリクエストから、送信対象であるデータ量と、送信先となる情報処理装置とを特定し、特定したデータ量と、情報処理装置146から送信先までに要する通信時間とに基づいて、基準を算出してもよい。すなわち、計測部144は、受信したリクエストから算出する通信処理に要する期間に基づいて、基準を算出してもよい。
次に、第3の実施形態に係る通信処理装置141に関する効果について説明する。
本実施形態に係る通信処理装置141によれば、短期間に通信処理を完了することができる。さらに、本実施形態に係る通信処理装置141によれば、さらに、短期間に通信処理を完了することができる。
この理由は、理由1及び理由2である。すなわち、
(理由1)第3の実施形態に係る通信処理装置141が有する構成は、第2の実施形態に係る通信処理装置131が有する構成を含むからである、
(理由2)計測部144が、データ量に基づいて、通信処理に要する期間を算出し、該期間に基づいて、通信路情報を算出するからである。
したがって、計測部144は、より正確に通信処理に要する期間を算出するので、通信路が使用されていない期間を短くすることができる。
<第4の実施形態>
次に、上述した本発明の各実施形態を基本とする本発明の第4の実施形態について説明する。
本実施形態において、情報処理システムは、主に通信を制御するマスタである情報処理装置と、該マスタから受信した命令(指示)に基づき通信処理を実行するスレーブである情報処理装置とを含む。また、マスタ及びスレーブは、本発明の各実施形態に示した通信処理装置を含む。
図8及び図9を参照しながら、第4の実施形態に係る情報処理システム401が有する構成について説明する。図8は、本発明の第4の実施形態に係る情報処理システム401が有する構成を示すブロック図である。図9は、通信路が有する構成の一例を示すブロック図である。
情報処理システム401は、マスタ402と、複数のスレーブ(たとえば、スレーブA乃至スレーブH)と、通信路(すなわち、複数のバス)とを含む。マスタ402とスレーブとの間、及び、複数のスレーブ間においては、1つの方向のみに通信可能な単方向バス(以降、「バス」と表す)を介して通信接続可能である。
図8に示す例において、情報処理システム401は、通信可能なリング状に接続された通信路を有する。該通信路は、1つの方向のみに通信可能なバスと、該方向とは反対方向または略反対方向のみにバスとを含む。すなわち、図8に示す例において、通信路は、バス405と、バス404とを含む。
以降、説明の便宜上、スレーブXと、スレーブYとが、バスZを介して隣接している場合に、そのバスZの接続構成を、バスZ−XYと表すとする。たとえば、図9に示す具体例において、スレーブXとスレーブYとを通信接続するバス403を、バス403−XYと表すとする。同様に、たとえば、スレーブYとスレーブZとを通信接続するバス403の接続構成を、バス403−YZと表す。すなわち、バス403は、バス403−XYと、バス403−YZとを含む通信接続を表すとする。また、スレーブXと、マスタとが、バスZを介して隣接している場合に、そのバスZの接続構成を、バスZ−MXと表すとする。
バス403−XYは、たとえば、スレーブ418(スレーブX)からスレーブ419(スレーブY)に、通信処理に関するリクエストを送信可能なバスを表す。
バス404−YXは、たとえば、リクエストに応じて、スレーブ419(スレーブY)からスレーブ418(スレーブX)に、通信処理に関する送信データを送信可能なバスである。バス416−XYは、たとえば、スレーブ418(スレーブX)からスレーブ419(スレーブY)に、バス404に関する通信路情報(バス情報)を送信可能なバスを表す。バス415−YXは、たとえば、スレーブ419(スレーブY)からスレーブ418(スレーブX)に、バス404に関するバス情報を送信可能なバスを表す。
バス405−XYは、たとえば、リクエストに応じて、スレーブ418からスレーブ419に、通信処理に関する送信データを送信可能なバスを表す。バス413−XYは、たとえば、スレーブ418からスレーブ419に、バス405に関する通信路情報(バス情報)を送信可能なバスを表す。バス412−YXは、たとえば、スレーブ419からスレーブ418に、バス405に関するバス情報を送信可能なバスを表す。
尚、上述した例において、スレーブ418とスレーブ419との間におけるバスを例に説明したが、スレーブ419とスレーブ420との間においても同様の構成を有する。また、通信ネットワークは、上述したバス等の通信路を含む。
説明の便宜上、通信路情報(バス情報)を、バスを介して送信するとするが、必ずしも、専用のバスを介して送信する必要はない。すなわち、バス情報は、たとえば、あるスレーブから、異なるスレーブに送信可能であれば、送信する態様は上述した例に限定されない。
説明の便宜上、情報処理システム401は、スレーブA乃至スレーブHなる8台のスレーブを含むとする。尚、スレーブの台数は、図8に例示した8台に限定されず、他の台数であってもよい。
図8及び図9を参照すると、マスタ402は、通信処理に関するリクエストを、バス403−MAを介してスレーブAに送信する。スレーブAは、バス403−MAを介して該リクエストを受信し、受信したリクエストを、バス403−ABを介してスレーブBに送信する。スレーブBは、バス403−ABを介して該リクエストを受信し、受信したリクエストを、バス403−BCを介してスレーブCに送信する。以降、同様に、マスタ402が送信したリクエストは、バス403(すなわち、バス403−CD、バス403−DE等)を介して、たとえば、スレーブHまで送信される。
また、マスタ402は、バス403−MAを介して、複数のリクエストを、順次、スレーブAに送信することができる。たとえば、マスタは、バス403−MAを介して、先発のリクエストをスレーブAに送信する。次に、スレーブAは、バス403−MAを介して、先発のリクエストを受信し、受信した先発のリクエストを、バス403−ABを介してスレーブBに送信する。その後、マスタ402は、バス403−MAを介して、後発のリクエストをスレーブAに送信することができる。同様に、送信先のスレーブが、送信元のスレーブ(または、マスタ)が送信したリクエストを受信した場合に、送信元のスレーブ(または、マスタ)は、該リクエストと異なるリクエストを送信することができる。すなわち、この場合に、マスタ402とスレーブHとの間におけるバス(バス403−MA、バス403−AB、バス403−BC等)には、複数のリクエストが存在する。
次に、マスタ402が、バス403−MAを介して、後述のリクエスト1乃至リクエスト3を送信する場合の例を用いながら、図8に示すリング状のバス構成を有する情報処理システム401が行う処理について説明する。すなわち、この例において、マスタ402が送信するリクエストは、リクエスト1乃至リクエスト3であるとする。すなわち、
(リクエスト1)スレーブCは、自装置が有する9個の要素からなるデータをマスタに送信する、
(リクエスト2)スレーブDは、自装置が有する2個の要素からなるデータをマスタに送信する、
(リクエスト3)スレーブEは、自装置が有する8個の要素からなるデータをマスタに送信する。
図10A乃至図10Hは、第4の実施形態に係る情報処理システム401における処理の流れを示すタイミングチャートである。
説明の便宜上、図10A、図10G、及び、図10Hに示す例において、各信号は、該リクエストに付した番号を用いて表示するとする。
また、説明の便宜上、マスタ402、及び、スレーブA乃至スレーブHは、情報処理システム401のシステムクロックに応動して、データ及びリクエスト等を送信するとする。
図10A乃至図10Hに関して、いずれも、横方向は時刻を表し、矢印の方向に時刻が進むことを表す。また、図10Aに関して、縦方向は、各情報処理装置の名称(第1列)、及び、複数の情報処理装置間において送受信されるデータ(信号、または、信号を伝送する装置)の名称(第2列)を表す。図10B乃至図10Fに関して、縦方向は、情報処理装置名と、該情報処理装置に含まれる機器名が列挙されている。また、図10G及び図10Hに関して、縦方向は、情報処理装置名と、該情報処理装置に接続されている通信路名とが列挙されている。また、図10A、及び、図10C乃至図10Hに関しては、矢印の方向の順に該データ(信号)が進むことを表す。
たとえば、図10AにおけるL1行は、情報処理装置の名称としてマスタ、及び、信号の名称としてリクエストが記載されている。したがって、L1行は、マスタが送受信するリクエストに関する処理であることを表すので、時刻1にて、マスタ(L1行)は、リクエスト1を処理する。たとえば、L1行において、時刻1には、1(時刻1にて示された列の値)が記載されている。L1行及びL2行を参照することにより、これは、マスタ402が、時刻1にて、スレーブAにリクエスト1を送信することを表す。さらに、たとえば、L1行の時刻2には、2(時刻2にて示された列の値)が記載されている。L1行及びL2行を参照することにより、これは、マスタ402が、時刻1にて、スレーブAにリクエスト2を送信することを表す。すなわち、時刻2にて、スレーブAのリクエストが1なので、これは、マスタからリクエスト1が伝搬したことを表す。同様に、リクエスト1は、時刻3にて、スレーブBまで到達する。図10Aにおける○を付した数字は、リクエストが受信されたことを表すので、時刻4にてリクエスト1は、スレーブCにて受信される。
たとえば、図10AにおけるL2行は、情報処理装置の名称としてスレーブA、及び、信号の名称としてリクエストが記載されている。したがって、L2行は、スレーブAが送受信するリクエストに関する処理であることを表す。たとえば、L2行において、時刻2には、1(時刻2にて示された列の値)が記載されている。L1行乃至L3行を参照することにより、これは、スレーブAが、時刻2にて、マスタ402が送信したリクエスト1を受信し、スレーブBに受信したリクエスト1を送信することを表す。さらに、たとえば、L2行において、時刻3には、2(時刻3にて示された列の値)が記載されている。L1行乃至L3行を参照することにより、これは、スレーブAが、時刻3にて、マスタ402が送信したリクエスト2を受信し、スレーブBに受信したリクエスト2を送信することを表す。
たとえば、図10BにおけるL12行は、情報処理装置の名称としてスレーブC、及び、スレーブCが有する計測部が記載されている。L12行は、スレーブCが有する計測部における処理にて計測する値を表す。また、たとえば、L12行の時刻4に、9が記載されている。これは、スレーブCが有する計測部が、時刻4にて、9という数値を計測することを表す。また、L13行の時刻6に、2が記載されている。これは、スレーブDが有する計測部が、時刻6にて、2という数値を計測することを表す。
まず、マスタ402は、時刻1にて、バス403−MAを介して、リクエスト1をスレーブA(図10AにおけるL2行)に送信する(図10AにおけるL1行の時刻1)。スレーブAは、時刻2にて、バス403−MAを介してリクエスト1を受信し、バス403−ABを介して、リクエスト1をスレーブB(図10AにおけるL3行)に送信する(図10AにおけるL2行の時刻2)。スレーブBは、時刻3にて、バス403−ABを介してリクエスト1を受信し、バス403−BCを介して、リクエスト1をスレーブC(図10AにおけるL4行)に送信する(図10AにおけるL3行の時刻3)。スレーブCは、時刻4にて、バス403−BCを介してリクエスト1を受信する(図10AにおけるL4行の時刻4)。この例では、マスタ402が送信したリクエストは、経由するバスの本数に応じた期間を経て、送信先であるスレーブに到達する。
次に、スレーブCは、バス403−BCを介してリクエスト1を受信するのに応じて、バス404に関して、バス415−DCを介して受信したバス情報(通信路情報)を記憶しているバス情報記憶部(「バス情報1F」と表す)から値を読み取る。スレーブCは、読み取った値に基づき、バス404が使用されているか否かを判定する。さらに、スレーブCは、バス404に関して、バス416−BCを介して受信したバス情報を記憶しているバス情報記憶部(「バス情報1B」と表す)から値を読み取る。スレーブCは、読み取った値に基づき、バス404が使用されているか否かを判定する。スレーブCは、いずれのバス情報においても、バス404が使用されていないことを表す場合に、バス404を介して、リクエスト1に応じた通信処理を開始する(図10Gにおける第L55行おける時刻4)。スレーブCは、いずれかのバス情報において、バス404が使用されていることを表す場合に、バス404を介して、リクエスト1に応じた通信処理を開始しない。この例の場合に、2つのバス情報は、いずれも、時刻4にて、バス404が使用されていないことを表すので、スレーブCは、時刻4にて、バス404−CBを介して1つの要素をスレーブBに送信する(図10GにおけるL55行の時刻4)。
一方、スレーブCにおける計測部(図10BにおけるL12行)は、ある時刻において、スレーブCが送信する対象である送信データの要素数を計測する。該計測部は、時刻4にて、リクエスト1に応じて9個なる要素数を計測する(図10BにおけるL12行の時刻4)。以降、計測部は、スレーブCが、バス404−CBを介して1つの要素をスレーブBに送信するのに応じて、該要素数を1つ減じる(図10BにおけるL12行の時刻5乃至12)。したがって、リクエスト1が9個の要素を含むデータに関するリクエストであるので、計測部は、時刻13にて、0個なる要素数を計測する(図10BにおけるL12行の時刻13)。
スレーブCは、該要素数に基づき、バス404に関する通信路情報を作成する。たとえば、スレーブCは、通信処理を開始した後に、該要素数が3以上である場合に、該バス404が使用されていることを表す通信路情報を作成する。また、スレーブCは、通信処理を開始した後に、該要素数が3未満である場合に、バス404が使用されていないことを表す通信路情報を作成する。たとえば、通信路情報の値が1の場合には、該バス404が使用されていることを表し、通信路情報の値が0の場合には、バス404が使用されていないことを表す。
上述した例の場合に、スレーブCは、時刻4にて通信処理を開始していないので、バス404が使用されていないことを表す第1通信路情報を作成する(図10CにおけるL20行の時刻4)。スレーブCは、時刻5にて通信処理を実行し、さらに、該要素数が3以上であるので、バス404が使用されていることを表す第1通信路情報を作成する(図10CにおけるL20行の時刻5)。スレーブCは、時刻10にて、該要素数が3以上(図10BにおけるL12行の時刻10)であるので、バス404が使用されていることを表す第1通信路情報を作成する(図10CにおけるL20行の時刻10)。また、スレーブCは、時刻11にて、該要素数が3未満(図10BにおけるL12行の時刻11)であるので、バス404が使用されていないことを表す第1通信路情報を作成する(図10CにおけるL20行の時刻11)。
スレーブCは、作成した第1通信路情報をバス情報1Bに格納し、さらに、作成した第1通信路情報を、バス416−CDを介してスレーブDに送信する(図10CにおけるL20行の時刻4)。スレーブDは、バス416−CDを介して該第1通信路情報を受信し、受信した第1通信路情報をバス情報1Bに格納し、さらに、受信した第1通信路情報を、バス416−DEを介してスレーブEに送信する(図10CにおけるL21行の時刻5)。
この例において、通信路情報は、通信処理を開始した後に1に設定されるので、時刻4にて0である。通信路情報は、通信処理を開始しているので、時刻5にてスレーブDに伝搬した場合に1に設定される(図10CにおけるL21行の時刻5)。
以降、同様に、スレーブEは、バス416−DEを介して第1通信路情報を受信し、受信した第1通信路情報をバス情報1Bに格納し、受信した第1通信路情報を、バス416−EFを介して送信先のスレーブFに送信する(図10CにおけるL22行の時刻6)。すなわち、スレーブCがバス416−CDを介して送信した第1通信路情報、バス416を介して、スレーブD、スレーブE、スレーブF、スレーブG、及び、スレーブHに順次伝搬する。すなわち、該バス情報は、単方向バスを介して、スレーブD乃至スレーブHにブロードキャスト(放送)される。
さらに、スレーブCは、計測部が計測した要素数に基づき、バス415を介して送信する第2通信路情報を作成する(図10DにおけるL31行)。たとえば、スレーブCは、通信処理を開始した後に、該要素数が1以上である場合に、バス404が使用されていることを表す第2通信路情報を作成する。また、スレーブCは、通信処理を開始した後に、該要素数が1未満である場合に、バス404が使用されていないことを表す第2通信路情報を作成する(図10DにおけるL31行)。
上述した例の場合に、スレーブCは、時刻4にて通信処理を開始していないので、バス404が使用されていないことを表す第2通信路情報を作成する(図10DにおけるL31行の時刻4)。スレーブCは、時刻5にて通信処理を実行し、さらに、該要素数が1以上であるので、バス404が使用されていることを表す第2通信路情報を作成する(図10DにおけるL31行の時刻5)。スレーブCは、時刻12にて、該要素数が1以上であるので、バス404が使用されていることを表す第2通信路情報を作成する(図10DにおけるL31行の時刻4乃至12)。また、スレーブCは、時刻13にて、該要素数が1未満であるので、バス404が使用されていないことを表す第2通信路情報を作成する(図10DにおけるL31行の時刻13)。
スレーブCは、作成した第2通信路情報を、バス415−CBを介してスレーブBに送信する(図10DにおけるL31行の時刻4乃至12)。スレーブBは、バス415−CBを介して該第2通信路情報を受信し、受信した第2通信路情報を、バス415−BAを介してスレーブAに送信する(図10DにおけるL32行の時刻5乃至13)。スレーブAは、バス415−BAを介して、該第2通信路情報を受信する(図10DにおけるL33行の時刻6乃至14)。すなわち、スレーブCがバス415−CBを介して送信した第2通信路情報は、バス415を介して、スレーブB、及び、スレーブAに順次伝搬する。すなわち、該バス情報は、バス415を介して、スレーブB及びスレーブAにブロードキャストされる。
一方、マスタ402は、時刻2にて、バス403−MAを介してリクエスト2をスレーブAに送信する(図10AにおけるL1行の時刻2)。スレーブAは、時刻3にて、バス403−MAを介してリクエスト2を受信し、リクエスト2を、バス403−ABを介してスレーブBに送信する(図10AにおけるL2行の時刻3)。以降、リクエスト1と同様に、スレーブDは、時刻6にて、バス403−CDを介してリクエスト2を受信する(図10AにおけるL5行の時刻6)。
次に、スレーブDは、バス403−CDを介してリクエスト2を受信するのに応じて、バス404に関するバス情報1Bを参照し、バス404が使用されているか否かを判定する。さらに、スレーブDは、バス404に関するバス情報1Fを参照し、バス404が使用されているか否かを判定する。上述した例の場合に、時刻6にてバス404が使用されていることを通信路情報が表すので(図10CにおけるL21行の時刻6)、スレーブDは、バス404が使用されていると判定する。
この場合に、スレーブDは、バス405に関して、バス412−EDから受信したバス情報(通信路情報)を記憶しているバス情報記憶部(「バス情報2B」と表す)を参照し、バス405が使用されているか否かを判定する。同様に、スレーブDは、バス405に関して、バス413−CDから受信したバス情報(通信路情報)を記憶しているバス情報記憶部(「バス情報2F」と表す)を参照し、バス405が使用されているか否かを判定する。上述した例の場合に、いずれのバス情報も、バス405が使用されていないことを表すので(図10EにおけるL37行の時刻6、図10FにおけるL46行の時刻6)、スレーブDは、バス405が使用されていないと判定する。したがって、スレーブDは、バス405を介して、リクエスト2に応じた通信処理を開始する(図10HにおけるL62行の時刻6)。
以降、上述した処理と同様に、スレーブDは、バス情報を送信する処理、及び、要素を送信する処理等を実行する。
マスタ402は、時刻3にて、バス403−MAを介してリクエスト3をスレーブAに送信する(図10AにおけるL1行の時刻3)。スレーブAは、時刻4にて、バス403−MAを介してリクエスト3を受信し、リクエスト3を、バス403−ABを介してスレーブBに送信する(図10AにおけるL2行の時刻4)。以降、リクエスト1と同様に、スレーブEは、時刻8にて、バス403を介してリクエスト3を受信する(図10AにおけるL6行の時刻8)。
スレーブEは、リクエスト3を受信するのに応じて、バス404に関するバス情報1Bを参照し、バス404が使用されているか否かを判定する(図10CにおけるL22行の時刻8)。さらに、スレーブEは、バス405に関するバス情報1Fを参照し、バス404が使用されているか否かを判定する(図10DにおけるL29行の時刻8)。上述した例の場合に、バス情報1Bが記憶する値は、バス404が使用されていることを表すので、スレーブEは、バス404が使用されていると判定する。さらに、スレーブEは、バス情報2B、及び、バス情報2Fにおける値に基づき、上述した判定を実行する(図10EにおけるL38行の時刻8、図10FにおけるL45行の時刻8)。
上述した例の場合に、バス情報1Bにおけるバス情報は、バス404が使用されていることを表す(図10CにおけるL22行の時刻8)。また、バス情報2Fにおけるバス情報は、バス405が使用されていることを表す(図10EにおけるL38行の時刻8)。バス404、及び、バス405がいずれも使用されているので、スレーブEは、時刻8にて、リクエスト3に応じた通信処理を保留する。スレーブEは、通信処理を保留している期間に、バス情報1B、バス情報1F、バス情報2B、及び、バス情報2Fにおけるバス情報を読み取る処理を繰り返すことにより、バス404またはバス405が使用されなくなるのを待ってもよい。
時刻9にて、バス405に関するバス情報2Fは、バス405が使用されていないことを表す(図10EにおけるL38行の時刻9)。また、時刻9にて、バス405に関するバス情報2Bは、バス405が使用されていないことを表す(図10FにおけるL45行の時刻9)。したがって、バス405に関するバス情報2F及びバス情報2Bは、いずれも、バス405が使用されていないことを表す。したがって、スレーブEは、時刻9にて、バス405が使用されていないと判定するので、バス405を介してリクエスト3に応じた通信処理を開始する(図10HにおけるL63行の時刻9)。
次に、第4の実施形態に係る情報処理システムに関する効果について説明する。
本実施形態に係る情報処理システム401によれば、短期間に通信処理を完了することができる。
図11、図12A乃至図12Dを参照しながら、本実施形態に係る情報処理システム401が、一般的な情報処理システム431と比べて短期間に通信を完了する理由について説明する。図11は、一般的な情報処理システム431が有する構成を示すブロック図である。図12A乃至図12Dは、一般的な情報処理システム431における処理の流れを示すタイミングチャートである。説明の便宜上、図12A乃至図12Dに例示する信号は、リクエストに付された番号を用いて表すとする。
尚、図12A及び図12Bは、図10Aと同様の図である。図12C及び図12Dは、図10G及び図10Hと同様の図である。このため、図12A乃至図12Dに関する詳細な説明を省略する。
情報処理システム431は、マスタ432と、複数のスレーブと、通信路(すなわち、複数のバス)とを含む。マスタ432とスレーブとの間、及び、複数のスレーブ間においては、上述したバスを介して通信接続可能である。
図11に示す例において、情報処理システム431は、通信可能なリング状に接続された通信路を有する。また、通信路は、1つの方向のみに通信可能なバスと、該方向とは反対方向または略反対方向のみに通信可能なバスとを含む。
説明の便宜上、情報処理システムは、スレーブA乃至スレーブHなる8台のスレーブを含むとする。また、マスタ432は、上述したリクエスト1乃至リクエスト3を送信するとする。
まず、マスタ432は、時刻1にて、バス433−MAを介して、リクエスト1をスレーブAに送信する(図12AにおけるR1行の時刻1)。各スレーブが上述した処理を実行することにより、スレーブCは、時刻4にて、バス433−BCを介して、スレーブBからリクエスト1を受信する(図12AにおけるR4行の時刻4)。
スレーブCは、バス433−BCを介してリクエスト1を受信するのに応じて、バス435−CBを介して9個の要素からなるデータの送信処理を開始する。すなわち、スレーブCは、時刻4にて、バス435−CBを介して1個目の要素をスレーブBに送信する(図12CにおけるR24行の時刻4)。スレーブBは、時刻5にて、バス435−CBを介して該要素を受信し、受信した該要素を、バス435−BAを介してスレーブAに送信する(図12CにおけるR25行の時刻5)。スレーブAは、時刻6にて、バス435−BAを介して該要素を受信し、受信した該要素を、バス435−AMを介してマスタ432に送信する(図12CにおけるR26行の時刻6)。以降同様に、スレーブA乃至スレーブCは、9個目の要素を送信する時刻12まで、同様の処理を繰り返す(図12CにおけるR24行の時刻4乃至12)。
一方、マスタ432は、スレーブCが通信処理を終了する時刻、及び、マスタ432からバス433を介してスレーブDにリクエストが到達する期間に基づいて、バス433−MAを介してリクエスト2を送信する。この例において、スレーブCが送信処理を終了する時刻は時刻12(図12CにおけるR24行の時刻12)であり、マスタ432からバス433を介してスレーブDにリクエストが到達するのに要する期間は4である。この場合に、スレーブCは、時刻13以降にバス435−CBを介して、リクエスト2に関する通信処理を完了することができる。
スレーブDからバス435−DCを介してスレーブCにデータが到達するのに要する期間は1であるので、スレーブDは、バス435−DCを介して、時刻12(=13−1)にてリクエスト2に応じた通信処理を開始することができる。したがって、マスタ432は、時刻8(=12−4)に、バス433−MAを介してリクエスト2を送信する(図12AにおけるR1行の時刻8)。すなわち、マスタ432は、バス435を介する通信処理が実行されなくなる時刻を予測することにより、バス433−MAを介してリクエスト2を送信する(図12AにおけるR1行の時刻8)。
スレーブDは、時刻12に、バス433−CDを介してリクエスト2を受信するのに応じて、バス435−DCを介して、リクエスト2に応じた通信処理を開始する(図12CにおけるR24行の時刻12)。
次に、マスタ432は、時刻9に、バス435を介して、リクエスト3に応じた通信処理が実行可能であるか否かを予測する。時刻9に、リクエスト2に応じた通信処理がバス435を介して実行されている(図12CにおけるR24行の時刻9)ので、マスタ432は、バス435を介して、リクエスト3に応じた通信処理が、時刻9にて実行することができないと判定する。この場合に、マスタ432は、バス436を介して、リクエスト3に応じた通信処理が実行可能であるか否かを予測する。時刻9にてバス436を介して通信処理が実行されていない(図12Dにおける時刻9)ので、マスタ432は、時刻9に、バス434−MHを介してリクエスト3をスレーブHに送信する(図12BにおけるR10行の時刻9)。
以降、各スレーブが、バス434を介してリクエスト3を送信する処理を実行する(図12BにおけるR11行の時刻10、R12行の時刻11、R13行の時刻12、及び、R14行の時刻13)。その後、スレーブEは、時刻13に、バス434−FEを介してリクエスト3を受信し、バス436−EFを介して、リクエスト3に応じた通信処理を開始する(図12DにおけるR32行の時刻13)。この結果、リクエスト3に応じた通信処理は、時刻23に完了する(図12DにおけるR35行の時刻23)。
上述したように、マスタ432は、バスを介した通信処理が実行されなくなる時刻を予測し、予測した時刻に基づいてリクエストを送信することにより、情報処理システム431において実行される通信処理を制御する。マスタ432が予測する時刻が必ずしも正しいとは限らないので、マスタ432は、情報処理システム431において実行される通信処理を効率よく制御するとは限らない。
一方、上述したように、本実施形態に係る情報処理システム401は、通信路が使用されているか否かを表す通信路情報に基づき通信を制御する結果、時刻20に通信処理を完了する。したがって、本実施形態に係る情報処理システム401によれば、短期間に通信処理を完了することができる。
尚、上述した本発明の各実施形態において、通信路は、バスであるとして説明した。しかし、通信路は、たとえば、情報処理装置を1対1に通信接続可能な通信線であってもよい。すなわち、通信路は、ポイントツーポイント状に接続される通信線であってもよい。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
101 通信処理装置
102 中継部
103 通信部
110 情報処理装置
111 通信路
112 情報処理装置
113 情報処理装置
114 情報処理システム
121 通信処理装置
123 通信部
124 情報処理装置
125 通信路
127 情報処理システム
131 通信処理装置
133 通信部
134 情報処理装置
135 通信路
136 通信路
137 情報処理システム
141 通信処理装置
144 計測部
145 通信路情報記憶部
146 情報処理装置
147 情報処理システム
401 情報処理システム
402 マスタ
403 バス
404 バス
405 バス
412 バス
413 バス
415 バス
416 バス
418 スレーブ
419 スレーブ
420 スレーブ
431 情報処理システム
432 マスタ
433 バス
434 バス
435 バス
436 バス

Claims (10)

  1. 通信路を介して隣接している第1情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第2情報処理装置に送信する中継手段と、
    送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
    前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第1情報処理装置及び前記第2情報処理装置に送信し、前記通信路を介して前記送信データを前記第1情報処理装置または前記第2情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第1情報処理装置及び前記第2情報処理装置に送信し、
    前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない通信手段と
    を備える通信処理装置。
  2. 前記通信路情報は、前記通信路に関して、前記第1情報処理装置から受信可能な通信路情報と、前記第2情報処理装置から受信可能な通信路情報とを含み、
    前記通信手段は、前記リクエストに応じて、2つの前記通信路情報が、いずれも、前記通信路が使用されていないことを表す場合に、前記通信路を介して、前記第1情報処理装置または前記第2情報処理装置に前記送信データを送信し、前記第1情報処理装置及び前記第2情報処理装置に、前記通信路が使用されていることを表す前記通信路情報を送信し、2つの前記通信路情報のうち、少なくとも一方が、前記通信路が使用されていることを表す場合に、前記送信データを送信しない
    請求項1に記載の通信処理装置。
  3. 前記第1情報処理装置から受信可能な通信路情報を記憶する第1通信路情報記憶手段と、
    前記第2情報処理装置から受信可能な通信路情報を記憶する第2通信路情報記憶手段と、
    をさらに備え、
    前記中継手段は、前記第1情報処理装置から受信した前記通信路情報を前記第1通信路情報記憶手段に格納し、さらに、前記第2情報処理装置から受信した前記通信路情報を前記第2通信路情報記憶手段に格納し、
    前記通信手段は、前記第1通信路情報記憶手段における前記通信路情報と、前記第2通信路情報記憶手段における前記通信路情報に基づいて、前記通信路が使用されているか否かを判定するとともに、作成した前記通信路情報を前記第1通信路情報記憶手段、及び、前記第2通信路情報記憶手段に格納する
    請求項2に記載の通信処理装置。
  4. 前記通信手段は、前記リクエストに応じて、複数の前記通信路に関する前記通信路情報に基づき、複数の前記通信路から使用されていない前記通信路を選び、選んだ前記通信路を介して、前記第1情報処理装置または前記第2情報処理装置に前記送信データを送信し、前記第1情報処理装置及び前記第2情報処理装置に、選んだ前記通信路が使用されていることを表す前記通信路情報を送信する
    請求項1乃至請求項3のいずれかに記載の通信処理装置。
  5. 前記送信データのうち、前記通信路を介して前記送信データのデータ量を計測する計測手段
    をさらに備え、
    前記通信手段は、前記通信路が使用されている否かを判定する基準を、前記データ量が満たすか否かに基づいて、前記通信路に関する前記通信路情報を作成する
    請求項1乃至請求項4のいずれかに記載の通信処理装置。
  6. 前記通信手段は、前記通信路が使用されているか否かを判定する第1基準を前記データ量が満たすか否かに基づいて、前記通信路に関する第1通信路情報を作成し、作成した前記第1通信路情報を、前記第1情報処理装置及び前記第2情報処理装置の一方に送信し、前記通信路が使用されているか否かを判定する第2基準を前記データ量が満たすか否かに基づいて、前記通信路に関する第2通信路情報を作成し、作成した前記第2通信路情報を、前記第1情報処理装置及び前記第2情報処理装置の他方に送信する
    請求項5に記載の通信処理装置。
  7. 複数の情報処理装置と、
    前記複数の情報処理装置をリング状に通信接続する前記通信路と、
    を備え、
    前記情報処理装置は、請求項1乃至請求項6のいずれかに記載の通信処理装置を含む
    情報処理システム。
  8. 情報処理装置が、通信路を介して隣接している第1情報処理装置から、転送対象である転送データと、前記通信路が使用されているか否かを表す通信路情報とを受信し、受信した前記転送データ及び受信した前記通信路情報とを、第2情報処理装置に送信し、送信データを送信するリクエストに応じて、前記通信路情報に基づいて、前記通信路が使用されているか否かを判定し、
    前記通信路が使用されていない場合に、前記通信路が使用されていることを表す前記通信路情報を作成し、該通信路情報を、前記第1情報処理装置及び前記第2情報処理装置に送信し、前記通信路を介して前記送信データを前記第1情報処理装置または前記第2情報処理装置の少なくとも一方に送信し、その後、前記リクエストに応じた処理が終了するのに応じて、前記通信路が使用されていないことを表す前記通信路情報を作成し、該通信路情報を前記第1情報処理装置及び前記第2情報処理装置に送信し、
    前記通信路が使用されている場合に、前記通信路を介して前記送信データを送信しない通信処理方法。
  9. 前記通信路情報は、前記通信路に関して、前記第1情報処理装置から受信可能な通信路情報と、前記第2情報処理装置から受信可能な通信路情報とを含み、
    前記リクエストに応じて、2つの前記通信路情報が、いずれも、前記通信路が使用されていないことを表す場合に、前記通信路を介して、前記第1情報処理装置または前記第2情報処理装置に前記送信データを送信し、前記第1情報処理装置及び前記第2情報処理装置に、前記通信路が使用されていることを表す前記通信路情報を送信し、2つの前記通信路情報のうち、少なくとも一方が、前記通信路が使用されていることを表す場合に、前記送信データを送信しない
    請求項8に記載の通信処理方法。
  10. 前記情報処理装置は、
    前記第1情報処理装置から受信可能な通信路情報を記憶する第1通信路情報記憶手段と、
    前記第2情報処理装置から受信可能な通信路情報を記憶する第2通信路情報記憶手段と
    を備え、
    前記第1情報処理装置から受信した前記通信路情報を前記第1通信路情報記憶手段に格納し、さらに、前記第2情報処理装置から受信した前記通信路情報を前記第2通信路情報記憶手段に格納し、前記第1通信路情報記憶手段における前記通信路情報と、前記第2通信路情報記憶手段における前記通信路情報に基づいて、前記通信路が使用されているか否かを判定するとともに、作成した前記通信路情報を前記第1通信路情報記憶手段、及び、前記第2通信路情報記憶手段に格納する
    請求項9に記載の通信処理方法。
JP2015014213A 2015-01-28 2015-01-28 通信処理装置、通信処理方法、及び、情報処理システム Pending JP2016139300A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015014213A JP2016139300A (ja) 2015-01-28 2015-01-28 通信処理装置、通信処理方法、及び、情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015014213A JP2016139300A (ja) 2015-01-28 2015-01-28 通信処理装置、通信処理方法、及び、情報処理システム

Publications (1)

Publication Number Publication Date
JP2016139300A true JP2016139300A (ja) 2016-08-04

Family

ID=56560270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015014213A Pending JP2016139300A (ja) 2015-01-28 2015-01-28 通信処理装置、通信処理方法、及び、情報処理システム

Country Status (1)

Country Link
JP (1) JP2016139300A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141922A (ja) * 2000-11-01 2002-05-17 Ricoh Co Ltd ループ型バスシステム
JP2008181424A (ja) * 2007-01-25 2008-08-07 Sharp Corp 多重バスインタフェースモジュールおよび多重バスシステム
JP2010198226A (ja) * 2009-02-24 2010-09-09 Canon Inc データ処理装置、データ処理方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141922A (ja) * 2000-11-01 2002-05-17 Ricoh Co Ltd ループ型バスシステム
JP2008181424A (ja) * 2007-01-25 2008-08-07 Sharp Corp 多重バスインタフェースモジュールおよび多重バスシステム
JP2010198226A (ja) * 2009-02-24 2010-09-09 Canon Inc データ処理装置、データ処理方法およびプログラム

Similar Documents

Publication Publication Date Title
JP6477161B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP2017068345A (ja) バスシステム
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
EP2933697B1 (en) Plc system having a plurality of cpu modules and control method thereof
JP7394185B2 (ja) 通信システム
JP2012168635A (ja) 二重化制御装置
Guo et al. Model checking of in-vehicle networking systems with CAN and FlexRay
KR101492910B1 (ko) 이더캣 기반의 분산 시계 동기화를 위한 방법 및 시스템
CN110169017B (zh) 控制装置以及通信装置
EP2672345B1 (en) Cpu of plc and recording medium storing a system program for plc
JP2016139300A (ja) 通信処理装置、通信処理方法、及び、情報処理システム
JP2015115864A (ja) データ転送システム及びデータ転送システムの制御方法
US11068423B2 (en) Control device and communication device
JP2006171833A (ja) Plcのデータ交換システム、及びplcのデータ交換システムの制御方法
JP2005229322A (ja) マスタスレーブ同期通信システム
JP2013037693A (ja) データ処理システムの同期化
JP6321393B2 (ja) マスタスレーブ相互間中継装置およびその中継方法
JP2012038260A (ja) バス転送システム
JP2017063390A (ja) 通信方法
CN115615572A (zh) 基于ds18b20芯片的测温***、方法、终端以及存储介质
JP2006209646A (ja) 分散制御システム
WO2019106783A1 (ja) 温度調節計及び通信変換器
JP2012073741A (ja) バス転送システム
KR20130124371A (ko) 엔지니어링 툴 및 프로그래머블 컨트롤러
JPH0319499A (ja) 分散型コントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190326