[go: up one dir, main page]

WO2005006673A1 - 帯域制御装置 - Google Patents

帯域制御装置 Download PDF

Info

Publication number
WO2005006673A1
WO2005006673A1 PCT/JP2003/008975 JP0308975W WO2005006673A1 WO 2005006673 A1 WO2005006673 A1 WO 2005006673A1 JP 0308975 W JP0308975 W JP 0308975W WO 2005006673 A1 WO2005006673 A1 WO 2005006673A1
Authority
WO
WIPO (PCT)
Prior art keywords
bandwidth
acknowledgment
value
total
control device
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.)
Ceased
Application number
PCT/JP2003/008975
Other languages
English (en)
French (fr)
Inventor
Yoshio Tamura
Yasuo Tezuka
Akio Yaba
Masanori Hashimoto
Kiyotaka Suzuki
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005503871A priority Critical patent/JP4128198B2/ja
Priority to PCT/JP2003/008975 priority patent/WO2005006673A1/ja
Publication of WO2005006673A1 publication Critical patent/WO2005006673A1/ja
Priority to US11/270,348 priority patent/US20060056300A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • 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]
    • 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

Definitions

  • the present invention relates to a band control device, and particularly to a band control device in an IP network such as the Internet.
  • FIG 18 shows a typical network configuration.
  • This network includes an Internet 300 including routers 110z_5 to 110z-8, an Internet service provider (ISP) 310-1 including routers 110z_1 to 110z_4, and a server 500 having contents 510-1.
  • the ISP 310 is connected to the ISP 310-1 to which the server _1 is connected, the ISP 310-3 to which the server 500_2 having the content 510_2 is connected, and the ISP 310_4 to which the user terminal 200-14 having the content 210 is connected.
  • ISP Internet service provider
  • the Internet 300 is connected to the ISP 310-1 via the router 110z_5 and the router ⁇ -1. Further, the Internet 300 is connected to ISPs 310-2 to 310-4 via routers # 6 to # 8-8, respectively.
  • a user terminal 200_3 is connected to the router # 2, and user terminals 200_1 and 200_2 are connected to the router 110z-13.
  • the user terminal 200_1 respectively establishes sessions 410-1 to 410_3 between the server 500_1, the server 500_2, and the user terminal 200-14 (hereinafter, may be collectively referred to by reference numeral 410).
  • the contents 510_1 to 510_3 (hereinafter 510 In some cases. ) Download the data file.
  • FIG. 19 shows the format of the TCP / IP packet 700 used in establishing the session 410 and downloading the data file in FIG.
  • the TCP / IP bucket 700 is composed of an IP header (IPv4 header in this example) 710, a TCP header 720, and data 730.
  • IP header IPv4 header in this example
  • the IP header 710 includes a service type 710a, a source address 710b, a destination address 710c, and the like.
  • the TCP header 720 includes a source port number 720a, a destination port number 720b, a sequence number 720c, an acknowledgment number 720d, a control 720e, a window 720f, and an option 720g.
  • the control 720e includes an acknowledgment (ACK) bit 720el and an establishment request (SYN) bit 720e2, and the option 720g includes an MSS (Max Segment Size: the maximum size of the data portion of the TCP segment (for a MAC frame, 1460Byte;), not shown.
  • FIG. 20 shows an operation procedure when the content 510_1 is downloaded from the user terminal 200_1 server 500_1 in FIG. This procedure will be described below.
  • Step T900 (T901 to T903): A three-way handshake is performed between the user terminal 200_1 and the server 500_1. In the three-way handshake, control data is exchanged in order to establish a bidirectional session between the user terminal 200_1 and the server 500_1. In this case, the three-way handshake goes from the server 500-1 to the user terminal 200_1. Mainly shows control data for session establishment.
  • ACK acknowledgment bit
  • Step T906 Thereafter, the data packet 700 is transmitted from the server 500_1 to the user terminal 200_1 according to the slow start algorithm, but the description is omitted here.
  • FIG. 21 shows a session 410_1 (410) passing through the routers 110z_3, 110z-1, 110z_5, and ⁇ -6 in order to download the contents 510-1 of the user terminal 200-1 server 500_1 in the network shown in FIG. — La, 410—lb) and routers ⁇ ⁇ —3, ⁇ ⁇ —1, ⁇ ⁇ —5, and 110z-17 to download the content 510_2 of the user terminal 200-2
  • session 410_3 (410-3a, 410_3b) has been established via routers 2, ⁇ —2, 110z_l, 110z_5, and 110z_8.
  • the session 410_4 (410-4a, 410_4b) and the session 410_5 (410-5a, 410__5b) and the session 410_4 (410-4a, 410__5b) are executed in parallel with the session 410_1 in order to download the content 510_1 of the user terminal 200_1 and the server 500-1 at high speed.
  • the bandwidth of the router 110z_l becomes insufficient and packet congestion occurs.
  • the buckets of the session 410_2 and the session 410_3 (shown by broken lines) are discarded.
  • a TCP bucket retransmission is performed on the discarded packet, and this retransmission increasingly causes congestion of the bucket.
  • DiffServ Differenciated Service
  • DiffServe is a technology that assigns priority to packets and controls the priority of relay processing inside the Internet.
  • the T0S field prepared in the header of the IP packet is redefined as a new DS (diffserve) field, and the bucket priority is described in this field.
  • policing function that discards buckets with low priority in the event of congestion.
  • shaving function that eliminates burstiness by keeping the output data rate constant.
  • Conventional bandwidth control techniques in the TCP layer include methods such as (1) a slow start algorithm and (2) a congestion avoidance algorithm.
  • the slow start algorithm sends data up to 1 MSS in one round trip time of the TCP segment (hereinafter sometimes referred to as a packet) in the first stage of data transmission, and then returns an acknowledgment. It is an algorithm that increases the number of minutes and sends it.
  • the congestion avoidance algorithm is an algorithm that increases the amount of transmission data by 1 MSS during one round trip time of a TCP segment.
  • an information communication terminal device eg, server, computer, etc.
  • an information communication network that integrates and handles streams
  • a bandwidth control method for stream-type communication such as multimedia data such as audio and video, and computer data. Then there are the following:
  • bandwidth control means is provided independently of the communication application, and this means calculates a value obtained from a bandwidth desired by the user and a bandwidth required by the communication application to be used as a required bandwidth of the information communication terminal device. If the requested bandwidth is less than or equal to the available bandwidth of the transmission line at that time, the transmission and reception of the stream of the communication application is started after reserving the bandwidth of the transmission path. reject the communication request (e.g., see Patent Document 1.) 0
  • this bandwidth control method is to reserve a user required bandwidth to the information communication terminal apparatus, if there is no bandwidth user request is rejected However, it is not fair to users, and congestion drops in the network also occur.
  • router transmission bandwidths and router resources do not guarantee the total sum of all user line bandwidths, causing problems such as congestion discarding and network congestion collapse.
  • TCP congestion control is performed on a session-by-session basis, causing unfairness between users who have multiple sessions and those who do not. Also, some users may steal bandwidth by intentionally setting a large window size.
  • an object of the present invention is to eliminate discarding the packet of each user in a bandwidth control device in an IP network such as the Internet, and to allocate a bandwidth to users fairly. Disclosure of the invention
  • a bandwidth control device of the present invention includes a bandwidth measuring unit that measures a total bandwidth of one or a plurality of TCP sessions for each user, wherein the total bandwidth exceeds a preset maximum bandwidth value. And a window size changing unit for reducing a window size of a TCP session acknowledgment bucket of a user whose total bandwidth exceeds the maximum bandwidth value. .
  • FIG. 1 shows the principle of the band control device of the present invention.
  • User terminal 200—1 power s, for example, when downloading files from servers 500—1 and 500—2, respectively, there are three TCP sessions 410—1 to 410 between user terminal 200—1 and server 500_1. — 3 is established, and one TCP session 410_4 is established between the user terminal 200_1 and the server 500_2. That is, one or more TCP sessions are established, and files are downloaded via these TCP sessions 410_1 to 410-4. Similarly, when downloading files to user terminals 200_2 and 200—3, One or more TCP sessions are established (not shown).
  • the bandwidth measuring unit measures the total value (total bandwidth) of the bandwidth of each TCP session 410-1 to 410-4 of the user terminal 200-1.
  • the determination unit determines whether the total bandwidth exceeds a preset maximum bandwidth value, and notifies the window size change unit of the determination result.
  • the window size changing unit decreases the window size (see FIG. 20) of the acknowledgment packet of the TCP sessions 410_1 to 410-4 of the user terminal 200-1.
  • the preset maximum throughput value may be the same value for all users or a different value for each user.
  • the determining unit determines whether the total bandwidth exceeds a preset band limit release value, and the window size changing unit determines that the total bandwidth is It is possible to increase the window size of TCP session acknowledgment packets for users who do not exceed the value.
  • the determination unit determines whether or not the total bandwidth of each user exceeds a preset bandwidth limitation release value, and if not, notifies the bandwidth limiting unit of the user who has not exceeded it.
  • the window resizing unit increases the window size of the notified user's TCP session acknowledgment bucket.
  • a bandwidth control device of the present invention includes a bandwidth measuring unit that measures a total bandwidth of one or more TCP sessions for each user, and a maximum bandwidth value in which the total bandwidth is set in advance.
  • the bandwidth measurement unit The value of the sum of the bandwidths of the terminals 410_1 to 410_4 (total bandwidth) is measured, and the determination unit determines whether or not this parameter exceeds the preset maximum bandwidth value, and confirms the response of the determination result. Notify the time change unit.
  • the acknowledgment time changing unit sends an acknowledgment bucket 700_1 ′ of the user terminal 200_1, for example, the acknowledgment bucket 700_1 ′ of the TCP session 410_1 delayed to the server 500_1.
  • the transmission timing delay of the data bucket (not shown) transmitted from the server 500-1 to the user terminal 200-1 that is, the total bandwidth of the user terminal 200_1 decreases, and the packet of any user is transmitted.
  • Bandwidth can be allocated fairly among users without discarding.
  • the determining unit determines whether or not the total bandwidth exceeds a preset bandwidth limit release value, and the acknowledgment time changing unit determines that the total bandwidth is equal to the bandwidth limit. It is possible to reduce or eliminate the delay amount of the TCP session acknowledgment packet of the user who does not exceed the release value for the predetermined time.
  • the determination unit determines whether or not the total bandwidth of each user has exceeded a preset bandwidth limit release value, and if not, notifies the acknowledgment time change unit of the user who has not exceeded it.
  • the acknowledgment time change unit reduces or eliminates the transmission time delay of the notified user's TCP session acknowledgment bucket.
  • the predetermined time can be determined based on a time from when the acknowledgment packet is received to when a data packet for the acknowledgment bucket is received.
  • the round trip time from when the acknowledgment packet is received from the user side to when the data packet corresponding to the acknowledgment packet is received from the server, for example, is measured and determined based on this time. Only twice as long, then delay the received acknowledgment and response packets.
  • the round trip time may be an average round trip time obtained by averaging a plurality of round trip times.
  • the bandwidth control device of the present invention provides one or more Is a bandwidth measuring unit that measures the total bandwidth of a plurality of TCP sessions and calculates the total bandwidth obtained by summing up the total bandwidth of all users, and the total bandwidth exceeds a maximum bandwidth limit determined based on the bandwidth of the entire device. And a bandwidth limiting unit that limits the bandwidth for each user only when the total bandwidth exceeds the maximum bandwidth limit value.
  • the bandwidth measurement unit measures the total bandwidth of each user, and calculates the total bandwidth obtained by summing the total bandwidth of all users.
  • the bandwidth value is determined in advance as the maximum bandwidth limit value, and the determining unit determines whether or not the total bandwidth exceeds the maximum bandwidth limit value. Only when the maximum bandwidth limit is exceeded, the bandwidth is limited for each user. This makes it possible to eliminate packet discard.
  • the band limiting unit may be a window size changing unit that reduces a window size of a TCP session acknowledgment packet when the total bandwidth exceeds the maximum bandwidth limit value.
  • the window size changing unit may be used as the bandwidth limiting unit to reduce the window size of the TCP session acknowledgment bucket when the total bandwidth exceeds the maximum bandwidth limit value.
  • the determination unit determines whether the total bandwidth exceeds a preset bandwidth limitation release value equal to or less than the maximum bandwidth limitation value
  • the window size changing unit includes: The window size of the TCP session acknowledgment bucket for users whose total bandwidth does not exceed the bandwidth limit release value may be increased.
  • the bandwidth limiting unit may be an acknowledgment time changing unit that delays a TCP session acknowledgment packet when the total bandwidth exceeds the maximum bandwidth limit value.
  • the acknowledgment time changing unit is used as the bandwidth limiting unit to delay the TCP session acknowledgment packet when the total bandwidth exceeds the maximum bandwidth limit value. Further, in the above invention, the determination unit determines whether or not the total bandwidth exceeds a preset bandwidth limitation release value equal to or less than the maximum bandwidth limitation value,
  • the acknowledgment time changing unit may reduce or eliminate the time delay amount of the TCP session acknowledgment bucket of a user whose total bandwidth does not exceed the bandwidth limit release value.
  • the bandwidth measurement unit may be configured to perform, from the first acknowledgment and response to one or more first data packets, to the second acknowledgment to one or more second data packets after the first acknowledgment.
  • a timer for measuring the time between acknowledgments a counting unit for counting the data length of the one or more second data buckets, and a value obtained by dividing the total data length by the time between acknowledgments as a bandwidth value
  • a calculation unit that performs the calculation. That is, the timer measures the time between acknowledgments from the first acknowledgment for one or more first data packets to the second acknowledgment for one or more second data buckets after the first acknowledgment. I do.
  • the counting unit measures the data length from the first acknowledgment to the second acknowledgment based on the acknowledgment number included in the first acknowledgment and the second acknowledgment, for example.
  • the data length may be measured based on the data bucket received from the first acknowledgment to the second acknowledgment.
  • the calculation unit sets a value obtained by dividing the total data length of one or a plurality of second data packets transmitted from the first acknowledgment to the second acknowledgment by the time between acknowledgments as a bandwidth value. Thereby, for example, the bandwidth of the TCP session can be measured.
  • FIG. 1 is a block diagram showing the principle of the band control device according to the present invention.
  • FIG. 2 is a block diagram showing an embodiment (1: window size change) of the bandwidth control device according to the present invention.
  • FIG. 3 is a sequence diagram showing an operation procedure example (1) of a window size change in the bandwidth control device according to the present invention.
  • FIG. 4 is a diagram showing an example (1) of a management table for window size change in the bandwidth control device according to the present invention.
  • FIG. 5 is a sequence diagram showing an operation procedure example (2) of changing a window size in the bandwidth control device according to the present invention.
  • FIG. 6 is a sequence diagram showing an operation procedure example (3) of a window size change in the bandwidth control device according to the present invention.
  • FIG. 7 is a diagram showing an example (1: continued) of a management table of window size change in the bandwidth control device according to the present invention.
  • FIG. 8 is a sequence diagram showing an operation procedure example (4) of changing the window size of the band control device according to the present invention.
  • FIG. 9 is a sequence diagram showing an operation procedure example (5) of changing the window size of the bandwidth control device according to the present invention.
  • FIG. 10 is a sequence diagram showing an operation procedure example (5: continued) of the band control device according to the present invention.
  • FIG. 11 is a block diagram showing an embodiment (2: change of acknowledgment time) of the bandwidth control device according to the present invention.
  • FIG. 12 is a diagram showing an example (2) of a management table for changing the acknowledgment time in the bandwidth control device according to the present invention.
  • FIG. 13 is a sequence diagram showing an operation procedure example (1) of changing the acknowledgment time in the bandwidth control device according to the present invention.
  • FIG. 14 is a diagram showing an example of transition of the total bandwidth in the change of the window size and the change of the acknowledgment time of the bandwidth control device according to the present invention.
  • FIG. 15 is a block diagram showing an example of a network configuration in a case where band control of the entire band control device according to the present invention is performed.
  • FIG. 16 is a diagram showing an example of a management table when the band control of the entire band control device according to the present invention is performed.
  • FIG. 17 shows that optimization after band control was performed in the band control device according to the present invention.
  • FIG. 2 is a block diagram illustrating a network.
  • FIG. 18 is a block diagram showing a network configuration using a general router (bandwidth control device).
  • FIG. 19 is a diagram showing a format of a general TCP / IP packet.
  • FIG. 20 is a sequence diagram showing a data transfer operation procedure in a network using a general band control device.
  • FIG. 21 is a block diagram showing a state of congestion occurrence in a network using a general bandwidth control device.
  • TCP header 720a Transmission is the original port number
  • FIG. 2 shows an embodiment (1) of a bandwidth control device 100a according to the present invention.
  • the bandwidth control device 100a includes a bandwidth measurement unit 10a, a window size change unit 20a, a maximum bandwidth excess determination unit 30, A band value / band limit release value setting unit 40 is provided.
  • the bandwidth measuring unit 10a includes a management table 50a, an IP capture 11, and a TCP capture 12.
  • the management table 50a includes a timer 50a_10.
  • the maximum bandwidth value / bandwidth limit release value setting unit 40 determines the maximum bandwidth value 50a_l and the bandwidth limit release value 50a_2 set in advance in the management table 50 or set by an operator from the outside to exceed the maximum bandwidth.
  • the bandwidth measurement unit 10a measures the total bandwidth 50a-12 for each user based on the acknowledgment bucket 700-a received from the user terminal 200_1, and supplies the total bandwidth 50a-12 to the determination unit 30 and the acknowledgment packet.
  • the packet 700_a is sent to the window size changing unit 20a.
  • the determination unit 30 compares the maximum bandwidth value 50a-1 and the bandwidth limitation release value 50a-12 with the total bandwidth 50a_12, and provides the window size changing unit 20a with a determination result 801 of whether or not to perform bandwidth control.
  • the window size changing unit 20a transmits the acknowledgment packet 700-b in which the window 720f (see FIG. 19) has been changed to the server 500-1. This makes it possible to control the bandwidth (throughput) for each user.
  • FIG. 3 shows an example of an operation procedure of the band control device 100a of the present invention. An example of this operation procedure will be described below.
  • the bandwidth control device 100a is connected between the user terminal 200_1 (IP address: "1.1.1.1.1") and the server 500_1 shown in FIG. Implemented.
  • the bandwidth control device 100a may be mounted on the user terminal 200_1 or the server 500_1.
  • Steps T200 to T203 Similar to steps # 901 to # 903 of the conventional example shown in FIG. 21, in steps T200, T201, and # 203, a three-way handshake in which the buckets 700—21 to 700_23 are transmitted and received is performed, and the user terminal 200 The force S at which session 410-11 is established between —1 and server 500-1 S, the difference being that step # 202 has been added.
  • FIG. 4 shows an embodiment of the management table 50a shown in FIG.
  • the management tables 50a in FIGS. 1A and 1B show a case where only the session 410-1 is established between the user terminal 200-1 and the server 500-1.
  • Step T204 The server 500_1 starts data transfer in which the data bucket 700-24 is addressed to the user terminal 200-1.
  • the user terminal 200-11 sends an acknowledgment response packet (not shown) to the server 500-1.
  • a certain period from the start of data transfer is the slow start period, during which acknowledgment buckets and data buckets are sent and received, but the data transfer volume during the slow start period is smaller than during large capacity transfer. Therefore, illustration and description are omitted because the bandwidth is not measured.
  • the slow start period After the slow start period, it enters the measurement monitoring state (bandwidth measurement for each user).
  • Step T205 The user terminal 200-1 sends an acknowledgment bucket 700_25 to the server 500_1.
  • Step T206 In the bandwidth control device 100a, the bandwidth measurement unit 10a determines that the packet is the acknowledgment packet 700-25 because the acknowledgment bit 720el of the TCP header 720 of the packet 700-25 is "1".
  • the window size changing unit 20a transfers the acknowledgment packet 700_29 to the server 500-1 without changing the window 720f. As described above, when the total bandwidth 50a-12 is smaller than the maximum bandwidth 50a-11, the bandwidth control is not performed.
  • FIG. 5 shows an example of an operation procedure in which a session 410_2 is further established between the user terminal 200-1 and the server 500-1 and data transfer is performed. An example of this operation procedure will be described below.
  • a TCP session is established between the user terminal 200-1 and the server 500-1. If another user tries to download data from the server 500_1 or another server 500-2 at the same time, another TCP session will be established. Can establish a TCP session.
  • Steps T305 and T306 The user terminal 200-1 sends an acknowledgment bucket 700_35 to the server 500_1, and in the bandwidth control device 100a, the bandwidth measuring unit 10a performs the session 50a-3 of the management table 50a, respectively.
  • Step T307 The server 500-1 transmits the data packet 700-36 to the user terminal 200-1.
  • FIG. 6 shows an example of an operation procedure in which a session 410-3 is further established between the user terminal 200_1 and the server 500-1, and data transfer is performed. An example of this operation procedure will be described below.
  • Steps T400 to T403 The three-way handshake is executed, the session 410-3 is established, and the row of the session 410-3 is added to the management table 50a (see FIG. 3C).
  • Step T404 The server 500-1 transmits the data bucket 700_43 to the user terminal 200-1.
  • Steps T405 and T406 The user terminal 200_1 transmits the acknowledgment bucket 700-44 to the server 500_1.
  • the bandwidth measuring unit 10a respectively performs the session 50a-3 in the management table 50a.
  • the bandwidth measuring unit 10a activates the timer 50a_10
  • Fig. 7 shows the management table 50a shown in Fig. 4.
  • the management table 50a further includes information between the user terminal 200-1 and the server 500_1. Data of additionally established sessions 410_3 to 410-5 are registered.
  • Steps T407 to T410 The server 500-1 transmits the data bucket 700-45 to 700-48 to the user terminal 200-1.
  • FIG. 8 shows an example of an operation procedure in which a session 410_4 is further established between the user terminal 200-11 and the server 500_1 to perform data transfer. An example of this operation procedure will be described below.
  • Steps T500 to T504 The same as steps # 400 to # 404 in Fig. 6, the session 410_4 is established, the row of the session 410-4 is added to the management table 50a (see Fig. 7 (1)), and the data bucket 700_53. Is transmitted from the server 500-1 to the user terminal 200-1.
  • FIG. 9 shows an example of an operation procedure in which a session 410-5 is further established between the user terminal 200_1 and the server 500-1, and data transfer is performed. An example of
  • Steps T600 to T604 The same as steps # 400 to # 404 in Fig. 6, the session 410_5 is established, the row of the session 410_5 is added to the management table 50a (see Fig. 7 (1)), and the data bucket 700_73 is Sent from server 500-1 to user terminal 200-1.
  • FIG. 10 shows a continuation of the data transfer in the session 410-5 shown in FIG.
  • the bandwidth control is performed to send the acknowledgment bucket 700_85 of the acknowledgment bucket 700_84 to “4000”, for example, the acknowledgment bucket 700-85 that is halved to “2000” to the server 500-1 (Fig. 2 (2)). See step S13 of;
  • the maximum bandwidth of each user is limited to 2.8 MByte / s, and the total bandwidth is determined regardless of the number of sessions / window size.
  • Embodiment (2) Change of acknowledgment time
  • FIG. 11 shows an embodiment (2) of the band control device 100b according to the present invention.
  • This band controller 100b differs from the band controller 100a shown in FIG. 2 in that an acknowledgment time changing unit 20b and a band measuring unit 10b are used instead of the window size changing unit 20a and the band measuring unit 10a, respectively.
  • the management table 50b constituting the bandwidth measuring unit 10b includes two timers 50b-10 and 50b_12.
  • the bandwidth measuring unit 10b sends the maximum bandwidth value to the maximum bandwidth value / bandwidth limit release value setting unit 40. Giving 50b_l and band limit release value 50b-2 and giving total bandwidth 50b-14 to maximum bandwidth excess determination unit 30 are different.
  • the bandwidth control device 100b is different from the bandwidth control device 100a in that the acknowledgment time change unit 20b determines whether the total bandwidth exceeds the preset maximum bandwidth value 50b_l or the bandwidth limit release value 50b-2. It is to delay the time to transfer the acknowledgment bucket 700_b received for each user based on the determination result.
  • the average response time is used to increase the reliability of the response time.
  • the average response time is calculated by taking into account the discard of received data packets and delay.
  • FIG. 12 shows an example of the management table 50b shown in FIG.
  • the difference between this management table 50b and the management table 50a shown in FIG. 7 is that an average round trip time 50b_10 and a change time 50b-11 are added.
  • the management table 50b is created for each user (IP address) as in the example of the operation procedure of the bandwidth control device 100a shown in FIGS. 3, 5, 6, and 8 to 10, and the bandwidth of the session corresponding to the same user is created. Is measured based on equation (1), and the total bandwidth of all sessions of the user is obtained.
  • the acknowledgment bucket 700 and the data bucket 700 which are the same as the operation procedure of the band control device 100a shown in FIGS.
  • the value set when data is sent to and received from 500_1 is shown.
  • the bandwidth 50b-13 and the total bandwidth 50b-14 are the source port 50a-4 and destination port 50a of each session 410-1 to 410-5 in Fig. 7 (1), respectively.
  • FIG. 13 shows an operation procedure of the band control device 100b. The following is an example of this operation procedure.
  • steps T605 to T618 shown in FIG. 10 after the session 410-5 of the user terminal 200_1 is added, the acknowledgment packet and the data bucket are transmitted and received between the user terminal 200_1 and the server 500-1. You.
  • Step # 700 The user terminal 200-1 sends the acknowledgment bucket 700-100 to the server 500_1.
  • Steps # 701 to # 704 The server 500_1 sends the data buckets 700_101 to 70_104 to the user terminal 200_1.
  • Step # 705 The user terminal 200-1 sends the acknowledgment bucket 700-105 to the server 500_1.
  • Steps T707 to T710 Sano 500-1 sends out data packets 700-106 to 70-109 to user terminal 200-1.
  • Step T711 The user terminal 200-1 sends an acknowledgment packet 700_110 to the server 500-1.
  • Step T712 In the bandwidth control device 100b, as in steps T619 and T620 in FIG. 10, the maximum bandwidth excess determining unit 30 detects the occurrence of the bandwidth excess, and the acknowledgment time changing unit 20b sends the acknowledgment packet 700-110. Then, the acknowledgment bucket 700-111, which is delayed by "0.15 (s)", which is 188% higher than "0.0.8 (s)" held in the timer 50b-10, is transferred to the server 500-1. Steps T713 to T718: The server 500-1 transmits the data bucket 700-112 to 700-115 to the user terminal 200-1.
  • Step T719 As a result, for example, the data packet 700-112 is the answer that arrives at the user terminal 200-1 at the time T715 'if the acknowledgment packet 700-110 is not delayed, but is delayed by the time T715. Arrived, and the bandwidth of session 410_5 was reduced. Therefore, the total bandwidth 50b-14 of the user terminal 200-1 can be reduced.
  • steps S20 to S28 similar to steps S10 to S18 shown in FIG. 7 are executed, and if the total bandwidth 50b-14 exceeds the maximum bandwidth value 50b_1, the acknowledgment bucket is delayed.
  • FIG. 14 shows the bandwidth control of the above-described embodiment (1) or embodiment (2), and shows the temporal control of the bandwidth 50a-11 or 50b_13 of each session 410-1 to 410-5 and the total bandwidth 50a-12 or 50b_14. It shows the transition. This transition will be described below.
  • Step T800 Sessions 410-1 to 410-3 are established sequentially.
  • Steps T801 and T802 The session 410-4 is established, and the acknowledgment bucket 700-4a of the session 410-4 is triggered to recognize that the total bandwidth 50a-12 is equal to or greater than the maximum bandwidth value 50a-1. Session 410—bandwidth limit for 4 begins.
  • Steps T803, T804 With the acknowledgment bucket 700-2a of the session 410-2, it is still recognized that the total bandwidth 50a-12 is more than the maximum bandwidth value 50a-1 and the bandwidth limitation of the session 410_2 is started. Is done.
  • Step T805 Total bandwidth 50a-12 is less than or equal to the maximum bandwidth value 50a_l, and bandwidth limitation continues.
  • Steps T806, T8Q7 Session 410-5 is established, and triggered by the acknowledgment packet 700_4b of this session 410_4, the total bandwidth 50a-12 becomes greater than the maximum bandwidth 50a-11. Recognition is made, and bandwidth limitation for session 410-4 is started.
  • Steps T808, T809 With the acknowledgment bucket 700_3b of the session 410_3, it is still recognized that the total bandwidth 50a_12 is equal to or more than the maximum bandwidth value 50a-1, and the bandwidth limitation of the session 410_3 is started.
  • Step T810 The total bandwidth 50a_12 is less than or equal to the maximum bandwidth value 50a-1 and the bandwidth limitation continues.
  • Steps T811 and T812 The session 410_1 ends, and the total bandwidth 50a_12 becomes equal to or less than the bandwidth restriction release value 50a_2.
  • Step T813 With the acknowledgment packet 700_4c of the session 410-4, it is recognized that the total bandwidth 50a-12 is equal to or less than the bandwidth limitation release value 50a_2, and the bandwidth limitation of the session 410_4 is canceled.
  • Steps T814 and T815 The total bandwidth 50a_12 becomes the maximum bandwidth 50a-1 or more, and the total bandwidth 50a-12 is the maximum bandwidth 50a-1 or more triggered by the acknowledgment bucket 700_5b of the session 410-5. Is recognized and the bandwidth limitation of session 410-5 is started.
  • Step T816 The total bandwidth 50a_12 is less than or equal to the maximum bandwidth value 50a-1 and the bandwidth limitation continues.
  • Steps T817 and T818 The session 410_5 ends, and the total bandwidth 50a-1 12 becomes equal to or less than the bandwidth restriction release value 50a-2.
  • Step T819 With the acknowledgment packet 700_3c of the session 410-3, it is recognized that the total bandwidth 50a_12 is equal to or less than the bandwidth restriction release value 50a_2, and the bandwidth restriction of the session 410-3 is released.
  • Step T820 The total bandwidth 50a-12 is equal to or greater than the bandwidth limitation release value 50a_2 and equal to or less than the maximum bandwidth value 50a_l, and the state in which the bandwidth limitation is not performed continues.
  • Embodiment (3) Network with Adjusted Bandwidth of Entire Device
  • FIG. 15 shows an ISP 310-1
  • the ISP 310_1 accommodates a plurality of users and connects to the Internet 300. That is, the ISP 310-1 is connected to the routers 110-1 to 110_3 (hereinafter sometimes collectively referred to as 110) mounted on the user side. And accommodates user terminals 200—l_l to 200_l_i, user terminals 200_2—1 to 200_2—j, and user terminals 200_3-1—200 to 3_k (hereinafter may be collectively referred to by reference numeral 200). 4 and a router 110-5 connected to the Internet 300.
  • FIGS. 16 (1) to (3) respectively show the management tables 60_1 to 60-3 shown in FIG. 15, and each of the management tables 60_1 to 60_3 respectively has the maximum bandwidth limit value 60-1_1 to 60-3. 3_1, and the bandwidth limit value 60_1-1-2 and the currently used bandwidth 60_3 of each user terminal 200 connected to the corresponding router 110, the bandwidth limit value 60-2_2 and the currently used bandwidth 60-2_3, and the bandwidth limit value 60_3 -2 and the currently used bandwidth 60_3-1, 3 and the total bandwidth 60-1-4 to 60_3-4.
  • the maximum bandwidth limit value 60_1—1 to 60_3_1 also includes a field indicating whether or not the user has a bandwidth limit.
  • FIG. 4D shows the total bandwidth 60_4.
  • the total bandwidth 60_4 includes the total bandwidth 60__1_4 to 60_31_4 of the currently used bandwidth 60-1-3 to 60-3-3_3 of the management table 60-1 to 60-3. Aggregated.
  • the currently used bandwidth of the user terminal 200_i in the management table 60-1 is 200 MBps to x. MBp, respectively, and the total bandwidth 60-1-4 is 48. O Bps. is there.
  • the total bandwidths 60-2_4, 60_3-4 of the management tables 60_2, 60-3 are 70. OMBps and 28. OMBps, respectively.
  • the ISP 310_1 can perform data transfer with the Internet 300 or the user terminal 200 in the ISP 310_1 without causing congestion discard.
  • FIG. 17 shows the state of the network in which the bandwidth control of the embodiments (1) to (3) is performed.
  • the bandwidth control is performed by the bandwidth control devices 100_2 and 100-3 of the routers 110-1 and 110-3 that exceed the limit, so that packet congestion is not discarded and the bandwidth is not occupied by a specific user. Fair band limitation becomes possible.
  • the bandwidth measuring unit 10 measures the total bandwidth of one or a plurality of TCP sessions for each user, and the window size changing unit 20a monitors the total bandwidth.
  • the ability to reduce the window size of the acknowledgment packet of the TCP session of the user exceeding the preset maximum bandwidth value, or the acknowledgment time changing unit delays the acknowledgment packet, thereby enabling each user It is possible to eliminate discarding the packet 700 and to allocate the bandwidth fairly to the user.
  • TCP retransmission control for the discarded part is performed and a load is imposed on the network and the server.
  • the bandwidth is limited for the users, the frequency of occurrence of congestion can be reduced.
  • bandwidth control device of the present invention by providing the bandwidth control device of the present invention to a router that is statistically prone to congestion, congestion discarding can be prevented beforehand, and optimal operation of the network becomes possible.

