WO1996026588A1 - Method for group management in communications network - Google Patents

Method for group management in communications network Download PDF

Info

Publication number
WO1996026588A1
WO1996026588A1 PCT/US1996/003036 US9603036W WO9626588A1 WO 1996026588 A1 WO1996026588 A1 WO 1996026588A1 US 9603036 W US9603036 W US 9603036W WO 9626588 A1 WO9626588 A1 WO 9626588A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration
network
group
applicable
policy
Prior art date
Application number
PCT/US1996/003036
Other languages
French (fr)
Inventor
Lundy Lewis
Rajiv Malik
Steve Sycamore
Original Assignee
Calbetron Systems, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/394,143 external-priority patent/US5832503A/en
Application filed by Calbetron Systems, Inc. filed Critical Calbetron Systems, Inc.
Priority to AU51837/96A priority Critical patent/AU702607B2/en
Priority to EP96908672A priority patent/EP0811284A1/en
Publication of WO1996026588A1 publication Critical patent/WO1996026588A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Definitions

  • the present invention is directed to configuration management of communications networks, and more specifically to an apparatus and method for defining and enforcing configuration policies for configuration management of network devices.
  • Configuration management in communications networks is the task of keeping an inventory of network devices, knowing the configuration of each device, resetting or updating configurations as the need arises, and scheduling configuration changes. In the past, many of these tasks were done manually or by software packages built specifically for a particular device.
  • a "configuration" is defined as a particular setting of device parameters that govern the operational characteristics of a network device.
  • the devices that are routinely configured are routers, bridges and hubs, and examples of device parameters include port thresholds, on/off switches, access security, etc.
  • one method of network configuration is to manually configure a network device.
  • a user physically attaches a dumb terminal to the network device and issues configuration commands through the terminal's keyboard.
  • a disadvantage of this method is that one cannot retrieve or store information regarding the configuration of a device.
  • a second known method is to make configuration changes with a software package built specially for a network device type.
  • a disadvantage of this method is that one cannot configure different device types simultaneously. Examples of commercially available tools that allow one to configure a single type of device include the following: (1) Site Manager, Wellfleet Communications, Inc., 8 Federal Street, Billerica, Massachusetts 01821 ; and (2) Cisco Works, 1525 O'Brien Drive, Menlo Park, California 94025.
  • the primary disadvantages of the prior art include: a user can manually configure only one device at a time: a user must know the desired configuration before making a change; a user must manually check to see if in fact the desired change took place; existing tools utilize only one network management protocol (e.g., the simple network management protocol ⁇ SNMP) to manage the device; and - existing tools are specialized for one particular type of device (e.g., Cisco routers).
  • a network management protocol e.g., the simple network management protocol ⁇ SNMP
  • a third known method is to define a number of individual devices of specific types as policy domains, and apply policies to the policy domains.
  • a disadvantage of this method is that this method is only applicable to a limited number of specific types of devices. Examples of commercially available tools that allow one to define specific types of devices as groups include the following: Tivoli Works, TIVOLI Systems, Inc., 6034 West Courtyard Drive, Suite 210, Austin Texas 78730; and MaestroVision, Calypso Software Systems, Inc., 1 Sundial Avenue, Suite 410, Manchester NH 03103.
  • the present invention is directed to a method and apparatus for configuration management of a communications network, and which performs one or more of the following functions: enables configuration of several network devices at the same time; enables retrieval of a configuration from a device, storage of a configuration, and downloading of the configuration to other devices; verifies that configurations have taken place and generates reports and/or alarms when configuration operations are unsuccessful; enables automatic scheduling of configuration retrieval, loading and/or verification; enables configuration of a wide variety of different network devices.
  • the present invention utilizes a database of models, each "model” representing an associated network device and including attribute values for the parameters of that device.
  • a configuration manager accesses a set of model types, each "model type" having an associated set of attributes.
  • the configuration manager creates a template by selecting a model type and one or more attributes from the associated set of attributes, and then screens a selected model with the template to retrieve the values for each of the attributes in the template from the attribute values in the database, to create a configuration record for the model.
  • the configuration record may then be stored, modified, transferred to a model, and/or displayed to a user on a user interface.
  • multiple templates can be used to create a composite configuration record. Multiple configuration records may be transferred to multiple models in the database, for reconfiguring multiple network devices.
  • a template may be created from a pre-existing configuration record by extracting the attributes of that record.
  • Other features include the generation of alarms to indicate whether or not a transfer or reconfiguration has been successful, and maintaining a scheduler for automatic capture, load or verification of configuration records.
  • model and "model type” will be more specifically described in regard to the following detailed description. Generally, a model type is analogous to a "class” in object-oriented terminology. Note that a reference to “model type name” is meant to be the same as “model type”.
  • model is analogous to an "instance of a class” or an "object” in object-oriented terminology. So, a model is an instance of a model type. Again, a reference to “model name” means the same as just “model”.
  • FIG. 1 is a schematic illustration of one embodiment of an apparatus for configuration management according to this invention.
  • Fig. 2 is a main window display from a user interface illustrating the configuration data and options which may be selected according to one embodiment of this invention.
  • Fig. 3 illustrates a representative template and a corresponding configuration according to the present invention.
  • Fig. 4 is a components window display outlining the components of a main network device (e.g., hub), showing model name and model type according to one embodiment of this invention.
  • a main network device e.g., hub
  • Fig. 5 is a flow chart of the basic configuration operations according to this invention.
  • Fig. 7 is a schematic illustration of another aspect of the invention that includes definition and enforcement of configuration policies.
  • Fig. 8 is a block diagram of an element shown in Fig. 7.
  • Fig. 9 shows general grouping relationships that may exist among network devices and network groups.
  • Fig. 10 shows a specific example of grouping relationships such as those shown in Fig. 9.
  • Fig. 1 1 shows policy links that apply to the devices and groups of Fig. 9.
  • Fig. 12 is a flow diagram showing exemplary steps involved in defining and enforcing configuration policies.
  • Fig. 13 shows more detail of steps performed by the inference engine depicted in Fig. 8 and Fig. 12.
  • Fig. 14 shows more detail of a conflict resolution step shown in Fig. 13.
  • configuration management may include identifying, controlling and monitoring the "managed devices" that make up a communications network.
  • a managed device is any device that is modeled in a network management system, such as the SpectrumTM Network Management System available from Cabletron Systems, Inc., 35 Industrial Way, Rochester, New Hampshire 03867.
  • the managed devices include not only hardware devices such as personal computers (PCS), workstations, hubs and routers, but also software applications.
  • PCS personal computers
  • a network management system 14 such as SpectrumTM, continually monitors the network and maintains a database of information about every managed device in the network.
  • a configuration manager 18 obtains the values of certain attributes (i.e., data which define the characteristics of the network device being modeled) in a desired configuration by interrogating the SpectrumTM model of the managed device.
  • the configuration manager then enables a system administrator, via a user interface (see Fig. 2), to use this information to manage the device. For example, the administrator may create new configurations, load these configurations to devices anywhere on the network, and then verify whether the configurations have changed.
  • the configuration manager enables a user to create configurations with a template.
  • a template is a list of attributes for a device of a certain model type.
  • the configuration manager provides the user with a list of all readable/writable and non-shared attributes for a model type (which includes the specific device). The user then selects the attributes needed for the template, which depending on the purpose of the template, might include a single attribute (port status, for example) or dozens of attributes.
  • the configuration manager then captures the values of the attributes listed in the template, by retrieving the values from the SpectrumTM model.
  • the template functions like a filter, blocking out unwanted attributes (IP address, for example) and capturing the values of those attributes found in the template.
  • the resulting configuration created with the template contains the attributes from the template and the values collected from the model.
  • the configuration may be stored in the configuration manager, in another storage device, or the SpectrumTM database.
  • Fig. 3 illustrates the difference between a template and a configuration.
  • Item 40 is a template for "new_config_template” which includes the list of attributes set forth below the heading "Attribute”.
  • Item 42 is the corresponding configuration for "new.config”, which includes a list of attributes on the left and corresponding values on the right.
  • capture An operation on a model that stores all attribute/value pairs, obtained by interrogating the selected models through a template. That is, the value of only those attributes that can be found within the template are obtained by interrogating the model.
  • configuration A record of all attribute/value pairs which are obtained by interrogating the selected models through the template. The record may be stored in a compressed form in the configuration manager.
  • a record which contains a list of attributes for which the configurations will provide values.
  • attribute A configurable parameter within a model.
  • the development of the model type creates an attribute by publishing the attribute name and range of possible values.
  • SpectrumTM is a system for maintaining and processing information pertaining to the condition of the computer network and providing the same to a user, the network including a plurality of network entities such as computer devices and software applications being executed on such devices.
  • the system includes a virtual network machine, comprising a programmed digital computer, wherein a program is implemented using an object-oriented programming language such as C++, Eiffel, SmallTalk, and Ada.
  • the virtual network consists of interrelated intelligent models of network entities and relations between network entities, including means for acquiring network data pertaining to the condition of a network entity from the corresponding network entity.
  • the virtual network further includes means for maintaining objects which include network data relating to the corresponding network entity and one or more inference handlers for processing the network data, the inference handlers being responsive to changes occurring in the same and/or a different object.
  • the network data can then be transferred to a user interface coupled to the virtual network machine, for supplying the network data to a user.
  • the models are implemented as software "objects” containing both “data” (attributes) relating to the corresponding network entity and one or more “inference handlers” (functions) for processing the data. See Grady Booch, "Object-Oriented Analysis And Design, With Applications,” 2nd Edition, Benjamin/Cummings Publishing Co., Redwood City, CA, Chapter 2, 1994.
  • the inference handlers are initiated by predetermined virtual network events, such as a change in specified network data in the same model, a change in specified network data in a different model, and predefined events or changes in models or model relations.
  • Information pertaining to the condition of the network entity can be obtained from the network entity by polling the same, can be automatically received from the network entity (without polling), or can be inferred from data contained in other models.
  • An alarm condition may be generated when the network data meets a predetermined criteria. Events, alarms and statistical information from the virtual network are stored in a database and are selectively displayed for the user.
  • the data in the SpectrumTM database may be used for generating topological displays of the network, showing hierarchial relationships between network devices, isolating a network fault, and reviewing statistical information.
  • SpectrumTM allows for collective management of autonomous local area networks (LANs), with equipment from different vendors. It complies with the current simple network management protocol (SNMP) standards, and can also accommodate other standard and proprietary protocols.
  • the virtual network machine preprocesses the raw information coming from the network devices in order to construct a model of the network's current status and performance characteristics. Network elements that cannot be directly communicated with (e.g., cables and buildings) can infer their status from the status of the devices connected to (or contained within) them.
  • the virtual network machine provides a consistent interface for management applications to access any of the information in the model and thereby provides these applications with a unified view of the network.
  • SpectrumTM's associated SpectroGRAPHTM user interface provides a highly graphical multi-perspective view into the network model.
  • SpectroGRAPHTM enables the user to navigate through a landscape in which cables, networks, local area networks and even rooms show up as icons, and which icons indicate the health and performance characteristics of those elements. These icons can be further queried for additional information.
  • SpectroGRAPHTM's main function is to visually present to the user the model within the virtual network machine. It allows the user to navigate freely within the network model, only limited by the access rights assigned by the network administrator. The information can be accessed at varying degrees of detail, from a macro overview, to the devices and cables which connect them.
  • SpectroGRAPHTM provides an alarm management facility, an event log window, a reporting facility, a find facility, and other features.
  • the configuration manager of the present invention utilizes certain aspects of the SpectrumTM system to provide a configuration management system which is less time-consuming, expensive and error prone.
  • Fig. 1 is a block diagram illustrating generally the method and apparatus of the present invention.
  • a network management system 14 monitors a live network 10 via communication link 12.
  • the network management system is SpectrumTM, which includes a database of models and model types relating to corresponding network entities.
  • a configuration management system 18 is connected via communication link 16 to the network management system 14.
  • the configuration management system 18 is software implemented in an object-oriented programming language such as C++, and developed on a Sun OS platform.
  • the configuration management system may be invoked from an icon subview menu within the SpectroGRAPHTM user interface, which forms part of networking management system 14.
  • the configuration management system 18 includes the following features/functions: create and edit templates 20; create and edit configurations 22; - capture configurations 24; load configurations 26; verify configurations 28; status and history reporting 30; event-triggered configuration 32; configuration scheduling 34; and storage 36.
  • Fig. 2 illustrates the main display screen for the configuration management system as displayed on SpectroGRAPHTM.
  • the display 50 includes a configuration section 52 which lists the available configurations by name and information about the selected configuration in other fields. These configurations all relate to the model "Cisco 1 " (i.e., a type of Cisco router) previously selected by the user, as indicated on the display.
  • the configurations listed in section 52 can be loaded to the selected model or to other models of the same model type, and further to schedule automatic loads as described below.
  • the load and schedule operations are initiated by selecting the icons 58 and 62, respectively.
  • the verify operation designated by icon 60, enables the user to verify the configuration of the selected model or models, and also to schedule automatic verifications as described below.
  • the "Configuration Name” field 55 contains the names of configurations that have previously been created for models of the same model type as the model selected by the user (as shown in line 53).
  • the "Model Specific” field 57 shows whether the configuration is specific to this model or whether it will be included in the configuration list of other models of the same type.
  • the status section 54 includes a "Source” field 61 containing the name of the model from which the configuration was captured.
  • the “Time Loaded” field 63 indicates the last date and time the configuration was loaded.
  • the “Loaded By” field 65 designates the log-in name of the person who loaded the configuration.
  • the detail section 56 displays information about the attributes that are in the selected configuration. This enables the user to view the attributes in the configuration before the user elects to load the configuration to a model.
  • the "Attribute” field 64 contains a list of attributes in the configuration and their instance IDs, if any.
  • the "Value” field 67 contains the values of the attributes, which can be numbers or text strings.
  • the "Host Configuration” button 66 at the bottom of the window provides the user with the additional options of viewing, editing, printing and loading a host configuration, as opposed to a SpectrumTM configuration.
  • the host configuration file on a Cisco router contains the setup commands used to configure that router. When a user captures or creates a Cisco router configuration, the host configuration button appears at the bottom of the display. This enables a user to perform all of the configuration management operations on the Cisco host configuration.
  • Cisco router is a trademark of Cisco Systems, Inc.. Menlo Park, CA.
  • the display screen illustrated in Fig. 4 is a components display 70. This screen is under the "Options" menu 68 on the main display screen (Fig. 2).
  • a user has selected the components for "HubEmme " and display 70 lists all components according to their relationship to the main device.
  • the main device (HubCSIEMME ⁇ a hub sold by Cabletron Systems, Inc.) appears at the top of the right-hand list under the heading "Model Type” 71 , and all components of this main device, for example, boards, interfaces, and applications, appear below the main device. All subcomponents appear indented under the component.
  • Fig. 4 illustrates that the main device has an Emme board in slot 1 , a TPRMIM22 board in slot 2, and then lists all of the ports on slot 2. Following all of the boards, there are listed the interfaces on the hub and then the applications on the hub.
  • the configuration manager allows the user to create configurations in two ways - either with templates or manually without templates. During both processes, the configuration manager captures attribute values and instance IDs, if any, from the selected model. The capture process provides an efficient way to "populate" a configuration, reducing the chances of human error. The user can then modify attribute values and instance IDs when necessary.
  • the configuration manager allows the user to create the following types of configurations:
  • configurations that can be loaded to the model selected by the user, or to other models of that model type.
  • model-specific configurations that are restricted to one device and cannot be loaded to other devices.
  • the configuration manager displays the configuration only in the configuration listing of the specified device. - multiple configurations that can be loaded sequentially to a single device. For example, a user may create multiple configurations when it is necessary to configure certain attributes before configuring Others, or when configurations are very large.
  • the load option enables the user to load the configuration to the model from which it was captured or to one or more models of the same type. This is how one configures new models or reconfigures existing ones.
  • the verify option enables the user to verify whether models' attribute values match that of the configuration created.
  • Templates are useful to create configurations quickly.
  • a library of templates provides administrators with an efficient way to create configurations.
  • a template is created by selecting a model (step 80) and then selecting one or more attributes of the model type of the selected model (step 81).
  • the template can later be edited by adding to or deleting selected attributes.
  • An alternative method (steps 82-83) of creating a template is from a configuration that has been created manually, or captured with the template and then modified.
  • the configuration manager takes the attributes listed in the configuration, creates a template from them, and gives the template the same name as the configuration.
  • a user first selects the desired template (step 84).
  • the configuration manager uses the template to capture the values of those attributes specified in the template and lists the captured attribute/value pairs in a new configuration (step 85).
  • the configuration manager captures all instances of an attribute, where applicable.
  • the template thus functions as a filter, blocking out unwanted attributes and capturing the values of those attributes specified in the template.
  • Some attributes - IP address, for example, should not be captured in a configuration that will be applied to multiple devices. Therefore, the template used to capture this configuration should not include the IP address attribute.
  • the configuration manager only includes in the configuration those attributes that can be retrieved from the model. If the configuration manager cannot capture attributes specified in the template, it shows the user the attributes that were not captured. The user can then insert those attributes and values by editing the configuration later, if necessary.
  • the user can load the configuration to one or more models (step 86).
  • the configuration manager will apply a configuration to the selected model; as a second alternative, the configuration manager will apply a configuration to any number of models of the same model type as the selected model.
  • a "safe load" option helps administrators control the load process. When the safe load option is activated, the configuration manager captures the model's configuration before loading a new configuration to it. If the load fails, the configuration manager tries to restore (i.e., roll back) the original configuration to the model.
  • the configuration section 52 in the main window 50 shows the load status of the configurations which have been created.
  • Successfully loaded configurations (Y) appear first, then partially loaded configurations P, then rolled-back configurations (R).
  • configurations are sorted according to the time of the load, the most recent load appearing first.
  • Configurations that have not been loaded (N) are sorted according to the time they were created - the most recently created appearing first.
  • Configurations that have not been loaded (N) are sorted according to the time they were created - the most recently created appearing first.
  • the network management system 14 will modify the parameters of the network device to conform to the configuration data in the model.
  • the configuration manager first captures the actual configuration of the model and compares each attribute/value pair in the configuration with the current model's actual configuration. The configuration manager may then display the results to a user via the user interface. In addition, the configuration manager enables the user to verify the configurations of other models of the same model type as a selected model, by creating a sublist of the models in for example, a particular network or area.
  • the configuration manager enables administrators to schedule (steps 88 and 89) the time and frequency of automatic captures, loads and verifications. More specifically, this feature may be used to: schedule loads, captures and verifications during low-traffic hours. - maintain more stable configurations by scheduling automatic loads at regular intervals. check the integrity of the network with periodic, automatic captures and verifications of configurations.
  • the configuration manager sends information about the scheduled operations to the SpectrumTM event log and/or to other storage devices. A user can then view the results of any operation performed by the scheduler.
  • the user will specify the template to be used and the name of the configuration that is created. Then, the user selects a frequency option (hourly. daily, once, weekly, monthly). The scheduled entry is then sent to a scheduling queue.
  • the event log which is accessed in SpectroGRAPHTM, contains the basic information about each configuration operation. An event log entry shows the time the operation was performed, whether it was successful, and the names of the devices, configurations, and templates when applicable. The following example is illustrative of the above-described methods.
  • Example: Configuring Ports The procedures in this example show how the configuration manager may be used to configure ports (i.e., turn on or off) on an "MRXiRptr" repeater. The example assumes that the MRXiRptr is located in slot 2 of a hub and that the ports are all on.
  • the instance IDs (2.1,2.2, 2.3, 2.4%) indicate that this board is located in slot 2 and that there are 4+ ports on the board.
  • a configuration management system 100 includes elements 20-36 as described earlier, and also includes definition and enforcement of configuration policies 102.
  • the configuration management system 100 enables all of the functions described earlier.
  • configuration records 104 may include the following modules: configuration records 104; group definition 106; policy definition 108; conflict determination 1 10; and conflict resolution 1 12.
  • each of these modules may exist on a general purpose computer, and interact through known software techniques.
  • shared memory or communications interfaces may be used to facilitate this interaction.
  • Each of these modules will be discussed in more detail, beginning with configuration records 104.
  • Configuration records 104 holds the configuration records as disclosed earlier, for example a configuration as shown in item 42 of Fig. 3.
  • a configuration record will typically include the attributes model name and model type name, also referred to as device_name and device type.
  • configuration record is a list of attribute/value pairs that may be obtained by interrogating a selected device through a template. The configuration record may be in a compressed form in the configuration manager.
  • a group may be a collection of devices, a single device, a single board or port on a device, or a collection of groups. Since a network consists of a number of devices such as switches, hubs, routers, bridges, workstations, printers, and the like, there are several ways in which to characterize the devices into groups. For example, a group may consist of network devices that are connected together in a particular topology, such as a local area network, a metropolitan network, or a wide area network.
  • a group may include a collection of devices in a particular physical location, for example a group of devices in a specific building, or in a specific laboratory.
  • a group may reflect other characteristics of the devices, for example devices which are associated with a particular organization of a company. Examples would include a "quality assurance group” and a "sales support group.”
  • a group may also consist of any combination of the types of groups described above, as well as other combinations of devices.
  • Fig. 9 gives an example of several groups that include several devices.
  • levels of abstraction may exist, for example level 0 which includes devices (device 1, device2, device3, device4, and device5), level 1 which includes a first layer of groups (groupl 1, groupl2, groupl3, groupl4, and groupl 5), and level 2 which includes a second layer of groups (group21, group22, group23, group24, and group25).
  • levels are conceptual, and need not be specifically defined, but as will be evident later, there may be advantages to defining such levels.
  • three levels are shown, there is no limit to the number of levels which may exist. As shown in Fig.
  • a group may contain devices and groups from other levels. Additionally, a device may be a member of several groups. Graphically, the "is a member of links 1 16 depict several group relationships. Other expressions may be used to convey a group, such as a "domain", or a "partition.” However, the concepts of such groupings are within the scope of this disclosure.
  • An embodiment of this invention includes a data structure for recording group relationships by creating associations between a group and a device, a plurality of devices, another group, a plurality of groups, or any combination of these. Examples of such a data structure, which are consistent with several of the relationships shown in Fig. 9. are given below: device 1 is a member of group 1 1 ; device2 is a member of groupl 1 ; device2 is a member of groupl 3; groupl 1 is a member of group21 ; groupl 3 is a member of group24.
  • identifiers The first and last terms in the above examples are called identifiers, and the text in between is referred to as associations. Accordingly, the actual data structure may be implemented by any technique which associates the appropriate group members with the appropriate groups. Other terminology may be used to define such a data structure, for example "groupl 1 contains device 1 ". or similar statements.
  • grouping A more specific example of grouping is depicted in Fig. 10.
  • level 2 is selected to represent network types such as LAN 10 and LAN 13.
  • level 1 represents model types (WS_SGI, CiscoRtr, and WSJBM)
  • level 0 represents individual models (sgi2, sgi3, sgil4, rtr_tom, and duke). Accordingly, as shown in Fig.
  • a particular model such as sgi2 is a member of group WS SGI because WS_SGI is the model type of sgi2. Additionally, sgi2 is a member of group LAN 13, perhaps because sgi2 is connected to LAN13. As discussed above, these concepts are exemplary, and any principle may be used for grouping devices and groups.
  • a configuration attachment is a relationship between a configuration record and a device.
  • the relationship expresses that a particular configuration record defines the configuration of the device. This may be as a result of a desire by a system administrator, for example.
  • An example would be “configuration recordl is attached to device3.”
  • the term “is attached to” means that the configuration of device3 should be in accordance with the configuration defined within configurationjrecord 1.
  • Other terms which may be used to convey the same concept are "an attachment”, “is associated with,” “is enforceable for,” “applies to,” “is bound to,”, etc.
  • a configuration policy is a data structure representing a list of configuration attachments, and may take the form "CR1 is attached to groupl", “CR2 is attached to group3,” where CR1 and CR2 are configuration records as discussed earlier.
  • Each attachment in a configuration policy may also include two additional parameters, including an ordering index and a set of conditions.
  • the ordering index may be used to control the order in which configurations are loaded into a device. For example, some attribute/value pairs such as those shown in Fig. 3 may only be effective if physically loaded onto a device before other attribute/value pairs are loaded onto the device.
  • the ordering index typically represented by an integer, allows a user or external system to define such a loading order.
  • a configuration policy might include the following:
  • CR1 is attached to groupl with Ordering Index 2; CR2 is attached to groupl with Ordering Index 1.
  • the attribute/value pairs of CR2 would be loaded into the devices of groupl before the attribute/value pairs of CR1 were loaded into the devices of groupl , because the ordering index for the CR2 attachment has a lower value than the ordering index for the CRl attachment.
  • the set of conditions constrain the enforceability of the associated attachment, and may define a condition such as a load factor or a configuration status. For example:
  • CR2 is attached to groupl if segment_load > 50%;
  • CR3 is attached to groupl if segment load ⁇ 50% and CR3 is not equal to the current configuration of groupl.
  • CR is attached to group with Ordering Index I if condition 1, condition2,...
  • Ordering Index will be applied if the conditions specified are met. For example:
  • CRl is attached to groupl with Ordering Index 2 if segment_load > 50% and CRl is not equal to the current configuration of groupl ;
  • CR2 is attached to groupl with Ordering Index 3 if segment load > 50% and CR2 is not equal to the current configuration of groupl ;
  • CR3 is attached to groupl if segment load ⁇ 50%.
  • segment load parameter has a value greater than 50%, and either CRl or
  • configuration record CRl will be loaded into the devices of groupl, after which the configuration record CR2 will be loaded.
  • a configuration policy may also contain more than one attachment to a particular device. For example:
  • Policy 1 applies to LAN 13; Policy 1;
  • CRl is attached to modeltype Cisco_Rtr;
  • CR2 is attached to model Cisco Rtr 14.
  • Cisco_Rtr_14 is of modeltype Cisco Rtr, and is contained within the group LAN13, then both attachments of Policyl are attached to this device.
  • the first attachment means that CRl applies to all routers of modeltype Cisco Rtr that are within the group LAN 13.
  • the second attachment means that CR2 is applied to any individual model named Cisco_Rtr_14 in LAN 13.
  • policies may be "applied" to groups.
  • a policy may also be defined to include an ordering index and a set of conditions, similar to the ordering index and set of conditions for an attachment. For example:
  • Policyl applies to groupl with Ordering Index 2 if the time is between 8 AM and 5PM; Policyl applies to groupl with Ordering Index 3 if the time is between 5PM and 1AM.
  • Fig. 1 1 An example of a number of policies being applied to a number of groups and devices is shown in Fig. 1 1, which shows the same levels of groups and devices as Fig. 9.
  • Fig. 1 An example of a number of policies being applied to a number of groups and devices is shown in Fig. 1 1, which shows the same levels of groups and devices as Fig. 9.
  • Fig. 1 1 however, several polices are shown (policyl, policy3, policy5, policyl 1 , and policyl2).
  • the "applies to" links 118 are shown to represent that certain policies apply to certain groups and devices. For example, policyl applies to device4 and device5. Additionally, policy 12 applies to group25 and groupl 5. It may be noted that device4 is a member of group25, so that both policy 12 and policyl ultimately apply to device4. As a result of a policy having several potential attachments to a single device or group, as well as several policies being applicable to a single device or group, it is possible that a single attribute may be defined as having two different values. For example (see Fig.
  • row (a) and row (b) below show two possible attribute/value pairs for the same attribute, that may have been attached to the same device or group of devices as a result of more than one attachments in one policy, or as a result of more than one policy being applied to the device or group of devices:
  • Cisco_Rtrl3 is a member of LAN13;
  • CRl attaches to Cisco_Rtrl3 in Policyl
  • CR2 attaches to Cisco_Rtrl 3 in Policy2. Since CRl and CR2 respectively contain the conflicting attribute/value pairs (a) and (b), there is a conflict with regard to the identified attribute. Since there may be many groups, and many policies and attachments for each group, such conflicts may often exist, for example if a user inadvertently builds inconsistent configuration policies.
  • This embodiment provides a method and apparatus for determining and resolving such conflicts.
  • Fig. 12 shows a process for determining and resolving conflicts.
  • a trigger is defined, which causes an inference engine to be invoked in step 126.
  • the inference engine uses network grouping information as well as configuration policy information.
  • the inference engine 114 may receive data from the steps of define network grouping (step 122), and define configuration policies (step 124). Typically the network grouping and configuration policies will be previously defined, and the inference engine receives the resulting data. After the inference engine is invoked, and conflicts are determined and resolved, appropriate action is taken as shown in step 128.
  • the inference engine represents a preferred embodiment of this invention. However, from the following description, it will be clear that there may be other alternatives to an inference engine as disclosed, that are within the scope of this invention as described and claimed.
  • Fig. 13 is a flow chart showing steps taken by the inference engine 1 14.
  • an event triggers the inference engine for a particular group "X".
  • a single inference engine exists which may be triggered with respect to any group.
  • Step 132 means that group "X" will be examined to determine whether any conflicts exist with respect to group "X”.
  • the inference engine 114 determines the groups of which group "X" is a member. This may be performed by cycling through a network grouping data structure by following "is a member of links that were described earlier. A recursive search may be implemented so that all groupings are detected for group "X.”
  • the groups of which group "X" is a member, including group "X" itself are searched to determine applicable policies. From the results of step 136, the attachments of the applicable policies are examined in step 138 to determine which attachments may conflict due to satisfied conditions. For example, the conditions of either a policy application or an attachment may define different parts of the day, or other conditions which might make two attachments not be in conflict.
  • step 140 a determination is made as to whether a conflict exists. It should be noted that there may or may not be any conflicts in existence at the time of the trigger event. It is therefore possible that the inference engine will determine that no conflicts exist. Typically, step 140 may be performed by comparing specific attribute/value pairs of two attachments. If any conflict exists, the conflict is resolved in step 142, more detail of which is described below. If no conflicts exist, then the process proceeds to step 144. In step 144, output is provided. The output may be user selectable, and include: a configuration load (see item 26 of Fig. 1 and associated description); a conflict notice that describes the conflicting configurations; a notice of "no action needed", for example if there are no conflicts; and a configuration report, that defines the state of the overall network configuration.
  • a configuration load see item 26 of Fig. 1 and associated description
  • a conflict notice that describes the conflicting configurations
  • a notice of "no action needed" for example if there are no conflicts
  • a configuration report that defines the
  • the output of step 142 includes an "enforceable configuration record" (ECR).
  • ECR is one configuration record that may be applied to group X so that no conflicts exist.
  • an ECR may be created that represents a composite of the attached configuration records for a particular device.
  • the configuration defined by the ECR may either be loaded instead of loading configurations defined by other configuration records attached to the device.
  • an ECR may contain only the attributes which are in actual conflict. In such an instance, the configuration of the ECR may be loaded along with the configurations of other attached configuration records.
  • Fig. 14 is a flow chart that provides more detail for step 142, in particular the conflict resolution. The flow chart of Fig. 14 shows the flow in an embodiment in which any conflicts are defined in step 140.
  • step 152 conflicting attachments may be selected, for example from a list of conflicting attachments which may be generated in step 140 of Fig. 13.
  • a conflicting attachment represents an instance in which more than one value is simultaneously enforceable for a single device attribute. Since conflicting attachments may result from conflicts in either individual attachments or application of group policies, step 154 determines whether the conflict should be resolved by resolving policy conflicts. Such a decision may represent a user input, or may be preprogrammed. If policy resolution is not selected, then in step 156 an attachment resolution strategy is selected.
  • a conflict may either be effectively resolved from the policy perspective or from the attachment perspective.
  • the strategy itself may be user-selectable or preprogrammed.
  • a list of possible resolution strategies includes: most specific group, least specific group, most conditions, and user adjudication.
  • a most specific group strategy of step 156 means that the value of the lowest level attachment is selected as the value which will be enforced.
  • the term "most specific” means the policy that applies to the lowest level group. For example, as seen in Fig. 1 1, policyl applies to device4, and policy 12 applies to device4 because policy 12 directly applies to group25 of which device4 is a member. Therefore, if line (a) above were contained in policy 12, and line (b) were contained in policyl, line(b) would override line (a) if most specific group were selected.
  • "least specific group” of step 156 means that the value of the least specific attachment is selected as the value which will be enforced. In the above example, if least selected group were selected in this instance, then line (a) would override line (b).
  • an attachment which satisfies the most number of conditions may be selected to be enforced, as shown in step 156. For example, if line (a) and line (b) were each part of an attachment that had satisfied conditions, but there were four conditions in the attachment associated with line (a) while there were only two conditions for the attachment associated with line (a), then line (a) would be enforced.
  • step 156 Another alternative in step 156 is to provide user adjudication.
  • conflicting attachments are reported to a user, and the user may decide the desired action. This may be preferred if a user desires to resolve the conflict manually at run time rather than have the conflict resolved by a particular resolution strategy.
  • step 158 the appropriate resolution is created, for example by creating an ECR.
  • conflicts may be resolved at the policy level, as shown in step 160. In this instance, instead of selecting the conflicting attachment, the conflicting policy is resolved.
  • the policy resolution strategy of step 160 may include: most specific group, least specific group, most conditions, and user adjudication.
  • step 164 if there are additional conflicting attachments, the process continues to step 152 where a next conflicting attachment may be selected for resolution. In this manner, the process may continue until all conflicts are resolved.
  • This aspect of the invention provides a method and apparatus for defining network groups, defining network policies for groups, determining conflicts and resolving conflicts among groups and devices. Accordingly, a principled approach may be used to define and enforce configuration policies, resulting in network operations which are more fault-tolerant, resulting in better and more effective network management practices.

Abstract

Apparatus and method for monitoring parameters that govern the operational characteristics of a network device, including the use of templates for generating configuration records of network devices of a selected model type. A database of models is provided, each model representing an associated network device and including attribute values for the parameters of the associated network device. Templates are used to screen a model in order to retrieve values for each of the attributes and create a configuration record. The configuration records may be stored in the configuration manager or other storage device, and/or transferred to the pre-existing model database for use by a network management system in reconfiguring the associated network devices. Additionally, a method and apparatus is provided that defines network groups, defines network policies for groups, determines conflicts, and resolves conflicts among groups and devices. This system for configuration management is less time consuming, expensive, and error prone than prior systems.

Description

METHOD FOR GROUP MANAGEMENT IN A COMMUNICATIONS NETWORK
This is a continuation-in-part of Application Serial No. 08/394,143 filed February 24, 1995.
Field of the Invention The present invention is directed to configuration management of communications networks, and more specifically to an apparatus and method for defining and enforcing configuration policies for configuration management of network devices.
Background of the Invention Configuration management in communications networks is the task of keeping an inventory of network devices, knowing the configuration of each device, resetting or updating configurations as the need arises, and scheduling configuration changes. In the past, many of these tasks were done manually or by software packages built specifically for a particular device. A "configuration" is defined as a particular setting of device parameters that govern the operational characteristics of a network device. In communications networks, the devices that are routinely configured are routers, bridges and hubs, and examples of device parameters include port thresholds, on/off switches, access security, etc.
In the prior art, one method of network configuration is to manually configure a network device. In this case, a user physically attaches a dumb terminal to the network device and issues configuration commands through the terminal's keyboard. A disadvantage of this method is that one cannot retrieve or store information regarding the configuration of a device.
A second known method is to make configuration changes with a software package built specially for a network device type. A disadvantage of this method is that one cannot configure different device types simultaneously. Examples of commercially available tools that allow one to configure a single type of device include the following: (1) Site Manager, Wellfleet Communications, Inc., 8 Federal Street, Billerica, Massachusetts 01821 ; and (2) Cisco Works, 1525 O'Brien Drive, Menlo Park, California 94025.
Thus, the primary disadvantages of the prior art include: a user can manually configure only one device at a time: a user must know the desired configuration before making a change; a user must manually check to see if in fact the desired change took place; existing tools utilize only one network management protocol (e.g., the simple network management protocol ~ SNMP) to manage the device; and - existing tools are specialized for one particular type of device (e.g., Cisco routers).
A third known method is to define a number of individual devices of specific types as policy domains, and apply policies to the policy domains. A disadvantage of this method is that this method is only applicable to a limited number of specific types of devices. Examples of commercially available tools that allow one to define specific types of devices as groups include the following: Tivoli Works, TIVOLI Systems, Inc., 6034 West Courtyard Drive, Suite 210, Austin Texas 78730; and MaestroVision, Calypso Software Systems, Inc., 1 Sundial Avenue, Suite 410, Manchester NH 03103.
In general, the prior art methods are time-consuming, expensive, error prone, and limited in terms of the operations that can be performed.
Summary of the Invention
The present invention is directed to a method and apparatus for configuration management of a communications network, and which performs one or more of the following functions: enables configuration of several network devices at the same time; enables retrieval of a configuration from a device, storage of a configuration, and downloading of the configuration to other devices; verifies that configurations have taken place and generates reports and/or alarms when configuration operations are unsuccessful; enables automatic scheduling of configuration retrieval, loading and/or verification; enables configuration of a wide variety of different network devices.
The present invention utilizes a database of models, each "model" representing an associated network device and including attribute values for the parameters of that device. A configuration manager accesses a set of model types, each "model type" having an associated set of attributes. The configuration manager creates a template by selecting a model type and one or more attributes from the associated set of attributes, and then screens a selected model with the template to retrieve the values for each of the attributes in the template from the attribute values in the database, to create a configuration record for the model. The configuration record may then be stored, modified, transferred to a model, and/or displayed to a user on a user interface. Also, multiple templates can be used to create a composite configuration record. Multiple configuration records may be transferred to multiple models in the database, for reconfiguring multiple network devices. In one alternative embodiment, a template may be created from a pre-existing configuration record by extracting the attributes of that record. Other features include the generation of alarms to indicate whether or not a transfer or reconfiguration has been successful, and maintaining a scheduler for automatic capture, load or verification of configuration records.
The terms "model" and "model type" will be more specifically described in regard to the following detailed description. Generally, a model type is analogous to a "class" in object-oriented terminology. Note that a reference to "model type name" is meant to be the same as "model type".
The term "model" is analogous to an "instance of a class" or an "object" in object-oriented terminology. So, a model is an instance of a model type. Again, a reference to "model name" means the same as just "model". These and other advantages of the present invention are both particularly described in the following detailed description and drawings.
Brief Description of the Drawings Fig. 1 is a schematic illustration of one embodiment of an apparatus for configuration management according to this invention.
Fig. 2 is a main window display from a user interface illustrating the configuration data and options which may be selected according to one embodiment of this invention.
Fig. 3 illustrates a representative template and a corresponding configuration according to the present invention. Fig. 4 is a components window display outlining the components of a main network device (e.g., hub), showing model name and model type according to one embodiment of this invention.
Fig. 5 is a flow chart of the basic configuration operations according to this invention.
Fig. 6 is a configuration window display for managing configurations according to this invention.
Fig. 7 is a schematic illustration of another aspect of the invention that includes definition and enforcement of configuration policies. Fig. 8 is a block diagram of an element shown in Fig. 7.
Fig. 9 shows general grouping relationships that may exist among network devices and network groups.
Fig. 10 shows a specific example of grouping relationships such as those shown in Fig. 9. Fig. 1 1 shows policy links that apply to the devices and groups of Fig. 9.
Fig. 12 is a flow diagram showing exemplary steps involved in defining and enforcing configuration policies.
Fig. 13 shows more detail of steps performed by the inference engine depicted in Fig. 8 and Fig. 12. Fig. 14 shows more detail of a conflict resolution step shown in Fig. 13.
Detailed Description In accordance with a specific embodiment of the present invention, configuration management may include identifying, controlling and monitoring the "managed devices" that make up a communications network. A managed device is any device that is modeled in a network management system, such as the Spectrum™ Network Management System available from Cabletron Systems, Inc., 35 Industrial Way, Rochester, New Hampshire 03867. The managed devices include not only hardware devices such as personal computers (PCS), workstations, hubs and routers, but also software applications. As illustrated in Fig. 1, a network management system 14, such as Spectrum™, continually monitors the network and maintains a database of information about every managed device in the network. In accordance with this invention, a configuration manager 18 obtains the values of certain attributes (i.e., data which define the characteristics of the network device being modeled) in a desired configuration by interrogating the Spectrum™ model of the managed device. The configuration manager then enables a system administrator, via a user interface (see Fig. 2), to use this information to manage the device. For example, the administrator may create new configurations, load these configurations to devices anywhere on the network, and then verify whether the configurations have changed.
More specifically, the configuration manager enables a user to create configurations with a template. A template is a list of attributes for a device of a certain model type. When creating a template, the configuration manager provides the user with a list of all readable/writable and non-shared attributes for a model type (which includes the specific device). The user then selects the attributes needed for the template, which depending on the purpose of the template, might include a single attribute (port status, for example) or dozens of attributes.
The configuration manager then captures the values of the attributes listed in the template, by retrieving the values from the Spectrum™ model. The template functions like a filter, blocking out unwanted attributes (IP address, for example) and capturing the values of those attributes found in the template.
The resulting configuration created with the template contains the attributes from the template and the values collected from the model. The configuration may be stored in the configuration manager, in another storage device, or the Spectrum™ database. Fig. 3 illustrates the difference between a template and a configuration. Item 40 is a template for "new_config_template" which includes the list of attributes set forth below the heading "Attribute". Item 42 is the corresponding configuration for "new.config", which includes a list of attributes on the left and corresponding values on the right.
The following glossary of terms is helpful to an understanding of the present invention: capture: An operation on a model that stores all attribute/value pairs, obtained by interrogating the selected models through a template. That is, the value of only those attributes that can be found within the template are obtained by interrogating the model. configuration: A record of all attribute/value pairs which are obtained by interrogating the selected models through the template. The record may be stored in a compressed form in the configuration manager.
load: An operation on a model which places the values of the attributes listed in the selected configuration into selected models.
template: A record which contains a list of attributes for which the configurations will provide values.
verify: An operation on a model which involves comparing the model's actual attributes/values with the attribute/value pairs of a configuration.
attribute: A configurable parameter within a model. The development of the model type creates an attribute by publishing the attribute name and range of possible values.
An understanding of the present invention is furthered by an understanding of a model-based network management system such as Spectrum™, which is described in U.S. Patent No. 5,261,044, issued November 9, 1993 to R.Dev et al., and hereby incorporated by reference in its entirety. The Spectrum™ network management system is commercially available and also described in various user manuals and literature available from Cabletron Systems, Inc., Rochester, New Hampshire. In summary. Spectrum™ is a system for maintaining and processing information pertaining to the condition of the computer network and providing the same to a user, the network including a plurality of network entities such as computer devices and software applications being executed on such devices. The system includes a virtual network machine, comprising a programmed digital computer, wherein a program is implemented using an object-oriented programming language such as C++, Eiffel, SmallTalk, and Ada. The virtual network consists of interrelated intelligent models of network entities and relations between network entities, including means for acquiring network data pertaining to the condition of a network entity from the corresponding network entity. The virtual network further includes means for maintaining objects which include network data relating to the corresponding network entity and one or more inference handlers for processing the network data, the inference handlers being responsive to changes occurring in the same and/or a different object. The network data can then be transferred to a user interface coupled to the virtual network machine, for supplying the network data to a user.
Thus, the models are implemented as software "objects" containing both "data" (attributes) relating to the corresponding network entity and one or more "inference handlers" (functions) for processing the data. See Grady Booch, "Object-Oriented Analysis And Design, With Applications," 2nd Edition, Benjamin/Cummings Publishing Co., Redwood City, CA, Chapter 2, 1994. The inference handlers are initiated by predetermined virtual network events, such as a change in specified network data in the same model, a change in specified network data in a different model, and predefined events or changes in models or model relations. Information pertaining to the condition of the network entity can be obtained from the network entity by polling the same, can be automatically received from the network entity (without polling), or can be inferred from data contained in other models. An alarm condition may be generated when the network data meets a predetermined criteria. Events, alarms and statistical information from the virtual network are stored in a database and are selectively displayed for the user.
The data in the Spectrum™ database may be used for generating topological displays of the network, showing hierarchial relationships between network devices, isolating a network fault, and reviewing statistical information.
Spectrum™ allows for collective management of autonomous local area networks (LANs), with equipment from different vendors. It complies with the current simple network management protocol (SNMP) standards, and can also accommodate other standard and proprietary protocols. The virtual network machine preprocesses the raw information coming from the network devices in order to construct a model of the network's current status and performance characteristics. Network elements that cannot be directly communicated with (e.g., cables and buildings) can infer their status from the status of the devices connected to (or contained within) them. The virtual network machine provides a consistent interface for management applications to access any of the information in the model and thereby provides these applications with a unified view of the network. Spectrum™'s associated SpectroGRAPH™ user interface provides a highly graphical multi-perspective view into the network model. SpectroGRAPH™ enables the user to navigate through a landscape in which cables, networks, local area networks and even rooms show up as icons, and which icons indicate the health and performance characteristics of those elements. These icons can be further queried for additional information. SpectroGRAPH™'s main function is to visually present to the user the model within the virtual network machine. It allows the user to navigate freely within the network model, only limited by the access rights assigned by the network administrator. The information can be accessed at varying degrees of detail, from a macro overview, to the devices and cables which connect them. In addition to its navigation functions, SpectroGRAPH™ provides an alarm management facility, an event log window, a reporting facility, a find facility, and other features.
The above description of the Spectrum™ system provides a context for an understanding of the present invention. As described in greater detail below, the configuration manager of the present invention utilizes certain aspects of the Spectrum™ system to provide a configuration management system which is less time-consuming, expensive and error prone.
Fig. 1 is a block diagram illustrating generally the method and apparatus of the present invention. A network management system 14 monitors a live network 10 via communication link 12. In this example, the network management system is Spectrum™, which includes a database of models and model types relating to corresponding network entities. A configuration management system 18 is connected via communication link 16 to the network management system 14. In this embodiment, the configuration management system 18 is software implemented in an object-oriented programming language such as C++, and developed on a Sun OS platform. The configuration management system may be invoked from an icon subview menu within the SpectroGRAPH™ user interface, which forms part of networking management system 14.
The configuration management system 18 according to the present invention includes the following features/functions: create and edit templates 20; create and edit configurations 22; - capture configurations 24; load configurations 26; verify configurations 28; status and history reporting 30; event-triggered configuration 32; configuration scheduling 34; and storage 36.
These features/functions will be described in greater detail below.
Fig. 2 illustrates the main display screen for the configuration management system as displayed on SpectroGRAPH™. The display 50 includes a configuration section 52 which lists the available configurations by name and information about the selected configuration in other fields. These configurations all relate to the model "Cisco 1 " (i.e., a type of Cisco router) previously selected by the user, as indicated on the display. The configurations listed in section 52 can be loaded to the selected model or to other models of the same model type, and further to schedule automatic loads as described below. The load and schedule operations are initiated by selecting the icons 58 and 62, respectively. The verify operation, designated by icon 60, enables the user to verify the configuration of the selected model or models, and also to schedule automatic verifications as described below.
The "Configuration Name" field 55 contains the names of configurations that have previously been created for models of the same model type as the model selected by the user (as shown in line 53). The "Model Specific" field 57 shows whether the configuration is specific to this model or whether it will be included in the configuration list of other models of the same type. The "Loaded" field 59 shows the most recent load status of the configuration, for example: y = successful, n = not loaded, p = partially loaded, and r = rolled back. These will be further defined below.
The status section 54 includes a "Source" field 61 containing the name of the model from which the configuration was captured. The "Time Loaded" field 63 indicates the last date and time the configuration was loaded. The "Loaded By" field 65 designates the log-in name of the person who loaded the configuration.
The detail section 56 displays information about the attributes that are in the selected configuration. This enables the user to view the attributes in the configuration before the user elects to load the configuration to a model. The "Attribute" field 64 contains a list of attributes in the configuration and their instance IDs, if any. The "Value" field 67 contains the values of the attributes, which can be numbers or text strings. The "Host Configuration" button 66 at the bottom of the window provides the user with the additional options of viewing, editing, printing and loading a host configuration, as opposed to a Spectrum™ configuration. For example, the host configuration file on a Cisco router contains the setup commands used to configure that router. When a user captures or creates a Cisco router configuration, the host configuration button appears at the bottom of the display. This enables a user to perform all of the configuration management operations on the Cisco host configuration. Cisco router is a trademark of Cisco Systems, Inc.. Menlo Park, CA.
The display screen illustrated in Fig. 4 is a components display 70. This screen is under the "Options" menu 68 on the main display screen (Fig. 2). In Fig. 4, a user has selected the components for "HubEmme " and display 70 lists all components according to their relationship to the main device. The main device (HubCSIEMME ~ a hub sold by Cabletron Systems, Inc.) appears at the top of the right-hand list under the heading "Model Type" 71 , and all components of this main device, for example, boards, interfaces, and applications, appear below the main device. All subcomponents appear indented under the component. On the left-hand side, under the column heading "Model Name" 72, are the specific instances of these components. For example, Fig. 4 illustrates that the main device has an Emme board in slot 1 , a TPRMIM22 board in slot 2, and then lists all of the ports on slot 2. Following all of the boards, there are listed the interfaces on the hub and then the applications on the hub.
The operation of the configuration management system will now be described in greater detail, with reference to the general flow chart of Fig. 5. A summary of Fig. 5 is outlined below, followed by a more detailed discussion: Select Model (80)
Connect to model database Display available model/modeltype pairs Highlight/check model of interest
Create template by selecting model type attributes (81) Retrieve all attributes from the related modeltype Highlight/check attributes of interest Save collection of attributes as a template Select configuration record (82)
Connect to configuration record database
Display available configurations
Highlight/check configuration of interest
Create template by selecting configuration attributes (83)
Retrieve all attributes in configuration record
Save collection of attributes as a template
Select template (84)
Connect to template database Display available templates Highlight/check template of interest
Create configuration record (85)
Connect to model database Use template as an index to retrieve attribute values Save collection of attribute/value pairs to configuration record database
Load configuration record (86)
Connect to model database
Display available models
Highlight/check models of interest
Place parameter values from configuration record into the model
Verify model(s) against configuration record (87)
Connect to model database
Connect to configuration data base
Display available models Display available configurations
Highlight/check models of interest Highlight/check configuration of interest
Report discrepancies between attribute/value pairs after comparison
Schedule future load or verification (88) Connect to configuration record database
Display available configurations Highlight/check configuration of interest Schedule loads or verifications
Schedule future capture (89)
Connect to template database Display available templates Highlight/check templates of interest Schedule captures
The configuration manager allows the user to create configurations in two ways - either with templates or manually without templates. During both processes, the configuration manager captures attribute values and instance IDs, if any, from the selected model. The capture process provides an efficient way to "populate" a configuration, reducing the chances of human error. The user can then modify attribute values and instance IDs when necessary.
The configuration manager allows the user to create the following types of configurations:
configurations that can be loaded to the model selected by the user, or to other models of that model type. model-specific configurations that are restricted to one device and cannot be loaded to other devices. When the model specific option 57 (Fig. 2) is selected for a configuration, the configuration manager displays the configuration only in the configuration listing of the specified device. - multiple configurations that can be loaded sequentially to a single device. For example, a user may create multiple configurations when it is necessary to configure certain attributes before configuring Others, or when configurations are very large.
Once a configuration is created, the user can use the load and verify options. The load option enables the user to load the configuration to the model from which it was captured or to one or more models of the same type. This is how one configures new models or reconfigures existing ones. The verify option enables the user to verify whether models' attribute values match that of the configuration created.
Managing Templates
Templates are useful to create configurations quickly. A library of templates provides administrators with an efficient way to create configurations.
A template is created by selecting a model (step 80) and then selecting one or more attributes of the model type of the selected model (step 81). The template can later be edited by adding to or deleting selected attributes.
An alternative method (steps 82-83) of creating a template is from a configuration that has been created manually, or captured with the template and then modified. In this case, the configuration manager takes the attributes listed in the configuration, creates a template from them, and gives the template the same name as the configuration.
Managing Configurations A user first selects the desired template (step 84). The configuration manager then uses the template to capture the values of those attributes specified in the template and lists the captured attribute/value pairs in a new configuration (step 85). The configuration manager captures all instances of an attribute, where applicable. The template thus functions as a filter, blocking out unwanted attributes and capturing the values of those attributes specified in the template. Some attributes - IP address, for example, should not be captured in a configuration that will be applied to multiple devices. Therefore, the template used to capture this configuration should not include the IP address attribute. When creating a configuration with a template, the configuration manager only includes in the configuration those attributes that can be retrieved from the model. If the configuration manager cannot capture attributes specified in the template, it shows the user the attributes that were not captured. The user can then insert those attributes and values by editing the configuration later, if necessary.
Loading a Configuration Once a configuration is created either manually or with the template, the user can load the configuration to one or more models (step 86). As a first alternative, the configuration manager will apply a configuration to the selected model; as a second alternative, the configuration manager will apply a configuration to any number of models of the same model type as the selected model. A "safe load" option helps administrators control the load process. When the safe load option is activated, the configuration manager captures the model's configuration before loading a new configuration to it. If the load fails, the configuration manager tries to restore (i.e., roll back) the original configuration to the model.
The configuration section 52 in the main window 50 (Fig. 2) shows the load status of the configurations which have been created. Successfully loaded configurations (Y) appear first, then partially loaded configurations P, then rolled-back configurations (R). Within these three subcategories, configurations are sorted according to the time of the load, the most recent load appearing first. Configurations that have not been loaded (N) are sorted according to the time they were created - the most recently created appearing first. Configurations that have not been loaded (N) are sorted according to the time they were created - the most recently created appearing first.
Once a configuration record is loaded to the model, the network management system 14 will modify the parameters of the network device to conform to the configuration data in the model.
Verifying a Configuration To perform a verification (step 87), the configuration manager first captures the actual configuration of the model and compares each attribute/value pair in the configuration with the current model's actual configuration. The configuration manager may then display the results to a user via the user interface. In addition, the configuration manager enables the user to verify the configurations of other models of the same model type as a selected model, by creating a sublist of the models in for example, a particular network or area.
Scheduling Tasks
The configuration manager enables administrators to schedule (steps 88 and 89) the time and frequency of automatic captures, loads and verifications. More specifically, this feature may be used to: schedule loads, captures and verifications during low-traffic hours. - maintain more stable configurations by scheduling automatic loads at regular intervals. check the integrity of the network with periodic, automatic captures and verifications of configurations.
The configuration manager sends information about the scheduled operations to the Spectrum™ event log and/or to other storage devices. A user can then view the results of any operation performed by the scheduler.
For example, to schedule a capture, the user will specify the template to be used and the name of the configuration that is created. Then, the user selects a frequency option (hourly. daily, once, weekly, monthly). The scheduled entry is then sent to a scheduling queue. The event log, which is accessed in SpectroGRAPH™, contains the basic information about each configuration operation. An event log entry shows the time the operation was performed, whether it was successful, and the names of the devices, configurations, and templates when applicable. The following example is illustrative of the above-described methods.
Example: Configuring Ports The procedures in this example show how the configuration manager may be used to configure ports (i.e., turn on or off) on an "MRXiRptr" repeater. The example assumes that the MRXiRptr is located in slot 2 of a hub and that the ports are all on.
1. In SpectroGRAPH™, select an icon of a hub that contains an MRXiRptr and invoke the configuration manager from it. 2. Navigate to the specific component that you want to work with - in this case, an MRXiRptr. Follow these steps: a. In the Main window 50 (Fig. 2), click on Navigate Components in the Options menu 68. This opens a Components dialog box (Fig. 4). b. Scroll down through the list of components in the Components dialog box, select the MRXiRptr, and click on Apply. c. Close the Components window. The Main window 50 now displays all the configurations that are available to the MRXiRptr. d. Open a Configurations window 90 (Fig. 6).
3. In the Configurations window (Fig. 6), manually create a configuration called "Portsl.2.OFF." When completed, the configuration should have the following attributes, instance IDs, and values:
Attribute Value iptrPortMgmtAdminState 2.1 1 rptrPortMgmtAdminState 2.2 1 iptrPortMgmtAdminState 2.3 2 rptrPortMgmtAdminState 2.4 2
The instance IDs (2.1,2.2, 2.3, 2.4...) indicate that this board is located in slot 2 and that there are 4+ ports on the board.
For this particular attribute, a value of 1 means OFF, a value of 2 means ON. Therefore, this configuration will turn ports 1 and 2 off and ports 3 and 4 on.
4. In the Main window 50 (Fig. 2), select the configuration "Portsl.2.OFF" (in section 52), and click on Load 58. The configuration manager loads the configuration to the MRXiRptr. If a user keeps the Spectrum™ Device View open, he/she can see the ports 1 and 2 turn blue (off) when the configuration is downloaded.
Another aspect of the invention is shown in Fig. 7. In Fig. 7, a configuration management system 100 includes elements 20-36 as described earlier, and also includes definition and enforcement of configuration policies 102. The configuration management system 100 enables all of the functions described earlier.
As shown in the block diagram of Fig. 8, the definition and enforcement of configuration policies 102 may include the following modules: configuration records 104; group definition 106; policy definition 108; conflict determination 1 10; and conflict resolution 1 12. In a software embodiment, each of these modules may exist on a general purpose computer, and interact through known software techniques. In a hardware embodiment or an embodiment which is a combination of hardware and software, shared memory or communications interfaces may be used to facilitate this interaction. Each of these modules will be discussed in more detail, beginning with configuration records 104. Configuration records 104 holds the configuration records as disclosed earlier, for example a configuration as shown in item 42 of Fig. 3. Although optional, in this embodiment a configuration record will typically include the attributes model name and model type name, also referred to as device_name and device type. As discussed above, configuration record is a list of attribute/value pairs that may be obtained by interrogating a selected device through a template. The configuration record may be in a compressed form in the configuration manager.
With respect to group definition 106, a group may be a collection of devices, a single device, a single board or port on a device, or a collection of groups. Since a network consists of a number of devices such as switches, hubs, routers, bridges, workstations, printers, and the like, there are several ways in which to characterize the devices into groups. For example, a group may consist of network devices that are connected together in a particular topology, such as a local area network, a metropolitan network, or a wide area network.
Additionally, a group may include a collection of devices in a particular physical location, for example a group of devices in a specific building, or in a specific laboratory.
Moreover, a group may reflect other characteristics of the devices, for example devices which are associated with a particular organization of a company. Examples would include a "quality assurance group" and a "sales support group." A group may also consist of any combination of the types of groups described above, as well as other combinations of devices.
The manner in which devices are grouped may serve as an aid to understand and manage the network, but is not restricted to any particular principle. Fig. 9 gives an example of several groups that include several devices. Several levels of abstraction may exist, for example level 0 which includes devices (device 1, device2, device3, device4, and device5), level 1 which includes a first layer of groups (groupl 1, groupl2, groupl3, groupl4, and groupl 5), and level 2 which includes a second layer of groups (group21, group22, group23, group24, and group25). These levels are conceptual, and need not be specifically defined, but as will be evident later, there may be advantages to defining such levels. Furthermore, although three levels are shown, there is no limit to the number of levels which may exist. As shown in Fig. 9, a group may contain devices and groups from other levels. Additionally, a device may be a member of several groups. Graphically, the "is a member of links 1 16 depict several group relationships. Other expressions may be used to convey a group, such as a "domain", or a "partition." However, the concepts of such groupings are within the scope of this disclosure.
An embodiment of this invention includes a data structure for recording group relationships by creating associations between a group and a device, a plurality of devices, another group, a plurality of groups, or any combination of these. Examples of such a data structure, which are consistent with several of the relationships shown in Fig. 9. are given below: device 1 is a member of group 1 1 ; device2 is a member of groupl 1 ; device2 is a member of groupl 3; groupl 1 is a member of group21 ; groupl 3 is a member of group24.
The first and last terms in the above examples are called identifiers, and the text in between is referred to as associations. Accordingly, the actual data structure may be implemented by any technique which associates the appropriate group members with the appropriate groups. Other terminology may be used to define such a data structure, for example "groupl 1 contains device 1 ". or similar statements. A more specific example of grouping is depicted in Fig. 10. In this example, level 2 is selected to represent network types such as LAN 10 and LAN 13. while level 1 represents model types (WS_SGI, CiscoRtr, and WSJBM), and level 0 represents individual models (sgi2, sgi3, sgil4, rtr_tom, and duke). Accordingly, as shown in Fig. 10, a particular model such as sgi2 is a member of group WS SGI because WS_SGI is the model type of sgi2. Additionally, sgi2 is a member of group LAN 13, perhaps because sgi2 is connected to LAN13. As discussed above, these concepts are exemplary, and any principle may be used for grouping devices and groups.
With respect to policy definition 108, a configuration attachment is a relationship between a configuration record and a device. The relationship expresses that a particular configuration record defines the configuration of the device. This may be as a result of a desire by a system administrator, for example. An example would be "configuration recordl is attached to device3." In this example, the term "is attached to" means that the configuration of device3 should be in accordance with the configuration defined within configurationjrecord 1. Other terms which may be used to convey the same concept are "an attachment", "is associated with," "is enforceable for," "applies to," "is bound to,", etc.
According to an embodiment of the invention, a configuration policy is a data structure representing a list of configuration attachments, and may take the form "CR1 is attached to groupl", "CR2 is attached to group3," where CR1 and CR2 are configuration records as discussed earlier. Each attachment in a configuration policy may also include two additional parameters, including an ordering index and a set of conditions.
The ordering index may be used to control the order in which configurations are loaded into a device. For example, some attribute/value pairs such as those shown in Fig. 3 may only be effective if physically loaded onto a device before other attribute/value pairs are loaded onto the device. The ordering index, typically represented by an integer, allows a user or external system to define such a loading order. For example, a configuration policy might include the following:
Policy 1 :
CR1 is attached to groupl with Ordering Index 2; CR2 is attached to groupl with Ordering Index 1.
In this example, the attribute/value pairs of CR2 would be loaded into the devices of groupl before the attribute/value pairs of CR1 were loaded into the devices of groupl , because the ordering index for the CR2 attachment has a lower value than the ordering index for the CRl attachment.
The set of conditions constrain the enforceability of the associated attachment, and may define a condition such as a load factor or a configuration status. For example:
Policy 1 :
CR2 is attached to groupl if segment_load > 50%;
CR3 is attached to groupl if segment load < 50% and CR3 is not equal to the current configuration of groupl.
In this data structure represented by this example, if the parameter segment oad has a value greater than 50%, then the attribute/value pairs of CR2 will apply to groupl . If the parameter segment load has a value less than 50%, and if the current configuration of groupl is not the same as the attribute/value pairs of CR3, then CR3 will apply to groupl. If both an Ordering Index and conditions are to be applied to an attachment, the general form of the attachment is:
Policy 1 :
CR is attached to group with Ordering Index I if condition 1, condition2,...
Accordingly, the Ordering Index will be applied if the conditions specified are met. For example:
Policy 1 : CRl is attached to groupl with Ordering Index 2 if segment_load > 50% and CRl is not equal to the current configuration of groupl ;
CR2 is attached to groupl with Ordering Index 3 if segment load > 50% and CR2 is not equal to the current configuration of groupl ;
CR3 is attached to groupl if segment load < 50%.
In this example, if the segment load parameter has a value greater than 50%, and either CRl or
CR2 does not match the existing configuration of the devices of groupl, then configuration record CRl will be loaded into the devices of groupl, after which the configuration record CR2 will be loaded.
A configuration policy may also contain more than one attachment to a particular device. For example:
Policy 1 applies to LAN 13; Policy 1;
CRl is attached to modeltype Cisco_Rtr;
CR2 is attached to model Cisco Rtr 14.
In such an instance, if the device Cisco_Rtr_14 is of modeltype Cisco Rtr, and is contained within the group LAN13, then both attachments of Policyl are attached to this device. Specifically, the first attachment means that CRl applies to all routers of modeltype Cisco Rtr that are within the group LAN 13. The second attachment means that CR2 is applied to any individual model named Cisco_Rtr_14 in LAN 13.
Similar to the manner in which configuration records may be attached to groups, policies may be "applied" to groups. A policy may also be defined to include an ordering index and a set of conditions, similar to the ordering index and set of conditions for an attachment. For example:
Policyl applies to groupl with Ordering Index 2 if the time is between 8 AM and 5PM; Policyl applies to groupl with Ordering Index 3 if the time is between 5PM and 1AM.
The term "applies to" may be used in such a data structure to discriminate between configuration record attachments and policy applications.
An example of a number of policies being applied to a number of groups and devices is shown in Fig. 1 1, which shows the same levels of groups and devices as Fig. 9. In
Fig. 1 1 however, several polices are shown (policyl, policy3, policy5, policyl 1 , and policyl2).
The "applies to" links 118 are shown to represent that certain policies apply to certain groups and devices. For example, policyl applies to device4 and device5. Additionally, policy 12 applies to group25 and groupl 5. It may be noted that device4 is a member of group25, so that both policy 12 and policyl ultimately apply to device4. As a result of a policy having several potential attachments to a single device or group, as well as several policies being applicable to a single device or group, it is possible that a single attribute may be defined as having two different values. For example (see Fig. 3), row (a) and row (b) below show two possible attribute/value pairs for the same attribute, that may have been attached to the same device or group of devices as a result of more than one attachments in one policy, or as a result of more than one policy being applied to the device or group of devices:
Attribute Value
(a) AT_IF_Index.2.1.132.177.141.10 2 (b) AT_IF_Index.2.1.132.177.141.10 4
Assuming that these attribute/value pairs are both valid (any conditions associated with the attachments are satisfied), then a conflict exists regarding whether the value should be 2 or 4. A more detailed example is given below, where CRl and CR2 are distinct configuration records for a Cisco router, and CRl contains line (a) above, and CR2 contains line (b) above.
Network Grouping: Cisco_Rtrl3; Cisco Rtrl3 is a member of LAN13;
Policyl applies to LAN13;
CRl attaches to Cisco_Rtrl3; Policy2 applies to Cisco_Rtrl3;
CR2 attaches to Cisco Rtrl3.
Note that CRl attaches to Cisco_Rtrl3 in Policyl, and CR2 attaches to Cisco_Rtrl 3 in Policy2. Since CRl and CR2 respectively contain the conflicting attribute/value pairs (a) and (b), there is a conflict with regard to the identified attribute. Since there may be many groups, and many policies and attachments for each group, such conflicts may often exist, for example if a user inadvertently builds inconsistent configuration policies. This embodiment provides a method and apparatus for determining and resolving such conflicts. Fig. 12 shows a process for determining and resolving conflicts. In step 120 a trigger is defined, which causes an inference engine to be invoked in step 126. The inference engine uses network grouping information as well as configuration policy information. Therefore, the inference engine 114 may receive data from the steps of define network grouping (step 122), and define configuration policies (step 124). Typically the network grouping and configuration policies will be previously defined, and the inference engine receives the resulting data. After the inference engine is invoked, and conflicts are determined and resolved, appropriate action is taken as shown in step 128. The inference engine represents a preferred embodiment of this invention. However, from the following description, it will be clear that there may be other alternatives to an inference engine as disclosed, that are within the scope of this invention as described and claimed.
The function of the inference engine is to assure that configuration policies are enforced. Fig. 13 is a flow chart showing steps taken by the inference engine 1 14. In step 132, an event triggers the inference engine for a particular group "X". In a preferred embodiment, a single inference engine exists which may be triggered with respect to any group. Step 132 means that group "X" will be examined to determine whether any conflicts exist with respect to group "X". There are several ways to perform step 132, and the manner in which to perform the trigger may be user selectable. The following list is exemplary of events which may provide a trigger: - activation of a device
- deactivation of a device
- activation of a network
- deactivation of a network
- addition of a new device to a network - determination by a scheduler
- manual determination by a user
Once a trigger has been received, the inference engine 114 determines the groups of which group "X" is a member. This may be performed by cycling through a network grouping data structure by following "is a member of links that were described earlier. A recursive search may be implemented so that all groupings are detected for group "X." In step 136, the groups of which group "X" is a member, including group "X" itself, are searched to determine applicable policies. From the results of step 136, the attachments of the applicable policies are examined in step 138 to determine which attachments may conflict due to satisfied conditions. For example, the conditions of either a policy application or an attachment may define different parts of the day, or other conditions which might make two attachments not be in conflict.
From the applicable attachments, a determination is made as to whether a conflict exists (step 140). It should be noted that there may or may not be any conflicts in existence at the time of the trigger event. It is therefore possible that the inference engine will determine that no conflicts exist. Typically, step 140 may be performed by comparing specific attribute/value pairs of two attachments. If any conflict exists, the conflict is resolved in step 142, more detail of which is described below. If no conflicts exist, then the process proceeds to step 144. In step 144, output is provided. The output may be user selectable, and include: a configuration load (see item 26 of Fig. 1 and associated description); a conflict notice that describes the conflicting configurations; a notice of "no action needed", for example if there are no conflicts; and a configuration report, that defines the state of the overall network configuration.
In a preferred embodiment, the output of step 142 includes an "enforceable configuration record" (ECR). An ECR is one configuration record that may be applied to group X so that no conflicts exist. For example, an ECR may be created that represents a composite of the attached configuration records for a particular device. In this manner, the configuration defined by the ECR may either be loaded instead of loading configurations defined by other configuration records attached to the device. Alternatively, an ECR may contain only the attributes which are in actual conflict. In such an instance, the configuration of the ECR may be loaded along with the configurations of other attached configuration records. Fig. 14 is a flow chart that provides more detail for step 142, in particular the conflict resolution. The flow chart of Fig. 14 shows the flow in an embodiment in which any conflicts are defined in step 140. and the conflicts are resolved in step 142. Alternatively, the process of Fig. 13 may continue with the resolution of an existing conflict after each existing conflict is identified in step 140. Referring to Fig. 13, in step 152, conflicting attachments may be selected, for example from a list of conflicting attachments which may be generated in step 140 of Fig. 13. As described above, a conflicting attachment represents an instance in which more than one value is simultaneously enforceable for a single device attribute. Since conflicting attachments may result from conflicts in either individual attachments or application of group policies, step 154 determines whether the conflict should be resolved by resolving policy conflicts. Such a decision may represent a user input, or may be preprogrammed. If policy resolution is not selected, then in step 156 an attachment resolution strategy is selected. In this manner, a conflict may either be effectively resolved from the policy perspective or from the attachment perspective. The strategy itself may be user-selectable or preprogrammed. A list of possible resolution strategies includes: most specific group, least specific group, most conditions, and user adjudication.
A most specific group strategy of step 156 means that the value of the lowest level attachment is selected as the value which will be enforced. The term "most specific" means the policy that applies to the lowest level group. For example, as seen in Fig. 1 1, policyl applies to device4, and policy 12 applies to device4 because policy 12 directly applies to group25 of which device4 is a member. Therefore, if line (a) above were contained in policy 12, and line (b) were contained in policyl, line(b) would override line (a) if most specific group were selected. Similarly, "least specific group" of step 156 means that the value of the least specific attachment is selected as the value which will be enforced. In the above example, if least selected group were selected in this instance, then line (a) would override line (b).
Additionally, an attachment which satisfies the most number of conditions may be selected to be enforced, as shown in step 156. For example, if line (a) and line (b) were each part of an attachment that had satisfied conditions, but there were four conditions in the attachment associated with line (a) while there were only two conditions for the attachment associated with line (a), then line (a) would be enforced.
Another alternative in step 156 is to provide user adjudication. In the user adjudication option, conflicting attachments are reported to a user, and the user may decide the desired action. This may be preferred if a user desires to resolve the conflict manually at run time rather than have the conflict resolved by a particular resolution strategy.
In step 158. the appropriate resolution is created, for example by creating an ECR. Alternatively to step 156, conflicts may be resolved at the policy level, as shown in step 160. In this instance, instead of selecting the conflicting attachment, the conflicting policy is resolved. In a similar manner to step 156, the policy resolution strategy of step 160 may include: most specific group, least specific group, most conditions, and user adjudication. In step 164, if there are additional conflicting attachments, the process continues to step 152 where a next conflicting attachment may be selected for resolution. In this manner, the process may continue until all conflicts are resolved.
This aspect of the invention provides a method and apparatus for defining network groups, defining network policies for groups, determining conflicts and resolving conflicts among groups and devices. Accordingly, a principled approach may be used to define and enforce configuration policies, resulting in network operations which are more fault-tolerant, resulting in better and more effective network management practices.
Having thus described various embodiments of the present invention, additional modifications and improvements will readily occur to those skilled in the art. Accordingly, the foregoing description is by way of example only, and is not intended to be limiting.

Claims

CLAΪMS
1. A method for managing configurations of network devices comprising the steps of: grouping at least one network device to create a network group; applying a policy to the network group by modifying a database to associate a configuration record with the network group; and loading a configuration described by the configuration record into each network device in the network group.
2. The method of claim 1, wherein the step of grouping includes the steps of: selecting the at least one network device; modifying a database to include an identifier for each of the plurality of network devices; modifying the database to include a group identifier and an association between the group identifier and each of the at least one network device.
3. The method of claim 2, wherein the step of selecting includes selecting an existing group that includes at least one network device.
4. The method of claim 1, wherein the step of applying a policy includes the step of applying a policy to a second group of which the network group is member.
5. The method of claim 1, wherein the step of applying a policy includes the steps of: applying a first policy having a first ordering index to the network group; and applying a second policy having a second ordering index to the network group; and wherein the step of loading includes loading a first configuration defined by the first policy and a second configuration defined by the second policy in an order defined by the first ordering index and the second ordering index.
6. The method of claim 5, wherein the step of loading the configurations includes the steps of: when the first ordering index has a value that is less than the second ordering index: loading the first configuration into each network device in the network group; and subsequently loading the second configuration into each network device in the network group; and when the second ordering index has a value that is less than the first ordering index: loading the second configuration into each network device in the network group; and subsequently loading the first configuration described into each network device in the network group.
7. The method of claim 1, wherein the step of applying a policy includes the steps of: attaching a first configuration record having a first ordering index to the network group; and attaching a second configuration record having a second ordering index to the network group; and wherein the step of loading includes loading a first configuration defined by the first configuration record and a second configuration defined by the second configuration record in an order defined by the first ordering index and the second ordering index.
8. The method of claim 7, wherein the step of loading includes the steps of: when the first ordering index has a value that is less than the second ordering index: loading the first configuration into each network device in the network group; and subsequently loading the second configuration into each network device in the network group; and when the second ordering index has a value that is less than the first ordering index: loading the second configuration into each network device in the network group; and subsequently loading the first configuration into each network device in the network group.
9. The method of claim 1, wherein the step of applying a policy includes applying a policy having a condition, and wherein the step of loading includes the steps of: determining whether the condition is satisfied; and loading the configuration described by the configuration record into each network device in the network group when the condition is satisfied.
10. The method of claim 1, further comprising the steps of: triggering an enforcement; determining whether any conflicts exist among policies that are applied to the network group; when the step of determining determines that conflicts exist, resolving the conflicts that exist.
1 1. A method for enforcing policies that apply to a device in a network, the method comprising the steps of: triggering an enforcement; determining whether any conflicts exist among policies that are applied to the network; when the step of determining determines that conflicts exist, resolving the conflicts that exist.
12. The method of claim 11, wherein the step of triggering includes the steps of: selecting a trigger event; and triggering according to the trigger event.
13. The method of claim 12, wherein the step of triggering includes determining at least one of: when a device on the network has been activated; when a device on the network has been deactivated; when a network has been activated; when a network has been deactivated when a device has been added to a network; when a scheduler has determined the trigger event; and when a user has manually triggered the trigger event.
14. The method of claim 11 , wherein the step of determining whether any conflicts exist includes the steps of: determining a group of which the device is a member; determining applicable policies for the group, the applicable policies each having a configuration record that includes attributes associated with attribute values; and determining whether a first applicable policy of the applicable policies has a first configuration record that includes a first value associated with a first attribute, and a second applicable policy of the applicable policies has a second configuration record that includes a second value associated with the first attribute, the second value being different from the first value.
15. The method of claim 14. wherein the step of determining applicable policies for the group includes the steps of: searching a database to determine a plurality of policies that are associated in the database with the group; characterizing each of the plurality of policies as one of a policy having a condition and a policy having no conditions; characterizing each of the plurality of policies having a condition as one of a policy having a satisfied condition and a policy having an unsatisfied condition; and determining the applicable policies to be each policy having a satisfied condition and each policy having no conditions.
16. The method of claim 11 , wherein the step of resolving includes the steps of: selecting a resolution strategy; and selecting a policy from a plurality of applicable policies according to the resolution strategy.
17. The method of claim 16, wherein the step of selecting a resolution strategy includes selecting one of: a most specific group strategy that includes selecting an applicable policy that more specifically defines a policy of the device than the other of the plurality of applicable policies; a least specific group strategy that includes selecting an applicable policy that less specifically defines a policy of the device than the other of the plurality of applicable policies; a most conditions satisfied strategy that includes selecting from the plurality of applicable policy an applicable policy that includes a largest number of satisfied conditions; and a user adjudication strategy that includes enabling a user to select a policy from the plurality of applicable policies.
18. The method of claim 11 , wherein the step of determining whether any conflicts exist includes the steps of: determining a group of which the device is a member; determining applicable configuration records that are attached to the group, the applicable configuration records each including attributes associated with attribute values; and determining whether a first configuration record of the applicable configuration records includes a first value associated with a first attribute, and a second configuration record of the applicable configuration records includes a second value associated with the first attribute, the second value being different from the first value.
19. The method of claim 18, wherein the step of determining applicable configuration records for the group includes the steps of: searching a database to determine a plurality of configuration records that are associated in the database with the group; characterizing each of the plurality of configurations that are associated as one of a configuration record having a condition and a configuration record having no conditions; characterizing each of the plurality of configuration records having a condition as one of a configuration record having a satisfied condition and a configuration record having an unsatisfied condition; and determining the applicable configuration records to be each configuration record having a satisfied condition and each configuration record having no conditions.
20. The method of claim 11 , wherein the step of resolving includes the steps of: selecting a resolution strategy; and selecting a configuration record from a plurality of applicable configuration records according to the resolution strategy.
21. The method of claim 20, wherein the step of selecting a resolution strategy includes selecting one of: a most specific group strategy that includes selecting an applicable configuration record that more specifically defines a configuration of the device than the other of the plurality of applicable policies; a least specific group strategy that includes selecting an applicable configuration record that less specifically defines a configuration of the device than the other of the plurality of applicable policies; a most conditions satisfied strategy that includes selecting from the plurality of applicable configuration records an configuration record that includes a largest number of satisfied conditions; and a user adjudication strategy that includes enabling a user to select a configuration record from the plurality of applicable configuration records.
22. The method of claim 11. further comprising a step of providing an output.
23. The method of claim 22 wherein the step of providing an output includes the steps of: creating an enforceable configuration report; and loading a configuration associated with the enforceable configuration report into the device.
24. The method of claim 22 wherein the step of providing an output includes creating a conflict notice.
25. The method of claim 22 wherein the step of providing an output includes creating a notice that no action is needed.
26. The method of claim 22 wherein the step of providing an output includes creating a configuration report that defines an overall configuration of the network.
27. An apparatus for managing configurations of network devices comprising: a database that includes an association of a configuration record with network devices in a network group; and means for loading a configuration described by the configuration record into each network device in the network group.
28. The apparatus of claim 27, further comprising: means for selecting the at least one network device; means for modifying the database to include an identifier for each of the plurality of network devices; means for modifying the database to include a group identifier and an association between the group identifier and each of the at least one network device.
29. The apparatus of claim 28, wherein the means for selecting includes means for selecting an existing group that includes at least one network device.
30. The apparatus of claim 27, wherein the database includes a second association that associates a policy with a second group of which the network group is member.
31. The apparatus of claim 27, wherein the database includes: an association of a first policy having a first ordering index with the network group; and an association of a second policy having a second ordering index with the network group; and wherein the means for loading includes means for loading a first configuration defined by the first policy and a second configuration defined by the second policy in an order defined by the first ordering index and the second ordering index.
32. The apparatus of claim 31 , wherein the means for loading the configurations includes: means for loading the first configuration into each network device in the network group, and for subsequently loading the second configuration into each network device in the network group when the first ordering index has a value that is less than the second ordering index; and means for loading the second configuration into each network device in the network group, and for subsequently loading the first configuration into each network device in the network group when the second ordering index has a value that is less than the first ordering index.
33. The apparatus of claim 27, wherein the database includes: an association of a first configuration record having a first ordering index with the network group; and an association of a second configuration record having a second ordering index with the network group; and wherein the means for loading includes means for loading a first configuration defined by the first configuration record and a second configuration defined by the second configuration record in an order defined by the first ordering index and the second ordering index.
34. The apparatus of claim 33, wherein the means for loading the configurations includes: means for loading the first configuration into each network device in the network group, and for subsequently loading the second configuration into each network device in the network group when the first ordering index has a value that is less than the second ordering index; and means for loading the second configuration into each network device in the network group, and for subsequently loading the first configuration into each network device in the network group when the second ordering index has a value that is less than the first ordering index.
35. The apparatus of claim 27, wherein the database includes an association of a policy having a condition, and wherein the means for loading includes: means for determining whether the condition is satisfied; and means for loading the configuration described by the configuration record into each network device in the network group when the condition is satisfied.
36. The apparatus of claim 27, further comprising: a trigger; an inference engine, responsive to the trigger, that determines whether any conflicts exist among policies that are applied to the network group, and resolves the conflicts that exist.
37. A apparatus for enforcing policies that apply to a device in a network, the apparatus comprising: a trigger; an inference engine that determines whether any conflicts exist among policies that are applied to the network and resolves the conflicts that exist.
38. The apparatus of claim 37, wherein the trigger includes: a selected trigger event; and means for triggering according to the selected trigger event.
39. The apparatus of claim 38, wherein the means for triggering includes means for determining at least one of: when a device on the network has been activated; when a device on the network has been deactivated; when a network has been activated; when a network has been deactivated when a device has been added to a network; when a scheduler has determined the trigger event; and when a user has manually triggered the trigger event.
40. The apparatus of claim 37, wherein the inference engine includes: means for determining a group of which the device is a member; means for determining applicable policies for the group, the applicable policies each having a configuration record that includes attributes associated with attribute values; and means for determining whether a first applicable policy of the applicable policies has a first configuration record that includes a first value associated with a first attribute, and a second applicable policy of the applicable policies has a second configuration record that includes a second value associated with the first attribute, the second value being different from the first value.
41. The apparatus of claim 40, wherein the means for determining applicable policies for the group includes: means for searching a database to determine a plurality of policies that are associated in the database with the group; means for characterizing each of the plurality of policies as one of a policy having a condition and a policy having no conditions; means for characterizing each of the plurality of policies having a condition as one of a policy having a satisfied condition and a policy having an unsatisfied condition; and means for determining the applicable policies to be each policy having a satisfied condition and each policy having no conditions.
42. The apparatus of claim 37, wherein the inference engine includes: means for selecting a resolution strategy; and means for selecting a policy from a plurality of applicable policies according to the resolution strategy.
43. The apparatus of claim 42, wherein the means for selecting a resolution strategy includes means for selecting one of: a most specific group strategy that includes selecting an applicable policy that more specifically defines a policy of the device than the other of the plurality of applicable policies; a least specific group strategy that includes selecting an applicable policy that less specifically defines a policy of the device than the other of the plurality of applicable policies; a most conditions satisfied strategy that includes selecting from the plurality of applicable policy an applicable policy that includes a largest number of satisfied conditions; and a user adjudication strategy that includes enabling a user to select an applicable policy from the plurality of policies.
44. The apparatus of claim 37, wherein the inference engine includes: means for determining a group of which the device is a member; means for determining applicable configuration records for the group, the applicable configuration records each including attributes associated with attribute values; and means for determining whether a first configuration record of the applicable configuration records includes a first value associated with a first attribute, and a second configuration record of the applicable configuration records includes a second value associated with the first attribute, the second value being different from the first value.
45. The apparatus of claim 44, wherein the means for determining applicable configuration records for the group includes: means for searching a database to determine a plurality of configuration records that are associated in the database with the group; means for characterizing each of the plurality of configuration records as one of a configuration record having a condition and a configuration record having no conditions; means for characterizing each of the plurality of configuration records having a condition as one of a configuration record having a satisfied condition and a configuration record having an unsatisfied condition; and means for determining the applicable configuration records to be each configuration record having a satisfied condition and each configuration record having no conditions.
46. The apparatus of claim 37, wherein the inference engine includes: means for selecting a resolution strategy; and means for selecting a configuration record from a plurality of applicable configuration records according to the resolution strategy.
47. The apparatus of claim 46, wherein the means for selecting a resolution strategy includes means for selecting one of: a most specific group strategy that includes selecting an applicable configuration record that more specifically defines a configuration of the device than the other of the plurality of applicable configuration records; a least specific group strategy that includes selecting an applicable configuration that less specifically defines a configuration of the device than the other of the plurality of applicable configuration records; a most conditions satisfied strategy that includes selecting from the plurality of applicable configuration records an applicable configuration record that includes a largest number of satisfied conditions; and a user adjudication strategy that includes enabling a user to select a configuration record from the plurality of applicable configuration records.
48. The apparatus of claim 37, wherein the inference engine has an output that includes an enforceable configuration report.
49. The apparatus of claim 48, further comprising means for loading a configuration associated with the enforceable configuration report into the device.
50. The apparatus of claim 37 wherein the inference engine has an output that includes a conflict notice.
51. The apparatus of claim 37 wherein the inference engine has an output that includes a notice that no action is needed.
52. The apparatus of claim 37 wherein the inference engine has an output that includes a configuration report that defines an overall configuration of the network.
PCT/US1996/003036 1995-02-24 1996-02-23 Method for group management in communications network WO1996026588A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU51837/96A AU702607B2 (en) 1995-02-24 1996-02-23 Method and apparatus for defining and enforcing policies for configuration management in communications network
EP96908672A EP0811284A1 (en) 1995-02-24 1996-02-23 Method for group management in communications network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/394,143 1995-02-24
US08/394,143 US5832503A (en) 1995-02-24 1995-02-24 Method and apparatus for configuration management in communications networks
US08/450,854 1995-05-25
US08/450,854 US5872928A (en) 1995-02-24 1995-05-25 Method and apparatus for defining and enforcing policies for configuration management in communications networks

Publications (1)

Publication Number Publication Date
WO1996026588A1 true WO1996026588A1 (en) 1996-08-29

Family

ID=27014602

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/003036 WO1996026588A1 (en) 1995-02-24 1996-02-23 Method for group management in communications network

Country Status (4)

Country Link
US (2) US5872928A (en)
EP (1) EP0811284A1 (en)
AU (1) AU702607B2 (en)
WO (1) WO1996026588A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997037477A2 (en) * 1996-03-29 1997-10-09 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
WO1998042102A1 (en) * 1997-03-14 1998-09-24 Crosskeys Systems Corporation Service level agreement management in data networks
EP0918411A1 (en) * 1997-11-21 1999-05-26 Hewlett-Packard Company Batch configuration of network devices
US6055493A (en) * 1997-01-29 2000-04-25 Infovista S.A. Performance measurement and service quality monitoring system and process for an information system
US6061724A (en) * 1997-01-29 2000-05-09 Infovista Sa Modelling process for an information system, in particular with a view to measuring performance and monitoring the quality of service, and a measurement and monitoring system implementing this process
US6445919B1 (en) 1997-08-14 2002-09-03 Nokia Networks Oy Arrangement and equipment for handling not-compatible messages between a management system and network elements controlled by the management system
EP1330724A1 (en) * 2000-09-15 2003-07-30 Wonderware Corporation An industrial process control data access server supporting multiple client data exchange protocols
US6791952B2 (en) 1997-10-31 2004-09-14 Nortel Networks Limited Asymmetric data access scheme
EP1543423A2 (en) * 2002-07-19 2005-06-22 Synchrologic Inc. System and method for utilizing profile information
US6978379B1 (en) 1999-05-28 2005-12-20 Hewlett-Packard Development Company, L.P. Configuring computer systems
WO2006113238A2 (en) * 2005-04-15 2006-10-26 Esprida Corporation Apparatus and method for managing a network of intelligent devices
EP1293353A3 (en) * 2001-09-12 2006-12-13 Xerox Corporation Print line segmentation
WO2007076944A1 (en) * 2005-12-30 2007-07-12 Sap Ag Configuration templates for different use cases for a system
WO2007076945A1 (en) * 2005-12-30 2007-07-12 Sap Ag Virtualized and adaptive configuration of a system
WO2008058570A1 (en) 2006-11-14 2008-05-22 Telefonaktiebolaget L M Ericsson (Publ) A system and a method relating to network management
US7506145B2 (en) 2005-12-30 2009-03-17 Sap Ag Calculated values in system configuration
US7779389B2 (en) 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US7797522B2 (en) 2005-12-30 2010-09-14 Sap Ag Meta attributes of system configuration elements
US7870538B2 (en) 2005-12-30 2011-01-11 Sap Ag Configuration inheritance in system configuration
US7954087B2 (en) 2005-12-30 2011-05-31 Sap Ag Template integration
CN102196324A (en) * 2011-04-22 2011-09-21 烽火通信科技股份有限公司 Method for managing x PON (Passive Optical Network) threshold value alarm
US8201189B2 (en) 2005-12-30 2012-06-12 Sap Ag System and method for filtering components
US8271769B2 (en) 2005-12-30 2012-09-18 Sap Ag Dynamic adaptation of a configuration to a system environment
US8738791B1 (en) * 2013-07-17 2014-05-27 Phantom Technologies, Inc. Location based network usage policies
US8838750B2 (en) 2005-12-30 2014-09-16 Sap Ag System and method for system information centralization
US8843918B2 (en) 2005-12-30 2014-09-23 Sap Ag System and method for deployable templates
US8849894B2 (en) 2005-12-30 2014-09-30 Sap Ag Method and system using parameterized configurations
US9038023B2 (en) 2005-12-30 2015-05-19 Sap Se Template-based configuration architecture
EP3001607A1 (en) * 2007-02-12 2016-03-30 Huawei Technologies Co., Ltd. Method, device and system of distributing service

Families Citing this family (437)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US6701428B1 (en) * 1995-05-05 2004-03-02 Apple Computer, Inc. Retrieval of services by attribute
US6381639B1 (en) * 1995-05-25 2002-04-30 Aprisma Management Technologies, Inc. Policy management and conflict resolution in computer networks
DE19615683A1 (en) * 1996-04-22 1997-10-23 Sel Alcatel Ag Method and control device for a graphical control of processes in a network management system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6182110B1 (en) * 1996-06-28 2001-01-30 Sun Microsystems, Inc. Network tasks scheduling
US7917643B2 (en) * 1996-09-12 2011-03-29 Audible, Inc. Digital information library and delivery system
US5926624A (en) * 1996-09-12 1999-07-20 Audible, Inc. Digital information library and delivery system with logic for generating files targeted to the playback device
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US7444394B2 (en) * 1997-02-03 2008-10-28 Canon Kabushiki Kaisha Network data base control device and method thereof
US7821926B2 (en) * 1997-03-10 2010-10-26 Sonicwall, Inc. Generalized policy server
US7912856B2 (en) * 1998-06-29 2011-03-22 Sonicwall, Inc. Adaptive encryption
US6408336B1 (en) 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US8914410B2 (en) 1999-02-16 2014-12-16 Sonicwall, Inc. Query interface to policy server
US6115362A (en) * 1997-03-28 2000-09-05 Cabletron Systems, Inc. Method and apparatus for determining frame relay connections
US6073172A (en) * 1997-07-14 2000-06-06 Freegate Corporation Initializing and reconfiguring a secure network interface
US6308206B1 (en) * 1997-09-17 2001-10-23 Hewlett-Packard Company Internet enabled computer system management
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
JP3933770B2 (en) * 1997-10-20 2007-06-20 富士通株式会社 Destination conflict determination, correction device, destination conflict determination, and computer-readable recording medium recording a correction program in a storage and exchange type electronic conference system
US6393472B1 (en) * 1997-12-10 2002-05-21 At&T Corp. Automatic aggregation of network management information in spatial, temporal and functional forms
EP1058883A2 (en) 1998-02-26 2000-12-13 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6212169B1 (en) * 1998-03-13 2001-04-03 Alcatel Canada Inc. Parameter reconfiguration of connected calls
US7143151B1 (en) * 1998-05-19 2006-11-28 Hitachi, Ltd. Network management system for generating setup information for a plurality of devices based on common meta-level information
US6243744B1 (en) * 1998-05-26 2001-06-05 Compaq Computer Corporation Computer network cluster generation indicator
US6542928B1 (en) * 1998-06-02 2003-04-01 Micron Technology, Inc. Automatic configuration of testers and hosts on a computer network
US6832247B1 (en) * 1998-06-15 2004-12-14 Hewlett-Packard Development Company, L.P. Method and apparatus for automatic monitoring of simple network management protocol manageable devices
US6571286B2 (en) 1998-07-07 2003-05-27 International Business Machines Corporation Method and system for enhancing communications efficiency in data communications networks
US6615218B2 (en) 1998-07-17 2003-09-02 Sun Microsystems, Inc. Database for executing policies for controlling devices on a network
US6170009B1 (en) * 1998-07-17 2001-01-02 Kallol Mandal Controlling devices on a network through policies
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6493749B2 (en) * 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
US6286052B1 (en) 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
US6167445A (en) 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US7673323B1 (en) 1998-10-28 2010-03-02 Bea Systems, Inc. System and method for maintaining security in a distributed computer network
US6349306B1 (en) * 1998-10-30 2002-02-19 Aprisma Management Technologies, Inc. Method and apparatus for configuration management in communications networks
US6327618B1 (en) * 1998-12-03 2001-12-04 Cisco Technology, Inc. Recognizing and processing conflicts in network management policies
US6301613B1 (en) * 1998-12-03 2001-10-09 Cisco Technology, Inc. Verifying that a network management policy used by a computer system can be satisfied and is feasible for use
US6393473B1 (en) * 1998-12-18 2002-05-21 Cisco Technology, Inc. Representing and verifying network management policies using collective constraints
US6393474B1 (en) * 1998-12-31 2002-05-21 3Com Corporation Dynamic policy management apparatus and method using active network devices
US6493751B1 (en) * 1999-02-24 2002-12-10 3Com Corporation Network configuration method and system for a window-based operating system environment
US7305562B1 (en) * 1999-03-09 2007-12-04 Citibank, N.A. System, method and computer program product for an authentication management infrastructure
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US6738908B1 (en) * 1999-05-06 2004-05-18 Watchguard Technologies, Inc. Generalized network security policy templates for implementing similar network security policies across multiple networks
WO2000068824A1 (en) 1999-05-10 2000-11-16 3Com Corporation Method and system for network management
US6271620B1 (en) * 1999-05-20 2001-08-07 Sen Corporation Acoustic transducer and method of making the same
WO2000075788A1 (en) * 1999-05-26 2000-12-14 Fujitsu Network Communications, Inc. Network element management system
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US6505244B1 (en) 1999-06-29 2003-01-07 Cisco Technology Inc. Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network
US6577597B1 (en) 1999-06-29 2003-06-10 Cisco Technology, Inc. Dynamic adjustment of network elements using a feedback-based adaptive technique
US6539427B1 (en) 1999-06-29 2003-03-25 Cisco Technology, Inc. Dynamically adaptive network element in a feedback-based data network
US6584502B1 (en) * 1999-06-29 2003-06-24 Cisco Technology, Inc. Technique for providing automatic event notification of changing network conditions to network elements in an adaptive, feedback-based data network
US6765864B1 (en) 1999-06-29 2004-07-20 Cisco Technology, Inc. Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network
US6539425B1 (en) * 1999-07-07 2003-03-25 Avaya Technology Corp. Policy-enabled communications networks
US7100035B1 (en) * 1999-09-02 2006-08-29 International Business Machines Corporation Status display for parallel activities
US20020021675A1 (en) * 1999-10-19 2002-02-21 At&T Corp. System and method for packet network configuration debugging and database
US7213068B1 (en) * 1999-11-12 2007-05-01 Lucent Technologies Inc. Policy management system
US6865549B1 (en) 1999-11-15 2005-03-08 Sun Microsystems, Inc. Method and apparatus for concurrency control in a policy-based management system
DE19957251A1 (en) * 1999-11-27 2001-05-31 Alcatel Sa Method and device for generating customer-specific configuration data records for network elements of a telecommunication system
US6857014B1 (en) * 1999-12-22 2005-02-15 Nortel Network Limited Method and system for designing a network
US6694362B1 (en) * 2000-01-03 2004-02-17 Micromuse Inc. Method and system for network event impact analysis and correlation with network administrators, management policies and procedures
JP2001195333A (en) * 2000-01-06 2001-07-19 Sony Corp Setting method for information communication equipment
US8074256B2 (en) * 2000-01-07 2011-12-06 Mcafee, Inc. Pdstudio design system and method
US6779120B1 (en) * 2000-01-07 2004-08-17 Securify, Inc. Declarative language for specifying a security policy
US7353262B2 (en) * 2000-01-21 2008-04-01 Scriptlogic Corporation Validation of configuration settings prior to configuration of a local run-time environment
US6871221B1 (en) * 2000-01-21 2005-03-22 Scriptlogic Corporation Method and apparatus to manage network client logon scripts using a graphical management and administration tool
US7293087B2 (en) * 2000-01-21 2007-11-06 Scriptlogic Corporation Event-based application for performing configuration changes in a networked environment
US7469278B2 (en) * 2000-01-21 2008-12-23 Scriptlogic Corporation Validation of portable computer type prior to configuration of a local run-time environment
US7126964B1 (en) * 2000-02-11 2006-10-24 Microsoft Corporation Method and apparatus for network analysis, such as analyzing and correlating identifiers of frame relay circuits in a network
WO2001061524A1 (en) * 2000-02-18 2001-08-23 Cedere Corporation Method of automatically baselining business bandwidth
EP1305909A2 (en) * 2000-03-20 2003-05-02 Pingtel Corporation Method and system for combining configuration parameters for an entity profile
US6973488B1 (en) * 2000-03-31 2005-12-06 Intel Corporation Providing policy information to a remote device
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US20010044835A1 (en) * 2000-05-17 2001-11-22 Schober Joseph Frank Selecting content to be communicated based on automatic detection of communication bandwidth
JP2001325172A (en) * 2000-05-17 2001-11-22 Fujitsu Ltd Communication setting management system
US7280529B1 (en) * 2000-05-20 2007-10-09 Ciena Corporation Providing network management access through user profiles
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6760815B1 (en) * 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6865739B1 (en) * 2000-06-06 2005-03-08 Polysecure Systems, Inc. Method for implementing polyinstantiated access control in computer operating systems
US7174557B2 (en) 2000-06-07 2007-02-06 Microsoft Corporation Method and apparatus for event distribution and event handling in an enterprise
US7171459B2 (en) * 2000-06-07 2007-01-30 Microsoft Corporation Method and apparatus for handling policies in an enterprise
US7444395B2 (en) * 2000-06-07 2008-10-28 Microsoft Corporation Method and apparatus for event handling in an enterprise
US7418489B2 (en) * 2000-06-07 2008-08-26 Microsoft Corporation Method and apparatus for applying policies
US7917647B2 (en) * 2000-06-16 2011-03-29 Mcafee, Inc. Method and apparatus for rate limiting
US20020093527A1 (en) * 2000-06-16 2002-07-18 Sherlock Kieran G. User interface for a security policy system and method
JP3745595B2 (en) * 2000-06-29 2006-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Network system construction method and system, network system configuration diagram drawing method and system, network system configuration file generation method and system, and recording medium
US6871233B1 (en) 2000-07-05 2005-03-22 Lucent Technologies Inc. Method and apparatus for use in specifying and insuring service-level quality of service in computer networks
US6732168B1 (en) 2000-07-05 2004-05-04 Lucent Technologies Inc. Method and apparatus for use in specifying and insuring policies for management of computer networks
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
AUPQ968100A0 (en) * 2000-08-25 2000-09-21 Telstra Corporation Limited A management system
AU2002214625A1 (en) * 2000-09-06 2002-03-22 Xanboo, Inc. Adaptively controlled resource and method for controlling the behavior of same
US7734724B2 (en) * 2000-09-06 2010-06-08 Xanboo Inc. Automated upload of content based on captured event
US6686838B1 (en) 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
US7555528B2 (en) 2000-09-06 2009-06-30 Xanboo Inc. Systems and methods for virtually representing devices at remote sites
US7185014B1 (en) * 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7054924B1 (en) * 2000-09-29 2006-05-30 Cisco Technology, Inc. Method and apparatus for provisioning network devices using instructions in extensible markup language
US20050157654A1 (en) * 2000-10-12 2005-07-21 Farrell Craig A. Apparatus and method for automated discovery and monitoring of relationships between network elements
US7606898B1 (en) * 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US6907395B1 (en) * 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US20020082818A1 (en) * 2000-10-31 2002-06-27 Glenn Ferguson Data model for automated server configuration
US8250570B2 (en) 2000-10-31 2012-08-21 Hewlett-Packard Development Company, L.P. Automated provisioning framework for internet site servers
US7428583B1 (en) * 2000-10-31 2008-09-23 Intel Corporation Network policy distribution
AU2002214683A1 (en) * 2000-10-31 2002-05-21 Loudcloud, Inc. A data model for automated server configuration
JP2002158661A (en) * 2000-11-16 2002-05-31 Naretsuji Moderingu Kenkyusho:Kk Network constructing method, management report collecting method and its device
US7092905B2 (en) * 2000-11-21 2006-08-15 Citibank, N.A. Systems and methods for the processing of financial transactions
US7383191B1 (en) * 2000-11-28 2008-06-03 International Business Machines Corporation Method and system for predicting causes of network service outages using time domain correlation
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
US8219662B2 (en) * 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US20020069271A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Event manager for network operating system
US7249170B2 (en) * 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US20020069367A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Network operating system data directory
US6978301B2 (en) 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US6653434B2 (en) * 2000-12-29 2003-11-25 General Electric Company Process for the production of polycarbonate
US7127721B2 (en) * 2001-01-30 2006-10-24 Lucent Technologies Inc. Core object model for network management configuration applications in telecommunication systems
FR2822004A1 (en) * 2001-03-12 2002-09-13 Thomson Multimedia Sa REMOTE MAINTENANCE MANAGEMENT SYSTEM AND METHOD, MANAGEMENT ASSEMBLY AND SOFTWARE PRODUCT
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US6966015B2 (en) * 2001-03-22 2005-11-15 Micromuse, Ltd. Method and system for reducing false alarms in network fault management systems
US8135815B2 (en) * 2001-03-27 2012-03-13 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
US20020141378A1 (en) * 2001-03-28 2002-10-03 Bays Robert James Methods, apparatuses and systems facilitating deployment, support and configuration of network routing policies
US20020143920A1 (en) * 2001-03-30 2002-10-03 Opticom, Inc. Service monitoring and reporting system
DE60136491D1 (en) 2001-03-30 2008-12-18 Nokia Corp METHOD FOR CONFIGURING A NETWORK BY DEFINING CLUSTERS
US7499948B2 (en) * 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US7743147B2 (en) * 2001-04-20 2010-06-22 Hewlett-Packard Development Company, L.P. Automated provisioning of computing networks using a network database data model
US6744739B2 (en) * 2001-05-18 2004-06-01 Micromuse Inc. Method and system for determining network characteristics using routing protocols
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7392546B2 (en) 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US20020188705A1 (en) * 2001-06-11 2002-12-12 Roland Bartussek Method for configuring multiple user systems using a configuration device
US20030009540A1 (en) * 2001-06-29 2003-01-09 International Business Machines Corporation Method and system for presentation and specification of distributed multi-customer configuration management within a network management framework
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US20050286685A1 (en) * 2001-08-10 2005-12-29 Nikola Vukovljak System and method for testing multiple dial-up points in a communications network
US20030033398A1 (en) * 2001-08-10 2003-02-13 Sun Microsystems, Inc. Method, system, and program for generating and using configuration policies
US7284042B2 (en) * 2001-08-14 2007-10-16 Endforce, Inc. Device plug-in system for configuring network device over a public network
US20030037129A1 (en) * 2001-08-14 2003-02-20 Smartpipes, Incorporated Modular remote network policy management system
US7130854B2 (en) * 2001-08-14 2006-10-31 Endforce, Inc. Selection and storage of policies in network management
US20030041139A1 (en) * 2001-08-14 2003-02-27 Smartpipes, Incorporated Event management for a remote network policy management system
US7159125B2 (en) 2001-08-14 2007-01-02 Endforce, Inc. Policy engine for modular generation of policy for a flat, per-device database
US8301587B2 (en) * 2001-08-21 2012-10-30 Hewlett-Packard Development Company, L.P. Internet enabled computer system management
US8296400B2 (en) * 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
US7660887B2 (en) * 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US20030051029A1 (en) * 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
US20030055958A1 (en) * 2001-09-20 2003-03-20 Russell Richard Francis Method for automatically creating network printer ports on a workstation
US6999998B2 (en) * 2001-10-04 2006-02-14 Hewlett-Packard Development Company, L.P. Shared memory coupling of network infrastructure devices
US20030069949A1 (en) * 2001-10-04 2003-04-10 Chan Michele W. Managing distributed network infrastructure services
DE10149977A1 (en) * 2001-10-10 2003-04-24 Siemens Ag Method for accessing user data in conjunction with provision of voice mail, E-mail, Internet telephone services, etc., whereby access to user data is controlled using a central program that ensures data consistency
US20030109509A1 (en) * 2001-10-11 2003-06-12 Alcon, Inc. Methods for treating dry eye
JP2003124931A (en) * 2001-10-12 2003-04-25 Fujitsu Ltd Network managing system
GB2381153B (en) * 2001-10-15 2004-10-20 Jacobs Rimell Ltd Policy server
US7133907B2 (en) * 2001-10-18 2006-11-07 Sun Microsystems, Inc. Method, system, and program for configuring system resources
US7085830B1 (en) * 2001-10-18 2006-08-01 Network Equipment Technologies, Inc. System and method to manage inconsistency problems between network management systems and network elements
US6965559B2 (en) * 2001-10-19 2005-11-15 Sun Microsystems, Inc. Method, system, and program for discovering devices communicating through a switch
WO2003036609A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. Portal administration tool
EP1315330A1 (en) * 2001-11-21 2003-05-28 Markport Limited A mobile device provisioning system
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
JP2003173301A (en) * 2001-12-07 2003-06-20 Hitachi Ltd Network, server and policy server of storage
US7065563B2 (en) * 2001-12-12 2006-06-20 International Business Machines Corporation Visible multi-level online-offline configuration control
US7350226B2 (en) 2001-12-13 2008-03-25 Bea Systems, Inc. System and method for analyzing security policies in a distributed computer network
US7159016B2 (en) * 2001-12-18 2007-01-02 Avaya Technology Corp. Method and apparatus for configuring an endpoint device to a computer network
US7515546B2 (en) * 2001-12-19 2009-04-07 Alcatel-Lucent Canada Inc. Method and apparatus for automatic discovery of network devices with data forwarding capabilities
US8040869B2 (en) * 2001-12-19 2011-10-18 Alcatel Lucent Method and apparatus for automatic discovery of logical links between network devices
US7856599B2 (en) * 2001-12-19 2010-12-21 Alcatel-Lucent Canada Inc. Method and system for IP link management
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US20030120764A1 (en) * 2001-12-21 2003-06-26 Compaq Information Technologies Group, L.P. Real-time monitoring of services through aggregation view
US8099488B2 (en) * 2001-12-21 2012-01-17 Hewlett-Packard Development Company, L.P. Real-time monitoring of service agreements
US7363368B2 (en) 2001-12-24 2008-04-22 International Business Machines Corporation System and method for transaction recording and playback
FR2834846B1 (en) * 2002-01-14 2004-06-04 Cit Alcatel NETWORK MANAGEMENT SYSTEM WITH RULES VALIDATION
US6766364B2 (en) 2002-01-15 2004-07-20 Telcordia Technologies, Inc. Template based configuration and validation of a network for enabling a requested service to be compatible with the previously enabled services
US20030135609A1 (en) * 2002-01-16 2003-07-17 Sun Microsystems, Inc. Method, system, and program for determining a modification of a system resource configuration
US7363360B2 (en) * 2002-02-06 2008-04-22 Adiran, Inc. System and method for managing elements of a communication network
US7451222B2 (en) * 2002-02-13 2008-11-11 Gateway Inc. Client-centered WEP settings on a LAN
WO2003073762A1 (en) * 2002-02-27 2003-09-04 Opentv, Inc. A method and apparatus for providing a hierarchical security profile object
US20030172141A1 (en) * 2002-03-06 2003-09-11 Adtran, Inc. Element management system and method utilizing provision templates
DE60205450D1 (en) * 2002-03-08 2005-09-15 Sun Microsystems Inc Method and device for providing configuration data
US20080228904A1 (en) * 2002-03-20 2008-09-18 Daniel Crespo-Dubie Home Gateway Architecture and State Based Distributed System and Method
EP1349316A1 (en) * 2002-03-27 2003-10-01 BRITISH TELECOMMUNICATIONS public limited company Policy based system management
US7693971B2 (en) 2002-03-27 2010-04-06 British Telecommunications Plc Distributed policy based system management with local management agents responsible for obtaining and storing policies thereat
US7178149B2 (en) * 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US20030204612A1 (en) * 2002-04-30 2003-10-30 Mark Warren System and method for facilitating device communication, management and control in a network
US20040010598A1 (en) * 2002-05-01 2004-01-15 Bea Systems, Inc. Portal setup wizard
US7725560B2 (en) 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
US7496687B2 (en) * 2002-05-01 2009-02-24 Bea Systems, Inc. Enterprise application platform
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US7093010B2 (en) * 2002-05-20 2006-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Operator-defined consistency checking in a network management system
JP4220724B2 (en) * 2002-05-21 2009-02-04 株式会社日立製作所 Storage device
US6950931B2 (en) * 2002-05-30 2005-09-27 International Business Machines Corporation Server configuration using profile templates
US20030222903A1 (en) * 2002-05-31 2003-12-04 Wolfgang Herzog Distributing customized computer settings to affected systems
US7181694B2 (en) 2002-05-31 2007-02-20 Sap Aktiengesellschaft Software customization objects for programming extensions associated with a computer system
US7269612B2 (en) * 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
US7249174B2 (en) * 2002-06-12 2007-07-24 Bladelogic, Inc. Method and system for executing and undoing distributed server change operations
US7840673B1 (en) * 2002-06-17 2010-11-23 International Business Machines Corporation Method and apparatus for management of hosted applications
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US7152100B2 (en) * 2002-07-09 2006-12-19 Adtran, Inc. System and method for provisioning network access devices
US7464145B2 (en) * 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US7103889B2 (en) 2002-07-23 2006-09-05 Sun Microsystems, Inc. Method, system, and article of manufacture for agent processing
US7392299B2 (en) * 2002-07-25 2008-06-24 Brother Kogyo Kabushiki Kaisha Configuration setting system for network system
US7143615B2 (en) * 2002-07-31 2006-12-05 Sun Microsystems, Inc. Method, system, and program for discovering components within a network
US20040022200A1 (en) * 2002-07-31 2004-02-05 Sun Microsystems, Inc. Method, system, and program for providing information on components within a network
US20040024887A1 (en) * 2002-07-31 2004-02-05 Sun Microsystems, Inc. Method, system, and program for generating information on components within a network
US7366893B2 (en) * 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US20040028069A1 (en) * 2002-08-07 2004-02-12 Tindal Glen D. Event bus with passive queuing and active routing
US7461158B2 (en) * 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US20040030771A1 (en) * 2002-08-07 2004-02-12 John Strassner System and method for enabling directory-enabled networking
US7522906B2 (en) * 2002-08-09 2009-04-21 Wavelink Corporation Mobile unit configuration management for WLANs
ITTO20020742A1 (en) 2002-08-23 2004-02-24 Telecom Italia Lab Spa PROCEDURE AND SYSTEM FOR THE CONTROL OF THE
US7558847B2 (en) * 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US6813531B2 (en) 2002-09-20 2004-11-02 International Business Machines Corporation Method, system, and article of manufacture for product configuration
US8055731B2 (en) * 2002-10-30 2011-11-08 Brocade Communication Systems, Inc. Network merge testing
US7552472B2 (en) * 2002-12-19 2009-06-23 International Business Machines Corporation Developing and assuring policy documents through a process of refinement and classification
US8229903B2 (en) * 2002-12-19 2012-07-24 International Business Machines Corporation Suggesting data interpretations and patterns for updating policy documents
FR2850469B1 (en) * 2003-01-24 2005-04-08 Somfy Sas METHOD FOR CONFIGURING AN INSTALLATION COMPRISING SOLAR PROTECTION AND / OR LIGHTING DEVICES
US6917975B2 (en) * 2003-02-14 2005-07-12 Bea Systems, Inc. Method for role and resource policy management
US8831966B2 (en) 2003-02-14 2014-09-09 Oracle International Corporation Method for delegated administration
US7591000B2 (en) * 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7653930B2 (en) * 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US20040167871A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. Content mining for virtual content repositories
US7293286B2 (en) * 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7562298B2 (en) * 2003-02-20 2009-07-14 Bea Systems, Inc. Virtual content repository browser
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US7483904B2 (en) * 2003-02-20 2009-01-27 Bea Systems, Inc. Virtual repository content model
US20040167868A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for a virtual content repository
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20040230679A1 (en) * 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for portal and web server administration
US20040230557A1 (en) * 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for context-sensitive editing
US20040230917A1 (en) * 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for navigating a graphical hierarchy
US7890543B2 (en) * 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7529981B2 (en) * 2003-04-17 2009-05-05 International Business Machines Corporation System management infrastructure for corrective actions to servers with shared resources
US20040215764A1 (en) * 2003-04-23 2004-10-28 Sun Microsystems, Inc. Method, system, and program for rendering a visualization of aggregations of network devices
US7451224B1 (en) 2003-04-23 2008-11-11 Cisco Technology, Inc. Method and apparatus for automatically synchronizing a unique identifier of a network device
US7631055B1 (en) * 2003-04-23 2009-12-08 Cisco Technology, Inc. Method and apparatus providing automatic connection announcement from a modular network device to a network management point
US7676559B2 (en) * 2003-06-24 2010-03-09 Alcatel Lucent Real-time policy evaluation mechanism
US20050055433A1 (en) * 2003-07-11 2005-03-10 Boban Mathew System and method for advanced rule creation and management within an integrated virtual workspace
US7516211B1 (en) * 2003-08-05 2009-04-07 Cisco Technology, Inc. Methods and apparatus to configure a communication port
FR2859061B1 (en) * 2003-08-19 2005-12-02 Cit Alcatel METHOD AND DEVICE FOR GENERATING ROLES FOR ELEMENTS OF A COMMUNICATIONS NETWORK, BASED ON ROLE MODELS
US20050044215A1 (en) * 2003-08-22 2005-02-24 Cohen Alain J. System for automatic import, analysis, and reporting of network configuration and status information
US20050097353A1 (en) * 2003-10-10 2005-05-05 Bea Systems, Inc. Policy analysis tool
US7594224B2 (en) * 2003-10-10 2009-09-22 Bea Systems, Inc. Distributed enterprise security system
US7644432B2 (en) * 2003-10-10 2010-01-05 Bea Systems, Inc. Policy inheritance through nested groups
US8453196B2 (en) * 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
JP3827092B2 (en) * 2003-10-22 2006-09-27 オムロン株式会社 Control system setting device, control system setting method, and setting program
US8775654B2 (en) * 2003-12-19 2014-07-08 Salesforce.Com, Inc. Apparatus and methods for mediating messages
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US8224937B2 (en) * 2004-03-04 2012-07-17 International Business Machines Corporation Event ownership assigner with failover for multiple event server system
US7774601B2 (en) * 2004-04-06 2010-08-10 Bea Systems, Inc. Method for delegated administration
US20050228784A1 (en) * 2004-04-13 2005-10-13 Bea Systems, Inc. System and method for batch operations in a virtual content repository
US20050240714A1 (en) * 2004-04-13 2005-10-27 Bea Systems, Inc. System and method for virtual content repository deployment
US20050251503A1 (en) * 2004-04-13 2005-11-10 Bea Systems, Inc. System and method for content and schema versioning
US7580953B2 (en) * 2004-04-13 2009-08-25 Bea Systems, Inc. System and method for schema lifecycles in a virtual content repository that integrates a plurality of content repositories
US7475091B2 (en) * 2004-04-13 2009-01-06 Bea Systems, Inc. System and method for viewing a virtual content repository
US7376719B1 (en) * 2004-04-14 2008-05-20 Juniper Networks, Inc. Automatic generation of configuration data using implementation-specific configuration policies
US7565416B1 (en) 2004-04-14 2009-07-21 Juniper Networks, Inc. Automatic application of implementation-specific configuration policies
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8190714B2 (en) * 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US20050246529A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US20050257154A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Graphical association of elements for portal and webserver administration
US20050256899A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for representing hierarchical data structures
US20050256906A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Interface for portal and webserver administration-efficient updates
US20050257172A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Interface for filtering for portal and webserver administration
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US7735063B2 (en) 2004-07-07 2010-06-08 Sap Aktiengesellschaft Providing customizable configuration data in computer systems
US7774369B2 (en) * 2004-07-07 2010-08-10 Sap Aktiengesellschaft Configuring computer systems with business configuration information
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US20060025984A1 (en) * 2004-08-02 2006-02-02 Microsoft Corporation Automatic validation and calibration of transaction-based performance models
US7725605B2 (en) 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
JP4192877B2 (en) * 2004-09-29 2008-12-10 ブラザー工業株式会社 Setting data transmission program, setting data transmission device, and setting data transmission system
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US7433931B2 (en) * 2004-11-17 2008-10-07 Raytheon Company Scheduling in a high-performance computing (HPC) system
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US7783670B2 (en) * 2004-11-18 2010-08-24 Bea Systems, Inc. Client server conversion for representing hierarchical data structures
JP4571182B2 (en) * 2005-01-27 2010-10-27 富士通株式会社 NETWORK DEVICE MANAGEMENT DEVICE, NETWORK DEVICE MANAGEMENT METHOD, NETWORK DEVICE, PROGRAM USED FOR THEM, AND SYSTEM
US20060224628A1 (en) * 2005-03-29 2006-10-05 Bea Systems, Inc. Modeling for data services
US8086615B2 (en) * 2005-03-28 2011-12-27 Oracle International Corporation Security data redaction
US20060242277A1 (en) 2005-03-31 2006-10-26 Tripwire, Inc. Automated change approval
US8489728B2 (en) * 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) * 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US7748027B2 (en) * 2005-05-11 2010-06-29 Bea Systems, Inc. System and method for dynamic data redaction
US20070016393A1 (en) * 2005-06-29 2007-01-18 Microsoft Corporation Model-based propagation of attributes
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US20070005320A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Model-based configuration management
US7917537B2 (en) 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
US20070073638A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for using soft links to managed content
US20070073673A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for content management security
US7483893B2 (en) * 2005-09-26 2009-01-27 Bae Systems, Inc. System and method for lightweight loading for managing content
US7752205B2 (en) * 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US20070073674A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for providing federated events for content management systems
US7818344B2 (en) 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US7953734B2 (en) * 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US20070073784A1 (en) * 2005-09-26 2007-03-29 Bea Systems, Inc. System and method for type inheritance for content management
GB2431747A (en) * 2005-10-29 2007-05-02 Hewlett Packard Development Co Identification of conflicts between policies for methods in object orientated environment
US7941309B2 (en) * 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US7949628B1 (en) * 2005-12-29 2011-05-24 United Services Automobile Association (Usaa) Information technology configuration management
US20070156641A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller System and method to provide system independent configuration references
US8087075B2 (en) * 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US10838714B2 (en) * 2006-04-24 2020-11-17 Servicenow, Inc. Applying packages to configure software stacks
US8429712B2 (en) * 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US7505983B2 (en) * 2006-06-26 2009-03-17 Sap Ag Extending data flows
US20080005344A1 (en) * 2006-06-29 2008-01-03 Ford Daniel E Method and system for configuring a network device using a template
US20080022392A1 (en) * 2006-07-05 2008-01-24 Cisco Technology, Inc. Resolution of attribute overlap on authentication, authorization, and accounting servers
US8677319B2 (en) * 2006-07-25 2014-03-18 International Business Machines Corporation Computer method and system for composite state management of software change requests
US20080077982A1 (en) * 2006-09-22 2008-03-27 Bea Systems, Inc. Credential vault encryption
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8463852B2 (en) * 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
US8086710B2 (en) * 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7895332B2 (en) * 2006-10-30 2011-02-22 Quest Software, Inc. Identity migration system apparatus and method
TWI324456B (en) * 2006-12-01 2010-05-01 Cameo Communications Inc An intelligent automatic setting restoration method and device
US7698639B2 (en) * 2006-12-13 2010-04-13 Microsoft Corporation Extensible framework for template-based user settings management
JP4827715B2 (en) * 2006-12-19 2011-11-30 キヤノン株式会社 Management apparatus, management method, information processing apparatus and control method thereof, program, storage medium
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8132166B2 (en) * 2007-05-14 2012-03-06 Red Hat, Inc. Methods and systems for provisioning software
US20080288622A1 (en) * 2007-05-18 2008-11-20 Microsoft Corporation Managing Server Farms
US8561058B2 (en) * 2007-06-20 2013-10-15 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8464247B2 (en) * 2007-06-21 2013-06-11 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US7971231B2 (en) * 2007-10-02 2011-06-28 International Business Machines Corporation Configuration management database (CMDB) which establishes policy artifacts and automatic tagging of the same
US8880659B2 (en) * 2008-01-17 2014-11-04 Aerohive Networks, Inc. Configuring network devices using compilations of coherent subsections of configuration settings
US8259616B2 (en) * 2008-01-17 2012-09-04 Aerohive Networks, Inc. Decomposition of networking device configuration into versioned pieces each conditionally applied depending on external circumstances
US8347355B2 (en) * 2008-01-17 2013-01-01 Aerohive Networks, Inc. Networking as a service: delivering network services using remote appliances controlled via a hosted, multi-tenant management system
US9503354B2 (en) * 2008-01-17 2016-11-22 Aerohive Networks, Inc. Virtualization of networking services
US8166516B2 (en) * 2008-03-27 2012-04-24 Microsoft Corporation Determining effective policy
US8713177B2 (en) 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
US20100011027A1 (en) * 2008-07-11 2010-01-14 Motorola, Inc. Policy rule conflict detection and management
US9100297B2 (en) * 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US8930512B2 (en) * 2008-08-21 2015-01-06 Red Hat, Inc. Providing remote software provisioning to machines
US9477570B2 (en) * 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US8838827B2 (en) * 2008-08-26 2014-09-16 Red Hat, Inc. Locating a provisioning server
US8793683B2 (en) * 2008-08-28 2014-07-29 Red Hat, Inc. Importing software distributions in a software provisioning environment
US9021470B2 (en) * 2008-08-29 2015-04-28 Red Hat, Inc. Software provisioning in multiple network configuration environment
US8244836B2 (en) * 2008-08-29 2012-08-14 Red Hat, Inc. Methods and systems for assigning provisioning servers in a software provisioning environment
US8527578B2 (en) * 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US9952845B2 (en) * 2008-08-29 2018-04-24 Red Hat, Inc. Provisioning machines having virtual storage resources
US8103776B2 (en) 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US9111118B2 (en) * 2008-08-29 2015-08-18 Red Hat, Inc. Managing access in a software provisioning environment
US8326972B2 (en) 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment
US8612968B2 (en) * 2008-09-26 2013-12-17 Red Hat, Inc. Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US8898305B2 (en) 2008-11-25 2014-11-25 Red Hat, Inc. Providing power management services in a software provisioning environment
US9124497B2 (en) * 2008-11-26 2015-09-01 Red Hat, Inc. Supporting multiple name servers in a software provisioning environment
US8832256B2 (en) * 2008-11-28 2014-09-09 Red Hat, Inc. Providing a rescue Environment in a software provisioning environment
US8782204B2 (en) 2008-11-28 2014-07-15 Red Hat, Inc. Monitoring hardware resources in a software provisioning environment
US8775578B2 (en) * 2008-11-28 2014-07-08 Red Hat, Inc. Providing hardware updates in a software environment
US8423631B1 (en) 2009-02-13 2013-04-16 Aerohive Networks, Inc. Intelligent sorting for N-way secure split tunnel
US8402123B2 (en) * 2009-02-24 2013-03-19 Red Hat, Inc. Systems and methods for inventorying un-provisioned systems in a software provisioning environment
US9727320B2 (en) * 2009-02-25 2017-08-08 Red Hat, Inc. Configuration of provisioning servers in virtualized systems
US20100217944A1 (en) * 2009-02-26 2010-08-26 Dehaan Michael Paul Systems and methods for managing configurations of storage devices in a software provisioning environment
US8892700B2 (en) 2009-02-26 2014-11-18 Red Hat, Inc. Collecting and altering firmware configurations of target machines in a software provisioning environment
US8413259B2 (en) * 2009-02-26 2013-04-02 Red Hat, Inc. Methods and systems for secure gated file deployment associated with provisioning
US9558195B2 (en) * 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US8572587B2 (en) * 2009-02-27 2013-10-29 Red Hat, Inc. Systems and methods for providing a library of virtual images in a software provisioning environment
US9940208B2 (en) * 2009-02-27 2018-04-10 Red Hat, Inc. Generating reverse installation file for network restoration
US9411570B2 (en) * 2009-02-27 2016-08-09 Red Hat, Inc. Integrating software provisioning and configuration management
US8667096B2 (en) * 2009-02-27 2014-03-04 Red Hat, Inc. Automatically generating system restoration order for network recovery
US8135989B2 (en) 2009-02-27 2012-03-13 Red Hat, Inc. Systems and methods for interrogating diagnostic target using remotely loaded image
US8640122B2 (en) * 2009-02-27 2014-01-28 Red Hat, Inc. Systems and methods for abstracting software content management in a software provisioning environment
US8990368B2 (en) 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
US8417926B2 (en) * 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
US9250672B2 (en) * 2009-05-27 2016-02-02 Red Hat, Inc. Cloning target machines in a software provisioning environment
US9134987B2 (en) * 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
US9047155B2 (en) * 2009-06-30 2015-06-02 Red Hat, Inc. Message-based installation management using message bus
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US10133485B2 (en) 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
US8825819B2 (en) * 2009-11-30 2014-09-02 Red Hat, Inc. Mounting specified storage resources from storage area network in machine provisioning platform
US9491052B2 (en) * 2010-03-26 2016-11-08 Bladelogic, Inc. Topology aware smart merge
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
JP5828681B2 (en) * 2011-05-31 2015-12-09 キヤノン株式会社 SETTING VALUE MANAGEMENT DEVICE, ITS CONTROL METHOD, AND PROGRAM
US20140230012A1 (en) * 2011-08-15 2014-08-14 Arizona Board of Regents for and behalf of Arizona State University Systems, methods, and media for policy-based monitoring and controlling of applications
US9720996B1 (en) * 2012-04-20 2017-08-01 Open Invention Network Llc System dependencies tracking application
US9906398B1 (en) * 2013-03-11 2018-02-27 Amazon Technologies, Inc. Remote management of device settings
US20140343989A1 (en) * 2013-05-16 2014-11-20 Phantom Technologies, Inc. Implicitly linking access policies using group names
WO2014186628A1 (en) * 2013-05-16 2014-11-20 Iboss, Inc. Location based network usage policies
US9363291B2 (en) * 2013-08-01 2016-06-07 Connectwise, Inc. Systems and methods for managing lost devices of multiple types with multiple policies using melded profiles associated with groups
US10554486B2 (en) * 2014-09-26 2020-02-04 Microsoft Technology Licensing, Llc Multi-enrollments of a computing device into configuration sources
US9729439B2 (en) 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US10257184B1 (en) 2014-09-29 2019-04-09 Amazon Technologies, Inc. Assigning policies for accessing multiple computing resource services
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US9736184B2 (en) 2015-03-17 2017-08-15 128 Technology, Inc. Apparatus and method for using certificate data to route data
US9729682B2 (en) 2015-05-18 2017-08-08 128 Technology, Inc. Network device and method for processing a session using a packet signature
CN107534569A (en) * 2015-11-18 2018-01-02 慧与发展有限责任合伙企业 Emerging system accordance inspection
CN113938378A (en) * 2021-09-17 2022-01-14 浪潮思科网络科技有限公司 Method, device and medium for verifying network device configuration in cloud network environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193152A (en) * 1989-11-03 1993-03-09 Racal-Datacom, Inc. Network management system with group naming
EP0609990A2 (en) * 1993-02-05 1994-08-10 International Computers Limited Data processing system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0463251A1 (en) * 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
US5265241A (en) * 1990-09-04 1993-11-23 International Business Machines Corporation Method and apparatus for verifying the configuration of a link-connected network
US5261044A (en) 1990-09-17 1993-11-09 Cabletron Systems, Inc. Network management system using multifunction icons for information display
US5557747A (en) * 1993-06-22 1996-09-17 Rogers; Lawrence D. Network policy implementation system for performing network control operations in response to changes in network state
US5838918A (en) * 1993-12-13 1998-11-17 International Business Machines Corporation Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment
US5509123A (en) * 1994-03-22 1996-04-16 Cabletron Systems, Inc. Distributed autonomous object architectures for network layer routing
US5751967A (en) * 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5867713A (en) * 1995-04-05 1999-02-02 International Business Machines Corporation Committing an install plan object for the network installation of application programs
US5889953A (en) * 1995-05-25 1999-03-30 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
US5793362A (en) * 1995-12-04 1998-08-11 Cabletron Systems, Inc. Configurations tracking system using transition manager to evaluate votes to determine possible connections between ports in a communications network in accordance with transition tables

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193152A (en) * 1989-11-03 1993-03-09 Racal-Datacom, Inc. Network management system with group naming
EP0609990A2 (en) * 1993-02-05 1994-08-10 International Computers Limited Data processing system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Method for assigning network applications to users and groups", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 37, no. 4b, 1904 - 1994, NEW YORK US, pages 611, XP000451372 *
D.R. CHERITON ET AL.: "Host groups: a multicast extension for datagram internetworks", DATA COMMUNICATIONS SYMPOSIUM, September 1985 (1985-09-01), USA, pages 172 - 179, XP000560608 *

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889953A (en) * 1995-05-25 1999-03-30 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
WO1997037477A3 (en) * 1996-03-29 1998-02-12 Cabletron Systems Inc Policy management and conflict resolution in computer networks
WO1997037477A2 (en) * 1996-03-29 1997-10-09 Cabletron Systems, Inc. Policy management and conflict resolution in computer networks
US6061724A (en) * 1997-01-29 2000-05-09 Infovista Sa Modelling process for an information system, in particular with a view to measuring performance and monitoring the quality of service, and a measurement and monitoring system implementing this process
US6055493A (en) * 1997-01-29 2000-04-25 Infovista S.A. Performance measurement and service quality monitoring system and process for an information system
WO1998042102A1 (en) * 1997-03-14 1998-09-24 Crosskeys Systems Corporation Service level agreement management in data networks
US6445919B1 (en) 1997-08-14 2002-09-03 Nokia Networks Oy Arrangement and equipment for handling not-compatible messages between a management system and network elements controlled by the management system
US6791952B2 (en) 1997-10-31 2004-09-14 Nortel Networks Limited Asymmetric data access scheme
EP0918411A1 (en) * 1997-11-21 1999-05-26 Hewlett-Packard Company Batch configuration of network devices
US6978379B1 (en) 1999-05-28 2005-12-20 Hewlett-Packard Development Company, L.P. Configuring computer systems
EP1330724A4 (en) * 2000-09-15 2009-11-11 Invensys Sys Inc An industrial process control data access server supporting multiple client data exchange protocols
EP1330724A1 (en) * 2000-09-15 2003-07-30 Wonderware Corporation An industrial process control data access server supporting multiple client data exchange protocols
US7644120B2 (en) 2000-09-15 2010-01-05 Invensys Systems, Inc. Industrial process control data access server supporting multiple client data exchange protocols
EP1293353A3 (en) * 2001-09-12 2006-12-13 Xerox Corporation Print line segmentation
EP1543423A2 (en) * 2002-07-19 2005-06-22 Synchrologic Inc. System and method for utilizing profile information
EP1543423A4 (en) * 2002-07-19 2010-03-31 Synchrologic Inc System and method for utilizing profile information
WO2006113238A3 (en) * 2005-04-15 2007-03-29 Esprida Corp Apparatus and method for managing a network of intelligent devices
US9032091B2 (en) 2005-04-15 2015-05-12 Esprida Corporation Apparatus and method for managing a network of intelligent devices
WO2006113238A2 (en) * 2005-04-15 2006-10-26 Esprida Corporation Apparatus and method for managing a network of intelligent devices
US7694117B2 (en) 2005-12-30 2010-04-06 Sap Ag Virtualized and adaptive configuration of a system
US8271769B2 (en) 2005-12-30 2012-09-18 Sap Ag Dynamic adaptation of a configuration to a system environment
US9038023B2 (en) 2005-12-30 2015-05-19 Sap Se Template-based configuration architecture
WO2007076944A1 (en) * 2005-12-30 2007-07-12 Sap Ag Configuration templates for different use cases for a system
US7779389B2 (en) 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US7793087B2 (en) 2005-12-30 2010-09-07 Sap Ag Configuration templates for different use cases for a system
US7797522B2 (en) 2005-12-30 2010-09-14 Sap Ag Meta attributes of system configuration elements
US7870538B2 (en) 2005-12-30 2011-01-11 Sap Ag Configuration inheritance in system configuration
US7954087B2 (en) 2005-12-30 2011-05-31 Sap Ag Template integration
WO2007076945A1 (en) * 2005-12-30 2007-07-12 Sap Ag Virtualized and adaptive configuration of a system
US8201189B2 (en) 2005-12-30 2012-06-12 Sap Ag System and method for filtering components
US7506145B2 (en) 2005-12-30 2009-03-17 Sap Ag Calculated values in system configuration
US8849894B2 (en) 2005-12-30 2014-09-30 Sap Ag Method and system using parameterized configurations
US8843918B2 (en) 2005-12-30 2014-09-23 Sap Ag System and method for deployable templates
US8838750B2 (en) 2005-12-30 2014-09-16 Sap Ag System and method for system information centralization
WO2008058570A1 (en) 2006-11-14 2008-05-22 Telefonaktiebolaget L M Ericsson (Publ) A system and a method relating to network management
EP3001607A1 (en) * 2007-02-12 2016-03-30 Huawei Technologies Co., Ltd. Method, device and system of distributing service
US10355926B2 (en) 2007-02-12 2019-07-16 Huawei Technologies Co., Ltd. Service distribution method, device and system
US11025487B2 (en) 2007-02-12 2021-06-01 Huawei Technologies Co., Ltd. Service distribution method, device and system
CN102196324B (en) * 2011-04-22 2013-12-25 烽火通信科技股份有限公司 Method for managing x PON (Passive Optical Network) threshold value alarm
CN102196324A (en) * 2011-04-22 2011-09-21 烽火通信科技股份有限公司 Method for managing x PON (Passive Optical Network) threshold value alarm
US8738791B1 (en) * 2013-07-17 2014-05-27 Phantom Technologies, Inc. Location based network usage policies
US9049231B2 (en) 2013-07-17 2015-06-02 Iboss, Inc. Location based network usage policies
US9225790B2 (en) 2013-07-17 2015-12-29 Iboss, Inc. Location based network usage policies

Also Published As

Publication number Publication date
US6243747B1 (en) 2001-06-05
US5872928A (en) 1999-02-16
EP0811284A1 (en) 1997-12-10
AU702607B2 (en) 1999-02-25
AU5183796A (en) 1996-09-11

Similar Documents

Publication Publication Date Title
US5872928A (en) Method and apparatus for defining and enforcing policies for configuration management in communications networks
US6349306B1 (en) Method and apparatus for configuration management in communications networks
US5832503A (en) Method and apparatus for configuration management in communications networks
US9749361B2 (en) Security device controller
US6421719B1 (en) Method and apparatus for reactive and deliberative configuration management
US7774444B1 (en) SAN simulator
US7849497B1 (en) Method and system for analyzing the security of a network
US7328260B1 (en) Mapping discovered devices to SAN-manageable objects using configurable rules
US7010782B2 (en) Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands
US7596716B2 (en) Method and system for managing networks
US7451175B2 (en) System and method for managing computer networks
US7043659B1 (en) System and method for flexible processing of management policies for managing network elements
US5777549A (en) Method and apparatus for policy-based alarm notification in a distributed network management environment
EP0961440B1 (en) A method for dynamically creating nodal views of a managed network environment
US7587483B1 (en) System and method for managing computer networks
Flegkas et al. On policy-based extensible hierarchical network management in QoS-enabled IP networks
US20040054764A1 (en) System and method for enhanced software updating and revision
US20110119366A1 (en) Graphical user interface and method for customer centric network management
JP2008519327A (en) Network management appliance
Cisco Using Threshold Manager
Cisco Using Threshold Manager
Cisco Using Threshold Manager
Cisco Using Threshold Manager
Cisco Using Threshold Manager
Cisco Using Threshold Manager

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1996908672

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1996908672

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 1996908672

Country of ref document: EP