BINDing using a weak reference

It appears that the authors of the advanced collections spec expect that
BINDing a resource into a new collection will adjust a reference count
on the destination, ensuring that the destination resource persists
until all bindings have been explicitly removed.

The problem with this behavior is dealing with cyclic references.  A
server implementer may allow cyclic BINDings, in which case DELETE
becomes very expensive, since the server must now validate that there is
still a valid path to the destination resource from the root, to avoid
orphaned cycles.  Alternately, a server implementer can disallow cyclic
bindings from being inserted in the first place, which is
computationally much cheaper, but which restricts the usefulness of
BINDings.  (Like the way UNIX restricts hard links to directories).

Has any thought been given to a notion of a "weak" binding, which
doesn't affect persistence?  As long as weak bindings are automatically
deleted when all of the strong bindings are removed, dangling BINDings
(the great evil) are avoided.  Especially when a DAV server is
implementing something like a user space quota, a strong BINDing implies
that the user creating it wants to maintain storage for the object
(implying a quota impact), whereas a weak binding would be more like a
smart bookmark that would follow a web page when moved and disappear if
that page were removed.

--Eric Sedlar
Oracle Corporation
esedlar@us.oracle.com

Received on Saturday, 4 December 1999 15:01:00 UTC