JP2008015617A - 分散共有メモリを用いた同報通信方法および装置 - Google Patents

分散共有メモリを用いた同報通信方法および装置 Download PDF

Info

Publication number
JP2008015617A
JP2008015617A JP2006183562A JP2006183562A JP2008015617A JP 2008015617 A JP2008015617 A JP 2008015617A JP 2006183562 A JP2006183562 A JP 2006183562A JP 2006183562 A JP2006183562 A JP 2006183562A JP 2008015617 A JP2008015617 A JP 2008015617A
Authority
JP
Japan
Prior art keywords
node
address
data
distributed shared
shared memory
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.)
Granted
Application number
JP2006183562A
Other languages
English (en)
Other versions
JP4490397B2 (ja
Inventor
Akira Tanaka
晶 田中
Masayasu Yamaguchi
正泰 山口
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006183562A priority Critical patent/JP4490397B2/ja
Publication of JP2008015617A publication Critical patent/JP2008015617A/ja
Application granted granted Critical
Publication of JP4490397B2 publication Critical patent/JP4490397B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ノード間データ転送制御装置において、ノードおよびネットワークへの負荷が少なく、同報のための手順が簡易な、分散共有メモリを用いた同報通信方法および装置を提供する。
【解決手段】分散共有メモリを用いたノード間のプロセス間通信において、同報手順においては、同報宛先ノード等にデータの送信にあわせて通知を送ることでデータ送信にあわせて特定(または、1つの選択したメモリ番地)のメモリ番地を同報用に用いることを通知し、各同報先プロセスに個別に送付するデータは宛て先の識別情報のみとして、同報対象のデータのメモリ書込みはノード毎に一箇所として(通知した同報用メモリ領域のみに書き込む)、メモリ番地をノード番地に変換し、ネットワーク内もノード毎に一つのデータが送信されるようにしながら複数プロセス宛てにデータを送信する。
【選択図】図1

Description

本発明は、ノード内、或いはノード間で分散共有メモリを用いてデータ転送を行う転送制御装置の技術に関わり、特に同報通信方式の技術に関する。
分散共有メモリを用いたノード間データ転送制御装置は、通常、LAN、ATM、TCP/IP等の既存の伝送方式を利用して、これら伝送方式のネットワーク内のノード識別子を分散共有メモリ番地に対応付けることで、データ転送を行うものである。
このような分散共有メモリを用いたノード間データ転送制御装置を用いた通信では、ローカルメモリにデータを書き込むだけで宛先ノードに送信される簡易性を有す上、さらに、メモリ解放通知を利用した送達確認が行われる特徴から、少ない手順で一貫性を保った同報通信を行うことができ、通信処理機能やネットワークヘの負荷も小さくてすむことが特徴の一つである(特許文献1)。
特開平06−266683号公報
しかしながら、分散共有メモリ通信においてはメモリを用いていることから、メモリ領域の一貫性を維持(排他制御のように、不要な上書きを避ける必要性がある)した上で、分散共有メモリを用いて同報通信を行おうとすると、ネットワーク、或いは、分散共有メモリ機構に複雑な手順が必要になりノードの通信処理機能やネットワークに大きな負荷が生じるという問題がある。
また、分散共有メモリを用いる転送制御装置は、ノード内の処理がネットワークなどの伝送手段の転送速度より高速であり、同報通信のように多量のデータを送出することは、ネットワークにその処理能力を上回る負荷を与えるなど、ネットワークの処理能力を阻害する可能性があり、転送制御装置の高速性を維持したまま、同報通信のような多量のデータを送出することは困難であるという問題がある。
また、ネットワークを介したノード間の同報は、上位層の同報機能を用いることによって宛先プロセス数のデータを送信することになり、上位層の通信処理機能、上位層と分散共有メモリ機構との整合性を保つ制御、或いは、ネットワーク等の伝送機能のみならず上位層の負荷も多大となる問題がある。
本発明は、このような事情に鑑みてなされたもので、その目的は、ノード間データ転送制御装置において、ノードおよびネットワークへの負荷が少なく、同報のための手順が簡易な、分散共有メモリを用いた同報通信方法および装置を提供することにある。
この発明は上述した課題を解決するためになされたもので、請求項1に記載の発明は、ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数プロセス或いはノード向けの送信に用いることを、自ノードを含むネットワークなどの伝送手段で接続された一つ以上のプロセス或いはノードに通知或いは設定する、ことを特徴とする分散共有メモリを用いた同報通信方式である。
請求項2に記載の発明は、ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置であって、プロセスによって書き込みおよび読み出しが行われるメモリであって、ネットワークに接続された複数のノード間データ転送制御装置でメモリ番地が仮想的あるいは物理的に同一である分散共有メモリと、メモリ番地が入力されると、該メモリ番地が含まれる前記分散共有メモリの領域と対応づけられたプロセスの存在するノード番地を出力するノード番地対応手段と、前記分散共有メモリに書き込まれるデータを取得し、前記ノード番地を有するプロセス或いはノード宛てに前記取得したデータを送信する送信手段と、前記ネットワークからデータを受信し、送信元プロセス或いはノードにおいて該データが書き込まれた分散共有のメモリ番地と仮想的或いは物理的に同一のメモリ番地に該受信データを書き込む受信手段と、を備える、ノード間データ転送制御装置であって、データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数プロセス或いはノード向けの送信に用いることを、自ノードを含むネットワークなどの伝送手段で接続された一つ以上のプロセス或いはノードに通知或いは設定する、ことを特徴とする分散共有メモリを用いた同報通信方式である。
請求項3に記載の発明は、ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、隣接する中継ノード或いは隣接する宛先ノードに各1個だけ送信データを送信し、宛先プロセスを識別する情報を宛先プロセス数だけ或いは宛先プロセス数分を一括して、宛先プロセスが存在するノードに送信することにより、同一データをネットワークなどの伝送手段で接続された複数プロセス或いはノードに送信する、ことを特徴とする分散共有メモリを用いた同報通信方式である。
請求項4に記載の発明は、ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、複数の宛先プロセス或いはノードに対応する複数のメモリ番地に同一データを書き込むことにより、同一データをネットワークなどの伝送手段で接続された複数プロセス或いはノードに送信する、ことを特徴とする分散共有メモリを用いた同報通信方式である。
請求項5に記載の発明は、複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、送信データと送信宛先となるプロセスと関連する前記分散共有メモリのメモリ番地情報とを受信し、前記受信したメモリ番地情報に基づきノード情報を取得し、前記取得したノード情報が同一のメモリ番地がある場合には、1つのメモリ番地を同一ノードメモリ番地情報として前記取得したノード情報が同一のメモリ番地から選択し、前記選択した同一ノードメモリ番地情報に前記受信した送信データを書き込み、前記同一ノードメモリ番地情報に書き込んだ送信データを参照するための識別情報を前記ノード情報が同一のメモリ番地毎に生成し、前記生成した識別情報を前記ノード情報が同一のメモリ番地に書き込む、分散共有メモリ管理手段と、前記分散共有メモリにデータが書き込まれるメモリ番地情報を取得し、前記取得したメモリ番地情報に基づきノード情報を取得し、前記取得したノード情報を送信するノード番地対応手段と、前記ノード番地対応手段からのノード情報を受信し、前記分散共有メモリに書き込まれた送信データと前記識別情報と前記受信したノード情報とに基づき送信処理を実行する転送制御装置と、を有することを特徴とする分散共有メモリを用いた同報通信装置である。
請求項6に記載の発明は、複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先ノード番地情報を取得し出力するノード番地対応手段と、前記ノード番地対応手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、を有することを特徴とする分散共有メモリを用いた同報通信装置である。
請求項7に記載の発明は、複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、前記宛先識別子と複数の宛先ノード番地情報とを関連づけて予め記憶している展開テーブルと、送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地基づき宛先識別子を取得し出力するノード番地対応手段と、前記ノード番地対応手段の出力した宛先識別子を取得し、前記取得した宛先識別子と関連する宛先ノード番地情報を前記展開テーブルから取得する展開手段と、前記展開手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、を有することを特徴とする分散共有メモリを用いた同報通信装置である。
請求項8に記載の発明は、複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、前記宛先識別子と複数の宛先ノード番地情報とを関連づけて予め記憶している展開テーブルと、送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先識別子を取得し出力するノード番地対応手段と、前記ノード番地対応手段の出力した宛先識別子を取得し、前記取得した宛先識別子と前記分散共有メモリ管理手段に書き込まれた送信データと前記展開テーブルとに基づき送信する転送制御手段と、を有することを特徴とする分散共有メモリを用いた同報通信装置である。
この発明によれば、分散共有メモリを用いる転送制御装置において、データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地(1つの選択したメモリ番地)を複数ノード向けの送信に用いることを、自ノードを含むネットワーク内の一つ以上のノードに対して通知し、分散共有メモリを管理する機能が対応する通信層が、全ての同報先に個別に送信データを送信しないで一部の宛先或いは中継ノードに対してのみデータを送信することにより、分散共有メモリを管理する機能が対応する通信層の負荷を低減することができるという効果を奏する。
また、この発明によれば、従来、送信元のデータ発生源であるアプリケーションプログラム、プロセス或いはOSなどが、同一のデータを同報先に対応する複数の分散共有メモリの同報先番地に書き込む必要があったが、このような負荷を軽減する効果を奏する。
以下、図面を参照して、本発明の実施の形態について説明する。図1は、この発明の一実施形態による分散共有メモリを用いた同報通信装置の構成を示す概略ブロック図である。また、図2は、ノード番地対応手段の機能概要を説明するための説明図である。
まず、図1と図2を用いて、分散共有メモリを用いた通信システムについて説明する。なお、図2において、図1の各部に対応する部分には同一の符号を付け、その説明を省略する。
図1に示すように、各ノード(例えば、ノード1aと1b)は、ネットワーク2を介して接続されている。また、各ノード(例えば、ノード1aと1b)は、それぞれ固有のノード番地を有しており、ノード番地によりそれぞれのノードが識別される。
次に、各ノードの構成について説明する。例えば、1つのノードであるノード1aの構成を説明する。なお、他のノード(例えばノード1b)の構成も、ノード1aと同様である。
ノード1aは、演算装置1a−2と、ノード内メモリ1a−3と、内部バス1a−4と、転送制御装置1a−5と、ノード番地対応手段1a−6と、を有する。
内部バス1a−4には、演算装置1a−2と、ノード内メモリ1a−3と、転送制御装置1a−5が接続されている。
ノード番地対応手段1a−6は、内部バス1a−4と転送制御装置1a−5と接続される。なお、ノード番地対応手段1a−6は、内部バス1a−4または転送制御装置1a−5のうち、一方のみに接続されていてもよい。
ノード内メモリ1a−3の一部は、分散共有メモリ領域1a−3−1としてノード間の通信のために用いられる。例えば、分散共有メモリ領域1a−3−1は、1a−3−1aから1a−3−1nのデータバッファの領域に更に区分され、各区分が送信先のノードに関連づけられて設定してある。各区分とノードとの関連付けは、後述のノード番地対応手段1a−6にてなされている。
なお、図示はしていないが、分散共有メモリ領域1a−3−1は送信データ部、送信要求データ領域、識別データ領域に分かれている。
ノード番地対応手段1a−6は、例えば図2のテーブルT1に示すように、メモリ番地(例えば、分散共有メモリ領域1a−3−1の区分の先頭番地である1a−6−1)とノード番地(1a−6−2)とを対応づける対応手段を有している。
また、ノード番地対応手段1a−6は、分散共有メモリ領域1a−3−1にデータが書き込まれることを監視しており、分散共有メモリ領域1a−3−1に送信データが書き込またことを検出した場合、送信データが書き込まれたメモリ番地を検出し、検出したメモリ番地に対応するノード番地を対応手段に基づき転送制御装置1a−5に出力する機能を有する。
ノード番地対応手段1a−6は、例えば、図2に示すように、メモリ番地を読み込み(ステップS21)、読み込んだノード番地を、シフトおよびマスク等演算或いは対応表(テーブルT1)を参照する等により、ノード番地に変換し(ステップS22)、ノード番地を出力する(ステップS22)。
なお、ノード番地対応手段1a−6においては、通常はメモリ番地が決まればノード番地は一意に決まるが、1つのメモリ番地が1つのノード番が対応するものに限定しているものではなく、後述する本発明の第2の実施の形態に示すように、1つのメモリ番地に複数のノード番地が対応する、或いは、1つのノード番地に対応付け可能な何らかの識別子が対応するものであっても良い。
転送制御装置1a−5は、内部バス1a−4上を流れる送信データと、メモリ番地と、ノード番地対応手段1a−6から出力されるノード番地とを取得し、該ノード番地宛の送信用ペイロードに、送信データとメモリ番地を書き込む機能を有する。
また、転送制御装置1a−5は、送信要求データと識別データとを、前記の取得済みのノード番地宛のペイロードに書き込み、宛先ノードに送出する機能を有する。ここで、送信要求データと識別データとは、後述の分散共有メモリ管理部1a−9が生成する情報である。
また、転送制御装置は、ペイロードを受信した場合には、前記送信要求データを自ノードの分散共有メモリのキューを構成する送信要求データ受信領域に書き込み、識別データと送信データをペイロードに書き込まれているメモリ番地に書き込む機能を有している。
アプリケーションプログラム1a−1(1a−1aから1a−1nのそれぞれ)は、ノード1aで実行されるプログラムであり、演算装置1a−2で実行される。ここでは、プログラムと記載しているが、プログラムにより実行されるプロセスを示してもよい。また、アプリケーションプログラム1a−1aは、アプリケーションプログラムで代表しているが、OS(オペレーティングシステム)或いはミドルウェア、ライブラリなどであっても良い。
なお、説明においては、アプリケーションプログラム1a−1が、他のノード(のプロセス)に対して送信要求を送信する。また、アプリケーションプログラム1a−1を、プロセス1a−1として説明する。
分散共有メモリ管理部1a−9は、メモリ番地1a−3−1aや送信データ長を含む識別データと識別データの番地を含む送信要求データとを生成し、各々分散共有メモリ内の送信要求データ領域と識別データ領域に書き込む機能を有している。
次に、プロセスが他のノードのプロセスへ送信する場合の動作を説明する。
演算装置1a−2で実行されるプロセスは、送信するためのデータ(以下、送信データ)を、内部バス1a−4を通してノード内メモリ1a−3の中にある分散共有メモリ領域1a−3−1に送信データを書き込むことにより、送信データ)を他のノード(のプロセス)へ送信する。
例えば、プロセス1a−1aが、分散共有メモリ管理部1a−9を介して、メモリ番地1a−3−1aで示される領域にデータを書き込むと、ノード番地対応手段1a−6が内部バス1a−4上を流れる該メモリ番地を読み込み、書き込んだメモリ番地1a−3−1aに対応するノード番地を出力する。
転送制御装置1a−5は、内部バス1a−4上を流れる送信対象データ、メモリ番地、そして1a−6から出力されるノード番地を取得し、該ノード番地宛の送信用ペイロードに送信データとメモリ番地を書き込む。
また、分散共有メモリ管理部1a−9は、メモリ番地1a−3−1aや送信データ長を含む識別データと識別データの番地を含む送信要求データとを生成し、夫々分散共有メモリ内の送信要求データ領域と識別データ領域に書き込む。
転送制御装置1a−5は、前送信要求データと識別データ何れも、前記の取得済みのノード番地宛のペイロードに書き込み、宛先ノードに送出する。
前記ペイロードを受信した受信ノードでは、転送制御装置が、前送信要求データを自ノードの分散共有メモリのキューを構成する送信要求データ受信領域に書き込み、識別データと送信データをペイロードに書き込まれているメモリ番地に書き込む。
こうして識別データと送信データは送信元のメモリ1a−3上の同一データと同じメモリ番地に書かれることになり、分散共有メモリ管理部1a−9が受信した送信要求データのキューから送信要求を読み、書き込まれた識別データの番地を読み、識別データに書かれた送信データのメモリ番地からはじまるメモリ領域を識別データに書かれた送信データ長だけ読み取ることで、ノード1aからノード1bへの通信が行われる。ただし、送信順序は、送信要求データが最後になるようにする。
受信側のノードで、受信対象のプロセスが送信データを読めば、分散共有メモリ管理部1a−9が該メモリ領域を解放する通知をデータを送信したノードに応答として送信する(受信ノード内の分散共有メモリ上の、送信元ノードに対応したデータバッファ領域に書き込む)。
以上のように、例えば、送信ノードが送信する情報は、送信データ(プロセスが送りたい情報)、識別データ(送信データのメモリ番地、データ長等)、送信要求データ(識別データのメモリ番地等)、の3種類を含む。なお、送信ノードが送信する情報は、これに限られるものではなく、他の情報が含まれてもよい。
送信データと識別データとは、送受信とも分散共有メモリの送信元ノード毎に区別される領域に書かれるが、送信要求データのみは、送信側では送信元ノード毎に区別され、受信側ではキューに書かれ、キューから取り出された順に、送信要求データが示す識別データのメモリ番地に基づいて、識別データや送信データに関する読み取りなどの処理が行われる。
なお、実施の形態の説明においては、送信データと、識別データと、送信要求データとを、1つのペイロードとして送信するものとして説明しているが、これに限られるものではなく、送信データと、識別データと、送信要求データとを、任意に組み合わせたものを1つのペイロードとし、そのペイロードを送信してもよい。
なお、下位プロトコルがパケットを生成する際、送信データのメモリ番地やデータ長を送信データにつけて下位プロトコルのペイロードに書き込む構造をとってもよく、この場合、受信ノードが送信データの番地を読む際、識別データでなく送信データに付随する番地を読んでもよい(識別データも同じく番地をつけて送る構造でよく、識別データの受信側も送信データの場合と同様である)。
なお、分散共有メモリ上で送信データ(送受信側)、識別データ(送受信側)、送信要求データ(送信側)が、書き込まれる「番地」とは、あるメモリ番地においてある範囲を示すものである。例えば、データバッファ1a−3−1aが0番地から99番地まであるとすれば、さらにこれが複数に区分されており、0番地から9番地に1つの送信データを書き、次の送信データは10番地から19番地に書く、のような使用方法をとる。
書き込むデータが短ければ空きが生じるが、通常はこのように固定長で区分しておく。また、0から9番地にデータを書き込み、次に、20から29番地にデータを書き込んでもよい。
なお、ある「番地」に書き込む、とは、処理上、例えば、0から9番地の領域を、0番地で代表して、「0番地に書き込む」ことを意味する。
なお、図1では分散共有メモリ管理部1a−9は、演算装置1a−2内に存在するように示しているが、OSの機能の一部としてもよい。または、分散共有メモリ管理部1a−9は、ノード1aの演算装置1a−2ではなく、分散共有メモリ管理部1a−9を実行するノード内の他演算装置と該演算装置に付随する記憶領域に置かれて実行される機能であるが、他の位置に置いても良い。
なお、ノード番地対応手段1a−6は、図2ではテーブルのように示してあるが、テーブルでなくてビットのシフトやマスク、或いは、演算によってメモリ番地とノード番地を対応付ける機能を有するようにしてもよい。
または、ノード番地対応手段1a−6は、何らかの演算により、検出したメモリ番地をノード番地に変換し、出力するようにしてもよい。
次に、図3と図4とを用いて、ノードが送信を行う場合の処理と受信を行う場合との処理の手順を説明する。
ノードが、送信を行う場合には、図3に示すように、まず、プロセス1a−1aが送信データを生成する(ステップS310)。ここでプロセスは、書き込むべきメモリ番地は検出済みである。プロセスは、生成した送信データと書き込むべきメモリ番地を、分散共有メモリ管理部1a−9へ送信する。
次に、分散共有メモリ管理部1a−9が、受信した送信データとメモリ番地とに基づき、分散共有メモリの検出した番地に生成した送信データを書き込む(ステップS320)。
次に、分散共有メモリ管理部1a−9が識別データと送信要求データとを生成する。また、分散共有メモリ管理部1a−9が、使用するメモリ番地をロックする(ステップS330)。
分散共有メモリ管理部1a−9が識別データと送信要求データとを指定番地に書き込む(ステップS340)。
次に、ノード番地対応手段がメモリ番地からノード番地(IPアドレス等)を出力する(ステップS350)。
次に、転送制御装置がメモリ番地書き込みと並行して送信データ、識別データ、送信要求データを読み取り、ノード番地宛の送信用フレーム(つまり、送信用ペイロード)を生成し、送出する(ステップS360)。
図には示していないが、送信元ノードで、その後、送信先ノードからの開放通知を受信すると、使用したメモリ番地のロックを解除する(後述のステップS450に相当)。
次に図4を用いて、ノードが受信を行う場合についての動作を説明する。
ノードが、受信を行う場合には、図4に示すように、まず、送信データと識別データと送信要求データが転送制御装置に到着すると」、これを転送制御装置が受信する(ステップS41)。
次に、転送制御装置が、送信要求データはメモリ上のキューに格納し、識別データに付随してペイロードに書かれたメモリ番地(或いは送信要求データに書かれた番地)に識別データを書き、送信データに付随してペイロードに書かれたメモリ番地(或いは識別データ内に書かれた番地)に送信データを書き込む(ステップS420)。
次に、プロセスが、送信要求を先頭から読み込み、そこに書かれた識別データの番地から、識別データを読み、そこに書かれた番地とデータ長に従い送信データを読む(ステップS430)。
次に、プロセスが(或いはOS経由で)開放通知を生成し、送信と同じ手段で、データ送信元に返送する(ステップS440)。
送信元ノードで、開放通知を受信すると、開放通知に該当するメモリ番地のロックを解除する(ステップS450)。なお、ステップS450は、送信元ノードでの動作処理である。
次に、分散共有メモリを用いた通信において、同報通信を行う第1の実施の形態について詳しく説明する。
なお、本説明において用いる同報通信とは、マルチキャストおよびブロードキャストの両方を示す。
また、プロセス或いはアプリケーション或いはOS(少なくとも転送制御装置より上位層であり、以下、プロセスとする)が、プロセスを実行するにあたり、他のどのプロセスが関連するかは検出しているか、あるいは、検出可能である。
例えば、それら関連するプロセスは、同一のメモリを参照して処理を行う。従って、関連するプロセスが参照するメモリ上の領域が、分散共有メモリのどのアドレス番地であるかは、プロセス自体が検出することができる。言い換えると、メモリ上のどの領域が、他のプロセスが参照する領域であるかを、プロセス自体が検出できる。
なお、ここでいう、「同一のメモリ」とは、分散共有メモリの構造をとり、複数ノードで分散して保持しているものである。
そのため、例えば、プロセスが同報通信を行う宛先とするプロセスを、プロセスが関連するプロセスとし、そのため宛先となるプロセスのメモリ番地を決定することが可能である。
また、この場合、プロセスは分散共有メモリのメモリ番地により識別される。
同報通信を行う場合、プロセス1a−1aは、送信データと、同報対象の複数の分散共有メモリのメモリ番地(ここでは、分散共有メモリのメモリ番地がノードとプロセスを指定する情報となる)とを分散共有メモリ管理部1a−9へ送信する。また、対象データが同報である場合には、プロセス1a−1aは、同報の通信を開始する通知(同報通知)を、分散共有メモリ管理部1a−9に送信する。
分散共有メモリ管理部1a−9は、プロセス1a−1aから同報通知を受信し、該通知を契機に同報開始を示す識別子(以下、同報識別子)を生成し(送信データ領域のメモリ番地或いは該番地を識別可能な識別子を有する)、同報宛先ノード向けに送信する。分散共有メモリ管理部1a−9は、宛先ノードまでの間に中継ノードがある場合には、宛先ノードと中継ノードとに同報識別子を送信する。
なお、分散共有メモリ管理部1a−9は、例えば、ルーティングテーブルを有しており、ルーティングテーブルに基づき宛先ノードや中継ノードを決定する。
次に、分散共有メモリ管理部1a−9は、プロセス1a−1aから受信した送信データと複数のメモリ番地情報とに基づき、直接通信する1個のノードに複数の宛先プロセスが存在する場合は、そのうち一つのプロセス宛のメモリ番地に書き込むことにより、1個のノードへ1つの送信データのみを送信する。
また、分散共有メモリ管理部1a−9は、送信データに関連する識別データ1a−8−bと送信要求データ1a−8−cを生成し、生成した識別データ1a−8−bは同報先の全てのプロセス宛のものを生成しておき中継或いは宛先ノードヘ送信し(図1、2で説明した送信手段による)、生成した送信要求データ1a−8−cは同報宛先ノード向けの番地に書き込むが(中継ノードが存在する場合は中継ノードに送信される。但し、送信データは中継ノードでなく、直接宛先ノードに送られても構わない)、一つのノードに複数の宛先プロセスが存在する場合は、そのうち一つのプロセス宛に送信する。
例えば、1つのノードに複数の送信先となるプロセスがある場合には、送信先となるプロセスのうち、プロセスの該当するメモリ番地の値が一番小さいメモリ番地を選択し、選択したメモリ番地のみに書き込み送信するようにする。または、例えば、特定の予め決めておいたメモリ番地を選択し、選択したメモリ番地のみに書き込み送信するようにする。
尚、分散共有メモリ管理部1a−9は、同報対象の送信データが全て送信された後に、送信要求データを送信する。
なお、例えば、宛先プロセスとノードとの関係を予め登録しているテーブルがあり、分散共有メモリ管理部1a−9は、そのテーブルに基づき、どの宛先プロセスがどのノードにあるかを検出し、1つのノードの複数の宛先プロセスがある場合には、1つのノードにおける1つの宛先プロセスのみに送信データと送信要求データとを送信する。
また、例えば、それぞれの分散共有メモリ管理部1a−9はルーティングテーブルを有しており、宛先ノードとルーティングテーブルとに基づき、宛先ノードまでの間にあるノード(中継ノード)を決定する。
分散共有メモリ管理部1a−9からの同報識別子を受信したノード(中継ノードまたは宛先ノード)は、受信した識別データが自ノード宛番地を示せば、つまり、同報識別子を受信したノードが宛先ノードであれば、受信した識別データで指定されるメモリ番地に自ノード宛のデータバッファに受信した送信データを書き込み、送信要求データが到着した後に、送信元ノード或いは中継ノードにメッセージ解放通知を送信する。なお、識別データはプロセスと対応する対応のメモリ番地を示している。
また、同報識別子を受信したノードは、受信した識別データが他ノード宛番地を示せばつまり中継ノードである場合、宛先ノード毎に、プロセス1a−1aから同報通知を受信した分散共有メモリ管理部1a−9と同様の処理を実行し、同報通信の処理を実行する。また、同報識別子を受信したノードは、送信要求データが到着するまでは、識別データを自ノードの識別データ領域に書き込みを行う。
また、同報識別子を受信したノードは、記録した送信元ノードを参照して全ての後段ノード(送信宛先に至るまでに通過するノード及び宛先ノード)からの解放通知が到着した後、前段ノードヘ解放通知を送信する。
つまり、同報通信を行うとき、プロセスから同報通信であることを示す同報通知を受信することにより、分散共有メモリ管理部1a−9や他の装置は、以下のような送信処理を実行する。
まずノードは、複数のノード間の通信のために用いる分散共有メモリと、分散共有メモリのメモリ番地の情報であるメモリ番地情報と送信宛先となるノードを識別するノード情報とが予め関連付けられて記憶してあるノード番地対応テーブルと、を有している。
分散共有メモリ管理部1a−9は、送信データと送信宛先となるプロセスと関連する分散共有メモリのメモリ番地情報とを(プロセスより)受信し、受信したメモリ番地情報に対応するノード情報をノード番地対応テーブルに基づき取得し、取得したノード情報が同一のメモリ番地がある場合には、1つのメモリ番地を同一ノードメモリ番地情報として取得したノード情報が同一のメモリ番地から選択し、選択した同一ノードメモリ番地情報に受信した送信データを書き込み、同一ノードメモリ番地情報に書き込んだ送信データを参照するための識別情報をノード情報が同一のメモリ番地毎に生成し、生成した識別情報をノード情報が同一のメモリ番地に書き込む。
ノード番地対応手段は、分散共有メモリにデータが書き込まれるメモリ番地情報を取得し、取得したメモリ番地情報からノード番地対応テーブルに基づいてノード情報を取得し、取得したノード情報を転送制御装置に送信する。
転送制御装置は、ノード番地対応手段からのノード情報を受信し、分散共有メモリに書き込まれた送信データと識別情報と受信したノード情報とに基づき送信処理を実行する。
なお、この場合、転送制御装置は、複数のメモリ番地が1つのノードに送信する場合、例えば、1つのノードへ送信する1つのペイロードに、1つの送信データと、複数の識別データと、1つの送信要求データを書き込んで送信する。
ペイロードを受信したノードにおいては、分散共有メモリ管理部1a−9が、受信したペイロードの送信データを識別データに基づき、分散共有メモリに書き込む。また、ペイロードを受信したノードにおいては、分散共有メモリに、送信データが書き込まれることにより、送信の処理がなされる。
つまり、他のノード宛の分散共有メモリに書き込まれた送信データは、送信の時と同じ手順により、送信される。
なお、自身のノード(のプロセス)宛へのデータは、それ以上転送されることはない。そのため、転送される宛先は、転送により減少していく。
なお、受信元ノードから転送先ノードに転送を行った転送ノードは、転送先ノードから開放通知を受信するのを待ち、転送先ノードの全てから開放通知を受信した後、受信元ノードへ開放通知を送信する。
転送ノードが、それ以上転送しない場合には、転送ノードは、開放通知を、受信元ノードへ送信する。
転送ノードが、転送するか否かの検出は、識別ノードが自身のノードだけであり、他のノードの情報が無いことにより検出する。
次に、図5と図6とを用いて、ノードが送信を行う場合の処理と受信を行う場合との処理の手順を説明する。
ノードが、送信を行う場合には、図5に示すように、まず、プロセスが、同報通信のための送信データを生成する(ステップS510)。ここでプロセスは、書き込むべきメモリ番地(送信先のプロセス)は検出済みである。プロセスは、生成した送信データと書き込むべきメモリ番地とを、分散共有メモリ管理部1a−9へ送信する。ただし、ここでは、宛先となるメモリ番地は複数あり、プロセスは、複数のメモリ番地を送信するものとする。また、プロセスは、同報を示す通知を分散共有メモリ管理部1a−9へ送信する。
次に、同報を示す通知を受信した分散共有メモリ管理部1a−9が、同報識別子を宛先ノードおよび中継ノードに送信する(ステップS515)。
次に、分散共有メモリ管理部1a−9が、同報を示す通知を受信し、受信した送信データとメモリ番地とに基づき、分散共有メモリの検出した番地に生成した送信データを書き込む(ステップS520)。ただし、複数の宛先が同じノードである場合には、1つの宛先のみに送信データを書き込む。
次に、分散共有メモリ管理部1a−9が識別データと送信要求データを生成する。また、分散共有メモリ管理部1a−9が、使用するメモリ番地をロックする(ステップS530)。
分散共有メモリ管理部1a−9が識別データと送信要求データとを指定番地に書き込む(ステップS540)。
次に、ノード番地対応手段がメモリ番地からIPアドレス等のノード番地を出力する(ステップS550)。
次に、転送制御装置がメモリ番地書き込みと並行して送信データ、識別データ、送信要求データを読み取り、ノード番地宛の送信用フレームを生成し、送出する(ステップS560)。ただし、複数の宛先プロセス毎に、識別データを送信する。
図には示していないが、送信元ノードで、その後、送信先ノードからの開放通知を受信すると、使用したメモリ番地のロックを解除する。
次に図6を用いて、同報識別子を受信した場合における、ノード(宛先ノードまたは中継ノード)が受信を行う場合についての動作を説明する。なお、同報識別子を受信していない場合のノードの受信を行う場合の動作は、図4を用いて説明した受信と同じである。
まず、送信要求データのキューの先頭データを読む(ステップS610)。
送信要求データが示す識別データが示すメモリ番地が他ノードを含むか否かを検出する(ステップS650)。
ステップS650の検出において、他ノードを含む場合には、宛先ノード(或いは宛先ノード向けの中継ノード)を決定する(ステップS660)。
宛先ノード(或いは中継ノード)に対応するメモリ番地(送信データ領域内)に、識別データが示す送信データ番地に書かれたデータを書き込む(ステップS670)。
宛先ノード(或いは中継ノード)に対応するメモリ番地(識別データ、送信要求領域内)に、宛先のメモリ番地やデータ長を含む識別データ、識別データの番地を含む送信要求を生成し、書き込む(ステップS660)。
ステップS650の検出において、他ノードを含まない場合には、1対1通信の受信処理を実行する(ステップS690)。なお、S690において、識別データ内のメモリ番地が複数含まれる場合は、各番地に対して、1対1通信の受信処理を実行する。これは、図4に説明した、受信処理を同じである。
次に、図7は、同報対象となるデータの送信の後或いは、データとあわせて、或いは、データ送信前であって、該データが同報データであることを送信元プロセスが指示した後に、該データが書き込まれたメモリ領域を同報データが存在する領域として通知し処理する場合を説明する図である。ここでは、図1、2もあわせて参照している。
なお、図7において、同一の処理については同一の番号を付け、その説明を省略している。
動作の説明においては、ノード1aのプロセス1a−1aが、ノード1cの2つのプロセスと、ノード1bの1つのプロセスとに同報通信する場合について説明する。また、ノード1bが、ノード1aとノード1cとの間の通信を中継する場合について説明する。
処理(a)プロセス1a−1aは、同報対象の送信データを生成し、生成した送信データと、同報の通信を開始する通知(1a−10)と、同報対象のプロセス名(メモリ番地で識別するのでメモリ番地)とを、分散共有メモリ管理部1a−9に送信する。
分散共有メモリ管理部1a−9は、同報対象の送信データを生成し同報宛先ノード向けの番地に書き込むが、1個のノードに複数の宛先プロセスが存在する場合は、特定の予め決められたメモリ番地(または、1つの選択したメモリ番地)に書き込む(1a−8−a)。この書き込み領域が、複数のプロセス宛の送信に用いられる。
なお、図7において、「※1」で示す、プロセス1a−1aが同報対象の送信データを生成するステップが、同報通信の開始である。
処理(b−1)分散共有メモリ管理部1a−9は、該通知を契機に同報開始を示す識別子(以下、同報識別子)を生成し(送信データ領域のメモリ番地或いは該番地を識別可能な識別子を有する)、同報宛先ノード向けに送信する(図1、2で説明した送信手段による)。
送信データは、ひとつノードに複数の宛先プロセスが存在する場合は、一つのノードにつき一つだけ送信される(図1、2で説明した送信手段による)。
処理(b−2)分散共有メモリ管理部1a−9は、送信データに関連する識別データ1a−8−bと送信要求データ1a−8−cを生成し、前者は同報先の全てのプロセス宛のものを生成しておき中継或いは宛先ノードヘ送信し(図1、2で説明した送信手段による)、後者は同報宛先ノード向けの番地に書き込むが(中継ノードが存在する場合は中継ノードに送信される。但し、送信データは中継ノードでなく、直接宛先ノードに送られても構わない)、ひとつノードに複数の宛先プロセスが存在する場合は、そのうち一つのプロセス宛に送信する(図1、2で説明した送信手段による)。
尚、送信要求データは同報対象の送信データが全て送信された後に送信される(図1、2の説明と同じ)。
また、送信宛先のノード番地を記録する。(a)で書き込まれた送信データもやはり中継ノードか宛先ノードに送られる(図7の※2である)。
処理(c−1およびd)同報識別子を受信した中継ノードまたは宛先ノードは、受信した識別データが自ノード宛番地を示せば(同報識別子を受信した中継ノードが宛先ノードである)、識別データで指定される(識別子はプロセス対応の番地を示す)メモリ番地に自ノード宛のデータバッファに受信した送信データを書き込む。
また、同報識別子を受信した中継ノードまたは宛先ノードは、送信元ノード或いは中継ノードにメッセージ解放通知を送信する(解放通知は送信要求データが到着した後に行う)。
処理(c−2)同報識別子を受信した中継ノードまたは宛先ノードは、識別データが他ノード宛番地を示せば宛先ノード毎に、処理(b−1)と処理(b−2)とを実行する。また、同報識別子を受信した中継ノードまたは宛先ノードは、送信要求データが到着するまでは、識別データを自ノードの識別データ領域に書き込みを行う。
処理(e)中継ノードは、記録した送信元ノードを参照して全ての後段ノード(送信宛先に至るまでに通過するノード及び宛先ノード)からの解放通知が到着した後、前段ノードヘ解放通知を送信する。
処理(f)送信元ノードは、記録した送信先ノードを参照して全ての後段ノードからの解放通知が到着した後、この同報で使用した全てのデータバッファを解放する。
尚、送信要求データは識別データを介して送信データとの対応付けが可能なので、受信ノード或いは中継ノードでは同報終了をも示すこととなり、本一連の通信に用いたデータバッファは、以降の通信においては前記処理(a)〜(f)の処理ではなく、通常の通信に用いることができる。送信元ノードは送信要求データ以外に同報終了通知を別途送信しても良い。
なお、図7の説明において、同報の通信を開始する通知1a−10は、送信データ1a−8−a、或いは、識別データ1a−8−bで各ノード向けのものから1つ選択したもの、或いは、送信要求データ1a−8−c、の内の何れかに含めて送信してもよい。
これは、通常、一回のデータ送信に関わる一連の送信は、連続して行われ(下位レイヤーの1つのペイロードに書き込まれる場合は、1つに書き込まれることも有り得る)、受信側でプログラムが読み出し処理が完結するのは、送信側で最後に送信される送信要求データ1a−8−cが到着してからとなるので、たとえ、最後尾の送信要求データ1a−8−cに同報の通信を開始する通知1a−10が含まれていたとしても、受信側の処理は問題なく行われるからである。
なお、図7のノードAの処理において、処理(a)と処理(b−1)との組が2回記載されているが、これは、最初に処理される処理(a)と処理(b−1)との組とが同報通知に関する処理であり、次に処理される処理(a)と処理(b−1)との組とが送信データに関する処理である。
また、図7における信号送信を示す線は、ネットワーク等の伝送手段により一本の線が複数の伝送に分けられることや、複数の線が一回の伝送で行われることもあり、ノード内の情報伝達も同様である。
なお、説明において、プロセス1a−1aと分散共有メモリ管理部1a−9とが別のものであるとして説明したが、これは一体としてもよい。
また、プロセス1a−1aまたは分散共有メモリ管理部1a−9が、ノードのOSの一部として機能するようにしてもよい。
第1の実施形態においては、送信データを、1つの宛先ノードの複数のプロセスにおいて送信データを送信する場合、1つの宛先ノードについて、1つの送信データしか送信しないため、送信におけるネットワークの負荷が低減するという効果がある。
次に、図8を用いて、同報通信を行う第2の実施形態について説明する。図8は、同報対象となるデータの送信如何にかかわらず、予め、分散共有メモリの特定の領域に対応するノード番地を、同報を示す番地に定めておく場合を説明する図である。ここでは図1、2もあわせて参照して説明する。
第2の実施形態においては、プロセス1a−1aは1つの宛先(メモリ番地)を通知してくるのみであり、ノード番地対応手段1a−6または展開手段4が、1つの宛先を複数の宛先ノード番地に展開することにより、同報通信を行う。
なお、ここで用いる「展開する」とは、個別の宛先に変換することであり、該変換により何らかの手段で送信データは個別の宛先向けに複製されることになる。但し変換しなくても個別の宛先に到達する場合は変換不要であるので、「展開」は「個別の宛先に変換しなければ個別の宛先に到達しない場合は個別の宛先に変換し、変換しなくても個別の宛先に到達する場合は変換しない」ことを示す。
展開する第1の方法は、ノード番地対応手段において、予め1つのメモリ番地と、複数の宛先ノード番地とを関連付けて複数ノード番地対応手段として記憶しておき、ノード番地対応手段が、受信したメモリ番地に対応する複数の宛先ノード番地を複数ノード番地対応手段より取得し、取得した複数の宛先ノード番地を転送制御装置へ送信し、転送制御装置が受信した複数の宛先ノード番地への通信を実行することにより、同報通信を実行する方法である。
第2と第3の方法は、展開手段を用いる方法である。展開手段は、同報の宛先を示すための同報識別子と複数の宛先ノード番地とを予め関連付けて同報識別子対応手段として記憶しており、同報識別子を受信すると、受信した同報識別子に対応する複数の宛先ノード番地を同報識別子対応手段より取得し、取得した複数の宛先ノード番地を出力する機能を有する。
つまり、展開手段は、同報識別子を複数の宛先ノード番地に展開する機能を有する。なお、同報識別子とは、一意に識別されるものである。
展開する第2の方法は、ノード番地対応手段において、メモリ番地に同報を示す同報識別子を予め関連付けて記憶しておき、1つのメモリ番地を受信したノード番地対応手段がメモリ番地を受信すると、メモリ番地に対応する同報識別子を展開手段に送信し、ノード番地対応手段からの同報識別子を受信した展開手段が、受信した同報識別子に対応する複数の宛先ノード番地を同報識別子対応手段に基づいて取得し、取得した複数の宛先ノード番地を転送制御装置へ送信し、受信した複数の宛先ノード番地へ転送制御装置が送信することにより、同報通信を実行する方法である。
展開する第3の方法は、ノード番地対応手段において、メモリ番地に同報を示す同報識別子を予め関連付けて記憶しておき、1つのメモリ番地を受信したノード番地対応手段がメモリ番地を受信すると、メモリ番地に対応する同報識別子を転送制御装置へ送信し、ノード番地対応手段からの同報識別子を受信した転送制御装置が、受信した同報識別子を展開手段に送信し、転送制御装置からの同報識別子を受信した展開手段が、受信した同報識別子に対応する複数の宛先ノード番地を同報識別子対応手段に基づいて取得し、取得した複数の宛先ノード番地に基づいて送信することにより、同報通信を実行する方法である。
次に図8を用いて、第1から第3の展開の方法について説明する。
なお同図において、同様の構成においては同一の記号番号を付け、異なる方法については「’」、「’’」または「’’’」を付けて、説明する。
ノード番地対応手段1a−6は、図8に示すように、通常の用途(相手ノードが1個)に対応する領域1a−6Aと、同報用途に対応する領域1a−6Bと、を有する。
ノード番地対応手段1a−6の中で、通常の用途である1a−6Aにおいては、例えば1つのメモリ番地1a−6−1−aに、1つのノード番地1a−6−2−aに対応付けて記憶されている。
ノード番地対応手段1a−6の中で、同報用途に用いる1a−6Bにおいては、例えば1つのメモリ番地1a−6−1−xに、3つのノード番地1a−6−x−1と、1a−6−x−2と、1a−6−x−3とが対応付けて記憶されている。
第2の実施形態の第1例においては、このように、ノード番地対応手段1a−6の中で、予め1つのメモリ番地に複数のノード番地の対応を記憶しておき、1つのメモリ番地が入力された場合には、入力された1つのメモリ番地に対応する複数のノード番地を予め記憶している対応より取得し、取得した複数のノード番地を出力することにより、取得した複数のノード番地への同報通信を行う。
ノード番地対応手段1a−6はメモリ番地を入力すれば1個のノード番地を出力するように設定するが、特定のメモリ番地の入力に対しては複数のノード番地を出力する、或いは、下位プロトコルにおいて同報を示す識別子(例えば下位層がEthernet(登録商標)であればブロードキャストアドレス、下位層がIP層であればマルチキャストアドレス、のように、前記識別子はアドレスであっても構わない)を出力する。
通常、ノード番地対応手段1a−6は、例えばメモリ番地1a−6−1−aが入力されれば、1個のノード番地1a−6−2−aが出力する。
ノード番地対応手段1a−6は、メモリ番地1a−6−1−xが入力されれば1a−6−2−xの複数(図4では1a−6−2−xは3つのノード番地1a−6−2−x−1、2、3が含まれている)の番地が出力する。
転送制御装置1a−5’が、分散共有メモリ領域1a−3−1のメモリ番地1a−6−1−xに書き込まれたデータ1a−8−xを、ノード番地1a−6−2−xの複数のノード番地宛に送り、或いは、メモリ番地1a−6−1−yが入力されれば同報を示す識別子1a−6−2−yが出力され、転送制御装置1a−5’’が1a−6−aのメモリ番地1a−6−1−yに書き込まれたデータ1a−8−yを送出するが、識別子1a−6−2−yは下位層所定のデータ構造の宛先識別子を書き込む領域に転送制御装置1a−5’’により書き込まれて下位層の処理装置3(該送信ノードが有する機能でなくてもよく、例えばネットワーク内に置かれる機能であっても良い)に渡され、或いは転送制御装置1a−5’’が下位層の処理装置3に書き込む指示などの処理を実行し、下位層(下位層でなくても良いが下位層に相当する機能)3が識別子1a−6−2−yを”展開”して、該当する複数のノード(番地1a−6−2−y−1、2、3)宛にデータを送る。
尚、前記展開を行なう手段は、図8で符号4(4’’または4’’’)で示す展開手段であり、通常下位層の機構や規約に依存する手段であるが(例えば、Ethernet(登録商標)のブロードキャスト番地やTCP/IPではIPマルチキャスト番地等)、予め決められた下位層の機構や規約に依存しない手段で展開しても構わない。
つまり、図8で、分散共有メモリ側と下位層側とに区切りを示し、展開手段がどちらか一方に含まれる記載としているが、どちらにも含まれない形態でも良い。
また、図8では、ノード番地対応手段1a−6で一つのメモリ番地を複数のメモリ番地に対応付ける場合(メモリ番地1a−6−1−xの例)と、ノード番地対応手段1a−6で一つのメモリ番地を同報を示す識別子(メモリ番地1a−6−2−yの例)に対応付ける場合を両方記載しているが、どちらか一方しか有しない構成でも良い。
さらに、一つのメモリ番地を複数の“同報を示す識別子”に対応付けても良い。その場合は、「展開手段」が転送制御装置(を含む)より上位層にある場合では、同報を示す識別子1a−6−2−x’が展開手段4”で同報先複数ノード番地1a−6−2−x’−1、1a−6−2−x’−2、1a−6−2−x’−3に展開され、転送制御装置1a−5”に入力された同報対象の送信データ1a−8−x’を、前記複数ノード番地毎に転送する。
この展開手段が転送制御装置(を含む)より下位層にある場合は、同報を示す識別子1a−6−2−yが転送制御装置に送信対象データ1a−8−yとともに入力され、同報を示す識別子1a−6−2−yが展開手段4’’’で展開され下位層3で個別の宛先に送られる。
尚、メモリ番地1a−6−1−a1が単一のノード番地1a−6−2−aに変換される場合は、相手のノードから解放通知が到着してからメモリ領域を解放するが、第2の実施形態における同報通信においては、解放通知が到着しなくてもメモリ領域を解放するような一貫性を保証しない方式としても構わない。
宛先ノードでは、プロセスが受信確認後、解放通知を生成し送信元ノードに送り、送信元ノードは全ての宛先ノードからの解放通知を受信した後、通信に利用したメモリ領域を開放する。
第2の実施形態においては、プロセスは1つのメモリ番地にのみをノード番地対応手段1a−6に送信するだけで同報通信が出来るようになり、プロセスが同報通信を行う手順が簡易になるという効果がある。
図9は、プロセス(アプリケーションプログラム)或いはOS(分散共有メモリ管理部1a−9などの機能であるが、そうでなくても良い。プロセスが1個のデータを生成し、OS或いは分散共有メモリ管理部1a−9などが宛先毎の複数データとしてもよいし、プロセス自体が宛先毎の複数データを生成しても良い)が送信データを、複数の宛先ノードが対応した複数のメモリ番地に、それぞれ書き込む場合である同報通信の第3の実施形態を示している。
プロセス1a−1aが送信データを生成し、OS或いは分散共有メモリ管理部1a−9経由で分散共有メモリの番地1a−6−1−iで示される領域に書込み(1a−8−i)、同じく、メモリ番地1a−6−1−jにも同じデータ(1a−8−i)を書込み、同じくメモリ番地1a−6−1−kにも同じデータ(1a−8−i)を書込むと、ノード番地対応手段1a−6においてメモリ番地1a−6−1−iがノード番地1a−6−2−iに変換され、メモリ番地1a−6−1−jがノード番地1a−6−2−jに変換され、メモリ番地1a−6−1−kがノード番地1a−6−2−kに変換され、転送制御装置1a−5で、それぞれノード番地1a−6−2−i、j、k宛のペイロードに書き込まれて該宛先に送信される。
以上のように、第3の実施形態においては、プロセス(或いはOS)が、宛先プロセスに対応するメモリ領域に夫々同一のデータを書き込むことにより、複数プロセスに同一データを送信する。
ノード番地1a−6−2−iを有するノードは自ノード宛のデータのみを受信することになり、自ノードの分散共有メモリ番地1a−6−1−iにデータ1a−8−iが書き込まれ、プロセスが該データを読み、該メモリ領域解放通知を送信元ノード1aに送り、ノード1a−6−2−j、kも同様の動作となり、同報が実行される。
第3の実施形態においては、プロセスは1つのデータのみを生成するのみ同報通信が出来るようになり、プロセスが同報通信を行う手順が簡易になるという効果がある。
以上説明したように、本発明は、分散共有メモリを用いたノード間転送制御装置がネットワークなどのデータ伝達手段を用いて同報通信を行う際に、メモリ番地が宛先プロセス毎に区分されたローカルメモリの分散共有メモリ領域にデータを書き込めば、メモリ番地と宛先プロセスの番地が対応付けられて、メモリ番地に対応したノード番地を有する相手プロセスに転送される特徴等の、簡易な転送手順やシステム構造を利用して、少ない手順でデータ送信を可能にすることにより、他の通信手段のように通信処理機能やネットワークなどのデータ伝達手段に大きな負荷をかけることなく、容易に同報通信の実現を可能にする。以下にその方式(第1から第3の実施形態における方法)を、次のA、B−1、B−2とCの手順としてまとめる。
(手順A)同報手順においては、同報宛先ノード等にデータの送信にあわせて通知を送ることでデータ送信にあわせて特定のメモリ番地(または、1つの選択したメモリ番地)を同報用に用いることを通知し、各同報先プロセスに個別に送付するデータは宛て先の識別情報のみとして、同報対象のデータのメモリ書込みはノード毎に一箇所として(通知した同報用メモリ領域のみに書き込む)、メモリ番地をノード番地に変換し、ネットワーク内もノード毎に一つのデータが送信されるようにしながら複数プロセス宛てにデータを送信する。
(手順B−1)データの送信と無関係に予め特定のメモリ番地を同報用に用いることを決定しておき、同報用メモリ領域が複数の宛先プロセス毎のノード番地に対応しているように設定しておき(或いは同報を示す識別子に対応しているように設定しておき)、メモリ番地をノード番地(或いは識別子)に変換し、該メモリ領域に書き込まれたデータをプロセス毎の宛先番地に送信する(或いは同報を示す識別子から宛先ノード番地を展開して宛先ノードに送達する)。
(手順B−2)データの送信と無関係に予め特定のメモリ番地を同報用に用いることを決定しておき、同報用メモリ領域が下位層の同報を示す識別子に対応しているように設定しておき、メモリ番地をノード番地(或いは識別子)に変換し、該メモリ領域に書き込まれたデータを下位層が同報を示す識別子から宛先ノード番地を展開して宛先ノードに送達する。
(手順C)プロセス(或いはOS)が、宛先プロセスに対応するメモリ領域に夫々同一のデータを書き込むことにより、複数プロセスに同一データを送信する。
なお、上記説明した手順((手順A)(手順B−1)(手順B−2)(手順C))を任意に組み合わせることにより、宛先プロセスが複数含まれるノードには1個の送信データしか送信しないが、送信データが書き込まれたメモリ領域に対応するノード番地はプロセス毎にせず、ノードに宛先プロセスが複数含まれる場合は対応するノード毎にして、宛先ノードで宛先プロセスに分配するようにしてもよい。
尚、ノードと記述した装置は、コンピュータ、サーバ、ルータ、センサ(ノード)、駆動装置、制御装置などで通信機能を有する装置であれば制限はない。
また、宛先や送り元をノードと記載しているが、通常は送受信対象のデータをリードライトするのはノード内のプロセスであり、即ち、本発明ではメモリ番地にノード番地を対応付けるとの記載をしているが、メモリ番地にプロセスの番地を対応付けても良い。
その場合、あるメモリ番地にデータが書き込まれたら、メモリ番地に対応するプロセスが存在するノードのノード識別子がノード番地対応手段から出力され、データが該ノードヘ送信され同一番地(仮想的でも構わない)に書き込まれる、との処理であっても良い。
このように、送信元受信先をノードと記載していてもノードをプロセスに置き換えて処理を行う場合も、本発明は対象とする。
ノード番地とノード識別子はEthernet(登録商標)アドレス、ATMアドレス、IPアドレス等、ノードを識別する識別子を示していて、呼称はどちらであっても区別しなくて良い。また、送信データを生成したり送信指示をするのはプロセスを示すように記してあるが、OS内の機能が送信データを生成したり送信を指示しても構わない。
なお、メモリ配置は、物理的でなくてもよく、仮想メモリを用いて本発明を実施しても構わない。本発明によるメモリ柄成は、ネットワーク接続前に通信機能を初期化する段階で予め行ってもよく、すでに通信を行っている状況でメモリを再構成しても構わない。ノードの関係は、便宜上一列のように表記しているが、リング状やスター上など、実際の物理的な接続状態はどのような形態であっても構わない。
以上、詳細に説明を記述した如くに、本発明により、分散共有メモリを用いる転送制御装置において、データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数ノード向けの送信に用いることを、自ノードを含むネットワーク内の一つ以上のノードに対して通知し、分散共有メモリを管理する機能が対応する通信層が、全ての同報先に個別に送信データを送信しないで一部の宛先或いは中継ノードに対してのみデータを送信することにより、分散共有メモリを管理する機能が対応する通信層の負荷を低減することができる。
即ち、分散共有メモリを用いたデータ転送機能は、宛先のプロセス数のデータ送信処理を行う必要があったが、隣接する中継ノード或いは宛先ノードの数だけ送信処理を行えば良い。
或いは、分散共有メモリを管理する機能が対応する通信層の下位層の同報機能を利用して、同報通信を行うことにより、分散共有メモリを管理する機能が対応する通信層の負荷を低減することができる。
さらに、IP通信など、既存の普及した同報通信方式においては、情報の送達確認が簡略化されていたり、或いは、確実な送達確認を行う場合は複雑な手順が必要になるなどの例が多く、一方、分散共有メモリを用いた同報通信では簡易な手段でかつ一貫性を保つことが可能になる。
なお、図1におけるノード(1aまたは1b)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより同報通信を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
図10と図11を用いて、本発明の動作の一例を、更に説明する。
図10はルーティングテーブルに基づき宛先ノードや中継ノードを決定する分散共有メモリを用いた通信を示す図である。
図10を用いて、ノードA、ノードB、ノードCの3つのノードがあり、ノードAがノードCへ送信し、ノードBがノードAとノードCとの間の通信を中継する場合について説明する。
なお、説明においては、ルーティングテーブルとメモリ領域と対応テーブルとを用いた動作について説明する。なお、説明はしないが、他の構成も、本発明に従い動作している。また、説明においては、プロセスが動作するとして説明するが、プロセスに限定されるものではなく、OSなど他の構成により動作してもよい。
まず、各ノードは、ルーティングテーブルと、メモリ領域と、メモリ領域のアドレス番地とノード番地とを対応付けた対応テーブルと、を有している。
まず、ノードAの(図に示していない)プロセスPA1が、ノードCのプロセスPC1へ送信する。そのため、まずプロセスPA1が、宛先がノードCであることより、ルーティングテーブルRAに基づき、ノードCへ送信するにはノードB宛に送信すればいいことを検出する(ステップS101)。
次に、プロセスPA1は、ノードBに対応するメモリ領域MAのメモリ番地に送信する送信データを書き込む(ステップS102)。
アドレスBに書き込まれた送信データは、対応テーブルTAに基づき宛先が決定され(ステップS103)、決定されたノードであるノードBに送信データが送信され、ノードBのアドレスBに書き込まれる(ステップS104)。なお、ステップ103で送信されたデータには、宛先がノードCであるという情報が付けられている。
ノードBでは、ノードBの(図に示していない)プロセスPB1が、ノードBのアドレスBに書き込まれた送信データの情報に基づき、宛先がノードCであることより、ルーティングテーブルRBに基づき、ノードCへの転送はノードC宛に送信すればいいことを検出する(ステップS105)。
次に、検出したノードC宛のメモリ領域MBのメモリ番地に送信データを書き込む(ステプS106)。
ノードCに書き込まれた送信データは、対応テーブルTBに基づき宛先が決定され(ステップS107)、決定されたノードであるノードCに送信データが送信され、ノードCのアドレスCに書き込まれる(ステップS108)。
例えば、以上のようにして、ルーティングテーブルを用いて、分散共有メモリを用いてノード間の通信がなされる。
次に、図11を用いて、同報通信時における送信データの書き込み方を説明する。
図11に示すように、ノードAにはノードBとノードEとが接続し、ノードBはノードCとノードDとが接続し、ノードEにはノードFとノードGとが接続するとする。
また、ノードAにはプロセスP_A1があり、ノードBにはプロセスP_B1とP_B2とがあり、ノードCにはプロセスP_C1とP_C2とがあり、ノードEにはプロセスP_E1とP_E2とがあり、ノードFにはプロセスP_F1とP_F2とP_F3とがあるとする。
ここで、ノードAのプロセスP_A1が、ノードCのプロセスP_C1とP_C2、および、ノードFのプロセスP_F1とP_F2とP_F3とに、同報通信を行う場合に、ノードAの分散共有メモリにどのように送信データを書き込むかを説明する。
まず、ノードAのプロセスP_A1は、どのノードがどのプロセスと対応するのかを検出することが可能であるので、プロセスP_C1とP_C2とは、同じノードCであることを検出し、また、プロセスP_F1とP_F2とP_F3とは、同じノードFであることを検出する。
従って、ノードAのプロセスP_A1は、同じノードCである、プロセスP_C1とP_C2へは、1つの送信データを送信し、同じノードFである、プロセスP_F1とP_F2とP_F3へは、1つの送信データを送信することを検出する。
また、ノードAのプロセスP_A1は、同じノードであるノードCへはプロセスP_C1宛てのメモリ番地のみへ、同じノードであるノードFへはプロセスP_F1宛てのメモリ番地のみへ、送信データを書き込み送信することを検出する。
次に、ノードAのプロセスP_A1は、ルーティングテーブルに基づき、ノードCへ送信するためには、ノードBへ送信することを検出し、また、ノードFへ送信するためには、ノードEへ送信することを検出する。
次に、ノードAのプロセスP_A1は、例えばプロセスP_B1宛てのメモリ番地に、プロセスP_C1とP_C2宛てのための1つの送信データを書き込む。また、ノードAのプロセスP_A1は、例えばプロセスP_E1宛てのメモリ番地に、プロセスP_F1とP_F2宛てのための1つの送信データを書き込む。
なお、ノードAのプロセスP_A1は、識別データは、プロセスP_C1とP_C2、および、プロセスP_F1とP_F2とP_F3宛てに生成する。
以降、ノードBとノードEとで、送信データと識別データに基づいて転送処理がなされ、ノードAからの、プロセスP_C1とP_C2、および、プロセスP_F1とP_F2とP_F3への同報通信がなされる。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、分散共有メモリを用いた通信装置に用いて好適である。
この発明の一実施形態による分散共有メモリを用いた同報通信装置の構成を示すブロック図である。 図1のノード番地対応手段1a−6を詳細に説明するための説明図である。 図1のノードが送信をする場合の動作を示すフローチャート図である。 図1のノードが受信をする場合の動作を示すフローチャート図である。 図1のノードが同報通信の送信をする場合の動作を示すフローチャート図である。 図1のノードが同報通信の受信または転送をする場合の動作を示すフローチャート図である。 本発明の第1の実施形態による同報通信を説明する説明図である。 本発明の第2の実施形態による同報通信を説明する説明図である。 本発明の第3の実施形態による同報通信を説明する説明図である。 ルーティングテーブルを用いた本発明の動作について説明する説明図である。 同報通信時における送信データの書き込み方を説明する説明図である。
符号の説明
1a、1b、1c ノード
1a−1a、・・、1a−1n、1b〜1a、・・、1b−1n、1c−1a プロセス
1a−2、1b−2 演算装置
1a−3、1b−3 ローカルメモリ
1a−3−1 分散共有メモリ領域
1a−3−1a、・・、1a−3−1n データバッファ
1a−4、1b−4、1c−4 内部バス
1a−5、1a−5’、1a−5’’、1a−5’’’、1b−5 転送制御装置
1a−6、1b−6 ノード番地対応手段
1a−6−1 分散共有メモリのメモリ番地の領域
1a−6−2 分散共有メモリのノード番地の領域
1a−6−1−a、x、y、I、j、k、x’分散共有メモリのメモリ番地
1a−6−2−a、x−1、x−2、x−3、y、y−1、y−2、y−3、I、j、k、x’、x’−1、x’−2、x’−3 分散共有メモリのノード番地
1a−6−2−x 分散共有メモリのノード番地展開表の位置を示す識別子
1a−6−x ノード番地展開表
1a−6A ノード番地対応手段の通常領域
1a−6B ノード番地対応手段の同報用領域
1a−8−a、x、y、i.x’ 送信対象のデータ
1a−8−b 識別データ
1a−8−c 送信要求データ
1a−8−d 解放通知
1a−9、1b−9、1c−9 分散共有メモリ管理部(OS)
1a−10 同報開始通知
2 ノード間通信路
3 下位層或いは下位層に相当する機能
4、4’、4’’ 展開手段

