(57)【要約】      （修正有）【課題】ＸＡＣＭＬで記載された利用条件および／または属性情報を、ＩＣカード等の携帯装置内等での処理に適し、データ量も小さい情報に変換する。【解決手段】ＸＡＣＭＬで記述され、プライバシー情報を含む利用条件式は、利用条件／属性情報分割部１４により、プライバシー情報のみを含む条件式と、プライバシー情報を含まない条件式に分割される。プライバシー情報を含む条件式（プライバシー条件式）と、プライバシー情報を含まない条件式（非プライバシー条件式）は次に利用条件／属性情報記述変換部１５により、独自の記述形式（ＵＲＡＬ）に変換される。最後に、独自の記述形式に変換されたプライバシー条件式と非プライバシー条件式はリソース群用記憶部１６により、ＡＰＤＵ書式定義ファイルを用いてＡＰＤＵ書式に変換された後、ＩＣカード２、ディスプレイ３などの各リソースに記憶される。【選択図】図１
2006209650.tif 000002
【特許請求の範囲】
【請求項１】
サービスの利用権を発行する利用権発行装置で行なわれる利用権発行方法であって、
利用条件／属性情報入力手段が、所定の言語で記述された、サービスの利用条件および／またはサービスを利用する利用者および／またはサービスを提供する資源に関する属性情報を入力するステップと、
利用条件／属性情報分割手段が、入力された利用条件および／または属性情報を分割するステップと、
書式変換手段が、分割された前記利用条件および／または属性情報を、携帯装置をはじめとする各リソースの固有の書式に合わせて書式変換するステップと、
利用条件／属性情報出力手段が、書式変換された利用条件および／または属性情報を各リソースに出力するステップと
を有する利用権発行方法。
【請求項２】
サービスの利用権を発行する利用権発行装置で行なわれる利用権発行方法であって、
利用条件／属性情報入力手段が、携帯装置をはじめとする各リソースの固有の書式に合わせた書式で記述された各利用条件および／または属性情報を入力するステップと、
利用条件／属性情報結合手段が、各利用条件および／または属性情報を結合し、所定の言語で記述された、元のサービスの利用条件および／または属性情報を得るステップと
を有する利用権発行方法。
【請求項３】
利用条件／属性情報記述変換手段が、前記利用条件および／または属性情報が分割された後、分割された前記利用条件および／または属性情報を、該利用条件および／または属性情報を携帯装置上で処理するために処理効率および／またはデータサイズの観点から最適化するステップをさらに有する、請求項１に記載の利用権発行方法。
【請求項４】
前記利用条件／属性情報入力手段が、前記利用条件および／または属性情報を入力する際、利用条件および／または属性情報に加え、利用条件および／または属性情報の記述者の属性情報も入力するステップと、
利用条件／属性情報記述者チェック手段が、入力された利用条件および／または属性情報記述者属性情報に基づき、前記利用条件および／または属性情報の入力可否をチェックするステップと、
をさらに有する、請求項１または２に記載の利用権発行方法。
【請求項５】
利用条件／属性情報チェック手段が、前記利用条件および／または属性情報の入力後、前記各利用条件および／または属性情報ごとに新規、変更、削除のフラグを設定するステップをさらに有する、請求項４に記載の利用権発行方法。
【請求項６】
前記利用条件および／または属性情報を分割するステップが、利用条件を、プライバシー情報を含む条件と、プライバシー情報を含まない条件のみとに分割するステップである、請求項１、３から５のいずれかに記載の利用権発行方法。
【請求項７】
前記利用条件および／または属性情報を分割するステップが、利用条件を、サービスを利用する利用者に関する条件である主体条件と、サービスを提供する資源に関する条件である資源条件と、サービスに関わる環境に関する条件である環境条件とに分割するステップである、請求項１、３から５のいずれかに記載の利用権発行方法。
【請求項８】
前記利用条件および／または属性情報を分割するステップが、属性情報を、サービスを利用する利用者に関する属性である主体属性と、サービスを提供する資源に関する属性である資源属性と、サービスに関わる環境に関する属性である環境属性とに分割するステップである、請求項１、３から５のいずれかに記載の利用権発行方法。
【請求項９】
前記所定の言語がＸＭＬである、請求項１または２に記載の利用権発行方法。
【請求項１０】
前記所定の言語がＸＭＬであり、該ＸＭＬが、関数を表す関数ノードとその関数に対する０個以上の引数とからなる式で表されており、各引数は別の関数ノードであることもあり、変数を表す変数ノードの場合もあり、定数を表す定数ノードの場合もあるというツリー構造を持つとき、
前記分割するステップが、
前記ツリーよりプライバシー情報を含む変数を探すステップと、
該変数のノードの親を辿り、直近の論理値を返す関数ノードを探すステップと、
前記の検索された関数ノードをルートとするサブツリーを新たな独立したツリーとして生成するステップと、
元のツリーのうち、前記関数ノード以下のサブツリーを「プライバシー条件式ツリーの結果」という変数ノードで置き換えるステップと
を含む、請求項６に記載の利用権発行方法。
【請求項１１】
前記ＸＭＬがＸＡＣＭＬのＰｏｌｉｃｙのスキーマに従っているとき、
前記利用条件／属性情報分割手段が、前記利用条件が入力された後、
ＸＡＣＭＬのＰｏｌｉｃｙのＴａｒｇｅｔ要素にＳｕｂｊｅｃｔ要素、Ｒｅｓｏｕｒｃｅ要素、Ｅｎｖｉｒｏｎｍｅｎｔ要素が存在する場合、これらをＣｏｎｄｉｔｉｏｎ要素の内容へ変換するステップと、
Ｃｏｎｄｉｔｉｏｎ要素をルートとするＤＯＭツリーに対し、１）Ｃｏｎｄｉｔｉｏｎ要素とＡｐｐｌｙ要素はそれぞれのＦｕｎｃｔｉｏｎＩＤ属性の値をノードの値として持つ関数ノードに変換する、２）ＳｕｂｊｅｃｔＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素、ＥｎｖｉｒｏｎｍｅｎｔＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素、ＲｅｓｏｕｒｃｅＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素は、それぞれのＡｔｔｒｉｂｕｔｅ属性の値をノードの値として持つ変数ノードに変換する、３）ＡｔｔｒｉｂｕｔｅＳｅｌｅｃｔｏｒ要素は、ＲｅｑｕｅｓｔＣｏｎｔｅｘｔＰａｔｈ属性の値をノードの値として持つ変数ノードに変換する、４）ＡｔｔｒｉｂｕｔｅＶａｌｕｅ要素は、コンテンツをノードの値として持つ定数ノードに変換するステップと、
をさらに有する請求項１０に記載の利用権発行方法。
【請求項１２】
前記所定の言語がＸＭＬであり、該ＸＭＬが、関数を表す関数ノードとその関数に対する０個以上の引数とからなる式で表されており、各引数は別の関数ノードであることもあり、変数を表す変数ノードの場合もあり、定数を表す変数ノードの場合もあるというツリー構造を持つとき、
前記分割するステップが、
前記ツリーより主体情報を含む変数を探すステップと、
該変数のノードの親を辿り、直近の論理値を返す関数ノードを探すステップと、
前記の検索された関数ノードをルートとするサブツリーを、主体条件式ツリーである新たな独立したツリーとして生成するステップと、
元のツリーのうち、前記関数ノード以下のサブツリーを「主体条件式ツリーの結果」という変数ノードで置き換え、これを資源・環境条件式ツリーと呼ぶステップと、
前記資源・環境条件式ツリーより資源情報を含む変数を探すステップと、
該変数のノードの親を辿り、直近の論理値を返す関数ノードを探すステップと、
前記の検索された関数ノードをルートとするサブツリーを、資源条件式ツリーである新たな独立したツリーとして生成するステップと、
元の資源・環境条件式ツリーのうち、該関数ノード以下のサブツリーを「資源条件式ツリーの結果」という変数ノードで置き換え、これを環境条件式ツリーと呼ぶステップと、
を含む、請求項７に記載の利用権発行方法。
【請求項１３】
前記ＸＭＬがＸＡＣＭＬのＰｏｌｉｃｙのスキーマに従っているとき、
前記利用条件／属性情報分割手段が、前記利用条件が入力された後、
ＸＡＣＭＬのＰｏｌｉｃｙのＴａｒｇｅｔ要素にＳｕｂｊｅｃｔ要素、Ｒｅｓｏｕｒｃｅ要素、Ｅｎｖｉｒｏｎｍｅｎｔ要素が存在する場合、これらをＣｏｎｄｉｔｉｏｎ要素の内容へ変換するステップと、
Ｃｏｎｄｉｔｉｏｎ要素をルートとするＤＯＭツリーに対し、１）Ｃｏｎｄｉｔｉｏｎ要素とＡｐｐｌｙ要素はそれぞれのＦｕｎｃｔｉｏｎＩＤ属性の値を名前に持つ関数ノードに変換する、２）ＳｕｂｊｅｃｔＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素、ＥｎｖｉｒｏｎｍｅｎｔＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素、ＲｅｓｏｕｒｃｅＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素は、それぞれのＡｔｔｒｉｂｕｔｅ属性の値を名前にもつ変数ノードに変換する、３）ＡｔｔｒｉｂｕｔｅＳｅｌｅｃｔｏｒ要素は、ＲｅｑｕｅｓｔＣｏｎｔｅｘｔＰａｔｈ属性の値を名前にもつ変数ノードに変換する、４）ＡｔｔｒｉｂｕｔｅＶａｌｕｅ要素は、コンテンツを名前としてもつ定数ノードに変換するステップと、
をさらに有する、請求項１２に記載の利用権発行方法。
【請求項１４】
サービスの利用権を発行する利用権発行装置であって、
所定の言語で記述された、サービスの利用条件および／またはサービスを利用する利用者および／またはサービスを提供する資源に関する属性情報を入力する利用条件／属性情報入力手段と、
入力された利用条件および／または属性情報を分割する利用条件／属性情報分割手段と、
分割された前記利用条件および／または属性情報を、携帯方法をはじめとする各リソースの固有の書式に合わせて書式変換する書式変換手段と、
書式変換された利用条件および／または属性情報を各リソースに出力する利用条件／属性情報出力手段と
を有する利用権発行装置。
【請求項１５】
サービスの利用権を発行する利用権発行装置であって、
携帯装置をはじめとする各リソースの固有の書式に合わせた書式で記述された各利用条件および／または属性情報を入力する利用条件／属性情報入力手段と、
各利用条件および／または属性情報を結合し、所定の言語で記述された、元のサービスの利用条件および／または属性情報を得る利用条件／属性情報結合手段と
を有する利用権発行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介したサービス提供システムに関し、特に利用権発行方法および利用権発行装置に関する。
【背景技術】
【０００２】
顧客ごとにＩＣカードを発行するシステムが特許文献１で提案されている。
一方、柔軟で拡張性のあるアクセス制御を実現するためのポリシー記述言語ＸＡＣＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が開発され、実用化されている。
【０００３】
ＸＡＣＭＬは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）プロトコルを拡張し、ＳＡＭＬ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のフレームワーク上で特にポリシー決定点に対する認可決定を判断させるためのポリシーおよびルール規定の仕様を定めるとともに、ポリシー決定点に対する認可要求やその応答を定めたものである。
【特許文献１】特開２００４−２１９４０号公報
【非特許文献１】ｈｔｔｐ：//ｗｗｗ．ｏａｓｉｓ−ｏｐｅｎ．ｏｒｇ/ｃｏｍｍｉｔｔｅｅｓ/ｔｃ＿ｈｏｍｅ．ｐｈｐ？ｗｇ＿ａｂｂｒｅｖ＝ｘａｃｍｌ
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＸＡＣＭＬを含むＸＭＬは、ＩＣカード等の携帯装置内での処理には適しておらず、データ量も大きいという欠点がある。
【０００５】
本発明の目的は、プライバシー情報を保護しながらもＩＣカード等の携帯装置内での処理に適し、データ量も小さい、利用発行方法および利用権発行装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の利用権発行方法は、
所定の言語で記述された、サービスの利用条件および／またはサービスを利用する利用者および／またはサービスを提供する資源に関する属性情報を分割するステップと、
分割された前記利用条件および／または属性情報を、該利用条件および／または属性情報を携帯装置上で処理するために処理効率および／またはデータサイズの観点から最適化するステップと、
最適化された前記利用条件および／または属性情報を、携帯装置をはじめとする各リソースの固有の書式に合わせて書式変換するステップと
を有する。
【発明の効果】
【０００７】
本発明によれば、所定の言語、例えばＸＭＬ、特にＸＡＣＭＬで記述された、利用条件および／または属性情報を分割し、携帯装置上で処理する上で処理効率やデータサイズの点で最適化することにより、利用条件および／または属性情報をＩＣカード等の携帯装置内で効率的に処理できる。また、所定の言語、例えばＸＭＬで記述された利用条件を、プライバシーを含む情報と、プライバシー情報を含まない情報とに分割することにより、利用権発行装置の利用者はプライバシー情報を意識することなく、プライバシー情報を外に出さずにすむような形に情報を分割することができる。
【０００８】
本発明は、ＸＡＣＭＬを含むＸＭＬ以外の言語の場合にも適用できる。
【発明を実施するための最良の形態】
【０００９】
次に、本発明の実施の形態について図面を参照して説明する。
【００１０】
図１は本発明の一実施形態の利用権発行装置を含むシステムの構成を示す図、図２は利用権発行装置１で行われる処理の流れを示す図である。
【００１１】
利用権発行装置１は利用条件／は属性情報入力部１１と利用条件／属性情報記述者チェック部１２と利用条件／属性情報チェック部１３と利用条件／属性情報分割部１４と利用条件／属性情報記述変換部１５とリソース群用記憶部１６と有している。
【００１２】
利用条件／属性情報入力部１１は、利用条件および／または属性情報、利用条件および／または属性情報記述者属性情報を含む情報を入力する（ステップ１０１）。利用条件とは、サービスを利用するための条件であり、利用者（主体）の年齢による利用制限のような、主体の属性情報に関する条件である主体条件、資源の性能（ディスプレイであれば画面のサイズ等）による利用制限のような、資源の属性情報に関する条件である資源条件、時間帯による利用制限のような、環境の属性情報に関する条件である環境条件の総称である。属性情報とは、利用者（主体）に関する属性情報である利用者属性情報（主体属性情報）、資源に関する属性情報である資源属性情報、環境に関する属性情報である環境属性情報の総称である。利用者属性情報（主体属性情報）は、サービスを利用する利用者に関する属性情報であり、個々のサービスに依存しない利用者基本属性情報と、個々のサービスに依存する利用者サービス属性情報に分けられる。利用者基本属性情報は、利用者ＩＤ、氏名、生年月日、性別、電話番号等が相当する。利用者サービス属性情報は、依存するサービスを識別するＩＤやその他のサービスにおける利用者の会員ＩＤ等が相当する。また、利用者サービス属性情報は、前記以外にも、例えばそのサービスを利用者本人だけでなく、その家族等にも利用させたいときに、その家族のＩＤのリストを定義したり等、サービス提供者が独自に情報を定義できる、自由領域と呼ばれ領域もある。資源属性情報は、サービスを提供する資源に関する属性情報であり、個々のサービスに依存しない資源基本属性情報と、個々のサービスに依存する資源サービス属性情報に分けられる。資源基本属性情報は資源ＩＤ等が相当する。資源サービス属性情報は、依存するサービスを識別するＩＤ等が相当する。また、資源サービス属性情報は、前記以外にも、例えばその資源が画面を表示する装置であれば、その画面サイズ、その資源がインターネット接続を提供する装置であれば、その接続の帯域等、サービス提供者が独自に情報を定義できる、自由領域と呼ばれる領域もある。利用条件および／または属性情報記述者情報は本利用権発行装置１を利用する利用者の属性情報で、具体的には、氏名、記述可能レベルまたは記述可能利用条件および／または属性情報ファイル名である。なお、これらの情報は、ＸＭＬで記述したファイルの形で入力しても、あるいは利用条件および／または属性情報を入力項目としたＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）により画面から直接入力するようにしてもよい。
【００１３】
利用条件／属性情報記述者チェック部１２は、利用条件および／または属性情報を入力する記述者の入力（変更・更新）可能な利用条件および／または属性情報をチェックする（ステップ１０２）。一人ずつ利用条件および／または属性情報における入力可能な項目を設定し、それに基きチェックする方法と、入力可能な利用条件および／または属性情報のレベルを設定し、それに基きチェックする方法とが用意されている。例えば、入力可能項目の数に応じてハイレベル、ミドルレベル、ローレベルと分類して設定することが考えられる。また、入力可能な利用条件および／または属性情報以外の項目を入力している場合にはエラーを表示し、変更、更新をしない。記述者と利用条件および／または属性情報における入力可能な項目の設定ファイルとをつなぐための認証に関しては、従来の方法であるユーザＩＤとパスワードを用いてもよい。
【００１４】
利用条件／属性情報チェック部１３は、利用条件および／または属性情報ごとに用意されたフラグを、新規、変更、削除に応じて設定（例えば、更新ありは１、更新なしは０など）する（ステップ１０３）。
【００１５】
利用条件／属性情報分割部１４は，ＸＡＣＭＬで記述された利用条件（条件式）または属性情報を、所定の２つ以上の利用条件または属性情報に分割する（ステップ１０４）。
【００１６】
利用条件／属性情報記述変換部１５は分割されたこれら条件式または属性情報を、ＩＣカードなどの携帯装置で効率的に処理できる独自の形式（ＵＲＡＬ（Ｕｂｉｑｕｉｔｏｕｓ  Ｒｅｓｏｕｒｃｅ  Ａｇｇｒｅｇａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）と呼ぶ）に変換する（ステップ１０５）。このＵＲＡＬは、[引数ｎ][引数ｎ−１]・・・[引数１][関数]のような構造になっており、各引数は別の関数であることもあり、変数の場合もあり、定数の場合もある。また、それぞれの関数、変数、定数値はいずれも「種類（Ｔ）」「長さ（Ｌ）」「値（Ｖ）」というデータを持っている。種類に関しては、例えば「０１」が関数（演算子という名称を使う場合もある）、「０２」が変数（サービスに依存しない、利用者の名前などを示す変数）、「０３」がサービス毎に定義されるフィールド変数（サービス変数という名称を使う場合もある）、「０４」が定数を示す。
【００１７】
リソース群用記憶部１６はＵＲＡＬに変換された条件式または属性情報をさらにリソース（資源）群用の書式に変換し、利用権として携帯装置２、ディスプレイ３などのリソースに記憶する（ステップ１０６）。
【００１８】
なお、本発明では、利用条件にＸＡＣＭＬのＰｏｌｉｃｙ文書を、属性情報記述にＸＡＣＭＬのＲｅｑｕｅｓｔ  ｃｏｎｔｅｘｔ文書を用いている。
【００１９】
図３は、ＸＡＣＭＬで記述され、プライバシー情報を含む利用条件式（ポリシー）を、図４に示すように、プライバシー情報を含む条件式と、プライバシー情報を含まない条件式に分割し、形式を変換してリソース群に記憶するまでの処理の概要図である。ＸＡＣＭＬで記述され、プライバシー情報を含む利用条件式（ポリシー）は、利用条件および／または属性情報分割部１４により、プライバシー情報を含む条件式と、プライバシー情報を含まない条件式に分割される。すなわち、Ｓｕｂｊｅｃｔ要素(主体条件)、Ｒｅｓｏｕｒｃｅ要素（資源条件）、Ｅｎｖｉｒｏｎｍｅｎｔ要素（環境条件）は、Ｃｏｎｄｉｔｉｏｎ要素へ移動（既にＣｏｎｄｉｔｉｏｎ要素が存在した場合は併合）し、その後Ｃｏｎｄｉｔｉｏｎ要素はプライバシー情報を含む条件式と、プライバシー情報を含まない情報のみとに分割される。なお、プライバシー情報を含む条件式と、プライバシー情報を含まない条件式（プライバシー情報を含まない情報のみを含む条件式）を逆変換、すなわち結合処理してプライバシー情報を含む元の条件式を得ることができる。プライバシー情報を含む条件式（プライバシー条件式）と、プライバシー情報を含まない条件式（非プライバシー条件式）は次に利用条件および／または属性情報記述変換部１５により、サービス提供事業者が独自のデータを定義したい場合に自由に使える領域である自由定義ファイルを場合により用いて、独自の記述形式（ＵＲＡＬ）に変換される。最後に、独自の記述形式に変換されたプライバシー条件式と非プライバシー条件式はリソース群用記憶部１６により、リソース固有書式定義ファイルを用いて、各リソースに情報を登録するための固有の書式に変換された後、ＩＣカード２、ディスプレイ３などの各リソースに記憶される。ここで、リソース固有書式定義ファイルとは例えばリソースがＩＣカードの場合、ＩＣカードとの通信に使うためのＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）の書式が記述されたファイルである。
【００２０】
図５は、ＸＡＣＭＬのＰｏｌｉｃｙ文書で記述された利用条件を独自の記述形式（ＵＲＡＬ）に変換する処理の詳細を示すフローチャートである。まず、ＸＡＣＭＬのＰｏｌｉｃｙ文書で記述された利用条件のＴａｒｇｅｔ要素（ＸＡＣＭＬで利用条件の対象となる主体、資源、環境を指定するＸＭＬの要素名）にＳｕｂｊｅｃｔ（主体）要素、Ｒｅｓｏｕｒｃｅ（資源）要素、Ｅｎｖｉｒｏｎｍｅｎｔ（環境）要素があったら、これらをａｎｙ−ｏｆ関数を用いてＣｏｎｄｉｔｉｏｎ要素へ変換（既にｃｏｎｄｉｔｉｏｎ要素が存在した場合は併合）する（ステップ２０１）。次に、Ｃｏｎｄｉｔｉｏｎ要素をルートとするＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ；ＸＭＬ文書を処理するための標準（http://www.w3.org/DOM/））ツリーに対し、以下の変換を繰り返し、ＵＲＡＬツリーを作成する（ステップ２０２）。
【００２１】
・Ｃｏｎｄｉｔｉｏｎ要素とＡｐｐｌｙ要素はそれぞれのＦｕｎｃｔｉｏｎＩＤ属性の値を名前に持つ関数ノードに変換する
・ＳｕｂｊｅｃｔＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素、ＥｎｖｉｒｏｎｍｅｎｔＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素、ＲｅｓｏｕｒｃｅＡｔｔｒｉｂｕｔｅＤｅｓｉｇｎａｔｏｒ要素は、それぞれのＡｔｔｒｉｂｕｔｅ属性の値を名前にもつ変数ノードに変換する
・ＡｔｔｒｉｂｕｔｅＳｅｌｅｃｔｏｒ要素は、ＲｅｑｕｅｓｔＣｏｎｔｅｘｔＰａｔｈ属性の値を名前にもつ変数ノードに変換する
・ＡｔｔｒｉｂｕｔｅＶａｌｕｅ要素は、コンテンツを名前としてもつ定数ノードに変換する
上記変換後のツリー（ＵＲＡＬツリー）よりプライバシー情報を含む変数を探す（ステップ２０３）。そのノードの親を辿り、直近の論理値を返す関数ノードを探す（ステップ２０４）。前記の検索された関数ノードをルートとするサブツリーを新たな独立したツリーとして生成する（ステップ２０５）。最後に、元のＵＲＬのうち、前記関数ノード以下のサブツリーを「プライバシー条件式ツリーの結果」という変数ノードで置き換える（ステップ２０６）。
【００２２】
図６はプライバシー情報を含むＸＡＣＭＬファイルの例を示している。このＸＡＣＭＬファイルは利用条件と提供条件からなっている。
【００２３】
利用条件は「現在時刻（ｃｕｒｒｅｎｔ−ｔｉｍｅ）が誕生日（ＤｏＢ＝Ｄａｔｅ  ｏｆ  Ｂｉｒｔｈ）に１８年（Ｐ１８Ｙ）足した日付よりも大きい（ｄａｔｅ−ｇｒｅａｔｅｒ−ｔｈａｎ−ｏｒ−ｅｑｕａｌ）」という条件式が記述されており、主体が１８歳以上であるか否かをチェックするものである。
【００２４】
提供条件は、図６中１９行目のコメントにも記述されているように、資源の自由領域内のｓｐｅｌｌ：ｓｉｚｅという名前を持つデータの中身を見て、資源（ここでは、ディスプレイ装置）の画面サイズが３０インチ以上であるか否かを確認している。すなわち、２１〜３０行目は、自由領域のｓｐｅｌｌ：ｓｉｚｅという名前を整数型のデータ（２５〜２８行目）の個数１つ（２２〜２３行目）だけであるかどうかをチェックしている（２１行目のｉｎｔｅｇｅｒ−ｅｑｕａｌ）。３１〜４１行目は実際のそのｓｐｅｌｌ：ｓｉｚｅという名前を持つ整数型のデータを取得して（３４〜３７行目）、それが３０（３９〜４０行目）より大きいかどうか（３１行目のｉｎｔｅｇｅｒ−ｇｒｅａｔｅｒ−ｔｈａｎ−ｏｒ−ｅｑｕａｌ）を確認している。また、２０行目のａｎｄは２１〜３０行目と３１〜４１行目が共に真であった場合のみ、２０〜４２行目全体が真と判定されることを示している。
【００２５】
図７は、図６のＸＡＣＭＬファイルにステップ２０２の処理を行ってＵＲＡＬツリーを作成した結果を示している。図８は、図７のＵＲＡＬツリーに対してステップ２０３と２０４の処理を行って、プライバシー情報を含むツリーを検索した結果を示している。
【００２６】
図９は、図８のツリーに対してステップ２０５の処理を行って作成された、プライバシー情報を含むツリー、図１０は図８のツリーにステップ２０６の処理を行って作成された、プライバシー情報を含まないツリーを示している。
【００２７】
図１１は、図９の、プライバシー情報を含む条件式ツリーを元にＸＡＣＭＬ表記に再度変換したもの（プライバシー情報を含む条件式のＳｕｂ−ＸＡＣＭＬ）を示している。
【００２８】
図１２は、図１０の、プライバシー情報を含まない条件式ツリーを元にＸＡＣＭＬ表記に再度変換したもの（プライバシー情報を含まない条件式のＳｕｂ−ＸＡＣＭＬ）を示している。
【００２９】
図１３、図１４はそれぞれ図１１のプライバシー情報を含む条件式のツリー、図１２のプライバシー情報を含まない条件式のツリーをＵＲＡＬに変換した結果を示している。ＸＡＣＭＬと１：１に対応しながらＩＣカード内の処理に適し、かつデータ量の少ない構造に変換されていることがわかる。
【００３０】
図１５は図１３のＵＲＡＬをＩＣカード内での独自のデータ命令や独自命令に合わせ最適化したものである。本実施形態で使用するＩＣカードの中では同じ変数は複数出てこないデータ構造を持つとし（誕生日（ＤｏＢ）は１人の利用者に対して１つしか存在せず、現在時刻（ｃｕｒｒｅｎｔ−ｄａｔｅ）も１つしか存在しない）、それに伴い処理コストが大きくなるｂａｇ型を扱う関数は実装せず、ｐｒｉｍｉｔｉｖｅ型のみを扱うものとする。また、それに伴い各関数の引数や返り値も全てｐｒｉｍｉｔｉｖｅ型となっており、ｂａｇ型の値からｐｒｉｍｉｔｉｖｅ型の値を得るためのｔｙｐｅ−ｏｎｅ−ａｎｄ−ｏｎｌｙ関数を削除している。この最適化によって、関数の処理が簡略化され、より高速な処理が可能であるとともに、データサイズの低減も同時に可能としている。ここで、ｐｒｉｍｉｔｉｖｅ型の値とは、１つの数値や１つの文字列といった単一の値を指すＸＡＣＭＬの用語で、ｂａｇ型の値とはこのｐｒｉｍｉｔｉｖｅ型の値を複数まとめて持つ値を指すＸＡＣＭＬの用語である。図１６は同様に、図１４のＵＲＡＬをＩＣカード内での独自のデータ命令や独自命令に合わせ最適化したものである。また、「ｔｒｕｅ」と「ｔｒｕｅ」に対し「ａｎｄ」を適用する部分式があった場合、１つの「ｔｒｕｅ」に置換するなどといった一般的な最適化もここで行う。
【００３１】
図１７は、プライバシー情報を含むツリー（プライバシー条件式）と、プライバシー情報を含まないツリー（非プライバシー条件式）のリソース（資源）への引渡しを示している。プライバシー条件式と非プライバシー条件式は利用権発行装置１によってＩＣカード２にまず格納される。そのうちのプライバシー条件式についてはＩＣカード２内で判定が行なわれた後、その判定結果を示す変数と共に非プライバシー条件式が資源３に渡される。資源３では、非プライバシー条件式を判定し、その判定結果が仲介装置４に引き渡され、最終的な判定が行なわれ、行使保証書が資源３に送られる。
【００３２】
図１８は、ＸＡＣＭＬのＰｏｌｉｃｙ文書で記述された利用条件（ポリシー）を主体条件、資源条件、環境条件に分割し、形式を変換してリソース群に記憶するまでの処理の概要図である。ＸＡＣＭＬのＰｏｌｉｃｙ文書で記述された利用条件（ポリシー）は、利用条件および／または属性情報分割部１４により、主体に関する条件を含む主体条件式と、資源に関する条件を含む資源条件式と、環境に関する条件を含む資源条件式とに分割される。すなわち、Ｓｕｂｊｅｃｔ要素（主体条件）、Ｒｅｓｏｕｒｃｅ要素（資源条件）、Ｅｎｖｉｒｏｎｍｅｎｔ要素（環境条件）は、Ｃｏｎｄｉｔｉｏｎ要素へ移動（既にＣｏｎｄｉｔｉｏｎ要素が存在した場合は併合）し、その後Ｃｏｎｄｉｔｉｏｎ要素は主体、資源、環境に関する条件式に分割される。なお、主体、資源、環境に関する条件式を逆変換、すなわち結合処理して元の利用条件を得ることができる。主体条件、資源条件、環境条件の各Ｓｕｂ−ＸＡＣＭＬは次に利用条件および／または属性情報記述変換部１５により、サービス提供事業者が独自のデータを定義したい場合に自由に使える領域である自由定義ファイルを場合により用いて、独自の記述形式（ＵＲＡＬ）に変換される。最後に、独自の記述形式に変換された主体条件、資源条件、環境条件はリソース群用記憶部１６により、リソース固有書式定義ファイルを用いて、各リソースに情報を登録するための固有の書式に変換された後、ＩＣカード２、ディスプレイ３などの各リソースに記憶される。ここで、リソース固有書式定義ファイルとは例えばリソースがＩＣカードの場合、ＩＣカードとの通信に使うためのＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）書式が記述されたファイルである。
【００３３】
図１９は、ＸＡＣＭＬで記述された利用条件を独自の記述形式（ＵＲＡＬ）に変換する処理の詳細を示すフローチャートである。まず、図５中のステップ２０１、２０２と同じ処理を行う（ステップ３０１、３０２）。上記変換後のツリー（ＵＲＡＬツリー）より主体情報を含む変数を探す（ステップ３０３）。そのノードの親を辿り、直近の論理値を返す関数ノードを探す（ステップ３０４）。前記の検索された関数ノードをルートとするサブツリーを新たな独立したツリーとして生成する（ステップ３０５）。これが主体条件式ツリーである。次に、元のＵＲＬのうち、前記関数ノード以下のサブツリーを「主体条件式ツリーの結果」という変数ノードで置き換える（ステップ３０６）。これを資源・環境条件式ツリーと呼ぶ。上記資源・環境条件式ツリーより資源情報を含む変数を探す（ステップ３０７）。そのノードの親を辿り、直近の論理値を返す関数ノードを探す（ステップ３０８）。前記の検索された関数ノードをルートとするサブツリーを新たな独立したツリーとして生成する（ステップ３０９）。これが資源条件式ツリーである。最後に、元の資源・環境条件式ツリーのうち、ステップ３０９以下のサブツリーを「資源条件式ツリーの結果」という変数ノードで置き換える（ステップ３１０）。これを環境条件式ツリーと呼ぶ。
【００３４】
図２０は，ＸＡＣＭＬで記述された属性情報（プロファイル）を主体属性、資源属性、環境属性に分割し、形式を変換してリソース群に記憶するまでの処理の概要図である。処理手順はＸＡＣＭＬのＲｅｑｕｅｓｔ  Ｃｏｎｔｅｘｔ文書のＳｕｂｊｅｃｔ要素を主体属性に、Ｒｅｓｏｕｒｃｅ要素を資源属性に、Ｅｎｖｉｒｏｎｍｅｎｔ要素を資源属性としてそのまま分割した後は、図１８の、形式を変換してリソース群に記憶するまでの処理と同様である。ただし、この場合、主体属性のみＩＣカードに記憶され、資源属性、環境属性は資源に記憶される。
【００３５】
図２１はＸＡＣＭＬのＲｅｑｕｅｓｔ  Ｃｏｎｔｅｘｔ文書で記載されたプロファイル（属性情報：利用者（主体）属性、資源属性、環境属性）のＵＲＡＬ形式への変換例を示している。ここで、「ｓｅｔ」はサービスに依存しない変数に定数を代入する関数である。「ｓｅｔ−ｆｉｅｌｄ」はサービスに依存する変数（サービス変数）に定数を代入する関数である。左下の自由定義ファイルの通りにデータを結合して「自由領域」という変数に結合後のデータを代入する。ＸＡＣＭＬファイルの下から９行目の＜ｓｐ１１：ｄａｔａｌ＞要素の内容である「ｆｏｏ」と、下から８行目の＜ｓｐ１１：ｄａｔａ２＞要素の内容である「ｂａｒ」を結合し、自由領域全体は「ｆｏｏｂａｒ」となる。
【００３６】
以上、入力される利用条件および／属性情報を記述する所定の言語がＸＭＬ、特にＸＡＣＭＬである実施形態を説明したが、本発明は、所定の言語がＸＭＬ以外の言語にも同様に適用できるものである。
【００３７】
なお、利用権発行装置１は、専用のハードウェアにより実現する以外に、その機能を実現するためのプログラムを、コンピュータ読み取りが可能な記録媒体に記録して、この記録媒体に記録されたプログラムを、利用権発行装置１となるべきコンピュータに読み込ませて実行することにより、実現するものでもよい。コンピュータ読み取りが可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取りが可能な記録媒体とは、インターネットを介してプログラムを送信する場合のように、短時間の間に、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、コンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態の利用権発行装置の構成図である。
【図２】図１の利用権行装置の全体の処理の流れを示すフローチャートである。
【図３】ＸＡＣＭＬで記述され、プライバシー情報を含む利用条件式（ポリシー）を、プライバシー情報のみを含む条件式と、プライバシー情報を含まない条件式に分割し、形式を変換してリソース群に記憶するまでの処理の概要図である。
【図４】利用条件、資源条件、環境条件の、プライバシー情報を含む条件と、プライバシーを含まない条件を示す図である。
【図５】図３において、ＸＡＣＭＬで記述された利用条件をＵＲＡＬ形式に変換する処理のフローチャートである。
【図６】プライバシー情報を含むＸＡＣＭＬファイルの例を示す図である。
【図７】図６のＸＡＣＭＬから作成された条件式ツリーを示す図である。
【図８】図７の条件式ツリーからプライバシー情報を含むツリーを検索する様子を示す図である。
【図９】プライバシー情報を含むツリーを示す図である。
【図１０】プライバシー情報を含まないツリーを示す図である。
【図１１】プライバシー情報を含む条件式のＳｕｂ−ＸＡＣＭＬを示す図である。
【図１２】プライバシー情報を含まない条件式のＳｕｂ−ＸＡＣＭＬを示す図である。
【図１３】プライバシー情報を含む条件式をＵＲＡＬに変換した図である。
【図１４】プライバシー情報を含まない条件式をＵＲＡＬに変換した図である。
【図１５】図１３のＵＲＡＬを最適化した図である。
【図１６】図１４のＵＲＡＬを最適化した図である。
【図１７】プライバシー情報を含むツリー（プライバシー条件式）と、プライバシー情報を含まないツリー（非プライバシー条件式）のリソースへの引渡しを示す図である。
【図１８】ＸＡＣＭＬで記述された利用条件（ポリシー）を主体条件、資源条件、環境条件に分割し、形式を変換してリソース群に記憶するまでの処理の概要図である。
【図１９】図１８において、ＸＡＣＭＬで記述された利用条件を独自の記述形式（ＵＲＡＬ）に変換する処理の詳細を示すフローチャートである。
【図２０】ＸＡＣＭＬで記述された属性情報（プロファイル）を主体属性、資源属性、環境属性に分割し、形式を変換してリソース群に記憶するまでの処理の概要図である。
【図２１】ＸＡＣＭＬで記載されたプロファイル（属性情報：利用者（主体）属性、資源属性、環境属性）のＵＲＡＬ形式への変換例を示す図である。
【符号の説明】
【００３９】
１  利用権発行装置
２  ＩＣカード
３  資源（ディスプレイ）
４  仲介装置
１１  利用条件／属性情報入力部
１２  利用条件／属性情報記述者チェック部
１３  利用条件／属性情報チェック部
１４  利用条件／属性情報分割部
１５  利用条件／属性情報記述変換部
１６  リソース群用記憶部
１０１−１０７、２０１−２０６、３０１−３１０  ステップ
【図１】
2006209650.tif 000003
【図２】
2006209650.tif 000004
【図３】
2006209650.tif 000005
【図４】
2006209650.tif 000006
【図５】
2006209650.tif 000007
【図６】
2006209650.tif 000008
【図７】
2006209650.tif 000009
【図８】
2006209650.tif 000010
【図９】
2006209650.tif 000011
【図１０】
2006209650.tif 000012
【図１１】
2006209650.tif 000013
【図１２】
2006209650.tif 000014
【図１３】
2006209650.tif 000015
【図１４】
2006209650.tif 000016
【図１５】
2006209650.tif 000017
【図１６】
2006209650.tif 000018
【図１７】
2006209650.tif 000019
【図１８】
2006209650.tif 000020
【図１９】
2006209650.tif 000021
【図２０】
2006209650.tif 000022
【図２１】
2006209650.tif 000023