WO2021053966A1 - 情報処理装置、パケット生成方法、システム、及びプログラム - Google Patents

情報処理装置、パケット生成方法、システム、及びプログラム Download PDF

Info

Publication number
WO2021053966A1
WO2021053966A1 PCT/JP2020/028191 JP2020028191W WO2021053966A1 WO 2021053966 A1 WO2021053966 A1 WO 2021053966A1 JP 2020028191 W JP2020028191 W JP 2020028191W WO 2021053966 A1 WO2021053966 A1 WO 2021053966A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
network
information processing
unit
traffic
Prior art date
Application number
PCT/JP2020/028191
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/640,570 priority Critical patent/US20220345396A1/en
Priority to JP2021546532A priority patent/JP7363907B2/ja
Publication of WO2021053966A1 publication Critical patent/WO2021053966A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Definitions

  • the present invention relates to an information processing device, a packet generation method, a system, and a program.
  • LTE Long Term Evolution
  • EPC Evolved Packet Core
  • 3GPP Third Generation Partnership Project
  • a telecommunications carrier usually constructs and manages a base station, core network, etc., and provides a wireless connection to a user. That is, a mobile communication operator called MNO (Mobile Network Operator) has constructed a communication network and provides communication services. Further, in recent years, communication services have been widely provided by MVNOs (Mobile Virtual Network Operators) that rent communication networks from MNOs.
  • MNO Mobile Network Operator
  • wireless communication networks regardless of the above MNOs and MNVOs. That is, the construction of a wireless communication network called a private LTE is underway.
  • private LTE is expected for applications such as installing a camera in a factory or the like to monitor the state inside the factory or attaching a sensor to a machine tool, a construction machine or the like for control.
  • Patent Document 1 describes that when estimating the state of an application from communication traffic, erroneous estimation is suppressed and estimation accuracy is improved.
  • IoT devices connected to the wireless network.
  • devices such as cameras, sensors and robots can be connected to the wireless network.
  • the traffic sent from each IoT device to the network will be different if the installation environment is different.
  • Businesses that utilize IoT devices need to determine the optimal network configuration while considering the traffic that differs for each IoT device. That is, unless the traffic generated by the IoT device is predicted in advance and a network system capable of responding to the predicted traffic is not configured, the network performance expected by the operator cannot be secured and the business will be hindered. Become. Alternatively, if a network system that can cope with the expected traffic with a sufficient margin is constructed, it will lead to an increase in cost and the like.
  • a main object of the present invention is to provide an information processing device, a packet generation method, a system, and a program that contribute to easily discovering a network configuration according to the characteristics of a connected terminal.
  • the traffic pattern generation model is based on the model generation unit that generates the traffic pattern generation model based on the learning of the traffic pattern of the terminal and the virtual traffic in the traffic pattern generation model.
  • An information processing device is provided that includes a specific unit that identifies the traffic related to the output of the device.
  • the traffic pattern is generated based on the step of generating the traffic pattern generation model based on the learning of the traffic pattern of the terminal and the virtual traffic in the traffic pattern generation model.
  • a packet generation method is provided that includes steps to identify traffic on the output of the generative model.
  • the traffic pattern generation model is based on the model generation means for generating the traffic pattern generation model based on the learning of the traffic pattern of the terminal and the virtual traffic in the traffic pattern generation model.
  • a system is provided that includes identification means, and identification of the traffic associated with the output of the.
  • a process of generating a traffic pattern generation model that reproduces the traffic pattern by learning the traffic pattern of the terminal from a computer mounted on the information processing device, and a process on the network.
  • a program for executing a process of generating a virtual packet for simulating a packet transfer of a packet transmitted by the terminal based on the traffic pattern generation model is provided.
  • an information processing device a packet generation method, a system, and a program that contribute to easily discovering a network configuration according to the characteristics of a connected terminal are provided.
  • other effects may be produced in place of or in combination with the effect.
  • FIG. 1 is a diagram for explaining an outline of one embodiment.
  • FIG. 2 is a flowchart showing an example of the operation of the information processing apparatus according to the embodiment.
  • FIG. 3 is a diagram for explaining the operation of the information processing apparatus according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a processing configuration of the information processing apparatus according to the first embodiment.
  • FIG. 5A is a diagram showing an example of learning target information stored in the storage unit of the information processing apparatus.
  • FIG. 5B is a diagram showing an example of learning target information stored in the storage unit of the information processing device.
  • FIG. 5C is a diagram showing an example of learning target information stored in the storage unit of the information processing device.
  • FIG. 6A is a diagram showing an example of a traffic pattern.
  • FIG. 6B is a diagram showing an example of a traffic pattern.
  • FIG. 7 is information showing an example of traffic pattern generation model management information.
  • FIG. 8 is a diagram showing an example of a network configuration handled by the information processing apparatus.
  • FIG. 9 is a diagram showing an example of a GUI (Graphical User Interface) displayed by the information processing apparatus.
  • FIG. 10 is a diagram showing an example of a tree structure for managing a network configuration.
  • FIG. 11 is a diagram showing an example of a GUI displayed by the information processing apparatus.
  • FIG. 12 is a diagram showing an example of detailed network node information.
  • FIG. 13 is a diagram for explaining the allocation of the simulated portion to the tree structure.
  • FIG. 14 is a diagram showing an example of the internal configuration of the transmission unit according to the first embodiment.
  • FIG. 14 is a diagram showing an example of the internal configuration of the transmission unit according to the first embodiment.
  • FIG. 15 is a flowchart showing an example of the operation of the information processing apparatus according to the first embodiment in the learning mode.
  • FIG. 16 is a flowchart showing an example of the operation of the information processing apparatus according to the first embodiment in the simulation mode.
  • FIG. 17 is a diagram showing an example of a processing configuration of the information processing apparatus according to the second embodiment.
  • FIG. 18 is a diagram for explaining the arrangement of the link simulation unit of the information processing apparatus according to the second embodiment.
  • FIG. 19 is a diagram showing an example of a processing configuration of the information processing apparatus according to the third embodiment.
  • FIG. 20 is a diagram showing an example of a GUI displayed by the information processing apparatus according to the third embodiment.
  • FIG. 21 is a diagram for explaining the operation of the information processing apparatus according to the third embodiment.
  • FIG. 22A is a diagram for explaining the operation of the information processing apparatus according to the third embodiment.
  • FIG. 22B is a diagram for explaining the operation of the information processing apparatus according to the third embodiment.
  • FIG. 23 is a flowchart showing an example of the operation of the information processing apparatus according to the third embodiment.
  • FIG. 24 is a diagram for explaining the operation of the system according to the fourth embodiment.
  • FIG. 25 is a diagram for explaining the operation of the system according to the fifth embodiment.
  • FIG. 26 is a diagram showing an example of the hardware configuration of the information processing device.
  • the information processing device 100 includes a model generation unit 101 and a specific unit 102 (see FIG. 1).
  • the model generation unit 101 generates a traffic pattern generation model based on the learning of the traffic pattern of the terminal (step S01 in FIG. 2).
  • the identification unit 102 identifies the traffic related to the output of the traffic pattern generation model based on the virtual traffic in the traffic pattern generation model (step S02 in FIG. 2).
  • the model generation unit 101 and the specific unit 120 are shown as different modules in FIG. 1, the functions of these modules may be realized by the same module (processing means).
  • the information processing device 100 learns the traffic pattern of a terminal in various situations and environments in which the terminal is assumed to be used. By the learning, a traffic pattern generation model is generated according to the characteristics of the terminal (device) connected to the network.
  • the information processing device 10 can verify the performance of the target network by simulating packet transfer on the network using the traffic pattern generation model. That is, the traffic pattern generation model generated by the information processing device 100 generates virtual traffic, which is a set of virtual packets.
  • the virtual traffic reproduces the characteristics of the traffic output by the terminal that is the source of learning. Therefore, by using the traffic pattern generation model for network simulation, it is possible to identify the traffic that will occur when the terminal is incorporated into the network.
  • the administrator or the like can easily find a network according to the characteristics of the connected terminals by appropriately changing the configuration of the network, the number of connected terminals, and the like and simulating them.
  • FIG. 3 is a diagram for explaining the operation of the information processing device 10 according to the first embodiment.
  • the information processing device 10 operates in two operation modes.
  • the first operation mode is a mode in which packets sent and received between the IoT device 20 and the server 30 on the network are observed, and the pattern (traffic pattern) is learned from the traffic between the IoT device 20 and the server 30. ..
  • the traffic pattern obtained from the traffic flowing through the network includes waveforms such as throughput, packet size, and packet transmission interval.
  • the traffic pattern obtained from the traffic flowing through the network is described as a waveform related to throughput.
  • the information processing device 10 acquires a packet (packet transmitted by uplink) transmitted from the IoT device 20 installed at a site (real environment) such as a factory to a server 30 on the network.
  • the information processing device 10 captures a frame (wireless signal) transmitted from the device.
  • the information processing device 10 acquires packets flowing through the network from the mirror port of the relay device.
  • a frame or packet transmitted from the IoT device 20 will be referred to as a “packet”.
  • the information processing device 10 generates a model that reproduces the traffic pattern sent from the IoT device to the network based on the captured packet. Specifically, the information processing apparatus 10 models a traffic pattern by a hidden Markov model having a hierarchical structure, and generates a “traffic pattern generation model”.
  • the traffic pattern generation model modeled by the hidden Markov model is a probabilistic state transition model in which state changes (for example, packet transmission to packet transmission stop) are stochastically described.
  • the information processing device 10 learns the traffic patterns sent to the network from a large number of IoT devices 20 installed in various environments (different places, different time zones) with respect to various IoT devices 20 used in the real environment. ..
  • the traffic pattern generation model corresponding to the IoT device 20 to be learned is associated with the “label”. The details of the traffic pattern generation model and the label for managing the model will be described later.
  • the packets transmitted and received between the IoT device 20 and the server 30 are usually more packets transmitted in the upstream direction than packets transmitted in the downlink direction (downlink). Therefore, in the first embodiment, since the influence on the network configuration is large, the packet in the upstream direction is targeted for learning.
  • the IoT device 20 assumes a camera or sensor installed in a factory or the like, and depending on the application or environment of the IoT device 20, downlink packets may be targeted for learning. is there. Alternatively, the uplink packet and the downlink packet may be targeted for learning.
  • the second operation mode is a mode that simulates packet transfer in a network where the IoT device 20 is expected to be used by using the traffic pattern generation model generated in the learning mode. Specifically, the information processing device 10 receives an input of a network configuration to be verified from an operator or the like.
  • the operator may perform information (type, number, etc.) regarding the number of devices (for example, IoT gateway, edge router (hereinafter, simply referred to as a router)) constituting the network system, connections between the devices, and the IoT device 20 used. ) Is input to the information processing device 10.
  • the configuration of the network system including three IoT devices, two IoT gateways (GW; Gate Way), and one router (RT; Router) is input to the information processing device 10.
  • the information processing device 10 virtually creates a packet generated by the IoT device in the acquired network system using the traffic pattern generation model generated in the learning mode. That is, the information processing device 10 virtually creates a packet to be transmitted by the IoT device 20 placed in the real environment, and inputs the virtually created packet to the network device (IoT gateway in the example of FIG. 3). ..
  • the information processing device 10 transfers the received virtual packet from the network device that has received the virtually created packet (hereinafter referred to as a virtual packet) to the subsequent network device (router in the example of FIG. 3).
  • the information processing device 10 also transfers the received packet to the network device (router) in the subsequent stage.
  • the information processing device 10 treats the packet generated from the network device at the final stage (virtual packet transferred on the network system) as a packet transmitted from the network system, and outputs the packet to the external device.
  • the information processing device 10 may output the generated packet to a display device (not shown in FIG. 3).
  • the display device displays, for example, a moving image expressing a state in which a packet acquired from the information processing device 10 is output from the network.
  • the information processing device 10 or the display device may analyze the packet output from the network, and the display device may display the analysis result.
  • the display device may display statistical information indicating network performance and status such as throughput, packet arrival interval, and average packet size.
  • the display device may display a graph or the like showing the time transition of the statistical information.
  • the information processing device 10 may output the generated packet to the actual network.
  • the information processing apparatus 10 may transmit the generated packet as a "real packet" to the network to which the router included in the network configuration input by the operator is connected.
  • the operator may explicitly switch the operation mode (learning mode, simulation mode) of the information processing device 10.
  • the information processing device 10 described in the first embodiment may be realized by separating the function of the learning mode and the function of the simulation mode by two information processing devices (computers).
  • the two computers may exchange necessary information (for example, a traffic pattern generation model).
  • FIG. 4 is a diagram showing an example of a processing configuration (processing module) of the information processing apparatus 10 according to the first embodiment.
  • the information processing apparatus 10 includes a learning unit 201, a packet generation unit 202, a display unit 203, an output unit 204, and a storage unit 205.
  • the learning unit 201 is a processing module that operates in the above-mentioned learning mode.
  • the learning unit 201 includes a learning target input unit 211, a packet acquisition unit 212, and a model generation unit 213.
  • the learning target input unit 211 is a means for receiving input of information regarding the IoT device 20 to be learned.
  • the information about the IoT device 20 to be learned includes information about the type of the IoT device 20 to be learned, information for identifying the IoT device 20, and information indicating the operating environment of the IoT device 20.
  • Information on the type of IoT device 20 to be learned is, for example, the product name, model name, etc. of the IoT device 20.
  • the information that identifies the IoT device to be learned is, for example, information such as an IP (Internet Protocol) address and a MAC (Media Access Control) address.
  • the traffic pattern sent to the network differs.
  • the IoT device 20 is a camera
  • the compressed image is transmitted from the camera to the server 30, so that the traffic pattern differs depending on the situation in which the IoT device 20 is installed.
  • the environment and the situation (so-called context) in which the IoT device 20 is placed are identified by the information indicating the operating environment of the IoT device 20.
  • information indicating the operating environment of the IoT device 20 For example, information for identifying the location where the IoT device 20 is installed and the time zone (day, night, etc.) in which the IoT device 20 operates are exemplified as information indicating the operating environment of the IoT device 20.
  • the learning target input unit 211 inputs at least the above three pieces of information as information regarding the IoT device 20 to be learned.
  • the learning target input unit 211 may acquire the above information from an external storage device such as a USB (Universal Serial Bus) memory in which the above information is stored.
  • the learning target input unit 211 may access a database server or the like on the network to acquire the above information.
  • the learning target input unit 211 may generate information on a GUI (Graphical User Interface) for the operator to input the above information and display it on a liquid crystal monitor or the like via the display unit 203.
  • the learning target input unit 211 may communicate with the IoT device 20 to acquire an identifier (IP address or the like) thereof, and may acquire information indicating the type and operating environment of the IoT device 20 from the operator.
  • IP address IP address or the like
  • the learning target input unit 211 stores the above three pieces of information (type, identifier, and operating environment of the IoT device 20) in the storage unit 205 as "learning target information" (see FIGS. 5A to 5C). For example, when the IoT device 20 of Camera 1 whose IP address is "IP01" installed in the place A is targeted for learning, the information shown in FIG. 5A is input to the information processing device 10 and stored in the storage unit 205. ..
  • the information shown in FIG. 5B is input to the information processing device 10 and stored in the storage unit 205.
  • the information shown in FIG. 5C is input to the information processing device 10 and stored in the storage unit 205.
  • the time zone in which the IoT device 20 operates is described as "daytime” in FIG. 5C, a specific time zone is actually specified.
  • 5A to 5C show an example in which either the "location” or the "time zone” is described as the information regarding the "operating environment", but other elements (for example, outside air temperature). May be used. Alternatively, a combination of a plurality of elements (for example, daytime at location A) may be specified as the operating environment.
  • FIGS. 5A and 5B show that the IoT device 20 of Camera1 is installed at a place A or a place B to learn a traffic pattern, but the same model Camera1 is also installed at a place C and the traffic pattern is generated. It is desirable to be learned.
  • the learning target information as shown in FIGS. 5A to 5C may be input individually or a plurality of pieces of information may be input together.
  • the packet acquisition unit 212 acquires a packet (frame) transmitted from the IoT device 20.
  • the packet acquisition unit 212 delivers the acquired packet to the model generation unit 213.
  • the model generation unit 213 is a means for generating a traffic pattern generation model that reproduces the traffic pattern by learning the traffic pattern of the terminal (IoT device 20). That is, the model generation unit 213 generates a traffic pattern generation model that models the traffic pattern by the IoT device 20 to be learned.
  • the model generation unit 213 refers to the learning target information stored in the storage unit 205 and acquires the identifier of the IoT device 20 to be learned.
  • the model generation unit 213 refers to the header of the packet acquired from the packet acquisition unit 212, and extracts the packet transmitted by the IoT device 20 to be learned.
  • the model generation unit 213 extracts a packet having the IP address described in the learning target information as the source IP address from the acquired packets.
  • the model generation unit 213 generates a traffic pattern from the time series data of the extracted packets. Specifically, the model generation unit 213 sets the reception time of the extracted packet on the horizontal axis and the packet size on the vertical axis, and generates a traffic pattern (time series of traffic) (see FIGS. 6A and 6B).
  • the model generation unit 213 divides the traffic flowing through the network by 5 tuples (source / destination IP address, source / destination port number, protocol), and extracts the traffic pattern for each traffic flow.
  • the traffic flow is composed of a group of packets having the same information (source IP address and port number, destination IP address and port number) in the header.
  • the model generation unit 213 models the extracted traffic pattern with a hidden Markov model having a hierarchical structure, and generates a "trachic pattern generation model".
  • Patent Document 1 describes a method of applying a hidden Markov model having the above-mentioned hierarchical structure to a traffic pattern acquired from a network and modeling the pattern. Therefore, in the disclosure of the present application, although detailed description regarding the generation of the traffic pattern generation model is omitted, the above model is generated as follows.
  • the model generation unit 213 estimates the sequence of states based on the hierarchical hidden Markov model for the time series data (traffic pattern) of communication traffic. After that, the model generation unit 213 treats similar patterns from the sequence of the states as one state (grouped into one group). Then, the model generation unit 213 extracts a sequence of states (that is, a traffic pattern generation model).
  • the model generation unit 213 generates a traffic pattern generation model that reproduces the traffic pattern shown in FIG. 6A and a traffic pattern generation model that reproduces the traffic pattern shown in FIG. 6B, respectively.
  • a random number arbitrary seed value
  • a feature amount packet size
  • a traffic pattern generation model is generated in which the probability that a packet is output is low, but when a packet is output, a large packet is generated.
  • a traffic pattern generation model that generates a packet having a high probability of being output but having a small size is generated.
  • the model generation unit 213 associates the generated traffic pattern generation model with the "type” and “operating environment” included in the learning target information referred to when the model is generated, and "traffic pattern generation model management information". To generate.
  • the model generation unit 213 manages a set of the above three pieces of information (traffic pattern generation model, type, and operating environment) as a "label", and stores the above information to which the label is assigned in the storage unit 205 (see FIG. 7). ).
  • the traffic pattern generation model generated by the learning unit 201 has a reversible property. That is, when the traffic pattern generation model obtained by learning the traffic pattern is called by the label that specifies the model, the feature amount (packet size) is stochastically reproduced so as to reproduce the traffic pattern that is the basis of the learning. Output to.
  • the packet generation unit 202 is a processing module that operates in the above-mentioned simulation mode.
  • the packet generation unit 202 includes a network information input unit 221, a simulation execution unit 222, a transmission source simulation unit 223, and a transfer node simulation unit 224.
  • the network information input unit 221 is a means for receiving input regarding the configuration of the network to be simulated and information about each node included in the network.
  • the network information input unit 221 inputs information about the network shown in FIG. 8, for example.
  • the network information input unit 221 may acquire information defining the network configuration from an external storage device such as a USB memory.
  • the network information input unit 221 may acquire the above information or the like from an external database server or the like.
  • the network information input unit 221 may generate information on a GUI (Graphical User Interface) for the worker to input the network configuration, and display the information on a liquid crystal monitor or the like via the display unit 203. ..
  • GUI Graphic User Interface
  • the network information input unit 221 may generate information about the GUI as shown in FIG.
  • the network information input unit 221 manages the acquired network configuration by a layered data structure.
  • the network information input unit 221 manages the network configuration acquired by the tree structure.
  • the network configuration is managed by the tree structure as shown in FIG.
  • the router 23, which is the exit of the network is managed as a root node (a node having no parent node).
  • the terminal IoT device 21 is managed as a leaf node (a node having no child nodes).
  • the gateway 22 located in the middle of the network is managed as an internal node (a node having a parent node and a child node).
  • the data structure that manages the network configuration is not limited to the tree structure.
  • the network configuration may be managed by another data structure, for example, a data structure using a list.
  • the network information input unit 221 inputs information about each communication device (tree-structured node) constituting the network. Specifically, regarding the IoT device 21 which is the transmission source of the packet, the network information input unit 221 inputs the type and operating environment of each IoT device 21.
  • the network information input unit 221 may input the type and operating environment of the IoT device 21 using an external storage device such as a USB memory, or may generate GUI information for inputting the above information. For example, the network information input unit 221 generates GUI information as shown in FIG. 11 and displays it on a liquid crystal monitor or the like via the display unit 203. The operator inputs the type (model name, product name, etc.) and operating environment (location, time zone, etc.) of each IoT device 20 included in the network.
  • the network information input unit 221 inputs the spec information of each forwarding node. More specifically, the network information input unit 221 inputs information on the specifications and capabilities of the transfer node regarding packet transfer.
  • the network information input unit 221 For example, information in which the product name of the transfer node and the specification information of the transfer node are associated with each other is stored in advance in the storage unit 205. Then, the network information input unit 221 generates GUI information that allows the product name to be selected for each transfer node constituting the network, and displays it on the liquid crystal monitor or the like via the display unit 203. In this way, the network information input unit 221 may refer to the information stored in the storage unit 205 and acquire the spec information corresponding to the product input from the operator.
  • the spec information includes information such as the number of buffers provided in the transfer node, the capacity of the buffer, and the cycle for reading the packets stored in the buffer. This information defines the performance of the forwarding node (packet forwarding capability).
  • the information about each node included in the network acquired by the network information input unit 221 is stored in the storage unit 205 as "network node detailed information" (see FIG. 12).
  • the specifications of the transfer node are described in the setting file (profile). Further, in the example of FIG. 12, since the profiles of the two gateways 22-1 and 22-2 are the same, it can be seen that the two gateways have the same packet transfer capability.
  • the simulation execution unit 222 is a means for simulating packet transfer on the input network by using the information acquired by the network information input unit 221.
  • the simulation execution unit 222 allocates the source simulation unit 223 to the leaf node and the transfer node simulation unit 224 to the internal node and the root node in the network managed by the tree structure.
  • the simulation execution unit 222 allocates the source simulation unit 223 to the leaf node and the transfer node simulation unit 224 to the internal node and the root node in the network managed by the tree structure.
  • a transmission source simulation unit 223 and a transfer node simulation unit 224 are assigned to each node of the tree structure representing the network.
  • the transmission source simulation unit 223 connected to the transfer node simulation unit 224-2 is not shown.
  • the simulation execution unit 222 inputs a label and a random number (seed value) corresponding to the transmission source to be simulated to the transmission source simulation unit 223.
  • the simulation execution unit 222 refers to the network node detailed information and the traffic pattern generation model management information stored in the storage unit 205, and selects a label to be input to the transmission source simulation unit 223.
  • the transmission source simulation unit 223-1 simulates the IoT device 21-1.
  • the IoT device 21-1 corresponds to CAMERA1 placed at the location A.
  • the simulation execution unit 222 inputs the label L01 and the random number (seed value) to the transmission source simulation unit 223-1.
  • the detailed operation of the source simulation unit 223 that has acquired the label and the random number will be described later.
  • the simulation execution unit 222 inputs a setting file (profile) to the transfer node simulation unit 224. Specifically, the simulation execution unit 222 refers to the detailed network node information as shown in FIG. 12 and specifies the profile to be set in each transfer node simulation unit 224.
  • the transfer node simulation unit 224-1 simulates the gateway 22-1.
  • the profile of the gateway 22-1 is Profile1.
  • the simulation execution unit 222 inputs Profile 1 to the transfer node simulation unit 224-1.
  • the detailed operation of the transfer node simulation unit 224 that has acquired the setting file (profile) will be described later.
  • the simulation execution unit 222 notifies each node of the network managed by the tree structure of the location of the connection destination (parent node; upper node) of the node. Specifically, the simulation execution unit 222 notifies each node of pointer information or the like indicating the position of the higher-level node. At that time, the simulation execution unit 222 notifies the root node (node having no parent node) to that effect (that it is a root node).
  • the transmission source simulation unit 223 is a means for simulating the operation of the IoT device 21 which is the transmission source of the packet. As described above, the source simulation unit 223 is assigned to the leaf node of the tree structure. The transmission source simulation unit 223 reproduces the traffic pattern from the IoT device 21 by using the traffic pattern generation model generated in the learning mode.
  • the transmission source simulation unit 223 reads the traffic pattern generation model corresponding to the label acquired from the simulation execution unit 222 from the storage unit 205. For example, in the above example, since the IoT device 21-1 simulates the operation of the “CAMERA1” installed at the “location A”, the traffic pattern generation model “M01” is read out with reference to FIG. 7.
  • the transmission source simulation unit 223 inputs a random number (seed value) into the read traffic pattern generation model, and acquires traffic (for example, packet size) from the traffic pattern generation model.
  • the source simulation unit 223 transfers information including the time (system time) at which the packet size was acquired and the packet size as a "virtual packet" at a higher level. It is transmitted to the node simulation unit 224. As described above, since the substance of the virtual packet is information related to the time and the packet size, the amount of information of the virtual packet itself is extremely small.
  • Each source simulation unit 223 assigned to the tree-structured packet transmission source (IoT device 21) repeats the above operation at a predetermined sampling cycle.
  • virtual packets are transmitted to the transfer node simulation unit 224 corresponding to the parent node of the IoT device 21 in a traffic pattern transmitted from the IoT device 21 simulated by each transmission source simulation unit 223.
  • a virtual packet including information (time, packet size) that reproduces the traffic pattern shown in FIG. 6A is generated. It is transmitted to the transfer node simulation unit 224-1.
  • a virtual packet containing information (time, packet size) that reproduces the traffic pattern shown in FIG. 6B is simulated as a transfer node. It is transmitted to unit 224-1.
  • the transmission source simulation unit 223 simulates the packet transmission operation of the IoT device 21 that is supposed to be placed in the real environment according to the traffic pattern generation model generated in the learning mode.
  • the transfer node simulation unit 224 is a means for simulating the operation of a transfer node (for example, gateway 22 and router 23).
  • the transfer node simulation unit 224 is assigned to the root node and the internal node of the tree structure.
  • the transfer node simulation unit 224 simulates the packet transfer operation according to the setting file (profile) acquired from the simulation execution unit 222.
  • the transfer node simulation unit 224 sorts the virtual packets acquired from the child nodes (source simulation unit 223, transfer node simulation unit 224) in the order of time (order of time included in the virtual packet). After that, the transfer node simulation unit 224 stores the virtual packet in the buffer. More precisely, the transfer node simulation unit 224 subtracts the packet size described in the virtual packet from the buffer capacity described in the acquired profile.
  • the transfer node simulation unit 224 determines that there is free space in the buffer and stores the next virtual packet arranged in chronological order in the buffer (subtracts the packet size from the buffer capacity). ). On the other hand, when the buffer capacity after subtraction becomes 0 (or negative), the transfer node simulation unit 224 determines that there is no free space in the buffer and discards (drops) the subsequent virtual packets.
  • the transfer node simulation unit 224 transmits virtual packets stored in the buffer at the cycle (timing) described in the profile to the transfer node simulation unit 224, which is the parent node, in chronological order of time. In this case, the transfer node simulation unit 224 adds the packet size described in the virtual packet to the buffer capacity (makes space in the buffer).
  • the transfer node simulation unit 224-3 corresponding to the root node (router 23) delivers the virtual packet read from the buffer to the output unit 204 in the same manner as described above.
  • the transfer node simulation unit 224 simulates the packet transfer operation of the transfer node (for example, the gateway 22 and the router 23) according to the setting file (profile). More specifically, the transfer node simulation unit 224 aggregates the virtual packets transmitted from the child nodes by time and size, and transfers them to the subsequent node. That is, the transmission source simulation unit 223 transmits the virtual packet to the transfer node simulation unit 224 corresponding to the parent node. The transfer node simulation unit 224 transfers the virtual packet based on the setting of the preset setting file.
  • the output unit 204 is a means for outputting the packet (virtual packet) generated by the packet generation unit 202 to an external device.
  • the output unit 204 may output the generated virtual packet to an external device such as a liquid crystal monitor.
  • the output unit 204 may analyze the performance at a specific part of the network and output the analysis result to an external device. For example, the output unit 204 may calculate the throughput of the router 23, which is the exit of the network, and output the calculated throughput as an analysis result to an external device. Alternatively, the output unit 204 may calculate information such as the average packet size and the packet transmission interval, and output the calculation result to an external device.
  • the output unit 204 may transmit an actual packet (actual packet) to an actual network.
  • FIG. 14 is a diagram showing an example of the internal configuration of the output unit 204 according to the first embodiment. As shown in FIG. 14, when transmitting a real packet to a real network, the output unit 204 includes a real packet generation unit 231 and a real packet transmission unit 232.
  • the real packet generation unit 231 is a means for generating a real packet from a virtual packet. As mentioned above, the virtual packet contains time and packet size information, but no other information.
  • the real packet generation unit 231 generates a real packet including a header (IP header, TCP header, etc.) and a payload so as to have a packet size included in the virtual packet.
  • the actual packet generation unit 231 may use a predetermined value as the information necessary for generating the header such as the IP address and the port number, or may generate the above information according to a predetermined rule. Further, the actual packet generation unit 231 calculates the checksum included in the TCP header or the like so that there is no contradiction with the data stored in the payload.
  • the real packet transmission unit 232 transmits the real packet generated by the real packet generation unit 231 to the real network (for example, an Ethernet (registered trademark) cable connected to an actual router or the like).
  • the real network for example, an Ethernet (registered trademark) cable connected to an actual router or the like.
  • FIG. 15 is a flowchart showing an example of the operation of the information processing apparatus 10 according to the first embodiment in the learning mode.
  • the information processing device 10 inputs information about the IoT device 20 which is a packet transmission source (step S101).
  • the information processing device 10 acquires the traffic flow flowing from the IoT device 20 to the network (the network in the real environment), and extracts the traffic pattern to be learned (step S102).
  • the information processing device 10 generates a traffic pattern generation model from the extracted traffic pattern (step S103).
  • the information processing device 10 assigns a label to the generated traffic pattern generation model and stores it in the storage unit 205 (step S104).
  • FIG. 16 is a flowchart showing an example of the operation of the information processing apparatus 10 according to the first embodiment in the simulation mode.
  • the information processing device 10 inputs information about the network to be simulated (step S201). Specifically, the details of the network configuration and the communication equipment used are input.
  • the information processing device 10 manages the acquired network configuration in a tree structure, and assigns simulation units (source simulation unit 223, transfer node simulation unit 224) to the nodes in the tree structure (step S202).
  • the information processing apparatus 10 starts the simulation after making necessary settings for each simulation unit (for example, input a label or the like to the transmission source simulation unit 223 and set a profile in the transfer node simulation unit 224) (step S203). ).
  • the information processing device 10 outputs the simulation result to the external device (step S204).
  • the information processing device 10 learns (unsupervised learning) the traffic flowing from the IoT device 20 operating in the actual system to the network, and reproduces the traffic. Generate a traffic pattern generation model. After that, the information processing device 10 simulates the packet transfer of the network to which the IoT device 20 is connected by using the generated traffic pattern generation model. As a result of the simulation, if the network performance (for example, the throughput of the edge router 23) is worse than expected, it is possible to change the network configuration and check the performance again.
  • the network performance for example, the throughput of the edge router 23
  • the IoT device 20 has a different traffic pattern if its operating environment is different, but in the first embodiment, a traffic pattern generation model is generated in consideration of such a difference in the operating environment and the like. A more accurate judgment of suitability is made.
  • the simulation may be executed after changing the number of IoT devices 20 having a network configuration to be input to the information processing device 10 as shown in FIG. For example, when increasing the number of IoT devices 20 (in the case of scale-up), it is confirmed whether or not the performance of the network after the scale-up is sufficient. Alternatively, when reducing the number of IoT devices 20 (when scaling out), it is confirmed whether or not the network performance after scale-out is surplus.
  • the information processing apparatus 10 simulates the packet transfer of the network by using the traffic pattern generation model. Therefore, when the IoT device 20 is scaled or the network configuration is changed. The effect of can be easily verified.
  • the above-mentioned specific unit 102 is a module that includes the operations of the simulation execution unit 222 and the transmission source simulation unit 233. That is, the moving image in which the simulation execution unit 222 refers to the traffic pattern generation model management information corresponds to "based on the virtual traffic in the traffic pattern generation model" of the specific unit 102. Further, the operation of the transmission source simulation unit 233 selecting the traffic pattern generation model stored in the storage unit 205 based on the label obtained from the traffic pattern generation model management information "identifies the traffic related to the output of the traffic pattern generation model". Corresponds to. Further, the packet generation unit 202 generates a packet based on the traffic (set of virtual packets) characterized by the specific unit 102.
  • the link between the IoT device 21 and the gateway 22 and the link between the gateway 22 and the router 23 have ideal performance. That is, it is assumed that the packet (virtual packet) transmitted from the IoT device 21 arrives at the gateway 22 instantly and has no delay. It is also assumed that all the packets transmitted from the IoT device 21 arrive at the gateway 22.
  • the link in the real environment does not have the above ideal performance, and the transmitted packet is delayed or lost at a predetermined rate (packet loss).
  • the second embodiment the case where the characteristics of the link as described above are modeled and the virtual packet transmitted from the IoT device 21 is transmitted to the gateway 22 or the like via the modeled link will be described. That is, in the second embodiment, by reproducing the characteristics of the link, it is possible to obtain a simulation result in a state closer to the actual environment.
  • FIG. 17 is a diagram showing an example of a processing configuration (processing module) of the information processing apparatus 10 according to the second embodiment. Referring to FIG. 17, a link simulation unit 225 is added to the information processing apparatus 10 in the first embodiment.
  • the link simulation unit 225 is a means for simulating the characteristics of the link of the network that is the target of the simulation. More specifically, the link simulation unit 225 simulates (simulates) the link characteristics between the nodes (IoT device 21, gateway 22, router 23). The virtual packet transmitted from the transmission source simulation unit 223 is transmitted from the transmission source simulation unit 223 to the transfer node simulation unit 224 via the link simulation unit 225.
  • the link simulation unit 225 reproduces the network characteristics of the link. Specifically, the simulation execution unit 222 inputs a setting file (hereinafter, referred to as a link profile) to the link simulation unit 225.
  • a link profile a setting file
  • the link profile describes the communication quality (for example, delay, bit rate, loss rate, etc.) that expresses the network characteristics of the link.
  • the link simulation unit 225 executes transmission control for the received virtual packet according to the communication quality.
  • the link simulation unit 225 determines the transmission time of the received virtual packet according to the following equation (1) and transmits it to a subsequent node (gateway 22 or the like).
  • T P is the packet generation scheduled time
  • D C is queuing delay
  • L P is the packet length (packet size)
  • BR is the bit rate. The values described in the link profile are used for the queuing delay and bit rate.
  • the link simulation unit 225 discards the received virtual packet according to the loss rate described in the link profile.
  • the link simulation unit 225 adjusts the packet transmission interval and probabilistically generates packet loss according to the communication quality described in the link profile.
  • the administrator can generate the link profile using the results measured in the actual environment.
  • the information processing device 10 or another device may measure the communication quality and generate a link profile based on the result.
  • a link profile may be generated by imagining the change pattern of the communication quality. In this case, a link profile including the communication quality for each time zone may be generated.
  • the simulation execution unit 222 arranges the link simulation unit 225 between the nodes of the tree structure. For example, the simulation execution unit 222 arranges the link simulation unit 225 between the transmission source simulation unit 223 and the transfer node simulation unit 224, as shown in FIG.
  • the simulation execution unit 222 inputs the link profile corresponding to the position of the arranged link simulation unit 225 to the corresponding link simulation unit 225. After that, the simulation execution unit 222 activates each module (source simulation unit 223, transfer node simulation unit 224, link simulation unit 225) to simulate packet transfer in the network.
  • each module source simulation unit 223, transfer node simulation unit 224, link simulation unit 225
  • the information processing device 10 reproduces the link characteristics between the nodes by using the link simulation unit 225. As a result, the information processing device 10 can output a more accurate simulation result.
  • the information processing device 10 can be used to provide a network configuration suitable for the network specifications assumed by the business operator to a business operator who does not have knowledge about the network.
  • a business operator who wants to build a network in a factory or the like is referred to as a "customer”
  • a business operator who proposes an optimum network configuration to the customer is referred to as a "consultant”.
  • FIG. 19 is a diagram showing an example of a processing configuration (processing module) of the information processing apparatus 10 according to the third embodiment.
  • a customer specification input unit 206 and a simulation management unit 207 are added to the information processing device 10 according to the first and second embodiments.
  • the consultant When the consultant receives a request for proposal of the optimum network configuration from the customer, the consultant acquires the specifications related to his / her own network (hereinafter referred to as customer network specifications) from the customer. Specifically, the consultant hears from the customer about the outline configuration of the assumed network, the number of IoT devices 20 included in the network, the performance related to the throughput at the exit of the network, and the like.
  • customer network specifications the specifications related to his / her own network
  • the customer specification input unit 206 is a means for inputting the result of hearing by the above consultant. That is, the customer specification input unit 206 inputs the specifications of the network to be simulated. For example, the customer specification input unit 206 generates information for displaying the GUI as shown in FIGS. 9, 11, 20, 20 and the like, and displays the information on the liquid crystal monitor or the like via the display unit 203.
  • the customer specification input unit 206 stores the information (customer network specification) acquired by the GUI or the like in the storage unit 205.
  • the consultant learns the traffic pattern of the IoT device 20 included in the customer's network. Specifically, the information processing device 10 is executed in the learning mode, the traffic pattern regarding the IoT device 20 to be used in the customer's network is learned, and the traffic pattern generation model is generated.
  • the learning is not necessary if the traffic pattern generation model of the IoT device 20 learned from the network of another customer in the past can be reused. That is, the consultant often reuses the traffic patterns of various IoT devices 20 by performing a large number of tasks.
  • the information processing device 10 starts calculating the optimum network configuration of the customer.
  • the simulation management unit 207 refers to the network schematic configuration included in the customer network specifications, and acquires a network template corresponding to the schematic configuration.
  • the storage unit 205 stores network templates corresponding to each network schematic configuration.
  • the profiles of the communication devices described in the network template are also managed in association with each other in advance.
  • the simulation management unit 207 reflects the number of IoT devices 20 included in the customer network specifications in the network template. In the example of FIG. 20, since five IoT devices 20 are connected to the network, the network configuration as shown in FIG. 22A can be obtained.
  • the simulation management unit 207 delivers a network template reflecting the number of IoT devices 20 operating in the customer's network to the packet generation unit 202, and instructs the packet generation unit 202 to execute the simulation.
  • the packet generation unit 202 outputs the virtual packet generated by the method described in the above embodiment to the simulation management unit 207. Based on the acquired virtual packet, the simulation management unit 207 determines whether or not the network performance satisfies the performance (for example, throughput) included in the customer network specifications.
  • the performance for example, throughput
  • the simulation management unit 207 determines that the network configuration passed to the packet generation unit 202 is the optimum network configuration for the customer. On the other hand, if the network performance is not satisfied, the simulation management unit 207 tells the packet generation unit 202 to increase the number of nodes included in the network template and execute the simulation based on the expanded network configuration. Instruct.
  • the simulation management unit 207 hands over the network configuration shown in FIG. 22B to the packet generation unit 202 and instructs the execution of the simulation.
  • the simulation management unit 207 repeats the above processing and discovers a network configuration that satisfies the performance (throughput) described in the customer network specifications.
  • the information processing device 10 outputs the discovered network configuration.
  • the configuration diagram as shown in FIG. 22B may be stored in a USB memory or the like, or may be displayed on a liquid crystal monitor or the like via the display unit 203.
  • the consultant proposes the discovered network configuration as the optimum network configuration for the customer.
  • FIG. 23 is a flowchart showing an example of the operation of the information processing device 10 according to the third embodiment.
  • the information processing device 10 inputs the customer network specifications from the consultant (step S301).
  • the information processing device 10 executes a packet transfer simulation based on the customer network specifications (step S302).
  • the information processing device 10 determines whether or not the network satisfies the customer's request (step S303). When the network does not satisfy the customer's request (step S303, No branch), the information processing apparatus 10 changes the network configuration (step S304) and executes the simulation again.
  • the information processing apparatus 10 determines that the network is the optimum network and outputs it (step S305).
  • the number of IoT devices 20 used in the customer network specifications is input, but the type of IoT devices 20 and the application to be used may be input.
  • the performance at the exit connected to the external network is evaluated based on the virtual packet output from the packet generation unit 202, but even if the actual packet is sent to the external network and the performance is evaluated. Good.
  • the external network at that time may be a customer's test environment or an actual network.
  • the information processing apparatus 10 repeats the packet transfer simulation until a network configuration suitable for the input network specifications is obtained.
  • the consultant can propose the optimum network configuration for the customer by using the information processing device 10.
  • verification of the network load using the information processing device 10 described above will be described. More specifically, when the number of packet transmission sources (IoT device 20) included in the real network is increased (IoT device 20 is scaled up), information processing is performed for the purpose of checking the load increase of the device connected to the network.
  • the device 10 can be used.
  • the information processing device 10 is used to verify how much the load of the router 12 increases when the number of IoT devices 20 included in the network 11 is increased.
  • the information processing device 10 learns the traffic pattern of the IoT device 20 from the operating network 11 and generates a traffic pattern generation model. After that, the operator or the like disconnects the connection between the network 11 and the router 12 by the switch 13, and connects the information processing device 10 and the router 12.
  • the information processing device 10 duplicates the generated traffic pattern generation model, simulates a situation in which the number of packet transmission sources of the network 11 has increased, and transmits a real packet to the router 12. As a result, the number of IoT devices 20 which are packet transmission sources increases virtually, and the number of packets arriving at the router 12 increases.
  • the operator can investigate the influence on the router 12 when the packet transmission source (IoT device 21) of the network 11 is scaled up by examining the load increase of the router 12.
  • the load on the system can be verified by using the information processing device 10.
  • the fifth embodiment a case of verifying whether or not the security of the system is functioning correctly by using the information processing device 10 will be described.
  • the configuration of the network 11 is reproduced inside the information processing device 10.
  • the information processing device 10 causes at least one or more of the packet transmission sources (IoT devices 20) to perform irregular operations. Specifically, one or more of a plurality of traffic pattern generation models corresponding to the IoT device 20 are selected, and the selected traffic pattern generation model is changed.
  • the information processing apparatus 10 changes the above-selected traffic pattern generation model to a probability distribution in which the magnitude is inverted or a predetermined irregular probability distribution. After that, the information processing apparatus 10 executes the operation described in the first embodiment, generates a traffic flow including the packet transmitted by the irregular IoT device 20, and transmits it to the router 12.
  • the operator verifies whether or not the router 12 that has received the above flow behaves suspiciously.
  • the security of the system can be verified using the information processing device 10.
  • FIG. 26 is a diagram showing an example of the hardware configuration of the information processing device 10.
  • the information processing device 10 is a computer and has the configuration illustrated in FIG. 26.
  • the information processing device 10 includes a processor 311, a memory 312, an input / output interface 313, a communication interface 314, and the like.
  • the components such as the processor 311 are connected by an internal bus or the like so that they can communicate with each other.
  • the configuration shown in FIG. 26 is not intended to limit the hardware configuration of the information processing device 10.
  • the information processing device 10 may include hardware (not shown), or may not include an input / output interface 313 if necessary.
  • the number of processors 311 and the like included in the information processing device 10 is not limited to the example shown in FIG. 26, and for example, a plurality of processors 311 may be included in the information processing device 10.
  • the processor 311 is a programmable device such as a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). Alternatively, the processor 311 may be a device such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The processor 311 executes various programs including an operating system (OS).
  • OS operating system
  • the memory 312 is a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), an HDD (HardDiskDrive), an SSD (SolidStateDrive), or the like.
  • the memory 312 stores an OS program, an application program, and various data.
  • the input / output interface 313 is an interface of a display device or an input device (not shown).
  • the display device is, for example, a liquid crystal display or the like.
  • the input device is, for example, a device that accepts user operations such as a keyboard and a mouse.
  • the communication interface 314 is a circuit, module, or the like that communicates with another device.
  • the communication interface 314 includes a NIC (Network Interface Card), a wireless communication circuit, and the like.
  • NIC Network Interface Card
  • the function of the information processing device 10 is realized by various processing modules.
  • the processing module is realized, for example, by the processor 311 executing a program stored in the memory 312.
  • the program can also be recorded on a computer-readable storage medium.
  • the storage medium may be a non-transient such as a semiconductor memory, a hard disk, a magnetic recording medium, or an optical recording medium. That is, the present invention can also be embodied as a computer program product.
  • the program can be downloaded via a network or updated using a storage medium in which the program is stored.
  • the processing module may be realized by a semiconductor chip.
  • each processing module (learning unit 201, packet generation unit 202, etc.) included in the information processing device 10 may be mounted on separate devices. That is, the disclosure of the present application may be implemented as a system including learning means, packet generating means, and the like.
  • the information processing device 10 may output not only the packet from the exit (edge router) of the network executing the simulation but also the packet transferred by the forwarding node in the middle to the external device.
  • a virtual packet transmitted from the gateway 22-1 or the gateway 22-2 to the router 23 may be output to an external device.
  • the virtual packet has been described as having only the time and packet size information, but the virtual packet may include other information.
  • the virtual packet may include an IP address, a port number, and the like.
  • the virtual packet may include a sequence number. In this case, since the existence of the discarded packet can be recognized from the sequence number, the information processing apparatus 10 can calculate the packet loss rate by counting the number of packets dropped by the gateway 22 and the router 23.
  • the security of the system can be verified when the IoT device 20 which is the packet transmission source operates irregularly.
  • the IoT device 20 which is the packet transmission source operates irregularly.
  • it may be the forwarding node (gateway 22 or router 23) that performs irregular operations.
  • the gateway 22 or the like fails or falls into a degenerate operation.
  • the information processing device 10 can also output the generated traffic pattern generation model to the outside.
  • the information processing apparatus 10 may store the generated traffic pattern generation model in a database server or the like in association with the information (type, operating environment) that is the basis for generating the model.
  • the traffic pattern generation model stored in the database server may be shared by a plurality of information processing devices 10. Alternatively, the traffic pattern generation model and its related information may be sold outside.
  • the processing capacity of the network is increased by increasing the number of transfer nodes (for example, gateway 22).
  • the information processing apparatus 10 may fix the network configuration, gradually increase the capacity of each node (for example, the buffer size described in the profile, etc.), and search for the optimum network configuration.
  • the link simulation unit 225 may be a learning model that learns the traffic flowing from the gateway 22 to the router 23 and obtains the result.
  • the transfer node simulation unit 224 may be set with a profile that executes bandwidth control or the like, and a packet transfer simulation that is closer to reality may be executed.
  • the point to be verified may be another device.
  • the information processing device 10 disclosed in the present application may be used to simulate the IoT gateway, and the actual packet may be used for the traffic from the IoT gateway to the base station.
  • the packet transfer up to immediately before the server 30 may be simulated by the information processing device 10 disclosed in the present application, and the packet transmitted to the server 30 may be an actual packet. Good.
  • packet transfer to the base station is simulated by the plurality of information processing devices 10, and each information processing device 10 to the core network is simulated.
  • a real packet may be sent to.
  • the network may be a wireless LAN (Local Area Network) system such as WiFi (Wireless Fidelity; registered trademark), or a mobile communication system such as LTE (Long Term Evolution). May be good.
  • WiFi Wireless Fidelity
  • LTE Long Term Evolution
  • any network such as an in-house network, an in-factory network, and an in-home network is the subject of the disclosure of the present application.
  • packet transfer to the router in the company, the router in the factory, and the router in the home is the target of the simulation.
  • the target for the information processing device 10 to learn the traffic pattern is not limited to the IoT device 20, and can be a terminal such as a smartphone.
  • the traffic of a specific device may be collected and learned to generate a pattern of the traffic.
  • the traffic of a specific user may be collected and learned in the carrier network or the like to generate a pattern of the traffic.
  • the information processing apparatus 10 may output how much the simulated network configuration satisfies the customer's request or how much the customer's request is not satisfied each time the determination is made. For example, if the customer's throughput request is 10 Mbps and the simulated throughput result is 5 Mbps, the information processing apparatus 10 calculates the satisfaction level of the customer's request as 50%. By presenting the degree of satisfaction with respect to the customer's request to the customer through the consultant, the information processing device 10 can encourage the customer to compromise the performance, reexamine the network configuration, and the like. Alternatively, the information processing apparatus 10 may output the simulated configuration and the value of the throughput, and allow the operator to select whether to change the configuration again and perform the simulation.
  • the network configuration to be simulated is managed in a tree structure and a simulation unit is assigned to each node to execute the simulation has been described.
  • packet forwarding may be simulated by other methods. Specifically, consider a case where the simulation execution unit 222 generates a virtual packet at the root node as a real packet. In this case, the simulation execution unit 222 calculates a path (a list of node numbers passing from the root node to the leaf node) toward the leaf node that is the transmission source that generated the virtual packet. The leaf node generates one virtual packet whose size and time are set according to the traffic pattern generation model, and outputs the path back to the intermediate node (upper node).
  • the intermediate node buffers the received packet, sorts the buffered packet, and outputs the first packet of the buffer to the intermediate node which returns one path.
  • the simulation management unit 207 repeats such an operation, and when it reaches the root node, it generates a real packet as soon as the generation time of the virtual packet at the head of the buffer as a real packet comes.
  • packet forwarding on the network may be simulated by recursive processing.
  • Such recursive processing enables packet transfer simulation to run in a small number of processes. That is, given a network configuration, packets generated from individual sources and their propagation are logically calculated, and a node with aggregated traffic (for example, a gateway) has the function of generating actual packets. .. As a result, it is possible to pretend that traffic is generated from a large number of sources, even though it is a small number of processes.
  • [Appendix 1] A model generation unit (101, 213) that generates a traffic pattern generation model that reproduces the traffic pattern by learning the traffic pattern of the terminal (20).
  • a packet generation unit (202) that generates a virtual packet for simulating the packet transfer of a packet transmitted by the terminal (20) on the network based on the traffic pattern generation model, and a packet generation unit (202).
  • Appendix 2 The information processing apparatus (10, 100) according to Appendix 1, wherein the virtual packet contains information on time and packet size.
  • [Appendix 3] The network to be simulated is managed by a tree structure.
  • the packet generation unit (202) The source simulation unit (223) assigned to the leaf node of the tree structure and The root node of the tree structure and the transfer node simulation unit (224) assigned to the internal node are provided.
  • the packet generation unit (202) It also has a link simulation unit (225) that simulates the characteristics of network links.
  • the information processing device (10) according to Appendix 3 or 4, wherein the virtual packet is transmitted from the source simulation unit (223) to the transfer node simulation unit (224) via the link simulation unit (225). , 100).
  • the management unit (207) and the management unit (207) repeat the simulation of the packet transfer until a network configuration suitable for the input network specifications is obtained.
  • the information processing apparatus (10, 100) according to any one of Supplementary note 3 to 5, further comprising.
  • [Appendix 7] In the information processing device (10, 100) A step of generating a traffic pattern generation model that reproduces the traffic pattern by learning the traffic pattern of the terminal (20), and A packet generation method including a step of generating a virtual packet for simulating packet transfer of a packet transmitted by the terminal (20) on a network based on the traffic pattern generation model.
  • a packet generation method including a step of generating a virtual packet for simulating packet transfer of a packet transmitted by the terminal (20) on a network based on the traffic pattern generation model.
  • the network to be simulated is managed by a tree structure.
  • the information processing device (10, 100) is The source simulation unit (223) assigned to the leaf node of the tree structure and The root node of the tree structure and the transfer node simulation unit (224) assigned to the internal node are provided.
  • the packet generation method according to Appendix 9 wherein the transfer node simulation unit (224) transfers the virtual packet based on the setting of a predetermined setting file.
  • the information processing device (10, 100) is It also has a link simulation unit (225) that simulates the characteristics of network links. 9.
  • the packet generation according to Appendix 9 or 10 which includes a step in which the virtual packet is transmitted from the source simulation unit (223) to the transfer node simulation unit (224) via the link simulation unit (225).
  • [Appendix 12] The step of inputting the specifications of the network to be simulated and A step of repeating the packet transfer simulation until a network configuration suitable for the input network specifications is obtained, and The packet generation method according to any one of Supplementary note 9 to 11, further comprising.
  • [Appendix 13] On the computer (311) mounted on the information processing device (10, 100), A process of generating a traffic pattern generation model that reproduces the traffic pattern by learning the traffic pattern of the terminal (20), and A process of generating a virtual packet for simulating packet transfer of a packet transmitted by the terminal (20) on the network based on the traffic pattern generation model, and A program that executes.
  • [Appendix 14] The program according to Appendix 13, wherein the virtual packet contains information on time and packet size.
  • the network to be simulated is managed by a tree structure.
  • the information processing device (10, 100) is The source simulation unit (223) assigned to the leaf node of the tree structure and The root node of the tree structure and the transfer node simulation unit (224) assigned to the internal node are provided.
  • [Appendix 16] The program according to Appendix 15, wherein the transfer node simulation unit (224) transfers the virtual packet based on the settings of a predetermined setting file.
  • the information processing device (10, 100) is It also has a link simulation unit (225) that simulates the characteristics of network links. 25 or 16, wherein the computer is made to execute a process of transmitting the virtual packet from the source simulation unit (223) to the transfer node simulation unit (224) via the link simulation unit (225).
  • Program. [Appendix 18] The process of inputting the specifications of the network to be simulated and The process of repeating the packet transfer simulation until a network configuration suitable for the input network specifications is obtained, and The program according to any one of Supplementary note 15 to 17, wherein the computer is executed.
  • the present invention contributes to easily discovering a network configuration according to the characteristics of the connected terminal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】接続される端末の特性に応じたネットワーク構成を容易に発見する情報処理装置を提供する。 【解決手段】情報処理装置は、モデル生成部と特定部を含む。モデル生成部は、端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する。特定部は、トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、トラヒックパターン生成モデルの出力にかかるトラヒックを特定する。情報処理装置は、特定されたトラヒックに基づいて、パケットを生成するパケット生成部を更に備えてもよい。