Claims (8)

  1. ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、
    データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数プロセス或いはノード向けの送信に用いることを、自ノードを含むネットワークなどの伝送手段で接続された一つ以上のプロセス或いはノードに通知或いは設定する、
    ことを特徴とする分散共有メモリを用いた同報通信方式。
  2. ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置であって、
    プロセスによって書き込みおよび読み出しが行われるメモリであって、ネットワークに接続された複数のノード間データ転送制御装置でメモリ番地が仮想的あるいは物理的に同一である分散共有メモリと、
    メモリ番地が入力されると、該メモリ番地が含まれる前記分散共有メモリの領域と対応づけられたプロセスの存在するノード番地を出力するノード番地対応手段と、
    前記分散共有メモリに書き込まれるデータを取得し、前記ノード番地を有するプロセス或いはノード宛てに前記取得したデータを送信する送信手段と、
    前記ネットワークからデータを受信し、送信元プロセス或いはノードにおいて該データが書き込まれた分散共有のメモリ番地と仮想的或いは物理的に同一のメモリ番地に該受信データを書き込む受信手段と、
    を備える、ノード間データ転送制御装置であって、
    データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数プロセス或いはノード向けの送信に用いることを、自ノードを含むネットワークなどの伝送手段で接続された一つ以上のプロセス或いはノードに通知或いは設定する、
    ことを特徴とする分散共有メモリを用いた同報通信方式。
  3. ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、
    隣接する中継ノード或いは隣接する宛先ノードに各1個だけ送信データを送信し、宛先プロセスを識別する情報を宛先プロセス数だけ或いは宛先プロセス数分を一括して、宛先プロセスが存在するノードに送信することにより、同一データをネットワークなどの伝送手段で接続された複数プロセス或いはノードに送信する、
    ことを特徴とする分散共有メモリを用いた同報通信方式。
  4. ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、
    複数の宛先プロセス或いはノードに対応する複数のメモリ番地に同一データを書き込むことにより、同一データをネットワークなどの伝送手段で接続された複数プロセス或いはノードに送信する、
    ことを特徴とする分散共有メモリを用いた同報通信方式。
  5. 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
    送信データと送信宛先となるプロセスと関連する前記分散共有メモリのメモリ番地情報とを受信し、前記受信したメモリ番地情報に基づきノード情報を取得し、前記取得したノード情報が同一のメモリ番地がある場合には、1つのメモリ番地を同一ノードメモリ番地情報として前記取得したノード情報が同一のメモリ番地から選択し、前記選択した同一ノードメモリ番地情報に前記受信した送信データを書き込み、前記同一ノードメモリ番地情報に書き込んだ送信データを参照するための識別情報を前記ノード情報が同一のメモリ番地毎に生成し、前記生成した識別情報を前記ノード情報が同一のメモリ番地に書き込む、分散共有メモリ管理手段と、
    前記分散共有メモリにデータが書き込まれるメモリ番地情報を取得し、前記取得したメモリ番地情報に基づきノード情報を取得し、前記取得したノード情報を送信するノード番地対応手段と、
    前記ノード番地対応手段からのノード情報を受信し、前記分散共有メモリに書き込まれた送信データと前記識別情報と前記受信したノード情報とに基づき送信処理を実行する転送制御装置と、
    を有することを特徴とする分散共有メモリを用いた同報通信装置。
  6. 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
    送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
    前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先ノード番地情報を取得し出力するノード番地対応手段と、
    前記ノード番地対応手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、
    を有することを特徴とする分散共有メモリを用いた同報通信装置。
  7. 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
    前記宛先識別子と複数の宛先ノード番地情報とを関連づけて予め記憶している展開テーブルと、
    送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
    前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記
    検出したメモリ番地に基づき宛先識別子を取得し出力するノード番地対応手段と、
    前記ノード番地対応手段の出力した宛先識別子を取得し、前記取得した宛先識別子と関連する宛先ノード番地情報を前記展開テーブルから取得する展開手段と、
    前記展開手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、
    を有することを特徴とする分散共有メモリを用いた同報通信装置。
  8. 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
    前記宛先識別子と複数の宛先ノード番地情報とを関連づけて予め記憶している展開テーブルと、
    送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
    前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先識別子を取得し出力するノード番地対応手段と、
    前記ノード番地対応手段の出力した宛先識別子を取得し、前記取得した宛先識別子と前記分散共有メモリ管理手段に書き込まれた送信データと前記展開テーブルとに基づき送信する転送制御手段と、
    を有することを特徴とする分散共有メモリを用いた同報通信装置。

