(57)【要約】【課題】  ブロードキャスト通信で複数装置に対してデータ送信要求を実施する際に、輻輳によりデータを喪失することなく、効率的かつ確実にデータを送受信する。【解決手段】  データ送信要求の対象装置数と要求に対する応答データのサイズとネットワーク上のスイッチングハブ等の通信機器のバッファメモリサイズから、バッファメモリサイズを超えるデータが集中しないようにマルチキャストネットワークグループを自動構成し、データ送信要求をマルチキャストネットワーク単位で順に送信する。【選択図】図１
2010050670.tif 000002
【特許請求の範囲】
【請求項１】
スイッチングハブによって相互にネットワーク接続された少なくとも２台以上の送信側情報処理装置を含む情報処理装置群と、前記情報処理装置群に対してデータ送信を要求する要求側情報処理装置とを備えたデータ通信システムにおいて、
前記要求側情報処理装置は、前記情報処理装置群を２つ以上のマルチキャストネットワークグループに分割し、前記マルチキャストネットワークグループ単位で順にデータ送信を要求することを特徴とするデータ通信システム。
【請求項２】
請求項１記載のデータ通信システムにおいて、
前記マルチキャストネットワークグループに含まれる送信側情報処理装置の送信するデータサイズの合計が、前記スイッチングハブのバッファメモリサイズ以下であることを特徴とするデータ通信システム。
【請求項３】
スイッチングハブによって相互にネットワーク接続された少なくとも２台以上の情報処理装置を含む情報処理装置群と、前記情報処理装置群に対してデータ送信を要求する情報処理装置とを備えたデータ通信システムにおいて、
各情報処理装置は、
スイッチングハブのバッファメモリサイズと、当該データ通信システムにおいて送受信されるデータの送信側情報処理装置と受信側情報処理装置の情報とデータサイズと、当該データの送信を指示するデータに関する情報を記憶する記憶装置と、
前記送信を指示するデータの受信側情報処理装置が複数ある場合、受信側情報処理装置を２つ以上のマルチキャストグループに割り当てる設定処理部と、
前記２つ以上のマルチキャストグループ単位で前記データの送信を指示するデータを送信する送信処理部とを備えたことを特徴とするデータ通信システム。
【請求項４】
請求項３記載のデータ通信システムにおいて、
前記設定処理部は、前記受信側情報処理装置の送信データのサイズの合計が前記スイッチングハブのバッファメモリサイズより小さくなるように、前記マルチキャストグループ単位で前記受信側情報処理装置を割り当てることを特徴とするデータ通信システム。
【請求項５】
ネットワークを介して相互に通信可能な複数の情報処理装置を備え、要求側情報処理装置からの要求に対してＮ台（Ｎは２以上の整数）の送信側情報処理装置が応答するデータ通信システムにおいて、
前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記送信側情報処理装置の応答データを格納するメモリのサイズ以下である場合に、前記要求側情報処理装置が前記Ｎ台の送信側情報処理装置に対して要求データを送信し、
前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記メモリのサイズよりも大きい場合に、前記送信側情報処理装置の台数Ｍ（Ｍは１以上Ｎよりも小さい整数）と前記応答データのサイズとの積算値が前記メモリのサイズ以下になるように、前記Ｎ台の送信側情報処理装置をＭ台ごとのグループに分割し、前記要求側情報処理装置が前記グループ単位で順次、前記要求データを送信することを特徴とするデータ通信システム。
【請求項６】
請求項５記載のデータ通信システムにおいて、
前記メモリは、前記複数の情報処理装置間の通信を中継するスイッチングハブ内のバッファメモリであることを特徴とするデータ通信システム。
【請求項７】
請求項５または６記載のデータ通信システムにおいて、
前記要求側情報処理装置は、マルチキャスト通信により、前記Ｎ台の送信側情報処理装置に対して前記要求データを送信することを特徴とするデータ通信システム。
【請求項８】
請求項５から７の何れか記載のデータ通信システムにおいて、
前記要求側情報処理装置は、前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記メモリのサイズ以下であるか否かを判定する手段を備えることを特徴とするデータ通信システム。
【請求項９】
請求項８記載のデータ通信システムにおいて、
前記要求側情報処理装置および前記Ｎ台の送信側情報処理装置の各々は、前記メモリのサイズと、当該データ通信システムにおいて送受信される各データの送信側情報処理装置と受信側情報処理装置のリストと、当該データ通信システムにおいて送受信される各データのサイズと、当該データ通信システムにおいて送受信される各データを要求するための要求データのＩＤとを記憶する記憶装置を備え、
前記要求側情報処理装置の前記判定する手段は、前記記憶装置内の前記送信側情報処理装置と受信側情報処理装置のリストを参照し、自装置が前記送信側情報処理装置のリストに含まれ、かつ、前記受信側情報処理装置のリストに含まれる前記受信側情報処理装置がＮ台である場合に、前記記憶装置内の前記メモリのサイズと前記データのサイズを参照して、前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記メモリのサイズ以下であるか否かを判定することを特徴とするデータ通信システム。
【請求項１０】
ネットワークを介して相互に通信可能な複数の情報処理装置を備え、要求側情報処理装置からの要求に対してＮ台（Ｎは２以上の整数）の送信側情報処理装置が応答するデータ通信システムによって実行されるデータ通信方法において、
前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記送信側情報処理装置の応答データを格納するメモリのサイズ以下である場合に、前記要求側情報処理装置が前記Ｎ台の送信側情報処理装置に対して要求データを送信し、
前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記メモリのサイズよりも大きい場合に、前記送信側情報処理装置の台数Ｍ（Ｍは１以上Ｎよりも小さい整数）と前記応答データのサイズとの積算値が前記メモリのサイズ以下になるように、前記Ｎ台の送信側情報処理装置をＭ台ごとのグループに分割し、前記要求側情報処理装置が前記グループ単位で順次、前記要求データを送信することを特徴とするデータ通信方法。
【請求項１１】
ネットワークを介して相互に通信可能な複数の情報処理装置を備え、要求側情報処理装置からの要求に対してＮ台（Ｎは２以上の整数）の送信側情報処理装置が応答するデータ通信システムにおける前記情報処理装置において、
前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記送信側情報処理装置の応答データを格納するメモリのサイズ以下である場合に、前記Ｎ台の送信側情報処理装置に対して要求データを送信し、
前記送信側情報処理装置の台数Ｎと前記応答データのサイズとの積算値が、前記メモリのサイズよりも大きい場合に、前記送信側情報処理装置の台数Ｍ（Ｍは１以上Ｎよりも小さい整数）と前記応答データのサイズとの積算値が前記メモリのサイズ以下になるように、前記Ｎ台の送信側情報処理装置をＭ台ごとのグループに分割し、前記グループ単位で順次、前記要求データを送信することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも２つ以上の情報処理装置間で、ネットワークを用いてデータの送受信を行う際の通信輻輳制御方法、システムおよびそのシステムを構成する装置に関する発明である。
【背景技術】
【０００２】
複数の情報処理装置が接続されたネットワークにおいて、一台の情報処理装置がＮ台の情報処理装置に対してデータ送信を要求し、Ｎ台分のデータ受信を行う場合に、Ｎ台の情報処理装置とそれぞれ一対一の通信をＮ回行なってデータ受信を行なうかわりに、ネットワークに接続された全ての情報処理装置にデータを送信するブロードキャスト通信や、所定の複数の情報処理装置にデータを送信するマルチキャスト通信を用いて一斉にデータ送信要求を行い、データ送信要求を受信した各情報処理装置は自律的に要求元の情報処理装置に対してデータ送信を行なう方法がある。
【０００３】
この方法は、Ｎ台の情報処理装置と個別に通信を行なうのに比べて、データ送信要求の回数が少なくて済むため効率が良い。また、送信要求を行なう情報処理装置の台数が変化しても送信要求処理の変更が無いという特徴がある。
【０００４】
具体的にはたとえばEthernet（登録商標）におけるUDPプロトコルを用いたブロードキャストやマルチキャスト通信によって実現可能である（例えば特許文献１）。
【０００５】
また、ネットワーク輻輳制御技術としてはデータ送信元に対してデータ送信を延期させるパケットを送信することでデータフローの制御を行なう手法があり、具体的には、Ethernet（登録商標）におけるバックプレッシャ輻輳制御や、IEEE 802.3xのオプションとして規定されているMAC制御プロトコルのPAUSEフレームを使った輻輳制御があり、これはスイッチングハブなどのデータバッファの空き容量に応じて、データ送信延期パケットを送信するものである。
【０００６】
【特許文献１】特開2002-152213号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した背景技術において、１台のデータを要求する情報処理装置（要求装置）とＮ台のデータを送信する情報処理装置（送信装置）間でデータ送受信が行なわれるケースについて考える。
【０００８】
要求装置がＵＤＰブロードキャスト通信でデータ送信要求のメッセージを送信すると、各送信装置はほぼ同時刻に前記メッセージを受信する。ここで各送信装置は非同期に動作しているが、前記各送信装置は前記メッセージを受信後、メッセージ内容によって指定されたデータを要求装置に対して送信する処理の実施にかかる所要時間は、特に各送信装置のソフトウェアおよびハードウェアが同一の場合は概ね等しいため、前記メッセージ受信後、一斉にネットワーク送信処理が実施されることになる。ここで、各送信装置がスイッチングハブに接続されている場合、スイッチングハブには各送信装置からの送信データが一斉に受信される。
【０００９】
一方、近年主流のストア＆フォワード方式のスイッチングハブなどの通信機器は、受信データを一時的にバッファメモリに保存するが、バッファメモリサイズを超えるデータが受信された場合、そのデータは破棄される仕様が一般的であり、その場合送信データは完全に失われることになる。
【００１０】
このようなデータ喪失（パケットロス）の発生を防ぐための上述の従来技術は、データを受信するポートが少数である場合などバッファメモリサイズの空き容量の減少が緩やかなケースには対応できるが、複数のポートから一斉にデータを受信するような急激に増加する通信トラフィックに対しては、従来技術による輻輳制御は有効でない。
【００１１】
したがって、送信装置数Ｎもしくはスイッチングハブなどの通信機器のポート数Ｍの少ない方×送信データサイズＳが、通信機器のバッファメモリサイズより大きい場合にデータ喪失が発生し、通信エラーとなる。
【００１２】
本発明は、１対Ｎの通信を行なう際に、ノード数Ｎによらずデータ喪失の発生を抑制し、通信エラーなくデータ送受信を行なうためのシステムおよび方法を提供することを目的とする。
【００１３】
また、本発明は、従来の輻輳制御技術と同時に運用可能である通信制御方法、それを実現するためのシステムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、要求側情報処理装置が、受信側の情報処理装置群を２つ以上のマルチキャストネットワークグループに分割し、マルチキャストネットワークグループ単位で順にデータ送信を要求することを特徴とする。
【００１５】
また、本発明は、各情報処理装置が、スイッチングハブのバッファメモリサイズと、当該データ通信システムにおいて送受信されるデータの送信側情報処理装置と受信側情報処理装置の情報とデータサイズと、当該データの送信を指示するデータに関する情報を記憶する記憶装置を備え、送信を指示するデータの受信側情報処理装置が複数ある場合、受信側情報処理装置を２つ以上のマルチキャストグループに割り当て、２つ以上のマルチキャストグループ単位でデータの送信を指示するデータを送信することを特徴とする。
【００１６】
また、本発明は、送信側情報処理装置の台数Ｎと応答データのサイズとの積算値が、送信側情報処理装置の応答データを格納するメモリのサイズ以下である場合に、要求側情報処理装置がＮ台の送信側情報処理装置に対して要求データを送信し、送信側情報処理装置の台数Ｎと応答データのサイズとの積算値が、メモリのサイズよりも大きい場合に、送信側情報処理装置の台数Ｍ（Ｍは１以上Ｎよりも小さい整数）と応答データのサイズとの積算値がメモリのサイズ以下になるように、Ｎ台の送信側情報処理装置をＭ台ごとのグループに分割し、要求側情報処理装置がグループ単位で順次、要求データを送信することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、複数の送信装置に対してデータ要求を行なう際に、ネットワークスイッチングハブへのデータ集中によるデータ喪失を起こさずに、最小回数のデータ要求回数で各送信装置からデータを受信することが可能である。
【発明を実施するための最良の形態】
【００１８】
本発明の１対Ｎ（Ｎは２以上の整数）通信輻輳制御方式は、ネットワークで接続された少なくとも１台のデータ送信要求を行なう情報処理装置（以下、要求装置）と１台以上のデータ送信を行なう情報処理装置（以下、送信装置）間で通信を行なうものにおいて、前記要求装置には、ネットワークとのインタフェースを提供するネットワークIF手段と、ネットワークに接続された前記送信装置の数と、前記送信装置が送信するデータサイズと、信装置が接続されたスイッチングハブのもつバッファメモリサイズの情報を格納する情報記録手段と、前記情報記録手段に格納された情報を利用してマルチキャストグループ設定処理を行うマルチキャスト設定処理手段と、データ送信要求メッセージを生成する送信データ生成処理手段と、前記データ送信要求メッセージを前記マルチキャストグループ設定に基づいてネットワークIF手段に対して送信指示を出す送信処理手段と、ネットワークIFに受信したデータを受信し、前記情報記録手段に保存する受信処理手段とを備え、前記送信装置には、ネットワークとのインタフェースを提供するネットワークIF手段と、ネットワークに接続された前記送信装置の数と、前記送信装置から送信するデータサイズと、送信装置が接続されたスイッチングハブのもつバッファメモリサイズの情報を格納する情報記録手段と、前記情報記録手段に格納された情報を利用してマルチキャストグループ設定処理を行うマルチキャスト設定処理手段と、ネットワークIFに受信した前記要求装置が送信したデータ送信要求メッセージを取得し、前記情報記録手段に保存する受信処理手段と、前記データ送信要求メッセージを解析し、送信すべき要求された情報生成する送信データ生成手段と、前記送信データを前記要求装置に送信するようネットワークIF手段に対して送信指示を行なう送信処理手段と、を備える。
【００１９】
そして、前記マルチキャスト設定処理手段は、マルチキャストグループに含まれる各送信装置から送信されるデータのサイズの合計が、前記スイッチングハブのバッファメモリサイズを超えないような１つ以上のマルチキャストグループを構成し、前記要求装置の送信処理手段は、前記構成した全てのマルチキャストグループ情報を保持し、前記データ送信要求メッセージを送信する場合には、前記の各マルチキャストグループに対して順番につまりマルチキャストグループ単位で順番に送信し、前記送信装置の受信処理手段は、前記構成したマルチキャストグループのうち自装置が含まれるマルチキャストグループの情報を保持し、当該マルチキャストグループに送信された前記データ送信要求メッセージのみを受信、保存し、前記受信データ処理手段では、前記データ送信要求メッセージを解析し、要求されたデータと要求装置を特定し、データの生成指示と送信先情報を送信データ生成処理手段に通知する。前記送信データ生成処理手段で生成された要求データは、前記送信装置の送信処理手段によって前記要求装置に対して送信する。尚、複数の送信装置は、ソフトウェア（アプリケーション）およびハードウェアが同一で、同一の時間で同一のデータ処理を行うものが好ましい。
【００２０】
このように、要求装置からのデータ送信要求メッセージは１つ以上のマルチキャストグループに順番に送信されるため一回のデータ送信要求メッセージに対して返される送信装置からの送信データは、当該マルチキャストグループに含まれる送信装置に限定される。
【００２１】
マルチキャストグループに含まれる各送信装置からの送信データの合計サイズはスイッチングハブのバッファメモリサイズ以下となるように設定してあるため、たとえスイッチングハブにデータ受信が集中したとしてもデータ喪失せずに済む。
【００２２】
さらに、各マルチキャストグループに対するデータ送信要求メッセージは順番に所定の時間間隔で送信されるため、各マルチキャストグループに含まれる送信装置からの送信データも前記時間間隔で受信されるため、ネットワークスイッチングハブへのデータ集中によるデータ喪失も防ぐことができる。
【００２３】
以下、本発明の実施例を図１から図６を用いて説明する。
【００２４】
図１は本発明の実施例のデータ通信システムの構成を示す図である。
【００２５】
このデータ通信システムは、データ要求を行なう情報処理装置である要求装置１００と、データ要求を受信してデータ送信を行なう情報処理装置である送信装置２００と、ネットワークスイッチングハブ３００とから構成されている。また、前記の各情報処理装置は前記ネットワークスイッチングハブ３００に接続されＬＡＮ（Local Area Network）を形成している。データ送信を行なう情報処理装置２００は複数台（Ｎ台）が上記ＬＡＮに接続される。２台以上の要求装置が存在する構成であってもよいし、同一の情報処理装置が要求装置と送信装置の機能を同時に内包する構成であってもよい。
【００２６】
要求装置１００は、ネットワークスイッチングハブ３００とＬＡＮ接続されデータの送受信を行なうネットワークＩＦ（Interface）１０１と、データ送受信に関わる設定情報や、受信したデータを記録する情報記録部１０２と、ネットワークＩＦ１０１に受信したデータを受け取り、内容をチェックして情報記録部の所定の場所に保存する受信処理部１０３と、情報記録部に記録された設定情報に基づきマルチキャストネットワークの設定を行なうマルチキャスト設定処理部１０４と、データ送信要求メッセージを生成する送信データ生成処理部１０５と、前記データ送信要求メッセージを前記設定されたマルチキャストネットワークアドレスに送信する処理を行う送信処理部１０６とを備えている。また、情報記録部１０２や送信データ生成処理部１０５にアクセス可能なアプリケーションプログラム１０７を備えている。
【００２７】
また、送信装置２００は、ネットワークスイッチングハブ３００とＬＡＮ接続されデータの送受信を行なうネットワークＩＦ（Interface）２０１と、データ送受信に関わる設定情報や、受信したデータを記録する情報記録部２０２と、ネットワークＩＦ２０１に受信したデータを受け取り、内容をチェックして情報記録部の所定の場所に保存する受信処理部２０３と、情報記録部に記録された設定情報に基づきマルチキャストネットワークの設定を行なうマルチキャスト設定処理部２０４と、受信されたデータ送信要求メッセージ解析し、送信要求されたデータを生成する送信データ生成処理部２０５と、前記送信データを前記設定されたマルチキャストネットワークアドレスに送信する処理を行う送信処理部２０６とを備えている。また、情報記録部２０２や送信データ生成処理部２０５にアクセス可能なアプリケーションプログラム２０７を備えている。送信装置４００、５００、６００、７００、８００は、前記送信装置２００と同様の構成を備えている。
【００２８】
ここで、要求装置１００および送信装置２００、４００、６００、７００、８００を構成する各処理部の機能は、メモリおよびＣＰＵ（中央演算装置）により構成されたパーソナルコンピュータ等の情報処理装置にオペレーティングソフトウェアを搭載し、そのオペレーティングソフトウェア上に各機能を実現するためのプログラムをメモリにロードして実行することにより、その機能を実現することができる。尚、上記構成の全部または一部は、専用のハードウェアにより実現されてもよい。
【００２９】
次に、本発明の実施例のデータ通信システムのマルチキャスト設定処理部の動作について説明する。
【００３０】
情報記録部１０２および２０２に記録されるデータ送受信に関わる設定情報を図２に示す。情報記録部１０２および２０２には、自装置の装置識別子である装置IDとIPアドレスに関する情報を含む自装置情報１０００、スイッチングハブ３００の持つバッファメモリサイズとポート数情報を含むスイッチングハブ情報１１００、装置間で送受信するデータの識別子であるデータＩＤ１２０１と、このデータを送信する装置の情報である送信装置リスト１２０２と、このデータを受信する装置の情報である受信装置リスト１２０３と、このデータの送受信に使うマルチキャストネットワークグループの情報である使用ネットワークグループリスト１２０４と、このデータのデータサイズ１２０５と、当該データが指定データのレスポンスとして送信されることを示す要求データ情報１２０６と、を含む送受信データ情報１２００、マルチキャストネットワークグループの識別子であるネットワークＩＤ１３０１と、このマルチキャストネットワークグループに登録される装置の情報である登録装置リスト１３０２と、このマルチキャストネットワークグループが使用するマルチキャストアドレス１３０３と、このマルチキャストネットワークグループが使うポートの情報である使用ポート１３０４を含むネットワークグループ情報１３００を有する。
【００３１】
上記のデータ送受信に関わる設定情報のうち、自装置情報１０００、スイッチングハブ情報１１００、データＩＤ１２０１、送信装置リスト１２０２、受信装置リスト１２０３、データサイズ１２０５、ネットワークＩＤ１３０１、マルチキャストアドレス１３０３、使用ポート１３０４は、事前にデータが設定されており、使用ネットワークグループリスト１２０４と、登録装置リスト１３０２は、以下に述べるマルチキャスト設定処理部１０４の処理により設定される。ネットワークスイッチングハブ３００がスイッチングハブ情報１１００を事前に記憶しており、要求装置１００および送信装置２００、・・・８００の各々が、ＬＡＮに参加した場合に、ネットワークスイッチングハブ３００からスイッチングハブ情報１１００を取得し、記憶してもよい。要求装置１００および送信装置２００、・・・８００は、同一の設定情報を持っていてもよい。本実施例では、要求データ情報１２０６に対して、レスポンスデータのデータサイズ１２０５が、一義的に決まっているものとする。
【００３２】
次に、マルチキャスト設定処理部１０４の動作を図３を用いて説明する。
【００３３】
マルチキャスト設定処理部１０４は、まず情報記録部１０２から自装置情報１０００、スイッチングハブ情報１１００、送受信データ情報１２００、ネットワークグループ情報１３００を取得する。（ステップ２００１）
自装置情報から自装置ＩＤを取得し、送受信データ情報１２００の送信装置リスト１２０２と受信装置リスト１２０３を検索し、自装置における送受信データのリストである自装置送受信データ情報１４００を生成する。自装置送受信データ情報は、データＩＤ１４０１、当該データが自装置にとって送信データか受信データかを示す送受信種別１４０２、当該データの送受信に使用するマルチキャストネットワークを示す使用ネットワークリスト１４０３を含むが、この時点では使用ネットワークリスト１４０３は未設定である。
【００３４】
図２のデータの例では、自装置ＩＤはＳであるので、自装置送受信データ情報１４００には送信装置リストからデータＩＤ「Ｄ００１」が送受信種別「送」でセットされ、受信装置リストから、データＩＤ「Ｄ００２」「Ｄ００３」「Ｄ００４」「Ｄ００５」「Ｄ００６」「Ｄ００７」が送受信種別「受」でセットされる。（ステップ２００２）
つづいて前記送受信データ情報１２００に設定されている各データに対して、使用するマルチキャストネットワークグループを設定する処理に入る。
【００３５】
まず、処理対象データの受信装置数Ｎを算出し、（ステップ２００３）処理に使用するパラメータ、ｉおよびｊを１に初期化する。（ステップ２００４）
図２の設定データで、データＩＤ「Ｄ００１」を例とすると、受信装置リストにＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの６つの装置が登録されているため、これらをカウントした結果、Ｎ＝６となる。
【００３６】
次に、送受信データ情報１２００を検索し、「Ｄ００１」の受信装置リストのｉ番目の装置の送信データで、かつその受信装置リスト１２０３に「Ｄ００１」の送信装置（この例では装置ＩＤはＳ）が含まれ、かつ要求データ情報１２０６に「Ｄ００１」が含まれる場合、そのデータサイズ１２０５をｉ番目のレスポンスデータサイズとして取得する。もしそのような送信データが存在しない場合は、前記レスポンスデータサイズは０とする。この処理をｉ番目からｊ番目まで繰り返し、各レスポンスデータサイズの合計を計算した結果が、スイッチングハブ情報に含まれるバッファサイズより大きいかどうかを判定する。（ステップ２００５）
ステップ２００５の判定結果がＹＥＳの場合は、その際のｉとｊを比較し、等しいかどうかを判定し、結果がＹＥＳの場合はステップ２００９へ、ＮＯの場合は２０１１へ遷移する。（ステップ２００６）
ステップ２００５の判定結果がＮＯの場合は、ｊを１インクリメント（ステップ２００７）して、ｊが受信装置数Ｎを超えていないかの判定を行なう。（ステップ２００８）
ステップ２００８の判定結果がＹＥＳの場合はステップ２０１１、ＮＯの場合はステップ２００５へ処理を遷移する。
【００３７】
ステップ２００９では、ｉ番目の受信装置を新規マルチキャストグループに設定し、設定したマルチキャストネットワークＩＤを送受信データ情報１２００の当該データＩＤに対応する使用ネットワークグループリスト１２０４に設定し、ステップ２０１０に遷移する。（ステップ２００９）
ステップ２０１０では、i＝j+1、ｊ=ｊ+1としてステップ２０１３に遷移する。（ステップ２０１０）
ステップ２０１１では、ｉ番目からj-1番目の受信装置を新規マルチキャストグループに設定し、設定したマルチキャストネットワークＩＤを送受信データ情報１２００の当該データＩＤに対応する使用ネットワークグループリスト１２０４に設定し、ステップ２０１２に遷移する。（ステップ２０１１）
ステップ２０１２では、i＝j、ｊ=ｊとしてステップ２０１３に遷移する。
【００３８】
ステップ２０１３ではｉおよびｊが受信装置数Ｎを超えていないかの判定を行なう。（ステップ２０１２）
ステップ２０１３の判定結果がＹＥＳの場合は、ステップ２０１４へ、ＮＯの場合はステップ２００５へ、処理を遷移する。
【００３９】
ステップ２０１４では、ステップ２００２で作成した自装置送受信データ情報を参照して、すでに全ての送受信データについて処理を完了していたらステップ２０１６に処理を遷移し、未処理の送受信データがあれば、ステップ２０１５に遷移し（ステップ２０１４）、次の送受信データ情報を取得し、ステップ２００３に遷移する。（ステップ２０１５）
ステップ２０１６では、自装置送受信データ情報１４００の各データについて、送受信データ情報１２００の該当データの使用ネットワークグループリスト１２０４の内容を、使用ネットワークグループリスト１４０３にコピーした後、自装置受信データ情報を送信処理部と受信処理部に送信して処理を終了する。（ステップ２０１６）
次に、ステップ２００９とステップ２０１１のマルチキャストグループ設定処理について、図４を用いて詳細に説明する。
まず、マルチキャストネットワークに登録する装置リストを取得する。（ステップ３００１）
ネットワークグループ情報１３００の登録装置リスト１３０２を検索し、前記装置リストに一致するものを検索し、一致するものが有る場合はステップ３００４に遷移、無い場合はステップ３００４に遷移する。（ステップ３００２）
前記装置リストが一致するネットワークグループが存在する場合、対応するネットワークＩＤ１３０１を送受信データ情報１２００の対象データＩＤに対応する使用ネットワークグループリスト１２０４に設定する。（ステップ３００３）
前記装置リストが一致するネットワークグループが存在しない場合、前記装置リストを装置リスト１３０２が未登録のネットワークグループに設定し、ステップ３００５に遷移する。（ステップ３００４）
ステップ３００４で設定したネットワークグループのネットワークＩＤ１３０１を送受信データ情報１２００の対象データＩＤに対応する使用ネットワークグループリスト１２０４に設定する。（ステップ３００５）
以上述べた処理により、各受信装置リストにつき一つのマルチキャストネットワークグループを設定することができる。
【００４０】
以上述べたマルチキャスト設定処理を、図２の設定データに対して実施した場合、ネットワークグループ情報１３００には、登録装置リストＡ，Ｂ、ＣであるネットワークＩＤ「Ｇ００１」と、登録装置リストＤ，Ｅ，ＦであるネットワークＩＤ「Ｇ００２」と登録装置リストＳであるネットワークＩＤ「Ｇ００３」の３つのマルチキャストネットワークが設定される。
【００４１】
送受信データ情報１２００の使用ネットワークグループリスト１２０４は、データＩＤ「Ｄ００１」にＧ００１、Ｇ００２の複数のネットワークグループが設定され、データＩＤ「Ｄ００２」〜「Ｄ００７」にはネットワークグループＧ００３が設定される。
また、装置ＩＤがＳの装置の自装置送受信データ情報は１４００、装置ＩＤがＡの装置の次装置双樹沈データ情報は１４００Ａに示すように設定される。
次に送信処理部１０６および２０６の処理を、図５を用いて説明する。
【００４２】
送信処理部１０６および２０６は、自装置送受信データ情報１４００をマルチキャスト設定処理部１０４および２０４から受け取る。（ステップ４００１）
その後、送信データ作成処理部１０５および２０５から送信データと送信データＩＤを含むデータ送信要求メッセージを待つ。送信指示があったら、ステップ４００３に遷移する。（ステップ４００２）
送信指示された送信データＩＤを、自装置送受信データ情報１４００にて検索する。当該データＩＤに対応する使用ネットワークグループリスト１４０３を取得する。（ステップ４００３）
送信指示された送信データを、ステップ４００３で取得した使用ネットワークグループリストに含まれるネットワークグループに順番に所定の時間間隔で送信し、ステップ４００２のデータ送信指示待ちに遷移する。（ステップ４００４）所定の時間間隔とは、例えば、10ｍｓや100ｍｓである。受信装置数Ｎやレスポンスデータサイズ、バッファサイズに関わらず、所定の時間間隔を一定としてもよいし、受信装置数Ｎが大きいほどまたはレスポンスデータサイズが大きいほどまたはバッファサイズが小さいほど、所定の時間間隔を大きくしてもよい。この所定の時間間隔は、送信タイミングを制御するクロックの周期を設定することで実現される。
【００４３】
図２の自装置送受信データ情報１４００では、たとえば装置ＳがデータＤ００１を送信する場合、ネットワークグループＧ００１とＧ００２に対してそれぞれデータ送信処理を実施する。具体的には、Ｇ００１の場合は、送信先アドレス「２３９．２５５．０．１」ポート番号「１０００１」に対してデータ送信を行なうが、Ｇ００１のネットワークグループには装置Ａと装置Ｂと装置Ｃが登録されているため、この３台の装置に対してデータが送信される。
【００４４】
次に受信処理部１０３および２０３の処理を、図６を用いて説明する。
【００４５】
送信処理部１０３および２０３は、自装置送受信データ情報１４００をマルチキャスト設定処理部１０４および２０４から受け取る。（ステップ５００１）
前記自装置送受信データ情報１４００のデータのうち送受信種別１４０２が「受」である全てのデータについて、その使用ネットワークグループリスト１４０３を取得する。
【００４６】
図２の自装置送受信データ情報１４００では、データＤ００２からＤ００７が受信データとなり、その使用ネットワークグループリストはＧ００３であり、自装置送受信データ情報１４００Ａでは、データＤ００１が受信データとなり、その使用ネットワークグループリストはＧ００１とＧ００２となる。（ステップ５００２）
ステップ５００２で取得した前記使用ネットワークグループからデータを受信するために、自装置を前記使用ネットワークグループに登録する。具体的には、スイッチングハブに対して自装置が当該マルチキャストアドレスを受信するよう設定するためのＡＰＩをコールする。（ステップ５００３）
その後、ネットワークＩＦ１０１および２０１のデータ受信を待つ。データ受信があったら、ステップ５００５に遷移する。（ステップ５００４）
受信データに含まれるデータＩＤを取得し、自装置送受信データ情報１４００を参照して、データＩＤのデータの送受信種別が「受」である場合、情報記録部１０２もしくは２０２のデータＩＤによってあらかじめ定められた位置（アドレス）に受信データを記録する。（ステップ５００５）
以上述べたように、自装置送受信データ情報１４００の送受信種別が「受」指定のデータについて、その使用ネットワークグループに自装置を登録することでデータ受信が可能となる。
【００４７】
要求装置１００の送信データ生成処理部１０５は、要求装置１００上で動作するアプリケーションプログラム１０７から、「データＩＤ」と「データ」を与えられると、自装置送受信データ情報から当該データＩＤを検索し、送受信種別が「送」の場合、前記データと前記データＩＤを含むデータ送信要求メッセージを送信処理部１０６に送る。
【００４８】
送信装置２００の送信データ生成処理部２０５は、送信装置２００上で動作するアプリケーションプログラム２０７から「データＩＤ」と「データ」を与えられると、自装置送受信データ情報から当該データＩＤを検索し、送受信種別が「送」の場合、前記データと前記データＩＤを含むデータ送信要求メッセージを送信処理部２０６に送る。
【００４９】
要求装置上で動作するアプリケーションプログラム１０７は、送信データ生成処理部１０５に対して送信要求メッセージを送ったり、情報記録部１０２を参照して受信データを取得することができる。
【００５０】
送信装置上で動作するアプリケーションプログラム２０７は、送信データ生成処理部２０５に対して送信要求メッセージを送ったり、情報記録部２０２を参照して受信データを取得することができる。さらに、新規に受信して情報記録部２０２に記録されるデータを監視し、前記受信データのデータＩＤが、送受信データ情報１２００の要求データ情報１２０６に存在し、かつ当該データの送信装置リスト１２０２に自装置が含まる場合、当該データを生成し、送信要求メッセージを送信データ生成処理部２０５に送信する。
【００５１】
以上述べてきたように、本実施例において、要求装置１００のＡＰ１０７が、送信装置２００、３００、４００、５００、６００、７００、８００に対してデータ要求を行なう場合に、送信装置２００、３００、４００と、送信装置５００、６００、７００の２回に分けてデータ要求を行なうため、各データ要求に対するレスポンスデータはスイッチングハブのバッファサイズ以下になる。
【００５２】
また、送信装置一台づつにデータ要求を行なう場合に比べて少ない回数のデータ送信要求で済む。
なお、マルチキャストネットワークグループの設定方法は、図３で示した方法に限らず、当該マルチキャストネットワークに割当てた送信装置の送信データサイズの合計が、スイッチングハブのバッファメモリサイズを超えないという条件を満たす方法であればよい。
【００５３】
たとえば、各送信装置の送信データサイズＳｘが同じ場合、図７に示すような方法でも良い。以下図７の処理を説明する。
【００５４】
まず情報記録部１０２から自装置情報１０００、スイッチングハブ情報１１００、送受信データ情報１２００、ネットワークグループ情報１３００を取得する。（ステップ６００１）
自装置情報から自装置ＩＤを取得し、送受信データ情報１２００の送信装置リスト１２０２と受信装置リスト１２０３を検索し、自装置における送受信データのリストである自装置送受信データ情報１４００を生成する。自装置送受信データ情報は、データＩＤ１４０１、当該データが自装置にとって送信データか受信データかを示す送受信種別１４０２、当該データの送受信に使用するマルチキャストネットワークを示す使用ネットワークリスト１４０３を含むが、この時点では使用ネットワークリスト１４０３は未設定である。（ステップ６００２）
つづいて前記送受信データ情報１２００に設定されている各データに対して、使用するマルチキャストネットワークグループを設定する処理に入る。
【００５５】
まず、処理対象データの受信装置数Ｎを算出し、各装置共通のレスポンスデータのサイズＳｘを取得し、（ステップ６００３）処理に使用する分割数パラメータＤｉｖを１に初期化する。（ステップ６００４）
図２の例ではＮ＝６、Ｓｘ＝３０００である。
【００５６】
次に、Ｎを分割数Ｄｉｖで割った数（小数点切り上げ）に、前記レスポンスデータサイズＳｘをかけた値Ｓが、スイッチングハブ情報に含まれるバッファサイズより大きいかどうかを判定する。判定結果がＹＥＳの場合は、その際のＤｉｖの値をインクリメント（ステップ６００６）してステップ６００５へ、ＮＯの場合は６００７へ遷移する。（ステップ６００５）
図２の例では、Ｄｉｖ＝１では、バッファサイズ１００００に対してＳは３０００×６＝１８０００、Ｄｉｖ＝２では、Ｓは３０００×（６／２）＝９０００となり、Ｄｉｖ＝２でステップ６００７に遷移する。
ステップ６００７では、ＮをＤｉｖで割った数（小数点切り上げ）毎にマルチキャストグループを設定する。図２の例はＮ＝６、Ｄｉｖ＝２なので、３装置毎にマルチキャストグループを設定する。送受信データ情報１２００の順に選択すると、Ａ，Ｂ，ＣとＤ，Ｅ，Ｆでそれぞれマルチキャストグループに登録される。マルチキャスト設定処理は既に図４で説明したのと同じである。
【００５７】
また、ステップ６００８はステップ２０１４と処理は同様で遷移先が、ステップ２０１５の代わりにステップ６００９、２０１６の代わりにステップ６０１０となる。
ステップ６００９はステップ２０１５と処理は同様で遷移先がステップ６００３となる。
ステップ６０１０はステップ２０１６と同様である。
【産業上の利用可能性】
【００５８】
本発明は、マルチキャスト通信装置に適用可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施例のシステム構成図
【図２】本発明の実施例の情報記録部１０２および２０２に記録されるデータ送受信に関わる設定情報を示す図
【図３】本発明の実施例のマルチキャスト設定処理部の処理フローを示す図
【図４】本発明の実施例のマルチキャストグループ設定処理の処理フローを示す図
【図５】本発明の実施例の送信処理部の処理フローを示す図
【図６】本発明の実施例の受信処理部の処理フローを示す図
【図７】本発明の実施例のマルチキャスト設定処理部の別の処理フローを示す図
【符号の説明】
【００６０】
１００要求装置
２００、３００、４００、５００、６００送信装置
３００ネットワークスイッチングハブ
１０００自装置情報
１１００スイッチングハブ情報
１２００送受信データ情報
１３００ネットワークグループ情報
１４００装置Ｓの自装置送受信データ情報
１４００Ａ装置Ａの自装置送受信データ情報
【図１】
2010050670.tif 000003
【図２】
2010050670.tif 000004
【図３】
2010050670.tif 000005
【図４】
2010050670.tif 000006
【図５】
2010050670.tif 000007
【図６】
2010050670.tif 000008
【図７】
2010050670.tif 000009