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

IP traffic on the Internet and private enterprise networks has been growing exponentially for some time. Today the convergence of computing, telecommunication and digital media is enabled by the technology, but it is actually driven by the content. For example, in the case of electronic publishing lack of established advertising/billing models and insufficient results have hindered online advertising~\cite{b66}.

Markus Kajanto states in his doctoral dissertation the notion of virtualization of content. The initial content is called by Kajanto primary content, which is divided into two parts: virtual part and physical part. The virtual part of the content is distributable through the information network, but the physical part is distributed outside the information network. What the primary content is, depends on the industry and application in question. From the Internet service provider's point of view it is essential that more and more products are in their basic nature already virtual or can be virtualized by exploiting information technology information networks. Same applies also to many business processes, such as commerce, marketing, and customer service~\cite{b66}.

This chapter describes content management in the Internet. Section~\ref{sec:demands} gives an overview why content should be managed. Section~\ref{sec:switching} studies new technologies that are developed to improve Internet routing technology, such as IP switching, and Tag switching. Section~\ref{sec:modeling} gives an overview of management information modeling technologies, such as markup languages, CIM, and DEN.


\section{Demands of content management}
\label{sec:demands}

In this project we mean content management as determining what kind of data is transmitted in the network, and managing that data according to its needs. The purpose of the content management is to control the flow of content during the creation and delivery of any service.

The needs for content management are, for example:
\begin{itemize}
\item Different customer needs
Different customer needs must be provided by traffic prioritization and traffic guarantees. For example, policy-based networking enables the allocation of network resources to applications, users, and groups based on a set of defined rules. This approach provides the control over traffic prioritization based on the business importance of applications.

\item Billing
Internet services that provide QoS (e.g. TV and radio over IP) cannot cover costs using billing models available today~\cite{b47}. In the Internet environment the billing has been based on flat rates and monthly billing and only seldom on the traffic itself. Full deployment of services with built-in cost sharing functionality could be the final reason to converge for example, broadcast media into the Internet and make them globally available.

\item Security, proprietary rights and licenses
Security and copyright issues must be guaranteed at the satisfactory level. For example, electronic commerce and communications applications require the security features the most. There is also a demand of content protection, to provide content owner a mechanism that can robustly protect copyright and identify rightful ownership in the court of law and to prevent illegal distribution and easy tracking of fraud. Techniques used to content protection are for example, cryptography, authentication, watermarking, and access control in different services. Users should also be able to check the originality of the content of a digital product. Content verification can be performed by attaching digital signatures to transmitted data~\cite{b65}.

In the broader sense content could mean also communications content, such as desktop videoconference, e-mail, discussion forums etc. The difference between the copyright content and the communications content is that communications content is produced and consumed at the same time, and it is not stored for the further commercial use~\cite{b66}.

\item Location and delivery
Today the information contained on the Internet is unstructured, unsorted, and difficult to find. For example, 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}.

The content must be managed throughout its entire lifetime, from initial conception and creation, to integration in an application, and delivery to the user, as well as eventual archival or destruction. Information service providers have also multiple distribution options using a wide variety of client and network technologies. The key to commercial success is managing information in such a way that it can be easily located and distributed in a format that matches the requirements of the requesting client~\cite{b63}. The issues of secure access, and secure content and payment transaction are also essential to the distribution of content.
\end{itemize}


\section{Switching technologies}
\label{sec:switching}

The increase in real-time and multimedia applications have created a need to improve Internet routing technology in terms of bandwidth, performance, scalability, and delivery of new functionalities. Technologies used to develop new systems are combinations of switching and routing technologies. Routing provides robustness (scalability and flexibility) and switching provides performance (high throughput). Noticeable technologies are Ipsilon's IP Switching, Cisco's Tag Switching, IBM's ARIS (Aggregate Route-based IP Switching), Toshiba's CSR (Cell Switching Router), and MPLS (Multiprotocol Label Switching).

This section gives a brief summary of flow differentiation, IP switching, and Tag switching. MPLS is studied in subsection~\ref{subsec:mpls}.


\subsection{Flow differentiation}

A flow is defined as a sequence of packets sent from a particular host to a particular destination. These packets are related in terms of their routing and any local handling policy they may require.

