WO2021064770A1 - システム、方法及び制御装置 - Google Patents

システム、方法及び制御装置 Download PDF

Info

Publication number
WO2021064770A1
WO2021064770A1 PCT/JP2019/038458 JP2019038458W WO2021064770A1 WO 2021064770 A1 WO2021064770 A1 WO 2021064770A1 JP 2019038458 W JP2019038458 W JP 2019038458W WO 2021064770 A1 WO2021064770 A1 WO 2021064770A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine learning
communication network
state
learning
control device
Prior art date
Application number
PCT/JP2019/038458
Other languages
English (en)
French (fr)
Inventor
亜南 沢辺
孝法 岩井
航生 小林
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US17/642,719 priority Critical patent/US20220329494A1/en
Priority to JP2021550735A priority patent/JP7188609B2/ja
Priority to PCT/JP2019/038458 priority patent/WO2021064770A1/ja
Publication of WO2021064770A1 publication Critical patent/WO2021064770A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Definitions

  • This disclosure relates to systems, methods and control devices.
  • Machine learning is expected as a method for automatically setting the control parameters.
  • Reinforcement learning is known as a type of machine learning.
  • Patent Document 1 describes a technique that uses reinforcement learning to automatically set control parameters of a wireless communication network.
  • An object of the present disclosure is to provide a system, a method, and a control device that make it easier to perform communication control suitable for a communication environment in a communication network.
  • the system includes an acquisition means for acquiring state information regarding the state of a communication network, and a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information.
  • a selection means for selecting one of the above, and the like.
  • a method is among a plurality of machine learning-based controllers for acquiring state information regarding the state of a communication network and controlling communication in the communication network based on the state information. Includes selecting one.
  • the control device includes an acquisition means for acquiring state information regarding the state of the communication network, and a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information. A selection means for selecting one of them is provided.
  • FIG. 1 is a diagram for explaining the outline of reinforcement learning.
  • the agent 81 observes the state of the environment 83 and selects an action from the observed state.
  • the agent 81 receives a reward from the environment 83 by selecting the action under the environment.
  • the agent 81 can learn what kind of action brings the greatest reward depending on the state of the environment 83. That is, the agent 81 can learn the action to be selected according to the environment in order to maximize the reward.
  • Q-learning is an example of reinforcement learning.
  • Q-learning for example, a Q-table showing how much each action is worth for each state of the environment 83 is used.
  • the agent 81 uses the Q table to select an action according to the state of the environment 83. Further, the agent 81 updates the Q table based on the reward obtained according to the selection of the action.
  • FIG. 2 is a diagram for explaining an example of the Q table.
  • the state of the environment 83 includes the state A (State A) and the state B (State B), and the actions of the agent 81 include the action A (Action A) and the action B (Action B).
  • the Q table shows the value when each action is taken in each state. For example, the value of taking action A in state A is q AA , and the value of taking action B in state A is q AB .
  • the value of taking action A in state B is q BA , and the value of taking action B in state B is q BB .
  • the agent 81 takes the action with the highest value in each state.
  • the agent 81 takes action A in state A.
  • the values in the Q table (q AA , q AB , q BA and q BB ) are updated based on the rewards obtained according to the action selection.
  • FIG. 3 shows an example of a schematic configuration of the system 1 according to the first embodiment.
  • system 1 includes a communication network 10 and a control device 100.
  • the communication network 10 transfers data.
  • the communication network 10 includes a network device (for example, a proxy server, a gateway, a router and / or a switch, etc.) and a line, and each of the network devices transfers data via the line.
  • a network device for example, a proxy server, a gateway, a router and / or a switch, etc.
  • the communication network 10 may be a wired network or a wireless network.
  • the communication network 10 may include both a wired network and a wireless network.
  • the wireless network may be, for example, a mobile communication network using a communication line standard such as LTE (Long Term Evolution) or 5G (5th Generation), or a wireless LAN (Local Area Network) or local 5G. It may be a network used in a specific area.
  • the wired network may be, for example, LAN, WAN (Wide Area Network), the Internet, or the like.
  • Control device 100 The control device 100 controls for the communication network 10.
  • control device 100 includes a plurality of machine learning-based controllers for controlling communication in the communication network 10.
  • the plurality of machine learning-based controllers will be described in detail later.
  • control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch, etc.) that transfers data within the communication network 10.
  • a network device for example, a proxy server, a gateway, a router, and / or a switch, etc.
  • the control device 100 is not limited to the network device that transfers data within the communication network 10. This point will be described in detail later as a fourth modification of the first embodiment.
  • FIG. 4 is a block diagram showing an example of a schematic functional configuration of the control device 100 according to the first embodiment.
  • the control device 100 includes an observation means 110, a determination means 120, an acquisition means 130, a selection means 140, a controller setting means 150, a plurality of machine learning-based controllers 160 (machine learning-based controllers 160A, 160B, and the like). 160C and the like) (for example, N machine learning-based controllers 160), parameter setting means 170, and communication processing means 180.
  • observation means 110 The operations of the observation means 110, the determination means 120, the acquisition means 130, the selection means 140, the controller setting means 150, the machine learning-based controller 160, the parameter setting means 170, and the communication processing means 180 will be described later.
  • the machine learning-based controller 160 is a “machine learning-based controller 160A”, a “machine learning-based controller 160B”, or a “machine learning-based controller 160B”. It can be expressed as “controller 160C” or the like. On the other hand, the machine learning-based controller 160 is simply referred to as a "machine learning-based controller 160" when no distinction is required.
  • FIG. 5 is a block diagram showing an example of a schematic hardware configuration of the control device 100 according to the first embodiment.
  • the control device 100 includes a processor 210, a main memory 220, a storage 230, a communication interface 240, and an input / output interface 250.
  • the processor 210, the main memory 220, the storage 230, the communication interface 240, and the input / output interface 250 are connected to each other via the bus 260.
  • the processor 210 executes a program read from the main memory 220.
  • the processor 210 is a CPU (Central Processing Unit).
  • the main memory 220 stores programs and various data.
  • the main memory 220 is a RAM (Random Access Memory).
  • the storage 230 stores programs and various data.
  • the storage 230 includes an SSD (Solid State Drive) and / or an HDD (Hard Disk Drive).
  • the communication interface 240 is an interface for communication with other devices.
  • the communication interface 240 is a network adapter or a network interface card.
  • the input / output interface 250 is an interface for connecting to an input device such as a keyboard and an output device such as a display.
  • Each of the observation means 110, the determination means 120, the acquisition means 130, the selection means 140, the controller setting means 150, the machine learning-based controller 160, the parameter setting means 170, and the communication processing means 180 is implemented by the processor 210 and the main memory 220. It may be implemented by the processor 210, the main memory 220 and the communication interface 240.
  • control device 100 is not limited to this example.
  • the control device 100 may be implemented by other hardware configurations.
  • control device 100 may be virtualized. That is, the control device 100 may be implemented as a virtual machine.
  • the control device 100 may operate as a virtual machine on a physical machine (hardware) including a processor, a memory, and the like and a hypervisor.
  • the control device 100 may be distributed and operated in a plurality of physical machines.
  • the control device 100 may include a memory (main memory 220) for storing a program (instruction) and one or more processors (processor 210) capable of executing the program (instruction).
  • the one or more processors execute the program to execute the observation means 110, the determination means 120, the acquisition means 130, the selection means 140, the controller setting means 150, the machine learning-based controller 160, the parameter setting means 170 and / or
  • the operation of the communication processing means 180 may be performed.
  • the program causes the processor to execute the operations of the observation means 110, the determination means 120, the acquisition means 130, the selection means 140, the controller setting means 150, the machine learning-based controller 160, the parameter setting means 170, and / or the communication processing means 180. It may be a program for.
  • Each of the plurality of machine learning-based controllers 160 (for example, N machine learning-based controllers 160) is a machine learning-based controller for controlling communication in the communication network 10.
  • each of the plurality of machine learning-based controllers 160 is a reinforcement learning-based controller.
  • each of the plurality of machine learning-based controllers 160 operates as an agent for reinforcement learning, and outputs actions based on, for example, input states.
  • the communication network 10 is the "environment" of reinforcement learning
  • the state of the communication network 10 is the "state” of reinforcement learning (that is, the input of reinforcement learning).
  • a change in the control parameter of the communication network 10 is an "action" (that is, a change) of reinforcement learning.
  • Output of reinforcement learning the machine learning-based controller 160 selects the change of the control parameter of the communication network 10 from the observed state of the communication network 10. Further, the machine learning-based controller 160 receives a reward by selecting a change in the control parameter of the communication network 10 (“action” of reinforcement learning).
  • the state of the communication network 10 can also be said to be the state of communication in the communication network 10.
  • the control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch) that transfers data within the communication network 10.
  • the machine learning-based controller 160 selects and outputs a change in the control parameter of the control device 100 from the state of the communication network 10 observed by the control device 100.
  • the control device 100 (parameter setting means 170) sets the changed control parameter in the control device 100 according to the change of the selected control parameter.
  • the control device 100 (communication processing means 180) transfers data (for example, a packet) according to the changed control parameter.
  • the machine learning-based controller 160 controls the communication in the communication network 10 by selecting, for example, changing the control parameters.
  • the control device 100 is not limited to the network device that transfers data within the communication network 10. This point will be described in detail later as a fourth modification of the first embodiment.
  • control parameters can be set automatically.
  • a machine learning-based controller 160 is used to control a TCP (Transmission Control Protocol) flow in a communication network 10.
  • TCP Transmission Control Protocol
  • the "state" and “behavior” of reinforcement learning are as follows, for example. [Status] Number of active flows, available bandwidth, and / or IP (Internet Protocol) past buffer size [Action] Increase or decrease the transmission buffer size
  • the machine learning based controller 160 is used to control the flow rate of video traffic in the communication network 10.
  • the "state" and "behavior" of reinforcement learning are as follows, for example.
  • Video QoE Quality of Experience
  • Behavior Increase or decrease the upper limit of throughput
  • the machine learning based controller 160 is used for robot control.
  • the "state" and “behavior” of reinforcement learning are as follows, for example.
  • Packet arrival interval and / or packet size statistics for example, maximum value, minimum value, mean value, standard deviation, etc.
  • [Action] Increase or decrease packet transmission interval
  • the “state” of reinforcement learning is, for example, the state of the communication network 10, but more specifically, any protocol layer (TCP, UDP (User Datagram Protocol), IP or MAC) of the communication network 10. (Medium Access Control)) may be in the state.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • IP IP
  • MAC Medium Access Control
  • the “behavior” of reinforcement learning is, for example, a change in the control parameter of the communication network 10, but more specifically, a change in the control parameter of any protocol layer (TCP, UDP, IP or MAC) of the communication network 10. May be.
  • the plurality of machine learning-based controllers 160 have the same type of state as input for reinforcement learning and the same type of action as output for reinforcement learning.
  • the first embodiment is not limited to this example. This point will be described in detail later as a first modification of the first embodiment.
  • each of the plurality of machine learning-based controllers 160 is of one or more other machine learning-based controllers 160 included in the plurality of machine learning-based controllers 160. It has different learning conditions from the controller 160. That is, there is a difference in learning conditions among the plurality of machine learning-based controllers 160.
  • each of the plurality of machine learning-based controllers 160 has different learning conditions from all other machine learning-based controllers 160 included in the plurality of machine learning-based controllers 160.
  • each of the plurality of machine learning-based controllers 160 has unique learning conditions.
  • each of the plurality of machine learning-based controllers 160 has unique learning conditions suitable for the target state (for example, the congestion state of the target) of the communication network 10.
  • the machine learning-based controller 160 included in the plurality of machine learning-based controllers 160 has learning conditions according to the state of the communication network 10 corresponding to the machine learning-based controller 160.
  • the machine learning-based controller 160 having different learning conditions in this way makes it possible to perform learning and control suitable for various states of the communication network 10, for example.
  • the above learning conditions include at least one of a lower limit of the probability of search in reinforcement learning, a change amount of parameters in reinforcement learning, and a neural network configuration in reinforcement learning.
  • FIG. 6 is a diagram for explaining an example of learning conditions of each machine learning-based controller 160 according to the first embodiment. With reference to FIG. 6, the learning conditions of each of the N machine learning-based controllers 160 are shown.
  • the learning conditions include a lower limit of search probability, a parameter change amount, and a neural network configuration.
  • the above search probability lower limit is the lower limit of the search probability in reinforcement learning.
  • learning is performed by "use” and "search".
  • search is selected with a probability ⁇
  • use is selected with a probability 1- ⁇ . Be selected.
  • the lower limit of the search probability is the lower limit of the probability ⁇ .
  • the probability ⁇ is 0.2 or more.
  • the above parameter change amount is the parameter change amount in reinforcement learning.
  • the action of reinforcement learning is a change of the control parameter of the communication network 10
  • the amount of change of the parameter is an amount of changing the control parameter as an action of reinforcement learning.
  • the control parameter change amount is large, the control parameter can be brought close to the optimum value significantly, and if the parameter change amount is small, the control parameter can be finely brought close to the optimum value.
  • the above neural network configuration is a neural network configuration in reinforcement learning.
  • FIG. 7 is a diagram for explaining an example of the configuration of the neural network according to the first embodiment.
  • the neural network contains a plurality of layers. For example, by increasing the number of layers in a neural network, it is possible to more appropriately represent the complex relationship between an input (that is, a state) and an output (that is, an action). For example, by reducing the number of layers in a neural network (making the layers shallower), the relationship between inputs (ie, states) and outputs (ie, behaviors) can be expressed through fewer calculations.
  • control device 100 determines the number of machine learning-based controllers 160 (for example, N) for controlling communication in the communication network 10.
  • control device 100 (controller setting means 150) is based on the observation result of the communication network 10 (for example, the range of the congestion level in the communication network 10), and the number of machine learning-based controllers 160 (for example). N) is determined.
  • the controller 100 (controller setting means 150) is based on information set by a human to use the controller 100 in the communication network 10 (eg, information indicating the number of machine learning-based controllers 160).
  • the number of machine learning-based controllers 160 (eg N) may be determined.
  • the method for determining the number of machine learning-based controllers 160 is not limited to these examples.
  • control device 100 predetermines the number of machine learning-based controllers 160 (for example, N) before starting to use the machine learning-based controller 160.
  • control device 100 may determine the number of machine learning-based controllers 160 (for example, N) after the start of use of the machine learning-based controller 160.
  • the controller 100 may determine the number of machine learning-based controllers 160 (for example, N).
  • the controller 100 may determine the number of machine learning-based controllers 160 (eg, N) if the learning in the machine learning-based controller 160 does not converge properly. ..
  • a large number of machine learning-based controllers 160 are prepared in advance.
  • the control device 100 controller setting means 150 determines N machine learning bases out of the large number of machine learning based controllers 160 after determining the number (N) of the machine learning based controllers 160.
  • the controller 160 of the above is activated.
  • controller 100 may generate N machine learning-based controllers 160 after determining the number (N) of the machine learning-based controllers 160.
  • the number of machine learning-based controllers 160 is determined. This makes it possible, for example, to selectively use a number of machine learning-based controllers 160 suitable for the communication network 10. As a result, for example, the communication of the communication network 10 can be controlled more appropriately.
  • the plurality of machine learning-based controllers 160 are implemented as separate software.
  • the plurality of machine learning-based controllers 160 may be implemented by common software and separate libraries.
  • the plurality of machine learning-based controllers 160 may be implemented as separate hardware.
  • the control device 100 selects one of a plurality of machine learning-based controllers 160 for controlling communication in the communication network 10. That is, the control device 100 (selection means 140) selects one machine learning-based controller 160 used for controlling communication in the communication network 10 from the plurality of machine learning-based controllers 160.
  • FIG. 8 is a flowchart for explaining an example of a schematic flow of the controller selection process according to the first embodiment. Hereinafter, the operation for selecting the machine learning-based controller 160 will be described with reference to FIG.
  • control device 100 observes the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • the control device 100 is a network device that transfers data within the communication network 10, the observed throughput is the throughput of the control device 100, and the observed packet loss rate is the packet of the control device 100. The loss rate.
  • the control device 100 (observation means 110) generates observation information about the communication network 10.
  • the observation information shows the result of observation of the communication network 10. More specifically, for example, the observation information indicates the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • the control device 100 determines the state of the communication network 10 (S320).
  • the above-mentioned state to be determined is a congestion state of the communication network 10. That is, the control device 100 (determining means 120) determines the congestion state of the communication network 10.
  • the above-mentioned congestion state to be determined is the congestion level of the communication network 10. That is, the control device 100 (determining means 120) determines the congestion level of the communication network 10. As an example, a level from 1 to N is defined in advance as a congestion level, and the control device 100 (determining means 120) determines which level of the communication network 10 the congestion level is from 1 to N.
  • state of the communication network 10 is a state determined only for the selection of the machine learning-based controller 160, and is an input of reinforcement learning of the machine learning-based controller 160. It should be noted that it does not mean "state”.
  • control device 100 determines the state of the communication network 10 based on the above observation information.
  • the above observation information indicates the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • the control device 100 determines the state (for example, congestion level) of the communication network 10 based on the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • FIG. 9 is a diagram for explaining an example of a method for determining the state of the communication network 10 according to the first embodiment.
  • the congestion level is determined based on the throughput, if the throughput is greater than 100 Mbps, the congestion level is determined to be level 1, and if the throughput is greater than 50 Mbps and less than 100 Mbps, the congestion level is level 2. Is determined to be.
  • the congestion level is determined based on the packet loss rate, if the packet loss rate is smaller than 0.001, the congestion level is determined to be level 1, and the packet loss rate is 0.001 or more. If it is less than 0.01, the congestion level is determined to be level 2.
  • the congestion level may be determined based on both the throughput and the packet loss rate.
  • the higher level of the level determined based only on the throughput and the level determined based only on the packet loss rate may be determined as the congestion level.
  • the method for determining the state of the communication network 10 is not limited to this example. Other examples of the determination method will be described in detail later as a second modification of the first embodiment.
  • control device 100 (determining means 120) generates state information regarding the above-mentioned state (that is, the determined state) of the communication network 10.
  • the above state information indicates the above state (that is, the determined state) of the communication network 10. More specifically, for example, the state information indicates the congestion level (that is, the determined congestion level) of the communication network 10.
  • the above status information is not limited to this example. This point will be described in detail later as a third modification of the first embodiment.
  • the control device 100 acquires the above state information.
  • the control device 100 selects one of the plurality of machine learning-based controllers 160 based on the state information (S330). That is, the control device 100 (selection means 140) is one machine learning-based controller 160 used for controlling communication in the communication network 10 from among the plurality of machine learning-based controllers 160 based on the state information. Select. In other words, the control device 100 (selection means 140) switches the machine learning-based controller 160 used for controlling communication in the communication network 10 based on the above state information. With such a selection, the plurality of machine learning-based controllers are selectively used for controlling communication in the communication network 10.
  • the plurality of machine learning-based controllers 160 correspond to different states (for example, different congestion levels) of the communication network 10.
  • the control device 100 selects the machine learning-based controller 160 corresponding to the above state (the congestion level) of the communication network 10 indicated by the state information.
  • the plurality of machine learning-based controllers 160 are N machine learning-based controllers 160 corresponding to congestion levels from 1 to N, respectively.
  • the control device 100 selects the machine learning-based controller 160 corresponding to the congestion level indicated by the state information.
  • the machine learning-based controller 160 for higher congestion levels has a higher search probability lower bound and a neural network configuration with more layers.
  • the machine learning-based controller 160 is prepared and selectively used for each communication network state (for example, congestion level). Therefore, each machine learning-based controller 160 is used only in the target state (for example, congestion level), and can perform dedicated learning and control for the target state (for example, congestion level). Therefore, even when the state of the communication network (for example, the congestion level) changes, the optimum control parameters can be found and the control parameters can converge in each machine learning-based controller 160 without requiring a large amount of time. In addition, the accuracy of the control parameters after convergence can be high. In this way, it becomes easier to perform control suitable for the state of the communication network (that is, the communication environment) in the communication network 10.
  • the selected machine learning-based controller 160 is used to control communication in the communication network 10. Specifically, for example, the selected machine learning-based controller 160 selects, for example, to change the control parameters based on the state of the input communication network 10, and sets the changed control parameters, as described above. It is set in the control device 100.
  • the plurality of machine learning-based controllers 160 have the same type of state as input for reinforcement learning and the same type of action as output for reinforcement learning. .. That is, there is no difference in the state of reinforcement learning and the form of action among the plurality of machine learning-based controllers 160.
  • the first embodiment is not limited to this example.
  • each of the plurality of machine learning-based controllers 160 is one or more other than one included in the plurality of machine learning-based controllers 160. It may have a state of a form different from that of the machine learning-based controller 160 of the above as an input of reinforcement learning. That is, there may be a difference in the form of the state of reinforcement learning among the plurality of machine learning-based controllers 160.
  • the above-mentioned different types of states may be different amounts of states. That is, there may be a difference in the amount of reinforcement learning states among the plurality of machine learning-based controllers 160.
  • the machine learning-based controller 160A may have a state (that is, one state) obtained by one recent observation as an input for reinforcement learning, and is a machine learning-based controller.
  • the 160B may have a state (that is, two states of the same type) obtained by the last two observations as an input for reinforcement learning.
  • each of the plurality of machine learning-based controllers 160 is one or more other than one included in the plurality of machine learning-based controllers 160.
  • the machine learning-based controller 160 may have a different form of action as the output of reinforcement learning. That is, there may be a difference in the form of reinforcement learning behavior among the plurality of machine learning-based controllers 160.
  • the above-mentioned different types of actions may be changes of different control parameters of the communication network 10. That is, among the plurality of machine learning-based controllers 160, there may be differences in the control parameters to be changed as actions.
  • the machine learning-based controller 160A may have a change in the transmission buffer size as an action of reinforcement learning
  • the machine learning-based controller 160B may have a change in the transmission buffer size and the throughput as reinforcement learning. You may have it as an action of.
  • each of the plurality of machine learning-based controllers 160 has a learning condition, a form of reinforcement learning state, and reinforcement. It may differ from each of all other machine learning-based controllers 160 in any aspect of the form of learning behavior. That is, each of the plurality of machine learning-based controllers 160 is included in the plurality of machine learning-based controllers 160 from the viewpoint of a combination of learning conditions, reinforcement learning state formats, and reinforcement learning behavior formats. May be unique.
  • the control device 100 is, for example, a communication network based on observation information about the communication network 10. 10 states are determined.
  • the determination according to the first embodiment is not limited to this example.
  • control device 100 (determining means 120) is based on information indicating the state of the communication network 10 for each time zone (hereinafter, referred to as "time zone state information"). , The state of the communication network 10 may be determined.
  • the time zone state information indicates level N (a level meaning the most severe congestion) as a congestion level in the time zone from 12:00 to 13:00 (time zone in which communication networks 10 coexist).
  • level N a level meaning the most severe congestion
  • the time zone state information also indicates the congestion level of other time zones.
  • the time zone state information is predetermined and stored in the control device 100.
  • the time zone state information may be manually predetermined or may be automatically predetermined based on statistical information.
  • state information regarding the state of the communication network 10 is used for selecting the machine learning-based controller 160.
  • the state information determines the state of the communication network 10. Shown.
  • the state information according to the first embodiment is not limited to this example.
  • the state information does not have to indicate the state itself of the communication network 10.
  • the state information does not indicate the state of the communication network 10 itself, but may be information corresponding to the state of the communication network 10.
  • the above state information does not indicate the congestion level of the communication network 10 itself, but may be an index corresponding to the congestion level of the communication network 10.
  • the control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch) that transfers data within the communication network 10 (FIG. 10). Further, as described above, for example, the control device 100 (parameter setting means 170) sets the changed control parameter in the control device 100 when the machine learning-based controller 160 selects to change the control parameter (the changed control parameter is set in the control device 100). See FIG. 10).
  • the control device 100 according to the first embodiment is not limited to this example.
  • the control device 100 is a network device itself that transfers data in the communication network 10. Instead, it may be a device (for example, a network controller) that controls a network device 30 that transfers data within the communication network 10.
  • the control device 100 may not observe the communication network 10 by itself, and the network device 30 may observe the communication network 10.
  • the control device 100 may acquire observation information about the communication network 10 from the network device 30.
  • the control device 100 may cause the network device 30 to set the changed control parameter when the machine learning-based controller 160 selects to change the control parameter.
  • the control device 100 transmits parameter information indicating a change of the control parameter (for example, a command for instructing the change of the control parameter) to the network device 30, and the network device 30 transmits the parameter information.
  • the modified control parameters may be set based on.
  • the network device 30 may transfer data (eg, packets) according to the modified control parameters.
  • the network controller 50 controls the network device 40 that transfers data in the communication network 10, and the control device 100 controls the network controller 50.
  • the control device 100 controls the network controller 50.
  • it may be an assisting device.
  • the control device 100 may not observe the communication network 10 by itself, and the network device 40 may observe the communication network 10.
  • the control device 100 may acquire observation information about the communication network 10 from the network device 40 or the network controller 50.
  • the control device 100 (parameter setting means 170) provides first parameter information (eg, for example) indicating a change in the control parameter when the machine learning-based controller 160 chooses to change the control parameter.
  • first parameter information eg, for example
  • a command instructing the change of the control parameter or support information instructing the change of the control parameter may be transmitted to the network controller 50.
  • the network controller 50 transmits the second parameter information indicating the change of the control parameter (for example, a command for instructing the change of the control parameter) to the network device 40 based on the first parameter information, and the network device 50.
  • 40 may set the changed control parameter based on the second parameter information.
  • the network device 40 may transfer data (eg, packets) according to the modified control parameters.
  • the network controller 70 controls the network device 60 that transfers data in the communication network 10, and the control device 100 controls the network controller 70. It may be a device for
  • the control device 100 may not observe the communication network 10 by itself, and the network device 60 may observe the communication network 10.
  • the control device 100 may acquire observation information about the communication network 10 from the network device 60 or the network controller 70.
  • the control device 100 may cause the network controller 70 to set the changed control parameters when the machine learning-based controller 160 selects to change the control parameters.
  • the control device 100 (parameter setting means 170) transmits parameter information indicating a change of the control parameter (for example, a command for instructing the change of the control parameter) to the network controller 70, and the network controller 70 transmits the parameter information.
  • the modified control parameters may be set based on.
  • the network controller 70 may control the network device 60 according to the modified control parameters, and the network device 60 may transfer data (eg, packets) according to the control by the network controller 70. ..
  • the control device 100 includes an observation means 110, a determination means 120, an acquisition means 130, a selection means 140, a controller setting means 150, and a plurality of machine learning-based controllers 160.
  • the parameter setting means 170 and the communication processing means 180 are provided.
  • the control device 100 according to the first embodiment is not limited to this example.
  • the observation means 110 may not be included in the control device 100 but may be included in another device.
  • the control device 100 may receive observation information about the communication network 10 from the other device.
  • the determination means 120 may not be included in the control device 100, but may be included in the other device.
  • the control device 100 may receive state information regarding the state of the communication network 10 from the other device.
  • the observation means 110 (and the determination means 120) may not be included in the control device 100 but may be included in another device (for example, a network device or a network controller).
  • the controller setting means 150 may not be included in the control device 100 but may be included in another device.
  • the number of machine learning-based controllers 160 eg, N
  • the number of machine learning-based controllers 160 may be determined by the other device.
  • the plurality of machine learning-based controllers 160 may not be included in the control device 100 but may be included in other devices.
  • the control device 100 may notify the other device of the selected machine learning-based controller 160.
  • the parameter setting means 170 is not included in the control device 100, but may be included in the other device.
  • the "control device 100" is replaced with the "device including the machine learning-based controller 160" in the description in the fourth modification. You may.
  • the parameter setting means 170 may be included in each of the plurality of machine learning-based controllers 160. That is, each of the plurality of machine learning-based controllers 160 may perform the operation of the parameter setting means 170 described above.
  • the communication processing means 180 for transferring data is not included in the control device 100, but may be included in another device.
  • the communication processing means 180 may not be included in the control device 100 but may be included in the network device.
  • FIG. 14 shows an example of a schematic configuration of the system 2 according to the second embodiment.
  • system 2 includes acquisition means 400 and selection means 500.
  • FIG. 15 is a flowchart for explaining an example of a schematic flow of the controller selection process according to the second embodiment.
  • the acquisition means 400 acquires status information regarding the status of the communication network (S610).
  • the selection means 500 selects one of a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information (S620).
  • the description of the communication network, the state of the communication network, the state information, and the plurality of machine learning-based controllers is the same as the description of these in the first embodiment, for example. Also, the description of selecting a machine learning-based controller is, for example, the same as the description in the first embodiment. Therefore, a duplicate description will be omitted here.
  • the second embodiment is not limited to the example of the first embodiment.
  • the machine learning-based controller is selected. This makes it easier to perform communication control suitable for the communication environment in the communication network.
  • the steps in the processing described in the present specification do not necessarily have to be executed in chronological order in the order described in the flowchart.
  • the steps in the process may be executed in an order different from the order described in the flowchart, or may be executed in parallel.
  • some of the steps in the process may be deleted, and additional steps may be added to the process.
  • a method including processing of a component of a system or a control device described in the present specification may be provided, and a program for causing a processor to execute the processing of the component may be provided.
  • a non-transitory computer readable recording medium may be provided that can be read by the computer on which the program is recorded.
  • Appendix 1 An acquisition method for acquiring status information regarding the status of a communication network, A selection means for selecting one of a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information.
  • System including.
  • Appendix 2 The system according to Appendix 1, wherein the state information indicates the state of the communication network.
  • Appendix 3 The system according to Appendix 1 or 2, wherein the state of the communication network is a congestion state of the communication network.
  • Appendix 4 The system according to Appendix 3, wherein the congestion state of the communication network is the congestion level of the communication network.
  • Appendix 6 The system according to Appendix 5, wherein the determination means determines the state of the communication network based on observation information about the communication network.
  • Appendix 7 The system according to Appendix 6, wherein the observation information indicates the throughput in the communication network or the packet loss rate in the communication network.
  • Appendix 8 The system according to Appendix 5, wherein the determination means determines the state of the communication network based on information indicating the state of the communication network for each time zone.
  • the machine learning-based controller included in the plurality of machine learning-based controllers has learning conditions according to the state of the communication network corresponding to the machine learning-based controller, according to any one of the items 1 to 8. Described system.
  • Each of the plurality of machine learning-based controllers has learning conditions different from those of one or more other machine learning-based controllers included in the plurality of machine learning-based controllers, any one of Appendix 1 to 9. The system described in the section.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller.
  • the learning condition includes at least one of a lower limit of the probability of search in reinforcement learning, a change amount of parameters in reinforcement learning, and a neural network configuration in reinforcement learning.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller that outputs an action based on an input state.
  • Each of the plurality of machine learning-based controllers has a state as input of reinforcement learning different from one or more other machine learning-based controllers included in the plurality of machine learning-based controllers.
  • the system according to any one of Appendix 1 to 11.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller that outputs an action based on an input state.
  • Each of the plurality of machine learning-based controllers has a different form of behavior as the output of reinforcement learning than one or more other machine learning-based controllers included in the plurality of machine learning-based controllers.
  • the system according to any one of Appendix 1 to 12.
  • Appendix 14 The system according to any one of Appendix 10 to 13, wherein the one or more other machine learning-based controllers are all other machine learning-based controllers included in the plurality of machine learning-based controllers. ..
  • (Appendix 16) Acquiring status information about the status of the communication network To select one of a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information. How to include.
  • Appendix 17 The method according to Appendix 16, wherein the state information indicates the state of the communication network.
  • Appendix 18 The method according to Appendix 16 or 17, wherein the state of the communication network is a congestion state of the communication network.
  • Appendix 20 The method according to any one of Appendix 16 to 19, further comprising determining the state of the communication network.
  • Appendix 21 The method according to any one of Appendix 16 to 20, further comprising determining the state of the communication network based on observation information about the communication network.
  • Appendix 22 The method according to Appendix 21, wherein the observation information indicates the throughput in the communication network or the packet loss rate in the communication network.
  • Appendix 23 The method according to any one of Appendix 16 to 20, further comprising determining the state of the communication network based on information indicating the state of the communication network for each time zone.
  • the machine learning-based controller included in the plurality of machine learning-based controllers has learning conditions according to the state of the communication network corresponding to the machine learning-based controller, according to any one of Appendix 16 to 23. The method described.
  • Each of the plurality of machine learning-based controllers has learning conditions different from those of one or more other machine learning-based controllers included in the plurality of machine learning-based controllers, any one of Appendix 16 to 24. The method described in the section.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller.
  • the learning condition includes at least one of a lower limit of the probability of search in reinforcement learning, a change amount of parameters in reinforcement learning, and a neural network configuration in reinforcement learning. The method according to Appendix 24 or 25.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller that outputs an action based on an input state.
  • Each of the plurality of machine learning-based controllers has a state as input of reinforcement learning different from one or more other machine learning-based controllers included in the plurality of machine learning-based controllers. The method according to any one of Appendix 16 to 26.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller that outputs an action based on an input state.
  • Each of the plurality of machine learning-based controllers has a different form of behavior as the output of reinforcement learning than one or more other machine learning-based controllers included in the plurality of machine learning-based controllers. The method according to any one of Appendix 16 to 27.
  • Appendix 29 The method according to any one of Appendix 25-28, wherein the one or more other machine learning-based controllers are all other machine learning-based controllers included in the plurality of machine learning-based controllers. ..
  • Appendix 30 The method according to any one of Appendix 16 to 29, further comprising determining the number of machine learning-based controllers included in the plurality of machine learning-based controllers.
  • Appendix 31 An acquisition method for acquiring status information regarding the status of a communication network, A selection means for selecting one of a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information.
  • a control device comprising.
  • Appendix 32 The control device according to Appendix 31, wherein the state information indicates the state of the communication network.
  • Appendix 33 The control device according to Appendix 31 or 32, wherein the state of the communication network is a congestion state of the communication network.
  • Appendix 34 The control device according to Appendix 33, wherein the congestion state of the communication network is the congestion level of the communication network.
  • Appendix 35 The control device according to any one of Appendix 31 to 34, further comprising a determination means for determining the state of the communication network.
  • Appendix 36 The control device according to Appendix 35, wherein the determination means determines the state of the communication network based on observation information about the communication network.
  • Appendix 37 The control device according to Appendix 36, wherein the observation information indicates the throughput in the communication network or the packet loss rate in the communication network.
  • Appendix 38 The control device according to Appendix 35, wherein the determination means determines the state of the communication network based on information indicating the state of the communication network for each time zone.
  • the machine learning-based controller included in the plurality of machine learning-based controllers has learning conditions according to the state of the communication network corresponding to the machine learning-based controller, according to any one of Appendix 31 to 38.
  • Each of the plurality of machine learning-based controllers has learning conditions different from those of one or more other machine learning-based controllers included in the plurality of machine learning-based controllers, any one of Appendix 31-39.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller.
  • the learning condition includes at least one of a lower limit of the probability of search in reinforcement learning, a change amount of parameters in reinforcement learning, and a neural network configuration in reinforcement learning.
  • the control device according to Appendix 39 or 40.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller that outputs an action based on an input state.
  • Each of the plurality of machine learning-based controllers has a state as input of reinforcement learning different from one or more other machine learning-based controllers included in the plurality of machine learning-based controllers.
  • the control device according to any one of Appendix 31 to 41.
  • Each of the plurality of machine learning-based controllers is a reinforcement learning-based controller that outputs an action based on an input state.
  • Each of the plurality of machine learning-based controllers has a different form of behavior as the output of reinforcement learning than one or more other machine learning-based controllers included in the plurality of machine learning-based controllers.
  • the control device according to any one of Appendix 31 to 42.
  • Appendix 45 The control device according to any one of Appendix 31 to 44, further comprising a controller setting means for determining the number of machine learning-based controllers included in the plurality of machine learning-based controllers.
  • (Appendix 46) Acquiring status information about the status of the communication network To select one of a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information.
  • (Appendix 47) Acquiring status information about the status of the communication network To select one of a plurality of machine learning-based controllers for controlling communication in the communication network based on the state information.
  • a non-temporary recording medium that can be read by a computer that records a program that causes the processor to execute.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】通信ネットワークにおいて通信環境に適した通信制御を行うことをより容易にすること。 【解決手段】本開示の一態様に係るシステムは、通信ネットワークの状態に関する状態情報を取得する取得手段と、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、を含む。