Description

情報処理装置、パケット生成方法、システム、及びプログラム
 本発明は、情報処理装置、パケット生成方法、システム、及びプログラムに関する。
 近年、モバイルネットワークシステムとして、3GPP(Third Generation Partnership Project)により規定されたLTE(Long Term Evolution)/EPC(Evolved Packet Core)が広く普及している。
 上記LTEをはじめとするモバイルネットワークシステムは、通常、電気通信事業者(キャリア)が基地局、コアネットワーク等を構築、管理しユーザに無線接続を提供する。つまり、MNO(Mobile Network Operator)と称される移動体通信事業者が通信回線網を構築し、通信サービスを提供している。また、近年では、MNOから通信網を借り受けるMVNO(Mobile Virtual Network Operator;仮想移動体通信事業者)による通信サービスの提供も広く行われている。
 さらに、上記MNOやMNVOによらず企業等が独自に移動無線通信網(以下、単に「無線通信網」と表記する)を構築することが始まっている。即ち、プライベートLTEと称される無線通信網の構築が進められている。とりわけ、工場等にカメラを設置し工場内の様子を監視する用途や工作機械、建設機械等にセンサを取り付けて制御する用途に、プライベートLTEの活用が期待されている。
 特許文献1には、通信トラヒックからアプリケーションの状態を推定するにあたり誤推定を抑制し推定精度を向上する、と記載されている。
