comparing applictions to requirements

From: Craig A. Finseth (fin@finseth.com)
Date: Wed, Dec 30 1998


Date: Wed, 30 Dec 1998 14:44:22 -0600 (CST)
Message-Id: <199812302044.OAA21635@isis.visi.com>
From: "Craig A. Finseth" <fin@finseth.com>
To: www-tv@w3.org
Subject: comparing applictions to requirements

		      WWW-TV URI/URL/URN Issues
		Comparing Applications to Requirements
			      1998-12-30

Given that the list of applications has appeared to stabilize, Phil
Hoschka has requested that I compare that list to the list of
requirements developed by Werner ten Kate.

For your convenience, this posting will be followed by a re-posting of
the applications list document.

The relevant portions of the requirements document are in the next
section.

Depending upon the feedback from this document, the next step would be
to take the (adjusted by feedback) results of this document and modify
the requirements document.

Please send general comments on this document to the www-tv@w3.org
mailing list.  Specific comments can be sent directly to me at
craig@finseth.com.

- Craig A. Finseth

------------------------------------------------------------
This section presents the relevant portions of the Internet-Draft
draft-tenkate-tvweb-uri-reqs-00.txt by ten Kate, Thomas, and Finseth.

NOTE: I have taken the liberty of modifying the item numbering on the
requirments document to facilitate the comparision.  The modificiation
consists of replacing the "o" bullet points with sequntial numbers.

Sections 3 and 5 are included for completeness: the actual
requirements are listed only in section 4.


3. TV Broadcast

Definition: In this document TV Broadcast is used as the generic term 
to refer to currently existing TV systems, their transport protocols, 
and their typical operation of content provision and distribution.
TV Broadcast includes systems like DVB, ATSC, DSS, NTSC, and PAL.
The TV Broadcast 'network layer' is typically non-IP based.


4. Requirements on TV Broadcast URI schemes

4.1  The URI scheme should comply with RFC 2396.

4.2  It must be possible for the resource identified by a URI to 
     be a channel/service (i.e. a concatenation of programs), an 
     entire program/event, or just a single component of a program/event.
     Fragments within a component are outside the current scope of 
     requirements.

4.3  Given a URI, it must be possible for a receiver to actually 
     locate the resource, or conclude that it is not reachable. 

4.4  Given a URI, it must be possible for a receiver to determine 
     the time period(s) within which the resource can be retrieved 
     from the (also resolved) location.

4.5  A URI should be invariant with respect to the normal range of
     transport stream transformations, both in referencing the time 
     and the location of the resource in that transport stream.

4.6  The URI scheme should support the spectrum of transport protocols 
     applied and standardized in TV Broadcast systems. This includes 
     both audio/video and data broadcast protocols.

4.7  A URI must be meaningful when interpreted from any of the 
     following locations relative to the resource being referenced:

     4.7.1  From the same TV Broadcast network
     4.7.2  From another TV Broadcast network
     4.7.3  From an arbitrary location in the Internet

    [Note: this means that the system can detect it concerns a URI 
    pointing to a TV Broadcast network.]

4.8  A URI should be resolvable under any of the following network 
     access conditions:

     4.8.1  TV Broadcast, same or another network
     4.8.2  Internet
     4.8.3  In Home/local storage
     4.8.4  Other (future) networks

     The actual resource's retrieved content data may differ in terms 
     of content encoding, content quality, performance, and edit version.
     [Note the difference with the previous requirement, particularly 
     the use of 'must' and 'should'.]

4.9  The URI scheme must be compatible with solutions already adopted 
     in standardisation bodies such as ATSC, DVB, and DAVIC.

4.10  The URI scheme should interoperate with the Internet access schemes, 
      in particular http.
      [Note: the scheme, not per se the access protocol it calls; it means 
      that hierarchies in the URI scheme should map as much as possible.
      This should assist seamless transitions when the client decides 
      to use another access protocol (and network).]

4.11  Ideally, the URI should support referencing various instantiations 
      of the same content (encoding, quality/compression ratio, 
      versions/edits).

4.12  The URI scheme should support relative referencing such that 
      a TV-program with all its associated resources can be referenced 
      against a common base, which is the TV Broadcast URI of that 
      aggregate.


5. Exceptions in TV Broadcast URIs

TV Broadcast differs from the conventional Internet in several ways.
The TV Broadcast URI scheme is affected by that in the following aspects:

o  The host is not necessarily a server identifyable through an 
   IP-address. For instance, the 'host' is a transport stream.
o  The resource access and retrieval scheme is not necessarily 
   IP-stack based.
o  The resource's availability implicitly depends on, or at least 
   relates to, a transmission schedule.


------------------------------------------------------------
Comparison: Applications to Requirements

This section presents each point in the applications list document and
identifies which of the requirements it relates to.

As a reminder, this list is the result of a "brainstorming" session
and the list has not undergone any sort of review.

1. Be able to refer to the audio/video image.

	The requirements document does not cover this case.

2. Be able to include queries into the receiver in a
technology-independent manner.

	The requirements document does not really cover this case,
	although 4.1 may serve this purpose

3. Provide for technology-specific tuning.

	There is a problem in that this application does not meet
	the requirements of a UR*: the same string (e.g., reference
	to NTSC channel 7) points to different content depending
	upon the physical place that it is referenced from.

	That said, 4.2 refers to naming channels and 4.6 covers
	different technologies.

4. Provide for network-specific tuning, such as:

	4.2 covers naming channels
	4.5 covers naming the same channel throughout transformation
	4.7.* cover naming the same channel from anywhere (although
		we have to be careful of the HBO problem)
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same channel throughout transformation

5. Be able to uniquely address authored...content.

	4.2 covers naming content (we'll assume that it was intended to
		cover data content)
	4.5 covers naming the same content throughout transformation
	4.6 covers naming the same content throughout transformation
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same content throughout transformation

6. Be able to name discrete data content...being broadcast by a
network, and *not* available via the Internet...

	4.2 covers naming content (we'll assume that it was intended to
		cover data content)
	4.5 covers naming the same content throughout transformation
	4.6 covers naming the same content throughout transformation
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same content throughout transformation

7. Be able to name standard web content...

	4.1 covers use of a resonable UR* format
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast
	4.8.2 covers resolving it from the Internet
	4.8.3 and .4 apply to the extent that the devices have
		access to the Internet
	4.10 is a clear statement of this intent

8. Be able to reference an application...

	4.2 covers naming content (we'll assume that it was intended to
		cover applications)
	4.5 covers naming the same content throughout transformation
	4.6 covers naming the same content throughout transformation
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same content throughout transformation
	4.12 states that we want to support this feature that is
		commonly used by applications

9. Be the target of a trigger...

	4.2 covers naming content (we'll assume that it was intended to
		cover applications)
	4.5 covers naming the same content throughout transformation
	4.6 covers naming the same content throughout transformation
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same content throughout transformation

10. It is the year 2002....Fox wishes to put a hyperlink to the
broadcast on its web site...

	4.1 covers use of a resonable UR* format
	4.2 covers naming the broadcast
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

11. In the same situation as (10) above, the broadcast is
data-enhanced...

	4.1 covers use of a resonable UR* format
	4.2 covers naming the broadcast (we'll assume that it was
		intended to cover applications/data)
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

12. In the same broadcast situation as (10) and (11) above, Fox wants
to put hyperlinks....in other Fox channels

	4.2 covers naming the broadcast (we'll assume that it was
		intended to cover applications/data)
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere; 4.7.2
		is particularly important
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

13. Paramount Productions wants to put on its web site a generic
hyperlink to Star Trek episodes and/or movies....

	4.1 covers use of a resonable UR* format
	4.2 could cover it: it is by no means clear from the wording
		that the intention was to be able to name arbitrary
		collections of material
	given that 4.2 does apply:
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

14. In the same situation as in (13) above...  mini-EPG show only the
current and upcoming episodes of this series.

	4.1 covers use of a resonable UR* format
	4.2 could cover it: it is by no means clear from the wording
		that the intention was to be able to name arbitrary
		collections of material
	given that 4.2 does apply:
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

15. In the same situation as in (14) above...mini-EPG showing the
current and upcoming showings of this specific episode.

	4.1 covers use of a resonable UR* format
	4.2 could cover it: it is by no means clear from the wording
		that the intention was to be able to name arbitrary
		collections of material
	given that 4.2 does apply:
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

16. A local broadcast station...wants to put a hyperlink on its web
site...this week's episode.

	4.1 covers use of a resonable UR* format
	4.2 covers this material
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

	Recall that even within a local area, the same broadcast may
	be available by means of over-the-air, cable (lots of
	different ways), satellite, etc.

17. ...Fox, wants to put on its website a generic invitation to watch
a particlular one of its channels...

	4.1 covers use of a resonable UR* format
	4.2 covers naming channels
	4.5 covers naming the same channel throughout transformation
	4.7.* cover naming the same channel from anywhere (although
		we have to be careful of the HBO problem)
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same channel throughout transformation

18. A local affiliate of the network mentioned in (17) above wants to
...web site...to tune to a particular one of its channels.

	4.1 covers use of a resonable UR* format
	4.2 covers naming channels
	4.5 covers naming the same channel throughout transformation
	4.7.* cover naming the same channel from anywhere (although
		we have to be careful of the HBO problem)
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming the same channel throughout transformation

	Recall that even within a local area, the same broadcast may
	be available by means of over-the-air, cable (lots of
	different ways), satellite, etc.

