説明

コンテンツサーバシステム

【課題】セキュリティを高め、かつ柔軟なアクセスレベル設定が実現可能なコンテンツサーバシステムを得ること。
【解決手段】本発明は、HTTPサーバ(1)と、コンテンツデータベース(4)と、コンテンツ毎のアクセスレベルおよびユーザ毎のアクセスレベルを含んだ管理情報を格納する管理情報データベース(3)と、コンテンツデータベース(4)および管理情報データベース(3)を管理するCGI処理部(2)と、を備え、コンテンツへのアクセス要求を受信した場合、HTTPサーバ(1)は、受信したアクセス要求をCGI処理部(2)へ転送し、CGI処理部(2)は、受信したアクセス要求に含まれるコンテンツIDおよびユーザIDと、管理情報と、に基づいて、コンテンツIDに対応するコンテンツへのアクセスを許可するかどうかを判断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネット等の外部ネットワークを介して接続されたユーザに対して提供するコンテンツ(データファイル)を安全に管理するコンテンツサーバシステムに関する。
【背景技術】
【0002】
外部ネットワークを介してユーザへ提供するコンテンツをWebベースで管理する現在のシステムでは、ユーザがコンテンツ(ファイル)にアクセスする際に、サーバ内でのファイル位置としてURL(Uniform Resource Locator)を使用している。
【0003】
ここで、従来のシステムでは、セキュリティの確保のため、ファイルや情報の管理を集中させるか別サーバをたてて別々の認証およびファイルシステムを用意して独立させて運用している(たとえば下記特許文献1)。また、同一の管理主体により、同一インタフェースのサーバあるいは同種のサーバを集中して管理することによりセキュリティを確保しているケースもある。
【0004】
【特許文献1】特開2001−306521号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来の技術では、以下に示すような課題が存在する。
【0006】
まず、Webベースシステム上の課題、すなわち、従来のWebベースのシステムではファイルにユーザがアクセスする際に、サーバ内でのファイル位置とURLとの関係が密接に関係しているので、
(1)実際のファイル位置を推定されやすくアクセスの安全性に問題がある。
(2)ファイル位置を変更すると、それに伴ってアクセスするURLも変更する必要があり管理が煩わしいという問題がある。
(3)ファイルのセキュリティレベルを変更するには登録した全てのユーザのアクセスレベル情報をHTTP(Hypertext Transfer Protocol)サーバシステムレベルで管理する必要があり管理が煩わしいという問題がある。
【0007】
また、知的財産管理上の課題、すなわち、ファイルコンテンツは知的財産としての側面も有し、公開性を制御する必要が生じるため、
(4)知的財産の所有者が認める(または信頼している)特定の場所にしかファイルコンテンツを保管できない場合が想定され、この場合には、一箇所に集中して保管することができない。
(5)セキュリティを確保したアクセスを実施する必要がある。
などの問題がある。
【0008】
さらに、ファイルシステムの物理的課題、すなわち、一元的な管理の行う目的でファイルや情報の管理を集中させると、多くのデータが一箇所(単一のサーバ)に集中するため、
(6)サーバの記憶装置の容量に制約が生じる(大容量のサーバが必要となる)。
(7)サーバ性能として大きな処理性能が要求される。
(8)コンテンツ量が多くアクセス量が頻繁になるとネットワークの負荷(トラフィック)が大きくなるためHTTPサーバシステムにおけるセキュリティ管理などの機能に支障が生じる可能性がある。
などの問題がある。
【0009】
本発明は、上記に鑑みてなされたものであって、コンテンツ格納場所を特定され難くしてセキュリティを高め、さらに、柔軟なアクセスレベル設定が実現可能なコンテンツサーバシステムを得ることを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークに接続されたHTTPサーバと、コンテンツデータベースと、前記コンテンツデータベースが提供可能なコンテンツ毎のアクセスレベルおよび前記コンテンツデータベースへのアクセスが許可されたユーザ毎のアクセスレベル、を含んだ管理情報を格納する管理情報データベースと、前記コンテンツデータベースおよび前記管理情報データベースを管理するCGI処理部と、を備え、前記コンテンツデータベースに格納されたコンテンツまたは当該コンテンツデータベースに格納された情報が示す格納先に格納されたコンテンツ、へのアクセス要求を前記ネットワーク経由で受信した場合、前記HTTPサーバは、受信したアクセス要求を前記CGI処理部へ転送し、前記CGI処理部は、前記HTTPサーバから受信したアクセス要求に含まれるコンテンツIDおよびユーザIDと、前記管理情報と、に基づいて、当該コンテンツIDに対応するコンテンツへのアクセスを許可するかどうかを判断することを特徴とする。
【発明の効果】
【0011】
この発明によれば、システム内におけるコンテンツの格納場所を特定され難くすることができる、という効果を奏する。また、たとえば、システム内においてすべてのコンテンツの登録や編集が許可されたユーザに対して、他人が作成した著作性を有するコンテンツの編集を規制する、というようなアクセス管理が可能となる。すなわち、従来よりも柔軟にアクセスレベルを設定できる、という効果を奏する。
【発明を実施するための最良の形態】
【0012】
以下に、本発明にかかるコンテンツサーバシステムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0013】
実施の形態1.
図1は、本発明にかかるコンテンツサーバシステムの実施の形態1の構成例を示す図である。本実施の形態のコンテンツサーバシステムは、ネットワーク(Network)に接続されたHPPTサーバ1と、CGI処理部2と、管理情報DB(データベース)3と、コンテンツDB4と、を備え、ネットワーク経由でユーザ端末と接続される。
【0014】
HTTPサーバ1は、ネットワークを介して接続されたユーザと通信を行い、ユーザから受け取った情報を必要に応じてCGI処理部2へ転送する。また、CGI処理部2からユーザ宛の情報を受け取った場合、その情報を転送する。CGI処理部2は、CGI(Common Gateway Interface)処理を実行する構成であり、HTTPサーバ1を介して受け取ったユーザからの各種要求に従った処理を実行する。たとえば、コンテンツDB4に格納されたコンテンツを要求元ユーザへ提供する。管理情報DB3は、自システムへのアクセスを許可するユーザの情報などを管理情報データとして格納する。コンテンツDB4は、コンテンツファイルデータなどを格納する。
【0015】
図2は、実施の形態1の管理情報DB3およびコンテンツDB4の構成例を示す図である。図2に示したように、本実施の形態の管理情報DB3には、コンテンツ識別情報(コンテンツID)およびコンテンツ毎のアクセスレベル情報を含んだアクセス管理データと、ユーザ識別情報(ユーザID)およびユーザ毎のアクセスレベル情報を含んだユーザ管理データと、アクセスを許可するユーザへのアクセス許可範囲を決定する際に使用する共通アクセスレベルデータと、が含まれている。また、コンテンツDB4には、コンテンツの実データと、コンテンツの実データの格納先リンクデータ(以下、単に「格納先データ」と記載する)と、コンテンツの識別情報(コンテンツID)、登録(更新)日時、作成者、コンテンツのステータスやコンテンツ検索に利用する検索キーワードなどの情報を含んだコンテンツの管理情報であるコンテンツ付帯データと、が含まれている。
【0016】
そして、上述した構成の本発明にかかるコンテンツサーバシステムは、ネットワークを介して接続しているユーザからのアクセス要求(コンテンツの登録要求、コンテンツの取得要求、など)に応じて、ユーザから受け取ったコンテンツのコンテンツDB4への格納やコンテンツDB4に格納された情報のユーザへの提供(読み出し+送信)などを行う。なお、ユーザから受け取ったコンテンツをコンテンツDB4とは異なる他のデータベースなどに格納するようにしてもよい。この場合、コンテンツDB4には、コンテンツの格納先を示す情報を格納する。
【0017】
ここでまず、ユーザからアクセス要求を受けた場合に本発明にかかるコンテンツサーバシステムがアクセス要求に応じるかどうかを判断する際に使用する情報について説明する。
【0018】
本発明では、アクセス要求に応じるかどうかの判断を、コンテンツについてのアクセスレベル(コンテンツ毎のアクセスレベル情報、以下、コンテンツアクセスレベルと呼ぶ)およびユーザについてのアクセスレベル(ユーザ毎のアクセスレベル情報、以下、ユーザアクセスレベルと呼ぶ)に基づいて行うこととする。以下に、これらのアクセスレベルについて詳しく説明する。
【0019】
(コンテンツアクセスレベル)
コンテンツアクセスレベルは、特定のコンテンツに対するアクセスの権利を表現するものとする。たとえば、コンテンツ#1について、アクセスレベルaが別のアクセスレベルbより等しいか高い場合、アクセスレベルが「a」であるユーザはアクセスレベルが「b」であるユーザがコンテンツ#1に対して実行可能な処理を全て実行可能である。
【0020】
また、アクセスレベルは束集合で表現できる。たとえば、アクセスレベルaがアクセスレベルbよりも高いか等しいかを「a≧b」と表記する場合、この関係「≧」は記号が意味する通り(部分)順序の性質を満たしている。また、アクセスレベルaとbの関係を以下のように表記する。
【0021】
・アクセスレベルa,bを丁度持っているアクセスレベルを「aVb」と表記する。
・アクセスレベルaとbの共通のアクセスレベルを「aΛb」と表記する。
・アクセスレベル0で何も権利が無い状態を示す。
【0022】
また、以下に、アクセスレベルの基本的な関係を示す。
a≧0
aΛ0=0
aV0=a
aVa=a
aΛa=a
a≧bならば(aΛc)≧(bΛc)
a≧bならば(aVc)≧(bVc)
(aVb)Vc=aV(bVc)
(aΛb)Λc=aΛ(bΛc)
なお、a≧b,aVb=a,aΛb=bは同値のため、Λの表があれば、関係「≧」が成立しているか否かの判断に使用できる。
【0023】
(ユーザアクセスレベル)
各ユーザに与えられるユーザアクセスレベルは、一般的にはデータベース内に記録されている。なお、ユーザアクセスレベルは動的に変化することもあり得る。最も一般的なusrとadminの2つの権限を想定した場合、adminはシステム(グループ)内でのアクセスが全て可能であることを示し、usrはシステム(グループ)内で通常ユーザが出来るアクセス内容を示すといった形で表現されることが多い。もちろん「admin≧usr」である。usrのレベルを数種類に分けることやユーザ毎に異なるアクセスレベルを与えることも可能である。以下に、具体的な例を用いて説明する。
【0024】
前提条件として、システム内のアクセスの権利として次式(1)が存在しているものとする。
a(i)=<コンテンツiの表紙表示の権利>
b(i)=<コンテンツiの表紙修正の権利>
c(i)=<コンテンツiの中身表示の権利>
d(i)=<コンテンツiの中身編集の権利>
(ただし、iはシステム内のコンテンツID) …(1)
【0025】
たとえば、一般ユーザuのアクセスレベルをusr1(u)として、このアクセスレベルでは自身が登録したコンテンツは全て編集可能であるが他人が登録したものは閲覧のみ可能とする。すなわち、コンテンツの登録および自身が登録したコンテンツの編集を行う権限と、すべてのコンテンツの閲覧(表紙および内容の閲覧)を行う権限と、を有するものとする。またアクセスレベルがusr2(u)の閲覧ユーザはコンテンツの表紙および内容の閲覧権限のみを有し、コンテンツの管理操作(登録および編集)権限は有しないものとする。また、アクセスレベルがusr3(u)の制限ユーザは各コンテンツの表紙の閲覧権限だけを有するものとする。この場合、それぞれのユーザのアクセスレベルは次式(2)のように表現できる。
【0026】
usr1(u)=V{b(i)Vd(i):iはユーザuが登録したコンテンツのID}V
V{a(i)Vc(i):iはシステム内のコンテンツのID}
usr2(u)=V{a(i)Vc(i):iはシステム内のコンテンツのID}
usr3(u)=V{a(i):iはシステム内のコンテンツのID}
admin =V{a(i)Vb(i)Vc(i)Vd(i):iはシステム内のコンテンツID} …(2)
【0027】
また、便宜的にグループgrpでアクセスレベルstatを持つことをgrp:statと表記する。特例として、adminという特別なグループがあり、このグループのadmin権限を有するユーザならばシステム全体での全てのアクセスが可能になる。
【0028】
なお、
Ω ={a|aはシステム内のアクセスの権利}
Ωgrp={a|aはグループgrp内のアクセスの権利}
とした場合、
admin:admin=VΩ
grp:admin=VΩgrp
admin:admin≧grp:admin≧grp:usr
の関係が成立する。
【0029】
(コンテンツのアクセスレベルと確認)
たとえば、一般のユーザが有するアクセス権がx、コンテンツに設定されているアクセスレベルがyの場合、このユーザがアクセスできるアクセスレベルをxΛyとする。さらに、通常はその時点で必要最小限のアクセスで制約を受けることになり、例えば、閲覧(コンテンツ取得)を要求する場合は「(xΛy)Λ<閲覧の権利>」,登録を要求する場合は「(xΛy)Λ<登録の権利>」が実際のアクセスレベルになる。この場合、便宜的に、「閲覧の権利に制約したアクセスレベル」や「登録の権利に制約したアクセスレベル」と呼ぶことにする。
【0030】
また、「xΛy=0」は、アクセスする権限を全く有しない場合を示し、「xΛy=y」は、コンテンツの全てアクセス権限を有している場合を示す。
【0031】
そして、本発明にかかるコンテンツサーバシステムの管理情報DB3には、上記図2でも示したように、ユーザがコンテンツへアクセス可能かどうかを判断するために使用する情報として、ユーザ毎のアクセスレベル情報、コンテンツ毎のアクセスレベル情報および共通アクセスレベルデータが格納されている。
【0032】
つづいて、本発明にかかるコンテンツサーバシステムの実施の形態1の詳細動作を図面に基づいて説明する。まず、コンテンツサーバシステムへコンテンツを登録する(新規登録および更新登録の双方を含む)場合の動作について、図3を参照しながら説明する。なお、図3は、実施の形態1のコンテンツサーバシステムへコンテンツを登録する場合の動作の一例を示すフローチャートである。
【0033】
CGI処理部2は、コンテンツの登録要求(メッセージ)をHTTPサーバ1経由で受信したかどうかを監視しており、コンテンツ登録要求を受信した場合(ステップS11,Yes)、コンテンツ登録要求を送信したユーザ(以下、要求元ユーザと呼ぶ)の認証処理を行う(ステップS12)。たとえば、要求元ユーザのユーザIDが管理情報DB3内のユーザ管理データに含まれるユーザ情報に登録されているかどうかを確認し、登録されている場合、アクセスが許可されたユーザであると判断して処理を継続する。なお、登録されていない場合には、処理を終了する。
【0034】
そして、認証処理の結果、処理を継続すると判断した場合、CGI処理部2は、アクセス管理データおよびユーザ管理データに基づいて、要求元ユーザが、登録要求が示すコンテンツの登録を許可されたユーザかどうかを判断する(ステップS13)。具体的には、要求元ユーザのユーザIDと、受信したコンテンツ登録要求に含まれている、登録対象コンテンツ(ユーザが登録しようとしているコンテンツ)のコンテンツIDと、をキーとして管理情報DB3を検索し、ユーザIDに対応する(ユーザ管理データ内の)ユーザ毎のアクセスレベル情報と、コンテンツIDに対応する(アクセス管理データ内の)コンテンツ毎のアクセスレベル情報を取得する。そして、ユーザ毎のアクセスレベル情報およびコンテンツ毎のアクセスレベル情報に基づいて、ユーザにコンテンツを登録する権限が与えられているかどうかを確認する。
【0035】
たとえば、コンテンツ毎のアクセスレベルが、すべてのユーザに対して登録処理を許可することを示す場合、CGI処理部2は、ユーザ毎のアクセスレベルが登録処理を許可することを示していれば(要求元ユーザが登録を行う権限を有していれば)、要求元ユーザがコンテンツの登録権限を有すると判断する。また、コンテンツ毎のアクセスレベルが、一部のユーザに対して登録処理を許可することを示す場合、CGI処理部2は、ユーザ毎のアクセスレベルが登録処理を許可することを示していても(要求元ユーザが登録を行う権限を有していても)、要求元ユーザが前記「コンテンツ毎のアクセスレベルが示す一部のユーザ」に含まれていなければ、要求元ユーザがコンテンツの登録権限を有しないと判断する。なお、コンテンツの新規登録を行う場合には、ユーザ毎のアクセスレベル情報のみに基づいて確認を行う。すなわち、ユーザ毎のアクセスレベルとしてコンテンツを登録する権限が与えられていれば、権限が与えられたユーザであると判断する。
【0036】
そして、コンテンツを登録する権限が与えられていると判断した場合(ステップS13,Yes)、CGI処理部2は、処理を継続する。一方、権限が与えられていないと判断した場合は処理を終了する(ステップS13,No)。
【0037】
また、ステップS13では、以下の処理を実行することにより要求元ユーザがコンテンツ登録を許可されているかどうかを判断するようにしてもよい。すなわち、コンテンツ登録を許可するかどうかを判断可能な承認者を予め決定し、その連絡先としてメールアドレスをアクセス管理データへ格納しておく。そして、コンテンツ登録要求を受信した場合、CGI処理部2は、コンテンツIDに対応した承認者の連絡先を管理情報DB3から取得し、取得した連絡先へ要求元ユーザユーザIDおよびコンテンツIDを含んだ電子メールを送信する。承認者は、電子メールを受け取った場合、それに含まれているユーザIDによる認証処理を行った上でコンテンツ登録の可否を判断し、判断結果を含んだ電子メールをCGI処理部2へ返信する。CGI処理部2は、返信されてきた電子メールの内容が登録を許可する旨を示す場合、処理を継続する。
【0038】
ステップS13で処理を継続すると判断した場合、CGI処理部2は、管理情報DB3内のアクセス管理データに対して、登録しようとしているコンテンツのコンテンツIDおよびそのアクセス条件(コンテンツ毎のアクセスレベル)を格納する(ステップS14)。なお、アクセス条件は、要求元ユーザにより予め決定され、コンテンツ登録要求またはそれに続いて送信するメッセージなどにより送信されてくる情報である。
【0039】
最後に、CGI処理部2は、ユーザから受け取った情報(コンテンツ(実データ)またはコンテンツの格納先データと、コンテンツ付帯データ)をコンテンツDB4へ格納する(ステップS15)。
【0040】
以上がユーザから受け取った情報をコンテンツサーバシステムへ登録する場合の動作であるが、次に、コンテンツサーバシステムに登録されている情報をユーザへ提供する場合の動作について、図4を参照しながら説明する。なお、図4は、実施の形態1のコンテンツサーバシステムに登録された情報をユーザに提供する場合の動作の一例を示すフローチャートである。
【0041】
CGI処理部2は、コンテンツの取得要求(メッセージ)をHTTPサーバ1経由で受信したかどうかを監視しており、コンテンツ取得要求を受信した場合(ステップS21,Yes)、コンテンツ取得要求を送信したユーザ(以下、要求元ユーザと呼ぶ)の認証処理を行う(ステップS22)。なお、具体的な動作は、コンテンツを登録する場合の動作における認証処理(図3のステップS12を参照)と同様である。
【0042】
そして、認証処理の結果、処理を継続すると判断した場合、CGI処理部2は、アクセス管理データおよびユーザ管理データに基づいて、要求元ユーザが、取得対象コンテンツ(ユーザが取得を望んでいるコンテンツ)の取得(閲覧)が許可されたユーザかどうかを判断する(ステップS23)。具体的には、要求元ユーザのユーザIDと、受信したコンテンツ取得要求に含まれている、取得対象コンテンツのコンテンツIDと、をキーとして管理情報DB3を検索し、ユーザIDに対応する(ユーザ管理データ内の)ユーザ毎のアクセスレベル情報と、コンテンツIDに対応する(アクセス管理データ内の)コンテンツ毎のアクセスレベル情報を取得する。そして、ユーザ毎のアクセスレベル情報およびコンテンツ毎のアクセスレベル情報に基づいて、ユーザにコンテンツを取得する権限が与えられているかどうかを確認する。
【0043】
コンテンツを取得する権限が与えられていると判断した場合(ステップS23,Yes)、CGI処理部2は、処理を継続する。一方、権限が与えられていないと判断した場合は処理を終了する(ステップS23,No)。
【0044】
また、ステップS23では、以下の処理を実行することにより要求元ユーザがコンテンツへのアクセスを許可されているかどうかを判断するようにしてもよい。すなわち、コンテンツへのアクセスを許可するかどうかを判断可能な承認者を予め決定し、その連絡先としてメールアドレスをアクセス管理データへ格納しておく。そして、コンテンツ取得を受信した場合、CGI処理部2は、コンテンツIDに対応した承認者の連絡先を管理情報DB3から取得し、取得した連絡先へ要求元ユーザユーザIDおよびコンテンツIDを含んだ電子メールを送信する。承認者は、電子メールを受け取った場合、それに含まれているユーザIDによる認証処理を行った上でコンテンツへのアクセスの可否を判断し、判断結果を含んだ電子メールをCGI処理部2へ返信する。CGI処理部2は、返信されてきた電子メールの内容がアクセスを許可する旨を示す場合、処理を継続する。
【0045】
ステップS23で処理を継続すると判断した場合、CGI処理部2は、上記ユーザ毎のアクセスレベル情報およびコンテンツ毎のアクセスレベル情報に基づいて、アクセス範囲を特定する(ステップS24)。さらに、特定したアクセス範囲に含まれる情報(コンテンツの実データまたは格納先データ)をコンテンツDB4から取得し、HTTPサーバ1経由で要求元ユーザ宛に送信する(ステップS25)。
【0046】
以上のステップS21〜S25に示した処理がユーザからコンテンツの取得要求を受け取った場合に実行する動作(コンテンツサーバシステムに登録されている情報をユーザへ提供する場合の動作)である。
【0047】
また、本発明にかかるコンテンツサーバシステムでは、ユーザからの要求に応じて、コンテンツDB4に格納されているコンテンツのリストを表示する(コンテンツ付帯データをリスト化して表示する)機能を有している。そこで、ユーザからコンテンツリストの表示要求を受けた場合の動作を、図5に基づいて、以下に説明する。なお、図5は、コンテンツリストを表示する場合の動作の一例を示す図である。
【0048】
CGI処理部2は、コンテンツリストの表示要求(メッセージ)をHTTPサーバ1経由で受信したかどうかを監視しており、コンテンツリストの表示要求(以下、リスト表示要求と呼ぶ)を受信した場合(ステップS31,Yes)、リスト表示要求を送信したユーザ(以下、要求元ユーザと呼ぶ)の認証処理を行う(ステップS32)。なお、具体的な動作は、コンテンツを登録する場合の動作における認証処理(図3のステップS12を参照)と同様である。
【0049】
そして、認証処理の結果、処理を継続すると判断した場合、CGI処理部2は、要求元ユーザのユーザIDをキーとして管理情報DB3の(ユーザ管理データ内の)ユーザ毎のアクセスレベル情報を検索することにより要求元ユーザが有するアクセス権限を認識し、認識結果に基づいてリスト表示が可能かどうかを判断する(ステップS33)。表示不可能と判断した場合(ステップS33,No)、処理を終了する。一方、表示可能と判断した場合(ステップS33,Yes)、コンテンツ管理DB4内のコンテンツ付帯データを検索し、要求元ユーザが有するアクセス権限で閲覧可能なコンテンツの付帯データを取得する(ステップS34)。そして、取得した付帯データをリスト化して表示する。または、取得した付帯データからさらに必要な情報を抽出し、リスト化して表示する(ステップS35)。
【0050】
なお、ユーザは、リスト表示要求を送信するにあたり、検索条件を指定することが可能である。たとえば、コンテンツの更新(登録)日時やコンテンツのカテゴリ、登録者、など、コンテンツ付帯データに含まれる情報について、条件を指定可能である。したがって、要求元ユーザから検索条件を受信した場合、上記ステップS34では、取得した検索条件に合致したコンテンツ付帯データを抽出する。
【0051】
このように、本実施の形態では、CGI処理部がコンテンツの管理を行い、外部のユーザから受信したコンテンツ登録要求やコンテンツへのコンテンツ取得に応じた処理を行うこととし、HTTPサーバはユーザとCGI処理部との間でやりとりされる情報を中継することとした。これにより、外部のユーザからコンテンツへ直接アクセスすることがなくなり、セキュリティを確保したコンテンツへのアクセスを実現できる。また、HTTPサーバの負荷を軽減することができる。また、コンテンツ毎およびユーザ毎にアクセスレベルを設定し、これら二つのアクセスレベルに基づいて、各コンテンツへのアクセスを許可するかどうかを判断することとしたので、たとえば、システム内においてすべてのコンテンツの登録や編集が許可されたユーザに対して、他人が作成した著作性を有するコンテンツの編集を規制する、というようなアクセス管理が可能となる。すなわち、従来よりも柔軟なアクセスレベル管理を実現できる。
【0052】
実施の形態2.
つづいて、実施の形態2のコンテンツサーバシステムについて説明する。一般的に、コンテンツは様々な要因により改版され、時間の経過とともに複数の版(バージョン)が存在するようになる。コンテンツサーバがバージョンの異なる複数のコンテンツを管理する方法としては、たとえば、コンテンツIDの他にバージョン情報を用いて管理する方法が存在する。一方で、バージョン情報を利用せずに、コンテンツIDだけで管理することも可能である。すなわち、同じコンテンツであってもバージョンが異なる場合には、異なるコンテンツIDを付与して管理する方法も存在する。
【0053】
ここで、ユーザが所望のコンテンツにアクセスする場合について考えてみると、バージョンについて特に何も意識せずに手動で取り出そうとする場合、最新版を要求する場合が多い。また、バージョンについて特に意識せずに、かつて取り出そうとしてリンクを作成して放置しておき、その後改めて取り出そうとする場合は、元のままの版を要求する場合が多い。
【0054】
これに対して、バージョンについて意識しつつ目的のコンテンツを取得する場合には、最新のバージョンを指定して取得する、一つ前のバージョンを指定して取得する、または、ある日時での最新版を指定して目的のコンテンツを取得する、という場合が多い。すなわち、ユーザは、以下に示すような条件を指定してコンテンツを取得すると考えられる。
(1)「コンテンツID+<バージョン番号>」
(2)「コンテンツID+最新版」
(3)「コンテンツID+最新の一つ前の版」
(4)「コンテンツID+<日時>以前の最新版」
【0055】
これらは、バージョン情報を利用してコンテンツを管理している場合を想定した条件指定方法であるが、上述したように、バージョン情報を利用せずに管理する方法も存在する。そのため、コンテンツサーバでは、バージョン情報を利用せずにバージョン管理を行っている状態で、ユーザからバージョン情報を用いたコンテンツ指定を受けた場合に、指定されたバージョンを正しく特定して提供する必要がある。
【0056】
そこで、本実施の形態では、システム内部においてバージョン情報を利用せずにコンテンツの管理を行うコンテンツサーバシステムについて説明する。なお、本実施の形態のコンテンツサーバシステムの構成は、実施の形態1のコンテンツサーバシステム(図1参照)と同様である。
【0057】
また、コンテンツ間には、以下の様にバージョン依存関係が定められる。すなわち、依存関係は一般には複数存在し、改版を重ねるにつれて下記のようなバージョン依存関係の組合せの鎖(ステータスとタイムスタンプからなる情報)ができる。そのため、本実施の形態のコンテンツサーバシステムは、1つのバージョン依存関係を1つのレコードとしてテーブルに登録することによりコンテンツのバージョンを管理する。たとえば、改版により生成されたコンテンツの元となった(ベースとした)コンテンツのIDを版管理データとして、改版により生成されたコンテンツのIDと対応付けて管理情報DB2で管理する。
【0058】
(例1)コンテンツ(ID2)がコンテンツ(ID1)を改版して作成された場合。
ID1 →(をベースにした)→ ID2
(日時1) (日時2)
(例2)コンテンツ(ID3)がコンテンツ(ID1)とコンテンツ(ID2)とを元に改版して作成された場合。
ID1 →(をベースにした)→ ID3
(日時1) (日時3)
ID2 →(をベースにした)→
(日時2)
(例3)コンテンツ(ID2)がコンテンツ(ID1)を元に改版して作成され、かつコンテンツ(ID3)がコンテンツ(ID1)を元に改版して作成された場合。
ID1 →(をベースにした)→ ID2
(日時1) (日時2)
→(をベースにした)→ ID3
(日時3)
【0059】
つづいて、詳細動作を図面に基づいて説明する。ここで、詳細説明を開始する前に、本実施の形態のコンテンツサーバシステムが備える管理情報DB3が保持しているデータについて説明する。本実施の形態の管理情報DB3は、図6に示したように実施の形態1の管理情報DB3が保持しているアクセス管理データ,ユーザ管理データ,共通アクセスレベルデータに加えて、コンテンツのバージョンを管理するための版管理データを保持している。なお、コンテンツDB4は、実施の形態1と同一種類のデータを保持している。
【0060】
次に、本実施の形態のコンテンツサーバシステムへ情報を登録する場合の動作について、図7を参照しながら説明する。なお、図7は、実施の形態2のコンテンツサーバシステムへコンテンツを登録する場合の動作の一例を示すフローチャートであり、上述した実施の形態1のコンテンツ登録と同じ動作については同一のステップ番号を付与している。ここでは、実施の形態1と異なる処理についてのみ説明する。
【0061】
実施の形態1とは異なる処理を実行するステップS13aでは、CGI処理部2は、まず、受信したコンテンツ登録要求に含まれている、登録対象コンテンツのコンテンツIDおよびコンテンツのバージョン情報に基づいて、コンテンツサーバシステム内部で使用するローカルのコンテンツIDと、管理情報DB3へ版管理データとして登録するバージョン依存関係の情報と、を生成する。なお、コンテンツのバージョン情報が含まれていない(省略された)場合には、たとえば、最新バージョンであるとみなして処理を行う。そして、生成したローカルコンテンツIDおよびバージョン依存関係の情報から特定される、コンテンツ毎のアクセスレベル情報と、要求元ユーザのユーザIDに対応するユーザ毎のアクセスレベル情報と、に基づいて、ユーザにコンテンツを登録する権限が与えられているかどうかを確認する。
【0062】
さらに、ステップS14aでは、管理情報DB3に対して、登録しようとしているコンテンツのコンテンツID、これに対応するローカルコンテンツID、アクセス条件(コンテンツ毎のアクセスレベル)および版管理データ(バージョン依存関係の情報)を格納する。
【0063】
次に、本実施の形態のコンテンツサーバシステムに登録されている情報をユーザへ提供する場合の動作について、図8を参照しながら説明する。なお、図8は、実施の形態2のコンテンツサーバシステムに登録された情報をユーザに提供する場合の動作の一例を示すフローチャートであり、上述した実施の形態1のコンテンツアクセスと同じ動作については同一のステップ番号を付与している。ここでは、実施の形態1と異なる処理についてのみ説明する。また、ユーザからはバージョンを指定する情報(コンテンツのバージョン情報)が含まれたコンテンツ取得要求を受信するものとする。
【0064】
実施の形態1とは異なる処理を実行するステップS23aでは、CGI処理部2は、まず、受信したコンテンツ取得要求に含まれている、取得対象コンテンツのコンテンツIDおよびコンテンツのバージョン情報と、管理情報DB3内の版管理データに含まれる上記バージョン依存関係の情報と、コンテンツの作成(更新)日時情報と、に基づいて、ユーザが要求しているバージョンのコンテンツに対応するローカルコンテンツID(コンテンツサーバシステム内部で使用しているローカルのコンテンツID)を特定する。次に、上記受信したコンテンツ取得要求に含まれている要求元ユーザのユーザIDおよび当該特定したローカルコンテンツIDをキーとして管理情報DB3を検索し、ユーザIDに対応する(ユーザ管理データ内の)ユーザ毎のアクセスレベル情報と、ローカルコンテンツIDに対応する(アクセス管理データ内の)コンテンツ毎のアクセスレベル情報に基づいて、ユーザにコンテンツを取得する権限が与えられているかどうかを確認する。
【0065】
このように、本実施の形態では、ユーザから受け取ったコンテンツのバージョンを指定する情報が自システムにおけるバージョン管理フォーマットに合致しない場合、受け取ったコンテンツIDおよびバージョンを指定する情報に基づいて、特定コンテンツの特定バージョンを一意に示すローカルコンテンツIDを特定し、特定したローカルコンテンツIDに基づいてコンテンツの検索を行うこととした。これにより、自システムにおける方式と異なる方式でバージョン指定を行うユーザに対しても正しくバージョンを認識して、要求されたコンテンツを提供することができる。
【0066】
実施の形態3.
つづいて、実施の形態3について説明する。上述した実施の形態1および2では、ユーザ毎にアクセスレベルを付与してアクセス制限等を行うコンテンツサーバシステムについて説明したが、ユーザを複数のグループに予めグループ化し、グループ毎にアクセスレベルを付与するようにしてもよい。
【0067】
本実施の形態においても、上述した実施の形態1と同様に、各ユーザは、コンテンツサーバシステムを利用して、コンテンツの登録、取得およびリスト表示(付帯データのリスト表示)を行うことが可能である。なお、アクセスレベルがグループ毎に付与される以外は上記実施の形態1または2と同様であるため、各動作(コンテンツ登録動作,コンテンツ取得動作,リスト表示動作)の説明は省略する。
【0068】
実施の形態4.
つづいて、実施の形態4について説明する。上述した実施の形態のコンテンツサーバシステムでは、ユーザ管理データとアクセス管理データを同一のデータベースへ格納し、またCGI処理部が単一のコンテンツサーバを管理している場合の例について説明したが、たとえば、図9に示したように、ユーザ管理データとアクセス管理データを物理的に分けられた異なるデータベース(ユーザ管理DB,アクセス管理DB)へ格納し、また、物理的に分けられた複数のコンテンツDBにコンテンツを分散して格納するようにしてもよい。なお、複数のコンテンツDBにコンテンツを分散して格納する構成とする場合、コンテンツの実データを格納したコンテンツDB以外のコンテンツDBには当該コンテンツの格納先情報を格納する。これにより、コンテンツの検索速度を高めることができる。また、CGI処理部と各データベースとを、信頼性の高いネットワーク(SSL:Secure Sockets Layerなど)で結合することによりセキュリティを確保する。
【0069】
また、図10に示したように、のHTTPサーバとCGI処理部、管理情報DBおよびコンテンツDBの組合せを複数備えた構成にすることも可能である。
【0070】
このように、データベースに格納する各種情報やコンテンツを物理的に異なる場所へ格納して管理することが可能であり、この場合も上述した実施の形態と同様の効果が得られる。また、管理可能なコンテンツ量(データ量)を増加させることができ、さらに、システムを構成する各装置の負荷を分散させることができる。
【産業上の利用可能性】
【0071】
以上のように、本発明にかかるコンテンツサーバシステムは、外部ネットワークに属するユーザへ提供するコンテンツを管理するサーバシステムに有用であり、特に、コンテンツ毎にアクセスレベルを個別に設定してセキュリティ管理を行う場合に適している。
【図面の簡単な説明】
【0072】
【図1】本発明にかかるコンテンツサーバシステムの実施の形態1の構成例を示す図である。
【図2】実施の形態1の管理情報DBおよびコンテンツDBの構成例を示す図である。
【図3】実施の形態1のコンテンツサーバシステムへコンテンツを登録する場合の動作の一例を示すフローチャートである。
【図4】実施の形態1のコンテンツサーバシステムに登録された情報をユーザに提供する場合の動作の一例を示すフローチャートである。
【図5】コンテンツリストを表示する場合の動作の一例を示す図である。
【図6】実施の形態2の管理情報DBおよびコンテンツDBの構成例を示す図である。
【図7】実施の形態2のコンテンツサーバシステムへコンテンツを登録する場合の動作の一例を示すフローチャートである。
【図8】実施の形態2のコンテンツサーバシステムに登録された情報をユーザに提供する場合の動作の一例を示すフローチャートである。
【図9】実施の形態4のコンテンツサーバシステムの構成例を示す図である。
【図10】実施の形態4のコンテンツサーバシステムの別の構成例を示す図である。
【符号の説明】
【0073】
1 HTTPサーバ
2 CGI処理部
3 管理情報DB(データベース)
4 コンテンツDB(データベース)

