Subject: OCP metadata == data

From: Alex Rousskov <[email-masked]>
Date: Sat, 24 May 2003 15:34:14 -0600 (MDT)

I want to eliminate all current "metadata" references from the OCP
Core draft. The text below attempts to explain why.

From the very beginning of OCP work it was clear that adapting
application message may require both knowledge of the message image
itself (headers, body, trailer, everything) and knowledge of some
information not directly represented in the message (e.g., sender
address or session credentials).  To reflect this understanding, OCP
defines two objects of interest: application data and application
metadata.

OCP treats both data and metadata as opaque sequences of octets.
Application-aware OCP agents are supposed to negotiate the syntax and
semantics behind those sequences. OCP can assume virtually nothing
about the sizes or timings of data and metadata. For example, content
adaptation for streaming protocols may require periodic metadata
exchanges during the entire life of a long streaming transaction.
Thus, from protocol design point of view, both data and metadata must
be treated equally.

It soon became apparent that OCP needs two copies of every
data-related mechanism:  one for data and one for metadata. For
example, in addition to data-have, data-need, data-as-is messages, OCP
needs meta-have, meta-need, and meta-as-is messages, identical to
their data-* counterparts but operating on metadata.

I now believe that while our assumtions were correct, we overlooked an
important simplification: if OCP treats both data and metadata equally
and as opaque sequence of octets, then there is absolutely no reason
for OCP to distinsguish the two! From OCP point of view, there is just
one application "data" object associated with the application message
being adapated. Just like before, OCP agents must negotiate how that
object is encoded (syntax) and what that object means (semantics),
including metadata aspects, if any.

It would be trivial for the agents to define data format to exchange
both application message images and metadata. Moreover, some agents
(i.e., some application protocols) may chose to exchange metadata
directly via OCP messages (as an extension to OCP Core). This
flexibility does not complicate OCP Core or an agent implementation.
In fact, it simplifies both!

I plan to eliminate all current "metadata" references from the OCP
Core draft. Instead, the specs will mention two opportunities for OCP
agents to exchange metadata: appropriate data format or OCP
extensions, both subject to negotiation. Comments are welcome.

Thank you,

Alex.