Setting device, setting method, and setting program
The setting device addresses the information gap in edge cloud migrations by analyzing communication logs to visualize and manage functional block placements, ensuring seamless transitions across environments.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-12
- Publication Date
- 2026-03-24
AI Technical Summary
The challenge of migrating service systems to edge cloud environments is hindered by the lack of accessible information such as documentation and code, necessitating deep knowledge of existing services for effective migration.
A setting device that analyzes communication logs between functional blocks, visualizes their patterns, and generates data to facilitate the placement and connection of these blocks across different environments, providing visualization and annotation for excessive or risky communication.
Facilitates the transfer of functions to different environments by clarifying configurations and potential issues, allowing for efficient migration without requiring deep knowledge of the target system.
Smart Images

Figure 0007834590000001 
Figure 0007834590000002 
Figure 0007834590000003
Abstract
Description
Technical Field
[0001] The present invention relates to a setting device, a setting method, and a setting program for setting data.
Background Art
[0002] The form of providing a service system using a computer is shifting from an on-premises form realized using the hardware purchased by the user to an edge-cloud type form. The edge-cloud type is a form that combines the computing resources on the Internet provided by a cloud provider and the computing resources placed at the edge of the site. In the on-premises form, it is necessary to own physical computing resources with poor flexibility and scalability. On the other hand, in the edge-cloud type form, there is an advantage that the optimal amount of computing resources can be borrowed at an appropriate timing and expanded or reduced according to the requests for the service, so that the service can always be provided in a state of optimal cost.
[0003] Also, Patent Document 1 below discloses tools and techniques for migrating an application to a computer cloud. This tool can be used to migrate an arbitrary application to a specific implementation form of a computer cloud. The tool can use a library of migration rules, apply the rules to the selected application, and generate a migration output in the process. The migration output may be auxiliary information, revised code, a patch, or the like. It is possible that there are different sets of rules for different cloud computer platforms, enabling the migration of applications to different clouds. The rules can describe a wide range of application functions and the corresponding corrective actions for migrating the application. The rules can specify the semantic movement of the application, code or calls, memory, database instances, interaction with the database, the operating system hosting the application, and the like.
[0004] Furthermore, Patent Document 2 below discloses a platform migration support device and method for assisting the migration of a cloud environment to a platform. In this platform migration support device, a reception unit receives source information of the source system. A simulation unit identifies the format of function provision, calculates the performance difference of the functions for each variation of function combination, and calculates the cost for each variation of function combination. A provision unit provides the simulation results to the client terminal. [Prior art documents] [Patent Documents]
[0005] [Patent Document 1] Special Publication No. 2014-523026 [Patent Document 2] Japanese Patent Publication No. 2018-173881 [Overview of the Initiative] [Problems that the invention aims to solve]
[0006] When migrating to an edge cloud environment, a challenge arises in obtaining information such as documentation and code for the service systems to be migrated. Patent Document 1 states that in order to apply the migration library, it is necessary to create information to be input into the rules from the code and settings of each component. However, if this information is not accessible, the migration library cannot be applied. Patent Document 2 states that it is necessary to input information on the performance and constituent software of each service, and information gathering for migration cannot be performed without deep knowledge of existing services.
[0007] Therefore, when changing the execution environment of a service system, such as migrating to an edge cloud environment, it is necessary to collect information on the service system that may be affected in some way in the target environment. Such problems can occur not only in on-premises environments but also in other environments.
[0008] The present invention aims to facilitate trials of transferring functions to different environments. [Means for solving the problem]
[0009] A setting device comprising one aspect of the invention disclosed herein is a setting device having a processor for executing a program and a storage device for storing the program, wherein the processor performs an acquisition process for acquiring communication logs between a plurality of functional blocks, an analysis process for analyzing the communication patterns of the functional blocks based on the communication logs acquired by the acquisition process, a placement process for placing each of the plurality of functional blocks into one of a plurality of groups, and generates visualization data by drawing connection lines indicating communication between a first functional block placed in the first group by the placement process and a second functional block placed in the first or second group, according to the communication patterns. In addition, if the amount of communication from the first functional block to the second functional block exceeds the upper limit in the communication pattern, the first annotation is displayed in association with the connection line in accordance with the first display condition which displays the first annotation indicating excessive communication when the amount of communication from the first functional block exceeds the upper limit. It is characterized by performing visualization processing. [Effects of the Invention]
[0010] According to a typical embodiment of the present invention, it is possible to facilitate trials of transferring functions to different environments. Problems, configurations, and effects other than those mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]
[0011] [Figure 1] Figure 1 is an explanatory diagram showing an example of the system configuration of the setting system. [Figure 2] Figure 2 is a block diagram showing an example of a computer hardware configuration. [Figure 3] Figure 3 is a block diagram showing an example of the functional configuration of the setting device. [Figure 4] Figure 4 is an explanatory diagram showing an example of a correspondence table. [Figure 5] Figure 5 is an explanatory diagram showing an example of a communication log. [Figure 6]FIG. 6 is a setting sequence diagram at the time of constructing the arrangement configuration of the functional blocks. [Figure 7] FIG. 7 is a re-setting sequence diagram during the operation of the arrangement configuration of the functional blocks. [Figure 8] FIG. 8 is an explanatory diagram showing an example of a communication pattern table. [Figure 9] FIG. 9 is an explanatory diagram showing the display of visualization data and Example 1 of a setting file. [Figure 10] FIG. 10 is an explanatory diagram showing the display of visualization data and Example 2 of a setting file. [Figure 11] FIG. 11 is a flowchart showing an example of a generation processing procedure of a communication pattern table. [Figure 12] FIG. 12 is a flowchart showing an example of a visualization processing procedure. [Figure 13] FIG. 13 is a flowchart showing a detailed processing procedure example of the generation processing (step S1203) of the visualization data shown in FIG. 12. [Figure 14] FIG. 14 is a flowchart showing a detailed processing procedure example of the drawing processing (step S1304) shown in FIG. 13.
MODE FOR CARRYING OUT THE INVENTION
[0012] <SYSTEM CONFIGURATION EXAMPLE> FIG. 1 is an explanatory diagram showing a system configuration example of a setting system. The setting system 100 includes a setting device 101, a user terminal 102, an external orchestrator 103, an application target system 104, and a customer terminal 105. The setting device 101, the user terminal 102, the external orchestrator 103, the application target system 104, and the customer terminal 105 are communicably connected via a network 110 such as the Internet, a LAN (Local Area Network), or a WAN (Wide Area Network).
[0013] The setting device 101 is a computer that presents problems that occur when functional blocks within the target application system 104 are moved in various environments, based on communication logs on the network 110 related to the target application system 104.
[0014] The user terminal 102 is a computer operated by the user. The user is a person who uses the setting device 101 to obtain the above problems. The external orchestrator 103 is a computer that executes changes to the environment of the target application system 104. The target application system is the customer's computer to which environment changes are applied. The customer terminal 105 is a computer operated by the customer. The customer is a person who receives the presentation of the above problems from the user.
[0015] <Hardware configuration example of computers (setting device 101, user terminal 102, external orchestrator 103, target application system 104, and customer terminal 105)> Figure 2 is a block diagram showing an example of a computer hardware configuration. Computer 200 includes a processor 201, a storage device 202, an input device 203, an output device 204, and a communication interface (communication IF) 205. The processor 201, storage device 202, input device 203, output device 204, and communication IF 205 are connected by a bus 206. The processor 201 controls computer 200. The storage device 202 serves as the work area for the processor 201. The storage device 202 is a non-temporary or temporary recording medium that stores various programs and data. Examples of storage devices 202 include ROM (Read Only Memory), RAM (Random Access Memory), HDD (Hard Disk Drive), and flash memory. The input device 203 takes data in. Examples of input devices 203 include a keyboard, mouse, touch panel, numeric keypad, scanner, microphone, and sensor. The output device 204 outputs data. Output devices 204 include, for example, displays, printers, and speakers. The communication IF 205 connects to the network 110 and sends and receives data.
[0016] Furthermore, the program to be executed by the processor 201 may be introduced from an external device via the network 110 or via a portable storage medium.
[0017] <Example of functional configuration of setting device 101> Figure 3 is a block diagram showing an example of the functional configuration of the setting device 101. The setting device 101 includes an execution unit 301, an analysis unit 302, a visualization unit 303, and a generation unit 304. Specifically, the execution unit 301, analysis unit 302, visualization unit 303, and generation unit 304 are realized, for example, by having the processor 201 execute a program stored in the storage device 202 shown in Figure 2. The execution unit 301 may also be a virtual configuration, a physical machine within the setting device 101, or a physical configuration outside the setting device 101 that is accessible to the setting device 101.
[0018] The execution unit 301 performs a simulation of the target system 104. Specifically, for example, the execution unit 301 has one or more functional blocks fb1 to fbn (where n is an integer of 1 or more), a memory 310, and a bus 313. Functional blocks fb1 to fbn (when they are not distinguished, they are referred to as functional block fb) are functions implemented in the target system 104, and are programs or circuit configurations that realize predetermined functions such as data transmission and reception, analysis, control, and generation.
[0019] Memory 310 stores the correspondence table 311 and the communication log 312. The correspondence table 311 is a table that associates functional blocks fb with their IP (Internet Protocol) addresses. The communication log 312 is the communication history of functional blocks fb.
[0020] The analysis unit 302 analyzes the communication pattern of the functional block fb. Based on the communication log 312, the analysis unit 302 creates a communication pattern table 320 for analyzing the communication pattern of the functional block fb.
[0021] The visualization unit 303 generates visualization data 330 that visualizes the arrangement configuration of the functional blocks fb. The generation unit 304 generates a configuration file 340 for setting the arrangement configuration of the functional blocks fb.
[0022] Figure 4 is an explanatory diagram showing an example of the correspondence table 311. The correspondence table 311 is a table that associates IP addresses 401 with functional block names 402. The functional block name 402 is represented by the code "fbn" for functional block fb.
[0023] Figure 5 is an explanatory diagram showing an example of a communication log 312. The communication log 312 has item number 500, source IP address 501, destination IP address 502, L4 protocol 503, source port number 504, destination port number 505, TCP (Transmission Control Protocol) flag 506, and packet length 507. The combination of values from fields 500 to 507 on the same line constitutes an entry representing one packet.
[0024] Item number 500 is an identification number that uniquely identifies communication between functional blocks fb. Source IP address 501 is IP address 401 of the functional block fb from which the packet originates. Destination IP address 501 is IP address 401 of the functional block fb to which the packet is destined. L4 protocol 503 is a Layer 4 communication protocol, such as TCP or UDP (User Datagram Protocol).
[0025] Source port number 504 is the port number of the port from which the source functional block fb sends the packet. Destination port number 505 is the port number of the port on which the destination functional block fb receives the packet. TCP flags 506 are a 6-bit field in the packet's TCP header that indicates the packet content. Packet length 507 is the size of the packet sent by the source functional block fb.
[0026] <Configuration sequence during build> Figure 6 is a configuration sequence diagram for building the placement configuration of the functional block fb. The customer terminal 105 transmits the configuration information of the functional block fb (code written in program code or hardware description language) and the placement location of the functional block fb within the target system 104 to the user terminal 102 (step S600). The placement location of the functional block fb does not need to be transmitted. In this case, the configuration device 101 randomly initializes the functional block fb (step S605).
[0027] The user terminal 102 transfers the program code of the functional block fb and the location of the functional block fb from the customer terminal 105 to the setting device 101, and also transmits the configuration information of the target system 104 to the setting device 101 (step S601). The configuration information of the target system 104 refers to information indicating the physical configuration of the target system 104.
[0028] In this example, the target system 104 includes, as an example, a cloud server (hereinafter simply referred to as "cloud"), an edge data center (hereinafter simply referred to as "edge"), and equipment within an on-premises configuration (hereinafter simply referred to as "on-premises"). For example, the target system 104 is a manufacturing system in an assembly plant for a certain product. In this case, each functional block includes work equipment, control devices for work equipment, surveillance cameras and various sensors within the work area, devices that aggregate and convert information from these devices, and devices that analyze the collected data and perform control based on that analysis. The experiment then attempts to deploy these functional blocks distributed across the cloud, edge, and on-premises. Furthermore, each functional block may be configured in the external orchestrator 103.
[0029] Furthermore, the configuration information for the applicable system 104 also includes communication volume constraints between the cloud and the edge, between the cloud and on-premises, and between the edge and on-premises.
[0030] If the setting device 101 has already acquired the configuration information of the target system 104, it is not necessary to transmit the configuration information of the target system 104.
[0031] The setting device 101 configures the execution unit 602 (step S602). If the execution unit 602 is configured outside the setting device 101, the setting device 101 transfers the configuration information of the function block fb to an external computer and configures the execution unit 602 on the external computer.
[0032] The setting device 101 executes the function block fb set in step S602 using the execution unit 301 and obtains the communication log 312 of the packets sent and received by the function block fb (step S603).
[0033] The setting device 101 analyzes the communication log 312 acquired in step S603 using the analysis unit 302 and creates a communication pattern table 320 (step S604).
[0034] The configuration device 101 performs the initial placement and initial connection of the functional block fb (step S605). Specifically, for example, the configuration device 101 assigns the functional block fb to either the cloud, edge, or on-premises. If the configuration device 101 has received the placement destination for the functional block fb in step S601, it places and connects the functional block fb to that destination; otherwise, it places and connects it randomly.
[0035] The setting device 101 generates visualization data 330 that visualizes the initial setup and initial connection in step S605 using the visualization unit 303 (step S606). The setting device 101 transmits the visualization data 330 generated in step S606 to the user terminal 102 (step S607).
[0036] Next, the user terminal 102 transfers the visualization data 330 to the customer terminal 105 in response to a customer request. The customer terminal 105 sends instructions to the user terminal 102 to change the placement of the functional block fb as needed. In this case, the user terminal 102 sends the instructions to change the placement of the functional block fb to the setting device 101 (step S608). The setting device 101 then updates the visualization data 330 in accordance with the instructions to change the placement of the functional block fb (step S609).
[0037] Steps S607 to S609 are repeatedly executed until there are no more instructions from the customer terminal 105 to change the placement of the functional block fb.
[0038] The setting device 101 transmits the visualization data 330 updated in step S609 to the user terminal 102 (step S610). After this, the user terminal 102 transfers the visualization data 330 to the customer terminal 105 in response to a customer request. The customer terminal 105 transmits instructions to the user terminal 102 to determine the placement configuration and connection configuration of the functional block fb. The placement configuration is a data structure that indicates where the functional block fb is placed, and the connection configuration is a data structure that indicates which functional block fb is connected to. In this case, the user terminal 102 transmits instructions to the setting device 101 to determine the placement configuration of the functional block fb (step S611).
[0039] When the setting device 101 receives a decision instruction, it refers to the latest visualization data 330 and generates a setting file 340 (step S612). The setting file 340 includes the arrangement configuration of the functional block fb and the connection configuration of the functional block fb. The setting file 340 also includes the configuration information of the functional block fb defined within the setting file 340.
[0040] The configuration device 101 sends the configuration file 340 to the user terminal 102 (step S612). The user terminal 102 forwards the configuration file 340 to the external orchestrator 103 (step S613). The external orchestrator 103 constructs the placement and connection configuration of the functional block fb based on the configuration file 340 in the target system 104 (step S614). This enables the operation of the target system 104 according to the customer's requirements.
[0041] <Reconfiguration sequence during operation> Figure 7 is a sequence diagram of the operational reset of the functional block fb configuration. The target system 104 executes the configured functional block fb, obtains a communication log 312 of the packets sent and received by the functional block fb (step S701), and sends it to the configuration device 101 (step S702).
[0042] The setting device 101 acquires a communication log 312 from the target system 104 in step S701, and the analysis unit 302 analyzes the communication log 312 acquired in step S701 and recreates the communication pattern table 320 (step S703). This makes it possible to obtain a communication pattern table 320 that conforms to the implementation configuration of the functional block fb in the target system 104.
[0043] The configuration device 101 performs the placement and connection of the functional block fb according to the current configuration of the target system 104 (i.e., the configuration file 340 sent in step S612) (step S704).
[0044] The setting device 101 generates visualization data 330 that visualizes the initial setup and initial connection in step S605 using the visualization unit 303 (step S705). The setting device 101 transmits the visualization data 330 generated in step S705 to the user terminal 102 (step S705).
[0045] Next, the user terminal 102 transfers the visualization data 330 to the customer terminal 105 in response to a customer request. The customer terminal 105 sends instructions to the user terminal 102 to change the placement of the functional block fb as needed. In this case, the user terminal 102 sends the instructions to change the placement of the functional block fb to the setting device 101 (step S707). The setting device 101 then updates the visualization data 330 in accordance with the instructions to change the placement of the functional block fb (step S708).
[0046] Steps S706 to S708 are executed repeatedly until there are no more instructions from the customer terminal 105 to change the placement of the functional block fb.
[0047] The setting device 101 transmits the visualization data 330 updated in step S708 to the user terminal 102 (step S709). After this, the user terminal 102 transfers the visualization data 330 to the customer terminal 105 in response to a request from the customer. The customer terminal 105 transmits an instruction to the user terminal 102 to determine the arrangement configuration of the functional block fb. In this case, the user terminal 102 transmits an instruction to the setting device 101 to determine the arrangement configuration and connection configuration of the functional block fb (step S710).
[0048] Upon receiving a decision instruction, the configuration device 101 regenerates the configuration file 340 by referring to the latest visualization data 330 (step S711). The configuration device 101 sends the configuration file 340 to the user terminal 102 (step S712). The user terminal 102 transfers the configuration file 340 to the external orchestrator 103 (step S713). The external orchestrator 103 reconstructs the placement and connection configuration of the functional block fb based on the configuration file 340 in the target system 104 (step S714). This makes it possible to change the target system 104 in response to customer requests during operation.
[0049] <Communication Pattern Table 320> Figure 8 is an explanatory diagram showing an example of a communication pattern table 320. The communication pattern table 320 is generated during communication log analysis (steps S604, S703). The communication pattern table 320 is a data table composed of combinations of source IP address 501 and destination IP address 502. In Figure 8, the combinations of source IP address 501 and destination IP address 502 are represented by cells. Cells with descriptions correspond to entries in the communication log 312.
[0050] The cell is described in the format "L4 protocol 503 / source port number 504-destination port number 505, traffic volume". If there is an arrow instead of a "-" between source port number 504 and destination port number 505, it indicates that the direction of the connection has been determined through analysis of the SYN packet or similar means. Connection direction detection is performed, for example, in the ClientHello / ServerHello of the Initial packet in QUIC (a transport layer communication protocol).
[0051] <Display of visualization data 330 and configuration file 340> Figure 9 is an explanatory diagram showing the display of visualization data 330 and an example of configuration file 340. The configuration file 900 is generated from visualization data 910. Visualization data 910 can be displayed on user terminal 102 and customer terminal 105.
[0052] Visualization data 910 includes cloud 901, edge 902, and on-premises 903. In visualization data 910, functional block fb1 is located in cloud 901, functional block fb2 is located in edge 902, and functional blocks fb3 and fb4 are located in on-premises 903.
[0053] The active connection line 911 is a connection line indicating communication with functional block fb2 as the source and functional block fb1 as the destination. Connection line 912 indicates unknown communication between functional blocks fb1 and fb2 (communication corresponding to step S1108:Yes in Figure 11 described later) and is drawn with a dashed line.
[0054] Effective connection line 913 is a connection line indicating communication with functional block fb4 as the source and functional block fb2 as the destination. Effective connection line 914 is a connection line indicating communication with functional block fb2 as the source and functional block fb4 as the destination. Effective connection line 915 is a connection line indicating communication with functional block fb3 as the source and functional block fb4 as the destination.
[0055] Note 921 indicates that the communication volume is excessive in the direction indicated by the active connection line 913, and is displayed in association with the active connection line 913. Note 922 indicates that there is a risk of communication failure in the direction indicated by the active connection line 914, and is displayed in association with the active connection line 914.
[0056] The cancel button 931 is a user interface that allows the user terminal 102 to cancel the editing of the visualization data 910 generated during visualization (steps S606, S609, S705, S708) upon pressing by the user. If the cancel button 931 is pressed, the setting device 101 discards the visualization data 910 and does not generate the setting file 900.
[0057] The confirmation button 932 is a user interface that allows the user terminal 102 to confirm the contents of the visualization data 910 generated in the visualization (steps S606, S609, S705, S708) upon pressing by the user. When the confirmation button 932 is pressed, the setting device 101 generates a setting file 900 using the visualization data 910.
[0058] The configuration file 900 includes a group description 940 and a network description 950. The configuration file 900 is generated when the confirmation button 932 is pressed. The group description 940 describes the deployment configuration of the functional blocks fb within each group: Cloud 901, Edge 902, and On-Premise 903. Specifically, for example, the group description 940 indicates that there are three groups: Cloud 901, Edge 902, and On-Premise 903, with functional block fb1 located within Cloud 901, functional block fb2 within Edge 902, and functional blocks fb3 and fb4 within On-Premise 903.
[0059] Network description 950 indicates whether or not a VPN (Virtual Private Network) is established. By default, "native" is specified. If note 922 exists, network description 950 is updated to "vpn". "vpn" is an instruction to the external orchestrator 103 to place all functional blocks fb located in the visualization data 910 within a single VPN.
[0060] Figure 10 is an explanatory diagram showing the display of visualization data 330 and example 2 of the configuration file 340. While visualization data 910 shown in Figure 9 included annotations 921 and 922, visualization data 1010 shown in Figure 10 shows a state where the problems indicated by annotations 921 and 922 have been resolved.
[0061] The configuration file 1000 is generated from the visualization data 1010. The visualization data 1010 can be displayed on the user terminal 102 and the customer terminal 105.
[0062] Visualization data 1010 includes cloud 901, edge 902, and on-premises 903. In visualization data 1010, functional block fb1 is located in cloud 901, functional blocks fb2 and fb4 are located in edge 902, and functional block fb3 is located in on-premises 903.
[0063] Because the deployment location of functional block fb4 has been changed from on-premises 903 to edge 902, the issues described in notes 921 and 922 have been resolved, and therefore notes 921 and 922 are no longer displayed.
[0064] The cancel button 931 is a user interface that allows the user terminal 102 to cancel the editing of the visualization data 1010 generated during visualization (steps S606, S609, S705, S708) upon pressing by the user. If the cancel button 931 is pressed, the setting device 101 discards the visualization data 1010 and does not generate its setting file 1000.
[0065] The confirmation button 932 is a user interface that allows the user terminal 102 to confirm the contents of the visualization data 1010 generated in the visualization (steps S606, S609, S705, S708) upon the user's press. When the confirmation button 932 is pressed, the setting device 101 generates a setting file 1000 using the visualization data 1010.
[0066] The configuration file 1000 includes a group description 1040 and a network description 1050. The configuration file 1000 is generated when the confirmation button 932 is pressed. The group description 1040 describes the deployment configuration of the functional blocks fb within each group: Cloud 901, Edge 902, and On-Premise 903. Specifically, for example, the group description 1040 indicates that there are three groups: Cloud 901, Edge 902, and On-Premise 903, with functional block fb1 located within Cloud 901, functional blocks fb2 and fb4 within Edge 902, and functional block fb3 within On-Premise 903.
[0067] Since annotation 922 does not exist in visualization data 1010, the network description 1050 is set to the default "native".
[0068] <Generation process of communication pattern table 320> Figure 11 is a flowchart showing an example of the procedure for generating the communication pattern table 320. Figure 11 shows the process performed by the analysis unit 302 in communication log analysis (steps S604, S703).
[0069] The analysis unit 302 refers to the communication log 312 in ascending order of item number 500, analyzes the packets identified by the entry for item number 500, and extracts data (501-507) (step S1101).
[0070] The analysis unit 302 determines whether the packet is a TCP session probability request packet (step S1102). If the L4 protocol 503 is "TCP" and the TCP flag 506 contains "SYN" and no "ACK", then the packet is a TCP session probability request packet.
[0071] If it is a TCP session probability request packet (step S1102: Yes), the analysis unit 302 sets the description "L4 protocol 503 / source port number 504-destination port number 505, communication volume" in the communication pattern table 320 corresponding to the source IP address 501 and destination IP address 502 of the packet to "TCP / srcport→dstport, communication volume" (step S1103). "srcport" is the source port number 504 of the packet extracted in step S1101, and "dstport" is the destination port number 505 of the packet extracted in step S1101. Then, the process proceeds to step S1110.
[0072] If the packet is not a TCP session probability request packet (step S1102: No), the analysis unit 302 determines whether the packet is a TCP session probability response packet (step S1104). If the L4 protocol 503 is "TCP" and the TCP flags 506 contain "SYN" and "ACK", then the packet is a TCP session probability response packet.
[0073] If it is a TCP session probability response packet (step S1104: Yes), the analysis unit 302 changes the description of the cells corresponding to the source IP address 501 and destination IP address 502 of the packet in the communication pattern table 320 from "L4 protocol 503 / source port number 504-destination port number 505, communication volume" to "TCP / srcport←dstport, communication volume" (step S1105). Then, it proceeds to step S1110.
[0074] If it is not a TCP session probability response packet (step S1104: No), the analysis unit 302 determines whether the L4 protocol 503 of that packet is "UDP" (step S1106).
[0075] If it is "UDP" (step S1106: Yes), the analysis unit 302 changes the description of the cell corresponding to the source IP address 501 and destination IP address 502 of the packet in the communication pattern table 320 from "L4 protocol 503 / source port number 504-destination port number 505, traffic volume" to "UDP / srcport-dstport, traffic volume" (step S1107). Then, it proceeds to step S1110.
[0076] If it is not "UDP" (step S1106: No), the analysis unit 302 determines whether the L4 protocol 503 of that packet is "TCP" or not (step S1108).
[0077] If it is "TCP" (Step S1108: Yes), proceed to Step S1110. If it is not "TCP" (Step S1108: No), the analysis unit 302 changes the description of the cells corresponding to the source IP address 501 and destination IP address 502 of the packet in the communication pattern table 320 from "L4 protocol 503 / source port number 504-destination port number 505, communication volume" to "other / srcport→dstport, communication volume" (Step S1109). Then proceed to Step S1110.
[0078] In step S1110, the analysis unit 302 sets the "communication volume" description in the cells corresponding to the source IP address 501 and destination IP address 502 of the packet in the communication pattern table 320 to the value of the packet length 507 of that packet. This completes the generation process of the communication pattern table 320.
[0079] <Example of visualization processing procedure> Figure 12 is a flowchart showing an example of a visualization processing procedure. Figure 12 shows the processes that the visualization unit 303 executes in steps S605, S606, S609, S704, S705, and S708).
[0080] The visualization unit 303 refers to the configuration information of the target system 104 and creates Cloud 901, Edge 902, and On-Premise 903 as a group that is the execution environment for the functional block fb, and draws them in the drawing area (step S1201). At this time, communication constraints are set between Cloud 901, Edge 902, and On-Premise 903. For example, a constraint is set that communication is not possible between Cloud 901 and On-Premise 903.
[0081] The visualization unit 303 places the functional blocks fb into the groups created in step S1201 (cloud 901, edge 902, and on-premises 903) either randomly or according to the placement destination specified by the user terminal 102 (step S1202).
[0082] The visualization unit 303 executes the process of generating visualization data 330 (step S1203). The visualization data 910 and 1010 are generated by the visualization data 330 generation process (step S1203). Details of the visualization data 330 generation process (step S1203) will be described later in Figure 13.
[0083] The visualization unit 303 determines whether or not there is a placement change instruction from the customer terminal 105 regarding the visualization data 330 (step S1204). If there is a placement change instruction (step S1204: Yes), it returns to the visualization data 330 generation process (step S1203). If there is no placement change instruction (step S1204: No), the visualization unit 303 determines whether or not the confirmation button 932 from the customer terminal 105 has been pressed regarding the visualization data 330 (step S1205). If the confirmation button 932 has not been pressed (step S1205: No), it returns to step S1204. On the other hand, if the confirmation button 932 has been pressed (step S1205: Yes), the visualization unit 303 transmits the visualization data 330 (step S1206) and terminates the visualization process.
[0084] Figure 13 is a flowchart showing a detailed example of the processing steps for generating the visualization data 330 shown in Figure 12 (step S1203). In Figures 13 and 14, "src" is the source function block fb, "dst" is the destination function block fb, "Gsrc" is the source group, and "Gdst" is the destination group. The visualization unit 303 determines whether or not there are unselected cells in the communication pattern table 320 (step S1301).
[0085] If there are unselected cells in the communication pattern table 320 (step S1301: Yes), the visualization unit 303 selects one unselected cell (step S1302).
[0086] The visualization unit 303 determines whether the amount of data transmitted from the source function block fb to the destination function block fb in the selected cell is greater than zero (step S1303). For example, in the case of cell 801, the amount of data transmitted from the source function block fb3 to the destination function block fb4 is 1235 bytes, so the visualization unit 303 determines that the amount of data transmitted from the source function block fb to the destination function block fb is greater than zero.
[0087] In the case of cell 802, the amount of data transmitted from source function block fb2 to destination function block fb4 is 5432 bytes, and the amount of data transmitted from source function block fb4 to destination function block fb2 is 1028 bytes. In this case, the amount of data transmitted from source function block fb2 to destination function block fb4 is 4404 (5432 - 1028) bytes, so the visualization unit 303 determines that the amount of data transmitted from source function block fb to destination function block fb is greater than 0.
[0088] If the amount of communication from the source function block fb to the destination function block fb is greater than 0, the visualization unit 303 performs drawing processing (step S1304) and returns to step S1301.
[0089] If the amount of communication from the source function block fb to the destination function block fb is not greater than 0 (step S1303: No), the process returns to step S1301. If there are no unselected cells in the communication pattern table 320 (step S1301: No), the visualization unit 303 terminates the process of generating visualization data 330 (step S1203) and proceeds to step S1204.
[0090] Figure 14 is a flowchart showing a detailed example of the drawing process (step S1304) shown in Figure 13. The visualization unit 303 determines whether or not there is directionality in the communication from the source function block fb to the destination function block fb of the selected cell (step S1401). In the description of the selected cell, "L4 protocol 503 / source port number 504-destination port number 505, communication volume", if the "-" in "source port number 504-destination port number 505" is an arrow, it indicates that there is directionality. If the L4 protocol 503 is UDP, there is no directionality.
[0091] If there is a direction (step S1401: Yes), the visualization unit 303 determines whether the communication from the source function block fb of the selected cell to the destination function block fb is identified as "other" (step S1402).
[0092] If the cell is not identified as "Other" (step S1402: No), the visualization unit 303 draws an arrow with a predetermined solid line from the source function block fb of the selected cell to the destination function block fb (step S1403), and then proceeds to step S1405.
[0093] If identified as "Other" (step S1402: Yes), the visualization unit 303 draws an arrow from the source function block fb of the selected cell to the destination function block fb as an arrow that is not subject to annotation, using a line different from the predetermined solid line (a line that differs from the predetermined solid line in color, line type, thickness, etc.) (step S1403), and proceeds to step S1405. For arrows drawn as not subject to annotation, the annotation display in steps S1406 and S1411 is not performed.
[0094] The visualization unit 303 determines whether communication is possible from the group to which the selected cell's source function block fb belongs (hereinafter referred to as the source group) to the group to which the destination function block fb belongs (hereinafter referred to as the destination group) (step S1405). For example, if in step S1201 a constraint condition is set that communication is not possible between the source group, cloud 901, and the destination group, on-premises 903, then it is determined that communication is not possible between the source group and the destination group.
[0095] If it is not possible (step S1405: No), the visualization unit 303 displays the note 922 "Communication may be impossible due to NAT (Network Address Translation)" on the arrow drawn in step S1403 (step S1406), and proceeds to step S1410. If communication is possible (step S1405: Yes), proceeds to step S1410.
[0096] If there is no directionality (step S1401: No), the visualization unit 303 determines whether the communication from the source function block fb of the selected cell to the destination function block fb is identified as "other" (step S1407).
[0097] If the cell is not identified as "Other" (step S1407: No), the visualization unit 303 draws a predetermined solid line connecting the source function block fb and the destination function block fb of the selected cell (step S1408), and then proceeds to step S1410.
[0098] If identified as "Other" (step S1407: Yes), the visualization unit 303 draws the line connecting the source function block fb and the destination function block fb of the selected cell as a line different from the predetermined solid line, thus excluding it from annotation (step S1408), and proceeds to step S1410. For lines drawn as excluding them from annotation, the annotation display in step S1411 is not performed.
[0099] The visualization unit 303 determines whether the amount of communication from the source function block fb to the destination function block fb of the selected cell violates the constraint (for example, exceeding a predetermined communication limit) (step S1410). If there is a constraint violation (step S1410: Yes), the visualization unit 303 displays the annotation 921 "Excessive Communication" on the arrow in step S1403 and the line in step S1408 (step S1411), and returns to step S1301. If there is no constraint violation (step S1410: No), returns to step S1301.
[0100] If the user presses the cancel button 931 midway through the process, the setting device 101 detects the press, discards the visualization data 330 being edited, and terminates the process.
[0101] Thus, according to the above-described embodiment, it is possible to facilitate the trial of moving functions to different environments. This makes it possible to collect information on communications affected by changes in the execution environment (cloud, edge, on-premises) of the target system 104 (location of functional block fb, connection lines indicating communication between functional blocks, annotations) without requiring deep knowledge of the target system 104 itself.
[0102] It should be noted that the present invention is not limited to the embodiments described above, but includes various modifications and equivalent configurations within the spirit of the attached claims. For example, the embodiments described above are described in detail to make the present invention easier to understand, and the present invention is not necessarily limited to having all of the described configurations. Furthermore, some of the configurations of one embodiment may be replaced with those of another embodiment. Furthermore, some of the configurations of one embodiment may be added to those of another embodiment. Furthermore, some of the configurations of each embodiment may be added, deleted, or replaced with other configurations.
[0103] Furthermore, each of the aforementioned configurations, functions, processing units, and processing means may be implemented in hardware, for example, by designing them as integrated circuits, or they may be implemented in software by having a processor interpret and execute programs that realize each function.
[0104] Information such as programs, tables, and files that implement each function can be stored in memory, hard disks, SSDs (Solid State Drives), or on recording media such as IC (Integrated Circuit) cards, SD cards, and DVDs (Digital Versatile Discs).
[0105] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes and do not necessarily represent all control lines and information lines required for implementation. In reality, it can be assumed that almost all components are interconnected. [Explanation of Symbols]
[0106] 100 Configuration System 101 Setting device 102 User terminals 103 External Orchestrator 104 Applicable Systems 105 Customer terminal 201 Processor 202 Storage Devices 301 Execution Department 302 Analysis Department 303 Visualization section 304 Generation part 312 Communication Log 320 Communication Pattern Table 330 Visualization Data 340 Configuration files
Claims
1. A setting device having a processor for executing a program and a storage device for storing the program, The aforementioned processor, A process to acquire communication logs between multiple functional blocks, Based on the communication logs obtained by the acquisition process, an analysis process is performed to analyze the communication patterns of the functional blocks. A placement process that places each of the aforementioned multiple functional blocks into one of the multiple groups, Visualization process that generates visualization data by drawing connection lines indicating communication between a first functional block arranged in the first group by the arrangement process and a second functional block arranged in the first or second group, according to the communication pattern, and displays the first annotation associated with the connection lines according to a first display condition which displays a first annotation indicating excessive communication when the amount of communication from the first functional block to the second functional block exceeds the upper limit in the communication pattern, and when the amount of communication of the first functional block exceeds the upper limit. A setting device characterized by performing the following actions.
2. A setting device according to claim 1, In the aforementioned placement process, if the processor receives an instruction to change the placement of the first functional block to the second or third group, it changes the placement of the first functional block according to the placement instruction. In the visualization process, the processor updates the visualization data by redrawing the connection lines indicating communication between the first functional block and the second functional block after the rearrangement, according to the communication pattern. A setting device characterized by the following features.
3. A setting device according to claim 1, In the acquisition process, the processor acquires the communication log from the application to which the plurality of functional blocks are implemented in the plurality of groups. A setting device characterized by the following features.
4. A setting device according to claim 1, In the visualization process, the processor draws the connection lines based on the amount of communication between the first functional block and the second functional block. A setting device characterized by the following features.
5. A setting device according to claim 1, In the visualization process, the processor draws the connection lines as arrows indicating the direction of communication between the first functional block and the second functional block. A setting device characterized by the following features.
6. A setting device according to claim 1, In the visualization process, if the first functional block is located in the first group and the second functional block is located in the second group, the processor displays the second annotation in association with the connection line according to a second display condition that displays the second annotation indicating the possibility of communication between the first group and the second group. A setting device characterized by the following features.
7. A setting device according to claim 1, The aforementioned processor, Based on the visualization data, a generation process is performed to generate a configuration file for implementing the multiple functional blocks in the multiple groups for the target application, A setting device characterized by performing the following actions.
8. A setting method performed by a setting device having a processor for executing a program and a storage device for storing the program, The aforementioned processor, A process to acquire communication logs between multiple functional blocks, Based on the communication logs obtained by the acquisition process, an analysis process is performed to analyze the communication patterns of the functional blocks. A placement process that places each of the aforementioned multiple functional blocks into one of the multiple groups, Visualization process that generates visualization data by drawing connection lines indicating communication between a first functional block arranged in the first group by the arrangement process and a second functional block arranged in the first or second group, according to the communication pattern, and displays the first annotation associated with the connection lines according to a first display condition which displays a first annotation indicating excessive communication when the amount of communication from the first functional block to the second functional block exceeds the upper limit in the communication pattern, and when the amount of communication of the first functional block exceeds the upper limit. A configuration method characterized by performing the following.
9. The processor includes: A process to acquire communication logs between multiple functional blocks, Based on the communication logs obtained by the acquisition process, an analysis process is performed to analyze the communication patterns of the functional blocks. A placement process that places each of the aforementioned multiple functional blocks into one of the multiple groups, Visualization process that generates visualization data by drawing connection lines indicating communication between a first functional block arranged in the first group by the arrangement process and a second functional block arranged in the first or second group, according to the communication pattern, and displays the first annotation associated with the connection lines according to a first display condition which displays a first annotation indicating excessive communication when the amount of communication from the first functional block to the second functional block exceeds the upper limit in the communication pattern, and when the amount of communication of the first functional block exceeds the upper limit. A configuration program characterized by causing the execution of a specific action.
Citation Information
Patent Citations
JP1973025979A
Virtual machine migration tool
JP2014523026A
Management server and management method
JP2017091472A
Evaluation processing program, device, and method
JP2018173881A
Information processing device, information processing system, information processing method, and program
JP2021101278A