Landscapes

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

Abstract

 インターネット等のIPネットワークにおける帯域制御装置100に関し、各ユーザ200のパケット700を廃棄することを無くすること、また、ユーザ200に帯域を公平に割り当てる。帯域計測部10aが、ユーザ毎に1又は複数のTCPセッションの合計帯域50a_12を計測し、ウィンドウサイズ変更部20aが、合計帯域50a_12が予め設定された最大帯域値50a_1を越えているユーザのTCPセッション確認応答パケット700のウィンドウサイズを減少させる。又は、確認応答時間変更部が、該合計帯域が予め設定された最大帯域値を越えているユーザのTCPセッション確認応答パケットを遅延させる。

Description

明 細 書 帯域制御装置 技術分野
本発明は帯域制御装置に関し、特に、インターネット等の IPネットワークにお ける帯域制御装置に関するものである。
近年、 インターネットは、 xDSL (x Digital Subscriber Line)及び FTTH (Fiber To The Home)等の高速アクセス回線が普及し、 ますます広帯域化が進んでいる。 これ に伴い、 コンテンツもユーザが高速アクセス回線を利用することを前提にした大 容量のものが増加している。 また、 ピア ·ツー · ピア(Peer To Peer)によるユー ザ同士間の大量データ転送も増加している。このようなネットワークにおいては、 有限の伝送帯域を公平にユーザに割り当てる帯域制御技術が重要である。 背景技術
図 18は、 一般的なネッ トワークの構成を示している。 このネッ トワークは、 ル ータ 110z_5〜110z— 8を含むインターネット 300、 ルータ 110z_l〜110z_4を含む ィンターネット ·サービス ·プロパイダ(ISP: Internet Service Provider) 310— 1、 コンテンツ 510—1を有するサーバ 500—1が接続されている ISP310一 2、 コンテンツ 510_2を有するサーバ 500_2が接続されている ISP310— 3、 及びコンテンツ 210を 有するユーザ端末 200一 4が接続されている ISP310_4で構成されている。
ィンターネット 300は、 ルータ 110z_5及ぴルータ ΙΙΟζ— 1を経由して ISP310— 1 に接続されている。 さらに、 インターネット 300は、 それぞれ、 ルータ ΙΙΟζ— 6〜 Ι ΙΟζ—8を経由して、 ISP310— 2〜310— 4に接続されている。
また、ルータ Ι ΙΟζ— 2には、ユーザ端末 200_3が接続され、ルータ 110z一 3には、 ユーザ端末 200_1, 200_2が接続されている。
ユーザ端末 200_1は、それぞれ、 TCP/IPプロ トコルにしたがって、サーバ 500_1、 サーバ 500_2、及びユーザ端末 200一 4の間にセッション 410— 1〜410_3 (以下、符号 410で総称する場合がある。)を確立し、 コンテンツ 510_1〜510_3 (以下、符号 510 で総称する場合がある。 )のデータファイルをダウンロードしている。
図 19は、 図 18において、 セッション 410の確立、 及びデータファイルのダウ ンロードで用いられる TCP/IPパケット 700のフォーマツトを示している。
TCP/IPバケツト 700は、 IPへッダ(この例では IPv4へッダ) 710、 TCPへッダ 720、 及ぴデータ 730で構成されている。
IPヘッダ 710には、 サービスタイプ 710a、 送信元アドレス 710b、 宛先アドレ ス 710c等が含まれている。 TCPヘッダ 720には、送信元ポート番号 720a、 宛先ポ ート番号 720b、 シーケンス番号 720c、 確認応答番号 720d、 コントロール 720e、 ウィンドウ 720f、及ぴォプション 720gが含まれている。コントロール 720eには、 確認応答(ACK)ビット 720el及び確立要求(SYN)ビット 720e2が含まれ、 ォプショ ン 720gには、 MSS (Max Segment Size: TCPセブメントのデータ部分の最大サイズ (MACフレームの場合、 1460Byte;)、 図示せず。 )が含まれている。
図 20は、図 18においてユーザ端末 200_1力 サーバ 500_1からコンテンツ 510_1 をダウンロードする場合の動作手順を示している。 この手順を以下に説明する。 ステップ T900 (T901〜T903) :ユーザ端末 200_1 とサーバ 500_1 との間で 3ゥェ ィハンドシェイクが行われる。 なお、 3ウェイハンドシェイクは、 ユーザ端末 200_1 とサーバ 500_1 との間で双方向にセッションを確立するために制御用デー タが交換されるが、 ここでは、 サーバ 500— 1からユーザ端末 200_1に向かうセッ シヨン確立のための主に制御用データを示す。
ステップ T901:サーバ 500一 1 は、 確立要求ビット (SYN) 720el = " 1" に設定し たパケット 700— 121を、 ユーザ端末 200— 1に送出して、 セッション 410の確立を 要求する。
ステップ T902:ユーザ端末 200_1は、 確立要求ビット 720e2 = "Γ、 確認応答 ビット(ACK) 720el = T、 MSS = " 1000" 及びウィンドウ 720f = "4000" に設定 したバケツト 700—122をサーバ 500—1に返送し、 セッション 410の確立要求に対 する応答を行うとともに、 逆方向のセッション 410の確立を要求する。
ステップ T903:サーバ 500—1 は、 確認応答ビット(ACK) 720el = "1" のバケツ ト 700_123をユーザ端末 200_1に返送し、セッション 410の確立要求に応答する。 これにより、 ユーザ端末 200_1どサーバ 500— 1との間に、 セッション 410が確立 する。
ステップ T904:サーバ 500—1は、 シーケンス番号 720c = " 1000" のデータパケ ッ ト 700—124をユーザ端末 200—1に送信する。
ステップ T905:ユーザ端末 200— 1は、 確認応答ビット 720el = "1"、 次シーケン ス番号 720cを示す確認、応答番号 720d= "2000"、 及びウィンドウ 720f = "4000" が設定された確認応答バケツト 700_124をサーバ 500_1に応答する。
ステップ T906: この後、 スロースタートアルゴリズムにしたがってデータパケ ッ ト 700力 S、 サーバ 500_1からユーザ端末 200_1に伝送されるが、 ここでは、 説 明は省略する。
ステップ T907〜T910:サーバ 500—1は、それぞれ、シーケンス番号 720c = "2000", "3000", "4000", "5000"のデータバケツト 700— 126〜700— 129をユーザ端末 200—1 に送信する。
T911:ユーザ端末 200— 1は、 確認応答ビット 720el = "1"、 確認応答番 号 720d= "6000"、 及ぴウィンドウ 720f= "4000" が設定された確認応答バケツ ト 700—130をサーバ 500_1に応答する。
ステップ T912〜T915 :サーバ 500—1は、それぞれ、シーケンス番号 720c = "6000", "7000", "8000", "9000" のパケット 700_131〜700— 134をユーザ端末 200— 1に送 信する。
ステップ T916:ユーザ端末 200一 1は、 確認応答ビッ ト 720el = "1"、 確認応答番 号 720d = "10000"、及びウインドウ 720f == "4000"を示す確認応答バケツト 700—135 をサーバ 500—1に応答する。
これにより、確認応答番号 720d= "1000"〜 "10000"のデータが、サーバ 500_1 からユーザ端末 200_1に送信されたことになる。
図 21は、 図 18に示したネットワークにおいて、 ユーザ端末 200— 1力 サーバ 500_1のコンテンツ 510—1をダウンロードするため、ルータ 110z_3, 110z— 1, 110z_5, 及び ΙΙΟζ— 6を経由するセッション 410_1 (410— la, 410— lb)を確立し、 ユーザ端末 200—2 力 サーバ 500一 2 のコンテンツ 510_2 をダウンロードするため、 ルータ Ι ΙΟζ— 3, Ι ΙΟζ— 1, Ι ΙΟζ— 5,及び 110z一 7を経由するセッシヨン 410—2 (410一 2a, 410一 2b) を確立し、 ユーザ端末 200_3が、 ユーザ端末 200_4のコンテンツ 510—2をダウン ロードするため、 ルータ Ι ΙΟζ— 2, 110z_l, 110z_5, 及び 110z_8 を経由するセッ ション 410_3 (410— 3a, 410_3b)を確立している。
このとき、 ユーザ端末 200_1力 S、 サーバ 500— 1のコンテンツ 510_1をダウン口 ードを高速で行うため、 セッション 410_1 と並列にセッション 410_4 (410— 4a, 410_4b)及びセッション 410_5 (410— 5a, 410__5b)を確立した場合、 ルータ 110z_l の帯域が不足し、 パケットの輻輳が発生し、 例えば、 セッション 410_2及びセッ シヨン 410_3 (破線表示)のバケツトが廃棄される。
この廃棄されたパケットに対する TCPのバケツト再送が行われ、 この再送がま すますバケツトの輻輳の原因なる。
Diff Serve帯域制御
IPネッ トワークにおける従来の帯域制御方法として DiffServ (Differenciated Service)技術がある。 この DiffServ技術は、 IPパケットの T0Sフィールドを用 いて帯域制御を行っている。
DiffServe は、 パケットに優先順位を割り当て、 インターネット内部の中継処 理の優先制御を行う技術である。 IPパケットのヘッダに用意されていた T0Sフィ 一ルドを、 新たに DS (diffserve) フィールドとして再定義し, このフィールド にバケツト優先度を記述する。
優先順序が低いバケツ トは輻輳時に廃棄させるポリシング機能がある。 また、 出力時のデータレートを一定としてバースト性を排除したシェービング機能があ る。
すなわち、 この帯域制御は、 或る設定値以上の帯域(throughput)でパケッ トを 伝送するとバケツト廃棄が発生するものであり、 この帯域制御された TCPセッシ ヨン上では廃棄されたバケツトに対する再送要求が行われ、 これによつて再送さ れたパケットが余計な帯域(bandwidth)を消費するという問題があった。
RED帯域制御
DiffServ技術の問題点を解決する帯域制御方法として、近年、 RED (Random Early Detection)技術による帯域制御方法がある。 この帯域制御方法は、 パケットの輻 輳廃棄が起こる前に予め或る程度のバケツトを廃棄しておくことで、 輻輳を回避 しょうとするものである。 しかしながら、 RED (Random Early Detection)技術によ る帯域制御は、 意図的なバケツト廃棄が発生してしまうという問題があった。
TCP レイヤ帯域制御技術
また、 TCPレイヤにおける従来の帯域制御技術として、 (1)スロースタートアル ゴリズムや、 (2)輻輳回避アルゴリズム等の方式がある。
(1)スロースタートアルゴリズムは、 データ送信の最初の段階では TCPセグメン ト(以下、 パケットと称することがある。 )の 1往復時間に 1 MSS までのデータを 送出し、 その後、 確認応答が返って来た数分だけ増やして送出するアルゴリズム である。
(2)輻輳回避アルゴリズムは、 TCP セグメントの 1往復時間に送信データ量を 1 MSSずつ増加させるアルゴリズムである。
しかしながら、 これらのアルゴリズム(1) (2)だけではネッ トワークの輻輳時に 結局バケツト廃棄が発生するため、 前述の帯域制御と同様の問題がある。
ストリーム型通信帯域制御
また、 ストリームを統合し扱う情報通信ネットワークに接続された情報通信端 末装置(例えば、 サーバ、 コンピュータ等)において、 音声 .画像等のマルチメデ ィァデータ、 コンピュータデータ等のス トリーム型通信における帯域制御方法と して次のようなものがある。
すなわち、 通信アプリケーションと独立に帯域制御手段を設け、 この手段は、 ユーザが希望する帯域と使おうとする通信アプリケーションの必要とする帯域と から得られる値を本情報通信端末装置の要求帯域として算出し、 この要求帯域が その時点の伝送路の利用可能帯域以下である場合、 伝送路の帯域を予約した後、 通信アプリケーションのストリームの送受信を開始し、 利用可能帯域を越えてい る場合、 ユーザからの通信要求を拒絶する(例えば、 特許文献 1参照。 ) 0 しかしながら、 この帯域制御方法は、 情報通信端末装置に対してユーザが要求 帯域を予約するものであり、 帯域が無ければユーザ要求は拒絶され、 ユーザに対 して公平でなく、 ネットワークにおける輻輳廃棄も発生する。
く特許文献 1 >
特開平 11-98152号
以上説明したように、 インターネットにおけるダウンロードデータの大容量化 や、 ピア · ツー · ピアの普及による大容量データ転送が増加すると共に、 ユーザ は実行速度を上げるために複数のダウンロードを同時間帯に行うことが多くなつ ている。 しかし、 ルータ伝送帯域やルータリソースは全ユーザ回線帯域の総和を 保証したものではないため、 輻輳廃棄ゃネッ トワーク輻輳崩壊などの弊害が発生 している。
また、 TCP 輻輳制御はセッション単位で行うものであり複数セッション接続し ているユーザとそうでないユーザとの間で不公平が生じる。 また、 ウィンドウサ ィズを意図的に大きく設定することで帯域を奪うユーザも考えらる。
さらに、 従来の Diff serveによる優先制御では優先度の低いバケツトが廃棄さ れ、 ポリシングによる帯域制御によっても帯域超過分は廃棄され、 RED において も廃棄を伴う。 この結果、 パケット再送が発生しネッ トワークの負荷を上げてし まう。
従って本発明は、インターネッ ト等の IPネッ トワークにおける帯域制御装置に おいて、 各ユーザのパケットを廃棄することを無くすること、 また、 ユーザに帯 域を公平に割り当てることを課題とする。 発明の開示
上記の課題を解決するため、 本発明の帯域制御装置は、 ユーザ毎に 1又は複数 の TCPセッションの合計帯域を計測する帯域計測部と、 該合計帯域が、 予め設定 された最大帯域値を越えているか否かを判定する判定部と、 該合計帯域が該最大 帯域値を越えているユーザの TCPセッション確認応答バケツトのウィンドウサイ ズを減少させるウィンドウサイズ変更部とを備えたことを特徴としている。
図 1は、 本発明の帯域制御装置の原理を示している。 ユーザ端末 200— 1力 s、 例 えば、 それぞれサーバ 500— 1, 500— 2からファイルをダウンロードするとき、 ユー ザ端末 200— 1 とサーバ 500_1 との間では、 3つの TCPセッション 410— 1〜410— 3 が確立され、 ユーザ端末 200_1 とサーバ 500_2との間では、 1つの TCPセッショ ン 410_4が確立される。 すなわち、 1又は複数の TCPセッションが確立され、 こ の TCPセッション 410_1〜410— 4を経由してファイルがダウンロードされる。 ユーザ端末 200_2, 200— 3についても、同様にファイルをダウンロードするとき、 1又は複数の TCPセッションが確立される(図示せず。 )。
帯域計測部は、ユーザ端末 200—1の各 TCPセッション 410— 1〜410— 4の帯域を合 計した値 (合計帯域)を計測する。 判定部は、 この合計帯域が予め設定された最大 帯域値を越えているか否かを判定し、 その判定結果をウィンドウサイズ変更部に 通知する。
ウィンドウサイズ変更部は、 ユーザ端末 200— 1の TCPセッション 410_1〜410— 4 の確認応答パケットのウィンドウサイズ(図 20参照。 )を減少させる。
これにより、 サーバ 500—1, 500— 2からユーザ端末 200_1に送出される単位時間 当たりの合計データパケット(図示せず。 )数が少なくなり、 以て合計帯域(帯域) が少なくなり、 いずれかのユーザのパケットを廃棄することなく、 ユーザ間で帯 域を公平に割り当てることが可能になる。
なお、 予め設定する最大スループット値は、 全ユーザに同一値であってもよい し、 ユーザ毎に異なる値にしてもよレ、。
また、 上記の本発明において、 該判定部は、 該合計帯域が予め設定された帯域 制限解除値を越えているか否かを判定し、 該ウィンドウサイズ変更部は、 該合計 帯域が該帯域制限解除値を越えていないユーザの TCPセッション確認応答パケッ トのウィンドウサイズを増加させることが可能である。
すなわち、 判定部は、 各ユーザの合計帯域が予め設定された帯域制限解除値を 越えているか否かを判定し、 越えていない場合、 帯域制限部に越えていないユー ザを通知する。 ウィンドウサイズ変更部は、 通知されたユーザの TCPセッション 確認応答バケツトのウィンドウサイズを増加させる。
これにより、 合計帯域が帯域制限解除値を越えていないユーザの帯域を増加さ せることができる。
また、 上記の課題を解決するため、 本発明の帯域制御装置は、 ユーザ毎に 1又 は複数の TCPセッションの合計帯域を計測する帯域計測部と、 該合計帯域が予め 設定された最大帯域値を越えているか否かを判定する判定部と、 該合計帯域が該 最大帯域値を越えているユーザの TCPセッション確認応答バケツ トを所定の時間 だけ遅延させる確認応答時間変更部とを備えたことを特徴としている。
すなわち、 図 1において、 帯域計測部は、 ユーザ端末 200_1の各 TCPセッショ ン 410_1〜410_4の帯域を合計した値(合計帯域)を計測し、判定部は、 このィ直が予 め設定された最大帯域値を越えているか否かを判定し、 その判定結果を確認応答 時間変更部に通知する。
確認応答時間変更部は、 ユーザ端末 200_1の、 例えば TCPセッション 410_1の 確認応答バケツト 700—1を遅延させた確認応答バケツト 700_1'をサーバ 500_1に 送出する。
これにより、 サーバ 500—1からユーザ端末 200ー1に送出されるデータバケツト (図示せず。 )の送出タイミング遅れ、 すなわち、 ユーザ端末 200_1の合計帯域が 減少し、 いずれかのユーザのパケットを廃棄することなく、 ユーザ間で帯域を公 平に割り当てることが可能になる。
また、 上記の本発明において、 該判定部は、 該合計帯域が予め設定された帯域 制限解除値を越えているか否かを判定し、 該確認応答時間変更部は、 該合計帯域 が該帯域制限解除値を越えていないユーザの TCPセッション確認応答パケットの 該所定の時間の遅延量を少なくするか又は無くすることが可能である。
すなわち、 判定部は、 各ユーザの合計帯域が予め設定された帯域制限解除値を 越えていないか否かを判定し、 越えていない場合、 確認応答時間変更部に越えて いないユーザを通知する。 確認応答時間変更部は、 通知されたユーザの TCPセッ ション確認応答バケツトの送出時間遅延を少なくするか又は無くする。
これにより、 合計帯域が帯域制限解除値を越えていないユーザの帯域を増加さ せることができる。
さらに、 上記の本発明において、 該所定の時間が、 該確認応答パケットを受信 した時から該確認応答バケツトに対するデータパケットを受信した時までの時間 に基づき決定されることが可能である。
すなわち、 確認応答バケツトをユーザ側から受信した時からこの確認応答パケ ットに対するデータパケットを、 例えばサーバから受信した時までの往復時間を 計測し、 この時間に基づき決定した、 例えば、 該往復時間の 2倍だけ、 その後、 受信した確認、応答パケットを遅延させる。 なお、 該往復時間は、 複数の往復時間 を平均した平均往復時間としてもよい。
また、 上記の課題を解決するため、 本発明の帯域制御装置は、 ユーザ毎に 1又 は複数の TCPセッションの合計帯域を計測し、 全ユーザの該合計帯域を総計した 総計帯域を算出する帯域計測部と、 該総計帯域が装置全体の帯域に基づき決定さ れる最大帯域制限値を越えているか否かを判定する判定部と、 該総計帯域が該最 大帯域制限値を越えたときのみ、 ユーザ毎の帯域制限を行う帯域制限部とを備え たことを特徴としている。
すなわち、 帯域計測部は、 各ユーザの合計帯域を計測し、 全ユーザの合計帯域 を総計した総計帯域を算出する。 装置全体の帯域に余裕が無くなるとき帯域値を 最大帯域制限値として予め決定されており、 判定部は、 該総計帯域が最大帯域制 限値を越えているか否かを判定し、 帯域制限部は、 最大帯域制限値を越えたとき のみ、 ユーザ毎の帯域制限を行う。 これにより、 パケッ トの廃棄を無くすること が可能になる。
また、 上記の本発明において、 該帯域制限部を、 該総計帯域が該最大帯域制限 値を越えたとき、 TCP セッション確認応答パケットのウィンドウサイズを減少さ せるウィンドウサイズ変更部としてもよレ、。
すなわち、 帯域制限部として、 ウィンドウサイズ変更部を用いて、 総計帯域が 最大帯域制限値を越えたとき、 TCP セッション確認応答バケツトのウィンドウサ ィズを減少させるようにしてもよレ、。
また、 上記の本発明において、 該判定部は、 該合計帯域が予め設定された該最 大帯域制限値以下の帯域制限解除値を越えているか否かを判定し、 該ウィンドウ サイズ変更部は、 該合計帯域が該帯域制限解除値を越えていないユーザの TCPセ ッシヨン確認応答バケツ トのウィンドウサイズを増加させてもよレ、。
これにより、 合計帯域が帯域制限解除値を越えていないユーザの帯域を増加さ せることができる。
また、 上記の本発明において、 該帯域制限部を、 該総計帯域が該最大帯域制限 値を越えたとき、 TCP セッション確認応答パケットを遅延させる確認応答時間変 更部としてもよい。
すなわち、 帯域制限部として、 確認応答時間変更部を用いて、 総計帯域が最大 帯域制限値を越えたとき、 TCP セッション確認応答パケッ トを遅延させるように また、 上記の本発明において、 該判定部は、 該合計帯域が予め設定された該最 大帯域制限値以下の帯域制限解除値を越えているか否かを判定し、
該確認応答時間変更部は、 該合計帯域が該帯域制限解除値を越えていないユー ザの TCPセッション確認応答バケツトの時間遅延量を少なくするか又は無くする ようにしてもよい。
これにより、 合計帯域が帯域制限解除値を越えていないユーザの帯域を増加さ せることができる。
さらに、 上記の本発明において、 帯域計測部は、 1又は複数の第 1データパケ トに対する第 1確認、応答から、 該第 1確認応答後の 1又は複数の第 2データパ ケットに対する第 2確認応答までの確認応答間時間を計測するタイマと、 該 1又 は複数の第 2データバケツトのデータ長を計数する計数部と、 該合計データ長を 該確認応答間時間で割った値を帯域値とする演算部とを備えることができる。 すなわち、 タイマは、 1又は複数の第 1データパケットに対する第 1確認応答 から、 該第 1確認応答後の 1又は複数の第 2データバケツトに対する第 2確認応 答までの確認応答間時間を計測する。
計数部は、 例えば、 第 1確認応答及び第 2確認応答に含まれる確認応答番号に 基づき、 第 1確認応答から第 2確認応答までのデータ長を計測する。 なお、 この データ長は、 第 1確認応答から第 2確認応答までに受信したデータバケツトに基 づき計測してもよい。
演算部は、 該第 1確認応答から第 2確認応答までに送信された 1又は複数の第 2データパケットの合計データ長を確認応答間時間で割つた値を帯域値とする。 これにより、 例えば、 TCPセッションの帯域を計測することができる。
なお、 第 1確認応答と第 2確認応答の間に複数の確認応答があってもよく、 こ の場合、 より平均的な帯域値を演算することが可能である。 図面の簡単な説明
図 1は、 本発明に係る帯域制御装置の原理を示したプロック図である。
図 2は、本発明に係る帯域制御装置の実施例(1:ウィンドウサイズ変更)を示し プロック図である。 図 3は、 本発明に係る帯域制御装置におけるウィンドウサイズ変更の動作手順 例(1)を示したシーケンス図である。
図 4は、 本発明に係る帯域制御装置におけるウィンドウサイズ変更の管理テー ブル例(1)を示した図である。
図 5は、 本発明に係る帯域制御装置におけるウィンドウサイズ変更の動作手順 例(2)を示したシーケンス図である。
図 6は、 本発明に係る帯域制御装置におけるゥィンドウサイズ変更の動作手順 例(3)を示したシーケンス図である。
図 7は、 本発明に係る帯域制御装置におけるウィンドウサイズ変更の管理テー ブル例(1:続き)を示した図である。
図 8は、 本発明に係る帯域制御装置のウィンドウサイズ変更の動作手順例(4) を示したシーケンス図である。
図 9は、 本発明に係る帯域制御装置のウィンドウサイズ変更の動作手順例(5) を示したシーケンス図である。
図 1 0は、本発明に係る帯域制御装置の動作手順例(5 :続き)を示したシーケン ス図である。
図 1 1は、本発明に係る帯域制御装置の実施例(2 :確認応答時間変更)を示しブ 口ック図である。
図 1 2は、 本発明に係る帯域制御装置における確認応答時間変更の管理テープ ル例(2)を示した図である。
図 1 3は、 本発明に係る帯域制御装置における確認応答時間変更の動作手順例 (1)を示したシーケンス図である。
図 1 4は、 本発明に係る帯域制御装置のウィンドウサイズ変更及び確認応答時 間変更における合計帯域の推移例を示した図である。
図 1 5は、 本発明に係る帯域制御装置全体の帯域制御を行った場合のネットヮ ーク構成例を示したブロック図である。
図 1 6は、 本発明に係る帯域制御装置全体の帯域制御を行った場合の管理テー ブル例を示した図である。
図 1 7は、 本発明に係る帯域制御装置における帯域制御後の最適化が行われた ネットワークを示したブロック図である。
図 1 8は、 一般的なルータ(帯域制御装置)を用いたネットワーク構成を示した プロック図である。
図 1 9は、 一般的な TCP/IPパケットのフォーマットを示した図である。
図 2 0は、 一般的な帯域制御装置を用いたネットワークにおけるデータ転送動 作手順を示したシー^ンス図である。
図 2 1は、 一般的な帯域制御装置を用いたネットワークにおける輻輳発生状態 を示したプロック図である。
符号の説明
100, 100— 1〜100— 3, 100a, 100b, ΙΟΟζ, 100z_l〜100z— 9 帯域制御装置 110, 110_1〜110— 9, l lOz, 110z— l〜110z_9 ルータ
10a, 10b 帯域計測部 11 IPキヤプチャ
12 TCPキヤプチャ
20a ウィンドウサイズ変更部 20b 確認応答時間変更部
30 最大帯域超過判定部 40 最大帯域値/帯域制限解除値設定部
50a, 50b 管理テーブル 50a— 1 , 50b_l 最大帯域値
50a— 2, 50b— 2 帯域制限解除値 50a— 3, 50b— 3 セッション
50a— 4, 50b 送信元ポート 50a— 5, 50b— 5 宛先ポート
50a_6, 50a— 7, 50b_6, 50b_7 確認応答番号
50a— 8, 50b_8 データ長 50a_9, 50b_9 ウィンドウ
50a_10, 50b— 10 確認応答間時間、 タイマ
50a— 11, 50b一 13 帯域 50a_12, 50b— 14 合計帯域
50b— 11 変更時間 50b_12 確認応答間時間、 タイマ
60— 1〜60_3 管理テーブル 60_4 総計帯域
60_1— 1〜60一 3_1 最大帯域制限値 60— 1一 2〜60一 3一 2 帯域制限値
60— 1_3〜60_3_3 現使用帯域 60— 1_4〜60_3— 4 総計帯域
150— 1〜 150—3 xDSL、 FTTH
200, 200— 1〜200— 4, 200— 1— l〜200_3_k ユーザ端末
300 インターネッ ト 310— 1〜310_4 ISP 410, 410— 1〜410— 5, 410_la〜410— 6a, 410— lb〜410— 6b セッション
500— 1〜500— 2 サーバ 510—:!〜 510— 3 コンテンツ
700 TCP/IPパケット
700一 21〜700— 135 、 確認応答バケツト、 確立要求バケツト、 データパケ、 ト 700— a〜700— d, 700_1〜700_4, 700__ 〜700— 4' 確認応答パケット
700— la〜700— lc, 700— 2a〜700_2c, 700— 3a〜700— 3c 確認応答パケット 700_4a〜700— 4d, 700_5a, 700— 5b 確認応答パケット
710 IPヘッダ 710a サービスタイプ
710b 送信元アドレス 710c 宛先アドレス
720 TCPへッダ 720a 送が元ポート番号
720b 宛先ポート番号 720c シーケンス番号
720d 確認応答番号 720e コントローノレ
720el 確認応答ビッ ト 720e2 確立要求ビット
720f ウィンドウ 720g オプション
730 データ 801 判定結果
図中、 同一符号は同一又は相当部分を示す。 発明を実施するための最良の形態
実施例(1) : ウィンドウサイズ変更
図 2は、 本発明に係る帯域制御装置 100aの実施例(1)を示しており、 この帯域 制御装置 100aは、 帯域計測部 10a、 ウィンドウサイズ変更部 20a、 最大帯域超過 判定部 30、 及び最大帯域値/帯域制限解除値設定部 40を備えている。
帯域計測部 10aは、 管理テーブル 50a、 IPキヤプチャ 11、 及び TCPキヤプチャ 12を備えている。 管理テーブル 50aには、 タイマ 50a_10が含まれている。
動作において、 最大帯域値/帯域制限解除値設定部 40は、 管理テーブル 50に予 め設定されている、 又は外部からオペレータが設定した最大帯域値 50a_l及び帯 域制限解除値 50a_2を最大帯域超過判定部 30に与える。 帯域計測部 10aは、 ユー ザ端末 200_1から受信した確認応答バケツト 700— aに基づきユーザ毎に合計帯域 50a— 12を計測し、 この合計帯域 50a— 12を判定部 30に与えるとともに確認応答パ ケット 700_aをウィンドウサイズ変更部 20aに送出する。
判定部 30は、 最大帯域値 50a— 1及び帯域制限解除値 50a一 2 と合計帯域 50a_12 とを比較して、 帯域制御を行うか否かの判定結果 801 をウィンドウサイズ変更部 20aに与える。 ウィンドウサイズ変更部 20aは、 判定結果 801が帯域制御を行う ことを示すとき、ウィンドウ 720f (図 19参照。)を変更した確認応答パケッ ト 700— b をサーバ 500—1に送信する。 これにより、 ユーザ毎に帯域(スループット)を制御 することが可能になる。
動作手順例
図 3は、本発明の帯域制御装置 100aの動作手順例を示している。 この動作手順 例を以下に説明する。 帯域制御装置 100aは、 図 18で示したユーザ端末 200_1 (IP アドレス: = "1. 1. 1. 1" )とサーバ 500_1 との間の、 例えば、 輻輳が発生する可能 性のあるルータ 110z_lに実装される。 なお、 帯域制御装置 100aは、 ユーザ端末 200_1又はサーバ 500_1に実装してもよい。
ステップ T200〜T203: 図 21に示した従来例のステップ Τ901〜Τ903 と同様にス テツプ T200, T201 , Τ203で、 バケツト 700— 21〜700_23が送受信される 3ウェイ ハンドシェイクが行われ、 ユーザ端末 200— 1 とサーバ 500— 1 との間でセッション 410一 1が確立される力 S、異なる点は、ステップ Τ202が追加されていることである。
ステップ Τ202 :帯域制御装置 100a (図 2参照。)の帯域計測部 10aにおいて、 TCP キヤプチャ 12はバケツト 700_22の TCPヘッダ 720の確認応答ビット 720el = "l"、 確立要求ビット 720e2= "1" を検出し、 バケツト 700一 2が確認応答/確立要求パ ケッ トであると認識する。 そして、 IPキヤプチャ 11 は、 パケット 700— 22の IP ヘッダ 710 の送信元アドレス(IP アドレス) 710b= "1. 1. 1. 1" を検出し、 この送 信元アドレス 710b = "1. 1. 1. 1" に対応する、 すなわち、 ユーザ端末 200_1 に対 応する管理テーブル 50aを作成する。
図 4は、 図 2に示した管理テーブル 50aの実施例を示している。 この管理テー ブル 50aは、 ユーザ端末 200—1 (送信元アドレス = "1. 1. 1. 1" ;)に対応したテープ ルであり、 予め登録された最大帯域値 50a_l = "2. 8M (Byte/s) " 及び帯域制限解 除値 50a_2= "2. 3M (Byte/s) "、 並びにセッション 50a_3、 送信元ポート 50a_4、 宛先ポート 50a— 5、 確認応答番号 50a— 6、 確認応答番号 50a_7、 データ長 50a 8、 ウィンドウ 50a— 9、 確認応答間時間 50a_10 (タイマを兼用)、 帯域 50a一 11、 及ぴ合 計帯域 50a_12で構成されている。
同図(1)及び(2)の管理テーブル 50aは、 ユーザ端末 200— 1 とサーバ 500— 1との 間にセッション 410—1のみ確立された場合を示している。
ステップ T204:サーバ 500_1は、 データバケツト 700—24をユーザ端末 200—1に 宛てたデータ転送を開始する。 ユーザ端末 200一 1は、 サーバ 500—1に宛てて確認 応答パケット(図示せず。 )を送出する。 データ転送開始から一定期間は、 スロー スタート期間であり、 この期間にも確認応答バケツト及びデータバケツトの送受 信は行われるが、 スロースタート期間中のデータ転送量は大容量転送中に比べる と小さいことから、 帯域の計測を行わないので図示及び説明は省略する。 スロー スタート期間終了後、 計測監視状態(ユーザ単位の帯域計測)になる。
ステップ T205:ユーザ端末 200—1は、 サーバ 500_1に宛てて確認応答バケツト 700_25を送出する。
ステップ T206:帯域制御装置 100aにおいて、帯域計測部 10aは、パケット 700—25 の TCPヘッダ 720の確認応答ビット 720el = "1" であることにより確認応答パケ ット 700—25であると判断する。
そして、帯域計測部 10aは、確認応答パケット 700一 25の IPへッダ 710及び TCP ヘッダ 720を参照して、 それぞれ、 IPアドレス = " 1. 1. 1. 1" の管理テーブル 50a のセッシヨン 50a一 3、 セッション 410_1に対応した送信元ポート 50a_4、宛先ポー ト 50a— 5、確認応答番号 50a一 6、及ぴウインドウ 50a— 9に、セッション番号 = "410一 1"、 バケツト 700_25の送信元ポート番号 720a = " 1000"、宛先ポート番号 720b= "2000"、 確認、応答番号 720d= "2000"、及びウインドウ 720f = "3000" を設定する(図 4 (1) 参照。 )。 さらに、 帯域計測部 10aは、 タイマ 50a— 10を起動する。
ステップ T207〜209:サーバ 500—1は、 受信した確認応答バケツト 700—25のゥ インドウ 720f = "3000"にしたがって、それぞれ、シーケンス番号 = "2000" , "3000" , 及び "4000" のデータパケット 700— 26〜700_28をユーザ端末 200— 1に送出する。 ステップ T210 :ユーザ端末 200—1は、サーバ 500—1に宛てて、確認応答番号 720d = "5000"及ぴウインドウ 720f = "3000" が設定された確認応答バケツト 700—29 を送出する。 ステップ T211:帯域制御装置 100aにおいて、 帯域計測部 10aは、 それぞれ、 受 信した確認応答バケツト 700_29の確認応答番号 720d= "5000" 及び最新データ のウィンドウ 720f= "3000" を、 管理テーブル 50a (図 4(2)参照)の確認応答番号 50a_7及びウィンドウ 50a— 9に設定する。また、帯域計測部 10aは、タイマ 50a— 10 が計測したバケツト 700_25の受信時からバケツト 700_29の受信時までの確認応 答間時間 50a— 10= "0.03(s)" を読み出して保持した後、 タイマ 50a_10をリセッ トした後、 再起動する。 さらに、 帯域計測部 10aは、 受信した確認応答パケット 700_29(図 2では符号 700— a)をウィンドウサイズ変更部 20aに与える。
最大帯域値/帯域制限解除値設定部 40は、 オペレータから与えられた、 又は管 理テーブル 50aから読み出した最大帯域値 50a— 1= "2.8M" 及び帯域制限解除値 50a一 2= "2.3M" を最大帯域超過判定部 30に与える。
最大帯域超過判定部 30は、 確認応答バケツト 700—29を受信したことを契機と して、 管理テーブル 50aから読み出した合計帯域 50a_12= "0 (この時点では、 帯域(スループット) 50a_ll= "lOOkBps" は演算されていない。)" が最大帯域値 50a一 1= "2.8M" を超過しているか否かを判定し、 判定結果 801= "超過していな い" をウィンドウサイズ変更部 20aに与える。
ウィンドウサイズ変更部 20aは、 確認応答パケット 700_29のウィンドウ 720f を変更せずにサーバ 500— 1に転送する。 このように、合計帯域 50a— 12が最大帯域 値 50a一 1より小さい場合、 帯域制御は実行されない。
ステップ T212: さらに、 帯域計測部 10aは、 確認応答番号 50a— 7= "5000" と確 認応答番号 50a— 6= "2000" との差分であるデータ長 50a— 8= "3000" を求め、 こ のデータ長 50a_8= "3000"及び確認応答間時間 50a— 10= "0.03"から帯域(スル ープット) 50a— 11を次式(1)に基づいて求める。
【数 1】 受信データ長 [Byte] .. .
帯域 [Byte/s] = .'■式(1)
確認応答間時間 [s] 帯域計測部 10aは、 セッション 50a一 3= "410一 の帯域 50a— 11= "lOOkBps" から合計帯域 50a_12= "lOOkBps" を求める(図 4 (2)参照。 )0 図 5は、 ユーザ端末 200—1 とサーバ 500—1 との間で、 さらにセッシヨン 410_2 が確立されデータ転送が行われた動作手順例を示している。 この動作手順例を以 下に説明する。
インターネッ トを利用してユーザ端末 200—1が、 サーバ 500— 1からデータをダ ゥンロードする場合、 ユーザ端末 200„1 とサーバ 500— 1 との間に TCPセッション がーつ確立する。 さらに、 ユーザ端末 200_1力 サーバ 500_1若しくは別のサー ノ 500—2 からも同時にデータをダウンロードしようとした場合にも別の一つの TCPセッションが確立される。 このように、 1つのユーザ端末 200— 1 力 同時に 複数の TCPセッションを確立可能になる。
ステップ T300〜T303: 3ウェイハンドシェイクが実行されセッション 410_2 が 確立され、 IP ア ドレス- " 1. 1. 1. 1" に対応する管理テーブル 50aに、 送信元ポ 一ト 50a_4 = " 1001 "に対応するセッション 410_2の行が追加される(図 4 (3)参照)。 ステップ T304:サーバ 500—1が、 データバケツト 700—34をユーザ端末 200—1に 宛てて送信する。
ステップ T305, T306:ユーザ端末 200—1が、 確認応答バケツト 700_35をサーバ 500_1に宛てて送信し、 帯域制御装置 100aにおいて、 帯域計測部 10aは、 それぞ れ、管理テープル 50aのセッション 50a— 3 = "410一 2"、送信元ポート 50a— 4 = " 1001"、 宛先ポート 50a_5 "2000"、 確認応答番号 50a— 6 = "3000"、 及ぴウインドウ 50a_9 = "2000"に設定する(図 4 (3)参照。;)。 さらに、帯域計測部 10aは、 タイマ 50a— 10 を起動する。
ステップ T307:サーバ 500—1が、 データパケット 700—36をユーザ端末 200—1に 宛てて送信する。
ステップ T308 :ユーザ端末 200—1は、サーバ 500_1に宛てて、確認応答番号 720d = "4000" 及びウインドウ 720f = "2000" が設定された確認応答バケツト 700_37 を送出する。
ステップ T309:帯域制御装置 100aにおいて、 帯域計測部 10aは、 管理テーブル 50a (同図(3)参照。)の確認応答番号 50a— 7 = "4000"及びウインドウ 50a一 9 = "2000" に設定すると共に、 タイマ 50a— 10が計測したパケット 700—35の受信時からパケ ット 700_37の受信時までの確認応答間時間 50a_10 = "0. 02 (s) " を読み出して保 持した後、 タイマ 50a— 10を再起動する。
ウィンドウサイズ変更部 20aは、最大帯域超過判定部 30から与えられた判定結 果 801で合計帯域 50a— 12 = "100k" が最大帯域値 50a— 1 = "2. 8M" を超過してい ないことを知り、帯域計測部 10aから受信した確認応答パケット 700_37をウィン ドウ 720f = "2000" を変更せずにサーバ 500— 1に転送する。 帯域制御は実行され ない。
7° T310:帯域計測部 10aは、 "4000 確認応答番号 50a— 7) " 一 "3000 ( = 確認応答番号 50a_6) " = "1000 ( =データ長 50a— 8) " を演算し、 この " 1000 (=デ ータ長 50a— 8) " I "0. 02 ( =確認応答間時間 50a— 10) " = "50k ( =帯域 50a— 11) " を式(1)で演算した後、 合計帯域 50a— 12 = " 150k" を求める(同図(3)参照。 )。 図 6は、 ユーザ端末 200_1 とサーバ 500—1の間でさらにセッシヨン 410—3が確 立されデータ転送が行われる動作手順例を示している。 この動作手順例を以下に 説明する。
ステップ T400〜T403: 3ウェイハンドシェイクが実行されセッション 410—3が 確立され、管理テーブル 50aにセッション 410— 3の行が追加される(同図(3)参照。)。
ステップ T404:サーバ 500—1 、 データバケツト 700_43をユーザ端末 200—1に 宛てて送信する。
ステップ T405, T406:ユーザ端末 200_1が、 確認応答バケツト 700—44をサーバ 500_1に宛てて送信し、 帯域制御装置 100aにおいて、 帯域計測部 10aは、 それぞ れ、管理テーブル 50aのセッション 50a— 3 = "410— 3"、送信元ポート 50a_4 = " 1002,,、 宛先ポート 50a一 5 = "2000"、確認応答番号 50a_6 = "2000"、及びウインドウ 50a一 9 = "4000" に設定する。 さらに、 帯域計測部 10aは、 タイマ 50a_10を起動する。 図 7は、 図 4に示した管理テーブル 50a を示しており、 この管理テーブル 50a には、 さらに、 ユーザ端末 200— 1 とサーバ 500_1 との間で追加確立されたセッシ ヨン 410_3〜410— 5のデータが登録されている。
ステップ T407〜T410:サーバ 500—1力 データバケツト 700— 45〜700— 48をユー ザ端末 200—1に宛てて送信する。
ステップ T411:ユーザ端末 200_1は、サーバ 500_1に宛てて、確認応答番号 720d = "6000" 及びウィンドウ 720f = "4000" が設定された確認応答バケツ ト 700_49 を送出する。
ステップ T412:帯域制御装置 100aにおいて、 帯域計測部 10aは、 管理テーブル 50a (図 7(1)参照)のセッション 50a— 3= "410_3" の確認応答番号 50a_7= "6000" 及びウィンドウ 50a_9= "4000" に設定すると共に、 タイマ 50a_10が計測したパ ケット 700—44の受信時からパケット 700—49の受信時までの時間 = "0.004 (s)" を読み出して保持した後、 タイマ 50a_10を再起動する。
ウィンドウサイズ変更部 20aは、最大帯域超過判定部 30から与えられた判定結 果 801で合計帯域 50a— 12= "150k" が最大帯域値 50a— 1= "2.8 " を超過してい ないことを知り、帯域計測部 10aから受信した確認応答パケット 700_37をウィン ドウ 720f= "4000" を変更せずにサーバ 500_1に転送する。 帯域制御は実行され なレ、。
ステップ T413: さらに、 帯域計測部 10aは、 "6000 確認応答番号 50a一 7)" — "2000(=確認応答番号 50a— 6)" - "4000(=データ長 50a一 8) " を演算し、 この "4000" I "0.004(=確認応答間時間 50a_10)" = "1M( =帯域 50a— 11) " を式(1) に基づき演算した後、 合計帯域 50a— 12= "l.15M" を求る。
図 8は、 ユーザ端末 200一 1 とサーバ 500_1の間でさらにセッション 410_4が確 立されデータ転送が行われる動作手順例を示している。 この動作手順例を以下に 説明する。
ステップ T500〜T504: 図 6 のステップ Τ400〜Τ404 と同様であり、 セッション 410_4が確立され、管理テーブル 50aにセッション 410—4の行が追加され(図 7(1) 参照。 )、 データバケツト 700_53が、 サーバ 500—1からユーザ端末 200—1に送信 される。
ステップ T505〜T515:図 6のステップ Τ405〜Τ413と同様である力、ステップ Τ405 〜Τ413 より 2つ多いデータバケツト 700— 55〜700— 60がサーバ 500_1からユーザ 端末 200_1 に送信され、 管理テーブル 50aのセッション 50a— 3= "410—4"、 送信 元ポート 50a— 4 ="1003"、宛先ポート 50a— 5"2000"、確認応答番号 50a— 6 = "5000"、 確認応答番号 50a— 7= "11000"、 及びウインドウ 50a— 9= "6000"、 データ長 50a— 8 = "6000" に設定され、 タイマ 50a— 10= "0.004" が保持された後、 再起動され、 確認応答パケット 700_37が変更されずにサーバ 500—1 に送出され、 帯域 50a— 11 = " 1. 5M" が式(1)で算出され後、 合計帯域 50a一 12 = "2. 65M" が求められる。 図 9は、 ユーザ端末 200_1 とサーバ 500—1の間でさらにセッシヨン 410—5が確 立されデータ転送が行われた動作手順例を示している。 この動作手順例を以下に 説明する。
ステップ T600〜T604: 図 6 のステップ Τ400〜Τ404 と同様であり、 セッション 410_5が確立され、管理テーブル 50aにセッション 410_5の行が追加され(図 7 (1) 参照。 )、 データバケツト 700_73が、 サーバ 500— 1からユーザ端末 200— 1に送信 される。
ステップ T605〜T613:図 6のステップ Τ405〜Τ413と同様であり、 管理テーブル 50aのセッシヨン 50a— 3 = "410—5"の行において、送信元ポート 50a— 4= "1004"、 宛先ポート 50a— 5 "2000"、 確認応答番号 50a— 6= "20000"、 確認応答番号 50a_7 = "24000"、及びウインドウ 50a_9 = "4000"に設定され、データ長 50a_8 = "4000" 及ぴ帯域 50a— 11 = "500k"が演算され、タイマ 50a_10 = "0. 008 (s) "が計時され、 この時間を保持した後タイマ 50a_10が再起動される。
また、帯域計測部 10aは、確認応答バケツ ト 700_79をウィンドウサイズ変更部 20a に与え、 ウィンドウサイズ変更部 20a は、 判定結果 801 (合計帯域 50a— 12 = "2. 65M" <最大帯域値 = "2. 8 " )に基づき、 確認応答バケツト 700—79を変更せ ずにサーバ 500— 1に転送する。 この時点では、 帯域制御は実行されない。
さらに、帯域計測部 10aは、帯域 50a一 11 = "500k"を式(1)で演算した後 (図 7 (1) のステップ S10)、 合計帯域 50a_12 = "3. 15M" を求める。
図 10は、図 9に示したセッション 410— 5におけるデータ転送の続きを示してい る。
ステップ T605〜T613 :図 9のステップ Τ605〜Τ613と同一ステップを示している。 ステップ Τ614〜Τ619:管理テープル 50a (図 7 (1)参照。 :)のセッション 50a— 3 = "410— 5"の行において、送信元ポート 50a— 4= "1004"、宛先ポート 50a— 5 = "2000"、 確認応答番号 50a_6 = "24000" , 確認応答番号 50a一 7 = "28000"、 及ぴウィンドウ 50a— 9 = "4000" が再設定される(同図(1)のステップ S11参照。 )。 計時されたタ イマ 50a— 10 = "0. 008 (s) " が保持された後、 タイマ 50a_10が再起動される。 ウィンドウサイズ変更部 20aは、 判定結果 801 (合計帯域 50a_12 == "3. 15M" > 最大帯域値 50a— 1 = "2. 8M":帯域超過の検出、 同図(1)のステップ S12参照。 )に 基づき、 確認応答バケツト 700_84のウィンドウ 720f = "4000" を、 例えば半分 の "2000"にした確認応答バケツト 700一 85をサーバ 500—1に送出する帯域制御が 行われる(同図(2)のステップ S13参照。 ;)。
ステップ T620:データ長 50a_8 = "4000"、 及ぴ帯域 50a_l l = "500k" が演算さ れた後、 合計帯域 50a_12 = "3. 15 " が求められる。
図 7 (2)を参照して、 以後の動作を説明する。
ステップ S14, S15:サーバ 500—1 は、 指定されたウィンドウサイズ内でデータ を送信して来るため、 データパケットが減り、 帯域が減少する。 すなわち、 セッ シヨン 410— 5の帯域 50a_llは、 "250k" に減少し、 合計帯域 50a— 12= "2. 9M" と なる。
ステップ S16 :この合計帯域 50a— 12 = "2. 9M"が、まだ最大帯域値 50a_l = "2. 8M" を超過しているため、 次に確認応答バケツトを受信したセッション 410—4のウイ ンドウ 720f= "6000" 、 半分の "3000" に設定する帯域制御が行われる。
ステップ S17, S18:セッション 410—4の帯域 50a— 11 = "0. 75M" に減少し、 帯域 制限解除値 = "2. 3M"く合計帯域 50a— 12= "2. 15M" <最大帯域値 50a— 1 = "2. 8M" となる。 この後、 次に受信したセッション 410の確認応答パケット 700のウィン ドウ 720f の値を変更せずにトランスペアレントに送信する。 これにより、全ユー ザに対して公平な帯域制御を行うことが可能になる。
なお、上述した帯域制御では、各ユーザの最大帯域を 2. 8MByte/sに制限する場 合であり、 セッション数ゃウインドウサイズには関係なく合計帯域で判断してい る。
実施例(2) :確認応答時間変更
図 11は、本発明に係る帯域制御装置 100bの実施例(2)を示している。 この帯域 制御装置 100bが、 図 2に示した帯域制御装置 100aと異なる点は、 それぞれ、 ゥ インドウサイズ変更部 20a及び帯域計測部 10a の代わりに確認応答時間変更部 20b及ぴ帯域計測部 10bを備え、この帯域計測部 10bを構成する管理テーブル 50b には、 2つのタイマ 50b— 10, 50b_12を備えていることである。
また、 帯域計測部 10bが、 最大帯域値/帯域制限解除値設定部 40に最大帯域値 50b_l 及び帯域制限解除値 50b— 2 を与え、 最大帯域超過判定部 30 に合計帯域 50b— 14を与えることも異なっている。
動作において、 この帯域制御装置 100bが、 帯域制御装置 100aと異なる点は、 確認応答時間変更部 20bが、 予め設定された最大帯域値 50b_l又は帯域制限解除 値 50b— 2を合計帯域が超過したか否かの判定結果に基づき、 ユーザ毎に受信した 確認応答バケツト 700_bを転送する時間を遅延させることである。
この遅延時間は、 確認応答バケツト(例えば、 確認応答番号 720d= "2000" )を サーバ 500—1に与えてから、それに対応するデータバケツト(例えば、 シーケンス 番号 720c == "2000" )を受信するまでの応答時間を基準として、 この基準時間の 例えば 180%増しにする。
なお、 応答時間の信頼性を増すために、 平均応答時間を用いる。 また、 平均応 答時間は、 受信データパケットの廃棄、 遅延等も考慮した平均を取る。
図 12は、 図 11に示した管理テーブル 50bの実施例を示している。 この管理テ 一ブル 50b力 S、図 7に示した管理テーブル 50aと異なる点は、平均往復時間 50b_10 及び変更時間 50b— 11が追加されていることである。
管理テーブル 50bは、 図 3、 5、 6、 8〜10に示した帯域制御装置 100aの動作手 順例と同様に、 ユーザ(IPアドレス)毎に作成され、 同一ユーザに対応するセッシ ヨンの帯域が、式(1)に基づき計測され、ユーザの全セッションの合計帯域が求め られる。
図 12 (1)には、 図 3、 5、 6、 8〜: L0に示した帯域制御装置 100aの動作手順と同 様の確認応答バケツト 700及びデータバケツト 700が、 ユーザ端末 200_1 とサー バ 500_1 との間で送受信された場合に設定される値が示されている。 各セッショ ン 410— 1〜410— 5の送信元ポート 50b— 4、宛先ポート 50b一 5、確認応答番号 50b_6、 確認応答番号 50b_7、データ長 50b_8、ウィンドウ 50b— 9、確認応答間時間 50b— 12、 及び帯域 50b— 13、 及び合計帯域 50b— 14に設定されたデータの値は、 それぞれ、 図 7 (1)の各セッション 410— 1〜410— 5の送信元ポート 50a— 4、 宛先ポート 50a— 5、 確認応答番号 50a— 6、 確認、応答番号 50a— 7、 データ長 50a_8、 ウィンドウ 50a— 9、 確認応答間時間 50a一 10、 及ぴ帯域 50a_l l、 及び合計帯域 50a_12と同一である。 図 13は、 帯域制御装置 100bの動作手順を示している。 この動作手順例を以下 に説明する。 図 10に示したステップ T605〜T618と同様に、 ユーザ端末 200_1の セッション 410—5が追加された後、 ユーザ端末 200_1とサーバ 500—1 との間で、 確認応答パケット及びデータバケツトが送受信される。
ステップ Τ700:ユーザ端末 200—1は、確認応答バケツト 700—100をサーバ 500_1 に宛てて送出する。
ステップ Τ701〜Τ704:サーバ 500_1は、 データバケツト 700_101〜70_104をュ 一ザ端末 200_1に宛てて送出する。
ステップ Τ705:ユーザ端末 200—1は、確認応答バケツト 700—105をサーバ 500_1 に宛てて送出する。
ステップ Τ706:確認応答番号 720d= "2000" の確認応答バケツト 700一 105を受 信した帯域計測部 10bにおいて、管理テーブル 50b内のタイマ 50b_10及び 50b_12 が起動する。 以後のタイマ 50b_12の動作は、 図 7に示したタイマ 50a— 10と同様 であるので説明は省略する。
ステップ T707〜T710:サーノ 500—1は、 データパケット 700— 106〜70— 109をュ 一ザ端末 200—1に宛てて送出する。 帯域計測部 10bにおいて、 タイマ 50b— 10は、 確認応答番号 720d= "2000" と同一のシーケンス番号 720c = "2000" のデータパ ケット 700_106の受信した時、 停止する。 すなわち、 タイマ 50b— 10は、 平均往復 時間 50b— 10 (確認応答バケツト 700_105の転送時からデータバケツト 700_106の 受信時までの時間)を計測する。 なお、 この平均往復時間 50b_10は、 各セッショ ン 410_1〜410_5毎に確認応答パケットを受信する度に行われ、 図 7 (1)では、 そ れぞれ、 "0. 01 (s) "、 "0. 01 (s) "、 "0. 08 (s) "、 "0. 08 (s) "、 "0. 08 (s) " が計測され ている。
ステップ T711:ユーザ端末 200—1は、確認応答パケット 700_110をサーバ 500—1 に宛てて送出する。
ステップ T712:帯域制御装置 100bにおいて、 図 10のステップ T619, T620と同 様に、 最大帯域超過判定部 30は帯域超過発生を検出し、 確認応答時間変更部 20b は、 確認応答パケット 700— 110を、 タイマ 50b— 10に保持されていた "0. 08 (s) " の 188%増しにした "0. 15 (s) " だけ遅らせた確認応答バケツト 700一 111 をサーバ 500—1に転送する。 ステップ T713〜T718:サーバ 500— 1は、 データバケツト 700— 112〜700— 115をュ 一ザ端末 200—1に送信する。
ステップ T719: この結果、 例えば、 データバケツト 700—112は、 確認応答パケ ット 700—110が遅延されない場合、 時点 T715'にユーザ端末 200—1 に到着する答 であるが、 時間 T715だけ遅れて到着したことになり、 セッション 410_5の帯域を 減少させたことなる。 したがって、 ユーザ端末 200—1の合計帯域 50b— 14も減少す ることが可能になる。
以後、図 7に示したステップ S10〜S18と同様のステップ S20〜S28が実行され、 合計帯域 50b— 14が、最大帯域値 50b_lを超過している場合、確認応答バケツ トが 遅延される。
その後の最大帯域超過判定において、 帯域超過が無くなればそのままの遅延時 間で全てのセッション 410_1〜410— 5が動作する。 さらに、 その後、 ユーザの合計 帯域 50b_14が帯域制限解除値 50b_2を下回れば、確認応答バケツトを遅延させて いたセッション 410一 1の変更時間 = "0 (s) " にして、 ユーザ端末 200— 1からの確 認応答バケツ トを遅延させずにそのままトランスペアレントに転送する。
図 14は、 上述した実施例(1)又は実施例(2)の帯域制御で、 各セッション 410— 1 〜410— 5の帯域 50a— 11又は 50b_13、及び合計帯域 50a— 12又は 50b_14の時間的な 推移を示している。 この推移を以下に説明する。
ステップ T800:セッション 410— 1〜410— 3が、 順次確立される。
ステップ T801 , T802:セッション 410—4が確立され、 このセッション 410— 4の 確認応答バケツ ト 700— 4aを契機に、 合計帯域 50a— 12が最大帯域値 50a— 1以上で あることが認識され、 セッション 410— 4の帯域制限が開始される。
ステップ T803, T804:セッション 410—2の確認応答バケツト 700— 2aを契機に、 まだ、合計帯域 50a— 12が最大帯域値 50a— 1以上であることが認識され、 セッショ ン 410_2の帯域制限が開始される。
ステップ T805:合計帯域 50a— 12が最大帯域値 50a_l以下であり、 帯域制限はそ のまま継続する。
ステップ T806, T8Q7:セッション 410—5が確立され、 このセッション 410_4の 確認応答パケッ ト 700_4bを契機に、 合計帯域 50a—12が最大帯域値 50a一 1以上で あることが認識され、 セッション 410—4の帯域制限が開始される。
ステップ T808, T809:セッション 410_3の確認応答バケツト 700_3bを契機に、 まだ、 合計帯域 50a_12が最大帯域値 50a— 1以上であることが認識され、 セッショ ン 410_3の帯域制限が開始される。
ステップ T810:合計帯域 50a_12が最大帯域値 50a— 1以下であり、 帯域制限はそ のまま継続する。
ステップ T811 , T812:セッション 410_1が終了し、 合計帯域 50a_12が帯域制限 解除値 50a_2以下になる。
ステップ T813:セッション 410—4の確認応答パケット 700_4cを契機に、 合計帯 域 50a— 12が帯域制限解除値 50a_2以下であることが認識され、 セッション 410_4 の帯域制限が解除される。
ステップ T814, T815:合計帯域 50a_12が最大帯域値 50a— 1以上になり、 セッシ ョン 410—5の確認応答バケツト 700_5bを契機に、 合計帯域 50a— 12が最大帯域値 50a— 1以上であることが認識され、 セッション 410— 5の帯域制限が開始される。 ステップ T816:合計帯域 50a_12が最大帯域値 50a— 1以下であり、 帯域制限はそ のまま継続する。
ステップ T817, T818:セッション 410_5が終了し、 合計帯域 50a一 12が帯域制限 解除値 50a— 2以下になる。
ステップ T819:セッション 410—3の確認応答パケット 700_3cを契機に、 合計帯 域 50a_12が帯域制限解除値 50a_2以下であることが認識され、 セッション 410—3 の帯域制限が解除される。
ステップ T820:合計帯域 50a— 12が、 帯域制限解除値 50a_2以上且つ最大帯域値 50a_l以下であり、 帯域制限が行われない状態が継続する。
これにより、ユーザに対応する合計帯域 50a— 12の帯域制御が行われたことにな る。
実施例(3) :装置全体の帯域調整したネットワーク
図 15は、 ISP310— 1を示しており、 ISP310_1は、 複数のユーザを収容しインタ ーネット 300との接続を行っている。 すなわち、 ISP310— 1は、 ユーザ側に実装さ れてたルータ 110— 1〜110_3 (以下、 符号 110で総称することがある。 )に、 それぞ れ、 ユーザ端末 200— l_l〜200_l_ i、 ユーザ端末 200_2— 1〜200_2— j、 ユーザ端末 200_3— 1〜200— 3_k (以下、符号 200で総称することがある。)を収容し、ルータ 110一 4 及びルータ 110—5を経由してィンターネット 300に接続されている。
ルータ 110_1〜110_3は、 それぞれ、 本発明の帯域制御装置 100— 1〜100— 3を備 えており、 これらの帯域制御装置 100— 1〜: 100_3 には、 それぞれ、 管理テーブル 60—1〜60—3 (図示せず。 )が含まれている。
図 16 (1) 〜(3)は、 それぞれ、 図 15に示した管理テーブル 60_1〜60— 3を示して おり、各管理テーブル 60_1〜60_3は、それぞれ、最大帯域制限値 60— 1_1〜60— 3_1、 並びに対応するルータ 110 に接続された各ユーザ端末 200 の帯域制限値 60_1一 2 及び現使用帯域 60_し3、 帯域制限値 60— 2_2及び現使用帯域 60— 2_3、 並びに帯域 制限値 60_3— 2及び現使用帯域 60_3一 3、 並びに総計帯域 60— 1— 4〜60_3— 4で構成さ れている。
最大帯域制限値 60_1— 1〜60_3_1には、 ユーザに対する帯域制限の有/無を示す フィールドも含まれている。
同図(4)は、 総計帯域 60_4を示しており、 総計帯域 60_4には、 管理テーブル 60一 1〜60— 3の現使用帯域 60— 1— 3〜60— 3_3の総計帯域 60__1_4〜60_31_4が集計さ れる。
管理テーブル 60— 1のユーザ端末 200_し 1〜200一 1一 iの現使用帯域は、それぞれ、 3. 0MBps〜x. MBpであり、 この総計帯域 60—1—4は 48. O Bpsである。 同様に、 管 理テーブル 60_2, 60— 3の総計帯域 60— 2_4, 60_3— 4は、 それぞれ、 70. OMBps及ぴ 28. OMBpsである。 総計帯域 60— 1_4〜60_3— 4の合計が、 総計帯域 60_4= " 146M" である。
動作において、 ISP310_1の制御部(図示せず。 )は、 帯域制御装置 100— 1〜: 100一 3 の総計帯域 60— 4 = " l46MBps" を算出し、 予め設定した最大帯域値二 " 130MBps" を超過した場合、 各ルータ単位さらにはユーザ単位に帯域制限する。
管理テーブル 60— 1〜60—3 には、 ルータ(帯域制御装置)毎に、 最大帯域制限値 60一 1一 1 = "有、標"、最大帯域制限値 60_2— 1 = "有、 50M "ヽ最大帯域制限値 60— 3—1 = "無、 40M" が設定されている。
管理テープル 60—1 , 60—2には、ユーザ端末毎に、それぞれ、 "3. 0M"及び "4. 0M" が設定されている。 管理テーブル 60__3 には、 現使用帯域の総計帯域 60_3— 4 = "28. 0M" 最大帯域制限値 60_3— 1 =、 0M" に達していないのでユーザ端末に 帯域制限を行っていない。
これにより、 ISP310_1では、 ィンターネット 300又は ISP310_1 内のユーザ端 末 200とのデータ転送が、 輻輳廃棄を発生すること無く可能になる。
図 17は、実施例(1)〜実施例(3)の帯域制御を行ったネットワークの状態を示し ており、 本発明においては、 ユーザ単位(実施例(3)では、 例えば、 最大帯域制限 値を越えたルータ 110一 2, 110— 3の帯域制御装置 100_2, 100—3において)で帯域制 限を行うため、 パケットの輻輳廃棄が無く、 また、 特定のユーザに帯域を占領さ れること無く公平な帯域制限が可能になる。
以上、 説明したように本発明の帯域制御装置によれば、 帯域計測部 10が、 ユー ザ毎に 1又は複数の TCPセッションの合計帯域を計測し、 ウィンドウサイズ変更 部 20aが、 該合計帯域が予め設定された最大帯域値を越えているユーザの TCPセ ッシヨンの確認応答パケットのウィンドウサイズを減少させる力、 又は、 確認応 答時間変更部が、 該確認応答パケットを遅延させることにより、 各ユーザのパケ ット 700を廃棄することを無くすること、 また、 ユーザに帯域を公平に割り当て ることが可能になる。
すなわち、 1つのルータに収容されるそれぞれのユーザ帯域が、 ヘビーユーザ (同時間帯での大容量のデータ転送者) によって極端に小さいままになってしま うということを防ぐことができ、 ベストエフオート型の公平を保つことが可能と なる。
また、 例えば、 或るルータのデータ転送が多くなり、 輻輳状態に陥り廃棄を起 こすことになった場合、 廃棄分の TCP再送制御が行われることとなりネッ トヮー ク及びサーバ等に負荷をかけることとなるが、 ユーザに対して帯域制限をかけれ ば輻輳発生頻度を低減させることが可能となる。
また、 統計的に輻輳を起こしやすいルータに、 本発明の帯域制御装置を備える ことで、 輻輳廃棄を未然に防ぐことが可能となり、 ネットワークの最適運用が可 能になる。

Claims

請 求 の 範 囲
1 .ユーザ毎に 1又は複数の TCPセッションの合計帯域を計測する帯域計測部と、 該合計帯域が、 予め設定された最大帯域値を越えているか否かを判定する判定 部と、
該合計帯域が該最大帯域値を越えているユーザの TCPセッション確認応答パケ ットのウィンドウサイズを減少させるウィンドウサイズ変更部と、
を備えたことを特徴とする帯域制御装置。
2 . 請求の範囲 1において、
該判定部は、 該合計帯域が予め設定された帯域制限解除値を越えているか否か を判定し、
該ウィンドウサイズ変更部は、 該合計帯域が該帯域制限解除値を越えていない ユーザの TCPセッション確認応答バケツトのウィンドウサイズを増加させること を特徴とした帯域制御装置。
3 .ユーザ毎に 1又は複数の TCPセッションの合計帯域を計測する帯域計測部と、 該合計帯域が予め設定された最大帯域値を越えているか否かを判定する判定部 と、
該合計帯域が該最大帯域値を越えているユーザの TCPセッション確認応答パケ ットを所定の時間だけ遅延させる確認応答時間変更部と、
を備えたことを特徴とする帯域制御装置。
4 . 請求の範囲 3において、
該判定部は、 該合計帯域が予め設定された帯域制限解除値を越えているか否か を判定し、
該確認応答時間変更部は、 該合計帯域が該帯域制限解除値を越えていないユー ザの TCPセッション確認応答パケットの該所定の時間の遅延量を少なくするか又 は無くすることを特徴とした帯域制御装置。
5 . 請求の範囲 3又は 4において、
該所定の時間が、 該確認応答バケツトを受信した時から該確認応答バケツトに 対するデータバケツトを受信した時までの時間に基づき決定されることを特徴と した帯域制御装置。
6 . ユーザ毎に 1又は複数の TCPセッションの合計帯域を計測し、 全ユーザの該 合計帯域を総計した総計帯域を算出する帯域計測部と、
該総計帯域が装置全体の帯域に基づき決定される最大帯域制限値を越えている か否かを判定する判定部と、
該総計帯域が該最大帯域制限値を越えたときのみ、 ユーザ毎の帯域制限を行う 帯域制限部と、
を備えたことを特徴とする帯域制御装置。
7 . 請求の範囲 6において、
該帯域制限部が、 該総計帯域が該最大帯域制限値を越えたとき、 TCP セッショ ン確認応答パケットのウィンドウサイズを減少させるウィンドウサイズ変更部で あることを特徴とした帯域制御装置。
8 . 請求の範囲 7において、
該判定部は、 該合計帯域が予め設定された該最大帯域制限値以下の帯域制限解 除値を越えているか否かを判定し、
該ウィンドウサイズ変更部は、 該合計帯域が該帯域制限解除値を越えていない ユーザの TCPセッション確認応答バケツトのウィンドウサイズを増加させること を特徴とした帯域制御装置。
9 . 請求の範囲 6において、
該帯域制限部が、 該総計帯域が該最大帯域制限値を越えたとき、 TCP セッショ ン確認応答パケットを遅延させる確認応答時間変更部であることを特徴とした帯 域制御装置。
1 0 . 請求の範囲 9において、
該判定部は、 該合計帯域が予め設定された該最大帯域制限値以下の帯域制限解 除値を越えているか否かを判定し、
該確認応答時間変更部は、 該合計帯域が該帯域制限解除値を越えていないユー ザの TCPセッション確認応答バケツトの時間遅延量を少なくするか又は無くする ことを特徴とした帯域制御装置。
1 1 . 請求の範囲 1において、 該帯域計測部が、 1又は複数の第 1データバケツトに対する第 1確認応答から、 該第 1確認応答後の 1又は複数の第 2データパケットに対する第 2確認応答まで の確認応答間時間を計測するタイマと、 該 1又は複数の第 2データバケツトのデ 一タ長を計数する計数部と、 該合計データ長を該確認応答間時間で割つた値を帯 域値とする演算部と、 を備えたことを特徴とする帯域制御装置。
PCT/JP2003/008975 2003-07-15 2003-07-15 帯域制御装置 Ceased WO2005006673A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005503871A JP4128198B2 (ja) 2003-07-15 2003-07-15 帯域制御装置
PCT/JP2003/008975 WO2005006673A1 (ja) 2003-07-15 2003-07-15 帯域制御装置
US11/270,348 US20060056300A1 (en) 2003-07-15 2005-11-08 Bandwidth control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/008975 WO2005006673A1 (ja) 2003-07-15 2003-07-15 帯域制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/270,348 Continuation US20060056300A1 (en) 2003-07-15 2005-11-08 Bandwidth control apparatus

