An embodiment of the present invention relates to a position control device, method, and program.
In order for a communication network (network) to be efficiently maintained and operated, the configuration of a target network (network topology), here, the connection relationship of nodes constituting the network is required to be displayed on a screen so as to be easily viewable by a network maintenance administrator (hereinafter, maintenance person) according to a purpose. In particular, in a complicated network or a network having a large number of nodes, it is a problem to specify how to arrange the nodes on the screen.
For the automatic arrangement of the nodes so that the configuration of the network is appropriately displayed on the screen, there are various methods, for example, methods shown in the following (1) and (2).
(1) Node Arrangement by Dynamic Model (Known First Technique)
The force-directed method, which is an algorithm based on a dynamic model, is well known as an algorithm that realizes an arrangement easily viewable by a maintenance person on the basis of a network topology (for example, see Non Patent Literature 1).
This dynamic model is a model used to calculate an arrangement of nodes in which a repulsive force is applied between nodes (for example, like a Coulomb repulsive force acting between molecules,), an attractive force acting like, for example, a spring is applied to an edge between connected nodes, and the sum of the attractive force and the repulsive force is used to minimize energy. When the attractive force and the repulsive force between the nodes are balanced, it brings about an arrangement result in which the nodes are easily viewable with a moderate sense of distance.
By appropriately applying the dynamic model, nodes and edges do not overlap with each other with a moderate sense of distance, and nodes having a connection relationship with each other are arranged close to each other, so that an easily viewable arrangement can be obtained.
However, here, since the arrangement of nodes is determined only on the basis of the information on the connection relationship between the nodes, an arrangement taking into consideration of information other than the connection relationship cannot be obtained.
(2) Node Arrangement in Hierarchical Network (Known Second Technique)
Although techniques for realizing a node arrangement based on a network hierarchy have been proposed and implemented, in many of these techniques, a directed acyclic graph (DAG) is assumed, or an arrangement in which nodes of the same layer are simply arranged in a line in a horizontal direction of a screen, for example, is executed.
There is a network being divided into several layers and having redundancy by a ring-shaped configuration.
There are the following demands (1) to (3) in displaying such a network configuration. However, it is difficult to obtain an arrangement that is easily viewable by a maintenance person with only the known first and second techniques.
The present invention has been made in view of the above circumstances, and an object thereof is to provide a position control device, method, and program capable of appropriately arranging nodes in consideration of the characteristics of the nodes.
A position control device according to an aspect of the present invention includes: a setting unit that inputs information on a plurality of nodes displayable on a screen and at least one edge connecting two of the multiple nodes, and sets a virtual node which generates an attractive force or a repulsive force for a node having a predetermined feature out of the plurality of nodes indicated by the information thus input; a calculation unit that calculates an attractive force or a repulsive force related to the plurality of nodes and the virtual node set by the setting unit; and a control unit that controls display positions of the plurality of nodes on the screen on the basis of the attractive force or the repulsive force calculated by the calculation unit. The term “virtual” in the “virtual node” is used to mean that the virtual node is not directly displayed on the screen but affects the arrangement of nodes.
A position control method according to an aspect of the present invention is a method performed by a position control device, and includes: inputting information on a plurality of nodes displayable on a screen and at least one edge connecting two of the plurality of nodes, and setting a virtual node which generates an attractive force or a repulsive force for a node having a predetermined feature out of the plurality of nodes indicated by the information thus input; calculating an attractive force or a repulsive force related to the plurality of nodes and the virtual node thus set; and controlling display positions of the plurality of nodes on the screen on the basis of the attractive force or the repulsive force thus calculated.
According to the present invention, it is possible to appropriately arrange nodes in consideration of the characteristics of the nodes.
An embodiment according to the present invention will be described below with reference to the drawings.
A network configuration diagram generation device (position control device) according to the embodiment of the present invention arranges a virtual node that causes an attractive force or a repulsive force to act only on a node having a specific feature, and controls a position of the node having the specific feature. Examples of the shape of the virtual node include a dotted shape and a linear shape.
For example, assuming that the network has three layers, the network configuration diagram generation device arranges a horizontal line-shaped virtual node, which applies an attractive force only to a device in the upper layer, at an upper part of the screen, arranges a horizontal line-shaped virtual node, which applies an attractive force only to a device in the middle layer, near the center of the screen, and arranges a horizontal line-shaped virtual node, which applies an attractive force only to a device in the lower layer, at a lower part of the screen.
The network configuration diagram generation device arranges nodes in each layer according to the dynamic model based on the conditions where the above virtual nodes are arranged.
As illustrated in
The network configuration information input unit 11 receives network configuration information from the outside. The network configuration information includes information on a node, information on an edge, and information indicating a feature (or an attribute) of the node.
The information input to the network configuration information input unit 11 is stored in the network configuration information storage unit 12. Hereinafter, the node indicated by the information stored in the network configuration information storage unit 12 may be referred to as a normal node.
The virtual node information input unit 13 inputs virtual node information from the outside. The virtual node information includes (1) information indicating a position and a shape of each virtual node which is a virtual node, (2) information indicating a feature of a node to which each virtual node applies an attractive force or a repulsive force, and (3) information indicating a type of force and a strength of the force generated from each virtual node. The type of force generated from each virtual node is an attractive force or a repulsive force generated from the virtual node.
The information input to the virtual node information input unit 13 is stored in the virtual node information storage unit 14.
Other units of the network configuration diagram generation device 100 will be described later.
The arrangement information determination unit 15 acquires information on each virtual node stored in the virtual node information storage unit 14. The arrangement information determination unit 15 acquires information on each node and each edge stored in the network configuration information storage unit 12. The arrangement information determination unit 15 determines an initial arrangement of each node including the virtual node (S11).
The arrangement information determination unit 15 calculates a vector representing a repulsive force between nodes for all the nodes indicated by the information stored in the network configuration information storage unit 12 (S13) unless the result of the process of S17 satisfies a completion condition when the subsequent processes of S13 to S17 are performed (No in S12).
As the completion condition, for example, various conditions are conceivable, such as judging each time whether or not the processes of S13 to S17 are iterated a sufficient number of times to stabilize the arrangement of the nodes or whether or not the arrangement of the nodes is stable. The number of times is predefined.
Next, the arrangement information determination unit 15 calculates a vector representing an attractive force exerted by the edge indicated by the information stored in the network configuration information storage unit 12 on the node indicated by this information, and adds this vector to the vector for each node calculated in S13 (S14).
The arrangement information determination unit 15 selects one of the virtual nodes not yet processed as a virtual node to be processed unless it has completed the subsequent process of S16 for all the virtual nodes indicated by the information stored in the virtual node information storage unit 14 (No in S15).
Then, the arrangement information determination unit 15 calculates a vector representing an attractive force or a repulsive force exerted by this virtual node to be processed on the node indicated by the information stored in the network configuration information storage unit 12. The arrangement information determination unit 15 adds the calculated vector to the vector calculated in the steps up to S14 for each node indicated by the information stored in the network configuration information storage unit 12 (S16).
The arrangement information determination unit 15 reflects the vector representing the attractive force or the repulsive force calculated for each node in the steps up to S16 on the position of the corresponding node to determine a new position of this node (S17) if it has completed the above process of S16 for all the virtual nodes indicated by the information stored in the virtual node information storage unit 14 (Yes in S15).
After S17 ends, if the result of the process of S17 satisfies the completion condition (Yes in S12), the arrangement information determination unit 15 stores the arrangement information, which is the position information indicating the position of each node determined in S17, in the arrangement information storage unit 16.
On the basis of the network configuration information stored in the network configuration information storage unit 12 and the position information stored in the arrangement information storage unit 16, the arrangement information output unit 17 displays, on a display device (not illustrated), each node arranged at the new position on the screen and information indicating the edge connecting the nodes to present the information to a maintenance person or outputs the information to another functional unit. In this manner, a series of processes ends.
For the processes of S12 to S14 and S17 surrounded by a line F1 illustrated in
However, S15 and S16 surrounded by a line F2 illustrated in
In the example illustrated in
A node e-smdb is connected to the node d-see. A ring-shaped node that returns from the node e-smdb to the node e-smdb via nodes f-smdb, g-smdb, and h-smdb is connected to the node e-smdb.
A node i-smdb is connected to the node c-see. A ring-shaped node that returns from the node i-smdb to the node i-smdb via nodes j-smdb and k-smdb is connected to the node i-smdb.
The arrangement result illustrated in
In the example illustrated in
A normal node e-smdb is connected to the normal node d-see, and a first ring-shaped node that returns from the normal node e-smdb to the normal node e-smdb via normal nodes f-smdb, g-smdb, and h-smdb is connected to the normal node e-smdb.
A normal node i-smdb is connected to the normal node c-see, and a second ring-shaped node that returns from the normal node i-smdb to the normal node i-smdb via normal nodes j-smdb and k-see is connected to the normal node i-smdb.
The arrangement result illustrated in
In the example illustrated in
In addition, in the example illustrated in
Further, in the example illustrated in
The arrangement result according to the general dynamic model as illustrated in
On the other hand, by the processing according to this embodiment, an arrangement result of the normal nodes taking into consideration of the network hierarchy as illustrated in
Next, an example of a procedure in which a device group constituting a ring is arranged in a ring shape on a display screen will be described.
In a hierarchical network having a redundant configuration by the ring, for example, when the coordinates of nodes are fixedly determined for each layer by the node arrangement technique of the hierarchical network which is the above-described known second technique, an arrangement result taking into consideration of the hierarchy can be obtained, but this causes the devices of the same layer to be arranged in a line on the display screen.
In a case where a group of devices of the same layer constitutes a ring, if the devices of the same layer are arranged in a line as described above, this brings about an arrangement result such that the ring is crushed on the display screen. Such an arrangement result may be easy to view when the layers are checked from a macro viewpoint, but is an arrangement result that is difficult to view when a maintenance person wants to see the configuration of the hierarchical network by the ring from a micro viewpoint.
Meanwhile, in the hierarchical network having a redundant configuration by the ring, when nodes are arranged using the repulsive force between the nodes and the attractive force of an edge which are the above-described known first technique, the ring is arranged with a portion thereof having a certain extent of spread by the action of the repulsive force and the attractive force. This arrangement result is an arrangement result that is easy to view from a micro viewpoint.
In order to balance the advantages of the first and second known techniques described above, in this embodiment, the repulsive and attractive forces are introduced in the determination of the coordinates of the nodes for each of the layers described above.
More specifically, in the known second technique, the coordinates of the nodes are fixedly arranged for each layer; instead, in this embodiment, the coordinates of the nodes are arranged for each layer according to, for example, an attractive force from another node, so that the repulsive force between the nodes and the attractive force of the edge, which are used in the known first technique, and the attractive force that attracts the device group for each layer, which is simulated by the known second technique, are collectively reflected. Thus, it is possible to achieve both the advantages of the known first and second techniques described above. Accordingly, in the hierarchical network having a redundant configuration by the ring, it is possible to realize an arrangement in which the ring is no longer crushed while reflecting the hierarchy.
In the example illustrated in
The communication interface 114 includes, for example, one or more wireless communication interface units, and enables transmission and reception of information to and from a communication network NW. As the wireless interface, for example, an interface employing a low-power wireless data communication standard such as a wireless local area network (LAN) is used.
An input device 200 and an output device 300 for a maintenance person, which are attached to the network configuration diagram generation device 100, are connected to the input/output interface 113.
The input/output interface 113 performs processes of fetching operation data input by a user through the input device 200 such as a keyboard, a touch panel, a touchpad, or a mouse, and outputting output data to the output device 300 including a display device using liquid crystal, organic electro-luminescence (EL), or the like to display the output data. Note that, as the input device 200 and the output device 300, a device built in the network configuration diagram generation device 100 may be used, or an input device and an output device of another information terminal that can communicate with the network configuration diagram generation device 100 via the network NW may be used.
The program memory 111B is used as a non-transitory tangible storage medium, for example, in a combination of a non-volatile memory enabling writing and reading at any time, such as a hard disk drive (HDD) or a solid state drive (SSD), and a non-volatile memory such as a read only memory (ROM), and stores programs necessary for executing various types of control processing according to the embodiment.
The data memory 112 is used as a tangible storage medium, for example, in a combination of the non-volatile memory described above and a volatile memory such as a random access memory (RAM), and is used to store various types of data acquired and created in the process of performing various types of processing.
The network configuration diagram generation device 100 according to the embodiment of the present invention can be configured as a data processing device including the network configuration information input unit 11, the virtual node information input unit 13, the arrangement information determination unit 15, and the arrangement information output unit 17 illustrated in
The network configuration information storage unit 12, the virtual node information storage unit 14, and the arrangement information storage unit 16 can be configured by using the data memory 112 illustrated in
All of the processing function units in each of the network configuration information input unit 11, the virtual node information input unit 13, the arrangement information determination unit 15, and the arrangement information output unit 17 described above can be realized by causing the hardware processor 111A described above to read and execute the program stored in the program memory 111B. Note that some or all of these processing function units may be implemented in other various forms including an integrated circuit such as an application specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
As described above, the network configuration diagram generation device according to the embodiment of the present invention inputs information on a plurality of nodes displayable on a screen and at least one edge connecting two of the plurality of nodes, sets a virtual node which generates an attractive force or a repulsive force for a node having a predetermined feature out of the plurality of nodes, calculates the attractive force or the repulsive force related to the plurality of nodes and the set virtual node, and controls the display positions of the plurality of nodes on the screen on the basis of the calculated attractive force or repulsive force. Thus, the nodes can be appropriately arranged in consideration of the features of the nodes.
Next, other applications according to this embodiment will be described.
For example, by employing this embodiment to reflect the longitude of a building, in which a device corresponding to a node is accommodated (arranged), on the arrangement of the node on the screen, the attractive source of a vertical line for each building's longitude can be arranged on the screen as a virtual node so that the node is pulled on the screen toward the longitude of the building in which the device is accommodated. This virtual node acts only on a node accommodated in a building corresponding to a predetermined longitude. As a result, it is possible to obtain a result in which each node is appropriately arranged according to the longitude of a building in which this node is accommodated.
Meanwhile, for example, by employing this embodiment when generating a screen in which nodes subjected to clustering are gathered at a place specified for each cluster, it is possible to arrange dotted virtual nodes, which apply an attractive force only to nodes belonging to each cluster, on the screen at positions corresponding to each of the clustered nodes.
In the above-described embodiment, the example employed in the display of the network configuration has been described. However, the present invention is not limited thereto, and for example, the present invention can also be employed in the arrangement of plots of a general graph on a screen.
In addition, the method described in each embodiment can be stored in a recording medium such as a magnetic disk (Floppy (registered trademark) disk, hard disk, and the like), an optical disc (CD-ROM, DVD, MO, and the like), or a semiconductor memory (ROM, RAM, flash memory, and the like) as a program (software means) that can be executed by a computer, and can be distributed by being transmitted through a communication medium. Note that the program stored in the medium side also includes a setting program for configuring, in the computer, software means (including not only an execution program but also tables and data structures) to be executed by the computer. The computer that realizes the present device executes the above-described processing by reading the program recorded in the recording medium, constructing the software means by the setting program as needed, and controlling the operation by the software means. Note that the recording medium described in the present specification is not limited to a recording medium for distribution, but includes a storage medium such as a magnetic disk or a semiconductor memory provided in the computer or in a device connected via a network.
Note that the present invention is not limited to the foregoing embodiment and various modifications can be made in the implementation stage without departing from the gist of the invention. In addition, each embodiment may be implemented in appropriate combination, and in that case, combined effects can be obtained. Furthermore, the embodiment described above includes various inventions, and various inventions can be extracted by a combination selected from a plurality of disclosed components. For example, even if some components are deleted from all the components described in the embodiment, in a case where the problem can be solved and the effects can be obtained, a configuration from which the components are deleted can be extracted as an invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/000033 | 1/4/2021 | WO |