【特許請求の範囲】
【請求項1】
ネットワークに接続されたHTTPサーバと、
コンテンツデータベースと、
前記コンテンツデータベースが提供可能なコンテンツ毎のアクセスレベルおよび前記コンテンツデータベースへのアクセスが許可されたユーザ毎のアクセスレベル、を含んだ管理情報を格納する管理情報データベースと、
前記コンテンツデータベースおよび前記管理情報データベースを管理するCGI処理部と、
を備え、
前記コンテンツデータベースに格納されたコンテンツまたは当該コンテンツデータベースに格納された情報が示す格納先に格納されたコンテンツ、へのアクセス要求を前記ネットワーク経由で受信した場合、
前記HTTPサーバは、受信したアクセス要求を前記CGI処理部へ転送し、
前記CGI処理部は、前記HTTPサーバから受信したアクセス要求に含まれるコンテンツIDおよびユーザIDと、前記管理情報と、に基づいて、当該コンテンツIDに対応するコンテンツへのアクセスを許可するかどうかを判断することを特徴とするコンテンツサーバシステム。
【請求項2】
前記CGI処理部は、前記コンテンツIDに対応するコンテンツへのアクセスを許可する場合、さらに、当該コンテンツID、前記ユーザIDおよび前記管理情報に基づいて、その後に実行する処理を決定することを特徴とする請求項1に記載のコンテンツサーバシステム。
【請求項3】
前記アクセス要求が、コンテンツデータベースへの、コンテンツの登録要求またはコンテンツ格納先情報の登録要求であるコンテンツ更新要求の場合、
前記CGI処理部は、前記コンテンツIDに対応するコンテンツ毎のアクセスレベルおよび前記ユーザIDに対応するユーザ毎のアクセスレベルに基づいて、前記コンテンツ更新要求に応じるかどうかを判断し、応じると判断した場合、当該ユーザIDのユーザから受け取った、コンテンツまたはコンテンツ格納先情報と、コンテンツに関する各種情報を含んだコンテンツ付帯データと、を前記コンテンツデータベースへ格納することを特徴とする請求項1または2に記載のコンテンツサーバシステム。
【請求項4】
前記CGI処理部は、さらに、前記コンテンツ付帯データに基づいて前記管理情報データベースを更新することを特徴とする請求項3に記載のコンテンツサーバシステム。
【請求項5】
前記CGI処理部は、コンテンツ更新要求に応じると判断した場合、さらに、コンテンツ更新要求に含まれているコンテンツIDおよびコンテンツのバージョン情報に基づいて、ユーザから受け取ったコンテンツまたはコンテンツ格納先情報が示す格納先に格納されたコンテンツを一意に示すローカルコンテンツIDを生成し、当該ローカルコンテンツID前記および前記コンテンツ更新要求に含まれているコンテンツIDを前記管理情報データベースへ格納することを特徴とする請求項3または4に記載のコンテンツサーバシステム。
【請求項6】
ユーザから受け取ったコンテンツまたはコンテンツ格納先情報が示す格納先に格納されたコンテンツが、既存のコンテンツである元コンテンツを改版して作成されたものである場合、
前記CGI処理部は、前記元コンテンツと改定して作成されたコンテンツとの関係を示す依存関係情報、を当該改定して作成されたコンテンツのコンテンツ付帯データに基づいて生成し、さらに、当該生成した依存関係情報を、当該改定して作成されたコンテンツのローカルコンテンツIDと対応付けて前記管理情報データベースへ格納することを特徴とする請求項5に記載のコンテンツサーバシステム。
【請求項7】
前記CGI処理部は、前記コンテンツ付帯データに含まれるステータス情報および更新日時情報に基づいて前記依存関係情報を生成することを特徴とする請求項6に記載のコンテンツサーバシステム。
【請求項8】
前記アクセス要求が、コンテンツデータベースに格納されたコンテンツの読み出し要求を示す場合、
前記CGI処理部は、前記コンテンツIDに基づいて特定されるコンテンツ毎のアクセスレベルおよび前記ユーザIDに基づいて特定されるユーザ毎のアクセスレベルに基づいて、前記コンテンツ読み出し要求に応じるかどうかを判断し、応じると判断した場合、前記ユーザIDのユーザに対して許可するアクセス許可範囲を当該コンテンツ毎のアクセスレベルおよび当該ユーザ毎のアクセスレベルに基づいて決定することを特徴とする請求項1〜7のいずれか一つに記載のコンテンツサーバシステム。
【請求項9】
前記管理情報データベースが、コンテンツデータベースに格納されたコンテンツおよびコンテンツデータベースに格納されたコンテンツ格納先情報が示す格納先に格納されたコンテンツ、に付与された各コンテンツが格納されたデータベースにおけるユニークなローカルコンテンツIDと、関連のあるコンテンツ同士の互いの依存関係を示す依存関係情報と、を格納し、
前記アクセス要求が、コンテンツデータベースに格納されたコンテンツの読み出し要求を示す場合、
前記CGI処理部は、前記コンテンツ読み出し要求に含まれているコンテンツIDおよびコンテンツのバージョン情報により特定されるコンテンツに対応するローカルコンテンツIDを、前記依存関係情報とコンテンツの更新日時情報とに基づいて特定し、当該特定したローカルコンテンツIDに対応するコンテンツ毎のアクセスレベルおよび前記ユーザIDに対応するユーザ毎のアクセスレベルに基づいて、前記コンテンツ読み出し要求に応じるかどうかを判断することを特徴とする請求項8に記載のコンテンツサーバシステム。
【請求項10】
前記管理情報データベースが、さらに、各コンテンツのコンテンツIDを格納し、
前記CGI処理部は、前記コンテンツ読み出し要求に応じる場合、当該コンテンツID、前記ローカルコンテンツIDおよび前記依存関係情報に基づいて、前記コンテンツ読み出し要求が示すコンテンツの検索および読み出しを行うことを特徴とする請求項9に記載のコンテンツサーバシステム。
【請求項11】
前記アクセス要求が、前記コンテンツデータベースに格納されたコンテンツまたは当該コンテンツデータベースに格納された情報が示す格納先に格納されたコンテンツのリスト表示要求を示す場合、
前記CGI処理部は、前記ユーザIDに対応するユーザ毎のアクセスレベルに基づいて、前記コンテンツリスト表示要求に応じるかどうかを判断し、応じると判断した場合、さらに、前記コンテンツデータベースに格納されたコンテンツ付帯データの中から前記ユーザIDのユーザが有するアクセスレベルでアクセス可能なコンテンツのコンテンツ付帯データを取得し、当該取得したコンテンツ付帯データに基づいてコンテンツリストを生成して表示することを特徴とする請求項1〜10のいずれか一つに記載のコンテンツサーバシステム。
【請求項12】
前記コンテンツ付帯データが対応するコンテンツの検索処理で利用する検索キーワードを含み、
前記コンテンツリスト表示要求に検索キーワードが含まれている場合、
前記CGI処理部は、前記コンテンツリスト表示要求に含まれている検索キーワードに基づいて前記取得したコンテンツ付帯データの選定を行い、当該選定したコンテンツ付帯データに基づいてコンテンツリストを生成することを特徴とする請求項11に記載のコンテンツサーバシステム。
【請求項13】
各ユーザを所定のルールに従いグループ化し、
前記ユーザ毎のアクセスレベルとして、同じグループに属するユーザには同じアクセスレベルを付与して管理することを特徴とする請求項1〜12のいずれか一つに記載のコンテンツサーバシステム。
【請求項14】
前記データ管理データベースおよび前記コンテンツデータベースが、前記CGI処理部と直接接続されているか、または、信頼性の高いネットワークを介して前記CGI処理部と接続されていることを特徴とする請求項1〜13のいずれか一つに記載のコンテンツサーバシステム。
【請求項15】
前記コンテンツデータベースを複数備え、コンテンツを分散管理することを特徴とする請求項1〜14のいずれか一つに記載のコンテンツサーバシステム。
【請求項16】
前記HTTPサーバ、前記コンテンツデータベース、前記管理情報データベースおよび前記CGI処理部により構成された基本構成ブロックを複数備えることを特徴とする請求項1〜15のいずれか一つに記載のコンテンツサーバシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−157506(P2009−157506A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−333050(P2007−333050)
【出願日】平成19年12月25日(2007.12.25)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】