<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd' []>

<rfc ipr="trust200902" category="info" docName="draft-defoy-coms-subnet-interconnection-00">
  <?rfc toc="yes"?>
  <?rfc symrefs="yes"?>
  <?rfc sortrefs="yes"?>
  <?rfc compact="yes"?>
  <?rfc subcompact="no"?>
  <?rfc private=""?>
  <?rfc topblock="yes"?>
  <?rfc comments="no"?>
  <front>
    <title abbrev="Network slicing">Interconnecting Network Slice 
      Subnets</title>

    <author initials="X." surname="de Foy" fullname="Xavier de Foy">
      <organization>InterDigital Inc.</organization>
      <address>
        <postal>
          <street>1000 Sherbrooke West</street>
          <city>Montreal</city>
          <code></code>
          <country>Canada</country>
          <region></region>
        </postal>
        <phone></phone>
        <email>Xavier.Defoy@InterDigital.com</email>
        <uri></uri>
      </address>
    </author>
    <author initials="A." surname="Rahman" fullname="Akbar Rahman">
      <organization>InterDigital Inc.</organization>
      <address>
        <postal>
          <street>1000 Sherbrooke West</street>
          <city>Montreal</city>
          <code></code>
          <country>Canada</country>
          <region></region>
        </postal>
        <phone></phone>
        <email>Akbar.Rahman@InterDigital.com</email>
        <uri></uri>
      </address>
    </author>
    <date year="2017" month="October" day="3"/>

    <area>Internet</area>
    <workgroup>none</workgroup>
    <keyword>Network Slicing</keyword>


    <abstract>
      <t>
        This document aims to define a network slice subnet
        as a general concept, and to augment a baseline network slice model
        with attributes that describe interconnections between network slice subnets.
      </t>
    </abstract>
  </front>

  <middle>

    <section anchor="introduction" title="Introduction">


      <t>
        Network Slicing enables creating end-to-end partitioned virtual
        networks, including compute and storage resources, to deploy
        services with diverse requirements over the same infrastructure.
        <xref target="I-D.geng-coms-problem-statement"/> describes a problem statement
        for supervised heterogeneous network slicing, enabling users to deploy network
        slices including connectivity, computing and storage components.
      </t>

      <t>
      Nevertheless, defining and managing a network slice (NS) end-to-end
        does not always have to be done directly: it may be convenient to define and
        manage subsets of NS components.
        The concept of network slice subnet is defined originally in
        <xref target="NGMN_Network_Slicing"/>, though we only need to retain its
        definition in the most general form: network slice subnet instances are
        comprised of network, compute and storage resources,
        but cannot be operated in isolation as a complete network slice. They must be interconnected with
        other NS subnets to form a complete, end-to-end network slice.
        To summarize: a NS subnet can be seen as a network slice with unconnected links.
        The term network slice segments has also occasionally been used to designate NS subnets.
        Use cases for using NS subnets include managing multi-domain network slices,
        or even within one domain, isolate management and maintenance of  different portions of
        a network slice.
      </t>

      <t>
        A model for network slicing is currently being defined in 
        <xref target="I-D.qiang-coms-netslicing-information-model"/>. One 
        question we would like to address is how to augment this base model to 
        describe interconnections between NS subnets. The base model is not technology specific,
        and therefore the description of interconnections should not be either.
        Moreover, such an augmentation should both enable describing the 
        intent for interconnection, as well as describing actual interconnections once NS
        subnets have been stitched together.
        </t>

      <section anchor="requirements-language" title="Terminology">

        <t> Network slicing related terminology used in this
          document should be interpreted as described in
          <xref target="I-D.geng-coms-problem-statement"/>.
        </t>

        <t>
          Note: in this text we refer to termination points, as defined in
          <xref target="I-D.ietf-i2rs-yang-network-topo"/>,
          while a similar concept is called "port" in
          <xref target="I-D.qiang-coms-netslicing-information-model"/>.
          Terminology will be adjusted as needed later on.
        </t>

      </section>

    </section>


      <section anchor="InterconnectionConcepts" title="Interconnection Concepts">
      <t>
        The general goal of an interconnection between 2 NS subnets is to have 
        links established between nodes from both subnets.
        A secondary goal is to keep NS subnet descriptions isolated from each other
        (to some extent that is still to be defined).
        This relative isolation will contribute to simplify and decentralize management,
        as well as enabling operations such as substituting a
        subnet with another, etc.
      </t>

        <t>
        As described in Figure 1,
          we can represent a network slice subnet as a network slice
        that also has one or more logical nodes, which terminate (at
          logical termination points) links that need to be
          interconnected with external nodes (cross-subnet links).
        </t>

        <t>
          During a stitching operation, logical termination points
          from both NS subnets can be paired together into an interconnection
          point. When implemented at the infrastructure layer, this
          interconnection point may be either implemented as a
          gateway, or abstracted away, in which case nodes from both NS subnets
          end up being directly interconnected between each other. In any cases,
          interconnected links will need to have compatible QoS attributes.
        </t>

        <figure anchor="fig-interconnection" align="center"
    title="Network Slice Subnets Interconnection">
<artwork align="center"><![CDATA[
                            Slice Provider
                                  |
+---------------------------------v---------------------------------+
|  Slice Manager                                                    |
|                                                                   |
| +---------------------------------------------------------------+ |
| |   Data model: network slice composed of NS subnet 1 and 2     | |
| |                                                               | |
| |      Network Slice Subnet 1            Network Slice Subnet 2 | |
| | +---------------------------+  +----------------------------+ | |
| | |     cross-subnet link     |  |   cross-subnet             | | |
| | |    +----------------+     |  |       link    +------+     | | |
| | |    |                |     |  |      +--------o node |     | | |
| | |    |                |Interconnection|        +---o--+     | | |
| | |+---o--+     +-------|-----+--+------|------+     |        | | |
| | || node |     |       |     |  |      |      |     |        | | |
| | |+---o--+     | +-----|---+ |  | +----|----+ |     |        | | |
| | |    |        | |     |   | |  | |    |    | |     |        | | |
| | |    |        | |     o - - - - - - - o    | |     |        | | |
| | |    |        | |         | |  | |         | |     |        | | |
| | |    |        | | logical | |  | | logical | |     |        | | |
| | |    |        | |  node   | |  | |  node   | |     |        | | |
| | |    |        | |         | |  | |         | |     +---+    | | |
| | |    |        | |     o - - - - - - - o    | |         |    | | |
| | |    |        | |     |   | |  | |    |    | |         |    | | |
| | |    |        | +-----|---+ |  | +----|----+ |     +---o--+ | | |
| | |    |        |       |     |  |      |      |     | node | | | |
| | |    |        +-------|-----+--+------|------+     +---o--+ | | |
| | |    | +------+       |     |  |      |                |    | | |
| | |    +-o node o-------+     |  |      +----------------+    | | |
| | |      +------+ cross-subnet|  |         cross-subnet       | | |
| | |                link       |  |           link             | | |
| | +---------------------------+  +----------------------------+ | |
| +---------------------------------------------------------------+ |
+--------------------------------+----------------------------------+
                                 |
                                 v
                         Network Infrastructure
]]></artwork>
</figure>

        <t>
          Network slice interconnection information in data models can be used for different
        related purposes:
          <list style="symbols">
            <t>
              Anchoring interconnections at logical termination points: a
              NS subnet model should specify which link termination points are
              the "network slice subnet boundaries" that need to be 
              interconnected.
            </t>
            <t>
              Programming interconnections: a NS provider may set attributes in a NS subnet
              model to configure the interconnection with another NS subnet.
            </t>
            <t>
              Describing the state of interconnection (once NS subnets are interconnected).
            </t>
          </list>
        </t>

      </section>

      <section anchor="InterconnectionInfo" title="Information Model">

        <t>
        A fairly minimal way to represent an interconnection is:
        <list style="symbols">
          <t>
            To represent an interconnection anchor in a subnet: a logical termination point in this subnet.
          </t>
          <t>
            To program or represent an interconnection between subnets: a pair of logical termination points, one
            in each subnet.
          </t>
        </list>
          Some form of grouping of logical termination points (for example, in logical nodes) may tell the NS
          manager to treat those termination points as a
          single unit for placement, implementation, etc.
        </t>

        <t>
          Additional information may be useful to complement the description of an interconnections.

          Some attributes
          may be useful to describe an interconnection point anchor, while others
          may be useful to program or represent the state of an interconnection.

          For example, logical termination points may be associated with information
          that facilitates placement or stitching operations.

          Future work should determine what type of information would be useful
          to specify or represent a NS interconnection.
        </t>

      </section>
    
    <section anchor="Operations" title="Operations">

      <t>
        Stitching may occur when network slice subnets are initially instantiated, 
        or later after instantiation.
      </t>

    </section>

    <section anchor="security-considerations" title="Security Considerations">
      <t>
        Access control mechanisms for managing network slices can likely be reused
        for network slice subnets,
        since their models should be similar to each other.
      </t>
      <t>Stitching 2 NS subnets together may be subject to some form of authorization by a NS tenant.
      </t>
    </section>

    <section anchor="next" title="Next Steps">
      <t>
        The present draft investigates one aspect of a non-technology specific representation of a network slice.
        It may therefore be part of the larger discussion on the need for such a representation.
      </t>
      <t>
        Beyond this, next steps can include the following:
        <list style="symbols">
          <t>Discussing the definition and need for NS subnets. Is "NS with unconnected links" an adequate
          simple definition? Is there an agreement on the use cases? Should NS subnet interconnection be standardized?</t>
          <t>Assuming there is some interest in this,
            further work is needed to better understand what attributes and operations are needed,
            and how to integrate them in a baseline NS model.</t>
        </list>
      </t>
    </section>

    <!--
    <section anchor="acknowledgements" title="Acknowledgements">
      <t>TBD
      </t>
    </section>
    -->

    <section anchor="iana" title="IANA Considerations">
      <t>This document has no actions for IANA.
      </t>
    </section>

  </middle>
  <back>
    <references title="Informative References">
      <?rfc
      include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.geng-coms-problem-statement.xml"?>
      <?rfc 
      include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.qiang-coms-netslicing-information-model.xml"?>
      <?rfc 
      include="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-i2rs-yang-network-topo.xml"?>

      <reference anchor="NGMN_Network_Slicing" target="https://www.ngmn.org/uploads/media/161010_NGMN_Network_Slicing_framework_v1.0.8.pdf">
        <front>
          <title>
            Description of Network Slicing Concept
          </title>
          <author>
            <organization>NGMN</organization>
          </author>
          <date day="16" month="10" year="2016"/>
        </front>
        <format type="PDF" target="https://www.ngmn.org/uploads/media/161010_NGMN_Network_Slicing_framework_v1.0.8.pdf"/>
      </reference>
    </references>

  </back>
</rfc>
