The present disclosure relates to a control system, control method, controller, and program for allocating communication bands within an access network.
In recent years, studies have been underway to accommodate a plurality of services or applications with various network requirements on the same network infrastructure. To this end, it is necessary to guarantee the quality required by each service or application accommodated in the same NW in an end-to-end section “from a terminal to a terminal” or “from a terminal to an application server.”
The end-to-end of the network can be divided into wireless and wired sections. Among these, in the wireless section, there is a priority control function called Enhanced Distributed Channel Access (EDCA) of IEEE802.11 as an existing technology (NPL 1 and NPL 2).
However, the EDCA has a problem in that control on a terminal (destination) basis, which is control on a traffic flow basis which enables quality control on a service or application basis, is difficult. In response to this problem, NPL 3 discloses a control system that can realize quality control in a service and application unit.
However, an actual maximum throughput of a wireless network used for main signal communication fluctuates from moment to moment due to various factors such as a distance between an access point and a terminal, an obstacle, the number of terminals connected to the access point, and radio wave interference. In the control system disclosed in NPL 3, since there is no function of following the variation, there is a likelihood of scheduling that is not in accordance with an actual situation being performed.
For example, in the control system disclosed in NPL 3, when a set maximum throughput is larger than an actual throughput, a band necessary for communication allocated according to scheduling is insufficient, which causes increases in packet loss, delay, and jitter. On the other hand, in the control system disclosed in NPL 3, when the set maximum throughput is smaller than the actual throughput, packet loss, delay, and jitter do not increase, but communication usage efficiency of the wireless network decreases.
That is, the control system disclosed in NPL 3 has a problem in that it is difficult to allocate a band according to the maximum throughput of the wireless network which fluctuates from moment to moment In order to solve the above problem, an object of the present invention is to provide a control system, a control method, a controller, and a program capable of guaranteeing a band allocated to each traffic flow while following a maximum throughput of a wireless network which changes from moment to moment.
In order to achieve the above object, the control system according to the present invention includes a controller that allocates a transmission band to each traffic flow on the basis of the maximum throughput of the wireless network associated with an ascertained time change, and a notification from the terminal.
Specifically, a control system according to the present invention is a control system for controlling traffic in a wireless network, the control system including:
Further, a control method according to the present invention is a control method for controlling traffic of a wireless network, the control method being
Further, a controller according to the present invention is a controller for controlling traffic of a wireless network, wherein
The control system or the like according to the present invention allocates a transmission band for each traffic flow according to the maximum throughput of the wireless network at a current time, on the basis of the maximum throughput of the wireless network of which the controller is notified and a required band for each traffic flow. Therefore, the present control system or the like can guarantee a band for each traffic flow according to an actual maximum throughput of the wireless network which fluctuates from moment to moment. Therefore, the present invention can provide a control system, a control method, a controller, and a program capable of guaranteeing a band allocated to each traffic flow while following a maximum throughput of a wireless network which changes from moment to moment.
Each of the terminal and the access point includes
With this scheme, it is possible to allocate a transmission band to each traffic flow and guarantee the band for each traffic flow by controlling the transmission time and the transmission amount of packets for each traffic flow.
The present invention is a program for causing a computer to function as the controller. The controller can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided through a network.
The inventions can be combined where possible.
The present invention can provide a control system, a control method, a controller, and a program capable of guaranteeing a band allocated to each traffic flow while following a maximum throughput of a wireless network which changes from moment to moment.
Embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments to be described hereinafter are examples of the present invention, and the present invention is not limited to the following embodiments. It is assumed that components with the same reference signs in the present specification and the drawings are the same components.
First, a basic configuration of a control system of the present embodiment will be described.
The control system 300 calculates a transmission band for each traffic flow using a required band for each traffic flow of which the terminal 11 notifies the controller 13. In this case, the controller 13 calculates the transmission band in consideration of the maximum throughput of the wireless network 15 notified of by the telemetry apparatus 16 at that time. Therefore, the control system 300 can guarantee the band allocated to each traffic flow while following the maximum throughput of the wireless network which changes from moment to moment.
There are the following schemes for band control for each traffic flow.
It is assumed that times of each terminal 11, the access point 12, and the controller 13 are synchronized using NTP, PTP, or the like.
Further, the telemetry apparatus 16 includes a maximum throughput ascertaining unit CAT that ascertains the maximum throughput BMAX of the wireless network communicated by a main signal. A scheme by which the maximum throughput ascertaining unit CAT ascertains the maximum throughput BMAX will be described in an appendix to be described below. The telemetry apparatus 16 may be included in the terminal 11 or the access point 12.
Specifically, the control system 301 is a control system that controls traffic of the wireless network 15, and includes a terminal 11 and an access point 12 that transmit packets to each other via the wireless network 15; and
The control system 301 communicates control signals between the controller 13 and the access point 12/terminal 11 using a communication means different from a communication means for a main signal (traffic packet). Specifically, the control signal is transmitted or received between a control signal transmission and reception unit CTR1 of the terminal 11 and a control signal transmission and reception unit CTR3 of the controller 13, and between a control signal transmission and reception unit CTR2 of the access point 12 and the control signal transmission and reception unit CTR3 of the controller 13.
Each terminal 11 and the access point 12 periodically notify the controller 13 of the amount of packets accumulated in the flow unit buffer units (FB1 and FB2) as a control signal. The terminal 11 accumulates packets from each application AP1 in the buffer FB1 for each application (each flow). A packet amount notification unit NTF1 periodically confirms the accumulated amount of packets in each buffer FB1, and notifies the controller 13 of the accumulated amount as a control signal via the control signal transmission and reception unit CTR1.
Further, the access point 12 accumulates packets from an upper network apparatus 50 in the buffer FB2 for each application (for each flow). A packet amount notification unit NTF2 periodically confirms the accumulated amount of packets in each buffer FB2, and notifies the controller 13 of the packet amount and a buffer number as a control signal via the control signal transmission and reception unit CTR2.
The application AP1 may include the flow unit buffer unit FB1. A transmission unit TTR of the telemetry apparatus 16 transmits information (telemetry information) on the maximum throughput BMAX of the wireless network 15 to the controller 13 every certain period Tget.
The control signal transmission and reception unit CTR3 of the controller 13 receives the telemetry information from the telemetry apparatus 16, and receives the control signals from each terminal 11 and the access point 12. The control signal transmission and reception unit CTR3 organizes, in a database DB, the accumulated amount of packets, and information on the terminal 11, the access point 12, and the flow unit buffers (FB1 and FB2) included in the control signal. Further, the control signal transmission and reception unit CTR3 organizes, in the database DB, information on the maximum throughput BMAX included in the telemetry information.
An item number is a serial number for all the buffers (FB1 and FB2) of the terminal 11 and the access point 12.
A node number is a number of the access point 12 or the terminal 11.
The buffer number is a number of the buffer FB1 held in each terminal 11 or a number of the buffer FB2 held in the access point 12.
The amount of packets is the accumulated amount of packets held in the buffer with each buffer number.
For example, an item number K+2 is the accumulated amount of packets in a flow unit buffer unit FB1#2 included in a terminal 11#1, and indicates that the amount is “B12”.
A maximum throughput of the main signal wireless network is the maximum throughput BMAX of the wireless network 15 acquired at a certain time.
The controller 13 performs scheduling periodically (period Tt) on the basis of the maximum throughput, accumulated amount of packets, and the information on the terminal 11, the access point 12, and the flow unit buffers (FB1 and FB2) recorded in a database unit DB, determines the latest transmission time and transmission amount for each buffer, and notifies each terminal 11 and the access point 12 of the transmission time and the transmission amount as a control signal.
The scheduling unit SCH3 of the controller 13 determines the transmission time and the transmission amount for each buffer in a current situation of the wireless network 15 from the content of the database unit DB, using a scheduling scheme to be described below. The scheduling unit SCH3 uses the determined transmission time and transmission amount as a control signal, and transmits the control signal from the control signal transmission and reception unit CTR3 to the terminal 11 or the access point 12 periodically (period Tt).
Each terminal 11 and the access point 12 extract packets accumulated in the flow unit buffer units (FB1 and FB2) at the notified transmission time and transmission amount, and input the packets to main signal buffer units (MB1 and MB2). The main signal transmission and reception units (MTR1 and MTR2) transmit packets of the main signal buffer units (MB1 and MB2) to the wireless network 15.
The control method is transmission control that the controller 13 performs on the terminal 11 and the access point 12 that transmit packets to each other via the wireless network 15, and includes
As can be seen from a comparison between
A scheduling cycle Tt and a maximum throughput acquisition cycle Tget may be the same or may be different. However, since the acquisition of the maximum throughput places a burden on the control system or network, it is preferable to set Tget≥ Tt.
The controller 13 can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided through a network.
The network 135 is a data communications network. The network 135 may be a private network or a public network, and can include any one or all of (a) a personal area network covering, for example, a certain room; (b) a local area network covering, for example, a certain building; (c) a campus area network covering, for example, a campus, (d) a metropolitan area network, covering a certain city; (e) a wide area network covering, for example, an area over a boundary between urbans, regions, or nations, and (f) the Internet. Communication is performed using electronic signals and optical signals via the network 135.
The computer 105 includes a processor 110, and a memory 115 coupled to the processor 110. Although the computer 105 is depicted herein as a stand-alone device, the computer 105 is not limited thereto, and rather, the computer 105 may be connected to another device not illustrated in a distributed processing system.
The processor 110 is an electronic device configured of a logic circuit that responds to and executes instructions.
The memory 115 is a tangible computer-readable storage medium in which a computer program has been encoded. In this regard, the memory 115 stores data and instructions, that is, program code that is readable and executable by the processor 110 to control an operation of the processor 110. The memory 115 may be realized as a random access memory (RAM), a hard drive, read only memory (ROM), or a combination thereof. One of components of the memory 115 is a program module 120.
The program module 120 includes instructions for controlling the processor 110 so that the processor 110 executes the processes described herein. Although operations are described in the present specification as being executed by the computer 105, the method, processes or subprocesses thereof, these operations are actually executed by the processor 110.
The term “module” is used to refer to a functional operation that can be implemented as either a stand-alone component or an integrated configuration configured of a plurality of subcomponents in the present specification. Accordingly, the program module 120 may be realized as a single module or as a plurality of modules operating in cooperation. Further, although the program module 120 is described herein as being installed in the memory 115 and thus being realized in software, the program module 120 may be realized in any one of hardware (for example, an electronic circuit), firmware, software, or a combination thereof.
Although the program module 120 is shown as already loaded into the memory 115, the program module 120 may be configured to be located on a storage apparatus 140 so that the program module 120 is loaded into the memory 115 later. The storage apparatus 140 is a tangible computer-readable storage medium that stores the program module 120. Examples of the storage apparatus 140 include a compact disk, a magnetic tape, a read only memory, an optical storage medium, a memory unit configured of a hard drive or a plurality of parallel hard drives, and a universal serial bus (USB) flash drive. Alternatively, the storage apparatus 140 may be a random access memory or another type of electronic storage device that is located in a remote storage system (not illustrated) and connected to the computer 105 via the network 135.
The system 100 further includes a data source 150A and a data source 150B that are collectively referred to herein as a data source 150 and communicatively connected to the network 135. In fact, the data source 150 may include any number of data sources, that is, one or more data sources. The data source 150 includes unsystematic data and may include social media.
The system 100 further includes a user device 130 operated by a user 101 and connected to the computer 105 via the network 135. Examples of the user device 130 may include an input device such as a keyboard or a voice recognition subsystem for allowing the user 101 to transfer selection of information and commands to the processor 110. The user device 130 further includes a display device or an output device such as a printer or a speech synthesis apparatus. A cursor control unit such as a mouse, a trackball, or a touch-sensitive screen allows the user 101 to operate a cursor on a display apparatus to transfer selection of additional information and commands to the processor 110.
The processor 110 outputs a result 122 of execution of the program module 120 to the user device 130. Alternatively, the processor 110 can provide an output to a storage apparatus 125 such as a database or a memory, or can provide the output to a remote device (not illustrated) via the network 135.
For example, a program that performs steps S131 to S133 in the flowchart in
The term “comprising” designates that there is a feature, complete entity, step, or component described there, but should not be interpreted as excluding the presence of one or more other features, complete entities, steps, components, or groups thereof. The terms “a” and “an” are indefinite articles and, therefore, embodiments having a plurality of the terms are not excluded.
The present invention is not limited to the above-described embodiments, and can be implemented with various modifications without departing from the gist of the present invention. In short, the present invention is not limited to the higher-level embodiment as it is, but can be embodied by modifying the components within the scope of the gist at the implementation stage.
Further, various inventions can be formed by appropriately combining the plurality of components disclosed in the above embodiment. For example, some components may be deleted from all the components illustrated in the embodiments. Further, components from different embodiments may be combined appropriately.
Here, a scheduling scheme performed by the scheduling unit SCH13 of the controller 13 will be described.
This scheduling scheme performs calculation for dividing a band or a time by a total number of flow unit buffers (FB1 and FB2) in which packets are accumulated between the flow unit buffers (FB1 and FB2) of the terminal 11 and the access point 12.
Hereinafter, parameters will be described.
The number of flow unit buffers in which packets are accumulated in the terminal 11 and the access point 12: n Time of one cycle time: T [sec]
Total main signal transmission limit per cycle time: Z [Bytes/sec]
Time to transmit a first accumulated packet: tstart [sec] Z=BMAX×T.
In this case,
and a transmission time TJ [sec] of the flow unit buffer #J is calculated as
and a transmission time tJ [sec] of the flow unit buffer #J is calculated as
It is conceivable that an order of the flow unit buffers in which transmission starts may be, for example, from a lowest item number organized in the database unit DB of the controller 13.
This scheduling scheme is determined on the basis of the number of flow unit buffers in which packets are accumulated between the flow unit buffers (FB1 and FB2) of the terminal 11 and the access point 12, and the accumulated amount of packets.
Hereinafter, parameters will be described.
The accumulated amount of packets of the flow unit buffer #J: BJ [Bytes]
Time of one cycle: T [sec]
Transmission limit per cycle time: Z [Bytes/sec]
Time required to transmit all the packets accumulated in all flow unit buffers: Tall [sec]
A time to first transmit the packet among the packets accumulated in all the flow unit buffers: tstart [sec]
Z=BMAX×T.
In this case, when
the transmission amount SJ [Bytes] of the flow unit buffer #J is
when Tall≤T, and
when Tall>T. The transmission time TJ [sec] of the flow unit buffer #J is calculated as
when Tall≤T, and is calculated as
when Tall>T.
The transmission time tJ [sec] of the flow unit buffer #J is calculated as
when Tall≤T, and is calculated as
when Tall>T.
When Tall>T, packets that cannot be transmitted are carried forward to a next transmission timing.
The following can be considered as a method of ascertaining the maximum throughput BMAX of the wireless network 15 of which the telemetry apparatus 16 notifies the controller 13.
In 802.11n, ac, or the like, there is a table called MCS that sets the throughput of the wireless network. The telemetry apparatus 16 detects maximum throughput information BMAX from the MCS used for communication by an access point or the like, and notifies the controller 13 of the maximum throughput information BMAX.
(2) Estimation from Amount of Packets Transmitted and Received by Each Terminal and the Access Point
The main signal transmission and reception units (MTR1 and MTR2) of each terminal 11 and the access point 12 record transmission and reception information such as the amount and time of transmitted and received packets. The telemetry apparatus 16 detects the transmission and reception information, calculates a current maximum throughput BMAX from the amount of packets transmitted and received between each terminal and the access point, and the time taken from transmission to reception, and notifies the controller 13 of the current maximum throughput BMAX.
The telemetry apparatus 16 sets a time Ttest that is less than or equal to the scheduling cycle Tt. The telemetry apparatus 16 causes each terminal and the access point to transmit test packets at the maximum throughput possible in the respective main signal transmission and reception units (MTR1 and MTR2). Each terminal and access point that have received the test packets record an amount of packets and notifies the telemetry apparatus 16 of the amount of packets. The telemetry apparatus 16 calculates the current maximum throughput BMAX from the amount of packets transmitted or received during the time Ttest, and notifies the controller 13 of the current maximum throughput BMAX.
The telemetry apparatus 16 calculates the current maximum throughput BMAX using a technology capable of ascertaining the maximum throughput other than (1) to (3) above, and notifies the controller 13 of the current maximum throughput BMAX.
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/JP2022/015915 | 3/30/2022 | WO |