WO2012043142A1 - マルチキャストルータ及びマルチキャストネットワークシステム - Google Patents

マルチキャストルータ及びマルチキャストネットワークシステム Download PDF

Info

Publication number
WO2012043142A1
WO2012043142A1 PCT/JP2011/070054 JP2011070054W WO2012043142A1 WO 2012043142 A1 WO2012043142 A1 WO 2012043142A1 JP 2011070054 W JP2011070054 W JP 2011070054W WO 2012043142 A1 WO2012043142 A1 WO 2012043142A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
transmission
retransmission
unit
packet
Prior art date
Application number
PCT/JP2011/070054
Other languages
English (en)
French (fr)
Inventor
聡史 神谷
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2012043142A1 publication Critical patent/WO2012043142A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Definitions

  • the present invention relates to a multicast network system and a multicast router.
  • Multicast communication in which the same data packet is transmitted (distributed) to a plurality of terminals in a network is known.
  • Typical multicast network systems that perform multicast communication are described in, for example, Patent Document 1 and Patent Document 2.
  • FIG. 1 shows a configuration of a typical multicast network system 100 that performs multicast communication in the IP layer.
  • a multicast network system 100 includes a plurality of multicast routers (MC routers) 200-1 to 200-3, a transmission server 300, and a plurality of receiving terminals 400-1 to 400-4.
  • the plurality of multicast routers 200-1 to 200-3 are arranged on the multicast network between the transmission server 300 and the reception terminals 400-1 to 400-4.
  • Each multicast router 200 duplicates the data packet received from the upstream side and forwards the data packet to each of a plurality of downstream destinations. Accordingly, the same data packet transmitted from the transmission server 300 is distributed to the plurality of receiving terminals 400-1 to 400-4 through the multicast routers 200-1 to 200-3.
  • the tree structure of the multicast network as shown in FIG. 1 is called a “multicast tree”.
  • Non-Patent Document 1 discloses a method using “ACK (ACK) acknowledgment”. Specifically, as shown in FIG. 1, when each of the receiving terminals 400-1 to 400-4 receives a data packet, it sends an ACK indicating normal reception to the transmitting server that is the transmission source of the received data packet. Reply to 300. With this ACK, the transmission server 300 recognizes that the transmitted data packet has reached the receiving terminal 400 safely. When the transmission server 300 retransmits the data packet as necessary, the reliability can be improved from the viewpoint of data delivery.
  • ACK ACK
  • ACKs from all receiving terminals 400 are concentrated on one transmission server 300.
  • a “response explosion” occurs in which a huge number of ACKs are transmitted to the transmission server 300 for each data packet.
  • Such a response explosion significantly increases the processing load on the transmission server 300, which is not preferable.
  • limiting the number of receiving terminals 400 means deterioration of scalability of the receiving terminal 400, which is not preferable.
  • One object of the present invention is to provide a technique capable of suppressing response explosion in a multicast network system.
  • a multicast router is provided.
  • the multicast router is arranged between the transmission device and the reception device in the multicast network system.
  • the multicast router includes a response generation unit, a packet transmission unit, and a retransmission management unit.
  • the response generation unit receives the data packet from the transmission source on the transmission device side
  • the response generation unit returns an acknowledgment to the transmission source.
  • the packet transmission unit duplicates the received data packet and transmits it to the transmission destination on the reception device side.
  • the retransmission management unit performs retransmission control on the data packet transmitted to the transmission destination.
  • the retransmission management unit stores the data packet transmitted to the transmission destination in a buffer.
  • the retransmission management unit When the acknowledgment for the data packet is received from the transmission destination, the retransmission management unit discards the received acknowledgment. When the acknowledgment for the data packet is received from all of the transmission destinations, the retransmission management unit deletes the data packet stored in the buffer. When a retransmission timeout occurs for the data packet stored in the buffer, the retransmission management unit outputs the data packet as a retransmission data packet to the packet transmission unit, and the packet transmission unit retransmits the retransmission data packet to the transmission destination.
  • a multicast network system in another aspect of the present invention, includes a transmission device, a plurality of reception devices, and a multicast router arranged on the multicast network between the transmission device and the plurality of reception devices.
  • the multicast router includes a response generation unit, a packet transmission unit, and a retransmission management unit.
  • the response generation unit receives the data packet from the transmission source on the transmission device side
  • the response generation unit returns an acknowledgment to the transmission source.
  • the packet transmission unit duplicates the received data packet and transmits it to the transmission destination on the reception device side.
  • the retransmission management unit performs retransmission control on the data packet transmitted to the transmission destination.
  • the retransmission management unit stores the data packet transmitted to the transmission destination in a buffer.
  • the retransmission management unit When the acknowledgment for the data packet is received from the transmission destination, the retransmission management unit discards the received acknowledgment. When the acknowledgment for the data packet is received from all of the transmission destinations, the retransmission management unit deletes the data packet stored in the buffer. When a retransmission timeout occurs for the data packet stored in the buffer, the retransmission management unit outputs the data packet as a retransmission data packet to the packet transmission unit, and the packet transmission unit retransmits the retransmission data packet to the transmission destination.
  • a program for causing a multicast router to realize a multicast router function is provided.
  • the multicast router is arranged between the transmission device and the reception device in the multicast network system.
  • the multicast router function includes a response generation function, a packet transmission function, and a retransmission management function.
  • the response generation function receives a data packet from the transmission source on the transmission device side
  • the response generation function returns an acknowledgment to the transmission source.
  • the packet transmission function duplicates the received data packet and transmits it to the transmission destination on the receiving device side.
  • the retransmission management function performs retransmission control regarding the data packet transmitted to the transmission destination.
  • the retransmission management function stores the data packet transmitted to the transmission destination in a buffer.
  • the retransmission management function discards the received acknowledgment.
  • the retransmission management function deletes the data packet stored in the buffer.
  • the retransmission management function outputs the data packet as a retransmission data packet to the packet transmission function, and the packet transmission function retransmits the retransmission data packet to the transmission destination.
  • response explosion can be suppressed in a multicast network system.
  • FIG. 1 is a block diagram showing a configuration of a typical multicast network system.
  • FIG. 2 is a block diagram showing a configuration of the multicast network system according to the embodiment of the present invention.
  • FIG. 3 is a block diagram schematically showing the configuration of the multicast router according to the embodiment of the present invention.
  • FIG. 4 is a conceptual diagram showing a data packet in the embodiment of the present invention.
  • FIG. 5 is a conceptual diagram showing header information in the embodiment of the present invention.
  • FIG. 6 is a conceptual diagram showing DAT reception information in the embodiment of the present invention.
  • FIG. 7 is a conceptual diagram showing ACK reception information in the embodiment of the present invention.
  • FIG. 8 is a conceptual diagram showing management information in the embodiment of the present invention.
  • FIG. 1 is a block diagram showing a configuration of a typical multicast network system.
  • FIG. 2 is a block diagram showing a configuration of the multicast network system according to the embodiment of the present invention.
  • FIG. 3 is a block diagram schematically
  • FIG. 9 is a conceptual diagram illustrating an example of an output port state and an ACK reception state in the management information.
  • FIG. 10 is a conceptual diagram showing multicast information in the embodiment of the present invention.
  • FIG. 11 is a block diagram showing the configuration of the multicast router in the embodiment of the present invention.
  • FIG. 12 is a block diagram showing the configuration of the data processing unit in the embodiment of the present invention.
  • FIG. 13 is a block diagram showing a configuration of the retransmission control receiving unit in the embodiment of the present invention.
  • FIG. 14 is a block diagram showing a configuration of a retransmission control transmission unit in the embodiment of the present invention.
  • FIG. 15 is a block diagram showing a configuration of the transmission server according to the embodiment of the present invention.
  • FIG. 10 is a conceptual diagram showing multicast information in the embodiment of the present invention.
  • FIG. 11 is a block diagram showing the configuration of the multicast router in the embodiment of the present invention.
  • FIG. 12 is a block diagram showing the configuration of
  • FIG. 16 is a block diagram showing a configuration of a receiving terminal in the embodiment of the present invention.
  • FIG. 17 is a flowchart showing an operation when receiving a data packet in the multicast router according to the embodiment of the present invention.
  • FIG. 18 is a flowchart showing an operation at the time of ACK reception in the multicast router according to the embodiment of the present invention.
  • FIG. 19 is a flowchart showing an operation when a retransmission timeout occurs in the multicast router according to the embodiment of the present invention.
  • FIG. 2 shows a configuration of a multicast network system 1 according to an embodiment of the present invention.
  • the multicast network system 1 includes a plurality of multicast routers (MC routers) 2-1 to 2-3, a transmission server 3, and a plurality of reception terminals 4-1 to 4-4.
  • the transmission server 3 transmits the data packet DAT to the multicast network.
  • the receiving terminal 4 receives the data packet DAT from the multicast network.
  • a plurality of multicast routers 2-1 to 2-3 are arranged on a multicast network between the transmission server 3 and the reception terminals 4-1 to 4-4.
  • Each multicast router 2 duplicates the data packet DAT received from the upstream side, and transfers the data packet DAT to each of a plurality of downstream destinations. Accordingly, the same data packet DAT transmitted from the transmission server 3 is distributed to the plurality of receiving terminals 4-1 to 4-4 through the multicast routers 2-1 to 2-3.
  • the tree structure of the multicast network as shown in FIG. 2 is called a “multicast tree”.
  • each multicast router 2 has a “packet retransmission control function”. That is, delivery confirmation using an acknowledgment (ACK) is performed between the transmission server 3 and the multicast router 2, between adjacent multicast routers 2, and between the multicast router 2 and the receiving terminal 4. More specifically, each multicast router 2 has the following functions.
  • FIG. 3 is a block diagram schematically showing the configuration of the multicast router 2 according to the present embodiment.
  • the multicast router 2 includes an ACK generation unit 41, a packet transmission unit 50, and a retransmission management unit 60.
  • the ACK generation unit 41 When receiving the data packet DAT from the upstream (transmission server 3 side), the ACK generation unit 41 generates an ACK for the data packet DAT. Then, the ACK generation unit 41 returns an ACK to the transmission source (the adjacent multicast router 2 or the transmission server 3) of the received data packet DAT.
  • the packet transmission unit 50 When the packet transmission unit 50 receives the data packet DAT from the upstream side (transmission server 3 side), the packet transmission unit 50 duplicates the data packet DAT. Then, the packet transmission unit 50 transmits the data packet DAT to a designated transmission destination (adjacent multicast router 2 or reception terminal 4) downstream (receiving device 4 side). Typically, the number of downstream transmission destinations is plural. The packet transmitter 50 also retransmits a data packet DAT, which will be described later.
  • the retransmission management unit 60 performs retransmission control related to the data packet DAT transmitted to the downstream transmission destination. Specifically, the retransmission management unit 60 has (1) a buffer function, (2) an ACK termination function, and (3) a retransmission timeout detection function.
  • the retransmission management unit 60 temporarily stores the data packet DAT transmitted to the downstream transmission destination in a buffer in preparation for the retransmission process.
  • the downstream transmission destination returns an ACK in response to the data packet DAT.
  • the retransmission management unit 60 terminates and discards the received ACK.
  • the retransmission management unit 60 deletes the data packet DAT stored in the buffer.
  • the retransmission management unit 60 determines that a retransmission timeout (out) has occurred. In this case, the retransmission management unit 60 reads the data packet DAT stored in the buffer, and outputs the data packet DAT to the packet transmission unit 50 as the retransmission data packet DAT.
  • the packet transmission unit 50 retransmits the retransmission data packet DAT to a designated downstream destination as in the case of the normal data packet DAT.
  • the packet transmission unit 50 may retransmit the retransmission data packet DAT using the same queue as that for the normal data packet DAT. That is, the packet transmission unit 50 may use the same queue for both transmission of the data packet DAT and retransmission of the retransmission data packet DAT. In this case, the necessary memory is reduced, which is preferable.
  • ACK is used between the transmission server 3 and the multicast router 2, between adjacent multicast routers 2, and between the multicast router 2 and the receiving terminal 4. Confirmed delivery is performed. Therefore, not only the reliability is improved from the viewpoint of data delivery, but also the explosion of the ACK response is prevented. As a result, an increase in processing load on the transmission server 3 is also prevented.
  • the multicast router 2 includes an arithmetic processing device (eg, CPU) and a storage device (eg, RAM, HDD).
  • the multicast router function described above is realized by the arithmetic processing device executing a program stored in the storage device.
  • the program may be recorded on a computer-readable recording medium.
  • FIG. 4 is a conceptual diagram showing the data packet DAT.
  • the data packet DAT includes a packet identification number 81 and a packet 82.
  • the packet 82 includes a header 83 and a payload 84.
  • the packet identification number 81 is a number for identifying the packet 82. An arbitrary number may be given as the packet identification number 81, or a number calculated from information included in the packet 82 (for example, a hash value calculated from a field value in the header 83) may be used. Good.
  • the ACK has the same format as the data packet DAT.
  • FIG. 5 is a conceptual diagram showing the header information 85.
  • the header information 85 is a subset of the data packet DAT, and includes a packet identification number 81 and a header 83.
  • FIG. 6 is a conceptual diagram showing DAT reception information 88 for notifying that the multicast router 2 has received the data packet DAT.
  • the DAT reception information 88 includes a packet identification number 81 and a header 83 of the received data packet DAT.
  • FIG. 7 is a conceptual diagram showing ACK reception information 89 for notifying that the multicast router 2 has received an ACK.
  • the ACK reception information 89 includes a packet identification number 81 and a header 83 of the received ACK.
  • FIG. 8 is a conceptual diagram showing management information 90 used for managing the data packet DAT.
  • the management information 90 includes a packet identification number 81, an output port state 91, a transmission time 92, and an ACK reception state 93.
  • the management information 90 is associated with the data packet DAT on a one-to-one basis through the packet identification number 81.
  • FIG. 9 shows an example of the output port state 91 and the ACK reception state 93.
  • the output port state 91 indicates an output port (that is, a transmission destination) to which the data packet DAT is to be output.
  • a plurality of output ports (2, 3, N) in the state “1” output the data packet DAT.
  • the ACK reception state 93 indicates the reception status of ACK for the data packet DAT from the transmission destination.
  • the state “1” means that ACK has not been received, and the state is changed from “1” to “0” in response to ACK reception.
  • FIG. 10 is a conceptual diagram showing the multicast information 99.
  • the multicast information 99 is a subset of the management information 90 and includes a packet identification number 81 and an output port state 91.
  • FIG. 11 is a block diagram showing a configuration of multicast router 2 in the present embodiment.
  • the multicast router 2 includes a switch unit 6 and a data processing unit 10.
  • the switch unit 6 receives the data packet DAT or ACK from the external network through the ports 7-1 to 7-N, and transfers the received data packet DAT or ACK to the data processing unit 10. Further, the switch unit 6 receives the data packet DAT and ACK from the data processing unit 10, and sends the received data packet DAT and ACK to the external network through the ports 7-1 to 7-N.
  • the data processing unit 10 performs various data processing in response to reception of the data packet DAT or ACK.
  • the data processing unit 10 identifies whether the received packet is DAT or ACK.
  • the data processing unit 10 When receiving the data packet DAT, the data processing unit 10 generates an ACK in response to the received data packet DAT, and returns the ACK through the switch unit 6. Further, the data processing unit 10 determines a multicast transmission destination of the received data packet DAT, and transmits a copy of the received data packet DAT to each multicast transmission destination through the switch unit 6. Further, the data processing unit 10 temporarily stores the received data packet DAT in a buffer for retransmission control. On the other hand, when receiving the ACK, the data processing unit 10 terminates and discards the received ACK.
  • the data processing unit 10 deletes the received data packet DAT stored in the buffer.
  • the data processing unit 10 detects a retransmission timeout for the data packet DAT stored in the buffer, the data processing unit 10 executes a retransmission process for the data packet DAT.
  • FIG. 12 is a block diagram showing a configuration of the data processing unit 10 in the present embodiment.
  • the data processing unit 10 includes a route management unit 20, a retransmission control reception unit 30, and a retransmission control transmission unit 40.
  • the route management unit 20 holds and manages information indicating the configuration of the multicast tree. Then, the route management unit 20 determines the output destination (output port state 91) of the received data packet DAT based on the multicast tree. More specifically, the path management unit 20 receives the header information 85 (see FIG. 5) of the received data packet DAT from the retransmission control reception unit 30. Then, the path management unit 20 identifies the multicast tree based on the header information 85 and determines the output destination (output port state 91) of the received data packet DAT. Further, the route management unit 20 creates multicast information 99 (see FIG. 10), and outputs the multicast information 99 to the retransmission control transmission unit 40.
  • the retransmission control receiving unit 30 receives the data packet DAT and ACK from the switch unit 6. First, the retransmission control receiver 30 identifies whether the received packet is DAT or ACK. When receiving the data packet DAT, the retransmission control receiving unit 30 extracts the header information 85 (see FIG. 5) from the received data packet DAT, and notifies the route management unit 20 of the header information 85. Further, the retransmission control receiving unit 30 sends the received data packet DAT and the DAT reception information 88 (see FIG. 6) to the retransmission control transmitting unit 40. On the other hand, when ACK is received, the retransmission control receiving unit 30 sends ACK reception information 89 (see FIG. 7) to the retransmission control transmitting unit 40. Further, the retransmission control receiving unit 30 terminates / discards the received ACK.
  • the retransmission control transmission unit 40 When receiving the DAT reception information 88 (see FIG. 6), the retransmission control transmission unit 40 generates an ACK based on the packet identification number 81 and the header 83 and sends back the ACK through the switch unit 6. Further, upon receiving the data packet DAT and the multicast information 99 (see FIG. 10), the retransmission control transmission unit 40 creates management information 90 (see FIGS. 8 and 9) regarding the data packet DAT. Then, the retransmission control transmission unit 40 refers to the management information 90 and performs duplication / transmission processing of the data packet DAT. In addition, when receiving the ACK reception information 89 (see FIG. 7), the retransmission control transmission unit 40 updates the ACK reception state 93 (see FIGS. 8 and 9) in the management information 90. Then, the retransmission control transmission unit 40 executes a retransmission control process based on the management information 90.
  • FIG. 13 is a block diagram showing a configuration of retransmission control receiving unit 30 in the present embodiment.
  • the retransmission control reception unit 30 includes a packet identification unit 31 and a header extraction unit 35.
  • the packet identification unit 31 identifies whether the received packet received from the switch unit 6 is DAT or ACK. In the case of a data packet DAT, the packet identification unit 31 transfers the received data packet DAT to the header extraction unit 35 and sends DAT reception information 88 (see FIG. 6) to the retransmission control transmission unit 40. On the other hand, in the case of ACK, the packet identification unit 31 discards the received ACK and sends ACK reception information 89 (see FIG. 7) to the retransmission control transmission unit 40.
  • the header extraction unit 35 extracts header information 85 (see FIG. 5) from the received data packet DAT, and notifies the route management unit 20 of the header information 85. In addition, the header extraction unit 35 sends the received data packet DAT to the retransmission control transmission unit 40. At this time, in order to ensure uniqueness, the header extraction unit 35 assigns the same packet identification number 81 to the header information 85 and the received data packet DAT.
  • FIG. 14 is a block diagram showing a configuration of retransmission control transmission section 40 in the present embodiment.
  • the retransmission control transmission unit 40 includes an ACK generation unit 41, a multiplexing unit 42, a packet transmission unit 50, and a retransmission management unit 60.
  • the ACK generation unit 41 receives the DAT reception information 88 (see FIG. 6) from the retransmission control reception unit 30. Based on the packet identification number 81 and the header 83 of the DAT reception information 88, the ACK generation unit 41 generates an ACK and outputs the ACK to the multiplexing unit.
  • the multiplexing unit 42 performs output arbitration between the ACK from the ACK generation unit 41 and the data packet DAT from the packet transmission unit 50. Then, the multiplexing unit 42 outputs the data packet DAT and ACK to the switch unit 6.
  • the packet transmission unit 50 receives the multicast information 99 (see FIG. 10) from the route management unit 20 and receives the data packet DAT from the retransmission control reception unit 30.
  • the packet transmitting unit 50 creates and manages management information 90 (see FIGS. 8 and 9) regarding the data packet DAT.
  • the retransmission control transmission unit 40 refers to the management information 90 and performs duplication / transmission processing of the data packet DAT.
  • the packet transmission unit 50 includes a management information FIFO 51, a transmission data FIFO 52, a transmission control unit 53, and a packet duplication unit 54.
  • Management information FIFO 51 is a FIFO for storing management information 90 (see FIGS. 8 and 9).
  • the transmission data FIFO 52 is a FIFO for storing the data packet DAT and the retransmission data packet DAT. Note that the “queue” in FIG. 3 already corresponds to the management information FIFO 51 and the transmission data FIFO 52.
  • the transmission control unit 53 reads the management information 90 from the head of the management information FIFO 51 and transfers the management information 90 to the packet duplication unit 54. Further, the transmission control unit 53 records the current time at the transmission time 92 of the read management information 90 and sends the management information 90 to the retransmission management unit 60. Further, the transmission control unit 53 reads the corresponding data packet DAT from the transmission data FIFO 52 and sends the data packet DAT to the packet duplication unit 54. In addition, the transmission control unit 53 sends the read data packet DAT to the retransmission management unit 60.
  • the packet replication unit 54 receives the management information 90 and the data packet DAT.
  • the packet replication unit 54 refers to the output port state 91 of the management information 90 and replicates the data packet DAT. Then, the packet duplicating unit 54 outputs the data packet DAT to which the routing information to each output port is added to the multiplexing unit 42.
  • the retransmission management unit 60 receives the data packet DAT and the management information 90 from the packet transmission unit 50, and temporarily stores them. Then, retransmission management section 60 executes retransmission control processing according to the reception status of ACK. More specifically, the retransmission management unit 60 includes a management information buffer 61, a retransmission data buffer 62, a retransmission management control unit 63, and a timer 64.
  • Management information buffer 61 is a buffer for temporarily storing management information 90 (see FIGS. 8 and 9).
  • the transmission time 92 in the management information 90 is set to the time transferred from the management information FIFO 51 to the management information buffer 61.
  • the retransmission data buffer 62 is a buffer for temporarily storing the data packet DAT.
  • the retransmission management control unit 63 receives the ACK reception information 89 (see FIG. 7) from the retransmission control reception unit 30, and updates the management information 90 stored in the management information buffer 61. Specifically, the retransmission management control unit 63 searches the management information buffer 61 for management information 90 having the same packet identification number 81 in the ACK reception information 89. Then, the retransmission management control unit 63 updates the ACK reception state 93 (see FIG. 9) in the corresponding management information 90 based on the header 83 and the like. When the ACK reception state 93 indicates that ACK has been received from all the transmission destinations, the retransmission management control unit 63 transmits the data packet DAT corresponding to the management information 90 to the management information buffer 61, respectively. And deleted from the retransmission data buffer 62.
  • the timer 64 notifies the retransmission management control unit 63 of time information.
  • the retransmission management control unit 63 detects the occurrence of a retransmission timeout by referring to the time information notified from the timer 64 and the transmission time 92 in the management information 90.
  • the retransmission management control unit 63 updates the output port state 91 in the corresponding management information 90 according to the current ACK reception status. Specifically, the retransmission management control unit 63 overwrites the output port state 91 in the corresponding management information 90 with the ACK reception state 93 (see FIG. 9).
  • the retransmission management control unit 63 transfers the management information 90 from the management information buffer 61 to the management information FIFO 51 of the packet transmission unit 50, and sends the corresponding data packet DAT (retransmission data packet DAT) from the retransmission data buffer 62.
  • the data is transferred to the transmission data FIFO 52 of the packet transmission unit 50.
  • the retransmission data packet DAT is retransmitted from the packet transmission unit 50 toward the transmission destination where ACK has not been received.
  • FIG. 15 is a block diagram showing a configuration of transmission server 3 in the present embodiment.
  • symbol is attached
  • the transmission server 3 includes an upper application 25 in addition to the route management unit 20, the retransmission control reception unit 30, and the retransmission control transmission unit 40.
  • the host application 25 is an application that holds data to be transmitted to the receiving terminal 4, and sends transmission data to the retransmission control receiving unit 30. That is, the retransmission control receiving unit 30 is supplied with data from the upper application 25 instead of from the outside.
  • the functions of the route management unit 20, the retransmission control receiving unit 30, and the retransmission control transmitting unit 40 are basically the same as the data processing unit 10 of the multicast router 2. However, since no data packet DAT is received from the adjacent multicast router 2, no ACK is returned. In the case of the transmission server 3, there is only one set of connection interface with the external network, and the retransmission control transmission unit 40 operates with the number of output ports set to 1. Therefore, the switch unit 6 is not necessary.
  • FIG. 16 is a block diagram showing a configuration of receiving terminal 4 in the present embodiment.
  • symbol is attached
  • the receiving terminal 4 includes an upper application 26, a packet identification unit 31, and an ACK generation unit 41.
  • the packet identification unit 31 receives the data packet DAT from the adjacent upstream multicast router 2.
  • the packet identification unit 31 transfers the received data packet DAT to the upper application 26. Further, the packet identification unit 31 outputs the DAT reception information 88 (see FIG. 6) to the ACK generation unit 41.
  • the ACK generation unit 41 receives the DAT reception information 88 (see FIG. 6) from the packet identification unit 31. Based on the packet identification number 81 and the header 83 of the DAT reception information 88, the ACK generation unit 41 generates an ACK and returns the ACK to the adjacent multicast router 2 upstream.
  • FIG. 17 is a flowchart showing an operation at the time of receiving the data packet DAT in the multicast router 2 according to the present embodiment.
  • a data packet DAT is input from the port 7-1 and the data packet DAT is multicast to the ports 7-2, 7-3, 7-N.
  • Step S1 Data packet DAT is input from upstream to port 7-1.
  • the data packet DAT is input to the retransmission control receiving unit 30 of the data processing unit 10.
  • Step S10 In response to the reception of the data packet DAT, “ACK return processing (step S10)” described below is performed.
  • Step S11 The packet identification unit 31 of the retransmission control receiving unit 30 notifies the retransmission control transmitting unit 40 of the DAT reception information 88 in response to the reception of the data packet DAT.
  • Step S12 In response to the DAT reception information 88, the ACK generation unit 41 of the retransmission control transmission unit 40 generates an ACK.
  • Step S13 The ACK generation unit 41 transmits an ACK to the multiplexing unit 42 so as to be output from the port 7-1 connected to the transmission source of the data packet DAT.
  • the multiplexing unit 42 outputs the ACK from the port 7-1 through the switch unit 6.
  • Step S20 On the other hand, in response to reception of the data packet DAT, “DAT transfer processing (step S20)” described below is also performed.
  • Step S21 The header extraction unit 35 of the retransmission control reception unit 30 extracts header information 85 from the data packet DAT and notifies the route management unit 20 of the header information 85.
  • the header extraction unit 35 transmits the data packet DAT to the retransmission control transmission unit 40. At this time, in order to ensure uniqueness, the header extraction unit 35 assigns the same packet identification number 81 to the header information 85 and the data packet DAT.
  • Step S22 The path management unit 20 identifies the multicast tree based on the header information 85 and determines the output destination (output port state 91) of the data packet DAT. Further, the route management unit 20 creates the multicast information 99 and outputs the multicast information 99 to the retransmission control transmission unit 40.
  • Step S23 The packet transmitter 50 of the retransmission control transmitter 40 accommodates the data packet DAT in the transmission data FIFO 52.
  • Step S24 Further, the packet transmission unit 50 creates management information 90 (see FIGS. 8 and 9) corresponding to the data packet DAT based on the multicast information 99 received from the route management unit 20. Specifically, the packet identification information 81 and the output port state 91 are the same as those of the multicast information 99. The sending time 92 is set to zero. The ACK reception state 93 is set to be the same as the output port state 91. The packet transmission unit 50 stores the created management information 90 in the management information FIFO 51.
  • Step S25 The transmission control unit 53 reads the management information 90 from the head of the management information FIFO 51 and transfers the management information 90 to the packet duplication unit 54. Also, the transmission control unit 53 records the current time at the transmission time 92 of the read management information 90 and stores the management information 90 in the management information buffer 61 in the retransmission management unit 60.
  • Step S26 Further, the transmission control unit 53 reads the data packet DAT having the same packet identification information 81 as that of the management information 90 from the transmission data FIFO 52, and sends the data packet DAT to the packet duplication unit 54. Further, the transmission control unit 53 stores the read data packet DAT in the retransmission data buffer 62 in the retransmission management unit 60.
  • Step S27 The packet replication unit 54 receives the management information 90 and the data packet DAT.
  • the packet replication unit 54 refers to the output port state 91 of the management information 90 and replicates the data packet DAT. Then, the packet duplicating unit 54 outputs the data packet DAT to which the routing information to each output port is added to the multiplexing unit 42. In this example, three data packets DAT are duplicated, and the same data packet DAT is transmitted from each of the ports 7-2, 7-3, 7-N.
  • FIG. 18 is a flowchart showing an operation at the time of ACK reception in the multicast router 2 according to the present embodiment. As an example, consider a case where ACK is input from a port 7-3 connected downstream.
  • Step S31 ACK is input from downstream to port 7-3.
  • the ACK is input to the retransmission control receiving unit 30 of the data processing unit 10.
  • Step S32 The packet identifying unit 31 of the retransmission control receiving unit 30 terminates / discards the received ACK.
  • Step S33 In addition, the packet identification unit 31 notifies the retransmission control transmission unit 40 of the ACK reception information 89 in response to the ACK reception.
  • Step S34 The retransmission management control unit 63 of the retransmission management unit 60 of the retransmission control transmission unit 40 receives the ACK reception information 89.
  • the retransmission management control unit 63 searches the management information buffer 61 for management information 90 having the same packet identification number 81 in the ACK reception information 89.
  • Step S35 The retransmission management control unit 63 updates the ACK reception state 93 in the corresponding management information 90.
  • Steps S36 and S37 When ACKs are received from all transmission destinations (step S36; Yes), all “states” in the ACK reception state 93 are “0”. In this case, the retransmission management control unit 63 deletes the data packet DAT corresponding to the management information 90 from the management information buffer 61 and the retransmission data buffer 62, respectively.
  • the retransmission management control unit 63 discards the ACK reception information 89.
  • FIG. 19 is a flowchart showing retransmission timeout processing in the multicast router 2 according to the present embodiment.
  • Step S41 The timer 64 notifies the retransmission management control unit 63 of time information.
  • the retransmission management control unit 63 detects the occurrence of a retransmission timeout by referring to the time information notified from the timer 64 and the transmission time 92 in the management information 90.
  • Step S42 If a retransmission timeout has occurred (step S41; Yes), the retransmission management control unit 63 updates the output port state 91 in the corresponding management information 90 according to the current ACK reception status. Specifically, the retransmission management control unit 63 overwrites the output port state 91 in the corresponding management information 90 with the ACK reception state 93 (see FIG. 9).
  • Step S43 The retransmission management control unit 63 transfers the updated management information 90 from the management information buffer 61 to the management information FIFO 51 of the packet transmission unit 50.
  • Step S44 The retransmission management control unit 63 transfers the data packet DAT (retransmission data packet DAT) having the same packet management number 81 as that of the management information 90 from the retransmission data buffer 62 to the transmission data FIFO 52 of the packet transmission unit 50. .
  • Step S45 As a result, the retransmission data packet DAT is retransmitted from the packet transmission unit 50 toward the transmission destination where ACK has not been received.
  • ACKs are transmitted between the transmission server 3 and the multicast router 2, between adjacent multicast routers 2, and between the multicast router 2 and the receiving terminal 4. Confirmed delivery is performed. Therefore, not only the reliability is improved from the viewpoint of data delivery, but also the explosion of the ACK response is prevented. As a result, an increase in processing load on the transmission server 3 is also prevented. Further, high scalability is realized for the receiving terminal 4.
  • the management information FIFO 51, the transmission data FIFO 52, the management information buffer 61, and the retransmission data buffer 62 in the retransmission control transmission unit 40 may be one type each. Therefore, the storage memory for the data packet DAT and the management information 90 is reduced, which is preferable.
  • a multicast router disposed between a transmission device and a reception device in a multicast network system, When a data packet is received from the transmission source on the transmission device side, a response generation unit that returns an acknowledgment to the transmission source; A packet transmission unit that replicates the received data packet and transmits it to the transmission destination on the receiving device side; A retransmission management unit that performs retransmission control on the data packet transmitted to the transmission destination, The retransmission management unit stores the data packet transmitted to the transmission destination in a buffer, When an acknowledgment for the data packet is received from the destination, the retransmission management unit discards the received acknowledgment, When an acknowledgment for the data packet is received from all of the transmission destinations, the retransmission management unit deletes the data packet stored in the buffer, When a retransmission timeout occurs with respect to the data packet stored in the buffer, the retransmission management unit outputs the data packet as a retransmission data packet to the packet transmission unit, and the packet transmission unit transmits the retransmission data
  • the multicast router according to attachment 2 wherein The same queue of the packet transmitter is A transmission data queue in which the data packets are stored; A management information queue in which management information about the data packet is stored; The management information indicates an identification number of the data packet and an output port from which the data packet is output.
  • the packet transmission unit refers to the management information stored in the management information queue, and transmits the data packet stored in the transmission data queue. Multicast router.
  • the retransmission management unit stores the management information together with the data packet in the buffer, The management information further indicates a transmission time of the data packet, The retransmission management unit detects occurrence of the retransmission timeout by referring to the transmission time and a timer. Multicast router.
  • a transmitting device A plurality of receiving devices; A multicast router disposed on a multicast network between the transmitting device and the plurality of receiving devices, The multicast router When a data packet is received from the transmission source on the transmission device side, a response generation unit that returns an acknowledgment to the transmission source; A packet transmission unit that replicates the received data packet and transmits it to the transmission destination on the receiving device side; A retransmission management unit that performs retransmission control on the data packet transmitted to the transmission destination, The retransmission management unit stores the data packet transmitted to the transmission destination in a buffer, When an acknowledgment for the data packet is received from the destination, the retransmission management unit discards the received acknowledgment, When an acknowledgment for the data packet is received from all of the transmission destinations, the retransmission management unit deletes the data packet stored in the buffer, When a retransmission timeout occurs with respect to the data packet stored in the buffer, the retransmission management unit outputs the data packet as a retransmission data packet to
  • a program for realizing a multicast router function in a multicast router arranged between a transmission device and a reception device in a multicast network system The multicast router function is When a data packet is received from a transmission source on the transmission device side, a response generation function for returning an acknowledgment to the transmission source; A packet transmission function for copying the received data packet and transmitting it to a transmission destination on the receiving device side; A retransmission management function for performing retransmission control on the data packet transmitted to the transmission destination, The retransmission management function stores the data packet transmitted to the transmission destination in a buffer, When an acknowledgment for the data packet is received from the transmission destination, the retransmission management function discards the received acknowledgment.
  • the retransmission management function When an acknowledgment for the data packet is received from all of the destinations, the retransmission management function deletes the data packet stored in the buffer, When a retransmission timeout occurs with respect to the data packet stored in the buffer, the retransmission management function outputs the data packet as a retransmission data packet to the packet transmission function, and the packet transmission function transmits the retransmission data packet A program for retransmitting a message to the destination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 マルチキャストルータは、マルチキャストネットワークにおいて送信装置と受信装置との間に配置される。マルチキャストルータは、応答生成部、パケット送信部、及び再送管理部を備える。応答生成部は、送信装置側からデータパケットを受信すると、送信元に肯定応答を返信する。パケット送信部は、受信データパケットを複製し、受信装置側に送信する。再送管理部は、送信先に送信されたデータパケットをバッファに格納する。ACKを送信先から受信した場合、再送管理部は、受信したACKを破棄する。全ての送信先からACKを受信した場合、再送管理部は、バッファに格納されているデータパケットを削除する。バッファに格納されているデータパケットに関して再送タイムアウトが発生した場合、再送管理部は、再送データパケットをパケット送信部に出力し、パケット送信部は、再送データパケットを再送する。

