Multimodal monitoring of web servers - Multimedia ... - Semantic Scholar

3 downloads 186464 Views 983KB Size Report
called MMM that describes server activity by multimodal representation and supplements traditional ... log analyzers monitor server throughput, real- time monitoring systems ..... rent time slice (sliding temporal window) the counter associated ...
Feature Article

Multimodal Monitoring of Web Servers Maria Barra, Tania Cillo, Antonio De Santis, Umberto Ferraro Petrillo, Alberto Negro, and Vittorio Scarano University of Salerno, Italy

We present a multimodal real-time monitoring system called MMM that describes server activity by multimodal representation and supplements traditional ways of conveying sonification and peripheral information to Webmasters. We also describe a prototype and plugin that MMM’s three-level distributed architecture implements.

32

W

eb servers are growing in size, complexity, and workload. Popular servers often receive millions of requests per day. These requests are logged to files and later analyzed by Webmasters so that they can provide useful hints on tuning the Web server or recognizing malfunctions (see the sidebar “Monitoring Web Servers” for more information). Given the workload, these log files are huge. Software programs aid analysis by performing statistics on such massive amounts of data, grouped by several criteria (time, location, Internet domain name, and so on). We argue that it’s important to provide an effective, efficient way to monitor the server’s behavior in real time, especially for large Web servers used as a company asset. Monitoring servers’ behavior and access patterns is critical and should be performed as often as possible. With a real-time system, Webmasters can promptly solve malfunctioning or fine-tune their servers. In this article, we describe our multimodal monitoring system (MMM), which provides realtime monitoring in an unobstrusive way and doesn’t rely on log files. We also describe the WebMelody prototype and WebStamps plug-in that MMM’s three-level architecture implements. As a consequence of being a real-time monitoring system, MMM’s user interface isn’t invasive and is highly personalizable. We designed MMM so that different clients can represent information in unorthodox and peripheral ways, ranging from sonification to toolbars but (potentially) including more general graph indicators as

1070-986X/02/$17.00 © 2002 IEEE

well as alarms (email, fax, or messages on cellular phones). Generally, our techniques are based on the assumptions that screen space is a limited resource and Webmasters want to control many server parameters. Therefore, Webmasters need a novel approach that’s based on unobtrusive ways of presenting information.

The pitfalls of log analyzers Real-time monitoring means that the system must provide feedback of an event to the Webmaster within a short, fixed time interval δ. Log analyzers don’t effectively monitor Web servers in real time (even if they claim real-time capabilities). In fact, they rely mostly on information from the log files that the server assembles and presents in various ways. Using log analyzers often (hourly or more often) still has the drawback of providing Webmasters with information that’s only explicitly requested (client pull) and isn’t pushed to Webmasters’ workstations. A possible exception is sending alarm messages through messages on cellular phones (via short message service) or faxes, but they’re used only to inform Webmasters of evident and severe malfunctioning (server and/or connection down). Because real-time log analyzers depend on log files, another pitfall is that requests that fail abruptly and don’t generate log lines aren’t reported. Plus, heavy processing requests are reported only when the request is satisfied. While log analyzers monitor server throughput, realtime monitoring systems must also provide information about server load. Conversely, log analyzers can present synthetic information about server performances and users’ demographic analysis. Moreover, the volatility of some of the presentation techniques presented in the “Monitoring Web Servers” sidebar doesn’t allow unattended monitoring and offline analysis of data.

WebMelody: Monitoring by sonification WebMelody is the MMM system’s first prototype.1 Its architecture forms the basis for the whole system because it easily lets different clients (with different representations of Web server status) be connected. Our technique and prototype associates sounds to events describing the server activity. By using sonification—the use of nonspeech audio to convey information— Webmasters can keep the server sound as background music for their normal activities and be

Monitoring Web Servers Here’s a brief review of the state of the art in Web server tools and a comparison of these tools to MMM. State of the art Web-server-performance monitoring is an increasingly important field of research. Our review focuses mostly on existing software tools. You can find several techniques and methodologies to improve performances of Web servers by an appropriate software and hardware design in relevant textbooks.1,2 Monitoring a Web server is usually performed by analyzing its log files, which hold information about each single HTTP request and the consequent response and errors. According to the Common Log File Format (see http://www.w3.org/Daemon/ User/Config/Logging.html#common-logfile-format), each row in the file has the following format: remotehost remotelogname authuser [date] “request” status bytes where the fields are filled with data coming from the request and the response. Given the high workload for popular Web servers, log file sizes can quickly grow to hundreds of megabytes. Log analyzers must present aggregated data so that they effectively represent a snapshot of the server’s behavior and functioning over a given time interval. Several popular log analyzers exist, including Stephen Turner’s Analog (http://www.analog.cx/), Boutell.Com’s Wusage (http:// www.boutell.com/wusage), and Maher Consulting’s Access Watch (http://accesswatch.com/). They all provide a variety of parameters and statistics that are visualized using graphical interfaces. They aggregate log data to inform Webmasters, for example, which pages in the Web site are the most popular, which countries (domains) are accessing the site, which pages outside the site contain broken links to pages in the Web site, and so on. The need for integrating several views of the log file motivated researchers to add a third dimension to graphical representation. As an example, the freeware 3Dstats (http://www.netstore. de/Supply/3Dstats) analyzes log files to generate 3D Virtual Reality Modeling Language models of a server’s load by month, day, and hour. With a VRML browser, Webmasters can walk through the scene and examine the bar chart from different points of view. The Avatar Visualization System combines 3D visualization with real-time monitoring by providing a projection of Web servers’ dynamic behavior.3 The system represents the real-time performance data for the National Center for Supercomputing Applications’ Web servers4 displaying and analyzing time-varying data with the Avatar virtual environment. Scullin, Kwan, and Reed3 developed three different display metaphors for performance data—time tunnels, scattercubes, and geographic displays. Among the most versatile products is NetIQ’s WebTrends

(http://www.webtrends.com), which lets users create some filters to monitor several parameters together. However, filters are limited to either “Include all the following conditions’’ or “Exclude all the following conditions.’’ Also, you can’t use regular expressions as matching patterns, only wildcards. WebTrends does generate reports several times per hour, therefore allowing fast access to the most recent statistics. Some products provide some real-time features by graphical display and alarm mechanisms. However, real-time monitoring systems are limited to severe errors (connection and/or server outage) and consequent messages sent through email, pagers, or faxes. AlertSite (http://www.alertsite.com) checks the server up to 12 times per hour and sends an alert message (via email or pager) when the system doesn’t work correctly (including slow connections). Systems like @Watch (http://www.atwatch.com) simulate a browser that visits the site and checks links. Another external tool is WatchWise (http://www.watchwise.com). It requires each page to be monitored to include a tag that forces the browser to send information to the WatchWise server. A comparison MMM offers true real-time monitoring. It isn’t a log analyzer and doesn’t rely on the analysis of log files. Therefore, MMM can push a stream of information to the client that renders the server status within a small, fixed time interval and without an explicit request from the Webmaster (server push). Also, because MMM doesn’t rely on log files, it can monitor all the HTTP headers exchanged between client and server (not just those that are sent to the log files). In addition, MMM is versatile. It lets Webmasters configure the system by specifying Boolean operators and regular expressions to build arbitrarily complex patterns to monitor. Finally, MMM combines true monitoring and alarms. Rather than push information toward the Webmaster only in cases of severe errors (as some products do), MMM can push a stream of information that can be used for alarms and for keeping an eye on some patterns, represented as the Webmaster chooses.

References 1. N. Yeager and R.E. McGrath, Web Server Technology: An Advanced Guide for Information Providers, Morgan Kaufmann, San Francisco, 1996. 2. D.A Menasce and V.A.F. Almeida, Capacity Planning for Web Performance: Metrics, Models, and Methods, Prentice Hall, Upper Saddle River, N.J., 1998. 3. W.H. Scullin, T.T. Kwan, and D.A. Reed, “Real-Time Visualization of World Wide Web Traffic,” Proc. Symp. Visualizing Time-Varying Data, 1995. 4. E.D. Katz, M. Butler, and R. McGrath, “A Scalable HTTP Server: The NCSA Prototype,” Computer Systems and ISDN Systems, Nov. 1994, vol. 27, no. 2, pp. 155-164.

33

promptly recalled by appropriate sound combinations when something occurs that requires quick intervention. We carefully chose the sounds so that they form a natural background music. (The music shouldn’t engage listeners nor disturb their daily activities.) Our scenario is that this server music substitutes (by masquerading) background noises normally present in the workplace as a lowvolume radio does. Only when necessary, the “server music’’ becomes recognizable so that the Webmaster can notice it and act promptly.

IEEE MultiMedia

Sonification Sonification is particularly useful when there’s an abundance of data to consider. Sonification of data isn’t new—the ticking of a Geiger counter and sonar have been around for decades. Researchers have used sonification in several contexts: for example, to enable blind scientists to examine experimental data via an auditory presentation (as for infrared spectrographic data2). Also, Mike Muuss reported that a network administrator used sonification to troubleshoot intermittent network connections by interfacing the output of a ping program to an audio device (vocoder). Each time a link failed in the local network, the administrator moved in the building to check each network segment and listened to the audio output. When the audio stopped, it meant that the administrator had found the intermittent behavior source (see http://ftp.arl. mil/~mike/ping.html). The ShareMon system3 successfully uses sonification for monitoring complex environments. It conveys a server’s status information using subtle background sounds. Several metaphorical sounds were associated with file server events, such as a login on the server mapped to a knocking sound. Sonification is an active interdisciplinary field covering both human perception of sounds and development tools and applications. The International Community for Auditory Display offers a variety of resources in this field at its Web site, including an interesting and comprehensive survey report (see http://www.icad.org/websiteV2.0/ References/nsf.html). The technique’s rationale The main advantage of using sonification to monitor Web servers is that it senses, in real time, several server parameters at once while remaining unobtrusive. In fact, Webmasters can per-

34

ceive the server behavior and execute other tasks at the same time. They can have this sound as background music acting to provide peripheral information. This information can quickly redirect Webmasters’ focus to the problem so that they can take appropriate actions. Sonification conveys an interpretation of a large amount of data because WebMelody analyzes all requests and plays them in real time. In this way, while monitoring the behavior, Webmasters can avoid relying exclusively on offline log-file analyses that provide untimely yet accurate and entrusted statistics. Finally, sonification can integrate numerous aspects of a Web server that Webmasters want to monitor. A real-time tool can help Webmasters ❚ detect denial of service attacks, ❚ determine that the server doesn’t work, ❚ recognize load peaks and determine why they’re happening, ❚ discern among different types of requests (for example, determining where the requests come from or discriminating accesses by different agents), ❚ monitor accesses to restricted (by user authentication) directories, and ❚ recognize different error types and the HTTP method of request. We don’t intend for the sonification technique (and our prototype tool) to substitute offline analysis. Rather, we want it to complement the log analyzers by giving immediate information about what’s going on. Then, if necessary, Webmasters can study the log files to pinpoint problems and provide solutions. Some musical considerations We devoted part of our research to finding an adequate musical representation of a Web server’s behavior. Our goal was to provide sounds that go beyond simple alarms, trying at the same time to offer an aesthetic connotation to sounds that border between music and background noises. We provided WebMelody with sounds having characteristics that let users listen for a long time without diverting them from their work. Our musical work builds on the field of

applied music or the so-called “musica ex machina” experiences. These experiences range from the intuitions of Luigi Russolo (father of early 20th century’s futurism) with his intonarumori (noise-tuner) to the musique concrete (concrete music) of Pierre Schaeffer (1948) to the electronic music of Eimert (1950) to the work by Edgar Varese (the Poeme Electronique for the sonification of the Philips building during the 1958 World Expo in Bruxelles) to the climax of John Cage’s aleatory music. The result is a musical structure that’s neutral with respect to the usual and conventional musical themes. We tried to avoid configuring harmonictonal fields as well as rhythmic references that potentially could attract the users’ focus by leveraging their mnemonic and musical (personal) capabilities. We believe our approach makes it possible to hear the music for a long time without inducing mental and musical fatigue that could result from repeated musical patterns that require a finite listening time and not, as in our case, a potentially infinite number of repetitions. The characteristics of the musical structures we used to represent the Web server’s behavior are, therefore, reconductible to criteria that play between determinism and pseudocasuality, between structured sounds and noise, between music and chaos. As a consequence, we let the sonification’s timber and duration represent the information and avoid recognizable musical patterns.

Figure 1. The WebMelody architecture. Notice that straightforward modifications in the Collector easily lets WebMelody take information about multiple servers.

❚ Information describing the server’s workload. It’s important to recognize workload peaks during certain periods of the day. A normal arrival rate of requests should be heard as a (nondisturbing) background sound. If there’s no sound, that means the server is off or the Web server connection with the rest of the Internet is down. Note that log analyzers offer statistics based on the throughput (the number of served HTTP requests within a time slice) because log files maintain information about the time of completion of requests. Our real-time monitoring system can receive more precise information about current load (the number of pending requests per second). Webmasters can choose to monitor either throughput or load during the configuration. Note, in some cases it might be significant to monitor the load rather than the throughput—for example, for heavily accessed servers with large data files or complex CGI-bin scripts that might require additional access to other servers such as database management systems. High load could indicate, for example, bandwidth limitations (resulting in slow connections) and/or other malfunctioning.

July–September 2002

WebMelody architecture WebMelody’s architecture (see Figure 1) is easily configurable because it’s well known that users’ characteristics influence how they hear and feel the information represented by sounds.4 We also made the architecture distributed. For popular Web servers, the host machine usually isn’t a simple workstation and is physically located in computer rooms and not in the Webmaster’s office. Moreover, audio devices are usually cheaply available for PCs or workstations so it’s natural to assume that the workstation playing the output is different than the server. Finally, a distributed architecture offers the possibility to redistribute the musical information to different personal workstations so that users can monitor the same Web server by sonification. In addition, we made the system portable so that users can easily run the player component on several different platforms.

Representing Web server behavior How much information can we effectively convey through music? We can usually merge a small number of different coordinates into music. The limit depends on the Webmasters’ musical ability and the degree of attention that they’re willing to devote to the sound. We distinguish three categories of information that we can effectively associate with sounds and code as events:

35

❚ Information reporting severe errors in Web server activity. In this category Webmasters can find, for example, server errors (HTTP responses with status code 5xx) or client errors (HTTP responses with status code 4xx) when they’re above a predetermined threshold. Of course, a severe error is when the server isn’t accessible because it’s down or network problems exist. ❚ Information denoting the Web server’s normal behavior. In this category, users can monitor most situations. For example, they could monitor requests from certain domains, requests for files in a certain directory, redirections (HTTP status code 3xx), or combinations thereof. Components Our prototype’s architecture consists of three components: the sonification Apache module mod_musical_log, the Collector server, and the WebPlayer application. ❚ The sonification module intercepts each HTTP request or response received by the Web server by first sending to the Collector the information about a request’s arrival. When the request is served, the module also sends relevant information to the Collector according to its filtering of request or response HTTP parameters. ❚ The Collector is the middle-level component that conducts the sonification process. The Collector buffers the events provided by the Web server, parses them, and then instructs the remote WebPlayer about the sounds to be played. The Collector monitors the Web server’s load and throughput and analyzes the events that must be played only if a threshold is passed. Then, the Collector produces a command string specifying the sounds to be played and sends it to the WebPlayer.

IEEE MultiMedia

❚ The WebPlayer produces the audio output. At startup, the WebPlayer downloads several sets of sound files from the network using the information provided by the mod_musical_ log through the Collector. The WebPlayer then plays the loaded sound files according to the command strings it periodically receives from the Collector. The sonification module. We specifically designed the sonification module for the Apache

36

Web server, the most popular server available. According to the most recent statistics by Netcraft (http://www.netcraft.com/survey), it covers more than half of the Web servers on the Internet. Among many appealing characteristics, Apache’s modularity makes it a flexible tool for Webmasters because it offers a wide choice of third-party modules that can be compiled into the server to offer new capabilities. Users can easily code and link to the server by an extensible application programming interface. Using an API, we designed a mod_musical_log module that’s hooked into two phases of the processing request loop (called post_read_request and logging) to intercept the whole set of information that’s available at the beginning and end of processing. The information is processed according to a set of sonification patterns grouped in Channels. A Channel is a set of rules and directives describing what information is relevant for monitoring and how it must be translated into sounds. Due to the limited number of different coordinates that sounds can effectively monitor, Webmasters can define several Channels and pick one of them for the WebPlayer to play. When an HTTP request or response matches one of the given patterns, the sonification module generates a new remote event and then sends it to the Collector. The sonification module uses events to notify the Collector of matched patterns. The Webmaster can introduce Channels by defining them in the container directive in the httpd.conf file. When defining a new Channel, a description must be first provided (such as the name), then the location of sound tracks (MIDI or WAV), and finally the sonification directives (see the section “An example configuration” for more information). The sonification module reads the Channels definition at startup and then transmits it to the Collector. The mod_musical_log module uses the Channels’ definitions to determine what events must be generated. Our current implementation of the sonification module supports three types of events: ❚ Simple. These events are generated by mod_ musical_log when an HTTP request or response exactly matches one of the following parameters: HTTP status codes; HTTP headers, divided in RequestHeaders (which include general, request, and entity headers) and ResponseHeaders (which include general, response, and

entity headers); HTTP methods of a request; HTTP version of a request; request the uniform resource identifier (URI) of a request; and a remote host (or client IP address). ❚ Complex. These events are generated by the composition of simple events. The composition operators available are logical AND and NOT because they offer a simple and powerful Boolean algebra to specify combinations of clauses. ❚ Workload. Using these events, the Collector can know the exact number of requests that the Web server is currently processing. The Collector uses this number as a Web server load metric. Each time the server receives a new request during the post_read_request phase, mod_musical_log sends a “charge account’’ event to the Collector. This module is the first one to be called among all the other modules. When a request is served, mod_musical_log sends a “credit account’’ event to the Collector. In this way, the Collector can correctly evaluate throughput and load.

❚ Connection initialization and configuration. After startup, the Collector waits for a connection request from a remote sonification module.

❚ Simple/complex/load event transmission. The Collector starts receiving event notification from the sonification module mod_musical_log. For each received event, the Collector checks whether the event has a threshold. If so, the Collector checks whether in the current time slice (sliding temporal window) the counter associated with the event has reached the threshold. In such a case, the related sound must be generated. If the event has no threshold, the Collector immediately generates a sound request. The Collector evaluates the load by adding or subtracting a load counter each time it receives a “charge/credit account’’ message. For seriously malformed requests (for example, the URI is too long), it’s possible that the Web server won’t send a charge account to the Collector because the server’s core process directly invokes the standard module mod_log_config and then our mod_musical_log. Therefore, we must ensure that the Collector decreases the load counter only for requests whose “charge account’’ message was received. The protocol that talks with the WebPlayer is simpler than the one used with the sonification module. After a successful connection, the Collector uploads to the WebPlayer the description of the available Channels and the information about what sound set to download. The WebPlayer receives sound requests about the selected Channel from the Collector. If the user chooses a different Channel, then the WebPlayer asks the Collector to receive data about the selected Channel. The Collector provides data to the WebPlayer through a batch of requests coded as bit strings. The batch’s size depends on the duration of the time slice used by the Collector. For each second in the time slice, the Collector stores in the batch as many bit strings as the number of available Channels. Because the WebPlayer supports up to 16 distinct audio channels, each bit string holds exactly 16 bits. The string related to a Channel indicates what audio channel must be played for that Channel. Inside a string, each bit reports what the correspondent track should or shouldn’t play.

July–September 2002

The Collector. We implemented the Collector as a middle-level-architecture component for two reasons. First, we can provide statistics on the workload and analysis of events with threshold, based on the output of all the children processes of the Apache server. Second, introducing a middle level makes it easy to manage multiple players. It also lets the Collector receive data from other sources (servers of any type) and lets the WebPlayer work on different Channels coming from different servers. Because the Collector collects and processes the events according to the eventually specified thresholds, it works by examining a batch of events at the interval specified in the configuration file StatisticsFrequency. This means that an event that happened on the server at time t is sent at most StatisticsFrequency seconds later to the WebPlayer. The Collector handles both the sonification modules and WebPlayer applications. We based the communication protocol between the sonification module mod_musical_log and the Collector on two main phases:

Upon successfully establishing a connection, the Collector receives information describing the Channels.

37

The WebPlayer. When the Collector knows exactly how to musically represent the next time slice of events, it can then instruct the WebPlayer accordingly. We coded the WebPlayer in Java as an application, and it uses the Java Sound API to pilot a required audio device. A multiple audio channel sound architecture implements the simultaneous playback of several sounds. (Here we use the term audio channel to denote the channels used by the audio device to play sounds, and we use the term Channel for the information channel that’s provided— through the Collector—to the WebPlayer.) When the player module runs, the WebPlayer loads a set of audio tracks from a remote Web server into the memory. Then each track reserves for itself a unique audio channel. While running, the WebPlayer determines what audio channels to play according to information received from the Collector. We implemented the WebPlayer as a multiple thread process. One thread manages the remote connection with the referring Collector. A second thread provides the user a command graphical console to switch between different Channels, while another thread plays the required sounds depending on the bits received per second. Using synchronized methods guarantees that these three threads will interact safely. A multithreaded architecture lets the WebPlayer playback audio without being affected by input and output activities such as the ones required to deal with the remote Collector. The WebPlayer uses an internal buffer of StatisticsFrequency seconds to allow for network delays. In this way, an event that occurred at the Web server at time t is played at the WebPlayer side 2 × StatisticsFrequency seconds later. An example configuration With Webmelody, Webmasters can monitor a wide range of parameters, including all the headers associated with HTTP requests and responses, and can group the required conditions in various ways. The following example helps explain the module’s configuration:

IEEE MultiMedia

MusicalPlayer “neverland.dia.unisa.it” MusicalPlayer “localhost” EventsCollector wonderland.dia.unisa.it:7000 StatisticsFrequency 30

38

ChannelName “demo” ChannelDescription “Example” SampleType Midi SampleSet “http://isis. dia.unisa.it/sonification. mid” TracksNumber 16 Throughput [1-6] 5 10 1 RequestHeader User-Agent “MSIE” 7 RequestUri “/~vitsca/” 8 StatusCode “404” 9 StatusCode “5..” 10 RequestHeader User-Agent “Mozilla” RequestHeader User-Agent ! “MSIE” RemoteHost “(\.it)$” Track 11 RequestHeader User-Agent “Mozilla” RequestHeader User-Agent ! “MSIE” RemoteHost ! “(\.it)$” Track 12 RequestHeader Authorization “.+” StatusCode “401” Track 13 10 5 After setting up the Channel and showing the address of the MIDI tracks to be played, the system indicates (by the directive Throughput [1-6] 5 10 1) that tracks 1 to 6 monitor the throughput. The system plays a new track if the throughput grows by 5 units per time interval (set to 10) where the sliding temporal window moves each second to the right. Track 7 monitors access by Microsoft Internet Explorer, while track 8 monitors accesses to users’ vitsca home directory. HTTP 404 errors go to track 9, and track 10 monitors severe errors (such as HTTP 5xx errors). Track 11 monitors accesses by Netscape browsers from an Italian top-level domain, while track 12 monitors accesses by Netscape browsers from the rest of the world. (Note, we identify Netscape

browsers as those that set the HTTP header User-Agent as Mozilla and aren’t Internet Explorer.) Track 13 monitors several (that is, more than 10 in 5 seconds) unauthorized accesses (HTTP error 401).

WebStamps WebStamps is our client extension to MMM, which graphically represents Web servers’ status in real time. While we can efficiently display information like load through traditional histograms or diagrams, we can also efficiently display complex statistics to Webmasters so that they monitor only those statistics requiring their complete attention. Therefore, we designed WebStamps to discreetly display a toolbar of icons on the monitor and inform users about server state without distracting them. This kind of information is often referred to as peripheral information5—information that’s not central to the current (ordinary) task but is needed and might become significant. Therefore, we must provide both a monitoring tool with a better perception of the real Web server state and a proper representation technique that reports information to users effectively and unobtrusively. The overall goal is to let users work while subconsciously they receive various information from the periphery without attending to it explicitly. However, if anything unusual happens, users will notice because the anomalous presence of some icons on the screen can shift users’ focus to the toolbar. When deciding which representation to choose for our system, we discarded the ordinary graphical representation techniques commonly used in monitoring tools because they could be too engaging for users. As a result, we use a much simpler representation. We represent Web server information in two ways:

Figure 2. An example of WebStamps. At the top, we show the seven icons at full size, and at the bottom, we present the toolbar during the execution (smaller icons refer to older events).

❚ Load and throughput through changing background color. We use the background color of the panel displaying the icons to report Web server load (throughput). For example, a darker color means a heavily loaded server. The server information is displayed through a floating toolbar that contains the icons. Instead of using some sort of animation, we visualize icon transitions (that is, appearing, disappearing, resizing, and so on) by discrete animations. Users can configure the transition time (frequency of updates), although the default is 1 second. In this way, users can choose the rate that’s most effective in conveying peripheral information without distracting them.

July–September 2002

❚ Simple and complex events through graphical icons. We associate graphical icons to Web server events (WebMelody tracks). Icons appear at full size each time the Web server generates a corresponding event. Icons then become smaller as time passes to indicate that the event occurred some time ago. Users can customize the standard icons that the system uses and choose the images to rep-

resent Web server events. We’ve experimented with complex images (such as the Netscape logo) as well as simple and abstract images like a circle or a square. (Figure 2 shows an example of the first kind.) Our guess is that complex images can be a more effective and familiar medium to represent Web server behavior while simpler images can be less tiring for users.

Further developments We’re modifying WebMelody to include other audio sources (such as CD-ROM and MP3 files) to let Webmasters further personalize musical tracks that indicate the load.6 In addition, we’re developing other plug-in clients such as email, short message service, and ordinary graph indicators, which will be includ-

39

Experimental Results We conducted an empirical study to measure the effectiveness of our sonified Web server in a controlled setting. The goal was to measure whether the music is informative or distracting. We conducted the experiment with 28 subjects. The overall results suggest that background music doesn’t distract users from their primary (editing) task, and it can effectively convey information. In particular, although we found no decrease in the amount of text editing (primary task) when participants were explicitly instructed to pay attention to the music compared to when participants were explicitly instructed not to pay attention to the music, we found a small decrease in the amount of information our participants extracted from the music in the dual-task as compared to the single-task conditions. It’s not surprising to find that performance suffers when people performed two tasks compared to when they performed only one. However, we were surprised that the primary task (text editing) didn’t suffer at all, and that the secondary task (server event identification) suffered only a little bit.

Web Extras To listen to some sample soundtracks from WebMelody, visit MultiMedia’s Web site at http:// computer.org/multimedia/mu2002/u3toc.htm and click on the following links: ❚ An MP3 file of a brief sample log file (http:// computer.org/multimedia/mu2002/extras/ u3032x1.mp3). The style is abstract and should avoid fatigue in the listener (that is, because it doesn’t appeal to rhythm and known musical patterns, it can be listened for a long time without disturbing). The events are mapped to a grand piano (critical errors, such as 500 HTTP errors and similar), a woodblock (access by User-Agent Netscape), a music box (access by UserAgent MS Internet Explorer), and a trumpet (access to a directory).

IEEE MultiMedia

❚ A MIDI file of a jazz-like example in the style of a swing jam session (http://computer. org/multimedia/mu2002/extras/u3032x2. mid). Here the load is mapped to the rhythm (drums and bass), while different events are mapped to a piano and organ, with the errors played by a timpani.

ed in the system architecture. We also plan to adapt the architecture so that users can monitor different servers (such as FTP and network file system servers) in the same way.

40

Details on this project as well as the WebMelody package (and soon also the WebStamps) are available at http://isis.dia.unisa.it/PROJECTS/ SONIFICATION/sonifsite.html where you can download some test MIDI soundtracks, including the one specifically designed according to the musical considerations in this article. MM

Acknowledgments We gratefully acknowledge fruitful discussions with Teenie Matlock and Paul Maglio of the IBM Almaden Research Lab. Finally, we acknowledge the contribution of Palmira Spiniello for collaborating on the implementation of WebStamps.

References 1. M. Barra et al., “WebMelody: Sonification of Web Servers,” Poster Proc. 9th Int’l World Wide Web Conf. (WWW9), Foretec Seminars, Amsterdam, 2000, pp. 18-20. 2. D. Lunney and R. Morrison, “High Technology Laboratory Aids for Visually Handicapped Chemistry Students,”J. Chemistry Education, vol. 58, no. 228, 1990. 3. J. Cohen, “Monitoring Background Activities,” Auditory Display: Sonification, Audification, and Auditory Interfaces, G. Kramer, ed., Addison-Wesley, Reading, Mass., 1994, pp. 499-531. 4. T.M. Madhyastha and D.A. Reed, “Data Sonification: Do You See What I Hear?,” IEEE Software, vol. 12, no. 2, Mar. 1995, pp. 45-56. 5. P. Maglio and C.S. Campbell, “Tradeoffs in Displaying Peripheral Information,” Proc. SIGCHI Conf. Human Factors in Computing Systems, ACM Press, New York, 2000, pp. 241-248. 6. M. Barra et al., “Personal WebMelody: Customized Sonification of Web Servers,” Proc. 2001 Int’l Conf. Auditory Display (ICAD 01), Helsinki Univ. of Technology, Espoo, Finland, 2001, pp. 1-9.

Maria Barra is a postdoctorate researcher at the University of Salerno, Italy. She was a visiting student at IBM Almaden Research Center from 2000 to 2001. Her research interests are social navigation and adaptive and cooperative systems on the Web. She has a Laurea degree and a PhD in computer science from the University of Salerno.

Tania Cillo is a junior analyst at Italdata Spa, Pianodardine, Avellino, Italy. Her research interests include e-learning and techniques for sonification. She has a Laurea degree in computer science from the University of Salerno, Italy.

Antonio de Santis is a retired professor at Conservatorio di San Pietro a Majello (San Pietro Majella Conservatory), Naples, Italy. His main interests are musical applications of electronic music and how to rethink a musical framework in terms of a formal system inspired by a rigorous scientific method. Recently, he composed the music for the show Blue Note, for the Carlo Felice Theater in Genova.

Umberto Ferraro Petrillo is a postdoctorate researcher at the University of Salerno, Italy. His research interests include algorithm engineering, distributed systems (with a focus on Web technologies), and software visualization. His current research is on developing effective methodologies for the implementation of efficient algorithms and on the design of a Java-based XML-powered distributed architecture for modeling complex factory plants. He has a PhD in computer science from the University of Salerno.

Alberto Negro is an associate professor of computer science at the University of Salerno, Italy, where he cofounded the Isis Lab (http://www.unisa.it/ISIS). His current research interests include distributed algorithms, computing and communication, fault-tolerant parallel and distributed systems, and Web computing. He has a Laurea degree in computer science from the University of Salerno.

Vittorio Scarano is an associate professor at the University of Salerno, Italy. His research interests are parallel algorithms and architectures and multimedia and distributed systems on the Web. He has a Laurea degree in computer science from the University of Salerno and a PhD in applied mathematics and computer science at the University of Naples, Italy.

Readers may contact Vittorio Scarano at the Dipartmento di Informatica ed Applicazioni “R.M. Capocell,” Università di Salerno, Via S. Allende, 84081, Baronissi (Salerno), Italy, email [email protected]. For further information on this or any other computing topic, please visit our Digital Library at http:// computer.org/publications/dlib.

Call for Papers Send submissions as PDF files to Magazine Assistant Alkenia Winston, IEEE MultiMedia, 10662 Los Vaqueros Cir., Los Alamitos, CA 90270, phone 714-821-8380, fax 714-821-4010, email [email protected]. Please include a title, abstract, and the lead author’s complete contact information. Visit IEEE MultiMedia’s author guidelines at http://computer.org/multimedia. We particularly welcome articles accompanied by demos, which we can post on our Web site and archive in our subscription-based digital library.

July–September 2002

IEEE MultiMedia magazine seeks original articles discussing research as well as advanced practices in hardware and software, spanning the range from theory to working systems. Articles should be approximately eight magazine pages with roughly five figures or images, where a page is approximately 600 words. Please limit the number of references to the 10 to 12 most relevant. Also consider providing background materials in sidebars for nonexpert readers.

41