Traffic differentiation is typically based on information in the packet headers of different layers in the IP protocol stack, e.g. protocol type, source/destination port, source/destination address or explicit flow tags. Two packets belong to the same flow if the values of header fields are identical. The higher up the information origins, the higher the semantic content, and thus the more precise differentiation. For example, using the content-type field of HTTP 1.1, packets can be easily identified as being part of a data, voice or video stream. On the downside, header parsing leads to performance drawbacks noticeable as increased induced traffic latency, which is only acceptable up to a certain degree for applications with real-time requirements~\cite{b60}.


\subsection{IP Switching}

IP switching is basically an IP over ATM technology. The IP switches use the hardware of ATM switches for the copying mechanism and the IP software for the routing. The IP switches allow packet flows to be switched and bypass the router, when the routing information has been cached in the switch. IP switching is made up of two protocols GSMP (General Switch Management Protocol) and IFMP (Ipsilon Flow Management Protocol). GSMP is defined in~\cite{rfc2297} and IFMP in~\cite{rfc1953}.

When a packet is assembled and submitted to controller in an IP switch it classifies a flow. Ipsilon has defined currently two types of flows. \textbf{A host pair flow type} is defined for traffic between same source and destination IP address. There is a local policy in each IP switch from which it makes its own QoS decisions. QoS information can be included in the flow classification decision based upon the application, the type of service field in the IP header, the protocol etc. The Resource Reservation Protocol (RSVP) can give each individual QoS requests for each flow, since the IP switch supports RSVP. \textbf{A port pair flow type} is defined for traffic between same source and destination port between same source and destination IP address. It allows differentiating QoS along the flows between the same pair of hosts. Simple flow-based firewall security features can also be supported.

Depending on the classification, the switch decides to forward or switch the next packets of that flow. Usually the controller would decide to forward short term flows like database queries, DNS messages and switch long term flows like ftp or telnet data. Flow classification takes care of classifying only long duration traffic because IP switching performs its best for such traffic. Other traffic is forwarded packet by packet~\cite{b61}.


\subsection{Tag Switching}

Tag switching technology forwards packets based on tags. The tag is a short, fixed length identifier that is assigned to packets belonging to a certain stream. Each packet gets a tag with an index pointer, which has information about the best route for the data stream. The pointer is used with the routing table to find the exact route. The packets will be forwarded by the switch to the next switch where the same procedure will be repeated. The tag switch forwards the packet based on the tag and does not look at the network layer header.

A Tag switching network consists of tag edge routers, tag switches, and tag distribution protocol. Tag edge routers are located at the edge of the network. Tag switches switch tagged packets based on the tags. Tag distribution protocol or extensions to existing routing protocols operate so that the tag information may be distributed in the network.

Tag switching is positioned to support multiple protocols, and to facilitate explicit routing and service differentiation. A tag could be bound to an individual application flow, a single route, group of routes or multicast tree~\cite{rfc2105}.


\section{Management information modeling technologies}
\label{sec:modeling}

This section gives a brief summary of markup languages and object-oriented models (CIM and DEN) that are developed to model management information.


\subsection{Markup languages}

Markup languages (such as SGML - Standardized Generalized Markup Language, HTML - HyperText Markup Language, and XML - eXtensible Markup Language) are designed to add structure and convey information about documents and data. In markup languages, the main mechanism for supplying structural and semantic information is by adding to the document elements comprising a start tag, optionally some content, and an end tag.

SGML does not enforce any particular set of element types. SGML provides a means by which new element types can be defined. Because of this, SGML is thought of as a language for defining markup languages. XML is similar in concept to HTML. Whereas HTML is used to convey graphical information about a document, XML is used to represent structured data in a document. HTML is an SGML application targeted at display markup for documents, XML is a subset of SGML targeted at data representation. It is possible therefore to imagine the Web as consisting of HTML for display purposes, and XML for data representation and description purposes~\cite{b62}.


\subsection{Object-oriented models}

Distributed Management Task Force Inc (DMTF) has developed the \textbf{Common Information Model (CIM)}. CIM is used to model management information from desktop and server systems. It is 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.

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.

At the present time, there are not any CIM based implementations available. 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. 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}.

The \textbf{Directory Enabled Network (DEN)} specification provides 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.

In a directory enabled network 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, RMON) 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]
\begin{center}
\epsfxsize.8\textwidth
\epsfbox{kuvat/directory}
\caption{Directory service and network management~\cite{b11}}
\label{fig:directory}
\end{center}
\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.