国際公開第2019/082965号
 上述のように、カメラやセンサ等のIoT(Internet of Things)デバイスとネットワークの上のサーバを接続する際、自営の無線網(プライベートLTE)を利用することでコストを低減することが期待されている。しかしながら、無線通信技術に関する知識を持たない事業者が自営の無線網を構築することは容易なことではない。
 例えば、上記事業者が、IoTデバイスごとの特性を考慮しつつ、ネットワーク構成を決定することは困難である。無線網に接続されるIoTデバイスは多種多様である。例えば、カメラ、センサ、ロボットのようなデバイスが無線網に接続され得る。さらに、同じ種類のデバイスであっても、設置される環境が異なれば各IoTデバイスからネットワークに流されるトラヒックも異なる。
 IoTデバイスを活用する事業者は、IoTデバイスごとに異なるトラヒックを考慮しつつ、最適なネットワーク構成を決定する必要がある。即ち、予めIoTデバイスにより発生するトラヒックを予測し、当該予測されたトラヒックに対応可能なネットワークシステムを構成しなければ、事業者が想定しているネットワーク性能を確保できず事業に支障をきたすことになる。あるいは、想定されるトラヒックに十分な余裕を持って対応できるネットワークシステムを構築すれば、コスト等の増加に繋がる。
 本発明は、接続される端末の特性に応じたネットワーク構成を容易に発見することに寄与する、情報処理装置、パケット生成方法、システム、及びプログラムを提供することを主たる目的とする。
 本発明の第1の視点によれば、端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する、モデル生成部と、前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定する、特定部と、を備える、情報処理装置が提供される。
 本発明の第2の視点によれば、情報処理装置において、端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成するステップと、前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定するステップと、を含むパケット生成方法が提供される。
 本発明の第3の視点によれば、端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する、モデル生成手段と、前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定する、特定手段と、を含む、システムが提供される。
 本発明の第4の視点によれば、情報処理装置に搭載されたコンピュータに、端末のトラヒックパターンを学習することで、前記トラヒックパターンを再現するトラヒックパターン生成モデルを生成する処理と、ネットワーク上で前記端末が送信するパケットのパケット転送をシミュレーションするための仮想パケットを、前記トラヒックパターン生成モデルに基づいて生成する処理と、を実行させるプログラムが提供される。
 本発明の各視点によれば、接続される端末の特性に応じたネットワーク構成を容易に発見することに寄与する、情報処理装置、パケット生成方法、システム、及びプログラムが、提供される。なお、本発明により、当該効果の代わりに、又は当該効果と共に、他の効果が奏されてもよい。
