<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>

<rfc category="info" docName="draft-irtf-nfvrg-resource-management-service-chain-03"
ipr="trust200902">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes" ?>

<?rfc symrefs="yes" ?>

<?rfc sortrefs="yes"?>

<?rfc iprnotified="no" ?>

<?rfc strict="yes" ?>


  <!-- ***** 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="Resource Management in Service Chaining">
	Resource Management in Service Chaining
	</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Seungik Lee" initials="S. Lee" surname="Lee">
       <organization abbrev="ETRI">ETRI</organization>

      <address>
        <postal>
          <street>218 Gajeong-ro Yuseung-Gu</street>

          <!-- Reorder these if your country does things differently -->

          <city>Daejeon</city>

          <region></region>

          <code>305-700</code>

          <country>Korea</country>
        </postal>

        <phone>+82 42 860 1483</phone>

        <email>seungiklee@etri.re.kr</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Sangheon Pack" initials="S. Pack" surname="Pack">
      <organization abbrev="KU">Korea University</organization>

      <address>
        <postal>
          <street>145 Anam-ro, Seongbuk-gu</street>

          <!-- Reorder these if your country does things differently -->

          <city>Seoul</city>

          <region></region>

          <code>136-701</code>

          <country>Korea</country>
        </postal>

        <phone>+82 2 3290 4825</phone>

        <email>shpack@korea.ac.kr</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Myung-Ki Shin" initials="M-K. Shin" surname="Shin">
      <organization abbrev="ETRI">ETRI</organization>

      <address>
        <postal>
          <street>218 Gajeong-ro Yuseung-Gu</street>

          <!-- Reorder these if your country does things differently -->

          <city>Daejeon</city>

          <region></region>

          <code>305-700</code>

          <country>Korea</country>
        </postal>

        <phone>+82 42 860 4847</phone>

        <email>mkshin@etri.re.kr</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    
    <author fullname="EunKyoung Paik" initials="E. Paik" surname="Paik">
      <organization abbrev="KT">KT</organization>

      <address>
        <postal>
          <street>17 Woomyeon-dong, Seocho-gu</street>

          <!-- Reorder these if your country does things differently -->

          <city>Seoul</city>

          <region></region>

          <code>137-792</code>

          <country>Korea</country>
        </postal>

        <phone>+82 2 526 5233</phone>

        <email>eun.paik@kt.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    
    <author fullname="Rory Browne" initials="R. Browne" surname="Browne">
      <organization abbrev="Intel">Intel</organization>

      <address>
        <postal>
          <street>Dromore House, East Park</street>

          <!-- Reorder these if your country does things differently -->

          <city>Shannon</city>

          <region>Co. Clare</region>

          <code></code>

          <country>Ireland</country>
        </postal>

        <phone>+353 61 477400</phone>

        <email>rory.browne@intel.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>


    <date month="March" year="2016" />

    <!-- 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>General</area>

    <workgroup>Internet Research Task Force (IRTF)</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>Internet Draft</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 specifies problem definition and use cases of NFV resource management 
			in service chaining for path optimization, traffic optimization, failover, load balancing, 
			etc. It further describes design considerations and relevant framework for the resource 
			management capability that dynamically creates and updates network forwarding paths (NFPs) 
			considering resource constraints of NFV infrastructure.
		</t>
    </abstract>
  </front>

  <middle>
	<!-- Section 1 -->
    <section title="Introduction">
			<t>
			Network Functions Virtualisation (NFV) <xref target="ETSI-NFV-WHITE"/> offers a new way to design, 
			deploy and manage network services. The network service can be composed of one or more network 
			functions and NFV relocates the network functions from dedicated hardware appliances to generic servers, 
			so they can run in software. Using these virtualized network functions (VNFs), one or more VNF forwarding 
			graphs (VNF-FGs; a.k.a. service chains) can be associated to the network service, each of which describes 
			a network connectivity topology, by referencing VNFs and Virtual Links that connect them. 
			One or more network forwarding paths (NFPs) can be built on top of such a topology, 
			each defining an ordered sequence of VNFs and Virtual Links to be traversed by traffic 
			flows matching certain criteria.
			</t>
			
			<t>
			The network service is instantiated by allocating NFVI resources for VNFs and VLs 
			which constitute the VNF-FGs. Thus, the capacity and performance of the network service depends 
			on the state and attributes of the network resources used for its VNF and VL instances. 
			While this brings a similar problem to the VM placement optimization in a cloud computing environment, 
			it differs as one or more 
			VNF instances are interconnected for a single network service. For example, if one of the VNF instances 
			in the VNF-FG gets failed or overloaded, the whole network service also gets affected. Thus, the VNF 
			instances need to be carefully placed during NS instantiation considering their connectivity within NFPs. 
			They also need to be monitored and dynamically migrated or scaled at run-time to adapt to changes in the 
			resources.
			</t>

			<t>
			The resource management problem in VNF-FGs matters not only to the performance and capacity of 
			network services but also to the optimized use of NFVI resources. For example, if processing and bandwidth 
			burden converges on the VNF instances placed in a specific NFVI-PoP, it may result in scalability problem 
			of the NFV infrastructure. Thus care is encouraged to be taken in distributing load across local and 
			external VNF instances at run-time.
			</t>

			<t>
			This document addresses resource management problem in service chaining to optimize the NS performance 
			and NFVI resource usage. It provides the relevant use cases of the resource management such as traffic 
			optimization, failover, load balancing and further describes design considerations and relevant framework 
			for the resource management capability that dynamically creates and updates NFP instances considering NFVI 
			resource states for VNF instances and VL instances.
			</t>
			
			<t>
			Note that this document mainly focuses on the resource management capability based on the ETSI NFV 
			framework <xref target="ETSI-NFV-ARCH"/> but also studies contribution points to the work for control plane of 
			SFC architecture <xref target="I-D.ietf-sfc-architecture"/>
			<xref target="I-D.ietf-sfc-control-plane"/>.

			<vspace blankLines="1" />
			</t>
			
		</section>
		  
  <!-- Section 2 -->  
  	<section title="Terminology">
  		<t>
  		This document uses the following terms and most of them were reproduced from <xref target="ETSI-NFV-TERM"/>.
  		</t>

			<t>
				<list style='symbols'>
					<t>Network Functions (NF): A functional building block within a network infrastructure, 
						which has well-defined external interfaces and a well-defined functional behavior. </t>
					<t>Network service: A composition of network functions and defined by its functional and behavioural 
					specification.</t>
					<t>NFV Framework: The totality of all entities, reference points, information models and other constructs 
					defined 
						by the specifications published by the ETSI ISG NFV.</t>
					<t>Virtualised Network Function (VNF): An implementation of an NF that can be deployed on 
						a Network Function Virtualisation Infrastructure (NFVI).</t>
					<t>NFV Infrastructure (NFVI): The NFV-Infrastructure is the totality of all hardware and software components 
						which build up the environment in which VNFs are deployed.</t>
					<t>NFVI-PoP: A location or point of presence that hosts NFV infrastructure</t>
					<t>VNF Forwarding Graph (VNF-FG): A NF forwarding graph where at least one node is a VNF.</t>
					<t>Network Forwarding Path (NFP): The sequence of hardware/software switching ports and 
					operations in the NFV network infrastructure as configured by management and orchestration that 
					implements a logical VNF forwarding graph "link" connecting VNF "node" logical interfaces.</t>
					<t>Virtual Link: A set of connection points along with the connectivity relationship between them and 
						any associated target performance metrics (e.g. bandwidth, latency, QoS). 
						The Virtual Link can interconnect two or more entities (e.g., VNF components, VNFs, or PNFs).</t>
				</list>
			</t>      			
			
  	</section>

  


	<!-- Section 3 -->
		<section title="Resource management in service chain">
      <t>
      This section addresses several issues for considerations in NFV resource management of service chain.
      </t>
      
			<section title="Resource scheduling among network services">

				<t>
				In the NFV framework, network services are realized with NS instantiation procedures at which 
				virtualized NFVI resources are assigned to the VNFs and VLs which constitute VNF-FGs of the network service. 
				The NFVI resources are placed and located along the VNF-FG by NFV Orchestrator (NFVO) dynamically according to:
				</t>
				
				<t>
					<list style='symbols'>
						<t>Resource availability,</t>
						<t>Deployment templates which define resource requirements of NS instances and VNF instances 
						to support KPIs (e.g., capacity and performance) of the network service, and</t>
						<t>Resource policies which define how to govern NFVI resources for NS instances and VNF instances 
						(e.g., affinity/anti-affinity rules, scaling, and fault management) to support an efficient use of 
						NFVI resources as well as KPIs of the network service.</t>
					</list>
				</t>
				
				<t>
				In order to satisfy the deployment templates and resource policies, VNF-FGs of the network services 
				need to be built by considering the state of NFVI resources for VNF instances (e.g., availability, 
				throughput, load, disk usage) and VL instances (e.g., bandwidth, delay, delay variation, packet loss).
				</t>
	
				<t>
				However, since the NFVI resources are shared by different network services and their deployment 
				constraints are very different from each other, it is required to carefully schedule the NFVI resources 
				for multiple network services to optimize their KPIs.
				</t>	
		
			</section>
			
			<section title="Performance guarantee within a service chain">
				
				<t>
				In NFV, a network service is composed of one or more virtualized network functions which are 
				connected via virtual links along NFPs specified for a traffic flow for the network service. 
				Thus, the performance of a network service is determined by the performance and capability of a 
				coupling of VNF instances and VL instances. For example, if one of the VNF instances or VL instances 
				of an NFP gets failed or overloaded, the whole network service also gets affected. Thus, the VNF 
				instances need to be carefully placed during NS instantiation considering their connectivity within NFPs.
				</t>

				<t>
				This performance coupling can be handled by considering deployment rules for affinity/anti-affinity, 
				geography, or topological locations of VNFs; and QoS of virtual links.
				</t>
				
				<t>
				Another important factor for virtual links is the inter-connectivity between different NFVI-PoPs, 
				which is an enabler of resource sharing among different NFVI-PoPs. When the VNF instances of a network 
				service are allocated at different NFVI-PoPs, the NFVI-PoP interconnect may be a bottleneck point which 
				needs to be monitored to support KPIs of the service chain.
				</t>
				
			</section>
			
			<section title="Multiple policies and conflicts">
				
				<t>
				The NFVI resources for a network service should be allocated and managed according to a NS policy 
				given in the network service descriptor (NSD), which describes how to govern NFVI resources for VNF 
				instances and VL instances to support KPIs of the network service. The examples of NS policy are 
				affinity/anti-affinity, scaling, fault and performance, geography, regulatory rules, NS topology, etc. 
				Since network services may have different NS policies for their own deployment and performance, 
				this may cause resource management difficult within the shared NFVI resources.
				</t>

				<t>
				For network-wide (or NS-wide) resource management, NFVI policy (or network policy) can be also provided. 
				It may describe the resource management policy for optimized use of infrastructure resources rather than 
				the performance of a single network service. The examples of NFVI policy are NFVI resource access control, 
				reservation and/or allocation policies, placement optimization based on affinity and/or anti-affinity rules, 
				geography and/or regulatory rules, resource usage, etc.
				</t>
				
				<t>
				Multiple administrative domains or subsystems may have different NFVI policies so that it may bring 
				some conflicts when enforcing them in a global infrastructure. There could be a similar problem among 
				NS policies and NFVI policies.				
				</t>

				<t>
				Note that the similar topics are being studied in <xref target="I-D.irtf-nfvrg-nfv-policy-arch"/>
				</t>
				
			</section>

			<section title="Dynamic adaptation of service chains">
				
				<t>
				The performance and capability of NFVI resources may vary in time due to different uses and management 
				policies of the resources. If some changes in the resources make the service quality unacceptable, 
				the VNF instances can be scaled according to the given auto-scaling policies. But it's only for 
				local quality of the VNF.
				</t>

				<t>
				In order to provide optimized KPIs to network services, the NFP instances need to dynamically adapt 
				to the changes of the resource state at run-time. The performance of the whole NFP instance should 
				be measured by monitoring the resource state of VNF instances and VL instances. Based on the monitoring 
				results, some VNF instances may be determined and relocated at different virtualized resources with better 
				performance and capabilities. 
				</t>
				
			</section>


		</section>
		
	<!-- Section 4 -->
		<section title="Use cases">
			<t>
			In this section, several (but not exhausted) use cases for resource management in service chaining 
			are provided: fail-over, load balancing, path optimization, traffic optimization, and energy efficiency.
			</t>
			
			<section title="Fail-over">
				
				<t>
				For service continuity, failure of a VNF instance needs to be detected and the failed one needs to be replaced with the other one which is available to use as per redundancy policy. Figure 1 presents an example of the fail-over use case. A network service is defined as a chain of VNF-A and VNF-B; and the service chain is instantiated with VNF-A1 and VNF-B1 which are instances of VNF-A and VNF-B, respectively. In the meantime, failure of VNF-B1 is detected so that VNF-B2 replaces the failed one for fail-over of the NFP.
				</t>
				
				<figure anchor='fig_1' title='A fail-over use case'>

<artwork>
                                                             
                +--------+                        +--------+   
                | VNF-B2 |                       #| VNF-B2 |###
   +--------+   +--------+           +--------+ # +--------+   
###| VNF-A1 |       _|_           ###| VNF-A1 |#      _|_      
   +--------+      (___)             +--------+      (___)     
  ___/    #       /     \      \    ___/            /     \    
 (___)+---#------+       +   ===}  (___)+----------+       +   
          #       \ ___ /      /                    \ ___ /    
          #        (___)                             (___)     
          #          |                                 |
          #     +--------+                        +--------+   
          ######| VNF-B1 |###        (failure)--> | VNF-B1 |   
                +--------+                        +--------+   

### NFP

</artwork>
        </figure>

				<t>
				The above is in the case where there is a 1+1 or 1:N redundancy scheme. 
				In event that VNF instance overloads before NFVO has time to scale out, or when resources do not 
				permit a scale-out then we can route the service chain deterministically to a remote VNF instance. 
				This adaptation may be revertive or non-revertive dependent on service provider policy and resource 
				availability.
				</t>

			</section>

			<section title="Load balancing">

				<t>
				A single VNF instance may be a bottleneck point of a service chain due to its overload. 
				It may affect the performance of the whole service chain consequently so that an NFP instance 
				needs to be built to avoid bottleneck points or maintained to distribute workloads of overloaded 
				VNF instances.
				</t>
				
				<t>
				With NFVI-PoP Interconnect, service chains can be balanced between NFVI-PoPs in a way that best 
				utilises NFV infrastructure and ensures service integrity. The wide area conditions can be monitored 
				in real-time to provide KPIs, such as BW, delay, delay variation and packet loss per QoS class to the 
				service chaining application which may enable use of external VNF instances when there is an overload or 
				failure condition in the local NFVI-PoP. In this way the service chaining application can make a service 
				chain reroute decision (in the event of failure and/or overload) that is network and platform-aware. 
				The service chaining application understands the state of external VNFs and WAN conditions per QoS class 
				between the local NFVI-PoP and remote NFVI-PoP in real-time.
				</t>
				
			</section>

			<section title="Path optimization">
				<t>
				Traffic for a network service traverses all of the VNF instances and the connecting VL instances 
				given by a NFP instance to reach a target end point. Thus, quality of the network service depends on 
				the resource constraints (e.g., processing power, bandwidth, topological locations, latency) of VNF 
				instances, VL instances including NFVI-PoP interconnects. In order to optimize the path of the network 
				service, the resource constraints of VNF instances and VLs need to be considered at constructing NFPs. 
				Since the resource state may vary in time during the service, NFP instances also need to adapt to the 
				changes of resource constraints of the VNF instances and VL instances by monitoring and replacing them 
				at run-time.
				</t>
				
			</section>
			
			<section title="Traffic optimization">
				<t>
				A network operator may provide multiple network services with different VNF-FGs and different flows 
				of traffic traverse between source and destination end-points along the VNF-FGs. For efficiency of 
				resource usage, the NFP instances need to be built by default to localize the traffic flows and to avoid 
				processing and network bottlenecks. It is only in the case of local failure or overload (whereby the NFVO 
				is unable or has not completed a scale-out of on-site resources) that NFP instances would be constructed 
				between NFVI-PoPs. In this case, multiple VNF instances of different NFVI-PoPs need to be considered 
				together at constructing a new NFP instance or adapting one.
				</t>
			</section>
			
			
			<section title="Energy efficiency">
				<t>
				Energy efficiency in the network is getting important to reduce impact on the environment so that 
				energy consumption of VNF instances using NFVI resources (e.g., compute, storage, I/O) needs to be 
				considered at NFP instantiation or adaptation. For example, a NFP can be instantiated as to make traffic 
				flows aggregated into a limited number of VNF instances as much as its performance is preserved in a certain 
				level. Policy may vary between centralized or distributed NFV applications, and could include policies for 
				even energy distribution between sites, time-of-day etc.
				</t>
			</section>

		</section>


	<!-- Section 5 -->

		<section title="Evaluation Model">
		
			<t>
			To derive specific algorithms for use cases discussed in Section 4, an evaluation model for a service chain (or a NFP) 
			needs to be developed, which can address two problems for a given network topology and input parameters 
			(e.g., VL/VNF capacity, incoming traffic flows, etc.) : 1) how much traffic flows pass on each 
			VL instance and 2) how much processing capacity is needed for the installed VNF instance. 
			This section first describes the system model and then presents main objectives for the evaluation model. 
			</t>
		
			<section title="System Model">
			
				<t>
				The system model considers the following network topology. 
				The network topology under consideration is composed of start/end points and multiple NFVI-PoPs 
				where multiple VNF instances locate. On the other hand, VL instances inter-connect 
				VNF instances in NFVI-PoPs.
				</t>
				<t>
				Start and end points are incoming and outgoing points of traffic flow for a given network service, 
				respectively. Specifically, the amount of incoming traffic flows for a network service (i.e., a VNF-FG) 
				at the start point is given as an input parameter in the model.
				</t>
				
				<t>
        Under the network topology, the network traffic is processed by one or more VNF instances 
        and delivered via VL instances. Thus, the VNF processing capacity can be defined 
        as the maximum amount of traffic flows that a VNF instance can process 
        according to the resource allocation policies defined in its deployment template. 
        The VL capacity can be also defined as the maximum amount of traffic flows 
        that can pass on a VL instance according to the resource allocation policies defined 
        in the deployment template.
				</t>
				
				<t>
				In NFV, traffic flows for a VNF-FG should be processed according to the VNF order 
				described in the given VNF-FG. Accordingly, traffic flows at the start point 
				should not be processed by any VNF. Meanwhile, traffic flows at the end point 
				should be processed by all VNFs specified in the given VNF-FG.
				</t>
				
				<t>
				In a given VNF-FG, VNFs should be individually placed on multiple NFVI-PoPs. Therefore, a decision variable, 
				VNF placement indicator function (VPIF), is defined as:
				</t>
				<t>
					<list style='symbols'>
						<t>
						VNF placement indicator function (VPIF): indicator function (i.e., 0 or 1) to represent 
						the location (i.e., a NFVI-PoP) where the VNF instance is placed.
						</t>
					</list>
				</t>
				<t>
				Intuitively, the amount of traffic flows that pass a VL instance should not exceed the VL capacity to avoid 
				any overload at the VL instance. Likewise, the amount of incoming traffic flows to a VNF instance should not 
				exceed the VNF processing capacity. (These constraints will be covered in the following paragraphs) 
				Therefore, traffic flows for a network service (i.e., a VNF-FG) should be 
				distributed to multiple NFPs depending on resource and capacity constraints for VNF and VL instances. 
				Moreover, multiple network services can be supported by distributing traffic flows for each network service. 
				Therefore, another decision variable, traffic flow ratio (TFR), is defined as:
				</t>
				<t>
					<list style='symbols'>
						<t>
						Traffic flow ratio (TFR): the ratio of the traffic flows distributed to each NFP. 
						Therefore, the amount of traffic flows that passes on each NFP is the product of TFR and 
						the amount of incoming traffic flows for a network service. Note that TFR and the amount of 
						incoming traffic flows can be computed by measuring the amount of traffic flows that passes 
						on each VL.
						</t>
					</list>
				</t>
				<t>
				The constraints regarding the amount of network traffic and capacity of VNF and VL instances 
				can be specified as follows.
        </t>
 				<t>
					<list style='symbols'>
						<t>
            Network traffic conservation constraints: 
            In the VNF-FG system model, the amount of network traffic should be conserved within a VNF-FG. 
            That is, 1) the amount of incoming network traffic to a VNF instance should be equal 
            (more or less in case of packet manipulation) to the amount of outgoing network traffic 
            from the VNF instance; and 2) the amount of incoming network traffic to a VNF instance 
            should not exceed the flow rate of the corresponding NFP which can be determined by TFR.
            </t>
            <t>
            Network traffic processing order constraints: 
            As defined in the VNF-FG, the network traffic can be processed by a VNF instance 
            only after being processed by the preceding VNF instances along the NFP. 
            Similarly, the incoming network traffic to a NFP should be firstly processed by the VNF instance 
            which is located at the ingress point of the NFP; and the outgoing network traffic from a NFP 
            should be the result of processing by every VNF instance in the order defined by the NFP.
            </t>
            <t>
            Link and processing capacity constraints: 
            The amount of incoming network traffic to a VL instance should not exceed the given link capacity of 
            the VL to avoid any congestion at the link. Likewise, the amount of incoming network traffic to a VNF 
            instance should not exceed the processing capacity of the VNF.
            </t>
          </list>
				</t>
				
				<t>
				This system model can be exploited to obtain 
				the optimal solutions of network resource (i.e., VNF and VL instances) placement for 
				network resource usage, network service throughput, and so on. This optimization problem can be solved, 
				for example with linear programming (LP), by defining different objective functions.
				</t>
			</section>
		
			<section title="Objective functions">
				<t>
				In the evaluation model, three objectives are considered including, but not limited to, 
				1) load balancing, 2) flow throughput maximization, and 3) energy efficiency. 
				</t>
				
					<section title="Load balancing">
						<t>
						For load balancing for a network service, the remaining capacity for VNF instances and VL 
						instances should be balanced to avoid any bottlenecks. To this end, the minimum remaining 
						processing capacity for VNF instances and the minimum remaining link capacity for VL instances 
						should be maximized.
						</t>
					</section>
					
					<section title="Throughput optimization">
						<t>
						On the other hand, the flow throughput considers both throughputs for VNF processing and for VL instance. 
						Then, the throughput of an NFP can be calculated as the product of TFR and the sum of capacities, 
						and the total throughput is the sum of computed throughputs for all NFPs. By maximizing the total 
						flow throughput, it is possible to reduce the network service time.
						</t>
					</section>

					<section title="Energy efficiency ">
						<t>
						Since each VNF instance consumes an amount of energy for processing its function and 
						transmitting/receiving traffic flows across VL instances, the energy consumption for each VNF 
						instance should be minimized for energy efficiency of network services. 
						Detailed model is under construction.
						</t>
					</section>
			
			</section>
		
		</section>

	<!-- Section 6 -->
		<section title="Framework">
					
			<t>
			To support the aforementioned use cases, it is required to support resource management capability which 
			provides service chain (or NFP) construction and adaptation by considering resource state or constraints 
			of VNF instances and VL instances which connect them. The resource management operations for service chain 
			construction and adaptation can be divided into several sub-actions:
			</t>
			
			<t>
				<list style='symbols'>
					<t>Locate VNF instances</t>
					<t>Evaluate the performance of VNF instances and VL instances</t>
					<t>Relocate (or scale) VNF instances to update a NFP instance</t>
					<t>Monitor state or resource constraints of a VNF instance, VL instances including NFVI-PoP interconnects</t>
				</list>
			</t>
				
				
			<t>
			As listed above, VNF instances are relocated according to monitoring or evaluation results of 
			performance metrics of the VNF instances and VL instances. Studies about evaluation methodologies 
			and performance metrics for VNF instances and NFVI resources can be found at <xref target="ETSI-NFV-PER001"/>
			<xref target="I-D.liu-bmwg-virtual-network-benchmark"/> <xref target="I-D.ietf-bmwg-virtual-net"/>. 
			The performance metrics of 
			VNF instances and VL instances specific to service chain construction and adaptation can be defined 
			as follows:
			</t>
			
			<t>
				<list style='symbols'>
				
					<t>availability (or failure) of a VNF instance and a VL instance</t>
					<t>a topological location of a VNF instance</t>
					<t>CPU and memory utilization rate of a VNF instance</t>
					<t>a throughput of a VNF instance</t>
					<t>energy consumption of a VNF instance</t>
					<t>bandwidth of a VL instance</t>
					<t>packet loss of a VL instance</t>
					<t>latency of a VL instance</t>
					<t>delay variation of a VL instance</t>

				</list>
			</t>

			<t>
			The resource management functionality for dynamic service chain adaptation takes role of NFV orchestration 
			with support of VNF manager (VNFM) and Virtualised Infrastructure Manager (VIM) in the 
			NFV framework <xref target="ETSI-NFV-ARCH"/>. Detailed functional building block and interfaces 
			are still under study.
			</t>
			
		</section>		
					
	<!-- Section 7 -->
		<section title="Applicability to SFC">


			<section title="Related works in IETF SFC WG">
	
	
				<t>IETF SFC WG provides a new service deployment model that delivers the traffic along the predefined 
					logical paths of service functions (SFs), called service function chains (SFCs) with no regard of 
					network topologies or transport mechanisms. Basic concept of the service function chaining is similar to 
					VNF-FG where a network service is composed of SFs and deployed by making traffic flows traversed instances 
					of the SFs in a pre-defined order.</t>
				
				<t>There are several works in progress in IETF SFC WG for resource management of service chaining. 
					<xref target="I-D.ietf-sfc-architecture"/> defines SFC control plane that selects specific SFs for a requested SFC, 
					either statically or dynamically but details are currently outside the scope of the document. 
					There are other works <xref target="I-D.ietf-sfc-control-plane"/> <xref target="I-D.lee-sfc-dynamic-instantiation"/>
					<xref target="I-D.krishnan-sfc-oam-req-framework"/> <xref target="I-D.ietf-sfc-oam-framework"/> which define the control plane functionality 
					for service function chain construction and adaptation but details are still under study. 
					While <xref target="I-D.dunbar-sfc-fun-instances-restoration"/> and <xref target="I-D.meng-sfc-chain-redundancy"/> 
					provide detailed mechanisms of service chain adaptation, they focus only on resilience or fail-over of service function chains.</t>
		
		
			</section>
	
	
			<section title="Integration in SFC control-plane architecture">
				<t>
				In SFC WG, <xref target="I-D.ietf-sfc-control-plane"/> describes requirements for conveying 
				information between Service Function Chaining (SFC) control elements (including management components) 
				and SFC functional elements. It also identifies a set of control interfaces to interact with SFC-aware 
				elements to establish, maintain or recover service function chains. 
				</t>
				
				<figure anchor='fig_2' title='SFC control plane overview'>

<artwork><![CDATA[

                +----------------------------------------------+ 
                |                                              |
                |       SFC  Control & Management Planes       |
        +-------|                                              |
        |       |                                              |
        C1      +------^-----------^-------------^-------------+
 +---------------------|C3---------|-------------|-------------+
 |      |            +----+        |             |             |
 |      |            | SF |        |C2           |C2           |
 |      |            +----+        |             |             |
 | +----V--- --+       |           |             |             |
 | |   SFC     |     +----+      +-|--+        +----+          |
 | |Classifier |---->|SFF |----->|SFF |------->|SFF |          |
 | |   Node    |<----|    |<-----|    |<-------|    |          |
 | +-----------+     +----+      +----+        +----+          |
 |                     |           |              |            |
 |                     |C2      -------           |            |
 |                     |       |       |     +-----------+ C4  |
 |                     V     +----+ +----+   | SFC Proxy |-->  |
 |                           | SF | |SF  |   +-----------+     |
 |                           +----+ +----+                     |
 |                             |C3    |C3                      |
 |  SFC Data Plane Components  V      V                        |
 +-------------------------------------------------------------+

]]></artwork>
        </figure>

				<t>
				The service chain adaptation addressed in this document may be integrated into the 
				SFC Control &amp;	Management Planes and may use the C2 and C4 interfaces for monitoring or 
				collecting the resource constraints of VNF instances, NFVI-PoP interconnects and VL instances.
				</t>
				
				<t>
				To prevent constant integration between the application and probing functions we would propose 
				a 3-tier architecture per NFVI-PoP.
				</t>

				<t>
					<list style='symbols'>	
						<t>Top level application control at the SFC Control &amp; Management Planes</t>
						<t>An abstraction layer between the application layer and the probing layer. 
						This would decouple NFVI and link monitoring methods from the application layer</t>
						<t>A probing layer that monitors VNF, physical and virtual link resources</t>
					</list>
				</t>
				
				<t>
				Note that SFC does not assume that Service Functions are virtualized. Thus, the parameters of 
				resource constraints may differ, and it needs further study for integration.
				</t>
		
			</section>		

		</section>


    <section anchor="Security" title="Security Considerations">
      <t>
	  	TBD.
	  </t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>
      	TBD.
      </t>
    </section>

    <section title="Contributors">
      <t>
      	In addition to the authors, the following individuals contributed to the content.
   			<vspace blankLines="1" />

        Insun Jang
        <vspace />
        Korea University 
        <vspace />
        zerantoss@korea.ac.kr

      </t>
    </section>


  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation
libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here
(as shown)
     2. simply use a PI "less than character"?rfc
include="reference.RFC.2119.xml"?> here
        (for I-Ds:
include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included
files in the same
     directory as the including file. You can also define the XML_LIBRARY
environment variable
     with a value containing a set of directories to search.  These can be
either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
    &rfc2119;		
	</references>

    <references title="Informative References">
			
    <reference anchor="ETSI-NFV-WHITE">
      <front>
        <title>NFV Whitepaper 2</title>

        <author>
          <organization>ETSI</organization>
          </author>
          
        <date month="October" year="2013" />
      </front>
    </reference>
    
    <reference anchor="ETSI-NFV-ARCH">
      <front>
        <title>ETSI NFV Architectural Framework v1.1.1</title>

        <author>
          <organization>ETSI</organization>
          </author>
          
        <date month="October" year="2013" />
      </front>
    </reference>

	<reference anchor="ETSI-NFV-MANO">
      <front>
        <title>Network Function Virtualization (NFV) Management and Orchestration V0.6.3</title>

        <author>
          <organization>ETSI</organization>
          </author>
          
        <date month="October" year="2014" />
      </front>
    </reference>

	<reference anchor="ETSI-NFV-TERM">
      <front>
        <title>NFV Terminology for Main Concepts in NFV</title>

        <author>
          <organization>ETSI</organization>
          </author>
          
        <date month="October" year="2013" />
      </front>
    </reference>

	<reference anchor="ETSI-NFV-PER001">
      <front>
        <title>Network Function Virtualization: Performance and Portability Best Practices v1.1.1</title>

        <author>
          <organization>ETSI</organization>
          </author>
          
        <date month="June" year="2014" />
      </front>
    </reference>

  	<?rfc include='reference.I-D.liu-bmwg-virtual-network-benchmark'?>
  	
  	<?rfc include='reference.I-D.ietf-bmwg-virtual-net'?>
  	
  	<?rfc include='reference.I-D.ietf-sfc-architecture'?>
  	
  	<?rfc include='reference.I-D.ietf-sfc-control-plane'?>
  	
  	<?rfc include='reference.I-D.irtf-nfvrg-nfv-policy-arch'?>
  
  	<?rfc include='reference.I-D.lee-sfc-dynamic-instantiation'?>
  	
  	<?rfc include='reference.I-D.ietf-sfc-oam-framework'?>
  	
  	<?rfc include='reference.I-D.krishnan-sfc-oam-req-framework'?>
  	
  	<?rfc include='reference.I-D.meng-sfc-chain-redundancy'?>
  
  	<?rfc include='reference.I-D.dunbar-sfc-fun-instances-restoration'?>
	
	  <reference anchor="Jang-2016">
      <front>
        <title>Optimal Network Resource Utilization in Service Function Chaining</title>
        <author surname="Jang" initials="I.S." fullname="Insun Jang" />
        <author surname="Choo" initials="S.J." fullname="Sukjin Choo" />
        <author surname="Kim" initials="M.S." fullname="Myeongsu Kim" />
        <author surname="Pack" initials="S.H." fullname="Sangheon Pack" />
        <author surname="Shin" initials="M.K." fullname="MyungKi Shin" />  
        <date month="June" year="2016" />
      </front>
      <seriesInfo name="IEEE Conference on Network Softwarization (NetSoft)" value="(To be publushed)"/>
    </reference>

	
    </references>

    <section numbered="no" anchor="Acknowledgements" title="Acknowledgements">
      <t>
      The authors would like to thank Sukjin Choo and Myeongsu Kim for the review and comments.
      </t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->


  </back>
</rfc>
