ucodeの空間は2×128乗と大きいため、空間の管理をしやすくするために、ドメインという部分空間に分割して管理されます。図1 はucodeの構造を図示したものです。
- ドメインは2段階からなります。上位レベルのドメインをTop Level Domain(TLD)、下位ドメインをSecond Level Domain(SLD)と呼びます。
- TLDはユビキタスIDセンターが認定した組織に割り当てるドメインです。TLDを管理する団体をTLD管理組織といいます。
- SLDはTLD管理組織が認定した組織に割り当てるドメインです。SLDの管理組織をSLD管理組織といいます。
- TLDの識別子がTop Level Domain Code(TLDc)、SLDの識別子がSecond Level Domain Code(SLDc)です。SLDcより下位の領域がIdentification Code(ic)です。
- SLDcとIdentification Code(ic)との境界を示すコードをClass Code(cc)と呼びます。ccの値として、現在icの幅が16、32、48、64、80、96ビットとなる6種類が定義されています。
- versionとは将来コード体系に変更が生じた場合でもucode体系全体の互換性を保つために設定されるフィールドです。現在、このフィールド値は0 です。
ucodeの管理手法
ucode 空間の分割手法を図2に示します。
ユビキタスIDセンターのルートは128ビットの全領域を管理しています。ユビキタスIDセンターのルートはTLD管理組織に対してTLDcを割り振ります。従って、TLD管理組織が管理するucodeのversionとTLDcフィールド(上位20ビット)は固定されます。TLD 管理組織は、それ以下の108ビットを自由に管理できます。
TLD管理組織はSLD管理組織に対してccとSLDcを割り振ります。したがってSLD管理組織が管理するucodeの version、TLDc、cc、 SLDcフィールドは固定されています。SLD管理組織は、それ以下のicフィールド(16、32、48、64、80、96ビットのいずれか)を自由に管理できます。
ucodeのライフサイクル
ucodeをキーとして「そのucodeに関連する情報」を取り出す処理をucode解決といいます。たとえば、食品を識別するucodeから、その食品に関する情報が掲載されているインターネット上のURL (Uniform Resource Locator) を取り出す処理がucode解決の一例です。ucode解決機能を提供するサーバをucode解決サーバといい、そのサーバが保持しているucodeと 「そのucodeに関連する情報」の組をucode解決エントリといいます。 ucodeには、未使用の状態から割当・発行などの手順を経て実際に利用され、破棄されるまでのライフサイクルが規定されています(図3)。すなわち、ucodeには7つの状態と、その状態を遷移させるための手続きが規定されています。
- 未使用(Unused)
まだ使用されていないucodeの状態を未使用(Unused)状態といいます。これはucodeの初期状態です。 - 予約(Reserved)
ユビキタスIDセンターが、将来の特定の利用目的のために、将来割当を行う領域として確保したucodeの状態を、予約(Reserved)状態といいます。未使用状態のucodeを予約状態にする手続きを、予約(Reservation)といいます。 RFIDや赤外線マーカなどの製品(タグ)の中にucodeを格納する方法には、(1)書き込み可能なメモリ領域に任意のucodeを格納する、(2)工場出荷時に付与される、ucodeとは別の体系で管理されているIDをucode に読み替える、という2つの方式があります(図4)。このうち(2)の方式でucodeを格納する場合には、ucodeの予約手続きが必要です。ucode の予約手続きは、タグの製造者がucode タグの認定を申請する際に行います。
ユビキタスIDセンターは、予約手続き用に1個のTLDcを管理しています。 - TLD割当(TLD-Allocated)
ユビキタスIDセンターは申請に基づき、TLD管理組織に対してある領域のucodeを管理する権限を付与します。このとき、TLD管理 組織に対して管理権限が付与されたucodeの状態をTLD割当(TLD-Allocated)状態といいます。未使用状態のucodeをTLD割当状態にする手続 きをTLD割当(TLD-Allocation)といいます。 - 割当(Allocated)
ユビキタスIDセンター(TLD管理組織)は申請に基づき、SLD管理組織に対してある領域のucodeを管理する権限を付与します。このとき、SLD管理組織に対して管理権限が付与されたucodeの状態を割当(Allocated)状態といいます。TLD割当状態または予約状態のucodeを割当状態にする手続きを割当(Allocation)といいます。 TLD管理組織は、SLD管理組織に対してucodeを割り当てるとき、割り当てた SLD管理組織の情報を自らが管理するucode解決サーバに登録します。たとええば、00001XXXXXXXXXXXXXXXXXXXXXXXXXXXという領域(Xは任意)を管理しているTLD管理組織#1 が、00001e0000000000000000000001XXXXという領域をSLD管理組織#1に割り当てるとき、TLD管理組織#1は、自身が管理 するucode解決サーバに「00001e0000000000000000000001XXXXという領域のucodeに関する情報はSLD管理組織#1が知っている」というucode解決エントリを追加します。 - 再割当(Sub-Allocated)
SLD管理組織が、割り当てられたucode空間の一部の発行権限を他の個人や組織に付与することがあります。このとき、SLD管理組織が他の個人や組織に発行権限を付与したucodeの状態を再割当(Sub-Allocated)状態といい、このような手続きを再割当(Sub-Allocation)といいます。 再割当を行うSLD管理組織をucodeプロバイダといいます。 - 発行(Issued)
SLD管理組織、またはSLD管理組織からucodeを再割当された個人や組織は、発行権限を持つucodeを読み取れる状態にし、コンテンツやサービスと紐付けて、ucodeと紐付けるコンテンツとの関係をucode解決エントリに登録します。たとえば、SLD管理組織#1は、自らが管理するucode 解決サーバに「00001e00000000000000000000011234というucodeに関する情報は http://www.example.org/にある」というucode解決エントリを登録します。このとき、 00001e00000000000000000000011234というucodeを取得した端末は、ucode解決を行うと、このucodeに関する 情報がhttp://www.example.org/に あることがわかります。これにより、端末は取得したucodeに関連する情報やサービスを受け取ることができます。このようにして利用可能になった ucodeの 状態を発行(Issued)状態といい、割当状態または再割当状態のucodeを発行状態にする手続きを発行(Issue)といいます。 - 破棄(Destructed)
未使用状態でないucodeが利用できなくなった状態を破棄(Destructed)状態といいます。発行状態のucodeを破棄状態にする手続きを破棄(Destruction) といいます。
このように、ucodeは基本的に割当・再割当・発行という3つの手続きによって利用できるようになります。図5は、割当・再割当・発行の各手続きによって、ucodeの空間が分割されていく様を示したものです。
図5: ucodeの割当・再割当・発行手続きとucodeの空間分割の関係