(57)【要約】【課題】文書管理システムの文書の整合性をより適切に保つ。【解決手段】本発明のサーバ装置は、文書を記憶する記憶部と、当該文書の編集を受け付ける編集受付部と、当該文書の編集内容を含むメッセージを受信する受信部と、当該メッセージを受信すると、当該メッセージに含まれる編集内容により文書を編集するエージェントプログラムを起動するエージェント起動部とを備え、当該エージェントプログラムは、サーバ装置を、文書を保存する時に、編集受付部の編集内容と競合しているか否かを判定する判定部と、編集内容が競合していない時に、編集された文書を保存する編集保存部と、編集内容が競合している時に、エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、受信部に送信する送信部として機能させる。【選択図】図１
2014109815.tif 000002
【特許請求の範囲】
【請求項１】
文書を記憶する記憶部と、
前記文書の編集を受け付ける編集受付部と、
前記文書の編集内容を含むメッセージを受信する受信部と、
受信された前記メッセージに含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動するエージェント起動部とを備えるサーバ装置であって、
前記エージェントプログラムは、前記サーバ装置を、
前記メッセージに含まれる前記編集内容が、前記編集受付部により受け付けた前記編集の内容と競合しているか否かを判定する判定部と、
競合していないと判定された場合に、前記編集された文書を保存する編集保存部と、
競合していると判定された場合に、前記エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、前記受信部に送信する送信部として機能させる
サーバ装置。
【請求項２】
前記メッセージは、メールである
請求項１に記載のサーバ装置。
【請求項３】
前記送信部は、
前記編集内容が競合している時に、前記エージェントプログラムの起動契機となった第１メールの本文に含まれる編集内容と同一の編集内容を、第２メールの本文に設定し、前記サーバ装置のアドレスを前記第２メールの送信先アドレスに設定して、前記第２メールを送信し、
前記エージェント起動部は、
前記第２メールを受信すると、前記第２メールの本文に含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動する
請求項２に記載のサーバ装置。
【請求項４】
前記判定部は、前記編集された文書を保存する時に、前記文書のタイムスタンプに基づいて、前記編集受付部の前記編集内容と競合しているか否かを判定する
請求項１乃至３のいずれか１項に記載のサーバ装置。
【請求項５】
前記判定部は、前記編集された文書を保存する時に、前記文書のデータサイズに基づいて、前記編集受付部の前記編集内容と競合しているか否かを判定する
請求項１乃至４のいずれか１項に記載のサーバ装置。
【請求項６】
前記エージェントプログラムは、
所定の処理毎に、前記所定の処理を実行する新たなエージェントプログラムを少なくとも１つ起動する
請求項１乃至５のいずれか１項に記載のサーバ装置。
【請求項７】
前記所定の処理は、特定の宛先に、前記編集された文書を示す情報を含むメールを送信する処理を含む
請求項６に記載のサーバ装置。
【請求項８】
サーバ装置と、前記サーバ装置とネットワークを介して接続されたクライアント装置とを備える文書管理システムであって、
前記サーバ装置は、
文書を記憶する記憶部と、
前記文書の編集を受け付ける編集受付部と、
前記文書の編集内容を含むメッセージを受信する受信部と、
受信された前記メッセージに含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動するエージェント起動部とを備え、
前記エージェントプログラムは、前記サーバ装置を、
前記メッセージに含まれる前記編集内容が、前記編集受付部により受け付けた前記編集の内容と競合しているか否かを判定する判定部と、
競合していないと判定された場合に、前記編集された文書を保存する編集保存部と、
競合していると判定された場合に、前記エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、前記受信部に送信する送信部として機能させ、
前記クライアント装置は、前記文書の編集内容を含むメールの送信、又は前記編集受付部を利用して、前記文書を編集する
文書管理システム。
【請求項９】
コンピュータを、
文書を記憶する記憶部と、
前記文書の編集を受け付ける編集受付部と、
前記文書の編集内容を含むメッセージを受信する受信部と、
前記メッセージを受信すると、前記メッセージに含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動するエージェント起動部として機能させ、
前記エージェントプログラムは、前記コンピュータを、
前記編集内容により編集された前記文書を保存する時に、前記編集受付部の前記編集の内容と競合しているか否かを判定する判定部と、
前記編集内容が競合していない時に、前記編集された文書を保存する編集保存部と、
前記編集内容が競合している時に、前記エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、前記受信部に送信する送信部として機能させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置、文書管理システム、及びプログラムに関する。
【背景技術】
【０００２】
サーバ装置が、文書を記憶し、クライアント装置から当該文書の編集を受け付ける文書管理システムが知られている。当該文書管理システムでは、複数のクライアント装置が、同じ文書を、同じ時間帯に編集することがある。
【０００３】
文書の編集内容の競合を防ぐための技術を開示した文献には、例えば、特許文献１がある。特許文献１のスケジュール管理システムでは、予約登録をする前に、ロック文書を作成する。当該スケジュール管理システムは、当該ロック文書の存在の有無により、予約登録の排他制御を行っている。
【０００４】
文書管理システムでは、一般に、文書の保存時に編集内容の競合が発生した場合、サーバ装置が、編集内容が競合していることと、編集内容が競合している状態でこのまま保存するか否かを確認するメッセージ（以下「競合確認メッセージ」という。）をクライアント装置に表示する。
【０００５】
このとき、クライアント装置が、編集内容が競合している状態で文書を保存すると、先に文書を編集していた他のクライアント装置の編集内容が上書きされる。これを防ぐには、編集内容が競合している状態で文書を保存せずに、一旦編集をキャンセルする必要がある。すなわち、クライアント装置は、編集内容を保存せずに文書を閉じ、再度、文書を開き直して文書を保存する必要がある。
【０００６】
しかしながら、定期的なスケジュールに従って起動されるエージェントプログラム等が、文書を編集する場合は、上述の競合確認メッセージを使用することができない。そのため、エージェントプログラムが編集内容の競合を察知した場合には、予め定められた所定の排他制御処理を実行している。一般に、当該所定の排他制御処理には、次の（１）〜（３）がある。（１）常に競合している状態のまま文書を保存する。（２）常に文書の保存をキャンセルする。（３）所定の回数だけ文書の保存をリトライ（文書を開き直して保存）する。
【０００７】
しかしながら、従来の排他制御処理は、当該排他制御処理を行った後に何らかの後処理を実行する必要があった。例えば、上述の（１）の場合は、エージェントプログラムにより上書きされてしまった文書に、上書きされた編集内容をマージする後処理を実行する必要がある。また、上述の（２）の場合、及び上述の（３）でリトライが全て失敗した場合は、キャンセルされたエージェントプログラムの処理を、再度実行する後処理を実行する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のような後処理が必要となる排他制御処理は、文書の整合性をリアルタイムに保つことが難しい。例えば、エージェントプログラムにより処理がキャンセルされてから、上述の後処理を実行する間にタイムラグが発生すると、リアルタイムに整合性が保たれた状態で文書を管理することができない。
【０００９】
本発明は、上記に鑑みてなされたものであって、文書の整合性をより適切に保つことができるサーバ装置、文書管理システム、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明のサーバ装置は、文書を記憶する記憶部と、前記文書の編集を受け付ける編集受付部と、前記文書の編集内容を含むメッセージを受信する受信部と、受信された前記メッセージに含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動するエージェント起動部とを備えるサーバ装置であって、前記エージェントプログラムは、前記サーバ装置を、前記メッセージに含まれる前記編集内容が、前記編集受付部により受け付けた前記編集の内容と競合しているか否かを判定する判定部と、競合していないと判定された場合に、前記編集された文書を保存する編集保存部と、競合していると判定された場合に、前記エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、前記受信部に送信する送信部として機能させる。
【００１１】
また、本発明の文書管理システムは、サーバ装置と、前記サーバ装置とネットワークを介して接続されたクライアント装置とを備える文書管理システムであって、前記サーバ装置は、文書を記憶する記憶部と、前記文書の編集を受け付ける編集受付部と、前記文書の編集内容を含むメッセージを受信する受信部と、受信された前記メッセージに含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動するエージェント起動部とを備え、前記エージェントプログラムは、前記サーバ装置を、前記メッセージに含まれる前記編集内容が、前記編集受付部により受け付けた前記編集の内容と競合しているか否かを判定する判定部と、競合していないと判定された場合に、前記編集された文書を保存する編集保存部と、競合していると判定された場合に、前記エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、前記受信部に送信する送信部として機能させ、前記クライアント装置は、前記文書の編集内容を含むメールの送信、又は前記編集受付部を利用して、前記文書を編集する。
【００１２】
また、本発明のプログラムは、コンピュータを、文書を記憶する記憶部と、前記文書の編集を受け付ける編集受付部と、前記文書の編集内容を含むメッセージを受信する受信部と、前記メッセージを受信すると、前記メッセージに含まれる前記編集内容により前記文書を編集するエージェントプログラムを起動するエージェント起動部として機能させ、前記エージェントプログラムは、前記コンピュータを、前記編集内容により編集された前記文書を保存する時に、前記編集受付部の前記編集の内容と競合しているか否かを判定する判定部と、前記編集内容が競合していない時に、前記編集された文書を保存する編集保存部と、前記編集内容が競合している時に、前記エージェントプログラムの起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、前記受信部に送信する送信部として機能させる。
【発明の効果】
【００１３】
本発明によれば、文書の整合性をより適切に保つことができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、第１の実施の形態の文書管理システムの構成の一例を示す図である。
【図２】図２は、第１の実施の形態の文書管理システムのエージェントプログラムの構成の一例を示す図である。
【図３】図３は、第１の実施の形態の文書管理システムにおいて、文書の編集内容が競合する場合の一例を説明するための図である。
【図４】図４は、第１の実施の形態の文書管理システムにおいて、文書の編集内容が競合した場合のエージェントプログラムの動作を説明するための図である。
【図５】図５は、第１の実施の形態の文書管理システムにおいて、編集受付部を介して文書を編集する場合を説明するためのフローチャートである。
【図６】図６は、第１の実施の形態の文書管理システムにおいて、代理編集受付部を介して文書を編集する場合を説明するためのフローチャートである。
【図７】図７は、第２の実施の形態の文書管理システムのエージェントプログラムの構成の一例を示す図である。
【図８】図８は、第２の実施の形態の文書管理システムのエージェントプログラムの動作を説明するためのフローチャートである。
【図９】図９は、第１、及び第２の実施の形態の文書管理システムのクライアント装置、及びサーバ装置のハードウェア構成の一例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、サーバ装置、文書管理システム、及びプログラムの実施の形態を詳細に説明する。
【００１６】
（第１の実施の形態）
図１は、第１の実施の形態の文書管理システム１０の構成の一例を示す図である。本実施の形態の文書管理システム１０は、サーバ装置１、及びクライアント装置２ａ、２ｂ〜２ｎを備える。なお、クライアント装置２ａ、２ｂ〜２ｎは、任意の台数でよい。以下、クライアント装置２ａ、２ｂ〜２ｎを区別しない場合には、単にクライアント装置２という。
【００１７】
サーバ装置１、及びクライアント装置２は、ネットワーク３を介して接続されている。なお、サーバ装置１、及びクライアント装置２の通信方式は、有線方式であっても無線方式であってもよい。
【００１８】
サーバ装置１は、編集受付部１１、代理編集受付部１２、及び記憶部１５を備える。代理編集受付部１２は、受信部１３、及びエージェント起動部１４を備える。記憶部１５は、文書管理ＤＢ（Ｄａｔａｂａｓｅ）１６を記憶する。
【００１９】
文書管理ＤＢ１６は、文書を記憶する。文書管理ＤＢ１６が記憶する文書は、任意の文書でよい。例えば、文書は、システムのエラーや不具合等の事象、当該事象の内容についての解析結果、及び当該事象の対処方法等を管理する障害票である。
【００２０】
編集受付部１１は、クライアント装置２から、文書管理ＤＢ１６に記憶されている文書の編集を受け付ける。なお、クライアント装置２は、サーバ装置１上で当該文書を編集してもよい。また、クライアント装置２は、当該文書をクライアント装置２にダウンロードして編集し、編集された当該文書をサーバ装置１にアップロードしてもよい。
【００２１】
受信部１３は、クライアント装置２から、文書の編集内容を含むメッセージを受信する。当該メッセージは、任意の方法で受信してよい。例えば、当該メッセージは、メールでもよい。また、当該メッセージは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等を利用して、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式や、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式等で受信するメッセージでもよい。
【００２２】
エージェント起動部１４は、受信部１３が受信したメッセージに含まれる編集内容により文書を編集するエージェントプログラム４を起動する。図２は、第１の実施の形態の文書管理システム１０のエージェントプログラム４の構成の一例を示す図である。エージェントプログラム４は、判定部４１、編集保存部４２、及び送信部４３を備える。
【００２３】
判定部４１は、メッセージに含まれる編集内容により編集された文書を保存する時に、編集受付部１１の編集の内容と競合しているか否かを判定する。判定部４１は、編集された文書を保存する時に、文書のタイムスタンプに基づいて、編集受付部１１の編集の内容と競合しているか否かを判定してもよい。また、判定部４１は、編集された文書を保存する時に、文書のデータサイズに基づいて、編集受付部１１の編集の内容と競合しているか否かを判定してもよい。
【００２４】
編集保存部４２は、編集された文書の編集内容が、編集受付部１１による編集内容と競合していない時に、編集された文書を保存する。送信部４３は、編集された文書の編集内容が、編集受付部１１による編集内容と競合している時に、エージェントプログラム４の起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを、受信部に送信する。これにより、エージェントプログラム４は、新たなエージェントプログラム４の起動契機を作り、自身の処理は終了する。すなわち、エージェントプログラム４が再起動することにより、エージェントプログラム４による編集内容の保存するタイミングを遅らせることができる。
【００２５】
なお、エージェントプログラム４の起動中に、受信部１３は、他の編集内容を含む他のメッセージも受け付けている。エージェント起動部１４は、エージェントプログラム４を起動するタスクを管理することにより、エージェントプログラム４の起動を制御してもよい。このタスクの管理は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）により行ってもよい。また、エージェント起動部１４は、起動しているエージェントプログラム４の終了を確認してから、次のエージェントプログラム４を起動するように制御してもよい。また、エージェント起動部１４は、複数のメッセージに含まれる編集内容を、１つのエージェントプログラム４の処理にまとめてもよい。
【００２６】
ここで、エージェントプログラム４の再起動について、メッセージがメールである場合を例にして説明する。まず、判定部４１が、編集受付部１１と編集内容が競合していることを判定する。
【００２７】
送信部４３は、エージェントプログラム４の起動契機となったメール（以下、「第１メール」という。）の本文に含まれる編集内容と同一の編集内容を、新しく作成するメール（以下、「第２メール」という。）の本文に設定する。また、エージェントプログラム４の送信部４３は、サーバ装置１のアドレスを第２メールの送信先アドレスに設定する。送信部４３は、第２メールを送信する。
【００２８】
なお、送信部４３は、第２メールを新規に作成せずに、第１メールを流用して送信してもよい。また、受信部１３が、負荷分散等の理由により別の装置にある等の場合には、当該別の装置のアドレスを第２メールの送信アドレスに設定してもよい。
【００２９】
受信部１３が第２メールを受信すると、エージェント起動部１４は、第２メールの本文に含まれる編集内容により文書を編集するエージェントプログラム４を起動する。
【００３０】
図３は、第１の実施の形態の文書管理システム１０において、文書の編集内容が競合する場合の一例を説明するための図である。まず、代理編集受付部１２の受信部１３が、クライアント装置２ａから、文書管理ＤＢ１６に管理されている文書の編集内容を含むメッセージを受信する（ステップＳ１）。受信部１３が、エージェント起動部１４に当該メッセージを受信したことを通知する（ステップＳ２）。エージェント起動部１４は、エージェントプログラム４を起動する（ステップＳ３）。
【００３１】
一方、編集受付部１１が、クライアント装置２ｂから、文書管理ＤＢ１６に管理されている文書（ステップＳ１に含まれる編集内容を反映する文書と同じ文書）の編集を受け付ける（ステップＳ４）。編集受付部１１は、クライアント装置２ｂのユーザの操作に応じて、編集された文書を保存する（ステップＳ５）。
【００３２】
ここで、エージェントプログラム４の判定部４１は、編集内容を保存する前に、ステップＳ１のメッセージに含まれる編集内容が、編集受付部１１の編集内容と競合していることを判定する（ステップＳ６）。エージェントプログラム４の送信部４３は、エージェントプログラム４の起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを受信部１３に送信する（ステップＳ７）。
【００３３】
これにより、受信部１３が、再度、エージェント起動部１４にメッセージの受信を通知するため、エージェント起動部１４が、エージェントプログラム４を起動（再起動）する。なお、再起動されたエージェントプログラム４が、編集内容を保存する時に、判定部４１が編集受付部１１の編集内容と競合していることを判定した場合は、再度、エージェントプログラム４を再起動する。
【００３４】
図４は、第１の実施の形態の文書管理システム１０において、文書の編集内容が競合した場合のエージェントプログラム４の動作を説明するための図である。クライアント装置２のユーザＡが、サーバ装置１の編集受付部１１を介して、記憶部１５に記憶されている文書管理ＤＢ１６の文書の編集を開始する（ステップＳ１１）。エージェントプログラム４が、ステップＳ１１によって編集されている文書の編集を開始する（ステップＳ１２）。クライアント装置２のユーザＡが、編集内容を反映した文書を保存する（ステップＳ１３）。
【００３５】
エージェントプログラム４の判定部４１が、編集内容を反映した文書を保存する前に、自身の編集内容と、編集受付部１１の編集内容が競合するか否かを判定する（ステップＳ１４）。エージェントプログラム４の判定部４１は、文書がユーザＡにより更新されているため、編集内容が競合していると判定する。そのため、編集保存部４２が、編集内容を反映した文書の保存をキャンセルする（ステップＳ１５）。
【００３６】
判定部４１は、エージェントプログラム４の起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを受信部１３に送信する。これにより、受信部１３が、再度、エージェント起動部１４にメッセージの受信を通知するため、エージェント起動部１４が、エージェントプログラム４を再起動する（ステップＳ１６）。
【００３７】
再起動されたエージェントプログラム４が、編集内容を反映する文書を開き、編集を開始する（ステップＳ１７）。再起動されたエージェントプログラム４の判定部４１が、編集内容を反映した文書を保存する前に、自身の編集内容と、編集受付部１１の編集内容が競合するか否かを判定する（ステップＳ１８）。再起動されたエージェントプログラム４の判定部４１は、編集内容を保存するタイミングを遅らせたため、編集内容が競合していないと判定する。編集保存部４２が、編集内容を反映した文書を保存する（ステップＳ１９）。
【００３８】
なお、図４の例では、クライアント装置２とエージェントプログラム４との編集内容が競合した場合について述べた。しかしながら、２つのエージェントプログラム４との間で、編集内容が競合した場合についても、上述のエージェントプログラム４の動作は同様である。また、３つ以上の編集主体（クライアント装置２、又はエージェントプログラム４）の間で、編集内容が競合した場合についても、上述のエージェントプログラム４の動作は同様である。
【００３９】
図５は、第１の実施の形態の文書管理システム１０において、編集受付部１１を介して文書を編集する場合を説明するためのフローチャートである。クライアント装置２は、編集受付部１１を介して、記憶部１５の文書管理ＤＢ１６にアクセスする（ステップＳ２１）。クライアント装置２は、文書管理ＤＢ１６の文書を開く（ステップＳ２２）。クライアント装置２は、当該文書を編集する（ステップＳ２３）。クライアント装置２は、当該文書を保存する（ステップＳ２４）。クライアント装置２は、当該文書を閉じる（ステップＳ２５）。
【００４０】
図６は、第１の実施の形態の文書管理システム１０において、代理編集受付部１２を介して文書を編集する場合を説明するためのフローチャートである。クライアント装置２は、代理編集受付部１２の受信部１３に、編集内容を含むメッセージを送信する（ステップＳ３１）。
【００４１】
代理編集受付部１２は、当該メッセージの受信を契機にして、エージェントプログラム４を起動する（ステップＳ３２）。エージェントプログラム４は、記憶部１５の文書管理ＤＢ１６にアクセスする（ステップＳ３３）。エージェントプログラム４は、文書管理ＤＢ１６の文書を開く（ステップＳ３４）。エージェントプログラム４は、当該文書を編集する（ステップＳ３５）。
【００４２】
エージェントプログラム４の判定部４１は、編集保存部４２が編集内容を保存する前に、編集内容が、編集受付部１１による編集内容と競合しているか否かを判定する（ステップＳ３６）。編集内容が競合している場合（ステップＳ３６、Ｙｅｓ）は、エージェントプログラム４の送信部４３が、エージェントプログラム４の起動契機となったメッセージに含まれる編集内容と同一の編集内容を含むメッセージを受信部１３に送信する（ステップＳ３７）。編集内容が競合していない場合（ステップＳ３６、Ｎｏ）は、エージェントプログラム４の編集保存部４２が、編集内容が反映された文書を保存する（ステップＳ３８）。エージェントプログラム４の編集保存部４２が、編集内容が反映された文書を閉じる（ステップＳ３９）。
【００４３】
本実施の形態の文書管理システム１０によれば、エージェントプログラム４が、文書を保存する時に編集内容が競合しても、エージェントプログラム４の編集内容をリアルタイムに保存することができる。
【００４４】
（第２の実施の形態）
次に、第２の実施の形態の文書管理システム１０について説明する。第１の実施の形態の文書管理システム１０では、エージェントプログラム４を１つ起動していた。しかしながら、文書管理システム１０は、複数のエージェントプログラム４を起動してもよい。第２の実施の形態の文書管理システム１０として、当該エージェントプログラム４が、複数起動される場合について説明する。
【００４５】
第２の実施の形態の文書管理システム１０の構成は、第１の実施の形態の文書管理システム１０と同じであるため、説明を省略する。第２の実施の形態の文書管理システム１０のエージェントプログラム４について説明する。
【００４６】
図７は、第２の実施の形態の文書管理システム１０のエージェントプログラム４の構成の一例を示す図である。本実施の形態のエージェントプログラム４は、起動判定部４６、編集エージェント起動部４７、管理者通知エージェント起動部４８、及びユーザ通知エージェント起動部４９を備える。なお、エージェントプログラム４は、上述の機能ブロックのみに限られず、その他の機能ブロックを備えていてもよい。
【００４７】
起動判定部４６は、所定の処理を行うために新しく起動するエージェントプログラム４を起動するか否かを判定する。起動判定部４６は、当該判定の結果に応じて、新しく起動するエージェントプログラム４を決定する。なお、新しく起動するエージェントプログラム４の数は、１つに限られず、複数でもよい。
【００４８】
編集エージェント起動部４７は、文書管理ＤＢ１６の文書を編集するためのエージェントプログラム４（以下、「編集エージェントプログラム」という。）を起動する。例えば、当該編集エージェントプログラムは、第１の実施の形態の文書管理システム１０のエージェントプログラム４である。
【００４９】
管理者通知エージェント起動部４８は、文書管理ＤＢ１６の管理者に、所定の通知を行うエージェントプログラム４（以下、「管理者通知エージェントプログラム」という。）を起動する。例えば、当該管理者通知エージェントプログラムは、編集された文書が文書管理ＤＢ１６に保存された場合に、文書管理ＤＢ１６の管理者の端末等に、編集された文書を示す情報を含むメッセージを送信する。
【００５０】
ユーザ通知エージェント起動部４９は、クライアント装置２に、所定の通知を行うエージェントプログラム４（以下、「ユーザ通知エージェントプログラム」という。）を起動する。例えば、当該ユーザ通知エージェントプログラムは、クライアント装置２から受信したメッセージに含まれる編集内容によって文書が編集され、編集された当該文書が文書管理ＤＢ１６に保存されたことを確認する。そして、当該ユーザ通知エージェントプログラムは、クライアント装置２に、文書が正常に保存されたことを示す情報を含むメッセージを送信する。
【００５１】
また、当該ユーザ通知エージェントプログラムは、クライアント装置２から受信したメッセージに含まれる編集内容を反映した文書を、文書管理ＤＢ１６に保存できなかった場合は、エラーメッセージをクライアント装置２に送信してもよい。
【００５２】
上述の管理者通知エージェントプログラム、及びユーザ通知エージェントプログラムのように、エージェントプログラム４によるメッセージの通知処理は、特定の宛先に行ってよい。
【００５３】
図８は、第２の実施の形態の文書管理システム１０のエージェントプログラム４の動作を説明するためのフローチャートである。エージェント起動部１４が、エージェントプログラム４を起動する（ステップＳ４１）。エージェントプログラム４の起動判定部４６が、新しく起動するエージェントプログラム４を決定するための判定を行う（ステップＳ４２）。
【００５４】
起動判定部４６により所定の条件Ａを満たすと判定された場合（ステップＳ４２、条件Ａ）、編集エージェント起動部４７は、編集エージェントプログラムを起動する（ステップＳ４３）。起動判定部４６により所定の条件Ｂを満たすと判定された場合（ステップＳ４２、条件Ｂ）、編集エージェント起動部４７は、管理者通知エージェントプログラムを起動する（ステップＳ４４）。起動判定部４６により所定の条件Ｃを満たすと判定された場合（ステップＳ４２、条件Ｃ）、ユーザ通知エージェント起動部４９は、ユーザ通知エージェントプログラムを起動する（ステップＳ４５）。
【００５５】
なお、起動判定部４６は、複数の条件を同時に満たす判定をしてもよい。すなわち、起動判定部４６は、複数のエージェントプログラム４を同時に起動させてもよい。
【００５６】
第２の実施の形態の文書管理システム１０によれば、所定の処理毎に、当該所定の処理を実行するエージェントプログラム４を起動することにより、エージェントプログラム４を動作させるためのメモリ領域を削減することができる。
【００５７】
次に、第１、及び第２の実施の形態の文書管理システム１０のクライアント装置２、及びサーバ装置１のハードウェアの構成について説明する。図９は、第１、及び第２の実施の形態の文書管理システム１０のクライアント装置２、及びサーバ装置１のハードウェア構成の一例を説明するための図である。サーバ装置１とクライアント装置２のハードウェア構成は同様であるため、以下では、サーバ装置１について説明する。
【００５８】
本実施の形態のサーバ装置１は、制御部５１、主記憶部５２、補助記憶部５３、表示部５４、入力部５５、及び通信Ｉ／Ｆ５６を備える。制御部５１、主記憶部５２、補助記憶部５３、表示部５４、入力部５５、及び通信Ｉ／Ｆ５６は、バス５７を介して互いに接続されている。
【００５９】
制御部５１は、サーバ装置１の動作を制御する。制御部５１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。主記憶部５２は、ＣＰＵがプログラムを実行する際に必要となるメモリ領域として使用される。主記憶部５２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。補助記憶部５３は、サーバ装置１を動作させるために必要なプログラムやファイル等を記憶する。補助記憶部５３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
【００６０】
表示部５４は、サーバ装置１の状態や、処理結果等を表示する。表示部５４は、例えば、液晶ディスプレイである。入力部５５は、サーバ装置１を操作するための装置である。入力部５５は、例えば、キーボードやマウス等である。通信Ｉ／Ｆ５６は、サーバ装置１が他の装置と通信するためのインタフェースである。通信Ｉ／Ｆ５６の通信方式は、有線方式であっても無線方式であってもよい。また、両方の通信方式であってもよい。
【００６１】
第１、及び第２の実施の形態の文書管理システム１０のサーバ装置１で実行されるプログラムは、補助記憶部５３に記憶してもよい。しかしながら、当該プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録したコンピュータ・プログラム・プロダクトとして提供してもよい。
【００６２】
また、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、当該プログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【００６３】
制御部５１は、当該プログラムを、主記憶部５２に読み出して実行する。これにより、編集受付部１１、及び代理編集受付部１２をプログラムにより実現する場合には、これらの機能ブロックが主記憶部５２上に実現される。
【００６４】
なお、編集受付部１１、及び代理編集受付部１２は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよい。また、プログラム（ソフトウェア）、及びハードウェアを組み合わせて実現してもよい。
【００６５】
上述の実施の形態の文書管理システム１０によれば、エージェントプログラム４が、文書を保存する時に編集内容が競合しても、エージェントプログラム４の編集内容をリアルタイムに保存できるサーバ装置１、文書管理システム１０、及びプログラムを提供することができる。
【符号の説明】
【００６６】
１  サーバ装置
２，２ａ〜２ｎ  クライアント装置
３    ネットワーク
４    エージェントプログラム
１０  文書管理システム
１１  編集受付部
１２  代理編集受付部
１３  受信部
１４  エージェント起動部
１５  記憶部
１６  文書管理ＤＢ
４１  判定部
４２  編集保存部
４３  送信部
４６  起動判定部
４７  編集エージェント起動部
４８  管理者通知エージェント起動部
４９  ユーザ通知エージェント起動部
５１  制御部
５２  主記憶部
５３  補助記憶部
５４  表示部
５５  入力部
５６  通信Ｉ／Ｆ
５７  バス
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２００４−２５９０２９号公報
【図１】
2014109815.tif 000003
【図２】
2014109815.tif 000004
【図３】
2014109815.tif 000005
【図４】
2014109815.tif 000006
【図５】
2014109815.tif 000007
【図６】
2014109815.tif 000008
【図７】
2014109815.tif 000009
【図８】
2014109815.tif 000010
【図９】
2014109815.tif 000011