以下、本発明を図面に示した実施形態をもって説明するが、本発明は、図面に示した実施形態に限定されるものではない。
<セクションA:コンテンツ管理システムの実装形態>
図1は、本発明の特定の実施形態におけるコンテンツ管理システム100の概略図である。本実施形態のコンテンツ管理システム100は、ネットワーク130と、ネットワーク130に接続されたクライアント端末112〜116と、Webアプリケーション・サーバ102とを備えている。Webアプリケーション・サーバ102は、クライアント端末112〜116からの要求を受付け、フロント処理や認証処理を行い、クライアント端末112〜116上に表示するための表示データを生成している。また、コンテンツ管理システム100は、データベース・サーバ104を備えており、Webアプリケーション・サーバ102は、データベース・サーバ104へとコンテンツ要求を発行し、データベース・サーバ104は、要求に応答したコンテンツをWebアプリケーション・サーバ102に提供する。
さらに、本実施形態のコンテンツ管理システム100は、ファイアウォール108と、ファイアウォール108を介してネットワーク130に接続された内部ネットワーク132とを含んでいて、Webアプリケーション・サーバ102とデータベース・サーバ104との間の相互トランザクションを可能としている。なお、内部ネットワーク132には、内部ネットワーク132に接続された管理端末110を含んでいても良く、内部ネットワーク132はさらに、コンテンツの著作者や編集者への報酬の支払いや、利用者への課金処理を行うために、専用回線接続などによって外部の決済システムと接続されていてもよい。
ネットワーク130は、インターネットの他、ワイドエリア・ネットワーク(WAN)およびローカルエリア・ネットワーク(LAN)を含むことができ、クライアント端末112〜116が例えばLANに接続され、インターネットを通じてWebアプリケーション・サーバ102へとアクセスしている。本発明では、ネットワーク130は、無線通信ネットワークを含むことができる。また、内部ネットワーク132は、LAN、WAN、LANおよびWANを含む複合ネットワーク、並びにインターネットを介した仮想専用線ネットワーク(VPN)によって仮想専用線接続されたLANおよびWANを含むことができる。図1に示した実施形態では、Webアプリケーション・サーバ102と、データベース・サーバ104と、管理端末110とが、例えばLANを介して接続され、内部セグメント134を形成する。
クライアント端末112〜116と、Webアプリケーション・サーバ102との間の通信は、本発明の特定の実施形態では、SSLやTLSといった、電子証明書や公開鍵暗号方式を用いた通信プロトコルにより行われ、第三者に証明機関から発行されたサーバ電子証明書、第三者機関またはWebアプリケーション・サーバ102によって発行されたクライアント電子証明書を用いて、サーバ認証または相互認証によって接続される。
なお、本発明では、Webアプリケーション・サーバ102とデータベース・サーバ104との通信などの、内部セグメント134内での通信も、共有鍵方式、ブロック暗号方式、ストリーム暗号方式、RSA暗号方式、離散対数形暗号方式、楕円曲線暗号方式などを使用した暗号化通信プロトコルにより行うことができる。
ファイアウォール108は、ネットワーク間の通信を制御することができ、セキュリティ上、公衆ネットワークと、データベース・サーバ104等を含む内部セグメント134との境界に配置することができるが、本発明では、ファイアウォール108を含まずにコンテンツ管理システム100を構成することもできる。
本発明の図1に示す実施形態では、管理端末110は、コンテンツ管理システム100の管理者用の端末であり、管理者ユーザは、管理端末110を介して、システムの運用・管理・メンテナンスを行うことができる。クライアント端末112は、コンテンツ著作者用の端末であり、コンテンツ著作者ユーザは、クライアント端末112を用いて、Webアプリケーション・サーバ102にアクセスし、Webアプリケーション・サーバ102を介してデータベース・サーバ104のコンテンツの作成更新を行い、著作することができる。また、コンテンツ著作者ユーザは、クライアント端末112を用いて、編集者に対してコンテンツの編集依頼を行うこともできる。クライアント端末114は、編集者用の端末であり、編集者ユーザは、クライアント端末114を用いて、Webアプリケーション・サーバ102を介して、コンテンツ著作者によって著作されたコンテンツの編集および校正を行うことができる。また、編集者ユーザは、クライアント端末114を用いて、コンテンツ著作者に対してコンテンツの著作依頼を行うこともできる。
また、クライアント端末116は、コンテンツ利用者用の端末であり、コンテンツ利用者ユーザは、クライアント端末116を用いて、Webアプリケーション・サーバ102にアクセスし、コンテンツの表示要求をWebアプリケーション・サーバ102に送信し、コンテンツ表示データを受取り、内容をコンテンツ利用者に提示することができる。図1においては、管理端末110およびクライアント端末112〜116を、便宜上、システム管理者用、コンテンツ著作者用、編集者用、コンテンツ利用者用といった機能別に参照しているが、特に数には制限はなく、複数の機能を単一のクライアント端末が行ってもよく、一つの機能を持つクライアント端末が複数用いられてもよい。
なお、管理端末110およびクライアント端末112〜116が保持し、クライアント認証の際に用いられるクライアント電子証明書は、クライアント端末が備える図示しない不揮発性の内部記憶装置の記憶領域に保存されてもよく、フラッシュメモリやスマートカードなどの外部記憶装置または外部メディアに保存されてもよい。
本発明の特定の実施形態では、Webアプリケーション・サーバ102は、ハードディスクなどの記憶装置(図示せず)を備えており、記憶装置は、ユーザを個別的に識別するユーザID、ログインパスワード、ユーザの使用する端末に保存される認証情報およびユーザに関連付けたアクセス権原を登録したアクセス権原データなどを含むユーザ・データ120を格納している。ユーザ・データ120は、DB2、ORACLE、InstantDatabase、PostGreSQL、MySqlなどデータベース・ソフトウェアにより構築されることが好ましいが、テキスト・ベースのファイルとしてもよい。Webアプリケーション・サーバ102は、管理端末110やクライアント端末112〜116からアクセスしたユーザおよび端末を識別して、データベース・サーバ104および後述のコンテンツ・データベース122への適切なアクセス制御を可能としている。本発明では、アクセス権原は、例えば、コンテンツの著作者、編集者、利用者、サービスの提供者などといったユーザのサービス上の役割(ロール)、登録されたユーザID、コンテンツの管理レベルに基づいて設定することができるが、これらに限定されるものではない。
さらにWebアプリケーション・サーバ102の記憶装置は、後述するデータベース・サーバ104に格納されたコンテンツ・データベース122内のコンテンツを管理・検索するための、キーワードや分類番号やインデックスなどを含むコンテンツ情報と、HTML文書、XML文書、CGIファイル、JSPファイル、Java(登録商標)Appletファイル、さらに本システムが管理するコンテンツへアクセスするためのプラグインのインストール・プログラムなどを含む、ページ・データ124とを格納している。また、ユーザ・データ120やページ・データ124は、複数の記憶装置または複数のサーバに分散、多重化され保持・管理されても良く、ファイルサーバなどの記憶領域を専門に管理する他のサーバによって保持・管理されてもよい。なお、Webアプリケーション・サーバ102は、IIS、ApacheといったWebサーバソフトウェアおよび、CGI(Common Gateway Interface)、SSI(Server Side Include)、Java(登録商標)Servlet、JSP(Java(登録商標)
Server Pages)、APS(Active Server Pages)やPHP(Hypertext Preprocessor)などの実行環境がインストールされ、必要に応じて端末上に表示するデータを提供することができる。
また、Webアプリケーション・サーバ102は、第三者証明機関などが発行するサーバ電子証明書を保持している。サーバ電子証明書は、記憶領域126に保持され、記憶領域126は、ハードウェア・セキュリティ・モジュール(HSM)といったセキュアな外部記憶装置や、ハードディスクやその他の外部記憶装置にあってもよい。さらに、Webアプリケーション・サーバ102と管理端末110やクライアント端末112〜116との暗号化通信は、サーバ・プログラムを用いて実装されてもよく、SSLアクセラレータといった、ハードウェアを用いて行い、サーバへの負荷を軽減することもできる。
Webアプリケーション・サーバ102は、さらに、公開鍵/秘密鍵の鍵ペアを生成し、適切な有効期限を有する電子証明書を作成し、公開鍵/秘密鍵ペアと電子証明書とを含む認証情報を発行し、管理端末110やクライアント端末112〜116へ送付する。
本実施形態では、データベース・サーバ104は、ハードディスクなどの記憶装置を備えており、ユーザに対して提供されるコンテンツを蓄積するDB2、ORACLE、InstantDatabase、PostGreSQL、MySqlなどデータベース・ソフトウェアにより構築したコンテンツ・データベース122を備えており、Webアプリケーション・サーバ102の要求に応答してコンテンツを検索し、Webアプリケーション・サーバ102へとコンテンツを提供している。
なお、本発明におけるコンテンツは、小説、脚本、詩集、新聞、雑誌、漫画、写真集、画集、イラストや、数学、物理学、生物学、医学、経済学、社会学、コンピュータソフトウェア、ハードウェアなどの専門書および技術書や、その他一般書、特定目的の教科書や問題集、音楽、ゲーム、映画などの映像作品等の各種メディア情報を含むことができ、コンテンツ著作者情報や、非公開段階や公開段階といった管理レベル等の管理情報と共に、コンテンツ・データベース122に格納されている。なお、本発明で使用することができるデータベースは、内部スキーマ、概念スキーマ、外部スキーマの3層スキーマ構造、若しくはスキーマ、サブスキーマの2層スキーマ構造を有する、SQLなどの照会文を処理することができるデータベースであれば、いかなるものでも用いることができる。また、コンテンツ・データベース122は、複数の記憶装置または複数のデータベース・サーバに分散、多重化され管理されてもよい。
Webアプリケーション・サーバ102、データベース・サーバ104は、図1においては、Webアプリケーション機能やデータベース機能といた機能単位で、個別のサーバとして参照しているが、システムを構成するサーバの数には特に制限はない。例えば、Webアプリケーション機能やデータベース機能などの複数の機能を有する単一のサーバとしても良く、また、これらの機能をより詳細な機能単位に分離して、機能単位ごとに個別のサーバとして実装してもよい。ユーザ・データ120、コンテンツ・データベース122およびページ・データ124は、図1のように各サーバ内の記憶領域に保存されてもよく、別途設けたファイルサーバ内の記憶領域に保存されてもよい。また、本発明では、負荷分散装置などを用いて、各機能単位に対して複数のサーバを割り当て、システムの分散および多重化を図り、高い障害耐久性や高速アクセス性を有するシステム構成とすることもできる。
本発明では、管理端末110およびクライアント端末112〜116は、Core(登録商標)、Pentium(登録商標)、Celeron(登録商標)、PowerPC(登録商標)、Athlon(登録商標)、Turion(登録商標)、Sempron(登録商標)、Duron(登録商標)などのマイクロプロセッサ・ユニット(MPU)を含み、適切なオペレーティング・システム(OS)、例えばWindows(登録商標)2000、Windows(登録商標)XP、MacOS(商標)の下で動作するパーソナル・コンピュータ、ワークステーション、または適切なオペレーティング・システムで動作するPDA、携帯電話などから構成することができる。ただし、使用するOSおよびアプリケーション・プログラムが、Mozilla(商標)、InternetExplorer(商標)、Netscape Communicator(商標)、Opera(商標)などのブラウザ・ソフトウェアをサポートしていることが好ましい。
また、Webアプリケーション・サーバ102およびデータベース・サーバ104は、それぞれ、Itanium(登録商標)、Xeon(登録商標)、Pentium(登録商標)、PowerPC(登録商標)、Athlon(登録商標)、Opteron(登録商標)、Sparc(登録商標)、PA-RISC(略称)などのMPUを含み、Windows(登録商標)2000、Windows(登録商標)XP、Windows(登録商標)200Xサーバ、UNIX(登録商標)、LINUX(登録商標)、AIX(登録商標)、MacOS(商標)、Solaris(登録商標)などの適切なOSの下で動作する、パーソナル・コンピュータまたはワークステーション、ブレードサーバまたはメインフレームから構成することができる。
図2は、本発明の特定の実施形態におけるデータベース・サーバ104の概略的構成を示した図である。特定の実施形態では、データベース・サーバ104は、Windows(登録商標)系サーバとして構成されており、マイクロプロセッサ・ユニット(MPU)200と、BIOS(Basic Input
Output System)を格納する不揮発性メモリ202と、MPU200によるプログラム処理を可能とする作業記憶空間を提供するRAMなどのメモリ204と、を含んで構成されており、起動時にMPU200は、不揮発性メモリ202からBIOSを読み出してシステム診断を行うと共に入出力装置214の管理を行っている。
MPU200には、内部バス210を介して記憶制御用インタフェース206に接続され、ハードディスクなどから形成される記憶装置208が、MPU200からの入出力要求に応答してデータの書込みまたは読み出しを実行している。本発明では、記憶装置208に、コンテンツ・データベース122のファイルを格納することができる。記憶制御用インタフェースとしては、IDE(Integrated Device Electronics)、ATA(AT Attachment)、シリアルATA、UltraATAなどの規格により、記憶装置の入出力を管理するインタフェースを使用することもできる。さらに、MPU200には、内部バス210を介してPCIバスインタフェース、USB(Universal
Serial Bus)、IEEE1284などのシリアルまたはパラレル・インタフェースに接続され、フラッシュメモリ、ハードディスク、HSMなどから形成される図示しない外部記憶装置を有することもできる。さらに本発明では、PCIバスインタフェースに接続された図示しないRAIDコントローラなどを用いて、記憶領域を分散化・多重化することができる。
さらに、MPU200は、内部バス210を介してUSB、IEEE1284などのシリアルまたはパラレル・インタフェース212を制御して、キーボード、マウス、プリンタなどの入出力装置214と通信して、ユーザからの入力を受取り、またユーザに対してプリンタなどを介した出力を提供している。
データベース・サーバ104は、さらにVRAM216とグラフィック・チップ218とを含んでおり、MPU200からの指令に応答してビデオ信号を処理し、ディスプレイ装置220へと表示させることができる。また、MPU200は、内部バス210を介してネットワーク・インタフェース・カード(NIC)222と通信し、データベース・サーバ104を、ネットワーク224を通して外部と通信させる。
なお、本発明では、管理端末110およびクライアント端末112〜116、Webアプリケーション・サーバ102についても同様の構成の情報処理装置を使用することができ、また、Webアプリケーション・サーバ102およびデータベース・サーバ104がUNIX(登録商標)またはAIX(登録商標)またはLinux(登録商標)などのアーキテクチャを有している場合であっても、各OSが同様の機能を提供する限り、本発明では情報処理装置のアーキテクチャに限定されるものではない。
図3は、本発明の特定の実施形態におけるコンテンツ管理システム100の機能モジュール構成を示すブロック図である。図3において、本システムは、クライアント処理部300、サーバ処理部330、およびこれらを接続するネットワーク320で構成される。クライアント処理部300およびサーバ処理部330は、それぞれ複数の機能モジュールおよび複数のデータ格納部から構成されている。サーバ処理部330は、コンテンツを管理および提供する処理を実行し、クライアント処理部300は、コンテンツの作成、編集、閲覧などの処理をサーバ処理部330に要求し、処理結果の表示処理を実行する。
なお、クライアント処理部300およびサーバ処理部330の機能については、より詳細に後述する。また、本発明では、コンテンツ管理システム100を便宜上、クライアント処理部300と、サーバ処理部330とから構成されるものとして記載して説明する。しかしながら、本発明では、サーバ処理部330の各機能モジュールを複数のサーバに分担させることも可能である。サーバ処理部330を複数のサーバに分担させる場合には、分担させた各モジュール間の通信は、サーバなどの通信インタフェースを介して適切なプロトコルにより行われる。
上述したプロトコルとしては、例えば、HTTP、FTP、SMTPなどの下位通信プロトコルを介したSOAP(Simple Object Access Protocol)や、RPC(Remote Procedure Call)、Java(登録商標)RMI(Remote
Method Invocation)、CORBA(Common Object Request Broker Architecture)、EJB(Enterprise
Java(登録商標)Beans)、DCOM(Distributed Component Object Model)、COM+(Component Object
Model Plus)、などの分散オブジェクト技術の仕様に準拠する通信プロトコル、例えばIIOB(Internet Inter Object Request
Broker)を用いて行うことができるが、これらに限定されるものではない。
以下、図3を用いて本システムを構成する上記各機能モジュールおよびデータ格納部の機能について説明する。クライアント処理部300は、コンテンツ管理を行うサーバ処理部330に対して処理要求メッセージを送信し、サーバ処理部330から処理応答メッセージを受信する機能を有する。サーバ処理部330は、クライアント処理部300からの処理要求メッセージを受信し、クライアント処理部300からの処理要求メッセージとクライアント属性とを使用して処理要求メッセージの正当性を検査する。本発明では、サーバ処理部330が管理するコンテンツに対する処理などのような、セキュリティおよび著作権保護が重要な処理については、クライアント処理部300とサーバ処理部330との間の通信は、ネットワーク320を介して、SSLやTLSなどの通信プロトコルにより相互認証による接続を確立し、処理要求メッセージおよび処理応答メッセージの送受信を暗号化通信により行う。
処理要求メッセージの正当性が認証されると、サーバ処理部330は、処理要求の対象である管理コンテンツを検索し、処理要求メッセージにしたがって処理を実行する。実行結果は、サーバ処理部330の処理応答メッセージとして作成され、クライアント処理部300に送信される。以下、クライアント処理部300の機能モジュールについて詳細に説明する。
<セクションB:クライアント処理部>
図4は、クライアント処理部300の機能モジュール構成を示すブロック図である。図4において、ブラウザ310は、サーバ処理部330に対する処理要求メッセージを発行し、サーバ処理部330からの応答結果を表示し、システムと、ユーザとの間のインタフェースを提供している。このようなブラウザとしては、Internet Explorer(商標)、Mozilla(商標)、Netscape Navigator(商標)などを使用することができる。
ブラウザ310は、C(クライアント)暗号化通信処理部304(以下、用語「クライアント」について説明の便宜上、単に「C」として参照する。)、およびC通信部302により、ネットワーク320を介してサーバ処理部330と、HTTPS(HTTP over SSL/TLS)などの暗号化通信プロトコルにより通信を行っている。また、特にセキュリティおよび著作権保護が重要でないデータ通信を実行する場合には、HTTPなどの非暗号化方式の通信プロトコルを使用したデータ通信を行うこともできる。
クライアント処理部300は、C認証情報記憶部314を含んでおり、C認証情報記憶部314は、認証接続を確立するために必要となるクライアント公開鍵を含むクライアント電子証明書、クライアント秘密鍵、コンテンツの管理処理に用いるDB名称暗号化鍵およびその他クライアントの身元を証明するための情報を格納することができる。相互認証要求、少なくともクライアント認証が求められる処理要求においては、ブラウザ310は、認証プラグイン312を介してC認証情報記憶部314にアクセスし、取得したクライアント電子証明書をサーバ処理部330に送信し、サーバ処理部330との認証接続を確立する。さらに本発明の特定の実施形態においては、セキュリティおよび著作権保護が重要な処理を行うユーザに対するユーザ認証は、C認証情報記憶部314に格納されるクライアント電子証明書を用いて行われる。
さらに、C認証情報記憶部314は、接続相手となるサーバ処理部330を認証するための、信頼できる証明機関の公開鍵を含む電子証明書を格納する。サーバ側の認証が求められる処理要求においては、ブラウザ310は、サーバ処理部330から送信されてきたサーバ電子証明書を、C認証情報記憶部314に認証プラグイン312を介して問い合わせて検証し、サーバを認証する。
上述したクライアント電子証明書としては、第三者証明機関から発行される、または、後述するサーバ処理部330から発行される、例えば、RFC3280などに規定されたX.509の規格に準拠した電子証明書を用いることができる。また、送付するクライアント電子証明書として、さらにクライアント電子証明書の発行元の電子証明書をさらに添付した電子証明書チェインを用いてもかまわない。
本発明では、さらに送信プラグイン306および受信プラグイン308が、ブラウザ310のアドオン・プログラムとしてインストールされ、送信プラグイン306および受信プラグイン308を介した通信・データ・アクセス制御を使用して、管理されたコンテンツのセキュリティおよび著作権を保護しながらサーバ−クライアント間のトランザクションを実行する。クライアント−サーバ間の処理要求の種類、例えば、通常のホームページを表示させる場合などには、プラグインを介さない処理を実行することができる。しかしながら、本発明の送信プラグイン306および受信プラグイン308を介したトランザクションは、管理されたコンテンツの作成・編集・閲覧・管理レベル設定の変更といった、コンテンツ管理データベース内に格納されるコンテンツに対する処理(以下、コンテンツ管理処理として参照する。)の際に用いられる。
本発明においては、上述のコンテンツ管理処理の要求は、サーバ処理部330から受信した表示データに応答して、クライアント処理部300のブラウザ310に提示される表示オブジェクトを入力インタフェースとして、サーバ処理部330への発行される。ブラウザ310は、ブラウザ上の表示オブジェクト(画面領域全体であってもかまわない。)の領域に対する入力イベントを検出し、送信プラグイン306は、入力イベントを含むメッセージをサーバ処理部330へ送信する。サーバ処理部330は、受信した入力イベントを含むメッセージに基づいて、コンテンツ管理処理を選択実行し、クライアント処理部300は、受信プラグイン308を介して、コンテンツ管理処理応答を含む表示データを受信し、ブラウザ310に提示する。
上述した入力イベントとしては、クリック、ダブルクリック、フォーカス、マウスボタン押し下げ、マウスボタンの解放、キーボード押し下げ、キーボード解放、選択、更新、ドラッグアンドドロップなどのイベント属性があり、入力イベントは、イベント発生に伴う、マウスポインタ座標、入力キーのキーコードなどの入力イベント情報を含むことができる。さらに、入力イベントには、サーバ処理部330において要求されるコンテンツ管理処理を判断するために、入力操作を検出したオブジェクトを識別するための識別値および該オブジェクトの状態値などのイベント情報をさらに含むことができる。なお、送信プラグイン306および受信プラグイン308の働きについては、より詳細に後述する。以下、さらに本発明のサーバ機能について説明する。
<セクションC:サーバ処理部>
図5は、本発明の特定の実施形態における、サーバ処理部330のより詳細な機能モジュール構成を示すブロック図である。図5に示した実施形態におけるサーバ処理部330は、本コンテンツ管理システム100が管理するコンテンツを格納するコンテンツ・データ格納部352を含み、コンテンツを管理および提供する処理を実行する。
本発明においては、サーバ処理部330は、クライアント処理部300からの送信プラグイン306を介したメッセージを受信して、受信したメッセージに基づいて、クライアント処理部300のブラウザ310において検出された入力イベントの属性や、入力操作の対象となった表示オブジェクト(イベントが検出された領域)、状態値、その他各種イベント情報を特定して、要求されているコンテンツ管理処理を判定し、必要に応じて、コンテンツ・データ格納部352内のコンテンツ管理データベースにアクセスし、コンテンツ管理処理を実行する。
さらに、本実施形態においては、高いセキュリティで管理が望まれる、著作中のコンテンツや編集中のコンテンツなど、公開を目的としないコンテンツは、コンテンツ・データ格納部352の非公開および編集中の管理レベルが設定されるコンテンツ管理データベースにおいて管理される。非公開および編集中の管理レベルが設定されるコンテンツ管理データベースは、管理名称をDB名称暗号化鍵によって暗号化された名称で定義・管理される。コンテンツ管理データベースに対応する暗号化される以前の管理名称はサーバ処理部330において記憶され、対応するDB名称暗号化鍵は、該コンテンツ管理データベースにアクセスする権原を有するユーザのクライアント処理部300において格納される。
本実施形態においては、コンテンツは、コンテンツ管理データベースにより管理され、コンテンツ管理データベースへのアクセスは、ユーザ認証によって制御される。さらに、高いセキュリティで管理したいコンテンツが格納されるコンテンツ管理データベースは、データベース名称およびテーブル名称、またはそれらのいずれか一方の管理名称を、ユーザが使用するクライアント処理部300において保持されるDB名称暗号化鍵を用いて暗号化し、得られた暗号化名称によりデータベースおよびテーブルが定義されるため、特定の利用者のみが識別可能な、コンテンツの保管場所を実現することができる。
クライアント処理部300におけるコンテンツの内容表示は、サーバ処理部330において、コンテンツ管理データベースの情報を基に、表示範囲毎に動的に生成された表示データを、クライアント処理部300上の受信プラグイン308により受信して、表示データに基づいてブラウザ310に提示されることにより行われる。このため、コンテンツの電子データ全体が無防備にクライアント側に保持されることが防止される。以下、さらに本発明のサーバ処理部330における各機能モジュールの働きを、特定の実施形態を用いて説明する。
サーバ処理部330は、S(サーバ)認証情報記憶部336(以下、用語「サーバ」を説明の便宜上、単に「S」として参照する。)を有する。S認証情報記憶部336は、認証接続を確立するために必要となる、サーバ公開鍵を含むサーバ電子証明書と、サーバ秘密鍵とを格納する。S暗号化通信処理部334は、クライアント処理部300の要求に応じて、S認証情報記憶部336に格納されているサーバ電子証明書を用いて、S通信部332を介して、クライアント処理部300との認証接続を確立する。
さらに、S認証情報記憶部336は、接続相手となるクライアント処理部300を認証するための信頼できる証明機関の公開鍵を含む電子証明書を格納することができる。相互認証要求、少なくともクライアント認証が求められる処理要求においては、サーバ処理部330は、クライアント電子証明書および電子署名の送信要求をクライアント処理部300へ送信し、受信したクライアント電子証明書および電子署名を、S認証情報記憶部336に問い合わせて検証し、クライアントを認証することができる。サーバ電子証明書としては、上述したクライアント電子証明書と同様の構成とすることができるが、信頼された第三者証明機関により発行されたものであることが好ましい。
サーバ処理部330は、フロント処理部338を有し、フロント処理部338は、クライアント処理部300から送信された処理要求メッセージを受信し、適切なフロント処理を実行し、処理結果を処理応答メッセージとしてクライアント処理部300に送信する。以下、本発明の特定の実施形態における、各機能モジュールの役割について詳細を説明する。
<セクションC−1:機能モジュール(フロント処理部)>
本発明の特定の実施形態では、フロント処理部338は、クライアント処理部300のブラウザ310から、URI(Uniform Resource Identifier)またはIPアドレス/ポート番号により指定されるリソースへのアクセス要求および処理要求を受信した場合には、処理要求メッセージに含まれるアカウント情報およびリソースに関連付けて設定されるアクセス制御情報に基づいて、アクセスおよび処理の制御を行う。アクセス要求されたリソースが、Webページなどのファイルである場合は、指定されたファイルを含めた処理応答メッセージをブラウザ310へ送信する。アクセス要求されたリソースが、サーバサイド・プログラムである場合には、処理要求メッセージに基づいた処理を実行し、処理結果を含む処理応答メッセージをブラウザ310へ送信する。
なお、処理要求メッセージに含まれるアカウント情報とは、ユーザIDやパスワード、場合によってはクライアント電子証明書など、ログイン認証に必要な認証情報、その他、ユーザプロファイル、キーストア情報、トークンやチケットなどのログイン以降の通信で使用されるクライアントの性質を証明することができる信用情報を含む、クライアント処理部300がリソースへのアクセスに必要と判断した処理要求メッセージに添付した情報である。アクセス制御情報とは、各リソースと関連付けてサーバ処理部330において保持される、ユーザに対してリソースへのアクセスを承認するための情報である。
以下、フロント処理部338によるアクセスおよび処理要求に対する認証・承認処理プロセスを説明するために、便宜上リソースを二つに分類して説明する。第1のリソースは、ページ・データ格納部346内のファイルを含むリソース、およびページ・データ格納部346のデータにアクセスし、ページ・データを生成するサーバサイド・プログラムを含むリソースであり、公開ページ・データやブラウザ用アドオンのインストール・プログラムを提供するページ・リソースである。また、第2のリソースは、ユーザ・データ格納部350またはコンテンツ・データ格納部352へのアクセスおよび処理を行うサーバサイド・プログラムを含む、高いセキュリティ管理が求められるコンテンツ管理用リソースである。
第1のリソースでは、リソースへのアクセスは、HTTP、HTTPS、FTP(File Transfer Protocol)、FTPS(FTP over SSL/TLS)といったブラウザがサポートする通信プロトコルで行うことができる。
ページ・リソースとしては、例えばウェブ・サイトが含まれ、特定の実施形態では、コンテンツ提供サイトとしてのフロント・ページ、ユーザログイン・ページ、新規ユーザ登録ページ、公開目的のコンテンツ情報の一覧、ジャンル毎の公開コンテンツ一覧表示やコンテンツのタイトルや概要といったコンテンツ情報、コンテンツ作品検索ページや検索結果などを表示するページを含むことができる。これらのページは、ページ・データ格納部346内のページ情報のファイルや、コンテンツ管理データベース内のコンテンツのインデックス情報などを格納するコンテンツ情報データベースに基づいてフロント処理部338により作成される。本発明におけるページ・リソースへのアクセス権原は、公開ページ、会員ページ、会員個別ページといったページの目的に基づいて設定することができるが、これらに限定されるものではなく、アクセス制限を設定せずに全てを公開してもかまわない。
なお、ページ・データ格納部346のページ情報のファイルとしては、HTMLやDynamicHTML、XMLといったマークアップ言語によって記述されたページ情報を含むことができ、必要に応じて、JPEG、JPEG2000、GIF、PNG、BMP、TIFFなどのフォーマット形式の静止画像や、Wave、MP3、WMA、MIDIなどのフォーマット形式のオーディオデータや、MPEG、QuickTime、AVI、Divxなどのフォーマット形式の動画像や、アニメーションGIF、Flashなどのアニメーション、Java(登録商標)Script、Java(登録商標)Applet、その他ActiveXコントロールといったアドオン・プログラムなどを含むことができる。さらに、クライアント処理部300における各プラグインをブラウザに組み込むための、プラグイン・インストール・プログラムを含むことができる。
また、ページ・データ格納部346は、コンテンツ情報データベースと、コンテンツ情報データベースを管理するコンテンツ情報データベース・管理モジュールとをさらに含み、コンテンツ情報データベースは、コンテンツ・データ格納部352内のコンテンツ管理データベースにおいて管理されている、公開、非公開、編集中のコンテンツを検索するために、キーワード、カテゴリーやジャンルなどの分類、タイトル、著作者情報などの、検索に必要な情報と、コンテンツ管理データベースの管理名称およびレコードとを関連付けて記憶している。キーワードに関しては、さらにキーワード文字列と、キーワード文字列のコンテンツ内における位置情報とが関連付けられ、索引としてのリンクや、キーワードを介したコンテンツ内およびコンテンツ間のクロスリファレンスの提供を行うことができる。キーワードや分類やタイトルは著作者や編集者の入力により設定することができる。また、キーワードは、標準的な統計処理に基づくキーワード抽出アルゴリズムを用いることにより自動抽出することができ、コンテンツ内のキーワードの検索および文書内位置の自動的な抽出は、標準的な検索アルゴリズムを用いて行うことができる。なお、コンテンツ情報データベースの内容は、コンテンツの公開設定時や内容の変更を契機として更新することができるが、特に限定されるものではなく、コンテンツ管理データベース内のコンテンツの更新を監視する機能を有する機能モジュールを別途備える構成として、随時更新させることができる。
さらに、コンテンツ情報データベースは、コンテンツに関連付けた、サマリーや見出し、アクセス数、閲覧者数、評価などの情報も格納し、フロント処理部338は、これらの情報を利用者ユーザへ提示して、閲覧を促すことができる。さらに、コンテンツ情報データベースは、売上高などの情報を格納し、売上高と評価とを用いて、コンテンツ著作者へ支払われる報酬を管理することもできる。
第2のリソースは、高いセキュリティ管理が求められるコンテンツ管理用リソースであり、本発明では、ユーザは、ブラウザ310を介して、コンテンツ管理用リソースへアクセスすることによって、コンテンツの作成、編集、閲覧などの処理を実行する。コンテンツ管理用リソースへのアクセス権原は、作成、編集、閲覧などの処理要求の管理レベルに基づいて設定することができるが、特にこれらに限定されるものではない。
なお、コンテンツ管理用リソースへのアクセスおよび処理要求における、クライアント−サーバ間の通信は、送信プラグイン306および受信プラグイン308を介して行われ、プラグインは、Java(登録商標)GSS−API(Java(登録商標) Generic Security Services Application Programming
Interface)や、ソケットAPI、RMI−API、その他、分散オブジェクト技術の仕様に準拠する通信を行うためのAPIを実装することができる。その際は、必要に応じて、SSLやTLS等の暗号化通信プロトコルを併用して、セキュアなメッセージ交換がなされる。
本発明の特定の実施形態では、フロント処理部338におけるページ・リソースおよびコンテンツ管理用リソースへのアクセス制御は、ユーザ・データ格納部350において一元的に管理されている、ユーザに関連付けられたユーザIDやグループIDやロールなどの主体識別情報と、各リソースに対して主体識別情報に関連付けられて設定されているアクセス制御情報とに基づいて行われる。サーバ処理部330は、メモリなどによって構成される図示しない記憶部を有し、送信元のユーザの認証は、サーバ処理部330の記憶部に保持されたユーザプロファイルに基づいて行われる。
なお、ここで記憶部が保持するユーザプロファイルは、システムにログイン済のユーザ毎に生成され、各種リソースへのアクセスや処理要求を行うための主体識別情報と、処理要求メッセージの身元認証のための信用情報とを含み、ユーザのログイン判定に用いられる。ログイン処理に関しては詳細を後述するが、ユーザがシステムにログインすると、ユーザプロファイルが生成され、ユーザ・データ格納部350から、ユーザに関連付けられた主体識別情報が読み出されて、ユーザプロファイル中に格納される。また、送信元の身元証明のための信用情報や、後述するコンテンツ管理データベースへのアクセスに用いられるDB名称暗号化鍵などもユーザプロファイに格納される。ユーザプロファイルは、ユーザがシステムからログオフするまで、または一定時間経過しタイムアウトするまで記憶部において保持される。
一度ログインしたユーザに対しては、サーバ側の記憶部にユーザプロファイルが保持されている間は、受信した信用情報と該ユーザプロファイルとに基づいて認証を行い、アクセス要求の度に逐一ユーザ・データ格納部350へアクセスすることなく、認証することができる。特定の実施形態においては、さらに、後述するコンテンツ管理部344におけるコンテンツ管理処理の実行は、ユーザプロファイル内の主体識別情報に基づいて承認される。以下に、フロント処理部338における、処理要求メッセージに対する処理プロセスを説明する。
フロント処理部338は、処理要求メッセージを受けると、要求されているリソースが保護されているか否かを判断する。要求されたリソースが保護されていない場合には、フロント処理部338は、指定されたファイルなどのリソース、または指定されたサーバサイド・プログラムによる処理結果を含む処理応答メッセージをブラウザ310へ送信しトランザクションを完了する。
フロント処理部338は、リソースが保護されていると判断した場合には、処理要求メッセージに含まれるアカウント情報と、記憶部に保持されているユーザプロファイルとに基づいて、ユーザがログイン認証済であるか否かを判断する。フロント処理部338は、ユーザがログイン認証済でないと判断した場合には、クライアント処理部300のブラウザ310に、ログイン認証要求を処理応答メッセージとして送信する。
フロント処理部338は、ログイン認証済であると判断した場合には、記憶部の送信元ユーザに対応するユーザプロファイルに含まれる主体識別情報と、リソースに関連付けられているアクセス制御情報とに基づいて、アクセスの承認処理を行う。フロント処理部338は、アクセスが承認されないと判断した場合には、クライアント処理部300のブラウザ310に、アクセス不許可のエラー応答メッセージを送信する。
一方、フロント処理部338は、承認されると判断した場合には、ページ・リソースへのアクセス要求に対しては、指定されたファイルや、指定されたサーバサイド・プログラムによる処理結果を含む、処理応答メッセージをブラウザ310へ送信しトランザクションを完了する。コンテンツ管理用リソースへのアクセスが承認された場合には、フロント処理部338は、まず処理要求メッセージから、要求されているコンテンツ管理処理と信用情報とを抽出し、要求されるコンテンツ管理処理に対応する管理処理識別値と、送信元を証明する信用情報とを含む管理処理・承認要求を認証承認管理部340に発行する。続く認証承認管理部340からの管理処理・承認応答を待って、管理処理が承認されなかった場合には、フロント処理部338は、管理処理不許可エラーメッセージを処理応答メッセージとしてブラウザ310へ送信する。一方、コンテンツ管理処理が承認された場合には、フロント処理部338は、コンテンツ管理処理要求と信用情報とをコンテンツ管理部344に送信する。フロント処理部338は、続くコンテンツ管理部344からのコンテンツ管理処理応答を待って、処理応答メッセージをブラウザ310へ送信する。
なお、本発明においては、コンテンツ管理処理要求は、ブラウザ310によりブラウザに対するキー入力やマウス操作などのイベントが検出され、サーバ処理部330へ送信されたイベント情報に基づいて、フロント処理部338において抽出される。フロント処理部338における、受信した処理要求メッセージからコンテンツ管理処理要求を抽出する処理プロセス、および、コンテンツ管理部344からのコンテンツ管理処理応答を受け、処理応答メッセージを生成する処理プロセスについては後述する。以下さらに、コンテンツ管理用リソースへのコンテンツ管理処理要求について、コンテンツ管理部344における処理プロセスの概略を説明する。
<セクションC−2:機能モジュール(コンテンツ管理部)>
本発明の特定の実施形態では、コンテンツ管理部344は、高いセキュリティ保護が要求されるコンテンツ管理処理要求をフロント処理部338から受け、コンテンツ・データ格納部352へSQL文を発行し、コンテンツ管理データベース内のコンテンツに対する操作を実行する機能モジュールである。
フロント処理部338からのコンテンツ管理処理要求を受信したコンテンツ管理部344は、ユーザ・データ格納部350と、コンテンツ・データ格納部352と、ページ・データ格納部346と、通信管理部348と、記憶部内のユーザプロファイルと連携して、要求された管理処理を実行し、管理処理応答をフロント処理部338に送信する。上述したコンテンツ管理処理としては、著作中の非公開コンテンツ、編集中の編集コンテンツ、ユーザにより公開された公開コンテンツなどユーザの管理コンテンツの一覧表示要求、新規コンテンツ作成要求、作成中コンテンツ表示要求、コンテンツの公開要求、コンテンツの編集依頼要求、公開コンテンツの閲覧要求、コンテンツの書込み要求などがある。コンテンツ管理部344におけるコンテンツ管理処理の詳細については後述する。
<セクションC−3:サーバ処理部の機能モジュール(認証承認管理部)>
本発明の特定の実施形態では、認証承認管理部340は、フロント処理部338からのコンテンツの管理処理・承認要求を受信した場合は、受信した管理処理識別値と、送信元ユーザに対応するユーザプロファイルに含まれる主体識別情報と、信用情報とに基づいて、コンテンツ管理処理の主体識別情報に関連付けて権原を設定しているコンテンツ管理処理のポリシーを参照し、管理処理を承認処理し、管理処理・承認応答をフロント処理部338へ送信する。
さらに、認証承認管理部340は、ユーザのログイン認証時には、コンテンツ管理部344を介して、ユーザ・データ格納部350内のユーザ管理データベースから、主体識別情報などを読み出し、ユーザプロファイルを生成して記憶部に格納する。ユーザ・ログイン認証の詳細は後述する。
上述したように、特定の実施形態においては、リソースへのアクセスおよび処理の要求は、記憶部において保持されるユーザプロファイルを用いて、一元的に認証および承認されることにより制御される。なお、上述のユーザプロファイルを用いた認証処理および承認処理は、例えば、JAAS(Java(登録商標) Authentication and Authorization Service)といったセキュリティ・フレームワークをもちいて実装することができるが、本発明においては、ユーザに対して、リソースや処理に応じて適切な権原を付与し、権原を有さないユーザのアクセスおよび処理を適切に制限することができるものであればいかなるフレームワークを用いて実装することができる。
また、ユーザプロファイルを用いないで、逐一ユーザ・データ格納部350内のユーザ管理データベースを参照して、認証および承認を行ってもよく、処理要求メッセージごとにメッセージにユーザIDとパスワードとを添付することを要求し、ユーザIDに基づいて、リソースや処理に関連付けられたアクセス制御リストやアクセス制御用のデータベースを参照して、認証および承認を行ってもかまわない。
<セクションC−4:機能モジュール(認証情報発行部)>
認証情報発行部342は、クライアント処理部300から新規ユーザ登録要求が送信された場合に、クライアント処理部300へクライアント電子証明書を発行するための機能モジュールである。認証承認管理部340は、新規ユーザ登録の処理要求メッセージを受信した場合には、メッセージに含まれる被証明者情報を含む証明書発行要求を認証情報発行部342に発行する。認証情報発行部342は、本システムのログイン認証に用いるためのクライアント公開鍵/秘密鍵の鍵ペアを生成し、受取った被証明者情報およびクライアント公開鍵の電子署名を作成して、例えば、被証明者情報と、クライアント公開鍵と、電子署名とを含む、X.509の仕様に準拠したクライアント電子証明書を生成する。なお、公開鍵/秘密鍵の鍵ペアの生成は、RSA(Rivest Shamir Adleman)暗号方式、楕円曲線暗号方式、ElGamal暗号方式、NTRU暗号方式、ナップサック暗号方式などの公開鍵暗号方式のアルゴリズムによって生成することができる。
さらに、認証情報発行部342は、非公開コンテンツを格納する非公開コンテンツ管理データベースにおける、データベース名称またはテーブル名称を暗号化するためのDB名称暗号化鍵を新たに生成し、クライアント電子証明書とDB名称暗号化鍵とを含むキーストア情報を、クライアント処理部300に送付する。キーストア情報を受信したクライアント処理部300は、認証プラグイン312を介してC認証情報記憶部314に、キーストア情報を格納する。この際には、サーバ側のユーザ・データ格納部350にも、ユーザに対応付けてキーストア情報を格納する。新規ユーザ登録処理についての詳細については後述する。なお、新規ユーザ登録時においては、被証明者情報は、被証明者の身元の特定情報をE−mailアドレスとして、発行の際に電子メールの送受信によるアドレスの存在と、ユーザの登録意思とを確認することにより、または、あらゆる所有者の身元確認方法を用いて確認することができる。クライアント電子証明書の電子署名を作成する際に使用する電子証明書は、S認証情報記憶部336が保持するサーバ電子証明書と一致しても良く、証明書を別途用いても構わない。
<セクションC−5:機能モジュール(通信管理部)>
通信管理部348は、コンテンツ著作者が利用しているブラウザ310と、編集者が利用しているブラウザ310との間といった、異なるIPアドレス・ポート番号を有するブラウザ間の通信に用いられ、コンテンツ著作者が編集者に編集依頼を行い、同時的に相互に編集操作と確認操作とを行う場合に用いられる。また、著作依頼や編集依頼のE−mailの送信処理なども行うことができる。通信管理部348における処理の詳細は、後述する。
以下、セクションC−6およびセクションC−7に、本発明における、高いセキュリティ保護がなされ、限られたユーザのみが識別できるコンテンツの格納領域を提供するためのコンテンツおよびユーザ・データの管理方法について、特定の実施形態をもって説明する。
<セクションC−6:機能モジュール(ユーザ・データ格納部)>
本発明の特定の実施形態では、ユーザのログイン認証と、リソースへのアクセスおよび処理の承認を行うためのユーザ・データおよび、本システムにおいてユーザが管理するコンテンツへのアクセスするためのデータベースの管理名称は、ユーザ・データ格納部350において管理される。ユーザ・データ格納部350は、いくつかの関連するテーブル群からなるユーザ管理データベースと、ユーザ管理データベースを管理および操作するためのユーザ管理データベース・管理モジュールとを含んで構成される。ユーザ・データ格納部350は、さらに、登録されたユーザ毎に作成され、各種セキュリティ情報を安全に保持するキーストアを格納するための記憶領域を含む。
図6は、本発明の特定の実施形態における、ユーザ・データ格納部350内で管理されるユーザ管理データベースを構成する一部のテーブル群、ユーザ情報・関連テーブル群A400のテーブル構造を表す図である。ユーザ管理データベースは、ユーザテーブル402を含み構成される。ユーザテーブル402は、ユーザIDを登録するフィールド402aと、ユーザIDに対応するキーストアのURIを登録するフィールド402bとを含み、その他、ユーザの氏名、E−Mailアドレス、決済情報などのユーザ情報に関するフィールドをさらに含むことができる。なお、他の実施形態においては、フィールド402bは、キーストアのURIではなくキーストアそのものをバイナリデータとして格納することもできる。
キーストアは、クライアント公開鍵を含むクライアント電子証明書、その他、秘密鍵などの情報を、パスワード保護および暗号化によって高いセキュリティで管理するデータベースである。本実施形態においては、コンテンツ著作者および編集者といった、高いセキュリティ管理が求められる処理を実行するユーザに対しては、ユーザが使用するクライアント処理部300のC認証情報記憶部314内に格納されているクライアント電子証明書を用いたログイン認証が要求される。ユーザに対応するキーストアには、ログイン認証の際に電子証明の検証に必要となるクライアント電子証明書を含みエントリされる。
さらにキーストアには、非公開のコンテンツ管理データベースおよびテーブルの名称を暗号化するDB名称暗号化鍵をエントリすることができる。本発明においては、非公開目的のコンテンツを格納する非公開コンテンツ管理データベースのデータベース名およびテーブル名は、DB名称暗号化鍵で暗号化され、特定のユーザのみが識別することができるコンテンツ管理データベースが提供される。なお、ユーザ・データ格納部350に格納される、ユーザに対応するキーストア情報は、新規ユーザ登録時にクライアント側にも送付され、ログイン認証の際に用いられる。
また、クライアント電子証明書やDB名称暗号化鍵といったキーストアのエントリは、エイリアスという識別名に関連付けてキーストアに格納され、キーストアへのアクセスおよび各エントリへのアクセスは、ユーザ登録時にユーザIDとともに設定されるログインパスワードにより保護される。キーストアにアクセスするためのエイリアスの管理については後述するが、非公開目的のコンテンツ管理データベースへアクセスするためのDB名称暗号化鍵は、クライアント端末側に保持されるクライアント電子証明書と、ユーザ側で保持されるログインパスワードと、ユーザ管理データベースで保持されるDB名称暗号化鍵に対応するエイリアスとに基づいて、キーストアから呼び出されるため、コンテンツの格納領域は、高いセキュリティで保護される。
なお、本発明の特定の実施形態では、高いセキュリティ管理が求められる処理の権原を有するユーザのログイン認証は、ユーザIDと、ログインパスワードと、クライアント電子証明書とを用いて行うが、これに限定されるものではなく、本発明においては、ログインパスワードの代わりに、生体認証におけるテンプレートデータなどを使用することもできる。つまり、ユーザを識別するユーザIDと、本システムのサーバ処理部330が発行する、ユーザIDと関連付けられたセキュリティ情報に基づいて認証するものであれば、いかなる認証方法をもちいることができる。
ユーザ管理データベースは、さらにユーザテーブル402と関連するロールマップテーブル404を含み構成される。ロールマップテーブル404は、フィールド404aと、フィールド404bとを含み、ユーザIDとロールとを関連付ける。フィールド404bには、AUTHOR、EDITOR、USER、ADMINISTRATORなどの、ユーザのロールが登録され、同一ユーザIDに対して複数のロールが登録されてもかまわない。特定の実施形態では、ロールは、コンテンツ著作者、編集者、利用者、管理者といった役割や、ユーザが利用設定するサービス、システムとユーザとの契約上の関係に基づいて設定することができるが、特に限定されるものではなく、例えば、コンテンツ管理処理ごとにロールを設定して権原管理を行ってもかまわない。ロールをしない権原管理としてもかまわない。本実施形態では、フロント処理部338は、ロールに基づいてリソースへのアクセスの承認が行われ、認証承認管理部340は、ロールに基づいて管理処理の実行を承認する。また、ロールを用いて包括的な権原付与のための権原グループの設定を行うことができる。
ユーザ管理データベースは、さらに、ユーザテーブル402と関連する管理コンテンツDB情報テーブル406と、管理コンテンツテーブル情報テーブル408とを含み、ユーザが管理しているコンテンツ管理データベースおよびテーブルへアクセスするための情報を保持する。管理コンテンツDB情報テーブル406は、ユーザIDを登録するフィールド406aと、データベースIDを登録するフィールド406bと、対応するエイリアスを登録するフィールド406cとを含む。フィールド406bには、ユーザの管理下にあるコンテンツ管理データベースに対応するデータベースIDが登録され、フィールド406cには、データベースIDに対応するDB名称暗号化鍵にアクセスするためのキーストアのエイリアスが登録される。
管理コンテンツテーブル情報テーブル408は、ユーザIDのフィールド408aと、データベースIDのフィールド408bと、テーブルIDのフィールド408cとを含む。フィールド408cには、ユーザの管理下にあるコンテンツ管理データベース内のテーブルに対応するテーブルIDが、上位のデータベースIDに関連付けて登録される。
図7は、本発明の特定の実施形態における、ユーザ・データ格納部350内で管理されるユーザ管理データベースを構成する一部のテーブル群、ユーザ情報・関連テーブル群B410のテーブル構造を表す図である。ユーザ管理データベースは、さらに、コンテンツDB情報テーブル412と、コンテンツDB情報テーブル412とに関連付けられるコンテンツテーブル情報テーブル414と、コンテンツDB所有者情報テーブル416とを含み構成され、上述の管理コンテンツDB情報テーブル406および、管理コンテンツテーブル情報テーブル408に登録されるデータベースIDと、テーブルIDとを、それぞれ対応する管理名称にマップする。本実施形態における、コンテンツDB情報テーブル412およびコンテンツテーブル情報テーブル414は、本願の管理名称格納手段に対応する。
コンテンツDB情報テーブル412は、データベースIDを登録するフィールド412aと、データベース名を登録するフィールド412bと、管理レベルを登録するフィールド412cとを含むことができる。本実施形態では、フィールド412cには、コンテンツ管理データベースに設定される、PUBLIC(公開)、EDIT(編集中)、PRIVATE(非公開)といった管理レベルを識別するための情報が登録される。コンテンツテーブル情報テーブル414は、テーブルIDのフィールド414aと、データベースIDのフィールド414bと、テーブル名を登録するフィールド414cとを含む。
さらにユーザ管理データベースは、グループ・テーブル418を含むことができ、コンテンツ著作者の共著関係や編集・校正時の協働関係を表すグループIDと、該グループIDに所属するユーザIDとを関連付け、複数のユーザによる協働作業の管理に用いられる。コンテンツDB所有者情報テーブル416には、コンテンツ管理データベースの所有者情報が関連付けられ、データベースIDに対応付けてユーザIDまたはグループIDが登録される。本実施形態においては、コンテンツ管理データベースにおいて管理されているコンテンツに対するコンテンツ管理処理要求は、ユーザIDおよび、ユーザIDに関連付けられるグループID、およびロールに基づいて承認することができる。
<セクションC−7:機能モジュール(コンテンツ・データ格納部)>
本発明の特定の実施形態では、本システムが管理するコンテンツは、コンテンツ・データ格納部352において格納および管理される。コンテンツ・データ格納部352は、非公開コンテンツを格納する非公開コンテンツ管理データベース群と、編集時に使用される編集コンテンツ管理データベース群と、公開目的のコンテンツを格納する公開コンテンツ管理データベースとを含む、コンテンツ管理データベース群と、コンテンツ管理データベース群を管理および操作するためのコンテンツ管理データベース・管理モジュールとを含んで構成される。各コンテンツ管理データベースには、データベースIDが割当てられ、その名称と関連付けてコンテンツDB情報テーブル412に登録される。
著作中のコンテンツなどが格納される非公開コンテンツ管理データベースは、例えばコンテンツ著作者となるユーザが、新規ユーザ登録を完了させた時に定義・作成され、コンテンツDB情報テーブル412において、たとえばPRIVATEといった非公開の管理レベルが登録される。編集中のコンテンツが格納される編集コンテンツ管理データベースは、例えばコンテンツ著作者が編集者にコンテンツの編集依頼を行ったときに、編集が完了するまでの間、一時的に作成されるコンテンツ管理データベースであり、コンテンツDB情報テーブル412においては、たとえばEDITといった編集中の管理レベルが登録される。コンテンツ著作者は、編集依頼したいコンテンツを編集コンテンツ管理データベース内にコピーし、編集者は、コピーされたコンテンツにアクセスして編集・校正作業を行う。
コンテンツ・データ格納部352では、非公開および編集中の管理レベルが設定されたコンテンツ管理データベースは、ユーザ管理データベースのコンテンツDB情報テーブル412の該コンテンツ管理データベースに対応するデータベース名を、キーストアのDB名称暗号化鍵によって暗号化した暗号化名称を用い、データベース定義言語(DDL)によって定義・作成される。なお、コンテンツ著作者ユーザに割当てられる非公開コンテンツ管理データベースに対応するDB名称暗号化鍵は、ユーザ登録時に生成され、データベースの定義・作成とともに、ユーザIDに対応するキーストアにエントリされるが、DB名称暗号化鍵の生成のタイミングは、これらの方法に限定されるものではない。例えば、ユーザ登録後に新たなDB名称暗号化鍵を生成し、キーストアのエントリを書き換えつつ、新たなDB名称暗号化鍵による暗号化名称によってユーザの非公開コンテンツ管理データベースを再定義の上および内容の複製を行うか、またはデータベース名の変更を行うことによって、DB名称暗号化鍵の変更処理が可能であり、定期的に鍵を交換することによりセキュリティを向上させることができる。
本発明の実施形態においては、暗号化名称は、復号する必要性が無いため、DB名称暗号化鍵を用いた暗号化は、MD5(Message Digest Algorithm 5)、SHA−224、SHA−256、SHA−384、SHA−512などのハッシュ関数を用いて行うことができる。不可逆なハッシュ関数を用いることより、データベースに実際に存在する暗号化名称からは、暗号化前のデータベース名称およびDB名称暗号化鍵を解析することが不可能となり、セキュリティを向上させることができる。なお、万が一、衝突が起こった場合には、データベースの定義時のエラーを検出して、DB名称暗号化鍵の再発行処理を行うことにより、万が一の衝突問題の回避を行うことができる。
しかしながら、本発明においては、上述の名称の暗号化方法に限定されるものではなく、公開鍵暗号化方式、共通鍵暗号化方式によっても行うことができ、共通鍵暗号化方式として、DES(Data Encryption Standard),トリプルDES、AES(Advanced Encryption Standard)、IDEA(International
Data Encryption Algorithm)、FEAL(Fast data Encipherment Algorithm)、MISTYなどをもちいることができる。
さらに本発明においては、DB名称暗号化鍵などを用いて、上述の共通鍵暗号化方式および公開鍵暗号化方式などの可逆的な暗号化方式により、コンテンツ管理データベースに格納されるコンテンツのデータ自体も暗号化することによって、さらにセキュリティを向上させることができる。
本発明においては、DB名称暗号化鍵のキーストア内のエントリは、ユーザのログインパスワードによって保護されるため、所有者であるユーザが唯一識別できる安全なコンテンツの保管領域を提供することができる。一方、編集中コンテンツ管理データベースに対応するDB名称暗号化鍵は、編集依頼時に生成されて、コンテンツ著作者および依頼を受けた編集者のキーストアの両方にエントリされるため、コンテンツ著作者および依頼を受けた編集者のみがアクセスできる安全な編集作業領域を提供することができる。同様に、複数のコンテンツ著作者による共著の場合は、共著関係者間で共有するグループIDを新たに生成し、グループIDに対して非公開コンテンツ管理データベースが新たに定義される。DB名称暗号化鍵は、グループを構成するユーザに対応するキーストアに格納され、グループ間で共有されるため、グループ構成員のみがアクセスできる安全な協働作業領域を提供することができる。
本実施形態では、これらのDB名称暗号化鍵は、ユーザテーブル402に当該データベースを所有するユーザIDに対応づけて格納されているキーストアURIに示されたキーストア内に、データベースに対応するエイリアスに関連づけてエントリされる。DB名称暗号化鍵にアクセスするためのエイリアスは、管理コンテンツDB情報テーブル406内の、該ユーザIDと、該データベースのデータベースIDとに対応するフィールド406cのレコードに登録されている。よって、ユーザは、ユーザテーブル402と管理コンテンツDB情報テーブル406と、コンテンツDB情報テーブル412とを用いて、自らのユーザIDに対応するキーストアのURI、および、管理しているコンテンツ管理データベースに対応するエイリアスを取得し、キーストア内のDB名称暗号化鍵を呼び出して、テーブル内のデータベース名の暗号化名称を得ることにより、自らが管理する、暗号化名称によって作成・定義されているコンテンツ管理データベースへのアクセスを実現する。
さらに特定の実施形態では、該データベース内のテーブル名称も、該データベース名称を暗号化した同一のDB名称暗号化鍵を用いて暗号化することができる。この場合も同様に、コンテンツ管理データベースの所有者は、コンテンツテーブル情報テーブル414と、データベースを暗号化したDB名称暗号化鍵とを用いて、対応するテーブル名の暗号化名称を得ることにより、自らが管理するコンテンツ管理データベースのテーブルへのアクセスを実現する。上述のように、ユーザ管理データベースによって管理されているデータベース名称およびテーブル名称、またはどちらか一方を暗号化した暗号化名称を用いて定義することにより、データベースのセキュリティが向上し、たとえ、悪意の第三者が本システムのコンテンツ・データ格納部352にアクセスでき、ルート権原を得ることができたとしても、データベースおよびテーブルを識別することができない。なお、名称を暗号化されるテーブルは、データベース内で定義される全てのテーブルとしても良く、一部のテーブル、例えば、親テーブルのみを対象としてもかまわない。
また、サーバ処理部330は、上述したユーザが管理するコンテンツ管理データベースへアクセスするための情報を、ログイン時にユーザ・データ格納部350から読み出し、ユーザプロファイルの付加情報としてサーバ処理部330の記憶部へ格納することによって、ログイン済のユーザが管理するコンテンツ管理データベースおよびテーブルへのアクセスを、ユーザ・データ格納部350へ逐一問い合わせることなく行うことができる。
なお、上述したデータベース名の暗号化に関する記述は、例えばMySQLのような、データベース・インスタンスに対して複数のデータベースを起動することができ、データベース単位で管理されるデータベース・システムを用いて実装した場合に対応するものである。一方、コンテンツ・データ格納部352において使用されるデータベース・システムによって、例えばOracleのように、ひとつのデータベース・インスタンスにひとつのデータベースが対応し、スキーマによって管理単位が設定されるデータベース・システムを用いて実装する場合には、スキーマのテーブル名称を暗号化することによってセキュリティ強度を向上することができる。
なお、本発明においては、コンテンツは、コンテンツIDと、コンテンツの著作権を有するユーザのユーザIDもしくはグループIDと、コンテンツ内容とを関連付けて、適当な正規表現によってコンテンツ管理データベース内において管理される。コンテンツIDと著作権者を関連付けることにより、後述するインセンティブの分配を行うことができる。また、本実施形態ではコンテンツは、コンテンツIDごとに親テーブルが定義され、新規コンテンツ作成の際は、親テーブルと、親テーブルと集約もしくはコンポジションの関係にある適当なテーブル群が新たに定義・作成されるデータ構造としているが特に限定されるものではない。
さらに、本発明によれば、コンテンツ管理データベースには、複数のコンテンツから構成されるコンテンツの集合体を登録することができ、その際には、コンテンツ集合IDと、コンテンツIDと、コンテンツIDに対応するコンテンツ・データのコンテンツ集合内における順序と配置とを含むレイアウト関係とを関連付けて格納される。特定の実施形態では、ドキュメント形式のコンテンツは、チャプター、セクションまたはパラグラフといったブロック単位でコンテンツIDを付すことができ、順序だった複数のブロック単位の集合を関連付けて登録することにより、ひとつの書籍として構成することができる。さらに、レイアウト関係に、レイヤ構造も含めることによって、例えば、問題集のような解答欄を含むコンテンツに、解答例を含むコンテンツを重ねたコンテンツ集合を提供することも可能となる。
イメージ形式のコンテンツは、イメージごとにコンテンツIDを付すことができ、順序と配置とを含むレイアウトされたイメージ単位の集合を関連付けて登録することにより、ひとつの画集、イラスト集または写真集として構成することができる。オーディオ形式のコンテンツは、オーディオデータごとにコンテンツIDを付すことができ、順序だったオーディオデータの集合を関連付けて登録することにより、ひとつのオーディオ・アルバムとして構成することができる。
同様に、映像作品やこれら、ドキュメント、イメージ、オーディオデータ、映像データのマルチメディア・コンテンツ集合として関連付けることもできる。さらに、これらのコンテンツ集合をさらに、順序・関連付けてコンテンツ・シリーズとして登録してもかまわない。なお、このようなコンテンツ関連情報は、コンテンツ情報データベース内にも格納され、一連の関連したコンテンツ・データを閲覧を希望するユーザに提示することができる。
以上、各コンテンツ管理データベースが、同一サーバ上にあるコンテンツ・データ格納部352に格納される場合の実施形態について述べてきたが、他の実施形態においては、コンテンツ・データ格納部352は、非公開コンテンツ管理データベース群、編集コンテンツ管理データベース群、公開コンテンツ管理データベースについて、異なるデータベース・サーバ104から構成することができ、非公開目的の非公開コンテンツ管理データベース群、編集コンテンツ管理データベース群を、公開目的のサーバから切り離すことによって、セキュリティを向上させることができる。
図3〜5に示した各機能モジュールなどはメモリ204およびMPU200により構成され、各機能モジュールなどに機能を実現するためのプログラム(図示せず)をメモリ204にロードして実行することによりその機能を実現させることができる。また、図3〜5に示した各データ格納部は、記憶装置208に格納されているデータとして実現することができる。しかしながら、各機能モジュールなどの全部または一部を専用のハードウェアにより実現したものであってもよい。また、Java(登録商標)、C++、.NET、Rubyなどのオブジェクト指向プログラミング言語で記述される場合には、各機能モジュールなどは、オブジェクトまたは複数のオブジェクト単位が協働したオブジェクト群として、各処理は、オブジェクトが備えるメソッドとして、オブジェクト間のメッセージの交換は、メソッド呼び出しまたはリモートメソッド呼び出しによって、またはソケットを用いて実装することができる。また、コンテンツ・データ格納部352およびユーザ・データ格納部350のデータベース管理モジュールは、OracleやMySql、DB2、PostgreSQL、などのデータベース・ソフトウェアから構成することができる。なお、図1においては、図3〜図5で示した特定の実施形態のコンテンツ・データ格納部352は、データベース・サーバ104において実装され、それ以外の機能モジュール、データ格納部は、Webアプリケーション・サーバ102において実装される。以下に、本発明における各種処理について、特定の実施形態を用いて詳細に説明する。
<セクションD:本システムにおける処理シーケンス>
本発明の特定の実施形態では、本コンテンツ管理システム100が管理するコンテンツに対する処理は、ログイン認証により認証されたユーザに対して、そのユーザに関連付けられたユーザIDやグループIDやロールなどの主体識別情報と、各処理に対して主体識別情報に関連付けて権原を設定しているコンテンツ管理処理のポリシーとに基づいて承認される。さらに、本発明においては、管理コンテンツに対する処理における、クライアント−サーバ間の通信は、ブラウザにアドオンされる、送信プラグイン306および受信プラグイン308を介して行われる。
ブラウザ310から、コンテンツ管理用リソースへのアクセス要求を受信したフロント処理部338は、ブラウザ310へ、送信プラグイン306および受信プラグイン308の起動要求を送信する。起動要求を受信したブラウザ310は、プラグイン・プログラムの起動を試み、プラグインの起動に成功した場合には、以降、コンテンツ管理用リソースへのトランザクションを送信プラグイン306および受信プラグイン308を介して行う。
一方、プラグイン・プログラムの起動に失敗した場合、ブラウザ310は、プラグイン・インストール・プログラムのダウンロード要求メッセージを、フロント処理部338へ送信し、フロント処理部338は、ページ・データ格納部346から、インストール・プログラムを読み出して、ブラウザ310へ応答メッセージとして送信する。インストール・プログラムを受信したブラウザ310は、プラグイン・プログラムのインストールを試みて、インストールが正常に完了した場合には、プラグイン・プログラムの起動を試みる。なお、プラグイン・プログラムのインストール・プログラムの提供方法は、特に限定されるものではなく、ダウンロード以外にもCDなどの記憶媒体により提供することもできる。以下に、既にプラグイン・プログラムが起動していることを想定して、コンテンツ管理処理の各処理の処理シーケンスについて説明する。
<セクションD−1:ユーザ・ログイン認証処理シーケンス>
図8は本発明の特定の実施形態におけるユーザ・ログイン認証処理のシーケンス図を示す。図8を用いて、ログイン認証における処理シーケンスを説明する。まず、ユーザがブラウザ310を用いて、アクセス保護されたコンテンツ管理用リソースへアクセスを試みると(ステップS100)、ブラウザ310は、ステップS101で認証プラグイン312を介して、C認証情報記憶部314(図8においては記載省略)へユーザプロファイルの取得要求を送信する。なお、ユーザプロファイルは、ユーザのログイン認証の完了とともに、サーバ処理部330の記憶部に格納されるとともに、クライアント処理部300のC認証情報管理部314にも格納され、よって、ブラウザ側でログイン認証済であるかの判断が可能となる。認証プラグイン312は、C認証情報記憶部314からユーザプロファイルの取得が正常に完了した場合には、ユーザプロファイルをブラウザ310へ返し、取得に失敗した場合には、例えばnull値を戻り値として返す。
ユーザプロファイルを取得し、かつ、取得したユーザプロファイルが有効である場合は、既にログイン済であると判断され、アクセス保護されたコンテンツ管理用リソースへのアクセスが試みられる(ステップS124)。なお、ユーザプロファイルの効力は、例えばユーザプロファイルに設定された有効期限などを確認することにより検証することができる。一方、ユーザプロファイルの取得に失敗した場合、またはユーザプロファイルが失効していた場合は、ブラウザ310は、ステップS102でログイン認証プロセスを起動し、ステップS103で、認証プラグイン312を介して、C認証情報記憶部314から、接続におけるクライアント認証および本システムのユーザ認証に用いるためのクライアント電子証明書およびDB名称暗号化鍵を含むキーストア情報の取得を試みる。その際、複数のクライアント証明書を有する場合には、ユーザに電子証明書の選択を要求するGUIを提示することができる。認証プラグイン312は、クライアント電子証明書を取得に失敗した場合には、ユーザが現在利用しているクライアント端末が、システムへ未登録であると判断し、エラー表示とともにステップS125で新規ユーザ登録ページへリダイレクトする。
ブラウザ310は、キーストア情報の取得に成功した場合は、ステップS104で、例えば、ユーザにログインIDおよびログインパスワードの入力のためのGUIやログイン・ページへリダイレクトしたりすることによって、ログイン情報入力を要求する。ブラウザ310は、ユーザからのログイン情報入力を受けて、ステップS105で、送信プラグイン306へログイン認証情報とともにログイン情報送信要求を発行する。ログイン情報送信要求を受信した送信プラグイン306は、ステップS106で、サーバ処理部330のフロント処理部338と、取得したキーストア情報内のクライアント電子証明書を用いて、相互認証接続のハンドシェイクを行い、セキュアな通信経路を確立する。相互認証接続が確立した後、送信プラグイン306は、ステップS107で、ユーザIDと、ログインパスワードと、キーストア情報(クライアント電子証明書と、必要に応じてDB名称暗号化鍵とを含む。)とから構成されるログイン認証情報を含むログイン要求メッセージをフロント処理部338へ送信する。ログイン要求メッセージを受信したフロント処理部338は、ステップS108で、ログイン認証情報とともにログイン認証要求を認証承認管理部340へ送信する。
ログイン認証要求を受信した認証承認管理部340は、ステップS109で、ユーザ・データ格納部350へログイン認証情報に含まれる送信元のユーザIDに対応するユーザ・データを問い合わせるために、ユーザIDとログインパスワードとを含むユーザ・データ問い合わせ要求をコンテンツ管理部344へ送信する。ステップS110では、ユーザ・データ問い合わせ要求を受信したコンテンツ管理部344は、送信元ユーザIDに対応するユーザ・データの取得要求を、例えばSQL文によってユーザ・データ格納部350へ発行し、ステップS111でユーザ・データ取得応答を受信する。なお、図8においては、コンテンツ管理部344とユーザ・データ格納部350との間の、複数回にわたる情報のやり取りの記載などは便宜上省略されている。ステップS110およびステップS111では、コンテンツ管理部344は、送信元ユーザIDに対応するユーザ管理データベースの登録情報の取得に加え、ユーザ管理データベースから取得したURIで指定されているキーストアから、ログインパスワードを用いてクライアント電子証明書と、必要に応じてDB名称暗号化鍵との取得を試み、クライアント電子証明書とDB名称暗号化鍵とを含めてユーザ・データとし、ユーザ・データ取得応答として受信する。
ユーザ・データ取得応答を受信したコンテンツ管理部344は、ステップS112で、クライアント電子証明書を含むユーザ・データを、ユーザ・データ問い合わせ結果応答として認証承認管理部340へ返す。ユーザ・データを受取った認証承認管理部340は、ステップS113で、ブラウザ310からログイン認証要求とともに送信されたキーストア情報に含まれるクライアント電子証明書と、ユーザ・データ問い合わせ結果応答に含まれるユーザ・データとに基づいて、ログイン認証を行う。認証承認管理部340は、送信されたクライアント電子証明書と、ユーザ・データに含まれるクライアント電子証明書が一致した場合には、送信元ユーザIDのログインが適正であると判断し、ステップS114で、ユーザIDに対応するユーザプロファイルを生成し、サーバ処理部330の記憶部へ格納する。
その際には、ユーザ・データ問い合わせ結果応答に含まれる、ユーザID、グループIDおよびロールは、主体識別情報として、クライアント電子証明書およびDB名称暗号化鍵は、信用情報として、ユーザプロファイル中に格納される。さらに、ユーザが管理するコンテンツ管理データベースに関する情報、つまり、データベース名やテーブル名や管理レベルや所有者情報を、ユーザプロファイル付加情報として、記憶部に格納することもできる。なお、信用情報には、チケットやトークンやキーストア情報など、ログイン以降のクライアント−サーバ間の通信におけるクライアント身元証明のための信用情報が含まれる。続いて、ステップS115で、認証承認管理部340は、ユーザプロファイルとともにログイン認証完了応答の送信要求をフロント処理部338へ発行し、フロント処理部338は、ステップS116で、クライアント処理部300の受信プラグイン308へ、ユーザプロファイルとともにログイン認証完了応答メッセージを送信する。
一方、ユーザ管理データベース内に送信元ユーザIDに対応する登録が無い場合、キーストアへのアクセスが拒否された場合、または、クライアント処理部300から送信されたクライアント電子証明書と問い合わせ結果応答のユーザ・データに含まれるクライアント電子証明書とが一致しない場合には、認証承認管理部340は、ログイン認証に失敗したと判断し、ステップS121で、ログイン認証失敗応答の送信要求をフロント処理部338へ発行し、フロント処理部338は、ステップS122で、クライアント処理部300の受信プラグイン308へログイン認証失敗応答メッセージを送信する。
ログイン認証完了応答メッセージまたはログイン認証失敗応答メッセージを受信した受信プラグイン308は、ステップS117で、応答メッセージの内容(認証に成功した場合はユーザプロファイルも含む)から、ログイン認証が正常に完了したか否かを判断する。ログイン認証に失敗したと判断した場合は、受信プラグイン308は、ステップS123で、ブラウザ310にログイン認証失敗の報告を行い、ブラウザ310は、GUIを用いてユーザへ通知する。一方、ログイン認証が正常に完了したと判断した場合には、受信プラグイン308は、ステップS118で、応答メッセージに含まれているユーザプロファイルとともに、ユーザプロファイル格納要求を、認証プラグイン312に送信する。ユーザプロファイル格納要求を受信した認証プラグイン312は、C認証情報記憶部314へユーザプロファイルを格納する。ステップS119で、認証プラグイン312からのユーザプロファイル格納の完了応答を受信した受信プラグイン308は、ステップS120で、ブラウザ310にログイン認証完了の報告を行い、ブラウザ310は、例えば、ログイン認証後のトップページ表示を行う。以降、ユーザプロファイル内のクライアント身元証明のための信用情報を用いて、アクセス保護されたコンテンツ管理用リソースへのアクセスの際の認証が行われる。
なお、本発明の特定の実施形態では、上述したおよび図8に示した処理シーケンスにより、ログイン認証が行われるが、これに限定されるものではない。例えば、ユーザ・データ格納部350にある、ユーザ管理データベースへの問い合わせは、コンテンツ管理部344を介して行う記載となっているが、他の実施形態では、認証承認管理部340に、データベースアクセスのためのモジュールを組み込み、認証承認管理部340が直接にユーザ管理データベースへ問い合わせを行う処理としてもかまわない。以下に、新規ユーザ登録処理における処理シーケンスを特定の実施形態を用いての説明をする。
<セクションD−2:新規ユーザ登録シーケンス>
ログイン認証処理において、認証プラグイン312が、キーストア情報の取得に失敗し、新規ユーザ登録ページへリダイレクトされた場合や、ユーザがブラウザ310を介して、新規ユーザ登録ページのURLにアクセス要求した場合には、新規ユーザ登録処理を開始する。本発明の特定の実施形態では、新規ユーザ登録は、送信プラグイン306および受信プラグイン308を用いて行われる。
新規ユーザ登録ページでは、登録するユーザID、ログインパスワード、その他、登録サービス情報、その他会員情報などを入力し、ユーザ登録情報をサーバ側に送信するためのGUIがブラウザ310上に提示される。なお、本発明では、コンテンツの閲覧、コンテンツの著作、コンテンツの編集といった登録サービス情報に基づいて、ユーザのロールを設定することができるが、特に限定されるものではない。ブラウザ310は、GUIを介したユーザからの会員登録開始要求を検出し、送信プラグイン306を介して、サーバ認証接続により、フロント処理部338を経由して、認証承認管理部340へ、ユーザ登録情報を含む新規ユーザ登録要求を送信する。新規ユーザ登録要求を受信した認証承認管理部340は、証明書発行要求を認証情報発行部342に発行する。認証情報発行部342は、本システムのログイン認証に用いるためのクライアント公開鍵/秘密鍵の鍵ペアおよびクライアント電子証明書と、例えば、AUTHORのロールが設定されるユーザに対しては、さらに非公開コンテンツ管理データベースのDB名称暗号化鍵を生成し、これらを含めたキーストア情報を、認証承認管理部340へ返す。
キーストア情報を受取った認証承認管理部340は、ユーザ・データ登録処理要求をコンテンツ管理部344へ送信する。AUTHORのロールが設定されるユーザに対しては、さらに非公開コンテンツ管理データベースの名称を生成して、DB名称暗号化鍵、非公開コンテンツ管理データベース名称およびテーブル名称を含めた新規非公開データベース作成要求をコンテンツ管理部344へ送信する。ユーザ・データ登録処理要求を受信したコンテンツ管理部344は、ユーザ・データ格納部350内に、ユーザ登録情報に含まれるユーザIDと関連付けたキーストアを作成し、ユーザ管理データベースに、ユーザIDと、キーストアURIと、AUTHORのロールが設定される場合にはさらに非公開コンテンツ管理データベース名称およびテーブル名称とDB名称暗号化鍵用のエイリアスとを関連付けて登録し、該キーストアに、ログインパスワードをアクセスキーとして、生成されたキーストア情報に含まれるクライアント電子証明書およびDB名称暗号化鍵をエイリアスに関連付けて格納する。キーストアの生成に成功したコンテンツ管理部344は、生成したキーストアと同様の内容の登録済キーストア情報を含む処理応答を認証承認管理部340へ送信する。
新規非公開データベース作成要求を受信したコンテンツ管理部344は、非公開コンテンツ管理データベースを提供するために、コンテンツ・データ格納部352に対してSQL文を発行することにより、非公開コンテンツ管理データベースを作成・定義する。その際は、非公開コンテンツ管理データベースは、DB名称暗号化鍵および非公開コンテンツ管理データベース名称およびテーブル名称から生成した暗号化名称を用いて定義される。
これらの処理応答を受信したコンテンツ管理部344は、登録済キーストア情報を含む処理応答メッセージを、認証承認管理部340、フロント処理部338を介して、受信プラグイン308へ送信する。処理応答メッセージを受信した受信プラグイン308は、受信した登録済キーストア情報を、認証プラグイン312を介してC認証情報処理部へ格納し、ブラウザ310に処理応答を通知する。
上述のログイン認証および新規ユーザ登録におけるDB名称暗号化鍵の管理方法によれば、DB名称暗号化鍵はキーストア情報に格納され、サーバ処理部330のユーザ・データ格納部350、および、クライアント処理部300のC認証情報記憶部314は、双方においてDB名称暗号化鍵を含むキーストア情報を共有する。しかしながら、他の実施形態においては、ユーザ・データ格納部350内のキーストアには、DB名称暗号化鍵を格納せず、クライアント処理部300側に送付されてC認証情報記憶部314に格納されるキーストア情報にのみDB名称暗号化鍵を保持させることができる。
DB名称暗号化鍵がクライアント処理部300側にのみに格納される場合には、ユーザのログイン認証要求時にクライアント処理部300のC認証情報記憶部314からサーバ処理部330へ送付されるキーストア情報に含まれるクライアント電子証明書と、サーバ処理部330のユーザ・データ格納部350にあるキーストア内の証明書とに基づいて、ユーザ認証およびクライアント電子証明書認証によりログイン判定が行われる。DB名称暗号化鍵は、ログインが完了したユーザのユーザIDと、ユーザが管理する各コンテンツ管理データベースのデータベースIDとに対応する、管理コンテンツDB情報テーブル406内のフィールド406cのレコードに登録されているエイリアスを用いて、送付されたキーストア情報から取得され、ユーザプロファイル中に格納される。これにより、少なくともユーザがログインしていない間は、サーバ処理部330側には、キーストアからDB名称暗号化鍵を読み出すためのエイリアスは格納されているものの、実際のDB名称暗号化鍵が存在しないため、コンテンツ管理システムのセキュリティ強度を向上させることができる。よって、たとえ悪意の第三者にサーバのルート権原を奪われて、さらにユーザのログインパスワードも漏洩したとしても、データベースやテーブルの暗号化名称を得ることはできない。以下に、ログイン認証以降における各コンテンツ管理処理の処理シーケンスについて、特定の実施形態をもって説明する。
<セクションD−3:各処理の主要シーケンス>
ログイン認証完了後、ブラウザ310は、コンテンツ管理のためのメニューなどのGUIオブジェクトをサーバ処理部330からダウンロードし、例えば、ログイン認証後のトップページなどの初期画面表示を行うことができる。本発明の特定の実施形態では、コンテンツ管理処理要求は、サーバ処理部330からブラウザ310へ提供または提示要求される、イメージ・オブジェクト、ボタン、プルダウンメニュー、フォーム、ラジオボタン、グリッド・コントロールなどのGUIオブジェクトを入力インタフェースとして行われる。ユーザが、クライアント処理部300が動作している端末のキーボードおよびマウスを用いて、ブラウザ310上に提示されたGUIやブラウザ310の表示領域に対して入力操作を行うと、ブラウザ310は、ブラウザのイベント監視機能を用いてイベント情報を検出し、サーバ処理部330へイベント情報を送信する。サーバ処理部330は、送信されてきたイベント情報を解釈して、要求されたコンテンツ管理処理を抽出し、コンテンツ管理処理を実行する。
本発明では、上述のように、コンテンツの著作を含むコンテンツ管理処理を行うためのGUIをブラウザ310により提供し、実際の処理の大部分をサーバ側で行うことにより、ローカルのアプリケーションで作成したコンテンツをアップロードする場合とは異なり、クライアント側には、必要最低限のコンテンツ情報が保持されるにとどまり、ファイル交換プログラムやウィルスなどによる、クライアント側からの情報漏洩を好適に防止することができる。
さらに、大部分の処理プロセスがサーバ側で行われるため、ユーザを含む第三者に提供されるクライアント・プログラムには、主にユーザとのインタフェースとして機能させるための機能構成のみが含まれ、コンテンツ管理データベースにアクセスするための主要な機能を含まない構成とすることが可能となる。よって、悪意の第三者によりクライアント・プログラムが解析されたとしても、クライアント・プログラムが有する機能以上の、例えば、不正な処理プロセスの呼び出しなどの操作が行われる危険性を最小化することができる。
図9は本発明の特定の実施形態における、主要なコンテンツ管理処理における基本的な処理シーケンスを示す図である。ブラウザ310は、ステップS200で、提示するGUIに対してユーザが行ったイベント情報を検出し、一連の処理が開始される。イベント情報を検出したブラウザ310は、ステップS201で、入力操作の対象となるGUIオブジェクトや表示領域を識別するための識別値(以降、操作対象オブジェクト識別値として参照する。)と、検出されたイベントの種類(以降、イベント属性として参照する。)とを含むイベント情報をイベント情報送信要求とともに送信プラグイン306に送信する。イベント情報送信要求を受信した送信プラグイン306は、ユーザプロファイル取得要求を認証プラグイン312へ送信し、要求を受信した認証プラグイン312は、C認証情報記憶部314からユーザプロファイルを読み出し、送信プラグイン306に返す。
ユーザプロファイルの取得に成功した送信プラグイン306は、ステップS203で受信した操作対象オブジェクト識別値およびイベント属性を含むイベント情報から、イベント情を含む一次処理要求コマンドを作成する。なお、特定のコンテンツ管理データベースおよびコンテンツに対するコンテンツ管理処理要求の際には、ステップS201のイベント情報送信要求やステップS203の一次処理要求コマンドに含まれるイベント情報には、さらに、現在の処理対象となっているデータベースを識別するためのデータベース識別情報と、コンテンツに関連付けられるコンテンツ識別情報(以降、データベース識別情報とコンテンツ識別情報を纏めて、処理対象特定情報として参照)が含めることができ、クライアント側から処理対象を特定するための情報を送信することができる。また、操作対象のGUIオブジェクトが、スクロールバー、リスト、プルダウンメニュー、ラジオボタンやスイッチといった、状態値を持つGUIオブジェクトである場合には、ステップS201のイベント情報送信要求やステップS203の一次処理要求コマンドに含まれるイベント情報には、さらに、状態値を含めることができる。
ここで、イベント情報とは、イベント操作が行われた対象のオブジェクト識別値と、クリックやマウスボタン押し下げなどのイベント属性と、処理対象特定情報と、オブジェクト状態値と、マウスのポインタ座標や入力キーのキーコードなどを含めた情報として参照する。送信プラグイン306は、ステップS204で、ステップS203で生成した一次処理要求コマンドと、ユーザプロファイルに含まれる、クライアント身元証明のための信用情報を含む一次処理要求メッセージを、サーバ側のフロント処理部338へ送信する。
一方、一次処理要求メッセージを受信したフロント処理部338は、メッセージに含まれる信用情報を用いてログイン判定を行い、メッセージの送信元と、サーバ処理部330の記憶部に格納されている対応するユーザプロファイルと関連付ける。なお、本発明の特定の実施形態では、ログイン認証以降のサーバ側の各機能モジュールにおける各処理プロセスにおいては、送信されてきた信用情報と、サーバ処理部330の記憶部に格納されているユーザプロファイルとに基づいてログイン判定が行われ、ユーザプロファイルに含まれる主体識別情報に基づいて各処理プロセスの呼び出しが承認される。各機能モジュールにおいて送信元の身元の確認を行うことによりコンテンツ管理処理のセキュリティを向上することができる。
フロント処理部338は、ステップS205で、受信した一次処理要求メッセージに含まれる一次処理要求コマンドに基づいて、コンテンツ管理処理要求を生成する。その際には、一連の一次処理要求コマンドをバッファし、処理単位でまとめて解釈してコンテンツ管理処理要求を生成することもできる。なお、送信プラグイン306における、一次処理要求コマンドの生成および、フロント処理部338における、一次処理要求コマンドからコンテンツ管理処理要求の生成について、詳細を後述する。
ステップS206で、フロント処理部338は、生成したコンテンツ管理処理要求に対応するコンテンツ管理処理識別値と、特定のコンテンツ管理データベースおよびコンテンツに対する処理要求の際には、さらに処理対象特定情報とを含むコンテンツ管理処理・承認要求を、認証承認管理部340に送信する。
コンテンツ管理処理・承認要求を受信した認証承認管理部340は、ステップS207で、コンテンツ管理処理識別値と、処理対象特定情報と、ユーザプロファイル中に格納され送信元ユーザに関連付けられる主体識別情報とに基づいて、コンテンツ管理処理の承認処理を実行する。
認証承認管理部340は、ステップS208で、フロント処理部338に、コンテンツ管理処理・承認結果応答を返す。フロント処理部338は、承認されなかった場合には、ステップS218で、クライアント処理部300の受信プラグイン308へ、コンテンツ管理処理不許可応答メッセージを送信し、コンテンツ管理処理不許可応答メッセージを受信した受信プラグイン308は、ステップS219で、ブラウザ310にコンテンツ管理処理不許可の報告を行い、ブラウザ310は、GUIを用いてユーザへ通知する。
一方、コンテンツ管理処理が承認された場合には、フロント処理部338は、承認されたコンテンツ管理処理要求を、コンテンツ管理部344発行する(ステップS209)。コンテンツ管理処理要求を受信したコンテンツ管理部344は、ステップS210で、ユーザプロファイル付加情報またはユーザ管理データベースに格納されている、コンテンツ管理処理の対象であるコンテンツ管理データベースに対応する、データベース名およびテーブル名を得て、必要に応じて、ユーザプロファイル中の該データベースに対応するDB名称暗号化鍵を用いて、暗号化された実際のデータベース名およびテーブル名を得る。
コンテンツ管理部344は、ステップS211で、コンテンツ・データ格納部352内のコンテンツ管理データベースへ、SQL文を発行し、読み出しや書込みなどの操作を行う。コンテンツ管理部344は、ステップS212で、コンテンツ・データ格納部352からの応答を受取り、ステップS213で、データベース処理結果を含むコンテンツ管理処理応答メッセージをフロント処理部338へ送信する。
コンテンツ管理処理応答メッセージを受取ったフロント処理部338は、メッセージに含まれるデータベース処理結果から、クライアント処理部300のブラウザ310へ結果を提示するために、例えばHTML形式やXML形式といった、ブラウザ・ソフトウェアが取り扱い可能な形式の表示データを作成して、ステップS215で、受信プラグイン308へ処理応答メッセージとして送信する。受信プラグイン308は、ステップS216で、ブラウザ310に表示結果の提示を行い、処理を終了する。なお、表示データは、各コンテンツ管理処理要求と関連付けたGUIおよびGUIの提示指令を含むことができ、GUIは、オブジェクト識別値と関連付けられ、さらに、各種イベント属性と、送信プラグイン306において呼び出される処理とに関連付けられる。また、コンテンツ管理処理結果により表示される画面状態を識別するための表示画面識別情報や、表示データに特定のコンテンツの内容を含む場合には、表示データに含まれるコンテンツの表示範囲と、コンテンツ管理データベースにおけるデータとの対応関係を、記憶部の作業プロファイル内に格納することができる。特定の実施形態においては、表示画面識別情報は、メニュー表示、一覧表示、コンテンツ内容表示などのフロント処理に応答させて設定することができるが、特に限定されるものではない。
<セクションD−4:イベント検出からコンテンツ管理処理の抽出>
以下に、ブラウザ310に提示されるGUIオブジェクトに対して行われた入力操作から、一次処理要求メッセージを生成する処理プロセス、および、一次処理要求メッセージからコンテンツ管理処理を抽出する処理プロセスの詳細について、特定の実施形態を参照して説明する。
本発明では、各種コンテンツ管理処理要求と関連付けたGUIを、ブラウザ310を介してユーザに提示し、GUIに対して行われた入力操作を検出し、関連付けられた各種コンテンツ管理処理要求をサーバ側で実行させる。本発明の特定の実施形態では、コンテンツ管理処理要求に関連付けてブラウザ310に提示されているGUIに対して行われた、クリックやダブルクリックなどイベントを検出した場合には、送信プラグイン306は、ステップS203で、操作対象であるGUIのオブジェクト識別値と、クリックやダブルクリックといったイベント属性を含む一次処理要求コマンドを生成し、ステップS204で、一次処理要求メッセージをフロント処理部338へ送信する。なお、GUIオブジェクトが、状態値を持つ場合には、一次処理要求メッセージには状態値をさらに含むことができる。
一方、一次処理要求メッセージを受信したフロント処理部338は、操作オブジェクト識別値とイベント属性と(状態値が含まれる場合は状態値も含む)から、処理要求されているコンテンツ管理処理を判断し、コンテンツ管理処理要求を、ステップS207での承認を経て、ステップS209でコンテンツ管理部344に対して発行し、GUIとイベントに関連付けられたコンテンツ管理処理を実行する。
上述するGUIオブジェクトと関連付けたコンテンツ管理処理要求として、管理コンテンツ一覧表示要求や、コンテンツ管理レベル変更要求や、コンテンツ表示要求や、表示頁送り要求や、指定頁表示要求などの、管理コンテンツ情報の表示要求がある。また、同様に、GUIオブジェクトを用いて、コンテンツへデータの入力を行うことができ、たとえば、PCキーボードを模倣するGUIを提示して、ドキュメント形式のコンテンツを著作することができ、楽器鍵盤を模倣するGUIを提示して、オーディオ形式のコンテンツの著作することができる。
上述した本発明の特定の実施形態においては、クライアント処理部300からサーバ処理部330へは、操作対象オブジェクト識別値と、イベント属性と、状態値とを含むイベント情報が送信され、サーバ処理部330において、イベント情報から、要求されたコンテンツ管理処理の判断を行うが、本発明においては、クライアント処理部300で判定処理の一部を行っても構わない。例えば、簡単な処理については、イベント情報を送信する処理とはせずに、クライアント処理部300から直接、サーバ処理部330の対応する処理を呼び出すこともできる。
本発明では、さらに、ブラウザ310をインタフェースとして、キーボード入力によりコンテンツへ文章の入力を行うことができる。コンテンツ内容の編集のための、カーソルの移動に関連付けられる方向キーや文字入力のための各種キーへのキーボード入力操作を検出した場合には、送信プラグイン306は、例えば、入力キーや入力文字列を、エスケープシーケンスなどの入力文字列情報に変換し、キーボード入力である旨を示すイベント属性と、現在フォーカスされている入力対象のオブジェクト識別値と、入力文字列情報と、書込み対象である処理対象特定情報とを含めた一次処理要求コマンドが生成し、フロント処理部338へ送信される。
一方、一次処理要求メッセージを受信したフロント処理部338は、イベント属性と対象オブジェクト識別値とから、キー入力処理であると判断し、入力対象オブジェクト識別値と、処理対象特定情報と、サーバ側で保持される現在の作業状態プロファイルから編集中の頁番号やカーソル位置などの入力対象および入力位置を特定する。さらに、フロント処理部338は、入力文字列情報と、作業状態プロファイルに含まれる上書きモードであるか挿入モードであるかなどといった、入力モードに基づいて、カーソルの移動処理や、文字列の上書処理要求または挿入処理要求を、ステップS207での承認を経て、ステップS209でコンテンツ管理部344に対して発行し、コンテンツ管理部344は、カーソルの移動処理や、コンテンツ管理データベース内の対象コンテンツへの文字列挿入処理または文字列の上書き処理を実行する。また、同様の文字入力に対する処理を用いて、ホットキーやショートカットキーやファンクションキーに前述のコンテンツ管理処理要求を関連付けて実行させることもできる。また、漢字インコードや漢字アウトコードを用いて日本語入力などを行うこともできる。
なお、作業状態プロファイルは、ユーザプロファイルと、ユーザプロファイル付加情報と関連付けてサーバ処理部330の記憶部に記憶され、現在の表示画面識別情報、現在のカーソル位置、選択中オブジェクトの座標などを含む作業状態を格納するプロファイルである。また、作業状態プロファイルは、現在アクセスしている特定のコンテンツに対応する、処理対象識別情報などを含むこともでき、クライアント処理部300から、逐一、コンテンツ管理処理対象のコンテンツを特定するための、処理対象特定情報を受取らなくとも、対象となるコンテンツを識別することができる。
本発明では、さらに、ブラウザ310をインタフェースとして、コンテンツの埋め込みオブジェクトの埋め込み位置をマウスによりの操作を行うことができる。例えば、埋め込まれたイメージ・オブジェクトのドラッグアンドドロップなどの操作が行われた場合は、操作対象オブジェクト識別値、イベント属性、イベント検出時のポインタ座標(ブラウザ上の絶対座標などで表現される)からなるイベント情報を含めた一次処理要求コマンドを生成する。ドラッグアンドドロップのような操作に関しては、マウスボタンの押し下げ、マウスの移動、マウスボタンの解放、という一連のイベントを処理単位として要求処理を判断することが好ましい。そのため、例えば、フロント処理部338では、対象オブジェクト識別値、マウスボタン押し下げ時のポインタ座標、マウスボタン解放時のポインタ座標といった一連のイベント情報を含む一次処理要求メッセージをバッファして、これらのまとまった入力操作情報からコンテンツ管理処理要求コマンドを生成する。ドラックアンドドロップによる埋め込みオブジェクトの移動などの場合には、マウスボタン押し下げ時のポインタ座標から、マウスボタン開放時のポインタ座標の相対距離から移動距離が計算され、操作対象オブジェクト識別値からドラッグアンドドロップの対象となっている埋め込みオブジェクトを特定する。なお、このような一連の処理の判断は、クライアント側において行ってもかまわない。
マウスによるコンテンツ内の埋め込みオブジェクトをドラッグアンドドロップする際と同様に、一連のマウス操作のイベントから発生する、一連の対象オブジェクト識別値、イベント属性、イベント検出時のポインタ座標(ブラウザ上の絶対座標などで表現される)の入力操作情報を含めた一次処理要求コマンドを基に、直線や曲線や多角形や円弧の描画など、イラストレーション・コンテンツや埋め込みオブジェクトの描画処理要求や選択範囲の指定や選択領域のナッジなどの処理要求を、コンテンツ管理処理として実行することができる。さらに、その他、マウスのポインタ座標からカーソル位置情報へのマッピングを行うことによって、文字列の選択や選択文字列のドラッグアンドドロップなど文字列操作処理、カーソル位置の指定などの処理をコンテンツ管理処理として実行することができる。また、ブラウザ310のウィンドウ外からのイメージファイルなどのドラッグアンドドロップの入力イベントを検出して、ローカルに保存されているイメージ・オブジェクトなどをコンテンツに貼り付ける処理なども行うことができる。
ブラウザによるイベント処理は、ブラウザのイベント監視機能を用いて行うことができ、フロント処理部338から送信された表示データに含まれるGUIオブジェクトと、各イベントとに関連付けられたイベントハンドラを用いて、ブラウザ側にインストールされたプラグイン・プログラムに含まれるAPIのメソッド呼び出しを行うことにより、実装することができる。APIは、関連付けられたイベントの検出により呼び出され、GUIオブジェクトの識別情報とその他、コンテンツ処理要求の指示に必要な情報とを含む一次処理要求メッセージをフロント処理部338へ送信する。なお、表示データは、ブラウザ310からの処理要求メッセージに含まれる、InternetExplorer(商標)やNetscape(商標)などのブラウザ識別情報に応じて作成され、ブラウザによるイベント処理は、W3Cイベントモデルなどの、使用するブラウザに準じたイベントモデルに基づいてJava(登録商標)Scriptを用いて行うことができる。
<セクションD−5:コンテンツ管理処理>
図10は、本発明の特定の実施形態における、サーバ処理部330が保持するコンテンツ管理処理とイベント情報との対応関係情報を示す。本実施形態では、サーバ処理部330は、クライアント処理部300の送信プラグイン306から送信されてきた一次要求メッセージから、要求されるコンテンツ管理処理を判断するために、図10に示すコンテンツ管理処理対応マップ420を保持している。コンテンツ管理処理対応マップ420は、クライアント処理部300のブラウザ310に提示されたオブジェクトを特定するための操作対象オブジェクト識別値(オブジェクトID)を格納する、フィールド420aと、イベント情報を格納するフィールド420bと、フィールド420aのオブジェクト識別値とフィールド420bのイベントとに対応するコンテンツ管理処理(コンテンツ管理処理識別値)を格納するフィールド420cを含み構成される。以下に、本コンテンツ管理システム100における、各コンテンツ管理処理について、便宜上、クライアント側およびサーバ側の処理として参照し説明する。各機能モジュールにおける詳細な処理シーケンスは適宜省略され記載されており、上述した記載を参考されたい。
本発明の特定の実施形態では、サーバ処理部330は、ユーザIDに関連付けられる、非公開コンテンツや編集コンテンツ、また公開目的で公開レベルが設定された公開コンテンツの一覧表示要求を受け、管理コンテンツ一覧表示をクライアント処理部300へ提示することができる。一覧表示要求に関連付けられたGUIに対する、クリックなどの所定の入力操作を検出したクライアント処理部300は、操作対象であるGUIのオブジェクト識別値(例えば、「image0001」)と、イベント属性(例えば、「click」)とを含む一次処理要求メッセージをサーバ処理部330へ送信する。
一方、一次処理要求メッセージを受信したサーバ処理部330は、操作オブジェクト識別値とイベント属性とに基づいて判断し、例えば、図10に示すマップにおける「image0001」と「click」とに対応する「コンテンツ一覧表示」という処理内容から、一覧表示要求であると判定する。必要に応じて、ユーザプロファイル中の各コンテンツ管理データベースに対応するDB名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから読み込まれる、各DB名称暗号化鍵に対応するデータベース名およびテーブル名とに基づいて、暗号化名称を生成する。さらに、サーバ処理部330は、得られた暗号化名称を用いて各コンテンツ管理データベースにアクセスし、送信元のユーザに対応するユーザIDやグループIDといった主体識別情報に関連付けられた、コンテンツ・データのタイトルや基本属性などを含む一覧リスト得て、一覧表示するための表示データを作成し、一覧表示データをコンテンツ管理処理応答メッセージとして、クライアント処理部300へ送信する。処理応答メッセージを受信したクライアント処理部300は、ブラウザ310に表示結果の提示を行い、管理コンテンツ一覧表示処理を終了する。なお、管理コンテンツの一覧表示においては、コンテンツタイトルと、さらに管理レベルとを対応づけて提示することにより、各コンテンツの管理レベルの識別性を向上させることができる。
本発明の、管理コンテンツ一覧表示の別の実施形態においては、コンテンツ・データ格納部352の各コンテンツ管理データベースにアクセスする代わりに、各コンテンツ管理データベース内のコンテンツ情報のインデックスやキーワードを保持する、ページ・データ格納部346内のコンテンツ情報データベースにアクセスすることにより、管理コンテンツ一覧を得ることもできる。また同様の処理プロセスにより、管理コンテンツ一覧表示と類似したコンテンツ管理処理として、ツリービュー表示やキーワード検索結果一覧表示といった管理処理を実行することができる。
本発明の特定の実施形態では、サーバ処理部330は、非公開コンテンツ管理データベースを有するユーザからの新規コンテンツ作成要求を受け、非公開コンテンツ管理データベースに、新規コンテンツを保持するためのテーブルまたはテーブル群などのデータベース領域を提供することができる。新規コンテンツ作成要求に関連付けられたGUIに対する、クリックなどの所定の入力操作を検出した場合には、クライアント処理部300は、操作対象であるGUIオブジェクト識別値(例えば、「image0002」)と、イベント属性(例えば、「click」)とを含めた一次処理要求メッセージをサーバ処理部330へ送信する。
一方、一次処理要求メッセージを受信したサーバ処理部330は、操作オブジェクト識別値とイベント属性に基づいて要求処理を判断し、例えば、図10に示すマップにおける「image0002」と「click」とに対応する「新規コンテンツ作成」という処理内容から、新規コンテンツ作成要求であると判定する。そして、ユーザプロファイル中の非公開コンテンツ管理データベースに対するDB名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから読み込むことができるデータベース名とに基づいて、非公開コンテンツ管理データベースの暗号化名称を生成する。続いて、サーバ処理部330は、新規な単一のコンテンツを格納するために必要なテーブルの新規テーブル名を生成し、新規テーブル名から暗号化名称を得て、該データベースに新規テーブルを作成・定義する。同時にサーバ処理部330は、ユーザプロファイル付加情報およびユーザ管理データベースに、ユーザIDに関連付けて、新規コンテンツに対応する暗号化前の新規テーブル名を登録する。さらに、サーバ処理部330は、新規テーブル作成処理の応答をコンテンツ管理処理応答メッセージとして、クライアント処理部300へ送信する。処理応答メッセージを受信したクライアント処理部300は、ブラウザ310に表示結果の提示を行い、コンテンツ管理処理を終了する。なお、本発明の特定の実施形態においては、コンテンツ単位でテーブルが定義される管理構造として参照しているが、これに限定されるものではない。
さらに、本発明の特定の実施形態では、上述の管理コンテンツ一覧表示において、各コンテンツに関連付けられたGUIをブラウザに提示して、各コンテンツに対応するコンテンツ管理データベース内のコンテンツの選択要求を受けることができる。各コンテンツに関連付けられたGUIに対するクリックなどの所定の入力操作を検出した場合には、クライアント処理部300は、例えば、各コンテンツがオブジェクト識別値と関連付けられている場合には、操作対象であるGUIオブジェクト識別値(例えば、「button0001」)と、イベント属性(例えば、「click」)とを含めた一次処理要求メッセージをサーバ処理部330へ送信する。
一方、一次処理要求メッセージを受信したサーバ処理部330は、操作オブジェクト識別値とイベント属性とに基づいて、要求されるコンテンツ管理処理を判断し、例えば、図10に示すマップにおける「button0001」と「click」とに対応する「コンテンツ(ID=0001,0000001)を表示」という処理内容から、データベースIDが「0000001」のデータベースから、コンテンツIDが「0001」が付されているコンテンツの表示要求であると判定する。なお、本実施形態では、操作対象オブジェクト識別値に対する処理内容に、コンテンツを特定するための処理対象識別情報が含まれており、選択要求されたコンテンツが特定される。クライアント処理部300は、必要に応じて、ユーザプロファイル中の特定されたコンテンツを格納するコンテンツ管理データベースに対応する、DB名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから読み込まれるデータベース名と、選択コンテンツに対応するテーブル名とに基づいて、暗号化名称を生成する。
さらに、サーバ処理部330は、該コンテンツ管理データベースにアクセスし、処理対象特定情報に対応するコンテンツ・データの内の、指定された表示内容をコンテンツ・データ格納部352に問い合わせ、問い合わせ結果から、選択コンテンツの表示データを生成し、クライアント処理部300へ処理応答メッセージとして送付する。なお、選択コンテンツの表示データを応答メッセージとして送信する際には、処理対象特定情報をクライアント側に通知し、以降の特定のコンテンツに対するコンテンツ管理処理要求の際に、操作対象のコンテンツを指定するために用いられる。また、表示データに含まれるコンテンツの表示内容と、コンテンツ管理データベースにおけるデータとの対応関係を、記憶部の作業状態プロファイルに格納する。
指定された表示内容の大きさとしては、例えば、ドキュメント形式のコンテンツの場合は、印刷レイアウトで書込みを行えると視認性が良いことから、コンテンツの印刷形態としたときのページ単位とすることが好ましいが、特に限定されるものではない。また、表示内容の開始位置としては、第一頁に対応する位置であってもよく、あらかじめアクセスした頁をコンテンツに関連付けて、履歴としてコンテンツ・データ格納部352に保存しておき、履歴に応じた頁を表示してもよい。さらに、本発明では、同様の処理によって、ページ送りやページ指定などの、表示ページ指定を行うことができる。
さらに、本発明の特定の実施形態では、ユーザが管理する、非公開コンテンツや編集コンテンツや公開コンテンツの管理レベル変更要求するためのGUIを、例えば、上述の管理コンテンツ一覧表示のコンテンツに関連付けて提示し、管理レベル変更要求を受けることができる。オンラインで管理レベルの変更を指示することにより、著作段階から、編集・校正段階、公開段階へといった、コンテンツの制作から公開および利用までを、スムーズに移行させることができる。以下に、非公開コンテンツ管理データベースに格納されている非公開コンテンツの管理レベルを公開レベルに変更する処理、つまり公開管理データベースに複製する場合の処理について、管理レベル変更の処理プロセスの例として説明する。
例えば、コンテンツの管理レベル変更要求に関連付けられた3状態を有するGUIに対する、クリックによる選択などの所定の入力操作イベントを検出した場合には、クライアント処理部300は、操作対象であるGUIのオブジェクト識別値と、検出したイベント属性と、オブジェクトの状態値を含めた一次処理要求コマンドを生成し、サーバ処理部330へ一次処理要求メッセージを送信する。
一次処理要求メッセージを受信したサーバ処理部330は、操作オブジェクト識別値とイベント属性とに基づいて要求されたコンテンツ管理処理を判断し、例えば、図10に示すマップにおける「pulldown0001」と「select」とに対応する「選択コンテンツの管理レベル変更」という処理内容から、管理レベル変更要求であると判定する。さらにオブジェクトの状態値に基づいて、管理レベル変更の内容を特定する。サーバ処理部330は、例えば、図10に示すマップにおける「select(public)」から、公開レベル設定要求である特定した場合には、操作対象オブジェクト識別値から、管理レベル変更処理のコンテンツを特定し、特定したコンテンツの処理対象特定情報を含む公開レベル設定要求を発行し、承認を経て処理を実行する。その際には、サーバ処理部330は、ユーザプロファイル中の対応するDB名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから得られるデータベース名およびテーブル名とに基づいて暗号化名称を得て、非公開コンテンツ管理データベースにアクセスする。
非公開コンテンツ管理データベースへのアクセスに成功したサーバ処理部330は、対応するコンテンツ・データを読み出し、さらに公開コンテンツ管理データベース内に、読み出したコンテンツ・データの複製を格納する。本発明の特定の実施形態においては、非公開コンテンツを公開する場合には、公開コンテンツ管理データベースに新たにコンテンツが登録され、非公開コンテンツ管理データベースのコンテンツ・データは削除されない処理とすることができる。さらに、公開コンテンツと、元となる非公開コンテンツとを関連付けて記憶することにより、以降、必要に応じて改訂作業をスムーズに行うことができる。さらに、サーバ処理部330は、ユーザプロファイル付加情報およびユーザ管理データベースへ、管理レベル変更に伴う、登録内容の変更の反映を行い、処理応答メッセージをブラウザ310に送信する。本発明の特定の実施形態においては、新規公開コンテンツの登録の際に、管理レベルの変更に伴うインデックスやキーワード、キーワード位置情報などのコンテンツ情報データベース内のデータを更新することもできる。
<セクションE:コンテンツ管理システムを用いたコンテンツ制作の実施形態>
以下に本発明のコンテンツ管理システム100を用いた、コンテンツ制作の実施形態を説明する。図11は、本発明の特定の実施形態における、コンテンツの著作から公開までの管理レベル変更を模式的に示した図である。コンテンツ・データ格納部352は、非公開コンテンツ管理データベース510と、編集コンテンツ管理データベース520と、公開コンテンツ管理データベース530とを含み構成される。なお、図11では、AUTHORのロールを有するユーザ毎に作成される非公開コンテンツ管理データベース510、および、編集依頼毎に作成される編集コンテンツ管理データベースは、便宜上、それぞれひとつとして参照されているが、その数は特に限定され得るものではない。
非公開コンテンツ管理データベース510は、非公開コンテンツ500aを格納し、著作者はブラウザ310aを介して、非公開コンテンツ500aにアクセスし、コンテンツの著作を行うことができる。一方、編集者は、この段階では非公開コンテンツ500aのDB名称暗号化鍵を保有しないため、コンテンツ500aへアクセスをする権原を有しない。しかし、著作者の非公開コンテンツ500aを、編集依頼として、非公開コンテンツの管理レベルを編集レベルに設定することにより、編集依頼を引受けた編集者は、コンテンツにアクセスする権原を獲得する。すなわち、ブラウザ310aを介して、オペレーションOP1で、新たに著作者と編集者とに関連付けられる編集コンテンツ管理データベース520を定義・作成し、非公開コンテンツ500aを、編集コンテンツ管理データベース520内に複製し編集コンテンツ500bとする。同時に、編集コンテンツ管理データベース520のDB名称暗号化鍵を、著作者と編集者とに対応するユーザ・データ格納部350内のキーストアに格納し、名称暗号化鍵を共有する。これにより、編集者は、ブラウザ310bを介して、コンテンツ500bの内容を、編集・校正することが可能となる。
なお、著作者ユーザから編集者ユーザへの編集依頼や、編集者ユーザから著作者ユーザへの著作依頼や、複数の著作者ユーザ間における共著依頼などのユーザ間のメッセージ交換、および、複数のユーザ間におけるキーストアの授受は、例えば、ユーザIDといった主体識別情報に関連付けて、他のユーザからのメッセージを記憶するメッセージボックスをサーバ処理部330の記憶部に定義し、メッセージボックスを介して行うことができる。ここで、メッセージボックスは、例えば、関連付けられたユーザIDに対してはフルアクセスの権原が設定され、他のユーザIDに対しては新規の書込みのみの権原が設定される記憶領域である。ユーザは、メッセージボックスの内容を確認することにより、依頼の有無の確認を行うことができる。しかしながら、本発明においては、キーストアの授受や共有のための処理については、システム内のユーザ間の安全な情報交換を実現する方法であればいかなる手段を用いてもかまわず、これまで知られているプライベートメッセージで用いられている標準的な技術、これまで知られているWebコラボレーションで使用されている技術も使用することができる。また、他の実施形態では、ユーザ管理データベースにおいて、ユーザIDとE−mailアドレスを関連付けて登録し、セキュリティ管理要求が小さいメッセージの交換は、Eメールによって交換してもかまわない。
上述のように、編集コンテンツ管理データベース520を一時的に作成し、共通のDB名称暗号化鍵を共有することにより、著作者と編集者といった複数のユーザ間でのコラボレーションが可能となる。なお、本発明の特定の実施形態では、編集中のコンテンツ500bの内容の更新を、一方のユーザが更新処理を行っているとき、ユーザの更新処理完了の指示を受けるまで他のユーザによる更新処理の実行を許可しない排他的な制御とすることにより、同一コンテンツにアクセスしているユーザ間の作業状態の混乱を防止し、コンテンツ編集・校正作業のコンシステンスが保つことができる。
一方、編集依頼をし、編集者による編集・校正作業の完了を確認した著作者は、ブラウザ310aを介して、オペレーションOP2で、非公開コンテンツ管理データベース510内の非公開のコンテンツ500aに、コンテンツ500bの内容で更新処理を行い、編集作業を完了させる。編集コンテンツ管理データベース520が以降の処理で不要である場合には、オペレーションOP5で、編集コンテンツ管理データベース520を削除することができる。さらに、著作者は、ブラウザ310aを介して、オペレーションOP3で、コンテンツ500aの管理レベルを公開レベルに設定し、公開コンテンツ500cとして、公開コンテンツ管理データベース530内に複製することができる。公開コンテンツを再び非公開とする場合には、著作者は、ブラウザ310aを介して、オペレーションOP4で公開コンテンツを削除することができる。
また、本発明のコンテンツ制作作業における他の実施形態によれば、編集コンテンツ管理データベースを用いたコンテンツの編集作業は、通信管理部348を用いることにより、著作者と編集者が同時的に協働作業を行うことができる。以下、本発明の、通信管理部348を用いた著作者−編集者間の同時的な協働作業について、再び図5を参照して説明する。なお、著作者および編集者が、すでにログイン済みであることを前提として説明する。
本発明の特定の実施形態において参照されるフロント処理部338は、処理要求メッセージを送信してきた著作者のブラウザ310aに対して、処理結果を処理応答メッセージとして返信する処理を実行する機能モジュールである。一方、他の編集者のブラウザ310bが同じコンテンツにアクセスしていた場合には、フロント処理部338が、ブラウザ310bには処理応答メッセージを送信しないため、ブラウザ310aにより変更されたコンテンツは、もう一方の編集者ブラウザ310bの表示内容に反映されず、排他的な制御をしない限り、作業状態のコンシステンスが保たれない恐れが生じるという問題がある。
通信管理部348は、上述の問題を解消するために設けられた機能モジュールであり、同一のコンテンツにアクセスしていて、処理要求メッセージの送信元ではないブラウザ310bへ、処理結果の反映させるために、再表示データを送信する機能を有する機能モジュールである。通信管理部348は、記憶部に格納されているユーザプロファイルを監視し、ログイン済みのユーザIDと、送信元のIPアドレス・ポート番号を関連付けて記憶している。さらに、通信管理部348は、各ユーザの現在の作業状態を保持する各ログインユーザIDに関連付けられる作業状態プロファイルを監視し、特定のコンテンツ管理データベースおよびコンテンツにアクセスしているユーザIDについては、ユーザIDと、処理対象特定情報を関連付けて記憶する。本発明のコンテンツ制作作業における他の実施形態によれば、コンテンツ管理処理要求の処理結果を受信したコンテンツ管理部344は、特定のコンテンツ・データへのコンテンツ管理処理であると判断した場合は、各コンテンツ管理処理における上述のコンテンツ管理処理プロセスとは別に、コンテンツ管理処理要求の送信元ユーザIDと処理対象特定情報とを含む、複数送信元アクセス判定要求を通信管理部348に対して送信する。
複数送信元アクセス判定要求を受信した通信管理部348は、複数送信元アクセス判定要求に含まれる、処理対象特定情報に関連付けられているユーザIDの中に、送信元ユーザID以外のユーザID(以降、非送信元ユーザIDとして参照)が関連付けられていないかの判定を行う。非送信元ユーザIDと関連付けられていないと判断した場合は、通信管理部348は、コンテンツに対して複数の送信元からのアクセスが行われていない旨をコンテンツ管理部344へ通知し、コンテンツ管理部344は、他のブラウザへの処理結果の反映のための処理プロセスを終了する。
一方、非送信元ユーザIDが関連付けられていた場合には、通信管理部348は、処理対象特定情報に対応するコンテンツに対して、現在複数の送信元からアクセスがあると判断し、認証承認管理部340に、表示内容更新処理要求に対応するコンテンツ管理処理識別値と、処理対象特定情報と、非送信元ユーザIDとを含む表示内容更新処理・承認要求を送信する。
表示内容更新処理・承認要求を受信した認証承認管理部340は、コンテンツ管理処理識別値と、処理対象特定情報と、非送信元ユーザIDと関連付けられるユーザプロファイル中に格納されている主体識別情報とに基づいて、表示内容更新処理の承認処理を実行し、承認処理結果を通信管理部348へ表示更新処理・承認結果応答を返す。通信管理部348は、承認されなかった場合には、クライアント処理部300へ、表示内容更新処理不許可応答メッセージを送信する。
一方、表示内容更新処理が承認された場合には、通信管理部348は、表示内容更新処理要求を、コンテンツ管理部344発行する。表示内容更新処理要求を受信したコンテンツ管理部344は、該非送信元ユーザIDに関連付けられる作業状態プロファイルに格納されている表示画面識別情報と、処理対象特定情報とに基づいて、コンテンツ・データ格納部352と連携して、内容更新表示処理応答を通信管理部348へ送信して、通信管理部348は、内容更新表示データを生成して、非該送信元ユーザIDに関連付けられている、IPアドレス・ポート番号に向けて、表示内容更新メッセージを送信する。送信元ユーザIDと関連付けられている処理対象特定情報に対して、さらに関連付けられている非送信元ユーザID毎に、上述の通信管理部348を用いた処理プロセスが実行される。
上述のように通信管理部348を用いることにより、コンテンツの更新処理を排他的な制御としなくとも、協働作業者間の編集作業のコンシステンスを保つことが可能となる。また、複数のユーザ間で、さらに作業状態プロファイル内の作業状態情報を共有することにより、両者で同一の編集画面およびコンテンツ表示内容を閲覧しながら、協働作業を行うこともできる。なお、通信管理部348を用いた同時的な協働作業は、著作者−編集者間のみならず、共著関係にある著作者間などの協働作業にも用いることができる。
上述の処理プロセスにより、著作者と編集者または、第一著作者と第二著作者といった、2人以上のユーザが使用するブラウザ上に、同一の表示画面と入力インタフェースを提供し、本コンテンツ管理システム100に付加的に提供される、チャット、音声通話システム、テレビ会議システムと併用することにより、連絡を取り合いつつ同時的な協働作業を行うことが可能となり、編集作業の効率性を向上させることができる。
以上、本コンテンツ管理システムにおける処理の詳細について説明したが、上述の実施形態においては、各コンテンツ管理データベースの内容に対する操作は、逐一該データベースへSQL文を発行し、問い合わせ処理を行うように記載しているが、この方法に限定されるものではない。例えば、ログインユーザのコンテンツ管理処理の対象となるコンテンツ管理データベース内の情報を、ログインユーザに対応する作業状態プロファイル中に格納し、コンテンツ管理処理を作業状態プロファイルのコンテンツ管理データベース情報に対して行い、一定時間経過、本システムのアイドル状態、もしくはユーザからのコンテンツ管理データベース反映指令を受けるなどのタイミングで、コンテンツ管理データベースへ反映させる処理とし、これによりデータベースへのアクセス負荷を低減させることができる。通信管理部348を用いた同時的な協働作業においては、協働作業者間で、共通の作業状態プロファイル内の情報を共有し、共通の作業状態プロファイル内の情報を参照および書き換えを行うことにより、更新応答時間を短縮し、データベースへのアクセス負荷を低減させることができる。
<セクションF:コンテンツ管理システムを用いたコンテンツ利用の実施形態>
再び図11を参照して、コンテンツ利用の実施形態について説明する。本発明のコンテンツ管理システムを用いた、コンテンツ利用の特定の実施形態においては、USERのロールが付されている利用者は、ブラウザ310cを介して、公開コンテンツ管理データベース530内に格納されている公開コンテンツ、例えば、オペレーションOP3の管理レベルの変更処理によって公開された公開コンテンツ500c、その他の公開コンテンツ500d・500eに対して、閲覧のみのアクセス権原を与えられ、各公開コンテンツ500c〜500eへアクセスし、内容を閲覧することができる。本発明においては、コンテンツの閲覧は、上述したコンテンツ選択要求や表示頁送り要求、指定頁表示要求と同様の処理プロセスを用いて、著作用のGUIを含まない閲覧用のGUIから構成される表示画面を用いて行うことができる。なお、本発明の特定の実施形態においては、コンテンツの閲覧は、一度の閲覧要求に対して所定の表示範囲、例えばコンテンツの印刷形態における頁毎に、作成された表示データに対して行われ、一括したコンテンツのダウンロードを許可しないことにより、一括したコンテンツの複製を防止し、著作権保護を強化することができる。
さらに、本発明の特定の実施形態においては、ドキュメント形式のコンテンツに関しては、チャプター、セクション、パラグラフ、といったブロック単位で、イラストレーションやイメージ形式のコンテンツに関しては、イメージ単位でコンテンツが管理され、利用者は、公開コンテンツを検索し、これらのコンテンツ構成単位で閲覧要求を行うことができる。さらに、複数のコンテンツ構成単位を、順序および配置を含むレイアウト関係と関連付けたコンテンツ集合として、著作者または編集者によりコンテンツ管理データベースに登録される。また、利用者ユーザも、複数のコンテンツを関連付けて融合コンテンツとして登録することができる。この場合には、複数のコンテンツの著作者は異なることを妨げられない。融合コンテンツは、公開コンテンツ管理データベースおよびコンテンツ情報データベースに登録され、融合コンテンツも新たに検索対象とすることができる。
なお、本発明のコンテンツ管理システムを用いたコンテンツ利用の特定の実施形態においては、コンテンツはブロック単位やイメージ単位といったコンテンツ構成単位で管理されるため、著作者によって指定される、もしくは閲覧者によって指定された、一連のコンテンツ構成単位の関連情報が、コンテンツ・データ格納部352およびコンテンツ情報データベース内に保存される。
本発明のコンテンツ管理システムを用いたコンテンツ利用の特定の実施形態においては、さらに、コンテンツに対して評価を設定することができ、評価は、コンテンツ情報データベースに対応するコンテンツIDと関連付けて記憶される。公開コンテンツの評価は、閲覧した利用者ユーザに対して、評価入力のGUIを提示し、入力された評価情報に基づいて設定することができる。
本発明の特定の実施形態では、利用者による公開コンテンツの閲覧の際には、サーバ処理部330は、閲覧した頁数をカウント、または閲覧時間を計時してコンテンツ利用状況を記憶し、コンテンツごとにあらかじめ設定された、単位頁あたりまたは単位時間当たりの料金(課金条件)に基づいて、決済システムに接続する専用回線を用いて課金処理を行うことができる。さらに、各ページの著作権を有するユーザには、閲覧したページに含まれるコンテンツに関連付けられる著作権者ユーザIDと、各ユーザIDに対するページ内のコンテンツの面積割合と、コンテンツの評価情報に基づいて設定される報酬比率と、各ページに対して閲覧者に課金した料金とに基づいて、インセンティブが案分され、決済システムにより支払われる。このような課金条件は、各コンテンツIDに関連付けて記憶され、著作者ユーザや編集者ユーザは、本システムを用いて設定することができる。
課金処理は、クレジットカードなどによる信用決済やデビット・カードを用いた即時決済、電子マネーによる支払い、現金払いや金融機関への振込みなどに対応してもよい。
さらに、本発明のコンテンツ管理システムを用いたコンテンツ利用の他の実施形態においては、ユーザは、コンテンツを、ページごとではなく、関連付けられたコンテンツ単位全体を専用再生装置にダウンロード・暗号化保存し、専用再生装置を用いてコンテンツを閲覧することができる。暗号化は、専用再生装置の不揮発メモリやスマートカードなどに複製不可能に記憶された暗号化鍵を用いて暗号化され、暗号化鍵もしくはコンテンツのデータは、決済処理後にユーザに対して頒布される。この構成を採用することによって、暗号化データを他の記憶媒体へコピーしたとしても、ダウンロードした再生装置以外では再生することができないため、コンテンツが好適に著作権を保護され、ユーザは、オンライン環境から離れて閲覧することができる。さらに、書店などに設置された特定のクライアント端末112を専用端末とし、印刷可能なコンテンツに関しては、専用端末に対してコンテンツ全体の印刷許可を与え、印刷物として利用者に提供し、課金処理を行うことができる。
これまで本発明を図面に示した実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…コンテンツ管理システム、102…Webアプリケーション・サーバ、104…データベース・サーバ、108…ファイアウォール、110…管理端末、112〜116…クライアント端末、120…ユーザ・データ、122…コンテンツ・データベース、124…ページ・データ、126…記憶領域、130…ネットワーク、132…内部ネットワーク、134…内部セグメント、200…MPU、202…不揮発性メモリ、204…メモリ、206…記憶制御用インタフェース、208…記憶装置、210…内部バス、212…インタフェース、214…入出力装置、216…VRAM、218…グラフィック・チップ、220…ディスプレイ装置、222…NIC、224…ネットワーク、300…クライアント処理部、302…C通信部、304…C暗号化通信処理部、306…送信プラグイン、308…受信プラグイン、310…ブラウザ、312…認証プラグイン、314…C認証情報記憶部、320…ネットワーク、330…サーバ処理部、332…S通信部、334…S暗号化通信処理部、336…S認証情報記憶部、338…フロント処理部、340…認証承認管理部、342…認証情報発行部、344…コンテンツ管理部、346…ページ・データ格納部、348…通信管理部、350…ユーザ・データ格納部、352…コンテンツ・データ格納部、400…ユーザ情報・関連テーブル群A、402…ユーザテーブル、404…ロールマップテーブル、406…管理コンテンツDB情報テーブル、408…管理コンテンツテーブル情報テーブル、410…ユーザ情報・関連テーブル群B、412…コンテンツDB情報テーブル、414…コンテンツテーブル情報テーブル、416…コンテンツDB所有者情報テーブル、418…グループ・テーブル、420…コンテンツ管理処理対応マップ、500…コンテンツ、510…非公開コンテンツ管理データベース、520…編集コンテンツ管理データベース、530…公開コンテンツ管理データベース