Network Working GroupM. McRoberts
Internet-DraftProject Baird
Intended status: InformationalC. Jackson
Expires: January 2, 2011Project Baird / MetaBroadcast
 L. Miller
 NoTube
 July 1, 2010


Resolution service for Uniform Resource Identifiers (URIs) identifying broadcasts
draft-mcroberts-uri-resolver-00

Abstract

This document describes a service which accepts information, including URIs, which identify television and radio broadcasts and returns a canonical URL which can be used to retrieve metadata relating to the broadcast.

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 2, 2011.

Copyright Notice

Copyright (c) 2010 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 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.



1.  Introduction

In order for devices to retrieve metadata relating to broadcast television or radio programmes, one of two mechanisms must be employed: either the location of related metadata must be transmitted alongside or embedded within the programme itself, or alternately a means must be available which allows metadata to be discovered based upon information which is already available as part of the broadcast stream. The service described in this document is intended for use with the latter mechanism.

In order to achieve this, the resolution service is specified as a web service -- that is, an application made available via the HTTP protocol [RFC 2616] (Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1,” June 1999.) which accepts a defined set of parameters relating to the broadcast and returns a 301 Permanent Redirect response providing to the programme metadata URL.

Because those best-placed to provide this service are the organisations who broadcast the programmes in the first place, user agents locate instances of the service using RadioDNS [RadioDNS] (, “RadioDNS,” .) or TVDNS [TVDNS] (, “TVDNS,” .) (itself an extension of RadioDNS).

In combination with the RadioDNS/TVDNS hostname, a user agent supplies parameters to the service which are formulated based upon the information which is available to it regarding the programme. For example, a crid URI [RFC 4078] (Earnshaw, N., Aoki, S., Ashley, A., and W. Kameyama, “The TV-Anytime Content Reference Identifier (CRID),” May 2005.) might be available. Alternately, a medium-specific URI of some kind might be available (such as a dvb URI [ETSI TS 102 851] (European Broadcasting Union, DVB Project, and European Telecommunications Standards Institute, “Digital Video Broadcasting (DVB); Uniform Resource Identifiers (URI) for DVB Systems,” January 2010.)).

Once a user agent receives a metadata URL, it is free to use it as the application dictates: it might simply record the URL for later use, or use it as a means of identifying the programme to other applications, or it might make a request to it in order to retrieve programme metadata, or it might do none of these things. The semantics of the resource linked to by this URL are outside of the scope of this document and will be specified separately.



2.  Service discovery

Discovery of an instance of the resolver is accomplished by way of RadioDNS [RDNS01] (RadioDNS, “RadioDNS; Technical Specification (RDNS01),” June 2009.) or TVDNS [TVDNS] (, “TVDNS,” .) (an extension to RadioDNS). This specification defines a service name of "broadcast-meta".

In other words, once a RadioDNS fully-qualified domain name (FQDN) has been constructed relating to the broadcast service and DNS queries performed against it as per [RDNS01] (RadioDNS, “RadioDNS; Technical Specification (RDNS01),” June 2009.), a user agent shall query for SRV records named "_broadcast-meta._tcp" beneath the target of the FQDN if it is a CNAME, or else the FQDN itself.

A matching TXT record MUST also be published in DNS alongside the SRV record(s). The content of the TXT record takes the form:

txtvers=1 path=<path>

The value and purpose of <path> is defined below.



3.  Resolution requests

Requests to the resolver take the form of HTTP requests [RFC 2616] (Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1,” June 1999.), with the following constraints:



3.1.  Formulating a request URI

Request URIs take the general form (expressed as an Augmented Backus-Naur Form (ABNF) notation fragment:

request-uri =  path separator param-set

param-set   =  first-param *( "&" uri-param ) time-params

first-param =  initial-sep uri-param

uri-param   =  "uri[]=" value

time-params =  [ "&" start-param ] [ "&" dur-param ] [ "&" tt-param ]

start-param =  "start=" datetime

dur-param   =  "duration=" duration

tt-param    =  "tranmissionTime=" duration

initial-sep =  "?" / "&"

value       =  unreserved / pct-encoded

datetime    =  date "T" time "Z"

duration    =  "PT" hours "H" minutes "M" [ seconds "S" ]

date        =  year "-" month "-" day

time        =  hours "%3A" minutes [ "%3A" seconds ]

year        =  4 DIGIT

month       =  2 DIGIT

day         =  2 DIGIT

hours       =  2 DIGIT

minutes     =  2 DIGIT

seconds     =  2 DIGIT



4.  References



4.1. Normative References

[RFC 2616] 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.
[RFC 3986] Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” RFC 3986, January 2005.
[RFC 4078] Earnshaw, N., Aoki, S., Ashley, A., and W. Kameyama, “The TV-Anytime Content Reference Identifier (CRID),” RFC 4078, May 2005.
[ETSI TS 102 851] European Broadcasting Union, DVB Project, and European Telecommunications Standards Institute, “Digital Video Broadcasting (DVB); Uniform Resource Identifiers (URI) for DVB Systems,” ETSI TS 102 851, January 2010.
[RDNS01] RadioDNS, “RadioDNS; Technical Specification (RDNS01),” June 2009.


4.2. Informative References

[RadioDNS] RadioDNS.”
[TVDNS] TVDNS.”


Authors' Addresses

  Mo McRoberts
  Project Baird
Email:  mo.mcroberts@nexgenta.com
URI:  http://projectbaird.com/
  
  Chris Jackson
  Project Baird / MetaBroadcast
URI:  http://metabroadcast.com/
  
  Libby Miller
  NoTube
URI:  http://nicecupoftea.org/