Multicasting communication method/system and storage medium recording multicasting communication program
Abstract
[Task] It is an object of the present invention to provide a push-type multicast communication method having real-time performance and scalability against an increase in the number of receiving hosts, a system thereof, and a recording medium on which a multicast communication program is recorded.
Solution.Data destined for a channel from the transmitting host 100 is delivered via one relay server 200 or via a plurality of relay servers 200 having a tree structure in which a relay route is defined for the channel. Deliver to. When the receiving host 500 requests joining / leaving the channel, the receiving host 500 sends a channel joining request message or a joining / leaving message to the relay server 200. When the relay server 200 receives the message, it registers or deletes the address of the receiving host 500 or the child relay server 200 in the address management table, and relays the message to the parent relay server 200.
Term
Term ended
Projected expiry passed 27 April 2018, 8.4 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
12 claims: 6 independent, 6 dependent
- 1【特許請求の範囲】 【請求項1】 インターネットを利用して送信ホストから1つ又は複数の受信ホストに対してデータを配信するマルチキャスト通信方法において、 前記データを、一の中継サーバを介して、又は、データの中継経路がチャネルに対して定義された木構造となる複数の中継サーバを介して配信し、 前記送信ホストは、チャネルを宛先とするデータを前記一の中継サーバ又は当該チャネルに対して定義された木構造のルートとなる中継サーバに対して送信することを特徴とするマルチキャスト通信方法。
- 2【請求項2】 前記中継サーバは、受信ホスト又は木構造の下位となる中継サーバからチャネル加入要求メッセージを受信した場合に、木構造の上位となる中継サーバに対して当該チャネル加入要求メッセージを中継することを特徴とする請求項1記載のマルチキャスト通信方法。
- 3【請求項3】 前記中継サーバは、アドレス管理表を備え、受信ホスト又は木構造の下位となる中継サーバからチャネル加入要求メッセージを受信した場合に、当該チャネル加入要求メッセージの送信元である受信ホスト又は中継サーバのアドレスをアドレス管理表に登録することを特徴とする請求項1又は2何れか1項記載のマルチキャスト通信方法。
- 4【請求項4】 前記中継サーバは、送信ホスト又は木構造の上位となる中継サーバからチャネルを宛先とするデータを受信した場合に、アドレス管理表に登録されている木構造の下位となる中継サーバ又は受信ホストに対してデータを中継することを特徴とする請求項1~3何れか1項記載のマルチキャスト通信方法。
- 5【請求項5】 前記中継サーバは、受信ホスト又は木構造の下位となる中継サーバからチャネル離脱要求メッセージを受信した場合に、当該チャネル離脱要求メッセージを送信した受信ホスト又は中継サーバのアドレスをアドレス管理表から削除し、当該削除によりアドレス管理表に登録された受信ホスト及び中継サーバ数が零となった場合に、木構造の上位となる中継サーバに対して当該チャネル離脱要求メッセージを中継することを特徴とする請求項1~4何れか1項記載のマルチキャスト通信方法。
- 6【請求項6】 前記受信ホストは、前記中継サーバに対して前記チャネル加入要求メッセージ又は前記チャネル離脱要求メッセージを送信することを特徴とする請求項1~5何れか1項記載のマルチキャスト通信方法。
- 7【請求項7】 前記受信ホストは、前記中継サーバが送信するデータを受信することを特徴とする請求項1~6何れか1項記載のマルチキャスト通信方法。
- 8【請求項8】 インターネットを利用して、一の中継サーバを介して、又は、データの中継経路がチャネルに対して定義された木構造となる複数の中継サーバを介して、送信ホストから1つ又は複数の受信ホストに対してデータを配信するマルチキャスト通信方法において、 前記受信ホストは、チャネルに加入する場合には前記中継サーバに対してチャネル加入要求メッセージを送信し、 チャネル加入要求メッセージを受信した前記中継サーバは、木構造の上位となる中継サーバに対して当該チャネル加入要求メッセージを中継するとともに当該チャネル加入要求メッセージの送信元である受信ホスト又は中継サーバのアドレスをアドレス管理表に登録し、 前記送信ホストは、チャネルを宛先とするデータを前記一の中継サーバ又はチャネルに対して定義された木構造のルートとなる中継サーバに対して送信し、 チャネルを宛先とするデータを受信した前記中継サーバは、アドレス管理表に登録されている木構造の下位となる中継サーバ又は受信ホストに対してデータを中継し、 前記受信ホストは、中継サーバにより中継されたデータを受信し、 前記受信ホストは、チャネルから離脱する場合には前記中継サーバに対してチャネル離脱要求メッセージを送信し、 チャネル離脱要求メッセージを受信した前記中継サーバは、当該チャネル離脱要求メッセージの送信元である受信ホスト又は中継サーバのアドレスをアドレス管理表から削除するとともに、アドレス管理表に登録された受信ホスト及び中継サーバ数が零となった場合には木構造の上位となる中継サーバに対して当該チャネル離脱要求メッセージを中継することを特徴とするマルチキャスト通信方法。
- 9【請求項9】 インターネットを利用して、一の中継サーバを介して、又は、データの中継経路がチャネルに対して定義された木構造となる複数の中継サーバを介して、送信ホストから1つ又は複数の受信ホストに対してデータを配信するマルチキャスト通信システムにおいて、 前記送信ホストは、チャネルを宛先とするデータを前記一の中継サーバ又はチャネルに対して定義された木構造のルートとなる中継サーバに対して送信するデータ送信手段を有し、 前記中継サーバは、 受信ホスト又は木構造の下位となる中継サーバからチャネル加入要求メッセージを受信した場合には、当該チャネル加入要求メッセージの送信元である受信ホスト又は中継サーバのアドレスをアドレス管理表に登録し、受信ホスト又は木構造の下位となる中継サーバからチャネル離脱要求メッセージを受信した場合には、当該チャネル離脱要求メッセージを送信した受信ホスト又は中継サーバのアドレスをアドレス管理表から削除するアドレス管理手段と、 受信ホスト又は木構造の下位となる中継サーバからチャネル加入要求メッセージを受信した場合であり、且つ、木構造の上位となる中継サーバに対して当該チャネル加入要求メッセージを未中継である場合には、当該木構造の上位となる中継サーバに対して当該チャネル加入要求メッセージを中継し、受信ホスト又は木構造の下位となる中継サーバからチャネル離脱要求メッセージを受信した場合であり、且つ、前記アドレス管理手段によるアドレスの削除により前記アドレス管理表に登録されている受信ホスト又は中継サーバ数が零となった場合には、木構造の上位となる中継サーバに対して当該チャネル離脱要求メッセージを中継するメッセージ中継手段と、 前記送信ホスト又は木構造の上位となる中継サーバからチャネルを宛先とするデータを受信した場合には、前記アドレス管理表に登録されている中継サーバ又は受信ホストに対して当該データを中継するデータ中継手段を有し、 前記受信ホストは、前記中継サーバから送られてくるデータを受信するデータ受信手段と、前記中継サーバに対してチャネル加入要求メッセージ又はチャネル離脱要求メッセージを送信するメッセージ送信手段を有することを特徴とするマルチキャスト通信システム。
- 10【請求項10】 インターネットを利用して、一の中継サーバを介して、又は、データの中継経路がチャネルに対して定義された木構造となる複数の中継サーバを介して、送信ホストから1つ又は複数の受信ホストに対してデータを配信するマルチキャスト通信プログラムを記録した記録媒体において、 前記受信ホストは、チャネルに加入する場合には前記中継サーバに対してチャネル加入要求メッセージを送信し、前記中継サーバからデータの送信があった場合には当該データを受信し、チャネルから離脱する場合には前記中継サーバに対してチャネル離脱要求メッセージを送信することを特徴とするマルチキャスト通信プログラムを記録した記録媒体。
- 11【請求項11】 インターネットを利用して、一の中継サーバを介して、又は、データの中継経路がチャネルに対して定義された木構造となる複数の中継サーバを介して、送信ホストから1つ又は複数の受信ホストに対してデータを配信するマルチキャスト通信プログラムを記録した記録媒体において、 前記中継サーバは、 受信ホスト又は木構造の下位となる中継サーバからチャネル加入要求メッセージを受信した場合には、木構造の上位となる中継サーバに対して当該チャネル加入要求メッセージを中継するとともに、当該チャネル加入要求メッセージの送信元である受信ホスト又は中継サーバのアドレスをアドレス管理表に登録し、 送信ホスト又は木構造の上位となる中継サーバからチャネルを宛先とするデータを受信した場合には、アドレス管理表に登録されている下位の中継サーバ又は受信ホストに対してデータを中継し、 受信ホスト又は木構造の下位となる中継サーバからチャネル離脱要求メッセージを受信した場合には、当該チャネル離脱要求メッセージを送信した受信ホスト又は中継サーバのアドレスをアドレス管理表から削除し、当該削除によりアドレス管理表に登録された受信ホスト及び中継サーバ数が零となった場合には、木構造の上位となる中継サーバに対して当該チャネル離脱要求メッセージを中継することを特徴とするマルチキャスト通信プログラムを記録した記録媒体。
- 12【請求項12】 インターネットを利用して、一の中継サーバを介して、又は、データの中継経路がチャネルに対して定義された木構造となる複数の中継サーバを介して、送信ホストから1つ又は複数の受信ホストに対してデータを配信するマルチキャスト通信プログラムを記録した記録媒体において、 前記送信ホストは、チャネルを宛先とするデータを前記一の中継サーバ又はチャネルに対して定義された木構造のルートとなる中継サーバに対して送信することを特徴とするマルチキャスト通信プログラムを記録した記録媒体。
Independent claims12
206 paragraphs in 1 section, as filed
Description: TECHNICAL FIELD [Detailed description of the invention]
【0001】
[Technical field to which the invention belongs]
The present invention relates to an information distribution method and an information distribution system on the Internet, and more particularly to a multicast communication method for performing push-type information distribution, the system thereof, and a recording medium on which a multicast communication program is recorded.
【0002】
[Conventional technology]
Conventionally, as an information distribution method for distributing information to a large number of receiving hosts at the same time on the Internet, a pull type in which the transmitting host individually distributes information based on the request of the receiving host has been the main method.
【0003】
[Problems to be Solved by the Invention]
In this pull-type information distribution method, since the receiving host accesses the transmitting host at regular intervals, the time when the receiving host accesses the transmitting host and the time when the information is updated on the transmitting host side are not always synchronized. .. Therefore, the real-time property of the information was low. In addition, since the transmitting host sends data to the receiving host individually, when the number of receiving hosts increases, the load on the transmitting host increases significantly, and as a result, when the number of receiving hosts increases. However, there was no scalability that the sending host could continue to distribute information efficiently.
【0004】
The present invention has been made in view of the above circumstances, and an object of the present invention is to record a push-type multicast communication method having real-time performance and scalability against an increase in the number of receiving hosts, a system thereof, and a multicast communication program. To provide a medium.
【0005】
[Means for solving problems]
In order to achieve the above object, in the present invention, the Internet is used, via one relay server, or via a plurality of relay servers in which the data relay path has a tree structure defined for the channel. In multicast communication in which data is delivered from a transmitting host to one or more receiving hosts, the receiving host sends a channel subscription request message to the relay server when joining the channel, and the channel The relay server that receives the subscription request message relays the channel subscription request message to the relay server at the upper level of the tree structure, and addresses the address of the receiving host or the relay server that is the source of the channel subscription request message. Registered in the management table, the transmission host transmits data destined for the channel to the relay server or the relay server that is the root of the tree structure defined for the channel, and destined for the channel. The relay server that received the data relays the data to the relay server or the receiving host that is subordinate to the tree structure registered in the address management table, and the receiving host receives the data relayed by the relay server. When the receiving host leaves the channel, the receiving host sends a channel leaving request message to the relay server, and the relay server that receives the channel leaving request message is the source of the channel leaving request message. The address of the receiving host or relay server is deleted from the address management table, and when the number of receiving hosts and relay servers registered in the address management table becomes zero, the relevant channel is sent to the relay server at the top of the tree structure. Relay the withdrawal request message.
【0006】
According to the present invention, in order to deliver data destined for a channel from a transmitting host to a receiving host, the transmitting host has a tree structure defined for the one relay server or the channel for the data destined for the channel. It may be sent to the relay server that is the route of. As a result, the data is distributed to the receiving host registered in the address management table of each relay server via the relay server.
【0007】
If the receiving host requesting the start of data reception sends a channel subscription request message to the relay server, the address of the receiving host is registered in the address management table of the relay server. Further, the channel subscription request message is relayed to the relay server that is higher in the tree structure for the relay server, and the address of the relay server of the relay source is registered in the address management table of the relay server of the relay destination. As a result, as described above, when data is transmitted from the transmitting host, the data is distributed to the receiving host based on the address management table.
【0008】
Further, if the receiving host requesting the stop of data reception sends a channel exit request message to the relay server, the address of the receiving host registered in the address management table of the relay server is deleted. When the number of receiving hosts or relay servers registered in the address table becomes zero due to this deletion, the channel exit request message is relayed to the relay server at the upper level of the tree structure for the relay server, and each is relayed. The address of the relay source relay server registered in the address management table of the previous relay server is deleted. As a result, as described above, even if the data is transmitted from the transmitting host, the data is not delivered to the receiving host.
【0009】
Such an operating principle of the present invention will be described with reference to FIGS. 1 and 2. FIG. 1 is a sequence chart for explaining the operating principle of the present invention, and FIG. 2 is a configuration diagram for explaining the operating principle of the present invention.
【0010】
As shown in FIG. 1, the receiving host 500 requesting the start of receiving data sends a message requesting the relay server 200 to join the channel (step S11). The relay server 200 relays the received channel subscription request message to the relay server 200 that is higher in the tree structure (step S12). Further, the relay server 200 that has received the channel subscription request message has the reception host 500 of the message transmission source in the address management table for managing the address of the reception host 500 that receives the data or the relay server 200 that is in the lower layer of the tree structure. Alternatively, the address of the relay server 200 is registered (step S13).
【0011】
The transmission host 100 transmits data destined for the channel to the relay server 200 which is the root of the tree structure (step S21). The relay server 200 that has received the data relays the data to the relay server (relay server registered in the address management table) 200 or the receiving host 500 that subscribes to the channel identified by the channel identifier in the data. (Step S22).
【0012】
The receiving host 500 requesting to stop receiving data sends a message requesting the relay server 200 to leave the channel (step S31). The relay server 200 relays the received channel exit request message to the relay server 200 that is higher in the tree structure (step S32). The relay server 200 that has received the channel exit request message is the reception host 500 that is the source of the message or the relay server 200 from the address management table for managing the reception host 500 that receives the data or the relay server 200 that is lower in the tree structure. Delete the address of. (Step S33).
【0013】
Further, as shown in FIG. 2, the multicast communication system according to the present invention includes a transmission host 100 that transmits data to a relay server 200 that is a tree-structured route defined for a channel that is a data destination. To the relay server 200 and the relay server 200 that relay the data sent from the transmission host 100 or the relay server 200 that is higher in the tree structure to the relay server 200 or the reception host 500 that is lower in the tree structure. It has a receiving host 500 that requests to join or leave the channel and receives data relayed from the relay server 200.
【0014】
The transmission host 100 has a data transmission means 110 that transmits data to a relay server 200 that is a root of a tree structure defined for a channel that is a destination of data.
【0015】
The relay server 200 is sent from the data receiving means 210 that receives the data sent from the transmission host 100 or the relay server 200 that is higher in the tree structure, and the relay server 200 that is higher than the transmission host 100 or the tree structure. Data relay means 220 that relays and transmits the received data to the relay server 200 or receiving host 500 that is lower in the tree structure, and the channel that is identified by the channel identifier in the received data and the relay that is lower in the tree structure. A message for receiving a channel join request message or a channel exit request message sent by the address management means 230 that manages the correspondence with the address of the server 200 or the receiving host 500 and the relay server 200 or the receiving host 500 that is lower in the tree structure. It has a receiving means 250 and a message relay means 260 that relays a channel join request message or a channel exit request message received from the relay server 200 or the receiving host 500 that is lower in the tree structure to the relay server 200 that is higher in the tree structure. ..
【0016】
The receiving host 500 includes a message transmitting means 510 for transmitting a message requesting the relay server 200 to join or leave the channel, and a data receiving means 520 for receiving data relayed from the relay server. Have.
【0017】
BEST MODE FOR CARRYING OUT THE INVENTION
The multicast communication system according to the embodiment of the present invention will be described. First, the configuration of the multicast communication system will be described with reference to FIG. FIG. 3 is a configuration diagram illustrating a multicast communication system. The configuration shown in the figure is composed of one transmitting host 100, three relay servers 200, and three receiving hosts 500.
【0018】
The transmission host 100 sets a connection (TCP connection) for data transmission with the relay server 200a in order to transmit data without error, and transmits data destined for a specific channel using the connection. To do.
【0019】
When the relay server 200 receives a channel subscription request message from the relay server 200 or the receiving host 500, which is a lower level of the tree structure, the relay server 200 establishes a data transmission connection (TCP connection) with the relay server 200 or the receiving host 500. Set. In the following description, a relay server that is higher in the tree structure than a certain relay server is called a parent relay server, and a relay server that is lower in the tree structure is called a child relay server. A relay server that serves as a root in a tree structure is called a route relay server.
【0020】
The relay server 200 searches the address management table using the channel identifier in the received data as a key, and uses the data transmission connection set at the time of receiving the channel subscription request message to subscribe to the relay server 200 or the reception. Relay data to host 500.
【0021】
When the receiving host 500 subscribes to the channel, the receiving host 500 sets a control connection (TCP connection) with the relay server 200, and transmits a channel subscription request message using the connection. Further, when leaving the channel, the receiving host 500 transmits the channel leaving request message by using the connection set at the time of sending the channel joining request message.
【0022】
The relay server 200 that has received the channel join request message or the channel exit request message sets a control connection with the parent relay server 200, and relays the received message to the parent relay server 200.
【0023】
Next, the transmitting hosts constituting the multicast communication system will be described with reference to FIGS. 4 and 5. FIG. 4 is a diagram illustrating the structure of data transmitted by the transmitting host, and FIG. 5 is a flowchart illustrating control of the transmitting host.
【0024】
As shown in FIG. 4, the data D transmitted from the transmitting host 100 includes a channel identifier unit D1 and a user data unit D2. The channel identifier unit D1 stores the channel identifier that is the destination of the user data D2. The user data unit D2 stores user data to be distributed to the receiving host 500.
【0025】
The transmitting host 100 operates based on the flowchart shown in FIG. 5, as described below.
【0026】
First, when the transmission host 100 receives a data transmission request from the application, the transmission host 100 establishes a connection for data transmission with the route relay server 200 defined for the channel (step S101).
【0027】
Next, using the connection set in step S101, the data D in which the channel identifier of the channel is set is transmitted to the relay server 200 to the channel identifier unit D1 (step S102). At the end of data transmission, the process proceeds to step S104 (step S103).
【0028】
Finally, the connection set with the relay server 200 is released (step S104). By the above operation, data D is transmitted from the transmission host 100 to the route relay server 200.
【0029】
Next, the relay servers constituting the multicast communication system will be described with reference to FIGS. 6 to 11. FIG. 6 is a diagram explaining the structure of the message relayed by the relay server, FIG. 7 is a configuration diagram of the relay server, FIG. 8 is a diagram explaining the configuration of the address management table, and FIGS. 9 to 11 show the operation of the relay server. It is a flowchart to explain.
【0030】
The configuration of the message M exchanged between the relay server 200 and the receiving host 500 specifies the message type part M1 that sets the message type and the channel identifier of the channel that requests joining or leaving, as shown in FIG. It consists of a channel identifier part M2.
【0031】
As shown in FIG. 7, the relay server 200 includes a data receiving unit 201, a data relay unit 202, an address management unit 203, and an address management table 204.
【0032】
When the data receiving unit 201 receives the data D from the transmitting host 100 or the parent relay server 200, the data receiving unit 201 searches the address management table 204 using the channel identifier in the data D as a key. As a result of this search, if the receiving host 500 or the child relay server 200 subscribed to the channel exists, the data relay unit 202 relays the data to the receiving host 500 or the child relay server 200.
【0033】
When the address management unit 203 receives the channel subscription request message from the child relay server 200 or the receiving host 500, the address management unit 203 searches the address management table 204 using the channel identifier in the message M as a key, and is receiving the channel. Add the IP address of the child relay server 200 or receiving host 500 of the message transmission source to the list of child relay servers or receiving hosts.
【0034】
When the address management unit 203 receives the channel exit request message from the child relay server 200 or the receiving host 500, the address management unit 203 searches the address management table 204 using the channel identifier in the message M as a key, and selects the channel. Delete the IP address of the child relay server 200 or receiving host 500 from which the message is sent from the list of receiving child relay servers or receiving hosts.
【0035】
As shown in FIG. 8, this address management table 204 includes a channel identifier unit 204a and a list 204b of IP addresses of one or more child relay servers 200 or receiving hosts 500 that are receiving data destined for that channel. Consists of.
【0036】
The relay server 200 operates based on the flowcharts shown in FIGS. 9 to 11 as described below. First, the operation when the relay server 200 receives the data D will be described with reference to FIG.
【0037】
First, if there is a child relay server 200 or a receiving host 500 that is receiving data with this channel as the destination for the channel identified by the channel identifier of the received data D, the process proceeds to step S202. In other cases, the process proceeds to step S203 (step S201).
【0038】
In step S202, the received data D is relayed to the child relay server 200 or the receiving host 500, and the process ends (step S202). In step S203, the relay server 200 discards the received data D and ends the process. (Step S203).
【0039】
Next, the operation when the relay server 200 receives the channel subscription request message will be described with reference to FIG.
【0040】
First, using the channel identifier in the received channel subscription request message as a key, the address management table 204 is searched, and the source of the channel subscription request message is added to the list of the receiving host 500 and the child relay server 200 receiving the channel. Add the IP address of (step S301).
【0041】
Next, a connection for data relay is set up with the source of the received channel subscription request message (step S302).
【0042】
Next, if the relay server 200 is not the root of the tree structure defined for the channel indicated by the channel identifier in the received message, that is, if it is not the route relay server, the process proceeds to step S304. .. If it is a route relay server, the process ends (step S303).
【0043】
In step S304, when the channel subscription request message has been relayed to the parent relay server 200 for the channel identifier in the received message, the process ends. If the channel join request message has not been relayed, the process proceeds to step S305 (step S304).
【0044】
In step S305, a control connection is set up with the parent relay server 200 (step S305).
【0045】
Finally, the channel subscription request message is relayed to the parent relay server 200, and the process ends (step S206).
【0046】
Next, the operation when the relay server 200 receives the channel exit request message will be described with reference to FIG.
【0047】
First, using the channel identifier in the received channel exit request message as a key, the address management table 204 is searched, and the IP address of the source of the message is searched from the list of the receiving host 500 and the child relay server 200 receiving the channel. Is deleted (step S401).
【0048】
Next, the connection for data relay set up with the source of the channel exit request message is released (step S402).
【0049】
As a result of the deletion in step S401, if the number of receiving hosts 500 or child relay servers 200 receiving the channel becomes 0 for the channel identified by the channel identifier in the received channel exit request message, Move the process to step S404. Otherwise, the process ends (step S403). In step S404, if the relay server 200 is not a tree-structured route defined for the channel indicated by the channel identifier in the received data, that is, it is not a route relay server, the process proceeds to step S405. .. If it is a route relay server, the process ends (step S404).
【0050】
In step S405, the channel exit request message is relayed to the parent relay server 200 (step S405).
【0051】
Finally, the control connection set up with the parent relay server 200 is released (step S406).
【0052】
Next, the receiving hosts constituting the multicast communication system will be described with reference to FIG. FIG. 12 is a flowchart illustrating the operation of the receiving host.
【0053】
The receiving host 500 first establishes a control connection with the relay server 200 (step S501).
【0054】
Next, a channel subscription request message in which the channel identifier of the channel requesting the start of reception is set in the channel identifier section is transmitted to the relay server 200 (step S502).
【0055】
As described above, the receiving host 500 can receive the data delivered from the transmitting host 100. Therefore, when the data is relayed from the relay server 200, the receiving host 500 starts receiving the data (step S503).
【0056】
Next, when requesting the end of reception of the channel, a channel exit request message in which the channel identifier of the channel requesting the end of reception is set in the channel identifier section is transmitted to the relay server 200 (step S504).
【0057】
Finally, the control connection set up with the relay server 200 is released (step S505).
【0058】
[Example]
Examples of the present invention will be specifically described below with reference to FIGS. 13 and 14. FIG. 13 is a configuration diagram of a relay server according to an embodiment of the present invention, and FIG. 14 is a sequence chart in the multicast communication system of the present embodiment. The same components as those in FIG. 2 will be described using the same reference numerals.
【0059】
As shown in FIG. 13, the relay server 200 includes a data receiving unit 201, a data relay unit 202, an address management unit 203, an address management table 204, a message receiving unit 205, and a message relay unit 206.
【0060】
When the data receiving unit 201 receives data from the transmitting host 100 or the parent relay server 200, the data receiving unit 201 transfers the data to the address management unit 203.
【0061】
The address management unit 203 searches the address management table 204 using the channel identifier in the data as a key, and if there is a child relay server 200 or a receiving host 500 that is receiving the channel, the data is sent to the data relay unit 202. Forward.
【0062】
The data relay unit 202 relays the data received from the address management unit 203 to the child relay server 200 or the receiving host 500 that subscribes to the channel.
【0063】
When the message receiving unit 205 receives a message from the receiving host 500 or the child relay server 200, the message receiving unit 205 forwards the message to the address management unit 203.
【0064】
When the message received from the receiving host 500 or the child relay server 200 is a channel subscription request message, the address management unit 203 searches the address management table 204 using the channel identifier in the message as a key, and receives the channel. The IP address of the source of the message is added to the list of the receiving host 500 and the child relay server 200, and the message is transferred to the message relay unit 206.
【0065】
The message relay unit 206 sets a control connection with the parent relay server 200, and relays the channel subscription request message received from the address management unit 203 to the parent relay server 200.
【0066】
However, if it is a tree-structured route defined for the channel indicated by the channel identifier in the message, that is, if it is a route relay server, or if it is already a channel to the parent relay server 200. If the subscription request message has already been relayed, the message is not relayed to the parent relay server 200.
【0067】
If the message received from the receiving host 500 or the child relay server 200 is a channel exit request message, the address management unit 203 searches the address management table 204 using the channel identifier in the message as a key, and selects the channel. Delete the IP address of the child relay server 200 or receiving host 500 from which the message is sent from the list of receiving child relay servers or receiving hosts.
【0068】
As a result of this deletion, the number of child relay servers 200 or receiving hosts 500 registered in the channel becomes 0, and it is not the root of the tree structure defined for the channel ( If it is not the root relay server), the address management unit 203 forwards the message to the message relay unit 206.
【0069】
Upon receiving the channel exit request message from the address management unit 203, the message relay unit 206 relays the message to the parent relay server 200.
【0070】
Next, a series of operations of one embodiment in the multicast communication system of the present invention will be described with reference to FIG. Here, an example of delivering news using channel (2) will be described.
【0071】
The sequence chart shown in FIG. 14 is for a case where the data transmitted from one transmitting host 100 is transmitted to three receiving hosts 500a, 500b, 500c via three relay servers 200. ..
【0072】
First, in step S601, the receiving host 500a sets a control connection with the relay server 200, sets the message type section to indicate that it is a channel subscription request, and sets the channel identification section to subscribe to the channel (2). ) Is set to send a channel subscription request message via the connection. Similarly, the receiving hosts 500b and 500c also send the channel subscription request message to the relay server 200.
【0073】
In step S602, when the message receiving unit 205 of the relay server 200 receives the channel subscription request message from the receiving host 500 or the child relay server 200, the message receiving unit 205 forwards the message to the address management unit 203. Upon receiving the transfer of the channel subscription request message, the address management unit 203 notifies the data relay unit 202 and the message relay unit 206 to that effect. Further, the address management unit 203 that has received the transfer of the channel subscription request message searches the address management table 204 using the channel identifier in the message as a key, and receives the receiving host 500 and the child relay server 200 that are receiving the channel. Register the IP address of the receiving host 500 or the relay server 200 of the message source in the list.
【0074】
In this example, 2a, 2b, and 2c are set as the individual addresses of each receiving host 500 or the child relay server 200 in the channel identifier (2) shown in FIG.
【0075】
The data relay unit 202 notified from the address management unit 203 sets a connection for data relay with the child relay server 200 or the receiving host 500 of the message transmission source.
【0076】
In step S603, the message relay unit 206 notified by the address management unit 203 is not the tree-structured route defined for the channel (2) indicated by the channel identifier in the message (channel (2). If the channel subscription request message has not been relayed to the parent relay server 200 (instead of the route relay server defined for)), a control connection is set up with the parent relay server 200, and the relevant connection is established. The message is relayed to the parent relay server 200.
【0077】
In step S604, the transmission host 100 establishes a connection for data transmission with the route relay server 200, which is the root of the tree structure defined for the channel (2), and the channel (2) is set in the channel identifier section. Is set, and the data in which the news article is set is transmitted to the user data section.
【0078】
In step S605, when the data receiving unit 201 of the relay server 200 receives data from the transmitting host 100 or the parent relay server 200, the data receiving unit 201 transfers the data to the address management unit 203. The address management unit 203 searches the address management table 204, determines whether or not there is a receiving host 500 or a relay server 200 that is receiving the channel (2) identified by the channel identifier in the data, and if it exists. Transfers the data to the data relay unit 202.
【0079】
In step S606, the data relay unit 202 that has received data from the address management unit 203 uses the data relay connection set in step S602 to receive the data on the channel (2) of the child relay server 200 or the receiving host. Relay to 500.
【0080】
In step S607, the receiving host 500a uses the control connection set in step S601 to set the message type section to indicate that it is a channel withdrawal request, and set the channel identifier section to set the channel (2) requesting withdrawal. Send a channel exit request message to the relay server 200. Similarly, the receiving hosts 500b and 500c also send the channel exit request message to the relay server 200. Further, the receiving hosts 500a, 500b, and 500c release the control connection set in step S601 after transmitting the channel exit request message.
【0081】
In step S608, when the message receiving unit 201 of the relay server 200 receives the channel exit request message from the relay server 200 or the receiving host 500, the message receiving unit 201 transfers the message to the address management unit 203. The address management unit 203 searches the address management table 204 using the channel identifier in the message as a key, and from the list of the receiving host 500 and the child relay server 200 receiving the channel, the child relay server 200 of the message transmission source or the child relay server 200 or Delete the IP address of the receiving host 500.
【0082】
In step S609, when the number of child relay servers 200 or receiving hosts 500 registered in the channel becomes 0 as a result of this deletion, the data relay unit 202 and the message relay unit 206 are notified to that effect.
【0083】
Upon receiving a notification from the address management unit 203 that the number of child relay servers 200 or receiving hosts 500 registered in the address management table 204 has become 0, the data relay unit 206 sets up a data relay connection in step S602. To release.
【0084】
In addition, the message relay unit 206, which has been notified by the address management unit 203 that the number of child relay servers 200 or receiving hosts 500 registered in the address management table 204 has become 0, is the channel in the message itself. If the route is not a tree-structured route defined for the channel (2) indicated by the identifier, the channel exit request message received using the control connection set in step 603 is relayed to the parent relay server 200, and the message is transmitted. Later, the control connection is released.
【0085】
According to such a multicast communication system, a connection for data transmission and data relay is set in advance between the transmission host 100 and the relay server 200, and the relay server 200 and the reception host 500 based on the request from the reception host 500. When the data is updated, the data is immediately transmitted from the transmission host 100 to the relay server 200, and the data is sequentially copied by each relay server 200 and relayed to the reception host 500. Therefore, the transmission host 100 sends the data to the relay server 200. If only one is sent, data can be sent in real time to all receiving hosts 500 receiving the channel. That is, the real-time property of data distribution is excellent.
【0086】
In addition, when the receiving host 500 increases, the load on the transmitting host 100 does not increase much, and even if the receiving host 500 increases, the increase in network traffic is small compared to pull-type data distribution. It will have the scalability to easily continue information distribution even when the scale of the network becomes large.
【0087】
The setting / release of the data transmission connection, the data relay connection, and the control connection is not limited to that of the present embodiment, and can be, for example, the following formats and combinations thereof.
【0088】
-Set and release the connection each time data is generated.
【0089】
-Send join / leave requests for multiple channels using the control connection that was initially set.
【0090】
[Effect of the invention]
As described in detail above, according to the present invention, in order to deliver data destined for a channel from a transmitting host to a receiving host, the transmitting host transfers the data destined for the channel to the one relay server or the channel. It may be sent to the relay server that is the root of the tree structure defined for it. As a result, the data is distributed to the receiving host registered in the address management table of each relay server via the relay server. That is, if the transmitting host sends only one data to the relay server, the data can be transmitted in real time to all the receiving hosts receiving the channel. That is, the real-time property of data distribution is excellent.
【0091】
In addition, the increase in the load on the sending host when the number of receiving hosts increases is small, and the increase in network traffic is small even when the number of receiving hosts increases compared to pull-type data distribution, so the scale of the network It will have the scalability to easily continue the information distribution even if the number becomes large.
[Simple explanation of drawings]
[Figure 1]
Sequence chart explaining the operating principle of the present invention [Figure 2]
Configuration diagram for explaining the operating principle of the present invention [Fig. 3]
Configuration diagram for explaining the multicast communication system of the present invention [Fig. 4]
The figure explaining the structure of the data transmitted by the transmission host of this invention. [Fig. 5]
A flowchart illustrating control of a transmission host of the present invention. [Fig. 6]
The figure explaining the structure of the message relayed by the relay server of this invention. [Fig. 7]
Configuration diagram of the relay server of the present invention [Fig. 8]
The figure explaining the structure of the address management table of this invention [Fig. 9]
A flowchart illustrating the operation of the relay server of the present invention. [Fig. 10]
A flowchart illustrating the operation of the relay server of the present invention. [Fig. 11]
A flowchart illustrating the operation of the relay server of the present invention. [Fig. 12]
A flowchart illustrating the operation of the receiving host of the present invention. [Fig. 13]
Configuration diagram of a relay server according to an embodiment of the present invention [Fig. 14]
Sequence chart of a multicast communication system according to an embodiment of the present invention [Explanation of symbols]
100 ... Sending host, 101 ... Data transmitting unit, 110 ... Data transmitting means, 200 ... Relay server, 201 ... Data receiving unit, 210 ... Data receiving unit, 202 ... Data relay unit, 220 ... data relay means, 203 ... address management unit, 230 ... address management means, 204 ... address management table, 205 ... message receiver, 250 ... message reception Means, 206 ... Message receiving unit, 260 ... Message relaying means, 500 ... Receiving host, 501 ... Message transmitting unit, 510 ... Message transmitting unit, 502 ... Data receiving unit, 520 ... Data receiving means
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2005534202A | Cited by | Japan | Search report |
| US8010647B2 | Cited by | United States of America | Applicant |
| US8472454B2 | Cited by | United States of America | Applicant |
| US8005961B2 | Cited by | United States of America | Applicant |
| US8443088B2 | Cited by | United States of America | Applicant |
| US7450580B2 | Cited by | United States of America | Applicant |
| US8010598B2 | Cited by | United States of America | Applicant |
| US7697523B2 | Cited by | United States of America | Applicant |
| JP2009124767A | Cited by | Japan | Search report |
| US7580978B2 | Cited by | United States of America | Applicant |
| JP2013232697A | Cited by | Japan | Search report |
| US8316134B2 | Cited by | United States of America | Applicant |
| US7580361B2 | Cited by | United States of America | Applicant |
| US7206088B2 | Cited by | United States of America | Applicant |
| JP2007519277A | Cited by | Japan | Search report |
| JP2013232697A | Cited by | Japan | Search report |
| US9774921B2 | Cited by | United States of America | Applicant |
| JP2007305049A | Cited by | Japan | Search report |
| JP2002290457A | Cited by | Japan | Search report |
| US11044532B2 | Cited by | United States of America | Applicant |
| JP2003188918A | Cited by | Japan | Search report |
| US7441040B2 | Cited by | United States of America | Applicant |
| WO02080456A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 11657798 | Japan | A | |
| JP19980116577 | – | – | – |
Numbers
- Publication
- 11-313059
- Publication, DOCDB
- H11313059
- Publication, EPODOC
- JPH11313059
- Application
- 10116577
- Application, DOCDB
- 11657798
- Application, EPODOC
- JP19980116577
Titles2
- Japanese
- 【発明の名称】マルチキャスト通信方法及びそのシステム並びにマルチキャスト通信プログラムを記録した記録媒体
- English
- PROBLEM TO BE SOLVED: To record a multicast communication method, a system thereof, and a multicast communication program.
Classification
- IPC, 3
- G06F13 00
- H04L12 18
- H04L12 70