CONTROL SYSTEMS, CONTROL METHODS, CONTROLLERS, AND PROGRAMS
20250220510 ยท 2025-07-03
Inventors
Cpc classification
International classification
Abstract
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. The control system according to the present invention includes a terminal and an access point that transmit packets to each other via the wireless network, a telemetry apparatus that ascertains a maximum throughput of the wireless network, and a controller that performs transmission control on the terminal and the access point, and the controller determines the band control value for each traffic flow on the basis of the maximum throughput notified of by the telemetry apparatus and the required band for each traffic flow notified of by at least the terminal, and notifies the terminal and the access point of the band control value.
Claims
1. A control system for controlling traffic in a wireless network, the control system comprising: a terminal and an access point configured to transmit packets to each other via the wireless network; a telemetry apparatus configured to ascertain a maximum throughput of the wireless network; and a controller configured to perform transmission control on the terminal and the access point, wherein the controller is configured to determine a band control value for each traffic flow on the basis of the maximum throughput notified of by the telemetry apparatus and at least a required band for each traffic flow notified of by the terminal, and notify the terminal and the access point of the band control value.
2. The control system according to claim 1, wherein each of the terminal and the access point includes a buffer configured to accumulate transmission packets for each traffic flow; an apparatus-side transmission and reception unit configured to transmit an accumulated amount of transmission packets for each traffic flow accumulated in the buffer to the controller as the required band, and receive a transmission time and a transmission amount of the transmission packets for each traffic flow from the controller as the band control value; and a main signal transmission unit configured to transmit the transmission packets for each traffic flow in the buffer to the wireless network according to the transmission time and the transmission amount, and the controller includes a control-side transmission and reception unit configured to receive the maximum throughput from the telemetry apparatus, receive the accumulated amount as the required band from each of the terminal and the access point, and transmit the transmission time and the transmission amount to each of the terminal and the access point as the band control value; and a scheduling unit configured to determine the transmission time and the transmission amount of the transmission packets for each traffic flow on the basis of the maximum throughput and the accumulated amount.
3. A method for controlling traffic of a wireless network, the method being a transmission control performed on a terminal and an access point transmitting packets to each other via the wireless network by a controller, and the method comprising: determining a band control value for each traffic flow on the basis of the maximum throughput of the wireless network and at least the required band for each traffic flow notified of by the terminal, and notifying the terminal and the access point of the band control value.
4. A controller for controlling traffic of a wireless network, wherein the controller is an apparatus configured to perform transmission control on a terminal and an access point configured to transmit packets to each other via the wireless network, and includes a function of determining a band control value for each traffic flow on the basis of the maximum throughput of the wireless network and at least the required band for each traffic flow notified of by the terminal, and notifying the terminal and the access point of the band control value.
5. A non-transitory computer readable medium storing a program, wherein execution of the program causes a computer to function as the controller according to claim 4.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
DESCRIPTION OF EMBODIMENTS
[0041] 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.
(Basic Configuration)
[0042] First, a basic configuration of a control system of the present embodiment will be described.
[0047] 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.
[0048] There are the following schemes for band control for each traffic flow.
Embodiment 1
[0049]
[0054] 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.
[0055] Further, the telemetry apparatus 16 includes a maximum throughput ascertaining unit CAT that ascertains the maximum throughput B.sub.MAX of the wireless network communicated by a main signal. A scheme by which the maximum throughput ascertaining unit CAT ascertains the maximum throughput B.sub.MAX 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.
[0056] 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 [0057] a controller 13 that performs transmission control on the terminal 11 and the access point 12, and [0058] each of the terminal 11 and the access point 12 includes the buffers (FB1 and FB2) that accumulate transmission packets for each traffic flow, [0059] an apparatus-side transmission and reception unit (CTR1 and CTR2) that transmits the accumulated amount of the transmission packets for each traffic flow accumulated in the buffers (FB1 and FB2) to the controller 13, and receives the transmission time and the transmission amount of transmission packets for each traffic flow from the controller 13, and a main signal transmission unit (MTR1 and MTR2) that transmits the transmission packet for each traffic flow in the buffer (FB1 and FB2) to the wireless network 15 according to the transmission time and the transmission amount, and [0060] the controller 13 includes [0061] a control side transmission and reception unit CTR3 that receives the maximum throughput from the telemetry apparatus 16, receives the accumulated amount from each of the terminal 11 and the access point 12, and transmits the transmission time and the transmission amount to each of the terminal 11 and the access point 12, and [0062] a scheduling unit SCH3 that determines the transmission time and the transmission amount of the transmission packet for each traffic flow on the basis of the maximum throughput and the accumulated amount.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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 B.sub.MAX of the wireless network 15 to the controller 13 every certain period Tget.
[0067] 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 B.sub.MAX included in the telemetry information.
[0068]
[0069] An item number is a serial number for all the buffers (FB1 and FB2) of the terminal 11 and the access point 12.
[0070] A node number is a number of the access point 12 or the terminal 11.
[0071] 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.
[0072] The amount of packets is the accumulated amount of packets held in the buffer with each buffer number.
[0073] 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.
[0074] A maximum throughput of the main signal wireless network is the maximum throughput B.sub.MAX of the wireless network 15 acquired at a certain time.
[0075] 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.
[0076] 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).
[0077] 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.
[0078]
[0079] 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 [0080] accumulating transmission packets for each traffic flow in the respective buffers (FB1 and FB2) of the terminal 11 and the access point 12 (steps S111, S112, S121, and S122), [0081] transmitting an accumulated amount of transmission packets for each traffic flow accumulated in each of the buffers to the controller 13 (steps S113 and S123); [0082] the telemetry apparatus 16 periodically (period Tget) detecting the maximum throughput B.sub.MAX of the wireless network 15 (step S161), [0083] transmitting the latest maximum throughput B.sub.MAX from the telemetry apparatus 16 to the controller 13 (step S163), [0084] the controller 13 determining the transmission time and the transmission amount of the transmission packets for each traffic flow in a current situation of the wireless network 15 on the basis of the latest maximum throughput B.sub.MAX received from the telemetry apparatus 16 and the accumulated amount received from each of the terminal 11 and the access point 12 (steps S131 and S132), [0085] transmitting the transmission time and the transmission amount from the controller 13 to each of the terminal 11 and the access point 12 (step S133), and [0086] transmitting the transmission packets for each traffic flow from the respective buffers of the terminal 11 and the access point 12 to the wireless network 15 according to the transmission time and the transmission amount (steps S114 and S124).
Effects
[0087]
[0088] As can be seen from a comparison between
[0089] 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.
Embodiment 2
[0090] 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.
[0091]
[0092] 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.
[0093] 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.
[0094] The processor 110 is an electronic device configured of a logic circuit that responds to and executes instructions.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] 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.
[0100] 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.
[0101] 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.
[0102] For example, a program that performs steps S131 to S133 in the flowchart in
[0103] 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.
Other Embodiments
[0104] 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.
[0105] 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.
[Appendix 1. Scheduling Scheme]
[0106] Here, a scheduling scheme performed by the scheduling unit SCH13 of the controller 13 will be described.
[1] Fair Scheduling
[0107] 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.
[0108] Hereinafter, parameters will be described.
[0109] 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]
[0110] Total main signal transmission limit per cycle time: Z [Bytes/sec]
[0111] Time to transmit a first accumulated packet: t.sub.start [sec] Z=B.sub.MAXT.
[0112] In this case, [0113] a transmission amount S.sub.J [Bytes] of a flow unit buffer #J is calculated as
and a transmission time T.sub.J [sec] of the flow unit buffer #J is calculated as
and a transmission time t.sub.J [sec] of the flow unit buffer #J is calculated as
[0114] 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.
[2] Scheduling in Consideration of Band Weight
[0115] 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.
[0116] Hereinafter, parameters will be described.
[0117] The accumulated amount of packets of the flow unit buffer #J: B.sub.J [Bytes]
[0118] Time of one cycle: T [sec]
[0119] Transmission limit per cycle time: Z [Bytes/sec]
[0120] Time required to transmit all the packets accumulated in all flow unit buffers: T.sub.all [sec]
[0121] A time to first transmit the packet among the packets accumulated in all the flow unit buffers: t.sub.start [sec]
[0122] Z=B.sub.MAXT.
[0123] In this case, when
the transmission amount SJ [Bytes] of the flow unit buffer #J is
when T.sub.allT, and
when T.sub.all>T. The transmission time T.sub.J [sec] of the flow unit buffer #J is calculated as
when T.sub.allT, and is calculated as
when T.sub.all>T.
[0124] The transmission time t.sub.J [sec] of the flow unit buffer #J is calculated as
when T.sub.allT, and is calculated as
when T.sub.all>T.
[0125] When T.sub.all>T, packets that cannot be transmitted are carried forward to a next transmission timing.
[Appendix 2. Method of Ascertaining Maximum Throughput]
[0126] The following can be considered as a method of ascertaining the maximum throughput B.sub.MAX of the wireless network 15 of which the telemetry apparatus 16 notifies the controller 13.
(1) Use of Modulation and Coding Scheme (MCS)
[0127] 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 B.sub.MAX from the MCS used for communication by an access point or the like, and notifies the controller 13 of the maximum throughput information B.sub.MAX.
(2) Estimation from Amount of Packets Transmitted and Received by Each Terminal and the Access Point
[0128] 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 B.sub.MAX 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 B.sub.MAX.
(3) Estimation Through Transmission of Test Packet
[0129] The telemetry apparatus 16 sets a time T.sub.test 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 B.sub.MAX from the amount of packets transmitted or received during the time T.sub.test, and notifies the controller 13 of the current maximum throughput B.sub.MAX.
(4) Using Other Technologies
[0130] The telemetry apparatus 16 calculates the current maximum throughput B.sub.MAX 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 B.sub.MAX.
REFERENCE SIGNS LIST
[0131] 11 Terminal [0132] 12 Access point [0133] 13 Controller [0134] 15 Wireless network [0135] 16 Telemetry apparatus [0136] 50 Upper network apparatus [0137] 100 System [0138] 101 User [0139] 105 Computer [0140] 110 Processor [0141] 115 Memory [0142] 120 Program module [0143] 122 Result [0144] 125 Storage apparatus [0145] 130 User device [0146] 135 Network [0147] 140 Storage apparatus [0148] 150 Data source [0149] 300, 301 Control system