説明

文書管理システム、文書管理方法、検索装置、検索プログラム

【課題】ネットワーク内に分散している同一文書から派生した文書について、その前後関係を自動的に判別し、バージョン関係を明らかにすることができる文書管理システムを提供する。
【解決手段】ユーザにより指定された指定文書を受信する受信手段と、受信した指定文書から、署名情報を抽出する抽出手段と、指定文書のバージョンの異なる文書の署名情報の内、抽出手段により抽出された署名情報と一致する署名情報を有する文書を記憶手段から検索する検索手段と、検索結果に基づき、指定文書及び指定文書のバージョンの異なる文書の文書情報と、署名情報に基づき決定されるバージョン情報とを関連付けて表示するための制御を行う表示制御手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書を管理する文書管理システムに関する。
【背景技術】
【0002】
従来、文書のバージョンを検索する技術として、特許文献1に記載されているように、文書管理システムに保管される文書について、直前及び直後のバージョンの文書IDを関連付けて保存しておく文書管理システムが知られている。そのような文書管理システムによって、ある特定の文書について関連付けられている直前及び直後のバージョンの文書IDを順に辿ることで、特定のバージョンの文書を取得することができる。
【0003】
従来の文書管理システムにおいて、文書作成や編集、複製などの各操作が管理されていて、各操作によりバージョンが更新されると、文書管理システムにより新しい文書IDを付与された文書が生成される。しかしながら、例えば、メーラによるメール送信やローカル環境にダウンロードした後の修正等のように、文書管理システムの機能を使用せずに文書が生成、複製、更新された場合には、文書管理システムが、各操作の実行のイベントを検知できない。そのため、関連性を保持するための文書IDを文書管理システムが生成、付与及び保管することができないので、元の文書と新しい文書との前後関係を保持することができず、目的のバージョンの文書を取り出すことができなくなってしまう。
【0004】
一般オフィスのイントラネット内で文書管理システムが運用されている場合等に、そのようなケースが多く発生することが考えられる。例えば、イントラネットの外部に持ち出すために、文書管理システムから取り出した文書をノートPCやリムーバブルメディアにコピーする場合がある。そのような場合に、再びイントラネットに接続した環境に文書を置いたとしても、文書管理システムは、その文書を検知することができない。即ち、文書管理システムにおいて文書IDで管理された状態ではないので、文書IDでその文書を特定することができない。従って、前バージョンからバージョン関係を辿ることができず、関連バージョンを検索することができない。
【0005】
また、ダウンロードした文書を他部門に公開するために部門間共有サーバに保存したり、メール等で他部門のメンバーに送信したりした場合においても、文書管理システムはその文書がメール転送されたことを検知できない。即ち、文書管理システム内で文書IDで管理された状態ではなくなり、文書IDでその文書を特定できないので、メールで転送された文書を、文書管理システムにおける文書との前後関係で管理することができない。また、文書管理システムは、転送された文書のロケーション情報も保持していないので、関連バージョンを検索することができない。
【0006】
また、他の従来技術では、同一のファイル名又は文書名であることを前提に同一文書として扱い、文書の更新日付でバージョン関係を判断する場合もある。しかしながら、そのような場合に、ファイル名又は文書名を使用者が別名で保存してしまうと、同一派生文書と判断することができなくなってしまう。更に、メールにおける送受信において、一般的に更新日付などの属性情報は保持されない場合が多く、バージョン関係を属性から判断することは難しい。従って、そのような場合では、正規のバージョン関係を検知する方法がなく、バージョン関連情報が偽装されてしまうリスクがある。
【特許文献1】特開平09−34763号公報(段落[0067])
【発明の開示】
【発明が解決しようとする課題】
【0007】
そこで、上記の点に鑑み、本発明は、ネットワーク内に分散している共通の署名を有する文書について、その前後関係を自動的に判別し、バージョン関係を明らかにすることができる文書管理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る文書管理システムは、文書の格納位置を示すロケーション情報を含む文書情報と当該文書の署名情報とが関連付けられて登録される記憶手段を備える文書管理システムであって、ユーザにより指定された指定文書を受信する受信手段と、受信手段により受信した指定文書から、署名情報を抽出する抽出手段と、指定文書のバージョンの異なる文書の署名情報の内、抽出手段により抽出された署名情報と一致する署名情報を有する文書を記憶手段から検索する検索手段と、検索手段による検索結果に基づき、指定文書及び指定文書のバージョンの異なる文書の文書情報と、署名情報に基づき決定されるバージョン情報とを関連付けて表示するための制御を行う表示制御手段とを備える。
【発明の効果】
【0009】
本発明によれば、ネットワーク内に分散している同一文書について、その前後関係を自動的に判別し、バージョン関係を明らかにすることができる。
【発明を実施するための最良の形態】
【0010】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0011】
図1は、本実施形態に係る検索装置を含む文書管理システムの全体構成を示す図である。本発明においては、例えば、ユーザに対して文書管理システムの機能を提供するための文書管理アプリケーションを、ウェブサービス(Webアプリケーション)として提供する。図1に示すように、文書管理システムは、ストレージサーバ1001と、検索サーバ1005と、クライアント端末1006とを含んでいる。ストレージサーバ1001は、各種文書ファイルを記憶し、ネットワーク上の端末から文書に対してアクセスすることができる。クライアント端末1006は、検索する元となる文書を指定する端末である。検索サーバ1005は、インデキシングサービス1002とバージョン検索サービス1004とデータベース1003を含んでいる。本実施形態においては、クライアント端末1006は、ユーザ端末ともいう。
【0012】
インデキシングサービス1002は、ネットワーク上に分散している文書にアクセスし、文書の格納位置を示すロケーション情報を取得し、バージョン検索に必要なデータを文書から抽出・生成することによってインデキシングを行う。ここで、ロケーション情報とは、文書の場所を特定することができる情報をいう。例えば、ファイルサーバ上の文書であれば、ファイルサーバ名と共有フォルダから成る文書が格納されているネットワークパスと、文書名の組み合わせとなる。また、データベース内の文書であれば、ネットワーク上で一意に認識できるデータベースサーバ名と、データベースインスタンス名及びデータベース内のテーブル名と、プライマリキーの組み合わせとなる。データベース1003は、インデキシングデータを文書のロケーション情報とともに格納している。
【0013】
バージョン検索サービス1004は、検索対象の文書から検索情報を抽出・生成し、データベース1003に対して、検索した結果を判定して結果を返信する。本実施形態において、以上のサービス及びデータベースは1つのサーバ上に集約されずに、複数のサーバ上に構成することによって負荷を分散するようにしても良い。
【0014】
図2は、図1におけるストレージサーバとクライアント端末のハードウエア構成の一例を示す図である。図2に示すホストコンピュータ100は、ストレージサーバ1001を構成するコンピュータ装置を示し、画像形成装置300は、クライアント端末1006を構成するコンピュータ装置を示している。また、図2に示すように、ホストコンピュータ100と画像形成装置300とが、ネットワーク等を介して通信できるように接続されている。
【0015】
まず、ホストコンピュータ100の構成について説明する。尚、図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当し、本実施形態のホストコンピュータ100には一般的な情報処理装置のハードウェア構成を適用することができる。図2において、CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。ここで、OSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下、オペレーティングシステムのことをOSという。後述する各フローチャートの処理は、そのプログラムの実行により実現することができる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。PRTC208は、接続された画像形成装置300との間の信号の交換を制御する。接続のための回線310には、LANやUSB等、種々の接続形態を適用することができる。ネットワークコントローラ(NC)212はネットワークに接続され、ネットワークに接続された他の機器との通信制御処理を実行する。ここで、ネットワークを介して、更に他の画像形成装置、周辺機器と接続する構成であってもよい。
【0016】
次に、画像形成装置300の構成について説明する。図2に示すように、画像形成装置300において、CPU301は画像形成装置300のCPUであり、ROM302や、外部メモリ303に記憶された制御プログラムに基づいて、システムバス304に接続される各ブロックを制御する。CPU301の処理により生成された画像信号が、印刷部インタフェース305を介して、印刷部(画像形成装置エンジン)306に出力情報として出力される。また、CPU301は、入力部307を介してホストコンピュータ100との通信処理が可能であり、画像形成装置300内の情報等をホストコンピュータ100に通知できる。ROM302内のプログラムROMには、CPU301の制御プログラム等が格納されている。ROM302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等が格納されている。ハードディスク等の外部メモリ303がない画像形成装置の場合に、ROM302内のデータ用ROMには、ホストコンピュータ100上で利用される情報等が格納されている。RAM308は、CPU301の主メモリや、ワークエリア等として機能するRAMであり、図示されていない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。また、RAM308は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。外部メモリ303は、メモリコントローラ(MC)309によりアクセスを制御されている。外部メモリ303には、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等が格納されている。また、操作部311は操作のためのスイッチ及びLED表示器等で構成されている。スキャナインタフェース312は、スキャナ部313から受取った画像データに対して、補正、加工、及び編集を行う。スキャナ部313は、原稿上の画像を露光走査して得られた反射光をCCDに入力することで画像の情報を電気信号に変換する。更に、電気信号をR(赤)、G(緑)、B(青)の各色からなる輝度信号に変換し、輝度信号を画像データとして読み込む。ユーザが操作部311から読み取り開始を指示すると、スキャナ部313に原稿読み取り指示が与えられる。スキャナ部313は、原稿読み取り指示を受信すると原稿の読み取り動作を行う。なお、原稿の読み取り方法は不図示の原稿フィーダにセットされる自動送り方式の形態であってもよい。また、原稿を不図示のガラス面上に載せ、露光部を移動させることで原稿の走査を行う方法であってもよい。
【0017】
図3は、図1に示すシステムで利用されるデータの構造を示す図である。図3に示すように、「状態1」は、文書を新規に作成した場合を示す。次に、承認、即ち、文書に対して電子署名の付与を行うと、「状態2」に示すように、「状態1」のデータの末尾に署名データが付与される。本実施形態においては、文書に対して最初に付与された署名データを「第1署名」ともいう。そのような署名処理は、クライアント端末1006上にインストールされた文書編集アプリケーション又はストレージサーバの機能等を用いてユーザが付与するようにしても良い。また、一般的に、「状態2」における文書がバージョン1とされる。
【0018】
また、本実施形態において、署名情報には、署名を付与する対象の文書に関するハッシュ値と、証明書とが記憶されている。また、本実施形態において、証明書には、証明書のシリアル番号や、証明書の発行元がどこのサーバであるかを示す情報や、証明書の保持者及び保持者の所属組織等に関する情報や、証明書の有効期間等の情報が記載されている。
【0019】
更に、「状態2」から編集を行うと、編集データは、「状態3」のように編集内容が状態2の末尾に追加される。ここで、再度、承認、即ち、文書に対して電子署名の付与を行うと、「状態4」に示すように、「状態3」のデータの末尾に署名データが付与される。本実施形態においては、文書に対して2番目に付与された署名データを「第2署名」ともいう。その署名データの付与処理は、上記と同様、クライアント端末1006上にインストールされた文書編集アプリケーション又はストレージサーバの機能等を用いてユーザが付与するようにしても良い。また、一般的に、「状態4」における文書がバージョン2とされる。本実施形態においては、新規に作成された文書(図3に示す状態1)に付与され、「第1署名」や「第2署名」のような複数の署名データを総称して「署名情報」という。本実施形態においては、以上のように、署名データによって、その文書に対して何度目に署名が付与されたかが識別可能となり、編集履歴と対応付けられることができる。
【0020】
図4は、検索サーバのインデキシングサービスによるインデキシング処理の概要を示す図である。以下、図4を参照しながら、本実施形態におけるインデキシング処理の概要を説明する。
【0021】
文書データ4001は、バージョン1とみなされる文書データである。署名情報4002は、文書データ4001に付与されている全ての署名データを示し、署名データ4002aは、その内の最初の署名データを示している。文書データ4003は、バージョン2とみなされる文書データである。署名情報4004は、文書データ4003に付与されている全ての署名データを示し、最初に付与された署名データ4002aと2番目に付与された署名データ4004bを含んでいる。データベース1003は、抽出された署名情報4002又は4004を文書のロケーション情報と共に格納している。
【0022】
図5は、検索サーバにおけるインデキシングサービスのモジュール構成を示す図である。以下、図5を参照しながら、本実施形態におけるインデキシングサービスの各モジュールの役割を説明する。
【0023】
モジュール5001は、文書検知部であって、ネットワーク上の文書にアクセスし、アクセスした文書がインデキシングする必要があるか否かを判定することにより、インデキシング対象の文書を検知する。その場合の判定方法は、例えば、データベース1003に登録されている同じロケーション情報を有する文書情報と比較し、更新日付が更新されているか否かや、文書ハッシュ値が変更されているか否か等を判定する。
【0024】
モジュール5002は、文書情報収集制御部であって、インデキシングに必要な文書情報の収集を制御する。モジュール5003は、ロケーション情報取得部であって、モジュール5001において検知された文書のロケーション情報を取得する。モジュール5004は、属性情報取得部であって、モジュール5001で検知された文書の更新日付などの属性情報を取得する。モジュール5005は、ローカルバージョン情報取得部であって、モジュール5001で検知された文書について、取得可能で文書において編集される度に蓄積される編集履歴を示すローカルバージョン情報が存在するか否かを判定する。ここで、存在すると判定された場合には、ローカルバージョン情報を取得する。
【0025】
モジュール5006は、署名データ取得制御部であって、モジュール5001で検知された文書に付与されている署名データ取得処理を制御する。モジュール5007は、文書取得部であって、モジュール5006から指示された文書データを取得する。モジュール5008は、署名データ抽出部であって、モジュール5006から受信した文書データから署名データを抽出する。モジュール5009は、データベースアクセス部であって、文書についての各種情報をデータベース1003に格納し、又は、データベース1003から取り出しを行う。データベース1003には、モジュール5002が収集した文書についての各種情報が格納されている。
【0026】
図6は、検索サーバにおけるインデキシングサービスの処理の手順を示すフローチャートである。
【0027】
まず、ステップS6001において、モジュール5001に示す文書検知部が、毎夜間など定期的にネットワーク上に存在する文書を探索する。その結果、文書が検出されれば、ステップS6002において、モジュール5001により、その文書が既にインデキシング済みか否かが判定される。その場合に、データベース1003に登録されている同じロケーション情報を有する文書情報と比較することによって判定されても良い。また、例えば、更新日付が更新されているか否かや、文書ハッシュ値が変更されているか否かによって判定されても良い。ここで、検出された文書がインデキシング済みであると判定された場合に、そのまま処理は終了する。一方、インデキシングされていないと判定された場合に、モジュール5002に示す文書情報収集制御部が、その文書についての各種情報を収集する。
【0028】
ステップS6003において、モジュール5002は、モジュール5003に示すロケーション情報取得部により、その文書のロケーション情報を取得する。次に、ステップS6004において、モジュール5004に示す属性情報取得部により、その文書の属性情報を取得する。ステップS6005において、ローカルバージョン情報を有しているか否かが判定される。ここで、ローカルバージョン情報を有していると判定された場合には、ステップS6006に進み、モジュール5005に示すローカルバージョン情報取得部により、その文書のローカルバージョン情報を取得する。ローカルバージョン情報を有していないと判定された場合には、ステップS6008に進む。
【0029】
次に、ステップS6008において、モジュール5002は、モジュール5006に示す署名データ取得制御部にその文書の署名データを取得するよう指示する。モジュール5006は、モジュール5007に示す文書取得部により文書を取得し、取得した文書をモジュール5008に示す署名データ抽出部に送信する。モジュール5008において、署名データが抽出され、モジュール5002に返信される。モジュール5002は、ステップS6009〜S6012において収集された文書についての各種情報をモジュール5009に示すデータベースアクセス部を介してデータベース1003に格納する。ここでの各種情報とは、ロケーション情報、署名データ、属性情報、ローカルバージョン情報をいう。
【0030】
図7は、検索サーバの検索サービスによる検索処理の概要を示す図である。以下、図7を参照し、本実施形態における検索処理の概要を説明する。
【0031】
文書データ7001は、バージョン2とみなされる文書データである。本実施形態においては、文書データ7001が、ユーザにより検索元文書として指定されたとする。署名情報7002に含まれる署名データ7002aは、文書データ7001に付与されている署名データの内、最初に付与された署名データを示し、検索サービスにより、文書データ7001から署名データ7002aが抽出される。検索サービスは、例えば、パターンマッチングによって、データベース1003に登録されている署名データから、署名データ7002aと一致する署名データを含む署名情報を検索する。図7においては、その結果、署名情報7003と7005がヒットする例が示されている。署名情報7003と署名情報7005は、それぞれバージョン1、バージョン3とみなされる文書データ7004と文書データ7006の署名情報に対応している。署名情報7005は、最初に付与された署名データ7002a、2番目に付与された7005b、3番目に付与された7005cを含んでいる。データベース1003には、署名データに関連付けられたロケーション情報も格納されている。従って、検索サービスにより、ネットワーク上に散在する同一系列の文書について、そのバージョン番号と、実文書を特定可能なロケーション情報とをユーザに提示することができる。
【0032】
図8は、検索サーバにおける検索サービスのモジュール構成を示す図である。以下、図8を参照して、本実施形態における検索サービスの各モジュールが担う役割を説明する。
【0033】
モジュール8001は、ユーザインタフェース部であって、ユーザが検索元の文書を指定し、又は、結果を受け取る。モジュール8002は、検索元文書受信部であって、モジュール8001により指定された検索元文書の文書データを受信する。モジュール8003は、検索キー生成部であって、受信した文書を元に検索キーの生成制御をする。モジュール8004は、署名データ抽出部であって、モジュール8003に指定された文書データから署名データを抽出する。モジュール8005は、データ検索部であって、モジュール8003で生成された検索キーによって検索処理を実行する。モジュール8006は、データベースアクセス部であって、データベース1003にアクセスをする。モジュール8007は、返信データ生成部であって、モジュール8005から送信された検索結果を元に、返信データの生成を制御する。例えば、返信結果に含まれる文書のバージョン判定や、主系統の文書であるか否か等の判定はモジュール8008を用いて判定し、返信データを生成する。モジュール8008は、バージョン判定部であって、モジュール8007から受信した文書の署名データを元に、バージョン判定処理を行う。例えば、図7に示す署名情報7003は、文書に付与されている署名が1つであるのでバージョン1と判定し、署名情報7005は、文書に付与されている署名が3つであるのでバージョン3と判定する。ここで、署名データに含まれる部門情報や署名者情報等から、付与されている署名がすべて同一の部門で付与された文書については、主系統の文書と判定する等の判定処理を行っても良い。モジュール8009は、データ返信部であって、モジュール8007で生成された返信データをモジュール8001に返信する。
【0034】
図9は、検索サーバにおける検索サービスの処理の手順を示すフローチャートである。
【0035】
まず、ステップS9001において、ユーザがモジュール8001に示すユーザインタフェース部で検索元文書として指定した文書を、モジュール8002に示す検索元文書受信部が受信する。次に、ステップS9002において、モジュール8003に示す検索キー生成部は、モジュール8004に示す署名データ抽出部により文書に付与されている第1署名を抽出する。
【0036】
次に、ステップS9004において、モジュール8003に示す検索キー生成部により、抽出した第1署名に基づき、検索用の情報を生成する。例えば、第1署名からハッシュ値を抽出することによって、検索用の情報を生成する。
【0037】
ステップS9005において、モジュール8005に示すデータ検索部は、検索キー生成部により生成された検索キーを用いて、モジュール8006に示すデータベースアクセス部を介し、データベース1003から同一署名を検索する。ここで、検索キーとしてハッシュ値のみを使用する等、署名データを部分的に利用した場合には、モジュール8005において、同一署名かどうかを判定するためにヒットした署名データと検索元文書から抽出した第1署名が同一であるか否かを確認する。
【0038】
ステップS9006において、モジュール8005は、検索結果の有無を判定する。ここで、検索元文書の第1署名と同一の署名を含むデータが検出されなかった場合には、モジュール8009に示すデータ返信部が、ヒットしなかった旨のデータをモジュール8001に返信する。一方、検索元文書の第1署名と同一の署名を含むデータが検出された場合には、ステップS9007に進み、モジュール8008に示すバージョン判定部によりバージョン判定が行われる。バージョン判定については、後述する。バージョン判定が行われると共に、ステップS9008において、返信データ生成部が、ヒット文書に対応する文書のロケーション情報、署名データ、属性情報、ローカルバージョン情報等をモジュール8005を介して抽出し、返信データを生成する。ステップS9009において、モジュール8009は、生成された返信データを、検索結果としてモジュール8001に返信する。結果を受信したモジュール8001は、ユーザに対して検索結果を表示する。
【0039】
図10は、図9に示すバージョン判定処理の手順を示すフローチャートである。本フローチャートにおいて、文書毎に判定が行われる。即ち、ステップS10001〜S10009のループをモジュール8008に入力される文書毎に繰り返し実行する。
まず、ステップS10002において、文書に付与されている署名をデータベース1003から取り出す。
【0040】
次に、第2署名から順に署名毎に、ステップS10003〜S10007のループが繰り返し実行される。まず、S10004において、1つ前の署名と同一のシステム(又は、同一の個人やその他のデータでも良い)の署名が行われているか否かが判定される。ここで、同一のシステムの署名が行われていると判定された場合には、ステップS10005に進む。ステップS10005において、直前の署名、即ち、その署名を付与されたバージョンから同じシステム(又は、個人やその他のデータでも良い)によって継続してメンテナンスされてきたと判断し、前バージョンの直系バージョンとして扱う。一方、同一のシステムの署名が行われていないと判定された場合には、ステップS10006において、前バージョンから派生したバージョンとして扱う。全ての署名データについて上記の処理が終了すると、ステップS10008において、その文書に付与されている署名データ数をカウントし、その文書のメジャーバージョン番号として決定する。
【0041】
図11は、本実施形態における検索ダイアログの表示の一例を示す図である。図11に示す検索ダイアログは、ユーザが検索を行う場合に表示される。
【0042】
テキストボックス11001は、検索元文書の文書パス及び文書名を入力し、又は、表示する。ボタン11002は、テキストボックス11001で表示される情報をファイルシステム等から探す際に用いられる文書参照ダイアログ表示ボタンである。文書参照ダイアログで指定された文書の文書パス及び文書名が、テキストボックス11001に入力される。ボタン11003は、押下されることによって、テキストボックス11001で指定された文書が検索サービスのモジュール8002に送信され、検索処理が開始される。表示11004は、検索結果を表示する結果出力窓である。
【0043】
図12は、本実施形態における検索結果の一例を示す図である。検索結果は、図11に示す表示11004において表示される。本実施形態において、検索サーバ1005は、クライアント端末1006において文書情報とバージョン情報とを関連付けて表示するように制御する表示制御手段としての役割を果たす。
【0044】
アイコン12001は、バージョン1の文書を示す。表示12002は、バージョン1の文書が実際に存在する文書ロケーションの一覧を示し、ここでは、2文書存在することが示されている。アイコン12003は、バージョン2の文書を示す。表示12004は、バージョン2の文書が実際に存在する文書ロケーションの一覧を示し、ここでは、3文書存在することが示されている。また、その内の1つの文書が、検索元文書であることが示されている。
【0045】
アイコン12005は、バージョン3の文書を示す。また、図12に示すように、アイコン12005の傍に最新版である旨のマークが表示されているので、ユーザは、アイコン12005で示される文書が最新版であることを認識することができる。表示12006は、バージョン3の文書が実際に存在する文書ロケーションの一覧を示し、ここでは、1つの文書だけ存在することが示されている。
【0046】
アイコン12007は、バージョン2の文書について変更が加えられている文書を示す。表示12008は、アイコン12007が示す文書が実際に存在するロケーションの一覧を示している。
【0047】
表示12002、12004、12006、12008は、それぞれのロケーション情報を示す文字列が実文書に対してリンクされており、例えば、それらの文字列をマウス等で指定することによって、実文書をダウンロード又は表示することができる。
【0048】
また、図12に示す表示12002、12004、12006、12008は、文書パス及び文書名のみ表示されているが、例えば、更新日時や作成者、署名者、署名した組織等の情報が表示されても良い。また、アイコン12001、12003、12005を接続する太実線は、バージョン1の文書の署名と同じ部署、又は同じ署名者が署名してバージョン改訂を行ったことを表す主系統のバージョン(正規バージョン)であることを示している。一方、アイコン12003からアイコン12007を接続する細実線は、派生バージョンであることを示している。
【0049】
以上のように、本実施形態においては、ネットワークに分散配置された文書のバージョンについて文書に付与された署名データを元に、自動的にそれらの関連を検出し、指定した文書に対する各バージョンの文書を検索し、又は、取り出しを行うことができる。その場合に、本実施形態においては、文書管理システムにより管理された操作だけでなく、文書管理システムが、格納先を管理できないメール等の様々な方法によってネットワークに分散配置された文書についても適用することができる。
【0050】
更に、文書が異なる名前で保存されている場合においても、署名データを元に判定を行うことにより、確実に、同一文書又は派生文書を判定することができる。また、署名データという信頼性の高い情報を元に判定処理を行うので、改竄等が行われても、容易に検知することができ、正規のバージョン情報を信頼性高く判別することができる。
【0051】
本実施形態においては、署名の付与については、ユーザの運用時に署名を付与することを前提としている。しかしながら、例えば、図13に示すように、ストレージサーバ1001に対して文書の入力処理又は文書の出力処理を実行する過程において、必ず、ストレージアクセスサービスを経由するようにし、署名が付与されるような構成とされても良い。
【0052】
一般的に、基本的なクライアントサーバシステムにおいて、文書の編集を行う場合には、ストレージアクセスサービスのようなアクセスコンポーネントが、ストレージサーバからクライアント端末に文書をダウンロードする。また、編集後には、ストレージアクセスサービスのようなアクセスコンポーネントが、編集後の文書をストレージサーバに再格納する。従って、ストレージサーバ1001に対する入出力時に、自動的に文書に署名が付与される。従って、ユーザが署名付与を意識せずに、ダウンロードしたファイルがネットワーク上に分散しても一度ストレージサーバに格納された文書であれば、検索が可能となり、ユーザの利便性、又は、検索対象の拡大を行うことができる。
【0053】
以上の説明においては、署名でのみバージョン判定が行われている。図14に示すように、ユーザが、文書を一度クライアント端末や別サーバに移動し、クライアント端末や別サーバのローカル環境において編集更新を行った場合に、ストレージサーバ1001から出力された文書は、全て同じバージョンであると判定されている。
【0054】
そこで、本実施形態においては、モジュール8008に示すバージョン判定部が、最後に付与された署名の後に編集記録のある文書の場合に、署名データを元にバージョン判定を行い、更に、リビジョン生成処理を行うようにしても良い。
【0055】
図15は、本実施形態において、リビジョン生成処理の手順を示すフローチャートである。図15に示すフローチャートは、図10において説明したステップS10001〜S10008にステップS15001〜S15005を加えた処理を示している。
【0056】
図15に示すステップS10008まで、図10と同様の処理を行い、その結果、バージョン番号が確定する。その後、ステップS15001において、最後に付与された署名後に、その文書に編集記録があるか否かが判定される。ここで、編集記録があると判定された場合に、ステップS15003に進み、次に利用できるローカルバージョン情報があるか否かが判定される。ここで、利用できるローカルバージョン情報があると判定された場合には、ステップS15004において、ローカルバージョン情報をリビジョン情報として採用する。一方、利用できるローカルバージョン情報がないと判定された場合に、ステップS15005で、同一バージョンと判定されている文書同士で文書の更新日付情報を比較し、古い日付の文書を小さいリビジョンとし、新しい日付の文書を大きいリビジョンとする。本フローチャートに示すように、文書の署名に対応付いていない編集記録がない場合には、最後に付与された署名により正規バージョンとしてバージョンが決定される。一方、文書の署名に対応付いていない編集記録がある場合には、派生バージョン(リビジョン)としてバージョンが決定される。
【0057】
ローカルバージョン情報や更新日付によるバージョン判定方法は、署名データによる判定方法に比べると、信頼性の点で十分とはいえないので、結果を示すユーザインターフェースを工夫することによって参考情報である旨を示すようにしても良い。
【0058】
図16は、本実施形態における検索結果の他の例を示す図である。図16に示すように、アイコン16001とアイコン16003を接続している破線によって、署名データのみによって判定された場合の実線と区別されている。
【0059】
本実施形態において図16に示すような結果表示を行うことによって、入出力時に強制的に署名の付与を行うストレージサーバ以外に分散した文書が、編集後に署名が行われないような場合にも、より詳細なバージョン判定を行うことができる。
【0060】
以上のように、本実施形態の説明においては、ユーザが特定の文書を指定して検索した場合に、ネットワーク上から関連する同一系列の文書を取り出せるようにしている。ここで、検索機能だけでなく他の機能を用いている場合において本実施形態を適用するようにしても良い。例えば、ある文書の印刷を指示した場合に、図11に示すボタン11003を押下した場合と同様の処理により関連文書の検索を行い、印刷指示した文書よりも最新の文書があるか否かを自動的に確認するようにしても良い。その場合に、指定文書よりも最新の文書が存在しなければ、そのまま印刷を実行する。一方、より新しい文書が存在するのであれば、ユーザインタフェース上にメッセージボックスを表示し、指定文書の代わりに最新文書を印刷するか否かをユーザに確認させるようにしても良い。その結果、印刷時に自動的に最新文書か否かの判定が行われることにより、誤って古い文書を印刷し、再度印刷し直すということを防ぐことができる。また、印刷前に、類似文書を探し、最新文書であるか否かの確認を行う手間を省くことができる。
【0061】
本実施形態における文書管理システムは、ネットワーク内に分散している類似文書に対して、同一文書なのか同じ文書から派生した別文書なのかを判別することができる。更に、同一文書から派生した文書について、その前後関係を自動的に判別し、バージョン関係を明らかにすることができる。また、メール等の様々な手法でネットワーク内に分散配置された場合であっても、ある文書に対するバージョン情報(署名)を検出し、検出したバージョン情報に基づき、その文書に関連するバージョン違いの文書の検索又は取り出しを行うことができる。
【0062】
本発明には、プログラムコード(検索プログラム)の指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0063】
【図1】本実施形態に係る検索装置を含む文書管理システムの全体構成を示す図である。
【図2】図1におけるストレージサーバとクライアント端末のハードウエア構成の一例を示す図である。
【図3】図1に示すシステムで利用されるデータの構造を示す図である。
【図4】検索サーバのインデキシングサービスによるインデキシング処理の概要を示す図である。
【図5】検索サーバにおけるインデキシングサービスのモジュール構成を示す図である。
【図6】検索サーバにおけるインデキシングサービスの処理の手順を示すフローチャートである。
【図7】検索サーバの検索サービスによる検索処理の概要を示す図である。
【図8】検索サーバにおける検索サービスのモジュール構成を示す図である。
【図9】検索サーバにおける検索サービスの処理の手順を示すフローチャートである。
【図10】図9に示すバージョン判定処理の手順を示すフローチャートである。
【図11】本実施形態における検索ダイアログの表示の一例を示す図である。
【図12】本実施形態における検索結果の一例を示す図である。
【図13】本実施形態において、文書格納サーバアクセスサービスを経由し、署名が付与される構成を示す図である。
【図14】ユーザが、クライアント端末や別サーバのローカル環境において編集更新を行う場合を説明する図である。
【図15】本実施形態において、リビジョン生成処理の手順を示すフローチャートである。
【図16】本実施形態における検索結果の他の例を示す図である。
【符号の説明】
【0064】
1001 ストレージサーバ
1002 インデキシングサービス
1003 データベース
1004 バージョン検索サービス
1005 検索サーバ
1006 クライアント端末

