電子的ライセンスを提供するシステム及び方法
【課題】データオブジェクトへのアクセスを許可するシステム及び付随する方法を提供する。
【解決手段】データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理する方法である。該方法は、前記データオブジェクトの、可変数の利用制御条件を供給する段階と、前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する1つ以上の利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、前記一般的制御データを前記データオブジェクトと合成する段階と、前記データオブジェクトと前記1つ以上の利用制御要素を暗号化してセキュアデータパッケージを生成する段階とを有する。
【解決手段】データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理する方法である。該方法は、前記データオブジェクトの、可変数の利用制御条件を供給する段階と、前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する1つ以上の利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、前記一般的制御データを前記データオブジェクトと合成する段階と、前記データオブジェクトと前記1つ以上の利用制御要素を暗号化してセキュアデータパッケージを生成する段階とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本システム及び方法はデジタル権利管理に関する。
【背景技術】
【0002】
インターネットの成長により、インターネットを経由して商品とサービスを提供するオンラインの会社とともに、オンラインの消費者の数も増加している。従って、消費者は情報の電子的転送によりいっそう依存し、情報に瞬時にアクセスできることを期待し始めている。消費者にとってはそのようにアクセスが容易になることは大変な利益であるが、一方、消費者のアクセスをコントロールすることはしばしば困難な仕事である。
【0003】
消費者のアクセスをコントロールするアプローチのひとつは、デジタル権利管理(DRM)を活用することである。DRMは情報にデジタル権利を付与し、それによりユーザアクセスをコントロールし、情報の所有者に適切なコントロールを提供する。例えば、DRMによって情報の所有者はロイヤルティの支払いを受け、情報の使用を追跡し、ライセンスを発行することなどができる。
【0004】
共通する問題のひとつは、従来のアプローチでは情報に対する消費者のアクセスを適切にコントロールできないことである。消費者は所有者のコントロールをうまく避ける方法を見つけてしまう。例えば、所有者が消費者に情報にアクセスするためのパスワードを送ったとする。消費者が一旦情報にアクセスすると、その消費者はその情報をコピーして他人に回してしまうかも知れない。
【0005】
共通する問題の今ひとつは、従来のアプローチでは多様なタイプの情報に使えるデジタル権利管理システムを提供できなかったことである。例えば、あるデジタル権利管理システムは音楽ファイルには使えるが、文学的作品には適当でないかも知れない。
【発明の概要】
【0006】
本発明は、データオブジェクトへのアクセスを許可するシステム及び付随する方法を提供する。
【0007】
本発明は、顧客がコンピュータを使って通信媒体を経由してライセンス管理システムに接続するライセンスマネージメントシステムを提供するシステムと方法に関する。顧客は、多様なコンテントのコピーを取得するため通信媒体を通してライセンス管理システムと情報交換し、要求されたコンテントを含むコンテントセルが作成され顧客に送信される。加えて、顧客は、コンテントにアクセスするライセンスを取得するため通信媒体を通してライセンス管理システムと情報交換し、要求されたライセンスを含むライセンスセルが作成され顧客に送信される。顧客がコンテントセル及び関係するライセンスセルを両方とも取得すると、コンテントセルとライセンスセルの条件に規定されている通り、コンテントへのアクセスを許される。
【0008】
前記システムと方法の特長は、ライセンス管理システムが顧客の情報へのアクセスを完全に管理できることである。ライセンス管理システムは顧客に付随したライセンス、及びコンテントに関するアクセス権をコンテント及び・又はライセンスに内蔵しすることができる。従って、顧客は、ライセンス条件が満たされた後にコンテントへアクセスできる。さらに、ライセンス権によって、所有者はコンテントへの多様なアクセスのタイプを管理することができる。例えば、顧客がコンテントを見ることはできるが、コンテントをプリントすることはできない。
【0009】
前記システムと方法の他の特長は、多様な異なったタイプの情報にライセンス管理システムが使用できることである。幅広いコンテントをコンテントセルとして作成し、そのコンテントセルに対応するライセンスを作成するので、どんなコンテントセルに対してもライセンスを作成できる。例えば、顧客は音声ファイル、実行ファイル、テキストファイル等、多様なコンテントへアクセスできる。
【0010】
ライセンス管理システムは通信媒体を通してすぐにアクセスできるので、顧客は大きな遅れなしにコンテントを受信しアクセスできることが、本実施形態の今ひとつの便益である。ライセンス管理システムによって、ユーザはその要求に対してすばやい応答を得ることができる。
【0011】
発明を要約するため、発明の特定の形態、特長、新規な特徴をここに説明した。それら特長のすべてが、本発明の特定の実施形態で実現できるわけではない。従って、例えば、当業者であれば分かるように、本発明は、ここに教示された一つまたはそれ以上の特徴を実現するように実施されるが、必ずしもここに教示又は暗示された他の特長を実現するものではない。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態のハイレベルのブロック図であり、ライセンス管理システムとユーザコンピュータの間の情報交換を示す。
【図2】本発明の一実施形態のハイレベルのブロック図であり、コンテントマネージャ、オファーマネージャ、及びユーザコンピュータの間の情報の流れを示す。
【図3】図2のユーザコンピュータの一実施形態のブロック図である。
【図4】図2のコンテントマネージャの一実施形態のブロック図である。
【図5】図2のオファーマネージャの一実施形態のブロック図である。
【図6a】コンテントセルの一実施形態のブロック図である。
【図6b】コンテントセルの他の実施形態のブロック図である。
【図7a】ライセンスセルの一実施形態のブロック図である。
【図7b】ライセンスセルの他の実施形態のブロック図である。
【図8】ユーザにコンテントへのアクセスを提供する一実施形態のフローチャートである。
【図9】コンテントを送信する一実施形態のフローチャートである。
【図10】ライセンスを要求する一実施形態のフローチャートである。
【図11】ライセンスを送信する一実施形態のフローチャートである。
【図12】コンテント及びライセンスをチェックする一実施形態のフローチャートである。
【図13】コンテントセルを生成する一実施形態のフローチャートである。
【図14】ライセンスセルを生成する一実施形態のフローチャートである。
【発明を実施するための形態】
【0013】
これら及びその他の特徴を、図面を参照しながら説明する。これらの図面及び付随する説明は、本発明の実施形態を示すためのものであり、本発明の範囲を制限するためのものではない。
【0014】
図面を通して、参照番号は参照されている要素の間の対応を示すため再利用される。さらに、各参照番号の最初の桁は、その要素が最初に現れる図面を表す。
【0015】
この出願はベンソン等の米国特許第5,845,281号を文献援用(incorporated by reference)している。
【0016】
本発明はライセンス管理システム120を提供するためのシステムと方法に関する。図1は一実施形態を示し、顧客110がユーザコンピュータ115を使って、通信媒体130を経由してライセンス管理システム120に接続している。例示したシステムにおいて、ライセンス管理システム120はオファーマネージャ122及びコンテントマネージャ124というふたつの主たる構成要素から成る。顧客110は通信媒体130を経由してコンテントマネージャ124と情報交換し、多様なコンテントのコピーを得る。コンテントは音声ファイル、ビデオファイル、テキスト文書、電子メール、データベースレコード、ハイパーテキストマークアップランゲージ(HTML)ファイル、エクステンシブルマークアップランゲージ(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト等を含む。さらに、顧客110は通信媒体130を経由してオファーマネージャ122と情報交換し、コンテントにアクセスするためのライセンスを得る。
【0017】
I. 概観
ライセンス管理システム120の一実施形態の概観が図2に示されている。例示したシステムにおいて、ユーザコンピュータ115はオファーマネージャ122及びコンタクトマネージャ124と通信媒体130を通じて通信する。図2に図示した実施形態において、ライセンス管理システム120のオファーマネージャ122とコンテントマネージャ124は通信媒体130に接続された分離した構成要素として実施されている。他の実施形態においては、オファーマネージャ122とコンテントマネージャ124は直接接続された単一のシステムの一部とすることもできる。
【0018】
図2は顧客110(図1)がコンテントにアクセスしたい時の情報の流れを図示している。イベントAに関して、ユーザコンピュータ115はコンテントを要求し、その要求はコンテントマネージャ124に送信される。イベントBにおいて、コンテントマネージャ124は、要求されたコンテントを含むコンテントセル210をユーザコンピュータ115に送信する。次に、イベントCで、ユーザコンピュータ115はライセンスを要求し、その要求はオファーマネージャ122に送信される。イベントDにおいて、オファーマネージャ122は要求されたライセンスを含んだライセンスセル220をユーザコンピュータ115に送信する。イベントE及びFにおいて、ユーザコンピュータ115はコンテントセル210及び対応するライセンスセル220を両方持っていることを検証し、ユーザコンピュータ115はコンテントへのアクセスを許可する。
【0019】
この実施形態の長所は、ユーザコンピュータ115がコンテントを受信し、大きな遅れ無しにコンテントにアクセスできることであり、それはライセンス管理システム120が通信媒体130を通じてすぐにアクセス可能だからである。ライセンス管理システム120はユーザがその要求に対する応答をタイムリーに受信できるようにしている。
【0020】
この実施形態の他の長所は、ライセンス管理システム120がユーザコンピュータ115のコンテントの使用をライセンスによって管理することである。ライセンス管理システム120は、ユーザコンピュータ115に付随したライセンス権利、及びコンテントセル210及び・またはライセンスセル220内のコンテントに関係したアクセス権限を内蔵できる。
【0021】
II. ライセンス管理システムの実施
このセクションは、図2に示した電子的ライセンスを提供するためのシステムの一実施形態をさらに説明する。例示したシステムは、通信媒体130、ユーザコンピュータ115、及びライセンス管理システム120を含む。
【0022】
A. 通信媒体
図2に示す通信媒体130に関して、現在のところ好ましい通信媒体130は、コンピュータのグローバルネットワークであるインターネットを含む。インターネットの構造は、当業者には周知であるが、ネットワークバックボーンと、バックボーンから枝分かれ(ブランチ)したネットワークを含む。これらブランチはさらに枝分かれしたネットワークを持つ。ルータは情報パケットをネットワークレベルでやり取りし、ネットワークからネットワークへ送り、そのパケットが送付先の近傍に届くまで送る。送付先からは、送付先のネットワークのホストが情報パケットを適当な端末またはノードに送る。インターネットの構造と動作に関するより詳細な説明は、Harley Hahn及びRick Stoutによる”The Internet Complete Reference”(McGraw-Hill社、1994年)を参照されたい。
【0023】
ひとつの有利な実施形態において、インターネットのルーティングハブはドメインネームシステム(DNS)サーバから成ることは周知である。DNSはトランスファーコントロールプロトコル/インターネットプロトコル(TCP/IP)サービスであり、ドメインネームをインターネットプロトコル(IP)アドレスに、またはインターネットプロトコル(IP)アドレスからドメインネームに変換する時に呼び出される。
ルーティングハブは高速通信リンクを通して他のルーティングハブに接続している。
【0024】
しかし、当業者であれば、広い範囲のインターラクティブな通信媒体130が本発明で使用できることを認めるであろう。例えば、通信媒体130はインターラクティブなテレビネットワーク、電話ネットワーク、無線データ送信システム、双方向ケーブルシステム、カスタマイズされたコンピュータネットワーク、インターラクティブなキオスクネットワーク、現金自動預入支払機ネットワーク等を含む。
【0025】
インターネットで良く使用されるのはワールドワイドウェブである。ワールドワイドウェブはグラフィックス及びテキスト情報を表示できる文書を記憶している異なったコンピュータを含んでいる。ワールドワイドウェブ上で情報を提供するコンピュータは通常「ウェブサイト」と呼ばれている。ウェブサイトはインターネットアドレスにより指定され、インターネットアドレスには電子的なページが付随している。その電子的ページはユニフォームリサーチロケータ(URL)により同定される。一般的に、電子的ページはテキスト、グラフィカルイメージ、オーディオ、ビデオ等の表示を統合するドキュメントである。
【0026】
B. ユーザコンピュータ
ユーザコンピュータ115は、図3に示されており、ユーザが通信媒体130(図1)と情報交換する装置である。一実施形態において、ユーザコンピュータ115は従来の汎用コンピュータであり、一またはそれ以上のマイクロプロセッサ、例えばPentium(登録商標)プロセッサ、Pentium(登録商標)IIプロセッサ、Pentium(登録商標) Proプロセッサ、xx86プロセッサ、8051プロセッサ、MIPSプロセッサ、Power PCプロセッサ、Alphaプロセッサを使用している。一実施形態において、ユーザコンピュータ115は適当なオペレーティングシステム、例えば、Microsoft(登録商標) Windows(登録商標) 3.X、Microsoft(登録商標) Windows(登録商標) 98、Microsoft(登録商標) Windows(登録商標) NT、Microsoft(登録商標) Windows(登録商標) CE、Palm Pilot OS、Apple(登録商標) MacOS(登録商標)、Disk Operating System (DOS)、UNIX(登録商標)、Linux(登録商標)、またはIBM(登録商標) OS/2(登録商標)を動作させている。一実施形態において、ユーザコンピュータ115は従来のモデムまたはその他のネットワーク接続機能、例えば、イーサネット(登録商標)(IEEE802.3)、トークンリング(IEEE802.5)、ファイバーディストリビューテッドデータリンクインターフェイス(FDDI)、非同期トランスファーモード(ATM)を備えている。従来どおり、一実施形態において、オペレーティングシステムは、通信媒体130を通して入出するすべてのメッセージトラフィックを処理するTCP/IPスタックを含む。
【0027】
他の実施形態において、ユーザコンピュータ115は、例えばコンピュータワークステーション、個別のコンピュータのローカルエリアネットワーク、インターラクティブテレビ、インターラクティブキオスク、パーソナルデジタルアシスタント、インターラクティブ無線通信装置、ハンドヘルドコンピュータ、電話機、ルータ、サテライト、スマートカード、内蔵コンピューティング装置等、通信媒体130と情報交換できるものであれば良い。そのようなシステムにおいて、オペレーティングシステムは異なるが、通信媒体130と通信リンクを確立するのに必要な適当な通信プロトコルを提供する。
【0028】
例示したユーザコンピュータ115はブラウザモジュール310、ユーザマネージャ320、及びデータベースコレクション330を含む。
【0029】
1. ブラウザモジュール
一実施形態において、ユーザコンピュータ115はユーザブラウザモジュール310を含む複数の動作モジュールを利用する。ユーザブラウザモジュール310(以下、ユーザブラウザ310と呼ぶ)はソフトウェアプログラムであり、消費者は、通信媒体130(図1)を通して異なるコンテントプロバイダーにアクセス可能となる。一実施形態において、ユーザブラウザ310はネットスケープが開発したNetscape(登録商標)Navigator、またはマイクロソフトが開発したMicrosoft(登録商標)インターネットエクスプローラである。しかし、当業者であれば、その他のタイプの多数のアクセスソフトウェアでも、本発明の実施形態を実施できることを認めるであろう。その他のタイプのアクセスソフトウェアとは、例えば、他のタイプのインターネットブラウザ、カスタムネットワークブラウザ、双方向通信ソフトウェア、ケーブルモデムソフトウェア、ポイントツーポイントソフトウェア等でもよい。
【0030】
2. ユーザマネージャ
一実施形態において、ユーザコンピュータ115はユーザマネージャ320を含む。ユーザマネージャ320はユーザコンピュータ115が受け取ったすべてのコンテントとライセンスを追跡管理する。一実施形態において、ユーザマネージャ320はウェブベースのダウンロードプロセスと通してユーザコンピュータ115にロードされる。ウェブベースのダウンロードプロセスにおいて、ユーザブラウザ310はユーザに、ユーザマネージャ320をダウンロードするか問い合わせることができる。ユーザがYESと答えれば、ダウンロードプロセスはユーザマネージャ320がユーザブラウザ310をサポートしているかチェックする。サポートしていれば、ユーザブラウザ310はユーザマネージャ320をユーザコンピュータ上に自動的にダウンロードする。他の実施形態において、ユーザマネージャのダウンロードプロセスは、ユーザの介入無しに実行しても、ユーザマネージャ320がユーザコンピュータ115にプリインストールされていてもよい。
【0031】
3. データベースコレクション
一実施形態において、ユーザコンピュータ115は図3に示したデータベースコレクション330を含む。例示したデータベースコレクション330は複数のデータベース、例えばライセンスデータベース332、コンテントデータベース334、暗号鍵データベース336を含み、暗号鍵データベース336は一またはそれ以上の暗号鍵を含むことができる。
【0032】
ライセンスデータベース332は、ユーザコンピュータ115が受け取ったライセンスセル220に関する情報を含む。その情報は受け取ったままのライセンスセル220のコピー、または解凍された情報、例えばライセンス規約、ライセンスセルヘッダー情報等を含むことができる。
【0033】
コンテントデータベース334は、ユーザコンピュータ115が受け取ったコンテントセル210に関する情報を含む。その情報は受け取ったままのコンテントセル210のコピー、または解凍された情報、例えば暗号化されたコンテント、コンテントセルヘッダー情報等を含むことができる。
【0034】
暗号鍵データベース336はライセンスセル220を通じて受け取った鍵を含み、その鍵はユーザマネージャ320が暗号化されたコンテントを解読するために用いる。一実施形態ではシンメトリック鍵暗号を使用するが、他の実施形態においては、シンメトリック暗号とは別に、または関連して他の暗号方法を使うことができる。
【0035】
一実施形態において、データベースコレクション330はフラットファイルデータベース構造を使って実施できる。別の実施形態においては、データベースコレクション330は他のデータベースを使用して実施でき、例えばストラクチャークエリーランゲージ(SQL)を使ってデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施できる。さらに、図3に示したデータコレクション330は複数の個別のデータベースから成るが、他の実施形態においては、データベースコレクション330は他のデータベースを含むこともできるし、他のデータベースを結合することもできる。加えて、データベースコレクション330は複数の個別のテーブルを持ったひとつのデータベースとして実施しても良いし、または周知の別のデータ構造、例えばリンクされたリスト、バイナリーツリー等として実施しても良い。
【0036】
C. ライセンス管理システム
一実施形態において、ライセンス管理システム120(図1)はコンテントとライセンスの生成と発行を管理する。別の実施形態において、ライセンス管理システム120は主としてコンテントセル210とライセンスセル220の発行を管理し、別個のモジュールがライセンスセル220及び・またはコンテントセル210を生成してもよい。前述の通り、ライセンス管理システム120は二つの主たる構成要素、コンテントマネージャ124及びオファーマネージャ122から成る。しかし、別の実施形態においては、複数のコンテントマネージャ124及び・または複数のオファーマネージャ122があってもよい。
【0037】
1. コンテントマネージャ
図4はコンテントマネージャ124の一実施形態を示す。例示したコンテントマネージャ124はウェブサーバソフトウェア410、コンテントマネージャコンポーネント420、及びデータベースコレクション430を含む。
【0038】
a. ウェブサーバソフトウェア
一実施形態において、コンテントマネージャ124は図4に示した通りウェブサーバソフトウェア410を含む。ウェブサーバソフトウェア410は、例えばネットスケープのインターネットサーバソフトウェア、マイクロソフトのインターネットサーバソフトウェア(ISS)等であってもよい。斯様なウェブサーバソフトウェア410は図2に示した通り、ユーザコンピュータ115及びオファーマネージャ122からのメッセージを処理するように構成されている。
【0039】
b. コンテントマネージャコンポーネント
一実施形態において、コンテントマネージャ124はコンテントセル210の生成と発行を管理するコンテントマネージャコンポーネント420を含む。図4に示したコンテントマネージャコンポーネント420は、二つのプロセス、ユーザマネージャダウンロードプロセス422とコンテントセル生成プロセス424から成る。コンテントマネージャコンポーネント420は図示しない別のプロセスを含んでも良く、例えばユーザを登録管理するプロセス、コンテントセルのインベントリーを追跡するプロセス、及びサーチエンジンを提供するプロセスを含んでも良い。
【0040】
ユーザマネージャダウンロードプロセス422はユーザコンピュータ115にユーザマネージャ320をダウンロードする。別の実施形態において、ユーザマネージャダウンロードプロセス422は他のモジュールで実行しても良いし、ユーザマネージャ320がユーザコンピュータ115にプリインストールされていても良い。コンテントセル生成プロセス424は、ユーザコンピュータ115がコンテントを要求し、プロセス424が要求されたコンテントのコンテントセル210を生成する時に呼び出される。この実施形態においては、コンテントマネージャ124はコンテント生成プロセス424を含むが、別の実施形態においては、別のモジュールがコンテントセル210を生成しても良く、コンテントマネージャ124が、コンテントセル210を生成するのではなくロケートすることによって、コンテントセル210の発行を主として管理しても良い。
【0041】
c. データベースコレクション
一実施形態において、コンテントマネージャ124は図4に示したデータベースコレクション430を含む。例示したデータベースコレクション430は複数のデータベースを含み、例えば規約データベース432、暗号鍵データベース434(暗号鍵データベースは一つまたはそれ以上のシンメトリック鍵を含む)、公開証明書データベース436、コンテントデータベース438、セルヘッダー情報データベース439を含む。
【0042】
規約データベース432はコンテントに権利をどのようにいつ割り当てるかに関する規約を含む。規約は一般的なもの(例えば、コンテントXにはライセンスYが必要である)でも良いし、より特定のもの(例えば、ライセンスYを持つ者は誰でもコンテントXをプリントできる。コンテントXをプリントするにはライセンスYが必要であり、さもなければURL Cに飛ぶ。)であっても良い。図4は規約が規約データベース432に記憶されているとして示したが、別の実施形態においては、規約は他のフォーマットに記憶されても良く、例えばプログラムまたは一組のスクリプトのフォーマットに記憶されても良い。
【0043】
暗号鍵データベース434は一組のシンメトリック鍵を含み、コンテントマネージャ124が要求されたコンテントを解読するためにその一組のシンメトリック鍵を使用する。シンメトリック鍵は周知の技術を使って生成できる。シンメトリック及びアシンメトリック暗号に関するより詳しい説明は、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。この実施形態はシンメトリック暗号を使用するが、別の実施形態においては、別の暗号方法をシンメトリック暗号とは別に、またはそれに関連して使用しても良い。
【0044】
公開証明書データベース436は、コンテントマネージャ124が通信する別の構成要素からの公開証明書を含む。構成要素の公開暗号鍵は構成要素の公開証明書の中に入っている。例えば、公開証明書データベース436は、オファーマネージャ122の公開証明書(オファーマネージャ122の公開暗号鍵を含む)を含んで、コンテントマネージャ124とオファーマネージャ122が通信する時の暗号化及び認証をしても良い。公開証明書データベース436はコンテントを要求したユーザコンピュータ115の公開証明書を含んでも良い。
【0045】
コンテントデータベース438は多様なコンテントそのもの、及びコンテントに関する情報を含む。コンテントは、音声ファイル、テキスト文書、電子メール、データベースレコード、ハイパーテキストマークアップ言語(HTML)ファイル、エクステンシブルマークアップ言語(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト等を含んでも良い。コンテントデータベース438は発行者テーブル、発行物テーブル、アーティクルテーブル等を含んでも良い。
【0046】
発行者テーブルは発行者に関する情報を保存する。発行者テーブルは、発行者ID、ステータス(発行者がアクティブか否かを示す)、発行者名、デフォルトの価格、などのフィールドを含んでも良い。各発行者は一つまたはそれ以上の発行物を発行できる。
【0047】
発行物テーブルは発行物に関する情報を保存する。発行物テーブルは、発行物ID、ステータス(発行物がアクティブか否かを示す)、発行物コード、属性、発行者ID、ドメイン、発行物名、発行物ファイルタイプ、発行物ウェブアドレス、イントロダクトリークレジット、デフォルト価格、無料アーティクル数、プリントフィールド(プリントをできるかを示す)、コピーフィールド(コピーできるかを示す)、などのフィールドを含むことができる。各発行物は一つまたはそれ以上のアーティクルを含む。
【0048】
アーティクルテーブルはアーティクル(ひとつひとつのコンテント)に関する情報を保存する。「アーティクル」という用語が使われているが、「アーティクル」という用語は、音声ファイル、ビデオファイル、テキストドキュメント、電子メール、データベースレコード、ハイパーテキストマークアップ言語(HTML)ファイル、エクステンシブルマークアップ言語(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト、などのコンテントを含んでも良いと認められている。アーティクルテーブルはタイトル、タイムスタンプ、発行物ID、発行者ID、価格、有効期間、セルタイプ等のフィールドを含んでも良い。
【0049】
コンテントデータベース438は申込みテーブル、管理者テーブル等のコンテントに関係した他のテーブルを含んでも良い。申込みテーブルは多様な申込みを定義し、デスクリプションフィールド、申込みID、価格等のフィールドを含む。管理者テーブルは、価格、終了日、グループの設定等、管理業務を行う権限を有する特別なアカウントを保存する。管理者テーブルは、氏名、パスワード、電子メールアドレス、電話番号、発行者ID、管理者レベル、グループアカウント管理許可、プロモーション管理許可等のフィールドを含んでも良い。
【0050】
セルヘッダー情報データベース439はセルヘッダーに関する情報を含む。この情報は各コンテントセル210に固有の識別子、コンテントを製作する多様な店舗に関する情報、記述的情報、及び認証情報(例えば、失効日・時間)を含むことができる。
【0051】
データベースコレクション430に関して、ひとつの実施形態においては、データベースコレクション430と共に働くIDジェネレータ、ナンバージェネレータ、統計ジェネレータ、セッションジェネレータ、一時記憶部などの複数のプロセス(図示せず)をおいても良い。
【0052】
ひとつの実施形態においては、データベースコレクション430は、構造化クエリー言語(SQL)を通してデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施されている。SQLはリレーショナルデータベースを定義し、更新し、リレーショナルデータベースに問い合わせるために国際標準化機構(ISO)により標準化された言語である。
【0053】
別の実施形態において、データベースコレクション430は、別のリレーショナルデータベースを使って実施しても良いし、別のタイプのデータベース(例えば、フラットファイルデータベースなど)を使っても良い。さらに、図4に示したデータベースコレクション430は複数の個別のデータベースから成るが、別の実施形態においては、データベースコレクション430は別のデータベースを含んでも良いし、いくつかのデータベースが結合されていても良い。なお、データベースコレクション430は、個別のテーブルを持った単一のデータベースとして実施しても良いし、リンクされたリスト、バイナリーツリー等の周知である別のデータ構造として実施しても良い。
【0054】
ひとつの実施形態においては、データベースコレクション430は、サーブレット(サーバ上で起動する小さなプログラム)を通してデータベースリクエストを受け取り、データベース430に対応するSQL要求を送るバックエンドの構成要素(図示しない)に接続されていても良い。別の実施形態においては、データへアクセスする仕方は異なっても良く、例えば、異なるタイプのバックエンド構成要素を使っても、データベースコレクション430に直接アクセスしても良い。
【0055】
データベースコレクション430の実施形態のより詳しい説明は、添付した補遺Aに書かれている。補遺Aのデータベースコレクション430はライセンス管理システム120を図示しており、コンテントマネージャ124及びオファーマネージャ122は共に同じデータベースコレクションにアクセスしているが、別の実施形態においては、コンテントマネージャ124及びオファーマネージャ122は多様なデータベースの個別のコピーを持っていても良い。
【0056】
2. オファーマネージャ
図5はオファーマネージャ122のひとつの実施形態を図示している。例示したオファーマネージャ122はウェブサーバソフトウェア510、オファーマネージャコンポーネント520、ライセンスマネージャ530、及びデータベースコレクション540を含む。
【0057】
a. ウェブサーバソフトウェア
ひとつの実施形態において、オファーマネージャ122は図5に示す通りウェブサーバソフトウェア510を含んでいる。ウェブサーバソフトウェア510は、例えば、ネットスケープのインターネットサーバソフトウェアでも、マイクロソフトのインターネットサーバソフトウェア(ISS)等でも良い。斯様なウェブサーバソフトウェア510はユーザコンピュータ115及びコンテントマネージャ124からのメッセージを処理するよう構成されている。
【0058】
b. オファーマネージャコンポーネント
ひとつの実施形態において、図5に示した通り、オファーマネージャ122はライセンスセル220の発行を管理するオファーマネージャコンポーネント520を含む。オファーマネージャコンポーネント520は、ユーザとの情報交換管理、ライセンスマネージャ530が呼ばれる前にユーザ要求が満足されたかの決定、金銭の支払いの追跡、ライセンスが発行されたかの決定その他の処理などの処理(図示せず)を含んでも良い。
【0059】
c. ライセンスマネージャコンポーネント
ひとつの実施形態において、オファーマネージャ122はライセンスセル220の生成を管理するライセンスマネージャ530を含む。図5に示したライセンスマネージャ530は、ライセンスセル生成プロセス532から成る。ライセンスセル生成プロセス532はユーザコンピュータ115がコンテントセル210を求めるライセンスを要求した後、呼び出されても良い。ライセンスセル生成プロセス532は要求されたコンテントのライセンスセル220を生成する。この実施形態においては、ライセンスマネージャ530はコンテント生成プロセス424を含むが、別の実施形態においては、別のモジュールがライセンスセル220を生成しても良い。
【0060】
例えば、オファーマネージャ122はライセンスセル生成プロセス532を含み、ライセンスセル220を生成しても良い。しかし、ひとつの実施形態においては、別のモジュールがライセンスセル220を生成しても良く、ライセンスマネージャ530またはコンテントマネージャ124いずれかが適当なライセンスセル220を配置するようにしても良い。
【0061】
ライセンスマネージャ530は発行されたライセンスを一時保管(repository)などの図示しないその他のプロセスを含んでも良い。なお、ひとつの実施形態において、ライセンスマネージャ530は新しいライセンスが生成されるたびに追跡される発行済みライセンスデータベース547を含む。この管理によって、ライセンスマネージャ530はライセンスするプロセスの監査証跡(オーディットトレイル)となり、他のモジュールに要求されたライセンス情報を提供できる。
【0062】
d. データベースコレクション
ひとつの実施形態において、オファーマネージャ122は図5に示したデータベースコレクション540を含む。例示したデータベースコレクション540は、規約データベース541、暗号鍵データベース542(ひとつまたはそれ以上のシンメトリック鍵を含む)、公開証明書データベース543、コンテントデータベース544、ユーザデータベース545、グループデータベース546、発行済みライセンスデータベース(「ライセンスデータベース」)547、課金データベース548、セルヘッダー情報データベース549等、複数のデータベースを含む。
【0063】
規約データベース541は、いかに、いつ、コンテントに権利を割当てるかに関する規約を含んでいる。規約は一般的なもの(例えば、コンテントXにはライセンスYが必要である)でも良いし、より特定のもの(例えば、ライセンスYを有する者は誰でもコンテントYをプリントできる、コンテントXをプリントするにはライセンスYが必要で、無ければURL Cに飛ぶ)であっても良い。図5は規約データベース541を示しているが、別の実施形態においては、規約はプログラムやスクリプトのような別のフォーマットに記憶されていても良い。
【0064】
暗号鍵データベース542は、コンテントマネージャ124が要求されたコンテントを暗号化するのに使用する一組のシンメトリック鍵を含む。シンメトリック鍵は周知の技術を使用して生成できる。シンメトリック及びアシンメトリック暗号のより詳細な説明は、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons社、1996年)を参照されたい。この実施形態はシンメトリック暗号を使用しているが、別の実施形態においては、シンメトリック暗号とは異なった、または関連した別の暗号を使用しても良い。
【0065】
公開証明書データベース543は、オファーマネージャ122が通信する他の構成要素からの一組の公開証明書を含む。構成要素の公開暗号鍵は構成要素の公開証明書の中にある。例えば、コンテントマネージャ124とオファーマネージャ122が通信する時に認証ができるよう、公開証明書データベース543はコンテントマネージャ124の公開証明書(コンテントマネージャ124の公開鍵を含む)を含んでも良い。公開証明書データベース543はライセンスを要求するユーザコンピュータ115の公開証明書を含んでも良い。
【0066】
特定の実施形態においては、オファーマネージャのコンテントデータベース544はコンテントマネージャのコンテントデータベース438の一部または全部を含んでも良い。コンテントデータベース544は、周知のデータ複製技術を使って、コンテントマネージャのコンテントデータベース438からデータをコピーして、オファーマネージャ122及びコンテントマネージャ124が、データの同一性を損なうことなく、それぞれ同じデータのコピーを持つようにしても良い。さらに、オファーマネージャのコンテントデータベース544はコンテントマネージャのコンテントデータベース438には含まれていない情報を含んでも良い。この実施形態はオファーマネージャ124及びコンテントマネージャ122がそれぞれ、同じコンテントデータベース544、438のコピーを有する場合を示したが、別の実施形態においては、オファーマネージャ122及びコンテントマネージャ124が両方とも、同じコンテントデータベースにアクセスしても良い。コンテントデータベース544のひとつの実施形態のより詳細な情報として、「1.コンテントマネージャ c.データベースコレクション」という表題をつけたセクションを参照されたい。
【0067】
ユーザデータベース545はユーザに関する情報を追跡する。ユーザデータベース545はユーザ情報テーブル、ユーザクレジットカード情報テーブル、ユーザコメントテーブル、ユーザアカウントバランステーブル等のテーブルを含んでも良い。
【0068】
ユーザ情報テーブルはシステムのユーザに関する情報を含む。ユーザ情報テーブルはユーザアカウントID、名前、苗字、勤務先、電子メールアドレス、アカウント生成データ、アカウントステータス、現在請求金額、現在クレジット、残高制限、サービスレベル、販促電子メール、リモートユーザ、リモートアドレス、リモートホスト、請求先名、請求先住所、パスワード、パスワード暗号化タイプ等のフィールドを含んでも良い。ユーザクレジットカード情報テーブルはユーザの暗号化されたクレジットカード番号の記録及びその他のクレジットカード情報を保持する。ユーザクレジットカード情報テーブルはユーザアカウントID、クレジットカード暗号化方法、暗号化されたクレジットカードアカウント番号、クレジットカード失効月、クレジットカード失効年等のフィールドを含んでも良い。ユーザコメントテーブルは特定のユーザのコメントを追跡し、カスタマイズされた顧客サポートを可能とする。ユーザコメントテーブルは、ユーザアカウントID、タイムスタンプ、コメントフィールド等のフィールドを含む。ユーザアカウントバランステーブルは、ユーザがアクセスした特定の発行物ごとにユーザのクレジットと請求額の記録を保持する。ユーザアカウントバランステーブルはユーザアカウントID、発行物ID、クレジットが発生した時間、利用可能クレジット、適用されたクレジット額、現在請求額、表示された価格条件、及びユーザアカウントに関係したその他情報等のフィールドを含んでも良い。
【0069】
グループデータベース546は、複数のユーザをコーポレートアカウント等、ひとつのアカウントに連結する。グループデータベース546はグループテーブル、グループユーザテーブル、発行物テーブル等のテーブルを含んでも良い。
【0070】
グループテーブルはグループに関係する情報を維持する。グループテーブルは、グループID、グループ名、パスワード、アカウントのタイプ、アカウントが有効な日数、発行物ID、有効期限等のフィールドを含む。グループユーザテーブルはグループのメンバーを特定する。グループユーザテーブルは、グループID、ユーザアカウントID、有効期限等のフィールドを含んでも良い。グループ出版物テーブルは、グループのメンバーがアクセスできる出版物を特定する。グループ出版物テーブルは、グループID、出版物ID等のフィールドを含んでも良い。
【0071】
ライセンスデータベース547は発行されたライセンステーブル等の複数のテーブルを含んでも良い。発行されたライセンステーブルはアーティクルへのアクセスを許す、ユーザに発行された各ライセンスを記録する。発酵されたライセンステーブルは、取引ID、タイムスタンプ、アーティクルID、コンテントセルの場所、コンテントセルID、フレームワークID、発行物ID、請求金額等のフィールドを含んでも良い。
【0072】
課金データベース548は請求取引を管理する。課金データベース548は、現在取引、請求可能取引、請求可能適用(サマリー)等のテーブルを含んでも良い。他の標準的請求情報は課金データベース548に含んでも良い。
【0073】
セルヘッダー情報データベース549はセルヘッダーのための情報を含む。この情報は、各ライセンスセル220のためのユニークな識別子、各コンテントセル210のためのユニークな識別子、コンテントを製作する多様な店舗に関する情報、記述的情報、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0074】
データベースコレクション540は多様な管理業務を実行するため、他のデータベース(図示せず)を含んでも良い。例えば、データベースコレクション540は、ユーザ要求等の多様なユーザアクティビティを追跡するユーザアクションデータベースを含み、クリックスルー(ユーザがウェブリンクを選択するたびにトラッキングすること)を使用しても良い。なお、データベースコレクション540は多様なシステムエラー、例えば特定のアーティクルに関係したエラー、新しいユーザに関係したエラー、新しいライセンスに関係したエラー等をトラッキングするエラーデータベースを含んでも良い。データベースコレクション540はデータの同一性を維持するためのデータベース、例えば新しい情報が追加される時、及び・または既存の情報を変更しなければならない時にシステムに警告を発する多様な同期テーブルなどを含んでも良い。データベースコレクション540は、ユーザに電子メール及びその他の通信手段で送った販促をトラッキングする販促データベースを含んでも良い。データベースコレクション540は、ユーザがユーザマネージャ320をユーザの計算機のひとつに再インストールしようと試みた時、またはユーザがユーザIDを検証した時などに、ユーザがユーザの計算機のひとつにユーザマネージャ320のロードを試みた回数をトラッキングするためのユーザマネージャ起動情報を含んでも良い。
【0075】
データベースコレクション540に関して、ひとつの実施形態においては、データベースコレクション540と共に働くIDジェネレータ、ナンバージェネレータ、統計ジェネレータ、セッションジェネレータ、一時記憶ユニット等の複数のプロセス(図示せず)があっても良い。
【0076】
ひとつの実施形態においては、データベースコレクション540は、構造化クエリー言語(SQL)を通してデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施している。SQLは、リレーショナルデータベースを定義し、更新し、リレーショナルデータベースに問い合せるために国際標準化機構により標準化された言語である。
【0077】
ひとつの実施形態においては、データベースコレクション540は異なったリレーショナルデータベース、及び異なったタイプのデータベース(例えばフラットファイルデータベース)を使って実施できる。さらに、図5に示したデータベースコレクション540は複数の個別のデータベースから成っているが、別の実施形態においては、データベースコレクション540が別のデータベースを含んでも良いし、いくつかのデータベースが結合されても良い。なお、データベースコレクション540は、個別のテーブルを備えた単一のデータベースとして実施しても良いし、リンクされたデータ、バイナリーツリー等周知の他のデータ構造として実施しても良い。
【0078】
ひとつの実施形態において、データベースコレクション540は、サーブレット(サーバ上で起動する小さなプログラム)を通じてデータベース要求を受け取り、データベースコレクション540に対応するSQL要求を送るバックエンド構成要素(図示せず)に接続されても良い。別の実施形態においては、データへのアクセスは異なった仕方で、例えば、異なったタイプのバックエンド構成要素を使っても良いし、データベースコレクション540に直接アクセスしても良い。
【0079】
データベースコレクション540の実施形態のより詳細な説明は、添付した補遺Aにある。補遺Aのデータベースコレクション540は、コンテントマネージャ124及びオファーマネージャ122両方が、同じデータベースコレクションにアクセスするライセンス管理システム120を示すが、別の実施形態においては、コンテントマネージャ124及びオファーマネージャ122は、個別のデータベース(似たものでも、部分的に同じものでも、違うものでも良い)を有しても良い。
III. ライセンス管理システムセル
ひとつの実施形態において、ライセンス管理システム120は、コンテントを含むセル(コンテントセル210)、及びライセンスを含むセル(ライセンスセル220)を生成する。
【0080】
A. コンテントセル
図6aはコンテントセル210aの一実施形態である。例示したコンテントセル210aは一組の規約612a、暗号化されたコンテント614a、セルヘッダー616a、公開証明書618a、及びコンテントセル署名611aを含む。
【0081】
1. 規約
コンテントセル規約612aはユーザコンピュータ115に、コンテントセル210aにどんな権利が付随しており、その権利を得るためには何が要求されるかを知らせる。例えば、コンテントセル210aは、アーティクルをプリントする権利のための一セットの必要条件、及びアーティクルを見るための一セットの必要条件を有しても良い。一実施形態において、規約612aは特定のユーザのためにかかれたものであっても良いし、別の実施形態においては、規約612aはより一般的に書かれた特定のクラスのユーザに適用されるものでも良い。
【0082】
2. 暗号化されたコンテント
コンテントセルの暗号化されたコンテント614aは、コンテントマネージャ124に暗号化された要求されたコンテントを含む。一実施形態において、コンテントは対称鍵を使って暗号化される。対称鍵はオファーマネージャの公開鍵を使ってライセンス管理システム120によって暗号化され、オファーマネージャ122だけがその対象鍵を復号化でき、暗号化された対象鍵はユーザマネージャ320に送信される。ユーザマネージャ320がライセンスを要求した時、ユーザマネージャ320はオファーマネージャ122に暗号化された対象鍵を送信する。オファーマネージャ122は、ユーザコンピュータ115が有効なライセンスを持っていることを検証すると、オファーマネージャ122はその対称鍵を復号化でき、その対称鍵をユーザマネージャの公開鍵で暗号化し、ユーザマネージャ320がその対称鍵を復号化できるように、そしてコンテントを復号化できるようにする。対称及び非対称暗号化のより詳しい説明については、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。この実施形態は対称暗号と非対称暗号の組み合わせを使用するが、別の暗号化法を使用しても良い。例えば、オファーマネージャ122及びコンテントマネージャ124は共に対称鍵のデータベースにアクセスでき、ユーザコンピュータ115がライセンスを取得するまで、対称鍵がユーザコンピュータ115に送信されないようにしても良い。
【0083】
3. セルヘッダー
セルヘッダー616aはコンテントセル210aに関する情報を含む。斯様な情報はコンテントセル210aのユニークな識別子、要求されたコンテントを製作する店舗に関する情報、記述的情報、オファーマネージャ122を位置づけるための情報(例えば、オファーマネージャのURLなど)、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0084】
4. 公開証明書
コンテントセルの公開証明書618aは、セル生成者の公開証明書であり、セル生成者の公開鍵を含む。例えば、もしコンテントマネージャ124がコンテントセル210aを生成するなら、コンテントマネージャ124はセル210aに署名し、公開証明書をコンテントセル210aに含める。公開証明書618aは、セルの受信者(例えば、ユーザコンピュータ115)に、送信者(例えば、コンテントマネージャ124)の真正性を検証させる。
【0085】
5. コンテントセル署名
コンテントセルのデジタル署名611aは、コンテントセル210aとコンテントマネージャの非公開鍵両方に基づく情報である。デジタル署名611aはユーザコンピュータ115に使用され、コンテントセル210aの生成者及びコンテントセル210aに含まれる情報を認証するために使用される。
【0086】
一般的に、デジタル署名は各メッセージ、及びメッセージの送信者にユニークなコードである。デジタル署名を使った認証は、メッセージが期待通りの送信者からのものであることを受信者に保障し、メッセージは完全で、改変されていないことを確認する。デジタル署名は暗号手段であって、それを使ってセルの出所と送信者の身元を検証できる。デジタル署名のより詳しい説明は、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。
【0087】
6. 他の署名
図6bはコンテントセル210bの別の実施形態を示す。規約612b、暗号化されたコンテント614b、セルヘッダー616bは上述のものと似ているが、各構成要素はそれ自身のデジタル署名613b、615b、617bを持つ。各デジタル署名613b、615b、617bは構成要素を生成したモジュールによって生成される。例えば、規約署名613bは規約612bを生成したモジュールによって生成され、セルヘッダー署名617bはセルヘッダー616bを生成したモジュールによって生成される。別の実施形態においては、異なったモジュールがコンテントセル210の異なった部分を生成しても良く、各モジュールはそれ独自のデジタル署名を提供する。この機能によって、セルの受信者は構成要素の生成者の身元を検証できる。この実施形態において生成者の身元を検証するために、コンテントセル210は、コンテントセル210の部分を生成した各モジュールの公開証明書618bを含まなければならない。
【0088】
別の実施形態において、デジタル署名は個別の規約、または一組の規約に使用することもできる。例えば、もしモジュールAが規約X、Y、Zを生成し、モジュールBが規約M、Nを生成するなら、モジュールAは規約X、Y、Zに署名でき、モジュールBは規約M、Nに署名できる。モジュールA及びモジュールB両方の公開証明書がコンテントセル210で送られ、ユーザは各規約の出所を検証することができる。
【0089】
別の実施形態において、コンテントセル210は異なった構成要素で成り立っていても良いし、上述の構成要素の部分集合だけを含んでいても良い。さらに、対称暗号、非対称暗号、及びデジタル署名など多様な暗号化技術について議論してきたが、別の実施形態においては、別のセキュリティ確保手段を使っても良い。
【0090】
B. ライセンスセル
図7aはライセンスセル220aの一実施形態を示す。例示したライセンスセル220aは、一組の暗号化された規約712a、暗号化されたライセンス714a、セルヘッダー716a、公開証明書718a、及びライセンスセル署名711aを含む。
【0091】
1. 規約
ライセンスセル規約712aはユーザコンピュータ115に、ライセンスセル220aにどのような権利が付随するか、及びその権利を得るには何が必要かを知らせる。例えば、ライセンスセル220aは、アーティクルをプリントする権利のために一組の必要条件を有し、アーティクルを見るために別の必要条件を有しても良い。一実施形態において、規約は特定のユーザのために書かれたものでも良いし、別の実施形態においては、規約はより一般的に書かれ、特定クラスのユーザに適用されても良い。一実施形態において、ライセンスセル220及びコンテントセル210共に、規約612、712を含む。別の実施形態において、ライセンスセル220だけ、もしくはコンテントセル210だけが規約612、712を含み、またはどちらも規約612、712を含まない。
【0092】
2. 暗号化されたライセンス
ライセンスセルの暗号化されたライセンス714aは、ライセンスマネージャ530により暗号化された要求されたライセンスを含む。一実施形態において、ライセンスはユニークな識別子である。別の実施形態において、ライセンスは別のタイプのデータ、例えば情報のレコードであっても良く、ライセンスは規約を含んでも良い。
【0093】
一実施形態において、ライセンスは対称鍵を使って暗号化される。例えば、ライセンスはコンテントを暗号化したのと同じ対称鍵を使って暗号化しても良い。一実施形態において、対称鍵はライセンス管理システム120によりユーザマネージャの公開鍵を使って暗号化され、ユーザマネージャ320だけが対称鍵を復号化でき、従ってライセンスを復号化できるようにする。この実施形態は対称鍵と非対称鍵の使用を説明しているが、別の暗号化方法を使用しても良い。
【0094】
3. セルヘッダー
セルヘッダー716aはライセンスセル220aに関する情報を含む。斯様な情報はライセンスセル220aのユニークな識別子、コンテントセル210に関係する識別子、要求されたコンテントを製作している店舗に関する情報、記述的情報、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0095】
4. 公開証明書
ライセンスセルの公開証明書718aはセル生成者の公開証明書であり、セル生成者の公開鍵を含む。例えば、ライセンスマネージャ530がライセンスセル220aを生成した場合、ライセンスマネージャ530はセル220aに署名し、ライセンスセル220に公開証明書718aを含める。公開証明書718aにより、セルの受信者(例えば、ユーザコンピュータ115)は送信者(例えばライセンスマネージャ530)の真正性を検証できる。
【0096】
5. ライセンスセル署名
ライセンスセルのデジタル署名611aは、ライセンスセル220a及びライセンスマネージャの非公開鍵に基づく情報である。デジタル署名611aを使ってユーザコンピュータ115はライセンスセル220aの生成者、及びライセンスセル220aに含まれる情報が真正であることを確認する。
【0097】
6. 別の署名
図7bはライセンスセル220bの別の実施形態を示す。規約712b、暗号化されたライセンス714b、セルヘッダー716bは上述したものと同様であるが、各構成要素はそれ自身のデジタル署名713b、715b、717bを有する。各デジタル署名713b、715b、717bは構成要素712b、715b、716bを生成したモジュールによって生成される。例えば、規約署名713bは規約712bを生成したモジュールによって生成され、セルヘッダー署名715bはセルヘッダー714bを生成したモジュールによって生成される。別の実施形態において、別のモジュールがライセンスセル220bの別の部分を生成しても良く、従って各モジュールがそれ自身のデジタル署名を提供する。この機能によって、セルの受信者は構成要素の生成者が真正であることを確認できる。この実施形態において、生成者の同一性を検証するために、ライセンスセル220bは、ライセンスセル220bの部分を生成した各モジュールに公開証明書718bを含めねばならない。
【0098】
別の実施形態において、デジタル署名は個別の規約または一組一組の規約に署名するために使用しても良い。例えば、もしモジュールAが規約X、Y、Zを生成し、モジュールBが規約M、Nを生成したとすると、モジュールAは規約X、Y、Zに署名し、モジュールBは規約M、Nに署名するであろう。モジュールAとモジュールBの公開証明書はライセンスセル220に入れて送信され、ユーザが各規約の出所を検証できるであろう。
【0099】
別の実施形態において、ライセンスセル220は別の構成要素から成っても良いし、上述の構成要素の一部を含んでも良い。さらに、対称暗号、非対称暗号、デジタル署名等の多様な暗号化技術について議論したが、別の実施形態において、別の方法でセキュリティを確保しても良い。
IV. ライセンス管理プロセスの概観
図8は、以前図2で議論した情報の流れの一実施形態のフローチャートを示す。図8に示したフローチャートは図2の情報の流れに対応し、ステップ820がイベントAに、ステップ830がイベントBに、ステップ840がイベントCに、ステップ850がイベントDに、ステップ860がイベントEに、そしてステップ870がイベントFにそれぞれ対応する。
【0100】
開始ステップ810から始まり、プロセスはユーザコンピュータ要求ステップ820に進む。ステップ820で、ユーザコンピュータ115は特定のコンテントを要求し、その後コンテントマネージャ送信ステップ830に進む。ステップ830で、コンテントマネージャ124は要求されたコンテントをユーザコンピュータ115に送信し、ユーザコンピュータ115がライセンスを要求する次のステップ840に進む。ステップ850で、オファーマネージャ122はライセンスをユーザコンピュータ115に送信し、ユーザコンピュータ115が要求したコンテントとそれに対応するライセンスがあるかチェックするステップ860に進む。それらが見つかれば、プロセスはステップ870に進み、ユーザマネージャ320が要求したコンテントにとって適当なアプリケーションを呼び出す。プロセスは終了ステップ880に進む。
【0101】
A. ユーザがコンテントを要求する
一実施形態において、ステップ820で、ユーザはブラウザ310を使ってウェブページを見る。次に、ユーザは見たり、プリントしたり、コピーしたり、プレイしたりするためにコンテントを要求する。別の実施形態において、ユーザは電子メールを使って送られてきた、またはCD−ROM、フロッピー(登録商標)ディスクなどの記憶ユニットに保存されているコンテントセル210にアクセスを試みることによってコンテントを要求することもできる。なお、別の実施形態において、ユーザが知らないうちにコンテントが要求されることもある。例えば、特定のコンピュータアプリケーションが実行された時、コンピュータプログラムアプリケーションはコンテントマネージャ124にコンテントを求める要求を自動的に送信することもできる。
【0102】
B. コンテントマネージャがコンテントセルを送信する
ステップ830に関して、コンテントマネージャ124は要求されたコンテントを見つけ、そのコンテントをユーザコンピュータ115へのプレゼンテーションのため用意する。ステップ830に対応するフローチャートはさらに図9に示した。開始ステップ830から始まり、プロセスはステップ910に進み、コンテントマネージャ124がコンテント要求を受信する。ステップ920に進み、コンテントマネージャ124は要求されたコンテントを含むコンテントセル210を作り、ステップ930に進み、コンテントマネージャ124がコンテントセル210をユーザコンピュータ115条のユーザブラウザ310に送る。
【0103】
この実施形態においては、コンテントマネージャ124がコンテントセル210を作るが、別の実施形態においては、コンテントマネージャ124がデータベースにあるあらかじめ作られたコンテントセル210をロケートしても良い。前述の通り、別のモジュールが一般的なコンテントセル210を作って保管しておき、コンテントマネージャ124等の別のモジュールがそのコンテントセル210にアクセスし、要求どおりユーザに送信しても良い。さらに、コンテントセル210はディスク、CD−ROM、及びその他の記憶装置から引き出しても良い。ステップ920でコンテントマネージャ124がコンテントセル210を作った後、コンテントマネージャ124はステップ930で、コンテントセル210をユーザのブラウザ310に送信し、その後、終了ステップ940に進む。別の実施形態において、コンテントセル210はユーザブラウザ310ではなく、ユーザマネージャ320に直接送信されても良い。
【0104】
C. ユーザコンピュータがライセンスを要求する
ユーザコンピュータ115がライセンスを要求するステップ840に対応するフローチャートを図10に示した。開始ステップ840から始まって、プロセスはステップ1010に進み、ユーザブラウザ310がコンテントセル210を受信し、コンテントセル210をユーザマネージャ320に渡す。ユーザマネージャ320はステップ1020でコンテントせる210を開け、ステップ1030に進み、ユーザマネージャ320はコンテントセル210が真正なものであるか検証する。前述したとおり、一実施形態において、コンテントセル210は署名と公開証明書を含み、ユーザマネージャ320が公開証明書を使ってコンテントセル210の送信者及び生成者が真正なものであるか検証できるようになっている。ステップ1040に進み、ユーザマネージャ320はコンテントセル210のライセンスを探す。ステップ1050でもしライセンスが見つかれば、プロセスは終了ステップ1090に進み、ステップ870に行き、ユーザマネージャ320がアプリケーションとコンテントを呼び出す。しかし、もしライセンスが見つからなければ、プロセスはステップ1070に進み、ユーザマネージャ320がコンテントデータベース334にコンテントセル情報を記憶し、ステップ1080に進み、ユーザコンピュータ115がライセンスを要求する。一実施形態において、ユーザマネージャ320はユーザブラウザ310に、ライセンス要求をコンテントマネージャ124に送信させ、終了ステップ1090に進む。
【0105】
D. オファーマネージャがライセンスを送信する
オファーマネージャ122がユーザコンピュータ115にライセンスを送信するステップ850に対応したフローチャートを図11に示した。開始ステップ850から始まり、プロセスはステップ1110に進み、オファーマネージャ122がライセンス要求を受信し、ステップ1120に進み、オファーマネージャ122がユーザブラウザ310を使ってユーザにライセンス発行の必要条件を満たさせる。例えば、ユーザは登録情報、郵送情報を送信し、質問に答え、クレジットカード情報を送信したりしなければならないかも知れない。サンプル登録フォームは、名前、苗字、電子メールアドレス、勤務先、クレジットカードのタイプ、クレジットカード番号、有効期日、クレジットカード上の氏名、請求先住所、都市名、州名、郵便番号、国名、パスワード等の情報を記入するようになっているかも知れない。ステップ1130に進んで、もしユーザが必要条件を満たさなければ、プロセスは終了ステップ1140に進む。しかし、もしユーザが必要条件を満たせば、プロセスはステップ1150に進み、ユーザマネージャ320がライセンスセル220を作り始める。ライセンスマネージャ530がライセンスセル220を作った後、プロセスはステップ1160に進み、オファーマネージャ122がユーザコンピュータ115にライセンス料を「課金」しても良い。この課金は、例えば、もしライセンス発行の必要条件がクレジットカード、またはその他アカウント情報による金銭の支払いを含んでいる場合に発生する。別の実施形態においては、課金取引は例えばサービスプロバイダー、サーバ等、他のモジュールで処理されても良い。ステップ1170、オファーマネージャ122はライセンスセル220をユーザのブラウザ310に送信し、終了ステップ1180に進む。
【0106】
E. ユーザコンピュータがライセンスとコンテントを探す
ユーザコンピュータ115がコンテントとライセンスを見つけるステップ860に対応したフローチャートを図12に示した。開始ステップ860から始まり、プロセスはステップ1210に進み、ユーザのブラウザ310がライセンスセル220を受信し、ライセンスセル220をユーザマネージャ320に渡す。ステップ1220で、ユーザマネージャ320はライセンスセル220を開け、ステップ1230に進み、ユーザマネージャ320がライセンスセル220が真正なものであることを検証する。前述の通り、ライセンスセル220は、一実施形態において、署名及び公開証明書を含み、ユーザマネージャ320がライセンスセル220を使ってその送信者と生成者が真正なものであることを検証できる。ステップ1240に進んで、ユーザマネージャ320はライセンスセル情報をユーザコンピュータ115に記憶する。一実施形態において、ライセンスマネージャ530はライセンスセル情報をライセンスデータベース332に記憶する。別の実施形態において、別の記憶方法を使っても良い。ステップ1250に進んで、プロセスはユーザがまだライセンスを欲しているか検証する。もしユーザの答えが「ノー」なら、プロセスは終了ステップ1255に進む。もしユーザがまだライセンスを欲しているなら、プロセスはステップ1260に進み、ユーザコンピュータ115がライセンスを再要求し、ステップ1270に進み、ユーザコンピュータ115がライセンスを探し、ステップ1280に進む。ステップ1280で、ユーザコンピュータ115はコンテントを探し、ステップ1290に進む。
【0107】
F. ユーザマネージャがアプリケーションを呼び出す
ユーザマネージャ320がライセンスとコンテントを持てば、ユーザマネージャ320はステップ870で、要求されたコンテントについて適当なアプリケーションを呼び出し、終了ステップ880に進む。ユーザマネージャ320は規約に則り、コンテントへの適切なアクセスを可能とする。例えば、もし要求されたコンテントがMP3フォーマットの楽曲であり、規約によってユーザコンピュータ115がその楽曲の最初の20秒を再生できる場合、ユーザマネージャ320は、要求された楽曲とともにユーザコンピュータ115上のMP3プレーヤを呼び出し、20秒間その楽曲を再生させる。コンテントへのアクセス方法は、規約によって多様なタイプを可能とでき、例えば、コンテントの一部を視聴したり、コンテント全体を視聴したり、コンテントの一部をコピーしたり、コンテント全体をコピーしたり、コンテントの一部をプリントしたり、コンテント全体を一回だけプリントしたり、コンテント全体を二回プリントしたりなどのタイプを可能としても良い。
【0108】
G. 他の実施形態
一実施形態においては、ライセンスが生成される前にコンテントを要求できるが、別の実施形態においては、コンテントが生成または要求される前にライセンスが生成または要求されてもよい。例えば、ユーザは特定の発行物中のすべての新しいアーティクルを購読するライセンスを買うことが可能である。ユーザはまだ生成されていないコンテントのライセンスを受け取る。さらに、一つのコンテントが一つまたはそれ以上のライセンスに関係しても良いし、一つのライセンスが一つまたはそれ以上のコンテントに対応しても良い。
【0109】
一実施形態において、コンテントマネージャ124はユーザにコンテントロケーションセルを送信しても良い。コンテントロケーションセルはユーザにコンテントがどこにあるかの情報を提供する。ユーザは、コンテントにアクセスする準備ができた時に、まだコンテントセル210を必要としていても良い。例えば、ユーザが2時間の映画のビデオファイルを視聴したいとする。コンテント全体を一度に送るのではなく、コンテントマネージャ124のようなライセンス管理システムモジュールは、要求されたコンテントの場所にアクセスできるコンテントロケーションセルをユーザに送信しても良い。
【0110】
コンテントロケーションセルはコンテントセルに似ていても良いが、コンテントそのものではなく、暗号化されたコンテントの場所情報、例えばURLなどを含む。コンテントロケーションセルはコンテントマネージャ124またはその他のモジュールにより生成されても良い。ユーザがコンテントロケーションセルを受信すると、ユーザはコンテントの場所にアクセスするライセンスを求めても良い。ユーザが特定の場所にアクセスするライセンスを受信した後、ユーザがコンテントの場所にアクセスしても良い。このアクセスによってユーザは、例えば、コンテントの断片を見ることができ、広告にアクセスできる。ユーザはコンテント自体にアクセスする要求をしても良いし、もし必要なら適当なライセンスを要求しても良い。
V. セルを作る
図13及び14はコンテントセル210及びライセンスセル220を作るための一実施形態を示す。前述した通り、別の実施形態において、別のモジュールがセルを作っても良いし、セルは別の技術を使って作られても良い。
【0111】
A. コンテントセルを作る
コンテントセル210の組成の実施形態に対応するフローチャートを図13に示した。開始ステップ920で、プロセスはコンテントマネージャ124が規約612を抽出するステップ1310に進む。前述した通り、規約612はどのようなタイプのライセンス及び・またはユーザが多様なタイプのデータにアクセスできるか、及びコンテントにアクセスするには何が必要かを知らせる。規約612は規約データベースに記憶されていても良いし、テキスト文書及び・またはプログラムとしてリストされていても良く、コンテントマネージャ124が選択されたコンテントにどの規約612が適用されるか決定できれば良い。
【0112】
ステップ1320に進み、コンテントマネージャ124はコンテントデータベース438からコンテントを取得する。一実施形態において、すべてのコンテントはひとつのデータベースに記憶されており、コンテントマネージャ124はデータベースを検索し要求されたコンテントを読み出すことができる。
【0113】
ステップ1330に進み、コンテントマネージャ124はコンテントを暗号化する。暗号化技術は多様な周知の技術を使用しても良い。しかし、前述の通り、一実施形態において、コンテントマネージャ124は対称鍵を使ってコンテントを暗号化し、その対称鍵をオファーマネージャの公開鍵を使って暗号化する。暗号化されたコンテント614及び暗号化された対称鍵がユーザコンピュータ115に送信される時、ユーザコンピュータ115はコンテントを復号化できず、適当なライセンスを持つまでは対称鍵を復号化できない。
【0114】
ステップ1340に進んで、コンテントマネージャ124はセルヘッダー616を生成する。セルヘッダー616はコンテントのユニークな識別子、コンテントが引き出された店舗、記述的テキスト、有効期限の情報その他の情報などを含んでも良い。
【0115】
ステップ1350に進んで、コンテントマネージャ124は抽出した規約612、暗号化され多コンテント614、セルヘッダー616、及び自分自身の公開証明書618をコンテントセル210に付け加える。ステップ1360で、コンテントマネージャ124はコンテントセル210に「署名」する。前述の通り、コンテントセル210に署名するモジュールは、そのモジュールの公開証明書もセルに含めなければならない。従って、ステップ1350で、コンテントマネージャ124はその公開証明書を含め、コンテントセル210を生成し送信したのがコンテントマネージャ124であることを受信者が検証できるようにする。コンテントマネージャ124がコンテントセル210に署名した後、プロセスは終了ステップ1370に進む。
【0116】
B. ライセンスセルを作る
ライセンスセル220を組成する一実施形態に対応するフローチャートを図14に示した。開始ステップ1150で、プロセスはライセンスマネージャ530が規約712を抽出するステップ1410に進む。前述の通り、規約712はどのようなタイプのライセンス及び・またはユーザが多様なタイプのデータにアクセスでき、コンテントにアクセスするのに何が必要かを知らせる。規約712は規約データベースに記憶されても良いし、テキスト文書及び・またはプログラムとしてリストされても良く、ライセンスマネージャ530が復号化して、どの規約712が適用されるかを決定できれば良い。
【0117】
ステップ1420に進んで、ライセンスマネージャ530はライセンスを生成する。ステップ1430に進んで、ライセンスマネージャ530はライセンスを暗号化する。暗号化技術は多様な周知の技術を使うことができる。しかし、前述の通り、一実施形態において、ライセンスマネージャ530は対称鍵を使ってライセンスを暗号化し、その後、ユーザの公開鍵を使ってその対称鍵を暗号化する。暗号化されたライセンス714と暗号化された対称鍵がユーザコンピュータ115に送信された時、ユーザコンピュータはライセンスを解読できる。
【0118】
ステップ1440に進んで、ライセンスマネージャ530はセルヘッダー716を生成する。セルヘッダー716はライセンスセルにユニークな識別子、コンテントに関係したユニークな識別子、コンテントが引き出された店舗、記述的テキスト、有効期限に関する情報その他の情報を含んでも良い。
【0119】
ステップ1450に進んで、ライセンスマネージャ530は、抽出された規約712、暗号化されたライセンス714、セルヘッダー716、及びそれ自身の公開証明書718をライセンスセル220に付け加える。ステップ1460で、ライセンスマネージャ530はライセンスセル220に「署名」する。前述の通り、ライセンスセル220に署名するモジュールは、そのモジュールの公開証明書をセルに含めなければならない。従って、ステップ1460で、ライセンスマネージャ530は、その公開証明書を含め、ライセンスマネージャ530がライセンスセル220を生成し送信したことを受信者が検証できるようにする。ライセンスマネージャ530がライセンスセル220に署名した後、プロセスは終了ステップ1470に進む。
【0120】
一実施形態において、ライセンスマネージャ530は、発行したライセンスを後でトラッキングするため、ライセンスセル情報のコピーをライセンスデータベース547に記憶する。
VI. 結論
本発明の特定の好ましい実施形態を説明したが、これらの実施形態は例として提示しただけであり、本願発明の範囲を制限することを意図したものではない。従って、本願発明の広さと範囲はクレーム及びその均等物によってのみ定められねばならない。
【0121】
なお、上記の実施形態に関連して以下の付記を記す。
【0122】
(付記1) データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセルを生成し、
ネットワークで計算機に前記データオブジェクトセルを送信し、
前記データオブジェクトセルに関係するライセンスオブジェクトセルを生成し、
前記ネットワークで前記計算機に前記ライセンスオブジェクトセルを送信し、
前記関係するライセンスオブジェクトセルの情報に基づいて前記データオブジェクトセルへのアクセスを許可する方法。
【0123】
(付記2) 付記1記載の方法であって、さらにデータオブジェクトセルを求めるユーザ要求を受信する方法。
【0124】
(付記3) 付記1記載の方法であって、さらにライセンスオブジェクトを求めるユーザ要求を受信する方法。
【0125】
(付記4) 付記1記載の方法であって、前記オブジェクトセルへのアクセスを許可することは、前記データオブジェクトセルに関係するライセンスオブジェクトセルが前記計算機上にあることを検証することを含む方法。
【0126】
(付記5) 付記1記載の方法であって、前記データオブジェクトセルは少なくともデータコントロール要素及びデータオブジェクトを含む方法。
【0127】
(付記6) 付記5記載の方法であって、少なくとも前記データオブジェクトを暗号化する方法。
【0128】
(付記7) 付記1記載の方法であって、少なくとも前記ライセンスオブジェクトセルの一部は暗号化される方法。
【0129】
(付記8) 付記1記載の方法であって、さらに
前記データオブジェクトセルに関係するデータロケーションセルを引出し、
ネットワークで計算機に前記データロケーションセルを送信し、
関係するライセンスオブジェクトセルの情報に基づいて前記データロケーションセルへのアクセスを許可する方法。
【0130】
(付記9) データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセルを引出し、
ネットワークで計算機に前記データオブジェクトセルを送信し、
少なくともひとつのデータオブジェクトセルに関係するライセンスオブジェクトセルを引出し、
ネットワークで前記計算機に前記ライセンスオブジェクトセルを送信し、
関係するライセンスオブジェクトセルの情報に基づき前記データオブジェクトセルへのアクセスを許可する方法。
【0131】
(付記10) 付記9記載の方法であって、さらにデータオブジェクトセルを求めるユーザ要求を受信する方法。
【0132】
(付記11) 付記9記載の方法であって、さらにライセンスオブジェクトを求めるユーザ要求を受信する方法。
【0133】
(付記12) 付記9記載の方法であって、前記データオブジェクトセルへのアクセスを許可することは、前記データオブジェクトセルに関係するライセンスオブジェクトセルが前記計算機にあることを検証することを含む方法。
【0134】
(付記13) 付記9記載の方法であって、前記オブジェクトセルは少なくともひとつのデータコントロール要素とデータオブジェクトを含む方法。
【0135】
(付記14) 付記13記載の方法であって、さらに少なくとも前記データオブジェクトを暗号化する方法。
【0136】
(付記15) 付記9記載の方法であって、少なくとも前記ライセンスオブジェクトセルの一部分は暗号化される方法。
【0137】
(付記16) 付記9記載の方法であって、さらにデータオブジェクトセルを生成する方法。
【0138】
(付記17) 付記9記載の方法であって、さらにライセンスオブジェクトセルを生成する方法。
【0139】
(付記18) 付記9記載の方法であって、前記データオブジェクトセルと前記ライセンスオブジェクトセルは少なくともひとつのユニークな識別子で関係付けられる方法。
(付記19) データオブジェクトを管理する方法であって、
第1の計算機にデータオブジェクトを求める要求を送信し、
前記第1の計算機から前記要求したデータオブジェクトに関係するデータオブジェクトセルを受信し、
第2の計算機に前記データオブジェクトセルに関係するライセンスオブジェクトを求める要求を送信し、
前記第2の計算機から前記要求したライセンスオブジェクトに関係するライセンスオブジェクトセルを受信し、
前記関係するライセンスオブジェクトセルの情報に基づき前記データオブジェクトセルへのアクセスを許可する方法。
【0140】
(付記20) 付記19記載の方法であって、前記第1の計算機と前記第2の計算機は同一の計算機である方法。
【0141】
(付記21) データオブジェクトを管理する方法であって、
ネットワークノードからデータオブジェクトを求める要求を受信し、
前記要求されたデータオブジェクトに付随するデータオブジェクトセルを特定し、
前記ネットワークノードに前記データオブジェクトセルを送信し、
前記データオブジェクトセルへのアクセスは関係するライセンスオブジェクトセルを必要とする方法。
【0142】
(付記22) 付記21記載の方法であって、さらに、
前記データオブジェクトセルに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくとも前記データオブジェクトセルへのアクセスを許可する方法。
【0143】
(付記23) データオブジェクトを管理する方法であって、
ネットワークノードからライセンスオブジェクトを求める要求を受信し、
前記要求されたライセンスオブジェクトに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくともひとつのデータオブジェクトセルへのアクセスを許可する方法。
【0144】
(付記24) ネットワークであって、
前記ネットワークに結合したユーザノードが設けられ、前記ユーザノードはユーザマネージャモジュールを含み、ネットワークにデータオブジェクト及び関係するライセンスオブジェクトを求める要求をし、
前記ネットワークに結合したコンテントマネージャノードが設けられ、前記コンテントサーバノードは前記ネットワークからデータオブジェクトを求める要求を受信し、要求されたデータオブジェクトを引出し、前記ネットワークからのデータオブジェクトを求める前記要求に応答し、
前記ネットワークに結合したライセンスマネージャノードが設けられ、前記コンテントサーバノードは前記ネットワークから関係するライセンスオブジェクトを求める要求を受信し、要求された関係するライセンスオブジェクトを引出し、前記ネットワークからの関係するライセンスオブジェクトを求める前記要求に応答するネットワーク。
【0145】
(付記25) ネットワークであって、
データオブジェクトの供給を求める要求に応答するコンテントマネージャノードが設けられ、
少なくともひとつのデータオブジェクトに関係するライセンスオブジェクトの供給を求める要求に応答するライセンスマネージャノードが設けられ、
前記関係するライセンスオブジェクトを伴う前記データオブジェクトへのアクセスを提供するユーザノードが設けられたネットワーク。
【0146】
(付記26) 付記25記載のネットワークであって、前記ユーザノードはさらに
一以上のデータオブジェクトを要求するユーザインターフェイスをユーザに提供し、
前記コンテントマネージャノードから選ばれたデータオブジェクトを求める要求を出し、
前記ユーザノードがデータオブジェクト及びライセンスオブジェクトへのアクセスできるか決定するネットワーク。
【0147】
(付記27) データオブジェクトを管理するシステムであって、
データオブジェクトを求める要求を受信し、前記データオブジェクトを引出し、前記要求されたデータオブジェクトを送信するコンテントモジュールが設けられ、
前記データオブジェクトに関係するライセンスオブジェクトを求める要求を受信し、前記データオブジェクトに関係するライセンスオブジェクトを引出し、前記要求されたライセンスオブジェクトを送信するライセンスモジュールが設けられたシステム。
【0148】
(付記28) データオブジェクトを管理するシステムであって、
前記データオブジェクトを管理する手段が設けられ、
前記ライセンスオブジェクトを管理する手段が設けられ、
少なくとも関係するライセンスオブジェクトに基づき前記データオブジェクトへのアクセスを許可する手段が設けられたシステム。
(付記29) データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセル引出手段が設けられ、
データオブジェクトセル送信手段が設けられ、
ライセンスオブジェクトセル引出手段が設けられ、
ライセンスオブジェクトセル送信手段が設けられ、
アクセス許可手段が設けられた方法。
【0149】
(付記30) データオブジェクトセルであって、
データコントロール要素及びデータオブジェクトが設けられたデータオブジェクトセル。
【0150】
(付記31) 付記30記載のデータオブジェクトセルであって、前記データオブジェクトは暗号化されているデータオブジェクトセル。
【0151】
(付記32) 付記30記載のデータオブジェクトセルであって、さらにセルヘッダーが設けられたデータオブジェクトセル。
【0152】
(付記33) 付記30記載のデータオブジェクトセルであって、さらに少なくともひとつの公開証明書が設けられたデータオブジェクトセル。
【0153】
(付記34) 付記30記載のデータオブジェクトセルであって、さらに少なくともひとつの署名が設けられたデータオブジェクトセル。
【0154】
(付記35) ライセンスオブジェクトセルであって、
ライセンスコントロール要素及びライセンスオブジェクトが設けられたライセンスオブジェクトセル。
【0155】
(付記36) 付記30記載のライセンスオブジェクトセルであって、前記ライセンスオブジェクトは暗号化されているライセンスオブジェクトセル。
【0156】
(付記37) 付記30記載のライセンスオブジェクトセルであって、さらにセルヘッダーが設けられたライセンスオブジェクトセル。
【0157】
(付記38) 付記30記載のライセンスオブジェクトセルであって、少なくともひとつの公開証明書がさらに設けられたライセンスオブジェクトセル。
【0158】
(付記39) 付記30記載のデータオブジェクトセルであって、少なくともひとつの署名がさらに設けられたデータオブジェクトセル。
【0159】
(付記40) データベーススキーマであって、
ユーザデータと、
コンテントデータと、
ライセンスデータを関係づけるデータベーススキーマ。
【0160】
(付記41) 付記40記載のデータベーススキーマであって、前記ユーザデータはグループデータを含むデータベーススキーマ。
【0161】
(付記42) 付記40記載のデータベーススキーマであって、前記コンテントデータは
発行者データが設けられ、
発行物データが設けられ、
アーティクルデータが設けられたデータベーススキーマ。
【0162】
(付記43) 付記40記載のデータベーススキーマであって、前記コンテントデータはサブスクリプションデータが設けられたデータベーススキーマ。
【0163】
(付記44) 付記40記載のデータベーススキーマであって、前記コンテントデータは課金データが設けられたデータベーススキーマ。
【0164】
(付記45) 付記40記載のデータベーススキーマであって、前記ライセンスデータは発行されたライセンスデータが設けられたデータベーススキーマ。
【0165】
補遺A
【0166】
【表1】
ActivatedFwidsテーブル
ユーザによるメディアセンターのすべての成功したインストレーションを登録する。各ユーザに活性化したフレームワークを割当てる。現在、ユーザと活性化したフレームワークの間には一対一の関係がある。この関係を変更して、一人のユーザが複数の活性化したフレームワークを持てるようにする計画がある。
フレームワークを活性化する前に、まずペンディングしなければならない。活性化する時、PendingFwidsテーブル中のフレームワークに関するすべての情報をActivatedFwidsテーブルにコピーする。バックエンドは、この時、ユーザが誰で、どのフレームワークが使われるか分かる。
【0167】
【表2】
フィールドの説明
TimeStamp
フレームワークが活性化された日付と時間
FrameworkId
フレームワークユニーク識別子(例:fwid0001.0000001101)。現在、一フレームワークに一ユーザアカウントIdが対応している。ユーザアカウントIdに多数の活性化されたフレームワークIdを許容する計画がある。
CellId
フレームワークIdセルをユニークに識別する文字ストリング。フレームワークIdセル、コントラクトセル、コンテントセルを含む各セルはユニークなIdを有する。
Email
メディアセンターをインストールした時にユーザが入力した電子メールアカウント。
RequestId
どのフレームワークから来たものかを検証する。さらにセキュリティーを高める(即ち、バックエンドが応答しない場合、要求Idを活性化し送信するよう試みる。ハッカーを予防するために使う)。
UserHost
今は使用していない。
RemoteHost
今は使用していない。
Authentication
ブール値。偽は電子メールアドレスが認証されていないことを表す。ユーザがバックエンドの確認電子メールを受信し、登録を完了すためにリンクをクリックしたことを示す。このプロセスは、ユーザが実際に電子メールを受信したことがバックエンドに分かるので、電子メールアドレスが正しいものであることを認証、または検証できる。
UserAccountId
ユーザと同じ。
ValidThrough
フレームワークIdの有効期限(例:6ヶ月、1年等)
Administratorsテーブル
管理業務を行う権限を有する特別なユーザのリストを含む。このリスト中のアドミニストレータはユーザとは何の関係もない。アドミニストレータとしてログインすると、権限を有するメディアDNA社員及び発行者はナレッジスターのデータを管理することができる。
【0168】
【表3】
フィールドの説明
Name
アドミニストレータの名前またはログインアカウント。
Password
アドミニストレータアカウントにアクセスするためのパスワード。
Email
アドミニストレータの電子メールアドレス。アドミニストレータと電子的に通信可能である(例:レポート、統計の送信)。
Phone
アドミニストレータの電話番号。
PublisherId
このアドミニストレータが管理する権限を持つ発行物。
Type
このアドミニストレータのタイプを定義する。現在はレギュラーとスーパーの2タイプのみがある。レギュラーアドミニストレータは指定された発行者とその発行物のみ取り扱える。スーパーアドミニストレータにはこの制限は無い。言い換えれば、スーパーアドミニストレータになるということは、PublisherIdコラムを無効とすることである。このコラムで有効な値はRとSである。
ManageCorpAccounts
このアドミニストレータがコーポレートアカウントを管理する権限を有するかを示す。
ManagePromoEmail
このアドミニストレータが販促電子メールを管理する権限を有するかを示す。
ArticleSyncテーブル
ダイナミクスデータベース上でアップデートすべきDOI(アーティクル)の待ち行列を表す。ダイナミクスデータベース中のDOIリストをナレッジスター上のDOIリストと同期するためである。
【0169】
【表4】
フィールドの説明
Doi
同期する必要があるアーティクルのDoi。
Operation
データベース間でアーティクルを同期するには何をすべきかを説明する。
現在、作成と更新という二つのOperationが可能である。有効な値はCとUである。
Status
Operationの状態を記述する。未決定(Pending)、進行中、エラーの3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
同期中にエラーが発生した場合、StatusがEに設定され、エラーメッセージがこのフィールドに入る。
BillableSummariesテーブル
特定のフレームワーク(ユーザ)によってなされたすべての取引の要約をリストし、そのアカウントへの課金情報を有する。一つのエントリーはBillableTransactionsテーブル中のたくさんの個別取引の合計である。
【0170】
【表5】
フィールドの説明
TransactionId
ユーザの一群の取引(一つまたは多数の)をユニークに識別する。
TimeStamp
取引が発生した日付と時刻。
AccountId
取引を行ったユーザ。
FirstName
ユーザのファーストネーム。
LastName
ユーザのラストネーム。
Company
ユーザの勤務先。このフィールドは空欄でも良い。
Email
ユーザの電子メールアドレス。
AccountStatus
ユーザアカウントの状態を定義する。ユーザアカウントには不活性(0)であるか、又はゲスト使用(1)、メンバー使用(2)、グループ使用(3)の状態がある。不使用(4)とすることもできる。
ServiceLevel
将来、ユーザによって異なったレベルのサービスを提供するためのもの(例えば、ゴールド、シルバー、エリート等)。現在はゲストとメンバーという二つのレベルのみ。
NameForBilling
このユーザに対する課金業務のための名前。
BillingAddress1
請求先住所フィールドNo.1
BillingAddress2
請求先住所フィールドNo.2
City
請求先住所(都市)。
State
請求先住所(州)。
PostalCode
請求先郵便番号。
Country
請求先住所(国)。
CardType
請求用クレジットカードタイプ(ビザ、マスター等)。
EncryptedCardNumber
暗号化されたクレジットカード番号。セキュリティのために暗号化されている。
EncryptionType
クレジットカード番号を暗号化するのに使われた暗号タイプ。使えるのはBasic(1)、RSA(2)、SimpleHash(3)である。
CardExpirationMonth
クレジットカードの有効期限(月)。
CardExpirationYear
クレジットカードの有効期限(年)。
CountOfTransactions
この要約書でグループ化された取引数。
Amount
この要約書でグループ化された取引の金額。
Comment
一般的なコメントフィールド。ほとんど使わない。
BillableTransactionsテーブル
ナレッジスターで発生した課金可能な個々の取引をリストする。契約を発行するたびに取引が発生する。
【0171】
【表6】
フィールドの説明。
TransactionId
一ユーザの一群の取引の一部として取引を識別する。
TimeStamp
このテーブルにエントリーされた日時。一般的には、ユーザが「支払い」ページにおいてクレジットカードへの課金を承諾した時である。
TransTime
取引が発生した日時。TimeStampに先立つ時間、日数、週数でも良い。一般的にはユーザが各ドキュメントを購入した時である。
Description
何の取引かの記述。通常は購入されたアーティクルのタイトルを含み、または紹介文である。
Doi
取引されたアーティクル。
AccountId
取引したユーザ。
FrameworkId
ユーザが使用するフレームワーク識別番号。
PublicationId
アーティクルが属する発行物。
TransType
番号によって識別される取引タイプ。有効なタイプは、使用中(0)、導入クレジット(1)、購入(2)、要約(3)である。
Amount
取引金額。
Comment
取引に関するコメント。通常は空欄である。
ClickThroughsテーブル
ユーザが発行されたウェブページに行くのにナレッジスターをクリックするたびにトラッキングする。
【0172】
【表7】
フィールドの説明。
TimeStamp
クリックスルーされた日時。
FrameworkId
クリックスルーしたフレームワーク。後でこのフレームワークを使っているユーザまでトラッキングする。
PublicationCode
ユーザがクリックスルーし終わった発行物。
ContractStatsテーブル
バックエンドをとめる時、エグジットする前に、バックエンドが取引数とそれに要した平均時間を記録する。この記録がこのテーブルに保管される。このテーブルはバックエンドスターデータベースの他のテーブルと直接関係は無い。デバッグ及びシステムモニタリングに使用するものである。
【0173】
【表8】
フィールドの説明
TimeStamp
バックエンドが実行を終了した日時。
NumberContracts
バックエンドが前回初期化されてから今回終了されるまでに、バックエンドにより生成(発行)されたコントラクト数。
AverageTime
コントラクト生成に要した平均時間。この値は契約生成コードの性能をモニターするために使われる。
Comment
一般的なコメント。普通、バックエンドが実行終了したとのメッセージを表示する。
CreditCardNumbersテーブル
各ユーザのクレジットカード番号を暗号化して保管する。クレジットカード番号を暗号化した暗号化のタイプも特定される。
【0174】
【表9】
フィールドの説明
UserAccountId
このカードが使用可能なアカウントを特定する。
EncryptionType
クレジットカード番号を暗号化するのに使用した方法。使用できるのは、Basic(1)、RSA(2)、SimpleHash(3)である。
EncryptedCardNumber
暗号化されたクレジットカード番号。
CurrentTransactionsテーブル
取引に関連した情報を保存する。各契約についてCurrentTransactionsテーブルにエントリーがなされる。エントリーは借方または貸方でも良いし、これらのエントリーを消去するものでも良い。ユーザがアーティクルを購入するたびに、IssuedContractエントリーとCurrentTransactionエントリーがなされる。
【0175】
【表10】
フィールドの説明
TimeStamp
取引のなされた日時。
Description
取引対象を説明する。通常、購入されたアーティクルのタイトルを含み、又は紹介クレジットを示す(即ち、購入取引の場合、アーティクルの名称が入力される)。
Doi
取引されたアーティクルである。
AccountId
ユーザを特定する。
FrameworkId
この取引を処理すべきフレームワークを特定する。
PublicationId
取引されたアーティクルの発行物を特定する。
TransType
数字で特定された取引タイプ。有効なタイプは未使用(0)、紹介クレジット(1)、購入(2)、要約(3)である。
Amount
この取引の金額である。
Comment
一般的なコメントフィールド。
DOIsテーブル
アーティクル関係の情報が入っている。アーティクルはDOIとしても知られている。各エントリーはナレッジスターで取り扱えるDOIを表す。このテーブルはアーティクルの在庫であり、ユーザがアクセスするだろうすべてのアーティクル、すべてのコンテントセルなどを含む。このテーブルはネーミングサーブレットである。
【0176】
【表11】
フィールドの説明
TimeStamp
DOIが登録された日時。
Title
アーティクルのタイトル。
PublicationId
このDOIが属する発行物の識別番号。
PublisherId
このDOIが属する発行者の識別番号。
Url
アーティクルセルがあるアドレス(例:file:///d:¥dataDirectory¥cells¥com.cadcamnet_cad_018_01_01.mdna)
Price
このアーティクルの価格。
ValidFrom
このDOIにアクセス可能となる最初の日を示す。アーティクルへのアクセスを制限する。
ValidThrough
このDOIにいつまでアクセスできるか示す。アーティクルへのアクセスを制限する。
ContentCell
このDOIで特定されたセルがコンテントセルかどうかを示す。値は真(1)又は偽(0)である。
EmailHistoryテーブル
特定のユーザに送信された電子メールをトラッキングする。電子メールがユーザに送信された日付及び使用されたテンプレートも記録される。
【0177】
【表12】
フィールドの説明
TemplateId
使用した電子メールテンプレート。EmailTemplates.TemplateIDへの外部キー。
DateSent
電子メールが送信された日付。
ToHeader
電子メールが送信された電子メールアカウント。ユーザはこのデータをカスタマープロファイルで変更できるので、実際に使用されたアドレスを記憶させている。
UserAccountId
電子メールを受信するユーザ。Users.AccountIdへの外部キーである。
EmailTemplatesテーブル
このテーブルは、電子メールメッセージを生成するためにシステムが使用できるテンプレートの集まりを収容している。電子メールメッセージを生成するには、システムはデータベースのエントリーからFromHeader、SubjectHeader、Bodyを取り、メッセージを組み立てるのに使用する。テンプレートは特定の発行者が保有するか、システムが保有する。
【0178】
【表13】
フィールドの説明
TemplateId
この番号によりテンプレートがユニークに特定される。
PublisherId
このテンプレートを所有する発行者。この欄が0(ゼロ)の場合はシステムテンプレートであることを示す。
Name
このテンプレートの名前。この名前は、この発行者が所有するテンプレート中でユニークである。
CreationDate
テンプレートが作成された日付。
SubjectHeader
このテンプレートで電子メールを送信する時のSubjectライン。
FromHeader
このテンプレートを使用して送信される電子メールのFromHeaderを定義する。
Body
このテンプレートを使った電子メールの内容。
ErrorLogDoiテーブル
Doi関係のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、及び試みられたDoiがこのログに含まれる。
【0179】
【表14】
フィールドの説明
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーの内容を記述するエラー番号。頻度が高いDoiエラーは、Doiが見つからない(101)とDoiが解決されていない(unresolved)(102)である。
Doi
このアーティクルに対するアクセスがエラーとなった。
FrameworkId
失敗したアーティクルを要求しているフレームワーク。
RemoteADdr
Doiエラーが発行されたリモートIPアドレス。
RemoteHost
Doiエラーが発行されたリモートホスト名。
ErrorLogFwidテーブル
FrameworkId関連のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、試みられたDoiがこのログに含まれる。
【0180】
【表15】
フィールドの説明。
TransactionId
エラーを特定するユニークな取引番号。
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーを記述する番号。起こりえるエラーは、Fwidが無い(2001)、フォーマットが良くない(2002)、未登録(2003)、アカウントが見つからない(2004)、活性化されていない(2005)、期限超過(2006)である。
FrameworkId
エラーに巻き込まれたフレームワーク。
Doi
エラーに巻き込まれたDoi。
RemoteAddr
エラーに巻き込まれたユーザIPアドレス。
RemoteHost
エラーに巻き込まれたユーザホスト名。
ExtraText
一般的なコメント。
ErrorLogFwidActivationテーブル
FrameworkIdの活性化に関するエラーを記録する。
【0181】
【表16】
フィールドの説明
TimeStamp
エラーが記録された日付及び時刻。
FrameworkId
エラーに巻き込まれたフレームワーク。
CellId
エラーを経験したフレームワークのIDセルをユニークに特定する文字ストリング。フレームワークIDセル、コントラクトセル、コンテントセルも含めて、各セルはユニークなIDを持つ。
Expires
フレームワークのIDセルが期限切れとなる時間。
UserHost
このカラムはもう使用しない。
RequestId
要求番号。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムはもう使用しない。
FrameworkReinstallsテーブル
ユーザがフレームワークをリインストールしようと試みた回数をカウントし、成功したリインストールに新しいフレームワーク識別番号を割当てる。
【0182】
【表17】
フィールドの説明
TimeStamp
フレームワークのリインストールが記録された日付。
FrameworkId
以前インストールされたフレームワーク。
InstFwid
リインストールされたフレームワーク。
ChainLength
ユーザが試みたフレームワークのリインストールの数。回数が所定の制限に達したら、そのユーザはそれ以上のリインストールを許されない。
RemoteUser
このカラムはもう使われていない。
RemoteAddr
フレームワークをリインストールしたユーザのIPアドレス。
RemoteHost
フレームワークをリインストールしたユーザのホスト名。
FwidCellidNumberGeneratorテーブル
ユニークなセル番号を生成するメカニズムである。ユニークなセルID番号をトラッキングする。このテーブルはナレッジスターデータベースのバックエンドの他のテーブルとは直接的な関係を持たない。
【0183】
【表18】
フィールドの説明
NextCellidNumber
次のセルの識別番号をトラッキングする。
GroupPublicationsテーブル
ユーザグループメンバーによってアクセス可能な発行物を特定する。
【0184】
【表19】
フィールドの説明
GroupId
グループの識別番号。
PublicationId
発行物の識別番号。
Groupsテーブル
グループ関係の情報を保管する。コーポレートアカウントを実現するためグループを使い、コーポレートアカウントを使ってユーザを一つのアカウントにまとめる。
【0185】
【表20】
フィールドの説明
GroupId
グループの識別番号。この番号はユニークである。
Name
グループの名前。
Password
このグループのアカウントにアクセスするパスワード。
Type
有効なグループアカウントのタイプ。現在許されているグレープアカウントは、デモアカウントD、標準アカウントSである。それぞれのグループアカウントフィーが支払われれば、デモアカウントのユーザは標準アカウントに昇格される。
UserTTL
このグループのグループアカウントが有効な日数。
PublicationId
このグループのメンバーがアクセスできる発行物。
Expires
このグループアカウントの有効期限日。
GroupUsersテーブル
ユーザをグループに結びつける。グループのメンバーを特定する。
【0186】
【表21】
フィールドの説明
GroupId
グループ識別番号。
UserAccountId
ユーザアカウントの識別番号。
Expires
このユーザに関するこのグループアカウントの有効期限日。
IssuedContractsテーブル
特定のユーザがアーティクルを入手する時発行された各契約を記録する。フレームワークに契約ごとにエントリーされる(発行されたアーティクルごとに一つの契約)。これらのエントリーは永久に保存され、ユーザが同じアーティクルをダウンロードしても課金されないようにする。
【0187】
【表22】
フィールドの説明
TransactionId
ユニークな番号であり、監査に使用するこの取引の識別子である。
TimeStamp
この取引が登録された日時。
Doi
この契約がなされたアーティクルを示す。
ContractUrl
契約セルがある場所を特定する(ディスクをきれいにするため、しばらくすると契約セルは破棄される)。
CellId
契約セルをユニークに特定する文字ストリング。フレームワークIDセル、契約セル、コンテントセルを含め、各セルはユニークなIDを有する。
FrameworkId
フレームワークIDはDoiで特定されたセルにアクセスできる。
PublicationId
この契約のDoiがどの発行物に属するか示す。
Amount
ユーザが課金された金額。デバッグとトラッキングに使用される。
OnlineSubscriptionDefsテーブル
ナレッジスターが管理するオンライン購読に関する定義を含む。
【0188】
【表23】
フィールドの説明
Description
オンライン購読の特徴を記述する。
PublicationId
オンライン購読をサポートする発行物。
Price
この発行物をオンライン購読するための価格。
PendingFwidsテーブル
ペンディングとなっているすべてのフレームワークをリストする。ペンディングフレームワークは通常ゲストユーザに属する。PendingFwidが活性化された時、そのエントリーはこのテーブルからActivatedFwidsテーブルに「移動」する。
【0189】
【表24】
フィールドの説明
CellId
フレームワークIDセルをユニークに定義する文字ストリング。フレームワークIDセル、コントラクトセル、コンテントセルを含め、セルごとにユニークなIDを有する。
FrameworkId
ペンディングされたフレームワーク。
Email
ペンディングフレームワークを有するゲストユーザの電子メール。
ValidThrough
このペンディングフレームワークが有効な期限日。
UserAccountId
このペンディングフレームワークを持つユーザアカウント。
PromotionalEmailテーブル
バックエンドにある販促電子メールごとの特性と特徴を登録する。
【0190】
【表25】
フィールドの説明
PublicationId
この販促電子メールに関係する発行物。
TemplateId
この販促電子メールに使用されたテンプレート。
Enabled
この販促電子メールがイネーブルかどうかを示す。
EnableDate
この販促電子メールがイネーブルされた日付。
Publicationsテーブル
ナレッジスター上の各発行物に関する情報を有する。一つの発行物が多数のアーティクル又はDOIを含んでも良い。
【0191】
【表26】
フィールドの説明
PublicationId
各発行物のユニークな番号。内部的に発行物を特定する。
Status
発行物の状態は「active」又は「inactive」である。
PublicationCode
発行物を特定する短いコード、通常は3文字のコードである(例:csn、olr、又はcad)。
ResourceFile
この発行物があるファイルを示す(例:c:¥back¥properties/ATContentCell.properties)。
PublisherId
この発行物を所有する発行者。
Domain
この発行物の発行者ドメイン(例:com.g2news、com.cadcamnetなど)
Name
発行物の名称。
ContentCellExtension
この発行物のコンテントのセルフォーマット(例:MDNA、XDNA)
UrlHomePage
この発行物のウェブアドレス(例:http://www.g2news.com/csnindex.html)。
IntroCredit
この発行物からアーティクルにアクセスするユーザに提供される紹介クレジット。金額はUSドルである。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
FreeArticles
ユーザに提供される無料アーティクルの数。
PermitPrinting
この発行物のアーティクルのプリントが許されているかどうかを示す。有効な値は真(1)又は偽(0)である。
PermitCopying
この発行物のアーティクルのコピーが許されているかどうかを示す。有効な値は真(1)又は偽(0)である。
Publishersテーブル
ナレッジスターにコンテントを有する各発行者からの情報を含む。一発行者は多数の発行物を有していても良い。
【0192】
【表27】
フィールドの説明
PublisherId
発行者のユニークな識別番号。
Status
発行物の状態は「active」又は「inactive」である。
PublisherName
発行者の名称。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
TransactionNumberGeneratorテーブル
ユニークな取引ID番号が生成されるメカニズムである。ユニークな取引ID番号をトラッキングする。このテーブルはナレッジスターデータベースのテーブルとは直接的な関係を持たない。
【0193】
【表28】
フィールドの説明
NextTransactionNumbwer
次の取引番号を保管する。
UserBalancesテーブル
ユーザのクレジット及び特定の発行物に対する課金の記録を保管する。ユーザがアクセスした発行物に関するエントリーがある。
【0194】
【表29】
フィールドの説明
UserAccountId
アーティクルにアクセスするユーザ。
PublicationId
アクセスされたアーティクルが属する発行物。
TimeCreditCreated
この発行物からのアーティクルについてこのユーザにクレジットされた日時。
AvailableCredit
使用可能なクレジットの金額をUSドルで示す。
CreditApplied
適用されたクレジットの金額をUSドルで示す。
CurrentCharges
この発行物からのアーティクルについてこのユーザに課金されている金額をUSドルで示す。
HaveShownPricingTerms
ユーザがこの発行物のアーティクルの契約条件を見たかどうかを示す。有効な値は真(1)又は偽(0)である。
UserCommentsテーブル
各ユーザのコメントを保管する。このテーブルはカスタム化サポートで使われる。
【0195】
【表30】
フィールドの説明
UserAccountId
コメントが登録されているユーザ。
TimeStamp
コメントが登録された日時。
Comment
このユーザのコメント。
Usersテーブル
ナレッジスターのユーザアカウントの情報を保管する。この情報は各ユーザについてアドレス、アカウント状態、クレジット、課金などを含む。ユーザごとにUsersテーブルにエントリーがある。ユーザがフレームワークID番号を必要とする事を何かすると、エントリーが作成されフレームワークID番号が送信される。
【0196】
【表31】
フィールドの説明
UserAccountId
各ユーザを識別する。
FirstName
ユーザのファーストネーム。
LastName
ユーザのラストネーム。
Company
ユーザの勤務先。空欄でも良い。
Email
ユーザの電子メールアドレス。
AccountCreationDate
このユーザアカウントが作成された日付。
AccountStatus
ユーザアカウントの状態。ユーザアカウントはinactive(0)、ゲスト(1)、メンバー(2)、又はグループメンバー(3)である。ディスエーブル(4)とすることも可能である。「ゲスト」はナレッジスターに完全には登録していないユーザである。「メンバー」は課金情報も含めて完全な情報を提供したユーザである。
CurrentCharges
このユーザアカウントへの課金をUSドルで表す。
CurrentCredits
このユーザが使えるクレジットをUSドルで表す。
OutstandingLimit
ユーザに支払いを督促する限度額。ユーザごとに設定できる。
ServiceLevel
ユーザに様々なレベルのサービスを提供するために将来使用する(例:「ゴールド」、「シルバー」、「エリート」など)。現在は「ゲスト」と「メンバー」の2レベルある。
PromotionalEmail
ユーザが販促電子メールを欲しているかどうかを示す。有効な値は真(1)と偽(0)である。
RemoteUser
このカラムは使用していない。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムは使用していない。
NameForBilling
請求先名。
BillingAddress1
ユーザの請求先アドレスNo.1
BillingAddress2
ユーザの請求先アドレスNo.2
City
ユーザの住所(都市名)。
State
ユーザの住所(州名)。
PostalCode
ユーザの郵便番号。
Country
ユーザの住所(国名)。
Password
ユーザのパスワード。
PasswordEncryptionType
ユーザのパスワードを暗号化した暗号タイプ。使用可能なのはBasic(1)、RSA(2)、SimpleHash(3)である。
CardType
クレジットカードのタイプ(例:Visa、MasterCard等)
CardAccountNumber
表示しても安全なクレジットカード番号で、例えば「xxxxxxxxxxxx1234」。
CardExpirationMonth
クレジットカードの有効期限が切れる月。
CardExpirationYear
クレジットカードの有効期限が切れる年。
UserSyncテーブル
ダイナミクスデータベースでアップデートされるのを待つユーザのキュー。主な目的は、ダイナミクスデータベースのユーザリストをナレッジスターデータベースのユーザリストとシンクロナイズすることである。
【0197】
【表32】
フィールドの説明
UserAccountId
両方のデータベースをシンクロナイズするためのユーザアカウント。
Operation
データベース間でアーティクルをシンクロナイズするために何をするかを記述する。現在、CreateとUpdateという二つの動作が許されている。有効な値はCとUである。
Status
Operationの状態を記述する。ペンディング、進行中、エラーという3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
エラーが発生しStatusがEとマークされると、エラーメッセージがここに表される。
【技術分野】
【0001】
本システム及び方法はデジタル権利管理に関する。
【背景技術】
【0002】
インターネットの成長により、インターネットを経由して商品とサービスを提供するオンラインの会社とともに、オンラインの消費者の数も増加している。従って、消費者は情報の電子的転送によりいっそう依存し、情報に瞬時にアクセスできることを期待し始めている。消費者にとってはそのようにアクセスが容易になることは大変な利益であるが、一方、消費者のアクセスをコントロールすることはしばしば困難な仕事である。
【0003】
消費者のアクセスをコントロールするアプローチのひとつは、デジタル権利管理(DRM)を活用することである。DRMは情報にデジタル権利を付与し、それによりユーザアクセスをコントロールし、情報の所有者に適切なコントロールを提供する。例えば、DRMによって情報の所有者はロイヤルティの支払いを受け、情報の使用を追跡し、ライセンスを発行することなどができる。
【0004】
共通する問題のひとつは、従来のアプローチでは情報に対する消費者のアクセスを適切にコントロールできないことである。消費者は所有者のコントロールをうまく避ける方法を見つけてしまう。例えば、所有者が消費者に情報にアクセスするためのパスワードを送ったとする。消費者が一旦情報にアクセスすると、その消費者はその情報をコピーして他人に回してしまうかも知れない。
【0005】
共通する問題の今ひとつは、従来のアプローチでは多様なタイプの情報に使えるデジタル権利管理システムを提供できなかったことである。例えば、あるデジタル権利管理システムは音楽ファイルには使えるが、文学的作品には適当でないかも知れない。
【発明の概要】
【0006】
本発明は、データオブジェクトへのアクセスを許可するシステム及び付随する方法を提供する。
【0007】
本発明は、顧客がコンピュータを使って通信媒体を経由してライセンス管理システムに接続するライセンスマネージメントシステムを提供するシステムと方法に関する。顧客は、多様なコンテントのコピーを取得するため通信媒体を通してライセンス管理システムと情報交換し、要求されたコンテントを含むコンテントセルが作成され顧客に送信される。加えて、顧客は、コンテントにアクセスするライセンスを取得するため通信媒体を通してライセンス管理システムと情報交換し、要求されたライセンスを含むライセンスセルが作成され顧客に送信される。顧客がコンテントセル及び関係するライセンスセルを両方とも取得すると、コンテントセルとライセンスセルの条件に規定されている通り、コンテントへのアクセスを許される。
【0008】
前記システムと方法の特長は、ライセンス管理システムが顧客の情報へのアクセスを完全に管理できることである。ライセンス管理システムは顧客に付随したライセンス、及びコンテントに関するアクセス権をコンテント及び・又はライセンスに内蔵しすることができる。従って、顧客は、ライセンス条件が満たされた後にコンテントへアクセスできる。さらに、ライセンス権によって、所有者はコンテントへの多様なアクセスのタイプを管理することができる。例えば、顧客がコンテントを見ることはできるが、コンテントをプリントすることはできない。
【0009】
前記システムと方法の他の特長は、多様な異なったタイプの情報にライセンス管理システムが使用できることである。幅広いコンテントをコンテントセルとして作成し、そのコンテントセルに対応するライセンスを作成するので、どんなコンテントセルに対してもライセンスを作成できる。例えば、顧客は音声ファイル、実行ファイル、テキストファイル等、多様なコンテントへアクセスできる。
【0010】
ライセンス管理システムは通信媒体を通してすぐにアクセスできるので、顧客は大きな遅れなしにコンテントを受信しアクセスできることが、本実施形態の今ひとつの便益である。ライセンス管理システムによって、ユーザはその要求に対してすばやい応答を得ることができる。
【0011】
発明を要約するため、発明の特定の形態、特長、新規な特徴をここに説明した。それら特長のすべてが、本発明の特定の実施形態で実現できるわけではない。従って、例えば、当業者であれば分かるように、本発明は、ここに教示された一つまたはそれ以上の特徴を実現するように実施されるが、必ずしもここに教示又は暗示された他の特長を実現するものではない。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態のハイレベルのブロック図であり、ライセンス管理システムとユーザコンピュータの間の情報交換を示す。
【図2】本発明の一実施形態のハイレベルのブロック図であり、コンテントマネージャ、オファーマネージャ、及びユーザコンピュータの間の情報の流れを示す。
【図3】図2のユーザコンピュータの一実施形態のブロック図である。
【図4】図2のコンテントマネージャの一実施形態のブロック図である。
【図5】図2のオファーマネージャの一実施形態のブロック図である。
【図6a】コンテントセルの一実施形態のブロック図である。
【図6b】コンテントセルの他の実施形態のブロック図である。
【図7a】ライセンスセルの一実施形態のブロック図である。
【図7b】ライセンスセルの他の実施形態のブロック図である。
【図8】ユーザにコンテントへのアクセスを提供する一実施形態のフローチャートである。
【図9】コンテントを送信する一実施形態のフローチャートである。
【図10】ライセンスを要求する一実施形態のフローチャートである。
【図11】ライセンスを送信する一実施形態のフローチャートである。
【図12】コンテント及びライセンスをチェックする一実施形態のフローチャートである。
【図13】コンテントセルを生成する一実施形態のフローチャートである。
【図14】ライセンスセルを生成する一実施形態のフローチャートである。
【発明を実施するための形態】
【0013】
これら及びその他の特徴を、図面を参照しながら説明する。これらの図面及び付随する説明は、本発明の実施形態を示すためのものであり、本発明の範囲を制限するためのものではない。
【0014】
図面を通して、参照番号は参照されている要素の間の対応を示すため再利用される。さらに、各参照番号の最初の桁は、その要素が最初に現れる図面を表す。
【0015】
この出願はベンソン等の米国特許第5,845,281号を文献援用(incorporated by reference)している。
【0016】
本発明はライセンス管理システム120を提供するためのシステムと方法に関する。図1は一実施形態を示し、顧客110がユーザコンピュータ115を使って、通信媒体130を経由してライセンス管理システム120に接続している。例示したシステムにおいて、ライセンス管理システム120はオファーマネージャ122及びコンテントマネージャ124というふたつの主たる構成要素から成る。顧客110は通信媒体130を経由してコンテントマネージャ124と情報交換し、多様なコンテントのコピーを得る。コンテントは音声ファイル、ビデオファイル、テキスト文書、電子メール、データベースレコード、ハイパーテキストマークアップランゲージ(HTML)ファイル、エクステンシブルマークアップランゲージ(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト等を含む。さらに、顧客110は通信媒体130を経由してオファーマネージャ122と情報交換し、コンテントにアクセスするためのライセンスを得る。
【0017】
I. 概観
ライセンス管理システム120の一実施形態の概観が図2に示されている。例示したシステムにおいて、ユーザコンピュータ115はオファーマネージャ122及びコンタクトマネージャ124と通信媒体130を通じて通信する。図2に図示した実施形態において、ライセンス管理システム120のオファーマネージャ122とコンテントマネージャ124は通信媒体130に接続された分離した構成要素として実施されている。他の実施形態においては、オファーマネージャ122とコンテントマネージャ124は直接接続された単一のシステムの一部とすることもできる。
【0018】
図2は顧客110(図1)がコンテントにアクセスしたい時の情報の流れを図示している。イベントAに関して、ユーザコンピュータ115はコンテントを要求し、その要求はコンテントマネージャ124に送信される。イベントBにおいて、コンテントマネージャ124は、要求されたコンテントを含むコンテントセル210をユーザコンピュータ115に送信する。次に、イベントCで、ユーザコンピュータ115はライセンスを要求し、その要求はオファーマネージャ122に送信される。イベントDにおいて、オファーマネージャ122は要求されたライセンスを含んだライセンスセル220をユーザコンピュータ115に送信する。イベントE及びFにおいて、ユーザコンピュータ115はコンテントセル210及び対応するライセンスセル220を両方持っていることを検証し、ユーザコンピュータ115はコンテントへのアクセスを許可する。
【0019】
この実施形態の長所は、ユーザコンピュータ115がコンテントを受信し、大きな遅れ無しにコンテントにアクセスできることであり、それはライセンス管理システム120が通信媒体130を通じてすぐにアクセス可能だからである。ライセンス管理システム120はユーザがその要求に対する応答をタイムリーに受信できるようにしている。
【0020】
この実施形態の他の長所は、ライセンス管理システム120がユーザコンピュータ115のコンテントの使用をライセンスによって管理することである。ライセンス管理システム120は、ユーザコンピュータ115に付随したライセンス権利、及びコンテントセル210及び・またはライセンスセル220内のコンテントに関係したアクセス権限を内蔵できる。
【0021】
II. ライセンス管理システムの実施
このセクションは、図2に示した電子的ライセンスを提供するためのシステムの一実施形態をさらに説明する。例示したシステムは、通信媒体130、ユーザコンピュータ115、及びライセンス管理システム120を含む。
【0022】
A. 通信媒体
図2に示す通信媒体130に関して、現在のところ好ましい通信媒体130は、コンピュータのグローバルネットワークであるインターネットを含む。インターネットの構造は、当業者には周知であるが、ネットワークバックボーンと、バックボーンから枝分かれ(ブランチ)したネットワークを含む。これらブランチはさらに枝分かれしたネットワークを持つ。ルータは情報パケットをネットワークレベルでやり取りし、ネットワークからネットワークへ送り、そのパケットが送付先の近傍に届くまで送る。送付先からは、送付先のネットワークのホストが情報パケットを適当な端末またはノードに送る。インターネットの構造と動作に関するより詳細な説明は、Harley Hahn及びRick Stoutによる”The Internet Complete Reference”(McGraw-Hill社、1994年)を参照されたい。
【0023】
ひとつの有利な実施形態において、インターネットのルーティングハブはドメインネームシステム(DNS)サーバから成ることは周知である。DNSはトランスファーコントロールプロトコル/インターネットプロトコル(TCP/IP)サービスであり、ドメインネームをインターネットプロトコル(IP)アドレスに、またはインターネットプロトコル(IP)アドレスからドメインネームに変換する時に呼び出される。
ルーティングハブは高速通信リンクを通して他のルーティングハブに接続している。
【0024】
しかし、当業者であれば、広い範囲のインターラクティブな通信媒体130が本発明で使用できることを認めるであろう。例えば、通信媒体130はインターラクティブなテレビネットワーク、電話ネットワーク、無線データ送信システム、双方向ケーブルシステム、カスタマイズされたコンピュータネットワーク、インターラクティブなキオスクネットワーク、現金自動預入支払機ネットワーク等を含む。
【0025】
インターネットで良く使用されるのはワールドワイドウェブである。ワールドワイドウェブはグラフィックス及びテキスト情報を表示できる文書を記憶している異なったコンピュータを含んでいる。ワールドワイドウェブ上で情報を提供するコンピュータは通常「ウェブサイト」と呼ばれている。ウェブサイトはインターネットアドレスにより指定され、インターネットアドレスには電子的なページが付随している。その電子的ページはユニフォームリサーチロケータ(URL)により同定される。一般的に、電子的ページはテキスト、グラフィカルイメージ、オーディオ、ビデオ等の表示を統合するドキュメントである。
【0026】
B. ユーザコンピュータ
ユーザコンピュータ115は、図3に示されており、ユーザが通信媒体130(図1)と情報交換する装置である。一実施形態において、ユーザコンピュータ115は従来の汎用コンピュータであり、一またはそれ以上のマイクロプロセッサ、例えばPentium(登録商標)プロセッサ、Pentium(登録商標)IIプロセッサ、Pentium(登録商標) Proプロセッサ、xx86プロセッサ、8051プロセッサ、MIPSプロセッサ、Power PCプロセッサ、Alphaプロセッサを使用している。一実施形態において、ユーザコンピュータ115は適当なオペレーティングシステム、例えば、Microsoft(登録商標) Windows(登録商標) 3.X、Microsoft(登録商標) Windows(登録商標) 98、Microsoft(登録商標) Windows(登録商標) NT、Microsoft(登録商標) Windows(登録商標) CE、Palm Pilot OS、Apple(登録商標) MacOS(登録商標)、Disk Operating System (DOS)、UNIX(登録商標)、Linux(登録商標)、またはIBM(登録商標) OS/2(登録商標)を動作させている。一実施形態において、ユーザコンピュータ115は従来のモデムまたはその他のネットワーク接続機能、例えば、イーサネット(登録商標)(IEEE802.3)、トークンリング(IEEE802.5)、ファイバーディストリビューテッドデータリンクインターフェイス(FDDI)、非同期トランスファーモード(ATM)を備えている。従来どおり、一実施形態において、オペレーティングシステムは、通信媒体130を通して入出するすべてのメッセージトラフィックを処理するTCP/IPスタックを含む。
【0027】
他の実施形態において、ユーザコンピュータ115は、例えばコンピュータワークステーション、個別のコンピュータのローカルエリアネットワーク、インターラクティブテレビ、インターラクティブキオスク、パーソナルデジタルアシスタント、インターラクティブ無線通信装置、ハンドヘルドコンピュータ、電話機、ルータ、サテライト、スマートカード、内蔵コンピューティング装置等、通信媒体130と情報交換できるものであれば良い。そのようなシステムにおいて、オペレーティングシステムは異なるが、通信媒体130と通信リンクを確立するのに必要な適当な通信プロトコルを提供する。
【0028】
例示したユーザコンピュータ115はブラウザモジュール310、ユーザマネージャ320、及びデータベースコレクション330を含む。
【0029】
1. ブラウザモジュール
一実施形態において、ユーザコンピュータ115はユーザブラウザモジュール310を含む複数の動作モジュールを利用する。ユーザブラウザモジュール310(以下、ユーザブラウザ310と呼ぶ)はソフトウェアプログラムであり、消費者は、通信媒体130(図1)を通して異なるコンテントプロバイダーにアクセス可能となる。一実施形態において、ユーザブラウザ310はネットスケープが開発したNetscape(登録商標)Navigator、またはマイクロソフトが開発したMicrosoft(登録商標)インターネットエクスプローラである。しかし、当業者であれば、その他のタイプの多数のアクセスソフトウェアでも、本発明の実施形態を実施できることを認めるであろう。その他のタイプのアクセスソフトウェアとは、例えば、他のタイプのインターネットブラウザ、カスタムネットワークブラウザ、双方向通信ソフトウェア、ケーブルモデムソフトウェア、ポイントツーポイントソフトウェア等でもよい。
【0030】
2. ユーザマネージャ
一実施形態において、ユーザコンピュータ115はユーザマネージャ320を含む。ユーザマネージャ320はユーザコンピュータ115が受け取ったすべてのコンテントとライセンスを追跡管理する。一実施形態において、ユーザマネージャ320はウェブベースのダウンロードプロセスと通してユーザコンピュータ115にロードされる。ウェブベースのダウンロードプロセスにおいて、ユーザブラウザ310はユーザに、ユーザマネージャ320をダウンロードするか問い合わせることができる。ユーザがYESと答えれば、ダウンロードプロセスはユーザマネージャ320がユーザブラウザ310をサポートしているかチェックする。サポートしていれば、ユーザブラウザ310はユーザマネージャ320をユーザコンピュータ上に自動的にダウンロードする。他の実施形態において、ユーザマネージャのダウンロードプロセスは、ユーザの介入無しに実行しても、ユーザマネージャ320がユーザコンピュータ115にプリインストールされていてもよい。
【0031】
3. データベースコレクション
一実施形態において、ユーザコンピュータ115は図3に示したデータベースコレクション330を含む。例示したデータベースコレクション330は複数のデータベース、例えばライセンスデータベース332、コンテントデータベース334、暗号鍵データベース336を含み、暗号鍵データベース336は一またはそれ以上の暗号鍵を含むことができる。
【0032】
ライセンスデータベース332は、ユーザコンピュータ115が受け取ったライセンスセル220に関する情報を含む。その情報は受け取ったままのライセンスセル220のコピー、または解凍された情報、例えばライセンス規約、ライセンスセルヘッダー情報等を含むことができる。
【0033】
コンテントデータベース334は、ユーザコンピュータ115が受け取ったコンテントセル210に関する情報を含む。その情報は受け取ったままのコンテントセル210のコピー、または解凍された情報、例えば暗号化されたコンテント、コンテントセルヘッダー情報等を含むことができる。
【0034】
暗号鍵データベース336はライセンスセル220を通じて受け取った鍵を含み、その鍵はユーザマネージャ320が暗号化されたコンテントを解読するために用いる。一実施形態ではシンメトリック鍵暗号を使用するが、他の実施形態においては、シンメトリック暗号とは別に、または関連して他の暗号方法を使うことができる。
【0035】
一実施形態において、データベースコレクション330はフラットファイルデータベース構造を使って実施できる。別の実施形態においては、データベースコレクション330は他のデータベースを使用して実施でき、例えばストラクチャークエリーランゲージ(SQL)を使ってデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施できる。さらに、図3に示したデータコレクション330は複数の個別のデータベースから成るが、他の実施形態においては、データベースコレクション330は他のデータベースを含むこともできるし、他のデータベースを結合することもできる。加えて、データベースコレクション330は複数の個別のテーブルを持ったひとつのデータベースとして実施しても良いし、または周知の別のデータ構造、例えばリンクされたリスト、バイナリーツリー等として実施しても良い。
【0036】
C. ライセンス管理システム
一実施形態において、ライセンス管理システム120(図1)はコンテントとライセンスの生成と発行を管理する。別の実施形態において、ライセンス管理システム120は主としてコンテントセル210とライセンスセル220の発行を管理し、別個のモジュールがライセンスセル220及び・またはコンテントセル210を生成してもよい。前述の通り、ライセンス管理システム120は二つの主たる構成要素、コンテントマネージャ124及びオファーマネージャ122から成る。しかし、別の実施形態においては、複数のコンテントマネージャ124及び・または複数のオファーマネージャ122があってもよい。
【0037】
1. コンテントマネージャ
図4はコンテントマネージャ124の一実施形態を示す。例示したコンテントマネージャ124はウェブサーバソフトウェア410、コンテントマネージャコンポーネント420、及びデータベースコレクション430を含む。
【0038】
a. ウェブサーバソフトウェア
一実施形態において、コンテントマネージャ124は図4に示した通りウェブサーバソフトウェア410を含む。ウェブサーバソフトウェア410は、例えばネットスケープのインターネットサーバソフトウェア、マイクロソフトのインターネットサーバソフトウェア(ISS)等であってもよい。斯様なウェブサーバソフトウェア410は図2に示した通り、ユーザコンピュータ115及びオファーマネージャ122からのメッセージを処理するように構成されている。
【0039】
b. コンテントマネージャコンポーネント
一実施形態において、コンテントマネージャ124はコンテントセル210の生成と発行を管理するコンテントマネージャコンポーネント420を含む。図4に示したコンテントマネージャコンポーネント420は、二つのプロセス、ユーザマネージャダウンロードプロセス422とコンテントセル生成プロセス424から成る。コンテントマネージャコンポーネント420は図示しない別のプロセスを含んでも良く、例えばユーザを登録管理するプロセス、コンテントセルのインベントリーを追跡するプロセス、及びサーチエンジンを提供するプロセスを含んでも良い。
【0040】
ユーザマネージャダウンロードプロセス422はユーザコンピュータ115にユーザマネージャ320をダウンロードする。別の実施形態において、ユーザマネージャダウンロードプロセス422は他のモジュールで実行しても良いし、ユーザマネージャ320がユーザコンピュータ115にプリインストールされていても良い。コンテントセル生成プロセス424は、ユーザコンピュータ115がコンテントを要求し、プロセス424が要求されたコンテントのコンテントセル210を生成する時に呼び出される。この実施形態においては、コンテントマネージャ124はコンテント生成プロセス424を含むが、別の実施形態においては、別のモジュールがコンテントセル210を生成しても良く、コンテントマネージャ124が、コンテントセル210を生成するのではなくロケートすることによって、コンテントセル210の発行を主として管理しても良い。
【0041】
c. データベースコレクション
一実施形態において、コンテントマネージャ124は図4に示したデータベースコレクション430を含む。例示したデータベースコレクション430は複数のデータベースを含み、例えば規約データベース432、暗号鍵データベース434(暗号鍵データベースは一つまたはそれ以上のシンメトリック鍵を含む)、公開証明書データベース436、コンテントデータベース438、セルヘッダー情報データベース439を含む。
【0042】
規約データベース432はコンテントに権利をどのようにいつ割り当てるかに関する規約を含む。規約は一般的なもの(例えば、コンテントXにはライセンスYが必要である)でも良いし、より特定のもの(例えば、ライセンスYを持つ者は誰でもコンテントXをプリントできる。コンテントXをプリントするにはライセンスYが必要であり、さもなければURL Cに飛ぶ。)であっても良い。図4は規約が規約データベース432に記憶されているとして示したが、別の実施形態においては、規約は他のフォーマットに記憶されても良く、例えばプログラムまたは一組のスクリプトのフォーマットに記憶されても良い。
【0043】
暗号鍵データベース434は一組のシンメトリック鍵を含み、コンテントマネージャ124が要求されたコンテントを解読するためにその一組のシンメトリック鍵を使用する。シンメトリック鍵は周知の技術を使って生成できる。シンメトリック及びアシンメトリック暗号に関するより詳しい説明は、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。この実施形態はシンメトリック暗号を使用するが、別の実施形態においては、別の暗号方法をシンメトリック暗号とは別に、またはそれに関連して使用しても良い。
【0044】
公開証明書データベース436は、コンテントマネージャ124が通信する別の構成要素からの公開証明書を含む。構成要素の公開暗号鍵は構成要素の公開証明書の中に入っている。例えば、公開証明書データベース436は、オファーマネージャ122の公開証明書(オファーマネージャ122の公開暗号鍵を含む)を含んで、コンテントマネージャ124とオファーマネージャ122が通信する時の暗号化及び認証をしても良い。公開証明書データベース436はコンテントを要求したユーザコンピュータ115の公開証明書を含んでも良い。
【0045】
コンテントデータベース438は多様なコンテントそのもの、及びコンテントに関する情報を含む。コンテントは、音声ファイル、テキスト文書、電子メール、データベースレコード、ハイパーテキストマークアップ言語(HTML)ファイル、エクステンシブルマークアップ言語(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト等を含んでも良い。コンテントデータベース438は発行者テーブル、発行物テーブル、アーティクルテーブル等を含んでも良い。
【0046】
発行者テーブルは発行者に関する情報を保存する。発行者テーブルは、発行者ID、ステータス(発行者がアクティブか否かを示す)、発行者名、デフォルトの価格、などのフィールドを含んでも良い。各発行者は一つまたはそれ以上の発行物を発行できる。
【0047】
発行物テーブルは発行物に関する情報を保存する。発行物テーブルは、発行物ID、ステータス(発行物がアクティブか否かを示す)、発行物コード、属性、発行者ID、ドメイン、発行物名、発行物ファイルタイプ、発行物ウェブアドレス、イントロダクトリークレジット、デフォルト価格、無料アーティクル数、プリントフィールド(プリントをできるかを示す)、コピーフィールド(コピーできるかを示す)、などのフィールドを含むことができる。各発行物は一つまたはそれ以上のアーティクルを含む。
【0048】
アーティクルテーブルはアーティクル(ひとつひとつのコンテント)に関する情報を保存する。「アーティクル」という用語が使われているが、「アーティクル」という用語は、音声ファイル、ビデオファイル、テキストドキュメント、電子メール、データベースレコード、ハイパーテキストマークアップ言語(HTML)ファイル、エクステンシブルマークアップ言語(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト、などのコンテントを含んでも良いと認められている。アーティクルテーブルはタイトル、タイムスタンプ、発行物ID、発行者ID、価格、有効期間、セルタイプ等のフィールドを含んでも良い。
【0049】
コンテントデータベース438は申込みテーブル、管理者テーブル等のコンテントに関係した他のテーブルを含んでも良い。申込みテーブルは多様な申込みを定義し、デスクリプションフィールド、申込みID、価格等のフィールドを含む。管理者テーブルは、価格、終了日、グループの設定等、管理業務を行う権限を有する特別なアカウントを保存する。管理者テーブルは、氏名、パスワード、電子メールアドレス、電話番号、発行者ID、管理者レベル、グループアカウント管理許可、プロモーション管理許可等のフィールドを含んでも良い。
【0050】
セルヘッダー情報データベース439はセルヘッダーに関する情報を含む。この情報は各コンテントセル210に固有の識別子、コンテントを製作する多様な店舗に関する情報、記述的情報、及び認証情報(例えば、失効日・時間)を含むことができる。
【0051】
データベースコレクション430に関して、ひとつの実施形態においては、データベースコレクション430と共に働くIDジェネレータ、ナンバージェネレータ、統計ジェネレータ、セッションジェネレータ、一時記憶部などの複数のプロセス(図示せず)をおいても良い。
【0052】
ひとつの実施形態においては、データベースコレクション430は、構造化クエリー言語(SQL)を通してデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施されている。SQLはリレーショナルデータベースを定義し、更新し、リレーショナルデータベースに問い合わせるために国際標準化機構(ISO)により標準化された言語である。
【0053】
別の実施形態において、データベースコレクション430は、別のリレーショナルデータベースを使って実施しても良いし、別のタイプのデータベース(例えば、フラットファイルデータベースなど)を使っても良い。さらに、図4に示したデータベースコレクション430は複数の個別のデータベースから成るが、別の実施形態においては、データベースコレクション430は別のデータベースを含んでも良いし、いくつかのデータベースが結合されていても良い。なお、データベースコレクション430は、個別のテーブルを持った単一のデータベースとして実施しても良いし、リンクされたリスト、バイナリーツリー等の周知である別のデータ構造として実施しても良い。
【0054】
ひとつの実施形態においては、データベースコレクション430は、サーブレット(サーバ上で起動する小さなプログラム)を通してデータベースリクエストを受け取り、データベース430に対応するSQL要求を送るバックエンドの構成要素(図示しない)に接続されていても良い。別の実施形態においては、データへアクセスする仕方は異なっても良く、例えば、異なるタイプのバックエンド構成要素を使っても、データベースコレクション430に直接アクセスしても良い。
【0055】
データベースコレクション430の実施形態のより詳しい説明は、添付した補遺Aに書かれている。補遺Aのデータベースコレクション430はライセンス管理システム120を図示しており、コンテントマネージャ124及びオファーマネージャ122は共に同じデータベースコレクションにアクセスしているが、別の実施形態においては、コンテントマネージャ124及びオファーマネージャ122は多様なデータベースの個別のコピーを持っていても良い。
【0056】
2. オファーマネージャ
図5はオファーマネージャ122のひとつの実施形態を図示している。例示したオファーマネージャ122はウェブサーバソフトウェア510、オファーマネージャコンポーネント520、ライセンスマネージャ530、及びデータベースコレクション540を含む。
【0057】
a. ウェブサーバソフトウェア
ひとつの実施形態において、オファーマネージャ122は図5に示す通りウェブサーバソフトウェア510を含んでいる。ウェブサーバソフトウェア510は、例えば、ネットスケープのインターネットサーバソフトウェアでも、マイクロソフトのインターネットサーバソフトウェア(ISS)等でも良い。斯様なウェブサーバソフトウェア510はユーザコンピュータ115及びコンテントマネージャ124からのメッセージを処理するよう構成されている。
【0058】
b. オファーマネージャコンポーネント
ひとつの実施形態において、図5に示した通り、オファーマネージャ122はライセンスセル220の発行を管理するオファーマネージャコンポーネント520を含む。オファーマネージャコンポーネント520は、ユーザとの情報交換管理、ライセンスマネージャ530が呼ばれる前にユーザ要求が満足されたかの決定、金銭の支払いの追跡、ライセンスが発行されたかの決定その他の処理などの処理(図示せず)を含んでも良い。
【0059】
c. ライセンスマネージャコンポーネント
ひとつの実施形態において、オファーマネージャ122はライセンスセル220の生成を管理するライセンスマネージャ530を含む。図5に示したライセンスマネージャ530は、ライセンスセル生成プロセス532から成る。ライセンスセル生成プロセス532はユーザコンピュータ115がコンテントセル210を求めるライセンスを要求した後、呼び出されても良い。ライセンスセル生成プロセス532は要求されたコンテントのライセンスセル220を生成する。この実施形態においては、ライセンスマネージャ530はコンテント生成プロセス424を含むが、別の実施形態においては、別のモジュールがライセンスセル220を生成しても良い。
【0060】
例えば、オファーマネージャ122はライセンスセル生成プロセス532を含み、ライセンスセル220を生成しても良い。しかし、ひとつの実施形態においては、別のモジュールがライセンスセル220を生成しても良く、ライセンスマネージャ530またはコンテントマネージャ124いずれかが適当なライセンスセル220を配置するようにしても良い。
【0061】
ライセンスマネージャ530は発行されたライセンスを一時保管(repository)などの図示しないその他のプロセスを含んでも良い。なお、ひとつの実施形態において、ライセンスマネージャ530は新しいライセンスが生成されるたびに追跡される発行済みライセンスデータベース547を含む。この管理によって、ライセンスマネージャ530はライセンスするプロセスの監査証跡(オーディットトレイル)となり、他のモジュールに要求されたライセンス情報を提供できる。
【0062】
d. データベースコレクション
ひとつの実施形態において、オファーマネージャ122は図5に示したデータベースコレクション540を含む。例示したデータベースコレクション540は、規約データベース541、暗号鍵データベース542(ひとつまたはそれ以上のシンメトリック鍵を含む)、公開証明書データベース543、コンテントデータベース544、ユーザデータベース545、グループデータベース546、発行済みライセンスデータベース(「ライセンスデータベース」)547、課金データベース548、セルヘッダー情報データベース549等、複数のデータベースを含む。
【0063】
規約データベース541は、いかに、いつ、コンテントに権利を割当てるかに関する規約を含んでいる。規約は一般的なもの(例えば、コンテントXにはライセンスYが必要である)でも良いし、より特定のもの(例えば、ライセンスYを有する者は誰でもコンテントYをプリントできる、コンテントXをプリントするにはライセンスYが必要で、無ければURL Cに飛ぶ)であっても良い。図5は規約データベース541を示しているが、別の実施形態においては、規約はプログラムやスクリプトのような別のフォーマットに記憶されていても良い。
【0064】
暗号鍵データベース542は、コンテントマネージャ124が要求されたコンテントを暗号化するのに使用する一組のシンメトリック鍵を含む。シンメトリック鍵は周知の技術を使用して生成できる。シンメトリック及びアシンメトリック暗号のより詳細な説明は、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons社、1996年)を参照されたい。この実施形態はシンメトリック暗号を使用しているが、別の実施形態においては、シンメトリック暗号とは異なった、または関連した別の暗号を使用しても良い。
【0065】
公開証明書データベース543は、オファーマネージャ122が通信する他の構成要素からの一組の公開証明書を含む。構成要素の公開暗号鍵は構成要素の公開証明書の中にある。例えば、コンテントマネージャ124とオファーマネージャ122が通信する時に認証ができるよう、公開証明書データベース543はコンテントマネージャ124の公開証明書(コンテントマネージャ124の公開鍵を含む)を含んでも良い。公開証明書データベース543はライセンスを要求するユーザコンピュータ115の公開証明書を含んでも良い。
【0066】
特定の実施形態においては、オファーマネージャのコンテントデータベース544はコンテントマネージャのコンテントデータベース438の一部または全部を含んでも良い。コンテントデータベース544は、周知のデータ複製技術を使って、コンテントマネージャのコンテントデータベース438からデータをコピーして、オファーマネージャ122及びコンテントマネージャ124が、データの同一性を損なうことなく、それぞれ同じデータのコピーを持つようにしても良い。さらに、オファーマネージャのコンテントデータベース544はコンテントマネージャのコンテントデータベース438には含まれていない情報を含んでも良い。この実施形態はオファーマネージャ124及びコンテントマネージャ122がそれぞれ、同じコンテントデータベース544、438のコピーを有する場合を示したが、別の実施形態においては、オファーマネージャ122及びコンテントマネージャ124が両方とも、同じコンテントデータベースにアクセスしても良い。コンテントデータベース544のひとつの実施形態のより詳細な情報として、「1.コンテントマネージャ c.データベースコレクション」という表題をつけたセクションを参照されたい。
【0067】
ユーザデータベース545はユーザに関する情報を追跡する。ユーザデータベース545はユーザ情報テーブル、ユーザクレジットカード情報テーブル、ユーザコメントテーブル、ユーザアカウントバランステーブル等のテーブルを含んでも良い。
【0068】
ユーザ情報テーブルはシステムのユーザに関する情報を含む。ユーザ情報テーブルはユーザアカウントID、名前、苗字、勤務先、電子メールアドレス、アカウント生成データ、アカウントステータス、現在請求金額、現在クレジット、残高制限、サービスレベル、販促電子メール、リモートユーザ、リモートアドレス、リモートホスト、請求先名、請求先住所、パスワード、パスワード暗号化タイプ等のフィールドを含んでも良い。ユーザクレジットカード情報テーブルはユーザの暗号化されたクレジットカード番号の記録及びその他のクレジットカード情報を保持する。ユーザクレジットカード情報テーブルはユーザアカウントID、クレジットカード暗号化方法、暗号化されたクレジットカードアカウント番号、クレジットカード失効月、クレジットカード失効年等のフィールドを含んでも良い。ユーザコメントテーブルは特定のユーザのコメントを追跡し、カスタマイズされた顧客サポートを可能とする。ユーザコメントテーブルは、ユーザアカウントID、タイムスタンプ、コメントフィールド等のフィールドを含む。ユーザアカウントバランステーブルは、ユーザがアクセスした特定の発行物ごとにユーザのクレジットと請求額の記録を保持する。ユーザアカウントバランステーブルはユーザアカウントID、発行物ID、クレジットが発生した時間、利用可能クレジット、適用されたクレジット額、現在請求額、表示された価格条件、及びユーザアカウントに関係したその他情報等のフィールドを含んでも良い。
【0069】
グループデータベース546は、複数のユーザをコーポレートアカウント等、ひとつのアカウントに連結する。グループデータベース546はグループテーブル、グループユーザテーブル、発行物テーブル等のテーブルを含んでも良い。
【0070】
グループテーブルはグループに関係する情報を維持する。グループテーブルは、グループID、グループ名、パスワード、アカウントのタイプ、アカウントが有効な日数、発行物ID、有効期限等のフィールドを含む。グループユーザテーブルはグループのメンバーを特定する。グループユーザテーブルは、グループID、ユーザアカウントID、有効期限等のフィールドを含んでも良い。グループ出版物テーブルは、グループのメンバーがアクセスできる出版物を特定する。グループ出版物テーブルは、グループID、出版物ID等のフィールドを含んでも良い。
【0071】
ライセンスデータベース547は発行されたライセンステーブル等の複数のテーブルを含んでも良い。発行されたライセンステーブルはアーティクルへのアクセスを許す、ユーザに発行された各ライセンスを記録する。発酵されたライセンステーブルは、取引ID、タイムスタンプ、アーティクルID、コンテントセルの場所、コンテントセルID、フレームワークID、発行物ID、請求金額等のフィールドを含んでも良い。
【0072】
課金データベース548は請求取引を管理する。課金データベース548は、現在取引、請求可能取引、請求可能適用(サマリー)等のテーブルを含んでも良い。他の標準的請求情報は課金データベース548に含んでも良い。
【0073】
セルヘッダー情報データベース549はセルヘッダーのための情報を含む。この情報は、各ライセンスセル220のためのユニークな識別子、各コンテントセル210のためのユニークな識別子、コンテントを製作する多様な店舗に関する情報、記述的情報、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0074】
データベースコレクション540は多様な管理業務を実行するため、他のデータベース(図示せず)を含んでも良い。例えば、データベースコレクション540は、ユーザ要求等の多様なユーザアクティビティを追跡するユーザアクションデータベースを含み、クリックスルー(ユーザがウェブリンクを選択するたびにトラッキングすること)を使用しても良い。なお、データベースコレクション540は多様なシステムエラー、例えば特定のアーティクルに関係したエラー、新しいユーザに関係したエラー、新しいライセンスに関係したエラー等をトラッキングするエラーデータベースを含んでも良い。データベースコレクション540はデータの同一性を維持するためのデータベース、例えば新しい情報が追加される時、及び・または既存の情報を変更しなければならない時にシステムに警告を発する多様な同期テーブルなどを含んでも良い。データベースコレクション540は、ユーザに電子メール及びその他の通信手段で送った販促をトラッキングする販促データベースを含んでも良い。データベースコレクション540は、ユーザがユーザマネージャ320をユーザの計算機のひとつに再インストールしようと試みた時、またはユーザがユーザIDを検証した時などに、ユーザがユーザの計算機のひとつにユーザマネージャ320のロードを試みた回数をトラッキングするためのユーザマネージャ起動情報を含んでも良い。
【0075】
データベースコレクション540に関して、ひとつの実施形態においては、データベースコレクション540と共に働くIDジェネレータ、ナンバージェネレータ、統計ジェネレータ、セッションジェネレータ、一時記憶ユニット等の複数のプロセス(図示せず)があっても良い。
【0076】
ひとつの実施形態においては、データベースコレクション540は、構造化クエリー言語(SQL)を通してデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施している。SQLは、リレーショナルデータベースを定義し、更新し、リレーショナルデータベースに問い合せるために国際標準化機構により標準化された言語である。
【0077】
ひとつの実施形態においては、データベースコレクション540は異なったリレーショナルデータベース、及び異なったタイプのデータベース(例えばフラットファイルデータベース)を使って実施できる。さらに、図5に示したデータベースコレクション540は複数の個別のデータベースから成っているが、別の実施形態においては、データベースコレクション540が別のデータベースを含んでも良いし、いくつかのデータベースが結合されても良い。なお、データベースコレクション540は、個別のテーブルを備えた単一のデータベースとして実施しても良いし、リンクされたデータ、バイナリーツリー等周知の他のデータ構造として実施しても良い。
【0078】
ひとつの実施形態において、データベースコレクション540は、サーブレット(サーバ上で起動する小さなプログラム)を通じてデータベース要求を受け取り、データベースコレクション540に対応するSQL要求を送るバックエンド構成要素(図示せず)に接続されても良い。別の実施形態においては、データへのアクセスは異なった仕方で、例えば、異なったタイプのバックエンド構成要素を使っても良いし、データベースコレクション540に直接アクセスしても良い。
【0079】
データベースコレクション540の実施形態のより詳細な説明は、添付した補遺Aにある。補遺Aのデータベースコレクション540は、コンテントマネージャ124及びオファーマネージャ122両方が、同じデータベースコレクションにアクセスするライセンス管理システム120を示すが、別の実施形態においては、コンテントマネージャ124及びオファーマネージャ122は、個別のデータベース(似たものでも、部分的に同じものでも、違うものでも良い)を有しても良い。
III. ライセンス管理システムセル
ひとつの実施形態において、ライセンス管理システム120は、コンテントを含むセル(コンテントセル210)、及びライセンスを含むセル(ライセンスセル220)を生成する。
【0080】
A. コンテントセル
図6aはコンテントセル210aの一実施形態である。例示したコンテントセル210aは一組の規約612a、暗号化されたコンテント614a、セルヘッダー616a、公開証明書618a、及びコンテントセル署名611aを含む。
【0081】
1. 規約
コンテントセル規約612aはユーザコンピュータ115に、コンテントセル210aにどんな権利が付随しており、その権利を得るためには何が要求されるかを知らせる。例えば、コンテントセル210aは、アーティクルをプリントする権利のための一セットの必要条件、及びアーティクルを見るための一セットの必要条件を有しても良い。一実施形態において、規約612aは特定のユーザのためにかかれたものであっても良いし、別の実施形態においては、規約612aはより一般的に書かれた特定のクラスのユーザに適用されるものでも良い。
【0082】
2. 暗号化されたコンテント
コンテントセルの暗号化されたコンテント614aは、コンテントマネージャ124に暗号化された要求されたコンテントを含む。一実施形態において、コンテントは対称鍵を使って暗号化される。対称鍵はオファーマネージャの公開鍵を使ってライセンス管理システム120によって暗号化され、オファーマネージャ122だけがその対象鍵を復号化でき、暗号化された対象鍵はユーザマネージャ320に送信される。ユーザマネージャ320がライセンスを要求した時、ユーザマネージャ320はオファーマネージャ122に暗号化された対象鍵を送信する。オファーマネージャ122は、ユーザコンピュータ115が有効なライセンスを持っていることを検証すると、オファーマネージャ122はその対称鍵を復号化でき、その対称鍵をユーザマネージャの公開鍵で暗号化し、ユーザマネージャ320がその対称鍵を復号化できるように、そしてコンテントを復号化できるようにする。対称及び非対称暗号化のより詳しい説明については、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。この実施形態は対称暗号と非対称暗号の組み合わせを使用するが、別の暗号化法を使用しても良い。例えば、オファーマネージャ122及びコンテントマネージャ124は共に対称鍵のデータベースにアクセスでき、ユーザコンピュータ115がライセンスを取得するまで、対称鍵がユーザコンピュータ115に送信されないようにしても良い。
【0083】
3. セルヘッダー
セルヘッダー616aはコンテントセル210aに関する情報を含む。斯様な情報はコンテントセル210aのユニークな識別子、要求されたコンテントを製作する店舗に関する情報、記述的情報、オファーマネージャ122を位置づけるための情報(例えば、オファーマネージャのURLなど)、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0084】
4. 公開証明書
コンテントセルの公開証明書618aは、セル生成者の公開証明書であり、セル生成者の公開鍵を含む。例えば、もしコンテントマネージャ124がコンテントセル210aを生成するなら、コンテントマネージャ124はセル210aに署名し、公開証明書をコンテントセル210aに含める。公開証明書618aは、セルの受信者(例えば、ユーザコンピュータ115)に、送信者(例えば、コンテントマネージャ124)の真正性を検証させる。
【0085】
5. コンテントセル署名
コンテントセルのデジタル署名611aは、コンテントセル210aとコンテントマネージャの非公開鍵両方に基づく情報である。デジタル署名611aはユーザコンピュータ115に使用され、コンテントセル210aの生成者及びコンテントセル210aに含まれる情報を認証するために使用される。
【0086】
一般的に、デジタル署名は各メッセージ、及びメッセージの送信者にユニークなコードである。デジタル署名を使った認証は、メッセージが期待通りの送信者からのものであることを受信者に保障し、メッセージは完全で、改変されていないことを確認する。デジタル署名は暗号手段であって、それを使ってセルの出所と送信者の身元を検証できる。デジタル署名のより詳しい説明は、Bruce Schneierによる”Applied Cryptography:
Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。
【0087】
6. 他の署名
図6bはコンテントセル210bの別の実施形態を示す。規約612b、暗号化されたコンテント614b、セルヘッダー616bは上述のものと似ているが、各構成要素はそれ自身のデジタル署名613b、615b、617bを持つ。各デジタル署名613b、615b、617bは構成要素を生成したモジュールによって生成される。例えば、規約署名613bは規約612bを生成したモジュールによって生成され、セルヘッダー署名617bはセルヘッダー616bを生成したモジュールによって生成される。別の実施形態においては、異なったモジュールがコンテントセル210の異なった部分を生成しても良く、各モジュールはそれ独自のデジタル署名を提供する。この機能によって、セルの受信者は構成要素の生成者の身元を検証できる。この実施形態において生成者の身元を検証するために、コンテントセル210は、コンテントセル210の部分を生成した各モジュールの公開証明書618bを含まなければならない。
【0088】
別の実施形態において、デジタル署名は個別の規約、または一組の規約に使用することもできる。例えば、もしモジュールAが規約X、Y、Zを生成し、モジュールBが規約M、Nを生成するなら、モジュールAは規約X、Y、Zに署名でき、モジュールBは規約M、Nに署名できる。モジュールA及びモジュールB両方の公開証明書がコンテントセル210で送られ、ユーザは各規約の出所を検証することができる。
【0089】
別の実施形態において、コンテントセル210は異なった構成要素で成り立っていても良いし、上述の構成要素の部分集合だけを含んでいても良い。さらに、対称暗号、非対称暗号、及びデジタル署名など多様な暗号化技術について議論してきたが、別の実施形態においては、別のセキュリティ確保手段を使っても良い。
【0090】
B. ライセンスセル
図7aはライセンスセル220aの一実施形態を示す。例示したライセンスセル220aは、一組の暗号化された規約712a、暗号化されたライセンス714a、セルヘッダー716a、公開証明書718a、及びライセンスセル署名711aを含む。
【0091】
1. 規約
ライセンスセル規約712aはユーザコンピュータ115に、ライセンスセル220aにどのような権利が付随するか、及びその権利を得るには何が必要かを知らせる。例えば、ライセンスセル220aは、アーティクルをプリントする権利のために一組の必要条件を有し、アーティクルを見るために別の必要条件を有しても良い。一実施形態において、規約は特定のユーザのために書かれたものでも良いし、別の実施形態においては、規約はより一般的に書かれ、特定クラスのユーザに適用されても良い。一実施形態において、ライセンスセル220及びコンテントセル210共に、規約612、712を含む。別の実施形態において、ライセンスセル220だけ、もしくはコンテントセル210だけが規約612、712を含み、またはどちらも規約612、712を含まない。
【0092】
2. 暗号化されたライセンス
ライセンスセルの暗号化されたライセンス714aは、ライセンスマネージャ530により暗号化された要求されたライセンスを含む。一実施形態において、ライセンスはユニークな識別子である。別の実施形態において、ライセンスは別のタイプのデータ、例えば情報のレコードであっても良く、ライセンスは規約を含んでも良い。
【0093】
一実施形態において、ライセンスは対称鍵を使って暗号化される。例えば、ライセンスはコンテントを暗号化したのと同じ対称鍵を使って暗号化しても良い。一実施形態において、対称鍵はライセンス管理システム120によりユーザマネージャの公開鍵を使って暗号化され、ユーザマネージャ320だけが対称鍵を復号化でき、従ってライセンスを復号化できるようにする。この実施形態は対称鍵と非対称鍵の使用を説明しているが、別の暗号化方法を使用しても良い。
【0094】
3. セルヘッダー
セルヘッダー716aはライセンスセル220aに関する情報を含む。斯様な情報はライセンスセル220aのユニークな識別子、コンテントセル210に関係する識別子、要求されたコンテントを製作している店舗に関する情報、記述的情報、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0095】
4. 公開証明書
ライセンスセルの公開証明書718aはセル生成者の公開証明書であり、セル生成者の公開鍵を含む。例えば、ライセンスマネージャ530がライセンスセル220aを生成した場合、ライセンスマネージャ530はセル220aに署名し、ライセンスセル220に公開証明書718aを含める。公開証明書718aにより、セルの受信者(例えば、ユーザコンピュータ115)は送信者(例えばライセンスマネージャ530)の真正性を検証できる。
【0096】
5. ライセンスセル署名
ライセンスセルのデジタル署名611aは、ライセンスセル220a及びライセンスマネージャの非公開鍵に基づく情報である。デジタル署名611aを使ってユーザコンピュータ115はライセンスセル220aの生成者、及びライセンスセル220aに含まれる情報が真正であることを確認する。
【0097】
6. 別の署名
図7bはライセンスセル220bの別の実施形態を示す。規約712b、暗号化されたライセンス714b、セルヘッダー716bは上述したものと同様であるが、各構成要素はそれ自身のデジタル署名713b、715b、717bを有する。各デジタル署名713b、715b、717bは構成要素712b、715b、716bを生成したモジュールによって生成される。例えば、規約署名713bは規約712bを生成したモジュールによって生成され、セルヘッダー署名715bはセルヘッダー714bを生成したモジュールによって生成される。別の実施形態において、別のモジュールがライセンスセル220bの別の部分を生成しても良く、従って各モジュールがそれ自身のデジタル署名を提供する。この機能によって、セルの受信者は構成要素の生成者が真正であることを確認できる。この実施形態において、生成者の同一性を検証するために、ライセンスセル220bは、ライセンスセル220bの部分を生成した各モジュールに公開証明書718bを含めねばならない。
【0098】
別の実施形態において、デジタル署名は個別の規約または一組一組の規約に署名するために使用しても良い。例えば、もしモジュールAが規約X、Y、Zを生成し、モジュールBが規約M、Nを生成したとすると、モジュールAは規約X、Y、Zに署名し、モジュールBは規約M、Nに署名するであろう。モジュールAとモジュールBの公開証明書はライセンスセル220に入れて送信され、ユーザが各規約の出所を検証できるであろう。
【0099】
別の実施形態において、ライセンスセル220は別の構成要素から成っても良いし、上述の構成要素の一部を含んでも良い。さらに、対称暗号、非対称暗号、デジタル署名等の多様な暗号化技術について議論したが、別の実施形態において、別の方法でセキュリティを確保しても良い。
IV. ライセンス管理プロセスの概観
図8は、以前図2で議論した情報の流れの一実施形態のフローチャートを示す。図8に示したフローチャートは図2の情報の流れに対応し、ステップ820がイベントAに、ステップ830がイベントBに、ステップ840がイベントCに、ステップ850がイベントDに、ステップ860がイベントEに、そしてステップ870がイベントFにそれぞれ対応する。
【0100】
開始ステップ810から始まり、プロセスはユーザコンピュータ要求ステップ820に進む。ステップ820で、ユーザコンピュータ115は特定のコンテントを要求し、その後コンテントマネージャ送信ステップ830に進む。ステップ830で、コンテントマネージャ124は要求されたコンテントをユーザコンピュータ115に送信し、ユーザコンピュータ115がライセンスを要求する次のステップ840に進む。ステップ850で、オファーマネージャ122はライセンスをユーザコンピュータ115に送信し、ユーザコンピュータ115が要求したコンテントとそれに対応するライセンスがあるかチェックするステップ860に進む。それらが見つかれば、プロセスはステップ870に進み、ユーザマネージャ320が要求したコンテントにとって適当なアプリケーションを呼び出す。プロセスは終了ステップ880に進む。
【0101】
A. ユーザがコンテントを要求する
一実施形態において、ステップ820で、ユーザはブラウザ310を使ってウェブページを見る。次に、ユーザは見たり、プリントしたり、コピーしたり、プレイしたりするためにコンテントを要求する。別の実施形態において、ユーザは電子メールを使って送られてきた、またはCD−ROM、フロッピー(登録商標)ディスクなどの記憶ユニットに保存されているコンテントセル210にアクセスを試みることによってコンテントを要求することもできる。なお、別の実施形態において、ユーザが知らないうちにコンテントが要求されることもある。例えば、特定のコンピュータアプリケーションが実行された時、コンピュータプログラムアプリケーションはコンテントマネージャ124にコンテントを求める要求を自動的に送信することもできる。
【0102】
B. コンテントマネージャがコンテントセルを送信する
ステップ830に関して、コンテントマネージャ124は要求されたコンテントを見つけ、そのコンテントをユーザコンピュータ115へのプレゼンテーションのため用意する。ステップ830に対応するフローチャートはさらに図9に示した。開始ステップ830から始まり、プロセスはステップ910に進み、コンテントマネージャ124がコンテント要求を受信する。ステップ920に進み、コンテントマネージャ124は要求されたコンテントを含むコンテントセル210を作り、ステップ930に進み、コンテントマネージャ124がコンテントセル210をユーザコンピュータ115条のユーザブラウザ310に送る。
【0103】
この実施形態においては、コンテントマネージャ124がコンテントセル210を作るが、別の実施形態においては、コンテントマネージャ124がデータベースにあるあらかじめ作られたコンテントセル210をロケートしても良い。前述の通り、別のモジュールが一般的なコンテントセル210を作って保管しておき、コンテントマネージャ124等の別のモジュールがそのコンテントセル210にアクセスし、要求どおりユーザに送信しても良い。さらに、コンテントセル210はディスク、CD−ROM、及びその他の記憶装置から引き出しても良い。ステップ920でコンテントマネージャ124がコンテントセル210を作った後、コンテントマネージャ124はステップ930で、コンテントセル210をユーザのブラウザ310に送信し、その後、終了ステップ940に進む。別の実施形態において、コンテントセル210はユーザブラウザ310ではなく、ユーザマネージャ320に直接送信されても良い。
【0104】
C. ユーザコンピュータがライセンスを要求する
ユーザコンピュータ115がライセンスを要求するステップ840に対応するフローチャートを図10に示した。開始ステップ840から始まって、プロセスはステップ1010に進み、ユーザブラウザ310がコンテントセル210を受信し、コンテントセル210をユーザマネージャ320に渡す。ユーザマネージャ320はステップ1020でコンテントせる210を開け、ステップ1030に進み、ユーザマネージャ320はコンテントセル210が真正なものであるか検証する。前述したとおり、一実施形態において、コンテントセル210は署名と公開証明書を含み、ユーザマネージャ320が公開証明書を使ってコンテントセル210の送信者及び生成者が真正なものであるか検証できるようになっている。ステップ1040に進み、ユーザマネージャ320はコンテントセル210のライセンスを探す。ステップ1050でもしライセンスが見つかれば、プロセスは終了ステップ1090に進み、ステップ870に行き、ユーザマネージャ320がアプリケーションとコンテントを呼び出す。しかし、もしライセンスが見つからなければ、プロセスはステップ1070に進み、ユーザマネージャ320がコンテントデータベース334にコンテントセル情報を記憶し、ステップ1080に進み、ユーザコンピュータ115がライセンスを要求する。一実施形態において、ユーザマネージャ320はユーザブラウザ310に、ライセンス要求をコンテントマネージャ124に送信させ、終了ステップ1090に進む。
【0105】
D. オファーマネージャがライセンスを送信する
オファーマネージャ122がユーザコンピュータ115にライセンスを送信するステップ850に対応したフローチャートを図11に示した。開始ステップ850から始まり、プロセスはステップ1110に進み、オファーマネージャ122がライセンス要求を受信し、ステップ1120に進み、オファーマネージャ122がユーザブラウザ310を使ってユーザにライセンス発行の必要条件を満たさせる。例えば、ユーザは登録情報、郵送情報を送信し、質問に答え、クレジットカード情報を送信したりしなければならないかも知れない。サンプル登録フォームは、名前、苗字、電子メールアドレス、勤務先、クレジットカードのタイプ、クレジットカード番号、有効期日、クレジットカード上の氏名、請求先住所、都市名、州名、郵便番号、国名、パスワード等の情報を記入するようになっているかも知れない。ステップ1130に進んで、もしユーザが必要条件を満たさなければ、プロセスは終了ステップ1140に進む。しかし、もしユーザが必要条件を満たせば、プロセスはステップ1150に進み、ユーザマネージャ320がライセンスセル220を作り始める。ライセンスマネージャ530がライセンスセル220を作った後、プロセスはステップ1160に進み、オファーマネージャ122がユーザコンピュータ115にライセンス料を「課金」しても良い。この課金は、例えば、もしライセンス発行の必要条件がクレジットカード、またはその他アカウント情報による金銭の支払いを含んでいる場合に発生する。別の実施形態においては、課金取引は例えばサービスプロバイダー、サーバ等、他のモジュールで処理されても良い。ステップ1170、オファーマネージャ122はライセンスセル220をユーザのブラウザ310に送信し、終了ステップ1180に進む。
【0106】
E. ユーザコンピュータがライセンスとコンテントを探す
ユーザコンピュータ115がコンテントとライセンスを見つけるステップ860に対応したフローチャートを図12に示した。開始ステップ860から始まり、プロセスはステップ1210に進み、ユーザのブラウザ310がライセンスセル220を受信し、ライセンスセル220をユーザマネージャ320に渡す。ステップ1220で、ユーザマネージャ320はライセンスセル220を開け、ステップ1230に進み、ユーザマネージャ320がライセンスセル220が真正なものであることを検証する。前述の通り、ライセンスセル220は、一実施形態において、署名及び公開証明書を含み、ユーザマネージャ320がライセンスセル220を使ってその送信者と生成者が真正なものであることを検証できる。ステップ1240に進んで、ユーザマネージャ320はライセンスセル情報をユーザコンピュータ115に記憶する。一実施形態において、ライセンスマネージャ530はライセンスセル情報をライセンスデータベース332に記憶する。別の実施形態において、別の記憶方法を使っても良い。ステップ1250に進んで、プロセスはユーザがまだライセンスを欲しているか検証する。もしユーザの答えが「ノー」なら、プロセスは終了ステップ1255に進む。もしユーザがまだライセンスを欲しているなら、プロセスはステップ1260に進み、ユーザコンピュータ115がライセンスを再要求し、ステップ1270に進み、ユーザコンピュータ115がライセンスを探し、ステップ1280に進む。ステップ1280で、ユーザコンピュータ115はコンテントを探し、ステップ1290に進む。
【0107】
F. ユーザマネージャがアプリケーションを呼び出す
ユーザマネージャ320がライセンスとコンテントを持てば、ユーザマネージャ320はステップ870で、要求されたコンテントについて適当なアプリケーションを呼び出し、終了ステップ880に進む。ユーザマネージャ320は規約に則り、コンテントへの適切なアクセスを可能とする。例えば、もし要求されたコンテントがMP3フォーマットの楽曲であり、規約によってユーザコンピュータ115がその楽曲の最初の20秒を再生できる場合、ユーザマネージャ320は、要求された楽曲とともにユーザコンピュータ115上のMP3プレーヤを呼び出し、20秒間その楽曲を再生させる。コンテントへのアクセス方法は、規約によって多様なタイプを可能とでき、例えば、コンテントの一部を視聴したり、コンテント全体を視聴したり、コンテントの一部をコピーしたり、コンテント全体をコピーしたり、コンテントの一部をプリントしたり、コンテント全体を一回だけプリントしたり、コンテント全体を二回プリントしたりなどのタイプを可能としても良い。
【0108】
G. 他の実施形態
一実施形態においては、ライセンスが生成される前にコンテントを要求できるが、別の実施形態においては、コンテントが生成または要求される前にライセンスが生成または要求されてもよい。例えば、ユーザは特定の発行物中のすべての新しいアーティクルを購読するライセンスを買うことが可能である。ユーザはまだ生成されていないコンテントのライセンスを受け取る。さらに、一つのコンテントが一つまたはそれ以上のライセンスに関係しても良いし、一つのライセンスが一つまたはそれ以上のコンテントに対応しても良い。
【0109】
一実施形態において、コンテントマネージャ124はユーザにコンテントロケーションセルを送信しても良い。コンテントロケーションセルはユーザにコンテントがどこにあるかの情報を提供する。ユーザは、コンテントにアクセスする準備ができた時に、まだコンテントセル210を必要としていても良い。例えば、ユーザが2時間の映画のビデオファイルを視聴したいとする。コンテント全体を一度に送るのではなく、コンテントマネージャ124のようなライセンス管理システムモジュールは、要求されたコンテントの場所にアクセスできるコンテントロケーションセルをユーザに送信しても良い。
【0110】
コンテントロケーションセルはコンテントセルに似ていても良いが、コンテントそのものではなく、暗号化されたコンテントの場所情報、例えばURLなどを含む。コンテントロケーションセルはコンテントマネージャ124またはその他のモジュールにより生成されても良い。ユーザがコンテントロケーションセルを受信すると、ユーザはコンテントの場所にアクセスするライセンスを求めても良い。ユーザが特定の場所にアクセスするライセンスを受信した後、ユーザがコンテントの場所にアクセスしても良い。このアクセスによってユーザは、例えば、コンテントの断片を見ることができ、広告にアクセスできる。ユーザはコンテント自体にアクセスする要求をしても良いし、もし必要なら適当なライセンスを要求しても良い。
V. セルを作る
図13及び14はコンテントセル210及びライセンスセル220を作るための一実施形態を示す。前述した通り、別の実施形態において、別のモジュールがセルを作っても良いし、セルは別の技術を使って作られても良い。
【0111】
A. コンテントセルを作る
コンテントセル210の組成の実施形態に対応するフローチャートを図13に示した。開始ステップ920で、プロセスはコンテントマネージャ124が規約612を抽出するステップ1310に進む。前述した通り、規約612はどのようなタイプのライセンス及び・またはユーザが多様なタイプのデータにアクセスできるか、及びコンテントにアクセスするには何が必要かを知らせる。規約612は規約データベースに記憶されていても良いし、テキスト文書及び・またはプログラムとしてリストされていても良く、コンテントマネージャ124が選択されたコンテントにどの規約612が適用されるか決定できれば良い。
【0112】
ステップ1320に進み、コンテントマネージャ124はコンテントデータベース438からコンテントを取得する。一実施形態において、すべてのコンテントはひとつのデータベースに記憶されており、コンテントマネージャ124はデータベースを検索し要求されたコンテントを読み出すことができる。
【0113】
ステップ1330に進み、コンテントマネージャ124はコンテントを暗号化する。暗号化技術は多様な周知の技術を使用しても良い。しかし、前述の通り、一実施形態において、コンテントマネージャ124は対称鍵を使ってコンテントを暗号化し、その対称鍵をオファーマネージャの公開鍵を使って暗号化する。暗号化されたコンテント614及び暗号化された対称鍵がユーザコンピュータ115に送信される時、ユーザコンピュータ115はコンテントを復号化できず、適当なライセンスを持つまでは対称鍵を復号化できない。
【0114】
ステップ1340に進んで、コンテントマネージャ124はセルヘッダー616を生成する。セルヘッダー616はコンテントのユニークな識別子、コンテントが引き出された店舗、記述的テキスト、有効期限の情報その他の情報などを含んでも良い。
【0115】
ステップ1350に進んで、コンテントマネージャ124は抽出した規約612、暗号化され多コンテント614、セルヘッダー616、及び自分自身の公開証明書618をコンテントセル210に付け加える。ステップ1360で、コンテントマネージャ124はコンテントセル210に「署名」する。前述の通り、コンテントセル210に署名するモジュールは、そのモジュールの公開証明書もセルに含めなければならない。従って、ステップ1350で、コンテントマネージャ124はその公開証明書を含め、コンテントセル210を生成し送信したのがコンテントマネージャ124であることを受信者が検証できるようにする。コンテントマネージャ124がコンテントセル210に署名した後、プロセスは終了ステップ1370に進む。
【0116】
B. ライセンスセルを作る
ライセンスセル220を組成する一実施形態に対応するフローチャートを図14に示した。開始ステップ1150で、プロセスはライセンスマネージャ530が規約712を抽出するステップ1410に進む。前述の通り、規約712はどのようなタイプのライセンス及び・またはユーザが多様なタイプのデータにアクセスでき、コンテントにアクセスするのに何が必要かを知らせる。規約712は規約データベースに記憶されても良いし、テキスト文書及び・またはプログラムとしてリストされても良く、ライセンスマネージャ530が復号化して、どの規約712が適用されるかを決定できれば良い。
【0117】
ステップ1420に進んで、ライセンスマネージャ530はライセンスを生成する。ステップ1430に進んで、ライセンスマネージャ530はライセンスを暗号化する。暗号化技術は多様な周知の技術を使うことができる。しかし、前述の通り、一実施形態において、ライセンスマネージャ530は対称鍵を使ってライセンスを暗号化し、その後、ユーザの公開鍵を使ってその対称鍵を暗号化する。暗号化されたライセンス714と暗号化された対称鍵がユーザコンピュータ115に送信された時、ユーザコンピュータはライセンスを解読できる。
【0118】
ステップ1440に進んで、ライセンスマネージャ530はセルヘッダー716を生成する。セルヘッダー716はライセンスセルにユニークな識別子、コンテントに関係したユニークな識別子、コンテントが引き出された店舗、記述的テキスト、有効期限に関する情報その他の情報を含んでも良い。
【0119】
ステップ1450に進んで、ライセンスマネージャ530は、抽出された規約712、暗号化されたライセンス714、セルヘッダー716、及びそれ自身の公開証明書718をライセンスセル220に付け加える。ステップ1460で、ライセンスマネージャ530はライセンスセル220に「署名」する。前述の通り、ライセンスセル220に署名するモジュールは、そのモジュールの公開証明書をセルに含めなければならない。従って、ステップ1460で、ライセンスマネージャ530は、その公開証明書を含め、ライセンスマネージャ530がライセンスセル220を生成し送信したことを受信者が検証できるようにする。ライセンスマネージャ530がライセンスセル220に署名した後、プロセスは終了ステップ1470に進む。
【0120】
一実施形態において、ライセンスマネージャ530は、発行したライセンスを後でトラッキングするため、ライセンスセル情報のコピーをライセンスデータベース547に記憶する。
VI. 結論
本発明の特定の好ましい実施形態を説明したが、これらの実施形態は例として提示しただけであり、本願発明の範囲を制限することを意図したものではない。従って、本願発明の広さと範囲はクレーム及びその均等物によってのみ定められねばならない。
【0121】
なお、上記の実施形態に関連して以下の付記を記す。
【0122】
(付記1) データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセルを生成し、
ネットワークで計算機に前記データオブジェクトセルを送信し、
前記データオブジェクトセルに関係するライセンスオブジェクトセルを生成し、
前記ネットワークで前記計算機に前記ライセンスオブジェクトセルを送信し、
前記関係するライセンスオブジェクトセルの情報に基づいて前記データオブジェクトセルへのアクセスを許可する方法。
【0123】
(付記2) 付記1記載の方法であって、さらにデータオブジェクトセルを求めるユーザ要求を受信する方法。
【0124】
(付記3) 付記1記載の方法であって、さらにライセンスオブジェクトを求めるユーザ要求を受信する方法。
【0125】
(付記4) 付記1記載の方法であって、前記オブジェクトセルへのアクセスを許可することは、前記データオブジェクトセルに関係するライセンスオブジェクトセルが前記計算機上にあることを検証することを含む方法。
【0126】
(付記5) 付記1記載の方法であって、前記データオブジェクトセルは少なくともデータコントロール要素及びデータオブジェクトを含む方法。
【0127】
(付記6) 付記5記載の方法であって、少なくとも前記データオブジェクトを暗号化する方法。
【0128】
(付記7) 付記1記載の方法であって、少なくとも前記ライセンスオブジェクトセルの一部は暗号化される方法。
【0129】
(付記8) 付記1記載の方法であって、さらに
前記データオブジェクトセルに関係するデータロケーションセルを引出し、
ネットワークで計算機に前記データロケーションセルを送信し、
関係するライセンスオブジェクトセルの情報に基づいて前記データロケーションセルへのアクセスを許可する方法。
【0130】
(付記9) データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセルを引出し、
ネットワークで計算機に前記データオブジェクトセルを送信し、
少なくともひとつのデータオブジェクトセルに関係するライセンスオブジェクトセルを引出し、
ネットワークで前記計算機に前記ライセンスオブジェクトセルを送信し、
関係するライセンスオブジェクトセルの情報に基づき前記データオブジェクトセルへのアクセスを許可する方法。
【0131】
(付記10) 付記9記載の方法であって、さらにデータオブジェクトセルを求めるユーザ要求を受信する方法。
【0132】
(付記11) 付記9記載の方法であって、さらにライセンスオブジェクトを求めるユーザ要求を受信する方法。
【0133】
(付記12) 付記9記載の方法であって、前記データオブジェクトセルへのアクセスを許可することは、前記データオブジェクトセルに関係するライセンスオブジェクトセルが前記計算機にあることを検証することを含む方法。
【0134】
(付記13) 付記9記載の方法であって、前記オブジェクトセルは少なくともひとつのデータコントロール要素とデータオブジェクトを含む方法。
【0135】
(付記14) 付記13記載の方法であって、さらに少なくとも前記データオブジェクトを暗号化する方法。
【0136】
(付記15) 付記9記載の方法であって、少なくとも前記ライセンスオブジェクトセルの一部分は暗号化される方法。
【0137】
(付記16) 付記9記載の方法であって、さらにデータオブジェクトセルを生成する方法。
【0138】
(付記17) 付記9記載の方法であって、さらにライセンスオブジェクトセルを生成する方法。
【0139】
(付記18) 付記9記載の方法であって、前記データオブジェクトセルと前記ライセンスオブジェクトセルは少なくともひとつのユニークな識別子で関係付けられる方法。
(付記19) データオブジェクトを管理する方法であって、
第1の計算機にデータオブジェクトを求める要求を送信し、
前記第1の計算機から前記要求したデータオブジェクトに関係するデータオブジェクトセルを受信し、
第2の計算機に前記データオブジェクトセルに関係するライセンスオブジェクトを求める要求を送信し、
前記第2の計算機から前記要求したライセンスオブジェクトに関係するライセンスオブジェクトセルを受信し、
前記関係するライセンスオブジェクトセルの情報に基づき前記データオブジェクトセルへのアクセスを許可する方法。
【0140】
(付記20) 付記19記載の方法であって、前記第1の計算機と前記第2の計算機は同一の計算機である方法。
【0141】
(付記21) データオブジェクトを管理する方法であって、
ネットワークノードからデータオブジェクトを求める要求を受信し、
前記要求されたデータオブジェクトに付随するデータオブジェクトセルを特定し、
前記ネットワークノードに前記データオブジェクトセルを送信し、
前記データオブジェクトセルへのアクセスは関係するライセンスオブジェクトセルを必要とする方法。
【0142】
(付記22) 付記21記載の方法であって、さらに、
前記データオブジェクトセルに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくとも前記データオブジェクトセルへのアクセスを許可する方法。
【0143】
(付記23) データオブジェクトを管理する方法であって、
ネットワークノードからライセンスオブジェクトを求める要求を受信し、
前記要求されたライセンスオブジェクトに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくともひとつのデータオブジェクトセルへのアクセスを許可する方法。
【0144】
(付記24) ネットワークであって、
前記ネットワークに結合したユーザノードが設けられ、前記ユーザノードはユーザマネージャモジュールを含み、ネットワークにデータオブジェクト及び関係するライセンスオブジェクトを求める要求をし、
前記ネットワークに結合したコンテントマネージャノードが設けられ、前記コンテントサーバノードは前記ネットワークからデータオブジェクトを求める要求を受信し、要求されたデータオブジェクトを引出し、前記ネットワークからのデータオブジェクトを求める前記要求に応答し、
前記ネットワークに結合したライセンスマネージャノードが設けられ、前記コンテントサーバノードは前記ネットワークから関係するライセンスオブジェクトを求める要求を受信し、要求された関係するライセンスオブジェクトを引出し、前記ネットワークからの関係するライセンスオブジェクトを求める前記要求に応答するネットワーク。
【0145】
(付記25) ネットワークであって、
データオブジェクトの供給を求める要求に応答するコンテントマネージャノードが設けられ、
少なくともひとつのデータオブジェクトに関係するライセンスオブジェクトの供給を求める要求に応答するライセンスマネージャノードが設けられ、
前記関係するライセンスオブジェクトを伴う前記データオブジェクトへのアクセスを提供するユーザノードが設けられたネットワーク。
【0146】
(付記26) 付記25記載のネットワークであって、前記ユーザノードはさらに
一以上のデータオブジェクトを要求するユーザインターフェイスをユーザに提供し、
前記コンテントマネージャノードから選ばれたデータオブジェクトを求める要求を出し、
前記ユーザノードがデータオブジェクト及びライセンスオブジェクトへのアクセスできるか決定するネットワーク。
【0147】
(付記27) データオブジェクトを管理するシステムであって、
データオブジェクトを求める要求を受信し、前記データオブジェクトを引出し、前記要求されたデータオブジェクトを送信するコンテントモジュールが設けられ、
前記データオブジェクトに関係するライセンスオブジェクトを求める要求を受信し、前記データオブジェクトに関係するライセンスオブジェクトを引出し、前記要求されたライセンスオブジェクトを送信するライセンスモジュールが設けられたシステム。
【0148】
(付記28) データオブジェクトを管理するシステムであって、
前記データオブジェクトを管理する手段が設けられ、
前記ライセンスオブジェクトを管理する手段が設けられ、
少なくとも関係するライセンスオブジェクトに基づき前記データオブジェクトへのアクセスを許可する手段が設けられたシステム。
(付記29) データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセル引出手段が設けられ、
データオブジェクトセル送信手段が設けられ、
ライセンスオブジェクトセル引出手段が設けられ、
ライセンスオブジェクトセル送信手段が設けられ、
アクセス許可手段が設けられた方法。
【0149】
(付記30) データオブジェクトセルであって、
データコントロール要素及びデータオブジェクトが設けられたデータオブジェクトセル。
【0150】
(付記31) 付記30記載のデータオブジェクトセルであって、前記データオブジェクトは暗号化されているデータオブジェクトセル。
【0151】
(付記32) 付記30記載のデータオブジェクトセルであって、さらにセルヘッダーが設けられたデータオブジェクトセル。
【0152】
(付記33) 付記30記載のデータオブジェクトセルであって、さらに少なくともひとつの公開証明書が設けられたデータオブジェクトセル。
【0153】
(付記34) 付記30記載のデータオブジェクトセルであって、さらに少なくともひとつの署名が設けられたデータオブジェクトセル。
【0154】
(付記35) ライセンスオブジェクトセルであって、
ライセンスコントロール要素及びライセンスオブジェクトが設けられたライセンスオブジェクトセル。
【0155】
(付記36) 付記30記載のライセンスオブジェクトセルであって、前記ライセンスオブジェクトは暗号化されているライセンスオブジェクトセル。
【0156】
(付記37) 付記30記載のライセンスオブジェクトセルであって、さらにセルヘッダーが設けられたライセンスオブジェクトセル。
【0157】
(付記38) 付記30記載のライセンスオブジェクトセルであって、少なくともひとつの公開証明書がさらに設けられたライセンスオブジェクトセル。
【0158】
(付記39) 付記30記載のデータオブジェクトセルであって、少なくともひとつの署名がさらに設けられたデータオブジェクトセル。
【0159】
(付記40) データベーススキーマであって、
ユーザデータと、
コンテントデータと、
ライセンスデータを関係づけるデータベーススキーマ。
【0160】
(付記41) 付記40記載のデータベーススキーマであって、前記ユーザデータはグループデータを含むデータベーススキーマ。
【0161】
(付記42) 付記40記載のデータベーススキーマであって、前記コンテントデータは
発行者データが設けられ、
発行物データが設けられ、
アーティクルデータが設けられたデータベーススキーマ。
【0162】
(付記43) 付記40記載のデータベーススキーマであって、前記コンテントデータはサブスクリプションデータが設けられたデータベーススキーマ。
【0163】
(付記44) 付記40記載のデータベーススキーマであって、前記コンテントデータは課金データが設けられたデータベーススキーマ。
【0164】
(付記45) 付記40記載のデータベーススキーマであって、前記ライセンスデータは発行されたライセンスデータが設けられたデータベーススキーマ。
【0165】
補遺A
【0166】
【表1】
ActivatedFwidsテーブル
ユーザによるメディアセンターのすべての成功したインストレーションを登録する。各ユーザに活性化したフレームワークを割当てる。現在、ユーザと活性化したフレームワークの間には一対一の関係がある。この関係を変更して、一人のユーザが複数の活性化したフレームワークを持てるようにする計画がある。
フレームワークを活性化する前に、まずペンディングしなければならない。活性化する時、PendingFwidsテーブル中のフレームワークに関するすべての情報をActivatedFwidsテーブルにコピーする。バックエンドは、この時、ユーザが誰で、どのフレームワークが使われるか分かる。
【0167】
【表2】
フィールドの説明
TimeStamp
フレームワークが活性化された日付と時間
FrameworkId
フレームワークユニーク識別子(例:fwid0001.0000001101)。現在、一フレームワークに一ユーザアカウントIdが対応している。ユーザアカウントIdに多数の活性化されたフレームワークIdを許容する計画がある。
CellId
フレームワークIdセルをユニークに識別する文字ストリング。フレームワークIdセル、コントラクトセル、コンテントセルを含む各セルはユニークなIdを有する。
Email
メディアセンターをインストールした時にユーザが入力した電子メールアカウント。
RequestId
どのフレームワークから来たものかを検証する。さらにセキュリティーを高める(即ち、バックエンドが応答しない場合、要求Idを活性化し送信するよう試みる。ハッカーを予防するために使う)。
UserHost
今は使用していない。
RemoteHost
今は使用していない。
Authentication
ブール値。偽は電子メールアドレスが認証されていないことを表す。ユーザがバックエンドの確認電子メールを受信し、登録を完了すためにリンクをクリックしたことを示す。このプロセスは、ユーザが実際に電子メールを受信したことがバックエンドに分かるので、電子メールアドレスが正しいものであることを認証、または検証できる。
UserAccountId
ユーザと同じ。
ValidThrough
フレームワークIdの有効期限(例:6ヶ月、1年等)
Administratorsテーブル
管理業務を行う権限を有する特別なユーザのリストを含む。このリスト中のアドミニストレータはユーザとは何の関係もない。アドミニストレータとしてログインすると、権限を有するメディアDNA社員及び発行者はナレッジスターのデータを管理することができる。
【0168】
【表3】
フィールドの説明
Name
アドミニストレータの名前またはログインアカウント。
Password
アドミニストレータアカウントにアクセスするためのパスワード。
Email
アドミニストレータの電子メールアドレス。アドミニストレータと電子的に通信可能である(例:レポート、統計の送信)。
Phone
アドミニストレータの電話番号。
PublisherId
このアドミニストレータが管理する権限を持つ発行物。
Type
このアドミニストレータのタイプを定義する。現在はレギュラーとスーパーの2タイプのみがある。レギュラーアドミニストレータは指定された発行者とその発行物のみ取り扱える。スーパーアドミニストレータにはこの制限は無い。言い換えれば、スーパーアドミニストレータになるということは、PublisherIdコラムを無効とすることである。このコラムで有効な値はRとSである。
ManageCorpAccounts
このアドミニストレータがコーポレートアカウントを管理する権限を有するかを示す。
ManagePromoEmail
このアドミニストレータが販促電子メールを管理する権限を有するかを示す。
ArticleSyncテーブル
ダイナミクスデータベース上でアップデートすべきDOI(アーティクル)の待ち行列を表す。ダイナミクスデータベース中のDOIリストをナレッジスター上のDOIリストと同期するためである。
【0169】
【表4】
フィールドの説明
Doi
同期する必要があるアーティクルのDoi。
Operation
データベース間でアーティクルを同期するには何をすべきかを説明する。
現在、作成と更新という二つのOperationが可能である。有効な値はCとUである。
Status
Operationの状態を記述する。未決定(Pending)、進行中、エラーの3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
同期中にエラーが発生した場合、StatusがEに設定され、エラーメッセージがこのフィールドに入る。
BillableSummariesテーブル
特定のフレームワーク(ユーザ)によってなされたすべての取引の要約をリストし、そのアカウントへの課金情報を有する。一つのエントリーはBillableTransactionsテーブル中のたくさんの個別取引の合計である。
【0170】
【表5】
フィールドの説明
TransactionId
ユーザの一群の取引(一つまたは多数の)をユニークに識別する。
TimeStamp
取引が発生した日付と時刻。
AccountId
取引を行ったユーザ。
FirstName
ユーザのファーストネーム。
LastName
ユーザのラストネーム。
Company
ユーザの勤務先。このフィールドは空欄でも良い。
Email
ユーザの電子メールアドレス。
AccountStatus
ユーザアカウントの状態を定義する。ユーザアカウントには不活性(0)であるか、又はゲスト使用(1)、メンバー使用(2)、グループ使用(3)の状態がある。不使用(4)とすることもできる。
ServiceLevel
将来、ユーザによって異なったレベルのサービスを提供するためのもの(例えば、ゴールド、シルバー、エリート等)。現在はゲストとメンバーという二つのレベルのみ。
NameForBilling
このユーザに対する課金業務のための名前。
BillingAddress1
請求先住所フィールドNo.1
BillingAddress2
請求先住所フィールドNo.2
City
請求先住所(都市)。
State
請求先住所(州)。
PostalCode
請求先郵便番号。
Country
請求先住所(国)。
CardType
請求用クレジットカードタイプ(ビザ、マスター等)。
EncryptedCardNumber
暗号化されたクレジットカード番号。セキュリティのために暗号化されている。
EncryptionType
クレジットカード番号を暗号化するのに使われた暗号タイプ。使えるのはBasic(1)、RSA(2)、SimpleHash(3)である。
CardExpirationMonth
クレジットカードの有効期限(月)。
CardExpirationYear
クレジットカードの有効期限(年)。
CountOfTransactions
この要約書でグループ化された取引数。
Amount
この要約書でグループ化された取引の金額。
Comment
一般的なコメントフィールド。ほとんど使わない。
BillableTransactionsテーブル
ナレッジスターで発生した課金可能な個々の取引をリストする。契約を発行するたびに取引が発生する。
【0171】
【表6】
フィールドの説明。
TransactionId
一ユーザの一群の取引の一部として取引を識別する。
TimeStamp
このテーブルにエントリーされた日時。一般的には、ユーザが「支払い」ページにおいてクレジットカードへの課金を承諾した時である。
TransTime
取引が発生した日時。TimeStampに先立つ時間、日数、週数でも良い。一般的にはユーザが各ドキュメントを購入した時である。
Description
何の取引かの記述。通常は購入されたアーティクルのタイトルを含み、または紹介文である。
Doi
取引されたアーティクル。
AccountId
取引したユーザ。
FrameworkId
ユーザが使用するフレームワーク識別番号。
PublicationId
アーティクルが属する発行物。
TransType
番号によって識別される取引タイプ。有効なタイプは、使用中(0)、導入クレジット(1)、購入(2)、要約(3)である。
Amount
取引金額。
Comment
取引に関するコメント。通常は空欄である。
ClickThroughsテーブル
ユーザが発行されたウェブページに行くのにナレッジスターをクリックするたびにトラッキングする。
【0172】
【表7】
フィールドの説明。
TimeStamp
クリックスルーされた日時。
FrameworkId
クリックスルーしたフレームワーク。後でこのフレームワークを使っているユーザまでトラッキングする。
PublicationCode
ユーザがクリックスルーし終わった発行物。
ContractStatsテーブル
バックエンドをとめる時、エグジットする前に、バックエンドが取引数とそれに要した平均時間を記録する。この記録がこのテーブルに保管される。このテーブルはバックエンドスターデータベースの他のテーブルと直接関係は無い。デバッグ及びシステムモニタリングに使用するものである。
【0173】
【表8】
フィールドの説明
TimeStamp
バックエンドが実行を終了した日時。
NumberContracts
バックエンドが前回初期化されてから今回終了されるまでに、バックエンドにより生成(発行)されたコントラクト数。
AverageTime
コントラクト生成に要した平均時間。この値は契約生成コードの性能をモニターするために使われる。
Comment
一般的なコメント。普通、バックエンドが実行終了したとのメッセージを表示する。
CreditCardNumbersテーブル
各ユーザのクレジットカード番号を暗号化して保管する。クレジットカード番号を暗号化した暗号化のタイプも特定される。
【0174】
【表9】
フィールドの説明
UserAccountId
このカードが使用可能なアカウントを特定する。
EncryptionType
クレジットカード番号を暗号化するのに使用した方法。使用できるのは、Basic(1)、RSA(2)、SimpleHash(3)である。
EncryptedCardNumber
暗号化されたクレジットカード番号。
CurrentTransactionsテーブル
取引に関連した情報を保存する。各契約についてCurrentTransactionsテーブルにエントリーがなされる。エントリーは借方または貸方でも良いし、これらのエントリーを消去するものでも良い。ユーザがアーティクルを購入するたびに、IssuedContractエントリーとCurrentTransactionエントリーがなされる。
【0175】
【表10】
フィールドの説明
TimeStamp
取引のなされた日時。
Description
取引対象を説明する。通常、購入されたアーティクルのタイトルを含み、又は紹介クレジットを示す(即ち、購入取引の場合、アーティクルの名称が入力される)。
Doi
取引されたアーティクルである。
AccountId
ユーザを特定する。
FrameworkId
この取引を処理すべきフレームワークを特定する。
PublicationId
取引されたアーティクルの発行物を特定する。
TransType
数字で特定された取引タイプ。有効なタイプは未使用(0)、紹介クレジット(1)、購入(2)、要約(3)である。
Amount
この取引の金額である。
Comment
一般的なコメントフィールド。
DOIsテーブル
アーティクル関係の情報が入っている。アーティクルはDOIとしても知られている。各エントリーはナレッジスターで取り扱えるDOIを表す。このテーブルはアーティクルの在庫であり、ユーザがアクセスするだろうすべてのアーティクル、すべてのコンテントセルなどを含む。このテーブルはネーミングサーブレットである。
【0176】
【表11】
フィールドの説明
TimeStamp
DOIが登録された日時。
Title
アーティクルのタイトル。
PublicationId
このDOIが属する発行物の識別番号。
PublisherId
このDOIが属する発行者の識別番号。
Url
アーティクルセルがあるアドレス(例:file:///d:¥dataDirectory¥cells¥com.cadcamnet_cad_018_01_01.mdna)
Price
このアーティクルの価格。
ValidFrom
このDOIにアクセス可能となる最初の日を示す。アーティクルへのアクセスを制限する。
ValidThrough
このDOIにいつまでアクセスできるか示す。アーティクルへのアクセスを制限する。
ContentCell
このDOIで特定されたセルがコンテントセルかどうかを示す。値は真(1)又は偽(0)である。
EmailHistoryテーブル
特定のユーザに送信された電子メールをトラッキングする。電子メールがユーザに送信された日付及び使用されたテンプレートも記録される。
【0177】
【表12】
フィールドの説明
TemplateId
使用した電子メールテンプレート。EmailTemplates.TemplateIDへの外部キー。
DateSent
電子メールが送信された日付。
ToHeader
電子メールが送信された電子メールアカウント。ユーザはこのデータをカスタマープロファイルで変更できるので、実際に使用されたアドレスを記憶させている。
UserAccountId
電子メールを受信するユーザ。Users.AccountIdへの外部キーである。
EmailTemplatesテーブル
このテーブルは、電子メールメッセージを生成するためにシステムが使用できるテンプレートの集まりを収容している。電子メールメッセージを生成するには、システムはデータベースのエントリーからFromHeader、SubjectHeader、Bodyを取り、メッセージを組み立てるのに使用する。テンプレートは特定の発行者が保有するか、システムが保有する。
【0178】
【表13】
フィールドの説明
TemplateId
この番号によりテンプレートがユニークに特定される。
PublisherId
このテンプレートを所有する発行者。この欄が0(ゼロ)の場合はシステムテンプレートであることを示す。
Name
このテンプレートの名前。この名前は、この発行者が所有するテンプレート中でユニークである。
CreationDate
テンプレートが作成された日付。
SubjectHeader
このテンプレートで電子メールを送信する時のSubjectライン。
FromHeader
このテンプレートを使用して送信される電子メールのFromHeaderを定義する。
Body
このテンプレートを使った電子メールの内容。
ErrorLogDoiテーブル
Doi関係のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、及び試みられたDoiがこのログに含まれる。
【0179】
【表14】
フィールドの説明
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーの内容を記述するエラー番号。頻度が高いDoiエラーは、Doiが見つからない(101)とDoiが解決されていない(unresolved)(102)である。
Doi
このアーティクルに対するアクセスがエラーとなった。
FrameworkId
失敗したアーティクルを要求しているフレームワーク。
RemoteADdr
Doiエラーが発行されたリモートIPアドレス。
RemoteHost
Doiエラーが発行されたリモートホスト名。
ErrorLogFwidテーブル
FrameworkId関連のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、試みられたDoiがこのログに含まれる。
【0180】
【表15】
フィールドの説明。
TransactionId
エラーを特定するユニークな取引番号。
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーを記述する番号。起こりえるエラーは、Fwidが無い(2001)、フォーマットが良くない(2002)、未登録(2003)、アカウントが見つからない(2004)、活性化されていない(2005)、期限超過(2006)である。
FrameworkId
エラーに巻き込まれたフレームワーク。
Doi
エラーに巻き込まれたDoi。
RemoteAddr
エラーに巻き込まれたユーザIPアドレス。
RemoteHost
エラーに巻き込まれたユーザホスト名。
ExtraText
一般的なコメント。
ErrorLogFwidActivationテーブル
FrameworkIdの活性化に関するエラーを記録する。
【0181】
【表16】
フィールドの説明
TimeStamp
エラーが記録された日付及び時刻。
FrameworkId
エラーに巻き込まれたフレームワーク。
CellId
エラーを経験したフレームワークのIDセルをユニークに特定する文字ストリング。フレームワークIDセル、コントラクトセル、コンテントセルも含めて、各セルはユニークなIDを持つ。
Expires
フレームワークのIDセルが期限切れとなる時間。
UserHost
このカラムはもう使用しない。
RequestId
要求番号。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムはもう使用しない。
FrameworkReinstallsテーブル
ユーザがフレームワークをリインストールしようと試みた回数をカウントし、成功したリインストールに新しいフレームワーク識別番号を割当てる。
【0182】
【表17】
フィールドの説明
TimeStamp
フレームワークのリインストールが記録された日付。
FrameworkId
以前インストールされたフレームワーク。
InstFwid
リインストールされたフレームワーク。
ChainLength
ユーザが試みたフレームワークのリインストールの数。回数が所定の制限に達したら、そのユーザはそれ以上のリインストールを許されない。
RemoteUser
このカラムはもう使われていない。
RemoteAddr
フレームワークをリインストールしたユーザのIPアドレス。
RemoteHost
フレームワークをリインストールしたユーザのホスト名。
FwidCellidNumberGeneratorテーブル
ユニークなセル番号を生成するメカニズムである。ユニークなセルID番号をトラッキングする。このテーブルはナレッジスターデータベースのバックエンドの他のテーブルとは直接的な関係を持たない。
【0183】
【表18】
フィールドの説明
NextCellidNumber
次のセルの識別番号をトラッキングする。
GroupPublicationsテーブル
ユーザグループメンバーによってアクセス可能な発行物を特定する。
【0184】
【表19】
フィールドの説明
GroupId
グループの識別番号。
PublicationId
発行物の識別番号。
Groupsテーブル
グループ関係の情報を保管する。コーポレートアカウントを実現するためグループを使い、コーポレートアカウントを使ってユーザを一つのアカウントにまとめる。
【0185】
【表20】
フィールドの説明
GroupId
グループの識別番号。この番号はユニークである。
Name
グループの名前。
Password
このグループのアカウントにアクセスするパスワード。
Type
有効なグループアカウントのタイプ。現在許されているグレープアカウントは、デモアカウントD、標準アカウントSである。それぞれのグループアカウントフィーが支払われれば、デモアカウントのユーザは標準アカウントに昇格される。
UserTTL
このグループのグループアカウントが有効な日数。
PublicationId
このグループのメンバーがアクセスできる発行物。
Expires
このグループアカウントの有効期限日。
GroupUsersテーブル
ユーザをグループに結びつける。グループのメンバーを特定する。
【0186】
【表21】
フィールドの説明
GroupId
グループ識別番号。
UserAccountId
ユーザアカウントの識別番号。
Expires
このユーザに関するこのグループアカウントの有効期限日。
IssuedContractsテーブル
特定のユーザがアーティクルを入手する時発行された各契約を記録する。フレームワークに契約ごとにエントリーされる(発行されたアーティクルごとに一つの契約)。これらのエントリーは永久に保存され、ユーザが同じアーティクルをダウンロードしても課金されないようにする。
【0187】
【表22】
フィールドの説明
TransactionId
ユニークな番号であり、監査に使用するこの取引の識別子である。
TimeStamp
この取引が登録された日時。
Doi
この契約がなされたアーティクルを示す。
ContractUrl
契約セルがある場所を特定する(ディスクをきれいにするため、しばらくすると契約セルは破棄される)。
CellId
契約セルをユニークに特定する文字ストリング。フレームワークIDセル、契約セル、コンテントセルを含め、各セルはユニークなIDを有する。
FrameworkId
フレームワークIDはDoiで特定されたセルにアクセスできる。
PublicationId
この契約のDoiがどの発行物に属するか示す。
Amount
ユーザが課金された金額。デバッグとトラッキングに使用される。
OnlineSubscriptionDefsテーブル
ナレッジスターが管理するオンライン購読に関する定義を含む。
【0188】
【表23】
フィールドの説明
Description
オンライン購読の特徴を記述する。
PublicationId
オンライン購読をサポートする発行物。
Price
この発行物をオンライン購読するための価格。
PendingFwidsテーブル
ペンディングとなっているすべてのフレームワークをリストする。ペンディングフレームワークは通常ゲストユーザに属する。PendingFwidが活性化された時、そのエントリーはこのテーブルからActivatedFwidsテーブルに「移動」する。
【0189】
【表24】
フィールドの説明
CellId
フレームワークIDセルをユニークに定義する文字ストリング。フレームワークIDセル、コントラクトセル、コンテントセルを含め、セルごとにユニークなIDを有する。
FrameworkId
ペンディングされたフレームワーク。
Email
ペンディングフレームワークを有するゲストユーザの電子メール。
ValidThrough
このペンディングフレームワークが有効な期限日。
UserAccountId
このペンディングフレームワークを持つユーザアカウント。
PromotionalEmailテーブル
バックエンドにある販促電子メールごとの特性と特徴を登録する。
【0190】
【表25】
フィールドの説明
PublicationId
この販促電子メールに関係する発行物。
TemplateId
この販促電子メールに使用されたテンプレート。
Enabled
この販促電子メールがイネーブルかどうかを示す。
EnableDate
この販促電子メールがイネーブルされた日付。
Publicationsテーブル
ナレッジスター上の各発行物に関する情報を有する。一つの発行物が多数のアーティクル又はDOIを含んでも良い。
【0191】
【表26】
フィールドの説明
PublicationId
各発行物のユニークな番号。内部的に発行物を特定する。
Status
発行物の状態は「active」又は「inactive」である。
PublicationCode
発行物を特定する短いコード、通常は3文字のコードである(例:csn、olr、又はcad)。
ResourceFile
この発行物があるファイルを示す(例:c:¥back¥properties/ATContentCell.properties)。
PublisherId
この発行物を所有する発行者。
Domain
この発行物の発行者ドメイン(例:com.g2news、com.cadcamnetなど)
Name
発行物の名称。
ContentCellExtension
この発行物のコンテントのセルフォーマット(例:MDNA、XDNA)
UrlHomePage
この発行物のウェブアドレス(例:http://www.g2news.com/csnindex.html)。
IntroCredit
この発行物からアーティクルにアクセスするユーザに提供される紹介クレジット。金額はUSドルである。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
FreeArticles
ユーザに提供される無料アーティクルの数。
PermitPrinting
この発行物のアーティクルのプリントが許されているかどうかを示す。有効な値は真(1)又は偽(0)である。
PermitCopying
この発行物のアーティクルのコピーが許されているかどうかを示す。有効な値は真(1)又は偽(0)である。
Publishersテーブル
ナレッジスターにコンテントを有する各発行者からの情報を含む。一発行者は多数の発行物を有していても良い。
【0192】
【表27】
フィールドの説明
PublisherId
発行者のユニークな識別番号。
Status
発行物の状態は「active」又は「inactive」である。
PublisherName
発行者の名称。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
TransactionNumberGeneratorテーブル
ユニークな取引ID番号が生成されるメカニズムである。ユニークな取引ID番号をトラッキングする。このテーブルはナレッジスターデータベースのテーブルとは直接的な関係を持たない。
【0193】
【表28】
フィールドの説明
NextTransactionNumbwer
次の取引番号を保管する。
UserBalancesテーブル
ユーザのクレジット及び特定の発行物に対する課金の記録を保管する。ユーザがアクセスした発行物に関するエントリーがある。
【0194】
【表29】
フィールドの説明
UserAccountId
アーティクルにアクセスするユーザ。
PublicationId
アクセスされたアーティクルが属する発行物。
TimeCreditCreated
この発行物からのアーティクルについてこのユーザにクレジットされた日時。
AvailableCredit
使用可能なクレジットの金額をUSドルで示す。
CreditApplied
適用されたクレジットの金額をUSドルで示す。
CurrentCharges
この発行物からのアーティクルについてこのユーザに課金されている金額をUSドルで示す。
HaveShownPricingTerms
ユーザがこの発行物のアーティクルの契約条件を見たかどうかを示す。有効な値は真(1)又は偽(0)である。
UserCommentsテーブル
各ユーザのコメントを保管する。このテーブルはカスタム化サポートで使われる。
【0195】
【表30】
フィールドの説明
UserAccountId
コメントが登録されているユーザ。
TimeStamp
コメントが登録された日時。
Comment
このユーザのコメント。
Usersテーブル
ナレッジスターのユーザアカウントの情報を保管する。この情報は各ユーザについてアドレス、アカウント状態、クレジット、課金などを含む。ユーザごとにUsersテーブルにエントリーがある。ユーザがフレームワークID番号を必要とする事を何かすると、エントリーが作成されフレームワークID番号が送信される。
【0196】
【表31】
フィールドの説明
UserAccountId
各ユーザを識別する。
FirstName
ユーザのファーストネーム。
LastName
ユーザのラストネーム。
Company
ユーザの勤務先。空欄でも良い。
Email
ユーザの電子メールアドレス。
AccountCreationDate
このユーザアカウントが作成された日付。
AccountStatus
ユーザアカウントの状態。ユーザアカウントはinactive(0)、ゲスト(1)、メンバー(2)、又はグループメンバー(3)である。ディスエーブル(4)とすることも可能である。「ゲスト」はナレッジスターに完全には登録していないユーザである。「メンバー」は課金情報も含めて完全な情報を提供したユーザである。
CurrentCharges
このユーザアカウントへの課金をUSドルで表す。
CurrentCredits
このユーザが使えるクレジットをUSドルで表す。
OutstandingLimit
ユーザに支払いを督促する限度額。ユーザごとに設定できる。
ServiceLevel
ユーザに様々なレベルのサービスを提供するために将来使用する(例:「ゴールド」、「シルバー」、「エリート」など)。現在は「ゲスト」と「メンバー」の2レベルある。
PromotionalEmail
ユーザが販促電子メールを欲しているかどうかを示す。有効な値は真(1)と偽(0)である。
RemoteUser
このカラムは使用していない。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムは使用していない。
NameForBilling
請求先名。
BillingAddress1
ユーザの請求先アドレスNo.1
BillingAddress2
ユーザの請求先アドレスNo.2
City
ユーザの住所(都市名)。
State
ユーザの住所(州名)。
PostalCode
ユーザの郵便番号。
Country
ユーザの住所(国名)。
Password
ユーザのパスワード。
PasswordEncryptionType
ユーザのパスワードを暗号化した暗号タイプ。使用可能なのはBasic(1)、RSA(2)、SimpleHash(3)である。
CardType
クレジットカードのタイプ(例:Visa、MasterCard等)
CardAccountNumber
表示しても安全なクレジットカード番号で、例えば「xxxxxxxxxxxx1234」。
CardExpirationMonth
クレジットカードの有効期限が切れる月。
CardExpirationYear
クレジットカードの有効期限が切れる年。
UserSyncテーブル
ダイナミクスデータベースでアップデートされるのを待つユーザのキュー。主な目的は、ダイナミクスデータベースのユーザリストをナレッジスターデータベースのユーザリストとシンクロナイズすることである。
【0197】
【表32】
フィールドの説明
UserAccountId
両方のデータベースをシンクロナイズするためのユーザアカウント。
Operation
データベース間でアーティクルをシンクロナイズするために何をするかを記述する。現在、CreateとUpdateという二つの動作が許されている。有効な値はCとUである。
Status
Operationの状態を記述する。ペンディング、進行中、エラーという3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
エラーが発生しStatusがEとマークされると、エラーメッセージがここに表される。
【特許請求の範囲】
【請求項1】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理する方法であって、
前記データオブジェクトの、可変数の利用制御条件を供給する段階と、
前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する1つ以上の利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、
前記一般的制御データを前記データオブジェクトと合成する段階と、
前記データオブジェクトと前記1つ以上の利用制御要素を暗号化してセキュアデータパッケージを生成する段階とを有する、方法。
【請求項2】
前記データオブジェクトと前記一般的制御データとをいっしょに暗号化する段階を追加的に有する、請求項1に記載の方法。
【請求項3】
前記一般的制御データを供給する段階は、前記一般的制御データを一意的に識別する識別子を供給する段階を含む、請求項1に記載の方法。
【請求項4】
前記一般的制御データを供給する段階は、前記データオブジェクトの利用を許可する前に適用するセキュリティプロセスを識別するセキュリティ制御要素を供給する段階を含む、請求項1に記載の方法。
【請求項5】
前記一般的制御データを供給する段階は、前記制御データのフォーマットを識別するフォーマット制御要素を供給する段階を含む、請求項1に記載の方法。
【請求項6】
ユーザによる利用許可を求める要求を受け取る段階と、
許可が要求されている利用を、前記一般的制御データの1つ以上の利用制御要素と比較する段階と、
前記許可が要求されている利用が前記1つ以上の利用制御要素により画定する利用に適合するとき、前記許可を与える段階とを追加的に有する、請求項1に記載の方法。
【請求項7】
前記許可を与える前に、前記要求された利用の許可に対する支払いを要求する段階を追加的に有する、請求項6に記載の方法。
【請求項8】
前記セキュアデータパッケージをデータプロセッサに送信する段階と、
前記データオブジェクトの利用に対するユーザによる要求に応じて、要求された利用が前記一般的制御データの1つ以上の利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記一般的制御データの1つ以上の利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階とを追加的に有する、請求項1に記載の方法。
【請求項9】
前記データオブジェクトの利用後、前記データオブジェクトと前記1つ以上の利用制御要素とを合成する段階と、
少なくとも前記データオブジェクトと前記1つ以上の利用制御要素とを再暗号化する段階とを追加的に有する、請求項8に記載の方法。
【請求項10】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトのユーザによる利用を制御する方法であって、
前記データオブジェクトの可変数の利用制御条件を供給する段階と、
データオブジェクトと、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素制御データを有する制御データとを有するデータパケットであって、前記データオブジェクトと前記少なくとも1つの利用制御データとは暗号化されたデータパケットを供給する段階と、
前記データオブジェクトの利用を求める前記ユーザによる要求を受け取る段階と、
前記制御データを復号する段階と、
前記データオブジェクトの利用を求める前記ユーザによる要求に応じて、前記要求された利用が前記制御データの少なくとも1つの利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記制御データの少なくとも1つの利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階とを有する、方法。
【請求項11】
前記利用制御要素は前記データオブジェクトの少なくとも1回の利用の後に更新される、請求項10に記載の方法。
【請求項12】
前記制御データは、前記少なくとも1つの利用制御要素により前記ユーザが前記データオブジェクトの利用を許可された回数の表示を有し、前記回数が1回以上であるときにのみ、前記要求されたデータオブジェクトを利用させ、前記要求させた利用をさせたとき、前記回数を1だけ減少させる、請求項10に記載の方法。
【請求項13】
前記制御データはセキュリティ制御要素を有し、前記データオブジェクトの各利用の前に、前記セキュリティ制御要素で画定されたセキュリティ手順を実行する段階を追加的に有する、請求項10に記載の方法。
【請求項14】
前記要求させた利用が前記少なくとも1つの利用制御要素により画定された利用に適合するかチェックする段階は、データプロセッサが、前記少なくとも1つの利用制御要素のセキュリティ制御要素で指定されたセキュリティ手順を実行できることをチェックし、実行できなければ、前記利用をさせない段階を有する、請求項10に記載の方法。
【請求項15】
前記データオブジェクトの利用後、前記データオブジェクトと前記1つ以上の利用制御要素とを合成する段階と、
少なくとも前記データオブジェクトと前記1つ以上の利用制御要素とを再暗号化する段階とを追加的に有する、請求項10に記載の方法。
【請求項16】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理するシステムであって、
可変数の制御条件を受け取るユーザインタフェースモジュールと、
前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を含む前記データオブジェクトの一般的制御データを供給するパッケージングモジュールと、
前記データオブジェクトと1つ以上の利用制御要素を暗号化して、必要なセキュアデータパッケージを生成する段階とを有する、システム。
【請求項17】
前記一般的制御データは前記データオブジェクトのさらなる配信を制御する制御データ要素を有する、請求項16に記載のシステム。
【請求項18】
前記利用制御要素の1つは、セキュリティ手順を画定するセキュリティ制御要素を含む、請求項16に記載のシステム。
【請求項19】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトのユーザによる利用を制御するシステムであって、
可変数の制御条件を受け取り、ユーザが要求した利用が前記可変数の制御条件に適合する少なくとも1つの利用制御要素により画定される利用に適合するかチェックし、前記利用が前記少なくとも1つの利用制御要素により画定される利用に適合しないとき、前記ユーザが要求した利用をさせない利用管理モジュールと、
前記少なくとも1つの利用制御要素と前記データオブジェクトを復号する復号モジュールとを有するシステム。
【請求項20】
前記利用制御要素の1つは、セキュリティ手順を画定するセキュリティ制御要素を含む、請求項19に記載のシステム。
【請求項21】
前記セキュリティ手順はRSA暗号化アルゴリズムである、請求項20に記載のシステム。
【請求項22】
前記利用管理モジュールは、利用後に前記データオブジェクトを再パッケージ化する、請求項19に記載のシステム。
【請求項23】
データオブジェクトの可変数の利用条件に適合するように前記データオブジェクトのユーザによる利用を制御する方法であって、
各々が、データオブジェクトと、前記可変数の条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を有するユーザ制御データとを有する少なくとも2つのデータパケットであって、前記データオブジェクトと前記少なくとも1つの利用制御要素とは暗号化されたデータパケットを供給する段階と、
前記ユーザ制御データの前記利用制御要素を復号する段階と、
前記少なくとも2つのデータパッケージの前記利用制御要素が一致するか調べる段階と、
前記少なくとも2つのデータパッケージの前記ユーザ制御データで指定された動作を実行する段階とを有する、方法。
【請求項24】
前記少なくとも2つのデータパッケージの一方は売り注文であり、前記少なくとも2つのデータパッケージの他方は買い注文である、請求項23に記載の方法。
【請求項25】
データプロセッサが前記少なくとも1つの利用制御要素のセキュリティ制御要素で指定されたセキュリティ手順を実行できるかチェックする段階と、前記データプロセッサが前記セキュリティ手順を実行できないとき、前記利用をさせない段階とを追加的に有する、請求項23に記載の方法。
【請求項26】
各データパッケージの前記少なくとも1つの利用制御要素を更新する段階と、
前記データオブジェクトの利用後、各データオブジェクトとその少なくとも1つの利用制御要素とを合成する段階と、
前記合成したデータオブジェクトとその少なくとも1つの利用制御要素をそれぞれ再暗号化する段階と、
前記再パッケージ化したデータオブジェクトをそのプロバイダに転送する段階とを追加的に有する請求項23に記載の方法。
【請求項27】
データオブジェクトの可変数の利用制御条件に適合するように前記データオブジェクトを管理する方法であって、
前記データオブジェクトの可変利用制御条件を供給する段階と、
前記可変利用制御条件に基づき、前記可変利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、
ユーザによるデータオブジェクトの利用の許可を求める要求に応じて、一般的制御データの少なくとも一部を含み、少なくとも1つの利用制御要素を含むユーザ制御データを供給する段階と、
前記ユーザ制御データを前記データオブジェクトと合成する段階と、
少なくとも前記データオブジェクトと、前記ユーザ制御データの少なくとも1つの利用制御要素とを暗号化して、セキュアデータパッケージを生成する段階と、
前記ユーザへの前記データパッケージの転送をさせる前に、前記データオブジェクトの利用の許可を求める要求が認められたかチェックする段階と、を有する方法。
【請求項28】
データプロセッサが前記少なくとも1つの利用制御要素のセキュリティ制御要素で指定されたセキュリティ手順を実行できるかチェックする段階と、前記データプロセッサが前記セキュリティ手順を実行できないとき、前記利用をさせない段階とを追加的に有する、請求項27に記載の方法。
【請求項29】
前記データオブジェクトは少なくとも2つの構成要素データオブジェクトよりなり、ユーザによる前記構成要素データオブジェクトの一方の利用の許可を求める要求に応じて、その構成要素データオブジェクトのみに対してユーザ制御データを生成し、その構成要素データオブジェクトのコピーとのみ合成する、請求項27に記載の方法。
【請求項30】
データネットワークを介してユーザから許可を求める要求を受け取る、請求項27に記載の方法。
【請求項31】
前記データオブジェクトは少なくとも2つの構成要素データオブジェクトを含む合成データオブジェクトであり、一般的制御データを供給する段階は、各構成要素データオブジェクトと合成データオブジェクトの一般的制御データを供給する段階を有し、ユーザ制御データを供給する段階は、各構成要素データオブジェクトと合成データオブジェクトのユーザ制御データを供給する段階を有する、
請求項27に記載の方法。
【請求項32】
データオブジェクトプロバイダのプロセッサに前記ユーザ制御データを格納する段階を追加的に有する、請求項27に記載の方法。
【請求項33】
前記データパッケージを送信する段階と、
前記ユーザ制御データの前記少なくとも1つの利用制御要素を復号する段階と、
前記データオブジェクトの利用に対するユーザによる要求に応じて、要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階とを追加的に有する、請求項27に記載の方法。
【請求項34】
前記データパッケージを送信する段階と、
前記ユーザ制御データの前記少なくとも1つの利用制御要素を復号する段階と、
前記データオブジェクトの利用に対するユーザによる要求に応じて、要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階と、
前記データオブジェクトの利用後、前記データオブジェクトと前記ユーザ制御データの前記1つ以上の利用制御要素とを合成して、少なくとも前記データオブジェクトと前記ユーザ制御データの前記1つ以上の利用とを合成する段階とを追加的に有する、請求項27に記載の方法。
【請求項35】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理するシステムであって、
可変利用条件に基づき前記データオブジェクトの一般的制御データであって、前記可変条件に適合し前記ユーザ制御データを前記データオブジェクトと合成する前記データオブジェクトの利用を画定する1つ以上の利用制御要素を有する一般的制御データを供給するパッケージングモジュールであって、ユーザによる前記データオブジェクトの利用の許可を求める要求に応じて、少なくとも前記一般的制御データの一部を含み、少なくとも1つの利用制御要素を含むユーザ制御データを供給するパッケージングモジュールと、
前記データオブジェクトと、前記ユーザ制御データの少なくとも1つ以上の利用制御要素とを暗号化して、ユーザに転送できるセキュアデータパケットを生成する暗号化モジュールと、
前記ユーザへの前記データパッケージの転送をさせる前に、前記データオブジェクトの利用の許可を求める要求が認められたかチェックする制御モジュールと、を有するシステム。
【請求項36】
データオブジェクトの利用に対する制御条件に適合するように前記データオブジェクトを管理する方法であって、
前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、
前記データオブジェクトと前記1つ以上の利用制御要素を暗号化して少なくとも1つのセキュアデータパッケージを生成する段階とを有する、方法。
【請求項37】
前記データオブジェクトと前記利用制御要素はそれぞれ別のセキュアパッケージに暗号化される、請求項36に記載の方法。
【請求項38】
前記一般的制御データを供給する段階は、前記データオブジェクトの利用を許可する前に適用するセキュリティプロセスを識別するセキュリティ制御要素を供給する段階を含む、請求項36に記載の方法。
【請求項39】
前記一般的制御データを供給する段階は、前記制御データのフォーマットを識別するフォーマット制御要素を供給する段階を含む、請求項36に記載の方法。
【請求項40】
ユーザによる利用許可を求める要求を受け取る段階と、
許可が要求されている利用を、前記一般的制御データの1つ以上の利用制御要素と比較する段階と、
前記許可が要求されている利用が前記1つ以上の利用制御要素により画定する利用に適合するとき、前記許可を与える段階とを追加的に有する、請求項36に記載の方法。
【請求項1】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理する方法であって、
前記データオブジェクトの、可変数の利用制御条件を供給する段階と、
前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する1つ以上の利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、
前記一般的制御データを前記データオブジェクトと合成する段階と、
前記データオブジェクトと前記1つ以上の利用制御要素を暗号化してセキュアデータパッケージを生成する段階とを有する、方法。
【請求項2】
前記データオブジェクトと前記一般的制御データとをいっしょに暗号化する段階を追加的に有する、請求項1に記載の方法。
【請求項3】
前記一般的制御データを供給する段階は、前記一般的制御データを一意的に識別する識別子を供給する段階を含む、請求項1に記載の方法。
【請求項4】
前記一般的制御データを供給する段階は、前記データオブジェクトの利用を許可する前に適用するセキュリティプロセスを識別するセキュリティ制御要素を供給する段階を含む、請求項1に記載の方法。
【請求項5】
前記一般的制御データを供給する段階は、前記制御データのフォーマットを識別するフォーマット制御要素を供給する段階を含む、請求項1に記載の方法。
【請求項6】
ユーザによる利用許可を求める要求を受け取る段階と、
許可が要求されている利用を、前記一般的制御データの1つ以上の利用制御要素と比較する段階と、
前記許可が要求されている利用が前記1つ以上の利用制御要素により画定する利用に適合するとき、前記許可を与える段階とを追加的に有する、請求項1に記載の方法。
【請求項7】
前記許可を与える前に、前記要求された利用の許可に対する支払いを要求する段階を追加的に有する、請求項6に記載の方法。
【請求項8】
前記セキュアデータパッケージをデータプロセッサに送信する段階と、
前記データオブジェクトの利用に対するユーザによる要求に応じて、要求された利用が前記一般的制御データの1つ以上の利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記一般的制御データの1つ以上の利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階とを追加的に有する、請求項1に記載の方法。
【請求項9】
前記データオブジェクトの利用後、前記データオブジェクトと前記1つ以上の利用制御要素とを合成する段階と、
少なくとも前記データオブジェクトと前記1つ以上の利用制御要素とを再暗号化する段階とを追加的に有する、請求項8に記載の方法。
【請求項10】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトのユーザによる利用を制御する方法であって、
前記データオブジェクトの可変数の利用制御条件を供給する段階と、
データオブジェクトと、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素制御データを有する制御データとを有するデータパケットであって、前記データオブジェクトと前記少なくとも1つの利用制御データとは暗号化されたデータパケットを供給する段階と、
前記データオブジェクトの利用を求める前記ユーザによる要求を受け取る段階と、
前記制御データを復号する段階と、
前記データオブジェクトの利用を求める前記ユーザによる要求に応じて、前記要求された利用が前記制御データの少なくとも1つの利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記制御データの少なくとも1つの利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階とを有する、方法。
【請求項11】
前記利用制御要素は前記データオブジェクトの少なくとも1回の利用の後に更新される、請求項10に記載の方法。
【請求項12】
前記制御データは、前記少なくとも1つの利用制御要素により前記ユーザが前記データオブジェクトの利用を許可された回数の表示を有し、前記回数が1回以上であるときにのみ、前記要求されたデータオブジェクトを利用させ、前記要求させた利用をさせたとき、前記回数を1だけ減少させる、請求項10に記載の方法。
【請求項13】
前記制御データはセキュリティ制御要素を有し、前記データオブジェクトの各利用の前に、前記セキュリティ制御要素で画定されたセキュリティ手順を実行する段階を追加的に有する、請求項10に記載の方法。
【請求項14】
前記要求させた利用が前記少なくとも1つの利用制御要素により画定された利用に適合するかチェックする段階は、データプロセッサが、前記少なくとも1つの利用制御要素のセキュリティ制御要素で指定されたセキュリティ手順を実行できることをチェックし、実行できなければ、前記利用をさせない段階を有する、請求項10に記載の方法。
【請求項15】
前記データオブジェクトの利用後、前記データオブジェクトと前記1つ以上の利用制御要素とを合成する段階と、
少なくとも前記データオブジェクトと前記1つ以上の利用制御要素とを再暗号化する段階とを追加的に有する、請求項10に記載の方法。
【請求項16】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理するシステムであって、
可変数の制御条件を受け取るユーザインタフェースモジュールと、
前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を含む前記データオブジェクトの一般的制御データを供給するパッケージングモジュールと、
前記データオブジェクトと1つ以上の利用制御要素を暗号化して、必要なセキュアデータパッケージを生成する段階とを有する、システム。
【請求項17】
前記一般的制御データは前記データオブジェクトのさらなる配信を制御する制御データ要素を有する、請求項16に記載のシステム。
【請求項18】
前記利用制御要素の1つは、セキュリティ手順を画定するセキュリティ制御要素を含む、請求項16に記載のシステム。
【請求項19】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトのユーザによる利用を制御するシステムであって、
可変数の制御条件を受け取り、ユーザが要求した利用が前記可変数の制御条件に適合する少なくとも1つの利用制御要素により画定される利用に適合するかチェックし、前記利用が前記少なくとも1つの利用制御要素により画定される利用に適合しないとき、前記ユーザが要求した利用をさせない利用管理モジュールと、
前記少なくとも1つの利用制御要素と前記データオブジェクトを復号する復号モジュールとを有するシステム。
【請求項20】
前記利用制御要素の1つは、セキュリティ手順を画定するセキュリティ制御要素を含む、請求項19に記載のシステム。
【請求項21】
前記セキュリティ手順はRSA暗号化アルゴリズムである、請求項20に記載のシステム。
【請求項22】
前記利用管理モジュールは、利用後に前記データオブジェクトを再パッケージ化する、請求項19に記載のシステム。
【請求項23】
データオブジェクトの可変数の利用条件に適合するように前記データオブジェクトのユーザによる利用を制御する方法であって、
各々が、データオブジェクトと、前記可変数の条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を有するユーザ制御データとを有する少なくとも2つのデータパケットであって、前記データオブジェクトと前記少なくとも1つの利用制御要素とは暗号化されたデータパケットを供給する段階と、
前記ユーザ制御データの前記利用制御要素を復号する段階と、
前記少なくとも2つのデータパッケージの前記利用制御要素が一致するか調べる段階と、
前記少なくとも2つのデータパッケージの前記ユーザ制御データで指定された動作を実行する段階とを有する、方法。
【請求項24】
前記少なくとも2つのデータパッケージの一方は売り注文であり、前記少なくとも2つのデータパッケージの他方は買い注文である、請求項23に記載の方法。
【請求項25】
データプロセッサが前記少なくとも1つの利用制御要素のセキュリティ制御要素で指定されたセキュリティ手順を実行できるかチェックする段階と、前記データプロセッサが前記セキュリティ手順を実行できないとき、前記利用をさせない段階とを追加的に有する、請求項23に記載の方法。
【請求項26】
各データパッケージの前記少なくとも1つの利用制御要素を更新する段階と、
前記データオブジェクトの利用後、各データオブジェクトとその少なくとも1つの利用制御要素とを合成する段階と、
前記合成したデータオブジェクトとその少なくとも1つの利用制御要素をそれぞれ再暗号化する段階と、
前記再パッケージ化したデータオブジェクトをそのプロバイダに転送する段階とを追加的に有する請求項23に記載の方法。
【請求項27】
データオブジェクトの可変数の利用制御条件に適合するように前記データオブジェクトを管理する方法であって、
前記データオブジェクトの可変利用制御条件を供給する段階と、
前記可変利用制御条件に基づき、前記可変利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、
ユーザによるデータオブジェクトの利用の許可を求める要求に応じて、一般的制御データの少なくとも一部を含み、少なくとも1つの利用制御要素を含むユーザ制御データを供給する段階と、
前記ユーザ制御データを前記データオブジェクトと合成する段階と、
少なくとも前記データオブジェクトと、前記ユーザ制御データの少なくとも1つの利用制御要素とを暗号化して、セキュアデータパッケージを生成する段階と、
前記ユーザへの前記データパッケージの転送をさせる前に、前記データオブジェクトの利用の許可を求める要求が認められたかチェックする段階と、を有する方法。
【請求項28】
データプロセッサが前記少なくとも1つの利用制御要素のセキュリティ制御要素で指定されたセキュリティ手順を実行できるかチェックする段階と、前記データプロセッサが前記セキュリティ手順を実行できないとき、前記利用をさせない段階とを追加的に有する、請求項27に記載の方法。
【請求項29】
前記データオブジェクトは少なくとも2つの構成要素データオブジェクトよりなり、ユーザによる前記構成要素データオブジェクトの一方の利用の許可を求める要求に応じて、その構成要素データオブジェクトのみに対してユーザ制御データを生成し、その構成要素データオブジェクトのコピーとのみ合成する、請求項27に記載の方法。
【請求項30】
データネットワークを介してユーザから許可を求める要求を受け取る、請求項27に記載の方法。
【請求項31】
前記データオブジェクトは少なくとも2つの構成要素データオブジェクトを含む合成データオブジェクトであり、一般的制御データを供給する段階は、各構成要素データオブジェクトと合成データオブジェクトの一般的制御データを供給する段階を有し、ユーザ制御データを供給する段階は、各構成要素データオブジェクトと合成データオブジェクトのユーザ制御データを供給する段階を有する、
請求項27に記載の方法。
【請求項32】
データオブジェクトプロバイダのプロセッサに前記ユーザ制御データを格納する段階を追加的に有する、請求項27に記載の方法。
【請求項33】
前記データパッケージを送信する段階と、
前記ユーザ制御データの前記少なくとも1つの利用制御要素を復号する段階と、
前記データオブジェクトの利用に対するユーザによる要求に応じて、要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階とを追加的に有する、請求項27に記載の方法。
【請求項34】
前記データパッケージを送信する段階と、
前記ユーザ制御データの前記少なくとも1つの利用制御要素を復号する段階と、
前記データオブジェクトの利用に対するユーザによる要求に応じて、要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するかチェックする段階と、
前記要求された利用が前記ユーザ制御データの少なくとも1つの利用制御要素により画定される利用に適合するとき、前記データオブジェクトを復号して、前記要求された利用をさせる段階と、
前記データオブジェクトの利用後、前記データオブジェクトと前記ユーザ制御データの前記1つ以上の利用制御要素とを合成して、少なくとも前記データオブジェクトと前記ユーザ制御データの前記1つ以上の利用とを合成する段階とを追加的に有する、請求項27に記載の方法。
【請求項35】
データオブジェクトの利用制御条件に適合するように前記データオブジェクトを管理するシステムであって、
可変利用条件に基づき前記データオブジェクトの一般的制御データであって、前記可変条件に適合し前記ユーザ制御データを前記データオブジェクトと合成する前記データオブジェクトの利用を画定する1つ以上の利用制御要素を有する一般的制御データを供給するパッケージングモジュールであって、ユーザによる前記データオブジェクトの利用の許可を求める要求に応じて、少なくとも前記一般的制御データの一部を含み、少なくとも1つの利用制御要素を含むユーザ制御データを供給するパッケージングモジュールと、
前記データオブジェクトと、前記ユーザ制御データの少なくとも1つ以上の利用制御要素とを暗号化して、ユーザに転送できるセキュアデータパケットを生成する暗号化モジュールと、
前記ユーザへの前記データパッケージの転送をさせる前に、前記データオブジェクトの利用の許可を求める要求が認められたかチェックする制御モジュールと、を有するシステム。
【請求項36】
データオブジェクトの利用に対する制御条件に適合するように前記データオブジェクトを管理する方法であって、
前記可変数の利用制御条件に基づき、前記可変数の利用制御条件に適合する前記データオブジェクトの利用を画定する少なくとも1つの利用制御要素を含む前記データオブジェクトの一般的制御データを供給する段階と、
前記データオブジェクトと前記1つ以上の利用制御要素を暗号化して少なくとも1つのセキュアデータパッケージを生成する段階とを有する、方法。
【請求項37】
前記データオブジェクトと前記利用制御要素はそれぞれ別のセキュアパッケージに暗号化される、請求項36に記載の方法。
【請求項38】
前記一般的制御データを供給する段階は、前記データオブジェクトの利用を許可する前に適用するセキュリティプロセスを識別するセキュリティ制御要素を供給する段階を含む、請求項36に記載の方法。
【請求項39】
前記一般的制御データを供給する段階は、前記制御データのフォーマットを識別するフォーマット制御要素を供給する段階を含む、請求項36に記載の方法。
【請求項40】
ユーザによる利用許可を求める要求を受け取る段階と、
許可が要求されている利用を、前記一般的制御データの1つ以上の利用制御要素と比較する段階と、
前記許可が要求されている利用が前記1つ以上の利用制御要素により画定する利用に適合するとき、前記許可を与える段階とを追加的に有する、請求項36に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−222047(P2011−222047A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2011−165992(P2011−165992)
【出願日】平成23年7月28日(2011.7.28)
【分割の表示】特願2001−550610(P2001−550610)の分割
【原出願日】平成12年12月22日(2000.12.22)
【出願人】(597095197)ロヴィ・ソリューションズ・コーポレーション (53)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成23年7月28日(2011.7.28)
【分割の表示】特願2001−550610(P2001−550610)の分割
【原出願日】平成12年12月22日(2000.12.22)
【出願人】(597095197)ロヴィ・ソリューションズ・コーポレーション (53)
【Fターム(参考)】
[ Back to top ]