WO2020022209A1 - ネットワーク制御装置及びネットワーク制御方法 - Google Patents

ネットワーク制御装置及びネットワーク制御方法 Download PDF

Info

Publication number
WO2020022209A1
WO2020022209A1 PCT/JP2019/028440 JP2019028440W WO2020022209A1 WO 2020022209 A1 WO2020022209 A1 WO 2020022209A1 JP 2019028440 W JP2019028440 W JP 2019028440W WO 2020022209 A1 WO2020022209 A1 WO 2020022209A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
observation data
shaping
application server
communication device
Prior art date
Application number
PCT/JP2019/028440
Other languages
English (en)
French (fr)
Inventor
尊広 久保
悠 中山
寛之 鵜澤
大介 久野
陽一 深田
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US17/257,720 priority Critical patent/US11451481B2/en
Publication of WO2020022209A1 publication Critical patent/WO2020022209A1/ja

Links

Images

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
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control

Definitions

  • the present invention relates to a network control device and a network control method.
  • C-RAN Centralized Radio Access Network
  • REs Radio @ Equipment
  • RECs Radio @ Equipment @ Controls
  • L2 layer 2
  • L2 delay-allowed traffic
  • IoT Internet of Things
  • a large number of terminals simultaneously connect to an application server on a network. Due to these simultaneous connections, the connection destination server may not be able to process packets arriving in bursts from the terminal. Since a session request packet from a terminal is considered as an example of a packet arriving in a burst, a case where the packet arriving in a burst is a session request packet will be described as an example.
  • the traffic to each destination is reduced by shaping the flow flowing through the L2SW so that the server on the network does not accept the number of session request packets exceeding the processing capacity. It has been smoothed.
  • the server may discard the received packet more than before the processing capacity is exhausted. In such a situation, there is a problem that the processing request packet cannot be distributed in the L2NW even though the packet processing is not performed in the server and the packet is discarded.
  • One embodiment of the present invention provides a method in which a relay network including one or more relay devices is input to the relay device from the relay device in a network system that relays a packet between a first communication device and a second communication device.
  • Uplink observation data indicating the amount of traffic of a processing request packet addressed to the second communication device from the first communication device, obtained by observing a packet, and transmitted by the second communication device in response to the processing request packet
  • a data collection unit that collects downlink observation data indicating the traffic volume of the response packet, and a ratio of the traffic volume indicated by the uplink observation data and the traffic volume indicated by the downlink observation data, or from the uplink observation data.
  • a control unit for changing the shaping rate is the speed for passing the second communication device a packet addressed to the relay device constituting a relaying network is a network controller comprising.
  • One embodiment of the present invention is the above-described network control device, wherein the traffic amount is an input data rate, an input data amount, or an input packet number to the relay device.
  • One embodiment of the present invention is the above-described network control device, wherein the control unit is configured to execute a ratio between the traffic amount indicated by the uplink observation data and the traffic amount indicated by the downlink observation data, or the uplink observation data. Based on the ratio of the increase in the traffic amount obtained from and the increase in the traffic amount obtained from the downlink observation data, to detect the occurrence or end of the burst traffic of the processing request packet addressed to the second communication device, When the occurrence is detected, the shaping rate is reduced, and when the termination is detected, the shaping rate is increased.
  • One embodiment of the present invention is the above-described network control device, wherein the control unit compares the traffic amount indicated by the uplink observation data with a traffic amount of a processing request packet that can be processed by the second communication device. Or, based on a comparison between the increase in the traffic amount obtained from the uplink observation data and the increase in the traffic amount of the processing request packet that can be processed by the second communication device, addressed to the second communication device The occurrence of burst traffic of the processing request packet is detected.
  • One embodiment of the present invention is the above-described network control device, wherein the control unit is configured to execute the second one of the relay devices configuring the relay network until receiving a notification that a shaping rate can be changed.
  • the request for changing the shaping rate is transmitted in order from the relay device close to the two communication devices.
  • One embodiment of the present invention is the above-described network control device, wherein the relay network is a layer 2 network, and the relay device is a layer 2 switch.
  • One embodiment of the present invention is the above-described network control device, wherein the processing request packet is a session request packet for requesting start of a session, and the response packet is a session response indicating a response to the session request packet. Packet.
  • One embodiment of the present invention provides a method in which a relay network including one or more relay devices is input to the relay device from the relay device in a network system that relays a packet between a first communication device and a second communication device.
  • Uplink observation data indicating the amount of traffic of a processing request packet addressed to the second communication device from the first communication device, obtained by observing a packet, and transmitted by the second communication device in response to the processing request packet
  • a network control method and a control step of changing the shaping rate is the speed at which the packet is passed to the second communication device addressed to the relay device constituting the relay network.
  • FIG. 1 is a diagram illustrating a configuration of a network system according to a first embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a configuration of an L2NW according to the same embodiment.
  • FIG. 3 is a diagram illustrating another configuration of the network system according to the embodiment.
  • FIG. 3 is a block diagram illustrating a configuration example of an L2SW according to the same embodiment.
  • FIG. 3 is a block diagram showing a configuration of the NW controller according to the same embodiment. It is a figure showing the hop number data by the embodiment. It is a figure which shows the upstream observation data by the embodiment. It is a figure which shows the downlink observation data by the embodiment.
  • FIG. 3 is a diagram illustrating a flow of a session request packet and a session response packet in the L2NW according to the embodiment.
  • FIG. 4 is a diagram illustrating timing of an input data rate of a session response packet used for comparison with an input data rate of a session request packet according to the first embodiment.
  • FIG. 3 is a sequence diagram in which the NW controller according to the embodiment performs shaping setting on the L2SW. It is a flowchart which shows the shaping start processing of the network system by the embodiment. It is a flowchart which shows the shaping completion process of the network system by the embodiment.
  • FIG. 11 is a diagram illustrating upstream-period upstream observation data according to the second embodiment.
  • FIG. 3 is a diagram illustrating uplink incremental data according to the first embodiment.
  • FIG. 14 is a diagram illustrating processing capability data according to the third embodiment. It is a flowchart which shows the shaping start processing of the network system by the embodiment.
  • FIG. 2 is a diagram illustrating packet shaping according to the related art.
  • FIG. 3 is a diagram illustrating burst traffic generation in an L2NW according to the related art.
  • the present embodiment relates to an L2 network technology. Specifically, the present embodiment relates to detection of an application server load connected to an L2NW that accommodates one or more services.
  • the terminal and the application server communicate via the L2NW.
  • L2NW is configured by L2SW.
  • the direction from the terminal to the application server is described as up, and the direction from the application server to the terminal is described as down.
  • the network controller (NW controller) periodically collects, from the L2SW, traffic data of a processing request packet addressed to the application server from the terminal and traffic data of a response packet from the application server.
  • the processing request packet is a packet for requesting the application server to perform processing, and the response packet is transmitted as a response to the processing request packet.
  • the processing request packet is a session request packet for requesting the start of a session
  • the response packet is a session response packet indicating a response to the session request packet.
  • the NW controller uses the collected traffic data to detect the exhaustion of the processing capacity in the application server or the occurrence of burst traffic. More specifically, the NW controller determines the ratio of the input data rate, the ratio of the input data amount, the ratio of the number of input packets, or the ratio of the input data rate increment between the session request packet and the session response packet in the L2SW. To perform detection. Alternatively, the NW controller performs the detection based on a comparison between the input data rate, the input data amount, or the input data rate increment of the session request packet and those upper limit values that can be processed by the application server.
  • the NW controller sends the flow of all packets or session request packets addressed to the application server to the L2SW of the L2SWs constituting the L2NW that is as close as possible to the application server in which the processing capacity has been exhausted or the occurrence of the burst traffic has been detected.
  • the shaping rate is set so as to reduce the transmission rate of the traffic flow.
  • the shaping rate is a speed at which a packet input in the L2SW is passed. This suppresses session request packets arriving at the application server at the same time.
  • each L2SW has grasped packet congestion, and the L2SW that has grasped the congestion has reduced the shaping rate in its own device. For this reason, it has been sometimes difficult to control the flow of the packet of the entire L2NW so that the traffic of the session request packet can be processed by the application server.
  • the NW controller grasps the state of the processing capability of the session request packet of the application server and the occurrence of burst traffic without directly communicating with the application server, and reduces the flow of the session request packet in the entire L2NW.
  • the shaping rate in the L2SW can be changed. Therefore, it is possible to distribute the arrival of the session request packet to the application server, prevent packet discarding in the application server and retransmission of delay-allowed traffic, and improve network use efficiency.
  • FIG. 1 is a diagram showing a configuration of a network system 1 according to the first embodiment of the present invention.
  • the network system 1 includes an application server 2, a terminal 3, an L2NW4, and an L3NW (layer 3 network) 7.
  • each application server 2 can provide a different service.
  • the j-th application server 2 (j is an integer of 1 or more and J or less) among J application servers 2 (J is an integer of 1 or more) provided in the network system 1 is referred to as application server 2-j or application server #j Also described.
  • the application server 2-1 provides a service A
  • the application server 2-2 provides a service B.
  • the plurality of terminals 3 connected to the L2NW 4 include a terminal 3 using the service A, a terminal 3 using the service B, and a terminal 3 using other services.
  • the application server 2 and the terminal 3 are connected via the L2NW4 and the L3NW (layer 3 network) 7.
  • the L2NW4 includes one or more L2SW5.
  • the n-th L2SW5 (n is an integer of 1 or more and N or less) among the N L2SW5s constituting the L2NW4 is also described as L2SW # n.
  • the application server 2 and the terminal 3 may be directly connected to the L2NW4 without going through the L3 network.
  • the L2NW4 further includes an NW controller 6.
  • the NW controller 6 is connected to each L2SW5.
  • the NW controller 6 and the L2SW 5 may be integrated.
  • the NW controller 6 may be housed in the same housing as the L2SW 5.
  • the NW controller 6 When the NW controller 6 is housed in the same housing as the L2SW 5 and high-speed processing is required, a configuration in which the NW controller 6 is implemented as hardware in each L2SW 5 can be considered. Further, the NW controller 6 may be a device external to the L2NW4. Further, the L2NW4 may have a configuration like the L2NW4a shown in FIG.
  • FIG. 2 is a diagram showing the configuration of the L2NW 4a.
  • the L2NW 4a has a hierarchical structure of a trunk ring R1 and branch rings R2-1 and R2-2.
  • Each of the trunk ring R1 and the branch rings R2-1 and R2-2 is composed of a plurality of L2SW5s connected in a ring shape.
  • the trunk ring R1 and the branch ring R2-1 are connected by one L2SW5, and the trunk ring R1 and the branch ring R2-2 are connected by another L2SW5.
  • the L2SW5 forming the trunk ring R1 is connected to the NW controller # 1, which is the first NW controller 6, and the L2SW5 forming the branch ring R2-1 is connected to the NW controller # 2, the second NW controller 6.
  • the L2SW 5 configuring the branch line R2-2 is connected to the NW controller # 3 which is the third NW controller 6.
  • NW controller # 3 which is the third NW controller 6.
  • FIG. 3 is a diagram showing the configuration of the network system 1b.
  • the network system 1b shown in FIG. 1 may be used instead of the network system 1 shown in FIG.
  • the network system 1b shown in the figure differs from the network system 1 shown in FIG. 1 in that an L2NW4b is provided instead of the L2NW4.
  • the NW controller 6 is connected to a part of the L2SWs included in the L2NW 4b.
  • FIG. 4 is a block diagram showing a configuration example of the L2SW5.
  • the L2SW 5 includes a first port 51, a matching unit 52, a counter unit 53, a queue 54, a shaper 55, a second port 56, a notification unit 57, and a control unit 58.
  • the matching unit 52, the counter unit 53, the queue 54, and the shaper 55 are described only for upstream packets.
  • L2SW5 includes one or more first ports 51.
  • the first port 51 inputs an upstream packet from the terminal 3 or another downstream L2SW 5.
  • the matching unit 52 classifies the input upstream packet. Specifically, the matching unit 52 determines the destination of the packet and the type of the packet by referring to, for example, the data of the header set in the packet.
  • the type of packet indicates whether it is a session request packet.
  • the counter unit 53 counts the number of bits of a packet each time the matching unit 52 classifies a packet.
  • the counter unit 53 measures the traffic amount of the upstream packet in each observation cycle for each of the destination application server 2 and the type of the packet.
  • the observation cycle is set to a time interval at which the rise of burst traffic can be determined.
  • the traffic volume is represented by the input data rate.
  • the input data rate is a value obtained by dividing the number of bits of a packet input in one observation cycle by a time corresponding to one observation cycle.
  • the counter unit 53 may further count the amount of input data or the number of input packets for each observation cycle as the traffic amount.
  • the input data amount is the number of bits, the number of bytes, and the like of the input packet.
  • the L2SW 5 includes one or more queues 54.
  • the L2SW 5 may include a plurality of queues 54 for different priorities.
  • the queue 54 temporarily stores (buffers) the upstream packet input from the first port 51.
  • the queue 54 for storing the session request packet and the queue 54 for storing the data packet may be the same or different.
  • the shaper 55 reads out the upstream packet stored in the queue 54 according to the set shaping rate, for example, according to the priority, and outputs the packet to the second port 56.
  • L2SW5 includes one or more second ports 56.
  • the second port 56 outputs the upstream packet read from the queue 54 to another upstream L2SW 5 or the application server 2.
  • the L2NW4 has a configuration similar to that of the matching unit 52, the counter unit 53, the queue 54, and the shaper 55 in the downstream direction for transferring a downstream packet from the application server 2 to the terminal 3 (not shown).
  • the downstream matching section 52 (not shown) refers to, for example, header data set in the downstream packet received from the second port 56 and determines the source application server 2 and the type of the packet. I do.
  • the packet type indicates whether or not the packet is a session response packet.
  • the downstream counter unit 53 (not shown) measures the traffic amount of the downstream packet for each of the transmission source application server 2 and the packet type matched by the downstream matching unit 52.
  • the downstream queue 54 (not shown) temporarily stores downstream packets.
  • the downstream shaper 55 (not shown) reads out downstream packets stored in the downstream queue 54 (not shown) according to the priority, and outputs the downstream L2SW 5 or the downstream L2SW 5 via the first port 51. Output to terminal 3.
  • the notification unit 57 periodically notifies the NW controller 6 of the observation data in which the uplink packet observation data and the downlink packet observation data are set.
  • the upstream packet observation data indicates the destination application server 2 and the amount of upstream packet traffic for each packet type observed in one observation cycle.
  • the downstream packet observation data indicates the source application server 2 and the amount of downstream packet traffic for each packet type observed in one observation cycle.
  • the control unit 58 controls each function unit.
  • the control unit 58 controls shaping in the shaper 55.
  • FIG. 5 is a block diagram showing the configuration of the NW controller 6.
  • the NW controller 6 includes a storage unit 61, a data collection unit 62, and a control unit 63.
  • the storage unit 61 stores hop number data and observation data in each L2SW5.
  • the hop number data indicates the number of hops between each application server 2 and each L2SW 5.
  • the data collection unit 62 periodically collects observation data from each L2SW 5 and stores it in the storage unit 61.
  • the control unit 63 includes a shaping start control unit 631 and a shaping end control unit 632.
  • the shaping start control unit 631 calculates the ratio between the input data rate of the session request packet and the input data rate of the session response packet for each application server 2 with reference to the observation data.
  • the shaping start control unit 631 detects, based on the calculated ratio, a temporary exhaustion of the processing capacity in the application server 2 or the occurrence of burst traffic addressed to the application server 2.
  • the shaping start control unit 631 instructs the L2SW 5 to change the shaping rate so as to reduce the detected amount of upstream packet traffic addressed to the application server 2.
  • the shaping start control unit 631 refers to the hop count data, and preferentially designates the L2SW 5 having a small hop count with the application server 2 as an instruction target.
  • the shaping end control unit 632 calculates the ratio between the input data rate of the session request packet and the input data rate of the session response packet for each application server 2 with reference to the observation data. Based on the calculated ratio, the shaping end control unit 632 detects recovery from the temporary exhaustion of the processing capacity in the application server 2 or end of burst traffic addressed to the application server 2. The shaping end control unit 632 instructs the L2SW 5 to change the shaping rate so as to increase the traffic amount of the detected upstream packet addressed to the application server 2.
  • FIG. 6 is a diagram showing an example of hop count data.
  • the hop count data indicates the identification information of the application server 2 and the hop count from the application server 2 to each L2SW.
  • the identification information of the application server 2 the Internet @ Protocol (IP) address of the application server 2 can be used.
  • IP Internet @ Protocol
  • FIG. 7 is a diagram showing an example of uplink observation data.
  • the upstream observation data shown in the figure indicates the input data rate and the input data amount of the upstream packet observed (measured) by the L2SW 5 in one observation cycle for each identification information of the application server 2 and the packet type.
  • the packet type is represented by whether or not the packet is a session request packet. “1” is set for a session request packet, and “0” is set for other than a session request packet.
  • FIG. 8 is a diagram showing an example of downlink observation data.
  • the downlink observation data shown in the figure indicates the input data rate and the input data amount of the downlink packets observed (measured) by the L2SW 5 in one observation cycle for each identification information of the application server 2 and each packet type.
  • the packet type is represented by whether or not the packet is a session response packet. "1" is set for a session response packet, and "0" is set for other than a session response packet.
  • FIG. 9 is a diagram showing a flow of a session request packet and a session response packet in the L2NW4.
  • the L2SW 5 receives a session response packet from the application server 2 for the relayed session request packet after a lapse of T_RTT.
  • T_RTT is equivalent to a sum of a round-trip propagation delay from the L2SW 5 to the application server 2, a processing delay in the L2SW 5, and a processing delay in the application server 2.
  • FIG. 10 is a diagram showing the timing of the input data rate of the session response packet used for comparison with the input data rate of the session request packet.
  • the input data rate of the session request packet is obtained in the discrete times 1c to 5c in units of the observation period.
  • the input data rate of the session response packet changes in the same manner as the input data rate of the session request packet after a certain period of time T_RTT has elapsed. Therefore, the control unit 63 of the NW controller 6 compares the input data rate of the session request packet with the input data rate of the session response packet whose timing is shifted backward by T_RTT.
  • T_RTT 4c.
  • FIG. 11 is a sequence diagram in which the NW controller 6 performs the shaping setting to the L2SW 5.
  • L2SW # 4 is closest to the application server 2 in which the processing capacity is temporarily exhausted or burst traffic is generated, among the L2SW5s that constitute the L2NW4 and can be controlled by the NW controller 6, and It is assumed that L2SW # 3 is close.
  • the shaping start control unit 631 of the NW controller 6 transmits a shaping request to the L2SW # 4 (Step S105).
  • L2SW # 4 checks its own free queue and shaping resources (step S110).
  • the L2SW # 4 determines that shaping is impossible as a result of the confirmation, it transmits a shaping disable notification to the NW controller 6 (step S115).
  • the shaping start control unit 631 of the NW controller 6 When the shaping start control unit 631 of the NW controller 6 receives the shaping disable notification from the L2SW # 4, it then sends a shaping request to the L2SW # 3 (step S120). Upon receiving the shaping request from the NW controller 6, the L2SW # 3 checks its own free queue and shaping resources (step S125). When the L2SW # 3 determines that shaping is possible as a result of the confirmation, it performs shaping setting (step S130), and transmits a shaping setting completion notification to the NW controller 6 (step S135).
  • FIG. 12 is a flowchart showing the shaping start processing of the network system 1.
  • FIG. 3 shows a flow from the detection of the temporary exhaustion of the processing capacity or the burst traffic in the application server 2 to the change of the shaping setting.
  • the data collection unit 62 of the NW controller 6 periodically receives observation data obtained for each observation cycle from each L2SW 5 and registers the observation data in the storage unit 61.
  • the network system 1 performs the processing shown in the figure for each processing cycle having the same length as the observation cycle.
  • the shaping start control unit 631 of the NW controller 6 initializes the variable j to 1.
  • the shaping start control unit 631 performs the following loop processing A from step S205 to step S240 for the application server #j that is the j-th application server 2.
  • the shaping start control unit 631 acquires the input data rate of the session request packet of the application server #j from the upstream observation data of the latest observation cycle.
  • the shaping start control unit 631 determines whether or not the obtained input data rate is larger than the threshold ⁇ (Step S205). For example, the shaping start control unit 631 may judge the input data rate obtained from all or a part of the upstream observation data of the L2SW5 constituting the L2NW4, and may obtain the input data rate from all or a plurality of upstream observation data of the L2SW5. A determination may be made as to the sum of the input data rates to be applied.
  • the shaping start control unit 631 may acquire the total input data rate to the application server #j based on the upstream observation data of one or more L2SWs 5, and use the acquired data rate for the determination. As an example, the shaping start control unit 631 uses the input data rate obtained from the total of the upstream observation data of the L2SW 5 that is one hop away from the application server #j.
  • the determination is performed using the input data rate of each L2NW4, the number of hops from the application server 2 of the L2SW5 that has generated the upstream observation data from which the input data rate is obtained, the number of downstream L2SW5s and the number of the terminals 3, etc.
  • the threshold value ⁇ may be set to a different value according to.
  • step S205: NO When determining that the input data rate of the session request packet of the application server #j is equal to or smaller than the threshold ⁇ (step S205: NO), the shaping start control unit 631 adds 1 to the value of the variable j, and again executes step S205. Perform the processing from. On the other hand, when the shaping start control unit 631 determines that the input data rate of the session request packet of the application server #j is larger than the threshold ⁇ (step S205: YES), the processing of step S210 is performed.
  • the shaping start control unit 631 determines NO in step S205 if all of the input data rates are equal to or less than the threshold ⁇ , and determines whether any of the input data rates is If the threshold value ⁇ is exceeded, YES is determined in step S205.
  • the shaping start control unit 631 acquires the input data rate of the session response packet from the application server #j from the downlink observation data of the latest observation cycle. Further, the shaping start control unit 631 obtains the input data rate of the session request packet addressed to the application server #j from the upstream observation data of the observation cycle which is traced back by T_RTT from the latest observation cycle. The shaping start control unit 631 calculates an input data rate ratio, which is a ratio between the input data rate of the session response packet and the input data rate of the session request packet, and determines whether the input data rate is larger than a threshold ⁇ (step S210).
  • the threshold value ⁇ is a value sufficiently smaller (deviation) than the ratio of the input data rate when the application server 2 normally transmits the session response packet in response to the session request packet.
  • the shaping start control unit 631 may judge the input data rate ratio calculated for all or a part of the L2SW5 constituting the L2NW4, and may calculate the input data rate ratio calculated for all or a plurality of L2SW5 collectively. A determination may be made regarding the rate ratio. For example, the shaping start control unit 631 may calculate the input data rate ratio of the entire L2NW4 to the application server #j based on the observation data of one or more L2SWs 5, and use the calculated ratio. As an example, the shaping start control unit 631 uses the input data rate ratio obtained from the total of the observation data of the L2SW5 that is one hop away from the application server #j.
  • the shaping start control unit 631 determines YES in step S210 if the input data rate ratio is greater than the threshold value ⁇ for all the L2SWs. If the input data rate ratio is equal to or smaller than the threshold value ⁇ , it is determined as NO in step S210.
  • the threshold ⁇ may be different depending on the number of hops of the L2SW 5 from which the input data rate ratio is obtained from the application server 2 and the number of downstream L2SWs 5 and the number of terminals 3.
  • step S210: YES When the shaping start control unit 631 determines that the input data rate ratio is greater than the threshold value ⁇ (step S210: YES), it adds 1 to the value of the variable j and performs the processing from step S205 again.
  • the shaping start control unit 631 determines that the input data rate ratio is equal to or smaller than the threshold ⁇ (step S210: NO)
  • the shaping start control unit 631 normally responds to the session request packet transmitted to the application server #j with the session response packet. Is not transmitted, and it is determined that the application server #j has temporarily depleted the processing capacity or has generated burst traffic (step S215).
  • the point in time when it is assumed that the processing capacity is temporarily depleted or that burst traffic has occurred is the observation period that is traced back by T_RTT from the latest observation period.
  • the shaping start control unit 631 refers to the hop number data shown in FIG. 6 and assigns the number i to the L2SW 5 that can be controlled by the NW controller 6 in ascending order of the hop number from the application server #j.
  • the shaping start control unit 631 initializes a variable i to 1, and performs a loop process B of steps S220 to S230.
  • the shaping start control unit 631 transmits a shaping request notification to the L2SW # i that is the i-th L2SW5 (step S220).
  • the shaping target may be a session request packet addressed to the application server #j, or all packets addressed to the application server #j.
  • a shaping request notification may indicate a shaping rate such that the data rate after shaping becomes a data rate that can be processed by the application server #j that has been acquired in advance.
  • the data rate that the application server #j can process may be common to all the L2SWs, or may be determined for each L2SW5. When the data rate that can be processed is determined for each L2SW5, it may be determined according to the number of hops from the application server 2 to the L2SW5, or the number of L2NWs 4 or terminals 3 under the L2SW5.
  • the control unit 58 of the L2SW # i determines whether or not shaping can be set (step S225). When the control unit 58 of the L2SW # i determines that the setting of the shaping is not possible (step S225: NO), the control unit 58 returns a shaping disable notification to the NW controller 6 (step S230). Upon receiving the shaping disable notification, the shaping start control unit 631 adds 1 to the current value of i, and repeats the loop processing B from step S220.
  • step S225 determines that shaping can be set
  • step S235 the control unit 58 controls the shaper 55 to perform shaping
  • step S240 the control unit 58 of the L2SW # i returns a shaping setting completion notification to the NW controller 6 (Step S240).
  • the shaping start control unit 631 of the NW controller 6 ends the loop processing B after receiving the shaping setting completion notification from the L2SW #i, or sets the value of the variable i to the number of L2SW5 (or the NW controller 6 can control the processing). (L2SW5 number), the loop processing B is executed, and then 1 is added to the current value of the variable j, and the loop processing A is repeated. After executing the loop processing A when the value of the variable j is the number of application servers 2, the shaping start control unit 631 ends the processing in FIG.
  • the shaping start control unit 631 determines the occurrence of burst traffic by using the ratio between the input data rate of the session response packet and the input data rate of the session request packet.
  • the input data amount or the number of input packets can be used instead of the rate.
  • the shaping start control unit 631 acquires the input data amount of the session response packet and the input data amount of the session request packet from the observation data, and compares the ratio of the input data amount and the threshold value.
  • the shaping start control unit 631 obtains the number of input packets of the session response packet and the number of input packets of the session request packet from the observation data, and compares the ratio between the number and the threshold.
  • the notification unit 57 sets the destination application server 2 and the number of input packets for each type of packet in the upstream observation data of each observation period, and transmits the transmission data to the downstream observation data of each observation period.
  • the original application server 2 and the number of input packets for each packet type are set.
  • a session request packet passes through L2SW #i, arrives at application server #j, is processed, and returns to the same L2SW #i switch as a session response packet.
  • a certain time T_RTT is required. Therefore, the shaping end control unit 632 sets the integration start timing of the session response packet to the time when T_RTT has elapsed from the integration start timing of the session request packet.
  • T_RTT 4c
  • FIG. 13 is a flowchart showing shaping end processing of the network system 1 in each observation cycle. This figure shows the flow from the detection of the end of burst traffic to the release of the shaping rate set in the L2SW5.
  • the network system 1 performs the processing shown in the figure for each processing cycle having the same length as the observation cycle.
  • the shaping end control unit 632 of the NW controller 6 initializes the variable i to 1. Further, the shaping end control unit 632 initializes the value of the variable j to 1.
  • the shaping end control unit 632 calculates the observation request data rate and the observation response data rate of the application server #j in the L2SW # i that is the i-th L2SW5 from the observation data stored in the storage unit 61.
  • the observation request data rate is an integrated value of the input data rate of the session request packet addressed to the application server #j, which is observed in the L2SW #i after the time when it is estimated that the processing capacity is temporarily exhausted or the burst traffic occurs. is there.
  • the observation response data rate is the input data of the session response packet from the application server #j observed in the L2SW #i after the elapse of T_RTT from the time when it is estimated that the processing capacity has been temporarily depleted or the burst traffic has occurred. This is the integrated value of the rate.
  • the shaping end control unit 632 calculates the rate R by dividing the observation response data rate by the observation request data rate (step S305).
  • the shaping end control unit 632 determines that the rate R is equal to or less than the threshold value TR (step S310: NO), it adds 1 to the value of j and repeats the processing from step S305.
  • the shaping end control unit 632 determines that the processing capacity in the application server #j has been temporarily exhausted or the burst traffic has ended (step S315).
  • the shaping end control unit 632 transmits a shaping rate change instruction for setting the shaping rate before the temporary depletion of processing capacity or the occurrence of burst traffic to all L2SW5s or L2SW # i (step S320). .
  • the control unit 58 of the L2SW 5 that has received the shaping rate change instruction sets the shaping rate change to the shaper 55.
  • the shaping end control unit 632 adds 1 to the value of j and repeats the processing from step S305. Note that the shaping rate may be increased stepwise and returned to the original state.
  • the shaping end control unit 632 After completing the processing from step S305 to step S320 when the value of the variable i is the number of L2SWs 5 controllable by the NW controller 6, the shaping end control unit 632 adds 1 to the current value of the variable j. , The variable i is sequentially increased by one from the initial value, and the processing of steps S305 to S320 is repeated for each value of i. When the value of the variable j reaches the number of application servers 2, the shaping start control unit 631 ends the processing.
  • steps S305 and S310 may be performed using the input data amount or the number of input packets instead of the input data rate.
  • a comparison is made with a threshold value using the following index R 'instead of the rate R described above.
  • the session request packet data amount integrated value in the above is the integrated value of the session request packet input data amount after the point in time when it is estimated that the processing capacity has been temporarily exhausted or burst traffic has occurred.
  • the session response packet data amount integrated value is an integrated value of the input data amount of the session response packet after the elapse of T_RTT from the estimated time point.
  • R ′′ Integrated value of session response packet number / Integrated value of session request packet number
  • the session request packet count integrated value in the above is the integrated value of the number of session request packet input packets after the time when it is estimated that the processing capacity is temporarily exhausted or burst traffic has occurred.
  • the session response packet number integrated value is an integrated value of the number of session response packet input packets after a lapse of T_RTT from the estimated time.
  • the present embodiment it is possible to detect that the processing capacity of the application server 2 is temporarily exhausted or that burst traffic has occurred, and to reduce the traffic of the session response packet in the entire L2NW4. Further, it is possible to detect that the processing capability of the application server 2 has recovered or that the occurrence of the burst traffic has ended without inquiring of the application server 2, and end the shaping performed in the L2SW5.
  • the network system of the present embodiment is the same as the network system 1 of the first embodiment shown in FIG. Further, the configurations of the L2SW 5 and the NW controller 6 of the present embodiment are the same as the configurations of the L2SW 5 and the NW controller 6 shown in FIG. 4, respectively.
  • the data collection unit 62 of the NW controller 6 periodically receives observation data for each observation cycle including the uplink observation data shown in FIG. 7 and the downlink observation data shown in FIG. 8 from each L2NW 4. Then, the data is written in the storage unit 61. Further, the data collection unit 62 uses the collected observation data and the observation data one observation cycle earlier than the observation data to input data of the application server 2 and the uplink packet and the downlink packet for each packet type in each L2NW 4. The rate increment is calculated and registered in the storage unit 61.
  • FIG. 14 is a diagram showing an example of upstream observation data in the previous cycle.
  • the preceding cycle upstream observation data is obtained from the upstream observation data one observation cycle before in the same L2NW4 as the upstream observation data shown in FIG.
  • the previous-period upstream observation data shown in the figure indicates the previous input data rate and the previous input data amount of the upstream packet observed (measured) by the L2SW 5 for each identification information of the application server 2 and each packet type.
  • the previous input data rate is the input data rate of the upstream packet one observation cycle before
  • the previous input data amount is the input data amount one observation cycle before.
  • the packet type is represented by whether or not the packet is a session request packet.
  • FIG. 15 is a diagram showing an example of uplink increment data.
  • the uplink increment data indicates the increment of the input data rate of the uplink packet for each of the application server 2 and the packet type.
  • the increment of the input data rate is obtained by subtracting the previous input data rate indicated by the previous upstream observation data shown in FIG. 14 from the input data rate indicated by the upstream observation data shown in FIG.
  • FIG. 16 is a diagram showing an example of the preceding cycle downlink observation data.
  • the preceding cycle downlink observation data is obtained from the downlink observation data one observation cycle before in the same L2NW4 as the downlink observation data shown in FIG.
  • the previous-period downlink observation data shown in the figure indicates the previous input data rate of the downlink packet observed (measured) by the L2SW 5 for each identification information of the application server 2 and each packet type.
  • the previous input data rate is the input data rate of the downlink packet one observation cycle before.
  • the packet type is represented by whether or not the packet is a session response packet.
  • FIG. 17 is a diagram showing an example of downlink increment data.
  • the downlink increment data indicates an increment of the input data rate of the downlink packet for each of the application server 2 and the packet type.
  • the increment of the input data rate is obtained by subtracting the previous input data rate indicated by the previous downlink observation data shown in FIG. 16 from the input data rate indicated by the downlink observation data shown in FIG.
  • FIG. 18 is a diagram showing the timing of the input data rate increment of the session response packet used for comparison with the input data rate increment of the session request packet.
  • the input data rate increment of the session request packet is obtained in the discrete times 1c to 5c using the observation period as a unit.
  • the input data rate of the session response packet changes in the same manner as the input data rate of the session request packet after a predetermined time T_RTT has elapsed. Therefore, the shaping start control unit 631 of the NW controller 6 compares the input data rate increment of the session request packet with the input data rate increment of the session response packet delayed by T_RTT.
  • T_RTT 4c.
  • the shaping start processing of the network system 1 according to the present embodiment is the same as the first embodiment shown in FIG. 12 except for the processing in step S210. That is, in step S210, the shaping start control unit 631 acquires the input data rate increment of the session response packet from the application server #j from the downlink increment data of the latest observation cycle of the current processing cycle. Furthermore, the shaping start control unit 631 obtains the input data rate increment of the session request packet addressed to the application server #j from the uplink increment data of the observation cycle that is traced back by T_RTT from the latest observation cycle.
  • the shaping start control unit 631 calculates an input data rate increment ratio, which is a ratio of the input data rate increment of the session response packet to the input data rate increment of the session request packet, and determines whether or not the ratio is larger than a threshold.
  • a threshold a value sufficiently smaller than 1 is used.
  • the shaping start control unit 631 adds 1 to the value of the variable j, and performs the processing from step S205 again.
  • the shaping start control unit 631 determines that the application server #j has temporarily depleted the processing capacity or has generated burst traffic. (Step S215).
  • the uplink increment data indicates an increment of the input data amount of the uplink packet or an increment of the number of input packets for each of the application server 2 and the packet type.
  • the increment of the input data amount or the number of input packets of the upstream packet is calculated based on the input data amount or the number of input packets indicated by the upstream observation data, and the input data amount or the upstream observation data one observation cycle earlier than the upstream observation data. It is obtained by subtracting the number of input packets.
  • the downlink increment data indicates the increment of the input data amount of the downlink packet or the increment of the number of input packets for each of the application server 2 and the packet type.
  • the increment of the input data amount or the number of input packets of the downlink packet is based on the input data amount or the number of input packets indicated by the downlink observation data, and the input data amount or the input data amount indicated by the downlink observation data one observation cycle earlier than the downlink observation data. It is obtained by subtracting the number of input packets.
  • step S210 the shaping start control unit 631 calculates the increment of the input data amount of the session response packet from the application server #j or the increment of the number of input packets from the downlink increment data of the latest observation cycle of the current processing cycle. get. Further, the shaping start control unit 631 obtains an increase in the amount of input data of the session request packet addressed to the application server #j or an increase in the number of input packets from the upward increment data of the observation cycle which is traced back by T_RTT from the latest observation cycle. .
  • the shaping start control unit 631 calculates the ratio of the increment of the input data amount or the number of input packets of the session response packet to the increment of the input data amount or the input packet number of the session request packet, and determines whether the ratio is larger than the threshold value. Determine whether or not.
  • the shaping end processing of the network system 1 according to the present embodiment is the same as that of the first embodiment shown in FIG. 13 except for the processing of steps S305 and S310. That is, the shaping end control unit 632 obtains the input data rate increment of the session response packet from the application server #j in the L2SW #i from the downlink increment data of the observation cycle nearest to the current processing cycle. Further, the shaping start control unit 631 obtains the input data rate increment of the session request packet addressed to the application server #j in the L2SW #i from the upstream increment data of the observation cycle which is traced back by T_RTT from the latest observation cycle.
  • the shaping start control unit 631 calculates an input data rate increment ratio which is a ratio of the input data rate increment of the session response packet to the input data rate increment of the session request packet (step S305).
  • the shaping end control unit 632 determines whether the calculated input data rate increment ratio is larger than a threshold (Step S310).
  • a threshold value a value sufficiently close to 1 and smaller than 1, for example, 0.75 is used.
  • the shaping end control unit 632 repeats the processing from step S305 by adding 1 to the value of i, and repeats the processing from step S305. Is larger than the threshold value (step S310: YES), the process of step S315 is performed.
  • the processing capacity in the application server 2 is temporarily exhausted or that burst traffic has occurred, and the traffic of the session response packet in the entire L2NW 4 is detected. Can be reduced.
  • the network system of the present embodiment is the same as the network system 1 of the first embodiment shown in FIG. Further, the configurations of the L2SW 5 and the NW controller 6 of the present embodiment are the same as the configurations of the L2SW 5 and the NW controller 6 shown in FIG. 4, respectively. However, the NW controller 61 further stores processing capacity data of each application server 2.
  • FIG. 19 is a diagram showing an example of processing capability data.
  • the processing capacity data shown in FIG. 3 indicates, for each piece of identification information and packet type of each application server 2, a data amount, a data rate, and a data rate increment that can be processed by the application server 2.
  • the packet type is indicated by whether or not the packet is a session request packet. In the present embodiment, the data rate and the data rate increment that can be processed by the application server 2 may not be set.
  • FIG. 20 is a flowchart showing a shaping start process in the network system 1 of the present embodiment.
  • the same processes as those in the flowchart of the first embodiment shown in FIG. 12 are denoted by the same reference numerals, and description thereof will be omitted.
  • the shaping start control unit 631 initializes the variable j to 1.
  • the shaping start control unit 631 performs the following loop processing A 'from step S405 to step S240 for the application server #j which is the j-th application server 2.
  • the shaping start control unit 631 acquires the input data rate of the session request packet addressed to the application server #j from the upstream observation data of the latest observation cycle, and sets it as the observation request data rate. Further, the shaping start control unit 631 acquires the data amount of the session request packet that can be processed by the application server #j from the processing capacity data, and sets the data amount as the registration request data rate. The shaping start control unit 631 determines whether or not the observation request data rate exceeds the registration request data rate ⁇ k (k is a coefficient) (Step S405).
  • the shaping start control unit 631 may determine the observation request data rate obtained for each of all or a part of the L2SW5 configuring the L2NW4, and may collectively calculate the observation request data for all or a plurality of L2SW5. A determination may be made about the data rate. For example, the shaping start control unit 631 may calculate the observation request data rate to the application server #j in the entire L2NW4 based on the observation data of one or more L2SWs 5, and use the calculated data rate. As an example, the shaping start control unit 631 may use an observation request data rate that is collectively calculated for the L2SW5 that is one hop away from the application server #j.
  • the shaping start control unit 631 determines NO in step S405 when making a determination on the observation request data rate calculated for each of the L2SWs, and when it is equal to or less than the registration request data rate ⁇ k for all the L2SWs. If the observation request data rate of L2SW5 exceeds the registration request data rate ⁇ k, YES is determined in step S405.
  • the value of the coefficient k may be common to the L2SWs, or may be different for each L2SW5 according to the number of hops from the application server 2, the number of downstream L2SWs or the number of terminals 3, and the like.
  • processing capacity data corresponding to the number of hops, the number of downstream L2SWs or the number of terminals 3 and the like are held in the storage unit 61, and the observation request data rate is obtained from the processing capacity data corresponding to the obtained L2SW5 and the registration request data rate May be read.
  • step S405: NO When determining that the observation request data rate is equal to or less than the registration request data rate ⁇ k (step S405: NO), the shaping start control unit 631 adds 1 to the value of the variable j, and performs the processing from step S405 again. I do.
  • the shaping start control unit 631 determines that burst traffic addressed to the application server #j has occurred (step S405). S410), loop processing B is performed as in the first embodiment.
  • the shaping is set in the L2 NW 4 as close as possible to the application server #j to reduce the shaping rate of the flow in which the burst traffic has occurred, thereby suppressing the session request packet arriving at the application server #j at the same time.
  • the shaping start control unit 631 instructs the L2SW 5 to reduce the data rate of the session request packet or all packets addressed to the application server #j in the L2SW 5 to an input data rate that can be processed by the application server #j.
  • the input data rate that can be processed by the application server #j may be common to all the L2SWs, for example, or may be determined for each L2SW5. Further, the input data rate that can be processed may be the registration request data rate of the application server #j, and the number of hops from the application server 2 to the L2SW5 or the L2NW4 or the terminal 3 under the L2SW5 may be different from the registration request data rate. A value obtained by multiplying by a corresponding coefficient may be used.
  • the present embodiment by acquiring a data rate that can be processed from the application server 2 in advance, it is possible to determine the occurrence of burst traffic addressed to the application server 2 and reduce the amount of traffic.
  • the network system of the present embodiment is the same as the network system 1 of the first embodiment shown in FIG. Further, the configurations of the L2SW 5 and the NW controller 6 of the present embodiment are the same as the configurations of the L2SW 5 and the NW controller 6 shown in FIG. 4, respectively.
  • the storage unit 61 of the NW controller 6 stores the processing capability data shown in FIG. However, the data rate and the data rate increment that can be processed by the application server 2 may not be set in the processing capacity data.
  • step S405 the shaping start control unit 631 obtains the input data amount of the session request packet addressed to the application server #j from the upstream observation data of the latest observation cycle, and sets it as the observation request data amount. Further, the shaping start control unit 631 acquires the data amount of the session request packet that can be processed by the application server #j from the processing capability data, and sets the acquired data amount as the registration request data amount. The shaping start control unit 631 determines whether the observation request data amount exceeds the registration request data amount ⁇ k (k is a coefficient).
  • step S405 determines that the observation request data amount is equal to or less than the registration request data amount ⁇ k (step S405: NO), it adds 1 to the value of the variable j, and the processing from step S405 again. I do.
  • the shaping start control unit 631 determines that the observation request data amount is larger than the registration request data amount ⁇ k (step S405: YES), it determines that burst traffic addressed to the application server #j has occurred (step S405). S410), loop processing B is performed as in the first embodiment.
  • the network system of the present embodiment is the same as the network system 1 of the first embodiment shown in FIG. Further, the configurations of the L2SW 5 and the NW controller 6 of the present embodiment are the same as the configurations of the L2SW 5 and the NW controller 6 shown in FIG. 4, respectively.
  • the data collection unit 62 of the NW controller 6 periodically receives observation data for each observation cycle including the uplink observation data shown in FIG. 7 and the downlink observation data shown in FIG. 8 from each L2NW 4. Then, the data is written in the storage unit 61. Further, the data collection unit 62 uses the collected upstream observation data and the upstream observation data one observation cycle earlier than the observation data, and uses the application server 2 in each L2NW 4 and the input data rate of the upstream packet for each packet type. The increment is calculated and registered in the storage unit 61. That is, when the data collection unit 62 stores the observation data in the storage unit 61, the data collection unit 62 writes the upstream observation data one observation cycle earlier as the previous period upstream observation data shown in FIG. Using the observation data, the upward increment data shown in FIG.
  • step S405 the shaping start control unit 631 acquires the input data rate increment of the session request packet addressed to the application server #j from the uplink increment data of the latest observation cycle, and sets it as observation increment data. Further, the shaping start control unit 631 acquires the rate increment of the session request packet that can be processed by the application server #j from the processing capacity data, and sets it as registration increment data. The shaping start control unit 631 determines whether the observation increment data exceeds the registration increment data ⁇ k (k is a coefficient).
  • step S405 determines that the observation increment data is equal to or smaller than the registration increment data ⁇ k (step S405: NO), it adds 1 to the value of the variable j and performs the processing from step S405 again. .
  • step S405: YES determines that burst traffic addressed to the application server #j has occurred (step S410).
  • the loop processing B is performed in the same manner as in the first embodiment.
  • the shaping end processing of the network system 1 according to the present embodiment is the same as in the second embodiment, but may be the same as in the first embodiment.
  • the NW controller 6 may include a Central Processing Unit (CPU), a memory, an auxiliary storage device, and the like connected by a bus, and realize the above functions by executing a program. All or a part of each function of the NW controller 6 may be realized by using hardware such as Application Specific Integrated Circuit (ASIC), Programmable Logic Device (PLD), and Field Programmable Gate Array (FPGA).
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • the program may be recorded on a computer-readable recording medium.
  • the computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system.
  • the program may be transmitted via a telecommunication line.
  • the network system relays a packet between the first communication device and the second communication device through the relay network including one or more relay devices.
  • the relay device is the L2SW5, the relay network is the L2NW4, the first communication device is the terminal 3, and the second communication device is the application server 2.
  • the network control device includes a data collection unit and a control unit.
  • the network control device is the NW controller 6.
  • the data collection unit from the relay device, obtained by observing the packet input to the relay device, uplink observation data indicating the traffic volume of the processing request packet addressed to the second communication device from the first communication device,
  • the second communication device collects downlink observation data indicating the traffic volume of the response packet transmitted to the first communication device in response to the processing request packet.
  • the processing request packet is a session request packet for requesting the start of a session
  • the response packet is a session response packet indicating a response to the session request packet.
  • the traffic amount is an input data rate, an input data amount, or the number of input packets to the relay device.
  • the control unit is configured to calculate the ratio of the traffic amount indicated by the upstream observation data to the traffic amount indicated by the downstream observation data, or the ratio of the increase in the traffic amount obtained from the upstream observation data to the increase in the traffic amount obtained from the downstream observation data. Based on this, the shaping rate, which is the speed at which a packet addressed to the second communication device is passed to the relay device constituting the relay network, is changed. For example, based on the above ratio, the control unit detects the occurrence or end of the burst traffic of the processing request packet addressed to the second communication device, reduces the shaping rate when the occurrence is detected, and forms the shaping rate when the end is detected. Control to increase the rate. For example, when detecting the end of burst traffic, the control unit controls to return to the shaping rate set before the occurrence of burst traffic.
  • control unit based on a comparison between the traffic amount indicated by the uplink observation data and the traffic amount of the processing request packet that can be processed by the second communication device, or an increase in the traffic amount obtained from the uplink observation data, The occurrence of burst traffic of the processing request packet addressed to the second communication device may be detected based on a comparison with the increase in the traffic amount of the processing request packet that can be processed by the second communication device.
  • control unit transmits a shaping rate change request in order from the relay device closer to the second communication device among the relay devices constituting the relay network until receiving a notification that the shaping rate can be changed. Is also good.

