- From: <Silvia.Pfeiffer@csiro.au>
- Date: Thu, 19 Jun 2003 16:54:09 +1000
- To: LMM@acm.org
- Cc: uri@w3.org, Conrad.Parker@csiro.au
Larry,
Larry Masinter wrote:
> I'm still bothered by putting 'extensibility' into the
> fragment identifiers. You can get away with having
> extensibility in a _protocol_ where, if one side doesn't
> understand the vocabulary, you can revert to a different
> vocabulary. But there is often not very much negotiation
> possible between the generator of the URI and the URI
> interpreter. Having lots of "options" isn't a good idea
> in such situations.
There is not much negotiation necessary: either the server understands
the fragment and can return the requested data or it cannot in which
case it returns an error (http: 404 not found).
> For interoperability in the presence of options and
> without negotiation, everything that is optional for
> a sender must be mandatory for a receiver. ("without
> negotiation" = the receiver can't throttle back the
> options that a sender will communicate.
>
> When you send me a URL embedded in something, I generally
> don't have any control over the scheme you use or any
> of the features you might use in a fragment identifier.
>
> So having lots of SMTP options in the fragment identifier
> would mean that every receiver would have to implement
> them all.
Yes, I agree. But why should that be a problem? The only difference
between the SMPTE timestamp formats is their temporal resolution for the
frames. Therefore, all the server has to know is what scheme has what
temporal resolution. The server implements one function to parse a smpte
with a framerate parameter
[ala: "double parse_smpte(const char *str, double framerate)"] and when
parsing the time schemes it checks the scheme and calls the function
with the correct framerate [ala:
if (strncmp(s, "smpte-24", i) == 0) {
return parse_smpte(s+i+1, 24.0);
} else if (strncmp(s, "smpte-24-drop", i) == 0) {
return parse_smpte(s+i+1, 23.976);
} else if (strncmp(s, "smpte-25", i) == 0) {
return parse_smpte(s+i+1, 25.0);
} else if (strncmp(s, "smpte-30", i) == 0) {
return parse_smpte(s+i+1, 30.0);
} else if (strncmp(s, "smpte-30-drop", i) == 0) {
return parse_smpte(s+i+1, 29.97);
} else if (strncmp(s, "smpte-50", i) == 0) {
return parse_smpte(s+i+1, 50.0);
} else if (strncmp(s, "smpte-60", i) == 0) {
return parse_smpte(s+i+1, 60.0);
} else if (strncmp(s, "smpte-60-drop", i) == 0) {
return parse_smpte(s+i+1, 59.94);
}
]
I don't think that this is asking for much from a server.
Again, I'd like to point out the similarity to the mime types: the more
time schemes get accepted as standards, the more get supported by the
servers. At first, one cannot expect all installations of servers to
support all new mime types that come out. If a server doesn't support
one that is being asked for, it returns an error and the client has to
deal with it.
> We've established that whether or not a URI interpreter
> must interpret the time fragment locally or can send
> it to the server for interpretation will depend not
> only on the scheme, but also on the implementation of
> the scheme.
>
> So putting in all of these SMTPE options puts a
> large burden on the implementations of URI interpreters
> and RTSP servers.
Oh, I'm sorry. I believe there is a misunderstanding. I am not asking to
put the temporal URI fragment specification into the Generic URI
Specification RFC. All I am asking for is to allow in RFC2396 that
fragments can be interpreted at the server side after all other
operations have been performed on the resource.
I agree, at this stage, we cannot expect all servers to implement the
temporal URI fragments. That's why I've put this suggestion into a
different I-D to be used as a guide for technologies that want to
provide this kind of addressing (such as MPEG-21 and our ANNODEX). This
should help in getting consistent and interoperable temporal URI
fragment usage instead of having many different and non-interoperable
schemes. Once this temporal addressing scheme has established itself as
the most useful way of addressing temporal resources, we can pursue the
I-D (or a further worked out version of it) to a standards level.
>>With registering schemes through IANA
>>it is possible to extend it at any time. I fear it's a little like the
>>MIME types registration. We just cannot foresee all required time
>>addressing schemes right now. E.g. there may be some scheme for
>>addressing pico-second resolutions in data of physics experiments.
>>Therefore, I believe we need to be extensible.
>
>
> This seems like really fragile design. I don't understand
> the use case for all of this 'time addressing' flexibility.
> What is the roll-out strategy for a new scheme?
Why would that be any more fragile than the mime types?
For audio and video there are probably no other time schemes that are
needed. But there are many other time-continuously sampled data file
types which we have no knowledge of, e.g. the above mentioned data of
physics experiments. If somebody requires a time scheme that is useful
for another type of time-continuous data and that does not exist yet,
he/she would write another I-D that explains this time scheme and its
resolution and asks for registration with IANA. If it gets accepted,
servers will support that scheme over time.
Regards,
Silvia.
Received on Thursday, 19 June 2003 02:53:58 UTC