JP2003032300A - Multicast data communication method, multicast data communication system, relay apparatus, relay method, relay program, medium stored with relay program - Google Patents

Multicast data communication method, multicast data communication system, relay apparatus, relay method, relay program, medium stored with relay program

Info

Publication number
JP2003032300A
JP2003032300A JP2002133286A JP2002133286A JP2003032300A JP 2003032300 A JP2003032300 A JP 2003032300A JP 2002133286 A JP2002133286 A JP 2002133286A JP 2002133286 A JP2002133286 A JP 2002133286A JP 2003032300 A JP2003032300 A JP 2003032300A
Authority
JP
Japan
Prior art keywords
data
distribution table
adjacent node
request message
reception request
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
JP2002133286A
Other languages
Japanese (ja)
Other versions
JP3693978B2 (en
Inventor
Seiichiro Tani
誠一郎 谷
Toshiaki Miyazaki
敏明 宮崎
Noriyuki Takahashi
紀之 高橋
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 JP2002133286A priority Critical patent/JP3693978B2/en
Publication of JP2003032300A publication Critical patent/JP2003032300A/en
Application granted granted Critical
Publication of JP3693978B2 publication Critical patent/JP3693978B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a multicast data communication system, which is secured to a high degree that the problem of many unproductive tables due to attack by a malicious user being generated on nodes in a network is prevented. SOLUTION: Reception hosts 22-1 trough 22-4 periodically send reception request packets to a transmission host. A relay node 21, upon receiving the reception request packets and then receiving distribution table generating packets or data packets from the transmission host, generates a distribution table for the transmission host, if the table does not exist, and registers the addresses of the respective hosts 22-1 through 22-4, and the arrival time of the reception request packets and sends the reception request packets to the transmission host periodically. Upon receiving the data packet from the transmission host, the node 21 duplicates data packets, to send them only to the reception hosts whose reception request packets registered in the distribution table arrive within a prescribed time, when the data packets arrive.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、1対1通信(ユニ
キャスト)だけがサポートされている既存のインターネ
ット上で複数の受信ホスト(受信装置)に対してデータ
を同報するマルチキャストデータ通信方法、マルチキャ
ストデータ通信システム、中継装置、中継方法、中継プ
ログラム、中継プログラムを記録した媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multicast data communication method for broadcasting data to a plurality of receiving hosts (receiving devices) on the existing Internet which supports only one-to-one communication (unicast). The present invention relates to a multicast data communication system, a relay device, a relay method, a relay program, and a medium recording the relay program.

【0002】[0002]

【従来の技術】従来、インターネット上で複数の受信ホ
ストに対してデータを同報するマルチキャスト通信を実
現する方法として、予め定められたマルチキャストIP
アドレスを用いて行う方法(IPマルチキャスト)があ
る。この方法は、送信ホスト(送信装置)がマルチキャ
ストIPアドレスを宛先としてデータを送信すると、配
送途中、インターネット上に配備されたマルチキャスト
ルータ(中継装置)がデータを適宜、コピーすることに
より、全ての受信ホストまで同一のデータを届けるとい
うものである。
2. Description of the Related Art Conventionally, a predetermined multicast IP has been used as a method for realizing multicast communication for broadcasting data to a plurality of receiving hosts on the Internet.
There is a method of using an address (IP multicast). In this method, when a sending host (sending device) sends data to a multicast IP address as a destination, a multicast router (relay device) provided on the Internet copies the data as appropriate during delivery, thereby receiving all data. The same data is delivered to the host.

【0003】通常、送信ホストから複数の受信ホストま
でのデータ配送経路は、送信ホストを根(ルート)と
し、受信ホストを葉(リーフ)とするツリーとなる。こ
れをマルチキャストツリーという。IPマルチキャスト
において、マルチキャストツリーを構築するプロトコル
としては、RFC1075のDVMRP(Distance-Vec
tor Multicast Routing Protocol)や、RFC1584
のMOSPF(Multicast Open Shortest Path First)
や、RFC2362のPIM−SM(Protocol Indepen
dent Multicast-Sparse Mode)などがあり、各受信ホス
トがツリーに参加したり、離脱したりする操作を管理す
るためのプロトコルとして、RFC1112のIGMP
(Internet Group Management Protocol)がある。
Usually, a data delivery path from a transmission host to a plurality of reception hosts is a tree having the transmission host as a root and the reception host as a leaf. This is called a multicast tree. In IP multicast, a protocol for constructing a multicast tree is DVMRP (Distance-Vec) of RFC1075.
tor Multicast Routing Protocol) and RFC1584
MOSPF (Multicast Open Shortest Path First)
And RFC2362 PIM-SM (Protocol Indepen
dent Multicast-Sparse Mode), etc., as a protocol for managing the operation of each receiving host joining and leaving the tree, RFC1112 IGMP
(Internet Group Management Protocol).

【0004】前述したIPマルチキャストを実現するた
めには、全てのルータがIPマルチキャストに対応して
いる必要がある。しかし、大部分のルータがIPマルチ
キャストに対応していない現状において、全てのルータ
をIPマルチキャスト対応にさせるのは困難である。ま
た、IPマルチキャストでは、マルチキャストに対応し
ていないネットワークに対してマルチキャストパケット
を通過させることができないという問題もある。さら
に、IPマルチキャストを実現するには、受信ホストは
オペレーティングシステムレベルで拡張しておく必要が
あり、個々のホストをIPマルチキャストに対応させる
のは容易ではない。
In order to realize the above-mentioned IP multicast, it is necessary that all routers support IP multicast. However, in the present situation where most routers do not support IP multicast, it is difficult to make all routers compatible with IP multicast. In addition, the IP multicast has a problem that the multicast packet cannot be passed to a network that does not support multicast. Furthermore, in order to realize IP multicast, the receiving host must be expanded at the operating system level, and it is not easy to make each host compatible with IP multicast.

【0005】また、上記プロトコルにはスケーラビリテ
ィが無いという欠点がある。すなわち、DVMRPでは
受信ホストが存在しなくとも受信ホストの最寄りのルー
タまでマルチキャストツリーが構築されてしまいデータ
が配信される。MOSPFは各中継ノードが巨大なマル
チキャストツリー全体のトポロジー情報を保持する必要
がある。PIM−SMはマルチキャストツリーに参加す
るホストがrendezvouspointと呼ぶ特定のノードにアク
セスする必要がある。
The above protocol also has the drawback of not being scalable. That is, in DVMRP, even if there is no receiving host, a multicast tree is constructed up to the router closest to the receiving host and data is distributed. In MOSPF, each relay node needs to hold the topology information of the entire huge multicast tree. In PIM-SM, hosts participating in the multicast tree need to access a specific node called rendezvous point.

【0006】さらに、上記プロトコルはマルチキャスト
IPアドレスがグローバルかつユニークであることを保
証する必要があるため、マルチキャストツリーを特定す
るためのアドレスの管理コストがかかる。加えて、上記
プロトコルではマルチキャストツリーに参加していない
ホストであっても送信ホストになることが可能であるた
め、悪意のある者がマルチキャストツリーの参加者に対
して無用なトラヒックを送りつけるような攻撃を許して
しまう。
Further, since the above protocol needs to guarantee that the multicast IP address is global and unique, the management cost of the address for specifying the multicast tree is high. In addition, the above protocol allows a host that is not a member of the multicast tree to become a sending host, so that a malicious person may send unnecessary traffic to the participants of the multicast tree. Allow the attack.

【0007】一方、特開平10−63598号公報に
は、IPマルチキャストを使わず、ユニキャストだけを
用いたマルチキャストデータ通信方法が開示されてい
る。この方法は、受信ホストから送信された受信開始要
求を受けとったマルチキャストサーバー(中継ノード:
中継装置)がその受信ホストを記憶し、以後、その受信
ホストから受信終了要求を受けとるまで、マルチキャス
トデータをその受信ホストに配送するというものであ
る。
On the other hand, Japanese Unexamined Patent Publication No. 10-63598 discloses a multicast data communication method using only unicast without using IP multicast. This method is a multicast server (relay node: which receives a reception start request transmitted from a reception host).
The relay device) stores the reception host, and thereafter delivers the multicast data to the reception host until a reception end request is received from the reception host.

【0008】しかし、この方法では、受信ホストからの
受信終了要求が伝送途中に失われた時や受信ホストがハ
ングアップした時は、上記受信ホストへのマルチキャス
トデータの配送が止まらないという問題があった。ま
た、受信開始要求により、一度配送経路が確定すると、
ルータの経路情報の変化により、受信ホストに対し最寄
りの中継ノードが変わった場合でも、その受信ホストに
配送する経路は変わらないという問題があった。
However, this method has a problem that the delivery of the multicast data to the receiving host does not stop when the receiving end request from the receiving host is lost during the transmission or when the receiving host hangs up. It was Also, once the delivery route is confirmed by the reception start request,
Even if the relay node closest to the receiving host changes due to the change in the route information of the router, there is a problem that the route for delivering to the receiving host does not change.

【0009】図71はマルチキャスト通信が行われるネ
ットワーク構成の一例を示すもので、ここでは1つの中
継ノード1に4つの受信ホスト2−1,2−2,2−
3,2−4がネットワークを介して接続されている状態
を示している。
FIG. 71 shows an example of a network configuration in which multicast communication is performed. Here, one relay node 1 has four receiving hosts 2-1, 2-2, 2-.
3 and 2-4 are connected via a network.

【0010】今、ある送信ホスト(図示せず)がネット
ワークを介して中継ノード1に接続されていると仮定す
る。10.10.9.8,10.11.10.9,10.12.11.10,10.13.12.1
1のアドレスを持つ4つの受信ホスト2−1,2−2,
2−3,2−4が中継ノード1に対して送信ホストと反
対側にあるものとする。
It is now assumed that a certain sending host (not shown) is connected to the relay node 1 via the network. 10.10.9.8, 10.11.10.9, 10.12.11.10, 10.13.12.1
Four receiving hosts 2-1, 2-2, with address 1
It is assumed that 2-3 and 2-4 are on the side opposite to the transmitting host with respect to the relay node 1.

【0011】これらの4つの受信ホスト2−1〜2−4
のうち、10.10.9.8,10.11.10.9,10.12.11.10をアドレ
スに持つ3つの受信ホスト2−1〜2−3が受信要求パ
ケットを送信したとする。これらが中継ノード1に到達
した時、中継ノード1には上記送信ホストに対するテー
ブルが作られ、このテーブルにこれら3つの受信ホスト
2−1〜2−3が登録される。
These four receiving hosts 2-1 to 2-4
Of these, it is assumed that three reception hosts 2-1 to 2-3 having addresses 10.10.9.8, 10.11.10.9, and 10.12.11.10 have transmitted reception request packets. When these arrive at the relay node 1, a table for the transmitting host is created in the relay node 1, and these three receiving hosts 2-1 to 2-3 are registered in this table.

【0012】このテーブルは、中継ノード1が送信ホス
トからのデータパケットを複製し、これら3つの受信ホ
ストに対して配送すべきことを表す。テーブルに登録さ
れたホストを中継ノード1の子という。
This table indicates that the relay node 1 should duplicate the data packet from the sending host and deliver it to these three receiving hosts. The host registered in the table is called a child of the relay node 1.

【0013】このテーブルの一例を図72に示す。この
テーブルには、各子のアドレスが記録されている。
An example of this table is shown in FIG. The address of each child is recorded in this table.

【0014】新たにテーブルが作られると、中継ノード
1自体が受信要求パケットを送信する。ここで、受信要
求パケットを送信ホストの近接ノードまで伝搬させるた
めに、何らかの手段によってルーティングツリーがマル
チキャスト識別子毎に決定される。このようにして、や
がて受信要求パケットは送信ホストまで到着する。
When a new table is created, the relay node 1 itself transmits a reception request packet. Here, in order to propagate the reception request packet to the proximity node of the transmission host, a routing tree is determined for each multicast identifier by some means. In this way, the reception request packet eventually arrives at the transmission host.

【0015】図73はマルチキャスト通信が行われてい
るネットワーク構成の他の例を示すもので、ここでは3
つの中継ノード11−1,11−2,11−3に7つの
受信ホスト(以下、クライアントと呼ぶ)12−1,1
2−2,12−3,12−4,12−5,12−6,1
2−7及び1つの送信ホスト13(以下、サーバーと呼
ぶ)がネットワークを介して接続されている状態を示し
ている。
FIG. 73 shows another example of the network configuration in which the multicast communication is performed.
Seven receiving hosts (hereinafter referred to as clients) 12-1, 1 in one relay node 11-1, 11-2, 11-3
2-2, 12-3, 12-4, 12-5, 12-6, 1
2-7 and one transmission host 13 (hereinafter referred to as a server) are connected via a network.

【0016】以下、マルチキャストツリーの構成過程を
説明する。
The process of constructing the multicast tree will be described below.

【0017】今、図74に示すように、クライアント1
2−1が受信要求パケットを送出したとする。この時、
中継ノード11−1には、クライアント12−1が子で
あることを示すテーブルが作られ、さらに図75に示す
ように、中継ノード11−1から受信要求パケットが送
出される。
Now, as shown in FIG. 74, the client 1
It is assumed that 2-1 sends a reception request packet. This time,
A table showing that the client 12-1 is a child is created in the relay node 11-1, and further, as shown in FIG. 75, the reception request packet is sent from the relay node 11-1.

【0018】受信要求パケットが中継ノード11−2に
到着すると、中継ノード11−2でも同じようにテーブ
ルが生成され、中継ノード11−1が登録される。その
後、中継ノード11−2から受信要求パケットが送出さ
れる。この受信要求パケットがサーバー13に到着する
ことによって、サーバー13はデータを中継ノード11
−2に送出すべきことを知り、データパケットの送出を
始める。
When the reception request packet arrives at the relay node 11-2, a table is similarly generated in the relay node 11-2 and the relay node 11-1 is registered. After that, the reception request packet is transmitted from the relay node 11-2. When this reception request packet arrives at the server 13, the server 13 transmits the data to the relay node 11
-2, it knows that it should be sent and starts sending the data packet.

【0019】その後、図76に示すように、クライアン
ト12−2から受信要求パケットが送出されたとする。
この受信要求パケットが中継ノード11−1に到着する
と、既にテーブルがあるので、そこにクライアント12
−2が登録される。さらにクライアント12−4が受信
要求パケットを送出すると、図77及び図78に示すよ
うに、中継ノード11−3にはクライアント12−4が
登録され、中継ノード11−2には中継ノード11−3
が登録される。さらにクライアント12−5及び12−
6がマルチキャストに参加した時の様子を図79に示
す。
Thereafter, as shown in FIG. 76, it is assumed that a reception request packet is sent from the client 12-2.
When this reception request packet arrives at the relay node 11-1, since the table already exists, the client 12
-2 is registered. When the client 12-4 further sends a reception request packet, the client 12-4 is registered in the relay node 11-3 and the relay node 11-3 is registered in the relay node 11-2, as shown in FIGS. 77 and 78.
Is registered. Further clients 12-5 and 12-
FIG. 79 shows the situation when 6 has joined the multicast.

【0020】このように、サーバーをルートとし、クラ
イアントをリーフとする、ツリー状の配送経路が出来
る。このようなツリー状配送経路はサーバー毎に作られ
る。このツリーを、ツリーID(マルチキャスト識別
子)という記号で区別することにすると、図72に示す
ように、中継ノードではこのツリーID毎にテーブルが
作成される。
In this way, a tree-like delivery route can be created in which the server is the root and the client is the leaf. Such a tree-like delivery route is created for each server. If this tree is distinguished by a symbol called a tree ID (multicast identifier), a table is created for each tree ID in the relay node as shown in FIG.

【0021】各中継ノードでは、サーバーから送出され
たデータパケットが、必要であれば複製された後、テー
ブルに登録されている子に対して送出される。このた
め、クライアントからサーバーに向かう経路と、サーバ
ーからクライアントに向かう経路とが異なる場合におい
ても、データパケットは常にテーブルが作られた中継ノ
ードを通過することになる。
In each relay node, the data packet sent from the server is duplicated if necessary and then sent to the child registered in the table. Therefore, even when the route from the client to the server and the route from the server to the client are different, the data packet always passes through the relay node in which the table is created.

【0022】これらのクライアントがデータパケットの
受信をやめる時は、離脱パケットを送出し、それが中継
ノードに到着した時、離脱パケットを送出したホストを
テーブルから抹消すれば良い。そして、テーブルに登録
されている子がなくなった時、その中継ノードが離脱パ
ケットを送出する。ここで、受信要求パケットと同様、
離脱パケットも送信ホストの近接ノードまで何らかの方
法で伝搬される。このように、各中継ノードが同様な処
理を繰り返せば良いことは、特開平10−63598号
公報に記述されている。
When these clients stop receiving the data packet, the leaving packet may be sent, and when it arrives at the relay node, the host sending the leaving packet may be deleted from the table. Then, when there are no more children registered in the table, the relay node sends a leave packet. Here, like the reception request packet,
The leaving packet is also propagated to the neighboring node of the sending host by some method. Thus, it is described in Japanese Patent Laid-Open No. 10-63598 that each relay node may repeat similar processing.

【0023】[0023]

【発明が解決しようとする課題】しかし、前述した通信
方法では、クライアントがハングアップした時や離脱パ
ケットを出さずに強制終了した場合、中継ノードのテー
ブルにこのクライアントが登録されたままになり、サー
バーからのデータパケットがこのクライアントに対して
送出され続けるという問題がある。
However, in the above-mentioned communication method, when a client hangs up or is forcibly terminated without issuing a leave packet, this client remains registered in the table of the relay node, There is a problem that data packets from the server continue to be sent to this client.

【0024】これを防ぐには、中継ノードにタイマーを
しかけておき、定期的にテーブルに登録された子に対し
て問い合わせを行い、子から返答パケットが返ってきた
場合は受信をしていると見なしてデータパケットの送信
を続け、そうでない場合は送出をやめるという方法が考
えられる。
To prevent this, a timer is set on the relay node, an inquiry is periodically made to the child registered in the table, and if a reply packet is returned from the child, it is considered to be receiving. It is conceivable that the data packet is continuously considered and the transmission of the data packet is continued, and if not, the transmission is stopped.

【0025】中継ノードに対して親ノードから問い合わ
せがきた場合は、テーブル内に子が登録されていれば返
答パケットを送出し、テーブル内に子が一つも登録され
ていなければ返答パケットを送出しないか、離脱パケッ
トを親ノードに対して送出する。このようにすることに
よって、返答パケットを返すクライアントだけにデータ
パケットを配送するために必要なツリーが維持される。
When an inquiry is made from the parent node to the relay node, a reply packet is sent if the child is registered in the table, and a reply packet is not sent if no child is registered in the table. Alternatively, a leave packet is sent to the parent node. This maintains the tree needed to deliver the data packet only to the clients that return the reply packet.

【0026】例えば、図71に示したネットワーク構成
において、中継ノード1は、図72に示すようにテーブ
ルに登録されている、アドレス10.10.9.8,10.11.10.
9,10.12.11.10の3つの子(受信ホスト)に問い合わせ
をする。アドレス10.10.9.8及び10.11.10.9の子は正常
に動作しているので返答パケットを返したが、アドレス
10.12.11.10の子はハングアップしていたため、返答パ
ケットを返さなかったとする。この時、アドレス10.12.
11.10の子には、データパケットを配送する必要はない
と判断し、図81に示すように、テーブルから削除す
る。
For example, in the network configuration shown in FIG. 71, the relay node 1 has addresses 10.10.9.8, 10.11.10.
Inquires about the three children (reception hosts) 9 and 10.12.11.10. Since the children of the addresses 10.10.9.8 and 10.11.10.9 are operating normally, the response packet was returned.
It is assumed that the child of 10.12.11.10 did not return a reply packet because it was hung up. At this time, the address 10.12.
It is determined that the data packet does not need to be delivered to the child of 11.10 and is deleted from the table as shown in FIG.

【0027】また、データパケットと問い合わせパケッ
トを別々に送出するのではなく、データパケットを問い
合わせパケットと見なし、クライアント(または中継ノ
ード)は、データパケットを受けとると、サーバー宛に
返答パケットを返すようにすることにしても良い。
Further, instead of sending the data packet and the inquiry packet separately, the data packet is regarded as an inquiry packet, and the client (or relay node) receives the data packet and returns a reply packet to the server. You may decide to do it.

【0028】しかし、これらの方法を採用しても、受信
開始時にクライアント(または中継ノード)が親ノード
のテーブルに登録されるためには、クライアント(また
は中継ノード)から受信要求パケットを出す必要があ
る。受信要求パケットが失われる可能性のあるネットワ
ークの場合、親ノードのテーブルに登録されるまで受信
要求パケットを繰り返し出す必要がある。そして、親ノ
ードのテーブルに登録後、データパケットに対し、返答
パケットを送ることになる。つまり、能動的にパケット
を出す状態から受動的にパケットを出す状態への状態遷
移が必要となるという問題があった。
However, even if these methods are adopted, in order for the client (or the relay node) to be registered in the table of the parent node at the start of reception, it is necessary to output the reception request packet from the client (or the relay node). is there. In a network where the reception request packet may be lost, the reception request packet needs to be repeatedly output until it is registered in the table of the parent node. Then, after registering in the table of the parent node, a reply packet is sent to the data packet. That is, there is a problem that a state transition from a state of actively sending out a packet to a state of passively sending out a packet is required.

【0029】以上述べた特開平10−63598号公報
に類似する技術として、Hugh. W. Holbrook, David R.
Cheriton, “IP Multicast Channels: EXPRESS Support
forLarge-scale Single-source Applications”, pp.
65-78, In Proc. of SIGCOMM, 1999や、Ion Stoica, T.
S. Eugene Ng, Hui Zhang, “REUNITE: A RecursiveUni
cast Approach to Multicast”, pp. 1644-1653,In Pro
c. of INFOCOM2000(以下、REUNITEと言う)がある。
As a technique similar to the above-mentioned Japanese Patent Laid-Open No. 10-63598, Hugh. W. Holbrook, David R.
Cheriton, “IP Multicast Channels: EXPRESS Support
forLarge-scale Single-source Applications ”, pp.
65-78, In Proc. Of SIGCOMM, 1999 and Ion Stoica, T.
S. Eugene Ng, Hui Zhang, “REUNITE: A RecursiveUni
cast Approach to Multicast ”, pp. 1644-1653, In Pro
c. of INFOCOM2000 (hereinafter referred to as REUNITE) is available.

【0030】前者はIPマルチキャストの拡張であって
Source-specific multicast(SSM)と呼ばれており、送
信元アドレスとマルチキャストアドレスの組によってマ
ルチキャストツリーを特定している。また、文献REUNIT
Eはアプリケーション層におけるマルチキャスト技術で
あって、一番最初に要求を出した受信ホストへのforwar
d-pathに基づいてマルチキャストツリーが決定される。
その後にこの受信ホストがマルチキャストツリーから離
脱すると、別の受信ホストへのforward-pathに基づくマ
ルチキャストツリーが決定されて、マルチキャストツリ
ーの構成を変えるようになっている。
The former is an extension of IP multicast
It is called Source-specific multicast (SSM), and the multicast tree is specified by the combination of the source address and the multicast address. In addition, the document REUNIT
E is a multicast technology in the application layer, which is a forwar to the receiving host that first requests.
The multicast tree is determined based on the d-path.
After that, when this receiving host leaves the multicast tree, the multicast tree based on the forward-path to another receiving host is determined, and the configuration of the multicast tree is changed.

【0031】しかしながら、特開平10−63598号
公報,文献SSM,文献REUNITEには次のようなセキュリテ
ィ上の問題がある。すなわち、送信ホスト又は受信ホス
トが、テーブル作成機能を持つパケット(例えば上述し
た受信要求パケット)を適当な端末アドレスに宛てて送
出することで、ホストから宛先に至るパス上に存在する
各ノードにテーブルを作成することが可能となる。この
性質を利用することにより、悪意のあるユーザが多数の
アドレス宛てにテーブル生成パケットを送出すると、無
意味なテーブルがネットワーク内のノードに多数生成さ
れてしまう。その結果、ノードの負荷が不必要に重くな
ってその性能を低下させてしまうという問題がある。
However, Japanese Patent Application Laid-Open No. 10-63598, document SSM, and document REUNITE have the following security problems. That is, the sending host or the receiving host sends a packet having a table creation function (for example, the above-described reception request packet) to an appropriate terminal address, so that each node existing on the path from the host to the destination receives the table. Can be created. By utilizing this property, when a malicious user sends a table generation packet to a large number of addresses, a large number of meaningless tables are generated in the nodes in the network. As a result, there is a problem that the load of the node becomes unnecessarily heavy and the performance thereof deteriorates.

【0032】本発明の目的は、悪意のあるユーザによる
攻撃によって無意味なテーブルがネットワーク内のノー
ドに多数生成されて負荷が重くなるといった問題を生じ
ず高度なセキュリティを実現できるマルチキャストデー
タ通信方法、マルチキャストデータ通信システム、中継
装置、中継方法、中継プログラム、中継プログラムを記
録した媒体を提供することにある。
An object of the present invention is to provide a multicast data communication method capable of realizing a high level of security without causing a problem that a large number of meaningless tables are generated in a node in a network due to an attack by a malicious user and the load is heavy. It is to provide a multicast data communication system, a relay device, a relay method, a relay program, and a medium recording the relay program.

【0033】本発明の目的は、受信ホストが故障した
り、伝送路でパケットロスが発生した場合にマルチキャ
ストデータの配送を停止可能なマルチキャストデータ通
信方法、マルチキャストデータ通信システム、中継装
置、中継方法、中継プログラム、中継プログラムを記録
した媒体を提供することにある。
An object of the present invention is to provide a multicast data communication method, a multicast data communication system, a relay device, a relay method, which can stop the delivery of multicast data when a receiving host fails or a packet loss occurs on a transmission line. It is to provide a relay program and a medium in which the relay program is recorded.

【0034】また、本発明の目的は、受信ホストに対す
る最寄りの中継ノードが変化したり、中継ノードの負荷
状態が変化した場合、マルチキャストデータの配送経路
を変更可能なマルチキャストデータ通信方法、マルチキ
ャストデータ通信システム、中継装置、中継方法、中継
プログラム、中継プログラムを記録した媒体を提供する
ことにある。
Another object of the present invention is to provide a multicast data communication method and a multicast data communication method capable of changing the delivery route of multicast data when the nearest relay node to the receiving host changes or the load state of the relay node changes. It is to provide a system, a relay device, a relay method, a relay program, and a medium recording the relay program.

【0035】さらにまた、本発明の目的は、受信ホスト
において能動的にパケットを出す状態から受動的にパケ
ットを出す状態への状態遷移が不要なマルチキャストデ
ータ通信方法、マルチキャストデータ通信システム、中
継装置、中継方法、中継プログラム、中継プログラムを
記録した媒体を提供することにある。
Still another object of the present invention is to provide a multicast data communication method, a multicast data communication system, a relay device, which does not require a state transition from a state of actively sending out a packet to a state of passively sending out a packet at a receiving host. It is to provide a relay method, a relay program, and a medium in which the relay program is recorded.

【0036】本発明の他の目的は、明細書、図面、特に
特許請求の範囲の各請求項の記載から自ずと明らかとな
ろう。
Other objects of the present invention will be apparent from the description, drawings, and particularly the description of each claim.

【0037】[0037]

【課題を解決するための手段】本発明では、前記目的を
達成するため、受信ホストは受信要求を定期的に発行
し、送信ホストまたは中継ノードは予め定めた時間間隔
内に受信要求がこない受信ホストに対するマルチキャス
トデータの配送を停止させる方法(以下、Keep alive方
式と呼ぶ)を用いる。
According to the present invention, in order to achieve the above object, a receiving host periodically issues a receiving request, and a transmitting host or a relay node receives a receiving request within a predetermined time interval. The method of stopping the delivery of multicast data to the host (hereinafter called the keep alive method) is used.

【0038】具体的には、請求項1記載の発明は、ユニ
キャスト通信が可能なネットワークを用い、送信装置か
ら複数の受信装置に至るユニキャスト配送経路上に設け
られた中継装置を介してデータを同報送信するマルチキ
ャストデータ通信システムであって、前記複数の受信装
置は、予め決められた値より小さい時間間隔毎に前記送
信装置を宛先とした受信要求メッセージを送出する手段
を備え、前記送信装置は、前記受信要求メッセージの受
信間隔が予め決められた時間間隔未満であるかどうかに
より前記受信装置側隣接ノードが前記データの受信を要
求し続けているかどうか判断する手段と、前記受信装置
側隣接ノードが前記データの受信を要求し続けていると
判断したときに前記データを前記受信装置へ向けて送出
する手段とを備え、前記中継装置は、受信装置側隣接ノ
ードから前記受信要求メッセージを受信した後に送信装
置側隣接ノードから前記データ又は配信表生成パケット
を受信したときに、前記データを配送すべき受信装置側
隣接ノードを登録するための配信表を生成する手段と、
前記配信表を生成した後に前記受信要求メッセージを送
出してきた受信装置側隣接ノードを前記配信表に登録す
る手段と、前記受信要求メッセージの受信間隔が予め決
められた時間間隔未満であるかどうかにより受信装置側
隣接ノードが前記データの受信を要求し続けているかど
うか判断する手段と、前記受信装置側隣接ノードが前記
データの受信を要求し続けていると判断したときに、予
め決められた値より小さい時間間隔毎に前記送信装置を
宛先とした受信要求メッセージを送出すると共に、送信
装置側隣接ノードから送られてくる前記データを複製し
て前記配信表に登録されている受信装置側隣接ノードへ
配送する手段とを備えたマルチキャストデータ通信シス
テムである。
Specifically, the invention according to claim 1 uses a network capable of unicast communication and transmits data via a relay device provided on a unicast delivery path from a transmitter to a plurality of receivers. In the multicast data communication system, wherein the plurality of receiving devices comprises means for sending a reception request message addressed to the transmitting device at time intervals smaller than a predetermined value, An apparatus determines whether or not the receiving-apparatus-side adjacent node continues to request the reception of data by determining whether the reception interval of the reception request message is less than a predetermined time interval; and the receiving-apparatus side. Means for sending the data to the receiving device when it is determined that the adjacent node continues to request the reception of the data. The relay device, when receiving the data or the distribution table generation packet from the transmission device-side adjacent node after receiving the reception request message from the reception device-side adjacent node, selects the reception device-side adjacent node to which the data should be delivered. Means for generating a distribution table for registration,
Depending on the means for registering the receiving device side adjacent node that has transmitted the reception request message after generating the distribution table in the distribution table, and whether the reception interval of the reception request message is less than a predetermined time interval. Means for determining whether the receiving device side adjacent node continues to request the reception of the data, and a predetermined value when it is determined that the receiving device side adjacent node continues to request the reception of the data A reception request message addressed to the transmission device is sent at smaller time intervals, and the reception device side adjacent node is registered in the distribution table by duplicating the data sent from the transmission device side adjacent node. And a means for delivering to a multicast data communication system.

【0039】また、請求項2記載の発明は、請求項1記
載のマルチキャストデータ通信システムにおいて、前記
受信要求メッセージは、前記受信装置から該受信要求メ
ッセージを受信した前記中継装置又は前記送信装置に至
る経路を示す経路情報を含み、前記受信装置は、自身を
示す情報を前記経路情報として前記受信要求メッセージ
に含めて送出し、前記送信装置は、前記受信要求メッセ
ージを送出してきた受信装置側隣接ノードが前記配信表
に登録されていなければ、前記受信要求メッセージ中の
経路情報を含む前記配信表生成パケットを生成し、該経
路情報に従って前記配信表生成パケットを前記受信装置
へ向けて送出し、前記中継装置は、前記配信表を生成し
たかどうか判断する手段を備え、前記配信表が生成され
ているときは、前記受信要求メッセージを送出してきた
受信装置側隣接ノードが前記配信表に登録されていなけ
れば、前記受信要求メッセージ中の経路情報を含む配信
表生成パケットを生成し、該経路情報に従って前記配信
表生成パケットを前記受信装置へ向けて送出し、前記配
信表が生成されていないときは、受信装置側隣接ノード
から送られてくる前記受信要求メッセージ中の経路情報
に対して自身を示す情報を追加した新たな経路情報を生
成し該新たな経路情報を含めた受信要求メッセージを前
記送信装置を宛先として送出し、前記配信表生成パケッ
トが送信装置側隣接ノードから送られてきたときに該配
信表生成パケット中の経路情報に従って該配信表生成パ
ケットを受信装置側隣接ノードへ転送すると共に前記配
信表を生成するマルチキャストデータ通信システムであ
る。
The invention according to claim 2 is the multicast data communication system according to claim 1, wherein the reception request message reaches the relay device or the transmission device which has received the reception request message from the reception device. The receiving device includes route information indicating a route, the information indicating itself is included in the reception request message as the route information, and is transmitted, and the transmitting device is an adjacent node on the receiving device side that has transmitted the reception request message. Is not registered in the distribution table, the distribution table generation packet including the route information in the reception request message is generated, and the distribution table generation packet is transmitted to the receiving device according to the route information, The relay device includes means for determining whether or not the distribution table is generated, and when the distribution table is generated, If the receiving device side adjacent node that has sent the reception request message is not registered in the distribution table, a distribution table generation packet including the route information in the reception request message is generated, and the distribution table generation packet is generated according to the route information. To the receiving device, and when the distribution table is not generated, a new information indicating itself is added to the route information in the reception request message sent from the receiving device side adjacent node. When the distribution table generation packet is transmitted from an adjacent node on the transmission device side, a reception request message including the new path information is transmitted to the transmission device as a destination, and the distribution table generation packet is transmitted. The multicast data that transfers the distribution table generation packet to the adjacent node on the receiving device side and generates the distribution table according to the route information in the It is a communication system.

【0040】また、請求項3記載の発明は、請求項1記
載のマルチキャストデータ通信システムにおいて、前記
中継装置は、前記配信表を生成したかどうか判断する手
段をさらに備え、前記配信表が生成されていないとき
は、受信装置側隣接ノードから送られてくる前記受信要
求メッセージの送信元を自身の中継装置に変更して送信
装置側隣接ノードへ転送すると共に、送信装置側隣接ノ
ードから前記データが送られてきたときに前記配信表を
生成して該データを廃棄し、前記配信表が生成されてい
るときは、前記受信要求メッセージを送出してきた送信
元の受信装置側隣接ノードを前記配信表に登録するマル
チキャストデータ通信システムである。また、請求項4
記載の発明は、請求項2又は3記載のマルチキャストデ
ータ通信システムにおいて、前記中継装置は、自身が所
定の負荷を越える高負荷状態であるかどうか判断する手
段と、前記高付加状態であると判断されている間、前記
配信表に登録されていない受信装置側隣接ノードについ
ては、前記受信要求メッセージが受信装置側隣接ノード
から送られてきたときに前記配信表への登録を行うこと
なく前記送信装置を宛先として該受信要求メッセージを
転送する手段とをさらに具備するマルチキャストデータ
通信システムである。また、請求項5記載の発明は、請
求項2又は3記載のマルチキャストデータ通信システム
において、前記受信要求メッセージは、前記各受信装置
に対応する各ユーザの嗜好と前記データに対する変換の
コストとの間の相関を表した嗜好情報を含み、前記中継
装置は、前記各受信装置に配信されるデータに対して変
換を行うために必要な変換情報を要求される複数のカテ
ゴリに亙って事前に記憶する変換情報記憶手段と、受信
装置側隣接ノードから送られてくる前記受信要求メッセ
ージ中の前記嗜好情報に基づいて、受信装置側隣接ノー
ドについて採用すべき前記変換情報のカテゴリを前記受
信装置側隣接ノード毎に事前に分類定義した変換指示表
と、送信装置側隣接ノードから送られてくる前記データ
に応じ、前記変換指示表を参照して前記各受信装置側隣
接ノードについて採用すべき前記変換情報のカテゴリを
選択し、該選択されたカテゴリに対応して前記変換情報
記憶手段に記憶されている前記変換情報を読み出し、該
読み出された変換情報を使用して前記データに対し変換
を行う変換手段と、前記変換手段によって変換されたデ
ータを前記各受信装置側隣接ノードに送信する送信手段
とをさらに具備するマルチキャストデータ通信システム
である。
The invention according to claim 3 is the multicast data communication system according to claim 1, wherein the relay device further comprises means for judging whether or not the distribution table is generated, and the distribution table is generated. If not, the source of the reception request message sent from the adjacent node on the receiving device side is changed to its own relay device and transferred to the adjacent node on the transmitting device side, and the data is transmitted from the adjacent node on the transmitting device side. When the distribution table is generated, the distribution table is generated and the data is discarded. When the distribution table is generated, the distribution device is set to the adjacent node on the receiving device side that has transmitted the reception request message. Is a multicast data communication system to be registered in. In addition, claim 4
According to the described invention, in the multicast data communication system according to claim 2 or 3, the relay device determines whether or not the relay device is in a high load state exceeding a predetermined load, and determines that the relay device is in the high load state. For the receiving device side adjacent node that is not registered in the distribution table while being transmitted, the transmission is performed without registration in the distribution table when the reception request message is sent from the receiving device side adjacent node. A multicast data communication system further comprising means for transferring the reception request message to a device as a destination. Further, the invention according to claim 5 is the multicast data communication system according to claim 2 or 3, wherein the reception request message is between a preference of each user corresponding to each of the receiving devices and a conversion cost for the data. The relay device stores preference information indicating the correlation of the above, and the conversion information necessary for converting the data distributed to each of the receiving devices is stored in advance in a plurality of required categories. Based on the conversion information storage means and the preference information in the reception request message sent from the reception device side adjacent node, the conversion information category to be adopted for the reception device side adjacent node is set to the reception device side adjacent node. The conversion instruction table defined in advance for each node is defined, and the conversion instruction table is referred to in accordance with the data transmitted from the transmitter-side adjacent node. A category of the conversion information to be adopted for the receiving device side adjacent node is selected, the conversion information stored in the conversion information storage means corresponding to the selected category is read, and the read conversion information is read. Is a multicast data communication system further comprising conversion means for converting the data by using the above and transmission means for transmitting the data converted by the conversion means to the receiving device side adjacent nodes.

【0041】また、請求項6記載の発明は、請求項5記
載のマルチキャストデータ通信システムにおいて、前記
変換手段は、前記嗜好情報に加えて、前記各中継装置自
身の負荷状態を示す情報又は前記各中継装置間の通信リ
ンクの負荷状態に基づいて前記カテゴリの選択を行うマ
ルチキャストデータ通信システムである。また、請求項
7記載の発明は、請求項5記載のマルチキャストデータ
通信システムにおいて、受信装置側隣接ノードから送ら
れてくる前記受信要求メッセージから前記嗜好情報を抽
出する嗜好情報抽出手段と、抽出された前記嗜好情報を
記憶する嗜好情報記憶手段と、前記嗜好情報記憶手段に
記憶された前記嗜好情報に所定の演算を集約的に施して
新たな嗜好情報を生成し、該新たな嗜好情報により前記
変換指示表を更新する嗜好情報集計手段と、前記新たな
嗜好情報を送信装置側隣接ノードに送出する手段とをさ
らに備えたマルチキャストデータ通信システムである。
Further, in the invention described in claim 6, in the multicast data communication system according to claim 5, the conversion means, in addition to the preference information, information indicating the load state of each relay device itself or each of the above-mentioned preference information. It is a multicast data communication system that selects the category based on a load state of a communication link between relay devices. Further, the invention according to claim 7 is, in the multicast data communication system according to claim 5, preference information extraction means for extracting the preference information from the reception request message transmitted from the adjacent node on the receiving device side, and extracted. The preference information storage means for storing the preference information, and the preference information stored in the preference information storage means are collectively subjected to a predetermined calculation to generate new preference information, and the new preference information is used to generate the new preference information. The multicast data communication system further includes a preference information totaling unit that updates the conversion instruction table and a unit that sends the new preference information to the adjacent node on the transmitter side.

【0042】また、請求項8記載の発明は、ユニキャス
ト通信が可能なネットワークを用い、送信装置から複数
の受信装置に至るユニキャスト配送経路上に設けられた
中継装置を介してデータを同報送信するマルチキャスト
データ通信方法であって、前記複数の受信装置は、予め
決められた値より小さい時間間隔毎に前記送信装置を宛
先とした受信要求メッセージを送出し、前記中継装置
は、受信装置側隣接ノードから前記受信要求メッセージ
を受信した後に送信装置側隣接ノードから前記データ又
は配信表生成パケットを受信したときに、前記データを
配送すべき受信装置側隣接ノードを登録するための配信
表を生成し、前記送信装置は、前記受信要求メッセージ
の受信間隔が予め決められた時間間隔未満であるかどう
かにより受信装置側隣接ノードがデータの受信を要求し
続けているかどうか判断し、前記データの受信を要求し
続けている受信装置側隣接ノードに対しては前記データ
を送出し、前記データの受信を要求し続けることを止め
た受信装置側隣接ノードに対しては前記データの配送を
停止し、前記中継装置は、前記配信表が生成された後に
前記受信要求メッセージを送出してきた前記受信装置側
隣接ノードを前記配信表に登録し、前記中継装置は、前
記受信要求メッセージの受信間隔が予め決められた時間
間隔未満であるかどうかにより受信装置側隣接ノードが
前記データの受信を要求し続けているかどうか判断し、
前記受信装置側隣接ノードが前記データの受信を要求し
続けていると判断したときに、予め決められた値より小
さい時間間隔毎に前記送信装置を宛先とした受信要求メ
ッセージを送出すると共に、送信装置側隣接ノードから
送られてくる前記データを複製して前記配信表に登録さ
れている受信装置側隣接ノードへ配送するマルチキャス
トデータ通信方法である。
The invention according to claim 8 uses a network capable of unicast communication and broadcasts data via a relay device provided on a unicast delivery path from a transmitter to a plurality of receivers. In the multicast data communication method for transmitting, the plurality of receiving devices send out a reception request message addressed to the transmitting device at time intervals smaller than a predetermined value, and the relay device includes a receiving device side. When the data or distribution table generation packet is received from the transmission device side adjacent node after receiving the reception request message from the adjacent node, a distribution table for registering the reception device side adjacent node to which the data is to be distributed is generated. However, the transmission device determines whether the reception interval of the reception request message is less than a predetermined time interval. Judging whether or not the contact node continues to request the reception of data, and sending the data to the adjacent node on the receiving device side that continues to request the reception of the data, and continuously requesting the reception of the data. The distribution of the data is stopped to the receiving device side adjacent node that stopped the distribution, and the relay device distributes the receiving device side adjacent node that has transmitted the reception request message after the distribution table is generated. Registered in the table, the relay device determines whether the reception device side adjacent node continues to request the reception of the data by whether the reception interval of the reception request message is less than a predetermined time interval,
When the receiving device side adjacent node determines that it continues to request the reception of the data, it transmits a reception request message addressed to the transmitting device at every time interval smaller than a predetermined value, and transmits the reception request message. It is a multicast data communication method for duplicating the data sent from the device-side adjacent node and delivering it to the receiving device-side adjacent node registered in the distribution table.

【0043】また、請求項9記載の発明は、請求項8記
載のマルチキャストデータ通信方法において、前記受信
装置は、自身を示す情報を経路情報として前記受信要求
メッセージに含めて送出し、前記送信装置は、前記受信
要求メッセージを送出してきた受信装置側隣接ノードが
前記配信表に登録されていなければ、前記受信要求メッ
セージ中の経路情報を含む前記配信表生成パケットを生
成し、該経路情報に従って前記配信表生成パケットを前
記受信装置へ向けて送出し、前記受信装置から前記配信
表の生成された中継装置に至る経路上に存在し前記配信
表が生成されていない中継装置は、受信装置側隣接ノー
ドから送られてくる前記受信要求メッセージ中の経路情
報に対して自身を示す情報を追加した新たな経路情報を
生成して該新たな経路情報を含めた受信要求メッセージ
を前記送信装置を宛先として送出し、前記受信要求メッ
セージが前記送信装置又は前記配信表の生成された中継
装置まで到達したときに、該送信装置又は該中継装置
は、前記受信要求メッセージを送出してきた受信装置側
隣接ノードが前記配信表に登録されていなければ、前記
受信要求メッセージ中の経路情報を含む配信表生成パケ
ットを生成し、該経路情報に従って前記配信表生成パケ
ットを前記受信装置へ向けて送出し、前記配信表の生成
された中継装置から前記受信装置に至る経路上に存在し
前記配信表が生成されていない中継装置は、前記配信表
生成パケットが送信装置側隣接ノードから送られてきた
ときに、該配信表生成パケット中の経路情報に従って該
配信表生成パケットを受信装置側隣接ノードへ転送する
と共に前記配信表を生成するマルチキャストデータ通信
方法である。
Further, in the invention according to claim 9, in the multicast data communication method according to claim 8, the receiving device includes information indicating itself in the reception request message as route information and sends the information, and the transmitting device If the receiving device side adjacent node that has transmitted the reception request message is not registered in the distribution table, generates the distribution table generation packet including the path information in the reception request message, and according to the path information, A relay device that sends a distribution table generation packet to the receiving device and is on the path from the receiving device to the relay device for which the distribution table has been generated and for which the distribution table has not been generated is adjacent to the receiving device. New route information is generated by adding information indicating itself to the route information in the reception request message sent from the node, and the new route information is generated. When a reception request message including route information is sent to the transmission device as a destination and the reception request message reaches the transmission device or the relay device in which the distribution table is generated, the transmission device or the relay device If the receiving device side adjacent node that has transmitted the reception request message is not registered in the distribution table, a distribution table generation packet including the path information in the reception request message is generated, and the distribution table is generated according to the path information. The distribution table generation packet is transmitted to the reception device, and the distribution table generation packet is generated in the relay device existing on the path from the relay device in which the distribution table is generated to the reception device and in which the distribution table is not generated. When the distribution table generation packet is sent from the adjacent node on the transmission device side, the distribution table generation packet is transmitted to the reception device side adjacent node according to the route information in the distribution table generation packet. A multicast data communication method for generating the delivery table and transfers to the over-de.

【0044】また、請求項10記載の発明は、請求項8
記載のマルチキャストデータ通信方法において、前記受
信装置から前記配信表の生成された中継装置に至る経路
上に存在し前記配信表が生成されていない中継装置は、
受信装置側隣接ノードから送られてくる前記受信要求メ
ッセージの送信元を自身の中継装置に変更して送信装置
側隣接ノードへ転送し、前記受信要求メッセージが前記
配信表の生成された中継装置まで到達すると、該中継装
置は前記受信要求メッセージを送出してきた送信元の受
信装置側隣接ノードを前記配信表に登録すると共に、該
受信装置側隣接ノードに前記データを送出し、前記配信
表の生成された中継装置から前記受信装置に至る経路上
に存在し前記配信表が生成されていない中継装置は、送
信装置側隣接ノードから送られてくる前記データを受信
して前記配信表を生成すると共に該データを廃棄するマ
ルチキャストデータ通信方法である。また、請求項11
記載の発明は、ユニキャスト通信が可能なネットワーク
を用い、送信装置から複数の受信装置にデータを同報送
信するマルチキャストデータ通信システムにおける中継
装置であって、前記送信装置から前記複数の受信装置に
至るユニキャスト配送経路上に設けられ、前記複数の受
信装置が予め決められた値より小さい時間間隔毎に前記
送信装置を宛先として送出する受信要求メッセージを受
信装置側隣接ノードから受信した後に送信装置側隣接ノ
ードから前記データ又は配信表生成パケットを受信した
とき、前記データを配送すべき受信装置側隣接ノードを
登録するための配信表を生成する手段と、前記配信表を
生成し後に前記受信要求メッセージを送出してきた受信
装置側隣接ノードを前記配信表に登録する手段と、前記
受信要求メッセージの受信間隔が予め決められた時間間
隔未満であるかどうかにより受信装置側隣接ノードが前
記データの受信を要求し続けているかどうか判断する手
段と、前記受信装置側隣接ノードが前記データの受信を
要求し続けていると判断したときに、予め決められた値
より小さい時間間隔毎に前記送信装置を宛先とした受信
要求メッセージを送出すると共に、送信装置側隣接ノー
ドから送られてくる前記データを複製して前記配信表に
登録されている受信装置側隣接ノードへ配送する手段と
を具備する中継装置である。
Further, the invention according to claim 10 is the invention according to claim 8.
In the multicast data communication method described, the relay device existing on the path from the receiving device to the relay device in which the distribution table is generated, and the distribution table is not generated,
To the relay device in which the reception request message sent from the receiving device side adjacent node is changed to its own relay device and transferred to the transmitting device side adjacent node, and the reception request message is generated in the distribution table. When the relay device arrives, the relay device registers in the distribution table the receiving device side adjacent node that has transmitted the reception request message, and also sends the data to the receiving device side adjacent node to generate the distribution table. The relay device that exists on the path from the relay device to the receiving device and has not generated the distribution table generates the distribution table by receiving the data sent from the adjacent node on the transmission device side. This is a multicast data communication method for discarding the data. In addition, claim 11
The described invention is a relay device in a multicast data communication system that broadcasts data from a transmitting device to a plurality of receiving devices, using a network capable of unicast communication, wherein the transmitting device provides the plurality of receiving devices. Is provided on a unicast delivery route to the transmitting device after receiving a reception request message from the receiving device-side adjacent node, the receiving device sending out the transmitting device to the transmitting device at a time interval smaller than a predetermined value. Means for generating a distribution table for registering the receiving device side adjacent node to which the data is to be delivered, when the data or the distribution table generation packet is received from the adjacent node on the side, and the reception request after generating the distribution table. Means for registering an adjacent node on the receiving device side that has sent a message in the distribution table, and the reception request message Means for determining whether the receiving-apparatus-side adjacent node continues to request the reception of the data depending on whether the reception interval is less than a predetermined time interval, and the receiving-apparatus-side adjacent node receives the data. When it is determined that the request is being continued, the reception request message addressed to the transmission device is transmitted at each time interval smaller than a predetermined value, and the data transmitted from the transmission device side adjacent node is transmitted. And a means for copying and delivering to the receiving device side adjacent node registered in the distribution table.

【0045】また、請求項12記載の発明は、請求項1
1記載の中継装置において、前記受信要求メッセージ
は、前記受信装置から該受信要求メッセージを受信した
前記中継装置又は前記送信装置に至る経路を示す経路情
報を含み、前記中継装置は、前記配信表を生成したかど
うか判断する手段を備え、前記配信表が生成されている
ときは、前記受信要求メッセージを送出してきた受信装
置側隣接ノードが前記配信表に登録されていなければ、
前記受信装置から自身の中継装置に至る経路を示す経路
情報を前記受信要求メッセージの中から取り出して該経
路情報を含む前記配信表生成パケットを生成し、該経路
情報に従って前記配信表生成パケットを前記受信装置へ
向けて送出し、前記配信表が生成されていないときは、
受信装置側隣接ノードから送られてくる前記受信要求メ
ッセージ中の経路情報に対して自身を示す情報を追加し
た新たな経路情報を生成し該新たな経路情報を含めた受
信要求メッセージを前記送信装置を宛先として送出し、
前記配信表生成パケットが送信装置側隣接ノードから送
られてきたときに該配信表生成パケット中の経路情報に
従って該配信表生成パケットを受信装置側隣接ノードへ
転送すると共に前記配信表を生成する中継装置である。
また、請求項13記載の発明は、請求項11記載の中継
装置において、前記配信表を生成したかどうか判断する
手段を備え、前記配信表が生成されていないときは、受
信装置側隣接ノードから送られてくる前記受信要求メッ
セージの送信元を自身の中継装置に変更して送信装置側
隣接ノードへ転送すると共に、送信装置側隣接ノードか
ら前記データが送られてきたときに前記配信表を生成し
て該データを廃棄し、前記配信表が生成されているとき
は、前記受信要求メッセージを送出してきた送信元の受
信装置側隣接ノードを前記配信表に登録する中継装置で
ある。
The invention of claim 12 is the same as that of claim 1.
1. The relay device according to 1, wherein the reception request message includes route information indicating a route from the reception device to the relay device or the transmission device which has received the reception request message, and the relay device stores the distribution table. A means for determining whether or not it has been generated, and when the distribution table is generated, if the receiving device side adjacent node that has transmitted the reception request message is not registered in the distribution table,
Route information indicating a route from the receiving device to its own relay device is extracted from the reception request message to generate the distribution table generation packet including the route information, and the distribution table generation packet is generated according to the route information. When it is sent to the receiving device and the distribution table is not generated,
The transmission device transmits a reception request message including new route information by adding information indicating itself to the route information in the reception request message sent from the receiving device side adjacent node and including the new route information. To the destination,
A relay which, when the distribution table generation packet is sent from the adjacent node on the transmitting device side, transfers the distribution table generation packet to the adjacent node on the receiving device side in accordance with the route information in the distribution table generating packet, and also generates the distribution table. It is a device.
Further, the invention according to claim 13 is the relay device according to claim 11, further comprising means for determining whether or not the distribution table is generated, and when the distribution table is not generated, the receiving device side adjacent node Change the transmission source of the received reception request message to its own relay device and transfer it to the adjacent node on the transmitting device side, and generate the distribution table when the data is sent from the adjacent node on the transmitting device side. Then, the data is discarded, and when the distribution table is generated, it is a relay device that registers in the distribution table the receiving device side adjacent node that has transmitted the reception request message.

【0046】また、請求項14記載の発明は、請求項1
2又は13記載の中継装置において、自身が所定の負荷
を越える高負荷状態であるかどうか判断する手段と、前
記高付加状態であると判断されている間、前記配信表に
登録されていない受信装置側隣接ノードについては、前
記受信要求メッセージが受信装置側隣接ノードから送ら
れてきたときに前記配信表への登録を行うことなく前記
送信装置を宛先として受信した該受信要求メッセージを
転送する手段とをさらに具備する中継装置である。ま
た、請求項15記載の発明は、請求項12又は13記載
の中継装置において、前記各受信装置に配信されるデー
タに対して変換を行うために必要な変換情報を要求され
る複数のカテゴリに亙って事前に記憶する変換情報記憶
手段と、受信装置側隣接ノードから送られてくる前記受
信要求メッセージに含まれ前記各受信装置に対応する各
ユーザの嗜好と前記データに対する変換のコストとの間
の相関を表した嗜好情報に基づき、受信装置側隣接ノー
ドについて採用すべき前記変換情報のカテゴリを前記受
信装置側隣接ノード毎に事前に分類定義した変換指示表
と、送信装置側隣接ノードから送られてくる前記データ
に応じ、前記変換指示表を参照して前記各受信装置側隣
接ノードについて採用すべき前記変換情報のカテゴリを
選択し、該選択されたカテゴリに対応して前記変換情報
記憶手段に記憶されている前記変換情報を読み出し、該
読み出された変換情報を使用して前記データに対して変
換を行う変換手段と、前記変換手段によって変換された
データを前記各受信装置側隣接ノードに送信する送信手
段とをさらに具備する中継装置である。
The invention of claim 14 is the same as claim 1
In the relay device according to 2 or 13, means for determining whether or not the relay device itself is in a high load state exceeding a predetermined load, and reception that is not registered in the distribution table while it is determined that the relay device is in the high load state. Regarding the device-side adjacent node, means for transferring the reception request message received with the transmission device as the destination without registration in the distribution table when the reception request message is sent from the reception-device-side adjacent node The relay device further comprises: According to the invention of claim 15, in the relay device according to claim 12 or 13, conversion information necessary for converting the data distributed to each of the receiving devices is classified into a plurality of required categories. Between the conversion information storage means to be stored in advance, and the preference of each user corresponding to each of the receiving devices included in the reception request message transmitted from the receiving device side adjacent node and the conversion cost for the data Based on the preference information representing the correlation between the conversion device, the conversion instruction table in which the categories of the conversion information to be adopted for the receiving device side adjacent node are defined in advance for each of the receiving device side adjacent nodes, and the transmitting device side adjacent node According to the transmitted data, the conversion instruction table is referred to, the category of the conversion information to be adopted for each adjacent node on the receiving device side is selected, and the selection is performed. The conversion information stored in the conversion information storage means corresponding to the selected category and converting the data by using the read conversion information; The relay device further comprises a transmitting unit that transmits the converted data to the receiving-device-side adjacent nodes.

【0047】また、請求項16記載の発明は、請求項1
5記載の中継装置において、前記変換手段は、前記嗜好
情報に加えて、前記各中継装置自身の負荷状態を示す情
報又は前記各中継装置間の通信リンクの負荷状態に基づ
いて前記カテゴリの選択を行う中継装置である。また、
請求項17記載の発明は、請求項15記載の中継装置に
おいて、受信装置側隣接ノードから転送されてくる前記
受信要求メッセージから前記嗜好情報を抽出する嗜好情
報抽出手段と、抽出された前記嗜好情報を記憶する嗜好
情報記憶手段と、前記嗜好情報記憶手段に記憶された前
記嗜好情報に所定の演算を集約的に施して新たな嗜好情
報を生成し、該新たな嗜好情報により前記変換指示表を
更新する嗜好情報集計手段と、前記新たな嗜好情報を送
信装置側隣接ノードに送出する手段とをさらに備えた中
継装置である。また、請求項18記載の発明は、ユニキ
ャスト通信が可能なネットワークを用い、送信装置から
複数の受信装置にデータを同報送信するときに、前記送
信装置から前記複数の受信装置に至るユニキャスト配送
経路上に設けられた中継装置により前記データを中継す
る中継方法であって、前記複数の受信装置が予め決めら
れた値より小さい時間間隔毎に前記送信装置を宛先とし
て送出する受信要求メッセージを受信し、受信装置側隣
接ノードから前記受信要求メッセージを受信した後に送
信装置側隣接ノードから前記データ又は配信表生成パケ
ットを受信したときに、前記データを配送すべき受信装
置側隣接ノードを登録するための配信表を生成し、前記
配信表が生成された後に前記受信要求メッセージを送出
してきた前記受信装置側隣接ノードを前記配信表に登録
し、前記受信要求メッセージの受信間隔が予め決められ
た時間間隔未満であるかどうかにより受信装置側隣接ノ
ードが前記データの受信を要求し続けているかどうか判
断し、前記受信装置側隣接ノードが前記データの受信を
要求し続けていると判断したときに、予め決められた値
より小さい時間間隔毎に前記送信装置を宛先とした受信
要求メッセージを送出すると共に、送信装置側隣接ノー
ドから送られてくる前記データを複製して前記配信表に
登録されている受信装置側隣接ノードへ配送する中継方
法である。
The invention of claim 16 is the same as claim 1
In the relay device according to 5, the conversion unit selects the category based on the preference information, information indicating a load state of each relay device itself, or a load state of a communication link between the relay devices. It is a relay device to perform. Also,
According to a seventeenth aspect of the present invention, in the relay apparatus according to the fifteenth aspect, preference information extracting means for extracting the preference information from the reception request message transferred from the receiving device side adjacent node, and the extracted preference information. And a preference information storage unit for storing the preference information stored in the preference information storage unit to collectively perform a predetermined calculation to generate new preference information, and generate the conversion instruction table by the new preference information. The relay device further includes a preference information totaling unit for updating and a unit for transmitting the new preference information to the adjacent node on the transmitting device side. Further, the invention according to claim 18 uses a network capable of unicast communication, and when data is broadcast from a transmitter to a plurality of receivers, the unicast from the transmitter to the plurality of receivers is performed. A relay method for relaying the data by a relay device provided on a delivery path, wherein a reception request message is sent by the plurality of receiving devices destined to the transmitting device at a time interval smaller than a predetermined value. When receiving and receiving the data or the distribution table generation packet from the transmitting device side adjacent node after receiving the reception request message from the receiving device side adjacent node, the receiving device side adjacent node to which the data is to be delivered is registered. For generating the distribution table for sending the reception request message after the distribution table is generated. Is registered in the distribution table, and it is determined whether or not the receiving-apparatus-side adjacent node continues to request reception of the data depending on whether the reception interval of the reception request message is less than a predetermined time interval, and the reception When it is determined that the device-side adjacent node continues to request the reception of the data, the reception device sends a reception request message addressed to the transmission device at time intervals smaller than a predetermined value, and the transmission device side It is a relay method of copying the data sent from the adjacent node and delivering the data to the receiving device side adjacent node registered in the distribution table.

【0048】また、請求項19記載の発明は、請求項1
8記載の中継方法において、前記配信表を生成するまで
は、受信装置側隣接ノードから送られてくる前記受信要
求メッセージ中の経路情報に対して自身を示す情報を追
加した新たな経路情報を生成して該新たな経路情報を含
めた受信要求メッセージを前記送信装置を宛先として送
出し、その後、前記送信装置又は配信表を生成した中継
装置の生成した前記配信表生成パケットが送信装置側隣
接ノードから送られてきたときに、該配信表生成パケッ
ト中の経路情報に従って該配信表生成パケットを受信装
置側隣接ノードへ転送すると共に前記配信表を生成し、
前記配信表を生成した後に、受信装置側隣接ノードから
前記受信要求メッセージが送られてきたときに、該受信
装置側隣接ノードが前記配信表に登録されていなけれ
ば、前記受信装置から自身の中継装置に至る経路を示す
経路情報を前記受信要求メッセージから取り出して該経
路情報を含む前記配信表生成パケットを生成し、該経路
情報に従って前記配信表生成パケットを前記受信装置へ
向けて送出する中継方法である。
The invention described in claim 19 is the same as claim 1.
In the relay method described in 8, until the distribution table is generated, new route information is generated by adding information indicating itself to the route information in the reception request message sent from the receiving device side adjacent node. Then, the reception request message including the new route information is sent to the transmission device as a destination, and then the distribution table generation packet generated by the transmission device or the relay device that generated the distribution table is transmitted to the transmission device side adjacent node. When transmitted from the distribution table generation packet according to the route information in the distribution table generation packet to the receiving device side adjacent node while generating the distribution table,
After generating the distribution table, when the reception request message is sent from the receiving device side adjacent node, if the receiving device side adjacent node is not registered in the distribution table, the receiving device relays itself. A relay method for extracting route information indicating a route to a device from the reception request message, generating the distribution table generation packet including the route information, and transmitting the distribution table generation packet to the reception device according to the route information. Is.

【0049】また、請求項20記載の発明は、請求項1
8載の中継方法において、前記配信表を生成するまで
は、受信装置側隣接ノードから送られてくる前記受信要
求メッセージの送信元を自身の中継装置に変更して送信
装置側隣接ノードへ転送し、その後、送信装置側隣接ノ
ードから前記データが送られてきたときに前記配信表を
生成すると共に該データを廃棄し、前記配信表を生成し
た後は、前記受信要求メッセージを送出してきた送信元
の受信装置側隣接ノードを前記配信表に登録すると共
に、該受信装置側隣接ノードに前記データを送出する中
継方法である。
The invention according to claim 20 is the same as claim 1.
In the relay method described in No. 8, until the distribution table is generated, the source of the reception request message sent from the receiving device side adjacent node is changed to its own relay device and transferred to the transmitting device side adjacent node. After that, when the data is sent from the transmitter-side adjacent node, the distribution table is generated, the data is discarded, and after the distribution table is generated, the sender that has transmitted the reception request message. Is a relay method of registering the receiving device side adjacent node in the distribution table and transmitting the data to the receiving device side adjacent node.

【0050】また、請求項21記載の発明は、ユニキャ
スト通信が可能なネットワークを用い、送信装置から複
数の受信装置にデータを同報送信する際に、前記送信装
置から前記複数の受信装置に至るユニキャスト配送経路
上において前記データを中継するための中継プログラム
を記録したコンピュータ読み取り可能な媒体であって、
前記中継プログラムは、前記複数の受信装置が予め決め
られた値より小さい時間間隔毎に前記送信装置を宛先と
して送出する受信要求メッセージを受信するステップ
と、受信装置側隣接ノードから前記受信要求メッセージ
を受信した後に送信装置側隣接ノードから前記データ又
は配信表生成パケットを受信したときに、前記データを
配送すべき受信装置側隣接ノードを登録するための配信
表を生成するステップと、前記配信表が生成された後に
前記受信要求メッセージを送出してきた前記受信装置側
隣接ノードを前記配信表に登録するステップと、前記受
信要求メッセージの受信間隔が予め決められた時間間隔
未満であるかどうかにより受信装置側隣接ノードが前記
データの受信を要求し続けているかどうか判断するステ
ップと、前記受信装置側隣接ノードが前記データの受信
を要求し続けていると判断したときに、予め決められた
値より小さい時間間隔毎に前記送信装置を宛先とした受
信要求メッセージを送出すると共に、送信装置側隣接ノ
ードから送られてくる前記データを複製して前記配信表
に登録されている受信装置側隣接ノードへ配送するステ
ップとを具備するコンピュータ読み取り可能な媒体であ
る。
According to a twenty-first aspect of the present invention, a network capable of unicast communication is used, and when data is broadcast from a transmitting device to a plurality of receiving devices, the transmitting device transmits the data to the plurality of receiving devices. A computer-readable medium recording a relay program for relaying the data on a unicast delivery route to
The relay program receives a reception request message sent from the plurality of receiving devices to the transmission device at a time interval smaller than a predetermined value, and the reception request message from the receiving device side adjacent node. When receiving the data or the distribution table generation packet from the transmission device side adjacent node after receiving, generating a distribution table for registering the reception device side adjacent node to which the data is to be distributed, and the distribution table A step of registering the receiving device side adjacent node that has transmitted the reception request message after being generated in the distribution table, and a reception device depending on whether the reception interval of the reception request message is less than a predetermined time interval. Determining whether the adjacent node on the side continues to request the reception of the data; When the adjacent node on the side determines that it continues to request the reception of the data, it sends out a reception request message addressed to the transmitting device at each time interval smaller than a predetermined value, and the adjacent device on the transmitting device side. And a step of copying the data sent from the node and delivering the data to an adjacent node on the receiving device side registered in the distribution table.

【0051】また、請求項22記載の発明は、ユニキャ
スト通信が可能なネットワークを用い、送信装置から複
数の受信装置にデータを同報送信する際に、前記送信装
置から前記複数の受信装置に至るユニキャスト配送経路
上において前記データを中継するための中継プログラム
であって、前記複数の受信装置が予め決められた値より
小さい時間間隔毎に前記送信装置を宛先として送出する
受信要求メッセージを受信するステップと、受信装置側
隣接ノードから前記受信要求メッセージを受信した後に
送信装置側隣接ノードから前記データ又は配信表生成パ
ケットを受信したときに、前記データを配送すべき受信
装置側隣接ノードを登録するための配信表を生成するス
テップと、前記配信表が生成された後に前記受信要求メ
ッセージを送出してきた前記受信装置側隣接ノードを前
記配信表に登録するステップと、前記受信要求メッセー
ジの受信間隔が予め決められた時間間隔未満であるかど
うかにより受信装置側隣接ノードが前記データの受信を
要求し続けているかどうか判断するステップと、前記受
信装置側隣接ノードが前記データの受信を要求し続けて
いると判断したときに、予め決められた値より小さい時
間間隔毎に前記送信装置を宛先とした受信要求メッセー
ジを送出すると共に、送信装置側隣接ノードから送られ
てくる前記データを複製して前記配信表に登録されてい
る受信装置側隣接ノードへ配送するステップとをコンピ
ュータに実行させるための中継プログラムである。
According to a twenty-second aspect of the present invention, a network capable of unicast communication is used, and when data is broadcast from a transmitter to a plurality of receivers, the transmitter transmits the data to the plurality of receivers. A relay program for relaying the data on a unicast delivery path that reaches, wherein the plurality of receiving devices receives a reception request message transmitted to the transmitting device at a time interval smaller than a predetermined value. Registering the receiving device side adjacent node to which the data is to be delivered when the data or the distribution table generation packet is received from the transmitting device side adjacent node after receiving the reception request message from the receiving device side adjacent node. Generating a delivery table for transmitting the reception request message after the delivery table is generated. The receiving device side adjacent node requests reception of the data according to the step of registering the receiving device side adjacent node in the distribution table and whether the reception interval of the reception request message is less than a predetermined time interval. And a step of determining whether or not continuing, and when it is determined that the receiving device side adjacent node continues to request reception of the data, the transmitting device is set as a destination at time intervals smaller than a predetermined value. A relay for causing a computer to execute the step of transmitting a reception request message and copying the data transmitted from the adjacent node on the transmitting device side and delivering the data to the adjacent node on the receiving device side registered in the distribution table. It is a program.

【0052】[0052]

【発明の実施の形態】以下、図面に従って本発明の実施
の形態を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0053】初めに、本発明の各実施の形態が適用され
る領域についてその一例を説明するが、本発明がこうし
た領域への適用に限定されるものではない。本発明の各
実施の形態は、例えば広域網における大衆向けの個人放
送局型ストリーム配信に適用することが好ましい。ここ
で言う個人放送局型ストリーム配信とは、個人の持つ端
末がストリームの発信元となるストリーム配信の一形態
を意味する。個人が持つ端末は固定端末あるいは移動端
末のいずれであっても良いが、移動端末とした場合には
ストリームの発信元が時々刻々変わってくる。また、個
人放送局型ストリーム配信ではストリームの発信期間が
比較的短い場合が多いことが考えられる。こうした個人
放送局型ストリーム配信の特質から、マルチキャストツ
リーを予め計画的に構築しておくことは難しいと言え
る。
First, an example of an area to which each embodiment of the present invention is applied will be described, but the present invention is not limited to application to such an area. Each embodiment of the present invention is preferably applied to, for example, personal broadcaster type stream distribution for the masses in a wide area network. The personal broadcast station type stream distribution referred to here means a form of stream distribution in which a terminal owned by an individual is a source of the stream. The terminal possessed by an individual may be either a fixed terminal or a mobile terminal, but when the terminal is a mobile terminal, the source of the stream changes from moment to moment. Also, in the case of personal broadcast station type stream distribution, it is considered that the stream transmission period is often relatively short. It can be said that it is difficult to systematically build a multicast tree in advance due to the characteristics of such personal broadcaster type stream distribution.

【0054】そして、以上のような適用領域を考慮に入
れたマルチキャスト通信を実現するためには以下のよう
な要求を満たす必要がある。まず、送信者及び受信者の
双方がマス(一般ユーザ)であるため、セキュリティ上
の観点から高度な安全性を保証することの可能なプロト
コルが必要となってくる。また、ストリームがどこから
配信されるのか予想することができないため、オンデマ
ンドでマルチキャストツリーを構築可能であることが必
要となってくる。また、ストリームが配信される受信者
の数などに対してスケーラビリティを確保するために非
集中制御が必要となってくる。また、広域網への適用を
考慮すると経路変更などに対して柔軟に対応できる必要
がある。
Then, in order to realize the multicast communication in consideration of the above application areas, it is necessary to satisfy the following requirements. First, since both the sender and the receiver are masses (general users), a protocol capable of ensuring a high degree of safety is required from the viewpoint of security. In addition, since it is impossible to predict where the stream will be delivered from, it is necessary to be able to build a multicast tree on demand. In addition, decentralized control is required to ensure scalability with respect to the number of recipients to which the stream is distributed. Also, considering the application to a wide area network, it is necessary to be able to flexibly deal with route changes.

【0055】〔実施の形態1〕図1はマルチキャスト通
信が行われるネットワーク構成の一例、ここでは従来例
で取り上げた図71と同様な例について示す。即ち、こ
こでは1つの中継ノード21に4つの受信ホスト22−
1,22−2,22−3,22−4(アドレスは図71
のものと同一とする)がネットワークを介して接続さ
れ、送信ホスト(図示せず)もネットワークを介して中
継ノード21に接続されているものとする。
[Embodiment 1] FIG. 1 shows an example of a network configuration in which multicast communication is performed, and here, an example similar to FIG. 71 taken up in a conventional example is shown. That is, here, one relay node 21 has four reception hosts 22-
1, 22-2, 22-3, 22-4 (address is shown in FIG.
(The same as the above) and a transmission host (not shown) is also connected to the relay node 21 via the network.

【0056】各受信ホスト22−1〜22−4は、予め
決められた値より小さい時間間隔毎に受信要求パケット
を送出する。受信要求パケットが中継ノード21に到着
すると、その到着時刻が中継ノード21のテーブル(以
下、配信テーブルという)に記録される。子が登録され
ている中継ノード21自身も、予め決められた値より小
さい時間間隔毎に受信要求パケットを送信ホストに向か
って送出する。より送信ホストに近い中継ノードにこの
受信要求パケットが到着すると、到着時刻が記録され
る。中継ノード自身が受信要求パケットを送信ホストに
向かって送出するタイミングについては後述する。
Each of the reception hosts 22-1 to 22-4 sends out a reception request packet at time intervals smaller than a predetermined value. When the reception request packet arrives at the relay node 21, the arrival time is recorded in the table of the relay node 21 (hereinafter referred to as the distribution table). The relay node 21 itself in which the child is registered also sends the reception request packet to the sending host at time intervals smaller than a predetermined value. When this reception request packet arrives at the relay node closer to the sending host, the arrival time is recorded. The timing at which the relay node itself sends the reception request packet to the sending host will be described later.

【0057】図2は本実施の形態の配信テーブルの一例
を示すもので、各子のアドレスと各子からの受信要求パ
ケットが中継ノード21に到着した時刻が子毎に記録さ
れている。
FIG. 2 shows an example of the distribution table of this embodiment, in which the address of each child and the time when the reception request packet from each child arrives at the relay node 21 are recorded for each child.

【0058】送信ホストからのデータパケットがこの中
継ノード21に到着した時、現在時刻と、配信テーブル
に記録された各子毎の受信要求パケット到着時刻とを比
較し、その間隔がある値以上である子はタイムアウトし
たと見なし、その子に対してはデータパケットを送出し
ない。この時、配信テーブルからこの子を削除する。
When the data packet from the transmitting host arrives at this relay node 21, the current time is compared with the reception request packet arrival time for each child recorded in the distribution table, and if the interval is more than a certain value. One child considers it to have timed out and does not send a data packet to that child. At this time, this child is deleted from the distribution table.

【0059】例えば、図3は、中継ノード21に送信ホ
ストからのデータパケットが時刻10:23:11に到
着した時のようすを示すものである。タイムアウト時間
間隔が00:00:10であったとすると、図2より、
子3だけがタイムアウトしていることになる。従って、
このデータパケットは、図4に示すように、子1及び子
2(受信ホスト22−1,22−2)に対してだけ送出
される。また、この時、子3は配信テーブルから削除さ
れる。子3が削除された後の配信テーブルは、図5に示
すようになる。
For example, FIG. 3 shows the state when the data packet from the transmission host arrives at the relay node 21 at time 10:23:11. Assuming that the timeout time interval is 00:00:10, from FIG.
Only child 3 has timed out. Therefore,
As shown in FIG. 4, this data packet is sent only to the child 1 and the child 2 (reception hosts 22-1 and 22-2). At this time, the child 3 is deleted from the distribution table. The distribution table after the child 3 is deleted is as shown in FIG.

【0060】全ての子がタイムアウトしていた場合に
は、配信テーブル自体を削除する。配信テーブルに登録
された子や配信テーブル自体を削除するための他の方法
も考えられる。例えば、受信要求パケットが到着した時
に、その受信要求パケットが対応するツリーIDの配信
テーブルについて、タイムアウトした子の削除操作を行
えば、データパケット転送時の処理量を減らすことが出
来る。これは、リアルタイムストリームデータなど、転
送レートが重要な場合は有益である。また、タイムアウ
トした子や配信テーブルが、より確実に削除されるよう
にするには、中継ノード自体に、タイムアウトした子や
配信テーブルを削除するプログラムを定期的に起動する
仕組みを作っておく方法もある。
When all the children have timed out, the distribution table itself is deleted. Other methods for deleting the child registered in the distribution table or the distribution table itself are also possible. For example, when a reception request packet arrives, if the deletion operation of the timed-out child is performed on the distribution table of the tree ID corresponding to the reception request packet, the processing amount at the time of transferring the data packet can be reduced. This is useful when transfer rates are important, such as real-time stream data. Also, to ensure that the timed-out child or distribution table is deleted, a method of periodically starting a program that deletes the timed-out child or distribution table may be created in the relay node itself. is there.

【0061】Keep alive方式は、受信ホスト(以下クラ
イアントとも言う)のハングアップや強制終了に対する
耐性を高めるばかりでなく、中継ノードの負荷状況に応
じて、動的にツリーを再構築することを可能にする。
The keep alive method not only enhances the resistance against a hang-up or forced termination of a receiving host (hereinafter also referred to as a client), but also dynamically reconstructs a tree according to the load status of a relay node. To

【0062】図6はマルチキャスト通信が行われるネッ
トワーク構成の他の例、ここでは従来例で取り上げた図
73と同様な例について示す。即ち、ここでは3つの中
継ノード31−1,31−2,31−3に7つの受信ホ
スト32−1,32−2,32−3,32−4,32−
5,32−6,32−7及び1つの送信ホスト33(以
下、サーバーと呼ぶ)がネットワークを介して接続され
ている状態を示している。
FIG. 6 shows another example of the network configuration in which the multicast communication is carried out, here the same example as FIG. 73 taken up in the conventional example. That is, here, the three relay nodes 31-1, 31-2, and 31-3 have seven reception hosts 32-1, 32-2, 32-3, 32-4, and 32-.
5, 32-6, 32-7 and one transmission host 33 (hereinafter referred to as a server) are connected via a network.

【0063】図7は図6の構成において、図79と同様
な状態、即ちクライアント32−1,32−2,32−
4,32−5,32−6がマルチキャストに参加してい
る状態から、さらにクライアント32−7が新たに受信
要求パケットを送出してきた状態を示している。ここ
で、中継ノード31−3は既に高負荷状態になってお
り、クライアント32−7のためにデータパケットを複
製する回数を増やす余裕がないものとする。
FIG. 7 shows a state similar to that of FIG. 79 in the configuration of FIG. 6, that is, the clients 32-1, 32-2, 32-.
It shows a state in which the client 32-7 newly sends a reception request packet from the state in which 4, 32-5 and 32-6 participate in the multicast. Here, it is assumed that the relay node 31-3 is already in a high load state and cannot afford to increase the number of times the data packet is copied for the client 32-7.

【0064】この時、中継ノード31−3はクライアン
ト32−7からの受信要求パケットをそのままサーバー
33に向かって転送する。中継ノード31−2にクライ
アント32−7からの受信要求パケットが到着した時、
中継ノード31−2が高負荷状態でなければ、当該中継
ノード31−2の配信テーブルに子として登録される。
この結果、サーバー33からのデータパケットは、中継
ノード31−2でクライアント32−7のために複製さ
れ、ユニキャストで直接クライアント32−7に送られ
る。
At this time, the relay node 31-3 transfers the reception request packet from the client 32-7 to the server 33 as it is. When a reception request packet from the client 32-7 arrives at the relay node 31-2,
If the relay node 31-2 is not in a high load state, it is registered as a child in the distribution table of the relay node 31-2.
As a result, the data packet from the server 33 is duplicated for the client 32-7 by the relay node 31-2 and is directly transmitted to the client 32-7 by unicast.

【0065】クライアント32−7からの受信要求パケ
ットは、予め決められた値以下の時間間隔で送出され続
けられるので、その度毎に中継ノード31−3で転送さ
れ、中継ノード31−2では配信テーブルの受信要求パ
ケット到着時刻が更新される。
Since the reception request packet from the client 32-7 is continuously transmitted at a time interval equal to or smaller than a predetermined value, it is transferred by the relay node 31-3 and distributed by the relay node 31-2 each time. The arrival time of the reception request packet in the table is updated.

【0066】次に、図8に示すように、クライアント3
2−5が離脱パケットもしくはタイムアウトにより中継
ノード31−3の配信テーブルから削除され、中継ノー
ド31−3の負荷が下がり、この結果、中継ノード31
−3は新たに子を増やすことが可能になったものとす
る。この時、中継ノード31−3にクライアント32−
7の受信要求パケットが到着すると、中継ノード31−
3はこの受信要求パケットを中継ノード31−2へ転送
せずにクライアント32−7を配信テーブルに登録す
る。この様子を、図9に示す。
Next, as shown in FIG.
2-5 is deleted from the distribution table of the relay node 31-3 due to a leaving packet or a timeout, and the load of the relay node 31-3 is reduced. As a result, the relay node 31-3
-3 is assumed to be able to newly increase the number of children. At this time, the client 32-
When the reception request packet of No. 7 arrives, the relay node 31-
3 does not transfer this reception request packet to the relay node 31-2, but registers the client 32-7 in the distribution table. This state is shown in FIG.

【0067】この結果、中継ノード31−3からクライ
アント32−7へデータパケットが送られることにな
る。以後、中継ノード31−2にはクライアント32−
7からの受信要求パケットが届かなくなるので、中継ノ
ード31−2の配信テーブルでクライアント32−7は
タイムアウトし、中継ノード31−2からクライアント
32−7へはデータパケットが送られなくなる。
As a result, the data packet is sent from the relay node 31-3 to the client 32-7. After that, the client 32-
Since the reception request packet from 7 does not reach, the client 32-7 times out in the distribution table of the relay node 31-2, and the data packet cannot be sent from the relay node 31-2 to the client 32-7.

【0068】この際、中継ノード31−2でタイムアウ
トするまでの間、クライアント32−7宛に、中継ノー
ド31−2及び31−3から同じデータパケットが送ら
れることになる。これに関しては予めデータパケットに
番号を付けておき、その番号に基づいて中継ノード31
−3で重複したパケットを廃棄し、クライアント32−
7に対して同じパケットを複数送ることを防げば良い。
また、クライアント32−7においても、同じパケット
が複数届いた時は廃棄するようにしておけば良い。
At this time, until the relay node 31-2 times out, the same data packet is sent from the relay nodes 31-2 and 31-3 to the client 32-7. Regarding this, the data packet is numbered in advance, and the relay node 31 is based on the number.
-3, the duplicate packet is discarded, and the client 32-
It suffices to prevent the same packet from being sent multiple times.
Also, in the client 32-7, when a plurality of the same packets arrive, they may be discarded.

【0069】データパケットの番号付けに関しては、R
FC1889のReal-Time Transport Protocol(RT
P)のように、タイムスタンプとシーケンス番号の組で
表しても良い。
Regarding data packet numbering, R
FC1889 Real-Time Transport Protocol (RT
As in P), it may be represented by a set of a time stamp and a sequence number.

【0070】以上のようにすることで、中継ノードの負
荷状態に応じてマルチキャストツリーの構成を自律的に
変更することが可能となって負荷分散を図ることができ
る。
As described above, it is possible to autonomously change the structure of the multicast tree according to the load state of the relay node, and it is possible to achieve load distribution.

【0071】Keep alive方式は、クライアントやサーバ
ーが移動端末の場合も有用である。例えば、クライアン
トが移動端末である場合、クライアントが移動すること
により、これまで収容されていた中継ノードの収容範囲
の外に出た場合、このクライアントは異なる中継ノード
に収容されることになる。このような場合でも、クライ
アントは受信要求パケットを出し続けることによって、
新しく収容される中継ノードに登録され、また、これま
で収容されていた中継ノードではタイムアウトする。こ
のように、クライアントは収容される中継ノードを意識
することなくサーバー33からのデータパケットを受信
し続けることが出来る。
The keep alive method is also useful when the client or server is a mobile terminal. For example, when the client is a mobile terminal, if the client moves out of the accommodation range of the relay node that has been accommodated so far, the client is accommodated in a different relay node. Even in such a case, the client keeps issuing the reception request packet,
It is registered in the newly accommodated relay node, and the relay node that has been accommodated so far times out. In this way, the client can continue to receive the data packet from the server 33 without being aware of the relay node accommodated therein.

【0072】逆に、サーバー33が移動体である場合、
mobile IP等の移動体宛のユニキャストを可能にする仕
組みがあれば、サーバー33宛に送出された受信要求パ
ケットは常にサーバー33が実際に存在する位置に送ら
れる。サーバー33が移動することにより、異なる中継
ノードに収容されることになった場合、各クライアント
からサーバーに至る経路上の中継ノードに配信テーブル
が存在しない時にのみ、新たに配信テーブルが作られる
ことになる。
On the contrary, when the server 33 is a mobile unit,
If there is a mechanism such as mobile IP that enables unicast to a mobile body, the reception request packet sent to the server 33 is always sent to the position where the server 33 actually exists. When the server 33 moves to be accommodated in a different relay node, a new distribution table is created only when the distribution table does not exist in the relay node on the route from each client to the server. Become.

【0073】例えば、図10に示すように、これまで中
継ノード31−2に収容されていたサーバー33が移動
し、中継ノード31−4に収容されるようになったもの
とする。
For example, as shown in FIG. 10, it is assumed that the server 33, which has been housed in the relay node 31-2 until now, has moved and is now housed in the relay node 31-4.

【0074】この時、任意のクライアントからサーバー
33へ至るパス上に、サーバー33の移動前及び移動後
において共通に存在する中継ノード31−1及び31−
3の配信テーブルは変化せず、新たに上記パスに加わっ
た中継ノード31−4に配信テーブルが生成され、中継
ノード31−1及び31−3が登録される。そして、中
継ノード31−4はサーバー33に対して受信要求パケ
ットを送出する。
At this time, the relay nodes 31-1 and 31- that exist in common on the path from any client to the server 33 before and after the server 33 moves.
The distribution table of No. 3 does not change, and the distribution table is newly generated in the relay node 31-4 newly added to the path, and the relay nodes 31-1 and 31-3 are registered. Then, the relay node 31-4 sends a reception request packet to the server 33.

【0075】各クライアントからサーバー33に至るパ
スを外れた中継ノード31−2には受信要求パケットが
送られなくなるので、タイムアウトする。この結果、最
終的に、図11に示すような形態になる。
Since the reception request packet is no longer sent to the relay node 31-2 that has deviated from the path from each client to the server 33, it times out. As a result, the final configuration is as shown in FIG.

【0076】中継ノード31−2がタイムアウトするま
での間に、中継ノード31−1及び31−3には、中継
ノード31−4及び31−2を経由してデータパケット
が届く可能性があり、この場合、同じデータパケットが
重複して届くことになる。これに対しては、上記と同様
に、シーケンス番号をデータパケットに付加しておくこ
とにより、中継ノードまたはクライアントで、同じパケ
ットが複数届いた時は廃棄するようにしておけば良い。
Before the relay node 31-2 times out, data packets may reach the relay nodes 31-1 and 31-3 via the relay nodes 31-4 and 31-2. In this case, the same data packet will arrive in duplicate. On the other hand, similarly to the above, by adding a sequence number to the data packet, the relay node or the client may discard the same packet when a plurality of same packets arrive.

【0077】Keep alive方式において、タイムアウトし
ていない子を持つ中継ノードは、よりサーバーに近い中
継ノードの子としてタイムアウトしないようにしなけれ
ばならない。最も簡単な方法は、タイマーによる割り込
みを利用する方法である。中継ノード自身にタイマーを
しかけておき、決められた時間間隔毎に配信テーブルの
各子がタイムアウトしているかどうかチェックしにい
く。その結果、一つでもタイムアウトしていない子があ
れば、サーバーに向かって受信要求パケットを送出す
る。
In the keep alive method, a relay node having a child that has not timed out must be prevented from timing out as a child of the relay node closer to the server. The simplest method is to use a timer interrupt. A timer is set on the relay node itself to check whether each child of the distribution table has timed out at a predetermined time interval. As a result, if any child has not timed out, a reception request packet is sent to the server.

【0078】しかし、この方法では、データパケットや
受信要求パケットの処理の途中で、タイマー割り込みが
入る可能性があり、場合によってはそのオーバーヘッド
が深刻になることが考えられる。
However, with this method, a timer interrupt may occur during the processing of the data packet or the reception request packet, and in some cases the overhead may be serious.

【0079】タイマー割り込みを使わない方法として
は、受信要求パケットの到着時の処理の一部として実現
する方法である。
A method that does not use the timer interrupt is a method that is realized as a part of the processing when the reception request packet arrives.

【0080】例えば、クライアントは、時間間隔D毎に
受信要求パケットを送出するものとする。中継ノード
は、サーバーに向かって最後に受信要求パケットを送出
した時刻Tを記録しておく。受信要求パケットが到着し
た時、送信元がまだ配信テーブルに登録されていなけれ
ば登録した上で、現在時刻と前記時刻Tとを比較し、
(現在時刻−T)≧Dならば、サーバーに向けて受信要
求パケットを送出し、時刻Tに現在時刻を設定する。
For example, it is assumed that the client sends a reception request packet at every time interval D. The relay node records the time T when the reception request packet was last sent to the server. When the reception request packet arrives, if the transmission source is not yet registered in the distribution table, register it and then compare the current time with the time T,
If (current time-T) ≧ D, a reception request packet is sent to the server, and the current time is set at time T.

【0081】クライアントから中継ノード(またはサー
バー)までのリンクの数の最大値をその中継ノード(ま
たはサーバー)の高さと呼ぶことにすると、中継ノード
間またはクライアントと中継ノードとの間の伝送遅延に
ゆらぎがない場合、上記の方法によれば、高さhの中継
ノード(またはサーバー)に受信要求パケットが到着す
る時間間隔は、高々h×Dである。この理由は次のよう
に、帰納的に示すことが出来る。
When the maximum value of the number of links from a client to a relay node (or server) is called the height of the relay node (or server), the transmission delay between the relay nodes or between the client and the relay node is When there is no fluctuation, according to the above method, the time interval at which the reception request packet arrives at the relay node (or server) of height h is at most h × D. The reason for this can be shown inductively as follows.

【0082】ある中継ノードが子から受けとる受信要求
パケットの(子毎に測定した場合の)到着間隔が高々
D’であると仮定する。この時、上記の方法によれば、
この中継ノードから受信要求パケットを送出する間隔が
最大になるのは、前に受信要求パケットを送出し、それ
から時間Dが経過する直前に、ある子からの受信要求パ
ケットが到着し、同じ子から次の受信要求パケットが到
着するまで、(離脱やハングアップ等の理由により)他
の子からの受信パケットが到着しない場合である。
It is assumed that the reception request packet received from a child by a certain relay node has an arrival interval (when measured for each child) of at most D '. At this time, according to the above method,
The maximum interval for sending a reception request packet from this relay node is that the reception request packet is sent before, and a reception request packet from a certain child arrives just before the time D elapses, and the same child sends the reception request packet. This is a case where a packet received from another child does not arrive (due to a departure or a hang-up) until the next reception request packet arrives.

【0083】この場合、結局、前に受信要求パケットを
送出してから次に送出するまではD+D’の時間が経過
している。また、子が全てクライアントであるような中
継ノードはD’がDに等しい。
In this case, after all, the time of D + D 'has elapsed from the time when the reception request packet was transmitted before and the time when the reception request packet was transmitted next. Also, D'is equal to D for relay nodes whose children are all clients.

【0084】中継ノード間またはクライアントと中継ノ
ードとの間の伝送遅延にゆらぎがある場合、伝送遅延の
増加・減少の量の絶対値(ゆらぎ)をαとすると、子が
全てクライアントであるような中継ノードに到着する受
信要求パケットの到着時間間隔は、高々D+2αにな
る。よって、上記と同様な理由により、高さhの中継ノ
ード(またはサーバー)に受信要求パケットが到着する
時間間隔は、高々h×(D+2α)ということになる。
When there is fluctuation in the transmission delay between the relay nodes or between the client and the relay node, if the absolute value (fluctuation) of the amount of increase / decrease in the transmission delay is α, all the children are clients. The arrival time interval of the reception request packet arriving at the relay node is at most D + 2α. Therefore, for the same reason as above, the time interval at which the reception request packet arrives at the relay node (or server) of height h is at most h × (D + 2α).

【0085】高さhの中継ノード(またはサーバー)で
は、各子について、その子の高さをh−1とすると、前
回、その子から受信要求パケットを受信してから、h×
(D+2α)を越える時間が経過している場合はタイム
アウトしたと判断すれば良い。さらに、中継ノードの処
理遅延のゆらぎがある場合は、伝送遅延と処理遅延の揺
らぎとの和をαとして考えれば良い。
In a relay node (or server) having a height h, for each child, if the height of the child is h−1, then h × x since the reception request packet was received from that child last time.
If the time exceeding (D + 2α) has elapsed, it may be determined that a time-out has occurred. Further, if there is fluctuation in the processing delay of the relay node, the sum of the transmission delay and the fluctuation of the processing delay may be considered as α.

【0086】但し、パケットが伝送途中で失われ得る場
合、クライアントが受信要求パケットを送出し続けてい
る場合でも、高さhの中継ノード(またはサーバー)で
は、h×(D+2α)を越える時間間隔で受信要求パケ
ットが到着する可能性がある。その場合、タイムアウト
を判断する時間間隔を適宜延ばす必要がある。以下で
は、パケットが伝送途中で失われることがないと仮定す
る。
However, when a packet may be lost during transmission, even if the client continues to send the reception request packet, the relay node (or server) of height h has a time interval exceeding h × (D + 2α). The receive request packet may arrive at. In that case, it is necessary to appropriately extend the time interval for determining the timeout. In the following, it is assumed that the packet is not lost during transmission.

【0087】使用するネットワークから、hの値の上限
Hが予めわかっている場合は、全ての中継ノードにおい
てH×(D+2α)をタイムアウトを判断するための値
として用いれば良い。
When the upper limit H of the value of h is known in advance from the network to be used, H × (D + 2α) may be used as the value for judging the timeout in all the relay nodes.

【0088】hの値の上限Hが予めわからない場合、h
を知るためには、例えば受信要求パケットを利用する方
法が考えられる。受信要求パケットには、高さを表す変
数hを用意しておく。クライアントはh=0として、受
信要求パケットを送出する。中継ノードでは、各子から
受けとった受信要求パケットに含まれる変数hの最大値
に1を足した値をhの値として、受信要求パケットを送
出する。このようにすることによって、中継ノードが、
ある子から受けとった受信要求パケットのhの値がh*
であったとすると、その子は高さh*であることがわか
る。このように、タイムアウトすべき時間間隔を、ツリ
ーの形状に従って動的に変化させることが出来る。
When the upper limit H of the value of h is not known in advance, h
For example, a method using a reception request packet can be considered. A variable h representing the height is prepared in the reception request packet. The client sends out a reception request packet with h = 0. In the relay node, the value obtained by adding 1 to the maximum value of the variable h included in the reception request packet received from each child is set as the value of h, and the reception request packet is transmitted. By doing this, the relay node
The value of h in the reception request packet received from a child is h *
, The child has height h *. In this way, the time interval to be timed out can be dynamically changed according to the shape of the tree.

【0089】受信要求パケット到着時の中継ノードでの
処理フローを図12に示す。但し、受信要求パケットに
含まれる、ツリーIDとソース(送信元)アドレスをそ
れぞれN及びSとする。図12中の高負荷時の処理は図
13に示す。
FIG. 12 shows a processing flow in the relay node when the reception request packet arrives. However, the tree ID and the source (source) address included in the reception request packet are N and S, respectively. The processing when the load is high in FIG. 12 is shown in FIG.

【0090】また、データパケット到着時の中継ノード
での処理フローを図14に示す。図14中のエントリ削
除操作は図15に示す。但し、データパケットには、ツ
リーIDとソース(送信元)アドレスが含まれており、
これをN及びSで表すことにする。また、Xはタイムア
ウトと判断する時間間隔である。即ち、受信要求パケッ
トが到着してから、現在までの経過時間がXを越える場
合はタイムアウトと判断する。図12及び図14では、
Xは固定的に与えられる場合を想定している。
FIG. 14 shows a processing flow in the relay node when the data packet arrives. The entry deletion operation in FIG. 14 is shown in FIG. However, the data packet contains the tree ID and the source (source) address,
Let us denote this by N and S. Further, X is a time interval for determining a time-out. That is, if the elapsed time from the arrival of the reception request packet to the present exceeds X, it is determined that the time-out has occurred. In FIGS. 12 and 14,
It is assumed that X is fixedly given.

【0091】上記の方法は、ユーザがサーバーを指定す
る際、予め決められたサーバー群の中から選択する場合
は問題ないが、ユーザがキーボード等を用いてサーバー
のアドレスを入力する場合のように、サーバーの指定間
違いが起こり得る時は、実際には存在しないサーバーの
ための配信テーブルが各中継ノードに生成される問題が
起こる。このような場合は、受信要求パケットを送出す
る前に、サーバー宛にサーバー確認パケットを送出し、
これに対してサーバーの存在を示すパケットがサーバー
から返ってきた時に初めて、受信要求パケットを送出す
るようにすれば良い。
The above method is not problematic when the user selects a server from a predetermined server group when designating the server, but like the case where the user inputs the server address using a keyboard or the like. When there is a possibility of server specification error, a distribution table for a server that does not actually exist is generated in each relay node. In such a case, send a server confirmation packet to the server before sending the reception request packet,
On the other hand, the reception request packet may be transmitted only when the packet indicating the existence of the server is returned from the server.

【0092】本実施の形態では、サーバおよび中継ノー
ドは子から受信要求パケットを受信するとともに、子に
向けてデータパケットを配信している。また、クライア
ント及び中継ノードはサーバに向けてデータパケットの
配信を要求している。さらに、クライアント及び中継ノ
ードが親ノードからデータパケットを受信したとき、ク
ライアント及び中継ノードにはサーバからデータパケッ
トが送られてくるように見えている。つまり本実施の形
態では、受信要求パケットやデータパケットを送信する
にあたって、親ノードあるいは子の先にどれだけのノー
ドが接続されているかを意識する必要がなく、スケーラ
ビリティの点で優れている。
In this embodiment, the server and the relay node receive the reception request packet from the child and distribute the data packet to the child. Further, the client and the relay node request the server to deliver the data packet. Further, when the client and the relay node receive the data packet from the parent node, the client and the relay node appear to receive the data packet from the server. That is, the present embodiment is excellent in scalability because it is not necessary to be aware of how many nodes are connected to the parent node or the child destination when transmitting the reception request packet and the data packet.

【0093】なお、上述したクライアント(受信ホス
ト),中継ノード,サーバ(送信ホスト)内の各部が具
備している機能は、実際にはいずれもコンピュータによ
って実現することが可能である。そのためには、本実施
の形態の動作をコンピュータにより実行させるためのプ
ログラム(例えば中継ノードの場合は中継プログラム)
をコンピュータにより読み取り可能な記録媒体に記録
し、この記録媒体に記録されたプログラムをコンピュー
タに読み込ませて実行させることにより、本実施形態の
機能を実現にしてもよい。ここでいうコンピュータシス
テムとは、OS(オペレーティングシステム)に加えて
周辺機器等のハードウェアを含むものとする。またWW
W(World Wide Web)システムを利用している場合であ
れば、コンピュータはホームページ提供環境(あるいは
その表示環境)を含むものとする。上記プログラムは、
前述した機能の一部を実現するものでも良く、さらにコ
ンピュータにすでに記録されているプログラムとの組み
合わせでかかる機能を実現するもの(いわゆる差分プロ
グラム)でも良い。コンピュータ読み取り可能な記録媒
体は、フレキシブルディスク,光磁気ディスク,ROM
(読み出し専用メモリ),CD−ROM等の可搬媒体、
コンピュータシステムに内蔵されるハードディスク等の
記憶装置を含む。さらに、コンピュータ読み取り可能な
記録媒体は、インターネット等のネットワークや電話回
線等の通信回線を介してプログラムを送信する場合の通
信線のように、短時間の間だけ動的にプログラムを保持
するものや、コンピュータシステム内部の揮発性メモリ
のように、一定時間プログラムを保持しているものも含
む。そして、以上のことはこれ以後に説明する各実施の
形態やその応用例においても全く同様である。
Note that the functions of the above-mentioned respective units in the client (reception host), the relay node, and the server (transmission host) can be actually realized by a computer. To that end, a program for causing a computer to execute the operation of this embodiment (for example, a relay program in the case of a relay node)
May be recorded in a computer-readable recording medium, and the functions of the present embodiment may be realized by causing the computer to read and execute the program recorded in this recording medium. The computer system mentioned here includes hardware such as peripheral devices in addition to the OS (operating system). Also WW
If the W (World Wide Web) system is used, the computer includes a homepage providing environment (or its display environment). The program above
It may be one that realizes a part of the functions described above, or one that realizes such a function in combination with a program already recorded in the computer (so-called difference program). Computer-readable recording media include flexible disks, magneto-optical disks, ROM
(Read-only memory), portable media such as CD-ROM,
It includes a storage device such as a hard disk built in the computer system. Further, the computer-readable recording medium holds the program dynamically only for a short time like a communication line when transmitting the program through a network such as the Internet or a communication line such as a telephone line. , Such as a volatile memory inside a computer system, which holds a program for a certain period of time. And, the above is exactly the same also in each of the embodiments and application examples thereof which will be described later.

【0094】〔実施の形態2〕実施の形態1では、サー
バーの指定間違いが起こり得る時の対策として、クライ
アントからサーバー確認パケットと受信要求パケットと
の2種頚のパケットを送出する方法を示したが、実施の
形態2では、クライアントから送出される受信要求パケ
ットのみであり、かつ、サーバーの指定間違いが起こり
得る時にも対応できる実施の形態を示す。
[Embodiment 2] In Embodiment 1, as a measure against the possibility that a server designation error occurs, a method has been described in which a client sends a packet of two types of a server confirmation packet and a reception request packet. However, the second embodiment shows an embodiment in which only the reception request packet transmitted from the client can be dealt with and the server can also cope with a case where a server designation error may occur.

【0095】クライアントから送出された受信要求パケ
ットは、クライアントに最寄りの中継ノードに配信テー
ブルがある場合は、実施の形態1の場合と同様に最寄り
の中継ノードに登録される。最寄りの中継ノードが高負
荷状態にあり、クライアントを子として収容できない場
合も実施の形態1の場合と同様である。
When the relay node closest to the client has a distribution table, the reception request packet sent from the client is registered in the closest relay node as in the case of the first embodiment. The case where the nearest relay node is in a high load state and the client cannot be accommodated as a child is similar to the case of the first embodiment.

【0096】クライアントに最寄りの中継ノードに配信
テーブルがない場合、受信要求パケットはサーバーに向
けて転送される。但し、転送の途中で通過した中継ノー
ドが受信要求パケットに記録される。
If the relay node closest to the client does not have a distribution table, the reception request packet is transferred to the server. However, the relay node passed in the middle of the transfer is recorded in the reception request packet.

【0097】受信要求パケットが、配信テーブルを既に
持っている中継ノードまたはサーバーに到着した時に
は、クライアントから上記中継ノードまたはサーバーに
至る経路情報が受信要求パケットに記述されていること
になる。上記中継ノードまたはサーバーは、この経路情
報を含む配信テーブル生成パケットをクライアントに向
かって送出する。
When the reception request packet arrives at the relay node or server which already has the distribution table, the route information from the client to the relay node or server is described in the reception request packet. The relay node or server sends a distribution table generation packet including this route information to the client.

【0098】配信テーブル生成パケットは、上記の経路
情報を逆に辿ることによりクライアントまで配送され、
途中通過する中継ノードにおいて、上記サーバーに対応
する配信テーブルが既にあれば単に転送され、配信テー
ブルがなければ上記サーバーに対応する配信テーブルを
生成する。配信テーブル生成パケット内の経路情報に関
して、次のノードを配信テーブル生成と同時に登録する
方法も可能であるが以下では配信テーブル生成時には何
も登録しない手法について説明する。
The distribution table generation packet is delivered to the client by tracing the above route information in reverse,
In the relay node passing on the way, if the distribution table corresponding to the server already exists, it is simply transferred, and if there is no distribution table, the distribution table corresponding to the server is generated. Regarding the route information in the distribution table generation packet, a method of registering the next node at the same time as the generation of the distribution table is possible, but a method of not registering anything when generating the distribution table will be described below.

【0099】このように、配信テーブル生成パケットが
クライアントに到着するまでに(正確に言うと配信テー
ブル生成パケットはクライアントの最寄りの中継ノード
で廃棄される)、クライアントからサーバーに至る経路
上で配信テーブルを持たない中継ノードには、新たに配
信テーブルが生成される。クライアントは、実施の形態
1の場合と同様に、予め決められた値以下の時間間隔で
受信要求パケットを送出し続ける。そのため、クライア
ントからサーバーに至る経路上の全ての中継ノードに配
信テーブルが存在する状態になった後、実施の形態1の
場合と同様にクライアントが配信テーブルに登録され、
必要であれば、中継ノード自身がサーバー宛に受信要求
パケットを送出する。
As described above, by the time the delivery table generation packet arrives at the client (to be precise, the delivery table generation packet is discarded at the relay node closest to the client), the delivery table generation packet is sent on the route from the client to the server. A distribution table is newly generated for a relay node that does not have a. As in the case of the first embodiment, the client continues to send the reception request packet at time intervals equal to or less than the predetermined value. Therefore, after the distribution table exists in all the relay nodes on the route from the client to the server, the client is registered in the distribution table as in the case of the first embodiment.
If necessary, the relay node itself sends a reception request packet to the server.

【0100】図16はマルチキャスト通信が行われるネ
ットワーク構成の一例、ここでは4つの中継ノード41
−1,41−2,41−3,41−4に5つの受信ホス
ト(以下、クライアントと呼ぶ)42−1,42−2,
42−3,42−4,42−5及び1つの送信ホスト4
3(以下、サーバーと呼ぶ)がネットワークを介して接
続されている状態を示している。
FIG. 16 shows an example of a network configuration in which multicast communication is performed, here four relay nodes 41.
-1, 41-2, 41-3, 41-4 have five receiving hosts (hereinafter, referred to as clients) 42-1, 42-2,
42-3, 42-4, 42-5 and one sending host 4
3 (hereinafter referred to as a server) is connected via a network.

【0101】図16の構成において、例えば図17に示
すように、クライアント42−3から受信要求パケット
が送出され、サーバー43に至る経路上に中継ノード4
1−3及び41−2があったとする。中継ノード41−
3及び41−2には配信テーブルがないので、受信要求
パケットはサーバー43まで転送される。但し、この
時、転送経路として、中継ノード41−3及び41−2
が受信要求パケット内に経路情報として書き込まれてい
る。
In the configuration of FIG. 16, for example, as shown in FIG. 17, the relay node 4 is provided on the path from the client 42-3 to which the reception request packet is sent and which reaches the server 43.
It is assumed that there are 1-3 and 41-2. Relay node 41-
Since there is no distribution table in 3 and 41-2, the reception request packet is transferred to the server 43. However, at this time, as the transfer route, the relay nodes 41-3 and 41-2 are used.
Is written as route information in the reception request packet.

【0102】図18に示すように、サーバー43から、
この経路情報を含む配信テーブル生成パケットが送出さ
れると、前記経路を逆に辿ることにより中継ノード41
−2及び41−3に配信テーブルが生成される。仮に、
サーバー43からクライアント42−3に至る通常の経
路が中継ノード41−4を通るものであっても、配信テ
ーブル生成パケットは中継ノード41−2及び41−3
を通ることになる。
As shown in FIG. 18, from the server 43,
When the distribution table generation packet including this route information is transmitted, the route is reversed to the relay node 41.
-2 and 41-3 generate distribution tables. what if,
Even if the normal route from the server 43 to the client 42-3 passes through the relay node 41-4, the distribution table generation packet is transmitted to the relay nodes 41-2 and 41-3.
Will pass through.

【0103】この後、クライアント42−3から送出さ
れる受信要求パケットより、図19に示すように、中継
ノード41−3及び41−2の配信テーブルにクライア
ント42−3及び中継ノード41−3がそれぞれ登録さ
れ、中継ノード41−2からサーバー43に受信要求パ
ケットが送出される。
Thereafter, from the reception request packet sent from the client 42-3, as shown in FIG. 19, the client 42-3 and the relay node 41-3 are displayed in the distribution tables of the relay nodes 41-3 and 41-2. Each is registered, and a reception request packet is sent from the relay node 41-2 to the server 43.

【0104】続いて、図20に示すように、クライアン
ト42−2から受信要求パケットが送出された場合は、
中継ノード41−1に配信テーブルがないため、サーバ
ー43に向かって転送される。受信要求パケットが中継
ノード41−2に到着すると、中継ノード41−2には
配信テーブルが存在するので、中継ノード41−2から
配信テーブル生成パケットがクライアント42−2に向
かって送出される。図21に示すように、配信テーブル
生成パケットは中継ノード41−1に配信テーブルを作
成し、その後のクライアント42−2からの受信要求パ
ケットにより、図22に示すように、クライアント42
−2が中継ノード41−1の配信テーブルに登録され、
中継ノード41−1は中継ノード41−2に登録され
る。
Then, as shown in FIG. 20, when a reception request packet is sent from the client 42-2,
Since the relay node 41-1 does not have a distribution table, it is transferred to the server 43. When the reception request packet arrives at the relay node 41-2, since the relay node 41-2 has a distribution table, the distribution table generation packet is sent from the relay node 41-2 to the client 42-2. As shown in FIG. 21, the distribution table generation packet creates a distribution table in the relay node 41-1 and the subsequent reception request packet from the client 42-2 causes the client 42 to generate a distribution table as shown in FIG.
-2 is registered in the distribution table of the relay node 41-1,
The relay node 41-1 is registered in the relay node 41-2.

【0105】受信要求パケットにより経路情報が蓄えら
れ、サーバーまたは中継ノードからクライアントに送出
される配信テーブル生成パケットが、上記経路情報を逆
に辿るのは、次の理由による。もし、クライアントから
サーバーに至る経路とサーバーからクライアントに至る
経路とが異なる場合、配信テーブル生成パケットが単純
にクライアントに向けて送出された場合、配信テーブル
はクライアントからサーバーに至る経路とは異なる経路
に作られることになる。この場合、配信テーブルが作ら
れた中継ノードには、受信要求パケットが到着しないた
め、すぐにタイムアウトすることになる。また、受信要
求パケットは、常に配信テーブル生成パケットを送出し
た中継ノードまたはサーバーまで転送されることにな
る。このため、データパケットがいつまで経っても到着
しないことになる。
The route information is stored by the reception request packet, and the distribution table generation packet sent from the server or the relay node to the client traces the above route information in reverse, for the following reason. If the route from the client to the server and the route from the server to the client are different, if the distribution table generation packet is simply sent to the client, the distribution table will be different from the route from the client to the server. Will be made. In this case, since the reception request packet does not arrive at the relay node in which the distribution table is created, the reception node will time out immediately. Further, the reception request packet is always transferred to the relay node or server that has sent the distribution table generation packet. As a result, the data packet will never arrive.

【0106】実施の形態2も実施の形態1と同様、クラ
イアントやサーバーが移動端末の場合も有用である。ク
ライアントが移動端末である場合、クライアントは受信
要求パケットを出し続けることによって新しく収容され
る中継ノードに登録され、また、これまで収容されてい
た中継ノードではタイムアウトする。逆にサーバーが移
動体である場合、mobile IP等の移動体宛のユニキャス
トを可能にする仕組みがあれば、サーバー宛に送出され
た受信要求パケットは、常にサーバーが実際に存在する
位置に送られる。このため、新たに受信要求パケットを
受信するようになった中継ノードには配信テーブルが作
られ、受信要求パケットが到着しなくなった中継ノード
の配信テーブルはタイムアウトする。
Like the first embodiment, the second embodiment is also useful when the client or server is a mobile terminal. When the client is a mobile terminal, the client is registered in the newly accommodated relay node by continuously issuing the reception request packet, and the relay node that has been accommodated so far times out. Conversely, when the server is a mobile unit, if there is a mechanism that enables unicast to the mobile unit such as mobile IP, the reception request packet sent to the server is always sent to the position where the server actually exists. To be For this reason, a distribution table is created in the relay node that has newly received the reception request packet, and the distribution table of the relay node in which the reception request packet has stopped arriving times out.

【0107】具体的な実装例を示す。受信要求パケット
は、ツリーID Nと、ソース(送信元)アドレスS
と、ソース(送信元)側隣接ノードアドレスPと、ソー
スから現ノードまでの経路情報Qを持っている。クライ
アントは、S及びPをクライアントアドレス、Q=Sと
して、受信要求パケットをサーバーに向かって送出す
る。受信要求パケットが中継ノードに到着した時、既に
ツリーID Nに対応する配信テーブルがある場合、S
=PならばSを登録し、S≠PならばSに向かってQを
含む配信テーブル作成パケットを送出する。
A specific implementation example will be shown. The reception request packet has a tree ID N and a source (source) address S.
And source (source) side adjacent node address P and route information Q from the source to the current node. The client sends a reception request packet to the server with S and P as client addresses and Q = S. If the distribution table corresponding to the tree ID N already exists when the reception request packet arrives at the relay node, S
= P, S is registered, and if S ≠ P, a distribution table creation packet including Q is sent toward S.

【0108】ツリーID Nに対応する配信テーブルが
ない場合、Pを現中継ノードのアドレスに変え、Qに現
中継ノードを加えて受信要求パケットを転送する。サー
バーまで受信パケットが到着した場合は、上記中継ノー
ドの処理のうち、配信テーブルがある場合と同じ処理を
行う。
When there is no distribution table corresponding to the tree ID N, P is changed to the address of the current relay node, the current relay node is added to Q, and the reception request packet is transferred. When the received packet arrives at the server, the same processing as that in the case where there is a distribution table is performed in the processing of the relay node.

【0109】受信要求パケットが中継ノードに到着した
時の処理フローを図23に示す。但し、図23中の時間
間隔Dは実施の形態1の場合と同様に定義する。また、
図23中の高負荷時の処理は図13と同じである。配信
テーブル生成パケットが中継ノードに到着した時の処理
フローを図24に示す。
FIG. 23 shows a processing flow when the reception request packet arrives at the relay node. However, the time interval D in FIG. 23 is defined as in the case of the first embodiment. Also,
The processing when the load is high in FIG. 23 is the same as that in FIG. FIG. 24 shows a processing flow when the delivery table generation packet arrives at the relay node.

【0110】本実施の形態では、受信要求パケットを送
信したホストとデータパケットを送信したホストとを結
ぶパス上に存在する中継ノードにのみ配信テーブルが生
成されるようになっている。このため、適当なアドレス
を宛先アドレスとして配信テーブル生成パケットを送出
しても、この宛先アドレスに対応するノードが実際に存
在しなければ配信テーブルが生成されることはない。し
たがって、ネットワーク内ノードのアドレスを隠蔽して
おけば、配信テーブル生成パケットのみを用いてノード
に無用な配信テーブルを作成させることは困難になる。
また、配信テーブル生成パケット以外のパケットは配信
テーブルの生成機能を持たないので、当然ながら配信テ
ーブルが中継ノードに生成されることはない。さらに、
たとえ、配信テーブル生成パケットを送出するホストと
受信要求パケットを送出するホストを用意し、これらホ
ストが互いに協力し合って無用なテーブルを両者の間に
あるノードに生成させようとしても効果的な攻撃を行う
ことは難しい。
In the present embodiment, the distribution table is generated only in the relay node existing on the path connecting the host that transmitted the reception request packet and the host that transmitted the data packet. Therefore, even if the distribution table generation packet is transmitted with an appropriate address as the destination address, the distribution table is not generated unless the node corresponding to this destination address actually exists. Therefore, if the addresses of the nodes in the network are hidden, it becomes difficult for the node to create a useless distribution table using only the distribution table generation packet.
Also, since packets other than the distribution table generation packet do not have a distribution table generation function, the distribution table is not naturally generated in the relay node. further,
Even if a host that sends a distribution table generation packet and a host that sends a reception request packet are prepared, and these hosts cooperate with each other to cause a node between them to generate a useless table, an effective attack Is difficult to do.

【0111】〔実施の形態3〕実施の形態3では、クラ
イアントから送出されるのが受信要求パケットのみであ
り、かつ、サーバーの指定間違いが起こり得る時にも対
応できる他の実施の形態を示す。
[Third Embodiment] The third embodiment shows another embodiment in which only the reception request packet is transmitted from the client, and the server can cope with a case where a server designation error may occur.

【0112】本実施の形態では、クライアントが受信要
求パケットを送出し、中継ノードに到着した時、配信テ
ーブルがなければ、送信元を現中継ノードに変えてサー
バー宛に転送を行い、配信テーブルがあれば、送信元を
登録する。サーバーから送出されたデータパケットは、
中継ノードに到着すると、その中継ノードに配信テーブ
ルがない場合は空の配信テーブルを生成して消滅し、配
信テーブルがある場合は実施の形態1の場合と同様にタ
イムアウトしていない子に対して、必要ならば複製し
て、データパケットを転送する。
In this embodiment, when the client sends the reception request packet and arrives at the relay node, if there is no distribution table, the source is changed to the current relay node and the packet is transferred to the server. If there is, register the sender. The data packet sent from the server is
Upon arrival at the relay node, if there is no distribution table in the relay node, an empty distribution table is generated and disappears, and if there is a distribution table, for children that have not timed out as in the first embodiment. , Duplicate if necessary, and transfer the data packet.

【0113】データパケットによって空の配信テーブル
が生成された後に到着した受信要求パケットにより、ク
ライアントからこの中継ノードに至るパス上のクライア
ント側隣接ノードが配信テーブルに登録される。なぜな
ら、到着した受信要求パケットの送信元アドレスは、上
記クライアント側隣接ノードであるからである。この後
に到着したデータパケットにより、上記クライアント側
隣接ノードにデータパケットが配送され、その結果、上
記クライアント側隣接ノードに空の配信テーブルが生成
される。
The reception request packet that arrives after the empty distribution table is generated by the data packet causes the client side adjacent node on the path from the client to this relay node to be registered in the distribution table. This is because the source address of the received reception request packet is the client side adjacent node. The data packet arriving after this delivers the data packet to the client side adjacent node, and as a result, an empty distribution table is generated in the client side adjacent node.

【0114】このように、サーバーからクライアントに
向かって配信テーブルが生成されていき、やがてクライ
アントにデータパケットが配送されるようになる。
In this way, the distribution table is created from the server to the client, and eventually the data packet is distributed to the client.

【0115】図25はマルチキャスト通信が行われるネ
ットワーク構成の一例、ここでは4つの中継ノード51
−1,51−2,51−3,51−4に5つの受信ホス
ト(以下、クライアントと呼ぶ)52−1,52−2,
52−3,52−4,52−5及び1つの送信ホスト5
3(以下、サーバーと呼ぶ)がネットワークを介して接
続されている状態を示している。
FIG. 25 is an example of a network configuration in which multicast communication is performed, in this case, four relay nodes 51.
-1, 51-2, 51-3, 51-4 have five receiving hosts (hereinafter, referred to as clients) 52-1, 52-2,
52-3, 52-4, 52-5 and one sending host 5
3 (hereinafter referred to as a server) is connected via a network.

【0116】図25の構成において、例えば、クライア
ント52−3から受信要求パケットが送出されると、こ
のパケットは各中継ノードでその送信元アドレスを変更
されながらサーバー53まで転送される。サーバー53
は到着した受信要求パケットの送信元が中継ノード51
−2なので、図26に示すように、中継ノード51−2
宛にデータパケットを送出する。データパケットが到着
すると、中継ノード51−2には配信テーブルがないの
で、空の配信テーブルが生成される。
In the configuration of FIG. 25, for example, when a reception request packet is sent from the client 52-3, this packet is transferred to the server 53 while changing its source address at each relay node. Server 53
Indicates that the source of the received reception request packet is the relay node 51.
-2, so as shown in FIG. 26, the relay node 51-2
Sends a data packet to the destination. When the data packet arrives, an empty distribution table is generated because the relay node 51-2 has no distribution table.

【0117】その後、到着する受信要求パケットによ
り、図27に示すように中継ノード51−2の配信テー
ブルには、送信元である、中継ノード51−3が登録さ
れる。その後、データパケットは、図28に示すよう
に、中継ノード51−2の配信テーブルに基づいて中継
ノード51−3へ送出される。
After that, the arriving reception request packet causes the relay node 51-3, which is the transmission source, to be registered in the distribution table of the relay node 51-2 as shown in FIG. Then, as shown in FIG. 28, the data packet is sent to the relay node 51-3 based on the distribution table of the relay node 51-2.

【0118】同様に中継ノード51−3でも空の配信テ
ーブルが作られた後、図29に示すように、受信要求パ
ケットによりクライアント52−3が登録され、最後に
は、データパケットがクライアント52−3に配送され
る。
Similarly, after the empty distribution table is created in the relay node 51-3 as well, as shown in FIG. 29, the client 52-3 is registered by the reception request packet, and finally the data packet is transferred to the client 52-. 3 will be delivered.

【0119】クライアントからサーバーに向かう経路と
サーバーからクライアントに向かう経路とが異なる場
合、配信テーブルは常にクライアントからサーバーへ向
かう経路上に作られ、データパケットもその経路上を通
過するため、配信テーブルが作られる中継ノードまたは
サーバーと、受信要求パケットが到着する中継ノードま
たはサーバーとが異なるようなことは起こらない。経路
情報を持たない配信テーブル生成パケット(本実施の形
態ではデータパケットに等しい)を単純にクライアント
に向けて送出した場合、宛先アドレスが中継ノードに変
更されることはないので、配信テーブルはどの中継ノー
ドにもつくられない。
If the route from the client to the server and the route from the server to the client are different, the distribution table is always created on the route from the client to the server, and the data packet also passes on that route. It does not happen that the relay node or server created is different from the relay node or server to which the receive request packet arrives. When a distribution table generation packet having no route information (equal to a data packet in this embodiment) is simply sent to the client, the destination address is not changed to the relay node. I can't make it in a node.

【0120】実施の形態3も実施の形態1と同様、クラ
イアントやサーバーが移動端末の場合も有用である。ク
ライアントが移動端末である場合、クライアントは受信
要求パケットを出し続けることによって新しく収容され
る中継ノードに登録され、また、これまで収容されてい
た中継ノードではタイムアウトする。逆にサーバーが移
動体である場合、mobile IP等の移動体宛のユニキャス
トを可能にする仕組みがあれば、サーバー宛に送出され
た受信要求パケットは、常にサーバーが実際に存在する
位置に送られる。このため、新たに受信要求パケットを
受信するようになった中継ノードには配信テーブルが作
られ、受信要求パケットが到着しなくなった中継ノード
の配信テーブルはタイムアウトする。
Like the first embodiment, the third embodiment is also useful when the client and server are mobile terminals. When the client is a mobile terminal, the client is registered in the newly accommodated relay node by continuously issuing the reception request packet, and the relay node that has been accommodated so far times out. Conversely, when the server is a mobile unit, if there is a mechanism that enables unicast to the mobile unit such as mobile IP, the reception request packet sent to the server is always sent to the position where the server actually exists. To be For this reason, a distribution table is created in the relay node that has newly received the reception request packet, and the distribution table of the relay node in which the reception request packet has stopped arriving times out.

【0121】受信要求パケット及びデータパケットが中
継ノードに到着した場合の処理フローをそれぞれ、図3
0及び図31に示す。図30における高負荷時の処理
は、図13と同じである。図31中のエントリ削除操作
は図15と同じである。但し、図31中のXは固定的に
与えられる場合を仮定している。
FIG. 3 shows the processing flow when the reception request packet and the data packet arrive at the relay node.
0 and FIG. The processing when the load is high in FIG. 30 is the same as that in FIG. The entry deletion operation in FIG. 31 is the same as that in FIG. However, it is assumed that X in FIG. 31 is fixedly given.

【0122】実施の形態1と同様に、本実施の形態で
も、受信要求パケット,データパケットを転送するにあ
たり、親ノードあるいは子の先にどれだけのノードが接
続されているかを意識する必要がないため、スケーラビ
リティの点で優れている。
Similar to the first embodiment, also in the present embodiment, when transferring the reception request packet and the data packet, it is not necessary to be aware of how many nodes are connected to the parent node or the child. Therefore, it is superior in terms of scalability.

【0123】また本実施の形態では、実施の形態2と同
様に、受信要求パケットを送信したホストとデータパケ
ットを送信したホストとを結ぶパス上に存在する中継ノ
ードにのみ配信テーブルが生成されるようになってい
る。したがって、実施の形態2と同様に、ネットワーク
内のノードのアドレスを隠蔽しておくことにより、配信
テーブル生成パケットを送出するホストと受信要求パケ
ットを送出するホストとが協力しない限り、ノードに無
用なテーブルが作られることはない。加えて、本実施の
形態によれば、たとえ受信要求パケットをサーバ側で覗
き見たとしても、サーバに隣接するノードを知ることが
できるのみであり、当該隣接ノード以外のネットワーク
内のノードのアドレスを知り得ない。このため、実施の
形態2に比べてさらに安全なセキュリティを提供するこ
とができる。
Further, in the present embodiment, as in the second embodiment, the distribution table is generated only in the relay node existing on the path connecting the host that transmitted the reception request packet and the host that transmitted the data packet. It is like this. Therefore, as in the second embodiment, by hiding the addresses of the nodes in the network, unless the host that sends the distribution table generation packet and the host that sends the reception request packet cooperate with each other, the node is useless. No table is ever made. In addition, according to the present embodiment, even if the server side peeks at the reception request packet, it is only possible to know the node adjacent to the server, and the address of the node in the network other than the adjacent node. I don't know Therefore, safer security can be provided as compared with the second embodiment.

【0124】〔ノードの構成〕図32は実施の形態1、
2及び3に共通のクライアントの構成を示すもので、図
中、61は時計、62はパケット生成手段、63は送信
手段、64は受信手段、65は映像復号手段、66は映
像表示手段である。
[Node Configuration] FIG. 32 shows the configuration of the first embodiment.
2 and 3 show a common client configuration, in which 61 is a clock, 62 is a packet generating means, 63 is a transmitting means, 64 is a receiving means, 65 is a video decoding means, and 66 is a video display means. .

【0125】クライアントでは、パケット生成手段62
が時計61を用いて定期的に受信要求パケットを生成
し、送信手段63によってサーバーへ向けて送信する。
また、受信手段64によってデータパケットを受けとる
と、映像復号手段65によってデータパケットにより運
ばれてきた映像データを復号し、映像表示手段66によ
って映像を表示する。
At the client, the packet generation means 62
Periodically generates a reception request packet using the clock 61 and transmits it to the server by the transmission means 63.
When the receiving means 64 receives the data packet, the video decoding means 65 decodes the video data carried by the data packet, and the video display means 66 displays the video.

【0126】なお、特に実施の形態1のクライアントの
場合、パケット生成手段62を用いてサーバー確認パケ
ットを生成し、送信手段63によってサーバーへ向けて
送信し、その応答パケットを受信手段64によって受信
した場合のみ、前述した受信要求パケットの生成及び送
信を行う。
In the case of the client according to the first embodiment, in particular, the packet generation means 62 is used to generate a server confirmation packet, the transmission means 63 transmits it to the server, and the response packet is received by the reception means 64. Only in this case, the reception request packet described above is generated and transmitted.

【0127】図33は実施の形態1、2及び3に共通の
中継ノードの構成を示すもので、図中、71は時計、7
2はノード負荷測定手段、73は配信テーブル、74は
配信テーブル管理手段、75はパケット生成手段、76
は送信手段、77は受信手段、78はパケット複製手段
である。
FIG. 33 shows the structure of a relay node common to the first, second and third embodiments. In the figure, 71 is a clock and 7 is a clock.
2 is a node load measuring means, 73 is a distribution table, 74 is a distribution table managing means, 75 is a packet generating means, and 76 is a packet generating means.
Is a transmitting means, 77 is a receiving means, and 78 is a packet copying means.

【0128】中継ノードは、受信要求パケットを受信手
段77によって受信すると、ノード負荷測定手段72に
よって測定した負荷状態により、負荷が高くない場合は
時計71を参照し、配信テーブル管理手段74により、
図12(実施の形態1の場合)、図23(実施の形態2
の場合)、図30(実施の形態3の場合)に示したよう
に配信テーブルを更新し、(必要があれば)パケット生
成手段75によって新たに受信要求パケットを生成し、
送信手段76によってサーバーへ向けて送信する。ま
た、データパケットを受信手段77によって受信する
と、図14(実施の形態1、2の場合)、図31(実施
の形態3の場合)に示したように該データパケットの属
するツリーに対応する配信テーブルに登録されている子
の数だけ、パケット複製手段78によりデータパケット
を複製し、送信手段76によって各子へ送信する。
When the relay node receives the reception request packet by the receiving means 77, the relay node refers to the clock 71 when the load is not high depending on the load state measured by the node load measuring means 72, and the distribution table managing means 74
12 (in the case of the first embodiment) and FIG. 23 (in the second embodiment)
30), the distribution table is updated as shown in FIG. 30 (in the case of the third embodiment), and the packet generation means 75 (if necessary) newly generates a reception request packet,
The transmitting means 76 transmits it to the server. When the data packet is received by the receiving means 77, the distribution corresponding to the tree to which the data packet belongs as shown in FIG. 14 (cases of the first and second embodiments) and FIG. 31 (case of the third embodiment). The packet duplication unit 78 duplicates the data packet by the number of children registered in the table, and the transmission unit 76 transmits the data packet to each child.

【0129】なお、配信テーブル73の生成は、配信テ
ーブル管理手段74により、図12(実施の形態1の場
合)、図24(実施の形態2の場合)、図31(実施の
形態3の場合)に示したように行われ、また、配信テー
ブル73及びそのエントリの削除は、配信テーブル管理
手段74により、図14(実施の形態1、2の場合)、
図31(実施の形態3の場合)に示したように行われ
る。
The distribution table 73 is generated by the distribution table management means 74 as shown in FIG. 12 (in the case of the first embodiment), FIG. 24 (in the case of the second embodiment), and FIG. 31 (in the case of the third embodiment). ), And deletion of the distribution table 73 and its entries is performed by the distribution table management means 74 in FIG. 14 (in the case of the first and second embodiments).
It is performed as shown in FIG. 31 (in the case of the third embodiment).

【0130】図34は実施の形態1、2及び3に共通の
サーバーの構成を示すもので、図中、81は時計、82
は配信テーブル、83は配信テーブル管理手段、84は
パケット生成手段、85は送信手段、86は受信手段、
87はパケット複製手段、88は配信用データ蓄積手段
である。
FIG. 34 shows the structure of a server common to the first, second and third embodiments. In the figure, 81 is a clock and 82 is a clock.
Is a distribution table, 83 is a distribution table management means, 84 is a packet generation means, 85 is a transmission means, 86 is a reception means,
87 is a packet duplicating means, and 88 is a distribution data accumulating means.

【0131】サーバーは、中継ノードと同様に、受信要
求パケットの送信元及び受信要求パケットの到着時刻を
配信テーブル82に記憶する。この配信テーブル82へ
の削除・更新・登録などの管理は、配信テーブル管理手
段83が行う。サーバーは、配信用データ蓄積手段88
に蓄積してある配信用データをパケット生成手段84を
用いてパケット化し、配信テーブル82に登録されてい
るタイムアウトしていない子の数だけ、パケット複製手
段87を用いて複製を作り、送信手段85を用いてこれ
らの子に送信する。
As with the relay node, the server stores the sender of the reception request packet and the arrival time of the reception request packet in the distribution table 82. The distribution table managing means 83 manages deletion, update, registration, etc. in the distribution table 82. The server uses the distribution data storage means 88.
The distribution data stored in the packet is packetized using the packet generation means 84, and the packet duplication means 87 is used to duplicate the number of unregistered children registered in the delivery table 82. To send to these children.

【0132】なお、特に実施の形態2のサーバーの場
合、配信テーブル生成パケットはパケット生成手段84
により生成され、送信手段85により送信される。
In the case of the server according to the second embodiment, the distribution table generation packet is the packet generation means 84.
And is transmitted by the transmitting means 85.

【0133】〔パケットフォーマット〕次に、上述した
実施の形態1乃至3に係るパケットのフォーマットにつ
いて説明し、その前提としてフロー識別についても説明
する。
[Packet Format] Next, the packet format according to the above-described first to third embodiments will be described, and the flow identification will be described as a premise.

【0134】ネットワーク内では様々なパケットが混在
して転送されるため、本発明の各実施の形態に特有のパ
ケット(受信要求パケット,データパケット,配信テー
ブル生成パケット,サーバ確認パケット)をクライアン
ト,中継ノード,サーバが識別するためのフロー識別を
行う必要がある。フロー識別を実現するには種々の手法
が考えられるが、一例としてここでは特定ポート(well-
known portと呼ぶ)を用いた場合を例に挙げる。同様の
手法としては、ポート80を利用したHTTP(Hyper T
ext Transfer Protocol)が良く知られている。
Since various packets are mixed and transferred in the network, the packets (reception request packet, data packet, distribution table generation packet, server confirmation packet) peculiar to each embodiment of the present invention are relayed by the client and relay. It is necessary to identify the flow so that the node and server can identify it. Although various methods can be considered to realize flow identification, here, as an example, a specific port (well-
The case of using a known port) is taken as an example. As a similar method, HTTP (Hyper T
ext Transfer Protocol) is well known.

【0135】ここではプロトコルとしてUDP(User Da
tagram Protocol)を想定する。フロー識別のために予め
特定ポートを決めておき、パケットのポート番号を参照
してこの特定ポートを宛先とするパケットを本発明の各
実施の形態に特有のパケットとして識別する。図35は
サーバ101,中継ノード102及び103,クライア
ント104及び105を含むネットワークにおける特定
ポートを用いたフロー識別の様子を示す図である。同図
では、受信要求パケットのソースポートとデータパケッ
トの受信ポートが等しい場合について示してある。ま
た、サーバ101のアドレスをS,中継ノード102及
び103のアドレスをそれぞれA及びB、クライアント
104及び105のアドレスをそれぞれC1及びC2と
している。
Here, UDP (User Data) is used as the protocol.
tagram Protocol) is assumed. A specific port is determined in advance for flow identification, and a packet addressed to this specific port is identified by referring to the port number of the packet as a packet peculiar to each embodiment of the present invention. FIG. 35 is a diagram showing a state of flow identification using a specific port in a network including the server 101, the relay nodes 102 and 103, and the clients 104 and 105. The figure shows the case where the source port of the reception request packet and the reception port of the data packet are the same. The address of the server 101 is S, the addresses of the relay nodes 102 and 103 are A and B, and the addresses of the clients 104 and 105 are C1 and C2, respectively.

【0136】受信要求パケットは宛先アドレスとしてア
ドレスS,宛先ポートとして上記特定ポートであるP
w,ソースアドレスとしてX(ここではA,B,C1,
C2のいずれか),ソースポートとしてPx(ここでは
ソースアドレスXに対応してPa,Pb,Pc1,Pc
2のいずれか)を持つ。また、データパケットは宛先ア
ドレスとしてアドレスX,宛先ポートとしてPx,ソー
スアドレスとしてS,ソースポートとしてPsを持つ。
なお、データパケットのソースアドレスがサーバ101
のアドレスとなっているのは、配信テーブルがサーバ毎
に生成されるために、中継ノードは各配信テーブルがど
のサーバに対応するのかをデータパケットのソースアド
レスを見て判断するためである。また、各中継ノード1
02,103が備える配信テーブル106,107に
は、受信要求パケットのソースポートと同一の値が格納
される受信ポートのフィールドが、受信要求パケットの
送信元(図中では「子」)及び到着時刻の各フィールド
と組にされて登録される。
The reception request packet has the address S as the destination address and the specific port P as the destination port.
w, X as a source address (here, A, B, C1,
C2), Px as a source port (here, Pa, Pb, Pc1, Pc corresponding to the source address X)
2). The data packet has an address X as a destination address, Px as a destination port, S as a source address, and Ps as a source port.
The source address of the data packet is the server 101
Since the distribution table is generated for each server, the relay node determines which server each distribution table corresponds to by looking at the source address of the data packet. Also, each relay node 1
In the distribution tables 106 and 107 provided in 02 and 103, the fields of the reception port in which the same value as the source port of the reception request packet is stored are the transmission source (“child” in the figure) of the reception request packet and the arrival time. Are registered in pairs with each field.

【0137】各クライアント及び各中継ノードは、受信
要求パケットの宛先ポートを上記特定ポートとして、デ
ータパケットを受信したいポートから当該受信要求パケ
ットをサーバ101宛てにユニキャストで送出する。例
えば、クライアントC1が送出する受信要求パケットの
ソースアドレスはC1,ソースポートはPc1であり、
宛先アドレス及び宛先ポートは上述した通りである。
Each client and each relay node use the destination port of the reception request packet as the specific port and transmit the reception request packet from the port desiring to receive the data packet to the server 101 by unicast. For example, the source address of the reception request packet sent by the client C1 is C1, the source port is Pc1, and
The destination address and the destination port are as described above.

【0138】受信要求パケットが到着した中継ノードで
は、受信要求パケットのソースアドレス及びソースポー
トを配信テーブルに記録する。また、中継ノードは配信
テーブルを参照して、タイムアウトしてない各子の受信
ポートに宛ててソースアドレス及びソースポートの組を
宛先としたデータパケットをユニキャストする。例え
ば、中継ノード103はクライアント104からの受信
要求パケットに基づいてソースアドレスC1,ソースポ
ートPc1,到着時刻10:23:09を組にして配信
テーブル107に登録する。また中継ノード103は、
宛先アドレス,宛先ポートをそれぞれC1,Pc1と
し、ソースアドレス及びソースポートとしてサーバ10
1側から送られたそのまま値S,Psを持つデータパケ
ットをクライアント104に宛てて送出する。
The relay node to which the reception request packet arrives records the source address and the source port of the reception request packet in the distribution table. Further, the relay node refers to the distribution table and unicasts a data packet addressed to the reception port of each child that has not timed out and the destination of which is a set of the source address and the source port. For example, the relay node 103 registers the source address C1, the source port Pc1, and the arrival time 10:23:09 as a set in the distribution table 107 based on the reception request packet from the client 104. Also, the relay node 103
The destination address and the destination port are C1 and Pc1, respectively, and the server 10 is the source address and the source port.
The data packet having the values S and Ps as it is sent from the first side is sent to the client 104.

【0139】また、中継ノードが受信要求パケットを親
ノードに送出する場合はクライアントの場合と同様であ
る。例えば、中継ノード103が送出する受信要求パケ
ットでは、宛先アドレス及び宛先ポートはそれぞれ常に
S,Pwであり、ソースアドレスはBであり,ソースポ
ートは任意のポート(例えばPb)である。これは、受
信要求パケットのみが宛先(サーバー)アドレスとは異
なるアドレスを持つ中継ノードで処理される必要がある
からである。ただし、ソースポートをPwにした場合、宛
先ポートがPwであるデータパケットがネットワーク中を
流れることになるが、宛先とは違う中継ノードではデー
タパケットを処理しないようにする必要がある。また、
受信要求パケットが到着したサーバ101は、ソースア
ドレス及びソースポートがそれぞれS,Psであり、宛
先アドレス及び宛先ポートがそれぞれ中継ノード102
からの受信要求パケットのソースアドレスA及びソース
ポートPaに等しいデータパケットを送出する。
Further, the case where the relay node sends the reception request packet to the parent node is the same as the case of the client. For example, in the reception request packet sent by the relay node 103, the destination address and the destination port are always S and Pw, the source address is B, and the source port is an arbitrary port (for example, Pb). This is because only the reception request packet needs to be processed by the relay node having an address different from the destination (server) address. However, if the source port is set to Pw, a data packet whose destination port is Pw will flow in the network, but it is necessary to prevent the data packet from being processed by a relay node different from the destination. Also,
In the server 101 to which the reception request packet arrives, the source address and the source port are S and Ps, respectively, and the destination address and the destination port are the relay node 102, respectively.
The data packet equal to the source address A and the source port Pa of the reception request packet from is transmitted.

【0140】なお、あるホスト上に複数のサーバを立ち
上げて複数種類のストリームを同時並行的に配信するよ
うな形態を採ることも考えられる。ここで、上述した通
りフロー識別に特定ポートであるwell-known portを用
いているため、ポートに基づいて同一ホスト上の各サー
バを区別することはできない。そこで、チャネルIDと
呼ぶ情報を新たに設けて同一ホスト上の複数のサーバを
識別する。このチャネルIDは同一ホスト上において一
意な値に設定する必要があるが、異なるホスト間では必
ずしも一意である必要はない。こうしてサーバアドレス
とチャネルIDとを組にして用いることでサーバ及びマ
ルチキャストツリーを一意に特定することができる。換
言すれば、各中継ノードにはサーバアドレス及びチャネ
ルIDの組毎に配信テーブルがそれぞれ生成されること
になる。なお、チャネルIDは例えばパケットのペイロ
ードに載せれば良い。
It is also possible to adopt a mode in which a plurality of servers are set up on a certain host and a plurality of types of streams are simultaneously and simultaneously distributed. Here, since the well-known port which is a specific port is used for flow identification as described above, it is not possible to distinguish each server on the same host based on the port. Therefore, information called a channel ID is newly provided to identify a plurality of servers on the same host. This channel ID needs to be set to a unique value on the same host, but does not necessarily have to be unique between different hosts. In this way, the server and the multicast tree can be uniquely specified by using the server address and the channel ID in combination. In other words, a distribution table is generated for each relay node for each set of server address and channel ID. The channel ID may be placed in the payload of the packet, for example.

【0141】次に、いま述べたフロー識別を前提とした
パケットフォーマットについて説明する。図36は受信
要求パケットのフォーマットの一例を示したものであ
り、宛先(サーバ)アドレス111,宛先(サーバ)ポ
ート112,送信元アドレス113,送信元ポート11
4,チャネルID115,高さ116の各フィールドか
ら構成される。宛先アドレス111〜チャネルID11
5は前述した通りである。高さ116は、実施の形態1
で説明したように、中継ノードがマルチキャストツリー
上における高さhを知るために用いられる。なお、図3
5を参照して説明したように、宛先アドレス111,宛
先ポート112は常にサーバに宛てたものとなる。
Next, the packet format based on the flow identification just described will be described. FIG. 36 shows an example of the format of the reception request packet. The destination (server) address 111, the destination (server) port 112, the source address 113, and the source port 11 are shown.
4, channel ID 115, and height 116 fields. Destination address 111 to channel ID 11
5 is as described above. The height 116 is the same as in the first embodiment.
As described above, the relay node is used to know the height h on the multicast tree. Note that FIG.
As described with reference to FIG. 5, the destination address 111 and the destination port 112 are always addressed to the server.

【0142】次に、図37はデータパケットのフォーマ
ットの一例を示したものであって、宛先アドレス12
1,宛先ポート122,送信元(サーバ)アドレス12
3,送信元(サーバ)ポート124,チャネルID12
5,データ126の各フィールドから構成される。宛先
アドレス121〜チャネルID125は前述した通りで
ある。データ126は配信されるストリーム(コンテン
ツ)である。なお、図35を参照して説明したように、
送信元アドレス123,送信元ポート124は常にサー
バのものとなる。 〔応用例〕
Next, FIG. 37 shows an example of the format of the data packet.
1, destination port 122, source (server) address 12
3, source (server) port 124, channel ID 12
5, each field of data 126. The destination address 121 to the channel ID 125 are as described above. The data 126 is a stream (content) to be distributed. As described with reference to FIG. 35,
The source address 123 and the source port 124 always belong to the server. [Application example]

【0143】次に、上述した実施の形態1ないし実施の
形態3で説明したマルチキャスト通信に対し、付加機能
としてのデータ変換機能を追加した応用例について説明
する。ここで言うデータ変換とは、複数の中継ノードに
よるストリーム等のコンテンツの中継過程においてコン
テンツデータの一部又は全部に何らかの変更を行うこと
を意味する。具体的には、コンテンツデータに対して広
告データを付加する機能,コンテンツデータに付加され
ている広告データを別の広告データに差し替える機能,
コンテンツデータのデータ形式をある形式から別の形式
に変換する機能等である。
Next, an application example in which a data conversion function as an additional function is added to the multicast communication described in the above-described first to third embodiments will be described. The data conversion referred to here means that some or all of the content data is changed in the process of relaying a content such as a stream by a plurality of relay nodes. Specifically, a function of adding advertisement data to the content data, a function of replacing the advertisement data added to the content data with another advertisement data,
It has a function of converting the data format of the content data from one format to another.

【0144】従来、マルチキャストツリー形のネットワ
ークを介して、サーバからクライアントに対して例えば
広告付きのストリームデータを配信する場合、そのサー
バにおいて、配信しようとするストリームデータに所要
の広告データを事前に付加したものを用意し、これを各
クライアントに向け配信する手法が一般に採用されてい
た。
Conventionally, when, for example, stream data with an advertisement is distributed from a server to a client via a multicast tree type network, required advertisement data is added to the stream data to be distributed in advance in the server. Generally, a method of preparing the prepared item and delivering it to each client is adopted.

【0145】以上のような手法を採用した場合、ストリ
ームデータに各クライアント(ユーザ)の嗜好に合った
広告データを付加しておくことで、それら各クライアン
トに対し、より効果の高い広告を提示することが可能と
なるが、その一方で、存在する各クライアントの嗜好の
種類に応じた多数の広告付きストリームデータを用意し
ておかなければならないため、サーバの負荷が増加して
そのスケーラビリティが低下するなどの問題が指摘され
ていた。
In the case of adopting the above-mentioned method, the advertisement data which suits the taste of each client (user) is added to the stream data to present a more effective advertisement to each client. However, on the other hand, since it is necessary to prepare a large number of stream data with advertisements according to the type of taste of each existing client, the load on the server increases and its scalability decreases. Such problems were pointed out.

【0146】こうした問題に対処するため、近年、種々
の手法が提案されており、例えば、特開2000−29
712号公報には、ゲームプログラムをサーバからダウ
ンロードする際に、各地のゲームセンタなどに設置され
た端末局において、広告を選択的に付加する手法が開示
されている。
In order to deal with such a problem, various techniques have been proposed in recent years, for example, Japanese Patent Laid-Open No. 2000-29.
Japanese Laid-Open Patent Publication No. 712 discloses a method of selectively adding an advertisement at a terminal station installed in a game center or the like when downloading a game program from a server.

【0147】また、本願出願人による特開平11−13
4353号公報には、ネットワーク内に設置された広告
付加サーバが、クライアントからのデータ取得要求に伴
ってサーバからストリームデータを取得し、当該ストリ
ームデータにクライアントの嗜好に合った広告データを
統計的に付加したものを、その取得要求を行ったクライ
アントに返送する手法が開示されている。
Further, Japanese Patent Laid-Open No. 11-13 filed by the applicant of the present application
In Japanese Patent No. 4353, an advertisement addition server installed in a network acquires stream data from the server in response to a data acquisition request from the client, and statistically displays the advertisement data matching the client's taste in the stream data. A method is disclosed in which the added one is returned to the client making the acquisition request.

【0148】しかしながら、上述した端末局において広
告を選択的に付加する手法では、広告付加処理の負荷分
散を行おうとする場合には、それを存在する端末局ごと
に行わなければならず、クライアントの数が動的に増減
した場合には対処できないという問題があった。
However, in the above-mentioned method of selectively adding an advertisement in the terminal station, when attempting to distribute the load of the advertisement adding process, this must be performed for each existing terminal station, There was a problem that it could not be dealt with when the number dynamically increased or decreased.

【0149】また、広告付加サーバを用いて所要の広告
付きストリームデータを得る手法では、クライアント
は、サーバではなく代理サーバにデータ取得要求を行う
必要があるため、その広告付加サーバに負荷が集中する
という問題があった。
Further, in the method of obtaining the required stream data with an advertisement using the advertisement addition server, the client needs to make a data acquisition request to the proxy server instead of the server, so the load concentrates on the advertisement addition server. There was a problem.

【0150】このほか、クライアントの嗜好に合わせた
広告配信に関する技術を開示した文献として特開200
1−306611公報がある。この文献では嗜好管理サ
ーバ,顧客管理サーバ,広告管理サーバに蓄積された情
報に基づいて各ユーザに配信する広告を決定し、ユーザ
の嗜好に合わせて広告を配信している。しかし、この文
献では広告付加を分散して行うことが考慮されておら
ず、上述した実施の形態1ないし実施の形態3で採用さ
れているマルチキャスト技術と組み合わることができな
いという問題がある。
In addition, as a document disclosing a technique relating to advertisement distribution according to the taste of the client, Japanese Patent Laid-Open No.
There is a publication of 1-306611. In this document, an advertisement to be delivered to each user is determined based on the information accumulated in the preference management server, customer management server, and advertisement management server, and the advertisement is delivered according to the user's preference. However, in this document, there is no consideration of distributed advertisement addition, and there is a problem that it cannot be combined with the multicast technique adopted in the first to third embodiments described above.

【0151】以上のことを背景として、本応用例では上
述したマルチキャスト通信に対して以下のような機能を
付加するものである。・各クライアントの嗜好に合った
広告などの付加データをコンテンツデータに効率良く付
加しあるいは差し替えを行う。・コンテンツデータの配
信過程において、当該コンテンツデータのデータ形式を
各クライアントが受信可能な形式に変換する。・所要の
コンテンツデータの配信を、各中継ノード自身の負荷状
態や当該各中継ノードの通信リンクの負荷状態を考慮し
て行う。
Against this background, the present application example adds the following functions to the above-mentioned multicast communication.・ Effectively add or replace additional data such as advertisements that match the taste of each client to the content data. -In the distribution process of content data, the data format of the content data is converted into a format that can be received by each client. -The required content data is distributed in consideration of the load status of each relay node itself and the load status of the communication link of each relay node.

【0152】また、本応用例では以下のことを想定して
説明を行う。まず、マルチキャストプロトコルとしては
アプリケーション層のものを想定する。また、IPマル
チキャストではマルチキャストツリーに参加している者
であれば誰でもストリームデータの送信者になりうる
が、ここではマルチキャストツリーの根に相当するサー
バ等のノードのみが送信者になりうるものとする。ま
た、マルチキャストツリー上における各ノードは子毎に
異なる処理を行うために自身の子を区別できるものと
し、子も自身の親ノードを明示的あるいは暗黙的に知っ
ているものとする。
In this application example, description will be made assuming the following. First, assume that the application layer is used as the multicast protocol. Also, in IP multicast, anyone who participates in the multicast tree can be a sender of stream data, but here, only a node such as a server corresponding to the root of the multicast tree can be a sender. To do. In addition, each node on the multicast tree is capable of distinguishing its own child in order to perform different processing for each child, and the child also explicitly or implicitly knows its own parent node.

【0153】ここでは、理解を容易にするために、まず
データ変換機能に特有な点に絞って説明を行い、その後
にデータ変換機能を上述したマルチキャスト通信に付加
した場合について説明する。また前者の説明において
は、初めに概要として、複数の中継ノードによるストリ
ームデータの中継過程において、当該ストリームデータ
に対し、所定の付加データとして広告データを付加する
場合を想定して説明し、これに引き続き、概要説明に基
づく第1及び第2の装置例、ネットワークシステム装置
例及び方法例と、その方法例を実施するためのプログラ
ム例及び記録媒体例を順に説明し、さらに、これらの変
形例として、上記ストリームデータのデータ形式を変換
する場合を想定した第1の変形例及び第2の変形例を挙
げて詳細に説明するものとする。
Here, in order to facilitate understanding, a description will first be made focusing on points peculiar to the data conversion function, and then a case where the data conversion function is added to the above-mentioned multicast communication will be described. Also, in the former description, as an overview, the description will be given assuming that advertisement data is added as predetermined additional data to the stream data in the relay process of the stream data by a plurality of relay nodes. Subsequently, first and second device examples, network system device examples and method examples, program examples and recording medium examples for implementing the method examples will be sequentially described based on the outline description, and further, as modifications thereof. A detailed description will be given with reference to a first modified example and a second modified example assuming the case where the data format of the stream data is converted.

【0154】なお、第1の装置例,第1のネットワーク
システム装置例,第1の方法例と第2の装置例,第2の
ネットワークシステム装置例,第2の方法例とは想定す
るコストモデルが相違するものの基本的な技術思想は同
じである。したがって、第1の装置例,第1のネットワ
ークシステム装置例,第1の方法例と第2の装置例,第
2のネットワークシステム装置例,第2の方法例とはい
ずれか一方を選択的に実施することが可能である。同様
に、第1の変形例と第2の変形例とはいずれか一方を選
択的に実施することが可能である。また、第1の装置
例,第1のネットワークシステム装置例,第1の方法例
あるいは第2の装置例,第2のネットワークシステム装
置例,第2の方法例のいずれかと、第1の変形例あるい
は第2の変形例のいずれかとは、同時に実施することが
可能である。
Note that the first device example, the first network system device example, the first method example and the second device example, the second network system device example, and the second method example are assumed cost models. Although different, the basic technical idea is the same. Therefore, one of the first device example, the first network system device example, the first method example and the second device example, the second network system device example, and the second method example is selectively selected. It can be carried out. Similarly, it is possible to selectively implement either one of the first modification and the second modification. In addition, any one of the first device example, the first network system device example, the first method example or the second device example, the second network system device example, the second method example, and the first modification example. Alternatively, it can be carried out simultaneously with any of the second modified examples.

【0155】(概要)本応用例では、上述したマルチキ
ャスト通信への適用を想定して、サーバから複数のクラ
イアントに対しマルチキャストによりストリームデータ
を配信する場合を想定する。但し、クライアントが1つ
である特別な場合を想定することで、本応用例は、1対
1の通信(ユニキャスト)にも適用可能である。
(Outline) In this application example, assuming the application to the above-mentioned multicast communication, it is assumed that stream data is distributed from a server to a plurality of clients by multicast. However, assuming a special case where there is one client, this application example can be applied to one-to-one communication (unicast).

【0156】また、クライアント(ユーザ)は、n種類
用意された広告カテゴリの中から、1つ又は複数のカテ
ゴリを選択するものとする。但し、このときの広告カテ
ゴリの選択は、ユーザが敢えて明示的に行う必要はな
く、例えば、クライアントにおけるネットワークのアク
セス履歴から、ユーザの嗜好に関する情報を自動的に抽
出するようにしてもよい。
The client (user) selects one or a plurality of categories from the n types of prepared advertisement categories. However, it is not necessary for the user to explicitly select the advertisement category at this time. For example, the information regarding the user's preference may be automatically extracted from the network access history of the client.

【0157】また、各中継ノードは、ストリームデータ
に対する広告データの付加又は差し替えを、マルチキャ
ストツリー形のネットワークにおけるリーフ側隣接ノー
ド(以下、「子ノード」又は単に「子」ともいう)ごと
に行う機能を具備するものとする。
Further, each relay node has a function of adding or replacing advertisement data to stream data for each leaf side adjacent node (hereinafter, also referred to as “child node” or simply “child”) in the multicast tree type network. Shall be provided.

【0158】以上のような中継ノードにより構成される
マルチキャストネットワークにおいて、サーバから送信
されたストリームデータがクライアントに到着するまで
に、各中継ノードにおいて、クライアントが嗜好した広
告を付加するという条件の下で、ネットワーク全体に亙
る広告データの付加・差し替えのコストを最小にするた
めの手段と手法及び手順並びに手続を以下に示す。
In the multicast network constituted by the relay nodes as described above, under the condition that the client likes the advertisement to be added in each relay node before the stream data transmitted from the server arrives at the client. The means, methods, procedures, and procedures for minimizing the cost of adding or replacing advertisement data over the entire network are shown below.

【0159】(第1の装置例及びネットワークシステム
装置例)以下に説明する第1の装置例,ネットワークシ
ステム装置例,第1の方法例ならびに第2の装置例,ネ
ットワークシステム装置例,第2の方法例は、マルチキ
ャスト通信に対する付加機能であるデータ変換機能の第
1の例である。まず、図38は、本応用例における第1
の装置例に係る中継ノードの内部構成を示すブロック図
である。
(First Device Example and Network System Device Example) A first device example, a network system device example, a first method example and a second device example, a network system device example, and a second system device example will be described below. The method example is the first example of the data conversion function which is an additional function to the multicast communication. First, FIG. 38 shows the first example in this application example.
FIG. 3 is a block diagram showing an internal configuration of a relay node according to the device example of FIG.

【0160】同図に示すように、本装置例に係る中継ノ
ードN1は、単一のサーバ(図示せず)から1以上のク
ライアント(図示せず)に向けストリームデータを配信
するためのマルチキャストツリー形のネットワーク(図
示せず)に適用され、所要のストリームデータの中継過
程において、当該ストリームデータに対し広告データを
付加するために、基本的に、広告データ記憶手段101
1と、付加広告指示テーブル1012と、受信手段10
13と、広告付加・差し替え手段1014と、送信手段
1015と、嗜好情報抽出手段1016と、嗜好情報テ
ーブル1017と、嗜好情報集計手段1018とを具備
して構成される。
As shown in the figure, the relay node N1 according to the present apparatus example is a multicast tree for delivering stream data from a single server (not shown) to one or more clients (not shown). Form network (not shown), and basically adds advertisement data to the stream data in the relay process of the required stream data, basically the advertisement data storage means 101.
1, additional advertisement instruction table 1012, and receiving means 10
13, an advertisement addition / replacement unit 1014, a transmission unit 1015, a preference information extraction unit 1016, a preference information table 1017, and a preference information aggregation unit 1018.

【0161】このうち、広告データ記憶手段1011
は、存在する各クライアントに配信しようとする広告デ
ータを、要求される複数のカテゴリに亙って事前に記憶
するものであり、付加広告指示テーブル1012は、各
クライアントの嗜好と広告データの付加コストとの間の
相関を表した嗜好ベクタ(本発明にいう「嗜好情報」の
一形態。詳細は後述)に基づき、存在する1以上のリー
フ側隣接ノード(図示せず)へ転送すべき広告データの
カテゴリを、リーフ側隣接ノードごとに事前に分類定義
したものである。
Of these, the advertisement data storage means 1011
Stores the advertisement data to be distributed to each existing client in advance over a plurality of required categories, and the additional advertisement instruction table 1012 stores the preference of each client and the additional cost of the advertisement data. Advertisement data to be transferred to one or more existing leaf-side adjacent nodes (not shown) based on a preference vector (a form of "preference information" in the present invention, which will be described later in detail) indicating a correlation with The categories are defined in advance for each adjacent node on the leaf side.

【0162】また、受信手段1013は、ルート側隣接
ノード(図示せず)から転送されてくるストリームデー
タを受信すると共に、1以上のリーフ側隣接ノードから
転送されてくる1以上の嗜好ベクタを受信するものであ
る。なお、この受信手段1013は、広告データ記憶手
段1011に事前に登録されるべき広告データをネット
ワークから受信するようにも機能する。
The receiving means 1013 receives stream data transferred from the root side adjacent node (not shown) and also receives one or more preference vectors transferred from one or more leaf side adjacent nodes. To do. The receiving unit 1013 also functions to receive the advertisement data to be registered in advance in the advertisement data storage unit 1011 from the network.

【0163】さらに、広告付加・差し替え手段1014
は、受信手段1013で受信されたストリームデータの
データ付加形態に応じ、各リーフ側隣接ノードに転送す
べき広告データのカテゴリを、付加広告指示テーブル1
012を参照して選択すると共に、その選択したカテゴ
リに対応して広告データ記憶手段1011に記憶されて
いる広告データを読み出し、当該読出しに係る広告デー
タのストリームデータに対する付加、差し替えを行うも
のである。
Further, the advertisement addition / replacement means 1014
According to the data addition mode of the stream data received by the receiving means 1013, the category of the advertisement data to be transferred to each leaf side adjacent node is added to the additional advertisement instruction table 1
012 is selected, the advertisement data stored in the advertisement data storage means 1011 corresponding to the selected category is read, and the advertisement data related to the read is added to or replaced with the stream data. .

【0164】そして、送信手段1015は、広告付加・
差し替え手段1014により広告データの付加、差し替
えが行われたストリームデータを、各リーフ側隣接ノー
ドに向けて送信するものである。
Then, the transmitting means 1015 adds an advertisement /
The stream data to which the advertisement data has been added and replaced by the replacement means 1014 is transmitted to each leaf-side adjacent node.

【0165】なお、上記付加広告指示テーブル1012
は、嗜好情報抽出手段1016、嗜好情報テーブル10
17、及び嗜好情報集計手段1018による内容更新が
可能なものである。
The additional advertisement instruction table 1012 is added.
Is the preference information extraction means 1016 and the preference information table 10
17, and the content can be updated by the preference information totaling means 1018.

【0166】即ち、付加広告指示テーブル1012は、
受信手段1013で受信された1以上の嗜好ベクタを抽
出(不要なパケットヘッダ等を除去)する嗜好情報抽出
手段1016と、この嗜好情報抽出手段1016により
抽出された1以上の嗜好ベクタを保持する嗜好情報テー
ブル1017と、この嗜好情報テーブル1017に保持
された1以上の嗜好ベクタに所定の演算を集約的に施し
て、新たな嗜好ベクタを得る嗜好情報集計手段1018
とに基づく内容更新が可能である。
In other words, the additional advertisement instruction table 1012 is
A preference information extracting unit 1016 that extracts (removes unnecessary packet headers and the like) from the one or more preference vectors received by the receiving unit 1013, and a preference that holds one or more preference vectors extracted by the preference information extracting unit 1016. The information table 1017 and one or more preference vectors held in the preference information table 1017 are collectively subjected to a predetermined calculation to obtain a new preference vector.
It is possible to update the content based on and.

【0167】なお、以上のように構成された中継ノード
N1により、マルチキャストデータ通信システムを構成
するには、単一のサーバから1以上のクライアントに向
けストリームデータを配信するためのマルチキャストツ
リー形のネットワークを構成し、当該ネットワークに、
以上の中継ノードN1を複数の中継ノードにそれぞれ割
り当てればよい(そのネットワークの形態は、特に図示
はしていないが、後述する方法例において明らかとな
る)。
In order to configure the multicast data communication system by the relay node N1 configured as described above, a multicast tree type network for delivering stream data from a single server to one or more clients. And configure the network to
The relay node N1 described above may be assigned to each of a plurality of relay nodes (the form of the network is not particularly shown, but will be apparent in the method example described later).

【0168】(第1の方法例)続いて、以上のように構
成された中継ノードN1及びネットワークシステム装置
により実施される第1の方法例について説明する。
(First Method Example) Next, a first method example executed by the relay node N1 and the network system device configured as described above will be described.

【0169】まず、本方法例では、次のようなコストモ
デルを想定する。即ち、中継ノードN1が、ルート側隣
接ノード(以下、「親ノード」又は単に「親」ともい
う)からのパケットを、各々のリーフ側隣接ノードに対
し単に転送するコストは「0」で、広告データの付加・
差し替え処理を行うコストは「1」であるとする。
First, in this method example, the following cost model is assumed. That is, the relay node N1 simply transfers a packet from the root-side adjacent node (hereinafter, also referred to as “parent node” or simply “parent”) to each leaf-side adjacent node, and the cost is “0”. Data addition
It is assumed that the cost of performing the replacement process is "1".

【0170】例えば、ネットワーク上のある中継ノード
N1が、c個の子を持つ場合、x個の子に対しては単に
転送し、残りのc−x個の子に対しては、広告データの
付加・差し替え処理を実行して送出したとすると、該当
する中継ノードN1のコストはc−xとなる。このコス
トモデルの下でネットワーク全体のコストを少なくする
ことは、広告データの付加・差し替えの回数を少なくす
ることを意味する。
For example, when a relay node N1 on the network has c children, it simply forwards x children and the remaining c−x children of the advertisement data. If the addition / replacement process is executed and transmitted, the cost of the corresponding relay node N1 is c−x. Reducing the cost of the entire network under this cost model means reducing the number of times that advertisement data is added or replaced.

【0171】ここでは、まず、上記のコストモデルの下
でネットワーク全体のコストを最小化するための方法を
以下に説明する。なお、本方法は、「要求フェーズ」と
「配送フェーズ」の2つのフェーズにより実現される。
First, a method for minimizing the cost of the entire network under the above cost model will be described below. It should be noted that this method is realized by two phases, a "request phase" and a "delivery phase".

【0172】ここで、要求フェーズでは、クライアント
が嗜好する広告のカテゴリ(以下、「広告カテゴリ」又
は単に「カテゴリ」ともいう)がネットワークに伝えら
れ、それをもとに、複数の中継ノード(N1,N1,
…)の中から、広告データの付加・差し替えを実際に行
う中継ノードN1を決定する。
Here, in the request phase, the category of the advertisement that the client likes (hereinafter, also referred to as “advertisement category” or simply “category”) is transmitted to the network, and based on this, a plurality of relay nodes (N1 , N1,
...), the relay node N1 that actually adds / replaces the advertisement data is determined.

【0173】一方、配送フェーズでは、要求フェーズに
よる決定をもとに、適切な中継ノードN1で、適切な広
告データの付加・差し替えを実際に行う。以下に、これ
ら要求フェーズ及び配送フェーズの詳細な動作を説明す
る。
On the other hand, in the delivery phase, based on the determination made in the request phase, the appropriate relay node N1 actually adds / replaces the appropriate advertisement data. Hereinafter, detailed operations of the request phase and the delivery phase will be described.

【0174】まず、要求フェーズでは、各中継ノード及
びクライアントが、マルチキャストツリーにおける親ノ
ードに向って、以下に定義する嗜好ベクタを定期的に送
信する。即ち、広告カテゴリ数をnとした場合、嗜好ベ
クタとは、要素を「1」又は「0」とするn次元ベクタ
(nビットベクタ)であり、その嗜好ベクタのiビット
目が「1」であれば、i番目の広告カテゴリを嗜好して
いることを表す。
First, in the request phase, each relay node and client periodically send the preference vector defined below to the parent node in the multicast tree. That is, when the number of advertisement categories is n, the preference vector is an n-dimensional vector (n-bit vector) whose elements are "1" or "0", and the i-th bit of the preference vector is "1". If there is, it indicates that the user likes the i-th advertisement category.

【0175】ここで、クライアントは、i番目の広告カ
テゴリを希望する場合、nビットベクタ中のiビット目
を「1」とした嗜好ベクタを親ノードへ送信する。例え
ば、嗜好ベクタ(0,1,0)は、3つの広告カテゴリ
から2番目のカテゴリを希望することを表す。
Here, when the client desires the i-th advertisement category, the client transmits a preference vector with the i-th bit of the n-bit vector set to "1" to the parent node. For example, the preference vector (0,1,0) indicates that the second category is desired from the three advertisement categories.

【0176】また、クライアントは、複数の広告カテゴ
リを同時に希望することも可能であり、例えば、嗜好ベ
クタ(1,1,0)は、3つの広告カテゴリから1番目
または2番目のカテゴリを希望することを表す。従っ
て、どの広告カテゴリでもよい場合には、嗜好ベクタは
(1,1,1)となる。
The client can also desire a plurality of advertisement categories at the same time. For example, the preference vector (1,1,0) desires the first or second category from the three advertisement categories. It means that. Therefore, if any advertisement category is acceptable, the preference vector is (1, 1, 1).

【0177】以下に、上述した嗜好ベクタに基づく要求
フェーズの処理を図面を用いて説明する。
The processing of the request phase based on the above-mentioned preference vector will be described below with reference to the drawings.

【0178】図39(a)及び図39(b)は、本応用
例における第1の方法例に係る要求フェーズの概要を示
す図である。
39 (a) and 39 (b) are diagrams showing the outline of the request phase according to the first method example in the present application example.

【0179】まず、図39(a)に示すように、中継ノ
ードN1は、子から送信された嗜好ベクタの多数決をと
り、最も要求の多い広告カテゴリに対応する嗜好ベクタ
の要素(ビット)のみを「1」にして、当該嗜好ベクタ
を親ノードに送信する。このとき、最も要求の多い広告
カテゴリが複数ある場合は、それら広告カテゴリに対応
する嗜好ベクタの要素を全て「1」(他の要素は
「0」)とし、その嗜好ベクタを親ノードに送信する。
First, as shown in FIG. 39 (a), the relay node N1 takes a majority decision of the preference vectors transmitted from the child, and extracts only the elements (bits) of the preference vector corresponding to the most requested advertisement category. The preference vector is set to "1" and the preference vector is transmitted to the parent node. At this time, if there are a plurality of most requested advertisement categories, all elements of the preference vector corresponding to those advertisement categories are set to "1" (other elements are "0"), and the preference vector is transmitted to the parent node. .

【0180】例えば、子が2つ存在し、各子から送信さ
れた嗜好ベクタが、図示のように(1,0,0),
(1,0,1)であった場合、これらの和をとると
(2,0,1)となるので、その1ビット目のみを
「1」にセットし直した嗜好ベクタ(1,0,0)を親
ノードに送信する。つまり、全ての子から送られた嗜好
ベクタの和をとり、最大値をとるビットのみを「1」に
して他は「0」にセットし、これを親ノードに送信する
ようにする。
For example, there are two children, and the preference vector transmitted from each child is (1, 0, 0), as shown in the figure.
In the case of (1,0,1), the sum of these results in (2,0,1), so the preference vector (1,0,1) in which only the first bit is reset to "1" 0) to the parent node. That is, the sum of the preference vectors sent from all the children is calculated, only the bit having the maximum value is set to "1", and the other bits are set to "0", and this is transmitted to the parent node.

【0181】さらに、図39(b)に示すように、中継
ノードN1は、配送フェーズにおいて付加・差し替えを
行うべき広告データのカテゴリを示すテーブル、即ち、
前述した付加広告指示テーブル1012を、各子から送
られてきた上述の嗜好ベクタに従って生成し記憶する。
Further, as shown in FIG. 39 (b), the relay node N1 is a table showing categories of advertisement data to be added / replaced in the delivery phase, that is,
The additional advertisement instruction table 1012 described above is generated and stored according to the above-mentioned preference vector sent from each child.

【0182】この付加広告指示テーブル1012におい
て、「In」の列は、親ノードからのストリームデータ
に付加されていた広告データのカテゴリを表し、「Ou
t1」,「Out2」,…の列は、1番目,2番目,…
の子へ出力するストリームデータに付加すべき広告デー
タのカテゴリを表す。また、「φ」は、広告データが付
加されていない状態を表し、「A」,「B」,「C」
は、それぞれ、1番目,2番目,3番目の広告カテゴリ
を表す。なお、広告データが付加されていないストリー
ムデータが親ノードから送られてくる場合としては、親
ノードであるサーバ又は中継ノードが広告データをスト
リームデータに付加する機能を備えていないような場合
が挙げられる。
In the additional advertisement instruction table 1012, the column "In" represents the category of the advertisement data added to the stream data from the parent node, and "Ou".
The columns of "t1", "Out2", ... Are the first, second, ...
Represents the category of advertisement data that should be added to the stream data output to the child. Further, “φ” represents a state in which advertisement data is not added, and “A”, “B”, “C”.
Represent the first, second, and third advertisement categories, respectively. The case where the stream data to which the advertisement data is not added is sent from the parent node may be the case where the server or the relay node which is the parent node does not have the function of adding the advertisement data to the stream data. To be

【0183】ここで、付加広告指示テーブル1012
は、嗜好ベクタ(1,0,0)を送信してきた子には、
カテゴリAの広告の付加・差し替えを、また、嗜好ベク
タ(1,0,1)を送信してきた子には、カテゴリA又
はCの広告の付加・差し替えを行うよう、前述の広告付
加・差し替え手段1014に指示する。但し、後者の場
合、親ノードからのストリームデータに付加されている
広告データのカテゴリに応じ、可能な限り転送だけで済
むように当該付加広告指示テーブル1012を構成す
る。
Here, the additional advertisement instruction table 1012
To the child who sent the preference vector (1,0,0),
The advertisement addition / replacement means described above is used to add / replace the category A advertisement, and to add / replace the category A or C advertisement to the child who has transmitted the preference vector (1, 0, 1). Instruct 1014. However, in the latter case, the additional advertisement instruction table 1012 is configured so that only the transfer is necessary, depending on the category of the advertisement data added to the stream data from the parent node.

【0184】例えば、親ノードからのストリームデータ
にカテゴリCの広告データが付加されていた場合には、
嗜好ベクタ(1,0,1)を送信してきた子に対して
は、カテゴリCを選択することにより、当該ストリーム
データの転送だけで済ませることができる(カテゴリA
を選択した場合、差し替え(カテゴリC→カテゴリA)
が必要になってコストが増加するため、これを回避する
ようにしている)。
For example, when the advertisement data of category C is added to the stream data from the parent node,
For a child who has transmitted the preference vector (1, 0, 1), by selecting category C, it is possible to simply transfer the stream data (category A).
If is selected, replace (Category C → Category A)
Will be added and the cost will increase, so we try to avoid this).

【0185】なお、本来であれば親ノードに要求した通
りのカテゴリの広告データが親ノードから送られてくる
はずであるが、クライアントが嗜好ベクタを動的に変更
したような場合にはタイミングによっては親ノードに要
求したものとは異なるカテゴリの広告データが送られて
くる可能性がある。このため、親ノードから送られてく
る可能性がある全ての広告カテゴリについて付加広告指
示テーブル1012のエントリを作成するようにしてい
る。
Originally, the advertisement data of the category requested by the parent node should be sent from the parent node. However, if the client dynamically changes the preference vector, the timing may change depending on the timing. May send advertisement data in a category different from the one requested to the parent node. Therefore, the entries of the additional advertisement instruction table 1012 are created for all the advertisement categories that may be sent from the parent node.

【0186】次に、上述した嗜好ベクタに基づく配送フ
ェーズの処理を図面を用いて説明する。
Next, the processing of the delivery phase based on the above-mentioned preference vector will be described with reference to the drawings.

【0187】図40は、本応用例における第1の方法例
に係る要求フェーズの具体的動作例を示す図である。
FIG. 40 is a diagram showing a specific operation example of the request phase according to the first method example in the present application example.

【0188】なお、同図において、「A」,「B」で示
されるノードはクライアントを表し、「S」で示される
ノードはサーバを表し、他のノードは中継ノードN1
(以下、符号「1001」,「1002」,「100
3」,「1004」により代替表示)を表す。また、広
告カテゴリは「A」と「B」の2種類あり、上述のクラ
イアントを示す符号(「A」及び「B」)は、該当する
クライアントが嗜好する広告カテゴリを表す(但し、
「A」及び「B」を、それぞれ、1番目及び2番目の広
告カテゴリとする)。
In the figure, nodes indicated by "A" and "B" represent clients, nodes represented by "S" represent servers, and other nodes are relay nodes N1.
(Hereinafter, reference numerals “1001”, “1002”, “100
3) and “1004” represent alternative displays). Further, there are two types of advertisement categories, "A" and "B", and the reference numerals ("A" and "B") indicating the above-mentioned clients represent the advertisement category that the corresponding client likes (however,
“A” and “B” are the first and second advertising categories, respectively).

【0189】また、各付加広告指示テーブル1012中
の記号のうち、「*」は、任意の広告カテゴリ(広告デ
ータが付加されていない状態を含む)に適合することを
意味する(「In」,「Out1」,「Out2」,
「φ」については、図39(b)のそれらと同様である
が、子の番号については、図の左の子から順に、1,
2,3,…というように番号付けされていることを仮定
している)。
[0189] Of the symbols in each additional advertisement instruction table 1012, "*" means that it matches any advertisement category (including a state in which advertisement data is not added) ("In", "Out1", "Out2",
“Φ” is the same as those in FIG. 39 (b), but the child numbers are 1, 1 in order from the left child in the figure.
It is assumed that they are numbered as 2, 3, ...).

【0190】同図に示すように、まず、広告カテゴリA
を嗜好するクライアントは、嗜好ベクタ(1,0)を親
ノードに送り、広告カテゴリBを嗜好するクライアント
は、嗜好ベクタ(0,1)を親ノードに送る。
As shown in the figure, first, the advertisement category A
A client who prefers to send a preference vector (1,0) to the parent node, and a client who likes the advertisement category B sends a preference vector (0,1) to the parent node.

【0191】このとき、中継ノード1003は、嗜好ベ
クタ(1,0)を子から受け取るので、要求フェーズに
おいて、親ノード(中継ノード1002)から送られて
きたストリームデータに付加されている広告データのカ
テゴリによらず、広告カテゴリAに属する広告データの
付加又は差し替えが行われるよう、付加広告指示テーブ
ル1012を生成し、親ノードに対し、子ノードから受
け取った嗜好ベクタ(1,0)をそのまま送信する。
At this time, since the relay node 1003 receives the preference vector (1,0) from the child, the advertisement data added to the stream data sent from the parent node (relay node 1002) in the request phase is transmitted. The additional advertisement instruction table 1012 is generated so that the advertisement data belonging to the advertisement category A is added or replaced regardless of the category, and the preference vector (1, 0) received from the child node is transmitted to the parent node as it is. To do.

【0192】一方、中継ノード1004では、2つの子
から嗜好ベクタ(0,1),(1,0)が送られてくる
ので、中継ノード1002からのストリームデータに付
加されてきた広告データのカテゴリによらず、図の左の
子には広告カテゴリBに属する広告データの付加又は差
し替えが、右の子には広告カテゴリAに属する広告デー
タの付加又は差し替えが行われるよう付加広告指示テー
ブル1012を構成し、中継ノード1002に対し、前
述した規則に従って生成した新たな嗜好ベクタ(1,
1)を送信する。
On the other hand, in the relay node 1004, since the preference vectors (0,1) and (1,0) are sent from the two children, the category of the advertisement data added to the stream data from the relay node 1002. Irrespective of the above, the additional advertisement instruction table 1012 is added so that the child on the left side of the drawing can add or replace the advertisement data belonging to the advertisement category B and the child on the right side can add or replace the advertisement data belonging to the advertisement category A. The relay node 1002 is configured and a new preference vector (1,
Send 1).

【0193】以上の結果、中継ノード1002には、2
つの子から嗜好ベクタ(1,0),(1,1)が送られ
ることになり、当該中継ノード1002は、左の子(中
継ノード1003)に対しては、親ノード(中継ノード
1001)からのストリームデータに付加されている広
告データのカテゴリによらず、広告カテゴリAに属する
広告データの付加又は差し替えが、また、右の子(中継
ノード1004)に対しては、広告カテゴリA又はBの
何れかに属する広告データ(コストが少なくて済む方の
カテゴリに属する広告データ)の付加又は差し替えが行
われるよう、付加広告指示テーブル1012を構成す
る。
As a result, the relay node 1002 has 2
The preference vectors (1,0) and (1,1) are sent from the two children, and the relay node 1002 is connected to the left child (relay node 1003) from the parent node (relay node 1001). Irrespective of the category of the advertisement data added to the stream data, the addition or replacement of the advertisement data belonging to the advertisement category A is performed for the right child (relay node 1004). The additional advertisement instruction table 1012 is configured so that the advertisement data belonging to any one of them (the advertisement data belonging to the category that costs less) is added or replaced.

【0194】即ち、図示の例の場合、中継ノード100
1からのストリームデータに広告カテゴリAの広告デー
タが付加されていても、広告カテゴリBの広告データが
付加されていても、当該ストリームデータは、そのまま
中継ノード1004に転送されることになる。但し、ス
トリームデータに広告データが何も付加されていない場
合には、中継ノード1002は、広告カテゴリA又はB
のうちの何れかを任意に選択し、その選択したカテゴリ
の広告データをストリームに付加して、中継ノード10
04に送信する(中継ノード1001の動作は、前述し
た中継ノード1003におけるそれと同様)。
That is, in the illustrated example, the relay node 100
Whether the advertisement data of the advertisement category A or the advertisement data of the advertisement category B is added to the stream data from No. 1, the stream data is directly transferred to the relay node 1004. However, when no advertisement data is added to the stream data, the relay node 1002 determines that the advertisement category A or B.
Any one of the above is arbitrarily selected, the advertisement data of the selected category is added to the stream, and the relay node 10
04 (the operation of the relay node 1001 is similar to that in the relay node 1003 described above).

【0195】そして、このようにして生成、構成された
付加広告指示テーブルをもとに、配送フェーズにおいて
広告データの付加・差し替えが行われる。
Then, the advertisement data is added / replaced in the delivery phase based on the additional advertisement instruction table thus generated and constructed.

【0196】なお、各中継ノード1001,1002,
1003,1004は、子から送られた嗜好ベクタを同
時に受け取るとは限らないため、実際には、子から送信
された嗜好ベクタを、前述した嗜好情報テーブル101
7にて記憶しておき、全ての子からの嗜好ベクタが揃っ
た時点で、新たな嗜好ベクタを得るための多数決をとる
ことになる。また、嗜好ベクタの変更や、マルチキャス
トツリーへのクライアントの参加や離脱などに対応する
ため、所要の多数決を取る操作は、例えば、子からの嗜
好ベクタが変更されたことを契機に行ったり、或いは、
予め設定された所定の時間間隔ごとに行うようにすると
よい。
It should be noted that each relay node 1001, 1002
Since 1003 and 1004 do not always receive the preference vector sent from the child at the same time, the preference vector sent from the child is actually stored in the above-mentioned preference information table 101.
It will be stored in step 7, and when the preference vectors from all the children are available, a majority decision will be taken to obtain a new preference vector. Further, in order to deal with the change of the preference vector and the participation and the withdrawal of the client from the multicast tree, the operation of taking a required majority decision is performed, for example, when the preference vector from the child is changed, or ,
It may be performed at predetermined time intervals set in advance.

【0197】次に、図41は、本応用例における第1の
方法例に係る配送フェーズの具体的動作例を示す図であ
る(図40に示した要求フェーズに対応)。
Next, FIG. 41 is a diagram showing a concrete operation example of the delivery phase according to the first method example in this application example (corresponding to the request phase shown in FIG. 40).

【0198】同図に示すように、各中継ノード100
1,1002,1003,1004は、親ノードから送
られてきたストリームデータに付加されている広告デー
タをもとに、実際の広告データの付加・差し替えの処理
を決定する。このため、要求フェーズによるテーブル更
新のタイミングのずれにより、親ノードに送信した嗜好
ベクタと矛盾するカテゴリに属する広告データの付加さ
れたストリームデータが、親ノードから送られてきたと
しても、「クライアントの嗜好どおりに広告を付加す
る」という機能が破綻をきたすことはない。
As shown in the figure, each relay node 100
1, 1002, 1003 and 1004 determine the actual addition / replacement process of the advertisement data based on the advertisement data added to the stream data sent from the parent node. Therefore, even if the parent node sends the stream data to which the advertisement data belonging to the category inconsistent with the preference vector sent to the parent node is sent from the parent node due to the table update timing difference due to the request phase, The function of "adding advertisements according to taste" will not fail.

【0199】従って、要求フェーズと配送フェーズと
は、独立して動作することが可能であり、要求フェーズ
によって各付加広告指示テーブル1012が更新される
時間間隔が十分に長ければ、上記コストモデルのもとで
コスト最小の配送が実現される。
Therefore, the request phase and the delivery phase can operate independently, and if the time interval in which each additional advertisement instruction table 1012 is updated by the request phase is sufficiently long, the cost model described above is also used. With, the delivery with the minimum cost is realized.

【0200】次に、図42は、所要の広告データの付加
・差し替え処理を通常の方法により実行した場合のコス
ト例を示す図である。なお、図中の数字は各ノードのコ
ストである。
[0200] Next, Fig. 42 is a diagram showing a cost example when the required addition / substitution processing of advertisement data is executed by a normal method. The numbers in the figure are the costs of each node.

【0201】同図に示すように、まず、マルチキャスト
ツリーのリーフを構成する各クライアントが、広告カテ
ゴリとして「A」,「B」,「C」の何れかを嗜好して
いる場合を想定する。また、図示の太実線、点線、及び
破線は、それぞれ、広告カテゴリA,B,Cの広告デー
タが付加されたストリームデータが流れる通信リンクを
表し、各中継ノードの近傍に付与された数字は、それら
各中継ノードにおけるコストを表す。
As shown in the figure, first, it is assumed that each client forming a leaf of the multicast tree prefers any of "A", "B", and "C" as an advertisement category. In addition, thick solid lines, dotted lines, and broken lines in the figure respectively represent communication links through which stream data to which advertisement data of advertisement categories A, B, and C are added flow, and the numbers given in the vicinity of each relay node are: It represents the cost at each of these relay nodes.

【0202】ここで、広告カテゴリAを嗜好しているク
ライアントが最も多く存在することを根拠に、サーバ直
下の中継ノードにおいて、そのカテゴリAの広告データ
をストリームデータに付加し、各クライアントが隣接す
る中継ノードにおいて、それら各クライアントの嗜好に
合わせて広告データの差し替えを行うものとする。
Here, based on the fact that there are the most clients who prefer the advertisement category A, the advertisement data of the category A is added to the stream data in the relay node immediately below the server, and each client is adjacent to the stream data. In the relay node, the advertisement data is replaced according to the preference of each client.

【0203】以上のようにして広告データの差し替えを
行った場合、本マルチキャストネットワーク全体のコス
トは、各中継ノードにおけるコストの和をとれば、「1
1」となることが理解される。
When the advertisement data is replaced as described above, the cost of the entire multicast network is "1" if the sum of the costs at each relay node is taken.
1 ”is understood.

【0204】一方、図43は、本応用例における第1の
方法例により広告データの付加・差し替え処理を実行し
た場合の第2のコスト例を示す図である。なお、図中の
数字は各ノードのコストである。
On the other hand, FIG. 43 is a diagram showing a second cost example when the advertisement data addition / replacement processing is executed by the first method example in the present application example. The numbers in the figure are the costs of each node.

【0205】同図に示すように、本方法例により広告デ
ータの差し替えを行った場合、マルチキャストネットワ
ーク全体のコストは、「8」となり、前述した通常の場
合よりも少ないコストで、所要の広告データの付加・差
し替え処理を実行することが可能となる。
As shown in the figure, when the advertisement data is replaced by this method example, the cost of the entire multicast network is "8", which is less than the above-mentioned normal case and the required advertisement data is required. It becomes possible to execute the addition / replacement processing of.

【0206】(第2の装置例及びネットワークシステム
装置例)本装置例及びネットワークシステム装置例は、
嗜好ベクタの意味、広告データの付加・差し替えに要す
るコストを計算するための具体的な手法、および、クラ
イアントが送出する嗜好ベクタの形式が、上述した第1
の装置例及びネットワークシステム装置と異なってい
る。図44は、本応用例における第2の装置例に係る中
継ノードの内部構成を示すブロック図である。
(Second Device Example and Network System Device Example) The present device example and the network system device example are as follows:
The meaning of the preference vector, a specific method for calculating the cost required for adding / replacement of advertisement data, and the format of the preference vector sent by the client are the above-mentioned first.
Device example and network system device. FIG. 44 is a block diagram showing an internal configuration of a relay node according to the second device example in the present application example.

【0207】同図に示すように、本装置例に係る中継ノ
ードN2は、第1の装置例におけるそれと同様、単一の
サーバ(図示せず)から1以上のクライアント(図示せ
ず)に向けストリームデータを配信するためのマルチキ
ャストツリー形のネットワーク(図示せず)に適用さ
れ、所要のストリームデータの中継過程において、当該
ストリームデータに対し広告データを付加するために、
基本的に、広告データ記憶手段1021と、付加広告指
示テーブル1022と、受信手段1023と、広告付加
・差し替え手段1024と、送信手段1025と、嗜好
情報抽出手段1026と、嗜好情報テーブル1027
と、嗜好情報集計手段1028とを具備して構成され
る。
As shown in the figure, the relay node N2 according to the present device example is directed from a single server (not shown) to one or more clients (not shown), as in the first device example. It is applied to a multicast tree type network (not shown) for delivering stream data, and in order to add advertisement data to the stream data in the relay process of the required stream data,
Basically, the advertisement data storage unit 1021, the additional advertisement instruction table 1022, the reception unit 1023, the advertisement addition / replacement unit 1024, the transmission unit 1025, the preference information extraction unit 1026, and the preference information table 1027.
And preference information totaling means 1028.

【0208】なお、これら広告データ記憶手段102
1、付加広告指示テーブル1022、受信手段102
3、広告付加・差し替え手段1024、及び送信手段1
025の構成は、第1の装置例におけるそれと同様であ
るので、その説明は省略する。
[0208] These advertisement data storage means 102
1, additional advertisement instruction table 1022, receiving means 102
3, advertisement addition / replacement means 1024, and transmission means 1
The configuration of 025 is the same as that of the first device example, and thus its description is omitted.

【0209】また、上記付加広告指示テーブル1022
は、図示の嗜好情報抽出手段1026、嗜好情報テーブ
ル1027、及び嗜好情報集計手段1028による内容
更新が可能である。
[0209] Also, the additional advertisement instruction table 1022
Can be updated by the illustrated preference information extraction means 1026, preference information table 1027, and preference information totalization means 1028.

【0210】即ち、付加広告指示テーブル1022は、
受信手段1023で受信された1以上の嗜好ベクタ(本
発明にいう「嗜好情報」の一形態。詳細は後述)を抽出
する嗜好情報抽出手段1026と、この嗜好情報抽出手
段1026により抽出された1以上の嗜好ベクタを保持
する嗜好情報テーブル1027とに基づいて、その内容
が更新される。また、嗜好情報集計手段1028は、嗜
好情報テーブル1027に保持された1以上の嗜好ベク
タに所定の演算を集約的に施して、新たな嗜好ベクタを
得る。
In other words, the additional advertisement instruction table 1022 is
A preference information extracting unit 1026 for extracting one or more preference vectors (one form of “preference information” in the present invention, which will be described later in detail) received by the receiving unit 1023, and one extracted by this preference information extracting unit 1026. The content is updated based on the preference information table 1027 holding the above preference vector. Also, the preference information totaling unit 1028 collectively performs a predetermined calculation on one or more preference vectors held in the preference information table 1027 to obtain a new preference vector.

【0211】なお、以上のように構成された中継ノード
N2により、マルチキャストデータ通信システムを構成
するには、単一のサーバから1以上のクライアントに向
けストリームデータを配信するためのマルチキャストツ
リー形のネットワークを構成し、当該ネットワークに、
以上の中継ノードN2を複数の中継ノードにそれぞれ割
り当てればよい(そのネットワークの形態は、特に図示
はしていないが、後述する方法例において明らかとな
る)。
In order to configure the multicast data communication system with the relay node N2 configured as described above, a multicast tree type network for delivering stream data from a single server to one or more clients. And configure the network to
The above relay node N2 may be assigned to each of a plurality of relay nodes (the form of the network is not particularly shown, but will be apparent in the method example described later).

【0212】(第2の方法例)続いて、以上のように構
成された中継ノードN2及びネットワークシステム装置
により実施される第2の方法例について、さらに一般的
なコストモデルを想定して説明する。
(Second Method Example) Next, a second method example executed by the relay node N2 and the network system device configured as described above will be described assuming a more general cost model. .

【0213】図45は、本応用例における第2の方法例
に係るコストモデルの概要を示す図である。
FIG. 45 is a diagram showing an outline of a cost model according to the second method example in this application example.

【0214】同図に示すように、本方法例では、ある中
継ノードN2(以下、符号「k」により代替表示)がc
個の子を持っている場合において、親ノードから送信さ
れてきたストリームデータにi番目のカテゴリの広告デ
ータが付加されていたときに、その広告データを、j番
目の子に対してa(j)番目のカテゴリの広告データに差
し替える状況を想定する。
As shown in the figure, in this method example, a certain relay node N2 (hereinafter referred to as a substitute display by the symbol "k") is c.
If the i-th category advertisement data is added to the stream data transmitted from the parent node in the case of having a number of children, the advertisement data is a (j ) Suppose that the situation is changed to the advertisement data of the category.

【0215】このとき、中継ノードkにおける広告デー
タの付加・差し替えコストが、図示のように、fk(i,
a(1),a(2),…,a(c))で与えられるものとする。但
し、親ノードから送られてくるストリームデータに広告
データが付加されていない状態も、一つの広告カテゴリ
であると想定し、以降の説明では、広告データの差し替
えのみを考慮するものとする。また、同じ広告カテゴリ
に属する広告データは、その差し替えコストの観点か
ら、同等であるものとする。そうしない場合は、カテゴ
リをさらに細分化することにより、上記の条件を満たす
ようにすればよい。
At this time, the addition / replacement cost of the advertisement data at the relay node k is f k (i,
a (1), a (2), ..., a (c)). However, it is assumed that the advertisement data is not added to the stream data sent from the parent node, which is also one advertisement category, and in the following description, only the replacement of the advertisement data will be considered. Further, the advertisement data belonging to the same advertisement category are equivalent from the viewpoint of replacement cost. If not, the above conditions may be satisfied by further subdividing the categories.

【0216】例えば、「A」,「B」,「C」という広
告カテゴリが、それぞれ、「A1」及び「A2」,
「B1」及び「B2」,「C1」及び「C2」に細分化され
た場合でも、クライアントにとって意味のあるカテゴリ
分けが「A」,「B」,「C」であるならば、ユーザイ
ンターフェイスの上では「A」,「B」,「C」という
カテゴリ分けにしておき、例えば、広告カテゴリAを嗜
好するときは、実際には、広告カテゴリA1又はA2を嗜
好するように解釈して処理すればよい。
For example, the advertisement categories “A”, “B”, and “C” are respectively “A 1 ” and “A 2 ”,
Even when subdivided into “B 1 ” and “B 2 ”, “C 1 ”, and “C 2 ”, if the categorization meaningful to the client is “A”, “B”, and “C” , The user interface is divided into “A”, “B”, and “C” categories. For example, when the advertisement category A is favored, the advertisement category A 1 or A 2 is actually favored. Should be interpreted and processed.

【0217】以上のようなコストモデルに関して、ネッ
トワーク全体のコストが最小になるように広告データの
差し替えを行う方法を以下に説明する。なお、本方法
も、第1の方法例における場合と同様、「要求フェー
ズ」と「配送フェーズ」の2つのフェーズにより実現さ
れる。
With respect to the above cost model, a method of replacing advertisement data so that the cost of the entire network is minimized will be described below. Note that this method is also realized by two phases of a “request phase” and a “delivery phase”, as in the case of the first method example.

【0218】まず、要求フェーズでは、クライアント
は、ストリームデータに、自己の嗜好する広告データが
付加されていたときは、コスト「0」であり、それ以外
の広告データが付加されていたときは、コスト無限大
「∞」であるという情報を、親ノードに送信する。この
情報を、広告カテゴリ数nに対し、n次元のベクタ(嗜
好ベクタ)で表すことにすると、例えば、4番目のカテ
ゴリの広告データを嗜好する子からの嗜好ベクタは、
(∞,∞,∞,0,∞,∞,…,∞)となる。
[0218] First, in the request phase, the client pays a cost of "0" when the advertisement data that it prefers is added to the stream data, and when the other advertisement data is added, Information that the cost is infinity “∞” is transmitted to the parent node. If this information is expressed as an n-dimensional vector (preference vector) for the number of advertisement categories n, for example, the preference vector from the child who likes the fourth category of advertisement data is
(∞, ∞, ∞, 0, ∞, ∞, ..., ∞).

【0219】このように、想定しているコストモデルの
違いに起因して、本装置例の嗜好ベクタと上記第1の装
置例における嗜好ベクタとはその定義が異なっている。
すなわち、上記第1の装置例における嗜好ベクタは、ク
ライアントが個々の広告カテゴリを嗜好しているかどう
かに応じて嗜好ベクタの各要素を「1」又は「0」に設
定している。これに対して本装置例では、クライアント
の嗜好するデータがサーバ側から送られてくるストリー
ムデータに付加されていたかどうかに応じて嗜好ベクタ
の各要素を0又は無限大に設定している。
As described above, due to the difference in the assumed cost model, the preference vector of this device example and the preference vector of the first device example have different definitions.
That is, in the preference vector in the first device example, each element of the preference vector is set to "1" or "0" depending on whether or not the client likes each advertisement category. On the other hand, in this apparatus example, each element of the preference vector is set to 0 or infinity depending on whether or not the data favored by the client is added to the stream data sent from the server side.

【0220】ここで、各中継ノードk,k,…は、子か
ら送信された嗜好ベクタと、広告データの差し替えにか
かるコストを表す関数fk(i,a(1),a(2),…,a(c))
とに基づき、親から受け取ったストリームデータにカテ
ゴリiの広告データが付加されていた場合における、中
継ノードkをルートとするサブツリーの最小コスト値を
各iに対して求め、これを嗜好ベクタで表して親ノード
に送信する。
Here, each relay node k, k, ... Has a function f k (i, a (1), a (2), a (2), a (2), … , A (c))
Based on the above, when the advertisement data of the category i is added to the stream data received from the parent, the minimum cost value of the subtree rooted at the relay node k is obtained for each i, and this is represented by the preference vector. To the parent node.

【0221】即ち、いま、中継ノードkが親ノードP
(k)から受け取ったストリームデータに、カテゴリiの
広告データが付加されており、その中継ノードkをルー
トとするサブツリーをT(k)とした場合において、この
ときに達成し得るT(k)の最小コストをvk iとすれば、
当該中継ノードkは、親ノードP(k)に対し、n次元の
嗜好ベクタVk=(vk 1,vk 2,…,vk n)を送信す
る。
That is, now, the relay node k is the parent node P.
If the advertisement data of category i is added to the stream data received from (k) and the subtree rooted at the relay node k is T (k), T (k) that can be achieved at this time is obtained. Let v k i be the minimum cost of
The relay node k transmits the n-dimensional preference vector V k = (v k 1 , v k 2 , ..., V k n ) to the parent node P (k).

【0222】以上の嗜好ベクタは、子ノードから送られ
た嗜好ベクタと上記関数fk(i,a(1),a(2),…,a
(c))とから計算され(詳細な計算法は後述)、例えば、
kが(10,23,41)であるとすると、広告カテ
ゴリの数は3つあり、親ノードP(k)からのストリーム
データに、1番目、2番目、又は3番目のカテゴリに属
する広告データが付加されていた場合に達成し得るT
(k)の最小コストは、それぞれ「10」,「23」,
「41」であることを表す。そして、上記のような嗜好
ベクタの計算・送信処理は、リーフからルートに向かっ
て順に実行される。
The above preference vectors are the preference vector sent from the child node and the above-mentioned function f k (i, a (1), a (2), ..., A).
(c)) and (the detailed calculation method is described later), for example,
If V k is (10, 23, 41), there are three advertisement categories, and the advertisements belonging to the first, second, or third category in the stream data from the parent node P (k). T that can be achieved when data is added
The minimum cost of (k) is "10", "23",
Indicates "41". Then, the above-described preference vector calculation / transmission processing is sequentially executed from the leaf toward the root.

【0223】なお、各中継ノードkにおいて、各i(i
=1,2,…,n)に対しvk iを達成するために、各子
に送出するストリームデータに関して差し替えるべき広
告データのカテゴリは、そのvk iの計算過程において得
ることができるので、これを付加広告指示テーブル10
22として記録しておき、この付加広告指示テーブル1
022を利用して、第1の方法例と同様に、配送フェー
ズにおいて広告データの差し替えを行うようにする。
At each relay node k, each i (i
= 1,2, ..., in order to achieve a v k i to n), the category of the advertisement data to replace regard stream data to be transmitted to the child, since it is possible to obtain in the calculation process of the v k i, This is the additional advertisement instruction table 10
It is recorded as No. 22, and this additional advertisement instruction table 1
Using 022, advertisement data is replaced in the delivery phase as in the first method example.

【0224】次に、嗜好ベクタの計算方法について説明
すれば、以下のようになる。即ち、まず、c個の子を持
つ任意の中継ノードkが、ストリームデータに付加され
た広告データを、j(j=1,2,…,n)番目の子に
対して、a(j)番目のカテゴリの広告データに差し替え
る場合を想定する。
Next, the method of calculating the preference vector will be described as follows. That is, first, an arbitrary relay node k having c children sets the advertisement data added to the stream data to the j (j = 1, 2, ..., N) th child by a (j). Suppose that the advertisement data of the second category is replaced.

【0225】このとき、親ノードP(k)から、i番目の
広告データが付加されたストリームデータが到着したと
すると、中継ノードkにおける広告データの差し替えに
関するコストは、上述の関数fk(i,a(1),a(2),…,
a(c))で表される。
At this time, if the stream data to which the i-th advertisement data is added arrives from the parent node P (k), the cost for replacing the advertisement data at the relay node k is the function f k (i , A (1) , a (2) ,… ,
It is represented by a (c)).

【0226】いま、中継ノードkに対して、j番目の子
から送られてきたn次元嗜好ベクタを、Uj=(uj 1
j 2,…,uj n)とし、j番目の子が中継ノードCk(j)
であるとすると、中継ノードkからa(j)番目の広告デ
ータが付加されたストリームデータが送られたときのサ
ブツリーT(Ck(j))の最小コストは、uj a(j)であ
る。
Now, for the relay node k, the n-dimensional preference vector sent from the j-th child is U j = (u j 1 ,
u j 2 , ..., U j n ), and the j-th child is a relay node C k (j)
, The minimum cost of the subtree T (C k (j)) when the stream data to which the a (j) th advertisement data is added is transmitted from the relay node k is u j a (j) . is there.

【0227】従って、この場合のサブツリーT(k)の最
小コストは、fk(i,a(1),a(2),…,a(c))+u1 a(1)
+…+uc a(c)となる。よって、嗜好ベクタVk
(vk 1,vk 2,…,vk n)の要素vk iは、a(1),a
(2),…,a(c)の全ての組み合せの中におけるfk(i,
a(1),a(2),…,a(c))+u1 a(1)+…+uc a(c)の最小値
とすればよい。
Therefore, the minimum cost of the subtree T (k) in this case is f k (i, a (1), a (2), ..., a (c)) + u 1 a (1)
It becomes + ... + u ca (c) . Therefore, the preference vector V k =
The elements v k i of (v k 1 , v k 2 , ..., V k n ) are a (1), a
F k (i, in all combinations of (2), ..., a (c)
The minimum value of a (1), a (2), ..., a (c)) + u 1 a (1) + ... + u c a (c) may be used.

【0228】そして、以上の計算を各iに関して行っ
て、Vk=(vk 1,vk 2,…,vk n)を得ると共に、各
k iを達成するa(1),a(2),…,a(c)の組み合せ
を、各中継ノードkにおける付加広告指示テーブル10
22に記録しておくようにする。
The above calculation is performed for each i to obtain V k = (v k 1 , v k 2 , ..., V k n ) and to achieve each v k i a (1), a The combination of (2), ..., A (c) represents the additional advertisement instruction table 10 in each relay node k.
It should be recorded in 22.

【0229】次に、図46は、本応用例における第2の
方法例に係る要求フェーズの具体的動作例を示す図であ
り、図47(a)乃至図47(c)は、コスト関数の具
体例を示す図である。
Next, FIG. 46 is a diagram showing a concrete operation example of the request phase according to the second method example in the present application example, and FIGS. 47 (a) to 47 (c) show the cost function. It is a figure which shows a specific example.

【0230】まず、図46に示すように、サーバとクラ
イアントとの間に、3つの中継ノードが介在している状
態において、各中継ノードk(1001,1002,1
003)に関するコスト関数が、fk(i,a(1),a(2),
…,a(c))=gk(i,a(1))+gk(i,a(2))+…+g
k(i,a(c))と分解できる場合を例に挙げる。
First, as shown in FIG. 46, in the state where three relay nodes are interposed between the server and the client, each relay node k (1001, 1002, 1
003), the cost function for f k (i, a (1), a (2),
…, A (c)) = g k (i, a (1)) + g k (i, a (2)) +… + g
The case where it can be decomposed into k (i, a (c)) is taken as an example.

【0231】即ち、ある中継ノードkに着目した場合、
各子への広告データ差し替えの処理に要するコストは、
完全に独立であり、かつ、コスト関数としては互いに等
しい場合を意味している。
That is, when focusing on a certain relay node k,
The cost required to replace the advertising data for each child is
It is completely independent and equal in cost function.

【0232】ここで、各中継ノードにおけるコスト関数
kの例を挙げれば、図47(a)乃至図47(c)の
各左列に示すようになる。図中、コスト関数gkの各行
は差し替え前の広告カテゴリを表し、その各列は差し替
え後の広告カテゴリを表し、「φ」,「A」,「B」に
ついては、それぞれ、1番目,2番目,3番目の広告カ
テゴリとして扱っている。但し、広告データが何も付加
されていない状態も一つの広告カテゴリと見なしてい
る。
Here, examples of the cost function g k at each relay node are as shown in the left columns of FIGS. 47 (a) to 47 (c). In the figure, each row of the cost function g k represents an advertisement category before replacement, each column thereof represents an advertisement category after replacement, and “φ”, “A”, and “B” are the first and second, respectively. Handled as the third and third advertising categories. However, the state in which no advertisement data is added is considered as one advertisement category.

【0233】例えば、図46に示す中継ノード1001
において、広告データが何も付加されていない状態か
ら、広告データAを付加するのに要するコストg
1001(φ,A)は、「10」である(同図に示した嗜好ベ
クタ及び付加広告指示テーブル1022は、図47
(a)乃至図47(c)の左列に示すコスト関数をもと
に、要求フェーズにおいて送出、生成されたものであ
る)。
For example, the relay node 1001 shown in FIG.
In, the cost g required to add the advertisement data A from the state where no advertisement data is added
1001 (φ, A) is “10” (the preference vector and additional advertisement instruction table 1022 shown in FIG.
(A) to the one generated and transmitted in the request phase based on the cost function shown in the left column of FIG. 47 (c)).

【0234】次に、図48(a)及び図48(b)は、
本応用例における第2の方法例に係る要求フェーズの具
体的動作例の一部分を示す図であり、図49(a)乃至
図49(c)は、コスト関数の計算例を示す図、図50
は、要求フェーズの具体的動作例の他の一部分を示す図
である。
Next, FIGS. 48 (a) and 48 (b) show
FIG. 50 is a diagram showing a part of a specific operation example of a request phase according to a second method example in the present application example, and FIGS. 49 (a) to 49 (c) are diagrams showing a calculation example of a cost function, FIG.
FIG. 8 is a diagram showing another part of a specific operation example of the request phase.

【0235】まず、図48(a)に示すように、中継ノ
ード1002が、その子である中継ノード1003から
嗜好ベクタU1=(20,1,20)を受け取った場
合、中継ノード1001に送信すべき嗜好ベクタと、中
継ノード1002に生成すべき付加広告指示テーブル1
022の計算法とは、図49(a)乃至図49(c)に
示すようなものとなる。
First, as shown in FIG. 48A, when the relay node 1002 receives the preference vector U 1 = (20,1,20) from the relay node 1003 which is its child, the relay node 1002 transmits it to the relay node 1001. Preference vector and additional advertisement instruction table 1 to be generated in the relay node 1002
The calculation method of 022 is as shown in FIGS. 49 (a) to 49 (c).

【0236】ここで、giの表を行列と見なしたとき、
子の行列をGiで表すこととする(図47(a)乃至図
47(c)の各右列参照)。g1002は、中継ノード10
02における処理コストのみを表しているので、
Here, when the table of g i is regarded as a matrix,
The child matrix is represented by G i (see right columns in FIGS. 47A to 47C). g 1002 is the relay node 10
Since it represents only the processing cost in 02,

【数1】 を計算することで、サブツリーT(2)のコスト値を要素と
する行列が得られる(図49(a)参照)。
[Equation 1] By calculating, a matrix having the cost value of the subtree T (2) as an element is obtained (see FIG. 49 (a)).

【0237】上記式1の第i行における最小値は、親ノ
ードからのストリームデータに、i番目のカテゴリの広
告データが付加されていた場合に達成し得るサブツリー
T(2)の最小コストを表している。何れの場合も、子に
対して、カテゴリAの広告データに差し替えて送出する
ことが、最小コストを達成するための選択であることが
理解される(図49(b)参照)。
The minimum value in the i-th row of the above equation 1 represents the minimum cost of the subtree T (2) that can be achieved when the i-th category advertisement data is added to the stream data from the parent node. ing. In any case, it is understood that substituting and sending the advertisement data of category A to the child is the selection for achieving the minimum cost (see FIG. 49 (b)).

【0238】そして、以上により、図49(c)に示す
ように、中継ノード1003へ送出する嗜好ベクタと、
中継ノード1002に生成すべき付加広告指示テーブル
1022とが得られるようになり、以下、図50に示す
ように、中継ノード1002における要求フェーズ処理
が完了した後に、同様な処理が中継ノード1003,1
002,1001の順に行われて、全ての中継ノードに
付加広告指示テーブル1022が生成され、これをもと
に、以下に説明する配送フェーズにおいて、広告データ
の付加・差し替え処理が行われる。
Then, as described above, as shown in FIG. 49C, the preference vector to be transmitted to the relay node 1003,
The additional advertisement instruction table 1022 to be generated in the relay node 1002 is obtained, and thereafter, as shown in FIG. 50, after the request phase processing in the relay node 1002 is completed, the same processing is performed in the relay nodes 1003, 1
002 and 1001 are sequentially performed to generate the additional advertisement instruction table 1022 in all the relay nodes, and based on this, the advertisement data addition / replacement processing is performed in the delivery phase described below.

【0239】次に、図51は、本応用例における第2の
方法例に係る配送フェーズの具体的動作例を示す図であ
る。
FIG. 51 is a diagram showing a concrete operation example of the delivery phase according to the second method example in the present application example.

【0240】同図に示すように、サーバから送出された
ストリームデータは、各中継ノード1001,100
2,1003の各付加広告指示テーブル1022に従っ
て処理される。即ち、中継ノード1001では、広告デ
ータが付加されないままストリームデータが転送され、
中継ノード1002では、当該ストリームデータにカテ
ゴリAの広告データが付加されて転送され、中継ノード
1003では、既にカテゴリAの広告データがストリー
ムデータに付加されているので、転送のみが行われる。
As shown in the figure, the stream data sent from the server is the relay nodes 1001 and 100.
2, 1003 according to each additional advertisement instruction table 1022. That is, the relay node 1001 transfers the stream data without adding the advertisement data,
In the relay node 1002, the advertisement data of category A is added to the stream data and transferred, and in the relay node 1003, the advertisement data of category A is already added to the stream data, so only the transfer is performed.

【0241】上記の方法は、ネットワーク全体のコスト
を最小にする。図46の例において、中継ノード100
2のみにより広告データの付加処理が行われるのは、図
47(a)乃至図47(c)に示したように、G
1002が、G1001及びG1003の要素よりも値の小さい要素
を持つためである。例えば、このコスト値に、中継ノー
ドの負荷状態を反映させることにより、負荷分散を行え
ることが理解される。
The above method minimizes the cost of the entire network. In the example of FIG. 46, the relay node 100
As shown in FIGS. 47 (a) to 47 (c), the addition processing of the advertisement data is performed only by G2.
This is because 1002 has an element having a smaller value than the elements of G 1001 and G 1003 . For example, it is understood that the load distribution can be performed by reflecting the load state of the relay node on this cost value.

【0242】次に、図52は、本応用例における第2の
方法例に係る他の要求フェーズの具体的動作例を示す図
であり、図53(a)乃至図53(d)は他のコスト関
数の計算例を示す図である。
Next, FIG. 52 is a diagram showing a concrete operation example of another request phase according to the second method example in this application example, and FIGS. 53 (a) to 53 (d) show other operation examples. It is a figure which shows the example of calculation of a cost function.

【0243】まず、図52に示すように、複数のクライ
アントに対して、マルチキャストによりストリームデー
タを配送する場合、中継ノード1002や中継ノード1
004のように、複数の子を持つノードが存在するた
め、図46に示した例の場合と同様に、fk(i,a(1),
a(2),…,a(c))=gk(i,a(1))+gk(i,a(2))+…
+gk(i,a(c))と分解できる場合を仮定すると、j
(j=1,2,…,c)番目の子からの嗜好ベクタUj
=(uj 1,uj 2,…,uj n)に対して、fk(i,a(1),
a(2),…,a(c))+u1 a(1)+u2 a(2)+…+uc a(c)=(g
k(i,a(1))+u1 a(1))+(gk(i,a(2))+u2 a(2))+…
+(gk(i,a(c))+uc a(c))となる。
First, as shown in FIG. 52, when stream data is delivered to a plurality of clients by multicast, the relay node 1002 and the relay node 1
As in the case of the example shown in FIG. 46, f k (i, a (1),
a (2), ..., a (c)) = g k (i, a (1)) + g k (i, a (2)) + ...
Assuming that it can be decomposed as + g k (i, a (c)), j
Preference vector U j from the (j = 1, 2, ..., C) -th child
= (U j 1 , u j 2 , ..., u j n ) for f k (i, a (1),
a (2), ..., a (c)) + u 1 a (1) + u 2 a (2) + ・ ・ ・ + u c a (c) = (g
k (i, a (1)) + u 1 a (1) ) + (g k (i, a (2)) + u 2 a (2) ) + ...
+ (G k (i, a (c)) + u c a (c) ).

【0244】従って、各jに対しgk(i,a(j))+uj
a(j)の最小値を求めて、その和をとることにより、f
k(i,a(1),a(2),…,a(c))+u1 a(1)+u2 a(2)+…+u
c a(c)の最小値を求めることができる(同図に示す嗜好
ベクタ及び付加広告指示テーブル1022は、gkが図
53(a)乃至図53(d)の各左列に示す形態で与え
られたときに、要求フェーズにおいて送出、生成された
ものである)。なお、中継ノード1001や中継ノード
1003は、子が1つであるため、嗜好ベクタ及び付加
広告指示テーブル1022の計算方法は、図46に示し
た例と同様である。
Therefore, for each j, g k (i, a (j)) + u j
By finding the minimum value of a (j) and taking the sum, f
k (i, a (1), a (2), ..., a (c)) + u 1 a (1) + u 2 a (2) + ... + u
The minimum value of c a (c) can be obtained (in the preference vector and additional advertisement instruction table 1022 shown in the figure, g k is in the form shown in each left column of FIGS. 53A to 53D). It was sent and generated in the request phase when given). Since the relay node 1001 and the relay node 1003 have only one child, the calculation method of the preference vector and additional advertisement instruction table 1022 is the same as the example shown in FIG. 46.

【0245】次に、図54(a)及び図54(b)は、
図52の中継ノード1002に関わる部分を示す図であ
り、図55(a)乃至図55(d)は、図54(a)及
び図54(b)における中継ノード1002の計算例を
示す図、図56は、図52の中継ノード1002が嗜好
ベクタを送出する様子を示す図である。
Next, FIGS. 54 (a) and 54 (b) show
FIG. 55 is a diagram showing a part related to the relay node 1002 of FIG. 52, and FIGS. 55 (a) to 55 (d) are diagrams showing calculation examples of the relay node 1002 in FIGS. 54 (a) and 54 (b); FIG. 56 is a diagram showing how the relay node 1002 of FIG. 52 sends out a preference vector.

【0246】まず、図54(a)及び図54(b)に示
すように、中継ノード1002に対し、中継ノード10
03から嗜好ベクタU1=(20,1,20)が、ま
た、中継ノード1004から嗜好ベクタU2=(4,
3,3)が、それぞれ到着したものとする。
First, as shown in FIGS. 54 (a) and 54 (b), the relay node 10
03 to the preference vector U 1 = (20,1,20), and from the relay node 1004 to the preference vector U 2 = (4,
3 and 3) have arrived.

【0247】このとき、嗜好ベクタU1及びU2と、g
1002を表す行列G1002とから、図47(a)乃至図47
(c)に示した例と同様な計算を行うことで、図55
(a)乃至図55(c)に示すような計算結果が得ら
れ、さらに、子ごとの最小値の和をとることにより、図
55(d)に示すように、中継ノード1001に送出す
べき嗜好ベクタV1002=(16,6,15)が得られる
ようになる。そして、図56に示すように、中継ノード
1002における要求フェーズ処理の完了に伴い、同時
に最小値を得るために差し替えるべき広告データのカテ
ゴリが、子ノードごとに中継ノードの付加広告指示テー
ブル1022に設定され、これをもとに、以下に説明す
る配送フェーズにおいて、所要の広告データの付加・差
し替え処理が行われる。
At this time, the preference vectors U 1 and U 2 and g
From the matrix G 1002 Metropolitan representing the 1002, FIG. 47 (a) through FIG. 47
By performing the same calculation as in the example shown in FIG.
The calculation results shown in (a) to (c) of FIG. 55 are obtained, and the sum of the minimum values of the children is taken to send the result to the relay node 1001 as shown in (d) of FIG. The preference vector V 1002 = (16, 6, 15) can be obtained. Then, as shown in FIG. 56, upon completion of the request phase process in the relay node 1002, the category of the advertisement data to be replaced at the same time to obtain the minimum value is set in the additional advertisement instruction table 1022 of the relay node for each child node. Based on this, required advertisement data addition / replacement processing is performed in the delivery phase described below.

【0248】次に、図57は、本応用例における第2の
方法例に係る他の配送フェーズの具体的動作例を示す図
である。
Next, FIG. 57 is a diagram showing a specific operation example of another delivery phase according to the second method example in the present application example.

【0249】同図に示すように、サーバから送出された
ストリームデータは、各中継ノード1001,100
2,1003,1004の各付加広告指示テーブル10
22に従って処理される。即ち、中継ノード1001で
は、ストリームデータにカテゴリAの広告データが付加
され、中継ノード1002では、既にカテゴリAの広告
データがストリームデータに付加されているので、転送
のみが行われ、中継ノード1003では、同様の理由で
転送のみが行われ、中継ノード1004では、図示の左
の子に対してのみ、カテゴリBの広告データに差し替え
られ、右の子に対しては転送のみが行われる。
As shown in the figure, the stream data sent from the server is the relay nodes 1001 and 100.
2, 1003, 1004 additional advertisement instruction table 10
22 is processed. That is, the relay node 1001 adds the category A advertisement data to the stream data, and the relay node 1002 already adds the category A advertisement data to the stream data, so that only the transfer is performed, and the relay node 1003 For the same reason, only the transfer is performed, and in the relay node 1004, only the left child in the figure is replaced with the advertisement data of category B, and the right child is only transferred.

【0250】つまり、中継ノード1001及び中継ノー
ド1004において、所要の広告データの差し替え処理
が行われ、中継ノード1002及び中継ノード1003
においては、単に転送のみが行われるようになってい
る。これは、図53(a)乃至図53(d)に示したよ
うに、行列G1001及びG1004の要素の値が、行列G1002
及びG1003の要素の値よりも相対的に小さいことを反映
している。従って、図46の例の場合と同様、gkに各
中継ノード1001,1002,1003,1004の
負荷状態を反映させることにより、ネットワーク全体の
負荷分散を実現できることが理解される。
That is, in the relay node 1001 and the relay node 1004, the required advertisement data replacement processing is performed, and the relay node 1002 and the relay node 1003.
In, only transfer is performed. This is because the values of the elements of the matrices G 1001 and G 1004 are the same as those of the matrix G 1002 as shown in FIGS.
And G 1003 , which is relatively smaller than the value of the element. Therefore, similarly to the case of the example of FIG. 46, it is understood that the load distribution of the entire network can be realized by reflecting the load state of each relay node 1001, 1002, 1003, 1004 in g k .

【0251】なお、ストリームデータに広告データを付
加することにより、トラヒック量が著しく増加すること
が予想される場合、マルチキャストツリーを構成する通
信リンクの中で、使用可能帯域の狭い通信リンクをスト
リームデータが通過するときは、それに広告データを付
加しない方が有効である。
If it is expected that the traffic volume will increase remarkably by adding the advertisement data to the stream data, the communication link having a narrow usable band is used as the stream data among the communication links forming the multicast tree. When is passed, it is more effective not to add advertisement data to it.

【0252】これを実現するには、例えば、中継ノード
kとj番目の子の間とを結ぶツリー上における通信リン
クが混雑しているとすると、a(j)≠φのときのコスト
関数fk(i,a(1),a(2),…,a(c))の値を大きめに設
定することで、この通信リンクを、ストリームデータが
通過するときはなるべく広告データが付加されない状態
にすることが可能である。
To realize this, if the communication link on the tree connecting the relay node k and the j-th child is congested, the cost function f when a (j) ≠ φ is satisfied. By setting a large value of k (i, a (1), a (2), ..., a (c)), advertisement data is not added as much as possible when stream data passes through this communication link. It is possible to

【0253】一方、サーバからのストリームデータに、
視聴者数やそのストリームデータの種類、或いは、時々
刻々移り変わる場面の情報などを、広告データとは別に
付加しておくことにより、各中継ノードにおいて、クラ
イアントが嗜好するカテゴリに属する広告データの中か
ら、視聴者数などの情報に応じた所定の広告データを選
択し、付加・差し替えを行うことなどもできる。
On the other hand, in the stream data from the server,
By adding information such as the number of viewers, the type of stream data, or the scenes that change from moment to moment separately from the advertisement data, at each relay node, among the advertisement data belonging to the category that the client likes, It is also possible to select predetermined advertisement data according to information such as the number of viewers and add / replace it.

【0254】図58は、本応用例における第2の方法例
に適用可能な視聴者数−広告カテゴリ検索テーブルを示
す図である。
FIG. 58 is a diagram showing a viewer count / advertisement category search table applicable to the second method example in this application example.

【0255】同図に示すように、この視聴者数−広告カ
テゴリ検索テーブル1029は、その行が視聴者数を、
列が広告カテゴリを表しており、「A1」,「A2」,
「A3」が、広告カテゴリAに属する広告データを、
「B1」,「B2」,「B3」が、広告カテゴリBに属
する広告データを、「C1」,「C2」,「C3」が、
広告カテゴリCに属する広告データを、それぞれ表して
いる。
As shown in the figure, in this viewer count-advertisement category search table 1029, that row indicates the viewer count.
The columns represent the advertising categories, which are "A1", "A2",
“A3” indicates that the advertisement data belonging to the advertisement category A is
“B1”, “B2”, and “B3” indicate that the advertisement data belonging to the advertisement category B is “C1”, “C2”, and “C3”.
Each of the advertisement data belonging to the advertisement category C is shown.

【0256】以上に示す視聴者数−広告カテゴリ検索テ
ーブル1029を、付加広告指示テーブル1022に加
えて各中継ノードN2に置くことにより、視聴者数に応
じて、付加・差し替えを行うべき広告データを変更する
ことができる。
By placing the viewer number-advertisement category search table 1029 shown above in each relay node N2 in addition to the additional advertisement instruction table 1022, the advertisement data to be added / replaced according to the number of viewers is generated. Can be changed.

【0257】例えば、要求フェーズで作成される付加広
告指示テーブル1022により、カテゴリBの広告デー
タを付加(差し替え)するよう指示されている場合、サ
ーバからのストリームデータに付加されている視聴者数
情報が「5000」ならば、「B2」なる広告データを
付加(差し替え)するようにすればよい。このような方
法を採用することにより、広告主やストリームデータの
提供者とユーザとの双方の意向を反映した広告付けを行
うことも可能となる。
For example, when the additional advertisement instruction table 1022 created in the request phase instructs to add (replace) the advertisement data of category B, the viewer number information added to the stream data from the server If is "5000", the advertisement data "B2" may be added (replaced). By adopting such a method, it becomes possible to carry out advertisement attachment that reflects the intentions of both the advertiser, the stream data provider, and the user.

【0258】(プログラム例及び記録媒体例)続いて、
以上に説明した第1及び第2の方法例の実施に適用しう
るプログラム例、及び記録媒体例について説明する。
(Example Program and Example Recording Medium)
A program example and a recording medium example that can be applied to the implementation of the first and second method examples described above will be described.

【0259】実施形態1の最後で述べたように、中継ノ
ードN1,N2は、パケットからなるストリームデータ
の送受信を行うコンピュータにより構成される。従っ
て、以上に説明した第1及び第2の方法例は、これを実
行手順としてプログラム化することが可能である。
As described at the end of the first embodiment, the relay nodes N1 and N2 are composed of computers for transmitting and receiving stream data composed of packets. Therefore, the first and second method examples described above can be programmed as an execution procedure.

【0260】この場合、所要のプログラムとしては、例
えば、(a)中継ノードのルート側隣接ノードからスト
リームデータの転送を受けたときに、各クライアントの
嗜好と広告データの付加コストとの間の相関を表した嗜
好ベクタに基づき、存在する1以上のリーフ側隣接ノー
ドごとに付加広告指示テーブル1012,1022とし
て事前に分類定義された広告データのカテゴリを選択す
る処理ステップと、(b)転送されてきたストリームデ
ータに広告データが付加されていない場合に、選択され
たカテゴリに対応して広告データ記憶手段1011,1
021に事前に登録されている広告データを各リーフ側
隣接ノードへ転送する処理ステップと、(c)転送され
てきたストリームデータに広告データが既に付加されて
おり、かつ、当該広告データが、選択されたカテゴリの
ものと異なる場合に、その広告データを、当該カテゴリ
に対応して広告データ記憶手段1011,1021に事
前に登録されている広告データに差し替えて各リーフ側
隣接ノードへ転送する処理ステップと、(d)転送され
てきたストリームデータに広告データが既に付加されて
おり、かつ、当該付加データが、選択されたカテゴリの
ものと同じ場合に、当該ストリームデータを各リーフ側
隣接ノードへそのまま転送する処理ステップとを具備さ
せればよい。
In this case, as a required program, for example, (a) when the stream data is transferred from the adjacent node on the root side of the relay node, the correlation between the preference of each client and the additional cost of the advertisement data is obtained. Based on the preference vector indicating the above, the processing step of selecting a category of the advertisement data defined in advance as the additional advertisement instruction tables 1012 and 1022 for each of the existing one or more leaf side adjacent nodes, and (b) being transferred. When the advertisement data is not added to the stream data, the advertisement data storage means 1011 and 1 corresponding to the selected category.
A processing step of transferring the advertisement data registered in advance to the adjacent node on the leaf side in 021, and (c) the advertisement data is already added to the transferred stream data, and the advertisement data is selected. If the advertisement data is different from that of the classified category, the advertisement data is replaced with the advertisement data registered in advance in the advertisement data storage means 1011 and 1021 corresponding to the category and transferred to each leaf side adjacent node. And (d) when the ad data is already added to the transferred stream data and the additional data is the same as that of the selected category, the stream data is directly applied to each leaf side adjacent node. And a processing step of transferring.

【0261】また、以上のプログラムを構成する各処理
ステップからなる一連の手続を任意の記録媒体に書き込
んでおき、これを、実行に先立って中継ノードN1,N
2(ネットワークを構成する全ての中継ノード)に導入
すれば、所要の広告データ付加機能に関する処理が実現
されるようになる。
Also, a series of procedures consisting of the processing steps constituting the above program are written in an arbitrary recording medium, and this is executed before the execution of the relay nodes N1, N.
If it is installed in 2 (all relay nodes that make up the network), the processing related to the required advertisement data addition function will be realized.

【0262】以上、第1及び第2の装置例及びネットワ
ークシステム装置例並びに方法例、並びにプログラム及
び記録媒体につき、ストリームデータに付加すべき所要
の付加データとして、広告データを例に挙げて説明した
が、これは、単に本発明の一適用例に過ぎず、本発明
は、他の任意の付加データに対しても同様に適用可能で
ある。
In the above, the first and second apparatus examples, network system apparatus examples and method examples, and programs and recording media have been described by taking advertisement data as an example of required additional data to be added to stream data. However, this is merely one application example of the present invention, and the present invention is similarly applicable to any other additional data.

【0263】(第1の変形例)続いて、以上に説明した
第1及び第2の装置例及びネットワークシステム装置例
並びに方法例、並びにプログラム及び記録媒体の変形例
として、ストリームデータのデータ形式を変換する場合
の例について2つの変形例を説明する。これら変形例は
マルチキャスト通信に対する付加機能であるデータ変換
機能の第2の例である。なお、この第1の変形例では、
ストリームデータのデータ形式が、存在する全ての種別
につき互いに変換可能である(可逆性を有する)場合で
あってもそうでない場合であっても良い。
(First Modification) Next, as a modification of the first and second device examples and network system device examples and method examples, and programs and recording media described above, the data format of stream data will be described. Two modified examples of the case of conversion will be described. These modified examples are the second example of the data conversion function which is an additional function to the multicast communication. Incidentally, in this first modification,
The data format of stream data may or may not be convertible (having reversibility) for all existing types.

【0264】図59は、本変形例に係る中継ノードの内
部構成を示すブロック図である。ストリームデータのデ
ータ形式変換を行う場合、中継ノードN3として、第1
及び第2の装置例にそれぞれ示した広告データ記憶手段
(1011,1021)に代わる記憶手段1041、付
加広告指示テーブル(1012,1022)に代わる変
換指示テーブル1042、及び広告付加・差し替え手段
(1014、1024)に代わるデータ形式変換手段1
044を新たに構成し、さらに、当該各装置例における
それと同様な受信手段1043、送信手段1045、嗜
好情報抽出手段1046、嗜好情報テーブル1047、
及び嗜好情報集計手段1048を設定する。
FIG. 59 is a block diagram showing the internal structure of a relay node according to this modification. When converting the data format of stream data, the first node is selected as the relay node N3.
And a storage unit 1041 that replaces the advertisement data storage unit (1011, 1021) shown in the second device example, a conversion instruction table 1042 that replaces the additional advertisement instruction table (1012, 1022), and an advertisement addition / replacement unit (1014, 1024) alternative data format conversion means 1
044 is newly configured, and further, the receiving means 1043, the transmitting means 1045, the preference information extracting means 1046, the preference information table 1047, which are similar to those in the respective device examples.
And the preference information totalizing means 1048 is set.

【0265】以上のうち、記憶手段1041は、存在す
る各クライアントに配信しようとするストリームデータ
のデータ形式を各クライアントが受信可能な形式に変換
するためのデータ形式変換手段1044を、要求される
複数のカテゴリに亙って事前に記憶するものであり、変
換指示テーブル1042は、各クライアントの嗜好とス
トリームデータのデータ形式変換コストとの間の相関を
表した嗜好ベクタに基づき、存在する1以上のリーフ側
隣接ノードにおいて採用すべきデータ形式変換手段10
44のカテゴリを、リーフ側隣接ノードごとに事前に分
類定義したものである。
Of the above, the storage means 1041 requires a plurality of data format conversion means 1044 for converting the data format of stream data to be distributed to the existing clients into a format receivable by each client. The conversion instruction table 1042 stores one or more existing ones based on the preference vector representing the correlation between the preference of each client and the data format conversion cost of stream data. Data format conversion means 10 to be adopted in the leaf side adjacent node
The 44 categories are defined in advance for each adjacent node on the leaf side.

【0266】また、データ形式変換手段1044は、受
信手段1043で受信されたストリームデータのデータ
形式に応じ、各リーフ側隣接ノードにおいて採用すべき
データ形式変換手段1044のカテゴリを、変換指示テ
ーブル1042を参照して選択すると共に、その選択し
たカテゴリに対応して記憶手段1041に記憶されてい
るデータ形式変換手段1044を読み出し、当該読出し
に係るデータ形式変換手段1044によりストリームデ
ータのデータ形式を変換するものである。
Also, the data format conversion means 1044 determines the category of the data format conversion means 1044 to be adopted in each leaf side adjacent node according to the data format of the stream data received by the reception means 1043, and the conversion instruction table 1042. The data format conversion means 1044 stored in the storage means 1041 corresponding to the selected category is read out by reference, and the data format conversion means 1044 associated with the reading is used to convert the data format of the stream data. Is.

【0267】なお、以上のように構成された中継ノード
により、マルチキャストデータ通信システムを構成する
には、単一のサーバから1以上のクライアントに向けス
トリームデータを配信するためのマルチキャストツリー
形のネットワークを構成し、当該ネットワークに、以上
の中継ノードを複数の中継ノードにそれぞれ割り当てれ
ばよい。
In order to configure a multicast data communication system with the relay nodes configured as described above, a multicast tree type network for delivering stream data from a single server to one or more clients is used. The relay node described above may be allocated to the plurality of relay nodes in the network.

【0268】また、その方法の実施に際しては、第1及
び第2の方法例で説明した広告データのカテゴリA,
B,φを、それぞれ、互いに翻訳可能な言語であると解
釈し、中継ノードが翻訳機能を具備しているものとして
説明することができる。これにより、サーバが言語φで
記述されたストリームデータを送出し、それを、クライ
アントに届くまでの経路上にある中継ノードにおいて翻
訳することにより、クライアントが要求する言語で記述
されたストリームデータを送り届けるサービスに利用す
ることができる。
In implementing the method, category A of the advertisement data described in the first and second method examples,
It is possible to interpret B and φ as mutually translatable languages and to explain that the relay node has a translation function. As a result, the server sends the stream data described in the language φ, and by translating it at the relay node on the route until reaching the client, the stream data described in the language requested by the client is delivered. Can be used for services.

【0269】例えば、ストリームデータの一例として、
映像データなどに対する翻訳を想定すれば、その翻訳と
は、エンコード方式の変換又はメディア変換と解釈する
ことができる。但し、この種のデータ変換は片方向にし
か行えない場合も少なくないため、本変形例における方
法の適用に際しては、以上のデータ変換の特質を考慮す
るようにする。
For example, as an example of stream data,
Assuming a translation for video data or the like, the translation can be interpreted as an encoding conversion or a media conversion. However, since this kind of data conversion can often be performed in only one direction, the above characteristics of data conversion should be taken into consideration when applying the method in this modification.

【0270】図60は、本応用例における第1の変形例
に係る要求フェーズの具体的動作を示す図であり、図6
1は、同変形例における配送フェーズの具体的動作を示
す図である。
FIG. 60 is a diagram showing the specific operation of the request phase according to the first modification of this application example, and FIG.
FIG. 1 is a diagram showing a specific operation of a delivery phase in the modified example.

【0271】まず、図60に示すように、サーバは、所
要のストリームデータをエンコード方式Cで送出し、3
つのクライアントは、それとは異なるエンコード方式A
又はBによりストリームデータを受信する。但し、以上
の各エンコード方式のうち、方式Bから方式Aへの変換
は可能であるが、その逆の方式Aから方式Bへの変換は
できないものとする(これを「B⊃A」と表す)。ま
た、本図の説明では、コストモデルとして、簡単化のた
め、図40で説明したものと同じコストモデルを用いて
いるが、図46で説明した一般的なコストモデルに対し
ても拡張可能である。
First, as shown in FIG. 60, the server sends the required stream data in the encoding method C, and the
One client has a different encoding method A
Alternatively, B receives stream data. However, among the above encoding methods, conversion from method B to method A is possible, but the opposite conversion from method A to method B is not possible (this is expressed as “B⊃A”). ). Further, in the description of this figure, the same cost model as that described in FIG. 40 is used as the cost model for simplification, but it can be extended to the general cost model described in FIG. 46. is there.

【0272】ここで、「A」,「B」,「C」を、それ
ぞれ、1番目,2番目,3番目のエンコード方式とした
場合、中継ノード1004は、2つの子から嗜好ベクタ
(0,1,0),(1,0,0)を受け取るが、B⊃A
であるので、中継ノード1002に対しては、エンコー
ド方式Aを要求することはできないため、嗜好ベクタ
(0,1,0)を送信する。
Here, when "A", "B", and "C" are respectively set to the first, second, and third encoding systems, the relay node 1004 selects the preference vector (0, 1,0), (1,0,0), but B⊃A
Since the encoding method A cannot be requested to the relay node 1002, the preference vector (0, 1, 0) is transmitted.

【0273】これに対し、中継ノード1002は、2つ
の子から、嗜好ベクタ(1,0,0),(0,1,0)
を受け取るが、B⊃Aであるので、中継ノード1001
に対しては、嗜好ベクタ(0,1,0)を送信する。
On the other hand, the relay node 1002 selects the preference vectors (1,0,0) and (0,1,0) from the two children.
Is received, but since B⊃A, the relay node 1001
, The preference vector (0, 1, 0) is transmitted.

【0274】そして、以上の結果、当該要求フェーズに
おいて、図示のような変換指示テーブルが各中継ノード
1001,1002,1003,1004に設定され、
配送フェーズにおいて、図61に示すようなエンコード
方式の変換が実現される。但し、サーバが送出するデー
タ形式は、エンコード方式Bに変換可能であるとする
(そうでない場合は、このようなサービス自体が成り立
たない)。
As a result of the above, in the request phase, the conversion instruction table as shown in the figure is set in each relay node 1001, 1002, 1003, 1004,
In the delivery phase, conversion of the encoding method as shown in FIG. 61 is realized. However, it is assumed that the data format sent by the server can be converted to the encoding method B (otherwise, such a service itself does not hold).

【0275】なお、本変形例においてプログラムを構成
する場合、当該プログラムに、例えば、(a´)中継ノ
ードのルート側隣接ノードからストリームデータの転送
を受けたときに、各クライアントの嗜好とストリームデ
ータのデータ形式変換コストとの間の相関を表した嗜好
ベクタに基づき、ストリームデータのデータ形式を各ク
ライアントが受信可能な形式に変換するため、存在する
1以上のリーフ側隣接ノードごとに変換指示テーブルと
して事前に分類定義されたデータ形式変換手段のカテゴ
リを選択する処理ステップと、(b´)転送されてきた
ストリームデータのデータ形式を得るためのデータ形式
変換手段が、選択されたカテゴリのものと異なる場合
に、当該ストリームデータを、当該カテゴリに対応して
記憶手段に事前に登録されているデータ形式変換手段に
より変換して各リーフ側隣接ノードへ転送する処理ステ
ップと、(c´)転送されてきたストリームデータのデ
ータ形式を得るためのデータ形式変換手段が、選択され
たカテゴリのものと同じ場合に、当該ストリームデータ
を各リーフ側隣接ノードへそのまま転送する処理ステッ
プとを具備させればよい。
When the program is configured in the present modification, when the program receives, for example, stream data from the adjacent node on the root side of the relay node (a ′), the preference of each client and the stream data. In order to convert the data format of the stream data into a format that can be received by each client based on the preference vector that represents the correlation with the data format conversion cost of the And (b ') the data format conversion means for obtaining the data format of the transferred stream data are of the selected category. If it is different, the stream data is registered in advance in the storage means corresponding to the category. The processing step of converting the data by the existing data format conversion means and transferring it to each leaf side adjacent node, and (c ') the data format conversion means for obtaining the data format of the transferred stream data are selected in the selected category. If the same as the above, the processing step of directly transferring the stream data to each leaf side adjacent node may be provided.

【0276】また、以上のプログラムを構成する各処理
ステップからなる一連の手続を任意の記録媒体に書き込
んでおき、これを、実行に先立って中継ノード(ネット
ワークを構成する全ての中継ノード)に導入すれば、所
要のデータ変換機能に関する処理が実現されるようにな
る。
Further, a series of procedures consisting of the processing steps constituting the above program are written in an arbitrary recording medium and introduced into a relay node (all relay nodes forming a network) prior to execution. Then, the processing related to the required data conversion function will be realized.

【0277】(第2の変形例)続いて、第2の変形例と
して、ストリームデータのデータ形式が、存在する全て
の種別につき互いに変換可能とは限らない(不可逆性を
有するものが存在する)場合の他の例を、前述した第1
及び第2の方法例に基づいて説明する。なお、以降の説
明では、存在する全データ形式中に、クライアントが要
求する何れのデータ形式にも変換可能なデータ形式が、
少なくとも1つは存在するものと仮定する(この仮定を
無視した場合、全てのクライアントを1つのマルチキャ
ストツリーに収容することは不可能となる)。
(Second Modification) Subsequently, as a second modification, the data formats of stream data are not always convertible for all existing types (some have irreversibility). Another example of the case is the above-mentioned first
And a second method example. In the following description, of all the existing data formats, the data format that can be converted to any data format requested by the client is
At least one is assumed to be present (ignoring this assumption, it will not be possible to fit all clients into one multicast tree).

【0278】まず、図62は、本応用例の第2の変形例
において、第1の方法例で説明したストリームデータに
おけるデータ形式間の変換に関する制約を規定した変換
制約グラフ(有向グラフ)を示す図である。
First, FIG. 62 is a diagram showing a conversion constraint graph (directed graph) which defines the constraints on the conversion between the data formats in the stream data described in the first method example in the second modification of this application example. Is.

【0279】図示の変換制約グラフ1030において、
各節点に示す数字は、存在する全データ形式の種別(全
4種)をそれぞれ表しており、データ形式iからデータ
形式jへの変換が可能であるとき、節点iから節点jへ
至る有向枝(i,j)が存在する。但し、データ形式i
をデータ形式jへ実際に変換する際に、中間に他の1以
上のデータ形式を経る必要がある場合も、「データ形式
iからデータ形式jへの変換が可能である」と定義す
る。
In the illustrated conversion constraint graph 1030,
The numbers shown at each node represent the types (all four types) of all existing data formats, and when conversion from data format i to data format j is possible, the direction from node i to node j is directed. There is a branch (i, j). However, the data format i
Even when it is necessary to go through one or more other data formats in the middle when the data is actually converted to the data format j, it is defined as “the conversion from the data format i to the data format j is possible”.

【0280】これは、第1の方法例で述べたコストモデ
ルでは、任意のデータ形式変換がコスト「1」で行われ
るので、該当するデータ形式が直接変換可能であるか否
については、何ら意味を持たないためである。従って、
節点iから節点jに有向路が存在すれば、必ず有向枝
(i,j)が存在する。
In the cost model described in the first method example, since any data format conversion is performed at the cost "1", it does not mean that the corresponding data format can be directly converted. This is because they do not have. Therefore,
If a directional path exists from the node i to the node j, the directional branch (i, j) always exists.

【0281】なお、以上の変換制約グラフ1030は、
第1の方法例の適用を受ける第1の装置例に示した中継
ノードN1の嗜好情報集計手段1018に予め保持させ
るか、或いは、受信手段1013を通じて1以上のリー
フ側隣接ノードから転送されてくる嗜好ベクタに、デー
タとして付加させるようにすればよい。
The above conversion constraint graph 1030 is
The preference information totaling unit 1018 of the relay node N1 shown in the first device example to which the first method example is applied is held in advance, or is transferred from one or more leaf-side adjacent nodes via the receiving unit 1013. It may be added as data to the preference vector.

【0282】次に、図63は、図62に示した変換制約
グラフ1030が与えられた場合における各中継ノード
又はクライアントが送出する嗜好ベクタと、この嗜好ベ
クタに対応して配送されるストリームデータとの関係を
示す図である。
Next, FIG. 63 shows the preference vector sent by each relay node or client when the conversion constraint graph 1030 shown in FIG. 62 is given, and the stream data delivered corresponding to this preference vector. It is a figure which shows the relationship of.

【0283】なお、嗜好ベクタは、第1の方法例と同様
に定義する。即ち、全データ形式数をnとすると、嗜好
ベクタは、要素を「1」又は「0」とするn次元ベクタ
(nビットベクタ)であり、そのnビット中のiビット
目が「1」であれば、i番目のデータ形式が要求されて
いることを表す。
The preference vector is defined in the same manner as in the first method example. That is, assuming that the number of all data formats is n, the preference vector is an n-dimensional vector (n-bit vector) whose elements are "1" or "0", and the i-th bit of the n bits is "1". If so, it means that the i-th data format is requested.

【0284】ここで、図示の中継ノード1001を例と
して嗜好ベクタの集約方法を説明すれば、嗜好ベクタの
定義より、中継ノード1002は、2番目又は4番目の
データ形式を要求していることが理解される。これらの
データ形式で中継ノード1001から中継ノード100
2にストリームデータを送り出すためには、変換制約グ
ラフ1030の規定により、当該ストリームデータは、
2番目、3番目、又は4番目のデータ形式である必要が
ある。
Here, the method of collecting preference vectors will be described by taking the illustrated relay node 1001 as an example. According to the definition of the preference vector, the relay node 1002 requests the second or fourth data format. To be understood. In these data formats, the relay node 1001 to the relay node 100
In order to send the stream data to No. 2, according to the rule of the conversion constraint graph 1030, the stream data is
It must be the second, third, or fourth data format.

【0285】このように、中継ノード(又はクライアン
ト)jが要求するデータ形式に変換可能な、親ノードか
らのストリームデータのデータ形式の集合をSjで表せ
ば、S1002={2,3,4},S1003={2,3,
4},S1005={1,2,3}となる(j=4は欠
番)。
In this way, if a set of data formats of stream data from the parent node that can be converted into the data format required by the relay node (or client) j is represented by S j , S 1002 = {2,3, 4}, S 1003 = {2, 3,
4}, S1005 = {1,2,3} (j = 4 is a missing number).

【0286】このとき、全ての子ノードからの要求を満
たすためには、親ノードからのストリームデータのデー
タ形式は、S1002∩S1003∩S1005={2,3}でなく
てはならない。従って、ここでは、2番目又は3番目の
データ形式を親ノードに対して要求することになる。
At this time, in order to satisfy the requirements from all the child nodes, the data format of the stream data from the parent node must be S 1002 ∩S 1003 ∩S 1005 = {2,3}. Therefore, here, the second or third data format is requested to the parent node.

【0287】また、全ての子ノードからの嗜好ベクタの
和は(1,2,1,2)であるので、親ノードからのス
トリームデータが2番目のデータ形式であるときの方
が、中継ノード1001における変換コストが少ない。
従って、中継ノード1001は、親ノード(図示の「サ
ーバ1010」)に対し(0,1,0,0)を送出す
る。
Since the sum of the preference vectors from all the child nodes is (1, 2, 1, 2), when the stream data from the parent node is in the second data format, the relay node is better. The conversion cost in 1001 is low.
Therefore, the relay node 1001 sends (0, 1, 0, 0) to the parent node (“server 1010” in the figure).

【0288】一方、中継ノード1002及び1003に
て生成される嗜好ベクタ(0,1,0,1)及び(0,
0,1,1)は、S1006={1,2,3,4},S1007
={2,3,4},S1008={1,2,3,4},及び
1009={2,3,4}であることに基づいて導くこと
ができる。上記Sjの積集合は、任意のデータ形式に変
換可能なデータ形式が少なくとも1つは存在するので、
空集合であることはない。
On the other hand, the preference vectors (0,1,0,1) and (0,0,1) generated by the relay nodes 1002 and 1003.
0, 1, 1) is S 1006 = {1, 2, 3, 4}, S 1007
= {2,3,4}, S1008 = {1,2,3,4}, and S1009 = {2,3,4}. Since the product set of S j has at least one data format that can be converted into an arbitrary data format,
It is never the empty set.

【0289】各中継ノードでの嗜好ベクタの集約方法を
まとめれば、以下のようになる。 1.各子jからの嗜好ベクタと変換制約グラフ1030
からSjを計算する。 2.各子jからの嗜好ベクタの和(s1,s2,…,
n)を計算する。 3.Sjの積集合の要素をiとし、siの集合の中で最大
値をとるiの集合をIとする。 4.親ノードへ送出する嗜好ベクタは(b1,b2,…,
n)。但し、i’がIの要素であれば、bi'=1と
し、そうでなければ、bi'=0とする。
The method of collecting preference vectors at each relay node can be summarized as follows. 1. Preference vector from each child j and conversion constraint graph 1030
Calculate S j from 2. The sum of preference vectors from each child j (s 1 , s 2 , ...,
s n ) is calculated. 3. Let i be the element of the product set of S j and I be the set of i having the maximum value in the set of s i . 4. The preference vector sent to the parent node is (b 1 , b 2 , ...,
b n ). However, if i ′ is an element of I, then b i ′ = 1, and if not, b i ′ = 0.

【0290】なお、各中継ノードには、第1の方法例と
同様に、各子からの嗜好ベクタを満足するデータ形式に
ストリームデータが変換されるように、変換指示テーブ
ルが生成される。但し、嗜好ベクタ更新時のタイミング
などにより、一時的に、要求したデータ形式以外のデー
タ形式で、親ノードからストリームデータが到着した場
合は、子が要求するデータ形式に変換可能であれば変換
し、変換不可能であればデータパケット自体を破棄すれ
ばよい。
A conversion instruction table is generated in each relay node so that the stream data is converted into a data format that satisfies the preference vector from each child, as in the first method example. However, if the stream data arrives from the parent node in a data format other than the requested data format temporarily due to the timing of updating the preference vector, etc., convert it to the data format requested by the child if possible. If the conversion is impossible, the data packet itself may be discarded.

【0291】このことは、パケットの順序が入れ替わる
ことがない安定したネットワークであれば、さほど問題
にはならない。なぜなら、各クライアントや中継ノード
が、同じ嗜好ベクタを定期的に送信し続けている間は、
以下の理由により、要求したデータ以外のデータ形式で
親ノードからストリームデータが届くことはないからで
ある。
This does not cause much problem in a stable network in which the order of packets does not change. Because each client and relay node keep sending the same preference vector periodically,
This is because stream data will not arrive from the parent node in a data format other than the requested data for the following reasons.

【0292】即ち、当該親ノードは、常に子ノードの要
求が満たされるように嗜好ベクタを計算するので、上記
クライアント又は中継ノード以外の親ノードの子が嗜好
ベクタを変更したとしても、親ノードが新たに生成する
嗜好ベクタにより要求するストリームデータは、やは
り、上記クライアント又は中継ノードが要求するデータ
形式に変換可能であるからである。
That is, since the parent node always calculates the preference vector so that the request of the child node is satisfied, even if the child of the parent node other than the client or the relay node changes the preference vector, the parent node is This is because the stream data requested by the newly generated preference vector can be converted into the data format requested by the client or the relay node.

【0293】ところで、変換制約の特別な場合として、
1<i2ならば、i2番目のデータ形式からi1番目のデ
ータ形式への変換は可能であるが、その逆は不可能であ
るとする制約が考えられる。この場合、嗜好ベクタの計
算は、次のように簡単化できる。
By the way, as a special case of the conversion constraint,
If i 1 <i 2 , conversion from the i 2 -th data format to the i 1 -th data format is possible, but the reverse is impossible. In this case, the preference vector calculation can be simplified as follows.

【0294】即ち、中継ノード(又はクライアント)j
からの嗜好ベクタを(bj 1,bj 2,…,bj n)、bj i
1を満たす添字iの最小値をmin(j)とし、全ての子jに
わたるmin(j)の最大値をTとすると、全ての子jに対す
るSjの積集合は、集合{i|i≧T}である。
That is, the relay node (or client) j
The preference vector from (b j 1 , b j 2 , ..., b j n ), b j i =
Let min (j) be the minimum value of the subscript i satisfying 1 and T be the maximum value of min (j) over all the children j, and the product set of S j for all the children j is the set {i | i ≧ T}.

【0295】例えば、図64(変換制約が特別な場合の
例)に示す中継ノード1001の場合、min(2)=2,mi
n(3)=3,min(5)=1であるから(j=4は欠番)、T
=3となり、S1002∩S1003∩S1005={3,4}とな
る。このとき、3つの子からの嗜好ベクタの和は(1,
2,1,2)であるので、中継ノード1001は、親ノ
ード(図示の「サーバ1010」)に対し(0,0,
0,1)を送出する。
[0295] For example, in the case of the relay node 1001 shown in Fig. 64 (example of special conversion constraint), min (2) = 2, mi
Since n (3) = 3 and min (5) = 1 (j = 4 is a missing number), T
= 3, and S 1002 ∩S 1003 ∩S 1005 = { 3,4}. At this time, the sum of the preference vectors from the three children is (1,
2, 1, 2), the relay node 1001 sends (0, 0, 0) to the parent node (“server 1010” in the figure).
0, 1) is transmitted.

【0296】以上、第1の方法例で述べたコストモデル
に基づく変換制約の対応方法について説明したが、これ
に対し、第2の方法例で述べたコストモデルでは、関数
k(i,a(1),a(2),…,a(c))の値を次のように設定
することで、所要の変換制約に対応することができる。
The method of dealing with the conversion constraint based on the cost model described in the first method example has been described above. On the other hand, in the cost model described in the second method example, the function f k (i, a By setting the values of (1), a (2), ..., A (c)) as follows, it is possible to meet the required conversion constraint.

【0297】即ち、データ形式iからは変換不可能なデ
ータ形式が、a(1),a(2),…,a(c)の中に含まれている
場合は、fk(i,a(1),a(2),…,a(c))=∞(無限
大)と設定することにより、このような(i,a(1),a
(2),…,a(c))の組み合わせを除外することができる。
また、fk(i,a(1),a(2),…,a(c))の値には、デー
タ形式間の変換コストの違いを反映させることができ
る。
That is, when a data format that cannot be converted from the data format i is included in a (1), a (2), ..., A (c), f k (i, a By setting (1), a (2), ..., a (c)) = ∞ (infinity), such (i, a (1), a
The combination of (2),…, a (c)) can be excluded.
Further, the value of f k (i, a (1), a (2), ..., A (c)) can reflect the difference in conversion cost between data formats.

【0298】図65は、本発明の第2の変形例におい
て、第2の方法例で説明したストリームデータにおける
データ形式間の変換に関する制約を規定した変換制約グ
ラフ(有向グラフ)を示す図である。なお、各有向枝の
ラベルは、対応するデータ変換コストを表している。
FIG. 65 is a diagram showing a conversion constraint graph (directed graph) which defines constraints on conversion between data formats in stream data described in the second method example in the second modification example of the present invention. The label of each directed edge represents the corresponding data conversion cost.

【0299】ここで、同図に示す変換制約グラフ103
1が与えられた場合において、第2の方法例と同様に、
k(i,a(1),a(2),…,a(c))=gk(i,a(1))+g
k(i,a(2))+…+gk(i,a(c))と分解できる場合を考
え、さらに、gk(i,a(j))を有向枝(i,a(j))のラ
ベルと定義すれば、fk(2,1,1,3)=gk(2,1)
+gk(2,1)+gk(2,3)=3+3+2=8と計算さ
れる。
Here, the conversion constraint graph 103 shown in FIG.
When 1 is given, as in the second method example,
f k (i, a (1), a (2), ..., a (c)) = g k (i, a (1)) + g
Considering a case in which k (i, a (2)) + ... + g k (i, a (c)) can be decomposed, g k (i, a (j)) is further directed to (i, a (j) )) Label, f k (2,1,1,3) = g k (2,1)
It is calculated that + g k (2,1) + g k (2,3) = 3 + 3 + 2 = 8.

【0300】このように、各データ形式間の変換コスト
を(i,a(1),a(2),…,a(c))の値に反映させることに
より、マルチキャストツリー全体として、より緻密な変
換コスト最小化を実現することが可能となる。
As described above, by reflecting the conversion cost between each data format in the value of (i, a (1), a (2), ..., A (c)), the overall multicast tree becomes more precise. It is possible to minimize various conversion costs.

【0301】なお、以上の変形例によれば、第2の方法
例で述べたような、fk(i,a(1),a(2),…,a(c))の
値に、ノードの負荷状態や通信リンクの使用可能帯域を
反映させることなども可能である。
According to the above modification, the values of f k (i, a (1), a (2), ..., A (c)) as described in the second method example are It is also possible to reflect the load status of the node and the available bandwidth of the communication link.

【0302】即ち、ノードの負荷状態を反映させるに
は、負荷の重い中継ノードでは、関数fk(i,a(1),a
(2),…,a(c))の値を他の中継ノードの関数の値よりも
大きく設定することにより、第2の方法例で述べたよう
に、負荷の重い中継ノードにおける変換処理を、なるべ
く避けるようにすることができる。
That is, in order to reflect the load state of the node, the function f k (i, a (1), a
By setting the values of (2), ..., a (c)) to be larger than the values of the functions of other relay nodes, the conversion processing in the relay node with a heavy load is performed as described in the second method example. , You can try to avoid it as much as possible.

【0303】また、通信リンクの使用可能帯域を反映さ
せるには、親ノードとの間の通信リンクが混雑している
場合に、必要帯域の大きいデータ形式から他のデータ形
式への変換コストを大きめに設定することにより、その
必要帯域の大きいデータ形式のストリームデータが上記
混雑している通信リンクを通過する可能性を低減するこ
とができる。
Further, in order to reflect the usable bandwidth of the communication link, when the communication link with the parent node is congested, the conversion cost from a data format with a large required bandwidth to another data format is increased. By setting to, it is possible to reduce the possibility that stream data in a data format having a large required band will pass through the congested communication link.

【0304】(マルチキャスト通信への応用)次に、本
応用例における中継ノードの全体の構成について説明す
る。図66は中継ノードN4の全体構成の詳細を示した
ブロック図であって、図33及び図38に示したものと
同じ構成要素については同一の符号を付している。な
お、図中の太実線はデータパケットの流れを示し、細実
線は受信要求パケットの流れを示し、点線は制御信号の
流れを示している。
(Application to Multicast Communication) Next, the overall configuration of the relay node in this application example will be described. FIG. 66 is a block diagram showing details of the overall configuration of the relay node N4, and the same components as those shown in FIGS. 33 and 38 are designated by the same reference numerals. The thick solid line in the figure shows the flow of data packets, the thin solid line shows the flow of reception request packets, and the dotted line shows the flow of control signals.

【0305】図66に示した通り、中継ノードの全体構
成は基本的に図33及び図38の構成要素を合わせたも
のである。ただし、図33の受信手段77及び送信手段
76がそれぞれ図38の受信手段1013及び送信手段
1015と共通化されているほか、以下に述べるように
幾つかの構成要素が一部変更されている。
As shown in FIG. 66, the entire structure of the relay node is basically a combination of the components of FIGS. 33 and 38. However, the receiving means 77 and the transmitting means 76 in FIG. 33 are common to the receiving means 1013 and the transmitting means 1015 in FIG. 38, respectively, and some constituent elements are partially changed as described below.

【0306】まず、配信テーブル管理手段1174は配
信テーブル73に加えて付加広告指示テーブル1012
及び嗜好情報テーブル1017も管理(生成,更新,削
除)するように構成される。ノード負荷測定手段117
2は、中継ノードの負荷状態をコスト値に反映させるた
めに嗜好情報集計手段1118に対しても測定した負荷
状態を送信する。嗜好情報集計手段1118は、ノード
負荷測定手段1172から受信した負荷状態に基づいて
自身の中継ノードが高負荷であるかどうか判断し、高負
荷であれば子ノードからの受信要求パケットをそのまま
親ノードに向かって転送するための指示をパケット生成
手段1175に送出する。また、嗜好情報集計手段11
18は、嗜好ベクタに対して集約的演算を施す際にタイ
ムアウトした子の嗜好情報を集約の対象外とするため
に、配信テーブル73を参照する。また、パケット生成
手段1175は嗜好情報集計手段1118からの指示が
送られた場合に受信要求パケットをソースアドレスを現
在のノードのアドレスに変えて親ノードに向けて転送す
る。
First, the distribution table management means 1174 adds the distribution table 73 and the additional advertisement instruction table 1012.
The preference information table 1017 is also configured to be managed (generated, updated, deleted). Node load measuring means 117
2 also transmits the measured load state to the preference information collecting unit 1118 in order to reflect the load state of the relay node in the cost value. Based on the load status received from the node load measuring means 1172, the preference information totaling means 1118 judges whether or not its own relay node has a high load, and if the load is high, the reception request packet from the child node is directly sent to the parent node. To the packet generation means 1175. Also, the preference information totaling means 11
The reference numeral 18 refers to the distribution table 73 in order to exclude the child preference information that has timed out when performing the intensive calculation on the preference vector. Further, when the instruction from the preference information totaling means 1118 is sent, the packet generating means 1175 changes the source address to the address of the current node and transfers the reception request packet to the parent node.

【0307】次に、図67は本応用例における受信要求
パケットのフォーマットを示した図であって、図36と
同じフィールドには同一の符号を付けている。図36と
の違いは嗜好ベクタ117のフィールドが追加されてい
る点である。つまり、本応用例では受信要求パケットに
嗜好ベクタが載せられている。上述したように、実施の
形態1ないし3では受信要求パケットが定期的に送出さ
れ、データパケットは受信要求パケットが通過した経路
の逆順を辿って配信される。一方、本応用例では嗜好ベ
クタを載せたパケットに基づいてデータパケット上のデ
ータに対するデータ形式変換方法を決定しており、嗜好
ベクタを載せたパケットはデータパケットが通過する経
路と同じ経路をたどる必要がある。また、クライアント
の嗜好の変化に対応した嗜好ベクタの変更に追随するに
は、少なくとも嗜好ベクタが変化したときに嗜好ベクタ
を載せたパケットを再送する必要がある。こうしたマル
チキャスト配信とデータ変換機能の類似性に鑑み、受信
要求パケットに嗜好ベクタを載せてデータ変換機能を効
率的に実現するようにしている。
Next, FIG. 67 is a diagram showing the format of a reception request packet in this application example, and the same fields as in FIG. 36 are assigned the same reference numerals. The difference from FIG. 36 is that a field of preference vector 117 is added. That is, in this application example, the preference vector is included in the reception request packet. As described above, in the first to third embodiments, the reception request packet is sent out periodically, and the data packet is distributed in the reverse order of the route through which the reception request packet has passed. On the other hand, in this application example, the data format conversion method for the data in the data packet is determined based on the packet carrying the preference vector, and the packet carrying the preference vector needs to follow the same route as the data packet passes. There is. Further, in order to follow the change of the preference vector corresponding to the change of the preference of the client, it is necessary to retransmit the packet carrying the preference vector at least when the preference vector changes. In consideration of the similarities between the multicast distribution and the data conversion function, the preference vector is placed in the reception request packet to efficiently realize the data conversion function.

【0308】また、図68は本応用例におけるデータパ
ケットのフォーマットを示した図であって、図37と同
じフィールドには同一の符号を付けている。図37との
違いはチャネルID125とデータ126の間にデータ
形式制御情報127及びデータ形式128の各フィール
ドが挿入されている点である。データ形式制御情報12
7は、データ126に対して部分的に変換処理を施す場
合(広告データの付加あるいは差し替えを行う場合)に
用いられるものであって、変換処理の対象となる部分の
位置を示している。例えば広告データの差し替えを行う
場合、データ形式制御情報127は差し替え対象となる
部分を示す。
FIG. 68 is a diagram showing the format of a data packet in this application example, and the same fields as in FIG. 37 are assigned the same reference numerals. The difference from FIG. 37 is that the fields of the data format control information 127 and the data format 128 are inserted between the channel ID 125 and the data 126. Data format control information 12
Reference numeral 7 is used when partially converting the data 126 (when adding or replacing the advertisement data), and indicates the position of the portion to be converted. For example, when the advertisement data is replaced, the data format control information 127 indicates the part to be replaced.

【0309】一方、データ形式128はデータ126を
記述しているデータ形式の名称を表している。1つのマ
ルチキャストツリーの中では、広告データの付加/差し
替えを行う処理とデータ形式の変換処理の双方を行うこ
とが可能である。このため、データ形式128は、スト
リームデータの符号化方式(例えばMPEG1,MPE
G2)である場合もあるし、ストリームに付加された広
告データ等を示すデータ名である場合もあるし、あるい
は、これらの双方を同時に表している場合もある。各中
継ノードはデータ形式128として取りうる全ての値に
対してそれぞれ変換処理ルーチンを持っており、これら
変換処理ルーチンの中でデータ形式制御情報127が参
照される。なお、広告データの付加あるいは差し替えが
行われる場合、データ126はストリームデータの他に
広告データも含んでいる。
On the other hand, the data format 128 represents the name of the data format describing the data 126. In one multicast tree, it is possible to perform both the process of adding / replacement of advertisement data and the process of converting the data format. Therefore, the data format 128 is an encoding method for stream data (for example, MPEG1, MPE).
G2), a data name indicating advertisement data or the like added to the stream, or both of them at the same time. Each relay node has a conversion processing routine for all values that can be taken as the data format 128, and the data format control information 127 is referred to in these conversion processing routines. When the advertisement data is added or replaced, the data 126 includes the advertisement data in addition to the stream data.

【0310】そして図66に示した中継ノードの動作は
次のようになる。受信要求パケットが中継ノードN4に
到着すると、受信手段1177を介して配信テーブル管
理手段1174にこの受信要求パケットが渡され、マル
チキャスト通信に係る上述した実施の形態1ないし実施
の形態3で説明した通りの動作がなされる。ただし、こ
の際、配信テーブル73の生成・削除または配信テーブ
ル73を構成する各エントリの生成・削除と同期して、
嗜好情報テーブル1017及び付加広告指示テーブル1
012の生成・削除または嗜好情報テーブル1017及
び付加広告指示テーブル1012を構成する各エントリ
の生成・削除が行われる。
The operation of the relay node shown in FIG. 66 is as follows. When the reception request packet arrives at the relay node N4, the reception request packet is passed to the distribution table management means 1174 via the reception means 1177, and as described in the first to third embodiments relating to the multicast communication. Is performed. However, at this time, in synchronization with the generation / deletion of the distribution table 73 or the generation / deletion of each entry constituting the distribution table 73,
Preference information table 1017 and additional advertisement instruction table 1
012 is generated / deleted, or each entry forming the preference information table 1017 and the additional advertisement instruction table 1012 is generated / deleted.

【0311】一方、受信要求パケットは受信手段117
7を介して嗜好情報抽出手段1016にも渡され、本応
用例において上述したように処理される。ただし、嗜好
情報集計手段1118は、嗜好情報テーブル1017上
の嗜好ベクタに対して集約的演算を施すにあたっては、
配信テーブル73を参照してタイムアウトした子の嗜好
情報を集約の対象外としている。他方、データパケット
は受信手段1177を介してパケット複製手段78に渡
され、マルチキャスト通信に係る上述した実施の形態1
ないし実施の形態3で説明した通りの動作がなされたの
ち、広告付加・差し替え手段1114に渡されて本応用
例において上述したように処理されて送信手段1176
から送出される。
On the other hand, the reception request packet is received by the receiving means 117.
7 is also passed to the preference information extraction means 1016, and processed as described above in this application example. However, when the preference information totaling means 1118 performs an aggregate operation on the preference vector on the preference information table 1017,
The distribution table 73 is referred to and the preference information of the timed-out child is excluded from the aggregation target. On the other hand, the data packet is passed to the packet duplication unit 78 via the reception unit 1177, and the above-described first embodiment relating to the multicast communication is performed.
Or, after the operation as described in the third embodiment is performed, it is passed to the advertisement addition / replacement means 1114, processed as described above in this application example, and transmitted by the transmission means 1176.
Sent from.

【0312】次に、図69は本応用例によるクライアン
トの内部構成を示したブロック図であって、図32に示
したものと同じ構成要素については同一の符号を付けて
いる。本応用例では図32の構成に対して、ユーザの嗜
好に関する情報を取得して嗜好ベクタを生成する嗜好情
報取得手段1201が追加されている。そして、パケッ
ト生成手段1162は、時計61を用いて受信要求パケ
ットを定期的に生成する際に、嗜好情報取得手段120
1からの嗜好ベクタを受信要求パケットに載せるように
している。なお、図中、太実線はデータパケットの流れ
を示し、細実線は受信要求パケットの流れを示し、点線
は制御信号の流れを示している。
Next, FIG. 69 is a block diagram showing the internal structure of the client according to this application example, and the same components as those shown in FIG. 32 are assigned the same reference numerals. In the present application example, a preference information acquisition unit 1201 that acquires information regarding a user's preference and generates a preference vector is added to the configuration of FIG. Then, the packet generation means 1162 uses the clock 61 to periodically generate the reception request packet, and the preference information acquisition means 120.
The preference vector from 1 is placed in the reception request packet. In the figure, the thick solid line shows the flow of data packets, the thin solid line shows the flow of reception request packets, and the dotted line shows the flow of control signals.

【0313】なお、図66では配信テーブル73,付加
広告指示テーブル1012,嗜好情報テーブル1017
を別々のテーブルで構成していたが、これらを単一のテ
ーブルに統合すると効率が良い。図70はこうした統合
型配信テーブルの一例を示したものである。図示したよ
うに、統合型配信テーブルは子番号、アドレス,ポー
ト,受信要求パケット到着時間,嗜好ベクタ,広告の各
フィールドが組になって構成されている。
In FIG. 66, the distribution table 73, the additional advertisement instruction table 1012, and the preference information table 1017.
Was configured with separate tables, but it is efficient to combine these into a single table. FIG. 70 shows an example of such an integrated distribution table. As shown in the figure, the integrated distribution table is composed of fields of child number, address, port, reception request packet arrival time, preference vector, and advertisement.

【0314】「子番号」,「アドレス」,「受信要求パ
ケット到着時間」の各フィールドは図2に示したものと
同様である。「ポート」フィールドは図35で説明した
配信テーブル上における「受信ポート」フィールドに相
当する。「嗜好ベクタ」フィールドは各子から送られて
くる嗜好ベクタが格納される。「広告」フィールドは親
ノードから送られてくる可能性がある広告データのカテ
ゴリφ,A,B,C(例えば図39(b)における「I
n」に相当)の各々について子に配信される広告データ
のカテゴリ(例えば図39(b)における「Out1」
あるいは「Out2」に相当)が子毎に格納される。
The fields of "child number", "address", and "reception request packet arrival time" are the same as those shown in FIG. The "port" field corresponds to the "reception port" field on the distribution table described with reference to FIG. The "preference vector" field stores the preference vector sent from each child. The “advertisement” field is a category φ, A, B, C of the advertisement data that may be sent from the parent node (for example, “I” in FIG. 39B).
n ”) corresponding to the category of the advertisement data distributed to the child (for example,“ Out1 ”in FIG. 39B).
Alternatively, “(Out2)” is stored for each child.

【0315】本発明の応用例によれば、各クライアント
の嗜好に合った広告などの付加データをコンテンツデー
タに効率良く付加することが可能になると共に、コンテ
ンツデータの配信過程において、当該コンテンツデータ
のデータ形式を各クライアントが受信可能な形式に変換
することが可能となり、これに加え、所要のコンテンツ
データの配信を、各中継ノード自身の負荷状態や当該各
中継ノードの通信リンクの負荷状態を考慮して行うこと
が可能となる。
According to the application example of the present invention, it becomes possible to efficiently add additional data such as an advertisement that suits the taste of each client to the content data, and at the same time, in the distribution process of the content data, It becomes possible to convert the data format to a format that can be received by each client. In addition to this, the distribution of the required content data is considered in consideration of the load status of each relay node itself and the load status of the communication link of each relay node. It becomes possible to do it.

【0316】以上、本発明の実施の形態を説明したが、
本発明は、必ずしも上述した手段と手法及び手順並びに
手続にのみ限定されるものではなく、本発明にいう目的
を達成し、後述の効果を有する範囲内において、適宜変
更実施することが可能なものである。
The embodiment of the present invention has been described above.
The present invention is not necessarily limited to the above-described means, methods, procedures and procedures, and can be appropriately modified and implemented within the scope of achieving the object of the present invention and having the effects described below. Is.

【0317】例えば、以上の説明では、コンテンツデー
タの一例として、ストリームデータを挙げたが、これ
は、単に本発明の一適用例に過ぎず、本発明は、他の任
意のコンテンツデータに対しても同様に適用可能であ
る。
For example, in the above description, stream data was given as an example of content data, but this is merely one application example of the present invention, and the present invention is applied to any other content data. Is similarly applicable.

【0318】[0318]

【発明の効果】本発明によれば、中継装置は、受信装置
が定期的に送出する受信要求メッセージ又は送信装置か
らのデータのいずれか一方だけを受信しても配信表を生
成することはない。このため、悪意のあるユーザが多数
のアドレス宛てに配信表生成のためのパケットを送出す
る等の攻撃を行っても、無意味な配信表がネットワーク
内の中継装置に多数生成されてしまうことはない。した
がって、上記攻撃により中継装置の負荷が重くなったり
その性能が低下したりといったことを防ぐことができ
る。
According to the present invention, the relay device does not generate the distribution table even if it receives only one of the reception request message periodically sent by the receiving device and the data from the transmitting device. . Therefore, even if a malicious user makes an attack such as sending a packet for generating a distribution table to a large number of addresses, a large number of meaningless distribution tables will not be generated in the relay device in the network. Absent. Therefore, it is possible to prevent the load of the relay device from becoming heavy and the performance thereof from being deteriorated due to the attack.

【0319】また本発明によれば、受信装置は受信要求
メッセージを定期的に発行し、送信装置または中継装置
は予め定めた時間間隔内に受信要求メッセージがこない
受信装置に対するマルチキャストデータの配送を停止さ
せることにより、受信装置が故障したり、伝送路でパケ
ットロスが発生した場合にマルチキャストデータの配送
を停止可能となる。また、受信装置は受信要求メッセー
ジを定期的に発行し続けるため、受信装置に対する最寄
りの中継装置が変化したり、中継装置の負荷状態が変化
した場合でも、マルチキャストデータの配送経路の変更
が可能となり、さらにまた、受信装置は能動的にパケッ
トを出す状態のみで良く、状態遷移が不要となる。
Further, according to the present invention, the receiving device periodically issues the reception request message, and the transmitting device or the relay device stops the delivery of the multicast data to the receiving device which does not receive the reception request message within a predetermined time interval. By doing so, the delivery of the multicast data can be stopped when the receiving device fails or a packet loss occurs on the transmission path. Further, since the receiving device continues to issue the reception request message periodically, even if the relay device closest to the receiving device changes or the load state of the relay device changes, it is possible to change the delivery route of the multicast data. Furthermore, the receiving device is only required to actively output packets, and the state transition is unnecessary.

【0320】さらに請求項5,15記載の発明によれ
ば、各ユーザの嗜好に合った広告などの付加データを受
信装置に配信されるコンテンツデータ等へ効率良く付加
することが可能になると共に、コンテンツデータ等の配
信過程において、例えば当該コンテンツデータのデータ
形式を各受信装置が受信可能な形式に変換することが可
能となる。これに加えて、請求項6,16記載の発明に
よれば、所要のコンテンツデータ等の配信を、各中継装
置自身の負荷状態や当該各中継装置の通信リンクの負荷
状態を考慮して行うことが可能となる。
Further, according to the inventions of claims 5 and 15, it becomes possible to efficiently add additional data such as an advertisement that suits the taste of each user to the content data or the like distributed to the receiving device. In the distribution process of content data and the like, for example, the data format of the content data can be converted into a format that can be received by each receiving device. In addition to this, according to the invention described in claims 6 and 16, distribution of required content data and the like is performed in consideration of the load state of each relay device itself and the load state of the communication link of each relay device. Is possible.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の実施の形態1に関わるマルチキャス
ト通信におけるネットワーク構成の一例を示す説明図で
ある。
FIG. 1 is an explanatory diagram showing an example of a network configuration in multicast communication according to a first embodiment of the present invention.

【図2】 中継ノードで生成され更新される本発明の実
施の形態1に関わる配信テーブルの一例を示す説明図で
ある。
FIG. 2 is an explanatory diagram showing an example of a distribution table according to the first embodiment of the present invention generated and updated by a relay node.

【図3】 本発明の実施の形態1に関わる中継ノードか
らデータがユニキャストされる過程の説明図である。
FIG. 3 is an explanatory diagram of a process of unicasting data from a relay node according to the first embodiment of the present invention.

【図4】 本発明の実施の形態1に関わる中継ノードか
らデータがユニキャストされる過程の説明図である。
FIG. 4 is an explanatory diagram of a process of unicasting data from the relay node according to the first embodiment of the present invention.

【図5】 本発明の実施の形態1に関わる更新後の配信
テーブルの一例を示す図である。
FIG. 5 is a diagram showing an example of an updated distribution table according to the first embodiment of the present invention.

【図6】 本発明の実施の形態1に関わるマルチキャス
ト通信におけるネットワーク構成の他の例を示す図であ
る。
FIG. 6 is a diagram showing another example of a network configuration in multicast communication according to the first embodiment of the present invention.

【図7】 図6のネットワーク構成におけるマルチキャ
ストツリーの構成過程の説明図である。
7 is an explanatory diagram of a process of constructing a multicast tree in the network configuration of FIG.

【図8】 図6のネットワーク構成におけるマルチキャ
ストツリーの構成過程の説明図である。
8 is an explanatory diagram of a process of constructing a multicast tree in the network configuration of FIG.

【図9】 図6のネットワーク構成におけるマルチキャ
ストツリーの構成過程の説明図である。
9 is an explanatory diagram of a process of forming a multicast tree in the network configuration of FIG.

【図10】 図6のネットワーク構成におけるマルチキ
ャストツリーの構成過程の説明図である。
10 is an explanatory diagram of a process of constructing a multicast tree in the network configuration of FIG.

【図11】 図6のネットワーク構成におけるマルチキ
ャストツリーの構成過程の説明図である。
11 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 6;

【図12】 本発明の実施の形態1に関わる受信要求パ
ケット到着時の処理を示すフローチャートである。
FIG. 12 is a flowchart showing processing upon arrival of a reception request packet according to the first embodiment of the present invention.

【図13】 図12中の高負荷時の処理を示すフローチ
ャートである。
FIG. 13 is a flow chart showing the processing when the load is high in FIG.

【図14】 本発明の実施の形態1に関わるデータパケ
ット到着時の処理を示すフローチャートである。
FIG. 14 is a flowchart showing processing when a data packet arrives according to the first embodiment of the present invention.

【図15】 図14中のエントリ削除操作の処理を示す
フローチャートである。
FIG. 15 is a flowchart showing the processing of the entry deletion operation in FIG.

【図16】 本発明の実施の形態2に関わるマルチキャ
スト通信におけるネットワーク構成の一例を示す図であ
る。
FIG. 16 is a diagram showing an example of a network configuration in multicast communication according to the second embodiment of the present invention.

【図17】 図16のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
17 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG.

【図18】 図16のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
FIG. 18 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 16;

【図19】 図16のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
19 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG.

【図20】 図16のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
20 is an explanatory diagram of a process of constructing a multicast tree in the network configuration of FIG.

【図21】 図16のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
FIG. 21 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 16;

【図22】 図16のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
22 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 16;

【図23】 本発明の実施の形態2に関わる受信要求パ
ケット到着時の処理を示すフローチャートである。
FIG. 23 is a flowchart showing processing upon arrival of a reception request packet according to the second embodiment of the present invention.

【図24】 本発明の実施の形態2に関わる配信テーブ
ル生成パケット到着時の処理を示すフローチャートであ
る。
FIG. 24 is a flowchart showing processing when a distribution table generation packet arrives according to the second embodiment of the present invention.

【図25】 本発明の実施の形態3に関わるマルチキャ
スト通信におけるネットワーク構成の一例を示す図であ
る。
FIG. 25 is a diagram showing an example of a network configuration in multicast communication according to the third embodiment of the present invention.

【図26】 図25のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
FIG. 26 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 25.

【図27】 図25のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
27 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 25. FIG.

【図28】 図25のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
28 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 25. FIG.

【図29】 図25のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
29 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG. 25.

【図30】 本発明の実施の形態3に関わる受信要求パ
ケット到着時の処理を示すフローチャートである。
FIG. 30 is a flowchart showing processing upon arrival of a reception request packet according to the third embodiment of the present invention.

【図31】 本発明の実施の形態3に関わるデータパケ
ット到着時の処理を示すフローチャートである。
FIG. 31 is a flowchart showing processing upon arrival of a data packet according to the third embodiment of the present invention.

【図32】 本発明の実施の形態1乃至3に関わるクラ
イアントの構成例を示すブロック図である。
FIG. 32 is a block diagram showing a configuration example of a client according to the first to third embodiments of the present invention.

【図33】 本発明の実施の形態1乃至3に関わる中継
ノードの構成例を示すブロック図である。
FIG. 33 is a block diagram showing a configuration example of a relay node according to the first to third embodiments of the present invention.

【図34】 本発明の実施の形態1乃至3に関わるサー
バーの構成例を示すブロック図である。
FIG. 34 is a block diagram showing a configuration example of a server according to the first to third embodiments of the present invention.

【図35】 本発明の実施の形態1乃至3における特定
ポートを用いたフロー識別の様子を示す図である。
FIG. 35 is a diagram showing a state of flow identification using a specific port according to the first to third embodiments of the present invention.

【図36】 本発明の実施の形態1乃至3における受信
要求パケットのフォーマットの一例を示した図である。
FIG. 36 is a diagram showing an example of a format of a reception request packet according to the first to third embodiments of the present invention.

【図37】 本発明の実施の形態1乃至3におけるデー
タパケットのフォーマットの一例を示した図である。
FIG. 37 is a diagram showing an example of a data packet format according to the first to third embodiments of the present invention.

【図38】 本発明の応用例における第1の装置例に係
る中継ノードの内部構成を示すブロック図である。
FIG. 38 is a block diagram showing an internal configuration of a relay node according to a first device example in an application example of the invention.

【図39】 本発明の応用例における第1の方法例に係
る要求フェーズの概要を示す図である。
FIG. 39 is a diagram showing an outline of a request phase according to a first method example in an application example of the invention.

【図40】 本発明の応用例における第1の方法例に係
る要求フェーズの具体的動作例を示す図である。
[Fig. 40] Fig. 40 is a diagram illustrating a specific operation example of a request phase according to a first method example in an application example of the invention.

【図41】 本発明の応用例における第1の方法例に係
る配送フェーズの具体的動作例を示す図である。
FIG. 41 is a diagram showing a specific operation example of a delivery phase according to a first method example in an application example of the invention.

【図42】 所要の広告データの付加・差し替え処理を
通常の方法により実行した場合のコスト例を示す図であ
る。
[Fig. 42] Fig. 42 is a diagram illustrating a cost example in the case where required advertisement data addition / replacement processing is executed by a normal method.

【図43】 本発明の応用例における第1の方法例によ
り広告データの付加・差し替え処理を実行した場合のコ
スト例を示す図である。
[Fig. 43] Fig. 43 is a diagram illustrating a cost example when the advertisement data addition / replacement process is executed by the first method example in the application example of the invention.

【図44】 本発明の応用例における第2の装置例に係
る中継ノードの内部構成を示すブロック図である。
FIG. 44 is a block diagram showing an internal configuration of a relay node according to a second device example in an application example of the invention.

【図45】 本発明の応用例における第2の方法例にお
けるコストモデルの概要を示す図である。
FIG. 45 is a diagram showing an outline of a cost model in a second method example in an application example of the invention.

【図46】 本発明の応用例における第2の方法例に係
る要求フェーズの具体的動作例を示す図である。
FIG. 46 is a diagram showing a specific operation example of a request phase according to a second method example in an application example of the invention.

【図47】 本発明の応用例における第2の方法例に係
るコスト関数の具体例を示す図である。
FIG. 47 is a diagram showing a specific example of the cost function according to the second method example in the application example of the invention.

【図48】 本発明の応用例における第2の方法例に係
る要求フェーズの具体的動作例の一部分を示す図であ
る。
FIG. 48 is a diagram showing a part of a specific operation example of a request phase according to a second method example in an application example of the invention.

【図49】 本発明の応用例における第2の方法例に係
るコスト関数の計算例を示す図である。
FIG. 49 is a diagram showing a calculation example of a cost function according to a second method example in an application example of the invention.

【図50】 本発明の応用例における第2の方法例に係
る要求フェーズの具体的動作例の他の一部分を示す図で
ある。
FIG. 50 is a diagram showing another part of a concrete operation example of the request phase according to the second method example in the application example of the invention.

【図51】 本発明の応用例における第2の方法例に係
る配送フェーズの具体的動作例を示す図である。
FIG. 51 is a diagram showing a specific operation example of the delivery phase according to the second method example in the application example of the invention.

【図52】 本発明の応用例における第2の方法例に係
る他の要求フェーズの具体的動作例を示す図である。
FIG. 52 is a diagram illustrating a specific operation example of another request phase according to the second method example in the application example of the invention.

【図53】 本発明の応用例における第2の方法例に係
る他のコスト関数の計算例を示す図である。
FIG. 53 is a diagram showing a calculation example of another cost function according to the second method example in the application example of the invention.

【図54】 図52の中継ノード1002に関わる部分
を示す図である。
54 is a diagram showing a part related to the relay node 1002 of FIG. 52. FIG.

【図55】 図54(a)における中継ノード1002
の計算例を示す図である。
55] A relay node 1002 in FIG. 54 (a)
It is a figure which shows the example of calculation of.

【図56】 図52の中継ノード1002が嗜好ベクタ
を送出する様子を示す図である。
FIG. 56 is a diagram showing how the relay node 1002 of FIG. 52 sends out a preference vector.

【図57】 本発明の応用例における第2の方法例に係
る他の配送フェーズの具体的動作例を示す図である。
FIG. 57 is a diagram illustrating a specific operation example of another delivery phase according to the second method example in the application example of the invention.

【図58】 本発明の応用例における第2の方法例に適
用可能な視聴者数−広告カテゴリ検索テーブルを示す図
である。
FIG. 58 is a diagram showing the number of viewers / advertisement category search table applicable to the second method example in the application example of the invention.

【図59】 本発明の応用例における第1の変形例に係
る中継ノードの内部構成を示すブロック図である。
FIG. 59 is a block diagram showing an internal configuration of a relay node according to a first modified example of an application example of the invention.

【図60】 本発明の応用例における第1の変形例に適
用される要求フェーズの具体的動作を示す図である。
FIG. 60 is a diagram showing a specific operation of a request phase applied to a first modification example of the application example of the invention.

【図61】 本発明の応用例における第1の変形例に適
用される配送フェーズの具体的動作を示す図である。
FIG. 61 is a diagram showing a specific operation of a delivery phase applied to a first modified example of the application example of the invention.

【図62】 本発明の応用例における第2の変形例にお
いて、第1の方法例で説明したストリームデータのデー
タ形式間の変換に関する制約を規定した変換制約グラフ
(有向グラフ)を示す図である。
[Fig. 62] Fig. 62 is a diagram illustrating a conversion constraint graph (directed graph) defining constraints on conversion between stream data formats described in the first method example in the second modification example of the application example of the invention.

【図63】 図62に示した変換制約グラフが与えられ
た場合における各中継ノード又はクライアントが送出す
る嗜好ベクタと、この嗜好ベクタに対応して配送される
ストリームデータとの関係の一例を示す図である。
FIG. 63 is a diagram showing an example of a relationship between a preference vector sent by each relay node or client and stream data delivered corresponding to the preference vector when the conversion constraint graph shown in FIG. 62 is given. Is.

【図64】 変換制約が特別な場合、即ち、i1<i2
らば、i2番目のデータ形式からi1番目のデータ形式へ
の変換は可能であるが、その逆は不可能であるとする制
約が存在する場合における各中継ノード又はクライアン
トが送出する嗜好ベクタと、この嗜好ベクタに対応して
配送されるストリームデータとの関係の一例を示す図で
ある。
FIG. 64 is a case where the conversion constraint is special, that is, if i 1 <i 2 , conversion from the i 2 -th data format to the i 1 -th data format is possible, but the reverse is not possible. FIG. 6 is a diagram showing an example of a relationship between a preference vector sent by each relay node or a client and stream data delivered in correspondence with the preference vector when there is a constraint that

【図65】 本発明の応用例における第2の変形例にお
いて、第2の方法例で説明したストリームデータのデー
タ形式間の変換に関する制約を規定した変換制約グラフ
(有向グラフ)を示す図である。
[Fig. 65] Fig. 65 is a diagram illustrating a conversion constraint graph (directed graph) that defines constraints on conversion between stream data formats described in the second method example in a second modification example of the application example of the invention.

【図66】 データ変換機能を備えた本発明の応用例に
よる中継ノードの内部構成を示すブロック図である。
FIG. 66 is a block diagram showing an internal configuration of a relay node according to an application example of the invention having a data conversion function.

【図67】 データ変換機能を備えた本発明の応用例に
よるマルチキャストデータ通信システムおける受信要求
パケットのフォーマットを示す図である。
FIG. 67 is a diagram showing a format of a reception request packet in a multicast data communication system according to an application example of the present invention having a data conversion function.

【図68】 データ変換機能を備えた本発明の応用例に
よるマルチキャストデータ通信システムおけるデータパ
ケットのフォーマットを示す図である。
FIG. 68 is a diagram showing a format of a data packet in a multicast data communication system according to an application example of the present invention having a data conversion function.

【図69】 データ変換機能を備えた本発明の応用例に
よるマルチキャストデータ通信システムおけるクライア
ントの内部構成を示す図である。
FIG. 69 is a diagram showing an internal configuration of a client in a multicast data communication system according to an application example of the present invention, which has a data conversion function.

【図70】 データ変換機能を備えた本発明の応用例に
よる中継ノードが備える統合型配信テーブルの一例を示
した図である。
[Fig. 70] Fig. 70 is a diagram showing an example of an integrated distribution table included in a relay node according to an application example of the present invention having a data conversion function.

【図71】 従来のマルチキャスト通信におけるネット
ワーク構成の一例を示す説明図である。
FIG. 71 is an explanatory diagram showing an example of a network configuration in conventional multicast communication.

【図72】 中継ノードで生成され更新される従来のテ
ーブルの一例を示す説明図である。
FIG. 72 is an explanatory diagram showing an example of a conventional table generated and updated by a relay node.

【図73】 従来のマルチキャスト通信におけるネット
ワーク構成の他の例を示す図である。
FIG. 73 is a diagram showing another example of a network configuration in conventional multicast communication.

【図74】 図73のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
74 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG. 73.

【図75】 図73のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
FIG. 75 is an explanatory diagram of a multicast tree configuration process in the network configuration of FIG. 73;

【図76】 図73のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
FIG. 76 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG. 73.

【図77】 図73のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
77 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG. 73. FIG.

【図78】 図73のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
78 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG. 73. FIG.

【図79】 図73のネットワーク構成におけるマルチ
キャストツリーの構成過程の説明図である。
79 is an explanatory diagram of a process of forming a multicast tree in the network structure of FIG. 73. FIG.

【図80】 中継ノードから受信ホストへの問い合わせ
のようすを示す説明図である。
FIG. 80 is an explanatory diagram showing how an inquiry is made from the relay node to the receiving host;

【図81】 図80において行った問い合わせ後のテー
ブルの一例を示す図である。
81 is a diagram showing an example of a table after the inquiry made in FIG. 80. FIG.

【符号の説明】[Explanation of symbols]

21,31−1〜31−4,41−1〜41−4,51
−1〜51−4,102〜105,N1〜N4,k,1
001〜1004:中継ノード 22−1〜22−4,32−1〜32−7,42−1〜
42−5,52−1〜52−5,1005〜1009:
受信ホスト(クライアント) 33,43,53,101,1010:送信ホスト(サ
ーバー) 61,71,81:時計 62,75,84,1162,1175:パケット生成
手段 63,76,85,1015,1025,1045,1
176:送信手段 64,77,86,1013,1023,1043,1
177:受信手段 65:映像復号手段 66:映像表示手段 72,1172:ノード負荷測定手段 73,82,106,107:配信テーブル 74,83,1174:配信テーブル管理手段 78,87:パケット複製手段 88:配信用データ蓄積手段 111,121:宛先アドレス 112,122:宛先ポート 113,123:送信元アドレス 114,124:送信元ポート 115,125:チャネルID 116:高さ 117:嗜好ベクタ 126:データ 127:データ形式情報 128:データ形式 1011,1021:広告データ記憶手段 1012,1022:付加広告指示テーブル 1014,1024:広告付加・差し替え手段 1016,1026,1046:嗜好情報抽出手段 1017,1027,1047:嗜好情報テーブル 1018,1028,1048,1118:嗜好情報集
計手段 1041:記憶手段 1042:変換指示テーブル 1044:データ形式変換手段 1029:視聴者数−広告カテゴリ検索テーブル 1030,1031:変換制約グラフ(有向グラフ) 1201:嗜好情報取得手段
21, 31-1 to 31-4, 41-1 to 41-4, 51
-1 to 51-4, 102 to 105, N1 to N4, k, 1
001 to 1004: relay nodes 22-1 to 22-4, 32-1 to 32-7, 42-1 to
42-5, 52-1 to 52-5, 1005 to 1009:
Receiving host (client) 33, 43, 53, 101, 1010: Sending host (server) 61, 71, 81: Clock 62, 75, 84, 1162, 1175: Packet generating means 63, 76, 85, 1015, 1025. 1045, 1
176: transmitting means 64, 77, 86, 1013, 1023, 1043, 1
177: receiving means 65: video decoding means 66: video display means 72, 1172: node load measuring means 73, 82, 106, 107: distribution tables 74, 83, 1174: distribution table management means 78, 87: packet duplication means 88 : Distribution data storage means 111, 121: Destination address 112, 122: Destination port 113, 123: Source address 114, 124: Source port 115, 125: Channel ID 116: Height 117: Preference vector 126: Data 127 : Data format information 128: Data formats 1011 and 1021: Advertising data storage means 1012, 1022: Additional advertisement instruction table 1014, 1024: Advertising addition / replacement means 1016, 1026, 1046: Preference information extraction means 1017, 1027, 1047: Preference Information table 1018 , 1028, 1048, 1118: Preference information aggregation means 1041: Storage means 1042: Conversion instruction table 1044: Data format conversion means 1029: Number of viewers-advertisement category search tables 1030, 1031: Conversion constraint graph (directed graph) 1201: Preference information Acquisition method

───────────────────────────────────────────────────── フロントページの続き (72)発明者 高橋 紀之 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5K030 HD03 LD05    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Noriyuki Takahashi             2-3-1, Otemachi, Chiyoda-ku, Tokyo             Inside Telegraph and Telephone Corporation F-term (reference) 5K030 HD03 LD05

Claims (22)

【特許請求の範囲】[Claims] 【請求項1】 ユニキャスト通信が可能なネットワーク
を用い、送信装置から複数の受信装置に至るユニキャス
ト配送経路上に設けられた中継装置を介してデータを同
報送信するマルチキャストデータ通信システムであっ
て、 前記複数の受信装置は、予め決められた値より小さい時
間間隔毎に前記送信装置を宛先とした受信要求メッセー
ジを送出する手段を備え、 前記送信装置は、前記受信要求メッセージの受信間隔が
予め決められた時間間隔未満であるかどうかにより前記
受信装置側隣接ノードが前記データの受信を要求し続け
ているかどうか判断する手段と、前記受信装置側隣接ノ
ードが前記データの受信を要求し続けていると判断した
ときに前記データを前記受信装置へ向けて送出する手段
とを備え、 前記中継装置は、受信装置側隣接ノードから前記受信要
求メッセージを受信した後に送信装置側隣接ノードから
前記データ又は配信表生成パケットを受信したときに、
前記データを配送すべき受信装置側隣接ノードを登録す
るための配信表を生成する手段と、前記配信表を生成し
た後に前記受信要求メッセージを送出してきた受信装置
側隣接ノードを前記配信表に登録する手段と、前記受信
要求メッセージの受信間隔が予め決められた時間間隔未
満であるかどうかにより受信装置側隣接ノードが前記デ
ータの受信を要求し続けているかどうか判断する手段
と、前記受信装置側隣接ノードが前記データの受信を要
求し続けていると判断したときに、予め決められた値よ
り小さい時間間隔毎に前記送信装置を宛先とした受信要
求メッセージを送出すると共に、送信装置側隣接ノード
から送られてくる前記データを複製して前記配信表に登
録されている受信装置側隣接ノードへ配送する手段とを
備えたマルチキャストデータ通信システム。
1. A multicast data communication system that uses a network capable of unicast communication and broadcasts data via a relay device provided on a unicast delivery path from a transmitter to a plurality of receivers. The plurality of receiving devices include means for transmitting a reception request message addressed to the transmitting device at time intervals smaller than a predetermined value, and the transmitting device has a reception interval of the reception request message. Means for determining whether or not the receiving device side adjacent node continues to request the reception of the data depending on whether it is less than a predetermined time interval, and the receiving device side adjacent node continues to request the reception of the data Means for sending the data to the receiving device when it is determined that the relay device is adjacent to the receiving device. When the data or distribution table generation packet is received from the transmitting device side adjacent node after receiving the reception request message from the node,
Means for generating a distribution table for registering the receiving device side adjacent node to which the data is to be delivered, and registering the receiving device side adjacent node that has transmitted the reception request message after generating the distribution table in the distribution table Means for determining whether or not the receiving-apparatus-side adjacent node continues to request reception of the data depending on whether the reception interval of the reception request message is less than a predetermined time interval, and the receiving-apparatus side When it is determined that the adjacent node continues to request the reception of the data, a reception request message addressed to the transmitting device is sent at each time interval smaller than a predetermined value, and the transmitting device-side adjacent node And a means for copying the data sent from the device and delivering it to the receiving device side adjacent node registered in the distribution table. Data communication system.
【請求項2】 請求項1記載のマルチキャストデータ通
信システムにおいて、 前記受信要求メッセージは、前記受信装置から該受信要
求メッセージを受信した前記中継装置又は前記送信装置
に至る経路を示す経路情報を含み、 前記受信装置は、自身を示す情報を前記経路情報として
前記受信要求メッセージに含めて送出し、 前記送信装置は、前記受信要求メッセージを送出してき
た受信装置側隣接ノードが前記配信表に登録されていな
ければ、前記受信要求メッセージ中の経路情報を含む前
記配信表生成パケットを生成し、該経路情報に従って前
記配信表生成パケットを前記受信装置へ向けて送出し、 前記中継装置は、前記配信表を生成したかどうか判断す
る手段を備え、 前記配信表が生成されているときは、前記受信要求メッ
セージを送出してきた受信装置側隣接ノードが前記配信
表に登録されていなければ、前記受信要求メッセージ中
の経路情報を含む配信表生成パケットを生成し、該経路
情報に従って前記配信表生成パケットを前記受信装置へ
向けて送出し、 前記配信表が生成されていないときは、受信装置側隣接
ノードから送られてくる前記受信要求メッセージ中の経
路情報に対して自身を示す情報を追加した新たな経路情
報を生成し該新たな経路情報を含めた受信要求メッセー
ジを前記送信装置を宛先として送出し、前記配信表生成
パケットが送信装置側隣接ノードから送られてきたとき
に該配信表生成パケット中の経路情報に従って該配信表
生成パケットを受信装置側隣接ノードへ転送すると共に
前記配信表を生成するマルチキャストデータ通信システ
ム。
2. The multicast data communication system according to claim 1, wherein the reception request message includes route information indicating a route from the reception device to the relay device or the transmission device which has received the reception request message, The receiving device sends information indicating itself as the route information in the reception request message, and the transmitting device has the receiving device side adjacent node that has sent the reception request message registered in the distribution table. If not, the distribution table generation packet including the route information in the reception request message is generated, and the distribution table generation packet is transmitted to the receiving device according to the route information, and the relay device is configured to transmit the distribution table. A means for determining whether or not it has been generated is provided, and when the distribution table is being generated, the reception request message is sent. If the receiving device side adjacent node has not been registered in the distribution table, a distribution table generating packet including the route information in the reception request message is generated, and the distribution table generating packet is transmitted to the receiving device according to the route information. When the distribution table is not generated, new route information is generated by adding information indicating itself to the route information in the reception request message transmitted from the receiving device side adjacent node. Then, a reception request message including the new route information is transmitted to the transmission device as a destination, and when the distribution table generation packet is transmitted from the transmission device side adjacent node, according to the route information in the distribution table generation packet. A multicast data communication system for transferring the distribution table generation packet to a receiving device side adjacent node and for generating the distribution table.
【請求項3】 請求項1記載のマルチキャストデータ通
信システムにおいて、 前記中継装置は、前記配信表を生成したかどうか判断す
る手段をさらに備え、 前記配信表が生成されていないときは、受信装置側隣接
ノードから送られてくる前記受信要求メッセージの送信
元を自身の中継装置に変更して送信装置側隣接ノードへ
転送すると共に、送信装置側隣接ノードから前記データ
が送られてきたときに前記配信表を生成して該データを
廃棄し、 前記配信表が生成されているときは、前記受信要求メッ
セージを送出してきた送信元の受信装置側隣接ノードを
前記配信表に登録するマルチキャストデータ通信システ
ム。
3. The multicast data communication system according to claim 1, wherein the relay device further comprises means for determining whether or not the distribution table has been generated, and when the distribution table has not been generated, the receiving device side. The source of the reception request message sent from the adjacent node is changed to its own relay device and transferred to the adjacent node on the transmitting device side, and the distribution is performed when the data is sent from the adjacent node on the transmitting device side. A multicast data communication system that generates a table, discards the data, and when the distribution table is generated, registers the receiving device side adjacent node of the transmission source that has transmitted the reception request message in the distribution table.
【請求項4】 請求項2又は3記載のマルチキャストデ
ータ通信システムにおいて、 前記中継装置は、自身が所定の負荷を越える高負荷状態
であるかどうか判断する手段と、前記高付加状態である
と判断されている間、前記配信表に登録されていない受
信装置側隣接ノードについては、前記受信要求メッセー
ジが受信装置側隣接ノードから送られてきたときに前記
配信表への登録を行うことなく前記送信装置を宛先とし
て該受信要求メッセージを転送する手段とをさらに具備
するマルチキャストデータ通信システム。
4. The multicast data communication system according to claim 2, wherein the relay device determines whether the relay device is in a high load state in which a predetermined load is exceeded, and determines that the relay device is in the high load state. For the receiving device side adjacent node that is not registered in the distribution table while being transmitted, the transmission is performed without registration in the distribution table when the reception request message is sent from the receiving device side adjacent node. A multicast data communication system further comprising means for transferring the reception request message to a device as a destination.
【請求項5】 請求項2又は3記載のマルチキャストデ
ータ通信システムにおいて、 前記受信要求メッセージは、前記各受信装置に対応する
各ユーザの嗜好と前記データに対する変換のコストとの
間の相関を表した嗜好情報を含み、 前記中継装置は、 前記各受信装置に配信されるデータに対して変換を行う
ために必要な変換情報を要求される複数のカテゴリに亙
って事前に記憶する変換情報記憶手段と、 受信装置側隣接ノードから送られてくる前記受信要求メ
ッセージ中の前記嗜好情報に基づいて、受信装置側隣接
ノードについて採用すべき前記変換情報のカテゴリを前
記受信装置側隣接ノード毎に事前に分類定義した変換指
示表と、 送信装置側隣接ノードから送られてくる前記データに応
じ、前記変換指示表を参照して前記各受信装置側隣接ノ
ードについて採用すべき前記変換情報のカテゴリを選択
し、該選択されたカテゴリに対応して前記変換情報記憶
手段に記憶されている前記変換情報を読み出し、該読み
出された変換情報を使用して前記データに対し変換を行
う変換手段と、 前記変換手段によって変換されたデータを前記各受信装
置側隣接ノードに送信する送信手段とをさらに具備する
マルチキャストデータ通信システム。
5. The multicast data communication system according to claim 2, wherein the reception request message represents a correlation between a preference of each user corresponding to each of the receiving devices and a conversion cost for the data. Conversion information storage means including preference information, wherein the relay device stores in advance conversion information necessary for converting the data distributed to each of the receiving devices over a plurality of required categories; Based on the preference information in the reception request message sent from the receiving device side adjacent node, the category of the conversion information to be adopted for the receiving device side adjacent node is set in advance for each receiving device side adjacent node. According to the conversion instruction table defined by classification and the data sent from the transmitting device side adjacent node, the receiving device side is referred to by referring to the conversion instruction table. A category of the conversion information to be adopted for a contact node is selected, the conversion information stored in the conversion information storage means corresponding to the selected category is read, and the read conversion information is used. A multicast data communication system further comprising: a conversion unit that converts the data into the data, and a transmission unit that transmits the data converted by the conversion unit to the receiving-device-side adjacent nodes.
【請求項6】 請求項5記載のマルチキャストデータ通
信システムにおいて、 前記変換手段は、前記嗜好情報に加えて、前記各中継装
置自身の負荷状態を示す情報又は前記各中継装置間の通
信リンクの負荷状態に基づいて前記カテゴリの選択を行
うマルチキャストデータ通信システム。
6. The multicast data communication system according to claim 5, wherein the conversion unit includes, in addition to the preference information, information indicating a load state of each of the relay devices or a load of a communication link between the relay devices. A multicast data communication system for selecting the category based on a state.
【請求項7】 請求項5記載のマルチキャストデータ通
信システムにおいて、 受信装置側隣接ノードから送られてくる前記受信要求メ
ッセージから前記嗜好情報を抽出する嗜好情報抽出手段
と、 抽出された前記嗜好情報を記憶する嗜好情報記憶手段
と、 前記嗜好情報記憶手段に記憶された前記嗜好情報に所定
の演算を集約的に施して新たな嗜好情報を生成し、該新
たな嗜好情報により前記変換指示表を更新する嗜好情報
集計手段と、 前記新たな嗜好情報を送信装置側隣接ノードに送出する
手段とをさらに備えたマルチキャストデータ通信システ
ム。
7. The multicast data communication system according to claim 5, wherein the preference information extracting means extracts the preference information from the reception request message sent from the receiving device side adjacent node, and the extracted preference information. A preference information storage unit for storing the preference information stored in the preference information storage unit is intensively subjected to a predetermined calculation to generate new preference information, and the conversion instruction table is updated with the new preference information. A multicast data communication system further comprising: preference information totaling means for transmitting the new preference information to the adjacent node on the transmitting device side.
【請求項8】 ユニキャスト通信が可能なネットワーク
を用い、送信装置から複数の受信装置に至るユニキャス
ト配送経路上に設けられた中継装置を介してデータを同
報送信するマルチキャストデータ通信方法であって、 前記複数の受信装置は、予め決められた値より小さい時
間間隔毎に前記送信装置を宛先とした受信要求メッセー
ジを送出し、 前記中継装置は、受信装置側隣接ノードから前記受信要
求メッセージを受信した後に送信装置側隣接ノードから
前記データ又は配信表生成パケットを受信したときに、
前記データを配送すべき受信装置側隣接ノードを登録す
るための配信表を生成し、 前記送信装置は、前記受信要求メッセージの受信間隔が
予め決められた時間間隔未満であるかどうかにより受信
装置側隣接ノードがデータの受信を要求し続けているか
どうか判断し、前記データの受信を要求し続けている受
信装置側隣接ノードに対しては前記データを送出し、前
記データの受信を要求し続けることを止めた受信装置側
隣接ノードに対しては前記データの配送を停止し、 前記中継装置は、前記配信表が生成された後に前記受信
要求メッセージを送出してきた前記受信装置側隣接ノー
ドを前記配信表に登録し、 前記中継装置は、前記受信要求メッセージの受信間隔が
予め決められた時間間隔未満であるかどうかにより受信
装置側隣接ノードが前記データの受信を要求し続けてい
るかどうか判断し、前記受信装置側隣接ノードが前記デ
ータの受信を要求し続けていると判断したときに、予め
決められた値より小さい時間間隔毎に前記送信装置を宛
先とした受信要求メッセージを送出すると共に、送信装
置側隣接ノードから送られてくる前記データを複製して
前記配信表に登録されている受信装置側隣接ノードへ配
送するマルチキャストデータ通信方法。
8. A multicast data communication method, which uses a network capable of unicast communication and broadcasts data via a relay device provided on a unicast delivery path from a transmitter to a plurality of receivers. The plurality of receiving devices send out a reception request message addressed to the transmitting device at time intervals smaller than a predetermined value, and the relay device transmits the reception request message from a receiving device side adjacent node. When the data or distribution table generation packet is received from the transmitting device side adjacent node after receiving,
A distribution table for registering the receiving device side adjacent node to which the data is to be distributed is generated, and the transmitting device determines whether or not the reception interval of the reception request message is less than a predetermined time interval. Judging whether or not the adjacent node continues to request the reception of data, and sending the data to the adjacent node on the receiving device side that continues to request the reception of the data, and continuously requesting the reception of the data. The delivery of the data is stopped to the receiving device side adjacent node that has stopped, and the relay device distributes the receiving device side adjacent node that has transmitted the reception request message after the distribution table is generated. Registered in the table, the relay device determines that the receiving device side adjacent node determines whether the reception interval of the reception request message is less than a predetermined time interval. When it is determined whether or not data reception is continuously requested, and when it is determined that the reception device side adjacent node continues to request data reception, the transmission device is provided at time intervals smaller than a predetermined value. A multicast data communication method in which a reception request message addressed to is sent, and the data sent from the transmitting device side adjacent node is duplicated and delivered to the receiving device side adjacent node registered in the distribution table.
【請求項9】 請求項8記載のマルチキャストデータ通
信方法において、 前記受信装置は、自身を示す情報を経路情報として前記
受信要求メッセージに含めて送出し、 前記送信装置は、前記受信要求メッセージを送出してき
た受信装置側隣接ノードが前記配信表に登録されていな
ければ、前記受信要求メッセージ中の経路情報を含む前
記配信表生成パケットを生成し、該経路情報に従って前
記配信表生成パケットを前記受信装置へ向けて送出し、 前記受信装置から前記配信表の生成された中継装置に至
る経路上に存在し前記配信表が生成されていない中継装
置は、受信装置側隣接ノードから送られてくる前記受信
要求メッセージ中の経路情報に対して自身を示す情報を
追加した新たな経路情報を生成して該新たな経路情報を
含めた受信要求メッセージを前記送信装置を宛先として
送出し、 前記受信要求メッセージが前記送信装置又は前記配信表
の生成された中継装置まで到達したときに、該送信装置
又は該中継装置は、前記受信要求メッセージを送出して
きた受信装置側隣接ノードが前記配信表に登録されてい
なければ、前記受信要求メッセージ中の経路情報を含む
配信表生成パケットを生成し、該経路情報に従って前記
配信表生成パケットを前記受信装置へ向けて送出し、 前記配信表の生成された中継装置から前記受信装置に至
る経路上に存在し前記配信表が生成されていない中継装
置は、前記配信表生成パケットが送信装置側隣接ノード
から送られてきたときに、該配信表生成パケット中の経
路情報に従って該配信表生成パケットを受信装置側隣接
ノードへ転送すると共に前記配信表を生成するマルチキ
ャストデータ通信方法。
9. The multicast data communication method according to claim 8, wherein the reception device includes information indicating itself in the reception request message as route information and transmits the information, and the transmission device transmits the reception request message. If the receiving device side adjacent node has not been registered in the distribution table, the distribution table generating packet including the route information in the reception request message is generated, and the distribution table generating packet is generated according to the route information. A relay device that is sent to the receiving device and is present on the path from the receiving device to the relay device for which the distribution table has been generated and for which the distribution table has not been generated New route information is generated by adding information indicating itself to the route information in the request message, and the reception request message including the new route information is generated. Sending a message to the transmission device as a destination, and when the reception request message reaches the transmission device or a relay device in which the distribution table is generated, the transmission device or the relay device sends the reception request message. If the receiving device side adjacent node has not been registered in the distribution table, a distribution table generating packet including the route information in the reception request message is generated, and the distribution table generating packet is transmitted to the receiving device according to the route information. The relay table existing on the path from the relay device in which the distribution table is generated to the receiving device and in which the distribution table is not generated, the distribution table generation packet is transmitted from the transmitter-side adjacent node. When the packet is received, the distribution table generation packet is transferred to the receiving device side adjacent node according to the route information in the distribution table generation packet and Multicast data communication method for generating a distribution table.
【請求項10】 請求項8記載のマルチキャストデータ
通信方法において、 前記受信装置から前記配信表の生成された中継装置に至
る経路上に存在し前記配信表が生成されていない中継装
置は、受信装置側隣接ノードから送られてくる前記受信
要求メッセージの送信元を自身の中継装置に変更して送
信装置側隣接ノードへ転送し、 前記受信要求メッセージが前記配信表の生成された中継
装置まで到達すると、該中継装置は前記受信要求メッセ
ージを送出してきた送信元の受信装置側隣接ノードを前
記配信表に登録すると共に、該受信装置側隣接ノードに
前記データを送出し、 前記配信表の生成された中継装置から前記受信装置に至
る経路上に存在し前記配信表が生成されていない中継装
置は、送信装置側隣接ノードから送られてくる前記デー
タを受信して前記配信表を生成すると共に該データを廃
棄するマルチキャストデータ通信方法。
10. The multicast data communication method according to claim 8, wherein the relay device existing on the route from the receiving device to the relay device for which the distribution table has been generated and for which the distribution table has not been generated is the receiving device. When the source of the reception request message sent from the adjacent node on the side is changed to its own relay device and transferred to the adjacent node on the transmission device side, when the reception request message reaches the relay device in which the distribution table is generated , The relay device registers the receiving device side adjacent node of the transmission source that has transmitted the reception request message in the distribution table, transmits the data to the receiving device side adjacent node, and the distribution table is generated. A relay device existing on the path from the relay device to the receiving device and for which the distribution table has not been generated is the data sent from the adjacent node on the transmitting device side. A multicast data communication method for receiving a data, generating the distribution table, and discarding the data.
【請求項11】 ユニキャスト通信が可能なネットワー
クを用い、送信装置から複数の受信装置にデータを同報
送信するマルチキャストデータ通信システムにおける中
継装置であって、 前記送信装置から前記複数の受信装置に至るユニキャス
ト配送経路上に設けられ、 前記複数の受信装置が予め決められた値より小さい時間
間隔毎に前記送信装置を宛先として送出する受信要求メ
ッセージを受信装置側隣接ノードから受信した後に送信
装置側隣接ノードから前記データ又は配信表生成パケッ
トを受信したとき、前記データを配送すべき受信装置側
隣接ノードを登録するための配信表を生成する手段と、 前記配信表を生成し後に前記受信要求メッセージを送出
してきた受信装置側隣接ノードを前記配信表に登録する
手段と、 前記受信要求メッセージの受信間隔が予め決められた時
間間隔未満であるかどうかにより受信装置側隣接ノード
が前記データの受信を要求し続けているかどうか判断す
る手段と、 前記受信装置側隣接ノードが前記データの受信を要求し
続けていると判断したときに、予め決められた値より小
さい時間間隔毎に前記送信装置を宛先とした受信要求メ
ッセージを送出すると共に、送信装置側隣接ノードから
送られてくる前記データを複製して前記配信表に登録さ
れている受信装置側隣接ノードへ配送する手段とを具備
する中継装置。
11. A relay device in a multicast data communication system, which broadcasts data from a transmitting device to a plurality of receiving devices, using a network capable of unicast communication, the relay device comprising: from the transmitting device to the plurality of receiving devices. Is provided on a unicast delivery path to the transmitting device after receiving a reception request message from the receiving device-side adjacent node to which the plurality of receiving devices send out with the transmitting device as a destination at time intervals smaller than a predetermined value. Means for generating a distribution table for registering the receiving device side adjacent node to which the data is to be delivered when the data or the distribution table generation packet is received from the side adjacent node; and the reception request after generating the distribution table. Means for registering an adjacent node on the receiving device side that has sent the message in the distribution table; Means for determining whether or not the receiving device side adjacent node continues to request the reception of the data depending on whether or not the reception interval of the page is less than a predetermined time interval, When it is determined that the reception is continuously requested, the reception request message addressed to the transmission device is transmitted at each time interval smaller than a predetermined value, and the transmission device side adjacent node transmits the reception request message. A relay device comprising means for copying data and delivering it to a receiving device-side adjacent node registered in the distribution table.
【請求項12】 請求項11記載の中継装置において、 前記受信要求メッセージは、前記受信装置から該受信要
求メッセージを受信した前記中継装置又は前記送信装置
に至る経路を示す経路情報を含み、 前記中継装置は、前記配信表を生成したかどうか判断す
る手段を備え、 前記配信表が生成されているときは、前記受信要求メッ
セージを送出してきた受信装置側隣接ノードが前記配信
表に登録されていなければ、前記受信装置から自身の中
継装置に至る経路を示す経路情報を前記受信要求メッセ
ージの中から取り出して該経路情報を含む前記配信表生
成パケットを生成し、該経路情報に従って前記配信表生
成パケットを前記受信装置へ向けて送出し、 前記配信表が生成されていないときは、受信装置側隣接
ノードから送られてくる前記受信要求メッセージ中の経
路情報に対して自身を示す情報を追加した新たな経路情
報を生成し該新たな経路情報を含めた受信要求メッセー
ジを前記送信装置を宛先として送出し、前記配信表生成
パケットが送信装置側隣接ノードから送られてきたとき
に該配信表生成パケット中の経路情報に従って該配信表
生成パケットを受信装置側隣接ノードへ転送すると共に
前記配信表を生成する中継装置。
12. The relay device according to claim 11, wherein the reception request message includes route information indicating a route from the reception device to the relay device or the transmission device which has received the reception request message, The device includes means for determining whether or not the distribution table is generated, and when the distribution table is generated, the receiving device side adjacent node that has transmitted the reception request message must be registered in the distribution table. For example, the route information indicating the route from the receiving device to the own relay device is extracted from the reception request message to generate the delivery table generation packet including the route information, and the delivery table generation packet is generated according to the route information. To the receiving device, and when the distribution table is not generated, the receiving device sent from the receiving device side adjacent node is transmitted. The new routing information is generated by adding information indicating itself to the routing information in the request message, the reception request message including the new routing information is sent to the transmission device as a destination, and the distribution table generation packet is A relay device which, when sent from an adjacent node on the transmitting device side, transfers the distribution table generating packet to the adjacent node on the receiving device side and generates the distribution table according to the route information in the distribution table generating packet.
【請求項13】 請求項11記載の中継装置において、 前記配信表を生成したかどうか判断する手段を備え、 前記配信表が生成されていないときは、受信装置側隣接
ノードから送られてくる前記受信要求メッセージの送信
元を自身の中継装置に変更して送信装置側隣接ノードへ
転送すると共に、送信装置側隣接ノードから前記データ
が送られてきたときに前記配信表を生成して該データを
廃棄し、 前記配信表が生成されているときは、前記受信要求メッ
セージを送出してきた送信元の受信装置側隣接ノードを
前記配信表に登録する中継装置。
13. The relay device according to claim 11, further comprising means for determining whether or not the distribution table is generated, and when the distribution table is not generated, the relay node is transmitted from an adjacent node on the receiving device side. The source of the reception request message is changed to its own relay device and transferred to the adjacent node on the transmitting device side, and when the data is sent from the adjacent node on the transmitting device side, the distribution table is generated to store the data. A relay device that discards and registers the receiving device side adjacent node of the transmission source that has transmitted the reception request message in the distribution table when the distribution table is generated.
【請求項14】 請求項12又は13記載の中継装置に
おいて、 自身が所定の負荷を越える高負荷状態であるかどうか判
断する手段と、 前記高付加状態であると判断されている間、前記配信表
に登録されていない受信装置側隣接ノードについては、
前記受信要求メッセージが受信装置側隣接ノードから送
られてきたときに前記配信表への登録を行うことなく前
記送信装置を宛先として受信した該受信要求メッセージ
を転送する手段とをさらに具備する中継装置。
14. The relay device according to claim 12 or 13, wherein the relay device determines whether or not the device itself is in a high load state in which a predetermined load is exceeded, and the distribution is performed while the high load state is determined. For adjacent nodes on the receiver side that are not registered in the table,
A relay device, further comprising: a unit that transfers the reception request message received with the transmission device as a destination without performing registration in the distribution table when the reception request message is transmitted from an adjacent node on the reception device side. .
【請求項15】 請求項12又は13記載の中継装置に
おいて、 前記各受信装置に配信されるデータに対して変換を行う
ために必要な変換情報を要求される複数のカテゴリに亙
って事前に記憶する変換情報記憶手段と、 受信装置側隣接ノードから送られてくる前記受信要求メ
ッセージに含まれ前記各受信装置に対応する各ユーザの
嗜好と前記データに対する変換のコストとの間の相関を
表した嗜好情報に基づき、受信装置側隣接ノードについ
て採用すべき前記変換情報のカテゴリを前記受信装置側
隣接ノード毎に事前に分類定義した変換指示表と、 送信装置側隣接ノードから送られてくる前記データに応
じ、前記変換指示表を参照して前記各受信装置側隣接ノ
ードについて採用すべき前記変換情報のカテゴリを選択
し、該選択されたカテゴリに対応して前記変換情報記憶
手段に記憶されている前記変換情報を読み出し、該読み
出された変換情報を使用して前記データに対して変換を
行う変換手段と、 前記変換手段によって変換されたデータを前記各受信装
置側隣接ノードに送信する送信手段とをさらに具備する
中継装置。
15. The relay device according to claim 12, wherein the conversion information necessary for converting the data distributed to each of the receiving devices is requested in advance in a plurality of categories. A conversion information storage unit to be stored and a correlation between a preference of each user included in the reception request message sent from an adjacent node on the receiving device side and corresponding to each receiving device and a conversion cost for the data are displayed. Based on the preference information, the conversion instruction table in which the categories of the conversion information to be adopted for the receiving device side adjacent node are defined in advance for each receiving device side adjacent node, and the conversion information table sent from the transmitting device side adjacent node According to the data, the conversion instruction table is referred to select a category of the conversion information to be adopted for each adjacent node on the receiving device side, and the selected category is selected. Corresponding to, the conversion information stored in the conversion information storage means is read, and the conversion means for converting the data using the read conversion information; A relay device further comprising a transmitting unit that transmits data to the receiving-device-side adjacent nodes.
【請求項16】 請求項15記載の中継装置において、 前記変換手段は、前記嗜好情報に加えて、前記各中継装
置自身の負荷状態を示す情報又は前記各中継装置間の通
信リンクの負荷状態に基づいて前記カテゴリの選択を行
う中継装置。
16. The relay device according to claim 15, wherein, in addition to the preference information, the conversion unit sets information indicating a load state of each relay device or a load state of a communication link between the relay devices. A relay device for selecting the category based on the above.
【請求項17】 請求項15記載の中継装置において、 受信装置側隣接ノードから転送されてくる前記受信要求
メッセージから前記嗜好情報を抽出する嗜好情報抽出手
段と、 抽出された前記嗜好情報を記憶する嗜好情報記憶手段
と、 前記嗜好情報記憶手段に記憶された前記嗜好情報に所定
の演算を集約的に施して新たな嗜好情報を生成し、該新
たな嗜好情報により前記変換指示表を更新する嗜好情報
集計手段と、 前記新たな嗜好情報を送信装置側隣接ノードに送出する
手段とをさらに備えた中継装置。
17. The relay device according to claim 15, wherein the preference information extracting unit extracts the preference information from the reception request message transferred from the receiving device side adjacent node, and the extracted preference information is stored. A preference information storage unit and a preference for collectively performing a predetermined calculation on the preference information stored in the preference information storage unit to generate new preference information, and updating the conversion instruction table with the new preference information. A relay device further comprising information totaling means and means for transmitting the new preference information to a transmitting device side adjacent node.
【請求項18】 ユニキャスト通信が可能なネットワー
クを用い、送信装置から複数の受信装置にデータを同報
送信するときに、前記送信装置から前記複数の受信装置
に至るユニキャスト配送経路上に設けられた中継装置に
より前記データを中継する中継方法であって、 前記複数の受信装置が予め決められた値より小さい時間
間隔毎に前記送信装置を宛先として送出する受信要求メ
ッセージを受信し、 受信装置側隣接ノードから前記受信要求メッセージを受
信した後に送信装置側隣接ノードから前記データ又は配
信表生成パケットを受信したときに、前記データを配送
すべき受信装置側隣接ノードを登録するための配信表を
生成し、 前記配信表が生成された後に前記受信要求メッセージを
送出してきた前記受信装置側隣接ノードを前記配信表に
登録し、 前記受信要求メッセージの受信間隔が予め決められた時
間間隔未満であるかどうかにより受信装置側隣接ノード
が前記データの受信を要求し続けているかどうか判断
し、 前記受信装置側隣接ノードが前記データの受信を要求し
続けていると判断したときに、予め決められた値より小
さい時間間隔毎に前記送信装置を宛先とした受信要求メ
ッセージを送出すると共に、送信装置側隣接ノードから
送られてくる前記データを複製して前記配信表に登録さ
れている受信装置側隣接ノードへ配送する中継方法。
18. A network capable of unicast communication is used, and is provided on a unicast delivery path from the transmitting device to the plurality of receiving devices when data is broadcast from the transmitting device to the plurality of receiving devices. Is a relay method for relaying the data by a relay device, wherein the plurality of receiving devices receive a reception request message transmitted to the transmitting device at a time interval smaller than a predetermined value, and the receiving device When receiving the data or the distribution table generation packet from the transmitting device side adjacent node after receiving the reception request message from the side adjacent node, a distribution table for registering the receiving device side adjacent node to which the data is to be distributed is displayed. The distribution table is generated by generating the distribution table, and generating the distribution table, and transmitting the reception request message to the adjacent node on the receiving device side. The receiving device side adjacent node determines whether or not the receiving device side adjacent node continues to request the reception of the data by checking whether the reception interval of the reception request message is shorter than a predetermined time interval, When it determines that the device continues to request the reception of the data, it transmits a reception request message addressed to the transmission device at a time interval smaller than a predetermined value, and also transmits it from the adjacent node on the transmission device side. A relay method for replicating the received data and delivering it to the receiving device side adjacent node registered in the distribution table.
【請求項19】 請求項18記載の中継方法において、 前記配信表を生成するまでは、受信装置側隣接ノードか
ら送られてくる前記受信要求メッセージ中の経路情報に
対して自身を示す情報を追加した新たな経路情報を生成
して該新たな経路情報を含めた受信要求メッセージを前
記送信装置を宛先として送出し、その後、前記送信装置
又は配信表を生成した中継装置の生成した前記配信表生
成パケットが送信装置側隣接ノードから送られてきたと
きに、該配信表生成パケット中の経路情報に従って該配
信表生成パケットを受信装置側隣接ノードへ転送すると
共に前記配信表を生成し、 前記配信表を生成した後に、受信装置側隣接ノードから
前記受信要求メッセージが送られてきたときに、該受信
装置側隣接ノードが前記配信表に登録されていなけれ
ば、前記受信装置から自身の中継装置に至る経路を示す
経路情報を前記受信要求メッセージから取り出して該経
路情報を含む前記配信表生成パケットを生成し、該経路
情報に従って前記配信表生成パケットを前記受信装置へ
向けて送出する中継方法。
19. The relay method according to claim 18, wherein the information indicating itself is added to the route information in the reception request message sent from the adjacent node on the receiving device side until the distribution table is generated. To generate a new routing information, send a reception request message including the new routing information to the transmission device, and then generate the distribution table generated by the transmission device or a relay device that generated the distribution table. When the packet is transmitted from the transmitting device side adjacent node, the distribution table generating packet is transferred to the receiving device side adjacent node according to the route information in the distribution table generating packet, and the distribution table is generated. When the reception request message is sent from the adjacent node on the receiving device side after the generation of the message, the adjacent node on the receiving device side is registered in the distribution table. If so, the route information indicating the route from the receiving device to the own relay device is extracted from the reception request message to generate the distribution table generation packet including the route information, and the distribution table generation packet is generated according to the route information. A relay method for transmitting to the receiving device.
【請求項20】 請求項18載の中継方法において、 前記配信表を生成するまでは、受信装置側隣接ノードか
ら送られてくる前記受信要求メッセージの送信元を自身
の中継装置に変更して送信装置側隣接ノードへ転送し、
その後、送信装置側隣接ノードから前記データが送られ
てきたときに前記配信表を生成すると共に該データを廃
棄し、 前記配信表を生成した後は、前記受信要求メッセージを
送出してきた送信元の受信装置側隣接ノードを前記配信
表に登録すると共に、該受信装置側隣接ノードに前記デ
ータを送出する中継方法。
20. The relay method according to claim 18, wherein, until the distribution table is generated, the transmission source of the reception request message sent from the adjacent node on the reception device side is changed to its own relay device and transmitted. Transfer to the device side adjacent node,
After that, when the data is transmitted from the adjacent node on the transmitting device side, the distribution table is generated and the data is discarded, and after the distribution table is generated, the transmission source that has transmitted the reception request message is generated. A relay method for registering a receiving device side adjacent node in the distribution table and transmitting the data to the receiving device side adjacent node.
【請求項21】 ユニキャスト通信が可能なネットワー
クを用い、送信装置から複数の受信装置にデータを同報
送信する際に、前記送信装置から前記複数の受信装置に
至るユニキャスト配送経路上において前記データを中継
するための中継プログラムを記録したコンピュータ読み
取り可能な媒体であって、 前記中継プログラムは、 前記複数の受信装置が予め決められた値より小さい時間
間隔毎に前記送信装置を宛先として送出する受信要求メ
ッセージを受信するステップと、 受信装置側隣接ノードから前記受信要求メッセージを受
信した後に送信装置側隣接ノードから前記データ又は配
信表生成パケットを受信したときに、前記データを配送
すべき受信装置側隣接ノードを登録するための配信表を
生成するステップと、 前記配信表が生成された後に前記受信要求メッセージを
送出してきた前記受信装置側隣接ノードを前記配信表に
登録するステップと、 前記受信要求メッセージの受信間隔が予め決められた時
間間隔未満であるかどうかにより受信装置側隣接ノード
が前記データの受信を要求し続けているかどうか判断す
るステップと、 前記受信装置側隣接ノードが前記データの受信を要求し
続けていると判断したときに、予め決められた値より小
さい時間間隔毎に前記送信装置を宛先とした受信要求メ
ッセージを送出すると共に、送信装置側隣接ノードから
送られてくる前記データを複製して前記配信表に登録さ
れている受信装置側隣接ノードへ配送するステップとを
具備するコンピュータ読み取り可能な媒体。
21. A network capable of unicast communication is used, and when data is broadcast from a transmitter to a plurality of receivers, the data is transmitted on the unicast delivery path from the transmitter to the plurality of receivers. A computer-readable medium storing a relay program for relaying data, wherein the relay program sends the plurality of receiving devices to the transmitting device as a destination at time intervals smaller than a predetermined value. A step of receiving a reception request message, and a receiving device to which the data is delivered when the data or the distribution table generation packet is received from the transmitting device side adjacent node after receiving the reception request message from the receiving device side adjacent node Generating a distribution table for registering the adjacent node on the side, and the distribution table is generated. Registering the receiving device side adjacent node that has transmitted the reception request message afterwards on the distribution table, and the receiving device side adjacency depending on whether the reception interval of the reception request message is less than a predetermined time interval. A step of determining whether the node continues to request reception of the data, and a time interval smaller than a predetermined value when it is determined that the receiving device side adjacent node continues to request reception of the data A step of sending a reception request message addressed to the transmitting device every time, and duplicating the data sent from the transmitting device-side adjacent node and delivering the data to the receiving device-side adjacent node registered in the distribution table. A computer-readable medium comprising:
【請求項22】 ユニキャスト通信が可能なネットワー
クを用い、送信装置から複数の受信装置にデータを同報
送信する際に、前記送信装置から前記複数の受信装置に
至るユニキャスト配送経路上において前記データを中継
するための中継プログラムであって、 前記複数の受信装置が予め決められた値より小さい時間
間隔毎に前記送信装置を宛先として送出する受信要求メ
ッセージを受信するステップと、 受信装置側隣接ノードから前記受信要求メッセージを受
信した後に送信装置側隣接ノードから前記データ又は配
信表生成パケットを受信したときに、前記データを配送
すべき受信装置側隣接ノードを登録するための配信表を
生成するステップと、 前記配信表が生成された後に前記受信要求メッセージを
送出してきた前記受信装置側隣接ノードを前記配信表に
登録するステップと、 前記受信要求メッセージの受信間隔が予め決められた時
間間隔未満であるかどうかにより受信装置側隣接ノード
が前記データの受信を要求し続けているかどうか判断す
るステップと、 前記受信装置側隣接ノードが前記データの受信を要求し
続けていると判断したときに、予め決められた値より小
さい時間間隔毎に前記送信装置を宛先とした受信要求メ
ッセージを送出すると共に、送信装置側隣接ノードから
送られてくる前記データを複製して前記配信表に登録さ
れている受信装置側隣接ノードへ配送するステップとを
コンピュータに実行させるための中継プログラム。
22. When the data is broadcasted from a transmitting device to a plurality of receiving devices using a network capable of unicast communication, the unicast delivery path from the transmitting device to the plurality of receiving devices is used. A relay program for relaying data, comprising a step of receiving a reception request message sent by the plurality of receiving devices to the transmitting device as a destination at time intervals smaller than a predetermined value, and the receiving device side adjacency When the data or distribution table generation packet is received from the transmission device side adjacent node after receiving the reception request message from the node, a distribution table for registering the reception device side adjacent node to which the data is to be distributed is generated. And the receiving device side adjacent node that has transmitted the reception request message after the distribution table is generated. A step of registering a code in the distribution table, and determining whether the receiving-apparatus-side adjacent node continues to request reception of the data depending on whether the reception interval of the reception request message is less than a predetermined time interval. And a reception request message addressed to the transmission device at time intervals smaller than a predetermined value when it is determined that the reception device side adjacent node continues to request reception of the data. And a step of copying the data sent from the transmitter-side adjacent node and delivering the data to the receiver-side adjacent node registered in the distribution table.
JP2002133286A 2001-05-10 2002-05-08 Multicast data communication method, multicast data communication system, relay device, relay method, relay program, and medium recording the relay program Expired - Lifetime JP3693978B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002133286A JP3693978B2 (en) 2001-05-10 2002-05-08 Multicast data communication method, multicast data communication system, relay device, relay method, relay program, and medium recording the relay program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-140286 2001-05-10
JP2001140286 2001-05-10
JP2002133286A JP3693978B2 (en) 2001-05-10 2002-05-08 Multicast data communication method, multicast data communication system, relay device, relay method, relay program, and medium recording the relay program

Publications (2)

Publication Number Publication Date
JP2003032300A true JP2003032300A (en) 2003-01-31
JP3693978B2 JP3693978B2 (en) 2005-09-14

Family

ID=26614908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002133286A Expired - Lifetime JP3693978B2 (en) 2001-05-10 2002-05-08 Multicast data communication method, multicast data communication system, relay device, relay method, relay program, and medium recording the relay program

Country Status (1)

Country Link
JP (1) JP3693978B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013568A1 (en) * 2003-08-05 2005-02-10 Fujitsu Limited Content distribution system
JP2005341378A (en) * 2004-05-28 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> Load distributing system of multicast transfer unit, load distribution method in multicast branch function body, distribution unit in multicast branch function body, and information output program
JP2006222659A (en) * 2005-02-09 2006-08-24 Oki Electric Ind Co Ltd Radio communication device, system and method
JP2006287750A (en) * 2005-04-01 2006-10-19 Kddi Corp Device and method for transmitting broadcast content
JP2008148027A (en) * 2006-12-11 2008-06-26 Yamatake Corp Radio communication system and device
JP2009239747A (en) * 2008-03-27 2009-10-15 Kyocera Corp Radio terminal and radio communication method
JP2011217038A (en) * 2010-03-31 2011-10-27 Nippon Telegraph & Telephone West Corp Multicast processing method in wide area ethernet

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013568A1 (en) * 2003-08-05 2005-02-10 Fujitsu Limited Content distribution system
JP2005341378A (en) * 2004-05-28 2005-12-08 Nippon Telegr & Teleph Corp <Ntt> Load distributing system of multicast transfer unit, load distribution method in multicast branch function body, distribution unit in multicast branch function body, and information output program
JP2006222659A (en) * 2005-02-09 2006-08-24 Oki Electric Ind Co Ltd Radio communication device, system and method
JP2006287750A (en) * 2005-04-01 2006-10-19 Kddi Corp Device and method for transmitting broadcast content
JP2008148027A (en) * 2006-12-11 2008-06-26 Yamatake Corp Radio communication system and device
JP2009239747A (en) * 2008-03-27 2009-10-15 Kyocera Corp Radio terminal and radio communication method
JP2011217038A (en) * 2010-03-31 2011-10-27 Nippon Telegraph & Telephone West Corp Multicast processing method in wide area ethernet

Also Published As

Publication number Publication date
JP3693978B2 (en) 2005-09-14

Similar Documents

Publication Publication Date Title
US7313596B2 (en) Multicast data communication method, multicast data communication system, repeater, repeating method, and medium for storing repeating programs
JP4464766B2 (en) Multicast distribution control device
US6947434B2 (en) Subgroup multicasting in a communications network
US9143333B2 (en) System and method for multicast transmission
KR100579321B1 (en) Method and System for Virtual Multicast Networking
CN102037684B (en) Group communication system using media server having distributed structure and method thereof
JP4436960B2 (en) Packet communication system and mobile communication system
CN105144639A (en) Efficient multicast delivery to dually connected (VPC) hosts in overlay networks
CN101420316A (en) Video distribution system for switching video streams
JP3693978B2 (en) Multicast data communication method, multicast data communication system, relay device, relay method, relay program, and medium recording the relay program
JP3759527B2 (en) Multicast data communication system and method, client-side gateway, server-side gateway, computer program, and recording medium recording the computer program
JP3962343B2 (en) Multicast data communication system and method
JP4481499B2 (en) Hierarchical multicasting
CN109756412A (en) A kind of data message forwarding method and equipment
KR100453221B1 (en) Method and system transmitting group cast by using unicast network
Demmer et al. The design and implementation of a session layer for delay-tolerant networks
Tani et al. Adaptive Stream Multicast Based on IP Unicast and Dynamic CommercialAttachment Mechanism: An Active Network Implementation
JP2002373133A (en) Data working relay method and device, network system device, data working relay processing program and recording medium with its processing program recorded
US11991076B1 (en) Optimized MVPN route exchange in SD-WAN environments
JP5574383B2 (en) Reception status estimation method, reception side multi-point distribution device, and program
JP5575714B2 (en) Multi-point distribution method and multi-point distribution system
JP2017151618A (en) Information delivery system, information delivery device, information delivery program, and information delivery method
CN102271081B (en) Data message transmission method and device
Hsu et al. Distributing Multiple Video Digest Using AVD
JP2003152719A (en) Multicast broadcast data distribution system and method, multicast broadcast relay node device and client device and server device, and program

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050622

R151 Written notification of patent or utility model registration

Ref document number: 3693978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130701

Year of fee payment: 8

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

EXPY Cancellation because of completion of term