Abstract

NWコントローラ(6)のデータ収集部は、L2NW(4)を構成するL2SW(5)から、当該L2SW(5)へ入力されたパケットを観測して得られた、アプリケーションサーバ2宛てのセッション要求パケットのトラヒック量を示す上り観測データと、アプリケーションサーバ2が送信したセッション応答パケットのトラヒック量を示す下り観測データとを収集する。制御部は、上り観測データが示すトラヒック量と下り観測データが示すトラヒック量との比、又は、上り観測データから得られるトラヒック量の増分と下り観測データから得られるトラヒック量の増分との比に基づいて、L2NW(4)を構成するL2SW(5)に対してアプリケーションサーバ(2)宛てのパケットのシェーピングレートを変更する。

Description

ネットワーク制御装置及びネットワーク制御方法
 本発明は、ネットワーク制御装置及びネットワーク制御方法に関する。
 近年、増加するモバイルトラヒックを効率的に収容するため、Centralized Radio Access Network(C-RAN)構成が検討されている(例えば、非特許文献1参照)。C-RANでは、多数のRadio Equipment(RE)が高密度で配置され、集約配置されたRadio Equipment Controls(RECs)に接続される。また、IEEE 802.1CMにおいて、フロントホールのトラヒックをレイヤ2(以下、L2と記載)ネットワークに収容する検討が進められている(例えば、非特許文献2参照)。一方で、Internet of Things(IoT)の一部に代表される、遅延を許容するトラヒック(遅延許容トラヒック)をアクセスネットワークに収容する検討も進められている。これらを鑑みて、フロントホール、バックホールに加え、遅延許容トラヒックを同一のL2ネットワーク(L2NW)に収容したマルチサービス収容アクセスネットワークを検討した報告がなされている(例えば、非特許文献3参照)。
 L2NWを流れるサービスのフローの中には、多数の端末からネットワーク上のアプリケーションサーバに同時に接続するものがある。これら同時接続により、接続先サーバが、端末からバースト的に到着するパケットを処理できなくなることがある。バースト的に到着するパケットの一例として端末からのセッション要求パケットが考えられるため、以降は、バースト的に到着するパケットがセッション要求パケットである場合を例に記載する。一般に図21に示すように、各L2スイッチ(L2SW)では、ネットワーク上のサーバが処理能力を超える数のセッション要求パケットを受け付けないように、L2SWを流れるフローのシェーピングにより、各宛先へのトラヒックは平滑化されている。