JP2006183562A 2006-07-03 2006-07-03 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム Expired - Fee Related JP4490397B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006183562A JP4490397B2 (ja) 2006-07-03 2006-07-03 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006183562A JP4490397B2 (ja) 2006-07-03 2006-07-03 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム

Publications (2)

Publication Number Publication Date
JP2008015617A true JP2008015617A (ja) 2008-01-24
JP4490397B2 JP4490397B2 (ja) 2010-06-23

Family

ID=39072591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006183562A Expired - Fee Related JP4490397B2 (ja) 2006-07-03 2006-07-03 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム

Country Status (1)

Country Link
JP (1) JP4490397B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009116279A1 (ja) * 2008-03-19 2009-09-24 パナソニック株式会社 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路
US8891523B2 (en) 2011-06-03 2014-11-18 Samsung Electronics Co., Ltd. Multi-processor apparatus using dedicated buffers for multicast communications
JPWO2018122893A1 (ja) * 2016-12-26 2019-10-31 株式会社日立製作所 データアクセスシステムおよびデータアクセス方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863442A (ja) * 1994-08-26 1996-03-08 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサシステム
JPH1097512A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd プロセッサ間データ転送方法及び並列計算機

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863442A (ja) * 1994-08-26 1996-03-08 Nippon Telegr & Teleph Corp <Ntt> マルチプロセッサシステム
JPH1097512A (ja) * 1996-09-20 1998-04-14 Hitachi Ltd プロセッサ間データ転送方法及び並列計算機

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009116279A1 (ja) * 2008-03-19 2009-09-24 パナソニック株式会社 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路
JP5307796B2 (ja) * 2008-03-19 2013-10-02 パナソニック株式会社 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路
US9176891B2 (en) 2008-03-19 2015-11-03 Panasonic Intellectual Property Management Co., Ltd. Processor, processing system, data sharing processing method, and integrated circuit for data sharing processing
US8891523B2 (en) 2011-06-03 2014-11-18 Samsung Electronics Co., Ltd. Multi-processor apparatus using dedicated buffers for multicast communications
JPWO2018122893A1 (ja) * 2016-12-26 2019-10-31 株式会社日立製作所 データアクセスシステムおよびデータアクセス方法

