権利を行使するコンピュータ実行方法およびシステム
【課題】 権利表現の発行において決定する信頼に基づいて権利を行使する。
【解決手段】
連鎖するサーバにより権利表現を発行し、次の権利表現における権利を発行するために、次のサーバの権利の指定を含むように、最後の権利表現を除く権利表現の各々が、サーバからサーバへ、最終的には、最後のサーバからクライアントへ発行される権利表現の連鎖を形成する。サーバの各々が権利表現を各々発行する権利を有するか否か決定し、サーバの各々が権利表現を各々発行する権利を有すると決定された場合には、信頼されるとして、最後の権利表現に表現されている権利をクライアントにより行使する。少なくとも一のサーバが権利表現を各々発行する権利を有しないと決定された場合には、信頼されないとして、最後の権利表現において表現される権利をクライアントにより行使しない。
【解決手段】
連鎖するサーバにより権利表現を発行し、次の権利表現における権利を発行するために、次のサーバの権利の指定を含むように、最後の権利表現を除く権利表現の各々が、サーバからサーバへ、最終的には、最後のサーバからクライアントへ発行される権利表現の連鎖を形成する。サーバの各々が権利表現を各々発行する権利を有するか否か決定し、サーバの各々が権利表現を各々発行する権利を有すると決定された場合には、信頼されるとして、最後の権利表現に表現されている権利をクライアントにより行使する。少なくとも一のサーバが権利表現を各々発行する権利を有しないと決定された場合には、信頼されないとして、最後の権利表現において表現される権利をクライアントにより行使しない。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、ネットワーク通信システムに関し、更に具体的には、Webサービスなどのネットワーク・サービスを許諾するシステム及び方法に関する。
【背景技術】
【0002】
最近、Webサービス技術のようなネットワーク・サービス技術が、インターネットを介して相互作用的及び自動的に様々なサービスにアクセスする機能を急速に導入しつつある。企業が、コンテンツ(例えばソフトウェア)及びサービスをネットワーク・サービスとして利用可能にするとき、無差別のアクセス及び使用をコントロールする必要性が存在する。アクセス・コントロールの一般的な方法は、アイデンティティ、又はアイデンティティに関する証明(credentials)が、サービスのプロバイダによって、ローカルで管理さ
れる一組のポリシーに対して照合される方法であった。1つの例は、ユーザがユーザ名とパスワードを入力して、Webサービスの或るリソースにアクセスすることである。このアクセス・コントロール方法は、コンピュータ・システムで広く使用され、主として「私の」サービスを、許可されない使用から保護することである。言い換えれば、サービスへのアクセスは、一般的には、もっぱら、サービスへのアクセスを要求するユーザのアイデンティティに基づいて行われる。
【0003】
アクセスを管理又は制限し、サービスを増加及び商品化する望みと共に、計算環境は単なる仲介に過ぎず、一般的には自分自身のセキュリティ・ポリシーを決定できないシナリオが存在する。そのような仲介の例は、アウトソーシング及び帯域幅管理シナリオで使用されるデバイスをホストし複製することを含む。しかし、そのような環境において、中央のセキュリティ・ポリシーを伝搬及び管理することは困難である。したがって、Webサービスのようなネットワーク・サービスを許諾するシステム及び方法の必要性が依然として存在する。
【0004】
特許文献1〜7は、本発明に関連する。
【特許文献1】米国特許第5530235号明細書
【特許文献2】米国特許第5629980号明細書
【特許文献3】米国特許第5634012号明細書
【特許文献4】米国特許第5638443号明細書
【特許文献5】米国特許第5715403号明細書
【特許文献6】米国特許第6233684号明細書
【特許文献7】米国特許第6236971号明細書
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記及び他の必要性は、Webサービスのようなネットワーク・サービスを許諾する改善されたシステム及び方法を提供する本発明の例示的実施形態によって対処される。
【課題を解決するための手段】
【0006】
したがって、例示的実施形態において、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する改善された方法が提供される。この方法は、頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定し、権利表現情報が、頒布されるネットワーク・サービスの使用の方法を表示し、頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールすることを含む。
【0007】
他の例示的実施形態によれば、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する改善されたコンピュータ・システムが提供される。このコンピュータ・システムは、頒布されるネットワーク・サービスを提供するように構成されたネットワーク・サービス・プロバイダ、頒布されるネットワーク・サービスを消費するように構成されたプロバイダのクライアント、頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定するように構成されたライセンス発行サーバ、頒布されるネットワーク・サービスの使用の方法を示す権利表現情報、及び頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールするように構成されたライセンス発行サーバを含む。
【0008】
更なる例示的実施形態によれば、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する1つ又は複数の命令から成る1つ又は複数のシーケンスを保有する改善されたコンピュータ可読メディアが提供される。1つ又は複数の命令から成る1つ又は複数のシーケンスは、1つ又は複数のプロセッサによって実行されるとき、頒布されるネットワーク・サービスの使用の方法を指定する権利表現情報であって頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定し、頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールするステップを1つ又は複数のプロセッサに実行させる命令を含む。
【0009】
更なる例示的実施形態によれば、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する改善されたシステムが提供される。このシステムは、頒布されるネットワーク・サービスの使用の方法を示す権利表現情報であって頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定する手段、及び頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールする手段を含む。
【発明を実施するための最良の形態】
【0010】
本発明の他の態様、特徴、及び利点は、本発明を実施するために想定される最良形態を含む多数の例示的実施形態及び実現形態を例示する以下の詳細な説明から容易に明らかとなる。本発明は、更に、他の異なった実施形態を使用することができ、その詳細部分は、本発明の趣旨及び範囲から全く逸脱することなく様々な点で修正可能である。したがって、図面及び説明は、限定的ではなく例示的な性質を有するものと見なされるべきである。
【0011】
本発明は、添付の図面で、限定ではなく例示として説明される。図面において、同一の参照番号は同一の要素を示す。
【0012】
ネットワーク・サービス、例えばWebサービスなどを許諾するシステム及び方法が説明される。以下の記述では説明を目的として、本発明の完全な理解を提供する多数の詳細な例が記述される。しかし、これらの詳細な例なしに、同等のもので本発明を実施できることは、当業者に明らかである。或る場合には、本発明を不必要に不明確にするのを避けるため、良く知られた構造及びデバイスはブロック図の形式で示される。
【0013】
一般的に、ここではデジタル・ライト・マネジメント(DRM)と呼ばれる技術を介して、より柔軟なアクセス・コントロール方法を開発することができる。その場合、リソースへのアクセスはライセンスによってコントロールされ、ライセンスは権利言語でエンコードされることができる。ここで説明される例示的実施形態は、好適には、ネットワーク・サービス、例えばWebサービスの許諾に関連した問題に対処するようにDRMシステム・コンポーネントを使用する。したがって、例示的実施形態は、例えば共通に譲渡された特許文献1〜7で更に説明されるように、デジタル・ライト・マネジメント・システムの認証、許可、アカウンティング、支払い及び金融決済、権利指定、権利検証、権利実施、文書保護などのコンポーネントを使用することができる。これら特許文献の全ての開示は、参照してここに組み込まれる。
【0014】
例えば、サービスの許可された使用の方法、例えば消費を指定する使用権を定義するために使用されるライセンスの形式をした権利表現の使用は、好適には、コントロール、コントロールの責任などを、コンピューティング環境からサービスの適法な所有者へ切り替える。そのような使用権は、サービスの指定された使用の方法を行使する前提要件になることができる1つ又は複数の条件、例えば支払いに関連付けられることができる。使用権を表現するためには、既定の構文及び意味を含む権利表現言語、例えば拡張可能権利マークアップ言語(XrML)を使用することができる。サービスの消費は、サービスへのアクセス又は使用、サービスの部分又はデバイスへのアクセス又は使用、サービスの結果へのアクセス又は使用、サービスのコンテンツの受信又はレンダリング、サービスのソフトウェアの実行などを含むことができる。
【0015】
上記のモデルにおいて、例示的実施形態によれば、アクセス・コントロールは、一般的に、「私の」サービスを「外部」へ展開し、同時にそのようなサービスのユーザへ、サービスへのアクセスをコントロールする権利を発行する。対照的に、アクセス・コントロールの他の方法及びシステムは、主として「私の」サービスを他者の使用から保護することに焦点を置いている。
【0016】
例示的実施形態によれば、Webサービス環境のようなネットワーク・サービス環境でDRMが使用され、ライセンス生成及びライセンス解釈などDRMシステム・コンポーネントが使用される。更に、例示的実施形態は、例えば権利言語で表現されたライセンスを介してネットワーク・サービスを許可するシステム及び方法を提供する。更に、例示的実施形態は、ネットワーク・サービス・エコシステムの様々なエンティティが、例えば、どのようにライセンスを生成、使用、処理して、クライアント、デバイス、サービスなどによるアクセスを許す許可決定に達するかに向けられている。一般的に、サービスの要求者は、サービスへのアクセスを獲得するためライセンスを提示する。
【0017】
したがって、例示的実施形態は、好適に、より多くの柔軟なビジネス・モデルを可能にする。例えば、サービスは「任意の場所」に展開されることができ、サービスへのアクセス・コントロールは、中央化集権化されて、サービスの所有者によって決定されることができる。展開の地点は、一般的には、ローカルのセキュリティ・ポリシーを確立することを心配する必要はない。なぜなら、これは不必要になるからである。更に、例示的実施形態の「分散アクセス管理」モデルは、好適には、Webサービスのようなネットワーク・サービスのシンジケート、例えば多数参加者の層を含むシンジケートへ適用可能である。
【0018】
ここで図面を参照する。同様の参照番号は幾つかの図面を通して同一又は対応する部分を示す。更に具体的には、図1を参照すると、例えばWebサービスのようなネットワーク・サービスを許諾するため、説明される例示的実施形態で使用できる例示的ネットワーク・サービス許諾システム100が示される。図1において、ネットワーク・サービス許諾システム100は、例えばWebサービス・プロバイダ101、Webサービス・クライアント103、1つ又は複数のビジネス・ネットワーク107とインタフェースするライセンス生成及び発行サービス105、ライセンス127を中継するライセンス生成・確認及び/又は解釈サービス109、状態情報115を中継する状態追跡サービス111、及びキー及び/又は証明書117を中継する信頼管轄サービス113を含む。サービス105〜111は、好適には、信頼管轄サービス113とWebサービス・プロバイダ101及びWebサービス・クライアント103との間でプラグインすることができる中間層として構成可能である。好適には、既存のWebサービス・システムを修正して、そのような中間層構成に基づいた例示的実施形態を実施することができる。
【0019】
権利言語、例えば拡張可能権利マークアップ言語(XrML)、拡張可能アクセス・コントロール・マークアップ言語(XACML)、オープン・デジタル・ライト言語(ODRL)などを使用して、例えばライセンス127の形式で、権利表現、権利表現情報などを指定することができる。しかし、ライセンス127は、任意適切な方法で指定されることができる。更に、例示的実施形態によれば、ライセンス127は、Webサービスに関連付けることのできる既定の仕様、テンプレート、プロトタイプなどに基づくことができる。したがって、ライセンス127を指定するプロセスは、権利、条件などを、Webサービスのようなサービスへのアクセスに関連付ける任意適切なプロセスを含むことができる。
【0020】
ネットワーク・サービス許諾システム100の例示的ワークフローは、Webサービス・クライアント103の環境で動作するユーザを含むことができる。クライアント103は、Webサービス・プロバイダ101のサービスにアクセスするため、ライセンス発行サービス105によってライセンス127を発行される。ユーザがWebサービス・プロバイダ101によって提供されるサービス119を使用したいと望むとき、ユーザは、発行されたライセンス127と一緒にWebサービス・プロバイダ101からサービス119を要求する(121)ことができる。料金の収集、ユーザの認証といった、関連付けられた条件(例えば、義務123)がライセンス解釈リクエスト125に基づいて満足させられ、例えばライセンス解釈サービス109及び状態追跡サービス111によって検証されたとき、ユーザは、ライセンス127で指定された使用の方法に従ってWebサービス・プロバイダ101のサービス119へのアクセスを許される。
【0021】
好適には、ライセンス127は、サービス119に関連付けられた任意適切な使用権を指定することができる。使用権の解釈及び実施は、例えば、共通に譲渡された特許文献1〜7で更に説明されている。上記のステップは、逐次に、又はほぼ同時に、又は様々な順序で起こることができる。
【0022】
図1は、一般化されたWebサービス・モデルにおける例示的参加者を示す。このモデルにおいて、サービス及び/又はコンテンツへのアクセスは、XrMLなどの権利言語で表現されたライセンスによって指定される。好適には、アクセスを定義するための権利言語の使用は、分散されたポリシー及びアクセスポイントのWebサービス・パラダイムに適合する。なぜなら、権利言語は、権利、及びそれらの権利を行使できるコンテキストの双方を捕獲することができるからである。コンテキストは、権利の行使を許可されるクライアントの情報、識別など、及び権利を行使するため満たされなければならない関連のリソース及び条件を含むことができる。
【0023】
図1の上層部及び下層部は、Webサービスを提供する一般的モデルと対比するために使用できる。一般的モデルの場合、Webサービス・プロバイダ101は、ユーザ名とパスワード及びローカルのポリシー評価のような単純なプロセスを介してアクセスをコントロールする。対照的に、例示的実施形態によれば、Webサービス・プロバイダ101によって提供されるサービス119にアクセスするプロセスを定義し、及び/又は許可を決定するため、中間層が含められる。この中間層は「権利層」と呼ぶことができる。
【0024】
好適には、サービス119への許可の決定、認証、アカウンティングなどに関連するタスクは、中間層で提供される専門サービスによって管理され、例えばアウトソーシングされ、処理される。このようにして、Webサービス・プロバイダ101は、サービス119のビジネス論理に専念し、同時に、よりモノリシックなeコマース・モデルで一般的に使用される他の活動、例えば支払いの処理、顧客データベースの保全をアウトソーシングする贅沢さを享受することができる。したがって、Webサービス・プロバイダ101は、Webサービス・クライアント103によって提示されたライセンス127の形式をした権利表現を処理し、どのようなサービスを提供し、そのようなサービスをどのように提供するかを決定する。例示的実施形態によれば、ライセンスの解釈、アカウンティング部分になることができる状態情報の追跡(例えば、サービス119が何回レンダリングされたか)は、第三者のプロバイダへアウトソーシングすることができる。
【0025】
こうして、例示的実施形態は、例えば、ライセンス127の生成を介して、サービス119へのアクセスの許可を提供する。対照的に、他のWebサービス・システム及び方法は、一般的には、クライアントのアイデンティティを記憶し、ユーザ名とパスワードのような証明書を要求することによって、アクセスをコントロールする。しかし、例示的実施形態において、そのような証明書はライセンス127の形式で増強される。ライセンス127の発行は、権利層によって達成され得るが、Webサービス・プロバイダ101によって実行されるプロセスを含むことができる。権利層は、ビジネス・ネットワーク107、例えばサービス119を購入し、現在、顧客ベースがサービス119へアクセスすることを許しているパートナーを含むことができる。したがって、Webサービス・プロバイダ101とビジネス協定を有する者は、更なる例示的実施形態に従ってライセンス127を発行することができる。
【0026】
Webサービス・クライアント103とWebサービス・プロバイダ101との交信は、様々なメカニズム及びトランザクション、例えばサービスのリクエスト、金融トランザクション、サービス119のレンダリングなどを含むことができる。例えば、Webサービス・クライアント103は、Webサービス・プロバイダ101とコンタクトして、或るタイプのサービス119を要求することができる。サービス119へのアクセスは、更に、様々なトランザクション、例えばコードのアクセス、レンダリング、実行、データの返送、支払いの収集などを含むことができる。したがって、サービス119へのアクセスは、Webサービス・クライアント103とWebサービス・プロバイダ101との間の任意適切な交信及び/又は結果を含むことができる。
【0027】
ネットワーク・サービス許諾システム100は、例示的性質を有し、多くの他のものとして実現されることができる。例えば、発行サービス105がライセンス127を発行する前に、支払いトランザクションを処理し、支払いを検証する決済機関(図示されていない)を使用することができる。更に、更なる例示的実施形態に従って、例えば、オンライン及び/又はオフライン環境及び/又はこれらの組み合わせを介して様々なプロセス及びトランザクションを実行することができる。したがって、ネットワーク・サービス許諾システム100の様々なデバイス及び/又はコンポーネントは、相互に直接通信することができるが、直接通信する必要はなく、任意適切な方法、例えば、ネットワーク・サービス許諾システム100の様々なデバイス及び/又はコンポーネントの間でメディアを物理的に移動させることによって、情報を交換することができる。
【0028】
図1のネットワーク・サービス許諾システム100のデバイス及びサブシステムは、例えば、1つ又は複数の通信ネットワーク(図示されていない)を介して通信することができ、例示的実施形態のプロセスを実行できる任意適切なサーバ、ワークステーション、パーソナル・コンピュータ(PC)、ラップトップ・コンピュータ、PDA、インターネット機器、セットトップボックス、モデム、ハンドヘルド・デバイス、電話、携帯電話、ワイヤレス・デバイス、他のデバイスなどを含むことができる。デバイス及びサブシステムは、任意適切なプロトコルを使用して相互に通信することができ、例えば汎用コンピュータ・システムを使用して実現されることができる。ネットワーク・サービス許諾システム100の中で、例えばインターネット・アクセス、任意適切な形式の電気通信、例えば音声、モデム、ワイヤレス通信メディアを含む1つ又は複数のインタフェース・メカニズムを使用することができる。したがって、そのような通信ネットワークは、例えば、ワイヤレス通信ネットワーク、携帯電話通信ネットワーク、衛星通信ネットワーク、公衆電話回線網(PSTN)、パケット・データ・ネットワーク(PDN)、インターネット、イントラネットなどを含むことができる。更に、そのような通信ネットワークは、同一又は異なったネットワークであることができる。
【0029】
前述したように、図1のネットワーク・サービス許諾システム100は、例示の目的を有することを理解すべきである。なぜなら、例示的実施形態を実現するために使用される特定のハードウェアは、多くの変形が可能だからである。例えば、ネットワーク・サービス許諾システム100のデバイス及びサブシステムの機能は、1つ又は複数のプログラムされたコンピュータ・システム又はデバイスを介して実現されることができる。そのような変形及び他の変形を実現するため、単一のコンピュータ・システムをプログラムして、ネットワーク・サービス許諾システム100の1つ又は複数のデバイス及びサブシステムの特定目的の機能を実行することができる。他方では、2つ以上のプログラムされたコンピュータ・システム又はデバイスを、ネットワーク・サービス許諾システム100のデバイス及びサブシステムの任意の1つと取り替えることができる。したがって、分散処理、例えば冗長性、複製などの原理及び利点を所望のように実現して、例えばネットワーク・サービス許諾システム100のロバストネス及びパフォーマンスを増加することができる。
【0030】
ネットワーク・サービス許諾システム100のコンポーネント、例えば、ライセンス127、Webサービス・プロバイダ101、Webサービス・クライアント103、ライセンス生成及び/又は発行サービス105、ライセンス確認及び/又は解釈サービス109、状態追跡サービス111、及び信頼管轄サービス113を、様々な実施形態に従って、これから更に説明する。
【0031】
例示的実施形態において、例えば、ライセンス127は、XrML機能などの権利言語ベースの機能を基本とすることができる。Webサービス・クライアント103がサービス119を要求するとき、Webサービス・クライアント103はライセンス127をWebサービス・プロバイダ101へ提示することができる。例えば、ライセンス127は、サービス119のようなサービスのレンダリング、サービスの使用の方法などを支配する権利及び条件を伝えることができる。更に、例えば、ライセンス127は、サービス・クライアント103とWebサービス・プロバイダ101との間のトランザクションが起こるコンテキストを伝えることができる。
【0032】
したがって、ライセンス127は、例えば、サービス119、サービス119の一部分、ライセンス127が付与された本人、付与される権利、サービス119をアクセスできる条件、Webサービス・プロバイダ101及び/又はWebサービス・クライアント103が、サービス119の保護されたリソースへのアクセスを許す間に実行しなければならない義務、信頼ドメイン、例えばライセンス127の発行者及び/又はライセンス127が発行された管轄を含む情報、署名及び/又は暗号メカニズムのようなセキュリティ・メカニズムを使用又は利用する情報、ネットワーク・サービス許諾システム100によって必須及び/又は任意に使用される他の好適な情報を伝えることができる。
【0033】
例えばXrMLで書かれた例示的ライセンス127が下記に示される。このライセンスは、例えばWebサービス・プロバイダ101によって提供されるサービス119、「www.foo.com/quoteService」にアクセスする権利であって、他のキー値によって表された発行者によって特定の暗号鍵の保持者、例えば本人へ付与された権利を伝える。
【0034】
<license>
<grant>
<keyholder>
…
</keyholder>
<ws:execute/>
<serviceReference>
<foo:location uri=www.foo.com/quoteService/)
</serviceReference>
</grant>
<issuer>
<dsig:keyValue>
…
</dsig:keyValue>
</license>
サービス119のIDは、ライセンス127の中にエンコードされることができる。そのようなエンコーディングは、ライセンス127が問題のサービス119を参照することを示すために使用されることができる。更に、問題のサービス119の任意適切な詳細IDを指定することができる。例えば、ライセンス127は、サービス119の一部分、サービス119によって露出される或るアプリケーション・プログラミング・インタフェース(API)に関連していることを記述することができる。代替的に、ライセンス127は、更に、サービスのセットを含むサービス119を識別することができる。例えば、サービス119は、「www.foo.comから生じる任意のサービス」として記述されることがで
きる。更に、識別されたサービス119は、上記のモデルの任意適切な組み合わせを含むことができる。
【0035】
ライセンス127で指定された本人は、サービス119の要求者、例えば、Webサービス・クライアント103のようなサービス119のユーザのアイデンティティを検証するために使用されることができる。したがって、本人は、サービス119の要求者を認証するために使用されることができる。一般的には、要求者はリクエスト121の時点で或る形式の証明書を提示する必要があるかもしれない。そのような証明書は、例えば、ライセンス127で指定された本人のアイデンティティを検証することができる。提示される証明書は、キー、セキュリティ・トークンなどを含む様々なメカニズム、例えばデジタル証明書を使用することができる。
【0036】
様々な方法によって、本人の指定、識別などを行うことができる。例えば、本人は、特定の本人、例えば暗号鍵の保持者であることができる。本人は、更に、「誰でも」、例えば「世界の誰でも」として指定されることができる。本人は、更に、本人の集合のメンバー、例えば「ABC社のメンバーであるクライアント」として指定されることができる。こうして、本人がどのように指定されるかに依存して、1つ又は複数の証明書を使用して本人のアイデンティティを、例えば、完全に解決し、照合することができる。証明書を照合するプロセスは、例えば、ライセンスで指定された本人を認証するために使用できる従来の、独自の、又は新規の、任意適切な技術を含むことができる。
【0037】
ライセンス127に指定された権利は、付与又は許可された「作業」、即ち、例えば、本人のような付与の受取人が、Webサービスのようなサービス119に行使できる使用の方法であることができる。そのような作業は、様々な形態、例えば「Webサービスの情報にアクセスすること」、「Webサービスに存在するソフトウェアを実行すること」、「Webサービスによって生成されたデータをリトリーブすること」であってよい。
【0038】
ライセンス127は、サービス119にアクセスする権利に関連付けられた1つ又は複数の条件を含むことができる。条件は、ライセンス127に指定されることができ、使用の方法を行使するため満足されられる必要があるかもしれない。例えば、条件は、有効期間のような時間的条件、サービスにアクセスできる回数のような数量的条件、支払い条件、トランザクションを追跡及び記録させるアカウンティング条件を含むことができる。こうして、条件は、権利を行使する前、間、後に満足させられる任意適切な制限、パラメータ、義務、状態などを含むことができる。
【0039】
ライセンス127に指定できる信頼ドメインは、ライセンス127の発行者のアイデンティティに関連することができる。例えば、Webサービス・プロバイダ101がWebサービス・クライアント103からライセンス127を受け取るとき、Webサービス・プロバイダ101は、ライセンス127に含まれた情報を信頼できるか否かを決定しなければならない。例示的実施形態において、ライセンス127を発行したエンティティは、ライセンス127の発行者によって識別されることができる。
【0040】
ライセンス127は、ライセンス127に含まれた情報を保護するため、例えばセキュリティ技術を使用することができる。例えば、Webサービス・プロバイダ101は、ライセンスの発行者を信頼できるか否か、ライセンスが改竄されていないか否かなどを決定するメカニズムを使用することができる。こうして、デジタル署名技術などを使用して、ライセンス127の完全性を保証することができ、暗号化技術などを使用して、ライセンス127の或る情報を秘密に保つことができる。
【0041】
図2は、例示的実施形態に従ってネットワーク・サービス許諾システム100のWebサービス・プロバイダ101とWebサービス・クライアント103との間で行われる例示的交信の略図である。図2で示されるように、Webサービス・クライアント103がサービス119のリクエスト121を行ったとき、例えば、クライアント103はライセンス127をWebサービス・プロバイダ101へ伝達、送信することができる。次に、Webサービス・プロバイダ101は、ライセンス127で指定された権利、条件などに基づいてサービス119をレンダリングすることができる。例えば、Webサービス・クライアント103とWebサービス・プロバイダ101は、ライセンス127を交渉及び/又は提出するプロセスを含むライセンス・プロトコルに基づいて、サービス・リクエスト121を含むデータ・ストリームの中でライセンス127を送信することを事前に協定することができる。
【0042】
例示的実施形態によれば、Webサービス・プロバイダ101は、一般的には、サービス119の提供に焦点を絞る。更に、例示的実施形態で提案されるように、許可及び/又は商業関連タスクは他の場所で管理できるので、支払いの管理、顧客データベースの保全などの仕事を削除することができる。好適には、これによって、Webサービス・プロバイダ101は、サービス119の提供に、より効率的に専念することができる。
【0043】
Webサービス・プロバイダ101は、更に、サービス・リクエスト121を処理することができる。サービス・リクエスト121を処理するメカニズムは、独自のメカニズム、シンプル・オブジェクト・アクセス・プロトコル(SOAP)のような標準メカニズム、Webサービス記述言語(WSDL)、他のメッセージング・プロトコルなどを含む。しかし、サービス・リクエストを解決及び/又は処理できる任意適切なメカニズムを使用することができる。
【0044】
更に、Webサービス・プロバイダ101は、ライセンス・プロトコルを使用することができる。そのようなプロトコルは、例えば、任意適切な開放型又は独占許諾メカニズム、ライセンス127をリクエスト121に埋め込む事前協定、ライセンス127を取得するサイトへ要求者を送る必要があるか否かを、ライセンス127のために決定するプロトコルを含むことができる。
【0045】
こうして、Webサービス・プロバイダ101は、サービス119へのアクセスを獲得するためWebサービス・クライアント103によって伝達されたライセンス127を消費及び/又は受け入れる。ライセンス127を信頼できることを決定した後、Webサービス・プロバイダ101は、例えば、ライセンス127に指定された権利及び/又は条件に基づいて、サービス119をレンダリングすることができる。ライセンス127が無効であるか信頼できないと考えられる場合、Webサービス・プロバイダ101は、例えば、サービス119を提供及び/又はレンダリングしないで、例えば、サービス119へのアクセスが否定されることを示すエラー・メッセージを生成することができる。更に、Webサービス・プロバイダ101は、ライセンス127の条件として、義務を満足させなければならないかもしれない。この義務は、状態の追跡のようにサービス119のレンダリングから生じ、ライセンス127で指定することができる。
【0046】
例示的実施形態によれば、Webサービス・クライアント103は、一般的には、サービス119の消費者デバイス、即ちユーザ・デバイスである。Webサービス・クライアント103は、例えば手作業のプロセスを介するか、様々な技術、例えばユニバーサル・ディスクリプション、ディスカバリー&インテグレーション(UDDI)レジストリ、WSDL定義などを介してサービス119へアクセスする方法を決定することができる。Webサービス・クライアント103は、サービス119にアクセスするため、サービス・リクエスト121の時点又は異なった時点に、ライセンス127をWebサービス・プロバイダ101へ、例えば提示、伝達、送信することができる。
【0047】
更に、Webサービス・クライアント103は、サービス119にアクセスするためライセンス127を使用できることに気付くことができる。言い換えれば、Webサービス・クライアント103は、例えば、サービス119へのアクセスがライセンス127の所有を伴うことを理解し、どこでライセンス127を獲得するかを知る。そのようなプロセスは、ライセンス・プロトコルによって達成されることができる。その場合、サービス119へのリクエスト121の後に、サービス119へのアクセスを獲得するためにはライセンス127のような或る証明書が使用されることを示す応答が続く。そのような処理は、例えば、協定のような手作業のプロセスによって達成されることができる。その場合、Webサービス・プロバイダ101は、Webサービス・クライアント103へ、例えばサービス119へのアクセスにライセンスが使用されることを通知する。こうして、Webサービス・クライアント103は、Webサービス・プロバイダ101がライセンス127を受け入れた後、例えばコードを実行し、コンテンツをレンダリングして、サービス119を消費する。
【0048】
例示的実施形態において、Webサービス・プロバイダ101は、更に、Webサービス・クライアントであることができる。例えば、Webサービス・プロバイダ101が他のWebサービスのクライアントであるときである。こうして、例示的実施形態の動作モードは、そのように限定されず、むしろ例示的実施形態の他の可能な置換を含む。更なる例示的実施形態において、例えば、Webサービス・クライアント103は、第三者を使用してライセンス127を提示し、ライセンス127の提示者はサービス119の消費者である必要はない。この例示的実施形態において、Webサービス・クライアント103は、例えば、ライセンス127を第三者から提示できることを示す追加情報を提供することができる。
【0049】
例示的実施形態は、「権利ライフサイクル」と呼ばれる権利のライフサイクルを含むことができる。例えば、権利ライフサイクルは、或る権利及び/又は条件を或るリソース、例えばサービス119に関連付けるために使用できるライセンス127の作成と共に始まることができる。次に、ライセンス127は、Webサービス・クライアント103へ発行されることができ、次にWebサービス・クライアント103は、ライセンス127を使用してサービス119を取得する。最終的に、ライセンス127は、例えば、サービス119のレンダリングの間にWebサービス・プロバイダ101によって消費され、権利ライフサイクルが終了する。
【0050】
一般的なDRMシステムにおいて、ライセンスの発行は、一般的には、単一及び/又は中央集権化されたエンティティによってコントロールされる。そのようなエンティティは、一般的には、ライセンスを発行する計算タスクに責任を有する。計算タスクは、ライセンスの作成、ライセンスの確認、ライセンスへの署名、及びライセンスのリカバリを含むことができる。同様に、一般的なアクセス・コントロール・システムでは、セキュリティ・ポリシーを規定及び管理する中央集権エンティティによって許可が強制される。対照的に、例示的実施形態では、ライセンス127の生成は、ライセンス127の発行から論理的に分離されることができる。一般的には、ライセンス127の生成は、ライセンス127の作成、例えばXrMLファイルの作成、要素の構成、ライセンスをデータベースへ記憶することなどの計算機能を含む。ライセンスの発行は、ライセンス127で付与される権利の実際の許可であることができる。この許可は、例えば、ライセンス127へデジタル的に署名すること、及び/又はライセンス127で伝達される権利が発行者によって許可されたことを立証することを含む。
【0051】
例示的実施形態によれば、ライセンス生成サービス105、生成タスクなどは、データのバックアップ、ライセンスのバージョン・コントロール、アップグレード、ライセンスの撤回などの追加サービスを提供することができる。好適には、そのようなサービスは、ライセンス127の生成プロセスによって付加された価値へ更なる価値を付加することができる。
【0052】
ライセンス127を生成及び発行するタスクは、単一のアプリケーション及び/又はシステムによって実行されることができる。しかし、ライセンス127の生成管轄とライセンス127の発行管轄との分離は、好適には、様々な例示的ビジネス実施形態をサポートする。例えば、このアプローチによって、ビジネス・エンティティは、ライセンス127の生成のデータ集中部分をアウトソーシングし、ライセンス127の署名及び発行管轄部分に専念するオプションを有する。このアプローチによって、好適には、これから説明するように、異なったビジネス・エンティティのためにライセンス127を生成及び発行できる単一サービスが可能となる。
【0053】
図3は、例示的実施形態に従って、ネットワーク・サービス許諾システム100の1つ又は複数のビジネス・ネットワーク107とライセンス発行及び/又は生成サービス105との間で行われる例示的交信の略図である。図3において、ライセンス127を発行する管轄は、ライセンス127を発行するライセンス305(「配布」ライセンスと呼ばれる)の形式で伝達されることができる。したがって、配布ライセンス305は、1つ又は複数のライセンス127を発行する権利を付与する。配布ライセンス305は、更に、例えば、付与されることのできる使用の方法、及びライセンス生成サービス105が発行できるライセンス127の最大数などの条件を指定することができる。配布ライセンス305は、更に、ライセンス127の発行者がライセンス127を発行する管轄を有することを立証するために使用されることができ、発行者の署名は認識されないが配布ライセンス305の発行者の署名が認識されるときに参照されることができる。
【0054】
言い換えれば、配布ライセンス305の存在は信頼モデルを確立する。その場合、ライセンス127の中の署名は、例えば、ライセンス127の解釈の間に、署名が認識、信頼されるまで、配布の連鎖を遡ってチェックされることができる。そのようなモデルは、サービスの所有者が、例えば、或る契約又はビジネス協定の後、ライセンスをビジネス・パートナーへ発行する権利をライセンスの形式で付与することができる例示的実施形態へ良好に適合する。
【0055】
例えば、ライセンスを生成及び発行する例示的ワークフローは、ビジネス・パートナー301(ビジネス・エンティティA)及びビジネス・パートナー303(ビジネス・エンティティB)を含むことができる。この例において、ビジネス・エンティティAはWebサービスを所有及び稼働し、ビジネス・エンティティBは、製品ラインの一部分としてWebサービスをバンドルすることを望んでいる。したがって、ビジネス・エンティティAは、配布ライセンス305をビジネス・エンティティBへ発行し、Webサービス・クライアント103のようなビジネス・エンティティBの顧客へ、例えば、ビジネス・エンティティAによって提供されるWebサービスにアクセスするためのライセンス127を発行する権利を付与する。ビジネス・エンティティBは、例えば、ライセンス発行サービス105を利用してライセンス127を生成することによってライセンス127を顧客へ発行する。Webサービス・クライアント103が、ビジネス・エンティティAによって提供されるWebサービスにアクセスするとき、ライセンス127が提示され、Webサービスは、ビジネス・エンティティBがそのようなライセンス127を発行する権利を付与されたことを認識することによって、ライセンス127の管轄をチェックすることができる。
【0056】
したがって、ライセンス生成サービス105は、リクエスト307に基づき、例えば、署名のないライセンス309、配布ライセンス305、及び/又はライセンス127などを生成し、スキーマ確認などを含む計算プロセスを実行することができる。更に、ライセンス生成サービス105は、サービス・リクエスト307、例えばライセンス127、305、及び/又は309のリクエストを処理する一般的インタフェースを提供することができる。ライセンス生成サービス105は、一般的には、ライセンス127に署名しないが、別の例示的実施形態によれば、ライセンス生成サービス105は、ライセンス127の発行者、例えばビジネス・エンティティBのためにライセンス127に署名することができる。更に、ライセンス生成サービス105は、例えば、発行されたライセンスのバックアップ、ライセンスの再発行、レポート機能などのデータ管理機能を提供することができる。
【0057】
図4は、例示的実施形態に従って、ネットワーク・サービス許諾システム100のWebサービス・プロバイダ101とライセンス解釈サービス109との間で行われる例示的交信の略図である。例えば、サービス119を消費するため、Webサービス・プロバイダ101のコードを実行し、暗号化及び/又は保護されたWebサービス・プロバイダ101のコンテンツをレンダリングするため、ライセンス127を確認し、次に、解釈リクエスト125に基づいて解釈し、ライセンスで指定された権利、条件、例えば義務123が、そのような作業を許すか否かを決定することができる。ライセンス127を確認及び/又は解釈する能力は、Webサービス・プロバイダ101及び/又はレンダリング・アプリケーションへ組み込まれることができる。しかし、更なる例示的実施形態によれば、そのような能力は、Webサービス・プロバイダ101及び/又はレンダリング・アプリケーションから分離されることができ、ライセンス解釈サービス109のようなサービスによって提供されることができる。
【0058】
こうして、例示的実施形態によれば、ライセンス127はライセンス解釈サービス109によって確認され、次に解釈される。しかし、更なる例示的実施形態によれば、このプロセスは逆順で実行されることができる。その場合、解釈は、後の確認ステップに依存して実行されることができる。
【0059】
ライセンス解釈サービス109は、ライセンス127を解釈するタスクのために使用することができる。ライセンス解釈サービス109は、ライセンス解釈サービス105のライセンス生成モデルに対応する。それによって、Webサービス・プロバイダ101は、サービス119の提供に直接関連していない計算タスクをオフロードすることができる。そのように動作するWebサービス・プロバイダ101は、ライセンス127を解釈するタスクをライセンス解釈サービス105へオフロードすることができ、好適には、サービス119の構築に専念することができる。ライセンス127の解釈中に、図4で示されるように、可能性として他のサービス401を使用することができる。例えば、サービス401は、本人を認証し、遠隔サービスに記憶された情報、例えば信頼されるタイムクロックをリトリーブするためにコンタクトされることができる。
【0060】
図5は、例示的実施形態に従って、ネットワーク・サービス許諾システム100のWebサービス・プロバイダ101、ライセンス解釈サービス109、及び状態追跡サービス111の間で行われる例示的交信の略図である。図5では、ライセンス127の解釈段階501の間、及び権利の行使段階503の間の、状態追跡サービス111の使用が示されている。
【0061】
ライセンス127の解釈及び/又は権利の行使は、ライセンス127の外部に記憶された情報を含むことができる。例えば、ライセンス127の条件は、Webサービス・プロバイダ101によって提供されたリソースにアクセスできる回数が制限されることである。したがって、そのような条件を含むライセンス127の解釈中に、更なるアクセス権を付与できるか否かを正確且つ信頼性をもって解釈するため、リソースが既にアクセスされた回数に関する情報をリトリーブしなければならない。
【0062】
そのような情報は状態情報115と呼ぶことができ、状態情報115の追跡は「状態追跡」と呼ぶことができる。状態情報115は、様々なタイプの情報、例えばライセンス127の状況、リソースが使用された回数、サービス119の支払い、サービス119、ライセンス127、及び/又は条件が発行、アクセス、消費、提示された日時に関する情報を含むことができる。したがって、状態情報115は、ネットワーク・サービス許諾システム100などに関する任意適切な情報を含むことができる。
【0063】
状態情報115は、固定記憶域、例えばデータベース、メモリ、サービスに存在及び/又は記録されることができる。例えば、サービス119がWebサービス・クライアント103によってアクセスされた回数のような状態情報115は、ネットワーク・サービス許諾システム100の或る固定記憶域に記録されることができる。更に、前述したように、ライセンス127の解釈は、権利の行使を許す間に満たされなければならない義務123を生じるかもしれない。
【0064】
状態情報115の追跡は、例えばWebサービス・プロバイダ101によってローカルで実現されることができるが、これはWebサービス・プロバイダ101に対して追加の負担を作り出すかもしれない。更に、Webサービス・プロバイダ101によるローカル追跡は実行するのに困難であるかもしれない。なぜなら、Webサービス・プロバイダ101は、状態情報115のローカル記憶場所を備えることができないかもしれないからである。好適には、状態追跡サービス111は、Webサービス・プロバイダ101による状態情報の追跡に関連する前記及び他の問題に対処する。例えば、追跡サービス111をどこで参照するか、権利の条件に関連した状態情報115をどこで管理できるかなどを指定するため、前述した権利言語を使用することができる。こうして、例えば、ライセンス127で指定することのできる状態情報115を追跡、提供するため、状態追跡サービス111を使用することができる。
【0065】
信頼管轄サービス113は、例示的実施形態の様々なエンティティのために、例えば、信頼関係を確立、管理する要素及び/又はサービスを含むことができる。例えば、信頼管轄サービス113は、ライセンス127の署名に使用できるデジタル信用証明書、デジタル証明書及び/又は暗号鍵117を発行する証明書管轄(CA)機能を含むことができる。したがって、信頼管轄サービス113は、例えば、会社の公開鍵基盤(PKI)、PKI及び/又はセキュリティプロバイダによって提供されるサービス、ビジネス・パートナーの間の信頼関係を確立するために使用される分離サービスを含むことができる。
【0066】
したがって、例示的実施形態によれば、信頼管轄サービス113は、例えば本人を識別するために使用されるデジタル証明書117を発行する機能を含むことができる。例示的デジタル証明書117は、例えば、X509デジタル証明書、マイクロソフト・パスポート、ケルベロス認証トークンを含むことができる。前述したタイプの証明書117は、保持者のアイデンティティを指定及び/又は証明するために使用可能であるが、一般的には、保持者に関する少量の追加情報を伝達する。なぜなら、そのような追加情報の大部分は、一般的には、固定フォーマットで提供され、及び/又は暗示されるからである。例えば、パスポート保持者は、一般的には、マイクロソフト・パスポート・サービスで認証された単なる誰かであるからである。
【0067】
したがって、例えば、本人の役割、本人のメンバーシップ関係を表現するため、より表現的及び/又はロバストな方法で、例えば本人のアイデンティティに関する追加情報を付加する必要性が存在する。例えば、本人の役割、本人のメンバーシップ関係を表現するため、また更なる例示的実施形態に従って、前述した権利言語を好適に使用して、より表現的な方法で証明書を伝達するために使用できる証明書117を定義することができる。次に、証明書117を使用して、ビジネス・サークルにおけるメンバーシップ、ビジネス環境における関係などの追加特性を保持者に関連付けることができる。
【0068】
一般的には、証明書管轄は、デジタル証明書に含まれる情報の真正性を立証することができる。デジタル証明書の情報の範囲を、例えば会社の名前のように制限することができれば、証明書管轄の機能を良好に定義することができる。例えば、証明書管轄は、デジタル証明書を発行する前に、会社の名前をチェックするための確立されたプロセスを有する。しかし、前述したように、証明書がより表現的になると、証明書管轄が証明書情報の真正性を立証することは困難になる。例えば、証明書が或るメンバーシップ情報を含むならば、証明書管轄は、そのようなメンバーシップを確認する追加プロセスを確立する必要がある。
【0069】
したがって、一般的な証明書管轄は、一般的には、そのような追加情報を検証することができない。一般的には、証明書の証明書管轄、署名者などは、証明書が使用されるシステムになることができる。この例示的実施形態において、信頼モデルは、よりオープンでなくなり、よりモノリシックになる。なぜなら、例えば、システムは一般的にシステムを信頼できるからである。よりオープンなシステム、例えば提携サービスのビジネス・ネットワークの中で、より多くの表現的情報を有する証明書を使用するため、信頼管轄113を好適に使用して、証明書117に含まれる追加情報を立証することができる。例示的実施形態によれば、証明書管轄は、前述した必要性を満たすために構成されることができる。しかし、「信頼仲介者」、例えば例示的実施形態の信頼管轄サービス113を好適に使用して、前記及び他の問題に対処し、前述した追加情報を検証するためには、証明書管轄を使用することができる。
【0070】
証明書117と全く同じように、ライセンスは、例えば暗号化手法を介して署名及び/又は検証されることができる。ライセンス127の署名の検証は、例えば、ライセンス127の完全性、署名者、例えばライセンス127の発行者の真正性を立証するために使用されることができる。しかし、一般的には、検証者がライセンス127の発行を許可しない限り、そのような検証は、例えばライセンス127が適切な許可を受けて発行されたことを信頼させる「権利の信頼」を確立しない。これは、前述したように、ライセンス127の確認とライセンス127の解釈との差である。
【0071】
例えば、会社Bは会社AへライセンスB’を発行し、会社Bの代わりにライセンスA’を発行する権利を会社Aに付与する。次に、会社AはユーザXへライセンスA’を発行し、ユーザXは、会社Bの保護されたリソースにアクセスするライセンスA’を会社Bへ提示する。この例示的実施形態において、会社BはライセンスB’を発行したので、会社Bによってデフォルトで信頼されるライセンスB’へ遡って、ライセンスA’の信頼をトレースすることができる。
【0072】
ここで、会社Cも、ライセンスA’を受け入れて会社Cの保護されたリソースにアクセスする場合を考える。ライセンスA’を信頼するため、会社Cは、会社Aからのライセンスを信頼するか、会社CのためにライセンスA’を発行する権利を有するライセンスC’を会社Aへ発行するかを決定しなければならない。ネットワークが大きくなるにつれて、許可ライセンスB’、C’などの各々を全てのライセンスA’に添付しなければならない。
【0073】
上記の場合、そのようなライセンスA’の迅速な処理は、面倒になり、及び/又は実際的でなくなる。しかし、例示的実施形態によれば、例えば、例示的実施形態の信頼管轄サービス113が、「信頼仲介者」として会社間の取引を好適に仲介し、それ自身の署名でライセンスを発行することができる。この例示的実施形態において、ライセンス127の解釈プロセスの間、信頼管轄サービス113の署名を信頼することができる。
【0074】
Webサービス・クライアント103が、例えば、サービス119をイニシエートしたり、要求するとき、Webサービス・クライアント103は、例えば、メッセージング・プロトコルの一部分としてライセンス127を送信することができる。好適には、例示的実施形態に従って、サービス119のイニシエート時点でライセンス127を送信するための情報は、例えば、Webサイトの上で文書を読むことによって、前もって提供されることができる。
【0075】
Webサービス・クライアント103が、例えばサービス119をイニシエートしたり、要求するとき、Webサービス・クライアント103は、例えば、メッセージング・プロトコルの一部分としてライセンス127を送信することができる。例示的実施形態によれば、サービス119のイニシエート時点でライセンス127を送信するための情報は、例えばWebサイトの上で文書を読むことによって、前もって提供されることができるが、プロトコルが必要であり、ライセンス127の必要性はメッセージング・メカニズムを介して伝えられることができる。更に説明されるように、好適には、更なる例示的実施形態に従って、そのようなプロトコルが提供される。例えば、ライセンス127を含むサービス119をイニシエートするときの例示的実施形態を、これから説明する。
【0076】
図6は、図1のネットワーク・サービス許諾システム100において、サービス119をイニシエートするためにライセンス127がメッセージ121に含まれることを、Webサービス・クライアント103が知っているときの例示的ワークフローを示す。例えば、図6のステップ601で示されるように、そのような情報は、様々なメカニズム、例えばWebサイト、eメール、ファックス、電話で情報を取得することによって取得されることができる。ステップ603において、例えば、ライセンス127は、サービス119のリクエスト・メッセージ121の一部分としてエンコードされることができる。ステップ605で、メッセージ121はWebサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、例えば手作業で、又は自動的に、メッセージ121の中でエンコードされ、SOAPヘッダ、これから更に説明される例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0077】
図7は、図1のネットワーク・サービス許諾システム100において、サービス119をイニシエートするためライセンス127がメッセージ121に含まれることを、Webサービス・クライアント103が、例えば、UDDIベースのサービス発見サーバ707に記憶されたWSDLファイルのようなサービス記述言語ファイル709を介して知るときの例示的ワークフローを示す。図7で示されるように、ステップ701において、例えば、WSDLファイル709が、手作業で、又は自動的に、UDDIサーバ707からリトリーブされる。ステップ703において、例えば、サービス119のリクエスト・メッセージ121の一部分として、ライセンス127をエンコードすることができる。メッセージ121は、ステップ705でWebサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、手作業で、又は自動的に、メッセージ121の中でエンコードされることができ、SOAPヘッダ、これから更に説明する例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0078】
図8は、図1のネットワーク・サービス許諾システム100のライセンス生成サービス105からライセンス127を取得できることを、Webサービス・クライアント103が、例えば、UDDIベースのサービス発見サーバ707に記憶されたWSDLファイルのようなサービス記述言語ファイル709を介して知るときの例示的ワークフローを示す。図8で示されるように、ステップ801において、例えば、Webサービス・クライアント103におけるユーザは、UDDIサーバ707からWSDLファイル709を手作業で、又は自動的に検索する。WSDLファイル709のサービス記述は、ライセンス生成サービス105のようなサービスへの参照を含む。ライセンス生成サービス105を使用して、サービス119のライセンス127を発行することができる。ステップ803において、Webサービス・クライアント103のユーザは、例えば、ライセンス生成サービス105をイニシエートする。
【0079】
ステップ805において、例えば、ライセンス127の料金の支払いのような条件を満足させた後、Webサービス・クライアント103は、ライセンス生成サービス105から手作業で、又は自動的に、ライセンス127を取得する。ステップ807で、Webサービス・クライアント103のユーザは、例えば、サービス119のリクエスト・メッセージ121の一部分としてライセンス127をエンコードする。次に、メッセージ121は、Webサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、手作業で、又は自動的に、メッセージ121の中へエンコードされることができ、SOAPヘッダ、これから更に説明される例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0080】
図9は、図1のネットワーク・サービス許諾システム100において、サービス119へのアクセスを獲得するためライセンス127が使用されることを、Webサービス・クライアント103が知らないときの例示的ワークフローを示す。図9で示されるように、ステップ901で、例えば、Webサービス・クライアント103は、ライセンス127を含まないサービス119のリクエスト・メッセージ121を介してWebサービス・プロバイダ101からサービス119を呼び出し、及び/又は要求しようと試みる。ステップ903で、Webサービス・プロバイダ101は、サービス119のリクエスト・メッセージ121を処理し、サービス119のリクエスト・メッセージ121がライセンス127を含まないことを決定する。ステップ905で、Webサービス・プロバイダ101は、例えば、エラー・メッセージ907を送信する。エラー・メッセージ907は、Webサービス・プロバイダ101のサービス119へのアクセスを獲得するため、ライセンス127が使用されることを表示する。この時点で、Webサービス・クライアント103は、例えば、前述した図6〜図8の方法を使用して、これから更に説明されるようにライセンス127を取得しようと試みることができる。例示的実施形態によれば、メッセージ907及び121は、SOAPヘッダ、これから更に説明する例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0081】
図10は、図1のネットワーク・サービス許諾システム100において、Webサービス・クライアント103が、ライセンス127なしでサービス119へのアクセスを獲得しようと試み、図9で示されるようにライセンス127が使用されることを通知され、図8で説明された方法を使用してサービス119へのアクセスを獲得するためのライセンス127を取得するときの例示的ワークフローを示す。しかし、ライセンス127を取得するためには、任意適切なライセンス取得方法、例えば図6〜図8の方法を使用することができる。
【0082】
したがって、図10で示されるように、ステップ1001で、例えば、Webサービス・クライアント103は、ライセンス127を含まないサービス119のリクエスト・メッセージ121を介して、Webサービス・プロバイダ101からのサービス119を呼び出し、及び/又は要求しようと試みる。ステップ1003で、Webサービス・プロバイダ101は、サービス119のリクエスト・メッセージ121を処理し、サービス119のリクエスト・メッセージ121がライセンス127を含まないことを決定する。ステップ1005で、Webサービス・プロバイダ101は、例えば、エラー・メッセージ907を送信する。エラー・メッセージ907は、Webサービス・プロバイダ101のサービス119へのアクセスを獲得するためにはライセンス127が使用されることを示す。
【0083】
次に、Webサービス・クライアント103は、サービス119のライセンス127を発行するために使用できるライセンス生成サービス105を決定する。ステップ1007で、Webサービス・クライアント103のユーザは、例えば、ライセンス生成サービス105をイニシエートする。ステップ1009で、例えば、ライセンス127の料金の支払いのような条件を満足させた後、Webサービス・クライアント103は、ライセンス生成サービス105からライセンス127を手作業で、又は自動的に取得する。ステップ1011で、Webサービス・クライアント103のユーザは、例えば、サービス119のリクエスト・メッセージ121の一部分としてライセンス127をエンコードする。次にメッセージ121はWebサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、例えば手作業で、又は自動的に、メッセージ121の中でエンコードされることができ、SOAPヘッダ、これから更に説明される例示的実施形態のメッセージング・プロトコルを含むメッセージング・プロトコルなどを使用することができる。
【0084】
例示的実施形態によれば、ライセンス127の生成とライセンス127の発行との間で、管轄の分離が提供される。例えば、ライセンス127の発行は、ライセンス127の発行者がライセンス127の中で権利を許可したことを意味する。好適には、そのような管轄の分離は、例えば以下の例示的ワークフローで示されるように、様々な例示的実施形態を提供する。
【0085】
図11は、図1のネットワーク・サービス許諾システム100において、企業1111が、サービスへのアクセスを獲得するためライセンス127の生成をアウトソーシングするときの例示的ワークフローを示す。図11の例示的ワークフローは、例えば、ここで説明された例示的実施形態と組み合わせて使用されることができる。図11において、ビジネス・エンティティB303のような企業1111は、例示的実施形態に従って、ライセンス生成サービス105のようなサービスへライセンス127の生成をアウトソーシングすることができる。好適には、このようにして、ライセンス127の生成タスクに関連したリソースは、企業1111のために解放されることができる。
【0086】
アクセスの許可が望まれ、ライセンス127を生成できる企業1111のサービスは、例えば、企業1111によって所有されるサービス、企業1111のビジネス・パートナーによって所有されるサービス、Webサービス・プロバイダ101によって提供されるサービス119などを含むことができる。ライセンス127の付与を許可するタスク、例えばライセンス127の発行は、ライセンス署名メカニズム1115を介してライセンス127へデジタル的に署名することを含むことができ、企業1111へ残ることができる。この例示的実施形態において、例えば、企業1111が問題のサービスを所有しているときのように暗黙的に、又は他のビジネス・エンティティのためにライセンス127を発行する権利を企業1111へ付与する頒布ライセンス305を介して明示的に、企業1111はライセンス127を発行する許可を有するであろう。
【0087】
したがって、ステップ1101で、例えば、Webサービス・クライアント103のような1つ又は複数のクライアント及び/又はエンドユーザ1113は、企業1111からライセンス127を要求することができる。企業1111が、リクエストされたライセンス127をクライアント及び/又はエンドユーザ1113へ発行することを決定すれば、ステップ1103で、例えば、企業1111は、ライセンス生成サービス105から署名のないライセンスを要求する。更なる例示的実施形態において、企業1111は、そのような署名のないライセンスのリクエストを行うことができる。なぜなら、例えば、企業1111は、広告目的、販売促進目的などのために、ライセンス127をクライアントへ「プッシュ」することを望んでよいからである。企業1111は、ライセンス生成サービス105と交信し、ここで説明される例示的実施形態のライセンス・プロトコルのような任意適切なメッセージング・プロトコルを使用して、署名のないライセンスのリクエストを行うことができる。
【0088】
ステップ1105では、例えば、ライセンス生成サービス105は、署名のないライセンスのリクエストを処理し、ここで説明される例示的実施形態のライセンス生成手法のような任意適切なライセンス生成手法を使用して、署名のないライセンスを作成し、署名のないライセンスを企業1111へ引き渡す。例えば、企業1111は、ステップ1107ではライセンスに署名し、ステップ1109では署名されたライセンス127をクライアント及び/又はエンドユーザ1113へ引き渡し、送信し、伝達し、発行する。
【0089】
企業1111がライセンスの生成及び署名をアウトソーシングする例示的ワークフローは、図11のワークフローと類似しているが、ライセンス生成サービス105が署名のないライセンスの署名を実行して、ライセンス127を生成できることが異なっている。この例示的実施形態において、ライセンス生成サービス105は、例えば、企業1111のために「代理人」署名者として構成されることができる。ライセンス生成サービス105は、例えば、企業1111のために署名のないライセンスに署名するために使用される署名キーを保護することができる。したがって、発行参加者は企業1111であるが、ライセンス生成サービス105は企業111の代理人として働くことができる。ライセンス生成サービス105は署名キーを保全し、保護するので、ライセンス127の要求者は、好適には、サービスのスプーフィングを防止するために認証されることができる。
【0090】
図12は、図1のネットワーク・サービス許諾システム100において、複数の企業1111が、サービスへのアクセスを獲得するためライセンス127の生成をアウトソーシングするときの例示的ワークフローを示す。図12の例示的ワークフローは、例えば、ここで説明される例示的実施形態と組み合わせて使用されることができる。図12で示されるように、ライセンス生成サービス105の観点から見て、好適には、ライセンス生成サービス105は、ステップ1103のライセンス・リクエスト・サービス、ステップ1105のライセンス引き渡しサービスを、複数の企業1111へ提供することができる。この例示的実施形態において、企業1111の各々は、例えば、対応するアカウントを関連付けられ、ライセンス生成サービス105は、複数の企業1111のために発行されたライセンス127をアカウントごとに管理するように構成されることができる。
【0091】
ライセンス生成サービス105は、例示的実施形態のライセンスを生成する任意適切な方法を利用することができる。このような方法は、これから説明するような例示的方法を含む。これらの例示的方法は、好適には、ライセンス127、頒布ライセンス305などの様々なタイプのライセンスを生成するために使用されることができる。
【0092】
図13は、ライセンス・テンプレート1301に基づくライセンス生成の例示的方法を示す。この例示的方法は、図1のネットワーク・サービス許諾システム100で使用されることができる。図13で示されるように、この例示的方法において、ライセンス生成サービス105は、例えば、ローカル・ライセンス・テンプレート1301及びライセンス生成ポリシー1303を管理する。テンプレート1301は、ライセンスを生成するためポリシー1303のもとで使用される。テンプレート1301及びポリシー1303は、アウトソーシング型の協定でライセンス生成サービス105を利用できるエンティティのような許可エンティティの合意のもとで作成されることができる。
【0093】
ライセンス・テンプレート1301は、例えば、既定のライセンスを含むことができる。ライセンスが生成されるとき、既定のライセンスの1つ又は複数のフィールドが、例えば、置換、充填される。例えば、ライセンス・テンプレート1301は、本人が定義されていないで特定の本人によって置換されるライセンス・テンプレート、サービス119のようなリソースが定義されていないで、ライセンス生成の時点で特定のリソースによって置換されるライセンス・テンプレートを含むことができる。
【0094】
ライセンス生成ポリシー1303は、例えば、リクエストに基づいて、どのテンプレートを使用するかを決定する規則を含むことができる。例えば、ポリシーは、「特定のリソースを含むライセンスへの全てのリクエストは、テンプレート123を使用すること」、「会社ABCからの全てのリクエストは、テンプレートID456を使用し、リクエストで送信された本人で、本人を解決/置換すること」のような規則を含むことができる。
【0095】
したがって、ライセンス生成サービス105へ送信されたライセンス・リクエスト・メッセージ1305は、例えば、本人のID/キー、リソースID、テンプレートIDなどのパラメータ1307を含むことができ、それらに基づいて対応するライセンスを生成することができる。パラメータ1307の指定は、例えば、手作業で配列されるか、自動的に配列されるか、前もってサービスのWSDL記述の中に体系化されるか、前もって決定されることができる。
【0096】
図14は、許可ライセンス1401に基づいてライセンスを生成する例示的方法を示す。この方法は、図1のネットワーク・サービス許諾システム100で使用されることができる。この例示的方法において、ライセンス生成サービス105は、リクエスト1305と一緒に、ライセンスの発行を許可する許可ライセンス1401を受け取る。許可ライセンス1401は、発行される付与を含む。したがって、許可ライセンス1401は、例えば、ライセンス・プロトタイプ、レシピなどを含むことができる。この方法では、一般的に、ローカル・テンプレートを使用する必要がある。なぜなら、許可ライセンス1401の中でテンプレートを規定できるからである。レシピをエンコードして許可ライセンス1401の中に付与を生成できるXrMLのような権利言語を使用して、この方法を使用することができる。
【0097】
したがって、ライセンス生成サービス105へ送信されたライセンス・リクエスト・メッセージ1305は、例えば、本人のID/キー、リソースIDなどのパラメータ1307を含み、それらに基づいて対応するライセンスを生成することができる。パラメータ1307の詳細は、例えば、手作業で用意されるか、自動的に用意されるか、前もってサービスのWSDL記述で体系化されるか、前もって決定されることができる。
【0098】
この例示的実施形態の方法は、図13の例示的方法よりも柔軟性を提供することができる。例えば、ライセンスを作成するための命令、レシピ、ライセンス・プロトタイプなどを送信することによって、好適に、ライセンス生成サービス105は、ライセンス・テンプレート1301で規定されたライセンスだけでなく、様々なタイプのライセンスを生成することができる。更に、ライセンス生成サービス105は、例えば、リクエスト1305と一緒に送信された許可ライセンス1401を評価及び/又は解釈することによって、ライセンスの発行が許可されているか否かを決定することができる。
【0099】
ライセンス・プロトタイプは、例えば、許可ライセンス1401の一部分である付与を、ライセンスを発行する付与の中に含めることができる。こうして、ライセンス・プロトタイプは、例えば、付与を含むことができ、その付与から最終の付与を作成することができる。そのような付与は、許可ライセンス1401に含まれるライセンスを発行する権利に関連付けられる。
【0100】
図15は、例えば、XrML言語などの権利言語のコンテキストの中で、ライセンス・プロトタイプ1503に基づくライセンス127を生成する例示的方法を示す。この方法は、図1のネットワーク・サービス許諾システム100の中に存在することができる。図15で示されるように、到着するリクエスト1305は、ゼロ又はそれより多い変数「X」を有するライセンス・プロトタイプ1503を含む許可ライセンス1401を含む。ステップ1501で、例えば、ライセンス生成サービス105は、リクエスト1305を処理して、結果のライセンス127を生成する。この生成は、ライセンス・プロトタイプ1503を使用し、発行されたライセンス1501からの情報1507でライセンス・プロトタイプ1503からの変数を解決することによって行われる。
【0101】
図16は、最初からライセンスを生成する例示的方法を示す。この方法は、図1のネットワーク・サービス許諾システム100で使用することができる。図16において、ライセンスを生成する他の例示的方法は、例えば、「最初」からライセンスを生成することを含む。この例示的方法において、ライセンス生成サービス105は、一般的には、ライセンス・テンプレート1301及び/又は許可ライセンス1401に依存しない。その代わりに、ライセンス生成サービス105は、ライセンス生成のリクエスト1305と一緒に受け取られた詳細パラメータ1601の形式で受け取られる命令を採って、それから特注ライセンスを生成する。この例示的方法によって、ライセンス生成サービス105は、適切な詳細パラメータ1601に基づいて様々なタイプのライセンス、権利表現などを生成することができる。しかし、この例示的方法によって生成できるライセンスを超えるライセンス・タイプの豊富さは、プログラミング及び/又はメッセージングに使用されるAPI、基礎にあるソフトウェアの能力などに依存することができる。したがって、この例示的方法において、使用されるプログラミング及び/又はメッセージング・インタフェースは、完全な特注ライセンスを構成するために必要な詳細パラメータ1601に含まれる情報を送信できるように、十分詳細に構成されることができる。例えば、そのような情報は、本人に関する情報、リソースに関する情報、権利に関する情報、条件に関する情報などを含むことができ、これらの情報はライセンスを構成するために使用可能である。
【0102】
ライセンス127、頒布ライセンス305などのライセンスの解釈は、例えば、どのような権利がライセンスで付与されたか、あるとすれば、どのような条件がそのような付与に関連付けられているかなどの決定を含むことができる。例示的実施形態において、ライセンスの確認に関連するプロセスは、ライセンスの解釈タスクとバンドルされ、関連付けられ、関連させられることができる。しかし、更なる例示的実施形態によれば、ライセンス確認プロセスは、ライセンス解釈プロセスから分離されることができる。
【0103】
図17は、ライセンスを確認する例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。ライセンス127、配布ライセンス305などのライセンスの確認は、その語句が暗示するように、例えば、ライセンスが「有効」であるか否かを決定することを含む。この決定は、一般的には、暗号化手法を使用することを含む。例示的実施形態において、ライセンス確認及び解釈サービス109は、ライセンス確認プロセスを実行することができる。
【0104】
したがって、図17のステップ1701において、例えば、ライセンスが確認のために受け取られる。例示的実施形態において、受け取られたライセンスは、例えば、その内容を秘密に維持するため暗号化されることができる。したがって、ステップ1703のライセンスの解読では、例えば、ライセンスを解読することができる。しかし、ステップ1717で決定されるように、ライセンスが暗号化されていなければ、例えば、ステップ1703のプロセスをバイパスすることができる。更に、ステップ1713で決定されるように、受け取られたライセンスの解読プロセスが失敗すれば、ステップ1715において、例えば、ライセンスを無効と考えることができる。例示的実施形態において、使用される暗号化及び/又は解読プロセスは、非対称暗号化手法、対称暗号化手法、公開鍵暗号化手法、秘密鍵暗号化手法などに基づいて実行されることができる。
【0105】
ステップ1705の署名検証及び/又は完全性チェックにおいて、例えば、ライセンスの完全性をチェックすることができる。このチェックは、ライセンスの完全性を決定して、許可された発行者によってライセンスが、例えば作成され、デジタル的に署名されたときから、ライセンスが変更されていないことを保証することを含む。しかし、ステップ1719で決定されるように、ライセンスが署名されていなければ、例えば、ステップ1705のプロセスをバイパスすることができる。更に、ステップ1713で決定されるように、ライセンスの検証プロセスが失敗すれば、ステップ1715で、例えば、ライセンスを無効と考えることができる。
【0106】
完全性チェックに失敗したライセンスは信頼されなくてもよいが、完全性チェックを通過したライセンスは、ライセンスの署名に使用されたキーの信頼性テストを必要とするかもしれない。一般的には、ライセンスの署名者はライセンスの発行者である。例示的実施形態において、発行者の信頼性テストは、ライセンス解釈プロセスの一部分であることができ、ステップ1705の検証プロセスは、更に、非対称暗号化手法、対称暗号化手法、公開鍵暗号化手法、秘密鍵暗号化手法などに基づいて実行されることができる。
【0107】
ステップ1707のライセンス撤回チェックにおいて、例えば、デジタル証明書などのデジタル的に署名された文書と同じく、ライセンスも様々な理由で撤回されることができる。しかし、ステップ1721で決定されるように、ライセンスが撤回されなければ、例えば、ステップ1707のプロセスをバイパスすることができる。更に、ステップ1713で決定されるように、ライセンスの撤回チェックが失敗すれば、ステップ1715で、例えばライセンスを無効と考えることができる。例示的実施形態において、ライセンス撤回ステップは、例えば、適切な方法、チャネルなどを介して、ライセンスが撤回されたか否かを決定することができる。更に、例示的実施形態において、撤回されたライセンスはもはや有効ではなく、権利の付与を許可するために使用されることはできない。
【0108】
ステップ1709の他の確認において、例えば、ライセンスに対して他の有効性チェックを実行することができる。ステップ1711で使用されるように、ライセンスが他の有効性チェックにパスすれば、ステップ1711で、例えば、ライセンスは有効であると考えることができる。同様に、ステップ1723で決定されるように、他の有効性チェックが使用されなければ、例えば、ステップ1709のプロセスをバイパスすることができ、ステップ1711で、例えば、ライセンスは有効と考えられる。更に、ステップ1713で決定されるように、ライセンスに対する他の有効性チェックが失敗すれば、ステップ1715で、例えば、ライセンスを無効と考えることができる。例示的実施形態において、ライセンスは、有効期間、ライセンスの特定の発行者などのライセンスの有効性を立証する追加情報を含むことができ、期限が切れたライセンスはもはや有効とは考えられない。
【0109】
ステップ1707及び1709のプロセスは、ライセンスの中の情報を決定することを含む。これは、例示的実施形態によれば、確認プロセスの一部分としてライセンスの中を見ることを伴う。なぜなら、そのようなステップは、ライセンスの有効性に緊密に関係しているからである。しかし、更なる例示的実施形態によれば、そのようなステップは、計算の観点からライセンス解釈プロセスの一部分と考えられる。
【0110】
図18は、ライセンスを解釈し状態を追跡する例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。ライセンス127、頒布ライセンス305などのライセンスの解釈は、例えば、ライセンスが実際に何を許可したか、及びそのような許可の条件などを決定することを含む。例示的実施形態において、これから説明するように、ライセンスの解釈は、サービスとして実現されることができる。その場合、ライセンス確認及び解釈サービス109などが、ライセンス解釈プロセスを実行することができる。しかし、更なる例示的実施形態によれば、ライセンス・インタープリターは、例えば、ライセンスを解釈することのできる任意適切なコンポーネント、デバイス、システム、サブシステム、メカニズム、ソフトウェアなどを含むことができる。
【0111】
例示的実施形態によれば、Webサービス・プロバイダ101は、Webサービス・クライアント103からライセンス127と一緒にサービス119へのリクエスト121を受け取ると、ライセンス127を確認して、例えば、ライセンス127の完全性、真正性などを保証することができる。しかし、これから説明するように、更なる例示的実施形態によれば、Webサービス・プロバイダ101は、例えば、ライセンス127の確認タスクをライセンス解釈サービス109へオフロードすることができる。好適には、ライセンス解釈サービス109は、外部撤回メカニズムを保全及び/又は照査して、例えば、ライセンス127に関連付けられた署名がライセンス127の使用時点で有効か否かを決定し、Webサービス・プロバイダ101のために、そのようなリソース及びタスクを解放することができる。
【0112】
したがって、図18のステップ1801において、例えば、Webサービス・プロバイダ101は、ライセンス解釈リクエスト125を行い、ライセンス127をライセンス解釈サービス109へ送信することができる。Webサービス・プロバイダ101は、例えば、そのようなクエリーの交換を許す任意適切な通信プロトコルを介して、リクエスト1
27を渡すことができる。ライセンス127の解釈は、サービス119へのリクエスト121が許可されるか否か、そのような許可は、あるとすれば、どのような条件で付与されるかなどを決定することを含む。こうして、そのようなクエリーは、例えば、「要求者XはリソースYへのアクセスを許可されるか」のような形式である。
【0113】
ライセンス127の解釈は、更に、例えば、Webサービス・プロバイダ101によって信頼される発行者が、ライセンス127を許可したか否かを決定することを含む。しかし、Webサービス・プロバイダ101が、ライセンス127の発行者を認識しないか、信頼することができなければ、ライセンス127の発行を発行者に許可するライセンス、例えば頒布ライセンス305を更にチェックすることができる。
【0114】
ステップ1807において、例えば、ライセンス解釈プロセスの結果は、ライセンス解釈サービス109からWebサービス・プロバイダ101への応答を含むことができる。この応答は、ライセンス127、配布ライセンス305などのライセンスで付与されてリクエストされた作業、サービスへのアクセスなどが、許可されているか否かを示す。ライセンス解釈サービス109からの肯定応答を仮定し、義務123のような更なる条件は使用されないと仮定すると、ステップ1809で、例えば、Webサービス・プロバイダは、サービス119のようなサービスを、Webサービス・クライアント103のようなクライアントへ提供することができる。
【0115】
更に、Webサービス・プロバイダ101が、例えば、サービス119を供給する条件として実行しなければならないゼロ又はそれより多い義務123が、ライセンス127で指定されたそのような条件を評価するライセンス解釈サービス109から生じることがある。例えば、義務123は、Webサービス・プロバイダ101がサービス119へのアクセスを記録すること、サービス119のレンダリングにタイムリミットを課すことを含む。例示的実施形態のステップ1811において、例えば、ライセンス解釈サービス109は、更に、ライセンス127及び/又は配布ライセンス305で指定された他のサービスを使用することができる。そのような他のサービスとして、例えば、状態追跡サービス111などの他のサービスからカウント、制限値など含む状態情報115をリトリーブするサービスがある。
【0116】
こうして、例示的実施形態によれば、ライセンス127、配布ライセンス305などのライセンスを使用して、図1のネットワーク・サービス許諾システム100のサービス、システム、サブシステム、コンポーネント、デバイスなどの他のサービス、エンティティのために、ロケーション情報などの情報を指定することができる。更に、例示的実施形態のライセンス解釈ワークフローは、ここで説明される例示的ライセンス解釈プロトコルなどの任意適切なライセンス解釈プロトコルを使用することができる。
【0117】
前述したように、ライセンス解釈サービス109は、ライセンス127、配布ライセンス305などのライセンスを解釈するプロセスで、状態追跡サービス111などの状態追跡サービスに記憶することのできる状態情報115などの状態情報を使用することができる。状態情報115を取得するためのロケーション、プロトコルなどは、例えば、UDDI、WSDLなどのWebサービス及び/又は言語に基づいてライセンスの中にエンコードされることができる。ライセンスを確認することによって、ライセンス解釈サービス109は、ライセンスに指定されたリンク、参照などが、状態追跡サービス111などの許可されたサービスへ向けられたものであることを保証することができる。したがって、ステップ1803において、例えば、ライセンス解釈サービス109は、状態追跡のリクエストを状態追跡サービス111へ送信する。
【0118】
しかし、状態追跡サービス111は、要求しているエンティティ、例えばライセンス解釈サービス109が認証されることを保証しなければならない。例示的実施形態において、任意適切な方法、例えば、ライセンス127、配布ライセンス305などのライセンスを提示することによって、ライセンス解釈サービス109を認証することができる。次に、ステップ1805において、例えば、状態追跡サービス111は、リクエストされた状態情報115をライセンス解釈サービス109へ提供する。例示的実施形態において、ここで説明される例示的プロトコルのような任意適切なプロトコルを使用して、状態情報115を転送することができ、その転送は、例えば、セキュア・ソケット・レイヤ(SSL)技術などの安全な伝送インターネット技術を介して行うことができる。
【0119】
次に、ライセンス解釈サービス109は、ステップ1807で、例えばライセンスの解釈を完了するため、状態追跡サービス111から受け取られた状態情報115を使用することができる。例示的実施形態において、状態情報115は、例えば、サービス119がアクセスされた回数、支払いレコード、タイムスパンなどを含むことができる。
【0120】
前述したように、ライセンス解釈サービス109は、更にステップ1807で、例えば、義務123などを含む解釈情報をWebサービス・プロバイダ101へ送ることができる。義務123が満足させられると、ステップ1809で、例えば、Webサービス・クライアント103は、Webサービス・プロバイダ101のサービス119へアクセスすることなどの、ライセンス127に含まれた権利を行使することができる。
【0121】
しかし、前述したように、Webサービス・クライアント103がWebサービス・プロバイダ101のサービス119を使用することは、更新された状態情報115の転送のようにWebサービス・プロバイダ101によって満たされなければならない義務を伴う。したがって、ステップ1811で、例えば、Webサービス・プロバイダ101は、状態追跡サービス111とのコンタクトを確立して、更新された状態情報115などを転送する。更新された状態情報115を状態追跡サービス111へ転送するためのロケーション、プロトコルなどは、例えば、UDDI、WSDLなどのWebサービス及び/又は言語に基づいてライセンスの中にエンコードされることができる。
【0122】
ライセンスを確認することによって、Webサービス・プロバイダ101は、ライセンスの中で指定されたリンク、参照などが、状態追跡サービス111のような許可されたサービスへ向けられていることを保証することができる。しかし、状態追跡サービス111は、Webサービス・プロバイダ101のような要求しているエンティティが認証可能であることを保証しなければならない。例示的実施形態において、任意適切な方法、例えば、ライセンス127,配布ライセンス305などのライセンスを提示することによって、Webサービス・プロバイダ101を認証することができる。確認、保証、義務などが満足させられると、ステップ1811で、例えば、Webサービス・プロバイダ101は、更新された状態情報115を状態追跡サービス111へ転送することができる。
【0123】
説明された実施形態の例示的ワークフローをサポートするため、ここで説明される例示的ライセンス・プロトコルのような任意適切なメッセージング・プロトコルを使用して、ワークフローに関連付けられたメッセージ、例えば、ライセンスが使用されなければならないことを示すメッセージ、ライセンスを要求するメッセージ、ライセンスが有効であることを示すメッセージ、ライセンスが無効であることを示すメッセージなどをエンコードすることができる。例示的ライセンス・プロトコルは、例えば、XrML、XMLなどを使用してエンコードされることができ、例えば、Webサービス・クライアントとWebサービス・プロバイダ101との間で送られるメッセージに含ませることができる。
【0124】
例えば、XMLを使用し、SOAPのメッセージング・フレームワークを使用するライセンス・プロトコルの例示的実施形態は、表1に示される。例示的実施形態において、メッセージの処理中に<fault>エレメントを介して障害を表示するようなSOAPエレメントは、SOAP仕様に従って使用されることができる。
【0125】
【0126】
表2で示される例示的ライセンス解釈プロトコルは、例えば、ライセンス・プロトコルの一部分であることができる。ライセンス解釈プロトコルは、明瞭にするため別々に説明される。Webサービス・プロバイダ101は、例えば、ライセンス解釈サービス109を呼び出すとき、ライセンス解釈プロトコルを使用することができる。ライセンス・プロトコルと同じように、ライセンス解釈プロトコルは、SOAPのようなメッセージング交換プロトコルを使用して、XrMLメッセージ、XMLメッセージなどを送信するように実現されることができる。表2は、XMLがSOAPのメッセージング・フレームワーク及び権利言語XrMLを使用する例示的ライセンス解釈プロトコルを示す。
【0127】
【0128】
例示的実施形態において、状態追跡プロトコルは、状態追跡サービス111のようなサービスとの間で、状態情報115のような情報を、例えばリトリーブ、転送するために使用できる任意適切なプロトコル、例えば、公的、私的、独自、又は標準プロトコル、及びここで説明される例示的プロトコルを含むことができる。したがって、状態追跡プロトコルは、サービス119のようなサービスが、何回行使されたかのカウントをリトリーブして、行使カウントを送り、行使カウントを記憶するためなどに使用することができる。
【0129】
更に、支払い情報、時間情報などの或るタイプの情報の交換は、他の企業によってプロトコルの中で既に標準化されているかもしれない。そのような場合、更なる例示的実施形態に従って、そのような標準化プロトコルを状態追跡プロトコルの中に入れることができる。更に、更なる例示的実施形態に従って、状態追跡サービス111の専門化、実現化などに依存するプロトコルを使用してよい。例えば、状態追跡サービスがデータベースを含むならば、情報のリトリーブ及び記憶は、データベース・クエリー・メカニズムを介して実行可能である。
【0130】
図1のネットワーク・サービス許諾システム100の例示的実施形態によってサポートされる例示的使用のシナリオ、ビジネス・アプリケーションなどを、これから説明する。
【0131】
図19は、図1のネットワーク・サービス許諾システム100で使用できるライセンスを指定する例示的ワークフローを示す。この例において、例えば例示的実施形態のライセンス生成105及び解釈109サービスに基づくWebベースのライセンス生成及び解釈サービス1907のようなサービスは、ライセンス127及び/又は配布ライセンス305などのライセンスを生成するための権利指定、権利解釈などを可能にする。例示的実施形態によれば、ライセンス生成及び解釈サービス1907は、権利クリアリング・サービス、デジタル資産マネジメント・システム、デジタル・ライト・マネジメント・システムなどのビルディング・ブロックとして使用されることができる。
【0132】
例示的実施形態におけるライセンス生成及び解釈・サービス1907は、例えば、グラフィカル・ユーザ・インタフェース(GUI)などのユーザ・インタフェースを提供すること、XrMLなどの権利言語に基づいて、ユーザ入力をライセンスのような権利表現へ変換することを含む。更なる例示的実施形態に従ったライセンス生成及び解釈サービス1907は、1つ又は複数のユーザ・インタフェースであって、各々のユーザ・インタフェースが特定のフォーマット、企業などに専門化されているユーザ・インタフェースを提供することができる。例えば、ライセンス生成及び解釈サービス1907は、ビデオ・フォーマットのユーザ・インタフェース、音楽フォーマットのユーザ・インタフェース、更に電子ブックのユーザ・インタフェースを提供することができる。好適には、特定の消費者の詳細及び/又は複雑性に適合したユーザ・インタフェースの提供は、付加価値を有するライセンス生成及び解釈サービス1907の特徴となる。
【0133】
例示的実施形態によれば、ライセンス生成及び解釈サービス1907は、権利クエリーの受け入れ、対応する権利表現に対する権利クエリーの処理などを含むことができる。例えば、例示的な権利クエリーは、「会社Nの従業員であるジョン Mは、販売者Pから1000ドルの商品を購入する権利を有するか」などの形式であることができる。そのようなクエリーからの出力は、例えば、どのような権利が利用可能であるか、そのような権利へどのような条件が付加されているかなどの断定を含むことができる。ライセンス生成及び解釈サービス1907は、特定タイプの権利クエリーへのユーザ入力を容易にする1つ又は複数のユーザ・インタフェースを提供することによって、更なる価値を付加することができる。
【0134】
好適には、エンティティによって権利指定機能及び権利解釈機能の双方を提供することが、例えば、権利解釈の首尾一貫性、正確性などを増加させる。言い換えれば、権利指定を作成するシステムは、一般的には、そのような権利を解釈するとき同じ規則を適用するように装備されるのがよい。例示的実施形態において、権利表現、権利表現の定義、権利表現の解釈などは、企業標準などを含む任意適切な標準に基づくことができる。
【0135】
したがって、例示的実施形態において、創作者であるユーザ1919は、例えば、出版者との契約に関係して或るタイプのコンテンツに関連付けられた権利を指定したいと望む。ユーザ1919が使用するオーサリング・アプリケーション1909は、コンテンツのために権利のメタデータを指定する方法を提供しないが、そのような機能を提供するライセンス生成及び解釈サービス1907のようなWebサービスを呼び出すことができる。
【0136】
したがって、ステップ1901において、例えば、オーサリング・アプリケーションは、権利指定、解釈などを提供するライセンス生成及び解釈サービス1907に接続する。例えば、ライセンス生成及び解釈サービス1907は、或る産業に専門化され、その特定の産業、取引などで使用及び理解される用語、契約テンプレートなどをユーザ・インタフェースに提供することができる。ユーザ1919は、ライセンス生成及び解釈サービス1907と交信し、ステップ1903で、例えば、ライセンス生成及び解釈サービス1907は、XrMLなどに基づいて、ユーザ1919が提供する情報を、署名がないライセンスのような権利表現へ変換する。次に、署名がないライセンスは、ユーザ1919へ、例えば返却、伝達、送信され、ユーザ1919はライセンスへデジタル的に署名することができる。
【0137】
ステップ1905において、ユーザ1919は、関連付けられたコンテンツと一緒に、署名されたライセンスを、データベースなどのライセンス記憶デバイス1915を含む出版者のデジタル資産マネジメント・システム1913へ送ることができる。ここで、コンテンツは、例えば、出版者のドメインの中でデジタル資産マネジメント・システム1913によって管理されることができる。
【0138】
図20は、図1のネットワーク・サービス許諾システム100で使用できるライセンスを解釈する例示的ワークフローを示す。例えば、図20において、出版物の製作ワークフローの間に、権利スペシャリストのボブは、デジタル資産マネジメント・システム1913の特定の資産の権利を質問したいと望む。この例において、資産の権利は、例えばXrMLライセンスによってカプセル化されている。例えば、Webサービスがより専門的な能力を提供できるので、設計上ライセンスの解釈能力を有しないデジタル資産マネジメント・システム1913は、例えば、GUIのような直感的ユーザ・インタフェースを提供するライセンス生成及び解釈サービス1907にアクセスする。好適には、ライセンス生成及び解釈サービス1907は、或るタイプの契約、ライセンスなどの解釈に専門化され、特定の出版物に使用される権利を質問するようにユーザ・インタフェースを動作させる。例示的実施形態において、ライセンス生成及び解釈サービス1907は、ライセンスが記憶、組織化された索引付きデータベースを含むことができる。
【0139】
したがって、ステップ2001で、ボブは、デジタル資産マネジメント・システム1913を介して、XrMLライセンスと一緒にクエリーをライセンス生成及び解釈サービス1907へ送る。次に、ステップ2003で、例えば、ライセンス生成及び解釈サービス1907は、クエリー・リクエストに基づいてライセンスに含まれる権利を解釈し、クエリーの結果をボブへ返却する。
【0140】
ライセンス発行及び解釈サービス1907へアクセスする例示的ワークフロー
前述した例示的権利処理ワークフローは、ライセンス生成及び解釈サービス1907のようなWebサービスによって提供される機能であるが、このワークフローは、ライセンス生成及び解釈サービス1907を呼び出し、アクセスするプロセスを説明していない。例えば、例示的実施形態において、XrMLライセンスは、ライセンス生成及び解釈サービス1907のアクセスに使用されない。したがって、権利処理機能は、ライセンス生成及び解釈サービス1907などのWebサービスによって提供される一般的機能であることができ、WSDLのようなWebサービスを記述する任意適切な標準ベースの言語を使用して記述されることができる。
【0141】
しかし、多くのビジネス・シナリオにおいて、ライセンス生成及び解釈サービス1907などのサービスへのアクセスを管理することが好適になる。例えば、Webベースのライセンス発行及び解釈サービス1907の所有者であるユーザ2005は、ユーザ2005の提案を発見してサービスを使用できる任意の参加者へサービスを提供してきた。しかし、ユーザ2005のライセンス生成及び解釈サービス1907は成功し、現在、ユーザ2005はライセンス発行及び解釈サービス1907を商品化したいと望んでいる。例示的実施形態によれば、ユーザ2005は、ライセンス発行及び解釈サービス1907へeコマース能力を付加することができる。
【0142】
したがって、ユーザ2005は、例えば、ライセンス発行及び解釈サービス1907へeコマース・パッケージを付加することができる。これは、顧客アカウント処理メカニズム、金融トランザクション処理メカニズム、ログイン及びパスワード処理メカニズムなどの様々なメカニズムの作成を伴う。しかし、そのようなサービスは、サービス及びその顧客への障壁を作り出す。例えば、ログイン処理、忘却されたパスワードの処理、支払いの処理、請求金額の決定、使用される方法の決定などが煩瑣になる。
【0143】
したがって、更なる例示的実施形態によれば、ユーザ2005は、例えば、ライセンスが手作業によって、又は自動的に提示されることに基づいてアクセスが付与されるように、ライセンス発行及び解釈サービス1907を構成することができる。概念的には、そのようなシステムは、例えば、ライセンス発行及び解釈サービス1907との初期通信プロトコルの間にライセンスを提出することを含む。例示的実施形態において、ライセンス発行及び解釈サービス1907のクライアント、及びライセンス発行及び解釈サービス1907は、ここで説明される例示的ライセンス・プロトコルのような任意適切なライセンス・プロトコルに従うことができる。この例示的実施形態において、XrMLライセンスのようなライセンスは、アプリケーションがライセンス発行及び解釈サービス1907と交信するときに提示されることができる。ライセンスが有効であれば、ライセンス発行及び解釈サービス1907のサービスをレンダリングすることができる。
【0144】
図19及び図20において、アプリケーションがライセンス発行及び解釈サービス1907からサービスを要求するとき、ライセンスを提示する能力を含むように、オーサリング・アプリケーションを構成することができる。図21は、図1のネットワーク・サービス許諾システム100で使用できるサービスの消費をコントロールする例示的ワークフローを示す。図21のステップ2101において、例えば、ユーザ1919のオーサリング・アプリケーション1909は、ライセンス発行及び解釈サービス1907と通信し、サービスを要求する。ステップ2103では、例えば、初期プロトコルの間に、ライセンス発行及び解釈サービス1907のサービスにアクセスするためライセンスが提示される。次に、ステップ2105では、例えば、ライセンスが受け入れられると、ライセンス発行及び解釈サービス1907は、そのサービスをレンダリングすることができる。
【0145】
ここで、ユーザ2005は、ライセンス発行及び解釈サービス1907にアクセスするために使用されるライセンスを誰が発行するかの問題を考える。例示的実施形態によれば、ユーザ2005は、ライセンスの発行を管理するようにライセンス発行及び解釈サービス1907を構成することができる。しかし、これはシステム及びユーザ自身にとって全く厄介な問題になる。
【0146】
更に、ユーザ2005は、顧客のためにeコマース・サイト及びデータベースを開発及び保全しなければならないであろう。しかし、ユーザ2005は、顧客データベースの管理はライセンス発行及び解釈サービス1907へ価値を付加するものではないと考え、顧客データベースの保全及び/又はデータ・マイニングの経済的能力を理解しない。
【0147】
したがって、ユーザ2005は、むしろライセンス発行及び解釈サービス1907を単純に維持し、サービスの基本的能力と機能に専念できるようにする。したがって、更なる例示的実施形態によれば、例えば、信頼された第三者によって発行され、オーサリング・アプリケーション1909とバンドルされることのできるライセンスを使用するように、ユーザ2005はライセンス発行及び解釈サービス1907を構成することができる。
【0148】
図22は、第三者がライセンスを発行する例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。例えば、例示的実施形態において、ユーザ2005は、例えば、ライセンス発行及び解釈サービス1907へアクセスするライセンスを発行する権利を付与するライセンス、例えば頒布ライセンス305を、ユーザ2005のビジネス・パートナーへ発行することができる。次に、ユーザ2005のビジネス・パートナーは、ユーザ1919のようなエンドユーザへ配布ライセンスを発行することができる。
【0149】
例えば、ユーザ2005のビジネス・パートナーは、例えば、ワード・プロセッサ、画像作成ソフトウェアなどのオーサリング・アプリケーション1909を作成及び販売する会社ABC2207のような会社を含むことができる。例えば、ユーザ2005は、ステップ2203でライセンス発行及び解釈サービス1907へアクセスするライセンスを発行する権利を会社ABC2207に付与することに基づいて、ステップ2201で会社ABC2207とビジネス取引を行うことができる。次に、ステップ2205において、例えば、ライセンス発行及び解釈サービス1907にアクセスするライセンスは、会社ABC2207によって、オンデマンドで発行され、オーサリング・アプリケーション1909とバンドルされることができる。好適には、この例示的実施形態において、ユーザ2005は、ライセンス発行及び解釈サービス1907へのアクセスを、オーサリング・アプリケーション1909のような第三者のアプリケーションとバンドルすることができる。
【0150】
例示的実施形態において、ユーザ2005及び/又は会社ABCは、ライセンス生成及び発行サービス105のような第三者のサービスを使用して、例示的実施形態のライセンスを生成することができる。更に、例えば、信頼管轄サービス113のようなセキュリティ・サービスを介して、ライセンスに署名するための署名キーを取得することができる。
【0151】
例示的実施形態によれば、ユーザ2005は、eコマース・システムを実行及び管理するために使用されるリソースを付加することなく、Webベースのライセンス発行及び解釈サービス1907を商品化することができる。ユーザ2005は、例えば、XrMLライセンスのような例示的実施形態のライセンスを使用することによって、ライセンス発行及び解釈サービス1907へアクセスする条件を決定することができる。好適には、例示的実施形態によれば、ユーザ2005は、例えば顧客ベースの管理を処理する必要はない。改善されたライセンス発行及び解釈サービス1907は、例えば、ライセンス処理能力のようにWebサービス・ソフトウェアへの或る改善を伴うが、そのような変更は、完全成熟eコマース・セットアップの展開と比較すれば無視することができる。
【0152】
例示的実施形態によれば、ユーザ2005は様々な補償方法を使用することができる。このような方法は、XrMLのような権利言語で記述可能である。例えば、例示的実施形態によれば、追跡されず、ライセンスでエンコードされず、義務のない補償方法を使用することができる。この例示的補償方法では、ユーザ2005は、均一料金、使用当たりの料金などで取引を協定することができる。それによって、ユーザ2005は、例えば、ライセンス発行及び解釈サービス1907にアクセスするライセンスを発行する無制限の権利を会社ABC2207へ付与する配布ライセンスを発行することができる。会社ABC2207は、ライセンス発行及び解釈サービス1907にアクセスするライセンスの数に基づいて、ユーザ2005に補償することができる。会社ABC2207は、一回払いなどに基づいて、そのソフトウェア、例えば、オーサリング・アプリケーション1909とサービス1907とをバンドルする。この実施形態では、ユーザ2005は、例えば、ソフトウェア販売に関して会社ABC2207が収集するデータを信頼しなければならない。
【0153】
例示的実施形態によれば、追跡され、ライセンスでエンコードされ、頒布者ごとの補償方法を使用することができる。この例示的補償方法において、ユーザ2005は、例えば、会社ABC2207へ発行する頒布ライセンスの中にエンコードされる補償規則を使用することができる。例えば、ライセンス発行及び解釈サービス1907にアクセスするライセンスを発行する権利が、会社ABC2207によって行使される度に、ユーザ2005のアカウントへ或る金額が支払われるというような条件が満たされること、配布ライセンスの各々の使用が、他の手段を介して追跡及び解決されることを指定するように、頒布ライセンスを構成することができる。好適には、この例示的実施形態を使用すれば、例えば正確で信頼性のある販売情報が利用可能となる。なぜなら、正確な追跡が可能になるからである。
【0154】
例示的実施形態によれば、追跡され、ライセンスでエンコードされ、エンドユーザごとに使用される補償方法を使用することができる。この例示的補償方法では、例えば、エンドユーザ・ライセンスが会社ABC2207によって発行されるとき、或る権利、条件などが、会社ABC2207が発行するエンドユーザ・ライセンスで指定されなければならないことを、ユーザ2005が会社ABC2207へ発行する頒布ライセンスによって指定することができる。例えば、会社ABC2207によって発行されたライセンスがエンドユーザによってライセンス発行及び解釈サービス1907にアクセスするため使用されたことを追跡するべきことを、ユーザ2005が配布ライセンスで指定することができる。したがって、例えば、ユーザ2005のライセンス発行及び解釈サービス1907がユーザ1919からライセンスを受け取り、処理するとき、そのライセンスはライセンスの使用を追跡するパラメータを指定することができる。好適には、この例示的実施形態を使用して、アカウンティング期間の終わりに、支払いのためにそのようなデータを収集、処理することができる。
【0155】
例示的実施形態において、会社ABC2207は、追加サービスをバンドルすることによって、会社ABC2207が市場で競争的利点を増加することができることを認識するであろう。この例示的実施形態において、例えば、会社ABC2207は、文書翻訳サービス、多言語スペルチェック・サービス、編集ツール・サービスなどのWebサービスを他の会社から得ることができる。そして、会社ABC2207は、そのような他の会社とビジネス取引を行い、そのような追加サービスのアクセスに使用できるライセンスを含めることができる。好適には、この例示的実施形態を使用して、会社ABCは、幾つかのサービスを集成して、その製品とバンドルすることができる。
【0156】
例示的実施形態において、集成された各々のサービスについて、XrMLライセンスのような各々のライセンスを使用して個々の権利、条件などを表現することができる。例えば、WebサービスBのライセンスは無制限で使用する権利を表現され、WebサービスCのライセンスは最大10回の使用条件を表現されることができる。好適には、この例示的実施形態によれば、サービスのアクセス及び使用の規則を決定できるライセンスの使用はサービスの集成を容易にする。
【0157】
例示的実施形態によれば、ユーザ2005は、頒布ライセンスをビジネス・パートナーへ発行することができ、ビジネス・パートナーはライセンス発行及び解釈サービス1907にアクセスするライセンスをエンドユーザへ発行することができる。この例示的実施形態は、ユーザ2005のビジネス・パートナーがユーザ2005のサービスへのアクセスの頒布者になることができる単層頒布モデルを示す。
【0158】
図23は、サービスのシンジケートの例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。しかし、更なる例示的実施形態によれば、ユーザ2005は、Webベースのライセンス発行及び解釈サービス1907の詳細技術に専念し、例えば、会社ABC2207のような会社へビジネス取引をアウトソーシングすることができる。本質的にシンジケート・モデルであるこの例示的実施形態において、ユーザ2005は、シンジケート・ライセンスを、シンジケート会社2311のようなシンジケート・エージェントへ付与することができる。シンジケート・ライセンスは、ライセンス発行及び解釈サービス1907にアクセスするライセンスを発行する権利をABC会社2207に付与する頒布ライセンスを発行する権利をシンジケート会社2311に付与する。
【0159】
図1〜図23に関して説明したネットワーク・サービス許諾システム100は、ここで説明した様々なプロセスに関する情報を記憶することができる。この情報は、ネットワーク・サービス許諾システム100のデバイス及びサブシステムのハードディスク、光ディスク、磁気光学ディスク、RAMなどの1つ又は複数のメモリに記憶されることができる。図1のネットワーク・サービス許諾システム100のデバイス及びサブシステムの1つ又は複数のデータベースは、例示的実施形態を実現するために使用される情報を記憶することができる。データベースは、前述したメモリのような1つ又は複数のメモリに含まれるデータ構造、例えば、レコード、テーブル、配列、フィールド、グラフ、ツリー、リストなどを使用して組織化されることができる。
【0160】
図1〜図23に関して説明されたネットワーク・サービス許諾システム100の全体又は一部分は、例示的実施形態の教示に従ってプログラムされた1つ又は複数の汎用コンピュータ・システム、マイクロプロセッサ、デジタル・シグナル・プロセッサ、マイクロコントローラなどを使用して便利に実現されることができる。通常の知識を有するプログラマは、例示的実施形態の教示に基づいて適切なソフトウェアを容易に準備することができる。更に、ネットワーク・サービス許諾システム100は、特定用途集積回路を準備することによって実現されるか、通常のコンポーネント回路の適切なネットワークを接続することによって実現されることができる。
【0161】
本発明は、例示的ワークフローに関して説明されたが、当業者によって理解されるように、他のワークフローも可能である。例えば、サービス・イニシエーションの間、一般的には、ライセンスはサービス・リクエストの時点で提示される。しかし、ライセンスは、例えば他の時点で提示されるか格納され、更なるサービス・リクエストがライセンスの提出を伴わないようにすることも可能である。ライセンスは、「前もって提示」され、Webサービス、クライアントなどによって保持されることができる。ライセンスは、前もって提示された後、「前もって確認」されることができる。そのような場合、サービスへのアクセスがリクエストされたとき、許可された要求者からリクエストが行われたか否かが決定され、ライセンスが解釈されるであろう。
【0162】
例示的ワークフローは、ネットワーク・サービス許諾システム100の例示的デバイスに関連付けられた機能ステップとして説明されたが、当業者によって理解されるように、例示的ワークフローの1つ又は複数の機能ステップは、例示的実施形態の教示に従ってプログラムされた任意適切なデバイス、例えば1つ又は複数の汎用コンピュータ・システム、マイクロプロセッサ、デジタル・シグナル・プロセッサ、マイクロコントローラなどによって実行されることができる。
【0163】
本発明はWebサービスに関して説明されたが、当業者に明かであるように、本発明は、任意適切な頒布ネットワーク・サービスのような他のサービスに応用可能である。
【0164】
本発明は、Webサービス・モデルに関して説明されたが、当業者に明かであるように、本発明はサービスのために複製されるシンジケート・モデルのような他のモデルに応用可能である。例えば、例示的実施形態では、第三者がサービス・プロバイダからサービスを収集し、単独又は組み合わせて第三者のサービスとしてユーザへ利用可能にする。
【0165】
そのような例では、Webサービス・プロバイダ101は、シンジケート機能を提供しないか、提供できないが、サービスのために或る条件、権利などを設定することができる。したがって、この例示的実施形態は、第三者のサービス・プロバイダが、サービスの所有者のために、アクセス及び追跡サービスを第三者のサービスの使用者へ提供することを可能にする。好適には、特にコンポーネント・サービスのサービス市場は、この例示的実施形態を使用して、大きく活性化され、加速されることができる。対照的に、条件付きアクセスは、一般的には、そのような例を良好に処理することができず、及び/又は実際的ではない。
【0166】
本発明は、「オンライン」モードの動作に関して説明されたが、当業者に明らかであるように、本発明は「オフライン」モードのような他のモードの動作へ応用可能である。例えば、パーソナル・コンピュータ(PC)のハードドライブは、ライセンス生成ソフトウェア、ライセンス、及びライセンス解釈ソフトウェアを含むことができる。例示的実施形態の通信プロトコルは、この例では、ハードドライブの中の通信に使用されることができる。
【0167】
好適には、Webサービス・クライアント103は、確認されたライセンスを提示することができ、サービスが取得される時点でオンラインである必要なしに、Webサービスへのアクセスを取得することができる。例えば、サービスは、サービスがコンピュータ・プログラムの実行を含む場合のように、PCハードドライブに存在するか、サーバ、CD、又は他の記憶メディアのような他のデバイスを介して取得されることができる。
【0168】
何らかの理由で、金融支払いのようなオンライン・トランザクションが行われる場合、オンライン・セッションは、サービスの使用のリクエストが行われる時点以外の時点で行われることができる。金融トランザクションの場合、トランザクションは、プリペイド「スマートカード」のようなデジタル記憶デバイスなどを使用してオフラインで行われることができる。更に、交換されるべき任意適切な情報は、オンライン通信の代わりに物理的記憶デバイスを使用して交換されることができる。例えば、ライセンスは、スマートカードをPCへ挿入することによって提示されることができる。
【0169】
本発明は、多数の例示的実施形態及び実現形態に関して説明されたが、本発明はそれらの形態に限定されず、添付のクレイムの範囲に入る様々な修正、同等のものなどをカバーする。
【図面の簡単な説明】
【0170】
【図1】例示的実施形態に従った例示的ネットワーク・サービス許諾システムの略図である。
【図2】例示的実施形態に従って、図1のネットワーク・サービス許諾システムのWebサービス・プロバイダとWebサービス・クライアントとの間で行われる例示的交信の略図である。
【図3】例示的実施形態に従って、図1のネットワーク・サービス許諾システムの1つ又は複数のビジネス・ネットワークとライセンス発行及び/又は生成サービスとの間で行われる例示的交信の略図である。
【図4】例示的実施形態に従って、ネットワーク・サービス許諾システムのWebサービス・プロバイダとライセンス解釈サービスとの間で行われる例示的交信の略図である。
【図5】例示的実施形態に従って、ネットワーク・サービス許諾システムのWebサービス・プロバイダ、ライセンス解釈サービス、及び状態追跡サービスとの間で行われる例示的交信の略図である。
【図6】例示的実施形態に従って、図1のネットワーク・サービス許諾システムでサービスをイニシエートするためライセンスがメッセージに含まれるべきことをWebサービス・クライアントが前もって知っているときの例示的ワークフローを示す。
【図7】例示的実施形態に従って、図1のネットワーク・サービス許諾システムでサービスをイニシエートするためライセンスがメッセージに含まれるべきことをWebサービス・クライアントがサービス記述言語ファイルを介して知るときの例示的ワークフローを示す。
【図8】例示的実施形態に従って、ライセンスが図1のネットワーク・サービス許諾システムのライセンス生成サービスから取得されるべきことを、Webサービス・クライアントがサービス記述言語ファイルを介して知るときの例示的ワークフローを示す。
【図9】例示的実施形態に従って、図1のネットワーク・サービス許諾システムでサービスへのアクセスを獲得するためにライセンスが使用されるべきことをWebサービス・クライアントが知らないときの例示的ワークフローを示す。
【図10】例示的実施形態に従って、図1のネットワーク・サービス許諾システムで、Webサービス・クライアントが、ライセンスなしにサービスへのアクセスを獲得しようとし、ライセンスが使用されるべきことを通知され、サービスへのアクセスを獲得するためのライセンスを取得するときの例示的ワークフローを示す。
【図11】例示的実施形態に従って、図1のネットワーク・サービス許諾システムで、企業がサービスへのアクセスを獲得するためのライセンスの生成をアウトソーシングするときの例示的ワークフローを示す。
【図12】例示的実施形態に従って、複数の企業が図1のネットワーク・サービス許諾システムでサービスへのアクセスを獲得するライセンス生成をアウトソーシングするときの例示的ワークフローを示す。
【図13】例示的実施形態に従って、ライセンス・テンプレートに基づいてライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用されることのできる方法を示す。
【図14】例示的実施形態に従って、許可ライセンスに基づいてライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用できる方法を示す。
【図15】例示的実施形態に従って、例示的ライセンス・プロトタイプに基づいてライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用できる方法を示す。
【図16】例示的実施形態に従って、最初からライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用できる方法を示す。
【図17】例示的実施形態に従って、ライセンスを確認する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図18】例示的実施形態に従って、ライセンスを解釈し状態を追跡する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図19】例示的実施形態に従って、ライセンスを指定する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図20】例示的実施形態に従って、ライセンスを解釈する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図21】例示的実施形態に従って、サービスの消費をコントロールする例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図22】例示的実施形態に従って、第三者によってライセンスを発行する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図23】例示的実施形態に従って、サービスをシンジケートする例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【技術分野】
【0001】
本発明は、一般的には、ネットワーク通信システムに関し、更に具体的には、Webサービスなどのネットワーク・サービスを許諾するシステム及び方法に関する。
【背景技術】
【0002】
最近、Webサービス技術のようなネットワーク・サービス技術が、インターネットを介して相互作用的及び自動的に様々なサービスにアクセスする機能を急速に導入しつつある。企業が、コンテンツ(例えばソフトウェア)及びサービスをネットワーク・サービスとして利用可能にするとき、無差別のアクセス及び使用をコントロールする必要性が存在する。アクセス・コントロールの一般的な方法は、アイデンティティ、又はアイデンティティに関する証明(credentials)が、サービスのプロバイダによって、ローカルで管理さ
れる一組のポリシーに対して照合される方法であった。1つの例は、ユーザがユーザ名とパスワードを入力して、Webサービスの或るリソースにアクセスすることである。このアクセス・コントロール方法は、コンピュータ・システムで広く使用され、主として「私の」サービスを、許可されない使用から保護することである。言い換えれば、サービスへのアクセスは、一般的には、もっぱら、サービスへのアクセスを要求するユーザのアイデンティティに基づいて行われる。
【0003】
アクセスを管理又は制限し、サービスを増加及び商品化する望みと共に、計算環境は単なる仲介に過ぎず、一般的には自分自身のセキュリティ・ポリシーを決定できないシナリオが存在する。そのような仲介の例は、アウトソーシング及び帯域幅管理シナリオで使用されるデバイスをホストし複製することを含む。しかし、そのような環境において、中央のセキュリティ・ポリシーを伝搬及び管理することは困難である。したがって、Webサービスのようなネットワーク・サービスを許諾するシステム及び方法の必要性が依然として存在する。
【0004】
特許文献1〜7は、本発明に関連する。
【特許文献1】米国特許第5530235号明細書
【特許文献2】米国特許第5629980号明細書
【特許文献3】米国特許第5634012号明細書
【特許文献4】米国特許第5638443号明細書
【特許文献5】米国特許第5715403号明細書
【特許文献6】米国特許第6233684号明細書
【特許文献7】米国特許第6236971号明細書
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記及び他の必要性は、Webサービスのようなネットワーク・サービスを許諾する改善されたシステム及び方法を提供する本発明の例示的実施形態によって対処される。
【課題を解決するための手段】
【0006】
したがって、例示的実施形態において、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する改善された方法が提供される。この方法は、頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定し、権利表現情報が、頒布されるネットワーク・サービスの使用の方法を表示し、頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールすることを含む。
【0007】
他の例示的実施形態によれば、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する改善されたコンピュータ・システムが提供される。このコンピュータ・システムは、頒布されるネットワーク・サービスを提供するように構成されたネットワーク・サービス・プロバイダ、頒布されるネットワーク・サービスを消費するように構成されたプロバイダのクライアント、頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定するように構成されたライセンス発行サーバ、頒布されるネットワーク・サービスの使用の方法を示す権利表現情報、及び頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールするように構成されたライセンス発行サーバを含む。
【0008】
更なる例示的実施形態によれば、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する1つ又は複数の命令から成る1つ又は複数のシーケンスを保有する改善されたコンピュータ可読メディアが提供される。1つ又は複数の命令から成る1つ又は複数のシーケンスは、1つ又は複数のプロセッサによって実行されるとき、頒布されるネットワーク・サービスの使用の方法を指定する権利表現情報であって頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定し、頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールするステップを1つ又は複数のプロセッサに実行させる命令を含む。
【0009】
更なる例示的実施形態によれば、頒布されるネットワーク・サービスの消費を、頒布されるネットワーク・サービスに関連付けられた権利表現情報に従ってコントロールし、頒布されるネットワーク・サービスの使用の方法を指定する改善されたシステムが提供される。このシステムは、頒布されるネットワーク・サービスの使用の方法を示す権利表現情報であって頒布されるネットワーク・サービスに関連付けられた権利表現情報を決定する手段、及び頒布されるネットワーク・サービスの消費を権利表現情報に基づいてコントロールする手段を含む。
【発明を実施するための最良の形態】
【0010】
本発明の他の態様、特徴、及び利点は、本発明を実施するために想定される最良形態を含む多数の例示的実施形態及び実現形態を例示する以下の詳細な説明から容易に明らかとなる。本発明は、更に、他の異なった実施形態を使用することができ、その詳細部分は、本発明の趣旨及び範囲から全く逸脱することなく様々な点で修正可能である。したがって、図面及び説明は、限定的ではなく例示的な性質を有するものと見なされるべきである。
【0011】
本発明は、添付の図面で、限定ではなく例示として説明される。図面において、同一の参照番号は同一の要素を示す。
【0012】
ネットワーク・サービス、例えばWebサービスなどを許諾するシステム及び方法が説明される。以下の記述では説明を目的として、本発明の完全な理解を提供する多数の詳細な例が記述される。しかし、これらの詳細な例なしに、同等のもので本発明を実施できることは、当業者に明らかである。或る場合には、本発明を不必要に不明確にするのを避けるため、良く知られた構造及びデバイスはブロック図の形式で示される。
【0013】
一般的に、ここではデジタル・ライト・マネジメント(DRM)と呼ばれる技術を介して、より柔軟なアクセス・コントロール方法を開発することができる。その場合、リソースへのアクセスはライセンスによってコントロールされ、ライセンスは権利言語でエンコードされることができる。ここで説明される例示的実施形態は、好適には、ネットワーク・サービス、例えばWebサービスの許諾に関連した問題に対処するようにDRMシステム・コンポーネントを使用する。したがって、例示的実施形態は、例えば共通に譲渡された特許文献1〜7で更に説明されるように、デジタル・ライト・マネジメント・システムの認証、許可、アカウンティング、支払い及び金融決済、権利指定、権利検証、権利実施、文書保護などのコンポーネントを使用することができる。これら特許文献の全ての開示は、参照してここに組み込まれる。
【0014】
例えば、サービスの許可された使用の方法、例えば消費を指定する使用権を定義するために使用されるライセンスの形式をした権利表現の使用は、好適には、コントロール、コントロールの責任などを、コンピューティング環境からサービスの適法な所有者へ切り替える。そのような使用権は、サービスの指定された使用の方法を行使する前提要件になることができる1つ又は複数の条件、例えば支払いに関連付けられることができる。使用権を表現するためには、既定の構文及び意味を含む権利表現言語、例えば拡張可能権利マークアップ言語(XrML)を使用することができる。サービスの消費は、サービスへのアクセス又は使用、サービスの部分又はデバイスへのアクセス又は使用、サービスの結果へのアクセス又は使用、サービスのコンテンツの受信又はレンダリング、サービスのソフトウェアの実行などを含むことができる。
【0015】
上記のモデルにおいて、例示的実施形態によれば、アクセス・コントロールは、一般的に、「私の」サービスを「外部」へ展開し、同時にそのようなサービスのユーザへ、サービスへのアクセスをコントロールする権利を発行する。対照的に、アクセス・コントロールの他の方法及びシステムは、主として「私の」サービスを他者の使用から保護することに焦点を置いている。
【0016】
例示的実施形態によれば、Webサービス環境のようなネットワーク・サービス環境でDRMが使用され、ライセンス生成及びライセンス解釈などDRMシステム・コンポーネントが使用される。更に、例示的実施形態は、例えば権利言語で表現されたライセンスを介してネットワーク・サービスを許可するシステム及び方法を提供する。更に、例示的実施形態は、ネットワーク・サービス・エコシステムの様々なエンティティが、例えば、どのようにライセンスを生成、使用、処理して、クライアント、デバイス、サービスなどによるアクセスを許す許可決定に達するかに向けられている。一般的に、サービスの要求者は、サービスへのアクセスを獲得するためライセンスを提示する。
【0017】
したがって、例示的実施形態は、好適に、より多くの柔軟なビジネス・モデルを可能にする。例えば、サービスは「任意の場所」に展開されることができ、サービスへのアクセス・コントロールは、中央化集権化されて、サービスの所有者によって決定されることができる。展開の地点は、一般的には、ローカルのセキュリティ・ポリシーを確立することを心配する必要はない。なぜなら、これは不必要になるからである。更に、例示的実施形態の「分散アクセス管理」モデルは、好適には、Webサービスのようなネットワーク・サービスのシンジケート、例えば多数参加者の層を含むシンジケートへ適用可能である。
【0018】
ここで図面を参照する。同様の参照番号は幾つかの図面を通して同一又は対応する部分を示す。更に具体的には、図1を参照すると、例えばWebサービスのようなネットワーク・サービスを許諾するため、説明される例示的実施形態で使用できる例示的ネットワーク・サービス許諾システム100が示される。図1において、ネットワーク・サービス許諾システム100は、例えばWebサービス・プロバイダ101、Webサービス・クライアント103、1つ又は複数のビジネス・ネットワーク107とインタフェースするライセンス生成及び発行サービス105、ライセンス127を中継するライセンス生成・確認及び/又は解釈サービス109、状態情報115を中継する状態追跡サービス111、及びキー及び/又は証明書117を中継する信頼管轄サービス113を含む。サービス105〜111は、好適には、信頼管轄サービス113とWebサービス・プロバイダ101及びWebサービス・クライアント103との間でプラグインすることができる中間層として構成可能である。好適には、既存のWebサービス・システムを修正して、そのような中間層構成に基づいた例示的実施形態を実施することができる。
【0019】
権利言語、例えば拡張可能権利マークアップ言語(XrML)、拡張可能アクセス・コントロール・マークアップ言語(XACML)、オープン・デジタル・ライト言語(ODRL)などを使用して、例えばライセンス127の形式で、権利表現、権利表現情報などを指定することができる。しかし、ライセンス127は、任意適切な方法で指定されることができる。更に、例示的実施形態によれば、ライセンス127は、Webサービスに関連付けることのできる既定の仕様、テンプレート、プロトタイプなどに基づくことができる。したがって、ライセンス127を指定するプロセスは、権利、条件などを、Webサービスのようなサービスへのアクセスに関連付ける任意適切なプロセスを含むことができる。
【0020】
ネットワーク・サービス許諾システム100の例示的ワークフローは、Webサービス・クライアント103の環境で動作するユーザを含むことができる。クライアント103は、Webサービス・プロバイダ101のサービスにアクセスするため、ライセンス発行サービス105によってライセンス127を発行される。ユーザがWebサービス・プロバイダ101によって提供されるサービス119を使用したいと望むとき、ユーザは、発行されたライセンス127と一緒にWebサービス・プロバイダ101からサービス119を要求する(121)ことができる。料金の収集、ユーザの認証といった、関連付けられた条件(例えば、義務123)がライセンス解釈リクエスト125に基づいて満足させられ、例えばライセンス解釈サービス109及び状態追跡サービス111によって検証されたとき、ユーザは、ライセンス127で指定された使用の方法に従ってWebサービス・プロバイダ101のサービス119へのアクセスを許される。
【0021】
好適には、ライセンス127は、サービス119に関連付けられた任意適切な使用権を指定することができる。使用権の解釈及び実施は、例えば、共通に譲渡された特許文献1〜7で更に説明されている。上記のステップは、逐次に、又はほぼ同時に、又は様々な順序で起こることができる。
【0022】
図1は、一般化されたWebサービス・モデルにおける例示的参加者を示す。このモデルにおいて、サービス及び/又はコンテンツへのアクセスは、XrMLなどの権利言語で表現されたライセンスによって指定される。好適には、アクセスを定義するための権利言語の使用は、分散されたポリシー及びアクセスポイントのWebサービス・パラダイムに適合する。なぜなら、権利言語は、権利、及びそれらの権利を行使できるコンテキストの双方を捕獲することができるからである。コンテキストは、権利の行使を許可されるクライアントの情報、識別など、及び権利を行使するため満たされなければならない関連のリソース及び条件を含むことができる。
【0023】
図1の上層部及び下層部は、Webサービスを提供する一般的モデルと対比するために使用できる。一般的モデルの場合、Webサービス・プロバイダ101は、ユーザ名とパスワード及びローカルのポリシー評価のような単純なプロセスを介してアクセスをコントロールする。対照的に、例示的実施形態によれば、Webサービス・プロバイダ101によって提供されるサービス119にアクセスするプロセスを定義し、及び/又は許可を決定するため、中間層が含められる。この中間層は「権利層」と呼ぶことができる。
【0024】
好適には、サービス119への許可の決定、認証、アカウンティングなどに関連するタスクは、中間層で提供される専門サービスによって管理され、例えばアウトソーシングされ、処理される。このようにして、Webサービス・プロバイダ101は、サービス119のビジネス論理に専念し、同時に、よりモノリシックなeコマース・モデルで一般的に使用される他の活動、例えば支払いの処理、顧客データベースの保全をアウトソーシングする贅沢さを享受することができる。したがって、Webサービス・プロバイダ101は、Webサービス・クライアント103によって提示されたライセンス127の形式をした権利表現を処理し、どのようなサービスを提供し、そのようなサービスをどのように提供するかを決定する。例示的実施形態によれば、ライセンスの解釈、アカウンティング部分になることができる状態情報の追跡(例えば、サービス119が何回レンダリングされたか)は、第三者のプロバイダへアウトソーシングすることができる。
【0025】
こうして、例示的実施形態は、例えば、ライセンス127の生成を介して、サービス119へのアクセスの許可を提供する。対照的に、他のWebサービス・システム及び方法は、一般的には、クライアントのアイデンティティを記憶し、ユーザ名とパスワードのような証明書を要求することによって、アクセスをコントロールする。しかし、例示的実施形態において、そのような証明書はライセンス127の形式で増強される。ライセンス127の発行は、権利層によって達成され得るが、Webサービス・プロバイダ101によって実行されるプロセスを含むことができる。権利層は、ビジネス・ネットワーク107、例えばサービス119を購入し、現在、顧客ベースがサービス119へアクセスすることを許しているパートナーを含むことができる。したがって、Webサービス・プロバイダ101とビジネス協定を有する者は、更なる例示的実施形態に従ってライセンス127を発行することができる。
【0026】
Webサービス・クライアント103とWebサービス・プロバイダ101との交信は、様々なメカニズム及びトランザクション、例えばサービスのリクエスト、金融トランザクション、サービス119のレンダリングなどを含むことができる。例えば、Webサービス・クライアント103は、Webサービス・プロバイダ101とコンタクトして、或るタイプのサービス119を要求することができる。サービス119へのアクセスは、更に、様々なトランザクション、例えばコードのアクセス、レンダリング、実行、データの返送、支払いの収集などを含むことができる。したがって、サービス119へのアクセスは、Webサービス・クライアント103とWebサービス・プロバイダ101との間の任意適切な交信及び/又は結果を含むことができる。
【0027】
ネットワーク・サービス許諾システム100は、例示的性質を有し、多くの他のものとして実現されることができる。例えば、発行サービス105がライセンス127を発行する前に、支払いトランザクションを処理し、支払いを検証する決済機関(図示されていない)を使用することができる。更に、更なる例示的実施形態に従って、例えば、オンライン及び/又はオフライン環境及び/又はこれらの組み合わせを介して様々なプロセス及びトランザクションを実行することができる。したがって、ネットワーク・サービス許諾システム100の様々なデバイス及び/又はコンポーネントは、相互に直接通信することができるが、直接通信する必要はなく、任意適切な方法、例えば、ネットワーク・サービス許諾システム100の様々なデバイス及び/又はコンポーネントの間でメディアを物理的に移動させることによって、情報を交換することができる。
【0028】
図1のネットワーク・サービス許諾システム100のデバイス及びサブシステムは、例えば、1つ又は複数の通信ネットワーク(図示されていない)を介して通信することができ、例示的実施形態のプロセスを実行できる任意適切なサーバ、ワークステーション、パーソナル・コンピュータ(PC)、ラップトップ・コンピュータ、PDA、インターネット機器、セットトップボックス、モデム、ハンドヘルド・デバイス、電話、携帯電話、ワイヤレス・デバイス、他のデバイスなどを含むことができる。デバイス及びサブシステムは、任意適切なプロトコルを使用して相互に通信することができ、例えば汎用コンピュータ・システムを使用して実現されることができる。ネットワーク・サービス許諾システム100の中で、例えばインターネット・アクセス、任意適切な形式の電気通信、例えば音声、モデム、ワイヤレス通信メディアを含む1つ又は複数のインタフェース・メカニズムを使用することができる。したがって、そのような通信ネットワークは、例えば、ワイヤレス通信ネットワーク、携帯電話通信ネットワーク、衛星通信ネットワーク、公衆電話回線網(PSTN)、パケット・データ・ネットワーク(PDN)、インターネット、イントラネットなどを含むことができる。更に、そのような通信ネットワークは、同一又は異なったネットワークであることができる。
【0029】
前述したように、図1のネットワーク・サービス許諾システム100は、例示の目的を有することを理解すべきである。なぜなら、例示的実施形態を実現するために使用される特定のハードウェアは、多くの変形が可能だからである。例えば、ネットワーク・サービス許諾システム100のデバイス及びサブシステムの機能は、1つ又は複数のプログラムされたコンピュータ・システム又はデバイスを介して実現されることができる。そのような変形及び他の変形を実現するため、単一のコンピュータ・システムをプログラムして、ネットワーク・サービス許諾システム100の1つ又は複数のデバイス及びサブシステムの特定目的の機能を実行することができる。他方では、2つ以上のプログラムされたコンピュータ・システム又はデバイスを、ネットワーク・サービス許諾システム100のデバイス及びサブシステムの任意の1つと取り替えることができる。したがって、分散処理、例えば冗長性、複製などの原理及び利点を所望のように実現して、例えばネットワーク・サービス許諾システム100のロバストネス及びパフォーマンスを増加することができる。
【0030】
ネットワーク・サービス許諾システム100のコンポーネント、例えば、ライセンス127、Webサービス・プロバイダ101、Webサービス・クライアント103、ライセンス生成及び/又は発行サービス105、ライセンス確認及び/又は解釈サービス109、状態追跡サービス111、及び信頼管轄サービス113を、様々な実施形態に従って、これから更に説明する。
【0031】
例示的実施形態において、例えば、ライセンス127は、XrML機能などの権利言語ベースの機能を基本とすることができる。Webサービス・クライアント103がサービス119を要求するとき、Webサービス・クライアント103はライセンス127をWebサービス・プロバイダ101へ提示することができる。例えば、ライセンス127は、サービス119のようなサービスのレンダリング、サービスの使用の方法などを支配する権利及び条件を伝えることができる。更に、例えば、ライセンス127は、サービス・クライアント103とWebサービス・プロバイダ101との間のトランザクションが起こるコンテキストを伝えることができる。
【0032】
したがって、ライセンス127は、例えば、サービス119、サービス119の一部分、ライセンス127が付与された本人、付与される権利、サービス119をアクセスできる条件、Webサービス・プロバイダ101及び/又はWebサービス・クライアント103が、サービス119の保護されたリソースへのアクセスを許す間に実行しなければならない義務、信頼ドメイン、例えばライセンス127の発行者及び/又はライセンス127が発行された管轄を含む情報、署名及び/又は暗号メカニズムのようなセキュリティ・メカニズムを使用又は利用する情報、ネットワーク・サービス許諾システム100によって必須及び/又は任意に使用される他の好適な情報を伝えることができる。
【0033】
例えばXrMLで書かれた例示的ライセンス127が下記に示される。このライセンスは、例えばWebサービス・プロバイダ101によって提供されるサービス119、「www.foo.com/quoteService」にアクセスする権利であって、他のキー値によって表された発行者によって特定の暗号鍵の保持者、例えば本人へ付与された権利を伝える。
【0034】
<license>
<grant>
<keyholder>
…
</keyholder>
<ws:execute/>
<serviceReference>
<foo:location uri=www.foo.com/quoteService/)
</serviceReference>
</grant>
<issuer>
<dsig:keyValue>
…
</dsig:keyValue>
</license>
サービス119のIDは、ライセンス127の中にエンコードされることができる。そのようなエンコーディングは、ライセンス127が問題のサービス119を参照することを示すために使用されることができる。更に、問題のサービス119の任意適切な詳細IDを指定することができる。例えば、ライセンス127は、サービス119の一部分、サービス119によって露出される或るアプリケーション・プログラミング・インタフェース(API)に関連していることを記述することができる。代替的に、ライセンス127は、更に、サービスのセットを含むサービス119を識別することができる。例えば、サービス119は、「www.foo.comから生じる任意のサービス」として記述されることがで
きる。更に、識別されたサービス119は、上記のモデルの任意適切な組み合わせを含むことができる。
【0035】
ライセンス127で指定された本人は、サービス119の要求者、例えば、Webサービス・クライアント103のようなサービス119のユーザのアイデンティティを検証するために使用されることができる。したがって、本人は、サービス119の要求者を認証するために使用されることができる。一般的には、要求者はリクエスト121の時点で或る形式の証明書を提示する必要があるかもしれない。そのような証明書は、例えば、ライセンス127で指定された本人のアイデンティティを検証することができる。提示される証明書は、キー、セキュリティ・トークンなどを含む様々なメカニズム、例えばデジタル証明書を使用することができる。
【0036】
様々な方法によって、本人の指定、識別などを行うことができる。例えば、本人は、特定の本人、例えば暗号鍵の保持者であることができる。本人は、更に、「誰でも」、例えば「世界の誰でも」として指定されることができる。本人は、更に、本人の集合のメンバー、例えば「ABC社のメンバーであるクライアント」として指定されることができる。こうして、本人がどのように指定されるかに依存して、1つ又は複数の証明書を使用して本人のアイデンティティを、例えば、完全に解決し、照合することができる。証明書を照合するプロセスは、例えば、ライセンスで指定された本人を認証するために使用できる従来の、独自の、又は新規の、任意適切な技術を含むことができる。
【0037】
ライセンス127に指定された権利は、付与又は許可された「作業」、即ち、例えば、本人のような付与の受取人が、Webサービスのようなサービス119に行使できる使用の方法であることができる。そのような作業は、様々な形態、例えば「Webサービスの情報にアクセスすること」、「Webサービスに存在するソフトウェアを実行すること」、「Webサービスによって生成されたデータをリトリーブすること」であってよい。
【0038】
ライセンス127は、サービス119にアクセスする権利に関連付けられた1つ又は複数の条件を含むことができる。条件は、ライセンス127に指定されることができ、使用の方法を行使するため満足されられる必要があるかもしれない。例えば、条件は、有効期間のような時間的条件、サービスにアクセスできる回数のような数量的条件、支払い条件、トランザクションを追跡及び記録させるアカウンティング条件を含むことができる。こうして、条件は、権利を行使する前、間、後に満足させられる任意適切な制限、パラメータ、義務、状態などを含むことができる。
【0039】
ライセンス127に指定できる信頼ドメインは、ライセンス127の発行者のアイデンティティに関連することができる。例えば、Webサービス・プロバイダ101がWebサービス・クライアント103からライセンス127を受け取るとき、Webサービス・プロバイダ101は、ライセンス127に含まれた情報を信頼できるか否かを決定しなければならない。例示的実施形態において、ライセンス127を発行したエンティティは、ライセンス127の発行者によって識別されることができる。
【0040】
ライセンス127は、ライセンス127に含まれた情報を保護するため、例えばセキュリティ技術を使用することができる。例えば、Webサービス・プロバイダ101は、ライセンスの発行者を信頼できるか否か、ライセンスが改竄されていないか否かなどを決定するメカニズムを使用することができる。こうして、デジタル署名技術などを使用して、ライセンス127の完全性を保証することができ、暗号化技術などを使用して、ライセンス127の或る情報を秘密に保つことができる。
【0041】
図2は、例示的実施形態に従ってネットワーク・サービス許諾システム100のWebサービス・プロバイダ101とWebサービス・クライアント103との間で行われる例示的交信の略図である。図2で示されるように、Webサービス・クライアント103がサービス119のリクエスト121を行ったとき、例えば、クライアント103はライセンス127をWebサービス・プロバイダ101へ伝達、送信することができる。次に、Webサービス・プロバイダ101は、ライセンス127で指定された権利、条件などに基づいてサービス119をレンダリングすることができる。例えば、Webサービス・クライアント103とWebサービス・プロバイダ101は、ライセンス127を交渉及び/又は提出するプロセスを含むライセンス・プロトコルに基づいて、サービス・リクエスト121を含むデータ・ストリームの中でライセンス127を送信することを事前に協定することができる。
【0042】
例示的実施形態によれば、Webサービス・プロバイダ101は、一般的には、サービス119の提供に焦点を絞る。更に、例示的実施形態で提案されるように、許可及び/又は商業関連タスクは他の場所で管理できるので、支払いの管理、顧客データベースの保全などの仕事を削除することができる。好適には、これによって、Webサービス・プロバイダ101は、サービス119の提供に、より効率的に専念することができる。
【0043】
Webサービス・プロバイダ101は、更に、サービス・リクエスト121を処理することができる。サービス・リクエスト121を処理するメカニズムは、独自のメカニズム、シンプル・オブジェクト・アクセス・プロトコル(SOAP)のような標準メカニズム、Webサービス記述言語(WSDL)、他のメッセージング・プロトコルなどを含む。しかし、サービス・リクエストを解決及び/又は処理できる任意適切なメカニズムを使用することができる。
【0044】
更に、Webサービス・プロバイダ101は、ライセンス・プロトコルを使用することができる。そのようなプロトコルは、例えば、任意適切な開放型又は独占許諾メカニズム、ライセンス127をリクエスト121に埋め込む事前協定、ライセンス127を取得するサイトへ要求者を送る必要があるか否かを、ライセンス127のために決定するプロトコルを含むことができる。
【0045】
こうして、Webサービス・プロバイダ101は、サービス119へのアクセスを獲得するためWebサービス・クライアント103によって伝達されたライセンス127を消費及び/又は受け入れる。ライセンス127を信頼できることを決定した後、Webサービス・プロバイダ101は、例えば、ライセンス127に指定された権利及び/又は条件に基づいて、サービス119をレンダリングすることができる。ライセンス127が無効であるか信頼できないと考えられる場合、Webサービス・プロバイダ101は、例えば、サービス119を提供及び/又はレンダリングしないで、例えば、サービス119へのアクセスが否定されることを示すエラー・メッセージを生成することができる。更に、Webサービス・プロバイダ101は、ライセンス127の条件として、義務を満足させなければならないかもしれない。この義務は、状態の追跡のようにサービス119のレンダリングから生じ、ライセンス127で指定することができる。
【0046】
例示的実施形態によれば、Webサービス・クライアント103は、一般的には、サービス119の消費者デバイス、即ちユーザ・デバイスである。Webサービス・クライアント103は、例えば手作業のプロセスを介するか、様々な技術、例えばユニバーサル・ディスクリプション、ディスカバリー&インテグレーション(UDDI)レジストリ、WSDL定義などを介してサービス119へアクセスする方法を決定することができる。Webサービス・クライアント103は、サービス119にアクセスするため、サービス・リクエスト121の時点又は異なった時点に、ライセンス127をWebサービス・プロバイダ101へ、例えば提示、伝達、送信することができる。
【0047】
更に、Webサービス・クライアント103は、サービス119にアクセスするためライセンス127を使用できることに気付くことができる。言い換えれば、Webサービス・クライアント103は、例えば、サービス119へのアクセスがライセンス127の所有を伴うことを理解し、どこでライセンス127を獲得するかを知る。そのようなプロセスは、ライセンス・プロトコルによって達成されることができる。その場合、サービス119へのリクエスト121の後に、サービス119へのアクセスを獲得するためにはライセンス127のような或る証明書が使用されることを示す応答が続く。そのような処理は、例えば、協定のような手作業のプロセスによって達成されることができる。その場合、Webサービス・プロバイダ101は、Webサービス・クライアント103へ、例えばサービス119へのアクセスにライセンスが使用されることを通知する。こうして、Webサービス・クライアント103は、Webサービス・プロバイダ101がライセンス127を受け入れた後、例えばコードを実行し、コンテンツをレンダリングして、サービス119を消費する。
【0048】
例示的実施形態において、Webサービス・プロバイダ101は、更に、Webサービス・クライアントであることができる。例えば、Webサービス・プロバイダ101が他のWebサービスのクライアントであるときである。こうして、例示的実施形態の動作モードは、そのように限定されず、むしろ例示的実施形態の他の可能な置換を含む。更なる例示的実施形態において、例えば、Webサービス・クライアント103は、第三者を使用してライセンス127を提示し、ライセンス127の提示者はサービス119の消費者である必要はない。この例示的実施形態において、Webサービス・クライアント103は、例えば、ライセンス127を第三者から提示できることを示す追加情報を提供することができる。
【0049】
例示的実施形態は、「権利ライフサイクル」と呼ばれる権利のライフサイクルを含むことができる。例えば、権利ライフサイクルは、或る権利及び/又は条件を或るリソース、例えばサービス119に関連付けるために使用できるライセンス127の作成と共に始まることができる。次に、ライセンス127は、Webサービス・クライアント103へ発行されることができ、次にWebサービス・クライアント103は、ライセンス127を使用してサービス119を取得する。最終的に、ライセンス127は、例えば、サービス119のレンダリングの間にWebサービス・プロバイダ101によって消費され、権利ライフサイクルが終了する。
【0050】
一般的なDRMシステムにおいて、ライセンスの発行は、一般的には、単一及び/又は中央集権化されたエンティティによってコントロールされる。そのようなエンティティは、一般的には、ライセンスを発行する計算タスクに責任を有する。計算タスクは、ライセンスの作成、ライセンスの確認、ライセンスへの署名、及びライセンスのリカバリを含むことができる。同様に、一般的なアクセス・コントロール・システムでは、セキュリティ・ポリシーを規定及び管理する中央集権エンティティによって許可が強制される。対照的に、例示的実施形態では、ライセンス127の生成は、ライセンス127の発行から論理的に分離されることができる。一般的には、ライセンス127の生成は、ライセンス127の作成、例えばXrMLファイルの作成、要素の構成、ライセンスをデータベースへ記憶することなどの計算機能を含む。ライセンスの発行は、ライセンス127で付与される権利の実際の許可であることができる。この許可は、例えば、ライセンス127へデジタル的に署名すること、及び/又はライセンス127で伝達される権利が発行者によって許可されたことを立証することを含む。
【0051】
例示的実施形態によれば、ライセンス生成サービス105、生成タスクなどは、データのバックアップ、ライセンスのバージョン・コントロール、アップグレード、ライセンスの撤回などの追加サービスを提供することができる。好適には、そのようなサービスは、ライセンス127の生成プロセスによって付加された価値へ更なる価値を付加することができる。
【0052】
ライセンス127を生成及び発行するタスクは、単一のアプリケーション及び/又はシステムによって実行されることができる。しかし、ライセンス127の生成管轄とライセンス127の発行管轄との分離は、好適には、様々な例示的ビジネス実施形態をサポートする。例えば、このアプローチによって、ビジネス・エンティティは、ライセンス127の生成のデータ集中部分をアウトソーシングし、ライセンス127の署名及び発行管轄部分に専念するオプションを有する。このアプローチによって、好適には、これから説明するように、異なったビジネス・エンティティのためにライセンス127を生成及び発行できる単一サービスが可能となる。
【0053】
図3は、例示的実施形態に従って、ネットワーク・サービス許諾システム100の1つ又は複数のビジネス・ネットワーク107とライセンス発行及び/又は生成サービス105との間で行われる例示的交信の略図である。図3において、ライセンス127を発行する管轄は、ライセンス127を発行するライセンス305(「配布」ライセンスと呼ばれる)の形式で伝達されることができる。したがって、配布ライセンス305は、1つ又は複数のライセンス127を発行する権利を付与する。配布ライセンス305は、更に、例えば、付与されることのできる使用の方法、及びライセンス生成サービス105が発行できるライセンス127の最大数などの条件を指定することができる。配布ライセンス305は、更に、ライセンス127の発行者がライセンス127を発行する管轄を有することを立証するために使用されることができ、発行者の署名は認識されないが配布ライセンス305の発行者の署名が認識されるときに参照されることができる。
【0054】
言い換えれば、配布ライセンス305の存在は信頼モデルを確立する。その場合、ライセンス127の中の署名は、例えば、ライセンス127の解釈の間に、署名が認識、信頼されるまで、配布の連鎖を遡ってチェックされることができる。そのようなモデルは、サービスの所有者が、例えば、或る契約又はビジネス協定の後、ライセンスをビジネス・パートナーへ発行する権利をライセンスの形式で付与することができる例示的実施形態へ良好に適合する。
【0055】
例えば、ライセンスを生成及び発行する例示的ワークフローは、ビジネス・パートナー301(ビジネス・エンティティA)及びビジネス・パートナー303(ビジネス・エンティティB)を含むことができる。この例において、ビジネス・エンティティAはWebサービスを所有及び稼働し、ビジネス・エンティティBは、製品ラインの一部分としてWebサービスをバンドルすることを望んでいる。したがって、ビジネス・エンティティAは、配布ライセンス305をビジネス・エンティティBへ発行し、Webサービス・クライアント103のようなビジネス・エンティティBの顧客へ、例えば、ビジネス・エンティティAによって提供されるWebサービスにアクセスするためのライセンス127を発行する権利を付与する。ビジネス・エンティティBは、例えば、ライセンス発行サービス105を利用してライセンス127を生成することによってライセンス127を顧客へ発行する。Webサービス・クライアント103が、ビジネス・エンティティAによって提供されるWebサービスにアクセスするとき、ライセンス127が提示され、Webサービスは、ビジネス・エンティティBがそのようなライセンス127を発行する権利を付与されたことを認識することによって、ライセンス127の管轄をチェックすることができる。
【0056】
したがって、ライセンス生成サービス105は、リクエスト307に基づき、例えば、署名のないライセンス309、配布ライセンス305、及び/又はライセンス127などを生成し、スキーマ確認などを含む計算プロセスを実行することができる。更に、ライセンス生成サービス105は、サービス・リクエスト307、例えばライセンス127、305、及び/又は309のリクエストを処理する一般的インタフェースを提供することができる。ライセンス生成サービス105は、一般的には、ライセンス127に署名しないが、別の例示的実施形態によれば、ライセンス生成サービス105は、ライセンス127の発行者、例えばビジネス・エンティティBのためにライセンス127に署名することができる。更に、ライセンス生成サービス105は、例えば、発行されたライセンスのバックアップ、ライセンスの再発行、レポート機能などのデータ管理機能を提供することができる。
【0057】
図4は、例示的実施形態に従って、ネットワーク・サービス許諾システム100のWebサービス・プロバイダ101とライセンス解釈サービス109との間で行われる例示的交信の略図である。例えば、サービス119を消費するため、Webサービス・プロバイダ101のコードを実行し、暗号化及び/又は保護されたWebサービス・プロバイダ101のコンテンツをレンダリングするため、ライセンス127を確認し、次に、解釈リクエスト125に基づいて解釈し、ライセンスで指定された権利、条件、例えば義務123が、そのような作業を許すか否かを決定することができる。ライセンス127を確認及び/又は解釈する能力は、Webサービス・プロバイダ101及び/又はレンダリング・アプリケーションへ組み込まれることができる。しかし、更なる例示的実施形態によれば、そのような能力は、Webサービス・プロバイダ101及び/又はレンダリング・アプリケーションから分離されることができ、ライセンス解釈サービス109のようなサービスによって提供されることができる。
【0058】
こうして、例示的実施形態によれば、ライセンス127はライセンス解釈サービス109によって確認され、次に解釈される。しかし、更なる例示的実施形態によれば、このプロセスは逆順で実行されることができる。その場合、解釈は、後の確認ステップに依存して実行されることができる。
【0059】
ライセンス解釈サービス109は、ライセンス127を解釈するタスクのために使用することができる。ライセンス解釈サービス109は、ライセンス解釈サービス105のライセンス生成モデルに対応する。それによって、Webサービス・プロバイダ101は、サービス119の提供に直接関連していない計算タスクをオフロードすることができる。そのように動作するWebサービス・プロバイダ101は、ライセンス127を解釈するタスクをライセンス解釈サービス105へオフロードすることができ、好適には、サービス119の構築に専念することができる。ライセンス127の解釈中に、図4で示されるように、可能性として他のサービス401を使用することができる。例えば、サービス401は、本人を認証し、遠隔サービスに記憶された情報、例えば信頼されるタイムクロックをリトリーブするためにコンタクトされることができる。
【0060】
図5は、例示的実施形態に従って、ネットワーク・サービス許諾システム100のWebサービス・プロバイダ101、ライセンス解釈サービス109、及び状態追跡サービス111の間で行われる例示的交信の略図である。図5では、ライセンス127の解釈段階501の間、及び権利の行使段階503の間の、状態追跡サービス111の使用が示されている。
【0061】
ライセンス127の解釈及び/又は権利の行使は、ライセンス127の外部に記憶された情報を含むことができる。例えば、ライセンス127の条件は、Webサービス・プロバイダ101によって提供されたリソースにアクセスできる回数が制限されることである。したがって、そのような条件を含むライセンス127の解釈中に、更なるアクセス権を付与できるか否かを正確且つ信頼性をもって解釈するため、リソースが既にアクセスされた回数に関する情報をリトリーブしなければならない。
【0062】
そのような情報は状態情報115と呼ぶことができ、状態情報115の追跡は「状態追跡」と呼ぶことができる。状態情報115は、様々なタイプの情報、例えばライセンス127の状況、リソースが使用された回数、サービス119の支払い、サービス119、ライセンス127、及び/又は条件が発行、アクセス、消費、提示された日時に関する情報を含むことができる。したがって、状態情報115は、ネットワーク・サービス許諾システム100などに関する任意適切な情報を含むことができる。
【0063】
状態情報115は、固定記憶域、例えばデータベース、メモリ、サービスに存在及び/又は記録されることができる。例えば、サービス119がWebサービス・クライアント103によってアクセスされた回数のような状態情報115は、ネットワーク・サービス許諾システム100の或る固定記憶域に記録されることができる。更に、前述したように、ライセンス127の解釈は、権利の行使を許す間に満たされなければならない義務123を生じるかもしれない。
【0064】
状態情報115の追跡は、例えばWebサービス・プロバイダ101によってローカルで実現されることができるが、これはWebサービス・プロバイダ101に対して追加の負担を作り出すかもしれない。更に、Webサービス・プロバイダ101によるローカル追跡は実行するのに困難であるかもしれない。なぜなら、Webサービス・プロバイダ101は、状態情報115のローカル記憶場所を備えることができないかもしれないからである。好適には、状態追跡サービス111は、Webサービス・プロバイダ101による状態情報の追跡に関連する前記及び他の問題に対処する。例えば、追跡サービス111をどこで参照するか、権利の条件に関連した状態情報115をどこで管理できるかなどを指定するため、前述した権利言語を使用することができる。こうして、例えば、ライセンス127で指定することのできる状態情報115を追跡、提供するため、状態追跡サービス111を使用することができる。
【0065】
信頼管轄サービス113は、例示的実施形態の様々なエンティティのために、例えば、信頼関係を確立、管理する要素及び/又はサービスを含むことができる。例えば、信頼管轄サービス113は、ライセンス127の署名に使用できるデジタル信用証明書、デジタル証明書及び/又は暗号鍵117を発行する証明書管轄(CA)機能を含むことができる。したがって、信頼管轄サービス113は、例えば、会社の公開鍵基盤(PKI)、PKI及び/又はセキュリティプロバイダによって提供されるサービス、ビジネス・パートナーの間の信頼関係を確立するために使用される分離サービスを含むことができる。
【0066】
したがって、例示的実施形態によれば、信頼管轄サービス113は、例えば本人を識別するために使用されるデジタル証明書117を発行する機能を含むことができる。例示的デジタル証明書117は、例えば、X509デジタル証明書、マイクロソフト・パスポート、ケルベロス認証トークンを含むことができる。前述したタイプの証明書117は、保持者のアイデンティティを指定及び/又は証明するために使用可能であるが、一般的には、保持者に関する少量の追加情報を伝達する。なぜなら、そのような追加情報の大部分は、一般的には、固定フォーマットで提供され、及び/又は暗示されるからである。例えば、パスポート保持者は、一般的には、マイクロソフト・パスポート・サービスで認証された単なる誰かであるからである。
【0067】
したがって、例えば、本人の役割、本人のメンバーシップ関係を表現するため、より表現的及び/又はロバストな方法で、例えば本人のアイデンティティに関する追加情報を付加する必要性が存在する。例えば、本人の役割、本人のメンバーシップ関係を表現するため、また更なる例示的実施形態に従って、前述した権利言語を好適に使用して、より表現的な方法で証明書を伝達するために使用できる証明書117を定義することができる。次に、証明書117を使用して、ビジネス・サークルにおけるメンバーシップ、ビジネス環境における関係などの追加特性を保持者に関連付けることができる。
【0068】
一般的には、証明書管轄は、デジタル証明書に含まれる情報の真正性を立証することができる。デジタル証明書の情報の範囲を、例えば会社の名前のように制限することができれば、証明書管轄の機能を良好に定義することができる。例えば、証明書管轄は、デジタル証明書を発行する前に、会社の名前をチェックするための確立されたプロセスを有する。しかし、前述したように、証明書がより表現的になると、証明書管轄が証明書情報の真正性を立証することは困難になる。例えば、証明書が或るメンバーシップ情報を含むならば、証明書管轄は、そのようなメンバーシップを確認する追加プロセスを確立する必要がある。
【0069】
したがって、一般的な証明書管轄は、一般的には、そのような追加情報を検証することができない。一般的には、証明書の証明書管轄、署名者などは、証明書が使用されるシステムになることができる。この例示的実施形態において、信頼モデルは、よりオープンでなくなり、よりモノリシックになる。なぜなら、例えば、システムは一般的にシステムを信頼できるからである。よりオープンなシステム、例えば提携サービスのビジネス・ネットワークの中で、より多くの表現的情報を有する証明書を使用するため、信頼管轄113を好適に使用して、証明書117に含まれる追加情報を立証することができる。例示的実施形態によれば、証明書管轄は、前述した必要性を満たすために構成されることができる。しかし、「信頼仲介者」、例えば例示的実施形態の信頼管轄サービス113を好適に使用して、前記及び他の問題に対処し、前述した追加情報を検証するためには、証明書管轄を使用することができる。
【0070】
証明書117と全く同じように、ライセンスは、例えば暗号化手法を介して署名及び/又は検証されることができる。ライセンス127の署名の検証は、例えば、ライセンス127の完全性、署名者、例えばライセンス127の発行者の真正性を立証するために使用されることができる。しかし、一般的には、検証者がライセンス127の発行を許可しない限り、そのような検証は、例えばライセンス127が適切な許可を受けて発行されたことを信頼させる「権利の信頼」を確立しない。これは、前述したように、ライセンス127の確認とライセンス127の解釈との差である。
【0071】
例えば、会社Bは会社AへライセンスB’を発行し、会社Bの代わりにライセンスA’を発行する権利を会社Aに付与する。次に、会社AはユーザXへライセンスA’を発行し、ユーザXは、会社Bの保護されたリソースにアクセスするライセンスA’を会社Bへ提示する。この例示的実施形態において、会社BはライセンスB’を発行したので、会社Bによってデフォルトで信頼されるライセンスB’へ遡って、ライセンスA’の信頼をトレースすることができる。
【0072】
ここで、会社Cも、ライセンスA’を受け入れて会社Cの保護されたリソースにアクセスする場合を考える。ライセンスA’を信頼するため、会社Cは、会社Aからのライセンスを信頼するか、会社CのためにライセンスA’を発行する権利を有するライセンスC’を会社Aへ発行するかを決定しなければならない。ネットワークが大きくなるにつれて、許可ライセンスB’、C’などの各々を全てのライセンスA’に添付しなければならない。
【0073】
上記の場合、そのようなライセンスA’の迅速な処理は、面倒になり、及び/又は実際的でなくなる。しかし、例示的実施形態によれば、例えば、例示的実施形態の信頼管轄サービス113が、「信頼仲介者」として会社間の取引を好適に仲介し、それ自身の署名でライセンスを発行することができる。この例示的実施形態において、ライセンス127の解釈プロセスの間、信頼管轄サービス113の署名を信頼することができる。
【0074】
Webサービス・クライアント103が、例えば、サービス119をイニシエートしたり、要求するとき、Webサービス・クライアント103は、例えば、メッセージング・プロトコルの一部分としてライセンス127を送信することができる。好適には、例示的実施形態に従って、サービス119のイニシエート時点でライセンス127を送信するための情報は、例えば、Webサイトの上で文書を読むことによって、前もって提供されることができる。
【0075】
Webサービス・クライアント103が、例えばサービス119をイニシエートしたり、要求するとき、Webサービス・クライアント103は、例えば、メッセージング・プロトコルの一部分としてライセンス127を送信することができる。例示的実施形態によれば、サービス119のイニシエート時点でライセンス127を送信するための情報は、例えばWebサイトの上で文書を読むことによって、前もって提供されることができるが、プロトコルが必要であり、ライセンス127の必要性はメッセージング・メカニズムを介して伝えられることができる。更に説明されるように、好適には、更なる例示的実施形態に従って、そのようなプロトコルが提供される。例えば、ライセンス127を含むサービス119をイニシエートするときの例示的実施形態を、これから説明する。
【0076】
図6は、図1のネットワーク・サービス許諾システム100において、サービス119をイニシエートするためにライセンス127がメッセージ121に含まれることを、Webサービス・クライアント103が知っているときの例示的ワークフローを示す。例えば、図6のステップ601で示されるように、そのような情報は、様々なメカニズム、例えばWebサイト、eメール、ファックス、電話で情報を取得することによって取得されることができる。ステップ603において、例えば、ライセンス127は、サービス119のリクエスト・メッセージ121の一部分としてエンコードされることができる。ステップ605で、メッセージ121はWebサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、例えば手作業で、又は自動的に、メッセージ121の中でエンコードされ、SOAPヘッダ、これから更に説明される例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0077】
図7は、図1のネットワーク・サービス許諾システム100において、サービス119をイニシエートするためライセンス127がメッセージ121に含まれることを、Webサービス・クライアント103が、例えば、UDDIベースのサービス発見サーバ707に記憶されたWSDLファイルのようなサービス記述言語ファイル709を介して知るときの例示的ワークフローを示す。図7で示されるように、ステップ701において、例えば、WSDLファイル709が、手作業で、又は自動的に、UDDIサーバ707からリトリーブされる。ステップ703において、例えば、サービス119のリクエスト・メッセージ121の一部分として、ライセンス127をエンコードすることができる。メッセージ121は、ステップ705でWebサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、手作業で、又は自動的に、メッセージ121の中でエンコードされることができ、SOAPヘッダ、これから更に説明する例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0078】
図8は、図1のネットワーク・サービス許諾システム100のライセンス生成サービス105からライセンス127を取得できることを、Webサービス・クライアント103が、例えば、UDDIベースのサービス発見サーバ707に記憶されたWSDLファイルのようなサービス記述言語ファイル709を介して知るときの例示的ワークフローを示す。図8で示されるように、ステップ801において、例えば、Webサービス・クライアント103におけるユーザは、UDDIサーバ707からWSDLファイル709を手作業で、又は自動的に検索する。WSDLファイル709のサービス記述は、ライセンス生成サービス105のようなサービスへの参照を含む。ライセンス生成サービス105を使用して、サービス119のライセンス127を発行することができる。ステップ803において、Webサービス・クライアント103のユーザは、例えば、ライセンス生成サービス105をイニシエートする。
【0079】
ステップ805において、例えば、ライセンス127の料金の支払いのような条件を満足させた後、Webサービス・クライアント103は、ライセンス生成サービス105から手作業で、又は自動的に、ライセンス127を取得する。ステップ807で、Webサービス・クライアント103のユーザは、例えば、サービス119のリクエスト・メッセージ121の一部分としてライセンス127をエンコードする。次に、メッセージ121は、Webサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、手作業で、又は自動的に、メッセージ121の中へエンコードされることができ、SOAPヘッダ、これから更に説明される例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0080】
図9は、図1のネットワーク・サービス許諾システム100において、サービス119へのアクセスを獲得するためライセンス127が使用されることを、Webサービス・クライアント103が知らないときの例示的ワークフローを示す。図9で示されるように、ステップ901で、例えば、Webサービス・クライアント103は、ライセンス127を含まないサービス119のリクエスト・メッセージ121を介してWebサービス・プロバイダ101からサービス119を呼び出し、及び/又は要求しようと試みる。ステップ903で、Webサービス・プロバイダ101は、サービス119のリクエスト・メッセージ121を処理し、サービス119のリクエスト・メッセージ121がライセンス127を含まないことを決定する。ステップ905で、Webサービス・プロバイダ101は、例えば、エラー・メッセージ907を送信する。エラー・メッセージ907は、Webサービス・プロバイダ101のサービス119へのアクセスを獲得するため、ライセンス127が使用されることを表示する。この時点で、Webサービス・クライアント103は、例えば、前述した図6〜図8の方法を使用して、これから更に説明されるようにライセンス127を取得しようと試みることができる。例示的実施形態によれば、メッセージ907及び121は、SOAPヘッダ、これから更に説明する例示的実施形態のメッセージング・プロトコルなどを含むメッセージング・プロトコルを使用することができる。
【0081】
図10は、図1のネットワーク・サービス許諾システム100において、Webサービス・クライアント103が、ライセンス127なしでサービス119へのアクセスを獲得しようと試み、図9で示されるようにライセンス127が使用されることを通知され、図8で説明された方法を使用してサービス119へのアクセスを獲得するためのライセンス127を取得するときの例示的ワークフローを示す。しかし、ライセンス127を取得するためには、任意適切なライセンス取得方法、例えば図6〜図8の方法を使用することができる。
【0082】
したがって、図10で示されるように、ステップ1001で、例えば、Webサービス・クライアント103は、ライセンス127を含まないサービス119のリクエスト・メッセージ121を介して、Webサービス・プロバイダ101からのサービス119を呼び出し、及び/又は要求しようと試みる。ステップ1003で、Webサービス・プロバイダ101は、サービス119のリクエスト・メッセージ121を処理し、サービス119のリクエスト・メッセージ121がライセンス127を含まないことを決定する。ステップ1005で、Webサービス・プロバイダ101は、例えば、エラー・メッセージ907を送信する。エラー・メッセージ907は、Webサービス・プロバイダ101のサービス119へのアクセスを獲得するためにはライセンス127が使用されることを示す。
【0083】
次に、Webサービス・クライアント103は、サービス119のライセンス127を発行するために使用できるライセンス生成サービス105を決定する。ステップ1007で、Webサービス・クライアント103のユーザは、例えば、ライセンス生成サービス105をイニシエートする。ステップ1009で、例えば、ライセンス127の料金の支払いのような条件を満足させた後、Webサービス・クライアント103は、ライセンス生成サービス105からライセンス127を手作業で、又は自動的に取得する。ステップ1011で、Webサービス・クライアント103のユーザは、例えば、サービス119のリクエスト・メッセージ121の一部分としてライセンス127をエンコードする。次にメッセージ121はWebサービス・プロバイダ101へ送信される。例示的実施形態によれば、ライセンス127は、例えば手作業で、又は自動的に、メッセージ121の中でエンコードされることができ、SOAPヘッダ、これから更に説明される例示的実施形態のメッセージング・プロトコルを含むメッセージング・プロトコルなどを使用することができる。
【0084】
例示的実施形態によれば、ライセンス127の生成とライセンス127の発行との間で、管轄の分離が提供される。例えば、ライセンス127の発行は、ライセンス127の発行者がライセンス127の中で権利を許可したことを意味する。好適には、そのような管轄の分離は、例えば以下の例示的ワークフローで示されるように、様々な例示的実施形態を提供する。
【0085】
図11は、図1のネットワーク・サービス許諾システム100において、企業1111が、サービスへのアクセスを獲得するためライセンス127の生成をアウトソーシングするときの例示的ワークフローを示す。図11の例示的ワークフローは、例えば、ここで説明された例示的実施形態と組み合わせて使用されることができる。図11において、ビジネス・エンティティB303のような企業1111は、例示的実施形態に従って、ライセンス生成サービス105のようなサービスへライセンス127の生成をアウトソーシングすることができる。好適には、このようにして、ライセンス127の生成タスクに関連したリソースは、企業1111のために解放されることができる。
【0086】
アクセスの許可が望まれ、ライセンス127を生成できる企業1111のサービスは、例えば、企業1111によって所有されるサービス、企業1111のビジネス・パートナーによって所有されるサービス、Webサービス・プロバイダ101によって提供されるサービス119などを含むことができる。ライセンス127の付与を許可するタスク、例えばライセンス127の発行は、ライセンス署名メカニズム1115を介してライセンス127へデジタル的に署名することを含むことができ、企業1111へ残ることができる。この例示的実施形態において、例えば、企業1111が問題のサービスを所有しているときのように暗黙的に、又は他のビジネス・エンティティのためにライセンス127を発行する権利を企業1111へ付与する頒布ライセンス305を介して明示的に、企業1111はライセンス127を発行する許可を有するであろう。
【0087】
したがって、ステップ1101で、例えば、Webサービス・クライアント103のような1つ又は複数のクライアント及び/又はエンドユーザ1113は、企業1111からライセンス127を要求することができる。企業1111が、リクエストされたライセンス127をクライアント及び/又はエンドユーザ1113へ発行することを決定すれば、ステップ1103で、例えば、企業1111は、ライセンス生成サービス105から署名のないライセンスを要求する。更なる例示的実施形態において、企業1111は、そのような署名のないライセンスのリクエストを行うことができる。なぜなら、例えば、企業1111は、広告目的、販売促進目的などのために、ライセンス127をクライアントへ「プッシュ」することを望んでよいからである。企業1111は、ライセンス生成サービス105と交信し、ここで説明される例示的実施形態のライセンス・プロトコルのような任意適切なメッセージング・プロトコルを使用して、署名のないライセンスのリクエストを行うことができる。
【0088】
ステップ1105では、例えば、ライセンス生成サービス105は、署名のないライセンスのリクエストを処理し、ここで説明される例示的実施形態のライセンス生成手法のような任意適切なライセンス生成手法を使用して、署名のないライセンスを作成し、署名のないライセンスを企業1111へ引き渡す。例えば、企業1111は、ステップ1107ではライセンスに署名し、ステップ1109では署名されたライセンス127をクライアント及び/又はエンドユーザ1113へ引き渡し、送信し、伝達し、発行する。
【0089】
企業1111がライセンスの生成及び署名をアウトソーシングする例示的ワークフローは、図11のワークフローと類似しているが、ライセンス生成サービス105が署名のないライセンスの署名を実行して、ライセンス127を生成できることが異なっている。この例示的実施形態において、ライセンス生成サービス105は、例えば、企業1111のために「代理人」署名者として構成されることができる。ライセンス生成サービス105は、例えば、企業1111のために署名のないライセンスに署名するために使用される署名キーを保護することができる。したがって、発行参加者は企業1111であるが、ライセンス生成サービス105は企業111の代理人として働くことができる。ライセンス生成サービス105は署名キーを保全し、保護するので、ライセンス127の要求者は、好適には、サービスのスプーフィングを防止するために認証されることができる。
【0090】
図12は、図1のネットワーク・サービス許諾システム100において、複数の企業1111が、サービスへのアクセスを獲得するためライセンス127の生成をアウトソーシングするときの例示的ワークフローを示す。図12の例示的ワークフローは、例えば、ここで説明される例示的実施形態と組み合わせて使用されることができる。図12で示されるように、ライセンス生成サービス105の観点から見て、好適には、ライセンス生成サービス105は、ステップ1103のライセンス・リクエスト・サービス、ステップ1105のライセンス引き渡しサービスを、複数の企業1111へ提供することができる。この例示的実施形態において、企業1111の各々は、例えば、対応するアカウントを関連付けられ、ライセンス生成サービス105は、複数の企業1111のために発行されたライセンス127をアカウントごとに管理するように構成されることができる。
【0091】
ライセンス生成サービス105は、例示的実施形態のライセンスを生成する任意適切な方法を利用することができる。このような方法は、これから説明するような例示的方法を含む。これらの例示的方法は、好適には、ライセンス127、頒布ライセンス305などの様々なタイプのライセンスを生成するために使用されることができる。
【0092】
図13は、ライセンス・テンプレート1301に基づくライセンス生成の例示的方法を示す。この例示的方法は、図1のネットワーク・サービス許諾システム100で使用されることができる。図13で示されるように、この例示的方法において、ライセンス生成サービス105は、例えば、ローカル・ライセンス・テンプレート1301及びライセンス生成ポリシー1303を管理する。テンプレート1301は、ライセンスを生成するためポリシー1303のもとで使用される。テンプレート1301及びポリシー1303は、アウトソーシング型の協定でライセンス生成サービス105を利用できるエンティティのような許可エンティティの合意のもとで作成されることができる。
【0093】
ライセンス・テンプレート1301は、例えば、既定のライセンスを含むことができる。ライセンスが生成されるとき、既定のライセンスの1つ又は複数のフィールドが、例えば、置換、充填される。例えば、ライセンス・テンプレート1301は、本人が定義されていないで特定の本人によって置換されるライセンス・テンプレート、サービス119のようなリソースが定義されていないで、ライセンス生成の時点で特定のリソースによって置換されるライセンス・テンプレートを含むことができる。
【0094】
ライセンス生成ポリシー1303は、例えば、リクエストに基づいて、どのテンプレートを使用するかを決定する規則を含むことができる。例えば、ポリシーは、「特定のリソースを含むライセンスへの全てのリクエストは、テンプレート123を使用すること」、「会社ABCからの全てのリクエストは、テンプレートID456を使用し、リクエストで送信された本人で、本人を解決/置換すること」のような規則を含むことができる。
【0095】
したがって、ライセンス生成サービス105へ送信されたライセンス・リクエスト・メッセージ1305は、例えば、本人のID/キー、リソースID、テンプレートIDなどのパラメータ1307を含むことができ、それらに基づいて対応するライセンスを生成することができる。パラメータ1307の指定は、例えば、手作業で配列されるか、自動的に配列されるか、前もってサービスのWSDL記述の中に体系化されるか、前もって決定されることができる。
【0096】
図14は、許可ライセンス1401に基づいてライセンスを生成する例示的方法を示す。この方法は、図1のネットワーク・サービス許諾システム100で使用されることができる。この例示的方法において、ライセンス生成サービス105は、リクエスト1305と一緒に、ライセンスの発行を許可する許可ライセンス1401を受け取る。許可ライセンス1401は、発行される付与を含む。したがって、許可ライセンス1401は、例えば、ライセンス・プロトタイプ、レシピなどを含むことができる。この方法では、一般的に、ローカル・テンプレートを使用する必要がある。なぜなら、許可ライセンス1401の中でテンプレートを規定できるからである。レシピをエンコードして許可ライセンス1401の中に付与を生成できるXrMLのような権利言語を使用して、この方法を使用することができる。
【0097】
したがって、ライセンス生成サービス105へ送信されたライセンス・リクエスト・メッセージ1305は、例えば、本人のID/キー、リソースIDなどのパラメータ1307を含み、それらに基づいて対応するライセンスを生成することができる。パラメータ1307の詳細は、例えば、手作業で用意されるか、自動的に用意されるか、前もってサービスのWSDL記述で体系化されるか、前もって決定されることができる。
【0098】
この例示的実施形態の方法は、図13の例示的方法よりも柔軟性を提供することができる。例えば、ライセンスを作成するための命令、レシピ、ライセンス・プロトタイプなどを送信することによって、好適に、ライセンス生成サービス105は、ライセンス・テンプレート1301で規定されたライセンスだけでなく、様々なタイプのライセンスを生成することができる。更に、ライセンス生成サービス105は、例えば、リクエスト1305と一緒に送信された許可ライセンス1401を評価及び/又は解釈することによって、ライセンスの発行が許可されているか否かを決定することができる。
【0099】
ライセンス・プロトタイプは、例えば、許可ライセンス1401の一部分である付与を、ライセンスを発行する付与の中に含めることができる。こうして、ライセンス・プロトタイプは、例えば、付与を含むことができ、その付与から最終の付与を作成することができる。そのような付与は、許可ライセンス1401に含まれるライセンスを発行する権利に関連付けられる。
【0100】
図15は、例えば、XrML言語などの権利言語のコンテキストの中で、ライセンス・プロトタイプ1503に基づくライセンス127を生成する例示的方法を示す。この方法は、図1のネットワーク・サービス許諾システム100の中に存在することができる。図15で示されるように、到着するリクエスト1305は、ゼロ又はそれより多い変数「X」を有するライセンス・プロトタイプ1503を含む許可ライセンス1401を含む。ステップ1501で、例えば、ライセンス生成サービス105は、リクエスト1305を処理して、結果のライセンス127を生成する。この生成は、ライセンス・プロトタイプ1503を使用し、発行されたライセンス1501からの情報1507でライセンス・プロトタイプ1503からの変数を解決することによって行われる。
【0101】
図16は、最初からライセンスを生成する例示的方法を示す。この方法は、図1のネットワーク・サービス許諾システム100で使用することができる。図16において、ライセンスを生成する他の例示的方法は、例えば、「最初」からライセンスを生成することを含む。この例示的方法において、ライセンス生成サービス105は、一般的には、ライセンス・テンプレート1301及び/又は許可ライセンス1401に依存しない。その代わりに、ライセンス生成サービス105は、ライセンス生成のリクエスト1305と一緒に受け取られた詳細パラメータ1601の形式で受け取られる命令を採って、それから特注ライセンスを生成する。この例示的方法によって、ライセンス生成サービス105は、適切な詳細パラメータ1601に基づいて様々なタイプのライセンス、権利表現などを生成することができる。しかし、この例示的方法によって生成できるライセンスを超えるライセンス・タイプの豊富さは、プログラミング及び/又はメッセージングに使用されるAPI、基礎にあるソフトウェアの能力などに依存することができる。したがって、この例示的方法において、使用されるプログラミング及び/又はメッセージング・インタフェースは、完全な特注ライセンスを構成するために必要な詳細パラメータ1601に含まれる情報を送信できるように、十分詳細に構成されることができる。例えば、そのような情報は、本人に関する情報、リソースに関する情報、権利に関する情報、条件に関する情報などを含むことができ、これらの情報はライセンスを構成するために使用可能である。
【0102】
ライセンス127、頒布ライセンス305などのライセンスの解釈は、例えば、どのような権利がライセンスで付与されたか、あるとすれば、どのような条件がそのような付与に関連付けられているかなどの決定を含むことができる。例示的実施形態において、ライセンスの確認に関連するプロセスは、ライセンスの解釈タスクとバンドルされ、関連付けられ、関連させられることができる。しかし、更なる例示的実施形態によれば、ライセンス確認プロセスは、ライセンス解釈プロセスから分離されることができる。
【0103】
図17は、ライセンスを確認する例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。ライセンス127、配布ライセンス305などのライセンスの確認は、その語句が暗示するように、例えば、ライセンスが「有効」であるか否かを決定することを含む。この決定は、一般的には、暗号化手法を使用することを含む。例示的実施形態において、ライセンス確認及び解釈サービス109は、ライセンス確認プロセスを実行することができる。
【0104】
したがって、図17のステップ1701において、例えば、ライセンスが確認のために受け取られる。例示的実施形態において、受け取られたライセンスは、例えば、その内容を秘密に維持するため暗号化されることができる。したがって、ステップ1703のライセンスの解読では、例えば、ライセンスを解読することができる。しかし、ステップ1717で決定されるように、ライセンスが暗号化されていなければ、例えば、ステップ1703のプロセスをバイパスすることができる。更に、ステップ1713で決定されるように、受け取られたライセンスの解読プロセスが失敗すれば、ステップ1715において、例えば、ライセンスを無効と考えることができる。例示的実施形態において、使用される暗号化及び/又は解読プロセスは、非対称暗号化手法、対称暗号化手法、公開鍵暗号化手法、秘密鍵暗号化手法などに基づいて実行されることができる。
【0105】
ステップ1705の署名検証及び/又は完全性チェックにおいて、例えば、ライセンスの完全性をチェックすることができる。このチェックは、ライセンスの完全性を決定して、許可された発行者によってライセンスが、例えば作成され、デジタル的に署名されたときから、ライセンスが変更されていないことを保証することを含む。しかし、ステップ1719で決定されるように、ライセンスが署名されていなければ、例えば、ステップ1705のプロセスをバイパスすることができる。更に、ステップ1713で決定されるように、ライセンスの検証プロセスが失敗すれば、ステップ1715で、例えば、ライセンスを無効と考えることができる。
【0106】
完全性チェックに失敗したライセンスは信頼されなくてもよいが、完全性チェックを通過したライセンスは、ライセンスの署名に使用されたキーの信頼性テストを必要とするかもしれない。一般的には、ライセンスの署名者はライセンスの発行者である。例示的実施形態において、発行者の信頼性テストは、ライセンス解釈プロセスの一部分であることができ、ステップ1705の検証プロセスは、更に、非対称暗号化手法、対称暗号化手法、公開鍵暗号化手法、秘密鍵暗号化手法などに基づいて実行されることができる。
【0107】
ステップ1707のライセンス撤回チェックにおいて、例えば、デジタル証明書などのデジタル的に署名された文書と同じく、ライセンスも様々な理由で撤回されることができる。しかし、ステップ1721で決定されるように、ライセンスが撤回されなければ、例えば、ステップ1707のプロセスをバイパスすることができる。更に、ステップ1713で決定されるように、ライセンスの撤回チェックが失敗すれば、ステップ1715で、例えばライセンスを無効と考えることができる。例示的実施形態において、ライセンス撤回ステップは、例えば、適切な方法、チャネルなどを介して、ライセンスが撤回されたか否かを決定することができる。更に、例示的実施形態において、撤回されたライセンスはもはや有効ではなく、権利の付与を許可するために使用されることはできない。
【0108】
ステップ1709の他の確認において、例えば、ライセンスに対して他の有効性チェックを実行することができる。ステップ1711で使用されるように、ライセンスが他の有効性チェックにパスすれば、ステップ1711で、例えば、ライセンスは有効であると考えることができる。同様に、ステップ1723で決定されるように、他の有効性チェックが使用されなければ、例えば、ステップ1709のプロセスをバイパスすることができ、ステップ1711で、例えば、ライセンスは有効と考えられる。更に、ステップ1713で決定されるように、ライセンスに対する他の有効性チェックが失敗すれば、ステップ1715で、例えば、ライセンスを無効と考えることができる。例示的実施形態において、ライセンスは、有効期間、ライセンスの特定の発行者などのライセンスの有効性を立証する追加情報を含むことができ、期限が切れたライセンスはもはや有効とは考えられない。
【0109】
ステップ1707及び1709のプロセスは、ライセンスの中の情報を決定することを含む。これは、例示的実施形態によれば、確認プロセスの一部分としてライセンスの中を見ることを伴う。なぜなら、そのようなステップは、ライセンスの有効性に緊密に関係しているからである。しかし、更なる例示的実施形態によれば、そのようなステップは、計算の観点からライセンス解釈プロセスの一部分と考えられる。
【0110】
図18は、ライセンスを解釈し状態を追跡する例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。ライセンス127、頒布ライセンス305などのライセンスの解釈は、例えば、ライセンスが実際に何を許可したか、及びそのような許可の条件などを決定することを含む。例示的実施形態において、これから説明するように、ライセンスの解釈は、サービスとして実現されることができる。その場合、ライセンス確認及び解釈サービス109などが、ライセンス解釈プロセスを実行することができる。しかし、更なる例示的実施形態によれば、ライセンス・インタープリターは、例えば、ライセンスを解釈することのできる任意適切なコンポーネント、デバイス、システム、サブシステム、メカニズム、ソフトウェアなどを含むことができる。
【0111】
例示的実施形態によれば、Webサービス・プロバイダ101は、Webサービス・クライアント103からライセンス127と一緒にサービス119へのリクエスト121を受け取ると、ライセンス127を確認して、例えば、ライセンス127の完全性、真正性などを保証することができる。しかし、これから説明するように、更なる例示的実施形態によれば、Webサービス・プロバイダ101は、例えば、ライセンス127の確認タスクをライセンス解釈サービス109へオフロードすることができる。好適には、ライセンス解釈サービス109は、外部撤回メカニズムを保全及び/又は照査して、例えば、ライセンス127に関連付けられた署名がライセンス127の使用時点で有効か否かを決定し、Webサービス・プロバイダ101のために、そのようなリソース及びタスクを解放することができる。
【0112】
したがって、図18のステップ1801において、例えば、Webサービス・プロバイダ101は、ライセンス解釈リクエスト125を行い、ライセンス127をライセンス解釈サービス109へ送信することができる。Webサービス・プロバイダ101は、例えば、そのようなクエリーの交換を許す任意適切な通信プロトコルを介して、リクエスト1
27を渡すことができる。ライセンス127の解釈は、サービス119へのリクエスト121が許可されるか否か、そのような許可は、あるとすれば、どのような条件で付与されるかなどを決定することを含む。こうして、そのようなクエリーは、例えば、「要求者XはリソースYへのアクセスを許可されるか」のような形式である。
【0113】
ライセンス127の解釈は、更に、例えば、Webサービス・プロバイダ101によって信頼される発行者が、ライセンス127を許可したか否かを決定することを含む。しかし、Webサービス・プロバイダ101が、ライセンス127の発行者を認識しないか、信頼することができなければ、ライセンス127の発行を発行者に許可するライセンス、例えば頒布ライセンス305を更にチェックすることができる。
【0114】
ステップ1807において、例えば、ライセンス解釈プロセスの結果は、ライセンス解釈サービス109からWebサービス・プロバイダ101への応答を含むことができる。この応答は、ライセンス127、配布ライセンス305などのライセンスで付与されてリクエストされた作業、サービスへのアクセスなどが、許可されているか否かを示す。ライセンス解釈サービス109からの肯定応答を仮定し、義務123のような更なる条件は使用されないと仮定すると、ステップ1809で、例えば、Webサービス・プロバイダは、サービス119のようなサービスを、Webサービス・クライアント103のようなクライアントへ提供することができる。
【0115】
更に、Webサービス・プロバイダ101が、例えば、サービス119を供給する条件として実行しなければならないゼロ又はそれより多い義務123が、ライセンス127で指定されたそのような条件を評価するライセンス解釈サービス109から生じることがある。例えば、義務123は、Webサービス・プロバイダ101がサービス119へのアクセスを記録すること、サービス119のレンダリングにタイムリミットを課すことを含む。例示的実施形態のステップ1811において、例えば、ライセンス解釈サービス109は、更に、ライセンス127及び/又は配布ライセンス305で指定された他のサービスを使用することができる。そのような他のサービスとして、例えば、状態追跡サービス111などの他のサービスからカウント、制限値など含む状態情報115をリトリーブするサービスがある。
【0116】
こうして、例示的実施形態によれば、ライセンス127、配布ライセンス305などのライセンスを使用して、図1のネットワーク・サービス許諾システム100のサービス、システム、サブシステム、コンポーネント、デバイスなどの他のサービス、エンティティのために、ロケーション情報などの情報を指定することができる。更に、例示的実施形態のライセンス解釈ワークフローは、ここで説明される例示的ライセンス解釈プロトコルなどの任意適切なライセンス解釈プロトコルを使用することができる。
【0117】
前述したように、ライセンス解釈サービス109は、ライセンス127、配布ライセンス305などのライセンスを解釈するプロセスで、状態追跡サービス111などの状態追跡サービスに記憶することのできる状態情報115などの状態情報を使用することができる。状態情報115を取得するためのロケーション、プロトコルなどは、例えば、UDDI、WSDLなどのWebサービス及び/又は言語に基づいてライセンスの中にエンコードされることができる。ライセンスを確認することによって、ライセンス解釈サービス109は、ライセンスに指定されたリンク、参照などが、状態追跡サービス111などの許可されたサービスへ向けられたものであることを保証することができる。したがって、ステップ1803において、例えば、ライセンス解釈サービス109は、状態追跡のリクエストを状態追跡サービス111へ送信する。
【0118】
しかし、状態追跡サービス111は、要求しているエンティティ、例えばライセンス解釈サービス109が認証されることを保証しなければならない。例示的実施形態において、任意適切な方法、例えば、ライセンス127、配布ライセンス305などのライセンスを提示することによって、ライセンス解釈サービス109を認証することができる。次に、ステップ1805において、例えば、状態追跡サービス111は、リクエストされた状態情報115をライセンス解釈サービス109へ提供する。例示的実施形態において、ここで説明される例示的プロトコルのような任意適切なプロトコルを使用して、状態情報115を転送することができ、その転送は、例えば、セキュア・ソケット・レイヤ(SSL)技術などの安全な伝送インターネット技術を介して行うことができる。
【0119】
次に、ライセンス解釈サービス109は、ステップ1807で、例えばライセンスの解釈を完了するため、状態追跡サービス111から受け取られた状態情報115を使用することができる。例示的実施形態において、状態情報115は、例えば、サービス119がアクセスされた回数、支払いレコード、タイムスパンなどを含むことができる。
【0120】
前述したように、ライセンス解釈サービス109は、更にステップ1807で、例えば、義務123などを含む解釈情報をWebサービス・プロバイダ101へ送ることができる。義務123が満足させられると、ステップ1809で、例えば、Webサービス・クライアント103は、Webサービス・プロバイダ101のサービス119へアクセスすることなどの、ライセンス127に含まれた権利を行使することができる。
【0121】
しかし、前述したように、Webサービス・クライアント103がWebサービス・プロバイダ101のサービス119を使用することは、更新された状態情報115の転送のようにWebサービス・プロバイダ101によって満たされなければならない義務を伴う。したがって、ステップ1811で、例えば、Webサービス・プロバイダ101は、状態追跡サービス111とのコンタクトを確立して、更新された状態情報115などを転送する。更新された状態情報115を状態追跡サービス111へ転送するためのロケーション、プロトコルなどは、例えば、UDDI、WSDLなどのWebサービス及び/又は言語に基づいてライセンスの中にエンコードされることができる。
【0122】
ライセンスを確認することによって、Webサービス・プロバイダ101は、ライセンスの中で指定されたリンク、参照などが、状態追跡サービス111のような許可されたサービスへ向けられていることを保証することができる。しかし、状態追跡サービス111は、Webサービス・プロバイダ101のような要求しているエンティティが認証可能であることを保証しなければならない。例示的実施形態において、任意適切な方法、例えば、ライセンス127,配布ライセンス305などのライセンスを提示することによって、Webサービス・プロバイダ101を認証することができる。確認、保証、義務などが満足させられると、ステップ1811で、例えば、Webサービス・プロバイダ101は、更新された状態情報115を状態追跡サービス111へ転送することができる。
【0123】
説明された実施形態の例示的ワークフローをサポートするため、ここで説明される例示的ライセンス・プロトコルのような任意適切なメッセージング・プロトコルを使用して、ワークフローに関連付けられたメッセージ、例えば、ライセンスが使用されなければならないことを示すメッセージ、ライセンスを要求するメッセージ、ライセンスが有効であることを示すメッセージ、ライセンスが無効であることを示すメッセージなどをエンコードすることができる。例示的ライセンス・プロトコルは、例えば、XrML、XMLなどを使用してエンコードされることができ、例えば、Webサービス・クライアントとWebサービス・プロバイダ101との間で送られるメッセージに含ませることができる。
【0124】
例えば、XMLを使用し、SOAPのメッセージング・フレームワークを使用するライセンス・プロトコルの例示的実施形態は、表1に示される。例示的実施形態において、メッセージの処理中に<fault>エレメントを介して障害を表示するようなSOAPエレメントは、SOAP仕様に従って使用されることができる。
【0125】
【0126】
表2で示される例示的ライセンス解釈プロトコルは、例えば、ライセンス・プロトコルの一部分であることができる。ライセンス解釈プロトコルは、明瞭にするため別々に説明される。Webサービス・プロバイダ101は、例えば、ライセンス解釈サービス109を呼び出すとき、ライセンス解釈プロトコルを使用することができる。ライセンス・プロトコルと同じように、ライセンス解釈プロトコルは、SOAPのようなメッセージング交換プロトコルを使用して、XrMLメッセージ、XMLメッセージなどを送信するように実現されることができる。表2は、XMLがSOAPのメッセージング・フレームワーク及び権利言語XrMLを使用する例示的ライセンス解釈プロトコルを示す。
【0127】
【0128】
例示的実施形態において、状態追跡プロトコルは、状態追跡サービス111のようなサービスとの間で、状態情報115のような情報を、例えばリトリーブ、転送するために使用できる任意適切なプロトコル、例えば、公的、私的、独自、又は標準プロトコル、及びここで説明される例示的プロトコルを含むことができる。したがって、状態追跡プロトコルは、サービス119のようなサービスが、何回行使されたかのカウントをリトリーブして、行使カウントを送り、行使カウントを記憶するためなどに使用することができる。
【0129】
更に、支払い情報、時間情報などの或るタイプの情報の交換は、他の企業によってプロトコルの中で既に標準化されているかもしれない。そのような場合、更なる例示的実施形態に従って、そのような標準化プロトコルを状態追跡プロトコルの中に入れることができる。更に、更なる例示的実施形態に従って、状態追跡サービス111の専門化、実現化などに依存するプロトコルを使用してよい。例えば、状態追跡サービスがデータベースを含むならば、情報のリトリーブ及び記憶は、データベース・クエリー・メカニズムを介して実行可能である。
【0130】
図1のネットワーク・サービス許諾システム100の例示的実施形態によってサポートされる例示的使用のシナリオ、ビジネス・アプリケーションなどを、これから説明する。
【0131】
図19は、図1のネットワーク・サービス許諾システム100で使用できるライセンスを指定する例示的ワークフローを示す。この例において、例えば例示的実施形態のライセンス生成105及び解釈109サービスに基づくWebベースのライセンス生成及び解釈サービス1907のようなサービスは、ライセンス127及び/又は配布ライセンス305などのライセンスを生成するための権利指定、権利解釈などを可能にする。例示的実施形態によれば、ライセンス生成及び解釈サービス1907は、権利クリアリング・サービス、デジタル資産マネジメント・システム、デジタル・ライト・マネジメント・システムなどのビルディング・ブロックとして使用されることができる。
【0132】
例示的実施形態におけるライセンス生成及び解釈・サービス1907は、例えば、グラフィカル・ユーザ・インタフェース(GUI)などのユーザ・インタフェースを提供すること、XrMLなどの権利言語に基づいて、ユーザ入力をライセンスのような権利表現へ変換することを含む。更なる例示的実施形態に従ったライセンス生成及び解釈サービス1907は、1つ又は複数のユーザ・インタフェースであって、各々のユーザ・インタフェースが特定のフォーマット、企業などに専門化されているユーザ・インタフェースを提供することができる。例えば、ライセンス生成及び解釈サービス1907は、ビデオ・フォーマットのユーザ・インタフェース、音楽フォーマットのユーザ・インタフェース、更に電子ブックのユーザ・インタフェースを提供することができる。好適には、特定の消費者の詳細及び/又は複雑性に適合したユーザ・インタフェースの提供は、付加価値を有するライセンス生成及び解釈サービス1907の特徴となる。
【0133】
例示的実施形態によれば、ライセンス生成及び解釈サービス1907は、権利クエリーの受け入れ、対応する権利表現に対する権利クエリーの処理などを含むことができる。例えば、例示的な権利クエリーは、「会社Nの従業員であるジョン Mは、販売者Pから1000ドルの商品を購入する権利を有するか」などの形式であることができる。そのようなクエリーからの出力は、例えば、どのような権利が利用可能であるか、そのような権利へどのような条件が付加されているかなどの断定を含むことができる。ライセンス生成及び解釈サービス1907は、特定タイプの権利クエリーへのユーザ入力を容易にする1つ又は複数のユーザ・インタフェースを提供することによって、更なる価値を付加することができる。
【0134】
好適には、エンティティによって権利指定機能及び権利解釈機能の双方を提供することが、例えば、権利解釈の首尾一貫性、正確性などを増加させる。言い換えれば、権利指定を作成するシステムは、一般的には、そのような権利を解釈するとき同じ規則を適用するように装備されるのがよい。例示的実施形態において、権利表現、権利表現の定義、権利表現の解釈などは、企業標準などを含む任意適切な標準に基づくことができる。
【0135】
したがって、例示的実施形態において、創作者であるユーザ1919は、例えば、出版者との契約に関係して或るタイプのコンテンツに関連付けられた権利を指定したいと望む。ユーザ1919が使用するオーサリング・アプリケーション1909は、コンテンツのために権利のメタデータを指定する方法を提供しないが、そのような機能を提供するライセンス生成及び解釈サービス1907のようなWebサービスを呼び出すことができる。
【0136】
したがって、ステップ1901において、例えば、オーサリング・アプリケーションは、権利指定、解釈などを提供するライセンス生成及び解釈サービス1907に接続する。例えば、ライセンス生成及び解釈サービス1907は、或る産業に専門化され、その特定の産業、取引などで使用及び理解される用語、契約テンプレートなどをユーザ・インタフェースに提供することができる。ユーザ1919は、ライセンス生成及び解釈サービス1907と交信し、ステップ1903で、例えば、ライセンス生成及び解釈サービス1907は、XrMLなどに基づいて、ユーザ1919が提供する情報を、署名がないライセンスのような権利表現へ変換する。次に、署名がないライセンスは、ユーザ1919へ、例えば返却、伝達、送信され、ユーザ1919はライセンスへデジタル的に署名することができる。
【0137】
ステップ1905において、ユーザ1919は、関連付けられたコンテンツと一緒に、署名されたライセンスを、データベースなどのライセンス記憶デバイス1915を含む出版者のデジタル資産マネジメント・システム1913へ送ることができる。ここで、コンテンツは、例えば、出版者のドメインの中でデジタル資産マネジメント・システム1913によって管理されることができる。
【0138】
図20は、図1のネットワーク・サービス許諾システム100で使用できるライセンスを解釈する例示的ワークフローを示す。例えば、図20において、出版物の製作ワークフローの間に、権利スペシャリストのボブは、デジタル資産マネジメント・システム1913の特定の資産の権利を質問したいと望む。この例において、資産の権利は、例えばXrMLライセンスによってカプセル化されている。例えば、Webサービスがより専門的な能力を提供できるので、設計上ライセンスの解釈能力を有しないデジタル資産マネジメント・システム1913は、例えば、GUIのような直感的ユーザ・インタフェースを提供するライセンス生成及び解釈サービス1907にアクセスする。好適には、ライセンス生成及び解釈サービス1907は、或るタイプの契約、ライセンスなどの解釈に専門化され、特定の出版物に使用される権利を質問するようにユーザ・インタフェースを動作させる。例示的実施形態において、ライセンス生成及び解釈サービス1907は、ライセンスが記憶、組織化された索引付きデータベースを含むことができる。
【0139】
したがって、ステップ2001で、ボブは、デジタル資産マネジメント・システム1913を介して、XrMLライセンスと一緒にクエリーをライセンス生成及び解釈サービス1907へ送る。次に、ステップ2003で、例えば、ライセンス生成及び解釈サービス1907は、クエリー・リクエストに基づいてライセンスに含まれる権利を解釈し、クエリーの結果をボブへ返却する。
【0140】
ライセンス発行及び解釈サービス1907へアクセスする例示的ワークフロー
前述した例示的権利処理ワークフローは、ライセンス生成及び解釈サービス1907のようなWebサービスによって提供される機能であるが、このワークフローは、ライセンス生成及び解釈サービス1907を呼び出し、アクセスするプロセスを説明していない。例えば、例示的実施形態において、XrMLライセンスは、ライセンス生成及び解釈サービス1907のアクセスに使用されない。したがって、権利処理機能は、ライセンス生成及び解釈サービス1907などのWebサービスによって提供される一般的機能であることができ、WSDLのようなWebサービスを記述する任意適切な標準ベースの言語を使用して記述されることができる。
【0141】
しかし、多くのビジネス・シナリオにおいて、ライセンス生成及び解釈サービス1907などのサービスへのアクセスを管理することが好適になる。例えば、Webベースのライセンス発行及び解釈サービス1907の所有者であるユーザ2005は、ユーザ2005の提案を発見してサービスを使用できる任意の参加者へサービスを提供してきた。しかし、ユーザ2005のライセンス生成及び解釈サービス1907は成功し、現在、ユーザ2005はライセンス発行及び解釈サービス1907を商品化したいと望んでいる。例示的実施形態によれば、ユーザ2005は、ライセンス発行及び解釈サービス1907へeコマース能力を付加することができる。
【0142】
したがって、ユーザ2005は、例えば、ライセンス発行及び解釈サービス1907へeコマース・パッケージを付加することができる。これは、顧客アカウント処理メカニズム、金融トランザクション処理メカニズム、ログイン及びパスワード処理メカニズムなどの様々なメカニズムの作成を伴う。しかし、そのようなサービスは、サービス及びその顧客への障壁を作り出す。例えば、ログイン処理、忘却されたパスワードの処理、支払いの処理、請求金額の決定、使用される方法の決定などが煩瑣になる。
【0143】
したがって、更なる例示的実施形態によれば、ユーザ2005は、例えば、ライセンスが手作業によって、又は自動的に提示されることに基づいてアクセスが付与されるように、ライセンス発行及び解釈サービス1907を構成することができる。概念的には、そのようなシステムは、例えば、ライセンス発行及び解釈サービス1907との初期通信プロトコルの間にライセンスを提出することを含む。例示的実施形態において、ライセンス発行及び解釈サービス1907のクライアント、及びライセンス発行及び解釈サービス1907は、ここで説明される例示的ライセンス・プロトコルのような任意適切なライセンス・プロトコルに従うことができる。この例示的実施形態において、XrMLライセンスのようなライセンスは、アプリケーションがライセンス発行及び解釈サービス1907と交信するときに提示されることができる。ライセンスが有効であれば、ライセンス発行及び解釈サービス1907のサービスをレンダリングすることができる。
【0144】
図19及び図20において、アプリケーションがライセンス発行及び解釈サービス1907からサービスを要求するとき、ライセンスを提示する能力を含むように、オーサリング・アプリケーションを構成することができる。図21は、図1のネットワーク・サービス許諾システム100で使用できるサービスの消費をコントロールする例示的ワークフローを示す。図21のステップ2101において、例えば、ユーザ1919のオーサリング・アプリケーション1909は、ライセンス発行及び解釈サービス1907と通信し、サービスを要求する。ステップ2103では、例えば、初期プロトコルの間に、ライセンス発行及び解釈サービス1907のサービスにアクセスするためライセンスが提示される。次に、ステップ2105では、例えば、ライセンスが受け入れられると、ライセンス発行及び解釈サービス1907は、そのサービスをレンダリングすることができる。
【0145】
ここで、ユーザ2005は、ライセンス発行及び解釈サービス1907にアクセスするために使用されるライセンスを誰が発行するかの問題を考える。例示的実施形態によれば、ユーザ2005は、ライセンスの発行を管理するようにライセンス発行及び解釈サービス1907を構成することができる。しかし、これはシステム及びユーザ自身にとって全く厄介な問題になる。
【0146】
更に、ユーザ2005は、顧客のためにeコマース・サイト及びデータベースを開発及び保全しなければならないであろう。しかし、ユーザ2005は、顧客データベースの管理はライセンス発行及び解釈サービス1907へ価値を付加するものではないと考え、顧客データベースの保全及び/又はデータ・マイニングの経済的能力を理解しない。
【0147】
したがって、ユーザ2005は、むしろライセンス発行及び解釈サービス1907を単純に維持し、サービスの基本的能力と機能に専念できるようにする。したがって、更なる例示的実施形態によれば、例えば、信頼された第三者によって発行され、オーサリング・アプリケーション1909とバンドルされることのできるライセンスを使用するように、ユーザ2005はライセンス発行及び解釈サービス1907を構成することができる。
【0148】
図22は、第三者がライセンスを発行する例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。例えば、例示的実施形態において、ユーザ2005は、例えば、ライセンス発行及び解釈サービス1907へアクセスするライセンスを発行する権利を付与するライセンス、例えば頒布ライセンス305を、ユーザ2005のビジネス・パートナーへ発行することができる。次に、ユーザ2005のビジネス・パートナーは、ユーザ1919のようなエンドユーザへ配布ライセンスを発行することができる。
【0149】
例えば、ユーザ2005のビジネス・パートナーは、例えば、ワード・プロセッサ、画像作成ソフトウェアなどのオーサリング・アプリケーション1909を作成及び販売する会社ABC2207のような会社を含むことができる。例えば、ユーザ2005は、ステップ2203でライセンス発行及び解釈サービス1907へアクセスするライセンスを発行する権利を会社ABC2207に付与することに基づいて、ステップ2201で会社ABC2207とビジネス取引を行うことができる。次に、ステップ2205において、例えば、ライセンス発行及び解釈サービス1907にアクセスするライセンスは、会社ABC2207によって、オンデマンドで発行され、オーサリング・アプリケーション1909とバンドルされることができる。好適には、この例示的実施形態において、ユーザ2005は、ライセンス発行及び解釈サービス1907へのアクセスを、オーサリング・アプリケーション1909のような第三者のアプリケーションとバンドルすることができる。
【0150】
例示的実施形態において、ユーザ2005及び/又は会社ABCは、ライセンス生成及び発行サービス105のような第三者のサービスを使用して、例示的実施形態のライセンスを生成することができる。更に、例えば、信頼管轄サービス113のようなセキュリティ・サービスを介して、ライセンスに署名するための署名キーを取得することができる。
【0151】
例示的実施形態によれば、ユーザ2005は、eコマース・システムを実行及び管理するために使用されるリソースを付加することなく、Webベースのライセンス発行及び解釈サービス1907を商品化することができる。ユーザ2005は、例えば、XrMLライセンスのような例示的実施形態のライセンスを使用することによって、ライセンス発行及び解釈サービス1907へアクセスする条件を決定することができる。好適には、例示的実施形態によれば、ユーザ2005は、例えば顧客ベースの管理を処理する必要はない。改善されたライセンス発行及び解釈サービス1907は、例えば、ライセンス処理能力のようにWebサービス・ソフトウェアへの或る改善を伴うが、そのような変更は、完全成熟eコマース・セットアップの展開と比較すれば無視することができる。
【0152】
例示的実施形態によれば、ユーザ2005は様々な補償方法を使用することができる。このような方法は、XrMLのような権利言語で記述可能である。例えば、例示的実施形態によれば、追跡されず、ライセンスでエンコードされず、義務のない補償方法を使用することができる。この例示的補償方法では、ユーザ2005は、均一料金、使用当たりの料金などで取引を協定することができる。それによって、ユーザ2005は、例えば、ライセンス発行及び解釈サービス1907にアクセスするライセンスを発行する無制限の権利を会社ABC2207へ付与する配布ライセンスを発行することができる。会社ABC2207は、ライセンス発行及び解釈サービス1907にアクセスするライセンスの数に基づいて、ユーザ2005に補償することができる。会社ABC2207は、一回払いなどに基づいて、そのソフトウェア、例えば、オーサリング・アプリケーション1909とサービス1907とをバンドルする。この実施形態では、ユーザ2005は、例えば、ソフトウェア販売に関して会社ABC2207が収集するデータを信頼しなければならない。
【0153】
例示的実施形態によれば、追跡され、ライセンスでエンコードされ、頒布者ごとの補償方法を使用することができる。この例示的補償方法において、ユーザ2005は、例えば、会社ABC2207へ発行する頒布ライセンスの中にエンコードされる補償規則を使用することができる。例えば、ライセンス発行及び解釈サービス1907にアクセスするライセンスを発行する権利が、会社ABC2207によって行使される度に、ユーザ2005のアカウントへ或る金額が支払われるというような条件が満たされること、配布ライセンスの各々の使用が、他の手段を介して追跡及び解決されることを指定するように、頒布ライセンスを構成することができる。好適には、この例示的実施形態を使用すれば、例えば正確で信頼性のある販売情報が利用可能となる。なぜなら、正確な追跡が可能になるからである。
【0154】
例示的実施形態によれば、追跡され、ライセンスでエンコードされ、エンドユーザごとに使用される補償方法を使用することができる。この例示的補償方法では、例えば、エンドユーザ・ライセンスが会社ABC2207によって発行されるとき、或る権利、条件などが、会社ABC2207が発行するエンドユーザ・ライセンスで指定されなければならないことを、ユーザ2005が会社ABC2207へ発行する頒布ライセンスによって指定することができる。例えば、会社ABC2207によって発行されたライセンスがエンドユーザによってライセンス発行及び解釈サービス1907にアクセスするため使用されたことを追跡するべきことを、ユーザ2005が配布ライセンスで指定することができる。したがって、例えば、ユーザ2005のライセンス発行及び解釈サービス1907がユーザ1919からライセンスを受け取り、処理するとき、そのライセンスはライセンスの使用を追跡するパラメータを指定することができる。好適には、この例示的実施形態を使用して、アカウンティング期間の終わりに、支払いのためにそのようなデータを収集、処理することができる。
【0155】
例示的実施形態において、会社ABC2207は、追加サービスをバンドルすることによって、会社ABC2207が市場で競争的利点を増加することができることを認識するであろう。この例示的実施形態において、例えば、会社ABC2207は、文書翻訳サービス、多言語スペルチェック・サービス、編集ツール・サービスなどのWebサービスを他の会社から得ることができる。そして、会社ABC2207は、そのような他の会社とビジネス取引を行い、そのような追加サービスのアクセスに使用できるライセンスを含めることができる。好適には、この例示的実施形態を使用して、会社ABCは、幾つかのサービスを集成して、その製品とバンドルすることができる。
【0156】
例示的実施形態において、集成された各々のサービスについて、XrMLライセンスのような各々のライセンスを使用して個々の権利、条件などを表現することができる。例えば、WebサービスBのライセンスは無制限で使用する権利を表現され、WebサービスCのライセンスは最大10回の使用条件を表現されることができる。好適には、この例示的実施形態によれば、サービスのアクセス及び使用の規則を決定できるライセンスの使用はサービスの集成を容易にする。
【0157】
例示的実施形態によれば、ユーザ2005は、頒布ライセンスをビジネス・パートナーへ発行することができ、ビジネス・パートナーはライセンス発行及び解釈サービス1907にアクセスするライセンスをエンドユーザへ発行することができる。この例示的実施形態は、ユーザ2005のビジネス・パートナーがユーザ2005のサービスへのアクセスの頒布者になることができる単層頒布モデルを示す。
【0158】
図23は、サービスのシンジケートの例示的ワークフローを示す。このワークフローは、図1のネットワーク・サービス許諾システム100で使用することができる。しかし、更なる例示的実施形態によれば、ユーザ2005は、Webベースのライセンス発行及び解釈サービス1907の詳細技術に専念し、例えば、会社ABC2207のような会社へビジネス取引をアウトソーシングすることができる。本質的にシンジケート・モデルであるこの例示的実施形態において、ユーザ2005は、シンジケート・ライセンスを、シンジケート会社2311のようなシンジケート・エージェントへ付与することができる。シンジケート・ライセンスは、ライセンス発行及び解釈サービス1907にアクセスするライセンスを発行する権利をABC会社2207に付与する頒布ライセンスを発行する権利をシンジケート会社2311に付与する。
【0159】
図1〜図23に関して説明したネットワーク・サービス許諾システム100は、ここで説明した様々なプロセスに関する情報を記憶することができる。この情報は、ネットワーク・サービス許諾システム100のデバイス及びサブシステムのハードディスク、光ディスク、磁気光学ディスク、RAMなどの1つ又は複数のメモリに記憶されることができる。図1のネットワーク・サービス許諾システム100のデバイス及びサブシステムの1つ又は複数のデータベースは、例示的実施形態を実現するために使用される情報を記憶することができる。データベースは、前述したメモリのような1つ又は複数のメモリに含まれるデータ構造、例えば、レコード、テーブル、配列、フィールド、グラフ、ツリー、リストなどを使用して組織化されることができる。
【0160】
図1〜図23に関して説明されたネットワーク・サービス許諾システム100の全体又は一部分は、例示的実施形態の教示に従ってプログラムされた1つ又は複数の汎用コンピュータ・システム、マイクロプロセッサ、デジタル・シグナル・プロセッサ、マイクロコントローラなどを使用して便利に実現されることができる。通常の知識を有するプログラマは、例示的実施形態の教示に基づいて適切なソフトウェアを容易に準備することができる。更に、ネットワーク・サービス許諾システム100は、特定用途集積回路を準備することによって実現されるか、通常のコンポーネント回路の適切なネットワークを接続することによって実現されることができる。
【0161】
本発明は、例示的ワークフローに関して説明されたが、当業者によって理解されるように、他のワークフローも可能である。例えば、サービス・イニシエーションの間、一般的には、ライセンスはサービス・リクエストの時点で提示される。しかし、ライセンスは、例えば他の時点で提示されるか格納され、更なるサービス・リクエストがライセンスの提出を伴わないようにすることも可能である。ライセンスは、「前もって提示」され、Webサービス、クライアントなどによって保持されることができる。ライセンスは、前もって提示された後、「前もって確認」されることができる。そのような場合、サービスへのアクセスがリクエストされたとき、許可された要求者からリクエストが行われたか否かが決定され、ライセンスが解釈されるであろう。
【0162】
例示的ワークフローは、ネットワーク・サービス許諾システム100の例示的デバイスに関連付けられた機能ステップとして説明されたが、当業者によって理解されるように、例示的ワークフローの1つ又は複数の機能ステップは、例示的実施形態の教示に従ってプログラムされた任意適切なデバイス、例えば1つ又は複数の汎用コンピュータ・システム、マイクロプロセッサ、デジタル・シグナル・プロセッサ、マイクロコントローラなどによって実行されることができる。
【0163】
本発明はWebサービスに関して説明されたが、当業者に明かであるように、本発明は、任意適切な頒布ネットワーク・サービスのような他のサービスに応用可能である。
【0164】
本発明は、Webサービス・モデルに関して説明されたが、当業者に明かであるように、本発明はサービスのために複製されるシンジケート・モデルのような他のモデルに応用可能である。例えば、例示的実施形態では、第三者がサービス・プロバイダからサービスを収集し、単独又は組み合わせて第三者のサービスとしてユーザへ利用可能にする。
【0165】
そのような例では、Webサービス・プロバイダ101は、シンジケート機能を提供しないか、提供できないが、サービスのために或る条件、権利などを設定することができる。したがって、この例示的実施形態は、第三者のサービス・プロバイダが、サービスの所有者のために、アクセス及び追跡サービスを第三者のサービスの使用者へ提供することを可能にする。好適には、特にコンポーネント・サービスのサービス市場は、この例示的実施形態を使用して、大きく活性化され、加速されることができる。対照的に、条件付きアクセスは、一般的には、そのような例を良好に処理することができず、及び/又は実際的ではない。
【0166】
本発明は、「オンライン」モードの動作に関して説明されたが、当業者に明らかであるように、本発明は「オフライン」モードのような他のモードの動作へ応用可能である。例えば、パーソナル・コンピュータ(PC)のハードドライブは、ライセンス生成ソフトウェア、ライセンス、及びライセンス解釈ソフトウェアを含むことができる。例示的実施形態の通信プロトコルは、この例では、ハードドライブの中の通信に使用されることができる。
【0167】
好適には、Webサービス・クライアント103は、確認されたライセンスを提示することができ、サービスが取得される時点でオンラインである必要なしに、Webサービスへのアクセスを取得することができる。例えば、サービスは、サービスがコンピュータ・プログラムの実行を含む場合のように、PCハードドライブに存在するか、サーバ、CD、又は他の記憶メディアのような他のデバイスを介して取得されることができる。
【0168】
何らかの理由で、金融支払いのようなオンライン・トランザクションが行われる場合、オンライン・セッションは、サービスの使用のリクエストが行われる時点以外の時点で行われることができる。金融トランザクションの場合、トランザクションは、プリペイド「スマートカード」のようなデジタル記憶デバイスなどを使用してオフラインで行われることができる。更に、交換されるべき任意適切な情報は、オンライン通信の代わりに物理的記憶デバイスを使用して交換されることができる。例えば、ライセンスは、スマートカードをPCへ挿入することによって提示されることができる。
【0169】
本発明は、多数の例示的実施形態及び実現形態に関して説明されたが、本発明はそれらの形態に限定されず、添付のクレイムの範囲に入る様々な修正、同等のものなどをカバーする。
【図面の簡単な説明】
【0170】
【図1】例示的実施形態に従った例示的ネットワーク・サービス許諾システムの略図である。
【図2】例示的実施形態に従って、図1のネットワーク・サービス許諾システムのWebサービス・プロバイダとWebサービス・クライアントとの間で行われる例示的交信の略図である。
【図3】例示的実施形態に従って、図1のネットワーク・サービス許諾システムの1つ又は複数のビジネス・ネットワークとライセンス発行及び/又は生成サービスとの間で行われる例示的交信の略図である。
【図4】例示的実施形態に従って、ネットワーク・サービス許諾システムのWebサービス・プロバイダとライセンス解釈サービスとの間で行われる例示的交信の略図である。
【図5】例示的実施形態に従って、ネットワーク・サービス許諾システムのWebサービス・プロバイダ、ライセンス解釈サービス、及び状態追跡サービスとの間で行われる例示的交信の略図である。
【図6】例示的実施形態に従って、図1のネットワーク・サービス許諾システムでサービスをイニシエートするためライセンスがメッセージに含まれるべきことをWebサービス・クライアントが前もって知っているときの例示的ワークフローを示す。
【図7】例示的実施形態に従って、図1のネットワーク・サービス許諾システムでサービスをイニシエートするためライセンスがメッセージに含まれるべきことをWebサービス・クライアントがサービス記述言語ファイルを介して知るときの例示的ワークフローを示す。
【図8】例示的実施形態に従って、ライセンスが図1のネットワーク・サービス許諾システムのライセンス生成サービスから取得されるべきことを、Webサービス・クライアントがサービス記述言語ファイルを介して知るときの例示的ワークフローを示す。
【図9】例示的実施形態に従って、図1のネットワーク・サービス許諾システムでサービスへのアクセスを獲得するためにライセンスが使用されるべきことをWebサービス・クライアントが知らないときの例示的ワークフローを示す。
【図10】例示的実施形態に従って、図1のネットワーク・サービス許諾システムで、Webサービス・クライアントが、ライセンスなしにサービスへのアクセスを獲得しようとし、ライセンスが使用されるべきことを通知され、サービスへのアクセスを獲得するためのライセンスを取得するときの例示的ワークフローを示す。
【図11】例示的実施形態に従って、図1のネットワーク・サービス許諾システムで、企業がサービスへのアクセスを獲得するためのライセンスの生成をアウトソーシングするときの例示的ワークフローを示す。
【図12】例示的実施形態に従って、複数の企業が図1のネットワーク・サービス許諾システムでサービスへのアクセスを獲得するライセンス生成をアウトソーシングするときの例示的ワークフローを示す。
【図13】例示的実施形態に従って、ライセンス・テンプレートに基づいてライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用されることのできる方法を示す。
【図14】例示的実施形態に従って、許可ライセンスに基づいてライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用できる方法を示す。
【図15】例示的実施形態に従って、例示的ライセンス・プロトタイプに基づいてライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用できる方法を示す。
【図16】例示的実施形態に従って、最初からライセンスを生成する例示的方法であって、図1のネットワーク・サービス許諾システムで使用できる方法を示す。
【図17】例示的実施形態に従って、ライセンスを確認する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図18】例示的実施形態に従って、ライセンスを解釈し状態を追跡する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図19】例示的実施形態に従って、ライセンスを指定する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図20】例示的実施形態に従って、ライセンスを解釈する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図21】例示的実施形態に従って、サービスの消費をコントロールする例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図22】例示的実施形態に従って、第三者によってライセンスを発行する例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【図23】例示的実施形態に従って、サービスをシンジケートする例示的ワークフローであって、図1のネットワーク・サービス許諾システムで使用できるワークフローを示す。
【特許請求の範囲】
【請求項1】
権利表現の発行において決定する信頼に基づいて権利を行使するコンピュータ実行方法であって、
連鎖するサーバにより権利表現を発行し、次の権利表現における権利を発行するために、次のサーバの権利の指定を含むように、最後の権利表現を除く権利表現の各々が、サーバからサーバへ、最終的には、最後のサーバからクライアントへ発行される権利表現の連鎖を形成し、
サーバの各々が権利表現を各々発行する権利を有するか否か決定し、
サーバの各々が権利表現を各々発行する権利を有すると決定された場合には、信頼されるとして、最後の権利表現に表現されている権利をクライアントにより行使し、
少なくとも一のサーバが権利表現を各々発行する権利を有しないと決定された場合には、信頼されないとして、最後の権利表現において表現される権利をクライアントにより行使しない、
コンピュータ実行方法。
【請求項2】
権利表現のいくつかはコンテンツを使用する権利の指定を含む、請求項1に記載のコンピュータ実行方法。
【請求項3】
連鎖におけるサーバの各々が権利表現を各々発行する権利を有するか否かを決定することは、該連鎖の少なくとも一のサーバについて、少なくとも一の決定するサーバを通してなされる、
請求項1に記載のコンピュータ実行方法。
【請求項4】
前記決定するサーバのいくつかは前記連鎖におけるサーバである、請求項3に記載のコンピュータ実行方法。
【請求項5】
前記決定するサーバのいくつかは前記連鎖におけるサーバではない、請求項3に記載のコンピュータ実行方法。
【請求項6】
連鎖におけるサーバの各々が権利表現を各々発行する権利を有するか否かを決定することは、署名が認識されるまで、該連鎖をたどって署名の検証を行うことを含む、請求項1に記載のコンピュータ実行方法。
【請求項7】
権利表現の発行において決定する信頼に基づいて権利を行使するシステムであって、 クライアントと、
権利表現を発行するように構成されているサーバの連鎖であって、次の権利表現における権利を発行するために、次のサーバの権利の指定を含むように、最後の権利表現を除く権利表現の各々が、サーバからサーバへ、最終的には、最後のサーバからクライアントへ発行される権利表現の連鎖を形成する、サーバの連鎖と、
サーバの各々が権利表現を各々発行する権利を有するか否かを決定する手段と、
を備え、
サーバの各々が権利表現を各々発行する権利を有すると決定された場合には、信頼されるとして、前記クライアントは、最後の権利表現に表現されている権利を行使し、少なくとも一のサーバが権利表現を各々発行する権利を有しないと決定された場合には、信頼されないとして、該クライアントは、最後の権利表現において表現される権利を行使しない、
システム。
【請求項8】
権利表現のいくつかはコンテンツを使用する権利の指定を含む、請求項7に記載のシステム。
【請求項9】
決定する前記手段は、前記連鎖の少なくとも一のサーバについて、少なくとも一の決定するサーバを含む、請求項7に記載のシステム。
【請求項10】
前記決定するサーバのいくつかは前記連鎖におけるサーバである、請求項9に記載のシステム。
【請求項11】
前記決定するサーバのいくつかは前記連鎖におけるサーバではない、請求項9に記載のシステム。
【請求項12】
決定する前記手段は、署名が認識されるまで、連鎖をたどって署名の検証を行う手段を含む、請求項7に記載のシステム。
【請求項1】
権利表現の発行において決定する信頼に基づいて権利を行使するコンピュータ実行方法であって、
連鎖するサーバにより権利表現を発行し、次の権利表現における権利を発行するために、次のサーバの権利の指定を含むように、最後の権利表現を除く権利表現の各々が、サーバからサーバへ、最終的には、最後のサーバからクライアントへ発行される権利表現の連鎖を形成し、
サーバの各々が権利表現を各々発行する権利を有するか否か決定し、
サーバの各々が権利表現を各々発行する権利を有すると決定された場合には、信頼されるとして、最後の権利表現に表現されている権利をクライアントにより行使し、
少なくとも一のサーバが権利表現を各々発行する権利を有しないと決定された場合には、信頼されないとして、最後の権利表現において表現される権利をクライアントにより行使しない、
コンピュータ実行方法。
【請求項2】
権利表現のいくつかはコンテンツを使用する権利の指定を含む、請求項1に記載のコンピュータ実行方法。
【請求項3】
連鎖におけるサーバの各々が権利表現を各々発行する権利を有するか否かを決定することは、該連鎖の少なくとも一のサーバについて、少なくとも一の決定するサーバを通してなされる、
請求項1に記載のコンピュータ実行方法。
【請求項4】
前記決定するサーバのいくつかは前記連鎖におけるサーバである、請求項3に記載のコンピュータ実行方法。
【請求項5】
前記決定するサーバのいくつかは前記連鎖におけるサーバではない、請求項3に記載のコンピュータ実行方法。
【請求項6】
連鎖におけるサーバの各々が権利表現を各々発行する権利を有するか否かを決定することは、署名が認識されるまで、該連鎖をたどって署名の検証を行うことを含む、請求項1に記載のコンピュータ実行方法。
【請求項7】
権利表現の発行において決定する信頼に基づいて権利を行使するシステムであって、 クライアントと、
権利表現を発行するように構成されているサーバの連鎖であって、次の権利表現における権利を発行するために、次のサーバの権利の指定を含むように、最後の権利表現を除く権利表現の各々が、サーバからサーバへ、最終的には、最後のサーバからクライアントへ発行される権利表現の連鎖を形成する、サーバの連鎖と、
サーバの各々が権利表現を各々発行する権利を有するか否かを決定する手段と、
を備え、
サーバの各々が権利表現を各々発行する権利を有すると決定された場合には、信頼されるとして、前記クライアントは、最後の権利表現に表現されている権利を行使し、少なくとも一のサーバが権利表現を各々発行する権利を有しないと決定された場合には、信頼されないとして、該クライアントは、最後の権利表現において表現される権利を行使しない、
システム。
【請求項8】
権利表現のいくつかはコンテンツを使用する権利の指定を含む、請求項7に記載のシステム。
【請求項9】
決定する前記手段は、前記連鎖の少なくとも一のサーバについて、少なくとも一の決定するサーバを含む、請求項7に記載のシステム。
【請求項10】
前記決定するサーバのいくつかは前記連鎖におけるサーバである、請求項9に記載のシステム。
【請求項11】
前記決定するサーバのいくつかは前記連鎖におけるサーバではない、請求項9に記載のシステム。
【請求項12】
決定する前記手段は、署名が認識されるまで、連鎖をたどって署名の検証を行う手段を含む、請求項7に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2009−104615(P2009−104615A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2008−303614(P2008−303614)
【出願日】平成20年11月28日(2008.11.28)
【分割の表示】特願2003−571859(P2003−571859)の分割
【原出願日】平成15年2月27日(2003.2.27)
【出願人】(500470703)コンテントガード ホールディングズ インコーポレイテッド (54)
【氏名又は名称原語表記】ContentGuard Holdings, Inc.
【Fターム(参考)】
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願日】平成20年11月28日(2008.11.28)
【分割の表示】特願2003−571859(P2003−571859)の分割
【原出願日】平成15年2月27日(2003.2.27)
【出願人】(500470703)コンテントガード ホールディングズ インコーポレイテッド (54)
【氏名又は名称原語表記】ContentGuard Holdings, Inc.
【Fターム(参考)】
[ Back to top ]