Description

マルチキャストルータ及びマルチキャストネットワークシステム
 本発明は、マルチキャストネットワークシステム及びマルチキャストルータに関する。
 ネットワークにおいて複数の端末に対して同一のデータパケットを送信(配信)する「マルチキャスト(multicast)通信」が知られている。マルチキャスト通信を行う典型的なマルチキャストネットワークシステムは、例えば、特許文献1や特許文献2に記載されている。
 図1は、IP層におけるマルチキャスト通信を行う典型的なマルチキャストネットワークシステム100の構成を示している。図1において、マルチキャストネットワークシステム100は、複数のマルチキャストルータ(MCルータ)200-1~200-3、送信サーバ300、及び複数の受信端末400-1~400-4を備えている。複数のマルチキャストルータ200-1~200-3は、送信サーバ300と受信端末400-1~400-4との間のマルチキャストネットワーク上に配置されている。各々のマルチキャストルータ200は、上流側から受信したデータパケットを複製し、下流側の複数の送信先のそれぞれにデータパケットを転送する。従って、送信サーバ300から送信された同一のデータパケットが、マルチキャストルータ200-1~200-3を通して、複数の受信端末400-1~400-4に配信されることになる。尚、図1で示されるようなマルチキャストネットワークの木構造は、「マルチキャストツリー」と呼ばれている。
 近年、高精細映像配信や株式情報配信等の分野において、「高信頼マルチキャスト(Reliable Multicast)」が強く望まれている。そして、上述のようなIP層におけるマルチキャストを高信頼化するための機能が、IETF(Internet Engineering Task Force)の“Reliable Multicast Working Group”にて検討されている。
 高信頼マルチキャストにおいて実現が必要とされる機能の1つは、受信端末400-1~400-4の全てにデータパケットが正確に送達されることを保証することである。すなわち、データ送達の観点から信頼性を向上させるような機能が重要である。その機能を実現するための方法として、「肯定応答(ACK;ACKnowledgement)」を利用した方法が、非特許文献1に開示されている。具体的には、図1に示されるように、受信端末400-1~400-4の各々は、データパケットを受信すると、正常受信を意味するACKを、受信データパケットの送信元である送信サーバ300に返信する。このACKをもって、送信サーバ300は、送出したデータパケットが受信端末400に無事到達したことを認識する。送信サーバ300が必要に応じてデータパケットの再送(retransmission)を行うことにより、データ送達の観点から信頼性を向上させることが可能となる。
特開2001-144800号公報 特開2007-228064号公報
B. Levine and J. Garcia-Luna-Aceves, "A Comparison of Reliable Multicast Protocols", ACM Multimedia Systems J., vol.6, no.5, Aug.1998
 本願発明者は、次の点に着目した。図1で示された技術の場合、全ての受信端末400からのACKが1台の送信サーバ300に集中する。特に、多数の受信端末400を有する大規模なマルチキャストネットワークシステムの場合、データパケット毎に膨大な数のACKが送信サーバ300に向けて送信される「応答爆発」が発生してしまう。そのような応答爆発により、送信サーバ300の処理負荷は著しく増大してしまい、好ましくない。また、受信端末400の数を制限することは、受信端末400のスケーラビリティの劣化を意味し、好ましくない。
 本発明の1つの目的は、マルチキャストネットワークシステムにおいて、応答爆発を抑制することができる技術を提供することにある。
 本発明の1つの観点において、マルチキャストルータが提供される。マルチキャストルータは、マルチキャストネットワークシステムにおいて送信装置と受信装置との間に配置される。そのマルチキャストルータは、応答生成部と、パケット送信部と、再送管理部とを備える。応答生成部は、送信装置側の送信元からデータパケットを受信すると、送信元に肯定応答を返信する。パケット送信部は、受信したデータパケットを複製し、受信装置側の送信先に送信する。再送管理部は、送信先に送信されたデータパケットに関する再送制御を行う。再送管理部は、送信先に送信されたデータパケットをバッファに格納する。データパケットに対する肯定応答を送信先から受信した場合、再送管理部は、受信した肯定応答を破棄する。データパケットに対する肯定応答を送信先の全てから受信した場合、再送管理部は、バッファに格納されているデータパケットを削除する。バッファに格納されているデータパケットに関して再送タイムアウトが発生した場合、再送管理部は、データパケットを再送データパケットとしてパケット送信部に出力し、パケット送信部は、再送データパケットを送信先に再送する。
 本発明の他の観点において、マルチキャストネットワークシステムが提供される。マルチキャストネットワークシステムは、送信装置と、複数の受信装置と、送信装置と複数の受信装置との間のマルチキャストネットワーク上に配置されたマルチキャストルータと、を備える。マルチキャストルータは、応答生成部と、パケット送信部と、再送管理部とを備える。応答生成部は、送信装置側の送信元からデータパケットを受信すると、送信元に肯定応答を返信する。パケット送信部は、受信したデータパケットを複製し、受信装置側の送信先に送信する。再送管理部は、送信先に送信されたデータパケットに関する再送制御を行う。再送管理部は、送信先に送信されたデータパケットをバッファに格納する。データパケットに対する肯定応答を送信先から受信した場合、再送管理部は、受信した肯定応答を破棄する。データパケットに対する肯定応答を送信先の全てから受信した場合、再送管理部は、バッファに格納されているデータパケットを削除する。バッファに格納されているデータパケットに関して再送タイムアウトが発生した場合、再送管理部は、データパケットを再送データパケットとしてパケット送信部に出力し、パケット送信部は、再送データパケットを送信先に再送する。
 本発明の更に他の観点において、マルチキャストルータに、マルチキャストルータ機能を実現させるためのプログラムが提供される。マルチキャストルータは、マルチキャストネットワークシステムにおいて送信装置と受信装置との間に配置される。マルチキャストルータ機能は、応答生成機能と、パケット送信機能と、再送管理機能とを備える。応答生成機能は、送信装置側の送信元からデータパケットを受信すると、送信元に肯定応答を返信する。パケット送信機能は、受信したデータパケットを複製し、受信装置側の送信先に送信する。再送管理機能は、送信先に送信されたデータパケットに関する再送制御を行う。再送管理機能は、送信先に送信されたデータパケットをバッファに格納する。データパケットに対する肯定応答を送信先から受信した場合、再送管理機能は、受信した肯定応答を破棄する。データパケットに対する肯定応答を送信先の全てから受信した場合、再送管理機能は、バッファに格納されているデータパケットを削除する。バッファに格納されているデータパケットに関して再送タイムアウトが発生した場合、再送管理機能は、データパケットを再送データパケットとしてパケット送信機能に出力し、パケット送信機能は、再送データパケットを送信先に再送する。
 本発明によれば、マルチキャストネットワークシステムにおいて、応答爆発を抑制することが可能となる。
 上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、典型的なマルチキャストネットワークシステムの構成を示すブロック図である。 図2は、本発明の実施の形態に係るマルチキャストネットワークシステムの構成を示すブロック図である。 図3は、本発明の実施の形態に係るマルチキャストルータの構成を概略的に示すブロック図である。 図4は、本発明の実施の形態におけるデータパケットを示す概念図である。 図5は、本発明の実施の形態におけるヘッダ情報を示す概念図である。 図6は、本発明の実施の形態におけるDAT受信情報を示す概念図である。 図7は、本発明の実施の形態におけるACK受信情報を示す概念図である。 図8は、本発明の実施の形態における管理情報を示す概念図である。 図9は、管理情報中の出力ポート状態及びACK受信状態の一例を示す概念図である。 図10は、本発明の実施の形態におけるマルチキャスト情報を示す概念図である。 図11は、本発明の実施の形態におけるマルチキャストルータの構成を示すブロック図である。 図12は、本発明の実施の形態におけるデータ処理部の構成を示すブロック図である。 図13は、本発明の実施の形態における再送制御受信部の構成を示すブロック図である。 図14は、本発明の実施の形態における再送制御送信部の構成を示すブロック図である。 図15は、本発明の実施の形態における送信サーバの構成を示すブロック図である。 図16は、本発明の実施の形態における受信端末の構成を示すブロック図である。 図17は、本発明の実施の形態に係るマルチキャストルータにおけるデータパケット受信時の動作を示すフローチャートである。 図18は、本発明の実施の形態に係るマルチキャストルータにおけるACK受信時の動作を示すフローチャートである。 図19は、本発明の実施の形態に係るマルチキャストルータにおける再送タイムアウト発生時の動作を示すフローチャートである。
 添付図面を参照して、本発明の実施の形態を説明する。
 1.概要
 図2は、本発明の実施の形態に係るマルチキャストネットワークシステム1の構成を示している。マルチキャストネットワークシステム1は、複数のマルチキャストルータ(MCルータ)2-1~2-3、送信サーバ3、及び複数の受信端末4-1~4-4を備えている。送信サーバ3(送信装置)は、データパケットDATをマルチキャストネットワークに送信する。受信端末4(受信装置)は、データパケットDATをマルチキャストネットワークから受信する。
 複数のマルチキャストルータ2-1~2-3は、送信サーバ3と受信端末4-1~4-4との間のマルチキャストネットワーク上に配置されている。各々のマルチキャストルータ2は、上流側から受信したデータパケットDATを複製し、下流側の複数の送信先のそれぞれにデータパケットDATを転送する。従って、送信サーバ3から送信された同一のデータパケットDATが、マルチキャストルータ2-1~2-3を通して、複数の受信端末4-1~4-4に配信されることになる。尚、図2で示されるようなマルチキャストネットワークの木構造は、「マルチキャストツリー」と呼ばれている。
 本実施の形態によれば、送信サーバ3と受信端末4だけでなく、各マルチキャストルータ2も、「パケット再送制御機能」を有する。つまり、送信サーバ3とマルチキャストルータ2との間、隣接するマルチキャストルータ2間、及びマルチキャストルータ2と受信端末4との間で、肯定応答(ACK)を利用した送達確認が実施される。より詳細には、各マルチキャストルータ2は、次の機能を有する。
 図3は、本実施の形態に係るマルチキャストルータ2の構成を概略的に示すブロック図である。マルチキャストルータ2は、ACK生成部41、パケット送信部50、及び再送管理部60を備えている。
 ACK生成部41は、上流(送信サーバ3側)からデータパケットDATを受信すると、当該データパケットDATに対するACKを生成する。そして、ACK生成部41は、当該受信データパケットDATの送信元(隣接マルチキャストルータ2、あるいは、送信サーバ3)に対して、ACKを返信する。
 パケット送信部50は、上流(送信サーバ3側)からデータパケットDATを受信すると、当該データパケットDATを複製する。そして、パケット送信部50は、下流(受信装置4側)の指定された送信先(隣接マルチキャストルータ2、あるいは、受信端末4)に対して、当該データパケットDATを送信する。典型的には、下流の送信先の数は複数である。また、パケット送信部50は、後述されるデータパケットDATの再送も行う。
 再送管理部60は、下流の送信先に送信されたデータパケットDATに関する再送制御を行う。具体的には、再送管理部60は、(1)バッファ機能、(2)ACK終端機能、及び(3)再送タイムアウト検知機能を有している。
 (1)まず、再送管理部60は、再送処理に備えて、下流の送信先に送信されたデータパケットDATを、バッファに一時的に格納する。
 (2)下流の送信先は、当該データパケットDATに応答してACKを返信する。下流の送信先から当該データパケットDATに対するACKを受信した場合、再送管理部60は、受信ACKを終端・破棄する。また、全ての送信先からACKを受信した場合、再送管理部60は、バッファに格納しておいた当該データパケットDATを削除する。
 (3)また、再送管理部60は、データパケットDATの送出後、所定時間以内に対応するACKを送信先から受け取らない場合、再送タイムアウト(retransmission time-out)が発生したと判断する。この場合、再送管理部60は、バッファに格納しておいた当該データパケットDATを読み出し、そのデータパケットDATを再送データパケットDATとしてパケット送信部50に出力する。
 パケット送信部50は、通常のデータパケットDATの場合と同様に、再送データパケットDATを下流の指定された送信先に再送する。このとき、パケット送信部50は、通常のデータパケットDATの場合と同一のキューを用いて、再送データパケットDATを再送してもよい。つまり、パケット送信部50は、同一のキューを、データパケットDATの送信と再送データパケットDATの再送の両方に用いてもよい。この場合、必要なメモリが削減され、好適である。
 以上に説明されたように、本実施の形態によれば、送信サーバ3とマルチキャストルータ2との間、隣接するマルチキャストルータ2間、及びマルチキャストルータ2と受信端末4との間で、ACKを利用した送達確認が実施される。従って、データ送達の観点から信頼性が向上するだけでなく、ACKの応答爆発が防止される。その結果、送信サーバ3の処理負荷の増大も防止される。
 比較例として、既出の図1の場合を考える。比較例の場合、1個のデータパケットの送信毎に、受信端末400-1~400-4のそれぞれから4個のACKが送信サーバ300に到達する。一方、本実施の形態の場合、図2から明らかなように、1個のデータパケットDATの送信に対して、マルチキャストルータ2-1から1個のACKが送信サーバ300に到達するだけである。この差は、受信端末の台数が増えるにつれて、より顕著になる。比較例の場合、応答爆発により送信サーバ300に過大な負荷がかかってしまうため、受信端末400の台数を増加させにくい。一方、図2の場合、受信端末4の台数が増加しても、送信サーバ3にかかる負荷は変わらない。従って、本実施によれば、受信端末4の台数を容易に増やすことが可能である。つまり、受信端末4に関して高いスケーラビリティが実現される。
 尚、マルチキャストルータ2は、演算処理装置(例:CPU)と記憶装置(例:RAM、HDD)を備える。上述のマルチキャストルータ機能は、演算処理装置が、記憶装置に格納されたプログラムを実行することにより実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
 2.構成例
 以下、本実施の形態に係るマルチキャストネットワークシステム1の具体的な構成例を説明する。
 2-1.各種情報
 まず、本実施の形態で用いられる各種情報について説明する。図4は、データパケットDATを示す概念図である。データパケットDATは、パケット識別番号81とパケット82を含んでいる。パケット82は、ヘッダ83とペイロード84を含んでいる。パケット識別番号81は、パケット82を識別するための番号である。パケット識別番号81として、任意の番号が付与されてもよいし、パケット82内に含まれる情報から算出された番号(例えば、ヘッダ83内のフィールド値から算出されるハッシュ値)が用いられてもよい。尚、ACKもデータパケットDATと同様のフォーマットを有する。
 図5は、ヘッダ情報85を示す概念図である。ヘッダ情報85は、データパケットDATの部分集合であり、パケット識別番号81とヘッダ83を含んでいる。
 図6は、マルチキャストルータ2がデータパケットDATを受信したことを通知するDAT受信情報88を示す概念図である。DAT受信情報88は、受信したデータパケットDATのパケット識別番号81とヘッダ83を含んでいる。
 図7は、マルチキャストルータ2がACKを受信したことを通知するACK受信情報89を示す概念図である。ACK受信情報89は、受信したACKのパケット識別番号81とヘッダ83を含んでいる。
 図8は、データパケットDATを管理するために用いられる管理情報90を示す概念図である。管理情報90は、パケット識別番号81、出力ポート状態91、送出時刻92、及びACK受信状態93を含んでいる。尚、管理情報90は、パケット識別番号81を通して、データパケットDATと1対1で対応付けられる。
 図9は、出力ポート状態91とACK受信状態93の一例を示している。出力ポート状態91は、当該データパケットDATが出力されるべき出力ポート(すなわち、送信先)を示す。図9に示される例では、状態「1」の複数の出力ポート(2,3,N)が、当該データパケットDATを出力する。ACK受信状態93は、送信先からの当該データパケットDATに対するACKの受信状況を示す。図9に示される例では、状態「1」がACK未受信を意味しており、ACK受信に応答して状態が「1」から「0」に変更される。
 図10は、マルチキャスト情報99を示す概念図である。マルチキャスト情報99は、管理情報90の部分集合であり、パケット識別番号81と出力ポート状態91を含んでいる。
 2-2.マルチキャストルータ2
 図11は、本実施の形態におけるマルチキャストルータ2の構成を示すブロック図である。マルチキャストルータ2は、スイッチ部6とデータ処理部10を備えている。
 スイッチ部6は、外部ネットワークからポート7-1~7-Nを通してデータパケットDATやACKを受信し、受信したデータパケットDATやACKをデータ処理部10に転送する。また、スイッチ部6は、データ処理部10からデータパケットDATやACKを受信し、受信したデータパケットDATやACKをポート7-1~7-Nを通して外部ネットワークに送出する。
 データ処理部10は、データパケットDATやACKの受信に応答して、様々なデータ処理を実施する。まず、データ処理部10は、受信パケットがDATかACKかの識別を行う。データパケットDATを受信した場合、データ処理部10は、当該受信データパケットDATに応答するACKを生成し、そのACKをスイッチ部6を通して返信する。また、データ処理部10は、当該受信データパケットDATのマルチキャスト送信先を決定し、当該受信データパケットDATの複製をスイッチ部6を通してそれぞれのマルチキャスト送信先に送信する。更に、データ処理部10は、再送制御のために、当該受信データパケットDATをバッファに一時的に格納する。一方、ACKを受信した場合、データ処理部10は、受信ACKを終端・破棄する。また、全てのマルチキャスト送信先からACKを受信した場合、データ処理部10は、バッファに格納しておいた当該受信データパケットDATを削除する。その他、データ処理部10は、バッファに格納されているデータパケットDATに関して再送タイムアウトを検知すると、そのデータパケットDATの再送処理を実行する。
 図12は、本実施の形態におけるデータ処理部10の構成を示すブロック図である。データ処理部10は、経路管理部20、再送制御受信部30、及び再送制御送信部40を備えている。
 経路管理部20は、マルチキャストツリーの構成を示す情報を保持・管理している。そして、経路管理部20は、そのマルチキャストツリーに基いて、受信データパケットDATの出力先(出力ポート状態91)を決定する。より詳細には、経路管理部20は、再送制御受信部30から、受信データパケットDATのヘッダ情報85(図5参照)を受け取る。そして、経路管理部20は、そのヘッダ情報85に基いてマルチキャストツリーの同定を行い、受信データパケットDATの出力先(出力ポート状態91)を決定する。更に、経路管理部20は、マルチキャスト情報99(図10参照)を作成し、そのマルチキャスト情報99を再送制御送信部40に出力する。
 再送制御受信部30は、スイッチ部6からデータパケットDATやACKを受信する。まず、再送制御受信部30は、受信パケットがDATかACKかの識別を行う。データパケットDATを受信した場合、再送制御受信部30は、受信データパケットDATからヘッダ情報85(図5参照)を抽出し、そのヘッダ情報85を経路管理部20に通知する。更に、再送制御受信部30は、受信データパケットDAT及びDAT受信情報88(図6参照)を再送制御送信部40に送る。一方、ACKを受信した場合、再送制御受信部30は、ACK受信情報89(図7参照)を再送制御送信部40に送る。更に、再送制御受信部30は、受信ACKを終端・廃棄する。
 再送制御送信部40は、DAT受信情報88(図6参照)を受け取ると、パケット識別番号81及びヘッダ83に基づいてACKを生成し、そのACKをスイッチ部6を通して返信する。また、再送制御送信部40は、データパケットDAT及びマルチキャスト情報99(図10参照)を受け取ると、そのデータパケットDATに関する管理情報90(図8、図9参照)を作成する。そして、再送制御送信部40は、その管理情報90を参照して、データパケットDATの複製・送信処理を行う。また、再送制御送信部40は、ACK受信情報89(図7参照)を受け取ると、管理情報90中のACK受信状態93(図8、図9参照)を更新する。そして、再送制御送信部40は、管理情報90に基いて、再送制御処理を実行する。
 図13は、本実施の形態における再送制御受信部30の構成を示すブロック図である。再送制御受信部30は、パケット識別部31及びヘッダ抽出部35を備えている。
 パケット識別部31は、スイッチ部6から受け取った受信パケットがDATかACKかの識別を行う。データパケットDATの場合、パケット識別部31は、受信データパケットDATをヘッダ抽出部35へ転送し、且つ、DAT受信情報88(図6参照)を再送制御送信部40に送る。一方、ACKの場合、パケット識別部31は、受信ACKを廃棄し、且つ、ACK受信情報89(図7参照)を再送制御送信部40に送る。
 ヘッダ抽出部35は、受信データパケットDATからヘッダ情報85(図5参照)を抽出し、そのヘッダ情報85を経路管理部20に通知する。また、ヘッダ抽出部35は、受信データパケットDATを再送制御送信部40に送る。このとき、一意性を確保するため、ヘッダ抽出部35は、ヘッダ情報85と受信データパケットDATに同一のパケット識別番号81を付与する。
 図14は、本実施の形態における再送制御送信部40の構成を示すブロック図である。再送制御送信部40は、ACK生成部41、多重部42、パケット送信部50、及び再送管理部60を備えている。
 ACK生成部41は、再送制御受信部30からDAT受信情報88(図6参照)を受け取る。そのDAT受信情報88のパケット識別番号81及びヘッダ83に基づいて、ACK生成部41は、ACKを生成し、そのACKを多重部42に出力する。
 多重部42は、ACK生成部41からのACKと、パケット送信部50からのデータパケットDATとの出力調停を行う。そして、多重部42は、データパケットDATやACKをスイッチ部6に出力する。
 パケット送信部50は、経路管理部20からマルチキャスト情報99(図10参照)を受け取り、再送制御受信部30からデータパケットDATを受け取る。パケット送信部50は、そのデータパケットDATに関する管理情報90(図8、図9参照)を作成し、管理する。そして、再送制御送信部40は、その管理情報90を参照して、データパケットDATの複製・送信処理を行う。より詳細には、パケット送信部50は、管理情報FIFO51、送信データFIFO52、送信制御部53、及びパケット複製部54を備えている。
 管理情報FIFO51は、管理情報90(図8、図9参照)を格納するためのFIFOである。尚、管理情報90が管理情報FIFO51に格納されている際には、送出時刻92は使用されない。送信データFIFO52は、データパケットDATや再送データパケットDATを格納するためのFIFOである。尚、既出の図3中の“キュー(queue)”は、この管理情報FIFO51及び送信データFIFO52に相当する。
 送信制御部53は、管理情報FIFO51の先頭から管理情報90を読み出し、その管理情報90をパケット複製部54に転送する。また、送信制御部53は、読み出した管理情報90の送出時刻92に現在時刻を記録し、その管理情報90を再送管理部60に送る。更に、送信制御部53は、送信データFIFO52から、対応するデータパケットDATを読み出し、そのデータパケットDATをパケット複製部54に送る。また、送信制御部53は、読み出したデータパケットDATを再送管理部60に送る。
 パケット複製部54は、管理情報90及びデータパケットDATを受け取る。パケット複製部54は、管理情報90の出力ポート状態91を参照して、データパケットDATの複製を行う。そして、パケット複製部54は、それぞれの出力ポートへのルーティング情報を付与したデータパケットDATを多重部42に出力する。
 再送管理部60は、パケット送信部50から、データパケットDAT及び管理情報90を受け取り、それらを一時的に保管する。そして、再送管理部60は、ACKの受信状況に応じて、再送制御処理を実行する。より詳細には、再送管理部60は、管理情報バッファ61、再送データバッファ62、再送管理制御部63、及びタイマ64を備えている。
 管理情報バッファ61は、管理情報90(図8、図9参照)を一時的に格納するためのバッファである。尚、管理情報90中の送出時刻92には、管理情報FIFO51から管理情報バッファ61に移管された時刻が設定される。再送データバッファ62は、データパケットDATを一時的に格納するためのバッファである。
 再送管理制御部63は、再送制御受信部30からACK受信情報89(図7参照)を受け取り、管理情報バッファ61に格納されている管理情報90を更新する。具体的には、再送管理制御部63は、ACK受信情報89中のパケット識別番号81と同じものを有する管理情報90を、管理情報バッファ61から検索する。そして、再送管理制御部63は、該当する管理情報90中のACK受信状態93(図9参照)を、ヘッダ83等に基いて更新する。また、ACK受信状態93が、全ての送信先からACKを受信したことを示すようになった場合、再送管理制御部63は、その管理情報90と対応するデータパケットDATを、それぞれ管理情報バッファ61と再送データバッファ62から削除する。
 タイマ64は、再送管理制御部63に時刻情報を通知する。再送管理制御部63は、タイマ64から通知される時刻情報と管理情報90中の送出時刻92とを参照することによって、再送タイムアウトの発生を検出する。再送タイムアウトが発生した場合、再送管理制御部63は、該当する管理情報90中の出力ポート状態91を、現在のACKの受信状況に応じて更新する。具体的には、再送管理制御部63は、該当する管理情報90中の出力ポート状態91をACK受信状態93で上書きする(図9参照)。その後、再送管理制御部63は、その管理情報90を管理情報バッファ61からパケット送信部50の管理情報FIFO51に移管し、また、対応するデータパケットDAT(再送データパケットDAT)を再送データバッファ62からパケット送信部50の送信データFIFO52に移管する。その結果、その再送データパケットDATが、パケット送信部50から、ACK未受信の送信先に向けて再送されることになる。
 2-3.送信サーバ3
 図15は、本実施の形態における送信サーバ3の構成を示すブロック図である。尚、マルチキャストルータ2の場合と同じ構成要素には同じ符号が付されており、重複する説明は適宜省略される。送信サーバ3は、経路管理部20、再送制御受信部30及び再送制御送信部40に加えて、上位アプリケーション25を備えている。
 上位アプリケーション25は、受信端末4宛に送信するデータを保有するアプリケーションであり、再送制御受信部30に対して送信データを送出する。つまり、再送制御受信部30には、外部からではなく上位アプリケーション25からデータが供給される。
 経路管理部20、再送制御受信部30及び再送制御送信部40の機能は、基本的に、マルチキャストルータ2のデータ処理部10と同じである。但し、隣接するマルチキャストルータ2からのデータパケットDATの受信がないため、ACKの返信は行われない。また、送信サーバ3の場合、外部ネットワークとの接続インタフェースは一組だけであり、再送制御送信部40は、出力ポート数を1として動作する。そのため、スイッチ部6が不要となっている。
 2-4.受信端末4
 図16は、本実施の形態における受信端末4の構成を示すブロック図である。尚、マルチキャストルータ2の場合と同じ構成要素には同じ符号が付されており、重複する説明は適宜省略される。受信端末4は、上位アプリケーション26、パケット識別部31、及びACK生成部41を備えている。
 パケット識別部31は、上流の隣接するマルチキャストルータ2からデータパケットDATを受信する。パケット識別部31は、その受信データパケットDATを上位アプリケーション26に転送する。また、パケット識別部31は、DAT受信情報88(図6参照)をACK生成部41に出力する。
 ACK生成部41は、パケット識別部31からDAT受信情報88(図6参照)を受け取る。そのDAT受信情報88のパケット識別番号81及びヘッダ83に基づいて、ACK生成部41は、ACKを生成し、そのACKを上流の隣接するマルチキャストルータ2に返信する。
 3.動作例
 以下、本実施の形態に係るマルチキャストルータ2の動作例を説明する。
 3-1.DAT受信
 図17は、本実施の形態に係るマルチキャストルータ2におけるデータパケットDATの受信時の動作を示すフローチャートである。例として、ポート7-1からデータパケットDATが入力され、ポート7-2、7-3、7-NにデータパケットDATがマルチキャストされる場合を考える。
 ステップS1:
 上流からポート7-1にデータパケットDATが入力される。そのデータパケットDATは、データ処理部10の再送制御受信部30に入力される。
 ステップS10:
 データパケットDATの受信に応答して、次に説明される「ACK返信処理(ステップS10)」が実施される。
 ステップS11:
 再送制御受信部30のパケット識別部31は、データパケットDATの受信に応答して、DAT受信情報88を再送制御送信部40に通知する。
 ステップS12:
 再送制御送信部40のACK生成部41は、DAT受信情報88に応答して、ACKを生成する。
 ステップS13:
 ACK生成部41は、データパケットDATの送信元と接続されているポート7―1から出力されるよう、ACKを多重部42に送信する。多重部42は、そのACKを、スイッチ部6を通してポート7―1から出力する。
 ステップS20:
 その一方で、データパケットDATの受信に応答して、次に説明される「DAT転送処理(ステップS20)」も実施される。
 ステップS21:
 再送制御受信部30のヘッダ抽出部35は、データパケットDATからヘッダ情報85を抽出し、そのヘッダ情報85を経路管理部20に通知する。また、ヘッダ抽出部35は、データパケットDATを再送制御送信部40に送信する。このとき、一意性を確保するため、ヘッダ抽出部35は、ヘッダ情報85とデータパケットDATに同一のパケット識別番号81を付与する。
 ステップS22:
 経路管理部20は、ヘッダ情報85に基いてマルチキャストツリーの同定を行い、データパケットDATの出力先(出力ポート状態91)を決定する。更に、経路管理部20は、マルチキャスト情報99を作成し、そのマルチキャスト情報99を再送制御送信部40に出力する。
 ステップS23:
 再送制御送信部40のパケット送信部50は、データパケットDATを、送信データFIFO52に収容する。
 ステップS24:
 また、パケット送信部50は、経路管理部20から受け取ったマルチキャスト情報99に基いて、データパケットDATに対応する管理情報90(図8、図9参照)を作成する。具体的には、パケット識別情報81及び出力ポート状態91は、マルチキャスト情報99のものがそのまま用いられる。送出時刻92は0に設定される。ACK受信状態93は、出力ポート状態91と同じに設定される。パケット送信部50は、作成した管理情報90を管理情報FIFO51に収容する。
 ステップS25:
 送信制御部53は、管理情報FIFO51の先頭から管理情報90を読み出し、その管理情報90をパケット複製部54に転送する。また、送信制御部53は、読み出した管理情報90の送出時刻92に現在時刻を記録し、その管理情報90を再送管理部60内の管理情報バッファ61に格納する。
 ステップS26:
 また、送信制御部53は、送信データFIFO52から、管理情報90のものと同じパケット識別情報81を有するデータパケットDATを読み出し、そのデータパケットDATをパケット複製部54に送る。また、送信制御部53は、読み出したデータパケットDATを再送管理部60内の再送データバッファ62に格納する。
 ステップS27:
 パケット複製部54は、管理情報90及びデータパケットDATを受け取る。パケット複製部54は、管理情報90の出力ポート状態91を参照して、データパケットDATの複製を行う。そして、パケット複製部54は、それぞれの出力ポートへのルーティング情報を付与したデータパケットDATを多重部42に出力する。本例では、データパケットDATが3個複製され、ポート7-2、7-3、7-Nのそれぞれから同じデータパケットDATが送信される。
 3-2.ACK受信
 図18は、本実施の形態に係るマルチキャストルータ2におけるACK受信時の動作を示すフローチャートである。例として、下流につながるポート7-3からACKが入力された場合を考える。
 ステップS31:
 下流からポート7-3にACKが入力される。そのACKは、データ処理部10の再送制御受信部30に入力される。
 ステップS32:
 再送制御受信部30のパケット識別部31は、受信ACKを終端・廃棄する。
 ステップS33:
 また、パケット識別部31は、ACK受信に応答して、ACK受信情報89を再送制御送信部40に通知する。
 ステップS34:
 再送制御送信部40の再送管理部60の再送管理制御部63は、ACK受信情報89を受け取る。再送管理制御部63は、ACK受信情報89中のパケット識別番号81と同じものを有する管理情報90を、管理情報バッファ61から検索する。
 ステップS35:
 再送管理制御部63は、該当する管理情報90中のACK受信状態93を更新する。本例の場合、ACK受信状態93内の“出力ポート番号=3”に対応する“状態”が、「1」から「0」に変更される(図9参照)。
 ステップS36,S37
 全ての送信先からACKを受信した場合(ステップS36;Yes)、ACK受信状態93内の全ての“状態”が「0」になる。この場合、再送管理制御部63は、その管理情報90と対応するデータパケットDATを、それぞれ管理情報バッファ61と再送データバッファ62から削除する。
 尚、検索の結果、管理情報90が見つからなかった場合、再送管理制御部63は、当該ACK受信情報89を廃棄する。
 3-3.再送タイムアウト
 図19は、本実施の形態に係るマルチキャストルータ2における再送タイムアウト処理を示すフローチャートである。
 ステップS41:
 タイマ64は、再送管理制御部63に時刻情報を通知する。再送管理制御部63は、タイマ64から通知される時刻情報と管理情報90中の送出時刻92とを参照することによって、再送タイムアウトの発生を検出する。
 ステップS42:
 再送タイムアウトが発生した場合(ステップS41;Yes)、再送管理制御部63は、該当する管理情報90中の出力ポート状態91を、現在のACKの受信状況に応じて更新する。具体的には、再送管理制御部63は、該当する管理情報90中の出力ポート状態91をACK受信状態93で上書きする(図9参照)。
 ステップS43:
 再送管理制御部63は、更新後の管理情報90を、管理情報バッファ61からパケット送信部50の管理情報FIFO51に転送する。
 ステップS44:
 また、再送管理制御部63は、当該管理情報90のものと同じパケット管理番号81を有するデータパケットDAT(再送データパケットDAT)を、再送データバッファ62からパケット送信部50の送信データFIFO52に転送する。
 ステップS45:
 その結果、その再送データパケットDATが、パケット送信部50から、ACK未受信の送信先に向けて再送されることになる。
 4.効果
 以上に説明されたように、本実施の形態によれば、送信サーバ3とマルチキャストルータ2との間、隣接するマルチキャストルータ2間、及びマルチキャストルータ2と受信端末4との間で、ACKを利用した送達確認が実施される。従って、データ送達の観点から信頼性が向上するだけでなく、ACKの応答爆発が防止される。その結果、送信サーバ3の処理負荷の増大も防止される。また、受信端末4に関して高いスケーラビリティが実現される。
 また、本実施の形態によれば、再送制御送信部40内の管理情報FIFO51、送信データFIFO52、管理情報バッファ61、及び再送データバッファ62が、それぞれ1種類ずつでよい。従って、データパケットDATおよび管理情報90のための収容メモリが削減され、好適である。
 以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 マルチキャストネットワークシステムにおいて送信装置と受信装置との間に配置されるマルチキャストルータであって、
 前記送信装置側の送信元からデータパケットを受信すると、前記送信元に肯定応答を返信する応答生成部と、
 前記受信したデータパケットを複製し、前記受信装置側の送信先に送信するパケット送信部と、
 前記送信先に送信された前記データパケットに関する再送制御を行う再送管理部と
 を備え、
 前記再送管理部は、前記送信先に送信された前記データパケットをバッファに格納し、
 前記データパケットに対する肯定応答を前記送信先から受信した場合、前記再送管理部は、前記受信した肯定応答を破棄し、
 前記データパケットに対する肯定応答を前記送信先の全てから受信した場合、前記再送管理部は、前記バッファに格納されている前記データパケットを削除し、
 前記バッファに格納されている前記データパケットに関して再送タイムアウトが発生した場合、前記再送管理部は、前記データパケットを再送データパケットとして前記パケット送信部に出力し、前記パケット送信部は、前記再送データパケットを前記送信先に再送する
 マルチキャストルータ。
 (付記2)
 付記1に記載のマルチキャストルータであって、
 前記パケット送信部は、前記受信したデータパケットの場合と同一のキューを用いて、前記再送データパケットを前記送信先に再送する
 マルチキャストルータ。
 (付記3)
 付記2に記載のマルチキャストルータであって、
 前記パケット送信部の前記同一のキューは、
  前記データパケットが格納される送信データキューと、
  前記データパケットに関する管理情報が格納される管理情報キューと
 を含み、
 前記管理情報は、前記データパケットの識別番号と、前記データパケットが出力される出力ポートを示しており、
 前記パケット送信部は、前記管理情報キューに格納された前記管理情報を参照して、前記送信データキューに格納された前記データパケットを送信する
 マルチキャストルータ。
 (付記4)
 付記3に記載のマルチキャストルータであって、
 前記再送管理部は、前記データパケットと共に前記管理情報を前記バッファに格納し、
 前記管理情報は更に、前記データパケットの送出時刻を示し、
 前記再送管理部は、前記送出時刻とタイマを参照することによって前記再送タイムアウトの発生を検出する
 マルチキャストルータ。
 (付記5)
 付記4に記載のマルチキャストルータであって、
 前記再送タイムアウトが発生した場合、前記再送管理部は、前記送信先からの前記肯定応答の受信状況に応じて、前記管理情報中の前記出力ポートを更新し、その後、前記データパケットを前記再送データパケットとして前記送信データキューに出力し、前記管理情報を前記管理情報キューに出力する
 マルチキャストルータ。
 (付記6)
 送信装置と、
 複数の受信装置と、
 前記送信装置と前記複数の受信装置との間のマルチキャストネットワーク上に配置されたマルチキャストルータと
 を備え、
 前記マルチキャストルータは、
 前記送信装置側の送信元からデータパケットを受信すると、前記送信元に肯定応答を返信する応答生成部と、
 前記受信したデータパケットを複製し、前記受信装置側の送信先に送信するパケット送信部と、
 前記送信先に送信された前記データパケットに関する再送制御を行う再送管理部と
 を備え、
 前記再送管理部は、前記送信先に送信された前記データパケットをバッファに格納し、
 前記データパケットに対する肯定応答を前記送信先から受信した場合、前記再送管理部は、前記受信した肯定応答を破棄し、
 前記データパケットに対する肯定応答を前記送信先の全てから受信した場合、前記再送管理部は、前記バッファに格納されている前記データパケットを削除し、
 前記バッファに格納されている前記データパケットに関して再送タイムアウトが発生した場合、前記再送管理部は、前記データパケットを再送データパケットとして前記パケット送信部に出力し、前記パケット送信部は、前記再送データパケットを前記送信先に再送する
 マルチキャストネットワークシステム。
 (付記7)
 付記6に記載のマルチキャストネットワークシステムであって、
 前記パケット送信部は、前記受信したデータパケットの場合と同一のキューを用いて、前記再送データパケットを前記送信先に再送する
 マルチキャストネットワークシステム。
 (付記8)
 マルチキャストネットワークシステムにおいて送信装置と受信装置との間に配置されるマルチキャストルータに、マルチキャストルータ機能を実現させるためのプログラムであって、
 前記マルチキャストルータ機能は、
 前記送信装置側の送信元からデータパケットを受信すると、前記送信元に肯定応答を返信する応答生成機能と、
 前記受信したデータパケットを複製し、前記受信装置側の送信先に送信するパケット送信機能と、
 前記送信先に送信された前記データパケットに関する再送制御を行う再送管理機能と
 を備え、
 前記再送管理機能は、前記送信先に送信された前記データパケットをバッファに格納し、
 前記データパケットに対する肯定応答を前記送信先から受信した場合、前記再送管理機能は、前記受信した肯定応答を破棄し、
 前記データパケットに対する肯定応答を前記送信先の全てから受信した場合、前記再送管理機能は、前記バッファに格納されている前記データパケットを削除し、
 前記バッファに格納されている前記データパケットに関して再送タイムアウトが発生した場合、前記再送管理機能は、前記データパケットを再送データパケットとして前記パケット送信機能に出力し、前記パケット送信機能は、前記再送データパケットを前記送信先に再送する
 プログラム。
 (付記9)
 付記8に記載のプログラムであって、
 前記パケット送信機能は、前記受信したデータパケットの場合と同一のキューを用いて、前記再送データパケットを前記送信先に再送する
 プログラム。
 本出願は、2010年9月27日に出願された日本国特許出願2010-215565を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (9)

  1.  マルチキャストネットワークシステムにおいて送信装置と受信装置との間に配置されるマルチキャストルータであって、
     前記送信装置側の送信元からデータパケットを受信すると、前記送信元に肯定応答を返信する応答生成部と、
     前記受信したデータパケットを複製し、前記受信装置側の送信先に送信するパケット送信部と、
     前記送信先に送信された前記データパケットに関する再送制御を行う再送管理部と
     を備え、
     前記再送管理部は、前記送信先に送信された前記データパケットをバッファに格納し、
     前記データパケットに対する肯定応答を前記送信先から受信した場合、前記再送管理部は、前記受信した肯定応答を破棄し、
     前記データパケットに対する肯定応答を前記送信先の全てから受信した場合、前記再送管理部は、前記バッファに格納されている前記データパケットを削除し、
     前記バッファに格納されている前記データパケットに関して再送タイムアウトが発生した場合、前記再送管理部は、前記データパケットを再送データパケットとして前記パケット送信部に出力し、前記パケット送信部は、前記再送データパケットを前記送信先に再送する
     マルチキャストルータ。
  2.  請求項1に記載のマルチキャストルータであって、
     前記パケット送信部は、前記受信したデータパケットの場合と同一のキューを用いて、前記再送データパケットを前記送信先に再送する
     マルチキャストルータ。
  3.  請求項2に記載のマルチキャストルータであって、
     前記パケット送信部の前記同一のキューは、
      前記データパケットが格納される送信データキューと、
      前記データパケットに関する管理情報が格納される管理情報キューと
     を含み、
     前記管理情報は、前記データパケットの識別番号と、前記データパケットが出力される出力ポートを示しており、
     前記パケット送信部は、前記管理情報キューに格納された前記管理情報を参照して、前記送信データキューに格納された前記データパケットを送信する
     マルチキャストルータ。
  4.  請求項3に記載のマルチキャストルータであって、
     前記再送管理部は、前記データパケットと共に前記管理情報を前記バッファに格納し、
     前記管理情報は更に、前記データパケットの送出時刻を示し、
     前記再送管理部は、前記送出時刻とタイマを参照することによって前記再送タイムアウトの発生を検出する
     マルチキャストルータ。
  5.  請求項4に記載のマルチキャストルータであって、
     前記再送タイムアウトが発生した場合、前記再送管理部は、前記送信先からの前記肯定応答の受信状況に応じて、前記管理情報中の前記出力ポートを更新し、その後、前記データパケットを前記再送データパケットとして前記送信データキューに出力し、前記管理情報を前記管理情報キューに出力する
     マルチキャストルータ。
  6.  送信装置と、
     複数の受信装置と、
     前記送信装置と前記複数の受信装置との間のマルチキャストネットワーク上に配置されたマルチキャストルータと
     を備え、
     前記マルチキャストルータは、
     前記送信装置側の送信元からデータパケットを受信すると、前記送信元に肯定応答を返信する応答生成部と、
     前記受信したデータパケットを複製し、前記受信装置側の送信先に送信するパケット送信部と、
     前記送信先に送信された前記データパケットに関する再送制御を行う再送管理部と
     を備え、
     前記再送管理部は、前記送信先に送信された前記データパケットをバッファに格納し、
     前記データパケットに対する肯定応答を前記送信先から受信した場合、前記再送管理部は、前記受信した肯定応答を破棄し、
     前記データパケットに対する肯定応答を前記送信先の全てから受信した場合、前記再送管理部は、前記バッファに格納されている前記データパケットを削除し、
     前記バッファに格納されている前記データパケットに関して再送タイムアウトが発生した場合、前記再送管理部は、前記データパケットを再送データパケットとして前記パケット送信部に出力し、前記パケット送信部は、前記再送データパケットを前記送信先に再送する
     マルチキャストネットワークシステム。
  7.  請求項6に記載のマルチキャストネットワークシステムであって、
     前記パケット送信部は、前記受信したデータパケットの場合と同一のキューを用いて、前記再送データパケットを前記送信先に再送する
     マルチキャストネットワークシステム。
  8.  マルチキャストネットワークシステムにおいて送信装置と受信装置との間に配置されるマルチキャストルータに、マルチキャストルータ機能を実現させるためのプログラムが記録された記録媒体であって、
     前記マルチキャストルータ機能は、
     前記送信装置側の送信元からデータパケットを受信すると、前記送信元に肯定応答を返信する応答生成機能と、
     前記受信したデータパケットを複製し、前記受信装置側の送信先に送信するパケット送信機能と、
     前記送信先に送信された前記データパケットに関する再送制御を行う再送管理機能と
     を備え、
     前記再送管理機能は、前記送信先に送信された前記データパケットをバッファに格納し、
     前記データパケットに対する肯定応答を前記送信先から受信した場合、前記再送管理機能は、前記受信した肯定応答を破棄し、
     前記データパケットに対する肯定応答を前記送信先の全てから受信した場合、前記再送管理機能は、前記バッファに格納されている前記データパケットを削除し、
     前記バッファに格納されている前記データパケットに関して再送タイムアウトが発生した場合、前記再送管理機能は、前記データパケットを再送データパケットとして前記パケット送信機能に出力し、前記パケット送信機能は、前記再送データパケットを前記送信先に再送する
     記録媒体。
  9.  請求項8に記載の記録媒体であって、
     前記パケット送信機能は、前記受信したデータパケットの場合と同一のキューを用いて、前記再送データパケットを前記送信先に再送する
     記録媒体。
PCT/JP2011/070054 2010-09-27 2011-09-02 マルチキャストルータ及びマルチキャストネットワークシステム WO2012043142A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-215565 2010-09-27
JP2010215565 2010-09-27

Publications (1)

Publication Number Publication Date
WO2012043142A1 true WO2012043142A1 (ja) 2012-04-05

Family

ID=45892615

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/070054 WO2012043142A1 (ja) 2010-09-27 2011-09-02 マルチキャストルータ及びマルチキャストネットワークシステム

Country Status (1)

Country Link
WO (1) WO2012043142A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127306A1 (zh) * 2020-12-18 2022-06-23 深圳市微网力合信息技术有限公司 数据丢包处理方法、***及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05276189A (ja) * 1992-03-27 1993-10-22 Hitachi Ltd 同報通信装置
JPH07273798A (ja) * 1994-03-22 1995-10-20 Internatl Business Mach Corp <Ibm> マルチキャスト通信のための方法、システム及びネットワーク
JP2008078843A (ja) * 2006-09-20 2008-04-03 Konami Digital Entertainment:Kk 無線ネットワークシステム、ゲーム機、および、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05276189A (ja) * 1992-03-27 1993-10-22 Hitachi Ltd 同報通信装置
JPH07273798A (ja) * 1994-03-22 1995-10-20 Internatl Business Mach Corp <Ibm> マルチキャスト通信のための方法、システム及びネットワーク
JP2008078843A (ja) * 2006-09-20 2008-04-03 Konami Digital Entertainment:Kk 無線ネットワークシステム、ゲーム機、および、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127306A1 (zh) * 2020-12-18 2022-06-23 深圳市微网力合信息技术有限公司 数据丢包处理方法、***及终端

Similar Documents

Publication Publication Date Title
TW419919B (en) TCP resegmentation
US7876751B2 (en) Reliable link layer packet retry
CN104025525B (zh) 用于发送分组的方法和设备以及交换机装置
JP4153502B2 (ja) 通信装置及び論理リンク異常検出方法
JP4851585B2 (ja) クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置
JP4857261B2 (ja) コンピュータ・ネットワークを通しての障害回復力を有するデータ転送方法および装置
US9577791B2 (en) Notification by network element of packet drops
US11863370B2 (en) High availability using multiple network elements
EP2978171B1 (en) Communication method, communication device, and communication program
US20020054570A1 (en) Data communication system, data communication method, and recording medium with data communication program recorded thereon
US20090006641A1 (en) Reliable multicast transport protocol
US6760766B1 (en) Data transmission method and device
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
US9292370B2 (en) Relay node, control method of relay node and network system
JP5857135B2 (ja) 複数の受信機にメッセージを伝送する装置および方法
US9210067B1 (en) Method and apparatus for exchanging routing information
KR20050077760A (ko) 인터넷 프로토콜 패킷의 다수의 사본 전달 방법 및 장치
JP5672836B2 (ja) 通信装置、通信方法、および通信プログラム
JP6547973B2 (ja) ストリーム制御の方法およびシステム
WO2012043142A1 (ja) マルチキャストルータ及びマルチキャストネットワークシステム
JP5062121B2 (ja) マルチキャスト通信におけるパケット再送制御方法及び装置
JP4626646B2 (ja) パケット通信装置及びパケット通信方法及びパケット通信プログラム
KR20140069274A (ko) 운영 체제의 고장 검출 방법
KR101405533B1 (ko) 고가용성 멀티캐스트 전송 기반의 메시지 전송 시스템
CN117203627A (zh) 用于远程直接内存访问的设备和方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11828703

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11828703

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP