JP4353827B2 - マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム - Google Patents

マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム Download PDF

Info

Publication number
JP4353827B2
JP4353827B2 JP2004052078A JP2004052078A JP4353827B2 JP 4353827 B2 JP4353827 B2 JP 4353827B2 JP 2004052078 A JP2004052078 A JP 2004052078A JP 2004052078 A JP2004052078 A JP 2004052078A JP 4353827 B2 JP4353827 B2 JP 4353827B2
Authority
JP
Japan
Prior art keywords
servant
multicast
link
timing
message
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.)
Expired - Lifetime
Application number
JP2004052078A
Other languages
English (en)
Other versions
JP2005244630A (ja
Inventor
綾太郎 木村
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2004052078A priority Critical patent/JP4353827B2/ja
Publication of JP2005244630A publication Critical patent/JP2005244630A/ja
Application granted granted Critical
Publication of JP4353827B2 publication Critical patent/JP4353827B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、仮想的な論理ネットワーク上において、マルチキャストに必要なルーティング情報を送信する方法及びプログラム、並びにかかるルーティング情報に基づいてメッセージをマルチキャストする方法及びプログラムに関する。具体的には、TCP/IP(Transmission Control Protocol / Internet Protocol)ネットワークなどの通信ネットワーク上に物理的ネットワーク構成にとらわれないツリー構造の論理ネットワークを自律的に構成し、その論理ネットワークを構成する複数ノード中の特定ノードのみを対象とするマルチキャスト通信を可能にする方法及びプログラムに関する。
IPマルチキャスト(ネットワーク層)では、ルータなどのネットワーク機器がIPマルチキャスト通信をサポートしている必要がある。また、それらネットワーク機器の設定・維持のためのコストが発生する。
UDPブロードキャスト(トランスポート層)では、サブネット単位などの物理的なネットワーク構成に依存した範囲での同報しか行えない(例えば、非特許文献1参照)。
中継サーバを介した同報通信(アプリケーション層)では、中継サーバの導入・維持のためのコストが発生する。また、中継サーバの障害への対応が困難である。
ファイル共有等のP2P(Peer to Peer)アプリケーション(アプリケーション層)では、ノード間をアドホックな方法で接続することによって、論理ネットワークを構成する。よって、無秩序なネットワーク構成となり、通信効率が非常に悪く、リアルタイムな通信に適用できない。
竹下隆史他著「マスタリングTCP/IP入門 第2版」オーム社 平成10年5月25日発行 83頁
社内に分散した複数の文章サーバを横断的に検索するシステムを考える。複数の文章サーバへの検索要求を一度に行うためにブロードキャスト通信を利用することもできるが、これでは文章サーバ以外の無関係なノードにも検索要求が転送されることになり無駄な通信が発生する。複数の文章サーバを一つのマルチキャストグループとして構成し、このグループへのマルチキャスト通信によって検索要求を送信すれば、効率的な通信が可能となる。
そこで本発明は、TCP/IP(Transmission Control Protocol / Internet Protocol)ネットワークなどの通信ネットワーク上に物理的ネットワーク構成にとらわれないツリー構造の論理ネットワークを自律的に構成し、その論理ネットワークを構成する複数ノード中の特定ノードのみを対象とするマルチキャスト通信を可能にする方法及びプログラムの提供を目的とする。
本発明の第1の特徴は、論理ネットワークにおいて、1又は2以上のリンクに接続するサーバントが、マルチキャストルーティング情報を送信する方法であって、(1)第1タイミングにおいて、(1−1)第1タイミング自マルチキャストIDセットと、ターゲットリンク以外の全リンクの第1タイミング受信マルチキャストIDセットとの第1タイミング和集合を第1タイミングマルチキャストIDセットにセットし、(1−2)前記第1タイミングマルチキャストIDセットを格納した第1タイミングマルチキャスト情報電文を前記ターゲットリンクへ送信し、(2)第2タイミングにおいて、(2−1)第2タイミング自マルチキャストIDセットと、ターゲットリンク以外の全リンクの第2タイミング受信マルチキャストIDセットとの第2タイミング和集合を第2タイミングマルチキャストIDセットにセットし、(2−2)前記第2タイミングマルチキャストIDセットを格納した第2タイミングマルチキャスト情報電文を前記ターゲットリンクへ送信する、ことにある。
本発明の第2の特徴は、さらに、前記第2タイミング前に、前記第1タイミング和集合を、送信マルチキャストIDセットに記憶し、前記第2タイミングにおいて、前記第2タイミングマルチキャストIDセットと前記送信マルチキャストIDセットとを比較し、 前記第2タイミングマルチキャストIDセットと前記送信マルチキャストIDセットとが等しい場合には、前記第2タイミングマルチキャスト情報電文を送信しない、ことにある。
本発明の第3の特徴は、さらに、前記ターゲットリンク又は前記ターゲットリンク以外のリンクのいずれかから受信したマルチキャスト情報電文から取り出したマルチキャストIDセットを、前記マルチキャスト情報電文を受信したリンクの受信マルチキャストIDセットにセットし、前記マルチキャスト情報電文を受信したリンク以外の全リンクに対して、マルチキャストルーティング情報送信処理を起動する、ことにある。
本発明の第4の特徴は、論理ネットワークにおいて、1又は2以上のリンクに接続するサーバントが、受信したマルチキャストメッセージからマルチキャストIDを取り出し、前記マルチキャストIDが、予め記憶している自マルチキャストIDセット中に含まれているときは、前記マルチキャストメッセージを、自サーバントのメッセージ受信アプリケーションに渡し、前記マルチキャストメッセージを送信してきたリンク以外の全リンクの受信マルチキャストIDセットを調べて、前記マルチキャストIDが含まれている受信マルチキャストIDセットを探し、前記マルチキャストIDが含まれている受信マルチキャストIDセットが存在したら、当該受信マルチキャストIDセットに対応するリンクに対して、前記マルチキャストメッセージを送信する、ことにある。
本発明の第1の特徴によれば、論理ネットワークにおいて、サーバントはリンクの向こう側に存在する全サーバントの自マルチキャストIDセットの和集合を把握することができる。
本発明の第2の特徴によれば、既に送信したマルチキャストIDセットと同じ内容のマルチキャストIDセットを送信しなくて済むので、送受信されるマルチキャスト情報電文の数を減少させることができる。
本発明の第3の特徴によれば、マルチキャスト情報電文を受け取ったサーバントはそのマルチキャスト情報電文を受信したリンク以外の全リンクに対して、マルチキャストルーティング情報送信処理を起動し、起動された送信処理によって送信されたマルチキャストルーティング情報電文を受信したサーバントにおいてさらにマルチキャストルーティング情報送信処理が起動される。このように、マルチキャストルーティング情報送信処理が繰り返し起動されることによって、マルチキャストルーティング情報がネットワークを構成するサーバントに行き渡る。
本発明の第4の特徴によれば、マルチキャストメッセージを受信した各サーバントは、自サーバントのメッセージ受信アプリケーションがそのマルチキャストメッセージを必要とする場合は、そのマルチキャストメッセージをそのメッセージ受信アプリケーションに渡し、またそのマルチキャストメッセージを送信してきたリンク以外のリンクの先にそのマルチキャストメッセージを必要とするサーバントが存在する場合は、そのマルチキャストメッセージをそのリンクに送信することが可能となる。各サーバントは、受け取ったマルチキャストメッセージを、それを必要とするアプリケーション又はサーバントへ順次渡すことになるため、マルチキャストメッセージがそのマルチキャストメッセージを必要とするサーバントに行き渡る。
本発明の実施形態では、TCPリンクのみを用いて論理ネットワークを構成する。よって、ネットワーク機器の種類や物理的なネットワーク構成に関わらず、論理ネットワークの構成が可能である。また、この論理ネットワークはツリー構造となっており、効率的な通信を行うことができる。特に、従来のP2P技術では困難であったリアルタイム通信にも適用することができる。
本発明の実施形態の論理ネットワークは、ノードの参加・離脱に応じて自律的に構成される。従って、構成情報の管理などのコストが不要になる。また、障害発生時にも論理ネットワークの再構築が自動的に行われるため、耐障害性が高い。
(用語の定義)
本発明の実施形態を説明するために、下記の用語を定義する。
図1(a)に示すように、論理ネットワーク上の仮想的なノードを「サーバント」(Servent)11と言う。アプリケーションはサーバントを生成し、これを介して通信を行う。
論理ネットワークの「種」となるサーバントを「シードサーバント」(SeedServent)12と言う。論理ネットワークを構成するためには、少なくともひとつのシードサーバントが存在する必要がある。シードサーバントは論理ネットワークの核となるもので、シードサーバントを中心にシードサーバント以外のサーバントが連続して接続することで論理ネットワークが構成される。
サーバントを一意に識別するための識別子を「サーバントID」と言う。サーバントIDは、物理ネットワークのアドレス(IPアドレスとポート番号)から構成することができる。また、物理ネットワークのアドレスに、かかるアドレス以外の情報を付加して構成することもできる。
サーバントIDを0以上の一意の整数値に写像したものをサーバントID値と言う。サーバントID値から、サーバントIDへの逆変換が可能である必要はない。つまりサーバントID値から、サーバントIDを求めることは出来なくても良い。
本発明の実施形態においては、サーバントおよびサーバント間のTCPリンクにより構成されるツリー構造の論理ネットワークを構築する。
図1(b)に示すように、あるサーバント(図1(b)では中央のサーバント)から見て根に近い側のリンクをアップリンク(UpLink)14、葉に近い側のリンクをダウンリンク(DownLink)15と呼ぶ。また、アップリンクの先のサーバントをアップサーバント(UpServent)16、ダウンリンクの先のサーバントをダウンサーバント(DownServent)17と呼ぶ。
・multicastId
マルチキャストグループを一意に識別するための識別子を「multicastId」と呼ぶ。multicastIdには、数字・文字列など一意に識別できるものであれば任意のデータ型を利用できる。
・selfMulticastIdSet
自サーバントが所属するマルチキャストグループのmulticastIdの集合を「selfMulticastIdSet」と呼ぶ。図1(c)に示すように、サーバントSR20〜37のそれぞれがselfMulticastIdSetSLF20〜37を有する。
・sentMulticastIdSet
あるリンクの接続先に送信したmulticastIdの集合を「sentMulticastIdSet」と呼ぶ。このリンクを境界として、自分側に存在する全てのサーバントの「selfMulticastIdSet」の和集合である。後述するように、このsentMulticastIdSetを保存しておくことで、自分側のselfMulticastIdSetの和集合に関して前回と変化が無い場合の送信を省略することができる。
図1(c)に示すように、サーバントSR20が、リンクL20の接続先のサーバントSR30に送信したmulticastIdの集合をsentMulticastIdSetSNT20と呼ぶ。sentMulticastIdSetSNT20は、リンクL20を境界として、サーバントSR20側に存在する全サーバントSR20〜27のselfMulticastIdSetSLF20〜27の和集合である。sentMulticastIdSetSNT20を保存しておくことで、selfMulticastIdSetSLF20〜27の和集合に関して前回と変化が無い場合の送信を省略することができる。selfMulticastIdSetSLF20〜27のいずれか又は全てに変化があっても、それらの和集合に変化がなければ、送信を省略することができる。
・receivedMulticastIdSet
あるリンクの接続先から受け取ったmulticastIdの集合を「receivedMulticastIdSet」と呼ぶ。このリンクを境界として、相手側に存在する全てのサーバントの「selfMulticastIdSet」の和集合である。この情報を元にして、マルチキャストメッセージのルーティング処理が行われる。
図1(c)に示すように、サーバントSR20が、リンクL20の接続先のサーバントSR30から受け取ったmulticastIdの集合をreceivedMulticastIdSetRCV20と呼ぶ。リンクL20を境界として、サーバントSR30側に存在する全サーバントのselfMulticastIdSetSLF30〜37の和集合である。
sentMulticastIdSetSNT20とreceivedMulticastIdSetRCV30との内容は同じである。sentMulticastIdSetSNT30とreceivedMulticastIdSetRCV20との内容は同じである。
(マルチキャストルーティング情報の送受信)
マルチキャストルーティング情報とは、リンクに結びつけられたmulticastId集合であり、リンクの両端のサーバントがこのmulticastId集合を送受信することによってルーティング情報の伝達が行われる。
図7及び図8に基づいて、マルチキャストルーティング情報の送受信処理で利用される共通処理について以下に示す。
ターゲットリンクへのマルチキャストルーティング情報送信処理:
まず、selfMulticastIdSet及びターゲットリンク以外の全リンクのreceivedMulticastIdSetの和集合をもとめ(図7、S501)、
もとめた和集合をmulticastIdSetにセットし(S502)、
multicastIdSetと、ターゲットリンクへのsentMulticastIdSetとを比較し(S503)、
2つの値が等しければこの処理を終了し(S504)、
2つの値が等しくなければ、multicastIdSetを格納したマルチキャスト情報電文を生成し(S505)、生成したマルチキャスト情報電文をターゲットリンクの相手先サーバントへ送信する(S506)と共に、multicastIdSetをターゲットリンクに対応するsentMulticastIdSetにセットする(S507)。
前記のマルチキャストルーティング情報の送信処理は、以下のイベントごとに実行される。
マルチキャスト情報電文の受信:
マルチキャスト情報電文からmulticastIdSetを取り出し(図8、S521)、
マルチキャスト情報電文を受信したリンクのreceivedMulticastIdSetに、マルチキャスト情報電文から取り出したmulticastIdSetをセットし(S522)、
マルチキャスト情報電文を受信したリンク以外の全リンクに対して、ターゲットリンクへのマルチキャストルーティング情報送信処理を起動する(S523)。
アプリケーションからのマルチキャストグループ参加要求:
1.当該マルチキャストグループの識別子をmulticastIdとし、
2.multicastIdをselfMulticastIdSetに追加し、
3.全てのリンクに対して、マルチキャストルーティング情報送信処理を起動する。
アプリケーションからのマルチキャストグループ離脱要求:
1.当該マルチキャストグループの識別子をmulticastIdとし、
2.multicastIdをselfMulticastIdSetから削除し、
3.全てのリンクに対して、マルチキャストルーティング情報送信処理を起動する。
新しいリンクの接続:
1.新たに接続されたリンクをターゲットリンクとして、マルチキャストルーティング情報送信処理を起動する。
リンクの切断:
1.切断されたリンクのreceivedMulticastIdSetに空集合をセットし、
2.切断されたリンク以外の全リンクに対して、マルチキャストルーティング情報送信処理を起動する。
(マルチキャストメッセージのルーティング)
図9に基づいて、マルチキャストメッセージのルーティング処理を説明する。宛先にmulticastIdを指定したメッセージをマルチキャストメッセージと呼ぶ。
マルチキャストメッセージからmulticastIdを取り出し(図9、S531)、
取り出されたmulticastIdが、selfMulticastIdSetに含まれている時、アプリケーションにメッセージを渡し(S532)、
マルチキャストメッセージを送信してきたリンク以外の全リンクのreceivedMulticastIdSetをチェックし、取り出されたmulticastIdが含まれているリンクを探し(S533)、
取り出されたmulticastIdが、receivedMulticastIdSetに含まれているリンクが存在する場合(S534でYES)、ステップS533で探し出されたリンクに対してマルチキャストメッセージを送信し(S535)、
取り出されたmulticastIdが、receivedMulticastIdSetに含まれているリンクが存在しない場合(S534でNO)、処理を終了する。
マルチキャストルーティング情報の送受信及びマルチキャストメッセージを送受信の前提となる論理ネットワークの構築について説明する。本発明の実施形態においては、サーバントごとのダウンリンクの最大数を既定値とする。以下、この最大数をNと表記する。以下の例では、特に指定の無い場合、Nを10としている。
(パーティションとスロット)
ある部分木を取り出した時、この部分木に含まれる全てのサーバントのサーバントID値をカバーする値域を「パーティション」(Partition)と呼ぶ。パーティションは、この部分木の頂点のサーバントにより管理・更新される。また、パーティションをN個の値域に分割したものを「スロット」(Slot)と呼ぶ。
頂点のサーバントは、各スロットにダウンリンクを割り当て、ダウンリンクの先のサーバントにそのスロットにあたるパーティションの管理をまかせる。このとき、各スロット内のダウンリンクは、最大1本となるように調整する。
(算出方法)
最小値、最大値により定義された値域を[最小値,最大値]として表記する。
部分木のサーバントID値の値域が[vmin, vmax]であるとき、
Nx × y ≦ vmin, vmax < Nx × (y + 1)
(x, yは整数 x > 0, 0 ≦ y < N)
を満たす最小のxを求める。
この部分木のパーティションは、[Nx × y , Nx × (y + 1) - 1]であり、パーティションの幅は、Nxとなる。また、スロットの幅は、Nx-1となる。
(計算例)
図16に、「サーバントID値の値域」の例を挙げて、その値域から算出された「パーティション」、「パーティションの幅」及び「スロット」を示す。なお、ダウンリンクの最大数Nは10とする。
図2(a)及び(b)にツリー全体でのパーティション計算例を示す。なお、ダウンリンクの最大数Nは10とする。図中、○の中の数値はサーバントID値である。
(サーバントの参加)
論理ネットワークに接続する側のサーバントをコネクター(Connector)、接続を受ける側のサーバントをリスナー(Listener)と呼び、それぞれの処理を示す。あるサーバントは、アップ側に対する接続処理を行っている間にも、ダウン側からの接続要求を受け付けなければならない。よって、サーバントは、コネクターとしての処理とリスナーとしての処理を並行して行える必要がある。
(コネクターの処理)
図3に基づいて、コネクター処理の流れを説明する。まず、対象サーバントIDリストに、シードサーバントのサーバントIDリストの内容を代入し(図3、S101)、
次に、対象サーバントIDリストからひとつずつ対象サーバントIDを取り出して、以下の処理を実行する(S103)。
そして、対象サーバントに接続し(S105)、
接続に成功しなかった場合はステップS103へ戻り、接続に成功した場合はステップS109へ進み(S107)、
自分のサーバントIDを添付した参加要求電文を、リスナーへ送信する(S109)。
参加応答電文をリスナーから受信し(S111)、
参加応答電文の応答区分が「OK」ならばコネクター処理を終了し(S113)、
参加応答電文の応答区分が「他のサーバントへの接続指示」であれば、参加応答電文から接続指示サーバントIDを取り出し、それを対象サーバントIDとして、ステップS105へ戻る(S115)。
(リスナーの処理)
図4に基づいて、リスナー処理の流れを説明する。
まず、参加要求電文をコネクターから受信し(図4、S201)、
次に、参加要求電文からコネクターのサーバントIDを取り出し(S203)、
そして、コネクターのサーバントID値を使って部分木のサーバントID値の値域を更新する(S205)。
サーバントID値の値域が[a,b]で、コネクターのサーバントID値がcであるとする、そして
c<aの場合、値域は[c,b]に更新され、
b<cの場合、値域は[a,c]に更新され、
a≦c≦bの場合は、値域は更新されない。
例えば、参加要求電文受信前のサーバントID値の値域が[1,2]で、参加要求電文から取り出されたサーバントID値が「91」の場合、更新後のサーバントID値の値域は[1,91]となる。また、参加要求電文受信前のサーバントID値の値域が[18,19]で、参加要求電文から取り出されたサーバントID値が「10」の場合、更新後のサーバントID値の値域は[10,19]となる。
部分木のサーバントID値の値域からパーティションとスロットを再計算する(S207)。このときパーティションの拡張によって、スロット内に複数のダウンリンクが該当することがある。このときは2番目以降のあふれたダウンリンクを切断する。
前記のように、部分木のサーバントID値の値域が[vmin, vmax]であるとき、
Nx × y ≦ vmin, vmax < Nx × (y + 1)
(x, yは整数 x > 0, 0 ≦ y < N)
を満たす最小のxを求める。
この部分木のパーティションは、[Nx × y , Nx × (y + 1) - 1]であり、パーティションの幅は、Nxとなる。
この部分木のスロットは、
[Nx × y , Nx × y + Nx-1 - 1],
[Nx × y + Nx-1 , Nx × y + Nx-1 ×2 - 1],

[Nx × y + Nx-1 ×(N - 1), Nx × y + (Nx-1 ×N) - 1]
であり、スロットの幅は、Nx-1となる。
例えば、参加要求電文受信前のサーバントID値の値域が[1,2]、パーティションが[0,9]の場合、参加要求電文から取り出されたサーバントID値が「91」であるなら、更新後のサーバントID値の値域は[1,91]、再計算後のパーティションは[0,99]、スロットは[0,9],[10,19],[20,29],[30,39],[40,49],[50,59],[60,69],[70,79],[80,89],[90,99]となる。
例えば、参加要求電文受信前のサーバントID値の値域が[3,7]、パーティションが[0,9]、ダウンサーバントのサーバントID値が3,4,7の場合、参加要求電文から取り出されたサーバントID値が「91」であるなら、更新後のサーバントID値の値域は[3,91]、再計算後のパーティションは[0,99]、スロットは[0,9],[10,19],[20,29],[30,39],[40,49],[50,59],[60,69],[70,79],[80,89],[90,99]となる。
このとき、スロット[0,9]にはサーバントID値が3,4,7のダウンサーバントが存在することになるため、サーバントID値4,7のサーバントへのリンクは切断される。
コネクターのサーバントID値が属するスロットを求め(S209)、
そのスロットが空かを判断し(S211)、
そのスロットが空であれば、「OK」の応答区分を持った参加応答電文を送信して(S213)、処理を終了する。
スロットに別のサーバントが割り当てられていれば、「他のサーバントへの接続指示」の応答区分と、スロットに既に割り当てられているサーバントのサーバントIDを接続指示サーバントとして設定した参加応答電文を送信して(S215)、処理を終了する。
既に図2(a)に示す状態であるとして、図2(a)に基づいてステップS209〜S215を説明する。コネクターのサーバントID値が「6」の場合、このサーバントID値が属するスロットとしてスロット[0,9]が求まる(S209)。このスロットには別のサーバント(サーバントID値「5」)が既に割り当てられているので、「他のサーバントへの接続指示」の応答区分と、先行サーバントのサーバントID(サーバントID値「5」)を接続指示サーバントとして設定した参加応答電文を送信する(S215)。
一方、コネクターのサーバントID値が「21」の場合、このサーバントID値が属するスロットとしてスロット[20,29]が求まる(S209)。このスロットは空なので、「OK」の応答区分を持った参加応答電文を送信する(S213)。
(サーバントの離脱・リンクの切断)
物理的なネットワークの障害は、リンクの切断としてサーバントに検知される。また、サーバントの離脱についても、リンクの切断としてアップリンク側およびダウンリンク側のサーバントに検知される。リンク切断を検知したときの処理を以下に示す。
(アップリンク切断時の処理)
図5に基づいて、アップリンク切断時の処理について説明する。
以下では、説明のためにサーバントID値nのサーバントのサーバントIDをIDnと表記する。例えば、サーバントID値5のサーバントのサーバントIDをID5と表記する。
まず、シブリングサーバントIDリストを取り出す(S301)。シブリングサーバントIDリストとは、同一のアップサーバントを持った兄弟のサーバントのサーバントIDリストを意味する。このリストは、アップサーバントから随時送信されるものである。
図2(a)の例では、サーバントID値「5」のサーバントのシブリングサーバントIDリストには、「ID5」と「ID13」と「ID90」が記されている。また、サーバントID値「92」のサーバントのシブリングサーバントIDリストには、「ID92」と「ID95」と「ID99」が記されている。
次に、シブリングサーバントIDリスト上の自サーバントの位置をもとめ(S303)、
そして、自サーバントが先頭のサーバントか調べ(S305)、
自サーバントがシブリングサーバントIDリストにおける先頭のサーバントであれば、コネクター処理を開始する(S307)。
自サーバントがシブリングサーバントIDリストにおける先頭のサーバントでなければ、シブリングサーバントIDリストを対象サーバントIDリストに代入し(S309)、コネクター処理を開始する(S311)。
既に図2(a)に示す状態であるとして、図2(a)を用いて、図5のステップS301〜S311を説明する。
まず、サーバントID値「90」のサーバントが離脱し、サーバントID値「92」のサーバントのアップリンクが切断された場合について説明する。サーバントID値「92」のサーバントは、シブリングサーバントIDリストを取り出す(S301)。取り出されたリストには、「ID92,ID95,ID99」のように記載されている。よって、サーバントID値「92」のサーバントは、シブリングサーバントIDリスト上における「先頭のサーバントである」(S303,305)。このため、サーバントID値「92」のサーバントは、サーバントID値「3」のシードサーバントを対象サーバントとしてコネクター処理を開始する(S307)。
次に、サーバントID値「90」のサーバントが離脱し、サーバントID値「95」のサーバントのアップリンクが切断された場合について説明する。サーバントID値「95」のサーバントは、シブリングサーバントIDリストを取り出す(S301)。取り出されたリストには、「ID92,ID95,ID99」のように記載されている。よって、サーバントID値「95」のサーバントは、シブリングサーバントIDリスト上における位置は「先頭のサーバントではない」(S303,305)。このため、サーバントID値「95」のサーバントは、シブリングサーバントIDリストを対象サーバントIDリストに代入し(S309)、サーバントID値「92」のサーバントに対してコネクター処理を開始する(S307)。
図2(b)にこれらの処理が完了した論理ネットワークの状態を示す。なお、サーバントID値「99」のサーバントも、サーバントID値「95」のサーバントと同様に、サーバントID値「92」のサーバントに対してコネクター処理を行う。
このようにして、サーバントの離脱・リンクの切断が生じても、論理ネットワークは自律的に構成される。従って、構成情報の管理などのコストが不要になる。また、障害発生時にも論理ネットワークの再構築が自動的に行われるため、耐障害性が高い。
(ダウンリンク切断時の処理)
ダウンリンク切断時は、切断されたダウンリンクが割り当てられていたスロットを求めて、そのスロットの状態を空とする。
(論理ネットワークのツリー最適化)
本実施形態では、論理ネットワークのツリーが冗長となることを防止するために、論理ネットワーク構成処理と並行して、パーティションに基づいたツリー最適化処理を行う。ツリーの最適化処理は、ツリーの頂点となるシードサーバントとそれ以外のサーバントに分担して行われる。以下に各処理を説明する。
(頂点のシードサーバントのツリー最適化処理)
1.一定時間おきに以下の処理を実行する。
1.1自サーバントのパーティション情報を添付したツリー最適化電文を作成する。
1.2全てのダウンサーバントにツリー最適化電文を送信する。
(頂点以外のサーバントのツリー最適化処理)
図6に基づいて、頂点以外のサーバントのツリー最適化処理の流れを説明する。
アップサーバントからの電文が受信されるのを待ち(S401)、
受信電文がツリー最適化電文か判断し(S403)、
ステップS403で「YES」に分岐する場合、ツリー最適化電文からアップサーバントのパーティション情報を取り出す(S405)。
自サーバントのパーティションがアップサーバントのパーティションに含まれるか判断する(S407)。なお、自サーバントのパーティションがアップサーバントのパーティションと等しい場合は「含まれない」と判断する。
ステップS407で「YES」に分岐する場合、自サーバントのパーティション情報を添付したツリー最適化電文を作成し(S409)、
全てのダウンサーバントにツリー最適化電文を送信する(S411)。
ステップS407で「NO」に分岐する場合、全てのダウンサーバントにリセット電文を送信し(S413)、
全てのダウンリンクを切断し(S415)、
自サーバントの、部分木の値域、パーティション、スロットをすべてクリアする(S417)。
ステップS403で「NO」に分岐する場合、受信電文がリセット電文か判断し(S421)、
ステップS421で「YES」に分岐する場合、コネクター処理を開始する。
なお、リセット電文受信後、アップサーバントによってアップリンクが切断されるが、コネクター処理が重複して起動することを避けるために、アップリンク切断時の処理が起動しないように制御する。
図10に、カテゴリー付きニュース配信システムのシステム構成の一例を示す。かかるニュース配信システムは、ニュース受信を待つ複数のコンピュータ100b,100cに、ニュース発信コンピュータ100aからリアルタイムにニュース情報を配信するシステムである。ニュース情報にはカテゴリーが付与されており、ニュース受信コンピュータ100b,100cで購読したいカテゴリーを指定することによって、このカテゴリーのニュース情報のみが配信される。
図10に示すように、本実施形態で使用するサーバント100は、全体を制御する主制御部(制御手段、以下「CPU」とする)101に記憶装置103が接続されている。CPU101には、また、入出力制御部105を介して送受信部107と表示装置109が接続されている。さらに、図示していないが、基本入出力システム(BIOS)などが記憶されるリードオンリーメモリ(ROM)と、プログラム領域とデータ領域を有するランダムアクセスメモリ(RAM)とがCPU101に接続されている。
記憶装置103は、ハードディスク、フレキシブルディスク、光ディスク、光磁気ディスクなどのストレージ手段であり、ニュース発信プログラム111、ニュース受信プログラム113、PBTC通信ライブラリ115、ネットワーク定義データ117などが格納されている。
PBTC(PBTC:Partition-Based Tree Construction)通信ライブラリ115は、本発明の手法を利用してニュース配信システムのための論理ネットワークを構築し、その論理ネットワーク上でのメッセージ通信を行うための通信ライブラリである。本発明による論理ネットワーク上でのマルチキャスト通信機能をサポートする。
ニュース発信プログラム111は、ニュース情報発信者の指示を受けて、ニュース情報の同報配信を行うプログラムである。ニュース情報は、PBTC通信ライブラリ115を利用してマルチキャストメッセージとして送信される。このマルチキャストメッセージは、ニュースのカテゴリーをそのまま宛先のマルチキャストグループとして設定したものである。
ニュース受信プログラム113は、PBTC通信ライブラリ115からのニュース情報の受信を待ち、受信時に表示装置109にその情報を表示するプログラムである。購読するカテゴリーは、そのままマルチキャストグループとしてPBTC通信ライブラリに登録する。
ネットワーク定義データ117は、PBTC通信ライブラリ115が利用する定義データであり、論理ネットワークの構成に必要なシードサーバントのサーバントIDリストを含む。
図17(a)にネットワーク定義データ117の内容を示す。図17(a)に示すように、ネットワーク定義データ117には、シードサーバントIDと、自サーバントIDと、サーバントID値の値域と、パーティション情報と、スロット情報と、アップ/ダウンサーバント情報とが含まれる。ネットワーク定義データ117には、さらに、selfMulticastIdSet、各リンクのsentMulticastIdSet、各リンクのreceivedMulticastIdSetが含まれる。
なお、ネットワーク定義データ117の全てを記憶装置103に格納しなくても良い。例えば、シードサーバントIDのみを記憶装置103に格納し、自サーバントID、サーバントID値の値域などはRAM上に保持するとしても良い。
また、記憶装置103には、図示していないが、TCP/IPなどの通信プロトコルに従ってデータの送受信が可能なオペレーティングシステム(OS)などが格納されている。
ニュース送信のみを行うサーバント100a、ニュース受信及びニュース送信を行うサーバント100b並びにニュース受信のみを行うサーバント100cは、TCP/IPネットワーク120を介してニュースを送受信する。ニュース送信のみを行うサーバント100aには、ニュース受信プログラム113は不要である。ニュース受信のみを行うサーバント100cには、ニュース送信プログラム111は不要である。
表示装置109は、ニュース受信プログラムが受信したニュースを表示する。表示装置109には、CRT(陰極線管)ディスプレイ、TFT液晶などの液晶ディスプレイが含まれる。
以下に、各プログラムモジュールの処理の流れを示す。
1)PBTC通信ライブラリ
1.サーバントの生成依頼を待ち、
2.サーバントの生成依頼を受けると、サーバントを生成し、論理ネットワークを自律的に構成し、
3.サーバントは、上位プログラムからの「メッセージ送受信の依頼」、「マルチキャストグループへの登録・削除依頼」を待つ。
2)ニュース発信プログラム
1.PBTC通信ライブラリにサーバント生成依頼を行い、
2.利用者からのニュース配信指示を待ち、
3.ニュース配信指示を受けたら、ニュース情報をマルチキャストメッセージとしてPBTC通信ライブラリに送信を依頼する。このとき、ニュースのカテゴリーを宛先のマルチキャストIDとして設定し、
4.利用者からのニュース配信指示待ち状態へ戻る。
3)ニュース受信プログラム
1.PBTC通信ライブラリにサーバント生成依頼を行い、
2.購読カテゴリーの設定に従って、カテゴリーをマルチキャストグループとしてPBTC通信ライブラリに登録を依頼し、
3.PBTC通信ライブラリにメッセージ受信を依頼し、
4.メッセージの受信を待ち、
5.メッセージを受信したら、ニュース情報を取り出して、表示装置109の画面に表示し、
6.メッセージの受信待ち状態へ戻る。
カテゴリー付きニュース配信システムの実施形態について、仮想的な事例を使って具体的に説明する。
例えば、社内横断的なニュースを従業員へ配信するために、ニュース配信システムを利用しているとする。ニュース発信を専門とする部署Pから、受信部署S1、S2、・・・へニュース配信を行っている。受信部署の各従業員のコンピュータは、起動時にニュース受信プログラム113が起動するように設定されている。従業員は、購読するカテゴリーをニュース受信プログラムに設定しておく。
図11に、ニュース配信システムのネットワーク構成の一例を示す。図11に示すように、発信部署Pのネットワークアドレスは192.168.1.0/24、受信部署S1のネットワークアドレスは192.168.11.0/24、受信部署S2のネットワークアドレスは192.168.12.0/24とする。
発信部署Pでは、ニュース配信の確認を行うためのコンピュータを2台設置しており、常にニュース受信プログラムが起動した状態となっている。なお、以下では、ポート番号は省略して表記する。ニュース配信確認コンピュータのIPアドレスを以下に示す。
192.168.1.1
192.168.1.2
これら2台のコンピュータには、論理ネットワークのシードサーバントの役割を持たせる。よって、ネットワーク定義データの内容は、以下のようになっている。
SeedServent
192.168.1.1
192.168.1.2
また、PBTCは以下のように調整されている。ダウンリンクの最大数Nは「16」、サーバントIDのIPアドレスとポート番号をそのまま6バイトの整数としてサーバントID値とする。
図12に、起動しているコンピュータの部署と、IPアドレスと、用途と、購読カテゴリーとを示す。図12に示すように、
発信部署PのIPアドレス192.168.1.1〜192.168.1.2のコンピュータは、ニュース受信コンピュータ兼シードサーバント、
発信部署PのIPアドレス192.168.1.3〜192.168.1.4のコンピュータは、ニュース発信コンピュータ、
受信部署S1のIPアドレス192.168.11.1〜192.168.11.2のコンピュータは、ニュース受信コンピュータで、購読カテゴリーはX、
受信部署S1のIPアドレス192.168.11.3のコンピュータは、ニュース受信コンピュータで、購読カテゴリーはY、
受信部署S1のIPアドレス192.168.11.4のコンピュータは、ニュース受信コンピュータで、購読カテゴリーはX、
受信部署S2のIPアドレス192.168.12.1〜192.168.12.3のコンピュータも、ニュース受信コンピュータで、購読カテゴリーはYである。
図13に、図12の論理ネットワークの構成例を示す。図13に示すように、
頂点のサーバントは、IPアドレス192.168.1.1のコンピュータのサーバントであり、
IPアドレス192.168.1.1のコンピュータのダウンサーバントは、IPアドレス192.168.1.2, 192.168.11.4, 192.168.12.2のコンピュータのサーバントであり、
IPアドレス192.168.1.2のコンピュータのダウンサーバントは、IPアドレス192.168.1.3, 192.168.1.4のコンピュータのサーバントであり、
IPアドレス192.168.11.4のコンピュータのダウンサーバントは、IPアドレス192.168.11.1〜192.168.11.3のコンピュータのサーバントであり、
IPアドレス192.168.12.2のコンピュータのダウンサーバントは、IPアドレス192.168.12.1, 192.168.12.3のコンピュータのサーバントである。
図13中の{}は登録中のマルチキャストグループの集合(selfMulticastIdSet)を示し、[]はリンクの相手先から受信したマルチキャストグループの集合(receivedMulticastIdSet)を示す。
ニュース配信システムの動作を、以下のシナリオ1,2を例にとって説明する。以下では、図13の論理ネットワークが構成されている状況を前提とする。
(シナリオ1:カテゴリーXを購読するニュース受信コンピュータ[192.168.12.4]の起動から論理ネットワークへの参加まで)
ニュース受信部署S2に属するニュース受信コンピュータ[192.168.12.4]が起動し、論理ネットワークに参加するまでの動作の流れを以下に示す。
ニュース受信プログラムが起動し、サーバント[192.168.12.4]が生成され、
サーバント[192.168.12.4]は、対象サーバントリストに[192.168.1.1]と[192.168.1.2]を設定し(図3、S101)、
先頭のシードサーバントであるサーバント[192.168.1.1]のサーバントIDを取り出し(S103)、
サーバント[192.168.1.1]に接続し(S105)、
自サーバントID[192.168.12.4]を添付した参加要求を送信する(S109)。
サーバント[192.168.1.1]は、サーバント[192.168.12.4]から参加要求を受信し(図4、S201)、
参加要求からサーバント[192.168.12.4]のサーバントIDを取り出し(S203)、
サーバント[192.168.12.4]のサーバントID値を使って部分木を更新し(S205)、部分木の値域からパーティションとスロットを再計算し(S207)、
サーバント[192.168.12.4]のサーバントID値が属するスロットを求め(S209)、求められたスロットが空か判断し(S211)、
求められたスロットに割り当てられているサーバント[192.168.12.2]への接続指示を参加応答として返す(S215)。
これによって、サーバント[192.168.1.1]のサーバントID値の値域は、
[192.168.1.1, 192.168.12.3]から
[192.168.1.1, 192.168.12.4]へ更新される。
サーバント[192.168.1.1]のパーティションは、
[192.168.0.0, 192.168.15.255]のままである。
そして、図17(b)に示すスロット情報に基づいて、サーバント[192.168.12.4]が属するスロット[192.168.12.0, 192.168.12.255]を求める(S209)。図17(b)に示すように、スロット[192.168.12.0, 192.168.12.255]には既にサーバント[192.168.12.2]が存在する。よって、求められたスロットは空ではないと判断し(S211)、[192.168.12.2]への接続指示を参加応答として返す(S215)。
サーバント[192.168.12.4]は、サーバント[192.168.1.1]から参加応答を受信し(図3、S111)、
参加応答の内容は「OK」ではないので、参加応答からサーバント[192.168.12.2]のサーバントIDを取り出し、このサーバントIDを新たな対象サーバントIDとし(S115)、
サーバント[192.168.12.2]へ接続し(S105)、参加要求を送信する(S109)。
サーバント[192.168.12.2]は、サーバント[192.168.12.4]から参加要求を受信し(図4、S201)、
参加要求からサーバント[192.168.12.4]のサーバントIDを取り出し(S203)、
サーバント[192.168.12.4]のサーバントID値を使って部分木を更新し(S205)、部分木の値域からパーティションとスロットを再計算し(S207)、
サーバント[192.168.12.4]のサーバントID値が属するスロットを求め(S209)、求められたスロットが空か判断する(S211)。
具体的には、サーバント[192.168.12.2]のサーバントID値の値域は、
[192.168.12.1, 192.168.12.3]から
[192.168.12.1, 192.168.12.4]へ更新される。
サーバント[192.168.12.2]のパーティションは、
[192.168.12.0, 192.168.12.15]のままである。
サーバント[192.168.12.4]が属するスロットは空なので、サーバント[192.168.12.2]は、接続OKの参加応答を返す(S213)。この結果、サーバント[192.168.12.4]はサーバント[192.168.12.2]のダウンサーバントとなる。
図14に、サーバント[192.168.12.4]がサーバント[192.168.12.2]のダウンサーバントとなった論理ネットワークを示す。
このように、サーバントの参加に応じて、論理ネットワークが自律的に構成される。従って、論理ネットワーク全体の構成情報を管理するなどのコストは不要である。
次に、図7、図8及び図14に基づいて、ニュース受信部署S2に属するニュース受信コンピュータ[192.168.12.4]が論理ネットワークに参加した後に、マルチキャスト情報がどのようにやりとりされるかを説明する。
(サーバント[192.168.12.4]によるマルチキャストルーティング情報送信処理)
サーバント[192.168.12.4]は、新しいリンクL1をターゲットリンクとして、マルチキャストルーティング情報送信処理を起動する。
サーバント[192.168.12.4]は、selfMulticastIdSetと、ターゲットリンクL1以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(図7、S501)。サーバント[192.168.12.4]のselfMulticastIdSetは{X}であり、サーバント[192.168.12.4]はターゲットリンクL1以外のリンクを有しない。このため、和集合はカテゴリーXのみである。よって、カテゴリーXのみをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL1へのsentMulticastIdSetとを比較する(S103)。リンクL1は接続されたばかりであるから、ターゲットリンクL1へのsentMulticastIdSetの中身は空である。よって、multicastIdSetと、ターゲットリンクL1へのsentMulticastIdSetとは等しくない(S504でNO)。
サーバント[192.168.12.4]は、カテゴリーXのみがセットされたmulticastIdSetを格納したマルチキャスト情報電文を生成し(S105)、生成したマルチキャスト情報電文をターゲットリンクL1の相手先サーバント[192.168.12.2]へ送信する(S506)。かかる送信を図14に矢印AR11で示す。
また、サーバント[192.168.12.4]は、カテゴリーXのみがセットされたmulticastIdSetを、ターゲットリンクL1のsentMulticastIdSetにセットする(S507)。
(サーバント[192.168.12.2]によるマルチキャストルーティング情報送信処理)
サーバント[192.168.12.2]も、新しいリンクL1をターゲットリンクとして、マルチキャストルーティング情報送信処理を起動する。
サーバント[192.168.12.2]は、selfMulticastIdSetと、ターゲットリンクL1以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(図7、S501)。サーバント[192.168.12.2]のselfMulticastIdSetは{Y}である。
ターゲットリンクL1以外のリンクとして、
サーバント[192.168.12.3]とのリンクL2、
サーバント[192.168.12.1]とのリンクL3、
サーバント[192.168.1.1]とのリンクL4が存在する。
リンクL2のreceivedMulticastIdSetはカテゴリーYのみ、
リンクL3のreceivedMulticastIdSetもカテゴリーYのみ、
リンクL4のreceivedMulticastIdSetはカテゴリーXとYである。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL1へのsentMulticastIdSetとを比較する(S503)。リンクL1は接続されたばかりであるから、ターゲットリンクL1へのsentMulticastIdSetの中身は空である。よって、multicastIdSetと、ターゲットリンクL1へのsentMulticastIdSetとは等しくない(S504でNO)。
サーバント[192.168.12.2]は、カテゴリーXとYがセットされたmulticastIdSetを格納したマルチキャスト情報電文を生成し(S505)、生成したマルチキャスト情報電文をターゲットリンクL1の相手先サーバント[192.168.12.4]へ送信する(S506)。かかる送信を図14に矢印AR12で示す。
また、サーバント[192.168.12.2]は、カテゴリーXとYがセットされたmulticastIdSetを、ターゲットリンクL1のsentMulticastIdSetにセットする(S507)。
(サーバント[192.168.12.2]によるマルチキャスト情報電文の受信)
サーバント[192.168.12.2]は、矢印AR11に対応するマルチキャスト情報電文を受信すると、そのマルチキャスト情報電文からmulticastIdSetを取り出す(図8、S521)。つまり、カテゴリーXが取り出される。
そして、サーバント[192.168.12.2]は、マルチキャスト情報電文を受信したリンクのreceivedMulticastIdSetに、multicastIdSetをセットする(S522)。つまり、リンクL1のreceivedMulticastIdSetにカテゴリーXがセットされる。
さらに、サーバント[192.168.12.2]は、マルチキャスト情報電文を受信したリンク以外の全リンク、つまりリンクL2、L3及びL4に対して、マルチキャストルーティング情報送信処理を起動する(S523)。
(リンクL2へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL2である場合のサーバント[192.168.12.2]におけるマルチキャストルーティング情報の送信処理について説明する。
サーバント[192.168.12.2]は、selfMulticastIdSetと、ターゲットリンクL2以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(図7、S501)。サーバント[192.168.12.2]のselfMulticastIdSetは{Y}である。
ターゲットリンクL2以外のリンクとして、
サーバント[192.168.12.4]とのリンクL1、
サーバント[192.168.12.1]とのリンクL3、
サーバント[192.168.1.1]とのリンクL4が存在する。
リンクL1のreceivedMulticastIdSetはカテゴリーXのみ、
リンクL3のreceivedMulticastIdSetはカテゴリーYのみ、
リンクL4のreceivedMulticastIdSetはカテゴリーXとYである。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL2へのsentMulticastIdSetとを比較する(S503)。ターゲットリンクL2へのsentMulticastIdSetの中身はカテゴリーXとYである。よって、multicastIdSetと、ターゲットリンクL2へのsentMulticastIdSetとは等しい(S504でYES)。つまり、情報に変化がないので送信は行われず、リンクL2に関するマルチキャストルーティング情報の送信を終了する。
(リンクL3へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL3である場合のサーバント[192.168.12.2]におけるマルチキャストルーティング情報の送信処理は、ターゲットリンクがリンクL2である場合と同様であるから説明を省略する。
(リンクL4へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL4である場合のサーバント[192.168.12.2]におけるマルチキャストルーティング情報の送信処理について説明する。
サーバント[192.168.12.2]は、selfMulticastIdSetと、ターゲットリンクL4以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(S501)。サーバント[192.168.12.2]のselfMulticastIdSetは{Y}である。
ターゲットリンクL4以外のリンクとして、
サーバント[192.168.12.4]とのリンクL1、
サーバント[192.168.12.3]とのリンクL2、
サーバント[192.168.12.1]とのリンクL3が存在する。
リンクL1のreceivedMulticastIdSetはカテゴリーXのみ、
リンクL2のreceivedMulticastIdSetはカテゴリーYのみ、
リンクL3のreceivedMulticastIdSetもカテゴリーYのみである。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL4へのsentMulticastIdSetとを比較する(S503)。ターゲットリンクL4へのsentMulticastIdSetの中身はカテゴリーYのみである。よって、multicastIdSetと、ターゲットリンクL4へのsentMulticastIdSetとは等しくない(S504でNO)。
サーバント[192.168.12.2]は、カテゴリーXとYがセットされたmulticastIdSetを格納したマルチキャスト情報電文を生成し(S505)、生成したマルチキャスト情報電文をターゲットリンクL4の相手先サーバント[192.168.1.1]へ送信する(S506)。かかる送信を図14に矢印AR13で示す。
また、サーバント[192.168.12.2]は、カテゴリーXとYがセットされたmulticastIdSetを、ターゲットリンクL4のsentMulticastIdSetにセットする(S507)。
図17(d)〜(f)に、リンクL1〜4へのマルチキャストルーティング情報送信処理後のselfMulticastIdSet、sentMulticastIdSet及びreceivedMulticastIdSetを示す。
図17(d)に示すように、selfMulticastIdSetはカテゴリーYのみ、
図17(e)に示すように、sentMulticastIdSetはリンクL1〜L4のいずれについてもカテゴリーXとY、
図17(f)に示すように、receivedMulticastIdSetはリンクL1についてカテゴリーX、リンクL2及びL3についてカテゴリーY、リンクL4についてカテゴリーXとYである。
(サーバント[192.168.1.1]によるマルチキャスト情報電文の受信)
サーバント[192.168.1.1]は、矢印AR13に対応するマルチキャスト情報電文を受信すると、そのマルチキャスト情報電文からmulticastIdSetを取り出す(図8、S521)。つまり、カテゴリーXとYが取り出される。
そして、サーバント[192.168.1.1]は、マルチキャスト情報電文を受信したリンクのreceivedMulticastIdSetに、multicastIdSetをセットする(S522)。つまり、リンクL4のreceivedMulticastIdSetにカテゴリーXとYがセットされる。
さらに、サーバント[192.168.1.1]は、マルチキャスト情報電文を受信したリンク以外の全リンク、つまりリンクL5とL6に対して、マルチキャストルーティング情報送信処理を起動する(S523)。
(リンクL6へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL6である場合のサーバント[192.168.1.1]におけるマルチキャストルーティング情報の送信処理について説明する。
サーバント[192.168.1.1]は、selfMulticastIdSetと、ターゲットリンクL6以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(図7、S501)。サーバント[192.168.1.1]のselfMulticastIdSetの中身は空である。
ターゲットリンクL6以外のリンクとして、
サーバント[192.168.12.2]とのリンクL4、
サーバント[192.168.11.4]とのリンクL5が存在する。
リンクL4のreceivedMulticastIdSetはカテゴリーXとY、
リンクL5のreceivedMulticastIdSetもカテゴリーXとYである。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL6へのsentMulticastIdSetとを比較する(S503)。ターゲットリンクL6へのsentMulticastIdSetの中身はカテゴリーXとYである。よって、multicastIdSetと、ターゲットリンクL6へのsentMulticastIdSetとは等しい(S504でYES)。つまり、情報に変化がないので送信は行われず、リンクL6に関するマルチキャストルーティング情報の送信を終了する。
(リンクL5へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL5である場合のサーバント[192.168.1.1]におけるマルチキャストルーティング情報の送信処理について説明する。
サーバント[192.168.1.1]は、selfMulticastIdSetと、ターゲットリンクL5以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(S501)。サーバント[192.168.1.1]のselfMulticastIdSetの中身は空である。
ターゲットリンクL5以外のリンクとして、
サーバント[192.168.12.2]とのリンクL4、
サーバント[192.168.1.2]とのリンクL6が存在する。
リンクL4のreceivedMulticastIdSetはカテゴリーXとY、
リンクL6のreceivedMulticastIdSetの中身は空である。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL5へのsentMulticastIdSetとを比較する(S503)。ターゲットリンクL5へのsentMulticastIdSetの中身はカテゴリーYのみである。よって、multicastIdSetと、ターゲットリンクL5へのsentMulticastIdSetとは等しくない(S504でNO)。
サーバント[192.168.1.1]は、カテゴリーXとYがセットされたmulticastIdSetを格納したマルチキャスト情報電文を生成し(S505)、生成したマルチキャスト情報電文をターゲットリンクL5の相手先サーバント[192.168.11.4]へ送信する(S506)。かかる送信を図14に矢印AR14で示す。
また、サーバント[192.168.1.1]は、カテゴリーXとYがセットされたmulticastIdSetを、ターゲットリンクL5のsentMulticastIdSetにセットする(S507)。
(サーバント[192.168.11.4]によるマルチキャスト情報電文の受信)
サーバント[192.168.11.4]は、矢印AR14に対応するマルチキャスト情報電文を受信すると、そのマルチキャスト情報電文からmulticastIdSetを取り出す(図8、S521)。つまり、カテゴリーXとYが取り出される。
そして、サーバント[192.168.11.4]は、マルチキャスト情報電文を受信したリンクのreceivedMulticastIdSetに、multicastIdSetをセットする(S522)。つまり、リンクL5のreceivedMulticastIdSetにカテゴリーXとYがセットされる。
さらに、サーバント[192.168.11.4]は、マルチキャスト情報電文を受信したリンク以外の全リンク、つまりリンクL7、L8及びL9に対して、マルチキャストルーティング情報送信処理を起動する(S523)。
(リンクL7へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL7である場合のサーバント[192.168.11.4]におけるマルチキャストルーティング情報の送信処理について説明する。
サーバント[192.168.11.4]は、selfMulticastIdSetと、ターゲットリンクL7以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(図7、S501)。サーバント[192.168.11.4]のselfMulticastIdSetは{X}である。
ターゲットリンクL7以外のリンクとして、
サーバント[192.168.1.1]とのリンクL5、
サーバント[192.168.11.2]とのリンクL8、
サーバント[192.168.11.1]とのリンクL9が存在する。
リンクL5のreceivedMulticastIdSetはカテゴリーXとY、
リンクL8のreceivedMulticastIdSetはカテゴリーX、
リンクL9のreceivedMulticastIdSetもカテゴリーXである。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL7へのsentMulticastIdSetとを比較する(S503)。ターゲットリンクL7へのsentMulticastIdSetの中身はカテゴリーXとYである。よって、multicastIdSetと、ターゲットリンクL7へのsentMulticastIdSetとは等しい(S504でYES)。つまり、情報に変化がないので送信は行われず、リンクL7に関するマルチキャストルーティング情報の送信を終了する。
(リンクL8へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL8である場合のサーバント[192.168.11.4]におけるマルチキャストルーティング情報の送信処理について説明する。
サーバント[192.168.11.4]は、selfMulticastIdSetと、ターゲットリンクL8以外の全リンクのreceivedMulticastIdSetとの和集合をもとめる(S501)。サーバント[192.168.11.4]のselfMulticastIdSetは{X}である。
ターゲットリンクL8以外のリンクとして、
サーバント[192.168.1.1]とのリンクL5、
サーバント[192.168.11.3]とのリンクL7、
サーバント[192.168.11.1]とのリンクL9が存在する。
リンクL5のreceivedMulticastIdSetはカテゴリーXとY、
リンクL7のreceivedMulticastIdSetはカテゴリーY、
リンクL9のreceivedMulticastIdSetもカテゴリーXである。
このため、和集合はカテゴリーXとYである。よって、カテゴリーXとYをmulticastIdSetにセットする(S502)。
multicastIdSetと、ターゲットリンクL8へのsentMulticastIdSetとを比較する(S503)。ターゲットリンクL8へのsentMulticastIdSetの中身はカテゴリーXとYである。よって、multicastIdSetと、ターゲットリンクL8へのsentMulticastIdSetとは等しい(S504でYES)。つまり、情報に変化がないので送信は行われず、リンクL8に関するマルチキャストルーティング情報の送信を終了する。
(リンクL9へのマルチキャストルーティング情報送信処理)
ターゲットリンクがリンクL9である場合のサーバント[192.168.11.4]におけるマルチキャストルーティング情報の送信処理も、ターゲットリンクがリンクL8である場合と同様であるから説明を省略する。
上記の如く、新しいリンクL1が接続されると、
サーバント[192.168.12.4]は、カテゴリーXがセットされたmulticastIdSetを格納したマルチキャスト情報電文をリンクL1の相手先サーバント[192.168.12.2]へ送信し(矢印AR11に対応)、
サーバント[192.168.12.2] は、カテゴリーXとYがセットされたmulticastIdSetを格納したマルチキャスト情報電文をリンクL1の相手先サーバント[192.168.12.4]とリンクL4の相手先サーバント[192.168.1.1]へ送信し(矢印AR12とAR13に対応)、
サーバント[192.168.1.1]は、カテゴリーXとYがセットされたmulticastIdSetを格納したマルチキャスト情報電文をリンクL5の相手先サーバント[192.168.11.4]へ送信する(矢印AR14に対応)。
そして、サーバント[192.168.12.4]のリンクL1に対するreceivedMulticastIdSetはカテゴリーXとYになり、
サーバント[192.168.12.2]のリンクL1に対するreceivedMulticastIdSetはカテゴリーXになり、
サーバント[192.168.1.1]のリンクL4に対するreceivedMulticastIdSetはカテゴリーXとYになり、
サーバント[192.168.11.4]のリンクL5に対するreceivedMulticastIdSetもカテゴリーXとYになる。
(シナリオ2:ニュース発信コンピュータ[192.168.1.4]からのカテゴリーXのニュース発信)
図9及び図15に基づいて、ニュース配信の一例を説明する。ニュース発信プログラムはサーバント[192.168.1.4]を使って、ニュースを矢印AR21に対応するマルチキャストメッセージとして送信する。このときカテゴリーXを送信先のマルチキャストグループとして設定する。
(矢印AR21に対応するマルチキャストメッセージを受信したサーバント[192.168.1.2]の動作)
まず、サーバント[192.168.1.2]は、マルチキャストメッセージからmulticastIdを取り出す(図9、S531)。具体的には、multicastIdとしてカテゴリーXが取り出される。
次に、サーバント[192.168.1.2]は、selfMulticastIdSetに、multicastIdが含まれている時、アプリケーションにメッセージを渡す(S532)。サーバント[192.168.1.2]のselfMulticastIdSetは空である。つまり、カテゴリーXは、selfMulticastIdSetに含まれていないから、メッセージはニュース受信プログラム113などのアプリケーションに渡されない。
次に、サーバント[192.168.1.2]は、マルチキャストメッセージを送信してきたリンク以外の全リンクのreceivedMulticastIdSetをチェックし、multicastIdが含まれているリンクを探す(S533)。具体的には、マルチキャストメッセージを送信してきたリンクL10以外の全リンク、すなわちリンクL6とL11のreceivedMulticastIdSetをチェックし、カテゴリーXが含まれているリンクを探す。
リンクL6のreceivedMulticastIdSet はカテゴリーXとYである。つまり、リンクL6のreceivedMulticastIdSet は、カテゴリーXを含む。すなわち、multicastIdが含まれているリンクがある(S534でYES)。
そこで、multicastIdが含まれているリンクに対して、マルチキャストメッセージを送信する(S535)。具体的には、リンクL6に対して、矢印AR22に対応するマルチキャストメッセージを送信する。
(矢印AR22に対応するマルチキャストメッセージを受信したサーバント[192.168.1.1]の動作)
まず、サーバント[192.168.1.1]は、マルチキャストメッセージからmulticastIdを取り出す(S531)。つまり、multicastIdとしてカテゴリーXが取り出される。
次に、サーバント[192.168.1.1]は、selfMulticastIdSetに、multicastIdが含まれている時、アプリケーションにメッセージを渡す(S532)。サーバント[192.168.1.1]のselfMulticastIdSetは空である。つまり、カテゴリーXは、selfMulticastIdSetに含まれていないから、メッセージはニュース受信プログラム113などのアプリケーションに渡されない。
次に、サーバント[192.168.1.1]は、マルチキャストメッセージを送信してきたリンク以外の全リンクのreceivedMulticastIdSetをチェックし、multicastIdが含まれているリンクを探す(S533)。具体的には、リンクL6以外の全リンク、すなわちリンクL4とL5のreceivedMulticastIdSetをチェックし、カテゴリーXが含まれているリンクを探す。
リンクL4もリンクL5もreceivedMulticastIdSet は、カテゴリーXとYである。つまり、リンクL4もリンクL5もreceivedMulticastIdSet は、カテゴリーXを含む。すなわち、multicastIdが含まれているリンクがある(S534でYES)。
そこで、multicastIdが含まれているリンクに対して、マルチキャストメッセージを送信する(S535)。具体的には、リンクL4に対して、矢印AR24に対応するマルチキャストメッセージを送信し、リンクL5に対して、矢印AR23に対応するマルチキャストメッセージを送信する。
(矢印AR23に対応するマルチキャストメッセージを受信したサーバント[192.168.11.4]の動作)
まず、サーバント[192.168.11.4]は、マルチキャストメッセージからmulticastIdを取り出す(S531)。つまり、multicastIdとしてカテゴリーXが取り出される。
次に、サーバント[192.168.11.4]は、selfMulticastIdSetに、multicastIdが含まれている時、アプリケーションにメッセージを渡す(S532)。サーバント[192.168.11.4]のselfMulticastIdSetはカテゴリーXであるから、メッセージはニュース受信プログラム113などのアプリケーションに渡される。
次に、サーバント[192.168.11.4]は、マルチキャストメッセージを送信してきたリンク以外の全リンクのreceivedMulticastIdSetをチェックし、multicastIdが含まれているリンクを探す(S533)。具体的には、リンクL5以外の全リンク、すなわちリンクL7、L8及びL9のreceivedMulticastIdSetをチェックし、カテゴリーXが含まれているリンクを探す。
リンクL8及びL9のreceivedMulticastIdSet は、カテゴリーXである。つまり、multicastIdが含まれているリンクがある(S534でYES)。
そこで、multicastIdが含まれているリンクに対して、マルチキャストメッセージを送信する(S535)。具体的には、リンクL8及びL9に対して、矢印AR25及びAR26に対応するマルチキャストメッセージを送信する。receivedMulticastIdSetにカテゴリーXが含まれていないリンクL7に対しては、マルチキャストメッセージは送信されない。
(矢印AR24に対応するマルチキャストメッセージを受信したサーバント[192.168.12.2]の動作)
まず、サーバント[192.168.12.2]は、マルチキャストメッセージからmulticastIdを取り出す(S531)。つまり、multicastIdとしてカテゴリーXが取り出される。
次に、サーバント[192.168.12.2]は、selfMulticastIdSetに、multicastIdが含まれている時、アプリケーションにメッセージを渡す(S532)。サーバント[192.168.12.2]のselfMulticastIdSetはカテゴリーYである。つまり、カテゴリーXはselfMulticastIdSetに含まれていないから、メッセージはニュース受信プログラム113などのアプリケーションに渡されない。
次に、サーバント[192.168.12.2]は、マルチキャストメッセージを送信してきたリンク以外の全リンクのreceivedMulticastIdSetをチェックし、multicastIdが含まれているリンクを探す(S533)。具体的には、リンクL4以外の全リンク、すなわちリンクL1、L2及びL3のreceivedMulticastIdSetをチェックし、カテゴリーXが含まれているリンクを探す。
リンクL1のreceivedMulticastIdSet は、カテゴリーXである。つまり、multicastIdが含まれているリンクがある(S534でYES)。
そこで、multicastIdが含まれているリンクに対して、マルチキャストメッセージを送信する(S535)。具体的には、リンクL1に対して、矢印AR27に対応するマルチキャストメッセージを送信する。receivedMulticastIdSetにカテゴリーXが含まれていないリンクL2及びL3に対しては、マルチキャストメッセージは送信されない。
このようにして、図15に示すように、カテゴリーXのニュースを含むマルチキャストメッセージが、
サーバント[192.168.1.4]からサーバント[192.168.1.2]へ、
サーバント[192.168.1.2]からサーバント[192.168.1.1]へ、
サーバント[192.168.1.1]からサーバント[192.168.11.4],[192.168.12.2]へ、
サーバント[192.168.11.4]からサーバント[192.168.11.1],[192.168.11.2]へ、
サーバント[192.168.12.2]からサーバント[192.168.12.4]へ、
順次、転送される。
そして、selfMulticastIdSetがカテゴリーXを含む各サーバントのニュース受信プログラムは、ニュースを表示装置109の画面上に表示する。
このようにして、IPマルチキャスト通信をサポートしていないネットワーク機器であっても、設定・維持のためのコストをかけることなく、またサブネット単位などの物理的なネットワーク構成に依存することなく、マルチキャストが可能となる。
(a)はサーバント、シードサーバントを説明するための図、(b)はアップサーバント、ダウンサーバント、アップリンク、ダウンリンクを説明するための図、(c)はselfMulticastIdSet、 sentMulticastIdSet及びreceivedMulticastIdSetを説明するための図である。 (a)は論理ネットワーク構成とそれに対応するサーバントID値、パーティション、スロットを説明し、(b)は一部のサーバントが離脱・リンクが切断した場合について説明するための図である。 コネクター処理の流れを説明するためのフローチャートである。 リスナー処理の流れを説明するためのフローチャートである。 アップリンク切断時の処理の流れを説明するためのフローチャートである。 ツリー最適化処理の流れを説明するためのフローチャートである。 マルチキャストルーティング情報送信処理を説明するためのフローチャートである。 マルチキャストルーティング情報受信処理を説明するためのフローチャートである。 マルチキャストメッセージルーティング処理を説明するためのフローチャートである。 ニュース配信システムのシステム構成を示す図である。 ニュース配信システムに関わる部分のネットワークの構成を示す図である。 起動しているコンピュータの部署、IPアドレス、用途、及びカテゴリーの関係を示す図である。 図12に示すコンピュータの論理ネットワークの構成を示す図である。 図13に示す論理ネットワークに、サーバント[192.168.12.4]が参加して、サーバント[192.168.12.2]のダウンサーバントとなった論理ネットワーク及び送受信されるマルチキャストルーティング情報の流れを示す図である。 図14に示す論理ネットワークにおけるマルチキャストメッセージの転送状況を示す図である。 サーバントID値の値域、パーティション、パーティションの幅、スロットを説明するための図である。 (a)はネットワーク定義データを説明し、(b)はスロット情報の一例、(c)はアップ/ダウンサーバント情報の一例、(d)はselfMulticastIdSetの一例、(e)はsentMulticastIdSetの一例及び(f)はreceivedMulticastIdSetの一例を示すための図である。
符号の説明
101…主制御部(CPU)
103…記憶装置
105…入出力制御部
107…送受信部
109…表示装置
111…ニュース発信プログラム
113…ニュース受信プログラム
115…PBTC通信ライブラリ
117…ネットワーク定義データ

Claims (6)

  1. 論理ネットワークにおいて、1又は2以上のリンクに接続するサーバントが、
    第1タイミングにおいて、
    第1タイミング自マルチキャストIDセットと、ターゲットリンク以外の全リンクの第1タイミング受信マルチキャストIDセットとの第1タイミング和集合を第1タイミングマルチキャストIDセットにセットし、
    前記第1タイミングマルチキャストIDセットを格納した第1タイミングマルチキャスト情報電文を前記ターゲットリンクへ送信し、
    第2タイミングにおいて、
    第2タイミング自マルチキャストIDセットと、ターゲットリンク以外の全リンクの第2タイミング受信マルチキャストIDセットとの第2タイミング和集合を第2タイミングマルチキャストIDセットにセットし、
    前記第2タイミングマルチキャストIDセットを格納した第2タイミングマルチキャスト情報電文を前記ターゲットリンクへ送信する、マルチキャストルーティング情報送信方法。
  2. 前記サーバントは、さらに、
    前記第2タイミング前に、前記第1タイミング和集合を、送信マルチキャストIDセットに記憶し、
    前記第2タイミングにおいて、
    前記第2タイミングマルチキャストIDセットと前記送信マルチキャストIDセットとを比較し、
    前記第2タイミングマルチキャストIDセットと前記送信マルチキャストIDセットとが等しい場合には、前記第2タイミングマルチキャスト情報電文を送信しない、請求項1記載のマルチキャストルーティング情報送信方法。
  3. 前記サーバントは、さらに、
    前記ターゲットリンク又は前記ターゲットリンク以外のリンクのいずれかから受信したマルチキャスト情報電文から取り出したマルチキャストIDセットを、前記マルチキャスト情報電文を受信したリンクの受信マルチキャストIDセットにセットし、
    前記マルチキャスト情報電文を受信したリンク以外の全リンクに対して、マルチキャストルーティング情報送信処理を起動する請求項1又は2記載のマルチキャストルーティング情報送信方法。
  4. 論理ネットワークにおいて、1又は2以上のリンクに接続するコンピュータに、
    第1タイミングにおいて、
    第1タイミング自マルチキャストIDセットと、ターゲットリンク以外の全リンクの第1タイミング受信マルチキャストIDセットとの第1タイミング和集合を第1タイミングマルチキャストIDセットにセットする手順、
    前記第1タイミングマルチキャストIDセットを格納した第1タイミングマルチキャスト情報電文を前記ターゲットリンクへ送信する手順、
    第2タイミングにおいて、
    第2タイミング自マルチキャストIDセットと、ターゲットリンク以外の全リンクの第2タイミング受信マルチキャストIDセットとの第2タイミング和集合を第2タイミングマルチキャストIDセットにセットする手順、
    前記第2タイミングマルチキャストIDセットを格納した第2タイミングマルチキャスト情報電文を前記ターゲットリンクへ送信する手順、を実行させるためのマルチキャストルーティング情報送信プログラム。
  5. 前記コンピュータに、さらに、
    前記第2タイミング前に、前記第1タイミング和集合を、送信マルチキャストIDセットに記憶する手順、
    前記第2タイミングにおいて、
    前記第2タイミングマルチキャストIDセットと前記送信マルチキャストIDセットとを比較する手順、
    前記第2タイミングマルチキャストIDセットと前記送信マルチキャストIDセットとが等しい場合には、前記第2タイミングマルチキャスト情報電文を送信しない手順、を実行させるための請求項4記載のマルチキャストルーティング情報送信プログラム。
  6. 前記コンピュータに、さらに、
    前記ターゲットリンク又は前記ターゲットリンク以外のリンクのいずれかから受信したマルチキャスト情報電文から取り出したマルチキャストIDセットを、前記マルチキャスト情報電文を受信したリンクの受信マルチキャストIDセットにセットする手順、
    前記マルチキャスト情報電文を受信したリンク以外の全リンクに対して、マルチキャストルーティング情報送信処理を起動する手順、を実行させるための請求項4又は5記載のマルチキャストルーティング情報送信プログラム。
JP2004052078A 2004-02-26 2004-02-26 マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム Expired - Lifetime JP4353827B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004052078A JP4353827B2 (ja) 2004-02-26 2004-02-26 マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004052078A JP4353827B2 (ja) 2004-02-26 2004-02-26 マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009059821A Division JP2009124767A (ja) 2009-03-12 2009-03-12 マルチキャストメッセージ送信方法、及びマルチキャストメッセージ送信プログラム

Publications (2)

Publication Number Publication Date
JP2005244630A JP2005244630A (ja) 2005-09-08
JP4353827B2 true JP4353827B2 (ja) 2009-10-28

Family

ID=35025868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004052078A Expired - Lifetime JP4353827B2 (ja) 2004-02-26 2004-02-26 マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム

Country Status (1)

Country Link
JP (1) JP4353827B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8792358B2 (en) * 2006-04-27 2014-07-29 Futurewei Technologies, Inc. Content aware transport layer multicast
CN101119578B (zh) * 2006-08-04 2010-05-12 华为技术有限公司 多播控制系统及方法
WO2013171953A1 (ja) * 2012-05-15 2013-11-21 日本電気株式会社 分散データ管理装置及び分散データ操作装置

Also Published As

Publication number Publication date
JP2005244630A (ja) 2005-09-08

Similar Documents

Publication Publication Date Title
US7359393B1 (en) Method and apparatus for border gateway protocol convergence using update groups
CN103125102B (zh) 用于在中间件机器环境中提供基于无限带宽的以太网虚拟集线器可伸缩性的系统和方法
US7200654B2 (en) Method of constructing and managing overlay multicast tree on Internet
JPH0548647A (ja) 電子メール文書分配方法及び装置
CN103139037A (zh) 用于实现灵活的虚拟局域网的方法和装置
CN101300779B (zh) 一种向订购者提供服务的方法和系统
TW200423609A (en) Network system, learning access point, learning method and program thereof
JP2006202280A (ja) 状態の同期化を有するクラスタのための仮想マルチキャスト経路指定
CN111817869B (zh) 一种网络配置恢复方法及其相关设备
CN102486739A (zh) 高性能计算集群中分发数据的方法和系统
EP0794636A2 (en) Method and apparatus for managing a computer network
CN102447734A (zh) 一种税务云计算网开im在线客服系统云端服务方法
JP6127574B2 (ja) スイッチ、スイッチシステム及びプログラム
JPH0662029A (ja) 通信ネットワーク・システム
WO2018198479A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2005295124A (ja) 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム
CN104380289A (zh) 服务感知分布式散列表路由
US10454884B2 (en) Terminal and multicast address distribution server
WO2021218984A1 (zh) 一种数据路由方法和相关装置
JP4353827B2 (ja) マルチキャストルーティング情報送信方法、及びマルチキャストルーティング情報送信プログラム
CN113452600A (zh) 跨地域的消息通信方法、装置、电子设备和存储介质
JP5218323B2 (ja) 中継装置及び転送ルールに関連する情報処理方法並びにプログラム
JP4237196B2 (ja) メッセージ送信方法、メッセージ送信プログラム、及びメッセージ送信装置
JP2009124767A (ja) マルチキャストメッセージ送信方法、及びマルチキャストメッセージ送信プログラム
JP3923931B2 (ja) 論理ネットワークへの参加要求方法、参加受付方法、メッセージ送信方法、参加要求プログラム、参加受付プログラム、メッセージ送信プログラム、参加要求装置、参加受付装置、及びメッセージ送信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090312

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: 20090630

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: 20090728

R150 Certificate of patent or registration of utility model

Ref document number: 4353827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250