"ドコモ5Gホワイトペーパー",[online],2014年9月,株式会社NTTドコモ,[平成30年6月29日検索],インターネット〈https://www.nttdocomo.co.jp/corporate/technology/whitepaper_5g/〉 Craig Gunther,"What's New in the World of IEEE 802.1 TSN",Standards News,IEEE Communications Magazine,Communications Standards Supplement,2016年9月,p.12-15 久保 尊広,外6名,"マルチサービスを収容したL2ネットワークにおける遅延の評価",2016年電子情報通信学会通信ソサイエティ大会,2016年9月,B-8-25,p.155
 図22に示すように、サーバの処理能力が一時的に枯渇している場合には、図21に示す通常時よりも、サーバにおける処理可能パケット数の閾値が低下する。そのため、サーバへのセッション要求パケットのフローが正常なレートであっても、サーバは、受信したパケットを、処理能力の枯渇前よりも多く廃棄する可能性がある。このような状況では、サーバにおいてパケット処理が行えずにパケットの廃棄が発生しているにもかかわらず、L2NWにおいて処理要求パケットを分散させることができないという問題があった。
 上記事情に鑑み、本発明は、中継ネットワークにおいて、接続先の通信装置へバースト的に到着する処理要求パケットを分散させることができるネットワーク制御装置及びネットワーク制御方法を提供することを目的としている。
 本発明の一態様は、1以上の中継装置からなる中継ネットワークにより、第一通信装置と第二通信装置との間のパケットを中継するネットワークシステムにおける前記中継装置から、当該中継装置へ入力されたパケットを観測して得られた、前記第一通信装置から前記第二通信装置宛ての処理要求パケットのトラヒック量を示す上り観測データと、前記第二通信装置が前記処理要求パケットに対応して送信した応答パケットのトラヒック量を示す下り観測データとを収集するデータ収集部と、前記上り観測データが示す前記トラヒック量と前記下り観測データが示す前記トラヒック量との比、又は、前記上り観測データから得られる前記トラヒック量の増分と前記下り観測データから得られる前記トラヒック量の増分との比に基づいて、前記中継ネットワークを構成する前記中継装置に対して前記第二通信装置宛てのパケットを通過させる速さであるシェーピングレートを変更する制御部と、を備えるネットワーク制御装置である。
 本発明の一態様は、上述のネットワーク制御装置であって、前記トラヒック量は、前記中継装置への入力データレート、入力データ量又は入力パケット数である。
 本発明の一態様は、上述のネットワーク制御装置であって、前記制御部は、前記上り観測データが示す前記トラヒック量と前記下り観測データが示す前記トラヒック量との比、又は、前記上り観測データから得られる前記トラヒック量の増分と前記下り観測データから得られる前記トラヒック量の増分との比に基づいて、前記第二通信装置宛ての前記処理要求パケットのバーストトラヒックの発生又は終了を検出し、発生を検出したときには前記シェーピングレートを減少させ、終了を検出したときには前記シェーピングレートを増加させるよう制御する。
 本発明の一態様は、上述のネットワーク制御装置であって、前記制御部は、前記上り観測データが示す前記トラヒック量と、前記第二通信装置が処理可能な処理要求パケットのトラヒック量との比較に基づいて、又は、前記上り観測データから得られる前記トラヒック量の増分と、前記第二通信装置が処理可能な処理要求パケットのトラヒック量の増分との比較に基づいて、前記第二通信装置宛ての前記処理要求パケットのバーストトラヒックの発生を検出する。
 本発明の一態様は、上述のネットワーク制御装置であって、前記制御部は、シェーピングレートの変更が可能である旨の通知を受信するまで、前記中継ネットワークを構成する前記中継装置のうち前記第二通信装置に近い前記中継装置から順に前記シェーピングレートの変更依頼を送信する。
 本発明の一態様は、上述のネットワーク制御装置であって、前記中継ネットワークは、レイヤ2ネットワークであり、前記中継装置は、レイヤ2スイッチである。
 本発明の一態様は、上述のネットワーク制御装置であって、前記処理要求パケットは、セッションの開始を要求するセッション要求パケットであり、前記応答パケットは、前記セッション要求パケットへの応答を示すセッション応答パケットである。
 本発明の一態様は、1以上の中継装置からなる中継ネットワークにより、第一通信装置と第二通信装置との間のパケットを中継するネットワークシステムにおける前記中継装置から、当該中継装置へ入力されたパケットを観測して得られた、前記第一通信装置から前記第二通信装置宛ての処理要求パケットのトラヒック量を示す上り観測データと、前記第二通信装置が前記処理要求パケットに対応して送信した応答パケットのトラヒック量を示す下り観測データとを収集するデータ収集ステップと、前記上り観測データが示す前記トラヒック量と前記下り観測データが示す前記トラヒック量との比、又は、前記上り観測データから得られる前記トラヒック量の増分と前記下り観測データから得られる前記トラヒック量の増分との比に基づいて、前記中継ネットワークを構成する前記中継装置に対して前記第二通信装置宛てのパケットを通過させる速さであるシェーピングレートを変更する制御ステップと、を有するネットワーク制御方法である。
 本発明により、中継ネットワークにおいて、接続先の通信装置へバースト的に到着する処理要求パケットを分散させることが可能となる。
本発明の第1の実施形態によるネットワークシステムの構成を示す図である。 同実施形態によるL2NWの構成を示す図である。 同実施形態によるネットワークシステムの他の構成を示す図である。 同実施形態によるL2SWの構成例を示すブロック図である。 同実施形態によるNWコントローラの構成を示すブロック図である。 同実施形態によるホップ数データを示す図である。 同実施形態による上り観測データを示す図である。 同実施形態による下り観測データを示す図である。 同実施形態によるL2NWにおけるセッション要求パケットとセッション応答パケットの流れを示す図である。 同実施形態によるセッション要求パケットの入力データレートとの比較に用いられるセッション応答パケットの入力データレートのタイミングを示す図である。 同実施形態によるNWコントローラがL2SWにシェーピング設定を行うシーケンス図である。 同実施形態によるネットワークシステムのシェーピング開始処理を示すフロー図である。 同実施形態によるネットワークシステムのシェーピング終了処理を示すフロー図である。 第2の実施形態による前周期上り観測データを示す図である。 同実施形態による上り増分データを示す図である。 同実施形態による前周期下り観測データを示す図である。 同実施形態による下り増分データを示す図である。 同実施形態によるセッション要求パケットの入力データレート増分との比較に用いられるセッション応答パケットの入力データレート増分のタイミングを示す図である。 第3の実施形態による処理能力データを示す図である。 同実施形態によるネットワークシステムのシェーピング開始処理を示すフロー図である。 従来技術によるパケットのシェーピングを示す図である。 従来技術によるL2NWにおけるバーストトラヒック発生を示す図である。
 以下、図面を参照しながら本発明の実施形態を詳細に説明する。本実施形態は、L2のネットワークの技術に関する。具体的には、本実施形態は、1以上のサービスが収容されるL2NWと接続されるアプリケーションサーバ負荷検出に関する。
 本実施形態では、端末と、アプリケーションサーバとが、L2NWを介して通信する。
L2NWは、L2SWにより構成される。端末からアプリケーションサーバの方向を上り、アプリケーションサーバから端末の方向を下りと記載する。ネットワークコントローラ(NWコントローラ)は、端末からアプリケーションサーバ宛の処理要求パケットのトラヒックデータとアプリケーションサーバからの応答パケットのトラヒックデータとを、L2SWから周期的に収集する。処理要求パケットは、アプリケーションサーバへ処理を要求するパケットであり、応答パケットは、処理要求パケットに対する応答として送信される。本実施形態では、処理要求パケットは、セッションの開始を要求するセッション要求パケットであり、応答パケットは、セッション要求パケットに対する応答を示すセッション応答パケットである場合を例に説明する。NWコントローラは、収集したトラヒックデータを用いて、アプリケーションサーバにおける処理能力の枯渇又はバーストトラヒックの発生を検出する。具体的には、NWコントローラは、L2SWにおけるセッション要求パケットとセッション応答パケットとの間の入力データレートの比、入力データ量の比、入力パケット数の比、又は、入力データレート増分の比に基づいて検出を行う。あるいは、NWコントローラは、セッション要求パケットの入力データレート、入力データ量、又は、入力データレート増分と、アプリケーションサーバが処理可能なそれらの上限値との比較に基づいて検出を行う。
 NWコントローラは、L2NWを構成するL2SWのうち、処理能力の枯渇又はバーストトラヒックの発生が検出されたアプリケーションサーバになるべく近いL2SWに対して、そのアプリケーションサーバ宛ての全てのパケット又はセッション要求パケットのフロー(トラヒックの流れ)の送信レートを減少させるようシェーピングレートを設定する。シェーピングレートは、L2SWにおいて入力したパケットを通過させる速さである。
これにより、アプリケーションサーバに同時に到着するセッション要求パケットを抑制する。そして、NWコントローラは、収集したトラヒックデータを用いて、アプリケーションサーバにおける処理能力が枯渇から回復した、又は、バーストトラヒックの発生が終了したと判断した場合、シェーピングレートを増加させ、元に戻す。
 従来は、各L2SWにおいてパケットの輻輳を把握し、輻輳を把握したL2SWが自装置におけるシェーピングレートを低減していた。そのため、アプリケーションサーバが処理可能なセッション要求パケットのトラヒック量となるようにL2NW全体のパケットのフローを制御することは困難な場合があった。本実施形態によれば、NWコントローラは、アプリケーションサーバと直接通信することなく、アプリケーションサーバのセッション要求パケットの処理能力の状態やバーストトラヒックの発生を把握し、L2NW全体におけるセッション要求パケットのフローを低減させるように、L2SWにおけるシェーピングレートの変更が可能となる。従って、アプリケーションサーバへのセッション要求パケットの到着を分散させ、アプリケーションサーバにおけるパケット廃棄や遅延許容トラヒックの再送を防ぎ、ネットワーク利用効率を向上させることが可能となる。以下、詳細な実施形態を説明する。
(第1の実施形態)
 図1は、本発明の第1の実施形態によるネットワークシステム1の構成を示す図である。ネットワークシステム1は、アプリケーションサーバ2と、端末3と、L2NW4と、L3NW(レイヤ3ネットワーク)7とを有する。ネットワークシステム1が複数のアプリケーションサーバ2を備える場合、各アプリケーションサーバ2はそれぞれ、異なるサービスを提供し得る。ネットワークシステム1が備えるJ台(Jは1以上の整数)のアプリケーションサーバ2のうちj台目(jは1以上J以下の整数)のアプリケーションサーバ2を、アプリケーションサーバ2-j又はアプリサーバ#jとも記載する。同図では、ネットワークシステム1は、2台(J=2)のアプリケーションサーバ2-1及び2-2を備えている。アプリケーションサーバ2-1はサービスAを提供し、アプリケーションサーバ2-2はサービスBを提供する。また、L2NW4と接続される複数の端末3には、サービスAを利用する端末3、サービスBを利用する端末3、その他のサービスを利用する端末3がある。
 アプリケーションサーバ2と端末3とは、L2NW4及びL3NW(レイヤ3ネットワーク)7を介して接続されている。L2NW4は、1台以上のL2SW5から構成される。L2NW4を構成するN台のL2SW5のうちn台目(nは1以上N以下の整数)のL2SW5を、L2SW#nとも記載する。なお、アプリケーションサーバ2と端末3とは、L3ネットワークを介さずに直接L2NW4と接続されていてもよい。L2NW4は、さらに、NWコントローラ6を備える。NWコントローラ6は、各L2SW5と接続される。NWコントローラ6とL2SW5とを統合した装置としてもよい。例えば、NWコントローラ6は、L2SW5と同じ筐体に納められてもよい。NWコントローラ6がL2SW5と同じ筐体に収められており、かつ、高速な処理が必要な場合は、各L2SW5にハードウェアとしてNWコントローラ6が実装される構成が考えられる。また、NWコントローラ6は、L2NW4の外部の装置でもよい。また、L2NW4は、図2に示すL2NW4aのような構成でもよい。
 図2は、L2NW4aの構成を示す図である。同図に示すように、L2NW4aは、幹線リングR1と、支線リングR2-1、R2-2との階層構造になっている。幹線リングR1、支線リングR2-1、R2-2はそれぞれ、リング状に接続される複数台のL2SW5からなる。幹線リングR1と支線リングR2-1とは1台のL2SW5で接続され、幹線リングR1と支線リングR2-2とは他の1台のL2SW5で接続される。幹線リングR1を構成するL2SW5は1台目のNWコントローラ6であるNWコントローラ#1と接続され、支線リングR2-1を構成するL2SW5は2台目のNWコントローラ6であるNWコントローラ#2と接続され、支線リングR2-2を構成するL2SW5は3台目のNWコントローラ6であるNWコントローラ#3と接続される。このように、幹線と支線のそれぞれ配置された複数のNWコントローラ6が制御を行う形態も可能である。
 図3は、ネットワークシステム1bの構成を示す図である。図1に示すネットワークシステム1に代えて、同図に示すネットワークシステム1bを用いてもよい。同図に示すネットワークシステム1bが、図1に示すネットワークシステム1と異なる点は、L2NW4に代えてL2NW4bを備える点である。NWコントローラ6は、L2NW4bを構成するL2SW5のうち、一部のL2SW5と接続される。NWコントローラ6と接続されないL2SW5として、従来のL2SWを用いることができる。このように、NWコントローラ6が通信及び制御を行うことができないL2SW5があってもよい。
 図4は、L2SW5の構成例を示すブロック図である。L2SW5は、第1ポート51、マッチング部52、カウンタ部53、キュー54、シェーパー55、第2ポート56、通知部57及び制御部58を備える。マッチング部52、カウンタ部53、キュー54、シェーパー55については、上りパケットに関してのみ記載している。
 L2SW5は、第1ポート51を1以上備える。第1ポート51は、端末3、又は、下流の他のL2SW5から上りのパケットを入力する。マッチング部52は、入力した上りのパケットの分別を行う。具体的には、マッチング部52は、パケットに設定されている例えばヘッダのデータを参照し、パケットの宛先と、パケットの種類を判定する。パケットの種類は、セッション要求パケットであるか否かを示す。
 カウンタ部53は、マッチング部52によるパケットの分別ごとにパケットのビット数をカウントする。これにより、カウンタ部53は、宛先のアプリケーションサーバ2及びパケットの種別ごとに、各観測周期における上りパケットのトラヒック量を計測する。観測周期は、バーストトラヒックの立ち上がりが判断できる時間間隔に設定する。トラヒック量は、入力データレートにより表される。入力データレートとは、1観測周期において入力したパケットのビット数を、1観測周期に相当する時間により除算した値である。カウンタ部53は、トラヒック量としてさらに観測周期ごとの入力データ量や入力パケット数を計数してもよい。入力データ量とは、入力したパケットのビット数、バイト数などである。
 L2SW5は、キュー54を1以上備える。例えば、L2SW5は、優先度別の複数のキュー54を備えてもよい。キュー54は、第1ポート51から入力した上りパケットを一時的にストア(バッファリング)する。セッション要求パケットをストアするキュー54と、データパケットをストアするキュー54とは同一でもよく、異なっていてもよい。
シェーパー55は、キュー54がストアしている上りパケットを、設定されたシェーピングレートに従って例えば優先度に応じて読み出し、第2ポート56へ出力する。
 L2SW5は、第2ポート56を1以上備える。第2ポート56は、上流の他のL2SW5又はアプリケーションサーバ2に、キュー54から読み出した上りパケットを出力する。
 L2NW4は、アプリケーションサーバ2から端末3宛ての下りパケットを転送するため、下り方向についてマッチング部52、カウンタ部53、キュー54及びシェーパー55と同様の構成を有する(図示せず)。下り方向用のマッチング部52(図示せず)は、第2ポート56からが受信した下りパケットに設定されている例えばヘッダのデータを参照し、送信元のアプリケーションサーバ2と、パケットの種類を判定する。パケットの種類は、セッション応答パケットであるか否かを示す。下り方向用のカウンタ部53(図示せず)は、下り方向用のマッチング部52がマッチングした送信元のアプリケーションサーバ2及びパケットの種別ごとに下りパケットのトラヒック量を計測する。下り方向用のキュー54(図示せず)は、下りパケットを一時的にストアする。下り方向用のシェーパー55(図示せず)は、下り方向用のキュー54(図示せず)がストアしている下りパケットを優先度に応じて読み出し、第1ポート51を介して下流のL2SW5又は端末3へ出力する。
 通知部57は、上りパケット観測データ及び下りパケット観測データを設定した観測データを、NWコントローラ6に定期的に通知する。上りパケット観測データは、1観測周期に観測された宛先のアプリケーションサーバ2及びパケットの種別ごとの上りパケットのトラヒック量を示す。下りパケット観測データは、1観測周期に観測された送信元のアプリケーションサーバ2及びパケットの種別ごとの下りパケットのトラヒック量を示す。
制御部58は、各機能部を制御する。制御部58は、シェーパー55におけるシェーピングを制御する。
 図5は、NWコントローラ6の構成を示すブロック図である。NWコントローラ6は、記憶部61と、データ収集部62と、制御部63とを備える。記憶部61は、ホップ数データと、各L2SW5における観測データを記憶する。ホップ数データは、各アプリケーションサーバ2と各L2SW5との間のホップ数を示す。データ収集部62は、各L2SW5から定期的に観測データを収集し、記憶部61に保存する。
 制御部63は、シェーピング開始制御部631と、シェーピング終了制御部632とを備える。シェーピング開始制御部631は、観測データを参照して、アプリケーションサーバ2毎に、セッション要求パケットの入力データレートと、セッション応答パケットの入力データレートとの比を算出する。シェーピング開始制御部631は、算出した比に基づいて、アプリケーションサーバ2における処理能力の一時的な枯渇又はアプリケーションサーバ2宛てのバーストトラヒックの発生を検出する。シェーピング開始制御部631は、検出されたアプリケーションサーバ2宛ての上りパケットのトラヒック量を低減するようにシェーピングレートの変更をL2SW5に指示する。このとき、シェーピング開始制御部631は、ホップ数データを参照し、アプリケーションサーバ2との間のホップ数が少ないL2SW5を優先して指示対象とする。
 シェーピング終了制御部632は、観測データを参照して、アプリケーションサーバ2毎に、セッション要求パケットの入力データレートと、セッション応答パケットの入力データレートとの比を算出する。シェーピング終了制御部632は、算出した比に基づいて、アプリケーションサーバ2における処理能力の一時的な枯渇からの回復又はアプリケーションサーバ2宛てのバーストトラヒックの終了を検出する。シェーピング終了制御部632は、検出されたアプリケーションサーバ2宛ての上りパケットのトラヒック量を増加させるようにシェーピングレートの変更をL2SW5に指示する。
 図6は、ホップ数データの例を示す図である。ホップ数データは、アプリケーションサーバ2の識別情報と、当該アプリケーションサーバ2から各L2SWまでのホップ数とを示す。アプリケーションサーバ2の識別情報として、アプリケーションサーバ2のInternet Protocol(IP)アドレスを用いることができる。
 図7は、上り観測データの例を示す図である。同図に示す上り観測データは、アプリケーションサーバ2の識別情報及びパケット種別ごとに、1観測周期においてL2SW5が観測(計測)した上りパケットの入力データレート及び入力データ量を示す。パケット種別は、セッション要求パケットであるか否かにより表される。セッション要求パケットである場合は「1」、セッション要求パケット以外の場合は「0」が設定される。
 図8は、下り観測データの例を示す図である。同図に示す下り観測データは、アプリケーションサーバ2の識別情報及びパケット種別ごとに、1観測周期においてL2SW5が観測(計測)した下りパケットの入力データレート及び入力データ量を示す。パケット種別は、セッション応答パケットであるか否かにより表される。セッション応答パケットである場合は「1」、セッション応答パケット以外の場合は「0」が設定される。
 図9は、L2NW4におけるセッション要求パケットとセッション応答パケットの流れを示す図である。同図に示すように、L2SW5は、中継したセッション要求パケットに対するアプリケーションサーバ2からのセッション応答パケットを、T_RTT経過後に受信する。T_RTTは、L2SW5からアプリケーションサーバ2までの往復伝搬遅延と、L2SW5における処理遅延と、アプリケーションサーバ2における処理遅延とを足し合わせた時間に相当する。
 図10は、セッション要求パケットの入力データレートとの比較に用いられるセッション応答パケットの入力データレートのタイミングを示す図である。同図では、観測周期を単位とした離散時間1cから5cにおいて、セッション要求パケットの入力データレートが得られている。セッション応答パケットの入力データレートは、一定時間T_RTTを経過した後に、セッション要求パケットの入力データレートと同様の変化を起こす。よって、NWコントローラ6の制御部63は、セッション要求パケットの入力データレートと、T_RTTだけタイミングが後ろにずれたセッション応答パケットの入力データレートを比較する。
 同図に示す例では、T_RTT=4cである。NWコントローラ6の制御部63は、離散時間3cにおけるセッション応答パケットの入力データレートと、離散時間7c(=3c+4c)におけるセッション要求パケットの入力データレートとを比較する。
 図11は、NWコントローラ6がL2SW5へのシェーピング設定を行うシーケンス図である。ここでは、L2NW4を構成し、かつ、NWコントローラ6から制御可能なL2SW5の中で、処理能力の一時的な枯渇又はバーストトラヒックが発生しているアプリケーションサーバ2にL2SW#4が最も近く、次にL2SW#3が近いとする。
 まず、NWコントローラ6のシェーピング開始制御部631は、L2SW#4に対してシェーピング依頼を送信する(ステップS105)。L2SW#4は、シェーピング依頼を受信すると、自身の空きキューおよびシェーピングリソースを確認する(ステップS110)。L2SW#4は、確認の結果、シェーピング不可能であると判断すると、NWコントローラ6にシェーピング不可通知を送信する(ステップS115)。
 NWコントローラ6のシェーピング開始制御部631は、L2SW#4からシェーピング不可通知を受信すると、次にL2SW#3に対してシェーピング依頼を送信する(ステップS120)。L2SW#3は、NWコントローラ6からのシェーピング依頼を受信すると、自身の空きキューおよびシェーピングリソースを確認する(ステップS125)。
L2SW#3は、確認の結果、シェーピング可能であると判断すると、シェーピング設定を実行し(ステップS130)、NWコントローラ6に対して、シェーピング設定完了通知を送信する(ステップS135)。
 図12は、ネットワークシステム1のシェーピング開始処理を示すフロー図である。同図では、アプリケーションサーバ2における処理能力の一時的な枯渇又はバーストトラヒックの検知からシェーピング設定変更までの流れを示している。NWコントローラ6のデータ収集部62は、各L2SW5から定期的に観測周期毎に得られた観測データを受信し、記憶部61に登録している。ネットワークシステム1は、同図に示す処理を、観測周期と同じ長さの処理周期毎に行う。
 まず、NWコントローラ6のシェーピング開始制御部631は、変数jを1に初期化する。シェーピング開始制御部631は、j番目のアプリケーションサーバ2であるアプリサーバ#jについて以下のステップS205からステップS240のループ処理Aを行う。
 まず、シェーピング開始制御部631は、直近の観測周期の上り観測データからアプリサーバ#jのセッション要求パケットの入力データレートを取得する。シェーピング開始制御部631は、取得した入力データレートが閾値αより大きいか否かを判断する(ステップS205)。例えば、シェーピング開始制御部631は、L2NW4を構成する全ての又は一部のL2SW5の上り観測データそれぞれから得られる入力データレートについて判断を行ってもよく、全て又は複数のL2SW5の上り観測データから得られる入力データレートの合計について判断を行ってもよい。例えば、シェーピング開始制御部631は、1又は複数台のL2SW5の上り観測データに基づいて、アプリサーバ#jへの合計の入力データレートを取得し、判断に用いてもよい。一例として、シェーピング開始制御部631は、アプリサーバ#jから1ホップだけ離れたL2SW5の上り観測データの合計から得られる入力データレートを用いる。なお、L2NW4それぞれの入力データレートを用いて判断を行う場合、入力データレートの取得元となる上り観測データを生成したL2SW5のアプリケーションサーバ2からのホップ数や、下流のL2SW5や端末3の台数等に応じて、閾値αを異なる値としてもよい。
 シェーピング開始制御部631は、アプリサーバ#jのセッション要求パケットの入力データレートが閾値α以下であると判断した場合(ステップS205:NO)、変数jの値に1を加算して、再びステップS205からの処理を行う。一方、シェーピング開始制御部631、アプリサーバ#jのセッション要求パケットの入力データレートが閾値αよりも大きいと判断した場合(ステップS205:YES)、ステップS210の処理を行う。なお、シェーピング開始制御部631は、L2NW4それぞれの入力データレートについて判断を行う場合、それら全ての入力データレートが閾値α以下である場合にステップS205においてNOと判断し、いずれかの入力データレートが閾値αを超えている場合、ステップS205においてYESと判断する。
 シェーピング開始制御部631は、アプリサーバ#jからのセッション応答パケットの入力データレートを、直近の観測周期の下り観測データから取得する。さらに、シェーピング開始制御部631は、アプリサーバ#j宛てのセッション要求パケットの入力データレートを、直近の観測周期からT_RTTだけ遡った観測周期の上り観測データから取得する。シェーピング開始制御部631は、セッション応答パケットの入力データレートと、セッション要求パケットの入力データレートの比である入力データレート比を計算し、閾値βより大きいか否かを判断する(ステップS210)。閾値βは、アプリケーションサーバ2が、セッション要求パケットに応じて正常にセッション応答パケットを送信したときの入力データレートの比よりも十分小さな(乖離した)値である。
 このとき、シェーピング開始制御部631は、L2NW4を構成する全ての又は一部のL2SW5のそれぞれについて算出した入力データレート比について判断を行ってもよく、全て又は複数のL2SW5についてまとめて算出した入力データレート比について判断を行ってもよい。例えば、シェーピング開始制御部631は、1又は複数台のL2SW5の観測データに基づいて、L2NW4全体におけるアプリサーバ#jへの入力データレート比を算出し、判断に用いてもよい。一例として、シェーピング開始制御部631は、アプリサーバ#jから1ホップだけ離れたL2SW5の観測データの合計から得られる入力データレート比を用いる。シェーピング開始制御部631は、L2SW5それぞれについて算出した入力データレート比について判断を行う場合、全てのL2SW5について入力データレート比が閾値βより大きい場合にステップS210においてYESと判断し、いずれかのL2SW5の入力データレート比が閾値β以下である場合に、ステップS210においてNOと判断する。なお、入力データレート比が得られたL2SW5のアプリケーションサーバ2からのホップ数や、下流のL2SW5や端末3の台数等に応じて、閾値βを異なる値としてもよい。
 シェーピング開始制御部631は、入力データレート比が閾値βより大きい判断した場合(ステップS210:YES)、変数jの値に1を加算して、再びステップS205からの処理を行う。一方、シェーピング開始制御部631は、入力データレート比が閾値β以下であると判断した場合(ステップS210:NO)、アプリサーバ#j宛てに送信したセッション要求パケットに対して、正常にセッション応答パケットが送信されておらず、アプリサーバ#jにおいて処理能力の一時的な枯渇又はバーストトラヒックが発生したと判断する(ステップS215)。処理能力の一時的な枯渇又はバーストトラヒックが発生したと推測される時点は、直近の観測周期からT_RTTだけ遡った観測周期である。
 シェーピング開始制御部631は、図6に示すホップ数データを参照し、NWコントローラ6から制御可能なL2SW5に対して、アプリサーバ#jからのホップ数が小さい順に番号iを付与する。シェーピング開始制御部631は、変数iを1に初期化し、ステップS220~ステップS230のループ処理Bを行う。
 シェーピング開始制御部631は、i番目のL2SW5であるL2SW#iにシェーピング依頼通知を送信する(ステップS220)。例えば、シェーピング対象は、アプリサーバ#j宛てのセッション要求パケットでもよく、アプリサーバ#j宛ての全てのパケットでもよい。また、シェーピング後のデータレートが、予め取得しておいたアプリサーバ#jが処理可能なデータレートとなるようなシェーピングレートをシェーピング依頼通知で指示してもよい。アプリサーバ#jが処理可能なデータレートは、例えば、全てのL2SW5に共通でもよく、L2SW5ごとに決められてもよい。L2SW5ごとに処理可能なデータレートが決められる場合、アプリケーションサーバ2からL2SW5までのホップ数や、L2SW5の配下のL2NW4又は端末3の台数に応じて決められてもよい。
 シェーピング依頼通知を受信したL2SW#iの制御部58は、シェーピングの設定が可能か否かを判断する(ステップS225)。L2SW#iの制御部58は、シェーピングの設定が不可と判断した場合(ステップS225:NO)、NWコントローラ6にシェーピング不可通知を返送する(ステップS230)。シェーピング開始制御部631は、シェーピング不可通知を受信すると、現在のiの値に1を加算し、ステップS220からのループ処理Bを繰り返す。
 L2SW#iの制御部58は、シェーピングの設定が可能と判断した場合(ステップS225:YES)、シェーパー55に対してシェーピングを行うよう制御を行う(ステップS235)。L2SW#iの制御部58は、シェーピング設定完了通知をNWコントローラ6に返送する(ステップS240)。
 NWコントローラ6のシェーピング開始制御部631は、L2SW#iからシェーピング設定完了通知を受信してループ処理Bを終了した後、あるいは、変数iの値がL2SW5の台数(又はNWコントローラ6から制御可能なL2SW5の台数)であるときのループ処理Bを実行した後、現在の変数jの値に1を加算してループ処理Aを繰り返す。シェーピング開始制御部631は、変数jの値がアプリケーションサーバ2の台数であるときのループ処理Aを実行した後、図12の処理を終了する。
 なお、上記のステップS210において、シェーピング開始制御部631は、セッション応答パケットの入力データレートと、セッション要求パケットの入力データレートの比を用いて、バーストトラヒックの発生を判断しているが、入力データレートに代えて入力データ量又は入力パケット数を用いることができる。ステップS210において、シェーピング開始制御部631は、観測データから、セッション応答パケットの入力データ量と、セッション要求パケットの入力データ量とを取得し、それらの比と閾値とを比較する。
あるいは、シェーピング開始制御部631は、観測データから、セッション応答パケットの入力パケット数と、セッション要求パケットの入力パケット数とを取得し、それらの比と閾値とを比較する。なお、入力パケット数を用いる場合、通知部57は、各観測周期の上り観測データに宛先のアプリケーションサーバ2及びパケットの種類ごとの入力パケット数を設定し、各観測周期の下り観測データに、送信元のアプリケーションサーバ2及びパケットの種別ごとの入力パケット数を設定する。
 次に、上記のステップS235において設定したシェーピングの終了制御について説明する。NWコントローラ6のシェーピング終了制御部632は、L2SW5が生成した観測データを参照し、アプリサーバ#j(j=1,2,…)において処理能力の一時的な枯渇又はバーストトラヒックが発生したと推定された時点からのアプリサーバ#j宛てのセッション要求パケットの入力データレートの積算値と、アプリサーバ#jからのセッション応答パケットの入力データレートの積算値とを取得する。シェーピング終了制御部632は、これらの積算値の比較に基づいて、バーストトラヒックの終了を推定する。シェーピング終了制御部632は、観測データに基づいてバーストトラヒックが終了したと推定した場合に、アプリサーバ#j宛ての上りパケットのシェーピングの終了をL2SW5に依頼する。
 なお、図9及び図10に示したように、セッション要求パケットがL2SW#iを通過してアプリサーバ#jに到着し、処理され、セッション応答パケットとして同一のL2SW#iスイッチに戻るまでには一定の時間T_RTTを要する。そこで、シェーピング終了制御部632は、セッション応答パケットの積算開始タイミングを、セッション要求パケットの積算開始タイミングよりもT_RTTだけ経過した時点とする。図10では、T_RTT=4cであるため、セッション要求パケットの積算開始タイミングが離散時間3cであるときには、セッション要求パケットの積算開始タイミングを離散時間7c(=3c+4c)とする。
 図13は、各観測周期におけるネットワークシステム1のシェーピング終了処理を示すフロー図である。同図では、バーストトラヒック終了の検知し、L2SW5に設定されているシェーピングレートの設定解除までの流れを示している。ネットワークシステム1は、同図に示す処理を観測周期と同じ長さの処理周期毎に行う。
 NWコントローラ6のシェーピング終了制御部632は、変数iを1に初期化する。さらに、シェーピング終了制御部632は、変数jの値を1に初期化する。シェーピング終了制御部632は、記憶部61に記憶される観測データから、i番目のL2SW5であるL2SW#iにおけるアプリサーバ#jの観測要求データレート及び観測応答データレートを算出する。観測要求データレートは、処理能力の一時的な枯渇又はバーストトラヒックが発生したと推定される時点以降にL2SW#iにおいて観測されたアプリサーバ#j宛てのセッション要求パケットの入力データレートの積算値である。観測応答データレートは、処理能力の一時的な枯渇又はバーストトラヒックが発生したと推定される時点からT_RTTが経過した以降にL2SW#iにおいて観測されたアプリサーバ#jからのセッション応答パケットの入力データレートの積算値である。シェーピング終了制御部632は、観測応答データレートを観測要求データレートにより除算してレートRを算出する(ステップS305)。
 シェーピング終了制御部632は、算出したレートRが閾値TRよりも大きいか否かを判断する(ステップS310)。セッション要求パケットとセッション応答パケットのパケットサイズが等しい場合、閾値TRとして1に十分近く1よりも小さい値、例えば、て0.75を用いる。セッション要求パケットとセッション応答パケットのサイズ比が異なる場合は、サイズ比に合わせて閾値TRを変更する。例えば、セッション要求パケットのサイズ:セッション応答パケットのサイズ=10:9の場合は、R=0.9のときに2種類のパケットの入力レートは等しい。この場合、閾値TRを0.9に十分近く、0.9よりも小さい値とする。
 シェーピング終了制御部632は、レートRが閾値TR以下であると判断した場合(ステップS310:NO)、jの値に1を加算してステップS305からの処理を繰り返す。シェーピング終了制御部632は、レートRが閾値TRを超えると判断した場合(ステップS305:YES)、アプリサーバ#jにおける処理能力の一時的な枯渇又はバーストトラヒックが終了したと判断する(ステップS315)。シェーピング終了制御部632は、処理能力の一時的な枯渇又はバーストトラヒックが発生する前のシェーピングレートを設定するためのシェーピングレート変更指示を全てのL2SW5、又は、L2SW#iに送信する(ステップS320)。シェーピングレート変更指示を受信したL2SW5の制御部58は、シェーピングレートの変更をシェーパー55に設定する。シェーピング終了制御部632は、jの値に1を加算してステップS305からの処理を繰り返す。なお、シェーピングレートを段階的に増加させ、元に戻してもよい。
 シェーピング終了制御部632は、変数iの値がNWコントローラ6から制御可能なL2SW5の台数であるときのステップS305~ステップS320までの処理を終えると、現在の変数jの値に1を加算した後、変数iを初期値から順に1ずつ増加させ、各iの値についてステップS305~ステップS320の処理を繰り返す。シェーピング開始制御部631は、変数jの値がアプリケーションサーバ2の台数に達すると、処理を終了する。
 なお、入力データレートに代えて入力データ量又は入力パケット数を用いて上記のステップS305及びステップS310の処理を行ってもよい。入力データ量データを用いる場合、上記におけるレートRに代えて、以下の指標R’を用いて、閾値と比較する。
R’=セッション応答パケットデータ量積算値/セッション要求パケットデータ量積算値
 上記におけるセッション要求パケットデータ量積算値は、処理能力の一時的な枯渇又はバーストトラヒックが発生したと推定される時点以降のセッション要求パケットの入力データ量の積算値である。また、セッション応答パケットデータ量積算値は、その推定される時点からT_RTT経過した以降のセッション応答パケットの入力データ量の積算値である。
 また、入力パケット数を用いる場合、上記におけるレートRに代えて、以下の指標R”を用いて、閾値と比較する。
R”=セッション応答パケット数積算値/セッション要求パケット数積算値
 上記におけるセッション要求パケット数積算値は、処理能力の一時的な枯渇又はバーストトラヒックが発生したと推定される時点以降のセッション要求パケットの入力パケット数の積算値である。また、セッション応答パケット数積算値は、その推定される時点からT_RTT経過した以降のセッション応答パケットの入力パケット数の積算値である。
 本実施形態によれば、アプリケーションサーバ2における処理能力が一時的に枯渇した、又は、バーストトラヒックが発生したことを検出し、L2NW4全体におけるセッション応答パケットのトラヒックを低減することができる。また、アプリケーションサーバ2に問い合わせることなく、アプリケーションサーバ2における処理能力が回復した、又は、バーストトラヒックの発生が終了したことを検出し、L2SW5において行っていたシェーピングを終了させることができる。
(第2の実施形態)
 第1の実施形態においては、L2SW5におけるセッション応答パケットとセッション要求パケットの入力データレートの比、入力データ量の比、または、入力パケット数の比に基づいてバーストトラヒックの発生又はアプリケーションサーバ2における処理能力の一時的な枯渇を判断していた。本実施形態では、第1の実施形態の入力データレート、入力データ量、または、入力パケット数に代えて、過去の観測周期からの入力データレートの増分、入力データ量の増分、入力パケット数の増分を用いる。以下では、入力データレートの増分を用いる場合を例として、第1の実施形態との差分を中心に説明する。
 本実施形態のネットワークシステムは、図1に示す第1の実施形態のネットワークシステム1と同様である。また、本実施形態のL2SW5及びNWコントローラ6の構成はそれぞれ、図4に示すL2SW5及びNWコントローラ6の構成と同様である。
 NWコントローラ6のデータ収集部62は、第1の実施形態と同様に、各L2NW4から図7に示す上り観測データ及び図8に示す下り観測データを含む観測周期毎の観測データを周期的に受信し、記憶部61に書き込む。さらに、データ収集部62は、収集した観測データと、その観測データよりも1観測周期前の観測データとを用いて、各L2NW4におけるアプリケーションサーバ2及びパケット種別ごとの上りパケット及び下りパケットの入力データレート増分を算出し、記憶部61に登録する。
 図14は、前周期上り観測データの例を示す図である。前周期上り観測データは、図7に示す上り観測データと同じL2NW4における1観測周期前の上り観測データから得られる。同図に示す前周期上り観測データは、アプリケーションサーバ2の識別情報及びパケット種別ごとに、L2SW5が観測(計測)した上りパケットの前回入力データレート及び前回入力データ量を示す。前回入力データレートは、1観測周期前の上りパケットの入力データレートであり、前回入力データ量は、1観測周期前の入力データ量である。パケット種別は、セッション要求パケットであるか否かにより表される。
 図15は、上り増分データの例を示す図である。上り増分データは、アプリケーションサーバ2及びパケット種別毎の上りパケットの入力データレートの増分を示す。入力データレートの増分は、図7に示す上り観測データが示す入力データレートから、図14に示す前回上り観測データが示す前回入力データレートを減算して得られる。
 図16は、前周期下り観測データの例を示す図である。前周期下り観測データは、図8に示す下り観測データと同じL2NW4における1観測周期前の下り観測データから得られる。同図に示す前周期下り観測データは、アプリケーションサーバ2の識別情報及びパケット種別ごとに、L2SW5が観測(計測)した下りパケットの前回入力データレートを示す。前回入力データレートは、1観測周期前の下りパケットの入力データレートである。パケット種別は、セッション応答パケットであるか否かにより表される。
 図17は、下り増分データの例を示す図である。下り増分データは、アプリケーションサーバ2及びパケット種別毎の下りパケットの入力データレートの増分を示す。入力データレートの増分は、図8に示す下り観測データが示す入力データレートから、図16に示す前回下り観測データが示す前回入力データレートを減算して得られる。
 図18は、セッション要求パケットの入力データレート増分との比較に用いられるセッション応答パケットの入力データレート増分のタイミングを示す図である。同図では、観測周期を単位とした離散時間1cから5cにおいて、セッション要求パケットの入力データレート増分が得られている。セッション応答パケットの入力データレートは、図10と同様に、一定時間T_RTTを経過した後に、セッション要求パケットの入力データレートと同様の変化を起こす。そこで、NWコントローラ6のシェーピング開始制御部631は、セッション要求パケットの入力データレート増分と、T_RTTだけタイミングが後にずれたセッション応答パケットの入力データレート増分とを比較する。
 同図に示す例では、T_RTT=4cである。NWコントローラ6のシェーピング開始制御部631は、離散時間1cにおけるセッション応答パケットの入力データレート増分と、離散時間5c(=1c+4c)におけるセッション要求パケットの入力データレート増分とを比較する。
 本実施形態によるネットワークシステム1のシェーピング開始処理は、ステップS210の処理を除き、図12に示す第1の実施形態と同様である。すなわち、ステップS210において、シェーピング開始制御部631は、アプリサーバ#jからのセッション応答パケットの入力データレート増分を、現在の処理周期の直近の観測周期の下り増分データから取得する。さらに、シェーピング開始制御部631は、アプリサーバ#j宛てのセッション要求パケットの入力データレート増分を、直近の観測周期からT_RTTだけ遡った観測周期の上り増分データから取得する。シェーピング開始制御部631は、セッション応答パケットの入力データレート増分と、セッション要求パケットの入力データレート増分の比である入力データレート増分比を計算し、閾値よりも大きいか否かを判断する。
閾値は、1よりも十分小さい値を用いる。シェーピング開始制御部631は、入力データレート増分比が閾値よりも大きいと判断した場合(ステップS210:YES)、変数jの値に1を加算して、再びステップS205からの処理を行う。一方、シェーピング開始制御部631は、入力データレート増分比が閾値以下であると判断した場合(ステップS210:NO)、アプリサーバ#jにおいて処理能力の一時的な枯渇又はバーストトラヒックが発生したと判断する(ステップS215)。
 なお、入力データレートの増分に代えて、入力データ量の増分又は入力パケット数の増分を用いることができる。この場合、上り増分データは、アプリケーションサーバ2及びパケット種別毎の上りパケットの入力データ量の増分又は入力パケット数の増分を示す。
上りパケットの入力データ量の増分又は入力パケット数の増分は、上り観測データが示す入力データ量又は入力パケット数から、当該上り観測データよりも1観測周期前の上り観測データが示す入力データ量又は入力パケット数を減算して得られる。また、下り増分データは、アプリケーションサーバ2及びパケット種別毎の下りパケットの入力データ量の増分又は入力パケット数の増分を示す。下りパケットの入力データ量の増分又は入力パケット数の増分は、下り観測データが示す入力データ量又は入力パケット数から、当該下り観測データよりも1観測周期前の下り観測データが示す入力データ量又は入力パケット数を減算して得られる。
 そして、ステップS210において、シェーピング開始制御部631は、アプリサーバ#jからのセッション応答パケットの入力データ量の増分又は入力パケット数の増分を、現在の処理周期の直近の観測周期の下り増分データから取得する。さらに、シェーピング開始制御部631は、アプリサーバ#j宛てのセッション要求パケットの入力データ量の増分又は入力パケット数の増分を、直近の観測周期からT_RTTだけ遡った観測周期の上り増分データから取得する。シェーピング開始制御部631は、セッション応答パケットの入力データ量の増分又は入力パケット数の増分と、セッション要求パケットの入力データ量の増分又は入力パケット数の増分の比を計算し、閾値よりも大きいか否かを判断する。
 本実施形態によるネットワークシステム1のシェーピング終了処理は、ステップS305及びステップS310の処理を除き、図13に示す第1の実施形態と同様である。すなわち、シェーピング終了制御部632は、L2SW#iにおけるアプリサーバ#jからのセッション応答パケットの入力データレート増分を、現在の処理周期の直近の観測周期の下り増分データから取得する。さらに、シェーピング開始制御部631は、L2SW#iにおけるアプリサーバ#j宛てのセッション要求パケットの入力データレート増分を、直近の観測周期からT_RTTだけ遡った観測周期の上り増分データから取得する。シェーピング開始制御部631は、セッション応答パケットの入力データレート増分と、セッション要求パケットの入力データレート増分の比である入力データレート増分比を計算する(ステップS305)。シェーピング終了制御部632は、算出した入力データレート増分比が閾値よりも大きいか否かを判定する(ステップS310)。閾値には、1に十分近く1よりも小さい値、例えば、0.75を用いる。シェーピング終了制御部632は、入力データレート増分比が閾値以下であると判断した場合(ステップS310:NO)、iの値に1を加算してステップS305からの処理を繰り返し、入力データレート増分比が閾値よりも大きいと判断した場合(ステップS310:YES)、ステップS315の処理を行う。
 本実施形態によれば、第1の実施形態と同様に、アプリケーションサーバ2における処理能力が一時的に枯渇した、又は、バーストトラヒックが発生したことを検出し、L2NW4全体におけるセッション応答パケットのトラヒックを低減することができる。
(第3の実施形態)
 本実施形態では、L2SW5におけるセッション要求パケットの入力データレートが、アプリケーションサーバ2において処理可能な入力データレートを超過した場合、セッション要求パケットのバーストトラヒックが発生したと判断する。以下では、第1の実施形態との差分を中心に説明する。
 本実施形態のネットワークシステムは、図1に示す第1の実施形態のネットワークシステム1と同様である。また、本実施形態のL2SW5及びNWコントローラ6の構成はそれぞれ、図4に示すL2SW5及びNWコントローラ6の構成と同様である。ただし、NWコントローラ6の61は、各アプリケーションサーバ2の処理能力データをさらに記憶する。
 図19は、処理能力データの例を示す図である。同図に示す処理能力データは、各アプリケーションサーバ2の識別情報及びパケット種別ごとに、アプリケーションサーバ2が処理可能なデータ量、データレート及びデータレート増分を示す。パケット種別は、セッション要求パケットであるか否かにより示される。なお、本実施形態においては、アプリケーションサーバ2が処理可能なデータレート及びデータレート増分が設定されていなくてもよい。
 図20は、本実施形態のネットワークシステム1におけるシェーピング開始処理を示すフロー図である。同図において、図12に示す第1の実施形態のフロー図と同一の処理には同一の符号を付し、説明を省略する。
 まず、シェーピング開始制御部631は、変数jを1に初期化する。シェーピング開始制御部631は、j番目のアプリケーションサーバ2であるアプリサーバ#jについてス以下のステップS405からステップS240のループ処理A’を行う。
 シェーピング開始制御部631は、アプリサーバ#j宛てのセッション要求パケットの入力データレートを、直近の観測周期の上り観測データから取得し、観測要求データレートとする。さらに、シェーピング開始制御部631は、処理能力データから、アプリサーバ#jが処理可能なセッション要求パケットのデータ量を取得し、登録要求データレートとする。シェーピング開始制御部631は、観測要求データレートが、登録要求データレート×k(kは係数)を超えているか否かを判定する(ステップS405)。
 このとき、シェーピング開始制御部631は、L2NW4を構成する全ての又は一部のL2SW5のそれぞれについて取得した観測要求データレートについて判断を行ってもよく、全て又は複数のL2SW5についてまとめて算出した観測要求データレートについて判断を行ってもよい。例えば、シェーピング開始制御部631は、1又は複数台のL2SW5の観測データに基づいて、L2NW4全体におけるアプリサーバ#jへの観測要求データレートを算出し、判断に用いてもよい。一例として、シェーピング開始制御部631は、アプリサーバ#jから1ホップだけ離れたL2SW5についてまとめて算出した観測要求データレートを用いてもよい。なお、シェーピング開始制御部631は、L2SW5のそれぞれについて算出した観測要求データレートについて判断を行う場合、全てのL2SW5について登録要求データレート×k以下である場合にステップS405においてNOと判断し、いずれかのL2SW5の観測要求データレートが登録要求データレート×kを超えている場合に、ステップS405においてYESと判断する。係数kの値は、L2SW5で共通であってもよく、アプリケーションサーバ2からのホップ数や下流のL2SW5又は端末3の台数等に応じてL2SW5ごとに異なっていてもよい。また、ホップ数や下流のL2SW5又は端末3の台数等に応じた処理能力データを記憶部61に保持しておき、観測要求データレートが得られたL2SW5に対応した処理能力データから登録要求データレートを読み出してもよい。
 シェーピング開始制御部631は、観測要求データレートが、登録要求データレート×k以下であると判断した場合(ステップS405:NO)、変数jの値に1を加算して、再びステップS405からの処理を行う。一方、シェーピング開始制御部631は、観測要求データレートが登録要求データレート×kよりも大きいと判断した場合(ステップS405:YES)、アプリサーバ#j宛てのバーストトラヒックが発生したと判断し(ステップS410)、第1の実施形態と同様にループ処理Bを行う。これにより、アプリサーバ#jになるべく近いL2NW4にシェーピングを設定してバーストトラヒックが起きたフローのシェーピングレートを減少させ、アプリサーバ#jに同時に到着するセッション要求パケットを抑制する。
 例えば、シェーピング開始制御部631は、L2SW5におけるアプリサーバ#j宛てのセッション要求パケット又は全パケットのデータレートを、アプリサーバ#jが処理可能な入力データレートまで削減するようL2SW5に指示する。アプリサーバ#jが処理可能な入力データレートは、例えば、全てのL2SW5に共通でもよく、L2SW5ごとに決められてもよい。また、処理可能な入力データレートは、アプリサーバ#jの登録要求データレートでもよく、登録要求データレートに対して、アプリケーションサーバ2からL2SW5までのホップ数や、L2SW5の配下のL2NW4又は端末3に応じた係数を乗算した値でもよい。
 本実施形態によれば、予めアプリケーションサーバ2から処理可能なデータレートを取得しておくことで、アプリケーションサーバ2宛てのバーストトラヒックの発生を判断し、トラヒック量を低減することが可能である。
(第4の実施形態)
 第3の実施形態では、L2SW5におけるセッション要求パケットの入力データレートが、アプリケーションサーバ2において処理可能なデータレートを超過した場合、セッション要求パケットのバーストトラヒックが発生したと判断する。本実施形態では、L2SW5におけるセッション要求パケットの入力データ量が、アプリケーションサーバ2において処理可能なデータ量を超過した場合、セッション要求パケットのバーストトラヒックが発生したと判断する。以下では、第3の実施形態との差分を中心に説明する。
 本実施形態のネットワークシステムは、図1に示す第1の実施形態のネットワークシステム1と同様である。また、本実施形態のL2SW5及びNWコントローラ6の構成はそれぞれ、図4に示すL2SW5及びNWコントローラ6の構成と同様である。NWコントローラ6の記憶部61は、図19に示す処理能力データを記憶する。ただし、処理能力データには、アプリケーションサーバ2が処理可能なデータレート及びデータレート増分が設定されていなくてもよい。
 本実施形態によるネットワークシステム1のシェーピング開始処理は、ステップS405の処理を除き、図20に示す第3の実施形態と同様である。すなわち、ステップS405において、シェーピング開始制御部631は、アプリサーバ#j宛てのセッション要求パケットの入力データ量を、直近の観測周期の上り観測データから取得し、観測要求データ量とする。さらに、シェーピング開始制御部631は、処理能力データから、アプリサーバ#jが処理可能なセッション要求パケットのデータ量を取得し、登録要求データ量とする。シェーピング開始制御部631は、観測要求データ量が、登録要求データ量×k(kは係数)を超えているか否かを判定する。シェーピング開始制御部631は、観測要求データ量が、登録要求データ量×k以下であると判断した場合(ステップS405:NO)、変数jの値に1を加算して、再びステップS405からの処理を行う。一方、シェーピング開始制御部631は、観測要求データ量が登録要求データ量×kよりも大きいと判断した場合(ステップS405:YES)、アプリサーバ#j宛てのバーストトラヒックが発生したと判断し(ステップS410)、第1の実施形態と同様にループ処理Bを行う。
(第5の実施形態)
 第5の実施形態では、L2SW5におけるセッション要求パケットの入力データレートの増分が、アプリケーションサーバ2において処理可能なデータレートの増分を超過した場合、セッション要求パケットのバーストトラヒックが発生したと判断する。以下では、第3の実施形態との差分を中心に説明する。
 本実施形態のネットワークシステムは、図1に示す第1の実施形態のネットワークシステム1と同様である。また、本実施形態のL2SW5及びNWコントローラ6の構成はそれぞれ、図4に示すL2SW5及びNWコントローラ6の構成と同様である。
 NWコントローラ6のデータ収集部62は、第1の実施形態と同様に、各L2NW4から図7に示す上り観測データ及び図8に示す下り観測データを含む観測周期毎の観測データを周期的に受信し、記憶部61に書き込む。さらに、データ収集部62は、収集した上り観測データと、その観測データよりも1観測周期前の上り観測データとを用いて、各L2NW4におけるアプリケーションサーバ2及びパケット種別ごとの上りパケットの入力データレート増分を算出し、記憶部61に登録する。すなわち、データ収集部62は、観測データを記憶部61に記憶すると、1観測周期前の上り観測データを図14に示す前周期上り観測データとして記憶部61に書き込み、上り観測データ及び前周期上り観測データを用いて、図15に示す上り増分データを生成して記憶部61に書き込む。
 本実施形態によるネットワークシステム1のシェーピング開始処理は、ステップS405の処理を除き、図20に示す第3の実施形態と同様である。すなわち、ステップS405において、シェーピング開始制御部631は、アプリサーバ#j宛てのセッション要求パケットの入力データレート増分を、直近の観測周期の上り増分データから取得し、観測増分データとする。さらに、シェーピング開始制御部631は、処理能力データから、アプリサーバ#jが処理可能なセッション要求パケットのレート増分を取得し、登録増分データとする。シェーピング開始制御部631は、観測増分データが、登録増分データ×k(kは係数)を超えているか否かを判定する。シェーピング開始制御部631は、観測増分データが、登録増分データ×k以下であると判断した場合(ステップS405:NO)、変数jの値に1を加算して、再びステップS405からの処理を行う。一方、シェーピング開始制御部631は、観測増分データが登録増分データ×kよりも大きいと判断した場合(ステップS405:YES)、アプリサーバ#j宛てのバーストトラヒックが発生したと判断し(ステップS410)、第1の実施形態と同様にループ処理Bを行う。
 本実施形態によるネットワークシステム1のシェーピング終了処理は、第2の実施形態と同様であるが、第1の実施形態と同様であってもよい。
 なお、NWコントローラ6は、バスで接続されたCentral Processing Unit(CPU)やメモリや補助記憶装置などを備え、プログラムを実行することによって上記の機能を実現するようにしてもよい。なお、NWコントローラ6の各機能の全て又は一部は、Application Specific Integrated Circuit(ASIC)やProgrammable Logic Device(PLD)やField Programmable Gate Array(FPGA)等のハードウェアを用いて実現されても良い。プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されても良い。
 以上説明した実施形態によれば、ネットワークシステムは、1以上の中継装置からなる中継ネットワークにより、第一通信装置と第二通信装置との間のパケットを中継する。例えば、中継装置はL2SW5であり、中継ネットワークはL2NW4であり、第一通信装置は端末3であり、第二通信装置はアプリケーションサーバ2である。ネットワーク制御装置は、データ収集部と、制御部とを備える。例えば、ネットワーク制御装置は、NWコントローラ6である。
 データ収集部は、中継装置から、当該中継装置へ入力されたパケットを観測して得られた、第一通信装置から第二通信装置宛ての処理要求パケットのトラヒック量を示す上り観測データと、第二通信装置が処理要求パケットに対応して第一通信装置宛てに送信した応答パケットのトラヒック量を示す下り観測データとを収集する。例えば、処理要求パケットは、セッションの開始を要求するセッション要求パケットであり、応答パケットは、セッション要求パケットへの応答を示すセッション応答パケットである。また、例えば、トラヒック量は、中継装置への入力データレート、入力データ量又は入力パケット数である。
 制御部は、上り観測データが示すトラヒック量と下り観測データが示すトラヒック量との比、又は、上り観測データから得られるトラヒック量の増分と下り観測データから得られるトラヒック量の増分との比に基づいて、中継ネットワークを構成する中継装置に対して第二通信装置宛てのパケットを通過させる速さであるシェーピングレートを変更する。
例えば、制御部は、上記の比に基づいて、第二通信装置宛ての処理要求パケットのバーストトラヒックの発生又は終了を検出し、発生を検出したときにはシェーピングレートを減少させ、終了を検出したときにはシェーピングレートを増加させるよう制御する。例えば、制御部は、バーストトラヒックの終了を検出したときには、バーストトラヒックが発生する前に設定してあったシェーピングレートに戻すように制御する。
 また、制御部は、上り観測データが示すトラヒック量と、第二通信装置が処理可能な処理要求パケットのトラヒック量との比較に基づいて、又は、上り観測データから得られるトラヒック量の増分と、第二通信装置が処理可能な処理要求パケットのトラヒック量の増分との比較に基づいて、第二通信装置宛ての処理要求パケットのバーストトラヒックの発生を検出してもよい。
 また、制御部は、シェーピングレートの変更が可能である旨の通知を受信するまで、中継ネットワークを構成する中継装置のうち第二通信装置に近い中継装置から順にシェーピングレートの変更依頼を送信してもよい。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、1b…ネットワークシステム, 2-1,2-2…アプリケーションサーバ, 3…端末, 4、4a、4b…L2NW, 5…L2SW, 6…NWコントローラ, 7…L3ネットワーク, 51…第1ポート, 52…マッチング部, 53…カウンタ部, 54…キュー, 55…シェーパー, 56…第2ポート, 57…通知部, 58…制御部, 61…記憶部, 62…データ収集部, 63…制御部, 631…シェーピング開始制御部, 632…シェーピング終了制御部

Claims (8)

  1.  1以上の中継装置からなる中継ネットワークにより、第一通信装置と第二通信装置との間のパケットを中継するネットワークシステムにおける前記中継装置から、当該中継装置へ入力されたパケットを観測して得られた、前記第一通信装置から前記第二通信装置宛ての処理要求パケットのトラヒック量を示す上り観測データと、前記第二通信装置が前記処理要求パケットに対応して送信した応答パケットのトラヒック量を示す下り観測データとを収集するデータ収集部と、
     前記上り観測データが示す前記トラヒック量と前記下り観測データが示す前記トラヒック量との比、又は、前記上り観測データから得られる前記トラヒック量の増分と前記下り観測データから得られる前記トラヒック量の増分との比に基づいて、前記中継ネットワークを構成する前記中継装置に対して前記第二通信装置宛てのパケットを通過させる速さであるシェーピングレートを変更する制御部と、
     を備えるネットワーク制御装置。
  2.  前記トラヒック量は、前記中継装置への入力データレート、入力データ量又は入力パケット数である、
     請求項1に記載のネットワーク制御装置。
  3.  前記制御部は、前記上り観測データが示す前記トラヒック量と前記下り観測データが示す前記トラヒック量との比、又は、前記上り観測データから得られる前記トラヒック量の増分と前記下り観測データから得られる前記トラヒック量の増分との比に基づいて、前記第二通信装置宛ての前記処理要求パケットのバーストトラヒックの発生又は終了を検出し、発生を検出したときには前記シェーピングレートを減少させ、終了を検出したときには前記シェーピングレートを増加させるよう制御する、
     請求項1又は請求項2に記載のネットワーク制御装置。
  4.  前記制御部は、前記上り観測データが示す前記トラヒック量と、前記第二通信装置が処理可能な処理要求パケットのトラヒック量との比較に基づいて、又は、前記上り観測データから得られる前記トラヒック量の増分と、前記第二通信装置が処理可能な処理要求パケットのトラヒック量の増分との比較に基づいて、前記第二通信装置宛ての前記処理要求パケットのバーストトラヒックの発生を検出する、
     請求項3に記載のネットワーク制御装置。
  5.  前記制御部は、シェーピングレートの変更が可能である旨の通知を受信するまで、前記中継ネットワークを構成する前記中継装置のうち前記第二通信装置に近い前記中継装置から順に前記シェーピングレートの変更依頼を送信する、
     請求項1から請求項4のいずれか一項に記載のネットワーク制御装置。
  6.  前記中継ネットワークは、レイヤ2ネットワークであり、
     前記中継装置は、レイヤ2スイッチである、
     請求項1から請求項5のいずれか一項に記載のネットワーク制御装置。
  7.  前記処理要求パケットは、セッションの開始を要求するセッション要求パケットであり、
     前記応答パケットは、前記セッション要求パケットへの応答を示すセッション応答パケットである、
     請求項1から請求項6のいずれか一項に記載のネットワーク制御装置。
  8.  1以上の中継装置からなる中継ネットワークにより、第一通信装置と第二通信装置との間のパケットを中継するネットワークシステムにおける前記中継装置から、当該中継装置へ入力されたパケットを観測して得られた、前記第一通信装置から前記第二通信装置宛ての処理要求パケットのトラヒック量を示す上り観測データと、前記第二通信装置が前記処理要求パケットに対応して送信した応答パケットのトラヒック量を示す下り観測データとを収集するデータ収集ステップと、
     前記上り観測データが示す前記トラヒック量と前記下り観測データが示す前記トラヒック量との比、又は、前記上り観測データから得られる前記トラヒック量の増分と前記下り観測データから得られる前記トラヒック量の増分との比に基づいて、前記中継ネットワークを構成する前記中継装置に対して前記第二通信装置宛てのパケットを通過させる速さであるシェーピングレートを変更する制御ステップと、
     を有するネットワーク制御方法。
PCT/JP2019/028440 2018-07-23 2019-07-19 ネットワーク制御装置及びネットワーク制御方法 WO2020022209A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/257,720 US11451481B2 (en) 2018-07-23 2019-07-19 Network control apparatus and network control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-137993 2018-07-23
JP2018137993A JP7078850B2 (ja) 2018-07-23 2018-07-23 ネットワーク制御装置及びネットワーク制御方法

Publications (1)

Publication Number Publication Date
WO2020022209A1 true WO2020022209A1 (ja) 2020-01-30

Family

ID=69180443

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/028440 WO2020022209A1 (ja) 2018-07-23 2019-07-19 ネットワーク制御装置及びネットワーク制御方法

Country Status (3)

Country Link
US (1) US11451481B2 (ja)
JP (1) JP7078850B2 (ja)
WO (1) WO2020022209A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11411925B2 (en) 2019-12-31 2022-08-09 Oracle International Corporation Methods, systems, and computer readable media for implementing indirect general packet radio service (GPRS) tunneling protocol (GTP) firewall filtering using diameter agent and signal transfer point (STP)
US11553342B2 (en) 2020-07-14 2023-01-10 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5G roaming security attacks using security edge protection proxy (SEPP)
US11751056B2 (en) 2020-08-31 2023-09-05 Oracle International Corporation Methods, systems, and computer readable media for 5G user equipment (UE) historical mobility tracking and security screening using mobility patterns
US11825310B2 (en) 2020-09-25 2023-11-21 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5G roaming spoofing attacks
US11832172B2 (en) 2020-09-25 2023-11-28 Oracle International Corporation Methods, systems, and computer readable media for mitigating spoofing attacks on security edge protection proxy (SEPP) inter-public land mobile network (inter-PLMN) forwarding interface
US11622255B2 (en) 2020-10-21 2023-04-04 Oracle International Corporation Methods, systems, and computer readable media for validating a session management function (SMF) registration request
US11528251B2 (en) * 2020-11-06 2022-12-13 Oracle International Corporation Methods, systems, and computer readable media for ingress message rate limiting
US11770694B2 (en) 2020-11-16 2023-09-26 Oracle International Corporation Methods, systems, and computer readable media for validating location update messages
US11818570B2 (en) 2020-12-15 2023-11-14 Oracle International Corporation Methods, systems, and computer readable media for message validation in fifth generation (5G) communications networks
US11812271B2 (en) 2020-12-17 2023-11-07 Oracle International Corporation Methods, systems, and computer readable media for mitigating 5G roaming attacks for internet of things (IoT) devices based on expected user equipment (UE) behavior patterns
US11700510B2 (en) 2021-02-12 2023-07-11 Oracle International Corporation Methods, systems, and computer readable media for short message delivery status report validation
US11516671B2 (en) 2021-02-25 2022-11-29 Oracle International Corporation Methods, systems, and computer readable media for mitigating location tracking and denial of service (DoS) attacks that utilize access and mobility management function (AMF) location service
US11689912B2 (en) 2021-05-12 2023-06-27 Oracle International Corporation Methods, systems, and computer readable media for conducting a velocity check for outbound subscribers roaming to neighboring countries

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003224607A (ja) * 2002-01-30 2003-08-08 Toshiba Corp サーバ計算機保護装置および同装置のデータ転送制御方法
JP2004164553A (ja) * 2002-09-26 2004-06-10 Toshiba Corp サーバ計算機保護装置、サーバ計算機保護方法、サーバ計算機保護プログラム及びサーバ計算機
JP2014158079A (ja) * 2013-02-14 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> 輻輳制御システム及び輻輳制御方法
JP2015023364A (ja) * 2013-07-17 2015-02-02 Kddi株式会社 通信制御装置、通信制御システム及び通信制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1739993A1 (en) * 2005-07-01 2007-01-03 Siemens S.p.A. Method for controlling the access to a TDMA wireless channel from nodes of a network of either linear or tree topology
JP2015050759A (ja) * 2013-09-05 2015-03-16 株式会社日立製作所 トラヒック制御方法およびトラヒック制御装置
WO2017221481A1 (ja) * 2016-06-20 2017-12-28 日本電気株式会社 通信ネットワーク装置、通信ネットワークシステム、及び通信ネットワーク装置の方法
KR20180007794A (ko) * 2016-07-14 2018-01-24 삼성전자주식회사 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003224607A (ja) * 2002-01-30 2003-08-08 Toshiba Corp サーバ計算機保護装置および同装置のデータ転送制御方法
JP2004164553A (ja) * 2002-09-26 2004-06-10 Toshiba Corp サーバ計算機保護装置、サーバ計算機保護方法、サーバ計算機保護プログラム及びサーバ計算機
JP2014158079A (ja) * 2013-02-14 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> 輻輳制御システム及び輻輳制御方法
JP2015023364A (ja) * 2013-07-17 2015-02-02 Kddi株式会社 通信制御装置、通信制御システム及び通信制御方法

Also Published As

Publication number Publication date
US11451481B2 (en) 2022-09-20
JP2020017806A (ja) 2020-01-30
JP7078850B2 (ja) 2022-06-01
US20210176177A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
WO2020022209A1 (ja) ネットワーク制御装置及びネットワーク制御方法
US8265076B2 (en) Centralized wireless QoS architecture
CN108092888B (zh) 一种基于Overlay网络的传输方法、网关及传输系统
EP1069801B1 (en) Connections bandwidth right sizing based on network resources occupancy monitoring
US9185047B2 (en) Hierarchical profiled scheduling and shaping
US6839767B1 (en) Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification
Pokhrel et al. Improving multipath TCP performance over WiFi and cellular networks: An analytical approach
EP1587262A2 (en) Wireless communications apparatus and routing control and packet transmission technique in wireless network
US20110267952A1 (en) Dynamic latency-based rerouting
CN102461093B (zh) 管理业务负荷的方法
JP2004040793A (ja) QoSを推定する方法および通信装置
JP2006506845A (ja) ルータにおけるパケットに対し論理リンクを選択する方法
Bui et al. A markovian approach to multipath data transfer in overlay networks
CN113726681B (zh) 一种网络拥塞控制方法及网络设备
KR101983088B1 (ko) 다중 경로 환경에서의 udp 패킷 처리 방법
CN114374647A (zh) 一种对时敏业务流和路由联合调度的规划方法及装置
JP2014518047A (ja) 適応性の伝送キュー長を用いたデータパケット損失低減システムおよび方法
JP2006197473A (ja) ノード
RU2589867C2 (ru) Устройство связи, устройство управления, система связи, способ связи, способ управления устройством связи и программа
JP2010130329A (ja) 通信装置および中継装置
Park et al. Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach
Kumar et al. Device‐centric data reordering and buffer management for mobile Internet using Multipath Transmission Control Protocol
Zhong et al. Research and Implementation of AOMDV Multipath Routing Protocol
Magalhães A* transport layer approach to host mobility
Wang et al. DSTP-end to end based approach to optimize data transmission for satellite communications

Legal Events

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

Ref document number: 19840638

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19840638

Country of ref document: EP

Kind code of ref document: A1