US20020082818A1 - Data model for automated server configuration - Google Patents

Data model for automated server configuration Download PDF

Info

Publication number
US20020082818A1
US20020082818A1 US09/766,570 US76657001A US2002082818A1 US 20020082818 A1 US20020082818 A1 US 20020082818A1 US 76657001 A US76657001 A US 76657001A US 2002082818 A1 US2002082818 A1 US 2002082818A1
Authority
US
United States
Prior art keywords
entities
variable
relationship
many
network
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US09/766,570
Inventor
Glenn Ferguson
Christopher Dorsey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Loudcloud Inc
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to US09/766,570 priority Critical patent/US20020082818A1/en
Assigned to LOUDCLOUD, INC. reassignment LOUDCLOUD, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DORSEY, CHRISTOPHER, FERGUSON, GLENN
Publication of US20020082818A1 publication Critical patent/US20020082818A1/en
Abandoned legal-status Critical Current

Links

Images

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/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/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • 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/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Definitions

  • the present invention is directed to the provisioning, or configuration, of servers and other devices that provide support for sites that are hosted on the Internet, intranets, and other communication networks. More particularly, the present invention is directed to a data model which can be implemented using a database and which serves as a repository for information pertinent to the provisioning or configuration, of devices on a communications network.
  • the infrastructure to support a website may be as simple as a single server, or even a portion of a server.
  • a large, popular website that consists of several thousand pages of information and that is accessed quite frequently may require numerous web servers to provide the necessary support.
  • websites for commercial entities, via which transactional operations are conducted may employ multiple application servers to support transactions with a large number of customers at one time.
  • the present invention is particularly directed to a data model which supports a website by facilitating provisioning of the servers, allowing appropriate software necessary for the site to be identified, located, and transferred to a server, and generally defining all aspects of the network.
  • provisioning initially occurs when the website is first launched. Thereafter, there may be a need for further provisioning, particularly in the case of a successful website, when additional servers must be added to support increased traffic, which requires accurate modeling of all aspects of the network.
  • provisioning of the servers may be required as part of a disaster recovery operation, for example a sudden interruption in power, an attack by a hacker, or corruption of stored software and/or data. In such an instance, it would be necessary to have an accurate model of all aspects of the server to allow for accurate reproduction of the server in need of recovery.
  • the foregoing objectives are achieved by way of a data model to support the automated provisioning of servers and other devices that support various types of services, such as hosting of an Internet or intranet website.
  • This data model provides relationships between various software, configuration, monitoring, hardware, network, domain name server (DNS), and queues entities.
  • DNS domain name server
  • the present invention facilitates allowing access to and configuration of each aspect of a database which implements the model and thus, to each aspect of the network. This, in turn, allows for automated provisioning by devices located remotely on the network with which the data model of the present invention is associated.
  • the central database which implements the data model of the present invention contains all information that is relevant to the provisioning of devices contained on the network.
  • This information includes information regarding the hardware devices used on the network, the software components that make up the various software roles installed on a device, logical network information such as IP addresses, configuration information of the various software, hardware, and network components, domain name information, and the like. Additionally, information regarding monitoring status of the network, and devices contained thereon is provided for. Additionally, an interface for various network agents associated with each host on the network for reporting configuration regarding devices connected to the network, reporting version information, upgrading software contained thereon, and so forth, is provided for.
  • the data model allows for modeling of all information relating to a computer network to be conveniently stored in a database in a manner which minimizes the effort associated with the addition of new devices to the network and maximizes software code reuse.
  • This is accomplished by designing a model wherein each of the model's entities interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the network (or portion thereof) that the model is intended to capture.
  • these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new software, new hardware devices, new monitoring techniques and equipment, new configurations, etc., without requiring the rewriting of software code which relies upon the model and the database implementation thereof.
  • the schema described herein facilitate the reuse of existing software code to interact with the database model regarding newly added software, hardware, configurations, etc. by virtue of this design aspect of the model.
  • FIG. 1 is block diagram of one embodiment of the hardware configuration for website hosting.
  • FIG. 2 is a block diagram of services associated with a network, in connection with one embodiment of the present invention.
  • FIG. 3 is a block diagram of a website maintenance system, associated with one embodiment of the present invention.
  • FIG. 4 is a block diagram of roles used in connection with one embodiment of the present invention.
  • FIG. 5 is a role-centric entity relationship diagram, used in connection with one embodiment of the present invention.
  • FIG. 6 is a service-centric entity relationship diagram, used in connection with one embodiment of the present invention.
  • FIG. 7 is a block diagram illustrating the relationship between various elements of one embodiment of the present invention.
  • FIG. 8 is a block diagram illustrating the relationship between various elements of one embodiment of the present invention.
  • FIG. 9 is a block diagram illustrating the relationship between units, bundles, and roles, in accordance with one embodiment of the present invention.
  • FIG. 10 is an entity relationship diagram illustrating the relationship between units, roles, and packages, in accordance with one embodiment of the present invention.
  • FIG. 11 is an entity relationship diagram illustrating the relationship between various aspects of the data model, in accordance with one embodiment of the present invention.
  • FIG. 12 is an entity relationship diagram illustrating the relationship between various entities relating to software within the data model of one embodiment of the present invention.
  • FIG. 13 is an entity relationship diagram illustrating the relationship between various entities relating to configuration within the data model of one embodiment of the present invention.
  • FIG. 14 is an entity relationship diagram illustrating the relationship between various entities relating to monitoring within the data model of one embodiment of the present invention.
  • FIG. 15 is an entity relationship diagram illustrating the relationship between various entities relating to hardware within the data model of one embodiment of the present invention.
  • FIG. 16 is an entity relationship diagram illustrating the relationship between various entities relating to DNS capabilities within the data model of one embodiment of the present invention.
  • FIG. 17 is an entity relationship diagram illustrating the relationship between various entities relating to network within the data model of one embodiment of the present invention.
  • FIG. 18 is an entity relationship diagram illustrating the relationship between various entities relating to queues within the data model of one embodiment of the present invention.
  • FIG. 1 illustrates, in block diagram form, the hardware configuration of one embodiment of the present invention.
  • a typical, three-tier web hosting system 100 which may be implemented using the data model of the present invention, is illustrated.
  • databases 102 A, 102 B are accessible to the web servers 104 A, 104 B, and the application servers 106 A, 106 B of the three-tier web hosting system 100 illustrated in FIG. 1.
  • redundancy is used, whereby a duplicate web server 104 B, application server 106 B, and database 102 B are each used as backups for the primary web server 104 A, application server 106 A, and database 102 A, respectively.
  • Each of the web servers receives and handles requests received by way of a network. Requests received by way of such a network may require functionality from various applications. When this is the case, the web server 104 A, 104 B forwards the requests to the application server 106 A, 106 B, which may then process the application, and also has access to the database 102 A, 102 B.
  • the application server 106 A, 106 B may, therefore, require information regarding software, configuration, monitoring, hardware, the network, DNS, or queues, which may be contained within the database 102 A, 102 B. This information is modeled by one embodiment of the present invention to allow for rapid and convenient access by the application server 106 A, 106 B to this information contained within the database 102 A, 102 B.
  • Network requests are received by the web server 104 A, 104 B by way of a firewall 108 , and are distributed by the load balancer 110 .
  • the firewall 108 provides security from any malicious network forces outside the local access of the three-tier web hosting system, 100 . Any remote host, or agent, which is outside the locality of the three-tier web hosting system 100 may be required to authenticate itself to the firewall 108 in order to access, maintain, monitor, or reconfigure the web server 104 A, 104 B, the application server 106 A, 106 B, or the database 102 A, 102 B.
  • the load balancer 110 distributes the network transactions received by way of the firewall 108 .
  • FIG. 2 is a block diagram illustrating the relationship of various services provided by a web hosting system in which the present invention can be implemented.
  • the relationship model 200 illustrated in FIG. 2 comprises a variety of functional components, which relate to a web server 202 , and an application server 204 connected to a network, such as the Internet 205 .
  • Functions relating to the web server 202 and the application server 204 include a software maintenance component 206 , and a monitoring component 208 .
  • the web server 202 and application server 204 may access information, and functionality, possessed by the software maintenance component 206 and the monitoring component 208 .
  • the software maintenance component 206 and monitoring component 208 may provide the web server 202 and application server 204 with information, and may access information contained on the servers 202 , 204 .
  • the web server 202 which is in communication with the application server 204 , may request functionality to be performed by various applications. This functionality may be subdivided into two categories: website content and personalized information.
  • Website content is represented by the content feed component 210
  • personalized information is represented by the personalization component 212 , which are both in communication with the application server.
  • Both the content feed component 210 and the personalization component 212 may be monitored by the monitoring component 208 , and may receive software maintenance support from the software maintenance component 206 .
  • the manner in which the monitoring component 208 , the software maintenance component 206 , the network 205 , the hardware devices 202 -, 204 , and the configuration components 210 , 212 are related is defined by the data model of the present invention.
  • the web server 202 may comprise a layer 7 proxy server.
  • the monitoring component 208 monitors the status of the hardware components, such as the web server 202 and application server 204 , and monitors the content feed 210 and the personalization component 212 .
  • the web server 202 or application server 204 may request the software maintenance component 206 to provide maintenance, which may be in the form of software updates, to any of the hardware components 202 , 204 , the content feed component 210 , or the personalization component 212 .
  • the content feed component 210 may communicate any information which is fed into the system 200 , while the personalization component 212 provides data and information that is specific to a particular site hosted by a web server, or layer 7 proxy server 202 .
  • One example of information that is fed into the system 200 by way of the content feed component 210 is streaming data from an external source, such as stock market ticker data.
  • FIG. 3 a system 300 is illustrated, which is suitable for automated provisioning, remote access and maintenance of network devices.
  • Another system in which models according to the present invention can be implemented is described in U.S. patent application Ser. No. ______, entitled “AUTOMATED PROVISIONING FRAMEWORK FOR INTERNET SITE SERVERS” to Raymond Suorsa et al. filed on an even date herewith, the disclosure of which is incorporated here by reference.
  • a database 302 can be used to implement the data model according to exemplary embodiments of the present invention. This database 302 may reside on any large scale storage device.
  • suitable storage devices upon which the database associated with the data model of the present invention may be stored include redundant array of independent disks (RAID) systems, such as those provided by EMC Corporation of Hopkinton, Mass., or other similar devices.
  • This database 302 may be accessed by the various agents 304 A, 304 B, 304 C, whose level of access may be determined by a hierarchy of trust component 306 .
  • a user interface 308 may be provided for the convenience of a user in accessing information contained within the database 302 , or software contained within the software file system 310 . The determination of the level of access granted by the user interface 308 is made by the hierarchy of trust component 306 . Access determination information is stored by the access determination component 312 , which is accessible by way of database 302 .
  • the hierarchy of trust component 306 interprets the data related to it from the database 302 , and communicates this data, or the interpretation thereof to the various agents 304 A, 304 B, 304 C, and/or the user interface 308 .
  • LDAP lightweight directory access protocol
  • FIG. 4 a block diagram of a customer role package 400 is illustrated.
  • Such customer role packages are used to provide repeatability, and eliminate the need for manual configuration by designating software components to be installed on a particular device connected to a network.
  • Roles as illustrated in FIG. 4 define the functionality of device, and may be considered to define the role, or part, the device is to play within the network.
  • the software components to be installed are divided into three types of software roles that are related to the frequency with which they are likely to change or be upgraded. These roles include an application role 402 , a customer code role 404 , and an operating system (OS) role 406 .
  • the OS role 406 contains the software that has the lowest probability of being changed during the life cycle of the particular device on which it is installed. This role consists of the OS of the device, plus other general software, such as the intelligent agents 304 A, 304 B, 304 C, illustrated in FIG. 3.
  • the customer code role 404 contains content specific to, and provided by, a customer, and therefore contains software that can change on a regular basis for a website or other network site. Examples of software contained within the customer code role 404 might include hypertext markup language (HTML) pages, Java server pages (JSP), active server pages (ASP), image files, and other content that is regularly updated by a website host.
  • the application role 402 consists of software components that change relatively infrequently when compared to software of the customer code role 404 , but perhaps more often than software contained within the OS role 406 .
  • the hierarchical structure of such a customer role package 400 is described hereinafter in connection with FIG. 9.
  • FIG. 5 An entity relationship diagram of a role-centric network model 500 is illustrated in FIG. 5.
  • the role-centric model 500 is used for relating devices 502 connected to a network to software roles 504 . This is accomplished by way of a role instance 506 , which is used as a place holder for devices until a device 502 is present, and connected to the network by way of which the role 504 may communicate the software contained therein to the devices 502 .
  • This role-centric model 500 allowed for a role instance 506 that reserved IP addresses, or other network addresses, and allowed for general network configuration without the devices being attached to the network. Thus, the IP addresses used by the various devices connected to the network may be maintained, and need not be reassigned each time a device is reconnected to the network at a different location.
  • Entity relationship diagrams such as the entity relationship diagram of the role-centric model 500 , show the relationship between various entities, which are represented by rectangular blocks and labeled to indicate their significance connected by way of connection lines.
  • Each connection line has a single connection on one end and multiple connections on the opposite end, indicating a one-to-many relationship. This means that a single entity is related to multiple entities on the end of the connection line having multiple connections.
  • the devices entity 502 relates to the role instance entity 506 in a one-to-many fashion, meaning that each device entity 502 is directly related to many role instance entities 506 .
  • the role entity 504 is related to the role instance entity 506 in a one-to-many relationship.
  • each role entity 504 is related to multiple role instances 506 .
  • FIG. 6 illustrates an improved approach to the traditional role-centric network model approach illustrated in FIG. 5.
  • a service-centric network model 600 that allows one to monitor service information related to devices 602 associated with a computer network is shown. This type of model is accomplished, as illustrated in the entity relationship diagram of FIG. 6, by relating devices entities 602 to service instance entities 604 in a one-to-many relationship. The service instance entities 604 are then related to services 606 in a many-to-one relationship. The services entity 606 is related to the roles entity 608 in a one-to-many relationship. The service instance entities 604 act as a relationship table between the devices 602 and the services 606 .
  • the advantages of the service-centric model 600 which is employed by one embodiment of the present invention include all of the advantages of the role-centric model 500 , illustrated in FIG. 5, as the network may be configured using place holders instead of devices connected to the network.
  • the service-centric model has the additional advantage of relating the roles to services, which are an important quantity for customers to monitor and configure.
  • An embodiment of the present invention utilizes a service-centric model, such as the one illustrated in FIG. 6.
  • the block diagram in FIG. 7 illustrates a service-centric concept, relating services 702 to various other quantities associated with the network that in accordance with an embodiment of the present invention.
  • the services 702 are centrally related to each of: the devices 704 , the configuration component 706 of the network, the monitoring 708 of the network, hardware, and software, and the software 710 , such as the OS software, packages, and roles hereinbefore described.
  • the monitoring component 708 may monitor the software component, ensuring that each of the software roles is properly maintained, and up to date.
  • FIG. 8 illustrates a similar configuration, wherein services are centrally related to a configuration component 706 , a monitoring component 708 , and software 710 .
  • the service-centric relationship illustrated in FIG. 8 differs from the one illustrated in FIG. 7 in that the services 702 are not related directly to devices. Rather, the services 702 are related directly to a service instance 802 , which allows for the configuration of an IP address by a configuration device. This service instance 802 is related to devices 804 upon which an IP is configured.
  • the services 702 in FIG. 8 are not directly related to devices, as is the case in FIG. 7, in FIG. 8, the services 702 are related to a service instance 802 which allows for the configuration of IP addresses until a device 804 may be configured with an IP address, and acts as a place holder for devices to be connected and utilize the IP addresses.
  • FIG. 9 illustrates the hierarchy of individual software roles.
  • Role 902 of FIG. 9 comprises a combination of software bundles and units.
  • the software units 904 , 906 , 908 each comprise multiple software installation packages.
  • One example of such software installation packages that may be contained within units 904 , 906 , 908 includes software bundles for the Linux OS, such as Redhat package manager (RPM) files. Such packages would be saved in a file having a name using the extension RPM, such as file_x.rpm.
  • RPM Redhat package manager
  • a bundle 912 may be made up of a combination of units, such as unit 908 , and other bundles, such as bundle 910 . These bundles are then combined into a role, such as role 902 .
  • This role 902 is stored as a list of packages, such as RPMs, to be installed on a device, and the order in which those packages are to be installed. These roles may, therefore, be used to rebuild a machine automatically, should a critical failure occur.
  • the role 902 illustrated in FIG. 9 may comprise a customer role package, such as the package 400 illustrated in FIG. 4, which contains three roles: the application role 402 , the customer code role 404 , and the OS role 406 .
  • FIG. 10 illustrates the same relationships shown in FIG. 9 in the form of an entity relationship diagram.
  • roles entities 1002 are related to units entities 1004 and packages entities 1006 . These three groups of entities are related by way of two relationship tables 1008 , 1010 .
  • the roles entities 1002 represent a role, such as role 902 of FIG. 9, or a group of roles.
  • These roles entities 1002 are made up of multiple units entities 1004 , which represent units, such as units 904 , 906 , 908 of FIG. 9. This is illustrated by the one-to-many relationship between the units entities 1004 and the relationship table 1008 , which is related in a one-to-many relationship with the relationship table 1010 .
  • This relationship table 1010 is related to the roles entities 1002 in a many-to-one relationship.
  • the roles represented by the roles entities 1002 may be made up of multiple units, which are represented by the units entities 1004 .
  • the units represented by the units entities 1004 may be made up of multiple packages, such as the RPMs discussed above.
  • These packages are represented by the packages entities 1006 , which are related in a one-to-many relationship with the relationship table 1008 which is in turn related to the units entities 1004 in a many-to-one relationship.
  • the packages 1006 are illustrated as having a one-to-many relationship with other packages, which indicates that any single package may contain multiple packages.
  • the relationship diagram illustrated in FIG. 10 is a particularly useful way to illustrate the relationship between the various components of a data model. As can be seen, much information can be gleaned from the entity relationship diagram of FIG. 10, and less space is required to express the same idea illustrated in FIG. 9.
  • the entity relationship diagram also allows for convenient access to each aspect of the database being modeled for quick, accurate, and repeatable configuration of that database.
  • FIG. 11 An entity relationship diagram of the data model according to one embodiment of the present invention is illustrated in FIG. 11.
  • the data model 1100 is represented as having multiple entities related to one another.
  • Each of these entities illustrated in FIG. 11 represents a group of entities and therefore FIG. 11 represents the data model on a macro level only.
  • Each of the entities represented in the data model 1100 of FIG. 11 is broken into its components, and illustrated in more detail in subsequent figures, which are denoted in FIG. 11.
  • the data model 1100 in FIG. 11 relates the following entities: software 1102 , configuration 1104 , monitoring 1106 , hardware 1108 , DNS 1110 , network 1112 , and queues 1114 .
  • the software entities 1102 represent various software packages to be installed in devices, applications, and operating system software of the various network devices.
  • the software entities 1102 are directly related to the configuration entities 1104 , the hardware entities 1108 , and the network entities 1112 .
  • the software entities 1102 have an optional many-to-one relationship with the hardware entities 1108 , and shares a combination of many-to-one and one-to-many relationships with both the configuration entities 1104 and the network entities 1112 .
  • the configuration entities 1104 are related to the software entities 1102 with a many-to-one and one-to-many relationship, and similarly share a many-to-one and one-to-many relationships with the hardware entities 1108 . Additionally, the configuration entities are related to the monitoring entities 1106 in a one-to-many relationship. The configuration entities 1104 relate to both the DNS entities 1110 and the network entities 1112 in a many-to-one relationship. The relationship with the DNS entities 1110 is optional, as indicated by the broken line connecting the configuration entities 1104 and the DNS entities 1110 . These configuration entities 1104 represent the configuration of various network addresses, software packages, and device addresses.
  • the monitoring entities 1106 are related to the configuration entities 1104 as described above, and to the hardware entities 1108 in many-to-one relationships.
  • the monitoring entities 1106 monitor the status and condition of entities within the configuration entities group 1104 and the hardware entities group 1108 .
  • the hardware entities 1108 represent multiple hardware devices in communication with a network. These entities are related to the software entities 1102 in an optional one-to-many relationship, and as described above to the monitoring entities 1106 in a one-to-many relationship. Additionally, as described above, the hardware entities 1108 are related in both a many-to-one and one-to-many relationship with the configuration entities 1104 .
  • the DNS entities 1110 represent all DNS transfers, queries, entries, configurations, and posts. They are optionally related to the configuration entities 1104 in a one-to-many relationship, and to the network entities 1112 in an optional many-to-one relationship.
  • the network entities 1112 are related to the software entities 1102 in a combination of many-to-one and one-to-many relationships, and to the configuration entities 1104 in a one-to-many relationship. Additionally, the network entities 1112 are optionally related to the DNS entities 1110 in a one-to-many relationship.
  • a group of entities called the queues entities 1114 are also illustrated in the database model 1100 of FIG. 11. However, the queues entities are not illustrated as having a direct relationship with any of the other entities of this model 1100 .
  • a relationship between the queues entities 1114 and the other entities within the data model 1100 is created by either business logic contained outside of the data model, or by intelligent agents, such as the agents 304 A, 304 B, 304 C illustrated in FIG. 3. This type of relationship will be described hereinafter with greater detail.
  • FIGS. 12 - 18 illustrate in greater detail the entities of the data model 1100 illustrated in FIG. 11.
  • entity relationship diagrams In each of these figures, multiple entities that make up the entities represented in FIG. 11, will be shown as entity relationship diagrams. In this type of diagram, the one-to-many or many-to-one relationships between the entities will be illustrated in the same manner as in FIG. 11. Optional relationships will be illustrated by way of broken lines. Connections to entities within other groups of entities (i.e. written other entities of the data model 1100 in FIG. 11), will be indicated by lines at the edge of the page with a designation indicating the figure upon which those relationships are continued.
  • Each of the entities contained within FIGS. 12 - 18 have a set of variables associated with them, specific values of which characterize instances of each of the entities and their functionalities. These variables will be described hereinafter in tables. In these tables identifying variables associated with each entity, a variable name, variable definition, variable type, and an indication regarding whether the variable is required by the entity or optional to the entity will be given. Those skilled in the art will appreciate that the reference herein to “required” or “optional” with respect to the individual variables in each table is purely exemplary and that, in other exemplary embodiments which are not explicitly described herein, the status of these variables as “required” or “optional” may change.
  • an indication of the primary key of each entity of each variable set will be given by an asterisk immediately following the variable name. In some cases, multiple primary keys will be indicated.
  • the primary key of a particular entity must be contained within each of the entities to which that entity relates and is the main variable associated with the entity.
  • the primary key of an entity acts as a type of pointer, referring to the first entity.
  • FIG. 12 a detailed entity relationship diagram of the software entities 1102 is illustrated.
  • Each of the entities within this diagram interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the software portion of the network that the model is intended to capture.
  • these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new software packages, without requiring the rewriting of software code which relies upon the model and the database implementation thereof.
  • the units entities 1202 represent the software units described in connection with FIG. 10.
  • the variable set associated with the units entities 1202 is set forth below in Table 1.
  • TABLE 1 VARIABLE SET OF UNITS ENTITIES 1202 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL UNIT_ID* Unit identification number Number R ACCT_ID Account identification number Number R PLATFORM_ID Platform identification number Number O UNIT_NAME Unit name Character R UNIT_TYPE Unit type Character R UNIT_VERSION Unit version Number R UNIT_DESC Unit description Character O UNIT_LOC Unit location Character R CREATED_BY Created by Character R CREATE_DT Create date Date Date R MODIFIED_BY Modified by Character O MODIFIED_DATE Date modified Date O INSTALL_FLAGS Installation flags Character O REMOVE_FLAGS Remove flags Character O
  • the units entities 1202 relate to unit monitor types entities 1204 , unit contents entities 406 , application role units 1208 , unit packages entities 1212 , account role units entities 1214 , device pool role units entities 1216 and one-to-many relationships.
  • the one-to-many relationship between the units entities 1202 and the unit conflicts entities 1206 includes dual one-to-many relationships.
  • the units entities 1202 may be related by the many-to-one relationship 1238 illustrated in FIG. 12 with entities within the network entities 11 12 which is illustrated in detail in FIG. 17. Specifically, the units entities 1202 is related by this many-to-one relationship with the accounts entities 1702 of FIG. 17. An optional many-to-one relationship may exist between units entities 1202 and the platforms entities 1210 .
  • the unit monitor types entities 1204 indicate the type of monitoring associated with the units related to the unit entities 1202 .
  • the variable set associated with the unit monitor types entities 1204 is set forth below in Table 2.
  • TABLE 2 VARIABLE SET OF MONITOR TYPES ENTITIES 1204 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL UNIT_ID* Unit identification number Number
  • R START_LOC Start location Character O STOP_LOC Stop location Character O
  • the unit monitor types entities 1204 relates to the units entities 1202 in a many-to-one relationship.
  • the unit conflicts entities 1206 are used to identify any potential conflicts between units related to the units entities 1202 .
  • the variable set associated with the unit conflicts entities 1206 is set forth below in Table 3. TABLE 3 VARIABLE SET OF UNIT CONFLICTS ENTITIES 1206 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL UNIT_ID Unit identification number Number R CONFLICTING_UNIT_ID Conflicting unit Number R identification number CONFLICT_DESC Conflict description Character O
  • the unit conflicts entities 1206 relate to the units entities 1202 in dual many-to-one relationships.
  • the application role units entities 1208 relate application roles entities 1236 with units entities 1202 , much in the same manner that roles are related to units in the relationships described in connection with FIG. 10.
  • the variable set associated with the application role units entities 1208 is set forth below in Table 4.
  • TABLE 4 VARIABLE SET OF APPLICATION ROLE UNITS ENTITIES 1208 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL APP_ROLE_ID* Application role Number R identification number UNIT_ID* Unit identification Number R number INSTALL_ORDER Installation order Number R DATE_CREATED Date control Date O CREATED_BY Created by Character O
  • the application role units entities 1208 relate to the units entities 1202 in a many-to-one relationship, as discussed above. Additionally, the application role units entities 1208 relate to the application roles entities 1236 in a many-to-one relationship.
  • Platforms entities 1210 indicate the platforms of the various computer devices connected to the network, upon which the units, packages, and roles run.
  • the variable set associated with the platforms entities 1210 is set forth below in Table 5.
  • TABLE 5 VARIABLE SET OF PLATFORMS ENTITIES 1210 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL PLATFORM_ID* Platform identification number Number R PLATFORM_NAME Platform name Character R PLATFORM-DESC Platform description Character O
  • the platforms entities 1210 may have multiple optional one-to-many relationships with other entities illustrated in FIG. 12. These entities with which the platforms entities 1210 may be related in an optional one-to-many relationship include the units entities 1202 , as previously discussed, the account roles entities 1224 , and the application roles entities 1236 . Additionally, the platforms entities 1210 relates in a many-to-one fashion with the device pool roles entities 1218 and the packages entities 1220 .
  • the unit packages entities 1212 serve to relate the units represented by the units entities 1202 with the packages represented by the packages entities 1220 , in much the same manner as described in connection with FIG. 10.
  • the variable set associated with the unit packages entities 1212 is set forth below in Table 6.
  • TABLE 6 VARIABLE SET OF UNIT PACKAGES ENTITIES 1212 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL PKG_ID* Package identification number Number R UNIT_ID* Unit identification number Number R INSTALL_ORDER Installation order Number R EFF_BEG_DT* Effective beginning date Date Date R EFF_END_DT Effective ending date Date O
  • the unit package entities 1212 have many-to-one relationships with the units entities 1202 , as previously discussed, and the packages entities 1220 .
  • Account role units entities 1214 are used in relating the units represented by the units entities 1202 with the account roles of the account roles entities 1224 in a similar manner as described in FIG. 10 using relational tables.
  • the variable set associated with the account role units entities 1214 is set forth below in Table 7.
  • TABLE 7 VARIABLE SET OF ACCOUNT ROLE UNITS ENTITIES 1214 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL ACCT_ROLE_ID* Account role Number R identification number UNIT_ID* Unit identification Number R number INSTALL_ORDER Installation order Number R DATE-CREATED Date created Date R CREATED_BY Created by Character R
  • the account role units entities 1214 have many-to-one relationships with the unit entities 1202 , as previously indicated, and the account roles entities 1224 .
  • the device pool role units entities 1216 serve to relate devices contained in device pools, which are associated with the device pool roles entities 1218 , with the various software units associated with the units entities 1202 that are necessary to properly configure the devices.
  • the variable set associated with the device pool role units entities 1216 is set forth below in Table 8. TABLE 8 VARIABLE SET OF DEVICE POOL ROLE UNITS ENTITIES 1216 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DEVICE_POOL_ID* Device pool Number R identification number UNIT_ID* Unit identification Number R number INSTALL_ORDER Installation order Number R DATE-CREATED Date created Date O CREATED_BY Created by Character O
  • the device pool role units 1216 have many-to-one relationships with the units entities 1202 , as previously indicated, and the device pool roles entities 1218 .
  • Device pool poles entities 1218 relate the device pool packages, the device roles, and the platforms of the various devices with the device pool role units associated with the device pool role units entities 1216 .
  • the variable set associated with the device pool roles entities 1218 is set forth below in Table 9. These variables relate to the device pool role, or the software associated with a particular device pool. Thus, the variable STATUS, indicated below in Table 9, may indicate the status of a device role.
  • the device pool roles entities 1218 are related to the device pool role units entities 1216 in a one-to-many relationship as previously discussed. Also, the device pool roles entities 1218 are related to the platforms entities 1210 in a many-to-one relationship, as previously discussed. In addition to these relationships, the device pool roles entities 1218 are related to the device roles entities 1226 , and the device pool packages entities 1234 in one-to-many relationships.
  • the packages entities 1220 represent the various software packages, such as those described in connection with FIG. 10.
  • the variable set associated with the packages entities 1220 is set forth below in Table 10.
  • TABLE 10 VARIABLE SET OF PACKAGES ENTITIES 1220 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL PKG_ID* Package identification Number R number PLATFORM_ID Platform identification Number R number ACCT_ID Account identification Number R number PKG_NAME Package name Character R PKG_TYPE Package type Character R PKG_VERSION Package version Number R PKG_DESC Package description Character O EFF_BEG_DT Effective beginning Date R date CREATED_BY Created by Character R CREATE_DT Date created Date R
  • the packages entities 1220 are related to the platforms entities 1210 in a many-to-one relationship, and the unit packages entities 1212 in a one-to-many relationship, as discussed above. Additionally, the packages entities 1220 is related to the account packages of entities 1222 , the included packages entities 1230 , the application packages entities 1232 , and the device pool packages 1234 in one-to-many relationships. The relationship between the packages entities 1220 and the included packages entities 1230 is a dual one-to-many relationship. Also, the packages entities 1220 are related by way of the many-to-one relationship 1240 to an entity within the network entities 1112 shown in FIG. 17. Specifically, the packages entities 1220 relates to the accounts entities 1702 of FIG. 17 by way of a many-to-one relationship 1214 .
  • the account packages entities 1222 serves to relate the packages entities 1220 with the account roles entities 1224 , in a manner similar to the manner in which packages are related to roles in FIG. 10.
  • the variable set associated with the account packages entities 1222 is set forth below in Table 11.
  • TABLE 11 VARIABLE SET OF ACCOUNT PACKAGES ENTITIES 1222 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL ACCT_ROLE_ID* Account role Number R identification number PKG_ID* Package identification Number R number INSTALL_ORDER Installation order Number R EFF_BEG_DT* Effective beginning Date R date EFF_END_DT Effective ending date Date O
  • the account packages entities 1222 relate to the packages entities 1220 as previously described, and the account roles entities 1224 in many-to-one relationships.
  • the account roles entities 1224 represent the various software roles associated with particular customer accounts.
  • the variable set associated with the account roles entities 1224 is set forth below in Table 12. These variables relate to the account roles, or software packages for each account.
  • the STATUS variable may indicate the status of an account role as active, inactive, deprecated, experimental, and so forth.
  • the account roles entities 1224 relates in one-to-many relationships with the account role units entities 1214 and the account packages entities 1222 .
  • the account roles entities 1224 may optionally relate to the platforms entities 1210 in a many-to-one relationship.
  • the account roles entities 1224 may also optionally relate to the device roles entities 1226 in a one-to-many relationship.
  • the account roles entities 1224 may also relate, by way of a many-to-one relationship 1242 , to an entity within the network entities 1112 illustrated in FIG. 17.
  • the account roles entities 1224 relates to the account entities 1702 illustrated in FIG. 17 by way of a many-to-one relationship 1242 .
  • the device roles entities 1226 represent the various software roles associated with each device connected to the network.
  • the variable set associated with the device roles entities 1226 is set forth below in Table 13. TABLE 13 VARIABLE SET OF DEVICE ROLES ENTITIES 1226 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC_ID Device identification Number O number DVC_ROLE_ID* Device role Number R identification number CUST_TIER_ID Customer tier Number O identification number DEVICE_POOL_ID Device pool Number R identification number ACCT_ROLE_ID Account role Number O identification number APP_ROLE_ID Application role Number O identification number DVC_ROLE_NAME Device role name Character R STATUS Device role status Character R EFF_BEG_DT Effective beginning Date R date CREATED_BY Created by Character R CREATE_DT Date created Date R
  • the device roles entities 1226 relate to the device pool roles entities 1218 , and optionally to the account roles entities 1224 in many-to-one relationships.
  • the device roles entities also has optional many-to-one relationships with the application roles entities 1236 , the customer tiers entities 1708 of FIG. 17 by way of relationship 1246 , and the devices entities 1512 of FIG. 15 by way of relationship 1248 .
  • the device roles entities 1226 also relates in dual one-to-many and a single many-to-one relationship with elements of the configuration entities 1104 illustrated in FIG. 13.
  • the device roles entities 1226 relate to the device role configuration entities 1320 of FIG. 13 and the device role IP host entities 1308 of FIG. 13 in one-to-many relationships 1256 , 1260 , respectively.
  • the device roles entities 1226 also relates to the status entities 1322 of FIG. 13 by a many-to-one relationship 1258 .
  • the dependent roles entities 1228 relate to the application roles represented by the application roles entities 1236 .
  • the dependent roles entities 1228 serve to identify various application roles that are dependent upon other roles, and to describe this dependency.
  • the variable set associated with the dependent roles entities 1228 is set forth below in Table 14. TABLE 14 VARIABLE SET OF DEPENDENT ROLES ENTITIES 1228 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL APP_ROLE_ID Application role Number R identification number DEPENDENT_UPON_ROLE_ID Dependent upon Number R role number DEPENDENCY_DESC Description of Character R dependency
  • the dependent roles entities relate in dual many-to-one relationships with the application roles entities 1236 .
  • the included packages entities 1230 is related to the packages entities 1220 and identifies packages that are included within a particular installation package, and the order in which it is to be installed.
  • the variable set associated with the included packages entities 1230 is set forth below in Table 15. TABLE 15 VARIABLE SET OF INCLUDED PACKAGES ENTITIES 1230 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL PKG_ID* Package Number R identification number INCLUDED_PKG_ID* Included package Number R identification number INSTALL_ORDER Installation order Number R EFF_BEG_DT Effective Date R beginning date EFF_END DT Effective ending Date O date
  • the included packages 1230 are related to the packages entities 1220 in dual many-to-one relationships, as described above.
  • the application packages entities 1232 relates the packages represented by the packages entities 1220 and the application roles represented by the application roles entities 1236 .
  • the relationship of the roles in packages is similar to the manner in which the roles in packages are related in FIG. 10.
  • the variable set associated with the application packages entities 1232 is set forth below in Table 16.
  • TABLE 16 VARIABLE SET OF APPLICATION PACKAGES ENTITIES 1232 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL APP_ROLE_ID* Application role Number R identification number PKG_ID* Package identification Number R number INSTALL_ORDER Installation order Number R EFF_BEG_DT Effective beginning Date R date EFF_END DT Effective ending date Date O
  • the application packages entities 1232 relate to the packages entities 1220 as previously described, and the application roles entities 1236 in many-to-one relationships.
  • the device pool packages entities 1234 serve to relate the device pool roles represented by the device pool roles entities 1218 with the packages represented by the packages entities 1220 . This occurs in a similar manner as described in connection with FIG. 10.
  • the variable set associated with the device pool packages entities 1234 is set forth below in Table 17. TABLE 17 VARIABLE SET OF DEVICE POOL PACKAGES ENTITIES 1234 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DEVICE_POOL_ID* Device pool Number R identification number PKG_ID* Package Number R identification number INSTALL_ORDER Installation order Number R EFF_BEG_DT Effective beginning Date R date EFF_END DT Effective ending Date O date
  • the device pool packages entities 1234 relate to the packages entities 1220 on the device pool roles entities 1218 in many-to-one relationships, as described above.
  • the application roles entities 1236 represent the various application software roles.
  • the variable set associated with the application roles entities 1236 is set forth below in Table 18. These variables relate to the application role.
  • the STATUS variable may give an indicator that an application role is active, inactive, experimental, deprecated, supported, unsupported, and so forth.
  • the application roles entities 1236 relates in a one-to-many relationship with the application role units entities 1208 , the application packages entities 1232 , and optionally the device roles entities 1226 . Additionally, the application roles entities 1236 , as indicated above, relates to the dependent roles entities 1228 in dual one-to-many relationships. The application roles entities 1236 also optionally relates in a many-to-one relationship with the platforms entities 1210 . In addition to these relationships previously described, the application roles entities 1236 relates in a one-to-many relationship 1244 with the data center tiers 1724 of FIG. 7. The application roles entities 1236 also relates in a one-to-many relationship 1254 with the role configurations entities 1316 of FIG. 13. The application roles entities 1236 also relates to the status entities 1322 of FIG. 13, and optionally to the services entities 1314 of FIG. 13 by way of many-to-one relationships 1252 , 1250 , respectively.
  • the relationships 1238 , 1240 , 1242 , 1244 , 1246 relate to various entities within the network entities 1112 , which is illustrated in FIG. 17. These relationships have been labeled in FIG. 17 to indicate the direct relationship between entities of the software entities 1102 in FIG. 12 and the network entities 1112 in FIG. 17. Additionally, an optional relationship 1248 with the hardware entities 1108 , which is illustrated in FIG. 15, is also indicated. Further, the relationships 1250 , 1252 , 1254 , 1256 , 1258 relate to entities within the configuration entities 1104 , which is illustrated in FIG. 13.
  • the entities of the configuration entities 1104 are illustrated in FIG. 13. These configuration entities 1104 represent various configuration information relating to software, hardware, the network, and the like. Those entities which are not illustrated as having a direct relationship with any of the other entities are used by business logic, or intelligent agents, for various purposes. Like the software entities from FIG. 12, each of the entities within this diagram interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the software portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new configurations, without requiring the rewriting of software code which uses the model and the database implementation thereof.
  • the manufacturing model entities 1302 is used to identify a manufacturing model identification number, manufacturing name, model name, and manufacturing model description. For example, if a Sun Spore 5 server is used by the present invention, the manufacturer name would be Sun, and the model name would be Spore 5. The description could be any indication that it is a server.
  • the variable set associated with the manufacturing model entities 1302 is set forth below in Table 19. TABLE 19 VARIABLE SET OF MANUFACTURING MODEL ENTITIES 1302 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL MFG_MODEL_ID* Manufacturing Number R model identification number MFG Manufacturing Character R name MODEL Model name Character R MFG_MODEL_DESC Manufacturing Character O model description
  • the manufacturing model entities 1302 does not directly relate to any of the other entities illustrated in FIG. 13. This group of entities 1302 is used by business logic associated with the present invention to determine manufacturer name, model name, and manufacturer description for each of the devices used on the network associated with the present invention.
  • the component objects entities 1304 provide an indication of what table a particular value is stored in. For example, a location of the table in which values relating to the specific hardware or software object may be obtained by way of the component object entities 1304 .
  • the variable set associated with the component objects entities 1304 is set forth below in Table 20. TABLE 20 VARIABLE SET OF COMPONENT OBJECTS ENTITIES 1304 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL TABLE_NAME* Table name Character R ID_NAME Identification Character R name SEQUENCE_NAME Sequence name Character O FATHER_ID_NAME Father Character O identification name AUTOGENERATE_ID Autogenerate Character R identification
  • the component objects entities 1304 does not directly relate to any of the entities illustrated in FIG. 13. This group of entities 1304 is used by business logic associated with the present invention to determine which tables should be used to look up values relating to specific objects on the network associated with the present invention.
  • the objects whose values may be found by way of the component objects entities 1304 may be hardware objects or software objects.
  • the conduits entities 1306 relate to the devices of the network associated with the present invention. These conduits entities 1306 relate to conduits by which information may be passed through a firewall. In essence, the conduits through a firewall constitute holes through a firewall by which devices may communicate from outside of the firewall to devices contained within the firewall. Thus, the conduits entities 1306 define the source and destination addresses that involved in communications across the firewall. The present invention also maintains a history, which records all of the traffic across the firewall.
  • the variable set associated with the conduits entities 1306 is set forth below in Table 21.
  • the conduits entities 1306 relate to the devices entities 1512 of FIG. 15 in a many-to-one relationship 1332 .
  • the device role IP host entities 1308 act a place holder for the various devices of the network, and allow IP addresses to be assigned without having a specific device connected to the network.
  • the IP addresses of the devices used on the network associated with the present invention may be of a physical type or a logical type. This means that the IP address may physically relate to the specific device connected to the network, or may be a logical IP address, which does not correspond to the actual physical IP address, but relates the same device.
  • the variable set associated with the device role IP host entities 1308 is set forth below in Table 22.
  • the device role IP host entities 1308 relates to the interface IP type entities 1310 in a many-to-one relationship. Also, as previously discussed, the device role IP host entities 1308 relates to the device roles entities 1226 of FIG. 12 in a many-to-one relationship 1260 . The device role IP host also relates in a many-to-one relationship 1340 to the IP addresses entities 1730 of FIG. 17. The device role IP host entities 1308 may optionally relate to the DNS hosts entities 1604 of FIG. 16 in a many-to-one relationship 1336 .
  • the interface IP type entities 1310 indicate the type of interface associated with each IP address.
  • the variable set associated with the interface IP type entities 1310 is set forth below in Table 23. TABLE 23 VARIABLE SET OF INTERFACE IP TYPE ENTITIES 1310 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL INTERFACE_IP_TYPE* Interface IP type Character R INTERFACE_IP_TYPE-DESC Interface IP type Character R description
  • the interface IP type entities 1310 is related to the device role IP host entities 1308 in a one-to-many relationship.
  • the virtual IPs entities 1312 relate to virtual IP addresses, which allow for virtual IP addressing, and allow for multiple machines to have the same IP address, or group of addresses mapped to them by way of a load balancer.
  • a variable called STICKY may be set to require that each time a specific device accesses an IP address it is mapped to the same server by the load balancer. This “sticky” routing allows cookies to be used that were placed on the device by that server.
  • the variable set associated with the virtual IPs entities 1312 is set forth below in Table 24.
  • the virtual IPs entities 1312 relates to the VIP groups entities 1424 of FIG. 14 in a one-to-many relationship 1328 , the devices entities 1512 of FIG. 15 in a many-to-one relationship 1330 , and to the IP addresses entities 1730 of FIG. 17 in a many-to-one relationship 1338 .
  • the services entities 1314 relate application roles to services for the convenience of users and network customers. This allows a customer to view and configure application roles in terms of services offered, which is a useful quality to customers.
  • the variable set associated with the services entities 1314 is set forth below in Table 25. TABLE 25 VARIABLE SET OF SERVICES ENTITIES 1314 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL SRVC_ID* Service identification Number R number SRVC_NAME Service name Character R SRVC_DESC Service description Character O
  • the services entities 1314 may optionally relate to the application roles entities 1236 of FIG. 12 in a one-to-many relationship 1250 , as discussed above.
  • the role configurations entities 1316 relate to the actual configurations of software roles. These role configuration associated with the configurations entities 1316 may include such information as the types of components to be used, such as specific memory types, CPU types, video card types. Also, the quantity of components to be used may be indicated, along with the component size and type. For example, if an Intel processor is used as a CPU, the quantity may be designated as two or three, and so on depending upon the number of the processor occupied by a particular customer. The component size associated with such a CPU would be expressed in megahertz, indicating the processing scheme. The configuration type would be expressed in a brand name, or perhaps a minimum specification requirement.
  • the variable set associated with the role configurations entities 1316 is set forth below in Table 26.
  • the role configuration entities 1316 relate to the component type entities 1324 in a many-to-one relationship, and, as previously discussed, the application roles entities 1236 of FIG. 12 in a many-to-one relationship 1254 .
  • the device roles history entities 1318 is a history of all roles executed by a particular device. That is, the history of all software that has ever been employed by a specific device is indicated in the device roles history entities 1318 . Thus, many of the entries within the device roles history entries 1318 are similar to those of the device roles entities 1226 .
  • the variable set associated with the device roles history entities 1318 is set forth below in Table 27.
  • the device roles history entities 1318 cannot relate directly to any other entities illustrated on FIG. 13.
  • the information contained within these entities 1318 is used by business logic associated with the present invention.
  • the type of operation that may be performed by business logic using the device roles history entities 1318 may include, for example, a software rollback when software contained on a particular device has failed.
  • the device role configuration entities 1320 relate to the configuration of various software roles. These device role configuration entities 1320 are a way in which generic name-value pairs may be defined, which are associated with device roles of the present invention. One instance in which this might be used is if a particular device has four processors, but a particular customer is only paid to use two processors of that server, a name-value pair may be used to indicate these specific device role configurations. Thus, a generic keyname may be generated associated with the two processors that have been paid for by a customer. The values associated with the name-value pair for which the name is expressed in the device role configuration entities 1320 is expressed within the device role configuration values entities 1326 .
  • the variable set associated with the device role configuration entities 1320 is set forth below in Table 28.
  • the device role configuration entities 1320 is related to a device role configuration values entities 1326 in a one-to-many relationship, and to the device roles entities 1226 of FIG. 12 in a many-to-one relationship 1256 .
  • the status entities 1322 provide status reports regarding various software and hardware configurations.
  • the variable set of the status entities 1322 is set forth below in Table 29. TABLE 29 VARIABLE SET OF STATUS ENTITIES 1322 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL STATUS* Status Character R STATUS_DESC Status description Character R
  • the status entities 1322 relate to the application roles entities 1236 , and the device roles entities 1226 , both of FIG. 12, in one-to-many relationships 1252 , 1258 , respectively. Also, the status entities 1322 relate to the devices entities 1512 of FIG. 15 in a one-to-many relationship 1324 .
  • the component type entities 1324 is related to the various types of components associated with the devices of the network.
  • the variable set associated with the component type entities 1324 is set forth below in Table 30. TABLE 30 VARIABLE SET OF COMPONENT TYPE ENTITIES 1324 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL COMPNT_TYPE* Component Character R type COMPNT_TYPE_DESC Component Character R type description
  • the component type entities 1324 relate to the role configurations entities 1316 in a one-to-many relationship.
  • the device role configuration values entities 1326 relate to values associated with the role configurations, which are represented by the device role configuration entities 1320 .
  • the device role configuration values 1326 are the value portion of the main-value pair associated with the device roles, for which the names are expressed within the device role configuration entities 1320 , as previously described.
  • the variable set associated with the device role configuration values entities 1326 is set forth below in Table 31.
  • the device role configuration values entities 1326 relate to the device role configuration entities 1320 in a many-to-one relationship.
  • the entities of the monitoring entities 1106 are illustrated in FIG. 14 and an entity relationship diagram form. These entities relate to components that maintain the network and various hardware and software components of the networks, as well as configuration information. As with the aforementioned entities, the monitoring entities are described in terms of specific interrelations and are characterized by variable sets which provide enough specificity to accurately characterize the software portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new monitoring functions, without requiring the rewriting of software code which relies upon the model and the database implementation thereof.
  • the autonomous system map entities are used to create an autonomous system map of the entire system associated with the present invention.
  • the variable set associated with the autonomous system map entities 1402 is set forth below in Table 32.
  • TABLE 32 VARIABLE SET OF AUTONOMOUS SYSTEM MAP ENTITIES 1402 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL AS_MAP_ID* Autonomous system Number
  • R map identification number AS_NUM Autonomous system Number O number
  • O description AS_NAME Autonomous system Character O name CREATE_DT Date created Date R CREATED_BY Created by Character
  • the autonomous system map entities 1402 of the monitoring entities 1106 illustrated in FIG. 14 are not directly related to any other entities of FIG. 14. However, the information contained within the autonomous system map entities 1402 is used by business logic and intelligent agents network in ascertaining system map information regarding the network of the present invention.
  • the device request classes entities 1404 are used to relate device classes, and requests associated with those devices.
  • the device classes associated with the device request classes entities may include a particular group of devices, such as load balancers, routers, or servers.
  • the variable set associated with the device request classes entities 1404 is set forth below in Table 33. TABLE 33 VARIABLE SET OF DEVICE REQUEST CLASSES ENTITIES 1404 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC_ID* Device Number R identification number REQUEST_CLASS_ID* Request class Number R identification number POLL_FREQUENCY Poll frequency of Number R class
  • the device request classes entities 1404 are related in a many-to-one relationship with the request class entities 1406 .
  • the device request classes entities portion of four are related in a many-to-one relationship 1428 with the devices entities 1512 of FIG. 15.
  • the request class entities 1406 may be optionally related to request class variables entities 1408 .
  • the request class entities 1406 define suitable names for device classes used in connection with the present invention.
  • the variable set associated with the request class entities 1406 is set forth below in Table 34. TABLE 34 VARIABLE SET OF REQUEST CLASS ENTITIES 1406 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL REQUEST_CLASS_ID* Request class Number R identification number REQUEST_CLASS_NAME Request class Character R name
  • the request class entities 1406 may be optionally related to the request class variables entities 1408 in a one-to-many relationship.
  • the request class variables entities 1408 act as a relationship table between the request class entities 1406 and the SNMP variable entities 1420 .
  • the request class variables entities identify all variables collected for specific request class, and identify a foreign key to the request class table which relates the request classes to SNMP variables within the SNMP variable entities 1420 .
  • the variable set associated with the request class variables entities 1408 is set forth below in Table 35.
  • the request class variables entities 1408 may be optionally related in many-to-one relationships with the request class entities 1406 , as discussed above, and to the SNMP variables entities 1420 .
  • the manager applications entities 1410 is a list of internal applications that defines all applications allowed to communicate with devices and access these devices, such as software applications.
  • the variable set associated with the manager applications entities 1410 is set forth below in Table 36.
  • TABLE 36 VARIABLE SET OF MANAGER APPLICATIONS ENTITLES 1410 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL MGR_APP_ID* Manager application Number R identification number APP_NAME Application name Character R CREATE_DT Dated created Date R MODIFIED_DT Date modified Date O MODIFIED_BY Modified by Character O
  • the manager applications entities 1410 are related to the monitor ACLs entities 1412 and the device application configuration entities 1414 .
  • the monitor ACLs entities 1412 allows for monitoring of access control list (ACLs) associated with devices of the present invention.
  • the variable set associated with the monitor ACLs entities 1412 is set forth below in Table 37.
  • Table 37 VARIABLE SET OF MONITOR ACLS ENTITIES 1412 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL MON_ACL_ID* Monitor ACL Number R identification number MGR_APP_ID Monitor application Number R identification number SET_NAME Set name Character O SET_NUM Set number Number O CREATE_DT Date created Date O MODIFIED_DT Date modified Date O MODIFIED_BY Modified by Character O
  • the monitor ACLs entities 1412 are related to the manager applications entities 1410 in a many-to-one relationship, as discussed above.
  • the monitor ACLs entities 1412 are also related to the device ACLs entities 1418 and the ACL entries entities 1422 in one-to-many relationships.
  • the device application configuration entities 1414 relate devices with manager applications, and provide a mechanism whereby the configuration of device applications may be monitored.
  • the device application configuration entities 1414 are a name-value pair for device applications configured on the network. A date or text value may be entered and associated with the devices, depending upon the specific device type.
  • the variable set associated with the device application configuration entities 1414 is shown below in Table 38.
  • the device application configuration entities is related in many-to-one relationships with the manager applications entities 1410 , as previously discussed, and with the devices entities 1512 of FIG. 15 by way of relationship 1430 .
  • the device authorization entities 1416 are used for authorizing use of devices by way of user names, passwords, and the like.
  • the device authorization entities 1416 describe specific device authorizations required by the simple network management protocol (SNMP), used in connection with one embodiment of the present invention.
  • SNMP simple network management protocol
  • the device authorization entities 1416 allow for current and future, or next values, of user names and passwords to be read, written, and trapped (having an alert sent regarding an erroneous user name or password).
  • the variable set associated with the device authorization entities 1416 is set forth below in Table 39.
  • the device authorization entities 1416 relate to the device ACLs entities 1418 in a one-to-many relationship and to the devices entities 1512 of FIG. 15 in a many-to-one relationship 1426 .
  • the device ACLs entities 1418 are used, to provide the device authorizations entities 1416 with the correct access control lists (ACLs).
  • the variable set associated with the device ACLs entities 1418 is set forth below in Table 40. TABLE 40 VARIABLE SET OF DEVICE ACLS ENTITIES 1418 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL MON_ACL_ID* Monitor ACL Number R identification number DVC_AUTH_ID* Device Authorization Number R identification number MODIFIED_DT Date modified Date O MODIFIED_BY Modified by Character O
  • the device ACLs entities 1418 are related to the monitor ACLs entities 1412 and the device authorizations entities 1416 in many-to-one relationships, as previously discussed.
  • the SNMP variables entities 1420 provide information regarding variables associated with the simple network management protocol (SNMP) associated with the devices connected to the network of the present invention. Generally, standard SNMP variables are assigned to specific devices or objects and a unique object identification must be determined for internal purposes.
  • the variable set associated with the SNMP variables entities 1420 is set forth below in Table 41. TABLE 41 VARIABLE SET OF SNMP VARIABLES ENTITIES 1420 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL SNMP - VAR - ID* SNMP Variable Number R Identification Number DOTTED - OID Character R VAR - NAME Variable name Character R Identification Number
  • the SNMP variables entities 1420 may optionally be related to the request class variables entities 1408 in a one-to-many relationship.
  • the ACL entries entities 1422 relate to the entries on the access control lists associated with the various devices connected to the network of the present invention.
  • the variable set associated with the ACL entries entities 1422 is set forth below in Table 42.
  • TABLE 42 VARIABLE SET OF ACL ENTRIES ENTITIES 1422 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL MON - ACL - ID* Monitor ACL Number R identification number PERMISSION* Permission Character R IP - ADDRESS* IP Address Character R NET MASK Net Mask Name Character O TCPIP - PORT TCP/IP Character O
  • ACL entries entities 1422 is related in a many-to-one relationship with the monitor ACLs entities 1412 .
  • the Virtual IP (VIP) groups entities 1424 relate to devices grouped into VIP groups.
  • the VIP groups entities 1424 are used by load balancers within the system to route single IP addresses to multiple servers by way of VIP mapping.
  • An interface identification number is provided, and an interface port may be specified.
  • the variable set associated with the VIP groups entities 1424 is shown below in Table 43.
  • the VIP groups entities 1424 are related to the virtual IPs entities 1312 of FIG. 13 in a many-to-one relationship 1428 , and to the interface IPs entities 1524 of FIG. 15.
  • FIG. 14 Various relationships 1426 , 1428 , 1430 , 1432 in FIG. 14 are indicated as relating entities within the monitoring entities 1106 , with entities illustrated on FIG. 15, associated with the hardware entities 1108 . Additionally, as discussed in connection with FIG. 13, the relationship 1328 from FIG. 13 relates to the VIP groups elements 1424 , as shown in FIG. 14.
  • the entities illustrated in FIG. 15 are part of the hardware entities 1108 , and are illustrated in entity relationship diagram form. Each of these entities is described below. Each of the entities within this diagram interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the hardware portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new hardware devices, without requiring the rewriting of software code which relies upon the model and the database implementation thereof and permitting the reuse of existing software code to interact with the database model regarding the newly added hardware device.
  • the memory components entities 1502 describe various memory components of the devices related to the device entities 1512 .
  • the variable set associated with the memory components entities 1502 is set forth below in Table 44.
  • TABLE 44 VARIABLE SET OF MEMORY COMPONENTS ENTITIES 1502 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC - ID Device Identification Number R Number MEM - COMPT - ID* Memory Component Number R Identification Number QUANTITY Quantity of memory Character R components MEM - TYPE Memory type Character R MEM - LOCATION Memory location Character O EFF - BEG - DT Effective beginning Date R date EFF - END - DT Effective ending date Date O
  • the memory components entities 1502 relates to the devices entities 1512 in a many-to-one relationship.
  • the storage components entities 1504 relate to the storage components of devices associated with the devices entities 1512 .
  • the variable set associated with the storage components entities 1504 is set forth below in Table 45. TABLE 45 VARIABLE SET OF STORAGE COMPONENTS ENTITLES 1504 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC - ID Device Number R STOR - COMPNT - ID* Storage Component Number R identification number STOR - MEDIA Storage media Character R STOR - TYPE Storage type Character R STOR - MFG Storage Character O Manufacturer STOR - MODEL Storage model Character O STOR - CAP Storage capacity Character O STOR - DRIVE Storage drive Character R EFF - BEG - DT Effective beginning Date R date EFF - END - DT Effective ending Date O date
  • the storage components entities 1504 relate to the devices entities 1512 in a many-to-one relationship.
  • the bus components entities 1506 are related to the bus components of the devices represented by the devices entities 1512 .
  • the variable set associated with the bus components entities 1506 is set forth below in Table 46.
  • TABLE 46 VARIABLE SET OF BUS COMPONENTS ENTITIES 1506 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC - ID Device Number R identification number BUS - COMPNT - ID* Bus component Number R identification number BUS - TYPE Bus type Character R BUS - DVC - ID Bus device Character O identification BUS - DVC - VENDOR Bus device vendor Character O BUS - DVC - CLASS Bus device class Character O BUS - DVC - VERSION Bus device version Character O BUS - ID Bus identification Character R EFF - BEG - DT Effective beginning Date R date EFF - END - DT Effective ending Date O date
  • the bus components entities 1506 relate to the devices entities 1512 in a many-to-one relationship.
  • the interface components entities 1508 relate to interface components contained within interface cards of the devices represented by the devices entities 1512 .
  • the variable set associated with the interface components entities 1508 is set forth below in Table 47.
  • TABLE 47 VARIABLE SET OF COMPONENTS ENTITIES 1508 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL IF - CARD - ID Interface card Number R identification number IF - COMPNT - ID* Interface component Number R identification number IF - TYPE Interface type Character R HW - ADDR Hardware address Character O IF - SPEED Interface speed Character O EFF - BEG - DT Effective beginning Date R date EFF - END - DT Effective ending date Date O IF - ALIAS Interface alias Character O IF - DESC Interface descriptor Character O IF - INDEX Interface index Number O
  • the interface components entities 1508 relate to the interface cards entities 1510 and the interface type entities 1514 in many-to-one relationships. Also, the interface components interface 1508 relate to the subinterfaces entities 1520 in a one-to-many relationship.
  • the interface cards entities 1510 relate to the interface cards contained within the devices represented by the devices entities 1512 .
  • the variable set associated with the interface cards entities 1510 is set forth below in Table 48.
  • TABLE 48 VARIABLE SET OF INTERFACE CARDS ENTITIES 1510 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC - ID Device identification Number R number IF - CARD - ID* Interface card Number R identification number CARD - IND Card index number Number O CARD - SER - NUM Card serial number Number O SLOT Slot Character O CPU - SPEED CPU processing speed Character O MEM - QUANT Memory quantity Character O EFF - BEG - DT Effective beginning Date R date DRAM - MB Amount of DRAM Number O in MB CONTAINED - BY Contained by Number O
  • the interface cards entities 1510 relate to the devices entities 1512 in a many-to-one relationship.
  • the devices entities 1512 relate to the various devices connected to the network associated with the present invention. Multiple variables are for defining devices and communication with the network associated with the present invention. For example, information such as device and manufacturer identifications, serial numbers, device types, status, and other similar descriptions are provided for, along with other convenient variables, such as a flag which indicates whether a device should be monitored or not.
  • the MONITOR_FLG variable may be used in the future to determine the level of monitoring that should be performed for each device identified within the device's entities 1512 .
  • the variable set associated with the devices entities 1512 is set forth below in Table 49.
  • the device's entities 1512 relates to the memory components entities 1502 , the storage components entities 1504 , the bus components entities 1506 , the interface cards entities 1510 , the device console entities 1516 , and the CPU components entities 15 8 in one-to-many relationships.
  • the devices entities 1512 also relate to the device authorizations entities 1416 in a one-to-many relationship 1426 , the device request classes entities 1404 in a one-to-many relationship 1428 , and the device application configuration entities 1414 in a one-to-many relationship 1430 , all of which entities are illustrated in FIG. 14.
  • the devices entities 1512 relate to the virtual IPS entities 1312 in a one-to-many relationship 1330 , the conduits entities 1306 in a one-to-many relationship 1332 , the status entities 1322 in a many-to-one relationship 1324 , all of which are illustrated in FIG. 13. Also, the devices entities may optionally be related in a one-to-many relationship 1248 to the device roles 1226 of FIG. 12.
  • the interface type entities 1514 relate to the type of interface achieved through the interface components represented by the interface components entities 1508 .
  • the variable set associated with the interface type entities 1514 is set forth below in Table 50. TABLE 50 VARIABLE SET OF INTERFACE TYPE ENTITLES 1514 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL INT - TYPE* Interface type Character R INT - TYPE - DESC Interface type description Character R
  • the interface type entities 1514 relate to the interface components entities 1508 in a one-to-many relationship.
  • the device console entities 1516 relate to consoles that may be attached to devices represented by the device entities 1512 .
  • the consoles may be for the convenience of a user in accessing information contained within the devices, or by accessing the network by way of the devices.
  • the variable set associated with the device console entities 1516 is set forth below in Table 51.
  • TABLE 51 VARIABLE SET OF DEVICE CONSOLE ENTITIES 1516 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DVC_ID Device Number R identification number CONSOLE_IP* Console IP address Character
  • CONSOLE_HOST Console host name Character
  • the device console entities 1516 relate to the device entities 1512 in a many-to-one relationship, as previously mentioned.
  • the CPU components entities 1518 relate to the various components of the CPUs of the devices which are represented by the device entities 1512 .
  • the CPU components entities 1518 have a series of variables associated therewith indicate information regarding the type of CPU, the speed, the family, the model, the slot, and other such information, which may be necessary in provisioning servers, to ensure that software is installed can be adequately handled by the CPU on a particular device.
  • the variable set associated with the CPU components entities 1518 is set forth below in Table 52.
  • the CPU components entities 1518 relate to the devices entities 1512 in a many-to-one relationship, as previously mentioned.
  • the SUB interfaces 1520 relate the interface components of the interface components entities 1508 with the interface IP addresses of the interface IPs entities 1524 . These SUB interfaces entities 1520 may be used with asynchronous transfer mode (ATM) frame relay systems, for example.
  • ATM asynchronous transfer mode
  • the variable set associated with the SUB interfaces entities 1520 is set forth below in Table 53.
  • the SUB interfaces entities 1320 is related to the interface components entities 1508 in a many-to-one relationship, and to the interface IPs 1524 in a one-to-many relationship.
  • the SUB interfaces entities 1520 may also be optionally related to the circuits entities 1522 in a many-to-one relationship.
  • the circuits entities 1522 may be use to optionally relate to the SUB interfaces entities 1520 . These entities 1522 allow for specific identification of the circuits associated with the SUB interfaces and the interface components, and the type and description of the circuits.
  • the variable set associated with the circuits entities 1522 is set forth below in Table 54. TABLE 54 VARIABLE SET OF CIRCUITS ENTITIES 1522 VARIABLE REQUIRED/ VARIABLE VARIABLE DEFINITION TYPE OPTIONAL CIR_ID* Circuit identification number Number R CIR_TYPE Circuit type Character R CIR_DESC Circuit description Character O
  • the circuits entities 1522 may optionally relate to the SUB interfaces entities 1520 in a one-to-many relationship.
  • the interface IPs entities 1524 may be used to relate the SUB interfaces represented by the SUB interfaces entities 1520 with VIP groups of the VIP groups entities 1424 shown in FIG. 14.
  • the variable set associated with the interface IPs entities 1524 is set forth below in Table 55.
  • TABLE 55 VARIABLE SET OF INTERFACE IPS ENTITIES 1524 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL IF_IP_ID* Interface IP Number R identification number IP_ADDRESS IP address Character R SUB_IF_ID SUB interface Number R identification number NETMASK Net Mask Character O EFF_BEG_DT Effective Date R beginning date PRIMARY_IF Primary interface Character O
  • the interface IPs entities 1524 relates to the SUB interfaces entities 1520 in a many-to-one relationship and to the VIP groups entities 1424 of FIG. 14 in a one-to-many relationship 1432 .
  • the entities illustrated in FIG. 16 are part of the DNS entities 1110 .
  • the DNS entities 1110 relate to the assignment of DNS domain names. These entities are related in an entity relationship diagram fashion.
  • the DNS configuration entities 1602 allow for the translation of DNS names to DNS values, and may be used by the business logic associated with the network of the present invention. These DNS names and values may be translated into addresses related to various network hosts.
  • the variable set associated with the DNS configuration entities 1602 is set forth below in Table 56. TABLE 56 VARIABLE SET OF DNS CONFIGURATION ENTITIES 1602 VARIABLE REQUIRED/ VARIABLE VARIABLE DEFINITION TYPE OPTIONAL NAME Name Character R VALUE Value Character R
  • the DNS configuration entities 1602 are illustrated in FIG. 16 as having no direct relationship with any of the other entities illustrated therein.
  • the values contained within the DNS configuration entities 1602 are used by business logic associated with the present invention, which is able to query the DNS configuration entity 1602 to relate between the entries of the name-value pairer associated with these entities 1602 .
  • the DNS host entities 1604 relate to DNS hosts associated with the present invention.
  • the DNS host entities 1604 provide for a unique manner in which multiple DNS hosts may be identified. Using multiple DNS hosts provided customer with a more efficient DNS service. For example, if a primary DNS host is not able to handle a request within a predefined time, the expire time set on a second DNS may lapse, causing the secondary DNS to handle the pending request. This is also known as a time to live (TTL).
  • TTL time to live
  • the variable set associated with the DNS hosts entities 1604 are indicated below in Table 57.
  • the DNS hosts entities 1604 are related to the DNS domains entities 1616 , and the DNS host types entities 1606 in many-to-one relationships.
  • the DNS host types entities 1606 in many-to-one relationships, the DNS hosts entities 1604 may optionally be related to the device role IP host entities 1308 illustrated in FIG. 3 in a one-to-many relationship 1336 .
  • the DNS host types entities 1606 indicate the types of DNS hosts associated with the DNS hosts entities 1604 .
  • the variable set associated with the DNS hosts types entities 1606 is set forth below in Table 58. TABLE 58 VARIABLE SET OF DNS HOST TYPES ENTITIES 1606 VARI- VARIABLE ABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DNS_HOST_TYPE* DNS Host type Character R DNS_HOST_TYPE_DESC DNS Host type Character O description
  • the DNS host types entities 1606 are related to the DNS hosts entities 1604 in a one-to-many relationship.
  • the DNS ACLs entities 1608 relate to the access control lists associated with various DNS.
  • the variable set associated with the DNS ACLs entities 1608 is set forth below in Table 59. TABLE 59 VARIABLE SET OF DNS ACLS ENTITIES 1608 VARIABLE REQUIRED/ VARIABLE VARIABLE DEFINITION TYPE OPTIONAL ACL_ID* ACL identification number Number R ACL_DESC ACL Description Character O ACL_NAME ACL Name Character R
  • the DNS ACLs entities 1608 are related to the DNS ACL entries entities 1610 , the DNS allow transfers entities 1612 , and the DNS allow queries entities 1618 in one-to-many relationships.
  • the DNS ACL entries entities 1610 relate to the ACL entries for the DNS.
  • the variable set associated with the DNS ACL entries entities 1610 is set forth below in Table 60. TABLE 60 VARIABLE SET OF DNS ACL ENTRIES ENTITIES 1610 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL ACL_ENTRY_ID ACL entry Number R identification number NET Net Character R MASK Mask Character O ACL_ID ACL identification Number R number
  • the DNS ACL entries entities are related to the DNS ACLs entities 1608 in a many-to-one relationship, as previously mentioned.
  • the DNS allow transfers entities 1612 is used to determine whether or not DNS transfers may take place between given DNs domains according to the ACLs of the DNS ACLs entities 1608 .
  • the variable set associated with the DNS allow transfers entities 1612 is set forth below in Table 61. TABLE 61 VARIABLE SET OF DNS ALLOW TRANSFERS ENTITIES 1612 VARI- VARIABLE ABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DOMAIN_ID* Domain identification Number R number ACL_ID* ACL identification Number R number TRANSFER_DESC Transfer description Character O EFF_BEG_DT Effective beginning Date R date
  • the DNS allow transfers entities 1612 are related to the DNS ACLs entities 1608 and the DNS domains entities 1616 in many-to-one relationships.
  • the DNS domain types entities 1614 relate to the types of DNS domains associated with the DNS domain entities 1616 .
  • the variable set associated with the DNS domain types entities 1614 is set forth below in Table 62. TABLE 62 VARIABLE SET OF DNS DOMAIN TYPES ENTITIES 1614 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DNS_DOMAIN_TYPE* DNS Domain Character R type DOMAIN_TYPE_DESC Domain type Character O description
  • the DNS domain types entities 1614 relate to the DNS domain entities 1614 in a one-to-many relationship.
  • the DNS domain entities 1616 relate to the various DNS domains associated with devices connected to the network of the present invention.
  • the variables associated with the DNS domain entities 1616 relate to domains maintained by a host, in accordance with an embodiment of the present invention.
  • a DNS term “SOA” or start of authority is used to define several variables. For example, a serial variable is given, which indicates the revision number of the DNS file used to look up domain names.
  • a refresh rate is set, which may be adjusted according to the speed with which the DNS file is updated on a primary DNS, to control how often a secondary DNS updates its DNS file. Also, an expire time, which indicates the time that a secondary DNS will wait until taking over a domain name request may be set.
  • a minimum cash time for a particular entry, and a name server are provided for variables of the DNS domain entity 1616 .
  • an administrative contact e-mail address is provided for each domain.
  • a retry variable may also be provided whereby after a certain amount of time, or a certain amount of attempts, a DNS must assume the role of the primary DNS.
  • a rebuilt date is given, whereby the system, or agents of the system, know that if this date is changed, then the server needs to rebuild.
  • DNS entries are not created in the DNS server, but rather are contained within a separate database with specific forms that define acceptable DNS entries.
  • the variable set associated with the DNS domain entities 1616 is set forth below in Table 63.
  • a DNS domain entities 1616 are related in many-to-one relationships with the DNS domain types entities 1614 , as previously discussed, and the DNS domain masters entities 1620 . Additionally, the DNS domains entities 1616 relate to the DNS hosts entities 1604 , the DNS allow transfers entities 1612 , and the DNS queries entities 1618 in one-to-many relationships. Also, the DNS domains entities 1616 may optionally relate to the accounts entities 1702 of the network entities 1112 , illustrated in FIG. 17, in a many-to-one relationship 1624 .
  • the DNS allow queries entities 1618 assist in determining whether or not queries may be allowed between certain DNS domains, according to the DNs ACLs of the DNS ACLs entities 1608 .
  • the variable set associated with the DNS allow queries entities 1618 is set forth below in Table 64. TABLE 64 VARIABLE SET OF DNS ALLOW QUERIES ENTITIES 1618 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DOMAIN_ID* Domain identification Number R number ACL_ID* ACL identification Number R number QUERY_DESC Query description Character O EFF_BEG_DT Effective beginning Date R date
  • the DNS allow queries entities 1618 related to the DNS ACLs entities 1608 and the DNS domains entities 1616 in many-to-one relationships.
  • the DNS domain masters entities 1620 relates the DNS domain of the DNS domain entities 1616 with the DNS master IPs of the DNS master IPs entities 1622 .
  • the variable set associated with the DNS domain masters entities 1620 is set forth below in Table 65. TABLE 65 VARIABLE SET OF DNS DOMAIN MASTERS ENTITIES 1620 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DOMAIN_ID* Domain Number R identification number DNS_MASTER_IP_ID DNS Master Number R IP identification number EFF_BEG_DT Effective Date R beginning date
  • the DNS domain masters entities 1620 are related to the DNS domains entities 1616 in a one-to-many relationship, and to the DNS master IPs entities 1622 in a many-to-one relationship.
  • the DNS master IPs entities 1622 relate to the DNS master IP addresses of the devices on the network associated with the present invention.
  • the variable set associated with the DNS master IPs entities 1622 is set forth below in Table 66. TABLE 66 VARIABLE SET OF DNS MASTER IPS ENTITIES 1622 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DNS_MASTER_IP_ID* DNS master Number R IP identification number IP_ADDR IP address Character R MASTER_DESC Master Character O description
  • the DNS master IPs entities 1622 relate to the DNS domain masters entities 1620 in a one-to-many relationship.
  • the relationship 1336 is between the DNS host entities 1604 and an entity illustrated in FIG. 13, within the configuration entities 1104 . Additionally, the relationship 1624 relates the DNS domain entities 1616 with an entity in FIG. 17 of the network entities 1112 .
  • the entities illustrated in an entity relationship diagram in FIG. 17 form part of the network entities 1112 .
  • the Network entities 1112 define various aspects of the network with which the present invention may be used. Each of these entities is described below.
  • the accounts entities 1702 relate directly to customer network accounts.
  • the variable set associated with the accounts entities 1702 is set forth below in Table 67.
  • TABLE 67 VARIABLE SET OF ACCOUNTS ENTITIES 1702 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL ACCT_ID* Account identification Number R number ACCT_NAME Account name Character R DISPLAY_NAME Display name Character O STATUS Status Character R LOG_HOST Host name for Character O web logs AUTH_DOMAIN Authentication Character O Domain
  • the accounts entities 1702 relate to the account configuration entities 1704 and the customer tiers entities 1708 in one-to-many relationships. Additionally, as previously indicated, the accounts entities 1702 relate to the units entities 1202 , the packages entities 1240 , and the account roles entities 1224 of FIG. 12, in one-to-many relationships. Also, the accounts entities 1702 may optionally be related in a one-to-many relationship 1624 with the DNS hosts entities 1604 of FIG. 16.
  • the account configuration entities 1704 relate to the configuration of the accounts associated with the account entities 1702 .
  • the variable set associated with the account configuration entities 1704 is set forth below in Table 68. TABLE 68 VARIABLE SET OF ACCOUNT CONFIGURATION ENTITIES 1704 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL ACCT_ID Account Number R identification number KEY_NAME Key name Character R ACCT_CONFIG_ID* Account Number R configuration identification number
  • the account configuration entities 1704 relate to the accounts entities 1702 in a many-to-one relationship.
  • the account configuration values entities 1706 indicate various values associated with the configuration of various accounts related to the account configuration entities 1704 .
  • the variable set associated with the account configuration values entities 1706 is set forth below in Table 69. TABLE 69 VARIABLE SET OF ACCOUNT CONFIGURATION VALUES ENTITIES 1706 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL ACCT_CONFIG_ID* Account Number R configuration identification number CONFIG_VALUE Configuration Character R value TEXT_ORDER* Text Order Number R of configuration value chunk
  • the account configuration values entities 1706 relate to the account configuration entities 1704 in many-to-one relationships.
  • the customer tiers entities 1708 relate to various customer tiers, whereby customers may receive, and have access to, specific services associated with specific tiers. For example, a specific customer may desire to distribute his webhosting servers to multiple data centers. Therefore, the variables associated with the Customer tiers entities 1708 may indicate a data center or identification number, which informs one as to the location of the customer tier represented by the customer tier entity 1708 . Also, a flag may be set to indicate whether or not monitoring is desired or needed within that particular network.
  • the variable set associated with the customer tiers entities 1708 is illustrated below in Table 70.
  • the customer tiers entities 1708 relate to the accounts entities 1702 , as previously discussed, and the data centers entities 1716 , in many-to-one relationships.
  • the customer tiers entities 1708 also relate to the VLAM compartments entities 1714 in a one-to-many relationship.
  • the data center configuration values entities 1710 relate to the configuration values associated with the data center configuration, which are associated with the data center configuration entities 1712 .
  • the variables associated with the data center configuration values entities 1710 are the value portion of a name-value pair relating to the data center. Thus, a configuration value, associated with such a name-value pair is given by the data center configuration values entities 1710 .
  • the variable set associated with the data center configuration values entities 1710 is set forth below in Table 71.
  • the data center configuration values entities 1710 relate to the data center configuration entities 1712 in a many-to-one relationship.
  • the data center configuration entities 1712 relate to the configuration of specific data centers that house specific servers, and other network equipment associated with services of the various customer tiers.
  • the data center configuration entities 1712 form the name portion of the name-value pair associated with the data center configuration values entities 1710 .
  • a key name which serves as the name in the name-value pair.
  • the variable set associated with the data center configuration entities 1712 is set forth below in Table 72. TABLE 72 VARIABLE SET OF DATA CENTER CONFIGURATION ENTITIES 1712 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DATA_CENTER_ID Data Center Number R identification number KEY_NAME Key Name Character R DATA_CENTER_ID* Data center Number R identification number
  • the data center configuration entities 1712 relate to the data centers entities 1716 in a many-to-one relationship.
  • the VLAN compartments entities 1714 are used to relate the customer tiers of the customer tiers entities 1708 with various VLAN IP pools of the VLAN IP pools entities 1722 .
  • the variable set associated with the VLAN compartments entities 1714 is set forth below in Table 73.
  • TABLE 73 VARIABLE SET OF VLAN COMPARTMENTS ENTITIES 1714 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL VLAN_COMP_ID* VLAN Number R Compartment identification number CUST_TIER_ID Customer tier Number R identification number COMP_NAME Compartment name Character R STATUS VLAN status Character R ASSIGN_DT Assign Date Date O
  • the VLAN compartments entities relate to the customer tiers entities 708 in a many-to-one relationship as previously discussed, also, the VLAN compartments entities 1714 relate to the VLAN IP pools 1722 in a one-to-many relationship.
  • the data centers entities 1716 relate to various data centers in which server equipment, and other network devices are housed.
  • the data centers entities 1716 contain variables that describe various aspects of the data centers to which these entities 1716 relate. For example, a DNS sequence is given, which is a sequential number, that is used in an algorithm to provide a next random DNS name.
  • the DNS names used by each of the data center entities 1716 contain the name of the data center therein, with which they most closely relate, and therefore there is no conflict of DNS names between data centers.
  • a mask may be given that indicates how a particular server may be located by way of parsing the location of its rack.
  • the variable set associated with the data centers entities 1716 is set forth below in Table 74.
  • the data center entities 1716 relate to the customer tiers entities 1708 and the data center configuration entities 1712 in one-to-many relationships.
  • the site configuration entities 1718 relate to a configuration of various data center sites.
  • the site configuration entities 1718 is a name-value pairer that may be used for any convenient purpose, such as accounting, data center, maintenance, device configuration, and the like. This relationship table may be used by way of business logic associated with the present invention, or with agents residing on particular devices connected to the network.
  • the variable set associated with the site configuration entities 1718 is set forth below in Table 75. TABLE 75 VARIABLE SET OF SITE CONFIGURATION ENTITIES 1718 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL PARAM_NAME* Parameter name Character R PARAM_VALUE Parameter value Character O
  • the site configuration entities 1718 illustrated in FIG. 17 is not directly related to the entities illustrated in the same figure. However, the values contained therein may relate to other entities illustrated in FIG. 17, and may be used by business logic associated with the present invention, or by intelligent agents of the system.
  • the device pool VLAN platforms entities 1720 relate to platforms of the device pool within the VLAN. That is, the device pool VLAN platforms entities 1720 is used to relate a base OS to the VLAN with which a particular device is associated.
  • the variable set associated with the device pool VLAN platforms entities 1720 is set forth below in Table 76. TABLE 76 VARIABLE SET OF DEVICE POOL VLAN PLATFORMS ENTITIES 1720 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL VLAN_POOL_ID VLAN pool Number R identification number PLATFORM_ID Platform identification Number R number
  • the device pool VLAN platforms entities 1720 relate to the VLAN IP pools entities in a many-to-one relationship.
  • the VLAN IP pools entities 1722 relate to IP pools of the VLAN, which are associated with the VLAN compartments of the customer tiers that are associated with the customer tiers entities 1708 .
  • the variable set associated with the VLAN IP pools entities 1722 is set forth below in Table 77.
  • the VLAN IP pools entities 1722 relate to the VLAN compartments 1714 in a many to one relationship, and to the device pool VLAN platforms 1720 in a one to many relationship, as previously described. Also, the VLAN IP pools entities 1722 relate to the IP addresses entities 1730 in a one to many relationship, and the VLAN subtype entities 1728 in a many to one relationship.
  • the data center tiers entities 1724 relate to a specific group of services, or tiers, associated with the data centers, which are represented by the data centers entities 1716 .
  • the variable set associated with the data center tiers entities 1724 is set forth below in Table 78.
  • TABLE 78 VARIABLE SET OF DATA CENTER TIERS ENTITIES 1724 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL DCT_ID* Data center tier Number R identification number DATA_CENTER_ID Data center Number R identification number APP_ROLE_ID Application role Number R identification number TIER_NAME Tier name Character
  • R identification number DATA_CENTER_ID Data center Number
  • APP_ROLE_ID Application role Number
  • the data center tiers entities 1724 relate to the data centers entities 1716 in a many to one relationship, as previously explained.
  • the data center tiers entities 1724 also relate to the application rules entities 1236 , illustrated in FIG. 12, in a many to one relationship 1244 .
  • the VLAN pool type entities 1726 define the various valid types of VLANs for use on the network associated with the present invention.
  • the variable set associated with the VLAN pool type entities is set forth below in Table 79. TABLE 79 VARIABLE SET OF VLAN POOL TYPE ENTITIES 1726 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL POOL_TYPE* Pool type Character R POOL_TYPE_DESC Pool type Character O description GEN_DHCP Generate DHCP Character R
  • VLAN pool type entities 1726 are not illustrated as directly relating to any entities within FIG. 17. However, the variables stored within the VLAN pool type entities 1726 are used by the logic associated with the present invention for determining the valid types of VLANs that may be used with the present invention.
  • the VLAN SUB type entities 1728 are used to relate to the VLAN IP pools, which are represented by the VLAN IP pools entities 1722 .
  • the VLAN SUB type entities 1728 define valid VLAN types, or types in which VLANs may be used. Some examples might include development, quality assurance, production, and the like.
  • the VLAN subtype entities 1728 relate to the VLAN IP pools 1722 in a one to many relationship, as previously described.
  • the variable set of the VLAN SUB type entities 1728 is shown below in Table 80.
  • the IP address entities 1730 relate to the IP addresses of the network associated with the present invention.
  • the variable set associated with the IP address entities 1730 is shown below in Table 81. TABLE 81 VARIABLE SET OF IP ADDRESSES ENTITIES 1730 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL IP_ADDRESS* IP Address Character R VLAN_POOL_ID VLAN Pool Number R identification number STATUS Device status Character R GEN_HOST_NAME Character O
  • the IP address entities 1730 relate to the VLAN IP pools 1722 in a many to one relationship, as previously discussed. Also, the IP addresses entities 1730 relate to the virtual IPs entities 1312 , and the device role IP host entities 1308 by one to many relationships, 1338 , 1340 , respectively
  • the VLAN CIDR reserve entities 1732 is related to the classless inter-domain routing (CIDR) of the VLAN associated with the present invention.
  • the VLAN CIDR reserve entities indicates the CIDR number used for the network, and the number of addresses that are reserved and that are available for dynamic assignment as DHCP generated addresses.
  • the variable set associated with the VLAN CIDR entities 1732 is set forth below in Table 82. TABLE 82 VARIABLE SET OF VLAN CIDR RESERVE ENTITIES 1732 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL CIDR CIDR Number R NTWK_RSV_CNT Network reserve Number R count DHCP_RSV_CNT DHCP reserve count Number R
  • VLAN CIDR reserve entities 1732 is illustrated in FIG. 17 as not directly relating to any of the other entities. These entities 1732 are used by the business logic of the present invention to determine the number of network addresses that may be reserved, and the number that may be generated as DHCP generated addresses for a given network or subnetwork.
  • the entities illustrated in the entity relationship diagram of FIG. 18 form the queues entities 1114 . These entities are described in detail below. These entities are not directly related to the entities of the rest of the data model 1100 shown in FIG. 11 but rather are used by agents of specific devices connected to the network in performing various tasks. These tasks are represented in queues, which may be executed in a specific, given order.
  • the agent queues entities 1802 queues entities are essentially a list of tasks to be performed by an intelligent agent operating on a device connected to the network, which is associated with the present invention.
  • the variable set of agent queues entities 1802 is shown below in Table 83.
  • the agent queues entities 1802 is illustrated as having a one to many relationship with the agent queue commands entities 1804 .
  • the agent queues entities 1802 may also have an optional one to many relationship with other agent queues, as illustrated by the broken line in FIG. 18.
  • the agent queue commands entities 1804 serves to relate the agent queues entities 1802 with specific agent commands and agent command outputs.
  • the variable set of agent queue commands entities 1804 is shown below in Table 84. TABLE 84 VARIABLE SET OF AGENT QUEUE COMMANDS ENTITIES 1804 VARIABLE REQUIRED/ VARIABLE VARIABLE DEFINITION TYPE OPTIONAL AGENT_QUEUE_COM_ID* Agent Queue Command Number R identification number AGENT_QUEUE_ID Agent Queue identification Number R number AGENT_COM_ID Agent Command identification Number R number COM_ORDER Command Order Number R ACTIVE Agent Active Character R STATE Agent State Character R START_TIME Start time Date O END_TIME End time Date O
  • agent queue commands entities 1804 are related to the agent queues entities 1802 , as previously discussed, and the agent commands 1808 in many to one relationships. Also, the agent queue commands entities 1804 are related to the agent command output entities 1806 in a one to many relationship.
  • the agent command output entities 1806 relate to the output of specific commands to agents of the present invention.
  • the variable set of agent command output entities 1806 is shown below in Table 85.
  • TABLE 85 VARIABLE SET OF AGENT COMMAND OUTPUT ENTITIES 1806 VARIABLE VARIABLE DEFINITION VARIABLE TYPE REQUIRED/OPTIONAL AGENT_QUEUE_COM_ID* Agent Queue Command Number R identification number TEXT_ORDER* Text order Number R OUTPUT_TEXT Output text Character R CREATE_DT Date created Date R
  • the agent command output entities 1806 relate to the agent queue commands entities 1804 in a many to one relationship.
  • the agent commands entities 1808 represent specific commands to be executed by agents associated with the present invention.
  • the variable set of agent commands entities 1808 is shown below in Table 86.
  • TABLE 86 VARIABLE SET OF AGENT COMMANDS ENTITIES 1808 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL AGENT_COM_ID* Agent command Number R identification number COM_TYPE Command type Character R COM_NAME Command name Character O EFF_BEG_DT Effective beginning Date R date EFF_END_DT Effective ending Date O date
  • agent commands entities 1808 relate to the agent queue commands entities 1804 , as previously indicated, and the agent command text entities 1810 , in one to many relationships.
  • the agent command text entities 1810 represents specific text associated with the agent commands, which are represented by the agent command entities 1808 . Additionally, an order of the text may be given, thereby allowing the agent to determine the order of the text to be executed.
  • the variable set of agent command text entities 1810 is shown below in Table 87. TABLE 87 VARIABLE SET OF AGENT COMMAND TEXT ENTITIES 1810 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL AGENT_COM_ID* Agent Command Number R identification number COM_TEXT Command text Character R TEXT_ORDER* Text order Number R
  • agent command text entities 1810 relate to the agent commands entities 1808 in a many to one relationship.
  • the agent queue mutex entities 1812 serves as a locking device, which signals to an agent at a particular device is currently busy, and prevents the agent from executing a second queue on that device until the device is not busy.
  • the variable set of agent queue mutex entities 1812 is shown below in Table 88. TABLE 88 VARIABLE SET OF AGENT QUEUE MUTEX ENTITIES 1812 VARIABLE REQUIRED/ VARIABLE VARIABLE DEFINITION TYPE OPTIONAL DVC_ID* Device identification number Number R
  • agent queue mutex entities 1812 do not relate directly to any of the entities illustrated in FIG. 18, but rather are either queried by the agents with which they are associated, or broadcast information to those agents.
  • the agent command mutex entities 1814 serve as a locking device whereby only a single agent queue may be executed by the agent at any given time. This prevents an agent from attempting to accomplish more than one task at a single time.
  • the variable set of agent command mutex entities 1814 is shown below in Table 89. TABLE 89 VARIABLE SET OF AGENT COMMAND MUTEX ENTITIES 1814 VARIABLE VARIABLE REQUIRED/ VARIABLE DEFINITION TYPE OPTIONAL AGENT_QUEUE_ID Agent Queue Number R identification number
  • agent command mutex entities 1814 do not relate directly to any of the entities illustrated in FIG. 18, but rather are either queried by the agents with which they are associated, or broadcast information to those agents.
  • the present invention provides a data model for use in system for the automated provisioning of devices which constitute the infrastructure of a website, such as servers.
  • Two significant advantages provided by the data model are flexibility and the repeatability of the results that are obtained.
  • the flexibility permits the varied needs of different websites to be readily accommodated, and thereby avoids the limitation of having to configure the architecture of every site the same way.
  • the repeatability ensures that every server will have the proper set of software components once it has been provisioned, and thereby be ready to operate immediately.
  • the automated provisioning that is provided through this system achieves a significant time savings, enabling the entire process to be accomplished in substantially less than one hour for each device.

Abstract

The present invention is directed to a data model. The data model allows for modeling of all information relating to a computer network to be conveniently stored in a database in a manner which minimizes the effort associated with the addition of new devices to the network and maximizes software code reuse. The information relating to the network that may be modeled in the data model of the present invention include: software information, configuration information, monitoring information, hardware information, domain name server (DNS) information, network information, and information regarding queues that may be used by business logic, or intelligent agents in accessing and maintaining various portions of the network.

Description

    BACKGROUND
  • The present invention is directed to the provisioning, or configuration, of servers and other devices that provide support for sites that are hosted on the Internet, intranets, and other communication networks. More particularly, the present invention is directed to a data model which can be implemented using a database and which serves as a repository for information pertinent to the provisioning or configuration, of devices on a communications network. [0001]
  • The growing popularity and increasing accessibility of the Internet has resulted in its becoming a major source of information, as well as a vehicle for inter-party transactions, in a variety of environments. For instance, a number of different types of entities, from government agencies to school systems to organized groups, host Internet and/or intranet websites that provide informational content about themselves and topics related to their interests. Similarly, commercial enterprises employ websites to disseminate information about their products or services, as well as conduct commercial transactions, such as the buying and selling of goods. To support these activities, each website requires an infrastructure that stores the information provided by that site, responds to user requests for the information, and conducts other types of transactions appropriate to the site. A significant component of this infrastructure is a web server, which receives requests for information, retrieves it from the appropriate sources, and provides it to the requestor. Websites which provide more complex services, such as online ordering, may also include application servers to support these additional functions. [0002]
  • In the case of relatively small entities, the infrastructure to support a website may be as simple as a single server, or even a portion of a server. Conversely, a large, popular website that consists of several thousand pages of information and that is accessed quite frequently may require numerous web servers to provide the necessary support. Similarly, websites for commercial entities, via which transactional operations are conducted, may employ multiple application servers to support transactions with a large number of customers at one time. [0003]
  • The present invention is particularly directed to a data model which supports a website by facilitating provisioning of the servers, allowing appropriate software necessary for the site to be identified, located, and transferred to a server, and generally defining all aspects of the network. Such provisioning initially occurs when the website is first launched. Thereafter, there may be a need for further provisioning, particularly in the case of a successful website, when additional servers must be added to support increased traffic, which requires accurate modeling of all aspects of the network. In another instance, provisioning of the servers may be required as part of a disaster recovery operation, for example a sudden interruption in power, an attack by a hacker, or corruption of stored software and/or data. In such an instance, it would be necessary to have an accurate model of all aspects of the server to allow for accurate reproduction of the server in need of recovery. [0004]
  • The provisioning of a server or other device that supports the operation of a website involves several discrete steps. First, the appropriate operating system software must be loaded onto the device, followed by networking software that enables the device to communicate over a network. Thereafter, software applications that are required to support the particular site are loaded, such as database software for retrieving web pages, credit card processing software, order processing software, etc. Finally, the content associated with the individual pages of the website must be loaded. The order in which these various components are loaded onto the server can be quite critical, to ensure compatibility of the various programs with one another. [0005]
  • In the past, the provisioning of web servers was often carried out manually. In other words, each item of software was individually loaded onto the server by a person having responsibility for that task. One problem with such an approach is the fact that it consumes a significant amount of time. For a relatively large site that is supported by multiple servers, the provisioning could take several hours or days to be completed, thereby delaying the time before the site can be launched and/or upwardly scaled to accommodate increasing traffic. Another, and perhaps more significant, limitation associated with the manual provisioning of devices is the lack of repeatability in the software configurations. More particularly, whenever manual operations are involved in the installation of software, there is always the possibility of human error, such as the failure to install one of the required components, or the loading of the various items of software in the wrong order. Each of these types of errors can result in misoperation or total failure of the website, and can be extremely time consuming to discover and correct. [0006]
  • To overcome some of these limitations, various techniques have been developed which permit software to be automatically deployed to computers. However, these techniques are limited in the types of environments in which they can be utilized. For example, in an enterprise where all of the users interact with the same legacy applications, a “cookie cutter” type of approach can be used to deploy the software. In this approach, every computer can have the same, standard configuration. Once the configuration has been developed, therefore, it can be packaged into a fixed format, and automatically disseminated to all of the appropriate computers. [0007]
  • However, this type of automated deployment is not effective for situations in which computers, such as servers, need to be customized to accommodate the individual requirements of varied users. One example of such a situation is a data center which may house the infrastructure for hundreds of different websites. The hardware and software requirements for these sites will vary among each site. For instance, different website developers may employ different platforms for the sites, thereby necessitating various combinations of operating systems and application programs on the servers of the respective sites. Furthermore, different types of equipment may be utilized for the sites, thereby adding to the complexity of the provisioning process. In some cases, the same site may require a variety of different hardware devices, operating systems and application programs to handle all of the different services provided by that site. Known approaches to automate software deployment are not adapted to the needs of these types of situations. Rather, because of the flexibility that is required to accommodate a different configuration of hardware and/or software for each site, manual provisioning is still being practiced to a large extent, with all of its attendant disadvantages. [0008]
  • It is desirable, therefore, to provide a data model to support the automated provisioning of servers and other devices that support various types of services, such as the hosting of an Internet or intranet website. Such a data model should exhibit sufficient flexibility to accommodate the differing needs of the providers of such services, while maintaining repeatability, and hence reliability, in the provisioning process. [0009]
  • SUMMARY
  • In accordance with the present invention, the foregoing objectives are achieved by way of a data model to support the automated provisioning of servers and other devices that support various types of services, such as hosting of an Internet or intranet website. This data model provides relationships between various software, configuration, monitoring, hardware, network, domain name server (DNS), and queues entities. By representing the model in an entity relationship form, the present invention facilitates allowing access to and configuration of each aspect of a database which implements the model and thus, to each aspect of the network. This, in turn, allows for automated provisioning by devices located remotely on the network with which the data model of the present invention is associated. [0010]
  • The central database which implements the data model of the present invention contains all information that is relevant to the provisioning of devices contained on the network. This information includes information regarding the hardware devices used on the network, the software components that make up the various software roles installed on a device, logical network information such as IP addresses, configuration information of the various software, hardware, and network components, domain name information, and the like. Additionally, information regarding monitoring status of the network, and devices contained thereon is provided for. Additionally, an interface for various network agents associated with each host on the network for reporting configuration regarding devices connected to the network, reporting version information, upgrading software contained thereon, and so forth, is provided for. [0011]
  • According to exemplary embodiments of the present invention, the data model allows for modeling of all information relating to a computer network to be conveniently stored in a database in a manner which minimizes the effort associated with the addition of new devices to the network and maximizes software code reuse. This is accomplished by designing a model wherein each of the model's entities interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the network (or portion thereof) that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new software, new hardware devices, new monitoring techniques and equipment, new configurations, etc., without requiring the rewriting of software code which relies upon the model and the database implementation thereof. Moreover, the schema described herein facilitate the reuse of existing software code to interact with the database model regarding newly added software, hardware, configurations, etc. by virtue of this design aspect of the model. [0012]
  • Various segments of models according to exemplary embodiments of the present invention are separately implementable.[0013]
  • These and other features of the present invention are explained in greater detail hereinafter with reference to an exemplary embodiment of the invention illustrated in the accompanying drawings, wherein like components are designated by like reference numerals. [0014]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is block diagram of one embodiment of the hardware configuration for website hosting. [0015]
  • FIG. 2 is a block diagram of services associated with a network, in connection with one embodiment of the present invention. [0016]
  • FIG. 3 is a block diagram of a website maintenance system, associated with one embodiment of the present invention. [0017]
  • FIG. 4 is a block diagram of roles used in connection with one embodiment of the present invention. [0018]
  • FIG. 5 is a role-centric entity relationship diagram, used in connection with one embodiment of the present invention. [0019]
  • FIG. 6 is a service-centric entity relationship diagram, used in connection with one embodiment of the present invention. [0020]
  • FIG. 7 is a block diagram illustrating the relationship between various elements of one embodiment of the present invention. [0021]
  • FIG. 8 is a block diagram illustrating the relationship between various elements of one embodiment of the present invention. [0022]
  • FIG. 9 is a block diagram illustrating the relationship between units, bundles, and roles, in accordance with one embodiment of the present invention. [0023]
  • FIG. 10 is an entity relationship diagram illustrating the relationship between units, roles, and packages, in accordance with one embodiment of the present invention. [0024]
  • FIG. 11 is an entity relationship diagram illustrating the relationship between various aspects of the data model, in accordance with one embodiment of the present invention. [0025]
  • FIG. 12 is an entity relationship diagram illustrating the relationship between various entities relating to software within the data model of one embodiment of the present invention. [0026]
  • FIG. 13 is an entity relationship diagram illustrating the relationship between various entities relating to configuration within the data model of one embodiment of the present invention. [0027]
  • FIG. 14 is an entity relationship diagram illustrating the relationship between various entities relating to monitoring within the data model of one embodiment of the present invention. [0028]
  • FIG. 15 is an entity relationship diagram illustrating the relationship between various entities relating to hardware within the data model of one embodiment of the present invention. [0029]
  • FIG. 16 is an entity relationship diagram illustrating the relationship between various entities relating to DNS capabilities within the data model of one embodiment of the present invention. [0030]
  • FIG. 17 is an entity relationship diagram illustrating the relationship between various entities relating to network within the data model of one embodiment of the present invention. [0031]
  • FIG. 18 is an entity relationship diagram illustrating the relationship between various entities relating to queues within the data model of one embodiment of the present invention. [0032]
  • DETAILED DESCRIPTION
  • To facilitate an understanding of the principles of the present invention, it is described hereinafter with reference to its application in a specific embodiment. Specifically, the data model of the present invention will be described within the context of a database which implements the model, which database is used in a computer network for the automated provisioning, and remote configuration and maintenance, of multiple computer devices connected to the network. It will be appreciated, however, that the implementation of the invention that is described hereinafter is merely exemplary, and that the invention can find practical application in any environment where it is desirable to model a database associated with a server on a computer network of any kind. [0033]
  • FIG. 1 illustrates, in block diagram form, the hardware configuration of one embodiment of the present invention. In FIG. 1, a typical, three-tier [0034] web hosting system 100, which may be implemented using the data model of the present invention, is illustrated. Therein, databases 102A, 102B are accessible to the web servers 104A, 104B, and the application servers 106A, 106B of the three-tier web hosting system 100 illustrated in FIG. 1. In the three-tier system 100 illustrated in FIG. 1, redundancy is used, whereby a duplicate web server 104B, application server 106B, and database 102B are each used as backups for the primary web server 104A, application server 106A, and database 102A, respectively.
  • Each of the web servers receives and handles requests received by way of a network. Requests received by way of such a network may require functionality from various applications. When this is the case, the [0035] web server 104A, 104B forwards the requests to the application server 106A, 106B, which may then process the application, and also has access to the database 102A, 102B. The application server 106A, 106B may, therefore, require information regarding software, configuration, monitoring, hardware, the network, DNS, or queues, which may be contained within the database 102A, 102B. This information is modeled by one embodiment of the present invention to allow for rapid and convenient access by the application server 106A, 106B to this information contained within the database 102A, 102B.
  • Network requests are received by the [0036] web server 104A, 104B by way of a firewall 108, and are distributed by the load balancer 110. The firewall 108 provides security from any malicious network forces outside the local access of the three-tier web hosting system, 100. Any remote host, or agent, which is outside the locality of the three-tier web hosting system 100 may be required to authenticate itself to the firewall 108 in order to access, maintain, monitor, or reconfigure the web server 104A, 104B, the application server 106A, 106B, or the database 102A, 102B. The load balancer 110 distributes the network transactions received by way of the firewall 108.
  • It should be noted that a common practice is to insert an additional firewall between the [0037] application servers 106A, 106B and the databases 102A, 102B. While many people feel that this provides additional security, this redundancy is often not required if the firewall 108 is correctly configured. However, it should be noted that the present invention could be utilized in a system wherein a second firewall is used between the application servers 106A, 106B, and the databases 102A, 102B. The three-tier web hosting system 100 illustrated in FIG. 1 is a robust architecture, which is suitable for use in almost any business situation. Thus, the data model of the present invention finds utility in almost any business situation.
  • FIG. 2 is a block diagram illustrating the relationship of various services provided by a web hosting system in which the present invention can be implemented. The relationship model [0038] 200 illustrated in FIG. 2 comprises a variety of functional components, which relate to a web server 202, and an application server 204 connected to a network, such as the Internet 205. Functions relating to the web server 202 and the application server 204 include a software maintenance component 206, and a monitoring component 208. As illustrated by the bi-directional arrows in FIG. 2, the web server 202 and application server 204 may access information, and functionality, possessed by the software maintenance component 206 and the monitoring component 208. Likewise, the software maintenance component 206 and monitoring component 208 may provide the web server 202 and application server 204 with information, and may access information contained on the servers 202, 204.
  • The [0039] web server 202, which is in communication with the application server 204, may request functionality to be performed by various applications. This functionality may be subdivided into two categories: website content and personalized information. Website content is represented by the content feed component 210, and personalized information is represented by the personalization component 212, which are both in communication with the application server. Both the content feed component 210 and the personalization component 212 may be monitored by the monitoring component 208, and may receive software maintenance support from the software maintenance component 206. The manner in which the monitoring component 208, the software maintenance component 206, the network 205, the hardware devices 202-, 204, and the configuration components 210, 212 are related is defined by the data model of the present invention.
  • According to an embodiment of the present invention, the [0040] web server 202 may comprise a layer 7 proxy server. The monitoring component 208 monitors the status of the hardware components, such as the web server 202 and application server 204, and monitors the content feed 210 and the personalization component 212. In response to this monitoring, the web server 202 or application server 204 may request the software maintenance component 206 to provide maintenance, which may be in the form of software updates, to any of the hardware components 202, 204, the content feed component 210, or the personalization component 212. The content feed component 210 may communicate any information which is fed into the system 200, while the personalization component 212 provides data and information that is specific to a particular site hosted by a web server, or layer 7 proxy server 202. One example of information that is fed into the system 200 by way of the content feed component 210 is streaming data from an external source, such as stock market ticker data.
  • In FIG. 3, a [0041] system 300 is illustrated, which is suitable for automated provisioning, remote access and maintenance of network devices. Another system in which models according to the present invention can be implemented is described in U.S. patent application Ser. No. ______, entitled “AUTOMATED PROVISIONING FRAMEWORK FOR INTERNET SITE SERVERS” to Raymond Suorsa et al. filed on an even date herewith, the disclosure of which is incorporated here by reference. A database 302 can be used to implement the data model according to exemplary embodiments of the present invention. This database 302 may reside on any large scale storage device. For example, suitable storage devices upon which the database associated with the data model of the present invention may be stored include redundant array of independent disks (RAID) systems, such as those provided by EMC Corporation of Hopkinton, Mass., or other similar devices. This database 302 may be accessed by the various agents 304A, 304B, 304C, whose level of access may be determined by a hierarchy of trust component 306. Additionally, a user interface 308 may be provided for the convenience of a user in accessing information contained within the database 302, or software contained within the software file system 310. The determination of the level of access granted by the user interface 308 is made by the hierarchy of trust component 306. Access determination information is stored by the access determination component 312, which is accessible by way of database 302. This is accomplished by using a hierarchical file structure in which specific access is determined and operated only to those users to whom it should be granted. This is accomplished by user authentication via a lightweight directory access protocol (LDAP) server that authenticates users within particular domain names that map to specific customer accounts. The hierarchy of trust component 306 interprets the data related to it from the database 302, and communicates this data, or the interpretation thereof to the various agents 304A, 304B, 304C, and/or the user interface 308.
  • In FIG. 4, a block diagram of a [0042] customer role package 400 is illustrated. Such customer role packages are used to provide repeatability, and eliminate the need for manual configuration by designating software components to be installed on a particular device connected to a network. Roles as illustrated in FIG. 4 define the functionality of device, and may be considered to define the role, or part, the device is to play within the network.
  • In one embodiment of the invention, the software components to be installed (i.e., the customer role package [0043] 400) are divided into three types of software roles that are related to the frequency with which they are likely to change or be upgraded. These roles include an application role 402, a customer code role 404, and an operating system (OS) role 406. The OS role 406 contains the software that has the lowest probability of being changed during the life cycle of the particular device on which it is installed. This role consists of the OS of the device, plus other general software, such as the intelligent agents 304A, 304B, 304C, illustrated in FIG. 3. The customer code role 404 contains content specific to, and provided by, a customer, and therefore contains software that can change on a regular basis for a website or other network site. Examples of software contained within the customer code role 404 might include hypertext markup language (HTML) pages, Java server pages (JSP), active server pages (ASP), image files, and other content that is regularly updated by a website host. The application role 402 consists of software components that change relatively infrequently when compared to software of the customer code role 404, but perhaps more often than software contained within the OS role 406. The hierarchical structure of such a customer role package 400 is described hereinafter in connection with FIG. 9.
  • An entity relationship diagram of a role-[0044] centric network model 500 is illustrated in FIG. 5. The role-centric model 500 is used for relating devices 502 connected to a network to software roles 504. This is accomplished by way of a role instance 506, which is used as a place holder for devices until a device 502 is present, and connected to the network by way of which the role 504 may communicate the software contained therein to the devices 502. This role-centric model 500 allowed for a role instance 506 that reserved IP addresses, or other network addresses, and allowed for general network configuration without the devices being attached to the network. Thus, the IP addresses used by the various devices connected to the network may be maintained, and need not be reassigned each time a device is reconnected to the network at a different location.
  • Entity relationship diagrams, such as the entity relationship diagram of the role-[0045] centric model 500, show the relationship between various entities, which are represented by rectangular blocks and labeled to indicate their significance connected by way of connection lines. Each connection line has a single connection on one end and multiple connections on the opposite end, indicating a one-to-many relationship. This means that a single entity is related to multiple entities on the end of the connection line having multiple connections. Thus, the devices entity 502 relates to the role instance entity 506 in a one-to-many fashion, meaning that each device entity 502 is directly related to many role instance entities 506. Additionally, the role entity 504 is related to the role instance entity 506 in a one-to-many relationship. Hence, each role entity 504 is related to multiple role instances 506.
  • FIG. 6 illustrates an improved approach to the traditional role-centric network model approach illustrated in FIG. 5. In FIG. 6, a service-[0046] centric network model 600 that allows one to monitor service information related to devices 602 associated with a computer network is shown. This type of model is accomplished, as illustrated in the entity relationship diagram of FIG. 6, by relating devices entities 602 to service instance entities 604 in a one-to-many relationship. The service instance entities 604 are then related to services 606 in a many-to-one relationship. The services entity 606 is related to the roles entity 608 in a one-to-many relationship. The service instance entities 604 act as a relationship table between the devices 602 and the services 606. The advantages of the service-centric model 600, which is employed by one embodiment of the present invention include all of the advantages of the role-centric model 500, illustrated in FIG. 5, as the network may be configured using place holders instead of devices connected to the network. The service-centric model has the additional advantage of relating the roles to services, which are an important quantity for customers to monitor and configure. An embodiment of the present invention utilizes a service-centric model, such as the one illustrated in FIG. 6.
  • The block diagram in FIG. 7 illustrates a service-centric concept, relating [0047] services 702 to various other quantities associated with the network that in accordance with an embodiment of the present invention. The services 702 are centrally related to each of: the devices 704, the configuration component 706 of the network, the monitoring 708 of the network, hardware, and software, and the software 710, such as the OS software, packages, and roles hereinbefore described. By way of the service-centric system illustrated in FIG. 7, the monitoring component 708 may monitor the software component, ensuring that each of the software roles is properly maintained, and up to date.
  • FIG. 8 illustrates a similar configuration, wherein services are centrally related to a [0048] configuration component 706, a monitoring component 708, and software 710. However, the service-centric relationship illustrated in FIG. 8 differs from the one illustrated in FIG. 7 in that the services 702 are not related directly to devices. Rather, the services 702 are related directly to a service instance 802, which allows for the configuration of an IP address by a configuration device. This service instance 802 is related to devices 804 upon which an IP is configured. Thus, although the services 702 in FIG. 8 are not directly related to devices, as is the case in FIG. 7, in FIG. 8, the services 702 are related to a service instance 802 which allows for the configuration of IP addresses until a device 804 may be configured with an IP address, and acts as a place holder for devices to be connected and utilize the IP addresses.
  • FIG. 9 illustrates the hierarchy of individual software roles. Role [0049] 902 of FIG. 9 comprises a combination of software bundles and units. The software units 904, 906, 908 each comprise multiple software installation packages. One example of such software installation packages that may be contained within units 904, 906, 908 includes software bundles for the Linux OS, such as Redhat package manager (RPM) files. Such packages would be saved in a file having a name using the extension RPM, such as file_x.rpm.
  • Several units, such as [0050] units 904, 906, make up a bundle, 910. In addition, a bundle 912 may be made up of a combination of units, such as unit 908, and other bundles, such as bundle 910. These bundles are then combined into a role, such as role 902. This role 902 is stored as a list of packages, such as RPMs, to be installed on a device, and the order in which those packages are to be installed. These roles may, therefore, be used to rebuild a machine automatically, should a critical failure occur. Also, the role 902 illustrated in FIG. 9 may comprise a customer role package, such as the package 400 illustrated in FIG. 4, which contains three roles: the application role 402, the customer code role 404, and the OS role 406.
  • FIG. 10 illustrates the same relationships shown in FIG. 9 in the form of an entity relationship diagram. In FIG. 10, [0051] roles entities 1002 are related to units entities 1004 and packages entities 1006. These three groups of entities are related by way of two relationship tables 1008, 1010. The roles entities 1002 represent a role, such as role 902 of FIG. 9, or a group of roles. These roles entities 1002 are made up of multiple units entities 1004, which represent units, such as units 904, 906, 908 of FIG. 9. This is illustrated by the one-to-many relationship between the units entities 1004 and the relationship table 1008, which is related in a one-to-many relationship with the relationship table 1010. This relationship table 1010 is related to the roles entities 1002 in a many-to-one relationship. Thus, the roles represented by the roles entities 1002 may be made up of multiple units, which are represented by the units entities 1004. Additionally, the units represented by the units entities 1004 may be made up of multiple packages, such as the RPMs discussed above. These packages are represented by the packages entities 1006, which are related in a one-to-many relationship with the relationship table 1008 which is in turn related to the units entities 1004 in a many-to-one relationship. The packages 1006 are illustrated as having a one-to-many relationship with other packages, which indicates that any single package may contain multiple packages.
  • The relationship diagram illustrated in FIG. 10 is a particularly useful way to illustrate the relationship between the various components of a data model. As can be seen, much information can be gleaned from the entity relationship diagram of FIG. 10, and less space is required to express the same idea illustrated in FIG. 9. The entity relationship diagram also allows for convenient access to each aspect of the database being modeled for quick, accurate, and repeatable configuration of that database. [0052]
  • An entity relationship diagram of the data model according to one embodiment of the present invention is illustrated in FIG. 11. In FIG. 11, the [0053] data model 1100 is represented as having multiple entities related to one another. Each of these entities illustrated in FIG. 11 represents a group of entities and therefore FIG. 11 represents the data model on a macro level only. Each of the entities represented in the data model 1100 of FIG. 11 is broken into its components, and illustrated in more detail in subsequent figures, which are denoted in FIG. 11.
  • The [0054] data model 1100 in FIG. 11 relates the following entities: software 1102, configuration 1104, monitoring 1106, hardware 1108, DNS 1110, network 1112, and queues 1114. The software entities 1102 represent various software packages to be installed in devices, applications, and operating system software of the various network devices. The software entities 1102 are directly related to the configuration entities 1104, the hardware entities 1108, and the network entities 1112. As shown in FIG. 11, the software entities 1102 have an optional many-to-one relationship with the hardware entities 1108, and shares a combination of many-to-one and one-to-many relationships with both the configuration entities 1104 and the network entities 1112.
  • As described above, the [0055] configuration entities 1104 are related to the software entities 1102 with a many-to-one and one-to-many relationship, and similarly share a many-to-one and one-to-many relationships with the hardware entities 1108. Additionally, the configuration entities are related to the monitoring entities 1106 in a one-to-many relationship. The configuration entities 1104 relate to both the DNS entities 1110 and the network entities 1112 in a many-to-one relationship. The relationship with the DNS entities 1110 is optional, as indicated by the broken line connecting the configuration entities 1104 and the DNS entities 1110. These configuration entities 1104 represent the configuration of various network addresses, software packages, and device addresses.
  • The [0056] monitoring entities 1106 are related to the configuration entities 1104 as described above, and to the hardware entities 1108 in many-to-one relationships. The monitoring entities 1106 monitor the status and condition of entities within the configuration entities group 1104 and the hardware entities group 1108.
  • The [0057] hardware entities 1108 represent multiple hardware devices in communication with a network. These entities are related to the software entities 1102 in an optional one-to-many relationship, and as described above to the monitoring entities 1106 in a one-to-many relationship. Additionally, as described above, the hardware entities 1108 are related in both a many-to-one and one-to-many relationship with the configuration entities 1104.
  • The [0058] DNS entities 1110 represent all DNS transfers, queries, entries, configurations, and posts. They are optionally related to the configuration entities 1104 in a one-to-many relationship, and to the network entities 1112 in an optional many-to-one relationship.
  • The [0059] network entities 1112 are related to the software entities 1102 in a combination of many-to-one and one-to-many relationships, and to the configuration entities 1104 in a one-to-many relationship. Additionally, the network entities 1112 are optionally related to the DNS entities 1110 in a one-to-many relationship.
  • A group of entities called the [0060] queues entities 1114 are also illustrated in the database model 1100 of FIG. 11. However, the queues entities are not illustrated as having a direct relationship with any of the other entities of this model 1100. A relationship between the queues entities 1114 and the other entities within the data model 1100 is created by either business logic contained outside of the data model, or by intelligent agents, such as the agents 304A, 304B, 304C illustrated in FIG. 3. This type of relationship will be described hereinafter with greater detail.
  • FIGS. [0061] 12-18 illustrate in greater detail the entities of the data model 1100 illustrated in FIG. 11. In each of these figures, multiple entities that make up the entities represented in FIG. 11, will be shown as entity relationship diagrams. In this type of diagram, the one-to-many or many-to-one relationships between the entities will be illustrated in the same manner as in FIG. 11. Optional relationships will be illustrated by way of broken lines. Connections to entities within other groups of entities (i.e. written other entities of the data model 1100 in FIG. 11), will be indicated by lines at the edge of the page with a designation indicating the figure upon which those relationships are continued.
  • Each of the entities contained within FIGS. [0062] 12-18 have a set of variables associated with them, specific values of which characterize instances of each of the entities and their functionalities. These variables will be described hereinafter in tables. In these tables identifying variables associated with each entity, a variable name, variable definition, variable type, and an indication regarding whether the variable is required by the entity or optional to the entity will be given. Those skilled in the art will appreciate that the reference herein to “required” or “optional” with respect to the individual variables in each table is purely exemplary and that, in other exemplary embodiments which are not explicitly described herein, the status of these variables as “required” or “optional” may change. Additionally, an indication of the primary key of each entity of each variable set will be given by an asterisk immediately following the variable name. In some cases, multiple primary keys will be indicated. Generally, the primary key of a particular entity must be contained within each of the entities to which that entity relates and is the main variable associated with the entity. When the primary key of an entity is contained within another entity to which the first entity relates, it acts as a type of pointer, referring to the first entity.
  • Software 1102
  • In FIG. 12, a detailed entity relationship diagram of the [0063] software entities 1102 is illustrated. Each of the entities within this diagram interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the software portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new software packages, without requiring the rewriting of software code which relies upon the model and the database implementation thereof.
  • Units Entities 1202
  • The [0064] units entities 1202 represent the software units described in connection with FIG. 10. The variable set associated with the units entities 1202 is set forth below in Table 1.
    TABLE 1
    VARIABLE SET OF UNITS ENTITIES 1202
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    UNIT_ID* Unit identification number Number R
    ACCT_ID Account identification number Number R
    PLATFORM_ID Platform identification number Number O
    UNIT_NAME Unit name Character R
    UNIT_TYPE Unit type Character R
    UNIT_VERSION Unit version Number R
    UNIT_DESC Unit description Character O
    UNIT_LOC Unit location Character R
    CREATED_BY Created by Character R
    CREATE_DT Create date Date R
    MODIFIED_BY Modified by Character O
    MODIFIED_DATE Date modified Date O
    INSTALL_FLAGS Installation flags Character O
    REMOVE_FLAGS Remove flags Character O
  • The [0065] units entities 1202 relate to unit monitor types entities 1204, unit contents entities 406, application role units 1208, unit packages entities 1212, account role units entities 1214, device pool role units entities 1216 and one-to-many relationships. The one-to-many relationship between the units entities 1202 and the unit conflicts entities 1206 includes dual one-to-many relationships. Also, the units entities 1202 may be related by the many-to-one relationship 1238 illustrated in FIG. 12 with entities within the network entities 11 12 which is illustrated in detail in FIG. 17. Specifically, the units entities 1202 is related by this many-to-one relationship with the accounts entities 1702 of FIG. 17. An optional many-to-one relationship may exist between units entities 1202 and the platforms entities 1210.
  • Unit Monitor Types Entities 1204
  • The unit monitor types entities [0066] 1204 indicate the type of monitoring associated with the units related to the unit entities 1202. The variable set associated with the unit monitor types entities 1204 is set forth below in Table 2.
    TABLE 2
    VARIABLE SET OF MONITOR TYPES ENTITIES 1204
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    UNIT_ID* Unit identification number Number R
    MONITOR_TYPE Monitor type Character R
    MONITOR_NAME* Monitor name Character R
    START_LOC Start location Character O
    STOP_LOC Stop location Character O
  • As mentioned above, the unit monitor types entities [0067] 1204 relates to the units entities 1202 in a many-to-one relationship.
  • Unit Conflicts Entities 1206
  • The unit conflicts entities [0068] 1206 are used to identify any potential conflicts between units related to the units entities 1202. The variable set associated with the unit conflicts entities 1206 is set forth below in Table 3.
    TABLE 3
    VARIABLE SET OF UNIT CONFLICTS ENTITIES 1206
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    UNIT_ID Unit identification number Number R
    CONFLICTING_UNIT_ID Conflicting unit Number R
    identification
    number
    CONFLICT_DESC Conflict description Character O
  • As previously mentioned, the unit conflicts entities [0069] 1206 relate to the units entities 1202 in dual many-to-one relationships.
  • Application Role Units Entities 1208
  • The application role units entities [0070] 1208 relate application roles entities 1236 with units entities 1202, much in the same manner that roles are related to units in the relationships described in connection with FIG. 10. The variable set associated with the application role units entities 1208 is set forth below in Table 4.
    TABLE 4
    VARIABLE SET OF APPLICATION ROLE UNITS
    ENTITIES 1208
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    APP_ROLE_ID* Application role Number R
    identification
    number
    UNIT_ID* Unit identification Number R
    number
    INSTALL_ORDER Installation order Number R
    DATE_CREATED Date control Date O
    CREATED_BY Created by Character O
  • The application role units entities [0071] 1208 relate to the units entities 1202 in a many-to-one relationship, as discussed above. Additionally, the application role units entities 1208 relate to the application roles entities 1236 in a many-to-one relationship.
  • Platforms Entities 1210
  • [0072] Platforms entities 1210 indicate the platforms of the various computer devices connected to the network, upon which the units, packages, and roles run. The variable set associated with the platforms entities 1210 is set forth below in Table 5.
    TABLE 5
    VARIABLE SET OF PLATFORMS ENTITIES 1210
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    PLATFORM_ID* Platform identification number Number R
    PLATFORM_NAME Platform name Character R
    PLATFORM-DESC Platform description Character O
  • The [0073] platforms entities 1210 may have multiple optional one-to-many relationships with other entities illustrated in FIG. 12. These entities with which the platforms entities 1210 may be related in an optional one-to-many relationship include the units entities 1202, as previously discussed, the account roles entities 1224, and the application roles entities 1236. Additionally, the platforms entities 1210 relates in a many-to-one fashion with the device pool roles entities 1218 and the packages entities 1220.
  • Unit Packages Entities 1212
  • The unit packages [0074] entities 1212 serve to relate the units represented by the units entities 1202 with the packages represented by the packages entities 1220, in much the same manner as described in connection with FIG. 10. The variable set associated with the unit packages entities 1212 is set forth below in Table 6.
    TABLE 6
    VARIABLE SET OF UNIT PACKAGES ENTITIES 1212
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    PKG_ID* Package identification number Number R
    UNIT_ID* Unit identification number Number R
    INSTALL_ORDER Installation order Number R
    EFF_BEG_DT* Effective beginning date Date R
    EFF_END_DT Effective ending date Date O
  • The [0075] unit package entities 1212 have many-to-one relationships with the units entities 1202, as previously discussed, and the packages entities 1220.
  • Account Role Units Entities 1214
  • Account [0076] role units entities 1214 are used in relating the units represented by the units entities 1202 with the account roles of the account roles entities 1224 in a similar manner as described in FIG. 10 using relational tables. The variable set associated with the account role units entities 1214 is set forth below in Table 7.
    TABLE 7
    VARIABLE SET OF ACCOUNT ROLE UNITS
    ENTITIES
    1214
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACCT_ROLE_ID* Account role Number R
    identification
    number
    UNIT_ID* Unit identification Number R
    number
    INSTALL_ORDER Installation order Number R
    DATE-CREATED Date created Date R
    CREATED_BY Created by Character R
  • The account [0077] role units entities 1214 have many-to-one relationships with the unit entities 1202, as previously indicated, and the account roles entities 1224.
  • Device Pool Role Units Entities 1216
  • The device pool role units entities [0078] 1216 serve to relate devices contained in device pools, which are associated with the device pool roles entities 1218, with the various software units associated with the units entities 1202 that are necessary to properly configure the devices. The variable set associated with the device pool role units entities 1216 is set forth below in Table 8.
    TABLE 8
    VARIABLE SET OF DEVICE POOL ROLE UNITS
    ENTITIES 1216
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DEVICE_POOL_ID* Device pool Number R
    identification
    number
    UNIT_ID* Unit identification Number R
    number
    INSTALL_ORDER Installation order Number R
    DATE-CREATED Date created Date O
    CREATED_BY Created by Character O
  • The device pool role units [0079] 1216 have many-to-one relationships with the units entities 1202, as previously indicated, and the device pool roles entities 1218.
  • Device Pool Roles Entities 1218
  • Device [0080] pool poles entities 1218 relate the device pool packages, the device roles, and the platforms of the various devices with the device pool role units associated with the device pool role units entities 1216. The variable set associated with the device pool roles entities 1218 is set forth below in Table 9. These variables relate to the device pool role, or the software associated with a particular device pool. Thus, the variable STATUS, indicated below in Table 9, may indicate the status of a device role.
    TABLE 9
    VARIABLE SET OF DEVICE POOL ROLES ENTITIES 1218
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DEVICE_POOL-ID* Device pool identification number Number R
    PLATFORM_ID Platform identification number Number R
    DEVICE_POOL_NAME Device pool name Character R
    STATUS Device pool role status Character R
    DEVICE_POOL_DESC Device pool description Character O
    DEVICE_POOL_ROLE_VERSION Device pool role version Number R
    EFF_BEG_DT Effective beginning date Date R
    CREATED_BY Created by Character R
    CREATE_DT Date created Date R
    VISIBLE Visibility Character O
  • The device [0081] pool roles entities 1218 are related to the device pool role units entities 1216 in a one-to-many relationship as previously discussed. Also, the device pool roles entities 1218 are related to the platforms entities 1210 in a many-to-one relationship, as previously discussed. In addition to these relationships, the device pool roles entities 1218 are related to the device roles entities 1226, and the device pool packages entities 1234 in one-to-many relationships.
  • Packages Entities 1220
  • The [0082] packages entities 1220 represent the various software packages, such as those described in connection with FIG. 10. The variable set associated with the packages entities 1220 is set forth below in Table 10.
    TABLE 10
    VARIABLE SET OF PACKAGES ENTITIES 1220
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    PKG_ID* Package identification Number R
    number
    PLATFORM_ID Platform identification Number R
    number
    ACCT_ID Account identification Number R
    number
    PKG_NAME Package name Character R
    PKG_TYPE Package type Character R
    PKG_VERSION Package version Number R
    PKG_DESC Package description Character O
    EFF_BEG_DT Effective beginning Date R
    date
    CREATED_BY Created by Character R
    CREATE_DT Date created Date R
  • The [0083] packages entities 1220 are related to the platforms entities 1210 in a many-to-one relationship, and the unit packages entities 1212 in a one-to-many relationship, as discussed above. Additionally, the packages entities 1220 is related to the account packages of entities 1222, the included packages entities 1230, the application packages entities 1232, and the device pool packages 1234 in one-to-many relationships. The relationship between the packages entities 1220 and the included packages entities 1230 is a dual one-to-many relationship. Also, the packages entities 1220 are related by way of the many-to-one relationship 1240 to an entity within the network entities 1112 shown in FIG. 17. Specifically, the packages entities 1220 relates to the accounts entities 1702 of FIG. 17 by way of a many-to-one relationship 1214.
  • Account Packages Entities 1222
  • The account packages [0084] entities 1222 serves to relate the packages entities 1220 with the account roles entities 1224, in a manner similar to the manner in which packages are related to roles in FIG. 10. The variable set associated with the account packages entities 1222 is set forth below in Table 11.
    TABLE 11
    VARIABLE SET OF ACCOUNT PACKAGES ENTITIES 1222
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACCT_ROLE_ID* Account role Number R
    identification number
    PKG_ID* Package identification Number R
    number
    INSTALL_ORDER Installation order Number R
    EFF_BEG_DT* Effective beginning Date R
    date
    EFF_END_DT Effective ending date Date O
  • The account packages [0085] entities 1222 relate to the packages entities 1220 as previously described, and the account roles entities 1224 in many-to-one relationships.
  • Account Roles Entities 1224
  • The [0086] account roles entities 1224 represent the various software roles associated with particular customer accounts. The variable set associated with the account roles entities 1224 is set forth below in Table 12. These variables relate to the account roles, or software packages for each account. For example, the STATUS variable may indicate the status of an account role as active, inactive, deprecated, experimental, and so forth.
    TABLE 12
    VARIABLE SET OF ACCOUNT ROLES ENTITIES 1224
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACCT_ROLE_ID* Account role Number R
    identification number
    ACCT_ID Account identification Number R
    number
    ACCT_ROLE_NAME Account role name Character R
    STATUS Account role status Character R
    ACCT_ROLE_VERSION Account role version Number R
    ACCT_ROLE_DESC Account role Character O
    description
    EFF_BEG_DT Effective beginning Date R
    date
    CREATED_BY Created by Character R
    CREATE_DT Date created Date R
    PLATFORM_ID Platform identification Number O
    number
  • As previously mentioned, the [0087] account roles entities 1224 relates in one-to-many relationships with the account role units entities 1214 and the account packages entities 1222. Also, as previously described, the account roles entities 1224 may optionally relate to the platforms entities 1210 in a many-to-one relationship. The account roles entities 1224 may also optionally relate to the device roles entities 1226 in a one-to-many relationship. The account roles entities 1224 may also relate, by way of a many-to-one relationship 1242, to an entity within the network entities 1112 illustrated in FIG. 17. Specifically, the account roles entities 1224 relates to the account entities 1702 illustrated in FIG. 17 by way of a many-to-one relationship 1242.
  • Device Roles Entities 1226
  • The [0088] device roles entities 1226 represent the various software roles associated with each device connected to the network. The variable set associated with the device roles entities 1226 is set forth below in Table 13.
    TABLE 13
    VARIABLE SET OF DEVICE ROLES ENTITIES 1226
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID Device identification Number O
    number
    DVC_ROLE_ID* Device role Number R
    identification number
    CUST_TIER_ID Customer tier Number O
    identification number
    DEVICE_POOL_ID Device pool Number R
    identification number
    ACCT_ROLE_ID Account role Number O
    identification number
    APP_ROLE_ID Application role Number O
    identification number
    DVC_ROLE_NAME Device role name Character R
    STATUS Device role status Character R
    EFF_BEG_DT Effective beginning Date R
    date
    CREATED_BY Created by Character R
    CREATE_DT Date created Date R
  • As mentioned before, the [0089] device roles entities 1226 relate to the device pool roles entities 1218, and optionally to the account roles entities 1224 in many-to-one relationships. The device roles entities also has optional many-to-one relationships with the application roles entities 1236, the customer tiers entities 1708 of FIG. 17 by way of relationship 1246, and the devices entities 1512 of FIG. 15 by way of relationship 1248. The device roles entities 1226 also relates in dual one-to-many and a single many-to-one relationship with elements of the configuration entities 1104 illustrated in FIG. 13. Specifically, the device roles entities 1226 relate to the device role configuration entities 1320 of FIG. 13 and the device role IP host entities 1308 of FIG. 13 in one-to- many relationships 1256, 1260, respectively. The device roles entities 1226 also relates to the status entities 1322 of FIG. 13 by a many-to-one relationship 1258.
  • Dependent Roles Entities 1228
  • The [0090] dependent roles entities 1228 relate to the application roles represented by the application roles entities 1236. The dependent roles entities 1228 serve to identify various application roles that are dependent upon other roles, and to describe this dependency. The variable set associated with the dependent roles entities 1228 is set forth below in Table 14.
    TABLE 14
    VARIABLE SET OF DEPENDENT ROLES ENTITIES 1228
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    APP_ROLE_ID Application role Number R
    identification
    number
    DEPENDENT_UPON_ROLE_ID Dependent upon Number R
    role number
    DEPENDENCY_DESC Description of Character R
    dependency
  • The dependent roles entities relate in dual many-to-one relationships with the [0091] application roles entities 1236.
  • Included Packages Entities 1230
  • The included packages [0092] entities 1230 is related to the packages entities 1220 and identifies packages that are included within a particular installation package, and the order in which it is to be installed. The variable set associated with the included packages entities 1230 is set forth below in Table 15.
    TABLE 15
    VARIABLE SET OF INCLUDED PACKAGES ENTITIES 1230
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    PKG_ID* Package Number R
    identification
    number
    INCLUDED_PKG_ID* Included package Number R
    identification
    number
    INSTALL_ORDER Installation order Number R
    EFF_BEG_DT Effective Date R
    beginning date
    EFF_END DT Effective ending Date O
    date
  • The included [0093] packages 1230 are related to the packages entities 1220 in dual many-to-one relationships, as described above.
  • Application Packages Entities 1232
  • The application packages [0094] entities 1232 relates the packages represented by the packages entities 1220 and the application roles represented by the application roles entities 1236. The relationship of the roles in packages is similar to the manner in which the roles in packages are related in FIG. 10. The variable set associated with the application packages entities 1232 is set forth below in Table 16.
    TABLE 16
    VARIABLE SET OF APPLICATION PACKAGES
    ENTITIES 1232
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    APP_ROLE_ID* Application role Number R
    identification number
    PKG_ID* Package identification Number R
    number
    INSTALL_ORDER Installation order Number R
    EFF_BEG_DT Effective beginning Date R
    date
    EFF_END DT Effective ending date Date O
  • The application packages [0095] entities 1232 relate to the packages entities 1220 as previously described, and the application roles entities 1236 in many-to-one relationships.
  • Device Pool Packages Entities 1234
  • The device [0096] pool packages entities 1234 serve to relate the device pool roles represented by the device pool roles entities 1218 with the packages represented by the packages entities 1220. This occurs in a similar manner as described in connection with FIG. 10. The variable set associated with the device pool packages entities 1234 is set forth below in Table 17.
    TABLE 17
    VARIABLE SET OF DEVICE POOL PACKAGES
    ENTITIES 1234
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DEVICE_POOL_ID* Device pool Number R
    identification
    number
    PKG_ID* Package Number R
    identification
    number
    INSTALL_ORDER Installation order Number R
    EFF_BEG_DT Effective beginning Date R
    date
    EFF_END DT Effective ending Date O
    date
  • The device [0097] pool packages entities 1234 relate to the packages entities 1220 on the device pool roles entities 1218 in many-to-one relationships, as described above.
  • Application Roles Entities 1236
  • The [0098] application roles entities 1236 represent the various application software roles. The variable set associated with the application roles entities 1236 is set forth below in Table 18. These variables relate to the application role. For example, the STATUS variable may give an indicator that an application role is active, inactive, experimental, deprecated, supported, unsupported, and so forth.
    TABLE 18
    VARIABLE SET OF APPLICATION ROLES ENTITIES 1236
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    APP_ROLE_ID* Application role Number R
    identification
    number
    ROLE_NAME Role name Character R
    ROLE_DESC Role description Character R
    APP_ROLE_VERSION Application role Number R
    version
    EFF_BEG_DT Effective Date R
    beginning date
    STATUS Application role Character R
    status
    CREATED_BY Created by Character R
    CREATE_DT Date created Date R
    PLATFORM_ID Platform Number O
    identification
    number
    SRVC_ID Service Number O
    identification
    number
  • As previously described, the [0099] application roles entities 1236 relates in a one-to-many relationship with the application role units entities 1208, the application packages entities 1232, and optionally the device roles entities 1226. Additionally, the application roles entities 1236, as indicated above, relates to the dependent roles entities 1228 in dual one-to-many relationships. The application roles entities 1236 also optionally relates in a many-to-one relationship with the platforms entities 1210. In addition to these relationships previously described, the application roles entities 1236 relates in a one-to-many relationship 1244 with the data center tiers 1724 of FIG. 7. The application roles entities 1236 also relates in a one-to-many relationship 1254 with the role configurations entities 1316 of FIG. 13. The application roles entities 1236 also relates to the status entities 1322 of FIG. 13, and optionally to the services entities 1314 of FIG. 13 by way of many-to- one relationships 1252, 1250, respectively.
  • Multiple entities within the [0100] software entities 1102 relate to entities illustrated in various other figures. For example, the relationships 1238, 1240, 1242, 1244, 1246 relate to various entities within the network entities 1112, which is illustrated in FIG. 17. These relationships have been labeled in FIG. 17 to indicate the direct relationship between entities of the software entities 1102 in FIG. 12 and the network entities 1112 in FIG. 17. Additionally, an optional relationship 1248 with the hardware entities 1108, which is illustrated in FIG. 15, is also indicated. Further, the relationships 1250, 1252, 1254, 1256, 1258 relate to entities within the configuration entities 1104, which is illustrated in FIG. 13.
  • Configuration 1104
  • The entities of the [0101] configuration entities 1104 are illustrated in FIG. 13. These configuration entities 1104 represent various configuration information relating to software, hardware, the network, and the like. Those entities which are not illustrated as having a direct relationship with any of the other entities are used by business logic, or intelligent agents, for various purposes. Like the software entities from FIG. 12, each of the entities within this diagram interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the software portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new configurations, without requiring the rewriting of software code which uses the model and the database implementation thereof.
  • Manufacturing Model Entities 1302
  • The [0102] manufacturing model entities 1302 is used to identify a manufacturing model identification number, manufacturing name, model name, and manufacturing model description. For example, if a Sun Spore 5 server is used by the present invention, the manufacturer name would be Sun, and the model name would be Spore 5. The description could be any indication that it is a server. The variable set associated with the manufacturing model entities 1302 is set forth below in Table 19.
    TABLE 19
    VARIABLE SET OF MANUFACTURING MODEL
    ENTITIES
    1302
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    MFG_MODEL_ID* Manufacturing Number R
    model
    identification
    number
    MFG Manufacturing Character R
    name
    MODEL Model name Character R
    MFG_MODEL_DESC Manufacturing Character O
    model
    description
  • The [0103] manufacturing model entities 1302 does not directly relate to any of the other entities illustrated in FIG. 13. This group of entities 1302 is used by business logic associated with the present invention to determine manufacturer name, model name, and manufacturer description for each of the devices used on the network associated with the present invention.
  • Component Objects Entities 1304
  • The component objects [0104] entities 1304 provide an indication of what table a particular value is stored in. For example, a location of the table in which values relating to the specific hardware or software object may be obtained by way of the component object entities 1304. The variable set associated with the component objects entities 1304 is set forth below in Table 20.
    TABLE 20
    VARIABLE SET OF COMPONENT OBJECTS ENTITIES 1304
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    TABLE_NAME* Table name Character R
    ID_NAME Identification Character R
    name
    SEQUENCE_NAME Sequence name Character O
    FATHER_ID_NAME Father Character O
    identification
    name
    AUTOGENERATE_ID Autogenerate Character R
    identification
  • The component objects [0105] entities 1304 does not directly relate to any of the entities illustrated in FIG. 13. This group of entities 1304 is used by business logic associated with the present invention to determine which tables should be used to look up values relating to specific objects on the network associated with the present invention. The objects whose values may be found by way of the component objects entities 1304 may be hardware objects or software objects.
  • Conduits Entities 1306
  • The [0106] conduits entities 1306 relate to the devices of the network associated with the present invention. These conduits entities 1306 relate to conduits by which information may be passed through a firewall. In essence, the conduits through a firewall constitute holes through a firewall by which devices may communicate from outside of the firewall to devices contained within the firewall. Thus, the conduits entities 1306 define the source and destination addresses that involved in communications across the firewall. The present invention also maintains a history, which records all of the traffic across the firewall. The variable set associated with the conduits entities 1306 is set forth below in Table 21.
    TABLE 21
    VARIABLE SET OF CONDUITS ENTITIES 1306
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID* Device identification Number R
    number
    SOURCE* Source Character R
    DESTINATION* Destination Character R
    PORT Port Number O
    PROTOCOL Protocol Character R
    CONDUIT_DESC Conduit description Character O
  • The [0107] conduits entities 1306 relate to the devices entities 1512 of FIG. 15 in a many-to-one relationship 1332.
  • Device Role IP Host Entities 1308
  • The device role [0108] IP host entities 1308 act a place holder for the various devices of the network, and allow IP addresses to be assigned without having a specific device connected to the network. The IP addresses of the devices used on the network associated with the present invention may be of a physical type or a logical type. This means that the IP address may physically relate to the specific device connected to the network, or may be a logical IP address, which does not correspond to the actual physical IP address, but relates the same device. The variable set associated with the device role IP host entities 1308 is set forth below in Table 22.
    TABLE 22
    VARIABLE SET OF DEVICE ROLE IP HOST ENTITIES 1308
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ROLE_ID Device role Number R
    identification number
    IP_ADDRESS* IP address Character R
    INTERFACE_SLOT Interface slot Character O
    INTERFACE_IP_TYPE Interface IP type Character R
    HOST_NAME Host name Character O
    DNS_HOST-ID DNS Host Number O
    identification number
    EFF_END_DT Effective ending date Date O
    EFF_BEG_DT Effective beginning Date R
    date
  • The device role [0109] IP host entities 1308 relates to the interface IP type entities 1310 in a many-to-one relationship. Also, as previously discussed, the device role IP host entities 1308 relates to the device roles entities 1226 of FIG. 12 in a many-to-one relationship 1260. The device role IP host also relates in a many-to-one relationship 1340 to the IP addresses entities 1730 of FIG. 17. The device role IP host entities 1308 may optionally relate to the DNS hosts entities 1604 of FIG. 16 in a many-to-one relationship 1336.
  • Interface IP Type Entities 1310
  • The interface [0110] IP type entities 1310 indicate the type of interface associated with each IP address. The variable set associated with the interface IP type entities 1310 is set forth below in Table 23.
    TABLE 23
    VARIABLE SET OF INTERFACE IP TYPE ENTITIES 1310
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    INTERFACE_IP_TYPE* Interface IP type Character R
    INTERFACE_IP_TYPE-DESC Interface IP type Character R
    description
  • The interface [0111] IP type entities 1310 is related to the device role IP host entities 1308 in a one-to-many relationship.
  • Virtual IPs Entities 1312
  • The virtual IPs entities [0112] 1312 relate to virtual IP addresses, which allow for virtual IP addressing, and allow for multiple machines to have the same IP address, or group of addresses mapped to them by way of a load balancer. A variable called STICKY may be set to require that each time a specific device accesses an IP address it is mapped to the same server by the load balancer. This “sticky” routing allows cookies to be used that were placed on the device by that server. The variable set associated with the virtual IPs entities 1312 is set forth below in Table 24.
    TABLE 24
    VARIABLE SET OF VIRTUAL IPS ENTITIES 1312
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID Device Number R
    identification
    number
    IP_ADDRESS* IP address Character R
    STICKY Sticky routing Character R
    ALGORITHM_TYPE Algorithm type Character O
  • The virtual IPs entities [0113] 1312 relates to the VIP groups entities 1424 of FIG. 14 in a one-to-many relationship 1328, the devices entities 1512 of FIG. 15 in a many-to-one relationship 1330, and to the IP addresses entities 1730 of FIG. 17 in a many-to-one relationship 1338.
  • Services Entities 1314
  • The [0114] services entities 1314 relate application roles to services for the convenience of users and network customers. This allows a customer to view and configure application roles in terms of services offered, which is a useful quality to customers. The variable set associated with the services entities 1314 is set forth below in Table 25.
    TABLE 25
    VARIABLE SET OF SERVICES ENTITIES 1314
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    SRVC_ID* Service identification Number R
    number
    SRVC_NAME Service name Character R
    SRVC_DESC Service description Character O
  • The [0115] services entities 1314 may optionally relate to the application roles entities 1236 of FIG. 12 in a one-to-many relationship 1250, as discussed above.
  • Role Configurations Entities 1316
  • The role configurations entities [0116] 1316 relate to the actual configurations of software roles. These role configuration associated with the configurations entities 1316 may include such information as the types of components to be used, such as specific memory types, CPU types, video card types. Also, the quantity of components to be used may be indicated, along with the component size and type. For example, if an Intel processor is used as a CPU, the quantity may be designated as two or three, and so on depending upon the number of the processor occupied by a particular customer. The component size associated with such a CPU would be expressed in megahertz, indicating the processing scheme. The configuration type would be expressed in a brand name, or perhaps a minimum specification requirement. The variable set associated with the role configurations entities 1316 is set forth below in Table 26.
    TABLE 26
    VARIABLE SET OF ROLE CONFIGURATIONS
    ENTITIES 1316
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    APP_ROLE_ID* Application role Number R
    identification number
    COMPNT_TYPE* Component type Character R
    QUANTITY Quantity Number R
    COMPNT_SIZE Component size Character O
    CONFIG_TYPE Configuration type Character R
  • The role configuration entities [0117] 1316 relate to the component type entities 1324 in a many-to-one relationship, and, as previously discussed, the application roles entities 1236 of FIG. 12 in a many-to-one relationship 1254.
  • Device Roles History Entities 1318
  • The device [0118] roles history entities 1318 is a history of all roles executed by a particular device. That is, the history of all software that has ever been employed by a specific device is indicated in the device roles history entities 1318. Thus, many of the entries within the device roles history entries 1318 are similar to those of the device roles entities 1226. The variable set associated with the device roles history entities 1318 is set forth below in Table 27.
    TABLE 27
    VARIABLE SET OF DEVICE ROLES HISTORY
    ENTITIES
    1318
    VARIABLE
    DEFINI- VARIABLE REQUIRED/
    VARIABLE TION TYPE OPTIONAL
    DVC_ROLE_ID Device role Number O
    identification
    number
    CUST_TIER_ID Customer Number O
    tier
    identification
    number
    DEVICE_POOL_ID Device pool Number O
    identification
    number
    ACCT_ROLE_ID Account role Number O
    identification
    number
    APP_ROLE_ID Application Number O
    role
    identification
    number
    DVC_ROLE_PROFILE_ID Device role Number O
    profile
    identification
    number
    DVC_ROLE_NAME Device role Character O
    name
    DVC_ROLE_BEG_DT Device role Date R
    beginning
    date
    DVC_ROLE_END_DT Device role Date R
    ending date
  • The device [0119] roles history entities 1318 cannot relate directly to any other entities illustrated on FIG. 13. The information contained within these entities 1318 is used by business logic associated with the present invention. The type of operation that may be performed by business logic using the device roles history entities 1318 may include, for example, a software rollback when software contained on a particular device has failed.
  • Device Role Configuration Entities 1320
  • The device [0120] role configuration entities 1320 relate to the configuration of various software roles. These device role configuration entities 1320 are a way in which generic name-value pairs may be defined, which are associated with device roles of the present invention. One instance in which this might be used is if a particular device has four processors, but a particular customer is only paid to use two processors of that server, a name-value pair may be used to indicate these specific device role configurations. Thus, a generic keyname may be generated associated with the two processors that have been paid for by a customer. The values associated with the name-value pair for which the name is expressed in the device role configuration entities 1320 is expressed within the device role configuration values entities 1326. The variable set associated with the device role configuration entities 1320 is set forth below in Table 28.
    TABLE 28
    VARIABLE SET OF DEVICE ROLE CONFIGURATION
    ENTITIES 132O
    VARIABLE
    DEFINI- VARIABLE REQUIRED/
    VARIABLE TION TYPE OPTIONAL
    DVC_ROLE_ID Device role Number R
    identification
    number
    KEY_NAME Key name Character R
    DVC_ROLE_CONFIG_ID* Device role Number R
    configuration
    identification
    number
  • The device [0121] role configuration entities 1320 is related to a device role configuration values entities 1326 in a one-to-many relationship, and to the device roles entities 1226 of FIG. 12 in a many-to-one relationship 1256.
  • Status Entities 1322
  • The [0122] status entities 1322 provide status reports regarding various software and hardware configurations. The variable set of the status entities 1322 is set forth below in Table 29.
    TABLE 29
    VARIABLE SET OF STATUS ENTITIES 1322
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    STATUS* Status Character R
    STATUS_DESC Status description Character R
  • The [0123] status entities 1322 relate to the application roles entities 1236, and the device roles entities 1226, both of FIG. 12, in one-to-many relationships 1252, 1258, respectively. Also, the status entities 1322 relate to the devices entities 1512 of FIG. 15 in a one-to-many relationship 1324.
  • Component Type Entities 1324
  • The [0124] component type entities 1324 is related to the various types of components associated with the devices of the network. The variable set associated with the component type entities 1324 is set forth below in Table 30.
    TABLE 30
    VARIABLE SET OF COMPONENT TYPE ENTITIES 1324
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    COMPNT_TYPE* Component Character R
    type
    COMPNT_TYPE_DESC Component Character R
    type
    description
  • The [0125] component type entities 1324 relate to the role configurations entities 1316 in a one-to-many relationship.
  • Device Role Configuration Values Entities 1326
  • The device role configuration values [0126] entities 1326 relate to values associated with the role configurations, which are represented by the device role configuration entities 1320. The device role configuration values 1326 are the value portion of the main-value pair associated with the device roles, for which the names are expressed within the device role configuration entities 1320, as previously described. The variable set associated with the device role configuration values entities 1326 is set forth below in Table 31.
    TABLE 31
    VARIABLE SET OF DEVICE ROLE CONFIGURATION VALUES
    ENTITIES 1326
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ROLE_CONFIG_ID* Device role Number R
    configuration
    identification
    number
    CONFIG_VALUE Configuration Character R
    value
    TEXT_ORDER* Text order Number R
  • The device role configuration values [0127] entities 1326 relate to the device role configuration entities 1320 in a many-to-one relationship.
  • As discussed in connection with FIG. 12, the various entities within the [0128] configuration entities 1104 of FIG. 13 are related to entities within the software entities 1102 of FIG. 12. The relationships 1250, 1252, 1254, 1256, 1258, 1260 are indicated as continuing on FIG. 12. Additionally, relationship 1328 is continued on FIG. 14, relationships 1330, 1332, 1334 are continued on FIG. 15, optional relationship 1336 may be continued on FIG. 16, and relationships 1338, 1340 are continued on FIG. 17. Each of these relationships is designated with the same numeral in the figure in which it continues, and illustrates the entity with which it relates directly.
  • Monitoring 1106
  • The entities of the [0129] monitoring entities 1106 are illustrated in FIG. 14 and an entity relationship diagram form. These entities relate to components that maintain the network and various hardware and software components of the networks, as well as configuration information. As with the aforementioned entities, the monitoring entities are described in terms of specific interrelations and are characterized by variable sets which provide enough specificity to accurately characterize the software portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new monitoring functions, without requiring the rewriting of software code which relies upon the model and the database implementation thereof.
  • Autonomous System Map Entities 1402
  • The autonomous system map entities are used to create an autonomous system map of the entire system associated with the present invention. The variable set associated with the autonomous [0130] system map entities 1402 is set forth below in Table 32.
    TABLE 32
    VARIABLE SET OF AUTONOMOUS SYSTEM MAP ENTITIES 1402
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    AS_MAP_ID* Autonomous system Number R
    map
    identification number
    AS_NUM Autonomous system Number O
    number
    AS_DESCRIPTOR Autonomous system Character O
    description
    AS_NAME Autonomous system Character O
    name
    CREATE_DT Date created Date R
    CREATED_BY Created by Character R
    MODIFIED_DT Date modified Date O
    MODIFIED_BY Modified by Character O
  • The autonomous [0131] system map entities 1402 of the monitoring entities 1106 illustrated in FIG. 14 are not directly related to any other entities of FIG. 14. However, the information contained within the autonomous system map entities 1402 is used by business logic and intelligent agents network in ascertaining system map information regarding the network of the present invention.
  • Device Request Classes Entities 1404
  • The device [0132] request classes entities 1404 are used to relate device classes, and requests associated with those devices. The device classes associated with the device request classes entities may include a particular group of devices, such as load balancers, routers, or servers. The variable set associated with the device request classes entities 1404 is set forth below in Table 33.
    TABLE 33
    VARIABLE SET OF DEVICE REQUEST CLASSES ENTITIES 1404
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID* Device Number R
    identification
    number
    REQUEST_CLASS_ID* Request class Number R
    identification
    number
    POLL_FREQUENCY Poll frequency of Number R
    class
  • The device [0133] request classes entities 1404 are related in a many-to-one relationship with the request class entities 1406. The device request classes entities portion of four are related in a many-to-one relationship 1428 with the devices entities 1512 of FIG. 15.
  • Request Class Entities 1406
  • The [0134] request class entities 1406 may be optionally related to request class variables entities 1408. The request class entities 1406 define suitable names for device classes used in connection with the present invention. The variable set associated with the request class entities 1406 is set forth below in Table 34.
    TABLE 34
    VARIABLE SET OF REQUEST CLASS ENTITIES 1406
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    REQUEST_CLASS_ID* Request class Number R
    identification
    number
    REQUEST_CLASS_NAME Request class Character R
    name
  • The [0135] request class entities 1406 may be optionally related to the request class variables entities 1408 in a one-to-many relationship.
  • Request Class Variables Entities 1408
  • The request [0136] class variables entities 1408 act as a relationship table between the request class entities 1406 and the SNMP variable entities 1420. The request class variables entities identify all variables collected for specific request class, and identify a foreign key to the request class table which relates the request classes to SNMP variables within the SNMP variable entities 1420. The variable set associated with the request class variables entities 1408 is set forth below in Table 35.
    TABLE 35
    VARIABLE SET OF REQUEST VARIABLES ENTITLES 1408
    VARIABLE
    DEFINI- VARIABLE REQUIRED/
    VARIABLE TION TYPE OPTIONAL
    REQUEST_CLASS_VAR_ID* Request Number R
    class
    variable
    identification
    number
    REQUEST_CLASS-ID Request Number O
    class
    identification
    number
    SNMP_VAR_ID SNMP Number O
    variable
    identification
    number
  • The request [0137] class variables entities 1408 may be optionally related in many-to-one relationships with the request class entities 1406, as discussed above, and to the SNMP variables entities 1420.
  • Manager Applications Entities 1410
  • The [0138] manager applications entities 1410 is a list of internal applications that defines all applications allowed to communicate with devices and access these devices, such as software applications. The variable set associated with the manager applications entities 1410 is set forth below in Table 36.
    TABLE 36
    VARIABLE SET OF MANAGER APPLICATIONS ENTITLES 1410
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    MGR_APP_ID* Manager application Number R
    identification number
    APP_NAME Application name Character R
    CREATE_DT Dated created Date R
    MODIFIED_DT Date modified Date O
    MODIFIED_BY Modified by Character O
  • The [0139] manager applications entities 1410 are related to the monitor ACLs entities 1412 and the device application configuration entities 1414.
  • Monitor ACLs Entities 1412
  • The [0140] monitor ACLs entities 1412 allows for monitoring of access control list (ACLs) associated with devices of the present invention. The variable set associated with the monitor ACLs entities 1412 is set forth below in Table 37.
    TABLE 37
    VARIABLE SET OF MONITOR ACLS ENTITIES 1412
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    MON_ACL_ID* Monitor ACL Number R
    identification number
    MGR_APP_ID Monitor application Number R
    identification number
    SET_NAME Set name Character O
    SET_NUM Set number Number O
    CREATE_DT Date created Date O
    MODIFIED_DT Date modified Date O
    MODIFIED_BY Modified by Character O
  • The [0141] monitor ACLs entities 1412 are related to the manager applications entities 1410 in a many-to-one relationship, as discussed above. The monitor ACLs entities 1412 are also related to the device ACLs entities 1418 and the ACL entries entities 1422 in one-to-many relationships.
  • Device Application Configuration Entities 1414
  • The device [0142] application configuration entities 1414 relate devices with manager applications, and provide a mechanism whereby the configuration of device applications may be monitored. The device application configuration entities 1414 are a name-value pair for device applications configured on the network. A date or text value may be entered and associated with the devices, depending upon the specific device type. The variable set associated with the device application configuration entities 1414 is shown below in Table 38.
    TABLE 38
    VARIABLE SET OF DEVICE APPLICATION
    CONFIGURATION ENTITIES
    1414
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID* Device identification Number R
    number
    MGR_APP_ID* Manager application Number R
    identification number
    CREATE_DT Date created Date R
    CONFIG_TXT_VAL Configuration text Character O
    value
    CONFIG_DT_VAL Configuration date Date O
    value
    CONFIG_NAME* Configuration name Character R
    CREATED_BY Created by Character R
  • The device application configuration entities is related in many-to-one relationships with the [0143] manager applications entities 1410, as previously discussed, and with the devices entities 1512 of FIG. 15 by way of relationship 1430.
  • Device Authorization Entities 1416
  • The [0144] device authorization entities 1416 are used for authorizing use of devices by way of user names, passwords, and the like. The device authorization entities 1416 describe specific device authorizations required by the simple network management protocol (SNMP), used in connection with one embodiment of the present invention. The device authorization entities 1416 allow for current and future, or next values, of user names and passwords to be read, written, and trapped (having an alert sent regarding an erroneous user name or password). The variable set associated with the device authorization entities 1416 is set forth below in Table 39.
    TABLE 39
    VARIABLE SET OF DEVICE AUTHORIZATION ENTITIES 1416
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_AUTH_ID* Device authorization Number R
    identification number
    DVC_ID Device identification Number R
    number
    MGR_APP_ID Manager Application Number R
    identification number
    USERNAME User name Character O
    VIEW_PASSWD View password Character O
    ENABLE PASSWD Enable password Character O
    CURR_V1_READ Read current value Character O
    CURR_V1_WRITE Write current value Character O
    CURR_V1_TRAP Send alert for current Character O
    value
    NEXT_V1_READ Read next value Character O
    NEXT_V1_WRITE Write next value Character O
    NEXT_V1_TRAP Send alert for next Character O
    value
    CREATE_DT Date created Date O
    MODIFIED_DT Date modified Date O
    MODIFIED_BY Modified by Character O
  • The [0145] device authorization entities 1416 relate to the device ACLs entities 1418 in a one-to-many relationship and to the devices entities 1512 of FIG. 15 in a many-to-one relationship 1426.
  • Device ACLs Entities 1418
  • The [0146] device ACLs entities 1418 are used, to provide the device authorizations entities 1416 with the correct access control lists (ACLs). The variable set associated with the device ACLs entities 1418 is set forth below in Table 40.
    TABLE 40
    VARIABLE SET OF DEVICE ACLS ENTITIES 1418
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    MON_ACL_ID* Monitor ACL Number R
    identification number
    DVC_AUTH_ID* Device Authorization Number R
    identification number
    MODIFIED_DT Date modified Date O
    MODIFIED_BY Modified by Character O
  • The [0147] device ACLs entities 1418 are related to the monitor ACLs entities 1412 and the device authorizations entities 1416 in many-to-one relationships, as previously discussed.
  • SNMP Variables Entities 1420
  • The [0148] SNMP variables entities 1420 provide information regarding variables associated with the simple network management protocol (SNMP) associated with the devices connected to the network of the present invention. Generally, standard SNMP variables are assigned to specific devices or objects and a unique object identification must be determined for internal purposes. The variable set associated with the SNMP variables entities 1420 is set forth below in Table 41.
    TABLE 41
    VARIABLE SET OF SNMP VARIABLES ENTITIES 1420
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    SNMP-VAR-ID* SNMP Variable Number R
    Identification Number
    DOTTED-OID Character R
    VAR-NAME Variable name Character R
    Identification Number
  • The [0149] SNMP variables entities 1420 may optionally be related to the request class variables entities 1408 in a one-to-many relationship.
  • ACL Entries Entities 1422
  • The [0150] ACL entries entities 1422 relate to the entries on the access control lists associated with the various devices connected to the network of the present invention. The variable set associated with the ACL entries entities 1422 is set forth below in Table 42.
    TABLE 42
    VARIABLE SET OF ACL ENTRIES ENTITIES 1422
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    MON-ACL-ID* Monitor ACL Number R
    identification number
    PERMISSION* Permission Character R
    IP-ADDRESS* IP Address Character R
    NET MASK Net Mask Name Character O
    TCPIP-PORT TCP/IP Character O
  • [0151] ACL entries entities 1422 is related in a many-to-one relationship with the monitor ACLs entities 1412.
  • VIP Groups Entities 1424
  • The Virtual IP (VIP) [0152] groups entities 1424 relate to devices grouped into VIP groups. The VIP groups entities 1424 are used by load balancers within the system to route single IP addresses to multiple servers by way of VIP mapping. An interface identification number is provided, and an interface port may be specified. The variable set associated with the VIP groups entities 1424 is shown below in Table 43.
    TABLE 43
    VARIABLE SET OF GROUPS ENTITIES 1424
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    VIP-GROUP-ID* VIP group Number R
    Identification Number
    VIP-IP-ADDRESS VIP IP address Character R
    GROUP-NAME Group name Character O
    VIP-PORT VIP port Character O
    IF-IP-ID Interface IP Number R
    Identification number
    IF-PORT Interface port Character O
  • The [0153] VIP groups entities 1424 are related to the virtual IPs entities 1312 of FIG. 13 in a many-to-one relationship 1428, and to the interface IPs entities 1524 of FIG. 15.
  • [0154] Various relationships 1426, 1428, 1430, 1432 in FIG. 14 are indicated as relating entities within the monitoring entities 1106, with entities illustrated on FIG. 15, associated with the hardware entities 1108. Additionally, as discussed in connection with FIG. 13, the relationship 1328 from FIG. 13 relates to the VIP groups elements 1424, as shown in FIG. 14.
  • Hardware 1108
  • The entities illustrated in FIG. 15 are part of the [0155] hardware entities 1108, and are illustrated in entity relationship diagram form. Each of these entities is described below. Each of the entities within this diagram interrelate and are characterized by variable sets which provide enough specificity to accurately characterize the hardware portion of the network that the model is intended to capture. At the same time, however, these entities and their respective variables are sufficiently generic to readily permit the addition of, e.g., new hardware devices, without requiring the rewriting of software code which relies upon the model and the database implementation thereof and permitting the reuse of existing software code to interact with the database model regarding the newly added hardware device.
  • Memory Components Entities 1502
  • The [0156] memory components entities 1502 describe various memory components of the devices related to the device entities 1512. The variable set associated with the memory components entities 1502 is set forth below in Table 44.
    TABLE 44
    VARIABLE SET OF MEMORY COMPONENTS ENTITIES 1502
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC-ID Device Identification Number R
    Number
    MEM-COMPT-ID* Memory Component Number R
    Identification Number
    QUANTITY Quantity of memory Character R
    components
    MEM-TYPE Memory type Character R
    MEM-LOCATION Memory location Character O
    EFF-BEG-DT Effective beginning Date R
    date
    EFF-END-DT Effective ending date Date O
  • The [0157] memory components entities 1502 relates to the devices entities 1512 in a many-to-one relationship.
  • Storage Components Entities 1504
  • The [0158] storage components entities 1504 relate to the storage components of devices associated with the devices entities 1512. The variable set associated with the storage components entities 1504 is set forth below in Table 45.
    TABLE 45
    VARIABLE SET OF STORAGE COMPONENTS ENTITLES 1504
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC-ID Device Number R
    STOR-COMPNT-ID* Storage Component Number R
    identification
    number
    STOR-MEDIA Storage media Character R
    STOR-TYPE Storage type Character R
    STOR-MFG Storage Character O
    Manufacturer
    STOR-MODEL Storage model Character O
    STOR-CAP Storage capacity Character O
    STOR-DRIVE Storage drive Character R
    EFF-BEG-DT Effective beginning Date R
    date
    EFF-END-DT Effective ending Date O
    date
  • The [0159] storage components entities 1504 relate to the devices entities 1512 in a many-to-one relationship.
  • Bus Components Entities 1506
  • The [0160] bus components entities 1506 are related to the bus components of the devices represented by the devices entities 1512. The variable set associated with the bus components entities 1506 is set forth below in Table 46.
    TABLE 46
    VARIABLE SET OF BUS COMPONENTS ENTITIES 1506
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC-ID Device Number R
    identification
    number
    BUS-COMPNT-ID* Bus component Number R
    identification
    number
    BUS-TYPE Bus type Character R
    BUS-DVC-ID Bus device Character O
    identification
    BUS-DVC-VENDOR Bus device vendor Character O
    BUS-DVC-CLASS Bus device class Character O
    BUS-DVC-VERSION Bus device version Character O
    BUS-ID Bus identification Character R
    EFF-BEG-DT Effective beginning Date R
    date
    EFF-END-DT Effective ending Date O
    date
  • The [0161] bus components entities 1506 relate to the devices entities 1512 in a many-to-one relationship.
  • Interface Components Entities 1508
  • The [0162] interface components entities 1508 relate to interface components contained within interface cards of the devices represented by the devices entities 1512. The variable set associated with the interface components entities 1508 is set forth below in Table 47.
    TABLE 47
    VARIABLE SET OF COMPONENTS ENTITIES 1508
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    IF-CARD-ID Interface card Number R
    identification number
    IF-COMPNT-ID* Interface component Number R
    identification number
    IF-TYPE Interface type Character R
    HW-ADDR Hardware address Character O
    IF-SPEED Interface speed Character O
    EFF-BEG-DT Effective beginning Date R
    date
    EFF-END-DT Effective ending date Date O
    IF-ALIAS Interface alias Character O
    IF-DESC Interface descriptor Character O
    IF-INDEX Interface index Number O
  • The [0163] interface components entities 1508 relate to the interface cards entities 1510 and the interface type entities 1514 in many-to-one relationships. Also, the interface components interface 1508 relate to the subinterfaces entities 1520 in a one-to-many relationship.
  • Interface Cards Entities 1510
  • The [0164] interface cards entities 1510 relate to the interface cards contained within the devices represented by the devices entities 1512. The variable set associated with the interface cards entities 1510 is set forth below in Table 48.
    TABLE 48
    VARIABLE SET OF INTERFACE CARDS ENTITIES 1510
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC-ID Device identification Number R
    number
    IF-CARD-ID* Interface card Number R
    identification number
    CARD-IND Card index number Number O
    CARD-SER-NUM Card serial number Number O
    SLOT Slot Character O
    CPU-SPEED CPU processing speed Character O
    MEM-QUANT Memory quantity Character O
    EFF-BEG-DT Effective beginning Date R
    date
    DRAM-MB Amount of DRAM Number O
    in MB
    CONTAINED-BY Contained by Number O
  • The [0165] interface cards entities 1510 relate to the devices entities 1512 in a many-to-one relationship.
  • Devices Entities 1512
  • The [0166] devices entities 1512 relate to the various devices connected to the network associated with the present invention. Multiple variables are for defining devices and communication with the network associated with the present invention. For example, information such as device and manufacturer identifications, serial numbers, device types, status, and other similar descriptions are provided for, along with other convenient variables, such as a flag which indicates whether a device should be monitored or not. The MONITOR_FLG variable may be used in the future to determine the level of monitoring that should be performed for each device identified within the device's entities 1512. The variable set associated with the devices entities 1512 is set forth below in Table 49.
    TABLE 49
    VARIABLE SET OF DEVICES ENTITIES 1512
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC-ID* Device Number R
    identification
    number
    MID Manufacturer Character O
    identification
    SERIAL-NUM Serial Number Character O
    DVC-TYPE Device type Character R
    STATUS Device Status Character R
    DVC-MFG Device Character O
    Manufacturer
    DVC-MODEL Device Model Character O
    CHASSIS-SER-NUM Chassis serial Character O
    number
    LOOPBACK-IP Loopback IP Character O
    address
    SYS-NAME System name Character O
    SYS-DESC System description Character O
    SYS-OBJ-ID System Object Character O
    identification
    SYS-LOC System location Character O
    SNMPV2C-CAPABLE SNMP v. 2c Character O
    capability
    SNMPV3-CAPABLE SNMP v. 3 Character O
    capability
    OS-VER OS version Character O
    EFF-BEG-DT Effective beginning Date R
    date
    DVC-DESC Device description Character O
    DISCOVER-DT Discover date Date R
    NOTES notes Character O
    SNMP-SYS-LOC SNMP system Character O
    location
    MONITOR-FLG Monitor flag Character O
  • The device's [0167] entities 1512 relates to the memory components entities 1502, the storage components entities 1504, the bus components entities 1506, the interface cards entities 1510, the device console entities 1516, and the CPU components entities 15 8 in one-to-many relationships. The devices entities 1512 also relate to the device authorizations entities 1416 in a one-to-many relationship 1426, the device request classes entities 1404 in a one-to-many relationship 1428, and the device application configuration entities 1414 in a one-to-many relationship 1430, all of which entities are illustrated in FIG. 14. Additionally, the devices entities 1512 relate to the virtual IPS entities 1312 in a one-to-many relationship 1330, the conduits entities 1306 in a one-to-many relationship 1332, the status entities 1322 in a many-to-one relationship 1324, all of which are illustrated in FIG. 13. Also, the devices entities may optionally be related in a one-to-many relationship 1248 to the device roles 1226 of FIG. 12.
  • Interface Type Entities 1514
  • The [0168] interface type entities 1514 relate to the type of interface achieved through the interface components represented by the interface components entities 1508. The variable set associated with the interface type entities 1514 is set forth below in Table 50.
    TABLE 50
    VARIABLE SET OF INTERFACE TYPE ENTITLES 1514
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    INT-TYPE* Interface type Character R
    INT-TYPE-DESC Interface type description Character R
  • The [0169] interface type entities 1514 relate to the interface components entities 1508 in a one-to-many relationship.
  • Device Console Entities 1516
  • The [0170] device console entities 1516 relate to consoles that may be attached to devices represented by the device entities 1512. The consoles may be for the convenience of a user in accessing information contained within the devices, or by accessing the network by way of the devices. The variable set associated with the device console entities 1516 is set forth below in Table 51.
    TABLE 51
    VARIABLE SET OF DEVICE CONSOLE ENTITIES 1516
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID Device Number R
    identification
    number
    CONSOLE_IP* Console IP address Character R
    CONSOLE_HOST Console host name Character R
    NAME
    PORT port number Number O
    PHONE_NUM Phone number Character O
    EFF_BEG_DT Effective Date R
    beginning date
  • The [0171] device console entities 1516 relate to the device entities 1512 in a many-to-one relationship, as previously mentioned.
  • CPU Components Entities 1518
  • The [0172] CPU components entities 1518 relate to the various components of the CPUs of the devices which are represented by the device entities 1512. The CPU components entities 1518 have a series of variables associated therewith indicate information regarding the type of CPU, the speed, the family, the model, the slot, and other such information, which may be necessary in provisioning servers, to ensure that software is installed can be adequately handled by the CPU on a particular device. The variable set associated with the CPU components entities 1518 is set forth below in Table 52.
    TABLE 52
    VARIABLE SET OF CPU COMPONENTS ENTITIES 1518
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID Device Number R
    identification
    number
    CPU_COMPNT_ID* CPU Component Number R
    identification
    number
    CPU_FAM CPU Family Character R
    CPU_SPEED CPU processing Character O
    speed
    CPU_VEND CPU vendor Character O
    CPU_MODEL CPU model Character O
    CACHE SIZE cache size Character O
    CPU_SLOT CPU slot Character R
    STEPPING CPU versioning Character O
    EFF_BEG_DT Effective Date R
    beginning date
    EFF_END_DT Effective Date O
    ending date
    STATUS CPU status Character O
  • The [0173] CPU components entities 1518 relate to the devices entities 1512 in a many-to-one relationship, as previously mentioned.
  • SUB Interfaces Entities 1520
  • The SUB interfaces [0174] 1520 relate the interface components of the interface components entities 1508 with the interface IP addresses of the interface IPs entities 1524. These SUB interfaces entities 1520 may be used with asynchronous transfer mode (ATM) frame relay systems, for example. The variable set associated with the SUB interfaces entities 1520 is set forth below in Table 53.
    TABLE 53
    VARIABLE SET OF SUB INTERFACES ENTITIES 1520
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    SUB_IF_ID* SUB interface Number R
    identification
    number
    IF_COMPNT_ID Interface component Number R
    identification
    number
    CIR_ID Circuit identification Number O
    number
    VCI Virtual channel Character O
    identifier
    VPI Virtual path Character O
    identifier
    TX_BNDWDTH Transit bandwidth Character O
    RX_BNDWDTH Receive bandwidth Character O
    EFF_BEG_DT Effective Date R
    beginning date
  • The SUB interfaces [0175] entities 1320 is related to the interface components entities 1508 in a many-to-one relationship, and to the interface IPs 1524 in a one-to-many relationship. The SUB interfaces entities 1520 may also be optionally related to the circuits entities 1522 in a many-to-one relationship.
  • Circuits Entities 1522
  • The [0176] circuits entities 1522 may be use to optionally relate to the SUB interfaces entities 1520. These entities 1522 allow for specific identification of the circuits associated with the SUB interfaces and the interface components, and the type and description of the circuits. The variable set associated with the circuits entities 1522 is set forth below in Table 54.
    TABLE 54
    VARIABLE SET OF CIRCUITS ENTITIES 1522
    VARIABLE REQUIRED/
    VARIABLE VARIABLE DEFINITION TYPE OPTIONAL
    CIR_ID* Circuit identification number Number R
    CIR_TYPE Circuit type Character R
    CIR_DESC Circuit description Character O
  • The [0177] circuits entities 1522 may optionally relate to the SUB interfaces entities 1520 in a one-to-many relationship.
  • Interface IPs Entities 1524
  • The [0178] interface IPs entities 1524 may be used to relate the SUB interfaces represented by the SUB interfaces entities 1520 with VIP groups of the VIP groups entities 1424 shown in FIG. 14. The variable set associated with the interface IPs entities 1524 is set forth below in Table 55.
    TABLE 55
    VARIABLE SET OF INTERFACE IPS ENTITIES 1524
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    IF_IP_ID* Interface IP Number R
    identification number
    IP_ADDRESS IP address Character R
    SUB_IF_ID SUB interface Number R
    identification number
    NETMASK Net Mask Character O
    EFF_BEG_DT Effective Date R
    beginning date
    PRIMARY_IF Primary interface Character O
  • The [0179] interface IPs entities 1524 relates to the SUB interfaces entities 1520 in a many-to-one relationship and to the VIP groups entities 1424 of FIG. 14 in a one-to-many relationship 1432.
  • As indicated previously in connection with FIGS. [0180] 12-14, various relationships 1248, 1330, 1332, 1334, 1426, 1428, 1430, 1432 are directly related to entities within the hardware 1108 illustrated in FIG. 15 from these other figures representing the software 1102, the configuration 1104, and the monitoring 1106.
  • DNS 1110
  • The entities illustrated in FIG. 16 are part of the [0181] DNS entities 1110. The DNS entities 1110 relate to the assignment of DNS domain names. These entities are related in an entity relationship diagram fashion.
  • DNS Configuration Entities 1602
  • The [0182] DNS configuration entities 1602 allow for the translation of DNS names to DNS values, and may be used by the business logic associated with the network of the present invention. These DNS names and values may be translated into addresses related to various network hosts. The variable set associated with the DNS configuration entities 1602 is set forth below in Table 56.
    TABLE 56
    VARIABLE SET OF DNS CONFIGURATION ENTITIES 1602
    VARIABLE REQUIRED/
    VARIABLE VARIABLE DEFINITION TYPE OPTIONAL
    NAME Name Character R
    VALUE Value Character R
  • The [0183] DNS configuration entities 1602 are illustrated in FIG. 16 as having no direct relationship with any of the other entities illustrated therein. The values contained within the DNS configuration entities 1602 are used by business logic associated with the present invention, which is able to query the DNS configuration entity 1602 to relate between the entries of the name-value pairer associated with these entities 1602.
  • DNS Hosts Entities 1604
  • The [0184] DNS host entities 1604 relate to DNS hosts associated with the present invention. The DNS host entities 1604 provide for a unique manner in which multiple DNS hosts may be identified. Using multiple DNS hosts provided customer with a more efficient DNS service. For example, if a primary DNS host is not able to handle a request within a predefined time, the expire time set on a second DNS may lapse, causing the secondary DNS to handle the pending request. This is also known as a time to live (TTL). The variable set associated with the DNS hosts entities 1604 are indicated below in Table 57.
    TABLE 57
    VARIABLE SET OF DNS HOSTS ENTITIES 1604
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DNS_HOST_ID* DNS Host Number R
    identification
    number
    DOMAIN_ID Domain Number R
    identification
    number
    DVC_HOST_TYPE Device host type Character O
    HOST_NAME Host name Character R
    DNS_HOST_DATA DNS Host Data Character R
    DNS_HOST_TYPE DNS Host type Character R
    EXPIRE Time until expire Number O
    EFF_BEG_DT Effective Date R
    beginning date
    MODIFIED_BY Modified by Character O
  • The DNS hosts [0185] entities 1604 are related to the DNS domains entities 1616, and the DNS host types entities 1606 in many-to-one relationships. The DNS host types entities 1606 in many-to-one relationships, the DNS hosts entities 1604 may optionally be related to the device role IP host entities 1308 illustrated in FIG. 3 in a one-to-many relationship 1336.
  • DNS Host Types Entities 1606
  • The DNS [0186] host types entities 1606 indicate the types of DNS hosts associated with the DNS hosts entities 1604. The variable set associated with the DNS hosts types entities 1606 is set forth below in Table 58.
    TABLE 58
    VARIABLE SET OF DNS HOST TYPES ENTITIES 1606
    VARI-
    VARIABLE ABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DNS_HOST_TYPE* DNS Host type Character R
    DNS_HOST_TYPE_DESC DNS Host type Character O
    description
  • The DNS [0187] host types entities 1606 are related to the DNS hosts entities 1604 in a one-to-many relationship.
  • DNS ACLs Entities 1608
  • The DNS ACLs entities [0188] 1608 relate to the access control lists associated with various DNS. The variable set associated with the DNS ACLs entities 1608 is set forth below in Table 59.
    TABLE 59
    VARIABLE SET OF DNS ACLS ENTITIES 1608
    VARIABLE REQUIRED/
    VARIABLE VARIABLE DEFINITION TYPE OPTIONAL
    ACL_ID* ACL identification number Number R
    ACL_DESC ACL Description Character O
    ACL_NAME ACL Name Character R
  • The DNS ACLs entities [0189] 1608 are related to the DNS ACL entries entities 1610, the DNS allow transfers entities 1612, and the DNS allow queries entities 1618 in one-to-many relationships.
  • DNS ACL Entries Entities 1610
  • The DNS ACL entries entities [0190] 1610 relate to the ACL entries for the DNS. The variable set associated with the DNS ACL entries entities 1610 is set forth below in Table 60.
    TABLE 60
    VARIABLE SET OF DNS ACL ENTRIES ENTITIES 1610
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACL_ENTRY_ID ACL entry Number R
    identification number
    NET Net Character R
    MASK Mask Character O
    ACL_ID ACL identification Number R
    number
  • The DNS ACL entries entities are related to the DNS ACLs entities [0191] 1608 in a many-to-one relationship, as previously mentioned.
  • DNS Allow Transfers Entities 1612
  • The DNS allow [0192] transfers entities 1612 is used to determine whether or not DNS transfers may take place between given DNs domains according to the ACLs of the DNS ACLs entities 1608. The variable set associated with the DNS allow transfers entities 1612 is set forth below in Table 61.
    TABLE 61
    VARIABLE SET OF DNS ALLOW TRANSFERS ENTITIES 1612
    VARI-
    VARIABLE ABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DOMAIN_ID* Domain identification Number R
    number
    ACL_ID* ACL identification Number R
    number
    TRANSFER_DESC Transfer description Character O
    EFF_BEG_DT Effective beginning Date R
    date
  • The DNS allow [0193] transfers entities 1612 are related to the DNS ACLs entities 1608 and the DNS domains entities 1616 in many-to-one relationships.
  • DNS Domain Types Entities 1614
  • The DNS domain types entities [0194] 1614 relate to the types of DNS domains associated with the DNS domain entities 1616. The variable set associated with the DNS domain types entities 1614 is set forth below in Table 62.
    TABLE 62
    VARIABLE SET OF DNS DOMAIN TYPES ENTITIES 1614
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DNS_DOMAIN_TYPE* DNS Domain Character R
    type
    DOMAIN_TYPE_DESC Domain type Character O
    description
  • The DNS domain types entities [0195] 1614 relate to the DNS domain entities 1614 in a one-to-many relationship.
  • DNS Domain Entities 1616
  • The [0196] DNS domain entities 1616 relate to the various DNS domains associated with devices connected to the network of the present invention. The variables associated with the DNS domain entities 1616 relate to domains maintained by a host, in accordance with an embodiment of the present invention. A DNS term “SOA” or start of authority, is used to define several variables. For example, a serial variable is given, which indicates the revision number of the DNS file used to look up domain names. A refresh rate is set, which may be adjusted according to the speed with which the DNS file is updated on a primary DNS, to control how often a secondary DNS updates its DNS file. Also, an expire time, which indicates the time that a secondary DNS will wait until taking over a domain name request may be set. A minimum cash time for a particular entry, and a name server are provided for variables of the DNS domain entity 1616. Also, an administrative contact e-mail address is provided for each domain. A retry variable may also be provided whereby after a certain amount of time, or a certain amount of attempts, a DNS must assume the role of the primary DNS. A rebuilt date is given, whereby the system, or agents of the system, know that if this date is changed, then the server needs to rebuild. One of the advantages of the present invention is that DNS entries are not created in the DNS server, but rather are contained within a separate database with specific forms that define acceptable DNS entries. The variable set associated with the DNS domain entities 1616 is set forth below in Table 63.
    TABLE 63
    VARIABLE SET OF DNS DOMAINS ENTITIES 1616
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DOMAIN_ID* Domain Number R
    identification
    number
    DNS_DOMAIN_TYPE DNS Domain Character R
    type
    DOMAIN_NAME Domain name Character R
    SOA_SERIAL Start of Character R
    authority serial
    SOA_REFRESH Start of Character R
    authority refresh
    SOA_EXPIRE Start of Character R
    authority expire
    SOA_MIN Start of Character R
    authority
    minimum
    SOA_NS Start of Character R
    authority
    name server
    SOA_EMAIL Start of Character R
    authority
    e-mail
    contact
    SOA_RETRY Start of Character R
    authority
    retry times
    MOD_DT Date modified Date O
    MOD_BY Modified by Character O
    REBUILD_DT Rebuild date Date O
    ACCT_ID Account Number O
    identification
    number
    EFF_BEG_DT Effective Date R
    Beginning date
  • A [0197] DNS domain entities 1616 are related in many-to-one relationships with the DNS domain types entities 1614, as previously discussed, and the DNS domain masters entities 1620. Additionally, the DNS domains entities 1616 relate to the DNS hosts entities 1604, the DNS allow transfers entities 1612, and the DNS queries entities 1618 in one-to-many relationships. Also, the DNS domains entities 1616 may optionally relate to the accounts entities 1702 of the network entities 1112, illustrated in FIG. 17, in a many-to-one relationship 1624.
  • DNS Allow Queries Entities 1618
  • The DNS allow [0198] queries entities 1618 assist in determining whether or not queries may be allowed between certain DNS domains, according to the DNs ACLs of the DNS ACLs entities 1608. The variable set associated with the DNS allow queries entities 1618 is set forth below in Table 64.
    TABLE 64
    VARIABLE SET OF DNS ALLOW QUERIES ENTITIES 1618
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DOMAIN_ID* Domain identification Number R
    number
    ACL_ID* ACL identification Number R
    number
    QUERY_DESC Query description Character O
    EFF_BEG_DT Effective beginning Date R
    date
  • The DNS allow [0199] queries entities 1618 related to the DNS ACLs entities 1608 and the DNS domains entities 1616 in many-to-one relationships.
  • DNS Domain Masters Entities 1620
  • The DNS [0200] domain masters entities 1620 relates the DNS domain of the DNS domain entities 1616 with the DNS master IPs of the DNS master IPs entities 1622. The variable set associated with the DNS domain masters entities 1620 is set forth below in Table 65.
    TABLE 65
    VARIABLE SET OF DNS DOMAIN MASTERS ENTITIES 1620
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DOMAIN_ID* Domain Number R
    identification
    number
    DNS_MASTER_IP_ID DNS Master Number R
    IP identification
    number
    EFF_BEG_DT Effective Date R
    beginning
    date
  • The DNS [0201] domain masters entities 1620 are related to the DNS domains entities 1616 in a one-to-many relationship, and to the DNS master IPs entities 1622 in a many-to-one relationship.
  • DNS Master IPs Entities 1622
  • The DNS master IPs entities [0202] 1622 relate to the DNS master IP addresses of the devices on the network associated with the present invention. The variable set associated with the DNS master IPs entities 1622 is set forth below in Table 66.
    TABLE 66
    VARIABLE SET OF DNS MASTER IPS ENTITIES 1622
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DNS_MASTER_IP_ID* DNS master Number R
    IP
    identification
    number
    IP_ADDR IP address Character R
    MASTER_DESC Master Character O
    description
  • The DNS master IPs entities [0203] 1622 relate to the DNS domain masters entities 1620 in a one-to-many relationship.
  • The relationship [0204] 1336 is between the DNS host entities 1604 and an entity illustrated in FIG. 13, within the configuration entities 1104. Additionally, the relationship 1624 relates the DNS domain entities 1616 with an entity in FIG. 17 of the network entities 1112.
  • Network 1112
  • The entities illustrated in an entity relationship diagram in FIG. 17 form part of the [0205] network entities 1112. The Network entities 1112 define various aspects of the network with which the present invention may be used. Each of these entities is described below.
  • Accounts Entities 1702
  • The [0206] accounts entities 1702 relate directly to customer network accounts. The variable set associated with the accounts entities 1702 is set forth below in Table 67.
    TABLE 67
    VARIABLE SET OF ACCOUNTS ENTITIES 1702
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACCT_ID* Account identification Number R
    number
    ACCT_NAME Account name Character R
    DISPLAY_NAME Display name Character O
    STATUS Status Character R
    LOG_HOST Host name for Character O
    web logs
    AUTH_DOMAIN Authentication Character O
    Domain
  • The [0207] accounts entities 1702 relate to the account configuration entities 1704 and the customer tiers entities 1708 in one-to-many relationships. Additionally, as previously indicated, the accounts entities 1702 relate to the units entities 1202, the packages entities 1240, and the account roles entities 1224 of FIG. 12, in one-to-many relationships. Also, the accounts entities 1702 may optionally be related in a one-to-many relationship 1624 with the DNS hosts entities 1604 of FIG. 16.
  • Account Configuration Entities 1704
  • The [0208] account configuration entities 1704 relate to the configuration of the accounts associated with the account entities 1702. The variable set associated with the account configuration entities 1704 is set forth below in Table 68.
    TABLE 68
    VARIABLE SET OF ACCOUNT CONFIGURATION
    ENTITIES
    1704
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACCT_ID Account Number R
    identification
    number
    KEY_NAME Key name Character R
    ACCT_CONFIG_ID* Account Number R
    configuration
    identification
    number
  • The [0209] account configuration entities 1704 relate to the accounts entities 1702 in a many-to-one relationship.
  • Account Configuration Values Entities 1706
  • The account configuration values entities [0210] 1706 indicate various values associated with the configuration of various accounts related to the account configuration entities 1704. The variable set associated with the account configuration values entities 1706 is set forth below in Table 69.
    TABLE 69
    VARIABLE SET OF ACCOUNT CONFIGURATION
    VALUES ENTITIES 1706
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    ACCT_CONFIG_ID* Account Number R
    configuration
    identification
    number
    CONFIG_VALUE Configuration Character R
    value
    TEXT_ORDER* Text Order Number R
    of configuration
    value
    chunk
  • The account configuration values entities [0211] 1706 relate to the account configuration entities 1704 in many-to-one relationships.
  • Customer Tiers Entities 1708
  • The [0212] customer tiers entities 1708 relate to various customer tiers, whereby customers may receive, and have access to, specific services associated with specific tiers. For example, a specific customer may desire to distribute his webhosting servers to multiple data centers. Therefore, the variables associated with the Customer tiers entities 1708 may indicate a data center or identification number, which informs one as to the location of the customer tier represented by the customer tier entity 1708. Also, a flag may be set to indicate whether or not monitoring is desired or needed within that particular network. The variable set associated with the customer tiers entities 1708 is illustrated below in Table 70.
    TABLE 70
    VARIABLE SET OF CUSTOMER TIERS ENTITIES 1708
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    CUST_TIER_ID* Customer tier Number R
    identification
    number
    ACCT_ID Account Number R
    identification
    number
    DATA_CENTER_ID Data center Number R
    identification
    number
    MONITOR_FLG Monitor Flag Character O
  • The [0213] customer tiers entities 1708 relate to the accounts entities 1702, as previously discussed, and the data centers entities 1716, in many-to-one relationships. The customer tiers entities 1708 also relate to the VLAM compartments entities 1714 in a one-to-many relationship.
  • Data Center Configuration Values Entities 1710
  • The data center configuration values [0214] entities 1710 relate to the configuration values associated with the data center configuration, which are associated with the data center configuration entities 1712. The variables associated with the data center configuration values entities 1710 are the value portion of a name-value pair relating to the data center. Thus, a configuration value, associated with such a name-value pair is given by the data center configuration values entities 1710. The variable set associated with the data center configuration values entities 1710 is set forth below in Table 71.
    TABLE 71
    VARIABLE SET OF DATA CENTER CONFIGURATION
    VALUES ENTITIES 1710
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DATA_CENTER Data center Number R
    CONFIG_ID* configuration
    identification number
    CONFIG_VALUE Configuration values Character R
    TEXT_ORDER* Text Order Number R
  • The data center configuration values [0215] entities 1710 relate to the data center configuration entities 1712 in a many-to-one relationship.
  • Data Center Configuration Entities 1712
  • The data [0216] center configuration entities 1712 relate to the configuration of specific data centers that house specific servers, and other network equipment associated with services of the various customer tiers. The data center configuration entities 1712 form the name portion of the name-value pair associated with the data center configuration values entities 1710. Thus, a key name, which serves as the name in the name-value pair. The variable set associated with the data center configuration entities 1712 is set forth below in Table 72.
    TABLE 72
    VARIABLE SET OF DATA CENTER CONFIGURATION
    ENTITIES
    1712
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DATA_CENTER_ID Data Center Number R
    identification
    number
    KEY_NAME Key Name Character R
    DATA_CENTER_ID* Data center Number R
    identification
    number
  • The data [0217] center configuration entities 1712 relate to the data centers entities 1716 in a many-to-one relationship.
  • VLAN Compartments Entities 1714
  • The VLAN compartments [0218] entities 1714 are used to relate the customer tiers of the customer tiers entities 1708 with various VLAN IP pools of the VLAN IP pools entities 1722. The variable set associated with the VLAN compartments entities 1714 is set forth below in Table 73.
    TABLE 73
    VARIABLE SET OF VLAN COMPARTMENTS ENTITIES 1714
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    VLAN_COMP_ID* VLAN Number R
    Compartment
    identification
    number
    CUST_TIER_ID Customer tier Number R
    identification
    number
    COMP_NAME Compartment name Character R
    STATUS VLAN status Character R
    ASSIGN_DT Assign Date Date O
  • The VLAN compartments entities relate to the [0219] customer tiers entities 708 in a many-to-one relationship as previously discussed, also, the VLAN compartments entities 1714 relate to the VLAN IP pools 1722 in a one-to-many relationship.
  • Data Centers Entities 1716
  • The data centers entities [0220] 1716 relate to various data centers in which server equipment, and other network devices are housed. The data centers entities 1716 contain variables that describe various aspects of the data centers to which these entities 1716 relate. For example, a DNS sequence is given, which is a sequential number, that is used in an algorithm to provide a next random DNS name. Generally, the DNS names used by each of the data center entities 1716 contain the name of the data center therein, with which they most closely relate, and therefore there is no conflict of DNS names between data centers. Additionally, a mask may be given that indicates how a particular server may be located by way of parsing the location of its rack. The variable set associated with the data centers entities 1716 is set forth below in Table 74.
    TABLE 74
    VARIABLE SET OF DATA CENTERS ENTITIES 1716
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DATA_CENTER Data Center Number R
    ID* identification
    number
    DATA_CENTER Data Center name Character R
    NAME
    DNS_SUBDOMAIN DNS sub-domain Character O
    DNS_SEQUENCE DNS sequence Character O
    for name
    generation
    DISPLAY_NAME DNS name Character O
    displayed
    RACK_LOCATION Rack location Character O
    MASK mask
  • The data center entities [0221] 1716 relate to the customer tiers entities 1708 and the data center configuration entities 1712 in one-to-many relationships.
  • Site Configuration Entities 1718
  • The site configuration entities [0222] 1718 relate to a configuration of various data center sites. The site configuration entities 1718 is a name-value pairer that may be used for any convenient purpose, such as accounting, data center, maintenance, device configuration, and the like. This relationship table may be used by way of business logic associated with the present invention, or with agents residing on particular devices connected to the network. The variable set associated with the site configuration entities 1718 is set forth below in Table 75.
    TABLE 75
    VARIABLE SET OF SITE CONFIGURATION ENTITIES 1718
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    PARAM_NAME* Parameter name Character R
    PARAM_VALUE Parameter value Character O
  • The site configuration entities [0223] 1718 illustrated in FIG. 17 is not directly related to the entities illustrated in the same figure. However, the values contained therein may relate to other entities illustrated in FIG. 17, and may be used by business logic associated with the present invention, or by intelligent agents of the system.
  • Device Pool VLAN Platforms Entities 1720
  • The device pool [0224] VLAN platforms entities 1720 relate to platforms of the device pool within the VLAN. That is, the device pool VLAN platforms entities 1720 is used to relate a base OS to the VLAN with which a particular device is associated. The variable set associated with the device pool VLAN platforms entities 1720 is set forth below in Table 76.
    TABLE 76
    VARIABLE SET OF DEVICE POOL VLAN
    PLATFORMS ENTITIES
    1720
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    VLAN_POOL_ID VLAN pool Number R
    identification number
    PLATFORM_ID Platform identification Number R
    number
  • The device pool [0225] VLAN platforms entities 1720 relate to the VLAN IP pools entities in a many-to-one relationship.
  • VLAN IP pools Entities 1722
  • The VLAN IP pools [0226] entities 1722 relate to IP pools of the VLAN, which are associated with the VLAN compartments of the customer tiers that are associated with the customer tiers entities 1708. The variable set associated with the VLAN IP pools entities 1722 is set forth below in Table 77.
    TABLE 77
    VARIABLE SET OF VLAN IP POOLS ENTITIES 1722
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    VLAN_POOL_ID* VLAN pool Number R
    identification
    number
    POOL_TYPE Pool type Character R
    VLAN_POOL VLAN pool name Character R
    NAME
    GATEWAY_IP Gateway IP Character R
    address
    NETMASK_IP Network IP Character R
    address
    BROADCAST_IP Broadcast IP Character R
    address
    SUBNET Subnet Character R
    DHCP_GATEWAY DHCP Gateway Character O
    NIS_DOMAIN Network Character O
    information
    services
    domain
    YP_SERVER Yellow pages Character O
    server
    NTP_SERVER Network Character O
    time protocol
    server
    DOMAIN Domain Character O
    SUB_TYPE Network Character R
    sub-type
    POOL_DESC Pool Character O
    description
    VLAN_NAME VLAN name Character O
    VLAN_COMP_ID VLAN component Number R
    identification
    number
    CIDR Classless Number R
    inter-domain routing
  • The VLAN IP pools [0227] entities 1722 relate to the VLAN compartments 1714 in a many to one relationship, and to the device pool VLAN platforms 1720 in a one to many relationship, as previously described. Also, the VLAN IP pools entities 1722 relate to the IP addresses entities 1730 in a one to many relationship, and the VLAN subtype entities 1728 in a many to one relationship.
  • Data Center Tiers Entities 1724
  • The data [0228] center tiers entities 1724 relate to a specific group of services, or tiers, associated with the data centers, which are represented by the data centers entities 1716. The variable set associated with the data center tiers entities 1724 is set forth below in Table 78.
    TABLE 78
    VARIABLE SET OF DATA CENTER TIERS ENTITIES 1724
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    DCT_ID* Data center tier Number R
    identification
    number
    DATA_CENTER_ID Data center Number R
    identification
    number
    APP_ROLE_ID Application role Number R
    identification
    number
    TIER_NAME Tier name Character R
  • The data [0229] center tiers entities 1724 relate to the data centers entities 1716 in a many to one relationship, as previously explained. The data center tiers entities 1724 also relate to the application rules entities 1236, illustrated in FIG. 12, in a many to one relationship 1244.
  • VLAN Pool Type Entities 1726
  • The VLAN [0230] pool type entities 1726 define the various valid types of VLANs for use on the network associated with the present invention. The variable set associated with the VLAN pool type entities is set forth below in Table 79.
    TABLE 79
    VARIABLE SET OF VLAN POOL TYPE ENTITIES 1726
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    POOL_TYPE* Pool type Character R
    POOL_TYPE_DESC Pool type Character O
    description
    GEN_DHCP Generate DHCP Character R
  • The VLAN [0231] pool type entities 1726 are not illustrated as directly relating to any entities within FIG. 17. However, the variables stored within the VLAN pool type entities 1726 are used by the logic associated with the present invention for determining the valid types of VLANs that may be used with the present invention.
  • VLAN SUB Type Entities 1728
  • The VLAN [0232] SUB type entities 1728 are used to relate to the VLAN IP pools, which are represented by the VLAN IP pools entities 1722. The VLAN SUB type entities 1728 define valid VLAN types, or types in which VLANs may be used. Some examples might include development, quality assurance, production, and the like. The VLAN subtype entities 1728 relate to the VLAN IP pools 1722 in a one to many relationship, as previously described. The variable set of the VLAN SUB type entities 1728 is shown below in Table 80.
    TABLE 80
    VARIABLE SET OF VLAN SUB TYPE ENTITIES 1728
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    SUB_TYPE* Type of VLAN Character R
    SUB_TYPE_DESC VLAN Character O
    type description
  • IP Address Entities 1730
  • The [0233] IP address entities 1730 relate to the IP addresses of the network associated with the present invention. The variable set associated with the IP address entities 1730 is shown below in Table 81.
    TABLE 81
    VARIABLE SET OF IP ADDRESSES ENTITIES 1730
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    IP_ADDRESS* IP Address Character R
    VLAN_POOL_ID VLAN Pool Number R
    identification
    number
    STATUS Device status Character R
    GEN_HOST_NAME Character O
  • The [0234] IP address entities 1730 relate to the VLAN IP pools 1722 in a many to one relationship, as previously discussed. Also, the IP addresses entities 1730 relate to the virtual IPs entities 1312, and the device role IP host entities 1308 by one to many relationships, 1338, 1340, respectively
  • VLAN CIDR Reserve Entities 1732
  • The VLAN [0235] CIDR reserve entities 1732 is related to the classless inter-domain routing (CIDR) of the VLAN associated with the present invention. The VLAN CIDR reserve entities indicates the CIDR number used for the network, and the number of addresses that are reserved and that are available for dynamic assignment as DHCP generated addresses. The variable set associated with the VLAN CIDR entities 1732 is set forth below in Table 82.
    TABLE 82
    VARIABLE SET OF VLAN CIDR RESERVE ENTITIES 1732
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    CIDR CIDR Number R
    NTWK_RSV_CNT Network reserve Number R
    count
    DHCP_RSV_CNT DHCP reserve count Number R
  • The VLAN [0236] CIDR reserve entities 1732 is illustrated in FIG. 17 as not directly relating to any of the other entities. These entities 1732 are used by the business logic of the present invention to determine the number of network addresses that may be reserved, and the number that may be generated as DHCP generated addresses for a given network or subnetwork.
  • Queues 1114
  • The entities illustrated in the entity relationship diagram of FIG. 18 form the [0237] queues entities 1114. These entities are described in detail below. These entities are not directly related to the entities of the rest of the data model 1100 shown in FIG. 11 but rather are used by agents of specific devices connected to the network in performing various tasks. These tasks are represented in queues, which may be executed in a specific, given order.
  • Agent Queues Entities 1802
  • The [0238] agent queues entities 1802 queues entities are essentially a list of tasks to be performed by an intelligent agent operating on a device connected to the network, which is associated with the present invention. The variable set of agent queues entities 1802 is shown below in Table 83.
    TABLE 83
    VARIABLE SET OF AGENT QUEUES ENTITIES 1802
    VARIABLE VARIABLE DEFINITION VARIABLE TYPE REQUIRED/OPTIONAL
    AGENT_QUEUE_ID* Agent Queue identification Number R
    number
    DVC_ID Device identification number Number R
    AGENT_QUEUE_NAME Agent Queue Name Character R
    ACTIVE Active Character R
    STATE State Character R
    HALT_ON_ERROR Halton error Character R
    PREDICATED_ID Pedicated identification number Number O
    IP_ADDRESS IP address Character R
    MODIFIED_DT Date modified Date O
    CREATE_DT Date created Date R
    FIRST_POKE_DT Date of first poke Date O
  • The [0239] agent queues entities 1802 is illustrated as having a one to many relationship with the agent queue commands entities 1804. The agent queues entities 1802 may also have an optional one to many relationship with other agent queues, as illustrated by the broken line in FIG. 18.
  • Agent Queue Commands Entities 1804
  • The agent queue commands [0240] entities 1804 serves to relate the agent queues entities 1802 with specific agent commands and agent command outputs. The variable set of agent queue commands entities 1804 is shown below in Table 84.
    TABLE 84
    VARIABLE SET OF AGENT QUEUE COMMANDS ENTITIES 1804
    VARIABLE REQUIRED/
    VARIABLE VARIABLE DEFINITION TYPE OPTIONAL
    AGENT_QUEUE_COM_ID* Agent Queue Command Number R
    identification number
    AGENT_QUEUE_ID Agent Queue identification Number R
    number
    AGENT_COM_ID Agent Command identification Number R
    number
    COM_ORDER Command Order Number R
    ACTIVE Agent Active Character R
    STATE Agent State Character R
    START_TIME Start time Date O
    END_TIME End time Date O
  • The agent queue commands [0241] entities 1804 are related to the agent queues entities 1802, as previously discussed, and the agent commands 1808 in many to one relationships. Also, the agent queue commands entities 1804 are related to the agent command output entities 1806 in a one to many relationship.
  • Agent Command Output Entities 1806
  • The agent [0242] command output entities 1806 relate to the output of specific commands to agents of the present invention. The variable set of agent command output entities 1806 is shown below in Table 85.
    TABLE 85
    VARIABLE SET OF AGENT COMMAND OUTPUT ENTITIES 1806
    VARIABLE VARIABLE DEFINITION VARIABLE TYPE REQUIRED/OPTIONAL
    AGENT_QUEUE_COM_ID* Agent Queue Command Number R
    identification number
    TEXT_ORDER* Text order Number R
    OUTPUT_TEXT Output text Character R
    CREATE_DT Date created Date R
  • The agent [0243] command output entities 1806 relate to the agent queue commands entities 1804 in a many to one relationship.
  • Agent Commands Entities 1808
  • The agent commands [0244] entities 1808 represent specific commands to be executed by agents associated with the present invention. The variable set of agent commands entities 1808 is shown below in Table 86.
    TABLE 86
    VARIABLE SET OF AGENT COMMANDS ENTITIES 1808
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    AGENT_COM_ID* Agent command Number R
    identification
    number
    COM_TYPE Command type Character R
    COM_NAME Command name Character O
    EFF_BEG_DT Effective beginning Date R
    date
    EFF_END_DT Effective ending Date O
    date
  • The agent commands [0245] entities 1808 relate to the agent queue commands entities 1804, as previously indicated, and the agent command text entities 1810, in one to many relationships.
  • Agent Command Text Entities 1810
  • The agent [0246] command text entities 1810 represents specific text associated with the agent commands, which are represented by the agent command entities 1808. Additionally, an order of the text may be given, thereby allowing the agent to determine the order of the text to be executed. The variable set of agent command text entities 1810 is shown below in Table 87.
    TABLE 87
    VARIABLE SET OF AGENT COMMAND TEXT ENTITIES 1810
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    AGENT_COM_ID* Agent Command Number R
    identification
    number
    COM_TEXT Command text Character R
    TEXT_ORDER* Text order Number R
  • The agent [0247] command text entities 1810 relate to the agent commands entities 1808 in a many to one relationship.
  • Agent Queue Mutex Entities 1812
  • The agent queue mutex [0248] entities 1812 serves as a locking device, which signals to an agent at a particular device is currently busy, and prevents the agent from executing a second queue on that device until the device is not busy. The variable set of agent queue mutex entities 1812 is shown below in Table 88.
    TABLE 88
    VARIABLE SET OF AGENT QUEUE MUTEX ENTITIES 1812
    VARIABLE REQUIRED/
    VARIABLE VARIABLE DEFINITION TYPE OPTIONAL
    DVC_ID* Device identification number Number R
  • The agent queue mutex [0249] entities 1812 do not relate directly to any of the entities illustrated in FIG. 18, but rather are either queried by the agents with which they are associated, or broadcast information to those agents.
  • Agent Command Mutex Entities 1814
  • The agent [0250] command mutex entities 1814 serve as a locking device whereby only a single agent queue may be executed by the agent at any given time. This prevents an agent from attempting to accomplish more than one task at a single time. The variable set of agent command mutex entities 1814 is shown below in Table 89.
    TABLE 89
    VARIABLE SET OF AGENT COMMAND MUTEX ENTITIES 1814
    VARIABLE VARIABLE REQUIRED/
    VARIABLE DEFINITION TYPE OPTIONAL
    AGENT_QUEUE_ID Agent Queue Number R
    identification
    number
  • The agent [0251] command mutex entities 1814 do not relate directly to any of the entities illustrated in FIG. 18, but rather are either queried by the agents with which they are associated, or broadcast information to those agents.
  • The foregoing description has been provided in the context of one data model used in connection with one provisioning network that may be used to control devices at one data center. It will be appreciated that such a network can be part of a larger network which controls devices at several data centers. The data model entities would merely need to be expanded to include networks located offsite. Hence, if an entity has its website infrastructure apportioned over several data centers, the provisioning operations can be coordinated amongst the various centers by using the data model of the present invention. [0252]
  • From the foregoing, therefore, it can be seen that the present invention provides a data model for use in system for the automated provisioning of devices which constitute the infrastructure of a website, such as servers. Two significant advantages provided by the data model are flexibility and the repeatability of the results that are obtained. The flexibility permits the varied needs of different websites to be readily accommodated, and thereby avoids the limitation of having to configure the architecture of every site the same way. The repeatability ensures that every server will have the proper set of software components once it has been provisioned, and thereby be ready to operate immediately. In addition to these features, the automated provisioning that is provided through this system achieves a significant time savings, enabling the entire process to be accomplished in substantially less than one hour for each device. [0253]
  • It will be appreciated by those of ordinary skill in the art that the present invention can be embodied in other forms without departing from the spirit or essential characteristics thereof. For instance, while an exemplary embodiment of the invention has been described in the context provisioning website servers in a data center, it will be appreciated that the principles underlying the invention can be applied in any environment where computing devices need to be configured and/or updated on a relatively large scale. The foregoing description is therefore considered to be illustrative, and not restrictive. The scope of the invention is indicated by the following claims, and all changes that come within the meaning and range of equivalents are therefore intended to be embraced therein. [0254]

Claims (19)

What is claimed is:
1. A monitoring data model for relating monitoring objects of a computer network to other monitoring objects, and for expressing the monitoring objects of a computer network in a form accessible to other network components, comprising:
device application configuration entities that represent the configuration of applications on specific devices connected to a network to be monitored;
device authorizations entities that represent various levels of authorization granted to devices connected to a network; and
virtual IP (VIP) groups entities that represent specific VIP groups on a network to be monitored.
2. The monitoring data model of claim 1, further comprising:
monitor access control lists (ACL) entities that represent various ACLs to be monitored, and for interrelating applications, represented by manager applications entities, device ACLs represented by device ACLs entities; and
VIP groups, represented by VIP groups entities.
3. The monitoring data model of claim 1, wherein said device authorizations entities is related to specific devices represented by device entities, and to said monitor ACLs entities by way of one or more device ACLs entities.
4. The monitoring data model of claim 2, wherein said device application configuration entities relate to devices represented by device entities, and to said monitor ACLs entities by way of manager application entities representing manager applications within the application configurations of each device connected to the network.
5. A monitoring data model for relating monitoring objects of a computer network to other monitoring objects, and for expressing the monitoring objects of a computer network in a form accessible by other network components, comprising:
device application configuration entities;
device authorizations entities; and
VIP groups entities;
wherein said device application configuration entities relate to configurations of applications on specific devices connected to the network;
wherein said VIP groups entities relate to various VIP groups of devices on the computer network; and
wherein said device authorizations entities relate devices on the network with access control lists represented by various access control list entities.
6. A computer readable set of instructions residing on a computer-readable medium that produces a monitoring data model comprising:
device entities;
device application configuration entities;
device authorizations entities; and
VIP groups entities;
wherein said device application configuration entities relate to one or more devices represented by said device entities;
wherein said device authorizations entities relate to one or more devices represented by said device entities, and to said device application configuration entities and said VIP groups entities by way of various device access control list entities; and
wherein said VIP groups entities relate to multiple VIP groups of devices represented by said device entities on the network.
7. A monitoring data model for characterizing the monitoring of all aspects of hardware devices connected to a computer network, and the configuration of that network, comprising:
a plurality of devices entities;
a plurality of device request classes entities;
a plurality of request class entities;
a plurality of request class variables entities;
a plurality of manager applications entities;
a plurality of monitor ACLs entities;
a plurality of device application configuration entities;
a plurality of device authorizations entities;
a plurality of device ACLs entities;
a plurality of SNMP variables entities;
a plurality of ACL entries entities; and
a plurality of VIP groups entities.
8. The data model of claim 7, further comprising a plurality of autonomous system map entities.
9. The data model of claim 7 wherein said device request classes entities relate said request class entities to hardware devices by way of a many-to-one relationship with said request class entities and a many-to-one relationship with said plurality of hardware entities.
10. The data model of claim 7 wherein said request class entities represent specific classes of requests that may be made, and wherein said request class entities relate to:
said device request classes entities by a one-to-many relationship; and
said request class variables entities by an optional one-to-many relationship.
11. The data model of claim 7 wherein said request class variables may be used to relate request classes associated with said request class entities with simple network management protocol (SNMP) variables associated with said SNMP variables entities by way of an optional many-to-one relationship with said request class entities, and optional many-to-one relationship with said SNMP variables entities.
12. The data model of claim 7 wherein said manager applications entities relate the monitor access control lists (ACLs) represented by the monitor ACLs entities with the device application configurations represented by the device application configuration entities by way of a one-to-many relationship with the monitor ACLs entities and a one-to-many relationship with the device application configuration entities.
13. The data model of claim 7 wherein said monitor ACLs entities represent the monitoring of the ACLs for various devices on the network, wherein said monitor ACLs entities relate to:
said manager applications entities by a many-to-one relationship;
said device ACLs entities by a one-to-many relationship; and
said ACL entries entities by a one-to-many relationship.
14. The data model of claim 7 wherein said device application configuration entities represent the configuration of applications contained on a device, and wherein said device application configuration entities relate to:
said manager applications entities by a many-to-one relationship; and
said plurality of hardware entities by a many-to-one relationship.
15. The data model of claim 7 wherein said device authorizations entities represent the authorization levels of particular devices, and wherein said device authorizations entities relate to:
said device ACLs entities by a one-to-many relationship; and
said plurality of devices entities by a many-to-one relationship.
16. The data model of claim 7 wherein said device ACLs entities represent device access control lists (ACLs) for specific devices on a network, wherein said device ACLs entities relate to:
said monitor ACLs entities by a many-to-one relationship; and
said device authorizations entities by a many-to-one relationship.
17. The data model of claim 7 wherein said SNMP variables entities represent specific variables associated with the simple network management protocol (SNMP) used by devices on the network, wherein said SNMP variable entities relate to said request class variables entities by an optional one-to-many relationship.
18. The data model of claim 7 wherein said ACL entries entities represent entries within an ACL, wherein said ACL entries entities relate to said monitor ACLs by a many-to-one relationship.
19. The data model of claim 7 wherein said virtual IP (VIP) groups entities represent particular groups sharing virtual IP addresses, wherein said VIP groups entities relate to:
a plurality of configuration entities by a many-to-one relationship; and
a plurality of hardware entities by a many-to-one relationship.
US09/766,570 2000-10-31 2001-01-23 Data model for automated server configuration Abandoned US20020082818A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/766,570 US20020082818A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69935300A 2000-10-31 2000-10-31
US09/766,570 US20020082818A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US69935300A Division 2000-10-31 2000-10-31

