Internet Engineering Task Force Internet Draft Nomura/Schulzrinne Fujitsu/Columbia U. draft-nomura-mmusic-pguide-requirements-00.txt February 22, 2002 Expires: July 2002 Protocol Requirements for Internet Program Guides STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt To view the list Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract This memo specifies requirements for protocol for accessing and updating program guide information for media-on-demand and multicast applications. 1 Introduction A program guide describes one or more multimedia items, available either for download, streaming or multicast distribution. There may also be meta-guides, i.e., program guides that describe other program guides. Program guides allow users to initiate streaming media sessions, schedule delivery of downloadable or multicast content or listen to live multicast sessions. Protocols are needed to transmit and update such program guides, as Nomura/Schulzrinne [Page 1] Internet Draft pguide February 22, 2002 well as let users know if a program guide has changed. The same host can serve and produce program guide information. This draft classifies the features and use cases of the program guide and shows requirements and describes some possible solutions. 2 Terminology The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [1]. 3 Overview 3.1 Definition of Program Guide A program guide is a set of meta-data describing the features of multimedia content. For example, meta-data may consist of the URI, title, air time, bandwidth needed, file size, text summary, genre, and access restrictions. 3.2 Features of a Program Guide Program guide data may be updated as time elapses because content described in the guide may be changed. For example, the airtime of an event such as a concert or sports event may change, possibly affecting the air time of subsequent programs. Also, content may be made available only temporarily, e.g., via multicast, based on popularity. If a particular program proves to be popular, additional sessions might be added. Similarly, a program may be made available for download from a different set of servers. 3.3 Devices Using the Program Guide We assume that any Internet host can be a source of content and thus meta data. Some of the content sources and sinks may only be connected to the Internet sporadically. Also, a single human user may use many different devices to access meta data, including bandwidth- constrained mobile devices. Thus, we envision that program guides can be sent and received by, among others, by cellular phones, PDA (Personal Digital Assistant), personal computer, streaming video server, set-top box, video camera, and PVR (Personal Video Recorder). 4 Use Case Models of The Program Guide Typical use case models of the program guide are following four models divided into using ways (automatically, manually) and Nomura/Schulzrinne [Page 2] Internet Draft pguide February 22, 2002 obtaining time of content (real time and time shift). Table 1 shows these models and typical examples. Manually Automatically ___________________________________________________________ Real Time (1) TV (3) Live conference broadcasting Time Shift (2) VCR (4) Preference-based recording (1) Television model: A human user manually uses the program guide, specifies the content and watches it in real time. If the airtime is changed suddenly and the sender of the program guide notifies the user, the user can follow the preferred content manually. (2) VCR model: A human user manually uses the program guide, specifies content to be stored. The user watches it by time-shift. If the airtime is changed suddenly and the sender of the program guide notifies the user, the user can manually specify the preferred content again. (3) Live conference broadcasting model: A device uses the program guide automatically, specifies content and shows it to users when it is available. If the availability is changed suddenly and the sender of the program guide notifies the device of the change, the device can follow this change automatically. (4) Preference-based recording model: A device uses the program guide to store content automatically according to a user's direction such as a preference and configuration. If the availability is changed suddenly and the sender of the program guide notifies the device, the device can follow this change automatically. 5 Requirements 5.1 On-demand Retrieval Since the program guide may contain a large amount of data, the client needs to be able to access the guide when convenient (e.g., when sufficient network bandwidth is available to the user). Thus, the protocol must support request-response operation. 5.2 Customized Program Guide User may require a subset of the program guide according to their preference (type of content, media format, appropriate age group, etc.) and configuration. Nomura/Schulzrinne [Page 3] Internet Draft pguide February 22, 2002 5.3 Different Kinds of Devices The protocol is designed to be sufficiently simple so as to be implemented on the small devices such as a cellular phone and PDA. 5.4 Many Kinds of Multimedia Content Program guides may describe a variety of media formats, not just (say) MPEG-derived formats. Program guides may describe other program guides. Program guides should be able to describe parts of multimedia streams, e.g., a news story within a news magazine. 5.5 Program Guide as Web Program guides should allow for a web structure, i.e., where a program guide may refer to other guides or actual meta data. Just like the web, links (with meta data about the linked-to entity) and content should be able to appear in the same program guide. 5.6 Change Notification Since program guides can change at any time, receivers of program guides should be notified of such changes, without necessarily re- sending the whole program guide. Depending on the size of the guide, the interested party may want to defer retrieving the actual information. The change notification should be addressed to a logical user, not a host, since users may change devices. As an example, consider a storage device requires the up-to-date video file from an IP-reachable video camera but the camera is connected only sporadically. When the camera is connected on the network and has a new video object, the storage device must be notified of its availability immediately. 5.7 Reliable Message Exchange This protocol requires a reliable message exchange. 5.8 Multiple Sources Users should be able to obtain program guides from any number of sources, i.e., there is no (single) root node in the tree. 6 Protocol Components Protocols for program guide access can be divided into three components: Nomura/Schulzrinne [Page 4] Internet Draft pguide February 22, 2002 Program guide request: A user can obtain a program guide listing one or more multimedia resources, selecting an appropriate subset. Notification request: A user can subscribe to change notifications for meta-data elements of interest, or new program guide elements matching a profile. Update notification: When the program guide owner detects a change in the program guide which has been subscribed to by a receiver, the owner sends a notification message to the receiver. The receiver replies with an acknowledgement. This message may be forwarded to a suitable device. 7 Related Protocols SDPng [2] can describe meta-data for content by using XML. Since SDPng addresses multiparty multimedia conferences, it is necessary to extend the XML schema in order to describe general multimedia content. MPEG-7 [3] can describe meta-data of content by using XML. It defines an XML schema for general multimedia content and has a program guide structure. SAP [4] distributes session descriptions via multicast. It does not support fine-grained meta data selection and update notifications, as it always sends the whole meta data. Given the lack of a wide-area multicast infrastructure, it is likely only deployable within a local area network. SIP [5] and SIP-specific event notification [6] can be used to notify subscribers of the update of the program guide. Since program guides are likely to be referencable by URLs, [7] describes a means to notify users of changes in those URLs. HTTP or SOAP can be used to request a program guide. SOAP could be used to define queries. 8 Open Issues The content and format for a meta program guide remain to be determined. The consumer should be able to select parts of a program guide. If an XML-based format is used, this appears to be a special case of an XML query operation (http://www.w3.org/XML/Query). Nomura/Schulzrinne [Page 5] Internet Draft pguide February 22, 2002 Unlike for presence, where likely only the last state is of interest, update notifications for disconnected users may need to be queued. 9 Security Considerations TBD 10 Bibliography [1] S. Bradner, "Key words for use in RFCs to indicate requirement levels," Request for Comments 2119, Internet Engineering Task Force, Mar. 1997. [2] D. Kutscher, J. Ott, and C. Bormann, "Session description and capability negotiation," Internet Draft, Internet Engineering Task Force, Nov. 2001. Work in progress. [3] ISO (International Organization for Standardization), "Overview of the MPEG-7 standard," ISO Standard ISO/IEC JTC1/SC29/WG11 N4509, International Organization for Standardization, Geneva, Switzerland, Dec. 2001. [4] M. Handley, C. Perkins, and E. Whelan, "Session announcement protocol," Request for Comments 2974, Internet Engineering Task Force, Oct. 2000. [5] J. Rosenberg, H. Schulzrinne, et al. , "SIP: Session initiation protocol," Internet Draft, Internet Engineering Task Force, Feb. 2002. Work in progress. [6] A. Roach, "SIP-specific event notification," Internet Draft, Internet Engineering Task Force, Feb. 2002. Work in progress. [7] X. Wu and H. Schulzrinne, "Use SIP MESSAGE method for shared web browsing," Internet Draft, Internet Engineering Task Force, Nov. 2001. Work in progress. 11 Author's Addresses Yuji Nomura Fujitsu Laboratories Ltd. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki 211-8588 Japan Email: nom@flab.fujitsu.co.jp Henning Schulzrinne Dept. of Computer Science Columbia University Nomura/Schulzrinne [Page 6] Internet Draft pguide February 22, 2002 1214 Amsterdam Avenue New York, NY 10027 USA Email: schulzrinne@cs.columbia.edu Nomura/Schulzrinne [Page 7]