(57)【要約】  複数のノードで構成された分散システムにおいて、チャネル数を抑制しつつ、ノードのデータの他の全てのノードへの転送を短時間で完了する。このため、複数のリングによって分散システムを形成する。また、各リングは、同数のノードをチャネルでリング状に順次接続して形成する。また、各リングのノードは、他の各リングのリング上での順番が同じノードとチャネルで接続する。各ノードは、リング上での順番が一つ前のノードから受信したデータを、リング上での順番が一つ後のノードと、他の各リングのリング中の順番が同じノードに送信する。
2018097015.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードをチャネルで接続した分散システムであって、
ｎ（但し、ｎは２以上の任意の自然数）個のノードをチャネルでリング状に接続したリングを複数有し、
各リングに含まれるノードの数は等しく、
前記各リングの各ノードは、当該ノードを送信側とするチャネルで、当該ノードを含むリング以外の各リングのノードと、同じリングに含まれる各ノードが、当該ノードを送信側とするチャネルで、他のリングの異なるノードにそれぞれ接続されるように、接続されていることを特徴とする分散システム。
【請求項２】
請求項１記載の分散システムであって、
前記各リングのノードは、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに転送可能な転送制御手段を有することを特徴とする分散システム。
【請求項３】
請求項１記載の分散システムであって、
前記各リングのノードは、当該ノードが発信元となるデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信すると共に、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続するチャネルから受信したデータのうちの、当該ノードが発信元でないデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに転送する転送制御手段を有することを特徴とする分散システム。
【請求項４】
請求項１記載の分散システムであって、
前記各リングのノードは、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、他のリングのノードに接続したチャネルから受信したデータを当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能な転送制御手段を有することを特徴とする分散システム。
【請求項５】
請求項１記載の分散システムであって、
前記各リングのノードは、当該ノードが発信元となるデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信し、
他のリングのノードに接続したチャネルから受信したデータを当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送し、
当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続するチャネルから受信したデータのうちの、当該ノードが発信元でなく、かつ、当該ノードが当該ノードが含まれるリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送していないデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送する転送制御手段を有することを特徴とする分散システム。
【請求項６】
請求項１、２、３、４または５記載の分散システムであって、
ノードのリングにおける接続上の順番を当該ノードの順番として、各リングのｊ（但し、ｊはｎ以下の任意の自然数）番目のノードは、当該ノードを送信側とするチャネルで、他の各リングのｊ番目のノードと接続されていることを特徴とする分散システム。
【請求項７】
請求項１、２、３、４、５または６記載の分散システムであって、
ノードのリングにおける接続上の順番を当該ノードの順番として、各リングのｊ（但し、ｊはｎ未満の任意の自然数）番目のノードは、当該ノードを送信側とするチャネルで、他の各リングのｊ+１番目のノードと接続され、各リングのｎ番目のノードは、当該ノードを送信側とするチャネルで、他の各リングの１番目のノードと接続されていることを特徴とする分散システム。
【請求項８】
複数のノードをチャネルで接続した分散システムであって、
ｎ（但し、ｎは２以上の任意の自然数）個のノードをチャネルでリング状に接続したｍ個（但し、ｍは２以上の任意の自然数）のリングを有し、
各リングに含まれるノードの数は等しく、
ｉ（但し、ｉはｍ以下の任意の自然数）番目のリングの各ノードは、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ-１番目のリングの異なるノードにそれぞれ接続されており、かつ、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ+１番目のリングの異なるノードにそれぞれ接続されていることを特徴とする分散システム。
【請求項９】
請求項８記載の分散システムであって、
前記ｉ番目のリングの各ノードは、
当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送可能、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送可能、かつ、
ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送可能、かつ、ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送可能な転送制御手段を有することを特徴とする分散システム。
【請求項１０】
請求項８記載の分散システムであって、
前記ｉ番目のリングの各ノードは、
当該ノードが発信元となるデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに送信すると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、
当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータのうちの当該ノードが発信元でないデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送すると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、
ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送する転送制御手段を有することを特徴とする分散システム。
【請求項１１】
請求項８記載の分散システムであって、
前記ｉ番目のリングの各ノードは、
当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であり、
ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送可能であり、
ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送可能な転送制御手段を有することを特徴とする分散システム。
【請求項１２】
請求項８記載の分散システムであって、
前記ｉ番目のリングの各ノードは、
当該ノードが発信元となるデータを、ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに送信すると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、
ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送すると共に、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、
ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送すると共に、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、
当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータのうちの当該ノードが発信元でなく、かつ、当該ノードが当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送していないデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送する転送制御手段を有することを特徴とする分散システム。
【請求項１３】
請求項８、９、１０、１１または１２記載の分散システムであって、
ノードのリングにおける接続上の順番を当該ノードの順番として、ｉ（但し、ｉはｍ以下の任意の自然数）番目のリングのｊ（但し、ｊはｎ以下の任意の自然数）番目のノードは、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ-１番目のリングのｊ番目のノードに接続されており、かつ、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ+１番目のリングのｊ番目のノードに接続されていることを特徴とする分散システム。
【請求項１４】
請求項８、９、１０、１１または１２記載の分散システムであって、
ノードのリングにおける接続上の順番を当該ノードの順番として、ｉ番目のリングのｊ（但し、ｊはｎ未満の任意の自然数）番目のノードは、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ-１番目のリングのｊ+１番目のノードと接続されると共に、ｉ番目のリングのｎ番目のノードは、当該ノードを送信側とするチャネルで、ｉ-１番目のリングの１番目のノードと接続されており、
かつ、ｉ番目のリングのｊ番目のノードは、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ+１番目のリングのｊ+１番目のノードと接続され、ｉ番目のリングのｎ番目のノードは、当該ノードを送信側とするチャネルで、ｉ+１番目のリングの１番目のノードと接続されていることを特徴とする分散システム。
【請求項１５】
請求項１、２、３、４、５、６、７、８、９、１０、１１、１２、１３または１４記載の分散システムであって、
当該分散システムが、当該分散システムよりも各リングに含まれるノード数の少ない複数の請求項１、２、３、４、５、６、７、８、９、１０、１１、１２、１３または１４記載の分散システムに分割されるように前記チャネルの接続を変更するスイッチを有することを特徴とする分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のノードで構成された分散システムにおけるデータ転送の技術に関するものである。
【背景技術】
【０００２】
複数のノードで構成された分散システムにおいて処理対象のデータを分割して各ノードに割り当てて各ノードに処理を行わせる場合、各ノードにおいて他の全てのノードから情報を収集する場合がある。【０００３】
そして、このような分散システムの各ノードにおいて他の全てのノードから情報を収集する技術としては、複数のレコードよりなるテーブルをレコード単位で分割して各ノードに割り当て、各ノードにおいてテーブルに対する処理の割り当てられた各レコードについての部分を行う分散システムにおいて、テーブルに対する処理としてレコードの当該レコードの値をキーとするソートを行う場合に、他のノードの各々から、当該他のノードに割り当てられているレコードの値毎の当該他のノードに割り当てられているレコードの数の情報を収集して、自己に割り当てられている各レコードのテーブル中の順番を算出する技術が知られている（たとえば、特許文献１）。【０００４】
また、この技術では、図２２ａに示すように、各ノード（N0,N1,N2,N3)を双方向のチャネルでリング状に接続してリング型のネットワークを構成し、図２２ｂに示すように、各ノードにおいてリングに沿って情報を順次中継していくことにより、情報発信元のノードがリングに創出した情報を他の全てのノードに転送している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２００５／０７３８８０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
さて、図２２ａに示したリング型のネットワークを用いる情報の転送の技術によれば、チャネル数は少なくて済むが、ノードの数が多くなると、発信元のノードの情報の送信から、全ての他のノードへの転送が完了するまでに長時間を要してしまい、処理のレスポンスが劣化する。【０００７】
一方、図２２ｃに示すように各ノードを全ての他のノードと直接チャネルで接続したフルコネクト型のネットワーク構成を採用し、発信元のノードが全ての他のノードに直接情報を転送するようにすれば、転送の完了までに要する時間は短縮化されるが、ノードの数が多数となると、必要となるチャネルの数も飛躍的に増大してしまう。【０００８】
そこで、本発明は、チャネル数を抑制しつつ、ノードの情報の他の全てのノードへの転送を比較的短時間で完了することのできる分散システムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題達成のために本発明は、複数のノードをチャネルで接続した分散システムとして、ｎ（但し、ｎは２以上の任意の自然数）個のノードをチャネルでリング状に接続したリングを複数有し、各リングに含まれるノードの数は等しく、前記各リングの各ノードは、当該ノードを送信側とするチャネルで、当該ノードを含むリング以外の各リングのノードと、同じリングに含まれる各ノードが、当該ノードを送信側とするチャネルで、他のリングの異なるノードにそれぞれ接続されるように接続されている分散システムを提供する。【００１０】
このような分散システムの構成によれば、分散システムに含まれる全てのノードをリング状に接続したリング型のネットワークに比べ、データが辿るノード数として表されるホップ数の最大値を小さく抑えて、ノードのデータの全ての他のノードへの転送を行うことができるので、ノードのデータの全ての他のノードへの転送を完了するまでの時間を短くすることができる。一方で、各ノードを全ての他のノードと直接チャネルで接続するノードをフルコネクト型のネットワークに比べ必要となるチャネル数は充分に少なくて済む。【００１１】
また、同じリング内のノード間の各チャネルや異なるリングのノード間の各チャネルの負荷を比較的均等化することができる。
したがって、チャネル数を抑制しつつ、ノードのデータの全ての他のノードへの転送を比較的短時間で完了することができる。
すなわち、より具体的には、たとえば、このような分散システムの前記各リングのノードに、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに転送可能な転送制御手段を備えるようにする。【００１２】
または、このような分散システムの前記各リングのノードに、当該ノードが発信元となるデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信すると共に、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続するチャネルから受信したデータのうちの、当該ノードが発信元でないデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに転送する転送制御手段を備えるようにする。【００１３】
または、このような分散システムの前記各リングのノードに、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、他のリングのノードに接続したチャネルから受信したデータを当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能な転送制御手段を備えるようにする。【００１４】
または、このような分散システムの前記各リングのノードに、当該ノードが発信元となるデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信し、他のリングのノードに接続したチャネルから受信したデータを当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送し、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続するチャネルから受信したデータのうちの、当該ノードが発信元でなく、かつ、当該ノードが当該ノードが含まれるリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送していないデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送する転送制御手段を備えるようにする。【００１５】
ここで、以上の分散システムは、ノードのリングにおける接続上の順番を当該ノードの順番として、各リングのｊ（但し、ｊはｎ以下の任意の自然数）番目のノードを、当該ノードを送信側とするチャネルで、他の各リングのｊ番目のノードと接続するようにしてもよい。【００１６】
または、以上の分散システムは、ノードのリングにおける接続上の順番を当該ノードの順番として、各リングのｊ（但し、ｊはｎ未満の任意の自然数）番目のノードを、当該ノードを送信側とするチャネルで、他の各リングのｊ+１番目のノードと接続され、各リングのｎ番目のノードは、当該ノードを送信側とするチャネルで、他の各リングの１番目のノードと接続するようにしてもよい。【００１７】
また、前記課題達成のために、本発明は、複数のノードをチャネルで接続した分散システムとして、ｎ（但し、ｎは２以上の任意の自然数）個のノードをチャネルでリング状に接続したｍ個（但し、ｍは２以上の任意の自然数）のリングを有し、各リングに含まれるノードの数は等しく、ｉ（但し、ｉはｍ以下の任意の自然数）番目のリングの各ノードは、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ-１番目のリングの異なるノードにそれぞれ接続されており、かつ、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ+１番目のリングの異なるノードにそれぞれ接続されている分散システムを提供する。【００１８】
このような分散システムの構成によれば、分散システムの全てのノードをリング状に接続したリング型のネットワークに比べ、データが辿るノード数として表されるホップ数の最大値を小さく抑えて、ノードのデータの全ての他のノードへの転送を行うことができるので、ノードのデータの全ての他のノードへの転送を完了するまでの時間を短くすることができる。一方で、各ノードを全ての他のノードと直接チャネルで接続するノードをフルコネクト型のネットワークに比べ必要となるチャネル数は少なくて済む。【００１９】
したがって、チャネル数を抑制しつつ、ノードのデータの全ての他のノードへの転送を比較的短時間で完了することができる。
すなわち、より具体的には、たとえば、このような分散システムの前記ｉ番目のリングの各ノードに、当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送可能、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送可能、かつ、ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送可能、かつ、ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送可能な転送制御手段を備えるようにする。【００２０】
または、このような分散システムの前記ｉ番目のリングの各ノードに、当該ノードが発信元となるデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに送信すると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータのうちの当該ノードが発信元でないデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送すると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送する転送制御手段を備えるようにする。【００２１】
または、このような分散システムの前記ｉ番目のリングの各ノードに、当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータを、ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であり、ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送可能であり、ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送可能であると共に、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送可能な転送制御手段を備えるようにする。【００２２】
または、このような分散システムの前記ｉ番目のリングの各ノードに、当該ノードが発信元となるデータを、ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに送信すると共に、ｉ-１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、かつ、ｉ+１番目のリングが存在する場合には、当該データを、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、ｉ-１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送すると共に、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ+１番目のリングのノードに接続するチャネルに転送し、ｉ+１番目のリングのノードに接続したチャネルから受信したデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送すると共に、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルであってｉ-１番目のリングのノードに接続するチャネルに転送し、当該ｉ番目のリングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したデータのうちの当該ノードが発信元でなく、かつ、当該ノードが当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送していないデータを、当該ｉ番目のリングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルに転送する転送制御手段を備えるようにする。【００２３】
ここで、以上のような分散システムは、ノードのリングにおける接続上の順番を当該ノードの順番として、ｉ（但し、ｉはｍ以下の任意の自然数）番目のリングのｊ（但し、ｊはｎ以下の任意の自然数）番目のノードを、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ-１番目のリングのｊ番目のノードに接続されており、かつ、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ+１番目のリングのｊ番目のノードに接続するようにしてもよい。【００２４】
または、以上のような分散システムは、ノードのリングにおける接続上の順番を当該ノードの順番として、ｉ番目のリングのｊ（但し、ｊはｎ未満の任意の自然数）番目のノードを、ｉ-１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ-１番目のリングのｊ+１番目のノードと接続すると共に、ｉ番目のリングのｎ番目のノードを、当該ノードを送信側とするチャネルで、ｉ-１番目のリングの１番目のノードと接続し、かつ、ｉ番目のリングのｊ番目のノードを、ｉ+１番目のリングが存在する場合には、当該ノードを送信側とするチャネルで、ｉ+１番目のリングのｊ+１番目のノードと接続し、ｉ番目のリングのｎ番目のノードは、当該ノードを送信側とするチャネルで、ｉ+１番目のリングの１番目のノードと接続するようにしてもよい。【００２５】
また、併せて本発明は、以上のような分散システムであって、当該分散システムが、当該分散システムよりも各リングに含まれるノード数の少ない、複数の以上のような分散システムに分割されるように前記チャネルの接続を変更するスイッチを備えた分散システムも提供する。
【発明の効果】
【００２６】
以上のように、本発明によれば、チャネル数を抑制しつつ、ノードの情報の他の全てのノードへの転送を比較的短時間で完了することのできる分散システムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１実施形態に係る分散システムの構成を示す図である。
【図２】本発明の第１実施形態に係るノードの構成を示すブロック図である。
【図３】本発明の第１実施形態に係る転送制御装置のバッファ構成を示すブロック図である。
【図４】本発明の第１実施形態に係る分散システムのデータ転送のようすを示す図である。
【図５】本発明の第１実施形態に係る分散システムのデータ転送のようすを示す図である。
【図６】本発明の第１実施形態に係る分散システムのデータ転送のようすを示す図である。
【図７】本発明の第２実施形態に係る転送制御装置のバッファ構成を示すブロック図である。
【図８】本発明の第２実施形態に係る分散システムのデータ転送のようすを示す図である。
【図９】本発明の第２実施形態に係る分散システムのデータ転送のようすを示す図である。
【図１０】本発明の第１、第２実施形態に係る分散システムの他の構成例を示す図である。
【図１１】本発明の第１、第２実施形態に係る分散システムの他の構成例を示す図である。
【図１２】本発明の第１、第２実施形態に係る分散システムの他の構成例を示す図である。
【図１３】本発明の第３実施形態に係る分散システムの構成を示す図である。
【図１４】本発明の第３実施形態に係る転送制御装置のバッファ構成を示すブロック図である。
【図１５】本発明の第３実施形態に係る分散システムのデータ転送のようすを示す図である。
【図１６】本発明の第３実施形態に係る分散システムのデータ転送のようすを示す図である。
【図１７】本発明の第３実施形態に係る分散システムのデータ転送のようすを示す図である。
【図１８】本発明の第３実施形態に係る分散システムのデータ転送のようすを示す図である。
【図１９】本発明の第４実施形態に係る転送制御装置のバッファ構成を示すブロック図である。
【図２０】本発明の第４実施形態に係る分散システムのデータ転送のようすを示す図である。
【図２１】本発明の第３、第４実施形態に係る分散システムの他の構成例を示す図である。
【図２２】公知の分散システムを示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明に係る分散システムの実施形態について説明する。
まず、本発明の第１実施形態について説明する。
図１に、本第１実施形態に係る分散システムの構成を示す。
図示するように、分散システムは、複数のリング（Ｒi）を有し、各リングＲiは、それぞれ同数のノード（Ｎij）を含んでいる。なお、Ｒiは、i番目のリングを表しており、Ｎijは、i番目のリングのｊ番目のノードを表している。
【００２９】
すなわち、たとえば、図示した例では、分散システムは、３つのリング （リングＲ１、リングＲ２、リングＲ３）を有し、リング１はノードＮ１１、Ｎ１２、Ｎ１３、Ｎ１４を含み、リング２はノードＮ２１、Ｎ２２、Ｎ２３、Ｎ２４を含み、リング３は、ノードＮ３１、３２、Ｎ３３、Ｎ３４を含んでいる。
【００３０】
そして、各リング中において、当該リングに含まれる各ノードをチャネルでリング状に順次接続したリング型のネットワークが形成されている。
すなわち、たとえば、図示した例では、リングＲ２では、Ｎ２１-Ｎ２２-Ｎ２３-Ｎ２４-Ｎ２１の順に各ノードがチャネルで接続されたリング型のネットワークが形成されている。
【００３１】
そして、i番目のリングのｊ番目のノードは、i番目のリング以外の各リングのｊ番目のノードとそれぞれ双方向のチャネルで接続されている。
すなわち、たとえば、図示した例では、リングＲ１の２番目のノードＮ１２は、リングＲ２の２番目のノードＮ２２と、リングＲ３のノードＮ３２とそれぞれチャネルで接続されており、リングＲ２の４番目のノードＮ２４は、リングＲ１の４番目のノードＮ１４と、リングＲ３の４番目のノードＮ３４とそれぞれチャネルで接続されている。
【００３２】
次に、図２に各ノードの構成を示す。
図示するように、ノードは、ストレージ１とプロセッサ２を備えており、プロセッサ２はストレージ１を用いて他のノードとは独立にデータ処理を行うことができる。
また、ノードは、他のノードとの間のデータ転送のために、転送制御装置３と、当該ノードに接続しているチャネルを用いたデータ伝送を行う、チャネル毎に設けられたチャネルインタフェース４とを備えている。ただし、転送制御装置３は、プロセッサ２がソフトウエアの実行による実現する機能として、ノードに備えるようにしてもよい。
【００３３】
ここで、転送制御装置３は、当該ノードに接続している各チャネルとプロセッサ２との各々間のデータの中継を制御する。
そして、転送制御装置３は、図３に示すように、受信バッファ３１、送信バッファ３２、重複転送抑止部ＣＨＫ３３を備えている。
そして、受信バッファ３１は、プロセッサ２が他のノードに送信するデータを格納するバッファＰ（ｒ）、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードからチャネルインタフェース４が受信したデータが格納されるバッファＲＳ（ｒ）を備えている。
【００３４】
ここで、リング上の順番とは、リングに沿ってチャネルのデータの転送方向に進んだときに通るノードの順番であり、図１に示したリングＲ２であれば、Ｎ２１の一つ前のノードはＮ２４、一つ後のノードはＮ２２となり、Ｎ２２の一つ前のノードはＮ２１、一つ後のノードはＮ２３となり、Ｎ２３の一つ前のノードはＮ２２、一つ後のノードはＮ２４となり、Ｎ２４の一つ前のノードはＮ２３、一つ後のノードはＮ２１となる。
【００３５】
また、受信バッファ３１は、当該ノードが含まれるリングと異なる他のリングのリング中の順番が同じノードからチャネルインタフェース４が受信したデータが格納される、当該他のリングの数と同数のバッファＲi（ｒ）を備えている。
【００３６】
すなわち、たとえば、図１におけるリングＲ２の３番目のノードＮ２３であれば、バッファＲＳ（ｒ）にはノードＮ２２から受信したデータが格納される。また、受信バッファ３１は、リングＲ１の３番目のノードＮ１３から受信したデータが格納されるバッファＲ１（ｒ）と、リングＲ３の３番目のノードＮ３３から受信したデータが格納されるバッファＲ３（ｒ）とを備える。
【００３７】
また、送信バッファ３２は、プロセッサ２に送信するデータが格納されるバッファＰ（ｓ）、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードにチャネルインタフェース４を介して送信するデータを格納するバッファＲＳ（ｓ）を備えている。また、送信バッファ３２は、当該ノードが含まれるリングと異なる他のリングのリング中の順番が同じノードにチャネルインタフェース４を介して送信するデータを格納する、当該他のリングの数と同数のバッファＲi（ｓ）を備えている。
【００３８】
すなわち、たとえば、図１におけるリングＲ２の３番目のノードＮ２３であれば、バッファＲＳ（ｓ）にはノードＮ２４に送信するデータが格納される。また、送信バッファ３２は、リングＲ１の３番目のノードＮ１３に送信するデータが格納されるバッファＲ１（ｓ）と、リングＲ３の３番目のノードＮ３３に送信するデータが格納されるバッファＲ３（ｓ）とを備える。
【００３９】
そして、転送制御装置３は、バッファ間の転送を次のように行う。
すなわち、受信バッファ３１のバッファＰ（ｒ）にプロセッサ２によって格納されたデータは、送信バッファ３２のバッファＲＳ（ｓ）と各バッファＲi（ｓ）に転送し、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードと、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々に送信する。
【００４０】
また、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信し、受信バッファ３１のバッファＲＳ（ｒ）に格納されたデータは、重複転送抑止部ＣＨＫ３３に転送する。重複転送抑止部ＣＨＫ３３は、転送されたデータが過去に自ノードが発信元となって他ノードに送信したデータであるかどうかを調べ、自ノードが発信元となって他ノードに送信したデータでない場合のみ、当該データを出力する。
【００４１】
データが過去に自ノードが発信元となって他ノードに送信したデータであるかどうかの判定は、たとえば、発信元においてデータに発信元のノードの識別子を付加して送信し、受信したデータに付加された識別子が自ノードの識別子である場合に、受信したデータを自ノードが発信元となって他ノードに送信したデータとすることにより行うことができる。または、当該判定は、たとえば、データにカウンタ値を付加し、各ノードにおいてデータの送信/転送の度にデータのカウンタ値をインクリメントし、受信したデータのカウント値がリング内のノード数と一致した場合に、受信したデータを自ノードが発信元となって他ノードに送信したデータとすることにより行うこともできる。または、当該判定は、各ノードが同期して当該ノードが発信元となるデータの送信を行うように分散システムを構成した場合には、リング内のノード数をＭとして、ノードから自ノードが発信元となるデータの送信を行ってから、Ｍ番目に受信したデータを自ノードが発信元となって他ノードに送信したデータとすることにより行うこともできる。
【００４２】
そして、転送制御装置３は、重複転送抑止部ＣＨＫ３３から出力されたデータを、送信バッファ３２のバッファＰ（ｓ）とバッファＲＳ（ｓ）と各バッファＲi（ｓ）に転送し、当該データを、プロセッサ２と、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードと、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々に送信する。
【００４３】
また、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々から受信し各Ｒi（ｒ）に格納されたデータは、送信バッファ３２のバッファＰ（ｓ）に転送し、プロセッサ２に送信する。
【００４４】
さて、プロセッサ２は、このようにして転送制御装置３から送信されたデータ、すなわち、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信したデータのうちの当該プロセッサ２から他のノードに過去に送信していないデータと、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々から受信したデータを受信し、その処理を行う。
【００４５】
以下、このような転送制御装置３の動作によって実現されるデータ転送動作について説明する。
いま、図４ａに示すようにリングＲ２のノードＮ２２においてプロセッサ２から他のノードに転送すべきデータＤＮ２２が発生すると、このデータＤＮ２２は、ノードＮ２２から、リングＲ２上のノードＮ２２の次のノードＮ２３と、他のリングのノードＮ２２と順番が同じノードであるリングＲ１のノードＮ１２とリングＲ３のノードＮ３２に転送される。そして、ノードＮ２３、ノードＮ１３、ノードＮ３３において、データＤＮ２２がプロセッサ２に取り込まれる。
【００４６】
なお、以下の各図中では、データＤＮ２２が転送されたノードを表す各丸四角形を灰色に塗りつぶして示す。
次に、図４ｂに示すように、ノードＮ２２からデータＤＮ２２の転送を受けたノードＮ２３は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２３の次のノードＮ２４と、他のリングのノードＮ２３と順番が同じノードであるリングＲ１のノードＮ１３とリングＲ３のノードＮ３３に転送する。そして、ノードＮ２４、ノードＮ１３、ノードＮ３３において、データＤＮ２２がプロセッサ２に取り込まれる。
【００４７】
また、次に、図４ｃに示すように、ノードＮ２３からデータＤＮ２２の転送を受けたノードＮ２４は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２４の次のノードＮ２１と、他のリングのノードＮ２４と順番が同じノードであるリングＲ１のノードＮ１４とリングＲ３のノードＮ３４に転送する。そして、ノードＮ２１、ノードＮ１４、ノードＮ３４において、データＤＮ２２がプロセッサ２に取り込まれる。
【００４８】
そして、次に、図５ａに示すように、ノードＮ２４からデータＤＮ２２の転送を受けたノードＮ２１は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２１の次のノードＮ２２と、他のリングのノードＮ２１と順番が同じノードであるリングＲ１のノードＮ１１とリングＲ３のノードＮ３１に転送する。そして、ノードＮ１１、ノードＮ３１において、データＤＮ２２がプロセッサ２に取り込まれる。一方、ノードＮ２２においては、転送されたデータＤＮ２２は自身のプロセッサ２が送信したデータであるので、これを廃棄する。
【００４９】
そして、これにより図５ｂに示すように、リングＲ２のノードＮ２２が発信元となったデータＤＮ２２は、リングＲ１、リングＲ２、リングＲ３の全てのノードへの転送が完了する。
【００５０】
次に、図６は、このような分散システムにおいて、全てのノードが同期して同時に自ノードを発信元とするデータを送信した場合の転送のようすを示したものである。
ここで、図中のＤＮijは、i番目のリングのj番目のノードが発信元のデータを表す。また、図６ａが１回目の転送を、図６ｂが２回目の転送を、図６ｃが３回目の転送を、図６ｄが４回目の転送を表している。
【００５１】
図示するように、この場合、各ノードから送信された当該ノードが発信元のデータは４回の転送で他の全てのノードへの転送が完了する。すなわち、換言すれば、各ノードは４回の転送で他の全てのノードが発信元のデータを取得することができる。
【００５２】
また、図示するように、各回の転送において、各データは異なるチャネルを用いて転送されると共に、全てのチャネルがデータの転送に用いられる。したがって、各チャネルを均等かつ効率的に用いて、データの転送が行われる。
【００５３】
以上、本発明の第１実施形態について説明した。
ところで、以上の第１実施形態では、プロセッサ２から他の各ノードに転送すべきデータが発生したときに、当該ノードにおいてデータを、他のリングの当該ノードと順番が同じノードに転送するようにしたが、これは、当該データがリングを周回して戻ってきたときに、当該ノードにおいてデータを、他のリングの当該ノードと順番が同じノードに転送するようにしてもよい。
【００５４】
このように本第１実施形態に係る分散システムの構成によれば、分散システムに含まれる全てのノードをリング状に接続するリング型のネットワークに比べ、データが辿るノード数として表されるホップ数の最大値を小さく抑えることができるので、ノードのデータの全ての他のノードへの転送を完了するまでの時間を短くすることができる。一方で、各ノードを全ての他のノードと直接チャネルで接続するノードをフルコネクト型のネットワークに比べ必要となるチャネル数は充分に少なくて済む。
【００５５】
また、本第１実施形態によれば、同じリング内のノード間の各チャネルや異なるリングのノード間の各チャネルの負荷を均等化すると共に、各チャネルを効率的に用いることができる。
【００５６】
したがって、チャネル数を抑制しつつ、ノードのデータの全ての他のノードへの転送を比較的短時間で完了することができる。
よって、本実施形態によれば、チャネル数を抑制しつつ、ノードのデータの他の全てのノードへの転送を比較的短時間で完了することができる。
以下、本発明の第２の実施形態について説明する。
本第２実施形態に係る分散システムは、図１に示した第１実施形態に係る分散システムの構成と同じ構成を備えている。また、本第２実施形態に係る各ノードの構成も、図２に示した第１実施形態に係るノードの構成と同じ構成を備えている。
【００５７】
また、第２実施形態に係る各ノードの転送制御装置３が備えるバッファも、図３に示した第１実施形態において各ノードの転送制御装置３が備えるバッファと同様である。
一方、第２実施形態に係る各ノードの転送制御装置３が行うバッファ間の転送動作は、第１実施形態とは異なる。
すなわち、本第２実施形態では、図７に示すように、転送制御装置３は、受信バッファ３１のバッファＰ（ｒ）にプロセッサ２によって格納されたデータは、送信バッファ３２のバッファＲＳ（ｓ）と各バッファＲi（ｓ）に転送し、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードと、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々に送信する。
【００５８】
また、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信し、受信バッファ３１のバッファＲＳ（ｒ）に格納されたデータは、重複転送抑止部ＣＨＫ３３に転送する。重複転送抑止部ＣＨＫ３３は、転送されたデータが過去に自ノードが発信元となって他ノードに送信したデータや、過去に自ノードが、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに転送したデータであるかどうかを調べ、自ノードが発信元となって他ノードに送信したデータや、自ノードが当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに転送したデータでない場合のみ、当該データを出力する。
【００５９】
そして、転送制御装置３は、重複転送抑止部ＣＨＫ３３から出力されたデータを、送信バッファ３２のバッファＰ（ｓ）とバッファＲＳ（ｓ）に転送し、当該データを、プロセッサ２と、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに送信する。
【００６０】
また、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々から受信し各Ｒi（ｒ）に格納されたデータは、送信バッファ３２のバッファＰ（ｓ）とバッファＲＳ（ｓ）に転送し、プロセッサ２と、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードとに送信する。
【００６１】
さて、プロセッサ２は、このようにして転送制御装置３から送信されたデータ、すなわち、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信したデータのうちの当該プロセッサ２から他のノードに過去に送信していないデータと、当該ノードが含まれるリングと異なる他の各リングのリング中の順番が同じノードの各々から受信したデータを受信し、その処理を行う。
【００６２】
以下、このような転送制御装置３の動作によって実現されるデータ転送動作について説明する。
いま、図８ａに示すようにリングＲ２のノードＮ２２においてプロセッサ２から他のノードに転送すべきデータＤＮ２２が発生すると、このデータＤＮ２２は、ノードＮ２２から、リングＲ２上のノードＮ２２の次のノードＮ２３と、他のリングのノードＮ２２と順番が同じノードであるリングＲ１のノードＮ１２とリングＲ３のノードＮ３２に転送される。そして、ノードＮ２３、ノードＮ１３、ノードＮ３３において、データＤＮ２２がプロセッサ２に取り込まれる。
【００６３】
なお、以下の各図中では、データＤＮ２２が転送されたノードを表す各丸四角形を灰色に塗りつぶして示す。
次に、図８ｂに示すように、ノードＮ２２からデータＤＮ２２の転送を受けたノードＮ２３は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２３の次のノードＮ２４に転送する。また、ノードＮ２２からデータＤＮ２２の転送を受けたノードＮ１２は、リングＲ１上のノードＮ１２の次のノードＮ１３に、転送されたデータＤＮ２２を転送し、ノードＮ２２からデータＤＮ２２の転送を受けたノードＮ３２は、リングＲ３上のノードＮ３２の次のノードＮ３３に、転送されたデータＤＮ２２を転送する。そして、ノードＮ２４、ノードＮ１３、ノードＮ３３において、データＤＮ２２がプロセッサ２に取り込まれる。
【００６４】
また、次に、図８ｃに示すように、ノードＮ２３からデータＤＮ２２の転送を受けたノードＮ２４は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２４の次のノードＮ２１に転送する。また、ノードＮ１２からデータＤＮ２２の転送を受けたノードＮ１３は、リングＲ１上のノードＮ１３の次のノードＮ１４に、転送されたデータＤＮ２２を転送し、ノードＮ３２からデータＤＮ２２の転送を受けたノードＮ３３は、リングＲ３上のノードＮ３３の次のノードＮ３４に、転送されたデータＤＮ２２を転送する。そして、ノードＮ２１、ノードＮ１４、ノードＮ３４において、データＤＮ２２がプロセッサ２に取り込まれる。
【００６５】
また、次に、図９ａに示すように、ノードＮ２４からデータＤＮ２２の転送を受けたノードＮ２１は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２１の次のノードＮ２２に転送する。また、ノードＮ１３からデータＤＮ２２の転送を受けたノードＮ１４は、リングＲ１上のノードＮ１４の次のノードＮ１１に、転送されたデータＤＮ２２を転送し、ノードＮ３３からデータＤＮ２２の転送を受けたノードＮ３４は、リングＲ３上のノードＮ３４の次のノードＮ３１に、転送されたデータＤＮ２２を転送する。
【００６６】
そして、ノードＮ１１、ノードＮ３１において、データＤＮ２２がプロセッサ２に取り込まれる。一方、ノードＮ２２においては、転送されたデータＤＮ２２は自身のプロセッサ２が送信したデータであるので、これを廃棄する。
【００６７】
そして、これにより図９ｂに示すように、リングＲ２のノードＮ２２が発信元となったデータＤＮ２２は、リングＲ１、リングＲ２、リングＲ３の全てのノードへの転送が完了する。
【００６８】
このように本第２実施形態に係る分散システムの構成によっても、分散システムに含まれる全てのノードをリング状に接続するリング型のネットワークに比べ、データが辿るノード数として表されるホップ数の最大値を小さく抑えることができるので、ノードのデータの全ての他のノードへの転送を完了するまでの時間を短くすることができる。一方で、各ノードを全ての他のノードと直接チャネルで接続するノードをフルコネクト型のネットワークに比べ必要となるチャネル数は充分に少なくて済む。
【００６９】
よって、本第２実施形態によれば、チャネル数を抑制しつつ、ノードのデータの他の全てのノードへの転送を比較的短時間で完了することができる。
ただし、本第２実施形態は、第１実施形態に比べ各リング内のチャネルの負荷が増大する。そこで、本第２実施形態においては各リング内のチャネルを多重化等して当該負荷を分散するようにしてもよい。
【００７０】
以上、本発明の第２実施形態について説明した。
ところで、以上の第１実施形態、第２実施形態では、リング間のノードの接続を、i番目のリングのｊ番目のノードを、i番目のリング以外の各リングのｊ番目のノードとそれぞれ双方向のチャネルで接続することにより行ったが、リング間のノードの接続は、i番目のリングの各ノードが送信側となるチャネルが、各他のリングの相互に異なるノードに受信側のチャネルとして接続される形態であれば、任意の接続形態でリング間のノードの接続は行ってよい。
【００７１】
すなわち、たとえば、第１実施形態、第２実施形態におけるリング間の接続は、図１０ａに示すように、i番目のリングのｊ番目のノードが送信側となる単方向のチャネルを、それぞれi番目のリング以外の各リングのｊ+１番目のノードに、当該i番目のリング以外の各リングのｊ+１番目のノードの受信側の単方向のチャネルとなるように、接続することにより行うようにしてもよい。ただし、Ｚを各リングのノード数として、i番目のリングのＺ番目のノードが送信側となる単方向のチャネルは、i番目のリング以外の各リングの１番目のノードに、当該i番目のリング以外の各リングの１番目のノードの受信側の単方向のチャネルとなるように接続する。
【００７２】
ここで、図１０ｂ中の太線は、第１実施形態においてリング間の接続を図１０ａのように行った場合の、リングＲ２のノードＮ２２において発生したデータの転送ルートを示しており、図中の＃ｘのｘは、データのｘ回目のノード間転送であることを表している。
【００７３】
図１０ｂと、図４、５との比較より理解されるように、このようなリング間の接続によっても、第１実施形態と同じ転送回数（図１０ｂ、図４、５の場合は４回）で、任意のノードからデータを他の全てのノードに転送することができる。
【００７４】
次に、図１０ｃ中の太線は、第２実施形態においてリング間の接続を図１０ａのように行った場合の、リングＲ２のノードＮ２２において発生したデータの転送ルートを示しており、図中の＃ｘのｘは、データのｘ回目のノード間転送であることを表している。
【００７５】
図１０ｃと、図８-図９との比較より理解されるように、このようなリング間の接続によっても、第２実施形態と同じ転送回数（図１０ｃ、図８-図９の場合は４回）で、任意のノードからデータを他の全てのノードに転送することができる。
【００７６】
ところで、以上の第１、第２実施形態に係る分散システムは、分散システムを複数の分散システムに分割可能に構成してもよい。
すなわち、第１実施形態、第２実施形態に係る分散システムのリング間の接続を図１に示した接続とした場合には、たとえば、図１１ａに示したように、スイッチ１００を設け、ネットワークの構成をスイッチ１００の設定によって変更可能としてよい。
【００７７】
図示したスイッチ１００は、図１に示した分散システムの構成においてノードＮ１３の受信チャネルを、ノードＮ１２の送信チャネルと、ノードＮ１４の送信チャネルに選択的に接続可能とすると共に、ノードＮ１１の受信チャネルを、ノードＮ１４の送信チャネルと、ノードＮ１２の送信チャネルに選択的に接続可能とすると共に、ノードＮ２３の受信チャネルを、ノードＮ２２の送信チャネルと、ノードＮ２４の送信チャネルに選択的に接続可能とすると共に、ノードＮ２１の受信チャネルを、ノードＮ２４の送信チャネルと、ノードＮ２２の送信チャネルに選択的に接続可能とすると共に、ノードＮ３３の受信チャネルを、ノードＮ３２の送信チャネルと、ノードＮ３４の送信チャネルに選択的に接続可能とすると共に、ノードＮ３１の受信チャネルを、ノードＮ３４の送信チャネルと、ノードＮ３２の送信チャネルに選択的に接続可能としたものである。
【００７８】
このようなスイッチ１００によって、図１１ａに示すように、ノードＮ１３の受信チャネルを、ノードＮ１２の送信チャネルに接続し、ノードＮ１１の受信チャネルを、ノードＮ１４の送信チャネルに接続し、ノードＮ２３の受信チャネルをノードＮ２２の送信チャネルに接続し、ノードＮ２１の受信チャネルをノードＮ２４の送信チャネルに接続し、ノードＮ３３の受信チャネルを、ノードＮ３２の送信チャネルに接続し、ノードＮ３１の受信チャネルを、ノードＮ３４の送信チャネルに接続すれば、図１に示した分散システムと同じ、ノード数４のリングを３つ備えた一つの分散システムを構成することができる。
【００７９】
一方、図１１ｂに示すように、ノードＮ１３の受信チャネルを、ノードＮ１４の送信チャネルに接続し、ノードＮ１１の受信チャネルを、ノードＮ１２の送信チャネルに接続し、ノードＮ２３の受信チャネルをノードＮ２４の送信チャネルに接続し、ノードＮ２１の受信チャネルをノードＮ２２の送信チャネルに接続し、ノードＮ３３の受信チャネルを、ノードＮ３４の送信チャネルに接続し、ノードＮ３１の受信チャネルを、ノードＮ３２の送信チャネルに接続すれば、図１１ｃに示すノード数２のリングを３つ備えた分散システムＳＹＳ１と分散システムＳＹＳ２の二つの分散システムを構成することができる。
【００８０】
なお、第１実施形態、第２実施形態に係る分散システムのリング間の接続を、図１０ａに示したようなi番目のリングのｊ番目のノードが送信側となる単方向のチャネルを、i番目のリング以外の各リングのｊ+１番目のノードの受信側の単方向のチャネルとなるようにそれぞれ接続する接続とした場合についても同様に、スイッチ１００を設けて、ネットワーク構成をスイッチ１００の設定によって変更可能とすることができる。
【００８１】
すなわち、図１２ａに、ノード数４のリングを二つ備えた分散システムを例にとり示すように、この場合も、図示するようにスイッチ１００を設けることにより、スイッチ１００の設定によって、図１２ａに示すようにノード数４のリングを３つ備えた一つの分散システムを構成したり、図１２ｂに示すようにノード数２のリングを３つ備えた二つの分散システムを構成することができる。
【００８２】
なお、図１２ｃは、図１２ｂに示すスイッチ１００の設定を行ったときのリング間の接続を太線で表したものであり、図１２ｄは図１２ｂに示すスイッチ１００の設定を行ったときに構成される二つの分散システムＳＹＳ１、ＳＹＳ２を表している。
【００８３】
以下、本発明の第３の実施形態について説明する。
図１３に、本第３実施形態に係る分散システムの構成を示す。
図示するように、分散システムは、上記第１実施形態と同様に、複数のリング （Ｒi）を有し、各リングiは、それぞれ同数のノード（Ｎij）を含んでいる。
そして、各リング中において、当該リングに含まれる各ノードをチャネルでリング状に順次接続したリング型のネットワークが形成されている。
そして、i番目のリングのｊ番目のノードは、i+1番目のリングのｊ番目のノードと双方向のチャネルで接続されている。
すなわち、たとえば、図示した例では、リングＲ１の２番目のノードＮ１２は、リングＲ１の次のリングＲ２の２番目のノードＮ２２とチャネルで接続されており、リングＲ２の２番目のノードＮ２２は、リングＲ２の次のリングＲ３の２番目のノードＮ３２とチャネルで接続されている。
【００８４】
次に、本第３実施形態に係るノードの構成は、図２に示した上記第１実施形態に係る構成と同じ構成を備えている。
ただし、本第３実施形態に係る転送制御装置３は、図３に示した上記第１実施形態に係る構成に代えて、図１４に示すバッファ構成を備えている。
すなわち、本第３実施形態に係る転送制御装置３は、図２に示した上記第１実施形態に係る構成と同様に受信バッファ３１、送信バッファ３２、重複転送抑止部ＣＨＫ３３を備えている。
【００８５】
ただし、第１実施形態と異なり、受信バッファ３１は、プロセッサ２が他のノードに送信するデータを格納するバッファＰ（ｒ）、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードからチャネルインタフェース４が受信したデータが格納されるバッファＲＳ（ｒ）、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードからチャネルインタフェース４が受信したデータが格納されるバッファＲＰ（ｒ）、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードからチャネルインタフェース４が受信したデータが格納されるバッファＲＮ（ｒ）を備えている。
【００８６】
すなわち、たとえば、図１３におけるリングＲ２の３番目のノードＮ２３であれば、バッファＲＳ（ｒ）にはノードＮ２２から受信したデータが格納される。また、バッファＲＰ（ｒ）には、リングＲ１の３番目のノードＮ１３から受信したデータが格納され、バッファＲＮ（ｒ）には、リングＲ３の３番目のノードＮ３３から受信したデータが格納される。
【００８７】
また、送信バッファ３２は、プロセッサ２に送信するデータが格納するバッファＰ（ｓ）、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードにチャネルインタフェース４を介して送信するデータを格納するバッファＲＳ（ｓ）、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードにチャネルインタフェース４を介して送信するデータが格納されるバッファＲＰ（ｓ）、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードにチャネルインタフェース４を介して送信するデータが格納されるバッファＲＮ（ｓ）を備えている。
【００８８】
すなわち、たとえば、図１３におけるリングＲ２の３番目のノードＮ２３であれば、バッファＲＳ（ｓ）にはノードＮ２４に送信するデータが格納される。また、バッファＲＰ（ｓ）には、リングＲ１の３番目のノードＮ１３に送信するデータが格納され、バッファＲＮ（ｓ）には、リングＲ３の３番目のノードＮ３３に送信するデータが格納される。
【００８９】
そして、転送制御装置３は、バッファ間の転送を次のように行う。
すなわち、受信バッファ３１のバッファＰ（ｒ）にプロセッサ２によって格納されたデータは、送信バッファ３２のバッファＲＳ（ｓ）とバッファＲＰ（ｓ）とバッファＲＮ（ｓ）に転送し、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードと、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードと、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードに送信する。
【００９０】
また、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信し、受信バッファ３１のバッファＲＳ（ｒ）に格納されたデータは、重複転送抑止部ＣＨＫ３３に転送する。重複転送抑止部ＣＨＫ３３は、転送されたデータが過去に自ノードが発信元となって他ノードに送信したデータであるかどうかを調べ、自ノードが発信元となって他ノードに送信したデータでない場合のみ、当該データを出力する。
【００９１】
そして、転送制御装置３は、重複転送抑止部ＣＨＫ３３から出力されたデータを、送信バッファ３２のバッファＰ（ｓ）とバッファＲＳ（ｓ）とバッファＲＰ（ｓ）とバッファＲＮ（ｓ）に転送し、当該データを、プロセッサ２と、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードと、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードと、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードに送信する。
【００９２】
また、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードから受信しバッファＲＰ（ｒ）に格納されたデータは、送信バッファ３２のバッファＰ（ｓ）と、バッファＲＮ（ｓ）に転送し、プロセッサ２に送信すると共に、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードに送信する。
【００９３】
また、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードから受信しバッファＲＮ（ｒ）に格納されたデータは、送信バッファ３２のバッファＰ（ｓ）と、バッファＲＰ（ｓ）に転送し、プロセッサ２に送信すると共に、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードに送信する。
【００９４】
さて、プロセッサ２は、このようにして転送制御装置３から送信されたデータ、すなわち、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信したデータのうちの当該プロセッサ２から他のノードに過去に送信していないデータと、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードから受信したデータと、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードから受信したデータを受信し、その処理を行う。
【００９５】
以下、このような転送制御装置３の動作によって実現されるデータ転送動作について説明する。
いま、図１５ａに示すようにリングＲ１のノードＮ１２においてプロセッサ２から他のノードに転送すべきデータＤＮ１２が発生すると、このデータＤＮ１２は、ノードＮ１２から、リングＲ１上のノードＮ１２の次のノードＮ１３と、リングＲ１の次のリングＲ２のノードＮ１２と順番が同じノードであるノードＮ２２に転送される。そして、ノードＮ１３、ノードＮ２２において、データＤＮ１２がプロセッサ２に取り込まれる。
【００９６】
なお、以下の各図中では、データＤＮ１２が転送されたノードを表す各丸四角形を灰色に塗りつぶして示す。
次に、図１５ｂに示すように、ノードＮ１２からデータＤＮ１２の転送を受けたノードＮ１３は、転送されたデータＤＮ１２を、リングＲ１上のノードＮ１３の次のノードＮ１４と、リングＲ１の次のリングＲ２のノードＮ１３と順番が同じノードであるノードＮ２３に転送する。また、ノードＮ１２からデータＤＮ１２の転送を受けたリングＲ２のノードＮ２２は、転送されたデータＤＮ１２を、リングＲ２の次のリングＲ３のノードＮ２２と順番が同じノードであるノードＮ３２に転送する。
【００９７】
そして、ノードＮ１４、ノードＮ２３、ノードＮ３２において、データＤＮ１２がプロセッサ２に取り込まれる。
次に、図１５ｃに示すように、ノードＮ１３からデータＤＮ１２の転送を受けたノードＮ１４は、転送されたデータＤＮ１２を、リングＲ１上のノードＮ１４の次のノードＮ１１と、リングＲ１の次のリングＲ２のノードＮ１４と順番が同じノードであるノードＮ２４に転送する。また、ノードＮ１３からデータＤＮ１２の転送を受けたリングＲ２のノードＮ２３は、転送されたデータＤＮ１２を、リングＲ２の次のリングＲ３のノードＮ２３と順番が同じノードであるノードＮ３３に転送する。
【００９８】
そして、ノードＮ１１、ノードＮ２４、ノードＮ３３において、データＤＮ１２がプロセッサ２に取り込まれる。
次に、図１６ａに示すように、ノードＮ１４からデータＤＮ１２の転送を受けたノードＮ１１は、転送されたデータＤＮ１２を、リングＲ１上のノードＮ１１の次のノードＮ１２と、リングＲ１の次のリングＲ２のノードＮ１１と順番が同じノードであるノードＮ２１に転送する。また、ノードＮ１４からデータＤＮ１２の転送を受けたリングＲ２のノードＮ２４は、転送されたデータＤＮ１２を、リングＲ２の次のリングＲ３のノードＮ２４と順番が同じノードであるノードＮ３４に転送する。
【００９９】
そして、ノードＮ２１、ノードＮ３４において、データＤＮ１２がプロセッサ２に取り込まれる。一方、ノードＮ１２においては、転送されたデータＤＮ１２は自身のプロセッサ２が送信したデータであるので、これを廃棄する。
【０１００】
次に、図１６ｂに示すように、また、ノードＮ１１からデータＤＮ１２の転送を受けたリングＲ２のノードＮ２１は、転送されたデータＤＮ１２を、リングＲ２の次のリングＲ３のノードＮ２１と順番が同じノードであるノードＮ３１に転送する。
【０１０１】
そして、これにより図１６ｃに示すように、リングＲ１のノードＮ１２が発信元となったデータＤＮ１２は、リングＲ１、リングＲ２、リングＲ３の全てのノードへの転送が完了する。
【０１０２】
次に、図１７ａに示すようにリングＲ２のノードＮ２２においてプロセッサ２から他のノードに転送すべきデータＤＮ２２が発生すると、このデータＤＮ２２は、ノードＮ２２から、リングＲ２上のノードＮ２２の次のノードＮ２３と、リングＲ２の前のリングＲ１のノードＮ２２と順番が同じノードであるノードＮ１２と、リングＲ２の次のリングＲ３のノードＮ２２と順番が同じノードであるノードＮ３２に転送される。そして、ノードＮ２３、ノードＮ１２、ノードＮ３２において、データＤＮ２２がプロセッサ２に取り込まれる。
【０１０３】
次に、図１７ｂに示すように、ノードＮ２２からデータＤＮ２２の転送を受けたノードＮ２３は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２３の次のノードＮ２４と、リングＲ２の前のリングＲ１のノードＮ２３と順番が同じノードであるノードＮ１３と、リングＲ２の次のリングＲ３のノードＮ２３と順番が同じノードであるノードＮ３３に転送される。そして、ノードＮ２４、ノードＮ１３、ノードＮ３３において、データＤＮ２２がプロセッサ２に取り込まれる。
【０１０４】
また、次に、図１７ｃに示すように、ノードＮ２３からデータＤＮ２２の転送を受けたノードＮ２４は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２４の次のノードＮ２１と、リングＲ２の前のリングＲ１のノードＮ２４と順番が同じノードであるノードＮ１４と、リングＲ２の次のリングＲ３のノードＮ２４と順番が同じノードであるノードＮ３４に転送される。そして、ノードＮ２１、ノードＮ１４、ノードＮ３４において、データＤＮ２２がプロセッサ２に取り込まれる。
【０１０５】
そして、次に、図１８ａに示すように、ノードＮ２４からデータＤＮ２２の転送を受けたノードＮ２１は、転送されたデータＤＮ２２を、リングＲ２上のノードＮ２１の次のノードＮ２２と、リングＲ２の前のリングＲ１のノードＮ２１と順番が同じノードであるノードＮ１１と、リングＲ２の次のリングＲ３のノードＮ２１と順番が同じノードであるノードＮ３１に転送される。そして、ノードＮ１１、ノードＮ３１において、データＤＮ２２がプロセッサ２に取り込まれる。一方、ノードＮ２２においては、転送されたデータＤＮ２２は自身のプロセッサ２が送信したデータであるので、これを廃棄する。
【０１０６】
そして、これにより図１８ｂに示すように、リングＲ１のノードＮ１２が発信元となったデータＤＮ２２は、リングＲ１、リングＲ２、リングＲ３の全てのノードへの転送が完了する。
【０１０７】
以上、本発明の第３実施形態について説明した。
ところで、以上の第３実施形態では、プロセッサ２から他の各ノードに転送すべきデータが発生したときに、当該ノードにおいてデータを、他のリングの当該ノードに転送するようにしたが、これは、当該データがリングを周回して戻ってきたときに、当該ノードにおいてデータを、他のリングの当該ノードに転送するようにしてもよい。
【０１０８】
以上のような第３実施形態によれば、第１実施形態に比べ、ノードのデータの全ての他のノードへの転送を完了するまでの時間はリング数に応じて長くなるが、第１実施形態に比べ必要となるチャネル数を少なくすることができる。
【０１０９】
以下、本発明の第４の実施形態について説明する。
本第４実施形態に係る分散システムは、図１３に示した第３実施形態に係る分散システムの構成と同じ構成を備えている。また、本第４実施形態に係る各ノードの構成も、第３実施形態に係るノードの構成と同じ構成を備えている。
【０１１０】
また、第４実施形態に係る各ノードの転送制御装置３が備えるバッファも、図１４に示した第２実施形態において各ノードの転送制御装置３が備えるバッファと同様である。
一方、第４実施形態に係る各ノードの転送制御装置３が行うバッファ間の転送動作は、第３実施形態とは異なる。
すなわち、そして、転送制御装置３は、バッファ間の転送を図１９に示すように行う。
すなわち、受信バッファ３１のバッファＰ（ｒ）にプロセッサ２によって格納されたデータは、送信バッファ３２のバッファＲＳ（ｓ）とバッファＲＰ（ｓ）とバッファＲＮ（ｓ）に転送し、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードと、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードと、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードに送信する。
【０１１１】
また、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信し、受信バッファ３１のバッファＲＳ（ｒ）に格納されたデータは、重複転送抑止部ＣＨＫ３３に転送する。重複転送抑止部ＣＨＫ３３は、転送されたデータが過去に自ノードが発信元となって他ノードに送信したデータや、過去に自ノードが、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに転送したデータであるかどうかを調べ、自ノードが発信元となって他ノードに送信したデータや、自ノードが当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに転送したデータでない場合のみ、当該データを出力する。
【０１１２】
そして、転送制御装置３は、重複転送抑止部ＣＨＫ３３から出力されたデータを、送信バッファ３２のバッファＰ（ｓ）とバッファＲＳ（ｓ）に転送し、当該データを、プロセッサ２と、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに送信する。
【０１１３】
また、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードから受信しバッファＲＰ（ｒ）に格納されたデータは、送信バッファ３２のバッファＰ（ｓ）と、バッファＲＮ（ｓ）と、バッファＲＳ（ｓ）に転送し、プロセッサ２に送信すると共に、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードと、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに送信する。
【０１１４】
また、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードから受信しバッファＲＮ（ｒ）に格納されたデータは、送信バッファ３２のバッファＰ（ｓ）と、バッファＲＰ（ｓ）と、バッファＲＳ（ｓ）に転送し、プロセッサ２に送信すると共に、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードと、当該ノードと同じリングに含まれている当該リング上の順番が一つ後のノードに送信する。
【０１１５】
さて、プロセッサ２は、このようにして転送制御装置３から送信されたデータ、すなわち、当該ノードと同じリングに含まれている当該リング上の順番が一つ前のノードから受信したデータのうちの当該プロセッサ２から他のノードに過去に送信していないデータと、当該ノードが含まれるリングの一つ前の順番のリングのリング中の順番が同じノードから受信したデータと、当該ノードが含まれるリングの一つ後の順番のリングのリング中の順番が同じノードから受信したデータを受信し、その処理を行う。
【０１１６】
このような転送制御装置３の転送動作によって、本第４実施形態では、図２０ａにリングＲ１のノードＮ１２において発生したデータの転送ルートを、図２０ｂにリングＲ２のノードＮ２２において発生したデータの転送ルートを太線で示したように、各ノードのデータ転送が以下のように行われる。
【０１１７】
すなわち、データの発信元となるノードは、データを当該ノードが含まれるリングの当該ノードの一つ後のノードに送信すると共に、チャネルで接続している他の各リングのノードに送信する。また、各ノードは、チャネルで接続している一つ前のリングのノードから受信したデータを、当該ノードが含まれるリングの当該ノードの一つ後のノードに送信すると共に、チャネルで接続している一つ後のリングのノードに送信する。また、各ノードは、チャネルで接続している一つ後のリングのノードから受信したデータを、当該ノードが含まれるリングの当該ノードの一つ後のノードに送信すると共に、チャネルで接続している一つ前のリングのノードに送信する。また、各ノードは、当該ノードが含まれるリングの当該ノードの一つ前のノードから受信したデータのうちの、当該ノードが発信元でなく、かつ、過去に当該ノードがリングの当該ノードの一つ後のノードに転送していないデータを、当該ノードが含まれるリングの当該ノードの一つ後のノードに転送する。
【０１１８】
ここで、図２０ａ、ｂ中の＃ｘのｘは、データのｘ回目のノード間転送であることを表している。
図２０ａと図１５-図１６との比較、図２０ｂと図１７-図１８との比較より理解されるように、このように転送を行っても、第３実施形態と同じ転送回数（図２０ａと図１５-図１６の場合は５回、図２０ｂと図１７-図１８の場合は４回）で、任意のノードからデータを他の全てのノードに転送することができる。
【０１１９】
ただし、本第４実施形態は、第３実施形態に比べ各リング内のチャネルの負荷が増大する。そこで、本第４実施形態においては各リング内のチャネルを多重化等して当該負荷を分散するようにしてもよい。
【０１２０】
ところで、以上の第３実施形態、第４実施形態では、リング間のノードの接続を、i番目のリングのｊ番目のノードを、i番目のリング以外の各リングのｊ番目のノードとそれぞれ双方向のチャネルで接続することにより行ったが、本第３実施形態、第４実施形態においても、第１、第２実施形態と同様に、リング間のノードの接続は、i番目のリングの各ノードが送信側となるチャネルが、一つ前のリングと一つ後のリングの相互に異なるノードに受信側のチャネルとして接続される形態であれば、任意の接続形態でリング間のノードの接続は行ってよい。
【０１２１】
すなわち、たとえば、第３実施形態、第４実施形態におけるリング間の接続は、図２１に示すように、i番目のリングのｊ番目のノードが送信側となる単方向のチャネルを、i+１番目のリングのｊ+１番目のノードの受信側の単方向のチャネルとなるようにそれぞれ接続すると共に、i番目のリングのｊ番目のノードが送信側となる単方向のチャネルを、i-１番目のリングのｊ+１番目のノードの受信側の単方向のチャネルとなるようにそれぞれ接続することにより行うようにしてもよい。ただし、Ｚを各リングのノード数として、i番目のリングのＺ番目のノードが送信側となる単方向のチャネルは、i+１番目とi-１番目のリングの１番目のノードの受信側の単方向のチャネルとなるように接続する。
【０１２２】
このようなリング間の接続としても、同様にデータ転送を行うことができる。
また、本第３実施形態、第４実施形態に係る分散システムも、第１、第２実施形態と同様に、スイッチを設けて、分散システムを複数の分散システムに分割可能に構成してもよい。たとえば、図１３に示したリング間の接続を行う場合には図１１に示したように、図２１に示したリング間の接続を行う場合には図１２に示したようにスイッチを設ければ、全てのノードで一つの分散システムを構成したり、各リングのノードを分割して二つの分散システムを構成することができる。
【０１２３】
以上、本発明の実施形態について説明した。
なお、以上の各実施形態の各リングは、双方向のチャネルで複数のノードをリング状に接続して形成するようにしてもよい。ただし、この場合には、転送制御装置３において上述のように行った、同じリングに含まれている当該リング上の順番が一つ前のノードから受信したデータについての処理を、各方向について行うようにする。
【符号の説明】
【０１２４】
１…ストレージ、２…プロセッサ、３…転送制御装置、４…チャネルインタフェース、３１…受信バッファ、３２…送信バッファ、３３…重複転送抑止部ＣＨＫ、１００…スイッチ。
【図１】
2018097015.tif 000003
【図２】
2018097015.tif 000004
【図３】
2018097015.tif 000005
【図４】
2018097015.tif 000006
【図５】
2018097015.tif 000007
【図６】
2018097015.tif 000008
【図７】
2018097015.tif 000009
【図８】
2018097015.tif 000010
【図９】
2018097015.tif 000011
【図１０】
2018097015.tif 000012
【図１１】
2018097015.tif 000013
【図１２】
2018097015.tif 000014
【図１３】
2018097015.tif 000015
【図１４】
2018097015.tif 000016
【図１５】
2018097015.tif 000017
【図１６】
2018097015.tif 000018
【図１７】
2018097015.tif 000019
【図１８】
2018097015.tif 000020
【図１９】
2018097015.tif 000021
【図２０】
2018097015.tif 000022
【図２１】
2018097015.tif 000023
【図２２】
2018097015.tif 000024
【国際調査報告】
2018097015.tif 000025
2018097015.tif 000026
2018097015.tif 000027
2018097015.tif 000028