[go: up one dir, main page]

JP2004500643A - System and method for providing an electronic license - Google Patents

System and method for providing an electronic license Download PDF

Info

Publication number
JP2004500643A
JP2004500643A JP2001550610A JP2001550610A JP2004500643A JP 2004500643 A JP2004500643 A JP 2004500643A JP 2001550610 A JP2001550610 A JP 2001550610A JP 2001550610 A JP2001550610 A JP 2001550610A JP 2004500643 A JP2004500643 A JP 2004500643A
Authority
JP
Japan
Prior art keywords
license
cell
data
content
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001550610A
Other languages
Japanese (ja)
Other versions
JP2004500643A5 (en
Inventor
フランクリン,マーティン
ナフト,クリストファー
Original Assignee
マクロビジョン・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マクロビジョン・コーポレーション filed Critical マクロビジョン・コーポレーション
Publication of JP2004500643A publication Critical patent/JP2004500643A/en
Publication of JP2004500643A5 publication Critical patent/JP2004500643A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本発明は、顧客がコンピュータを使って通信媒体を経由してライセンス管理システムに接続する、ライセンス管理システムを提供するシステム及び方法に関する。顧客は通信媒体を経由して前記ライセンス管理システムと情報交換し、様々なコンテントをコピーする。さらに、顧客は通信媒体を経由して前記ライセンス管理システムと情報交換し、前記コンテントにアクセスするライセンスを入手する。前記ライセンス管理システムは様々なタイプのコンテントに使用でき、コンテントの所有者に前記コンテントへのアクセスを完全にコントロールできるようにする。The present invention relates to a system and method for providing a license management system in which a customer uses a computer to connect to the license management system via a communication medium. The customer exchanges information with the license management system via a communication medium and copies various contents. Further, the customer exchanges information with the license management system via a communication medium to obtain a license for accessing the content. The license management system can be used for various types of content and allows the content owner to have full control over access to the content.

Description

【0001】
[発明の分野]
本システム及び方法はデジタル権利管理に関する。
【0002】
[発明の背景]
インターネットの成長により、インターネットを経由して商品とサービスを提供するオンラインの会社とともに、オンラインの消費者の数も増加している。従って、消費者は情報の電子的転送によりいっそう依存し、情報に瞬時にアクセスできることを期待し始めている。消費者にとってはそのようにアクセスが容易になることは大変な利益であるが、一方、消費者のアクセスをコントロールすることはしばしば困難な仕事である。
【0003】
消費者のアクセスをコントロールするアプローチのひとつは、デジタル権利管理(DRM)を活用することである。DRMは情報にデジタル権利を付与し、それによりユーザアクセスをコントロールし、情報の所有者に適切なコントロールを提供する。例えば、DRMによって情報の所有者はロイヤルティの支払いを受け、情報の使用を追跡し、ライセンスを発行することなどができる。
【0004】
共通する問題のひとつは、従来のアプローチでは情報に対する消費者のアクセスを適切にコントロールできないことである。消費者は所有者のコントロールをうまく避ける方法を見つけてしまう。例えば、所有者が消費者に情報にアクセスするためのパスワードを送ったとする。消費者が一旦情報にアクセスすると、その消費者はその情報をコピーして他人に回してしまうかも知れない。
【0005】
共通する問題の今ひとつは、従来のアプローチでは多様なタイプの情報に使えるデジタル権利管理システムを提供できなかったことである。例えば、あるデジタル権利管理システムは音楽ファイルには使えるが、文学的作品には適当でないかも知れない。
【0006】
[発明の概要]
本発明は、データオブジェクトへのアクセスを許可するシステム及び付随する方法を提供する。
【0007】
本発明は、顧客がコンピュータを使って通信媒体を経由してライセンス管理システムに接続するライセンスマネージメントシステムを提供するシステムと方法に関する。顧客は、多様なコンテントのコピーを取得するため通信媒体を通してライセンス管理システムと情報交換し、要求されたコンテントを含むコンテントセルが作成され顧客に送信される。加えて、顧客は、コンテントにアクセスするライセンスを取得するため通信媒体を通してライセンス管理システムと情報交換し、要求されたライセンスを含むライセンスセルが作成され顧客に送信される。顧客がコンテントセル及び関係するライセンスセルを両方とも取得すると、コンテントセルとライセンスセルの条件に規定されている通り、コンテントへのアクセスを許される。
【0008】
前記システムと方法の特長は、ライセンス管理システムが顧客の情報へのアクセスを完全に管理できることである。ライセンス管理システムは顧客に付随したライセンス、及びコンテントに関するアクセス権をコンテント及び・又はライセンスに内蔵しすることができる。従って、顧客は、ライセンス条件が満たされた後にコンテントへアクセスできる。さらに、ライセンス権によって、所有者はコンテントへの多様なアクセスのタイプを管理することができる。例えば、顧客がコンテントを見ることはできるが、コンテントをプリントすることはできない。
【0009】
前記システムと方法の他の特長は、多様な異なったタイプの情報にライセンス管理システムが使用できることである。幅広いコンテントをコンテントセルとして作成し、そのコンテントセルに対応するライセンスを作成するので、どんなコンテントセルに対してもライセンスを作成できる。例えば、顧客は音声ファイル、実行ファイル、テキストファイル等、多様なコンテントへアクセスできる。
【0010】
ライセンス管理システムは通信媒体を通してすぐにアクセスできるので、顧客は大きな遅れなしにコンテントを受信しアクセスできることが、本実施形態の今ひとつの便益である。ライセンス管理システムによって、ユーザはその要求に対してすばやい応答を得ることができる。
【0011】
発明を要約するため、発明の特定の形態、特長、新規な特徴をここに説明した。それら特長のすべてが、本発明の特定の実施形態で実現できるわけではない。従って、例えば、当業者であれば分かるように、本発明は、ここに教示された一つまたはそれ以上の特徴を実現するように実施されるが、必ずしもここに教示又は暗示された他の特長を実現するものではない。
【0012】
[発明の実施の形態]
これら及びその他の特徴を、図面を参照しながら説明する。これらの図面及び付随する説明は、本発明の実施形態を示すためのものであり、本発明の範囲を制限するためのものではない。
【0013】
図面を通して、参照番号は参照されている要素の間の対応を示すため再利用される。さらに、各参照番号の最初の桁は、その要素が最初に現れる図面を表す。
【0014】
この出願はベンソン等の米国特許第5,845,281号を文献援用(incorporated by reference)している。
【0015】
本発明はライセンス管理システム120を提供するためのシステムと方法に関する。図1は一実施形態を示し、顧客110がユーザコンピュータ115を使って、通信媒体130を経由してライセンス管理システム120に接続している。例示したシステムにおいて、ライセンス管理システム120はオファーマネージャ122及びコンテントマネージャ124というふたつの主たる構成要素から成る。顧客110は通信媒体130を経由してコンテントマネージャ124と情報交換し、多様なコンテントのコピーを得る。コンテントは音声ファイル、ビデオファイル、テキスト文書、電子メール、データベースレコード、ハイパーテキストマークアップランゲージ(HTML)ファイル、エクステンシブルマークアップランゲージ(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト等を含む。さらに、顧客110は通信媒体130を経由してオファーマネージャ122と情報交換し、コンテントにアクセスするためのライセンスを得る。
【0016】
I.概観
ライセンス管理システム120の一実施形態の概観が図2に示されている。例示したシステムにおいて、ユーザコンピュータ115はオファーマネージャ122及びコンタクトマネージャ124と通信媒体130を通じて通信する。図2に図示した実施形態において、ライセンス管理システム120のオファーマネージャ122とコンテントマネージャ124は通信媒体130に接続された分離した構成要素として実施されている。他の実施形態においては、オファーマネージャ122とコンテントマネージャ124は直接接続された単一のシステムの一部とすることもできる。
【0017】
図2は顧客110(図1)がコンテントにアクセスしたい時の情報の流れを図示している。イベントAに関して、ユーザコンピュータ115はコンテントを要求し、その要求はコンテントマネージャ124に送信される。イベントBにおいて、コンテントマネージャ124は、要求されたコンテントを含むコンテントセル210をユーザコンピュータ115に送信する。次に、イベントCで、ユーザコンピュータ115はライセンスを要求し、その要求はオファーマネージャ122に送信される。イベントDにおいて、オファーマネージャ122は要求されたライセンスを含んだライセンスセル220をユーザコンピュータ115に送信する。イベントE及びFにおいて、ユーザコンピュータ115はコンテントセル210及び対応するライセンスセル220を両方持っていることを検証し、ユーザコンピュータ115はコンテントへのアクセスを許可する。
【0018】
この実施形態の長所は、ユーザコンピュータ115がコンテントを受信し、大きな遅れ無しにコンテントにアクセスできることであり、それはライセンス管理システム120が通信媒体130を通じてすぐにアクセス可能だからである。ライセンス管理システム120はユーザがその要求に対する応答をタイムリーに受信できるようにしている。
【0019】
この実施形態の他の長所は、ライセンス管理システム120がユーザコンピュータ115のコンテントの使用をライセンスによって管理することである。ライセンス管理システム120は、ユーザコンピュータ115に付随したライセンス権利、及びコンテントセル210及び・またはライセンスセル220内のコンテントに関係したアクセス権限を内蔵できる。
【0020】
II. ライセンス管理システムの実施
このセクションは、図2に示した電子的ライセンスを提供するためのシステムの一実施形態をさらに説明する。例示したシステムは、通信媒体130、ユーザコンピュータ115、及びライセンス管理システム120を含む。
【0021】
A. 通信媒体
図2に示す通信媒体130に関して、現在のところ好ましい通信媒体130は、コンピュータのグローバルネットワークであるインターネットを含む。インターネットの構造は、当業者には周知であるが、ネットワークバックボーンと、バックボーンから枝分かれ(ブランチ)したネットワークを含む。これらブランチはさらに枝分かれしたネットワークを持つ。ルータは情報パケットをネットワークレベルでやり取りし、ネットワークからネットワークへ送り、そのパケットが送付先の近傍に届くまで送る。送付先からは、送付先のネットワークのホストが情報パケットを適当な端末またはノードに送る。インターネットの構造と動作に関するより詳細な説明は、Harley Hahn及びRick Stoutによる”The Internet Complete Reference”(McGraw−Hill社、1994年)を参照されたい。
【0022】
ひとつの有利な実施形態において、インターネットのルーティングハブはドメインネームシステム(DNS)サーバから成ることは周知である。DNSはトランスファーコントロールプロトコル/インターネットプロトコル(TCP/IP)サービスであり、ドメインネームをインターネットプロトコル(IP)アドレスに、またはインターネットプロトコル(IP)アドレスからドメインネームに変換する時に呼び出される。 ルーティングハブは高速通信リンクを通して他のルーティングハブに接続している。
【0023】
しかし、当業者であれば、広い範囲のインターラクティブな通信媒体130が本発明で使用できることを認めるであろう。例えば、通信媒体130はインターラクティブなテレビネットワーク、電話ネットワーク、無線データ送信システム、双方向ケーブルシステム、カスタマイズされたコンピュータネットワーク、インターラクティブなキオスクネットワーク、現金自動預入支払機ネットワーク等を含む。
【0024】
インターネットで良く使用されるのはワールドワイドウェブである。ワールドワイドウェブはグラフィックス及びテキスト情報を表示できる文書を記憶している異なったコンピュータを含んでいる。ワールドワイドウェブ上で情報を提供するコンピュータは通常「ウェブサイト」と呼ばれている。ウェブサイトはインターネットアドレスにより指定され、インターネットアドレスには電子的なページが付随している。その電子的ページはユニフォームリサーチロケータ(URL)により同定される。一般的に、電子的ページはテキスト、グラフィカルイメージ、オーディオ、ビデオ等の表示を統合するドキュメントである。
【0025】
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スタックを含む。
【0026】
他の実施形態において、ユーザコンピュータ115は、例えばコンピュータワークステーション、個別のコンピュータのローカルエリアネットワーク、インターラクティブテレビ、インターラクティブキオスク、パーソナルデジタルアシスタント、インターラクティブ無線通信装置、ハンドヘルドコンピュータ、電話機、ルータ、サテライト、スマートカード、内蔵コンピューティング装置等、通信媒体130と情報交換できるものであれば良い。そのようなシステムにおいて、オペレーティングシステムは異なるが、通信媒体130と通信リンクを確立するのに必要な適当な通信プロトコルを提供する。
【0027】
例示したユーザコンピュータ115はブラウザモジュール310、ユーザマネージャ320、及びデータベースコレクション330を含む。
【0028】
1. ブラウザモジュール
一実施形態において、ユーザコンピュータ115はユーザブラウザモジュール310を含む複数の動作モジュールを利用する。ユーザブラウザモジュール310(以下、ユーザブラウザ310と呼ぶ)はソフトウェアプログラムであり、消費者は、通信媒体130(図1)を通して異なるコンテントプロバイダーにアクセス可能となる。一実施形態において、ユーザブラウザ310はネットスケープが開発したNetscape(登録商標)Navigator、またはマイクロソフトが開発したMicrosoft(登録商標)インターネットエクスプローラである。しかし、当業者であれば、その他のタイプの多数のアクセスソフトウェアでも、本発明の実施形態を実施できることを認めるであろう。その他のタイプのアクセスソフトウェアとは、例えば、他のタイプのインターネットブラウザ、カスタムネットワークブラウザ、双方向通信ソフトウェア、ケーブルモデムソフトウェア、ポイントツーポイントソフトウェア等でもよい。
【0029】
2. ユーザマネージャ
一実施形態において、ユーザコンピュータ115はユーザマネージャ320を含む。ユーザマネージャ320はユーザコンピュータ115が受け取ったすべてのコンテントとライセンスを追跡管理する。一実施形態において、ユーザマネージャ320はウェブベースのダウンロードプロセスと通してユーザコンピュータ115にロードされる。ウェブベースのダウンロードプロセスにおいて、ユーザブラウザ310はユーザに、ユーザマネージャ320をダウンロードするか問い合わせることができる。ユーザがYESと答えれば、ダウンロードプロセスはユーザマネージャ320がユーザブラウザ310をサポートしているかチェックする。サポートしていれば、ユーザブラウザ310はユーザマネージャ320をユーザコンピュータ上に自動的にダウンロードする。他の実施形態において、ユーザマネージャのダウンロードプロセスは、ユーザの介入無しに実行しても、ユーザマネージャ320がユーザコンピュータ115にプリインストールされていてもよい。
【0030】
3. データベースコレクション
一実施形態において、ユーザコンピュータ115は図3に示したデータベースコレクション330を含む。例示したデータベースコレクション330は複数のデータベース、例えばライセンスデータベース332、コンテントデータベース334、暗号鍵データベース336を含み、暗号鍵データベース336は一またはそれ以上の暗号鍵を含むことができる。
【0031】
ライセンスデータベース332は、ユーザコンピュータ115が受け取ったライセンスセル220に関する情報を含む。その情報は受け取ったままのライセンスセル220のコピー、または解凍された情報、例えばライセンス規約、ライセンスセルヘッダー情報等を含むことができる。
【0032】
コンテントデータベース334は、ユーザコンピュータ115が受け取ったコンテントセル210に関する情報を含む。その情報は受け取ったままのコンテントセル210のコピー、または解凍された情報、例えば暗号化されたコンテント、コンテントセルヘッダー情報等を含むことができる。
【0033】
暗号鍵データベース336はライセンスセル220を通じて受け取った鍵を含み、その鍵はユーザマネージャ320が暗号化されたコンテントを解読するために用いる。一実施形態ではシンメトリック鍵暗号を使用するが、他の実施形態においては、シンメトリック暗号とは別に、または関連して他の暗号方法を使うことができる。
【0034】
一実施形態において、データベースコレクション330はフラットファイルデータベース構造を使って実施できる。別の実施形態においては、データベースコレクション330は他のデータベースを使用して実施でき、例えばストラクチャークエリーランゲージ(SQL)を使ってデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施できる。さらに、図3に示したデータコレクション330は複数の個別のデータベースから成るが、他の実施形態においては、データベースコレクション330は他のデータベースを含むこともできるし、他のデータベースを結合することもできる。加えて、データベースコレクション330は複数の個別のテーブルを持ったひとつのデータベースとして実施しても良いし、または周知の別のデータ構造、例えばリンクされたリスト、バイナリーツリー等として実施しても良い。
【0035】
C. ライセンス管理システム
一実施形態において、ライセンス管理システム120(図1)はコンテントとライセンスの生成と発行を管理する。別の実施形態において、ライセンス管理システム120は主としてコンテントセル210とライセンスセル220の発行を管理し、別個のモジュールがライセンスセル220及び・またはコンテントセル210を生成してもよい。前述の通り、ライセンス管理システム120は二つの主たる構成要素、コンテントマネージャ124及びオファーマネージャ122から成る。しかし、別の実施形態においては、複数のコンテントマネージャ124及び・または複数のオファーマネージャ122があってもよい。
【0036】
1. コンテントマネージャ
図4はコンテントマネージャ124の一実施形態を示す。例示したコンテントマネージャ124はウェブサーバソフトウェア410、コンテントマネージャコンポーネント420、及びデータベースコレクション430を含む。
【0037】
a. ウェブサーバソフトウェア
一実施形態において、コンテントマネージャ124は図4に示した通りウェブサーバソフトウェア410を含む。ウェブサーバソフトウェア410は、例えばネットスケープのインターネットサーバソフトウェア、マイクロソフトのインターネットサーバソフトウェア(ISS)等であってもよい。斯様なウェブサーバソフトウェア410は図2に示した通り、ユーザコンピュータ115及びオファーマネージャ122からのメッセージを処理するように構成されている。
【0038】
b. コンテントマネージャコンポーネント
一実施形態において、コンテントマネージャ124はコンテントセル210の生成と発行を管理するコンテントマネージャコンポーネント420を含む。図4に示したコンテントマネージャコンポーネント420は、二つのプロセス、ユーザマネージャダウンロードプロセス422とコンテントセル生成プロセス424から成る。コンテントマネージャコンポーネント420は図示しない別のプロセスを含んでも良く、例えばユーザを登録管理するプロセス、コンテントセルのインベントリーを追跡するプロセス、及びサーチエンジンを提供するプロセスを含んでも良い。
【0039】
ユーザマネージャダウンロードプロセス422はユーザコンピュータ115にユーザマネージャ320をダウンロードする。別の実施形態において、ユーザマネージャダウンロードプロセス422は他のモジュールで実行しても良いし、ユーザマネージャ320がユーザコンピュータ115にプリインストールされていても良い。コンテントセル生成プロセス424は、ユーザコンピュータ115がコンテントを要求し、プロセス424が要求されたコンテントのコンテントセル210を生成する時に呼び出される。この実施形態においては、コンテントマネージャ124はコンテント生成プロセス424を含むが、別の実施形態においては、別のモジュールがコンテントセル210を生成しても良く、コンテントマネージャ124が、コンテントセル210を生成するのではなくロケートすることによって、コンテントセル210の発行を主として管理しても良い。
【0040】
c. データベースコレクション
一実施形態において、コンテントマネージャ124は図4に示したデータベースコレクション430を含む。例示したデータベースコレクション430は複数のデータベースを含み、例えば規約データベース432、暗号鍵データベース434(暗号鍵データベースは一つまたはそれ以上のシンメトリック鍵を含む)、公開証明書データベース436、コンテントデータベース438、セルヘッダー情報データベース439を含む。
【0041】
規約データベース432はコンテントに権利をどのようにいつ割り当てるかに関する規約を含む。規約は一般的なもの(例えば、コンテントXにはライセンスYが必要である)でも良いし、より特定のもの(例えば、ライセンスYを持つ者は誰でもコンテントXをプリントできる。コンテントXをプリントするにはライセンスYが必要であり、さもなければURL Cに飛ぶ。)であっても良い。図4は規約が規約データベース432に記憶されているとして示したが、別の実施形態においては、規約は他のフォーマットに記憶されても良く、例えばプログラムまたは一組のスクリプトのフォーマットに記憶されても良い。
【0042】
暗号鍵データベース434は一組のシンメトリック鍵を含み、コンテントマネージャ124が要求されたコンテントを解読するためにその一組のシンメトリック鍵を使用する。シンメトリック鍵は周知の技術を使って生成できる。シンメトリック及びアシンメトリック暗号に関するより詳しい説明は、Bruce Schneierによる”Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。この実施形態はシンメトリック暗号を使用するが、別の実施形態においては、別の暗号方法をシンメトリック暗号とは別に、またはそれに関連して使用しても良い。
【0043】
公開証明書データベース436は、コンテントマネージャ124が通信する別の構成要素からの公開証明書を含む。構成要素の公開暗号鍵は構成要素の公開証明書の中に入っている。例えば、公開証明書データベース436は、オファーマネージャ122の公開証明書(オファーマネージャ122の公開暗号鍵を含む)を含んで、コンテントマネージャ124とオファーマネージャ122が通信する時の暗号化及び認証をしても良い。公開証明書データベース436はコンテントを要求したユーザコンピュータ115の公開証明書を含んでも良い。
【0044】
コンテントデータベース438は多様なコンテントそのもの、及びコンテントに関する情報を含む。コンテントは、音声ファイル、テキスト文書、電子メール、データベースレコード、ハイパーテキストマークアップ言語(HTML)ファイル、エクステンシブルマークアップ言語(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト等を含んでも良い。コンテントデータベース438は発行者テーブル、発行物テーブル、アーティクルテーブル等を含んでも良い。
【0045】
発行者テーブルは発行者に関する情報を保存する。発行者テーブルは、発行者ID、ステータス(発行者がアクティブか否かを示す)、発行者名、デフォルトの価格、などのフィールドを含んでも良い。各発行者は一つまたはそれ以上の発行物を発行できる。
【0046】
発行物テーブルは発行物に関する情報を保存する。発行物テーブルは、発行物ID、ステータス(発行物がアクティブか否かを示す)、発行物コード、属性、発行者ID、ドメイン、発行物名、発行物ファイルタイプ、発行物ウェブアドレス、イントロダクトリークレジット、デフォルト価格、無料アーティクル数、プリントフィールド(プリントをできるかを示す)、コピーフィールド(コピーできるかを示す)、などのフィールドを含むことができる。各発行物は一つまたはそれ以上のアーティクルを含む。
【0047】
アーティクルテーブルはアーティクル(ひとつひとつのコンテント)に関する情報を保存する。「アーティクル」という用語が使われているが、「アーティクル」という用語は、音声ファイル、ビデオファイル、テキストドキュメント、電子メール、データベースレコード、ハイパーテキストマークアップ言語(HTML)ファイル、エクステンシブルマークアップ言語(XML)ファイル、電子データ交換(EDI)ファイル、メッセージ指向ミドルウェア(MOM)ファイル、実行可能スクリプト、などのコンテントを含んでも良いと認められている。アーティクルテーブルはタイトル、タイムスタンプ、発行物ID、発行者ID、価格、有効期間、セルタイプ等のフィールドを含んでも良い。
【0048】
コンテントデータベース438は申込みテーブル、管理者テーブル等のコンテントに関係した他のテーブルを含んでも良い。申込みテーブルは多様な申込みを定義し、デスクリプションフィールド、申込みID、価格等のフィールドを含む。管理者テーブルは、価格、終了日、グループの設定等、管理業務を行う権限を有する特別なアカウントを保存する。管理者テーブルは、氏名、パスワード、電子メールアドレス、電話番号、発行者ID、管理者レベル、グループアカウント管理許可、プロモーション管理許可等のフィールドを含んでも良い。
【0049】
セルヘッダー情報データベース439はセルヘッダーに関する情報を含む。この情報は各コンテントセル210に固有の識別子、コンテントを製作する多様な店舗に関する情報、記述的情報、及び認証情報(例えば、失効日・時間)を含むことができる。
【0050】
データベースコレクション430に関して、ひとつの実施形態においては、データベースコレクション430と共に働くIDジェネレータ、ナンバージェネレータ、統計ジェネレータ、セッションジェネレータ、一時記憶部などの複数のプロセス(図示せず)をおいても良い。
【0051】
ひとつの実施形態においては、データベースコレクション430は、構造化クエリー言語(SQL)を通してデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施されている。SQLはリレーショナルデータベースを定義し、更新し、リレーショナルデータベースに問い合わせるために国際標準化機構(ISO)により標準化された言語である。
【0052】
別の実施形態において、データベースコレクション430は、別のリレーショナルデータベースを使って実施しても良いし、別のタイプのデータベース(例えば、フラットファイルデータベースなど)を使っても良い。さらに、図4に示したデータベースコレクション430は複数の個別のデータベースから成るが、別の実施形態においては、データベースコレクション430は別のデータベースを含んでも良いし、いくつかのデータベースが結合されていても良い。なお、データベースコレクション430は、個別のテーブルを持った単一のデータベースとして実施しても良いし、リンクされたリスト、バイナリーツリー等の周知である別のデータ構造として実施しても良い。
【0053】
ひとつの実施形態においては、データベースコレクション430は、サーブレット(サーバ上で起動する小さなプログラム)を通してデータベースリクエストを受け取り、データベース430に対応するSQL要求を送るバックエンドの構成要素(図示しない)に接続されていても良い。別の実施形態においては、データへアクセスする仕方は異なっても良く、例えば、異なるタイプのバックエンド構成要素を使っても、データベースコレクション430に直接アクセスしても良い。
【0054】
データベースコレクション430の実施形態のより詳しい説明は、添付した補遺Aに書かれている。補遺Aのデータベースコレクション430はライセンス管理システム120を図示しており、コンテントマネージャ124及びオファーマネージャ122は共に同じデータベースコレクションにアクセスしているが、別の実施形態においては、コンテントマネージャ124及びオファーマネージャ122は多様なデータベースの個別のコピーを持っていても良い。
【0055】
2. オファーマネージャ
図5はオファーマネージャ122のひとつの実施形態を図示している。例示したオファーマネージャ122はウェブサーバソフトウェア510、オファーマネージャコンポーネント520、ライセンスマネージャ530、及びデータベースコレクション540を含む。
【0056】
a. ウェブサーバソフトウェア
ひとつの実施形態において、オファーマネージャ122は図5に示す通りウェブサーバソフトウェア510を含んでいる。ウェブサーバソフトウェア510は、例えば、ネットスケープのインターネットサーバソフトウェアでも、マイクロソフトのインターネットサーバソフトウェア(ISS)等でも良い。斯様なウェブサーバソフトウェア510はユーザコンピュータ115及びコンテントマネージャ124からのメッセージを処理するよう構成されている。
【0057】
b. オファーマネージャコンポーネント
ひとつの実施形態において、図5に示した通り、オファーマネージャ122はライセンスセル220の発行を管理するオファーマネージャコンポーネント520を含む。オファーマネージャコンポーネント520は、ユーザとの情報交換管理、ライセンスマネージャ530が呼ばれる前にユーザ要求が満足されたかの決定、金銭の支払いの追跡、ライセンスが発行されたかの決定その他の処理などの処理(図示せず)を含んでも良い。
【0058】
c. ライセンスマネージャコンポーネント
ひとつの実施形態において、オファーマネージャ122はライセンスセル220の生成を管理するライセンスマネージャ530を含む。図5に示したライセンスマネージャ530は、ライセンスセル生成プロセス532から成る。ライセンスセル生成プロセス532はユーザコンピュータ115がコンテントセル210を求めるライセンスを要求した後、呼び出されても良い。ライセンスセル生成プロセス532は要求されたコンテントのライセンスセル220を生成する。この実施形態においては、ライセンスマネージャ530はコンテント生成プロセス424を含むが、別の実施形態においては、別のモジュールがライセンスセル220を生成しても良い。
【0059】
例えば、オファーマネージャ122はライセンスセル生成プロセス532を含み、ライセンスセル220を生成しても良い。しかし、ひとつの実施形態においては、別のモジュールがライセンスセル220を生成しても良く、ライセンスマネージャ530またはコンテントマネージャ124いずれかが適当なライセンスセル220を配置するようにしても良い。
【0060】
ライセンスマネージャ530は発行されたライセンスを一時保管(repository)などの図示しないその他のプロセスを含んでも良い。なお、ひとつの実施形態において、ライセンスマネージャ530は新しいライセンスが生成されるたびに追跡される発行済みライセンスデータベース547を含む。この管理によって、ライセンスマネージャ530はライセンスするプロセスの監査証跡(オーディットトレイル)となり、他のモジュールに要求されたライセンス情報を提供できる。
【0061】
d. データベースコレクション
ひとつの実施形態において、オファーマネージャ122は図5に示したデータベースコレクション540を含む。例示したデータベースコレクション540は、規約データベース541、暗号鍵データベース542(ひとつまたはそれ以上のシンメトリック鍵を含む)、公開証明書データベース543、コンテントデータベース544、ユーザデータベース545、グループデータベース546、発行済みライセンスデータベース(「ライセンスデータベース」)547、課金データベース548、セルヘッダー情報データベース549等、複数のデータベースを含む。
【0062】
規約データベース541は、いかに、いつ、コンテントに権利を割当てるかに関する規約を含んでいる。規約は一般的なもの(例えば、コンテントXにはライセンスYが必要である)でも良いし、より特定のもの(例えば、ライセンスYを有する者は誰でもコンテントYをプリントできる、コンテントXをプリントするにはライセンスYが必要で、無ければURL Cに飛ぶ)であっても良い。図5は規約データベース541を示しているが、別の実施形態においては、規約はプログラムやスクリプトのような別のフォーマットに記憶されていても良い。
【0063】
暗号鍵データベース542は、コンテントマネージャ124が要求されたコンテントを暗号化するのに使用する一組のシンメトリック鍵を含む。シンメトリック鍵は周知の技術を使用して生成できる。シンメトリック及びアシンメトリック暗号のより詳細な説明は、Bruce Schneierによる”Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons社、1996年)を参照されたい。この実施形態はシンメトリック暗号を使用しているが、別の実施形態においては、シンメトリック暗号とは異なった、または関連した別の暗号を使用しても良い。
【0064】
公開証明書データベース543は、オファーマネージャ122が通信する他の構成要素からの一組の公開証明書を含む。構成要素の公開暗号鍵は構成要素の公開証明書の中にある。例えば、コンテントマネージャ124とオファーマネージャ122が通信する時に認証ができるよう、公開証明書データベース543はコンテントマネージャ124の公開証明書(コンテントマネージャ124の公開鍵を含む)を含んでも良い。公開証明書データベース543はライセンスを要求するユーザコンピュータ115の公開証明書を含んでも良い。
【0065】
特定の実施形態においては、オファーマネージャのコンテントデータベース544はコンテントマネージャのコンテントデータベース438の一部または全部を含んでも良い。コンテントデータベース544は、周知のデータ複製技術を使って、コンテントマネージャのコンテントデータベース438からデータをコピーして、オファーマネージャ122及びコンテントマネージャ124が、データの同一性を損なうことなく、それぞれ同じデータのコピーを持つようにしても良い。さらに、オファーマネージャのコンテントデータベース544はコンテントマネージャのコンテントデータベース438には含まれていない情報を含んでも良い。この実施形態はオファーマネージャ124及びコンテントマネージャ122がそれぞれ、同じコンテントデータベース544、438のコピーを有する場合を示したが、別の実施形態においては、オファーマネージャ122及びコンテントマネージャ124が両方とも、同じコンテントデータベースにアクセスしても良い。コンテントデータベース544のひとつの実施形態のより詳細な情報として、「1.コンテントマネージャ c.データベースコレクション」という表題をつけたセクションを参照されたい。
【0066】
ユーザデータベース545はユーザに関する情報を追跡する。ユーザデータベース545はユーザ情報テーブル、ユーザクレジットカード情報テーブル、ユーザコメントテーブル、ユーザアカウントバランステーブル等のテーブルを含んでも良い。
【0067】
ユーザ情報テーブルはシステムのユーザに関する情報を含む。ユーザ情報テーブルはユーザアカウントID、名前、苗字、勤務先、電子メールアドレス、アカウント生成データ、アカウントステータス、現在請求金額、現在クレジット、残高制限、サービスレベル、販促電子メール、リモートユーザ、リモートアドレス、リモートホスト、請求先名、請求先住所、パスワード、パスワード暗号化タイプ等のフィールドを含んでも良い。ユーザクレジットカード情報テーブルはユーザの暗号化されたクレジットカード番号の記録及びその他のクレジットカード情報を保持する。ユーザクレジットカード情報テーブルはユーザアカウントID、クレジットカード暗号化方法、暗号化されたクレジットカードアカウント番号、クレジットカード失効月、クレジットカード失効年等のフィールドを含んでも良い。ユーザコメントテーブルは特定のユーザのコメントを追跡し、カスタマイズされた顧客サポートを可能とする。ユーザコメントテーブルは、ユーザアカウントID、タイムスタンプ、コメントフィールド等のフィールドを含む。ユーザアカウントバランステーブルは、ユーザがアクセスした特定の発行物ごとにユーザのクレジットと請求額の記録を保持する。ユーザアカウントバランステーブルはユーザアカウントID、発行物ID、クレジットが発生した時間、利用可能クレジット、適用されたクレジット額、現在請求額、表示された価格条件、及びユーザアカウントに関係したその他情報等のフィールドを含んでも良い。
【0068】
グループデータベース546は、複数のユーザをコーポレートアカウント等、ひとつのアカウントに連結する。グループデータベース546はグループテーブル、グループユーザテーブル、発行物テーブル等のテーブルを含んでも良い。
【0069】
グループテーブルはグループに関係する情報を維持する。グループテーブルは、グループID、グループ名、パスワード、アカウントのタイプ、アカウントが有効な日数、発行物ID、有効期限等のフィールドを含む。グループユーザテーブルはグループのメンバーを特定する。グループユーザテーブルは、グループID、ユーザアカウントID、有効期限等のフィールドを含んでも良い。グループ出版物テーブルは、グループのメンバーがアクセスできる出版物を特定する。グループ出版物テーブルは、グループID、出版物ID等のフィールドを含んでも良い。
【0070】
ライセンスデータベース547は発行されたライセンステーブル等の複数のテーブルを含んでも良い。発行されたライセンステーブルはアーティクルへのアクセスを許す、ユーザに発行された各ライセンスを記録する。発酵されたライセンステーブルは、取引ID、タイムスタンプ、アーティクルID、コンテントセルの場所、コンテントセルID、フレームワークID、発行物ID、請求金額等のフィールドを含んでも良い。
【0071】
課金データベース548は請求取引を管理する。課金データベース548は、現在取引、請求可能取引、請求可能適用(サマリー)等のテーブルを含んでも良い。他の標準的請求情報は課金データベース548に含んでも良い。
【0072】
セルヘッダー情報データベース549はセルヘッダーのための情報を含む。この情報は、各ライセンスセル220のためのユニークな識別子、各コンテントセル210のためのユニークな識別子、コンテントを製作する多様な店舗に関する情報、記述的情報、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0073】
データベースコレクション540は多様な管理業務を実行するため、他のデータベース(図示せず)を含んでも良い。例えば、データベースコレクション540は、ユーザ要求等の多様なユーザアクティビティを追跡するユーザアクションデータベースを含み、クリックスルー(ユーザがウェブリンクを選択するたびにトラッキングすること)を使用しても良い。なお、データベースコレクション540は多様なシステムエラー、例えば特定のアーティクルに関係したエラー、新しいユーザに関係したエラー、新しいライセンスに関係したエラー等をトラッキングするエラーデータベースを含んでも良い。データベースコレクション540はデータの同一性を維持するためのデータベース、例えば新しい情報が追加される時、及び・または既存の情報を変更しなければならない時にシステムに警告を発する多様な同期テーブルなどを含んでも良い。データベースコレクション540は、ユーザに電子メール及びその他の通信手段で送った販促をトラッキングする販促データベースを含んでも良い。データベースコレクション540は、ユーザがユーザマネージャ320をユーザの計算機のひとつに再インストールしようと試みた時、またはユーザがユーザIDを検証した時などに、ユーザがユーザの計算機のひとつにユーザマネージャ320のロードを試みた回数をトラッキングするためのユーザマネージャ起動情報を含んでも良い。
【0074】
データベースコレクション540に関して、ひとつの実施形態においては、データベースコレクション540と共に働くIDジェネレータ、ナンバージェネレータ、統計ジェネレータ、セッションジェネレータ、一時記憶ユニット等の複数のプロセス(図示せず)があっても良い。
【0075】
ひとつの実施形態においては、データベースコレクション540は、構造化クエリー言語(SQL)を通してデータにアクセスできるリレーショナルデータベースであるMicrosoft(登録商標)SQLサーバを使って実施している。SQLは、リレーショナルデータベースを定義し、更新し、リレーショナルデータベースに問い合せるために国際標準化機構により標準化された言語である。
【0076】
ひとつの実施形態においては、データベースコレクション540は異なったリレーショナルデータベース、及び異なったタイプのデータベース(例えばフラットファイルデータベース)を使って実施できる。さらに、図5に示したデータベースコレクション540は複数の個別のデータベースから成っているが、別の実施形態においては、データベースコレクション540が別のデータベースを含んでも良いし、いくつかのデータベースが結合されても良い。なお、データベースコレクション540は、個別のテーブルを備えた単一のデータベースとして実施しても良いし、リンクされたデータ、バイナリーツリー等周知の他のデータ構造として実施しても良い。
【0077】
ひとつの実施形態において、データベースコレクション540は、サーブレット(サーバ上で起動する小さなプログラム)を通じてデータベース要求を受け取り、データベースコレクション540に対応するSQL要求を送るバックエンド構成要素(図示せず)に接続されても良い。別の実施形態においては、データへのアクセスは異なった仕方で、例えば、異なったタイプのバックエンド構成要素を使っても良いし、データベースコレクション540に直接アクセスしても良い。
【0078】
データベースコレクション540の実施形態のより詳細な説明は、添付した補遺Aにある。補遺Aのデータベースコレクション540は、コンテントマネージャ124及びオファーマネージャ122両方が、同じデータベースコレクションにアクセスするライセンス管理システム120を示すが、別の実施形態においては、コンテントマネージャ124及びオファーマネージャ122は、個別のデータベース(似たものでも、部分的に同じものでも、違うものでも良い)を有しても良い。
III. ライセンス管理システムセル
ひとつの実施形態において、ライセンス管理システム120は、コンテントを含むセル(コンテントセル210)、及びライセンスを含むセル(ライセンスセル220)を生成する。
【0079】
A. コンテントセル
図6aはコンテントセル210aの一実施形態である。例示したコンテントセル210aは一組の規約612a、暗号化されたコンテント614a、セルヘッダー616a、公開証明書618a、及びコンテントセル署名611aを含む。
【0080】
1. 規約
コンテントセル規約612aはユーザコンピュータ115に、コンテントセル210aにどんな権利が付随しており、その権利を得るためには何が要求されるかを知らせる。例えば、コンテントセル210aは、アーティクルをプリントする権利のための一セットの必要条件、及びアーティクルを見るための一セットの必要条件を有しても良い。一実施形態において、規約612aは特定のユーザのためにかかれたものであっても良いし、別の実施形態においては、規約612aはより一般的に書かれた特定のクラスのユーザに適用されるものでも良い。
【0081】
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に送信されないようにしても良い。
【0082】
3. セルヘッダー
セルヘッダー616aはコンテントセル210aに関する情報を含む。斯様な情報はコンテントセル210aのユニークな識別子、要求されたコンテントを製作する店舗に関する情報、記述的情報、オファーマネージャ122を位置づけるための情報(例えば、オファーマネージャのURLなど)、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0083】
4. 公開証明書
コンテントセルの公開証明書618aは、セル生成者の公開証明書であり、セル生成者の公開鍵を含む。例えば、もしコンテントマネージャ124がコンテントセル210aを生成するなら、コンテントマネージャ124はセル210aに署名し、公開証明書をコンテントセル210aに含める。公開証明書618aは、セルの受信者(例えば、ユーザコンピュータ115)に、送信者(例えば、コンテントマネージャ124)の真正性を検証させる。
【0084】
5. コンテントセル署名
コンテントセルのデジタル署名611aは、コンテントセル210aとコンテントマネージャの非公開鍵両方に基づく情報である。デジタル署名611aはユーザコンピュータ115に使用され、コンテントセル210aの生成者及びコンテントセル210aに含まれる情報を認証するために使用される。
【0085】
一般的に、デジタル署名は各メッセージ、及びメッセージの送信者にユニークなコードである。デジタル署名を使った認証は、メッセージが期待通りの送信者からのものであることを受信者に保障し、メッセージは完全で、改変されていないことを確認する。デジタル署名は暗号手段であって、それを使ってセルの出所と送信者の身元を検証できる。デジタル署名のより詳しい説明は、Bruce Schneierによる”Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition”(John Wiley & Sons、1996年)を参照されたい。
【0086】
6. 他の署名
図6bはコンテントセル210bの別の実施形態を示す。規約612b、暗号化されたコンテント614b、セルヘッダー616bは上述のものと似ているが、各構成要素はそれ自身のデジタル署名613b、615b、617bを持つ。各デジタル署名613b、615b、617bは構成要素を生成したモジュールによって生成される。例えば、規約署名613bは規約612bを生成したモジュールによって生成され、セルヘッダー署名617bはセルヘッダー616bを生成したモジュールによって生成される。別の実施形態においては、異なったモジュールがコンテントセル210の異なった部分を生成しても良く、各モジュールはそれ独自のデジタル署名を提供する。この機能によって、セルの受信者は構成要素の生成者の身元を検証できる。この実施形態において生成者の身元を検証するために、コンテントセル210は、コンテントセル210の部分を生成した各モジュールの公開証明書618bを含まなければならない。
【0087】
別の実施形態において、デジタル署名は個別の規約、または一組の規約に使用することもできる。例えば、もしモジュールAが規約X、Y、Zを生成し、モジュールBが規約M、Nを生成するなら、モジュールAは規約X、Y、Zに署名でき、モジュールBは規約M、Nに署名できる。モジュールA及びモジュールB両方の公開証明書がコンテントセル210で送られ、ユーザは各規約の出所を検証することができる。
【0088】
別の実施形態において、コンテントセル210は異なった構成要素で成り立っていても良いし、上述の構成要素の部分集合だけを含んでいても良い。さらに、対称暗号、非対称暗号、及びデジタル署名など多様な暗号化技術について議論してきたが、別の実施形態においては、別のセキュリティ確保手段を使っても良い。
【0089】
B. ライセンスセル
図7aはライセンスセル220aの一実施形態を示す。例示したライセンスセル220aは、一組の暗号化された規約712a、暗号化されたライセンス714a、セルヘッダー716a、公開証明書718a、及びライセンスセル署名711aを含む。
【0090】
1. 規約
ライセンスセル規約712aはユーザコンピュータ115に、ライセンスセル220aにどのような権利が付随するか、及びその権利を得るには何が必要かを知らせる。例えば、ライセンスセル220aは、アーティクルをプリントする権利のために一組の必要条件を有し、アーティクルを見るために別の必要条件を有しても良い。一実施形態において、規約は特定のユーザのために書かれたものでも良いし、別の実施形態においては、規約はより一般的に書かれ、特定クラスのユーザに適用されても良い。一実施形態において、ライセンスセル220及びコンテントセル210共に、規約612、712を含む。別の実施形態において、ライセンスセル220だけ、もしくはコンテントセル210だけが規約612、712を含み、またはどちらも規約612、712を含まない。
【0091】
2. 暗号化されたライセンス
ライセンスセルの暗号化されたライセンス714aは、ライセンスマネージャ530により暗号化された要求されたライセンスを含む。一実施形態において、ライセンスはユニークな識別子である。別の実施形態において、ライセンスは別のタイプのデータ、例えば情報のレコードであっても良く、ライセンスは規約を含んでも良い。
【0092】
一実施形態において、ライセンスは対称鍵を使って暗号化される。例えば、ライセンスはコンテントを暗号化したのと同じ対称鍵を使って暗号化しても良い。一実施形態において、対称鍵はライセンス管理システム120によりユーザマネージャの公開鍵を使って暗号化され、ユーザマネージャ320だけが対称鍵を復号化でき、従ってライセンスを復号化できるようにする。この実施形態は対称鍵と非対称鍵の使用を説明しているが、別の暗号化方法を使用しても良い。
【0093】
3. セルヘッダー
セルヘッダー716aはライセンスセル220aに関する情報を含む。斯様な情報はライセンスセル220aのユニークな識別子、コンテントセル210に関係する識別子、要求されたコンテントを製作している店舗に関する情報、記述的情報、及び検証情報(例えば、有効期限の日時)を含んでも良い。
【0094】
4. 公開証明書
ライセンスセルの公開証明書718aはセル生成者の公開証明書であり、セル生成者の公開鍵を含む。例えば、ライセンスマネージャ530がライセンスセル220aを生成した場合、ライセンスマネージャ530はセル220aに署名し、ライセンスセル220に公開証明書718aを含める。公開証明書718aにより、セルの受信者(例えば、ユーザコンピュータ115)は送信者(例えばライセンスマネージャ530)の真正性を検証できる。
【0095】
5. ライセンスセル署名
ライセンスセルのデジタル署名611aは、ライセンスセル220a及びライセンスマネージャの非公開鍵に基づく情報である。デジタル署名611aを使ってユーザコンピュータ115はライセンスセル220aの生成者、及びライセンスセル220aに含まれる情報が真正であることを確認する。
【0096】
6. 別の署名
図7bはライセンスセル220bの別の実施形態を示す。規約712b、暗号化されたライセンス714b、セルヘッダー716bは上述したものと同様であるが、各構成要素はそれ自身のデジタル署名713b、715b、717bを有する。各デジタル署名713b、715b、717bは構成要素712b、715b、716bを生成したモジュールによって生成される。例えば、規約署名713bは規約712bを生成したモジュールによって生成され、セルヘッダー署名715bはセルヘッダー714bを生成したモジュールによって生成される。別の実施形態において、別のモジュールがライセンスセル220bの別の部分を生成しても良く、従って各モジュールがそれ自身のデジタル署名を提供する。この機能によって、セルの受信者は構成要素の生成者が真正であることを確認できる。この実施形態において、生成者の同一性を検証するために、ライセンスセル220bは、ライセンスセル220bの部分を生成した各モジュールに公開証明書718bを含めねばならない。
【0097】
別の実施形態において、デジタル署名は個別の規約または一組一組の規約に署名するために使用しても良い。例えば、もしモジュールAが規約X、Y、Zを生成し、モジュールBが規約M、Nを生成したとすると、モジュールAは規約X、Y、Zに署名し、モジュールBは規約M、Nに署名するであろう。モジュールAとモジュールBの公開証明書はライセンスセル220に入れて送信され、ユーザが各規約の出所を検証できるであろう。
【0098】
別の実施形態において、ライセンスセル220は別の構成要素から成っても良いし、上述の構成要素の一部を含んでも良い。さらに、対称暗号、非対称暗号、デジタル署名等の多様な暗号化技術について議論したが、別の実施形態において、別の方法でセキュリティを確保しても良い。
IV. ライセンス管理プロセスの概観
図8は、以前図2で議論した情報の流れの一実施形態のフローチャートを示す。図8に示したフローチャートは図2の情報の流れに対応し、ステップ820がイベントAに、ステップ830がイベントBに、ステップ840がイベントCに、ステップ850がイベントDに、ステップ860がイベントEに、そしてステップ870がイベントFにそれぞれ対応する。
【0099】
開始ステップ810から始まり、プロセスはユーザコンピュータ要求ステップ820に進む。ステップ820で、ユーザコンピュータ115は特定のコンテントを要求し、その後コンテントマネージャ送信ステップ830に進む。ステップ830で、コンテントマネージャ124は要求されたコンテントをユーザコンピュータ115に送信し、ユーザコンピュータ115がライセンスを要求する次のステップ840に進む。ステップ850で、オファーマネージャ122はライセンスをユーザコンピュータ115に送信し、ユーザコンピュータ115が要求したコンテントとそれに対応するライセンスがあるかチェックするステップ860に進む。それらが見つかれば、プロセスはステップ870に進み、ユーザマネージャ320が要求したコンテントにとって適当なアプリケーションを呼び出す。プロセスは終了ステップ880に進む。
【0100】
A. ユーザがコンテントを要求する
一実施形態において、ステップ820で、ユーザはブラウザ310を使ってウェブページを見る。次に、ユーザは見たり、プリントしたり、コピーしたり、プレイしたりするためにコンテントを要求する。別の実施形態において、ユーザは電子メールを使って送られてきた、またはCD−ROM、フロッピー(登録商標)ディスクなどの記憶ユニットに保存されているコンテントセル210にアクセスを試みることによってコンテントを要求することもできる。なお、別の実施形態において、ユーザが知らないうちにコンテントが要求されることもある。例えば、特定のコンピュータアプリケーションが実行された時、コンピュータプログラムアプリケーションはコンテントマネージャ124にコンテントを求める要求を自動的に送信することもできる。
【0101】
B. コンテントマネージャがコンテントセルを送信する
ステップ830に関して、コンテントマネージャ124は要求されたコンテントを見つけ、そのコンテントをユーザコンピュータ115へのプレゼンテーションのため用意する。ステップ830に対応するフローチャートはさらに図9に示した。開始ステップ830から始まり、プロセスはステップ910に進み、コンテントマネージャ124がコンテント要求を受信する。ステップ920に進み、コンテントマネージャ124は要求されたコンテントを含むコンテントセル210を作り、ステップ930に進み、コンテントマネージャ124がコンテントセル210をユーザコンピュータ115条のユーザブラウザ310に送る。
【0102】
この実施形態においては、コンテントマネージャ124がコンテントセル210を作るが、別の実施形態においては、コンテントマネージャ124がデータベースにあるあらかじめ作られたコンテントセル210をロケートしても良い。前述の通り、別のモジュールが一般的なコンテントセル210を作って保管しておき、コンテントマネージャ124等の別のモジュールがそのコンテントセル210にアクセスし、要求どおりユーザに送信しても良い。さらに、コンテントセル210はディスク、CD−ROM、及びその他の記憶装置から引き出しても良い。ステップ920でコンテントマネージャ124がコンテントセル210を作った後、コンテントマネージャ124はステップ930で、コンテントセル210をユーザのブラウザ310に送信し、その後、終了ステップ940に進む。別の実施形態において、コンテントセル210はユーザブラウザ310ではなく、ユーザマネージャ320に直接送信されても良い。
【0103】
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に進む。
【0104】
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に進む。
【0105】
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に進む。
【0106】
F. ユーザマネージャがアプリケーションを呼び出す
ユーザマネージャ320がライセンスとコンテントを持てば、ユーザマネージャ320はステップ870で、要求されたコンテントについて適当なアプリケーションを呼び出し、終了ステップ880に進む。ユーザマネージャ320は規約に則り、コンテントへの適切なアクセスを可能とする。例えば、もし要求されたコンテントがMP3フォーマットの楽曲であり、規約によってユーザコンピュータ115がその楽曲の最初の20秒を再生できる場合、ユーザマネージャ320は、要求された楽曲とともにユーザコンピュータ115上のMP3プレーヤを呼び出し、20秒間その楽曲を再生させる。コンテントへのアクセス方法は、規約によって多様なタイプを可能とでき、例えば、コンテントの一部を視聴したり、コンテント全体を視聴したり、コンテントの一部をコピーしたり、コンテント全体をコピーしたり、コンテントの一部をプリントしたり、コンテント全体を一回だけプリントしたり、コンテント全体を二回プリントしたりなどのタイプを可能としても良い。
【0107】
G. 他の実施形態
一実施形態においては、ライセンスが生成される前にコンテントを要求できるが、別の実施形態においては、コンテントが生成または要求される前にライセンスが生成または要求されてもよい。例えば、ユーザは特定の発行物中のすべての新しいアーティクルを購読するライセンスを買うことが可能である。ユーザはまだ生成されていないコンテントのライセンスを受け取る。さらに、一つのコンテントが一つまたはそれ以上のライセンスに関係しても良いし、一つのライセンスが一つまたはそれ以上のコンテントに対応しても良い。
【0108】
一実施形態において、コンテントマネージャ124はユーザにコンテントロケーションセルを送信しても良い。コンテントロケーションセルはユーザにコンテントがどこにあるかの情報を提供する。ユーザは、コンテントにアクセスする準備ができた時に、まだコンテントセル210を必要としていても良い。例えば、ユーザが2時間の映画のビデオファイルを視聴したいとする。コンテント全体を一度に送るのではなく、コンテントマネージャ124のようなライセンス管理システムモジュールは、要求されたコンテントの場所にアクセスできるコンテントロケーションセルをユーザに送信しても良い。
【0109】
コンテントロケーションセルはコンテントセルに似ていても良いが、コンテントそのものではなく、暗号化されたコンテントの場所情報、例えばURLなどを含む。コンテントロケーションセルはコンテントマネージャ124またはその他のモジュールにより生成されても良い。ユーザがコンテントロケーションセルを受信すると、ユーザはコンテントの場所にアクセスするライセンスを求めても良い。ユーザが特定の場所にアクセスするライセンスを受信した後、ユーザがコンテントの場所にアクセスしても良い。このアクセスによってユーザは、例えば、コンテントの断片を見ることができ、広告にアクセスできる。ユーザはコンテント自体にアクセスする要求をしても良いし、もし必要なら適当なライセンスを要求しても良い。
V. セルを作る
図13及び14はコンテントセル210及びライセンスセル220を作るための一実施形態を示す。前述した通り、別の実施形態において、別のモジュールがセルを作っても良いし、セルは別の技術を使って作られても良い。
【0110】
A. コンテントセルを作る
コンテントセル210の組成の実施形態に対応するフローチャートを図13に示した。開始ステップ920で、プロセスはコンテントマネージャ124が規約612を抽出するステップ1310に進む。前述した通り、規約612はどのようなタイプのライセンス及び・またはユーザが多様なタイプのデータにアクセスできるか、及びコンテントにアクセスするには何が必要かを知らせる。規約612は規約データベースに記憶されていても良いし、テキスト文書及び・またはプログラムとしてリストされていても良く、コンテントマネージャ124が選択されたコンテントにどの規約612が適用されるか決定できれば良い。
【0111】
ステップ1320に進み、コンテントマネージャ124はコンテントデータベース438からコンテントを取得する。一実施形態において、すべてのコンテントはひとつのデータベースに記憶されており、コンテントマネージャ124はデータベースを検索し要求されたコンテントを読み出すことができる。
【0112】
ステップ1330に進み、コンテントマネージャ124はコンテントを暗号化する。暗号化技術は多様な周知の技術を使用しても良い。しかし、前述の通り、一実施形態において、コンテントマネージャ124は対称鍵を使ってコンテントを暗号化し、その対称鍵をオファーマネージャの公開鍵を使って暗号化する。暗号化されたコンテント614及び暗号化された対称鍵がユーザコンピュータ115に送信される時、ユーザコンピュータ115はコンテントを復号化できず、適当なライセンスを持つまでは対称鍵を復号化できない。
【0113】
ステップ1340に進んで、コンテントマネージャ124はセルヘッダー616を生成する。セルヘッダー616はコンテントのユニークな識別子、コンテントが引き出された店舗、記述的テキスト、有効期限の情報その他の情報などを含んでも良い。
【0114】
ステップ1350に進んで、コンテントマネージャ124は抽出した規約612、暗号化され多コンテント614、セルヘッダー616、及び自分自身の公開証明書618をコンテントセル210に付け加える。ステップ1360で、コンテントマネージャ124はコンテントセル210に「署名」する。前述の通り、コンテントセル210に署名するモジュールは、そのモジュールの公開証明書もセルに含めなければならない。従って、ステップ1350で、コンテントマネージャ124はその公開証明書を含め、コンテントセル210を生成し送信したのがコンテントマネージャ124であることを受信者が検証できるようにする。コンテントマネージャ124がコンテントセル210に署名した後、プロセスは終了ステップ1370に進む。
【0115】
B. ライセンスセルを作る
ライセンスセル220を組成する一実施形態に対応するフローチャートを図14に示した。開始ステップ1150で、プロセスはライセンスマネージャ530が規約712を抽出するステップ1410に進む。前述の通り、規約712はどのようなタイプのライセンス及び・またはユーザが多様なタイプのデータにアクセスでき、コンテントにアクセスするのに何が必要かを知らせる。規約712は規約データベースに記憶されても良いし、テキスト文書及び・またはプログラムとしてリストされても良く、ライセンスマネージャ530が復号化して、どの規約712が適用されるかを決定できれば良い。
【0116】
ステップ1420に進んで、ライセンスマネージャ530はライセンスを生成する。ステップ1430に進んで、ライセンスマネージャ530はライセンスを暗号化する。暗号化技術は多様な周知の技術を使うことができる。しかし、前述の通り、一実施形態において、ライセンスマネージャ530は対称鍵を使ってライセンスを暗号化し、その後、ユーザの公開鍵を使ってその対称鍵を暗号化する。暗号化されたライセンス714と暗号化された対称鍵がユーザコンピュータ115に送信された時、ユーザコンピュータはライセンスを解読できる。
【0117】
ステップ1440に進んで、ライセンスマネージャ530はセルヘッダー716を生成する。セルヘッダー716はライセンスセルにユニークな識別子、コンテントに関係したユニークな識別子、コンテントが引き出された店舗、記述的テキスト、有効期限に関する情報その他の情報を含んでも良い。
【0118】
ステップ1450に進んで、ライセンスマネージャ530は、抽出された規約712、暗号化されたライセンス714、セルヘッダー716、及びそれ自身の公開証明書718をライセンスセル220に付け加える。ステップ1460で、ライセンスマネージャ530はライセンスセル220に「署名」する。前述の通り、ライセンスセル220に署名するモジュールは、そのモジュールの公開証明書をセルに含めなければならない。従って、ステップ1460で、ライセンスマネージャ530は、その公開証明書を含め、ライセンスマネージャ530がライセンスセル220を生成し送信したことを受信者が検証できるようにする。ライセンスマネージャ530がライセンスセル220に署名した後、プロセスは終了ステップ1470に進む。
【0119】
一実施形態において、ライセンスマネージャ530は、発行したライセンスを後でトラッキングするため、ライセンスセル情報のコピーをライセンスデータベース547に記憶する。
VI. 結論
本発明の特定の好ましい実施形態を説明したが、これらの実施形態は例として提示しただけであり、本願発明の範囲を制限することを意図したものではない。従って、本願発明の広さと範囲はクレーム及びその均等物によってのみ定められねばならない。
【0120】
【表1】補遺A

Figure 2004500643
ActivatedFwidsテーブル
ユーザによるメディアセンターのすべての成功したインストレーションを登録する。各ユーザに活性化したフレームワークを割当てる。現在、ユーザと活性化したフレームワークの間には一対一の関係がある。この関係を変更して、一人のユーザが複数の活性化したフレームワークを持てるようにする計画がある。
フレームワークを活性化する前に、まずペンディングしなければならない。活性化する時、PendingFwidsテーブル中のフレームワークに関するすべての情報をActivatedFwidsテーブルにコピーする。バックエンドは、この時、ユーザが誰で、どのフレームワークが使われるか分かる。
【表2】
Figure 2004500643
フィールドの説明
TimeStamp
フレームワークが活性化された日付と時間
FrameworkId
フレームワークユニーク識別子(例:fwid0001.0000001101)。現在、一ユーザアカウントIdに対応して一フレームワークである。ユーザアカウントIdに複数の活性化されたフレームワークIdを許容する計画がある。
CellId
フレームワークIdセルをユニークに識別する文字ストリング。フレームワークIdセル、コントラクトセル、コンテントセルを含む各セルはユニークなIdを有する。
Email
メディアセンターをインストールした時にユーザが入力した電子メールアカウント。
RequestId
どのフレームワークから来たものかを検証する。さらにセキュリティーを高める(即ち、バックエンドが応答する場合、要求Idを活性化し送信するよう試みる。ハッカーを予防するために使う)。
UserHost
今は使用していない。
RemoteHost
今は使用していない。
Authentication
ブール値。偽は電子メールアドレスが認証されていないことを表す。ユーザがバックエンドの確認電子メールを受信し、登録を完了すためにクリックしたことを示す。このプロセスは、ユーザが実際に電子メールを受信したことがバックエンドに分かるので、電子メールアドレスが正しいものであることを認証、または検証できる。
UserAccountId
ユーザと同じ。
ValidThrough
フレームワークIdの有効期限(例:6ヶ月、1年等)
Administratorsテーブル
管理業務を行う権限を有する特別なユーザのリストを含む。このリスト中のアドミニストレータはユーザとは何の関係もない。アドミニストレータは、ナレッジスターのデータを管理できる権限を有するメディアDNA社員及び発行者としてログインする。
【表3】
Figure 2004500643
フィールドの説明
Name
アドミニストレータの名前またはログインアカウント。
Password
アドミニストレータアカウントにアクセスするためのパスワード。
Email
アドミニストレータの電子メールアドレス。アドミニストレータと電子的に通信可能である(例:レポート、統計の送信)。
Phone
アドミニストレータの電話番号。
PublisherId
このアドミニストレータが管理する権限を持つ発行物。
Type
このアドミニストレータのタイプを定義する。現在はレギュラーとスーパーの2タイプのみ。レギュラーアドミニストレータは指定された発行者とその発行物のみ取り扱える。スーパーアドミニストレータにはこの制限は無い。言い換えれば、スーパーアドミニストレータになるということは、PublisherIdコラムを無効とすることである。このコラムで有効な値はRとSである。
ManageCorpAccounts
このアドミニストレータがコーポレートアカウントを管理する権限を有するかを示す。
ManagePromoEmail
このアドミニストレータが販促電子メールを管理する権限を有するかを示す。
ArticleSyncテーブル
ダイナミクスデータベース上でアップデートすべきDOI(アーティクル)の待ち行列を表す。ダイナミクスデータベース中のDOIリストをナレッジスター上のDOIリストと同期するためである。
【表4】
Figure 2004500643
フィールドの説明
Doi
同期する必要があるアーティクルのDoi。
Operation
データベース間でアーティクルを同期するには何をすべきかを説明する。
現在、作成と更新という二つのOperationが可能である。有効な値はCとUである。
Status
Operationの状態を記述する。未決定(Pending)、進行中、エラーの3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
同期中にエラーが発生した場合、StatusがEに設定され、エラーメッセージがこのフィールドに入る。
BillableSummariesテーブル
特定のフレームワーク(ユーザ)によってなされたすべての取引の要約を、そのアカウントへの課金情報としてリストする。一つのエントリーはBillableTransactionsテーブル中のたくさんの個別取引の合計である。
【表5】
Figure 2004500643
フィールドの説明
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テーブル
ナレッジスターで発生した課金可能な個々の取引をリストする。契約を発行するたびに取引が発生する。
【表6】
Figure 2004500643
フィールドの説明。
TransactionId
一ユーザの一群の取引の一部として取引を識別する。
TimeStamp
このテーブルにエントリーされた日時。一般的には、ユーザが「支払い」ページにおいてクレジットカードへの課金を承諾した時である。
TransTime
取引が発生した日時。TimeStampに先立つ時間、日数、週数でも良い。一般的にはユーザが各ドキュメントを購入した時である。
Description
何の取引かの記述。通常は購入されたアーティクルのタイトルを含み、または紹介文である。
Doi
取引されたアーティクル。
AccountId
取引したユーザ。
FrameworkId
ユーザが使用するフレームワーク識別番号。
PublicationId
アーティクルが属する発行物。
TransType
番号によって識別される取引タイプ。有効なタイプは、使用中(0)、導入クレジット(1)、購入(2)、要約(3)である。
Amount
取引金額。
Comment
取引に関するコメント。通常は空欄である。
ClickThroughsテーブル
ユーザが発行されたウェブサイトに行くのにナレッジスターをクリックするたびにトラッキングする。
【表7】
Figure 2004500643
フィールドの説明。
TimeStamp
クリックスルーされた日時。
FrameworkId
クリックスルーしたフレームワーク。後でこのフレームワークを使っているユーザまでトラッキングする。
PublicationCode
ユーザがクリックスルーし終わった発行物。
ContractStatsテーブル
バックエンドをとめる時、エグジットする前に、バックエンドが取引数とそれに要した平均時間を記録する。この記録がこのテーブルに保管される。このテーブルはバックエンドスターデータベースの他のテーブルと直接関係は無い。デバッグ及びシステムモニタリングを依頼中である。
【表8】
Figure 2004500643
フィールドの説明
TimeStamp
バックエンドが実行を終了した日時。
NumberContracts
バックエンドが前回初期化されてから今回終了されるまでに、バックエンドにより生成(発行)されたコントラクト数。
AverageTime
コントラクト生成に要した平均時間。この値は契約生成コードの性能をモニターするために使われる。
Comment
一般的なコメント。普通、バックエンドが実行終了したとのメッセージを表示する。
CreditCardNumbersテーブル
各ユーザのクレジットカード番号を暗号化して保管する。クレジットカード番号を暗号化した暗号化のタイプも特定される。
【表9】
Figure 2004500643
フィールドの説明
UserAccountId
このカードが使用可能なアカウントを特定する。
EncryptionType
クレジットカード番号を暗号化するのに使用した方法。使用できるのは、Basic(1)、RSA(2)、SimpleHash(3)である。
EncryptedCardNumber
暗号化されたクレジットカード番号。
CurrentTransactionsテーブル
取引に関連した情報を保存する。各契約についてCurrentTransactionsテーブルにエントリーがなされる。エントリーは借方または貸方でも良いし、これらのエントリーを消去するものでも良い。ユーザがアーティクルを購入するたびに、IssuedContractエントリーとCurrentTransactionエントリーがなされる。
【表10】
Figure 2004500643
フィールドの説明
TimeStamp
取引のなされた日時。
Description
取引対象を説明する。通常、購入されたアーティクルのタイトルを含み、紹介クレジットに関する情報を含む(即ち、購入取引の場合、アーティクルの名称が入力される)。
Doi
取引されたアーティクルである。
AccountId
ユーザを特定する。
FrameworkId
この取引を処理すべきフレームワークを特定する。
PublicationId
取引されたアーティクルの発行物を特定する。
TransType
数字で特定された取引タイプ。有効なタイプは未使用(0)、紹介クレジット(1)、購入(2)、要約(3)である。
Amount
この取引の金額である。
Comment
一般的なコメントフィールド。
DOIsテーブル
アーティクル関係の情報が入っている。アーティクルはDOIとしても知られている。各DOIはナレッジスターで取り扱えるDOIを表す。このテーブルはアーティクルの在庫であり、ユーザがアクセスするだろうすべてのアーティクル、すべてのコンテントセルなどを含む。このテーブルはネーミングサーブレットである。
【表11】
Figure 2004500643
フィールドの説明
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テーブル
特定のユーザに送信された電子メールをトラッキングする。電子メールがテンプレートユーザに送信された日付も記録される。
【表12】
Figure 2004500643
フィールドの説明
TemplateId
使用した電子メールテンプレート。EmailTemplates.TemplateIDへの外部キー。
DateSent
電子メールが送信された日付。
ToHeader
電子メールが送信された電子メールアカウント。ユーザはこのデータをカスタマープロファイルで変更できるので、実際に使用されたアドレスを記憶している。
UserAccountId
電子メールを受信するユーザ。Users.AccountIdへの外部キーである。
EmailTemplatesテーブル
このテーブルは、電子メールメッセージを生成するためにシステムが使用できるテンプレートの集まりを収容している。電子メールメッセージを生成するには、システムはデータベースのエントリーからFromHeader、SubjectHeader、Bodyを取り、メッセージを組み立てるのに使用する。テンプレートは特定の発行者が保有するか、システムが保有する。
【表13】
Figure 2004500643
フィールドの説明
TemplateId
この番号によりテンプレートがユニークに特定される。
PublisherId
このテンプレートを所有する発行者。この欄が0(ゼロ)の場合はシステムテンプレートであることを示す。
Name
このテンプレートの名前。この名前は、この発行者が所有するテンプレート中でユニークである。
CreationDate
テンプレートが作成された日付。
SubjectHeader
このテンプレートで電子メールを送信する時のSubjectライン。
FromHeader
このテンプレートを使用して送信される電子メールのFromHeaderを定義する。
Body
このテンプレートを使った電子メールの内容。
ErrorLogDoiテーブル
Doi関係のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、及び試みられたDoiがこのログに含まれる。
【表14】
Figure 2004500643
フィールドの説明
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーの内容を記述するエラー番号。頻度が高いDoiエラーは、Doiが見つからない(101)とDoiが解決されていない(unresolved)(102)である。
Doi
このアーティクルに対するアクセスがエラーとなった。
FrameworkId
失敗したアーティクルを要求しているフレームワーク。
RemoteADdr
Doiエラーが発行されたリモートIPアドレス。
RemoteHost
Doiエラーが発行されたリモートホスト名。
ErrorLogFwidテーブル
FrameworkId関連のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、試みられたDoiがこのログに含まれる。
【表15】
Figure 2004500643
フィールドの説明。
TransactionId
エラーを特定するユニークな取引番号。
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーを記述する番号。起こりえるエラーは、Fwidが無い(2001)、フォーマットが良くない(2002)、未登録(2003)、アカウントが見つからない(2004)、活性化されていない(2005)、期限超過(2006)である。
FrameworkId
エラーに巻き込まれたフレームワーク。
Doi
エラーに巻き込まれたDoi。
RemoteAddr
エラーに巻き込まれたユーザIPアドレス。
RemoteHost
エラーに巻き込まれたユーザホスト名。
ExtraText
一般的なコメント。
ErrorLogFwidActivationテーブル
FrameworkIdの活性化に関するエラーを記録する。
【表16】
Figure 2004500643
フィールドの説明
TimeStamp
エラーが記録された日付及び時刻。
FrameworkId
エラーに巻き込まれたフレームワーク。
CellId
エラーを経験したフレームワークのIDセルをユニークに特定する文字ストリング。
Expires
フレームワークのIDセルが期限切れとなる時間。
UserHost
このカラムはもう使用しない。
RequestId
要求番号。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムはもう使用しない。
FrameworkReinstallsテーブル
ユーザがフレームワークをリインストールしようと試みた回数をカウントし、成功したリインストールに新しいフレームワーク識別番号を割当てる。
【表17】
Figure 2004500643
フィールドの説明
TimeStamp
フレームワークのリインストールが記録された日付。
FrameworkId
以前インストールされたフレームワーク。
InstFwid
リインストールされたフレームワーク。
ChainLength
ユーザが試みたフレームワークのリインストールの数。回数が所定の制限に達したら、そのユーザはそれ以上のリインストールを許されない。
RemoteUser
このカラムはもう使われていない。
RemoteAddr
フレームワークをリインストールしたユーザのIPアドレス。
RemoteHost
フレームワークをリインストールしたユーザのホスト名。
FwidCellidNumberGeneratorテーブル
ユニークなセル番号を生成するメカニズムである。セルID番号をトラッキングする。このテーブルはナレッジスターデータベースのバックエンドの他のテーブルとは直接的な関係を持たない。
【表18】
Figure 2004500643
フィールドの説明
NextCellidNumber
次のセルの識別番号をトラッキングする。
GroupPublicationsテーブル
ユーザグループメンバーによってアクセス可能な発行物を特定する。
【表19】
Figure 2004500643
フィールドの説明
GroupId
グループの識別番号。
PublicationId
発行物の識別番号。
Groupsテーブル
グループ関係の情報を保管する。コーポレートアカウントユーザをコーポレートアカウントとして一つのアカウントにまとめる。
【表20】
Figure 2004500643
フィールドの説明
GroupId
グループの識別番号。この番号はユニークである。
Name
グループの名前。
Password
このグループのアカウントにアクセスするパスワード。
Type
有効なグループアカウントのタイプ。現在許されているグレープアカウントは、デモアカウントD、標準アカウントSである。それぞれのグループアカウントフィーが支払われれば、デモアカウントのユーザは標準アカウントに昇格される。
UserTTL
このグループのグループアカウントが有効な日数。
PublicationId
このグループのメンバーがアクセスできる発行物。
Expires
このグループアカウントの有効期限日。
GroupUsersテーブル
ユーザをグループに結びつける。グループのメンバーを特定する。
【表21】
Figure 2004500643
フィールドの説明
GroupId
グループ識別番号。
UserAccountId
ユーザアカウントの識別番号。
Expires
このユーザに関するこのグループアカウントの有効期限日。
IssuedContractsテーブル
特定のユーザがアーティクルを入手する時発行された各契約を記録する。フレームワークに契約ごとにエントリーされる(発行されたアーティクルごとに一つの契約)。これらのエントリーは永久に保存され、ユーザが同じアーティクルをダウンロードしても課金されないようにする。
【表22】
Figure 2004500643
フィールドの説明
TransactionId
ユニークな番号であり、監査に使用するこの取引の識別子である。
TimeStamp
この取引が登録された日時。
Doi
この契約がなされたアーティクルを示す。
ContractUrl
契約セルがある場所を特定する(ディスクをきれいにするため、しばらくすると契約セルは破棄される)。
CellId
契約セルをユニークに特定する文字ストリング。フレームワークIDセル、契約セル、コンテントセルを含め、各セルはユニークなIDを有する。
FrameworkId
フレームワークIDはDoiで特定されたセルにアクセスできる。
PublicationId
この契約のDoiがどの発行物に属するか示す。
Amount
ユーザが課金された金額。デバッグとトラッキングに使用される。
OnlineSubscriptionDefsテーブル
ナレッジスターが管理するオンライン購読に関する定義を含む。
【表23】
Figure 2004500643
フィールドの説明
Description
オンライン購読の特徴を記述する。
PublicationId
オンライン購読をサポートする発行物。
Price
この発行物をオンライン購読するための価格。
PendingFwidsテーブル
ペンディングとなっているすべてのフレームワークをリストする。ペンディングフレームワークは通常ゲストユーザに属する。PendingFwidが活性化された時、そのエントリーはこのテーブルからActivatedFwidsテーブルに「移動」する。
【表24】
Figure 2004500643
フィールドの説明
CellId
フレームワークIDセルをユニークに定義する文字ストリング。フレームワークIDセル、コントラクトセル、コンテントセルを含め、セルごとにユニークなIDを有する。
FrameworkId
ペンディングされたフレームワーク。
Email
ペンディングフレームワークを有するゲストユーザの電子メール。
ValidThrough
このペンディングフレームワークが有効な期限日。
UserAccountId
このペンディングフレームワークを持つユーザアカウント。
PromotionalEmailテーブル
バックエンドにある販促電子メールごとの特性と特徴を登録する。
【表25】
Figure 2004500643
フィールドの説明
PublicationId
この販促電子メールに関係する発行物。
TemplateId
この販促電子メールに使用されたテンプレート。
Enabled
この販促電子メールがイネーブルかどうかを示す。
EnableDate
この販促電子メールがイネーブルされた日付。
Publicationsテーブル
ナレッジスター上の各発行物に関する情報を有する。一つの発行物が多数のアーティクル又はDOIを含んでも良い。
【表26】
Figure 2004500643
フィールドの説明
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テーブル
ナレッジスターにコンテントを有する各発行者からの情報を含む。一発行者は多数の発行物を有していても良い。
【表27】
Figure 2004500643
フィールドの説明
PublisherId
発行者のユニークな識別番号。
Status
発行物の状態は「active」又は「inactive」である。
PublisherName
発行者の名称。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
TransactionNumberGeneratorテーブル
ユニークな取引ID番号が生成されるメカニズムである。ユニークな取引ID番号を保管する。このテーブルはナレッジスターデータベースのテーブルとは直接的な関係を持たない。
【表28】
Figure 2004500643
フィールドの説明
NextTransactionNumbwer
次の取引番号を保管する。
UserBalancesテーブル
ユーザのクレジット及び特定の発行物に対する課金の記録を保管する。ユーザがアクセスした発行物に関するエントリーがある。
【表29】
Figure 2004500643
フィールドの説明
UserAccountId
アーティクルにアクセスするユーザ。
PublicationId
アクセスされたアーティクルが属する発行物。
TimeCreditCreated
この発行物からのアーティクルについてこのユーザにクレジットされた日時。
AvailableCredit
使用可能なクレジットの金額をUSドルで示す。
CreditApplied
適用されたクレジットの金額をUSドルで示す。
CurrentCharges
この発行物からのアーティクルについてこのユーザに課金されている金額をUSドルで示す。
HaveShownPricingTerms
ユーザがこの発行物のアーティクルの契約条件を見たかどうかを示す。有効な値は真(1)又は偽(0)である。
UserCommentsテーブル
各ユーザのコメントを保管する。このテーブルはカスタマーサポートで使われる。
【表30】
Figure 2004500643
フィールドの説明
UserAccountId
コメントが登録されているユーザ。
TimeStamp
コメントが登録された日時。
Comment
このユーザのコメント。
Usersテーブル
ナレッジスターのユーザアカウントの情報を保管する。この情報は各ユーザについてアドレス、アカウント状態、クレジット、課金などを含む。ユーザごとにエントリーがある。ユーザがフレームワークID番号を必要とする事を何かすると、エントリーが作成されフレームワークID番号が送信される。
【表31】
Figure 2004500643
フィールドの説明
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テーブル
ダイナミクスデータベースでアップデートされるのを待つユーザのキュー。主な目的は、ダイナミクスデータベースのユーザリストをナレッジスターデータベースのユーザリストとシンクロナイズすることである。
【表32】
Figure 2004500643
フィールドの説明
UserAccountId
両方のデータベースをシンクロナイズするためのユーザアカウント。
Operation
データベース間でアーティクルをシンクロナイズするために何をするかを記述する。現在、CreateとUpdateという二つの動作が許されている。有効な値はCとUである。
Status
Operationの状態を記述する。ペンディング、進行中、エラーという3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
エラーが発生しStatusがEとマークされると、エラーメッセージがここに表される。
【図面の簡単な説明】
【図1】
本発明の一実施形態のハイレベルのブロック図であり、ライセンス管理システムとユーザコンピュータの間の情報交換を示す。
【図2】
本発明の一実施形態のハイレベルのブロック図であり、コンテントマネージャ、オファーマネージャ、及びユーザコンピュータの間の情報の流れを示す。
【図3】
図2のユーザコンピュータの一実施形態のブロック図である。
【図4】
図2のコンテントマネージャの一実施形態のブロック図である。
【図5】
図2のオファーマネージャの一実施形態のブロック図である。
【図6a】
コンテントセルの一実施形態のブロック図である。
【図6b】
コンテントセルの他の実施形態のブロック図である。
【図7a】
ライセンスセルの一実施形態のブロック図である。
【図7b】
ライセンスセルの他の実施形態のブロック図である。
【図8】
ユーザにコンテントへのアクセスを提供する一実施形態のフローチャートである。
【図9】
コンテントを送信する一実施形態のフローチャートである。
【図10】
ライセンスを要求する一実施形態のフローチャートである。
【図11】
ライセンスを送信する一実施形態のフローチャートである。
【図12】
コンテント及びライセンスをチェックする一実施形態のフローチャートである。
【図13】
コンテントセルを生成する一実施形態のフローチャートである。
【図14】
ライセンスセルを生成する一実施形態のフローチャートである。[0001]
[Field of the Invention]
The systems and methods relate to digital rights management.
[0002]
[Background of the Invention]
The growth of the Internet has increased the number of online consumers, as well as online companies that provide goods and services via the Internet. Accordingly, consumers are beginning to rely more on electronic transfer of information and expect instant access to information. While such ease of access is a great benefit for consumers, controlling consumer access is often a difficult task.
[0003]
One approach to controlling consumer access is to leverage digital rights management (DRM). DRM grants digital rights to information, thereby controlling user access and providing appropriate control to information owners. For example, DRM allows information owners to be paid for royalties, track use of information, issue licenses, etc.
[0004]
One common problem is that traditional approaches do not adequately control consumer access to information. Consumers find ways to avoid owner control. For example, assume that the owner has sent a password to the consumer to access the information. Once a consumer has access to the information, the consumer may copy the information and pass it on to others.
[0005]
Another common problem is that traditional approaches have failed to provide a digital rights management system that can be used for various types of information. For example, some digital rights management systems may work for music files, but may not be suitable for literary works.
[0006]
[Summary of the Invention]
The present invention provides a system and associated method for granting access to a data object.
[0007]
The present invention relates to a system and method for providing a license management system in which a customer uses a computer to connect to a license management system via a communication medium. The customer exchanges information with the license management system through a communication medium to obtain copies of the various content, and a content cell containing the requested content is created and transmitted to the customer. In addition, the customer exchanges information with the license management system over a communication medium to obtain a license to access the content, and a license cell containing the requested license is created and transmitted to the customer. Once the customer has obtained both the content cell and the associated license cell, access to the content is allowed as specified in the content cell and license cell conditions.
[0008]
A feature of the system and method is that the license management system has complete control over access to customer information. The license management system can embed the license associated with the customer and the access rights for the content in the content and / or license. Thus, the customer can access the content after the license conditions have been met. In addition, licensing rights allow the owner to control various types of access to the content. For example, a customer can view the content but cannot print the content.
[0009]
Another feature of the system and method is that the license management system can be used for a variety of different types of information. Since a wide range of content is created as a content cell and a license corresponding to the content cell is created, a license can be created for any content cell. For example, customers can access a variety of content, such as audio files, executable files, text files, and the like.
[0010]
Another benefit of this embodiment is that the customer can receive and access the content without significant delay, as the license management system is readily accessible through the communication medium. The license management system allows the user to get a quick response to the request.
[0011]
For purposes of summarizing the invention, certain aspects, features, and novel features of the invention have been described herein. Not all of these features can be realized in a particular embodiment of the present invention. Thus, for example, as will be appreciated by one skilled in the art, the invention may be practiced to achieve one or more features taught herein, but not necessarily other features taught or implied herein. It does not realize.
[0012]
[Embodiment of the invention]
These and other features will be described with reference to the drawings. These drawings and accompanying descriptions are intended to illustrate embodiments of the present invention and not to limit the scope of the invention.
[0013]
Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. Further, the first digit of each reference number identifies the drawing in which the element first appears.
[0014]
This application is incorporated by reference into U.S. Pat. No. 5,845,281 to Benson et al.
[0015]
The present invention relates to systems and methods for providing a license management system 120. FIG. 1 illustrates one embodiment, in which a customer 110 uses a user computer 115 to connect to a license management system 120 via a communication medium 130. In the illustrated system, the license management system 120 consists of two main components: an offer manager 122 and a content manager 124. The customer 110 exchanges information with the content manager 124 via the communication medium 130 to obtain various copies of the content. Content includes audio files, video files, text documents, emails, database records, hypertext markup language (HTML) files, extensible markup language (XML) files, electronic data interchange (EDI) files, message-oriented middleware (MOM) ) Including files, executable scripts, etc. In addition, the customer 110 exchanges information with the offer manager 122 via the communication medium 130 and obtains a license to access the content.
[0016]
I.Overview
An overview of one embodiment of the license management system 120 is shown in FIG. In the illustrated system, the user computer 115 communicates with the offer manager 122 and the contact manager 124 via a communication medium 130. In the embodiment illustrated in FIG. 2, the offer manager 122 and the content manager 124 of the license management system 120 are implemented as separate components connected to a communication medium 130. In other embodiments, offer manager 122 and content manager 124 may be part of a single, directly connected system.
[0017]
FIG. 2 illustrates the flow of information when a customer 110 (FIG. 1) wants to access content. For Event A, user computer 115 requests content, and the request is sent to content manager 124. At Event B, the content manager 124 sends a content cell 210 containing the requested content to the user computer 115. Next, at event C, the user computer 115 requests a license, and the request is sent to the offer manager 122. At Event D, offer manager 122 sends a license cell 220 containing the requested license to user computer 115. At events E and F, user computer 115 verifies that it has both a content cell 210 and a corresponding license cell 220, and user computer 115 grants access to the content.
[0018]
An advantage of this embodiment is that the user computer 115 receives the content and can access the content without significant delay, because the license management system 120 is immediately accessible through the communication medium 130. The license management system 120 allows the user to receive a response to the request in a timely manner.
[0019]
Another advantage of this embodiment is that the license management system 120 manages the use of content on the user computer 115 by license. The license management system 120 can incorporate license rights associated with the user computer 115 and access rights related to the content in the content cell 210 and / or the license cell 220.
[0020]
II.Implementation of license management system
This section further describes one embodiment of a system for providing an electronic license as shown in FIG. The illustrated system includes a communication medium 130, a user computer 115, and a license management system 120.
[0021]
A.Communication media
With respect to the communication medium 130 shown in FIG. 2, the currently preferred communication medium 130 includes the Internet, which is a global network of computers. The structure of the Internet, as is well known to those skilled in the art, includes a network backbone and a network branched from the backbone. These branches have more branched networks. Routers exchange information packets at the network level and send them from network to network until the packet reaches the vicinity of the destination. From the destination, a host on the destination network sends the information packet to the appropriate terminal or node. For a more detailed description of the structure and operation of the Internet, see "The Internet Complete Reference" by Harley Hahn and Rick Stout (McGraw-Hill, 1994).
[0022]
It is well known that in one advantageous embodiment, the Internet routing hub comprises a Domain Name System (DNS) server. DNS is a Transfer Control Protocol / Internet Protocol (TCP / IP) service that is invoked when translating a domain name to an Internet Protocol (IP) address or from an Internet Protocol (IP) address to a domain name. Routing hubs connect to other routing hubs through high-speed communication links.
[0023]
However, one skilled in the art will recognize that a wide range of interactive communication media 130 can be used with the present invention. For example, communication media 130 includes an interactive television network, a telephone network, a wireless data transmission system, a two-way cable system, a customized computer network, an interactive kiosk network, an automated teller machine network, and the like.
[0024]
The most commonly used on the Internet is the World Wide Web. The World Wide Web includes different computers that store documents that can display graphics and text information. Computers that provide information on the World Wide Web are commonly referred to as "websites." Websites are designated by Internet addresses, which are accompanied by electronic pages. The electronic page is identified by a uniform research locator (URL). Generally, an electronic page is a document that integrates the display of text, graphical images, audio, video, and the like.
[0025]
B.User computer
The user computer 115, shown in FIG. 3, is a device by which a user exchanges information with the communication medium 130 (FIG. 1). In one embodiment, user computer 115 is a conventional general-purpose computer, and includes one or more microprocessors, such as a Pentium® processor, a Pentium® II processor, a Pentium® Pro processor, an xx86 processor. , 8051 processor, MIPS processor, Power PC processor, and Alpha processor. In one embodiment, the user computer 115 is a suitable operating system, for example, Microsoft® Windows®. X, Microsoft (registered trademark) Windows (registered trademark) 98, Microsoft (registered trademark) Windows (registered trademark) NT, Microsoft (registered trademark) Windows (registered trademark) CE, Palm Pilot OS, Apple (registered trademark) Mac (registered trademark) Trademark), Disk Operating System (DOS), UNIX (registered trademark), Linux (registered trademark), or IBM (registered trademark) OS / 2 (registered trademark). In one embodiment, the user computer 115 has a conventional modem or other network connection function such as Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Data Link Interface (FDDI), It has an asynchronous transfer mode (ATM). As is conventional, in one embodiment, the operating system includes a TCP / IP stack that handles all message traffic coming and going through the communication medium 130.
[0026]
In other embodiments, the user computer 115 may be, for example, a computer workstation, a local area network of separate computers, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communication device, a handheld computer, a telephone, a router, a satellite, a smart card. Any device that can exchange information with the communication medium 130, such as a built-in computing device, may be used. In such a system, the operating system is different, but provides the appropriate communication protocol necessary to establish a communication link with communication medium 130.
[0027]
The illustrated user computer 115 includes a browser module 310, a user manager 320, and a database collection 330.
[0028]
1. Browser module
In one embodiment, user computer 115 utilizes a plurality of operational modules, including user browser module 310. User browser module 310 (hereinafter referred to as user browser 310) is a software program that allows consumers to access different content providers through communication medium 130 (FIG. 1). In one embodiment, the user browser 310 is a Netscape® Navigator developed by Netscape or Microsoft® Internet Explorer developed by Microsoft. However, those skilled in the art will recognize that many other types of access software can implement embodiments of the present invention. Other types of access software may be, for example, other types of Internet browsers, custom network browsers, two-way communication software, cable modem software, point-to-point software, and the like.
[0029]
2. User Manager
In one embodiment, user computer 115 includes user manager 320. User manager 320 keeps track of all content and licenses received by user computer 115. In one embodiment, the user manager 320 is loaded on the user computer 115 through a web-based download process. In a web-based download process, the user browser 310 can ask the user to download the user manager 320. If the user answers YES, the download process checks whether the user manager 320 supports the user browser 310. If so, the user browser 310 automatically downloads the user manager 320 onto the user computer. In other embodiments, the download process of the user manager may be performed without user intervention, or the user manager 320 may be pre-installed on the user computer 115.
[0030]
3. Database collection
In one embodiment, user computer 115 includes database collection 330 shown in FIG. The illustrated database collection 330 includes multiple databases, for example, a license database 332, a content database 334, an encryption key database 336, and the encryption key database 336 can include one or more encryption keys.
[0031]
The license database 332 includes information on the license cell 220 received by the user computer 115. The information can include a copy of the license cell 220 as received, or decompressed information, such as license terms, license cell header information, and the like.
[0032]
Content database 334 contains information about content cells 210 received by user computer 115. The information can include a copy of the content cell 210 as received, or decompressed information, such as encrypted content, content cell header information, and the like.
[0033]
The encryption key database 336 contains the key received through the license cell 220, which key is used by the user manager 320 to decrypt the encrypted content. In one embodiment, a symmetric key cipher is used, but in other embodiments, other cryptographic methods can be used separately or in conjunction with the symmetric cipher.
[0034]
In one embodiment, the database collection 330 can be implemented using a flat file database structure. In another embodiment, the database collection 330 can be implemented using other databases, for example, using Microsoft® SQL Server, a relational database that can access data using Structured Query Language (SQL). it can. Further, while the data collection 330 shown in FIG. 3 comprises a plurality of separate databases, in other embodiments, the database collection 330 may include other databases or may combine other databases. . In addition, database collection 330 may be implemented as a single database having a plurality of individual tables, or may be implemented as another well-known data structure, such as a linked list, binary tree, or the like.
[0035]
C. License management system
In one embodiment, license management system 120 (FIG. 1) manages the generation and issuance of content and licenses. In another embodiment, license management system 120 primarily manages the issuance of content cells 210 and license cells 220, and a separate module may generate license cells 220 and / or content cells 210. As described above, the license management system 120 is composed of two main components, a content manager 124 and an offer manager 122. However, in other embodiments, there may be multiple content managers 124 and / or multiple offer managers 122.
[0036]
1. Content Manager
FIG. 4 illustrates one embodiment of the content manager 124. The illustrated content manager 124 includes web server software 410, a content manager component 420, and a database collection 430.
[0037]
a. Web server software
In one embodiment, content manager 124 includes web server software 410 as shown in FIG. The web server software 410 may be, for example, Netscape's Internet server software, Microsoft's Internet server software (ISS), or the like. Such web server software 410 is configured to process messages from user computer 115 and offer manager 122, as shown in FIG.
[0038]
b. Content Manager component
In one embodiment, content manager 124 includes a content manager component 420 that manages the creation and publication of content cells 210. The content manager component 420 shown in FIG. 4 comprises two processes, a user manager download process 422 and a content cell generation process 424. The content manager component 420 may include other processes not shown, for example, a process for registering and managing users, a process for tracking an inventory of content cells, and a process for providing a search engine.
[0039]
The user manager download process 422 downloads the user manager 320 to the user computer 115. In another embodiment, the user manager download process 422 may be performed in another module, or the user manager 320 may be pre-installed on the user computer 115. Content cell generation process 424 is invoked when user computer 115 requests content and process 424 generates content cell 210 for the requested content. In this embodiment, the content manager 124 includes a content generation process 424, but in other embodiments, another module may generate the content cell 210, and the content manager 124 generates the content cell 210. By locating the content cell 210, the issuance of the content cell 210 may be mainly managed.
[0040]
c. Database collection
In one embodiment, content manager 124 includes database collection 430 shown in FIG. The illustrated database collection 430 includes a plurality of databases, for example, a contract database 432, an encryption key database 434 (the encryption key database includes one or more symmetric keys), a public certificate database 436, a content database 438, and a cell. A header information database 439 is included.
[0041]
The rules database 432 contains rules regarding how and when to assign rights to content. The rules may be general (eg, content X requires license Y) or more specific (eg, anyone with license Y can print content X. Print content X Needs a license Y, otherwise jumps to URL C.). Although FIG. 4 shows the conventions stored in the conventions database 432, in other embodiments the conventions may be stored in other formats, for example, stored in a program or a set of script formats. Is also good.
[0042]
The encryption key database 434 contains a set of symmetric keys, and the content manager 124 uses the set of symmetric keys to decrypt the requested content. The symmetric key can be generated using a known technique. For a more detailed description of symmetric and asymmetric encryption, see Bruce Schneier, "Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition" (John Wiley, 1996). Although this embodiment uses a symmetric cipher, in other embodiments, other cryptographic methods may be used separately from or in conjunction with the symmetric cipher.
[0043]
The public certificate database 436 contains public certificates from other components with which the content manager 124 communicates. The component's public encryption key is in the component's public certificate. For example, the public certificate database 436 includes the public certificate of the offer manager 122 (including the public encryption key of the offer manager 122) to encrypt and authenticate when the content manager 124 and the offer manager 122 communicate. Is also good. The public certificate database 436 may include the public certificate of the user computer 115 that requested the content.
[0044]
The content database 438 contains various content itself and information about the content. Content can be audio files, text documents, e-mails, database records, hypertext markup language (HTML) files, extensible markup language (XML) files, electronic data interchange (EDI) files, message-oriented middleware (MOM) files , An executable script or the like. Content database 438 may include an issuer table, issue table, article table, and the like.
[0045]
The issuer table stores information about the issuer. The issuer table may include fields such as issuer ID, status (indicating whether the issuer is active), issuer name, default price, and the like. Each issuer can issue one or more issues.
[0046]
The issue table stores information about issues. The issue table contains issue ID, status (indicates whether the issue is active or not), issue code, attributes, issuer ID, domain, issue name, issue file type, issue web address, introduction It may include fields such as credits, default price, number of free articles, print fields (indicating whether printing is possible), copy fields (indicating whether copying is possible), and the like. Each publication contains one or more articles.
[0047]
The article table stores information about articles (one by one). The term "article" is used, but the term "article" is used to refer to audio files, video files, text documents, e-mail, database records, hypertext markup language (HTML) files, extensible markup languages ( It is recognized that the content may include XML (XML) files, electronic data interchange (EDI) files, message-oriented middleware (MOM) files, executable scripts, and the like. The article table may include fields such as title, time stamp, issue ID, issuer ID, price, validity period, cell type, and the like.
[0048]
The content database 438 may include other tables related to the content, such as an application table and an administrator table. The application table defines various applications and includes fields such as a description field, an application ID, and a price. The administrator table stores special accounts having the authority to perform management tasks, such as price, end date, and group settings. The administrator table may include fields for name, password, e-mail address, telephone number, issuer ID, administrator level, group account management permission, promotion management permission, and the like.
[0049]
The cell header information database 439 includes information on the cell header. This information may include an identifier unique to each content cell 210, information about the various shops that make the content, descriptive information, and authentication information (eg, expiration date / time).
[0050]
Regarding the database collection 430, in one embodiment, there may be multiple processes (not shown) such as an ID generator, a number generator, a statistics generator, a session generator, a temporary storage unit, etc., that work with the database collection 430.
[0051]
In one embodiment, the database collection 430 is implemented using a Microsoft SQL server, a relational database that can access data through Structured Query Language (SQL). SQL is a language standardized by the International Standards Organization (ISO) for defining, updating, and querying relational databases.
[0052]
In another embodiment, database collection 430 may be implemented using another relational database or may use another type of database (eg, a flat file database, etc.). Further, while the database collection 430 shown in FIG. 4 is comprised of a plurality of individual databases, in other embodiments, the database collection 430 may include another database or may have several databases combined. good. The database collection 430 may be implemented as a single database having individual tables, or may be implemented as another well-known data structure such as a linked list or a binary tree.
[0053]
In one embodiment, the database collection 430 is connected to a back-end component (not shown) that receives database requests through servlets (small programs running on the server) and sends corresponding SQL requests to the database 430. May be. In other embodiments, the manner in which the data is accessed may be different, for example, using different types of back-end components or accessing the database collection 430 directly.
[0054]
A more detailed description of an embodiment of the database collection 430 is provided in Appendix A attached. Appendix A database collection 430 illustrates license management system 120, with content manager 124 and offer manager 122 both accessing the same database collection, but in another embodiment, content manager 124 and offer manager 122. May have separate copies of various databases.
[0055]
2. Offer manager
FIG. 5 illustrates one embodiment of the offer manager 122. The illustrated offer manager 122 includes web server software 510, an offer manager component 520, a license manager 530, and a database collection 540.
[0056]
a. Web server software
In one embodiment, offer manager 122 includes web server software 510 as shown in FIG. The web server software 510 may be, for example, Netscape Internet server software or Microsoft Internet server software (ISS). Such web server software 510 is configured to process messages from user computer 115 and content manager 124.
[0057]
b. Offer Manager component
In one embodiment, as shown in FIG. 5, offer manager 122 includes an offer manager component 520 that manages the issuance of license cells 220. The offer manager component 520 manages information exchange with the user, determines whether the user request has been satisfied before the license manager 530 is called, tracks payments, determines whether a license has been issued, and other processes (not shown). ) May be included.
[0058]
c. License Manager component
In one embodiment, offer manager 122 includes a license manager 530 that manages the generation of license cells 220. The license manager 530 shown in FIG. 5 includes a license cell generation process 532. The license cell generation process 532 may be invoked after the user computer 115 requests a license for the content cell 210. The license cell generation process 532 generates a license cell 220 for the requested content. In this embodiment, the license manager 530 includes the content generation process 424, but in other embodiments, another module may generate the license cell 220.
[0059]
For example, offer manager 122 may include license cell generation process 532 to generate license cell 220. However, in one embodiment, another module may generate the license cell 220, and either the license manager 530 or the content manager 124 may place the appropriate license cell 220.
[0060]
The license manager 530 may include other processes (not shown) such as temporary storage of the issued license. In one embodiment, the license manager 530 includes an issued license database 547 that is tracked each time a new license is generated. With this management, the license manager 530 becomes an audit trail (audit trail) of the licensing process and can provide the required license information to other modules.
[0061]
d. Database collection
In one embodiment, offer manager 122 includes database collection 540 shown in FIG. The illustrated database collection 540 includes a contract database 541, an encryption key database 542 (including one or more symmetric keys), a public certificate database 543, a content database 544, a user database 545, a group database 546, and an issued license database. (“License database”) includes a plurality of databases such as 547, billing database 548, cell header information database 549, and the like.
[0062]
The rules database 541 contains rules regarding how and when to assign rights to content. The rules may be general (eg, content X requires license Y) or more specific (eg, anyone who has license Y can print content Y, print content X) Needs a license Y, and if there is no license, it jumps to URL C). Although FIG. 5 illustrates the convention database 541, in other embodiments, the convention may be stored in another format, such as a program or script.
[0063]
The encryption key database 542 contains a set of symmetric keys used by the content manager 124 to encrypt the requested content. The symmetric key can be generated using known techniques. For a more detailed description of symmetric and asymmetric cryptography, see "Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition," by Bruce Schneier (see John Wiley & Co., 1992). Although this embodiment uses a symmetric cipher, in other embodiments, another cipher different from or related to the symmetric cipher may be used.
[0064]
Public certificate database 543 contains a set of public certificates from other components with which offer manager 122 communicates. The component's public encryption key is in the component's public certificate. For example, the public certificate database 543 may include a public certificate of the content manager 124 (including the public key of the content manager 124) so that the content manager 124 and the offer manager 122 can authenticate when communicating. The public certificate database 543 may include a public certificate of the user computer 115 requesting the license.
[0065]
In particular embodiments, offer manager content database 544 may include some or all of content manager content database 438. Content database 544 may copy data from content manager's content database 438 using well-known data duplication techniques so that offer manager 122 and content manager 124 each copy the same data without compromising data identity. May be used. Further, offer manager content database 544 may include information that is not included in content manager content database 438. Although this embodiment has shown that the offer manager 124 and the content manager 122 each have the same copy of the content database 544, 438, in another embodiment, the offer manager 122 and the content manager 124 both have the same content. You may access the database. For more detailed information on one embodiment of the content database 544, see the section entitled "1. Content Manager c. Database Collection".
[0066]
User database 545 tracks information about users. The user database 545 may include tables such as a user information table, a user credit card information table, a user comment table, and a user account balance table.
[0067]
The user information table contains information about the users of the system. User information table includes user account ID, name, last name, work place, email address, account creation data, account status, current billing amount, current credit, balance limit, service level, promotional email, remote user, remote address, remote It may include fields such as host, billing name, billing address, password, password encryption type, and the like. The user credit card information table holds a record of the user's encrypted credit card number and other credit card information. The user credit card information table may include fields such as a user account ID, a credit card encryption method, an encrypted credit card account number, a credit card expiration month, and a credit card expiration year. The user comment table tracks the comments of a particular user and allows for customized customer support. The user comment table includes fields such as a user account ID, a time stamp, and a comment field. The user account balance table keeps a record of the user's credits and charges for each particular issue accessed by the user. The user account balance table contains fields such as user account ID, issue ID, credit generation time, available credit, applied credit amount, current billing amount, displayed price terms, and other information related to the user account. May be included.
[0068]
The group database 546 links multiple users to one account, such as a corporate account. The group database 546 may include tables such as a group table, a group user table, and a publication table.
[0069]
The group table maintains information related to the group. The group table includes fields such as group ID, group name, password, account type, number of days the account is valid, issue ID, expiration date, and the like. The group user table specifies the members of the group. The group user table may include fields such as a group ID, a user account ID, and an expiration date. The group publications table identifies the publications that members of the group can access. The group publication table may include fields such as group ID and publication ID.
[0070]
The license database 547 may include a plurality of tables such as issued license tables. The issued license table records each license issued to the user that allows access to the article. The fermented license table may include fields such as transaction ID, time stamp, article ID, content cell location, content cell ID, framework ID, issue ID, billing amount, and the like.
[0071]
Billing database 548 manages billing transactions. The billing database 548 may include tables for current transactions, billable transactions, billable applications (summary), and the like. Other standard billing information may be included in billing database 548.
[0072]
Cell header information database 549 contains information for cell headers. This information includes a unique identifier for each license cell 220, a unique identifier for each content cell 210, information about the various stores that make the content, descriptive information, and verification information (eg, expiration date and time). ) May be included.
[0073]
The database collection 540 may include other databases (not shown) to perform various management tasks. For example, the database collection 540 may include a user action database that tracks various user activities, such as user requests, and may use click-through (tracking every time a user selects a web link). In addition, the database collection 540 may include an error database that tracks various system errors, for example, errors related to a specific article, errors related to a new user, errors related to a new license, and the like. The database collection 540 may include a database for maintaining data identity, such as various synchronization tables that alert the system when new information is added and / or when existing information must be changed. good. Database collection 540 may include a promotion database that tracks promotions sent to users by email and other communication means. The database collection 540 allows the user to load the user manager 320 on one of the user's computers, such as when the user attempts to reinstall the user manager 320 on one of the user's computers, or when the user verifies the user ID. May include user manager activation information for tracking the number of attempts.
[0074]
With respect to the database collection 540, in one embodiment, there may be multiple processes (not shown) such as an ID generator, a number generator, a statistics generator, a session generator, a temporary storage unit, etc., that work with the database collection 540.
[0075]
In one embodiment, database collection 540 is implemented using a Microsoft SQL server, a relational database that can access data through Structured Query Language (SQL). SQL is a language standardized by the International Standards Organization for defining, updating, and querying relational databases.
[0076]
In one embodiment, the database collection 540 can be implemented using different relational databases and different types of databases (eg, flat file databases). Further, although the database collection 540 shown in FIG. 5 comprises a plurality of individual databases, in other embodiments, the database collection 540 may include another database, or some databases may be combined. Is also good. The database collection 540 may be implemented as a single database having individual tables, or may be implemented as another known data structure such as linked data or a binary tree.
[0077]
In one embodiment, the database collection 540 is connected to a backend component (not shown) that receives database requests through a servlet (a small program running on a server) and sends SQL requests corresponding to the database collection 540. Is also good. In other embodiments, accessing the data may be different, for example, using different types of back-end components, or accessing the database collection 540 directly.
[0078]
A more detailed description of an embodiment of the database collection 540 is in Appendix A attached. Appendix A database collection 540 shows the license management system 120 where both the content manager 124 and the offer manager 122 access the same database collection, but in another embodiment, the content manager 124 and the offer manager 122 It may have a database (similar, partially identical, or different).
III. License management system cell
In one embodiment, the license management system 120 generates a cell containing the content (content cell 210) and a cell containing the license (license cell 220).
[0079]
A. Content cell
FIG. 6a is an embodiment of a content cell 210a. The illustrated content cell 210a includes a set of conventions 612a, an encrypted content 614a, a cell header 616a, a public certificate 618a, and a content cell signature 611a.
[0080]
1. Terms
Content cell convention 612a informs user computer 115 what rights are associated with content cell 210a and what is required to obtain those rights. For example, content cell 210a may have a set of requirements for the right to print an article and a set of requirements for viewing an article. In one embodiment, the convention 612a may be written for a particular user, and in another embodiment, the convention 612a applies to a more general written class of users. It may be something.
[0081]
2. Encrypted content
Content cell encrypted content 614a includes the requested content encrypted by content manager 124. In one embodiment, the content is encrypted using a symmetric key. The symmetric key is encrypted by the license management system 120 using the offer manager's public key, and only the offer manager 122 can decrypt the subject key, and the encrypted subject key is sent to the user manager 320. When the user manager 320 requests a license, the user manager 320 sends the encrypted target key to the offer manager 122. Once offer manager 122 verifies that user computer 115 has a valid license, offer manager 122 can decrypt the symmetric key, encrypt the symmetric key with the user manager's public key, and provide Allow the symmetric key to be decrypted and the content to be decrypted. For a more detailed description of symmetric and asymmetric encryption, see "Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition," by Bruce Schneier (John Wiley, 1992). Although this embodiment uses a combination of symmetric and asymmetric encryption, other encryption methods may be used. For example, both offer manager 122 and content manager 124 may have access to a database of symmetric keys, and the symmetric keys may not be sent to user computer 115 until user computer 115 obtains a license.
[0082]
3. Cell header
Cell header 616a contains information about content cell 210a. Such information includes the unique identifier of the content cell 210a, information about the store that produces the requested content, descriptive information, information for locating the offer manager 122 (eg, the offer manager's URL, etc.), and verification information ( For example, the date and time of the expiration date) may be included.
[0083]
4. Public certificate
The public certificate 618a of the content cell is a public certificate of the cell creator, and includes the public key of the cell creator. For example, if content manager 124 creates content cell 210a, content manager 124 signs cell 210a and includes the public certificate in content cell 210a. The public certificate 618a causes the recipient of the cell (eg, the user computer 115) to verify the authenticity of the sender (eg, the content manager 124).
[0084]
5. Content cell signature
The digital signature 611a of the content cell is information based on both the content cell 210a and the private key of the content manager. Digital signature 611a is used by user computer 115 to authenticate the creator of content cell 210a and the information contained in content cell 210a.
[0085]
Generally, a digital signature is a code that is unique to each message and the sender of the message. Authentication using a digital signature ensures that the message is from the sender as expected and that the message is complete and unaltered. Digital signatures are cryptographic means that can be used to verify the origin of a cell and the identity of the sender. For a more detailed description of digital signatures, see "Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition" by Bruce Schneier (John Wiley & Sons, 1992).
[0086]
6. Other signatures
FIG. 6b shows another embodiment of the content cell 210b. The convention 612b, the encrypted content 614b, and the cell header 616b are similar to those described above, but each component has its own digital signature 613b, 615b, 617b. Each digital signature 613b, 615b, 617b is generated by the module that generated the component. For example, the contract signature 613b is generated by the module that generated the contract 612b, and the cell header signature 617b is generated by the module that generated the cell header 616b. In another embodiment, different modules may generate different portions of content cell 210, with each module providing its own digital signature. This feature allows the cell recipient to verify the identity of the component creator. To verify the creator's identity in this embodiment, the content cell 210 must include a public certificate 618b of each module that generated the portion of the content cell 210.
[0087]
In another embodiment, the digital signature can be used for a separate contract, or a set of contracts. For example, if module A generates rules X, Y, Z and module B generates rules M, N, module A can sign rules X, Y, Z, and module B signs rules M, N. it can. The public certificates of both module A and module B are sent in content cell 210, and the user can verify the source of each agreement.
[0088]
In another embodiment, the content cell 210 may be composed of different components, or may include only a subset of the components described above. Further, while various encryption techniques have been discussed, such as symmetric encryption, asymmetric encryption, and digital signatures, in other embodiments, other security means may be used.
[0089]
B. License cell
FIG. 7a illustrates one embodiment of a license cell 220a. The illustrated license cell 220a includes a set of encrypted conventions 712a, an encrypted license 714a, a cell header 716a, a public certificate 718a, and a license cell signature 711a.
[0090]
1. Terms
The license cell agreement 712a informs the user computer 115 what rights accompany the license cell 220a and what is needed to obtain those rights. For example, license cell 220a may have a set of requirements for the right to print an article and another requirement for viewing an article. In one embodiment, the contract may be written for a particular user, or in another embodiment, the contract may be written more generally and apply to a particular class of users. In one embodiment, both license cell 220 and content cell 210 include rules 612, 712. In another embodiment, only the license cell 220 or only the content cell 210 includes the rules 612, 712, or neither includes the rules 612, 712.
[0091]
2. Encrypted license
The license license 714a of the license cell includes the requested license encrypted by the license manager 530. In one embodiment, the license is a unique identifier. In another embodiment, the license may be another type of data, eg, a record of information, and the license may include terms.
[0092]
In one embodiment, the license is encrypted using a symmetric key. For example, a license may be encrypted using the same symmetric key that encrypted the content. In one embodiment, the symmetric key is encrypted by the license management system 120 using the user manager's public key, so that only the user manager 320 can decrypt the symmetric key and thus decrypt the license. Although this embodiment describes the use of symmetric and asymmetric keys, other encryption methods may be used.
[0093]
3. Cell header
Cell header 716a contains information about license cell 220a. Such information may include the unique identifier of the license cell 220a, the identifier associated with the content cell 210, information about the store making the requested content, descriptive information, and verification information (eg, expiration date and time). May be included.
[0094]
4. Public certificate
The public certificate 718a of the license cell is a public certificate of the cell creator and includes the public key of the cell creator. For example, if license manager 530 generates license cell 220a, license manager 530 signs cell 220a and includes public certificate 718a in license cell 220. The public certificate 718a allows the recipient of the cell (eg, the user computer 115) to verify the authenticity of the sender (eg, the license manager 530).
[0095]
5. License cell signature
The digital signature 611a of the license cell is information based on the private key of the license cell 220a and the license manager. Using the digital signature 611a, the user computer 115 confirms that the creator of the license cell 220a and the information included in the license cell 220a are authentic.
[0096]
6. Another signature
FIG. 7b shows another embodiment of a license cell 220b. Terms 712b, encrypted license 714b, cell header 716b are similar to those described above, but each component has its own digital signature 713b, 715b, 717b. Each digital signature 713b, 715b, 717b is generated by the module that generated the components 712b, 715b, 716b. For example, the contract signature 713b is generated by the module that generated the contract 712b, and the cell header signature 715b is generated by the module that generated the cell header 714b. In another embodiment, another module may generate another portion of license cell 220b, so that each module provides its own digital signature. This feature allows the recipient of the cell to verify that the creator of the component is authentic. In this embodiment, to verify the identity of the creator, license cell 220b must include a public certificate 718b in each module that generated a portion of license cell 220b.
[0097]
In another embodiment, the digital signature may be used to sign individual or set of rules. For example, if module A generates rules X, Y, and Z, and module B generates rules M and N, module A signs rules X, Y, and Z, and module B writes rules M, N Will sign. The public certificates of Module A and Module B will be sent in license cell 220 and the user will be able to verify the source of each agreement.
[0098]
In another embodiment, license cell 220 may be comprised of other components or may include some of the components described above. Furthermore, although various encryption techniques such as symmetric encryption, asymmetric encryption, and digital signature have been discussed, in another embodiment, security may be ensured by another method.
IV. Overview of the license management process
FIG. 8 shows a flowchart of one embodiment of the information flow previously discussed in FIG. The flowchart shown in FIG. 8 corresponds to the information flow shown in FIG. 2. Step 820 corresponds to event A, step 830 corresponds to event B, step 840 corresponds to event C, step 850 corresponds to event D, and step 860 corresponds to event E. , And step 870 corresponds to event F, respectively.
[0099]
Beginning at a start step 810, the process proceeds to a user computer request step 820. At step 820, user computer 115 requests the specific content, and then proceeds to content manager transmission step 830. At step 830, content manager 124 sends the requested content to user computer 115 and proceeds to the next step 840 where user computer 115 requests a license. At step 850, offer manager 122 sends the license to user computer 115 and proceeds to step 860 where user computer 115 checks for the requested content and the corresponding license. If they are found, the process proceeds to step 870, where the user manager 320 invokes the appropriate application for the requested content. The process proceeds to end step 880.
[0100]
A. User requests content
In one embodiment, at step 820, the user views the web page using browser 310. Next, the user requests the content to view, print, copy, or play. In another embodiment, the user requests content by attempting to access content cells 210 sent using e-mail or stored on a storage unit such as a CD-ROM, floppy disk, or the like. You can also. Note that in other embodiments, the content may be requested without the user's knowledge. For example, when a particular computer application is executed, the computer program application may automatically send a request for content to the content manager 124.
[0101]
B. Content manager sends content cell
With reference to step 830, content manager 124 finds the requested content and prepares the content for presentation to user computer 115. The flowchart corresponding to step 830 is further shown in FIG. Beginning at a start step 830, the process proceeds to step 910, where the content manager 124 receives a content request. Proceeding to step 920, the content manager 124 creates a content cell 210 containing the requested content, and proceeds to step 930, where the content manager 124 sends the content cell 210 to the user browser 310 of the user computer 115.
[0102]
In this embodiment, the content manager 124 creates the content cells 210, but in other embodiments, the content manager 124 may locate a pre-made content cell 210 in a database. As described above, another module may create and store a generic content cell 210, and another module, such as content manager 124, may access the content cell 210 and send it to the user as requested. Further, the content cells 210 may be drawn from disks, CD-ROMs, and other storage devices. After the content manager 124 has created the content cell 210 in step 920, the content manager 124 sends the content cell 210 to the user's browser 310 in step 930, and then proceeds to the end step 940. In another embodiment, the content cell 210 may be sent directly to the user manager 320 instead of the user browser 310.
[0103]
C. User computer requests license
FIG. 10 shows a flowchart corresponding to step 840 in which the user computer 115 requests a license. Beginning at a start step 840, the process proceeds to step 1010, where the user browser 310 receives the content cell 210 and passes the content cell 210 to the user manager 320. The user manager 320 opens the content 210 at step 1020 and proceeds to step 1030, where the user manager 320 verifies that the content cell 210 is genuine. As described above, in one embodiment, the content cell 210 includes a signature and a public certificate so that the user manager 320 can use the public certificate to verify that the sender and creator of the content cell 210 are authentic. It has become. Proceeding to step 1040, the user manager 320 searches for a license for the content cell 210. If a license is found in step 1050, the process proceeds to end step 1090, and proceeds to step 870, where the user manager 320 invokes the application and content. However, if a license is not found, the process proceeds to step 1070 where the user manager 320 stores the content cell information in the content database 334 and proceeds to step 1080 where the user computer 115 requests a license. In one embodiment, user manager 320 causes user browser 310 to send a license request to content manager 124 and proceeds to end step 1090.
[0104]
D. Offer manager submits license
A flowchart corresponding to step 850 in which offer manager 122 sends a license to user computer 115 is shown in FIG. Beginning at a start step 850, the process proceeds to step 1110, where the offer manager 122 receives a license request and proceeds to step 1120, where the offer manager 122 uses the user browser 310 to cause the user to meet license issuance requirements. For example, a user may have to send registration information, mailing information, answer questions, and send credit card information. Sample registration form includes name, last name, email address, work location, credit card type, credit card number, expiration date, name on credit card, billing address, city, state, postal code, country, password Etc. may be entered. Proceeding to step 1130, if the user does not meet the requirements, the process proceeds to end step 1140. However, if the user meets the requirements, the process proceeds to step 1150, where the user manager 320 starts creating the license cell 220. After license manager 530 creates license cell 220, the process proceeds to step 1160, where offer manager 122 may "bill" user computer 115 for a license fee. This billing occurs, for example, if the license issuance requirement includes payment by credit card or other account information. In another embodiment, the billing transaction may be processed by another module, for example, a service provider, a server, etc. Step 1170, offer manager 122 sends license cell 220 to user's browser 310 and proceeds to end step 1180.
[0105]
E. FIG. User computer looks for license and content
A flowchart corresponding to step 860 in which the user computer 115 finds the content and the license is shown in FIG. Beginning at a start step 860, the process proceeds to step 1210, where the user's browser 310 receives the license cell 220 and passes the license cell 220 to the user manager 320. At step 1220, user manager 320 opens license cell 220 and proceeds to step 1230, where user manager 320 verifies that license cell 220 is genuine. As described above, the license cell 220, in one embodiment, includes a signature and a public certificate so that the user manager 320 can use the license cell 220 to verify that its sender and creator are authentic. Proceeding to step 1240, the user manager 320 stores the license cell information on the user computer 115. In one embodiment, license manager 530 stores license cell information in license database 332. In other embodiments, other storage methods may be used. Proceeding to step 1250, the process verifies that the user still wants a license. If the user's answer is no, the process proceeds to end step 1255. If the user still wants a license, the process proceeds to step 1260, where user computer 115 reclaims the license, and proceeds to step 1270, where user computer 115 looks for the license and proceeds to step 1280. At step 1280, user computer 115 searches for content and proceeds to step 1290.
[0106]
F. User manager calls the application
If the user manager 320 has the license and the content, the user manager 320 calls the appropriate application for the requested content at step 870 and proceeds to an end step 880. The user manager 320 enables appropriate access to the content according to the rules. For example, if the requested content is a song in MP3 format and the convention allows the user computer 115 to play the first 20 seconds of the song, the user manager 320 will send the MP3 player on the user computer 115 along with the requested song. To play the song for 20 seconds. The access method to the content can be various types according to the rules, such as viewing part of the content, watching the entire content, copying part of the content, copying the entire content, etc. It is also possible to print a part of the content, print the entire content only once, or print the entire content twice.
[0107]
G. FIG. Other embodiments
In one embodiment, the content may be requested before the license is generated, but in another embodiment, the license may be generated or requested before the content is generated or requested. For example, a user can buy a license to subscribe to all new articles in a particular publication. The user receives a license for the content that has not yet been generated. Further, one content may relate to one or more licenses, or one license may correspond to one or more content.
[0108]
In one embodiment, the content manager 124 may send the content location cell to the user. The content location cell provides the user with information on where the content is. The user may still need the content cell 210 when ready to access the content. For example, suppose the user wants to watch a two hour movie video file. Rather than sending the entire content at once, a license management system module, such as content manager 124, may send the user a content location cell that has access to the location of the requested content.
[0109]
The content location cell may be similar to the content cell, but includes the location information of the encrypted content, such as a URL, instead of the content itself. Content location cells may be generated by content manager 124 or other modules. When the user receives the content location cell, the user may request a license to access the content location. After the user receives a license to access a particular location, the user may access the content location. This access allows the user, for example, to view a piece of content and access the advertisement. The user may request access to the content itself or, if necessary, an appropriate license.
V. Make cells
13 and 14 illustrate one embodiment for creating a content cell 210 and a license cell 220. FIG. As described above, in another embodiment, another module may make the cell, or the cell may be made using another technique.
[0110]
A. Create content cells
A flowchart corresponding to the embodiment of the composition of the content cell 210 is shown in FIG. At a start step 920, the process proceeds to step 1310 where the content manager 124 extracts the contract 612. As described above, the rules 612 inform what types of licenses and / or users can access various types of data and what is needed to access the content. The rules 612 may be stored in a rules database or may be listed as text documents and / or programs, as long as the content manager 124 can determine which rules 612 apply to the selected content.
[0111]
Proceeding to step 1320, the content manager 124 obtains content from the content database 438. In one embodiment, all content is stored in one database, and content manager 124 can search the database and retrieve the requested content.
[0112]
Proceeding to step 1330, the content manager 124 encrypts the content. Various known techniques may be used for the encryption technique. However, as described above, in one embodiment, the content manager 124 encrypts the content using the symmetric key and encrypts the symmetric key using the offer manager's public key. When the encrypted content 614 and the encrypted symmetric key are sent to the user computer 115, the user computer 115 cannot decrypt the content and cannot decrypt the symmetric key until it has the appropriate license.
[0113]
Proceeding to step 1340, the content manager 124 generates a cell header 616. Cell header 616 may include a unique identifier for the content, the store from which the content was derived, descriptive text, expiration information, and other information.
[0114]
Proceeding to step 1350, the content manager 124 adds the extracted rules 612, the encrypted multi-content 614, the cell header 616, and its own public certificate 618 to the content cell 210. At step 1360, content manager 124 "signs" content cell 210. As described above, the module that signs the content cell 210 must also include the module's public certificate in the cell. Accordingly, in step 1350, content manager 124, including its public certificate, enables the recipient to verify that it was content manager 124 that generated and transmitted content cell 210. After content manager 124 signs content cell 210, the process proceeds to end step 1370.
[0115]
B. Make a license cell
FIG. 14 shows a flowchart corresponding to one embodiment of forming the license cell 220. At a start step 1150, the process proceeds to step 1410 where the license manager 530 extracts the rules 712. As described above, the rules 712 inform what types of licenses and / or users can access various types of data and what is needed to access the content. The rules 712 may be stored in a rules database, or may be listed as a text document and / or program, as long as the license manager 530 can decrypt and determine which rules 712 apply.
[0116]
Proceeding to step 1420, the license manager 530 generates a license. Proceeding to step 1430, license manager 530 encrypts the license. Various known techniques can be used for the encryption technique. However, as described above, in one embodiment, license manager 530 encrypts the license using a symmetric key, and then encrypts the symmetric key using the user's public key. When the encrypted license 714 and the encrypted symmetric key are sent to the user computer 115, the user computer can decrypt the license.
[0117]
Proceeding to step 1440, license manager 530 generates cell header 716. Cell header 716 may include a unique identifier for the license cell, a unique identifier associated with the content, the store from which the content was derived, a descriptive text, information about the expiration date, and other information.
[0118]
Proceeding to step 1450, the license manager 530 adds the extracted contract 712, the encrypted license 714, the cell header 716, and its own public certificate 718 to the license cell 220. At step 1460, license manager 530 "signs" license cell 220. As described above, the module that signs the license cell 220 must include the module's public certificate in the cell. Accordingly, at step 1460, license manager 530, including its public certificate, allows the recipient to verify that license manager 530 has generated and transmitted license cell 220. After license manager 530 signs license cell 220, the process proceeds to end step 1470.
[0119]
In one embodiment, license manager 530 stores a copy of license cell information in license database 547 for later tracking of issued licenses.
VI. Conclusion
While certain preferred embodiments of the invention have been described, these embodiments are provided by way of example only and are not intended to limit the scope of the invention. Accordingly, the breadth and scope of the present invention should be determined only by the claims and the equivalents thereof.
[0120]
[Table 1]Addendum A
Figure 2004500643
ActivatedFwids table
Register all successful installations of the media center by the user. Assign the activated framework to each user. Currently, there is a one-to-one relationship between a user and an activated framework. There are plans to change this relationship so that one user can have multiple activated frameworks.
Before activating the framework, it must first be pending. When activated, copies all information about the framework in the PendingFwids table to the ActivatedFwids table. The backend then knows who the user is and which framework is used.
[Table 2]
Figure 2004500643
Field description
TimeStamp
Date and time when the framework was activated
FrameworkId
Framework unique identifier (eg, fwid0001.000000001101). Currently, it is one framework corresponding to one user account Id. There are plans to allow multiple activated frameworks Id for a user account Id.
CellId
A character string that uniquely identifies the framework Id cell. Each cell, including the framework Id cell, contract cell, and content cell, has a unique Id.
Email
The email account entered by the user when installing the media center.
RequestId
Verify which framework came from. Further increase security (ie, if the backend responds, try to activate and send the request Id; use it to prevent hackers).
UserHost
Not used now.
RemoteHost
Not used now.
Authentication
Boolean value. False indicates that the email address has not been authenticated. Indicates that the user received the backend confirmation email and clicked to complete registration. This process can authenticate or verify that the email address is correct because the backend knows that the user actually received the email.
UserAccountId
Same as user.
ValidThrough
Expiration date of framework Id (eg, 6 months, 1 year, etc.)
Administrators table
Contains a list of special users who are authorized to perform administrative tasks. The administrators in this list have nothing to do with the user. The administrator logs in as a media DNA employee and publisher with authority to manage Knowledge Star data.
[Table 3]
Figure 2004500643
Field description
Name
Administrator name or login account.
Password
Password for accessing the administrator account.
Email
E-mail address of administrator. Can communicate electronically with the administrator (eg, sending reports, statistics).
Phone
Administrator phone number.
PublisherId
Publications for which this administrator has authority.
Type
Defines the type of this administrator. Currently there are only two types, regular and super. Regular Administrators can only handle designated publishers and their publications. Super Administrators do not have this restriction. In other words, becoming a super administrator means disabling the PublisherId column. Valid values in this column are R and S.
ManageCorpAccounts
Indicates whether this administrator has authority to manage corporate accounts.
ManagePromoEmail
Indicates whether this administrator has the authority to manage promotional emails.
ArticleSync table
Represents a queue of DOIs (articles) to be updated on the dynamics database. This is for synchronizing the DOI list in the dynamics database with the DOI list on the Knowledge Star.
[Table 4]
Figure 2004500643
Field description
Doi
Doi of articles that need to be synchronized.
Operation
Explain what to do to synchronize articles between databases.
Currently, two operations, creation and update, are possible. Valid values are C and U.
Status
Describes the state of Operation. Three values are defined: Pending, In Progress, and Error. Valid values are P, I, E.
ErrorReason
If an error occurs during synchronization, Status is set to E and an error message enters this field.
BillableSummaries table
Lists a summary of all transactions made by a particular framework (user) as billing information for that account. One entry is the sum of a number of individual transactions in the BillableTransactions table.
[Table 5]
Figure 2004500643
Field description
TransactionId
Uniquely identify a group of transactions (one or many) of the user.
TimeStamp
Date and time when the transaction occurred.
AccountId
The user who made the transaction.
FirstName
User's first name.
LastName
Last name of the user.
Company
Workplace of the user. This field may be blank.
Email
Email address of the user.
AccountStatus
Define the status of a user account. The user account has inactive (0), guest use (1), member use (2), and group use (3) states. It can also be unused (4).
ServiceLevel
For providing different levels of service to different users in the future (eg, gold, silver, elite, etc.). Currently there are only two levels, guest and member.
NameForBilling
The name for the billing business for this user.
BillingAddress1
Billing address field No. 1
BillingAddress2
Billing address field No. 2
City
Billing address (city).
State
Billing address (state).
PostalCode
Billing postal code.
Country
Billing address (country).
CardType
Billing credit card type (Visa, Master, etc.).
EncryptedCardNumber
An encrypted credit card number. Encrypted for security.
EncryptionType
The encryption type used to encrypt the credit card number. Available are Basic (1), RSA (2), and SimpleHash (3).
CardExpirationMonth
Credit card expiration date (month).
CardExpirationYear
Credit card expiration date (year).
CountOfTransactions
The number of transactions grouped in this summary.
Amount
Transaction amounts grouped by this summary.
Comment
General comment field. Rarely used
BillableTransactions table
List individual billable transactions that have occurred on Knowledge Stars. Transactions occur each time a contract is issued.
[Table 6]
Figure 2004500643
Description of the field.
TransactionId
Identify the transaction as part of a group of transactions for a user.
TimeStamp
Date and time when this table was entered. Generally, when the user has accepted the credit card charge on the "Payments" page.
TransTime
Date and time when the transaction occurred. Time, days, or weeks prior to TimeStamp may be used. Generally, when a user purchases each document.
Description
Description of what transaction. It usually contains the title of the purchased article or is an introduction.
Doi
Articles traded.
AccountId
The user who transacted.
FrameworkId
Framework identification number used by the user.
PublicationId
The publication to which the article belongs.
TransType
Transaction type identified by number. Valid types are In Use (0), Introductory Credit (1), Purchase (2), and Summary (3).
Amount
Transaction amount.
Comment
Comments about the transaction. It is usually blank.
ClickThroughs table
Tracks each time a user clicks on a Knowledge Star to go to the published website.
[Table 7]
Figure 2004500643
Description of the field.
TimeStamp
The date and time of the click through.
FrameworkId
Click-through framework. We will track users who use this framework later.
PublicationCode
Publications that the user has clicked through.
ContractStats table
When stopping the backend, before exiting, record the number of transactions the backend took and the average time it took. This record is kept in this table. This table is not directly related to other tables in the backend star database. Request for debugging and system monitoring.
[Table 8]
Figure 2004500643
Field description
TimeStamp
The date and time when the backend finished executing.
NumberContracts
The number of contracts generated (issued) by the backend between the time the backend was last initialized and the time it is terminated this time.
AverageTime
Average time required to generate a contract. This value is used to monitor the performance of the contract generation code.
Comment
General comments. Usually displays a message that the backend has finished executing.
CreditCardNumbers table
Each user's credit card number is encrypted and stored. The type of encryption that encrypted the credit card number is also specified.
[Table 9]
Figure 2004500643
Field description
UserAccountId
Identify accounts that can use this card.
EncryptionType
The method used to encrypt the credit card number. Basic (1), RSA (2), and SimpleHash (3) can be used.
EncryptedCardNumber
An encrypted credit card number.
CurrentTransactions table
Stores information related to the transaction. An entry is made in the CurrentTransactions table for each contract. Entries may be debits or credits, or may delete these entries. Each time a user purchases an article, an Issued Contract entry and a CurrentTransaction entry are made.
[Table 10]
Figure 2004500643
Field description
TimeStamp
The date and time when the transaction was made.
Description
Explain the transaction target. It typically contains the title of the purchased article and information about the referral credit (ie, for a purchase transaction, the name of the article is entered).
Doi
Articles traded.
AccountId
Identify the user.
FrameworkId
Identify the framework that should handle this transaction.
PublicationId
Identify the issue of the traded article.
TransType
Transaction type identified by a number. Valid types are unused (0), referral credit (1), purchase (2), and summary (3).
Amount
The amount of this transaction.
Comment
General comment field.
DOIs table
Contains article-related information. Articles are also known as DOIs. Each DOI represents a DOI that can be handled by the Knowledge Star. This table is an inventory of articles, including all articles that the user will access, all content cells, and so on. This table is a naming servlet.
[Table 11]
Figure 2004500643
Field description
TimeStamp
Date and time when the DOI was registered.
Title
Article title.
PublicationId
The identification number of the issue to which this DOI belongs.
PublisherId
The identification number of the issuer to which this DOI belongs.
Url
Address at which the article cell is located (example: file: // d: \ dataDirectory \ cells \ com.cadcamnet_cad_018_01_01.mdna)
Price
The price of this article.
ValidFrom
Indicates the first date that this DOI can be accessed. Restrict access to articles.
ValidThrough
Indicates how long this DOI can be accessed. Restrict access to articles.
ContentCell
Indicates whether the cell specified by this DOI is a content cell. The value is true (1) or false (0).
EmailHistory table
Track email sent to specific users. The date the email was sent to the template user is also recorded.
[Table 12]
Figure 2004500643
Field description
TemplateId
Email template used. EmailTemplates. Foreign key to TemplateID.
DateSent
Date when the email was sent.
ToHeader
The email account from which the email was sent. Since the user can change this data in the customer profile, the user remembers the address actually used.
UserAccountId
The user receiving the email. Users. Foreign key to AccountId.
EmailTemplates table
This table contains a collection of templates that can be used by the system to generate email messages. To generate an e-mail message, the system takes the FromHeader, the SubjectHeader, and the Body from the database entries and uses them to compose the message. Templates are owned by a specific publisher or owned by the system.
[Table 13]
Figure 2004500643
Field description
TemplateId
This number uniquely identifies the template.
PublisherId
The publisher that owns this template. If this column is 0 (zero), it indicates that it is a system template.
Name
The name of this template. This name is unique among templates owned by this publisher.
CreationDate
Date when the template was created.
SubjectHeader
Subject line when sending e-mail with this template.
FromHeader
Define a FromHeader for emails sent using this template.
Body
Email content using this template.
ErrorLogDoi table
Record Doi related errors. The log includes the date the error occurred, the type of error, the framework (user) that issued the error, and the Doi attempted.
[Table 14]
Figure 2004500643
Field description
TimeStamp
Date and time when the error was recorded.
ErrorNumber
Error number that describes the nature of the error. Doi errors with high frequency are Doi not found (101) and Doi is unresolved (102).
Doi
Access to this article resulted in an error.
FrameworkId
Framework requesting failed articles.
RemoteADdr
Remote IP address where Doi error was issued.
RemoteHost
Remote host name where Doi error was issued.
ErrorLogFwid table
Logs FrameworkId related errors. The log contains the date the error occurred, the type of error, the framework (user) that issued the error, and the Doi attempted.
[Table 15]
Figure 2004500643
Description of the field.
TransactionId
A unique transaction number that identifies the error.
TimeStamp
Date and time when the error was recorded.
ErrorNumber
Number describing the error. Possible errors are no Fwid (2001), bad format (2002), unregistered (2003), account not found (2004), not activated (2005), expired (2006). .
FrameworkId
Framework involved in errors.
Doi
Doi involved in an error.
RemoteAddr
User IP address involved in the error.
RemoteHost
User host name involved in the error.
ExtraText
General comments.
ErrorLogFwidActivation table
Record errors related to activation of FrameworkId.
[Table 16]
Figure 2004500643
Field description
TimeStamp
Date and time when the error was recorded.
FrameworkId
Framework involved in errors.
CellId
A character string that uniquely identifies the ID cell of the framework that experienced the error.
Expires
The time at which the framework's ID cell expires.
UserHost
This column is no longer used.
RequestId
Request number.
RemoteAddr
User's IP address.
RemoteHost
This column is no longer used.
FrameworkReinstalls table
Count the number of times the user has attempted to reinstall the framework and assign a new framework identification number to the successful reinstallation.
[Table 17]
Figure 2004500643
Field description
TimeStamp
Date when the framework reinstallation was recorded.
FrameworkId
Previously installed framework.
InstFwid
Reinstalled framework.
ChainLength
Number of framework reinstalls attempted by the user. When the number of times reaches a predetermined limit, the user is not allowed to perform further reinstallation.
RemoteUser
This column is no longer used.
RemoteAddr
IP address of the user who reinstalled the framework.
RemoteHost
Host name of the user who reinstalled the framework.
FwidCellidNumberGenerator table
This is a mechanism for generating a unique cell number. Track the cell ID number. This table has no direct relationship to other tables in the Knowledge Star Database back end.
[Table 18]
Figure 2004500643
Field description
NextCellidNumber
Track the identification number of the next cell.
Group Publications table
Identify publications accessible by user group members.
[Table 19]
Figure 2004500643
Field description
GroupId
Group identification number.
PublicationId
Issue identification number.
Groups table
Stores group-related information. Corporate account Users are combined into one account as a corporate account.
[Table 20]
Figure 2004500643
Field description
GroupId
Group identification number. This number is unique.
Name
The name of the group.
Password
The password to access this group's account.
Type
A valid group account type. The currently permitted grape accounts are the demo account D and the standard account S. As each group account fee is paid, demo account users are promoted to standard accounts.
UserTTL
The number of days that this group's group account is valid.
PublicationId
Publications accessible to members of this group.
Expires
Expiration date of this group account.
GroupUsers table
Connect users to groups. Identify group members.
[Table 21]
Figure 2004500643
Field description
GroupId
Group identification number.
UserAccountId
User account identification number.
Expires
Expiration date of this group account for this user.
IssueContracts table
Record each contract issued when a particular user obtains an article. Each contract is entered into the framework (one contract per published article). These entries are stored forever, so that users are not charged for downloading the same article.
[Table 22]
Figure 2004500643
Field description
TransactionId
A unique number, an identifier for this transaction used for auditing.
TimeStamp
Date and time this transaction was created.
Doi
Indicates the article for which this contract was made.
ContractUrl
Identify where the contract cell is (contract cell will be destroyed after a while to clean the disk).
CellId
A character string that uniquely identifies the contract cell. Each cell has a unique ID, including framework ID cells, contract cells, and content cells.
FrameworkId
The framework ID can access the cell specified by Doi.
PublicationId
Indicates which issue the Doi of this contract belongs to.
Amount
The amount charged by the user. Used for debugging and tracking.
OnlineSubscriptionDefs table
Contains definitions for online subscriptions managed by Knowledge Star.
[Table 23]
Figure 2004500643
Field description
Description
Describe the characteristics of the online subscription.
PublicationId
Publications that support online subscriptions.
Price
The price to subscribe to this publication online.
PendingFwids table
List all frameworks that are pending. The pending framework usually belongs to the guest user. When PendingFwid is activated, its entries "move" from this table to the ActivatedFwids table.
[Table 24]
Figure 2004500643
Field description
CellId
A character string that uniquely defines the framework ID cell. Each cell has a unique ID including a framework ID cell, a contract cell, and a content cell.
FrameworkId
Pending framework.
Email
Guest user email with pending framework.
ValidThrough
Expiration date for which this pending framework is valid.
UserAccountId
User account that has this pending framework.
PromotionalEmail table
Register the characteristics and characteristics of each promotional email in the backend.
[Table 25]
Figure 2004500643
Field description
PublicationId
Publication related to this promotional email.
TemplateId
The template used for this promotional email.
Enabled
Indicates whether this promotional email is enabled.
EnableDate
The date this promotional email was enabled.
Publications table
Contains information about each publication on the Knowledge Star. A single publication may contain multiple articles or DOIs.
[Table 26]
Figure 2004500643
Field description
PublicationId
A unique number for each issue. Identify the issue internally.
Status
The status of the issue is "active" or "inactive".
PublicationCode
A short code that identifies the issue, usually a three-letter code (eg, csn, olr, cad).
ResourceFile
Indicates the file in which the publication is located (eg, c: \ back \ properties / ATContentCell.properties).
PublisherId
Issuer who owns this publication.
Domain
Issuer domain of this issue (eg, com.g2news, com.cadcamnet, etc.)
Name
Issue name.
ContentCellExtension
Cell format of the content of this issue (eg MDNA, XDNA)
UrlHomePage
The web address of this publication (eg: http://www.g2news.com/csnindex.html).
IntroCredit
Referral credits provided to users accessing articles from this publication. The amount is US dollar.
DefaultPrice
The default price of the article for this publication. The amount is US dollar.
FreeArticles
The number of free articles offered to users.
PermitPrinting
Indicates whether printing of articles in this publication is allowed. Valid values are true (1) or false (0).
PermitCopying
Indicates whether copying of articles in this publication is allowed. Valid values are true (1) or false (0).
Publishers table
Contains information from each publisher that has content on the Knowledge Star. An issuer may have multiple publications.
[Table 27]
Figure 2004500643
Field description
PublisherId
The issuer's unique identification number.
Status
The status of the issue is "active" or "inactive".
PublisherName
Issuer's name.
DefaultPrice
The default price of the article for this publication. The amount is US dollar.
TransactionNumberGenerator table
This is a mechanism for generating a unique transaction ID number. Store a unique transaction ID number. This table has no direct relationship to the Knowledge Star Database table.
[Table 28]
Figure 2004500643
Field description
NextTransactionNumber
Store the next transaction number.
UserBalances table
Keep a record of the user's credits and charges for a particular issue. There is an entry for the publication that the user has accessed.
[Table 29]
Figure 2004500643
Field description
UserAccountId
The user accessing the article.
PublicationId
The publication to which the accessed article belongs.
TimeCreditCreated
The date and time that this user was credited for articles from this publication.
AvailableCredit
Shows the amount of credit available in US dollars.
CreditApplied
The amount of credit applied is shown in US dollars.
CurrentCharges
The amount in US dollars charged to this user for articles from this publication.
HaveShownPricingTerms
Indicates whether the user has viewed the terms and conditions of this publication's article. Valid values are true (1) or false (0).
UserComments table
Store comments for each user. This table is used for customer support.
[Table 30]
Figure 2004500643
Field description
UserAccountId
The user whose comment is registered.
TimeStamp
Date and time when the comment was registered.
Comment
Comments for this user.
Users table
Stores Knowledge Star user account information. This information includes address, account status, credit, billing, etc. for each user. There is an entry for each user. If the user does anything that requires a framework ID number, an entry is created and the framework ID number is sent.
[Table 31]
Figure 2004500643
Field description
UserAccountId
Identify each user.
FirstName
User's first name.
LastName
Last name of the user.
Company
Workplace of the user. You can leave it blank.
Email
Email address of the user.
AccountCreationDate
Date this user account was created.
AccountStatus
User account status. The user account is inactive (0), guest (1), member (2), or group member (3). It is also possible to disable (4). "Guest" is a user who has not completely registered with Knowledge Star. “Member” is a user who has provided complete information including billing information.
CurrentCharges
The charge for this user account is expressed in US dollars.
CurrentCredits
The credit available to this user is expressed in US dollars.
OutstandingLimit
The limit that reminds the user to pay. Can be set for each user.
ServiceLevel
Try to provide users with different levels of service in the future (eg "gold", "silver", "elite", etc.). Currently there are two levels, "guest" and "member".
PromotionalEmail
Indicates whether the user wants a promotional email. Valid values are true (1) and false (0).
RemoteUser
This column is not used.
RemoteAddr
User's IP address.
RemoteHost
This column is not used.
NameForBilling
Billing name.
BillingAddress1
User billing address No. 1
BillingAddress2
User billing address No. 2
City
The user's address (city name).
State
The user's address (state).
PostalCode
Postal code of the user.
Country
The user's address (country name).
Password
User password.
PasswordEncryptionType
Encryption type that encrypted the user's password. Usable are Basic (1), RSA (2), and SimpleHash (3).
CardType
Credit card type (eg Visa, MasterCard, etc.)
CardAccountNumber
A credit card number that is safe to display, for example, “xxxxxxxxxxxxxxx1234”.
CardExpirationMonth
The month in which the credit card expires.
CardExpirationYear
Year when the credit card expires.
UserSync table
User queue waiting to be updated in the dynamics database. The main purpose is to synchronize the user list in the dynamics database with the user list in the Knowledge Star database.
[Table 32]
Figure 2004500643
Field description
UserAccountId
A user account for synchronizing both databases.
Operation
Describe what to do to synchronize articles between databases. Currently, two operations, Create and Update, are allowed. Valid values are C and U.
Status
Describes the state of Operation. Three values are defined: pending, ongoing, and error. Valid values are P, I, E.
ErrorReason
If an error occurs and Status is marked E, an error message is displayed here.
[Brief description of the drawings]
FIG.
FIG. 2 is a high-level block diagram of one embodiment of the present invention, illustrating the exchange of information between a license management system and a user computer.
FIG. 2
FIG. 3 is a high-level block diagram of one embodiment of the present invention, illustrating the flow of information between a content manager, an offer manager, and a user computer.
FIG. 3
FIG. 3 is a block diagram of an embodiment of the user computer of FIG. 2.
FIG. 4
FIG. 3 is a block diagram of one embodiment of the content manager of FIG. 2.
FIG. 5
FIG. 3 is a block diagram of one embodiment of the offer manager of FIG. 2.
FIG. 6a
FIG. 2 is a block diagram of one embodiment of a content cell.
FIG. 6b
FIG. 9 is a block diagram of another embodiment of a content cell.
FIG. 7a
FIG. 3 is a block diagram of one embodiment of a license cell.
FIG. 7b
FIG. 11 is a block diagram of another embodiment of a license cell.
FIG. 8
5 is a flowchart of one embodiment for providing a user with access to content.
FIG. 9
6 is a flowchart of an embodiment for transmitting content.
FIG. 10
6 is a flowchart of an embodiment for requesting a license.
FIG. 11
6 is a flowchart of an embodiment for transmitting a license.
FIG.
6 is a flowchart of an embodiment for checking content and license.
FIG. 13
6 is a flowchart of an embodiment for generating a content cell.
FIG. 14
6 is a flowchart of an embodiment for generating a license cell.

Claims (45)

データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセルを生成し、
ネットワークで計算機に前記データオブジェクトセルを送信し、
前記データオブジェクトセルに関係するライセンスオブジェクトセルを生成し、
前記ネットワークで前記計算機に前記ライセンスオブジェクトセルを送信し、
前記関係するライセンスオブジェクトセルの情報に基づいて前記データオブジェクトセルへのアクセスを許可する方法。
A method of granting access to a data object,
Create a data object cell,
Sending the data object cell to a computer over a network,
Generating a license object cell related to the data object cell;
Transmitting the license object cell to the computer on the network;
A method for granting access to said data object cell based on information of said related license object cell.
請求項1記載の方法であって、さらにデータオブジェクトセルを求めるユーザ要求を受信する方法。The method of claim 1, further comprising receiving a user request for a data object cell. 請求項1記載の方法であって、さらにライセンスオブジェクトを求めるユーザ要求を受信する方法。The method of claim 1, further comprising receiving a user request for a license object. 請求項1記載の方法であって、前記オブジェクトセルへのアクセスを許可することは、前記データオブジェクトセルに関係するライセンスオブジェクトセルが前記計算機上にあることを検証することを含む方法。The method of claim 1, wherein granting access to the object cell comprises verifying that a license object cell associated with the data object cell is on the computer. 請求項1記載の方法であって、前記データオブジェクトセルは少なくともデータコントロール要素及びデータオブジェクトを含む方法。The method of claim 1, wherein the data object cell includes at least a data control element and a data object. 請求項5記載の方法であって、少なくとも前記データオブジェクトを暗号化する方法。The method of claim 5, wherein at least the data object is encrypted. 請求項1記載の方法であって、少なくとも前記ライセンスオブジェクトセルの一部は暗号化される方法。The method of claim 1, wherein at least a portion of the license object cell is encrypted. 請求項1記載の方法であって、さらに
前記データオブジェクトセルに関係するデータロケーションセルを引出し、
ネットワークで計算機に前記データロケーションセルを送信し、
関係するライセンスオブジェクトセルの情報に基づいて前記データロケーションセルへのアクセスを許可する方法。
The method of claim 1, further comprising: retrieving a data location cell associated with the data object cell;
Transmitting the data location cell to a computer over a network,
A method of granting access to said data location cell based on information of an associated license object cell.
データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセルを引出し、
ネットワークで計算機に前記データオブジェクトセルを送信し、
少なくともひとつのデータオブジェクトセルに関係するライセンスオブジェクトセルを引出し、
ネットワークで前記計算機に前記ライセンスオブジェクトセルを送信し、
関係するライセンスオブジェクトセルの情報に基づき前記データオブジェクトセルへのアクセスを許可する方法。
A method of granting access to a data object,
Pull out the data object cell,
Sending the data object cell to a computer over a network,
Draw a license object cell related to at least one data object cell,
Sending the license object cell to the computer over a network,
A method for permitting access to said data object cell based on information of a related license object cell.
請求項9記載の方法であって、さらにデータオブジェクトセルを求めるユーザ要求を受信する方法。The method of claim 9, further comprising receiving a user request for a data object cell. 請求項9記載の方法であって、さらにライセンスオブジェクトを求めるユーザ要求を受信する方法。The method of claim 9, further comprising receiving a user request for a license object. 請求項9記載の方法であって、前記データオブジェクトセルへのアクセスを許可することは、前記データオブジェクトセルに関係するライセンスオブジェクトセルが前記計算機にあることを検証することを含む方法。10. The method of claim 9, wherein granting access to the data object cell comprises verifying that a license object cell associated with the data object cell is on the computer. 請求項9記載の方法であって、前記オブジェクトセルは少なくともひとつのデータコントロール要素とデータオブジェクトを含む方法。The method of claim 9, wherein the object cell includes at least one data control element and a data object. 請求項13記載の方法であって、さらに少なくとも前記データオブジェクトを暗号化する方法。14. The method of claim 13, further comprising encrypting at least the data object. 請求項9記載の方法であって、少なくとも前記ライセンスオブジェクトセルの一部分は暗号化される方法。The method of claim 9, wherein at least a portion of the license object cell is encrypted. 請求項9記載の方法であって、さらにデータオブジェクトセルを生成する方法。The method of claim 9, further comprising generating a data object cell. 請求項9記載の方法であって、さらにライセンスオブジェクトセルを生成する方法。The method of claim 9, further comprising generating a license object cell. 請求項9記載の方法であって、前記データオブジェクトセルと前記ライセンスオブジェクトセルは少なくともひとつのユニークな識別子で関係付けられる方法。The method of claim 9, wherein the data object cell and the license object cell are related by at least one unique identifier. データオブジェクトを管理する方法であって、
第1の計算機にデータオブジェクトを求める要求を送信し、
前記第1の計算機から前記要求したデータオブジェクトに関係するデータオブジェクトセルを受信し、
第2の計算機に前記データオブジェクトセルに関係するライセンスオブジェクトを求める要求を送信し、
前記第2の計算機から前記要求したライセンスオブジェクトに関係するライセンスオブジェクトセルを受信し、
前記関係するライセンスオブジェクトセルの情報に基づき前記データオブジェクトセルへのアクセスを許可する方法。
A method of managing data objects,
Sending a request for a data object to the first computer,
Receiving a data object cell relating to the requested data object from the first computer;
Sending a request for a license object associated with the data object cell to a second computer;
Receiving a license object cell related to the requested license object from the second computer;
A method for permitting access to the data object cell based on information of the related license object cell.
請求項19記載の方法であって、前記第1の計算機と前記第2の計算機は同一の計算機である方法。20. The method according to claim 19, wherein said first computer and said second computer are the same computer. データオブジェクトを管理する方法であって、
ネットワークノードからデータオブジェクトを求める要求を受信し、
前記要求されたデータオブジェクトに付随するデータオブジェクトセルを特定し、
前記ネットワークノードに前記データオブジェクトセルを送信し、
前記データオブジェクトセルへのアクセスは関係するライセンスオブジェクトセルを必要とする方法。
A method of managing data objects,
Receiving a request for a data object from a network node;
Identifying a data object cell associated with the requested data object;
Transmitting the data object cell to the network node;
The method wherein accessing the data object cell requires an associated license object cell.
請求項21記載の方法であって、さらに、
前記データオブジェクトセルに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくとも前記データオブジェクトセルへのアクセスを許可する方法。
22. The method of claim 21, further comprising:
Accessing a license object cell related to the data object cell;
Transmitting the license object cell to the network node;
A method wherein the license object cell grants access to at least the data object cell.
データオブジェクトを管理する方法であって、
ネットワークノードからライセンスオブジェクトを求める要求を受信し、
前記要求されたライセンスオブジェクトに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくともひとつのデータオブジェクトセルへのアクセスを許可する方法。
A method of managing data objects,
Receiving a request for a license object from a network node;
Accessing a license object cell associated with the requested license object;
Transmitting the license object cell to the network node;
A method wherein the license object cell permits access to at least one data object cell.
ネットワークであって、
前記ネットワークに結合したユーザノードが設けられ、前記ユーザノードはユーザマネージャモジュールを含み、ネットワークにデータオブジェクト及び関係するライセンスオブジェクトを求める要求をし、
前記ネットワークに結合したコンテントマネージャノードが設けられ、前記コンテントサーバノードは前記ネットワークからデータオブジェクトを求める要求を受信し、要求されたデータオブジェクトを引出し、前記ネットワークからのデータオブジェクトを求める前記要求に応答し、
前記ネットワークに結合したライセンスマネージャノードが設けられ、前記コンテントサーバノードは前記ネットワークから関係するライセンスオブジェクトを求める要求を受信し、要求された関係するライセンスオブジェクトを引出し、前記ネットワークからの関係するライセンスオブジェクトを求める前記要求に応答するネットワーク。
Network
Providing a user node coupled to said network, said user node including a user manager module for requesting the network for data objects and related license objects;
A content manager node is provided coupled to the network, wherein the content server node receives a request for a data object from the network, retrieves the requested data object, and responds to the request for a data object from the network. ,
A license manager node coupled to the network, wherein the content server node receives a request for a related license object from the network, retrieves the requested related license object, and retrieves the related license object from the network. A network that responds to the request for a request.
ネットワークであって、
データオブジェクトの供給を求める要求に応答するコンテントマネージャノードが設けられ、
少なくともひとつのデータオブジェクトに関係するライセンスオブジェクトの供給を求める要求に応答するライセンスマネージャノードが設けられ、
前記関係するライセンスオブジェクトを伴う前記データオブジェクトへのアクセスを提供するユーザノードが設けられたネットワーク。
Network
A content manager node is provided that responds to requests for the supply of data objects,
A license manager node is provided responsive to a request for a supply of a license object associated with at least one data object;
A network provided with a user node providing access to said data object with said associated license object.
請求項25記載のネットワークであって、前記ユーザノードはさらに
一以上のデータオブジェクトを要求するユーザインターフェイスをユーザに提供し、
前記コンテントマネージャノードから選ばれたデータオブジェクトを求める要求を出し、
前記ユーザノードがデータオブジェクト及びライセンスオブジェクトへのアクセスできるか決定するネットワーク。
26. The network of claim 25, wherein the user node further provides a user interface for requesting one or more data objects,
Issuing a request for a selected data object from the content manager node;
A network that determines whether the user node has access to data objects and license objects.
データオブジェクトを管理するシステムであって、
データオブジェクトを求める要求を受信し、前記データオブジェクトを引出し、前記要求されたデータオブジェクトを送信するコンテントモジュールが設けられ、
前記データオブジェクトに関係するライセンスオブジェクトを求める要求を受信し、前記データオブジェクトに関係するライセンスオブジェクトを引出し、前記要求されたライセンスオブジェクトを送信するライセンスモジュールが設けられたシステム。
A system for managing data objects,
A content module is provided for receiving a request for a data object, retrieving the data object, and transmitting the requested data object;
A system comprising a license module for receiving a request for a license object associated with the data object, extracting a license object associated with the data object, and transmitting the requested license object.
データオブジェクトを管理するシステムであって、
前記データオブジェクトを管理する手段が設けられ、
前記ライセンスオブジェクトを管理する手段が設けられ、
少なくとも関係するライセンスオブジェクトに基づき前記データオブジェクトへのアクセスを許可する手段が設けられたシステム。
A system for managing data objects,
Means for managing the data object are provided,
Means for managing the license object is provided,
A system provided with means for granting access to said data object based at least on a related license object.
データオブジェクトへのアクセスを許可する方法であって、
データオブジェクトセル引出手段が設けられ、
データオブジェクトセル送信手段が設けられ、
ライセンスオブジェクトセル引出手段が設けられ、
ライセンスオブジェクトセル送信手段が設けられ、
アクセス許可手段が設けられた方法。
A method of granting access to a data object,
Data object cell extracting means is provided,
Data object cell transmission means is provided,
License object cell withdrawal means is provided,
A license object cell transmission means is provided;
A method provided with access permission means.
データオブジェクトセルであって、
データコントロール要素及びデータオブジェクトが設けられたデータオブジェクトセル。
A data object cell,
A data object cell provided with data control elements and data objects.
請求項30記載のデータオブジェクトセルであって、前記データオブジェクトは暗号化されているデータオブジェクトセル。31. The data object cell of claim 30, wherein the data object is encrypted. 請求項30記載のデータオブジェクトセルであって、さらにセルヘッダーが設けられたデータオブジェクトセル。31. The data object cell of claim 30, further comprising a cell header. 請求項30記載のデータオブジェクトセルであって、さらに少なくともひとつの公開証明書が設けられたデータオブジェクトセル。31. The data object cell according to claim 30, further comprising at least one public certificate. 請求項30記載のデータオブジェクトセルであって、さらに少なくともひとつの署名が設けられたデータオブジェクトセル。31. The data object cell according to claim 30, further comprising at least one signature. ライセンスオブジェクトセルであって、
ライセンスコントロール要素及びライセンスオブジェクトが設けられたライセンスオブジェクトセル。
A license object cell,
A license object cell in which a license control element and a license object are provided.
請求項30記載のライセンスオブジェクトセルであって、前記ライセンスオブジェクトは暗号化されているライセンスオブジェクトセル。31. The license object cell of claim 30, wherein the license object is an encrypted license object cell. 請求項30記載のライセンスオブジェクトセルであって、さらにセルヘッダーが設けられたライセンスオブジェクトセル。31. The license object cell of claim 30, further comprising a cell header. 請求項30記載のライセンスオブジェクトセルであって、少なくともひとつの公開証明書がさらに設けられたライセンスオブジェクトセル。31. The license object cell according to claim 30, further comprising at least one public certificate. 請求項30記載のデータオブジェクトセルであって、少なくともひとつの署名がさらに設けられたデータオブジェクトセル。31. The data object cell according to claim 30, further comprising at least one signature. データベーススキーマであって、
ユーザデータと、
コンテントデータと、
ライセンスデータを関係づけるデータベーススキーマ。
The database schema,
User data,
Content data,
Database schema that associates license data.
請求項40記載のデータベーススキーマであって、前記ユーザデータはグループデータを含むデータベーススキーマ。41. The database schema according to claim 40, wherein the user data includes group data. 請求項40記載のデータベーススキーマであって、前記コンテントデータは
発行者データが設けられ、
発行物データが設けられ、
アーティクルデータが設けられたデータベーススキーマ。
41. The database schema of claim 40, wherein the content data is provided with publisher data,
Publication data is provided,
Database schema with article data.
請求項40記載のデータベーススキーマであって、前記コンテントデータはサブスクリプションデータが設けられたデータベーススキーマ。41. The database schema according to claim 40, wherein the content data is provided with subscription data. 請求項40記載のデータベーススキーマであって、前記コンテントデータは課金データが設けられたデータベーススキーマ。41. The database schema according to claim 40, wherein the content data is provided with accounting data. 請求項40記載のデータベーススキーマであって、前記ライセンスデータは発行されたライセンスデータが設けられたデータベーススキーマ。41. The database schema according to claim 40, wherein the license data is provided with issued license data.
JP2001550610A 1999-12-30 2000-12-22 System and method for providing an electronic license Pending JP2004500643A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47483099A 1999-12-30 1999-12-30
PCT/US2000/035103 WO2001050319A2 (en) 1999-12-30 2000-12-22 System and method for providing electronic licenses

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011165992A Division JP2011222047A (en) 1999-12-30 2011-07-28 System and method for providing electronic license

Publications (2)

Publication Number Publication Date
JP2004500643A true JP2004500643A (en) 2004-01-08
JP2004500643A5 JP2004500643A5 (en) 2005-01-20

Family

ID=23885110

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001550610A Pending JP2004500643A (en) 1999-12-30 2000-12-22 System and method for providing an electronic license
JP2011165992A Pending JP2011222047A (en) 1999-12-30 2011-07-28 System and method for providing electronic license
JP2013007668A Expired - Lifetime JP5793767B2 (en) 1999-12-30 2013-01-18 System and method for providing an electronic license

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2011165992A Pending JP2011222047A (en) 1999-12-30 2011-07-28 System and method for providing electronic license
JP2013007668A Expired - Lifetime JP5793767B2 (en) 1999-12-30 2013-01-18 System and method for providing an electronic license

Country Status (4)

Country Link
EP (1) EP1423807A2 (en)
JP (3) JP2004500643A (en)
AU (1) AU2594501A (en)
WO (1) WO2001050319A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101670A (en) * 1999-12-30 2013-05-23 Rovi Solutions Corp System and method for providing electronic license
JP2019164594A (en) * 2018-03-20 2019-09-26 富士ゼロックス株式会社 Information processing device and program

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE504085C2 (en) 1995-02-01 1996-11-04 Greg Benson Methods and systems for managing data objects in accordance with predetermined conditions for users
KR101020342B1 (en) * 2003-01-27 2011-03-08 파나소닉 주식회사 Digital content distribution system
DE10308932B4 (en) * 2003-02-28 2013-08-01 Siemens Aktiengesellschaft A method for signaling control instructions to a telecommunications device
US10437964B2 (en) * 2003-10-24 2019-10-08 Microsoft Technology Licensing, Llc Programming interface for licensing
WO2016161558A1 (en) * 2015-04-07 2016-10-13 华为技术有限公司 Network device, user equipment and downlink data transmission method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040100A (en) * 1996-03-29 1998-02-13 Internatl Business Mach Corp <Ibm> Method for preparing cipher envelope

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2594501A (en) * 1999-12-30 2001-07-16 Macrovision Corporation System and method for providing electronic licenses

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040100A (en) * 1996-03-29 1998-02-13 Internatl Business Mach Corp <Ibm> Method for preparing cipher envelope

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101670A (en) * 1999-12-30 2013-05-23 Rovi Solutions Corp System and method for providing electronic license
JP2019164594A (en) * 2018-03-20 2019-09-26 富士ゼロックス株式会社 Information processing device and program

Also Published As

Publication number Publication date
JP2011222047A (en) 2011-11-04
WO2001050319A2 (en) 2001-07-12
JP2013101670A (en) 2013-05-23
AU2594501A (en) 2001-07-16
EP1423807A2 (en) 2004-06-02
WO2001050319A8 (en) 2004-03-25
JP5793767B2 (en) 2015-10-14

Similar Documents

Publication Publication Date Title
US6675153B1 (en) Transaction authorization system
US20030208406A1 (en) Method and apparatus for processing one or more value bearing instruments
EP0913789B1 (en) Pre-paid links to networks servers
JP5793767B2 (en) System and method for providing an electronic license
US20030120557A1 (en) System, method and article of manufacture for an internet based distribution architecture
US20040128516A1 (en) Method and apparatus for verifying bearing instruments
US20030154387A1 (en) System, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher
US20060041748A1 (en) System and method for data rights management
US20050038707A1 (en) Methods and apparatus for enabling transactions in networks
WO1998019224A2 (en) Controlled transfer of information in computer networks
US20030126033A1 (en) System, method and article of manufacture for software source authentication for return purposes
US6349288B1 (en) Architecture for access over a network to pay-per-view information
EP1810208A2 (en) Software distribution framework
JP2001160109A (en) Device and method for information processing, and recording medium
JP2003044607A (en) Personal information integrated management system, its program, and medium recording the program
WO2001001319A1 (en) A system, method and article of manufacture for a customer profile-tailored support interface in an electronic software distribution environment
JP2004500643A5 (en)
JP2001273259A (en) System and method for user authentication and recording medium recorded with program for performing user authentication
JP2004326250A (en) Price information management server, method, and program
US20040143554A1 (en) Method and apparatus for generating a value bearing instrument
WO2001073709A2 (en) Method and apparatus for processing one or more value bearing instruments
WO2001001316A2 (en) A system, method and article of manufacture for an electronic software distribution, post-download payment scheme with encryption capabilities
WO2001001225A1 (en) A system, method and article of manufacture for automatically generating a tailored license agreement
EP1269715A2 (en) Method and apparatus for verifying value bearing instruments
EP1632831A1 (en) System and method for data rights management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110728