(57)【要約】      （修正有）【課題】ネットワークを介する、コンテンツ管理システムを提供すること。【解決手段】本発明のサーバ手段３３０は、コンテンツおよびユーザ情報を格納するデータベース手段（３５０、３５２）を備え、端末手段３００の送信プラグイン３０６および受信プラグイン３０８を介して端末手段３００とのトランザクションを行い、コンテンツ管理処理を実行する。サーバ手段３３０は、受信したメッセージに含まれるイベント情報から、要求されるコンテンツ管理処理を判断して選択実行し、処理結果を含む表示データを端末手段３００へ送信する。非公開としたいコンテンツは、データベース手段３５０に格納される管理名称を暗号化した、暗号化名称によって定義される非公開コンテンツ管理データベースに格納される。【選択図】図５
2008084182.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してコンテンツを管理および提供するためのコンテンツ管理システムであって、前記コンテンツ管理システムは、
前記ネットワークに接続され、前記コンテンツを格納するデータベース手段を含むサーバ手段と、
前記ネットワークに接続され、ブラウザと、前記サーバ手段が生成し、コンテンツ管理処理に対応付けられる領域の提示指令を含む表示データを受信して、前記ブラウザ上に表示する受信プラグインと、前記ブラウザの前記領域に対する入力イベントを識別して、サーバ手段に対する要求を生成し、前記入力イベントと前記要求とを含むメッセージを前記サーバ手段に送信する送信プラグインと
を含む端末手段とを備え、
前記サーバ手段は、前記端末手段が送信した前記メッセージを受信して、前記メッセージから、前記ブラウザが検出した前記入力イベントおよび入力が行われた前記領域を特定して、前記入力イベントおよび前記領域に対応する指令された前記コンテンツ管理処理を選択実行して、前記データベース手段に格納される前記コンテンツを更新し、前記コンテンツ管理処理の結果応答を含む前記表示データを生成し、生成した前記表示データを前記端末手段へ送信する、
コンテンツ管理システム。
【請求項２】
前記入力イベントは、前記端末手段に備えられたキーボードに対する入力操作であり、前記メッセージは、入力されたキーを識別する入力キー情報を含み、前記サーバ手段は、前記コンテンツ管理処理として、前記入力キー情報から文字列を識別し、前記データベース手段に格納される前記コンテンツに対して、前記文字列の入力処理を実行する
請求項１に記載のコンテンツ管理システム。
【請求項３】
前記データベース手段は、非公開目的の前記コンテンツを格納する、非公開コンテンツ管理データベースを含み、
前記サーバ手段は、前記非公開コンテンツ管理データベースのデータベース管理名称および前記非公開コンテンツ管理データベースにおいて定義されるテーブルのテーブル管理名称の少なくとも１つを含む管理名称を格納する、管理名称格納手段をさらに含み、
前記非公開コンテンツ管理データベースは、該非公開コンテンツ管理データベースに対応する前記管理名称と、前記管理名称を暗号化するための名称暗号化鍵とによって得られた暗号化名称で管理され、
前記サーバ手段は、前記暗号化名称を用いて、前記非公開コンテンツ管理データベースへアクセスして前記コンテンツ管理処理を実行する、
請求項１または２に記載のコンテンツ管理システム。
【請求項４】
前記サーバ手段は、ユーザ識別値と、前記ユーザ識別値に対応付けた第１証明情報と、前記ユーザ識別値と前記非公開コンテンツ管理データベースの前記管理名称との対応関係とを含むユーザ・データを格納するユーザ・データ格納手段を含み、
前記端末手段は、第２証明情報と、前記非公開コンテンツ管理データベースに対応する前記名称暗号化鍵とを格納するための認証情報格納手段を含み、
前記サーバ手段は、前記端末手段から受信した前記第２証明情報と、前記ユーザ・データに含まれ、前記端末手段から受信したユーザ識別値に対応する前記第１証明情報とを比較して、認証処理を実行する認証手段と、
前記ユーザ識別値に応じて、前記コンテンツ管理処理の実行を承認する承認手段とを含む、
請求項３に記載のコンテンツ管理システム。
【請求項５】
前記コンテンツ管理システムは、さらに、前記ネットワークに接続される、第２端末手段を備え、
前記データベース手段は、編集中の前記コンテンツを格納する、編集コンテンツ管理データベースをさらに含み、
前記管理名称格納手段は、前記編集コンテンツ管理データベースに対応する前記管理名称を格納し、
前記サーバ手段は、前記編集コンテンツ管理データベースの該管理名称を暗号化するための第２名称暗号化鍵を発行するための、名称暗号化鍵発行手段を含み、
前記編集コンテンツ管理データベースは、対応する前記管理名称と前記第２名称暗号化鍵とによって得られた第２暗号化名称で管理され、
前記サーバ手段は、前記コンテンツ管理処理として、前記非公開コンテンツ管理データベースに対応する該暗号化名称と、前記編集コンテンツ管理データベースに対応する該暗号化名称とを用いて、前記非公開コンテンツ管理データベースに格納される前記コンテンツを、前記編集コンテンツ管理データベースへ複製し、
前記端末手段と前記第２端末手段とに、前記第２名称暗号化鍵を送信する、
請求項３または４に記載のコンテンツ管理システム。
【請求項６】
前記データベース手段は、公開目的の前記コンテンツを格納する公開コンテンツ管理データベースと、前記コンテンツと、該コンテンツの著作者に対応するユーザ識別値と、該コンテンツの閲覧に対する課金条件とを対応付けて記憶し、
前記サーバ手段は、前記端末手段から送信される閲覧指示要求に応じて、前記公開コンテンツ管理データベースからコンテンツ表示内容を抽出し、前記コンテンツ表示内容を含む前記表示データを生成し、生成した前記表示データを前記端末手段へ送信し、
前記表示データに含まれる前記コンテンツの著作者に対応する前記ユーザ識別値と、前記課金条件とから課金料を算出し、課金処理を実行する、
請求項１〜５のいずれか１項に記載の、コンテンツ管理システム。
【請求項７】
前記データベース手段は、さらに、複数の前記コンテンツを、順序また配置を関連付けてコンテンツ集合として記憶し、
前記サーバ手段は、前記端末手段から送信される閲覧指示要求に応じて、前記公開コンテンツ管理データベースから、前記コンテンツ集合に含まれる前記コンテンツに対応するコンテンツ表示内容を抽出して、前記コンテンツ表示内容を含む前記表示データを生成する、
請求項６に記載のコンテンツ管理システム。
【請求項８】
ネットワークを介してコンテンツを管理および提供し、前記ネットワークに接続され、コンテンツを格納するデータベース手段を含むサーバ手段と、前記ネットワークに接続され、ブラウザと、コンテンツ管理処理に対応付けられる領域の提示指令を含む表示データを生成する表示データを前記サーバ手段から受信して、前記ブラウザ上に表示する受信プラグインと、前記ブラウザの前記領域に対する入力イベントを識別して、サーバ手段に対する要求を生成し前記入力イベントと前記要求とを含むメッセージを前記サーバ手段に送信する、送信プラグインとを含む端末手段とを含む、コンテンツ管理システムでのコンテンツ管理方法であって、前記コンテンツ管理方法は、
前記端末手段が送信した前記メッセージを受信するステップと、
前記メッセージから、前記ブラウザが検出した前記入力イベントおよび入力が行われた前記領域を特定するステップと、
前記入力イベントおよび前記領域に対応する指令されたコンテンツ管理処理を選択実行して、前記データベース手段に格納される前記コンテンツを更新するステップと、
更新された前記コンテンツを含む前記表示データを生成し、生成した前記表示データを前記端末手段へ送信するステップと
を前記サーバ手段に実行させる、コンテンツ管理方法。
【請求項９】
前記入力イベントは、前記端末手段に備えられたキーボードに対する入力操作であり、前記メッセージは、入力されたキーを識別する入力キー情報を含み、
前記更新するステップは、前記入力キー情報から文字列を識別し、前記データベース手段に格納される前記コンテンツに対して、前記文字列の入力処理を実行するステップである、請求項８に記載のコンテンツ管理方法。
【請求項１０】
前記更新するステップは、さらに、
非公開コンテンツ管理データベースの作成要求であるか否かを判断するステップと、
前記非公開コンテンツ管理データベースの作成要求であると判断した場合に前記コンテンツ管理処理として新規の非公開コンテンツ管理データベースを作成するステップとを含み、
前記新規の非公開コンテンツ管理データベースを作成するステップは、
前記非公開コンテンツ管理データベースのデータベース管理名称および前記非公開コンテンツ管理データベースにおいて定義されるテーブルのテーブル管理名称の少なくとも１つを含む管理名称を生成し、前記管理名称を前記データベース手段に格納するステップと、
前記非公開コンテンツ管理データベースの前記管理名称を暗号化するための名称暗号化鍵を生成するステップと、
前記管理名称と、前記名称暗号化鍵とを用いて、前記非公開コンテンツ管理データベースの暗号化名称を生成するステップと、
該非公開コンテンツ管理データベースを、前記管理名称を用いて定義・作成するステップと、
前記名称暗号化鍵を前記端末手段に送信するステップと
を含む、
請求項８に記載のコンテンツ管理方法。
【請求項１１】
前記コンテンツ管理方法は、さらに
前記端末手段から送信された名称暗号化鍵を含む前記メッセージを受信するステップと、
前記データベース手段が格納する前記管理名称と、前記メッセージに含まれる前記名称暗号化鍵とを用いて、前記暗号化名称を生成するステップとを含み、
前記更新するステップは、
前記暗号化名称を用いて、前記非公開コンテンツ管理データベースへアクセスして前記コンテンツ管理処理を実行するステップを含む
請求項１０に記載のコンテンツ管理方法。
【請求項１２】
前記サーバ手段は、ユーザ識別値と、ユーザ識別値に対応付けた第１証明情報とを含むユーザ・データを格納し、前記コンテンツ管理方法は、さらに、
前記端末手段から受信した第２証明情報と、前記端末手段から受信した前記ユーザ識別値に対応する、前記ユーザ・データに格納される前記第１証明情報とを比較して、認証処理を実行するステップと、
前記ユーザ識別値に応じて、前記コンテンツ管理処理の実行を承認する承認ステップとを含む、
請求項８〜１１のいずれか１項に記載のコンテンツ管理方法。
【請求項１３】
ネットワークを介してコンテンツを管理および提供するためのコンテンツ管理方法を、情報処理装置で実行させるためのコンピュータ実行可能なプログラムであって、
前記プログラムは、
前記コンテンツを格納するデータベース手段と、
端末手段が送信プラグインを介して送信したメッセージを受信する機能手段と、
前記メッセージから、前記端末手段のブラウザが検出した入力イベントおよび入力が行われた領域を特定する機能手段と、
前記入力イベントおよび前記領域に対応する指令されたコンテンツ管理処理を選択実行して前記データベース手段に格納される前記コンテンツを更新する機能手段と、
更新された前記コンテンツを含む表示データを生成し、生成した前記表示データを前記端末手段の受信プラグインへ送信する機能手段と
を前記情報処理装置に実現する、
プログラム。
【請求項１４】
前記入力イベントは、前記端末手段に備えられたキーボードに対する入力操作であり、前記メッセージは、入力されたキーを識別する入力キー情報を含み、
前記更新する機能手段は、前記入力キー情報から文字列を識別し、前記データベース手段に格納される前記コンテンツに対して、前記文字列の入力処理を実行する機能手段である、請求項１３に記載のプログラム。
【請求項１５】
前記更新する機能手段は、さらに、
非公開コンテンツ管理データベースの作成要求であるか否かを判断する機能手段と、
前記非公開コンテンツ管理データベースの作成要求であると判断した場合に前記コンテンツ管理処理として新規の非公開コンテンツ管理データベースを作成する機能手段とを含み、前記新規の非公開コンテンツ管理データベースを作成する機能手段は、
前記非公開コンテンツ管理データベースのデータベース管理名称および前記非公開コンテンツ管理データベースにおいて定義されるテーブルのテーブル管理名称の少なくとも１つを含む管理名称を生成し、前記管理名称を前記データベース手段に格納する機能手段と、
前記非公開コンテンツ管理データベースの前記管理名称を暗号化するための名称暗号化鍵を生成する機能手段と、
前記管理名称と、前記名称暗号化鍵とを用いて、前記非公開コンテンツ管理データベースの暗号化名称を生成する機能手段と、
該非公開コンテンツ管理データベースを、前記管理名称を用いて定義・作成する機能手段と、
前記名称暗号化鍵を前記端末手段に送信する機能手段と
を含む、
請求項１３に記載のプログラム。
【請求項１６】
前記受信する機能手段は、
前記端末手段から送信された名称暗号化鍵を含む前記メッセージを受信し、
前記プログラムは、
前記データベース手段が格納する前記管理名称と、前記メッセージに含まれる前記名称暗号化鍵とを用いて、前記暗号化名称を生成する機能手段とを含み、
前記更新する機能手段は、
前記暗号化名称を用いて、前記非公開コンテンツ管理データベースへアクセスして前記コンテンツ管理処理を実行する機能手段を含む、
請求項１５に記載のプログラム。
【請求項１７】
前記プログラムは、さらに、
ユーザ識別値と、前記ユーザ識別値に対応付けた第１証明情報とを含むユーザ・データを格納するユーザ・データを格納する機能手段と、
前記端末手段から受信した第２証明情報と、前記ユーザ・データに含まれる、前記端末手段から受信した前記ユーザ識別値に対応する前記第１証明情報とを比較して、認証処理を実行する機能手段と、
前記ユーザ識別値に応じて、前記コンテンツ管理処理の実行を承認する機能手段とを含む、
請求項１４〜１６のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ管理システムに関し、より詳細には、情報通信ネットワークを介してテキスト、静止画、動画、音声、プログラムを含むコンテンツの制作および提供を行うためのコンテンツ管理処理を制御する、コンテンツ管理システム、コンテンツ管理方法およびコンテンツ管理処理を実行するためのプログラムに関する。
【背景技術】
【０００２】
近年、情報通信ネットワーク技術の発展および高速大容量のネットワーク・インフラストラクチャの整備により、ネットワークを介した協働的なオンライン作業が可能となり、さらに協働作業により得られたコンテンツを、ネットワークを通じて利用者に広く提供することが可能となった。
【０００３】
出版業界においては、コンテンツの企画から著作、編集・校正、印刷までの各段階において、または複数の段階にわたって、オンラインで作業を行うことにより、出版業務の円滑化および効率化が計られている。さらに、ネットワークを介してコンテンツの提供要求を受付け、ネットワークを介して電子データとしてコンテンツを配信する方法や、コンテンツを印刷物や各種メディアに出力し、利用者に提供するシステムが提案されている。
【０００４】
情報処理装置と、通信ネットワークとをうまく利用することによって、作業効率や利便性を向上させることができる。その一方で、ネットワークを流通する電子情報の不正な取得、またサーバや端末上に保持される電子情報への不正アクセス、不正コピーや不正流出など、近年、情報セキュリティ上の問題が社会問題化し、電子情報の取り扱いには充分配慮する必要がある。
【０００５】
このような背景から、コンテンツのような著作権を有する保護すべきデータを保管するサーバは、そのアクセス権原を管理し、許可された利用者の利便性を保ちつつ、アクセス権原の無い第三者からの不正アクセスを禁止するように設計・運用されることが要求される。また、利用者に配布されるコンテンツの著作権保護のみならず、コンテンツの制作段階においても充分な情報セキュリティ管理が施されることが好ましい。上述したコンテンツ制作および提供という観点から、これまで種々の技術が提案されている。
【０００６】
例えば、特開２００４−１２６９９９号公報（特許文献１）では、ネットワークを介して文書の管理と保管とを行うサーバにアクセスすることにより、複数の作業者が編集用端末から出版物の編集および校正を行う出版作業支援システムが開示されている。特許文献１に開示されたシステムでは、編集・校正時には、編集用端末に文書の管理保管サーバから編集原稿がダウンロードされる。ダウンロードされた編集原稿は、著作者から送られてきた校正原稿に基づいて編集用端末上で編集校正作業が行われ、文書の管理保管サーバに再び格納される。
【０００７】
また、特開２００６−３１１２０号公報（特許文献２）では、出版物の企画から著作、編集、印刷までの出版作業を、ネットワークを介して行うシステムが開示されている。特許文献２に開示されたシステムでは、著作者により作成された原稿はネットワークを介してサーバへ送信登録され、サーバへのアクセスは、ユーザＩＤおよびパスワードによって認証されたユーザのみが許可される。
【０００８】
一方で、出版物をオンラインで販売し、出版物を電子出版物として、印刷された出版物として提供する方法も開示されている。例えば、特開２００６−１１３７７５号公報（特許文献３）では、複数の著作者により作成されたコンテンツを書籍として提供するためのコンテンツ管理方法および販売方法が開示されている。また、特開２００６−１０６９１５号公報（特許文献４）では、購入希望者にコンテンツ内容を限られた時間内だけ誌読を許可し、購入者が選択した複数のコンテンツを取り纏めて編集し、編集したコンテンツを、印刷された書籍または電子書籍として利用者に提供するシステムが開示されている。
【特許文献１】特開２００４−１２６９９９号公報
【特許文献２】特開２００６−３１１２０号公報
【特許文献３】特開２００６−１１３７７５号公報
【特許文献４】特開２００６−１０６９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した先行文献に開示されているコンテンツの管理方法は、コンテンツ制作段階やコンテンツ公開段階各々におけるコンテンツ管理方法については開示されているもの、コンテンツ制作から公開まで、不正アクセスおよび不正な情報取得を制限しつつ、一貫して管理することができるオンライン作業環境を提供するものではなかった。また、コンテンツ制作段階におけるコンテンツの著作権保護に関しては、不正アクセスや不正コピーなどの不正行為に対して充分に対応する、という点については何ら開示するものではなかった。また、著作者と編集者とのやり取りを通じて、著作者や編集者のクライアント端末上に、無防備にデータが残されるという問題もあった。
【００１０】
一般に、コンテンツなどの電子データは、データベース・システムおよびデータベース・サーバを用いて管理することができる。データベース・サーバを用いて電子データを管理する場合には、適切なユーザ認証と併用することにより、サーバへのアクセス権原が制御されている。さらに、ユーザ認証により、ユーザに応じてデータベースおよびビューへのアクセス権原の制限および付与を管理することにより、データベースがフィールドレベルで保護される。しかしながら、従来のユーザ認証のみの技術では、ユーザＩＤやパスワードが漏洩すると第三者であってもアクセス可能となるという問題があった。
【課題を解決するための手段】
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、コンテンツ制作から公開まで一貫して、著作権を最大限に保護するようにコンテンツへのアクセス権原を設定・管理し、ネットワークを介したオンライン作業環境を実現する、コンテンツ管理システム、コンテンツ管理方法およびプログラムを提供することを目的とする。
【００１２】
また本発明は、特定の利用者のみがアクセス権原を有する、コンテンツの保管場所を実現する、コンテンツ管理システム、コンテンツ管理方法およびプログラムを提供することを目的とする。
【００１３】
本発明では、上述した目的を達成するために、コンテンツ制作時には、コンテンツの著作、編集および校正の作業は、データベース・サーバにリモートアクセスし、オンラインでコンテンツ管理データベースの内容の更新作業を行うことにより行われ、データは無防備にクライアント端末側に残されることがなく、より高い著作権の保護機能を提供する。さらに、著作者や編集者のクライアント端末からデータベース・サーバへのアクセスは、クライアント端末とサーバとの間の相互認証および暗号化通信によりネットワークを介して行われる。
【００１４】
さらに本発明では、公開用のコンテンツは、公開コンテンツ管理データベースに保管され、利用者は公開コンテンツ管理データベースにアクセスし、クライアント端末上でオンライン閲覧することができる。
【００１５】
クライアント端末における、コンテンツの表示は、サーバ上のサーバ・プログラムにより、コンテンツ管理データベース内のデータを基に動的に生成される表示データを、クライアント端末上の所定のクライアント・プログラムにより受信して、ブラウザ・アプリケーションにより提示される。さらに、コンテンツに対する処理をサーバに要求するためのグラフィカル・ユーザ・インタフェース（ＧＵＩ）は、サーバ・プログラムにより生成される表示データに含まれる指示に基づいて、ブラウザ・アプリケーションにより提示される。
【００１６】
一方、クライアント端末からサーバへのコンテンツに対する処理要求は、クライアント端末上で動作するブラウザ・アプリケーションで検出されたイベント情報に基づいて、ブラウザ・アプリケーションにアドオンされるクライアント・プログラムによって生成されるイベント情報を含む制御指令を、サーバ側へ送信して、サーバ側では送られてきた制御指令に含まれるイベント情報に基づいて、サーバ・プログラムによって、実行するべき処理が判断され、処理が実行され、コンテンツ管理データベースに反映される。
【００１７】
すなわち、本発明によれば、ネットワークを介してコンテンツを管理および提供するためのコンテンツ管理システムであって、前記コンテンツ管理システムは、
前記ネットワークに接続され、前記コンテンツを格納するデータベース手段を含むサーバ手段と、
前記ネットワークに接続され、ブラウザと、前記サーバ手段が生成し、コンテンツ管理処理に対応付けられる領域の提示指令を含む表示データを受信して、前記ブラウザ上に表示する受信プラグインと、前記ブラウザの前記領域に対する入力イベントを識別して、サーバ手段に対する要求を生成し、前記入力イベントと前記要求とを含むメッセージを前記サーバ手段に送信する送信プラグインと
を含む端末手段とを備え、
前記サーバ手段は、前記端末手段が送信した前記メッセージを受信して、前記メッセージから、前記ブラウザが検出した前記入力イベントおよび入力が行われた前記領域を特定して、前記入力イベントおよび前記領域に対応する指令された前記コンテンツ管理処理を選択実行して、前記データベース手段に格納される前記コンテンツを更新し、前記コンテンツ管理処理の結果応答を含む前記表示データを生成し、生成した前記表示データを前記端末手段へ送信する、
コンテンツ管理システムが提供される。
【００１８】
前記入力イベントは、前記端末手段に備えられたキーボードに対する入力操作であり、前記メッセージは、入力されたキーを識別する入力キー情報を含み、前記サーバ手段は、前記コンテンツ管理処理として、前記入力キー情報から文字列を識別し、前記データベース手段に格納される前記コンテンツに対して、前記文字列の入力処理を実行することができる。
【００１９】
前記データベース手段は、非公開目的の前記コンテンツを格納する、非公開コンテンツ管理データベースを含み、
前記サーバ手段は、前記非公開コンテンツ管理データベースのデータベース管理名称および前記非公開コンテンツ管理データベースにおいて定義されるテーブルのテーブル管理名称の少なくとも１つを含む管理名称を格納する、管理名称格納手段をさらに含み、
前記非公開コンテンツ管理データベースは、該非公開コンテンツ管理データベースに対応する前記管理名称と、前記管理名称を暗号化するための名称暗号化鍵とによって得られた暗号化名称で管理され、
前記サーバ手段は、前記暗号化名称を用いて、前記非公開コンテンツ管理データベースへアクセスして前記コンテンツ管理処理を実行することができる。
【００２０】
前記サーバ手段は、ユーザ識別値と、前記ユーザ識別値に対応付けた第１証明情報と、前記ユーザ識別値と前記非公開コンテンツ管理データベースの前記管理名称との対応関係とを含むユーザ・データを格納するユーザ・データ格納手段を含み、
前記端末手段は、第２証明情報と、前記非公開コンテンツ管理データベースに対応する前記名称暗号化鍵とを格納するための認証情報格納手段を含み、
前記サーバ手段は、前記端末手段から受信した前記第２証明情報と、前記ユーザ・データに含まれ、前記端末手段から受信したユーザ識別値に対応する前記第１証明情報とを比較して、認証処理を実行する認証手段と、
前記ユーザ識別値に応じて、前記コンテンツ管理処理の実行を承認する承認手段とを含むことができる。
【００２１】
また、本発明によれば、前記コンテンツ管理システムは、さらに、前記ネットワークに接続される、第２端末手段を備え、
前記データベース手段は、編集中の前記コンテンツを格納する、編集コンテンツ管理データベースをさらに含み、
前記管理名称格納手段は、前記編集コンテンツ管理データベースに対応する前記管理名称を格納し、
前記サーバ手段は、前記編集コンテンツ管理データベースの該管理名称を暗号化するための第２名称暗号化鍵を発行するための、名称暗号化鍵発行手段を含み、
前記編集コンテンツ管理データベースは、対応する前記管理名称と前記第２名称暗号化鍵とによって得られた第２暗号化名称で管理され、
前記サーバ手段は、前記コンテンツ管理処理として、前記非公開コンテンツ管理データベースに対応する該暗号化名称と、前記編集コンテンツ管理データベースに対応する該暗号化名称とを用いて、前記非公開コンテンツ管理データベースに格納される前記コンテンツを、前記編集コンテンツ管理データベースへ複製し、
前記端末手段と前記第２端末手段とに、前記第２名称暗号化鍵を送信する、コンテンツ管理システムが提供される。
【００２２】
前記データベース手段は、公開目的の前記コンテンツを格納する公開コンテンツ管理データベースと、前記コンテンツと、該コンテンツの著作者に対応するユーザ識別値と、該コンテンツの閲覧に対する課金条件とを対応付けて記憶し、
前記サーバ手段は、前記端末手段から送信される閲覧指示要求に応じて、前記公開コンテンツ管理データベースからコンテンツ表示内容を抽出し、前記コンテンツ表示内容を含む前記表示データを生成し、生成した前記表示データを前記端末手段へ送信し、
前記表示データに含まれる前記コンテンツの著作者に対応する前記ユーザ識別値と、前記課金条件とから課金料を算出し、課金処理を実行することができる。
【００２３】
また、前記データベース手段は、さらに、複数の前記コンテンツを、順序また配置を関連付けてコンテンツ集合として記憶し、
前記サーバ手段は、前記端末手段から送信される閲覧指示要求に応じて、前記公開コンテンツ管理データベースから、前記コンテンツ集合に含まれる前記コンテンツに対応するコンテンツ表示内容を抽出して、前記コンテンツ表示内容を含む前記表示データを生成することができる。
【００２４】
さらに、本発明によれば、ネットワークを介してコンテンツを管理および提供し、前記ネットワークに接続され、コンテンツを格納するデータベース手段を含むサーバ手段と、前記ネットワークに接続され、ブラウザと、コンテンツ管理処理に対応付けられる領域の提示指令を含む表示データを生成する表示データを前記サーバ手段から受信して、前記ブラウザ上に表示する受信プラグインと、前記ブラウザの前記領域に対する入力イベントを識別して、サーバ手段に対する要求を生成し、前記入力イベントと前記要求とを含むメッセージを前記サーバ手段に送信する、送信プラグインとを含む端末手段とを含む、コンテンツ管理システムでのコンテンツ管理方法であって、前記コンテンツ管理方法は、
前記端末手段が送信した前記メッセージを受信するステップと、
前記メッセージから、前記ブラウザが検出した前記入力イベントおよび入力が行われた前記領域を特定するステップと、
前記入力イベントおよび前記領域に対応する指令されたコンテンツ管理処理を選択実行して、前記データベース手段に格納される前記コンテンツを更新するステップと、
更新された前記コンテンツを含む前記表示データを生成し、生成した前記表示データを前記端末手段へ送信するステップと
を前記サーバ手段に実行させる、コンテンツ管理方法も提供される。
【００２５】
前記入力イベントは、前記端末手段に備えられたキーボードに対する入力操作であり、前記メッセージは、入力されたキーを識別する入力キー情報を含み、
前記更新するステップは、前記入力キー情報から文字列を識別し、前記データベース手段に格納される前記コンテンツに対して、前記文字列の入力処理を実行することができる。
【００２６】
また、前記更新するステップは、さらに、
非公開コンテンツ管理データベースの作成要求であるか否かを判断するステップと、
前記非公開コンテンツ管理データベースの作成要求であると判断した場合に前記コンテンツ管理処理として新規の非公開コンテンツ管理データベースを作成するステップとを含み、
前記新規の非公開コンテンツ管理データベースを作成するステップは、
前記非公開コンテンツ管理データベースのデータベース管理名称および前記非公開コンテンツ管理データベースにおいて定義されるテーブルのテーブル管理名称の少なくとも１つを含む管理名称を生成し、前記管理名称を前記データベース手段に格納するステップと、
前記非公開コンテンツ管理データベースの前記管理名称を暗号化するための名称暗号化鍵を生成するステップと、
前記管理名称と、前記名称暗号化鍵とを用いて、前記非公開コンテンツ管理データベースの暗号化名称を生成するステップと、
該非公開コンテンツ管理データベースを、前記管理名称を用いて定義・作成するステップと、
前記名称暗号化鍵を前記端末手段に送信するステップと
を含むことができる。
【００２７】
前記コンテンツ管理方法は、さらに
前記端末手段から送信された名称暗号化鍵を含む前記メッセージを受信するステップと、
前記データベース手段が格納する前記管理名称と、前記メッセージに含まれる前記名称暗号化鍵とを用いて、前記暗号化名称を生成するステップとを含み、
前記更新するステップは、
前記暗号化名称を用いて、前記非公開コンテンツ管理データベースへアクセスして前記コンテンツ管理処理を実行するステップを含むことができる。
【００２８】
また、前記サーバ手段は、ユーザ識別値と、ユーザ識別値に対応付けた第１証明情報とを含むユーザ・データを格納し、前記コンテンツ管理方法は、さらに、
前記端末手段から受信した第２証明情報と、前記端末手段から受信した前記ユーザ識別値に対応する、前記ユーザ・データに格納される前記第１証明情報とを比較して、認証処理を実行するステップと、
前記ユーザ識別値に応じて、前記コンテンツ管理処理の実行を承認する承認ステップとを含むことができる。
【００２９】
さらに、本発明によれば、ネットワークを介してコンテンツを管理および提供するためのコンテンツ管理方法を、情報処理装置で実行させるためのコンピュータ実行可能なプログラムであって、
前記プログラムは、
前記コンテンツを格納するデータベース手段と、
端末手段が送信プラグインを介して送信したメッセージを受信する機能手段と、
前記メッセージから、前記端末手段のブラウザが検出した入力イベントおよび入力が行われた領域を特定する機能手段と、
前記入力イベントおよび前記領域に対応する指令されたコンテンツ管理処理を選択実行して前記データベース手段に格納される前記コンテンツを更新する機能手段と、
更新された前記コンテンツを含む表示データを生成し、生成した前記表示データを前記端末手段の受信プラグインへ送信する機能手段と
を前記情報処理装置に実現する、プログラムも提供される。
【００３０】
前記入力イベントは、前記端末手段に備えられたキーボードに対する入力操作であり、前記メッセージは、入力されたキーを識別する入力キー情報を含み、
前記更新する機能手段は、前記入力キー情報から文字列を識別し、前記データベース手段に格納される前記コンテンツに対して、前記文字列の入力処理を実行することができる。
【００３１】
前記更新する機能手段は、さらに、
非公開コンテンツ管理データベースの作成要求であるか否かを判断する機能手段と、
前記非公開コンテンツ管理データベースの作成要求であると判断した場合に前記コンテンツ管理処理として新規の非公開コンテンツ管理データベースを作成する機能手段とを含み、前記新規の非公開コンテンツ管理データベースを作成する機能手段は、
前記非公開コンテンツ管理データベースのデータベース管理名称および前記非公開コンテンツ管理データベースにおいて定義されるテーブルのテーブル管理名称の少なくとも１つを含む管理名称を生成し、前記管理名称を前記データベース手段に格納する機能手段と、
前記非公開コンテンツ管理データベースの前記管理名称を暗号化するための名称暗号化鍵を生成する機能手段と、
前記管理名称と、前記名称暗号化鍵とを用いて、前記非公開コンテンツ管理データベースの暗号化名称を生成する機能手段と、
該非公開コンテンツ管理データベースを、前記管理名称を用いて定義・作成する機能手段と、
前記名称暗号化鍵を前記端末手段に送信する機能手段と
を含むことができる。
【００３２】
前記受信する機能手段は、
前記端末手段から送信された名称暗号化鍵を含む前記メッセージを受信し、
前記プログラムは、
前記データベース手段が格納する前記管理名称と、前記メッセージに含まれる前記名称暗号化鍵とを用いて、前記暗号化名称を生成する機能手段とを含み、
前記更新する機能手段は、
前記暗号化名称を用いて、前記非公開コンテンツ管理データベースへアクセスして前記コンテンツ管理処理を実行する機能手段を含むことができる。
【００３３】
前記プログラムは、さらに、
ユーザ識別値と、前記ユーザ識別値に対応付けた第１証明情報とを含むユーザ・データを格納するユーザ・データを格納する機能手段と、
前記端末手段から受信した第２証明情報と、前記ユーザ・データに含まれる、前記端末手段から受信した前記ユーザ識別値に対応する前記第１証明情報とを比較して、認証処理を実行する機能手段と、
前記ユーザ識別値に応じて、前記コンテンツ管理処理の実行を承認する機能手段とを含むことができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明を図面に示した実施形態をもって説明するが、本発明は、図面に示した実施形態に限定されるものではない。
【００３５】
＜セクションＡ：コンテンツ管理システムの実装形態＞
図１は、本発明の特定の実施形態におけるコンテンツ管理システム１００の概略図である。本実施形態のコンテンツ管理システム１００は、ネットワーク１３０と、ネットワーク１３０に接続されたクライアント端末１１２〜１１６と、Ｗｅｂアプリケーション・サーバ１０２とを備えている。Ｗｅｂアプリケーション・サーバ１０２は、クライアント端末１１２〜１１６からの要求を受付け、フロント処理や認証処理を行い、クライアント端末１１２〜１１６上に表示するための表示データを生成している。また、コンテンツ管理システム１００は、データベース・サーバ１０４を備えており、Ｗｅｂアプリケーション・サーバ１０２は、データベース・サーバ１０４へとコンテンツ要求を発行し、データベース・サーバ１０４は、要求に応答したコンテンツをＷｅｂアプリケーション・サーバ１０２に提供する。
【００３６】
さらに、本実施形態のコンテンツ管理システム１００は、ファイアウォール１０８と、ファイアウォール１０８を介してネットワーク１３０に接続された内部ネットワーク１３２とを含んでいて、Ｗｅｂアプリケーション・サーバ１０２とデータベース・サーバ１０４との間の相互トランザクションを可能としている。なお、内部ネットワーク１３２には、内部ネットワーク１３２に接続された管理端末１１０を含んでいても良く、内部ネットワーク１３２はさらに、コンテンツの著作者や編集者への報酬の支払いや、利用者への課金処理を行うために、専用回線接続などによって外部の決済システムと接続されていてもよい。
【００３７】
ネットワーク１３０は、インターネットの他、ワイドエリア・ネットワーク（ＷＡＮ）およびローカルエリア・ネットワーク（ＬＡＮ）を含むことができ、クライアント端末１１２〜１１６が例えばＬＡＮに接続され、インターネットを通じてＷｅｂアプリケーション・サーバ１０２へとアクセスしている。本発明では、ネットワーク１３０は、無線通信ネットワークを含むことができる。また、内部ネットワーク１３２は、ＬＡＮ、ＷＡＮ、ＬＡＮおよびＷＡＮを含む複合ネットワーク、並びにインターネットを介した仮想専用線ネットワーク（ＶＰＮ）によって仮想専用線接続されたＬＡＮおよびＷＡＮを含むことができる。図１に示した実施形態では、Ｗｅｂアプリケーション・サーバ１０２と、データベース・サーバ１０４と、管理端末１１０とが、例えばＬＡＮを介して接続され、内部セグメント１３４を形成する。
【００３８】
クライアント端末１１２〜１１６と、Ｗｅｂアプリケーション・サーバ１０２との間の通信は、本発明の特定の実施形態では、ＳＳＬやＴＬＳといった、電子証明書や公開鍵暗号方式を用いた通信プロトコルにより行われ、第三者に証明機関から発行されたサーバ電子証明書、第三者機関またはＷｅｂアプリケーション・サーバ１０２によって発行されたクライアント電子証明書を用いて、サーバ認証または相互認証によって接続される。
【００３９】
なお、本発明では、Ｗｅｂアプリケーション・サーバ１０２とデータベース・サーバ１０４との通信などの、内部セグメント１３４内での通信も、共有鍵方式、ブロック暗号方式、ストリーム暗号方式、ＲＳＡ暗号方式、離散対数形暗号方式、楕円曲線暗号方式などを使用した暗号化通信プロトコルにより行うことができる。
【００４０】
ファイアウォール１０８は、ネットワーク間の通信を制御することができ、セキュリティ上、公衆ネットワークと、データベース・サーバ１０４等を含む内部セグメント１３４との境界に配置することができるが、本発明では、ファイアウォール１０８を含まずにコンテンツ管理システム１００を構成することもできる。
【００４１】
本発明の図１に示す実施形態では、管理端末１１０は、コンテンツ管理システム１００の管理者用の端末であり、管理者ユーザは、管理端末１１０を介して、システムの運用・管理・メンテナンスを行うことができる。クライアント端末１１２は、コンテンツ著作者用の端末であり、コンテンツ著作者ユーザは、クライアント端末１１２を用いて、Ｗｅｂアプリケーション・サーバ１０２にアクセスし、Ｗｅｂアプリケーション・サーバ１０２を介してデータベース・サーバ１０４のコンテンツの作成更新を行い、著作することができる。また、コンテンツ著作者ユーザは、クライアント端末１１２を用いて、編集者に対してコンテンツの編集依頼を行うこともできる。クライアント端末１１４は、編集者用の端末であり、編集者ユーザは、クライアント端末１１４を用いて、Ｗｅｂアプリケーション・サーバ１０２を介して、コンテンツ著作者によって著作されたコンテンツの編集および校正を行うことができる。また、編集者ユーザは、クライアント端末１１４を用いて、コンテンツ著作者に対してコンテンツの著作依頼を行うこともできる。
【００４２】
また、クライアント端末１１６は、コンテンツ利用者用の端末であり、コンテンツ利用者ユーザは、クライアント端末１１６を用いて、Ｗｅｂアプリケーション・サーバ１０２にアクセスし、コンテンツの表示要求をＷｅｂアプリケーション・サーバ１０２に送信し、コンテンツ表示データを受取り、内容をコンテンツ利用者に提示することができる。図１においては、管理端末１１０およびクライアント端末１１２〜１１６を、便宜上、システム管理者用、コンテンツ著作者用、編集者用、コンテンツ利用者用といった機能別に参照しているが、特に数には制限はなく、複数の機能を単一のクライアント端末が行ってもよく、一つの機能を持つクライアント端末が複数用いられてもよい。
【００４３】
なお、管理端末１１０およびクライアント端末１１２〜１１６が保持し、クライアント認証の際に用いられるクライアント電子証明書は、クライアント端末が備える図示しない不揮発性の内部記憶装置の記憶領域に保存されてもよく、フラッシュメモリやスマートカードなどの外部記憶装置または外部メディアに保存されてもよい。
【００４４】
本発明の特定の実施形態では、Ｗｅｂアプリケーション・サーバ１０２は、ハードディスクなどの記憶装置（図示せず）を備えており、記憶装置は、ユーザを個別的に識別するユーザＩＤ、ログインパスワード、ユーザの使用する端末に保存される認証情報およびユーザに関連付けたアクセス権原を登録したアクセス権原データなどを含むユーザ・データ１２０を格納している。ユーザ・データ１２０は、DB2、ORACLE、InstantDatabase、PostGreSQL、MySqlなどデータベース・ソフトウェアにより構築されることが好ましいが、テキスト・ベースのファイルとしてもよい。Ｗｅｂアプリケーション・サーバ１０２は、管理端末１１０やクライアント端末１１２〜１１６からアクセスしたユーザおよび端末を識別して、データベース・サーバ１０４および後述のコンテンツ・データベース１２２への適切なアクセス制御を可能としている。本発明では、アクセス権原は、例えば、コンテンツの著作者、編集者、利用者、サービスの提供者などといったユーザのサービス上の役割（ロール）、登録されたユーザＩＤ、コンテンツの管理レベルに基づいて設定することができるが、これらに限定されるものではない。
【００４５】
さらにＷｅｂアプリケーション・サーバ１０２の記憶装置は、後述するデータベース・サーバ１０４に格納されたコンテンツ・データベース１２２内のコンテンツを管理・検索するための、キーワードや分類番号やインデックスなどを含むコンテンツ情報と、ＨＴＭＬ文書、ＸＭＬ文書、ＣＧＩファイル、ＪＳＰファイル、Java（登録商標）Appletファイル、さらに本システムが管理するコンテンツへアクセスするためのプラグインのインストール・プログラムなどを含む、ページ・データ１２４とを格納している。また、ユーザ・データ１２０やページ・データ１２４は、複数の記憶装置または複数のサーバに分散、多重化され保持・管理されても良く、ファイルサーバなどの記憶領域を専門に管理する他のサーバによって保持・管理されてもよい。なお、Ｗｅｂアプリケーション・サーバ１０２は、ＩＩＳ、ＡｐａｃｈｅといったＷｅｂサーバソフトウェアおよび、ＣＧＩ（Common Gateway Interface）、ＳＳＩ（Server Side Include）、Java（登録商標）Servlet、ＪＳＰ（Java（登録商標）
Server Pages）、ＡＰＳ（Active Server Pages）やＰＨＰ（Hypertext Preprocessor）などの実行環境がインストールされ、必要に応じて端末上に表示するデータを提供することができる。
【００４６】
また、Ｗｅｂアプリケーション・サーバ１０２は、第三者証明機関などが発行するサーバ電子証明書を保持している。サーバ電子証明書は、記憶領域１２６に保持され、記憶領域１２６は、ハードウェア・セキュリティ・モジュール（ＨＳＭ）といったセキュアな外部記憶装置や、ハードディスクやその他の外部記憶装置にあってもよい。さらに、Ｗｅｂアプリケーション・サーバ１０２と管理端末１１０やクライアント端末１１２〜１１６との暗号化通信は、サーバ・プログラムを用いて実装されてもよく、ＳＳＬアクセラレータといった、ハードウェアを用いて行い、サーバへの負荷を軽減することもできる。
【００４７】
Ｗｅｂアプリケーション・サーバ１０２は、さらに、公開鍵／秘密鍵の鍵ペアを生成し、適切な有効期限を有する電子証明書を作成し、公開鍵／秘密鍵ペアと電子証明書とを含む認証情報を発行し、管理端末１１０やクライアント端末１１２〜１１６へ送付する。
【００４８】
本実施形態では、データベース・サーバ１０４は、ハードディスクなどの記憶装置を備えており、ユーザに対して提供されるコンテンツを蓄積するDB2、ORACLE、InstantDatabase、PostGreSQL、MySqlなどデータベース・ソフトウェアにより構築したコンテンツ・データベース１２２を備えており、Ｗｅｂアプリケーション・サーバ１０２の要求に応答してコンテンツを検索し、Ｗｅｂアプリケーション・サーバ１０２へとコンテンツを提供している。
【００４９】
なお、本発明におけるコンテンツは、小説、脚本、詩集、新聞、雑誌、漫画、写真集、画集、イラストや、数学、物理学、生物学、医学、経済学、社会学、コンピュータソフトウェア、ハードウェアなどの専門書および技術書や、その他一般書、特定目的の教科書や問題集、音楽、ゲーム、映画などの映像作品等の各種メディア情報を含むことができ、コンテンツ著作者情報や、非公開段階や公開段階といった管理レベル等の管理情報と共に、コンテンツ・データベース１２２に格納されている。なお、本発明で使用することができるデータベースは、内部スキーマ、概念スキーマ、外部スキーマの３層スキーマ構造、若しくはスキーマ、サブスキーマの２層スキーマ構造を有する、ＳＱＬなどの照会文を処理することができるデータベースであれば、いかなるものでも用いることができる。また、コンテンツ・データベース１２２は、複数の記憶装置または複数のデータベース・サーバに分散、多重化され管理されてもよい。
【００５０】
Ｗｅｂアプリケーション・サーバ１０２、データベース・サーバ１０４は、図１においては、Ｗｅｂアプリケーション機能やデータベース機能といた機能単位で、個別のサーバとして参照しているが、システムを構成するサーバの数には特に制限はない。例えば、Ｗｅｂアプリケーション機能やデータベース機能などの複数の機能を有する単一のサーバとしても良く、また、これらの機能をより詳細な機能単位に分離して、機能単位ごとに個別のサーバとして実装してもよい。ユーザ・データ１２０、コンテンツ・データベース１２２およびページ・データ１２４は、図１のように各サーバ内の記憶領域に保存されてもよく、別途設けたファイルサーバ内の記憶領域に保存されてもよい。また、本発明では、負荷分散装置などを用いて、各機能単位に対して複数のサーバを割り当て、システムの分散および多重化を図り、高い障害耐久性や高速アクセス性を有するシステム構成とすることもできる。
【００５１】
本発明では、管理端末１１０およびクライアント端末１１２〜１１６は、Core（登録商標）、Pentium（登録商標）、Celeron（登録商標）、PowerPC（登録商標）、Athlon（登録商標）、Turion（登録商標）、Sempron（登録商標）、Duron（登録商標）などのマイクロプロセッサ・ユニット（ＭＰＵ）を含み、適切なオペレーティング・システム（ＯＳ）、例えばWindows（登録商標）2000、Windows（登録商標）XP、MacOS（商標）の下で動作するパーソナル・コンピュータ、ワークステーション、または適切なオペレーティング・システムで動作するＰＤＡ、携帯電話などから構成することができる。ただし、使用するＯＳおよびアプリケーション・プログラムが、Mozilla（商標）、InternetExplorer（商標）、Netscape Communicator（商標）、Opera（商標）などのブラウザ・ソフトウェアをサポートしていることが好ましい。
【００５２】
また、Ｗｅｂアプリケーション・サーバ１０２およびデータベース・サーバ１０４は、それぞれ、Itanium（登録商標）、Xeon（登録商標）、Pentium（登録商標）、PowerPC（登録商標）、Athlon（登録商標）、Opteron（登録商標）、Sparc（登録商標）、PA-RISC（略称）などのＭＰＵを含み、Windows（登録商標）2000、Windows（登録商標）XP、Windows（登録商標）200Xサーバ、UNIX（登録商標）、LINUX（登録商標）、AIX（登録商標）、MacOS（商標）、Solaris（登録商標）などの適切なＯＳの下で動作する、パーソナル・コンピュータまたはワークステーション、ブレードサーバまたはメインフレームから構成することができる。
【００５３】
図２は、本発明の特定の実施形態におけるデータベース・サーバ１０４の概略的構成を示した図である。特定の実施形態では、データベース・サーバ１０４は、Windows（登録商標）系サーバとして構成されており、マイクロプロセッサ・ユニット（ＭＰＵ）２００と、ＢＩＯＳ(Basic Input
Output System)を格納する不揮発性メモリ２０２と、ＭＰＵ２００によるプログラム処理を可能とする作業記憶空間を提供するＲＡＭなどのメモリ２０４と、を含んで構成されており、起動時にＭＰＵ２００は、不揮発性メモリ２０２からＢＩＯＳを読み出してシステム診断を行うと共に入出力装置２１４の管理を行っている。
【００５４】
ＭＰＵ２００には、内部バス２１０を介して記憶制御用インタフェース２０６に接続され、ハードディスクなどから形成される記憶装置２０８が、ＭＰＵ２００からの入出力要求に応答してデータの書込みまたは読み出しを実行している。本発明では、記憶装置２０８に、コンテンツ・データベース１２２のファイルを格納することができる。記憶制御用インタフェースとしては、ＩＤＥ(Integrated Device Electronics)、ＡＴＡ（AT Attachment）、シリアルＡＴＡ、ＵｌｔｒａＡＴＡなどの規格により、記憶装置の入出力を管理するインタフェースを使用することもできる。さらに、ＭＰＵ２００には、内部バス２１０を介してＰＣＩバスインタフェース、ＵＳＢ（Universal
Serial Bus）、ＩＥＥＥ１２８４などのシリアルまたはパラレル・インタフェースに接続され、フラッシュメモリ、ハードディスク、ＨＳＭなどから形成される図示しない外部記憶装置を有することもできる。さらに本発明では、ＰＣＩバスインタフェースに接続された図示しないＲＡＩＤコントローラなどを用いて、記憶領域を分散化・多重化することができる。
【００５５】
さらに、ＭＰＵ２００は、内部バス２１０を介してＵＳＢ、ＩＥＥＥ１２８４などのシリアルまたはパラレル・インタフェース２１２を制御して、キーボード、マウス、プリンタなどの入出力装置２１４と通信して、ユーザからの入力を受取り、またユーザに対してプリンタなどを介した出力を提供している。
【００５６】
データベース・サーバ１０４は、さらにＶＲＡＭ２１６とグラフィック・チップ２１８とを含んでおり、ＭＰＵ２００からの指令に応答してビデオ信号を処理し、ディスプレイ装置２２０へと表示させることができる。また、ＭＰＵ２００は、内部バス２１０を介してネットワーク・インタフェース・カード（ＮＩＣ）２２２と通信し、データベース・サーバ１０４を、ネットワーク２２４を通して外部と通信させる。
【００５７】
なお、本発明では、管理端末１１０およびクライアント端末１１２〜１１６、Ｗｅｂアプリケーション・サーバ１０２についても同様の構成の情報処理装置を使用することができ、また、Ｗｅｂアプリケーション・サーバ１０２およびデータベース・サーバ１０４がＵＮＩＸ（登録商標）またはＡＩＸ（登録商標）またはＬｉｎｕｘ（登録商標）などのアーキテクチャを有している場合であっても、各ＯＳが同様の機能を提供する限り、本発明では情報処理装置のアーキテクチャに限定されるものではない。
【００５８】
図３は、本発明の特定の実施形態におけるコンテンツ管理システム１００の機能モジュール構成を示すブロック図である。図３において、本システムは、クライアント処理部３００、サーバ処理部３３０、およびこれらを接続するネットワーク３２０で構成される。クライアント処理部３００およびサーバ処理部３３０は、それぞれ複数の機能モジュールおよび複数のデータ格納部から構成されている。サーバ処理部３３０は、コンテンツを管理および提供する処理を実行し、クライアント処理部３００は、コンテンツの作成、編集、閲覧などの処理をサーバ処理部３３０に要求し、処理結果の表示処理を実行する。
【００５９】
なお、クライアント処理部３００およびサーバ処理部３３０の機能については、より詳細に後述する。また、本発明では、コンテンツ管理システム１００を便宜上、クライアント処理部３００と、サーバ処理部３３０とから構成されるものとして記載して説明する。しかしながら、本発明では、サーバ処理部３３０の各機能モジュールを複数のサーバに分担させることも可能である。サーバ処理部３３０を複数のサーバに分担させる場合には、分担させた各モジュール間の通信は、サーバなどの通信インタフェースを介して適切なプロトコルにより行われる。
【００６０】
上述したプロトコルとしては、例えば、ＨＴＴＰ、ＦＴＰ、ＳＭＴＰなどの下位通信プロトコルを介したＳＯＡＰ（Simple Object Access Protocol）や、ＲＰＣ（Remote Procedure Call）、Ｊａｖａ（登録商標）ＲＭＩ（Remote
Method Invocation）、ＣＯＲＢＡ（Common Object Request Broker Architecture）、ＥＪＢ（Enterprise
Java（登録商標）Beans）、ＤＣＯＭ（Distributed Component Object Model）、ＣＯＭ＋（Component Object
Model Plus）、などの分散オブジェクト技術の仕様に準拠する通信プロトコル、例えばＩＩＯＢ（Internet Inter Object Request
Broker）を用いて行うことができるが、これらに限定されるものではない。
【００６１】
以下、図３を用いて本システムを構成する上記各機能モジュールおよびデータ格納部の機能について説明する。クライアント処理部３００は、コンテンツ管理を行うサーバ処理部３３０に対して処理要求メッセージを送信し、サーバ処理部３３０から処理応答メッセージを受信する機能を有する。サーバ処理部３３０は、クライアント処理部３００からの処理要求メッセージを受信し、クライアント処理部３００からの処理要求メッセージとクライアント属性とを使用して処理要求メッセージの正当性を検査する。本発明では、サーバ処理部３３０が管理するコンテンツに対する処理などのような、セキュリティおよび著作権保護が重要な処理については、クライアント処理部３００とサーバ処理部３３０との間の通信は、ネットワーク３２０を介して、ＳＳＬやＴＬＳなどの通信プロトコルにより相互認証による接続を確立し、処理要求メッセージおよび処理応答メッセージの送受信を暗号化通信により行う。
【００６２】
処理要求メッセージの正当性が認証されると、サーバ処理部３３０は、処理要求の対象である管理コンテンツを検索し、処理要求メッセージにしたがって処理を実行する。実行結果は、サーバ処理部３３０の処理応答メッセージとして作成され、クライアント処理部３００に送信される。以下、クライアント処理部３００の機能モジュールについて詳細に説明する。
【００６３】
＜セクションＢ：クライアント処理部＞
図４は、クライアント処理部３００の機能モジュール構成を示すブロック図である。図４において、ブラウザ３１０は、サーバ処理部３３０に対する処理要求メッセージを発行し、サーバ処理部３３０からの応答結果を表示し、システムと、ユーザとの間のインタフェースを提供している。このようなブラウザとしては、Internet Explorer（商標）、Mozilla（商標）、Netscape Navigator（商標）などを使用することができる。
【００６４】
ブラウザ３１０は、Ｃ（クライアント）暗号化通信処理部３０４（以下、用語「クライアント」について説明の便宜上、単に「Ｃ」として参照する。）、およびＣ通信部３０２により、ネットワーク３２０を介してサーバ処理部３３０と、ＨＴＴＰＳ（HTTP over SSL/TLS）などの暗号化通信プロトコルにより通信を行っている。また、特にセキュリティおよび著作権保護が重要でないデータ通信を実行する場合には、ＨＴＴＰなどの非暗号化方式の通信プロトコルを使用したデータ通信を行うこともできる。
【００６５】
クライアント処理部３００は、Ｃ認証情報記憶部３１４を含んでおり、Ｃ認証情報記憶部３１４は、認証接続を確立するために必要となるクライアント公開鍵を含むクライアント電子証明書、クライアント秘密鍵、コンテンツの管理処理に用いるＤＢ名称暗号化鍵およびその他クライアントの身元を証明するための情報を格納することができる。相互認証要求、少なくともクライアント認証が求められる処理要求においては、ブラウザ３１０は、認証プラグイン３１２を介してＣ認証情報記憶部３１４にアクセスし、取得したクライアント電子証明書をサーバ処理部３３０に送信し、サーバ処理部３３０との認証接続を確立する。さらに本発明の特定の実施形態においては、セキュリティおよび著作権保護が重要な処理を行うユーザに対するユーザ認証は、Ｃ認証情報記憶部３１４に格納されるクライアント電子証明書を用いて行われる。
【００６６】
さらに、Ｃ認証情報記憶部３１４は、接続相手となるサーバ処理部３３０を認証するための、信頼できる証明機関の公開鍵を含む電子証明書を格納する。サーバ側の認証が求められる処理要求においては、ブラウザ３１０は、サーバ処理部３３０から送信されてきたサーバ電子証明書を、Ｃ認証情報記憶部３１４に認証プラグイン３１２を介して問い合わせて検証し、サーバを認証する。
【００６７】
上述したクライアント電子証明書としては、第三者証明機関から発行される、または、後述するサーバ処理部３３０から発行される、例えば、ＲＦＣ３２８０などに規定されたＸ．５０９の規格に準拠した電子証明書を用いることができる。また、送付するクライアント電子証明書として、さらにクライアント電子証明書の発行元の電子証明書をさらに添付した電子証明書チェインを用いてもかまわない。
【００６８】
本発明では、さらに送信プラグイン３０６および受信プラグイン３０８が、ブラウザ３１０のアドオン・プログラムとしてインストールされ、送信プラグイン３０６および受信プラグイン３０８を介した通信・データ・アクセス制御を使用して、管理されたコンテンツのセキュリティおよび著作権を保護しながらサーバ−クライアント間のトランザクションを実行する。クライアント−サーバ間の処理要求の種類、例えば、通常のホームページを表示させる場合などには、プラグインを介さない処理を実行することができる。しかしながら、本発明の送信プラグイン３０６および受信プラグイン３０８を介したトランザクションは、管理されたコンテンツの作成・編集・閲覧・管理レベル設定の変更といった、コンテンツ管理データベース内に格納されるコンテンツに対する処理（以下、コンテンツ管理処理として参照する。）の際に用いられる。
【００６９】
本発明においては、上述のコンテンツ管理処理の要求は、サーバ処理部３３０から受信した表示データに応答して、クライアント処理部３００のブラウザ３１０に提示される表示オブジェクトを入力インタフェースとして、サーバ処理部３３０への発行される。ブラウザ３１０は、ブラウザ上の表示オブジェクト（画面領域全体であってもかまわない。）の領域に対する入力イベントを検出し、送信プラグイン３０６は、入力イベントを含むメッセージをサーバ処理部３３０へ送信する。サーバ処理部３３０は、受信した入力イベントを含むメッセージに基づいて、コンテンツ管理処理を選択実行し、クライアント処理部３００は、受信プラグイン３０８を介して、コンテンツ管理処理応答を含む表示データを受信し、ブラウザ３１０に提示する。
【００７０】
上述した入力イベントとしては、クリック、ダブルクリック、フォーカス、マウスボタン押し下げ、マウスボタンの解放、キーボード押し下げ、キーボード解放、選択、更新、ドラッグアンドドロップなどのイベント属性があり、入力イベントは、イベント発生に伴う、マウスポインタ座標、入力キーのキーコードなどの入力イベント情報を含むことができる。さらに、入力イベントには、サーバ処理部３３０において要求されるコンテンツ管理処理を判断するために、入力操作を検出したオブジェクトを識別するための識別値および該オブジェクトの状態値などのイベント情報をさらに含むことができる。なお、送信プラグイン３０６および受信プラグイン３０８の働きについては、より詳細に後述する。以下、さらに本発明のサーバ機能について説明する。
【００７１】
＜セクションＣ：サーバ処理部＞
図５は、本発明の特定の実施形態における、サーバ処理部３３０のより詳細な機能モジュール構成を示すブロック図である。図５に示した実施形態におけるサーバ処理部３３０は、本コンテンツ管理システム１００が管理するコンテンツを格納するコンテンツ・データ格納部３５２を含み、コンテンツを管理および提供する処理を実行する。
【００７２】
本発明においては、サーバ処理部３３０は、クライアント処理部３００からの送信プラグイン３０６を介したメッセージを受信して、受信したメッセージに基づいて、クライアント処理部３００のブラウザ３１０において検出された入力イベントの属性や、入力操作の対象となった表示オブジェクト（イベントが検出された領域）、状態値、その他各種イベント情報を特定して、要求されているコンテンツ管理処理を判定し、必要に応じて、コンテンツ・データ格納部３５２内のコンテンツ管理データベースにアクセスし、コンテンツ管理処理を実行する。
【００７３】
さらに、本実施形態においては、高いセキュリティで管理が望まれる、著作中のコンテンツや編集中のコンテンツなど、公開を目的としないコンテンツは、コンテンツ・データ格納部３５２の非公開および編集中の管理レベルが設定されるコンテンツ管理データベースにおいて管理される。非公開および編集中の管理レベルが設定されるコンテンツ管理データベースは、管理名称をＤＢ名称暗号化鍵によって暗号化された名称で定義・管理される。コンテンツ管理データベースに対応する暗号化される以前の管理名称はサーバ処理部３３０において記憶され、対応するＤＢ名称暗号化鍵は、該コンテンツ管理データベースにアクセスする権原を有するユーザのクライアント処理部３００において格納される。
【００７４】
本実施形態においては、コンテンツは、コンテンツ管理データベースにより管理され、コンテンツ管理データベースへのアクセスは、ユーザ認証によって制御される。さらに、高いセキュリティで管理したいコンテンツが格納されるコンテンツ管理データベースは、データベース名称およびテーブル名称、またはそれらのいずれか一方の管理名称を、ユーザが使用するクライアント処理部３００において保持されるＤＢ名称暗号化鍵を用いて暗号化し、得られた暗号化名称によりデータベースおよびテーブルが定義されるため、特定の利用者のみが識別可能な、コンテンツの保管場所を実現することができる。
【００７５】
クライアント処理部３００におけるコンテンツの内容表示は、サーバ処理部３３０において、コンテンツ管理データベースの情報を基に、表示範囲毎に動的に生成された表示データを、クライアント処理部３００上の受信プラグイン３０８により受信して、表示データに基づいてブラウザ３１０に提示されることにより行われる。このため、コンテンツの電子データ全体が無防備にクライアント側に保持されることが防止される。以下、さらに本発明のサーバ処理部３３０における各機能モジュールの働きを、特定の実施形態を用いて説明する。
【００７６】
サーバ処理部３３０は、Ｓ（サーバ）認証情報記憶部３３６（以下、用語「サーバ」を説明の便宜上、単に「Ｓ」として参照する。）を有する。Ｓ認証情報記憶部３３６は、認証接続を確立するために必要となる、サーバ公開鍵を含むサーバ電子証明書と、サーバ秘密鍵とを格納する。Ｓ暗号化通信処理部３３４は、クライアント処理部３００の要求に応じて、Ｓ認証情報記憶部３３６に格納されているサーバ電子証明書を用いて、Ｓ通信部３３２を介して、クライアント処理部３００との認証接続を確立する。
【００７７】
さらに、Ｓ認証情報記憶部３３６は、接続相手となるクライアント処理部３００を認証するための信頼できる証明機関の公開鍵を含む電子証明書を格納することができる。相互認証要求、少なくともクライアント認証が求められる処理要求においては、サーバ処理部３３０は、クライアント電子証明書および電子署名の送信要求をクライアント処理部３００へ送信し、受信したクライアント電子証明書および電子署名を、Ｓ認証情報記憶部３３６に問い合わせて検証し、クライアントを認証することができる。サーバ電子証明書としては、上述したクライアント電子証明書と同様の構成とすることができるが、信頼された第三者証明機関により発行されたものであることが好ましい。
【００７８】
サーバ処理部３３０は、フロント処理部３３８を有し、フロント処理部３３８は、クライアント処理部３００から送信された処理要求メッセージを受信し、適切なフロント処理を実行し、処理結果を処理応答メッセージとしてクライアント処理部３００に送信する。以下、本発明の特定の実施形態における、各機能モジュールの役割について詳細を説明する。
【００７９】
＜セクションＣ−１：機能モジュール（フロント処理部）＞
本発明の特定の実施形態では、フロント処理部３３８は、クライアント処理部３００のブラウザ３１０から、ＵＲＩ（Uniform Resource Identifier）またはＩＰアドレス／ポート番号により指定されるリソースへのアクセス要求および処理要求を受信した場合には、処理要求メッセージに含まれるアカウント情報およびリソースに関連付けて設定されるアクセス制御情報に基づいて、アクセスおよび処理の制御を行う。アクセス要求されたリソースが、Ｗｅｂページなどのファイルである場合は、指定されたファイルを含めた処理応答メッセージをブラウザ３１０へ送信する。アクセス要求されたリソースが、サーバサイド・プログラムである場合には、処理要求メッセージに基づいた処理を実行し、処理結果を含む処理応答メッセージをブラウザ３１０へ送信する。
【００８０】
なお、処理要求メッセージに含まれるアカウント情報とは、ユーザＩＤやパスワード、場合によってはクライアント電子証明書など、ログイン認証に必要な認証情報、その他、ユーザプロファイル、キーストア情報、トークンやチケットなどのログイン以降の通信で使用されるクライアントの性質を証明することができる信用情報を含む、クライアント処理部３００がリソースへのアクセスに必要と判断した処理要求メッセージに添付した情報である。アクセス制御情報とは、各リソースと関連付けてサーバ処理部３３０において保持される、ユーザに対してリソースへのアクセスを承認するための情報である。
【００８１】
以下、フロント処理部３３８によるアクセスおよび処理要求に対する認証・承認処理プロセスを説明するために、便宜上リソースを二つに分類して説明する。第１のリソースは、ページ・データ格納部３４６内のファイルを含むリソース、およびページ・データ格納部３４６のデータにアクセスし、ページ・データを生成するサーバサイド・プログラムを含むリソースであり、公開ページ・データやブラウザ用アドオンのインストール・プログラムを提供するページ・リソースである。また、第２のリソースは、ユーザ・データ格納部３５０またはコンテンツ・データ格納部３５２へのアクセスおよび処理を行うサーバサイド・プログラムを含む、高いセキュリティ管理が求められるコンテンツ管理用リソースである。
【００８２】
第１のリソースでは、リソースへのアクセスは、ＨＴＴＰ、ＨＴＴＰＳ、ＦＴＰ（File Transfer Protocol）、ＦＴＰＳ（FTP over SSL/TLS）といったブラウザがサポートする通信プロトコルで行うことができる。
【００８３】
ページ・リソースとしては、例えばウェブ・サイトが含まれ、特定の実施形態では、コンテンツ提供サイトとしてのフロント・ページ、ユーザログイン・ページ、新規ユーザ登録ページ、公開目的のコンテンツ情報の一覧、ジャンル毎の公開コンテンツ一覧表示やコンテンツのタイトルや概要といったコンテンツ情報、コンテンツ作品検索ページや検索結果などを表示するページを含むことができる。これらのページは、ページ・データ格納部３４６内のページ情報のファイルや、コンテンツ管理データベース内のコンテンツのインデックス情報などを格納するコンテンツ情報データベースに基づいてフロント処理部３３８により作成される。本発明におけるページ・リソースへのアクセス権原は、公開ページ、会員ページ、会員個別ページといったページの目的に基づいて設定することができるが、これらに限定されるものではなく、アクセス制限を設定せずに全てを公開してもかまわない。
【００８４】
なお、ページ・データ格納部３４６のページ情報のファイルとしては、ＨＴＭＬやＤｙｎａｍｉｃＨＴＭＬ、ＸＭＬといったマークアップ言語によって記述されたページ情報を含むことができ、必要に応じて、ＪＰＥＧ、ＪＰＥＧ２０００、ＧＩＦ、ＰＮＧ、ＢＭＰ、ＴＩＦＦなどのフォーマット形式の静止画像や、Ｗａｖｅ、ＭＰ３、ＷＭＡ、ＭＩＤＩなどのフォーマット形式のオーディオデータや、ＭＰＥＧ、ＱｕｉｃｋＴｉｍｅ、ＡＶＩ、Ｄｉｖｘなどのフォーマット形式の動画像や、アニメーションＧＩＦ、Ｆｌａｓｈなどのアニメーション、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、その他ＡｃｔｉｖｅＸコントロールといったアドオン・プログラムなどを含むことができる。さらに、クライアント処理部３００における各プラグインをブラウザに組み込むための、プラグイン・インストール・プログラムを含むことができる。
【００８５】
また、ページ・データ格納部３４６は、コンテンツ情報データベースと、コンテンツ情報データベースを管理するコンテンツ情報データベース・管理モジュールとをさらに含み、コンテンツ情報データベースは、コンテンツ・データ格納部３５２内のコンテンツ管理データベースにおいて管理されている、公開、非公開、編集中のコンテンツを検索するために、キーワード、カテゴリーやジャンルなどの分類、タイトル、著作者情報などの、検索に必要な情報と、コンテンツ管理データベースの管理名称およびレコードとを関連付けて記憶している。キーワードに関しては、さらにキーワード文字列と、キーワード文字列のコンテンツ内における位置情報とが関連付けられ、索引としてのリンクや、キーワードを介したコンテンツ内およびコンテンツ間のクロスリファレンスの提供を行うことができる。キーワードや分類やタイトルは著作者や編集者の入力により設定することができる。また、キーワードは、標準的な統計処理に基づくキーワード抽出アルゴリズムを用いることにより自動抽出することができ、コンテンツ内のキーワードの検索および文書内位置の自動的な抽出は、標準的な検索アルゴリズムを用いて行うことができる。なお、コンテンツ情報データベースの内容は、コンテンツの公開設定時や内容の変更を契機として更新することができるが、特に限定されるものではなく、コンテンツ管理データベース内のコンテンツの更新を監視する機能を有する機能モジュールを別途備える構成として、随時更新させることができる。
【００８６】
さらに、コンテンツ情報データベースは、コンテンツに関連付けた、サマリーや見出し、アクセス数、閲覧者数、評価などの情報も格納し、フロント処理部３３８は、これらの情報を利用者ユーザへ提示して、閲覧を促すことができる。さらに、コンテンツ情報データベースは、売上高などの情報を格納し、売上高と評価とを用いて、コンテンツ著作者へ支払われる報酬を管理することもできる。
【００８７】
第２のリソースは、高いセキュリティ管理が求められるコンテンツ管理用リソースであり、本発明では、ユーザは、ブラウザ３１０を介して、コンテンツ管理用リソースへアクセスすることによって、コンテンツの作成、編集、閲覧などの処理を実行する。コンテンツ管理用リソースへのアクセス権原は、作成、編集、閲覧などの処理要求の管理レベルに基づいて設定することができるが、特にこれらに限定されるものではない。
【００８８】
なお、コンテンツ管理用リソースへのアクセスおよび処理要求における、クライアント−サーバ間の通信は、送信プラグイン３０６および受信プラグイン３０８を介して行われ、プラグインは、Ｊａｖａ（登録商標）ＧＳＳ−ＡＰＩ（Java（登録商標） Generic Security Services Application Programming
Interface）や、ソケットＡＰＩ、ＲＭＩ−ＡＰＩ、その他、分散オブジェクト技術の仕様に準拠する通信を行うためのＡＰＩを実装することができる。その際は、必要に応じて、ＳＳＬやＴＬＳ等の暗号化通信プロトコルを併用して、セキュアなメッセージ交換がなされる。
【００８９】
本発明の特定の実施形態では、フロント処理部３３８におけるページ・リソースおよびコンテンツ管理用リソースへのアクセス制御は、ユーザ・データ格納部３５０において一元的に管理されている、ユーザに関連付けられたユーザＩＤやグループＩＤやロールなどの主体識別情報と、各リソースに対して主体識別情報に関連付けられて設定されているアクセス制御情報とに基づいて行われる。サーバ処理部３３０は、メモリなどによって構成される図示しない記憶部を有し、送信元のユーザの認証は、サーバ処理部３３０の記憶部に保持されたユーザプロファイルに基づいて行われる。
【００９０】
なお、ここで記憶部が保持するユーザプロファイルは、システムにログイン済のユーザ毎に生成され、各種リソースへのアクセスや処理要求を行うための主体識別情報と、処理要求メッセージの身元認証のための信用情報とを含み、ユーザのログイン判定に用いられる。ログイン処理に関しては詳細を後述するが、ユーザがシステムにログインすると、ユーザプロファイルが生成され、ユーザ・データ格納部３５０から、ユーザに関連付けられた主体識別情報が読み出されて、ユーザプロファイル中に格納される。また、送信元の身元証明のための信用情報や、後述するコンテンツ管理データベースへのアクセスに用いられるＤＢ名称暗号化鍵などもユーザプロファイに格納される。ユーザプロファイルは、ユーザがシステムからログオフするまで、または一定時間経過しタイムアウトするまで記憶部において保持される。
【００９１】
一度ログインしたユーザに対しては、サーバ側の記憶部にユーザプロファイルが保持されている間は、受信した信用情報と該ユーザプロファイルとに基づいて認証を行い、アクセス要求の度に逐一ユーザ・データ格納部３５０へアクセスすることなく、認証することができる。特定の実施形態においては、さらに、後述するコンテンツ管理部３４４におけるコンテンツ管理処理の実行は、ユーザプロファイル内の主体識別情報に基づいて承認される。以下に、フロント処理部３３８における、処理要求メッセージに対する処理プロセスを説明する。
【００９２】
フロント処理部３３８は、処理要求メッセージを受けると、要求されているリソースが保護されているか否かを判断する。要求されたリソースが保護されていない場合には、フロント処理部３３８は、指定されたファイルなどのリソース、または指定されたサーバサイド・プログラムによる処理結果を含む処理応答メッセージをブラウザ３１０へ送信しトランザクションを完了する。
【００９３】
フロント処理部３３８は、リソースが保護されていると判断した場合には、処理要求メッセージに含まれるアカウント情報と、記憶部に保持されているユーザプロファイルとに基づいて、ユーザがログイン認証済であるか否かを判断する。フロント処理部３３８は、ユーザがログイン認証済でないと判断した場合には、クライアント処理部３００のブラウザ３１０に、ログイン認証要求を処理応答メッセージとして送信する。
【００９４】
フロント処理部３３８は、ログイン認証済であると判断した場合には、記憶部の送信元ユーザに対応するユーザプロファイルに含まれる主体識別情報と、リソースに関連付けられているアクセス制御情報とに基づいて、アクセスの承認処理を行う。フロント処理部３３８は、アクセスが承認されないと判断した場合には、クライアント処理部３００のブラウザ３１０に、アクセス不許可のエラー応答メッセージを送信する。
【００９５】
一方、フロント処理部３３８は、承認されると判断した場合には、ページ・リソースへのアクセス要求に対しては、指定されたファイルや、指定されたサーバサイド・プログラムによる処理結果を含む、処理応答メッセージをブラウザ３１０へ送信しトランザクションを完了する。コンテンツ管理用リソースへのアクセスが承認された場合には、フロント処理部３３８は、まず処理要求メッセージから、要求されているコンテンツ管理処理と信用情報とを抽出し、要求されるコンテンツ管理処理に対応する管理処理識別値と、送信元を証明する信用情報とを含む管理処理・承認要求を認証承認管理部３４０に発行する。続く認証承認管理部３４０からの管理処理・承認応答を待って、管理処理が承認されなかった場合には、フロント処理部３３８は、管理処理不許可エラーメッセージを処理応答メッセージとしてブラウザ３１０へ送信する。一方、コンテンツ管理処理が承認された場合には、フロント処理部３３８は、コンテンツ管理処理要求と信用情報とをコンテンツ管理部３４４に送信する。フロント処理部３３８は、続くコンテンツ管理部３４４からのコンテンツ管理処理応答を待って、処理応答メッセージをブラウザ３１０へ送信する。
【００９６】
なお、本発明においては、コンテンツ管理処理要求は、ブラウザ３１０によりブラウザに対するキー入力やマウス操作などのイベントが検出され、サーバ処理部３３０へ送信されたイベント情報に基づいて、フロント処理部３３８において抽出される。フロント処理部３３８における、受信した処理要求メッセージからコンテンツ管理処理要求を抽出する処理プロセス、および、コンテンツ管理部３４４からのコンテンツ管理処理応答を受け、処理応答メッセージを生成する処理プロセスについては後述する。以下さらに、コンテンツ管理用リソースへのコンテンツ管理処理要求について、コンテンツ管理部３４４における処理プロセスの概略を説明する。
【００９７】
＜セクションＣ−２：機能モジュール（コンテンツ管理部）＞
本発明の特定の実施形態では、コンテンツ管理部３４４は、高いセキュリティ保護が要求されるコンテンツ管理処理要求をフロント処理部３３８から受け、コンテンツ・データ格納部３５２へＳＱＬ文を発行し、コンテンツ管理データベース内のコンテンツに対する操作を実行する機能モジュールである。
【００９８】
フロント処理部３３８からのコンテンツ管理処理要求を受信したコンテンツ管理部３４４は、ユーザ・データ格納部３５０と、コンテンツ・データ格納部３５２と、ページ・データ格納部３４６と、通信管理部３４８と、記憶部内のユーザプロファイルと連携して、要求された管理処理を実行し、管理処理応答をフロント処理部３３８に送信する。上述したコンテンツ管理処理としては、著作中の非公開コンテンツ、編集中の編集コンテンツ、ユーザにより公開された公開コンテンツなどユーザの管理コンテンツの一覧表示要求、新規コンテンツ作成要求、作成中コンテンツ表示要求、コンテンツの公開要求、コンテンツの編集依頼要求、公開コンテンツの閲覧要求、コンテンツの書込み要求などがある。コンテンツ管理部３４４におけるコンテンツ管理処理の詳細については後述する。
【００９９】
＜セクションＣ−３：サーバ処理部の機能モジュール（認証承認管理部）＞
本発明の特定の実施形態では、認証承認管理部３４０は、フロント処理部３３８からのコンテンツの管理処理・承認要求を受信した場合は、受信した管理処理識別値と、送信元ユーザに対応するユーザプロファイルに含まれる主体識別情報と、信用情報とに基づいて、コンテンツ管理処理の主体識別情報に関連付けて権原を設定しているコンテンツ管理処理のポリシーを参照し、管理処理を承認処理し、管理処理・承認応答をフロント処理部３３８へ送信する。
【０１００】
さらに、認証承認管理部３４０は、ユーザのログイン認証時には、コンテンツ管理部３４４を介して、ユーザ・データ格納部３５０内のユーザ管理データベースから、主体識別情報などを読み出し、ユーザプロファイルを生成して記憶部に格納する。ユーザ・ログイン認証の詳細は後述する。
【０１０１】
上述したように、特定の実施形態においては、リソースへのアクセスおよび処理の要求は、記憶部において保持されるユーザプロファイルを用いて、一元的に認証および承認されることにより制御される。なお、上述のユーザプロファイルを用いた認証処理および承認処理は、例えば、ＪＡＡＳ（Java（登録商標） Authentication and Authorization Service）といったセキュリティ・フレームワークをもちいて実装することができるが、本発明においては、ユーザに対して、リソースや処理に応じて適切な権原を付与し、権原を有さないユーザのアクセスおよび処理を適切に制限することができるものであればいかなるフレームワークを用いて実装することができる。
【０１０２】
また、ユーザプロファイルを用いないで、逐一ユーザ・データ格納部３５０内のユーザ管理データベースを参照して、認証および承認を行ってもよく、処理要求メッセージごとにメッセージにユーザＩＤとパスワードとを添付することを要求し、ユーザＩＤに基づいて、リソースや処理に関連付けられたアクセス制御リストやアクセス制御用のデータベースを参照して、認証および承認を行ってもかまわない。
【０１０３】
＜セクションＣ−４：機能モジュール（認証情報発行部）＞
認証情報発行部３４２は、クライアント処理部３００から新規ユーザ登録要求が送信された場合に、クライアント処理部３００へクライアント電子証明書を発行するための機能モジュールである。認証承認管理部３４０は、新規ユーザ登録の処理要求メッセージを受信した場合には、メッセージに含まれる被証明者情報を含む証明書発行要求を認証情報発行部３４２に発行する。認証情報発行部３４２は、本システムのログイン認証に用いるためのクライアント公開鍵／秘密鍵の鍵ペアを生成し、受取った被証明者情報およびクライアント公開鍵の電子署名を作成して、例えば、被証明者情報と、クライアント公開鍵と、電子署名とを含む、Ｘ．５０９の仕様に準拠したクライアント電子証明書を生成する。なお、公開鍵／秘密鍵の鍵ペアの生成は、ＲＳＡ（Rivest Shamir Adleman）暗号方式、楕円曲線暗号方式、ElGamal暗号方式、NTRU暗号方式、ナップサック暗号方式などの公開鍵暗号方式のアルゴリズムによって生成することができる。
【０１０４】
さらに、認証情報発行部３４２は、非公開コンテンツを格納する非公開コンテンツ管理データベースにおける、データベース名称またはテーブル名称を暗号化するためのＤＢ名称暗号化鍵を新たに生成し、クライアント電子証明書とＤＢ名称暗号化鍵とを含むキーストア情報を、クライアント処理部３００に送付する。キーストア情報を受信したクライアント処理部３００は、認証プラグイン３１２を介してＣ認証情報記憶部３１４に、キーストア情報を格納する。この際には、サーバ側のユーザ・データ格納部３５０にも、ユーザに対応付けてキーストア情報を格納する。新規ユーザ登録処理についての詳細については後述する。なお、新規ユーザ登録時においては、被証明者情報は、被証明者の身元の特定情報をＥ−ｍａｉｌアドレスとして、発行の際に電子メールの送受信によるアドレスの存在と、ユーザの登録意思とを確認することにより、または、あらゆる所有者の身元確認方法を用いて確認することができる。クライアント電子証明書の電子署名を作成する際に使用する電子証明書は、Ｓ認証情報記憶部３３６が保持するサーバ電子証明書と一致しても良く、証明書を別途用いても構わない。
【０１０５】
＜セクションＣ−５：機能モジュール（通信管理部）＞
通信管理部３４８は、コンテンツ著作者が利用しているブラウザ３１０と、編集者が利用しているブラウザ３１０との間といった、異なるＩＰアドレス・ポート番号を有するブラウザ間の通信に用いられ、コンテンツ著作者が編集者に編集依頼を行い、同時的に相互に編集操作と確認操作とを行う場合に用いられる。また、著作依頼や編集依頼のＥ−ｍａｉｌの送信処理なども行うことができる。通信管理部３４８における処理の詳細は、後述する。
【０１０６】
以下、セクションＣ−６およびセクションＣ−７に、本発明における、高いセキュリティ保護がなされ、限られたユーザのみが識別できるコンテンツの格納領域を提供するためのコンテンツおよびユーザ・データの管理方法について、特定の実施形態をもって説明する。
【０１０７】
＜セクションＣ−６：機能モジュール（ユーザ・データ格納部）＞
本発明の特定の実施形態では、ユーザのログイン認証と、リソースへのアクセスおよび処理の承認を行うためのユーザ・データおよび、本システムにおいてユーザが管理するコンテンツへのアクセスするためのデータベースの管理名称は、ユーザ・データ格納部３５０において管理される。ユーザ・データ格納部３５０は、いくつかの関連するテーブル群からなるユーザ管理データベースと、ユーザ管理データベースを管理および操作するためのユーザ管理データベース・管理モジュールとを含んで構成される。ユーザ・データ格納部３５０は、さらに、登録されたユーザ毎に作成され、各種セキュリティ情報を安全に保持するキーストアを格納するための記憶領域を含む。
【０１０８】
図６は、本発明の特定の実施形態における、ユーザ・データ格納部３５０内で管理されるユーザ管理データベースを構成する一部のテーブル群、ユーザ情報・関連テーブル群Ａ４００のテーブル構造を表す図である。ユーザ管理データベースは、ユーザテーブル４０２を含み構成される。ユーザテーブル４０２は、ユーザＩＤを登録するフィールド４０２ａと、ユーザＩＤに対応するキーストアのＵＲＩを登録するフィールド４０２ｂとを含み、その他、ユーザの氏名、Ｅ−Ｍａｉｌアドレス、決済情報などのユーザ情報に関するフィールドをさらに含むことができる。なお、他の実施形態においては、フィールド４０２ｂは、キーストアのＵＲＩではなくキーストアそのものをバイナリデータとして格納することもできる。
【０１０９】
キーストアは、クライアント公開鍵を含むクライアント電子証明書、その他、秘密鍵などの情報を、パスワード保護および暗号化によって高いセキュリティで管理するデータベースである。本実施形態においては、コンテンツ著作者および編集者といった、高いセキュリティ管理が求められる処理を実行するユーザに対しては、ユーザが使用するクライアント処理部３００のＣ認証情報記憶部３１４内に格納されているクライアント電子証明書を用いたログイン認証が要求される。ユーザに対応するキーストアには、ログイン認証の際に電子証明の検証に必要となるクライアント電子証明書を含みエントリされる。
【０１１０】
さらにキーストアには、非公開のコンテンツ管理データベースおよびテーブルの名称を暗号化するＤＢ名称暗号化鍵をエントリすることができる。本発明においては、非公開目的のコンテンツを格納する非公開コンテンツ管理データベースのデータベース名およびテーブル名は、ＤＢ名称暗号化鍵で暗号化され、特定のユーザのみが識別することができるコンテンツ管理データベースが提供される。なお、ユーザ・データ格納部３５０に格納される、ユーザに対応するキーストア情報は、新規ユーザ登録時にクライアント側にも送付され、ログイン認証の際に用いられる。
【０１１１】
また、クライアント電子証明書やＤＢ名称暗号化鍵といったキーストアのエントリは、エイリアスという識別名に関連付けてキーストアに格納され、キーストアへのアクセスおよび各エントリへのアクセスは、ユーザ登録時にユーザＩＤとともに設定されるログインパスワードにより保護される。キーストアにアクセスするためのエイリアスの管理については後述するが、非公開目的のコンテンツ管理データベースへアクセスするためのＤＢ名称暗号化鍵は、クライアント端末側に保持されるクライアント電子証明書と、ユーザ側で保持されるログインパスワードと、ユーザ管理データベースで保持されるＤＢ名称暗号化鍵に対応するエイリアスとに基づいて、キーストアから呼び出されるため、コンテンツの格納領域は、高いセキュリティで保護される。
【０１１２】
なお、本発明の特定の実施形態では、高いセキュリティ管理が求められる処理の権原を有するユーザのログイン認証は、ユーザＩＤと、ログインパスワードと、クライアント電子証明書とを用いて行うが、これに限定されるものではなく、本発明においては、ログインパスワードの代わりに、生体認証におけるテンプレートデータなどを使用することもできる。つまり、ユーザを識別するユーザＩＤと、本システムのサーバ処理部３３０が発行する、ユーザＩＤと関連付けられたセキュリティ情報に基づいて認証するものであれば、いかなる認証方法をもちいることができる。
【０１１３】
ユーザ管理データベースは、さらにユーザテーブル４０２と関連するロールマップテーブル４０４を含み構成される。ロールマップテーブル４０４は、フィールド４０４ａと、フィールド４０４ｂとを含み、ユーザＩＤとロールとを関連付ける。フィールド４０４ｂには、ＡＵＴＨＯＲ、ＥＤＩＴＯＲ、ＵＳＥＲ、ＡＤＭＩＮＩＳＴＲＡＴＯＲなどの、ユーザのロールが登録され、同一ユーザＩＤに対して複数のロールが登録されてもかまわない。特定の実施形態では、ロールは、コンテンツ著作者、編集者、利用者、管理者といった役割や、ユーザが利用設定するサービス、システムとユーザとの契約上の関係に基づいて設定することができるが、特に限定されるものではなく、例えば、コンテンツ管理処理ごとにロールを設定して権原管理を行ってもかまわない。ロールをしない権原管理としてもかまわない。本実施形態では、フロント処理部３３８は、ロールに基づいてリソースへのアクセスの承認が行われ、認証承認管理部３４０は、ロールに基づいて管理処理の実行を承認する。また、ロールを用いて包括的な権原付与のための権原グループの設定を行うことができる。
【０１１４】
ユーザ管理データベースは、さらに、ユーザテーブル４０２と関連する管理コンテンツＤＢ情報テーブル４０６と、管理コンテンツテーブル情報テーブル４０８とを含み、ユーザが管理しているコンテンツ管理データベースおよびテーブルへアクセスするための情報を保持する。管理コンテンツＤＢ情報テーブル４０６は、ユーザＩＤを登録するフィールド４０６ａと、データベースＩＤを登録するフィールド４０６ｂと、対応するエイリアスを登録するフィールド４０６ｃとを含む。フィールド４０６ｂには、ユーザの管理下にあるコンテンツ管理データベースに対応するデータベースＩＤが登録され、フィールド４０６ｃには、データベースＩＤに対応するＤＢ名称暗号化鍵にアクセスするためのキーストアのエイリアスが登録される。
【０１１５】
管理コンテンツテーブル情報テーブル４０８は、ユーザＩＤのフィールド４０８ａと、データベースＩＤのフィールド４０８ｂと、テーブルＩＤのフィールド４０８ｃとを含む。フィールド４０８ｃには、ユーザの管理下にあるコンテンツ管理データベース内のテーブルに対応するテーブルＩＤが、上位のデータベースＩＤに関連付けて登録される。
【０１１６】
図７は、本発明の特定の実施形態における、ユーザ・データ格納部３５０内で管理されるユーザ管理データベースを構成する一部のテーブル群、ユーザ情報・関連テーブル群Ｂ４１０のテーブル構造を表す図である。ユーザ管理データベースは、さらに、コンテンツＤＢ情報テーブル４１２と、コンテンツＤＢ情報テーブル４１２とに関連付けられるコンテンツテーブル情報テーブル４１４と、コンテンツＤＢ所有者情報テーブル４１６とを含み構成され、上述の管理コンテンツＤＢ情報テーブル４０６および、管理コンテンツテーブル情報テーブル４０８に登録されるデータベースＩＤと、テーブルＩＤとを、それぞれ対応する管理名称にマップする。本実施形態における、コンテンツＤＢ情報テーブル４１２およびコンテンツテーブル情報テーブル４１４は、本願の管理名称格納手段に対応する。
【０１１７】
コンテンツＤＢ情報テーブル４１２は、データベースＩＤを登録するフィールド４１２ａと、データベース名を登録するフィールド４１２ｂと、管理レベルを登録するフィールド４１２ｃとを含むことができる。本実施形態では、フィールド４１２ｃには、コンテンツ管理データベースに設定される、ＰＵＢＬＩＣ（公開）、ＥＤＩＴ（編集中）、ＰＲＩＶＡＴＥ（非公開）といった管理レベルを識別するための情報が登録される。コンテンツテーブル情報テーブル４１４は、テーブルＩＤのフィールド４１４ａと、データベースＩＤのフィールド４１４ｂと、テーブル名を登録するフィールド４１４ｃとを含む。
【０１１８】
さらにユーザ管理データベースは、グループ・テーブル４１８を含むことができ、コンテンツ著作者の共著関係や編集・校正時の協働関係を表すグループＩＤと、該グループＩＤに所属するユーザＩＤとを関連付け、複数のユーザによる協働作業の管理に用いられる。コンテンツＤＢ所有者情報テーブル４１６には、コンテンツ管理データベースの所有者情報が関連付けられ、データベースＩＤに対応付けてユーザＩＤまたはグループＩＤが登録される。本実施形態においては、コンテンツ管理データベースにおいて管理されているコンテンツに対するコンテンツ管理処理要求は、ユーザＩＤおよび、ユーザＩＤに関連付けられるグループＩＤ、およびロールに基づいて承認することができる。
【０１１９】
＜セクションＣ−７：機能モジュール（コンテンツ・データ格納部）＞
本発明の特定の実施形態では、本システムが管理するコンテンツは、コンテンツ・データ格納部３５２において格納および管理される。コンテンツ・データ格納部３５２は、非公開コンテンツを格納する非公開コンテンツ管理データベース群と、編集時に使用される編集コンテンツ管理データベース群と、公開目的のコンテンツを格納する公開コンテンツ管理データベースとを含む、コンテンツ管理データベース群と、コンテンツ管理データベース群を管理および操作するためのコンテンツ管理データベース・管理モジュールとを含んで構成される。各コンテンツ管理データベースには、データベースＩＤが割当てられ、その名称と関連付けてコンテンツＤＢ情報テーブル４１２に登録される。
【０１２０】
著作中のコンテンツなどが格納される非公開コンテンツ管理データベースは、例えばコンテンツ著作者となるユーザが、新規ユーザ登録を完了させた時に定義・作成され、コンテンツＤＢ情報テーブル４１２において、たとえばＰＲＩＶＡＴＥといった非公開の管理レベルが登録される。編集中のコンテンツが格納される編集コンテンツ管理データベースは、例えばコンテンツ著作者が編集者にコンテンツの編集依頼を行ったときに、編集が完了するまでの間、一時的に作成されるコンテンツ管理データベースであり、コンテンツＤＢ情報テーブル４１２においては、たとえばＥＤＩＴといった編集中の管理レベルが登録される。コンテンツ著作者は、編集依頼したいコンテンツを編集コンテンツ管理データベース内にコピーし、編集者は、コピーされたコンテンツにアクセスして編集・校正作業を行う。
【０１２１】
コンテンツ・データ格納部３５２では、非公開および編集中の管理レベルが設定されたコンテンツ管理データベースは、ユーザ管理データベースのコンテンツＤＢ情報テーブル４１２の該コンテンツ管理データベースに対応するデータベース名を、キーストアのＤＢ名称暗号化鍵によって暗号化した暗号化名称を用い、データベース定義言語（ＤＤＬ）によって定義・作成される。なお、コンテンツ著作者ユーザに割当てられる非公開コンテンツ管理データベースに対応するＤＢ名称暗号化鍵は、ユーザ登録時に生成され、データベースの定義・作成とともに、ユーザＩＤに対応するキーストアにエントリされるが、ＤＢ名称暗号化鍵の生成のタイミングは、これらの方法に限定されるものではない。例えば、ユーザ登録後に新たなＤＢ名称暗号化鍵を生成し、キーストアのエントリを書き換えつつ、新たなＤＢ名称暗号化鍵による暗号化名称によってユーザの非公開コンテンツ管理データベースを再定義の上および内容の複製を行うか、またはデータベース名の変更を行うことによって、ＤＢ名称暗号化鍵の変更処理が可能であり、定期的に鍵を交換することによりセキュリティを向上させることができる。
【０１２２】
本発明の実施形態においては、暗号化名称は、復号する必要性が無いため、ＤＢ名称暗号化鍵を用いた暗号化は、ＭＤ５（Message Digest Algorithm 5）、ＳＨＡ−２２４、ＳＨＡ−２５６、ＳＨＡ−３８４、ＳＨＡ−５１２などのハッシュ関数を用いて行うことができる。不可逆なハッシュ関数を用いることより、データベースに実際に存在する暗号化名称からは、暗号化前のデータベース名称およびＤＢ名称暗号化鍵を解析することが不可能となり、セキュリティを向上させることができる。なお、万が一、衝突が起こった場合には、データベースの定義時のエラーを検出して、ＤＢ名称暗号化鍵の再発行処理を行うことにより、万が一の衝突問題の回避を行うことができる。
【０１２３】
しかしながら、本発明においては、上述の名称の暗号化方法に限定されるものではなく、公開鍵暗号化方式、共通鍵暗号化方式によっても行うことができ、共通鍵暗号化方式として、ＤＥＳ（Data Encryption Standard），トリプルＤＥＳ、ＡＥＳ（Advanced Encryption Standard）、ＩＤＥＡ（International
Data Encryption Algorithm）、ＦＥＡＬ（Fast data Encipherment Algorithm）、ＭＩＳＴＹなどをもちいることができる。
【０１２４】
さらに本発明においては、ＤＢ名称暗号化鍵などを用いて、上述の共通鍵暗号化方式および公開鍵暗号化方式などの可逆的な暗号化方式により、コンテンツ管理データベースに格納されるコンテンツのデータ自体も暗号化することによって、さらにセキュリティを向上させることができる。
【０１２５】
本発明においては、ＤＢ名称暗号化鍵のキーストア内のエントリは、ユーザのログインパスワードによって保護されるため、所有者であるユーザが唯一識別できる安全なコンテンツの保管領域を提供することができる。一方、編集中コンテンツ管理データベースに対応するＤＢ名称暗号化鍵は、編集依頼時に生成されて、コンテンツ著作者および依頼を受けた編集者のキーストアの両方にエントリされるため、コンテンツ著作者および依頼を受けた編集者のみがアクセスできる安全な編集作業領域を提供することができる。同様に、複数のコンテンツ著作者による共著の場合は、共著関係者間で共有するグループＩＤを新たに生成し、グループＩＤに対して非公開コンテンツ管理データベースが新たに定義される。ＤＢ名称暗号化鍵は、グループを構成するユーザに対応するキーストアに格納され、グループ間で共有されるため、グループ構成員のみがアクセスできる安全な協働作業領域を提供することができる。
【０１２６】
本実施形態では、これらのＤＢ名称暗号化鍵は、ユーザテーブル４０２に当該データベースを所有するユーザＩＤに対応づけて格納されているキーストアＵＲＩに示されたキーストア内に、データベースに対応するエイリアスに関連づけてエントリされる。ＤＢ名称暗号化鍵にアクセスするためのエイリアスは、管理コンテンツＤＢ情報テーブル４０６内の、該ユーザＩＤと、該データベースのデータベースＩＤとに対応するフィールド４０６ｃのレコードに登録されている。よって、ユーザは、ユーザテーブル４０２と管理コンテンツＤＢ情報テーブル４０６と、コンテンツＤＢ情報テーブル４１２とを用いて、自らのユーザＩＤに対応するキーストアのＵＲＩ、および、管理しているコンテンツ管理データベースに対応するエイリアスを取得し、キーストア内のＤＢ名称暗号化鍵を呼び出して、テーブル内のデータベース名の暗号化名称を得ることにより、自らが管理する、暗号化名称によって作成・定義されているコンテンツ管理データベースへのアクセスを実現する。
【０１２７】
さらに特定の実施形態では、該データベース内のテーブル名称も、該データベース名称を暗号化した同一のＤＢ名称暗号化鍵を用いて暗号化することができる。この場合も同様に、コンテンツ管理データベースの所有者は、コンテンツテーブル情報テーブル４１４と、データベースを暗号化したＤＢ名称暗号化鍵とを用いて、対応するテーブル名の暗号化名称を得ることにより、自らが管理するコンテンツ管理データベースのテーブルへのアクセスを実現する。上述のように、ユーザ管理データベースによって管理されているデータベース名称およびテーブル名称、またはどちらか一方を暗号化した暗号化名称を用いて定義することにより、データベースのセキュリティが向上し、たとえ、悪意の第三者が本システムのコンテンツ・データ格納部３５２にアクセスでき、ルート権原を得ることができたとしても、データベースおよびテーブルを識別することができない。なお、名称を暗号化されるテーブルは、データベース内で定義される全てのテーブルとしても良く、一部のテーブル、例えば、親テーブルのみを対象としてもかまわない。
【０１２８】
また、サーバ処理部３３０は、上述したユーザが管理するコンテンツ管理データベースへアクセスするための情報を、ログイン時にユーザ・データ格納部３５０から読み出し、ユーザプロファイルの付加情報としてサーバ処理部３３０の記憶部へ格納することによって、ログイン済のユーザが管理するコンテンツ管理データベースおよびテーブルへのアクセスを、ユーザ・データ格納部３５０へ逐一問い合わせることなく行うことができる。
【０１２９】
なお、上述したデータベース名の暗号化に関する記述は、例えばMySQLのような、データベース・インスタンスに対して複数のデータベースを起動することができ、データベース単位で管理されるデータベース・システムを用いて実装した場合に対応するものである。一方、コンテンツ・データ格納部３５２において使用されるデータベース・システムによって、例えばOracleのように、ひとつのデータベース・インスタンスにひとつのデータベースが対応し、スキーマによって管理単位が設定されるデータベース・システムを用いて実装する場合には、スキーマのテーブル名称を暗号化することによってセキュリティ強度を向上することができる。
【０１３０】
なお、本発明においては、コンテンツは、コンテンツＩＤと、コンテンツの著作権を有するユーザのユーザＩＤもしくはグループＩＤと、コンテンツ内容とを関連付けて、適当な正規表現によってコンテンツ管理データベース内において管理される。コンテンツＩＤと著作権者を関連付けることにより、後述するインセンティブの分配を行うことができる。また、本実施形態ではコンテンツは、コンテンツＩＤごとに親テーブルが定義され、新規コンテンツ作成の際は、親テーブルと、親テーブルと集約もしくはコンポジションの関係にある適当なテーブル群が新たに定義・作成されるデータ構造としているが特に限定されるものではない。
【０１３１】
さらに、本発明によれば、コンテンツ管理データベースには、複数のコンテンツから構成されるコンテンツの集合体を登録することができ、その際には、コンテンツ集合ＩＤと、コンテンツＩＤと、コンテンツＩＤに対応するコンテンツ・データのコンテンツ集合内における順序と配置とを含むレイアウト関係とを関連付けて格納される。特定の実施形態では、ドキュメント形式のコンテンツは、チャプター、セクションまたはパラグラフといったブロック単位でコンテンツＩＤを付すことができ、順序だった複数のブロック単位の集合を関連付けて登録することにより、ひとつの書籍として構成することができる。さらに、レイアウト関係に、レイヤ構造も含めることによって、例えば、問題集のような解答欄を含むコンテンツに、解答例を含むコンテンツを重ねたコンテンツ集合を提供することも可能となる。
【０１３２】
イメージ形式のコンテンツは、イメージごとにコンテンツＩＤを付すことができ、順序と配置とを含むレイアウトされたイメージ単位の集合を関連付けて登録することにより、ひとつの画集、イラスト集または写真集として構成することができる。オーディオ形式のコンテンツは、オーディオデータごとにコンテンツＩＤを付すことができ、順序だったオーディオデータの集合を関連付けて登録することにより、ひとつのオーディオ・アルバムとして構成することができる。
【０１３３】
同様に、映像作品やこれら、ドキュメント、イメージ、オーディオデータ、映像データのマルチメディア・コンテンツ集合として関連付けることもできる。さらに、これらのコンテンツ集合をさらに、順序・関連付けてコンテンツ・シリーズとして登録してもかまわない。なお、このようなコンテンツ関連情報は、コンテンツ情報データベース内にも格納され、一連の関連したコンテンツ・データを閲覧を希望するユーザに提示することができる。
【０１３４】
以上、各コンテンツ管理データベースが、同一サーバ上にあるコンテンツ・データ格納部３５２に格納される場合の実施形態について述べてきたが、他の実施形態においては、コンテンツ・データ格納部３５２は、非公開コンテンツ管理データベース群、編集コンテンツ管理データベース群、公開コンテンツ管理データベースについて、異なるデータベース・サーバ１０４から構成することができ、非公開目的の非公開コンテンツ管理データベース群、編集コンテンツ管理データベース群を、公開目的のサーバから切り離すことによって、セキュリティを向上させることができる。
【０１３５】
図３〜５に示した各機能モジュールなどはメモリ２０４およびＭＰＵ２００により構成され、各機能モジュールなどに機能を実現するためのプログラム（図示せず）をメモリ２０４にロードして実行することによりその機能を実現させることができる。また、図３〜５に示した各データ格納部は、記憶装置２０８に格納されているデータとして実現することができる。しかしながら、各機能モジュールなどの全部または一部を専用のハードウェアにより実現したものであってもよい。また、Ｊａｖａ（登録商標）、Ｃ＋＋、．ＮＥＴ、Ｒｕｂｙなどのオブジェクト指向プログラミング言語で記述される場合には、各機能モジュールなどは、オブジェクトまたは複数のオブジェクト単位が協働したオブジェクト群として、各処理は、オブジェクトが備えるメソッドとして、オブジェクト間のメッセージの交換は、メソッド呼び出しまたはリモートメソッド呼び出しによって、またはソケットを用いて実装することができる。また、コンテンツ・データ格納部３５２およびユーザ・データ格納部３５０のデータベース管理モジュールは、OracleやMySql、DB2、PostgreSQL、などのデータベース・ソフトウェアから構成することができる。なお、図１においては、図３〜図５で示した特定の実施形態のコンテンツ・データ格納部３５２は、データベース・サーバ１０４において実装され、それ以外の機能モジュール、データ格納部は、Ｗｅｂアプリケーション・サーバ１０２において実装される。以下に、本発明における各種処理について、特定の実施形態を用いて詳細に説明する。
【０１３６】
＜セクションＤ：本システムにおける処理シーケンス＞
本発明の特定の実施形態では、本コンテンツ管理システム１００が管理するコンテンツに対する処理は、ログイン認証により認証されたユーザに対して、そのユーザに関連付けられたユーザＩＤやグループＩＤやロールなどの主体識別情報と、各処理に対して主体識別情報に関連付けて権原を設定しているコンテンツ管理処理のポリシーとに基づいて承認される。さらに、本発明においては、管理コンテンツに対する処理における、クライアント−サーバ間の通信は、ブラウザにアドオンされる、送信プラグイン３０６および受信プラグイン３０８を介して行われる。
【０１３７】
ブラウザ３１０から、コンテンツ管理用リソースへのアクセス要求を受信したフロント処理部３３８は、ブラウザ３１０へ、送信プラグイン３０６および受信プラグイン３０８の起動要求を送信する。起動要求を受信したブラウザ３１０は、プラグイン・プログラムの起動を試み、プラグインの起動に成功した場合には、以降、コンテンツ管理用リソースへのトランザクションを送信プラグイン３０６および受信プラグイン３０８を介して行う。
【０１３８】
一方、プラグイン・プログラムの起動に失敗した場合、ブラウザ３１０は、プラグイン・インストール・プログラムのダウンロード要求メッセージを、フロント処理部３３８へ送信し、フロント処理部３３８は、ページ・データ格納部３４６から、インストール・プログラムを読み出して、ブラウザ３１０へ応答メッセージとして送信する。インストール・プログラムを受信したブラウザ３１０は、プラグイン・プログラムのインストールを試みて、インストールが正常に完了した場合には、プラグイン・プログラムの起動を試みる。なお、プラグイン・プログラムのインストール・プログラムの提供方法は、特に限定されるものではなく、ダウンロード以外にもＣＤなどの記憶媒体により提供することもできる。以下に、既にプラグイン・プログラムが起動していることを想定して、コンテンツ管理処理の各処理の処理シーケンスについて説明する。
【０１３９】
＜セクションＤ−１：ユーザ・ログイン認証処理シーケンス＞
図８は本発明の特定の実施形態におけるユーザ・ログイン認証処理のシーケンス図を示す。図８を用いて、ログイン認証における処理シーケンスを説明する。まず、ユーザがブラウザ３１０を用いて、アクセス保護されたコンテンツ管理用リソースへアクセスを試みると（ステップＳ１００）、ブラウザ３１０は、ステップＳ１０１で認証プラグイン３１２を介して、Ｃ認証情報記憶部３１４（図８においては記載省略）へユーザプロファイルの取得要求を送信する。なお、ユーザプロファイルは、ユーザのログイン認証の完了とともに、サーバ処理部３３０の記憶部に格納されるとともに、クライアント処理部３００のＣ認証情報管理部３１４にも格納され、よって、ブラウザ側でログイン認証済であるかの判断が可能となる。認証プラグイン３１２は、Ｃ認証情報記憶部３１４からユーザプロファイルの取得が正常に完了した場合には、ユーザプロファイルをブラウザ３１０へ返し、取得に失敗した場合には、例えばｎｕｌｌ値を戻り値として返す。
【０１４０】
ユーザプロファイルを取得し、かつ、取得したユーザプロファイルが有効である場合は、既にログイン済であると判断され、アクセス保護されたコンテンツ管理用リソースへのアクセスが試みられる（ステップＳ１２４）。なお、ユーザプロファイルの効力は、例えばユーザプロファイルに設定された有効期限などを確認することにより検証することができる。一方、ユーザプロファイルの取得に失敗した場合、またはユーザプロファイルが失効していた場合は、ブラウザ３１０は、ステップＳ１０２でログイン認証プロセスを起動し、ステップＳ１０３で、認証プラグイン３１２を介して、Ｃ認証情報記憶部３１４から、接続におけるクライアント認証および本システムのユーザ認証に用いるためのクライアント電子証明書およびＤＢ名称暗号化鍵を含むキーストア情報の取得を試みる。その際、複数のクライアント証明書を有する場合には、ユーザに電子証明書の選択を要求するＧＵＩを提示することができる。認証プラグイン３１２は、クライアント電子証明書を取得に失敗した場合には、ユーザが現在利用しているクライアント端末が、システムへ未登録であると判断し、エラー表示とともにステップＳ１２５で新規ユーザ登録ページへリダイレクトする。
【０１４１】
ブラウザ３１０は、キーストア情報の取得に成功した場合は、ステップＳ１０４で、例えば、ユーザにログインＩＤおよびログインパスワードの入力のためのＧＵＩやログイン・ページへリダイレクトしたりすることによって、ログイン情報入力を要求する。ブラウザ３１０は、ユーザからのログイン情報入力を受けて、ステップＳ１０５で、送信プラグイン３０６へログイン認証情報とともにログイン情報送信要求を発行する。ログイン情報送信要求を受信した送信プラグイン３０６は、ステップＳ１０６で、サーバ処理部３３０のフロント処理部３３８と、取得したキーストア情報内のクライアント電子証明書を用いて、相互認証接続のハンドシェイクを行い、セキュアな通信経路を確立する。相互認証接続が確立した後、送信プラグイン３０６は、ステップＳ１０７で、ユーザＩＤと、ログインパスワードと、キーストア情報（クライアント電子証明書と、必要に応じてＤＢ名称暗号化鍵とを含む。）とから構成されるログイン認証情報を含むログイン要求メッセージをフロント処理部３３８へ送信する。ログイン要求メッセージを受信したフロント処理部３３８は、ステップＳ１０８で、ログイン認証情報とともにログイン認証要求を認証承認管理部３４０へ送信する。
【０１４２】
ログイン認証要求を受信した認証承認管理部３４０は、ステップＳ１０９で、ユーザ・データ格納部３５０へログイン認証情報に含まれる送信元のユーザＩＤに対応するユーザ・データを問い合わせるために、ユーザＩＤとログインパスワードとを含むユーザ・データ問い合わせ要求をコンテンツ管理部３４４へ送信する。ステップＳ１１０では、ユーザ・データ問い合わせ要求を受信したコンテンツ管理部３４４は、送信元ユーザＩＤに対応するユーザ・データの取得要求を、例えばＳＱＬ文によってユーザ・データ格納部３５０へ発行し、ステップＳ１１１でユーザ・データ取得応答を受信する。なお、図８においては、コンテンツ管理部３４４とユーザ・データ格納部３５０との間の、複数回にわたる情報のやり取りの記載などは便宜上省略されている。ステップＳ１１０およびステップＳ１１１では、コンテンツ管理部３４４は、送信元ユーザＩＤに対応するユーザ管理データベースの登録情報の取得に加え、ユーザ管理データベースから取得したＵＲＩで指定されているキーストアから、ログインパスワードを用いてクライアント電子証明書と、必要に応じてＤＢ名称暗号化鍵との取得を試み、クライアント電子証明書とＤＢ名称暗号化鍵とを含めてユーザ・データとし、ユーザ・データ取得応答として受信する。
【０１４３】
ユーザ・データ取得応答を受信したコンテンツ管理部３４４は、ステップＳ１１２で、クライアント電子証明書を含むユーザ・データを、ユーザ・データ問い合わせ結果応答として認証承認管理部３４０へ返す。ユーザ・データを受取った認証承認管理部３４０は、ステップＳ１１３で、ブラウザ３１０からログイン認証要求とともに送信されたキーストア情報に含まれるクライアント電子証明書と、ユーザ・データ問い合わせ結果応答に含まれるユーザ・データとに基づいて、ログイン認証を行う。認証承認管理部３４０は、送信されたクライアント電子証明書と、ユーザ・データに含まれるクライアント電子証明書が一致した場合には、送信元ユーザＩＤのログインが適正であると判断し、ステップＳ１１４で、ユーザＩＤに対応するユーザプロファイルを生成し、サーバ処理部３３０の記憶部へ格納する。
【０１４４】
その際には、ユーザ・データ問い合わせ結果応答に含まれる、ユーザＩＤ、グループＩＤおよびロールは、主体識別情報として、クライアント電子証明書およびＤＢ名称暗号化鍵は、信用情報として、ユーザプロファイル中に格納される。さらに、ユーザが管理するコンテンツ管理データベースに関する情報、つまり、データベース名やテーブル名や管理レベルや所有者情報を、ユーザプロファイル付加情報として、記憶部に格納することもできる。なお、信用情報には、チケットやトークンやキーストア情報など、ログイン以降のクライアント−サーバ間の通信におけるクライアント身元証明のための信用情報が含まれる。続いて、ステップＳ１１５で、認証承認管理部３４０は、ユーザプロファイルとともにログイン認証完了応答の送信要求をフロント処理部３３８へ発行し、フロント処理部３３８は、ステップＳ１１６で、クライアント処理部３００の受信プラグイン３０８へ、ユーザプロファイルとともにログイン認証完了応答メッセージを送信する。
【０１４５】
一方、ユーザ管理データベース内に送信元ユーザＩＤに対応する登録が無い場合、キーストアへのアクセスが拒否された場合、または、クライアント処理部３００から送信されたクライアント電子証明書と問い合わせ結果応答のユーザ・データに含まれるクライアント電子証明書とが一致しない場合には、認証承認管理部３４０は、ログイン認証に失敗したと判断し、ステップＳ１２１で、ログイン認証失敗応答の送信要求をフロント処理部３３８へ発行し、フロント処理部３３８は、ステップＳ１２２で、クライアント処理部３００の受信プラグイン３０８へログイン認証失敗応答メッセージを送信する。
【０１４６】
ログイン認証完了応答メッセージまたはログイン認証失敗応答メッセージを受信した受信プラグイン３０８は、ステップＳ１１７で、応答メッセージの内容（認証に成功した場合はユーザプロファイルも含む）から、ログイン認証が正常に完了したか否かを判断する。ログイン認証に失敗したと判断した場合は、受信プラグイン３０８は、ステップＳ１２３で、ブラウザ３１０にログイン認証失敗の報告を行い、ブラウザ３１０は、ＧＵＩを用いてユーザへ通知する。一方、ログイン認証が正常に完了したと判断した場合には、受信プラグイン３０８は、ステップＳ１１８で、応答メッセージに含まれているユーザプロファイルとともに、ユーザプロファイル格納要求を、認証プラグイン３１２に送信する。ユーザプロファイル格納要求を受信した認証プラグイン３１２は、Ｃ認証情報記憶部３１４へユーザプロファイルを格納する。ステップＳ１１９で、認証プラグイン３１２からのユーザプロファイル格納の完了応答を受信した受信プラグイン３０８は、ステップＳ１２０で、ブラウザ３１０にログイン認証完了の報告を行い、ブラウザ３１０は、例えば、ログイン認証後のトップページ表示を行う。以降、ユーザプロファイル内のクライアント身元証明のための信用情報を用いて、アクセス保護されたコンテンツ管理用リソースへのアクセスの際の認証が行われる。
【０１４７】
なお、本発明の特定の実施形態では、上述したおよび図８に示した処理シーケンスにより、ログイン認証が行われるが、これに限定されるものではない。例えば、ユーザ・データ格納部３５０にある、ユーザ管理データベースへの問い合わせは、コンテンツ管理部３４４を介して行う記載となっているが、他の実施形態では、認証承認管理部３４０に、データベースアクセスのためのモジュールを組み込み、認証承認管理部３４０が直接にユーザ管理データベースへ問い合わせを行う処理としてもかまわない。以下に、新規ユーザ登録処理における処理シーケンスを特定の実施形態を用いての説明をする。
【０１４８】
＜セクションＤ−２：新規ユーザ登録シーケンス＞
ログイン認証処理において、認証プラグイン３１２が、キーストア情報の取得に失敗し、新規ユーザ登録ページへリダイレクトされた場合や、ユーザがブラウザ３１０を介して、新規ユーザ登録ページのＵＲＬにアクセス要求した場合には、新規ユーザ登録処理を開始する。本発明の特定の実施形態では、新規ユーザ登録は、送信プラグイン３０６および受信プラグイン３０８を用いて行われる。
【０１４９】
新規ユーザ登録ページでは、登録するユーザＩＤ、ログインパスワード、その他、登録サービス情報、その他会員情報などを入力し、ユーザ登録情報をサーバ側に送信するためのＧＵＩがブラウザ３１０上に提示される。なお、本発明では、コンテンツの閲覧、コンテンツの著作、コンテンツの編集といった登録サービス情報に基づいて、ユーザのロールを設定することができるが、特に限定されるものではない。ブラウザ３１０は、ＧＵＩを介したユーザからの会員登録開始要求を検出し、送信プラグイン３０６を介して、サーバ認証接続により、フロント処理部３３８を経由して、認証承認管理部３４０へ、ユーザ登録情報を含む新規ユーザ登録要求を送信する。新規ユーザ登録要求を受信した認証承認管理部３４０は、証明書発行要求を認証情報発行部３４２に発行する。認証情報発行部３４２は、本システムのログイン認証に用いるためのクライアント公開鍵／秘密鍵の鍵ペアおよびクライアント電子証明書と、例えば、ＡＵＴＨＯＲのロールが設定されるユーザに対しては、さらに非公開コンテンツ管理データベースのＤＢ名称暗号化鍵を生成し、これらを含めたキーストア情報を、認証承認管理部３４０へ返す。
【０１５０】
キーストア情報を受取った認証承認管理部３４０は、ユーザ・データ登録処理要求をコンテンツ管理部３４４へ送信する。ＡＵＴＨＯＲのロールが設定されるユーザに対しては、さらに非公開コンテンツ管理データベースの名称を生成して、ＤＢ名称暗号化鍵、非公開コンテンツ管理データベース名称およびテーブル名称を含めた新規非公開データベース作成要求をコンテンツ管理部３４４へ送信する。ユーザ・データ登録処理要求を受信したコンテンツ管理部３４４は、ユーザ・データ格納部３５０内に、ユーザ登録情報に含まれるユーザＩＤと関連付けたキーストアを作成し、ユーザ管理データベースに、ユーザＩＤと、キーストアＵＲＩと、ＡＵＴＨＯＲのロールが設定される場合にはさらに非公開コンテンツ管理データベース名称およびテーブル名称とＤＢ名称暗号化鍵用のエイリアスとを関連付けて登録し、該キーストアに、ログインパスワードをアクセスキーとして、生成されたキーストア情報に含まれるクライアント電子証明書およびＤＢ名称暗号化鍵をエイリアスに関連付けて格納する。キーストアの生成に成功したコンテンツ管理部３４４は、生成したキーストアと同様の内容の登録済キーストア情報を含む処理応答を認証承認管理部３４０へ送信する。
【０１５１】
新規非公開データベース作成要求を受信したコンテンツ管理部３４４は、非公開コンテンツ管理データベースを提供するために、コンテンツ・データ格納部３５２に対してＳＱＬ文を発行することにより、非公開コンテンツ管理データベースを作成・定義する。その際は、非公開コンテンツ管理データベースは、ＤＢ名称暗号化鍵および非公開コンテンツ管理データベース名称およびテーブル名称から生成した暗号化名称を用いて定義される。
【０１５２】
これらの処理応答を受信したコンテンツ管理部３４４は、登録済キーストア情報を含む処理応答メッセージを、認証承認管理部３４０、フロント処理部３３８を介して、受信プラグイン３０８へ送信する。処理応答メッセージを受信した受信プラグイン３０８は、受信した登録済キーストア情報を、認証プラグイン３１２を介してＣ認証情報処理部へ格納し、ブラウザ３１０に処理応答を通知する。
【０１５３】
上述のログイン認証および新規ユーザ登録におけるＤＢ名称暗号化鍵の管理方法によれば、ＤＢ名称暗号化鍵はキーストア情報に格納され、サーバ処理部３３０のユーザ・データ格納部３５０、および、クライアント処理部３００のＣ認証情報記憶部３１４は、双方においてＤＢ名称暗号化鍵を含むキーストア情報を共有する。しかしながら、他の実施形態においては、ユーザ・データ格納部３５０内のキーストアには、ＤＢ名称暗号化鍵を格納せず、クライアント処理部３００側に送付されてＣ認証情報記憶部３１４に格納されるキーストア情報にのみＤＢ名称暗号化鍵を保持させることができる。
【０１５４】
ＤＢ名称暗号化鍵がクライアント処理部３００側にのみに格納される場合には、ユーザのログイン認証要求時にクライアント処理部３００のＣ認証情報記憶部３１４からサーバ処理部３３０へ送付されるキーストア情報に含まれるクライアント電子証明書と、サーバ処理部３３０のユーザ・データ格納部３５０にあるキーストア内の証明書とに基づいて、ユーザ認証およびクライアント電子証明書認証によりログイン判定が行われる。ＤＢ名称暗号化鍵は、ログインが完了したユーザのユーザＩＤと、ユーザが管理する各コンテンツ管理データベースのデータベースＩＤとに対応する、管理コンテンツＤＢ情報テーブル４０６内のフィールド４０６ｃのレコードに登録されているエイリアスを用いて、送付されたキーストア情報から取得され、ユーザプロファイル中に格納される。これにより、少なくともユーザがログインしていない間は、サーバ処理部３３０側には、キーストアからＤＢ名称暗号化鍵を読み出すためのエイリアスは格納されているものの、実際のＤＢ名称暗号化鍵が存在しないため、コンテンツ管理システムのセキュリティ強度を向上させることができる。よって、たとえ悪意の第三者にサーバのルート権原を奪われて、さらにユーザのログインパスワードも漏洩したとしても、データベースやテーブルの暗号化名称を得ることはできない。以下に、ログイン認証以降における各コンテンツ管理処理の処理シーケンスについて、特定の実施形態をもって説明する。
【０１５５】
＜セクションＤ−３：各処理の主要シーケンス＞
ログイン認証完了後、ブラウザ３１０は、コンテンツ管理のためのメニューなどのＧＵＩオブジェクトをサーバ処理部３３０からダウンロードし、例えば、ログイン認証後のトップページなどの初期画面表示を行うことができる。本発明の特定の実施形態では、コンテンツ管理処理要求は、サーバ処理部３３０からブラウザ３１０へ提供または提示要求される、イメージ・オブジェクト、ボタン、プルダウンメニュー、フォーム、ラジオボタン、グリッド・コントロールなどのＧＵＩオブジェクトを入力インタフェースとして行われる。ユーザが、クライアント処理部３００が動作している端末のキーボードおよびマウスを用いて、ブラウザ３１０上に提示されたＧＵＩやブラウザ３１０の表示領域に対して入力操作を行うと、ブラウザ３１０は、ブラウザのイベント監視機能を用いてイベント情報を検出し、サーバ処理部３３０へイベント情報を送信する。サーバ処理部３３０は、送信されてきたイベント情報を解釈して、要求されたコンテンツ管理処理を抽出し、コンテンツ管理処理を実行する。
【０１５６】
本発明では、上述のように、コンテンツの著作を含むコンテンツ管理処理を行うためのＧＵＩをブラウザ３１０により提供し、実際の処理の大部分をサーバ側で行うことにより、ローカルのアプリケーションで作成したコンテンツをアップロードする場合とは異なり、クライアント側には、必要最低限のコンテンツ情報が保持されるにとどまり、ファイル交換プログラムやウィルスなどによる、クライアント側からの情報漏洩を好適に防止することができる。
【０１５７】
さらに、大部分の処理プロセスがサーバ側で行われるため、ユーザを含む第三者に提供されるクライアント・プログラムには、主にユーザとのインタフェースとして機能させるための機能構成のみが含まれ、コンテンツ管理データベースにアクセスするための主要な機能を含まない構成とすることが可能となる。よって、悪意の第三者によりクライアント・プログラムが解析されたとしても、クライアント・プログラムが有する機能以上の、例えば、不正な処理プロセスの呼び出しなどの操作が行われる危険性を最小化することができる。
【０１５８】
図９は本発明の特定の実施形態における、主要なコンテンツ管理処理における基本的な処理シーケンスを示す図である。ブラウザ３１０は、ステップＳ２００で、提示するＧＵＩに対してユーザが行ったイベント情報を検出し、一連の処理が開始される。イベント情報を検出したブラウザ３１０は、ステップＳ２０１で、入力操作の対象となるＧＵＩオブジェクトや表示領域を識別するための識別値（以降、操作対象オブジェクト識別値として参照する。）と、検出されたイベントの種類（以降、イベント属性として参照する。）とを含むイベント情報をイベント情報送信要求とともに送信プラグイン３０６に送信する。イベント情報送信要求を受信した送信プラグイン３０６は、ユーザプロファイル取得要求を認証プラグイン３１２へ送信し、要求を受信した認証プラグイン３１２は、Ｃ認証情報記憶部３１４からユーザプロファイルを読み出し、送信プラグイン３０６に返す。
【０１５９】
ユーザプロファイルの取得に成功した送信プラグイン３０６は、ステップＳ２０３で受信した操作対象オブジェクト識別値およびイベント属性を含むイベント情報から、イベント情を含む一次処理要求コマンドを作成する。なお、特定のコンテンツ管理データベースおよびコンテンツに対するコンテンツ管理処理要求の際には、ステップＳ２０１のイベント情報送信要求やステップＳ２０３の一次処理要求コマンドに含まれるイベント情報には、さらに、現在の処理対象となっているデータベースを識別するためのデータベース識別情報と、コンテンツに関連付けられるコンテンツ識別情報（以降、データベース識別情報とコンテンツ識別情報を纏めて、処理対象特定情報として参照）が含めることができ、クライアント側から処理対象を特定するための情報を送信することができる。また、操作対象のＧＵＩオブジェクトが、スクロールバー、リスト、プルダウンメニュー、ラジオボタンやスイッチといった、状態値を持つＧＵＩオブジェクトである場合には、ステップＳ２０１のイベント情報送信要求やステップＳ２０３の一次処理要求コマンドに含まれるイベント情報には、さらに、状態値を含めることができる。
【０１６０】
ここで、イベント情報とは、イベント操作が行われた対象のオブジェクト識別値と、クリックやマウスボタン押し下げなどのイベント属性と、処理対象特定情報と、オブジェクト状態値と、マウスのポインタ座標や入力キーのキーコードなどを含めた情報として参照する。送信プラグイン３０６は、ステップＳ２０４で、ステップＳ２０３で生成した一次処理要求コマンドと、ユーザプロファイルに含まれる、クライアント身元証明のための信用情報を含む一次処理要求メッセージを、サーバ側のフロント処理部３３８へ送信する。
【０１６１】
一方、一次処理要求メッセージを受信したフロント処理部３３８は、メッセージに含まれる信用情報を用いてログイン判定を行い、メッセージの送信元と、サーバ処理部３３０の記憶部に格納されている対応するユーザプロファイルと関連付ける。なお、本発明の特定の実施形態では、ログイン認証以降のサーバ側の各機能モジュールにおける各処理プロセスにおいては、送信されてきた信用情報と、サーバ処理部３３０の記憶部に格納されているユーザプロファイルとに基づいてログイン判定が行われ、ユーザプロファイルに含まれる主体識別情報に基づいて各処理プロセスの呼び出しが承認される。各機能モジュールにおいて送信元の身元の確認を行うことによりコンテンツ管理処理のセキュリティを向上することができる。
【０１６２】
フロント処理部３３８は、ステップＳ２０５で、受信した一次処理要求メッセージに含まれる一次処理要求コマンドに基づいて、コンテンツ管理処理要求を生成する。その際には、一連の一次処理要求コマンドをバッファし、処理単位でまとめて解釈してコンテンツ管理処理要求を生成することもできる。なお、送信プラグイン３０６における、一次処理要求コマンドの生成および、フロント処理部３３８における、一次処理要求コマンドからコンテンツ管理処理要求の生成について、詳細を後述する。
【０１６３】
ステップＳ２０６で、フロント処理部３３８は、生成したコンテンツ管理処理要求に対応するコンテンツ管理処理識別値と、特定のコンテンツ管理データベースおよびコンテンツに対する処理要求の際には、さらに処理対象特定情報とを含むコンテンツ管理処理・承認要求を、認証承認管理部３４０に送信する。
【０１６４】
コンテンツ管理処理・承認要求を受信した認証承認管理部３４０は、ステップＳ２０７で、コンテンツ管理処理識別値と、処理対象特定情報と、ユーザプロファイル中に格納され送信元ユーザに関連付けられる主体識別情報とに基づいて、コンテンツ管理処理の承認処理を実行する。
【０１６５】
認証承認管理部３４０は、ステップＳ２０８で、フロント処理部３３８に、コンテンツ管理処理・承認結果応答を返す。フロント処理部３３８は、承認されなかった場合には、ステップＳ２１８で、クライアント処理部３００の受信プラグイン３０８へ、コンテンツ管理処理不許可応答メッセージを送信し、コンテンツ管理処理不許可応答メッセージを受信した受信プラグイン３０８は、ステップＳ２１９で、ブラウザ３１０にコンテンツ管理処理不許可の報告を行い、ブラウザ３１０は、ＧＵＩを用いてユーザへ通知する。
【０１６６】
一方、コンテンツ管理処理が承認された場合には、フロント処理部３３８は、承認されたコンテンツ管理処理要求を、コンテンツ管理部３４４発行する（ステップＳ２０９）。コンテンツ管理処理要求を受信したコンテンツ管理部３４４は、ステップＳ２１０で、ユーザプロファイル付加情報またはユーザ管理データベースに格納されている、コンテンツ管理処理の対象であるコンテンツ管理データベースに対応する、データベース名およびテーブル名を得て、必要に応じて、ユーザプロファイル中の該データベースに対応するＤＢ名称暗号化鍵を用いて、暗号化された実際のデータベース名およびテーブル名を得る。
【０１６７】
コンテンツ管理部３４４は、ステップＳ２１１で、コンテンツ・データ格納部３５２内のコンテンツ管理データベースへ、ＳＱＬ文を発行し、読み出しや書込みなどの操作を行う。コンテンツ管理部３４４は、ステップＳ２１２で、コンテンツ・データ格納部３５２からの応答を受取り、ステップＳ２１３で、データベース処理結果を含むコンテンツ管理処理応答メッセージをフロント処理部３３８へ送信する。
【０１６８】
コンテンツ管理処理応答メッセージを受取ったフロント処理部３３８は、メッセージに含まれるデータベース処理結果から、クライアント処理部３００のブラウザ３１０へ結果を提示するために、例えばＨＴＭＬ形式やＸＭＬ形式といった、ブラウザ・ソフトウェアが取り扱い可能な形式の表示データを作成して、ステップＳ２１５で、受信プラグイン３０８へ処理応答メッセージとして送信する。受信プラグイン３０８は、ステップＳ２１６で、ブラウザ３１０に表示結果の提示を行い、処理を終了する。なお、表示データは、各コンテンツ管理処理要求と関連付けたＧＵＩおよびＧＵＩの提示指令を含むことができ、ＧＵＩは、オブジェクト識別値と関連付けられ、さらに、各種イベント属性と、送信プラグイン３０６において呼び出される処理とに関連付けられる。また、コンテンツ管理処理結果により表示される画面状態を識別するための表示画面識別情報や、表示データに特定のコンテンツの内容を含む場合には、表示データに含まれるコンテンツの表示範囲と、コンテンツ管理データベースにおけるデータとの対応関係を、記憶部の作業プロファイル内に格納することができる。特定の実施形態においては、表示画面識別情報は、メニュー表示、一覧表示、コンテンツ内容表示などのフロント処理に応答させて設定することができるが、特に限定されるものではない。
【０１６９】
＜セクションＤ−４：イベント検出からコンテンツ管理処理の抽出＞
以下に、ブラウザ３１０に提示されるＧＵＩオブジェクトに対して行われた入力操作から、一次処理要求メッセージを生成する処理プロセス、および、一次処理要求メッセージからコンテンツ管理処理を抽出する処理プロセスの詳細について、特定の実施形態を参照して説明する。
【０１７０】
本発明では、各種コンテンツ管理処理要求と関連付けたＧＵＩを、ブラウザ３１０を介してユーザに提示し、ＧＵＩに対して行われた入力操作を検出し、関連付けられた各種コンテンツ管理処理要求をサーバ側で実行させる。本発明の特定の実施形態では、コンテンツ管理処理要求に関連付けてブラウザ３１０に提示されているＧＵＩに対して行われた、クリックやダブルクリックなどイベントを検出した場合には、送信プラグイン３０６は、ステップＳ２０３で、操作対象であるＧＵＩのオブジェクト識別値と、クリックやダブルクリックといったイベント属性を含む一次処理要求コマンドを生成し、ステップＳ２０４で、一次処理要求メッセージをフロント処理部３３８へ送信する。なお、ＧＵＩオブジェクトが、状態値を持つ場合には、一次処理要求メッセージには状態値をさらに含むことができる。
【０１７１】
一方、一次処理要求メッセージを受信したフロント処理部３３８は、操作オブジェクト識別値とイベント属性と（状態値が含まれる場合は状態値も含む）から、処理要求されているコンテンツ管理処理を判断し、コンテンツ管理処理要求を、ステップＳ２０７での承認を経て、ステップＳ２０９でコンテンツ管理部３４４に対して発行し、ＧＵＩとイベントに関連付けられたコンテンツ管理処理を実行する。
【０１７２】
上述するＧＵＩオブジェクトと関連付けたコンテンツ管理処理要求として、管理コンテンツ一覧表示要求や、コンテンツ管理レベル変更要求や、コンテンツ表示要求や、表示頁送り要求や、指定頁表示要求などの、管理コンテンツ情報の表示要求がある。また、同様に、ＧＵＩオブジェクトを用いて、コンテンツへデータの入力を行うことができ、たとえば、ＰＣキーボードを模倣するＧＵＩを提示して、ドキュメント形式のコンテンツを著作することができ、楽器鍵盤を模倣するＧＵＩを提示して、オーディオ形式のコンテンツの著作することができる。
【０１７３】
上述した本発明の特定の実施形態においては、クライアント処理部３００からサーバ処理部３３０へは、操作対象オブジェクト識別値と、イベント属性と、状態値とを含むイベント情報が送信され、サーバ処理部３３０において、イベント情報から、要求されたコンテンツ管理処理の判断を行うが、本発明においては、クライアント処理部３００で判定処理の一部を行っても構わない。例えば、簡単な処理については、イベント情報を送信する処理とはせずに、クライアント処理部３００から直接、サーバ処理部３３０の対応する処理を呼び出すこともできる。
【０１７４】
本発明では、さらに、ブラウザ３１０をインタフェースとして、キーボード入力によりコンテンツへ文章の入力を行うことができる。コンテンツ内容の編集のための、カーソルの移動に関連付けられる方向キーや文字入力のための各種キーへのキーボード入力操作を検出した場合には、送信プラグイン３０６は、例えば、入力キーや入力文字列を、エスケープシーケンスなどの入力文字列情報に変換し、キーボード入力である旨を示すイベント属性と、現在フォーカスされている入力対象のオブジェクト識別値と、入力文字列情報と、書込み対象である処理対象特定情報とを含めた一次処理要求コマンドが生成し、フロント処理部３３８へ送信される。
【０１７５】
一方、一次処理要求メッセージを受信したフロント処理部３３８は、イベント属性と対象オブジェクト識別値とから、キー入力処理であると判断し、入力対象オブジェクト識別値と、処理対象特定情報と、サーバ側で保持される現在の作業状態プロファイルから編集中の頁番号やカーソル位置などの入力対象および入力位置を特定する。さらに、フロント処理部３３８は、入力文字列情報と、作業状態プロファイルに含まれる上書きモードであるか挿入モードであるかなどといった、入力モードに基づいて、カーソルの移動処理や、文字列の上書処理要求または挿入処理要求を、ステップＳ２０７での承認を経て、ステップＳ２０９でコンテンツ管理部３４４に対して発行し、コンテンツ管理部３４４は、カーソルの移動処理や、コンテンツ管理データベース内の対象コンテンツへの文字列挿入処理または文字列の上書き処理を実行する。また、同様の文字入力に対する処理を用いて、ホットキーやショートカットキーやファンクションキーに前述のコンテンツ管理処理要求を関連付けて実行させることもできる。また、漢字インコードや漢字アウトコードを用いて日本語入力などを行うこともできる。
【０１７６】
なお、作業状態プロファイルは、ユーザプロファイルと、ユーザプロファイル付加情報と関連付けてサーバ処理部３３０の記憶部に記憶され、現在の表示画面識別情報、現在のカーソル位置、選択中オブジェクトの座標などを含む作業状態を格納するプロファイルである。また、作業状態プロファイルは、現在アクセスしている特定のコンテンツに対応する、処理対象識別情報などを含むこともでき、クライアント処理部３００から、逐一、コンテンツ管理処理対象のコンテンツを特定するための、処理対象特定情報を受取らなくとも、対象となるコンテンツを識別することができる。
【０１７７】
本発明では、さらに、ブラウザ３１０をインタフェースとして、コンテンツの埋め込みオブジェクトの埋め込み位置をマウスによりの操作を行うことができる。例えば、埋め込まれたイメージ・オブジェクトのドラッグアンドドロップなどの操作が行われた場合は、操作対象オブジェクト識別値、イベント属性、イベント検出時のポインタ座標（ブラウザ上の絶対座標などで表現される）からなるイベント情報を含めた一次処理要求コマンドを生成する。ドラッグアンドドロップのような操作に関しては、マウスボタンの押し下げ、マウスの移動、マウスボタンの解放、という一連のイベントを処理単位として要求処理を判断することが好ましい。そのため、例えば、フロント処理部３３８では、対象オブジェクト識別値、マウスボタン押し下げ時のポインタ座標、マウスボタン解放時のポインタ座標といった一連のイベント情報を含む一次処理要求メッセージをバッファして、これらのまとまった入力操作情報からコンテンツ管理処理要求コマンドを生成する。ドラックアンドドロップによる埋め込みオブジェクトの移動などの場合には、マウスボタン押し下げ時のポインタ座標から、マウスボタン開放時のポインタ座標の相対距離から移動距離が計算され、操作対象オブジェクト識別値からドラッグアンドドロップの対象となっている埋め込みオブジェクトを特定する。なお、このような一連の処理の判断は、クライアント側において行ってもかまわない。
【０１７８】
マウスによるコンテンツ内の埋め込みオブジェクトをドラッグアンドドロップする際と同様に、一連のマウス操作のイベントから発生する、一連の対象オブジェクト識別値、イベント属性、イベント検出時のポインタ座標（ブラウザ上の絶対座標などで表現される）の入力操作情報を含めた一次処理要求コマンドを基に、直線や曲線や多角形や円弧の描画など、イラストレーション・コンテンツや埋め込みオブジェクトの描画処理要求や選択範囲の指定や選択領域のナッジなどの処理要求を、コンテンツ管理処理として実行することができる。さらに、その他、マウスのポインタ座標からカーソル位置情報へのマッピングを行うことによって、文字列の選択や選択文字列のドラッグアンドドロップなど文字列操作処理、カーソル位置の指定などの処理をコンテンツ管理処理として実行することができる。また、ブラウザ３１０のウィンドウ外からのイメージファイルなどのドラッグアンドドロップの入力イベントを検出して、ローカルに保存されているイメージ・オブジェクトなどをコンテンツに貼り付ける処理なども行うことができる。
【０１７９】
ブラウザによるイベント処理は、ブラウザのイベント監視機能を用いて行うことができ、フロント処理部３３８から送信された表示データに含まれるＧＵＩオブジェクトと、各イベントとに関連付けられたイベントハンドラを用いて、ブラウザ側にインストールされたプラグイン・プログラムに含まれるＡＰＩのメソッド呼び出しを行うことにより、実装することができる。ＡＰＩは、関連付けられたイベントの検出により呼び出され、ＧＵＩオブジェクトの識別情報とその他、コンテンツ処理要求の指示に必要な情報とを含む一次処理要求メッセージをフロント処理部３３８へ送信する。なお、表示データは、ブラウザ３１０からの処理要求メッセージに含まれる、InternetExplorer（商標）やNetscape（商標）などのブラウザ識別情報に応じて作成され、ブラウザによるイベント処理は、Ｗ３Ｃイベントモデルなどの、使用するブラウザに準じたイベントモデルに基づいてJava（登録商標）Scriptを用いて行うことができる。
【０１８０】
＜セクションＤ−５：コンテンツ管理処理＞
図１０は、本発明の特定の実施形態における、サーバ処理部３３０が保持するコンテンツ管理処理とイベント情報との対応関係情報を示す。本実施形態では、サーバ処理部３３０は、クライアント処理部３００の送信プラグイン３０６から送信されてきた一次要求メッセージから、要求されるコンテンツ管理処理を判断するために、図１０に示すコンテンツ管理処理対応マップ４２０を保持している。コンテンツ管理処理対応マップ４２０は、クライアント処理部３００のブラウザ３１０に提示されたオブジェクトを特定するための操作対象オブジェクト識別値（オブジェクトＩＤ）を格納する、フィールド４２０ａと、イベント情報を格納するフィールド４２０ｂと、フィールド４２０ａのオブジェクト識別値とフィールド４２０ｂのイベントとに対応するコンテンツ管理処理（コンテンツ管理処理識別値）を格納するフィールド４２０ｃを含み構成される。以下に、本コンテンツ管理システム１００における、各コンテンツ管理処理について、便宜上、クライアント側およびサーバ側の処理として参照し説明する。各機能モジュールにおける詳細な処理シーケンスは適宜省略され記載されており、上述した記載を参考されたい。
【０１８１】
本発明の特定の実施形態では、サーバ処理部３３０は、ユーザＩＤに関連付けられる、非公開コンテンツや編集コンテンツ、また公開目的で公開レベルが設定された公開コンテンツの一覧表示要求を受け、管理コンテンツ一覧表示をクライアント処理部３００へ提示することができる。一覧表示要求に関連付けられたＧＵＩに対する、クリックなどの所定の入力操作を検出したクライアント処理部３００は、操作対象であるＧＵＩのオブジェクト識別値（例えば、「image0001」）と、イベント属性(例えば、「click」)とを含む一次処理要求メッセージをサーバ処理部３３０へ送信する。
【０１８２】
一方、一次処理要求メッセージを受信したサーバ処理部３３０は、操作オブジェクト識別値とイベント属性とに基づいて判断し、例えば、図１０に示すマップにおける「image0001」と「click」とに対応する「コンテンツ一覧表示」という処理内容から、一覧表示要求であると判定する。必要に応じて、ユーザプロファイル中の各コンテンツ管理データベースに対応するＤＢ名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから読み込まれる、各ＤＢ名称暗号化鍵に対応するデータベース名およびテーブル名とに基づいて、暗号化名称を生成する。さらに、サーバ処理部３３０は、得られた暗号化名称を用いて各コンテンツ管理データベースにアクセスし、送信元のユーザに対応するユーザＩＤやグループＩＤといった主体識別情報に関連付けられた、コンテンツ・データのタイトルや基本属性などを含む一覧リスト得て、一覧表示するための表示データを作成し、一覧表示データをコンテンツ管理処理応答メッセージとして、クライアント処理部３００へ送信する。処理応答メッセージを受信したクライアント処理部３００は、ブラウザ３１０に表示結果の提示を行い、管理コンテンツ一覧表示処理を終了する。なお、管理コンテンツの一覧表示においては、コンテンツタイトルと、さらに管理レベルとを対応づけて提示することにより、各コンテンツの管理レベルの識別性を向上させることができる。
【０１８３】
本発明の、管理コンテンツ一覧表示の別の実施形態においては、コンテンツ・データ格納部３５２の各コンテンツ管理データベースにアクセスする代わりに、各コンテンツ管理データベース内のコンテンツ情報のインデックスやキーワードを保持する、ページ・データ格納部３４６内のコンテンツ情報データベースにアクセスすることにより、管理コンテンツ一覧を得ることもできる。また同様の処理プロセスにより、管理コンテンツ一覧表示と類似したコンテンツ管理処理として、ツリービュー表示やキーワード検索結果一覧表示といった管理処理を実行することができる。
【０１８４】
本発明の特定の実施形態では、サーバ処理部３３０は、非公開コンテンツ管理データベースを有するユーザからの新規コンテンツ作成要求を受け、非公開コンテンツ管理データベースに、新規コンテンツを保持するためのテーブルまたはテーブル群などのデータベース領域を提供することができる。新規コンテンツ作成要求に関連付けられたＧＵＩに対する、クリックなどの所定の入力操作を検出した場合には、クライアント処理部３００は、操作対象であるＧＵＩオブジェクト識別値（例えば、「image0002」）と、イベント属性（例えば、「click」）とを含めた一次処理要求メッセージをサーバ処理部３３０へ送信する。
【０１８５】
一方、一次処理要求メッセージを受信したサーバ処理部３３０は、操作オブジェクト識別値とイベント属性に基づいて要求処理を判断し、例えば、図１０に示すマップにおける「image0002」と「click」とに対応する「新規コンテンツ作成」という処理内容から、新規コンテンツ作成要求であると判定する。そして、ユーザプロファイル中の非公開コンテンツ管理データベースに対するＤＢ名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから読み込むことができるデータベース名とに基づいて、非公開コンテンツ管理データベースの暗号化名称を生成する。続いて、サーバ処理部３３０は、新規な単一のコンテンツを格納するために必要なテーブルの新規テーブル名を生成し、新規テーブル名から暗号化名称を得て、該データベースに新規テーブルを作成・定義する。同時にサーバ処理部３３０は、ユーザプロファイル付加情報およびユーザ管理データベースに、ユーザＩＤに関連付けて、新規コンテンツに対応する暗号化前の新規テーブル名を登録する。さらに、サーバ処理部３３０は、新規テーブル作成処理の応答をコンテンツ管理処理応答メッセージとして、クライアント処理部３００へ送信する。処理応答メッセージを受信したクライアント処理部３００は、ブラウザ３１０に表示結果の提示を行い、コンテンツ管理処理を終了する。なお、本発明の特定の実施形態においては、コンテンツ単位でテーブルが定義される管理構造として参照しているが、これに限定されるものではない。
【０１８６】
さらに、本発明の特定の実施形態では、上述の管理コンテンツ一覧表示において、各コンテンツに関連付けられたＧＵＩをブラウザに提示して、各コンテンツに対応するコンテンツ管理データベース内のコンテンツの選択要求を受けることができる。各コンテンツに関連付けられたＧＵＩに対するクリックなどの所定の入力操作を検出した場合には、クライアント処理部３００は、例えば、各コンテンツがオブジェクト識別値と関連付けられている場合には、操作対象であるＧＵＩオブジェクト識別値（例えば、「button0001」）と、イベント属性（例えば、「click」）とを含めた一次処理要求メッセージをサーバ処理部３３０へ送信する。
【０１８７】
一方、一次処理要求メッセージを受信したサーバ処理部３３０は、操作オブジェクト識別値とイベント属性とに基づいて、要求されるコンテンツ管理処理を判断し、例えば、図１０に示すマップにおける「button0001」と「click」とに対応する「コンテンツ(ID=0001,0000001)を表示」という処理内容から、データベースＩＤが「0000001」のデータベースから、コンテンツＩＤが「0001」が付されているコンテンツの表示要求であると判定する。なお、本実施形態では、操作対象オブジェクト識別値に対する処理内容に、コンテンツを特定するための処理対象識別情報が含まれており、選択要求されたコンテンツが特定される。クライアント処理部３００は、必要に応じて、ユーザプロファイル中の特定されたコンテンツを格納するコンテンツ管理データベースに対応する、ＤＢ名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから読み込まれるデータベース名と、選択コンテンツに対応するテーブル名とに基づいて、暗号化名称を生成する。
【０１８８】
さらに、サーバ処理部３３０は、該コンテンツ管理データベースにアクセスし、処理対象特定情報に対応するコンテンツ・データの内の、指定された表示内容をコンテンツ・データ格納部３５２に問い合わせ、問い合わせ結果から、選択コンテンツの表示データを生成し、クライアント処理部３００へ処理応答メッセージとして送付する。なお、選択コンテンツの表示データを応答メッセージとして送信する際には、処理対象特定情報をクライアント側に通知し、以降の特定のコンテンツに対するコンテンツ管理処理要求の際に、操作対象のコンテンツを指定するために用いられる。また、表示データに含まれるコンテンツの表示内容と、コンテンツ管理データベースにおけるデータとの対応関係を、記憶部の作業状態プロファイルに格納する。
【０１８９】
指定された表示内容の大きさとしては、例えば、ドキュメント形式のコンテンツの場合は、印刷レイアウトで書込みを行えると視認性が良いことから、コンテンツの印刷形態としたときのページ単位とすることが好ましいが、特に限定されるものではない。また、表示内容の開始位置としては、第一頁に対応する位置であってもよく、あらかじめアクセスした頁をコンテンツに関連付けて、履歴としてコンテンツ・データ格納部３５２に保存しておき、履歴に応じた頁を表示してもよい。さらに、本発明では、同様の処理によって、ページ送りやページ指定などの、表示ページ指定を行うことができる。
【０１９０】
さらに、本発明の特定の実施形態では、ユーザが管理する、非公開コンテンツや編集コンテンツや公開コンテンツの管理レベル変更要求するためのＧＵＩを、例えば、上述の管理コンテンツ一覧表示のコンテンツに関連付けて提示し、管理レベル変更要求を受けることができる。オンラインで管理レベルの変更を指示することにより、著作段階から、編集・校正段階、公開段階へといった、コンテンツの制作から公開および利用までを、スムーズに移行させることができる。以下に、非公開コンテンツ管理データベースに格納されている非公開コンテンツの管理レベルを公開レベルに変更する処理、つまり公開管理データベースに複製する場合の処理について、管理レベル変更の処理プロセスの例として説明する。
【０１９１】
例えば、コンテンツの管理レベル変更要求に関連付けられた３状態を有するＧＵＩに対する、クリックによる選択などの所定の入力操作イベントを検出した場合には、クライアント処理部３００は、操作対象であるＧＵＩのオブジェクト識別値と、検出したイベント属性と、オブジェクトの状態値を含めた一次処理要求コマンドを生成し、サーバ処理部３３０へ一次処理要求メッセージを送信する。
【０１９２】
一次処理要求メッセージを受信したサーバ処理部３３０は、操作オブジェクト識別値とイベント属性とに基づいて要求されたコンテンツ管理処理を判断し、例えば、図１０に示すマップにおける「pulldown0001」と「select」とに対応する「選択コンテンツの管理レベル変更」という処理内容から、管理レベル変更要求であると判定する。さらにオブジェクトの状態値に基づいて、管理レベル変更の内容を特定する。サーバ処理部３３０は、例えば、図１０に示すマップにおける「select（public）」から、公開レベル設定要求である特定した場合には、操作対象オブジェクト識別値から、管理レベル変更処理のコンテンツを特定し、特定したコンテンツの処理対象特定情報を含む公開レベル設定要求を発行し、承認を経て処理を実行する。その際には、サーバ処理部３３０は、ユーザプロファイル中の対応するＤＢ名称暗号化鍵と、ユーザプロファイル付加情報またはユーザ管理データベースから得られるデータベース名およびテーブル名とに基づいて暗号化名称を得て、非公開コンテンツ管理データベースにアクセスする。
【０１９３】
非公開コンテンツ管理データベースへのアクセスに成功したサーバ処理部３３０は、対応するコンテンツ・データを読み出し、さらに公開コンテンツ管理データベース内に、読み出したコンテンツ・データの複製を格納する。本発明の特定の実施形態においては、非公開コンテンツを公開する場合には、公開コンテンツ管理データベースに新たにコンテンツが登録され、非公開コンテンツ管理データベースのコンテンツ・データは削除されない処理とすることができる。さらに、公開コンテンツと、元となる非公開コンテンツとを関連付けて記憶することにより、以降、必要に応じて改訂作業をスムーズに行うことができる。さらに、サーバ処理部３３０は、ユーザプロファイル付加情報およびユーザ管理データベースへ、管理レベル変更に伴う、登録内容の変更の反映を行い、処理応答メッセージをブラウザ３１０に送信する。本発明の特定の実施形態においては、新規公開コンテンツの登録の際に、管理レベルの変更に伴うインデックスやキーワード、キーワード位置情報などのコンテンツ情報データベース内のデータを更新することもできる。
【０１９４】
＜セクションＥ：コンテンツ管理システムを用いたコンテンツ制作の実施形態＞
以下に本発明のコンテンツ管理システム１００を用いた、コンテンツ制作の実施形態を説明する。図１１は、本発明の特定の実施形態における、コンテンツの著作から公開までの管理レベル変更を模式的に示した図である。コンテンツ・データ格納部３５２は、非公開コンテンツ管理データベース５１０と、編集コンテンツ管理データベース５２０と、公開コンテンツ管理データベース５３０とを含み構成される。なお、図１１では、ＡＵＴＨＯＲのロールを有するユーザ毎に作成される非公開コンテンツ管理データベース５１０、および、編集依頼毎に作成される編集コンテンツ管理データベースは、便宜上、それぞれひとつとして参照されているが、その数は特に限定され得るものではない。
【０１９５】
非公開コンテンツ管理データベース５１０は、非公開コンテンツ５００ａを格納し、著作者はブラウザ３１０ａを介して、非公開コンテンツ５００ａにアクセスし、コンテンツの著作を行うことができる。一方、編集者は、この段階では非公開コンテンツ５００ａのＤＢ名称暗号化鍵を保有しないため、コンテンツ５００ａへアクセスをする権原を有しない。しかし、著作者の非公開コンテンツ５００ａを、編集依頼として、非公開コンテンツの管理レベルを編集レベルに設定することにより、編集依頼を引受けた編集者は、コンテンツにアクセスする権原を獲得する。すなわち、ブラウザ３１０ａを介して、オペレーションＯＰ１で、新たに著作者と編集者とに関連付けられる編集コンテンツ管理データベース５２０を定義・作成し、非公開コンテンツ５００ａを、編集コンテンツ管理データベース５２０内に複製し編集コンテンツ５００ｂとする。同時に、編集コンテンツ管理データベース５２０のＤＢ名称暗号化鍵を、著作者と編集者とに対応するユーザ・データ格納部３５０内のキーストアに格納し、名称暗号化鍵を共有する。これにより、編集者は、ブラウザ３１０ｂを介して、コンテンツ５００ｂの内容を、編集・校正することが可能となる。
【０１９６】
なお、著作者ユーザから編集者ユーザへの編集依頼や、編集者ユーザから著作者ユーザへの著作依頼や、複数の著作者ユーザ間における共著依頼などのユーザ間のメッセージ交換、および、複数のユーザ間におけるキーストアの授受は、例えば、ユーザＩＤといった主体識別情報に関連付けて、他のユーザからのメッセージを記憶するメッセージボックスをサーバ処理部３３０の記憶部に定義し、メッセージボックスを介して行うことができる。ここで、メッセージボックスは、例えば、関連付けられたユーザＩＤに対してはフルアクセスの権原が設定され、他のユーザＩＤに対しては新規の書込みのみの権原が設定される記憶領域である。ユーザは、メッセージボックスの内容を確認することにより、依頼の有無の確認を行うことができる。しかしながら、本発明においては、キーストアの授受や共有のための処理については、システム内のユーザ間の安全な情報交換を実現する方法であればいかなる手段を用いてもかまわず、これまで知られているプライベートメッセージで用いられている標準的な技術、これまで知られているＷｅｂコラボレーションで使用されている技術も使用することができる。また、他の実施形態では、ユーザ管理データベースにおいて、ユーザＩＤとＥ−ｍａｉｌアドレスを関連付けて登録し、セキュリティ管理要求が小さいメッセージの交換は、Ｅメールによって交換してもかまわない。
【０１９７】
上述のように、編集コンテンツ管理データベース５２０を一時的に作成し、共通のＤＢ名称暗号化鍵を共有することにより、著作者と編集者といった複数のユーザ間でのコラボレーションが可能となる。なお、本発明の特定の実施形態では、編集中のコンテンツ５００ｂの内容の更新を、一方のユーザが更新処理を行っているとき、ユーザの更新処理完了の指示を受けるまで他のユーザによる更新処理の実行を許可しない排他的な制御とすることにより、同一コンテンツにアクセスしているユーザ間の作業状態の混乱を防止し、コンテンツ編集・校正作業のコンシステンスが保つことができる。
【０１９８】
一方、編集依頼をし、編集者による編集・校正作業の完了を確認した著作者は、ブラウザ３１０ａを介して、オペレーションＯＰ２で、非公開コンテンツ管理データベース５１０内の非公開のコンテンツ５００ａに、コンテンツ５００ｂの内容で更新処理を行い、編集作業を完了させる。編集コンテンツ管理データベース５２０が以降の処理で不要である場合には、オペレーションＯＰ５で、編集コンテンツ管理データベース５２０を削除することができる。さらに、著作者は、ブラウザ３１０ａを介して、オペレーションＯＰ３で、コンテンツ５００ａの管理レベルを公開レベルに設定し、公開コンテンツ５００ｃとして、公開コンテンツ管理データベース５３０内に複製することができる。公開コンテンツを再び非公開とする場合には、著作者は、ブラウザ３１０ａを介して、オペレーションＯＰ４で公開コンテンツを削除することができる。
【０１９９】
また、本発明のコンテンツ制作作業における他の実施形態によれば、編集コンテンツ管理データベースを用いたコンテンツの編集作業は、通信管理部３４８を用いることにより、著作者と編集者が同時的に協働作業を行うことができる。以下、本発明の、通信管理部３４８を用いた著作者−編集者間の同時的な協働作業について、再び図５を参照して説明する。なお、著作者および編集者が、すでにログイン済みであることを前提として説明する。
【０２００】
本発明の特定の実施形態において参照されるフロント処理部３３８は、処理要求メッセージを送信してきた著作者のブラウザ３１０ａに対して、処理結果を処理応答メッセージとして返信する処理を実行する機能モジュールである。一方、他の編集者のブラウザ３１０ｂが同じコンテンツにアクセスしていた場合には、フロント処理部３３８が、ブラウザ３１０ｂには処理応答メッセージを送信しないため、ブラウザ３１０ａにより変更されたコンテンツは、もう一方の編集者ブラウザ３１０ｂの表示内容に反映されず、排他的な制御をしない限り、作業状態のコンシステンスが保たれない恐れが生じるという問題がある。
【０２０１】
通信管理部３４８は、上述の問題を解消するために設けられた機能モジュールであり、同一のコンテンツにアクセスしていて、処理要求メッセージの送信元ではないブラウザ３１０ｂへ、処理結果の反映させるために、再表示データを送信する機能を有する機能モジュールである。通信管理部３４８は、記憶部に格納されているユーザプロファイルを監視し、ログイン済みのユーザＩＤと、送信元のＩＰアドレス・ポート番号を関連付けて記憶している。さらに、通信管理部３４８は、各ユーザの現在の作業状態を保持する各ログインユーザＩＤに関連付けられる作業状態プロファイルを監視し、特定のコンテンツ管理データベースおよびコンテンツにアクセスしているユーザＩＤについては、ユーザＩＤと、処理対象特定情報を関連付けて記憶する。本発明のコンテンツ制作作業における他の実施形態によれば、コンテンツ管理処理要求の処理結果を受信したコンテンツ管理部３４４は、特定のコンテンツ・データへのコンテンツ管理処理であると判断した場合は、各コンテンツ管理処理における上述のコンテンツ管理処理プロセスとは別に、コンテンツ管理処理要求の送信元ユーザＩＤと処理対象特定情報とを含む、複数送信元アクセス判定要求を通信管理部３４８に対して送信する。
【０２０２】
複数送信元アクセス判定要求を受信した通信管理部３４８は、複数送信元アクセス判定要求に含まれる、処理対象特定情報に関連付けられているユーザＩＤの中に、送信元ユーザＩＤ以外のユーザＩＤ（以降、非送信元ユーザＩＤとして参照）が関連付けられていないかの判定を行う。非送信元ユーザＩＤと関連付けられていないと判断した場合は、通信管理部３４８は、コンテンツに対して複数の送信元からのアクセスが行われていない旨をコンテンツ管理部３４４へ通知し、コンテンツ管理部３４４は、他のブラウザへの処理結果の反映のための処理プロセスを終了する。
【０２０３】
一方、非送信元ユーザＩＤが関連付けられていた場合には、通信管理部３４８は、処理対象特定情報に対応するコンテンツに対して、現在複数の送信元からアクセスがあると判断し、認証承認管理部３４０に、表示内容更新処理要求に対応するコンテンツ管理処理識別値と、処理対象特定情報と、非送信元ユーザＩＤとを含む表示内容更新処理・承認要求を送信する。
【０２０４】
表示内容更新処理・承認要求を受信した認証承認管理部３４０は、コンテンツ管理処理識別値と、処理対象特定情報と、非送信元ユーザＩＤと関連付けられるユーザプロファイル中に格納されている主体識別情報とに基づいて、表示内容更新処理の承認処理を実行し、承認処理結果を通信管理部３４８へ表示更新処理・承認結果応答を返す。通信管理部３４８は、承認されなかった場合には、クライアント処理部３００へ、表示内容更新処理不許可応答メッセージを送信する。
【０２０５】
一方、表示内容更新処理が承認された場合には、通信管理部３４８は、表示内容更新処理要求を、コンテンツ管理部３４４発行する。表示内容更新処理要求を受信したコンテンツ管理部３４４は、該非送信元ユーザＩＤに関連付けられる作業状態プロファイルに格納されている表示画面識別情報と、処理対象特定情報とに基づいて、コンテンツ・データ格納部３５２と連携して、内容更新表示処理応答を通信管理部３４８へ送信して、通信管理部３４８は、内容更新表示データを生成して、非該送信元ユーザＩＤに関連付けられている、ＩＰアドレス・ポート番号に向けて、表示内容更新メッセージを送信する。送信元ユーザＩＤと関連付けられている処理対象特定情報に対して、さらに関連付けられている非送信元ユーザＩＤ毎に、上述の通信管理部３４８を用いた処理プロセスが実行される。
【０２０６】
上述のように通信管理部３４８を用いることにより、コンテンツの更新処理を排他的な制御としなくとも、協働作業者間の編集作業のコンシステンスを保つことが可能となる。また、複数のユーザ間で、さらに作業状態プロファイル内の作業状態情報を共有することにより、両者で同一の編集画面およびコンテンツ表示内容を閲覧しながら、協働作業を行うこともできる。なお、通信管理部３４８を用いた同時的な協働作業は、著作者−編集者間のみならず、共著関係にある著作者間などの協働作業にも用いることができる。
【０２０７】
上述の処理プロセスにより、著作者と編集者または、第一著作者と第二著作者といった、２人以上のユーザが使用するブラウザ上に、同一の表示画面と入力インタフェースを提供し、本コンテンツ管理システム１００に付加的に提供される、チャット、音声通話システム、テレビ会議システムと併用することにより、連絡を取り合いつつ同時的な協働作業を行うことが可能となり、編集作業の効率性を向上させることができる。
【０２０８】
以上、本コンテンツ管理システムにおける処理の詳細について説明したが、上述の実施形態においては、各コンテンツ管理データベースの内容に対する操作は、逐一該データベースへＳＱＬ文を発行し、問い合わせ処理を行うように記載しているが、この方法に限定されるものではない。例えば、ログインユーザのコンテンツ管理処理の対象となるコンテンツ管理データベース内の情報を、ログインユーザに対応する作業状態プロファイル中に格納し、コンテンツ管理処理を作業状態プロファイルのコンテンツ管理データベース情報に対して行い、一定時間経過、本システムのアイドル状態、もしくはユーザからのコンテンツ管理データベース反映指令を受けるなどのタイミングで、コンテンツ管理データベースへ反映させる処理とし、これによりデータベースへのアクセス負荷を低減させることができる。通信管理部３４８を用いた同時的な協働作業においては、協働作業者間で、共通の作業状態プロファイル内の情報を共有し、共通の作業状態プロファイル内の情報を参照および書き換えを行うことにより、更新応答時間を短縮し、データベースへのアクセス負荷を低減させることができる。
【０２０９】
＜セクションＦ：コンテンツ管理システムを用いたコンテンツ利用の実施形態＞
再び図１１を参照して、コンテンツ利用の実施形態について説明する。本発明のコンテンツ管理システムを用いた、コンテンツ利用の特定の実施形態においては、ＵＳＥＲのロールが付されている利用者は、ブラウザ３１０ｃを介して、公開コンテンツ管理データベース５３０内に格納されている公開コンテンツ、例えば、オペレーションＯＰ３の管理レベルの変更処理によって公開された公開コンテンツ５００ｃ、その他の公開コンテンツ５００ｄ・５００ｅに対して、閲覧のみのアクセス権原を与えられ、各公開コンテンツ５００ｃ〜５００ｅへアクセスし、内容を閲覧することができる。本発明においては、コンテンツの閲覧は、上述したコンテンツ選択要求や表示頁送り要求、指定頁表示要求と同様の処理プロセスを用いて、著作用のＧＵＩを含まない閲覧用のＧＵＩから構成される表示画面を用いて行うことができる。なお、本発明の特定の実施形態においては、コンテンツの閲覧は、一度の閲覧要求に対して所定の表示範囲、例えばコンテンツの印刷形態における頁毎に、作成された表示データに対して行われ、一括したコンテンツのダウンロードを許可しないことにより、一括したコンテンツの複製を防止し、著作権保護を強化することができる。
【０２１０】
さらに、本発明の特定の実施形態においては、ドキュメント形式のコンテンツに関しては、チャプター、セクション、パラグラフ、といったブロック単位で、イラストレーションやイメージ形式のコンテンツに関しては、イメージ単位でコンテンツが管理され、利用者は、公開コンテンツを検索し、これらのコンテンツ構成単位で閲覧要求を行うことができる。さらに、複数のコンテンツ構成単位を、順序および配置を含むレイアウト関係と関連付けたコンテンツ集合として、著作者または編集者によりコンテンツ管理データベースに登録される。また、利用者ユーザも、複数のコンテンツを関連付けて融合コンテンツとして登録することができる。この場合には、複数のコンテンツの著作者は異なることを妨げられない。融合コンテンツは、公開コンテンツ管理データベースおよびコンテンツ情報データベースに登録され、融合コンテンツも新たに検索対象とすることができる。
【０２１１】
なお、本発明のコンテンツ管理システムを用いたコンテンツ利用の特定の実施形態においては、コンテンツはブロック単位やイメージ単位といったコンテンツ構成単位で管理されるため、著作者によって指定される、もしくは閲覧者によって指定された、一連のコンテンツ構成単位の関連情報が、コンテンツ・データ格納部３５２およびコンテンツ情報データベース内に保存される。
【０２１２】
本発明のコンテンツ管理システムを用いたコンテンツ利用の特定の実施形態においては、さらに、コンテンツに対して評価を設定することができ、評価は、コンテンツ情報データベースに対応するコンテンツＩＤと関連付けて記憶される。公開コンテンツの評価は、閲覧した利用者ユーザに対して、評価入力のＧＵＩを提示し、入力された評価情報に基づいて設定することができる。
【０２１３】
本発明の特定の実施形態では、利用者による公開コンテンツの閲覧の際には、サーバ処理部３３０は、閲覧した頁数をカウント、または閲覧時間を計時してコンテンツ利用状況を記憶し、コンテンツごとにあらかじめ設定された、単位頁あたりまたは単位時間当たりの料金（課金条件）に基づいて、決済システムに接続する専用回線を用いて課金処理を行うことができる。さらに、各ページの著作権を有するユーザには、閲覧したページに含まれるコンテンツに関連付けられる著作権者ユーザＩＤと、各ユーザＩＤに対するページ内のコンテンツの面積割合と、コンテンツの評価情報に基づいて設定される報酬比率と、各ページに対して閲覧者に課金した料金とに基づいて、インセンティブが案分され、決済システムにより支払われる。このような課金条件は、各コンテンツＩＤに関連付けて記憶され、著作者ユーザや編集者ユーザは、本システムを用いて設定することができる。
【０２１４】
課金処理は、クレジットカードなどによる信用決済やデビット・カードを用いた即時決済、電子マネーによる支払い、現金払いや金融機関への振込みなどに対応してもよい。
【０２１５】
さらに、本発明のコンテンツ管理システムを用いたコンテンツ利用の他の実施形態においては、ユーザは、コンテンツを、ページごとではなく、関連付けられたコンテンツ単位全体を専用再生装置にダウンロード・暗号化保存し、専用再生装置を用いてコンテンツを閲覧することができる。暗号化は、専用再生装置の不揮発メモリやスマートカードなどに複製不可能に記憶された暗号化鍵を用いて暗号化され、暗号化鍵もしくはコンテンツのデータは、決済処理後にユーザに対して頒布される。この構成を採用することによって、暗号化データを他の記憶媒体へコピーしたとしても、ダウンロードした再生装置以外では再生することができないため、コンテンツが好適に著作権を保護され、ユーザは、オンライン環境から離れて閲覧することができる。さらに、書店などに設置された特定のクライアント端末１１２を専用端末とし、印刷可能なコンテンツに関しては、専用端末に対してコンテンツ全体の印刷許可を与え、印刷物として利用者に提供し、課金処理を行うことができる。
【０２１６】
これまで本発明を図面に示した実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【産業上の利用可能性】
【０２１７】
本発明は、コンテンツ制作から公開まで一貫して、著作権を最大限に保護するようにコンテンツへのアクセス権原を設定・管理し、ネットワークを介したオンライン作業環境を実現する、コンテンツ管理システム、コンテンツ管理方法およびプログラムとして利用することができる。
【図面の簡単な説明】
【０２１８】
【図１】本発明の特定の実施形態における、コンテンツ管理システムの概略図。
【図２】本発明の特定の実施形態における、データベース・サーバの概略的構成を示す図。
【図３】本発明の特定の実施形態における、コンテンツ管理システムの機能モジュール構成を示すブロック図。
【図４】本発明の特定の実施形態における、クライアント処理部の機能モジュール構成を示すブロック図。
【図５】本発明の特定の実施形態における、サーバ処理部のより詳細な機能モジュール構成を示すブロック図。
【図６】本発明の特定の実施形態における、ユーザ・データ格納部で管理されるユーザ管理データベースを構成するテーブル群Ａのテーブル構造を表す図。
【図７】本発明の特定の実施形態におけるユーザ・データ格納部で管理されるユーザ管理データベースを構成するテーブル群Ｂのテーブル構造を表す図である。
【図８】本発明の特定の実施形態におけるユーザ・ログイン認証処理のシーケンス図。
【図９】本発明の特定の実施形態における主要なコンテンツ管理処理の処理シーケンスを示す図。
【図１０】本発明の特定の実施形態におけるコンテンツ管理処理の対応マップを示す図。
【図１１】本発明の特定の実施形態におけるコンテンツの著作から公開までの管理レベル変更の模式図。
【符号の説明】
【０２１９】
１００…コンテンツ管理システム、１０２…Ｗｅｂアプリケーション・サーバ、１０４…データベース・サーバ、１０８…ファイアウォール、１１０…管理端末、１１２〜１１６…クライアント端末、１２０…ユーザ・データ、１２２…コンテンツ・データベース、１２４…ページ・データ、１２６…記憶領域、１３０…ネットワーク、１３２…内部ネットワーク、１３４…内部セグメント、２００…ＭＰＵ、２０２…不揮発性メモリ、２０４…メモリ、２０６…記憶制御用インタフェース、２０８…記憶装置、２１０…内部バス、２１２…インタフェース、２１４…入出力装置、２１６…ＶＲＡＭ、２１８…グラフィック・チップ、２２０…ディスプレイ装置、２２２…ＮＩＣ、２２４…ネットワーク、３００…クライアント処理部、３０２…Ｃ通信部、３０４…Ｃ暗号化通信処理部、３０６…送信プラグイン、３０８…受信プラグイン、３１０…ブラウザ、３１２…認証プラグイン、３１４…Ｃ認証情報記憶部、３２０…ネットワーク、３３０…サーバ処理部、３３２…Ｓ通信部、３３４…Ｓ暗号化通信処理部、３３６…Ｓ認証情報記憶部、３３８…フロント処理部、３４０…認証承認管理部、３４２…認証情報発行部、３４４…コンテンツ管理部、３４６…ページ・データ格納部、３４８…通信管理部、３５０…ユーザ・データ格納部、３５２…コンテンツ・データ格納部、４００…ユーザ情報・関連テーブル群Ａ、４０２…ユーザテーブル、４０４…ロールマップテーブル、４０６…管理コンテンツＤＢ情報テーブル、４０８…管理コンテンツテーブル情報テーブル、４１０…ユーザ情報・関連テーブル群Ｂ、４１２…コンテンツＤＢ情報テーブル、４１４…コンテンツテーブル情報テーブル、４１６…コンテンツＤＢ所有者情報テーブル、４１８…グループ・テーブル、４２０…コンテンツ管理処理対応マップ、５００…コンテンツ、５１０…非公開コンテンツ管理データベース、５２０…編集コンテンツ管理データベース、５３０…公開コンテンツ管理データベース
【図１】
2008084182.tif 000003
【図２】
2008084182.tif 000004
【図３】
2008084182.tif 000005
【図４】
2008084182.tif 000006
【図５】
2008084182.tif 000007
【図６】
2008084182.tif 000008
【図７】
2008084182.tif 000009
【図８】
2008084182.tif 000010
【図９】
2008084182.tif 000011
【図１０】
2008084182.tif 000012
【図１１】
2008084182.tif 000013