JP2004500643A - System and method for providing an electronic license - Google Patents
System and method for providing an electronic license Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 29
- 230000008569 process Effects 0.000 description 49
- 238000007726 management method Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 9
- 230000001737 promoting effect Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000013515 script Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013497 data interchange Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013474 audit trail Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 108020004414 DNA Proteins 0.000 description 1
- 235000009754 Vitis X bourquina Nutrition 0.000 description 1
- 235000012333 Vitis X labruscana Nutrition 0.000 description 1
- 240000006365 Vitis vinifera Species 0.000 description 1
- 235000014787 Vitis vinifera Nutrition 0.000 description 1
- 108091060592 XDNA Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- QPUKANZXOGADOB-UHFFFAOYSA-N n-dodecyl-n-methylnitrous amide Chemical compound CCCCCCCCCCCCN(C)N=O QPUKANZXOGADOB-UHFFFAOYSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, 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
ActivatedFwidsテーブル
ユーザによるメディアセンターのすべての成功したインストレーションを登録する。各ユーザに活性化したフレームワークを割当てる。現在、ユーザと活性化したフレームワークの間には一対一の関係がある。この関係を変更して、一人のユーザが複数の活性化したフレームワークを持てるようにする計画がある。
フレームワークを活性化する前に、まずペンディングしなければならない。活性化する時、PendingFwidsテーブル中のフレームワークに関するすべての情報をActivatedFwidsテーブルにコピーする。バックエンドは、この時、ユーザが誰で、どのフレームワークが使われるか分かる。
【表2】
フィールドの説明
TimeStamp
フレームワークが活性化された日付と時間
FrameworkId
フレームワークユニーク識別子(例:fwid0001.0000001101)。現在、一ユーザアカウントIdに対応して一フレームワークである。ユーザアカウントIdに複数の活性化されたフレームワークIdを許容する計画がある。
CellId
フレームワークIdセルをユニークに識別する文字ストリング。フレームワークIdセル、コントラクトセル、コンテントセルを含む各セルはユニークなIdを有する。
Email
メディアセンターをインストールした時にユーザが入力した電子メールアカウント。
RequestId
どのフレームワークから来たものかを検証する。さらにセキュリティーを高める(即ち、バックエンドが応答する場合、要求Idを活性化し送信するよう試みる。ハッカーを予防するために使う)。
UserHost
今は使用していない。
RemoteHost
今は使用していない。
Authentication
ブール値。偽は電子メールアドレスが認証されていないことを表す。ユーザがバックエンドの確認電子メールを受信し、登録を完了すためにクリックしたことを示す。このプロセスは、ユーザが実際に電子メールを受信したことがバックエンドに分かるので、電子メールアドレスが正しいものであることを認証、または検証できる。
UserAccountId
ユーザと同じ。
ValidThrough
フレームワークIdの有効期限(例:6ヶ月、1年等)
Administratorsテーブル
管理業務を行う権限を有する特別なユーザのリストを含む。このリスト中のアドミニストレータはユーザとは何の関係もない。アドミニストレータは、ナレッジスターのデータを管理できる権限を有するメディアDNA社員及び発行者としてログインする。
【表3】
フィールドの説明
Name
アドミニストレータの名前またはログインアカウント。
Password
アドミニストレータアカウントにアクセスするためのパスワード。
Email
アドミニストレータの電子メールアドレス。アドミニストレータと電子的に通信可能である(例:レポート、統計の送信)。
Phone
アドミニストレータの電話番号。
PublisherId
このアドミニストレータが管理する権限を持つ発行物。
Type
このアドミニストレータのタイプを定義する。現在はレギュラーとスーパーの2タイプのみ。レギュラーアドミニストレータは指定された発行者とその発行物のみ取り扱える。スーパーアドミニストレータにはこの制限は無い。言い換えれば、スーパーアドミニストレータになるということは、PublisherIdコラムを無効とすることである。このコラムで有効な値はRとSである。
ManageCorpAccounts
このアドミニストレータがコーポレートアカウントを管理する権限を有するかを示す。
ManagePromoEmail
このアドミニストレータが販促電子メールを管理する権限を有するかを示す。
ArticleSyncテーブル
ダイナミクスデータベース上でアップデートすべきDOI(アーティクル)の待ち行列を表す。ダイナミクスデータベース中のDOIリストをナレッジスター上のDOIリストと同期するためである。
【表4】
フィールドの説明
Doi
同期する必要があるアーティクルのDoi。
Operation
データベース間でアーティクルを同期するには何をすべきかを説明する。
現在、作成と更新という二つのOperationが可能である。有効な値はCとUである。
Status
Operationの状態を記述する。未決定(Pending)、進行中、エラーの3つの値が定義されている。有効な値はP、I、Eである。
ErrorReason
同期中にエラーが発生した場合、StatusがEに設定され、エラーメッセージがこのフィールドに入る。
BillableSummariesテーブル
特定のフレームワーク(ユーザ)によってなされたすべての取引の要約を、そのアカウントへの課金情報としてリストする。一つのエントリーはBillableTransactionsテーブル中のたくさんの個別取引の合計である。
【表5】
フィールドの説明
TransactionId
ユーザの一群の取引(一つまたは多数の)をユニークに識別する。
TimeStamp
取引が発生した日付と時刻。
AccountId
取引を行ったユーザ。
FirstName
ユーザのファーストネーム。
LastName
ユーザのラストネーム。
Company
ユーザの勤務先。このフィールドは空欄でも良い。
Email
ユーザの電子メールアドレス。
AccountStatus
ユーザアカウントの状態を定義する。ユーザアカウントには不活性(0)、ゲスト使用(1)、メンバー使用(2)、グループ使用(3)の状態がある。不使用(4)とすることもできる。
ServiceLevel
将来、ユーザによって異なったレベルのサービスを提供するためのもの(例えば、ゴールド、シルバー、エリート等)。現在はゲストとメンバーという二つのレベルのみ。
NameForBilling
このユーザに対する課金業務のための名前。
BillingAddress1
請求先住所フィールドNo.1
BillingAddress2
請求先住所フィールドNo.2
City
請求先住所(都市)。
State
請求先住所(州)。
PostalCode
請求先郵便番号。
Country
請求先住所(国)。
CardType
請求用クレジットカードタイプ(ビザ、マスター等)。
EncryptedCardNumber
暗号化されたクレジットカード番号。セキュリティのために暗号化されている。
EncryptionType
クレジットカード番号を暗号化するのに使われた暗号タイプ。使えるのはBasic(1)、RSA(2)、SimpleHash(3)である。
CardExpirationMonth
クレジットカードの有効期限(月)。
CardExpirationYear
クレジットカードの有効期限(年)。
CountOfTransactions
この要約書でグループ化された取引数。
Amount
この要約書でグループ化された取引の金額。
Comment
一般的なコメントフィールド。ほとんど使わない。
BillableTransactionsテーブル
ナレッジスターで発生した課金可能な個々の取引をリストする。契約を発行するたびに取引が発生する。
【表6】
フィールドの説明。
TransactionId
一ユーザの一群の取引の一部として取引を識別する。
TimeStamp
このテーブルにエントリーされた日時。一般的には、ユーザが「支払い」ページにおいてクレジットカードへの課金を承諾した時である。
TransTime
取引が発生した日時。TimeStampに先立つ時間、日数、週数でも良い。一般的にはユーザが各ドキュメントを購入した時である。
Description
何の取引かの記述。通常は購入されたアーティクルのタイトルを含み、または紹介文である。
Doi
取引されたアーティクル。
AccountId
取引したユーザ。
FrameworkId
ユーザが使用するフレームワーク識別番号。
PublicationId
アーティクルが属する発行物。
TransType
番号によって識別される取引タイプ。有効なタイプは、使用中(0)、導入クレジット(1)、購入(2)、要約(3)である。
Amount
取引金額。
Comment
取引に関するコメント。通常は空欄である。
ClickThroughsテーブル
ユーザが発行されたウェブサイトに行くのにナレッジスターをクリックするたびにトラッキングする。
【表7】
フィールドの説明。
TimeStamp
クリックスルーされた日時。
FrameworkId
クリックスルーしたフレームワーク。後でこのフレームワークを使っているユーザまでトラッキングする。
PublicationCode
ユーザがクリックスルーし終わった発行物。
ContractStatsテーブル
バックエンドをとめる時、エグジットする前に、バックエンドが取引数とそれに要した平均時間を記録する。この記録がこのテーブルに保管される。このテーブルはバックエンドスターデータベースの他のテーブルと直接関係は無い。デバッグ及びシステムモニタリングを依頼中である。
【表8】
フィールドの説明
TimeStamp
バックエンドが実行を終了した日時。
NumberContracts
バックエンドが前回初期化されてから今回終了されるまでに、バックエンドにより生成(発行)されたコントラクト数。
AverageTime
コントラクト生成に要した平均時間。この値は契約生成コードの性能をモニターするために使われる。
Comment
一般的なコメント。普通、バックエンドが実行終了したとのメッセージを表示する。
CreditCardNumbersテーブル
各ユーザのクレジットカード番号を暗号化して保管する。クレジットカード番号を暗号化した暗号化のタイプも特定される。
【表9】
フィールドの説明
UserAccountId
このカードが使用可能なアカウントを特定する。
EncryptionType
クレジットカード番号を暗号化するのに使用した方法。使用できるのは、Basic(1)、RSA(2)、SimpleHash(3)である。
EncryptedCardNumber
暗号化されたクレジットカード番号。
CurrentTransactionsテーブル
取引に関連した情報を保存する。各契約についてCurrentTransactionsテーブルにエントリーがなされる。エントリーは借方または貸方でも良いし、これらのエントリーを消去するものでも良い。ユーザがアーティクルを購入するたびに、IssuedContractエントリーとCurrentTransactionエントリーがなされる。
【表10】
フィールドの説明
TimeStamp
取引のなされた日時。
Description
取引対象を説明する。通常、購入されたアーティクルのタイトルを含み、紹介クレジットに関する情報を含む(即ち、購入取引の場合、アーティクルの名称が入力される)。
Doi
取引されたアーティクルである。
AccountId
ユーザを特定する。
FrameworkId
この取引を処理すべきフレームワークを特定する。
PublicationId
取引されたアーティクルの発行物を特定する。
TransType
数字で特定された取引タイプ。有効なタイプは未使用(0)、紹介クレジット(1)、購入(2)、要約(3)である。
Amount
この取引の金額である。
Comment
一般的なコメントフィールド。
DOIsテーブル
アーティクル関係の情報が入っている。アーティクルはDOIとしても知られている。各DOIはナレッジスターで取り扱えるDOIを表す。このテーブルはアーティクルの在庫であり、ユーザがアクセスするだろうすべてのアーティクル、すべてのコンテントセルなどを含む。このテーブルはネーミングサーブレットである。
【表11】
フィールドの説明
TimeStamp
DOIが登録された日時。
Title
アーティクルのタイトル。
PublicationId
このDOIが属する発行物の識別番号。
PublisherId
このDOIが属する発行者の識別番号。
Url
アーティクルセルがあるアドレス(例:file:///d:¥dataDirectory¥cells¥com.cadcamnet_cad_018_01_01.mdna)
Price
このアーティクルの価格。
ValidFrom
このDOIにアクセス可能となる最初の日を示す。アーティクルへのアクセスを制限する。
ValidThrough
このDOIにいつまでアクセスできるか示す。アーティクルへのアクセスを制限する。
ContentCell
このDOIで特定されたセルがコンテントセルかどうかを示す。値は真(1)または偽(0)である。
EmailHistoryテーブル
特定のユーザに送信された電子メールをトラッキングする。電子メールがテンプレートユーザに送信された日付も記録される。
【表12】
フィールドの説明
TemplateId
使用した電子メールテンプレート。EmailTemplates.TemplateIDへの外部キー。
DateSent
電子メールが送信された日付。
ToHeader
電子メールが送信された電子メールアカウント。ユーザはこのデータをカスタマープロファイルで変更できるので、実際に使用されたアドレスを記憶している。
UserAccountId
電子メールを受信するユーザ。Users.AccountIdへの外部キーである。
EmailTemplatesテーブル
このテーブルは、電子メールメッセージを生成するためにシステムが使用できるテンプレートの集まりを収容している。電子メールメッセージを生成するには、システムはデータベースのエントリーからFromHeader、SubjectHeader、Bodyを取り、メッセージを組み立てるのに使用する。テンプレートは特定の発行者が保有するか、システムが保有する。
【表13】
フィールドの説明
TemplateId
この番号によりテンプレートがユニークに特定される。
PublisherId
このテンプレートを所有する発行者。この欄が0(ゼロ)の場合はシステムテンプレートであることを示す。
Name
このテンプレートの名前。この名前は、この発行者が所有するテンプレート中でユニークである。
CreationDate
テンプレートが作成された日付。
SubjectHeader
このテンプレートで電子メールを送信する時のSubjectライン。
FromHeader
このテンプレートを使用して送信される電子メールのFromHeaderを定義する。
Body
このテンプレートを使った電子メールの内容。
ErrorLogDoiテーブル
Doi関係のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、及び試みられたDoiがこのログに含まれる。
【表14】
フィールドの説明
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーの内容を記述するエラー番号。頻度が高いDoiエラーは、Doiが見つからない(101)とDoiが解決されていない(unresolved)(102)である。
Doi
このアーティクルに対するアクセスがエラーとなった。
FrameworkId
失敗したアーティクルを要求しているフレームワーク。
RemoteADdr
Doiエラーが発行されたリモートIPアドレス。
RemoteHost
Doiエラーが発行されたリモートホスト名。
ErrorLogFwidテーブル
FrameworkId関連のエラーを記録する。エラーが発生した日付、エラーのタイプ、エラーが発行されたフレームワーク(ユーザ)、試みられたDoiがこのログに含まれる。
【表15】
フィールドの説明。
TransactionId
エラーを特定するユニークな取引番号。
TimeStamp
エラーが記録された日付と時刻。
ErrorNumber
エラーを記述する番号。起こりえるエラーは、Fwidが無い(2001)、フォーマットが良くない(2002)、未登録(2003)、アカウントが見つからない(2004)、活性化されていない(2005)、期限超過(2006)である。
FrameworkId
エラーに巻き込まれたフレームワーク。
Doi
エラーに巻き込まれたDoi。
RemoteAddr
エラーに巻き込まれたユーザIPアドレス。
RemoteHost
エラーに巻き込まれたユーザホスト名。
ExtraText
一般的なコメント。
ErrorLogFwidActivationテーブル
FrameworkIdの活性化に関するエラーを記録する。
【表16】
フィールドの説明
TimeStamp
エラーが記録された日付及び時刻。
FrameworkId
エラーに巻き込まれたフレームワーク。
CellId
エラーを経験したフレームワークのIDセルをユニークに特定する文字ストリング。
Expires
フレームワークのIDセルが期限切れとなる時間。
UserHost
このカラムはもう使用しない。
RequestId
要求番号。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムはもう使用しない。
FrameworkReinstallsテーブル
ユーザがフレームワークをリインストールしようと試みた回数をカウントし、成功したリインストールに新しいフレームワーク識別番号を割当てる。
【表17】
フィールドの説明
TimeStamp
フレームワークのリインストールが記録された日付。
FrameworkId
以前インストールされたフレームワーク。
InstFwid
リインストールされたフレームワーク。
ChainLength
ユーザが試みたフレームワークのリインストールの数。回数が所定の制限に達したら、そのユーザはそれ以上のリインストールを許されない。
RemoteUser
このカラムはもう使われていない。
RemoteAddr
フレームワークをリインストールしたユーザのIPアドレス。
RemoteHost
フレームワークをリインストールしたユーザのホスト名。
FwidCellidNumberGeneratorテーブル
ユニークなセル番号を生成するメカニズムである。セルID番号をトラッキングする。このテーブルはナレッジスターデータベースのバックエンドの他のテーブルとは直接的な関係を持たない。
【表18】
フィールドの説明
NextCellidNumber
次のセルの識別番号をトラッキングする。
GroupPublicationsテーブル
ユーザグループメンバーによってアクセス可能な発行物を特定する。
【表19】
フィールドの説明
GroupId
グループの識別番号。
PublicationId
発行物の識別番号。
Groupsテーブル
グループ関係の情報を保管する。コーポレートアカウントユーザをコーポレートアカウントとして一つのアカウントにまとめる。
【表20】
フィールドの説明
GroupId
グループの識別番号。この番号はユニークである。
Name
グループの名前。
Password
このグループのアカウントにアクセスするパスワード。
Type
有効なグループアカウントのタイプ。現在許されているグレープアカウントは、デモアカウントD、標準アカウントSである。それぞれのグループアカウントフィーが支払われれば、デモアカウントのユーザは標準アカウントに昇格される。
UserTTL
このグループのグループアカウントが有効な日数。
PublicationId
このグループのメンバーがアクセスできる発行物。
Expires
このグループアカウントの有効期限日。
GroupUsersテーブル
ユーザをグループに結びつける。グループのメンバーを特定する。
【表21】
フィールドの説明
GroupId
グループ識別番号。
UserAccountId
ユーザアカウントの識別番号。
Expires
このユーザに関するこのグループアカウントの有効期限日。
IssuedContractsテーブル
特定のユーザがアーティクルを入手する時発行された各契約を記録する。フレームワークに契約ごとにエントリーされる(発行されたアーティクルごとに一つの契約)。これらのエントリーは永久に保存され、ユーザが同じアーティクルをダウンロードしても課金されないようにする。
【表22】
フィールドの説明
TransactionId
ユニークな番号であり、監査に使用するこの取引の識別子である。
TimeStamp
この取引が登録された日時。
Doi
この契約がなされたアーティクルを示す。
ContractUrl
契約セルがある場所を特定する(ディスクをきれいにするため、しばらくすると契約セルは破棄される)。
CellId
契約セルをユニークに特定する文字ストリング。フレームワークIDセル、契約セル、コンテントセルを含め、各セルはユニークなIDを有する。
FrameworkId
フレームワークIDはDoiで特定されたセルにアクセスできる。
PublicationId
この契約のDoiがどの発行物に属するか示す。
Amount
ユーザが課金された金額。デバッグとトラッキングに使用される。
OnlineSubscriptionDefsテーブル
ナレッジスターが管理するオンライン購読に関する定義を含む。
【表23】
フィールドの説明
Description
オンライン購読の特徴を記述する。
PublicationId
オンライン購読をサポートする発行物。
Price
この発行物をオンライン購読するための価格。
PendingFwidsテーブル
ペンディングとなっているすべてのフレームワークをリストする。ペンディングフレームワークは通常ゲストユーザに属する。PendingFwidが活性化された時、そのエントリーはこのテーブルからActivatedFwidsテーブルに「移動」する。
【表24】
フィールドの説明
CellId
フレームワークIDセルをユニークに定義する文字ストリング。フレームワークIDセル、コントラクトセル、コンテントセルを含め、セルごとにユニークなIDを有する。
FrameworkId
ペンディングされたフレームワーク。
Email
ペンディングフレームワークを有するゲストユーザの電子メール。
ValidThrough
このペンディングフレームワークが有効な期限日。
UserAccountId
このペンディングフレームワークを持つユーザアカウント。
PromotionalEmailテーブル
バックエンドにある販促電子メールごとの特性と特徴を登録する。
【表25】
フィールドの説明
PublicationId
この販促電子メールに関係する発行物。
TemplateId
この販促電子メールに使用されたテンプレート。
Enabled
この販促電子メールがイネーブルかどうかを示す。
EnableDate
この販促電子メールがイネーブルされた日付。
Publicationsテーブル
ナレッジスター上の各発行物に関する情報を有する。一つの発行物が多数のアーティクル又はDOIを含んでも良い。
【表26】
フィールドの説明
PublicationId
各発行物のユニークな番号。内部的に発行物を特定する。
Status
発行物の状態は「active」又は「inactive」である。
PublicationCode
発行物を特定する短いコード、通常は3文字のコードである(例:csn、olr、cad)。
ResourceFile
この発行物があるファイルを示す(例:c:¥back¥properties/ATContentCell.properties)。
PublisherId
この発行物を所有する発行者。
Domain
この発行物の発行者ドメイン(例:com.g2news、com.cadcamnetなど)
Name
発行物の名称。
ContentCellExtension
この発行物のコンテントのセルフォーマット(例:MDNA、XDNA)
UrlHomePage
この発行物のウェブアドレス(例:http://www.g2news.com/csnindex.html)。
IntroCredit
この発行物からアーティクルにアクセスするユーザに提供される紹介クレジット。金額はUSドルである。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
FreeArticles
ユーザに提供される無料アーティクルの数。
PermitPrinting
この発行物のアーティクルのプリントが許されているかどうかを示す。有効な値は真(1)又は偽(0)である。
PermitCopying
この発行物のアーティクルのコピーが許されているかどうかを示す。有効な値は真(1)又は偽(0)である。
Publishersテーブル
ナレッジスターにコンテントを有する各発行者からの情報を含む。一発行者は多数の発行物を有していても良い。
【表27】
フィールドの説明
PublisherId
発行者のユニークな識別番号。
Status
発行物の状態は「active」又は「inactive」である。
PublisherName
発行者の名称。
DefaultPrice
この発行物のアーティクルのデフォルト価格。金額はUSドルである。
TransactionNumberGeneratorテーブル
ユニークな取引ID番号が生成されるメカニズムである。ユニークな取引ID番号を保管する。このテーブルはナレッジスターデータベースのテーブルとは直接的な関係を持たない。
【表28】
フィールドの説明
NextTransactionNumbwer
次の取引番号を保管する。
UserBalancesテーブル
ユーザのクレジット及び特定の発行物に対する課金の記録を保管する。ユーザがアクセスした発行物に関するエントリーがある。
【表29】
フィールドの説明
UserAccountId
アーティクルにアクセスするユーザ。
PublicationId
アクセスされたアーティクルが属する発行物。
TimeCreditCreated
この発行物からのアーティクルについてこのユーザにクレジットされた日時。
AvailableCredit
使用可能なクレジットの金額をUSドルで示す。
CreditApplied
適用されたクレジットの金額をUSドルで示す。
CurrentCharges
この発行物からのアーティクルについてこのユーザに課金されている金額をUSドルで示す。
HaveShownPricingTerms
ユーザがこの発行物のアーティクルの契約条件を見たかどうかを示す。有効な値は真(1)又は偽(0)である。
UserCommentsテーブル
各ユーザのコメントを保管する。このテーブルはカスタマーサポートで使われる。
【表30】
フィールドの説明
UserAccountId
コメントが登録されているユーザ。
TimeStamp
コメントが登録された日時。
Comment
このユーザのコメント。
Usersテーブル
ナレッジスターのユーザアカウントの情報を保管する。この情報は各ユーザについてアドレス、アカウント状態、クレジット、課金などを含む。ユーザごとにエントリーがある。ユーザがフレームワークID番号を必要とする事を何かすると、エントリーが作成されフレームワークID番号が送信される。
【表31】
フィールドの説明
UserAccountId
各ユーザを識別する。
FirstName
ユーザのファーストネーム。
LastName
ユーザのラストネーム。
Company
ユーザの勤務先。空欄でも良い。
Email
ユーザの電子メールアドレス。
AccountCreationDate
このユーザアカウントが作成された日付。
AccountStatus
ユーザアカウントの状態。ユーザアカウントはinactive(0)、ゲスト(1)、メンバー(2)、又はグループメンバー(3)である。ディスエーブル(4)とすることも可能である。「ゲスト」はナレッジスターに完全には登録していないユーザである。「メンバー」は課金情報も含めて完全な情報を提供したユーザである。
CurrentCharges
このユーザアカウントへの課金をUSドルで表す。
CurrentCredits
このユーザが使えるクレジットをUSドルで表す。
OutstandingLimit
ユーザに支払いを督促する限度額。ユーザごとに設定できる。
ServiceLevel
ユーザに様々なレベルのサービスを提供するために将来しようする(例:「ゴールド」、「シルバー」、「エリート」など)。現在は「ゲスト」と「メンバー」の2レベルある。
PromotionalEmail
ユーザが販促電子メールを欲しているかどうかを示す。有効な値は真(1)と偽(0)である。
RemoteUser
このカラムは使用していない。
RemoteAddr
ユーザのIPアドレス。
RemoteHost
このカラムは使用していない。
NameForBilling
請求先名。
BillingAddress1
ユーザの請求先アドレスNo.1
BillingAddress2
ユーザの請求先アドレスNo.2
City
ユーザの住所(都市名)。
State
ユーザの住所(州名)。
PostalCode
ユーザの郵便番号。
Country
ユーザの住所(国名)。
Password
ユーザのパスワード。
PasswordEncryptionType
ユーザのパスワードを暗号化した暗号タイプ。使用可能なのはBasic(1)、RSA(2)、SimpleHash(3)である。
CardType
クレジットカードのタイプ(例:Visa、MasterCard等)
CardAccountNumber
表示しても安全なクレジットカード番号で、例えば「xxxxxxxxxxxx1234」。
CardExpirationMonth
クレジットカードの有効期限が切れる月。
CardExpirationYear
クレジットカードの有効期限が切れる年。
UserSyncテーブル
ダイナミクスデータベースでアップデートされるのを待つユーザのキュー。主な目的は、ダイナミクスデータベースのユーザリストをナレッジスターデータベースのユーザリストとシンクロナイズすることである。
【表32】
フィールドの説明
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
[0016]
I.Overview
An overview of one embodiment of the
[0017]
FIG. 2 illustrates the flow of information when a customer 110 (FIG. 1) wants to access content. For Event A,
[0018]
An advantage of this embodiment is that the
[0019]
Another advantage of this embodiment is that the
[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
[0021]
A.Communication media
With respect to the
[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
[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
[0026]
In other embodiments, the
[0027]
The illustrated
[0028]
1. Browser module
In one embodiment,
[0029]
2. User Manager
In one embodiment,
[0030]
3. Database collection
In one embodiment,
[0031]
The
[0032]
[0033]
The encryption
[0034]
In one embodiment, the
[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,
[0036]
1. Content Manager
FIG. 4 illustrates one embodiment of the
[0037]
a. Web server software
In one embodiment,
[0038]
b. Content Manager component
In one embodiment,
[0039]
The user
[0040]
c. Database collection
In one embodiment,
[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
[0043]
The
[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
[0050]
Regarding the
[0051]
In one embodiment, the
[0052]
In another embodiment,
[0053]
In one embodiment, the
[0054]
A more detailed description of an embodiment of the
[0055]
2. Offer manager
FIG. 5 illustrates one embodiment of the
[0056]
a. Web server software
In one embodiment,
[0057]
b. Offer Manager component
In one embodiment, as shown in FIG. 5,
[0058]
c. License Manager component
In one embodiment,
[0059]
For example,
[0060]
The
[0061]
d. Database collection
In one embodiment,
[0062]
The
[0063]
The encryption
[0064]
[0065]
In particular embodiments, offer
[0066]
[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
[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
[0073]
The
[0074]
With respect to the
[0075]
In one embodiment,
[0076]
In one embodiment, the
[0077]
In one embodiment, the
[0078]
A more detailed description of an embodiment of the
III. License management system cell
In one embodiment, the
[0079]
A. Content cell
FIG. 6a is an embodiment of a content cell 210a. The illustrated content cell 210a includes a set of
[0080]
1. Terms
[0081]
2. Encrypted content
Content cell encrypted content 614a includes the requested content encrypted by
[0082]
3. Cell header
[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
[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
[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
[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
[0088]
In another embodiment, the
[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
[0090]
1. Terms
The license cell agreement 712a informs the
[0091]
2. Encrypted license
The
[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
[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
[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
[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
[0096]
6. Another signature
FIG. 7b shows another embodiment of a
[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
[0098]
In another embodiment,
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,
[0099]
Beginning at a
[0100]
A. User requests content
In one embodiment, at
[0101]
B. Content manager sends content cell
With reference to step 830,
[0102]
In this embodiment, the
[0103]
C. User computer requests license
FIG. 10 shows a flowchart corresponding to step 840 in which the
[0104]
D. Offer manager submits license
A flowchart corresponding to step 850 in which offer
[0105]
E. FIG. User computer looks for license and content
A flowchart corresponding to step 860 in which the
[0106]
F. User manager calls the application
If the
[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
[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
V. Make cells
13 and 14 illustrate one embodiment for creating a
[0110]
A. Create content cells
A flowchart corresponding to the embodiment of the composition of the
[0111]
Proceeding to step 1320, the
[0112]
Proceeding to step 1330, the
[0113]
Proceeding to step 1340, the
[0114]
Proceeding to step 1350, the
[0115]
B. Make a license cell
FIG. 14 shows a flowchart corresponding to one embodiment of forming the
[0116]
Proceeding to step 1420, the
[0117]
Proceeding to step 1440,
[0118]
Proceeding to step 1450, the
[0119]
In one embodiment,
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
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
Field description
NextCellidNumber
Track the identification number of the next cell.
Group Publications table
Identify publications accessible by user group members.
[Table 19]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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.
前記データオブジェクトセルに関係するデータロケーションセルを引出し、
ネットワークで計算機に前記データロケーションセルを送信し、
関係するライセンスオブジェクトセルの情報に基づいて前記データロケーションセルへのアクセスを許可する方法。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.
第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.
ネットワークノードからデータオブジェクトを求める要求を受信し、
前記要求されたデータオブジェクトに付随するデータオブジェクトセルを特定し、
前記ネットワークノードに前記データオブジェクトセルを送信し、
前記データオブジェクトセルへのアクセスは関係するライセンスオブジェクトセルを必要とする方法。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.
前記データオブジェクトセルに関係するライセンスオブジェクトセルにアクセスし、
前記ネットワークノードに前記ライセンスオブジェクトセルを送信し、
前記ライセンスオブジェクトセルが少なくとも前記データオブジェクトセルへのアクセスを許可する方法。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.
一以上のデータオブジェクトを要求するユーザインターフェイスをユーザに提供し、
前記コンテントマネージャノードから選ばれたデータオブジェクトを求める要求を出し、
前記ユーザノードがデータオブジェクト及びライセンスオブジェクトへのアクセスできるか決定するネットワーク。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.
ライセンスコントロール要素及びライセンスオブジェクトが設けられたライセンスオブジェクトセル。A license object cell,
A license object cell in which a license control element and a license object are provided.
ユーザデータと、
コンテントデータと、
ライセンスデータを関係づけるデータベーススキーマ。The database schema,
User data,
Content data,
Database schema that associates license data.
発行者データが設けられ、
発行物データが設けられ、
アーティクルデータが設けられたデータベーススキーマ。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.
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)
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)
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)
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)
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 |
-
2000
- 2000-12-22 AU AU25945/01A patent/AU2594501A/en not_active Abandoned
- 2000-12-22 EP EP00989442A patent/EP1423807A2/en not_active Withdrawn
- 2000-12-22 WO PCT/US2000/035103 patent/WO2001050319A2/en active Search and Examination
- 2000-12-22 JP JP2001550610A patent/JP2004500643A/en active Pending
-
2011
- 2011-07-28 JP JP2011165992A patent/JP2011222047A/en active Pending
-
2013
- 2013-01-18 JP JP2013007668A patent/JP5793767B2/en not_active Expired - Lifetime
Patent Citations (1)
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)
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 |