Publications (1)

Publication Number Publication Date
US20020082818A1 true US20020082818A1 (en) 2002-06-27

Family

ID=24808946

Family Applications (6)

Application Number Title Priority Date Filing Date
US09/767,141 Abandoned US20020107954A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,652 Abandoned US20020082821A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,570 Abandoned US20020082818A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,648 Abandoned US20020082820A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,649 Abandoned US20020083146A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,615 Expired - Fee Related US7451071B2 (en) 2000-10-31 2001-07-26 Data model for automated server configuration

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09/767,141 Abandoned US20020107954A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,652 Abandoned US20020082821A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration

Family Applications After (3)

Application Number Title Priority Date Filing Date
US09/766,648 Abandoned US20020082820A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,649 Abandoned US20020083146A1 (en) 2000-10-31 2001-01-23 Data model for automated server configuration
US09/766,615 Expired - Fee Related US7451071B2 (en) 2000-10-31 2001-07-26 Data model for automated server configuration

Country Status (1)

Country Link
US (6) US20020107954A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020082819A1 (en) * 2000-10-31 2002-06-27 Glenn Ferguson Data model for automated server configuration
US20020156894A1 (en) * 2001-04-20 2002-10-24 Suorsa Raymond E. Automated provisioning of computing networks using a network database data model
US20020161744A1 (en) * 2001-04-18 2002-10-31 Csg Systems, Inc. System and method for accessing database design information
US20030079107A1 (en) * 2001-10-19 2003-04-24 International Business Machines Corporation System and method for providing an interface for a repository
US20030233571A1 (en) * 2002-06-12 2003-12-18 Bladelogic, Inc. Method and system for simplifying distributed server management
US20040054933A1 (en) * 1999-06-29 2004-03-18 Oracle International Corporation Method and apparatus for enabling database privileges
US20060004812A1 (en) * 2004-07-02 2006-01-05 Richard Blackwell Method and system for mapping datasources in a metadata model
US7062563B1 (en) 2001-02-28 2006-06-13 Oracle International Corporation Method and system for implementing current user links
US7171411B1 (en) 2001-02-28 2007-01-30 Oracle International Corporation Method and system for implementing shared schemas for users in a distributed computing system
US7440962B1 (en) 2001-02-28 2008-10-21 Oracle International Corporation Method and system for management of access information
US20090064133A1 (en) * 2007-08-28 2009-03-05 Red Hat, Inc. Provisioning for 32-bit or 64-bit systems
US20090064132A1 (en) * 2007-08-28 2009-03-05 Red Hat, Inc. Registration process for determining compatibility with 32-bit or 64-bit software
US7647327B2 (en) 2003-09-24 2010-01-12 Hewlett-Packard Development Company, L.P. Method and system for implementing storage strategies of a file autonomously of a user
US8250570B2 (en) 2000-10-31 2012-08-21 Hewlett-Packard Development Company, L.P. Automated provisioning framework for internet site servers
US20120297045A1 (en) * 2010-06-30 2012-11-22 Zte Corporation Method and device for recording data of terminal
US20140006568A1 (en) * 2012-06-28 2014-01-02 Alcatel-Lucent Canada, Inc. Prioritization based on ip pool and subnet by dhcp
US20170046147A1 (en) * 2015-08-11 2017-02-16 Fuji Xerox Co., Ltd. Systems and methods for assisted driver, firmware and software download and installation

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US7606898B1 (en) * 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US8019835B2 (en) * 2001-04-20 2011-09-13 Hewlett-Packard Development Company, L.P. Automated provisioning of computing networks using a network database data model
US7051327B1 (en) * 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
CA2349083A1 (en) * 2001-05-30 2002-11-30 Ibm Canada Limited-Ibm Canada Limitee Server configuration tool
US20030009752A1 (en) * 2001-07-03 2003-01-09 Arvind Gupta Automated content and software distribution system
JP2003099413A (en) * 2001-09-25 2003-04-04 Nec Commun Syst Ltd Distributed processing system
US20030061312A1 (en) * 2001-09-26 2003-03-27 Bodner James T. Reduction of configuration time upon deployment of a configurable device in a shared resource environment
US20030074430A1 (en) * 2001-10-05 2003-04-17 Gieseke Eric James Object oriented provisioning server object model
US7392310B2 (en) * 2002-12-26 2008-06-24 Ricoh Company, Ltd. Method and system for using data structures to store database information for multiple vendors and model support for remotely monitored devices
FR2843260B1 (en) * 2002-07-31 2005-04-08 Cit Alcatel RULES NETWORK MANAGEMENT SYSTEM COMPRISING AN INFERENCE ENGINE
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7890543B2 (en) * 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7596539B2 (en) * 2003-05-29 2009-09-29 International Business Machines Corporation Method and apparatus for providing connection information of functional components within a computer system
US7730174B2 (en) * 2003-06-27 2010-06-01 Computer Associates Think, Inc. System and method for agent-based monitoring of network devices
US20050010595A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database
US8086747B2 (en) * 2003-09-22 2011-12-27 Anilkumar Dominic Group-to-group communication over a single connection
US7529814B2 (en) 2003-10-15 2009-05-05 International Business Machines Corporation Autonomic computing algorithm for identification of an optimum configuration for a web infrastructure
US7376083B2 (en) * 2003-12-09 2008-05-20 International Business Machines Corporation Apparatus and method for modeling queueing systems with highly variable traffic arrival rates
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20070180490A1 (en) * 2004-05-20 2007-08-02 Renzi Silvio J System and method for policy management
US20060021021A1 (en) * 2004-06-08 2006-01-26 Rajesh Patel Security event data normalization
US7797147B2 (en) * 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7984119B2 (en) * 2005-04-21 2011-07-19 Sap Ag Template configuration tool for application servers
US20060277278A1 (en) * 2005-06-06 2006-12-07 International Business Machines Corporation Distributing workload among DNS servers
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US20070211056A1 (en) * 2006-03-08 2007-09-13 Sudip Chakraborty Multi-dimensional data visualization
US7756973B2 (en) * 2006-04-27 2010-07-13 International Business Machines Corporation Identifying a configuration for an application in a production environment
US20080244557A1 (en) * 2007-04-02 2008-10-02 Inventec Corporation Knowledge management system and method for implementing management software using the same
CN102037680B (en) * 2007-11-21 2014-12-10 阿尔卡特朗讯 Normalization engine and method of requesting a key-value pair of a device
US20100111105A1 (en) * 2008-10-30 2010-05-06 Ken Hamilton Data center and data center design
EP2224369B1 (en) 2009-02-27 2011-09-07 Software AG Method, SOA registry and SOA repository for granting a user secure access to resources of a process
US9390156B2 (en) * 2009-06-29 2016-07-12 International Business Machines Corporation Distributed directory environment using clustered LDAP servers
US8635439B2 (en) 2009-06-30 2014-01-21 International Business Machines Corporation Portable light weight LDAP directory server and database
US8732286B2 (en) * 2010-03-31 2014-05-20 Honeywell International Inc. Health management systems with shadow modules
CN102231686B (en) * 2011-06-24 2017-08-11 北京天融信科技有限公司 A kind of system and method for realizing automated test of network security equipment
US9407506B2 (en) 2011-09-12 2016-08-02 Microsoft Technology Licensing, Llc Multi-entity management
US9215205B1 (en) * 2012-04-20 2015-12-15 Infoblox Inc. Hardware accelerator for a domain name server cache
US8751661B1 (en) * 2013-11-20 2014-06-10 Linkedin Corporation Sticky routing
US9753981B2 (en) 2014-03-11 2017-09-05 Sap Se Hierarchical runtime settings within distributed query execution frameworks
US10237355B2 (en) 2015-05-12 2019-03-19 Equinix, Inc. Software-controlled cloud exchange
US10313206B1 (en) 2015-12-23 2019-06-04 Apstra, Inc. Verifying service status
US10771285B2 (en) * 2016-07-05 2020-09-08 Cisco Technology, Inc. Method and apparatus for mapping network data models
US10263852B2 (en) * 2016-12-21 2019-04-16 Cisco Technology, Inc. Network data model mapping based on matching strength
US11062226B2 (en) 2017-06-15 2021-07-13 Microsoft Technology Licensing, Llc Determining a likelihood of a user interaction with a content element
US10922627B2 (en) 2017-06-15 2021-02-16 Microsoft Technology Licensing, Llc Determining a course of action based on aggregated data
US10805317B2 (en) 2017-06-15 2020-10-13 Microsoft Technology Licensing, Llc Implementing network security measures in response to a detected cyber attack
US10503580B2 (en) 2017-06-15 2019-12-10 Microsoft Technology Licensing, Llc Determining a likelihood of a resource experiencing a problem based on telemetry data
US11075805B1 (en) 2019-04-24 2021-07-27 Juniper Networks, Inc. Business policy management for self-driving network

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175800A (en) * 1987-03-23 1992-12-29 Case Group Plc Expert and data base system and method for communications network
JP2785296B2 (en) 1989-02-02 1998-08-13 三菱電機株式会社 Concept design work support device
US5295244A (en) * 1990-09-17 1994-03-15 Cabletron Systems, Inc. Network management system using interconnected hierarchies to represent different network dimensions in multiple display views
US5249274A (en) 1990-10-24 1993-09-28 Vanderbilt University Simultaneous data-driven and demand-driven computational model for dynamically configured systems
US5717950A (en) * 1994-01-11 1998-02-10 Hitachi, Ltd. Input/output device information management system for multi-computer system
US5835911A (en) 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US6088797A (en) 1994-04-28 2000-07-11 Rosen; Sholom S. Tamper-proof electronic processing device
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
GB9508283D0 (en) 1995-02-07 1995-06-14 British Telecomm Information services provision and management
US5832503A (en) 1995-02-24 1998-11-03 Cabletron Systems, Inc. Method and apparatus for configuration management in communications networks
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
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5742829A (en) 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5650994A (en) 1995-05-16 1997-07-22 Bell Atlantic Network Services, Inc. Operation support system for service creation and network provisioning for video dial tone networks
US6421719B1 (en) 1995-05-25 2002-07-16 Aprisma Management Technologies, Inc. Method and apparatus for reactive and deliberative configuration management
GB2302420A (en) * 1995-06-19 1997-01-15 Ibm Semantic network
US5920567A (en) 1995-06-29 1999-07-06 The Furukawa Electric Co., Ltd. Network related information transfer method for a connection device, and a data communication system
WO1997007638A1 (en) * 1995-08-15 1997-02-27 Broadcom Eireann Research Limited A communications network management system
US5748896A (en) * 1995-12-27 1998-05-05 Apple Computer, Inc. Remote network administration methods and apparatus
US5838907A (en) 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
US6049671A (en) 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5752042A (en) 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
FR2751448B1 (en) * 1996-07-17 1999-01-15 Bull Sa METHOD FOR REAL-TIME MONITORING OF A COMPUTER SYSTEM FOR ITS ADMINISTRATION AND ASSISTANCE IN MAINTAINING IT IN OPERATION
US6067582A (en) 1996-08-13 2000-05-23 Angel Secure Networks, Inc. System for installing information related to a software application to a remote computer over a network
US5996010A (en) 1996-08-29 1999-11-30 Nortel Networks Corporation Method of performing a network management transaction using a web-capable agent
US5781703A (en) 1996-09-06 1998-07-14 Candle Distributed Solutions, Inc. Intelligent remote agent for computer performance monitoring
US6304549B1 (en) 1996-09-12 2001-10-16 Lucent Technologies Inc. Virtual path management in hierarchical ATM networks
TW347498B (en) * 1996-09-30 1998-12-11 Casio Computer Co Ltd Information supply system
US5871703A (en) * 1996-10-09 1999-02-16 Zero Emissions Technology Inc. Barrier discharge conversion of SO2 and NOx to acids
US5974572A (en) * 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
US5944782A (en) * 1996-10-16 1999-08-31 Veritas Software Corporation Event management system for distributed computing environment
US6802061B1 (en) 1996-12-12 2004-10-05 Microsoft Corporation Automatic software downloading from a computer network
US6347398B1 (en) 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US6009274A (en) 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6192354B1 (en) * 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US6108420A (en) 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
GB9707550D0 (en) * 1997-04-15 1997-06-04 British Telecomm Design of computer networks
US6314565B1 (en) 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US6123737A (en) 1997-05-21 2000-09-26 Symantec Corporation Push deployment of software packages using notification transports
US6816903B1 (en) * 1997-05-27 2004-11-09 Novell, Inc. Directory enabled policy management tool for intelligent traffic management
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6029196A (en) 1997-06-18 2000-02-22 Netscape Communications Corporation Automatic client configuration system
US6389464B1 (en) * 1997-06-27 2002-05-14 Cornet Technology, Inc. Device management system for managing standards-compliant and non-compliant network elements using standard management protocols and a universal site server which is configurable from remote locations via internet browser technology
US6226679B1 (en) 1997-06-30 2001-05-01 Sun Microsystems, Inc. Common management information protocol (CMIP) agent registration methods systems and computer program products
US6012100A (en) 1997-07-14 2000-01-04 Freegate Corporation System and method of configuring a remotely managed secure network interface
US6266809B1 (en) 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6134593A (en) 1997-09-30 2000-10-17 Cccomplete, Inc. Automated method for electronic software distribution
US6185466B1 (en) 1997-10-06 2001-02-06 Proteus Industries, Inc. Distributed digital control system including modules with multiple stored databases and selector
JP3571526B2 (en) 1997-10-23 2004-09-29 富士通株式会社 System design / evaluation CAD system and its program storage medium
US6834389B1 (en) * 1997-12-01 2004-12-21 Recursion Software, Inc. Method of forwarding messages to mobile objects in a computer network
US6618366B1 (en) 1997-12-05 2003-09-09 The Distribution Systems Research Institute Integrated information communication system
US6128729A (en) * 1997-12-16 2000-10-03 Hewlett-Packard Company Method and system for automatic configuration of network links to attached devices
US6266335B1 (en) * 1997-12-19 2001-07-24 Cyberiq Systems Cross-platform server clustering using a network flow switch
US6167358A (en) 1997-12-19 2000-12-26 Nowonder, Inc. System and method for remotely monitoring a plurality of computer-based systems
US6023464A (en) 1997-12-23 2000-02-08 Mediaone Group, Inc. Auto-provisioning of user equipment
JPH11266244A (en) 1998-03-16 1999-09-28 Fujitsu Ltd Network constitution data generator and generation method
US6393386B1 (en) * 1998-03-26 2002-05-21 Visual Networks Technologies, Inc. Dynamic modeling of complex networks and prediction of impacts of faults therein
US6167567A (en) 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US6389126B1 (en) 1998-05-07 2002-05-14 Mci Communications Corporation Service provisioning system for interactive voice response services
US6202206B1 (en) 1998-05-14 2001-03-13 International Business Machines Corporation Simultaneous installation and configuration of programs and components into a network of server and client computers
US6098097A (en) 1998-05-14 2000-08-01 International Business Machines Corporation Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer
US6052720A (en) * 1998-05-14 2000-04-18 Sun Microsystems, Inc. Generic schema for storing configuration information on a server computer
US6259448B1 (en) * 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
US6249883B1 (en) * 1998-06-29 2001-06-19 Netpro Computing, Inc. System and method for monitoring domain controllers
US6418555B2 (en) 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US6226788B1 (en) 1998-07-22 2001-05-01 Cisco Technology, Inc. Extensible network management system
US6286038B1 (en) 1998-08-03 2001-09-04 Nortel Networks Limited Method and apparatus for remotely configuring a network device
US20020062334A1 (en) 1998-08-19 2002-05-23 Qiming Chen Dynamic agents for dynamic service provision
US6546553B1 (en) 1998-10-02 2003-04-08 Microsoft Corporation Service installation on a base function and provision of a pass function with a service-free base function semantic
GB2342198B (en) 1998-10-02 2003-10-22 Ibm Composite locking of objects in a database
US6381628B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Summarized application profiling and quick network profiling
US6349306B1 (en) * 1998-10-30 2002-02-19 Aprisma Management Technologies, Inc. Method and apparatus for configuration management in communications networks
US6123388A (en) * 1998-10-30 2000-09-26 Indiana Mills & Manufacturing, Inc. Restraint system for a school bus seat
US6598090B2 (en) 1998-11-03 2003-07-22 International Business Machines Corporation Centralized control of software for administration of a distributed computing environment
US8121891B2 (en) 1998-11-12 2012-02-21 Accenture Global Services Gmbh Personalized product report
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6477572B1 (en) * 1998-12-17 2002-11-05 International Business Machines Corporation Method for displaying a network topology for a task deployment service
JP3184169B2 (en) 1999-01-14 2001-07-09 エヌイーシーソフト株式会社 Network device setting management system, network device setting management method, and recording medium recording network device setting management program
US6411961B1 (en) 1999-01-15 2002-06-25 Metaedge Corporation Apparatus for providing a reverse star schema data model
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US6662221B1 (en) 1999-04-12 2003-12-09 Lucent Technologies Inc. Integrated network and service management with automated flow through configuration and provisioning of virtual private networks
US6463528B1 (en) 1999-04-20 2002-10-08 Covad Communications Group, Inc. Method and apparatus for simplifying the configuration of several models of customer premise equipment
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
US6577614B1 (en) 1999-05-27 2003-06-10 Qwest Communications International Inc. System and method for OTA over CDMA data channel
US6546392B1 (en) 1999-06-25 2003-04-08 Mediaone Group, Inc. Self service gateway
US6604238B1 (en) 1999-07-26 2003-08-05 Hewlett-Packard Development Company, L.P. Method and system for installing software
JP3916806B2 (en) 1999-07-26 2007-05-23 富士通株式会社 Remote loading execution method, remote loading execution system, information processing apparatus, management apparatus, and computer-readable recording medium
US6345239B1 (en) * 1999-08-31 2002-02-05 Accenture Llp Remote demonstration of business capabilities in an e-commerce environment
US6594723B1 (en) 1999-09-07 2003-07-15 Microsoft Corporation Method and apparatus for updating data in nonvolatile memory
US6396810B1 (en) 1999-09-08 2002-05-28 Metasolv Software, Inc. System and method for analyzing communication paths in a telecommunications network
US6633907B1 (en) 1999-09-10 2003-10-14 Microsoft Corporation Methods and systems for provisioning online services
EP1087293A3 (en) 1999-09-24 2006-02-01 Hitachi, Ltd. A computer system and a program install method thereof
US6732269B1 (en) 1999-10-01 2004-05-04 International Business Machines Corporation Methods, systems and computer program products for enhanced security identity utilizing an SSL proxy
US6516337B1 (en) 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
US6754707B2 (en) 1999-10-28 2004-06-22 Supportsoft, Inc. Secure computer support system
US6535227B1 (en) * 2000-02-08 2003-03-18 Harris Corporation System and method for assessing the security posture of a network and having a graphical user interface
US6983317B1 (en) * 2000-02-28 2006-01-03 Microsoft Corporation Enterprise management system
JP2004534973A (en) 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド Network device upgrade system and method
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
CN1278530C (en) * 2000-07-24 2006-10-04 特伦迪乌姆有限公司 Network medels methods and computer program products for managing a service independent of the underlying network technology
US6686838B1 (en) 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
US20020143904A1 (en) * 2000-09-22 2002-10-03 Bair M. Zach Rapid network deployment
US20020154751A1 (en) 2000-10-18 2002-10-24 Thompson Richard H. Method for managing wireless communication device use including optimizing rate and service plan selection
US7124289B1 (en) 2000-10-31 2006-10-17 Opsware Inc. Automated provisioning framework for internet site servers
US20020107954A1 (en) * 2000-10-31 2002-08-08 Glen Ferguson Data model for automated server configuration
US7281047B2 (en) 2001-01-16 2007-10-09 Cognos Incorporated System and method for automatic provision of an application
US7131123B2 (en) 2001-04-30 2006-10-31 Opsware Inc. Automated provisioning of computing networks using a network database model

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7503062B2 (en) 1999-06-29 2009-03-10 Oracle International Corporation Method and apparatus for enabling database privileges
US20040054933A1 (en) * 1999-06-29 2004-03-18 Oracle International Corporation Method and apparatus for enabling database privileges
US20020082819A1 (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
US7451071B2 (en) * 2000-10-31 2008-11-11 Hewlett-Packard Development Company, L.P. Data model for automated server configuration
US7440962B1 (en) 2001-02-28 2008-10-21 Oracle International Corporation Method and system for management of access information
US7062563B1 (en) 2001-02-28 2006-06-13 Oracle International Corporation Method and system for implementing current user links
US7865959B1 (en) * 2001-02-28 2011-01-04 Oracle International Corporation Method and system for management of access information
US7171411B1 (en) 2001-02-28 2007-01-30 Oracle International Corporation Method and system for implementing shared schemas for users in a distributed computing system
US20020161744A1 (en) * 2001-04-18 2002-10-31 Csg Systems, Inc. System and method for accessing database design information
US6996574B2 (en) * 2001-04-18 2006-02-07 Csg Systems, Inc. System and method for accessing database design information
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
US20020156894A1 (en) * 2001-04-20 2002-10-24 Suorsa Raymond E. Automated provisioning of computing networks using a network database data model
US20030079107A1 (en) * 2001-10-19 2003-04-24 International Business Machines Corporation System and method for providing an interface for a repository
US9100283B2 (en) 2002-06-12 2015-08-04 Bladelogic, Inc. Method and system for simplifying distributed server management
US8549114B2 (en) 2002-06-12 2013-10-01 Bladelogic, Inc. Method and system for model-based heterogeneous server configuration management
US8447963B2 (en) 2002-06-12 2013-05-21 Bladelogic Inc. Method and system for simplifying distributed server management
US9794110B2 (en) 2002-06-12 2017-10-17 Bladlogic, Inc. Method and system for simplifying distributed server management
US10659286B2 (en) 2002-06-12 2020-05-19 Bladelogic, Inc. Method and system for simplifying distributed server management
US20030233571A1 (en) * 2002-06-12 2003-12-18 Bladelogic, Inc. Method and system for simplifying distributed server management
US7647327B2 (en) 2003-09-24 2010-01-12 Hewlett-Packard Development Company, L.P. Method and system for implementing storage strategies of a file autonomously of a user
US7325003B2 (en) * 2004-07-02 2008-01-29 Cognos Incorporated Method and system for mapping datasources in a metadata model
US20060004812A1 (en) * 2004-07-02 2006-01-05 Richard Blackwell Method and system for mapping datasources in a metadata model
US20090064132A1 (en) * 2007-08-28 2009-03-05 Red Hat, Inc. Registration process for determining compatibility with 32-bit or 64-bit software
US8832679B2 (en) * 2007-08-28 2014-09-09 Red Hat, Inc. Registration process for determining compatibility with 32-bit or 64-bit software
US20090064133A1 (en) * 2007-08-28 2009-03-05 Red Hat, Inc. Provisioning for 32-bit or 64-bit systems
US9652210B2 (en) 2007-08-28 2017-05-16 Red Hat, Inc. Provisioning a device with multiple bit-size versions of a software component
US10095498B2 (en) 2007-08-28 2018-10-09 Red Hat, Inc. Provisioning a device with multiple bit-size versions of a software component
US20120297045A1 (en) * 2010-06-30 2012-11-22 Zte Corporation Method and device for recording data of terminal
US9521233B2 (en) * 2010-06-30 2016-12-13 Zte Corporation Method and device for recording data of terminal
US20140006568A1 (en) * 2012-06-28 2014-01-02 Alcatel-Lucent Canada, Inc. Prioritization based on ip pool and subnet by dhcp
US20170046147A1 (en) * 2015-08-11 2017-02-16 Fuji Xerox Co., Ltd. Systems and methods for assisted driver, firmware and software download and installation

Also Published As

Publication number Publication date
US20020107954A1 (en) 2002-08-08
US7451071B2 (en) 2008-11-11
US20020082820A1 (en) 2002-06-27
US20020082821A1 (en) 2002-06-27
US20020082819A1 (en) 2002-06-27
US20020083146A1 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
US7451071B2 (en) Data model for automated server configuration
US10963282B2 (en) Computing service with configurable virtualization control levels and accelerated launches
US8019835B2 (en) Automated provisioning of computing networks using a network database data model
US10187275B2 (en) Monitoring network traffic by using event log information
US7152109B2 (en) Automated provisioning of computing networks according to customer accounts using a network database data model
US7131123B2 (en) Automated provisioning of computing networks using a network database model
US8370481B2 (en) Inventory management in a computing-on-demand system
US7743147B2 (en) Automated provisioning of computing networks using a network database data model
JP4567293B2 (en) file server
JP5522307B2 (en) System and method for remote maintenance of client systems in electronic networks using software testing with virtual machines
US8078717B1 (en) System and method for providing services for offline servers using the same network address
US8250570B2 (en) Automated provisioning framework for internet site servers
US20040054793A1 (en) System and method for high performance shared web hosting
EP1738282B1 (en) Maintaining data integrity in a distributed environment
WO2001025926A1 (en) Virtual network environment
US11223519B2 (en) Storage system for network information
US8615576B2 (en) Remotely managing enterprise resources
US8909800B1 (en) Server cluster-based system and method for management and recovery of virtual servers
CN110199283A (en) For the system and method that authentication platform is trusted in network function virtualized environment
US20080281969A1 (en) Controlling access to versions of application software by a server, based on site ID
Cisco Cisco User Control Point 1.0 Release Notes
CN107491361B (en) The method for being classified other redundant storage is carried out to column in tables of data
WO2002039313A9 (en) A data model for automated server configuration
US9841929B1 (en) Distributed system software infrastructure
US11665167B2 (en) Dynamically deployed limited access interface to computational resources

Legal Events

Date Code Title Description
AS Assignment

Owner name: LOUDCLOUD, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FERGUSON, GLENN;DORSEY, CHRISTOPHER;REEL/FRAME:012057/0499;SIGNING DATES FROM 20010702 TO 20010723

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION