W3C home > Mailing lists > Public > xml-dist-app@w3.org > October 2000

RE: Removal (Time for XMail?)

From: Laird Popkin <laird@io.com>
Date: Fri, 27 Oct 2000 22:22:37 -0400
To: "John Evdemon" <john.evdemon@xmls.com>, <orchard@pacificspirit.com>, <aswartz@swartzfam.com>, <xml-dist-app@w3.org>
Cc: <ice-ag@egroups.com>
Message-ID: <NEBBKBONALGKCJKFOMICMEAECBAA.laird@io.com>
In ICE we support both PBR and PBV models. I'll summarize here, and direct
you to
http://www.icestandard.org/spec/SPEC-ICE1.01-20000511.html#section5.2.2.2
for more detail.

Interestingly, while PBV is conceptually quite a bit simpler, PBR has been
the first encoding method implemented by pretty much every ICE
implementation that I am aware of. I suspect that this is because, given
modern programming libraries that make network communication trivially easy,
it's easier to retrieve a file from a URL than it is to base64 decode a
stream from an XML message.

PBR; People are tending to use pass-by-reference (ice-item-ref) when
transmitted web assets, in particular large binary assets such as images,
video and audio, because it's easier/more efficient than inline encoding. In
effect, they're using ICE to pass metadata and the notification about the
availability of the resource, and then either HTTP or FTP to actually
transmit the asset. In ICE, PBR is intended for transmitting assets that are
large and change value relatively infrequently.

One practical issue that drove us towards supporting PBR is in transmitting
rich content across unreliable connections. While in principle this should
not be an issue, in practice it can be difficult to successfully HTTP
transmit a single extremely large package containing both all assets, making
it preferable to transmit an ICE "control file" over HTTP, followed by a
series of individual assets sent by (for example) FTP. Imagine, for example,
sending 10 GB of video files over a congested T1.

In order to manage assets transmitted out of band, we must address the
issues of how to retrieve the asset, when it is legitimate to do so, and
access control.

- Where: the asset is encoded with a 'url' that provides the method and
address of the asset. (Pretty easy)
- When: the ice-item-ref can contain an ice-access-window that allows the
sender to define the valid period during which the asset must be retrieved.
This can be used to declare that the sender only guarantees that the asset
will be available for 24 hours, for example, so that receivers can retrieve
it before the server's disk space is reclaimed for new assets. If
ice-access-window is not specified, the asset is assumed to be available at
any time. Of course, waiting for a month to retrieve a file updated hourly
is likely to be unsuccessful, even if the sender didn't explicitly say so.
- Access Control: the ice-item-ref can contain an ice-access-control that
provides the username, password, cookie, etc., required to retrieve the
asset. If ice-access-control is not specified, the asset is assumed to be
available with no authentication.

If an asset passed by reference changes value occasionally, it is not
suffient to update the copy on the source server; the item's meta-data must
be retransmitted via ICE so that the subscribers know to retrieve the
updated file.

If an asset changes value constantly, the ice-item-ref grants the right to
access the asset on an ongoing basis. For example, web-cam images could be
syndicated by sending ice-item-ref's to subscribers allowing them to
retrieve the images whenever they care to. There's no value in sending
ice-updates to all subscribers several times a second notifying them of the
availability of new video frames, so instead the ice-update would only be
transmitted when the address if the web-cam changes.

PBV: People are tending to use pass-by-value (ice-item) for more traditional
text-like data. That includes text data (e.g. book title, price, ISBN
number, part number, quantity in inventory, article text) and also
XML-encoded industry specific data (e.g. NewsML encoded news stories
transmitted over ICE). For binary data encoded in-line, ICE specifies base64
encoding.

-----Original Message-----
From: xml-dist-app-request@w3.org [mailto:xml-dist-app-request@w3.org]On
Behalf Of John Evdemon
Sent: Sunday, October 01, 2000 9:30 PM
To: 'orchard@pacificspirit.com'; 'aswartz@swartzfam.com';
'xml-dist-app@w3.org'
Subject: RE: Removal (Time for XMail?)


I agree with David's observations regarding PBV and PBR.  PBR introduces
significant design challenges, especially in terms of performance.   PBV can
be enabled via a simple CDATA/base64 encoding.


-----Original Message-----
From: David Orchard <orchard@pacificspirit.com>
To: 'Aaron Swartz' <aswartz@swartzfam.com>; 'XML-DIST-APP'
<xml-dist-app@w3.org>
Sent: Fri Sep 29 18:52:49 2000
Subject: RE: Removal (Time for XMail?)

Ah yes, the advantages and disadvantages of pass by value versus pass by
reference :-)

I would think that pbr makes it harder to keep a distributed system in a
state close to coherency.  Further, there are significant performance,
reliability and scalability issues.

Seems like another interesting requirement to debate, whether or not to
explicitly support remote references.  Obviously references are supported
implicitly via URIs, but should the xml protocol elaborate on this.

I think that version 1.0 of a protocol should do the simplest case first,
that is pass by value.

Cheers,
Dave


-----Original Message-----
From: xml-dist-app-request@w3.org [mailto:xml-dist-app-request@w3.org]On
Behalf Of Aaron Swartz
Sent: Friday, September 29, 2000 2:07 PM
To: XML-DIST-APP
Subject: Re: Removal (Time for XMail?)


Simon St.Laurent <simonstl@simonstl.com> wrote:

> Another benefit of using a request-response approach for email that I
> forgot to mention is that it might give the intended recipient an
> opportunity to say 'unsubscribe me from all future messages' - which is
> what got this thread started in the first place.

Not to mention the ability for the sender to update messages after they've
been sent. How many times have you wanted "unsend" a message? Can't with
SMTP, but if we just emailed URLs back and forth, you could update the
content at the URL before the person you sent it to has downloaded it. This
is, of course, both a benefit and a drawback.

I think this is definitely an interesting area for XML work, and relates to
a lot of stuff I've been working on. Anyone have pointers to people who are
already working on this kind of thing? I'm interested.

--
        Aaron Swartz         |"This information is top security.
<http://swartzfam.com/aaron/>|     When you have read it, destroy yourself."
  <http://www.theinfo.org/>  |             - Marshall McLuhan
Received on Sunday, 1 October 2000 22:27:06 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:57 GMT