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]