[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Handle-info] Handle as PID :Was: Please help me understand the value of Handle



Hi Konstantin,

To your question "Is there any working demonstration for a use case including general
type/value pairs?" we have developed and used in the context of two CNRI projects the
notion of handles as a distributed system configuration.


In this case, we use one more handles to configure distributed services that all need to share consistent configuration information. Think of these handles as a distributed configuration file. Add to this the secure administration of the handle values and one can easily build a chain of trust where each of the service instance (and its users) knows it is properly configured and by an entity it can trust.

In this scenario, each instance of the distributed process resolve the configuration handle to acquire the latest values to configure itself. This enable for the deployment of many instances of the same service while maintaining a
consistent and up to date manner to configure these services.


For and example look at
http://hdl.handle.net/100.10/registry?no_redirect


This handle contains the configuration information that a DVIA registry proxy can use to interact with the registry system identified by 100.10/registry. There can be many instance of the same proxy and each will be able to have consistent, up to date configuration information about the 100.10/registry system.

There are many possible variations on this theme of distributed configuration mechanism, but one that I would like to mention is the use of handle values that are only visible to an administrator. A service that can prove that it has administrative credentials can view data that no one else can see.
E.G access lists, group membership information, passwords etc...


Thanks,

Christophe


You may find it useful to look at the 'raw' version of the handle that Sean is using in his examples, to see what is going on there.

If you address the hdl.handle.net proxy with no arguments at all, i.e.,

http://hdl.handle.net/

you'll see a query page in which you can type or paste a handle and check a box that says

Don't Redirect to URLs

This will show you a formatted version of the handle record. For Sean's examples, just use the handle without the parameters -- 200/0

The parameters, e.g., type=urn, are for the proxy, and aren't part of the handle record. Having the proxy select handle values of a certain type is just one possible use of types -- other client applications could, and have been, built that also key off the various types.

The most common use of non-URL types is probably internal to the handle system - the core handle client will begin any resolution by either examining a cache or contacting the global root to find where to go to resolve any handle. It gets this by resolving the prefix. All handle prefixes, e.g., the 200 in 200/0 are held in the global root as handles of the form 0.NA/someprefix, e.g., 0.NA/200. If you follow that handle using the technique described above you'll find a type called HS_SERV. This is the type for the handle service responsible for all handles starting with 200. The value of that type is generally another handle and if you resolve that handle you'll find one or more type/value pairs for HS_SITE, which is a binary data structure containing the specifics of IPs, ports, hashing schemes, etc., that the client uses to get the end resolution of the handle. 200 may be a confusing prefix to use, since its homed in the root service, but you should be able to follow that pattern for any handle.

Larry


On Mar 29, 2007, at 4:25 AM, Sean Reilly wrote:



On Mar 28, 2007, at 2:42 PM, Konstantin Rekk wrote:
Is there any working demonstration for a use case including general
type/value pairs? May be using the proxy (or extending it) by providing
get-attributes within request
A theoretical example: providing urn and not url, something like
http://hdl.handle.net?type=urn -> gives a urn-redirect (if browser
supports it) -
one thinkable application (don't know if that makes sense) of this could
be to store handles for resources which are provided by external
repositories and which
are using urns;
instead of urn one could also use ppn (production numbers) for the
library catalog entry, so handle system would provide a two directional
link between digital object and catalog entry ...

Hi Konstantin,


Some of the parameters that can be passed to the proxy are described here:
http://www.handle.net/proxy.html


There are also additional parameters that the proxy understands, some of which are supported and some are not (meaning they could go away or how they work could change).

One parameter that I think is supported is "type," as in your example. So you can tell the proxy to resolve handle values that have a type that is provided in the URL. For example, if you want to resolve the handle 200/0 and redirect to the value with the type of "URL.A" then you can do:
http://hdl.handle.net/200/0?type=URL.A


You can also give it the type URN:
  http://hdl.handle.net/200/0?type=URN

but the proxy currently doesn't understand that URN is a redirect-able type so it just displays the value instead of sending an HTTP redirect. The proxy will currently send an HTTP redirect for values with type URL or that start with "URL."

I think this list is a good place to post and discuss additional features that you'd like to see, in case the feature described above don't cover your needs.

Thanks,
Sean



_______________________________________________
Handle-Info mailing list
Handle-Info@cnri.reston.va.us
http://www.handle.net/mailman/listinfo/handle-info



_______________________________________________
Handle-Info mailing list
Handle-Info@cnri.reston.va.us
http://www.handle.net/mailman/listinfo/handle-info