図1は、一実施形態の概要を説明するための図である。 図2は、一実施形態に係る情報処理装置の動作の一例を示すフローチャートである。 図3は、第1の実施形態に係る情報処理装置の動作を説明するための図である。 図4は、第1の実施形態に係る情報処理装置の処理構成の一例を示す図である。 図5Aは、情報処理装置の記憶部に格納される学習対象情報の一例を示す図である。 図5Bは、情報処理装置の記憶部に格納される学習対象情報の一例を示す図である。 図5Cは、情報処理装置の記憶部に格納される学習対象情報の一例を示す図である。 図6Aは、トラヒックパターンの一例を示す図である。 図6Bは、トラヒックパターンの一例を示す図である。 図7は、トラヒックパターン生成モデル管理情報の一例を示す情報である。 図8は、情報処理装置が扱うネットワーク構成の一例を示す図である。 図9は、情報処理装置が表示するGUI(Graphical User Interface)の一例を示す図である。 図10は、ネットワーク構成を管理するツリー構造の一例を示す図である。 図11は、情報処理装置が表示するGUIの一例を示す図である。 図12は、ネットワークノード詳細情報の一例を示す図である。 図13は、ツリー構造への模擬部割り当てを説明するための図である。 図14は、第1の実施形態に係る送信部の内部構成の一例を示す図である。 図15は、第1の実施形態に係る情報処理装置の学習モードにおける動作の一例を示すフローチャートである。 図16は、第1の実施形態に係る情報処理装置のシミュレーションモードにおける動作の一例を示すフローチャートである。 図17は、第2の実施形態に係る情報処理装置の処理構成の一例を示す図である。 図18は、第2の実施形態に係る情報処理装置のリンク模擬部の配置を説明するための図である。 図19は、第3の実施形態に係る情報処理装置の処理構成の一例を示す図である。 図20は、第3の実施形態に係る情報処理装置が表示するGUIの一例を示す図である。 図21は、第3の実施形態に係る情報処理装置の動作を説明するための図である。 図22Aは、第3の実施形態に係る情報処理装置の動作を説明するための図である。 図22Bは、第3の実施形態に係る情報処理装置の動作を説明するための図である。 図23は、第3の実施形態に係る情報処理装置の動作の一例を示すフローチャートである。 図24は、第4の実施形態に係るシステムの動作を説明するための図である。 図25は、第5の実施形態に係るシステムの動作を説明するための図である。 図26は、情報処理装置のハードウェア構成の一例を示す図である。
 はじめに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 一実施形態に係る情報処理装置100は、モデル生成部101と特定部102を含む(図1参照)。モデル生成部101は、端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する(図2のステップS01)。特定部102は、トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、トラヒックパターン生成モデルの出力にかかるトラヒックを特定する(図2のステップS02)。なお、図1では、モデル生成部101と特定部120は異なるモジュールとして図示しているが、これらのモジュールの機能が同じモジュール(処理手段)により実現されてもよい。
 情報処理装置100は、端末のトラヒックパターンを当該端末が使用されると想定される様々な状況、環境において学習する。当該学習により、ネットワークに接続される端末(デバイス)の特性に応じてトラヒックパターン生成モデルが生成される。情報処理装置10は、当該トラヒックパターン生成モデルを用いてネットワーク上のパケット転送をシミュレートすることで、対象ネットワークの性能を検証できる。即ち、情報処理装置100により生成されたトラヒックパターン生成モデルは、仮想的なパケットの集合である仮想トラヒックを生成する。当該仮想トラヒックは、学習の元になった端末が出力するトラヒックの特徴を再現するものである。そのため、トラヒックパターン生成モデルをネットワークのシミュレーションに使用することで、当該端末がネットワークに組み込まれた際に生じるであろうトラヒックを特定することができる。管理者等は、当該ネットワークの構成や接続する端末の数等を適宜変更し、シミュレートすることで接続される端末の特性に応じたネットワークを容易に発見できる。
 以下に具体的な実施形態について、図面を参照してさらに詳しく説明する。