Publications (1)

Publication Number Publication Date
WO2005006673A1 true WO2005006673A1 (ja) 2005-01-20

Family

ID=34044630

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/008975 Ceased WO2005006673A1 (ja) 2003-07-15 2003-07-15 帯域制御装置

Country Status (3)

Country Link
US (1) US20060056300A1 (ja)
JP (1) JP4128198B2 (ja)
WO (1) WO2005006673A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009218912A (ja) * 2008-03-11 2009-09-24 Nec Corp 無線通信システム及びその方法と、それらに用いられる装置及びプログラム
JP2010213098A (ja) * 2009-03-11 2010-09-24 Mitsubishi Electric Corp 優先制御装置および優先制御方法
JP2014131093A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd プログラム、情報処理装置、及び通信方法
JP2015512572A (ja) * 2012-03-21 2015-04-27 ▲ホア▼▲ウェイ▼技術有限公司 肯定応答パケットを処理するための方法、装置、およびシステム
JP2015106880A (ja) * 2013-12-02 2015-06-08 富士通株式会社 通信ノード

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100762650B1 (ko) * 2005-03-10 2007-10-01 삼성전자주식회사 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치
US7719967B2 (en) * 2005-09-28 2010-05-18 Netapp, Inc. Cumulative TCP congestion control
US8031691B2 (en) * 2006-08-09 2011-10-04 Samsung Electronics Co., Ltd. System and method for wireless communication of uncompressed video having acknowledgment (ACK) frames
US8111654B2 (en) * 2006-08-09 2012-02-07 Samsung Electronics Co., Ltd. System and method for wireless communication of uncompressed video having acknowledgement (ACK) frames
US8391354B2 (en) * 2007-05-14 2013-03-05 Broadcom Corporation Method and system for transforming uncompressed video traffic to network-aware ethernet traffic with A/V bridging capabilities and A/V bridging extensions
US8370622B1 (en) * 2007-12-31 2013-02-05 Rockstar Consortium Us Lp Method and apparatus for increasing the output of a cryptographic system
US8477624B2 (en) * 2008-03-31 2013-07-02 Lenovo (Singapore) Pte. Ltd Apparatus, system, and method for managing network bandwidth
US8462659B2 (en) * 2010-06-15 2013-06-11 Velocent Systems Incorporated Method and apparatus pertaining to the assessment of mobile communications network infrastructure latency through high-speed channels
US9003022B2 (en) 2010-06-17 2015-04-07 Zettics, Inc. Determining an average effective data through-put as corresponds to a network-served end user
US8639835B2 (en) * 2010-11-29 2014-01-28 Verizon Patent And Licensing Inc. TCP window size performance optimization in wireless networks
US8433808B1 (en) * 2011-02-01 2013-04-30 Juniper Networks, Inc. Learning values of transmission control protocol (TCP) options
CN104521167A (zh) * 2013-06-28 2015-04-15 华为技术有限公司 一种数据传输方法、装置、基站及用户设备
CN105765924B (zh) * 2013-09-11 2019-06-07 飞比特网络股份有限公司 应用状态变化通知方法以及存储介质
US9716667B2 (en) 2014-08-29 2017-07-25 Intel IP Corporation Communication terminal and method for controlling a data transmission
EP3488659B8 (en) 2016-07-22 2023-03-08 Panasonic Intellectual Property Corporation of America Transmission appratus and transmission method
CN108228337B (zh) * 2016-12-22 2021-08-27 财团法人工业技术研究院 中央处理单元的配置方法及适用此方法的服务器
KR102429904B1 (ko) * 2017-09-08 2022-08-05 삼성전자주식회사 PCIe P2P 접속의 밴드위스를 최대화할 수 있는 방법 및 시스템
US10893030B2 (en) * 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002261765A (ja) * 2001-03-06 2002-09-13 Hitachi Kokusai Electric Inc ネットワーク帯域制御方式
JP2003078560A (ja) * 2001-09-05 2003-03-14 Oki Electric Ind Co Ltd トランスポートレイヤプロトコルにおけるフロー制御方式
JP2003124984A (ja) * 2001-10-18 2003-04-25 Mitsubishi Electric Corp データ配信管理装置、データ配信管理システムおよびデータ配信管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473793B1 (en) * 1994-06-08 2002-10-29 Hughes Electronics Corporation Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users
US6320846B1 (en) * 1997-08-05 2001-11-20 Hi/Fm, Inc. Method and apparatus for controlling network bandwidth
US6438101B1 (en) * 1997-12-23 2002-08-20 At&T Corp. Method and apparatus for managing congestion within an internetwork using window adaptation
US6600737B1 (en) * 1999-02-11 2003-07-29 Mediaring Ltd. Bandwidth protection for voice over IP
US6560243B1 (en) * 1999-04-30 2003-05-06 Hewlett-Packard Development Company System and method for receiver based allocation of network bandwidth
US7126916B1 (en) * 2000-08-24 2006-10-24 Efficient Networks, Inc. System and method for packet bypass in a communication system
TW527804B (en) * 2001-05-25 2003-04-11 Accton Technology Corp Method and apparatus for bandwidth management of TCP traffic employing post-acknowledgement control
US7979571B2 (en) * 2002-01-15 2011-07-12 Hughes Network Systems, Llc Method and system for providing load sensitive throttling
US7486696B2 (en) * 2002-06-25 2009-02-03 Avaya, Inc. System and method for providing bandwidth management for VPNs
US7171482B2 (en) * 2002-07-12 2007-01-30 Ianywhere Solutions, Inc. System and method for managing bandwidth utilization
EP1383281A1 (en) * 2002-07-19 2004-01-21 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method for calculating a transmission window size
US7069326B1 (en) * 2002-09-27 2006-06-27 Danger, Inc. System and method for efficiently managing data transports

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002261765A (ja) * 2001-03-06 2002-09-13 Hitachi Kokusai Electric Inc ネットワーク帯域制御方式
JP2003078560A (ja) * 2001-09-05 2003-03-14 Oki Electric Ind Co Ltd トランスポートレイヤプロトコルにおけるフロー制御方式
JP2003124984A (ja) * 2001-10-18 2003-04-25 Mitsubishi Electric Corp データ配信管理装置、データ配信管理システムおよびデータ配信管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KATSUMURA, Y. "Taiiki Seigyo Tool Jitsu-System eno Donyu Susumu Kino ya Sosasei ga Jujitsusi, Seihinkan no Sa wa Chiisai", Nikkei Internet Technology, Nikkei Business Publications, Inc., No. 34, 22 April 2000, pages 130-139 *
KIKUCHI, T. "Internet-jo de Taiiki Kakuho Senyosen no Ubaiai o Fusegu", Nikkei Communications, Nikkei Business Publications, Inc., No. 252, 18 August 1997, pages 110-113 *
YASUI, H. "Packet Shaper Hyoka Takai Hofu na Kino to Shinraisei Muzukashii Tuning ni Fuman no Koe", Nikkei Communications, Nikkei Business Publications, Inc., No. 316, 17 April 2000, pages 88-97 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009218912A (ja) * 2008-03-11 2009-09-24 Nec Corp 無線通信システム及びその方法と、それらに用いられる装置及びプログラム
JP2010213098A (ja) * 2009-03-11 2010-09-24 Mitsubishi Electric Corp 優先制御装置および優先制御方法
JP2015512572A (ja) * 2012-03-21 2015-04-27 ▲ホア▼▲ウェイ▼技術有限公司 肯定応答パケットを処理するための方法、装置、およびシステム
US9602410B2 (en) 2012-03-21 2017-03-21 Huawei Technologies Co., Ltd. Method, device, and system for processing acknowledgement packet
JP2014131093A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd プログラム、情報処理装置、及び通信方法
US9906331B2 (en) 2012-12-28 2018-02-27 Fujitsu Limited Communication method, information processing apparatus and recording medium
JP2015106880A (ja) * 2013-12-02 2015-06-08 富士通株式会社 通信ノード

