Abstract:
A network system includes a reconfigurable network and a network management system. The network management system can represent the network in the form of a network image. Network image objects, corresponding to network objects, can be selected as copy sources and paste targets. A copy-and-paste operation modifies the network image to indicate a potential modification of the actual network in which the configuration of the network object corresponding to the selected copy source object is applied to the network object corresponding to the selected image object. In addition, the copy-and-paste operation can automatically represent a common connection of a source object input and a target object input to a common data source. Furthermore, the copy-and-paste operation can automatically connect outputsof source and target objects to a comparison function so that the implementation of the copy-and-paste operation on the actual network can be validated.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention relates to computers and, more particularly, to software-reconfigurable computer networks. A major objective of the invention is to reduce the likelihood of unplanned interruptions when expanding, upgrading, reallocating resources in, or otherwise modifying a computer network.  
         [0002]     Increasingly, businesses compete to provide services (e.g., information, sales, and support) over the Internet. Large Internet businesses require extensive computing resources, which must be frequently expanded, upgraded, and reallocated to remain competitive in the rapidly evolving Internet environment. On the other hand, any change to a computing environment involves planned interruptions and risks unplanned interruptions. Such interruptions, especially if they are unplanned, can be quite costly to an Internet enterprise, as potential sales and even customers (who might have returned for future business but for the discouragement associated with the interruption) may be lost. The potential losses can discourage an enterprise from making changes needed to remain competitive.  
         [0003]     Network management tools, e.g., OpenView, available from Hewlett-Packard Company, can provide for managing network upgrades, expansions, and reallocations, so that the likelihood of unplanned interruptions and the impact of planned interruptions are reduced. Network management software can provide a graphic representation of a network that can be manipulated by network management personnel to define network reconfigurations. The software can cooperate with certain hardware, e.g., software reconfigurable network switches for changing network connections and a server for distributing software to target computers of the network, to semi-automate network reconfiguration. This can save time and effort and reduce risk of error compared to manual reconfiguration involving changing physical cable connections and installing software locally.  
         [0004]     While such management tools can minimize interruptions involved in implementing a given reconfiguration, there is still the problem that unexpected incompatibilities introduced by the reconfiguration might cause deleterious unplanned interruptions. What is needed is a system for reducing the risk of unplanned interruptions that can, thus, encourage an enterprise to reconfigure as needed to remain competitive.  
       SUMMARY OF THE INVENTION  
       [0005]     The present invention provides copy-and-paste functionality for reconfiguring a computer network. A network management system displays a network image that is a graphical representation of the network. A user can specify potential modifications to the network by manipulating the network image. In particular, the user can implement a graphical copy-and-paste operation to apply the configuration of a selected source network object (e.g., computer) to a target network object. Once the graphical manipulations represent a desired modification of the network, the network management system can implement the modification, e.g., by automatically installing and activating software and setting network switches.  
         [0006]     The invention provides for implementing the potential modification represented by the copy-and-paste result. However, the invention also provides for using the result of the copy-and-paste operation as a mere step in defining a desired network modification. For example, the copy-and-paste operation can provide a target image object that is a replica of a source image object, while subsequent modifications of the target image object can represent a desired upgrade. In the latter case, the modification implemented on the actual network is itself a modification of the copy-and-paste result.  
         [0007]     The copy-and-paste operation can automatically represent a potential connection of inputs of the source and target objects to a common data source, e.g., so that, upon implementation, the target object receives the same data as does the source object. In addition, the copy-and-paste operation can automatically represent a potential connection of outputs of the source and the target objects to a comparison function so their data outputs can be compared. Where the result of the copy-and-paste operation is implemented directly, the comparison function can be used to confirm that the target object responds in the same manner as the source object respond. Where the result of the copy-and-paste operation is further modified before implementation, the comparison can be used to confirm compatibility and the realization of expected benefits from an upgrade.  
         [0008]     Where the target object has an original configuration, the invention provides alternatives for the result of the copy-and-paste operation. In the first case, the original target configuration is deleted in favor of the source configuration. In the second case, the original target configuration is combined with the source configuration. Both cases can be implemented in response to a single copy-and-paste operation, e.g., applying the first for operating systems and network daemons and the second to applications.  
         [0009]     The copy-and-paste functionality of the invention is analogous to that of copy-and-paste functionality in drawings and other programs. The various copy-and-paste techniques employed in drawing programs can also be applied in the context of the present invention. The invention offers the corresponding advantage: just as, in the context of a drawing program, a copy-and-paste operation obviates the need to redraw a source object in order to replicate it, a copy-and-paste operation of the invention obviates the need to configure a target object element-by-element to replicate a source object.  
         [0010]     The invention contemplates the following method for upgrading a network. First, the network is represented in graphical form. Then a copy and paste operation is used to modify the graphical representation. Further graphical modifications are made corresponding to the upgrade being applied to the target object. Then the desired modification is implemented on the network. In the meantime, users continue to interact with the source object without interruption. The result of the reconfiguration is then tested by comparing the source and target outputs. If the tests are favorable, the network is reconfigured again so that the user interacts with the target object rather than the source object. Thus, in place testing is achieved with very little negative impact on users. These and other features and advantages of the invention are apparent from the description below with reference to the following figures.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  is a schematic diagram showing the effect of a copy-and-paste operation as implemented on a computer network in accordance with the present invention.  
         [0012]      FIG. 2  is a schematic diagram showing the effect of a copy-and-paste operation on a network image represented the computer network of  FIG. 1 . (Note that an “i” at the end of a referent (e.g., network image  11   i ) indicates the corresponding graphic element corresponds to an image of the network element referred to by the same number (e.g., network  11 ).  
         [0013]      FIG. 3  is a flow chart of a method practiced on the actual network of  FIG. 1  and the network image of  FIG. 2 . 
     
    
     DETAILED DESCRIPTION  
       [0014]     A network system API, comprises a reconfigurable network  11  and a network management system  13 , as shown in  FIG. 1 . In accordance with the present invention, network management system  13  provides for copy-and-paste functionality in generating potential modifications of network  11 .  FIG. 2  presents a network image  11   i  of network  11  before (below) and after (above) the copy-and-paste operation  15 .  FIG. 1  represents network  11  before (below) and after (above) the result of the copy-and-paste operation  15  is implemented on network  11 .  
         [0015]     Network  11  includes three computers, e.g., nodes N 1 , N 2  and N 3 , and a software-controlled switch  17  through which the nodes communicate with each other, the Internet, and network management system  13 . Applications A 1 , A 2 , and A 3  are initially installed respectively on nodes N 1 , N 2 , and N 3 . Network management system  13  includes a display  21 , a mouse pointing device  23 , and a comparison function  25 .  
         [0016]     Network management system  13  can present a graphic representation of network  11  in the form of a network image  11   i , in which image objects correspond to network objects. For example, node images N 1   i , N 2   i , and N 3   i  of  FIG. 2  represent actual nodes N 1 , N 2 , and N 3  of  FIG. 1 , respectively; switch image  17   i  of  FIG. 2  represents switch  17  of  FIG. 1 , and comparison function image  25   i  of  FIG. 2  corresponds to comparison function  25  of  FIG. 1 . Application images A 1   i , A 2   i , and A 3   i  of  FIG. 2  respectively correspond to software applications A 1 , A 2 , and A 3  of  FIG. 1 .  
         [0017]     Network image  11   i  as shown in the lower portion of  FIG. 2  shows application images A 1   i , A 2   i , and A 3   i  initially within node images N 1   i , N 2   i , and N 3   i , respectively. This corresponds to the configuration of network  11  before copy-and-paste operation  15 ; in this configuration (shown at the bottom of  FIG. 1 ), application A 1  is installed on node N 1 , application A 2  is installed on node N 2 , and application A 3  is installed on node N 3 .  
         [0018]     Using mouse  23  and display  21  of  FIG. 1 , a user can select a source object for a copy operation. As indicated by dotted rounded rectangle  31  in  FIG. 2 , a user has selected node image N 2   i  as a copy-source image object. As indicated by the dotted rounded rectangle  33  of  FIG. 2 , the user has selected node image N 3   i  as the paste-target image object. When the paste operation is executed, paste-target image object (node image N 3   i ) is modified in that a version of application image A 2   i  is now shown within node image N 3   i . This indicates a potential configuration of network  11  in which application A 2  is installed on node N 3 .  
         [0019]     Conveniently, network management system  13  can be configured so that operations that might typically follow a copy and paste operation are automatically executed with the copy-and-paste operation. Thus, in the illustrated example, executing copy-and-paste operation  15  connects a source input image  41   i  and a target input image  43   i  to a common data source image  45   i . This represents a potential modification of network  11  in which node N 3  receives the same input data as node N 2 . Also in the illustrated example, a source output image  47   i  and a target output image  49 i are connected to comparison function image  25   i . This represents a potential modification of network  11  in which outputs  47  and  49  of nodes N 2  and N 3  are provided to comparison function  25  so that the outputs can be compared (e.g., to validate the copy-and-paste implementation).  
         [0020]     In this example, execution of copy-and-paste operation  15  does not affect the configuration of actual network  11 . However, a user can choose to implement the network configuration represented by the copy-and-paste result. This can be useful to validate a copy-and-paste result before implementing other modifications required to achieve a desired end result.  
         [0021]     When the implementation command is received from a user, network management system  13  issues the necessary commands so that application A 2  is installed on node N 3 . In addition, input  43  and output  49  of node N 3  are connected as indicated in the modified network image  11   i  in the upper portion of  FIG. 2 . To this end, network management system  13  can include an application server that provides a copy of application A 2  to node N 3 , and can control switch  17  to effect the desired reconnections resulting in the network as represented in the upper portion of  FIG. 1 .  
         [0022]     A method M 1  of the invention is flow-charted in  FIG. 3 . At step S 1 , network image  11   i  of network  11  in its original configuration is depicted on display  21 . At step S 2 , the source image object (node image N 2   i ) and target image object (node image N 3   i ) are selected. In the illustrated embodiment, the source image object is selected first and the target image object is selected next, but the invention provides for selecting in the reverse order or concurrently. For example, the invention also provides for automatic selection of a suitable target image object image when a source image object is selected.  
         [0023]     Step S 3  involves executing copy-and-paste operation, which results in a modification of target object image corresponding to a potential modification of the corresponding target network object donning a configuration of the corresponding source network object. In the illustrated example, the source network object is node N 2 , and its configuration is that application A 2  is installed thereon. The source object image is image object N 2   i , which includes application image object A 2   i . Copy-and-paste operation  15  results in a second instance of image object A 2   i  being included in the post-paste version of target image object N 3   i.    
         [0024]     Optional step S 4  involves further modifying network image  11   i  before implementing a potential modification on network  11 . For example, the target image object can be further modified to represent a desired upgrade to network  11 . In the illustrated example, the second instance of application image A 2   i  is modified to an upgraded version A 2   i ′ as shown in the upper portion of  FIG. 2 . Thus,  FIG. 2  represents the transformation of network image  11   i  effected by steps S 1 -S 4  of method M 1 . If step S 4  is not implemented, the result would be similar except that image object A 2   i ′ would remain instead a second instance of image object A 2   i.    
         [0025]     Step S 5  involves implementing the potential configuration of network  11  represented by the network image resulting from the preceding steps of method M 1 . Typically, the potential configuration is represented by a currently displayed version of network image  11   i .  FIG. 1  represents the transformation of network  11  resulting from steps S 1 -S 5  of method M 1 . Network management system  13  includes an application server for distributing applications as required by the reconfiguration. Also, network management system  11  can control switch  17  for the purpose of providing the indicated reconnections.  
         [0026]     Step S 6  involves comparing outputs of the source network object (e.g., node N 2 ) and target network object (e.g., node N 3 ) to validate the modification of network  11 . For example, if step S 4  is skipped, the outputs can be compared to determine whether the instance of application A 2  on target node N 3  provides the same results as the original instance of application A 2  on source node N 2 . If step S 4  results in a modification of application A 2 , the outputs can be compared to test whether any expected changes in the outputs are in fact realized.  
         [0027]     Steps S 1 -S 6  do not impact users interacting with network  11  significantly. For example, users accessing network  11  over the Internet still interact with the source object and are shielded from the operation of the target object. However, if step S 6  confirms the operation of the modified target object, it can then be inserted into the user workflow so that the user interacts with the target object instead of the source object. Thus, the user can benefit from any upgrade or modification implemented on the target object.  
         [0028]     Accordingly, step S 7  involves switching the target object into the user workflow and switching the source object out of the workflow. This switching can be specified using the graphical interface prior to actual implementation. Typically, this will involve changing logical addresses so that the source object no longer receives the formerly common input and so that the target output can impact the user (directly or indirectly). The switching itself can be invisible to the user, although the user may well experience benefits due to the network upgrade.  
         [0029]     While method M 1  is described above in the context of a network upgrade, it applies as well to other network modifications. For example, it can be used to implement a downgrade (to improve compatibility or to recover the extra processing resources consumed by a previously installed upgrade). Method M 1  can also be used to reallocate resources, e.g., moving an application so as to allot more or fewer resources to it.  
         [0030]     Method M 1  also provides for adding resources rather than replacing resources. For example, the end result might be that an application formerly running on only one computer is replicated so that it runs in parallel on two computers. In this case, step S 7  involves switching in the target object, but not switching out the source object. If this parallel use of a copy-and-paste result occurs frequently, the copy-and-paste operation can be configured to automatically arrange source and target inputs and outputs for parallel operation.  
         [0031]     Method M 1  can also be used to allow a source object to be taken offline for maintenance or hardware modification. In this case, the source configuration is copied to the target object. Optionally, the resulting configuration can be validated. Then the target object is switched into the user workflow. The source object can be switched out and then powered down (if necessary) without impacting users. Once maintenance and/or hardware modifications can be complete, the original source object and target object can be switched, or the original source object can be reallocated—e.g., made available for future copy-and-paste operations.  
         [0032]     In the illustrated embodiment, source input and source output data streams are replicated and a target output is provided by default when the copy and paste is executed. Alternatively, the copy and paste command can exclude provision for these additional data streams. These can then be added manually using the graphical user interface if desired. Other embodiments provide only one or two of the data stream changes, leaving the others to be added manually.  
         [0033]     Where there are multiple inputs and outputs to the copy source, the invention provides for default replication of none, some or all of these. For example, Internet inputs and outputs can be replicated, while others (representing internal activity) are not.  
         [0034]     Outputs replicated for comparison purposes can be compared in real time or captured for non-real-time comparison. The comparisons can be used to validate a copy-and-paste operation, as well as to evaluate the effect of an upgrade implemented with or after the copy and paste operation.  
         [0035]     Where alternatives such as those described above are available, they may be implemented in the alternative, or dependent upon user selection, or upon automatic conditions. These and other variations upon and modifications to the described embodiments are provided for by the present invention, the scope of which is defined by the following claims.