(57)【要約】【課題】アクセス権限の管理を行う場合において、アクセス権限の判定処理の効率化を図り得る、文書管理システム、キーバリューストア装置、文書管理方法、及びプログラムを提供する。【解決手段】文書管理システム１００は、アクセス権限の有無を判定するアクセス権限判定部１１と、アクセス権限が有る場合にアクセス権限情報をキーバリューストア装置２０に出力する管理処理部１２とを備える、文書管理装置１０、及び、アクセス権限情報をキーバリューストア形式によってメモリ２１に格納する格納処理部２２と、アクセス要求があった文書をキーとして、メモリのアクセス権限情報からアクセスが許可されるユーザの属性条件を抽出し、この属性条件と要求元のユーザの属性情報との積集合を演算し、アクセス権限判定部の代わりにアクセス権限の有無を判定する演算処理部２３とを備える、キーバリューストア装置２０を有する。【選択図】図１
2015185113.tif 000002
【特許請求の範囲】
【請求項１】
文書を管理する文書管理装置と、キーバリューストア装置とを備え、
前記文書管理装置は、
ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する、アクセス権限判定部と、
アクセス権限が有ると判定した場合に、要求元によるアクセスを許可すると共に、前記アクセス権限を特定するアクセス権限情報を、前記キーバリューストア装置に出力する、管理処理部と、を備え、
前記キーバリューストア装置は、
メモリと、
出力されてきた前記アクセス権限情報を、キーバリューストア形式によって前記メモリに格納する、格納処理部と、
前記メモリに、前記アクセス要求の対象となった文書についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった文書をキーとして、前記メモリに格納した前記アクセス権限情報から、前記文書のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記アクセス権限判定部の代わりに、アクセス権限の有無を判定する、演算処理部とを、備えている、
ことを特徴とする文書管理システム。
【請求項２】
前記文書管理装置の前記管理処理部が、前記アクセス権限情報として、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報を、前記キーバリューストア装置に出力し、
前記キーバリューストア装置の前記格納処理部が、出力されてきた前記アクセス権限情報を、それが特定する前記文書及び前記操作をキー情報とし、前記ユーザの属性条件をバリュー情報として、前記メモリに格納し、
前記キーバリューストア装置の前記演算処理部が、前記文書に対応する前記キー情報に基づいて、前記メモリから、対応する前記バリュー情報を抽出し、更に、抽出した前記バリュー情報と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果、結果集合が残っている場合に、アクセス権限が有ると判定する、
請求項１に記載の文書管理システム。
【請求項３】
前記アクセスが許可されるユーザの属性条件が、組織の階層構造、所属するグループ構成に基づいて設定されている、
請求項１または２に記載の文書管理システム。
【請求項４】
前記文書管理装置の前記管理処理部が、前記アクセス権限情報の更新が必要となった場合に、前記キーバリューストア装置に、前記メモリに格納しているアクセス権限情報の破棄を指示し、その後、破棄が完了したことを条件に、前記アクセス権限情報を更新する、
請求項１〜３のいずれかに記載の文書管理システム。
【請求項５】
前記アクセス要求が、ユーザが利用するアプリケーションプログラムを提供しているサーバ装置から行われており、
前記サーバ装置は、前記キーバリューストア装置が前記メモリに前記アクセス権限情報を格納しているかどうかを判定し、
判定の結果、前記アクセスアクセス権限情報を格納していない場合は、前記文書管理装置に対して前記アクセス要求を行い、
判定の結果、前記アクセス権限情報を格納している場合は、前記キーバリューストア装置に対してアクセス権限の判定を求める、
請求項１〜４のいずれかに記載の文書管理システム。
【請求項６】
メモリと、
ユーザからのアクセス要求に応じてアクセス権限の有無を判定する装置から出力されてきた、前記アクセス権限を特定するアクセス権限情報を、キーバリューストア形式によって前記メモリに格納する、格納処理部と、
前記メモリに、前記アクセス要求の対象についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった対象をキーとして、前記メモリに格納した前記アクセス権限情報から、前記対象のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記装置の代わりに、アクセス権限の有無を判定する、演算処理部とを、備えている、
ことを特徴とするキーバリューストア装置。
【請求項７】
前記装置が文書管理装置であり、前記アクセス権限情報として、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報が出力されている場合に、
前記格納処理部が、出力されてきた前記アクセス権限情報を、それが特定する前記文書及び前記操作をキー情報とし、前記ユーザの属性条件をバリュー情報として、前記メモリに格納し、
前記演算処理部が、前記文書に対応する前記キー情報に基づいて、前記メモリから、対応する前記バリュー情報を抽出し、更に、抽出した前記バリュー情報と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果、結果集合が残っている場合に、アクセス権限が有ると判定する、
請求項６に記載のキーバリューストア装置。
【請求項８】
前記アクセスが許可されるユーザの属性条件が、組織の階層構造、所属するグループに基づいて設定されている、
請求項６または７に記載のキーバリューストア装置。
【請求項９】
文書を管理する文書管理装置と、キーバリューストア装置とを用いた文書管理方法であって、
（ａ）前記文書管理装置によって、ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する、ステップと、
（ｂ）前記（ａ）のステップで、アクセス権限が有ると判定した場合に、前記文書管理装置によって、要求元によるアクセスを許可すると共に、前記アクセス権限を特定するアクセス権限情報を、前記キーバリューストア装置に出力する、ステップと、
（ｃ）前記キーバリューストア装置によって、出力されてきた前記アクセス権限情報を、キーバリューストア形式によってメモリに格納する、ステップと、
（ｄ）前記メモリに、前記アクセス要求の対象となった文書についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった文書をキーとして、前記メモリに格納した前記アクセス権限情報から、前記文書のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記文書管理装置の代わりに、アクセス権限の有無を判定する、ステップと、
を有している、ことを特徴とする文書管理方法。
【請求項１０】
コンピュータによって、
（ａ）ユーザからのアクセス要求に応じてアクセス権限の有無を判定する装置から出力されてきた、前記アクセス権限を特定するアクセス権限情報を、キーバリューストア形式によって、前記コンピュータのメモリに格納する、ステップと、
（ｂ）前記メモリに、前記アクセス要求の対象についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった対象をキーとして、前記メモリに格納した前記アクセス権限情報から、前記対象のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記装置の代わりに、アクセス権限の有無を判定する、ステップと、実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理を行うための文書管理システム、それに用いられるキーバリューストア装置、文書管理方法、及びこれらを実現するためのプログラムに関する。
【背景技術】
【０００２】
従来から、数千〜数万人のエンドユーザを対象とした文書管理システムが知られている。文書管理システムでは、アクセスするユーザ毎にアクセス権を判定することによって参照可否制御が行われている。このような文書管理システムにおいて、頻繁にアクセスされる対象文書は、例えば全社員、部門全体、又は管理職以上を対象とする共通の通知文書など、一部の文書に偏っている。
【０００３】
また、文書管理システムにおいて、文書情報は、文書数が多い、文書サイズが大きいといった理由から、ハードディスクのような二次記憶装置を保存先としたデータベースに格納されている。なお、二次記憶装置には、メモリよりアクセス性能が低いが容量あたりのコストは低い、という特徴がある。
【０００４】
ところで、文書管理システムのフロントエンドとしてＷｅｂアプリケーションサーバを用いる場合、朝の始業時直後などにおいて、１つの文書管理システムへ複数のＷｅｂアプリケーションサーバからの参照リクエストが短時間のうちに大量に発生する。そのため、文書管理システムへのアクセス集中により、スループットが低下し、結果、システム性能が劣化してしまうという問題が発生する。これは、文書管理システムでは、データベース中に保持しているアクセス権限情報を都度取り出して、アクセス権判定を行う必要があり、二次記憶装置からの情報取得に時間がかかるためである。
【０００５】
また、近年においては、データの保存及び管理の手法の１つとして、キーバリューストア（ＫＶＳ：Key Value Store）が提案されている（例えば、特許文献１及び２参照）。ＫＶＳでは、保存対象となるデータは、それに対応して設定されたキーと共にペアとして保存されるので、データの読み出しは、設定したキーを指定するだけで良いため、高速にデータを読み出すことができる。従って、文書管理システムのアクセス権限情報の管理に、ＫＶＳを用いれば、システム性能の劣化は抑制されると考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−８４５１号公報
【特許文献２】特開２０１３−３７５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上述したように、アクセス権限情報の管理のためにＫＶＳを用いれば、システム性能の劣化はある程度抑制されると考えられる。しかしながら、従来からの文書管理システムに、単にＫＶＳを組み合せただけでは、以下のような問題の解決は不可能である。
【０００８】
第１に、文書管理システムでは、ある文書に対するアクセス権の判定は、参照するユーザ毎に実行される。よって、アクセス権が他のユーザに対しても認められている場合であっても、Ｗｅｂアプリケーションサーバ側でアクセス権の判定後にキャッシュされている情報は、参照を求めたユーザにしか利用が認められておらず、再利用できる状態にない。このため、従来からの文書管理システムには、キャッシュにおけるメモリ効率が低く、アクセス権限の判定処理の効率化が十分でないという問題がある。
【０００９】
第２に、文書管理システム側でアクセス権限情報を更新した場合、Ｗｅｂアプリケーションサーバ側では、メモリキャッシュを破棄する必要があり、この点でも、アクセス権限の判定処理の効率化は不十分である。また、複数のＷｅｂアプリケーションサーバが存在している場合は、全てのＷｅｂアプリケーションサーバにおいてキャッシュを破棄する必要があり、いっそう、アクセス権限の判定処理の効率化が不十分となる。
【００１０】
また、その他に、従来からの文書管理システムには、システムが長年運用され既に大量の文書が存在している場合において、データベースの変更やデータ更新を行わずに、システムの性能の向上を図ることが難しいという問題もある。
【００１１】
本発明の目的の一例は、上記問題を解消し、アクセス権限の管理を行う場合において、アクセス権限の判定処理の効率化を図り得る、文書管理システム、キーバリューストア装置、文書管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一側面における文書管理システムは、文書を管理する文書管理装置と、キーバリューストア装置とを備え、
前記文書管理装置は、
ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する、アクセス権限判定部と、
アクセス権限が有ると判定した場合に、要求元によるアクセスを許可すると共に、前記アクセス権限を特定するアクセス権限情報を、前記キーバリューストア装置に出力する、管理処理部と、を備え、
前記キーバリューストア装置は、
メモリと、
出力されてきた前記アクセス権限情報を、キーバリューストア形式によって前記メモリに格納する、格納処理部と、
前記メモリに、前記アクセス要求の対象となった文書についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった文書をキーとして、前記メモリに格納した前記アクセス権限情報から、前記文書のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記アクセス権限判定部の代わりに、アクセス権限の有無を判定する、演算処理部とを、備えている、
ことを特徴とする。
【００１３】
上記目的を達成するため、本発明の一側面におけるキーバリューストア装置は、
メモリと、
ユーザからのアクセス要求に応じてアクセス権限の有無を判定する装置から出力されてきた、前記アクセス権限を特定するアクセス権限情報を、キーバリューストア形式によって前記メモリに格納する、格納処理部と、
前記メモリに、前記アクセス要求の対象についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった対象をキーとして、前記メモリに格納した前記アクセス権限情報から、前記対象のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記装置の代わりに、アクセス権限の有無を判定する、演算処理部とを、備えている、
ことを特徴とする。
【００１４】
また、上記目的を達成するため、本発明の一側面における文書管理方法は、文書を管理する文書管理装置と、キーバリューストア装置とを用いた文書管理方法であって、
（ａ）前記文書管理装置によって、ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する、ステップと、
（ｂ）前記（ａ）のステップで、アクセス権限が有ると判定した場合に、前記文書管理装置によって、要求元によるアクセスを許可すると共に、前記アクセス権限を特定するアクセス権限情報を、前記キーバリューストア装置に出力する、ステップと、
（ｃ）前記キーバリューストア装置によって、出力されてきた前記アクセス権限情報を、キーバリューストア形式によってメモリに格納する、ステップと、
（ｄ）前記メモリに、前記アクセス要求の対象となった文書についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった文書をキーとして、前記メモリに格納した前記アクセス権限情報から、前記文書のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記文書管理装置の代わりに、アクセス権限の有無を判定する、ステップと、
を有している、ことを特徴とする。
【００１５】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータによって、
（ａ）ユーザからのアクセス要求に応じてアクセス権限の有無を判定する装置から出力されてきた、前記アクセス権限を特定するアクセス権限情報を、キーバリューストア形式によって、前記コンピュータのメモリに格納する、ステップと、
（ｂ）前記メモリに、前記アクセス要求の対象についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった対象をキーとして、前記メモリに格納した前記アクセス権限情報から、前記対象のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記装置の代わりに、アクセス権限の有無を判定する、ステップと、実行させることを特徴とする。
【発明の効果】
【００１６】
以上のように、本発明によれば、アクセス権限の管理を行う場合において、アクセス権限の判定処理の効率化を図ることができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態における文書管理システムの構成を示す構成図である。
【図２】図２は、本発明の実施の形態においてキーバリューストア装置のメモリに格納される情報のデータ構造の一例を示す図である。
【図３】図３は、本発明の実施の形態において用いられるユーザ属性情報の種類の一例を示す図である。
【図４】図４は、本発明の実施の形態で用いられる組織の階層構造の一例を示す図である。
【図５】図５は、本発明の実施の形態における文書管理システムに接続されるＷｅｂアプリケーションサーバ装置４０の動作についての動作を示すフロー図である。
【図６】図６は、本発明の実施の形態における文書管理システムの動作を示すシーケンス図であって、キーバリューストア装置へのアクセス権限除法の登録処理を示している。
【図７】図７は、本発明の実施の形態における文書管理システムの動作を示すシーケンス図であって、キーバリューストア装置でのアクセス権限の有無の判定処理を示している。
【図８】図８は、集合演算の概念を示す図である。
【図９】図９は、演算結果の具体例を示す図である。
【図１０】図１０は、本発明の実施の形態における文書管理システムの動作を示すフロー図であって、文書管理装置においてアクセス権限情報が更新又は削除された場合の処理を示している。
【図１１】図１１は、従来からの文書管理システムと本発明の実施の形態における文書管理システムとの性能比較を表す図である。
【図１２】図１２は、本発明の実施の形態におけるキーバリューストア装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
（発明の概要）
一般に、メモリからの情報取得速度は、ハードディスクからの情報取得速度に比べて、数万倍〜数十万倍速いと言われている。そのため、メモリ上に情報を保持するキーバリューストア（ＫＶＳ）を用いた情報検索では、ハードディスクによって構築したファイルシステム又はデータベースにおける情報検索よりも大きく高速化される。
【００１９】
そこで、本発明では、集合演算機能を持つＫＶＳに、アクセス権限情報が格納される。そして、ユーザからの文書参照リクエスト時に、ＫＶＳ内に格納済みのアクセス権限情報があれば、ＫＶＳにて、アクセス権限情報とユーザから送られてきた属性情報との集合演算が行われ、演算結果に基づいてアクセス権の有無の判定が行われる。即ち、本発明では、アクセス権の判定が、文書管理を行っている装置ではなく、ＫＶＳのメモリ上で高速に行われる。
【００２０】
このように、本発明では、ＫＶＳにアクセス権限情報がキャッシュされている場合は、文書を管理する装置にアクセスすることなく、ＫＶＳ上でアクセス権の有無の判定が行われる。このため、本発明によれば、文書管理システムへのアクセス集中によるシステムのスループット低下が抑制される。
【００２１】
また、本発明では、ＫＶＳ上に、アクセス権の判定に使われたアクセス権限情報がキャッシュされているので、ユーザ間でアクセス権限情報を共用でき、キャッシュにおけるメモリ効率を高めることも可能となる。
【００２２】
また、従来、文書参照リクエストが、複数のＷｅｂアプリケーションサーバを経由して行われている場合は、アクセス権限の判定の高速化のため、Ｗｅｂアプリケーションサーバ毎にアクセス権限情報をキャッシュする必要がある。よって、アクセス権限情報の原子性を確保するためには、アクセス権限情報の更新時において、全てのＷｅｂアプリケーションサーバ上のキャッシュを破棄する必要がある。
【００２３】
これに対して、本発明では、アクセス権限情報が更新される場合は、文書の管理側からの指示によってＫＶＳにおけるキャッシュを破棄するだけで、アクセス権限情報の原子性を確保することができる。
【００２４】
また、既存の文書管理システムに、本発明におけるキーバリューストア装置を追加するだけで、システムの高速化を実現でき、その際、既存のデータベースや、データベースに格納済みのデータを何ら変更する必要もない。
【００２５】
（実施の形態）
以下、本発明の実施の形態における、文書管理システム、キーバリューストア装置、文書管理方法、及びプログラムについて、図１〜図１０を参照しながら説明する。
【００２６】
［システム構成］
最初に、本発明の実施の形態における文書管理システム及びそれを構成するキーバリューストア装置の構成について図１を用いて説明する。図１は、本発明の実施の形態における文書管理システムの構成を示す構成図である。
【００２７】
図１に示すように、本実施の形態における文書管理システム１００は、文書を管理する文書管理装置１０と、キーバリューストア装置２０とを備えている。また、本実施の形態では、文書管理装置１０は、多数の文書を格納する文書データベース３０に接続されている。
【００２８】
文書管理装置１０は、アクセス権限判定部１１と、管理処理部１２とを備えている。アクセス権限判定部１１は、ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する。管理処理部１２は、アクセス権限が有ると判定した場合に、要求元によるアクセスを許可すると共に、アクセス権限を特定するアクセス権限情報を、キーバリューストア装置２０に出力する。
【００２９】
キーバリューストア装置２０は、メモリ２１と、格納処理部２２と、演算処理部２３とを備えている。格納処理部２２は、文書管理装置１０から出力されてきたアクセス権限情報を、キーバリューストア形式によってメモリ２１に格納させる。
【００３０】
演算処理部２３は、メモリ２１に、アクセス要求の対象となった文書についてのアクセス権限情報が格納されている場合に、まず、アクセス要求のあった文書をキーとして、メモリ２１に格納したアクセス権限情報から、文書のアクセスが許可されるユーザの属性条件を抽出する。更に、演算処理部２３は、抽出した属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、文書管理装置１０のアクセス権限判定部１１の代わりにアクセス権限の有無を判定する。
【００３１】
従来における文書管理システムでは、文書データおよびその文書に付与したアクセス権限情報は、共に、文書データベースに格納されるため、アクセス権限の有無を判定する度に、文書データベースへのアクセスが発生する。これに対して、本実施の形態１では、１度使用されたアクセス権限情報は、キーバリューストア装置２０にキャッシュされ、更に、この場合、アクセス権限の有無の判定は、キーバリューストア装置２０における論理演算によって行われる。このため、本実施の形態によれば、文書管理装置１０でのアクセス権限の有無の判定回数を削減でき、アクセス権限の判定処理の効率化を図ることができる。
【００３２】
ここで、本実施の形態における文書管理システム１００及びキーバリューストア装置２０の構成について更に具体的に説明する。まず、図１に示すように、本実施の形態では、文書管理システム１００には、Ｗｅｂアプリケーションプログラムを提供しているサーバ装置（以下「Ｗｅｂアプリケーションサーバ装置」と表記する。）が接続されている。なお、本実施の形態では、アプリケーションプログラムは、Ｗｅｂアプリケーションプログラムに限定される趣旨ではない。
【００３３】
また、ユーザは、自身の端末装置５０に導入されているＷｅｂブラウザを介して、Ｗｅｂアプリケーションサーバ装置が提供するＷｅｂアプリケーションプログラムを利用することができる。本実施の形態では、ユーザは、文書データベース３０に格納されている文書にアクセスしたい場合は、まず、ＷｅｂブラウザからＷｅｂアプリケーションサーバへアクセスを行う。
【００３４】
Ｗｅｂアプリケーションサーバ装置４０は、文書アクセス部４１を備えている。文書アクセス部４１は、ユーザからのアクセスがあると、後述のディレクトリサーバ６０によってユーザ認証を行う。そして、ユーザ認証が許可されると、文書アクセス部４１は、ディレクトリサーバ６０に格納されているユーザの属性情報を取得すると共に、ユーザからの文書のアクセス要求を受け付ける。
【００３５】
また、文書アクセス部４１は、ユーザからの文書のアクセス要求を受け付けると、最初に、キーバリューストア装置２０に対して、メモリ２１にアクセス権限情報を格納しているかどうかを確認する。そして、キーバリューストア装置２０がメモリ２１にアクセス権限情報を格納している場合は、キーバリューストア装置２０に対してアクセス権限の有無を判定させる。一方、キーバリューストア装置２０がメモリ２１にアクセス権限情報を格納していない場合は、文書アクセス部４１は、文書管理装置１０に対してアクセス要求を行う。
【００３６】
キーバリューストア装置２０又は文書管理装置１０によって、アクセス権限が有ると判定されると、文書アクセス部４１は、アクセス要求の対象となった文書のデータを取得し、結果を端末装置５０へと送信する。なお、図１の例では、単一の端末装置５０のみが図示されているが、複数の端末装置５０が同時にＷｅｂアプリケーションサーバ４０にアクセスすることができる。また、図１の例では、単一のＷｅｂアプリケーションサーバ装置４０のみが図示されているが、複数のＷｅｂアプリケーションサーバ装置４０が存在していても良い。
【００３７】
また、本実施の形態では、文書管理装置１０において、アクセス権限情報としては、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報が用いられる。よって、アクセス権限判定部１１は、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報に基づいて、アクセス権限の有無を判定する。また、管理処理部１２は、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報を、キーバリューストア装置２０に出力する。また、アクセス権限情報は、本実施の形態では、文書データと共に、文書データベース３０に格納されている。
【００３８】
更に、本実施の形態では、管理処理部１２は、アクセス権限情報の更新が必要となると、キーバリューストア装置２０に対して、メモリ２１に格納しているアクセス権限情報の破棄を指示することができる。そして、管理処理部１２は、破棄が完了したことを条件に、アクセス権限情報を更新する。
【００３９】
また、キーバリューストア装置２０では、格納処理部２２は、出力されてきたアクセス権限情報を、それが特定する文書及び操作をキー情報とし、それが特定するユーザの属性条件をバリュー情報として、即ち、「セット型」のデータとして、メモリ２１に格納する。なお、メモリ２１に格納されている情報のデータ構造については、後述する。
【００４０】
演算処理部２３は、本実施の形態では、アクセス要求の対象となった文書に対応するキー情報を特定し、特定したキー情報に基づいて、メモリ２１から、このキー情報に対応するバリュー情報を抽出する。更に、演算処理部２３は、抽出したバリュー情報と、要求元のユーザの属性を特定する属性情報（以下「ユーザ属性情報」と表記する。）との積集合を演算し、演算の結果、結果集合が残っている場合は、アクセス権限が有ると判定する。そして、演算処理部２３は、結果応答として、アクセス権限情報を、Ｗｅｂアプリケーションサーバ装置４０に送信する。
【００４１】
また、本実施の形態では、演算処理部２３は、メモリ容量の上限値、データ個数の上限値等を設定し、ＦＩＦＯ（First In First Out）、ＬＲＵ（Least Recently Used）等の予め設定されたルールに従って、古いキャッシュ情報を自動的に破棄することもできる。
【００４２】
また、図１に示すように、本実施の形態では、Ｗｅｂアプリケーションサーバ装置４０には、ディレクトリサーバ６０が接続されている。ディレクトリサーバ６０は、上述したように、文書管理システム１００へのアクセス権限確認のため、ユーザ認証を実行する。また、ディレクトリサーバ６０は、Ｗｅｂアプリケーションサーバ装置４０からの要求に応じて、アクセス要求の要求元のユーザについての、所属組織情報、所属グループ情報、組織階層情報等といったユーザ属性情報を提供する。
【００４３】
ここで、図２〜図４を用いて、キーバリューストア装置２０が格納する情報のデータ構造について説明する。図２は、本発明の実施の形態においてキーバリューストア装置のメモリに格納される情報のデータ構造の一例を示す図である。図３は、本発明の実施の形態において用いられるユーザ属性情報の種類の一例を示す図である。図４は、本発明の実施の形態で用いられる組織の階層構造の一例を示す図である。
【００４４】
図２に示すように、キーバリューストア装置２０のメモリ２１には、キーバリューストア形式によって、アクセス権限情報が、論理演算が可能なセット型データとして格納される。
【００４５】
また、図２において、アクセス権限情報のキー情報（Ｋ）としては、文書のオブジェクトＩＤとそのオブジェクトに対する許可操作を表すラベルとを組み合わせた文字列が登録される。具体的には、許可操作としては、文書のタイトル及び作成者といった概要情報の参照操作（ラベル：OBJ_READ）、文書ファイル本体及び履歴といった詳細情報の参照操作（ラベル：OBJ_DETAIL）が挙げられる。この場合のキー情報の例としては、下記の（１）及び（２）が挙げられる。
【００４６】
（１）OBJID/01234 + OBJ_READ  
（２）OBJID/01234 + OBJ_DETAIL  
【００４７】
上記（１）は、オブジェクトＩＤが「01234」の文書における概要情報の参照操作を表している。上記（２）は、オブジェクトＩＤが「01234」の文書における詳細情報の参照操作を表している。
【００４８】
また、図２において、バリュー情報（Ｖ）としては、そのオブジェクトに対して許可されるユーザの属性条件が登録される。ユーザの属性条件は、例えば、組織の階層構造、所属するグループに基づいて設定される。
【００４９】
具体的には、ユーザの属性条件として、図３に示す所属組織ＩＤが「PUBLIC」（図４参照）となった「OS/PUBLIC」という情報が登録されているとする。この場合は、所属組織ＩＤが「PUBLIC」である組織の配下組織の構成メンバー全員が許可の対象となる。
【００５０】
また、図２に示すように、本実施の形態では、メモリ２１には、ユーザ属性情報も、セット型データとして格納される。ここでのユーザ属性情報は、文書管理システムにアクセスしているユーザ、即ち要求元のユーザのユーザ属性情報を表している。なお、ユーザ属性情報は、Ｗｅｂアプリケーションサーバ装置４０から送信されてきている。Ｗｅｂアプリケーションサーバ装置４０は、メモリ２１にアクセス権限情報が格納されていることを確認したタイミングで、キーバリューストア装置２０にユーザ属性情報を送信する。
【００５１】
また、ユーザ属性情報においては、キー情報（Ｋ）としては、そのユーザのユーザＩＤが登録される。バリュー情報（Ｖ）としては、図３に示すユーザ属性情報を表す文字列が登録される。具体的には、バリュー情報には、全員を表す「_/EVERYONE」、ユーザＩＤを表す「U/<USER ID>」、直上の所属組織ＩＤを表す「O/OFFICE ID」、上位組織ＩＤを表す「OS/<OFFICE ID>」、所属グループＩＤを表す「G/<GROUP ID>」、所属会社ＩＤを表す「C/<COMPANY ID>」等が登録される。
【００５２】
更に、図３には示されていないが、その他に、所属ロールを表すＩＤが登録されても良い。また、上位組織ＩＤの例としては、例えば、図４に示す組織階層ツリーに示すように、所属組織「OFC1-1-1」の上位に組織が存在しているとすると、「OS/PUBLIC」、「OS/OFC1」、「OS/OFC1-1」、「OS/OFC1-1-1」「O/OFC1-1-1」が挙げられる。なお、本実施の形態では、文書登録者、システム管理者といった特別なアクセス権限を持つ者については、キーバリューストア装置２０での対象外に設定されている。
【００５３】
［システム動作］
次に、本発明の実施の形態における文書管理システム１００の動作について図５〜図１１を用いて説明する。以下の説明においては、適宜図１〜図４を参酌する。また、本実施の形態では、文書管理システム１００を動作させることによって、文書管理方法が実施される。よって、本実施の形態における文書管理方法の説明は、以下の文書管理システムの動作説明に代える。
【００５４】
まず、本実施の形態において、文書管理システム１００は、Ｗｅｂアプリケーションサーバ装置４０からのアクセス要求に応じて動作することから、初めに、Ｗｅｂアプリケーションサーバ装置４０の動作について図５を用いて説明する。図５は、本発明の実施の形態における文書管理システムに接続されるＷｅｂアプリケーションサーバ装置４０の動作についての動作を示すフロー図である。
【００５５】
図５においては、前提として、ユーザは、自身の端末装置５０に導入されているＷｅｂブラウザを介して、Ｗｅｂアプリケーションサーバ装置４０にアクセスし、その後、ディレクトリサーバ６０にて認証が許可されているとする。また、Ｗｅｂアプリケーションサーバ装置４０は、ユーザのユーザ属性情報を、ディレクトリサーバ６０から取得済みであるとする。
【００５６】
まず、図５に示すように、Ｗｅｂアプリケーションサーバ装置４０において、文書アクセス部４１は、端末５０から、ユーザが指定した文書の参照要求を受け付ける（ステップＡ１）。
【００５７】
次に、文書アクセス部４１は、キーバリューストア装置２０に対して、メモリ２１に、アクセス要求の対象となった文書に関するアクセス権限情報が格納されているかどうかを問い合わせる（ステップＡ２）。次に、文書アクセス部４１は、問い合せの結果に基づいて、アクセス権限情報が存在しているかどうかを判定する（ステップＡ３）。
【００５８】
ステップＡ３の判定の結果、メモリ２１にアクセス権限情報が存在している場合は、文書アクセス部４１は、予めディレクトリサーバ６０から取得している要求元のユーザのユーザ属性情報を、キーバリューストア装置２０に送信する（ステップＡ４）。この場合、ユーザ属性情報は、キーバリューストア装置２０のメモリ２１に格納される（図２参照）。
【００５９】
ステップＡ４が実行されると、キーバリューストア装置２０において、演算処理部２３は、積集合演算が実行され（図７）、要求元のユーザにおけるアクセス権限の有無が判定される。そして、文書アクセス部４１は、アクセス権限の有無の判定結果を確認する（ステップＡ５）。
【００６０】
ステップＡ５の判定の結果、アクセス権限が存在している場合は、文書アクセス部４１は、キーバリューストア装置２０から、アクセス権限情報を取得し、これを文書管理装置１０に送信する（ステップＡ６）。更に、文書アクセス部４１は、文書管理装置１０から、文書情報を取得する。
【００６１】
その後、文書アクセス部４１は、ステップＡ６で取得した文書情報をユーザの端末装置５０に送信する。これにより、端末装置５０の画面には、ユーザが指定した文書の内容が表示される。
【００６２】
また、ステップＡ３の判定の結果、メモリ２１にアクセス権限情報が存在していない場合は、文書アクセス部４１は、文書管理装置１０に対して、ユーザが指定した文書についてアクセスを要求する（ステップＡ８）。更に、ステップＡ５の判定の結果、アクセス権限が存在しない場合も、文書アクセス部４１は、ステップＡ８を実行する。
【００６３】
ステップＡ８の実行後は、文書管理装置１０において、アクセス権限の有無の判定が行われ、判定の結果に応じて、文書アクセス部４１は、文書情報を取得する。具体的には、判定の結果、アクセス権限が存在する場合は、文書アクセス部４１には、文書情報が送信される。一方、判定の結果、アクセス権限が存在しない場合は、文書アクセス部４１には、アクセス権限が無い旨のコメントが送信される。
【００６４】
なお、ステップＡ５において、キーバリューストア装置２０によってアクセス権限が存在していないと判定されているにもかかわらず、ステップＡ８が実行されるのは、文書登録者、システム管理者といった特別なアクセス権限を持つ者については、キーバリューストア装置２０での対象外に設定されているからである。
【００６５】
次に、図６を用いて、アクセス権限情報が、キーバリューストア装置２０のメモリ２１に登録される際の、文書管理システム１００における動作について説明する。図６は、本発明の実施の形態における文書管理システムの動作を示すシーケンス図であって、キーバリューストア装置へのアクセス権限情報の登録処理を示している。
【００６６】
図６に示すように、まず、文書アクセス部４１が、文書管理装置１０に対して、ユーザが指定した文書についてアクセスを要求する（ステップＢ１）。これにより、文書管理装置１０において、アクセス権限判定部１１は、要求元のユーザのアクセス権限の有無について判定し（ステップＢ２）、判定結果を管理処理部１２に通知する（ステップＢ３）。
【００６７】
次に、管理処理部１２は、アクセス権限が存在している場合は、文書データベース３０から、要求された文書の文書情報（テキストデータ等）を取得し、取得した文書情報をＷｅｂアプリケーションサーバ装置４０に送信する（ステップＢ４）。なお、図６においては図示されていないが、アクセス権限が存在していない場合は、管理処理部１２は、アクセス権限が存在しない旨をＷｅｂアプリケーションサーバ装置４０に送信する。
【００６８】
更に、管理処理部１２は、判定の対象となったアクセス権限を特定するアクセス権限情報を、キーバリューストア装置２０に送信する（ステップＢ５）。これにより、キーバリューストア装置２０では、格納処理部２２は、送信されてきたアクセス権限情報を、キー情報とバリュー情報とに分けてメモリ２１に格納する（ステップＢ６：図２参照）。これにより、メモリにアクセス権限情報がキャッシュされ、キーバリューストア装置２０でのアクセス権限の有無の判定が可能となる。
【００６９】
次に、図７を用いて、キーバリューストア装置２０におけるアクセス権限の有無の判定処理について説明する。図７は、本発明の実施の形態における文書管理システムの動作を示すシーケンス図であって、キーバリューストア装置でのアクセス権限の有無の判定処理を示している。
【００７０】
図７に示すように、先ず、Ｗｅｂアプリケーションサーバ装置４０において、文書アクセス部４１は、キーバリューストア装置２０に対して、メモリ２１に、アクセス要求の対象となった文書に関するアクセス権限情報が格納されているかどうかを問い合わせる（ステップＣ１）。
【００７１】
次に、キーバリューストア装置２０において、演算処理部２３は、メモリ２１に格納されているデータを確認し（ステップＣ２）、確認結果をＷｅｂアプリケーションサーバ装置４０に送信する（ステップＣ３）。
【００７２】
そして、ステップＣ３において、アクセス権限情報が存在することが通知されている場合は、文書アクセス部４１は、予めディレクトリサーバ６０から取得している要求元のユーザのユーザ属性情報を、キーバリューストア装置２０に送信する（ステップＣ４）。なお、図７においては図示されていないが、ユーザ属性情報もメモリ２１に格納される（図２参照）。
【００７３】
次に、演算処理部２３は、ユーザ属性情報から、アクセス要求の対象となった文書に対応するキー情報（図２参照）を抽出し、抽出したキー情報をメモリ２１に入力する（ステップＣ５）。これにより、メモリ２１は、入力されたキー情報に対応するバリュー情報を抽出し、これを演算処理部２３に出力する（ステップＣ６）。
【００７４】
次に、演算処理部２３は、抽出したバリュー情報と、ステップＣ４で送信されてきた要求元のユーザの属性情報との積集合を演算し、演算の結果、結果集合が残っている場合は、アクセス権限が存在すると判定する（ステップＣ７）。一方、結果集合が残っていない場合は、演算処理部２３は、アクセス権限が存在しないと判定する。そして、演算処理部２３は、判定結果をＷｅｂアプリケーションサーバ装置４０に送信する（ステップＣ８）。その後、Ｗｅｂアプリケーションサーバ装置４０においては、図５に示したステップＡ６及びＡ７、又はＡ８及びＡ９が実行される。
【００７５】
なお、図７においては図示していないが、入力されたキー情報に対応するバリュー情報が存在していない場合は、ステップＣ６においてバリュー情報は出力されないため、演算処理部２３は、アクセス権限が存在しない旨を、Ｗｅｂアプリケーションサーバ装置４０に送信する。
【００７６】
また、図７において、ステップＣ３で送信されてくる確認結果は、ステップＣ８において判定結果と共に送信されてきても良い。この場合、ステップＣ４は、アクセス権限情報が存在することが通知されていなくても実行される。但し、ステップＣ３は、ステップＣ７での処理時間が、ステップＣ２とＣ３とを合わせた処理時間以上となる場合に有効である。
【００７７】
続いて、図７に示した和集合の演算処理について図８及び図９を用いて説明する。図８は、集合演算の概念を示す図である。図９は、演算結果の具体例を示す図である。
【００７８】
図８に示すように、「判定対象となるアクセス権限情報に含まれる属性条件の集合」と「アクセスしているエンドユーザのユーザ属性情報の集合」との積集合が演算される。そして、演算の結果、何らかのユーザ属性情報が残れば、アクセス権限が存在する（アクセス許可）と判定される。
【００７９】
具体的には、図９に示すように、USER1が、文書１概要、文書２概要、文書３概要、文書１詳細を参照しようとしたとする。この場合、文書１概要、文書２概要、及び文書１詳細については、ユーザ属性情報が残っているので参照可能となる。これに対して、文書３概要については、ユーザ属性情報が残っていないので参照は許可されないこととなる。
【００８０】
次に、図１０を用いて、文書管理装置においてアクセス権限情報が更新又は削除された場合の動作について説明する。図１０は、本発明の実施の形態における文書管理システムの動作を示すフロー図であって、文書管理装置においてアクセス権限情報が更新又は削除された場合の処理を示している。
【００８１】
図１０に示すように、まず、文書管理装置１０において、管理処理部１２は、外部から、アクセス権限情報の更新リクエストを受け付ける（ステップＤ１）。
【００８２】
次に、管理処理部１２は、受け付けた更新リクエストに記述されているオブジェクトＩＤを特定し、キーバリューストア装置２０に対して、特定したオブジェクトＩＤを含むアクセス権限情報の破棄を指示する（ステップＤ２）。
【００８３】
次に、管理処理部１２は、キーバリューストア装置２０から、アクセス権限情報の破棄が完了した旨の通知が送信されているかどうかを判定する（ステップＤ３）。
【００８４】
ステップＤ３の判定の結果、アクセス権限情報の破棄が完了している場合は、管理処理部１２は、文書データベース３０に中の該当するアクセス権限情報を更新する（ステップＤ４）。具体的には、管理処理部１２は、文書データベース３０に対して、データ更新操作又はデータの削除操作をコミットする。
【００８５】
このように、本実施の形態では、文書管理システム１００上で、更新対象となるアクセス権限情報は、コミットされる前にキャッシュから破棄されているため、コミット後にキャッシュから更新又は削除前のアクセス権限情報が読み出されることは無い。このため、本実施の形態によれば、アクセス権限情報の原子性を確保することができる。
【００８６】
一方、ステップＤ３の判定の結果、アクセス権限情報の破棄が完了していない場合は、原子性を維持するため、管理処理部１２は、更新エラーと判断し、更新リクエストを失敗として扱う（ステップＤ５）。
【００８７】
［実施の形態における効果］
以上のように本実施の形態によれば、１度使用されたアクセス権限情報は、キーバリューストア装置２０にキャッシュされる。そして、この場合、アクセス権限の有無の判定は、キーバリューストア装置２０によって、アクセス権限情報の属性条件とユーザ属性情報との積集合を演算することで行われる。また、アクセス権限情報は、リクエストを行ったユーザだけでなく、関連するユーザに対しても利用可能となり、この点からも、文書管理装置１０でのアクセス権限の有無の判定回数を削減できる。この結果、システム全体のスループットを向上できると共に、アクセス権限の判定処理の効率化を図ることができる。
【００８８】
また、キーバリューストア装置では、アクセス権限の判定処理に使用されたアクセス権限情報のみがメモリに格納されるため、判定対象となるデータを抽出する際に、抽出すべきデータ量を小さくできる。このため、高速、且つ効率良く、アクセス権限を判定できる。
【００８９】
更に、本実施の形態によれば、既存の文書管理システムに、キーバリューストア装置を追加することによって、本実施の形態における文書管理システムを構築できる。そして、その際、文書データベース及び格納されているデータを変更することなく、システムの高速化が可能である。
【００９０】
また、アクセス権限情報の更新又は削除が必要な場合であっても、キャッシュはキーバリューストア装置によって一元管理されているので、キャッシュからアクセス権限情報を破棄するだけで、アクセス権限情報の原子性を維持することができる。
【００９１】
ここで、図１１を用いて、本実施の形態における文書管理システムの効果について説明する。図１１は、従来からの文書管理システムと本発明の実施の形態における文書管理システムとの性能比較を表す図である。
【００９２】
図１１に示すように、ハードディス等で構築されている文書データベースから情報検索によってデータを取得するためにかかる時間は、１００［ｍｓｅｃ］程度である。これに対して、キーバリューストア装置におけるメモリから情報検索によってデータを取得するためにかかる時間は１［ｍｓｅｃ］である。
【００９３】
従って、図１１に示すように、従来からの文書管理システムでは、アクセス権情報と文書情報とをデータベースから取得するためには、合計で２００［ｍｓｅｃ］かかることになる。これに対して、本実施の形態では、アクセス権限情報がキーバリューストア装置に格納されているのであれば、同じ処理にかかる時間は１０１［ｍｓｅｃ］となる。
【００９４】
この結果、例えば、１０００人のユーザが、全員に許可された全社向け通知文書にアクセスする場合、文書管理システム全体で消費する時間は、従来であれば２００秒（１０００人×２００［ｍｓｅｃ］）となるが、本実施の形態では、１０１秒（１０００人×１０１［ｍｓｅｃ］）と短縮される。
【００９５】
［変形例］
上述の実施の形態は、アクセス許可機能のみを説明しているが、本実施の形態では、アクセス拒否機能を提供する態様であっても良い。この態様は、アクセス権限情報のバリュー情報として、アクセスが拒否される属性条件を用い、アクセス許可判定より先にアクセス拒否判定を行い、積集合演算の結果が残った時点でアクセス拒否と判定することで実現可能である。
【００９６】
また、上述の例では、文書アクセス部は、Ｗｅｂアプリケーションサーバ内に構築されているが、本実施の形態はこれに限定されず、文書アクセス部は、ユーザの端末装置内に構築されていても良い。
【００９７】
また、本実施の形態では、キーバリューストア装置は、文書管理システムにおけるアクセス権限の有無の判定に用いられているが、これに限定される趣旨ではない。キーバリューストア装置２０は、ＥＩＰ（エンタープライズインフォーメーションポータル）におけるページ及びポートレットのアクセス権限の有無の判定や、Ｗｅｂページのアクセス権限の有無の判定等に利用されていても良い。
【００９８】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図６に示すステップＢ６、図７に示すステップＣ２、Ｃ５、Ｃ６、Ｃ７を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるキーバリューストア装置を実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、格納処理部２２及び演算処理部２３として機能し、処理を行なう。
【００９９】
ここで、実施の形態におけるプログラムを実行することによって、キーバリューストア装置を実現するコンピュータについて図１２を用いて説明する。図１２は、本発明の実施の形態におけるキーバリューストア装置を実現するコンピュータの一例を示すブロック図である。
【０１００】
図１２に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１０１】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。
【０１０２】
また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１０３】
また、記憶装置１１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１０４】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【０１０５】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【０１０６】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【０１０７】
（付記１）
文書を管理する文書管理装置と、キーバリューストア装置とを備え、
前記文書管理装置は、
ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する、アクセス権限判定部と、
アクセス権限が有ると判定した場合に、要求元によるアクセスを許可すると共に、前記アクセス権限を特定するアクセス権限情報を、前記キーバリューストア装置に出力する、管理処理部と、を備え、
前記キーバリューストア装置は、
メモリと、
出力されてきた前記アクセス権限情報を、キーバリューストア形式によって前記メモリに格納する、格納処理部と、
前記メモリに、前記アクセス要求の対象となった文書についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった文書をキーとして、前記メモリに格納した前記アクセス権限情報から、前記文書のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記アクセス権限判定部の代わりに、アクセス権限の有無を判定する、演算処理部とを、備えている、
ことを特徴とする文書管理システム。
【０１０８】
（付記２）
前記文書管理装置の前記管理処理部が、前記アクセス権限情報として、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報を、前記キーバリューストア装置に出力し、
前記キーバリューストア装置の前記格納処理部が、出力されてきた前記アクセス権限情報を、それが特定する前記文書及び前記操作をキー情報とし、前記ユーザの属性条件をバリュー情報として、前記メモリに格納し、
前記キーバリューストア装置の前記演算処理部が、前記文書に対応する前記キー情報に基づいて、前記メモリから、対応する前記バリュー情報を抽出し、更に、抽出した前記バリュー情報と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果、結果集合が残っている場合に、アクセス権限が有ると判定する、
付記１に記載の文書管理システム。
【０１０９】
（付記３）
前記アクセスが許可されるユーザの属性条件が、組織の階層構造、所属するグループ構成に基づいて設定されている、
付記１または２に記載の文書管理システム。
【０１１０】
（付記４）
前記文書管理装置の前記管理処理部が、前記アクセス権限情報の更新が必要となった場合に、前記キーバリューストア装置に、前記メモリに格納しているアクセス権限情報の破棄を指示し、その後、破棄が完了したことを条件に、前記アクセス権限情報を更新する、
付記１〜３のいずれかに記載の文書管理システム。
【０１１１】
（付記５）
前記アクセス要求が、ユーザが利用するアプリケーションプログラムを提供しているサーバ装置から行われており、
前記サーバ装置は、前記キーバリューストア装置が前記メモリに前記アクセス権限情報を格納しているかどうかを判定し、
判定の結果、前記アクセスアクセス権限情報を格納していない場合は、前記文書管理装置に対して前記アクセス要求を行い、
判定の結果、前記アクセス権限情報を格納している場合は、前記キーバリューストア装置に対してアクセス権限の判定を求める、
付記１〜４のいずれかに記載の文書管理システム。
【０１１２】
（付記６）
メモリと、
ユーザからのアクセス要求に応じてアクセス権限の有無を判定する装置から出力されてきた、前記アクセス権限を特定するアクセス権限情報を、キーバリューストア形式によって前記メモリに格納する、格納処理部と、
前記メモリに、前記アクセス要求の対象についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった対象をキーとして、前記メモリに格納した前記アクセス権限情報から、前記対象のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記装置の代わりに、アクセス権限の有無を判定する、演算処理部とを、備えている、
ことを特徴とするキーバリューストア装置。
【０１１３】
（付記７）
前記装置が文書管理装置であり、前記アクセス権限情報として、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報が出力されている場合に、
前記格納処理部が、出力されてきた前記アクセス権限情報を、それが特定する前記文書及び前記操作をキー情報とし、前記ユーザの属性条件をバリュー情報として、前記メモリに格納し、
前記演算処理部が、前記文書に対応する前記キー情報に基づいて、前記メモリから、対応する前記バリュー情報を抽出し、更に、抽出した前記バリュー情報と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果、結果集合が残っている場合に、アクセス権限が有ると判定する、
付記６に記載のキーバリューストア装置。
【０１１４】
（付記８）
前記アクセスが許可されるユーザの属性条件が、組織の階層構造、所属するグループに基づいて設定されている、
付記６または７に記載のキーバリューストア装置。
【０１１５】
（付記９）
文書を管理する文書管理装置と、キーバリューストア装置とを用いた文書管理方法であって、
（ａ）前記文書管理装置によって、ユーザからの文書のアクセス要求に応じて、要求元のアクセス権限の有無を判定する、ステップと、
（ｂ）前記（ａ）のステップで、アクセス権限が有ると判定した場合に、前記文書管理装置によって、要求元によるアクセスを許可すると共に、前記アクセス権限を特定するアクセス権限情報を、前記キーバリューストア装置に出力する、ステップと、
（ｃ）前記キーバリューストア装置によって、出力されてきた前記アクセス権限情報を、キーバリューストア形式によってメモリに格納する、ステップと、
（ｄ）前記メモリに、前記アクセス要求の対象となった文書についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった文書をキーとして、前記メモリに格納した前記アクセス権限情報から、前記文書のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記文書管理装置の代わりに、アクセス権限の有無を判定する、ステップと、
を有している、ことを特徴とする文書管理方法。
【０１１６】
（付記１０）
前記（ｂ）のステップにおいて、前記文書管理装置の前記管理処理部が、前記アクセス権限情報として、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報を、前記キーバリューストア装置に出力し、
前記（ｃ）のステップにおいて、前記キーバリューストア装置が、出力されてきた前記アクセス権限情報を、それが特定する前記文書及び前記操作をキー情報とし、前記ユーザの属性条件をバリュー情報として、前記メモリに格納し、
前記（ｄ）のステップにおいて、前記キーバリューストア装置が、前記文書に対応する前記キー情報に基づいて、前記メモリから、対応する前記バリュー情報を抽出し、更に、抽出した前記バリュー情報と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果、結果集合が残っている場合に、アクセス権限が有ると判定する、
付記９に記載の文書管理方法。
【０１１７】
（付記１１）
前記アクセスが許可されるユーザの属性条件が、組織の階層構造、所属するグループに基づいて設定されている、
付記９または１０に記載の文書管理方法。
【０１１８】
（付記１２）
（ｅ）前記アクセス権限情報の更新が必要となった場合に、前記文書管理装置によって、前記キーバリューストア装置に、前記メモリに格納しているアクセス権限情報の破棄を指示し、その後、破棄が完了したことを条件に、前記アクセス権限情報を更新する、
付記９〜１１のいずれかに記載の文書管理方法。
【０１１９】
（付記１３）
（ｆ）ユーザが利用するアプリケーションプログラムを提供するサーバ装置によって、前記キーバリューストア装置が前記メモリに前記アクセス権限情報を格納しているかどうかを判定する、ステップと、
（ｇ）前記（ｆ）のステップの判定の結果、前記キーバリューストア装置が前記アクセスアクセス権限情報を格納していない場合は、前記サーバ装置によって、前記文書管理装置に対して前記アクセス要求を行う、ステップと、
（ｈ）前記（ｆ）のステップの判定の結果、前記キーバリューストア装置が前記アクセス権限情報を格納している場合は、前記サー装置によって、前記キーバリューストア装置に対してアクセス権限の判定を求める、ステップと、
を更に有する、付記９〜１３のいずれかに記載の文書管理方法。
【０１２０】
（付記１４）
コンピュータによって、
（ａ）ユーザからのアクセス要求に応じてアクセス権限の有無を判定する装置から出力されてきた、前記アクセス権限を特定するアクセス権限情報を、キーバリューストア形式によって、前記コンピュータのメモリに格納する、ステップと、
（ｂ）前記メモリに、前記アクセス要求の対象についての前記アクセス権限情報が格納されている場合に、前記アクセス要求があった対象をキーとして、前記メモリに格納した前記アクセス権限情報から、前記対象のアクセスが許可されるユーザの属性条件を抽出し、更に、抽出した前記属性条件と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果に基づいて、前記装置の代わりに、アクセス権限の有無を判定する、ステップと、実行させるプログラム。
【０１２１】
（付記１５）
前記装置が文書管理装置であり、前記アクセス権限情報として、アクセスが許可される、文書、その操作、及びユーザの属性条件を特定する情報が出力されている場合に、
前記（ａ）のステップにおいて、出力されてきた前記アクセス権限情報を、それが特定する前記文書及び前記操作をキー情報とし、前記ユーザの属性条件をバリュー情報として、前記メモリに格納し、
前記（ｂ）のステップにおいて、前記文書に対応する前記キー情報に基づいて、前記メモリから、対応する前記バリュー情報を抽出し、更に、抽出した前記バリュー情報と、要求元のユーザの属性を特定する属性情報との積集合を演算し、演算の結果、結果集合が残っている場合に、アクセス権限が有ると判定する、
付記１４に記載のプログラム。
【０１２２】
（付記１６）
前記アクセスが許可されるユーザの属性条件が、組織の階層構造、所属するグループに基づいて設定されている、
付記１４または１５に記載のプログラム。
【産業上の利用可能性】
【０１２３】
以上のように、本発明によれば、文書のアクセス権限の管理を行う場合において、アクセス権限の判定処理の効率化を図ることができる。本発明は、アクセス権限の判定が必要なシステム、例えば、文書管理システム、ＥＩＰ（エンタープライズインフォーメーションポータル）におけるページ及びポートレットのアクセス権限を判定するシステム、Ｗｅｂページのアクセス権限を判定するシステム等に有用である。
【符号の説明】
【０１２４】
１０  文書管理装置
１１  アクセス権限判定部
１２  管理処理部
２０  キーバリューストア装置
２１  メモリ
２２  格納処理部
２３  演算処理部
３０  文書データベース
４０  Ｗｅｂアプリケーションサーバ装置
４１  文書アクセス部
５０  端末装置
６０  ディレクトリサーバ
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
2015185113.tif 000003
【図２】
2015185113.tif 000004
【図３】
2015185113.tif 000005
【図４】
2015185113.tif 000006
【図５】
2015185113.tif 000007
【図６】
2015185113.tif 000008
【図７】
2015185113.tif 000009
【図８】
2015185113.tif 000010
【図９】
2015185113.tif 000011
【図１０】
2015185113.tif 000012
【図１１】
2015185113.tif 000013
【図１２】
2015185113.tif 000014