\chapter{Content management}
\label{ch:contents}

It is becoming apparent that Internet Protocol (IP) will become the dominant networking protocol for the next decade. Although IP was primarily relegated to the Internet, the explosion of services and capabilities of the Internet have forced changes in the entire telecommunications industry. It seems, that voice, video and data will be combined into one stream of data, and that data will use IP.

New high-speed and on-demand services create new network requirements. The network must handle special application packets, such as voice over IP and mission critical text-based data, in a way so that the data is delivered to the end user ahead of other traffic. In addition, the newer information is isochronous; rigid timing and flow control, which most traditional networks are not designed to provide, are required~\cite{b24}. IP networks offer no easy way to identify packets or subsequently give them special handling. This requires a protocol that would first check for available resources (admission control) and then reserve some amount of flow-specific state in the network~\cite{b52}.

This chapter describes content management in the Internet. Section~\ref{sec:telephony} gives on overview of Internet telephony. Section~\ref{sec:video} studies video services, especially video coding. Section~\ref{sec:multimedia} studies multimedia, and especially content adaptation. Section~\ref{sec:multicasting} presents multicasting and section~\ref{sec:databases} databases and their management systems. Section~\ref{sec:models} gives an overview of models describing content for management purposes, such as Common Information Model (CIM) and Directory Enabled Networks (DEN). Also the markup languages, such as SGML, HTML, and XML are studied in this section.


\section{Internet telephony}
\label{sec:telephony}

Voice over IP (VoIP) and Voice On the Net (VON) are terms used in IP telephony. Delivering voice over Internet means, that voice is packetized as defined by IP, and sent over the Internet to facilitate telephone-like communication.

Access to services enabling internetworking across the Public Switched Telephone Network (PSTN) to and from the Internet, as well as access to advanced integrated services, is still at an early stage, due to limited bandwidth, processing power, service development, and interoperability. Network delay is an important factor in the voice-data convergence. In the table~\ref{tab:iternettelephony} is listed further requirements of Internet telephony. These requirements are related to service level and network level, which are discussed in chapters ~\ref{ch:service} and ~\ref{ch:network}.

\begin{table}[htb]
\caption{Internet telephony requirements~\cite{b13}}
\label{tab:internettelephony}
\begin{tabular}{ll}
authentication and certification &             network management \\
billing                          &                           performance measurement\\
customer service                 &                   quality of service (QoS)\\
emergency messaging              &              security\\
\end{tabular}
\end{table}




A key element in making effective use of the IP telephony technology is the development and use of gateways that bridge the IP environment of the Internet and the circuit-switched environment of the public telecommunications network. The IP technology currently employed on the Internet uses non-deterministic switching, which offers little potential for approximating real-time voice connectivity in that environment, except through overprovisioning of bandwidth. However, using IP networks, either conceived as Intranets or Virtual Private Networks (VPN), to provide voice services across a well-managed, over-provisioned, best-effort network, is technically feasible today~\cite{b13}. Voice will only migrate to IP, if terminal devices can utilize IP and quality can be guaranteed.


\subsection{Quality of service}
\label{subsec:qos}

The difficulty of packet-based voice communication is, that individual packets can take different routes across the Internet and arrive at different times. Real-time voice communication requires timely delivery. Significant pauses would make it virtually unusable, or at least not nearly comparable to traditional telephone communication.

To ensure that packets are delivered in a timely way, VoIP uses the real-time protocol (RTP) in addition to IP. RTP provides time stamping, payload type identification, and packet sequence numbering for each data packet. RTP usually works on top of UDP and thus provides no delivery guarantee. Using public networks, it is currently difficult to guarantee Quality of Service (QoS). Better service is possible with private networks managed by an enterprise or by an Internet Telephony Service Provider (ITSP).

VoIP vendors are already working on implementing the Resource ReSerVation Protocol (RSVP), which reserves bandwidth across the Internet for time-sensitive traffic. RSVP was designed for multimedia over IP, but would work as well for voice. With it, routers signal each other to request a clear path through a network and set it up. It is also possible to get so many such requests that the routers cannot honor all of them~\cite{b14}.


\subsection{Current problems}
\label{subsec:currentproblems}

