| A Generalized Online Delivery Paradigm for XML Information | Table of contents | Indexes | XFDL - Representing Business and Government Forms in XML | |||
Web-based XML ![]() state-dependent | Using to create information support for management applications |
Canada ![]() Kanata Madsen, Paul Newbridge Networks Corporation | Paul
Madsen
Structured Information Analyst, Newbridge Networks Corporation
Biographical notice Paul Madsen is the principal Structured Information Analyst for Newbridge Networks Corporation, a maker of telecommunications network hardware and network management software. In the past he has been responsible for the design and maintenance of the DTD for Newbridge technical documentation products and the creation of Web-based Online help products. His current focus is the investigation of structured data technologies as they apply to the delivery of dynamic information support and multimedia training to users of Newbridge products. Other work includes using XML as an alternative syntax for network management protocols. Paul holds a PhD in theoretical particle physics from Carleton University in Ottawa, Canada. |
| WBM Web-based Device Management XML ![]() distributed computing ![]() | Abstract |
| The power of lies in its fundamental features of portability and self-descriptive data. The network portability allows an instance to be easily and reliably transported over a distributed network while XML's self-descriptive ability allows an instance to carry information about the meaning of that data it encodes, in addition to the data itself. Taken together, these features mean that a processing engine can perform meaningful analysis of the encoded data after receiving it over a network. |
| This scenario of XML enabled " " opens up various possibilities for (WBM) applications. "Device Management" refers to the configuration and maintenance of the hardware devices that make up a distributed network and "Web-based" refers to the fact that these management actions are performed through a Web-browser interface. |
| This paper discusses the issues involved in using XML within , specifically for the creation of dynamic information support for WBM applications. |
HTML, Hypertext Markup Language ![]() Java ![]() Online Help SGML ![]() applet client-side processing distributed computing ![]() dynamic information support | Introduction |
| Introductions to XML make much of the ability of XML markup to describe the meaning of the data it encodes rather than merely how to format it, as does HTML. But has always been about "describing" data, why then has SGML never experienced the same sort of explosive growth that XML is currently enjoying? The difference is that XML has been designed from the start to be "network-enabled". Fundamentally, where XML differs from SGML is in its stated philosophy of simplicity and the implications of this philosphy for the suitability of XML to "networked" applications. The combination of self-descriptive data and a stream-lined standard to facilitate the exchange of this data between clients, both human and machine, are why XML is being considered for applications ranging from IP telephony standards to Web-banking. |
| With XML, machines can exchange data in a format that allows it to be meaningfully processed on the receiving end. For many future applications of XML on the Web, these machine interactions will be client-server, an XML instance created on one and transported to the other for processing. Any processing of an XML instance on the client beyond straightforward formatting for display or metadata extraction to facilitate navigation will most likely be beyond the capabilities of the browser itself. Real therefore implies downloadable programs with which the browser client can be extended. |
| Jon Bosak said it very well, "XML gives something to do". With XML, a Java on the client can be asked to share in the burden of data processing. If the syntax of communication between the server and Web client is "dumb" (as in ), then the server must bear this processing burden alone. This is not because the client doesn't have the necessary computing power nor that applets can't be built to do the job, but because HTML can't describe the data in a meaningful way. XML, as a "smart" exchange syntax, allows a Java applet on the client to do meaningful analysis of the data, analysis that would otherwise require server processing and possibly multiple connections. XML allows an applet to be told unambiguosly both what a piece of data is, and just as important, what to do it; for instance "this bit of data is an IP address, verify it and open a connection". |
| One such application of XML to is to enable for Web-based Management (WBM) applications. Information support for WBM applications is typically of the " " variety. On request for "Help", the user is provided with a wealth of information but with no assistance in extracting information appropriate to their current situation. This model of information support is "static" because, regardless of the user's actions or the state of the network device, the information support is independent of these specifics. XML can provide an information support system the "intelligence" it needs to provide dynamic information support. In this scenario, an XML instance is used to capture a sufficient portion of the state of a networked hardware device. The XML "state" instance is transported from the network device to a Java applet running on the Web-browser client, where it is processed according to a set of pre-defined queries. Appropriate information objects can be gathered together and "Online Help" specific to the real-time state of the device, rather than generic, can be presented to the user. |
| HTTP server Network management Web browser embed plug-ins ![]() proprietary user interfaces | Web-based Management |
| can formally be defined as: "the process of controlling a complex data network as to maximize its efficiency and productivity". Typical Network Management applications provide an operator the ability to configure, monitor, and control distributed networks from a single central management stations, using an intuitive graphical interface. |
| Traditional network management applications have required powerful, expensive dedicated workstations. A offers an inexpensive, easy-to-use alternative to these . The seamless networking, cross-platform, graphical user interface capabilities of the Web offer make the products easier to use, easier to develop, and provide easier integration of product support with the application. They can be viewed with nothing more than a simple Web browser such as Netscape Communicator or Microsoft Explorer, or even a Web browser embedded in a PDA, pager, or cellular phone. |
| A Web-browser interface to a network device requires mechanisms by which the user's control actions are transmitted to the device and by which the device can be monitored. Various possibilities exist for this mechanism, including purpose built Java management applets and management . Another possibility, made realistic by the processor speed and available memory of current network devices, is to an directly in a managed device; the server uses HTTP to send HTML to the browser to display device statistics and receives HTML form input for configuration and control. The following figure demonstrates the embedded approach. |
|
| EmWeb | Such systems typically "extend" HTML with a set of proprietary tags that carry the management information between server and client. The HTML tags specify how the Web-based management (WBM) GUI is to look, the proprietary tags contain instructions which the server interprets real-time to make the HTML pages "live". |
| After the proprietary tags are added, the modified HTML pages are pre-processed, compressed and compiled in with the device software to create an executable image which can be placed on the device. When a browser requests the HTML page from the server at run-time the server serves the static portions of the HTML page up to the <EMWEB_STRING> tag. When the server reaches the <EMWEB_STRING> tag, it invokes the corresponding code fragment. The server replaces the <EMWEB_STRING> tag with the value returned by the code fragment as it is transmitted to the browser. What the user sees within the browser window is: |
| IP address:123.45.67.89 |
| A similar operation, in reverse, allows the user to send values back to the EmWeb server through HTML forms to enable configuration and control. |
GUI, Graphical User Interface ![]() dynamic information support | Dynamic Information Support |
| The existing model for delivering information support for Web-based management applications suffers from a severe limitation on its potential to provide real-time support to the end-user: the "help" delivered to the user is blind to the "state" of the network device itself. The help can be "context-specific", i.e. appropriate to the currently displayed screen of the WBM application, or to the current configuration procedure being performed, but will not be "state-specific", i.e. appropriate to real-time values, either obtained from the network device itself or from the . |
| Fundamentally, can be either "static" or " ". A simple example can best illustrate the differences between the two. |
| configuration procedure | Simple Scenario |
| Consider the following scenario. An end-user is attempting a consisting of three steps, each one of which involves the setting of some parameter value. |
|
|
| state | Proof of Concept - Dynamic Node Knowledge |
| This section discusses a proof-of-concept application of the Dynamic Information Support concept to Web-based Management. |
| The WBM application in question will use embedded HTTP server technology to enable communication between the Web browser and the switch. The embedded server will serve dynamically created HTML for the reporting of switch status and will take HTML form input from the user for configuration procedures. |
| Our goal is to create a prototype dynamic information support tool for a WBM application. This prototype is hereafter referred to as Dynamic Node Knowledge (DNK). |
| The prototype will determine the of the switch, analyse this state, and display appropriate information to the user. The DNK architecture will consist of mechanisms for: |
| The following diagram illustrates the overall DNK design architecture. The state of the switch is captured in XML, transmitted to the DNK applet on the client, which queries the state according to predefined rules loaded from a home Web server. Depending on the results of the state analysis, appropriate information objects are then displayed to the user. |
Dynamic Node Knowledge Architecture
|
| The sequence of events is: |
| The following sections discuss in detail the issues involved for the various mechanisms, and the choices made for the DNK architecture. We will see that many of the mechanisms are interrelated, a choice for one impacts on others. We will use the following list of criteria as a guide in choosing from among the various possibilities for the architecture pieces. |
HTTP, Hypertext Transfer Protocol ![]() SNMP capture | State Capture |
| The "state" of a switch (a network communications object) is all the data, i.e. its connections, status, statistics, etc that characterize it at any particular time. If Dynamic Information Support is to be delivered to a user managing the switch, then this state must be captured for analysis. |
| The mechanism must allow for the transfer of this state off the switch for analysis. In theory the analysis of the state could be performed on the switch itself, using the switch CPU to query the state. In practice, any such processing can only take away resources from the switch's fundamental purpose of transmitting and tracking data packets, incompatible with the requirement of placing minimal impact on the switch. |
| If the processing of the state is to occur elsewhere, off the switch, then the state must somehow be accessed from wherever this analysis is to occur. Protocols exist for such access, for instance SNMP could be used to GET the data for subsequent analysis by a DIS tool. However, the same issues that motivated WBM as a replacement for suggest that creating a DIS tool with SNMP as its state access mechanism could be nearly as complicated and expensive as a complete WBM application. Additionally, SNMP would probably not allow an unambiguous identification of the semantics of the data, required if any meaningful analysis is to occur. |
| An alternative to opening up a connection (or possibly multiple connections) between switch and DIS analysis tool is to capture a subset of the state in a persistent, logically unambiguous file format, and pass that file from the switch. XML is the perfect choice for this format for a number of reasons. XML can be easily transmitted over the network and can be compressed significantly if bandwidth is a concern. Most importantly, if the tagset is well-designed, the DIS analysis tool will be able to unambiguously recreate an abstract representation of the switch state from the XML state instance it receives from the switch. For our prototype, the creation of this XML instance is facilitated through a happy coincidence related to the embedded HTTP server technology chosen for the WBM application we aim to support. |
| The server mechanism embeds C code within HTML "templates". The process of compiling the "extended" HTML templates into code, which is then integrated in with the switch software, effectively ignores the HTML tags themselves. It is only when the code is interpreted by the HTTP server that the HTML is recreated for transmittal to the client. This markup independence suggests an obvious additional use for the server, that it be used to create and serve XML for the purposes of DIS. The critical difference is that the tags will now be designed such that they explicitly encode the meaning of the data they enclose. For instance, compare the following HTML and XML versions of some marked up data that provides the number of dropped packets on the switch (an important diagnostic statistic). |
|
| The HTML specifies to the browser how to display the data but says nothing about its semantics, the XML is the exact opposite, clearly defining what this data represents but making no suggestion for formatting. |
| The process for enabling the switch "state" capture is therefore very similar to that of enabling the communication between the WBM application and the switch. The relevant subset of the available switch data structures are modelled in XML, creating static XML templates. These templates are extended by the addition of the HTTP server's proprietary tags with embedded C code. The resultant well-formed XML can be processed and compiled in with the HTML of which the WBM application will be built. On user request for "Help", the HTTP server will interpret the compiled XML-template and serve an XML instance that encodes the current switch state. It is from this XML instance that the DIS tool will build its abstract model of the switch. |
| Note: It should be noted that a variation of the mechanism described above is possible. Rather than creating and serving a physically separate XML state instance, the XML state data could be interspersed throughout the HTML that is created for the purposes of the WBM application itself. This concept of "XML islands" has been suggested by Microsoft. An HTML browser would ignore non-HTML tags (for instance "packets_dropped") and the DIS tool could be taught to ignore the HTML tags. Although seemingly a solution to the duplication inherent in creating and serving both HTML and XML versions of the same data, in reality it requires the same duplication, albeit in a single file rather than multiple. Until the browsers support the direct display of XML, thereby eliminating the need for the creation of HTML merely for display, such duplication will be required. Additionally, interspersing the XML tags within the HTML implies significant co-operation between the developers of the WBM application and the DIS tool; obviously the ideal but not always safe to assume. |
| An interesting additional avenue of support that XML enables is the concept of switch simulation by distant support personnel. If the user runs into a situation or problem with the switch that the DIS tool on its own is unable to diagnose, then a call will likely be placed to second-level support, i.e. the help desk. Before the help desk personnel can aid the user in diagnosing and resolving a problem, the user must be able to communicate to them just what that problem is. The Internet story (possibly apocryphal) of the PC owner contacting a Microsoft help desk complaining that their "cup-holder" was broken illustrates that this is not always easy, complicated by differences in expertise, languages and the fundamental problem of explaining complex situations over the phone or email. XML could provide the shared language between user and help desk, allowing the help desk staffer to recreate on their local "switch-simulator" the current state of the switch for analysis and diagnosis. By clicking on a "Send to Tech Support" button in the DNK GUI, the XML state could be emailed onto the help desk, providing the support personnel with, in addition to the state, all necessary information for subsequent contact, name of user, email address, company etc. |
State Analysis |
| Once served from the switch and then transmitted to the DIS tool, the fact that the data is stored in a semantically meaningful manner means that it can be manipulated for various purposes. We will see in the next section that the XML direct from the switch may not be appropriate for all purposesour choice of a syntax for the specification of the rules (which comprise the logic of the DIS tool) will dictate a required syntax for the state data. While XML may not be a suitable syntax for the specification of input data for the rules analysis, it will allow a relatively easy down-conversion to the required syntax. |
| Choices must be made for the location (on which machine does it occur) and mechanism (what performs it) for the analysis of the state coming from the switch. |
|
|
|
Information Object Library |
| The fundamental result of the state being queried is the display of state appropriate information objects to the user. These information objects must be stored in a location and syntax such that the DIS tool can access them for display to the user. |
| information objects | Location |
| The Web-centric nature of the WBM application itself means that we have some flexibility in the storage location of the library of information objects. |
| The could be stored on the switch itself. Since they would be installed onto the switch with the embedded HTTP software, such a system would ensure that the information objects remained in-sync with the release and/or software version currently on the switch. However, storing large sets of HTML and accompanying graphics is not realistic given limited memory on the switch. Additionally, such a system would not allow easy maintenance of the information objects in between switch software updates. |
| A more powerful option is to store the information objects on a Newbridge corporate Web-server. Keeping them close means that they can be maintained and kept current such that changes are invisble to users. Additionally, the Web-server access logs could theoretically provide a wealth of information to use in obtaining usability feedback on the WBM application itself. Basically, the number of times a given information object is accessed allows some inferrence to be made about how "usable" is the related part of the WBM application. |
| With this separate Web-server scenario, there is the possibility of a user being prevented from accessing the information objects if they are using the WBM tool from behind a firewall configured to restrict outside access. While a concern, the view was that outside access would be required for even the most basic "Online Help", it is not a requirement specific to DIS. |
Granularity and Authoring |
| The granularity of the information objects will directly determine their appropriateness to specific state scenarios. If the granularity is coarse then the material presented to the user will in general contain both information of immediate relevance as well as other related but non-critical information. The user would be required to sort the wheat from the chaff. |
| The information objects will be authored in SGML. SGML provides functionality that will allow the documentation to be created such that it could be used for both granular information objects for use in DIS as well for paper manuals and traditional "Online Help". For instance, consider a procedure step that has two options for completing the step, each option appropriate in specific scenarios. The requirements of paper and "Online Help" are that both options should be presented to the user, with explanatory text to make clear under what situations each is appropriate. For DIS, only the appropriate option should be presented, the DIS engine determining which is appropriate from a defined rule. It remains to be seen as to where best to create and maintain the metadata and rules that enable DIS, either as elements and attributes added to the basic document model, or as separate instances maintained by subject matter experts. For the purposes of the proof-of-concept, the rules will be hand-created, and the information objects will be extracted from the SGML technical manuals for further editing before conversion to HTML. |
| HotJava HTML component JavaBean | Syntax |
| Since the information objects are intended for display alone (with no requirement of any semantic processing) the choice of their format can be based on suitabality for display alone. HTML is the obvious choice. The is one possible display mechanism. It is a that provides the required HTML display capabilities. |
| Since the information objects are authored in SGML, a conversion to HTML will be necessary. This conversion can be done dynamically (as the SGML information object is requested its HTML version is created) or in batch mode before hand. For the sake of simplicity, the prototype architecture will use batch converted HTML. The limitations of the HotJava component will place some restrictions on the output HTML. For instance, since the HotJava component does not support a stylesheet mechanism, the desired formatting will therefore need to be encoded directly in the HTML. |
| In the future, when the browsers will support direct display of XML, or if a Java XML display component has been created, the batch conversion from SGML to HTML will not be necessary. A less involved SGML to XML conversion may still be required however. |
Display |
| There are three fundamental types of information to be displayed to the user, each differing in the levels of their immediacy and depth of detail. In general, as the more detailed the information becomes, the less immediate and dynamic it will be. For instance, displaying the data tree built from the XML state instance is very immediate but provides little information to help in interpreting that data. On the other hand, the existing HTML information objects can provide in depth explanations but may not be completely specific to the current state. |
| The following table demonstrates the nature of the different types of information possible for an IP address: |
|
| Type I information is that which could be extracted from the XML state instance directly. For instance, in the above the string "IP address" could be contained in an attribute on the IP element which contains the string "123.45.67.89. Type I information could be displayed to the user as a tree structure, a presentation format suggested by the XML syntax of the state. |
| Type II information adds to the basic state data with additional information about that data that helps to place it in context, in this case that the data is a valid IP address. This typical depth of detail for Type II metadata . Type II objects could, depending on the nature of the additional information, be displayed to the user in pop-up windows (for warnings and other admonishments) or as part of the DNK display window (for less urgent information). |
| Type III information would consist of pre-existing information objects, e.g. HTML files. The example above provides useful information about the appropriate topic but there is nothing specific to the real value. Type III information would resemble current "Online Help" in that it would not be specific to current state but would consist of detailed background information. |
| The differences between these information object types (their origin, format, and level of detail) impose different requirements on the mechanisms for display of the data. There are two broad options for display, the browser or the DNK applet itself. The simpler mechanism would be for the DNK applet, once it had determined the appropriate information, to pass the respective URLs to the browser for display. |
| Unfortunately, of the above classes of information objects, only Type III is suitable for direct display in a browser. The other two require additional mechanisms to supplement the browser's display functionality. Given that Types I and II information objects require the sort of functionality that we can provide in the DNK applet directly it was decided that we would not attempt to use the browser window for display purposes. This choice will unavoidably make the DNK applet larger and more complex. However, in doing so the prototype DIS tool is freed from dependence on eventual browser suppport for XML. |
Applications |
| For the most part, the DNK architecture as presented is independent of the specific nature of the information support provided to the user. This section discusses possible broad categories for such support. |
Procedural Guidance |
| The day to day administrative tasks of configuring and maintaining network objects are typically performed by junior personnel, sometimes lacking extensive experience with a specific technology or product beyond a course and some hands-on training. When these users confront a problem or situation within a procedure they can't deal with (perhaps because of new equipment or technology), they typically call on their companies more experienced users for assistance, even though the problems usually do not warrant this level of expertise. These expert users can find themselves answering the same questions over and over from different novice users. Much of the time of the expert users can therefore be spent on assisting junior personnel in the frequently occuring procedural problems that they could, with assistance, probably solve themselves. |
| This suggests a possible application of DNK, that of providing guidance for the common configuration and troubleshooting procedures that a junior network administrator would perform on the switch. Knowledge of the switch state, coupled with knowledge of the user's actions on the WBM GUI, would allow DNK to identify where within a procedure the user was "stuck" and assist them in completing the procedure by providing information appropriate to both state and actions. |
| Such a scenario suggests the future possibility of providing so called "wizards" to the user. A wizard would not only guide the user through a procedure but provide mechanisms for the WBM actions to be transmitted to the switch. As such, a wizard can be thought of a hybrid WBM and DIS tool. |
statistics ![]() | Statistical analysis |
| The user of a Network Management application can be inundated with statistics tracking every conceivable parameter on the switch. Theoretically useful for diagnosis of switch and network problems and status, the are typically presented in tabular or graphical form. Regardless of the format for presentation, the extraction of any meaning from these tables or graphs is the responsibility of the user and can be non-trivial, both because of the number of available stats and their interdependence (a single statistic may be meaningless on its own and perhaps only important if compared to another or if tracked over time). |
| The switch for which the WBM application is being built has over 5000 "counters", i.e. parameters that reflect some status of the switch or its connections. The counters track parameters as varied as the number of seconds a given connection was unavailable, the number of data cells discarded (lost), the number transmitted, to the number of messages sent from the user to the switch. The challenge is to extract from all this counter data the key "identifiers", those patterns that indicate some status scenario for which the DIS tool can supply relevant information. These patterns can exist be for a single counter, for a single counter over time, or for relations between multiple counters. |
Related Information Support |
| The nature of WBM enables network administrators easy access to all the information they need to more effectively run their networks. In addition to product documentation, such information could include release notes, tutorials, multimedia training, and technical alerts. With knowledge of the system state, this additional support information can be made, like the documentation, specific to the user's situation. Rather than taking the user to a high-level "Information Support" Web page, designed to serve the needs of all customers, irrespective of the specific products they own, and requiring the user to navigate to find information appropriate to them, DNK could build a customized library of information resources for the user. The "state" of the switch could be expanded to include information about the switch version, the release of the installed software, etc. With this information, DNK could determine the appropriate information support to provide, e.g. the user could be notified of a newer release of the switch software which their licensing agreement entitles them to download. |
XML as a management protocol syntax |
| The use of XML to create an abstract representation of the switch for DIS suggests the possibility of using XML directly as the syntax for the communication between the switch and the management application. In such a scenario, an XML representation of the switch would be passed directly to the WBM application for visual rendering, and another XML instance passed back to enable switch configuration. An information support tool like DNK would not require the creation of an XML instance for its own purposes, it would "piggy-back" on the shoulders of the WBM application and repurpose the XML. Indeed, with the state information readily available, the distinction between management application and support tool might become blurred. |
| The current work in creating XML standards for network management (e.g. the Common Information Model from the DeskTop Management Task Force) is motivated in part by the potential for XML-based Web-based management and in part by the proliferation of management protocols that a given piece of network hardware may be required to support. If, rather than being asked to support a variety of protocols, some proprietary and some standard, the network devices showed to the world an XML interface, then this interface would insulate the devices from the specific requirements of the different protocol. The XML from each individual device could also be amalgamated together to form a "global" network view for higher level management operations. |
| A Generalized Online Delivery Paradigm for XML Information | Table of contents | Indexes | XFDL - Representing Business and Government Forms in XML | |||