【特許請求の範囲】
【請求項1】
文書の格納位置を示すロケーション情報を含む文書情報と当該文書の署名情報とが関連付けられて登録される記憶手段を備える文書管理システムであって、
ユーザにより指定された指定文書を受信する受信手段と、
前記受信手段により受信した前記指定文書から、署名情報を抽出する抽出手段と、
前記指定文書のバージョンの異なる文書の署名情報の内、前記抽出手段により抽出された前記署名情報と一致する署名情報を有する文書を前記記憶手段から検索する検索手段と、
前記検索手段による検索結果に基づき、前記指定文書および前記指定文書のバージョンの異なる文書の文書情報と、前記署名情報に基づき決定されるバージョン情報とを関連付けて表示するための制御を行う表示制御手段と
を備えることを特徴とする文書管理システム。
【請求項2】
前記検索手段は、前記署名情報に基づくハッシュ値により検索を行うことを特徴とする請求項1に記載の文書管理システム。
【請求項3】
前記検索手段は、前記記憶手段に登録されている署名情報に含まれる第1署名と、前記抽出手段により抽出された署名情報に含まれる第1署名とが一致する署名情報を有する文書を検索し、
当該第1署名とは、文書に対して最初に付与された署名であることを特徴とする請求項1又は2に記載の文書管理システム。
【請求項4】
文書情報は、編集される度に蓄積される編集履歴を含み、
前記記憶手段に対して文書が登録される際に、新たに文書が登録される場合には、当該文書に対して第1署名を付与し、
文書に新たに編集履歴が蓄積される場合には、当該文書に対して、何度目に付与されたかが識別可能な署名を新たに蓄積された編集履歴に対応付けて付与する付与手段を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の文書管理システム。
【請求項5】
文書のバージョン情報を前記署名情報に含まれる署名に基づいて決定する決定手段を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の文書管理システム。
【請求項6】
前記バージョン情報により、文書が正規バージョン又は派生バージョンであるかが示され、
前記決定手段は、文書のバージョン情報を決定する際に、
文書の署名に対応付いていない編集履歴が無い場合には、最後に付与された署名に基づき、正規バージョンとしてバージョン情報を決定し、
文書の署名に対応付いていない編集履歴がある場合には、当該編集履歴に含まれる日付情報に基づき、派生バージョンとしてバージョン情報を決定することを特徴とする請求項5に記載の文書管理システム。
【請求項7】
前記表示制御手段は、前記正規バージョン又は前記派生バージョンであることを識別可能に表示するように制御することを特徴とする請求項6に記載の文書管理システム。
【請求項8】
文書の格納位置を示すロケーション情報を含む文書情報と当該文書の署名情報とが関連付けられて登録される記憶手段を備える文書管理システムにおいて実行される文書管理方法であって、
前記文書管理システムの受信手段が、ユーザにより指定された指定文書を受信する受信工程と、
前記文書管理システムの抽出手段が、前記受信工程により受信した前記指定文書から、署名情報を抽出する抽出工程と、
前記文書管理システムの検索手段が、前記指定文書のバージョンの異なる文書の署名情報の内、前記抽出工程により抽出された前記署名情報と一致する署名情報を有する文書を前記記憶手段から検索する検索工程と、
前記文書管理システムの表示制御手段が、前記検索工程による検索結果に基づき、前記指定文書および前記指定文書のバージョンの異なる文書の前記文書情報と、前記署名情報に基づき決定されるバージョン情報とを関連付けて表示するための制御を行う表示制御工程と
を備えることを特徴とする文書管理方法。
【請求項9】
文書の格納位置を示すロケーション情報を含む文書情報と当該文書の署名情報とが関連付けられて登録される記憶手段を備える検索装置であって、
ユーザにより指定された指定文書を受信する受信手段と、
前記受信手段により受信した前記指定文書から、署名情報を抽出する抽出手段と、
前記指定文書のバージョンの異なる文書の署名情報の内、前記抽出手段により抽出された前記署名情報と一致する署名情報を有する文書を前記記憶手段から検索する検索手段と
を備えることを特徴とする検索装置。
【請求項10】
前記検索手段は、前記署名情報に基づくハッシュ値により検索を行うことを特徴とする請求項9に記載の検索装置。
【請求項11】
前記検索手段は、前記記憶手段に登録されている署名情報に含まれる第1署名と、前記抽出手段により抽出された署名情報に含まれる第1署名とが一致する署名情報を有する文書を検索し、
当該第1署名とは、文書に対して最初に付与された署名であることを特徴とする請求項9又は10に記載の検索装置。
【請求項12】
文書の格納位置を示すロケーション情報を含む文書情報と当該文書の署名情報とが関連付けられて登録される記憶手段を備えるコンピュータを、
ユーザにより指定された指定文書を受信する受信手段と、
前記受信手段により受信した前記指定文書から、署名情報を抽出する抽出手段と、
前記指定文書のバージョンの異なる文書の署名情報の内、前記抽出手段により抽出された前記署名情報と一致する署名情報を有する文書を前記記憶手段から検索する検索手段と
として機能させることを特徴とする検索プログラム。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate