INTERNET-DRAFT C. W. Ng
Document: draft-ng-opes-irmlqos-01.txt P. Y. Tan
Expires: August 2002 H. Cheng
Panasonic Singapore Labs
July 2001
Quality of Service Extension to IRML
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [1].
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/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
The Intermediary Rule Markup Language (IRML) [2] is an XML-based
language that can be used to describe service-specific execution
rules for network edge intermediaries under the Open Pluggable Edge
Services (OPES) framework, as described in [3] and [4]. This memo
illustrates examples of employing the IRML for Quality of Service
(QoS) policing and control, and proposes a QoS sub-system extension
to IRML for better QoS support in the OPES framework.
Ng, Tan, Cheng Expires August 2002 [Page 1]
INTERNET-DRAFT QoS Extension to IRML February 2002
Table of Contents
1. Introduction....................................................3
1.1. Terms Used....................................................3
2. Example Services for QoS Policing in OPES Services..............3
2.1. Adaptation of HTML Contents...................................3
2.2. Dynamic Adaptation of Streaming Contents......................4
2.3. QoS Policy Control............................................4
2.4. Load-Balancing................................................5
3. Requirements for QoS Sub-System.................................5
4. QoS Sub-System of IRML..........................................6
4.1. QoS Policy Properties.........................................6
4.2. Network Status Properties.....................................6
4.3. Intermediary Load Properties..................................8
4.4. Overriding ômatchesö and ônon-matchesö Attributes in QoS Sub-
System.......................................................8
4.5. The ôcontextö Attribute.......................................9
5. Examples.......................................................10
6. References.....................................................12
7. Author's Address...............................................13
Ng, Tan, Cheng Expires August 2002 [Page 2]
INTERNET-DRAFT QoS Extension to IRML February 2002
1. Introduction
The Intermediary Rule Markup Language (IRML) [2] is an XML-based
language that can be used to describe service-specific execution
rules for network edge intermediaries under the Open Pluggable Edge
Services (OPES) framework, as described in [3] and [4]. This memo
specifies a Quality of Service (QoS) subs-system in the IRML, and
illustrates examples of employing the IRML for QoS policing and
control.
This memo begins in Section 2 by illustrating a few scenarios where
QoS policing and control can be incorporated into the OPES
intermediary. From there, a set of preliminary requirements for QoS
sub-system extension to the IRML is drafted in Section 3. Section 4
defines the set of QoS parameters used in the ôpropertyö and
ôvariableö elements in the proposed QoS sub-system, and Section 5
presents some examples illustrating possible use of the QoS sub-
system.
1.1. Terms Used
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in RFC-2119 [5].
2. Example Services for QoS Policing in OPES Services
2.1. Adaptation of HTML Contents
By far, Hyper Text Markup Language (HTML) pages are the most common
content transported by the Hyper Text Transfer Protocol (HTTP).
These HTML contents are usually static, making them ideal candidate
to be cached at the network edge. However, with increasing number
of "thin" clients, it is virtually impossible to have a HTML page
that is suitable to be viewed for all the possible browsers.
Adaptation of HTML pages to suit the clientÆs browser is widely
employed (through means of server-side includes such as PHP or
client-side JavaScripts). One excellent example would be the
adaptation of HTML to WML (Wireless Markup Language) pages.
Adaptation of HTML pages can also be employed to suit the user or
access-provider QoS requirements. For example, it might be
necessary to remove redundant information when translating HTML
pages to WML for a mobile phone client with a very limited bandwidth
(and limited screen size). It will also be helpful to replace the
tags in the original HTML page to their ALT text equivalence.
For another client who is using a Personal Digital Assistant (PDA)
with a Wideband-CDMA connection, the translated WML may include more
of the original HTML contents and some pictures.
Ng, Tan, Cheng Expires August 2002 [Page 3]
INTERNET-DRAFT QoS Extension to IRML February 2002
Bandwidth is not the only consideration. For the example of the PDA
client quoted above, when the channel condition is poor, it might be
desirable to reduce the amount of text in the translated WML to
ensure a more speedy delivery.
Such HTML adaptation is not only limited to the wireless scenario.
For a client with a wired connection to the Internet, it is
sometimes necessary to sub-sample the embedded images in the HTML
pages to reduce their size so as to meet the maximum delay
requirements imposed by the user or access-provider. This can occur
when the allocated bandwidth is small, or when the connection is
congested (e.g. the user is downloading a couple of files
simultaneously).
2.2. Dynamic Adaptation of Streaming Contents
Streaming of audio-visual (AV) contents over the Internet has become
increasing popular over the years. AV streaming poses different
technical challenges as compared to HTML delivery, with stricter QoS
requirements, such as maximum delay and constant/variable bit-rates.
When the transport technologies employed within the network core are
best-effort delivery in nature, it is very difficult to guarantee
the required quality of service. Thus, to maintain the perceived QoS
by the user, it is often necessary to dynamically adapt the AV
stream to the fluctuating network connection conditions [6].
Ideally such adaptation services should be placed near the end-user,
so as to reduce the errors in estimating the network conditions at
the network edge. This also allows for intermediary to cache the AV
contents, and directing the contents to the adaptation service
depending on the QoS requirements and channel conditions.
The use of OPES intermediaries to adapt the AV contents requires
that the QoS parameters, such as allocated/requested bandwidth and
channel conditions, be made available to the rule decision engine.
2.3. QoS Policy Control
Often, the OPES services will reside on an intermediary box that is
provided by the access provider. Thus one major application of the
IRML is to implement policy rules based on the Service Level
Agreement (SLA) between the access provider and the end-user. QoS is
one important aspect of SLA.
To illustrate, consider the following scenario where an end-user has
a service policy of 64kbps bandwidth. Suppose the end-user is in
the middle of watching a movie at 56kbps when a 16kbps voice-over-IP
(VoIP) stream arrives. Instead of simply rejecting the VoIP
connection, with IRML services, the access provider (or even the
end-user) can now specify policy rules to perform any of following
more desirable actions:
Ng, Tan, Cheng Expires August 2002 [Page 4]
INTERNET-DRAFT QoS Extension to IRML February 2002
(a) adapts the VoIP stream to the remaining bandwidth,
(b) adapts the movie stream to give room for the VoIP stream (e.g.
mute the audio from the movie), or
(c) adapts both the movie and VoIP streams.
2.4. Load-Balancing
The OPES framework in [3] allows for the adaptation services to be
performed remotely on a separate, dedicated server, such as an ICAP
server. This allows for scalability. However, when the number of
connections is small, it might not be desirable to perform remote
callout, as the overhead incurred will add transmission delays. IRML
can be employed to redirect content adaptation to a remote server
when the load on the intermediary is high, and to use a local
proxylet when the load is low. Such decision can only be done if
IRML is extended to environment properties, such as server load.
In addition to serverÆs processing load, such decision may based on
the end-userÆs QoS requirement as well. For instance, when the
server load is moderate, it might process adaptation services for
end-users with stricter QoS requirements, and invoke remote
adaptation services for end-users with lower QoS requirements.
3. Requirements for QoS Sub-System
In consideration to the example services illustrated in the previous
sections, a preliminary set of requirements for the QoS sub-system
extension to the IRML can be outlined as follow:
- It SHOULD enable rule modules to match the end-user QoS policy
requirements against pre-defined labels. Such QoS policy
requirements MAY include, but not limited to, the allocated
bandwidth to the end-user, the requested bandwidth for the
current connection, and the required delay bound, if any.
- It SHOULD enable rule modules to match the transmission
statistics of the end-user connection with the intermediary
against pre-defined labels.
- It SHOULD enable rule modules to match the current system load of
the intermediary against pre-defined labels. The system load MAY
be inferred from percentage load, and/or the number of
connections the intermediary is handling.
The above set of requirements is not exhaustive. Further research
work needs to be carried out to evaluate the applicability of these
requirements, and append additional requirements if deem
appropriate.
Ng, Tan, Cheng Expires August 2002 [Page 5]
INTERNET-DRAFT QoS Extension to IRML February 2002
4. QoS Sub-System of IRML
In order to extend QoS-aware services in the OPES intermediary, it
is proposed that a QoS sub-system be specified to extend the
recognized property names of the "property" and ôvariableö elements
in IRML to include various QoS-related properties. These values
include static configuration parameters like QoS policy parameters,
and dynamic parameters like network conditions values and processing
load of the intermediaries. Note that to utilize these parameters,
the ôpropertyö or ôvariableö elements MUST specify a ôsub-systemö
attribute of ôQoSö.
Furthermore, since these parameters have numerical values, the QoS
sub-system also override the ômatchesö and ônon-matchesö attributes
of the ôpropertyö element to handle basic arithmetic comparison
instead of regular expression. These will be described in the
following sub-sections.
4.1. QoS Policy Properties
The following are the proposed QoS policy parameters to that are
defined for the "property" element in the QoS sub-system. These
values are access control parameters, thus the rule engine can
obtain their values via an interface to an access control module.
Specification of such interface/module is out of scope.
Property Name Value
--------------------------------------------------------------------
"allocated-bandwidth" the allocated bandwidth for the end-user
"requested-bandwidth" the requested bandwidth for this connection
"available-bandwidth" the amount of bandwidth available for the
end-user
"delay-bound" the maximum delay requested
4.2. Network Status Properties
The following are the proposed network status parameters that are
defined for the "property" element of the QoS sub-system. These
dynamic values reflect the current network link status. The rule
engine can obtain these values either via an interface to a traffic
monitoring module, or a Simple Network Management Protocol (SMNP)
agent [7]. In the case of RTP connections, the values of these
parameters can also be extracted from the RTCP sender/receiver
reports [8]. Specification of such interface/module is out of scope.
Ng, Tan, Cheng Expires August 2002 [Page 6]
INTERNET-DRAFT QoS Extension to IRML February 2002
Property Name Value
--------------------------------------------------------------------
"r-octets-count" the accumulated number of octets received
by the end-user
"s-octets-count" the accumulated number of octets received
by the intermediary
"r-packets-count" the accumulated number of packets received
by the end-user
"s-packets-count" the accumulated number of packets received
by the intermediary
"r-packets-lost" the total number of packets not received by
the end-user
"s-packets-lost" the total number of packets not received by
the intermediary
"r-fraction-lost" the fraction of packets lost reported by
the end-user since the previous report
"s-fraction-lost" the fraction of packets lost reported by
the intermediary since the previous report
"r-jitter" the inter-arrival jitter reported by the
end-user
"s-jitter" the inter-arrival jitter reported by the
intermediary
Because the rule engine should be stateless, it might be necessary
for the module providing the values of the QoS parameters to provide
additional information about the difference in the parameters values
after a specific interval.
Property Name Value
--------------------------------------------------------------------
"r-octets-diff" the difference in accumulated number of
octets received by the end-user of two most
recent consecutive reports
"s-octets-diff" the difference in the accumulated number of
octets received by the intermediary of two
most recent consecutive reports
"r-packets-diff" the difference in the accumulated number of
packets received by the end-user of two
most recent consecutive reports
"s-packets-diff" the difference in the accumulated number of
packets received by the intermediary of two
most recent consecutive reports
"r-packets-lost-diff" the difference in the total number of
packets not received by the end-user of two
most recent consecutive reports
"s-packets-lost-diff" the difference in the total number of
packets not received by the intermediary of
two most recent consecutive reports
Ng, Tan, Cheng Expires August 2002 [Page 7]
INTERNET-DRAFT QoS Extension to IRML February 2002
4.3. Intermediary Load Properties
The following are the proposed server load parameters that are
defined for the "property" element in the QoS sub-system. These
values are system environment parameters, thus the rule engine can
obtain their values via an interface to a system module.
Specification of such an interface/ module is out of scope.
Property Name Value
--------------------------------------------------------------------
"system-processing-load" the current processing load in percentage
of the intermediary
"system-connections" the current number of established end-
user connections
4.4. Overriding ômatchesö and ônon-matchesö Attributes in QoS Sub-
System
Since the QoS parameters defined for the ôpropertyö element are all
numerical in nature, the ômatchesö and ônon-matchesö attributes of
the ôpropertyö element are overridden in the QoS sub-system to
handle arithmetic comparison instead of regular expression. In QoS
sub-system, the ômatchesö and ônon-matchesö handle two types of
arithmetic comparisons: (1) arithmetic relation between the QoS
property and a specified numerical constant, and (2) the membership
of the QoS property in a specified numerical range.
Comparison between QOS property and specified numerical constant can
be constructed using the ô<ö, ô>ö, ô>=ö, and ô<=ö operators. For
example, the following rule
will be evaluated to be true if the current system load of the
intermediary is less than 40%, and evaluated to be false otherwise.
Membership of the QoS parameter in a specified numerical range can
be constructed using the ô[min,max]ö, ô[min,max)ö, ô(min, max]ö, and
ô(min,max)ö mathematical symbols. For example, the following rule
will be evaluated to be true if the bandwidth allocated is greater
or equal to 128kbps and less than 256kbps.
Ng, Tan, Cheng Expires August 2002 [Page 8]
INTERNET-DRAFT QoS Extension to IRML February 2002
The table below shows the evaluation results when a QoS property is
evaluated with various ômatchesö attributes. In the table, ôAö and
ôBö represents numerical constants (which can include a decimal
point).
ômatchesö Attribute Evaluation Result
-------------------- ---------------------------------
ôAö True if the QoS parameter is greater than A;
false otherwise.
ô>=Aö True if the QoS parameter is greater than or
equal to A; false otherwise.
ô[A,B]ö True if the QoS parameter is greater than or
equal to A, and less than or equal to B; false
otherwise.
ô[A,B)ö True if the QoS parameter is greater than or
equal to A, and less than B; false otherwise.
ô(A,B]ö True if the QoS parameter is greater than A
and less than or equal to B; false otherwise.
ô(A,B)ö True if the QoS parameter is greater than A
and less than B; false otherwise.
The ônon-matchesö attribute, when specified instead of ômatchesö,
will be evaluated to be true when the arithmetic comparison is
evaluated to be false, and vice versa.
4.5. The ôcase-sensitiveö Attribute
Though the ôpropertyö element in the standard IRML has an optional
ôcase-sensitiveö attribute, they are not used in the QoS sub-system.
This is a direct consequence of overriding the ômatchesö and ônon-
matchesö attributes to handle arithmetic comparison instead of
regular expression. Use of the ôcase-sensitiveö attribute is ignored
in the QoS sub-system.
4.6. The ôcontextö Attribute
The current specification of the QoS sub-system does not define the
interpretation of the ôcontextö attribute. It may be possible to use
this attribute to identify the interface/module by which the value
of the QoS parameter is extracted, such as ôSNMPö or ôRTCPö. Until
its appropriate interpretation can be revealed after further
analysis, the use of the ôcontextö attribute is ignored by the QoS
sub-system.
Ng, Tan, Cheng Expires August 2002 [Page 9]
INTERNET-DRAFT QoS Extension to IRML February 2002
5. Examples
The first example below illustrates the case where the adaptation of
HTML page to WML page is performed with consideration to the
allocated bandwidth of the client.
opes://localhost/html2wml?target=tiny
opes://localhost/html2wml?target=small
opes://localhost/html2wml?target=large
The second example illustrates the scenario where an adaptation
service is carried out locally or remotely based on the system
processor load of the OPES intermediary. It also illustrates the
adaptations of video stream based on the connection status.
Ng, Tan, Cheng Expires August 2002 [Page 10]
INTERNET-DRAFT QoS Extension to IRML February 2002
opes://video.adpat.server/video-adpat
=80ö
sub-system=öQoSö>
opes://localhost/video-adpat
The third example shows the adaptation of different content format
for different traffic conditions gathered from the network
monitoring module for a specific network node or a group of network
nodes in delivering Audio-Visual content. Access to the types of
content format is based on the different network conditions supplied
by the network monitoring module. The rule for accessing the type of
content format is being specified based on the type of property
used.
opes://stillimage.server/jpeg-only
opes:// videoFEC.correct.server/video-FEC<
Ng, Tan, Cheng Expires August 2002 [Page 11]
INTERNET-DRAFT QoS Extension to IRML February 2002
6. IAB Considerations
This proposal is an extension to the IRML Specifications [2]. It is
to the authorsÆ best knowledge that there exists no inconsistency
between this memo and the IRML Specification in regards to IABÆs
architectural and policy considerations.
7. Security Considerations
All security considerations in [2] are applicable to the QoS sub-
system. There is no security issue to the authorsÆ best knowledge
that is specific to the QoS sub-system.
8. References
[1] Bradner, S., "The Internet Standard Process û Revision 3", BCP 9,
RFC 2026, October 1996.
[2] Beck, A., Hoffman, M., "IRML: A Rule Specification Language for
Intermediary Services", Work In Progress, draft-beck-opes-irml-
02.txt, November 2001.
[3] Tomlinson, G., Orman, H., Condry, M., Kempf, J., "Extensible Proxy
Services Framework", Work In Progress, draft-tomlinson-epsfw-
00.txt, 2000.
[4] Beck, A., Hoffman, M., Condry, M., "Example Services for Network
Edge Proxies", Work In Progress, draft-beck-opes-esfnep-01.txt,
November 2000.
[5] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[6] Wu., D., Hou, Y. T., Zhang, Y., "Scalable Video Coding and
Transport over Broad-band Wireless Networks", Proc. IEEE, vol. 89,
no. 1, pg 6-20, Jan 2001.
[7] Case, J.D., Fedor, M., Schoffstall, M.L., Davin, C., ôSimple
Network Management Protocol (SNMP)ö, RFC 1157, May 1990.
Ng, Tan, Cheng Expires August 2002 [Page 12]
INTERNET-DRAFT QoS Extension to IRML February 2002
[8] Schulzrine, H., Casner, S., Frederick, R., Jabcobson, V., "RTP: A
Transport Protocol for Real-Time Applications", RFC 1889, January
1996.
9. Author's Address
Chan-Wah Ng
Panasonic Singapore Laboratories Pte Ltd
Blk 1022 Tai Seng Ave #04-3530
Tai Seng Industrial Estate
Singapore 534415
Phone: (+65) 550 5420
Email: cwng@psl.com.sg
PekûYew TAN
Panasonic Singapore Laboratories Pte Ltd
Blk 1022 Tai Seng Ave #04-3530
Tai Seng Industrial Estate
Singapore 534415
Phone: (+65) 550 5470
Email: pytan@psl.com.sg
Hong CHENG
Panasonic Singapore Laboratories Pte Ltd
Blk 1022 Tai Seng Ave #04-3530
Tai Seng Industrial Estate
Singapore 534415
Phone: (+65) 550 5477
Email: hcheng@psl.com.sg
Ng, Tan, Cheng Expires August 2002 [Page 13]