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]