Also Published As

Publication number Publication date
JP4490397B2 (ja) 2010-06-23

Similar Documents

Publication Publication Date Title
JPH08185380A (ja) 並列計算機
JP2010141443A (ja) ネットワーク装置、エッジルータ及びパケット通信システム
JP5014362B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP4490397B2 (ja) 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム
JP4895972B2 (ja) リングプロトコル高速切替方法およびその装置
US8761165B2 (en) Network system
US9832041B2 (en) Switch device and control method of switch device
JP2006174422A (ja) 通信装置および障害通知方法
JP6847334B2 (ja) ネットワーク装置、ネットワークシステム、ネットワーク方法、およびネットワークプログラム
JP2007249357A (ja) 情報処理装置、分散処理システム及びタスク管理方法
JP2006109258A (ja) 通信方法及び通信装置
JP2008271548A (ja) パケットスイッチングシステムでカスタマイズ型QoSを提供するQoSパケットフロー設定及びQoSパケット処理方法
JP4992573B2 (ja) レイヤ2スイッチ、通信機器及びそれらに用いるデータ部エラー検出方法並びにそのプログラム
JP4372080B2 (ja) 伝送システム
JPWO2017164068A1 (ja) トランスポートネットワーク制御装置、通信システム、転送ノードの制御方法及びプログラム
JP2014078871A (ja) ネットワークシステムおよび車上伝送システム
WO2021092760A1 (zh) 数据传输的方法和ble设备
JP5310735B2 (ja) パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法
WO2006048826A1 (en) Integrated circuit and method for data transfer in a network on chip environment
JP2010147585A (ja) データ転送制御方法、通信システム、及びデータ転送制御装置
JP2009037308A (ja) 通信装置、通信装置の制御方法及びプログラム
JP2010258811A (ja) 通信システム
WO2022227695A1 (zh) 传输报文的方法、装置及设备
JP2017147713A (ja) ノード装置、および通信システム
JP2007004312A (ja) ノード間データ転送制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100401

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees