Internet DRAFT - draft-boulton-mediactrl-mrb-location-function

draft-boulton-mediactrl-mrb-location-function







Network Working Group                                         C. Boulton
Internet-Draft                                                  J. Dally
Intended status: Informational                           NS-Technologies
Expires: July 31, 2014                                  January 27, 2014


          Media Resource Broker (MRB) Location Function (MLF)
            draft-boulton-mediactrl-mrb-location-function-06

Abstract

   The MediaCtrl work group in the IETF has produced a complete
   architecture for controlling media server resources in Internet
   Protocol (IP) based networks.  An important function in the MediaCtrl
   architecture is the Media Resource Broker entity which monitors and
   allocates media resources to requesting applications.  This document
   introduces a Media Resource Broker (MRB) Location Function (MLF)
   which works in partnership with MRB's in large deployments providing
   a light weight scaling and failover mechanism.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on July 31, 2014.

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Boulton & Dally           Expires July 31, 2014                 [Page 1]

Internet-Draft         MRB Location Function(MLF)           January 2014


   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions and Terminology . . . . . . . . . . . . . . . . .   4
   3.  Overview of Operation . . . . . . . . . . . . . . . . . . . .   5
     3.1.  MLF using HTTP  . . . . . . . . . . . . . . . . . . . . .   7
     3.2.  MLF using SIP . . . . . . . . . . . . . . . . . . . . . .   8
   4.  MLF Interface Definitions . . . . . . . . . . . . . . . . . .   8
   5.  Media Service Resource Publisher Interface XML Schema . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  10
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   As Internet Protocol(IP) networks continue to grow and IP based media
   servers increase in numbers, the complexity associated increases.
   This includes important areas such as provisioning, media resource
   allocation, media resource management and media resource scalability.
   The MediaCtrl Media Resource Broker (MRB) [I-D.ietf-mediactrl-mrb]
   was introduced to provide virtualisation of IP media resources.  The
   MRB moves deployments away from the current siloed deployment model
   where media servers are explicitly associated and utilized by
   specified applications.  Figure 1 illustrates the common model used
   by many deployments today.


















Boulton & Dally           Expires July 31, 2014                 [Page 2]

Internet-Draft         MRB Location Function(MLF)           January 2014


                                   +---+-----+---+
                                   |    Media    |
                    +----->|    Server   |
                                |  +-------------+
                                    |
   +---+-----+---+                  |      +---+-----+---+
   | Application |                  |      |    Media    |
   |   Server    |<--MS Control-----+----->|    Server   |
   +-------------+                  |      +-------------+
                                    |
                                    |      +---+-----+---+
                                +----->|    Media    |
                           |    Server   |
                                   +-------------+


                         Figure 1: Silo Deployment

   The MRB is introduced to break this siloed approach allowing media
   resources to be provisioned, managed and utilized in a virtualized
   manner.  This allows for greater productivity from a virtualized pool
   of media resources and also introduces application level intelligence
   and consolidation for managing media resources.  Figure 2 illustrates
   the introduction of an MRB entity.


   +---+-----+---+                                     +---+-----+---+
   | Application |                                     |    Media    |
   |   Server    |<-----+                      +------>|    Server   |
   +-------------+      |                      |       +-------------+
                        |                      |
   +---+-----+---+      |    +---+----+---+    |       +---+-----+---+
   | Application |      |    |    MRB     |    |       |    Media    |
   |   Server    |<-----+----|            |----+------>|    Server   |
   +-------------+      |    +---+----+---+    |       +-------------+
                        |                      |
   +---+-----+---+      |                      |       +---+-----+---+
   | Application |      |                      +------>|    Media    |
   |   Server    |<-----+                              |    Server   |
   +-------------+                                     +---+-----+---+


                         Figure 2: MRB Deployment

   Large networks that require segmented deployment and/or span
   geographic boundaries may require multiple MRB instances.  In such
   deployments, applications will require an efficient, light weight,
   centralised directory look-up service that enables client



Boulton & Dally           Expires July 31, 2014                 [Page 3]

Internet-Draft         MRB Location Function(MLF)           January 2014


   applications to obtain the most relevant MRB for its media resource
   request.  The MRB Location Function (MLF) defined in this
   specification provides such a service, as illustrated in Figure 3.


                                                       +--------------+
                                                       |              |
   +---+-----+---+          +---+----+---+           +---+-----+---+  |
   | Application |    (2)   |    MRB     |           |    Media    |--+
   |   Server    |<-------->|  (London)  |<--------->|    Server   |
   +------+------+          +---+----+---+           +-------------+
          |
          | (1)                                        +--------------+
          v                                            |              |
   +---+-----+---+          +---+-----+--+           +-------------+  |
   |     MLF     |          |    MRB     |           |    Media    |--+
   |             |          | (New York) |<--------->|    Server   |
   +-------------+          +---+-----+--+           +-------------+


                         Figure 3: MLF Deployment

   Figure 3 provides a simplistic representation of an application
   firstly requesting media resources from an MLF, as illustrated by
   (1).  The MLF makes a decision based on the information provided by
   the application and returns the most appropriate MRB for use.  The
   application then continues as per [I-D.ietf-mediactrl-mrb] and
   utilizes the selected MRB.

   It should be noted that the MLF entity defined in this specification
   is a logical role.  The role can either be carried out by a
   standalone instance of an MLF or an MRB acting in the logical role of
   an MLF.  This specification makes no recommendations or judgements on
   how an MLF is deployed and simply provides the mechanisms to achieve
   the functionality.

2.  Conventions and Terminology

   In this document, BCP 14/RFC 2119 [RFC2119] defines the key words
   "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
   "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL".  In addition, BCP 15 indicates requirement levels for
   compliant implementations.

   This document inherits terminology proposed in the MediaCtrl
   Architecture [I-D.ietf-mediactrl-architecture] and the Media Control
   Channel Framework [I-D.ietf-mediactrl-sip-control-framework].  In




Boulton & Dally           Expires July 31, 2014                 [Page 4]

Internet-Draft         MRB Location Function(MLF)           January 2014


   addition, the following terms are defined for use in this document
   and for use in the context of the MediaCtrl Work group in the IETF:

   MLF:  An MRB Location Function.  The light weight MRB directory
      service as defined in this document.

3.  Overview of Operation

   The MRB lookup provided by the MLF needs to be extremely light weight
   and performant.  This section provides normative detail on using the
   MLF.

   An application will be configured to use the MLF to ask for an
   appropriate MRB instance that is available in the network.  The
   specific configuration mechanism is out of the scope of this document
   and is implementation specific.  A client of the MLF MUST then
   produce a valid Consumer interface XML document as specified in
   [I-D.ietf-mediactrl-mrb] as if it were requesting resources from an
   MRB.  Additionally, the application MUST include a single instance of
   the <mlf> element as defined in Section 5.  Details of the <mlf>
   element can be found in Section 4.  The <mlf> element is included in
   the resource request XML to enable an MLF entity to identify a
   request for an appropriate MRB.

   A valid MLF request MUST contain a single instance of the <mlf>
   element.  The <mlf> element MUST appear as a child element of the
   <mediaResourceRequest> element from the Consumer interface defined in
   [I-D.ietf-mediactrl-mrb].  The <mlf> element appears with the other
   appropriately populated elements and attributes from the Consumer
   interface defined in [I-D.ietf-mediactrl-mrb].  The <mlf> element
   MUST NOT contain the child element <mrb-address> and if present will
   be ignored.  The following is an example:



















Boulton & Dally           Expires July 31, 2014                 [Page 5]

Internet-Draft         MRB Location Function(MLF)           January 2014


 <mrbconsumer version="1.0" xmlns="urn:ietf:params:xml:ns:mrb-consumer">
 <mediaResourceRequest>
     <mlf/>
     <generalInfo>
       <packages>
         <package>msc-ivr/1.0</package>
         <package>msc-mixer/1.0</package>
       </packages>
     </generalInfo>
     <ivrInfo>
       <ivr-sessions>
         <rtp-codec name="audio/basic">
           <decoding>10</decoding>
           <encoding>10</encoding>
         </rtp-codec>
       </ivr-sessions>
       <file-formats>
         <required-format name="audio/x-wav"/>
       </file-formats>
       <streaming-modes>
         <stream-mode package="msc-ivr/1.0" name="HTTP"/>
       </streaming-modes>
     </ivrInfo>
   </mediaResourceRequest>
 </mrbconsumer>

   Once the previous steps have been carried out the request can be
   dispatched to the MLF using the mechanisms described in
   [I-D.ietf-mediactrl-mrb] using either Hypertext Transfer
   Protocol(HTTP)[RFC2616] or the Session Initiation Protocol
   (SIP)[RFC3261].  Using HTTP is described further in Section 3.1 and
   using SIP is described further in Section 3.2.

   On receiving a valid request from an application, as previously
   defined, the MLF inspects the XML payload.  The presence of the <mlf>
   element indicates to the MLF an appropriate MRB resource is being
   requested.  This enables an entity to clearly determine between an
   MRB request and an an MLF request.  The MLF is free to use the
   Consumer interface information provided to help select an appropriate
   MRB.  The MLF MUST then produce a valid Consumer interface XML
   document as specified in [I-D.ietf-mediactrl-mrb] as if it were
   responding to a Consumer interface request.  Additionally, the
   application MUST include a single instance of the <mlf> element as
   defined in Section 5.  Details of the <mlf> element can be found in
   Section 4.  The <mlf> element is included in the resource request XML
   to enable an MLF entity to specify appropriate MRB locations.





Boulton & Dally           Expires July 31, 2014                 [Page 6]

Internet-Draft         MRB Location Function(MLF)           January 2014


   [Editors Note: Need to cope with error condition if MLF receives
   request without <mlf> element.]

   A valid MLF response MUST contain a single instance of the <mlf>
   element.  The <mlf> element MUST appear as a child element of the
   <mediaResourceResponse> element from the Consumer interface defined
   in [I-D.ietf-mediactrl-mrb].  Only the <mlf> element is allowed to
   appear and no other child elements from the Consumer interface should
   be present.  The <mlf> element MUST contain at least one occurrence
   of the the child element <mrb-address> which indicates the MRB
   resource to use.  The 'status' <mediaResourceResponse> attribute will
   return a value of 200 to signal a successful MLF request.  The
   following is an example:


 <mrbconsumer version="1.0" xmlns="urn:ietf:params:xml:ns:mrb-consumer">
   <mediaResourceResponse>
     <mlf>
       <mrb-address>sip:mrb1@ns-technologies.com</mrb-address>
     </mlf>
   </mediaResourceResponse>
 </mrbconsumer>

   [Editors Note: Include other values for the 'status' attribute - for
   example, no matching MRB found.]

   Once the previous steps have been carried out the response can be
   dispatched from the MLF using the mechanisms described in
   [I-D.ietf-mediactrl-mrb] using either Hypertext Transfer
   Protocol(HTTP)[RFC2616] or the Session Initiation Protocol
   (SIP)[RFC3261].  Using HTTP is described further in Section 3.1 and
   using SIP is described further in Section 3.2.

   The client application is then free to contact an MRB returned from
   the MLF request.

   [Editors Note: Consider including an optional priority attribute in
   next version.]

3.1.  MLF using HTTP

   [Editors Note: Consider including HTTP probe for MLF support in next
   version.]

   Consumer interface interactions using HTTP between an application and
   an MLF, as defined in Section 3, MUST use the HTTP protocol as per
   [I-D.ietf-mediactrl-mrb].




Boulton & Dally           Expires July 31, 2014                 [Page 7]

Internet-Draft         MRB Location Function(MLF)           January 2014


3.2.  MLF using SIP

   [Editors Note: Consider including SIP Options probe for MLF support
   in next version.]

   Consumer interface requests using SIP between an application and an
   MLF, as defined in Section 3, MUST use the SIP protocol as per
   [I-D.ietf-mediactrl-mrb].  Consumer interface responses using SIP
   between an MLF and an application, as defined in Section 3, MUST use
   a SIP 300 redirect response to carry the MLF response.

4.  MLF Interface Definitions

   This section defines the XML elements for interactions between an
   application and an MLF.  The formal schema definition for the
   interactions can be found in Section 5.

   The root element is <mlf>.  All other MLF related information is
   contained within it.  The <mlf> element has a single child element -
   <mrb-address>.  The <mrb-address> element appears at least once and
   provides the URI of an MRB that can be used to service a media
   resource request.

5.  Media Service Resource Publisher Interface XML Schema

   This section gives the XML Schema Definition [W3C.REC-
   xmlschema-1-20041028], [W3C.REC-xmlschema-2-20041028] of the
   "application/mlf+xml" format.


   <?xml version="1.0" encoding="UTF-8"?>
   <xsd:schema targetNamespace="urn:ietf:params:xml:ns:mlf"
    elementFormDefault="qualified" blockDefault="#all"
    xmlns="urn:ietf:params:xml:ns:mlf"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:annotation>
     <xsd:documentation>
      MLF

      This is the schema for MLF usage.

      The schema namespace is urn:ietf:params:xml:ns:mlf

     </xsd:documentation>
    </xsd:annotation>





Boulton & Dally           Expires July 31, 2014                 [Page 8]

Internet-Draft         MRB Location Function(MLF)           January 2014


    <!--
     #############################################################

     SCHEMA IMPORTS

     #############################################################
    -->

    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
     schemaLocation="http://www.w3.org/2001/xml.xsd">
     <xsd:annotation>
      <xsd:documentation>
       This import brings in the XML attributes for
       xml:base, xml:lang, etc
      </xsd:documentation>
     </xsd:annotation>
    </xsd:import>

   <!--
     #####################################################

     TOP LEVEL ELEMENT: mlf

     #####################################################
    -->

   <xsd:complexType name="mlfType">
     <xsd:complexContent>
       <xsd:sequence>
         <xsd:element ref="mrb-address"
          minOccurs="0" maxOccurs="unbounded"/>
         <xsd:any namespace="##other" minOccurs="0"
          maxOccurs="unbounded" processContents="lax" />
       </xsd:sequence>
       <xsd:anyAttribute namespace="##other" processContents="lax" />
     </xsd:complexContent>
    </xsd:complexType>

    <xsd:element name="mlf" type="mlfType" />

   <!--  mrb-address -->

    <xsd:element name="mrb-address" type="xsd:anyURI"/>

   </xsd:schema>






Boulton & Dally           Expires July 31, 2014                 [Page 9]

Internet-Draft         MRB Location Function(MLF)           January 2014


6.  Security Considerations

   Security Considerations to be included in later versions of this
   document.

7.  IANA Considerations

   IANA Considerations to be included in later versions of this document
   if required.

8.  Acknowledgments

   The authors would like to thank Rhys Morgan of NS-Technologies for
   review and feedback on this draft.

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

9.2.  Informative References

   [I-D.ietf-mediactrl-architecture]
              Melanchuk, T., "An Architectural Framework for Media
              Server Control", draft-ietf-mediactrl-architecture-04
              (work in progress), November 2008.

   [I-D.ietf-mediactrl-mrb]
              Boulton, C., Miniero, L., and G. Munson, "Media Resource
              Brokering", draft-ietf-mediactrl-mrb-19 (work in
              progress), February 2013.

   [I-D.ietf-mediactrl-sip-control-framework]
              Boulton, C., Melanchuk, T., and S. McGlashan, "Media
              Control Channel Framework", draft-ietf-mediactrl-sip-
              control-framework-12 (work in progress), September 2010.

   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.




Boulton & Dally           Expires July 31, 2014                [Page 10]

Internet-Draft         MRB Location Function(MLF)           January 2014


Authors' Addresses

   Chris Boulton
   NS-Technologies

   Email: chris@ns-technologies.com


   John Dally
   NS-Technologies

   Email: john@ns-technologies.com







































Boulton & Dally           Expires July 31, 2014                [Page 11]