Description

システム、方法及び制御装置
 本開示は、システム、方法及び制御装置に関する。
 通信環境が変化するネットワークにおいて、通信環境に適した制御パラメータを自動で設定することは、非常に重要である。当該制御パラメータを自動で設定するための手法として、機械学習(machine learning)が期待されている。当該機械学習の一種として、強化学習(reinforcement learning)が知られている。
 例えば、特許文献1には、無線通信ネットワークの制御パラメータを自動で設定するために強化学習を使用する技術が記載されている。
特開2013-026980号公報
 例えば、シンプルな手法として、単一の機械学習ベースのコントローラ(machine learning based controller)を用いて、機械学習を行い、通信環境に適した制御パラメータを自動で設定することが考えられる。
 しかし、適切な制御パラメータは通信環境によって異なるので、通信環境が変化するネットワーク(例えば、無線ネットワーク)において単一の機械学習ベースのコントローラを使用すると、最適な制御パラメータの発見、及び、制御パラメータの収束に、多大な時間がかかり得る。また、たとえ制御パラメータが収束したとしても、収束後の制御パラメータの精度は低くなり得る。
 本開示の目的は、通信ネットワークにおいて通信環境に適した通信制御を行うことをより容易にするシステム、方法及び制御装置を提供することにある。
 本開示の一態様に係るシステムは、通信ネットワークの状態に関する状態情報を取得する取得手段と、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、を含む。
 本開示の一態様に係る方法は、通信ネットワークの状態に関する状態情報を取得することと、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、を含む。
 本開示の一態様に係る制御装置は、通信ネットワークの状態に関する状態情報を取得する取得手段と、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、を備える。
 本発明によれば、通信ネットワークにおいて通信環境に適した通信制御を行うことがより容易になる。なお、本発明により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
強化学習の概略を説明するための図である。 Qテーブルの一例を説明するための図である。 第1の実施形態に係るシステムの概略的な構成の一例を示す図である。 第1の実施形態に係る制御装置の概略的な機能構成の例を示すブロック図である。 第1の実施形態に係る制御装置の概略的なハードウェア構成の例を示すブロック図である。 第1の実施形態に係る各機械学習ベースのコントローラの学習条件の例を説明するための図である。 第1の実施形態に係るニューラルネットワークの構成の例を説明するための図である。 第1の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。 第1の実施形態に係る通信ネットワークの状態の判定の手法の例を説明するための図である。 第1の実施形態に係る制御装置の動作の一例を説明するための図である。 第1の実施形態の第4の変形例に係る制御装置の動作の第1の例を説明するための図である。 第1の実施形態の第4の変形例に係る制御装置の動作の第2の例を説明するための図である。 第1の実施形態の第4の変形例に係る制御装置の動作の第3の例を説明するための図である。 第2の実施形態に係るシステムの概略的な構成の一例を示す図である。 第2の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。
 以下、添付の図面を参照して本発明の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 説明は、以下の順序で行われる。
 1.関連技術
 2.第1の実施形態
  2.1.システムの構成
  2.2.制御装置の構成
  2.3.機械学習ベースのコントローラの特徴
  2.4.機械学習ベースのコントローラの選択
  2.5.変形例
 3.第2の実施形態
 <<1.関連技術>>
 図1及び図2を参照して、本開示の実施形態に関連する技術として、機械学習の一種である強化学習を説明する。
 図1は、強化学習の概略を説明するための図である。図1を参照すると、強化学習では、エージェント(agent)81は、環境(environment)83の状態(state)を観測し、観測した状態から行動(action)を選択する。エージェント81は、当該環境の下での当該行動の選択により、環境83から報酬(reward)を得る。このような一連の動作の繰り返しにより、エージェント81は、環境83の状態に応じてどのような行動が最も大きい報酬をもたらすかを学習することができる。即ち、エージェント81は、報酬を最大化するために、環境に応じて選択すべき行動を学習することができる。
 強化学習の一例として、Q学習がある。Q学習では、例えば、環境83の各状態について各行動がどの程度の価値があるかを示すQテーブルが用いられる。エージェント81は、Qテーブルを用いて、環境83の状態に応じて行動を選択する。さらに、エージェント81は、当該行動の選択に応じて得られる報酬に基づいて、Qテーブルを更新する。
 図2は、Qテーブルの一例を説明するための図である。図2を参照すると、環境83の状態として、状態A(State A)及び状態B(State B)があり、エージェント81の行動として、行動A(Action A)及び行動B(Action B)がある。Qテーブルは、各状態において各行動をとった場合の価値を示す。例えば、状態Aにおいて行動Aをとることの価値はqAAであり、状態Aにおいて行動Bをとることの価値はqABである。状態Bにおいて行動Aをとることの価値はqBAであり、状態Bにおいて行動Bをとることの価値はqBBである。例えば、エージェント81は、各状態において、価値が最も高い行動をとる。一例として、qAAがqABよりも高い場合に、エージェント81は、状態Aにおいて行動Aをとる。なお、Qテーブル内の価値(qAA、qAB、qBA及びqBB)は、行動の選択に応じて得られる報酬に基づいて更新される。
 強化学習では、上述したように各状態において価値が最も高い行動をとることは、「利用(exploitation)」と呼ばれる。「利用」のみにより学習が行われると、各状態においてとられる行動は限定されるので、学習結果は、最適解ではなく局所最適解となり得る。そのため、強化学習では、「利用」と「探索(exploration)」とにより学習が行われる。「探索」は、各状態においてランダムに選択された行動をとることを意味する。例えば、Epsilon-Greedy法では、確率εで「探索」が選択され、確率1-εで「利用」が選択される。「探索」により、例えば、ある状態において、価値が不明である行動が選択され、その結果、当該ある状態における当該行動の価値を知ることができる。このような「探索」により、学習結果として最適解を得られる可能性が高くなる。
 <<2.第1の実施形態>>
 図3~図9を参照して、本開示の第1の実施形態を説明する。
 <2.1.システムの構成>
 図3は、第1の実施形態に係るシステム1の概略的な構成の一例を示す。図3を参照すると、システム1は、通信ネットワーク10及び制御装置100を含む。
 (1)通信ネットワーク10
 通信ネットワーク10は、データを転送する。例えば、通信ネットワーク10は、ネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)と回線とを含み、当該ネットワーク機器の各々が、回線を介してデータを転送する。
 通信ネットワーク10は、有線ネットワークであってもよく、又は、無線ネットワークであってもよい。あるいは、通信ネットワーク10は、有線ネットワーク及び無線ネットワークの両方を含んでもよい。無線ネットワークは、例えば、LTE(Long Term Evolution)又は5G(5th Generation)等の通信回線規格を用いた移動体通信ネットワークであってもよいし、無線LAN(Local Area Network)又はローカル5Gのような特定のエリアで用いるネットワークであってよい。有線ネットワークは、例えば、LAN、WAN(Wide Area Network)又はインターネット等であってもよい。
 (2)制御装置100
 制御装置100は、通信ネットワーク10のための制御を行う。
 例えば、制御装置100は、通信ネットワーク10における通信を制御するための複数の機械学習ベースのコントローラを含む。当該複数の機械学習ベースのコントローラは、後に詳細に説明する。
 例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。
 なお、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第1の実施形態の第4の変形例として後に詳細に説明する。
 <2.2.制御装置の構成>
 (1)機能構成
 図4は、第1の実施形態に係る制御装置100の概略的な機能構成の例を示すブロック図である。図4を参照すると、制御装置100は、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、複数の機械学習ベースのコントローラ160(機械学習ベースのコントローラ160A、160B及び160C等)(例えば、N個の機械学習ベースのコントローラ160)、パラメータ設定手段170及び通信処理手段180を備える。
 観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び通信処理手段180の各々の動作は、後に説明する。
 なお、機械学習ベースのコントローラ160は、区別が必要である場合には、例えば図4に示されるように「機械学習ベースのコントローラ160A」、「機械学習ベースのコントローラ160B」又は「機械学習ベースのコントローラ160C」等と表現され得る。一方、機械学習ベースのコントローラ160は、区別が不要である場合には、単に「機械学習ベースのコントローラ160」と表現される。
 (2)ハードウェア構成
 図5は、第1の実施形態に係る制御装置100の概略的なハードウェア構成の例を示すブロック図である。図5を参照すると、制御装置100は、プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250を備える。プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250は、バス260を介して互いに接続されている。
 プロセッサ210は、メインメモリ220から読み出されるプログラムを実行する。一例として、プロセッサ210は、CPU(Central Processing Unit)である。
 メインメモリ220は、プログラム及び各種データを記憶する。一例として、メインメモリ220は、RAM(Random Access Memory)である。
 ストレージ230は、プログラム及び各種データを記憶する。一例として、ストレージ230は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。
 通信インタフェース240は、他の装置との通信のためのインタフェースである。一例として、通信インタフェース240は、ネットワークアダプタ又はネットワークインタフェースカードである。
 入出力インタフェース250は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインタフェースである。
 観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び通信処理手段180の各々は、プロセッサ210及びメインメモリ220により実装されてもよく、又は、プロセッサ210、メインメモリ220及び通信インタフェース240により実装されてもよい。
 当然ながら、制御装置100のハードウェア構成はこの例に限定されない。制御装置100は、他のハードウェア構成により実装されてもよい。
 あるいは、制御装置100は、仮想化されていてもよい。即ち、制御装置100は、仮想マシンとして実装されてもよい。この場合に、制御装置100(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。当然ながら、制御装置100(仮想マシン)は、複数の物理マシンに分散され、動作してもよい。
 制御装置100は、プログラム(命令)を記憶するメモリ(メインメモリ220)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ210)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び/又は通信処理手段180の動作を行ってもよい。上記プログラムは、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、機械学習ベースのコントローラ160、パラメータ設定手段170及び/又は通信処理手段180の動作をプロセッサに実行させるためのプログラムであってもよい。
 <2.3.機械学習ベースのコントローラの特徴>
 上記複数の機械学習ベースのコントローラ160(例えば、N個の機械学習ベースのコントローラ160)の各々は、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラである。
 (1)機械学習ベースのコントローラ160の動作
 例えば、上記複数の機械学習ベースのコントローラ160の各々は、強化学習ベースのコントローラである。この場合に、上記複数の機械学習ベースのコントローラ160の各々は、強化学習のエージェントとして動作し、例えば、入力される状態に基づいて行動を出力する。
 例えば、通信ネットワーク10が、強化学習の「環境」であり、通信ネットワーク10の状態が、強化学習の「状態」(即ち、強化学習の入力)である。例えば、通信ネットワーク10の制御パラメータの変更(例えば、通信ネットワーク10の制御パラメータの増加若しくは減少、又は、通信ネットワーク10の制御パラメータの特定の値への変更)が、強化学習の「行動」(即ち、強化学習の出力)である。即ち、機械学習ベースのコントローラ160は、観測された通信ネットワーク10の状態から、通信ネットワーク10の制御パラメータの変更を選択する。また、機械学習ベースのコントローラ160は、通信ネットワーク10の制御パラメータの変更(強化学習の「行動」)の選択により、報酬を得る。なお、通信ネットワーク10の状態は、通信ネットワーク10における通信の状態とも言える。
 上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。この場合に、例えば、機械学習ベースのコントローラ160は、制御装置100において観測される通信ネットワーク10の状態から、制御装置100の制御パラメータの変更を選択し、出力する。制御装置100(パラメータ設定手段170)は、選択された当該制御パラメータの当該変更に従って、変更された制御パラメータを制御装置100において設定する。その結果、制御装置100(通信処理手段180)は、当該変更された制御パラメータに従って、データ(例えば、パケット)を転送する。このように、機械学習ベースのコントローラ160は、例えば制御パラメータの変更を選択することにより、通信ネットワーク10における通信を制御する。
 なお、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第1の実施形態の第4の変形例として後に詳細に説明する。
 上述したような機械学習ベースのコントローラ160の動作によれば、例えば、制御パラメータを自動で設定することが可能になる。
 (2)強化学習の「状態」と「行動」の例
 上述したように、例えば、通信ネットワーク10の状態が、強化学習の「状態」(即ち、強化学習の入力)であり、通信ネットワーク10の制御パラメータの変更が、強化学習の「行動」(即ち、強化学習の出力)である。ここでは、強化学習の「状態」及び「行動」のさらに具体的な例を説明する。
 -第1の例
 第1の例として、機械学習ベースのコントローラ160は、通信ネットワーク10におけるTCP(Transmission Control Protocol)フローの制御のために使用される。この場合に、強化学習の「状態」及び「行動」は、例えば以下のようなものである。
 [状態]アクティブフロー数、可用帯域、及び/又は、
     IP(Internet Protocol)の過去のバッファサイズ
 [行動]送信バッファサイズの増加又は減少
 -第2の例
 第2の例として、機械学習ベースのコントローラ160は、通信ネットワーク10における動画トラフィックの流量の制御のために使用される。この場合に、強化学習の「状態」及び「行動」は、例えば以下のようなものである。
 [状態]動画のQoE(Quality of Experience)
     (例えば、動画のビットレート、及び/又は、動画の解像度)
 [行動]スループットの上限の増加又は減少
 -第3の例
 第3の例として、機械学習ベースのコントローラ160は、ロボット制御のために使用される。この場合に、強化学習の「状態」及び「行動」は、例えば以下のようなものである。
 [状態]パケット到着間隔及び/又はパケットサイズの統計値
     (例えば、最大値、最小値、平均値又は標準偏差など)
 [行動]パケット送信間隔の増加又は減少
 -その他
 当然ながら、第1の実施形態に係る強化学習の「状態」及び「行動」は、上述した例に限定されない。
 強化学習の「状態」は、上述したように例えば通信ネットワーク10の状態であるが、より具体的には、通信ネットワーク10のいずれかのプロトコルレイヤ(TCP、UDP(User Datagram Protocol)、IP又はMAC(Medium Access Control))での状態であってもよい。
 強化学習の「行動」は、例えば通信ネットワーク10の制御パラメータの変更であるが、より具体的には、通信ネットワーク10のいずれかのプロトコルレイヤ(TCP、UDP、IP又はMAC)の制御パラメータの変更であってもよい。
 なお、例えば、上記複数の機械学習ベースのコントローラ160は、同一形式の状態を強化学習の入力として有し、同一形式の行動を強化学習の出力として有する。ただし、第1の実施形態はこの例に限定されない。この点については第1の実施形態の第1の変形例として後に詳細に説明する。
 (3)機械学習ベースのコントローラ160間の相違点
 例えば、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる1つ以上の他の機械学習ベースのコントローラ160とは異なる学習条件を有する。即ち、上記複数の機械学習ベースのコントローラ160の中で、学習条件に相違がある。
 より具体的には、例えば、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる他の全ての機械学習ベースのコントローラ160と異なる学習条件を有する。換言すると、上記複数の機械学習ベースのコントローラ160の各々は、固有の(unique)学習条件を有する。例えば、上記複数の機械学習ベースのコントローラ160の各々は、通信ネットワーク10の対象状態(例えば、対象の輻輳状態)に適した固有の(unique)学習条件を有する。換言すると、上記複数の機械学習ベースのコントローラ160に含まれる機械学習ベースのコントローラ160は、当該機械学習ベースのコントローラ160に対応する通信ネットワーク10の状態に応じた学習条件を有する。
 このように学習条件が異なる機械学習ベースのコントローラ160により、例えば、通信ネットワーク10の様々な状態に適した学習及び制御を行うことが可能になる。
 (4)学習条件
 例えば、上記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む。
 図6は、第1の実施形態に係る各機械学習ベースのコントローラ160の学習条件の例を説明するための図である。図6を参照すると、N個の機械学習ベースのコントローラ160の各々の学習条件が示されている。当該学習条件は、探索確率下限、パラメータ変更量及びニューラルネット構成を含む。
 上記探索確率下限は、強化学習における探索の確率の下限である。上述したように、強化学習では、「利用」と「探索」とにより学習が行われ、例えば、Epsilon-Greedy法では、確率εで「探索」が選択され、確率1-εで「利用」が選択される。このような場合には、上記探索確率下限は、確率εの下限である。一例として、図6のレベル1の機械学習ベースのコントローラ160については、探索確率下限が0.2なので、確率εは0.2以上となる。
 上記パラメータ変更量は、強化学習におけるパラメータの変更量である。上述したように、例えば、強化学習の行動は、通信ネットワーク10の制御パラメータの変更であり、上記パラメータ変更量は、強化学習の行動として当該制御パラメータを変更する量である。例えば、上記パラメータ変更量が大きければ、制御パラメータを最適値に大幅に近づけることができ、上記パラメータ変更量が小さければ、制御パラメータを最適値にきめ細かく近づけることができる。
 上記ニューラルネット構成は、強化学習におけるニューラルネットワークの構成である。図7は、第1の実施形態に係るニューラルネットワークの構成の例を説明するための図である。図7を参照すると、ニューラルネットワークは、複数の層を含む。例えば、ニューラルネットワークにおける層の数を多くすることにより、入力(即ち、状態)と出力(即ち、行動)との複雑な関係をより適切に表すことができる。例えば、ニューラルネットワークにおける層の数を少なくする(層を浅くする)ことにより、より少ない計算を通じて、入力(即ち、状態)と出力(即ち、行動)との関係を表すことができる。
 (5)機械学習ベースのコントローラ160の数
 例えば、制御装置100(コントローラ設定手段150)は、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ160の数(例えばN)を決定する。
 -決定の手法
 例えば、制御装置100(コントローラ設定手段150)は、通信ネットワーク10の観測の結果(例えば、通信ネットワーク10における輻輳レベルのレンジ)に基づいて、機械学習ベースのコントローラ160の数(例えばN)を決定する。
 あるいは、制御装置100(コントローラ設定手段150)は、通信ネットワーク10において制御装置100を使用するために人間により設定された情報(例えば、機械学習ベースのコントローラ160の数を示す情報)に基づいて、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。
 なお、機械学習ベースのコントローラ160の数の決定の手法は、これらの例に限定されない。
 -決定のタイミング
 例えば、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の使用の開始前に、機械学習ベースのコントローラ160の数(例えばN)を予め決定する。
 さらに、又は、あるいは、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の使用の開始後に、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。一例として、通信ネットワーク10の構成が変更された場合等に、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。別の例として、機械学習ベースのコントローラ160における学習が適切に収束しない場合に、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(例えばN)を決定してもよい。
 -決定後の処理
 例えば、多数の機械学習ベースのコントローラ160が予め用意されている。この場合に、例えば、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(N)の決定後に、上記多数の機械学習ベースのコントローラ160のうちのN個の機械学習ベースのコントローラ160を起動(activate)する。
 あるいは、制御装置100(コントローラ設定手段150)は、機械学習ベースのコントローラ160の数(N)の決定後に、N個の機械学習ベースのコントローラ160を生成してもよい。
 例えば上述したように、機械学習ベースのコントローラ160の数が決定される。これにより、例えば、通信ネットワーク10に適した数の機械学習ベースのコントローラ160を選択的に使用することが可能になる。その結果、例えば、通信ネットワーク10の通信がより適切に制御され得る。
 (6)実装
 一例として、上記複数の機械学習ベースのコントローラ160(例えば、N個の機械学習ベースのコントローラ160)は、それぞれ別々のソフトウェアとして実装される。
 別の例として、上記複数の機械学習ベースのコントローラ160は、それぞれ共通のソフトウェアと別々のライブラリとにより実装されてもよい。
 さらに別の例として、上記複数の機械学習ベースのコントローラ160は、それぞれ別々のハードウェアとして実装されてもよい。
 <2.4.機械学習ベースのコントローラの選択>
 制御装置100(選択手段140)は、通信ネットワーク10における通信を制御するための複数の機械学習ベースのコントローラ160のうちの1つを選択する。即ち、制御装置100(選択手段140)は、上記複数の機械学習ベースのコントローラ160の中から、通信ネットワーク10における通信の制御に使用する1つの機械学習ベースのコントローラ160を選択する。
 図8は、第1の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。以下、図8を参照して、機械学習ベースのコントローラ160の選択のための動作を説明する。
 (1)観測(S310)
 例えば、制御装置100(観測手段110)は、通信ネットワーク10を観測する(S310)。
 より具体的には、例えば、制御装置100(観測手段110)は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を観測する。例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器であり、観測される上記スループットは、制御装置100におけるスループットであり、観測される上記パケットロス率は、制御装置100におけるパケットロス率である。
 例えば、制御装置100(観測手段110)は、通信ネットワーク10についての観測情報を生成する。当該観測情報は、通信ネットワーク10の観察の結果を示す。より具体的には、例えば、上記観測情報は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を示す。
 (2)判定(S320)
 例えば、制御装置100(判定手段120)は、通信ネットワーク10の状態を判定する(S320)。
 -通信ネットワーク10の状態
 例えば、判定される上記状態は、通信ネットワーク10の輻輳状態である。即ち、制御装置100(判定手段120)は、通信ネットワーク10の輻輳状態を判定する。
 より具体的には、例えば、判定される上記輻輳状態は、通信ネットワーク10の輻輳レベルである。即ち、制御装置100(判定手段120)は、通信ネットワーク10の輻輳レベルを判定する。一例として、輻輳レベルとして、1からNのレベルが予め定義され、制御装置100(判定手段120)は、通信ネットワーク10の輻輳レベルが1からNのどのレベルであるかを判定する。
 なお、ここで判定される上記状態(通信ネットワーク10の状態)は、あくまで機械学習ベースのコントローラ160の選択のために判定される状態であり、機械学習ベースのコントローラ160の強化学習の入力である「状態」を意味しない、ということに留意すべきである。
 -判定手法
 例えば、制御装置100(判定手段120)は、上記観測情報に基づいて、通信ネットワーク10の状態を判定する。
 上述したように、例えば、上記観測情報は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を示す。この場合に、制御装置100(判定手段120)は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率に基づいて、通信ネットワーク10の状態(例えば、輻輳レベル)を判定する。
 図9は、第1の実施形態に係る通信ネットワーク10の状態の判定の手法の例を説明するための図である。スループットに基づいて輻輳レベルが判定される場合には、スループットが100Mbpsよりも大きければ、輻輳レベルはレベル1であると判定され、スループットが50Mbpsよりも大きく100Mbps以下であれば、輻輳レベルはレベル2であると判定される。一方、パケットロス率に基づいて輻輳レベルが判定される場合には、パケットロス率が0.001よりも小さければ、輻輳レベルはレベル1であると判定され、パケットロス率が0.001以上であり0.01よりも小さければ、輻輳レベルはレベル2であると判定される。
 図9の例において、スループット及びパケットロス率の両方に基づいて輻輳レベルが判定されてもよい。この場合に、一例として、スループットのみに基づいて判定されるレベルと、パケットロス率のみに基づいて判定されるレベルとのうち、より高いレベルが、輻輳レベルとして判定されてもよい。
 図9の例では、より高いレベルが、より激しい輻輳を意味している。
 なお、通信ネットワーク10の状態を判定する手法はこの例に限定されない。判定手法の他の例は、第1の実施形態の第2の変形例として後に詳細に説明する。
 -状態情報
 例えば、制御装置100(判定手段120)は、通信ネットワーク10の上記状態(即ち、判定された状態)に関する状態情報を生成する。
 例えば、上記状態情報は、通信ネットワーク10の上記状態(即ち、判定された状態)を示す。より具体的には、例えば、上記状態情報は、通信ネットワーク10の上記輻輳レベル(即ち、判定された輻輳レベル)を示す。
 なお、上記状態情報はこの例に限定されない。この点については、第1の実施形態の第3の変形例として後に詳細に説明する。
 (3)選択(S330)
 制御装置100(取得手段130)は、上記状態情報を取得する。制御装置100(選択手段140)は、上記状態情報に基づいて、上記複数の機械学習ベースのコントローラ160のうちの1つを選択する(S330)。即ち、制御装置100(選択手段140)は、上記状態情報に基づいて、上記複数の機械学習ベースのコントローラ160の中から、通信ネットワーク10における通信の制御に使用する1つの機械学習ベースのコントローラ160を選択する。換言すると、制御装置100(選択手段140)は、上記状態情報に基づいて、通信ネットワーク10における通信の制御に使用する機械学習ベースのコントローラ160を切り替える。このような選択により、上記複数の機械学習ベースのコントローラは、通信ネットワーク10における通信の制御のために選択的に使用される。
 例えば、上記複数の機械学習ベースのコントローラ160は、それぞれ、通信ネットワーク10の異なる状態(例えば、異なる輻輳レベル)に対応する。この場合に、制御装置100(選択手段140)は、上記状態情報により示される通信ネットワーク10の上記状態(上記輻輳レベル)に対応する機械学習ベースのコントローラ160を選択する。
 具体的には、例えば、図6に示されるように、上記複数の機械学習ベースのコントローラ160は、1からNの輻輳レベルにそれぞれ対応するN個の機械学習ベースのコントローラ160である。この場合に、制御装置100(選択手段140)は、上記状態情報により示される上記輻輳レベルに対応する機械学習ベースのコントローラ160を選択する。図6に示されるように、より高い輻輳レベルに対応する機械学習ベースのコントローラ160は、より高い探索確率下限を有し、より多くの層を伴うニューラルネットワーク構成を有する。
 以上のように、通信ネットワークの状態(例えば輻輳レベル)ごとに、機械学習ベースのコントローラ160が用意され、選択的に使用される。そのため、各機械学習ベースのコントローラ160は、ターゲットとする状態(例えば輻輳レベル)でのみ使用され、ターゲットとする状態(例えば輻輳レベル)に専用の学習及び制御を行うことができる。よって、通信ネットワークの状態(例えば輻輳レベル)が変化する場合でも、各機械学習ベースのコントローラ160では、多大な時間を要することなく、最適な制御パラメータが発見され、制御パラメータが収束し得る。また、収束後の制御パラメータの精度は高くなり得る。このように、通信ネットワーク10において通信ネットワークの状態(即ち、通信環境)に適した制御を行うことがより容易になる。
 なお、選択された機械学習ベースのコントローラ160は、通信ネットワーク10における通信の制御に使用される。具体的には、例えば、選択された機械学習ベースのコントローラ160は、上述したように、例えば、入力される通信ネットワーク10の状態に基づいて制御パラメータの変更を選択し、変更された制御パラメータを制御装置100において設定する。
 <2.5.変形例>
 第1の実施形態の第1~第5の変形例を説明する。なお、第1~第5の変形例のうちの2つ以上の変形例が組み合せられてもよい。
 (1)第1の変形例
 上述したように、例えば、上記複数の機械学習ベースのコントローラ160は、同一形式の状態を強化学習の入力として有し、同一形式の行動を強化学習の出力として有する。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の状態及び行動の形式に相違はない。しかし、第1の実施形態はこの例に限定されない。
 -入力される状態の相違
 第1の実施形態の第1の変形例では、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる1つ以上の他の機械学習ベースのコントローラ160とは異なる形式の状態を強化学習の入力として有してもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の状態の形式に相違があってもよい。
 一例として、上記異なる形式の状態は、異なる量の状態であってもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の状態の量に相違があってもよい。具体的には、例えば、機械学習ベースのコントローラ160Aは、直近の1回の観測により得られた状態(即ち、1つの状態)を強化学習の入力として有してもよく、機械学習ベースのコントローラ160Bは、直近の2回の観測により得られた状態(即ち、同一の種類の2つの状態)を強化学習の入力として有してもよい。
 -出力される行動の相違
 第1の実施形態の第1の変形例では、上記複数の機械学習ベースのコントローラ160の各々は、上記複数の機械学習ベースのコントローラ160に含まれる1つ以上の他の機械学習ベースのコントローラ160とは異なる形式の行動を強化学習の出力として有してもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、強化学習の行動の形式に相違があってもよい。
 一例として、上記異なる形式の行動は、通信ネットワーク10の異なる制御パラメータの変更であってもよい。即ち、上記複数の機械学習ベースのコントローラ160の中で、行動として変更する制御パラメータに相違があってもよい。具体的には、例えば、機械学習ベースのコントローラ160Aは、送信バッファサイズの変更を強化学習の行動として有してもよく、機械学習ベースのコントローラ160Bは、送信バッファサイズ及びスループットの変更を強化学習の行動として有してもよい。
 -機械学習ベースのコントローラ160間の相違点
 第1の実施形態の第1の変形例では、上記複数の機械学習ベースのコントローラ160の各々は、学習条件、強化学習の状態の形式、及び、強化学習の行動の形式のいずれかの点で、他の全ての機械学習ベースのコントローラ160の各々と異なっていてもよい。即ち、上記複数の機械学習ベースのコントローラ160の各々は、学習条件、強化学習の状態の形式、及び、強化学習の行動の形式の組合せの観点から、上記複数の機械学習ベースのコントローラ160の中で固有(unique)であってもよい。
 (2)第2の変形例
 上述したように、機械学習ベースのコントローラ160の選択のために、制御装置100(判定手段120)は、例えば、通信ネットワーク10についての観測情報に基づいて、通信ネットワーク10の状態を判定する。しかし、第1の実施形態に係る判定はこの例に限定されない。
 第1の実施形態の第2の変形例では、制御装置100(判定手段120)は、時間帯ごとの通信ネットワーク10の状態を示す情報(以下、「時間帯状態情報」と呼ぶ)に基づいて、通信ネットワーク10の状態を判定してもよい。
 一例として、上記時間帯状態情報は、12時から13時の時間帯(通信ネットワーク10が混在する時間帯)の輻輳レベルとして、レベルN(最も激しい輻輳を意味するレベル)を示す。ここでは明示しないが、当然ながら、上記時間帯状態情報は、他の時間帯の輻輳レベルも示す。
 例えば、上記時間帯状態情報は、予め定められ、制御装置100に記憶される。上記時間帯状態情報は、手動で予め定められてもよく、統計情報に基づいて自動で予め定められてもよい。
 このような判定により、通信ネットワーク10の観測なしで、通信ネットワーク10の状態を判定することが可能になる。
 (3)第3の変形例
 上述したように、機械学習ベースのコントローラ160の選択のために、通信ネットワーク10の状態に関する状態情報が用いられ、例えば、当該状態情報は、通信ネットワーク10の状態を示す。しかし、第1の実施形態に係る状態情報はこの例に限定されない。
 第1の実施形態の第3の変形例では、上記状態情報は、通信ネットワーク10の状態そのものを示さなくてもよい。例えば、上記状態情報は、通信ネットワーク10の状態そのものを示さないが、通信ネットワーク10の状態に対応する情報であってもよい。
 一例として、上記状態情報は、通信ネットワーク10の輻輳レベルそのものを示さないが、通信ネットワーク10の輻輳レベルに対応するインデックスであってもよい。
 (4)第4の変形例
 上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である(図10を参照)。また、上述したように、例えば、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、変更された制御パラメータを制御装置100において設定する(図10を参照)。しかし、第1の実施形態に係る制御装置100はこの例に限定されない。
 -第1の例
 第1の実施形態の第4の変形例では、第1の例として、図11に示されるように、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器そのものではなく、通信ネットワーク10内でデータを転送するネットワーク機器30を制御する装置(例えば、ネットワークコントローラ)であってもよい。
 制御装置100(観測手段110)は、通信ネットワーク10を自ら観測せず、ネットワーク機器30が、通信ネットワーク10を観測してもよい。制御装置100(観測手段110)は、通信ネットワーク10についての観測情報をネットワーク機器30から取得してもよい。
 図11に示されるように、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、変更された制御パラメータをネットワーク機器30に設定させてもよい。一例として、制御装置100(パラメータ設定手段170)は、制御パラメータの変更を示すパラメータ情報(例えば、制御パラメータの変更を指示するコマンド)をネットワーク機器30へ送信し、ネットワーク機器30は、当該パラメータ情報に基づいて、変更された制御パラメータを設定してもよい。その結果、ネットワーク機器30は、当該変更された制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
 -第2の例
 第2の例として、図12に示されるように、ネットワークコントローラ50が、通信ネットワーク10内でデータを転送するネットワーク機器40を制御し、制御装置100は、ネットワークコントローラ50を制御又は支援(assist)する装置であってもよい。
 制御装置100(観測手段110)は、通信ネットワーク10を自ら観測せず、ネットワーク機器40が、通信ネットワーク10を観測してもよい。制御装置100(観測手段110)は、通信ネットワーク10についての観測情報をネットワーク機器40又はネットワークコントローラ50から取得してもよい。
 図12に示されるように、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、制御パラメータの変更を示す第1のパラメータ情報(例えば、制御パラメータの変更を指示するコマンド、又は、制御パラメータの変更を教える支援情報)をネットワークコントローラ50へ送信してもよい。さらに、ネットワークコントローラ50は、当該第1のパラメータ情報に基づいて、制御パラメータの変更を示す第2のパラメータ情報(例えば、制御パラメータの変更を指示するコマンド)をネットワーク機器40へ送信し、ネットワーク機器40は、当該第2のパラメータ情報に基づいて、変更された制御パラメータを設定してもよい。その結果、ネットワーク機器40は、当該変更された制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
 -第3の例
 第3の例として、図13に示されるように、ネットワークコントローラ70が、通信ネットワーク10内でデータを転送するネットワーク機器60を制御し、制御装置100は、ネットワークコントローラ70を制御する装置であってもよい。
 制御装置100(観測手段110)は、通信ネットワーク10を自ら観測せず、ネットワーク機器60が、通信ネットワーク10を観測してもよい。制御装置100(観測手段110)は、通信ネットワーク10についての観測情報をネットワーク機器60又はネットワークコントローラ70から取得してもよい。
 図13に示されるように、制御装置100(パラメータ設定手段170)は、機械学習ベースのコントローラ160が制御パラメータの変更を選択した場合に、変更された制御パラメータをネットワークコントローラ70に設定させてもよい。一例として、制御装置100(パラメータ設定手段170)は、制御パラメータの変更を示すパラメータ情報(例えば、制御パラメータの変更を指示するコマンド)をネットワークコントローラ70へ送信し、ネットワークコントローラ70は、当該パラメータ情報に基づいて、変更された制御パラメータを設定してもよい。その結果、ネットワークコントローラ70は、当該変更された制御パラメータに従って、ネットワーク機器60を制御してもよく、ネットワーク機器60は、ネットワークコントローラ70による制御に従って、データ(例えば、パケット)を転送してもよい。
 (5)第5の変形例
 上述したように、例えば、制御装置100は、観測手段110、判定手段120、取得手段130、選択手段140、コントローラ設定手段150、複数の機械学習ベースのコントローラ160、パラメータ設定手段170及び通信処理手段180を備える。しかし、第1の実施形態に係る制御装置100はこの例に限定されない。
 第1の実施形態の第5の変形例では、例えば、観測手段110は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、制御装置100は、通信ネットワーク10についての観測情報を当該他の装置から受信してもよい。さらに、例えば、判定手段120も、制御装置100に含まれず、上記他の装置に含まれてもよい。この場合に、制御装置100は、通信ネットワーク10の状態に関する状態情報を上記他の装置から受信してもよい。例えば、第4の変形例のような場合に、観測手段110(及び判定手段120)が、制御装置100に含まれず、他の装置(例えば、ネットワーク機器又はネットワークコントローラ)に含まれてもよい。
 第1の実施形態の第5の変形例では、例えば、コントローラ設定手段150は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、機械学習ベースのコントローラ160の数(例えばN)は、当該他の装置により決定されてもよい。
 第1の実施形態の第5の変形例では、例えば、上記複数の機械学習ベースのコントローラ160は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、制御装置100は、選択した機械学習ベースのコントローラ160を当該他の装置に通知してもよい。パラメータ設定手段170も、制御装置100に含まれず、上記他の装置に含まれてもよい。なお、機械学習ベースのコントローラ160が制御装置100に含まれない場合には、第4の変形例における説明において、「制御装置100」は、「機械学習ベースのコントローラ160を含む装置」に置き換えられてもよい。
 第1の実施形態の第5の変形例では、例えば、パラメータ設定手段170は、複数の機械学習ベースのコントローラ160の各々に含まれていてもよい。即ち、複数の機械学習ベースのコントローラ160の各々は、上述したパラメータ設定手段170の動作を行ってもよい。
 第1の実施形態の第5の変形例では、例えば、データ(例えば、パケット)を転送する通信処理手段180は、制御装置100に含まれず、他の装置に含まれてもよい。例えば、第4の変形例のような場合に、通信処理手段180が、制御装置100に含まれず、ネットワーク機器に含まれてもよい。
 <<3.第2の実施形態>>
 続いて、図14及び図15を参照して、本開示の第2の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第2の実施形態は、より一般化された実施形態である。
 図14は、第2の実施形態に係るシステム2の概略的な構成の一例を示す。図14を参照すると、システム2は、取得手段400及び選択手段500を含む。
 図15は、第2の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。
 取得手段400は、通信ネットワークの状態に関する状態情報を取得する(S610)。
 選択手段500は、上記状態情報に基づいて、上記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する(S620)。
 上記通信ネットワーク、上記通信ネットワークの上記状態、上記状態情報、及び、上記複数の機械学習ベースのコントローラについての説明は、例えば、第1の実施形態におけるこれらについての説明と同じである。また、機械学習ベースのコントローラの選択についての説明も、例えば、第1の実施形態における説明と同じである。よって、ここでは重複する説明を省略する。なお、当然ながら、第2の実施形態は、第1の実施形態の例に限定されない。
 以上のように、機械学習ベースのコントローラが選択される。これにより、通信ネットワークにおいて通信環境に適した通信制御を行うことがより容易になる。
 以上、本開示の実施形態を説明したが、本開示はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本開示のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
 例えば、本明細書に記載されている処理におけるステップは、必ずしもフローチャートに記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、フローチャートとして記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
 また、本明細書において説明したシステム又は制御装置の構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable recording medium)が提供されてもよい。当然ながら、このような方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本開示に含まれる。
 上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
 通信ネットワークの状態に関する状態情報を取得する取得手段と、
 前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
を含むシステム。
(付記2)
 前記状態情報は、前記通信ネットワークの前記状態を示す、付記1に記載のシステム。
(付記3)
 前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記1又は2に記載のシステム。
(付記4)
 前記通信ネットワークの前記輻輳状態は、前記通信ネットワークの輻輳レベルである、付記3に記載のシステム。
(付記5)
 前記通信ネットワークの前記状態を判定する判定手段をさらに含む、付記1~4のいずれか1項に記載のシステム。
(付記6)
 前記判定手段は、前記通信ネットワークについての観測情報に基づいて、前記通信ネットワークの前記状態を判定する、付記5に記載のシステム。
(付記7)
 前記観測情報は、前記通信ネットワークにおけるスループット、又は、前記通信ネットワークにおけるパケットロス率を示す、付記6に記載のシステム。
(付記8)
 前記判定手段は、時間帯ごとの前記通信ネットワークの状態を示す情報に基づいて、前記通信ネットワークの前記状態を判定する、付記5に記載のシステム。
(付記9)
 前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、付記1~8のいずれか1項に記載のシステム。
(付記10)
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる学習条件を有する、付記1~9のいずれか1項に記載のシステム。
(付記11)
 前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
 前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
付記9又は10に記載のシステム。
(付記12)
 前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の状態を強化学習の入力として有する、
付記1~11のいずれか1項に記載のシステム。
(付記13)
 前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の行動を強化学習の出力として有する、
付記1~12のいずれか1項に記載のシステム。
(付記14)
 前記1つ以上の他の機械学習ベースのコントローラは、前記複数の機械学習ベースのコントローラに含まれる他の全ての機械学習ベースのコントローラである、付記10~13のいずれか1項に記載のシステム。
(付記15)
 前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定するコントローラ設定手段をさらに含む、付記1~14のいずれか1項に記載のシステム。
(付記16)
 通信ネットワークの状態に関する状態情報を取得することと、
 前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
を含む方法。
(付記17)
 前記状態情報は、前記通信ネットワークの前記状態を示す、付記16に記載の方法。
(付記18)
 前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記16又は17に記載の方法。
(付記19)
 前記通信ネットワークの前記輻輳状態は、前記通信ネットワークの輻輳レベルである、付記18に記載の方法。
(付記20)
 前記通信ネットワークの前記状態を判定することをさらに含む、付記16~19のいずれか1項に記載の方法。
(付記21)
 前記通信ネットワークについての観測情報に基づいて前記通信ネットワークの前記状態を判定することをさらに含む、付記16~20のいずれか1項に記載の方法。
(付記22)
 前記観測情報は、前記通信ネットワークにおけるスループット、又は、前記通信ネットワークにおけるパケットロス率を示す、付記21に記載の方法。
(付記23)
 時間帯ごとの前記通信ネットワークの状態を示す情報に基づいて前記通信ネットワークの前記状態を判定することをさらに含む、付記16~20のいずれか1項に記載の方法。
(付記24)
 前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、付記16~23のいずれか1項に記載の方法。
(付記25)
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる学習条件を有する、付記16~24のいずれか1項に記載の方法。
(付記26)
 前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
 前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
付記24又は25に記載の方法。
(付記27)
 前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の状態を強化学習の入力として有する、
付記16~26のいずれか1項に記載の方法。
(付記28)
 前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の行動を強化学習の出力として有する、
付記16~27のいずれか1項に記載の方法。
(付記29)
 前記1つ以上の他の機械学習ベースのコントローラは、前記複数の機械学習ベースのコントローラに含まれる他の全ての機械学習ベースのコントローラである、付記25~28のいずれか1項に記載の方法。
(付記30)
 前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定することをさらに含む、付記16~29のいずれか1項に記載の方法。
(付記31)
 通信ネットワークの状態に関する状態情報を取得する取得手段と、
 前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
を備える制御装置。
(付記32)
 前記状態情報は、前記通信ネットワークの前記状態を示す、付記31に記載の制御装置。
(付記33)
 前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記31又は32に記載の制御装置。
(付記34)
 前記通信ネットワークの前記輻輳状態は、前記通信ネットワークの輻輳レベルである、付記33に記載の制御装置。
(付記35)
 前記通信ネットワークの前記状態を判定する判定手段をさらに備える、付記31~34のいずれか1項に記載の制御装置。
(付記36)
 前記判定手段は、前記通信ネットワークについての観測情報に基づいて、前記通信ネットワークの前記状態を判定する、付記35に記載の制御装置。
(付記37)
 前記観測情報は、前記通信ネットワークにおけるスループット、又は、前記通信ネットワークにおけるパケットロス率を示す、付記36に記載の制御装置。
(付記38)
 前記判定手段は、時間帯ごとの前記通信ネットワークの状態を示す情報に基づいて、前記通信ネットワークの前記状態を判定する、付記35に記載の制御装置。
(付記39)
 前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、付記31~38のいずれか1項に記載の制御装置。
(付記40)
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる学習条件を有する、付記31~39のいずれか1項に記載の制御装置。
(付記41)
 前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
 前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
付記39又は40に記載の制御装置。
(付記42)
 前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の状態を強化学習の入力として有する、
付記31~41のいずれか1項に記載の制御装置。
(付記43)
 前記複数の機械学習ベースのコントローラの各々は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記複数の機械学習ベースのコントローラの各々は、前記複数の機械学習ベースのコントローラに含まれる1つ以上の他の機械学習ベースのコントローラとは異なる形式の行動を強化学習の出力として有する、
付記31~42のいずれか1項に記載の制御装置。
(付記44)
 前記1つ以上の他の機械学習ベースのコントローラは、前記複数の機械学習ベースのコントローラに含まれる他の全ての機械学習ベースのコントローラである、付記40~43のいずれか1項に記載の制御装置。
(付記45)
 前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定するコントローラ設定手段をさらに備える、付記31~44のいずれか1項に記載の制御装置。
(付記46)
 通信ネットワークの状態に関する状態情報を取得することと、
 前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
をプロセッサに実行させるプログラム。
(付記47)
 通信ネットワークの状態に関する状態情報を取得することと、
 前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
 1、2     システム
 10      通信ネットワーク
 100     制御装置
 120     判定手段
 130、400 取得手段
 140、500 選択手段
 150     コントローラ設定手段150
 160     機械学習ベースのコントローラ
 

 

Claims (18)

  1.  通信ネットワークの状態に関する状態情報を取得する取得手段と、
     前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
    を含むシステム。
  2.  前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項1に記載のシステム。
  3.  前記通信ネットワークの前記状態を判定する判定手段をさらに含む、請求項1又は2に記載のシステム。
  4.  前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、請求項1~3のいずれか1項に記載のシステム。
  5.  前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
     前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
    請求項4に記載のシステム。
  6.  前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定するコントローラ設定手段をさらに含む、請求項1~5のいずれか1項に記載のシステム。
  7.  通信ネットワークの状態に関する状態情報を取得することと、
     前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択することと、
    を含む方法。
  8.  前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項7に記載の方法。
  9.  前記通信ネットワークの前記状態を判定することをさらに含む、請求項7又は8に記載の方法。
  10.  前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、請求項7~9のいずれか1項に記載の方法。
  11.  前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
     前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
    請求項10に記載の方法。
  12.  前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定することをさらに含む、請求項7~11のいずれか1項に記載の方法。
  13.  通信ネットワークの状態に関する状態情報を取得する取得手段と、
     前記状態情報に基づいて、前記通信ネットワークにおける通信を制御するための複数の機械学習ベースのコントローラのうちの1つを選択する選択手段と、
    を備える制御装置。
  14.  前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項13に記載の制御装置。
  15.  前記通信ネットワークの前記状態を判定する判定手段をさらに備える、請求項13又は14に記載の制御装置。
  16.  前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラは、当該機械学習ベースのコントローラに対応する前記通信ネットワークの状態に応じた学習条件を有する、請求項13~15のいずれか1項に記載の制御装置。
  17.  前記複数の機械学習ベースのコントローラの各々は、強化学習ベースのコントローラであり、
     前記学習条件は、強化学習における探索の確率の下限、強化学習におけるパラメータの変更量、及び、強化学習におけるニューラルネットワークの構成のうちの、少なくとも1つを含む、
    請求項16に記載の制御装置。
  18.  前記複数の機械学習ベースのコントローラに含まれる機械学習ベースのコントローラの数を決定するコントローラ設定手段をさらに備える、請求項13~17のいずれか1項に記載の制御装置。
     

     
PCT/JP2019/038458 2019-09-30 2019-09-30 システム、方法及び制御装置 WO2021064770A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/642,719 US20220329494A1 (en) 2019-09-30 2019-09-30 System, method, and control apparatus
JP2021550735A JP7188609B2 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置
PCT/JP2019/038458 WO2021064770A1 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/038458 WO2021064770A1 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置

Publications (1)

Publication Number Publication Date
WO2021064770A1 true WO2021064770A1 (ja) 2021-04-08

Family

ID=75337019

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/038458 WO2021064770A1 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置

Country Status (3)

Country Link
US (1) US20220329494A1 (ja)
JP (1) JP7188609B2 (ja)
WO (1) WO2021064770A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910789A (zh) * 2019-12-03 2021-06-04 华为技术有限公司 拥塞控制方法以及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539760A (ja) * 2007-09-14 2010-12-16 エヌイーシー ヨーロッパ リミテッド ネットワークパフォーマンスを最適化する方法およびシステム
JP2018142199A (ja) * 2017-02-28 2018-09-13 株式会社日立製作所 学習システムおよび学習方法
JP2019029856A (ja) * 2017-07-31 2019-02-21 ファナック株式会社 無線中継器選択装置及び機械学習装置
JP2019526107A (ja) * 2016-06-21 2019-09-12 エスアールアイ インターナショナルSRI International 信用されるモデルを使用する機械学習のためのシステムおよび方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5772345B2 (ja) * 2011-07-25 2015-09-02 富士通株式会社 パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法
US11360757B1 (en) * 2019-06-21 2022-06-14 Amazon Technologies, Inc. Request distribution and oversight for robotic devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010539760A (ja) * 2007-09-14 2010-12-16 エヌイーシー ヨーロッパ リミテッド ネットワークパフォーマンスを最適化する方法およびシステム
JP2019526107A (ja) * 2016-06-21 2019-09-12 エスアールアイ インターナショナルSRI International 信用されるモデルを使用する機械学習のためのシステムおよび方法
JP2018142199A (ja) * 2017-02-28 2018-09-13 株式会社日立製作所 学習システムおよび学習方法
JP2019029856A (ja) * 2017-07-31 2019-02-21 ファナック株式会社 無線中継器選択装置及び機械学習装置

Also Published As

Publication number Publication date
US20220329494A1 (en) 2022-10-13
JP7188609B2 (ja) 2022-12-13
JPWO2021064770A1 (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
JP7009560B2 (ja) プロセス制御システムに冗長性を提供するための方法および装置
JP6958440B2 (ja) 情報処理装置、情報処理システム及びプログラム
US10505818B1 (en) Methods for analyzing and load balancing based on server health and devices thereof
US20170063731A1 (en) Determining state of virtual router instance
US20150071091A1 (en) Apparatus And Method For Monitoring Network Performance
WO2021064770A1 (ja) システム、方法及び制御装置
WO2021064771A1 (ja) システム、方法及び制御装置
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
WO2021064769A1 (ja) システム、方法及び制御装置
JP7251646B2 (ja) 制御装置、方法及びシステム
JP7259978B2 (ja) 制御装置、方法及びシステム
US11075840B1 (en) Disaggregation of network traffic
JP5331549B2 (ja) 分散処理システム及び分散処理方法
JP5876425B2 (ja) 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム
JP2013197656A (ja) 制御系システムおよびその制御系システムに用いられる代理スレーブ、代理マスタ、ならびに、制御方法
JP7268741B2 (ja) 通信システム、通信方法及び通信プログラム
JP2018077594A (ja) 仮想マシン管理装置、システム、仮想マシン移動方法及びプログラム
JP2010244469A (ja) 分散処理システム及び分散処理方法
Cao Using reinforcement learning for agent-based network fault diagnosis system
US9882796B2 (en) Apparatus and method for suppressing a delay in monitoring communication
CN104780063A (zh) 节点设备登录方法及装置
JP2018160773A (ja) 監視装置および監視プログラム
JP5476415B2 (ja) ネットワーク障害監視装置およびネットワーク障害監視方法
Moravejosharieh et al. Load-balancing In Software-Defined Networking: An Investigation On Influential System Parameters
Loganathan et al. Performance Measurement of Distributed Storage on Edge Devices

Legal Events

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

Ref document number: 19947875

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021550735

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19947875

Country of ref document: EP

Kind code of ref document: A1