﻿<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [


<!ENTITY rfc7498 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.7498.xml'>
<!ENTITY rfc2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>

<!ENTITY I-D.ietf-mops-streaming-opcons SYSTEM 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mops-streaming-opcons.xml'>

]>

<rfc ipr="trust200902" category="info" docName="draft-krishna-mops-ar-use-case-00">

  <?rfc toc="yes"?>
  <?rfc symrefs="yes"?>
  <?rfc sortrefs="yes"?>
  <?rfc compact="yes"?>
  <?rfc subcompact="no"?>
  <?rfc private=""?>
  <?rfc topblock="yes"?>
  <?rfc comments="no"?>
  
  
  <front>
    <title abbrev="MOPS AR Use Case">Media Operations Use Case for an Augmented Reality Application on Edge Computing Infrastructure</title>
	
	<author fullname="Renan Krishna"
				initials="R."
				surname="Krishna">
			<organization>
				InterDigital Europe Limited
			</organization>
			<address>
				<postal>
					<street>64, Great Eastern Street</street>
					<city>London</city>	
					<code>EC2A 3QR </code>
					<country>United Kingdom</country>
				</postal>
				<email>renan.krishna@interdigital.com</email>
				<uri></uri>
			</address>
		</author>
	
    <author initials="A." surname="Rahman" fullname="Akbar Rahman">
      <organization>InterDigital Communications, LLC</organization>
      <address>
        <postal>
          <street>1000 Sherbrooke Street West</street>
          <city>Montreal</city>
          <code>H3A 3G4</code>
          <country>Canada</country>
          <region></region>
        </postal>
        <phone></phone>
        <email>Akbar.Rahman@InterDigital.com</email>
        <uri></uri>
      </address>
    </author>

	
	
    <date year="2020" month="July" day="9"/>

    <area>Operations and Management</area>
    <workgroup> MOPS</workgroup>


    <abstract>
      <t>
	  
	  A use case describing transmission of an application on the Internet that has several 
	  unique characteristics of Augmented Reality
	  (AR) applications is presented for the consideration 
	  of the Media Operations (MOPS) Working Group.  One key
	   requirement identified is that the Adaptive-Bit-Rate (ABR) algorithms' current usage of 
        policies based on heuristics and models is inadequate for AR applications running on the Edge Computing infrastructure.
	  
      </t>
    </abstract>


  </front>

  <middle>

    <section anchor="introduction" title="Introduction">
	  <t>
		The MOPS draft, <xref target="I-D.ietf-mops-streaming-opcons" />, provides an overview of operational networking issues
		that pertain to Quality of Experience (QoE) in delivery of video and other high-bitrate media over the Internet.  However, it
		does not cover the increasingly large number of applications with Augmented Reality (AR) characteristics and 
		their requirements on ABR algorithms.
      </t>      
	  
	  <t>
	    Future AR applications will bring several requirements for the Internet and the
		mobile devices running these applications. AR applications require a real-time processing of video streams to
		recognize specific objects. This is then used to overlay information on the
		video being displayed to the user.  In addition some AR applications will also require generation of new video
		frames to be played to the user. In order to run future applications with AR characteristics
		on mobile devices, computationally intensive tasks need to be offloaded to resources provided by Edge Computing.
	  </t>
	  
	  <t>
		Edge Computing is an emerging paradigm where computing resources and storage are made available in close 
		network proximity at the edge of the Internet to mobile devices and sensors <xref target="EDGE_1"/>, <xref target="EDGE_2"/>. 
      </t>
	  
	   <t>
		Adaptive-Bit-Rate (ABR) algorithms currently base their policy for bit-rate selection on heuristics or models 
		of the deployment environment that do not account for the environment's dynamic nature in use cases such as the 
		one we present in this document. Consequently, the ABR algorithms perform sub-optimally in such deployments <xref target="ABR_1"/>.
      </t>
	  
		
		



    </section>

	<section anchor="convention" title="Conventions used in this document">
        <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" />.
        </t>
    </section>

	<section anchor="use_case" title="Use Case">
	     <t> 
		 A use case that considers an application with AR systems' characteristics
		 is now described where a group of tourists are being conducted in a tour around
		 the historical site of the Tower of London.  As they move around the site and within the historical buildings, they can
		 watch and listen to historical scenes in 3D that are generated by the AR application and then
		 overlaid by their AR headsets onto their real-world view. The headset then continuously updates their view as they move around.
		 </t>
		
		<t>
		The AR  application processes the scene that the walking tourist is watching in real-time and identifies objects 
		that will be targeted for overlay of high resolution videos. It then generates high resolution 3D images
		of historical scenes  related to the perspective of the tourist in real-time. These generated video images are then
		overlaid on the view of the real-world as seen by the tourist. 
		</t>
		
		<t>
		
		Offloading to the remote Cloud is not feasible for applications with AR characteristics as the end-to-end delays 
		must be within the order of a few milliseconds. In order to achieve such hard timing constraints, computationally intensive
		tasks can be offloaded to Edge devices.
		</t>
		 
    </section>
	
	
	
	<section anchor="Req" title="Requirements">   
		<t>
        As discussed above  an AR application requires offloading of its components to resources
		provided by Edge Computing.  These components perform tasks such as real-time generation and processing of
		high-quality video content that are too computationally intensive for the mobile device.
		 
		</t>		
		
		<t>
		In addition, such applications require high bandwidth and low jitter to provide a high QoE to the user.
		Another consequence of running such computationally intensive applications on AR devices such as AR glasses is the
		excessive heat generated by the chip-sets that are involved in the computation <xref target="DEV_HEAT_1"/>.  Finally, 
		the battery on such devices discharges quickly when running such applications if some processing is not off-loaded to the Edge Computing.
		</t>
		
		<t>
		Note that the Edge device providing the computation and storage is itself limited in such resources compared to the Cloud.  So, 
		for example, a sudden surge in demand from a large group of tourists can overwhelm that device. This will result in a degraded user
		 experience as their AR device experiences delays in receiving the video frames. In order to deal 
		 with this problem, the client AR applications will need to use Adaptive Bit Rate (ABR) algorithms that choose bit-rates policies
		 tailored in a fine-grained manner 
		 to the resource demands and playback the videos with appropriate QoE metrics as the user moves around with the group of tourists.
		</t>

		<t>
        Thus, once the offloaded computationally intensive processing is completed on the Edge Computing, the video is streamed to the
		user using an optimal ABR algorithm. This imposes the following requirements on the ABR algorithm <xref target="ABR_1"/>: 
			
			<list style="symbols">
			   <t>Dynamically changing ABR parameters: The ABR algorithm must be able to dynamically change parameters given the 
			   fat-tailed nature of network throughput.  This, for example, may be accomplished by AI/ML processing on the Edge Computing
			   on a per client or global basis.
			   </t>
			   
			   <t>Handling conflicting QoE requirements: QoE goals often require high bit-rates, and low frequency of buffer refills. However
			   in practice, this can lead to a conflict between those goals. For example, increasing the bit-rate might 
			   result in the need to fill up the buffer more frequently as the buffer capacity might be limited on the AR device.  
			   The ABR algorithm must be able to handle this situation.</t>
			   
			   <t>Handling side effects of deciding a specific bit rate: For example, selecting a bit rate of a particular value might result
			   in the ABR algorithm not changing to a different rate so as to ensure a non-fluctuating bit-rate and the 
			   resultant smoothness of video quality . The ABR algorithm must be able to handle this situation.</t>
			   
			</list> 
		</t>
		
		
	  
	</section>
	

  </middle>
  
  
  
  <back>
    <references title="Informative References">
	  
	  &rfc2119;
	  &I-D.ietf-mops-streaming-opcons;
	  
	  
	     <reference anchor="DEV_HEAT_1" target="" >
	    <front>
          <title> Draining our Glass: An Energy and Heat characterization of Google Glass</title>
          <author initials="R" surname="LiKamWa" fullname="Robert LiKamWa">
            <organization />
          </author>
		  
		   <author initials="Z" surname="Wang" fullname="Zhen Wang">
            <organization />
          </author>
		  
		  <author initials="A" surname="Carroll" fullname="Aaron Carroll">
            <organization />
          </author>
		  
		  <author initials="F" surname="Lin" fullname="Felix Xiaozhu Lin">
            <organization />
          </author>
		  
		  
		  <author initials="L" surname="Zhong" fullname="Lin Zhong">
            <organization />
          </author>
		  
		  
		  
          <date year="2013"/>
        </front>
		<seriesInfo name="In Proceedings of" value="5th Asia-Pacific Workshop on Systems (pp. 1-7)"/>
        
        <format type="" />
	  </reference>
	  
	  
	  	  <reference anchor="EDGE_1" target="" >
	    <front>
          <title> The Emergence of Edge Computing</title>
          <author initials="M" surname="Satyanarayanan" fullname="Mahadev Satyanarayanan">
            <organization />
          </author>
          <date year="2017"/>
        </front>
		<seriesInfo name="In " value="Computer 50(1) (pp. 30-39)"/>
        
        <format type="" />
	  </reference>
	  
	  <reference anchor="EDGE_2" target="" >
	    <front>
          <title> The Seminal Role of Edge-Native Applications</title>
          <author initials="M" surname="Satyanarayanan" fullname="Mahadev Satyanarayanan">
            <organization />
          </author>
		  
		  <author initials="G" surname="Klas" fullname="Guenter Klas">
            <organization />
          </author>
		  
		  <author initials="M" surname="Silva" fullname="Marco Silva">
            <organization />
          </author>
		  
		  <author initials="S" surname="Mangiante" fullname="Simone Mangiante">
            <organization />
          </author>
		  
		  
		  
          <date year="2019"/>
        </front>
		<seriesInfo name="In " value="IEEE International Conference on Edge Computing (EDGE) (pp. 33-40)"/>
        
        <format type="" />
	  </reference>
	  
	  <reference anchor="ABR_1" target="" >
	    <front>
          <title> Neural Adaptive Video Streaming with Pensieve</title>
          <author initials="H" surname="Mao" fullname="Hongzi Mao">
            <organization />
          </author>
		  
		  <author initials="R" surname="Netravali" fullname="Ravi Netravali">
            <organization />
          </author>
		  
		  <author initials="M" surname="Alizadeh" fullname="Mohammad Alizadeh">
            <organization />
          </author>
		  
		  
          <date year="2017"/>
        </front>
		<seriesInfo name="In " value="Proceedings of the Conference of the ACM Special Interest Group on Data Communication, (pp. 197-210)"/>
        
        <format type="" />
	  </reference>
	  
	  
	  
	  

    </references>
  </back>
  
</rfc>