<?xml version="1.0" encoding="US-ASCII"?>
<!-- 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 RFC7426 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7426.xml">
<!ENTITY RFC5812 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5812.xml">
<!ENTITY RFC6956 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6956.xml">
<!ENTITY RFC7665 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7665.xml">
<!ENTITY Telecommunications-Science SYSTEM "http://www.telecomsci.com/CN/10.11959/j.issn.1000-0801.2015207">
<!ENTITY ONF-White-Paper SYSTEM "http://wenku.it168.com/d_001411696.shtml">
<!ENTITY China-Communications SYSTEM "http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6825262">

<!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 -->
<rfc category="std" docName="draft-zhuge-sdnrg-sdn-sdp-05" ipr="trust200902">
  <!-- 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="Abbreviated Title">An Intelligent SDN Framework bases on Meta-Model with Software-Defined Pricing (SDP)</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

   
    <author fullname="Bin Zhuge" initials="B.Z.G." 
            surname="Zhuge">	
		<organization>Zhejiang Gongshang University</organization>

		<address>
			<postal>
				<street>18 Xuezheng Str., Xiasha University Town </street>
				<!-- Reorder these if your country does things differently -->
				<city>Hangzhou</city>	
				<region></region>
				<code>310018</code>
				<country>P.R.China</country>
			</postal>
			<phone>+86 571 28877723</phone>
			<email>zhugebin@zjsu.edu.cn</email>
        <!-- uri and facsimile elements may also be added -->
		</address>
    </author>
    <author fullname="Yining Wang" initials="Y.N.W." 
            surname="Wang">
		<organization>Simon Fraser University</organization>
		<address>
			<postal>
				<street>8888 University Drive </street>
          <!-- Reorder these if your country does things differently -->
				<city>Burnaby</city>
				<region></region>
				<code></code>
				<country>Canada</country>
			</postal>
			<phone>+1 (778) 885-0009</phone>
			<email>ywa165@sfu.ca</email>
        <!-- uri and facsimile elements may also be added -->
		</address>
		
    </author>
	
	<!-- add author -->
	<author fullname="Yingjie Zhu" initials="Y.J.Z" 
            surname="Zhu">
		<organization>Zhejiang Gongshang University</organization>

		<address>
			<postal>
				<street>18 Xuezheng Str., Xiasha University Town </street>
          <!-- Reorder these if your country does things differently -->
				 <city>Hangzhou</city>
				 <region></region>
				 <code>310018</code>
				 <country>P.R.China</country>
			</postal>
			<phone>+86 571 28877723</phone>
			<email>zhuyj6055@163.com</email>
        <!-- uri and facsimile elements may also be added -->
		</address>
    </author>
	
    <author fullname="Hua Zhu" initials="H.Z." 
            surname="Zhu">
		<organization>Zhejiang Gongshang University</organization>

		<address>
			<postal>
				<street>18 Xuezheng Str., Xiasha University Town </street>
          <!-- Reorder these if your country does things differently -->
				 <city>Hangzhou</city>
				 <region></region>
				 <code>310018</code>
				 <country>P.R.China</country>
			</postal>
			<phone>+86 571 28877723</phone>
			<email>zhuhua9114@163.com</email>
        <!-- uri and facsimile elements may also be added -->
		</address>
    </author>
	<author fullname="Weiming Wang" initials="W.M.W." 
            surname="Wang">
		<organization>Zhejiang Gongshang University</organization>
			<address>
			<postal>
				<street>18 Xuezheng Str., Xiasha University Town</street>

          <!-- Reorder these if your country does things differently -->

				<city>Hangzhou</city>

				<region></region>

				<code>310018</code>

				<country>P.R.China</country>
			</postal>

			<phone>+86 571 28877761</phone>

			<email>wmwang@zjsu.edu.cn</email>

        <!-- uri and facsimile elements may also be added -->
		</address>
    </author>

    <date month="June" year="2017" />

    <!-- 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>Network</area>

    <workgroup>Internet Engineering Task Force</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>SDN</keyword>
    <keyword>SDP</keyword>
	<keyword>Meta-APP</keyword>
	<keyword>Intelligent</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 defines a notion called Software-Defined Pricing (SDP) and introduces it into a Software-Defined Networks (SDN) 
		framework. The SDN system with SDP inside is expected to  promote the efficiency on SDN resources usage and ease management 
		for service providers.This document also defines a mechanism that can efficiently mannage SDN framework orderly and intelligently.</t>
    </abstract>
</front>

<middle>
    <section title="Introduction">
		<t>Software-Defined Networks(SDN) is in the research process. With the idea of SDN, networking resources like switches, routers 
		and types of Network Elements (NEs)are managed as kinds of virtual resources, forming virtual networks so as to provide rather 
		flexible services to network users. In this research process, we noticed that how to price the services and the use of virtual 
		network resources in an SDN is as critical as how the SDN is defined. We consider that it seems 
		a precious idea to treat a service pricing mechanism as part of the SDN framework and to manage it in a software-defined way. </t>
		<t>Network service prices are traditionally determined by service providers in a rather rigid way, which lacks of flexibility 
		and sometimes even fairness to resources users. By means of the idea of SDP, it is able to treat service pricing as a part of SDN, 
		forming a service pricing model flexible to time, traffic and other network factors and status. In this way, it is expected to 
		promote the efficiency of SDN resources usage and ease the management for service providers.
		</t>
		<t>
		Due to the ever increasing network complexity, the operators of intelligent network are driven toward a
		virtualization of network functionality that calls for a paradigm shift from a
		hardware-based approach to a software-based approach. We will correspondingly 
		develop an intelligent management framework based on the concept of SDN, which is 
		featured by the decoupling of control plane from data plane.The intelligent SDN framework 
		aims to provide a viable way to solve the existing challenges in a unified manner. 
		</t>

    </section>

    <section title="Software-Defined Pricing (SDP)">
		<t>Software-Defined Pricing (SDP) is an idea specific to network management, whose core is that the service prices of network resources are determined by means of software-defined algorithms and/or mechanisms, which figure the prices according to various factors and status of the network resources. In contrast to SDP, service prices may be pre-determined rigidly by service providers. </t>
		<t>An SDP Protocol is an instance of SDP implementation shown in a way of protocol, which specifically defines algorithms and/or mechanisms to price specific services and use of network resources. An SDP protocol may be a private protocol if it is defined by a service provider personally, or a public protocol if defined publicly by standardization organizations. </t>
		<t>By use of the software-defined mechanism, SDP essentially supports automatic negotiations of prices in a pricing process. Automatic resource and price negotiation features a Guaranteed Service (GS). As a result, SDN with SDP essentially supports GS services. </t>
		<t>Network users must accept and abide by the network SDP protocol when they use the network resources and the services. </t>
		<t>An SDP protocol usually includes trading partners, trading content, obligations and other transaction costs. Service providers can make provisions for users in terms of workload and resource use. </t>
		<t>As an example, we present a typical process for an SDP protocol. When users expect to use resources from a virtual network by a service provider, users first query prices of various resources and services by means of the SDP protocol. The service provider returns the resource prices to users. Then,  users will start up a price negotiation process with the service provider by use of 
		the SDP protocol. Both the user and the service provider will proceed the price negotiation process based on their specific price negotiation algorithms.  The negotiation process will be ended only from the user with the SDP protocol. It will end with an agreement is either met or not. The SDP protocol process is shown in <xref target="Figure-1"/>. Usually, in a negotiation algorithm,
		the user or the service provider are able to take into consideration of current network status and other network factors, which make the price negotiation process much more efficient and flexible than traditional pricing methods. </t>
        <figure anchor="Figure-1" title="Process of an SDP Protocol">
			<artwork align="center"><![CDATA[
+------+ +                             +                    +-----------+
|      | | --------SDP protocol------->| -----------------+ |           |
|      | |                             | search price     | |           |
|      | | <-------SDP protocol--------|<-----------------+ |           |
|      | | --------SDP protocol------->|------------------+ |  service  |
| user | |                             | price negotiation| | sprovider |
|      | | <-------SDP protocol--------|<-----------------+ |           |
|      | | --------SDP protocol------->|------------------+ |           |
|      | |                             | negotiation ends | |           |
|      | | <-------SDP protocol--------|<-----------------+ |           |
+------+ +                             +                    +-----------+
			]]></artwork>
        </figure>
		<t>To fulfill above process, an SDP protocol header may usually include fields like shown in <xref target="Figure-2"/>, where: </t>
		<t><list style="symbols">
			<t>ID: the unique identifier of the protocol header.</t>
			<t>Level: service priorities identified.</t>
			<t>Expression: including one or more ITP(ID-Type-Properties) formats, where ID is the unique identifier of a resource, Type is the type of resource, Properties is the attributes of the resource.</t>
			<t>TimeSpec: a structure of service time, mainly refers to the selection of the service period.</t>
			<t>Price: the price of the transaction.</t>
			<t>ContractTime: trading hours.</t>
			<t>State: trading status with success or failure.</t>
        </list></t>
        <figure anchor="Figure-2" title="An SDP Protocol Header">
			<artwork align="center"><![CDATA[
+----------------------------------------------------------------------+
| ID | Level | Expression | TimeSpec | Price | ContractTime |  State   |
+------------|------------|----------|---------------------------------+
             |            |
             |            +----------------------+
             V                                   |
+------------------------+                       |
| ID | Type | Properties |                       |
+-----------|------------+                       V
            |         +-------------------------------------+  
            |         | Y/M/D | Mon-Fri/Weekend | 8:00-0:00 |
            V         +-------------------------------------+
+-----------------------------------------+
|  rate  |  delay  |  shake   |  etc.     |
+-----------------------------------------+
			]]></artwork>
        </figure>
		<t>(TBD)</t>
    </section>

   

    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

    <?rfc needLines="8" ?>

    <section title="SDN with SDP">
		<section title="Adopting SDP in SDN">
			<t>SDP can be applied to SDN architecture well because of its natural software-defined feature.</t>
			<t>In SDN architecture, control plane and data plane are separated to achieve the segregation of the control and forwarding. A typical SDN architecture usually includes: application layer, control layer, 
			and infrastructure (forwarding) layer. To adopt SDP in SDN, an SDP module is applied. An SDP module implements the SDP protocol and corresponding negotiation algorithms/mechanisms. An SDP module can 
			be applied to any layer in the SDN, where resources need to be priced. In this way, theoretically, all kinds of network resources and services can be programmed in terms of use prices as well as 
			resources functions. This makes SDN more complete regarding its software-defining characters.</t>
			<t>In SDN application market, resource providers and resource consumers actually hardly know each other fully for the value of resources and services. Hence, the trade between them is an information 
			asymmetry game. To take this into consideration, an SDP module with its protocol and associated negotiation mechanisms applied to an SDN system is usually of the following features:</t>
			<t><list style="symbols">               
                <t>1) An SDP module can be distributed across parts of SDN system, to get the optimal level of service quality under budget constraints of service consumers. As a result, the SDP module usually further 
				contains a pricing module and a trading module, used for pricing and trading of resources respectively. With an SDP module, users can submit their requirements according to their budgets at the SDN 
				application layer to SDN control layer. Then, the SDN control layer can get results of optimal resource services based on user's budget.</t>
                <t>2) An SDP module usually includes an auto-negotiation mechanism. During the trading process,  resource providers first get the price based on the price algorithm and/or mechanism, and present them to 
				resources consumers. If consumers are not satisfied with the prices, process of negotiation with  auto-negotiation algorithm or mechanism will be triggered.</t>
                <t>3) With SDP, use of resources and their prices are not unique anymore. Different resources providers may provide different prices even for the same resources. SDP module may query different resources 
				providers for optimal prices. This process usually takes place at the SDP protocol stage of searching prices.</t>
                <t>4) In an SDP transaction, an SDN application usually act as a resource provider to end users. Whereas, at the same time, it can also act as resource consumers to SDN control plane as well as SDN 
				forwarding plane. It sells resources to end users. At the same time, it may buy or hire resources from SDN core systems. All these can be done by use of SDP module.</t>
                <t>5) With a time attribute, SDP can respectively support SDN applications well for  temporary term users or long term users regarding optimal use prices.</t>           
			</list> </t>
		</section>

		<section title="Framework of SDN with SDP">
			<t>
			   As mentioned, a typical SDN framework usually includes Application
			   Layer, Control Layer, and Infrastructure (forwarding) Layer.  In SDN
			   Application Layer, things like virtual servers and other SDN
			   personalized services will be presented as individual SDN Applications.
			   Based on the idea above on adopting SDP to SDN, a typical framework
			   of an SDN system which adopts SDP module is as shown in
			   <xref target="Figure-3"/>.In this framework, the SDP-App includes an SDP 
			   module inside and makes the module support software-defined pricing function.
			</t>
			<t>
			   SDP-App may exist in each layer of the SDN framework. Note that, SDN 
			   Application communicates with SDN controllers via the AD-SAL and Service 
			   Interface.Either should require that the AD-SAL and Service Interface 
			   must support SDP protocol to support the SDN with SDP.  Also note that, 
			   SDN Control Layer includes the network service, SDP-App, and control abstraction
			   Layer(CAL), it is defined to communicate with SDN forwarding layer by means of
			   the resource abstraction layer(RAL) and the uniformly defined SDN southern interface 
			   protocols like ForCES ,OpenFlow, etc. To support SDN with SDP, 
			   SDP protocol must be designed supportable by these protocols for messaging purpose. 
			   This may become a key question for the design of an SDP protocol. The SDN Forwarding 
			   Layer includes the network element, and SDP-App. It is exposed via the Resource Abstraction Layer (RAL), 
			   which may be expressed by one or more abstraction models.
			</t>
			<t>(TBD)</t>
			<figure anchor="Figure-3" title="An SDN Framework with SDP">
				<artwork align="center"><![CDATA[
               o--------------------------------o
               |                                |
               | +-------------+   +----------+ |
               | | Application |   |  SDP-App | |
               | +-------------+   +----------+ |
               |       Application Layer        |
               o---------------Y----------------o
                               |
 *-----------------------------Y---------------------------------*
 |     Application-Driven Services Abstraction Layer (AD-SAL)    |
 *-----------------------------Y---------------------------------*
                               |                                                
                               |Service  
                               |Interface                
                               |                                                
 o-----------------------------Y--------------------------------o
 |                   Control   |   Layer                        |
 |                  +----------Y--------+  +---------+          |
 |                  |  Network Service  |  | SDP-App |          |
 |                  +----------Y--------+  +----Y----+          |
 |                             |                |               |
 |                *------------Y----------------Y------*        |
 |                |  Control Abstraction Layer (CAL)   |        |
 |                *------------Y-----------------------*        |
 |                             |                                |
 o-----------------------------|--------------------------------o
                               |                        
                               | Southbound                      
                               | Interface                       
                               |                          
 *-----------------------------Y---------------------------------*
 |              Resource Abstraction Layer (RAL)                 |
 *-----------------------------Y---------------------------------*
 |                             |                                 |
 |                    o--------Y-----------o   +----------+      |
 |                    |   Network Element  |   | SDP-App  |      |
 |                    o--------------------o   +----------+      |
 |                           Forwarding Layer                    |
 +---------------------------------------------------------------+
				]]></artwork>
			</figure>
			<t>As another example, we try to present an SDN application which uses SDP to access network resources so as to get optimal resources use price. We call the SDN application a 'Chat' App, which is to 
			construct a social App platform to connect, communicate and share among people and things by means of Guaranteed-Service (GS) rather than Best-Efforts (BE) services to users. Hence, the App needs to  
			hire network resources from cloud network service providers to provide virtual server and Guaranteed Service (GS) resources.</t>                                                                                                                                   
			<t> Fig 4 shown the process for 'Chat'  to access the GS Resources by use of SDP. 'Chat' client and 'Chat' Server makes service agreement via SDP module. 'Chat' server may be implemented as a 
			virtual server, whose pricing is also implemented by SDP module. Further more, resources to support the virtual server and the 'chat' message forwarding are used based on SDP negotiations. As shown 
			in<xref target="Figure-4"/> , in this case, SDN controller inside the virtual server of 'chat' may send requests to multiple cloud platforms by SDP module(such as Sina cloud, Baidu cloud and Ali cloud in the figure). 
			All the cloud service providers return with resource prices, and SDN controller inside the 'chat' server select or negotiate with the cloud service providers. SDN controller finally may select or 
			get a successful or failed negotiation results and returns to the 'chat' client via SDP protocols. As a result, a transaction for a GS service pricing ends.</t> 
			<figure  anchor="Figure-4" title="The Process for &apos;Chat&apos; Accessing Resources by Use of SDP">
				<artwork align="center"><![CDATA[
                     +---------------------+
                     |   'Chat' client     |
                     |     ( With SDP )    |
                     +---------------------+
                                A
                                |
                                V
                     +---------------------+
                     |    'Chat' server    |
                     |     ( With SDP )    |
                     +---------------------+
                                A
                                |
                                V
                     +---------------------+
                     |    virtual server   |
                     |     ( With SDP )    |
                     +---------------------+
                                A
                                |
                                V
                     +---------------------+
                     |    SDN controller   |
                     |     ( With SDP )    |
                     +---------------------+
                                A
                                |                                          
        +----------------------------------------------+
        |                       |                      |
        V                       V                      V
+----------------+      +---------------+       +-------------+
|   Sina cloud   |      |  Baidu cloud  |       |  Ali cloud  |
|   (With SDP)   |      |  (With SDP )  |       |  (With SDP  |
+----------------+      +---------------+       +-------------+
				]]></artwork>
			</figure>
		</section>
		<section title="Framework of SDN Bases on Meta-Model">
			<t>A Meta-Model is a model architecture in which each defined layer will supply services and functions that built in a meta-model, to be exactly, APP-likely way. 
			Then all of APPs could be refactoried and combined to satisfied sorts of diversified needs from users in upper layer. To be more precisely to defined the meta-model, 
			the following elements will be invoked:</t>
			<t><list style="symbols">
				<t>Meta-APP:The minimum logical elements in application layer that be used to combine and register applications with more complexity. Meta-APPs includes all of 
				function feature and needs of application, and they could abstract the fundamental functions of network service needed by business according to 
				feature and requirements of application.</t>
				<t>Con-App:Business Abstraction Layer:It is a mechanism that be used to logically mapping the meta-app onto the corresponding meta-service in the application layer. 
				Business Abstraction Layer will recognize and adapte all of meta-service supplied by controller, and then select suitable meta-service to service a meta-app 
				bases on the requirement of relevant business.</t>
				<t>SDP-App:The modules proposed here which could support software-defined pricing function in the aspects of resource and service from each layer.
				</t>
				<t>Meta-Ability: The fine-grained elements of switch function in switch layer, which is the atomic elements in divide assignment. It is the fundamental			  
				host components. All of the meta-ability can supply diversified host ability for meta-service within the scope of world-wide network.
				</t>
				<t>Resource Abstraction layer: Mapping the physical resources to virtual resource. Resource Abstraction Layer uses virtualization technology to abstract 
				physical resources at the bottom in order to shidding the difference between facilities. In addition, Resource Abstraction Layer can schedule resources 
				to achieve its reasonable alloction, which can avoid the quality reduction of upper layer application due to the resource shortcut and waste in result 
				of its long-term idleness, raising the resource untilization ratio.
				</t>		  
			</list></t>		   
			<t>Based on the idea above on Meta-Model to SDN, a typical framework
			of an SDN with SDP bases on Meta-Model system is as shown in
			<xref target="Figure-5"/>.In this framework, the application layer includes a meta-app  
			part inside and makes the module support dividing and refactoring the meta-service .
			</t>
			<t>(TBD)</t>
			<figure anchor="Figure-5" title="An SDN Framework with SDP Bases on Meta-Model">
				<artwork align="center"><![CDATA[
 o---------------------------------------------------------------o
 |                                                               |
 | +-------------+   +----------+  +----------+   +----------+   |
 | |   Meta-App  |   |  SDP-App |  | Meta-APP |   | Meta-App |   |
 | +-------------+   +----------+  +----------+   +----------+   |
 |                      Application Layer                        |
 o---------------------------------------------------------------o
                               |
 *-----------------------------Y---------------------------------*
 |                  Business Abstraction Layer                   |
 *-----------------------------Y---------------------------------*
                               |                                                
                               |Service   
                               |Interface                
                               |                                                
 o-----------------------------Y--------------------------------o
 |                   Control   |   Layer                        |
 |                  +----------Y--------+  +---------+          |
 |                  |    Meta-Service  	|  | SDP-App |          |
 |                  +----------Y--------+  +----Y----+          |
 |                             |                |               |
 |                             |    +-----------+               |
 |                             |    |                           |
 |                      *------Y----Y-*                         |
 |                      |   Con-App   |                         |
 |                      *------Y------*                         |
 |                             |                                |
 o-----------------------------Y--------------------------------o
                               |                        
                               | Southbound                      
                               | Interface                       
                               |								  
 *-----------------------------Y---------------------------------*
 |                  Service  Abstraction Layer                   |
 *----Y-------------Y----------Y-----------Y-------Y---------Y---*
      |             |          |           |       |         |
 *----Y-----*  *----Y--*  *----Y----*  *---Y--*	*--Y--*  *---Y----*			   
 | OpenFlow |  | OVSDB |  | NETCONF |  | LISP |	| BGP |	 | ForCES |	   
 *----Y-----*  *----Y--*  *----Y----*  *---Y--*	*--Y--*  *---Y----* 
      |             |          |           |       |         |
 *----Y-------------Y----------Y-----------Y-------Y---------Y---*
 |              Resource Abstraction Layer (RAL)                 |
 *---------------------------------------------------------------*
 |                                                               |
 |  o--------------o    o----------------o   +----------+        |
 |  | Meta-Ability |    |  Meta-Ability  |   | SDP-App  |        |
 |  o--------------o    o----------------o   +----------+        |
 |                         Forwarding Layer   	                 |
 +---------------------------------------------------------------+
				]]></artwork>
			</figure>			   		
		</section>
		<section title="The Relationship between the Layers in the SDN Framework with SDP Bases on Meta-Model">
			<t>
			As the mentioned definiton of SDN framework with SDP bases on Meta-Model above, the minimum units of application are meta-app, which of 
			control layer are meta-service, and the minimum units in forwarding layer are meta-ability. Meanwhile, Refering to the idea of reconfigurable
			network architecture, The features of business and the load capacity of network could be abstract as a chained model like "Application -> Meta-App -> Meta-Service -> Meta-Ability" which be showed 
			in <xref target="Figure-6"/>. A complicated network application can be divided to amounts of meta-app abstractly, and each meta-app contains features and functions of network applications. In this
			case, The meta-app is also combined by a series of fine-grained meta-service sets that called network fundamental function components. In addition, A set of meta-abilities can combine a series of 
			fundamental load components of network, which can associate meta-service.
			</t>
			<t>Conceptually, the meta-ability is a tiny unit defined by fundamental network, which having the abilities to certain capacity and function information. By using
			meta-abilities, The core of internet can be abstracted to lots of  distinct LFBs (Logical Functional Block) which combined by the set of meta-abilities. 
			Meanwhile, This also allows the core of internet to add new meta-ability extensions for promoting network extensibility.			
			</t>
			<t>Meta-Abilities are described as senary struction including type, mark, attribute set, operation, vendor and price. This "type" element specified 
			the type of meta-abilities for classifying the meta-abilities with similar network function into separate type class. This "mark" element should be 
			defined as natural number. Via type and mark element, the unique identity of meta-abilities can be defined within the scope of world-wide network. 
			This "attribute set" element includes parameters about targets and relevant capacity of those targets. This targets in attribute set can specify the 
			targets that meta-abilities should deal with. And this relevant capacity in attribute set can indicates the parameterized capacity goal of meta-abilities.
			This "operation" element indicates the operation that meta-ability can implemente to targets. This "vendor" element on behalf of the vendors of this meta-ability (e.g., telecom operators). 
			This "price" element state the cost in the process of using this meta-ability.			
			</t>
			<t>(TBD)</t>
			<t>
				<figure anchor="Figure-6" title="The Relationship between Meta-Model Layers">
					<artwork align="center"><![CDATA[
					
                 Service                 Service             Application
                 Abstract                Map                 Abstract					 
o---------------o       o---------------o       o-----------o
|               |       |               |       |           |  
| +-----------+ |       | +-----------+ |       | +-------+ |
| | M-ability |->------->-| M-service |->-+----->-| M-App |->---+
| +-----------+ | +----->-+-----------+ | |     | +-------+ |   |
|               | |     |             | | |     |           |   |
| +-----------+ | |     | +-----------+ | +----->-+-------+ |   |
| | M-ability |->-+----->-| M-service |->---+--->-| M-App |->-+ |
| +-----------+ | | +--->-+-----------+ |   | +->-+-------+ | | |
|               | | |   |               |   | | |           | | +->o-----o
| +-----------+ | | |   | +-----------+ |   +-|->-+-------+ | +--->| App |  
| | M-ability |->-|-+--->-| M-service |->-+---|->-| M-App | |  +-->o-----o
| +-----------+ | |  +-->-+-----------+ | |   | | +-------+ |  |
|        .      | |  |  |         .     | | +-+ |           |  |
|        .      | |  |  |         .     | | |   |           |  |
|        .      | |  |  |         .     | | |   |           |  |
|        .      | |  |  |         .     | | |   |           |  |
| +-----------+ | +--|-->-+-----------+ | +-|--->-+-------+ |  |
| | M-ability |->----+  | | M-service |->---+--->-| M-App |->--+
| +-----------+ |       | +-----------+ |       | +-------+ |
|               |       |               |       |           |
o---------------o       o---------------o       o-----------o	

where:

      M-ability = Meta-ability
      M-service = Meta-service
      M-App = Meta-App      				
					]]></artwork>
				</figure>			   
			</t>
		</section>
    </section>
    <section title="The Trading between the Layers">
		<t>
		As shown in<xref target="Figure-7"/>A complete SDN environment is made up of application layer, control layer, data forwarding plane, 
		if regard  SDN environment as an economy market ,Then corresponding to the three layers structure of 
		SDN environment, the economy market can be divided into: user layer, trading platform and provider layer.
		But each layer is embedded with the pricing model and consumption pattern which is apply to this layer , 
		the communication between each other is accomplished by special protocol, each of them is independent 
		but closely linked.In application layer, there are many users, the users were independent of each other, 
		and they belonged to different platforms.In control layer there are multiple platforms, on the two ends 
		of platform respectively connected to different users and providers, the existence of multiple platforms 
		can solve the monopoly of a single platform and the problem that users and providers'choice unicity.In 
		fowarding layer,there are many providers, they can offer different types of resources for each platform.
		</t>
		<figure  anchor="Figure-7" title="Multi-Ownership Combinatorial Double Auction Model">
			<artwork align="center"><![CDATA[
*------------------------------------------------------------------------*
|Application +--------------+  +---------------+      +---------------+  |
|  Layer     | Application 1|  | Application 2 |  ... | Application n |  |
|            +--------------+  +---------------+      +---------------+  |
*--------------Y-Y-Y---------------Y-Y--Y--------------------Y--Y--Y-----*
               | | | +-------------+ |  |    +---------------+  |  |
               | | | |   +-----------|--|----|------------------+  |
               | | +-|---|-----------|--|----|----------------+    |
               | +---|---|-------+   |  +----|-----------+    |    |
               |     |   |       |   |       |           |    |    |
*--------------V-----V---V-------V---V-------V-----------V----V----V-----*
|  Control   +--------------+  +---------------+      +---------------+  |
|  Layer     |Control Plane1|  |Control Plane2 |  ... |Control Plane n|  |
|            +--------------+  +---------------+      +---------------+  |
*--------------Y-Y-Y---------------Y-Y--Y--------------------Y--Y--Y-----*
               | | | +-------------+ |  |    +---------------+  |  |
               | | | |   +-----------|--|----|------------------+  |
               | | +-|---|-----------|--|----|----------------+    |
               | +---|---|-------+   |  +----|-----------+    |    |
               |     |   |       |   |       |           |    |    |
*--------------V-----V---V-------V---V-------V-----------V----V----V---------*
|Forwarding +-----------------+ +-----------------+     +------------------+ |
|  Layer    |Forwarding Plane1| |Forwarding Plane2| ... |Forwarding Plane n| |
|           +-----------------+ +-----------------+     +------------------+ |
*----------------------------------------------------------------------------*
			]]></artwork>
        </figure>
		<t>
		We summarize the differences of three kinds of trading pattern and the position of SDN architecture which 
		applied them , as shown in <xref target="Figure-8"/>:    
		</t>
		<figure  anchor="Figure-8" title="the Differences among Three Trading Patterns">
			<artwork align="center"><![CDATA[
-----------------------------------------------------------------------------------
   Trading |   Product  | Trading| Trading Risk  |  Trading price  | Location 
   Pattern |   Pattern  | market |               |                 |  of SDN           
-----------|------------|--------|---------------|-----------------|---------------
   spot    |   Retail   |    No  |Greater risk   | Negotiation     | Application 
 trading   |   Commodity|        |               |non-standard     | layer
-----------|------------|--------|---------------|-----------------|---------------
  Futures  |  A kind of | Future | Has margin,   |Settlement based |
  trading  | products as|        | less risk     |on the price     |Data forwarding 
           | a unit     |        |               |of the exchange  |layer
-----------|------------|--------|---------------|-----------------|---------------
  Planned  |Goods in any| Overall|PlannedSpending| Control price,  | Entire 
  trading  | combination| market |almost no risk |according to     |architecture
           |            |        |               |supply and demand|           
-----------|------------|--------|---------------|-----------------|---------------
			]]></artwork>
        </figure>
        <t>
		The commodities mode, trading market and other factors of planned trading decides it apply to the entire
		SDN market; the commodities mode of spot trading determines which is suitable for small number of resources 
		trading, and it has some risks, therefore it works in the application layer of SDN architecture; the 
		commodities mode of futures trading trade in a kind of resource as a unit, and the risk is small, 
		possess the futures market, so it works in data forwarding layer of SDN architecture. 
        </t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->
	<section title="Intelligent Mechanism bases on Meta-Model">
		<section title="Intelligent Component">
			<t>As shown in<xref target="Figure-9"/>We defines a advenced mechanism of SDN framework, the primary module  
			sustains the speciality of intelligence and smart, which composed by three main components, including network sense function, 
			SDP module, and policy control.
			</t>
			<t>
			The network sence function, within this intelligence mechanism, in change of preceiving each details 
			, monitoring network state on a domain scale, to be special, bandwidth, quality of service, line loading, besides, node capacities of 
			calculation, storage and speed. While network sence function learns those information from SDN south interface, they could analyze  
			and encapsulate them with an overlay, following, send encapsulated message to SDP module though inner port.
			</t>
			<t>
			The SDP module porvides pre-customized algorithm based upon SDP protocol, which would operated in encapsulated message processing, consists 
			the interaction and the relation between meta-abilities and requirements of applicatoin, and manages preliminary SFC policies, overviewed of 
			<xref target="RFC7665">RFC 7665</xref>, to construct meta-abilities with knowledge reasoning.
			</t>
			<t>Policy, in contrast, interacts with the system in other places.Policies and SDP module may monitor meta-abilities to decide 
			if additional (or fewer) instances of services are needed. When applicable, those decisions may in turn result in interactions that 
			direct the control logic to change the placement of meta-abilities service function chain,in short, MSFC.
			</t>
			<t>
			The policy control module is part of the overall intelligent mechanism, and is responsible for constructing MSFCs, translating MSFCs to forwarding paths, 
			and propagating path information to participating meta-ability nodes to achieve requisite forwarding behavior to construct the service overlay and qualify
			the requirements of application. For instance, the physical placement of meta-ability nodes may be static; selecting exactly which MSFCs and which meta-abilities from those MSFCs are to be used, 
			or it may be dynamic, allowing the network to perform some or all of the choices of MSFC or meta-abilities to use to deliver the selected service chain within the 
			constraints represented by the service path. While, within this mechanism, physical resource and logicl meta models state are permitted to be registered on the 
			policy control module.
			</t>
			<t>
			Architecturally, within the same policy control module
			domain, some MSFCs may be fully specified, selecting exactly which MSFC
			and which meta-abilities are to be visited by packets using that MSFC, while other
			MSFCs may be quite vague, deferring to the traffic the decisions about the
			exact sequence of steps to be used to realize the MSFC. 
			</t>
			<figure  anchor="Figure-9" title="Composite Intelligent and Software-Defined-Price Mechanism Model">
				<artwork align="center"><![CDATA[
       o  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .                                   
       .                   +------------+                                                                                 
       .                 + | SDP Module |+  + -----------------------                                                                                       
South  .   +---------+  /  +------------+ \ | Policy   +----+   +----+                               
Intf   .   | Network | /                   +| Control  |SFC1|...|SFCn|                                                                                        
+--------->| Sence   |+  +--------------+   | Module   +----+   +----+         
Network.   | Function|   |Kernel Control|   +------------V--------V---
State  .   +---------+   |  Module      |               /        /               
       .                 +--------------+<-------------+--------+                                                      
       o  .  .  .  .  .  .  .  .  Y  .  .  .  .  .  .  .  .  .  .  .  .  .  .                                                                                            
                                  +-------------+ 
                                  |             |
                                  V             V                                                       
                             Meta-Ability1...Meta-Abilityn                                                       
																										
				]]></artwork>
			</figure>
		</section>
		<section title="Mechanism Principles">
			<t>
			Intelligent mechanism bases on meta-model is predicated on several key architectural principles:
			</t>
			<t>
			<list style="numbers">
				<t>Universality:IPv6 networks should be supported. And diversified user requirements and endpoint also can transport in this mechanism.</t>
				<t>Sensation:Intelligent mechanism should have the capacity to sence diversified behavior characteristic of network services and users. While, 
				this mechanism should support the intellgent recognition and analysis based on users, context and application, and on this situation to achieve a flexible policy
				scheduling and routing.</t>
				<t>
				Efficient: Requires the network to provide on-demand support for users and application requirements, intelligent traffic control capabilities, 
				and the ability to alleviate the unreasonable consumption of uncontrollable traffic to network resources. 
				At the same time,this mechanism can improve network adaptability reasonably,  and achieve content distribution efficiently by enhancing the dynamic regulation of resources on demand quality assurance capabilities.
				</t>
				<t>Openness:The application of security and network awareness, traffic scheduling and other capabilities should be combined in the netwok of intellgent open-architecture.  
				This mechanism could lower the threshold to further innovation of the upper application, and meet the needs of personalized, diverse user, meanwhile, optimize the 
				existing carrier network management model, improve the operational efficiency of the network.
				</t>
				<t>Evolution: Network development must support future users and applications through overlaying new-built or existing system upgrades based on 
				active network-level architectures. Seldom change to the running underlay network forwarding facility -- implicit, or explicit -- are needed to deploy and invoke intelligent mechanism.
				And this mechanism should provides standardized communication protocols and interfaces for collaboration processes between 
				different levels, between external systems, between meta-models, with little influence on existing networks and can be gradually upgraded amongst existing networks architecture.
				</t>	
				<t>
				Autonomy:With the development of network, it is necessary to introduce artificial
				intelligence technology to achieve self-adjustment, self-optimization, self-recovery of the network through collection of huge data of network state and machine learning.  The areas of machine
				learning which are easier to be used in the network field may
				include: troubleshooting of network problems, network traffic
				prediction, traffic optimization adjustment, security defense,
				security auditing, etc., to implement network perception and
				cognition.
				</t>
			</list>
			</t>
		</section>
		<section title="MSFC">
			<t>TBD</t>
		</section>
    </section>
    <section title="Security ">
		<t>TBD</t>
    </section>
    <section title="IANA Considerations ">
		<t>This document has no actions for IANA.</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="Informative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
		&RFC7426;
		&RFC5812;
		&RFC6956;
		&RFC7665;
		<reference anchor="Telecommunications-Science">
			<!-- the following is the minimum to make xml2rfc happy -->
			<front>
				<title>Architecture of SDN applications based on Software-Defined price</title>

				<author initials="B.Z.G." surname="Zhuge">
					<organization></organization>
				</author>
				<author initials="B.X.W." surname="Wang">
					<organization></organization>
				</author>
				<author initials="Y.N.W." surname="Wang">
					<organization></organization>
				</author>
				<date year="2015" />
			</front>
			
		</reference>
		<reference anchor="Telecommunications-Science.2">
			<!-- the following is the minimum to make xml2rfc happy -->
			<front>
				<title>Research on the Meta Model Construction Mechanism in SDN Architecture</title>
				<author initials="B.Z.G." surname="Zhuge">
					<organization></organization>
				</author>
				<author initials="H.Z" surname="Zhu">
					<organization></organization>
				</author>
				<author initials="B.X.W" surname="Wang">
					<organization></organization>
				</author>
				<date year="2016" />
			</front>							
		</reference>
		<reference anchor="China-Communications">
        <!-- the following is the minimum to make xml2rfc happy -->

			<front>
				<title> Resource Scheduling Algorithm and Ecnomic Model in ForCES Networks.China Communications</title>

				<author initials="B.Z.G." surname="Zhuge">
					<organization></organization>
				</author>
				<author initials="L.D." surname="Deng">
					<organization></organization>
				</author>
				<author initials="G.W.D." surname="Dai">
					<organization></organization>
				</author>
				<author initials="L.W." surname="Wan">
					<organization></organization>
				</author>
				<author initials="W.M.W." surname="Wang">
					<organization></organization>
				</author>
				<author initials="J.L.L." surname="Lan">
					<organization></organization>
				</author>
				<date year="2014" />
			</front>
		</reference>
		<reference anchor="ONF-White-Paper">
        <!-- the following is the minimum to make xml2rfc happy -->

			<front>
				<title>Software-defined networking: The new norm for networks</title>
				<author >
					<organization>Fundation O N.</organization>
				</author>
				<date year="2012" />
			</front>
		</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>
