(57)【要約】【課題】  既存の文書管理装置の改変を低減し、且つ、対話応答性が良く、さらにユーザが謄本を作成しようとした後で原本の更新があった場合に更新が反映された謄本が作成される謄本作成機構を提供すること。【解決手段】  文書管理装置と仲介装置と電子透かし埋め込み装置とからなる謄本作成機構であって、仲介装置は非同期で謄本作成を行う際に、作成直前に文書の最新版を文書管理装置に問合せる構成とする。【選択図】  図１
2008028637.tif 000002
【特許請求の範囲】
【請求項１】
電子文書を管理する文書管理装置と、
入力された電子文書に対して電子透かしを埋め込んだ電子文書を出力する電子透かし埋め込み装置と、
前記文書管理装置から文書の複製と電子透かしに埋め込む情報を受け取って前記電子透かし埋め込み装置に電子透かしの埋め込みを指示し、電子透かしが埋め込まれた文書の複製を取得する仲介装置と、からなる謄本作成機構であって、
前記文書管理装置は謄本作成処理を前記仲介装置に依頼した後、謄本作成の完了を待たずに制御を戻し、謄本作成処理は前記仲介装置が前記電子透かし埋め込み装置を利用して非同期的に行うことを特徴とする謄本作成機構。
【請求項２】
前記仲介装置は、原本の最新バージョンの謄本作成依頼を処理する場合には、前記電子透かし埋め込み装置に処理を指示する直前に、前記文書管理装置に対して、謄本作成依頼の要求を受け付けた時点よりも新しいバージョンがないかどうかを問合せ、新しいバージョンがあった場合には該バージョンのデータを取得して謄本の作成を行うことを特徴とする請求項１に記載の謄本作成機構。
【請求項３】
前記仲介装置は、原本の最新バージョンの謄本作成依頼を処理する場合には、前記電子透かし埋め込み装置に処理を指示する直前に、前記文書管理装置から謄本作成依頼を受け付けた時刻と現在の時刻との時間差が所定時間以上である場合に、前記文書管理装置に対して、謄本作成依頼を行った時点から原本となる文書に更新があったかどうかを問合せ、文書が更新されていた場合には、最新のバージョンのデータを取得して謄本の作成を行うことを特徴とする請求項１に記載の謄本作成機構。
【請求項４】
前記文書管理装置は、謄本作成依頼を行った後から謄本作成が完了するまでの間に、該謄本作成依頼の原本の文書に更新があった場合には、前記仲介装置に対して更新があったことを通知し、前記仲介装置は、前記通知のあった謄本作成依頼が原本の最新バージョンの謄本作成依頼を処理する場合には、前記電子透かし埋め込み装置に処理を指示する直前に、前記文書管理装置から最新のバージョンのデータを取得して謄本の作成を行うことを特徴とする請求項１に記載の謄本作成機構。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理装置で管理している電子文書の謄本を作成する機構に関するものである。
【背景技術】
【０００２】
近年、電子文書を管理するシステムでは、保管される電子文書の原本性を保証する機能が求められている。このため、原本となる電子文書に対して改竄防止や著作権保護のために電子透かしを埋め込むことができる文書管理装置が考案されている（特許文献１参照）。また、原本だけではなく、その写しである謄本についても、それが原本ではなく謄本であることを示すために、謄本の元となる原本や謄本の作成者、謄本の作成日といった情報を、可視できる非可逆な電子透かしとして埋め込む機構が文書管理装置に求められている。
【特許文献１】特開２００４−７０７８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述した電子透かしを埋め込む文書管理装置は、電子透かしを埋め込む処理がユーザからの指示と同期的に処理されるため、複数のユーザからの処理が重なった場合に、処理の応答時間が長くなってしまい、インターネット上でユーザがブラウザを介して操作するような対話応答性が重視されるシステムでは、ユーザが待たされてストレスを感じてしまうことやユーザが待ちきれずにブラウザを閉じるなどでして処理を中断してしまうなどといった問題点があった。
【０００４】
また、上述のような電子透かし埋め込み機能を備える謄本作成機構を既存の文書管理装置を改変して内部に独自に作り込むことは、多くの工数を要してしまうという問題点があった。
【０００５】
更に、電子透かしを埋め込む謄本作成処理機構を文書管理装置の外部に用意して、埋め込み処理を非同期に実行するようにした場合、謄本作成をユーザが指示した時点から作成されるまでの間に時間差が生じると、ユーザは文書の最新バージョンの謄本を作成するつもりであったのに、その間に文書が更新されてしまって最新ではないバージョンの謄本が作成されてしまうという問題点があった。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、電子文書を管理する文書管理装置と、入力された電子文書に対して電子透かしを埋め込んだ電子文書を出力する電子透かし埋め込み装置と、前記文書管理装置から文書の複製と電子透かしに埋め込む情報を受け取って前記電子透かし埋め込み装置に電子透かしの埋め込みを指示し、電子透かしが埋め込まれた文書の複製を取得する仲介装置と、からなる謄本作成機構であって、前記文書管理装置は謄本作成処理を前記仲介装置に依頼した後、謄本作成の完了を待たずに制御を戻し、謄本作成処理は前記仲介装置が前記電子透かし埋め込み装置を利用して非同期的に行うことを特徴とする。
【０００７】
また、本発明に係る前記仲介装置は、原本の最新バージョンの謄本作成依頼を処理する場合には、前記電子透かし埋め込み装置に処理を指示する直前に、前記文書管理装置に対して、謄本作成依頼の要求を受け付けた時点よりも新しいバージョンがないかどうかを問合せ、新しいバージョンがあった場合には該バージョンのデータを取得して謄本の作成を行うことを特徴とする。
【発明の効果】
【０００８】
仲介装置を介して非同期的な謄本作成を行うことで、電子透かし埋め込み装置は既存のものを利用できるようになるため、既存の文書管理装置を改変する工数を低減し、且つ、対話応答性の良い謄本作成機構を実現できる。
【０００９】
また、ユーザが謄本作成を指示した時点から実際に謄本が作成されるまでの間に原本のバージョンが新しくなっていても、謄本の作成時点で最新のバージョンの謄本を作成することができる。
【発明を実施するための最良の形態】
【００１０】
（実施例１）
以下、本発明の第１の実施例について図を用いて説明する。
【００１１】
図１は、本発明の第１の実施例における謄本作成システムの概略構成を示す図である。図１において、１０１は、ユーザが後述の文書管理装置１０２に対して操作を行うクライアント装置である。１０２は、クライアント装置１０１から操作内容を受け取り、文書の保管や検索などの処理を行う文書管理装置である。１０３は、文書管理装置１０２から謄本作成の依頼を受けて、依頼内容をキューテーブルに格納し、非同期的に順次デキューして謄本作成の処理を後述の電子透かし埋め込み装置１０４を使用して行う仲介装置である。１０４は、仲介装置１０３からの入力を受け、入力された電子文書に対して、入力された情報を持つ電子透かしを埋め込み、その電子文書を出力として仲介装置１０３に返す電子透かし埋め込み装置である。
【００１２】
図２は、図１におけるクライアント装置１０１、文書管理装置１０２、仲介装置１０３および電子透かし埋め込み装置１０４に適用できるデジタルコンピュータの構成例を示すブロック図である。図２において、ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された、あるいはハードディスク（ＨＤ）２１３からＲＡＭ２０２にロードされたＯＳや各装置のプログラムを実行する。ＲＡＭ２０２はＣＰＵ２０１の主メモリ、ワークエリア等として機能する。キーボードコントローラ（ＫＢＣ）２０５は、キーボード（ＫＢ）２１１からのキー入力やポインテンィングデバイスとしてのマウス２１０からの入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は表示部２１２の表示を制御する。なお、この表示部２１２はＣＲＴに限定されず、例えば、液晶のディスプレイ等でも良い。ディスクコントローラ（ＤＫＣ）２０７は、ブートプログラム、種々のアプリケーション、ユーザデータ等を記憶するハードディスク（ＨＤ）２１３や不図示のフレキシブルディスク等の外部記憶装置との間でのアクセスを制御する。ＰＲＴＣ２０８は、プリンタが接続されたときにプリンタとの間の信号の交換を制御する。ＮＣ２０９はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
【００１３】
図３は、文書管理装置１０２の内部構成例を示すブロック図である。図３において、３０１は文書管理装置の諸機能を制御する文書管理制御部である。ここで、クライアント装置１０１からの謄本作成依頼や謄本取得などの処理要求を処理する。３０２は、文書本体およびその属性情報を記憶している文書情報記憶部である。３０３は、文書管理装置を使用するユーザのログイン名やパスワード等の情報を記憶しているユーザ情報記憶部である。３０４は、謄本作成依頼に関する情報を記憶する謄本作成依頼情報記憶部である。３０５は、仲介装置１０３から謄本作成の完了通知を受けた際に、依頼を行ったユーザにメールで通知する謄本作成完了通知部である。３０６は、仲介装置１０３から処理中の謄本作成依頼に関して、当該原本の新しいバージョンがあるかどうかの問合せがきた際に、新しいバージョンがある場合にはそのバイナリデータを仲介装置１０３に渡す最新バージョン確認部である。
【００１４】
図４は文書情報記憶部３０２に格納されているデータの例である。図４において、文書ＩＤは文書管理装置内に保管されている文書を識別するための情報である。バージョン番号は、文書のバージョンを表している。文書名は文書管理装置内での文書の名称である。フォルダＩＤは文書が格納されているフォルダを識別するための情報である。文書データは、文書のバージョンの実体であるバイナリデータである。登録日時は、文書のバージョンが登録された日時である。
【００１５】
図５は、ユーザ情報記憶部３０３に格納されているデータの例である。図５において、ユーザＩＤは、文書管理装置に登録されているユーザを識別するための情報である。ログイン名とパスワードは、ユーザがログインする際に使用する認証情報である。実名は、ユーザ本人の氏名である。メールアドレスは、通知のメールの宛先として使用する、ユーザが持っているメールアドレスである。作成日時はユーザを文書管理装置に作成した日時である。
【００１６】
図６は謄本作成依頼情報記憶部３０４に格納されているデータの例である。図６において、謄本作成依頼ＩＤは、謄本作成依頼を識別するための識別情報である。仲介装置１０３からの最新バージョンの有無の問合せや作成完了通知はこの謄本作成依頼ＩＤで識別される。文書ＩＤは謄本を作成する文書を識別する情報であり、バージョン番号はどのバージョンの謄本かを識別する番号である。最新バージョン取得フラグは、仲介装置１０３が謄本の作成を電子透かし埋め込み装置１０４に指示する直前での最新バージョンの謄本を作成するかどうかを示すフラグである。「ＴＲＵＥ」の場合、仲介装置１０３は、文書管理装置１０２が謄本作成依頼を行った際の最新バージョンよりも新しいバージョンがあるかどうかを文書管理装置１０２に問合せ、あった場合にはそれを取得して謄本の作成を行うことを表している。「ＦＡＬＳＥ」の場合、文書管理装置１０２が謄本作成依頼を行った際に指定したバージョンの謄本をそのまま作成することを表している。依頼者ＩＤは、謄本作成依頼を行ったユーザのユーザＩＤである。作成依頼日時は、文書管理装置１０２がクライアント装置１０１から謄本作成依頼の要求を受理した日時である。作成完了日時は、文書管理装置１０２が仲介装置１０３から謄本作成完了の通知を受け取った日時もしくは途中で作成処理に問題が発生して処理がキャンセルされた日時である。ステータスは、謄本作成の依頼状況を表すコードで、「０」が依頼処理中、「１」が依頼完了、「２」が作成完了、「３」が取得完了、「９」がエラーを表している。
【００１７】
図７は文書管理装置１０２における謄本作成依頼時の動作を示すフロー図である。ステップＳ７０１で、文書管理制御部３０１はユーザが行った謄本作成のコマンド要求をクライアント装置１０１から受け付ける。このとき、どの文書のどのバージョンの謄本であるかということと最新バージョンの謄本であるかどうかということが謄本作成要求の情報として渡される。ステップＳ７０２において、文書管理制御部３０１は、謄本作成依頼ＩＤ、指定された文書の文書ＩＤ、指定されたバージョン番号、依頼者ＩＤ、作成依頼日時、ステータスを謄本作成依頼情報記憶部３０４に書き込む。このときステータスは、依頼処理中を表す「０」とする。ステップＳ７０３において、文書管理制御装置３０１は、謄本の作成依頼を仲介装置１０３に対して行う。このとき、謄本作成依頼情報として、謄本作成依頼ＩＤ、原本となる指定された文書の指定されたバージョンの文書データ、最新バージョン取得フラグおよび電子透かしとして埋め込む文字列（埋め込み文字列）が渡される。埋め込み文字列は、本実施例においては、謄本作成依頼者名と謄本作成依頼日時とから生成する。ステップＳ７０４において、文書管理制御部３０１は仲介装置１０３に対する依頼が完了すると、謄本作成依頼情報記憶部３０４に格納されている当該謄本作成依頼情報のステータスを、依頼完了を表す「１」とする。
【００１８】
図８は、文書管理装置１０２が仲介装置１０３から謄本作成完了の通知を受け取った際の動作を示すフロー図である。ステップＳ８０１において、謄本作成完了通知部３０５が仲介装置１０３から謄本作成完了の通知を受け取る。このとき渡される情報は、謄本作成依頼ＩＤと作成完了日時である。ステップＳ８０２において、謄本作成完了通知部３０５は、謄本作成依頼情報記憶部３０４中の、受け取った謄本作成依頼ＩＤを持つレコードの作成完了日時に、受け取った作成完了日時を入れ、ステータスを、謄本作成が完了したことを表す「２」とする。ステップＳ８０３において、謄本作成完了通知部３０５は、謄本作成依頼情報記憶部３０４中の当該作成依頼ＩＤを持つレコードの依頼者ＩＤに基づき、ユーザ情報記憶部３０３から依頼者のメールアドレスを取得し、当該謄本作成依頼の依頼者にメールで謄本作成が完了した旨を通知する。
【００１９】
図９は、文書管理装置１０２がクライアント装置１０１から謄本のダウンロード要求を受け取った際の動作を示すフロー図である。ステップＳ９０１において、文書管理制御部３０１がクライアント装置１０１から謄本のダウンロード要求を受け取る。このとき、ユーザはクライアント装置１０１に置いて、謄本作成依頼情報記憶部３０４中の自身が行った謄本作成依頼の中で、ステータスが「２」である謄本作成依頼の謄本作成依頼ＩＤの中から一つを選択する。そして、その謄本作成依頼ＩＤを文書管理制御部３０１は受け取る。ステップＳ９０２において、文書管理制御部３０１は、仲介装置１０３に謄本作成依頼ＩＤを渡して謄本のバイナリデータをクライアント装置１０１にダウンロードさせる。ステップＳ９０３において、ダウンロードが完了すると文書管理制御部３０１は、謄本作成依頼情報記憶部３０４中の当該レコードのステータスを、謄本の取得完了を表す「３」に更新する。
【００２０】
図１０は、仲介装置１０３から、文書管理装置１０２が謄本作成依頼を行った時点の最新バージョンよりも、新しいバージョンがあるかどうかの問合せがあった場合の文書管理装置１０２の動作を示すフロー図である。ステップＳ１００１において、最新バージョン確認部３０６が、仲介装置１０３から新しいバージョンの問合せを受け取る。このとき、仲介装置１０３からは謄本作成依頼ＩＤが渡される。ステップＳ１００２において、最新バージョン確認部３０６は、受け取った謄本作成依頼ＩＤで謄本作成依頼情報記憶部３０４を検索し、当該謄本作成依頼ＩＤを持つレコードの文書ＩＤとバージョン番号を取得する。ステップＳ１００３において、最新バージョン確認部３０６は、取得した文書ＩＤで文書情報記憶部を検索し、当該文書の最新のバージョン番号を取得する。ステップＳ１００４において、ステップＳ１００３で当該文書が削除されていてバージョン番号が取得できなかった場合はステップＳ１００８の処理へ進む。そうでない場合はステップＳ１００５の処理へ進む。ステップＳ１００５において、ステップＳ１００３で取得したバージョン番号がステップＳ１００２で取得したバージョン番号よりも大きい（新しい）かどうか比較し、大きい場合はステップＳ１００６の処理へ、そうでない場合はステップＳ１００７の処理へ進む。ステップＳ１００６において、新しいバージョンがあることとステップＳ１００３で取得したバージョン番号の文書データとを仲介装置１０３に転送する。ステップＳ１００７において、新しいバージョンがないことを仲介装置１０３に通知する。ステップＳ１００８において、仲介装置１０３に文書が存在しないことを通知する。ステップＳ１００９において謄本作成依頼情報記憶部３０４中の当該謄本作成依頼ＩＤを持つレコードの作成完了日時に現在の日時を書き込み、ステータスを、エラーを表す「９」に更新する。ステップＳ１０１０において、当該レコードの依頼者ＩＤに基づき、ユーザ情報記憶部３０３から依頼者のメールアドレスを取得し、当該謄本作成依頼の依頼者にメールで、文書が削除されていたために謄本の作成処理が失敗したことを通知する。
【００２１】
図１１は、仲介装置１０３の内部構成例を示すブロック図である。図１１において、１１０１は、文書管理装置から謄本作成の依頼を受け付ける依頼受付部である。依頼受付部１１０１は受け取った依頼情報を後述する依頼記憶部１１０２に格納（エンキュー）する。１１０２は、依頼受付部１１０１から渡される依頼データをキューテーブルに保持する依頼記憶部である。１１０３は、一定間隔で依頼記憶部１１０２のキューテーブルにデータが存在するかどうかを確認し、データが入っている場合には、キューテーブルの先頭のデータをデキューして処理する謄本作成指示部である。１１０４は、謄本作成指示部１１０３が、作成された謄本を留め置く謄本仮置き部である。１１０５は、文書管理装置１０２から謄本取得の要求を受け付けて、謄本仮置き部１１０４から文書管理装置１０２が要求する謄本データを受け渡す謄本受け渡し部である。文書管理装置１０２からは取得したい謄本の謄本作成依頼ＩＤを受取り、それに対応した謄本のデータを謄本仮置き部１１０４から読み出して転送し、転送が正常に完了した場合、謄本仮置き部１１０４から当該謄本のデータを削除する。
【００２２】
図１２は、依頼記憶部１１０２に格納されているデータの例である。依頼記憶部１１０２では、依頼受付部１１０１が文書管理装置１０２から受け取った謄本作成の依頼情報を図１２に示されるようなキューテーブルで保持する。依頼情報の内容は、謄本作成の依頼情報を識別するための謄本作成依頼ＩＤ、謄本の元となる原本の文書データ、最新バージョン取得フラグ、透かしに入れる埋め込み文字列からなる。
【００２３】
図１３は、謄本仮置き部１１０４に格納されているデータの例である。謄本作成依頼ＩＤは謄本の作成が完了した謄本作成依頼の謄本作成依頼ＩＤ、作成完了日時は謄本の作成が完了した日時、謄本のバイナリデータは原本データに電子透かしを埋め込んだバイナリのデータである。
【００２４】
図１４は、謄本作成指示部１１０３の動作を示すフロー図である。まず、ステップＳ１４０１において、依頼記憶部１１０２に依頼情報があるかどうかを確認する。依頼情報がある場合には、ステップＳ１４０３の処理を行う。依頼情報がない場合は、ステップＳ１４０２において所定時間スリープした後、再びステップＳ１４０１の判定に戻る。ステップＳ１４０３において、依頼記憶部１１０２から依頼情報を１件デキューして取得する。ステップＳ１４０４において、ステップＳ１４０３で取得した依頼情報において、最新バージョン取得フラグが「ＴＲＵＥ」であるかどうかを判定する。「ＴＲＵＥ」である場合はステップＳ１４０５の処理を、「ＦＡＬＳＥ」の場合は、ステップＳ１４０７の処理を行う。ステップＳ１４０５において、現在処理中の謄本作成依頼に関して、謄本作成依頼時点よりも新しいバージョンが存在するかどうかを、謄本作成依頼ＩＤを文書管理装置１０２に渡して問合せる。謄本作成依頼時点よりも新しいバージョンが存在する場合には、文書管理装置１０２から最新のバージョンの文書データを取得する。このとき、文書管理装置１０２において、原本となる文書が削除されていた場合は、文書が存在しないことが通知される。ステップＳ１４０６において、ステップＳ１４０５で文書が存在しないことが通知されている場合、ステップＳ１４０１の処理へ戻る。そうでない場合は、ステップＳ１４０７の処理へ進む。ステップＳ１４０７において、電子透かし埋め込み装置１０４に対して、原本の文書データと電子透かしとして埋め込む文字列を渡して、謄本の作成処理を指示する。ステップＳ１４０８において、電子透かし埋め込み装置１０４から戻される電子透かしが埋め込まれた謄本のバイナリデータを謄本仮置き部１１０４に配置する。このとき謄本のバイナリデータは、謄本作成依頼ＩＤおよび作成完了日時と関連付けて格納される。ステップＳ１４０９において、謄本作成が終了した依頼の謄本作成依頼ＩＤおよび作成完了日時を文書管理装置１０２に通知し、ステップＳ１４０１の処理へ戻る。
【００２５】
以下では、上述した動作について、さらに具体的なデータを用いて説明する。図５中のユーザＩＤが「３」のユーザが、図４中の文書ＩＤが「３７４２」である文書の最新バージョンの謄本作成を行う場合を考える。
【００２６】
まず、クライアント装置１０１から文書管理装置１０２が謄本作成の依頼コマンドを受け取った際の動作を、図７を用いて説明する。図７のステップＳ７０１で、文書管理制御部３０１がクライアント装置１０１から、文書ＩＤ「３７４２」の最新バージョンの謄本作成依頼要求を受信し、ステップＳ７０２で謄本作成依頼記憶部に、謄本作成依頼情報を識別するための謄本作成依頼ＩＤが「ＡＡＡ０１３８４」、文書ＩＤが「３７４２」、バージョン番号が現時点での最新バージョンである「１」、最新バージョン取得フラグが「ＴＲＵＥ」、依頼者ＩＤが「３」で、作成依頼日時はクライアント装置１０１から謄本作成のコマンドを受け取った時刻である「２００５／０９／１３ １６：２４：３３」、ステータスは依頼処理中を表す「０」であるレコードを挿入する。ステップＳ７０３で、仲介装置に渡すデータは、謄本作成依頼ＩＤが「ＡＡＡ０１３８４」、原本となる文書ＩＤが「３７４２」でバージョン番号が「１」の文書のバイナリデータ（ここでは便宜上「ＡＢＣ１．ｄｏｃ」と表記する）、最新バージョン取得フラグが「ＴＲＵＥ」、埋め込み文字列が依頼者の実名と作成依頼日時から自動生成された「武田新源，２００５年９月１３日１６時２４分３３秒」となる。ステップＳ７０４で、謄本作成依頼情報記憶部３０４において謄本作成依頼ＩＤが「ＡＡＡ０１３８４」のレコードのステータスの値を、依頼完了を表す「１」に更新する。
【００２７】
次に、仲介装置１０３の動作について図１４を用いて説明する。ステップＳ１４０１において、依頼記憶部１１０２に図１２のようなデータが入っているとすると、次にステップＳ１４０３の処理へ進む。ステップＳ１４０３において、先頭のデータすなわち図１２における謄本作成依頼ＩＤが「ＡＡＡ０１３８４」のレコードをデキューする。ステップＳ１４０４において、ステップＳ１４０３でデキューしたレコードの最新バージョン取得フラグをチェックすると、「ＴＲＵＥ」すなわち最新バージョンの謄本を作成する依頼であるため、次にステップＳ１４０５に進む。ステップＳ１４０５において、謄本作成指示部１１０３が文書管理装置１０２に対して謄本作成依頼ＩＤ「ＡＡＡ０１３８４」を渡して、依頼時よりも新しいバージョンがないかどうかを問合せる。
【００２８】
ここで、最新バージョンについての問合せを受けた際の文書管理装置１０２の動作について図１０を用いて説明する。ステップＳ１００１において、最新バージョン確認部３０６が、仲介装置１０３から謄本作成依頼ＩＤ「ＡＡＡ０１３８４」を受け取る。ステップＳ１００２において、最新バージョン確認部３０６は謄本作成依頼情報記憶部３０４から、謄本作成依頼ＩＤ「ＡＡＡ０１３８４」のレコードの文書ＩＤ「３７４２」とバージョン番号「１」を取得する（図６参照）。ステップＳ１００３において、取得した文書ＩＤ「３７４２」の最新バージョンの番号を検索する。ここで最新のバージョン番号が「２」だったとする。ステップＳ１００４において、文書ＩＤ「３７４２」が削除されていないかどうか判断するが、最新のバージョン番号として「２」が検索され、当該文書は存在していることになるため、ステップＳ１００５の処理に進む。ステップＳ１００５において、ステップＳ１００２で取得したバージョン番号「１」とステップＳ１００３で取得したバージョン番号「２」を比較するとステップＳ１００３で取得したバージョン番号の方が大きいすなわち謄本作成依頼時よりも新しいバージョンがあることになるため、次にステップＳ１００６の処理に進む。ステップＳ１００６において、文書情報記憶部３０２から文書ＩＤ「３７４２」、バージョン番号「２」の文書データ「ＡＢＣ２．ｄｏｃ」（実際はバイナリデータであるが、ここでは便宜上「ＡＢＣ２．ｄｏｃ」と表記する）を読み取り、仲介装置１０３に送信する。
【００２９】
再び、仲介装置１０２の処理の説明(図１４)に戻る。ステップＳ１４０５において、バージョン番号が「２」の文書データ「ＡＢＣ２．ｄｏｃ」が取得される。ステップＳ１４０６において、原本が削除されているかどうかを判断するが、最新バージョンの文書データ「ＡＢＣ２．ｄｏｃ」を受信したので、原本は削除されていないことになり、次にステップＳ１４０７の処理に進む。ステップＳ１４０７において、謄本作成指示部１１０３は電子透かし埋め込み装置１０４に対して、ステップＳ１４０５で取得した文書データ「ＡＢＣ２．ｄｏｃ」と、デキューしたレコードの埋め込み文字列「武田新源，２００５年９月１３日１６時２４分３３秒」を渡し、謄本の作成を指示する。ステップＳ１４０８において、電子透かし埋め込み装置１０４から返される謄本のデータ「ｃｐ＿ＡＢＣ２．ｄｏｃ」を謄本仮置き部１１０４に、謄本作成依頼ＩＤ「ＡＡＡ０１３８４」、作成完了日時「２００５／０９／１３  １６：３２：５７」と共に格納する（図１３参照）。ステップＳ１４０９において、文書管理装置１０２に対して、謄本作成依頼ＩＤ「ＡＡＡ０１３８４」と作成完了日時「２００５／０９／１３  １６：３２：５７」を渡し、謄本の作成が完了したことを通知する。
【００３０】
次に、仲介装置１０３から謄本の作成完了通知を受け取った際の文書管理装置１０２の動作について図８を用いて説明する。ステップＳ８０１において、文書管理装置１０２内の謄本作成完了通知部３０５は、仲介装置１０３から謄本作成依頼ＩＤ「ＡＡＡ０１３８４」と作成完了日時「２００５／０９／１３  １６：３２：５７」を受け取る。ステップＳ８０２において、謄本作成完了通知部３０５は、謄本作成依頼記憶部３０４の謄本作成依頼ＩＤが「ＡＡＡ０１３８４」のレコードに作成完了日時「２００５／０９／１３  １６：３２：５７」を書き込むと共に、ステータスを、作成完了を表す「２」に更新する。ステップＳ８０３において、謄本作成依頼ＩＤが「ＡＡＡ０１３８４」のレコードの依頼者ＩＤ「３」を読み取り、ユーザ情報記憶部３０３からユーザＩＤが「３」のユーザのメールアドレス「ｓ＿ｔａｋｅｄａ＠ｘｘｘｘｘ．ｃｏｍ」に対して、謄本作成が完了したため謄本の取得を促す旨の通知メールを送信する。
【００３１】
次に、謄本作成の完了通知メールを受け取ったユーザＩＤ「３」のユーザが、クライアント装置１０１から文書管理装置１０２に対して謄本の取得要求を行った際の文書管理装置１０２の動作について図９を用いて説明する。ステップＳ９０１において、文書管理制御部３０１がクライアント装置１０１から謄本のダウンロード要求を、謄本作成依頼ＩＤ「ＡＡＡ０１３８４」という情報と共に受け取る。ステップＳ９０２において、文書管理制御部３０１は、仲介装置１０３に謄本作成依頼ＩＤ「ＡＡＡ０１３８４」を渡し、作成されている謄本データ「ｃｐ＿ＡＢＣ２．ｄｏｃ」をクライアント装置１０１にダウンロードさせる。ステップＳ９０３において、ダウンロードが完了すると文書管理制御部３０１は謄本作成依頼情報記憶部３０４中の謄本作成依頼ＩＤ「ＡＡＡ０１３８４」のレコードのステータスを、取得完了を表す「３」に更新する。
【００３２】
以上のように、仲介装置１０３が、実際に謄本作成を行う直前に文書管理装置１０２に原本の最新バージョンを問合せることによって、ユーザが謄本作成を指示した時点から実際に謄本が作成されるまでの間に原本のバージョンが新しくなっていても、謄本の作成時点で最新のバージョンの謄本を取得することができる。
【００３３】
（実施例２）
本発明の第２の実施例について説明する。
【００３４】
第２の実施例は、謄本作成依頼時に文書管理装置１０２から仲介装置１０３へ渡される情報と、仲介装置１０３の依頼記憶部１１０２のデータ項目および仲介装置１０３の謄本作成指示部１１０３の動作フロー以外は、第１の実施例と同じであるため、以下では第１の実施例との相違点についてのみ説明する。
【００３５】
まず、図７のステップＳ７０３において、文書管理装置１０２の文書制御部３０１は、謄本作成依頼ＩＤ、文書データ、最新バージョン取得フラグ、埋め込み文字列の他に、謄本作成依頼日時を、仲介装置１０３の依頼受付部１１０１へ渡す。そして、仲介装置１０３の依頼受付部１１０１が、依頼記憶部１１０２に書き込むデータは図１５のようになる。
【００３６】
図１６は、第２の実施例における謄本作成指示部１１０３の動作フローを示す図である。第１の実施例の動作フロー（図１４）との相違点は、最新バージョンの謄本を作成する依頼であるかどうかの判断（図１４のステップＳ１４０４、図１６のステップＳ１６０４）でＹＥＳであった場合に、ステップＳ１６０５の判断が追加されている点である。ステップＳ１６０５において、現在の日時とデキューしたデータの作成依頼日時との差が、予め定められた所定時間以内（例えば５秒以内）である場合は、最新バージョンの問合せを行わずにステップＳ１６０８の処理へ進む。この所定時間は、デフォルトではステップＳ１６０２の所定時間と同じ値に設定されるが、任意のタイミングで設定を変更することが可能であってもよい。
【００３７】
以上のようにすることで、非同期処理による謄本作成の依頼から実際の作成までの遅延がほとんどない場合には、その期間におけるバージョンの更新はほとんど行われることがないと考えられるため、仲介装置１０３から文書管理装置１０２への問合せを省略して、問合せによって遅延が発生することを低減することが可能となる。
【００３８】
（実施例３）
本発明の第３の実施例について説明する。
【００３９】
第３の実施例では、第１の実施例の文書管理装置１０２において、謄本作成を依頼している文書が更新された場合に、更新があったことを仲介装置１０３に通知し、仲介装置１０３は通知があった謄本作成依頼についてのみ、文書管理装置１０２に問合せを行うようにしたものである。
【００４０】
以下、第１の実施例との相違点について説明する。
【００４１】
図１７は、文書管理装置１０２の謄本作成依頼情報記憶部３０４に格納されているデータの例である。データの項目として、図６の８項目に加え、文書更新フラグを持つ。この文書更新フラグは、最新バージョンの謄本作成依頼において、謄本の作成を依頼してから謄本作成完了までの間で文書が更新され且つ更新されたことを仲介装置１０２が謄本作成を指示する前に仲介装置１０２に通知済みかどうかを表すフラグである。「ＴＲＵＥ」の場合、謄本の作成を依頼してから謄本作成完了までの間で文書が更新され且つ更新されたことを仲介装置１０２が謄本作成を指示する前に仲介装置１０２に通知済みであることを表す。「ＦＡＬＳＥ」の場合は、最新バージョンの謄本作成依頼ではないか、文書が更新されていないか、仲介装置１０２が謄本作成を指示する前に通知されていないかのいずれかに該当していることを表している。
【００４２】
図１８は、文書管理装置１０２において、文書が更新された際の文書管理制御部３０１の動作フローを示す図である。ステップＳ１８０１において、更新された文書の文書ＩＤを持ち、最新バージョン取得フラグが「ＴＲＵＥ」、ステータスが「１」、文書更新フラグが「ＦＡＬＳＥ」のレコードが、謄本作成依頼情報記憶部３０４にあるかどうか検索する。ステップＳ１８０２において、ステップＳ１８０１でレコードが検索された場合、ステップＳ１８０３の処理へ進む。検索されなかった場合、処理は終了する。ステップＳ１８０３において、仲介装置１０３の依頼受付部１１０１に対して、ステップＳ１８０１で検索されたレコードの謄本作成依頼ＩＤを渡し、当該謄本作成依頼の原本の文書が更新されていることを通知する。ステップＳ１８０４において、仲介装置１０３の依頼受付部からの戻り値が「０」である場合には、正常に仲介装置１０３の依頼記憶部１１０２に格納されている当該謄本作成依頼ＩＤを持つレコードの文書更新フラグ（図１９参照）を更新できたことを表しており、ステップＳ１８０５において、謄本作成依頼情報記憶部３０４中の当該レコードの文書更新フラグを「ＴＲＵＥ」に更新する。戻り値が「０」でない場合は、既に仲介装置１０３の依頼記憶部１１０２中に当該データがデキューされて存在していないために更新できなかったことを表しており、そのまま処理は終了する。
【００４３】
図１９は、仲介装置１０３の依頼記憶部１１０２に格納されるデータの例である。図１２に示される４つの項目に加え、文書更新フラグを持つ。この文書更新フラグは、依頼受付部１１０１によってレコードが挿入される時点では一様に「ＦＡＬＳＥ」が設定されるが、文書管理装置１０２から文書の更新の通知があると、その通知で渡される謄本作成依頼ＩＤのレコードについては「ＴＲＵＥ」が設定される。
【００４４】
図２０は、仲介装置１０３の謄本作成指示部１１０３の動作フローを示す図である。第１の実施例の動作フロー（図１４）との相違点は、最新バージョンの謄本を作成する依頼であるかどうかの判断（図１４のステップＳ１４０４、図２０のステップＳ２００４）でＹＥＳであった場合に、ステップＳ２００５の判断が追加されている点である。ステップＳ２００５において、文書更新フラグが「ＴＲＵＥ」であれば、謄本作成の依頼をした後で、文書が更新されているため、ステップＳ２００６の処理へ進み、最新バージョンの問合せを行う。「ＦＡＬＳＥ」であれば、謄本作成の依頼をした後で文書の更新がないことになるため、最新バージョンの問合せは行わずにステップＳ２００８の処理へ進む。
【００４５】
以上のようにすることで、文書管理装置１０２から仲介装置１０３への謄本作成依頼の後で、謄本の原本となる文書の更新が発生した場合に、文書が更新されていることが仲介装置で判別できるようになり、更新が発生していない場合に仲介装置から文書管理装置へ問合せることがなくなるため、問合せによる処理の遅延を低減することができる。
【００４６】
以上、本発明を実施例に基づき具体的に説明したが、本発明は、上述した実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、電子透かしとして埋め込む文字列については、謄本作成依頼要求時に任意の文字列をユーザが入力できるようにしても良い。
【００４７】
また、１つの仲介装置に対して、複数の文書管理装置、複数の電子透かし埋め込み装置があっても良い。例えば、文書管理装置や電子透かし埋め込み装置を識別するためのコードを文書管理装置で謄本作成依頼ＩＤに付加し、仲介装置はそのコードを判別することで処理の対象となる装置を識別するようにすることで実現可能である。このようにすると、複数の文書管理装置それぞれで仲介装置および電子透かし埋め込み装置の役割を果たすモジュールを作る必要がなくなるため、謄本作成機構を組み込むために要する工数が全体的に見て大幅に低減できる。
【００４８】
なお、本発明は、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に記録されたプログラムコードを読み出して実行することによっても、実現できることは言うまでもない。
【図面の簡単な説明】
【００４９】
【図１】実施例１における謄本作成機構の概略構成を示す図である。
【図２】実施例１におけるクライアント装置、文書管理装置、仲介装置、電子透かし埋め込み装置を実現できるハードウェア構成例を示す図である。
【図３】実施例１における文書管理装置の内部構成例を示すブロック図である。
【図４】実施例１における文書情報記憶部に格納されるデータの例である。
【図５】実施例１におけるユーザ情報記憶部に格納されるデータの例である。
【図６】実施例１における謄本作成依頼情報記憶部に格納されているデータの例である。
【図７】実施例１において謄本作成依頼時の文書管理制御部の動作を示すフロー図である。
【図８】実施例１において仲介装置から謄本作成完了通知を受け取った際の謄本作成完了通知部の動作を示すフロー図である。
【図９】実施例１においてクライアント装置から謄本のダウンロード要求を受け取った際の文書管理制御部の動作を示すフロー図である。
【図１０】実施例１において仲介装置から最新バージョンの問合せがあった際の最新バージョン確認部の動作を示すフロー図である。
【図１１】実施例１における仲介装置１０３の内部構成例を示すブロック図である。
【図１２】実施例１における依頼記憶部に格納されるデータの例である。
【図１３】実施例１における謄本仮置き部に格納されるデータの例である。
【図１４】実施例１における謄本作成指示部の動作を示すフロー図である。
【図１５】実施例２における依頼記憶部に格納されるデータの例である。
【図１６】実施例２における謄本作成指示部の動作を示すフロー図である。
【図１７】実施例３における謄本作成依頼情報記憶部に格納されるデータの例である。
【図１８】実施例３において文書更新時の文書管理制御部の動作を示すフロー図である。
【図１９】実施例３における依頼記憶部に格納されるデータの例である。
【図２０】実施例３における謄本作成指示部の動作を示すフロー図である。
【符号の説明】
【００５０】
１０１  クライアント装置
１０２  文書管理装置
１０３  仲介装置
１０４  電子透かし埋め込み装置
３０１  文書管理制御部
３０２  文書情報記憶部
３０３  ユーザ情報記憶部
３０４  謄本作成依頼情報記憶部
３０５  謄本作成完了通知部
３０６  最新バージョン確認部
２００  デジタルコンピュータ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  キーボードコントローラ
２０６  ＣＲＴコントローラ
２０７  ディスクコントローラ
２０８  プリンタコントローラ
２０９  ネットワークコントローラ
２１０  マウス
２１１  キーボード
２１２  表示部
２１３  ハードディスク
１１０１  依頼受付部
１１０２  依頼記憶部
１１０３  謄本作成指示部
１１０４  謄本仮置き部
１１０５  謄本受け渡し部
【図１】
2008028637.tif 000003
【図２】
2008028637.tif 000004
【図３】
2008028637.tif 000005
【図４】
2008028637.tif 000006
【図５】
2008028637.tif 000007
【図６】
2008028637.tif 000008
【図７】
2008028637.tif 000009
【図８】
2008028637.tif 000010
【図９】
2008028637.tif 000011
【図１０】
2008028637.tif 000012
【図１１】
2008028637.tif 000013
【図１２】
2008028637.tif 000014
【図１３】
2008028637.tif 000015
【図１４】
2008028637.tif 000016
【図１５】
2008028637.tif 000017
【図１６】
2008028637.tif 000018
【図１７】
2008028637.tif 000019
【図１８】
2008028637.tif 000020
【図１９】
2008028637.tif 000021
【図２０】
2008028637.tif 000022