動的委任発見システム

動的委任発見システム (Dynamic Delegation Discovery System) は、DNS を適用しながら文字列変換規則を動的に適用することによって、アプリケーション内の文字列を URI などに変換するシステムである。
概要.
動的委任発見システムは 2002年10月に発行された IETF 標準 RFC 3401～RFC 3405 によって規定されている。RFC 3401 によれば、DDDS とは動的に検索された文字列変換規則 (書き換え規則) をアプリケーション固有の文字列に適用する抽象的なアルゴリズムである。しかしながら、この記述では DDDS の意味を理解するのは困難である。DDDS はインターネット上におけるサービスやオブジェクトのアドレス (名前) を指定してその場所 (IPアドレスなど) を求めるためのシステムであるが、そのために文字列書き換えの技術を使用している。
各 RFC の内容.
DDDS は 5 個の RFC によって記述されているが、必ず全部あわせて読むようにと RFC 中で注意されている。各 RFC は次のとおりである。
情報的 RFC である RFC 3401 には DDDS の概要が記述されている。すなわち、各 RFC の概要や RFC 3402 において記述されているアルゴリズムにおいて使用されるべきデータベースの種類などについて記述されている。RFC 3403 以下ではデータベースとして DNS が使用されているが、RFC 3402 の方法においては他のデータベース (たとえばディレクトリ) を使用することができる。
標準ドキュメントである RFC 3402 には DDDS のアルゴリズムが記述されているが、それに先立ってその背景が説明されている。DDDS はもともと IETF の URN (Uniform Resource Name) ワーキンググループの仕事から発展したものである。URN については D-Lib Magazine の 1996年2月号の記事 “The URN Implementors 著: Uniform Resource Names – A Progress Report” に解説されている。この記事によれば、URN とは場所に依存しない資源や情報単位を識別する名前のことをいう。URN フレームワーク (Knoxville Framework と呼ばれる) においては名前づけのスキーム (naming scheme: 唯一の名前を生成したり割り当てたりする手続き) と解決システム (resolution system: URN を格納し解決するネットワーク・アクセス可能なサービス) とは独立であるべきであるという。DDDS はこの原理に基づいて作られている。
DDDS のアルゴリズムの概要は次のとおりである。
標準ドキュメントである RFC 3403 には上記のアルゴリズムにおけるデータベースとして DNS を使用する場合に使用される NAPTR RR について記述されている。この RFC 3403 が NAPTR RR を定義する標準ドキュメントとなっている。この場合、データベースを引くことによって NAPTR RR が含む書き換え規則が得られる。
標準ドキュメントである RFC 3404 には上記のアルゴリズムの適用例として、DNS をデータベースとして使用して、URI からその URI に関する情報をもつサーバの位置をもとめる方法が記述されている。NAPTR RR を使用した資源検索の方法については4、3、2、8節に記述したのでここでは記述しないが、この方法が SIP サーバの位置を求めるために使用される。
BCP (Best Current Practice) ドキュメントである RFC 3405 には上記のアルゴリズムのために URI.ARPA ゾーンおよび URN.ARPA ゾーンに新しい規則を挿入する手続きを記述している。これらのゾーンが URI および URN に関する検索の起点となる。