データ管理システム、データサーバ、およびデータ管理方法
【課題】クライアントが所望のデータの検索要求をしたサーバとは異なる他のサーバ上に所望のデータが存在する時に、たとえ他のサーバの所在情報の通知がなくても、クライアントが他のサーバからそのデータの提供を受けることができるデータ管理システムを提供する。
【解決手段】クライアント30が要求対象データの検索要求をしたデータサーバ10−1とは異なるデータサーバ10−2上に要求対象データが存在する場合、クライアント30は、データサーバ10−1を経由してデータサーバ10−2から要求対象データの提供を受ける。
【解決手段】クライアント30が要求対象データの検索要求をしたデータサーバ10−1とは異なるデータサーバ10−2上に要求対象データが存在する場合、クライアント30は、データサーバ10−1を経由してデータサーバ10−2から要求対象データの提供を受ける。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続された複数のデータサーバから構成されるデータ管理システムに関する。
【背景技術】
【0002】
この分野の従来の技術として、特許文献1に記載の技術がある。特許文献1では、サーバが、管理する各コンテンツに識別子を付与し、クライアントから検索要求があった場合、その要求に合致するコンテンツの識別子を含んだ仮想URLをクライアントに提供する。このサーバは、仮想URLを用いてクライアントからアクセスがあると、その仮想URLに含まれる識別子を蓄積システムに渡し、蓄積システムはその識別子に対応するコンテンツをキャッシュメモリにコピーし、キャッシュメモリ上のコンテンツのコピーのアドレスをサーバに返す。これにより、サーバはそのキャッシュメモリ上のコンテンツをユーザに提供することができる。
【0003】
また、クライアントが検索要求したサーバが管理するコンテンツ群の中に所望のコンテンツが存在しなくても、他のサーバが管理するコンテンツ群にそのコンテンツが存在する場合、クライアントに対して他のサーバへのリダイレクトを実行することで、クライアントに対して他のサーバに所望のコンテンツが存在することを通知して、所望のコンテンツをクライアントに取得させる技術が、例えば、特許文献2に開示されている。
【0004】
このように、クライアントに対して他のサーバへのリダイレクトを実行すると、URLなど他のサーバの所在情報をクライアントに対して通知することになる。
【0005】
しかしながら、セキュリティ等の観点から、そのような所在情報をクライアントに対して通知しないほうが望ましい場合がある。
【0006】
【特許文献1】特開平11−3265号公報
【特許文献2】特開2004−86510号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
クライアントが所望のデータの検索要求をしたサーバとは異なる他のサーバ上に所望のデータが存在する時に、たとえ他のサーバの所在情報の通知がなくても、クライアントが他のサーバからそのデータの提供を受けることができるデータ管理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、ネットワークを介して接続された他のデータサーバと連携してデータ管理システムを構成するデータサーバとして、コンピュータを動作させるためのプログラムであって、クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部から検索し、該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するように、前記コンピュータを動作させるためのプログラムを提供する。
【0009】
本発明によれば、クライアントが要求対象データの検索要求をしたデータサーバとは異なる他のデータサーバ上に要求対象データが存在する場合でも、クライアントからデータ要求を受けたデータサーバを経由して、その要求対象データがクライアントに提供されるため、たとえ実際に要求対象データを保持するデータサーバの所在情報が通知されなくても、クライアントは、要求対象データの提供を受けることができる。
【0010】
また、本発明は、前記他のデータサーバからのデータ問合わせに含まれる判定情報に基づいて自身の所在情報を前記クライアントに通知するかどうかの判定を行い、前記クライアントに自身の所在情報を通知すると判定した場合、前記所在情報を含むリダイレクト情報を前記データ問合わせに対する返答として前記他のデータサーバに提供し、前記クライアントに自身の所在情報を通知しないと判定した場合、前記検索した要求対象データを前記データ問合わせに対する返答として前記他のデータサーバに提供するように、前記コンピュータを動作させるためのプログラムを提供する。
【0011】
本発明によれば、前記他のデータサーバからのデータ問合わせに返答をする前に、そのデータ問合わせに含まれる判定情報に基づいて自身の所在情報を前記クライアントに通知するかどうかの判定を行い、判定結果に応じて、リダイレクト情報もしくは要求対象データを前記他のデータサーバに提供する。これにより、すべての要求対象データが、クライアントからデータ要求を受けたデータサーバを経由されずに済むため、データ要求を受けたデータサーバの処理負担を低減することができる。
【発明を実施するための最良の形態】
【0012】
本発明を実施するための最良の形態として、第1の実施の形態(以下、実施形態1とする)について、以下図面を用いて説明する。
【0013】
図1は、実施形態1におけるデータ管理システムの概略構成を示す図である。図1に示すように、本システムは、LAN(ローカル・エリア・ネットワーク)やインターネットなどのネットワーク20に接続された複数のデータサーバ10−1,10−2,...(以下では、区別の必要ない場合は「データサーバ10」と総称する。データサーバ10内のモジュールについても同様)を含む。本システムでは、ネットワーク20上のクライアント30からのデータ要求に応じて、各データサーバ10が要求対象のデータをクライアント30に提供する。
【0014】
図2は、データサーバ10の機能ブロックを示す図である。図2において、データ管理部11は、クライアント30に提供することができる複数のデータと、各データを識別するためのデータID(識別情報)とを対応付けて記憶する。図3にデータ管理部11が管理する各データの管理情報のデータ構造を示す。図3に示す通り、データ管理部11は、登録された各データにつき、そのデータのデータID101とデータサーバ10内でそのデータを指し示すリンク情報(例えばそのデータのパス名)103とを対応付けて管理する。
【0015】
検出部12は、ネットワーク20上に存在する他のデータサーバ10を検出する手段である。さらに、問合わせ部13は、クライアント30から要求されたデータを有しているか否かを、他のデータサーバ10に対して問合わせる手段である。また問合わせ部13は、他のデータサーバ10の問合わせ部13からの問合わせに対して回答する機能も備える。
【0016】
実施形態1では、クライアント30は、本システムに対してデータを要求する場合、図4に示すように、データを管理するデータサーバ10のホスト名112と、そのデータのデータID114とを含む仮想URLを用いてデータを指定する。この仮想URLは、「xxx.fx.co.jp」という名前のデータサーバが管理している「1234……67890」というデータIDをもつデータを指している。なお、図4の仮想URLのうちホスト名112とデータID114に挟まれた「get」は、データサーバ10が提供するメソッドの名前である。データサーバ10が管理するデータに対して複数種類の操作をクライアント30に認める場合、仮想URLにはその操作を示すメソッドを含めるようにする。逆に言えば、データサーバ10が単に要求されたデータをクライアント30に提供するだけであれば、このようなメソッドの記述は不要である。
【0017】
クライアント30(例えばウェブブラウザ)が、この仮想URL110を用いてデータ要求を行った場合、ホスト名112が示すサーバに対し、データID114を含んだデータ要求情報が送信されることになる。
【0018】
次に図5を参照して、データサーバ10がクライアント30からデータ要求情報を受け取ったときの処理手順を説明する。以下では、便宜上、データサーバ10−1の処理として説明するが、他のデータサーバもこれと同様の処理を行う。
【0019】
この手順において、まずデータサーバ10−1は、クライアント30からのデータ要求情報からデータIDを抽出し(S100)、データ管理部11−1からそのデータIDに対応する実データのリンク情報を検索する(S102)。そのデータIDに対応するリンク情報が検索できた場合(S104の判定結果が肯定(Y))、データサーバ10−1は、そのリンク情報が指し示すデータの実体をデータサーバ10−1内のデータ管理部11−1から取得し、クライアント30に提供する(S106)。
【0020】
一方、データIDに対応するリンク情報がなかった場合(S104の判定結果が否定(N))、データサーバ10−1は検出部12−1に、本システムを構成する他のデータサーバ10−2の検出を指示し、検出部12−1はこの指示に応じて他のデータサーバの検出を行う(S108)。検出部12−1による他のデータサーバ10−2の検出は、例えば、他サーバ検出用の所定のメッセージを検出部12−1からネットワーク20へブロードキャストすることで行うことができる。各データサーバ10の検出部12は、他サーバ検出用のメッセージを認識し、それに対して応答するためのプロトコルを有している。すなわち、他サーバ検出用メッセージを受け取った他のデータサーバ10−2の検出部12−2は、このプロトコルに従い、当該他のデータサーバ10−2のサーバID(識別情報)を含んだ応答を返す。サーバIDとしては、例えばIPアドレスや、ホスト名を用いることができる。他サーバ検出用のメッセージを発信した検出部12−1は、他のデータサーバ10−2からの応答を受け取り、その応答に含まれるサーバIDを取得する。これにより、本システムを構成する他のデータサーバ10−2を見つけることができる。
【0021】
他のデータサーバ10−2が見つかると、データサーバ10−1は、問合わせ部13−1に、見つけた他のデータサーバ10−2に対する問合わせを指示する。この指示に応じ、問合わせ部13−1は、クライアント30からのデータ要求に含まれるデータIDを含んだデータ問合わせをデータサーバ10−2に送り、そのデータIDに対応するデータを持っているか否かを問合わせる(S110)。この問合わせを受けたデータサーバ10−2は、そのデータIDに対応するデータを持っている場合には、そのデータをデータサーバ10−1に提供するが、問合わせを受けたデータサーバ10−2の問合わせ部13−2の動作については、後で詳しく説明する。
【0022】
この問合わせの結果、問合わせ先の他のデータサーバ10−2が当該データを持っていないことが判明した場合は(S112の判定結果が否定(N))、他のデータサーバの検出(S108)及びそれに対する問合わせ(S110)を繰り返す。当該データを持つデータサーバ10が見つかるまで、ステップS108及びS110が繰り返される。
【0023】
なお、図5では、他のデータサーバをステップS108で1つ検出してはステップS110でそれに対して問合わせを行うという手順を示したが、これに限らず、例えばステップS108でブロードキャストにより検出可能なデータサーバ10を全て検出して記憶し、それら記憶した各データサーバ10に対しステップS110で順に問合わせを行うようにしてももちろんよい。
【0024】
実施形態では上述のように各データサーバ10が他のデータサーバ10を検出しているが、これは必須のことではない。例えば、データサーバ10−1が、本システムを構成する他のデータサーバのリストを予め保持しておき、そのリストに基づいて順に問合わせを行うようにしてもよい。
【0025】
問合わせ先の他のデータサーバ10−2が当該データを持っていることが判明した場合は(S112の判定結果が肯定(Y))、データサーバ10−2から要求対象データが提供されるため、データサーバ10−1はその要求対象データをクライアント30に転送する(S114)。
【0026】
次に、他のデータサーバから問合わせを受けたときのデータサーバの処理手順について、図6に示したフローチャートを用いて説明する。以下では、便宜上、データサーバ10−2の処理として説明するが、他のデータサーバもこれと同様の処理を行う。
【0027】
データサーバ10−2の問合わせ部13−2は、他のデータサーバ10−1の問合わせ部13−1からデータ問合わせを受けた場合、そのデータ問合わせの情報の中から対象データのデータIDを取り出し(S200)、そのデータIDに対応するリンク情報をデータ管理部11−2から検索する(S202)。この検索の結果、データ管理部11−2からそのデータIDに対応するリンク情報が検索できた場合(S204の判定結果が肯定(Y))、問合わせ部13−2は、問合わせ対象のデータを問合わせ元のデータサーバ10−1に返す(S208)。一方、検索できなかった場合(S204の判定結果が否定(N))、問合わせ部13−2は、問合わせ対象のデータが存在しない旨を示すメッセージを問合わせ元のデータサーバ10−1に返す(S206)。
【0028】
以上説明したようなデータ管理システムの動作を、図7,8を参照して説明する。
【0029】
図7に示すように、クライアント30からデータサーバ10−1に送ったデータ要求(1)の対象データがデータサーバ10−1に存在する場合は、その対象データがデータサーバ10−1からクライアント30に提供される(2)。
【0030】
一方、図8に示すように、クライアント30からデータサーバ10−1に送ったデータ要求(1)の対象データがデータサーバ10−1に存在しない場合は、検出部12−1が他のデータサーバ10−2を検出し(2)、このデータサーバ10−2に対してデータ問合わせを行う(3)。この問合わせにより、データサーバ10−2に要求対象データが存在することが判明すると、データサーバ10−2は、要求対象データをデータサーバ10−1に提供する(4)。データサーバ10−1は、データサーバ10−2から受け取った要求対象データをクライアント30に提供する(5)。
【0031】
以上、実施形態1によれば、クライアント30からデータ要求情報を受け取ったデータサーバ10−1が要求対象データを保持しておらず、他のデータサーバ10−2から要求対象データをクライアント30に提供する必要がある場合でも、その要求対象データは、データサーバ10−1を経由してクライアント30に提供される。これにより、例えば、データ要求元のデータサーバ10−1からのリダイレクトを受けて、クライアント30が他のデータサーバ10−2にアクセスして要求対象データを取得する場合のように、クライアント30に対して他のデータサーバ10−2の所在を示すURLやホスト名などの所在情報を通知する必要がなくなる。よって、実施形態1によれば、他のデータサーバ10−2の情報漏洩等に対するセキュリティの強化を図ることができる。
【0032】
なお、ここでリダイレクトとは、いわゆるHTTP(HyperText Transfer Protocol)リダイレクトの方式のことを示す。HTTPリダイレクトとは、WWW(World Wide Web)上でデータの送受信に使われるHTTPにおけるサーバからの応答の種類の一つで、クライアントが要求したアクセス際のURLが他のURLに変更されたことをクライアントに通知する機能のことをいう。
【0033】
よって、仮に、本システムにおいてHTTPリダイレクトを用いると、データサーバ10−1は、302(Found)等のリダイレクトを示すステータスコードと、リダイレクト先のURLを含んだLocationフィールドと、を含むリダイレクト情報をクライアント30に返すことになる。ここでリダイレクト情報に含まれるリダイレクト先のURLは、リダイレクト先のデータサーバ10−2のサーバIDと要求対象データのデータ識別情報とを含んだ上述の仮想URLである。つまり、データサーバ10からクライアント30に対してリダイレクトが行われると、クライアント30には、リダイレクト先のデータサーバ10−2のURLやサーバID等の所在情報が通知されることになる。しかし、例えば、データサーバ10−2が特定のユーザのみしか開示したくないサーバである場合、不用意にそのサーバの所在情報をクライアント30に通知すると、情報漏洩などのセキュリティ上の問題が生じる場合がある。
【0034】
一方、実施形態1によれば、クライアント30がデータサーバ10−2から提供されるデータをデータサーバ10−1を経由して取得するため、データサーバ10−2の所在情報を開示する必要がない。よって、データサーバ10−2が特定のユーザのみしか開示したくないサーバである場合に、不用意にそのサーバの所在情報をクライアント30に提供しなくて済むため、情報漏洩などのセキュリティ上の問題を未然に防ぐことができる。
【0035】
続いて、本発明の第2の実施の形態(以下、実施形態2とする)について、以下図面を用いて説明する。
【0036】
実施形態1では、クライアント30からデータ要求情報を受け取ったデータサーバ10−1が要求対象データを保持しておらず、他のデータサーバ10−2から要求対象データをクライアント30に提供する場合、すべてのデータをデータサーバ10−1経由でクライアントに提供する例について説明した。しかし、すべてのデータをデータサーバ10−1経由にすると、クライアント30からデータ要求情報を受け取ったデータサーバ10−1の処理負担が増大し、処理時間の増大等の新たな問題が生じるおそれがある。そこで、実施形態2では、クライアント30に所在情報を開示したくないデータサーバの場合に、データ要求情報を受け取ったデータサーバ10−1を経由して、要求対象データをクライアント30に提供する。そして、クライアント30に所在情報を開示してもよいデータサーバの場合には、リダイレクト方式により、他のデータサーバからクライアント30に直接データを提供する。
【0037】
実施形態2では、クライアント30に所在情報を開示することを許可するか否かの判断に、クライアント30を操作するユーザに予め定められたユーザアクセスレベルと、データに予め定められたデータアクセスレベルとを比較することで行う。詳しく後ほど説明する。
【0038】
実施形態2に係るデータ管理システムの概略構成は、実施形態1と同様でよく、図1に示す通りである。
【0039】
図9は、データサーバ10の機能ブロックを示す図である。図9において、図2に示した機能ブロックと同一部分には同一符号を付してある。実施形態2において、データ管理部11は、クライアント30に提供することができる複数のデータと、各データを識別するためのデータIDと、データの機密度合いの指標を示すデータアクセスレベルとを対応付けて記憶する。図10にデータ管理部11が管理する各データの管理情報のデータ構造を示す。図10に示す通り、データ管理部11は、データID102およびリンク情報104の他に、そのデータのデータアクセスレベル106をそれぞれ対応付けて管理する。ここでデータアクセスレベル106は、段階的に定義された値であり、値が大きいほどそのデータの機密度合いが増し、データの公開が制限される。
【0040】
ユーザ情報管理部14は、データサーバ10にクライアント30を介してアクセスするユーザのユーザIDに対するユーザアクセスレベルを管理する。図11にユーザ情報管理部14が管理する各ユーザIDの管理情報のデータ構造を示す。図11に示す通り、ユーザ情報管理部14は、ユーザID132と、そのユーザIDのデータ管理システム上におけるアクセス権の範囲を定めるユーザアクセスレベル134とをそれぞれ対応付けて管理する。ここでユーザアクセスレベル134は、段階的に定義された値であり、値が大きいほどそのユーザIDに対するアクセス権の権利範囲が広がり、データ管理システム上での操作範囲が広がる。
【0041】
また、リダイレクト判定部15は、他のデータサーバの問合わせ部からの問合わせに対して、要求対象データをデータ管理部から検索できた場合に、リダイレクトによりそのデータをデータ要求元のクライアントに提供するか、リダイレクトせずに、他のデータサーバを経由してそのデータをデータ要求元のクライアント30に提供するかのリダイレクト許可判定を行う手段である。より具体的にはリダイレクト判定部15は、クライアント30を操作するユーザに対し予め定められたユーザアクセスレベルと、要求対象データに対し予め定められたデータアクセスレベルとを比較し、ユーザアクセスレベルの値がデータアクセスレベルの値以上の場合は、クライアント30に所在情報を開示することを許可すると判断し、クライアント30へのリダイレクトを許可すると判定する。一方、ユーザアクセスレベルの値がデータアクセスレベルの値より小さい場合は、クライアント30に所在情報を開示することを許可しないと判断し、クライアント30へのリダイレクトを許可しないと判定する。
【0042】
次に図12を参照して、データサーバ10がクライアント30からデータ要求情報を受け取ったときの処理手順を説明する。なお、図5と同様の処理手順については同一符号を付し説明を省略し、以下、処理手順の異なるS314〜S318を中心に説明する。便宜上、データサーバ10−1の処理として説明するが、他のデータサーバもこれと同様の処理を行う。
【0043】
図12において、問合わせ先の他のデータサーバ10−2が当該データを持っていることが判明し(S112の判定結果が肯定(Y))、データサーバ10−2からの回答として、該当データが提供された場合は(S314の判定結果が肯定(Y))、そのデータをクライアント30に提供する(S316)。一方、データサーバ10−2からの回答として、リダイレクト情報が提供された場合は(S314の判定結果が肯定(N))、データサーバ10−1は、データサーバ10−2のサーバIDを含むリダイレクト情報をクライアント30に提供する(S318)。このリダイレクト情報の提供は、上記の通り、HPPTリダイレクトの方式に従って行うことができる。
【0044】
このリダイレクト情報を受けたクライアント30は、HTTPに従って、リダイレクト情報中にサーバIDが示すデータサーバ10−2に対して、同じくリダイレクト情報中のデータ識別情報を含んだデータ要求を送る。
【0045】
次に、他のデータサーバから問合わせを受けたときのデータサーバの処理手順について、図13に示すフローチャートを用いて説明する。以下では、便宜上、データサーバ10−2の処理として説明するが、他のデータサーバもこれと同様の処理を行う。また、図13において、S400〜S406については、図6におけるS200〜S206と同様な処理手順のため説明を省略し、データサーバ10−2が要求対象データを保有している場合(S404の判定結果が肯定(Y))における処理手順について説明する。
【0046】
要求対象データを保有している場合、データサーバ10−2は、データサーバ10−1から送られたデータ問合わせの情報の中から判定情報を取り出し、判定情報に基づいてリダイレクトを許可するか否かの判定を行う(S408)。ここで、判定情報とは、クライアント30にデータサーバ10−2の所在情報を開示することを許可するか否かの判断基準として用いる情報であり、実施形態2では、クライアント30を操作するユーザのユーザIDのユーザアクセスレベルを示す。データサーバ10−2は、要求対象データのデータアクセスレベルをデータ管理部11−2が管理する管理情報から取り出して、そのデータアクセスレベルと判定情報として示されているユーザアクセスレベルとを比較する。そして、ユーザアクセスレベルの値がデータアクセスレベルの値以上の場合は、クライアント30に所在情報を開示することを許可すると判断し、クライアント30へのリダイレクトを許可すると判定する。一方、ユーザアクセスレベルの値がデータアクセスレベルの値より小さい場合は、クライアント30に所在情報を開示することを許可しないと判断し、クライアント30へのリダイレクトを許可しないと判定する。
【0047】
次いで、判定の結果、リダイレクトを許可すると判定した場合(S410の判定結果が肯定(Y))、データサーバ10−2は、リダイレクト情報を問合わせ元のデータサーバ10−1に提供する(S412)。一方、判定の結果、リダイレクトを許可しないと判定した場合(S410の判定結果が肯定(N))、データ管理部11−2から取り出した要求対象データをデータサーバ10−1に提供する(S414)。
【0048】
以上説明したようなデータ管理システムの動作を、図14,15を参照して説明する。
【0049】
図14に示すように、クライアント30からデータサーバ10−1に送ったデータ要求(1)の対象データがデータサーバ10−1に存在しない場合は、検出部12−1が他のデータサーバ10−2を検出し(2)、このデータ問合わせを行う(3)。この問合わせにより、データサーバ10−2に要求対象データが存在することが判明すると、リダイレクト判定部15−2がリダイレクトの許可判定を行い、判定の結果、リダイレクトを許可すると判定した場合は(4)、データサーバ10−2は、リダイレクト情報をデータサーバ10−1に提供する(5)。データサーバ10−1は、そのリダイレクト情報に基づいて、クライアント30にデータ要求の応答として、リダイレクト情報に含まれるデータサーバ10−2のサーバIDを通知することで、リダイレクトし(6)、データサーバ10−2は、要求対象データをクライアント30に提供する(7)。
【0050】
また、図15に示すように、クライアント30からデータサーバ10−1に送ったデータ要求の対象データがデータサーバ10−1に存在しない場合であって、データサーバ10−2のリダイレクト判定部15−2がリダイレクトを許可しなかった場合(4)、データサーバ10−2は、データ管理部11−2から取り出した要求対象データをデータサーバ10−1に提供する(5)。データサーバ10−1は、クライアント30にデータ要求の応答として、その要求対象データをクライアント30に提供する(6)。
【0051】
以上説明したように、実施形態2では、判定情報に基づいて、クライアントにデータサーバの所在情報を開示するか否かを判定することで、リダイレクトを許可するか否かを判定する。そして、判定の結果、クライアントに所在情報を開示したくないデータサーバの場合には、データ要求情報を受け取ったデータサーバを経由してクライアントにデータを提供する。そして、クライアントに所在情報を開示してもよいデータサーバの場合には、リダイレクトにより、他のデータサーバからクライアントに直接データを提供する。
【0052】
よって、実施形態2によれば、リダイレクト許可判定の結果に応じて、データ要求情報を受け取ったデータサーバを経由してクライアントにデータを提供するか否かが変更する。そのため、問合わせを受けたデータサーバが、問合わせを行ったデータサーバを経由させてすべてのデータをクライアントに提供する場合に比べて、問合わせを行ったデータサーバの処理負担が低減するため、処理時間の増大等の新たな問題の発生を防ぐことができる。
【0053】
ここで、図16A〜図16Cを用いてさらに実施形態2に係るデータ管理システムの動作について説明する。図16A〜図16Cでは、社内の決裁処理を例にしており、未決裁文書を管理する未決裁文書管理サーバ10Aの所在情報は、一般社員クライアント30A(ユーザアクセスレベル:3)および管理者クライアント30B(ユーザアクセスレベル:5)に開示してよく、決裁済文書を管理する決裁済文書管理サーバ10Bの所在情報は、管理者クライアント30Bのみ開示してもよい場合を想定している。
【0054】
まず、図16Aに示すように、一般社員クライアント30Aが、未決裁文書管理サーバ10A上において、ある案件に対する決裁を取るために、未決裁文書40A(アクセスレベル:2)を作成する(1)。その後、未決裁文書管理サーバ10Aに保持された文書40AのデータIDを含む仮想URLが、一般社員クライアント30Aまたは未決裁文書管理サーバ10Aから、管理者クライアント30Bやその他のクライアント(一般社員クライアント30Aを含んでも良い)に対し、電子メールなどの手段で通知される。この通知を受け取った各クライアントは、この仮想URLを用いてその文書40Aにアクセスすることができる。管理者クライアント30Bは、通知された仮想URLに基づいて未決裁文書管理サーバ10Aにアクセスし、その文書に対する決裁を行う(2)。未決裁文書管理サーバ10Aは、管理者クライアント30Bに承認された未決裁文書40Aを、決裁済文書40B(アクセスレベル:4)として、その文書を決裁済文書管理サーバ10Bに転送する(3)。なお、文書のアクセスレベルの変更は、未決裁文書管理サーバ10Aが行ってもよいし、決裁済文書管理サーバ10Bが行ってもよい。
【0055】
続いて、図16Bに示すように、一般社員クライアント30Aが、上記仮想URLに基づいて、決裁済文書40Bの閲覧を未決裁文書管理サーバ10Aに要求すると(1)、未決裁文書管理サーバ10Aは、決裁済文書40Bを保持していないため、決裁済文書管理サーバ10Bを検出し(2)、決裁済文書40Bを保持するかどうかのデータ問合わせを行う(3)。決裁済文書管理サーバ10Bは、決裁済文書40Bを検索した後、一般社員クライアント30Aを操作するユーザのユーザアクセスレベル[3]と、決裁済文書40Bのデータアクセスレベル[4]とを比較し、リダイレクトを許可しないと判定する(4)。判定の結果を受けて、決裁済文書管理サーバ10Bは、データ問合わせの返答として、決裁済文書40Bを未決裁文書管理サーバ10Aに提供し(5)、未決裁文書管理サーバ10Aは、その決裁済文書40Bを、一般社員クライアント30Aに提供する(6)。
【0056】
これにより、一般社員クライアント30Aに所在を開示してもよい未決裁文書管理サーバ10Aを経由して、決裁済文書40Bが一般社員クライアント30Aに提供されるため、一般社員クライアント30Aに決裁済文書管理サーバ10Bの所在を開示しなくて済む。
【0057】
一方、図16Cに示すように、管理者クライアント30Bが、上記仮想URLに基づいて、決裁済文書40Bの閲覧を未決裁文書管理サーバ10Aに要求すると(1)、未決裁文書管理サーバ10Aは、決裁済文書40Bを保持していないため、決裁済文書管理サーバ10Bを検出し(2)、決裁済文書40Bを保持するかどうかのデータ問合わせを行う(3)。決裁済文書管理サーバ10Bは、決裁済文書40Bを検索した後、管理者クライアント30Bを操作するユーザのユーザアクセスレベル[5]と、決裁済文書40Bのデータアクセスレベル[4]とを比較し、リダイレクトを許可すると判定する(4)。判定の結果を受けて、決裁済文書管理サーバ10Bは、リダイレクト情報を未決裁文書管理サーバ10Aに提供する(5)。未決裁文書管理サーバ10Aは、そのリダイレクト情報に基づいて、管理者クライアント30Bにデータ要求の応答として、リダイレクト情報に含まれる決裁済文書管理サーバ10BのサーバIDを通知することで、リダイレクトし(6)、決裁済文書管理サーバ10Bは、要求対象データを管理者クライアント30Bに提供する(7)。
【0058】
このように、管理者クライアント30Bには、決裁済文書の管理を行う決裁済文書管理サーバ10Bの所在を開示しても構わないため、リダイレクトにより、管理者クライアント30Bは、決裁済文書管理サーバ10Bに直接アクセスして、決裁済文書40Bを取得することができる。
【0059】
続いて、本発明の第3の実施の形態(以下、実施形態3とする)について、以下図面を用いて説明する。以下では、便宜上、クライアント30からデータ要求を受け取るデータサーバを、データサーバ10−1とし、データサーバ10−1からデータ問合わせを受け取るデータサーバを、データサーバ10−2として説明するが、各データサーバはそれぞれ同様の処理を行う。
【0060】
実施形態3では、ユーザアクセスレベルやデータアクセスレベルの値に拘わらず、データ要求を行った場合に、リダイレクトを許可するもしくは許可しないユーザアカウントを特権ユーザとして予め定めておく。さらに、データ問合わせを行った場合に、リダイレクトを許可するもしくは許可しないデータサーバも特権サーバとして予め定めておく。
【0061】
例えば、データサーバ10−2がデータ問合わせを受け取った場合、まず、データサーバ10−2のリダイレクト判定部15―2は、ユーザアクセルレベルやデータアクセスレベルの値によらず、データ要求元のユーザアカウントやデータ問合わせ元のデータサーバに対して割り当てられた特権に基づいて、リダイレクトを許可するか否かの判定を行う。その後、これらの特権に基づいてリダイレクトの許可判定ができない場合に、リダイレクト判定部15―2は、ユーザアカウント、データおよびデータサーバごとに定められた各アクセスレベルに基づいて、リダイレクトを許可するか否かの判定を行う。
【0062】
図17は、実施形態3に係るデータサーバ10の機能ブロックを示す図である。図17において、図9に示した機能ブロックと同一部分には同一符号を付してある。
【0063】
特権情報管理部16は、データサーバ10が、データ要求元となる特定のユーザアカウントやデータ問合わせ元となる特定のデータサーバに対して個別に定められた特権情報を管理する。また、サーバ情報管理部17は、データ管理システム上におけるデータサーバ10の機密度合いの値を示すサーバアクセスレベルなど、データサーバ10の属性情報を管理する。
【0064】
このように構成されたデータサーバ10において、リダイレクト判定部15は、データ問合わせに対する要求対象データが存在する場合、まず特権情報に基づいて、その要求対象データについてリダイレクトを許可するか否かを判定する。リダイレクト判定部15は、その特権情報に基づいてリダイレクト許可判定ができない場合、クライアント30を操作するユーザに予め定められたユーザアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。
【0065】
さらに、リダイレクト判定部15は、サーバ情報管理部17を参照することで得られるデータサーバ10自身のサーバアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。それぞれの比較の結果、ユーザアクセスレベルの値がデータアクセスレベルの値以上で、かつ、サーバアクセスレベルの値がデータアクセスレベルの値以上の場合は、クライアント30へのリダイレクトを許可すると判定する。一方、比較結果が上記条件を満たさない場合は、クライアント30へのリダイレクトを許可しないと判定する。
【0066】
ここでデータサーバ10の特権情報管理部16は、図18Aに示すような特権テーブル140を管理する。例えばデータサーバ10−2がデータサーバ10−1からデータ問合わせを受け取った場合、リダイレクト判定部15−2は、図18Aに示す特権テーブル140を参照することで、データサーバ10−1がリダイレクトを許可するデータサーバであることを確認する。そして、確認の結果、リダイレクト判定部15−2は、データ要求元のユーザアカウントのユーザアクセルレベルや要求対象データのデータアクセスレベルの値によらず、データサーバ10−1からのすべてのデータ問合わせに対してリダイレクトを許可すると判定する。一方、そのデータ問合わせに対するデータ要求を行ったユーザのユーザアカウントがユーザEの場合、リダイレクト判定部15−2は特権テーブルを参照することで、ユーザEがリダイレクトを許可しないユーザアカウントであることを確認する。そして、確認の結果、リダイレクト判定部15−2は、ユーザEのユーザアクセルレベルや要求対象データのデータアクセスレベルの値によらず、ユーザEへのリダイレクトをすべて許可しないと判定する。
【0067】
また、特権情報管理部16は、各データに対して個別に定められた特権テーブルも併せて管理する。図18Bは、データサーバ10−2が管理するデータXおよびデータYに対する特権テーブル142,144を示す。例えば、データXを要求するユーザアカウントがユーザCの場合、リダイレクト判定部15−2は、図18Bに示す特権テーブル142を参照することで、ユーザCのユーザアクセスレベルやデータXのデータアクセスレベルの値によらず、リダイレクトを許可すると判定する。一方、データXを要求するユーザアカウントがユーザNやユーザZの場合、リダイレクト判定部15−2は、ユーザNやユーザZのユーザアクセスレベルやデータXのデータアクセスレベルの値によらず、リダイレクトを許可しないと判定する。リダイレクト判定部15−2は、データYについてもデータXと同様にリダイレクト判定を行う。
【0068】
データサーバ10がクライアント30からデータ要求情報を受け取ったときの処理手順は、実施形態2におけるデータ管理システムと同様なため説明を省略する。また、他のデータサーバから問合わせを受けたときのデータサーバの処理手順については、図13におけるS408でのリダイレクト許可判定の手順以外は、実施形態2と同様でよい。そこで、ここでは図19に示すフローチャートを用いて、リダイレクト判定部15におけるリダイレクト許可判定の手順を中心に、他のデータサーバ(データサーバ10−1)から問合わせを受けたときのデータサーバ(データサーバ10−2)の処理手順について説明する。
【0069】
リダイレクト判定部15−2は、データサーバ10−1から受け取ったデータ問合わせに対応する要求対象データを検索できた場合、まず、サーバ特権テーブルに基づいてリダイレクトの許可判定を行う(S500)。より具体的には、リダイレクト判定部15−2は、特権情報管理部16に記憶されたサーバ特権テーブルを参照して、データ問合わせ元のデータサーバもしくはデータ要求元のユーザアカウントが登録されているか否かを確認し、登録されている場合には、そのデータサーバもしくはユーザアカウントに対するリダイレクトを許可するか許可しないかを確認する。
【0070】
確認の結果、サーバ特権テーブルに問合わせ元のデータサーバもしくはデータ要求元のユーザアカウントが登録されており、リダイレクト許可判定が完了した場合には(S502での判定結果が肯定(Y))、リダイレクト許可判定を終了する。
【0071】
一方、S500において、リダイレクト許可判定が完了しなかった場合には(S502での判定結果が否定(N))、リダイレクト判定部15−2は、続いて、データ特権テーブルに基づいてリダイレクト許可判定を行う(S504)。より具体的には、リダイレクト判定部15−2は、特権情報管理部16に記憶されたデータ特権テーブル群の中から、要求対象データに対応するデータ特権テーブルを検索する。そして、リダイレクト判定部15−2は、検索したデータ特権テーブルを参照して、データ要求元のユーザアカウントが登録されているか否かを確認し、登録されている場合には、そのユーザアカウントに対してリダイレクトを許可するか不許可しないかを確認する。なお、S500とS504との判定は、順番を逆に行ってもよい。つまり、データ特権テーブルに基づいてリダイレクト許可判定を行った後、サーバ特権テーブルに基づいてリダイレクト許可判定を行っても構わない。
【0072】
確認の結果、データ特権テーブルにデータ要求元のユーザアカウントが登録されており、リダイレクト許可判定が完了した場合には(S506での判定結果が肯定(Y))、リダイレクト許可判定を終了する。
【0073】
一方、S504において、リダイレクト許可判定が完了しなかった場合には(S506での判定結果が否定(N))、リダイレクト判定部15−2はさらに、各アクセスレベルを比較することでリダイレクトの許可判定を行う(S508)。より具体的には、リダイレクト判定部15−2は、クライアント30を操作するユーザに予め定められたユーザアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。また、リダイレクト判定部15−2は、サーバ情報管理部17を参照することで得られるデータサーバ10−2自身のサーバアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。そして、それぞれの比較の結果、ユーザアクセスレベルの値がデータアクセスレベルの値以上で、かつ、データアクセスレベルの値がサーバアクセスレベルの値以上の場合は、クライアント30へのリダイレクトを許可すると判定する。一方、比較結果がそれ以外の場合は、クライアント30へのリダイレクトを許可しないと判定する。
【0074】
以上のように、リダイレクト判定部15−2がリダイレクトの許可判定を行い、判定の結果、リダイレクトを許可すると判定した場合、データサーバ10−2は、リダイレクト情報を問合わせ元のデータサーバ10−1に提供する。一方、判定の結果、リダイレクトを許可しないと判定した場合、データサーバ10−2は、データ管理部11−2から取り出した要求対象データをデータサーバ10−1に提供する。
【0075】
以上、実施形態3によれば、リダイレクト判定部15が、まずデータ要求元のユーザアカウントのユーザアクセルレベルや要求対象データのデータアクセスレベルの値によらず、ユーザアカウントやデータサーバに対して割り当てられた特権に基づいて、リダイレクトを許可もしくは不許可の判定を行う。これにより、特権情報管理部16に所望のデータサーバもしくはユーザアカウントに対するリダイレクトの可否を登録しておくだけで、ある特定のデータサーバからのデータ問合わせや、ある特定のユーザアカウントからのデータ要求の場合には、ユーザアクセスレベルやデータアクセスレベルによらずに無条件で、リダイレクトを許可もしくは許可しないという設定をすることができる。例えば、ユーザアクセスレベルやデータアクセスレベルを考慮せずにあるユーザアカウントに対して特定の期間だけ、あるデータサーバが管理するすべてのデータに対して、リダイレクトを許可するもしくは許可しないとする場合は、そのユーザアカウントに対するリダイレクトの可否を特権情報管理部16に登録するだけでよく、リダイレクトの可否の設定が容易になる。
【0076】
なお、上記実施形態では、データ、ユーザ、サーバの各アクセスレベルや、特権情報を各データサーバ10においてそれぞれ保持する例を説明した。しかし、ネットワーク20上にそれらの情報を保持する別のサーバを用意しておき、その都度各データサーバ10がそのサーバに対して問合わせを行って、必要な情報を取得しても構わない。
【図面の簡単な説明】
【0077】
【図1】実施形態1〜3に係るデータ管理システムの概略構成を示す図である。
【図2】実施形態1に係るデータサーバの機能ブロックを示す図である。
【図3】実施形態2において、データ管理部が管理するデータの管理情報のデータ構造を示す図である。
【図4】仮想URLの一例を示す図である。
【図5】実施形態1において、データサーバがクライアントからデータ要求情報を受け取ったときの処理手順を示すフローチャート図である。
【図6】実施形態1において、他のデータサーバから問合わせを受けたときのデータサーバの処理手順を示すフローチャート図である。
【図7】実施形態1に係るデータ管理システムの動作を説明するための図である。
【図8】実施形態1に係るデータ管理システムの動作を説明するための図である。
【図9】実施形態2に係るデータサーバの機能ブロックを示す図である。
【図10】実施形態2〜3において、データ管理部が管理するデータの管理情報のデータ構造を示す図である。
【図11】実施形態2〜3において、ユーザ情報管理部が管理するユーザ情報のデータ構造を示す図である。
【図12】実施形態2において、データサーバがクライアントからデータ要求情報を受け取ったときの処理手順を示すフローチャート図である。
【図13】実施形態2において、他のデータサーバから問合わせを受けたときのデータサーバの処理手順を示すフローチャート図である。
【図14】実施形態2に係るデータ管理システムの動作を説明するための図である。
【図15】実施形態2に係るデータ管理システムの動作を説明するための図である。
【図16A】実施形態2に係るデータ管理システムの動作を、社内の決裁処理を例にして、説明するための図である。
【図16B】実施形態2に係るデータ管理システムの動作を、社内の決裁処理を例にして、説明するための図である。
【図16C】実施形態2に係るデータ管理システムの動作を、社内の決裁処理を例にして、説明するための図である。
【図17】実施形態3に係るデータサーバの機能ブロックを示す図である。
【図18A】実施形態3において、データサーバが保持する特権テーブルの一例を示す図である。
【図18B】実施形態3において、データサーバが保持する特権テーブルの一例を示す図である。
【図19】実施形態3において、他のデータサーバから問合わせを受けたときのデータサーバがリダイレクト許可判定を行う際の処理手順を示すフローチャート図である。
【符号の説明】
【0078】
10 データサーバ、11 データ管理部、12 検出部、13 問合わせ部、14 ユーザ情報管理部、15 リダイレクト判定部、16 特権情報管理部、17 サーバ情報管理部、20 ネットワーク、30 クライアント。
【技術分野】
【0001】
本発明は、ネットワークに接続された複数のデータサーバから構成されるデータ管理システムに関する。
【背景技術】
【0002】
この分野の従来の技術として、特許文献1に記載の技術がある。特許文献1では、サーバが、管理する各コンテンツに識別子を付与し、クライアントから検索要求があった場合、その要求に合致するコンテンツの識別子を含んだ仮想URLをクライアントに提供する。このサーバは、仮想URLを用いてクライアントからアクセスがあると、その仮想URLに含まれる識別子を蓄積システムに渡し、蓄積システムはその識別子に対応するコンテンツをキャッシュメモリにコピーし、キャッシュメモリ上のコンテンツのコピーのアドレスをサーバに返す。これにより、サーバはそのキャッシュメモリ上のコンテンツをユーザに提供することができる。
【0003】
また、クライアントが検索要求したサーバが管理するコンテンツ群の中に所望のコンテンツが存在しなくても、他のサーバが管理するコンテンツ群にそのコンテンツが存在する場合、クライアントに対して他のサーバへのリダイレクトを実行することで、クライアントに対して他のサーバに所望のコンテンツが存在することを通知して、所望のコンテンツをクライアントに取得させる技術が、例えば、特許文献2に開示されている。
【0004】
このように、クライアントに対して他のサーバへのリダイレクトを実行すると、URLなど他のサーバの所在情報をクライアントに対して通知することになる。
【0005】
しかしながら、セキュリティ等の観点から、そのような所在情報をクライアントに対して通知しないほうが望ましい場合がある。
【0006】
【特許文献1】特開平11−3265号公報
【特許文献2】特開2004−86510号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
クライアントが所望のデータの検索要求をしたサーバとは異なる他のサーバ上に所望のデータが存在する時に、たとえ他のサーバの所在情報の通知がなくても、クライアントが他のサーバからそのデータの提供を受けることができるデータ管理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、ネットワークを介して接続された他のデータサーバと連携してデータ管理システムを構成するデータサーバとして、コンピュータを動作させるためのプログラムであって、クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部から検索し、該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するように、前記コンピュータを動作させるためのプログラムを提供する。
【0009】
本発明によれば、クライアントが要求対象データの検索要求をしたデータサーバとは異なる他のデータサーバ上に要求対象データが存在する場合でも、クライアントからデータ要求を受けたデータサーバを経由して、その要求対象データがクライアントに提供されるため、たとえ実際に要求対象データを保持するデータサーバの所在情報が通知されなくても、クライアントは、要求対象データの提供を受けることができる。
【0010】
また、本発明は、前記他のデータサーバからのデータ問合わせに含まれる判定情報に基づいて自身の所在情報を前記クライアントに通知するかどうかの判定を行い、前記クライアントに自身の所在情報を通知すると判定した場合、前記所在情報を含むリダイレクト情報を前記データ問合わせに対する返答として前記他のデータサーバに提供し、前記クライアントに自身の所在情報を通知しないと判定した場合、前記検索した要求対象データを前記データ問合わせに対する返答として前記他のデータサーバに提供するように、前記コンピュータを動作させるためのプログラムを提供する。
【0011】
本発明によれば、前記他のデータサーバからのデータ問合わせに返答をする前に、そのデータ問合わせに含まれる判定情報に基づいて自身の所在情報を前記クライアントに通知するかどうかの判定を行い、判定結果に応じて、リダイレクト情報もしくは要求対象データを前記他のデータサーバに提供する。これにより、すべての要求対象データが、クライアントからデータ要求を受けたデータサーバを経由されずに済むため、データ要求を受けたデータサーバの処理負担を低減することができる。
【発明を実施するための最良の形態】
【0012】
本発明を実施するための最良の形態として、第1の実施の形態(以下、実施形態1とする)について、以下図面を用いて説明する。
【0013】
図1は、実施形態1におけるデータ管理システムの概略構成を示す図である。図1に示すように、本システムは、LAN(ローカル・エリア・ネットワーク)やインターネットなどのネットワーク20に接続された複数のデータサーバ10−1,10−2,...(以下では、区別の必要ない場合は「データサーバ10」と総称する。データサーバ10内のモジュールについても同様)を含む。本システムでは、ネットワーク20上のクライアント30からのデータ要求に応じて、各データサーバ10が要求対象のデータをクライアント30に提供する。
【0014】
図2は、データサーバ10の機能ブロックを示す図である。図2において、データ管理部11は、クライアント30に提供することができる複数のデータと、各データを識別するためのデータID(識別情報)とを対応付けて記憶する。図3にデータ管理部11が管理する各データの管理情報のデータ構造を示す。図3に示す通り、データ管理部11は、登録された各データにつき、そのデータのデータID101とデータサーバ10内でそのデータを指し示すリンク情報(例えばそのデータのパス名)103とを対応付けて管理する。
【0015】
検出部12は、ネットワーク20上に存在する他のデータサーバ10を検出する手段である。さらに、問合わせ部13は、クライアント30から要求されたデータを有しているか否かを、他のデータサーバ10に対して問合わせる手段である。また問合わせ部13は、他のデータサーバ10の問合わせ部13からの問合わせに対して回答する機能も備える。
【0016】
実施形態1では、クライアント30は、本システムに対してデータを要求する場合、図4に示すように、データを管理するデータサーバ10のホスト名112と、そのデータのデータID114とを含む仮想URLを用いてデータを指定する。この仮想URLは、「xxx.fx.co.jp」という名前のデータサーバが管理している「1234……67890」というデータIDをもつデータを指している。なお、図4の仮想URLのうちホスト名112とデータID114に挟まれた「get」は、データサーバ10が提供するメソッドの名前である。データサーバ10が管理するデータに対して複数種類の操作をクライアント30に認める場合、仮想URLにはその操作を示すメソッドを含めるようにする。逆に言えば、データサーバ10が単に要求されたデータをクライアント30に提供するだけであれば、このようなメソッドの記述は不要である。
【0017】
クライアント30(例えばウェブブラウザ)が、この仮想URL110を用いてデータ要求を行った場合、ホスト名112が示すサーバに対し、データID114を含んだデータ要求情報が送信されることになる。
【0018】
次に図5を参照して、データサーバ10がクライアント30からデータ要求情報を受け取ったときの処理手順を説明する。以下では、便宜上、データサーバ10−1の処理として説明するが、他のデータサーバもこれと同様の処理を行う。
【0019】
この手順において、まずデータサーバ10−1は、クライアント30からのデータ要求情報からデータIDを抽出し(S100)、データ管理部11−1からそのデータIDに対応する実データのリンク情報を検索する(S102)。そのデータIDに対応するリンク情報が検索できた場合(S104の判定結果が肯定(Y))、データサーバ10−1は、そのリンク情報が指し示すデータの実体をデータサーバ10−1内のデータ管理部11−1から取得し、クライアント30に提供する(S106)。
【0020】
一方、データIDに対応するリンク情報がなかった場合(S104の判定結果が否定(N))、データサーバ10−1は検出部12−1に、本システムを構成する他のデータサーバ10−2の検出を指示し、検出部12−1はこの指示に応じて他のデータサーバの検出を行う(S108)。検出部12−1による他のデータサーバ10−2の検出は、例えば、他サーバ検出用の所定のメッセージを検出部12−1からネットワーク20へブロードキャストすることで行うことができる。各データサーバ10の検出部12は、他サーバ検出用のメッセージを認識し、それに対して応答するためのプロトコルを有している。すなわち、他サーバ検出用メッセージを受け取った他のデータサーバ10−2の検出部12−2は、このプロトコルに従い、当該他のデータサーバ10−2のサーバID(識別情報)を含んだ応答を返す。サーバIDとしては、例えばIPアドレスや、ホスト名を用いることができる。他サーバ検出用のメッセージを発信した検出部12−1は、他のデータサーバ10−2からの応答を受け取り、その応答に含まれるサーバIDを取得する。これにより、本システムを構成する他のデータサーバ10−2を見つけることができる。
【0021】
他のデータサーバ10−2が見つかると、データサーバ10−1は、問合わせ部13−1に、見つけた他のデータサーバ10−2に対する問合わせを指示する。この指示に応じ、問合わせ部13−1は、クライアント30からのデータ要求に含まれるデータIDを含んだデータ問合わせをデータサーバ10−2に送り、そのデータIDに対応するデータを持っているか否かを問合わせる(S110)。この問合わせを受けたデータサーバ10−2は、そのデータIDに対応するデータを持っている場合には、そのデータをデータサーバ10−1に提供するが、問合わせを受けたデータサーバ10−2の問合わせ部13−2の動作については、後で詳しく説明する。
【0022】
この問合わせの結果、問合わせ先の他のデータサーバ10−2が当該データを持っていないことが判明した場合は(S112の判定結果が否定(N))、他のデータサーバの検出(S108)及びそれに対する問合わせ(S110)を繰り返す。当該データを持つデータサーバ10が見つかるまで、ステップS108及びS110が繰り返される。
【0023】
なお、図5では、他のデータサーバをステップS108で1つ検出してはステップS110でそれに対して問合わせを行うという手順を示したが、これに限らず、例えばステップS108でブロードキャストにより検出可能なデータサーバ10を全て検出して記憶し、それら記憶した各データサーバ10に対しステップS110で順に問合わせを行うようにしてももちろんよい。
【0024】
実施形態では上述のように各データサーバ10が他のデータサーバ10を検出しているが、これは必須のことではない。例えば、データサーバ10−1が、本システムを構成する他のデータサーバのリストを予め保持しておき、そのリストに基づいて順に問合わせを行うようにしてもよい。
【0025】
問合わせ先の他のデータサーバ10−2が当該データを持っていることが判明した場合は(S112の判定結果が肯定(Y))、データサーバ10−2から要求対象データが提供されるため、データサーバ10−1はその要求対象データをクライアント30に転送する(S114)。
【0026】
次に、他のデータサーバから問合わせを受けたときのデータサーバの処理手順について、図6に示したフローチャートを用いて説明する。以下では、便宜上、データサーバ10−2の処理として説明するが、他のデータサーバもこれと同様の処理を行う。
【0027】
データサーバ10−2の問合わせ部13−2は、他のデータサーバ10−1の問合わせ部13−1からデータ問合わせを受けた場合、そのデータ問合わせの情報の中から対象データのデータIDを取り出し(S200)、そのデータIDに対応するリンク情報をデータ管理部11−2から検索する(S202)。この検索の結果、データ管理部11−2からそのデータIDに対応するリンク情報が検索できた場合(S204の判定結果が肯定(Y))、問合わせ部13−2は、問合わせ対象のデータを問合わせ元のデータサーバ10−1に返す(S208)。一方、検索できなかった場合(S204の判定結果が否定(N))、問合わせ部13−2は、問合わせ対象のデータが存在しない旨を示すメッセージを問合わせ元のデータサーバ10−1に返す(S206)。
【0028】
以上説明したようなデータ管理システムの動作を、図7,8を参照して説明する。
【0029】
図7に示すように、クライアント30からデータサーバ10−1に送ったデータ要求(1)の対象データがデータサーバ10−1に存在する場合は、その対象データがデータサーバ10−1からクライアント30に提供される(2)。
【0030】
一方、図8に示すように、クライアント30からデータサーバ10−1に送ったデータ要求(1)の対象データがデータサーバ10−1に存在しない場合は、検出部12−1が他のデータサーバ10−2を検出し(2)、このデータサーバ10−2に対してデータ問合わせを行う(3)。この問合わせにより、データサーバ10−2に要求対象データが存在することが判明すると、データサーバ10−2は、要求対象データをデータサーバ10−1に提供する(4)。データサーバ10−1は、データサーバ10−2から受け取った要求対象データをクライアント30に提供する(5)。
【0031】
以上、実施形態1によれば、クライアント30からデータ要求情報を受け取ったデータサーバ10−1が要求対象データを保持しておらず、他のデータサーバ10−2から要求対象データをクライアント30に提供する必要がある場合でも、その要求対象データは、データサーバ10−1を経由してクライアント30に提供される。これにより、例えば、データ要求元のデータサーバ10−1からのリダイレクトを受けて、クライアント30が他のデータサーバ10−2にアクセスして要求対象データを取得する場合のように、クライアント30に対して他のデータサーバ10−2の所在を示すURLやホスト名などの所在情報を通知する必要がなくなる。よって、実施形態1によれば、他のデータサーバ10−2の情報漏洩等に対するセキュリティの強化を図ることができる。
【0032】
なお、ここでリダイレクトとは、いわゆるHTTP(HyperText Transfer Protocol)リダイレクトの方式のことを示す。HTTPリダイレクトとは、WWW(World Wide Web)上でデータの送受信に使われるHTTPにおけるサーバからの応答の種類の一つで、クライアントが要求したアクセス際のURLが他のURLに変更されたことをクライアントに通知する機能のことをいう。
【0033】
よって、仮に、本システムにおいてHTTPリダイレクトを用いると、データサーバ10−1は、302(Found)等のリダイレクトを示すステータスコードと、リダイレクト先のURLを含んだLocationフィールドと、を含むリダイレクト情報をクライアント30に返すことになる。ここでリダイレクト情報に含まれるリダイレクト先のURLは、リダイレクト先のデータサーバ10−2のサーバIDと要求対象データのデータ識別情報とを含んだ上述の仮想URLである。つまり、データサーバ10からクライアント30に対してリダイレクトが行われると、クライアント30には、リダイレクト先のデータサーバ10−2のURLやサーバID等の所在情報が通知されることになる。しかし、例えば、データサーバ10−2が特定のユーザのみしか開示したくないサーバである場合、不用意にそのサーバの所在情報をクライアント30に通知すると、情報漏洩などのセキュリティ上の問題が生じる場合がある。
【0034】
一方、実施形態1によれば、クライアント30がデータサーバ10−2から提供されるデータをデータサーバ10−1を経由して取得するため、データサーバ10−2の所在情報を開示する必要がない。よって、データサーバ10−2が特定のユーザのみしか開示したくないサーバである場合に、不用意にそのサーバの所在情報をクライアント30に提供しなくて済むため、情報漏洩などのセキュリティ上の問題を未然に防ぐことができる。
【0035】
続いて、本発明の第2の実施の形態(以下、実施形態2とする)について、以下図面を用いて説明する。
【0036】
実施形態1では、クライアント30からデータ要求情報を受け取ったデータサーバ10−1が要求対象データを保持しておらず、他のデータサーバ10−2から要求対象データをクライアント30に提供する場合、すべてのデータをデータサーバ10−1経由でクライアントに提供する例について説明した。しかし、すべてのデータをデータサーバ10−1経由にすると、クライアント30からデータ要求情報を受け取ったデータサーバ10−1の処理負担が増大し、処理時間の増大等の新たな問題が生じるおそれがある。そこで、実施形態2では、クライアント30に所在情報を開示したくないデータサーバの場合に、データ要求情報を受け取ったデータサーバ10−1を経由して、要求対象データをクライアント30に提供する。そして、クライアント30に所在情報を開示してもよいデータサーバの場合には、リダイレクト方式により、他のデータサーバからクライアント30に直接データを提供する。
【0037】
実施形態2では、クライアント30に所在情報を開示することを許可するか否かの判断に、クライアント30を操作するユーザに予め定められたユーザアクセスレベルと、データに予め定められたデータアクセスレベルとを比較することで行う。詳しく後ほど説明する。
【0038】
実施形態2に係るデータ管理システムの概略構成は、実施形態1と同様でよく、図1に示す通りである。
【0039】
図9は、データサーバ10の機能ブロックを示す図である。図9において、図2に示した機能ブロックと同一部分には同一符号を付してある。実施形態2において、データ管理部11は、クライアント30に提供することができる複数のデータと、各データを識別するためのデータIDと、データの機密度合いの指標を示すデータアクセスレベルとを対応付けて記憶する。図10にデータ管理部11が管理する各データの管理情報のデータ構造を示す。図10に示す通り、データ管理部11は、データID102およびリンク情報104の他に、そのデータのデータアクセスレベル106をそれぞれ対応付けて管理する。ここでデータアクセスレベル106は、段階的に定義された値であり、値が大きいほどそのデータの機密度合いが増し、データの公開が制限される。
【0040】
ユーザ情報管理部14は、データサーバ10にクライアント30を介してアクセスするユーザのユーザIDに対するユーザアクセスレベルを管理する。図11にユーザ情報管理部14が管理する各ユーザIDの管理情報のデータ構造を示す。図11に示す通り、ユーザ情報管理部14は、ユーザID132と、そのユーザIDのデータ管理システム上におけるアクセス権の範囲を定めるユーザアクセスレベル134とをそれぞれ対応付けて管理する。ここでユーザアクセスレベル134は、段階的に定義された値であり、値が大きいほどそのユーザIDに対するアクセス権の権利範囲が広がり、データ管理システム上での操作範囲が広がる。
【0041】
また、リダイレクト判定部15は、他のデータサーバの問合わせ部からの問合わせに対して、要求対象データをデータ管理部から検索できた場合に、リダイレクトによりそのデータをデータ要求元のクライアントに提供するか、リダイレクトせずに、他のデータサーバを経由してそのデータをデータ要求元のクライアント30に提供するかのリダイレクト許可判定を行う手段である。より具体的にはリダイレクト判定部15は、クライアント30を操作するユーザに対し予め定められたユーザアクセスレベルと、要求対象データに対し予め定められたデータアクセスレベルとを比較し、ユーザアクセスレベルの値がデータアクセスレベルの値以上の場合は、クライアント30に所在情報を開示することを許可すると判断し、クライアント30へのリダイレクトを許可すると判定する。一方、ユーザアクセスレベルの値がデータアクセスレベルの値より小さい場合は、クライアント30に所在情報を開示することを許可しないと判断し、クライアント30へのリダイレクトを許可しないと判定する。
【0042】
次に図12を参照して、データサーバ10がクライアント30からデータ要求情報を受け取ったときの処理手順を説明する。なお、図5と同様の処理手順については同一符号を付し説明を省略し、以下、処理手順の異なるS314〜S318を中心に説明する。便宜上、データサーバ10−1の処理として説明するが、他のデータサーバもこれと同様の処理を行う。
【0043】
図12において、問合わせ先の他のデータサーバ10−2が当該データを持っていることが判明し(S112の判定結果が肯定(Y))、データサーバ10−2からの回答として、該当データが提供された場合は(S314の判定結果が肯定(Y))、そのデータをクライアント30に提供する(S316)。一方、データサーバ10−2からの回答として、リダイレクト情報が提供された場合は(S314の判定結果が肯定(N))、データサーバ10−1は、データサーバ10−2のサーバIDを含むリダイレクト情報をクライアント30に提供する(S318)。このリダイレクト情報の提供は、上記の通り、HPPTリダイレクトの方式に従って行うことができる。
【0044】
このリダイレクト情報を受けたクライアント30は、HTTPに従って、リダイレクト情報中にサーバIDが示すデータサーバ10−2に対して、同じくリダイレクト情報中のデータ識別情報を含んだデータ要求を送る。
【0045】
次に、他のデータサーバから問合わせを受けたときのデータサーバの処理手順について、図13に示すフローチャートを用いて説明する。以下では、便宜上、データサーバ10−2の処理として説明するが、他のデータサーバもこれと同様の処理を行う。また、図13において、S400〜S406については、図6におけるS200〜S206と同様な処理手順のため説明を省略し、データサーバ10−2が要求対象データを保有している場合(S404の判定結果が肯定(Y))における処理手順について説明する。
【0046】
要求対象データを保有している場合、データサーバ10−2は、データサーバ10−1から送られたデータ問合わせの情報の中から判定情報を取り出し、判定情報に基づいてリダイレクトを許可するか否かの判定を行う(S408)。ここで、判定情報とは、クライアント30にデータサーバ10−2の所在情報を開示することを許可するか否かの判断基準として用いる情報であり、実施形態2では、クライアント30を操作するユーザのユーザIDのユーザアクセスレベルを示す。データサーバ10−2は、要求対象データのデータアクセスレベルをデータ管理部11−2が管理する管理情報から取り出して、そのデータアクセスレベルと判定情報として示されているユーザアクセスレベルとを比較する。そして、ユーザアクセスレベルの値がデータアクセスレベルの値以上の場合は、クライアント30に所在情報を開示することを許可すると判断し、クライアント30へのリダイレクトを許可すると判定する。一方、ユーザアクセスレベルの値がデータアクセスレベルの値より小さい場合は、クライアント30に所在情報を開示することを許可しないと判断し、クライアント30へのリダイレクトを許可しないと判定する。
【0047】
次いで、判定の結果、リダイレクトを許可すると判定した場合(S410の判定結果が肯定(Y))、データサーバ10−2は、リダイレクト情報を問合わせ元のデータサーバ10−1に提供する(S412)。一方、判定の結果、リダイレクトを許可しないと判定した場合(S410の判定結果が肯定(N))、データ管理部11−2から取り出した要求対象データをデータサーバ10−1に提供する(S414)。
【0048】
以上説明したようなデータ管理システムの動作を、図14,15を参照して説明する。
【0049】
図14に示すように、クライアント30からデータサーバ10−1に送ったデータ要求(1)の対象データがデータサーバ10−1に存在しない場合は、検出部12−1が他のデータサーバ10−2を検出し(2)、このデータ問合わせを行う(3)。この問合わせにより、データサーバ10−2に要求対象データが存在することが判明すると、リダイレクト判定部15−2がリダイレクトの許可判定を行い、判定の結果、リダイレクトを許可すると判定した場合は(4)、データサーバ10−2は、リダイレクト情報をデータサーバ10−1に提供する(5)。データサーバ10−1は、そのリダイレクト情報に基づいて、クライアント30にデータ要求の応答として、リダイレクト情報に含まれるデータサーバ10−2のサーバIDを通知することで、リダイレクトし(6)、データサーバ10−2は、要求対象データをクライアント30に提供する(7)。
【0050】
また、図15に示すように、クライアント30からデータサーバ10−1に送ったデータ要求の対象データがデータサーバ10−1に存在しない場合であって、データサーバ10−2のリダイレクト判定部15−2がリダイレクトを許可しなかった場合(4)、データサーバ10−2は、データ管理部11−2から取り出した要求対象データをデータサーバ10−1に提供する(5)。データサーバ10−1は、クライアント30にデータ要求の応答として、その要求対象データをクライアント30に提供する(6)。
【0051】
以上説明したように、実施形態2では、判定情報に基づいて、クライアントにデータサーバの所在情報を開示するか否かを判定することで、リダイレクトを許可するか否かを判定する。そして、判定の結果、クライアントに所在情報を開示したくないデータサーバの場合には、データ要求情報を受け取ったデータサーバを経由してクライアントにデータを提供する。そして、クライアントに所在情報を開示してもよいデータサーバの場合には、リダイレクトにより、他のデータサーバからクライアントに直接データを提供する。
【0052】
よって、実施形態2によれば、リダイレクト許可判定の結果に応じて、データ要求情報を受け取ったデータサーバを経由してクライアントにデータを提供するか否かが変更する。そのため、問合わせを受けたデータサーバが、問合わせを行ったデータサーバを経由させてすべてのデータをクライアントに提供する場合に比べて、問合わせを行ったデータサーバの処理負担が低減するため、処理時間の増大等の新たな問題の発生を防ぐことができる。
【0053】
ここで、図16A〜図16Cを用いてさらに実施形態2に係るデータ管理システムの動作について説明する。図16A〜図16Cでは、社内の決裁処理を例にしており、未決裁文書を管理する未決裁文書管理サーバ10Aの所在情報は、一般社員クライアント30A(ユーザアクセスレベル:3)および管理者クライアント30B(ユーザアクセスレベル:5)に開示してよく、決裁済文書を管理する決裁済文書管理サーバ10Bの所在情報は、管理者クライアント30Bのみ開示してもよい場合を想定している。
【0054】
まず、図16Aに示すように、一般社員クライアント30Aが、未決裁文書管理サーバ10A上において、ある案件に対する決裁を取るために、未決裁文書40A(アクセスレベル:2)を作成する(1)。その後、未決裁文書管理サーバ10Aに保持された文書40AのデータIDを含む仮想URLが、一般社員クライアント30Aまたは未決裁文書管理サーバ10Aから、管理者クライアント30Bやその他のクライアント(一般社員クライアント30Aを含んでも良い)に対し、電子メールなどの手段で通知される。この通知を受け取った各クライアントは、この仮想URLを用いてその文書40Aにアクセスすることができる。管理者クライアント30Bは、通知された仮想URLに基づいて未決裁文書管理サーバ10Aにアクセスし、その文書に対する決裁を行う(2)。未決裁文書管理サーバ10Aは、管理者クライアント30Bに承認された未決裁文書40Aを、決裁済文書40B(アクセスレベル:4)として、その文書を決裁済文書管理サーバ10Bに転送する(3)。なお、文書のアクセスレベルの変更は、未決裁文書管理サーバ10Aが行ってもよいし、決裁済文書管理サーバ10Bが行ってもよい。
【0055】
続いて、図16Bに示すように、一般社員クライアント30Aが、上記仮想URLに基づいて、決裁済文書40Bの閲覧を未決裁文書管理サーバ10Aに要求すると(1)、未決裁文書管理サーバ10Aは、決裁済文書40Bを保持していないため、決裁済文書管理サーバ10Bを検出し(2)、決裁済文書40Bを保持するかどうかのデータ問合わせを行う(3)。決裁済文書管理サーバ10Bは、決裁済文書40Bを検索した後、一般社員クライアント30Aを操作するユーザのユーザアクセスレベル[3]と、決裁済文書40Bのデータアクセスレベル[4]とを比較し、リダイレクトを許可しないと判定する(4)。判定の結果を受けて、決裁済文書管理サーバ10Bは、データ問合わせの返答として、決裁済文書40Bを未決裁文書管理サーバ10Aに提供し(5)、未決裁文書管理サーバ10Aは、その決裁済文書40Bを、一般社員クライアント30Aに提供する(6)。
【0056】
これにより、一般社員クライアント30Aに所在を開示してもよい未決裁文書管理サーバ10Aを経由して、決裁済文書40Bが一般社員クライアント30Aに提供されるため、一般社員クライアント30Aに決裁済文書管理サーバ10Bの所在を開示しなくて済む。
【0057】
一方、図16Cに示すように、管理者クライアント30Bが、上記仮想URLに基づいて、決裁済文書40Bの閲覧を未決裁文書管理サーバ10Aに要求すると(1)、未決裁文書管理サーバ10Aは、決裁済文書40Bを保持していないため、決裁済文書管理サーバ10Bを検出し(2)、決裁済文書40Bを保持するかどうかのデータ問合わせを行う(3)。決裁済文書管理サーバ10Bは、決裁済文書40Bを検索した後、管理者クライアント30Bを操作するユーザのユーザアクセスレベル[5]と、決裁済文書40Bのデータアクセスレベル[4]とを比較し、リダイレクトを許可すると判定する(4)。判定の結果を受けて、決裁済文書管理サーバ10Bは、リダイレクト情報を未決裁文書管理サーバ10Aに提供する(5)。未決裁文書管理サーバ10Aは、そのリダイレクト情報に基づいて、管理者クライアント30Bにデータ要求の応答として、リダイレクト情報に含まれる決裁済文書管理サーバ10BのサーバIDを通知することで、リダイレクトし(6)、決裁済文書管理サーバ10Bは、要求対象データを管理者クライアント30Bに提供する(7)。
【0058】
このように、管理者クライアント30Bには、決裁済文書の管理を行う決裁済文書管理サーバ10Bの所在を開示しても構わないため、リダイレクトにより、管理者クライアント30Bは、決裁済文書管理サーバ10Bに直接アクセスして、決裁済文書40Bを取得することができる。
【0059】
続いて、本発明の第3の実施の形態(以下、実施形態3とする)について、以下図面を用いて説明する。以下では、便宜上、クライアント30からデータ要求を受け取るデータサーバを、データサーバ10−1とし、データサーバ10−1からデータ問合わせを受け取るデータサーバを、データサーバ10−2として説明するが、各データサーバはそれぞれ同様の処理を行う。
【0060】
実施形態3では、ユーザアクセスレベルやデータアクセスレベルの値に拘わらず、データ要求を行った場合に、リダイレクトを許可するもしくは許可しないユーザアカウントを特権ユーザとして予め定めておく。さらに、データ問合わせを行った場合に、リダイレクトを許可するもしくは許可しないデータサーバも特権サーバとして予め定めておく。
【0061】
例えば、データサーバ10−2がデータ問合わせを受け取った場合、まず、データサーバ10−2のリダイレクト判定部15―2は、ユーザアクセルレベルやデータアクセスレベルの値によらず、データ要求元のユーザアカウントやデータ問合わせ元のデータサーバに対して割り当てられた特権に基づいて、リダイレクトを許可するか否かの判定を行う。その後、これらの特権に基づいてリダイレクトの許可判定ができない場合に、リダイレクト判定部15―2は、ユーザアカウント、データおよびデータサーバごとに定められた各アクセスレベルに基づいて、リダイレクトを許可するか否かの判定を行う。
【0062】
図17は、実施形態3に係るデータサーバ10の機能ブロックを示す図である。図17において、図9に示した機能ブロックと同一部分には同一符号を付してある。
【0063】
特権情報管理部16は、データサーバ10が、データ要求元となる特定のユーザアカウントやデータ問合わせ元となる特定のデータサーバに対して個別に定められた特権情報を管理する。また、サーバ情報管理部17は、データ管理システム上におけるデータサーバ10の機密度合いの値を示すサーバアクセスレベルなど、データサーバ10の属性情報を管理する。
【0064】
このように構成されたデータサーバ10において、リダイレクト判定部15は、データ問合わせに対する要求対象データが存在する場合、まず特権情報に基づいて、その要求対象データについてリダイレクトを許可するか否かを判定する。リダイレクト判定部15は、その特権情報に基づいてリダイレクト許可判定ができない場合、クライアント30を操作するユーザに予め定められたユーザアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。
【0065】
さらに、リダイレクト判定部15は、サーバ情報管理部17を参照することで得られるデータサーバ10自身のサーバアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。それぞれの比較の結果、ユーザアクセスレベルの値がデータアクセスレベルの値以上で、かつ、サーバアクセスレベルの値がデータアクセスレベルの値以上の場合は、クライアント30へのリダイレクトを許可すると判定する。一方、比較結果が上記条件を満たさない場合は、クライアント30へのリダイレクトを許可しないと判定する。
【0066】
ここでデータサーバ10の特権情報管理部16は、図18Aに示すような特権テーブル140を管理する。例えばデータサーバ10−2がデータサーバ10−1からデータ問合わせを受け取った場合、リダイレクト判定部15−2は、図18Aに示す特権テーブル140を参照することで、データサーバ10−1がリダイレクトを許可するデータサーバであることを確認する。そして、確認の結果、リダイレクト判定部15−2は、データ要求元のユーザアカウントのユーザアクセルレベルや要求対象データのデータアクセスレベルの値によらず、データサーバ10−1からのすべてのデータ問合わせに対してリダイレクトを許可すると判定する。一方、そのデータ問合わせに対するデータ要求を行ったユーザのユーザアカウントがユーザEの場合、リダイレクト判定部15−2は特権テーブルを参照することで、ユーザEがリダイレクトを許可しないユーザアカウントであることを確認する。そして、確認の結果、リダイレクト判定部15−2は、ユーザEのユーザアクセルレベルや要求対象データのデータアクセスレベルの値によらず、ユーザEへのリダイレクトをすべて許可しないと判定する。
【0067】
また、特権情報管理部16は、各データに対して個別に定められた特権テーブルも併せて管理する。図18Bは、データサーバ10−2が管理するデータXおよびデータYに対する特権テーブル142,144を示す。例えば、データXを要求するユーザアカウントがユーザCの場合、リダイレクト判定部15−2は、図18Bに示す特権テーブル142を参照することで、ユーザCのユーザアクセスレベルやデータXのデータアクセスレベルの値によらず、リダイレクトを許可すると判定する。一方、データXを要求するユーザアカウントがユーザNやユーザZの場合、リダイレクト判定部15−2は、ユーザNやユーザZのユーザアクセスレベルやデータXのデータアクセスレベルの値によらず、リダイレクトを許可しないと判定する。リダイレクト判定部15−2は、データYについてもデータXと同様にリダイレクト判定を行う。
【0068】
データサーバ10がクライアント30からデータ要求情報を受け取ったときの処理手順は、実施形態2におけるデータ管理システムと同様なため説明を省略する。また、他のデータサーバから問合わせを受けたときのデータサーバの処理手順については、図13におけるS408でのリダイレクト許可判定の手順以外は、実施形態2と同様でよい。そこで、ここでは図19に示すフローチャートを用いて、リダイレクト判定部15におけるリダイレクト許可判定の手順を中心に、他のデータサーバ(データサーバ10−1)から問合わせを受けたときのデータサーバ(データサーバ10−2)の処理手順について説明する。
【0069】
リダイレクト判定部15−2は、データサーバ10−1から受け取ったデータ問合わせに対応する要求対象データを検索できた場合、まず、サーバ特権テーブルに基づいてリダイレクトの許可判定を行う(S500)。より具体的には、リダイレクト判定部15−2は、特権情報管理部16に記憶されたサーバ特権テーブルを参照して、データ問合わせ元のデータサーバもしくはデータ要求元のユーザアカウントが登録されているか否かを確認し、登録されている場合には、そのデータサーバもしくはユーザアカウントに対するリダイレクトを許可するか許可しないかを確認する。
【0070】
確認の結果、サーバ特権テーブルに問合わせ元のデータサーバもしくはデータ要求元のユーザアカウントが登録されており、リダイレクト許可判定が完了した場合には(S502での判定結果が肯定(Y))、リダイレクト許可判定を終了する。
【0071】
一方、S500において、リダイレクト許可判定が完了しなかった場合には(S502での判定結果が否定(N))、リダイレクト判定部15−2は、続いて、データ特権テーブルに基づいてリダイレクト許可判定を行う(S504)。より具体的には、リダイレクト判定部15−2は、特権情報管理部16に記憶されたデータ特権テーブル群の中から、要求対象データに対応するデータ特権テーブルを検索する。そして、リダイレクト判定部15−2は、検索したデータ特権テーブルを参照して、データ要求元のユーザアカウントが登録されているか否かを確認し、登録されている場合には、そのユーザアカウントに対してリダイレクトを許可するか不許可しないかを確認する。なお、S500とS504との判定は、順番を逆に行ってもよい。つまり、データ特権テーブルに基づいてリダイレクト許可判定を行った後、サーバ特権テーブルに基づいてリダイレクト許可判定を行っても構わない。
【0072】
確認の結果、データ特権テーブルにデータ要求元のユーザアカウントが登録されており、リダイレクト許可判定が完了した場合には(S506での判定結果が肯定(Y))、リダイレクト許可判定を終了する。
【0073】
一方、S504において、リダイレクト許可判定が完了しなかった場合には(S506での判定結果が否定(N))、リダイレクト判定部15−2はさらに、各アクセスレベルを比較することでリダイレクトの許可判定を行う(S508)。より具体的には、リダイレクト判定部15−2は、クライアント30を操作するユーザに予め定められたユーザアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。また、リダイレクト判定部15−2は、サーバ情報管理部17を参照することで得られるデータサーバ10−2自身のサーバアクセスレベルと、要求対象データに予め定められたデータアクセスレベルとを比較する。そして、それぞれの比較の結果、ユーザアクセスレベルの値がデータアクセスレベルの値以上で、かつ、データアクセスレベルの値がサーバアクセスレベルの値以上の場合は、クライアント30へのリダイレクトを許可すると判定する。一方、比較結果がそれ以外の場合は、クライアント30へのリダイレクトを許可しないと判定する。
【0074】
以上のように、リダイレクト判定部15−2がリダイレクトの許可判定を行い、判定の結果、リダイレクトを許可すると判定した場合、データサーバ10−2は、リダイレクト情報を問合わせ元のデータサーバ10−1に提供する。一方、判定の結果、リダイレクトを許可しないと判定した場合、データサーバ10−2は、データ管理部11−2から取り出した要求対象データをデータサーバ10−1に提供する。
【0075】
以上、実施形態3によれば、リダイレクト判定部15が、まずデータ要求元のユーザアカウントのユーザアクセルレベルや要求対象データのデータアクセスレベルの値によらず、ユーザアカウントやデータサーバに対して割り当てられた特権に基づいて、リダイレクトを許可もしくは不許可の判定を行う。これにより、特権情報管理部16に所望のデータサーバもしくはユーザアカウントに対するリダイレクトの可否を登録しておくだけで、ある特定のデータサーバからのデータ問合わせや、ある特定のユーザアカウントからのデータ要求の場合には、ユーザアクセスレベルやデータアクセスレベルによらずに無条件で、リダイレクトを許可もしくは許可しないという設定をすることができる。例えば、ユーザアクセスレベルやデータアクセスレベルを考慮せずにあるユーザアカウントに対して特定の期間だけ、あるデータサーバが管理するすべてのデータに対して、リダイレクトを許可するもしくは許可しないとする場合は、そのユーザアカウントに対するリダイレクトの可否を特権情報管理部16に登録するだけでよく、リダイレクトの可否の設定が容易になる。
【0076】
なお、上記実施形態では、データ、ユーザ、サーバの各アクセスレベルや、特権情報を各データサーバ10においてそれぞれ保持する例を説明した。しかし、ネットワーク20上にそれらの情報を保持する別のサーバを用意しておき、その都度各データサーバ10がそのサーバに対して問合わせを行って、必要な情報を取得しても構わない。
【図面の簡単な説明】
【0077】
【図1】実施形態1〜3に係るデータ管理システムの概略構成を示す図である。
【図2】実施形態1に係るデータサーバの機能ブロックを示す図である。
【図3】実施形態2において、データ管理部が管理するデータの管理情報のデータ構造を示す図である。
【図4】仮想URLの一例を示す図である。
【図5】実施形態1において、データサーバがクライアントからデータ要求情報を受け取ったときの処理手順を示すフローチャート図である。
【図6】実施形態1において、他のデータサーバから問合わせを受けたときのデータサーバの処理手順を示すフローチャート図である。
【図7】実施形態1に係るデータ管理システムの動作を説明するための図である。
【図8】実施形態1に係るデータ管理システムの動作を説明するための図である。
【図9】実施形態2に係るデータサーバの機能ブロックを示す図である。
【図10】実施形態2〜3において、データ管理部が管理するデータの管理情報のデータ構造を示す図である。
【図11】実施形態2〜3において、ユーザ情報管理部が管理するユーザ情報のデータ構造を示す図である。
【図12】実施形態2において、データサーバがクライアントからデータ要求情報を受け取ったときの処理手順を示すフローチャート図である。
【図13】実施形態2において、他のデータサーバから問合わせを受けたときのデータサーバの処理手順を示すフローチャート図である。
【図14】実施形態2に係るデータ管理システムの動作を説明するための図である。
【図15】実施形態2に係るデータ管理システムの動作を説明するための図である。
【図16A】実施形態2に係るデータ管理システムの動作を、社内の決裁処理を例にして、説明するための図である。
【図16B】実施形態2に係るデータ管理システムの動作を、社内の決裁処理を例にして、説明するための図である。
【図16C】実施形態2に係るデータ管理システムの動作を、社内の決裁処理を例にして、説明するための図である。
【図17】実施形態3に係るデータサーバの機能ブロックを示す図である。
【図18A】実施形態3において、データサーバが保持する特権テーブルの一例を示す図である。
【図18B】実施形態3において、データサーバが保持する特権テーブルの一例を示す図である。
【図19】実施形態3において、他のデータサーバから問合わせを受けたときのデータサーバがリダイレクト許可判定を行う際の処理手順を示すフローチャート図である。
【符号の説明】
【0078】
10 データサーバ、11 データ管理部、12 検出部、13 問合わせ部、14 ユーザ情報管理部、15 リダイレクト判定部、16 特権情報管理部、17 サーバ情報管理部、20 ネットワーク、30 クライアント。
【特許請求の範囲】
【請求項1】
ネットワークを介して接続された他のデータサーバと連携してデータ管理システムを構成するデータサーバとして、コンピュータを動作させるためのプログラムであって、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部から検索し、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、
該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、
前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、
受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するように、
前記コンピュータを動作させるためのプログラム。
【請求項2】
請求項1に記載のプログラムにおいて、
前記要求対象データを持つデータサーバから前記要求対象データの代わりに、そのデータサーバの所在情報を含むリダイレクト情報を受け取った場合、前記データ要求に対する返答として、前記リダイレクト情報に基づくリダイレクトを前記クライアントに対して行うように、
前記コンピュータを動作させるためのプログラム。
【請求項3】
請求項1に記載のプログラムにおいて、
他のデータサーバからデータ問合わせを受け取った場合、そのデータ問合わせに含まれるデータ識別情報に対応する要求対象データを前記データ管理部から検索し、
要求対象データを検索できた場合、その要求対象データを、前記データ問合わせに対する返答として前記他のデータサーバに提供するように、
前記コンピュータを動作させるためのプログラム。
【請求項4】
請求項2に記載のプログラムにおいて、
前記他のデータサーバからのデータ問合わせに含まれる判定情報に基づいて自身の所在情報を前記クライアントに通知するかどうかの判定を行い、
前記クライアントに自身の所在情報を通知すると判定した場合、前記所在情報を含むリダイレクト情報を前記データ問合わせに対する返答として前記他のデータサーバに提供し、
前記クライアントに自身の所在情報を通知しないと判定した場合、前記検索した要求対象データを前記データ問合わせに対する返答として前記他のデータサーバに提供するように、
前記コンピュータを動作させるためのプログラム。
【請求項5】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記クライアントを操作するユーザの前記データ管理システム上におけるアクセス権限の範囲を定めるユーザアクセスレベルであり、
前記データ管理部は、データとそのデータを識別するデータ識別情報とそのデータに対する機密度合いを示すデータアクセスレベルとを対応付けて記憶し、
前記他のデータサーバからのデータ問合わせに応じて前記データ識別情報に対応する要求対象データを検索した場合、前記データ管理部から前記データ識別情報に対応するデータアクセスレベルを取得し、
前記データ問合わせに含まれる判定情報に示されるユーザアクセスレベルと、取得したデータアクセスレベルとを比較することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項6】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記データ問合わせを行った前記他のデータサーバを識別するサーバ識別情報であり、
自身の所在情報を前記クライアントに通知することを許可するもしくは許可しないデータサーバのサーバ識別情報が登録された特権テーブルを参照することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項7】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記クライアントを操作するユーザを識別するユーザ識別情報であり、
自身の所在情報を前記クライアントに通知することを許可するもしくは許可しないユーザのユーザ識別情報が登録された特権テーブルを参照することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項8】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記クライアントを操作するユーザを識別するユーザ識別情報であり、
自身の所在情報を前記クライアントに通知することを許可するもしくは許可しないユーザ識別情報が、前記データ管理部が管理するデータごとに登録された特権テーブルを参照することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項9】
ネットワークに接続された複数のデータサーバから構成されるデータ管理システムであって、
各データサーバが、
データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部と、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、前記データ管理部から検索するデータ検索部と、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するデータ要求応答部と、
を備えるデータ管理システム。
【請求項10】
ネットワークを介して接続された他のデータサーバと連携してデータ管理システムを構成するデータサーバであって、
データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部と、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、前記データ管理部から検索するデータ検索部と、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するデータ要求応答部と、
を備えるデータサーバ。
【請求項11】
ネットワークに接続された複数のデータサーバから構成されるデータ管理システムにより実行されるデータ管理方法であって、
データサーバが、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部から検索し、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、
該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、
前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、
受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供する、
ことを特徴とするデータ管理方法。
【請求項1】
ネットワークを介して接続された他のデータサーバと連携してデータ管理システムを構成するデータサーバとして、コンピュータを動作させるためのプログラムであって、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部から検索し、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、
該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、
前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、
受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するように、
前記コンピュータを動作させるためのプログラム。
【請求項2】
請求項1に記載のプログラムにおいて、
前記要求対象データを持つデータサーバから前記要求対象データの代わりに、そのデータサーバの所在情報を含むリダイレクト情報を受け取った場合、前記データ要求に対する返答として、前記リダイレクト情報に基づくリダイレクトを前記クライアントに対して行うように、
前記コンピュータを動作させるためのプログラム。
【請求項3】
請求項1に記載のプログラムにおいて、
他のデータサーバからデータ問合わせを受け取った場合、そのデータ問合わせに含まれるデータ識別情報に対応する要求対象データを前記データ管理部から検索し、
要求対象データを検索できた場合、その要求対象データを、前記データ問合わせに対する返答として前記他のデータサーバに提供するように、
前記コンピュータを動作させるためのプログラム。
【請求項4】
請求項2に記載のプログラムにおいて、
前記他のデータサーバからのデータ問合わせに含まれる判定情報に基づいて自身の所在情報を前記クライアントに通知するかどうかの判定を行い、
前記クライアントに自身の所在情報を通知すると判定した場合、前記所在情報を含むリダイレクト情報を前記データ問合わせに対する返答として前記他のデータサーバに提供し、
前記クライアントに自身の所在情報を通知しないと判定した場合、前記検索した要求対象データを前記データ問合わせに対する返答として前記他のデータサーバに提供するように、
前記コンピュータを動作させるためのプログラム。
【請求項5】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記クライアントを操作するユーザの前記データ管理システム上におけるアクセス権限の範囲を定めるユーザアクセスレベルであり、
前記データ管理部は、データとそのデータを識別するデータ識別情報とそのデータに対する機密度合いを示すデータアクセスレベルとを対応付けて記憶し、
前記他のデータサーバからのデータ問合わせに応じて前記データ識別情報に対応する要求対象データを検索した場合、前記データ管理部から前記データ識別情報に対応するデータアクセスレベルを取得し、
前記データ問合わせに含まれる判定情報に示されるユーザアクセスレベルと、取得したデータアクセスレベルとを比較することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項6】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記データ問合わせを行った前記他のデータサーバを識別するサーバ識別情報であり、
自身の所在情報を前記クライアントに通知することを許可するもしくは許可しないデータサーバのサーバ識別情報が登録された特権テーブルを参照することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項7】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記クライアントを操作するユーザを識別するユーザ識別情報であり、
自身の所在情報を前記クライアントに通知することを許可するもしくは許可しないユーザのユーザ識別情報が登録された特権テーブルを参照することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項8】
請求項4に記載のプログラムにおいて、
前記判定情報は、前記クライアントを操作するユーザを識別するユーザ識別情報であり、
自身の所在情報を前記クライアントに通知することを許可するもしくは許可しないユーザ識別情報が、前記データ管理部が管理するデータごとに登録された特権テーブルを参照することで、自身の所在情報を前記クライアントに通知するかどうかの判定を行うように、
前記コンピュータを動作させるためのプログラム。
【請求項9】
ネットワークに接続された複数のデータサーバから構成されるデータ管理システムであって、
各データサーバが、
データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部と、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、前記データ管理部から検索するデータ検索部と、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するデータ要求応答部と、
を備えるデータ管理システム。
【請求項10】
ネットワークを介して接続された他のデータサーバと連携してデータ管理システムを構成するデータサーバであって、
データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部と、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、前記データ管理部から検索するデータ検索部と、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供するデータ要求応答部と、
を備えるデータサーバ。
【請求項11】
ネットワークに接続された複数のデータサーバから構成されるデータ管理システムにより実行されるデータ管理方法であって、
データサーバが、
クライアントからデータ要求を受け取った場合、そのデータ要求に対応する要求対象データを、データとそのデータを識別するデータ識別情報とを対応付けて記憶するデータ管理部から検索し、
該当する要求対象データを検索できた場合はそのデータをクライアントに提供し、
該当する要求対象データを検索できなかった場合は、データ管理システムを構成する他のデータサーバに前記要求対象データのデータ識別情報を含むデータ問合わせを送信することにより、前記要求対象データを持つデータサーバを検索し、
前記要求対象データを持つデータサーバを検索できた場合、そのデータサーバから前記要求対象データを受け取り、
受け取った前記要求対象データを、前記データ要求に対する返答として前記クライアントに提供する、
ことを特徴とするデータ管理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図16C】
【図17】
【図18A】
【図18B】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16A】
【図16B】
【図16C】
【図17】
【図18A】
【図18B】
【図19】
【公開番号】特開2006−338436(P2006−338436A)
【公開日】平成18年12月14日(2006.12.14)
【国際特許分類】
【出願番号】特願2005−163502(P2005−163502)
【出願日】平成17年6月3日(2005.6.3)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成18年12月14日(2006.12.14)
【国際特許分類】
【出願日】平成17年6月3日(2005.6.3)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]