\begin{itemize}
\item Standard
The difficulty is the interoperability between Internet telephony products and interworking with legacy Public Switched Telephone Network (PSTN)-based systems and services. Standard development and adoption are the key to ensuring interoperability.
\item Quality
Voice performance is measured by delay. Latency increases on the Internet and it is currently difficult to guarantee Quality of Service (QoS).
\item Capacity
The Internet can not guarantee network bandwidth, packet sequence and latency. The network overload results in delays in packet transmission, with packets arriving too late at the receiver to be played back and are therefore, discharged. Current Internet telephony applications repair lost packets with silence, which leads to the speech clipping effects.
\item Social issues
Regulation of Internet telephony has not been made. In most countries, governments or government-sanctioned entities have retained monopolies for provisioning traditional telephone services~\cite{b19}.
\end{itemize}


\section{Video over the Internet}
\label{sec:video}

In a heterogeneous best-effort IP network environment, a video streaming service may have to operate under conditions that are less than ideal for playing back video at the encoded quality. Real-time video has a limited tolerance for random loss within the compressed digital video stream. Under network congestion conditions, IP packets belonging to a video stream may encounter unacceptable delays and losses. Another problem is the variation in the receiver's video playback capability. Not all receivers may have the resources necessary to play video at the encoded quality. A third problem is contention for CPU and I/O resources at the video server. This may cause variations in the transmission rate supportable by the server~\cite{b21}.


\subsection{Video coding and compression}
\label{subsec:videocoding}

Video coding applied to the differences of video frames in an attempt to eliminate temporal redundancy is called inter-frame coding. Temporal redundancy is the relationship between video frames. Video coding applied to individual frames in an attempt to eliminate spatial redundancy is called intra-frame coding. Spatial redundancy is the relationship each pixel has with the neighboring pixels.

Both inter-frame and intra-frame coding can be lossless or lossy. If the compression is lossless, the data will be decoded exactly as it was before it was encoded. Huffman coding is an example of lossless compression. In the case of image and video compression, it is almost always done with lossy algorithms. A file compressed with a lossy algorithm is not exactly the same as it was before compression, but it is close enough to still be useful. The advantage of lossless coding is that it preserves the integrity of the original input video stream. However, the amount of compression achieved from lossless coding is relatively small: on the order of a 3:1 compression ratio. Lossy video coding on the other hand distorts the original video stream by returning only an approximation of the original input. The compression achieved from lossy coding is much higher: on the order of 30:1.

There are several video compression standards, such as MPEG-1 (Motion Pictures Expert Group), MPEG-2, H.261, H.263, and MJPEG (Motion Joint Photographic Experts Group). Some video compression standards, such as MJPEG, use only intra-frame coding, so errors in one frame do not propagate to other frames and they cause only a little noticeable effect to a viewer. Other standards, such as MPEG and H.263 use inter-frame coding, which can improve the compression efficiency. However, if a packet loss occurs, the effect is much more noticeable, because it can persist for many frames~\cite{b48}.


\subsection{Error control}
\label{subsec:errorcontrol}

Elastic data communication is not especially delay-sensitive but is highly error sensitive. Error-free transmission is commonly implemented by adding error-detection information to transmitted streams and retransmitting any lost or corrupted data.

For real-time data, reliability is not as important as timely delivery. For example, in network congestion, some packets might get lost and the application would result in lower but acceptable quality. The delay requirements of continuous-media applications may not even permit retransmissions, especially for long-delay transcontinental or satellite links~\cite{b53}.

Usually the idea is that retransmissions should be used as long as it is possible to have the retransmitted data arrive at the receiver prior to its playback deadline. It must be noticed that there is a difference in the latency requirements for interactive real-time applications, such as conferencing, and non-interactive real-time applications, such as streaming. The former can not tolerate latency higher than 200 ms, while the latter can have a delay budget of a few seconds.

However, network errors require the use of concealment techniques to provide the video, as well as audio, quality necessary for the above applications to be widely accepted and used. Errors can be controlled by introducing reactive mechanisms, which either work to reduce the root cause of errors or compensating for them. For example, video conferencing and other interactive programming are highly influenced by absolute packet delay. Effects of excessive packet delay or packet delay variance can be compensated by dynamically increasing local buffer size, and adding display latency. Error concealment is probably best dealt with at the application level, since it seems to require a knowledge of packet content which is unavailable at the transport layer.

Error control can also be done using forward error correction (FEC). In an FEC system the receiving device has the capability to detect and correct any character or code block that contains less than a predetermined number of symbols in error. Using FEC for error control has been an acceptable solution except for the additional bandwidth requirements it may incur.

Priority Encoding Transmission (PET) is a scheme that can protect various segments of data, which have different levels of redundancies, according to their priorities. Priority Encoding Transmission applies FEC approach. It focuses on fault tolerant transmission of prioritized data over packet switched networks. The prioritized message encoded into packets in such way that any destination can recover the message in priority order based only on the number of packets received and processed~\cite{b20}.


\section{multimedia}
\label{sec:multimedia}

The term multimedia is often used to describe the combination of animated and still video images, graphics, sound and text, delivered increasingly by telecommunications and computer technologies. In order to succeed in delivering multimedia, the areas that are important to develop are~\cite{b51}
\begin{itemize}
\item Standardization of coding and operation
\item Automation or remote organization of local storage
\item Global navigation over a wide range of media where the content is cross-referenced
\end{itemize}

Although the MPEG video coding standards already exists, the complete standardization of all image-coding parameters is not available. Whilst the audience is becoming familiar with the growing range of delivery methods used for domestic entertainment, a significant problem still exists over interconnecting the growing range of hardware.

The diversity of devices will make it difficult and expensive to author multimedia content separately for each individual type of device. Therefore, technologies that can adapt multimedia content to diverse client devices will become critical in the computing era. Subsection~\ref{subsec:contentadaptation} gives on overview of content adaptation.


\subsection{Content adaptation}
\label{subsec:contentadaptation}

Content delivery over the Internet needs to address both the multimedia nature of the content and the capabilities of the diverse client platforms the content is being delivered to. Because of the variety of client devices, it is difficult for Internet content publishers to tailor content to the individual devices.

Many systems that adapt multimedia Web documents to optimally match the capabilities of the client device are presented. The premise of content adaptation is that successful delivery of a less resource intensive content under overload is more desirable to clients than connection rejection or failures.

Web content adaptation can be performed either at the server, at the client, at an intermediate proxy, or some combination of the three. If content adaptation is deployed at the server, the system can be used in the content publication process. The system can prematerialize the alternate versions of the Internet content and store them at the server. In this case, the system merely selects the versions of the content to deliver to the client. In some cases, the content adaptation system can be deployed at the client to customize the content display, such as according the user preferences, as long as the client has sufficient capabilities. Most content adaptation systems are http proxy-based. The proxy intercepts client device's requests for Web pages, fetches the requested content, adapts it, and sends the adapted version to the client. This content adaptation is often termed transcoding~\cite{b49}.

Report~\cite{b54} propose a system, that adapts multimedia Web content to match the resources and capabilities of diverse client devices. The system uses an InfoPyramid for representing and transcoding video, images, audio, and text. The InfoPyramid manipulates the content along the dimensions of fidelity and modality, and aggregates the methods for content analysis, translation, filtering, and selection. The InfoPyramid utilizes a policy engine to adapt the Internet content to the client devices.

Figure~\ref{fig:contentadaptation} illustrates the proposed Internet content transcoding system. The system retrieves and analyzes the Internet content and ingests it into the InfoPyramid format. A policy engine gathers the capabilities of the client, the network conditions and the transcoding preferences of the user and publisher. This information is used to define the transcoding options for the client. The system then selects the output versions of the content and uses a library of content analysis, filtering, translation, and manipulation routines to generate the content to be delivered to the client device~\cite{b54}.

\begin{figure}[htb]
\fbox{\hbox to 3cm {}}
\caption{The Internet content transcoding system adapts the content to the capabilities of the client devices}
\label{fig:contentadaptation}
\end{figure}

The resources must be allocated on the client among the items in the document. This resource allocation results in the selection of the appropriate resolution or modality of the content items. If the client has limited resources, some of the content items may not get any resources assigned and thus will not be delivered to the client. The resources and capabilities of a client can be divided up among several items. Examples of resources are~\cite{b49}:
\begin{itemize}
\item Bandwidth,
\item Bits as determined by the product of the bandwidth and the time a client is ready to wait to receive the complete document,
\item Bits determined by the client's storage capacity,
\item screen area, and
\item money the client is ready to pay for the document.
\end{itemize}

In the case of client devices with minimal capabilities, such as cell phones, special markup languages are being developed, such as Handheld Devices Markup Language (HDML). However, mechanisms still need to be developed to automatically convert Internet content into these formats. The XML markup language may improve the capabilities for adapting content since separate style sheets can be developed for client devices that determine how the content is displayed~\cite{b54}.


\section{Multicast}
\label{sec:multicast}

Traditional communication modes have been unicast (one-to-many) and broadcast (one-to-all). Among them is multicast, the targeting of a single data stream to a select set of receivers, which may or may not include the sender.

IP multicast is a methodology used to route a single IP packet to multiple destinations. IP multicast technology routes a single packet through the network, and right before the final destinations it creates a copy of the packet for each recipient. This technology makes more efficient use of network bandwidth. IP multicast is good for real-time applications, such as video or audio broadcasting, as well as transferring a single file to many locations at once. IP multicast may also be used to update many PCs simultaneously, reducing the total cost of maintaining a large number of PCs common in many businesses~\cite{b56}.

Multicast video distribution over the Internet requires support mechanisms for multicast data delivery, and the ability to accommodate the real-time requirements of digital video. Two general approaches, that can be used for the real-time requirements of multicast digital video are~\cite{b20}:
\begin{itemize}
\item Incorporating QoS support within the Internet to allow video distribution applications to be able to reserve resources and establish bounds on data delivery delay, delay jitter, and data loss.
\item Using adaptive rate control techniques to adjust the video traffic characteristics according to the available Internet resources.
\end{itemize}

IP networks require additional multicast protocols for interchanging multicast routing information and also applications need to have a way to join a multicast group. The Internet supports group addressing of multicast packets. Packets are delivered to receivers that have declared their membership in the group over a tree that spans all such receivers. When a new receiver joins the multicast group, a path reaching this new receiver is grafted onto the tree if necessary. When a receiver leaves the group, any paths within the tree that are no longer needed are pruned. There are different proposed multicast routing protocols that can be used to construct the multicast tree. However, the exact architecture of large-scale deployment of multicast support is still evolving~\cite{b20}.


\subsection{Multicast routing protocols}
\label{subsec:Multicastroutingprotocols}

Multicast-aware routers periodically multicast, on a well-known address, membership queries on their LANs and gather replies from interested hosts in order to discover which groups have membership present in their area. Routing is performed by routers that learn the shortest paths to each group member using Distance Vector Multicast Routing Protocol (DVMRP). There is also an alternative routing protocols, such as Multicast Open Shortest Path First (MOSPF), Core Based Trees (CBT), and Protocol Independent Trees (PIM)~\cite{b53}.

Current multicast routing protocols suffer from scalability problems. Technically PIM has advantages over the other protocols, but it is still complex and difficult to deploy on a large scale. One way to achieve scalability and interoperability among different routing protocols is to use hierarchical routing, where a second-level protocol routes data among disjoint network areas. Each such areas chooses its own first-level protocol, which routes data based only on local topological information~\cite{b53}.


\subsection{Current problems}
\label{subsec:currentproblems}

Different receivers of the same multicast video may have different processing capabilities and may have different bandwidth available in the paths leading to them. This makes the issue of adapting the video transmission to accommodate the heterogeneous collection of receivers problematic~\cite{b20}.

Resource reservation and quality of service guarantees must be widely deployed. Also application adaptation is required to allow for tolerance reservation inaccuracy because of the difficulties in making accurate traffic specification~\cite{b20}.

Internet services that provide QoS (e.g. TV and radio over IP) cannot cover costs using pricing models available today. Full deployment of multicast services with built-in cost sharing functionality could be the final reason to converge broadcast media into the Internet and make them globally available~\cite{b47}.


\section{Databases}
\label{sec:databases}

Multimedia information has to be managed differently depending on the type of data. Database management systems (DBMS) are important tools for handling data, especially in multi-user environments. As multimedia data become common data types in information systems, DBMS are required to provide relevant support of these new data types. Standards are being developed for representing multimedia databases (MPEG-7) and integrating diverse applications within distributed heterogeneous environments (CORBA)~\cite{b50}.

Report~\cite{b55} present the design of a distributed multimedia information management and retrieval system which supports global integration of visual databases. Figure~\ref{fig:netview} shows the architecture of the system called NetView, which supports global visual query access to visual databases over the Internet. The system include three main components: (1) multimedia database systems at remote sites, (2) a metaserver consisting of a metasearch agent, a metadatabase, and a query manager, and (3) a set of visual display applications at the client machines. The metadatabase organizes the metadata of the data housed at each remote database and query capabilities. The query manager extracts the feature contents from the queries. The metasearch agent controls the distribution of user queries to relevant database sites through the site server~\cite{b55}.

Using the Internet as a medium to access multimedia sites involves accepting a user query in an acceptable form, selecting the appropriate sites, processing the query at the sites and presenting the results back to the user.

\begin{figure}[htb]
\fbox{\hbox to 3cm {}}
\caption{NetView: global integration of a distributed multimedia data management and retrieval system~\cite{b55}}
\label{fig:netview}
\end{figure}

Several techniques have also been developed for the use of hierarchical data encoding in digital libraries. For example, if a user wishes to view an archived manuscript on-line when the network is congested, the system automatically compensates for the low transfer rate by fetching a lower-resolution version of the image data. Users who wish to wait can still run the system in a fixed-resolution mode. However, quick access to lower resolution contents is often desirable when browsing a document. Dynamic hierarchical data transfer requires new encoding and storage formats and also adaptable communication protocols.

Current search engines are limited to textual keywords. There is the desire for Internet multimedia search engines capable of searching and locating the relevant sources containing the desired media types given a description of the specific content. This will be beyond the bounds of text currently used to formulate queries. Such capabilities could be achieved with pre-defined, hierarchical categories and natural language use~\cite{b50}.


\subsection{Content representation}
\label{subsec:contentrepresentation}

The various approaches used to represent the content of multimedia data can be classified into three categories~\cite{b50}:

\begin{itemize}
\item \textbf{Keyword based} The multimedia content is described by the user through annotations, such as free text or keywords extracted from a controlled vocabulary.

\item \textbf{Feature based} A set of features is computed from the files representing the multimedia data and is used for retrieval. Typical features include either values that represent general information (e.g. colour, texture, shape motion, speed, position etc.) or are specific for a particular application (e.g. fingerprint recognition, medical images). Many multimedia databases allow a user to query a database by specifying keywords and/or image characteristics. Features in colour are mostly generated using colour histograms, colour sets, or coherence colour vector. Features in textures can be generated using difference methods, such as wavelet-based feature extraction methods, Fourier Transforms or fractals.

\item \textbf{Concept based} This is the situation in which application domain knowledge is utilized to interpret the content of the data. The result of this interpretation is the recognition of concepts, which are subsequently, utilized in the retrieval of the data itself. This is usually an application domain specific process and occasionally requires the intervention of the user.
\end{itemize}


\section{Models describing content for management purposes}
\label{sec:models}

This section studies Common information model (CIM) and Directory Enabled Networks (DEN). CIM is used to model management information from desktop and server systems. It also used to describe management information between different management applications, such as HP Open View, Microsoft SMS, and Tivoli Management Software, in order to provide common understanding of management information. The purpose of DEN specification is to provide a schema and informational model for representing network elements and services in a directory. The primary purpose of DEN is to separate the specification and representation of network elements, and services from implementation details.

Also markup languages, such as SGML, HTML, and XML, are studied.


\subsection{Common information model, CIM}
\label{subsec:cim}

Distributed Management Task Force Inc. (DMTF) has developed the Common Information Model (CIM). CIM is an object-oriented conceptual model. It provides a framework, including representation of products, systems, applications, and components that can be managed. It unifies the information coming from many numbers of sources. CIM is not bounded to any particular implementation. It can be implemented as a relational database, as an object database, or as an object/relational database. This allows for the interchange of management information between management systems and applications.

CIM has two parts: the CIM specification and the CIM schema. \textbf{The CIM specification} describes the language, naming, Meta schema, and mapping techniques to other management models, such as SNMP MIBs and DMTF MIFs etc. The Meta schema is a formal definition of the model. It defines the terms used to express the model and their usage and semantics. The elements of the Meta schema are Schemas, Classes, Properties, and Methods.

\textbf{The CIM schema} provides the actual model descriptions. The CIM schema supplies a set of classes with properties and associations that provide an well-understood conceptual framework within which it is possible to organize the available information about the managed environment~\cite{b25}.

CIM schema is structured into three distinct layers:
\begin{itemize}
\item \textbf{Core Model} is an information model that captures notions that are applicable to all domains of management,
\item \textbf{Common Model} are information models that capture notions common to particular management domains but independent of a particular technology or implementation. The common domains include Systems, Applications, Devices, Users and Networks. The information models are specific enough to provide a basis for the development of management applications. These models provide a set of base classes for extension into technology-specific areas,
\item \textbf{Extension Model} represent technology-specific extensions of the Common Models. These models are specific to environments, such as operating systems (for example, UNIX or Microsoft Windows).
\end{itemize}

