Extensible Resource Identifier (XRI) について
Extensible Resource Identifier(XRI)は、OASISのXRI Technical Committeeによって策定が進められている規格です。これは、Uniform Resource Identifier(URI)および
Internationalized Resource Identifier(IRI)と互換性を持つ、抽象的な識別子の方式と解決プロトコルを定めています。XRIの主な目的は、ドメイン、地域、用途、転送手段に左右されない、抽象的かつ構造化された識別子の標準構文と探索フォーマットを確立することです。これにより、異なるドメイン、ディレクトリ、プロトコルを横断して共有可能な識別子の実現を目指しています。
規格化の経緯と論争
2008年5月、XRIはOASIS Standard Voteにおいて、過去に例を見ない高い投票率を記録しました。しかし、W3C Technical Architecture Group(TAG)などの反対により、賛成73票、反対25票という結果で、わずか1票差で否決されました。OASISの規定では、可決には賛成票が反対票の3倍以上必要であったためです。この論争の中心には、TAGが広く相互運用可能なHTTP URIが抽象化・構造化識別子としても機能すると考えている一方、XRI Technical CommitteeはHTTP URIには限界があり、その解決策としてXRIが必要だと主張する対立がありました。
背景
インターネット上で広く使われているURIですが、Webの発展に伴い、標準のURI構文では対応が難しいリソース識別子のニーズが高まってきました。特に重要なのが「国際化」への対応です。これに対応するため、W3CとIETFはURIを拡張したIRIを策定し、URIで使用する文字セットを
Unicode全体に拡大しました。
また、XMLや
Webサービスなど、Webの自動化が進むにつれて、特定ネットワーク経路、位置、プロトコルに依存せずにリソースを識別できる必要性が増してきました。これには以下のような理由があります。
XML文書がドメインに依存しない
自己言及的データフォーマットであるように、ドメインをまたいで理解される
自己言及的な「タグ」を持つ構造化識別子が必要となった。
リソースのネットワーク上の位置が変わっても維持される永続的なリンクを作成する必要性が高まった。
識別子の管理を、"xxx://"の直後のセグメントだけでなく、識別子のパスのどこでも可能にする必要性があった。
あるドメインでリソースを識別するために使用していた識別子を、同じドメイン内での別名や、他のドメインでの識別子にマッピングする必要があった。
これらの要求を受け、OASISは2003年初頭に新しい技術委員会(TC)を設立し、IRI仕様に基づいて新しい識別子の仕様を策定することになりました。その結果、XRIだけでなく、HTTP(S)ベースの解決プロトコルや、XML文書仕様であるXRDS(Extensible Resource Descriptor Sequence)も策定されました。
XRIの機能
XRIには、以下のような特徴的な機能があります。
URIおよびIRIとの互換性: URIやIRIが必要とされる場面でXRIを使用できます。
相互参照: XRIは別のXRI(やURI)を含むことができ、入れ子構造も可能です。これにより、XMLがドメイン間でデータ共有を可能にするように、ドメイン間で識別子を共有可能な構造化識別子を構築できます。
グローバルコンテキスト記号: "="、"@"、"+"、"$"、"!"などの記号を使って、i-nameやi-numberのグローバルコンテキストを分かりやすく表現します(必須ではありません)。
Peer to Peer アドレッシング: XRI構文規則により、2つのネットワークノード間で相互にXRIを割り当て、解決できます。これにより、トップレベルの名前空間を第三者が割り当てた名前で参照し、組織やコミュニティ間で名前空間の連合が可能になります。
分散化: XRIは、集中型システム(IPアドレスとDNS)だけでなく、分散型のオーソリティと
Peer to Peerアドレッシングでも運用できます。
委任: 名前空間を他の名前空間オーソリティに委任できます。
連合: 任意のレベルで独立に定義された名前空間を階層的または並立的に結合し、解決可能にできます。
永続性: XRIの一部(または全部)を、再割り当てされない永久的な識別子として指定できます。
人間と機械が扱いやすい形式: 人間が覚えやすい形式(i-name)と、機械が処理しやすい形式(i-number)があります。
単純で拡張可能な解決: HTTPとXRDSを使った軽量な解決手法を提供します。
信頼性のある解決: XRI解決プロトコルには、3つの信頼できるバージョン(HTTPS、SAML、両方)があります。
複数の解決オプション: DNSに依存せずXRIの解決を実施できます。
国際化: IRI仕様を包含しているため、国際化に対応しています。
転送プロトコル非依存: 特定の転送プロトコルや機構に制限されません。
XRI相互参照構文の例
例えば、ISBN名前空間とURNを使用した図書館システムで、特定の本と、その本がある図書館のDNSサブドメインを特定する場合を考えてみましょう。HTTP URI構文では、図書館を表すDNS名のコンテキストで、本の題名をURNで表す標準的な方法がありません。しかし、XRIの相互参照を使用することで、任意の図書館にある任意の本を特定するXRIをプログラム的に構築できます。
xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)
xri://shoreline.library.example.com/(urn:isbn:0-395-36341-1)
xri://northgate.library.example.com/(urn:isbn:0-395-36341-1)
さらに、
自己言及的識別子として拡張し、本の形態をメタデータとして含めることもできます。
xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+hardcover)
xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+softcover)
xri://broadview.library.example.com/(urn:isbn:0-395-36341-1)/(+reference)
XRI 2.0構文の例
XRIでは、URI正規形でない場合、"xri://"というプレフィックスはオプションです。以下の例はXRI形式とURI形式の間の変換ではなく、XRIの構文例です。
全体が再割り当て可能なセグメントで構成されたXRIの例:
=Mary.Jones
@Jones.and.Company
+phone.number
+phone.number/(+area.code)
=Mary.Jones/(+phone.number)
@Jones.and.Company/(+phone.number)
@Jones.and.Company/((+phone.number)/(+area.code))
全体が永続性セグメントで構成されたXRIの例:
=!13cf.4da5.9371.a7c5
@!280d.3822.17bf.ca48!78d2/!12
永続性セグメントと再割り当て可能セグメントが混在するXRIの例:
=!13cf.4da5.9371.a7c5/(+phone.number)
@Jones.and.Company!78d2/!12/(+area.code)
応用
XRI基盤を使った開発事例は以下の通りです。
OpenID 2.0の識別子発見にXRIとXRDSが使用されています。
Higgins ProjectでXRIとXRDSが採用されています。
XDI.orgのi-nameおよびi-numberというデジタルアイデンティティ・アドレッシングサービスで使われています。
XDIデータ共有プロトコル(OASIS XDI Technical Committeeで開発中)で活用されています。
ライセンス
XRI Technical Committeeは、OASIS IPR policyのRF on Limited Terms Modeで運営されています。
XRIで使用されている技術には特許権が設定されているものがあり、そのライセンス権は非営利組織であるXDI.orgに与えられています。XDI.orgは、特許の非独占的使用権を、本来の特許所有者が許可した組織にライセンス供与しています。
まとめ
XRIは、URIやIRIの代替として、より柔軟で拡張性の高い識別子を提供しようとする試みです。しかし、規格化の過程ではW3Cとの間に意見の相違があり、規格化は難航しました。XRIの持つ概念や技術は、今後の分散型Webの発展において重要な役割を果たす可能性があります。
関連項目
i-name
ザナドゥ計画
外部リンク
OASIS XRI Technical Committee
XRI Syntax 2.0 Committee Specification
XRI Resolution 2.0 Committee Specification
XRI 2.0 FAQ
XRI Requirements and Glossary 1.0
W3C Internationalized Resource Identifier (IRI)
XDI.org - XRIグローバルレジストリサービスを管理している公益組織
XDI.org Global Services Specifications
XDI.org I-Services Specifications
XRI and XRDS Internet Identity Workshop One-Pager
FSF's Dispute with OASIS patent policies
*
EqualsDrummond - Drummond Reed によるXRIや
インターネット識別子についてのブログ。