Distributed Link Service in Aquarelle
by Antoine Rizk and Dale Sutcliffe
Aquarelle will use a distributed link service component on a wide
scale. Given that Aquarelle is aimed at a professional user population,
with the likelyhood of being a paid service, the first requirement for
the use of link management in Aquarelle is to reduce to a minimum the number
of dangling, obsolete or erroneous links. Other advantages provided by
link services are enabling creation of links by third parties and creation
of links between heterogeneous third party applications.
In its simplest form, a link server only manages links , ie it keeps
a simple table of source/destination couples. In its more elaborate form
it keeps a representation of the hypermedia objects, like nodes, groups,
links, anchors, and provides a scripting language as well. The server in
this case keeps and manages an entire hypergraph and composites and is
said to provide full hypermedia services.
In the Aquarelle project are two common types of information:
- primary data which is produced by museums, art galleries, and other
cultural organisations that record details of their collections
- secondary data which is further information which could be specialist
knowledge related to the collections.
Primary data is stored and managed on what are called archive servers,
and secondary data is stored and managed in structured folders, so called
because they were originally physical folders maintained by a curator over
the years, on folder servers. The information in the folders naturally
contains references to items on the archive servers and to other folders
on related subjects. The link service is provided primarily to folder servers.
In the Aquarelle system, the access server provides the link management
function. It is at the heart of the Aquarelle system, providing connections
between the user clients and the archive and folder servers. Archive and
folder servers are registered on the access server, which stores an identifier
(archive_server_id or folder_server_id), address, and metadata (describing
what is available on the server and whether server is an archive server
or folder server) for each archive server and folder server.
The link management function on an access server stores details of all
Aquarelle links used by folders on the folder servers. Links are defined
in terms of the link identifier (link_id), type of link (link_type), the
source (folder_server_id and folder_id), and the destination (folder_server_id,
folder_id, and destination within the folder - an anchor point). Source
folders then embed the link identifier instead of the destination when
a link is specified. The link identifier is used by the link server to
retrieve the destination dynamically at link invocation time.
Any changes that occur to the destination that might render the link
ill-defined are communicated by the folder or archive server to the link
server which updates its entries. This basic assumption is fundamental
to the good behaviour of Aquarelle. It relies on the fact that content
providers are interested in keeping links to their contents up to date.
One way of ensuring this is by adopting an economic model for Aquarelle
which requires that archive and folder servers be registered at the access
server, regularly pay for their registration, and be rewarded by receiving
fees for access to their contents; Aquarelle supports this by providing
a good quality of service. This implies that content providers will have
to keep the link server informed of any updates if they want to ensure
return on registration investment. An alternative is for the Aquarelle
link server to reduce the likelihood of an inconsistent link state by using
knowbots to continuously poll archive and folder servers for existence
and validity.
Any change in the destination address remains transparent to the source
since it is only reflected in the update of link entries. Deletion of destination
content or server is dealt with by informing the source servers or folder
authors asynchronously so that they can take appropriate action and modify
their contents. This is possible in Aquarelle, and it is one advantage
of the Aquarelle link service over Persistent Uniform Resource Locators,
since each link entry contains both the source and the destination. Another
possibility is for the folder author to be able to specify what happens
to the folder when this occurs (eg leave in incomplete state, remove access
until problem is solved). Alternatively, links could be marked out-of-use,
in the first instance, so that there would be the possibility of reuse,
and only later deleted (on some regular basis). Folder authors or folder
server administrators would then be informed only when the link had really
been deleted thereby avoiding unnecessary notifications.
Conclusions
The dangling link problem has always been one of the major hurdles to
the use of link service on local area networks. Paradoxically, in the Aquarelle
distributed information system, the link service is being used as a solution
to the dangling link problem. The major reason for this change in situation
is that in a local environment, the server could only rely on the operating
system to inform it of any changes in destination nodes, which is a virtually
impossible technical requirement in most common systems. In contrast, in
a distributed system in which there is a clearly defined economic model
and a set of administrative rules for registration and payment, the link
service could reasonably rely on the servers systems and human administrators
to inform it of any changes that occur. The Aquarelle link service is being
implemented on top of the Index+ database to provide management and searching
of millions of links.
Please contact:
Antoine Rizk - Euroclid
Tel: +33 1 30441456
E-mail: Antoine.Rizk@euroclid.fr