Also Published As

Publication number Publication date
JP4128198B2 (ja) 2008-07-30
US20060056300A1 (en) 2006-03-16
JPWO2005006673A1 (ja) 2006-08-31

Similar Documents

Publication Publication Date Title
JP4128198B2 (ja) 帯域制御装置
Balakrishnan et al. How network asymmetry affects TCP
RU2316127C2 (ru) Спектрально-ограниченная контролирующая пакетная передача для управления перегрузкой и установления вызова в сетях, основанных на пакетах
US10218620B2 (en) Methods and nodes for congestion control
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
US8737214B2 (en) System, method and computer program for intelligent packet distribution
CN102474463B (zh) 通信装置以及通信方法
US6014707A (en) Stateless data transfer protocol with client controlled transfer unit size
US8873385B2 (en) Incast congestion control in a network
US20060165029A1 (en) Protecting real-time data in wireless networks
US20050213507A1 (en) Dynamically provisioning computer system resources
JP3639792B2 (ja) ネットワークシステムとその通信帯域制御方法
CN100534069C (zh) 非对称和多并发网络的加速方法
WO2004017663A1 (en) Traffic control in cellular networks
WO2012129922A1 (zh) 一种报文处理方法、转发设备及系统
CN112822120B (zh) 一种实现拥塞控制的方法、装置和系统
CN106936730A (zh) 一种报文发送方法、tcp代理以及tcp客户端
EP1701506B1 (en) Method and system for transmission control protocol (TCP) traffic smoothing
US20070127513A1 (en) Starvation reduction in TCP/IP applications
CN110381036A (zh) 一种用于dash流媒体的tcp拥塞控制方法
JP2007013449A (ja) シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
Irawan et al. Performance evaluation of queue algorithms for video-on-demand application
KR100653454B1 (ko) 홈네트워크 환경에서 서비스 별 서비스품질 보장을 위한동적 트래픽 관리 장치 및 그 방법
JP2003046555A (ja) 帯域監視装置
US12218851B2 (en) System and method for calibration of traffic flow acceleration

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2005503871

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11270348

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 11270348

Country of ref document: US