Subject: Guaranteeing the Integrity of Bindings

From: "Slein, Judith A" <[email-masked]>
Date: Wed, 15 Sep 1999 14:08:29 -0400

Another in the series of messages about advanced collection design team
proposals:

Jim Amsden in his comments on the advanced collections spec said that he
believes it is never possible to guarantee the integrity of bindings that
cross servers.  So requiring servers to guarantee the integrity of any
binding that they allow to be created will have the result that no one will
ever implement cross-server bindings.

The kind of case he had in mind (I think) was one where the server where the
resource resides becomes inaccessible to the server where bindings resides.
So at least while the 2 servers are out of touch, the binding will be
broken.

We think that it is not impossible to guarantee integrity of bindings even
in cases like this, if the server is willing to take enough trouble.  It can
store a copy of the target resource locally, and insure that no changes are
allowed except when both servers are accessible.

We agree that it is unlikely that cross-server bindings will be supported
because of the difficulty of guaranteeing integrity, but we do want to
insist the servers fail BIND requests where they can't guarantee integrity
of the binding.  (We are planning to remove all normative language about
cross-server bindings, but just keep the generic statement that integrity of
bindings has to be guaranteed.)

If you don't care so much about integrity, and do want cross-server
referencing, then redirect references are the better tool to use.

--Judy

Judith A. Slein
Xerox Corporation
[email-masked]
(716)422-5169
800 Phillips Road 105/50C
Webster, NY 14580

---

From: John Stracke <[email-masked]>
Date: Wed, 15 Sep 1999 14:19:53 -0400

> allowed except when both servers are accessible.

It may not be feasible to make a copy of a dynamic resource.

--
/=================================================================\
|John Stracke    | http://www.ecal.com |My opinions are my own.   |
|Chief Scientist |================================================|
|eCal Corp.      |"Genius, Brain! But what if the dragon eats us?"|
[email-masked]|"That would alter our plans."                   |
\=================================================================/

---

From: John Stracke <[email-masked]>
Date: Wed, 15 Sep 1999 15:36:01 -0400

> So at least while the 2 servers are out of touch, the binding will be

Actually, it's more than that.  You're (apparently) presuming that the servers
can come up with some way of making DELETE on the resource trigger a DELETE on
the binding.  But suppose the resource is just a file, and it gets deleted from
outside the server? I am not aware of any OS where you can get notification
when a file is deleted.  In the single-server case, this is not a problem,
because the server can check to make sure the resource still exists before
doing anything to indicate that the binding exists.  In the cross-server
case...well, you could still do it, but it'd make things like PROPFIND
expensive (if a collection contains 15 cross-server bindings, you've got to do
15 HTTP requests to make sure they're all still there).

--
/================================================================\
|John Stracke    | http://www.ecal.com |My opinions are my own.  |
|Chief Scientist |===============================================|
|eCal Corp.      |I'm not a bibliophile, I'm a bibliophiliac. Put|
[email-masked]|me in a bookstore, & my wallet bleeds.         |
\================================================================/

---

From: "Geoffrey M. Clemm" <[email-masked]>
Date: Wed, 15 Sep 1999 17:49:26 -0400

From: John Stracke <[email-masked]>

<gmc/> True.  In which case (as in all other cases where it cannot
guarantee BIND semantics) the server has to fail the BIND request.

Cheers,
Geoff