Internet DRAFT - draft-romanow-clue-data-model
draft-romanow-clue-data-model
CLUE A. Romanow
Internet-Draft Cisco Systems
Intended status: Standards Track A. Pepperell
Expires: December 8, 2012 Silverflare
June 6, 2012
Data model for the CLUE Framework
draft-romanow-clue-data-model-01
Abstract
This draft is for discussion in the CLUE working group. It proposes
a data model for the CLUE Framework.
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 December 8, 2012.
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
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.
Romanow & Pepperell Expires December 8, 2012 [Page 1]
Internet-Draft Data Model for CLUE June 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Data model format . . . . . . . . . . . . . . . . . . . . 4
3.2. Data model namespace . . . . . . . . . . . . . . . . . . . 4
3.3. Data Model Structure . . . . . . . . . . . . . . . . . . . 4
4. Data Model Definition . . . . . . . . . . . . . . . . . . . . 4
4.1. <CLUE-info> . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. <capture-description> . . . . . . . . . . . . . . . . . . 6
4.3. <capture-id> . . . . . . . . . . . . . . . . . . . . . . . 6
4.4. <media-type> . . . . . . . . . . . . . . . . . . . . . . . 6
4.5. <content-type> . . . . . . . . . . . . . . . . . . . . . . 6
4.6. <DERIVED> . . . . . . . . . . . . . . . . . . . . . . . . 6
4.7. <switched> . . . . . . . . . . . . . . . . . . . . . . . . 6
4.8. <spatial-description> . . . . . . . . . . . . . . . . . . 7
4.8.1. <point-of-capture> . . . . . . . . . . . . . . . . . . 7
4.8.2. <capture-area> . . . . . . . . . . . . . . . . . . . . 7
4.8.3. <NATIVE-ASPECT_RATIO> . . . . . . . . . . . . . . . . 7
4.9. <audio-channel-format> . . . . . . . . . . . . . . . . . . 7
4.10. <encoding-group-id> . . . . . . . . . . . . . . . . . . . 7
4.11. <future-media-capture-attribute> . . . . . . . . . . . . . 7
4.12. <capture-scene> . . . . . . . . . . . . . . . . . . . . . 7
4.12.1. <capture-scene-text> . . . . . . . . . . . . . . . . . 8
4.12.2. <capture-scene-language> . . . . . . . . . . . . . . . 8
4.12.3. <capture-scene-spatial-description> . . . . . . . . . 8
4.12.4. <future-capture-scene-attribute> . . . . . . . . . . . 8
4.13. <simultaneous transmission-set> . . . . . . . . . . . . . 8
4.14. <stream-description> . . . . . . . . . . . . . . . . . . . 9
4.14.1. <encoding> . . . . . . . . . . . . . . . . . . . . . . 9
4.14.2. <encoding-group> . . . . . . . . . . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1. Normative References . . . . . . . . . . . . . . . . . . . 11
7.2. Informative References . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Romanow & Pepperell Expires December 8, 2012 [Page 2]
Internet-Draft Data Model for CLUE June 2012
1. Introduction
This document proposes a data model for the CLUE Framework [I-D.ietf-
clue-framework].
The previous suggestion for a data model described the 2 CLUE
messages, provider advertisement and consumer choice message. The
data model proposed here differs in that it describes the basic
information, or definitions that are needed. Messages can then
derived from the data model, similarly to what was described in the
earlier data model.
The provider advertisement and the consumer choice messages can use
or not use any of the data elements defined in the data model,
subject only to whether or not the element is deemed mandatory.
The model here follows the example of the xcon data model RFC 6501
[RFC6501].
Initially the data model may seem to describe only provider
advertisements. But this is not the case. The consumer choice
messages can also be constructed from these elements. Many of the
data elements are similar for both messages, but there are also
elements defined which are used only in one or the other of the
messages.
One of the challenges here is that in addition to proposing a
structure for the data model, we would like to also propose some
additions or changes to what is in the current framework document.
The problem is that any changes from what is in the current framework
can detract attention from the basic information model which is the
primary focus of this draft initially. We have noted where there are
changes from the framework by putting the text in all capital text.
This is a rough draft, its goal is to propose a basic structure and
stimulate discussion.
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 [RFC2119] and
indicate requirement levels for compliant implementations.
Romanow & Pepperell Expires December 8, 2012 [Page 3]
Internet-Draft Data Model for CLUE June 2012
3. Overview
TEXT
3.1. Data model format
A CLUE object document is an XML [W3C.REC-xml-20081126] document.
CLUE object documents MUST be based on XML 1.0 and MUST be encoded
using UTF-8.
3.2. Data model namespace
This specification defines a new namespace specification for
identifying the elements defined in the data model. This namespace
is as follows: urn:ietf:params:xml:ns:clue-info
3.3. Data Model Structure
The information in this data model is structured in the following
manner. All the information communicated between consumers and
providers in a CLUE session is contained in a <CLUE-info> element.
The definitions follow directly from the Framework document.
The <CLUE-info> element contains the following child elements:
o The <capture-description> element describes the captures. It
includes all the elements that have been discussed in the
framework document as properties of captures document and it can
be extended by adding additional elements describing a capture.
o The <capture-scene> element is the data structure that describes
the captures that the provider is capable of sending in a way that
is helpfule to the consumer to decide what captures to request.
o The <simultaneous-transmission-set> element is a data structure
that describes the physical simultaneity constraints, as discussed
in the framework.
o The<stream-description> element describes the encoding
characteristics of the streams.
4. Data Model Definition
The following non-normative diagram shows the structure of CLUE
elements. The symbol "!" preceding an element indicates that the
element is REQUIRED in the data model.
Romanow & Pepperell Expires December 8, 2012 [Page 4]
Internet-Draft Data Model for CLUE June 2012
!<CLUE info>
|
|--<capture-description>
| |--<capture-id>
| |--<media-type>
| |--<content-type>
| |--<DERIVED>
| |--<switched>
| |--<spatial-description>
| | |--<point-of-capture>
| | |--<capture-area>
| | |--<NATIVE-ASPECT-RATIO>
| |--<audio-channel-format>
| |--<encoding-group-ID>
| |--<future-media-capture-attribute>
|--<capture-scene>
| |--<entry>
| | |--<capture-id>
| | |--<switch-policy
| |--<capture-scene-text>
| |--<capture-scene-language>
| |--<capture-scene-spatial-description>
| | |--<capture-scene-area>
| | |--<capture-scene-scale>
| |--<future-capture-scene-attribute>
|--<simultaneous-transmission-set>
| |--<entry>
| | |--<capture-id>
|--<stream-description>
| |--<encoding>
| | |--<encoding-id>
| | |--<multiplex-id>
| | |--<AUDIO-RENDERING-ID>
| | |--<max-audio-bandwidth>
| | |--<max-video-bandwidth>
| | |--<max-H264-Mbps>
| | |--<max-width>
| | |--<max-height>
| | |--<max-frame-rate>
| | |--<future-encoding-attribute>
| |--<encoding-group>
| | |--<encoding-group-id>
| | |--<entry>
| | <video encoding>
| | |--><entry>
| | |<audio encoding>
| | |--<max-group-bandwidth>
| | |--<max-group-H264-<Mbps>
Romanow & Pepperell Expires December 8, 2012 [Page 5]
Internet-Draft Data Model for CLUE June 2012
| | |--<future-encoding-group-attribute>
Data Model Definition
The following sections describe these elements in more detail.
4.1. <CLUE-info>
4.2. <capture-description>
The capture-description describes all the aspects of a capture, as
discussed in the framework document.
4.3. <capture-id>
This element is a unique numeric value assigned to each capture by
the provider. It is used by the consumer in choosing captures and
streams.
4.4. <media-type>
This element indicates support by the consumer for a single capture
media type, for instance "audio" or "video".
4.5. <content-type>
This per-capture attribute element indicates whether the media
capture includes "main media", typically motion video of a real
scene, or whether it includes "slides media", typically a computer-
generated video stream rather than real people.
This is following the content attribute RFC [ref].
4.6. <DERIVED>
Instead of the boolean composed, we are suggesting an attribute that
indicates whether media capture has been changed from its original
form. It can take different values. As of now, the only vlaue
defined is composed. Composed means a video image it is formed of
other, more primary, captures mixed together. For audio it refers to
mixed audio.[this needs to follow whatever the WG decides as to
whether there is an audio composed, etc.]
4.7. <switched>
Instead of a boolean, we propose this attribute indicates the
algorithm or method by which content is chosen form media sources.
Romanow & Pepperell Expires December 8, 2012 [Page 6]
Internet-Draft Data Model for CLUE June 2012
The current value is loudest speaker. [this depends entirely on what
the WG decides]
4.8. <spatial-description>
Spatial-description is a general element with sub-elements that
describe spatial relationships. As of now, the framework defines
point-of-capture and capture-area. We propose a third one here-
NATIVE-ASPECT-RATIO.
4.8.1. <point-of-capture>
Use framework text.
4.8.2. <capture-area>
Use framework text.
4.8.3. <NATIVE-ASPECT_RATIO>
If a capture has a native aspect ratio (for instance, it corresponds
to a camera that generates 4:3 video) then it can be supplied here.
This can help rendering.
4.9. <audio-channel-format>
Use framework text.
4.10. <encoding-group-id>
This element is a unique numeric value assigned to each encoding
group by the provider. It is included in a capture element because
it links the capture to the group of encodings possible to use for
the capture.
4.11. <future-media-capture-attribute>
This is a placeholder for media capture attributes that have yet to
be defined.
4.12. <capture-scene>
A capture-scene is a description of the captures that the provider is
capable of sending. It includes entries which are rows of audio or
video captures.
Information concerning the relationship between captures is
communicated by the capture-scene, that is, an entry in the capture-
Romanow & Pepperell Expires December 8, 2012 [Page 7]
Internet-Draft Data Model for CLUE June 2012
scene signifies a complete representation of the total scene. When
there are multiple entries of the same media type in the capture
scene, this means that each entry is an alternate representation of
the total scene.
Some elements of the capture-scene charactize the scene, as for
example, capture-text.
An entry is a list of video captures or a list of audio captures, and
an indication of the switching policy. Every <entry> element
contains the following child elements:
o <capture-id> See above.
o <switch-policy> text from framework.
4.12.1. <capture-scene-text>
Text from framework
4.12.2. <capture-scene-language>
Text from framework
4.12.3. <capture-scene-spatial-description>
4.12.3.1. <capture-scene-area>
Indicates an overall encompassing co-ordinate "bounding box" at a
per-capture set level.
4.12.3.2. capture-scene-scale>
On a per-capture scene level, this indicates whether the co-ordinates
used for its media captures are in real-world units, relative units,
or whether no scale information can be inferred.
4.12.4. <future-capture-scene-attribute>
This is a placeholder for capture set attributes that have yet to be
defined.
4.13. <simultaneous transmission-set>
Indicates physical simultaneity constraints. Use framework text.
Every <entry> element contains the following child elements:
Romanow & Pepperell Expires December 8, 2012 [Page 8]
Internet-Draft Data Model for CLUE June 2012
o <capture-id> As above
4.14. <stream-description>
4.14.1. <encoding>
4.14.1.1. <encoding-id>
Use framework text. A unique value for the set of encoding
parameters that constitute an encoding stream..
4.14.1.2. < MULTIPLEX-ID>
This element is the means by which the consumer, the receiver of a
stream, tells the provider which multiplex id to generate that stream
with, so that the consumer can demultiplex the stream correctly when
receiving it.
4.14.1.3. <AUDIO-RENDERING-TAG>
Optional id for rendering audio supplied by consumer to the provider.
The provider then uses this tag to to associate an audio stream with
a video stream.
4.14.1.4. <max-audio-bandwidth>
This element gives the bandwidth limit for any audio strea. It can
be used in provider advertisements with respect to potential streams,
or in consumer request messages, describing a stream choice.
4.14.1.5. <max-video-bandwidth>
This element gives the provider's bandwidth limit for any video
stream. It can be used in provider advertisements with respect to
potential streams, or in consumer request messages, describing a
stream choice.
4.14.1.6. <max-H264-Mbps>
This element gives the provider's maximum macroblock per second rate
for any video stream.
4.14.1.7. <max-width>
Framework text
Romanow & Pepperell Expires December 8, 2012 [Page 9]
Internet-Draft Data Model for CLUE June 2012
4.14.1.8. <max-height>
Framework text
4.14.1.9. <max-frame-rate>
This element gives a maximum frame rate for a video stream.
4.14.1.10. <future-encoding-attribute>
4.14.2. <encoding-group>
Encoding group is an element used by the provider to describe its
capabilities. It groups together the potential encodings that are
available for a particular capture. Therefore, a capture has
associated with with it an encoding-id.
Every <entry> element contains the following child elements:
o A <video-encoding> is an encoding for video.
o An <audio-encoding> is an encoding for audio.
4.14.2.1. <encoding-group-id>
A unique id for the group of encodings that can be used for a
particular capture.
4.14.2.2. <max-group-bandwidth>
This indicates the maximum bandwidth that the provider can transmit
for its combined set of active encodings.
4.14.2.3. <max-group-H264-Mbps>
The maximum number of macroblocks per second that the provider can
transmit for its combined set of active encodings.
4.14.2.4. <future-encoding-group-attribute>
This is a placeholder for encoding group attributes that have yet to
be defined.
5. Security Considerations
TBD
Romanow & Pepperell Expires December 8, 2012 [Page 10]
Internet-Draft Data Model for CLUE June 2012
6. IANA Considerations
TBD
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6501] Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen,
"Conference Information Data Model for Centralized
Conferencing (XCON)", RFC 6501, March 2012.
7.2. Informative References
[I-D.ietf-clue-framework]
Romanow, A., Duckworth, M., Pepperell, A., and B. Baldino,
"Framework for Telepresence Multi-Streams",
draft-ietf-clue-framework-05 (work in progress), May 2012.
[I-D.lennox-clue-rtp-usage]
Lennox, J., Witty, P., and A. Romanow, "Real-Time
Transport Protocol (RTP) Usage for Telepresence Sessions",
draft-lennox-clue-rtp-usage-04 (work in progress),
June 2012.
Authors' Addresses
Allyn Romanow
Cisco Systems
San Jose, CA 95134
USA
Email: allyn@cisco.com
Andy Pepperell
Silverflare
Email: andy.pepperell@silverflare.com
Romanow & Pepperell Expires December 8, 2012 [Page 11]