[第1の実施形態]
 第1の実施形態について、図面を用いてより詳細に説明する。
 図3は、第1の実施形態に係る情報処理装置10の動作を説明するための図である。
 情報処理装置10は、2つの動作モードにより動作する。
 第1の動作モードは、IoTデバイス20とネットワーク上のサーバ30の間で送受信されるパケットを観測し、IoTデバイス20とサーバ30の間のトラヒックからそのパターン(トラヒックパターン)を学習するモードである。
 ネットワークを流れるトラヒックから得られるトラヒックパターンには、スループット、パケットサイズ、パケット送信間隔等の波形が含まれる。第1の実施形態では、ネットワークを流れるトラヒックから得られるトラヒックパターンはスループットに関する波形として説明する。但し、本願開示が適用なトラヒックをスループットに限定する趣旨ではなく、他の特徴量(パケットサイズ、パケット送信間隔等)のトラヒックを対象としてもよい。
 学習モードにおいて、情報処理装置10は、工場等の現場(実環境)に設置されたIoTデバイス20からネットワーク上のサーバ30に送信されるパケット(アップリンクで送信されるパケット)を取得する。
 情報処理装置10は、IoTデバイス20が無線接続可能なデバイスであれば、当該デバイスから送出されるフレーム(無線信号)をキャプチャする。あるいは、情報処理装置10は、IoTデバイス20がハブ等の中継装置に有線接続されるデバイスであれば、当該中継装置のミラーポートからネットワークを流れるパケットを取得する。本願開示では、IoTデバイス20から送出されるフレーム又はパケットを「パケット」と称して説明する。
 情報処理装置10は、キャプチャしたパケットに基づき、IoTデバイスからネットワークに送出されるトラヒックパターンを再現するモデルを生成する。具体的には、情報処理装置10は、階層構造の隠れマルコフモデルによりトラヒックパターンをモデル化し、「トラヒックパターン生成モデル」を生成する。当該隠れマルコフモデルによりモデル化されたトラヒックパターン生成モデルは、確率的な状態遷移モデルであり状態変化(例えば、パケット送信からパケット送信停止)が確率的に記載される。
 情報処理装置10は、実環境にて使用される様々なIoTデバイス20に関し、種々の環境(異なる場所、異なる時間帯)に設置された数多くのIoTデバイス20からネットワークに流されるトラヒックパターンを学習する。学習対象のIoTデバイス20と対応するトラヒックパターン生成モデルは「ラベル」により対応付けられる。なお、トラヒックパターン生成モデルや当該モデルを管理するためのラベルの詳細は後述する。
 ここで、IoTデバイス20とサーバ30の間で送受信されるパケットは、通常、下り方向(ダウンリンク)で送信されるパケットよりも上り方向で送信されるパケットの方が多い。そのため、第1の実施形態では、ネットワーク構成に与える影響も大きいので上り方向のパケットを学習の対象とする。但し、上記対応は、IoTデバイス20が工場等に設置されるカメラやセンサを想定しているためであり、IoTデバイス20の用途や環境等によっては下り方向のパケットを学習の対象にすることもある。あるいは、上り方向のパケットと下り方向のパケットを学習の対象にしてもよい。
 第2の動作モードは、上記学習モードにて生成されたトラヒックパターン生成モデルを用いて、IoTデバイス20の利用が想定されるネットワークのパケット転送をシミュレートするモードである。具体的には、情報処理装置10は、オペレータ等から検証対象のネットワーク構成の入力を受け付ける。
 例えば、オペレータは、ネットワークシステムを構成する装置(例えば、IoTゲートウェイ、エッジルータ(以下、単にルータと表記する))の数、装置間の接続、使用されるIoTデバイス20に関する情報(種類、数等)を情報処理装置10に入力する。図3の例では、3台のIoTデバイス、2台のIoTゲートウェイ(GW;Gate Way)、1台のルータ(RT;Router)からなるネットワークシステムの構成が情報処理装置10に入力されている。
 情報処理装置10は、当該取得したネットワークシステムにおいてIoTデバイスが生成するパケットを、学習モードにて生成されたトラヒックパターン生成モデルを用いて仮想的に作り出す。即ち、情報処理装置10は、実環境に置かれたIoTデバイス20が送信するパケットを仮想的に作り出し、当該仮想的に作り出されたパケットをネットワーク装置(図3の例ではIoTゲートウェイ)に入力する。
 情報処理装置10は、仮想的に作り出されたパケット(以下、仮想パケットと表記する)を受信したネットワーク装置から後段のネットワーク装置(図3の例ではルータ)に受信した仮想パケットを転送する。
 情報処理装置10は、後段のネットワーク装置(ルータ)に関しても、受信したパケットを転送する。
 情報処理装置10は、最終段のネットワーク装置から生成されたパケット(ネットワークシステム上で転送されてきた仮想パケット)をネットワークシステムから送信されるパケットとして扱い、外部装置に出力する。例えば、情報処理装置10は、上記生成されたパケットを表示装置(図3において図示せず)に出力してもよい。
 表示装置は、例えば、情報処理装置10から取得したパケットがネットワークから出力される様子を表現する動画を表示する。あるいは、情報処理装置10又は表示装置のいずれかで、ネットワークから出力されるパケットの解析を行い、表示装置が解析結果を表示してもよい。例えば、表示装置は、スループット、パケット到着間隔、平均パケットサイズ等のネットワークの性能や状況を示す統計情報を表示してもよい。あるいは、表示装置は、上記統計情報の時間推移を示すグラフ等を表示してもよい。
 情報処理装置10は、生成したパケットを実際のネットワークに出力してもよい。例えば、図3の例では、情報処理装置10は、オペレータが入力したネットワーク構成に含まれるルータが接続されるネットワークに上記生成したパケットを「実パケット」として送信してもよい。
 情報処理装置10の動作モード(学習モード、シミュレーションモード)の切り替えは、オペレータが明示的に行えばよい。あるいは、学習モードの機能とシミュレーションモードの機能を分離し、2台の情報処理装置(コンピュータ)にて第1の実施形態にて説明する情報処理装置10が実現されてもよい。この場合、2台のコンピュータが、必要な情報(例えば、トラヒックパターン生成モデル等)の交換を行えばよい。
 図4は、第1の実施形態に係る情報処理装置10の処理構成(処理モジュール)の一例を示す図である。図4を参照すると、情報処理装置10は、学習部201と、パケット生成部202と、表示部203と、出力部204と、記憶部205と、を含んで構成される。
 学習部201は、上述の学習モードにて動作する処理モジュールである。学習部201は、学習対象入力部211と、パケット取得部212と、モデル生成部213と、を備える。
 学習対象入力部211は、学習の対象となるIoTデバイス20に関する情報の入力を受け付ける手段である。
 学習対象のIoTデバイス20に関する情報には、学習対象のIoTデバイス20の種類に関する情報と、当該IoTデバイス20を特定する情報と、当該IoTデバイス20の動作環境を示す情報と、が含まれる。
 学習対象のIoTデバイス20の種類に関する情報は、例えば、IoTデバイス20の製品名、機種名等である。
 学習対象のIoTデバイスを特定する情報は、例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス等の情報である。
 ここで、同一機種のIoTデバイス20であっても実環境に置かれた状況によっては、ネットワークに送出されるトラヒックパターンが異なる。例えば、IoTデバイス20がカメラである場合、カメラからサーバ30に対して圧縮画像が送信されるため、IoTデバイス20が設置される状況によってはトラヒックパターンに差が生じる。
 第1の実施形態では、上記IoTデバイス20の動作環境を示す情報により、IoTデバイス20の置かれた環境、状況(所謂、コンテキスト)が識別される。例えば、IoTデバイス20が設置された場所を識別する情報やIoTデバイス20が稼働する時間帯(昼、夜等)がIoTデバイス20の動作環境を示す情報として例示される。
 学習対象入力部211は、少なくとも上記3つの情報を学習対象のIoTデバイス20に関する情報として入力する。例えば、学習対象入力部211は、上記情報が格納されたUSB(Universal Serial Bus)メモリ等の外部記憶装置から上記情報を取得してもよい。 学習対象入力部211は、ネットワーク上のデータベースサーバ等にアクセスして上記情報を取得してもよい。
 学習対象入力部211は、作業者が上記情報を入力するためのGUI(Graphical User Interface)に関する情報を生成し、表示部203を介して液晶モニタ等に表示してもよい。学習対象入力部211は、IoTデバイス20と通信しその識別子(IPアドレス等)を取得し、上記IoTデバイス20の種類や動作環境を示す情報をオペレータから取得してもよい。
 学習対象入力部211は、上記3つの情報(IoTデバイス20の種類、識別子、動作環境)を「学習対象情報」として記憶部205に格納する(図5A~図5C参照)。例えば、場所Aに設置されたIPアドレスが「IP01」のCamera1のIoTデバイス20を学習対象とする場合には、図5Aに示す情報が情報処理装置10に入力され、記憶部205に格納される。
 場所Bに設置されたIPアドレスが「IP02」のCamera1のIoTデバイス20を学習対象とする場合には、図5Bに示す情報が情報処理装置10に入力され、記憶部205に格納される。
 あるいは、昼間に稼働するIPアドレスが「IP03」のCamera1のIoTデバイス20を学習対象とする場合には、図5Cに示す情報が情報処理装置10に入力され、記憶部205に格納される。なお、図5Cには、IoTデバイス20が稼働する時間帯を「昼間」と記載しているが、実際には具体的な時間帯が指定される。
 図5A~図5Cには、「動作環境」に関する情報として、「場所」又は「時間帯」のいずれかの要素を記載する例が図示されているが、他の要素(例えば、外気温等)が使用されてもよい。あるいは、複数の要素の組み合わせ(例えば、場所Aの昼間等)が動作環境として指定されてもよい。
 上述のように、IoTデバイス20は、その置かれた環境等によりトラヒックパターンが異なるので、実際にIoTデバイス20の使用が想定される状況、環境下でパケットが取得されるのが望ましい。例えば、図5A及び図5Bは、Camera1のIoTデバイス20が場所Aや場所Bに設置され、トラヒックパターンが学習されることを示すが、同じ機種であるCamera1が場所Cにも設置されトラヒックパターンが学習されることが望ましい。
 なお、図5A~図5Cに示すような学習対象情報の入力は、個別に情報を入力してもよいし、複数の情報を纏めて入力してもよい。
 パケット取得部212は、IoTデバイス20から送信されるパケット(フレーム)を取得する。パケット取得部212は、取得したパケットをモデル生成部213に引き渡す。
 モデル生成部213は、端末(IoTデバイス20)のトラヒックパターンを学習することで、当該トラヒックパターンを再現するトラヒックパターン生成モデルを生成する手段である。つまり、モデル生成部213は、学習対象のIoTデバイス20によるトラヒックパターンをモデル化したトラヒックパターン生成モデルを生成する。
 モデル生成部213は、記憶部205に格納された学習対象情報を参照し、学習対象となるIoTデバイス20の識別子を取得する。モデル生成部213は、パケット取得部212から取得したパケットのヘッダを参照し、学習対象のIoTデバイス20が送信したパケットを抽出する。
 例えば、モデル生成部213は、取得したパケットのうち学習対象情報に記載されたIPアドレスを送信元IPアドレスとして有するパケットを抽出する。モデル生成部213は、抽出したパケットの時系列データからトラヒックパターンを生成する。具体的には、モデル生成部213は、抽出したパケットの受信時間を横軸、パケットサイズを縦軸に設定しトラヒックパターン(トラヒックの時系列)を生成する(図6A及び図6B参照)。
 このように、モデル生成部213は、ネットワークに流れるトラヒックを、5タプル(送信元/宛先IPアドレス、送信元/宛先ポート番号、プロトコル)により分割し、トラヒックフロー単位のトラヒックパターンを抽出する。なお、トラヒックフローは、ヘッダに同じ情報(送信元IPアドレスとポート番号、宛先IPアドレスとポート番号)を有するパケットのグループにより構成される。
 モデル生成部213は、抽出したトラヒックパターンを階層構造の隠れマルコフモデルによりモデル化し、「トラヒックパターン生成モデル」を生成する。なお、ネットワークから取得したトラヒックパターンに対して上記階層構造の隠れマルコフモデルを適用し、モデル化する手法は特許文献1に記載されている。そのため、本願開示では、トラヒックパターン生成モデルの生成に関する詳細な説明は省略するが、概略以下のようにして上記モデルが生成される。
 モデル生成部213は、通信トラヒックの時系列データ(トラヒックパターン)に対して階層隠れマルコフモデルに基づき状態のシーケンスを推定する。その後、モデル生成部213は、当該状態のシーケンスから類似するパターンをひとまとめにして(1つのグループにグループ化して)1つの状態として扱う。その上で、モデル生成部213は、状態のシーケンス(即ち、トラヒックパターン生成モデル)を抽出する。
 例えば、図6Aや図6Bに示すようなトラヒックパターンが抽出された場合を考える。この場合、モデル生成部213は、図6Aに示されたトラヒックパターンを再現するトラヒックパターン生成モデルと、図6Bに示されたトラヒックパターンを再現するトラヒックパターン生成モデルをそれぞれ生成する。生成されたトラヒックパターン生成モデルに、乱数(任意のシード値)を入力すると、確率的な状態遷移モデルに従ってトラヒックパターンを再現する特徴量(パケットサイズ)が出力される。
 図6Aの例では、パケットが出力される確率は低いがパケットが出力された場合にはサイズの大きいパケットを生成するようなトラヒックパターン生成モデルが生成される。対して、図6Bの例では、パケットが出力される確率は高いが、そのサイズは小さいパケットを生成するようなトラヒックパターン生成モデルが生成される。
 モデル生成部213は、生成したトラヒックパターン生成モデルと、当該モデルを生成した際に参照した学習対象情報に含まれる「種別」、「動作環境」と、を対応付け「トラヒックパターン生成モデル管理情報」を生成する。
 モデル生成部213は、上記3つの情報(トラヒックパターン生成モデル、種別、動作環境)の組を「ラベル」として管理し、当該ラベルが割り当てられた上記情報を記憶部205に格納する(図7参照)。
 学習部201により生成されるトラヒックパターン生成モデルは、可逆的な性質を備える。つまり、トラヒックパターンを学習して得られたトラヒックパターン生成モデルは、当該モデルを指定するラベルにより呼び出されると、学習の元になったトラヒックパターンを再現するように特徴量(パケットサイズ)を確率的に出力する。
 図4に説明を戻す。パケット生成部202は、上述のシミュレーションモードにて動作する処理モジュールである。パケット生成部202は、ネットワーク情報入力部221と、シミュレーション実行部222と、送信源模擬部223と、転送ノード模擬部224と、を含んで構成される。
 ネットワーク情報入力部221は、シミュレーションの対象となるネットワークの構成と、ネットワークに含まれる各ノードに関する情報と、に関する入力を受け付ける手段である。
 ネットワーク情報入力部221は、例えば、図8に示すネットワークに関する情報を入力する。ネットワーク情報入力部221は、ネットワーク構成を規定する情報をUSBメモリ等の外部記憶装置から取得してもよい。ネットワーク情報入力部221は、上記情報等を外部のデータベースサーバ等から取得してもよい。
 あるいは、ネットワーク情報入力部221は、作業者がネットワーク構成を入力するためのGUI(Graphical User Interface)に関する情報を生成し、当該情報を、表示部203を介して液晶モニタ等に表示してもよい。例えば、ネットワーク情報入力部221は、図9に示すようなGUIに関する情報を生成してもよい。
 ネットワーク情報入力部221は、取得したネットワークの構成を階層化されたデータ構造により管理する。例えば、ネットワーク情報入力部221は、ツリー構造により取得したネットワークの構成を管理する。図8に示す例では、図10に示すようなツリー構造にてネットワークの構成が管理される。
 図10を参照すると、ネットワークの出口にあたるルータ23は根ノード(親ノードを持たないノード)として管理される。末端のIoTデバイス21は葉ノード(子ノードを持たないノード)として管理される。ネットワークの中間に位置するゲートウェイ22は内部ノード(親ノードと子ノードを有するノード)として管理される。
 ネットワークの構成を管理するデータ構造はツリー構造に限定されない。他のデータ構造、例えば、リストを用いたデータ構造等によりネットワークの構成が管理されてもよい。
 さらに、ネットワーク情報入力部221は、ネットワークを構成する各通信機器(ツリー構造のノード)に関する情報を入力する。具体的には、パケットの送信源であるIoTデバイス21に関し、ネットワーク情報入力部221は、各IoTデバイス21の種別、動作環境を入力する。
 ネットワーク情報入力部221は、IoTデバイス21の種別、動作環境をUSBメモリ等の外部記憶装置を用いて入力してもよいし、上記情報を入力するためのGUI情報を生成してもよい。例えば、ネットワーク情報入力部221は、図11に示すようなGUI情報を生成し、表示部203を介して液晶モニタ等に表示する。オペレータは、ネットワークに含まれる各IoTデバイス20について、その種別(機種名、製品名等)と動作環境(場所、時間帯等)を入力する。
 さらに、パケットの転送ノード(ゲートウェイ22、ルータ23)に関し、ネットワーク情報入力部221は、各転送ノードのスペック情報を入力する。より具体的には、ネットワーク情報入力部221は、転送ノードのパケット転送に関する仕様、能力に関する情報を入力する。
 例えば、記憶部205に、転送ノードの製品名等と転送ノードのスペック情報を対応付けた情報が予め格納される。その上で、ネットワーク情報入力部221は、ネットワークを構成する各転送ノードについて製品名を選択可能とするようなGUI情報を生成し、表示部203を介して液晶モニタ等に表示する。このように、ネットワーク情報入力部221は、記憶部205に格納された情報を参照し、オペレータから入力された製品に相当するスペック情報を取得してもよい。
 スペック情報には、転送ノードが備えるバッファの本数、バッファの容量、バッファに格納されたパケットを読み出す周期等の情報が記載されている。これらの情報により、転送ノードの性能(パケット転送能力)が規定される。
 ネットワーク情報入力部221が取得した、ネットワークに含まれる各ノードに関する情報は、「ネットワークノード詳細情報」として記憶部205に格納される(図12参照)。
 なお、図12において、転送ノード(ゲートウェイ、ルータ)のスペックは、設定ファイル(プロファイル)に記載されている。また、図12の例では、2台のゲートウェイ22-1及び22-2のプロファイルが同じであるので、当該2台のゲートウェイは同等のパケット転送能力を有することがわかる。
 図4に説明を戻す。シミュレーション実行部222は、ネットワーク情報入力部221が取得した情報を用いて、入力されたネットワーク上でのパケット転送をシミュレートする手段である。
 具体的には、シミュレーション実行部222は、ツリー構造にて管理されたネットワークにおいて、葉ノードに送信源模擬部223、内部ノード及び根ノードに転送ノード模擬部224を割り当てる。例えば、図8及び図10の例では、図13に示すように、ネットワークを表現するツリー構造の各ノードに送信源模擬部223と転送ノード模擬部224が割り当てられる。図13において、転送ノード模擬部224-2に接続された送信源模擬部223の図示を省略している。
 シミュレーション実行部222は、送信源模擬部223に対してシミュレートする送信源に対応するラベルと乱数(シード値)を入力する。
 シミュレーション実行部222は、記憶部205に格納されたネットワークノード詳細情報とトラヒックパターン生成モデル管理情報を参照し、送信源模擬部223に入力するラベルを選択する。例えば、図13の例において、送信源模擬部223-1は、IoTデバイス21-1をシミュレートするものとする。この場合、図12に示すネットワークノード詳細情報を参照すると、当該IoTデバイス21-1は場所Aに置かれたCAMERA1に相当することがわかる。
 図7に示すトラヒックパターン生成モデル管理情報を参照すると、種類が「CAMERA1」で動作環境が「場所A」に相当するラベルは「L01」である。そこで、シミュレーション実行部222は、ラベルL01と乱数(シード値)を送信源模擬部223-1に入力する。ラベルと乱数を取得した送信源模擬部223の詳細な動作は後述する。
 シミュレーション実行部222は、転送ノード模擬部224に設定ファイル(プロファイル)を入力する。具体的には、シミュレーション実行部222は、図12に示すようなネットワークノード詳細情報を参照し、各転送ノード模擬部224に設定するプロファイルを特定する。
 例えば、図13の例において、転送ノード模擬部224-1は、ゲートウェイ22-1をシミュレートするものとする。この場合、図12に示すネットワークノード詳細情報を参照すると、当該ゲートウェイ22-1のプロファイルはProfile1であることがわかる。
 シミュレーション実行部222は、転送ノード模擬部224-1にProfile1を入力する。設定ファイル(プロファイル)を取得した転送ノード模擬部224の詳細な動作は後述する。
 シミュレーション実行部222は、ツリー構造で管理されるネットワークの各ノードに対して、当該ノードの接続先(親ノード;上位ノード)の場所を通知する。具体的には、シミュレーション実行部222は、各ノードに対してその上位ノードの位置を示すポインタ情報等を通知する。その際、シミュレーション実行部222は、根ノード(親ノードを持たないノード)に対してはその旨(根ノードである旨)を通知する。
 送信源模擬部223は、パケットの送信源であるIoTデバイス21の動作を模擬(シミュレート)する手段である。上述のように、送信源模擬部223は、ツリー構造の葉ノードに割り当てられる。送信源模擬部223は、学習モード時に生成されたトラヒックパターン生成モデルを用いて、IoTデバイス21からのトラヒックパターンを再現する。
 具体的には、送信源模擬部223は、シミュレーション実行部222から取得したラベルに相当するトラヒックパターン生成モデルを記憶部205から読み出す。例えば、上述の例では、IoTデバイス21-1は「場所A」に設置された「CAMERA1」の動作をシミュレートするので、図7を参照すると、トラヒックパターン生成モデル「M01」が読み出される。
 さらに、送信源模擬部223は、当該読み出したトラヒックパターン生成モデルに乱数(シード値)を入力し、トラヒックパターン生成モデルからトラヒック(例えば、パケットサイズ)を取得する。
 送信源模擬部223は、トラヒックパターン生成モデルから取得したパケットサイズが「0」でなければ、当該パケットサイズを取得した時刻(システム時刻)とパケットサイズを含む情報を「仮想パケット」として上位の転送ノード模擬部224に送信する。なお、上述のように、仮想パケットの実体は、時刻とパケットサイズに関する情報であるので仮想パケット自身の情報量は極めて小さい。
 ツリー構造のパケット送信源(IoTデバイス21)に割り当てられた各送信源模擬部223は、上記のような動作を所定のサンプリング周期にて繰り返す。その結果、IoTデバイス21の親ノードに相当する転送ノード模擬部224には、各送信源模擬部223がシミュレートするIoTデバイス21から送信されるトラヒックパターンにて仮想パケットが送信される。
 例えば、図13において、送信源模擬部223-1が図6Aに示すトラヒックパターンを生成する場合には、図6Aに示すトラヒックパターンを再現するような情報(時刻、パケットサイズ)を含む仮想パケットが転送ノード模擬部224-1に送信される。
 同様に、送信源模擬部223-2が図6Bに示すトラヒックパターンを生成する場合には、図6Bに示すトラヒックパターンを再現するような情報(時刻、パケットサイズ)を含む仮想パケットが転送ノード模擬部224-1に送信される。
 このように、送信源模擬部223は、学習モード時に生成されたトラヒックパターン生成モデルに従い、実環境に置かれることが想定されるIoTデバイス21のパケット送信動作をシミュレートする。
 転送ノード模擬部224は、転送ノード(例えば、ゲートウェイ22、ルータ23)の動作をシミュレートする手段である。転送ノード模擬部224は、ツリー構造の根ノード、内部ノードに割り当てられる。転送ノード模擬部224は、シミュレーション実行部222から取得した設定ファイル(プロファイル)に従いパケット転送動作をシミュレートする。
 具体的には、転送ノード模擬部224は、子ノード(送信源模擬部223、転送ノード模擬部224)から取得した仮想パケットを時刻の順(仮想パケットに含まれる時刻の順)に並び替える。その後、転送ノード模擬部224は、仮想パケットをバッファに格納する。より正確には、転送ノード模擬部224は、取得したプロファイルに記載されたバッファ容量から仮想パケットに記載されたパケットサイズを減算する。
 転送ノード模擬部224は、減算後のバッファ容量が正であれば、バッファに空きがあると判断し、時刻順に並べられた次の仮想パケットをバッファに格納する(バッファ容量からパケットサイズを減算する)。対して、転送ノード模擬部224は、減算後のバッファ容量が0(又は負)となった場合には、バッファに空きがないと判断し、それ以降の仮想パケットを破棄(ドロップ)する。
 転送ノード模擬部224は、プロファイルに記載された周期(タイミング)にてバッファに格納された仮想パケットを時刻の古い順に親ノードである転送ノード模擬部224に送信する。この場合、転送ノード模擬部224は、仮想パケットに記載されたパケットサイズをバッファ容量に加算する(バッファに空きを作る)。
 根ノード(ルータ23)に相当する転送ノード模擬部224-3は、上記と同様にバッファから読み出した仮想パケットを出力部204に引き渡す。
 このように、転送ノード模擬部224は、設定ファイル(プロファイル)に従い転送ノード(例えば、ゲートウェイ22、ルータ23)のパケット転送動作をシミュレートする。より具体的には、転送ノード模擬部224は、子ノードから送信されてくる仮想パケットを時刻、サイズで集約し、後段のノードに転送する。即ち、送信源模擬部223は、仮想パケットを親ノードに相当する転送ノード模擬部224に送信する。転送ノード模擬部224は、予め定められた設定ファイルの設定に基づき仮想パケットを転送する。
 出力部204は、パケット生成部202が生成したパケット(仮想パケット)を外部の装置に出力する手段である。出力部204は、液晶モニタ等の外部装置に生成した仮想パケットを出力してもよい。
 出力部204は、ネットワークの特定箇所における性能を解析し、当該解析結果を外部装置に出力してもよい。例えば、出力部204は、ネットワークの出口となるルータ23のスループットを計算し、当該計算されたスループットを解析結果として外部装置に出力してもよい。あるいは、出力部204は、平均パケットサイズやパケット送信間隔等の情報を計算し、当該計算結果を外部装置に出力してもよい。
 出力部204は、実際のパケット(実パケット)を現実のネットワークに送信してもよい。図14は、第1の実施形態に係る出力部204の内部構成の一例を示す図である。図14に示すように、実パケットを実ネットワークに送信する場合には、出力部204は、実パケット生成部231と実パケット送信部232を備える。
 実パケット生成部231は、仮想パケットから実パケットを生成する手段である。上述のように、仮想パケットには時刻とパケットサイズの情報が含まれるが、他の情報は含まれない。実パケット生成部231は、仮想パケットに含まれるパケットサイズとなるように、ヘッダ(IPヘッダ、TCPヘッダ等)とペイロードを含む実パケットを生成する。
 その際、実パケット生成部231は、IPアドレスやポート番号等のヘッダ生成に必要な情報として、予め定めた値を用いてもよいし、所定の規則に従い上記情報を生成してもよい。また、実パケット生成部231は、ペイロードに格納されたデータとの間で矛盾が起きないようにTCPヘッダ等に含まれるチェックサムを計算する。
 実パケット送信部232は、実パケット生成部231が生成した実パケットを実ネットワーク(例えば、実際のルータ等に接続されたイーサネット(登録商標)ケーブル)に送信する。
 続いて、第1の実施形態に係る情報処理装置10の動作について説明する。
 図15は、第1の実施形態に係る情報処理装置10の学習モードにおける動作の一例を示すフローチャートである。
 情報処理装置10は、パケット送信源であるIoTデバイス20に関する情報を入力する(ステップS101)。
 情報処理装置10は、IoTデバイス20からネットワーク(実環境のネットワーク)に流されるトラヒックフローを取得し、学習対象となるトラヒックパターンを抽出する(ステップS102)。
 情報処理装置10は、抽出したトラヒックパターンからトラヒックパターン生成モデルを生成する(ステップS103)。
 情報処理装置10は、当該生成したトラヒックパターン生成モデルにラベルを付与し、記憶部205に格納する(ステップS104)。
 図16は、第1の実施形態に係る情報処理装置10のシミュレーションモードにおける動作の一例を示すフローチャートである。
 情報処理装置10は、シミュレートするネットワークに関する情報を入力する(ステップS201)。具体的には、ネットワークの構成や使用される通信機器の詳細が入力される。
 情報処理装置10は、取得したネットワークの構成をツリー構造にて管理し、当該ツリー構造のノードに模擬部(送信源模擬部223、転送ノード模擬部224)を割り当てる(ステップS202)。
 情報処理装置10は、各模擬部に必要な設定(例えば、送信源模擬部223にラベル等を入力し、転送ノード模擬部224にプロファイルを設定する)を行った後にシミュレーションを開始する(ステップS203)。
 情報処理装置10は、シミュレーション結果を外部装置に出力する(ステップS204)。
 以上のように、第1の実施形態に係る情報処理装置10は、実際のシステムにて稼働しているIoTデバイス20からネットワークに流されるトラヒックを学習(教師なし学習)し、当該トラヒックを再現するトラヒックパターン生成モデルを生成する。その後、情報処理装置10は、上記IoTデバイス20が接続されるネットワークのパケット転送を上記生成されたトラヒックパターン生成モデルを用いてシミュレートする。シミュレートした結果、ネットワークの性能(例えば、エッジルータ23のスループット)が想定よりも悪ければ、ネットワークの構成を変更して再びその性能を確認するといった対応が可能となる。
 また、IoTデバイス20はその動作環境が異なればトラヒックパターンも異なるが、第1の実施形態では、そのような動作環境等の違いも考慮してトラヒックパターン生成モデルが生成されるので、ネットワーク構成の適否に関するより正確な判断が行われる。
 ここで、IoTデバイス20のトラヒックを再現する手法には、本願開示の手法以外にも存在する。例えば、作業者がIoTデバイス20のトラヒックを再現するようにパラメータを設定し、当該パラメータに従う確率分布からパケットを生成するマニュアルアプローチがある。マニュアルアプローチでは、動作環境の違いごとにパラメータを設定するのは多大な労力を要し、現実的な対応ではない。
 また、一度、最適なネットワーク構成を定めたとしても事業者の業務拡大などの理由により、IoTデバイス20の数が増減する場合がある。この場合、既存のネットワークをどのように変更したらよいか決定する必要があるが、第1の実施形態に係る情報処理装置10を用いればこのような決定を容易に行うことができる。具体的には、図8に示すような情報処理装置10に入力するネットワーク構成のIoTデバイス20の数を変更した上で、シミュレーションを実行すればよい。例えば、IoTデバイス20の数を増やす場合(スケールアップの場合)には、スケールアップ後のネットワークの性能が十分か否かを確認する。あるいは、IoTデバイス20の数を減らす場合(スケールアウトする場合)には、スケールアウト後のネットワーク性能が余剰か否かを確認する。
 このように、第1の実施形態に係る情報処理装置10は、トラヒックパターン生成モデルを用いてネットワークのパケット転送をシミュレートするので、IoTデバイス20をスケールした場合やネットワークの構成が変更された場合の影響を容易に検証できる。
 なお、上述の特定部102は、シミュレーション実行部222と送信源模擬部233の動作を包含するモジュールである。つまり、シミュレーション実行部222がトラヒックパターン生成モデル管理情報を参照する動画が特定部102の「トラヒックパターン生成モデルにおける仮想トラヒックに基づく」に対応する。また、送信源模擬部233がトラヒックパターン生成モデル管理情報から得られたラベルに基づき記憶部205に格納されたトラヒックパターン生成モデルを選択する動作が「トラヒックパターン生成モデルの出力にかかるトラヒックを特定する」に対応する。また、パケット生成部202は、特定部102により特性されたトラヒック(仮想パケットの集合)に基づいてパケットを生成する。
[第2の実施形態]
 続いて、第2の実施形態について図面を参照して詳細に説明する。
 第1の実施形態では、IoTデバイス21とゲートウェイ22の間のリンクや、ゲートウェイ22とルータ23の間のリンクは理想的な性能を持つことを前提としている。即ち、IoTデバイス21から送信されたパケット(仮想パケット)は瞬時にゲートウェイ22に到着し、遅延を持たない前提となっている。また、IoTデバイス21から送信された全てのパケットはゲートウェイ22に到着することも前提としている。
 しかし、実環境のリンクは、上記の理想的な性能を有しておらず、送信パケットは遅延したり所定の割合で損失(パケットロス)したりする。
 第2の実施形態では、上記のようなリンクの特性をモデル化し、IoTデバイス21から送信された仮想パケットを当該モデル化されたリンクを介してゲートウェイ22等に送信する場合について説明する。即ち、第2の実施形態では、リンクの特性を再現することで、より実環境に近い状態でのシミュレーション結果を得ることを可能とする。
 図17は、第2の実施形態に係る情報処理装置10の処理構成(処理モジュール)の一例を示す図である。図17を参照すると、第1の実施形態に情報処理装置10に対してリンク模擬部225が追加されている。
 以下、第1及び第2の実施形態にて相違する点を中心に説明する。
 リンク模擬部225は、シミュレーションの対象となっているネットワークのリンクの特性を模擬する手段である。より具体的には、リンク模擬部225は、ノード(IoTデバイス21、ゲートウェイ22、ルータ23)間のリンク特性を模擬(シミュレート)する。送信源模擬部223から送信される仮想パケットは、リンク模擬部225を経由して送信源模擬部223から転送ノード模擬部224に送信される。
 リンク模擬部225は、リンクのネットワーク特性を再現する。具体的には、シミュレーション実行部222は、リンク模擬部225に対して設定ファイル(以下、リンクプロファイルと表記する)を入力する。
 当該リンクプロファイルには、上記リンクのネットワーク特性を表現する通信品質(例えば、遅延、ビットレート、ロス率等)が記載されている。リンク模擬部225は、当該通信品質に従い、受信した仮想パケットに対して送信制御を実行する。
 例えば、リンク模擬部225は、下記の式(1)に従い、受信した仮想パケットの送信時刻を決定し、後段のノード(ゲートウェイ22等)に送信する。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、Tはパケット生成予定時刻、Dはキューイング遅延、Lはパケット長(パケットサイズ)、BRはビットレートである。キューイング遅延やビットレートはリンクプロファイルに記載された値が用いられる。
 あるいは、リンク模擬部225は、リンクプロファイルに記載されたロス率に応じて、受信した仮想パケットを破棄する。
 このように、リンク模擬部225は、リンクプロファイルに記載された通信品質に応じて、パケット送信間隔の調整やパケットロスの確率的発生を行う。
 リンクプロファイルの生成に関し、管理者が実環境にて測定された結果を用いてリンクプロファイルを生成することができる。情報処理装置10又は別の装置が、通信品質を測定し、その結果に基づいてリンクプロファイルを生成してもよい。あるいは、時間帯によって通信品質が変化する場合には、当該通信品質の変化パターンをシナリオしてリンクプロファイルが生成されてもよい。この場合、時間帯ごとの通信品質を含むリンクプロファイルが生成されればよい。
 シミュレーション実行部222は、ツリー構造のノード間にリンク模擬部225を配置する。例えば、シミュレーション実行部222は、図18に示すように、送信源模擬部223と転送ノード模擬部224の間にリンク模擬部225を配置する。
 シミュレーション実行部222は、配置されたリンク模擬部225の位置に応じたリンクプロファイルを対応するリンク模擬部225に入力する。その後、シミュレーション実行部222は、各モジュール(送信源模擬部223、転送ノード模擬部224、リンク模擬部225)を起動し、ネットワークにおけるパケット転送をシミュレートする。
 以上のように、第2の実施形態に係る情報処理装置10は、リンク模擬部225を用いてノード間のリンク特性を再現する。その結果、情報処理装置10はより正確なシミュレーション結果を出力することができる。
[第3の実施形態]
 続いて、第3の実施形態について図面を参照して詳細に説明する。
 第3の実施形態では、上記説明した情報処理装置10の適用について説明する。情報処理装置10を使って、ネットワークに関する知見を具備していない事業者に向けて当該事業者が想定しているネットワークの仕様に適したネットワーク構成を提供することができる。
 以降の説明では、工場等にネットワークを構築したい事業者を「顧客」と表記し、当該顧客に対して最適なネットワーク構成を提案する事業者を「コンサルタント」と表記する。
 図19は、第3の実施形態に係る情報処理装置10の処理構成(処理モジュール)の一例を示す図である。第3の実施形態に係る情報処理装置10は、第1及び第2の実施形態に係る情報処理装置10に対して顧客仕様入力部206とシミュレーション管理部207が追加されている。
 コンサルタントは、顧客から最適なネットワーク構成の提案依頼を受けると、当該顧客から自身のネットワークに関する仕様(以下、顧客ネットワーク仕様と表記する)を取得する。具体的には、コンサルタントは、想定しているネットワークの概略構成、ネットワークに含まれるIoTデバイス20の数、ネットワークの出口におけるスループット等に関する性能等を顧客からヒアリングする。
 顧客仕様入力部206は、上記コンサルタントがヒアリングした結果を入力する手段である。つまり、顧客仕様入力部206は、シミュレーションの対象となるネットワークの仕様を入力する。例えば、顧客仕様入力部206は、図9、図11、図20等に示すようなGUIを表示するための情報を生成し、表示部203を介して液晶モニタ等に表示する。
 顧客仕様入力部206は、GUI等により取得した情報(顧客ネットワーク仕様)を記憶部205に格納する。なお、上記顧客のネットワークに関する要求仕様の取得に前後して、コンサルタントは、顧客のネットワークに含まれるIoTデバイス20のトラヒックパターンを学習しておく。具体的には、情報処理装置10を学習モードで実行し、顧客のネットワークにて用いられる予定のIoTデバイス20に関するトラヒックパターンを学習し、トラヒックパターン生成モデルを生成する。
 なお、上記IoTデバイス20のトラヒックパターン学習に関し、過去に他の顧客のネットワークから学習したIoTデバイス20のトラヒックパターン生成モデルの再利用が可能な場合には上記学習は不要である。即ち、コンサルタントは、数多くの業務をこなすことにより、各種IoTデバイス20のトラヒックパターンを再利用することが多くなる。
 IoTデバイス20のトラヒックパターンの学習と顧客ネットワーク仕様の入力が終了すると、情報処理装置10は、顧客の最適なネットワーク構成の算出を始める。具体的には、シミュレーション管理部207は、顧客ネットワーク仕様に含まれるネットワーク概略構成を参照し、当該概略構成に相当するネットワークテンプレートを取得する。
 例えば、図21に示すように、記憶部205には、各ネットワーク概略構成に対応したネットワークテンプレートが格納されている。ネットワークテンプレートに記載された通信機器のプロファイルも予め対応付けられて管理されている。
 図20の例では、「2段の無線接続」が顧客ネットワーク仕様に含まれるので、図21の中央に示すテンプレートが選択される。
 次に、シミュレーション管理部207は、顧客ネットワーク仕様に含まれるIoTデバイス20の数をネットワークテンプレートに反映する。図20の例では、5台のIoTデバイス20がネットワークに接続されるため、図22Aに示すようなネットワーク構成が得られる。
 シミュレーション管理部207は、顧客のネットワークで稼働するIoTデバイス20の数が反映されたネットワークテンプレートをパケット生成部202に引き渡し、シミュレーションの実行を指示する。
 パケット生成部202は、上記実施形態にて説明した方法により生成した仮想パケットをシミュレーション管理部207に出力する。シミュレーション管理部207は、取得した仮想パケットに基づき、ネットワークの性能が顧客ネットワーク仕様に含まれる性能(例えば、スループット)を満たすか否かを判定する。
 シミュレーション管理部207は、ネットワークの性能が満たされていれば、パケット生成部202に渡したネットワーク構成が顧客にとって最適なネットワーク構成であると判断する。対して、シミュレーション管理部207は、ネットワークの性能が満たされていなければ、ネットワークテンプレートに含まれるノード数を拡大し、当該拡大後のネットワーク構成を基にシミュレーションを実行するようにパケット生成部202に指示する。
 例えば、シミュレーション管理部207は、図22Bに示すネットワーク構成をパケット生成部202に引き渡し、シミュレーションの実行を指示する。
 シミュレーション管理部207は、上記のような処理を繰り返し、顧客ネットワーク仕様に記載された性能(スループット)を満たすネットワーク構成を発見する。
 情報処理装置10は、発見したネットワーク構成を出力する。具体的には、図22Bに示すような構成図をUSBメモリ等に格納してもよいし、表示部203を介して液晶モニタ等に表示してもよい。コンサルタントは、当該発見されたネットワーク構成を顧客にとって最適なネットワーク構成として提案する。
 図23は、第3の実施形態に係る情報処理装置10の動作の一例を示すフローチャートである。
 情報処理装置10は、コンサルタントから顧客ネットワーク仕様を入力する(ステップS301)。
 情報処理装置10は、当該顧客ネットワーク仕様に基づき、パケット転送のシミュレーションを実行する(ステップS302)。
 情報処理装置10は、シミュレーションの結果、ネットワークが顧客の要求を満たすか否か判定する(ステップS303)。ネットワークが顧客の要求を満たさない場合(ステップS303、No分岐)、情報処理装置10は、ネットワークの構成を変更(ステップS304)し、再びシミュレーションを実行する。
 ネットワークが顧客の要求を満たす場合(ステップS303、Yes分岐)、情報処理装置10は、当該ネットワークが最適なネットワークであるとして判断し出力する(ステップS305)。
 なお、第3の実施形態では、顧客ネットワーク仕様にて使用するIoTデバイス20の数を入力しているが、IoTデバイス20の種類や使用されるアプリケーションを入力してもよい。また、上記説明では、外部のネットワークに接続される出口における性能をパケット生成部202から出力された仮想パケットに基づき評価しているが、実際のパケットを外部ネットワークに流して性能を評価してもよい。その際の外部ネットワークは、顧客のテスト環境であってもよいし実際のネットワークであってもよい。
 以上のように、第3の実施形態では、情報処理装置10は、入力したネットワークの仕様に適するネットワーク構成が得られるまで、パケット転送のシミュレーションを繰り返す。その結果、コンサルタントは、情報処理装置10を用いて顧客に最適なネットワーク構成を提案できる。
[第4の実施形態]
 続いて、第4の実施形態について図面を参照して詳細に説明する。
 第4の実施形態では、上記説明した情報処理装置10を使ったネットワークの負荷の検証を説明する。より具体的には、実ネットワークに含まれるパケット送信源(IoTデバイス20)の数を増加(IoTデバイス20をスケールアップ)した場合、当該ネットワークに接続された機器の負荷上昇を調べる用途に情報処理装置10を使用することができる。
 例えば、図24に示すように、ネットワーク11とルータ12が接続されている場合を考える。この場合、ネットワーク11に含まれるIoTデバイス20の数を増加させた場合、ルータ12の負荷がどの程度上昇するか情報処理装置10を使って検証する。
 情報処理装置10は、稼働中のネットワーク11からIoTデバイス20のトラヒックパターンを学習し、トラヒックパターン生成モデルを生成する。その後、オペレータ等は、ネットワーク11とルータ12の接続をスイッチ13により切り離し、情報処理装置10とルータ12を接続する。
 情報処理装置10は、生成されたトラヒックパターン生成モデルを複製し、ネットワーク11のパケット送信源が増えた状況をシミュレートし、実パケットをルータ12に向けて送信する。その結果、パケット送信源であるIoTデバイス20の数が仮想的に増加し、ルータ12に到着するパケットの数が増加する。
 オペレータは、ルータ12の負荷上昇を調べることで、ネットワーク11のパケット送信源(IoTデバイス21)をスケールアップした際のルータ12への影響を調べることができる。
 以上のように、情報処理装置10を用いることでシステムの負荷を検証することができる。
[第5の実施形態]
 続いて、第5の実施形態について図面を参照して詳細に説明する。
 第5の実施形態では、情報処理装置10を用いてシステムのセキュリティが正しく機能しているか否か検証する場合について説明する。第5の実施形態では、図25に示すように、ネットワーク11の構成を情報処理装置10の内部で再現する。
 その上で、情報処理装置10は、パケット送信源(IoTデバイス20)のうちの少なくとも1台以上に不正規な動作をさせる。具体的には、IoTデバイス20に対応する複数のトラヒックパターン生成モデルのうち1つ以上を選択し、当該選択したトラヒックパターン生成モデルを変更する。
 例えば、情報処理装置10は、大小を反転させた確率分布や予め定めた不正規な確率分布に上記選択したトラヒックパターン生成モデルを変更する。その後、情報処理装置10は、第1の実施形態にて説明した動作を実行し、不正規なIoTデバイス20が送信したパケットが含まれるトラヒックフローを生成し、ルータ12に送信する。
 オペレータは、上記フローを受信したルータ12が不審な挙動を示すか否かを検証する。
 以上のように、情報処理装置10を使ってシステムのセキュリティを検証することができる。
 続いて、情報処理装置10のハードウェアについて説明する。図26は、情報処理装置10のハードウェア構成の一例を示す図である。
 情報処理装置10は、コンピュータであり、図26に例示する構成を備える。例えば、情報処理装置10は、プロセッサ311、メモリ312、入出力インターフェイス313及び通信インターフェイス314等を備える。上記プロセッサ311等の構成要素は内部バス等により接続され、相互に通信可能に構成されている。
 但し、図26に示す構成は、情報処理装置10のハードウェア構成を限定する趣旨ではない。情報処理装置10は、図示しないハードウェアを含んでもよいし、必要に応じて入出力インターフェイス313を備えていなくともよい。また、情報処理装置10に含まれるプロセッサ311等の数も図26の例示に限定する趣旨ではなく、例えば、複数のプロセッサ311が情報処理装置10に含まれていてもよい。
 プロセッサ311は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)等のプログラマブルなデバイスである。あるいは、プロセッサ311は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のデバイスであってもよい。プロセッサ311は、オペレーティングシステム(OS;Operating System)を含む各種プログラムを実行する。
 メモリ312は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等である。メモリ312は、OSプログラム、アプリケーションプログラム、各種データを格納する。
 入出力インターフェイス313は、図示しない表示装置や入力装置のインターフェイスである。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
 通信インターフェイス314は、他の装置と通信を行う回路、モジュール等である。例えば、通信インターフェイス314は、NIC(Network Interface Card)や無線通信回路等を備える。
 情報処理装置10の機能は、各種処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ312に格納されたプログラムをプロセッサ311が実行することで実現される。また、当該プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transitory)なものとすることができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。また、上記プログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。
[変形例]
 なお、上記実施形態にて説明した情報処理装置10の動作等は例示であって、その動作等を限定する趣旨ではない。例えば、情報処理装置10に含まれる各処理モジュール(学習部201、パケット生成部202等)は別々の装置に実装されてもよい。即ち、本願開示は、学習手段やパケット生成手段等を含むシステムとして実施されてもよい。
 例えば、情報処理装置10は、シミュレーションを実行しているネットワークの出口(エッジルータ)からのパケットだけでなく、途中の転送ノードが転送するパケットを外部装置に出力してもよい。例えば、図8の例では、ゲートウェイ22-1やゲートウェイ22-2からルータ23に送信される仮想パケットを外部装置に出力してもよい。このような対応により、ネットワークを構成する各通信機器における性能評価を実施することもできる(例えば、各機器のスループットが評価できる)。その結果、管理者等は、ネットワークシステムのボトルネック等を容易に発見することもできる。
 上記実施形態では、仮想パケットは時刻とパケットサイズの情報だけを持つものとして説明したが、仮想パケットに他の情報が含まれていてもよい。例えば、仮想パケットには、IPアドレス、ポート番号等が含まれていてもよい。あるいは、仮想パケットには、シーケンス番号が含まれていてもよい。この場合、シーケンス番号から破棄されたパケットの存在を認識できるので、情報処理装置10は、ゲートウェイ22やルータ23がドロップしたパケット数を計数することでパケットロス率を計算できる。
 上記実施形態では、パケット送信源であるIoTデバイス20が不正規な動作をした場合のシステムのセキュリティを検証できることを説明した。しかし、不正規な動作をするのは、転送ノード(ゲートウェイ22やルータ23)であってもよい。その結果、ゲートウェイ22等が故障した場合や縮退動作に陥った場合のシステム動作(システムへの影響)を検証することができる。
 情報処理装置10は、生成したトラヒックパターン生成モデルを外部に出力することもできる。具体的には、情報処理装置10は、生成したトラヒックパターン生成モデルと当該モデルを生成する際に元になった情報(種別、動作環境)を対応付けてデータベースサーバ等に格納してもよい。当該データベースサーバに格納されたトラヒックパターン生成モデルが複数の情報処理装置10により共有されてもよい。あるいは、トラヒックパターン生成モデルとその関連情報が外販されてもよい。
 上記実施形態では、顧客ネットワーク仕様に適するネットワーク構成を探索する際、転送ノード(例えば、ゲートウェイ22)の数を増やすことでネットワークの処理能力を増強している。しかし、情報処理装置10は、ネットワークの構成を固定し、各ノードの能力(例えば、プロファイルに記載されたバッファサイズ等)を徐々に増強し、最適なネットワーク構成の探索を行ってもよい。
 上記実施形態では、リンクプロファイルを用いてリンクの特性を再現する場合について説明したが、第1の実施形態で説明した隠れマルコフモデルを使ったモデル化によりリンク特性を再現してもよい。具体的には、ゲートウェイ22からルータ23に流れるトラヒック等を学習し、その結果が得られる学習モデルをリンク模擬部225としてもよい。
 あるいは、転送ノード模擬部224に、帯域制御等を実行させるようなプロファイルを設定し、より現実に近いパケット転送のシミュレーションを実行してもよい。
 上記実施形態では、事業者のネットワークから送信されるトラヒックを直接受信するルータ12の性能等を検証する場合について説明した。しかし、検証するポイントは他の装置であってもよい。例えば、プライベートLTEのアップリンク性能を調査する場合、IoTゲートウェイまでは本願開示の情報処理装置10で模擬し、IoTゲートウェイから基地局までのトラヒックは実パケットを用いてもよい。
 あるいは、IoTデバイス20がアクセスするサーバ30の負荷を調査する場合には、サーバ30の直前までのパケット転送を本願開示の情報処理装置10で模擬し、サーバ30に送信するパケットを実パケットとしてもよい。
 あるいは、複数のプライベートLTEからコア網へのネットワーク負荷を調査する場合、基地局(より正確にはEPC)までのパケット転送を複数の情報処理装置10で模擬し、各情報処理装置10からコア網へ実パケットを送信してもよい。
 本願開示が提供可能なネットワークは、WiFi(Wireless Fidelity;登録商標)のような無線LAN(Local Area Network)システムであってもよいし、LTE(Long Term Evolution)のようなモバイル通信システムであってもよい。
 また、企業内ネットワークや、工場内ネットワーク、家庭内ネットワーク等の任意のネットワークが本願開示の適用対象である。この場合、企業内ルータ、工場内ルータ、家庭内のルータまでのパケット転送がシミュレーションの対象となる。
 情報処理装置10がトラヒックパターンを学習する対象はIoTデバイス20に限定されず、スマートフォン等の端末とすることができる。また、IoTデバイスやロボット等でネットワークが終端される場合、特定のデバイス(スケールアップ、アウトしたいデバイス)のトラヒックを収集、学習し、当該トラヒックのパターンを生成してもよい。あるいは、パーソナルコンピュータやスマートフォン等の端末でネットワークを終端する場合、キャリア網内等で特定のユーザ(ヘビーユーザ、一般ユーザ)のトラヒックを収集、学習し、当該トラヒックのパターンを生成してもよい。
 上記実施形態では、情報処理装置10をコンサルタント用途に用いる場合、ネットワークの性能が顧客の要望を満たすか否かが判定され、その結果に応じて情報処理装置10の動作を変更している。しかし、情報処理装置10は、上記判定の度に、シミュレーションしたネットワーク構成がどの程度顧客の要望を満たしているのか、あるいは、顧客の要望をどの程度満たしていないのかを出力してもよい。例えば、顧客によるスループットの要望が10Mbps、シミュレートしたスループットの結果が5Mbpsであれば、情報処理装置10は、顧客の要望に関する充足度を50%と計算する。情報処理装置10が、顧客の要望に関する充足度合いを、コンサルタントを介して顧客に提示することで、顧客による性能の妥協やネットワーク構成の再検討等を促すことができる。あるいは、情報処理装置10は、シミュレーションした構成とスループットの値を出力して、再度構成を変えてシミュレーションするかをオペレータに選択させてもよい。
 上記実施形態では、シミュレーション対象のネットワーク構成をツリー構造にて管理し、各ノードに模擬部を割り当てることでシミュレーションを実行する場合について説明した。しかしながら、他の方法によってパケット転送がシミュレートされてもよい。具体的には、シミュレーション実行部222が、根ノードにある仮想パケットを実パケットとして生成する場合を考える。この場合、シミュレーション実行部222は、当該仮想パケットを生成した送信源となる葉ノードに向かって、パス(根ノードから葉ノードまでに経由するノード番号リスト)を算出する。葉ノードは、トラヒックパターン生成モデルに従いサイズと時刻が設定された仮想パケットを1つ生成し、パスを1つ戻った中間ノード(上位ノード)に出力する。中間ノードは受け取ったパケットをバッファし、バッファされたパケットをソートすると共に、バッファの先頭パケットを、パスを1つ戻った中間ノードに出力する。シミュレーション管理部207は、このような動作を繰り返し、根ノードまで到達したときに、バッファの先頭にある仮想パケットの実パケットとしての生成時刻になり次第、実パケットを生成する。このように、再帰的な処理によりネットワーク上のパケット転送がシミュレートされてもよい。このような再帰的処理により、パケット転送のシミュレーションが少数プロセスで稼動できるようになる。即ち、ネットワーク構成が与えられると、個々の送信源から発生するパケットとその伝播が論理的に計算され、トラヒックが集約されたノード(例えば、ゲートウェイ)が実パケットを生成する機能を持つことになる。その結果、少数プロセスでありながら、あたかも多数の送信源からトラヒックが生成されたかのように見せかけることができる。
 上記実施形態で説明した複数のフローチャート、シーケンス図では、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
 端末(20)のトラヒックパターンを学習することで、前記トラヒックパターンを再現するトラヒックパターン生成モデルを生成する、モデル生成部(101、213)と、
 ネットワーク上で前記端末(20)が送信するパケットのパケット転送をシミュレーションするための仮想パケットを、前記トラヒックパターン生成モデルに基づいて生成する、パケット生成部(202)と、
 を備える、情報処理装置(10、100)。
[付記2]
 前記仮想パケットは時刻とパケットサイズの情報を含む、付記1に記載の情報処理装置(10、100)。
[付記3]
 前記シミュレーションの対象となるネットワークはツリー構造により管理され、
 前記パケット生成部(202)は、
 前記ツリー構造の葉ノードに割り当てられる送信源模擬部(223)と、
 前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬部(224)と、を備え、
 前記送信源模擬部(223)は、前記仮想パケットを親ノードに相当する前記転送ノード模擬部(224)に送信する、付記1又は2に記載の情報処理装置(10、100)。
[付記4]
 前記転送ノード模擬部(224)は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、付記3に記載の情報処理装置(10、100)。
[付記5]
 前記パケット生成部(202)は、
 ネットワークのリンクの特性を模擬するリンク模擬部(225)をさらに備え、
 前記仮想パケットは、前記リンク模擬部(225)を経由して前記送信源模擬部(223)から前記転送ノード模擬部(224)に送信される、付記3又は4に記載の情報処理装置(10、100)。
[付記6]
 前記シミュレーションの対象となるネットワークの仕様を入力する、入力部(206)と、
 前記入力したネットワークの仕様に適するネットワーク構成が得られるまで、前記パケット転送のシミュレーションを繰り返す、管理部(207)と、
 をさらに備える、付記3乃至5のいずれか一つに記載の情報処理装置(10、100)。
[付記7]
 情報処理装置(10、100)において、
 端末(20)のトラヒックパターンを学習することで、前記トラヒックパターンを再現するトラヒックパターン生成モデルを生成するステップと、
 ネットワーク上で前記端末(20)が送信するパケットのパケット転送をシミュレーションするための仮想パケットを、前記トラヒックパターン生成モデルに基づいて生成するステップと、を含むパケット生成方法。
[付記8]
 前記仮想パケットは時刻とパケットサイズの情報を含む、付記7に記載のパケット生成方法。
[付記9]
 前記シミュレーションの対象となるネットワークはツリー構造により管理され、
 前記情報処理装置(10、100)は、
 前記ツリー構造の葉ノードに割り当てられる送信源模擬部(223)と、
 前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬部(224)と、を備え、
 前記送信源模擬部(223)が、前記仮想パケットを親ノードに相当する前記転送ノード模擬部(224)に送信するステップと含む、付記7又は8に記載のパケット生成方法。
[付記10]
 前記転送ノード模擬部(224)は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、付記9に記載のパケット生成方法。
[付記11]
 前記情報処理装置(10、100)は、
 ネットワークのリンクの特性を模擬するリンク模擬部(225)をさらに備え、
 前記仮想パケットが、前記リンク模擬部(225)を経由して前記送信源模擬部(223)から前記転送ノード模擬部(224)に送信されるステップを含む、付記9又は10に記載のパケット生成方法。
[付記12]
 前記シミュレーションの対象となるネットワークの仕様を入力するステップと、
 前記入力したネットワークの仕様に適するネットワーク構成が得られるまで、前記パケット転送のシミュレーションを繰り返すステップと、
 を含む、付記9乃至11のいずれか一つに記載のパケット生成方法。
[付記13]
 情報処理装置(10、100)に搭載されたコンピュータ(311)に、
 端末(20)のトラヒックパターンを学習することで、前記トラヒックパターンを再現するトラヒックパターン生成モデルを生成する処理と、
 ネットワーク上で前記端末(20)が送信するパケットのパケット転送をシミュレーションするための仮想パケットを、前記トラヒックパターン生成モデルに基づいて生成する処理と、
 を実行させるプログラム。
[付記14]
 前記仮想パケットは時刻とパケットサイズの情報を含む、付記13に記載のプログラム。
[付記15]
 前記シミュレーションの対象となるネットワークはツリー構造により管理され、
 前記情報処理装置(10、100)は、
 前記ツリー構造の葉ノードに割り当てられる送信源模擬部(223)と、
 前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬部(224)と、を備え、
 前記送信源模擬部(223)が、前記仮想パケットを親ノードに相当する前記転送ノード模擬部(224)に送信する処理を前記コンピュータに実行させる、付記13又は14に記載のプログラム。
[付記16]
 前記転送ノード模擬部(224)は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、付記15に記載のプログラム。
[付記17]
 前記情報処理装置(10、100)は、
 ネットワークのリンクの特性を模擬するリンク模擬部(225)をさらに備え、
 前記仮想パケットが、前記リンク模擬部(225)を経由して前記送信源模擬部(223)から前記転送ノード模擬部(224)に送信させる処理を前記コンピュータに実行させる、付記15又は16に記載のプログラム。
[付記18]
 前記シミュレーションの対象となるネットワークの仕様を入力する処理と、
 前記入力したネットワークの仕様に適するネットワーク構成が得られるまで、前記パケット転送のシミュレーションを繰り返す処理と、
 を前記コンピュータに実行させる、付記15乃至17のいずれか一つに記載のプログラム。
 なお、引用した上記の先行技術文献の各開示は、本書に引用をもって繰り込むものとする。以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
 この出願は、2019年9月17日に出願された日本出願特願2019-168014を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、接続される端末の特性に応じたネットワーク構成を容易に発見することに寄与する。
10、100 情報処理装置
11 ネットワーク
12、23 ルータ
13 スイッチ
14 端末
15 基地局
16 WiFi(登録商標)ルータ
17 企業内ルータ
20、21、21-1~21-6 IoTデバイス
22、22-1、22-2 ゲートウェイ
30 サーバ
101、213 モデル生成部
102 特定部
201 学習部
202 パケット生成部
203 表示部
204 出力部
205 記憶部
206 顧客仕様入力部
207 シミュレーション管理部
211 学習対象入力部
212 パケット取得部
221 ネットワーク情報入力部
222 シミュレーション実行部
223、223-1~223-3 送信源模擬部
224、224-1~224-3 転送ノード模擬部
225 リンク模擬部
231 実パケット生成部
232 実パケット送信部
311 プロセッサ
312 メモリ
313 入出力インターフェイス
314 通信インターフェイス
 

Claims (24)

  1.  端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する、モデル生成部と、
     前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定する、特定部と、
     を備える、情報処理装置。
  2.  前記特定されたトラヒックに基づいて、パケットを生成するパケット生成部を更に備える、請求項1に記載の情報処理装置。
  3.  前記パケット生成部は、
     ネットワークの構成を管理するツリー構造の葉ノードに割り当てられる送信源模擬部と、
     前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬部と、を備え、
     前記送信源模擬部は、前記トラヒックパターン生成モデルから出力された仮想パケットを親ノードに相当する前記転送ノード模擬部に送信する、請求項2に記載の情報処理装置。
  4.  前記転送ノード模擬部は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、請求項3に記載の情報処理装置。
  5.  前記パケット生成部は、
     前記ネットワークのリンクの特性を模擬するリンク模擬部をさらに備え、
     前記仮想パケットは、前記リンク模擬部を経由して前記送信源模擬部から前記転送ノード模擬部に送信される、請求項3又は4に記載の情報処理装置。
  6.  前記ネットワークの仕様を入力する、入力部と、
     前記入力されたネットワークの仕様に適するネットワーク構成が得られるまで、前記パケットの転送を繰り返す、管理部と、
     をさらに備える、請求項3乃至5のいずれか一項に記載の情報処理装置。
  7.  情報処理装置において、
     端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成するステップと、
      前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定するステップと、を含むパケット生成方法。
  8.  前記特定されたトラヒックに基づいて、パケットを生成するステップを更に備える、請求項7に記載のパケット生成方法。
  9.  前記情報処理装置は、
     ネットワークの構成を管理するツリー構造の葉ノードに割り当てられる送信源模擬部と、
     前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬部と、を備え、
     前記送信源模擬部が、前記トラヒックパターン生成モデルから出力された仮想パケットを親ノードに相当する前記転送ノード模擬部に送信するステップと含む、請求項8に記載のパケット生成方法。
  10.  前記転送ノード模擬部は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、請求項9に記載のパケット生成方法。
  11.  前記情報処理装置は、
     前記ネットワークのリンクの特性を模擬するリンク模擬部をさらに備え、
     前記仮想パケットが、前記リンク模擬部を経由して前記送信源模擬部から前記転送ノード模擬部に送信されるステップを含む、請求項9又は10に記載のパケット生成方法。
  12.  前記ネットワークの仕様を入力するステップと、
     前記入力されたネットワークの仕様に適するネットワーク構成が得られるまで、前記パケットの転送を繰り返すステップと、
     を含む、請求項9乃至11のいずれか一項に記載のパケット生成方法。
  13.  端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する、モデル手段と、
     前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定する、特定手段と、
     を含む、システム。
  14.  前記特定されたトラヒックに基づいて、パケットを生成するパケット生成手段を更に含む、請求項13に記載のシステム。
  15.  前記パケット生成手段は、
     ネットワークの構成を管理するツリー構造の葉ノードに割り当てられる送信源模擬手段と、
     前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬手段と、を含み、
     前記送信源模擬手段は、前記トラヒックパターン生成モデルから出力された仮想パケットを親ノードに相当する前記転送ノード模擬手段に送信する、請求項14に記載のシステム。
  16.  前記転送ノード模擬手段は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、請求項15に記載のシステム。
  17.  前記パケット生成手段は、
     前記ネットワークのリンクの特性を模擬するリンク模擬手段をさらに備え、
     前記仮想パケットは、前記リンク模擬手段を経由して前記送信源模擬手段から前記転送ノード模擬手段に送信される、請求項15又は16に記載のシステム。
  18.  前記ネットワークの仕様を入力する、入力手段と、
     前記入力されたネットワークの仕様に適するネットワーク構成が得られるまで、前記パケットの転送を繰り返す、管理手段と、
     をさらに含む、請求項15乃至17のいずれか一項に記載のシステム。
  19.  情報処理装置に搭載されたコンピュータに、
     端末のトラヒックパターンの学習に基づいてトラヒックパターン生成モデルを生成する処理と、
     前記トラヒックパターン生成モデルにおける仮想トラヒックに基づいて、前記トラヒックパターン生成モデルの出力にかかるトラヒックを特定する処理と、
     を実行させるプログラム。
  20.  前記特定されたトラヒックに基づいて、パケットを生成する処理を前記コンピュータにさらに実行させる、請求項19に記載のプログラム。
  21.  前記情報処理装置は、
     ネットワークの構成を管理するツリー構造の葉ノードに割り当てられる送信源模擬部と、
     前記ツリー構造の根ノード、内部ノードに割り当てられる転送ノード模擬部と、を備え、
     前記送信源模擬部が、前記トラヒックパターン生成モデルから出力された仮想パケットを親ノードに相当する前記転送ノード模擬部に送信する処理を前記コンピュータに実行させる、請求項20に記載のプログラム。
  22.  前記転送ノード模擬部は、予め定められた設定ファイルの設定に基づき前記仮想パケットを転送する、請求項21に記載のプログラム。
  23.  前記情報処理装置は、
     前記ネットワークのリンクの特性を模擬するリンク模擬部をさらに備え、
     前記仮想パケットが、前記リンク模擬部を経由して前記送信源模擬部から前記転送ノード模擬部に送信させる処理を前記コンピュータに実行させる、請求項21又は22に記載のプログラム。
  24.  前記ネットワークの仕様を入力する処理と、
     前記入力されたネットワークの仕様に適するネットワーク構成が得られるまで、前記パケットの転送を繰り返す処理と、
     を前記コンピュータに実行させる、請求項21乃至23のいずれか一項に記載のプログラム。
     
PCT/JP2020/028191 2019-09-17 2020-07-21 情報処理装置、パケット生成方法、システム、及びプログラム WO2021053966A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/640,570 US20220345396A1 (en) 2019-09-17 2020-07-21 Information processing apparatus, packet generation method, system, and program
JP2021546532A JP7363907B2 (ja) 2019-09-17 2020-07-21 情報処理装置、パケット生成方法、システム、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019168014 2019-09-17
JP2019-168014 2019-09-17

Publications (1)

Publication Number Publication Date
WO2021053966A1 true WO2021053966A1 (ja) 2021-03-25

Family

ID=74884190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/028191 WO2021053966A1 (ja) 2019-09-17 2020-07-21 情報処理装置、パケット生成方法、システム、及びプログラム

Country Status (3)

Country Link
US (1) US20220345396A1 (ja)
JP (1) JP7363907B2 (ja)
WO (1) WO2021053966A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023007731A1 (ja) * 2021-07-30 2023-02-02 日本電信電話株式会社 機械学習装置、機械学習プログラム、シミュレーション装置、および、シミュレーションプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001044993A (ja) * 1999-07-26 2001-02-16 Fujitsu Ltd ネットワークのシミュレーションモデル生成装置、その方法、及びその方法を実現するプログラムを記録した記録媒体
JP2004193816A (ja) * 2002-12-10 2004-07-08 Hitachi Ltd ネットワーク評価システム
JP2017041821A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 トラヒック観測システムおよび方法
JP2018195929A (ja) * 2017-05-16 2018-12-06 富士通株式会社 トラフィック管理装置、トラフィック管理方法およびプログラム
WO2019082965A1 (ja) * 2017-10-26 2019-05-02 日本電気株式会社 トラヒック分析装置、システム、方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11489749B2 (en) * 2018-06-06 2022-11-01 Eino, Inc. Mobile telecommunications network capacity simulation, prediction and planning
US9871691B2 (en) * 2014-09-16 2018-01-16 CloudGenix, Inc. Methods and systems for hub high availability and network load and scaling
CN107483251B (zh) * 2017-08-22 2020-02-21 国网辽宁省电力有限公司辽阳供电公司 一种基于分布式探针监测的网络业务异常侦测方法
JP6904307B2 (ja) * 2018-05-25 2021-07-14 日本電信電話株式会社 特定装置、特定方法及び特定プログラム
JP7296561B2 (ja) * 2018-07-18 2023-06-23 パナソニックIpマネジメント株式会社 情報処理装置、交通信号制御システムおよび交通信号制御方法
EP3611709A1 (de) * 2018-08-15 2020-02-19 Aurelius Bernet Verkehrsflusssimulator
WO2020098908A1 (en) * 2018-11-12 2020-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Technique for selecting a transport configuration for a data network
CN110009257B (zh) * 2019-04-17 2023-09-08 青岛大学 基于城市交通拥堵蔓延分析的多尺度可变窗口元胞自动机模型
GB2583747B (en) * 2019-05-08 2023-12-06 Vivacity Labs Ltd Traffic control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001044993A (ja) * 1999-07-26 2001-02-16 Fujitsu Ltd ネットワークのシミュレーションモデル生成装置、その方法、及びその方法を実現するプログラムを記録した記録媒体
JP2004193816A (ja) * 2002-12-10 2004-07-08 Hitachi Ltd ネットワーク評価システム
JP2017041821A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 トラヒック観測システムおよび方法
JP2018195929A (ja) * 2017-05-16 2018-12-06 富士通株式会社 トラフィック管理装置、トラフィック管理方法およびプログラム
WO2019082965A1 (ja) * 2017-10-26 2019-05-02 日本電気株式会社 トラヒック分析装置、システム、方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAKEO ONISHI ET AL.: "Traffic Prediction Method Based on Correlation between IoT Devices", ISPJJJ SIG TECHNICAL REPORT MULTIMEDIA COMMUNICATION AND DISTRIBUTED PROCESSING DPS, 6 September 2018 (2018-09-06), pages 1 - 6 *
TSUNEO KATSUYAMA ET AL.: "IP- Service Level Analysis for IP Networks", IPSJ JOURNAL, vol. 43, no. 2, 15 February 2002 (2002-02-15), pages 456 - 464 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023007731A1 (ja) * 2021-07-30 2023-02-02 日本電信電話株式会社 機械学習装置、機械学習プログラム、シミュレーション装置、および、シミュレーションプログラム

Also Published As

Publication number Publication date
JP7363907B2 (ja) 2023-10-18
US20220345396A1 (en) 2022-10-27
JPWO2021053966A1 (ja) 2021-03-25

Similar Documents

Publication Publication Date Title
Steinbach et al. An extension of the OMNeT++ INET framework for simulating real-time ethernet with high accuracy
JP2006025433A (ja) モバイル装置のテスト方法およびシステム
US9936409B2 (en) Analyzing and classifying signaling sets or calls
US20200012748A1 (en) Emulating client behavior in a wireless network
Costa et al. OpenFlow data planes performance evaluation
WO2021053966A1 (ja) 情報処理装置、パケット生成方法、システム、及びプログラム
Bello et al. Design and implementation of an educational testbed for experiencing with industrial communication networks
US11153193B2 (en) Method of and system for testing a computer network
Herrnleben et al. An iot network emulator for analyzing the influence of varying network quality
Alsulami et al. A real application enabled traffic generator for networking ai model development
US9391852B2 (en) Computer-readable recording medium and information processing apparatus
Banjar et al. Analysing the performance of the OpenFlow standard for software-defined networking using the OMNeT++ network simulator
Senk et al. Open-source testbeds for integrating time-sensitive networking with 5g and beyond
Budiyanto et al. Classification of Network Status in Academic Information Systems using Naive Bayes Algorithm Method
JPWO2021053966A5 (ja)
Maller et al. Cloud-in-the-Loop simulation of C-V2X application relocation distortions in Kubernetes based Edge Cloud environment
Feljan et al. A simulation framework for validating cellular V2X scenarios
Pinto et al. Hercules: An Emulation-Based Framework for Transport Layer Measurements over 5G Wireless Networks
Mohorko et al. Modeling methods in OPNET simulations of tactical command and control information systems
Beuran et al. Wireless network performance evaluation through emulation: WiMAX case study
Mishra et al. Scalability Analysis of an Emulated Platform for Heterogeneous Networks
Söderlund Investigating mobile broadband coverage in rural areas
Shen et al. End-to-end delay analysis for networked systems
Ramesh et al. Empirical delay models for 802.11 under deterministic convergecast traffic
Bhimavarapu Performance Analysis and Improvement of 5G based Mission Critical Motion Control Applications

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: 20866595

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021546532

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: 20866595

Country of ref document: EP

Kind code of ref document: A1