Communication processing method, program, and communication control device
The communication processing method and device address the challenge of early congestion detection by adjusting communication flow priorities, ensuring service continuity and QoS through queue management and priority adjustment.
Patent Information
- Application Number
- JP2022027540
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-02-25
- Publication Date
- 2025-09-22
- Estimated Expiration
- 2042-02-25
AI Technical Summary
Existing communication technologies struggle to detect network congestion early, leading to difficulties in maintaining service continuity and satisfying quality of service (QoS) requirements, as they either only control individual communications or perform congestion control after the congestion state is detected.
A communication processing method and device that includes queue length acquisition, queue memory occupancy status data acquisition, network status determination, and priority adjustment processing to detect early signs of congestion and adjust priorities of communication flows to prevent congestion.
Enables early detection and prevention of network congestion, maintaining service continuity and satisfying QoS requirements by adjusting communication flow priorities, thereby reducing the likelihood of packet loss and delay.
Smart Images

Figure 0007742645000003 
Figure 0007742645000004 
Figure 0007742645000005
Abstract
Description
[Technical Field]
[0001] The present invention relates to communication technology, and more particularly to a technology for detecting congestion states early on to improve service continuity. [Background technology]
[0002] In recent years, the amount of traffic on communication networks such as the Internet has been increasing, and maintaining and improving service continuity, which is an indicator of whether a service can be continued within limited network resources, has become an issue. For example, when a large amount of traffic with high quality requirements flows and the network becomes congested, it can become an issue that the service cannot be continued.
[0003] To address these issues, various methods have been developed, including (1) a method of predicting and controlling the state of a network using information that can be observed at both ends (the terminal and the server) communicating over the network (a control method in an end-to-end device), and (2) a method in which a network device directly uses network information to detect network congestion and then performs priority control or controls to discard certain packets, thereby maintaining service continuity (see, for example, Non-Patent Document 1) (a control method in a network device). [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] K. Nichols, S. Blake, F. Baker, and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers," RFC 2474, December 1998. Summary of the Invention [Problem to be solved by the invention]
[0005] However, with the control method in the end-end device described above, if a congestion state in the network is detected, control such as reducing throughput can be performed, which increases the possibility of maintaining service continuity, but there is a problem in that it can only control its own communications.
[0006] Furthermore, while the control method in the above network device can perform congestion control for the entire network, for example, in the technology (Diffserv) of Non-Patent Document 1, priority control is performed based on quality requirements (QoS) after a congestion state is detected, making it difficult to detect a congestion state in the network and avoid the congestion state early. In other words, in the technology (Diffserv) of Non-Patent Document 1, priority control is performed based on quality requirements (QoS) after a congestion state occurs in the network and the congestion state is detected, making it difficult to take measures to avoid the congestion state before the congestion state is detected (before the congestion state occurs).
[0007] Therefore, in view of the above problems, the present invention aims to realize a communication system, a communication control device, a communication processing method, and a program that can detect network congestion states early in a communication network, avoid the congestion states early, and maintain and improve the service continuity rate of the entire communication network while satisfying the quality requirements of each communication flow. [Means for solving the problem]
[0008] In order to solve the above problem, the first invention is a communication processing method used in a communication control device that controls communication on a network that can communicate using a communication method that allows QoS control, and includes a queue length acquisition step, a queue memory occupancy status data acquisition step, a network status determination step, and a priority adjustment processing step.
[0009] The queue length acquisition step acquires the queue length of the communication queue memory of the communication control device.
[0010] The queue memory occupancy state data acquisition step acquires queue memory occupancy state data which is data indicating the occupancy state of communication data in the communication queue memory.
[0011] The network state determination step determines the state of the network based on the queue memory occupancy state data.
[0012] The priority adjustment processing step performs processing to adjust the priority of one or more communication flows communicated over the network based on the determination result of the network state determination step.
[0013] In this communication processing method, the state of the network can be determined based on the occupancy state of communication data in the communication queue memory (for example, the occupancy rate of communication data in the communication queue memory). In addition, in this communication processing method, by detecting that the occupancy rate of communication data in the communication queue memory becomes larger than a predetermined value, it is possible to detect an early congestion state (a state that indicates a sign of a congestion state (a state in which a congestion state will occur if the transmission load rate becomes even higher)). In addition, in this communication processing method, if an early congestion state is detected, processing to avoid the congestion state (for example, processing to avoid the congestion state by lowering the priority of a predetermined communication flow) is performed, so processing to avoid the congestion state (congestion control processing) can be performed early.
[0014] A second aspect of the present invention is the first aspect of the present invention, wherein the network status determination step comprises: (1) If the occupancy rate of the communication data in the communication queue memory is smaller than a first value, the state of the network is determined to be a "no congestion phase state" indicating that there is no congestion; (2) If the occupancy rate of the communication data in the communication queue memory is equal to or greater than a first value and is smaller than a second value that is greater than the first value, the network state is determined to be a "delay time increase phase state," which indicates a state that indicates a sign of a congestion state; (3) When the occupancy rate of the communication data in the communication queue memory is equal to or greater than a second value, the state of the network is determined to be a "packet loss increase phase state" which indicates a state indicative of a congestion state; The priority adjustment processing step performs processing to lower the priority of adaptively controllable communication flows among the communication flows when the network state determination step determines that the network is in a delay time increase phase state.
[0015] As a result, this communication processing method can determine whether the network state is in (1) a no-congestion phase state, (2) a delay time increase phase state (early congestion state), or (3) a packet loss increase phase state (congestion state) based on the occupancy state of communication data in the communication queue memory (for example, the occupancy rate of communication data in the communication queue memory). Then, when this communication processing method detects that the network is in a delay time increase phase state (early congestion state), it early executes processing to avoid the congestion state (processing to avoid the congestion state by lowering the priority of adaptively controllable communication flows). In other words, when this communication processing method detects an early congestion state, it executes the above processing, thereby lowering the bit rate for adaptively controllable communication flows, and accordingly reducing the communication volume of the entire network, thereby maintaining a good communication state of the entire network.
[0016] Therefore, this communication processing method can detect network congestion early in a communication network, avoid the congestion early, and maintain and improve the service continuity rate of the entire communication network while satisfying the quality requirements of each communication flow.
[0017] A third aspect of the present invention is the second aspect of the present invention, wherein the priority adjustment processing step includes: (1) When it is determined that the network state is in a delay time increase phase state by the network state determination step, a process is performed to lower the priority of adaptively controllable communication flows among the communication flows to a first level or lower; (2) If the network state determination step determines that the network is in a packet loss increase phase, the priority of adaptively controllable communication flows is lowered to a second level or lower, which is a level lower than the first level.
[0018] As a result, in this communication processing method, if it detects that the network is in a delay time increase phase state (early congestion state), it can execute processing to avoid the congestion state (processing to avoid the congestion state by lowering the priority of adaptively controllable communication flows) early, and if it detects that the network is in a congested state, it can further lower the priority of adaptively controllable communication flows, increasing the possibility of resolving the congestion state.
[0019] A fourth invention is a program for causing a computer to execute the communication processing method of any one of the first to third inventions.
[0020] This makes it possible to realize a program for causing a computer to execute a communication processing method that has the same effect as any one of the first to third aspects of the present invention.
[0021] A fifth invention is a communication control device that controls communication in a network that can communicate using a communication method that allows QoS control, and includes a communication queue memory, a communication control unit, a congestion state detection unit, and a priority adjustment unit.
[0022] The communication control unit acquires the queue length of the communication queue memory, and also acquires queue memory occupancy status data that indicates the occupancy status of the communication queue memory with communication data.
[0023] The congestion state detection unit determines the state of the network based on the queue memory occupancy state data.
[0024] The priority adjustment unit performs a process of adjusting the priority of one or more communication flows communicated over the network based on the determination result by the congestion state detection unit.
[0025] This makes it possible to realize a communication control device that has the same effects as the first aspect of the invention. [Effects of the Invention]
[0026] According to the present invention, it is possible to realize a communication system, a communication control device, a communication processing method, and a program that can detect network congestion early in a communication network, avoid the congestion early, and maintain and improve the service continuity rate of the entire communication network while satisfying the quality requirements of each communication flow. [Brief explanation of the drawings]
[0027] [Figure 1] 1 is a schematic configuration diagram of a communication system 1000 according to a first embodiment. [Figure 2] 1 is a schematic configuration diagram of a communication control device 100 according to a first embodiment. [Figure 3] FIG. 2 is a schematic configuration diagram of a second communication interface 7 of the communication control device 100 according to the first embodiment. [Figure 4] 10 is a diagram for explaining a communication flow identification process executed in the communication system 1000. [Figure 5] 10 is a diagram for explaining a communication flow identification process executed in the communication system 1000. [Figure 6] Graph (top) (example) showing the relationship between the transmission line load factor and the number of packet losses in the communication system 1000, and graph (bottom) (example) showing the relationship between the transmission line load factor and delay time (communication delay time). [Figure 7] 10 is a flowchart of a process (early congestion control process) executed by the communication control device 100 of the communication system 1000. [Figure 8] 3 is a diagram schematically illustrating a first transmission queue 722_q1 to an N-th transmission queue 722_qN of a transmission unit 72. FIG. [Figure 9] A diagram showing the CPU bus configuration. DETAILED DESCRIPTION OF THE INVENTION
[0028] [First embodiment] The first embodiment will be described below with reference to the drawings.
[0029] <1.1: Communication system configuration> FIG. 1 is a schematic configuration diagram of a communication system 1000 according to the first embodiment.
[0030] FIG. 2 is a schematic configuration diagram of the communication control device 100 according to the first embodiment.
[0031] FIG. 3 is a schematic configuration diagram of the second communication interface 7 of the communication control device 100 according to the first embodiment.
[0032] As shown in FIG. 1, the communication system 1000 includes M (M: natural number) servers, ie, a first server Svr1 to an M-th server SvrM, a communication control device 100 installed in, for example, a switching center Cntr1, a RAN (Radio Access Network), and a plurality of terminal devices (m1 (m1: natural number) terminal devices UE11 to UE12 in FIG. 1). m1 , m2 (m2: natural number) terminal devices UE21 to UE2 m2 , mn (mn: natural number) terminal devices UEn1 to UEn mn The first server Svr1 to the M-th server SvrM and the communication control device 100 are connected to a network NW1 (for example, the Internet), and are capable of communicating with each other and with the respective servers and / or devices.
[0033] Furthermore, the RAN is configured with an aggregation base station CU1 and distributed base stations DU1 to DUn (n: natural number) connected to the aggregation base station CU1, as shown in Fig. 1. Note that, although the RAN includes one aggregation base station CU1 in Fig. 1, the RAN is not limited to this and may include multiple aggregation base stations and one or multiple distributed base stations connected to each of the multiple aggregation base stations.
[0034] In addition, the communication control device 100 and the RAN aggregation base station CU1 may be connected via a network (not shown) (for example, a mobile phone communication network (for example, a 4G / LTE communication network or a 5G communication network (5G: fifth generation mobile communication system))).
[0035] The first server Svr1 to the M-th server SvrM are servers that provide predetermined applications and are connected to the network NW1. ... m1 , terminal devices UE21 to UE2 m2 , , terminal devices UEn1 to UEn mn ) and provides applications in response to requests from terminal devices. The first server Svr1 to the M-th server SvrM can communicate with terminal devices via the network NW1, the communication control device 100, and the RAN, respectively.
[0036] The communication control device 100 is, for example, a device installed in a switching center Cntr1 (for example, a switching center that connects a 5G (fifth generation mobile communication system) transmission network with an external network (for example, the Internet) and performs communication), and is communicatively connected to a network NW1 and a RAN. The communication control device 100 has a function of controlling communication between the network NW1, the RAN, a server, and / or a terminal device.
[0037] As shown in Figure 2, the communication control device 100 includes a first communication interface 1, a C-plane signal processing unit 2, a selector SEL1, a buffer Buf1, a communication flow identification processing unit 3, a priority adjustment unit 4, a U-plane signal processing unit 5, a congestion state detection unit 6, and a second communication interface 7.
[0038] The first communication interface 1 is a communication interface for transmitting and receiving data to and from external devices (external servers (first server Svr1 to Mth server SvrM)) via the network NW1. As shown in FIG. 2, the first communication interface 1 is connected to the C-plane signal processing unit 2, the U-plane signal processing unit 5, and the selector SEL1.
[0039] The first communication interface 1 outputs data received from the outside (network NW1) that is necessary for performing C-plane control to the C-plane signal processing unit 2 as data Di_n_c, and also inputs data output from the C-plane signal processing unit 2 (data that needs to be sent to network NW1 for performing C-plane control) as data Do_n_c (data to be sent to the outside via network NW1). Note that "C-plane" stands for Control plane, and represents the data, signals, procedures, or mechanisms that control communications in a communication system (e.g., a wireless communication system).
[0040] Furthermore, the first communication interface 1 outputs data received from the outside (network NW1) to the U-plane signal processing unit 5 as data Di_n_u, and also inputs data output from the U-plane signal processing unit 5 as data Do_n_u (data to be transmitted to the outside via the network NW1). Note that "U-plane" stands for User plane, and represents the data, procedure, or mechanism that a user sends and receives in a communication system (e.g., a wireless communication system).
[0041] Furthermore, the first communication interface 1 outputs data (data used in the process of identifying a communication flow) received from the outside (network NW1) as data D0_n to the selector SEL1.
[0042] The C-plane signal processing unit 2 performs processing for transmitting and receiving C-plane data with the RAN via the second communication interface 7. In order to perform processing for transmitting and receiving C-plane data with the RAN via the second communication interface 7, the C-plane data output from the C-plane signal processing unit 2 to the second communication interface 7 is referred to as data Do_r (C) and the C-plane data input from the second communication interface 7 to the C-plane signal processing unit 2 is represented as data Di_r (C) It is written as follows.
[0043] In addition, the C-plane signal processing unit 2 receives data necessary for C-plane control from the network NW1 (external devices, servers, etc. on the network NW1) and / or transmits the data to the network NW1 (external devices, servers, etc. on the network NW1) via the first communication interface 1. Note that data output from the C-plane signal processing unit 2 to the first communication interface 1 is referred to as data Do_n_c, and data input from the first communication interface 1 to the C-plane signal processing unit 2 is referred to as data Di_n_c.
[0044] The selector SEL1 receives as input data D0_n output from the first communication interface 1, data D0_r output from the second communication interface 7, and a selection signal sel1 output from a control unit (not shown) that controls each functional unit of the communication control device 100. The selector SEL1 selects either the input data D0_n or data D0_r in accordance with the selection signal sel1, and outputs the selected data to the buffer Buf1 as data D1.
[0045] The buffer Buf1 is a storage unit (buffer) that receives the data D1 output from the selector SEL1 and temporarily stores the data D1. The data stored in the buffer Buf1 can be read out by a read command from the communication flow identification processing unit 3 and / or the U-plane signal processing unit 5. Note that the buffer Buf1 also stores and stores data such as the arrival time, packet length, and packet size of each packet of communication data from outside.
[0046] The communication flow identification processing unit 3 reads out the data held in the buffer Buf1 as data D2, and uses the data D2 to analyze the communication data (data received by the communication control device 100 from an external device (server) and / or data received from the RAN (e.g., data from a terminal device)), as well as to identify the communication flow (communication flow identification processing).The communication flow identification processing unit 3 then outputs data including the communication flow identification processing result to the priority adjustment unit 4 as data D_flow_det.
[0047] The priority adjustment unit 4 receives data D_flow_det output from the communication flow identification processing unit 3 and data D41 output from the congestion state detection unit 6. Based on the data D_flow_det and the data D41, the priority adjustment unit 4 executes a priority adjustment process (a process for adjusting the priority of each communication flow) and determines a QoS identifier QoS_ID to be assigned in accordance with the QoS request of the communication flow (communication flow from the server to the terminal device) being processed by the communication control device 100. The priority adjustment unit 4 then outputs data including the QoS identifier QoS_ID determined as described above to the U-plane signal processing unit 5 as data D_QoS_ID.
[0048] The U-plane signal processing unit 5 performs processing for transmitting and receiving U-plane data with the RAN via the second communication interface 7. In order to perform processing for transmitting and receiving U-plane data with the RAN via the second communication interface 7, the U-plane data output from the U-plane signal processing unit 5 to the second communication interface 7 is converted into data Do_r (U) and the U-plane data input from the second communication interface 7 to the U-plane signal processing unit 5 is represented as data Di_r (U) It is written as follows.
[0049] Furthermore, the U-plane signal processing unit 5 receives data necessary for processing U-plane data from the network NW1 (external devices, servers, etc. on the network NW1) and / or transmits the data to the network NW1 (external devices, servers, etc. on the network NW1) via the first communication interface 1. Note that data output from the U-plane signal processing unit 5 to the first communication interface 1 is represented as data Do_n_u, and data input from the first communication interface 1 to the U-plane signal processing unit 5 is represented as data Di_n_u.
[0050] Furthermore, the U-plane signal processing unit 5 reads out the data held in the buffer Buf1 as data D3. The U-plane signal processing unit 5 also inputs data D_QoS_ID (data D_QoS_ID including the QoS identifier QoS_ID of the communication flow corresponding to the data D3) that corresponds to the data D3 and is output from the priority adjustment unit 4. The U-plane signal processing unit 5 acquires data in which the QoS identifier QoS_ID acquired from the data D_QoS_ID is assigned to the data D3, and assigns the acquired data to communication data Do_r (U) and outputs it to the second communication interface 7.
[0051] The congestion state detection unit 6 receives data D4 output from the second communication interface 7 and determines whether the communication state between the communication control device 100, the RAN, and / or the terminal device is congested based on the data D4. The congestion state detection unit 6 then outputs data including the determination result to the priority adjustment unit 4 as data D41.
[0052] The second communication interface 7 is a communication interface for transmitting and receiving data to and from the RAN (a device within the RAN). Also, as shown in FIG. 2, the second communication interface 7 is connected to the C-plane signal processing unit 2, the U-plane signal processing unit 5, the selector SEL1, and the congestion state detection unit 6.
[0053] The second communication interface 7 receives data from the outside (RAN), and converts C-plane data into data Di_r (C) to the C-plane signal processing unit 2, and the C-plane data output from the C-plane signal processing unit 2 is (C) Note that "C-plane" stands for Control plane, and refers to the data, signals, procedures, or mechanisms that control communications in a communications system (for example, a wireless communications system).
[0054] The second communication interface 7 also converts U-plane data received from the outside (RAN) into data Di_r (U) to the U-plane signal processing unit 5, and the U-plane data output from the U-plane signal processing unit 5 is (U) It should be noted that "U-plane" stands for User plane, and represents the data transmitted and received by a user in a communication system (for example, a wireless communication system), its procedure, or mechanism.
[0055] Furthermore, the second communication interface 7 outputs data received from the outside (RAN) (data used in the process of identifying the communication flow) to the selector SEL1 as data D0_r.
[0056] As shown in FIG. 3, the second communication interface 7 includes a communication control unit 71, a transmitting unit 72, and a receiving unit 73.
[0057] The communication control unit 71 is a functional unit that controls the transmission unit 72 and the reception unit 73 of the second communication interface 7. In addition, the communication control unit 71 acquires data indicating the occupancy state of the transmission queue of the transmission unit 72, and outputs the data to the congestion state detection unit 6 as data D4.
[0058] The transmitter 72 receives the data Do_r output from the U-plane signal processor 5. (U) and the data Do_r output from the C-plane signal processing unit 2 (C) and based on the command of the communication control unit 71, the data Do_r (U) , and / or data Do_r (C) 3, the transmitter 72 includes a transmission data distribution processor 721, a first transmission queue 722_q1 to an N-th transmission queue 722_qN which are N (N: natural number) transmission queue memories, and a packet transmitter 723.
[0059] The transmission data distribution processing unit 721 distributes the data Do_r output from the U-plane signal processing unit 5. (U) and the data Do_r output from the C-plane signal processing unit 2 (C) The transmission data distribution processing unit 721 receives the following data and determines which transmission queue to distribute the data to depending on the type of data and the set QoS identifier. (U) (2) Generates packet data for transmission and distributes the generated packet data to transmission queues (outputs the transmission packets to the transmission queues to which they are distributed), and (3) outputs data Do_r (C)The data (data for transmission packets) output from the transmission data distribution processor 721 to the k-th transmission queue 722_qk (k: natural number, 1≦k≦N) is referred to as data Dq k It is written as follows.
[0060] The first transmission queue 722_q1 to the Nth transmission queue 722_qN, which are N (N: natural number) transmission queue memories, each receive transmission packet data Dq output from the transmission data allocation processor 721, store the received transmission packet data in a queue memory (FIFO memory (FIFO: First in First out)), and output the stored transmission packet data to the packet transmitter 723 in accordance with an instruction from the communication controller 71. That is, the kth transmission queue 722_qk (k: natural number, 1≦k≦N) receives transmission packet data Dq output from the transmission data allocation processor 721, and outputs the stored transmission packet data Dq k and input the transmitted packet data Dq k in a queue memory (FIFO memory), and outputs the stored transmission packet data to a packet transmitter 723 in accordance with a command from the communication controller 71.
[0061] The packet transmitting unit 723 receives transmission packet data output from the first transmission queue 722_q1 to the N-th transmission queue 722_qN, and transmits the received transmission packet data to the outside (RAN) in accordance with an instruction from the communication control unit 71. If the first transmission queue 722_q1 to the N-th transmission queue 722_qN are queue memories that are sorted according to the priority of transmission packets (communication data), the packet transmitting unit 723 may be controlled by the communication control unit 71 so that transmission packets (communication data) with higher priority are preferentially transmitted, or may be controlled by the communication control unit 71 so that transmission packets (communication data) stored in queue memories with lower priority are also transmitted at a predetermined rate with a predetermined probability.
[0062] The receiving unit 73 receives data transmitted from the outside (RAN) in accordance with an instruction from the communication control unit 71, and (1) if the received data is a C-plane signal (data for C-plane), converts the data into data Di_r (c) to the C-plane signal processing unit 2, and (2) if the received data is a U-plane signal (data for U-plane), the data is (U) and outputs it to the U-plane signal processing unit 5.
[0063] As shown in FIG. 1, the RAN includes an aggregation base station CU1 and one or more distributed base stations DU1 to DUn (n: natural number).
[0064] The aggregation base station CU1 is communicatively connected to the communication control device 100 and each of the distributed base stations DU1 to DUn. The aggregation base station CU1 allocates an individual radio bearer (a service line via wireless communication) to each of the distributed base stations DU1 to DUn. That is, the aggregation base station CU1 performs mapping processing between the distributed base stations DU1 to DUn and the radio bearer. Note that one radio bearer can include multiple communication flows (communication data (communication packet group) requiring the same QoS). Note that the aggregation base station CU1 establishes a PDU session (PDU: Protocol Data Unit) (a session between the communication control device 100, aggregation base station CU1, distributed base stations DU1 to DUn, and terminal device) based on communication data (C-plane data, U-plane data) received from the communication control device 100, and allocates an individual radio bearer (a service line via wireless communication) to each of the distributed base stations DU1 to DUn.
[0065] The aggregation base station CU1 then communicates with each of the distributed base stations DU1 to DUn on a radio bearer basis.
[0066] The distributed base stations DU1 to DUn are each communicably connected to the aggregation base station CU1. Furthermore, the distributed base stations DU1 to DUn can each be communicably connected to one or more terminal devices. The distributed base stations DU1 to DUn each transmit communication data received from the aggregation base station CU1 to the terminal device that is the destination of the communication data (for example, the destination described in the header). Furthermore, the distributed base stations DU1 to DUn each transmit communication data received from the terminal device to the aggregation base station CU1.
[0067] A plurality of terminal devices (m1 (m1: natural number) terminal devices UE11 to UE1 m1 , m2 (m2: natural number) terminal devices UE21 to UE2 m2 , mn (mn: natural number) terminal devices UEn1 to UEn mn ) are each connected to be able to communicate with a distributed base station assigned to the terminal device among the distributed base stations DU1 to DUn of the RAN (for example, connected to be able to communicate wirelessly). The plurality of terminal devices can each establish a PDU session with the communication control device 100, the aggregation base station CU1, and the distributed base station. The plurality of terminal devices can then each communicate with the communication control device 100, the aggregation base station CU1, and the distributed base station in communication flow units (QoS flow units (units of communication packet groups requiring the same QoS)).
[0068] <1.2: Operation of the communication system> The operation of communication system 1000 configured as above will now be described.
[0069] 4 and 5 are diagrams for explaining the communication flow identification process executed in the communication system 1000. FIG.
[0070] For ease of explanation, the following will describe a case (one example) in which three servers, a first server Svr1, a second server Svr2, and a third server Svr3, two distributed base stations DU1 and DU2, are installed in a communication system 1000, as shown in Fig. 5, and the communication system 1000 also includes terminal devices UE11 and UE22 communicatively connected to the distributed base station DU1, and terminal devices UE21 and UE22 communicatively connected to the distributed base station DU2. It is also assumed that in the communication system 1000, the first server Svr1 provides an application 1 to the terminal device UE11, the second server Svr2 provides an application 2 to the terminal device UE12, and the third server Svr3 provides an application 3 to the terminal device UE21.
[0071] In addition, in the communication system 1000, (1) The communication flow from the first server Svr1 (the communication flow for providing application 1) is a normal communication flow (a communication flow that is not adaptively controllable) (a communication flow that requires QoS ID #1), (2) The communication flow from the second server Svr2 (the communication flow for providing application 2) is a normal communication flow (a communication flow that is not adaptively controllable) (a communication flow that requires QoS ID#2), (3) It is assumed that the communication flow from the third server Svr3 (communication flow for providing application 3) is an adaptively controllable communication flow (a communication flow requiring QoS ID#3).
[0072] (1.2.1: Communication flow identification process) First, the communication flow identification process executed by the communication control device 100 of the communication system 1000 will be described.
[0073] In the communication system 1000, as shown in FIG. 4, packets (communication packets) requiring various QoS flow, and it is important to appropriately identify communication flows (QoS flows), which are collections of packets requiring the same QoS.
[0074] In the communication control device 100, a communication flow identification processing unit 3 executes a flow identification process. Specifically, a large number of packets (communication packets) constituting various traffics transmitted from a server connected to the network NW1 to the communication control device 100 are input to a buffer Buf1 via a first communication interface 1 of the communication control device 100. It is assumed that the signal value of the selection signal sel1 of the selector SEL1 is set so that the selector SEL1 outputs data D0_n from the first communication interface 1 as data D1 to the buffer Buf1 (in the case of FIG. 2, the signal value of the selection signal sel1 is set to “1”). When uplink data (communication data flowing from the RAN side to the network NW1 side) is used in the learning process by the communication flow identification processing unit 3, the signal value of the selection signal sel1 is set to “0” and data D0_r output from the second communication interface 7 is input to the buffer Buf1 via the selector SEL1.
[0075] The communication flow identification processing unit 3 reads out the data held in the buffer Buf1 as data D2, and performs an analysis process of the communication data (data received by the communication control device 100 from an external device (server) and / or data received from the RAN (e.g., data from a terminal device)) using the data D2 to identify the communication flow (a set of packets requiring the same QoS) to which the communication packet belongs, thereby performing the communication flow identification process. The communication flow identification processing unit 3 performs the above analysis process by, for example, address filtering. Note that the address filtering process refers to a process of identifying a communication flow based on a conversion table that links a server (e.g., an application server) with a communication flow (QoS flow) identifier (QoS flow ID). Since the type of application can be identified to some extent from the IP address and port number on the server side, the communication flow can be identified based on the conversion table that links a server with a communication flow (QoS flow) identifier (QoS flow ID).
[0076] Furthermore, if the communication flow identification processing unit 3 is unable to identify the communication flow (a set of packets requiring the same QoS) to which the communication packet belongs by the above-mentioned analysis processing (for example, address filtering processing), it can perform a learning processing using a large number of packets (communication packets) stored in buffer Buf1, for example, by the method disclosed in Patent Application No. 2021-026189, to obtain a learned model that identifies (estimates) the communication flow from the received communication packets, and then perform processing using the learned model obtained by the learning processing, thereby performing communication flow identification processing (processing to identify the communication flow (a set of packets requiring the same QoS) to which the communication packet belongs).
[0077] The communication flow identification processing unit 3 outputs data including the results obtained by the above communication flow identification processing to the priority adjustment unit 4 as data D_flow_det.
[0078] (1.2.2: Early Congestion Control Processing) Next, the early congestion control process (including priority adjustment process) executed by the communication control device 100 of the communication system 1000 will be described.
[0079] 6 is a graph (upper diagram) (example) showing the relationship between the transmission line load factor and the number of packet losses in the communication system 1000, and a graph (lower diagram) (example) showing the relationship between the transmission line load factor and delay time (communication delay time) in the communication system 1000. Note that the horizontal axis (transmission line load factor) is aligned in the two graphs shown in FIG.
[0080] As shown in the upper diagram of Figure 6, when the network transmission load factor exceeds a predetermined value (for example, b2 in Figure 6), the number of packet losses increases as the transmission load factor increases. This situation occurs, for example, due to congestion in the RAN. In this situation, it can be determined that many communication packets are being discarded in the RAN-side network (base stations and terminal devices in the RAN-side network), and the entire network (particularly the RAN-side network) is in a congested state.
[0081] As shown in the lower diagram of FIG. 6, when the transmission load factor of the network exceeds a predetermined value (for example, b1 in FIG. 6), the communication delay time increases as the transmission load factor increases. This situation occurs, for example, when a communication control device, a base station, a communication device, etc., performs a lot of buffering (buffering of communication data in a communication buffer (for example, a queue memory)) or retransmission (retransmission of communication packets). In this situation, it can be determined that the network (for example, the network NW1 of the communication system 1000 or the network on the RAN side) is in an early congestion state (a state that indicates a sign of a congestion state).
[0082] As can be seen from the upper and lower figures in Figure 6, as the transmission path load rate increases, the network transitions from (1) a state where there is no congestion (no congestion phase), to (2) a state where communication delay time increases (delay time increase phase), to (3) a state where packet loss increases (packet loss increase phase).
[0083] The communication control device 100 of the communication system 1000 detects a state in which communication delay time increases (delay time increase phase), that is, an early congestion state (a state showing a sign of a congestion state), and thereby executes congestion control processing early. This will be described in detail below.
[0084] 7 is a flowchart of a process (early congestion control process) executed by the communication control device 100 of the communication system 1000. The early congestion control process will be described below with reference to the flowchart of FIG.
[0085] (Step S1): In step S1, an initial setting process is executed. Specifically, the following process is executed.
[0086] The communication control unit 71 of the second communication interface 7 sets the maximum length (maximum queue length) Q_limit of the first transmission queue 722_q1 to the N-th transmission queue 722_qN of the transmission unit 72, and a parameter α (0≦α≦1).
[0087] Fig. 8 is a diagram schematically showing the first transmission queue 722_q1 to the N-th transmission queue 722_qN of the transmitter 72. In Fig. 8, the hatched rectangular portions indicate communication packets (packets for transmission). Fig. 8 shows a case where five communication packets are held (stored) in the first transmission queue 722_q1, seven communication packets are held (stored) in the second transmission queue 722_q2, and four communication packets are held (stored) in the N-th transmission queue 722_qN.
[0088] Then, the queue length (a quantity specifying the maximum storage capacity (the queue length is specified by, for example, the number of packets, bytes, bits, etc.)) of the i-th transmission queue 722_qi (i: natural number, 1≦i≦N) is set to FIFO_L i In this case, the communication control unit 71 obtains the maximum queue length Q_limit by executing a process corresponding to the following formula (see also FIG. 8).
number
[0089] (Step S2): In step S2, a process for acquiring the transmission queue length Q_len is executed. Specifically, the following process is executed.
[0090] The communication control unit 71 of the second communication interface 7 acquires the queue lengths of the queue memory (FIFO memory) occupied by the first transmission queue 722_q1 to the N-th transmission queue 722_qN of the transmission unit 72, and acquires the sum of the acquired queue lengths. That is, in the i-th transmission queue 722_qi, the length (queue length) of the queue memory (FIFO memory) occupied by communication data is calculated as Q_len. i (i: natural number, 1≦i≦N), the communication control unit 71 acquires the transmission queue length Q_len by executing a process corresponding to the following formula (see also FIG. 8).
number
[0091] The communication control unit 71 determines the network state S from the transmission queue length Q_len acquired in step S2. The network state S is defined as follows. S={S1,S2,S3} S1: No congestion phase S2: Delay time increase phase S3: Packet loss increase phase (1) If 0≦Q_len<α×Q_limit (Case 1 in the flowchart of FIG. 7), the communication control unit 71 determines that the network state S=S1 (non-congestion phase) and proceeds to step S41. (2) When α × Q_limit ≤ Q_len < Q_limit (Case 2 in the flowchart of FIG. 7), the communication control unit 71 determines that the network state S = S2 (delay time increase phase), and proceeds with the process to step S42. (3) When Q_len = Q_limit (Case 3 in the flowchart of FIG. 7), the communication control unit 71 determines that the network state S = S3 (packet loss increase phase), and proceeds with the process to step S43.
[0092] (Step S41): In step S41, a process for maintaining the priority of the communication flow that can be adaptively controlled is performed. Specifically, the following processes are executed.
[0093] The communication control unit 71 generates data including information indicating that the network state S = S1 (non - congestion phase), and outputs the data as data D4 to the congestion state detection unit 6.
[0094] The congestion state detection unit 6 inputs the data D4 output from the communication control unit 71, grasps from the data D4 that the network state S is the state S1 (non - congestion phase), generates data including information indicating that the priority of the communication flow that can be adaptively controlled is maintained, and outputs the data as data D41 to the priority adjustment unit 4.
[0095] Based on the data D_flow_det output from the communication flow identification processing unit 3 and the data D41 output from the congestion state detection unit 6, the priority adjustment unit 4 executes a priority adjustment process (a process for adjusting the priority of each communication flow) to determine the QoS identifier QoS_ID assigned according to the QoS requirements of the communication flow (communication flow from the server to the terminal device) that the communication control device 100 is processing. The priority adjustment unit 4 determines the QoS identifier QoS_ID corresponding to the QoS required by the communication flow that can be adaptively controlled among the communication flows (communication flows from the server to the terminal device) that the communication control device 100 is processing.
[0096] Then, the priority adjustment unit 4 outputs data including the QoS identifier QoS_ID determined as described above to the U-plane signal processing unit 5 as data D_QoS_ID.
[0097] The U-plane signal processing unit 5 reads out the data held in the buffer Buf1 as data D3. The U-plane signal processing unit 5 also receives data D_QoS_ID (data D_QoS_ID including the QoS identifier QoS_ID of the communication flow corresponding to the data D3) that corresponds to the data D3 and is output from the priority adjustment unit 4. The U-plane signal processing unit 5 acquires data in which the QoS identifier QoS_ID acquired from the data D_QoS_ID is assigned to the data D3, and assigns the acquired data to communication data Do_r (U) and outputs it to the second communication interface 7.
[0098] As a result, adaptively controllable communication flows are transmitted with a QoS identifier QoS_ID corresponding to the QoS requested by the communication flow. In other words, adaptively controllable communication flows are transmitted with a QoS identifier QoS_ID indicating a priority corresponding to the QoS requested by the communication flow. The priority corresponding to the QoS requested by this adaptively controllable communication flow is referred to as "normal priority."
[0099] In step S41, the U-plane signal processing unit 5 (1) For the communication flow from the first server Svr1 (communication flow for providing application 1), the QoS identifier QoS_ID "QoS ID#1" is assigned to the communication data (packets) of the communication flow, (2) For the communication flow from the second server Svr2 (communication flow for providing application 2), the QoS identifier QoS_ID “QoS ID#2” is assigned to the communication data (packets) of the communication flow, (3) Regarding the communication flow from the third server Svr3 (the communication flow for providing Application 3), assume that "QoS ID#3" is assigned as the QoS identifier QoS_ID to the communication data (packets) of the communication flow.
[0100] And assume that the larger the value of the QoS identifier QoS_ID, the higher the priority (priority level) of the QoS requirement. Therefore, in the above case, the priority of the communication flow from the third server Svr3 (the communication flow for providing Application 3 (adaptable communication flow)) is the highest.
[0101] (Step S42): In step S42, perform a process of lowering the priority of the adaptable communication flow to the first level or lower. Specifically, the following processes are executed.
[0102] The communication control unit 71 generates data including information indicating that the network state S = S2 (delay time increase phase), and outputs the data as data D4 to the congestion state detection unit 6.
[0103] The congestion state detection unit 6 inputs the data D4 output from the communication control unit 71, grasps from the data D4 that the network state S is the state S2 (delay time increase phase), and generates data including information indicating that the priority of the adaptable communication flow is lowered to the first level or lower. The data is output as data D41 to the priority adjustment unit 4. Note that the first level is set to a priority lower than the normal priority (the priority corresponding to the QoS required by the communication flow). In the case of FIG. 5, since the normal priority of the communication flow from the third server Svr3 (the communication flow for providing Application 3 (adaptable communication flow)) is "QoS ID#3", the first level for this communication flow is set to, for example, "QoS ID#2" (<QoS ID#3).
[0104] The priority adjustment unit 4 executes a priority adjustment process (a process for adjusting the priority of each communication flow) based on the data D_flow_det output from the communication flow identification processing unit 3 and the data D41 output from the congestion state detection unit 6, and determines a QoS identifier QoS_ID to be assigned in accordance with the QoS request of the communication flow (communication flow from the server to the terminal device) being processed by the communication control device 100. The priority adjustment unit 4 determines the QoS identifier QoS_ID for adaptively controllable communication flows among the communication flows (communication flow from the server to the terminal device) being processed by the communication control device 100 so that the QoS identifier QoS_ID is equal to or lower than a first level, which is a priority lower than the priority (normal priority) corresponding to the QoS requested by the communication flow. In other words, the priority adjustment unit 4 determines the QoS identifier QoS_ID for adaptively controllable communication flows so that the priority is set to a priority lower than the normal priority (set to a priority lower than the first level).
[0105] Then, the priority adjustment unit 4 outputs data including the QoS identifier QoS_ID determined as described above to the U-plane signal processing unit 5 as data D_QoS_ID. In the case of Fig. 5, the normal priority of the communication flow from the third server Svr3 (communication flow for providing application 3 (adaptively controllable communication flow)) is "QoS ID#3", so the priority of this communication flow is set to a priority level lower than the first level (="QoS ID#2"). Here, it is assumed that the first level is set to "QoS ID#2", and the QoS identifier QoS_ID of the communication flow from the third server Svr3 is set to "QoS ID#2", which is a priority level lower than the first level.
[0106] The U-plane signal processing unit 5 reads out the data held in the buffer Buf1 as data D3. The U-plane signal processing unit 5 also receives data D_QoS_ID (data D_QoS_ID including the QoS identifier QoS_ID of the communication flow corresponding to the data D3) that corresponds to the data D3 and is output from the priority adjustment unit 4. The U-plane signal processing unit 5 acquires data in which the QoS identifier QoS_ID acquired from the data D_QoS_ID is assigned to the data D3, and assigns the acquired data to communication data Do_r (U) and outputs it to the second communication interface 7.
[0107] As a result, for communication flows that can be adaptively controlled, a QoS identifier QoS_ID corresponding to a priority lower than the normal priority (the priority corresponding to the QoS requested by the communication flow) is assigned, and the flow is transmitted to the RAN-side network via the second communication interface 7.
[0108] That is, by the priority adjustment process, communication data with adjusted priority (communication packets with adjusted priority (QoS ID value)) is generated by the U-plane signal processing unit 5, and the communication data is sent to the RAN-side network via the second communication interface 7. Then, the aggregation base station CU1, distributed base station, and / or terminal device of the RAN-side network executes processes such as securing (adjusting) a communication bandwidth, securing (adjusting) a packet error rate, and securing (adjusting) a maximum allowable delay time, based on the adjusted priority (QoS ID value) assigned to the communication packets.
[0109] For example, in the above case, when a process for lowering the priority of a communication flow from the third server Svr3 (a communication flow for providing application 3), which is an adaptively controllable communication flow, is executed, the packet loss rate in the network of the communication flow whose priority has been lowered (the communication flow from the third server Svr3) increases. That is, by lowering the QoS ID value of the communication flow from the third server Svr3, the QoS requirements of the communication flow from the third server Svr3 become looser (for example, the value of the allowable packet error rate becomes larger), and in the network on the RAN side, fewer communication resources (for example, radio resources) are allocated to the communication flow from the third server Svr3 (since it is only necessary to satisfy the looser QoS requirements, fewer communication resources (for example, radio resources) need to be allocated). On the other hand, in the network on the RAN side, fewer communication resources are allocated to the communication flow from the third server Svr3, and therefore the packet loss rate in the network of the communication flow from the third server Svr3 increases. When the packet loss rate increases in this way, for adaptively controllable communication flows, a process is executed between the server (in the above case, the third server Svr3) and the terminal device (in the above case, the terminal device UE21) to reduce the bit rate of the communication flow in accordance with the MPEG-DASH standard (protocol), for example, and to continue the service.
[0110] As described above, when the process of lowering the bit rate is executed for adaptively controllable communication flows, the communication volume of the entire network on the RAN side decreases, and as a result, the communication state of the entire network on the RAN side is maintained in a good state. In other words, as described above, the communication control device 100 can detect an early congestion state (a state that indicates a sign of a congestion state (a state in which a congestion state will occur if the transmission load rate becomes even higher)) from the occupancy rate of the transmission queue, and can perform a process to avoid the congestion state (a process to avoid the congestion state by lowering the priority of adaptively controllable communication flows) at an early stage.
[0111] (Step S43): In step S43, a process is performed to lower the priority of the adaptively controllable communication flow to the second level or lower (second level≦first level). Specifically, the following process is performed.
[0112] The communication control unit 71 generates data including information indicating that the network state S=S3 (packet loss increase phase), and outputs the data to the congestion state detection unit 6 as data D4.
[0113] The congestion state detection unit 6 receives data D4 output from the communication control unit 71, determines from the data D4 that the network state S is state S3 (packet loss increase phase), generates data including information indicating that the priority of the adaptively controllable communication flow is to be lowered to the second level or lower, and outputs the data as data D41 to the priority adjustment unit 4. The second level is set to a priority lower than the normal priority (the priority corresponding to the QoS required by the communication flow) and equal to or lower than the first level. In the case of FIG. 5, the normal priority of the communication flow from the third server Svr3 (the communication flow for providing application 3 (adaptively controllable communication flow)) is "QoS ID#3" and the first level is "QoS ID#2", so the second level for the communication flow is set to, for example, "QoS ID#1" (≦QoS ID#2).
[0114] The priority adjustment unit 4 executes a priority adjustment process (a process for adjusting the priority of each communication flow) based on the data D_flow_det output from the communication flow identification processing unit 3 and the data D41 output from the congestion state detection unit 6, and determines a QoS identifier QoS_ID to be assigned in accordance with the QoS request of the communication flow (communication flow from the server to the terminal device) being processed by the communication control device 100. The priority adjustment unit 4 determines the QoS identifier QoS_ID for adaptively controllable communication flows among the communication flows (communication flow from the server to the terminal device) being processed by the communication control device 100 so that the QoS identifier QoS_ID is equal to or lower than a second level, which is a priority lower than the priority (normal priority) corresponding to the QoS requested by the communication flow. In other words, the priority adjustment unit 4 determines the QoS identifier QoS_ID for adaptively controllable communication flows so that the priority is set to a priority lower than the normal priority and the first level (set to a priority lower than the second level).
[0115] Then, the priority adjustment unit 4 outputs data including the QoS identifier QoS_ID determined as described above to the U-plane signal processing unit 5 as data D_QoS_ID. In the case of Fig. 5, the normal priority of the communication flow from the third server Svr3 (communication flow for providing application 3 (adaptively controllable communication flow)) is "QoS ID#3" and the first level is "QoS ID#2", so the priority of this communication flow is set to a priority level lower than the second level (="QoS ID#1"). Here, it is assumed that the second level is set to "QoS ID#1" and the QoS identifier QoS_ID of the communication flow from the third server Svr3 is set to "QoS ID#1", which is a priority level lower than the second level.
[0116] The U-plane signal processing unit 5 reads out the data held in the buffer Buf1 as data D3. The U-plane signal processing unit 5 also receives data D_QoS_ID (data D_QoS_ID including the QoS identifier QoS_ID of the communication flow corresponding to the data D3) that corresponds to the data D3 and is output from the priority adjustment unit 4. The U-plane signal processing unit 5 acquires data in which the QoS identifier QoS_ID acquired from the data D_QoS_ID is assigned to the data D3, and assigns the acquired data to communication data Do_r (U) and outputs it to the second communication interface 7.
[0117] As a result, for communication flows that can be adaptively controlled, a QoS identifier QoS_ID corresponding to a priority lower than the normal priority (the priority corresponding to the QoS requested by the communication flow) is assigned, and the flow is transmitted to the RAN-side network via the second communication interface 7.
[0118] That is, by the priority adjustment process, communication data with adjusted priority (communication packets with adjusted priority (QoS ID value)) is generated by the U-plane signal processing unit 5, and the communication data is sent to the RAN-side network via the second communication interface 7. Then, the aggregation base station CU1, distributed base station, and / or terminal device of the RAN-side network executes processes such as securing (adjusting) a communication bandwidth, securing (adjusting) a packet error rate, and securing (adjusting) a maximum allowable delay time, based on the adjusted priority (QoS ID value) assigned to the communication packets.
[0119] For example, in the above case, when a process is executed to lower the priority of a communication flow from the third server Svr3 (a communication flow for providing application 3), which is an adaptively controllable communication flow, to the first level or lower, the packet loss rate of the communication flow (communication flow from the third server Svr3) whose priority has been lowered increases. That is, by lowering the QoS ID value of the communication flow from the third server Svr3, the QoS requirements of the communication flow from the third server Svr3 become looser (for example, the value of the allowable packet error rate becomes larger), and in the RAN-side network, fewer communication resources (for example, radio resources) are allocated to the communication flow from the third server Svr3 (since it is only necessary to satisfy the looser QoS requirements, fewer communication resources (for example, radio resources) need to be allocated). On the other hand, in the RAN-side network, fewer communication resources are allocated to the communication flow from the third server Svr3, and therefore the packet loss rate of the communication flow from the third server Svr3 increases. When the packet loss rate increases in this way, for adaptively controllable communication flows, a process is executed between the server (in the above case, the third server Svr3) and the terminal device (in the above case, the terminal device UE21) to reduce the bit rate of the communication flow in accordance with the MPEG-DASH standard (protocol), for example, and to continue the service.
[0120] As described above, when the process of lowering the bit rate is executed for adaptively controllable communication flows, the communication volume of the entire network on the RAN side decreases, and as a result, the congestion state of the entire network on the RAN side is resolved. In other words, as described above, the communication control device 100 can detect the congestion state (a state in which packet loss has increased and many communication packets have been discarded) from the occupancy rate of the transmission queue, and can perform a process for resolving the congestion state (a process for resolving the congestion state by lowering the priority of adaptively controllable communication flows).
[0121] (Step S5): In step S5, the communication control device 100 determines whether to end monitoring of the network communication state, and if it is determined that monitoring of the network communication state should continue, the process returns to step S2 and the above process is repeated. On the other hand, if it is determined that monitoring of the network communication state should end, the process is ended.
[0122] <Summary> As described above, by performing early congestion control processing, the communication control device 100 grasps the occupancy rate of the transmission queue from the relationship between the maximum length Q_limit of the transmission queue and the transmission queue length Q_len, and can determine whether the network state is (1) state S1 (no congestion phase), (2) state S2 (delay time increase phase) (early congestion state), or (3) state S3 (packet loss increase phase) (congestion state) based on the occupancy rate of the transmission queue. Then, when the communication control device 100 detects state S2 (delay time increase phase) (early congestion state), it quickly executes processing to avoid the congestion state (processing to avoid the congestion state by lowering the priority of adaptively controllable communication flows). In other words, when the communication control device 100 detects an early congestion state, it executes the above processing to reduce the bit rate of adaptively controllable communication flows, thereby reducing the overall communication volume on the RAN side network, and as a result, the communication state of the entire RAN side network is maintained in a good state.
[0123] Therefore, the communication control device 100 can detect network congestion in a communication network at an early stage, avoid the congestion at an early stage, and maintain and improve the service continuity rate of the entire communication network while satisfying the quality requirements of each communication flow.
[0124] In the above, the process of adjusting the priority of a communication flow has been described assuming that a larger QoS identifier value indicates a stricter quality requirement, but the present invention is not limited to this. For example, if a specification is adopted in which the priority is determined by identifying a QoS identifier, the process of adjusting the priority of a communication flow may be performed by adjusting the priority identified by the QoS identifier. For example, if 5QI (5G QoS Identifier) is used as the QoS identifier, the priority adjustment process may be performed based on the priority level determined by identifying the 5QI.
[0125] For example, according to the standard 5QI value specifications described in 3GPP TS23.501, (A) When the 5QI value is "2", the priority level is "40" (maximum allowable delay time = 150 ms, maximum allowable packet error rate = 1 × 10 -3 ) and (B) When the 5QI value is "3", the priority level is "30" (maximum allowable delay time = 50 ms, maximum allowable packet error rate = 1 × 10 -3 )
[0126] In the above case, when a network congestion state is detected for a communication flow with a 5QI value of "3" and the priority is to be lowered, for example, the priority level identified from the 5QI value can be referenced and changed to a 5QI value of a priority level with a more relaxed QoS requirement. In the above case, for example, when a network congestion state is detected and the priority is to be lowered, the 5QI value of the current communication flow can be set to "3" (priority level of a communication flow with a 5QI of "3" = 30 (maximum allowable delay time = 50 ms, maximum allowable packet error rate = 1 x 10 -3 )), the 5QI value of the communication flow is set to "2" (the priority level of the communication flow with 5QI "2" = 40 (maximum allowable delay time = 150 ms, maximum allowable packet error rate = 1 x 10 -3 )) (5QI value corresponding to the priority level of looser QoS requirements).
[0127] In other words, in the priority adjustment process, (1) the process of lowering the priority corresponds to changing to a priority (priority level) with a looser QoS requirement, and (2) the process of raising the priority corresponds to changing to a priority (priority level) with a stricter QoS requirement.
[0128] Although the above description has been given of a case where there is one adaptively controllable communication flow in the communication system 1000, the present invention is not limited to this, and there may be multiple (two or more) adaptively controllable communication flows. In this case, it is preferable that the first level in the early congestion control process is set individually for each of the multiple adaptively controllable communication flows. Furthermore, the first level may be set to a priority lower than the normal priority (priority corresponding to the QoS required by the communication flow) and equal to or lower than the average priority of communication flows other than adaptively controllable communication flows (communication flows that cannot be adaptively controlled). In this way, the priority of the adaptively controllable communication flow becomes lower than the priority of at least one adaptively controllable communication flow (because it is lower than the average priority of communication flows that cannot be adaptively controlled), and the early congestion control process can be effectively performed in the communication system 1000.
[0129] [Other embodiments] In the above embodiment, in the priority adjustment process executed in the communication system 1000, the network for which congestion is detected is the network on the RAN side, but this is not limited to this, and in the priority adjustment process, the network for which congestion is detected may be (1) network NW1, or (2) network NW1 and RAN.
[0130] In the above embodiment, the case where early congestion control processing is performed by grasping the status of the transmission queue of the transmitter 72 of the second communication interface 7 of the communication control device 100 (grasping the occupancy rate of the transmission queue) has been described. However, this is not limited to this. For example, in the communication control device 100, (1) The status of the transmission queue of the transmitter 72 of the second communication interface 7 of the communication control device 100 is grasped (the occupancy rate of the transmission queue is grasped); (2) The status of the receiving queue of the receiving unit 73 of the second communication interface 7 of the communication control device 100 is grasped (the occupancy rate of the receiving queue is grasped); (3) The status of the transmission queue of the first communication interface 1 of the communication control device 100 is grasped (the occupancy rate of the transmission queue is grasped); (4) The status of the receiving queue of the first communication interface 1 of the communication control device 100 is grasped (the occupancy rate of the receiving queue is grasped); By using any combination of the above, the status of the communication queue (the occupancy rate of the communication queue) may be grasped, thereby performing early congestion control processing.
[0131] Furthermore, the communication queues (transmission queue memory (transmission queue) and reception queue memory (reception queue)) of the second communication interface 7 and the first communication interface 1 of the communication control device 100 may each be composed of one queue memory or multiple queue memories.
[0132] In the above embodiment, the case where the adaptively controllable communication flow is a communication flow conforming to the MPEG-DASH standard in the priority adjustment process executed in the communication system 1000 has been described, but the present invention is not limited to this, and the adaptively controllable communication flow may be a communication flow other than a communication flow conforming to the MPEG-DASH standard. In the communication system 1000, for example, when it is detected for each application (provided by the server) that (1) the throughput is below a certain level, (2) a certain level of packet loss has occurred, (3) the RTT (Round-trip Time) is above a certain level, or (4) other conditions that make it difficult to continue the service have been detected, the communication system 1000 may identify a communication flow conforming to a standard (e.g., a protocol) that controls to lower the communication bit rate as an adaptively controllable communication flow and execute the priority adjustment process.
[0133] In addition, in the above embodiment, it is assumed that the communication system 1000 is a communication system conforming to 5G (fifth generation mobile communication system), and the communication control device 100 corresponds to, for example, a 5G core device, but the present invention is not limited to this (it is not limited to a communication system conforming to 5G (fifth generation mobile communication system)), and the present invention can be applied to other communication systems. In other words, the present invention is applied by performing processing similar to the processing described above in a system (communication system) that provides a communication infrastructure capable of realizing QoS control.
[0134] <Application to 4G / LTE> For example, even in a communication system compliant with 4G / LTE (fourth generation mobile communication system, LTE (Long Term Evolution)), a communication flow (QoS flow) is defined, so an identification process for the communication flow (QoS flow) may be performed in the same manner as above, and early congestion control processing and priority adjustment processing may be performed in the same manner as in the above embodiment.
[0135] <Application to wireless LAN> Furthermore, the present invention may be applied to a wireless LAN communication system that employs a priority control method (for example, EDCA (Enhanced Distributed Channel Access)). For example, in a wireless LAN communication system that employs the EDCA method (priority control method), the priority of wireless frame transmission is determined by EDCA parameters, so early congestion control processing and priority adjustment processing may be performed using the priority determined by the EDCA parameters, as in the above embodiment.
[0136] <Application to networks that use DiffServ> Furthermore, the present invention may be applied to a communication system of an IP network (IP: Internet Protocol) that employs a priority control method (for example, DiffServ). For example, in a communication system of an IP network that employs DiffServ (priority control method), communication flows (communication flows (QoS flows) that require the same QoS) are defined, so similar to the above embodiment, an identification process may be performed on the communication flows (QoS flows), and further, early congestion control process and priority adjustment process may be performed.
[0137] Furthermore, in the above embodiment, the communication control device 100 has been described assuming that it is a single device, but this is not limiting, and the communication control device 100 may be realized by a plurality of devices. For example, the communication control device 100 may be realized by a device that performs communication flow identification processing, a device that performs priority adjustment processing, a device that detects the state of the network, etc.
[0138] Furthermore, in the communication system 1000 and / or communication control device 100 described in the above embodiment, each block may be individually integrated into a single chip using a semiconductor device such as an LSI, or may be integrated into a single chip to include some or all of the blocks.
[0139] Although we have referred to it as an LSI here, it may also be called an IC, system LSI, super LSI, or ultra LSI depending on the level of integration.
[0140] Furthermore, the method of integration is not limited to LSI, but may be realized by dedicated circuits or general-purpose processors. It is also possible to use FPGAs (Field Programmable Gate Arrays), which can be programmed after the LSI is manufactured, or reconfigurable processors, which allow the connections and settings of circuit cells inside the LSI to be reconfigured.
[0141] Furthermore, part or all of the processing of each functional block in each of the above embodiments may be realized by a program. And part or all of the processing of each functional block in each of the above embodiments is performed by a central processing unit (CPU) in a computer. Furthermore, the programs for performing each processing are stored in a storage device such as a hard disk or ROM, and are executed in the ROM or by being read into the RAM.
[0142] Furthermore, each process in the above-described embodiments may be realized by hardware, or by software (including cases where it is realized together with an OS (operating system), middleware, or a predetermined library). Furthermore, it may be realized by a combination of software and hardware.
[0143] For example, when each functional unit of the above embodiment is realized by software, each functional unit may be realized by software processing using the hardware configuration shown in FIG. 9 (for example, a hardware configuration in which a CPU (which may be a GPU), a ROM, a RAM, an input unit, an output unit, etc. are connected via a bus).
[0144] Furthermore, when each functional unit of the above embodiment is realized by software, the software may be realized using a single computer having the hardware configuration shown in Figure 9, or may be realized by distributed processing using multiple computers.
[0145] Furthermore, the execution order of the processing method in the above embodiment is not necessarily limited to the description of the above embodiment, and the execution order can be changed within the scope of the gist of the invention. Furthermore, in the processing method in the above embodiment, some steps may be executed in parallel with other steps within the scope of the gist of the invention.
[0146] The scope of the present invention includes a computer program for causing a computer to execute the above-described method and a computer-readable recording medium having the program recorded thereon, including, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a large-capacity DVD, a next-generation DVD, and a semiconductor memory.
[0147] The computer program is not limited to one recorded on the recording medium, but may be one transmitted via a telecommunications line, a wireless or wired communication line, a network such as the Internet, or the like.
[0148] The specific configuration of the present invention is not limited to the above-described embodiment, and various changes and modifications are possible without departing from the gist of the invention. [Explanation of symbols]
[0149] 1000 Communication Systems 100 Communication control device 3. Communication flow identification processing unit 4 Priority adjustment process 6 Congestion detection unit 7 Second communication interface 71 Communication control unit 722_q1~722_qN 1st transmission queue to Nth transmission queue
Claims
1. A communication processing method used in a communication control device that controls communication in a network that can communicate using a communication method that allows QoS control, comprising: a queue length acquisition step of acquiring a queue length of a communication queue memory of the communication control device; a queue memory occupancy status data acquisition step of acquiring queue memory occupancy status data which is data indicating an occupancy status of communication data in the communication queue memory; a network status determination step of determining the status of the network based on the queue memory occupancy status data; a priority adjustment processing step for performing processing to adjust the priority of one or more communication flows communicated over the network based on the determination result of the network state determination step; Equipped with The network status determination step includes: (1) if the occupancy rate of the communication data in the communication queue memory is smaller than a first value, the state of the network is determined to be a "no congestion phase state" indicating that there is no congestion; (2) When the occupancy rate of the communication data in the communication queue memory is equal to or greater than the first value and is smaller than a second value that is greater than the first value, the state of the network is determined to be a "delay time increase phase state" that indicates a state that indicates a sign of a congestion state; (3) if the occupancy rate of the communication data in the communication queue memory is equal to or greater than the second value, determining that the state of the network is a "packet loss increase phase state" which indicates a congestion state; the priority adjustment processing step, when it is determined by the network state determination step that the network is in a delay time increase phase state, performs processing to lower the priority of adaptively controllable communication flows among the communication flows; The priority adjustment processing step includes: (1) when it is determined that the network state is in a delay time increase phase state by the network state determination step, a process is performed to lower the priority of adaptively controllable communication flows among the communication flows to a first level or lower; (2) when it is determined in the network state determination step that the network is in a packet loss increase phase state, a process is performed to lower the priority of adaptively controllable communication flows among the communication flows to a second level or lower, which is a level lower than the first level; Communication processing method.
2. A program for causing a computer to execute the communication processing method according to claim 1.
3. A communication control device that controls communication in a network that can communicate using a communication method that allows QoS control, a communication queue memory; a communication control unit that acquires a queue length of the communication queue memory and also acquires queue memory occupancy status data that indicates an occupancy status of communication data in the communication queue memory; a congestion state detection unit that determines the state of the network based on the queue memory occupancy state data; a priority adjustment unit that performs processing to adjust the priority of one or more communication flows communicated over the network based on the determination result by the congestion state detection unit; Equipped with The communication control unit (1) if the occupancy rate of the communication data in the communication queue memory is smaller than a first value, the state of the network is determined to be a "no congestion phase state" indicating that there is no congestion; (2) When the occupancy rate of the communication data in the communication queue memory is equal to or greater than the first value and is smaller than a second value that is greater than the first value, the state of the network is determined to be a "delay time increase phase state" that indicates a state that indicates a sign of a congestion state; (3) if the occupancy rate of the communication data in the communication queue memory is equal to or greater than the second value, determining that the state of the network is a "packet loss increase phase state" which indicates a congestion state; the priority adjustment unit, when the communication control unit determines that the delay time is in an increase phase state, performs a process of lowering the priority of a communication flow that can be adaptively controlled among the communication flows; The priority adjustment unit (1) when the communication control unit determines that the delay time is increasing, the priority of the adaptively controllable communication flows among the communication flows is lowered to a first level or lower; (2) When the communication control unit determines that the communication flow is in a packet loss increase phase state, the communication control unit performs a process of lowering the priority of adaptively controllable communication flows among the communication flows to a second level or lower, which is a level lower than the first level. Communications control device.
Citation Information
Patent Citations
Band monitoring device and packet relay device
JP2012160987A
Packet processing device
WO2009016692A1