19. ...parent corporation wants its multiple channels to be able to
advertise each other...

	4.2 covers naming the channel
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere; 4.7.2
		is particularly important
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

20. In the same situation as in (19) above, suppose a single
application can operate with the data of any of multiple different
data services broadcast on different channels...

	4.2 covers naming the broadcast (we'll assume that it was
		intended to cover applications/data)
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere; 4.7.2
		is particularly important
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

21. The NFL...distributes e-mail...containing a UR*...Some of the
e-mail is sent via the Internet and some...via an "e-mail" channel...

	4.1 covers use of a resonable UR* format
	4.2 covers this material
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere; 4.7.2
		is particularly important
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

22. Some global brand...place a URI...in to be broadcast with the
program and displayed as a pop-up, linking to one or more of:

a) a web-cast infomercial on their site
b) Informercial broadcast separately, for example the previous night,
and locally stored on the receiver's memory.
c) Infomercial broadcast on a separate advertising channel
d) infomercial available on a VOD (or NVOD) channel

	4.2 covers naming the material (we'll assume that it was
		intended to cover applications/data)
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere; 4.7.2
		is particularly important
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

23. A sponsor wishes to identify data describing their logo (perhaps
animated) for inclusion in the program guide.

	4.2 covers naming the material (we'll assume that it was
		intended to cover applications/data)
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere; 4.7.2
		is particularly important
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

24. A content creator...assemble and test a commercial...when...  the
distribution format(s) is(are) not known.

	4.2 covers naming the material (we'll assume that it was
		intended to cover applications/data)
	4.5 covers naming it from anywhere
	4.6 covers naming it from using different protocols
	4.7.* cover naming the same content from anywhere
	4.8.1 covers resolving it from a broadcast; other 4.8.* points
		apply to the extent that the devices have access
		to the broadcast
	4.11 covers naming different versions

25. ...the naming mechanism must...be globally unique.

	The requirements document does not cover this case, although
	4.9 could be stretched to cover other existing organizations
	such as used by the Internet DNS.

26. ...a receiver can obtain the same material from two
different sources...the UR* must not force solutions in this area...

	The requirements document does not cover this case, although
	4.5, 4.6 and 4.11 could be put together and stretched out
	of shape to attempt to deal with it.

27.  ...The UR* mechanism should allow receivers that have such
"pre-cached" material to make use of it... from the _same_ reference...

	4.5 covers normal transformations (if you assume that pre-caching
		is normal)
	4.11 covers naming different versions

28. The UR* mechanism should facilitate the recording...

	4.5 covers normal transformations (and we all should assume
		that recording/playback is normal!)
	4.6 record/playback is certainly part of the normal spectrum
	4.7.1 and .2 cover cross-stream references
	4.8.3 covers home storage
	4.11 covers variations of content (tape may be at a lower
		resolution than the orginial broadcast)

29. Given (28) the source space of UR*s should be large enough that
UR*s need not be reused...

	The requirements document does not cover this case, although
	the points from (28) could be stretched to apply.


In summary, UR*s reference things transmitted down the broadcast
stream(s).  The things that they can reference are one or more
instances of:

a) the tuner output
	Not covered by requirements
b) a transmission multiplex
	Not explicitly covered by requirements; could be inferred from 4.2
c) a (virtual) channel
	in 4.2
d) an event
	in 4.2
e) an application
	Not explicitly covered by requirements; could be inferred from 4.2
d) data used by an application
	Not explicitly covered by requirements; could be inferred from 4.2


------------------------------------------------------------
Comparison: Requirements to Applications

This section presents each point in the requirements list and
identifies which of the applications it relates to.

4.1  The URI scheme should comply with RFC 2396.

	The applications document does not address this area
	explicitly.  However, (2), (10), (11), (13), (14), (15), (16),
	(17), (18), and (21) all imply Internet interaction and
	with such interaction is an assumed duty to comply with
	RFC 2396.

4.2  It must be possible for the resource identified by a URI to 
     be a channel/service (i.e. a concatenation of programs), an 
     entire program/event, or just a single component of a program/event.
     Fragments within a component are outside the current scope of 
     requirements.

	(3), (4), (10), (12), (17), (18), (19), (21), and (28) call
	for URIs that designate channels or broadcasts.

	(16) calls for URIs that designate events.

	(5), (6), (8), (9), (11), (20), (22), (23), (24), call (27)
	for URIs that designate data and/or applications.

4.3  Given a URI, it must be possible for a receiver to actually 
     locate the resource, or conclude that it is not reachable. 

	None of the applications was defined in such a way as to
	prescribe an implementation mechansim.

	Note that in one sense this requirement is one that is not met
	by the "traditional" Internet UR* schemes such as http: and
	ftp:. Those all rely on other resources such as the DNS, IP
	routing, ARP, TCP encapsulation, etc. in order to actually
	locate the target of the UR*.

	However, it is reasonable for a URI scheme to specify
	how it interoperates with other resources to achieve the
	desired effect.

