﻿<?xml version="1.0" encoding="utf-8"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC7252 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7252.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<!--JS modifies the tittle-->
<rfc category="info" docName="draft-suznjevic-tsvwg-mtd-tcmtf-05" ipr="trust200811">

  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="Delay Limits and Policies for TCM">Delay Limits and Multiplexing Policies to be employed with Tunneling Compressing and Multiplexing Traffic Flows </title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

	
	<author fullname="Mirko Suznjevic" initials="M." surname="Suznjevic">
      <organization>University of Zagreb</organization>
      <address>
        <postal>
          <street>Faculty of Electrical Engineering and Computing, Unska 3</street>
          <!-- Reorder these if your country does things differently -->
          <city>Zagreb</city>
          <region></region>
          <code>10000</code>
          <country>Croatia</country>
        </postal>
        <phone>+385 1 6129 755</phone>
        <email>mirko.suznjevic@fer.hr</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>  
	
    <author fullname="Jose Saldana" initials="J." surname="Saldana">
      <organization>University of Zaragoza</organization>
      <address>
        <postal>
          <street>Dpt. IEC Ada Byron Building</street>
          <!-- Reorder these if your country does things differently -->
          <city>Zaragoza</city>
          <region></region>
          <code>50018</code>
          <country>Spain</country>
        </postal>
        <phone>+34 976 762 698</phone>
        <email>jsaldana@unizar.es</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
       
    


    <date month="June" year="2015" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Transport</area>

    <workgroup>Transport Area Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>traffic optimization</keyword>
    <keyword>header compression</keyword>
    <keyword>multiplexing</keyword>
    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
    
      <t>This document contains recommendations to be taken into account when using methods 
      which optimize bandwidth utilization through Tunneling Compressing and Multiplexing (TCM) 
      traffic flows over a network path. Different multiplexing policies and implementation 
      issues which are service and link specific are discussed.  Additionally, this document 
      describes policies which can be used for detecting, classifying, and choosing the network 
      flows suitable for optimization by using TCM. Finally, recommendations of maximum tolerable 
      delays to be added by optimization techniques are reported. Recommendations are presented only 
      for network services for which such bandwidth optimization techniques are applicable 
      (i.e., services with low payload to header size ratio, which will also be denoted as “small-packet flows”).      
  </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      	<t>This document extends the draft <xref target="TCM"></xref> with a set of recommendations 
      	regarding the processes of traffic optimization, which may include compressing, multiplexing, 
        and/or tunneling a number of packets.  These recommendations are 
     	needed because these traffic optimization techniques, while saving bandwidth and reducing overhead, 
      	may cause network impairments if packets are delayed before being sent together. These techniques 
        are also proposed at layer 2. For example,
        in <xref target="IEEE.802-11N.2009"></xref>, a number of Protocol Data Units can be grouped 
        and transmitted together.</t>
      	
      	<t>Network delay is one of the main factors which can degrade the 
      	Quality of Experience (QoE) of real-time network services  <xref target="RFC6390">RFC 6390</xref>
      	<xref target="TGPP_TR26.944"></xref>. In order to prevent the perceived quality degradation of 
      	the services when using TCM, a policy defining a multiplexing period can be employed.</t>

		<t>First, the document describes different multiplexing policies which can be employed for 
		defining which native packets are multiplexed  together. A policy combining a multiplexing period 
		and a packet size limit is proposed in order to put an upper bound on the added delay. </t>

		<t>Additionally, this document describes the policies that can be employed for detecting, 
		classifying, and choosing the network flows suitable for TCM optimization.</t>

		<t>Finally, values for maximum tolerable delays presented here from the base of the proposed 
		multiplexing policy. The recommendations are presented for both real-time and non real-time 
		network services in which TCM bandwidth optimization is applicable (i.e., services which 
		have low payload-to-header-size ratio, which results in high protocol overhead, which will 
		also be denoted as small-packet flows).</t>
	
      <section title="Requirements Language">
        <t>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 <xref
        target="RFC2119">RFC 2119</xref>. </t>
      </section>
	 </section>
	  
	 <section title="Terminology">       
 
		<t>This document uses a number of terms to refer to the roles
   		played by participants in, and objects of, the TCM sessions.</t>

		<t>TCM optimizer</t>
		
		<t> The host where TCM optimization is deployed. If that hosts corresponds to the ingress of the 
        tunnel where native packets are included it is called TCM-ingress optimizer (TCM-IO).</t>

		<t>The host where TCM multiplexed packets are received and rebuilt to their native 
		form is called TCM-egress optimizer (TCM-IO). It corresponds to the tunnel egress.</t>

		<t>policy manager</t>

		<t>A network entity which makes the decisions about TCM parameters: multiplexing 
		period; flows to be multiplexed together, depending on their IP addresses, ports, etc. 
		It is connected with a number of TCM optimizers, and orchestrates 
		the optimization that takes place between them.</t>

		<t>native packet</t>

		<t>A packet sent by an application, belonging to a flow that can be optimized by means of TCM.</t>

		<t>TCM-optimized packet</t>

		<t>A packet including a number of multiplexed and header-compressed native ones, and also a 
		tunneling header shared by all the packets, as detailed by TCM.</t>

	 </section>

	<section title="Considered services">
		<t>The services considered suitable for being optimized by TCM are
   		those that generate long-term flows of small packets, with a low 
   		payload to header size ratio. Some real-time and some non real-time services are suitable 
   		for optimization by means of TCM.</t>

		<section title="Real-time services">
			<t> Under the term "real-time network services" we consider both
			conversational and streaming service classes as defined
			in <xref target="TGPP_TS"></xref>. Interactive and background services are considered non
			real-time. Fundamental requirements of real-time network services
			include conversational pattern (stringent and low delay) and
			preservation of the time relation (variation) between the information
			entities of the stream.</t>

			<t>We identify the following real-time network services with low payload
			to header size ratio as candidates for the bandwidth
			optimization techniques presented in TCM:</t>
			
			<t><list style="symbols">
			<t>Voice over IP </t>
    		<t>Online games</t>
    		<t>Remote desktop services</t>   
			</list></t>
			
	 		<t>While video services are considered real-time, they are not suitable
			for bandwidth optimization techniques proposed in 
			<xref target="TCM"></xref>, due to their
			high payload to header size ratio.  Due to the same
			reason, we do not take into account cloud gaming services.  In such
			gaming services all the calculations of the game state are deployed
			at the server and a real-time video stream is sent to the client.  In
			these cases, TCM optimization is neither interesting nor
			applicable.</t>   		
		</section>


		<section title="Non real-time services">
			<t>On the other hand, TCM can be applied for some non
			real-time services such as streaming audio, and instant
			messaging.  These applications are suitable for TCM in terms of
			payload to header size ratio, but different studies have shown that
			acceptable delays for these services are up to several seconds
			<xref target="ITU-T_G.1010"></xref>. Also, some types of machine to machine (M2M) traffic
			(e.g., metering messages from various sensors) may have traffic
			properties suitable for TCM. Acceptable delays for these services can be go up to
			an hour <xref target="Liu_M2M"></xref>. We list limitations for these services as well,
			although in the practical application TCM should not introduce
			delays which would be noticeable in comparison with delays of such
			magnitude (i.e., seconds and more).</t>
		</section>
		
	</section>
	 
    <section title="Multiplexing policies in TCM">
	    <t>A multiplexing policy defines the decision process for determining which native packet goes in which multiplexed packet. The policies
		proposed for TCM are:</t>
	
		<t><list style="symbols">  
		<t>Fixed number of packets - once a fixed number of packets (N) has arrived, a multiplexed packet is created and sent.</t>
	    <t>Size limit - once a size limit is reached (e.g., next to the MTU of the underlying network), a multiplexed packet is sent.</t>
	    <t>Period – a multiplexed packet is sent every time period T.</t>   
		<t>Timeout - sends a multiplexed packet if a native one arrives and the time since the last multiplexed packet departure is above a
	    defined timeout value.</t>
		</list></t>  
		<t>Only the two latter policies are able to control the additional
		delay introduced by multiplexing.  In addition, different policies
		can be combined.</t>

		<t>In this document we focus on the combination of “size limit” and “period” policies, as shown in <xref target="period_policy"></xref>. A multiplexed packet 
		is sent at the end of each “period”. However, if the size limit is reached, then a multiplexed packet is sent immediately, and the 
		period is “reset”. Thus, the added delay is for the worst case scenario equal to the defined period.</t>
		<t>
 		<vspace blankLines='100' />
</t>
		<figure align="center" anchor="period_policy">
		
	        <preamble></preamble>

	        <artwork align="center"><![CDATA[

native traffic:

 |<--P-->|<--P-->|<--P-->|<--P-->|<-t*->|<--P-->|
 |       |       |       |       |      |       |
 |#   #  | #  #  |       |   #  #|######| #    #|
-------------------------------------------------------> t

multiplexed traffic:

 |       |       |       |       |      |       |
 |       |#      |#      |       |#     |##     |#
 |       |#      |#      |       |#     |##     |#
-------------------------------------------------------> t
 
* period reset (t<P) because size limit is reached]]></artwork>
	    <postamble>Combined “period” and “size limit” policies</postamble>
		</figure>
	
	
		<t>It should be noted that the number of aggregated flows and their packet
		rate will have an influence on the average multiplexing delay added.
		If the number of flows is high, then the MTU size will be reached before
		the end of the period in most cases, so the additional delay will be
		smaller than the period. The recommendations presented in this
		document present the maximum period values to be used as a limit, in order
		to avoid delays which could impair the quality of the service.</t>
    </section>

	<section title="Detecting, classifying, and choosing network flows to be optimized">
    	<t>Three basic issues need to be solved in order to employ TCM
		optimization. First, the flows which are candidates for optimization
		need to be detected from the overall traffic mix.  Secondly, the
		flows need to be classified into one of the defined categories so an
		adequate multiplexing period can be assigned.  Finally, the decision
		whether a specific flow will be optimized or not using TCM needs to
		be made.</t>
	
		<section title="Optimization within an administrative domain">
		
			<t>Several scenarios can be considered for the use of TCM. If the optimization 
			is deployed within an administrative domain, then all the data of the end hosts, the 
			service class, etc., are known by the TCM optimizers.</t>

			<t>Two examples of this are 1) the end-to-end
			optimization and aggregation of a number of flows between two offices
			of the same company and 2) the agreement between a network operator and
			a game provider in order to multiplex all the packets generated in an
			aggregation network with destination on a game server. In these cases, 
			the detection and classification of the
			desired flows will be straightforward, since the TCM optimizer can simply
			inspect the destination IP address and port, and apply the traffic
			category according to the kind of service.</t>
	
		</section>

		<section title="Optimization based on statistics">

			<t>If the optimization is not performed within an administrative domain, then the 
			detection and classification of the flows, and the decision about multiplexing them, 
			will have to be based on statistics of the traffic and heuristics. The intelligence 
			of the flow identification method can be improved according to the statistics of already 
			classified flows. E.g., if a number of small-packet flows sharing the same IP destination 
			address are found, then this destination host can be classified as a frequent receiver of 
			small-packet flows, and a tunnel including all the packets addressed to it can be set 
			within a common network path.</t>

			<t>In addition, statistics can be enriched by the assignment of the traffic class, taking 
			into account that some services, in addition to well-known ports, also have well-known IP 
			addresses. E.g., the traffic travelling to the IP address of a popular online game server, 
			can be associated with the proper traffic class; or the ports corresponding to certain 
			services can also be identified and used in order to improve the classification.</t>

			<t>The detection of the flows candidates for TCM optimization should
			be done based on flow characteristics, primarily on the packet
			payload to header ratio and on the packet rate.  As these properties
			cannot be established from statistics of just one packet, it is needed to
			gather a certain number of packets for each new flow arriving at the
			 TCM optimizer, and to use some heuristics in order to decide whether
			to multiplex a certain flow or not.</t>

			<t>The classification method employed for the TCM needs to identify only
			the flows which are candidates for the TCM
			optimization.  Therefore, the classification problem is significantly
			simplified by removal of peer to peer (P2P) downloading applications,
			video streaming, data transfer, and all other services which in
			general, utilize large packets.  This is especially important as P2P
			applications are known to use various non assigned ports which may
			greatly ruin the performance of simple traffic classification
			methods.  For the purposes of TCM optimization there is no need to
			identify a particular application, only the delay sensitive class in
			which that application falls.  Also, the traffic classification
			methods employed by TCM need to be able to assign flows to
			respective delay sensitive classes in real time.  Current network
			traffic classification methods can be grouped into <xref target="Nguyen_TCSurvey"></xref>:</t>
			
			<t><list style="symbols">
				<t>Port based - through lookup of port numbers of endpoints in the Internet Assigned 
				Numbers Authority (IANA)'s list of registered ports.</t>
    			<t>Payload based - through stateful reconstruction of session and application information 
    			from each packet's content.</t>
    			<t>Statistical - through comparison of the statistical properties of the traffic at the network layer.</t>   
			</list></t>
			
			<t>While payload inspection does give the best results, and is often
			used as ground truth in classification of network traffic, it is
			demanding computation wise. Also, these techniques may be
			interpreted as a violation of privacy.  For the purposes of TCM we
			recommend using a combination of port based classification (which can
			yield very good results for games based on a client-server
			architecture and remote desktop services), and inspection of
			statistical properties of the flows.  One such algorithm has been employed
			for classification of different types of game flows and showed good
			results <xref target="Han_GameClassification"></xref>. TCM should use metadata
			information regarding the traffic class of particular flow where such
			information is available as that significantly simplifies the detection
			and classification problem.</t>

			<t>The decision whether the flow should be optimized with TCM can be
			made based on the following policies (configurations of the multiplexing node):</t>

			<t><list style="symbols">
				<t>A static configuration - predefined rule set for each new occurring flow, so the TCM optimizer makes a decision.</t>
			    <t>A policy manager which dynamically enforces the rule set.</t>
			    <t>The TCM optimizer demands instructions for each new flow from the policy manager.</t>   
			</list> </t>
		</section>
	</section>

   
	
	<section title="Delay recommendations">
		<t>The three normally considered network impairments in the studies related to subjective quality in real-time interactive games are:</t>
		
		<t><list style="symbols">
			<t>delay - can be reported as one-way-delay (OWD) <xref target="RFC2679"></xref> and two-way-delay 
			(Round Trip Time) <xref target="RFC2681"></xref>. In this document, under the term latency, one way end-to-end delay is considered.</t>
			<t>delay variation - which is a statistical variance of the data packet inter-arrival time, in other words the variation of 
			the delay as defined in <xref target="RFC3393">RFC 3393</xref>. </t>
			<t>packet loss - more important for certain applications, while other include very good algorithms for concealing it (e.g., some game genres).</t>
		</list></t>
		
		<t>In this document we give recommendations for overall tolerable delays
   		to be taken into account when optimizing  network services by means of TCM.  In an interactive
		service, the total delay is composed by the addition of delays as defined in 3GPP TR 26.944 <xref target="TGPP_TR26.944"></xref>.</t> 
	
		<t><list style="symbols">
			<t>Transfer delay - from Host1 to Host2 at time T is defined by the statement: Host1 sent the first bit of a unit data to Host2 at
      		wire-time T and that Host2 received the last bit of that packet at wire-time T+dT. Thus, it includes the transmission delay 
      		(the amount of time Host1 requires to push all of the packet's bits into the wire) and the propagation delay in the network 
      		(the amount of time it takes for the head of the packet to travel from Host1 to Host2).</t>		
			<t>Transaction delay - the sum of the time for a data packet to wait in queue and receive the service during the server transaction.</t>
		</list></t>

		
		<figure align="center" anchor="delays_no_mux">
        	<preamble></preamble>

        	<artwork align="center"><![CDATA[
+-----------+                          +-----------+
|   Host1   |                          |   Host 2  | 
+-----------+                          +-----------+
       S-------                                   |   ^       ^
       |       -------                            |   |       |
       |              -------                     |transf.    |
       |                     -------              |   |       |
       |                            -------       |   v       |
       |                                   ------>R   ^       |
       |                                          |   |       |
       |                                          |transac. total RTT
       |                                          |   |       |
       |                                   -------S   v       |
       |                            -------       |   ^       |
       |                     -------              |   |       |
       |              -------                     |transf.    |
       |       -------                            |   |       |
       R<------                                   |   v       v
       |                                          |
                    S: Packet sent
                    R: Packet received           ]]></artwork>
        	<postamble></postamble>
      	</figure>

		<t><xref target="delays_no_mux"></xref> illustrates these delays.  The labeled times (S and R) designate the times in which the 
		packet is sent and received, respectively, by the network card interface.</t>

		<t>The use of TCM requires the addition of TCM optimizers in the scenario.  A number of flows are multiplexed
		together before being sent through the network. The packets are
		demultiplexed and rebuilt before being forwarded to the application
		server.  A scheme of TCM is included in <xref target="tcmtf_scheme"></xref>:</t>

		<figure align="center" anchor="tcmtf_scheme">
        	<preamble></preamble>

        	<artwork align="center"><![CDATA[
+--------+
|client 1|___
+--------+   \
              \               _  _
+--------+    +--------+     ( `   )_        +--------+   +------+
|client 2|--->| TCM-IO |--> (    )    `) --->| TCM-EO |-->|server|
+--------+    +--------+   (_   (_ .  _) _)  +--------+   +------+
              /               Internet
             /
+--------+  /     <--------------TCM----------->
|client n|_/
+--------+
                          ]]></artwork>
        	<postamble></postamble>
      	</figure>

		<t>This technique groups packets in order to build a multiplexed one.
		As previously stated, the focus of this document is on "multiplexing
		period" policy for creating the multiplexed packet combined with size
		limit policy.  Multiplexing period is a time frame in which the
		TCM optimizer waits for native packets to arrive in order to send them
		as one multiplexed packet.  If the multiplexed packet size limit is
		reached before the multiplexing period has run out (i.e., if enough
		native packets arrive to fill the limit), the multiplexed packet is
		sent right away.  In this way a certain amount of delay caused by the
		TCM optimization is added in the communication.  It is important to
		emphasize that multiplexing delay can’t exceed the
		multiplexing period, and that it will only reach the value of
		multiplexing period on a link with a low traffic load.  Multiplexing
		delay can be classified as caused by the middlebox presence as
		defined in RFC 6390  <xref target="RFC6390">RFC 6390</xref>. The delay 
		in the TCM-IO includes the time during which the packets are retained until the bundled packet
		is sent, plus processing time. In the TCM-EO however, the packets
		are not retained, so only the processing time is considered.</t>

		<t><xref target="delays_mux"></xref> shows the total delay, when a TCM optimizers are added. It should be noted that multiplexing can
		be deployed independently in both directions, or only in one of them.</t>

		<figure align="center" anchor="delays_mux">
        	<preamble></preamble>
        	<artwork align="center"><![CDATA[
+---------+     +----------+      +---------+    +---------+
| Host 1  |     |  TCM-IO  |      |  TCM-EO |    | Host 2  |
+---------+     +----------+      +---------+    +---------+
    S-------         |                 |             |   ^       ^
    |       -------  |                 |             |   |       |
    |              --R     ^           |             |   |       |
    |                |     |           |             |   |       |
    |                |    mux          |             |   |       |
    |                |     |           |             |   |       |
    |                |     |           |             | transf.   |
    |                S---- v           |             | (& mux)   |
    |                |    -------      |             |   |       |
    |                            ------R    ^        |   |       |
    |                                  |  demux      |   |     total
    |                                  |    |        |   |      RTT
    |                                  S--- v        |   v       |
    |                                  |   --------->R   ^       |
    |                                                |   |       |
    |                                                |transac.   |
    |                                                |   |       |
    |                                        --------S   v       |
    |                                --------        |   ^       |
    |                        --------                |   |       |
    |                --------                        | transf.   |
    |         -------                                |   |       |
    R<--------                                       |   v       v
    |                                                |
                    S: Packet sent
                    R: Packet received  
 ]]></artwork>
        	<postamble></postamble>
		</figure>

		<t>With respect to efficiency in terms of use of the bandwidth, a tradeoff appears: the longer the multiplexing 
		period, the higher the number of packets which can be grouped, thus obtaining better bandwidth savings.  So in order 
		to calculate the maximum multiplexing period, the rest of the delays have to be considered: if the sum of transaction, 
		and transfer delays is under the maximum tolerable delay, then multiplexing will be possible without harming the 
		user experience.  The  overall delay may be calculated according to the ITU-T Y.1541 recommendation 
		<xref target="ITU-T_Y.1541"></xref>. Subtracting propagation, processing, and transmission delay from the tolerable 
		delay for specific service results in the maximum value of the multiplexing period. </t>
 
		<t>Next, we will report the maximum tolerable latency for the previously listed real-time network services.</t>
	
		<section title="VoIP">
			<t>For conversational audio, the International Telecommunication Union recommends <xref target="ITU-T_G.114"></xref>  
			less than 150 millisecond one-way end-to-end delay for high-quality real time traffic, but delays between 150 ms and 400 ms 
			are acceptable. When considering conversational audio it should be noted that this delay limits include jitter buffers 
			and codec processing. For streaming audio, delay constraints are much looser, the delay should be less than 10 s
			<xref target="ITU-T_G.1010"></xref>. Tunneling Multiplexed Compressed RTP (TCRTP) <xref target="RFC4170"></xref> already considers tunneling, compressing and multiplexing VoIP packets.</t>
		</section>
		
		<section title="Online games">
			<t>Online games comprise game genres which have different latency requirements. This draft focuses on real-time 
			online games and endorses the general game categorization proposed in <xref target="Claypool_Latency"></xref> in which 
			online games have been divided into:</t>
		
			<t><list style="symbols">	
				<t>Omnipresent, with the threshold of acceptable latency (i.e., latency in which performance is above 75% of the unimpaired
				performance) of 1000 ms.  The most representative genre of omnipresent games are Real-Time Strategies.</t>
	
				<t>Third Person Avatar, with the threshold of acceptable latency of 500 ms.  These games include Role Playing Games (RPG) and Massively
				Multiplayer Online Role-Playing Games (MMORPG).</t>
	
				<t>First Person Avatar, in which threshold of acceptable latency is 100 ms.  The most popular subgenre of them are First Person
				Shooters, such as "Call of Duty" or "Halo" series.</t>
			</list></t>
		
			<t>As remarked in <xref target="Bernier_Latency"></xref> and <xref target="Oliveira_online"></xref>, different methods can be 
			employed to combat delay in online games. The so-called “client-side prediction” has been largely used in First 
			Person Shooters. It can be divided into “input prediction” and “dead reckoning,” where input prediction 
			hides the latency for the client-controlled actions while dead reckoning hides the latency of other 
			participating players.</t>
			
			<t>The study <xref target="Claypool_Latency"></xref> evaluated players' performance in certain tasks, while increasing latency, 
			and reported values at which the performance dropped below 75% of the performance under unimpaired network conditions. 
			While measuring objective performance  metrics, this method highly underestimates the impact of delays on players' QoE.
			Further studies accessing a particular game genre reported much lower latency thresholds for unimpaired gameplay.</t>
			
			<t>Other approach some studies have taken is to perform “objective measurements” <xref target="Kaiser_objective"></xref> 
			a number of identical “bots”, i.e. virtual avatars controlled by Artificial Intelligence, are placed in the same virtual scenario and a number of 
			parties between them are performed. If the number of parties if high enough, then the score will be the same for all the 
			bots. Then, different network impairments (latency, jitter, packet loss) are added to one of the bots, and another set of 
			tests is performed. The performance degradation of the network-impaired bot can then be statistically characterized. </t>
			
			<t>A survey using a large number of First Person Shooter games has been carried out in <xref target="Dick_Analysis"></xref>.
			They state that latency about 80 ms could be considered as acceptable, since the games have been rated as "unimpaired". Besides service 
			QoE, it has been shown that delay has great impact on the user's decision to join a game, but significantly less on the decision to 
			leave the game <xref target="Henderson_QoS"></xref>.</t>
		
			<t>A study on Mean Opinion Score (MOS) evaluation, based on variation of delay and jitter for MMORPGs, suggested that MOS drops below 
			4 for delays greater than 120 ms <xref target="Ries_QoEMMORPG"></xref>. The MOS score of 5 indicates excellent quality, while MOS score of 1 indicates bad quality.
			Another study focused on extracting the duration of play sessions for MMORPGs from the network traffic traces showed that the session 
			durations start to decline sharply when round trip time is between 150 ms and 200 ms <xref target="Chen_HowSensitive"></xref>.</t>
		
			<t>While original classification work <xref target="Claypool_Latency"></xref> states that latency up to 1 second is tolerated by omnipresent games, other studies
   			argued that only latency up to 200 ms is tolerated by players of RTS games <xref target="Cajada_RTS"></xref>.</t>
		</section>
	
		<section title="Remote desktop access">	
			<t>	For the remote computer access services, the delays are dependent on the task performed through the remote desktop. 
			Tasks may include operations with audio, video and data (e.g., reading, web browsing, document creation).  A QoE study 
			indicates that for audio latency below 225 ms and for data latency below 200 ms is tolerated <xref target="Dusi_Thin"></xref>. </t>		
		</section>
	
		<section title="Non real-time service">	
			<t>Traffic flows of several types of non real-time services can be optimized using TCM. Under this category we 
			include services for M2M metering information, streaming audio, and instant messaging. M2M metering services 
			are suitable for TCM optimization not only due to their very loose delay requirements, but also because of the one way nature 
			of the communication (i.e., most information travels from sensors to the central server) <xref target="Liu_M2M"></xref>. The signalling information related to M2M can also be optimized. Internet of Things application layer protocols such as CoAP 
			<xref target="RFC7252">RFC 7252</xref>, used in Constrained RESTful Environments (CoRE)<xref target="RFC6690"></xref>, 
			work over UDP and send small packets. The ACK_TIMEOUT period in CoAP is set to 2 seconds. Instant messaging (despite "instant" 
			in its name) has been categorized as data service by the ITU-T, and it has been designated with acceptable delays of up to 
			a few seconds <xref target="ITU-T_G.1010"></xref>. </t>
		</section>
	
		<section title="Summary">	
			<t> We group all the results in the <xref target="final_recommendations"></xref> indicating the maximum allowed latency and proposed 
			multiplexing periods. Proposed multiplexing periods are guidelines, since the exact values are dependant of the existing delay in the 
			network. It should be noted that reported tolerable latency is based on values of preferred delays, and delays in which QoE estimation 
			is not significantly degraded. Multiplexing periods of about 1 second can be considered as sufficient for non real-time services (e.g., streaming audio).</t>
	
        <texttable anchor="final_recommendations" title="Final recommendations">
          <preamble></preamble>
          <ttcol align="center">Service</ttcol>
          <ttcol align="center">Tolerable latency (OWD) </ttcol>
		  <ttcol align="center">Mux. period</ttcol>
          <c>Voice communication</c>
          <c>&lt; 150ms</c>
		  <c>&lt; 30ms</c>
          <c>Omnipresent games</c>
          <c>&lt; 200ms</c>
		  <c>&lt; 40ms</c>
          <c>First person avatar games</c>
          <c>&lt; 80ms</c>
		  <c>&lt; 15ms</c>
          <c>Third person avatar games</c>
          <c>&lt; 120ms</c>
		  <c>&lt; 25ms</c>
          <c>Remote desktop</c>
          <c>&lt; 200ms</c>
		  <c>&lt; 40ms</c>
		  <c>Instant messaging</c>
          <c>&lt; 5s</c>
		  <c>&lt; 1s</c>
		  <c>M2M (metering)</c>
          <c>&lt; 1hour</c>
		  <c>&lt; 1s</c>
          <postamble></postamble>
        </texttable>
	</section>
	</section>
	 
	 <!-- JS adds this section. It is compulsory-->
	 <section anchor="Acknowledgements" title="Acknowledgements">
         <t>
             Jose Saldana was funded by the
             EU H2020 Wi-5 project (Grant Agreement no: 644262).
         </t>

     </section>

     <!-- Possibly a 'Contributors' section ... -->

     <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

     </section>
	 <section anchor="Security" title="Security Considerations">
      <t>No relevant security considerations have been identified</t>
     </section>


	 </middle> 
    <back>
    <references title="Normative References">
	
	<!--JS COMMENTS THIS: This bibliography was used to gather most of the information in the
	sections above as well as for general reference. -->
      &RFC2119;
      &RFC7252;
	  
	  <reference anchor="ITU-T_G.114" target="">
        <front>
          <title>ITU-T  Recommendation  G.114 One-way transmission time</title>
          <author>
            <organization>ITU-T</organization>
          </author>
		  <date year="2003" />
        </front>
        <seriesInfo name="ITU" value="G.114" />
      </reference>  
	  
  <reference anchor="RFC2681" target="">
        <front>
          <title> A Round-trip Delay Metric for IPPM</title>
          <author initials="G." surname="Almes">
            <organization></organization>
          </author>
		  <author initials="S." surname="Kalidindi">
            <organization></organization>
          </author>
		  <author initials="M." surname="Zekauskas">
            <organization></organization>
          </author>
 		  <date year="September 1999" />
        </front>
        <seriesInfo name="RFC" value="2681" />
      </reference>
	  
	   <reference anchor="RFC3393" target="">
        <front>
          <title>IP Packet Delay Variation Metric
                   for IP Performance Metrics (IPPM) </title>
          <author initials="C." surname="Demichelis">
            <organization>Telecomitalia Lab</organization>
          </author>
		  <author initials="S." surname="Chimento">
            <organization></organization>
          </author>
		  <author initials="P." surname="Zekauskas">
            <organization>Ericsson IPI</organization>
          </author>
 		  <date year="November  2002" />
        </front>
        <seriesInfo name="RFC" value="3393" />
      </reference>

	      <reference anchor="RFC2679" target="">
        <front>
          <title> A One-way Delay Metric for IPPM</title>
          <author initials="G." surname="Almes">
            <organization></organization>
          </author>
		  <author initials="S." surname="Kalidindi">
            <organization></organization>
          </author>
		  <author initials="M." surname="Zekauskas">
            <organization></organization>
          </author>
 		  <date year="September 1999" />
        </front>
        <seriesInfo name="RFC" value="2679" />
      </reference>
	  
	    <reference anchor="RFC6390" target="">
        <front>
          <title>Guidelines for Considering New Performance Metric Development</title>
          <author initials="A." surname="Clark">
            <organization>Telchemy Incorporated</organization>
          </author>
		  <author initials="B." surname="Claise">
            <organization>Cisco Systems, Inc.</organization>
          </author>
		  <date year="October  2011" />
        </front>
        <seriesInfo name="RFC" value="6390" />
      </reference>
	  
	  <reference anchor="RFC6690" target="">
        <front>
          <title>Constrained RESTful Environments (CoRE) Link Format</title>
          <author initials="Z." surname="Shelby">
            <organization>Sensinode</organization>
          </author>
		   <date year="August  2012" />
        </front>
        <seriesInfo name="RFC" value="6690" />
      </reference>
	  
	    <reference anchor="RFC4170" target="">
        <front>
          <title>Tunneling Multiplexed Compressed RTP (TCRTP)</title>
          <author initials="B." surname="Thompson">
            <organization>Cisco Systems</organization>
          </author>
		  <author initials="T." surname="Koren">
            <organization>Cisco Systems</organization>
          </author>
		   <author initials="D." surname="Wing">
            <organization>Cisco Systems</organization>
          </author>
		   <date year="November 2005" />
        </front>
        <seriesInfo name="RFC" value="6690" />
      </reference>
	  
  <reference anchor="ITU-T_G.1010" target="">
        <front>
          <title> End-user multimedia QoS categories </title> 
          <author initials="" surname="">
            <organization>International Telecommunication Union-Telecommunication</organization>
          </author>
		  <date year="2001" />
     
        </front>
        <seriesInfo name="SERIES G: TRANSMISSION SYSTEMS AND MEDIA, 
DIGITAL SYSTEMS AND NETWORKS; Quality of service and performance" value="" />
      </reference>
  
    <reference anchor="ITU-T_Y.1541" target="">
        <front>
          <title>; Network performance objectives for IP-based 
services </title> 
          <author initials="" surname="">
            <organization>International Telecommunication Union-Telecommunication</organization>
          </author>
		  <date year="2011" />
             </front>
        <seriesInfo name="SERIES Y: GLOBAL INFORMATION 
INFRASTRUCTURE, INTERNET PROTOCOL ASPECTS 
AND NEXT-GENERATION NETWORKS;
Internet protocol aspects – Quality of service and network 
performance" value="" />
      </reference>
	
        
        
    <reference anchor="IEEE.802-11N.2009" target="http://standards.ieee.org/getieee802/download/802.11n-2009.pdf">
<front>
<title>
Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications - Amendment 5: Enhancements for higher throughput
</title>
<author>
<organization/>
</author>
<date month="Oct" year="2009"/>
</front>
<seriesInfo name="IEEE" value="Standard 802.11n"/>
</reference>

    </references>


    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

	  <reference anchor="TCM" target="">
        <front>
          <title>Tunneling Compressed Multiplexed Traffic Flows (TCM)</title>
          <author initials="J." surname="Saldana">
            <organization>University of Zaragoza</organization>
          </author>
		  <author initials="D." surname="Wing">
            <organization>Cisco Systems</organization>
          </author>
		  <author initials="J." surname="Fernandez Navajas">
            <organization>University of Zaragoza</organization>
          </author>
		  <author initials="M. A. M." surname="Perumal">
            <organization>Cisco Systems</organization>
          </author>
		    <author initials="F." surname="Pascual Blanco">
            <organization>Telefonica I+D</organization>
          </author>
 		  <date year="2012" />
        </front>
        <seriesInfo name="Internet-Draft " value="Jul" />
      </reference>
	  
	  <reference anchor="Bernier_Latency" target="">
        <front>
          <title>Latency Compensating Methods in Client/Server In-Game Protocol Design and Optimization</title>
          <author initials="Y." surname="Bernier">
            <organization>Valve</organization>
          </author>
          <date year="2001" />          
        </front>
        <seriesInfo  name="Proc. Game Developers Conference, San Jose" value="Vol. 98033. No. 425." />
      </reference>
	  
      <reference anchor="Cajada_RTS" target="">
        <front>
          <title>VFC-RTS: Vector-Field Consistency para Real-Time-Strategy Multiplayer Games</title>
          <author initials="M." surname="Cajada">
            <organization>Instituto Superior Tecnico, Technical University Lisboa</organization>
          </author>
		  <date year="2012" />
        </front>
        <seriesInfo name="Master of Science Disertation" value="" />
      </reference>

      <reference anchor="Chen_HowSensitive" target="">
        <front>
          <title>How sensitive are online gamers to network quality?</title>
          <author initials="K.-T." surname="Chen">
            <organization></organization>
          </author>
          <author initials="P." surname="Huang">
            <organization></organization>
          </author>
          <author initials="L." surname="Chin-Luang">
            <organization></organization>
          </author>
		  <date year="2006" />
        </front>
        <seriesInfo name="Communications of the ACM" value="49" />
      </reference>

	  <reference anchor="Claypool_Latency" target="">
        <front>
          <title>Latency and player actions in online games</title>
          <author initials="M." surname="Claypool">
            <organization>Worcester Polytechnic Institute</organization>
          </author>
          <author initials="K." surname="Claypool">
            <organization>Oracle Corporation</organization>
          </author>
          <date year="2006" />          
        </front>
        <seriesInfo  name="Communications of the ACM" value="49" />
      </reference>
  
	  <reference anchor="Dick_Analysis" target="">
        <front>
          <title>Analysis of factors affecting players' performance and perception in multiplayer games</title>	
          <author initials="M." surname="Dick">
            <organization>Technische Universitat Braunschweig</organization>
          </author>
          <author initials="O." surname="Wellnitz">
            <organization>Technische Universitat Braunschweig</organization>
          </author>
		  <author initials="L." surname="Wolf">
            <organization>chnische Universitat Braunschweig</organization>
          </author>
          <date year="2005" />        
        </front>
        <seriesInfo name="Proceedings of 4th ACM SIGCOMM workshop on Network and system support for games, pp. 1 - 7" value="" />
      </reference>  
      
	   <reference anchor="Dusi_Thin" target="">
        <front>
          <title>A Closer Look at Thin-Client Connections: Statistical Application Identification for QoE Detection</title>
          <author initials="M." surname="Dusi">
            <organization>INEC Laboratories Europe</organization>
          </author>
          <author initials="S." surname="Napolitano">
            <organization>NEC Laboratories Europe</organization>
          </author>
          <author initials="S." surname="Niccolini">
            <organization>NEC Laboratories Europe</organization>
          </author>
		<author initials="S." surname="Longo">
            <organization>University of Napoli Federico II</organization>
          </author>
		  <date year="2012" />
        </front>
        <seriesInfo name="IEEE Communications Magazine, pp. 195 - 202" value="" />
      </reference>
	  
	  <reference anchor="Han_GameClassification" target="">
        <front>
          <title>Game Traffic Classification Using Statistical Characteristics at the Transport Layer</title>
          <author initials="Y-T." surname="Han">
            <organization>Department of Information and Communications, Korea Advanced Institute of Science and Technology</organization>
          </author>
          <author initials="H-S." surname="Park">
            <organization>Department of Information and Communications, Korea Advanced Institute of Science and Technology</organization>
          </author>
		  <date year="2010" />
        </front>
        <seriesInfo name="ETRI Journal pp. 22 - 32" value="32" />
      </reference>
      
	  <reference anchor="Henderson_QoS" target="">
        <front>
          <title>Networked games: a QoS-sensitive application for QoS-insensitive users?</title>
          <author initials="T." surname="Henderson">
            <organization>University College London</organization>
          </author>
          <author initials="S." surname="Bhatti">
            <organization>University College London</organization>
          </author>        
          <date year="2003" />        
        </front>
        <seriesInfo name="Proceedings of the ACM SIGCOMM workshop on Revisiting IP QoS: What have we learned, why do we care?, pp. 141-147 " value=""  />
      </reference>

	  <reference anchor="Kaiser_objective" target="">
        <front>
          <title>On the Objective Evaluation of Real-Time Networked Games</title>
          <author initials="A." surname="Kaiser">
            <organization>L2TI, Univ. of Paris 13, Villetaneuse, France</organization>
          </author>
          <author initials="D." surname="Maggiorini">
            <organization>L2TI, Univ. of Paris 13, Villetaneuse, France</organization>
          </author>    
          <author initials="K." surname="Boussetta ">
            <organization>L2TI, Univ. of Paris 13, Villetaneuse, France</organization>
          </author>
          <author initials="N." surname="Achir">
            <organization>L2TI, Univ. of Paris 13, Villetaneuse, France</organization>
          </author> 		  
          <date year="2009" />
        </front>
        <seriesInfo name="Proc. IEEE Global Telecommunications Conference (GLOBECOM 2009)" value="" />
      </reference>
	  
	  <reference anchor="Liu_M2M" target="">
        <front>
          <title>M2M-Oriented QoS Categorization in Cellular Network</title>
          <author initials="R." surname="Liu">
            <organization>Research Institute of Telecommunication Transmission China Academy of Telecommunication Research, MIIT </organization>
          </author>
		  <author initials="W." surname="Wu">
            <organization>Research Institute of Telecommunication Transmission China Academy of Telecommunication Research, MIIT </organization>
          </author>
		  <author initials="H." surname="Zao">
            <organization>Research Institute of Telecommunication Transmission China Academy of Telecommunication Research, MIIT </organization>
          </author>
		  <author initials="D." surname="Yang">
            <organization>Wireless Theories and Technologies Lab Beijing University of Post and Telecommunications </organization>
          </author>
		  <date year="2012" />
        </front>
        <seriesInfo name="Master of Science Disertation" value="" />
      </reference>
	  
	  <reference anchor="Nguyen_TCSurvey" target="">
        <front>
          <title>A Survey of Techniques for Internet Traffic Classification using Machine Learning</title>
          <author initials="T." surname="Nguyen">
            <organization>Centre for Advanced Internet Architectures, Swinburne University of Technology</organization>
          </author>
          <author initials="G." surname="Armitage">
            <organization>Centre for Advanced Internet Architectures, Swinburne University of Technology</organization>
          </author>    
		  <date year="2008" />
        </front>
        <seriesInfo name="IEEE Communications Surveys and Tutorials pp. 56 - 76." value="10" />
      </reference>
    
      <reference anchor="Oliveira_online" target="">
        <front>
          <title>What online gamers really think of the Internet?</title>
          <author initials="M." surname="Oliveira">
            <organization>University College London, UK</organization>
          </author>
          <author initials="T." surname="Henderson">
            <organization>University College London, UK</organization>
          </author>
		  <date year="2003" />
        </front>
        <seriesInfo name="Proceedings of the 2nd workshop on Network and system support for games (NetGames '03). ACM, New York, NY, USA" value="pp. 185-193"/>
      </reference>

      <reference anchor="Ries_QoEMMORPG" target="">
        <front>
          <title>Empirical Study of Subjective Quality for Massive Multiplayer Games</title>
          <author initials="M." surname="Ries">
            <organization>Inst. of Commun. Radio-Freq., Vienna Univ. of Technol</organization>
          </author>
          <author initials="P." surname="Svoboda">
            <organization>Inst. of Commun. Radio-Freq., Vienna Univ. of Technol</organization>
          </author>
          <author initials="M." surname="Rupp">
            <organization>Inst. of Commun. Radio-Freq., Vienna Univ. of Technol</organization>
          </author>
		  <date year="2008" />
        </front>
        <seriesInfo name="Proceedings of the 15th International Conference on Systems, Signals and Image Processing, pp.181 - 184" value=""/>
      </reference>
      
      <reference anchor="TGPP_TS" target="">
        <front>
          <title>Quality of Service (QoS) concept and architecture</title> 
          <author initials="" surname="">
            <organization>3rd Generation Partnership Project, European Telecommunications Standards Institute</organization>
          </author>
		  <date year="2012" />
             </front>
        <seriesInfo name="3GPP TS 23.107 version 11.0.0 Release 11" value="" />
      </reference>	  
	
	  <reference anchor="TGPP_TR26.944" target="">
        <front>
          <title>Technical Specification Group Services and System Aspects; End-to-end multimedia services performance metrics</title> 
          <author initials="" surname="">
            <organization>3rd Generation Partnership Project;</organization>
          </author>
		  <date year="2012" />
             </front>
        <seriesInfo name="3GPP TR 26.944  version 9.0.0" value="" />
      </reference>	  
	  
    </references>
    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
</rfc>