Internet DRAFT - draft-bupt-qosjava-arch
draft-bupt-qosjava-arch
Internet Draft xiaohui Huang
Expires: 18 March 2006 Yu Lin
Wendong Wang
Xirong Que
Shiduan Cheng
Li Jiao
Yidong Cui
bupt,china
18 October 2005
QoSjava: An Open and Scalable Architecture
Decoupling QoS Requirements from QoS Techniques
<draft-bupt-qosjava-arch-03.txt>
Status of This Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Abstract
QoSJava, an architecture decoupling QoS reuirements from QoS
techniques is proposed in this draft. Referring to the idea of
Java, QoSJava can conceal the heterogeneity of different QoS
mechanisms as well as different vendors' devices. Users'
requirements are translated into a "middle language", i.e.
deployment task specification. And QoS mechanisms adapter plus
Device Driver constitute the "Virtual Machine" of QoSJava. Thus
network devices can be configured and QoS requirements can be
fulfilled automatically. Moreover, QoSJava is not only compatible
with current QoS mechanisms and devices, but open to new QoS
solutions and advanced facilities in the future.
Expires: March 18, 2006 bupt [Page 1]
Internet Draft October 18, 2005
TABLE OF CONTENTS
1. Introduction...................................................3
2. Motivation.....................................................4
2.1 Java.......................................................5
2.2 Motivation of QoSJava......................................5
2.3 Analogy between Java and QoSJava...........................6
3. QoSJava Architecture...........................................8
3.1 Architecture Overview......................................10
3.2 User Part..................................................10
3.2.1 User Interface ......................................10
3.2.2 User Requirement Translator..........................11
3.2.3 Resource Manager.....................................11
3.2.4 QoS Mechanisms Adapter...............................17
3.2.5 Device Driver........................................18
3.3 Administration Part........................................19
3.3.1 Administrator Interface..............................19
3.3.2 Measurement Data Analyzer............................20
3.3.3 Topology Management..................................20
4. Deployment of QoSJava..........................................20
5. Other Issues...................................................21
6. References.....................................................21
7. Acknowledgements...............................................22
8. Author's Address...............................................22
9. Full Copyright Statement.......................................23
10. Intellectual Property.........................................24
Expires: March 18, 2006 bupt [Page 2]
Internet Draft October 18, 2005
1. Introduction
Providing QoS in IP network is a hotspot in recent years. The goal
is driven by users' requirements to obtain a variety of services
from the network, such as Internet games, VOD, VoIP, video
conference, etc. Moreover, users desire that the network can satisfy
the quality of their services. When playing games, they hope not to
be dropped off the line. When watching movie, they expect a similar
effect to DVD. They hope that IP phone could sound as good as
telephone, attendee can be seen and heard in video conferencing, and
so on. In conclusion, users desire various services, but different
services have different requirements for the network.
IP QoS is also a concern of Service Provider (SP). SP wish to
provide value-added services in the network, such as network games,
VOD and those mentioned before, to attract more users to use the
network and to make more profits. It is necessary to provide QoS for
value-added services and to monitor users' traffic, or users may be
reluctant to pay. There are some preliminary price schemes in current
Internet, such as time-based and volume-based charging schemes. They
are too tousy when providing value-added services in Internet. Users
are unwilling to pay unless they do obtain a satisfying service. For
example, a SP provides VOD in the network. Users can select their
favorite movies and watch them online. In the IP network without any
QoS, the quality of the video will be unbearable when congestion
happens. It would be unreasonable of time-based charging scheme, for
users cannot even make out the figure in the screen. Volume-based
charging scheme is also ridiculous. Because in congestion, loss
packets will induce retransmission, users will generate more traffic
than usual cases. They would be raging to pay more whereas obtain no
service. Therefore, value-added service cannot survive without QoS.
IETF has proposed a series of RFC focused on IP QoS issue, including
IntServ[1], DiffServ[2] and MPLS[3]. IntServ[1] uses RSVP[4] as
signaling to reserve resource in the whole path before connection
setup. The connection can be admitted only if all the nodes and links
have sufficient resource. Because the core routers must save the soft
states of every micro-flow, IntServ has poor scalability. DiffServ[2]
architecture is proposed in RFC2475 to solve the problem. It
simplifies the core network by pushing the complication to the edge.
In DiffServ, the edge routers classify and mark the packets
according to QoS requirements of the traffic. The packets which have
similar QoS requirements are classified into the same aggregate and
are identified by DSCP field in IP header. MPLS[3] integrates Layer
2 information about network links (bandwidth, latency, utilization)
Expires: March 18, 2006 bupt [Page 3]
Internet Draft October 18, 2005
into IP Layer within a particular autonomous system in order to
simplify and improve IP-packet exchange. When packets enter a
MPLS-based network, Label Edge Routers (LERs) stick a label to them,
which contains information about their QoS requirements. Once this
classification is completed and mapped, different packets are
assigned to corresponding Labeled Switch Paths (LSPs), where Label
Switch Routers (LSRs) place outgoing labels on the packets.
However, these QoS mechanisms function independently. In other words,
they won't take effect unless the same QoS mechanism is adopted in
the whole network. Unfortunately, different Network Providers (NP)
will use different QoS mechanisms according to their network devices
and budgets. Coordination of various QoS mechanisms should be
considered for the purpose of end to end QoS provisioning. IETF has
done some work on it. RFC2998 [5] proposed a framework combining
IntServ and DiffServ, which uses IntServ at network edge for
micro-flow admission control and DiffServ in the core network for
aggregate flow forwarding. Besides that, there are other solutions
for end to end QoS provisioning, such as Bandwidth Broker[6]
proposed by Internet 2, CANDENUS[7], TEQUILA [8] and AQUILA [9]
projects of Europe Commission, MONET's QoS Middleware[10], and so on.
However, none of these research works have been put into use or
deployed in large scale. There may be several reasons: The solutions
are too complicated and have high operational cost. They cannot
preserve current investments. They are not compatible with other QoS
mechanisms. They depend too much on a certain type of network device.
A feasible end to end QoS solution, QoSJava, is proposed in this
draft. The draft is a complement and extension of IETF's work on IP
QoS. The goal of QoSJava is to conceal the heterogeneity of
different QoS mechanisms and network devices of different vendors.
QoSJava provides a unified resource view for the upper layer,
implements automatic management of different kinds of network
devices, and can adapt to new QoS mechanisms and new network devices.
The rest of the draft is organized as follows: the motivation of
QoSJava is discussed in section 2. In section 3, the detail
framework and components of QoSJava are described. We give the
deployment of QoSJava in section 4. Other issues such as security
and performance are considered in section 5.
2. Motivation
The idea of QoSJava is borrowed from Java language. For users to
catch the essence of QoSJava, let's look back at the history of this
amazing language before we discuss the motivation.
Expires: March 18, 2006 bupt [Page 4]
Internet Draft October 18, 2005
2.1 Java
The original intention of Java is to build a system which can run on
a large, distributed and heterogeneous network to enable the
communication and coordination of electronic devices. After compiled,
Java language generates a virtual machine which executes on an
interpreter. There is an interpreter corresponding to a specific
operating system. Thus Java is a platform independent language. When
WWW developed swiftly in 1994, Java set foot in Internet. HotJava, a
browser independent of hardware and software platforms was designed.
Java applet and some other products came into being in succession.
The distribution of Java in Internet shocks the world.
This new simple object-oriented language enables software developer
to design applications which can be distributed in Internet by using
World Wide Web or any front-end software developed by ISV
(Independent Software Vendor). Moreover, due to Java is a virtual
machine, the Java-based software can run everywhere, no matter what
hardware and operating system are. Java applications can be executed
without modification or recompiled on any platforms, including
intelligent cell phones, Lap tops, Windows3.1, Win95, NT,OS/2 or Unix
stations and servers, it can even run on AS/400 or IBMS/390 of MVS.
2.2 Motivation of QoSJava
Providing end to end QoS face a similar problem as Java when
initially designed. Current network contains multiple users,
multiple SPs, multiple NPs and multiple device vendors. Each
character has its own requirements. Both users and SPs wish that QoS
can be provided in such an environment. But what's the situation of
the grounding network? Unfortunately, the network infrastructures
belong to different NPs. They purchased network devices from
different vendors according to their budgets. These devices use
different command sets. Besides that, different domains of the
network adopt different QoS mechanisms based on the capability of
devices in it. Core routers or high series of routers can support
MPLS, but some low series routers can just support DiffServ or
IntServ. Thus NPs adopt different mechanisms to guarantee QoS.
Someone may argue that unify the whole network would settle the
problem totally. But practically, there is competition between
different device vendors. They develop in different ways and have
different technical strategies. Most importantly, upgrading the
whole network is as difficult as replacing TCP/IP protocol, or may
cost even more. It would be impossible to upgrade all devices every
time a more advance network device is distributed. The whole network
use a single QoS mechanism is also infeasible. Current QoS solutions
are not perfect, and when a new solution appears, all devices need
to be reconfigured, which require high operational cost.
Expires: March 18, 2006 bupt [Page 5]
Internet Draft October 18, 2005
In addition, QoS provisioning would inevitably interfere with the
configuration of network devices. In current environment, network
administrators are responsible for configuring and setting network
devices. For example, change the routing table to steer packets to
free resource when congestion, establish LSP in MPLS domain for a
certain traffic aggregate, and etc., in such circumstances, network
administrator has to login on several routers and change their
configuration separately. In an operating network providing
value-add services, manual configuration and setting of network
devices cannot meet the real-time and accuracy requirements.
Automation is needed.
As aforementioned, current network is a diverse environment. The
difficulty of end to end QoS provisioning lies in the fact that the
end to end path traverses multiple QoS mechanisms and distinct
devices. In order to propose a practical solution, heterogeneity of
QoS mechanisms and devices should be hided, and expansibility with
technical progress is needed. In addition, Automatic modification
and configuration platform for different devices should be provided
for network administrator, hence they don't have to reconfigure all
the network devices one by one in the case of failure or technology
transition. It is most significant to ensure that the QoS solution
is as simple as possible and the operational cost is as low as
possible. QoSJava is proposed in this draft to settle all these
problems and fulfill the end to end QoS provisioning requirements.
2.3 Analogy between Java and QoSJava
QoSJava is analogous to Java, it first translates user's QoS
requirement to a "middle language", i.e. deployment task
specification. Then the QoS Mechanisms Adapter will translate the
deployment task specification into a script written by a series of
QoS configuration instructions. Then the script is fed into the
Device Drive, which interprets each instruction in the script into
several commands corresponding to the network device. The commands
will finally execute on the devices and the configuration is
actually completed. QoS Mechanisms Adapter plus Device Driver
accomplish the similar function of Java Virtual Machine. Java adapts
to different hardware and software platform, while QoSJava adapts to
various QoS mechanisms and devices. Thus QoSJava can migrate to the
network with any QoS mechanisms and devices of different vendors,
and as a result end to end QoS is provided.
The similarity between Java and QoSJava is illustrated in Figure 1
and listed in Table 1.
Expires: March 18, 2006 bupt [Page 6]
Internet Draft October 18, 2005
Java QoSJava
|
+-----------------------------+ | +-----------------------------+
| Description of Programmer's | | | Description of User's |
| requirements | | | QoS Requirements |
+-----------------------------+ | +-----------------------------+
| | |
---------------+------------------|-------------------+-----------------
^ | | | ^
| v | v |
| +-----------------------+ | +-----------------------+ |
| | Java Language of | | | Java Language of | |
| | Programming | | | Programming | |
| +-----------------------+ | +-----------------------+ |
v | | | v
---------------+------------------|-------------------+-----------------
^ | | | ^
| v | v |
| +-----------------------+ | +-----------------------+ |
| | Java Virtual | | | QoSJava | |
| | Machine | | | Middle-ware | |
| +-----------------------+ | +-----------------------+ |
v | | | v
---------------+------------------|-------------------+-----------------
| | |
|-------+-------+------| | |-------+-------+------|
| | | | | | | | |
v v v v | v v v v
+------+-------+------+------+ | +------+-------+------+------+
|Linux |Windows|Unix |OS/2 | | |Linux |Windows|Unix |OS/2 |
| | | | | | | | | | |
+------+-------+------+------+ | +------+-------+------+------+
Figure 1: Similarity between Java and QoSJava
QoSJava can conceal the heterogeneity of different QoS mechanisms
and devices. Network devices from different vendors such as Cisco,
Juniper and HUAWEI can be managed automatically. Moreover, QoSJava
is compatible with new solutions and advance facilities. QoS is
provided by software implementation thus current network needs
little modification. Therefore the network can evolve smoothly and
legacy investments are preserved. QoSJava is an open and stable QoS
management architecture. It is independent of the development of
network technology, QoS mechanisms and application implementation.
Consequently, it can adapt to service requirements in the future.
Expires: March 18, 2006 bupt [Page 7]
Internet Draft October 18, 2005
+-----------+--------------------------+---------------------------+
| | Java | QoS |
+-----------+--------------------------+---------------------------+
| | Platform-independent |Providing an open, scalable|
| | application development | and feasible end to end |
| Challenge | in multi-vendor and |QoS provisioning solution |
| | multi-operating system |in heterogeneous network |
| | environment |environment including |
| | |multiple user requirements,|
| | | multiple vendor router |
| | |platforms and multiple QoS |
| | |mechanisms |
+-----------+--------------------------+---------------------------+
| User |User requirement is |User requirement is |
|Requirement|described in Java |described in SLA or |
|Description|language(i.e. Source Code)|contracts signed by users |
+-----------+--------------------------+---------------------------+
| |Java code is translated |User requirements are |
| |into a "middle language", |translated into resource |
| |which is interpreted by |requirement for network, |
| |Java virtual machine into |and finally into a "middle |
| |a series of machine |language", i.e. deployment |
| |instructions of specific |task specification. Based |
| Solution |computer and operating |on the QoS mechanism |
| |system, thus Java has |adopted and the command set|
| |platform-independent |of network device, Device |
| |property |Driver interprets the |
| | |deployment task |
| | |specification into specific|
| | |router commands and do |
| | |configuration |
+-----------+--------------------------+---------------------------+
Table 1: Comparison between Java and QoSJava
3. QoSJava Architecture
This section gives a detail description of QoSJava framework and
its components.
Expires: March 18, 2006 bupt [Page 8]
Internet Draft October 18, 2005
| |
| User Requirements |
v v
+---------------------------------------------------+ +---------------+
| User Ingerface | |Administrator |
| | |Interface |
+---------------------------------------------------+ +---------------+
| ^ |
v | |
+---------------------------------------------------+ | |
|QoS Requirement to Resource Requirement Translation| v |
+---------------------------------------------------+ +-----------+ |
| |Measurement| |
| |Data | |
| |Analyzer | |
v +-----------+ |
+---------------------------------------------------+ ^ | |
|+--------+ +----------+ +----------+ +---------+| | | |
||Planning| |Addmission| |Deployment| |Monitor || |+----------+ |
|| | |Control | | | |Task || ||Topology | |
|| | | | | | |Generator|| ||Management| |
|+--------+ +----------+ +----------+ +---------+| |+----------+ |
+---------------------------------------------------+ | | |
| | | |
v v v v
+---------------------------------------------------------------------+
| QoS Mechanisms Adapter |
| +--------+ +-------+ +-------+ +-------+ |
+--|DiffServ|---|IntServ|---|MPLS |---+ +---------------------+
|Adapter | |Adapter| ^ |Adapter| |
+--------+ +-------+ | +-------+ |
v v
+---------------------------------------------------------------------+
| Network Element Driver |
| +--------+ +-------+ +-------+ +-------+ |
| |Cisco | |Juniper| |Huawei | | | |
+--|Router |---|Router |---|Router |---+ +---------------------+
|Driver | |Driver | |Driver |
+--------+ +-------+ +-------+
^
|
|
v
+---------------------------------------------------------------------+
| IP network |
| +------------+ +--------------+ +--------------+ |
| |Cisco Router| |Juniper Router| |Huawei Rounter| |
| +------------+ +--------------+ +--------------+ |
+---------------------------------------------------------------------+
Figure 2: QoSJava Framework
Expires: March 18, 2006 bupt [Page 9]
Internet Draft October 18, 2005
3.1 Architecture Overview
Figure 2 sketches the architecture of the proposed framework of
QoSJava, which has two parts, user part and administrator part. User
part is in the left. It deals with the whole process from user
submitting his QoS requirements to network device being configured.
The right part is administrator part, which is for network
administrator to initialize the network, monitor network performance
and to execute high level configuration task. From the management
interface, administrator can obtain the information of whether
user's QoS requirement is fulfilled, observe whether user's traffic
exceeds the constraint specified, and browse all the measurement
data. As the "virtual machine", QoS Mechanism Adapter and Device
Driver traverse two parts. In the following sections, these two parts
are described separately in detail.
3.2 User Part
User part is in charge of fulfilling user's QoS requirement. It
consists of several components, from the top down, are User
Interface, User Requirement Translator, Resource Manager, QoS
Mechanisms Adapter and Network Element Driver.
3.2.1 User Interface
User Interface is the entrance for end users. As the front-end
application, it is responsible for receiving user's requirement,
delivering it to User Requirement Translator and returning the
admission result to the user. It also implements QoS requirement
negotiation protocol and can interact with end users. If user's
requirement is admitted, User Interface will construct a contract
and send it back to the user, or User Interface will initiate a
negotiation process and suggest user to relax the constraint.
The contract can be SLA, xml specification or any forms that
designate user's QoS requirements. The implementation of User
Interface is not restricted, so developer can choose any suitable
technology to realize it. In our prototype, we use SLA to express
user's requirements, and the User Interface is presented to users as
a web service.
Expires: March 18, 2006 bupt [Page 10]Internet Draft October 18, 2005
3.2.2 User Requirement Translator
End users have variety of QoS requirements, thus front-end
applications present differently to users. Some front-end
applications present a web page to users, and guide them to fill in
items in the web page. Some applications can only receive SOAP
message, thus users have to express their requirements in xml
documents. In the future, applications allowing users to express
requirements in natural language may come into being. Therefore, we
need to add a layer between User Interface and the execution logic,
which is User Requirement Translator(URT). URT needs to adapt to
variety expression of QoS requirements. For example, URT may collect
information from web page, provide XML Parser for XML Document, or
construct an intelligent translator for natural language expression.
For user is not an expert, they may just know what service they
want, such as VOD or VoIP. And they are also clear about the service
approximate quality that they want, such as gold, silver or bronze.
Thus we can design templates for a specific service, which have
parameters with values. Whatever way is used, the goal of URT is to
extract the technical parameters from QoS requirements:
q_e2e=(SrcIP,DesIP,BW,Class,Delay,LossRate,Jitter,StartTime,EndTime)
q_e2e is a tuple describing user's QoS requirement. The parameters
contained in the tuple can be extended as needed. At present, we
define the following items.
SrcIP: Source IP Address
DesIP: Destination IP Address
BW: Bandwidth required by the user
Class: Traffic class of the service
Delay: End to end delay
LossRate: End to end packet loss rate
Jitter: End to end jitter
StartTime: The time when the contract begin to take effect
EndTime: The time when the contract begin to expire
3.2.3 Resource Manager
Resource Manager (RM) is a logical view of the physical network.
It has a whole view of the network topology, the state and available
resource of each network device. At the first sight, RM is a kind of
network management software. Actually they have some distinction.
RM does not interact with network device by SNMP, instead it use the
instructions provided by our Device Driver. RM has more functions
than network management software. After collecting the information
of network devices (mainly routers), RM needs to do calculation
online or offline for resource planning and managing. It has a
resource database, which records the resource information of the
domain where QoSJava is located. According to the q_e2e tuple which
specifying user's QoS requirement, RM enforces admission control and
generates corresponding monitor task.
Expires: March 18, 2006 bupt [Page 11]
Internet Draft October 18, 2005
(1) Router Resource Abstraction
Router resource correlating to QoS can be abstracted into the
following tuple:
Res=(RouterID,DomainID,Class,RT,IfNum,If_1,If_2,...,If_IfNum)
If_1,If_2,...,If_IfNum are detail of the Interface, which has
the following definition:
If = (BW,Buffer,Priority,Bucket,NextHop)
RouterID: Identity of Router, may be one IP of the router
DomainID: Identity of the domain where the router is situated
Class: Traffic class of the service
RT: Routing Table
IfNum: Number of the Interfaces in the router
If1~IfIfNum: The detail of each router interface
BW: Bandwidth of the interface
Buffer: Buffer size of the interface
Priority: Schedule priority of the packets
Bucket: Size of the bucket used for traffic conditioning
NextHop: The router which the interface connects to
Router has some other resource which can characterize its
performance, but these parameters have little to do with QoS.
Res_other = (CPU,Mem,RTConverge)
CPU: CPU speed of the router
Mem: Memory size of the router
RTConverge: Routing Table converge time of the router
Router information can be easily acquired from network management
system. The abstraction of router resource can be extended, so long
as adding interface between it and the network management system
to get more information. In our framework, topology management can
also use the instructions provided by Device Driver to get router
information. These instructions encapsulate SNMP commands. When
planning the network resource, only QoS related router resource is
considered.
(2) Resource Planning (RP)
Network planning is done in a coarse granularity, which is not the
optimal resource assignment. In fact, there is no solution for
optimal resource utility in Internet due to its complexity traffic
Expires: March 18, 2006 bupt [Page 12]
Internet Draft October 18, 2005
pattern. Considering the different traffic characteristics of
different services,we found that by distributing the resource to
several traffic classes in a reasonable way, the resource utility
will increase. Bandwidth may be abundant in the future, but we are
still sure that improving resource utility would be the everlasting
target of network providers. In QoSJava, services are classified into
gold, silver and brown, similar to EF, AF and BE in DiffServ. In the
following section, we will prove that our scheme does improve the
bandwidth utility.
In the traditional IP network, traffic of different characteristics
is mixed up and transmitted in a best effort way. Services with burst
traffic such as Web and FTP degrades the quality of audio and video
service. The mixed traffic may also have burst characteristic. If the
simple solution, bandwidth over-provisioning, is adopted to provide
QoS, bandwidth of the peak rate should be reserved. Thus bandwidth
utility can reach no more than 30% or 40%.
In fact, different services have different QoS requirements for
network. Audio service needs a constant bandwidth to guarantee low
latency and low jitter. Video service has a relatively smooth traffic
pattern, thus it needs smooth throughput without abrupt changes.
Moreover, the media player in the end system has buffer. Thus Video
service's requirement for network is not as stringent as audio
service. As for other service such as file transmission, ftp and web
page browsing, they can endure longer latency and most users do not
insist on high quality for these services to avoid high charge. In a
word, bandwidth multiplexing degree of these services are different.
Base on the fact, we found that after distribute the bandwidth to
different traffic classes, apply different multiplexing policies on
different classes, and ensure that each of them should not exceed the
constraint, bandwidth utility will increase. Say, we distribute 10%
bandwidth to gold service, 50% to silver and the residual 40% to
bronze. For gold service class, over-provisioning is adopted, thus
its bandwidth utility is 90% approximately. For silver class, 100M
bandwidth can carry 150M traffic, considering video traffic's
characteristics, the bandwidth utility may be 70%. Bronze service
class carries best effort service. More flows can be fed into the
channel until it is saturated, thus its bandwidth utility approach
100%. From the equation below, we can see that the total bandwidth
utility may increase to about 70%~80%. Admission control should be
introduced to make sure that the traffic would not violate the
bandwidth constraint distributed.
Total_BW_Utility = 10% * 90% + 50% * 70% + 40% * 100% = 84%
Expires: March 18, 2006 bupt [Page 13]
Internet Draft October 18, 2005
Based on the analysis, Resource Planning assigned the network
resource to three traffic class. It constructs the resource topology
from the router resource information provided by network management
system, and decides on the resource assignment according to network
traffic distribution monitored by measurement facilities. The
computation is offline, thus computing complexity and efficiency are
not the main concern. The Resource Planning component will educe the
available resource matrixes of the domain for different traffic
classes, i.e. R_Gold, R_Silver, and R_Bronze. The available
resource matrix is a n*n matrix, in which n is the number of edge
routers in the domain.
Let's explain the semantic of the element in the matrix. Take
r_Gold(i,j)in matrix R_Gold as an example, it represents the
available resource for gold service between ER_i and ER_j , which is
defined by the following tuple.
r_Gold(i,j)=(srcER,DesER,BW,Class,Buffer,Priority,Bucket)
srcER: Identification of the Ingress edge router located in the
domain
DesER: Identification of the Egress edge router located in the
domain
BW: The total granted traffic entering the network from srcER and
departing from DesER
Class: Traffic class of the service
Buffer: Buffer size of the interface
Priority: Schedule priority of packets
Bucket: Size of the bucket used for traffic conditioning
(3) Admission Control (AC)
Admission Control component (AC) has several functions:
A. Decompose QoS requirement for domains in the end to end path
Because q_e2e may traverse multiple domains, which adopt different
QoS mechanisms, AC should decompose q_e2e into QoS requirements
q_i(i=1,2,...,m) for each domain. m is the total number of domains
in the end to end path, and q_i corresponds to domain i.
B. Translate user's QoS requirement q_i into resource requirement.
After decomposition, AC needs to translate each QoS requirement
q_i into resource requirement for domain i.
Function maps QoS requirement to resource requirement.
f: q_i -> r_out_i
In which
r_out_i=(srcER,DesER,BW,Class,Buffer,Priority,Bucket)
Expires: March 18, 2006 bupt [Page 14]
Internet Draft October 18, 2005
C. QoS requirement Admission
According to QoS requirement q_i, AC consult available resource
database for resource matrix, and admit user's requirement. If
resource is sufficient, admission is successful, or an admission
failure notification is returned with the failed reason to guide
the next step negotiation. The whole process of admission control
contains the following steps:
Class = Extract Service Class from r_out_i;
R = Find Corresponding Matrix to Class,it may be r_Gold(i,j),
r_Silver(i,j) or r_Bronze(i,j);
Result = CAC(r_out_i,R);
If Result = = Failed
{
Append (Reason, Result);
}
Successful and failed admission results are expressed here as xml
documents:
<CAC Result>Success</CAC Result>
or
<CAC Result>Failed</CAC Result>
<Reason>BW is too large</Reason>
D. Modify corresponding resource matrix after successful admission
If admission turns out to be successful, resource assigned should
be subtracted from the available resource database.
(4) Monitor Task Generator (MTG)
MTG is responsible for generating monitor task for user's QoS
requirement, in order to guarantee QoS provisioning. AC decomposes
user's QoS requirement for each domain in the end to end path, which
adopts different QoS mechanisms. Similarly, their monitoring methods
are also different. MTG should generate monitor task for each domain
according to its QoS mechanism. TaskGen is a function which maps
QoS requirement q_i to a monitor task. The monitor task generation
process is described below.
TaskGen: q_i -> T_i
T_i=(Address,Class,MonTime,Param)
Address=(SrcIP,SrcPort,DesIP,DesPort)
Class=Gold|Silver|Bronze
MonTime=(StartTime,EndTime,Interval)
Param=(Throughput,Delay,Jitter,LossRate)
Expires: March 18, 2006 bupt [Page 15]
Internet Draft October 18, 2005
The semantic of all parameters are listed in table 2:
+----------+--------------------------------------------------------+
| Item | Detail |
+----------+--------------------------------------------------------+
|Address |The tuple represents monitoring location |
+----------+--------------------------------------------------------+
|SrcIP |IP of Ingress router to be monitored |
+----------+--------------------------------------------------------+
|SrcPort |Port of Ingress router to be monitored |
+----------+--------------------------------------------------------+
|DesIP |IP of Egress router to be monitored |
+----------+--------------------------------------------------------+
|DesPort |Port of Egress router to be monitored |
+----------+--------------------------------------------------------+
|Class |Class of the service |
+----------+--------------------------------------------------------+
|Gold |Gold service, similar as EF traffic class in DiffServ |
+----------+--------------------------------------------------------+
|Silver |Silver service, similar as AF traffic class in DiffServ |
+----------+--------------------------------------------------------+
|Bronze |Bronze service, similar as BE traffic class in DiffServ |
+----------+--------------------------------------------------------+
|MonTime |The tuple represents monitor's task schedule |
+----------+--------------------------------------------------------+
|StartTime |Start time of the monitor task |
+----------+--------------------------------------------------------+
|EndTime |End time of the monitor task |
+----------+--------------------------------------------------------+
|Interval |Interval of collecting monitor data |
+----------+--------------------------------------------------------+
|Param |The tuple represents monitor task detail |
+----------+--------------------------------------------------------+
|Throughput|Throughput between Ingress router and Egress router |
+----------+--------------------------------------------------------+
|Delay |Packet delay between Ingress router and Egress router |
+----------+--------------------------------------------------------+
|Jitter |Packet jitter between Ingress router and Egress router |
+----------+--------------------------------------------------------+
|LossRate |Packet loss rate between Ingress router and Egress |
| |router |
+----------+--------------------------------------------------------+
Table 2: Parameters of Monitoring Task
The measurement technologies supported by routers can be used. For
example, Cisco routers provide active measurement SAA and passive
measurement Netflow. Both of them can be used in the monitor task.
Expires: March 18, 2006 bupt [Page 16]
Internet Draft October 18, 2005
(5) Deployment
After user's requirement is admitted and monitor task is generated,
Deployment component will create deployment task specification for
bottom layers. The deployment task specification is the "middle
language" of QoSJava. It contains the information of the resource
should be assigned for QoS provisioning and the monitor task should
be enforced for QoS guarantee. The specification can be an xml
document with consentaneous labels of the system. It can also be a
configuration file with API provided by bottom layers. No constraint
for the format of this specification. All depend on the developer.
In the QoSJava framework proposed in this draft, the lower layer,
i.e. QoS Mechanisms Adapter, provides a serials of API for
Deployment component. Deployment component can use these APIs to
Issue orders, demand on resource assignment and monitor task
enforcement.
3.2.4 QoS Mechanisms Adapter
Different QoS mechanisms have different resource management patterns
and different QoS provisioning methods. In IntServ, resource should
Be reserved in all the routers along the end to end path. And
DiffServ classifies traffic at the edge and specifies packets' PHB,
i.e. EF, AF and BE. As for MPLS, it establishes LSP and sticks
labels to the packets in the entrance router. In addition, they
Behave differently in traffic monitoring. QoS Mechanisms Adapter is
meant to conceal their heterogeneity and provides a unify interface
for Resource Manager.
QoS Mechanisms Adapter should perform at least two operations.
One is to interpret resource assignment task r_out_i, and the other
to interpret monitor task T_i. Based on the mechanisms adopted in the
domain, QMA translates the deployment task specification to a script
containing a series of instructions provided by Device Driver. The
adapting scheme is as follows:
r_out_i and T_i are specified in the Deployment Task Specification.
+ - Configuration of all routers along the path(IntServ)
|
QoSAdapter | - Configuration of edge routers (DiffServ)
(r_out_i) = |
| - Establish LSP between routers (MPLS)
|
+ - To be extended (other QoS mechanisms)
Expires: March 18, 2006 bupt [Page 17]
Internet Draft October 18, 2005
+ - Monitor all routers along the path (IntServ)
|
QoSAdapter | - Monitor Ingress router and Egress router (DiffServ)
(T_i) = |
| - Monitor entrance and exit of LSP (MPLS)
|
+ - To be extended (other QoS mechanisms)
In IntServ, QMA needs to translate the Deployment Task Specification
to the configuration of all the routers located in the domain along
The end to end path. In DiffServ, QMA translates the specification
to the configuration of Ingress router and Egress Router, which may
include traffic class (EF/AF/BE), queue priority, packet dropping
scheme, etc. As for MPLS, the specification is translated to
establishment and monitor of LSP, including label distribution.
Expressions aforementioned only describe the semantics of QMA's
result. In implementation, the result given by QMA would be an
execution script with instruction sequence. An instruction
encapsulates a series of commands for network devices and can
perform an advanced task. An example is given below. It describes a
scenario in which domain D_1 adopts IntServ. Thus in D_1, resource
reservation and monitoring task deployment should be done in all
routers along the end-to-end path.
[INTSERV_QOSCONFIG]
#ResvRes<Domain D_1, IP of Router 1, r_out_i tuple>
#DeployMonTask<Domain D_1, IP of Router1, T_i tuple>
бн
#ResvRes<Domain D_1, IP of Router N, r_out_i tuple>
#DeployMonTask<Domain D_1, IP of Router N, T_i tuple>
When a new QoS mechanism comes out, new adapting model can be added
to QoSJava by extending the execution script or adding some new
Execution scripts. Therefore QoSJava is compatible with new QoS
mechanism without violating the existing QoS mechanisms. Thus
variety of QoS mechanisms could be coexistent in the network to
provide end to end QoS.
3.2.5 Device Driver
While QoS Mechanisms Adapter conceals heterogeneity of QoS
mechanisms, Device Driver has the purpose of making the difference
of network devices transparent. DD provides instruction set for QMA,
and interprets each instruction to commands corresponding to devices
of the domain. DD realizes automatic configuration of network
devices, including system setting, initializing, QoS configuration
and easurement data collection.
Expires: March 18, 2006 bupt [Page 18]
Internet Draft October 18, 2005
An instruction example which is interpreted to commands of Cisco
Router (2600, 3600 and 7200 series) is given below.
#MODIFY_SERVICECLASS <19>
@TELNETCONN <1>
******
Enable
******
Config terminal
policy-map p-in-<19>
class <17>
police cir <10> bc <11> pir <12> be <13> conform-action set-
dscp-transmit <14> exceed-action drop
violate-action drop
@TELNETDISC
Note: <N> means the Nth formal parameter of the instruction.
When the script with this instruction (#MODIFY_SERVICECLASS) is
executed by Device Driver, the instruction will be interpreted into
a sequence of commands, completing the task of service class
modification. First the API of telnet package provided by operating
system is used to telnet to the router and establishes a connection
(@TELNETCONN). Then password (******) is transmitted to the router.
After authentication, administrator's priority would be upgraded
using command "enable" and password needs to be input again. Service
class is modified in succession. The command "police" sets the
parameters including committed information rate (cir), confirm burst
(bc), peak information rate (pir), exceed burst (be) and the dscp
value attached to packets whose rates are less than cir (set-dscp-
transmit). It also indicates that all packets whose rates are greater
than cir will be dropped. When the task is completed, it disconnects
from the router (@TELNETDISC). These commands will be executed in
batch, avoiding administrator's interference.
When we say network devices, we mainly refer to routers. We can use
SNMP or TELNET to access the router's operation system, and perform
configuration, control and data collection.
3.3 Administration Part
3.3.1 Administrator Interface
Administrator Interface is for system administrators to observe the
performance and status of network routers in the domain. Whether the
admitted QoS requirement is guaranteed and user's traffic is
violating the threshold are also observed. Besides that,
Administrator can issue orders with high level instructions and
implement automatically network devices configuration, such as
Expires: March 18, 2006 bupt [Page 19]
Internet Draft October 18, 2005
startup, stop and reconfiguration. They don't need to login into all
devices and do modification one by one, thus the operational cost
will decrease.
3.3.2 Measurement Data Analyzer
Monitoring user's QoS requirement and collecting QoS metrics is the
basis for billing. Measurement Data Analyzer (MDA) focuses on
analyzing the statistics colleted by network devices, draw a
conclusion of whether user's requirement is fulfilled and whether
user's traffic is conforming to the contract. MDA obtains
Information of monitoring tasks from Monitor Task Generator, and
Correlates monitoring tasks with the statistics. When the analysis
turns out that user's QoS is not fulfilled or user's traffic breaks
the threshold, alarm will be generated. MDA will also deduce the
reason for failure, reminding administrator to take corresponding
measures such as employing Traffic Engineering, changing Router
Table to bypass the bottleneck, and etc.
3.3.3 Topology Management
Topology Management (TM) performs like Network Management software.
Instead of using SNMP directly, TM uses instructions which
encapsulate SNMP commands provided by Device Driver. TM provides
network details for Planning and Admission Control components in
Resource Manager. The information includes domains, routers in the
domain, router IP and corresponding ID, routing table, domain which
the router belonging to, whether the router is an edge router or a
core router, etc. Planning and Admission Control components can use
these information to reconstruct the whole network topology and gain
the resource view.
4. Deployment of QoSJava
QoSJava is deployed for each domain in the network. It may be hosted
by server farm or just a computer with high computation ability. We
give a deployment example in figure.
Expires: March 18, 2006 bupt [Page 20]
Internet Draft October 18, 2005
........................................
. Business Logic Server Group .
........................................
. +------+ +------+ +-------+ +------+ .
. | SLA | | RM | |Monitor| | DD | .
. |Server| |Server| |Server | |Server| .
. +------+ +------+ +-------+ +------+ .
. | | | | .
.....|........|.........|........|...... +--------+
| | | | |Browser |
===============================================----|Terminal|
| | | | | |
........|............|........ +------+ +------+ +--------+
. | | . | | | |
. +-----------+ +----------+ . | Web | |Policy|
. |Performance| |Accounting| . |Server| |Server|
. |DB Server | |DB Server | . | | | |
. +-----------+ +----------+ . +------+ +------+
..............................
. DB Server Group .
..............................
figure 3: QoSJava Deployment
5. Other Issues
When put into large scale use, performance and security issues should
be considered carefully. We thought of adding an Access Server for
dealing with the concurrent users' requests. We will study these
issues in our future work.
6. REFERENCES
[1] Braden, R., Clark, D. and Shenker, S., "Integrated Services in
the Internet Architecture: an Overview", Internet RFC 1633,
June 1994
[2] D. Grossman, "New Terminology and Clarifications for Diffserv",
RFC 3260, April 2002
[3] E. Rosen, A. Viswanathan and R. Callon, "Multiprotocol Label
Switching Architecture", RFC3031, January 2001
[4] R. Braden, L. Zhang, S. Berson, S. Herzog and S. Jamin,
"Resource ReSerVation Protocol (RSVP) --Version 1 Functional
Specification", RFC 2205, Sept. 1997
[5] Y. Bernet, P. Ford, R. Yavatkar, F. Baker, and etc. "A Framework
for Integrated Services Operation over Diffserv Networks",
RFC2998, November 2000
Expires: March 18, 2006 bupt [Page 21]
Internet Draft October 18, 2005
[6] P Nanda, A Simmonds: 'Providing end-to-end guaranteed quality of
service over the Internet: a survey on bandwidth broker
architecture for differentiated services network', CIT 2001 4th
International Conference on IT, Berhampur, India, 20 - 23
December 2001, pp. 211 - 216.
[7] CADENUS Project Consortium, Deliverable D1.2, End-user services
in the Premium IP: Models, Architectures and Provisioning
Scenarios, http://www.cadenus.org, November 2001
[8] TEQUILA Project Consortium, Deliverable D1.1, Functional
Architecture Definition and Top Level Design,
http://www.ist-tequila.org, September 2000
[9] AQUILA Project Consortium, Deliverable D1201, System
Architecture and Specification for the first trial,
http://www.ist-aquila.org, June 2000
[10] QoS Middleware Research, Monet Research Group,
http://cairo.cs.uiuc.edu/middleware/, January 2004
7. Acknowledgements
Thanks to JunFeng Xiao, Huirong Tian Shuanghong Wang, Chengguan Wang,
YuanYin Chen, Yinghua Cui, YiQiang Ding and all members in QoSA
project for their work for this draft.
8. Author's Address
Questions about this draft can be directed to:
Xiaohui Huang
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: hxiaohui@bupt.edu.cn
Yu Lin
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: linyu@bupt.edu.cn
Wendong Wang
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: wdwang@bupt.edu.cn
Expires: March 18, 2006 bupt [Page 22]
Internet Draft October 18, 2005
Xirong Que
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: rongqx@bupt.edu.cn
Shiduan Cheng
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: chsd@bupt.edu.cn
Li Jiao
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: jiaoli@bupt.edu.cn
Yidong Cui
State Key Laboratory of Networking and Switching,
Beijing University of Posts and Telecommunications
Beijing, P.R.China, 100876
E-mail: nathan@x263.net
9. Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Expires: March 18, 2006 bupt [Page 23]
Internet Draft October 18, 2005
10. Intellectual Property
Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other groups
may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html"