US8773982B2 - Transmitting terminal and bandwidth estimating method - Google Patents

Transmitting terminal and bandwidth estimating method Download PDF

Info

Publication number
US8773982B2
US8773982B2 US13/387,177 US201113387177A US8773982B2 US 8773982 B2 US8773982 B2 US 8773982B2 US 201113387177 A US201113387177 A US 201113387177A US 8773982 B2 US8773982 B2 US 8773982B2
Authority
US
United States
Prior art keywords
terminal
receiving
receiving terminals
packet loss
transmitting terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/387,177
Other versions
US20120128002A1 (en
Inventor
Eiichi Muramoto
Thilmee Baduge
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Assigned to PANASONIC CORPORATION reassignment PANASONIC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BADUGE, THILMEE, MURAMOTO, EIICHI
Publication of US20120128002A1 publication Critical patent/US20120128002A1/en
Application granted granted Critical
Publication of US8773982B2 publication Critical patent/US8773982B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control

Definitions

  • the present invention relates to a transmitting terminal and a bandwidth estimating method, which estimate a bandwidth of a network and controls a transmission rate in conducting a multicast communication through the network.
  • the transmission of real-time stream data such as images or sounds on the network requires that a transmission bandwidth of the real-time stream data is changed in conformity to an available bandwidth on the network. That is, in the transmission over the best effort network such as the internet, it is expected that the network is congested by traffics of other users.
  • stream data broadband real-time stream data
  • packet losses frequently occur so that the images or the sounds may be disturbed or interrupted. For that reason, there is a need to transmit the stream data while changing a bandwidth with which the images or the sounds are encoded by an encoder, after an available bandwidth is estimated over the network.
  • ALM Application Layer Multicast
  • a transmitting terminal transmits a packet to a specified receiving terminal, and the specified receiving terminal copies the packet, and transmits the copied packets to plural other receiving terminals. That is, in the ALM, the specified receiving terminal becomes a parent terminal, and copies and transfers the packets to the plural child terminals to realize the multipoint communication.
  • the entire transfer paths among those terminals are called “distribution tree”.
  • the ALM because a unicast packet normally used in the internet is used as the packet transmitted between the respective terminals, there is no need to change a router on the network. For that reason, the ALM is advantageous in that the ALM is available over the existing network.
  • Non-patent document 1 has proposed a method in which a receiving terminal worst in a packet loss status is selected as the specified receiving terminal to determine the available bandwidth in the path between the transmitting terminal and the specified receiving terminal.
  • Non-patent document 2 has proposed a method in which the available bandwidth is determined with the use of a TFRC (TCP Friendly Rate Control).
  • the TFRC is a method of estimating the available bandwidth with the use of a loss event rate and a round trip time of the packets.
  • the receiving terminal whose bandwidth is to be estimated is changed every time one receiving terminal worst in the packet loss status is changed to another.
  • Patent document 1 has proposed a method in which intervals between report packets to be transmitted to a source are controlled to conduct a rate control using the TFRC under a multimedia streaming environment, and also to prevent a problem that the report packets are concentrated on the source.
  • a time interval at which the packet loss rate is tallied is lengthened, the following property when the network status is changed is deteriorated. For example, when a tallying time of the packet loss rate is intervals of 5 seconds, a status in which the congestion degree of the network is deteriorated cannot be grasped within 5 seconds.
  • an FEC Forward Error Correction
  • the source generates a redundant code packet from a plurality of packets with the help of an XOR (Exclusive OR) operation, and transmits the redundant code packet to the receiving terminal over the network. For that reason, even if a packet loss occurs on the network, the lost packet of stream data can be regenerated according to the redundant code packet and the packet of the stream data which have arrived at the receiving terminal.
  • the packet loss that can be recovered by the FEC is limited. For example, one redundant code packet is generated from four packets, and if one of those five packets is lost, the lost packet of the stream data can be regenerated from the redundant code packet and the packets of the stream data, which have arrived at the receiving terminal. However, when two or more packets are lost among the five packets, the lost packets of the stream data cannot be regenerated. That is, when the packet loss occurs at given intervals, the packet loss can be recovered by the FEC if the loss rate is 20% or lower, but cannot be recovered by the FEC if the loss rate exceeds 20%. Likewise, when one redundant code packet is generated from three packets, the lost packet of data can be regenerated by the FEC when the loss rate is 25% or lower, but cannot be regenerated by the FEC when the loss rate exceeds 25%.
  • an adaptive FEC that changes how to allocate a redundant code according to the loss rate is used. That is, when the adaptive FEC is applied to the above example, one redundant code packet is generated from four packets if the loss rate is 20% or lower, and generated from three packets if the loss rate is from 20% to 25%. That is, when the adaptive FEC is used, a range of the loss rate which can be covered by a specified redundant code allocation system is defined. In the above example, it is assumed that the packet loss occur at the given intervals. In a status in which a random loss occurs, or in a status in which the loss bursts, the range of the loss rate which can be covered with the specified redundant code allocation system is different.
  • the loss rate of the packets fluctuates. For that reason, even when the loss rate viewed from a long-term viewpoint is not changed, the loss rate viewed from a short-term viewpoint may be increased or decreased.
  • the receiving terminal worst in the packet loss status is selected to estimate the available bandwidth in the path between the transmitting terminal and the selected receiving terminal, and the rate control for packet transmission is conducted.
  • the packet loss status on the network is always changed, and one receiving terminal worst in the status is often changed to another, thereby making it difficult to raise a transmission rate with being needlessly dragged by the receiving terminal worst in the packet loss rate.
  • An object of the present invention is to provide a transmitting terminal and a bandwidth estimating method, which can transmit data with a high quality even if the packet loss status is always changed on the network.
  • the present invention provides a transmitting terminal for used in a communication system in which the transmitting terminal which estimates a bandwidth of a network and controls a transmission rate of data, and a plurality of receiving terminals, each of which copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal in downstream, are connected to each other in a tree shape with the transmitting terminal as a route on the network, the transmitting terminal comprising:
  • a receiver report receiving section that receives a receiver report including a packet loss rate and a round trip time between the transmitting terminal and each of the receiving terminals, which is transmitted from each of the plurality of receiving terminals;
  • a bandwidth estimation target terminal selection section that selects a bandwidth estimation target terminal to be estimated in estimating the bandwidth of the network from the plurality of receiving terminals, on the basis of information on a distribution tree configured by the transmitting terminal and the plurality of receiving terminals and a packet loss rate included in the receiver report transmitted from each of the plurality of receiving terminals;
  • a bandwidth estimation section that estimates the bandwidth of the network on the basis of the packet loss rate and the round trip time included in the receiver report transmitted from the receiving terminal selected by the bandwidth estimation target terminal selection section.
  • the present invention provides a bandwidth estimating method conducted by a transmitting terminal for used in a communication system in which the transmitting terminal which estimates a bandwidth of a network and controls a transmission rate of data, and a plurality of receiving terminals, each copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal in downstream, are connected to each other in a tree shape with the transmitting terminal as a route on the network, the bandwidth estimating comprising:
  • a bandwidth estimation target terminal to be estimated in estimating the bandwidth of the network from the plurality of receiving terminals, on the basis of information on a distribution tree configured by the transmitting terminal and the plurality of receiving terminals, and a packet loss rate included in the receiver report transmitted from each of the plurality of receiving terminals;
  • data can be transmitted with a high quality even if the packet loss status is always changed on the network.
  • FIG. 1 is a diagram illustrating an example of an operation status according to an embodiment of the present invention.
  • FIG. 2 is block diagram illustrating the respective internal configurations of a transmitting terminal S and receiving terminals n 1 to n 7 illustrated in FIG. 1 .
  • FIG. 3 is a diagram illustrating an example of distribution tree information in the operation status illustrated in FIG. 1 .
  • FIG. 4 is a diagram illustrating a list of groups corresponding to packet loss rates.
  • FIG. 5 is a diagram illustrating an example in which a bandwidth estimation target terminal selection section 105 classifies the receiving terminals into groups on the basis of the packet loss rates included in receiver reports from the receiving terminals under the operation status illustrated in FIG. 1 .
  • FIG. 6 is a conceptual diagram illustrating a state in which the receiving terminals n 1 to n 7 illustrated in FIG. 1 are classified into the groups illustrated in FIG. 5 .
  • FIG. 7 is a flowchart illustrating processing when the bandwidth estimation target terminal selection section 105 provided in the transmitting terminal S selects a bandwidth estimation target terminal.
  • FIG. 8 is a flowchart illustrating a detail of processing conducted in Step S 703 in FIG. 7 .
  • FIG. 9 is a diagram illustrating an example of a parent-child relationship of the receiving terminals in each group to which the receiving terminals having the parent-child relationship belong.
  • FIG. 10 is a diagram illustrating an example of the parent-child relationship of the receiving terminals in each group to which the receiving terminals having no parent-child relationship belong.
  • FIG. 11 is a diagram illustrating an example of the costs between the terminals in the operation status illustrated in FIG. 1 .
  • FIG. 12 is a diagram illustrating another example of the operation status according to the embodiment of the present invention.
  • FIG. 1 is a diagram illustrating an example of an operation status according to an embodiment of the present invention.
  • a transmitting terminal S and receiving terminals n 1 to n 7 are connected to each other in a tree shape on a network so that the transmitting terminal S is a root, and the receiving terminals n 1 to n 7 are leaves.
  • the transmitting terminal S transmits a packet of an image or a sound to the receiving terminal n 3 over the network, and the receiving terminal n 3 receives and copies the packet, and transmits the copied packets to the downstream receiving terminals n 1 and n 2 .
  • the respective receiving terminals n 1 and n 2 receive and copy the copied packets, and transmit the copied packets to the downstream receiving terminals n 4 to n 7 . That is, FIG. 1 illustrates an appearance in which the packet of real-time stream data such as the image or the sound is delivered to the downstream receiving terminals while being relayed by the receiving terminals.
  • Dotted lines illustrated in FIG. 1 represent an appearance in which receiver reports as the packets on the network are transmitted to the transmitting terminal S from the receiving terminals. Also, star marks ( ⁇ ) illustrated in FIG. 1 each represent that a packet loss occurs on a link.
  • An entire transfer path having a logical structure such as a tree including information on which of the receiving terminals the packets copied by the receiving terminals are transmitted to is called “distribution tree”.
  • the respective receiving terminals on the distribution tree detect the packet losses occurring on the network on the basis of gaps in sequential numbers, and maintain statistics about the packet loss rate.
  • the receiving terminals transmit the receiver reports each including the packet loss rate to the transmitting terminal S.
  • the transmitting terminal S estimates an available bandwidth on the network on the basis of a round trip time (RTT) between the transmitting terminal S and each receiving terminal, which is included in the receiver report, and the packet loss rate.
  • the transmitting terminal S determines a bit rate in encoding data of the sound or the image. Because the transmitting terminal S receives the respective receiver reports from the plurality of receiving terminals, there is a need to determine from which receiving terminal the bandwidth is estimated on the basis of the receiver report because the transmitting terminal S receive the respective receiver reports from the plurality of receiving terminals.
  • the transmitting terminal S selects the receiving terminal to be estimated in bandwidth with the aid of information on the group of the receiving terminal and information on the distribution tree.
  • FIG. 2 is block diagram illustrating the respective internal configurations of the transmitting terminal S and the receiving terminals n 1 to n 7 illustrated in FIG. 1 .
  • the transmitting terminal S includes a receiver report receiving section 101 , a distribution tree information storage section 103 , a bandwidth estimation target terminal selection section 105 , a bandwidth estimation section 107 , an encoder 109 , and a data transmitting section 111 .
  • each of the receiving terminals n 1 to n 7 includes a receiver report transmitting section 151 , a data receiving section 153 , a decoder 155 , a transfer table creation section 157 , a transfer table storage section 159 , and a data transfer section 161 .
  • the receiver report receiving section 101 receives the receiver report transmitted from each receiving terminal over the network.
  • Each receiver report includes information indicative of the round trip time (RTT) between the transmitting terminal S and each receiving terminal on the network, and information indicative of the packet loss rate when the receiving terminal receives data transmitted from the transmitting terminal S over the network.
  • the receiver report may be a receiver report specified by RFC3550.
  • the receiver report may include a measurement period of the packet loss rate, or a weighted average efficiency of the past packet loss rates.
  • the distribution tree information storage section 103 stores the distribution tree information indicative of information that the receiving terminal that has received a packet from the transmitting terminal S copies the packet, and transmits the copied packet to any receiving terminal therein.
  • the distribution tree information is deviated from information on a bandwidth and a delay relative to the receiving terminal, which has been statically allocated, or obtained by measurement, before a session of data transmission starts.
  • the distribution tree information is deviated from a calculation algorithm of a minimum spanning tree which has been widely known in a graph theory.
  • the distribution tree information may be deviated from a technique disclosed in Patent document 2.
  • the distribution tree information storage section 103 is not limited to being equipped within the transmitting terminal S, but may be disposed in a server accessible by the transmitting terminal S. Also, the distribution tree information may be changed during the session.
  • FIG. 3 is a diagram illustrating an example of the distribution tree information in the operation status illustrated in FIG. 1 .
  • a “child terminal” illustrated in FIG. 3 represents a downstream receiving terminal linked directly with a “parent terminal” on the distribution tree.
  • Symbols S and n 1 to 1 y indicative of the terminals in FIG. 3 each specify a pair of an IP address and a port number of each terminal.
  • the distribution tree information is represented by a table, but may be represented by another configuration such as a graph structure, a list structure, or a bit map.
  • the bandwidth estimation target terminal selection section 105 selects, when the bandwidth estimation section 107 estimates an available bandwidth on the network, the receiving terminal (bandwidth estimation target terminal) that has transmitted the receiver report serving as the basis for estimation. In selecting the bandwidth estimation target terminal, the bandwidth estimation target terminal selection section 105 groups the receiving terminals on the basis of the packet loss rates of the receiving terminals.
  • FIG. 4 is a diagram illustrating a list of groups corresponding to the packet loss rates.
  • the receiving terminals are grouped by the rate of the redundant codes of an FEC (Forward Error Correction) that is a function for recovering the lost packet.
  • FEC Forward Error Correction
  • the packet loss rate that is recoverable when the redundant code 25(%) of the FEC is allocated is defined as less than 0.05%, and a group in this case is “GR 25 ”.
  • the receiving terminals are grouped according to the packet loss rate that is recoverable by the FEC.
  • the grouping does not always need to be based on the packet loss rate that is recoverable by the FEC.
  • the receiving terminals may be grouped according to the packet loss rate that is recoverable by a decoder of data such as images or sounds.
  • the grouping may be conducted with the aid of information adding the packet loss rate that can be determined as an error. That is, there is a possibility that the packet loss of lower than 1% by an encoder of the images or the sounds can be recovered by the decoder, and the packet loss of 1% or more and less than 3% is recovered by error concealment (error concealment).
  • the packet loss rate is defined by using threshold values thereof, and the receiving terminals may be grouped according to the packet loss.
  • FIG. 5 is a diagram illustrating an example in which the bandwidth estimation target terminal selection section 105 groups the receiving terminals on the basis of the packet loss rates included in receiver reports from the receiving terminals under the operation status illustrated in FIG. 1 .
  • FIG. 6 is a conceptual diagram illustrating a state in which the receiving terminals n 1 to n 7 illustrated in FIG. 1 are divided into the groups illustrated in FIG. 5 .
  • Symbols GR 50 , GR 150 , and GR 200 indicated by dashed lines in FIG. 6 represent groups of the receiving terminals.
  • the transmitting terminal S groups the receiving terminals on the basis of the packet loss rates included in the receiver reports.
  • the bandwidth estimation target terminal selection section 105 groups the receiving terminals on the basis of the packet loss rates included in the receiver reports from the receiving terminals, and a relationship between the packet loss rates and the groups illustrated in FIG. 4 .
  • the bandwidth estimation target terminal selection section 105 selects the bandwidth estimation target terminal on the basis of the information illustrated in FIG. 5 and the distribution tree information illustrated in FIG. 3 . A method of selecting the bandwidth estimation target terminal by the bandwidth estimation target terminal selection section 105 will be described in detail later.
  • the bandwidth estimation section 107 estimates the bandwidth available in the path between the transmitting terminal S and the bandwidth estimation target terminal with the aid of a TFRC (TCP Friendly Rate Control) known by Non-patent document 2.
  • TFRC TCP Friendly Rate Control
  • the encoder 109 encodes stream data of images or sounds at a bit rate corresponding to the bandwidth estimated by the bandwidth estimation section 107 .
  • the data transmitting section 111 transmits the stream data encoded by the encoder 109 to the receiving terminals in the form of packets over the network. Also, the data transmitting section 111 transmits the distribution tree information stored in the distribution tree information storage section 103 to the receiving terminals over the network.
  • the receiver report transmitting section 151 transmits the receiver report including the round trip time (RTT) and the packet loss rate to the transmitting terminal S.
  • the receiving terminal calculates the packet loss rate when detecting switching of the tallying period on the basis of codes indicative of a start and an end of tallying described in the packet. For example, the receiving terminal may calculate the packet loss rate as RNG/(ROK+RNG) according to the number of packets ROK that could be received and the number of packets RNG that could not been received.
  • the receiving terminal may calculate the packet loss rate through the above expression according to the number of packets ROK that could be received during a specific time such as 5 seconds and the number of packets RNG that could not be received thereduring.
  • the packet loss rate may be calculated on the same basis in all of the receiving terminals, and a length of the tallying period is no object.
  • the data receiving section 153 receives the packet of the stream data transmitted from the transmitting terminal S, or the packet of the stream data transferred from another receiving terminal. Also, the data receiving section 153 receives the distribution tree information transmitted from the transmitting terminal S. The decoder 155 decodes the stream data transmitted from the transmitting terminal S, or the stream data transferred from another receiving terminal.
  • the transfer table creation section 157 creates a transfer table that is information on a destination of the packet of the stream data to be transferred, on the basis of the distribution tree information transmitted from the transmitting terminal S.
  • the transfer table specifies a pair of destination address and destination port number. The number of destinations specified by the transfer table may be plural.
  • the destination is a downstream receiving terminal on the distribution tree.
  • the transfer table storage section 159 stores the transfer table created by the transfer table creation section 157 therein.
  • the data transfer section 161 copies the packet of the stream data received by the data receiving section 153 , and transfers the packet to the destination indicated by the transfer table. That is, the data transfer section 161 acquires the information on the pair of the IP address and the port number of the destination with reference to the transfer table with the port number described in a header of the packet as a key. Thereafter, the data transfer section 161 copies the packet according to the information. Then, the data transfer section 161 rewrites the IP address and the port number, which are described in the header of the copied packet, into the IP address and the port number of the destination. Then, the data transfer section 161 recalculates information on necessary check sum and resets the information to the packet. Thereafter, the data transfer section 161 transfers the copied packet to the downstream receiving terminal which is the destination over the network.
  • FIG. 7 is a flowchart illustrating processing when the bandwidth estimation target terminal selection section 105 provided in the transmitting terminal S selects the bandwidth estimation target terminal.
  • the bandwidth estimation target terminal selection section 105 first groups the receiving terminals on the basis of the packet loss rates included the receiver reports from the receiving terminals (Step S 701 ). Then, the bandwidth estimation target terminal selection section 105 selects a group to which the receiving terminal that has transmitted the receiver report including the highest packet loss rate belongs (Step S 702 ). In the example illustrated in FIG. 5 , the bandwidth estimation target terminal selection section 105 selects the group GR 200 to which the receiving terminal n 7 having the highest packet loss rate of 3.7% belongs.
  • the bandwidth estimation target terminal selection section 105 determines whether there is a parent-child relationship between the receiving terminals belonging to the group selected in Step S 702 , or not, with reference to the distribution tree information (Step S 703 ).
  • the bandwidth estimation target terminal selection section 105 determines whether there is the parent-child relationship among the receiving terminals n 2 , n 6 , and n 7 belonging to the group GR 200 , or not. The detail of the determining method will be described below with reference to FIG. 8 .
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminal highest in the packet loss rate among the receiving terminals belonging to the selected group as the bandwidth estimation target terminal (Step S 704 ).
  • the bandwidth estimation target terminal selection section 105 extracts at least one receiving terminal that is a parent terminal from the receiving terminals belonging to the group selected in Step S 702 (Step S 705 ). Then, the bandwidth estimation target terminal selection section 105 selects one of the receiving terminals extracted in Step S 705 as the bandwidth estimation target terminal (Step S 706 ). In the operation status illustrated in FIG.
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminal n 2 as the bandwidth estimation target terminal. The detail of the method of extracting and selecting the parent terminal will be described later.
  • FIG. 8 is a flowchart illustrating a detail of processing conducted in Step S 703 in FIG. 7 .
  • the bandwidth estimation target terminal selection section 105 conducts processing surrounded by repeat loops S 801 and S 809 for each of the receiving terminals (ni) belonging to the selected group (hereinafter referred to simply as “group”).
  • Step S 802 the bandwidth estimation target terminal selection section 105 extracts an assembly p(ni) of the parent terminals of the receiving terminals ni with reference to the distribution tree information.
  • the selected group is GR 200
  • the receiving terminal ni is the receiving terminal n 6
  • the receiving terminal ni is the receiving terminal n 7
  • the selected group is GR 150
  • the receiving terminal ni is the receiving terminal n 5
  • Step S 803 the bandwidth estimation target terminal selection section 105 extracts an assembly c(ni) of the child terminals of the receiving terminals ni with reference to the distribution tree information.
  • the selected group is GR 200
  • the receiving terminal ni is the receiving terminal n 6
  • the receiving terminal ni is the receiving terminal n 7
  • the receiving terminal ni is the receiving terminal n 2
  • the bandwidth estimation target terminal selection section 105 initializes a function R(ni) indicative of whether there is the parent-child relationship, or not, to “false” (Step S 804 ). Then, the bandwidth estimation target terminal selection section 105 conducts processing surrounded by repeat loops S 805 and S 808 . That is, the bandwidth estimation target terminal selection section 105 determines whether a receiving terminal nj other than the receiving terminal ni included in the selected group is included in the extracted parent assembly p(ni) or the extracted child assembly c(ni), or not (Step S 806 ).
  • FIG. 9 is a diagram illustrating an example of the parent-child relationship of the receiving terminals in each group to which the receiving terminals having the parent-child relationship belong. As illustrated in FIG. 9 , if both ends (receiving terminals) of each link of the distribution tree, which is indicated by a straight line, exist within the group, it is determined that there is the parent-child relationship therebetween.
  • FIG. 10 is a diagram illustrating an example of the parent-child relationship of the receiving terminals in each group to which the receiving terminals having no parent-child relationship belong.
  • the bandwidth estimation target terminal selection section 105 conducts the processing surrounded by Steps S 801 and S 809 on all of the receiving terminals ni, and thereafter returns the value of the function R(ni) thereto (Step S 810 ).
  • the bandwidth estimation target terminal selection section 105 may scan all of the rinks in the distribution tree, and determine that there is the parent-child relationship if the receiving terminals at both ends thereof are included in the selected group. In the method, the amount of computation is increased according to a scale of the distribution tree.
  • Step S 705 in FIG. 7 processing for extracting the receiving terminals that are the parent terminals from the selected group in detail.
  • the bandwidth estimation target terminal selection section 105 develops a sum of the assemblies p(ni) of the parent terminals of the respective receiving terminals, which are obtained in Step S 802 in FIG. 8 .
  • the selected group is GR 200 in the operation status illustrated in FIG. 1
  • p(n 6 ) ⁇ n 2 ⁇
  • p(n 7 ) ⁇ n 2 ⁇
  • Step S 706 in FIG. 7 processing for selecting one of the receiving terminals extracted in Step S 705 as the bandwidth estimation target terminal in detail.
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminal as the bandwidth estimation target terminal. For example, when the selected group is GR 200 in the operation status illustrated in FIG. 1 , the receiving terminal n 2 is extracted as the parent terminal. For that reason, the bandwidth estimation target terminal selection section 105 selects the receiving terminal n 2 as the bandwidth estimation target terminal.
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminal lowest in the total costs of a path extending from the parent terminal to the receiving terminal among the extracted receiving terminals as the bandwidth estimation target terminal.
  • the total costs of a path extending from the parent terminal to the receiving terminal may be obtained by weighting and aggregating values derived from an inverse number of the bandwidth, a transmission delay time of the link, the round trip time (RTT) between the terminals, or the packet loss rate.
  • FIG. 11 is a diagram illustrating an example of the total costs between the terminals in the operation status illustrated in FIG. 1 .
  • the selected group is GR 150 in the operation status illustrated in FIG. 1
  • the two receiving terminals n 1 and n 3 are extracted as the parent terminals.
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminal lower in the total costs as the bandwidth estimation target terminal with reference to the total costs of the paths between the terminals illustrated in FIG. 11 . That is, referring to FIG. 11 , the total costs of the path extending from the receiving terminal n 3 that is the parent terminal of the receiving terminal n 1 to the receiving terminal n 1 are 15 .
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminals n 3 as the bandwidth estimation target terminal.
  • the bandwidth estimation target terminal selection section 105 selects the receiving terminal lower in the total costs as the bandwidth estimation target terminal with reference to the total costs of the paths between the terminals. That is, referring to FIG. 12 , the total costs of the path extending from the transmitting terminal S that is the parent terminal of the receiving terminal nb to the receiving terminal nb are 20 . On the other hand, the total costs of the path extending from the transmitting terminal S that is the parent terminal of the receiving terminal na to the receiving terminal na are 10 . For that reason, the bandwidth estimation target terminal selection section 105 selects the receiving terminals na as the bandwidth estimation target terminal.
  • the bandwidth estimation target terminal selection section 105 may select any extracted receiving terminal as the bandwidth estimation target terminal.
  • the receiving terminals are grouped according to the range of the packet loss rate, and one of the receiving terminals belonging to the selected group is selected as the bandwidth estimation target terminal with reference to the distribution tree information. For that reason, the receiving terminals to be estimated when the bandwidth estimation section 107 of the transmitting terminal S estimates the bandwidth is not changed on the terminal basis, but changed on the group basis. Accordingly, because the bandwidth estimation target terminal is not frequently changed, the deterioration of the transmission rate caused by the receiving terminal having a high packet loss rate can be prevented. As a result, even if a long-term change in the packet loss rate is smaller, and a short-term change in the packet loss rate is larger, data of images or sounds can be transmitted with a high quality over the best effort network.
  • the frequency of changing the bandwidth estimation target terminal becomes low even within the group of the packet loss rate that can be compensated by the recovery ability of the FEC provided in the decoder of the receiving terminal. For that reason, the bandwidth estimation target terminal is not frequently changed. That is, according to the embodiment of the present invention, the frequent change in the bandwidth estimation target terminal can be suppressed without lengthening the tallying period of the packet loss rate. As a result, the deterioration of the transmission rate due to a phenomenon in which the receiving terminal having the worst packet loss rate is changed can be prevented without losing the property of following the occurrence of the packet loss.
  • the present invention is based on Japanese Patent Application No. 2010-137338 filed on Jun. 16, 2010, and the contents of which are incorporated herein by reference.
  • the transmitting terminal according to the present invention is useful as a communication terminal that enables data transmission with a high quality even if the packet loss status on the network is always changed, the long-term change in the packet loss rate is smaller, and the short-term change in the packet loss rate is larger.

Abstract

A transmitting terminal for used in a communication system having the transmitting terminal and receiving terminals which are connected to each other in a tree shape, each of the receiving terminals copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal in downstream, includes a receiving section that receives a receiver report including a packet loss rate and a round trip time, a bandwidth estimation target terminal selection section that selects a receiving terminal to be estimated on the basis of distribution tree information and a packet loss rate included in the receiver report, and a bandwidth estimation section that estimates a bandwidth of the network to control a transmission rate of data on the basis of the packet loss rate and the round trip time included in the receiver report transmitted from the selected receiving terminal.

Description

TECHNICAL FIELD
The present invention relates to a transmitting terminal and a bandwidth estimating method, which estimate a bandwidth of a network and controls a transmission rate in conducting a multicast communication through the network.
BACKGROUND ART
For the purpose of delivering remote teaching or a live event, the transmission of real-time stream data such as images or sounds on the network requires that a transmission bandwidth of the real-time stream data is changed in conformity to an available bandwidth on the network. That is, in the transmission over the best effort network such as the internet, it is expected that the network is congested by traffics of other users. When broadband real-time stream data (hereinafter referred to as “stream data”) is transmitted while the network is thus congested, packet losses frequently occur so that the images or the sounds may be disturbed or interrupted. For that reason, there is a need to transmit the stream data while changing a bandwidth with which the images or the sounds are encoded by an encoder, after an available bandwidth is estimated over the network.
As a method of estimating the available bandwidth over the network, there has been known a method of estimating the bandwidth with the use of a packet loss rate on the network, and a round trip time (RTT: round trip time) between the transmitting terminal and a receiving terminal.
Also, as a method of transmitting the stream data to a large number of receiving terminals in a point-to-multipoint manner, there has been known a method in which the terminals copy and transfer packets to realize a multipoint communication. For example, as that method, there is an application layer multicast (Application Layer Multicast: ALM). In the ALM, a transmitting terminal transmits a packet to a specified receiving terminal, and the specified receiving terminal copies the packet, and transmits the copied packets to plural other receiving terminals. That is, in the ALM, the specified receiving terminal becomes a parent terminal, and copies and transfers the packets to the plural child terminals to realize the multipoint communication. The entire transfer paths among those terminals are called “distribution tree”. In the ALM, because a unicast packet normally used in the internet is used as the packet transmitted between the respective terminals, there is no need to change a router on the network. For that reason, the ALM is advantageous in that the ALM is available over the existing network.
When the stream data is transmitted to the large number of receiving terminals in the point-to-multipoint manner with the available bandwidth on the network, a plurality of paths exist between the transmitting terminal and the receiving terminals. For that reason, there is a need that the specified receiving terminal is selected in the plurality of paths, the bandwidth of the path between the transmitting terminal and the selected receiving terminal is estimated, and the estimated bandwidth is determined as the available bandwidth. Non-patent document 1 has proposed a method in which a receiving terminal worst in a packet loss status is selected as the specified receiving terminal to determine the available bandwidth in the path between the transmitting terminal and the specified receiving terminal. Specifically, Non-patent document 2 has proposed a method in which the available bandwidth is determined with the use of a TFRC (TCP Friendly Rate Control). The TFRC is a method of estimating the available bandwidth with the use of a loss event rate and a round trip time of the packets. In a system of Non-patent document 1, the receiving terminal whose bandwidth is to be estimated is changed every time one receiving terminal worst in the packet loss status is changed to another.
Patent document 1 has proposed a method in which intervals between report packets to be transmitted to a source are controlled to conduct a rate control using the TFRC under a multimedia streaming environment, and also to prevent a problem that the report packets are concentrated on the source. In general, as a time interval at which the packet loss rate is tallied is lengthened, the following property when the network status is changed is deteriorated. For example, when a tallying time of the packet loss rate is intervals of 5 seconds, a status in which the congestion degree of the network is deteriorated cannot be grasped within 5 seconds.
Also, as a method of complementing the packet loss occurring in transmission of stream data on the best effort network such as the internet, an FEC (Forward Error Correction) has been known. For example, in Non-patent document 3, the source generates a redundant code packet from a plurality of packets with the help of an XOR (Exclusive OR) operation, and transmits the redundant code packet to the receiving terminal over the network. For that reason, even if a packet loss occurs on the network, the lost packet of stream data can be regenerated according to the redundant code packet and the packet of the stream data which have arrived at the receiving terminal.
However, the packet loss that can be recovered by the FEC is limited. For example, one redundant code packet is generated from four packets, and if one of those five packets is lost, the lost packet of the stream data can be regenerated from the redundant code packet and the packets of the stream data, which have arrived at the receiving terminal. However, when two or more packets are lost among the five packets, the lost packets of the stream data cannot be regenerated. That is, when the packet loss occurs at given intervals, the packet loss can be recovered by the FEC if the loss rate is 20% or lower, but cannot be recovered by the FEC if the loss rate exceeds 20%. Likewise, when one redundant code packet is generated from three packets, the lost packet of data can be regenerated by the FEC when the loss rate is 25% or lower, but cannot be regenerated by the FEC when the loss rate exceeds 25%.
In the best effort network, when the packet lost in conducting the transmission of the real-time stream data is complemented with the aid of the redundant code packet, an adaptive FEC that changes how to allocate a redundant code according to the loss rate is used. That is, when the adaptive FEC is applied to the above example, one redundant code packet is generated from four packets if the loss rate is 20% or lower, and generated from three packets if the loss rate is from 20% to 25%. That is, when the adaptive FEC is used, a range of the loss rate which can be covered by a specified redundant code allocation system is defined. In the above example, it is assumed that the packet loss occur at the given intervals. In a status in which a random loss occurs, or in a status in which the loss bursts, the range of the loss rate which can be covered with the specified redundant code allocation system is different.
Also, in the best effort network such as the internet, because the traffic volume on the network is not always held constant, the loss rate of the packets fluctuates. For that reason, even when the loss rate viewed from a long-term viewpoint is not changed, the loss rate viewed from a short-term viewpoint may be increased or decreased.
PRIOR ART DOCUMENT Patent Document
  • Patent document 1: JP-A-2004-343698
  • Patent document 2: JP-A-2009-213120
Non-Patent Document
  • Non-patent document 1: J. Widmer, M. Handley, “TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification”, RFC4654, August 2006
  • Non-patent document 2: M. Handley, S. Floyd, J. Padhye, J. Widmer, “TCP Friendly Rate Control (TFRC): Protocol Specification”, RFC3448, Jan. 20, 2003
  • Non-patent document 3: J. Rosenberg, H. Schulzrinne, “An RPT Rayload Format for Generic Forward Error Correction”, RFC2722, December 1999
SUMMARY OF THE INVENTION Problem to be Solved by the Invention
In the above-described method, in transmission of the stream data to the large number of receiving terminals in the point-to-multipoint manner, the receiving terminal worst in the packet loss status is selected to estimate the available bandwidth in the path between the transmitting terminal and the selected receiving terminal, and the rate control for packet transmission is conducted. However, there arises such a problem that the packet loss status on the network is always changed, and one receiving terminal worst in the status is often changed to another, thereby making it difficult to raise a transmission rate with being needlessly dragged by the receiving terminal worst in the packet loss rate.
However, when the tallying time of the packet loss rate in selecting the receiving terminal worst in the packet loss status is long, the above problem is prevented from arising. However, in this case, because the transmission rate cannot be changed according to the status change of the network, the available bandwidth is overshot with the result the packet loss frequently occurs so that the images or the sounds may be disturbed or interrupted.
An object of the present invention is to provide a transmitting terminal and a bandwidth estimating method, which can transmit data with a high quality even if the packet loss status is always changed on the network.
Solution to Problem
The present invention provides a transmitting terminal for used in a communication system in which the transmitting terminal which estimates a bandwidth of a network and controls a transmission rate of data, and a plurality of receiving terminals, each of which copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal in downstream, are connected to each other in a tree shape with the transmitting terminal as a route on the network, the transmitting terminal comprising:
a receiver report receiving section that receives a receiver report including a packet loss rate and a round trip time between the transmitting terminal and each of the receiving terminals, which is transmitted from each of the plurality of receiving terminals;
a bandwidth estimation target terminal selection section that selects a bandwidth estimation target terminal to be estimated in estimating the bandwidth of the network from the plurality of receiving terminals, on the basis of information on a distribution tree configured by the transmitting terminal and the plurality of receiving terminals and a packet loss rate included in the receiver report transmitted from each of the plurality of receiving terminals; and
a bandwidth estimation section that estimates the bandwidth of the network on the basis of the packet loss rate and the round trip time included in the receiver report transmitted from the receiving terminal selected by the bandwidth estimation target terminal selection section.
The present invention provides a bandwidth estimating method conducted by a transmitting terminal for used in a communication system in which the transmitting terminal which estimates a bandwidth of a network and controls a transmission rate of data, and a plurality of receiving terminals, each copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal in downstream, are connected to each other in a tree shape with the transmitting terminal as a route on the network, the bandwidth estimating comprising:
receiving a receiver report including a packet loss rate and a round trip time between the transmitting terminal and each of the receiving terminals, which is transmitted from each of the plurality of receiving terminals;
selecting a bandwidth estimation target terminal to be estimated in estimating the bandwidth of the network from the plurality of receiving terminals, on the basis of information on a distribution tree configured by the transmitting terminal and the plurality of receiving terminals, and a packet loss rate included in the receiver report transmitted from each of the plurality of receiving terminals; and
estimating the bandwidth of the network on the basis of the packet loss rate and the round trip time included in the receiver report transmitted from the selected receiving terminal.
Advantages of the Invention
In the transmitting terminal and the bandwidth estimating method according to the present invention, data can be transmitted with a high quality even if the packet loss status is always changed on the network.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram illustrating an example of an operation status according to an embodiment of the present invention.
FIG. 2 is block diagram illustrating the respective internal configurations of a transmitting terminal S and receiving terminals n1 to n7 illustrated in FIG. 1.
FIG. 3 is a diagram illustrating an example of distribution tree information in the operation status illustrated in FIG. 1.
FIG. 4 is a diagram illustrating a list of groups corresponding to packet loss rates.
FIG. 5 is a diagram illustrating an example in which a bandwidth estimation target terminal selection section 105 classifies the receiving terminals into groups on the basis of the packet loss rates included in receiver reports from the receiving terminals under the operation status illustrated in FIG. 1.
FIG. 6 is a conceptual diagram illustrating a state in which the receiving terminals n1 to n7 illustrated in FIG. 1 are classified into the groups illustrated in FIG. 5.
FIG. 7 is a flowchart illustrating processing when the bandwidth estimation target terminal selection section 105 provided in the transmitting terminal S selects a bandwidth estimation target terminal.
FIG. 8 is a flowchart illustrating a detail of processing conducted in Step S703 in FIG. 7.
FIG. 9 is a diagram illustrating an example of a parent-child relationship of the receiving terminals in each group to which the receiving terminals having the parent-child relationship belong.
FIG. 10 is a diagram illustrating an example of the parent-child relationship of the receiving terminals in each group to which the receiving terminals having no parent-child relationship belong.
FIG. 11 is a diagram illustrating an example of the costs between the terminals in the operation status illustrated in FIG. 1.
FIG. 12 is a diagram illustrating another example of the operation status according to the embodiment of the present invention.
MODES FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating an example of an operation status according to an embodiment of the present invention. In the operation status illustrated in FIG. 1, a transmitting terminal S and receiving terminals n1 to n7 are connected to each other in a tree shape on a network so that the transmitting terminal S is a root, and the receiving terminals n1 to n7 are leaves.
As illustrated in FIG. 1, the transmitting terminal S transmits a packet of an image or a sound to the receiving terminal n3 over the network, and the receiving terminal n3 receives and copies the packet, and transmits the copied packets to the downstream receiving terminals n1 and n2. Likewise, the respective receiving terminals n1 and n2 receive and copy the copied packets, and transmit the copied packets to the downstream receiving terminals n4 to n7. That is, FIG. 1 illustrates an appearance in which the packet of real-time stream data such as the image or the sound is delivered to the downstream receiving terminals while being relayed by the receiving terminals.
Dotted lines illustrated in FIG. 1 represent an appearance in which receiver reports as the packets on the network are transmitted to the transmitting terminal S from the receiving terminals. Also, star marks (⋆) illustrated in FIG. 1 each represent that a packet loss occurs on a link.
An entire transfer path having a logical structure such as a tree including information on which of the receiving terminals the packets copied by the receiving terminals are transmitted to is called “distribution tree”. The respective receiving terminals on the distribution tree detect the packet losses occurring on the network on the basis of gaps in sequential numbers, and maintain statistics about the packet loss rate. The receiving terminals transmit the receiver reports each including the packet loss rate to the transmitting terminal S.
The transmitting terminal S estimates an available bandwidth on the network on the basis of a round trip time (RTT) between the transmitting terminal S and each receiving terminal, which is included in the receiver report, and the packet loss rate. The transmitting terminal S determines a bit rate in encoding data of the sound or the image. Because the transmitting terminal S receives the respective receiver reports from the plurality of receiving terminals, there is a need to determine from which receiving terminal the bandwidth is estimated on the basis of the receiver report because the transmitting terminal S receive the respective receiver reports from the plurality of receiving terminals. The transmitting terminal S selects the receiving terminal to be estimated in bandwidth with the aid of information on the group of the receiving terminal and information on the distribution tree.
FIG. 2 is block diagram illustrating the respective internal configurations of the transmitting terminal S and the receiving terminals n1 to n7 illustrated in FIG. 1. As illustrated in FIG. 2, the transmitting terminal S includes a receiver report receiving section 101, a distribution tree information storage section 103, a bandwidth estimation target terminal selection section 105, a bandwidth estimation section 107, an encoder 109, and a data transmitting section 111. Also, each of the receiving terminals n1 to n7 includes a receiver report transmitting section 151, a data receiving section 153, a decoder 155, a transfer table creation section 157, a transfer table storage section 159, and a data transfer section 161.
Hereinafter, the respective components provided in the transmitting terminal S will be described. The receiver report receiving section 101 receives the receiver report transmitted from each receiving terminal over the network. Each receiver report includes information indicative of the round trip time (RTT) between the transmitting terminal S and each receiving terminal on the network, and information indicative of the packet loss rate when the receiving terminal receives data transmitted from the transmitting terminal S over the network. Also, the receiver report may be a receiver report specified by RFC3550. Also, the receiver report may include a measurement period of the packet loss rate, or a weighted average efficiency of the past packet loss rates.
The distribution tree information storage section 103 stores the distribution tree information indicative of information that the receiving terminal that has received a packet from the transmitting terminal S copies the packet, and transmits the copied packet to any receiving terminal therein. The distribution tree information is deviated from information on a bandwidth and a delay relative to the receiving terminal, which has been statically allocated, or obtained by measurement, before a session of data transmission starts. For example, the distribution tree information is deviated from a calculation algorithm of a minimum spanning tree which has been widely known in a graph theory. Alternatively, the distribution tree information may be deviated from a technique disclosed in Patent document 2. The distribution tree information storage section 103 is not limited to being equipped within the transmitting terminal S, but may be disposed in a server accessible by the transmitting terminal S. Also, the distribution tree information may be changed during the session.
FIG. 3 is a diagram illustrating an example of the distribution tree information in the operation status illustrated in FIG. 1. A “child terminal” illustrated in FIG. 3 represents a downstream receiving terminal linked directly with a “parent terminal” on the distribution tree. Symbols S and n1 to 1 y indicative of the terminals in FIG. 3 each specify a pair of an IP address and a port number of each terminal. In the example illustrated in FIG. 3, the distribution tree information is represented by a table, but may be represented by another configuration such as a graph structure, a list structure, or a bit map.
The bandwidth estimation target terminal selection section 105 selects, when the bandwidth estimation section 107 estimates an available bandwidth on the network, the receiving terminal (bandwidth estimation target terminal) that has transmitted the receiver report serving as the basis for estimation. In selecting the bandwidth estimation target terminal, the bandwidth estimation target terminal selection section 105 groups the receiving terminals on the basis of the packet loss rates of the receiving terminals. FIG. 4 is a diagram illustrating a list of groups corresponding to the packet loss rates. In this embodiment, the receiving terminals are grouped by the rate of the redundant codes of an FEC (Forward Error Correction) that is a function for recovering the lost packet. For example, the packet loss rate that is recoverable when the redundant code 25(%) of the FEC is allocated is defined as less than 0.05%, and a group in this case is “GR25”.
In the above example, the receiving terminals are grouped according to the packet loss rate that is recoverable by the FEC. However, the grouping does not always need to be based on the packet loss rate that is recoverable by the FEC. For example, the receiving terminals may be grouped according to the packet loss rate that is recoverable by a decoder of data such as images or sounds. Further, when the packet loss rate in a short tallying period is used, the grouping may be conducted with the aid of information adding the packet loss rate that can be determined as an error. That is, there is a possibility that the packet loss of lower than 1% by an encoder of the images or the sounds can be recovered by the decoder, and the packet loss of 1% or more and less than 3% is recovered by error concealment (error concealment). Specifically, if there is a possibility that data can be recovered by the error concealment to the extent that does not influence subjective values, the packet loss rate is defined by using threshold values thereof, and the receiving terminals may be grouped according to the packet loss.
FIG. 5 is a diagram illustrating an example in which the bandwidth estimation target terminal selection section 105 groups the receiving terminals on the basis of the packet loss rates included in receiver reports from the receiving terminals under the operation status illustrated in FIG. 1. FIG. 6 is a conceptual diagram illustrating a state in which the receiving terminals n1 to n7 illustrated in FIG. 1 are divided into the groups illustrated in FIG. 5. Symbols GR50, GR150, and GR200 indicated by dashed lines in FIG. 6 represent groups of the receiving terminals. The transmitting terminal S groups the receiving terminals on the basis of the packet loss rates included in the receiver reports. As illustrated in FIGS. 5 and 6, the bandwidth estimation target terminal selection section 105 groups the receiving terminals on the basis of the packet loss rates included in the receiver reports from the receiving terminals, and a relationship between the packet loss rates and the groups illustrated in FIG. 4.
Further, the bandwidth estimation target terminal selection section 105 selects the bandwidth estimation target terminal on the basis of the information illustrated in FIG. 5 and the distribution tree information illustrated in FIG. 3. A method of selecting the bandwidth estimation target terminal by the bandwidth estimation target terminal selection section 105 will be described in detail later.
The bandwidth estimation section 107 estimates the bandwidth available in the path between the transmitting terminal S and the bandwidth estimation target terminal with the aid of a TFRC (TCP Friendly Rate Control) known by Non-patent document 2.
The encoder 109 encodes stream data of images or sounds at a bit rate corresponding to the bandwidth estimated by the bandwidth estimation section 107. The data transmitting section 111 transmits the stream data encoded by the encoder 109 to the receiving terminals in the form of packets over the network. Also, the data transmitting section 111 transmits the distribution tree information stored in the distribution tree information storage section 103 to the receiving terminals over the network.
Hereinafter, the respective components provided in each of the receiving terminals n1 to n7 will be described. The receiver report transmitting section 151 transmits the receiver report including the round trip time (RTT) and the packet loss rate to the transmitting terminal S. The receiving terminal calculates the packet loss rate when detecting switching of the tallying period on the basis of codes indicative of a start and an end of tallying described in the packet. For example, the receiving terminal may calculate the packet loss rate as RNG/(ROK+RNG) according to the number of packets ROK that could be received and the number of packets RNG that could not been received. Also, the receiving terminal may calculate the packet loss rate through the above expression according to the number of packets ROK that could be received during a specific time such as 5 seconds and the number of packets RNG that could not be received thereduring. Thus, the packet loss rate may be calculated on the same basis in all of the receiving terminals, and a length of the tallying period is no object.
The data receiving section 153 receives the packet of the stream data transmitted from the transmitting terminal S, or the packet of the stream data transferred from another receiving terminal. Also, the data receiving section 153 receives the distribution tree information transmitted from the transmitting terminal S. The decoder 155 decodes the stream data transmitted from the transmitting terminal S, or the stream data transferred from another receiving terminal.
The transfer table creation section 157 creates a transfer table that is information on a destination of the packet of the stream data to be transferred, on the basis of the distribution tree information transmitted from the transmitting terminal S. The transfer table specifies a pair of destination address and destination port number. The number of destinations specified by the transfer table may be plural. The destination is a downstream receiving terminal on the distribution tree. The transfer table storage section 159 stores the transfer table created by the transfer table creation section 157 therein.
The data transfer section 161 copies the packet of the stream data received by the data receiving section 153, and transfers the packet to the destination indicated by the transfer table. That is, the data transfer section 161 acquires the information on the pair of the IP address and the port number of the destination with reference to the transfer table with the port number described in a header of the packet as a key. Thereafter, the data transfer section 161 copies the packet according to the information. Then, the data transfer section 161 rewrites the IP address and the port number, which are described in the header of the copied packet, into the IP address and the port number of the destination. Then, the data transfer section 161 recalculates information on necessary check sum and resets the information to the packet. Thereafter, the data transfer section 161 transfers the copied packet to the downstream receiving terminal which is the destination over the network.
Hereinafter, a description will be given of a method of selecting the bandwidth estimation target terminal by the bandwidth estimation target terminal selection section 105 provided in the transmitting terminal S in detail. FIG. 7 is a flowchart illustrating processing when the bandwidth estimation target terminal selection section 105 provided in the transmitting terminal S selects the bandwidth estimation target terminal. As illustrated in FIG. 7, the bandwidth estimation target terminal selection section 105 first groups the receiving terminals on the basis of the packet loss rates included the receiver reports from the receiving terminals (Step S701). Then, the bandwidth estimation target terminal selection section 105 selects a group to which the receiving terminal that has transmitted the receiver report including the highest packet loss rate belongs (Step S702). In the example illustrated in FIG. 5, the bandwidth estimation target terminal selection section 105 selects the group GR 200 to which the receiving terminal n7 having the highest packet loss rate of 3.7% belongs.
Then, the bandwidth estimation target terminal selection section 105 determines whether there is a parent-child relationship between the receiving terminals belonging to the group selected in Step S702, or not, with reference to the distribution tree information (Step S703). In the operation status illustrated in FIG. 1, when the receiving terminals n1 to n7 are classified into the groups illustrated in FIG. 5, the bandwidth estimation target terminal selection section 105 determines whether there is the parent-child relationship among the receiving terminals n2, n6, and n7 belonging to the group GR200, or not. The detail of the determining method will be described below with reference to FIG. 8.
If it is determined that there is no parent-child relationship (no in Step S703), the bandwidth estimation target terminal selection section 105 selects the receiving terminal highest in the packet loss rate among the receiving terminals belonging to the selected group as the bandwidth estimation target terminal (Step S704). On the other hand, it is determined that there is the parent-child relationship (yes in Step S703), the bandwidth estimation target terminal selection section 105 extracts at least one receiving terminal that is a parent terminal from the receiving terminals belonging to the group selected in Step S702 (Step S705). Then, the bandwidth estimation target terminal selection section 105 selects one of the receiving terminals extracted in Step S705 as the bandwidth estimation target terminal (Step S706). In the operation status illustrated in FIG. 1, if the receiving terminals n1 to n7 are classified into the groups illustrated in FIG. 5, because the receiving terminal n2 is the parent terminal, the bandwidth estimation target terminal selection section 105 selects the receiving terminal n2 as the bandwidth estimation target terminal. The detail of the method of extracting and selecting the parent terminal will be described later.
Hereinafter, a description will be given of processing conducted in Step S703 in FIG. 7, that is, processing for determining whether there is the parent-child relationship among the receiving terminals belonging to the selected group, or not, in detail with reference to FIG. 8. FIG. 8 is a flowchart illustrating a detail of processing conducted in Step S703 in FIG. 7. As illustrated in FIG. 8, the bandwidth estimation target terminal selection section 105 conducts processing surrounded by repeat loops S801 and S809 for each of the receiving terminals (ni) belonging to the selected group (hereinafter referred to simply as “group”).
In Step S802, the bandwidth estimation target terminal selection section 105 extracts an assembly p(ni) of the parent terminals of the receiving terminals ni with reference to the distribution tree information. In the operation status illustrated in FIG. 1, if the selected group is GR200, and the receiving terminal ni is the receiving terminal n6, p(n6)={n2} is obtained as an assembly of the parent terminals. Also, if the receiving terminal ni is the receiving terminal n7, p(n7)={n2} is obtained, and if the receiving terminal ni is the receiving terminal n2, p(n2)=null is obtained. Also, if the selected group is GR150, and the receiving terminal ni is the receiving terminal n5, p(n5)={n1, n3} is obtained. If the receiving terminal ni is the receiving terminal n1, p(n1)={n3} is obtained, and if the receiving terminal ni is the receiving terminal n3, p(n3)=null is obtained. Further, if the selected group is GR500, p(n4)=null is obtained because the receiving terminal ni is only the receiving terminal n4.
Then, in Step S803, the bandwidth estimation target terminal selection section 105 extracts an assembly c(ni) of the child terminals of the receiving terminals ni with reference to the distribution tree information. In the operation status illustrated in FIG. 1, if the selected group is GR200, and the receiving terminal ni is the receiving terminal n6, c(n6)=null is obtained as the assembly of the child terminals. Also, if the receiving terminal ni is the receiving terminal n7, c(n7)=null is obtained, and if the receiving terminal ni is the receiving terminal n2, c(n2)={n6, n7} is obtained. Also, if the selected group is GR150, and the receiving terminal ni is the receiving terminal n5, c(n5)=null is obtained. If the receiving terminal ni is the receiving terminal n1, c(n1)={n5} is obtained, and if the receiving terminal ni is the receiving terminal n3, c(n3)={n1, n5} is obtained. Also, the selected group is GR50, c(n4)=null is obtained because the receiving terminal ni is only the receiving terminal n4.
Then, the bandwidth estimation target terminal selection section 105 initializes a function R(ni) indicative of whether there is the parent-child relationship, or not, to “false” (Step S804). Then, the bandwidth estimation target terminal selection section 105 conducts processing surrounded by repeat loops S805 and S808. That is, the bandwidth estimation target terminal selection section 105 determines whether a receiving terminal nj other than the receiving terminal ni included in the selected group is included in the extracted parent assembly p(ni) or the extracted child assembly c(ni), or not (Step S806).
If it is determined that at least one receiving terminal nj is included in the parent assembly p(ni) or the child assembly c(ni) (yes in Step S806), the bandwidth estimation target terminal selection section 105 determines that there is the parent-child relationship between the receiving terminals belonging to the selected group. Then, the bandwidth estimation target terminal selection section 105 sets the function R(ni) to “true” (Step S807). FIG. 9 is a diagram illustrating an example of the parent-child relationship of the receiving terminals in each group to which the receiving terminals having the parent-child relationship belong. As illustrated in FIG. 9, if both ends (receiving terminals) of each link of the distribution tree, which is indicated by a straight line, exist within the group, it is determined that there is the parent-child relationship therebetween.
On the other hand, if it is determined that none of the receiving terminals nj is included in the parent assembly p(ni) or the child assembly c(ni) (no in Step S806), the bandwidth estimation target terminal selection section 105 determines that there is no parent-child relationship between the receiving terminals belonging to the selected group. Then, the bandwidth estimation target terminal selection section 105 maintains a value of the function R(ni) at “false” without any change. FIG. 10 is a diagram illustrating an example of the parent-child relationship of the receiving terminals in each group to which the receiving terminals having no parent-child relationship belong.
The bandwidth estimation target terminal selection section 105 conducts the processing surrounded by Steps S801 and S809 on all of the receiving terminals ni, and thereafter returns the value of the function R(ni) thereto (Step S810). The bandwidth estimation target terminal selection section 105 proceeds to Step S704 if a value of R(ni)=false is obtained, and proceeds to Step S705 if a value of R(ni)=true is obtained.
In the determining method described above with reference to FIG. 8, the above processing is conducted on only the receiving terminals belonging to the selected group. The bandwidth estimation target terminal selection section 105 may scan all of the rinks in the distribution tree, and determine that there is the parent-child relationship if the receiving terminals at both ends thereof are included in the selected group. In the method, the amount of computation is increased according to a scale of the distribution tree.
Hereinafter, a description will be given of processing conducted by Step S705 in FIG. 7, that is, processing for extracting the receiving terminals that are the parent terminals from the selected group in detail. The bandwidth estimation target terminal selection section 105 develops a sum of the assemblies p(ni) of the parent terminals of the respective receiving terminals, which are obtained in Step S802 in FIG. 8. When the selected group is GR200 in the operation status illustrated in FIG. 1, p(n6)={n2}, p(n7)={n2}, and p(n2)=null are obtained as the assemblies of the parent terminals. For that reason, the bandwidth estimation target terminal selection section 105 extracts the receiving terminal n2 which is the sum of those three assemblies. Also, if the selected group is GR150, p(n5)={n1, n3}, p(n1)={n3}, and p(n3)=null are obtained as the assemblies of the parent terminals. For that reason, the bandwidth estimation target terminal selection section 105 extracts two receiving terminals n1 and n3 which are the sum of those three assemblies.
Hereinafter, a description will be given of processing conducted in Step S706 in FIG. 7, that is, processing for selecting one of the receiving terminals extracted in Step S705 as the bandwidth estimation target terminal in detail. If the number of receiving terminals extracted in Step S705 is one, the bandwidth estimation target terminal selection section 105 selects the receiving terminal as the bandwidth estimation target terminal. For example, when the selected group is GR200 in the operation status illustrated in FIG. 1, the receiving terminal n2 is extracted as the parent terminal. For that reason, the bandwidth estimation target terminal selection section 105 selects the receiving terminal n2 as the bandwidth estimation target terminal.
Also, if the number of receiving terminals extracted in Step S705 is plural, the bandwidth estimation target terminal selection section 105 selects the receiving terminal lowest in the total costs of a path extending from the parent terminal to the receiving terminal among the extracted receiving terminals as the bandwidth estimation target terminal. The total costs of a path extending from the parent terminal to the receiving terminal may be obtained by weighting and aggregating values derived from an inverse number of the bandwidth, a transmission delay time of the link, the round trip time (RTT) between the terminals, or the packet loss rate.
FIG. 11 is a diagram illustrating an example of the total costs between the terminals in the operation status illustrated in FIG. 1. When the selected group is GR150 in the operation status illustrated in FIG. 1, the two receiving terminals n1 and n3 are extracted as the parent terminals. In this situation, the bandwidth estimation target terminal selection section 105 selects the receiving terminal lower in the total costs as the bandwidth estimation target terminal with reference to the total costs of the paths between the terminals illustrated in FIG. 11. That is, referring to FIG. 11, the total costs of the path extending from the receiving terminal n3 that is the parent terminal of the receiving terminal n1 to the receiving terminal n1 are 15. On the other hand, the total costs of the path extending from the transmitting terminal S that is the parent terminal of the receiving terminal n3 to the receiving terminal n3 are 10. For that reason, the bandwidth estimation target terminal selection section 105 selects the receiving terminals n3 as the bandwidth estimation target terminal.
Also, if the group indicated by a dashed line is selected in the operation status illustrated in FIG. 12, the two receiving terminals na and nb are extracted as the parent terminals. Similarly, in this case, the bandwidth estimation target terminal selection section 105 selects the receiving terminal lower in the total costs as the bandwidth estimation target terminal with reference to the total costs of the paths between the terminals. That is, referring to FIG. 12, the total costs of the path extending from the transmitting terminal S that is the parent terminal of the receiving terminal nb to the receiving terminal nb are 20. On the other hand, the total costs of the path extending from the transmitting terminal S that is the parent terminal of the receiving terminal na to the receiving terminal na are 10. For that reason, the bandwidth estimation target terminal selection section 105 selects the receiving terminals na as the bandwidth estimation target terminal.
If the plurality of receiving terminals are extracted as the parent terminals, and the costs between the respective receiving terminals and each of the parent terminals are identical with each other, the bandwidth estimation target terminal selection section 105 may select any extracted receiving terminal as the bandwidth estimation target terminal.
As described above, according to the embodiment of the present invention, the receiving terminals are grouped according to the range of the packet loss rate, and one of the receiving terminals belonging to the selected group is selected as the bandwidth estimation target terminal with reference to the distribution tree information. For that reason, the receiving terminals to be estimated when the bandwidth estimation section 107 of the transmitting terminal S estimates the bandwidth is not changed on the terminal basis, but changed on the group basis. Accordingly, because the bandwidth estimation target terminal is not frequently changed, the deterioration of the transmission rate caused by the receiving terminal having a high packet loss rate can be prevented. As a result, even if a long-term change in the packet loss rate is smaller, and a short-term change in the packet loss rate is larger, data of images or sounds can be transmitted with a high quality over the best effort network.
Also, the frequency of changing the bandwidth estimation target terminal becomes low even within the group of the packet loss rate that can be compensated by the recovery ability of the FEC provided in the decoder of the receiving terminal. For that reason, the bandwidth estimation target terminal is not frequently changed. That is, according to the embodiment of the present invention, the frequent change in the bandwidth estimation target terminal can be suppressed without lengthening the tallying period of the packet loss rate. As a result, the deterioration of the transmission rate due to a phenomenon in which the receiving terminal having the worst packet loss rate is changed can be prevented without losing the property of following the occurrence of the packet loss.
The present invention has been described in detail and with reference to the specified embodiments. However, it would be apparent to one skilled in the art that the present invention could be variously modified or corrected without departing from the spirit and scope of the present invention.
The present invention is based on Japanese Patent Application No. 2010-137338 filed on Jun. 16, 2010, and the contents of which are incorporated herein by reference.
INDUSTRIAL APPLICABILITY
The transmitting terminal according to the present invention is useful as a communication terminal that enables data transmission with a high quality even if the packet loss status on the network is always changed, the long-term change in the packet loss rate is smaller, and the short-term change in the packet loss rate is larger.
DESCRIPTION OF REFERENCE SYMBOLS
  • S, transmitting terminal
  • n1 to n7, receiving terminal
  • 101, receiver report receiving section
  • 103, distribution tree information storage section
  • 105, bandwidth estimation target terminal selection section
  • 107, bandwidth estimation section
  • 109, encoder
  • 111, data transmitting section
  • 151, receiver report transmitting section
  • 153, data receiving section
  • 155, decoder
  • 157, transfer table creation section
  • 159, transfer table storage section
  • 161, data transfer section

Claims (6)

The invention claimed is:
1. A transmitting terminal for use in a communication system in which the transmitting terminal estimates a bandwidth of a network and controls a transmission rate of data, and a plurality of receiving terminals, each of which copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal downstream, are connected to each other in a tree structure such that the transmitting terminal is configured as a root on the network and the plurality of receiving terminals are configured as leaves on the network, wherein the transmitting terminal is configured to:
receive a receiver report including a packet loss rate and a round trip time between the transmitting terminal and each of the receiving terminals, which is transmitted from each of the plurality of receiving terminals;
select a target terminal for estimating the bandwidth of the network from the plurality of receiving terminals, on the basis of information on a distribution tree storage section, the distribution tree storage section comprising information regarding the transmitting terminal and the plurality of receiving terminals, and a packet loss rate included in the receiver report transmitted from each of the plurality of receiving terminals,
estimate the bandwidth of the network on the basis of the packet loss rate and the round trip time included in the receiver report transmitted from the target terminal, and
separate the respective receiving terminals into groups on the basis of the packet loss rates included in the receiver reports transmitted from the plurality of receiving terminals respectively, and select the target terminal from the group having the receiving terminal with highest packet loss rate,
wherein the transmitting terminal is further configured to determine whether or not there is a parent-child relationship among the receiving terminals within the group having the receiving terminal with the highest packet loss rate,
wherein if there is no parent-child relationship, the transmitting terminal is configured to select the receiving terminal having the highest packet loss rate as the target terminal; and
wherein if there is a parent-child relationship, the transmitting terminal is configured to select the receiving terminal which is the parent terminal of the group as the target terminal.
2. The transmitting terminal according to claim 1, wherein the respective groups classified, when the transmitting terminal separates the plurality of receiving terminals into the groups, are different from each other in a range of the packet loss rate at which the plurality of receiving terminals can recover a lost packet through a given error correction technique.
3. A bandwidth estimating method conducted by a transmitting terminal for use in a communication system in which the transmitting terminal estimates a bandwidth of a network and controls a transmission rate of data, and a plurality of receiving terminals, each of which copies the data transmitted from the transmitting terminal and transfers the copied data to a receiving terminal downstream, are connected to each other in a tree structure such that the transmitting terminal is configured as a root on the network and the plurality of receiving terminals are configured as leaves on the network, the bandwidth estimating method comprising:
receiving a receiver report including a packet loss rate and a round trip time between the transmitting terminal and each of the receiving terminals, which is transmitted from each of the plurality of receiving terminals;
selecting a target terminal for estimating the bandwidth of the network from the plurality of receiving terminals, on the basis of information on a distribution tree storage section, the distribution tree storage section comprising information regarding the transmitting terminal and the plurality of receiving terminals, and a packet loss rate included in the receiver report transmitted from each of the plurality of receiving terminals,
estimating the bandwidth of the network on the basis of the packet loss rate and the round trip time included in the receiver report transmitted from the target terminal,
separating the respective receiving terminals into groups on the basis of the packet loss rates included in the receiver reports transmitted from the plurality of receiving terminals respectively, and selecting the target terminal from the group having the receiving terminal with highest packet loss rate, and
determining whether or not there is a parent-child relationship among the receiving terminals within the group having the receiving terminal with the highest packet loss rate,
wherein if there is no parent-child relationship, selecting the receiving terminal having the highest packet loss rate as the target terminal; and
wherein if there is a parent-child relationship, selecting the receiving terminal which is the parent terminal of the group as the target terminal.
4. The bandwidth estimating method according to claim 3, wherein the respective groups classified when separating the plurality of receiving terminals into the groups are different from each other in a range of the packet loss rate at which the plurality of receiving terminals can recover a lost packet through a given error correction technique.
5. The transmitting terminal according to claim 1, wherein the transmitting terminal is further configured to transmit a packet to a specified receiving terminal, the specified receiving terminal being configured to perform Application Layer Multicasting by replicating and transmitting the packet to a plurality of other receiving terminals.
6. The bandwidth estimating method conducted by a transmitting terminal according to claim 3, wherein the transmitting terminal is configured to transmit a packet to a specified receiving terminal being configured to perform Application Layer Multicasting by replicating and transmitting the packet to a plurality of other receiving terminals.
US13/387,177 2010-06-16 2011-05-18 Transmitting terminal and bandwidth estimating method Active 2031-11-24 US8773982B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010137338 2010-06-16
JP2010-137338 2010-06-16
PCT/JP2011/002783 WO2011158433A1 (en) 2010-06-16 2011-05-18 Transmitting terminal and band estimation method

Publications (2)

Publication Number Publication Date
US20120128002A1 US20120128002A1 (en) 2012-05-24
US8773982B2 true US8773982B2 (en) 2014-07-08

Family

ID=45349599

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/387,177 Active 2031-11-24 US8773982B2 (en) 2010-06-16 2011-05-18 Transmitting terminal and bandwidth estimating method

Country Status (5)

Country Link
US (1) US8773982B2 (en)
JP (1) JP5632384B2 (en)
CN (1) CN102484616B (en)
SG (1) SG185346A1 (en)
WO (1) WO2011158433A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9749384B2 (en) * 2012-10-24 2017-08-29 Panasonic Intellectual Property Management Co., Ltd. Communication system, reception terminal, transmission terminal, and flow rate control method
WO2015064108A1 (en) * 2013-11-01 2015-05-07 日本電気株式会社 Communication device, network available-band estimation method in communication device, and storage medium on which network available-band estimation program has been recorded
JP6082413B2 (en) * 2015-02-26 2017-02-15 アンリツ株式会社 Bandwidth determination device and method
KR102353492B1 (en) * 2015-12-14 2022-01-20 삼성전자주식회사 Apparatus and method for streaming service
KR20170070639A (en) * 2015-12-14 2017-06-22 삼성전자주식회사 Method and apparatus for transmitting/receiving data in communication system
US11109372B2 (en) 2016-01-11 2021-08-31 Qualcomm Incorporated Narrow-band physical control channel design

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112323A (en) * 1998-06-29 2000-08-29 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6151696A (en) * 1995-01-19 2000-11-21 Starburst Communications Corporation Data transmission
US6151633A (en) * 1998-04-20 2000-11-21 Sun Microsystems, Inc. Method and apparatus for routing and congestion control in multicast networks
US6505253B1 (en) * 1998-06-30 2003-01-07 Sun Microsystems Multiple ACK windows providing congestion control in reliable multicast protocol
JP2004343698A (en) 2003-02-18 2004-12-02 Matsushita Electric Ind Co Ltd Rate control of server base in multimedia streaming environment
US20050185578A1 (en) * 2004-02-25 2005-08-25 Microsoft Corporation Methods and systems for streaming data
US7102998B1 (en) * 1999-03-22 2006-09-05 Lucent Technologies Inc. Scaleable congestion control method for multicast communications over a data network
JP2009213120A (en) 2008-02-08 2009-09-17 Panasonic Corp Terminal and n-tree constructing method
US8306043B2 (en) * 2005-12-13 2012-11-06 At&T Intellectual Property Ii, L.P. Method and system of monitoring the receipt of multicast traffic

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523825B (en) * 2006-10-02 2013-01-23 松下电器产业株式会社 Flow control method, transmitting terminal device used in same, receiving terminal device and packet transfer system

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151696A (en) * 1995-01-19 2000-11-21 Starburst Communications Corporation Data transmission
US6151633A (en) * 1998-04-20 2000-11-21 Sun Microsystems, Inc. Method and apparatus for routing and congestion control in multicast networks
US6112323A (en) * 1998-06-29 2000-08-29 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6505253B1 (en) * 1998-06-30 2003-01-07 Sun Microsystems Multiple ACK windows providing congestion control in reliable multicast protocol
US7102998B1 (en) * 1999-03-22 2006-09-05 Lucent Technologies Inc. Scaleable congestion control method for multicast communications over a data network
JP2004343698A (en) 2003-02-18 2004-12-02 Matsushita Electric Ind Co Ltd Rate control of server base in multimedia streaming environment
US20050005020A1 (en) 2003-02-18 2005-01-06 Matsushita Electric Industrial Co., Ltd. Server-based rate control in a multimedia streaming environment
US20050185578A1 (en) * 2004-02-25 2005-08-25 Microsoft Corporation Methods and systems for streaming data
US8306043B2 (en) * 2005-12-13 2012-11-06 At&T Intellectual Property Ii, L.P. Method and system of monitoring the receipt of multicast traffic
JP2009213120A (en) 2008-02-08 2009-09-17 Panasonic Corp Terminal and n-tree constructing method
US20110002333A1 (en) 2008-02-08 2011-01-06 Panasonic Corporation Terminal and n-tree constructing method

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
Handley et al; "TCP Friendly Rate Control (TFRC): Protocol Specification", Network Working Group, Request for Comments 3448 Jan. 20, 2003 pp. 1-24.
International Search Report for PCT/JP2011/002783 dated Jul. 5, 2011.
Murata; "A Study on Multicast Congestion Control Improving Intra-session Fairness in Ad Hoc Networks", Symposium on Multimedia, Distributed, Cooperative and Mobile Systems (DICOMO2007) Ronbunshu, IPSJ Symposium Series, vol. 2007, No. 1 Jun. 29, 2007, pp. 1129-1138.
Puri R et al: "Forward error correction (FEC) codes based multiple description coding for internet video streaming and multicast" Signal Processing. Image Communication, Elsevier Science Publishers, Amsterdam, NL, vol. 16, No. 8, May 2001, pp. 745-762. *
Rosenberg et al; "An RTP Payload Format for Generic Forward Error Correction", Network Working Group, Request for Comments: 2733 Dec. 1999 pp. 1-26.
Widmer; TCP-Friendly Multicast Congestion Control (TFMCC): Protocol Specification, RFC4654, Aug. 2006, pp. 1-32.
Yamamoto et al. "Congestion Control for Reliable Multicast Achieving TCP Fairness" IEICE Trans. Commun., vol. E85-B, No. 1 Jan. 2002, pp. 183-190. *
Yamamoto et al. Congestion Control for Reliable Multicast Achieving TCP Fairness, IEICE Trans. Commun., vol. E85-B, No. 1 Jan. 2002, pp. 183-190. *
Yamamoto et al; "A TCP-Friendly Congestion Control Scheme Resolving a Drop-to-zero Problem for Reliable Multicast", The Institute of Electronics Information and Communication Engineers Technical Report, vol. 101, No. 121 Jun. 15, 2001, pp. 7-12.

Also Published As

Publication number Publication date
CN102484616A (en) 2012-05-30
US20120128002A1 (en) 2012-05-24
SG185346A1 (en) 2013-01-30
WO2011158433A1 (en) 2011-12-22
CN102484616B (en) 2015-02-25
JPWO2011158433A1 (en) 2013-08-19
JP5632384B2 (en) 2014-11-26

Similar Documents

Publication Publication Date Title
US8773982B2 (en) Transmitting terminal and bandwidth estimating method
KR100946108B1 (en) Method and apparatus for group communication with end-to-end reliability
Nguyen et al. Path diversity with forward error correction (pdf) system for packet switched networks
CN101636983B (en) Reducing effects of packet loss in video transmissions
Mao et al. Multiple description video multicast in wireless ad hoc networks
US20070147371A1 (en) Multicast packet video system and hardware
EP2070067B1 (en) Hybrid correction scheme for dropped packets
EP3547690B1 (en) Real-time video transmission method of multipath network
Khalaf et al. Improving video transmission over heterogeneous network by using ARQ and FEC error correction algorithm
Fodor et al. Resilience in live peer-to-peer streaming [Peer-to-Peer Multimedia Streaming]
Setton et al. Peer-to-peer video streaming
Seferoglu et al. Dynamic FEC algorithms for TFRC flows
Thai et al. Online multipath convolutional coding for real-time transmission
Hsiao et al. Streaming video over TCP with receiver-based delay control
Soltani et al. On link-layer reliability and stability for wireless communication
Gheorghiu et al. A network coding scheme for seamless interaction with TCP
Zhang et al. M3FEC: Joint multiple description coding and forward error correction for interactive multimedia in multiple path transmission
Hsiao et al. A max-min fairness congestion control for streaming layered video
Nguyen et al. Internet media streaming using network coding and path diversity
Zhang et al. M2FEC: An effective FEC based multi-path transmission scheme for interactive multimedia communication
Tsai et al. An adaptive multi‐hop forward error correction protection scheme for video streaming over wireless mesh networks
Bononi et al. A cross-layer architecture for robust video streaming over multi-radio multi-channel wireless mesh networks
Kamiyama et al. Loss recovery method for content pre-distribution in VoD service
Akbari et al. Performance analysis of packet loss recovery policies in P2P video streaming
Zhang et al. Reliable interactive video streaming in peer-to-peer networks

Legal Events

Date Code Title Description
AS Assignment

Owner name: PANASONIC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MURAMOTO, EIICHI;BADUGE, THILMEE;SIGNING DATES FROM 20111212 TO 20111226;REEL/FRAME:028085/0904

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8