EP2479941A1 - Communication apparatus and communication system for enhancing speed of communications between terminals - Google Patents

Communication apparatus and communication system for enhancing speed of communications between terminals Download PDF

Info

Publication number
EP2479941A1
EP2479941A1 EP10817007A EP10817007A EP2479941A1 EP 2479941 A1 EP2479941 A1 EP 2479941A1 EP 10817007 A EP10817007 A EP 10817007A EP 10817007 A EP10817007 A EP 10817007A EP 2479941 A1 EP2479941 A1 EP 2479941A1
Authority
EP
European Patent Office
Prior art keywords
bandwidth
packet
communication
communication apparatus
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP10817007A
Other languages
German (de)
French (fr)
Other versions
EP2479941A4 (en
EP2479941B1 (en
Inventor
Int.Prop.Group ISOBE Takashi c/o Hitachi Ltd.
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of EP2479941A1 publication Critical patent/EP2479941A1/en
Publication of EP2479941A4 publication Critical patent/EP2479941A4/en
Application granted granted Critical
Publication of EP2479941B1 publication Critical patent/EP2479941B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/801Real time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • the present invention relates to a communication apparatus and a communication system, and in particular, relates to an apparatus and a system for performing bandwidth control.
  • WAN Wide Area Network
  • IP-VPN IP-VPN technology
  • TCP communication it is general to use TCP in communication between terminals.
  • TCP communication an amount of data already received by a receiving terminal is fed back to be notified to a transmitting terminal, the data being sent by the transmitting terminal.
  • the transmitting terminal judges it as discard detection.
  • the transmitting terminal manages a parameter called a window size (a transmittable data size even when the fact of reception is not acknowledged from the receiving terminal), and changes the window size in response to RTT (Round Trip Time) or presence or absence of discard detection.
  • a window size a transmittable data size even when the fact of reception is not acknowledged from the receiving terminal
  • the transmission bandwidth is decreased indirectly to avoid network congestion.
  • the network is judged vacant and the transmission bandwidth is increased indirectly so that the line bandwidth of the network is effectively utilized. In this way, in communication using TCP, the transmission bandwidth is significantly influenced by RTT and discard rate.
  • an apparatus connected to a receiving side terminal having a means for feeding back to notify all discarded segments to an apparatus connected to a transmitting side terminal; a means for retransmitting the discarded segments fed back to be notified to an apparatus connected to the transmitting terminal; and a means for the apparatus connected to the transmitting terminal controlling transmission bandwidth, based on retransmission bandwidth and discard bandwidth.
  • the transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus the transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments.
  • one aspect is provided with a means for an apparatus connected to a receiving terminal feeding back to notify all discarded segments to an apparatus connected to a transmitting terminal; a means for retransmitting the discarded segments fed back to be notified to the an apparatus connected to the transmitting terminal; and a means for the apparatus connected to the transmitting terminal controlling the transmission bandwidth based on a retransmission bandwidth or a discard bandwidth.
  • the present aspect provides effect that a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments. Details of the present aspect will be described later mainly in Embodiments 1 to 3.
  • the apparatus connected to the transmitting terminal is provided with a means for measuring, in real time, retransmitting connection number of a discarded segment, and a means for controlling a transmission bandwidth based on retransmitting connection number.
  • an apparatus connected to a terminal is provided with a means for performing bandwidth control based on a real time utilization status such as contracted bandwidth/connection-number of a line used for connecting a network with another one (one's own base LAN with a domestic WAN, a domestic WAN with an overseas WAN, an overseas WAN with another base LAN, or the like).
  • a real time utilization status such as contracted bandwidth/connection-number of a line used for connecting a network with another one (one's own base LAN with a domestic WAN, a domestic WAN with an overseas WAN, an overseas WAN with another base LAN, or the like).
  • a means for performing transmission bandwidth control based on data receiving connection number notified from a communication partner Details will be described mainly in Embodiment 5 (Embodiment 5).
  • a means for performing bandwidth control based on contracted-bandwidth / data-transmitting-connection-number / bandwidth-per-connection of a line used by a communication route Details will be described mainly in Embodiment 6.
  • Embodiment 7 As another aspect, there is provided a means for performing bandwidth control based on contracted bandwidth/ data receiving connection number/bandwidth per connection of a line used by a communication put together by mutual notification among a plurality of apparatuses. Details will be described mainly in Embodiment 8. Explanation will be given on other aspects of the present invention in various Embodiments to be described later.
  • FIG. 1 An Embodiment of an apparatus 100 for performing bandwidth control based on a retransmission bandwidth, is explained with reference to Fig. 1 , Fig. 2 , Fig. 3 , Fig. 4 , Fig. 5 , Fig. 6 , and Fig. 7 .
  • Fig. 1 shows a block diagram of the apparatus 100.
  • the apparatus 100 comprises a TX unit 102 for receiving a data transmitted by a terminal 101, and for transmitting a packet toward other apparatus 100', and an RX unit 103 for receiving a packet from other apparatus 100', and outputting the data to the terminal 101.
  • the TX unit 102 comprises a transmission packet accumulation unit 104, an output destination judgment unit 105, a TX route/shaper table 106, a TX packet retransmission unit 107, an allocation unit 108, a shaper 109, a buffer 110 for packets acknowledging received or unreceived segments, a timer value storing unit 111, an interval time storing unit 112, a transmission bandwidth control unit 113, a table of each shaper's transmission and retransmission bandwidth 114, a token update unit 115, and a transmitted packet output control unit 116.
  • the RX unit 103 comprises an RX packet retransmission unit 117, a reception history update unit 118, a reception history table 119, an RX side allocation unit 120 for allocating a data packet received from the other apparatus 100' to the reception history update unit 118, and a packet acknowledging received or unreceived segments to the TX side packet retransmission unit 107, a received packet accumulation unit 121, and a received packet output control unit 122.
  • a data packet that the terminal 101 transmits is accumulated in the transmission packet accumulation unit 104, and input to the output destination judgment unit 105 and the allocation unit 108.
  • the data packet accumulated in the transmission packet accumulation unit 104 is deleted, when the packet acknowledging received segments is received from the apparatus 101' to be received by the TX packet retransmission unit 107 via the RX side allocation unit 120, and read out to be retransmitted, when the packet acknowledging unreceived segments is received by the TX side packet retransmission unit 107.
  • Fig. 35 represents a format of a packet data to be input and output by an apparatus.
  • the packet data includes Len 3500, Proto 3501, SIP 3502, DIP 3503, Sport 3504, Dport 3505, SSEQ 3506, DSEQ 3507, Flag 3508, Others 3509, Payload 3510, DMAC 3511, SMAC 3512, and Type 3513.
  • the Len 3500 stores packet length of an IP layer.
  • Proto 3501 stores an identification number for identifying a protocol of a transport layer.
  • SIP 3502 stores a source address, that is, an address of a transmitting terminal.
  • DIP 3503 stores a destination IP address, that is, an address of a receiving terminal.
  • Sport 3504 stores a source port of TCP.
  • Dport 3505 stores a destination port of TCP.
  • SSEQ 3506 stores source sequence number.
  • DSEQ 3507 stores destination sequence number.
  • Flag 3508 stores a TCP flag number.
  • Others 3509 store other IP/TCP header data.
  • Payload 3510 stores a data other than a packet header.
  • DMAC 3511 stores a destination MAC address of a physical layer.
  • SMAC 3512 stores a source MAC address of the physical layer.
  • Type 3513 represents a type of packet data. It should be noted that MAC represents Media Access Control Frame, and a packet flowing the physical layer is called
  • Fig. 2 shows is a format of a TX route/shaper table 106.
  • the TX route/shaper table 106 comprises the TX route (a source IP/subnet, a destination IP/subnet, a source port, a destination port) and a plurality of entries for storing shapers.
  • the shaper judgment unit 105 reads out an entry having a route coincident with the packet header from the TX route/shaper table 106, and notifies a shaper described in the entry to the allocation unit 108.
  • the allocation unit 108 allocates the input packet to any of a shaper A (109A), a shaper B (109B), or a shaper C (109C), based on the notification. Further, it converts the packet length described in the packet header to a bit value, associates it with a shaper and transmitted/retransmitted bits to notify it to the transmission bandwidth control unit 113.
  • the transmission bandwidth control unit 113 updates the table of each shaper's transmission/retransmission bandwidth 114, based on the shaper and the transmitted/retransmitted bits notified from the allocation unit 108, and determines control bandwidth of each shaper based on updated result. Further, it notifies a token addition value corresponding to the control bandwidth to the token update unit 115.
  • Fig. 3 shows a format of the table of each shaper's transmission/retransmission bandwidth 114. It is composed a plurality of entries for storing base time, a control bandwidth (before base time), a control bandwidth (after base time), statistical data before base time (transmission bandwidth, and retransmission bandwidth), and statistical data after base time (transmitted bit integration value, and retransmitted bit integration value), with respect to each shaper.
  • the transmission bandwidth control unit 113 of Fig. 1 adds the notified transmitted/retransmitted bits to the statistical data after base time (transmitted bit integration value, and retransmitted bit integration value) of the entry coincident with the shaper notified from the allocation unit 108.
  • the transmission bandwidth control unit 113 updates the table of each shaper's transmission/retransmission bandwidth 114 according to the flow chart shown in Fig. 4 .
  • the transmission bandwidth control unit 113 reads out each entry of the table of each shaper's transmission/retransmission bandwidth 114 (step 401) to perform judgment on whether the difference between the timer value 111 and the base time is larger than the interval time 112, or an retransmitted bit integration value is larger than 0, the judgment being repeated until the judgment condition is satisfied (step 402).
  • the control ban is changed so that the control bandwidth (after base time) becomes larger than the control bandwidth (after base time) (step 407).
  • the transmission bandwidth control unit 113 notifies an addition token calculated based on the above already changed control bandwidth (after base time) to the token control unit 115.
  • the token control unit 115 adds periodically an addition token notified from the transmission bandwidth control unit 113 to a token bucket, based on token bucket algorithm. Further, when token integration value is over a certain value, it is notified to the transmitted packet output control unit 116 that it is allowed to be output.
  • the transmitted packet output control unit 116 reads out a packet from a buffer which accumulates the packet and is allowed to output it, and outputs it. In the case of outputting from any of the shaper A (109A), the shaper B (109B) or the shaper C (109C), the shaper and the output packet length are notified to the token control unit 115.
  • the token control unit 115 subtracts a token corresponding to the acknowledging packet length from the token bucket of the notified shaper.
  • a data packet received by the apparatus 100' from the apparatus 100 is input to the reception history update unit 118' by the RX side allocation unit 120'.
  • the reception history update unit 118' performs processing shown by the flow chart of Fig. 6 , based on the received data packet and the content of the reception history table 119'.
  • Fig. 5 represents a format of a reception history table 114' and relation among already received segments 510, unreceived segments 520, and SEQ numbers 0, 8, 9, 12 and 14.
  • Reception history table 114' is composed of a source IP, a destination IP, a source port, a destination port, the rearmost SEQ of the already received segments, a SEQ of the unreceived segments, and a discard detection time.
  • the SEQ represents a byte number from the head of the received data.
  • the reception history update unit 118' reads out an entry coincident with a value described in a received packet header from the reception history record table 119' (step 601). It judges whether or not the tail SEQ of a data included by the received packet is larger than the rearmost SEQ of the already received segments described in the entry (step 602). When it judges that it is larger, it judges whether or not the head SEQ of the data included in the received packet coincides with the rearmost SEQ of the already received segments described in the entry, (step 603). When it judges that it does, it judges whether or not the SEQ of the unreceived segments is described in the entry (step 604).
  • step 602 of Fig. 6 it is judged whether or not the SEQ range of the data included by the received packets is coincident with the first SEQ range of the unreceived segments described in the entry (step 608).
  • the entry is updated so that the SEQ range of the received packets is deleted from the SEQ of the unreceived segments, and the received packets and the entry are output to the RX packet retransmission unit 117'. Further, a packet for acknowledging as received segments a SEQ range of data included in the received packets, is output to the buffer for packets acknowledging received or unreceived segments 110' (step 609).
  • the entry is updated so that the SEQ range of the received packets is deleted from the SEQ of the unreceived segments, and the received packets are written into the received packet accumulation unit 121'. Further, a packet for acknowledging as unreceived segments a SEQ range of the unreceived segments before the SEQ range of the received packets and as received segments a SEQ range of the received packets, is output to the buffer 110' (step 610).
  • the RX packet retransmission unit 117' reads out packets continuously following the received packets from the received packet accumulation unit 121', based on the received packets and the entry received from the reception history update unit 118', and outputs the received packets and the read out packets to the received packet output control unit 122'.
  • Fig. 7 shows one example of a transmission/reception sequence of a data packet and a packet acknowledging received or unreceived segments, at a transmission side apparatus and a receiving side apparatus.
  • a solid line represents data packets, while a broken line represents an acknowledging packet.
  • Value described at the vicinity of the starting point of the solid line represents a SEQ range of the data packets, while values described at the vicinity of the starting point of the broken line represents the SEQ range of already received/unreceived segments.
  • transition of transmission bandwidth of the transmission side is shown.
  • an apparatus for performing bandwidth control based on a retransmission bandwidth In this way, a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments.
  • FIG. 8 With reference to Fig. 8 is explained an embodiment of an apparatus 800 for attaining, with software, an apparatus for performing bandwidth control based on a retransmission bandwidth.
  • Fig. 8 shows a block diagram of the apparatus 800.
  • the apparatus 800 comprises a processor unit 823 and a memory unit 824.
  • TX module 802 a RX module 803, a shaper judgment module 805, a TX packet retransmission module 807, an allocation module 808, a transmission bandwidth control module 813, a token control module 815, a transmission packet output control module 816, an RX packet retransmission module 817, a reception history update module 818, an RX side allocation module 820, and a received packet output control module 822.
  • all of the transmission packet accumulation memory 104, the TX route/shaper table 106, the shaper 109, the buffer for packets acknowledging received or unreceived segments 110, the timer value storing unit 111, the interval time storing unit 112, the table of each shaper's transmission/retransmission bandwidth 114, the reception history table 119, and the received packet accumulation unit 121 in Fig. 1 are located in the memory unit 824.
  • each module is configured by reading out a program stored in a non-volatile memory medium of an apparatus 900.
  • Fig. 10 and Fig. 11 is explained an Embodiment of the apparatus 900 for performing bandwidth control based on a discard bandwidth.
  • Fig. 9 shows a block diagram of the apparatus 900.
  • the apparatus 900 is configured by using the apparatus 100 described in Embodiment 1 as the base, replacing the table of each shaper's transmission/retransmission bandwidth 114 with a table of each shaper's transmission/discard bandwidth 902, and newly adding a discarded bit notification unit 901 and an RX route/shaper table 903.
  • Fig. 10 shows a format of an RX route/shaper table 903. It includes a plurality of entries for storing a RX route (a source IP/subnet, a destination IP/subnet, a source port, and a destination port) and a shaper. With respect to values of the RX route compared with the route/shaper table 106, the source IP/subnet and the destination IP/subnet are exchanged, and the source port and the destination port are exchanged.
  • Fig. 11 shows a format of a table of each shaper's transmission/discard bandwidth 902. It comprises a plurality of entries for storing base time, a control bandwidth (before base time), a control bandwidth (after base time), statistical data before base time (transmission bandwidth, and discard bandwidth), and statistical data after base time (transmitted bit integration value, and discard bid integration value), with respect to each shaper.
  • the discarded notification unit 901 determines total bit length of described unreceived segments, when it receives the packet acknowledging unreceived segments, to set it as discard length. Further, it reads out an entry with which a value described at the packet header and the RX route coincide, from an RX route/shaper table 903, and notifies a shaper described in the entry and the determined discarded length to the transmission bandwidth control unit 113.
  • the transmission bandwidth control unit 113 updates a table of each shaper's transmission/discard bandwidth 902, by a similar procedure as an updating method of a table of each shaper's transmission/retransmission bandwidth 114 described in Fig. 4 . Further, it notifies the addition token calculated based on the above already updated control bandwidth (after base time), to the token control unit 115.
  • an apparatus for performing bandwidth control based on a discard bandwidth In this way, a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus such effect is obtained that a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments.
  • FIG. 12 With reference to Fig. 12 , Fig. 13 , Fig. 14 and Fig. 15 is explained an embodiment of the apparatus 1200 for performing bandwidth control based on retransmitting connection number, by measuring retransmitting connection number.
  • Fig. 12 shows a block diagram of the apparatus 1200.
  • the apparatus 1200 is configured by using the apparatus 100 described in Embodiment 1 as the base and adding a connection number addition judgment unit 1201, a connection presence/absence table 1202 and a table of each shaper's transmitting/retransmitting connection number 1203.
  • Fig. 14 shows a flow chart of the process performed by a connection number addition judgment unit 1201, using values described in the connection presence/absence table 1202.
  • Fig. 15 shows a format of table of each shaper's transmitting/retransmitting connection number 1203. It includes an entry for storing base time, statistical data before base time (transmitting connection number, and retransmitting connection number), and statistical data after base time (transmitting connection number integration value, and retransmitting connection number integration value), with respect to each shaper.
  • the transmission bandwidth control unit 113 updates the table of each shaper's transmitting/retransmitting connection number 1203, by a similar procedure as the table 114 of the each shaper's transmission/retransmission bandwidth described in Fig. 4 .
  • the transmission bandwidth control unit 113 judges bandwidth reduction amount in discard detection, by looking at the table of each shaper's transmitting/retransmitting connection number 1203.
  • FIG. 16 An embodiment of the apparatus 1600 for performing bandwidth control, based on total packet receiving connection number acknowledged from a communication partner, is explained with reference to Fig. 16 , Fig. 17, Fig. 18, Fig. 19 , Fig. 20 and Fig. 21 .
  • Fig. 16 shows a block diagram of the apparatus 1600.
  • the apparatus 1600 is configured by using the apparatus 1200 described in Embodiment 4 as the base, adding the TX unit 102 to an RX route/shaper table 903; newly adding a table of each shaper's receiving side total bandwidth/connection-number 1601, for recording a receiving bandwidth of a communication partner or data receiving connection number, a receiving side total bandwidth/connection-number notification unit 1602, a feedback notification packet generation unit 1603, and a feedback notification address table 1604 to the TX unit 102; by adding the connection number addition judgment unit 1201 and connection presence/absence table 1202 to the RX unit 103; and by newly adding an RX information notification unit 1605 and an RX total bandwidth/connection-number table 1606, for recording a receiving bandwidth and packet receiving connection number, to the RX unit 103.
  • Fig. 17 shows a format of a table of each shaper's receiving side total bandwidth/connection-number 1601.
  • a table of each shaper's receiving side total bandwidth/connection-number 1601 includes a plurality of entries for storing total receiving bandwidth measured at a communication partner side by each shaper, and total packet receiving connection number.
  • Fig. 18 shows a format of a feedback notification address table 1604.
  • a feedback notification address table 1604 is composed a plurality of entries for storing a destination IP address in the case where the feedback notification subject is a terminal, and also a subnet along with a destination IP address in the case where the feedback notification subject is a base.
  • Fig. 19 shows a format of an RX total bandwidth/connection-number table 1606.
  • An RX total bandwidth/connection-number table 1606 stores base time, statistical data before base time (RX total bandwidth, and RX total connection number), and statistical data after base time (RX total bit integration value, and RX total connection number integration value).
  • the RX information notification unit 1605 adds statistical data after base time (RX total bit integration value, and RX total connection number integration value) of an RX total bandwidth/connection-number table 1606, using addition notification of connection number from the connection number addition judgment unit 1201, and packet length described in the header of the data packet input from the RX side allocation unit 120.
  • RX total bit integration value, and RX total connection number integration value a statistical data after base time (RX total bit integration value, and RX total connection number integration value) of an RX total bandwidth/connection-number table 1606, using addition notification of connection number from the connection number addition judgment unit 1201, and packet length described in the header of the data packet input from the RX side allocation unit 120.
  • the RX information notification unit 1605 updates an RX total bandwidth/connection-number table 1606, using the flow chart shown in Fig. 20 .
  • the total RX bandwidth/total connection number before the updated base time is output to the feedback notification packet generation unit 1603.
  • the feedback notification packet generation unit 1603 generates a notification packet including the notified RX total bandwidth/connection-number, and outputs them to the all addresses described in a feedback notification address table 1604.
  • the apparatus 1600 when the apparatus 1600 receives the notification packet including the total RX bandwidth/total connection number from a communication partner, it outputs them to the receiving side total bandwidth/connection-number notification unit 1602 via the RX side allocation unit 120.
  • the receiving side total bandwidth/connection-number notification unit 1602 reads out an entry coincident with a value described in the packet header from an RX route/shaper table 903, and notifies the receiving side total bandwidth/total connection number described in the notification packet, to the transmission bandwidth control unit 113, by associating it with a shaper described in the entry.
  • the transmission bandwidth control unit 113 describes the receiving side total bandwidth/total connection number of the notified shaper, to a table of each shaper's receiving side total bandwidth/connection-number 1601.
  • the transmission bandwidth control unit 113 controls the bandwidth, for example, as shown in Fig. 21 , by using the receiving side total bandwidth/total connection number described in a table of each shaper's receiving side total bandwidth/connection-number 1601, and the transmitting connection number described in a table of each shaper's transmitting/retransmitting connection number 1203.
  • Fig. 22 shows a block diagram of the apparatus 2200.
  • the apparatus 2200 is configured by using the apparatus 1200 described in Embodiment 4 as the base, newly adding a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, and a table recording lines used by each communication route 2203 of a shaper output packet.
  • Fig. 23 shows a format of a table of each line's contracted-bandwidth /transmitting-connection-number / bandwidth-per-connection 2202, and a table recording lines used by each communication route of a shaper output packet 2203. Further, in the case where there are a line X with contracted bandwidth of 10.0, a line Y with contracted bandwidth of 8.0, and a line Z with contracted bandwidth of 3.0; there are the line X and the line Y in a communication route of an output packet of the shaper A of the apparatus 2200; and there are the line X and the line Z in a communication route of an output packet of the shaper B, an example of a bandwidth control method of the transmission bandwidth control unit 113 of the apparatus 2200 is shown.
  • a table of each line's contracted-bandwidth / transmitting-connection-number /bandwidth-per-connection 2202 is provided with a plurality of entries for storing contracted bandwidth (overall bandwidth, already assigned bandwidth, and unassigned bandwidth) with respect to each line, transmitting connection number (overall number, already assigned number, and unassigned number), and number of unassigned bandwidth per connection.
  • a table recording lines used by each communication route of a shaper output packet 2203 is provided with a plurality of entries for storing the used lines and control bandwidth with respect to each communication route.
  • the communication route of the shaper output packet is always only one route.
  • the transmission bandwidth control unit 113 calculates data transmitting connection number with respect to each line, using used lines and transmitting connection number described in a table recording lines used by each communication route of a shaper output packet 2203, and a table of each shaper's transmitting/retransmitting connection number 1203, to initialize transmitting connection number (total number, number already assigned, and number not assigned) of a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, and calculate not assigned bandwidth per connection.
  • the transmission bandwidth control unit 113 describes that transmitting connection number of the communication route B is 2, and the control bandwidth are 3.0, as contracted bandwidth already assigned/connection transmitting number already assigned of the lines X/Z of a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, to recalculate not assigned bandwidth per connection.
  • Bandwidth control is performed using a control bandwidth with respect to each communication route of a table recording lines used by each communication route 2203 obtained by the above method.
  • Fig. 25 and Fig. 26 is explained an embodiment of the apparatus 2400 for performing bandwidth control based on contracted bandwidth, packet transmitting connection number of one's own apparatus, and contracted bandwidth per connection of a line used by a communication route from a transmitting terminal to a receiving terminal as well as packet transmitting connection number of other apparatuses notified from other apparatuses.
  • Fig. 24 shows a block diagram of the apparatus 2400.
  • the apparatus 2400 is configured by using the apparatus 2200 of Embodiment 6 as the base, adding a mutual notification packet generation unit 2402 and a mutual notification address table 2403, and is provided with a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 of a shaper output packet, instead of a table of each shaper's transmitting/retransmitting connection number 1203.
  • a format of a mutual notification address table 2403 is the same as a feedback notification address table 1604.
  • Fig. 25 shows a format of a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 of a shaper output packet.
  • a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 is provided with a plurality of entries for storing base time, statistical data before base time (data transmitting connection number of one's own apparatus, data transmitting connection number of other apparatuses), and statistical data after base time (data transmitting connection number integration value of one's own apparatus, data transmitting connection number integration value of other apparatuses).
  • the transmission bandwidth control unit 113 receives addition notification of transmitting connection number from the connection number addition judgment unit 1201, and a notification packet of transmitting connection number of other apparatuses from the RX side allocation unit 120. Further, at the timing when difference between the timer value 111 and the base time becomes larger than the interval time 112, it updates each communication route's transmitting connection number of one's own apparatus and other apparatuses of the shaper output packet after base time, similarly to a table of each shaper's transmitting/retransmitting connection number 1203.
  • the transmission bandwidth control unit 113 notifies a transmitting connection number of one's own apparatus to the mutual notification packet generation unit 2402.
  • the mutual notification packet generation unit 2402 generates a packet for notifying the transmitting connection number of one's own apparatus to the all addresses described in a mutual notification address table 2403.
  • Fig. 26 shows an example of a control method of a bandwidth by the transmission bandwidth control unit 113 using a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202 and a table recording lines used by each communication route of a shaper output packet 2203, in the case where there are a line X with contracted bandwidth 10, a line Y with contracted bandwidth 8, and a line Z with contracted bandwidth 3; there are the line X and the line Y as lines used by a communication route of an output packet of the shaper A of the apparatus 2400; and there are the line X and the line Z as lines used by a communication route of an output packet of the shaper B.
  • the transmission bandwidth control unit 113 calculates each line's transmitting connection number, using each communication route's used lines, transmitting connection number of one's own apparatus, and transmitting connection number of other apparatuses, described in a table recording lines used by each communication route of a shaper output packet 2203 and a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401, to initialize connection numbers (overall number, already assigned number, and unassigned number) of a table of each line's contracted-bandwidth /transmitting-connection-number / bandwidth-per-connection 2202, and calculate a not assigned bandwidth per connection (step 2601).
  • the lines X/Z are lines used by the communication route B, a control bandwidth of 3.0 for total 3 of data transmitting connection number of the communication route B, is described in the table 2401, as already assigned bandwidth and already assigned connection number of the lines X and Z in a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, and not assigned bandwidth per connection is recalculated (step 2603).
  • the bandwidth control can more reflect the communication environment.
  • Fig. 27 Fig. 28 and Fig. 29 is explained an embodiment of the apparatus 2700 for performing bandwidth control based on contracted bandwidth, packet receiving connection number of own apparatus, and contracted bandwidth per connection of a line used by a communication from a transmitting terminal to a receiving terminal as well as packet receiving connection number of other apparatuses notified from other apparatuses.
  • Fig. 27 shows a block diagram of the apparatus 2700.
  • the apparatus 2700 is configured by using the apparatus 2400 described in Embodiment 7 as the base and adding the feedback notification packet generation unit 1603 and a feedback notification address table 1604 to the TX unit 102.
  • the connection number addition judgment unit 1201 a connection presence/absence table 1202, an RX route/shaper table 903, the timer value storing unit 111, and the interval time storing unit 112
  • the RX unit 103 is also provided with a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, a table of each line's contracted-bandwidth / receiving-connection-number /bandwidth-per-connection 2702, and a table recording lines used by each communication route for RX 2703, similarly to the table of each communication route's transmitting connection number of one's own apparatus and other apparatuses 2401 of the shaper output packet of the TX unit 102, the table of each line's contracted-bandwidth / transmitting-connection-number /bandwidth-per-connection 2202, and the table recording lines used by each communication route of a shaper output packet 2203. Further, by updating values of these tables, a reception information notification unit 2704 for notifying the updated values to a notification packet generation unit is provided with. In the present embodiment, it is assumed that the communication route of the shaper output packet is always only one route.
  • Fig. 28 shows a format of a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701.
  • a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701 is provided with a plurality of entries for storing base time, statistical data before base time (data transmitting connection number of one's own apparatus, and data transmitting connection number of other apparatuses), and statistical data after base time (data transmitting connection number integration value of one's own apparatus, and data transmitting connection number integration value of other apparatuses).
  • the reception information notification unit 2704 adds statistical data after base time to a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, using addition designation of receiving connection number of one's own apparatus from the connection number addition judgment unit 1201, and receiving connection number of other apparatuses described in a notification packet received from the RX side allocation unit 120.
  • the timing when difference between the timer value 111 and the base time becomes over the interval time storing unit 112 it updates statistical data before base time, similarly as the table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 of the shaper output packet.
  • Fig. 29 shows an example of a feedback notification method of total-control-bandwidth/total-receiving-connection-number, by an apparatus 2700 to the apparatus 1600C and the apparatus 1600D connected to a communication partner, using a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, a table of each line's contracted-bandwidth / receiving-connection-number /bandwidth-per-connection 2702, and a table recording lines used by each communication route 2703, in the case where there are a line X with contracted bandwidth of "10", a line Y with contracted bandwidth of "8", and a line Z with contracted bandwidth of "3"; there are the line X and the line Y in the communication route A; and there are the line X and the line Z in the communication route B.
  • the reception information notification unit 2704 of an apparatus 2700 calculates data receiving connection number with respect to each line, using lines used by each communication route described in a table recording lines used by each communication route 2703, and receiving connection number of one's own apparatus described in a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, to initialize receiving connection number (total number, number already assigned, and number not assigned) of a table of each line's contracted-bandwidth / receiving-connection-number / bandwidth-per-connection 2702, and calculate not assigned bandwidth per connection (step 2901).
  • the lines X/Z are lines used by the communication route B, it adds total data receiving connection number of the communication route "3" and total control bandwidth "3.0" as already assigned contacted bandwidth and already assigned receiving connection number of the lines X and Z, to a table of each line's contracted-bandwidth /receiving-connection-number / bandwidth-per-connection 2702, to recalculate not assigned bandwidth per connection (step 2903).
  • the total control bandwidth and the total receiving connection number of respctive resultant communication routes are notified to the feedback notification packet generation unit 1603 to prepare a notification packet toward the all addresses described in a feedback notification address table 1604. Further, it is fed back to be notified to the data transmission side apparatus 1600C/D, Embodiment 5 being applied to the data transmission side apparatus 1600C/D.
  • the transmission side apparatus 1600C/D controls the transmission bandwidth based on the total control bandwidth and total receiving connection number described in the feedback-notification packet received.
  • a terminal which the apparatus 2700 is connected to is a server terminal, and a terminal which the apparatus 1600C/D is connected to is a client terminal, an apparatus connected to the client terminal becomes not necessary to perform feedback notification or mutual notification. Thus it becomes possible to share information on connection number irrespective of a status of an apparatus connected to the client terminal.
  • the bandwidth control can more reflect communication environment.
  • FIG. 30 and Fig. 31 an embodiment of the apparatus 3000 installed at connection of LAN and WAN measures collectively-contracted-bandwidth /data-transmitting-connection-number / data-receiving-connection-number of a line used by a communication route, unilaterally notifies measurement results to other apparatuses connected to the same LAN, and mutually notifies to other apparatuses connected to other WAN and vice versa.
  • Fig. 30 shows a block diagram of the apparatus 3000.
  • the apparatus 3000 is configured by using the apparatus 2700 described in Embodiment 8 as the base, deleting blocks relating to retransmission function and bandwidth control function, and changing the TX unit to an outbound unit 3004, and the RX unit to an inbound unit 3003; and is provided with an inbound information management unit 3001 for measuring a connection number in a direction from WAN toward LAN, instead of the reception information notification unit 2704, an outbound information management unit 3002 for measuring a connection number in a direction from LAN toward WAN, instead of the transmission bandwidth control unit 113, a table of each communication route's outbound connection numbers of one's own apparatus and other apparatuses 3008, instead of the table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401, a table of each communication route's inbound connection number of one's own apparatus and other apparatuses 3005, instead of the table of each communication route's receiving connection number of one's own
  • the outbound information management unit 3002 updates a table of each line's contracted-bandwidth / outbound-connection-number / bandwidth-per-connection 3007, and a table of each communication route's outbound connection numbers of one's own apparatus and other apparatuses 3008, by a similar method as the transmission bandwidth control unit 113, and notifies outbound connection number of own apparatus to the mutual notification packet generation unit.
  • the inbound information management unit 3001 updates a table of each line's contracted-bandwidth / inbound-connection-number / bandwidth-per-connection 3006, and a table of each communication route's inbound connection number of one's own apparatus and other apparatuses 3005, by a similar method as the reception information notification unit 2704, and notifies inbound connection number of own apparatus to the mutual notification packet generation unit, as well as notifies total control bandwidth of one's own apparatus, and number of total inbound connections to the feedback notification packet generation unit.
  • the mutual notification packet generation unit 2402 outputs the notification packet to both a WAN side and a LAN side.
  • the feedback notification packet generation unit 1603 outputs the notification packet only to the WAN side.
  • Fig. 31 represents a notifying direction of statistical information between apparatuses.
  • a statistical information collection apparatus 3000 unilaterally notifies inbound connection number of the communication route A and the communication route B to the apparatus 2400 X/Y, Embodiment 7 being applied to the apparatus 2400 X/Y.
  • the apparatus 2400 X/Y performs bandwidth control by subtracting transmitting connection number of one's own apparatus from connection number described in the notification packet from the apparatus 3000 to obtain transmitting connection number of other apparatuses.
  • the statistical information collection apparatus 3000 and another statistical information collection apparatus 3000' installed at a connection part of other LAN and WAN mutually notifies information on inbound connection number and outbound connection number of each communication route.
  • the statistical information collection apparatus 3000 notifies inbound connection number and total inbound control bandwidth to an apparatus 1600E, Embodiment 5 being connecting to a terminal and applied to the apparatus 1600E connecting to a terminal.
  • the bandwidth control based on information on transmitting and receiving connection numbers notified from an apparatus, is attained, in the case where many apparatuses are present within a base, the bandwidth control can more reflect the communication environment while reducing the notification number.
  • Fig. 32 is shown an embodiment of one apparatus 3200 configured by connecting plurality of apparatuses 2400/2700 to a switch HUB.
  • the present embodiment can reduce cost.
  • Fig. 33 is shown an embodiment of a system for mutually notifying information on connection number to be used for bandwidth control, between a central apparatus and other apparatuses, by installing a plurality of apparatuses 2400/2700 described in Embodiment 7 or Embodiment 8.
  • the present embodiment can reduce communication times as compared with mesh-like mutual notification.
  • FIG. 34 With reference to Fig. 34 is explained an embodiment of a system of mutual loop-like notification of information on connection number to be used for bandwidth control, by installing a plurality of apparatuses 2400/2700 described in Embodiment 7 or Embodiment 8.
  • the present Embodiment can reduce communication times as compared with mesh-like mutual notification.

Abstract

In communication using TCP, since the transmission bandwidth is significantly influenced by RTT and discard rate, there was a problem that only the transmission bandwidth significantly lower than the contracted bandwidth could be obtained under the environment such as WAN causing large RTT, large hop number and many discarded segments.
There is provided an apparatus connected to a receiving side terminal having a means for feeding back to notify all discarded segments to an apparatus connected to a transmitting side terminal; a means for retransmitting the discarded segments fed back to be notified to the apparatus connected to the transmitting side terminal; and a means for controlling transmission bandwidth, based on retransmission bandwidth and discard bandwidth by the apparatus connected to the transmitting side terminal.

Description

    INCORPORATION BY REFERENCE
  • The present application claims priority from Japanese Patent Application No. 2009-214015, filed on Sep. 16, 2009 , and the content of which is incorporated by reference into the present application.
  • TECHNICAL FIELD
  • The present invention relates to a communication apparatus and a communication system, and in particular, relates to an apparatus and a system for performing bandwidth control.
  • BACKGROUND ART
  • It has become general to use WAN (Wide Area Network) utilizing IP-VPN technology or the like, as a communication network between global bases.
  • In the case where a certain terminal at a certain base communicates with a certain terminal at a different overseas base, communication is performed via a line connecting one's own base LAN with a domestic WAN, a line connecting a domestic WAN with an overseas WAN, and a line connecting an overseas WAN with another base LAN. These lines are limited in available bandwidth width, based on contracted bandwidth.
  • It is general to use TCP in communication between terminals. In TCP communication, an amount of data already received by a receiving terminal is fed back to be notified to a transmitting terminal, the data being sent by the transmitting terminal. When the amount of the already received data to be fed back to be notified stops increasing, the transmitting terminal judges it as discard detection.
  • Further, the transmitting terminal manages a parameter called a window size (a transmittable data size even when the fact of reception is not acknowledged from the receiving terminal), and changes the window size in response to RTT (Round Trip Time) or presence or absence of discard detection.
  • By decreasing the window size when the network is judged busy during increasing in RTT or in discard detection, the transmission bandwidth is decreased indirectly to avoid network congestion. In addition, by increasing the window size when decreasing in RTT or absence of discard detection, the network is judged vacant and the transmission bandwidth is increased indirectly so that the line bandwidth of the network is effectively utilized. In this way, in communication using TCP, the transmission bandwidth is significantly influenced by RTT and discard rate.
  • As technology similar to communication using TCP, there is also communication using ABR of ATM. In this communication, in addition to RTT or discard, the receiving bandwidth is fed back to be notified from the receiving terminal to the transmitting terminal.
  • In addition to RTT and discard detection, there is also technology of direct bandwidth control using a connection number (PATENT LITERATURE 1).
  • CITATION LIST PATENT LITERATURE
    • PATENT LITERATURE 1: WO 05/006664
    SUMMARY OF INVENTION TECHNICAL PROBLEM
  • In communication using TCP, since the transmission bandwidth is significantly influenced by RTT and discard rate, only the transmission bandwidth significantly lower than the contracted bandwidth can be obtained under the environment such as WAN causing large RTT, large hop number and many discarded segments.
  • SOLUTION TO PROBLEM
  • To solve the above problem, in one aspect of the present invention, there is provided an apparatus connected to a receiving side terminal having a means for feeding back to notify all discarded segments to an apparatus connected to a transmitting side terminal; a means for retransmitting the discarded segments fed back to be notified to an apparatus connected to the transmitting terminal; and a means for the apparatus connected to the transmitting terminal controlling transmission bandwidth, based on retransmission bandwidth and discard bandwidth.
  • ADVANTAGEOUS EFFECT OF INVENTION
  • According to the above aspect of the present invention, the transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus the transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments.
    Other objects, features and advantages of the present invention will become apparent from the following description of embodiments of the present invention taken into conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF DRAWINGS
    • Fig. 1 is a block diagram of an apparatus 100 for performing bandwidth control, based on retransmission bandwidth.
    • Fig. 2 shows a format of a TX route shaper table 106.
    • Fig. 3 shows a format of a table of each shaper's transmission/retransmission bandwidth 114.
    • Fig. 4 is a flow chart of updating a table of each shaper's transmission/retransmission bandwidth 114.
    • Fig. 5 shows a format of a reception history table 114, and the relation among an already received segment, an unreceived segment and SEQ number.
    • Fig. 6A is a flow chart of updating a reception history table 114.
    • Fig. 6B is a flow chart of updating a reception history table 114.
    • Fig. 7 shows an example of a transmission/reception sequence of a data packet and a packet acknowledging received or unreceived segments, at a transmission side apparatus and a receiving side apparatus.
    • Fig. 8 is a block diagram of an apparatus 800 attaining, with software, an apparatus for performing bandwidth control, based on retransmission bandwidth.
    • Fig. 9 is a block diagram of an apparatus 900 performing bandwidth control, based on discard bandwidth.
    • Fig. 10 shows a format of an RX route/shaper table 903.
    • Fig. 11 shows a format of a table of each shaper's transmission/discard bandwidth 902.
    • Fig. 12 is a block diagram of an apparatus 1200 measuring retransmitting connection number to performing bandwidth control based on retransmitting connection number.
    • Fig. 13 shows a format of a connection presence/absence table 1202.
    • Fig. 14 is a flow chart of a process performed by a connection number addition judgment unit 1201 using values described in a connection presence/absence table 1202.
    • Fig. 15 shows a format of a table of each shaper's transmitting/retransmitting connection number 1203.
    • Fig. 16A is a block diagram of an apparatus 1600 performing bandwidth control based on total packet receiving connection number notified from a communication partner.
    • Fig. 16B is a block diagram of an apparatus 1600 performing bandwidth control based on total packet receiving connection number notified from a communication partner.
    • Fig. 16C is a block diagram of an apparatus 1600 performing bandwidth control based on total packet receiving connection number notified from a communication partner.
    • Fig. 17 shows a format of a table of each shaper's receiving side total bandwidth/connection-number 1601.
    • Fig. 18 shows a format of a feedback notification address table 1604.
    • Fig. 19 shows a format of an RX total bandwidth/connection-number table 1606.
    • Fig. 20 is a flow chart of updating an RX total bandwidth/connection-number table 1606.
    • Fig. 21 is an explanatory diagram of bandwidth control.
    • Fig. 22 is a block diagram of an apparatus 2200 performing bandwidth control based on contracted bandwidth, packet transmitting connection number, and contracted bandwidth per connection of a line used by a communication route from a transmitting terminal to a receiving terminal.
    • Fig. 23 is an explanatory diagram of bandwidth control.
    • Fig. 24 is a block diagram of an apparatus 2400 performing bandwidth control based on contracted bandwidth, packet transmitting connection number of one's own apparatus and contracted bandwidth per connection of a line used by a communication route from a transmitting terminal to a receiving terminal as well as based on packet transmitting connection number of other apparatuses notified from other apparatuses.
    • Fig. 25 shows a format of a table of each communication route's transmitting connection number of one's own apparatus and other apparatuses 2401.
    • Fig. 26 is an explanatory diagram of bandwidth control.
    • Fig. 27A is a block diagram of an apparatus 2700 performing bandwidth control based on contracted bandwidth, packet receiving connection number of own apparatus and contracted bandwidth per connection of a line used by a communication route from a receiving terminal to a transmitting terminal, as well as based on packet receiving connection number of other apparatuses.
    • Fig. 27B is a block diagram of an apparatus 2700 performing bandwidth control based on contracted bandwidth, packet receiving connection number of one's own apparatus and contracted bandwidth per connection of a line used by a communication route from a receiving terminal to a transmitting terminal as well as packet receiving connection number of other apparatuses.
    • Fig. 27C is a block diagram of an apparatus 2700 performing bandwidth control based on contracted bandwidth, packet receiving connection number of one's own apparatus and contracted bandwidth per connection of a line used by a communication route from a receiving terminal to a transmitting terminal as well as packet receiving connection number of other apparatuses.
    • Fig. 28 shows a format of a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701.
    • Fig. 29 is an explanatory diagram of bandwidth control.
    • Fig. 30 is a block diagram of an apparatus 3000 installed at the connection of LAN and WAN, which measures collectively contracted-bandwidth / data-transmitting-connection-number / data-receiving-connection-number of a line used by a communication route, unilaterally notifies measurement result to other apparatuses connected to the same LAN, and mutually notifies among other apparatuses connected to other WAN.
    • Fig. 31 is an explanatory diagram of bandwidth control.
    • Fig. 32 is an explanatory diagram of one apparatus 3200 configured by connecting a plurality of apparatuses 2400/2700 with a switch HUB.
    • Fig. 33 shows a system for mutually notifying information on connection number used in bandwidth control, between a central apparatus and other apparatuses.
    • Fig. 34 shows a system for mutually notifying, in loop way, information on connection number used in bandwidth control.
    • Fig. 35 shows a format of a packet data input and output by an apparatus.
    DESCRIPTION OF EMBODIMENTS
  • Explanation will be given on typical aspects for carrying out the present invention, as follows.
    Firstly, one aspect is provided with a means for an apparatus connected to a receiving terminal feeding back to notify all discarded segments to an apparatus connected to a transmitting terminal; a means for retransmitting the discarded segments fed back to be notified to the an apparatus connected to the transmitting terminal; and a means for the apparatus connected to the transmitting terminal controlling the transmission bandwidth based on a retransmission bandwidth or a discard bandwidth. By this aspect, such a problem is solved that, in communication using TCP, since a transmission bandwidth is significantly influenced by RTT and discard rate, only transmission bandwidth significantly lower than contracted bandwidth could be obtained under the environment such as WAN causing large RTT, large hop number and many discarded segments. The present aspect provides effect that a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments. Details of the present aspect will be described later mainly in Embodiments 1 to 3.
  • As another aspect, the apparatus connected to the transmitting terminal is provided with a means for measuring, in real time, retransmitting connection number of a discarded segment, and a means for controlling a transmission bandwidth based on retransmitting connection number. By this aspect, such a problem is solved that, in technology for directly controlling a bandwidth using connection number other than RTT and discard detection, real time reflection of a communication status of practical connection is difficult, and that it is not understood in what percent of connections has been discarded in discard detection and thus in what degree the bandwidth should be reduced. The means for performing bandwidth control based on retransmitting connection number grasped by the present aspect, provides understanding in what percent of connections has been discarded in discard detection, and thus has such effect as it becomes clear in what degree the bandwidth should be reduced. Details of the present aspect will be described later mainly in Embodiment 4.
  • Further, as another aspect, an apparatus connected to a terminal is provided with a means for performing bandwidth control based on a real time utilization status such as contracted bandwidth/connection-number of a line used for connecting a network with another one (one's own base LAN with a domestic WAN, a domestic WAN with an overseas WAN, an overseas WAN with another base LAN, or the like). By this aspect, such a problem is solved that communication quality obtained varies depending on communication environment, because communication is performed only by estimating communication environment between a transmitting terminal and a receiving terminal, based on RTT and discard detection, and there is no means for directly reflecting communication environment. The means for performing bandwidth control based on a use status of a line grasped by the present aspect, has such effect that constant communication quality is obtained irrespective of communication environment. Details thereof will be described in Embodiments 5 to 12.
  • In addition, as another aspect, there is provided a means for performing transmission bandwidth control based on data receiving connection number notified from a communication partner. Details will be described mainly in Embodiment 5 (Embodiment 5). As another aspect, there is provided a means for performing bandwidth control based on contracted-bandwidth / data-transmitting-connection-number / bandwidth-per-connection of a line used by a communication route. Details will be described mainly in Embodiment 6. As another aspect, there is provided a means for performing bandwidth control based on contracted-bandwidth / data-transmitting-connection-number / bandwidth-per-connection of a line used by a communication route put together by mutual notification among a plurality of apparatuses. Details will be described mainly in Embodiment 7. As another aspect, there is provided a means for performing bandwidth control based on contracted bandwidth/ data receiving connection number/bandwidth per connection of a line used by a communication put together by mutual notification among a plurality of apparatuses. Details will be described mainly in Embodiment 8. Explanation will be given on other aspects of the present invention in various Embodiments to be described later.
  • Description will be given below in detail of the configuration of an apparatus for performing bandwidth control or an apparatus for performing packet processing, or a system configured by connecting the relevant apparatuses via a network, using embodiments, to explain the aspects of the present invention in more detail. In addition, to explain the aspects of the present invention in detail using the following embodiments, description will be given below mainly on bandwidth control and retransmission control processing performed when a communication terminal communicates with another communication terminal, so that a plurality of apparatuses installed among a plurality of communication terminals can attain high communication speed.
  • EMBODIMENT 1
  • An Embodiment of an apparatus 100 for performing bandwidth control based on a retransmission bandwidth, is explained with reference to Fig. 1, Fig. 2, Fig. 3, Fig. 4, Fig. 5, Fig. 6, and Fig. 7.
  • Fig. 1 shows a block diagram of the apparatus 100. The apparatus 100 comprises a TX unit 102 for receiving a data transmitted by a terminal 101, and for transmitting a packet toward other apparatus 100', and an RX unit 103 for receiving a packet from other apparatus 100', and outputting the data to the terminal 101.
  • The TX unit 102 comprises a transmission packet accumulation unit 104, an output destination judgment unit 105, a TX route/shaper table 106, a TX packet retransmission unit 107, an allocation unit 108, a shaper 109, a buffer 110 for packets acknowledging received or unreceived segments, a timer value storing unit 111, an interval time storing unit 112, a transmission bandwidth control unit 113, a table of each shaper's transmission and retransmission bandwidth 114, a token update unit 115, and a transmitted packet output control unit 116.
  • The RX unit 103 comprises an RX packet retransmission unit 117, a reception history update unit 118, a reception history table 119, an RX side allocation unit 120 for allocating a data packet received from the other apparatus 100' to the reception history update unit 118, and a packet acknowledging received or unreceived segments to the TX side packet retransmission unit 107, a received packet accumulation unit 121, and a received packet output control unit 122.
  • A data packet that the terminal 101 transmits, is accumulated in the transmission packet accumulation unit 104, and input to the output destination judgment unit 105 and the allocation unit 108.
  • The data packet accumulated in the transmission packet accumulation unit 104, is deleted, when the packet acknowledging received segments is received from the apparatus 101' to be received by the TX packet retransmission unit 107 via the RX side allocation unit 120, and read out to be retransmitted, when the packet acknowledging unreceived segments is received by the TX side packet retransmission unit 107.
  • Fig. 35 represents a format of a packet data to be input and output by an apparatus.
  • The packet data includes Len 3500, Proto 3501, SIP 3502, DIP 3503, Sport 3504, Dport 3505, SSEQ 3506, DSEQ 3507, Flag 3508, Others 3509, Payload 3510, DMAC 3511, SMAC 3512, and Type 3513.
  • The Len 3500 stores packet length of an IP layer. Proto 3501 stores an identification number for identifying a protocol of a transport layer. SIP 3502 stores a source address, that is, an address of a transmitting terminal. DIP 3503 stores a destination IP address, that is, an address of a receiving terminal. Sport 3504 stores a source port of TCP. Dport 3505 stores a destination port of TCP. SSEQ 3506 stores source sequence number. DSEQ 3507 stores destination sequence number. Flag 3508 stores a TCP flag number. Others 3509 store other IP/TCP header data. Payload 3510 stores a data other than a packet header. DMAC 3511 stores a destination MAC address of a physical layer. SMAC 3512 stores a source MAC address of the physical layer. Type 3513 represents a type of packet data. It should be noted that MAC represents Media Access Control Frame, and a packet flowing the physical layer is called MAC frame.
  • Fig. 2 shows is a format of a TX route/shaper table 106. The TX route/shaper table 106 comprises the TX route (a source IP/subnet, a destination IP/subnet, a source port, a destination port) and a plurality of entries for storing shapers.
  • The shaper judgment unit 105 reads out an entry having a route coincident with the packet header from the TX route/shaper table 106, and notifies a shaper described in the entry to the allocation unit 108.
  • The allocation unit 108 allocates the input packet to any of a shaper A (109A), a shaper B (109B), or a shaper C (109C), based on the notification. Further, it converts the packet length described in the packet header to a bit value, associates it with a shaper and transmitted/retransmitted bits to notify it to the transmission bandwidth control unit 113.
  • The transmission bandwidth control unit 113 updates the table of each shaper's transmission/retransmission bandwidth 114, based on the shaper and the transmitted/retransmitted bits notified from the allocation unit 108, and determines control bandwidth of each shaper based on updated result. Further, it notifies a token addition value corresponding to the control bandwidth to the token update unit 115.
  • Fig. 3 shows a format of the table of each shaper's transmission/retransmission bandwidth 114. It is composed a plurality of entries for storing base time, a control bandwidth (before base time), a control bandwidth (after base time), statistical data before base time (transmission bandwidth, and retransmission bandwidth), and statistical data after base time (transmitted bit integration value, and retransmitted bit integration value), with respect to each shaper.
  • The transmission bandwidth control unit 113 of Fig. 1 adds the notified transmitted/retransmitted bits to the statistical data after base time (transmitted bit integration value, and retransmitted bit integration value) of the entry coincident with the shaper notified from the allocation unit 108.
  • Further, the transmission bandwidth control unit 113 updates the table of each shaper's transmission/retransmission bandwidth 114 according to the flow chart shown in Fig. 4.
  • The transmission bandwidth control unit 113 reads out each entry of the table of each shaper's transmission/retransmission bandwidth 114 (step 401) to perform judgment on whether the difference between the timer value 111 and the base time is larger than the interval time 112, or an retransmitted bit integration value is larger than 0, the judgment being repeated until the judgment condition is satisfied (step 402). When the judgment condition is satisfied, the entry is updated so as to satisfy (transmission bandwidth) = (retransmitted bit integration value) / (interval) + (transmission bandwidth) X {(interval) - (timer value) + (base time)} /(interval), (retransmission bandwidth) = (integration value of retransmission bit) / (interval) + (retransmission bandwidth) x {(interval) - (timer value) + (base time)} / (interval), (base time) = (timer value), (transmission bit integration value) = 0, and (retransmitted bit integration value) = 0 (step 403). Further, it is judged whether or not an already updated retransmission bandwidth is larger than 0 (step 405). When it is judged to be larger, a control bandwidth (after base time) is changed based on the retransmission bandwidth so that the control bandwidth (after base time) becomes smaller than the control bandwidth (before base time) (for example, {control bandwidth (after base time)} = {control bandwidth (before base time)} ― (retransmission bandwidth) (step 406). When it is judged to be smaller, the control ban is changed so that the control bandwidth (after base time) becomes larger than the control bandwidth (after base time) (step 407).
  • The transmission bandwidth control unit 113 notifies an addition token calculated based on the above already changed control bandwidth (after base time) to the token control unit 115.
  • The token control unit 115 adds periodically an addition token notified from the transmission bandwidth control unit 113 to a token bucket, based on token bucket algorithm. Further, when token integration value is over a certain value, it is notified to the transmitted packet output control unit 116 that it is allowed to be output.
  • The transmitted packet output control unit 116 reads out a packet from a buffer which accumulates the packet and is allowed to output it, and outputs it. In the case of outputting from any of the shaper A (109A), the shaper B (109B) or the shaper C (109C), the shaper and the output packet length are notified to the token control unit 115. The token control unit 115 subtracts a token corresponding to the acknowledging packet length from the token bucket of the notified shaper.
  • A data packet received by the apparatus 100' from the apparatus 100 is input to the reception history update unit 118' by the RX side allocation unit 120'.
  • The reception history update unit 118' performs processing shown by the flow chart of Fig. 6, based on the received data packet and the content of the reception history table 119'.
  • Fig. 5 represents a format of a reception history table 114' and relation among already received segments 510, unreceived segments 520, and SEQ numbers 0, 8, 9, 12 and 14.
  • Reception history table 114' is composed of a source IP, a destination IP, a source port, a destination port, the rearmost SEQ of the already received segments, a SEQ of the unreceived segments, and a discard detection time. The SEQ represents a byte number from the head of the received data.
  • The reception history update unit 118' reads out an entry coincident with a value described in a received packet header from the reception history record table 119' (step 601). It judges whether or not the tail SEQ of a data included by the received packet is larger than the rearmost SEQ of the already received segments described in the entry (step 602). When it judges that it is larger, it judges whether or not the head SEQ of the data included in the received packet coincides with the rearmost SEQ of the already received segments described in the entry, (step 603). When it judges that it does, it judges whether or not the SEQ of the unreceived segments is described in the entry (step 604). When it is not described, the entry is updated as (rearmost SEQ of already received segments) = (tail SEQ of data included in received packets), and the received packet are output to the received packet output control unit 122'. Further, a packet acknowledging as received segments a SEQ range of data included in the received packets, is output to the buffer 110' (step 605).
  • In the case where it is judged "No", in the step 604 of Fig. 6, the entry is updated as (rearmost SEQ of already received segments) = (tail SEQ of data included in received packets), and the received packets is written into the received packet accumulation unit 121'. Further, a packet acknowledging as received segments an SEQ range of data included by the received packet, is output to the buffer 110' (step 606).
  • In the case where it is judged "not coincident" in the step 603 of Fig. 6, a SEQ range of the received packets is added to an SEQ of an unreceived segments in the entry, the entry is updated as (rearmost SEQ of already received segments) = (tail SEQ of the received packets), and the received packets are written into the received packet accumulation unit 121'. Further, a packet acknowledging that the range from the last SEQ of the already received segments to the head SEQ of the received packets is set as unreceived segments, and the SEQ range of the received packets is output to the buffer 110' as received segments (step 607).
  • In the case where it is judged "not larger" in the step 602 of Fig. 6, it is judged whether or not the SEQ range of the data included by the received packets is coincident with the first SEQ range of the unreceived segments described in the entry (step 608).
  • In the case where it is judged "coincident" in the step 608 of Fig. 6, the entry is updated so that the SEQ range of the received packets is deleted from the SEQ of the unreceived segments, and the received packets and the entry are output to the RX packet retransmission unit 117'. Further, a packet for acknowledging as received segments a SEQ range of data included in the received packets, is output to the buffer for packets acknowledging received or unreceived segments 110' (step 609).
  • In the case where it is judged "not coincident" in the step 608 of Fig. 6, the entry is updated so that the SEQ range of the received packets is deleted from the SEQ of the unreceived segments, and the received packets are written into the received packet accumulation unit 121'. Further, a packet for acknowledging as unreceived segments a SEQ range of the unreceived segments before the SEQ range of the received packets and as received segments a SEQ range of the received packets, is output to the buffer 110' (step 610).
  • The RX packet retransmission unit 117' reads out packets continuously following the received packets from the received packet accumulation unit 121', based on the received packets and the entry received from the reception history update unit 118', and outputs the received packets and the read out packets to the received packet output control unit 122'.
  • Fig. 7 shows one example of a transmission/reception sequence of a data packet and a packet acknowledging received or unreceived segments, at a transmission side apparatus and a receiving side apparatus.
  • A solid line represents data packets, while a broken line represents an acknowledging packet. Value described at the vicinity of the starting point of the solid line represents a SEQ range of the data packets, while values described at the vicinity of the starting point of the broken line represents the SEQ range of already received/unreceived segments. At the further left side of the values described at the vicinity of the starting point of the solid line, transition of transmission bandwidth of the transmission side is shown.
  • According to the above is attained an apparatus for performing bandwidth control based on a retransmission bandwidth. In this way, a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments.
  • EMBODIMENT 2
  • With reference to Fig. 8 is explained an embodiment of an apparatus 800 for attaining, with software, an apparatus for performing bandwidth control based on a retransmission bandwidth.
  • Fig. 8 shows a block diagram of the apparatus 800. The apparatus 800 comprises a processor unit 823 and a memory unit 824.
  • The TX unit 102, the RX unit 103, the shaper judgment unit 105, the TX packet retransmission unit 107, the allocation unit 108, the transmission bandwidth control unit 113, the token control unit 115, the transmitted packet output control unit 116, the RX packet retransmission unit 117, the reception history update unit 118, the RX side allocation unit 120, and the received packet output control unit 122, in Fig. 1 are modularized to operate in the processor unit 823 as a TX module 802, a RX module 803, a shaper judgment module 805, a TX packet retransmission module 807, an allocation module 808, a transmission bandwidth control module 813, a token control module 815, a transmission packet output control module 816, an RX packet retransmission module 817, a reception history update module 818, an RX side allocation module 820, and a received packet output control module 822.
  • In addition, all of the transmission packet accumulation memory 104, the TX route/shaper table 106, the shaper 109, the buffer for packets acknowledging received or unreceived segments 110, the timer value storing unit 111, the interval time storing unit 112, the table of each shaper's transmission/retransmission bandwidth 114, the reception history table 119, and the received packet accumulation unit 121 in Fig. 1 are located in the memory unit 824.
  • According to the above is attained an apparatus for performing bandwidth control, based on a retransmission bandwidth by an apparatus surface mounted with software. In this way, a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments. It should be noted that each module is configured by reading out a program stored in a non-volatile memory medium of an apparatus 900.
  • EMBODIMENT 3
  • With reference to Fig. 9, Fig. 10 and Fig. 11 is explained an Embodiment of the apparatus 900 for performing bandwidth control based on a discard bandwidth.
  • Fig. 9 shows a block diagram of the apparatus 900. The apparatus 900 is configured by using the apparatus 100 described in Embodiment 1 as the base, replacing the table of each shaper's transmission/retransmission bandwidth 114 with a table of each shaper's transmission/discard bandwidth 902, and newly adding a discarded bit notification unit 901 and an RX route/shaper table 903.
  • Fig. 10 shows a format of an RX route/shaper table 903. It includes a plurality of entries for storing a RX route (a source IP/subnet, a destination IP/subnet, a source port, and a destination port) and a shaper. With respect to values of the RX route compared with the route/shaper table 106, the source IP/subnet and the destination IP/subnet are exchanged, and the source port and the destination port are exchanged.
  • Fig. 11 shows a format of a table of each shaper's transmission/discard bandwidth 902. It comprises a plurality of entries for storing base time, a control bandwidth (before base time), a control bandwidth (after base time), statistical data before base time (transmission bandwidth, and discard bandwidth), and statistical data after base time (transmitted bit integration value, and discard bid integration value), with respect to each shaper.
  • The discarded notification unit 901 determines total bit length of described unreceived segments, when it receives the packet acknowledging unreceived segments, to set it as discard length. Further, it reads out an entry with which a value described at the packet header and the RX route coincide, from an RX route/shaper table 903, and notifies a shaper described in the entry and the determined discarded length to the transmission bandwidth control unit 113.
  • The transmission bandwidth control unit 113 updates a table of each shaper's transmission/discard bandwidth 902, by a similar procedure as an updating method of a table of each shaper's transmission/retransmission bandwidth 114 described in Fig. 4. Further, it notifies the addition token calculated based on the above already updated control bandwidth (after base time), to the token control unit 115.
  • According to the above aspect is attained an apparatus for performing bandwidth control based on a discard bandwidth. In this way, a transmission bandwidth becomes not significantly influenced by RTT and discard rate, and thus such effect is obtained that a transmission bandwidth is improved under the environment such as WAN causing large RTT, large hop number and many discarded segments.
  • EMBODIMENT 4
  • With reference to Fig. 12, Fig. 13, Fig. 14 and Fig. 15 is explained an embodiment of the apparatus 1200 for performing bandwidth control based on retransmitting connection number, by measuring retransmitting connection number.
  • Fig. 12 shows a block diagram of the apparatus 1200. The apparatus 1200 is configured by using the apparatus 100 described in Embodiment 1 as the base and adding a connection number addition judgment unit 1201, a connection presence/absence table 1202 and a table of each shaper's transmitting/retransmitting connection number 1203.
  • Fig. 13 shows a format of the connection presence/absence table 1202. It includes a plurality of entries for storing a source IP, a destination IP, a source port, a destination port, in retransmission (Yes=1, No = 0) and the base time.
  • Fig. 14 shows a flow chart of the process performed by a connection number addition judgment unit 1201, using values described in the connection presence/absence table 1202.
  • The connection number addition judgment unit 1201 reads out an entry coinciding with a value described at the packet header, from the connection presence/absence table 1202 (step 1401), and judges whether or not the entry coinciding with the value described at the packet header is present (step 1402). In the case of absence, a new entry is prepared as (source IP) = (source IP of packet), (destination IP) = (destination IP of packet), (source port) = (source port of packet), (destination port) = (destination port of packet), and (base time) = (timer value). Further, it is notified to the notification bandwidth control unit 113 that "1" should be added to connection number of a designated shaper of a shaper judgment unit (step 1405). In the case where the coincident entry is present in the step 1402, it judges whether difference between the timer value 111 and the base time is larger than the interval time 112, or (retransmission described in entry) = 0 and the input packet is a retransmitted packet, and in the case where both are not satisfied, it loops (step 1403). In the case where any one of them is satisfied, it updates the entry: to (base time) = (timer value), if the difference between the timer value 111 and the base time is larger than the interval time 112; to (retransmission) = 1, if the input packet is a retransmitted packet; and to (retransmission) = 0, if the input packet is a normal packet. Further it notifies to the transmission bandwidth control unit 113 that "1" should be added to the transmitting connection number of a designated shaper of the shaper judgment unit, if the input packet is a normal packet, and "1" should be added to the retransmitting connection number of a designated shaper of the shaper judgment unit, if the input packet is a retransmitted packet (step 1404).
  • Fig. 15 shows a format of table of each shaper's transmitting/retransmitting connection number 1203. It includes an entry for storing base time, statistical data before base time (transmitting connection number, and retransmitting connection number), and statistical data after base time (transmitting connection number integration value, and retransmitting connection number integration value), with respect to each shaper.
  • The transmission bandwidth control unit 113 updates the table of each shaper's transmitting/retransmitting connection number 1203, by a similar procedure as the table 114 of the each shaper's transmission/retransmission bandwidth described in Fig. 4.
  • The transmission bandwidth control unit 113 judges bandwidth reduction amount in discard detection, by looking at the table of each shaper's transmitting/retransmitting connection number 1203.
  • In this way, it is understood what percent of connections has been discarded when detecting the discard, and thus this embodiment has an effect of optimizing a reduction amount of a bandwidth.
  • EMBODIMENT 5
  • An embodiment of the apparatus 1600 for performing bandwidth control, based on total packet receiving connection number acknowledged from a communication partner, is explained with reference to Fig. 16, Fig. 17, Fig. 18, Fig. 19, Fig. 20 and Fig. 21.
  • Fig. 16 shows a block diagram of the apparatus 1600. The apparatus 1600 is configured by using the apparatus 1200 described in Embodiment 4 as the base, adding the TX unit 102 to an RX route/shaper table 903; newly adding a table of each shaper's receiving side total bandwidth/connection-number 1601, for recording a receiving bandwidth of a communication partner or data receiving connection number, a receiving side total bandwidth/connection-number notification unit 1602, a feedback notification packet generation unit 1603, and a feedback notification address table 1604 to the TX unit 102; by adding the connection number addition judgment unit 1201 and connection presence/absence table 1202 to the RX unit 103; and by newly adding an RX information notification unit 1605 and an RX total bandwidth/connection-number table 1606, for recording a receiving bandwidth and packet receiving connection number, to the RX unit 103.
  • Fig. 17 shows a format of a table of each shaper's receiving side total bandwidth/connection-number 1601.
  • A table of each shaper's receiving side total bandwidth/connection-number 1601 includes a plurality of entries for storing total receiving bandwidth measured at a communication partner side by each shaper, and total packet receiving connection number.
  • Fig. 18 shows a format of a feedback notification address table 1604.
  • A feedback notification address table 1604 is composed a plurality of entries for storing a destination IP address in the case where the feedback notification subject is a terminal, and also a subnet along with a destination IP address in the case where the feedback notification subject is a base.
  • Fig. 19 shows a format of an RX total bandwidth/connection-number table 1606.
  • An RX total bandwidth/connection-number table 1606 stores base time, statistical data before base time (RX total bandwidth, and RX total connection number), and statistical data after base time (RX total bit integration value, and RX total connection number integration value).
  • The RX information notification unit 1605 adds statistical data after base time (RX total bit integration value, and RX total connection number integration value) of an RX total bandwidth/connection-number table 1606, using addition notification of connection number from the connection number addition judgment unit 1201, and packet length described in the header of the data packet input from the RX side allocation unit 120. When addition notification of connection number is received, "1" is added to integration value of RX total connection and the packet length is converted to bit length to be added to integration value of RX total bit.
  • Further, the RX information notification unit 1605 updates an RX total bandwidth/connection-number table 1606, using the flow chart shown in Fig. 20.
  • The RX information notification unit 1605 repeatedly performs judgment on whether or not difference between the timer value 111 and the base time becomes larger than the interval time 112, until it is satisfied (step 2001). When it is satisfied, it updates the table, as (total RX bandwidth before base time) = {RX total bit integration value after base time} /{(timer value) ― (base time)}, (total RX connection number before base time) = (RX total connection number integration value after base time), {(base time) ― (timer value)}, (total RX bit integration value bandwidth after base time) = 0, and (total RX connection number integration value after base time) = 0 (step 2002).
  • The total RX bandwidth/total connection number before the updated base time is output to the feedback notification packet generation unit 1603.
  • The feedback notification packet generation unit 1603 generates a notification packet including the notified RX total bandwidth/connection-number, and outputs them to the all addresses described in a feedback notification address table 1604.
  • On the contrary, when the apparatus 1600 receives the notification packet including the total RX bandwidth/total connection number from a communication partner, it outputs them to the receiving side total bandwidth/connection-number notification unit 1602 via the RX side allocation unit 120.
  • The receiving side total bandwidth/connection-number notification unit 1602 reads out an entry coincident with a value described in the packet header from an RX route/shaper table 903, and notifies the receiving side total bandwidth/total connection number described in the notification packet, to the transmission bandwidth control unit 113, by associating it with a shaper described in the entry.
  • The transmission bandwidth control unit 113 describes the receiving side total bandwidth/total connection number of the notified shaper, to a table of each shaper's receiving side total bandwidth/connection-number 1601.
  • The transmission bandwidth control unit 113 controls the bandwidth, for example, as shown in Fig. 21, by using the receiving side total bandwidth/total connection number described in a table of each shaper's receiving side total bandwidth/connection-number 1601, and the transmitting connection number described in a table of each shaper's transmitting/retransmitting connection number 1203.
  • In Fig. 21, it is presumed that number of communication connection transmitting data from the transmitting terminal 2101 toward the receiving terminal 2103 was "2", and number of communication connection transmitting data from the transmitting terminal 2102 toward the receiving terminal 2103 was "1". When it is assumed that the total RX bandwidth was "12" and number of the total RX connections was "3", which were measured in the apparatus 1600C connected to the receiving terminal 2103, information that the total RX bandwidth was "12" and the number of the total RX connections was "3" is fed back to be notified from the apparatus 1600C toward the apparatus 1600A/B connected to the transmitting terminal 2101/2102. The apparatus 1600A determines the bandwidth per connection as "4" from information that the total RX bandwidth fed back to be notified was "12" and number of the total RX connections was "3", and adjusts the transmission bandwidth to 4x2 = 8, based on the transmitting connection number: 2 described in a table of each shaper's transmitting/retransmitting connection number 1203A of the apparatus 1600A. The apparatus 1600B determines the bandwidth per connection as "4" from information that the total RX bandwidth fed back to be notified was "12" and number of the total RX connections was "3", and adjusts the transmission bandwidth to 4×1 = 4, based on the transmitting connection number: 1 described in the table of each shaper's transmitting/retransmitting connection number 1203A of the apparatus 1600B.
  • According the above described apparatus for controlling the bandwidth based on total packet receiving connection number notified from a communication partner, fair bandwidth assignment can be attained among terminals, and thus constant communication quality can be attained not depending on a terminal.
  • EMBODIMENT 6
  • With reference to Fig. 22 and Fig. 23 is explained an Embodiment of the apparatus 2200 for performing bandwidth control based on contracted bandwidth of a line used by a communication route from a transmitting terminal to a receiving terminal, packet transmitting connection number, and contracted bandwidth per connection.
  • Fig. 22 shows a block diagram of the apparatus 2200. The apparatus 2200 is configured by using the apparatus 1200 described in Embodiment 4 as the base, newly adding a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, and a table recording lines used by each communication route 2203 of a shaper output packet.
  • Fig. 23 shows a format of a table of each line's contracted-bandwidth /transmitting-connection-number / bandwidth-per-connection 2202, and a table recording lines used by each communication route of a shaper output packet 2203. Further, in the case where there are a line X with contracted bandwidth of 10.0, a line Y with contracted bandwidth of 8.0, and a line Z with contracted bandwidth of 3.0; there are the line X and the line Y in a communication route of an output packet of the shaper A of the apparatus 2200; and there are the line X and the line Z in a communication route of an output packet of the shaper B, an example of a bandwidth control method of the transmission bandwidth control unit 113 of the apparatus 2200 is shown.
  • A table of each line's contracted-bandwidth / transmitting-connection-number /bandwidth-per-connection 2202 is provided with a plurality of entries for storing contracted bandwidth (overall bandwidth, already assigned bandwidth, and unassigned bandwidth) with respect to each line, transmitting connection number (overall number, already assigned number, and unassigned number), and number of unassigned bandwidth per connection.
  • A table recording lines used by each communication route of a shaper output packet 2203 is provided with a plurality of entries for storing the used lines and control bandwidth with respect to each communication route. In the present embodiment, it is assumed that the communication route of the shaper output packet is always only one route.
  • The transmission bandwidth control unit 113 calculates data transmitting connection number with respect to each line, using used lines and transmitting connection number described in a table recording lines used by each communication route of a shaper output packet 2203, and a table of each shaper's transmitting/retransmitting connection number 1203, to initialize transmitting connection number (total number, number already assigned, and number not assigned) of a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, and calculate not assigned bandwidth per connection.
  • The transmission bandwidth control unit 113 calculates the control bandwidth of the shaper B to be 1.5×2 = 0.3, using the facts that the not assigned bandwidth per connection of the line Z is 1.5, which is minimum and that the line Z is included in the communication route B of an output packet of the shaper bandwidth a transmitting connection number of the shaper B is 2, and updates the control bandwidth of the communication route B of a table recording lines used by each communication route 2203 to 3.0.
  • Further, since the line X/Z are lines used by the communication route B of the output packet of the shaper B, the transmission bandwidth control unit 113 describes that transmitting connection number of the communication route B is 2, and the control bandwidth are 3.0, as contracted bandwidth already assigned/connection transmitting number already assigned of the lines X/Z of a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, to recalculate not assigned bandwidth per connection.
  • The transmission bandwidth control unit 113 calculates a control bandwidth of the shaper A to be 7.0×1=7.0, using the facts that the not assigned bandwidth per connection of the line X after recalculation is 7.0, which is minimum, the line X is included in the communication route A of an output packet of the shaper A, and that a transmitting connection number of the shaper A is 1, and updates a control bandwidth of the communication route A of a table recording lines used by each communication route 2203 to 7.0.
  • Bandwidth control is performed using a control bandwidth with respect to each communication route of a table recording lines used by each communication route 2203 obtained by the above method.
  • By performing the above bandwidth control, such bandwidth control becomes possible that the contracted bandwidth is maximally utilized, depending on the communication environment of a user.
  • EMBODIMENT 7
  • With reference to Fig. 24, Fig. 25 and Fig. 26 is explained an embodiment of the apparatus 2400 for performing bandwidth control based on contracted bandwidth, packet transmitting connection number of one's own apparatus, and contracted bandwidth per connection of a line used by a communication route from a transmitting terminal to a receiving terminal as well as packet transmitting connection number of other apparatuses notified from other apparatuses.
  • Fig. 24 shows a block diagram of the apparatus 2400. The apparatus 2400 is configured by using the apparatus 2200 of Embodiment 6 as the base, adding a mutual notification packet generation unit 2402 and a mutual notification address table 2403, and is provided with a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 of a shaper output packet, instead of a table of each shaper's transmitting/retransmitting connection number 1203. In the present embodiment, it is assumed that the communication route of the shaper output packet is always only one route. A format of a mutual notification address table 2403 is the same as a feedback notification address table 1604.
  • Fig. 25 shows a format of a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 of a shaper output packet.
  • A table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 is provided with a plurality of entries for storing base time, statistical data before base time (data transmitting connection number of one's own apparatus, data transmitting connection number of other apparatuses), and statistical data after base time (data transmitting connection number integration value of one's own apparatus, data transmitting connection number integration value of other apparatuses).
  • The transmission bandwidth control unit 113 receives addition notification of transmitting connection number from the connection number addition judgment unit 1201, and a notification packet of transmitting connection number of other apparatuses from the RX side allocation unit 120. Further, at the timing when difference between the timer value 111 and the base time becomes larger than the interval time 112, it updates each communication route's transmitting connection number of one's own apparatus and other apparatuses of the shaper output packet after base time, similarly to a table of each shaper's transmitting/retransmitting connection number 1203.
  • Further, the transmission bandwidth control unit 113 notifies a transmitting connection number of one's own apparatus to the mutual notification packet generation unit 2402. The mutual notification packet generation unit 2402 generates a packet for notifying the transmitting connection number of one's own apparatus to the all addresses described in a mutual notification address table 2403.
  • Fig. 26 shows an example of a control method of a bandwidth by the transmission bandwidth control unit 113 using a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202 and a table recording lines used by each communication route of a shaper output packet 2203, in the case where there are a line X with contracted bandwidth 10, a line Y with contracted bandwidth 8, and a line Z with contracted bandwidth 3; there are the line X and the line Y as lines used by a communication route of an output packet of the shaper A of the apparatus 2400; and there are the line X and the line Z as lines used by a communication route of an output packet of the shaper B.
  • The transmission bandwidth control unit 113 calculates each line's transmitting connection number, using each communication route's used lines, transmitting connection number of one's own apparatus, and transmitting connection number of other apparatuses, described in a table recording lines used by each communication route of a shaper output packet 2203 and a table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401, to initialize connection numbers (overall number, already assigned number, and unassigned number) of a table of each line's contracted-bandwidth /transmitting-connection-number / bandwidth-per-connection 2202, and calculate a not assigned bandwidth per connection (step 2601).
  • The apparatus 2400 sets a control bandwidth of the shaper B, which outputs a packet toward the communication route B, to be 1.0×2=2.0, using the facts that the not assigned bandwidth per connection of the line Z is 1.0, which is minimum and that data transmitting connection number of one's own apparatus of the communication route B including the line Z is "2" (step 2602).
  • Further, because the lines X/Z are lines used by the communication route B, a control bandwidth of 3.0 for total 3 of data transmitting connection number of the communication route B, is described in the table 2401, as already assigned bandwidth and already assigned connection number of the lines X and Z in a table of each line's contracted-bandwidth / transmitting-connection-number / bandwidth-per-connection 2202, and not assigned bandwidth per connection is recalculated (step 2603).
  • The apparatus 2400 sets to be 3.5×1=3.5 the control bandwidth of the shaper A outputting a packet toward the communication route A, using the facts that the not assigned bandwidth per connection of the line X after recalculation is 3.5, which is minimum and that data transmitting connection number of one's own apparatus of the communication route A including the line X is 1 (step 2604).
  • As described above, by performing bandwidth control based on contracted bandwidth, packet transmitting connection number of one's own apparatus, and contracted bandwidth per connection of a line used by a communication from a transmitting terminal to a receiving terminal as well as packet transmitting connection number of other apparatuses notified from other apparatuses, the bandwidth control can more reflect the communication environment.
  • EMBODIMENT 8
  • With reference to Fig. 27, Fig. 28 and Fig. 29 is explained an embodiment of the apparatus 2700 for performing bandwidth control based on contracted bandwidth, packet receiving connection number of own apparatus, and contracted bandwidth per connection of a line used by a communication from a transmitting terminal to a receiving terminal as well as packet receiving connection number of other apparatuses notified from other apparatuses.
  • Fig. 27 shows a block diagram of the apparatus 2700. The apparatus 2700 is configured by using the apparatus 2400 described in Embodiment 7 as the base and adding the feedback notification packet generation unit 1603 and a feedback notification address table 1604 to the TX unit 102. In addition, by adding to the RX unit 103 the connection number addition judgment unit 1201, a connection presence/absence table 1202, an RX route/shaper table 903, the timer value storing unit 111, and the interval time storing unit 112, it becomes possible to designate addition of the data receiving connection number with respect to each communication route, similarly to the TX unit 102. Further, the RX unit 103 is also provided with a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, a table of each line's contracted-bandwidth / receiving-connection-number /bandwidth-per-connection 2702, and a table recording lines used by each communication route for RX 2703, similarly to the table of each communication route's transmitting connection number of one's own apparatus and other apparatuses 2401 of the shaper output packet of the TX unit 102, the table of each line's contracted-bandwidth / transmitting-connection-number /bandwidth-per-connection 2202, and the table recording lines used by each communication route of a shaper output packet 2203. Further, by updating values of these tables, a reception information notification unit 2704 for notifying the updated values to a notification packet generation unit is provided with. In the present embodiment, it is assumed that the communication route of the shaper output packet is always only one route.
  • Fig. 28 shows a format of a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701.
  • A table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701 is provided with a plurality of entries for storing base time, statistical data before base time (data transmitting connection number of one's own apparatus, and data transmitting connection number of other apparatuses), and statistical data after base time (data transmitting connection number integration value of one's own apparatus, and data transmitting connection number integration value of other apparatuses).
  • The reception information notification unit 2704 adds statistical data after base time to a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, using addition designation of receiving connection number of one's own apparatus from the connection number addition judgment unit 1201, and receiving connection number of other apparatuses described in a notification packet received from the RX side allocation unit 120. At the timing when difference between the timer value 111 and the base time becomes over the interval time storing unit 112, it updates statistical data before base time, similarly as the table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401 of the shaper output packet.
  • Fig. 29 shows an example of a feedback notification method of total-control-bandwidth/total-receiving-connection-number, by an apparatus 2700 to the apparatus 1600C and the apparatus 1600D connected to a communication partner, using a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, a table of each line's contracted-bandwidth / receiving-connection-number /bandwidth-per-connection 2702, and a table recording lines used by each communication route 2703, in the case where there are a line X with contracted bandwidth of "10", a line Y with contracted bandwidth of "8", and a line Z with contracted bandwidth of "3"; there are the line X and the line Y in the communication route A; and there are the line X and the line Z in the communication route B.
  • The reception information notification unit 2704 of an apparatus 2700 calculates data receiving connection number with respect to each line, using lines used by each communication route described in a table recording lines used by each communication route 2703, and receiving connection number of one's own apparatus described in a table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, to initialize receiving connection number (total number, number already assigned, and number not assigned) of a table of each line's contracted-bandwidth / receiving-connection-number / bandwidth-per-connection 2702, and calculate not assigned bandwidth per connection (step 2901).
  • The apparatus 2700 sets total control bandwidth of the shaper B to be 1.0×3=3.0, using the facts that the not assigned bandwidth per connection of the line Z is 1.0, which is minimum and that total data receiving connection numbers of the communication route B including the line Z is 3.0 (step 2902).
  • Further, because the lines X/Z are lines used by the communication route B, it adds total data receiving connection number of the communication route "3" and total control bandwidth "3.0" as already assigned contacted bandwidth and already assigned receiving connection number of the lines X and Z, to a table of each line's contracted-bandwidth /receiving-connection-number / bandwidth-per-connection 2702, to recalculate not assigned bandwidth per connection (step 2903).
  • The apparatus 2700 sets to 3.5×2=7.0 total control bandwidth of the communication route A, using the facts that the not assigned bandwidth per connection of the line X after recalculation is 3.5, which is minimum and that total receiving connection numbers of the communication route A including the line X is 2 (step 2904).
  • The total control bandwidth and the total receiving connection number of respctive resultant communication routes are notified to the feedback notification packet generation unit 1603 to prepare a notification packet toward the all addresses described in a feedback notification address table 1604. Further, it is fed back to be notified to the data transmission side apparatus 1600C/D, Embodiment 5 being applied to the data transmission side apparatus 1600C/D.
  • The transmission side apparatus 1600C/D controls the transmission bandwidth based on the total control bandwidth and total receiving connection number described in the feedback-notification packet received.
  • Provided that a terminal which the apparatus 2700 is connected to is a server terminal, and a terminal which the apparatus 1600C/D is connected to is a client terminal, an apparatus connected to the client terminal becomes not necessary to perform feedback notification or mutual notification. Thus it becomes possible to share information on connection number irrespective of a status of an apparatus connected to the client terminal.
  • As described above, by performing bandwidth control by adding information on transmitting connection number notified from other apparatuses as well as information on receiving connection number notified from other apparatuses, the bandwidth control can more reflect communication environment.
  • EMBODIMENT 9
  • With reference to Fig. 30 and Fig. 31 is explained an embodiment of the apparatus 3000 installed at connection of LAN and WAN measures collectively-contracted-bandwidth /data-transmitting-connection-number / data-receiving-connection-number of a line used by a communication route, unilaterally notifies measurement results to other apparatuses connected to the same LAN, and mutually notifies to other apparatuses connected to other WAN and vice versa.
  • Fig. 30 shows a block diagram of the apparatus 3000. The apparatus 3000 is configured by using the apparatus 2700 described in Embodiment 8 as the base, deleting blocks relating to retransmission function and bandwidth control function, and changing the TX unit to an outbound unit 3004, and the RX unit to an inbound unit 3003; and is provided with an inbound information management unit 3001 for measuring a connection number in a direction from WAN toward LAN, instead of the reception information notification unit 2704, an outbound information management unit 3002 for measuring a connection number in a direction from LAN toward WAN, instead of the transmission bandwidth control unit 113, a table of each communication route's outbound connection numbers of one's own apparatus and other apparatuses 3008, instead of the table of each communication route's transmitting connection numbers of one's own apparatus and other apparatuses 2401, a table of each communication route's inbound connection number of one's own apparatus and other apparatuses 3005, instead of the table of each communication route's receiving connection number of one's own apparatus and other apparatuses 2701, a table of each line's contracted-bandwidth / outbound-connection-number / bandwidth-per-connection 3007, instead of table of each line's contracted-bandwidth /transmitting-connection-number / bandwidth-per-connection 2202, and a table of each line's contracted-bandwidth / inbound-connection-number / bandwidth-per-connection 3006, instead of table of each line's contracted-bandwidth / receiving-connection-number / bandwidth-per-connection 2702.
  • The outbound information management unit 3002 updates a table of each line's contracted-bandwidth / outbound-connection-number / bandwidth-per-connection 3007, and a table of each communication route's outbound connection numbers of one's own apparatus and other apparatuses 3008, by a similar method as the transmission bandwidth control unit 113, and notifies outbound connection number of own apparatus to the mutual notification packet generation unit.
  • The inbound information management unit 3001 updates a table of each line's contracted-bandwidth / inbound-connection-number / bandwidth-per-connection 3006, and a table of each communication route's inbound connection number of one's own apparatus and other apparatuses 3005, by a similar method as the reception information notification unit 2704, and notifies inbound connection number of own apparatus to the mutual notification packet generation unit, as well as notifies total control bandwidth of one's own apparatus, and number of total inbound connections to the feedback notification packet generation unit.
  • The mutual notification packet generation unit 2402 outputs the notification packet to both a WAN side and a LAN side. The feedback notification packet generation unit 1603 outputs the notification packet only to the WAN side.
  • Fig. 31 represents a notifying direction of statistical information between apparatuses.
  • A statistical information collection apparatus 3000 unilaterally notifies inbound connection number of the communication route A and the communication route B to the apparatus 2400 X/Y, Embodiment 7 being applied to the apparatus 2400 X/Y. The apparatus 2400 X/Y performs bandwidth control by subtracting transmitting connection number of one's own apparatus from connection number described in the notification packet from the apparatus 3000 to obtain transmitting connection number of other apparatuses.
  • In addition, the statistical information collection apparatus 3000 and another statistical information collection apparatus 3000' installed at a connection part of other LAN and WAN mutually notifies information on inbound connection number and outbound connection number of each communication route.
  • Further, the statistical information collection apparatus 3000 notifies inbound connection number and total inbound control bandwidth to an apparatus 1600E, Embodiment 5 being connecting to a terminal and applied to the apparatus 1600E connecting to a terminal.
  • By using the above statistical information collection apparatus, the bandwidth control based on information on transmitting and receiving connection numbers notified from an apparatus, is attained, in the case where many apparatuses are present within a base, the bandwidth control can more reflect the communication environment while reducing the notification number.
  • EMBODIMENT 10
  • In Fig. 32 is shown an embodiment of one apparatus 3200 configured by connecting plurality of apparatuses 2400/2700 to a switch HUB.
  • Because a plurality of apparatuses can share the table for managing information on connection number, the present embodiment can reduce cost.
  • EMBODIMENT 11
  • In Fig. 33 is shown an embodiment of a system for mutually notifying information on connection number to be used for bandwidth control, between a central apparatus and other apparatuses, by installing a plurality of apparatuses 2400/2700 described in Embodiment 7 or Embodiment 8.
  • Because information concentrated to a central apparatus is redistributed to each apparatus, the present embodiment can reduce communication times as compared with mesh-like mutual notification.
  • EMBODIMENT 12
  • With reference to Fig. 34 is explained an embodiment of a system of mutual loop-like notification of information on connection number to be used for bandwidth control, by installing a plurality of apparatuses 2400/2700 described in Embodiment 7 or Embodiment 8.
  • The present Embodiment can reduce communication times as compared with mesh-like mutual notification.
  • As clarified by the above various embodiments, in performing communication between a certain communication terminal and another communication terminal, by taking over bandwidth control of communication or retransmission control by two or more apparatuses installed among a plurality of communication terminals, speed up of communication can be attained.
    Although description has been given on embodiments, the present invention should not be limited to those embodiments, and it is apparent to a person skilled in the art that various changes and modifications may be made within the spirit of the invention and the scope of the appended claims.
  • REFERENCE SIGNS LIST
  • 100
    Apparatus
    101
    Terminal
    800
    Apparatus
    900
    Apparatus
    1200
    Apparatus
    1600
    Apparatus
    2200
    Apparatus
    2400
    Apparatus
    2700
    Apparatus
    3000
    Apparatus

Claims (20)

  1. A first communication apparatus to be connected to a network comprising:
    a bandwidth control unit for controlling transmission bandwidth to send a packet, based on a retransmission status of a packet transmitted from the first communication apparatus via the network to a second communication apparatus; and
    a transmission unit for sending a packet to the network, according to the controlled transmission bandwidth.
  2. The first communication apparatus according to claim 1, wherein
    the bandwidth control unit controls the transmission bandwidth, based on retransmission bandwidth assigned to retransmission included in the retransmission status of the packet.
  3. The first communication apparatus according to claim 1, wherein
    the bandwidth control unit acquires a communication status of the transmitted packet, and controls the transmission bandwidth, based on the acquired communication status.
  4. The first communication apparatus according to claim 3, wherein:
    the communication status includes reception information indicating whether or not the transmitted packet has been received by the second communication apparatus; and
    the bandwidth control unit detects that a packet has not received, based on the reception information, and controls the transmission bandwidth, based on the detection result.
  5. The first communication apparatus according to claim 1, wherein
    the first communication apparatus receives a reception status acknowledgement relating to reception of the transmitted packet, from the second communication apparatus, and detects a discard status on the network of the packet transmitted to the second communication apparatus, from the reception status acknowledgement; and
    the bandwidth control unit controls the transmission bandwidth, from discard bandwidth determined based on the discard status and retransmission bandwidth determined based on the retransmission status.
  6. The first communication apparatus according to any of claims 1 to 5, wherein
    the first communication apparatus is connected to one or more information processing apparatuses; and
    the transmission control unit transmits a packet including information transmitted by the information processing apparatuses, according to the transmission bandwidth.
  7. The first communication apparatus according to claim 5, wherein
    the discard bandwidth is obtained by summing discarded segments from the discard status.
  8. The first communication apparatus according to claim 1, wherein
    the bandwidth control unit further controls the transmission bandwidth, based on a connection number of packets received from the network.
  9. The first communication apparatus according to claim 1, wherein
    the bandwidth control unit measures a packet retransmitting connection number, and controls the transmission bandwidth, based on the packet retransmitting connection number.
  10. A communication apparatus for transmitting a packet to other communication apparatuses via a network, wherein
    the communication apparatus
    holds a table for recording a contracted bandwidth, a packet transmitting connection number, and a contracted bandwidth per connection with respect to each line used by a communication route to the other communication apparatuses via the network; and
    comprises
    a bandwidth control unit for controlling transmission bandwidth to transmit a packet, based on a minimum value of the contracted bandwidth per connection, and
    a packet transmission unit for transmitting a packet, according to the transmission bandwidth.
  11. The communication apparatus according to claim 10, wherein
    the bandwidth control unit acquires each communication route's packet transmitting connection number, from a plurality of other communication apparatuses, and performs bandwidth control of the transmission bandwidth, based on a minimum value of contracted bandwidth per connection.
  12. The communication apparatus according to claim 11, wherein
    the acquired connection number is written in the table.
  13. The communication apparatus according to claim 11, wherein
    a connection number included in the table is associated with each communication direction, and
    a connection number with the other communication apparatuses is notified to one or more of the other communication apparatuses.
  14. The communication apparatus according to claim 11, wherein
    collecting, from two or more of the other communication apparatuses, a communicating connection number which each of the other communication apparatuses holds.
  15. The communication apparatus according to claim 10, wherein
    the communication apparatus further notifies acquired connection numbers and connection numbers memorized in the table to another communication apparatus.
  16. A communication system comprising a first communication apparatus and other communication apparatuses, wherein
    the first communication apparatus comprises:
    a first holding unit for holding a table for recording a contracted bandwidth, a packet transmitting connection number, and a contracted bandwidth per connection, with respect to each line used by a communication route to other communication apparatuses via a network;
    a first bandwidth control unit for acquiring each communication route's packet communicating connection number, from a plurality of other communication apparatuses, and controlling transmission bandwidth to transmit a packet, based on a minimum value of contracted bandwidth per connection; and
    a packet transmission unit for transmitting a packet to the other communication apparatuses, according to the transmission bandwidth; and
    the other communication apparatuses comprises:
    a packet reception unit for receiving a packet from the first communication apparatus;
    a second holding unit for holding a table for recording a contracted bandwidth, a packet communicating connection number, and a contracted bandwidth per connection with respect to each line used by a communication route to the first communication apparatus via a network; and
    a second bandwidth control unit for acquiring each communication route's packet transmitting connection number, from a plurality of other communication apparatuses, and controlling transmission bandwidth to transmit a packet, based on a minimum value of contracted bandwidth per connection.
  17. The communication system according to claim 16, wherein
    a connection number held by the first holding unit is each communication route's packet transmitting connection number, and
    a connection number held by the second holding unit is each communication route's packet receiving connection number.
  18. The communication system according to claim 16, wherein
    the first communication apparatus and the other communication apparatuses are connected via a switching HUB.
  19. A communication system comprising a first communication apparatus and a second communication apparatus to be connected to the first communication apparatus via a network, wherein
    the first communication apparatus comprises:
    a bandwidth control unit for controlling transmission bandwidth to send a packet, based on a retransmission status of a packet transmitted from the first communication apparatus via the network to the second communication apparatus; and
    a transmission unit for sending a packet to the network, according to the controlled transmission bandwidth.
  20. The communication system according to claim 19, wherein
    the first communication apparatus
    receives a reception status acknowledgement relating to reception of the transmitted packet, from the second communication apparatus, and
    detects a discard status on the network of the packet transmitted to the second communication apparatus, from the reception status acknowledgement; and
    the bandwidth control unit controls transmission bandwidth, from discard bandwidth determined based on the discard status and retransmission bandwidth determined based on the retransmission status.
EP10817007.7A 2009-09-16 2010-08-19 Communication apparatus and communication system for enhancing speed of communications between terminals Active EP2479941B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009214015 2009-09-16
PCT/JP2010/063973 WO2011033894A1 (en) 2009-09-16 2010-08-19 Communication apparatus and communication system for enhancing speed of communications between terminals

Publications (3)

Publication Number Publication Date
EP2479941A1 true EP2479941A1 (en) 2012-07-25
EP2479941A4 EP2479941A4 (en) 2016-02-17
EP2479941B1 EP2479941B1 (en) 2019-07-03

Family

ID=43758507

Family Applications (1)

Application Number Title Priority Date Filing Date
EP10817007.7A Active EP2479941B1 (en) 2009-09-16 2010-08-19 Communication apparatus and communication system for enhancing speed of communications between terminals

Country Status (8)

Country Link
US (2) US8605745B2 (en)
EP (1) EP2479941B1 (en)
JP (3) JP5175982B2 (en)
CN (1) CN102577267B (en)
BR (1) BR112012004468A2 (en)
MX (1) MX2012002558A (en)
SG (1) SG178590A1 (en)
WO (1) WO2011033894A1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577267B (en) * 2009-09-16 2014-12-24 株式会社日立制作所 Communication apparatus and communication system for enhancing speed of communications between terminals
JP5662779B2 (en) * 2010-12-07 2015-02-04 株式会社日立製作所 Communication system and node device
JP5264966B2 (en) * 2011-07-26 2013-08-14 株式会社日立製作所 Communication device
JP5258938B2 (en) 2011-07-26 2013-08-07 株式会社日立製作所 Communication device
JP5832335B2 (en) 2012-02-24 2015-12-16 株式会社日立製作所 Communication apparatus and communication system
WO2013125096A1 (en) 2012-02-24 2013-08-29 株式会社日立製作所 Communication device
CN103404100B (en) * 2012-02-28 2016-02-17 阿拉克斯拉网络株式会社 The control method of relay, relay and network system
JP5998923B2 (en) * 2012-12-28 2016-09-28 富士通株式会社 Program, information processing apparatus, and communication method
JP5771656B2 (en) * 2013-09-05 2015-09-02 アラクサラネットワークス株式会社 Relay device
US9455901B2 (en) 2013-10-04 2016-09-27 Nicira, Inc. Managing software and hardware forwarding elements to define virtual networks
JP2015095680A (en) * 2013-11-08 2015-05-18 株式会社日立製作所 Communication device and communication system
US9942058B2 (en) 2015-04-17 2018-04-10 Nicira, Inc. Managing tunnel endpoints for facilitating creation of logical networks
US10554484B2 (en) 2015-06-26 2020-02-04 Nicira, Inc. Control plane integration with hardware switches
US9847938B2 (en) 2015-07-31 2017-12-19 Nicira, Inc. Configuring logical routers on hardware switches
US9967182B2 (en) 2015-07-31 2018-05-08 Nicira, Inc. Enabling hardware switches to perform logical routing functionalities
US9819581B2 (en) 2015-07-31 2017-11-14 Nicira, Inc. Configuring a hardware switch as an edge node for a logical router
US10313186B2 (en) * 2015-08-31 2019-06-04 Nicira, Inc. Scalable controller for hardware VTEPS
US10230576B2 (en) 2015-09-30 2019-03-12 Nicira, Inc. Managing administrative statuses of hardware VTEPs
US9948577B2 (en) 2015-09-30 2018-04-17 Nicira, Inc. IP aliases in logical networks with hardware switches
US10263828B2 (en) 2015-09-30 2019-04-16 Nicira, Inc. Preventing concurrent distribution of network data to a hardware switch by multiple controllers
US9998324B2 (en) 2015-09-30 2018-06-12 Nicira, Inc. Logical L3 processing for L2 hardware switches
US10250553B2 (en) 2015-11-03 2019-04-02 Nicira, Inc. ARP offloading for managed hardware forwarding elements
US9998375B2 (en) 2015-12-15 2018-06-12 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US9917799B2 (en) 2015-12-15 2018-03-13 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US9992112B2 (en) 2015-12-15 2018-06-05 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US10182035B2 (en) 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
US10798743B2 (en) * 2017-04-21 2020-10-06 Qualcomm Incorporated Methods and systems for improved resource unit utilization

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505034B1 (en) * 1999-12-20 2003-01-07 Nokia Ip Inc. Adaptive ARQ feedback bandwidth allocation
JP2002247063A (en) * 2001-02-22 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> Packet multiplexing system
US20030112821A1 (en) * 2001-12-14 2003-06-19 Samsung Electronics Co., Ltd. System and method for increasing a data transmission rate in mobile wireless communication channels
JP2004048450A (en) * 2002-07-12 2004-02-12 Nippon Telegr & Teleph Corp <Ntt> Stream distribution method, client terminal, device, system, program, and recording medium recording the program
JP2004080070A (en) 2002-08-09 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> Data transfer method, data transfer system and content distribution system
CN100553217C (en) 2003-07-11 2009-10-21 日本电气株式会社 Transport layer trunking method and transport layer trunking
JP4250036B2 (en) 2003-08-08 2009-04-08 富士通株式会社 Media transmission method and media transmission apparatus
TWI291622B (en) * 2005-08-11 2007-12-21 Ic Plus Corp Controller and method for per-flow rate
JP4799202B2 (en) * 2006-02-08 2011-10-26 株式会社エヌ・ティ・ティ・ドコモ base station
JP4755066B2 (en) * 2006-10-30 2011-08-24 富士通株式会社 BAND CONTROL DEVICE AND BAND CONTROL METHOD
JP5056341B2 (en) * 2006-11-07 2012-10-24 富士通株式会社 Communication relay device, communication relay method, and communication relay processing program
JP4367505B2 (en) * 2007-03-06 2009-11-18 日本電気株式会社 Communication terminal, communication system, congestion control method, and congestion control program
CN101296167B (en) * 2007-04-23 2011-04-20 中兴通讯股份有限公司 Method for requesting burst distribution transmission bandwidth for ascending mixed automatic re-transmission
JP2009044273A (en) * 2007-08-06 2009-02-26 Panasonic Corp Radio communication device, and communication band control method
JP2009214015A (en) 2008-03-11 2009-09-24 Kobayashi Seiji Method and apparatus for treating waste by carbonization and sintering
CN102577267B (en) * 2009-09-16 2014-12-24 株式会社日立制作所 Communication apparatus and communication system for enhancing speed of communications between terminals

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2011033894A1 *

Also Published As

Publication number Publication date
US20140071986A1 (en) 2014-03-13
EP2479941A4 (en) 2016-02-17
JP2013070434A (en) 2013-04-18
JP5175982B2 (en) 2013-04-03
JP5521059B2 (en) 2014-06-11
BR112012004468A2 (en) 2019-09-24
SG178590A1 (en) 2012-04-27
MX2012002558A (en) 2012-08-31
WO2011033894A1 (en) 2011-03-24
CN102577267A (en) 2012-07-11
CN102577267B (en) 2014-12-24
JPWO2011033894A1 (en) 2013-02-14
US8605745B2 (en) 2013-12-10
JP5521060B2 (en) 2014-06-11
US20120189006A1 (en) 2012-07-26
US9118609B2 (en) 2015-08-25
EP2479941B1 (en) 2019-07-03
JP2013062886A (en) 2013-04-04

Similar Documents

Publication Publication Date Title
EP2479941A1 (en) Communication apparatus and communication system for enhancing speed of communications between terminals
KR101746629B1 (en) Communication apparatus and communication method
JP5544430B2 (en) Communication apparatus and communication system
US7986628B2 (en) Communication apparatus and program therefor, and data frame transmission control method
US8503294B2 (en) Transport layer relay method, transport layer relay device, and program
JP3604615B2 (en) Communication device, relay device, and communication control method
US8843654B2 (en) Data packet transfer over wide area network in fast and reliable manner
US20030219014A1 (en) Communication quality assuring method for use in packet communication system, and packet communication apparatus with transfer delay assurance function
EP2819353A1 (en) Communication device
JP2001285400A (en) Correcting method of traffic statistics information
US8681617B2 (en) Communication device
CN111435866A (en) Data transmission method and related device
JP5832335B2 (en) Communication apparatus and communication system
JP3953343B2 (en) Wireless packet communication device and wireless packet communication method
JP5539161B2 (en) Data transmission method and multi-site data distribution method
WO2015022809A1 (en) Communication device and transmission band control method
JPH08293887A (en) Device for recognizing transmission and arrival
JP2005340991A (en) Data transmission system and method for selecting transmission path

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20120309

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
RA4 Supplementary search report drawn up and despatched (corrected)

Effective date: 20160118

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602010059878

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: H04L0012560000

Ipc: H04L0029060000

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 29/06 20060101AFI20190108BHEP

Ipc: H04L 1/18 20060101ALI20190108BHEP

INTG Intention to grant announced

Effective date: 20190122

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

RIN1 Information on inventor provided before grant (corrected)

Inventor name: ISOBE, TAKASHI

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 1152343

Country of ref document: AT

Kind code of ref document: T

Effective date: 20190715

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602010059878

Country of ref document: DE

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20190703

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1152343

Country of ref document: AT

Kind code of ref document: T

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191003

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191104

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191003

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191004

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191103

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190819

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190831

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200224

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190831

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20190831

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602010059878

Country of ref document: DE

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG2D Information on lapse in contracting state deleted

Ref country code: IS

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190819

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190903

26N No opposition filed

Effective date: 20200603

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20190831

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20100819

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602010059878

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190703

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20230629

Year of fee payment: 14

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20230627

Year of fee payment: 14