This application is based upon and claims the benefit of priority of the prior Japanese Application No. 2012-206964 filed on Sep. 20, 2012 in Japan, the entire contents of which are hereby incorporated by reference.
The invention relates to a computer-readable recording medium having stored therein a design support program, a design supporting apparatus, and a design supporting method.
When an information infrastructure such as a data center is designed, a network schematic diagram illustrated in
That is, the network schematic diagram illustrates a connection relationship of nodes in a subordinate of a designated node among a plurality of nodes, based on circuit diagram information (infrastructure CAD information, see, for example,
The network schematic diagram is prepared by procedures (1) to (6) described below.
(1) A processing unit such as central processing unit (CPU) acquires the number of hops by tracing a connection relationship from the product (designated node) designated by the operator. Herein, the number of hops is the number of transfer facilities (relay nodes) via until reaching from the designated node to a node of a communication counterpart, in a communication network, as illustrated in
(2) The processing unit places the designated node at the center of an uppermost stage on the network schematic diagram (see
(3) The processing unit arrays nodes (machines) which belong to the subsequent number of hops at a subsequent stage so that the number of connection lines that cross each other is minimized.
(4) The processing unit divides the nodes into upper and lower parts depending on an interface (IF) attribute even in the case of nodes (machines) which belong to the same number of hops (see, for example, nodes which belong to the number of hops 2 or the number of hops 4 in
(5) The processing unit arrays nodes of the subsequent stage to be nearer to the center at the time of arraying the nodes.
(6) The processing unit repeats procedures (3) to (5) until the nodes of the subsequent stage disappear.
However, in the case where the network schematic diagram is prepared in accordance with the procedures, when a system configuration has a large-scale and becomes complicated, the connection lines among the nodes complicatedly cross each other for example, as illustrated in
A design support program causes a computer that prepares a network schematic diagram indicating a connection relationship of nodes in a subordinate of a designated node among a plurality of nodes, based on circuit diagram information related to the plurality of nodes constituting a network, to execute a process including displaying two or more nodes, in which connection destination nodes are the same as each other while types are the same as each other, among the plurality of nodes as one representative node or displaying two or more nodes to overlap with each other, on the network schematic diagram.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Hereinafter, embodiments will be described with reference to the drawings.
[1] Configuration and Function of Design Supporting Apparatus
A circuit diagram database 2, which stores, in advance, circuit diagram information (infrastructure CAD information; see, for example,
The circuit diagram reading unit 10 reads infrastructure CAD information from the circuit diagram database 2 connected to the design supporting apparatus 1 to store and keep the read infrastructure CAD information in the memory (storage unit) 20 as circuit diagram data (circuit diagram information) 21.
The memory 20 may be an internal storage device such as a random access memory (RAM), a hard disk drive (HDD), a solid state disk (SSD) and may be an external storage device. The memory 20 at least keeps circuit diagram data 21 read from the circuit diagram database 2 as described above, network schematic diagram link data 22 to be described below, and network schematic diagram map data 23 to be described below. Further, the memory 20 stores a design support program which causes the processing unit 30 to operate as the design supporting apparatus 1 (preparation unit) in addition to keeping a network schematic diagram management table and a product management table illustrated in
The processing unit 30 is a CPU, a processor, a computer, or the like and executes the design support program to serve as the preparation unit including a network trace unit 31 and a placement processing unit 32. The function as the preparation unit by the processing unit 30 is to prepare a network schematic diagram illustrating a connection relationship of nodes in the subordinate of a designated node (a product designated by an operator) among a plurality of nodes and display the prepared network schematic diagram on the display unit 40, based on the circuit diagram data 21 stored in the memory 20.
Herein, the network trace unit 31 traces the connection relationship from the product (designated node) designated by the operator to generate the network schematic diagram link data 22 and store the generated network schematic diagram link data 22 in the memory 20, based on the circuit diagram data 21 stored in the memory 20.
Further, the placement processing unit 32 determines a display position of each node on the network schematic diagram, that is, a placement position of each node on the network schematic diagram, and prepares the network schematic diagram, based on the network schematic diagram link data 22 stored in the memory 20. A preparation result of the network schematic diagram is stored in the memory 20 as the network schematic diagram map data 23.
In this case, the processing unit 30 (placement processing unit 32) at least has functions (a1) to (a6) described below.
(a1) A function to display two or more nodes in which types are the same as each other and connection destination nodes are the same as each other, among a plurality of nodes, as one representative node or display two or more nodes which overlap with each other (alternatively, slightly deviate from each other), on the network schematic diagram (to be described below while referring to
(a2) A function to place and display, on the network schematic diagram, with respect to an isolated node (uniform product) to which one lower node is connected, among the plurality of nodes, the lower node just below the isolated node. Further, a function to place and display, on the network schematic diagram, a designated node at the center of an uppermost stage and place and display a node array including the isolated node and the lower node at a position spaced apart from the central position where the designated node is placed (to be described below while referring to
(a3) A function to display the connection relationship of the nodes in a tree form considering the number of connection stages (the number of hops) from the designated node by node symbols corresponding to the plurality of nodes, respectively and connection lines for coupling node symbols including the connection relationship to each other, on the network schematic diagram (see
(a4) A function to place and display nodes in the same number of connection stages (the same number of hops) so that the number of connection lines that cross each other is minimized, on the network schematic diagram (see
(a5) A function to place and display nodes in the subsequent number of stages so that the number of connection lines that cross each other is minimized in the case where the number of connection lines that cross each other is not changed even though the nodes in the same number of connection stages are sorted, on the network schematic diagram (see
Basic preparation display processing of the network schematic diagram by the processing unit (preparation unit) 30 will be described below while referring to
For example, a display status is controlled by the processing unit 30, and as a result, the display unit 40 displays the network schematic diagram based on the network schematic diagram map data 23 stored in the memory 20.
The command unit 50 performs edition processing of the network schematic diagram map data 23 in the memory 20 in accordance with a command which an operator, or the like inputs by operating a keyboard, a mouse, or the like. For example, the command unit 50 may implement the above-described function (a1) in accordance with the command input by the operator.
Note that,
Further,
[2] Basic Preparation and Display Processing of Network Schematic Diagram by Design Supporting Apparatus
Next, by the design supporting apparatus 1 of the embodiment illustrated in
(b1) The network trace unit 31 acquires the number of hops by tracing the connection relationship from the product designated by the operator based on the circuit diagram data 21 and keeps the network schematic diagram link data 22 in the memory 20.
(b2) The placement processing unit 32 places the designated product at the center of an uppermost stage on the network schematic diagram.
(b3) The placement processing unit 32 investigates, by using the function (a1), a link of a parent and a child by referring to the product management table to retrieve two or more products including the same connection destination and the same type among a plurality of products, on the network schematic diagram. In addition, the placement processing unit 32 displays two or more retrieved products as one representative node symbol or displays two or more retrieved products to overlap with each other (alternatively, slightly deviate from each other), on the network schematic diagram. For example, on the network schematic diagram illustrated in
(b4) Subsequently, the placement processing unit 32 does not place a node array (product display example) related to the isolated node at the central position where the designated product is placed but places and displays the node array at a position distant from the central position, on the network schematic diagram, by using the function (a2). For example, on the network schematic diagram illustrated in
(b5) Further, the placement processing unit 32 places and displays the products which belong to the same number of hops so that the number of lines (connection lines) which cross each other is minimized, on the network schematic diagram, by using the functions (a3) to (a5). In this case, the placement processing unit 32 places and displays products which belong to the subsequent number of hops so that the number of lines which cross each other is minimized, in the case where the number of lines which cross each other is not changed even though the products which belong to the same number of hops are sorted in all methods. For example, on a network schematic diagram illustrated in
(b6) Finally, the placement processing unit 32 adjusts an interval among the products (node symbols) displayed on the network schematic diagram to finish the network schematic diagram, as illustrated in
[3] Detailed Preparation Display Procedure of Network Schematic Diagram by Design Supporting Apparatus
Next, the detailed preparation display procedure of the network schematic diagram by the design supporting apparatus 1 configured as above will be described with reference to
[3-1] Preparation Display Procedure of Network Schematic Diagram (Overall Flow; getAbstractInfo)
First, the preparation display procedure (overall flow) of the network schematic diagram by the design supporting apparatus 1 illustrated in
The processing unit 30 (network trace unit 31) performs tracing (traceMachine) from a product designated by an operator, based on circuit diagram data 21 (step S1). The tracing from the designated product will be described below with reference to
Further, the processing unit 30 (network trace unit 31) creates a group link (a parent-child relationship of the product) (createGroupLink) (step S2). The creation of the group link will be described below with reference to
A trace result or a group link creation result by the processing unit 30 (network trace unit 31) is kept in the memory 20 as the network schematic diagram link data 22.
Subsequently, the processing unit 30 (placement processing unit 32) performs first placement processing of the product (layoutMachine) based on the network schematic diagram link data 22 (step S3). The first placement processing of the product will be described below with reference to
Further, the processing unit 30 (placement processing unit 32) performs second placement processing of the product (layout2Machine) such as vertical placement (step S4). The second placement processing of the product will be described below with reference to
Results of the first placement processing and the second placement processing are kept in the memory 20 as the network schematic diagram map data 23.
Further, the processing unit 30 (placement processing unit 32) performs mapping processing (mapMachine) and displays the network schematic diagram on the display unit 40, based on the network schematic diagram map data 23 or the product management table (step S5). Processing related to mapping will be described below with reference to
Thereafter, the processing unit 30 (placement processing unit 32) performs setting of connection information (routeMachine) (step S6). Then, the processing unit 30 (placement processing unit 32) investigates a parent-child link by referring to the product management table to retrieve two or more products being the same type and the same connection destination among a plurality of products (nodes) which belong to the same number of hops (the same number of stages) on the network schematic diagram, as described in the processing (b3). Then, the processing unit 30 (placement processing unit 32) displays two or more retrieved products as one representative node symbol or displays two or more retrieved products to overlap with each other, on the network schematic diagram (resetAbstTracePack; step S7).
[3-2] Trace Processing from Designated Product (traceMachine)
Next, trace processing (step S1) from the designated product (designated node) illustrated in
First, the processing unit 30 (network trace unit 31) sets a “trace flag” indicating tracing completion in the designated product (step S11) and thereafter, collects IF attributes of components constituting the designated product (step S12), in the product management table. In this case, for example, as illustrated in
The processing unit 30 (network trace unit 31) sorts the IFs in accordance with the collected IF attributes (InfiniBand (IB)→storage area network (SAN)→local area network (LAN); step S13).
Further, the processing unit 30 (network trace unit 31) traces the product from the designated IF by designating the IF (traceMachinePin; step S14). The trace processing from the designated IF will be described below with reference to
Then, the processing unit 30 (network trace unit 31) sorts the traced products in accordance with the number of hops (step S15) and terminates the trace processing from the designated product.
[3-3] Trace Processing from IF (traceMachinePin)
Next, the processing (step S14) of tracing the product from the IF illustrated in
The processing unit 30 (network trace unit 31) acquires a network (see, for example, a network B4 of
Further, the processing unit 30 (network trace unit 31) acquires a component (see, for example, a component B5 of
[3-4] Group Link Preparation Processing (createGroupLink)
Next, the creation processing (step S2) from the group link (the parent-child relationship) illustrated in
The processing unit 30 (network trace unit 31) retrieves machines constituting the product (step S31) and groups a vertical relationship among the machines (step S32). Specifically, the processing unit 30 (network trace unit 31) extracts a product including a plurality of parents while sequentially pursuing the “product management table” (see
Herein, concepts of the product and the machine will be described with reference to
The “product” is a minimized unit of purchased as the product. In
[3-5] First Placement Processing of Product (layoutMachine)
Next, the first placement processing (step S3) of the product illustrated in
The processing unit 30 (placement processing unit 32) acquires the number of products which belong to each of the numbers of hops of 0 to n (n=5 in the example illustrated in
The processing unit 30 (placement processing unit 32) repeatedly executes first placement processing (steps S36 to S45) described below sequentially from an uppermost product (the number of hops=0) during i≦n (step S35). Note that, i denotes the number of hops of a processing target.
When the number of hops of the processing target, i is 0 (uppermost) (route YES of step S36), the processing unit 30 (placement processing unit 32) retrieves a product including the number of hops of 0 (PlaceMinimumHorizontalMachine; step S37). The processing in step S37 will be described below with reference to
The processing unit 30 (placement processing unit 32) repeatedly executes placement processing (steps S39 to S41) described below for the product retrieved in step S37 (step S38). First, the processing unit 30 (placement processing unit 32) judges whether the retrieved product is placeable by referring to a “fixed flag” of the product management table (IsNotReserveSheet; step S39). When the retrieved product is placeable, the processing unit 30 (placement processing unit 32) places the product (placementMachine; step S40). The placement processing performed herein will be described below with reference to
On the other hand, when the number of hops of the processing target, i is not 0 (uppermost) (route NO of step S36), the processing unit 30 (placement processing unit 32) first judges whether a product which belongs to the number of hops of the processing target is an L2Switch system or an FCSwitch system and judges whether the product which belongs to the number of hops of the processing target has a plurality of parents (step S42). Judging whether the product is the L2Switch system or the FCSwitch system is performed based on whether a “merchandise functional classification” of the product in the product management table is “HUB” or “HUBM”.
Thereafter, the processing unit 30 (placement processing unit 32) sorts the L2Switch-system product and the FCSwitch-system product (PlaceMinimumHorizontalMachine; step S43). The processing in step S43 will be described below with reference to
Further, the processing unit 30 (placement processing unit 32) sorts the products including the plurality of parents (PlaceMinimumHorizontalMachine; step S44). The processing in step S44 will be described below with reference to
Further, the processing unit 30 (placement processing unit 32) performs placement processing (third placement processing) of other products (placementMachine; step S45) and thereafter, sets the number of hops of the processing target, as i+1 and in the case where the number of hops of a new processing target is n or less, the process returns to the processing of step S36, while in the case where the number of hops of the new processing target is more than n, the process ends. Note that, the processing in step S45 will be described below with reference to
Herein, the reason for performing the processing in the order of placement (sorting) of the L2Switch-system product and the FCSwitch-system product, placement (sorting) of the product including the plurality of parents, and placement of other products is as follows.
That is, the reason for first placing hub-system products is that an image in which the product is hung below the hub may be clearly expressed and the products may be efficiently placed, by placing the products while the product has not yet been placed. When the hub-system product is placed after other products are placed, the hub-system product needs to be placed by avoiding other products which are placed in advance and the placement of the hub-system products are skipping, and as a result, the image in which the product is hung below the hub is damaged, and thus the product may not be efficiently placed.
Further, since it is considered that the product including the plurality of parents may be placed to be adjacent to each other comparatively simply than the hub-system product, while it is considered that it is desirable to place the product more carefully than a product including one parent, and thus the product including the plurality of parents is placed subsequently to the hub-system product.
Then, since other products are just placed immediately below the parent, the other products may be placed last and not a method of performing complicated placement processing but a method of simple placement processing is adopted.
Note that, in the case where the L2Switch-system product and the FCSwitch-system product, and other products coexist in a stage of the same number of hops coexist, it is preferable to place the L2Switch-system product and the FCSwitch-system product to be divided into two stages so that the L2Switch-system product and the FCSwitch-system product are above the other products, for improving an exterior of the network schematic diagram.
Further, the processing in steps S37, S43, and S44 (PlaceMinimumHorizontalMachine; see
[3-6] Second Placement Processing of Product (layout2Machine)
Next, the second placement processing (step S4) of the product illustrated in
The processing unit 30 (placement processing unit 32) acquires the number of connections (the number of states—1) among stages (step S51) and acquires the number of products which belong to a designated stage (step S52). Herein, the “number of stages” is displayed at the left side of
Thereafter, the processing unit 30 (placement processing unit 32) investigates the number of links to the parent and the number of links to the child in the product management table for the acquired product and when any one of both sides is 1, the product is placed immediately below the parent product (resetPlaceOfUniformMachine; step S53). As a result, product placement seriously considering the exterior may be performed.
Note that, the processing in step S53 will be described below with reference to
In addition, the number of links to the parent and the number of links to the child are set in a “parent link” and a “child link” of the product management table (see
[3-7] Minimized Placement Processing of Horizontal Wire Length (PlaceMinimumHorizontalMachine)
Next, the horizontal placement processing (steps S37, S43, and S44) of the product illustrated in
The processing unit 30 (placement processing unit 32) recognizes whether brother products (that is, products which belong to a stage of the same number of stages) are connected with each other for a processing target product (step S56) and adds the processing target product to a head of the table when there is no brother product (step S57). Then, the processing unit 30 (placement processing unit 32) sorts the products by connectivity (setPlaceOfBrotherMachine; step S58). As a result, placement processing is performed so that the horizontal wire length is minimized. Note that, the processing in step S58 will be described below with reference to
[3-8] Third Placement Processing of Product (placementMachine)
Next, the third placement processing (steps S40 and S45) of the product illustrated in
The processing unit 30 (placement processing unit 32) first acquires the number of stages of the processing target product (see the left side of
Thereafter, the processing unit 30 (placement processing unit 32) places the processing target product at a determined position (step S63), and sets the placed position and the number of stages (step S64) and sets placement information in the product management table (step S65). Herein, the placement information corresponds to “any one of left and right sides from a start point of a trace” in the product management table (
[3-9] Minimized Placement Processing of Line Length Of Brother Link (setPlaceOfBrotherMachine)
Sorting processing of the products illustrated in
The processing unit 30 (placement processing unit 32) first judges a depth in calling the processing target product, registers the processing target product in the rear of the table in the case where the depth is 0, and registers the processing target product in the rear of the table in the case where the depth is an odd number and registers the processing target product in front of the table in the case where the depth is an even number (step S66). Further, the processing unit 30 (placement processing unit 32) verifies whether the brother products (that is, the products which belong to a stage of the same number of stages) are connected with each other by looping the brother link (step S67) and places the processing target product when the brother products are connected with each other (step S68). In addition, the processing unit 30 (placement processing unit 32) recursively calls and executes the processing (setPlaceOfBrotherMachine) to place additional brother products (step S69). As a result, the product placement is performed so that the line length is minimized along the brother link.
Herein, in step S66, the reason for changing a registration position of the product in the table to any one of front and rear of the table depending on the depth is as follows.
(1) When the first product A is registered, “A” is registered in the table.
(2) Next, when the product B is registered, the products are registered in the table in the order of “A→B”.
(3) Next, when the product C is registered, the products are registered in the table in the order of “C→A→B”.
(4) Next, when the product D is registered, the products are registered in the table in the order of “C→A→B→D”.
As a result, the reason is that the subsequent products B, C, D, . . . , are alternately registered in front of and in the rear of the table by centering the first product A and the length of the connection line between the brother products which are connected with each other is automatically decreased. When the products are taken out from the head of the table to be placed at the time of placing the products, the products are placed to be adjacent to each other.
[3-10] Reset Placement Processing of Uniform Product (resetPlaceOfUniformMachine)
Placement processing of the isolated node illustrated in
The processing unit 30 (placement processing unit 32) retrieves a parent distant from the processing target product by one stage (step S71) and verifies a placement range (relative coordinate x) of the retrieved parent (step S72). Then, the processing unit 30 (placement processing unit 32) moves the processing target product when the processing target product is movable to a lower side of the parent product (step S73). For example, as illustrated in
[3-11] Setting Processing of Mapping Information of Designated Machine (mapMachine)
Mapping processing illustrated in
The processing unit 30 or the display unit 40 places and displays the products at fixed positions in the case where the placement positions of the products are fixed by referring to all product management tables related to the designated machine (step S81) (setting a “display coordinate”; step S82). Further, the processing unit 30 or the display unit 40 places and displays the products at relative positions when receiving a relative placement instruction (setting a “relative position”; step S83). The processing of step S83 corresponds to processing in the case where the “placement space” of the product is changed in the “option” displayed through the pop-up screen.
Then, in the case of products other than the cases of steps S82 and S83, the processing unit 30 or the display unit 40 converts relative positions of the products to positions of the network schematic diagram, and places and displays the products at positions after conversion (setting the “relative position”; step S84).
Further, the processing unit 30 or the display unit 40 sets a placement coordinate of the child product of the processing target product (step S85). The processing in step S85 will be described below with reference to
[3-12] Setting Processing of Mapping Information of Subsequent-Stage Machine of Designated Machine (mapLinkMachine)
Setting processing of the placement coordinate of the child illustrated in
The processing unit 30 or the display unit 40 takes out the placement position of the parent product and the placement position of the child product (step S91), and places and displays the child product at a fixed position in the case where the placement position of the child product is fixed (setting the “display coordinate”; step S92). Further, the processing unit 30 or the display unit 40 places and displays the child product at a relative position when receiving a relative placement instruction (setting the “relative position”; step S93). The processing of step S93 corresponds to processing in the case where the “placement space” of the child product is changed in the “option” displayed through the pop-up screen.
Then, in the case of the child product other than the cases of steps S92 and S93, the processing unit 30 or the display unit 40 converts the relative position of the child product to the position of the network schematic diagram, and places and displays the child product at a position after conversion (setting the “relative position”; step S94).
Further, the processing unit 30 or the display unit 40 sets a placement coordinate of the processing target child product (step S95). In this case, the processing unit 30 or the display unit 40 recursively calls and executes the processing (mapLinkMachine). As a result, mapping information of a machine connected to a subsequent stage of the designated machine is set.
[4] Operational Effect of Design Supporting Apparatus
According to the design supporting apparatus 1 of the embodiment, two or more products being the same type and the same connection destination are displayed as one representative node or displayed to overlap with each other (alternatively, slightly deviate from each other), on the network schematic diagram. As a result, the number of displayed products or connection lines (lines) in which the connection relationships are duplicated is reduced to thereby prevent the lines among the products from complicatedly crossing each other. Accordingly, the network schematic diagram is simplified, and as a result, viewability of the network schematic diagram is improved and it is very easy to appreciate the connection relationship of the products.
Further, according to the design supporting apparatus 1 of the embodiment, on the network schematic diagram, with respect to an isolated node connected with one lower node, the lower node is placed and displayed immediately below the isolated node and further, a node array including the isolated node and the lower node is placed and displayed at a position distant from a central position where a designated product is placed. As a result, since the isolated node is isolated from a node group, the viewability of the network schematic diagram is further improved.
For example, in the related method, when the network schematic diagram prepared and displayed as illustrated in
According to the embodiment, the viewability of the network schematic diagram is improved.
[5] Others
As described above, although the preferred embodiment of the invention has been described above, the invention is not limited to the specific embodiment and various modifications and changes can be made within the scope without departing from the spirit of the invention.
Note that, the design supporting apparatus 1 of the embodiment may further include a function to hold a plurality of network schematic diagrams at a time of an edition process in terms of a snapshot and a function to appropriately extract the held network schematic diagram in terms of a snapshot, in addition to the function to prepare the network schematic diagram. As a result, convenience in preparing the network schematic diagram may be improved.
The computer (including the CPU, an information processing apparatus, and various terminals) executes a predetermined application program (design support program) to implement all or some of the functions as the preparation unit 30, the network trace unit 31, and the placement processing unit 32.
The program is provided in a format recorded in computer-readable recording media such as a flexible disk, a CD (CD-ROM, CD-R, CD-RW, or the like), a DVD (DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW, or the like), a Blu-ray disk. In this case, the computer reads a program from the recording medium, and transmits and stores the read program to and in an internal storage device or an external storage device, and then uses the program.
Herein, the computer is a concept including hardware and an operating system (OS) and means hardware which operates under a control from the OS. Further, when the OS is unnecessary and an application program singly operates the hardware, the hardware itself corresponds to the computer. The hardware at least includes a microprocessor such as the CPU and method for reading a computer program recorded in the recording medium. The design support program includes a program code which makes the computer as described above to implement the functions as the preparation unit 30, the network trace unit 31, and the placement processing unit 32. Further, some of the functions may be implemented not by the application program but by the OS.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-206964 | Sep 2012 | JP | national |