読者です 読者をやめる 読者になる 読者になる

Handle systemとDOI

はじめに

調べている途中で完全にはウラはとれてないし保証できないのだけど少し分かったことのメモです。主にHandle systemとDOIのカンケーです。DOIはHandle systemで動いている、についてシステム的にどこまでどんなカンケーなの、という視点です。DOI Handbookを通読するのはしんどいので、挙動から分かる部分(とDOI Handbookからちょっとの引用)を中心に。

doi.orgでもhdl.handle.netでも

たとえば、アジ研さんの機関リポジトリであるARRIDEでは各アイテムにHandleを付与しています。
http://hdl.handle.net/2344/1372

Handle側でアジ研さんのサーバであるARRIDEサーバにリダイレクトしてくれてめでたしめでたしなのですが。

http://doi.org/2344/1372

実はdoi.orgを指定した場合でもちゃんとARRIDEにリダイレクトしてくれてます*1。これ、びっくりですよね。何が起こっているのでしょうか。

少し調べてみた

まずdoi.orgとhdl.handle.netのアドレスを調べてみました。hostコマンドで。

host hdl.handle.net
hdl.handle.net has address 38.100.138.165
hdl.handle.net has address 134.76.10.174
hdl.handle.net has address 38.100.138.166

host doi.org
doi.org has address 162.13.3.127
doi.org has address 63.123.152.248
doi.org has address 38.100.138.163
doi.org has address 38.100.138.162
doi.org has address 54.191.229.235
doi.org has address 208.254.38.90

Handle用のproxyサーバが3つでDOI用のproxyサーバが6つ。DOIの方が多いんですねえ。まあそうでしょうけど。この情報を元に、次に実際にいくつかのケースでどんな遷移をしているのか見てみます。

Handleのみのアイテムの遷移

再度、アジ研さんのARRIDEのアイテムに登場していただいて。CNRIを通じたHandleのみ持っている、という例です。
http://hdl.handle.net/2344/1372
Chromeの「デベロッパツール」で見てみると、134.76.10.174 から 303リダイレクトで、ARRIDEへ遷移していることが分かります。134.76.10.174はhdl.handle.netのproxyサーバなので、当然の挙動ですね。

続いて問題の、
http://doi.org/2344/1372
を見てみると、63.123.152.248から303リダイレクトで、ARRIDEへ飛んでいることが分かります。63.123.152.248はHandle側のproxyサーバではなくdoi.orgのproxyサーバです。つまり、Handle用のprefixとsuffixがDOI用のproxyサーバを通じて解決されている*2、ということまでは何となく言えそうな雰囲気です。

DOIのみのアイテムの遷移

ARCHAEOLOGY DATA SERVICEというところのアイテムに登場してもらいます。DOIのRA*3の一つであるDataCite由来のDOIが付与されているアイテムです。
http://doi.org/10.5284/1000164
63.123.152.248というDOI側のproxyサーバから303リダイレクトでARCHAEOLOGY DATA SERVICEへ遷移しています。これは予想通りの当然の挙動ですね。

ARRIDEとは逆パターンですが、下記のパターンもちゃんと解決されます。ふむふむ。
http://hdl.handle.net/10.5284/1000164
で、どんな経路で解決されているかというと、134.76.10.174というHandle側のproxyサーバを通じて解決されています。さきほどとは逆パターンで、DOI用のprefixとsuffixがHandle用のproxyサーバを通じて解決される、ということはなんとなく言えそうな雰囲気です。

分かったと言えそうこと

DOIのprefixとsuffixであってもHandle用proxyサーバを通じて解決されて無事にリダイレクトされる。同様に、HandleのprefixとsuffixであってもDOI用のproxyサーバを通じて解決されて無事にリダイレクトされる。つまり、proxyサーバとしてのdoi.orgとhdl.handle.netはほぼ同機能だから、DOIとHandleなら「http://doi.org」「http://hdl.handle.net」のどちらを使っても(機能的には)良さそう、ということです。

下記のあたりがたぶん参考になります。

DOI Handbook - Resolution
「the proxy servers (at http://doi.org, and also the one at http://hdl.handle.net)

DOI System and the Handle System
「Technical infrastructure」の
「The Handle System consists of Global root servers, local handle servers, clients, and proxy servers.」

辺りを読んで、proxyサーバの後ろにあるシステム(Global root serversからデータをコピーされてるlocal handle servers)はHandle側もDOI側もほぼまったく同じシステムとデータ(local handle servers)で動いているのではないかと勝手に推測*4*5

20140914追記

DRFで以前こんなポスター発表があったようですね。
http://drf.lib.hokudai.ac.jp/drf/index.php?plugin=attach&refer=tech%2F%E9%96%A2%E9%80%A3%E6%8A%80%E8%A1%93%E6%83%85%E5%A0%B1&openfile=DRF9_DOI_Handle_poster.pdf
ただ、アドレスバーにdoi.orgとhdl.handle.netどちらでもリンク解決される、という部分のみで実際のところHandleとDOIのシステム部分の切り分けは依然わからないままです。また何かあれば追記します。

おわりに

以上のことから、識別子としての機能的にはHandleとDOIはほとんど同一の機能を持っているとみなしていいかもしれません。リゾルバサーバとしてのproxyサーバ名まで共有しているようですから。ただ、HandleもってればDOIいらないよね、という結論にはいたらないと思います。DOIを付与する過程でCrossRefやらJaLCさんやらのRAで付与してもらうわけですが、HandleだけではそういったRAの提供するサービスを受けられないからです。



というわけで2015年 Li:d tech 夏の自由研究はこれでおしまいです。

*1:dx.doi.orgでも問題ないですが、doi.orgの方がpreferだとDOI handbookに書いてあります

*2:その背後で何が起きているのかは分かりませんが

*3:Registration Agency

*4:間違っている可能性大です

*5:追記:この辺の記述はDOIとHandleシステムの関係ではなく、通常のHandleの仕組みを示していただけのようなのでとりあえず消しておきます。