4.4  Given a URI, it must be possible for a receiver to determine 
     the time period(s) within which the resource can be retrieved 
     from the (also resolved) location.

	None of the applications was defined in such a way as to
	prescribe an implementation mechansim.

	(5), (6), (8), (9), (10), (11), (12), (13), (14), (15),
	(16), (19), (20), (21), (22), (23), (24), (26), (27),
	and (28) all refer to the ability to name resources that
	are not continuous in time (e.g., events, collections of
	events, data, applications): this might be what the
	requirement intended.

4.5  A URI should be invariant with respect to the normal range of
     transport stream transformations, both in referencing the time 
     and the location of the resource in that transport stream.

	(4), (5), (6), (8), (9), (10), (11), (12), (13), (14), (15),
	(16), (17), (18), (19), (20), (21), (22), (23), (24), (26),
	(27), and (28) all call for this capability.

4.6  The URI scheme should support the spectrum of transport protocols 
     applied and standardized in TV Broadcast systems. This includes 
     both audio/video and data broadcast protocols.

	(4), (5), (6), (8), (9), (10), (11), (12), (13), (14), (15),
	(16), (17), (18), (19), (20), (21), (22), (23), (24), (26),
	(27), and (28) all call for this capability.

	(3) might be in the list if it was in fact a UR* scheme.

4.7  A URI must be meaningful when interpreted from any of the 
     following locations relative to the resource being referenced:

     4.7.1  From the same TV Broadcast network
     4.7.2  From another TV Broadcast network
     4.7.3  From an arbitrary location in the Internet

    [Note: this means that the system can detect it concerns a URI 
    pointing to a TV Broadcast network.]

	(4), (5), (6), (8), (9), (10), (11), (12), (13), (14), (15),
	(16), (17), (18), (19), (20), (21), (22), (23), (24), (26),
	(27), and (28) all call for this collection of capabilitites.

4.8  A URI should be resolvable under any of the following network 
     access conditions:

     4.8.1  TV Broadcast, same or another network
     4.8.2  Internet
     4.8.3  In Home/local storage
     4.8.4  Other (future) networks

     The actual resource's retrieved content data may differ in terms 
     of content encoding, content quality, performance, and edit version.
     [Note the difference with the previous requirement, particularly 
     the use of 'must' and 'should'.]

	(4), (5), (6), (8), (9), (10), (11), (12), (13), (14), (15),
	(16), (17), (18), (19), (20), (21), (22), (23), (24), (26),
	(27), and (28) all call for this collection of capabilitites.

	For all, the assumption is that the devices implied uner 4.8.2
	and 4.8.3 have access to a TV broadcast data stream.

	For (10), (11), (12), (13), (14), (15), (16), (17), (18), and
	(21), they assume some sort of Internet access as implied under
	4.8.2.

	For (28), it assumes some form of local storage under 4.8.3.

	The presumed requirement under 4.8.4 is that the scheme will
	be defined in such a way that future devices can also take
	advantage of it.

4.9  The URI scheme must be compatible with solutions already adopted 
     in standardisation bodies such as ATSC, DVB, and DAVIC.

	The solutions adopted by DVB and DAVIC (ATSC has not adopted
	one in this area) are all technology specific.

	The applications document does not have any examples supporting
	this requirement.  (10), (11), (12), (17), (24), (26), and
	(27) all clearly assume a decoupling between the UR* scheme
	and the transport technology.  Although the exact wording does
	not permit a conclusive determination, it is likely that the
	authors of many of the other points would have included a
	decoupling requirement if they had thought of it.

4.10  The URI scheme should interoperate with the Internet access schemes, 
      in particular http.
      [Note: the scheme, not per se the access protocol it calls; it means 
      that hierarchies in the URI scheme should map as much as possible.
      This should assist seamless transitions when the client decides 
      to use another access protocol (and network).]

	(7) covers this.

4.11  Ideally, the URI should support referencing various instantiations 
      of the same content (encoding, quality/compression ratio, 
      versions/edits).

	(4), (5), (6), (10), (11), (12), (13), (14), (15), (16), (17),
	(18), (19), (21), (22) (maybe), (23), (24), (26), and (27)
	all rely on this to some extent.  (26) speaks to it directly.

4.12  The URI scheme should support relative referencing such that 
      a TV-program with all its associated resources can be referenced 
      against a common base, which is the TV Broadcast URI of that 
      aggregate.

	None of the applications was defined in such a way as to
	bring out this level of detail.  (24), (25), and (28) may
	be taken to imply this need.