INTERNET-DRAFT C. W. Ng Document: draft-ng-opes-irmlqos-00.txt P. Y. Tan Expires: January 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 suggests extensions to IRML for better QoS support. Ng, Tan, Cheng Expires January 2002 [Page 1] INTERNET-DRAFT QoS Extension to IRML July 2001 Table of Contents 1. Introduction....................................................2 1.1. Terms Used....................................................2 2. Example Services for QoS Policing in OPES Services..............2 2.1. Adaptation of HTML Contents...................................2 2.2. Dynamic Adaptation of Streaming Contents......................3 2.3. QoS Policy Control............................................4 2.4. Load-Balancing................................................4 3. Requirements for QoS Extension..................................4 4. Proposal to IRML Extensions.....................................5 4.1. QoS Policy Properties.........................................5 4.2. Network Status Properties.....................................5 4.3. Intermediary Load Properties..................................7 5. Examples........................................................7 6. References......................................................9 7. AuthorÆs Address................................................9 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 illustrates examples of employing the IRML for Quality of Service (QoS) policing and control, and suggests extensions to IRML for better QoS support. 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 extension to the IRML is drafted in Section 3. Section 4 proposed a set of QoS extension to the "property" element defined in the IRML, and Section 5 presents some examples illustrating possible use of these extensions. 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 Ng, Tan, Cheng Expires January 2002 [Page 2] INTERNET-DRAFT QoS Extension to IRML July 2001 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 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. 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 a 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-rate. When the transport technologies employed within the network core are best-effort delivery in nature, it is very difficult to guaranteed 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. Ng, Tan, Cheng Expires January 2002 [Page 3] INTERNET-DRAFT QoS Extension to IRML July 2001 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: (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 Extension In consideration to the example services illustrated in the previous sections, a preliminary set of requirements for the QoS extension to the IRML can be outlined as follow: Ng, Tan, Cheng Expires January 2002 [Page 4] INTERNET-DRAFT QoS Extension to IRML July 2001 - 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. 4. Proposal to IRML Extensions In order to extend QoS-aware services in the OPES intermediary, it is proposed that the recognized property names of the "property" element in IRML be extended to include various QoS-related properties. These will be described in the following sub-sections. 4.1. QoS Policy Properties The following are the proposed QoS policy parameters to be extended to the "property" element. 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 to be extended to the "property" element. 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 in the Ng, Tan, Cheng Expires January 2002 [Page 5] INTERNET-DRAFT QoS Extension to IRML July 2001 case of RTP connections, from the RTCP sender/receiver reports [7]. Specification of such interface/module is out of scope. 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 January 2002 [Page 6] INTERNET-DRAFT QoS Extension to IRML July 2001 4.3. Intermediary Load Properties The following are the proposed server load parameters to be extended to the "property" element, in addition to the existing "system-time" and "system-date" definitions. 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 5. Examples The first example below illustrates the case where a HTML page is adapted to suit the allocated bandwidth of the client. Here, we assume that there is a sub-system to check the allocated bandwidth and classify it to a relevant tag of "low", "medium", or "high". checkBandwidth proxylet://localhost/html2wml?target=tiny proxylet://localhost/html2wml?target=small proxylet://localhost/html2wml?target=large The second example illustrates the scenario where an adaptation service is carried out in locally or remotely based on the system processor load. It also illustrates the adaptations of video stream based on the connection status. This examples assumes that there is sub-system to classify the system load and receiver fraction lost report to an appropriate tag of "low", "mediumö, or "high". Ng, Tan, Cheng Expires January 2002 [Page 7] INTERNET-DRAFT QoS Extension to IRML July 2001 checkSystemLoad checkConnectionStatus icap://video.adpat.server/video-adpat proxylet://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. checkBandwidth proxylet://stillimage.server/jpeg-only proxylet://content.server/resume proxlet://videoFEC.correct.server/video-FEC Ng, Tan, Cheng Expires January 2002 [Page 8] INTERNET-DRAFT QoS Extension to IRML July 2001 6. 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- 00.txt, February 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] Schulzrine, H., Casner, S., Frederick, R., Jabcobson, V., "RTP: A Transport Protocol for Real-Time Applications", RFC 1889, January 1996. 7. Author's Address Chan-Wah Ng Panasonic Singapore Laboratories Pte Ltd Blk 1022 Tai Send Ave #04-3530 Tai Seng Industrial Estate Singapore 534415 Phone: (+65) 381 5420 Email: cwng@psl.com.sg PekûYew TAN Panasonic Singapore Laboratories Pte Ltd Blk 1022 Tai Send Ave #04-3530 Tai Seng Industrial Estate Singapore 534415 Phone: (+65) 381 5470 Email: pytan@psl.com.sg Hong CHENG Panasonic Singapore Laboratories Pte Ltd Ng, Tan, Cheng Expires January 2002 [Page 9] INTERNET-DRAFT QoS Extension to IRML July 2001 Blk 1022 Tai Send Ave #04-3530 Tai Seng Industrial Estate Singapore 534415 Phone: (+65) 381 5477 Email: hcheng@psl.com.sg Ng, Tan, Cheng Expires January 2002 [Page 10]