\textbf{The Core Model} establishes a basic classification of the elements and associations of the managed environment. The significant classes are the Managed System Element class, its subclasses and related classes, such as Product. Managed System Elements represent Systems, components of Systems, software and networks. The Managed System Element class is the base class for the System element hierarchy. Any distinguishable component of a System is a candidate for inclusion in this class, if its manageability is required. 

Objects in the Core Model are defined and associated in figure~\ref{fig:coremodel}. All classes in the Core Model are not included in this figure (for example, Computer System).

\begin{figure}[htb]
\fbox{\hbox to 3cm{}}
\caption{Core Model}
\label{fig:coremodel}
\end{figure}


\begin{itemize}
\item Managed System Elements represent elements of Systems that are important to management. Logical and Physical Elements are subclasses of Managed System Element. The Core and Common Models provide further definition and specification of these subclasses. For example, System and Logical Device objects are subclasses of Logical Element, defined in the Core Model.

\item Services are the management aspects of the many kinds of functionality that are hosted on Systems, where the functionality is implemented (or provided) by elements of these Systems. Service Access Points are the configuration or management features of the access mechanisms for Services. The latter are not just the use of a Service, but the management of the access mechanisms themselves.

\item Products represent contracts between vendors and consumers, and capture information about how the Product was acquired, how it is supported, and where it is installed. 

\item Component associations establish 'part of' relationships between Managed System Elements.

\item Dependency associations describe functional dependencies (one object cannot function without the other) or existence dependencies (the object cannot exist without the other).
\end{itemize}

The ability to exchange information between management applications is fundamental to CIM. This information can be stored in a common format in the management console for retrieval via a Web browser. The management information is described in a language based on Interface Definition Language (IDL) called the Managed Object Format (MOF). MOF is the current mechanism for exchanging management information. A CIM-capable system must be able to import and export properly formed MOF constructs. How the import and export operations are performed is implementation-defined for the CIM-capable system~\cite{b25}.

There are not any CIM based implementations available. At the present time, no programming interfaces or protocols are defined by the CIM document, and hence it does not provide an exchange mechanism. CIM does not define a common set of APIs (application program interface) that software developers can use to make Web management applications work together. Nor does it specify how the database of gathered information should be structured. CIM makes also no mention of the communications protocol that should be used for moving all that information around. So it is difficult for vendors to develop software that can integrate data gathered by third-party applications~\cite{b59}.

Version 1.0 of the DMTF's CIM XML encoding specification was announced in 1998. XML is a markup language used for representing structured data in textual form. Allowing CIM information to be represented in the form of XML, brings the benefits of XML and its related technologies to management information modeled using the CIM Meta model~\cite{b58}.


\subsection{Directory enabled networks, DEN}
\label{subsec:den}

A directory enabled network is a network where user profiles, applications and network services are integrated through a common information model that stores network state and exposes network information. This information enables bandwidth utilization to be optimized, it enables policy-based management, and it provides a single point of administration of all network resources.

The philosophy of network management is shown in figure~\ref{fig:directory}. Network management protocols (SNMP, CMIP, HMMP) are used to talk to the network elements. The network schema extensions for the directory service are used to talk about network elements.

\begin{figure}[htb]
\fbox{\hbox to 3cm {}}
\caption{Directory service and network management~\cite{b11}}
\label{fig:directory}
\end{figure}

The integration of the network infrastructure with the directory service allows the applications and users to discover the existence of devices and relationships by querying the directory service. This is more scalable and manageable than contacting the individual devices and aggregating the results. Exposing network elements in the directory enhances their manageability and usability while reducing the load on the network. The end user and administrator experience in enhanced because there is a single authoritative place to obtain the information of interest. One example of how the networkwide data might be used is to set up and tear down a certain level of QoS at a given time for a specified user across many network resources.

\textbf{DEN specification} defines schema and an information model for representing network element and service information and relationships gathered from the network using existing protocols and other sources of network information. DEN uses Lightweight Directory Access Protocol (LDAP) to access, manage, and manipulate directory information. The DEN information model is an abstraction of knowledge. It structures the knowledge about users, applications, networks, and how they interact into multiple knowledge domains to enable different people to use it. The structure is object-oriented modeling. The information model consists of both a data model and a relationship model. The schema represents the data model. The relationship model describes how different objects in the schema are related to one another.

\textbf{The DEN base schema} defines the set of objects that can be created in the directory and the set of attributes that can be used to describe those objects. In addition, the DEN schema addresses network services and policies that control the provisioning of network elements.

Figure~\ref{fig:den} shows the functional structure of \textbf{DEN base classes}, with key classes defined by CIM, X.500, and DEN listed separately.

The information model and base schema of DEN are derived from CIM and X.500. X.500 is a series of standards developed by the ISO/ITU-T that specify how information can be stored and accessed in a global directory service. DEN does not try to replace any existing schemas, such as CIM and SNMP, but rather extends them.

\begin{figure}[htb]
\fbox{\hbox to 3 cm{}}
\caption{Functional structure of the DEN base classes~\cite{b11}}
\label{fig:den}
\end{figure}

\textbf{Base Classes derived from X.500}

\textbf{Top:} The root of the directory tree.
\textbf{Person:} Generic concept of a person. Includes Person, OrganizationalPerson, and ResidentialPerson classes.
\textbf{Group:} Defines two classes, Group of Names and Group of Unique Names that represent an unordered set of names which in turn represent individual objects or other groups of names.
\textbf{Organization:} Represents business, subdivision of business, and positions within an organization. Includes Organization, OrganizationalUnit, and OrganizationRole classes.
\textbf{Application:} Defines ApplicationProcess and ApplicationEntity classes. DEN adds information to these classes so that they can be associated with network elements and services.
\textbf{Alias, DSA:} Defines other important entities, such as Alias and Directory Server Agent (DSA), for proper directory operation.

\textbf{Base Classes derived from CIM}

\textbf{Product, FRU, etc.:} A collection of classes that represent a product and replaceable parts of a product.
\textbf{ManagedSystemElement:} Base class for any system or system component that should be managed.
\textbf{Configuration:} Defines Configuration and Setting classes. The Configuration class defines a group of Settings that collectively represent a certain behavior or desired functional state of a ManagedSystemElement.
\textbf{Service:} Definition, management and delivery of network services. Defines Service and ServiceAccessPoint (SAP) that are critical to defining Network Services.
\textbf{Software:} Defines the general notion of software using SoftwareFeature and SoftwareElement classes.
\textbf{System:} Defines a rich System hierarchy.
\textbf{Location:} Defines a Location class that specifies the address and location of a physical element.
\textbf{Check} and \textbf{Action:} Defines Check and Action classes that are used for SoftwareElements.
\textbf{Application:} Defines the notion of an application. It adds the concept that an application is used to support a particular business function. As such, it can be managed as an independent unit.

textbf{New DEN Classes}

\textbf{NetworkService:} The root of the network service hierarchy.
\textbf{NetworkProtocol:} Root of all network protocol classes.
\textbf{Enhancements to PhysicalPackage and Card:} Defines the generic concept of a device. It does not give a concrete definition for what a device is, and certainly does not define anything concerning network elements.
\textbf{NetworkElement:} Defines the generic concept of a device, but does not define the logical functionality of a device.

\textbf{New concepts defined by DEN}

\textbf{Policy:} Provides a generic and network-specific definition of Policy. Rule instructing a network node on how to manage requests for network resources.
\textbf{Profile:} Template of attributes and behaviors that describe an object or a set of objects.
\textbf{NetworkMedia:} Helps associate the particular media of a given interface with services that are running on it.

DEN presents three class hierarchies: The Managed-System Element class hierarchy, the Policy class hierarchy, and the Service class hierarchy. The diagram below shows the Service Class hierarchy. It defines objects that enable developers to represent services of different types that are available on the network. Among these services are authentication services via Remote Authentication Dial-In User Service (RADIUS) protocol, IP management services and Quality of Service (QoS) services.

\begin{figure}[htb]
\fbox{\hbox to 3cm{}}
\caption{DEN Service Class hierarchy~\cite{b11}}
\label{fig:denservice}
\end{figure}

DEN enables also policies to control how different services available on the network will be accessed, and users will access them. Policies define desired behavior between two or more objects. They define what resources a given resource consumer can use in the context of a given application or service. Technically, a policy is a rule that instructs a network node on how to manage requests for network resources.


\subsection{HTML, XML, SGML}
\label{subsec:html}

