WO2002093399A1 - Gestion d'un dispositif distant - Google Patents

Gestion d'un dispositif distant Download PDF

Info

Publication number
WO2002093399A1
WO2002093399A1 PCT/US2002/014885 US0214885W WO02093399A1 WO 2002093399 A1 WO2002093399 A1 WO 2002093399A1 US 0214885 W US0214885 W US 0214885W WO 02093399 A1 WO02093399 A1 WO 02093399A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
disp
work
server
report
Prior art date
Application number
PCT/US2002/014885
Other languages
English (en)
Inventor
Marcio Cravo De Almeida
Nelson Alves Da Silva Filho
Agostinho De Arruda Villela
Andre Araujo Da Fosenca
Marcelo Salim Da Silva
Original Assignee
Automatos, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/853,839 external-priority patent/US20020169871A1/en
Priority claimed from US09/954,819 external-priority patent/US20030055931A1/en
Application filed by Automatos, Inc. filed Critical Automatos, Inc.
Publication of WO2002093399A1 publication Critical patent/WO2002093399A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0883Semiautomatic configuration, e.g. proposals from system
    • 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/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks

Definitions

  • This invention relates to managing a remote device, including obtaining data from the remote device and presenting the data to a client device.
  • the invention is directed to obtaining data from a device using an agent.
  • This aspect includes receiving a plug-in containing system calls for obtaining the data from the device, loading the plug-in into the agent, obtaining the data from the device using the system calls, and transmitting the data over an external network using one or more of a plurality of protocols.
  • the agent may include shared libraries containing system calls for obtaining other data from the device.
  • the shared libraries may be loaded into the agent when the plug-in is loaded.
  • the data may be obtained from the device periodically, such as every minute.
  • the plurality of protocols may include simple mail transfer protocol (SMTP), hyper text transfer protocol (HTTP), and secure sockets layer (SSL) protocol. Data transmission may be effected using at least one of a proxy and socket.
  • SMTP simple mail transfer protocol
  • HTTP hyper text transfer protocol
  • SSL secure sockets layer
  • the agent may reside on an internal network that includes the device.
  • a machine may be selected on the internal network to transmit the data over the external network.
  • the external network may include the Internet.
  • the agent may reside on the device.
  • the agent may reside on a machine located on the internal network that is not the device.
  • the network may include a network device located on the internal network and the agent may reside on a server that is also on the internal network.
  • the data may relate to one or more of the following: a processor on the device, memory on the device, a hard drive on the device, the internal network on which the device is located, and software installed on the device.
  • the invention is directed to providing, to a client, data that was obtained by an agent from a remote device on an internal network.
  • This aspect includes receiving the data via an external network, at least some of the data being received periodically, formatting the data, and making the formatted data accessible to a client via the external network.
  • This aspect may include one or more of the following features.
  • Formatting the data may include generating a report based on the data.
  • the report may be a natural language report.
  • Formatting the data may include generating a display based on the data and updating the display periodically as new data is received periodically via the external network. The data may be received every minute.
  • Formatting the data may include determining if the data indicates that an operational parameter of the device exceeds a preset limit and generating a report to a client indicating that the operational parameter exceeds the preset limit.
  • the external network may include the Internet.
  • Making the formatted data accessible to the client may include providing a World Wide Web site through which the data can be accessed by the client.
  • the formatted data may be made accessible to the client using wireless application protocol.
  • a method in another general aspect of the invention, includes automatically and repeatedly collecting data indicative of an operating state of a machine, and automatically transmitting information related to the collected data to a location remote from the machine.
  • the information is transmitted in the form of electronic mail messages complying with a standard electronic mail messaging protocol, such as a Simple Mail Transfer Protocol.
  • a standard electronic mail messaging protocol such as a Simple Mail Transfer Protocol.
  • an article comprising a machine- readable medium on which are tangibly stored machine-executable instructions for monitoring a computer, includes instructions operable to cause a processor to perform the method of the first general aspect of the invention.
  • Embodiments of the invention may include one or more of the following features.
  • a monitoring computer receives the electronic mail messages and analyzes the information to derive performance measures.
  • the monitoring computer generates a report embodying the performance measures and makes the report available electronically, for example, from a web site.
  • the report includes a natural language document expressed in a natural language format.
  • the machine may be a network server, a desktop computer, or an intelligent appliance.
  • the data collected includes a time-ordered sequence of performance measurements taken at fixed time intervals.
  • the collected data for example, include measurements of CPU usage, process queue length, memory usage, memory paging rate, disk usage, network usage, paging space occupancy, file system occupancy, and process resource usage.
  • the collected data are typically collected from a registry, a system call, a virtual file system, a virtual device, or an input/output control call to a device.
  • the information related to the collected data is compressed and encrypted for inclusion in the electronic mail message.
  • a method in another general aspect of the invention, includes automatically and repeatedly receiving electronic mail messages that include information related to remotely collected data.
  • the collected data are indicative of a performance of a machine and the electronic mail messages comply with a standard electronic mail messaging protocol.
  • the method also includes automatically analyzing the information to determine the performance of the machine.
  • an article comprising a machine- readable medium on which are tangibly stored machine-executable instructions for monitoring a remote machine includes instructions operable to cause a machine to perform the method of the third general aspect of the invention.
  • Embodiments of the invention may include one or more the following features.
  • the information related to the remotely collected data is extracted from the electronic mail messages.
  • the collected data is a time ordered sequence of performance measurements and analyzing the collected data includes comparing at least some of the performance measurements with a corresponding threshold value to determine whether the performance measurements are within a range of acceptable values.
  • the analysis also includes determining the number of performance measurements that are within the range of acceptable values.
  • a natural language report is generated by selecting items of information to be added to the report based on the analysis of the information included in the email messages.
  • the items of information are, for example, selected based on the comparison of the performance measurements to the threshold values or based on the number of performance measurements that are within the range of acceptable values.
  • the natural language report typical includes a natural language sentence or a graphical display.
  • the natural language sentence may include a measurement value or a threshold value. Part of the natural language sentence is sometimes enhanced, for example, using bold typeface, italicized typeface, colored typeface, underlining, or a different font size from the rest of the sentence to draw attention to the sentence.
  • the natural language sentence includes a hyperlink to more detailed information about a section of the sequence of performance measurements.
  • An electronic mail message that includes the report is generated and transmitted over a network.
  • FIG. 1 is a view of a network that includes an internal network having devices to be monitored by an agent.
  • Figs. 2 to 9 and 28 to 41 show installation screens for the agent, including the relay portion of the agent.
  • Fig. 10 is a flowchart showing a process for monitoring a device on the internal network.
  • Fig. 11 is a flowchart showing a process for providing data from a monitored device to a user.
  • Figs. 12 to 26 show Web pages for viewing the data from the monitored device.
  • Fig. 27 shows a computer on which the processes of Figs. 10 and/or 11 may be implemented.
  • Figs. 42 to 51 shows a cellular telephone for viewing data obtained by the agent.
  • Figs. 52a, 52b and 53 show Web pages for enrolling in a service in order to download the agent.
  • FIG. 54 shows a system for monitoring a server
  • FIG. 55 A is a table of sampling periods
  • FIG. 55B is a table of sources of data indicative of an operating state
  • FIG. 55C shows kinds of data collected
  • FIG. 55D shows data contained within a rule for analyzing data
  • FIG. 56 is a flow chart of the process of collecting data from the server
  • FIG. 57 is a flow chart of the process of transmitting the collected data
  • FIG. 58 is a flow chart of the process of analyzing the collected data and generating a report
  • FIG. 59 is a block diagram of the structure of a report
  • FIG. 60 is a flow chart of the process of installing agent software
  • FIGS. 61-91 are screenshots of the process of FIG. 60.
  • FIG. 1 shows a network system 10.
  • Network system 10 includes an internal network, such as a local area network (LAN), and an external network, such as the LAN.
  • LAN local area network
  • the external network such as the LAN
  • Firewall 14 allows messages, such as e-mail, to be exchanged between devices (e.g., computers) on internal network 11 and external network 12. However, firewall 14 does not permit devices on external network 12 to directly access data stored on internal network 11.
  • Internal network 11 contains several devices. These devices may be computers with network interface cards, including servers and desktop computers, and/or network peripherals, such as routers, hubs or switches. Internal network 11 includes three desktop computers 16, 17 and 19, server 20, router 13 and switch 18. Other devices may also be included in addition to, or instead of, these devices.
  • External network 12 contains a server 21, which has access to a database 22.
  • server 21 is one or more World Wide Web (or simply "Web") servers that are capable of receiving data, storing the data in database 22, processing the data, and hosting a Web site that makes the processed data accessible to client devices, directly or indirectly via the Internet.
  • Web World Wide Web
  • a computer program known as an "agent" is installed on a device, such as computer 19, on internal network 11.
  • the agent permits a remote client device to manage computer 19 and to monitor computer 19 and other devices on internal network 11. This is done through the use of communications provided from the agent to server 21.
  • the communications may be transmitted via e-mail using simple mail transfer protocol (SMTP), hyper text transfer protocol (HTTP) or secure sockets layer (SSL) • protocol.
  • SSL is a protocol developed by Netscape® for transmitting private documents over the Internet. SSL works by using a public key to encrypt data that is transferred over an established SSL connection. Additionally, the communications might have to have additional provisions for crossing through a firewall, such as supporting authenticated proxies and the like. More than one agent may be installed on a single network.
  • Each agent 24 is comprised of three core software components: an engine 25, one or more plug-ins 26, and a relay 27. These core components may run on the same device or on different devices.
  • engine 25 and plug-ins 26 run on computer 19 and relay 22 runs on server 20.
  • Plug-ins 26 are installable computer programs that are responsible for collecting the state of hardware, operating systems and/or applications, in a device that is being managed/monitored by agent 24.
  • operating systems examples include, but are not limited to, the Microsoft® Windows® family (Intel 8086-like hardware platform), including NT4® (Workstation, Server, Terminal Server), Windows2000® (Professional, Server, Advanced Server) Windows9x® (95(all versions), 98 (all versions) and ME(Millennium), and Linux versions kernel 2.2, 2.4 (RedHat 6.2 and above, Conectiva 6.0 and above).
  • Microsoft® Windows® family Intel 8086-like hardware platform
  • NT4® Workstation, Server, Terminal Server
  • Windows2000® Professional, Server, Advanced Server
  • Windows9x® 95(all versions), 98 (all versions) and ME(Millennium
  • Linux versions kernel 2.2, 2.4 RedHat 6.2 and above, Conectiva 6.0 and above.
  • the plug-ins constitute shared libraries containing system calls for collecting data from a device.
  • Engine 25 is a computer program that is responsible for controlling plug- ins 26, grouping the collected data and sending the data to relay 27 using, e.g., transmission control protocol/internet protocol (TCP/IP).
  • Relay 27 is a computer program that is responsible for sending the collected data to server 21 over the Internet (or, more generally, external network) via, e.g., SMTP, HTTP or SSL.
  • Relay 27 need not be installed in all computers on internal network 11.
  • a client can choose to install relay 27 on a single computer on internal network 11 with Internet access and direct all agents running on internal network 11 to send data to that one relay, which will then send the data to server 21.
  • Agent 24 may be installed on the device to be monitored, as is the case here, or it may be stored on another devices (e.g., a server) on the same internal network as the device to monitored (which is the case for network peripherals management).
  • relay 27 is configured to permit functions such as sending and receiving messages using e-mail or HTTP or SSL.
  • Engine 25 is then executed. After engine 25 is executed for the first time, it calls all the installed plug-ins and reads configuration information contained therein. Engine 25 creates a schedule to call the plug-ins at periodic time intervals. Once engine 25 is up and running, engine 25 will, at the time intervals, call the plug-ins. For example, a plug-in can be scheduled to execute every minute, every 5 minutes, and so on. After each plug-in executes, the plug-in returns data that it collected to engine 25.
  • “Sysinfo” collects information regarding the configuration of the entire system from the point of view of the system's operating system.
  • Vmstat collects information regarding the CPU usage and memory usage of the computer system where the plug-in is installed.
  • Lostat collects information regarding the disk I/O usage of the computer system where the plug-in is installed.
  • Netstat collects information regarding the network statistics of the computer system where the plug-in is installed.
  • Fsinfo collects information regarding the file system of the computer system where the plug-in is installed.
  • “Psinfo” collects information regarding the processes that are miming on the computer system where the plug-in is installed.
  • “Swpinfo” collects information regarding the swap area of the computer system where the plug-in is installed.
  • “Lvminfo” collects information regarding the logical volume manager of the computer system where the plug-in is installed.
  • “SQL Server”, where “SQL” stands for "Structured Query Language”, collects information regarding the state of a Microsoft® SQL SERVER 2000® database server on internal network 11.
  • the “SQL SERVER plug-in” collects data that enables server 21 to generate a detailed report regarding the configuration, performance, etc. of the SQL SERVER 2000® database server.
  • "Network” collects information from network devices that are connected to internal network 11, i.e., devices that are not physically part of the device on which agent resides, but are in the same internal network.
  • “Oracle” plug-in collects information regarding the state of an Oracle® database server on internal network 11. The Oracle plug-in collects data that enables server 21 to generate a report regarding the configuration, performance, etc. of the Oracle® database server.
  • Engine 25 receives the collected data from plug-ins 26 and stores the collected data in a file in a binary and, in this case, proprietary format. Engine 25 compresses the file using a compression technique, such as the BZ2 compression method. Engine 25 sends the compressed data to the relay, which is responsible for encrypting the data.
  • a compression technique such as the BZ2 compression method.
  • Relay 27 receives data collected by one or more agents on internal network 11, encrypts the data, and sends the data through the Internet to server 21, where the data is analyzed.
  • Relay 27 can run in a device other than the monitored (shown) device and can receive connections from more than one agent simultaneously.
  • the relay's connection to the internet may be dial-up or permanent and may support SMPT, HTTP and/or SSL.
  • the relay supports proxies and SOCKS (Windows® sockets), making it easier for outbound connections to go through firewalls.
  • relay 27 uses two methods of encryption. The encryption method that relay 27 selects corresponds to the transfer protocol that relay 27 uses to send the data to server 21.
  • relay 27 uses the encryption method that is available from the OpenSSL library, hi this embodiment, SSL version 3/Transport Layer Security (TLS) version 1 with Rivest, Shamir, and Adelman (RSA), Triple Data Encryption Standard (3DES) is used with a key of 128.
  • SSL version 3/Transport Layer Security
  • RSA is a public-key encryption process developed by RSA Data Security, Inc. The RSA process is based on that fact that there is no efficient way to factor very large numbers. Deducing an RSA key, therefore, requires large amounts of computer processing power and time. The RSA process has become the de facto standard for industrial-strength encryption.
  • DES is a popular symmetric-key encryption method that uses a 56-bit key.
  • relay 27 encrypts the data using the sapphire, symmetrical, encryption process, in which the key used is a session key. This means that the key will only be used once. The key used is 128 bits. The server needs this key for decryption. Therefore, relay 27 uses the RSA, asymmetrical, encryption process to encrypt the key using a 1024 bits key.
  • Server 21 includes a computer program 29 to receive the encrypted and compressed data from agent 24, decrypt and decompress the data, and store the data in a database 22.
  • Database 22 may be part of, or external to, server 21.
  • Computer program 29 also retrieves the data from database 22 and presents the data to a client 30.
  • Computer program 29 may include a Web server module, which formats the data and makes the data accessible as a Web page or even a WAP (Wireless Application Protocol) page. The formatting may also include generating a report in Adobe PDF format or using Java applets for displaying real-time graphics of data collected by the agents.
  • An additional form of communicating information being collected by the agents that can be employed by server 21 is notifications.
  • Notification are "real time" alerts sent every time a certain event happens (such as a threshold being exceeded) to portable communication devices such as cellular phones, pagers, etc.
  • real-time is defined roughly by the data sampling rate of the agent and any delays associated with data transmission.
  • the notification process may operate as follows. The user can specify occurrences that prompt a notification and the necessary configuration. For example, the user can be notified in response to changes in CPU usage, memory usage, disk VO, network I/O, file system/logical drive utilization, and the status of a process.
  • CPU Utilization has the high point set to 80% and low point to 50%.
  • the following scenarios may occur: (1) The user has the high point flag set to false and the value is below the high point. (2) The value reaches the high point and the flag is set to false. In this case the user receives the form of notification chosen and the high point flag is set to true. (3) The value is above the high point and the high point flag is true. Nothing is done here, since the user has already been notified. (4) The value is below the high point, above the low point and the high point flag is true. Nothing is done here. (5) The value is below the low point and the high point flag is true. The user is notified that it reached the low point and the high point flag is false
  • Notifications in response to the status of a process status function analogously.
  • the user provides the name of the processes to be monitored.
  • a user is notified once when the process stops running and receives a notification when the process starts running again.
  • Computer program 29 also analyzes the data collected from a device (e.g., device
  • Computer program 29 in order to produce a natural language and conclusive report.
  • natural language means a human-readable format that can be presented and understood by, e.g., a network administrator or the like.
  • Computer program 29 generates the reports according to a rule-based system. For each of the reports there are sets of rules that determine what goes in the report.
  • computer program 29 includes the following software modules (called "wizards") for generating different types of reports.
  • Performance Wizard Service delivered through the Internet analyzes the foregoing performance of computational servers and presents results by means of conclusive, natural language reports.
  • Consolidated Performance Wizard Service delivered through the Internet analyzes the foregoing performance of a group of computational servers, as a whole, and presents the results by means of conclusive, natural language reports.
  • Capacity Wizard Service delivered through the Internet infers the future performance behavior of computational servers, studies possible upgrades, and presents results by means of conclusive, natural language reports.
  • Consolidated Capacity Wizard Service delivered through the Internet infers the future performance of a group of computational servers, as a whole, and possible upgrades, and presents the results by means of conclusive, natural language reports.
  • Real Time Monitoring (RTM) Service delivered tlirough the Internet shows, via an Internet browser or WAP (Wireless Application Protocol)-enabled device (such as a mobile phones or notepad), the updated status of the computational resources (such as memory usage, CPU usage, disk usage and network interface usage) of a computer.
  • WAP Wireless Application Protocol
  • the service can also send alerts by WAP, SMS (Short Message System), e- mail or similar electronic communication channels whenever the consumption of each computational resource exceed pre-defined thresholds.
  • the RTM Wizard service generates real-time graphical displays of data from an agent monitoring a device on internal network 11.
  • Asset Wizard Service delivered through the Internet collects, keeps and analyzes information about computer hardware and software components such as hardware internal configuration, operating system version, installed software and upgrade history.
  • Oracle Wizard Service delivered through the Internet analyzes the foregoing performance behavior of an Oracle ⁇ database and presents the results by means of conclusive, natural language reports.
  • SQL Server Wizard Service delivered through the Internet analyzes the foregoing performance behavior of a Microsoft SQL Server ⁇ database and presents the results by means of conclusive, natural language reports.
  • the rules used by computer program 29 are static and configurable in terms of thresholds and tolerances.
  • Thresholds define a level, for a given resource consumption variable, above wliich, resource usage is considered critical. For instance, with computer processing units (CPUs), a threshold value is 75% utilization. Tolerances define for what percentage of an analyzed period a threshold was exceeded. Exceeding a threshold may not indicate a problem, unless the threshold is exceeded for a certain amount of time.
  • thresholds and tolerances There are four combinations of situations involving thresholds and tolerances: (1) a threshold was never exceeded, (2) a threshold was exceeded for a period of time below tolerance, (3) a threshold was exceeded for a period of time above tolerance, and (4) a threshold was exceeded all the time. Different text may be provided (e.g., displayed) in a report for each of these four situations, for every resource variable being analyzed, and for every language supported.
  • agent(s) Prior to operation, agent(s) (including engine, relay and plug-ins) are installed on computers of internal network 11. Installation may be perfonned by downloading the agent software from a Web site. An agent may be downloaded and installed for each type of platform on the internal network, e.g., Linux, Windows2000, etc. The agent is installed on each device to be monitored and in each device that is to act as a relay for internal network 11. A user, such as a network administrator, identifies himself (e.g., by e-mail address) and selects desired installation options. The agent automatically enables operation under the user's account through a Web site, such as "my.automatos.com", that is accessible via the Internet. The user then activates the monitoring services on the various devices. Installation options are described in more detail below.
  • Figs. 52a and 52b show Web pages for creating an account via a Web site, from which the agent can be downloaded.
  • the Web pages request identification information for the user, such as the user's name, e-mail address, a password, and language preference, among other things.
  • Fig. 53 shows a similar Web page for entering information on the company of the user that enrolled via the Web pages of Figs. 52a and 52b.
  • agent 24 Once enrolled, the user downloads the agent from the Web site and begins the installation process.
  • agent 24 generates and displays a graphical user interface (GUI) that has three tabs for checking the status of the agent and altering the agent's operation.
  • the tabs are: "Status", “Settings" and "Start/Stop”. Each tab may have different panels. Each panel presents a set of closely related parameters displayed in separate fields. Some of these parameters can be edited. Each tab is described below, along with the meaning and functionality of the fields contained therein.
  • Fig. 2 shows an example of status tab 31.
  • Status tab 31 is displayed on a device running agent 24.
  • the fields in status tab 31 are fixed, meaning that they cannot be edited.
  • machine panel 32 presents information describing the device on which the agent is installed, e.g., device 19. This information includes the operating system 34 of the device, the name 35 of the device and the MachinelD 36 of the device. "MachinelD" is the device's machine identifier. The Machine ID is a number that is generated during installation and that uniquely identifies device 19 to computer program 29 running in server 21 (shown in Fig. 1).
  • Agent panel 37 presents a start time 39, which is the date and time of the agent's activation, and a PID number 40, which is the agent's process ID (identifier) number.
  • a process ID is a number that identifies a process in an operating system on the monitored device. Using the process ID or "PID", it is possible to send signals to a process running in an operating system, such as an instruction for the process to terminate.
  • the modules field 41 shows each active collection module and its version number. Each module is responsible for coordinating the collection of data related to a specific service (e.g., Capacity Wizard, Performance Wizard, etc.). Whenever plug-ins are installed for new services, new modules are inserted and collectors may be added.
  • Collector field 42 shows the name of each collector within a device being managed and indicates if such collectors are active ("UP"). Each collector is responsible for collecting data from a certain device resource, such as hard disk, memory, etc.
  • Fig. 28 shows status tab 31 with other options 43 in the pull-down menu of collector field 42.
  • Data TX Panel 44 shows the Internet Protocol (IP) address 45 of the device in which the agent is installed and indicates if the device is currently sending samples to server 21.
  • IP Internet Protocol
  • the device's IP address is 127.0.0.1 and it is sending samples. If the device were not sending samples, icon 46 (Fig. 3) would be displayed in lieu of icon 47.
  • LastTXBytes field 49 shows the amount of bytes sent to relay 27 in a last collected data sample.
  • TotalTXBytes 50 field shows the total amount of bytes sent to relay 27 to present.
  • Sent field 51 shows the amount of collected data sent to relay 27.
  • Last Sent field 52 shows the date and time that the last collected data sample was sent to server 21.
  • Failures field 54 shows the number of failed sample transmission attempts.
  • Last Failures field 55 shows the date and time of the last failed sample transmission attempt. When no failures occur an "unknown" status is indicated (as shown). Also shown in Fig. 2 is an agent service indicator 2. "UP” (shown) indicates that the agent is active. “DOWN” (not shown) indicates that the agent is inactive.
  • Fig. 4 shows an example of settings tab 57.
  • Settings tab 57 is displayed on a device running agent 24. Some of the fields in settings tab 57 are fixed, others may be edited.
  • General panel 59 displays a customer ID field 60 and a TMP
  • (temporary) path field 61 CustomerlD field 60 shows the e-mail address used during enrollment and input when the agent is installed.
  • TMP path field 61 shows where samples are stored until they are sent to relay 27.
  • Primary Relay panel 62 contains Relay Server field 69, which shows the JP address of the primary relay device on internal network 11, and Relay Port field 65 which shows the primary relay device's JP port number.
  • Alternate Relay panel 66 includes a Relay Server field 67 and a Relay Port field
  • Relay Server field 67 indicates an alternate relay server's IP address. The alternate relay is automatically used when the primary relays is down.
  • Relay Port field 69 provides the alternate relay server's IP port number. Clicking on Apply button 70 executes any alterations made in the fields shown in Fig. 4.
  • the Start/stop tab 71 is displayed on a device running agent 24. In this tab, it is possible to activate and/or deactivate agent data sampling.
  • Fig. 5 shows start/stop tab 71 when agent 24 is active ("UP").
  • Fig. 6 shows start/stop tab 71 when agent 24 is inactive ("DOWN").
  • Agent Service panel 72 Start button 74 activates agent sampling (i.e., data collecting) (shown active) and Stop button 75 deactivates agent sampling.
  • Agent sampling i.e., data collecting
  • Stop button 75 deactivates agent sampling.
  • Reload Plug- ins button 76 reloads plug-ins installed in the agent.
  • GUI 77 for the relay is similar to the GUI (Fig. 2) for the agent.
  • GUI 77 is displayed on relay server 20 (Fig. 1) during installation and/or operation.
  • relay GUI 77 also has Status tab 79, Settings tab 80, and Start/Stop tab 81 with similar panels and functionalities as those described above.
  • Fig. 7 shows the relay GUI status tab 79. As was the case with the agent GUI status tab, most of the fields in relay GUI status tab 79 cannot be edited.
  • Machine panel 82 presents information describing relay server 20, its operating system, name and MachinelD.
  • the example presented in Fig 7 shows a computer (relay server) named "WRIEIRO2" executing Windows 2000 Professional with Service Pack 1 installed.
  • the relay sever can be installed in a different operating system than the agents are installed.
  • Relay panel 84 includes Version field 85, which provides the relay's version number, Start Time field 86 which provides the date and time of relay activation, and PJD field 87 which provides the process ID number.
  • Data RX (Receive) panel 89 includes the TX (Transmit) Queue Len field 90 which indicates a backlog of samples to send to server 21 (Fig. 1), TotalRXBytes field 91 which shows the total amount of bytes received by the relay from all agents until the present, and Active Sessions field 92 which shows the number of active agents' sessions that are sending samples to the relay.
  • the IP addresses of the agents that are generating the samples are listed in drop-down field 94.
  • Data TX (Transmit) panel 95 includes the following fields.
  • Data TX time field 96 shows the amount of time spent transmitting a last sample from relay 27 to server 21.
  • Sent field 97 shows the amount of collected samples sent from relay 27 to server 21.
  • Failures field 99 shows the number of failed data transmission attempts from relay 27 to server 21.
  • Mode field 100 shows the mode of transmission from relay 27 to server 21 : in this embodiment, either SMTP for e-mail data transmission or SSL for SSL data transmission.
  • LastTXBytes field 101 shows the amount of bytes sent by relay 27 to server 21 in an immediately preceding transmission.
  • Last Sent field 102 shows the date and time that the last collected sample was sent from relay 27 to server 21.
  • Last Failure field 104 shows the date and time of the last failed data transmission attempt. When no failures occur "unknown" is displayed.
  • Status tab 79 also includes a relay service indicator 105.
  • Relay service indicator 105 indicates "UP” when relay 27 is active and “DOWN” when relay 27 is inactive.
  • TX and RX statistics are reset, e.g., TotalRXBytes, DataTXTime, etc.
  • Figs. 8 and 29 to 41 depict settings tab 80.
  • Settings tab 80 is displayed on a device running relay 27. Some of the fields in settings tab 80 are fixed, others may be edited.
  • General Panel 106 includes the following fields.
  • CustomerJD field 107 displays the e-mail address input while installing the relay. This e-mail address identifies the user in my.automatos.com and cannot be edited.
  • TMP path field 109 indicates where samples are stored until they are sent to server 21.
  • Communications port field 110 (Fig. 29) displays the JP communication port used to transmit samples from agent 24 to relay 27. hi this example, the default value is 1999.
  • Protocol selection panel 111 allow a user to select protocols 113 (Fig. 31), including SSL, HTTP and SMTP, that may be used to transmit data over the Internet.
  • Fig. 30 shows the case where SSL is selected. In this case, the server name and port 112 are input.
  • Fig. 32 shows the case where HTTP is selected. In this case as well, the server name and port 114 are input.
  • Fig. 33 shows the case where SMTP is selected. In this case the server name and port 118 are input, along with e-mail addresses 111, including the sender's e-mail address ("FROM") and the recipient's e-mail address ("TO").
  • the SMTP server default address is mail.automatos.com (not shown) and the SSL server default address is ssl.automatos.com (not shown).
  • Figs. 34 to 41 shows screens for allowing a user to select firewall settings 128.
  • the Start/stop tab 81 (Fig. 9) is displayed on a relay device, hi this tab, it is possible to activate and/or deactivate data sampling transmission. Start/stop tab 81 indicates "START" 122, when relay service is "UP” 124, and “STOP" 125 when relay service is “DOWN” (not shown).
  • Fig. 10 shows a process 126 performed by agent 24 (including relay 27) for obtaining data from a device and providing that data to a remote server (or other type of processing device).
  • Fig. 11 shows a process 127 performed by remote server 21 for processing received data and making that data accessible to remote client 30, e.g., over the Internet.
  • agent 24 is activated and receives (1001) a plug-in containing system calls for obtaining data from device 19. It is noted that agent 24 may use a previously-installed plug-in to obtain data from device 19. A new plug-in is used if agent 24 needs to retrieve added or different data not obtainable by plug-ins already available to agent 24. Agent 24 loads (1002) the new plug-in, along with the preexisting plug-ins.
  • engine 25 creates (1003) a schedule to call the plug-ins at periodic time intervals. For example, a plug-in can be scheduled to execute every minute (as in this example), every 5 minutes, and so on. After each plug-in executes, the plug-in returns data that it collected to engine 25.
  • process 126 waits (1004) for the scheduled time interval (one minute here) and calls (1005) the scheduled plug-in at the appropriate time.
  • the plug-in collects the appropriate data from the monitored device.
  • engine 25 uses system calls from the new plug-in to obtain (1006) data from device 19.
  • Engine 25 may also obtain any other available data using the system calls from the pre-existing plug-ins.
  • the data may relate to, but is not limited to, one or more of the following: a processor on the device, a memory on the device, a hard drive on the device, an internal network on which the device is located, an operating system of the device, and/or software installed on the device.
  • Engine 25 compresses (1007) the obtained data and transmits the compressed data to relay 27.
  • relay 27 may reside on the same device as engine 27 or on a different device (shown).
  • Relay 27 encrypts (1007) the data that it receives from engine 25 and transmits (1008) the encrypted data to server 21 over the Internet. Blocks 1004 to 1008 may be repeated periodically, as shown, in order to obtain real-time data from device 19. Data is thus transmitted from agent 24 to server 21 periodically, thereby allowing a client to monitor changes in device 19 in real-time. This feature is described in more detail below.
  • server 21 receives (1101) the compressed and encrypted data. The data is received periodically, as it is transmitted, e.g., every minute, five minutes, etc.
  • Computer program 29 in server 21 decompresses and decrypts the data and stores the data in database 22. Alternatively, instead of storing the data in database 22, computer program 29 may process the data as it is received, which is the case when real time notification is utilized.
  • Computer program 29 formats (1102) the data for display.
  • the data is formatted as one or more Web pages (e.g., Figs. 15 to 18), reports (see the attached appendices), notification messages (e.g. pager messages, e-mails, etc.) and/or or graphs/charts (e.g., Fig. 25) for showing real-time operation behavior of device 19.
  • Web pages e.g., Figs. 15 to 18
  • reports see the attached appendices
  • notification messages e.g. pager messages, e-mails, etc.
  • graphs/charts e.g., Fig. 25
  • Computer program 29 makes the formatted data accessible to a remote client via the Internet. That is computer program 29 functions as a Web server to provide a Web site containing Web pages with the formatted data. A user at client 30 can navigate through the site/data via one or more hyperlinks. Computer program 29 may generate natural language reports that indicate an operational parameter of a device exceeds a preset limit. In this scenario, computer program determines if received data indicates that an operational parameter of the device exceeds a preset limit and generates a report to client 30 indicating that the preset limit has been exceeded. Preset limits for the operational parameters may be stored in, and retrieved from, database 22 by computer program 29. Client 30 (Fig. 1) can access the formatted data from server 21 through one or more Web pages. Fig.
  • Web page 140 contains hyperlinks 141, 142 and 144 to data for devices, in this case computers, being monitored by agents.
  • Window 145 provides a list 146, which contains groupings by "department" of one or more devices being monitored by agents.
  • hyperlink 142 provides links to data for all computers being monitored.
  • hyperlink 144 provides links to data for a selected group from list 146. If hyperlink 146 is selected, Web page 147 (Fig. 13) is displayed. Web page 147 contains link 149 to one computer (BOSB000117) and link 150 to another computer (WVTLLELA). Clicking on hyperlink 149 displays Web page 151 (Fig. 14). Web page
  • hyperlinks 154 which allow a user to display information about the selected device.
  • Web page 152 displays information about the configuration and operation of the selected computer. As shown, this information includes the operating system on the computer, the operating system version, the CPU on the computer, the CPU speed, the amount of memory, the type of CD-ROM (Compact Disc Read Only Memory) on the computer, along with other information.
  • Clicking on hyperlink 156 (Fig. 14) displays the capacity of the device's hard drive, shown in Web page 157 (Fig. 16).
  • Clicking on hyperlink 159 displays network information (e.g., the IP address) for device 19, shown in Web page 160 (Fig. 17).
  • Clicking on hyperlink 161 displays a list of the software installed on device 19, shown in Web page 162 (Fig. 18). Other information also may be accessible.
  • Web page 164 (Fig. 19) is also accessible through the Web site provided by server 21.
  • Web page 164 provides options for viewing statistics relating to monitored devices. For example, clicking on hyperlink 165 displays Web page 166 (Fig. 20).
  • Web page 166 provides a list 167 of groupings of devices (by department), along with buttons 169 which link to Web pages that provide statistics for a selected grouping from list 167.
  • Selecting "All Dept" 170 and button 171 on Web page 166 displays Web page 172 (Fig. 21).
  • Web page 172 identifies the CPU on all computers from list 167. To select only computers from a single group (i.e., department), select that group and button 171.
  • Selecting button 174 (Fig. 20) generates a Web page 175 (Fig. 22) that displays operating system information for computers from a selected group.
  • Selecting button 176 generates a Web page (not shown) that displays memory statistics for computers from a selected group.
  • Selecting button 177 generates a Web page (not shown) that displays software statistics (e.g., software installed, versions, etc.) for computers from a selected group.
  • Selecting button 179 generates a Web page (not shown) that displays product information (e.g., model, version, etc.) for computers from a selected group.
  • Selecting button 180 generates a Web page (not shown) that displays manufacturer information for computers from a selected group.
  • Fig. 23 shows another example of a Web page 181 displayed by server 21.
  • Web page 181 allows a user to access services through server 21. Among these services are real-time monitor (RTM) wizard 182.
  • RTM wizard 182 is part of computer program 29 and allows a client to view data from device 19 as that data changes in real-time.
  • Selecting RTM wizard 182 displays Web page 184 (Fig. 24), in which a user can select a device 185 to be monitored from pull-down menu 186.
  • a window 187 (Fig. 25) is displayed for showing the status of a selected function over time.
  • a user can choose to monitor a device's memory usage 189, disk input/output (I/O) 190, CPU usage 191, and network VO 192.
  • the selected function is displayed in terms of percentage of use 194 versus time 195 and is updated automatically as new data arrives at server 21.
  • Web page 196 (Fig. 26) also provides options for obtaining natural-language reports based on the data collected by agent 24.
  • Performance wizard 197, capacity wizard 199, Oracle wizard 200, SQL server wizard 201, and asset wizard 202 are software modules that are included within computer program 29. These modules analyze the data received from the agent(s), generate reports, and provide those reports to a user, in Adobe PDF format, at client 30, on demand (through the site) or automatically (by e- mail).
  • the various reports generated by the "wizards" provide information relating to one or more devices on a network over a period of time, although each report is different.
  • the reports combine data, charts, and natural language information, making them look like reports generated by a human being.
  • Reports may include hyperlinks linking their sections, to make it easy to access a section that interests the user.
  • the beginning of each report also may contain a summary of the information found in more detail in other sections of the report, making it easy to jump to the other sections.
  • Appendix A shows an example of a report generated by asset wizard 202.
  • Appendix B shows an example of a report generated by Oracle wizard 200.
  • Appendix C shows examples reports generated by SQL server wizard 201.
  • Appendix D shows an example of a report generated by performance wizard 197.
  • Appendix E shows an example of a report generated by capacity wizard 199.
  • Other types of reports may be generated instead of, or in addition to, the reports shown in the appendices.
  • Web page 196 (Fig. 26)
  • the user can select a starting date 205 and an ending date 206 for the report.
  • Computer program 29 generates and displays a report that encompasses that time period.
  • Pull-down menu 207 allows the user to select the device or devices about which to generate a report.
  • Web page 196 relates to SQL server wizard 201; however, similar Web pages are provided for the other wizards shown in Fig. 26.
  • Server 21 may also transmit the device monitor data (e.g., reports, etc.) using wireless application protocol (WAP) to a wireless device, such as a cellular telephone 230 (Fig. 42).
  • WAP wireless application protocol
  • Fig. 42 shows a screen 232 for a wireless user to select the language in which to receive information.
  • Fig. 43 shows the selection of languages 233 on screen 232.
  • Fig. 44 shows a screen 235 for the user to enter a login ID, here called an "alias”.
  • Fig. 45 shows a screen 236 for the user to enter a password.
  • Fig. 46 shows a screen 237 for the user to obtain a list of devices on internal network 11 for which monitoring data is available.
  • Fig. 47 shows a screen 238 that shows the list of devices (in this example, servers).
  • Fig. 43 shows the selection of languages 233 on screen 232.
  • Fig. 44 shows a screen 235 for the user to enter a login ID, here called an "alias”.
  • Fig. 45 shows a screen 236 for the user to enter a password.
  • Fig. 46 shows a screen 237 for the user to obtain a list of devices on internal network 11 for which monitoring data is available.
  • Fig. 47 shows a screen 238 that shows the list of devices (in this example, servers).
  • Fig. 48 shows a screen 239 which allows the user to select which features to monitor on the selected server, e.g., configuration, CPU usage, virtual memory, disk I/O, etc.
  • Fig. 49 shows a screen 240 with the selected data, in this case, CPU usage.
  • Fig. 50 shows a screen 241 with the selected data, in this case, virtual memory usage.
  • Fig. 51 shows a screen 242 with the selected data, in this case, network information.
  • Fig. 27 shows a computer 210 on which either of processes 126 or 127 may be implemented. That is, computer 210 may represent either a device with an installed agent on internal network 11 or server 21 (Fig. 1).
  • Computer 210 includes a processor 211, a memory 212, and a storage medium 214 (e.g., a hard disk) (see view 215).
  • Storage medium 214 stores machine-executable instructions 216 that are executed by processor
  • Processes 126 and 127 are not limited to use with the hardware and software of Fig. 27. They may find applicability in any computing or processing environment. Processes 126 and 127 may be implemented in hardware, software, or a combination of hardware and software.
  • Processes 126 and 127 may be implemented in computer programs executing on programmable computers or other machines that each include a processor, a storage medium readable by the processor (including volatile and non- volatile memory and/or storage components), at least one input device, and one or more output devices.
  • Program code may be applied to data entered using an input device (e.g., a mouse or keyboard) to perform processes 126 and 127 and to generate information.
  • Each such program may be implemented in a high level procedural or object- oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language. The language may be a compiled or an interpreted language.
  • Each computer program may be stored on a storage medium or other type of article of manufacture, such as a CD-ROM, hard disk, or magnetic diskette, that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform processes 126 and 127.
  • Processes 126 and/or 127 may also be implemented as an article of manufacture, such as a machine-readable storage medium, configured with a computer program, where, upon execution, instructions in the computer program cause a machine to operate in accordance with processes 126 and 127.
  • the invention is not limited to the specific embodiments described above.
  • the invention is not limited to the protocols, hardware, or software described herein.
  • the invention is not limited to generating the specific Web pages or reports described herein.
  • the blocks of Figs. 10 and 11 may be reordered and/or blocks may be left out or added.
  • a system 310 includes a local server 312 connected to an intranet 314 that is connected to the Internet 316 through a firewall 318.
  • Intranet 314 includes a Mail server 3150 with a Simple Mail Transfer Protocol (SMTP) server 3151 that delivers mail to and from the intranet 314.
  • Intranet 314 also includes a workstation 3152 that is used by an administrator of the Intranet.
  • Workstation 3152 typically has a web browser 343b for browsing web pages and a mail client 3154 for receiving and sending email messages, for example, through SMTP server 3151.
  • a monitor server 320 which is also connected to the Internet 16, monitors the operations of the local server 312 automatically without requiring continued involvement by an administrator of the local server 312.
  • the administrator of the local server 312 may have a laptop computer 322, which is connected to the Internet 316 and may be used to access the local server 312.
  • local server 312 executes an agent 324, which collects data that indicates the operating state the local server 312, including configuration information and performance data. The data provide a measure of how well the local server 312 is performing its intended functions.
  • Agent 324 automatically transmits the collected data using email (which conforms to a standard email protocol) to an email address associated with the monitor server 320.
  • the monitor server 320 analyzes the data and automatically generates a report containing a summary of the status of the local server 312, diagnoses of problems or defects that may exist in the local server 312, and a listing of resources on the local server 312 that may need to be updated to keep up with future demands on the local server 312.
  • the monitor server 320 transmits the report using an email (which also conforms to a standard email protocol) to an email address associated with the administrator of the local server 312.
  • the administrator can then access the report from any computer that is reachable by email, including laptop computer 322 and workstation 3154.
  • the administrator can also access the report from a web page on monitor server 320 from any computer that has a web browser, such as workstation 3152.
  • the system 310 provides automatic unattended continuous monitoring of the server 320 and automatically sends performance reports to any authorized person located anywhere using simple email. By using email to send the data and the report, the system 310 allows information to be sent through the firewall 318 without compromising the security of the intranet 14 or requiring that the firewall 318 be reconfigured.
  • Local Server 312 includes a processor 330 and a storage subsystem 332.
  • Storage subsystem 332 is a computer readable medium, such as computer memory, a floppy disk, a hard disk, a CDROM, an optical disk or a tape drive.
  • Storage subsystem 332 stores an operating system program 334 that is executed by the processor 330.
  • local server 312 may have any one of a variety of operating systems installed.
  • Operating system 334 includes a kernel 336, which further contains device drivers 338 that are used by the operating system to access devices in the local server 312.
  • the device drivers 338 provide an input/output control (“IOCTL”) application programming interface (“API”) 339 that may be used to obtain performance data from the device drivers 338.
  • IOCTL input/output control
  • API application programming interface
  • the operating system 334 provides a system call API 340 and a registry 342 that may be used to obtain performance information from the operating system 334.
  • Storage subsystem 332 also includes a file system 342 that contains system files 344 that are used by the operating system 334 to store data and a web browser 343 that may be used to browse web pages, as described in greater detail below.
  • Storage subsystem 332 also stores agent software 324, which is executed by the processor 332 to collect and transmit data.
  • Agent software 324 occupies very little storage space on storage subsystem 332. Typically, agent software 324 occupies about 600KB of storage space.
  • Processor 330 executes agent software 324 as a background process, known as a service or a daemon process. Very little memory and processing power is required to execute agent software 324. Typically, agent software 324 requires less than 1 % of the processing power of processor 330 and about 3.5 megabytes of memory to execute.
  • Agent software 324 includes a data retriever module 346 that retrieves the data, a timer module 348 which directs the data retriever module 346 to retrieve the data at certain time intervals, a data compressor module 350 to compress the collected data, a data encryptor 352 to encrypt the data, and an SMTP sender module 354 to send the data via email.
  • the data retriever 46 includes a registry module 356 which retrieves data from the registry 342, a system call module 358 which uses the system call API 340 to retrieve data from the operating system 334, an IOCTL module 360 which retrieves data from device drivers 338, and a file system module 362 which retrieves data from system files 344 contained within file system 342.
  • the timer module 348 can be configured in a selected one of possible data collection modes, each of which is represented by a row 3202a, 3202b of FIG. 55 A.
  • the configuration mode is selected in a user interface screen of agent software 24.
  • the timer module 48 has multiple configuration modes, only two of them 3202a, 3202b are shown in FIG.
  • Each configuration mode is associated with a sampling period 3204a, 3204b, after which the data retriever 46 collects a new sample of the data from the local server 12.
  • Each configuration mode is also associated with an entry period 3206a, 3206b.
  • the data retriever 46 computes an average of the data samples collected over the duration of the same entry period 3206a, 3206b and writes the average in a current one of the data files 366.
  • the timer module 48 causes the data to be written in a new data file after each upload period 3208a, 3208b of the selected configuration.
  • each column 3210a-3210e of FIG. 55B corresponds to a different operating system.
  • the IBM AIX version of agent software acquires data from a virtual device file "/dev/kmem" 3212 within the file system 342 and from system calls 3214 from the system call API 340 (FIG. 54).
  • the Solaris version acquires data from a "/proc" virtual file system, from system calls 3218, and from IOCTL calls 3219.
  • the HP UX version acquires data from lOCTLs 3220 from the IOCTL API 39 (FIG. 54) and from system calls 3222.
  • the Linux version acquires data from lOCTLs 3224, system calls 3226, and the "/proc" virtual file system 3228.
  • the windows version acquires data from the registry 342, system calls 3232 and lOCTLs 3234.
  • data retriever collects data about the components or inventory 3239 of the local server 312, processor or CPU usage 3240, process queues 3242 which are listings of tasks awaiting performance by the processor, memory usage 3244, disk usage 3246, network usage 3248, resource usage or the amount of resources used by each process 3250, paging space occupancy 3252, file system occupancy 3254, and logical drive occupancy 3256.
  • the inventory data 3239 includes a CPU version 3239 that indicates the processor type 3239a and a CPU clock rate 3239b .
  • Typical CPU version may be "Pentium TV, stepping 6" and a typical clock rate is "1.5 Ghz”.
  • the inventory data also includes operating system information such as a operating system version 3239c, a version release number 3239d, a maintenance release number 3239e, and a patch level number 3239f.
  • the CPU usage data includes user mode (“usr”) CPU usage 3240a, system mode (“sys”) CPU usage 3240b, time spent by the CPU waiting for blocked processes (“wio”) 3240d, and idle time (idle) 3240c when the CPU has no tasks to perform.
  • the process queue data 3242 includes blocked queue data 3242a about process that cannot be performed because the processor 330 is waiting, for example, for an input/output operation and run queue data 3242b about processes that are ready to be performed by the processor 330.
  • the memory usage data 3244 includes free memory data (“fre") 3244a, total active virtual memory data (“avm”) 3244b, page-ins per second (“pi") 3244c, and page-outs per second (“po") 3244d.
  • the disk usage data 3246 includes disk bandwidth data ("tm_act”) 3246a, disk transfers per second (“tps”) 3246b, disk read counter data 3246c, and disk write counter data 3246d.
  • the data collected about the resources used by each process includes memory usage 3250a, input/output usage 3250b, and CPU usage 3250c.
  • the collected data is stored in a date file.
  • a sample data file is attached hereto as appendix F. Although the data files are typically stored in binary format, the sample data file in appendix F is configured in ASCII format to make it readable.
  • compressor 350 compresses the data files, and encryptor 352 encrypts the compressed files to reduce the risk of an unauthorized person accessing the data.
  • SMTP sender 354 then sends the data over the Intranet 314 via email to an email address associated with the monitor server 320.
  • the email message is sent via the Simple Mail Transport Protocol ("SMTP"), typically through SMTP server 3151.
  • SMTP Simple Mail Transport Protocol
  • Firewall 18 which contains a processor 370 and a storage subsystem 372, is configured to allow only certain kinds of information to be conveyed between Intranet
  • Firewall 318 is typically configured to allow email messages to be transmitted from the mail server 3150 into the Internet 316, allowing email messages sent from the SMTP sender 354 to be delivered to the monitor server 320.
  • firewall 318 may have an SMTP gateway 374 contained within the storage subsystem 374 of the firewall 318 that allows email messages to be securely transmitted from SMTP sender 354 to the monitor server 320 without going through mail server 3150. In either case, the Monitor server 320 eventually receives the email message from the Internet 316.
  • Monitor server 320 includes a processor 380 and storage subsystem 382.
  • Storage subsystem 382 stores mail server software 384 for sending and receiving email messages, a data analyzer 386 for analyzing data, a relational database management system
  • RDBMS Remote Desktop Server
  • file system 390 for storing files
  • web server 391 for serving web pages 393.
  • multiple computers are used to perform the tasks of the monitor server 320.
  • the web server 391 may, for example, be stored and executed on a separate computer to increase the responsiveness of the system.
  • Mail Server 384 includes an SMTP server 386 and a POP server 387.
  • SMTP server 386 receives the mail message containing the collected data and POP server makes the mail message available to analyzer 386 via the post office protocol ("POP").
  • POP post office protocol
  • the email message may be directly retrieved from the SMTP server using an "SMTP EXIT" call that is supported by the SMTP server 386.
  • RDBMS 388 stores User IDs 399 for identifying different users of the monitor server 320, Customer IDs 3100 to identify different organizations that have signed on for the monitoring service, Machine IDs 3102 for identifying the different servers being monitored for each of the organizations, an email address 3104 associated with the administrator of each of the machines, and data 3106 from the machines.
  • Analyzer 386 includes a POP client 3110 that retrieves the email message from the POP server 387 and extracts the data from it. In extracting the data, the POP client first decrypts the message and then decompresses the data. Analyzer 386 may be configured to store the data in the data section 3106 of the RDBMS or in data files 3113 contained within file system 390. Analyzer386 includes an engine 3112, which analyzes the data based on a set of rules 3114 contained within the analyzer. The analyzer may alternatively be configured to store the rules 3114 within RDMBS 388. A report generator 3116 of the analyzer generates a performance report 3118 for the local server 312 based on the analysis of the engine 3112. By performing the analysis of the data and generating the report on the momtor server 320 instead of the local server 312, the system 310 reduces the processing power and memory required on the local server 312 to monitor the server.
  • each rule is typically associated with a threshold value 3270 that specifies an acceptable range for a type of performance measurement, such as CPU usage, and a tolerance value 3272 that indicates how long a period of time the performance measurement may be out of the acceptable range when the local server 312 is operating properly.
  • Table 3274 shows the different pieces of information that are added to the report depending on whether or not performance measurement violates the threshold 3270 and on whether the period over which the threshold 3270 is violated is greater than the tolerance 3272.
  • Column 3276 shows text 3276a that is added to the report when performance measurement remains within the range specified by the threshold, while column 3278 shows two different versions 3278a and 3278b of text that are displayed when the performance measurement goes beyond the range.
  • the first version 3278a is only added to the report when the range is violated for a period that is less than the tolerance 3272 and the second version 3278b is only added to the report when the range is violated over a period that is greater than the tolerance 3272.
  • the analyzer 386 and the report generator 3116 generates a natural language report summarizing the collected data in a manner that is easy to understand.
  • the report generator may also be configured to include the actual percentage of the data, e.g. 40%, that exceeds the threshold value in the text segments 3278a and 3278b.
  • the versions 3278a and 3278b include text 3280a and 3280b that is emphasized to draw the attention of the reader.
  • the text 3280a and 3280b may be emphasized to alert the reader to a problem with the local server 312.
  • Report generator 3112 can be configured to emphasize the text 3280 using Italics, bold face font, underlining, larger fonts, a different foreground color, or a different background.
  • report generator 3116 generates an email message containing the report 3118 and retrieves an email address 3104 from RDBMS 388 associated with the administrator of the local server 312.
  • the report generator 3116 uses the SMTP server 386 to send the report to the email address.
  • Report generator 3116 also generates a web page corresponding to the report and provides the web page to web server 391.
  • the administrator of the local server 312 may retrieve the email message from any computer, such as laptop computer 322, that is equipped with a mail client.
  • Laptop computer 322 includes a processor and a storage subsystem 3122, which contains mail client software 3124.
  • Processor 3120 executes mail client software 3124, causing laptop computer 322 to retrieve the performance report email from an email server associated with the administrator.
  • the administrator can then view the report on a display associated with laptop computer 322.
  • the administrator can log onto web server 391 from a remote computer and view the report as a web page.
  • the agent software 324 initializes the monitoring process by getting (3304) the data upload period 3202 (FIG. 55A) corresponding to the timer configuration. Agent software 324 then determines (3306) the sample period 3204 (FIG. 55A) and entry period 3206 (FIG. 55A) of the timer configuration, for example, by looking them up in a table similar to FIG. 55A. Agent software 24 then starts (3308) the upload timer, starts (3310) the entry timer, and starts (3312) the sample timer of the timer module 348. Agent software 324 resets (3314) the total value and the counter value to zero. Agent software 24 checks (3316) whether the value of the sample timer is greater than or equal to the sample period.
  • data retriever 46 retrieves (3318) sample data values as previously described. Agent software 24 increments (3320) the total values by the value of the retrieved data, increments (3322) the value of the counter by one, and resets (3324) the sample timer. Agent software 24 then checks (3326) whether the value of the entry timer is greater than or equal to the entry period. If it is not, then agent software repeats the process of (3316-3326) of collecting another sample of data. Otherwise, if the value of the entry timer is greater than or equal to the value of the entry period, the data retriever 46 writes (3328) the ratio of the total values to the counter value to the data file and resets
  • Agent software 324 then checks (3332) if the value of the upload timer is greater than or equal to the upload period. If it is not, then agent software 324 resets (3314) the total values and the counter value and repeats the process (3316-3332) of making another data entry into the data file. Otherwise, if the value of the upload timer is greater than or equal to the upload period, agent software 24 directs (3334) the compressor 350, encryptor 352, and the SMTP sendor 354 to send the data file via SMTP. Agent software 324 creates (3336) a new empty data file for collecting more data, resets (3338) the upload timer to zero, and repeats the process (3314-3334) of populating the new file with data.
  • the process of collecting the data is typically implemented using timer interrupts of the processor 330 instead of the timer loops of FIG. 56 to minimize the CPU usage of the software agent 324.
  • the process may also be implemented using a sleep command.
  • FIG. 57 the process of sending the data file from the local server
  • agent software 324 reads (402) a closed data file into memory.
  • Compressor 350 compresses (404) the data contained within the file using the BZJP2 algorithm before encryptor 352 encrypts (406) the compressed data using the Sapphire algorithm.
  • Agent software 324 generates (408) an email message from the encrypted data by, for example, adding source and destination addresses to the email message.
  • Agent software 24 incorporates the encrypted file in the email message as an attachment.
  • Agent software 324 checks (412) if the email message was successfully sent. If it was not, agent software 324 closes (420) the unsent file and terminates the process of sending files. The closed file is resent at a later time when the agent software is invoked.
  • agent software 324 checks
  • agent software 324 reads (416) the first of the unsent files to memoryand performs the process (404-420) of sending the file.
  • agent software 324 reads (416) the first of the unsent files to memoryand performs the process (404-420) of sending the file.
  • the engine 3112 receives (502) data from the POP client 3110, it selects (504) the first data type for processing.
  • the engine 3112 retrieves (506) tolerances and thresholds for the rules corresponding to the selected data type.
  • the engine then reduces (508) the data being analyzed to produce a smaller data set that captures the information contained within the larger data set.
  • the engine for example, reduces CPU usage data to one entry per minute by only selecting the CPU usage datum with the largest value in each minute. By reducing the data, the time required to analyze the data is reduced.
  • the engine 3112 then checks (510) whether the data needs to be extrapolated to predict future trends or needs.
  • File system or logical drive data may need to be extrapolated to allow the engine to identify a need to update or replace resources to keep up with future demands on the local server 312. If the data needs to be extrapolated, the engine extrapolates (512) the reduced data.
  • the engine 3112 determines (514) the number of entries, if any, in the selected data that exceed the tolerance of the corresponding rule.
  • the engine 3112 checks (516) if no entries in the selected data exceed the threshold of the corresponding rule.
  • the report generator 3116 presents (518) a first display, such as a set of traffic lights that has the green light on, in the report before generating (532) natural language text to include in the report. Otherwise, if some entries exceed the threshold, the report generator 3116 generates (520) and presents blow-ups for entries exceeding the threshold.
  • the blow-ups contain more detailed information about the entries that exceed the threshold values and are typically used by an administrator to determine why the threshold value was exceeded.
  • the engine 3112 checks (522) if the number of entries that exceed the threshold value is below the tolerance value of the corresponding rule.
  • the report generator 3116 presents (524) a second display, such as a set of traffic lights that has the yellow light on before generating (532) natural language text to include in the report. Otherwise if the number of entries that exceed the threshold value is above the tolerance value of the corresponding rule, the engine 3112 checks (536) whether all the entries exceed the threshold value. If all of the entries do not exceed the threshold value, the report generator 3116 presents (528) a third display, such as a set of street lights with the red light on. Otherwise the report generator 3116 presents (530) a fourth graphic display that includes the red light and a warning that the resources represented by the data is insufficient. The report generator then selects (532) natural language text describing the selected data, as described above with reference to FIG. 55D, and presents the selected text in the report. The engine 3112 selects the next data type and repeats the process (506-532) described above.
  • the report 602 is, for example, a HyperText Markup Language (“HTML”) document or a Portable Document Format (“PDF”) document that is attached to the reply email message from the monitor server as an attachment.
  • HTML HyperText Markup Language
  • PDF Portable Document Format
  • Each report 602 has a brief introduction 604 that includes an inventory of the subsystems of the local server 312.
  • the report 602 also includes an executive summary 608, which, for example, has paragraphs 610a describing the performance of the CPU or processor 330, paragraphs 610b describing the performance of memory, paragraphs 610c describing the performance of the disks, and paragraphs 610d describing the performance of the network.
  • Each of the paragraphs 610 includes a hypertext link 612 to more detailed information about the corresponding component.
  • Each of the paragraphs may also have possible problems 614 in the corresponding component highlighted or emphasized to draw the readers attention, as previously described.
  • the report 602 has details 616 which are divided into sections corresponding to the paragraphs in the executive summary 608.
  • the details 616 include, for example, a CPU section 618a, a memory section 618b, a disk section 618c, and a network section 618d.
  • Each of the sections contains usage information 620 that includes a graphic, such as a traffic light indicating whether the performance of the component, natural language text describing the performance of the component in words, and a graph showing a plot of the data of the component.
  • the report presents the performance data in a format that is easy to understand.
  • the report 602 also includes blow-up detail 630 for each set of performance data that is not within the range of values set by the threshold values.
  • the blow-up detail 630 includes resource usage 632 for each process.
  • the resource usage 632 includes CPU usage 632a, input/output usage 632b, and memory usage 632c.
  • the report 602 also includes information on the occupancy of such resources, such as, paging space occupancy 640, file system occupancy 644, and logical drive occupancy 648.
  • the occupancy information typically includes extrapolations to allow an administrator to predict when the resources corresponding to the occupancy information will need to be updated or replaced. For instance, if the extrapolated occupancy data shows that the file system will be fully occupied in the next 15 days, an administrator may configure the server to expand an expandable resource, such as paging space. The administrator may also start looking into an upgrade or replacement of the components on the local server 312 to keep up with the demand for file system space.
  • a sample report is attached hereto as appendix G.
  • an administrator loads (702) a web page from web server 391 onto web browser 343.
  • the web page contains instructions for installing the software.
  • the user creates (704) a customer account on the monitor server 320.
  • the customer account is associated with a customer JJD 3100 and a user ID 399.
  • the customer JD 3100 and the user ID 399 are, for example, generated by the monitor server 320 using a hash function with the customer's phone number as the input to the hash function.
  • the customer JD typically has fourteen digits, twelve of which are from the hash function and two of which provide a checksum of the other twelve digits.
  • the machine ID also has fourteen digits, two of which are a checksum and twelve of wliich are from a hash function.
  • the machine ID is generated differently, depending on the operating system 334 of the local server 312. For example, on a UNIX RISC machine, the twelve digits of the machine ID are obtained from the unique UNAME of the machine, provided by the operating system.
  • the user downloads (706) the agent software 324 from the monitor server 320 and installs (708) it on the local server 312.
  • the user registers (710) the agent software 324 with the momtor server 320, thereby creating a unique machine ID 3102 associated with the local server.
  • the machine ID 3102 is also associated with the user ID
  • the user loads the web page 802 onto the web browser 343 by typing a uniform resource locator (URL) 804 into an input 806 of the browser 343.
  • URL uniform resource locator
  • the browser 343 loads the web page 802.
  • Web page 802 includes a hyperlink 808.
  • the web browser 343 loads an instruction web page, which is described below with reference to FIG. 62. o As shown in FIG. 62, upon clicking on the hyperlink 808, the web browser 343 loads an instruction web page 902 that contains instructions for installing agent software
  • Web page 902 contains a menu section 904 that has links 904a-904b that a user can click on to instructions for performing the steps in the installation of agent 324. The user can click on link 904 for instructions on creating an account, link 904b for instructions on 5 downloading agent software 324, link 904c for instructions on installing agent software
  • a section 906 of web page 902 contains instructions for creating an account. After reading the instructions, the user may click on link 908 to create an account.
  • Fig. 63 shows a section of the web page 902 that contains instructions 910 for 0 downloading agent software 324 and instructions 912a for installing the agent. The user moves scrollbar 913 to reveal this section shown in FIG. 63. After reading the instructions, the user may click on hyperlink 914 to download agent software 324.
  • Fig. 64 shows another section of the web page 902 containing additional instruction 912b for installing the software.
  • Fig. 65 shows yet another section of the web page 902 containing instructions 920 for registering the local server 312 or enabling the equipment. After reading the instructions, the user may register the server 312 by clicking on a hyperlink. Web page 902 also contains a section that has additional instructions for users that have already installed the agent software 24.
  • FIG. 66 shows a first section 1300a of web page 1300 that is loaded by web browser 343 when the user clicks on hyperlink 908 (FIG. 62) to create an account.
  • Section 1300a collects personal data from the user.
  • Section 1300a includes an input 1302 for entering a salutation that is to be used when referring to the user, an input 1304 for entering the first name of the user and an input 1306 for entering the last name of the user.
  • Section 1300a also includes an input 1310 for selecting the user's job title and an input 1312 for entering the user's department.
  • Section 1300a also includes an input 1314 for selecting a language that the user would like to communicate in and an input 1312 for selecting the medium through which the user heard about the web server 391.
  • Section 1300b includes an input 1320 for entering a name of the company, inputs 1322-1332 for entering the company's address information, input 1334 for entering telephone information and input
  • Section 1300b also has inputs 1338-1344 for entering demographic information about the company.
  • the user uses input 1338 to select an industry that the company is associated, input 1340 to select the number of employees in the company, input 1342 to select the number of servers in the company, and input 1344 to enter the number of server pools in the company.
  • Fig. 68 shows a third section 1300c of the web page 1300 for entering authentication or "login" information about the user.
  • Section 1300c includes an input
  • Section 1300c also contains an input 1354 for entering a login name, which is stored as user ID 399 on the monitor server 320. The user uses inputs 1356 and 1358 to enter and confirm a password for authenticating the user.
  • 1300c also contains inputs 1360-1362 for entering information that the user may use to retrieve a forgotten password.
  • Input 1360 is used for entering a question, such as "what is your mother's maiden name?" that only the user would know and input 1362 is for entering the answer to the question in input 1360.
  • monitor server 320 presents the question from input 1360 to the user. If the user can provide the answer from input 1362, the server provides the password fro input 1354 to the user. Thus, monitor server 320 collects authentication information from the user.
  • FIG. 69 shows yet another section 1300d of the web page 1300 for creating an account.
  • Section 1300d includes a button 1370 that the user may click on to submit the information entered in sections 1300a- 1300c to the server.
  • Section 1300d also contains a second button 1372 that the user may use to clear all the data entered in sections 1300a to 1300c if the user wants to re-enter the data.
  • FIG. 70 shows a web page 1700 that is presented to the user after clicking on the button 1372 (FIG. 70) to submit account information.
  • Web page 1700 includes a customer ID number 1702 for the user.
  • Web page 1700 also contains information 1703 notifying the user that the customer ID has been sent to the email address 1350 (Fig. 68) provided by the user.
  • Web page 1700 includes a hyperlink 1704 that the user may use to download agent software 324.
  • FIG. 71 shows a first section 1800a of a web page 1800 that the user may use to download agent software 324.
  • the section 1800a includes a hyperlink 1802a that the user may click on to obtain additional information about installing the agent 324 on a UNIX operating system.
  • Section 1800a also includes a hyperlink 3102b that the user may click on to obtain additional installation information and 1802b that the user may click on to retrieve additional information on installing the operating system on a Microsoft Windows operating system.
  • FIG. 72 shows a second section 1800b of the web page 1800.
  • Section 1800b includes a first portion 1804a relating to installing the agent on a Linux computer and a second portion 1804b relating to installing the agent on a Microsoft Windows computer.
  • the first portion 1804a includes a hyperlink 1806a for downloading a Windows version of the agent software 324 using the hypertext transfer protocol ("HTTP") and a second hyperlink for 1808a for downloading the Windows version of the agent software using the file transfer protocol (“FTP").
  • HTTP hypertext transfer protocol
  • FTP file transfer protocol
  • the first portion also contains information 1810a on the different versions of the windows operating system supported by the Windows version agent software 324.
  • the second portion 1804b includes a hyperlink 1806b for downloading a Linux version of the agent software 324 using HTTP and a second hyperlink for 1808b for downloading the Linux version of the agent software 324 using FTP.
  • the first portion also contains information 1810b on the different versions of the Linux operating system supported by the Linux version agent software 324.
  • FIGs. 73 and 74 also show sections 1800c and 1800d of the web page 1800.
  • the sections 1800c, 1800d contain portions 1804c, 1804d, 1804e, which respectively relate to installing agent software 324 on the IBM RS 6000 operating system, Sun operating systems, and HP-UX operating system.
  • Each of the portions includes hyperlinks 1806c, 1806d, and 1806e for downloading agent software 324 via HTTP and hyperlinks 1808c,
  • Each of the portions also includes information 1810c, 18 lOd, and 1810e about the different versions of the corresponding operating system that are supported by the agent software 324.
  • FIG. 75 upon clicking on one of the download hyperlinks 1806a- 1808e (FIGS. 72-74), the web browser 343 presents the user with a dialog 2200 asking the user whether the user would like to run agent installation software or to save it on the user's hard drive.
  • the user uses option controls 2202 and 2204 and then clicks on an "OK" button 2206 to submit the user's choice.
  • the user may also cancel the download by clicking on a "cancel" button 2208.
  • FIG. 76 shows the dialog 2300 that is presented to users who opt to save the agent installation software in the dialog of FIG. 75.
  • the dialog 2300 includes an input 2302 for selecting a directory where the agent installation software should be saved.
  • the dialog also includes an input 2304 for selecting a name that should be assigned to the agent installation software.
  • the user submits his selections by clicking on a "save” button 2306.
  • the user may also cancel the download by clicking on a "cancel” button 2308.
  • the user may execute the software by clicking on an icon associated with the installation software.
  • FIG. 77 shows a dialog 2400 that is presented to a user upon clicking on the installation software.
  • the dialog 2400 includes a message 2402 welcoming the user to the installation process. The user may continue with the process by clicking the "next" button 2404. The user may also cancel the installation by clicking on the cancel button 2406.
  • FIG. 78 shows a dialog 2500 that prompts the user for a customer ID 100 (FIG. 1).
  • a valid customer ID is required before the agent software 324 can be installed.
  • customer IDs 100 are assigned to users when they create an account on the monitor server 20.
  • the dialog 2500 includes an input 2502 for entering the customer ID, a "next" button 2504 for submitting the entered customer ED and proceeding with the installation process, a "back” button 2506 for moving back in the installation process, and a "cancel” button 2508 for terminating the installation.
  • FIG. 79 shows a dialog 2600 for entering SMTP information.
  • Dialog 2600 includes a input 2606 for entering an SMTP server, such as SMTP server 386, which will be used to transmit reports to the monitor server 320.
  • Dialog 2600 also includes an input 2604 for selecting an Internet Protocol ("JP") port that will be used to communicate with the SMTP server and an input 2606 for entering an email address from which the reports should be transmitted.
  • Dialog 2600 also includes a "next button" 2608 for submitting the data entered in the dialog 2600 and continuing with the installation process.
  • JP Internet Protocol
  • FIG. 80 shows a dialog 2700 that is used to select a directory in which agent software 324 should be installed. The user may change the directory by clicking on
  • Fig. 81 shows a dialog 2800 that is used to select whether the user would like a typical, compact, or custom installation based on selection inputs 2802.
  • the compact option only installs the minimum components of agent software 324 that are required for the agent to operate.
  • the compact option is often chosen on computers that have limited storage space.
  • the custom option allows the user to select the components that they would like to install. The user submits their selection and continues with the installation process by clicking a "next" button 2804.
  • FIG. 82 shows a dialog 2900 that is presented during a custom installation to allow the user to select the components they would like to install.
  • Options 2902 are used to select whether the user would like to install computer program files, documentation, or sample files of the agent software 324. The user submits their selection and proceeds with the installation software by clicking on the "next button 2904.
  • FIG. 83 shows a dialog 33000 that is used to enable the monitor server 20 to receive data from the agent software 324 on the local server 312.
  • the user may opt to enable the service by selecting input 33002.
  • the user may also opt to enable the service later by selecting input 33004.
  • the user can then enable the software on the web pages 393 presented by the monitor server 320.
  • the user submits their selection and proceeds with the installation process by clicking the "next" button 33006.
  • FIG. 84 shows a dialog 33100 that is presented to the user to allow the user to enter information that is required to enable the monitor server 320 to receive data from the local server 312.
  • the dialog 33100 includes an input 33102 for entering an email address where monitoring reports for the local server 312 should be sent.
  • the dialog 33100 also includes inputs 33104 and 33106 for entering and confirming a password for encrypting information sent from the monitor server 320 to the local server 312.
  • the user submits their selection and proceeds with the installation process by clicking the "next" button 33
  • FIG. 85 shows a dialog 33200 informing the user of the progress I transmitting the enablement information to the monitor server 320.
  • the dialog 33200 includes a log window 33202 containing a log of communications between the local server 312 and the monitor server 320. The user proceeds with the installation process by clicking the "next" button 33204.
  • FIG. 86 shows an email message 33300 that is transmitted by the monitor server 320 to the email address entered in input 33102 (FIG. 84) to inform the user that the service was successfully enabled.
  • Message 33300 includes a machine ID 33302 and a machine name 33304 that are assigned to the local server 312 by the monitor server 320, in addition to information 33308 about the number of processors and the class of the equipment on the local server 12.
  • Message 33300 also includes a customer ID 33306 associated with the user and a password 33310 for encrypting messages relating to the local server312.
  • FIG. 87 shows a dialog 33400 that is presented to the user when the installation is complete. The user may close the dialog by clicking on the finish button 33402.
  • FIG. 88 shows an email message 33500 that is transmitted by the monitor server 320 to the email address entered in input 33102 (FIG. 84) to inform the user that agent software 324 was successfully installed.
  • Message 33500 includes the name 33502, the version 33504 of the operating system 334, the number 33506 of processors 330, and the amount 33508 of memory on the local server 312.
  • FIG. 89 shows a first panel 33600 of a user interface for agent software 324.
  • Panel 33600 displays the version 33602 of the operating system, the name 33604, and the machine ID 33606 of the local server 312.
  • Panel 33600 also contains information 33610 about the data retriever and information 33608 about the SMTP sender 354. The user may switch to a second panel 3700 (FIG. 90) by clicking on selector 3612.
  • FIG. 90 shows a second panel 3700 of the user interface of agent software 324.
  • Panel 3700 includes an input 3702 for selecting a data upload interval or period, an input 3704 for changing the customer ED 3100, an input 3706 for entering a path to a file where the collected data should be stored, an input 3708 for entering a path to a file where the activities of agent software 324 should be logged, an input 3710 for disabling the delivery of reports by mail for users who only want to view reports through a web browser, an input 3712 for selecting an email address where reports are to be sent, an input 3714 for selecting an email address from which collected data should be sent to the monitor server 320, an input 3716 for changing the SMTP server, and an input 3718 for selecting the SMTP port.
  • the user submits any selections entered on panel 3700 by clicking "apply" button 3720.
  • the user may switch to a third panel of the user interface by clicking on selector 3722.
  • FIG. 91 shows a third panel 3800 of the user interface of agent software 324.
  • Panel 3800 includes a first button 3802 for starting agent software 324 and a second button 3804 for stopping the agent software.
  • the agent software 324 is normally started automatically when the computer is turned on, as described above.
  • Button 3804 may be used to stop the agent software 324.
  • Button 3802 may later be used to restart the agent software 24.
  • Button 3806 may be used to send a test email message, known as a probe, to the monitor server 320.
  • the test email message is used as a diagnostic tool to determine whether email is being conveyed from the SMTP sender 354 to the monitor server 320.
  • the agent software 324 may be used on a server that is not protected by a firewall.
  • Pentium II or Pentium II Xeon JDeschutes 1 6%
  • AMD-K6(tm) 3D processor 1 6%
  • Pentium III Xeon (Coppermine) 1 6%
  • Shape Explorer 2 Shape Explorer Help 2 SmartShape Wizard 2
  • the data used in this report was obtained from an exclusive collector, developed specially for this end, executing on the target instance with high resolution and low intrusion.
  • This collector obtains data directly from the Oracle instance, without any other libraries or additional tools, with a minimum overhead on the system.
  • the data collected is stored using a binary format, in order to provide persistence. When automatically sent, it is compressed and encrypted, to ensure fast delivery and confidentiality.
  • This report is based on years of experience in performance analysis and capacity planning.
  • the tool used to generate this report operates in a completely automatic way, without direct human intervention. It uses an extensible inference machine, based on heuristics and rules, and is subject to continuous improvements. Using concepts such as "watermarks" and tolerance, it is possible to determine if a computational resource usage is excessive and if the excess is relevant.
  • the buffer cache hit ratio was high during most of the monitored period.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was low all the time.
  • the table below shows the main configuration parameters for the tablespace.
  • the graph shows that the tablespace usage rate was high all the time. You may consider increasing the tablespace.
  • the table below informs the list of datafiles in the databas, with their tablespace, location, creation date, s sttaattuuss,, aaccttiivvaattiioonn mmooddee,, occupied bytes and free bytes.
  • TSCMDA02 E ⁇ INST00 ⁇ C T1 ⁇ DBS ⁇ DTRTSCMT1 DA021.
  • TSC IX02 E ⁇ INST00 ⁇ CMT1 ⁇ DBS ⁇ DTRTSCMT11X021.
  • the number of connections to the database did not exceed the limit, and was not a problem.
  • the table below shows the database redo logs, their switch history and their status.
  • This section shows the users with the most I/O activity in the database, per day.
  • the data used in this report was obtained from an exclusive collector, developed specially for this end, executing on the target instance with high resolution and low intrusion.
  • This collector obtains data directly from the SQL Server instance, without any other libraries or additional tools, with a minimum overhead on the system.
  • the data collected is stored using a binary format, in order to provide persistence. When automatically sent, it is compressed and encrypted, to ensure fast delivery and confidentiality.
  • This report is based on years of experience in performance analysis and capacity planning.
  • the tool used to generate this report operates in a completely automatic way, without direct human intervention. It uses an extensible inference machine, based on heuristics and rules, and is subject to continuous improvements. Using concepts such as "watermarks" and tolerance, it is possible to determine if a computational resource usage is excessive and if the excess is relevant.
  • the procedure cache hit rate remained low for most of the monitored period.
  • the server's memory consumption was low most of the time, so it was not a problem.
  • Locked memory remained low throughout the monitored period, so this was not a problem.
  • the Procedure Cache had a low memory usage throughout the period, but it exceeded the thershold on occasions, and this may have caused constraint.
  • SQL Server instance PROLIANT Below is a list of all databases for SQL Server instance PROLIANT, along with the database name, size and the list of log and data files.
  • MSDBLog C ⁇ Program Files ⁇ Microsoft SQL Server ⁇ MSSQL ⁇ data ⁇ msdblog.ldf 10,752.0 newdb2cop newdb2cop_Data
  • the table below shows the I/O data for the disks used by the SQL Server, along with the data files in each disk and their locations.
  • the graph below shows the number of connections made to the SQL Server during the monitored period.
  • the limit of simultaneous connections to the database is "unlimited”.
  • the buffer cache hit rate was high all the time, indicating that the server's memory is sufficient.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un agent (14) obtient des données d'un dispositif (19) en recevant un plugiciel (26) contenant des appels système puis en téléchargeant les plugiciels, puis en obtenant les données du dispositif (19) utilisant les appels système, puis en transmettant lesdites données sur un réseau extérieur (12) utilisant un ou plusieurs des protocoles d'un ensemble. Les données sont fournies au client (30) formatées et lui sont rendues accessibles via le réseau extérieur (12). Les données indiquant l'état de fonctionnement d'une machine sont recueillies automatiquement et de façon répétée. Les informations relatives aux données recueillies sont automatiquement transmises à un site distant de la machine sous forme de messages de courrier électronique conformes au protocole usuel de messagerie électronique.
PCT/US2002/014885 2001-05-11 2002-05-10 Gestion d'un dispositif distant WO2002093399A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/853,839 2001-05-11
US09/853,839 US20020169871A1 (en) 2001-05-11 2001-05-11 Remote monitoring
US09/954,819 2001-09-18
US09/954,819 US20030055931A1 (en) 2001-09-18 2001-09-18 Managing a remote device

Publications (1)

Publication Number Publication Date
WO2002093399A1 true WO2002093399A1 (fr) 2002-11-21

Family

ID=27127193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/014885 WO2002093399A1 (fr) 2001-05-11 2002-05-10 Gestion d'un dispositif distant

Country Status (1)

Country Link
WO (1) WO2002093399A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758071A (en) * 1996-07-12 1998-05-26 Electronic Data Systems Corporation Method and system for tracking the configuration of a computer coupled to a computer network
US5958010A (en) * 1997-03-20 1999-09-28 Firstsense Software, Inc. Systems and methods for monitoring distributed applications including an interface running in an operating system kernel

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758071A (en) * 1996-07-12 1998-05-26 Electronic Data Systems Corporation Method and system for tracking the configuration of a computer coupled to a computer network
US5958010A (en) * 1997-03-20 1999-09-28 Firstsense Software, Inc. Systems and methods for monitoring distributed applications including an interface running in an operating system kernel

Similar Documents

Publication Publication Date Title
US20020169871A1 (en) Remote monitoring
US6148335A (en) Performance/capacity management framework over many servers
US7979857B2 (en) Method and apparatus for dynamic memory resource management
US7979863B2 (en) Method and apparatus for dynamic CPU resource management
US7412709B2 (en) Method and apparatus for managing multiple data processing systems using existing heterogeneous systems management software
US6871228B2 (en) Methods and apparatus in distributed remote logging system for remote adhoc data analysis customized with multilevel hierarchical logger tree
US7076397B2 (en) System and method for statistical performance monitoring
EP1150212B1 (fr) Système et méthode pour l'implémentation d'agents d'interrogation dans un outil de gestion de clients
US6434613B1 (en) System and method for identifying latent computer system bottlenecks and for making recommendations for improving computer system performance
US20030055931A1 (en) Managing a remote device
US20090064086A1 (en) Systems and methods for packaging an application
US20080141240A1 (en) Verification of successful installation of computer software
US20110060827A1 (en) Managing application system load
US20080071896A1 (en) Transmitting aggregated information arising from appnet information
US20170048120A1 (en) Systems and Methods for WebSphere MQ Performance Metrics Analysis
US11818152B2 (en) Modeling topic-based message-oriented middleware within a security system
US9311598B1 (en) Automatic capture of detailed analysis information for web application outliers with very low overhead
US10481966B2 (en) Methods and systems to prioritize alerts with quantification of alert impacts
US7275250B1 (en) Method and apparatus for correlating events
US20080271011A1 (en) Method and Apparatus for a Client Call Service
US20070250363A1 (en) Enumerating Events For A Client
WO2002093399A1 (fr) Gestion d'un dispositif distant
US8990377B2 (en) Method to effectively collect data from systems that consists of dynamic sub-systems
Brim et al. M3c: managing and monitoring multiple clusters
US9448858B2 (en) Environment manager

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP