Network Working Group C. Boulton Internet-Draft J. Dally Intended status: Informational NS-Technologies Expires: January 31, 2013 July 30, 2012 Media Resource Broker (MRB) Location Function (MLF) draft-boulton-mediactrl-mrb-location-function-03 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 January 31, 2013. Copyright Notice Copyright (c) 2012 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 January 31, 2013 [Page 1] Internet-Draft MRB Location Function(MLF) July 2012 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 6 3. Overview of Operation . . . . . . . . . . . . . . . . . . . . 7 3.1. MLF using HTTP . . . . . . . . . . . . . . . . . . . . . . 9 3.2. MLF using SIP . . . . . . . . . . . . . . . . . . . . . . 10 4. MLF Interface Definitions . . . . . . . . . . . . . . . . . . 11 5. Media Service Resource Publisher Interface XML Schema . . . . 12 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 9.1. Normative References . . . . . . . . . . . . . . . . . . . 17 9.2. Informative References . . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18 Boulton & Dally Expires January 31, 2013 [Page 2] Internet-Draft MRB Location Function(MLF) July 2012 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. +---+-----+---+ | 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. Boulton & Dally Expires January 31, 2013 [Page 3] Internet-Draft MRB Location Function(MLF) July 2012 +---+-----+---+ +---+-----+---+ | 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 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 Boulton & Dally Expires January 31, 2013 [Page 4] Internet-Draft MRB Location Function(MLF) July 2012 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. Boulton & Dally Expires January 31, 2013 [Page 5] Internet-Draft MRB Location Function(MLF) July 2012 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 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. Boulton & Dally Expires January 31, 2013 [Page 6] Internet-Draft MRB Location Function(MLF) July 2012 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 element as defined in Section 5. Details of the element can be found in Section 4. The 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 element. The element MUST appear as a child element of the element from the Consumer interface defined in [I-D.ietf-mediactrl-mrb]. The element appears with the other appropriately populated elements and attributes from the Consumer interface defined in [I-D.ietf-mediactrl-mrb]. The element MUST NOT contain the child element and if present will be ignored. The following is an example: Boulton & Dally Expires January 31, 2013 [Page 7] Internet-Draft MRB Location Function(MLF) July 2012 msc-ivr/1.0 msc-mixer/1.0 10 10 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 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 element as defined in Section 5. Details of the element can be found in Section 4. The element is included in the resource request XML to enable an MLF entity to specify appropriate MRB locations. [Editors Note: Need to cope with error condition if MLF receives Boulton & Dally Expires January 31, 2013 [Page 8] Internet-Draft MRB Location Function(MLF) July 2012 request without element.] A valid MLF response MUST contain a single instance of the element. The element MUST appear as a child element of the element from the Consumer interface defined in [I-D.ietf-mediactrl-mrb]. Only the element is allowed to appear and no other child elements from the Consumer interface should be present. The element MUST contain at least one occurrence of the the child element which indicates the MRB resource to use. The 'status' attribute will return a value of 200 to signal a successful MLF request. The following is an example: sip:mrb1@ns-technologies.com [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 January 31, 2013 [Page 9] Internet-Draft MRB Location Function(MLF) July 2012 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. Boulton & Dally Expires January 31, 2013 [Page 10] Internet-Draft MRB Location Function(MLF) July 2012 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 . All other MLF related information is contained within it. The element has a single child element - . The element appears at least once and provides the URI of an MRB that can be used to service a media resource request. Boulton & Dally Expires January 31, 2013 [Page 11] Internet-Draft MRB Location Function(MLF) July 2012 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. MLF This is the schema for MLF usage. The schema namespace is urn:ietf:params:xml:ns:mlf This import brings in the XML attributes for xml:base, xml:lang, etc Boulton & Dally Expires January 31, 2013 [Page 13] Internet-Draft MRB Location Function(MLF) July 2012 6. Security Considerations Security Considerations to be included in later versions of this document. Boulton & Dally Expires January 31, 2013 [Page 14] Internet-Draft MRB Location Function(MLF) July 2012 7. IANA Considerations IANA Considerations to be included in later versions of this document if required. Boulton & Dally Expires January 31, 2013 [Page 15] Internet-Draft MRB Location Function(MLF) July 2012 8. Acknowledgments The authors would like to thank Rhys Morgan of NS-Technologies for review and feedback on this draft. Boulton & Dally Expires January 31, 2013 [Page 16] Internet-Draft MRB Location Function(MLF) July 2012 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-13 (work in progress), July 2012. [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 January 31, 2013 [Page 17] Internet-Draft MRB Location Function(MLF) July 2012 Authors' Addresses Chris Boulton NS-Technologies Email: chris@ns-technologies.com John Dally NS-Technologies Email: john@ns-technologies.com Boulton & Dally Expires January 31, 2013 [Page 18]