(57)【要約】【課題】異なる機能を実現するために用意された異なる形態の複数のデータベースの更新および整合性維持のための作業の負担を大幅に軽減し、かつ操作ミスによる整合性の破壊を防ぐこと。【解決手段】システム管理装置１０５が、文書管理装置１０１から文書管理ＤＢ１０２の階層構造を表す情報を取得し、該階層構造の階層関係を変更可能に表示し、該階層関係の変更を１変更単位で履歴として保持しておき、該保持される階層変更履歴をもとに、文書管理装置１０１に文書管理ＤＢ１０２の階層構造の変更を要求し、且つ、外部文書格納装置１０３に文書格納先照合ＤＢ１０４の変更を要求して文書管理ＤＢ１０２と文書格納先照合ＤＢ１０４の同期をとり、前記いずれかのＤＢへの変更要求が通らなかった場合、双方の情報を要求前の状態に戻すことにより文書管理ＤＢ１０２と文書格納先照合ＤＢ１０４の同期をとる情報ロールバック処理を行うことを特徴とする。【選択図】図１
2006018540.tif 000002
【特許請求の範囲】
【請求項１】
電子文書を送信するための宛先情報である文書格納先情報と文書属性の関連付け情報を有する文書格納先情報データベースを具備し前記関連付け情報に基づいて電子文書を外部装置に対して送信する機能を有する外部文書格納装置と、外部から受信した電子文書を階層構造で管理するための階層構造管理情報を有する文書管理データベースを具備する文書管理装置と通信可能に接続されるシステム管理装置であって、
前記文書管理装置にデータベースの階層構造を表す情報の送信を要求する階層構造情報送信要求手段と、
前記文書管理装置から送信された階層構造情報を受信する階層構造情報受信手段と、
前記受信した階層構造情報を表示する階層構造情報表示手段と、
前記表示された階層構造の階層関係を変更する表示階層情報変更手段と、
前記階層関係の変更を１変更単位で履歴として保持する表示階層変更履歴保持手段と、
前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求する階層構造変更要求手段と、
前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求する文書格納先情報変更要求手段と、
前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うことによって、前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報同期手段とを有することを特徴とするシステム管理装置。
【請求項２】
前記表示階層変更履歴保持手段は、前記階層関係の変更情報を前記文書格納先情報データベースの文書格納先情報と同一の絶対パス形式として保持することを特徴とする請求項１に記載のシステム管理装置。
【請求項３】
前記表示階層変更履歴保持手段は、変更前の前記階層構造における絶対パスと変更後の前記階層構造における絶対パスを持つ項目を変更順に並べた表構造であることを特徴とした請求項２に記載のシステム管理装置。
【請求項４】
前記階層構造変更要求または前記文書格納先情報変更要求で処理が失敗し、要求が通らなかった場合、両方の情報を要求前の状態に戻すことによって前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報ロールバック手段を有することを特徴とする請求項１に記載のシステム管理装置。
【請求項５】
前記階層構造情報表示手段は、ツリー構造図の形式でグラフィカルに表示することが可能な手段を有し、さらに前記表示階層情報変更手段は、ポインティングデバイスによりツリー構造図のあるノードを別のノードの下へ移動することによってグラフィカルな操作で変更できることを特徴とした請求項1に記載のシステム管理装置。
【請求項６】
前記階層構造変更要求手段は、前記表示階層変更履歴保持手段によって保持された変更履歴をたどるようにして、順次、前記階層構造の変更を、前記文書管理装置に要求することを特徴とした請求項１のシステム管理装置。
【請求項７】
前記文書格納先情報変更要求手段は、前記表示階層変更履歴保持手段によって保持された変更履歴をたどるようにして、順次、前記文書格納先情報の変更を、前記外部文書格納装置に要求することを特徴とした請求項１のシステム管理装置。
【請求項８】
前記文書格納先情報変更要求手段は、前記表示階層変更履歴保持手段によって保持された全変更履歴に基づいて、前記文書格納先情報受信手段により受信された全ての文書属性情報に対応した文書格納先情報を変更し、該変更した全ての文書属性情報に対応した文書格納先情報により、前記文書格納先情報の一括変更を前記外部文書格納装置に要求することを特徴とした請求項８のシステム管理装置。
【請求項９】
前記情報ロールバック手段は、前記表示階層変更履歴保持手段によって保持された変更履歴を逆にたどって変更要求することによって階層構造を変更前の状態に復帰させる階層構造情報復帰手段を有することを特徴とした請求項８のシステム管理装置。
【請求項１０】
前記情報ロールバック手段は、変更前にバックアップしておいた文書格納先情報をロールバック対象の文書格納先情報と入れ替えることによって迅速に文書格納先情報を変更前の状態に復帰させる文書格納先情報階層構造情報復帰手段を有することを特徴とした請求項１のシステム管理装置。
【請求項１１】
前記外部文書格納装置と前記文書管理装置とは別のサーバにより構成されネットワークを介して通信可能であることを特徴とする請求項１に記載のシステム管理装置。
【請求項１２】
電子文書を送信するための宛先情報である文書格納先情報と文書属性の関連付け情報を有する文書格納先情報データベースを具備し前記関連付け情報に基づいて電子文書を外部装置に対して送信する機能を有する外部文書格納装置と、外部から受信した電子文書を階層構造で管理するための階層構造管理情報を有する文書管理データベースを具備する文書管理装置と、前記外部文書格納装置及び前記文書管理装置と通信可能なシステム管理装置とを有する管理システムであって、
前記システム管理装置は、
前記文書管理装置にデータベースの階層構造を表す情報の送信を要求する階層構造情報送信要求手段と、
前記文書管理装置から送信された階層構造情報を受信する階層構造情報受信手段と、
前記受信した階層構造情報を表示する階層構造情報表示手段と、
前記表示された階層構造の階層関係を変更する表示階層情報変更手段と、
前記階層関係の変更を１変更単位で履歴として保持する表示階層変更履歴保持手段と、
前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求する階層構造変更要求手段と、
前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求する文書格納先情報変更要求手段と、
前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うことによって、前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報同期手段とを有するものであり、
前記文書管理装置は、
前記システム管理装置からの要求に応じて前記データベースの階層構造を表す情報を前記システム管理装置に送信する階層構造情報送信手段と、
前記システム管理装置からの要求に応じて前記データベースの階層構造の階層関係を変更する階層情報変更手段とを有するものであり、
前記外部文書格納装置は、
前記システム管理装置からの要求に応じて前記文書格納先情報を変更する文書格納先情報変更手段と有することを特徴とする管理システム。
【請求項１３】
前記階層構造変更要求または前記文書格納先情報変更要求で処理が失敗し、要求が通らなかった場合、両方の情報を要求前の状態に戻すことによって前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報ロールバック手段を有することを特徴とする請求項１２に記載の管理システム。
【請求項１４】
電子文書を送信するための宛先情報である文書格納先情報と文書属性の関連付け情報を有する文書格納先情報データベースを具備し前記関連付け情報に基づいて電子文書を外部装置に対して送信する機能を有する外部文書格納装置と、外部から受信した電子文書を階層構造で管理するための階層構造管理情報を有する文書管理データベースを具備する文書管理装置と通信可能に接続されるシステム管理装置におけるシステム管理方法であって、
前記文書管理装置にデータベースの階層構造を表す情報の送信を要求する階層構造情報送信要求ステップと、
前記文書管理装置から送信された階層構造情報を受信する階層構造情報受信ステップと、
前記受信した階層構造情報を表示する階層構造情報表示ステップと、
前記表示された階層構造の階層関係を変更する表示階層情報変更ステップと、
前記階層関係の変更を１変更単位で履歴として記憶手段に保持させる表示階層変更履歴保持ステップと、
前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求する階層構造変更要求ステップと、
前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求する文書格納先情報変更要求ステップと、
前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うことによって、前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報同期ステップと、
を有することを特徴とするシステム管理方法。
【請求項１５】
前記階層構造変更要求または前記文書格納先情報変更要求で処理が失敗し、要求が通らなかった場合、両方の情報を要求前の状態に戻すことによって前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報ロールバックステップを有することを特徴とする請求項１４に記載のシステム管理方法。
【請求項１６】
電子文書を送信するための宛先情報である文書格納先情報と文書属性の関連付け情報を有する文書格納先情報データベースを具備し前記関連付け情報に基づいて電子文書を外部装置に対して送信する機能を有する外部文書格納装置と、外部から受信した電子文書を階層構造で管理するための階層構造管理情報を有する文書管理データベースを具備する文書管理装置と、前記外部文書格納装置及び前記文書管理装置と通信可能なシステム管理装置とを有する管理システムにおけるシステム管理方法であって、
前記システム管理装置は、
前記文書管理装置にデータベースの階層構造を表す情報の送信を要求する階層構造情報送信要求ステップと、
前記文書管理装置から送信された階層構造情報を受信する階層構造情報受信ステップと、
前記受信した階層構造情報を表示する階層構造情報表示ステップと、
前記表示された階層構造の階層関係を変更する表示階層情報変更ステップと、
前記階層関係の変更を１変更単位で履歴として保持する表示階層変更履歴保持ステップと、
前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求する階層構造変更要求ステップと、
前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求する文書格納先情報変更要求ステップと、
前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うことによって、前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報同期ステップとを行うものであり、
前記文書管理装置は、
前記システム管理装置からの要求に応じて前記データベースの階層構造を表す情報を前記システム管理装置に送信する階層構造情報送信ステップと、
前記システム管理装置からの要求に応じて前記データベースの階層構造の階層関係を変更する階層情報変更ステップとを行うものであり、
前記外部文書格納装置は、
前記システム管理装置からの要求に応じて前記文書格納先情報を変更する文書格納先情報変更ステップを行うことを特徴とするシステム管理方法。
【請求項１７】
前記階層構造変更要求または前記文書格納先情報変更要求で処理が失敗し、要求が通らなかった場合、両方の情報を要求前の状態に戻すことによって前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報ロールバックステップを有することを特徴とする請求項１５に記載のシステム管理方法。
【請求項１８】
請求項１４〜１７に記載されたシステム管理方法を実行するためのプログラム。
【請求項１９】
請求項１４〜１７に記載されたシステム管理方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の通信媒体を介して複数の情報処理装置およびデータベース管理装置が接続されるシステムにおいて、独立したデータベース間の管理構造および内容の更新を連動して整合性を維持する制御に関する。
【背景技術】
【０００２】
従来より、階層構造のデータ管理を行う文書管理データベースを持つ文書管理装置を備え、この文書管理装置にＦＡＸ送信やスキャン入力で電子化した文書を文書属性情報を元に自動的に所定の階層位置へ文書を格納する外部文書格納装置が接続されており、前記外部文書格納装置は、属性情報から文書格納先を決定するための文書格納先照合データベースを持っていることを特徴とするシステムがあった。
【０００３】
なお、上記文書格納先照合データベースの内容は、文書管理データベースの実際の階層構造にしたがって作成されるものであるが、文書管理データベースの階層構造が変更された場合、管理者は整合性をとるために文書格納先照合データベースの内容を必要に応じて変更しなければならない。
【０００４】
従来は、この変更作業を管理者が手作業で行っていた（文書管理データベースの階層構造の変更を自動的に文書格納先照合データベースに反映できなかった）。
【０００５】
例えば、特許文献１には文書管理装置のフォルダ構造を変更した変更履歴情報を保持することで指定された日時のフォルダ構造を表示することが可能なシステムが開示されている。
【０００６】
また、特許文献２には、複数のデータベース間の整合性をあわせるための仕組みが開示されている。
【特許文献１】特開２００２−１０８６７７号公報
【特許文献２】特開平１１−３２６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の文書管理装置では装置内で管理しているデータベースの変更履歴を管理するだけであり、他の連携しているシステムにおけるデータベースとの連携を取ることができない。
【０００８】
また、特許文献２ではデータベース間の整合性を合わせることは可能であるが、各データベースが異なるシステムにおいて利用されている異なる形態のデータベースである場合において単純に適用することはできない。
【０００９】
そして上記のように管理者が手作業でデータを更新する場合に発生する問題として、文書管理データベースの階層構造の変更が多岐にわたった場合、これらすべての変更を把握して文書格納先照合データベースの内容を修正するのは困難な作業となること、文書格納先照合データベースのデータ量が非常に多い場合、すべてのデータを更新するのに非常に手間がかかること、手作業での変更は階層構造の絶対パスをテキスト入力する形で行われるため、入力ミスで逆にデータの整合性を破壊してしまう恐れがあること等の問題が挙げられる。
【００１０】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、システム管理装置が、文書管理装置にデータベースの階層構造を表す情報の送信を要求し、前記文書管理装置から送信された階層構造情報を受信し、該受信した階層構造情報を表示し、前記表示された階層構造の階層関係を変更し、前記階層関係の変更を１変更単位で履歴として保持し、前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求し、且つ、前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求し、前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うことによって、前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとることにより、それぞれ異なる機能を実現するために用意された異なる形態の複数のデータベースの更新および整合性維持のための作業の負担を大幅に軽減し、かつ操作ミスによる整合性の破壊を防ぐことが可能な、優れたシステムメンテナンス環境を構築することができるシステム管理装置および管理システムおよびシステム管理方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１１】
本発明は、電子文書を送信するための宛先情報である文書格納先情報と文書属性の関連付け情報を有する文書格納先情報データベースを具備し前記関連付け情報に基づいて電子文書を外部装置に対して送信する機能を有する外部文書格納装置と、外部から受信した電子文書を階層構造で管理するための階層構造管理情報を有する文書管理データベースを具備する文書管理装置と通信可能に接続されるシステム管理装置であって、前記文書管理装置にデータベースの階層構造を表す情報の送信を要求する階層構造情報送信要求手段と、前記文書管理装置から送信された階層構造情報を受信する階層構造情報受信手段と、前記受信した階層構造情報を表示する階層構造情報表示手段と、前記表示された階層構造の階層関係を変更する表示階層情報変更手段と、前記階層関係の変更を１変更単位で履歴として保持する表示階層変更履歴保持手段と、前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求する階層構造変更要求手段と、前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求する文書格納先情報変更要求手段と、前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うことによって、前記文書管理装置の階層構造と前記外部文書格納装置の文書格納先情報の同期をとる情報同期手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、文書管理装置にデータベースの階層構造を表す情報の送信を要求し、前記文書管理装置から送信された階層構造情報を受信し、該受信した階層構造情報を表示し、前記表示された階層構造の階層関係を変更し、前記階層関係の変更を１変更単位で履歴として保持し、前記表示階層変更履歴をもとに前記文書管理装置に階層構造の変更を要求し、且つ、前記表示階層変更履歴をもとに前記外部文書格納装置に文書格納先情報の変更を要求し、前記階層構造変更要求と前記文書格納先情報変更要求をセットで行うので、文書管理データベースおよび文書格納先照合データベースの管理者による階層構造の更新および整合性維持のための作業の負担を大幅に軽減し、かつ操作ミスによる整合性の破壊を防ぐ効果がある。また、１つの変更指示に基づいてそれぞれ異なる機能を実現するために用意された異なる形態の複数のデータベースやテーブル情報に対して変更を反映することができる。
【００１３】
従って、それぞれ異なる機能を実現するために用意された異なる形態の複数のデータベース等が連携されるシステムにおける優れたシステムメンテナンス環境を提供することができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１４】
本発明は、上記背景技術の欄で示した文書管理装置、外部文書格納装置、管理装置がネットワークで接続された環境を想定している。このネットワークには、この他に一般ユーザが文書管理装置内の文書を利用するための複数のユーザ端末や外部文書格納装置に電子化された文書を送り込むためのＦＡＸ受信装置、文書スキャン装置なども接続されている。なお、本実施形態においては、文書管理装置、文書格納装置、管理装置はそれぞれ独立して配されているが、必ずしもこれに限定されず３つが同一のサーバ内にあっても良いし、例えば文書管理装置のサーバと、文書格納装置と管理装置とからなるサーバなどのように２つのサーバに配されても良い。
【００１５】
＜前提となるシステムの説明＞
図１は、本発明の前提となるシステム（本発明の文書管理装置，外部文書格納装置，システム管理装置を適用可能なシステム管理システム）のシステム構成図である。
【００１６】
図１に示すように、本発明の前提となるシステムでは、文書管理装置１０１、外部文書格納装置１０３、システム管理装置１０５、一般ユーザ端末１０６、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  ｐｅｒｉｐｈｅｒａｌ）１０７がネットワークで接続されている。文書管理装置１０１、外部文書格納装置１０３は、それぞれひとつだけ存在している。システム管理装置１０５は同時に使用しない限り、複数存在することを認められるが、通常はひとつだけあれば十分である。一般ユーザ端末１０６はネットワーク上に複数存在している。ＭＦＰ１０７は単数でも複数でもかまわない。
【００１７】
ＭＦＰ１０７は、電話回線を通して受信されたＦＡＸ文書を外部文書格納装置１０３に属性情報を附加して送信する機能か、紙文書をスキャンして電子化された文書を外部文書格納装置１０３に属性情報を附加して送信する機能、またはその両方の機能を有している。
【００１８】
文書管理ＤＢ１０２は、文書管理装置１０１に付随する記憶装置内に設置されている。
【００１９】
文書格納先照合ＤＢ１０４は、外部文書格納装置１０３に付随する記憶装置内に設置されている。
【００２０】
文書管理装置１０１および外部文書格納装置１０３は、情報処理装置であり、主にサーバコンピュータとして使用される高性能のコンピュータを想定している。
【００２１】
システム管理装置１０５および一般ユーザ端末１０６は情報処理装置であり、主にパーソナルコンピュータ（ＰＣ）を想定している。システム管理装置１０５に関しては高性能なものを使用することが望ましい。
【００２２】
なお、文書管理装置１０１は、一般ユーザ端末１０６および外部文書格納装置１０３により指定された階層位置に電子書類を格納する機能と、一般ユーザ端末１０６に指定された文書を参照できる情報を送信する機能と、システム管理装置１０５からの要求に応じてシステム管理装置１０５に文書管理ＤＢ１０２の階層構造を表すための情報を送信する機能、システム管理装置１０５からの階層構造の変更の要求に従って、文書管理ＤＢ１０２の階層構造を変更する機能等を含む各種機能を備えている。
【００２３】
また、外部文書格納装置１０３は、ＦＡＸ受信文書およびスキャン文書に附加された属性情報を読み取り、該読み取った属性情報に従って、文書格納先照合ＤＢ１０４に登録された文書格納先で指定される文書管理ＤＢ１０２内の階層位置へ文書を送信する機能と、システム管理装置１０５からの要求に応じて、システム管理装置１０５に文書格納先照合ＤＢ１０４に登録された文書格納先の情報を送信する機能、システム管理装置１０５からの文書格納先情報の変更の要求に従って、文書格納先照合ＤＢ１０４の文書格納先情報を変更する機能等を含む各種機能を備えている。
【００２４】
さらに、システム管理装置１０５は、外部文書格納装置１０３に文書格納先照合ＤＢ１０４に登録された文書属性と文書格納先の関連付けの情報の送信を要求して取得する機能と、該受信取得した文書格納先情報を表示する機能と、文書管理装置１０１に文書管理ＤＢ１０２の階層構造を表す情報を要求して取得する機能と、該受信取得した階層構造情報を表示する機能等を含む各種機能を備えている。
【００２５】
図２は、図１に示した文書管理装置１０１および文書管理ＤＢ１０２の構成の一例を示すブロック図である。
【００２６】
図２に示すように、文書管理装置１０１は、記憶装置２０１、ＣＰＵ２０２、ＲＡＭ２０３、外部インタフェース２０４がデータバスで接続された構成となっている。
【００２７】
記憶装置２０１は、電源を切断してもデータが消去されない不揮発性の記憶装置で、長期間保存する可能性のあるデータを保存することを目的としたものである。通常はハードディスク（ＨＤ）が用いられる。この記憶装置２０１には、システムを実行する文書管理プログラムや文書管理ＤＢ（図１に示した文書管理ＤＢ１０２）が保存されている。文書管理ＤＢには、管理されている保存文書の他、文書を階層管理するための階層構造情報（図３（ｂ）に示すテーブル３−１，図３（ｃ）に示すテーブル３−２の情報）などが含まれている。
【００２８】
ＣＰＵ２０２は、演算処理によってさまざまなプログラムを実行できる中央演算処理装置である。ＲＡＭ２０３は揮発性の記憶装置で、電源が入っている間だけ有効なメモリである。このＲＡＭ２０３は作業領域としても使用され、ＣＰＵ２０２は、記憶装置２０１から文書管理プログラムを、このＲＡＭ２０３上にロードして実行する。また、このＲＡＭ２０３は、外部インタフェース２０４で送受信したデータを一時的に記憶するときにも使用する。
【００２９】
外部インタフェース２０４は、ネットワークとの接続部分であり、ネットワークに接続された外部の機器とのデータの送受信の窓口となる装置である。
【００３０】
図３は、文書管理ＤＢ１０２における文書管理構造の一例を示す図であり、図３（ａ）は文書管理ＤＢ１０２における階層構造の概念図に対応し、図３（ｂ）は文書管理ＤＢ１０２において階層のルートやノードとなる「フォルダ」の情報と階層関係を管理するフォルダ管理テーブルに対応し、図３（ｃ）は文書管理ＤＢ１０２において文書の情報やデータを管理する文書管理テーブルに対応する。
【００３１】
まず、図３（ａ）を参照して、階層構造文書データベースの概念を説明する。
【００３２】
階層の最上層をルートと呼び、複数のルートを持つことができる。各ルートは名称によって区別される。図３（ａ）に示した例では、「ルート１」「ルート２」の２つのルートが存在している。
【００３３】
ルートの下には階層のノードとなる「フォルダ」がいくつか存在している。同一階層内の各フォルダは名称によって区別される。フォルダは何階層にも親子関係を作ることができる。あるフォルダにおいて、親フォルダはひとつしかないが、子フォルダは「０」から複数まで自由な数だけ持つことができる。つまり、文書管理ＤＢ１０２は、複数の前記ツリー構造方式を並行して管理することができる。
【００３４】
フォルダの下にはこのＤＢで管理される「文書」を置くことができる。同一フォルダ内の各文書は名称によって区別される。このＤＢで管理される文書を、文字列によって特定したい場合、この文書の系統上の「ルート」「フォルダ」「文書」の名称を区切り文字をはさんで連結した文字列で表すことができる。
【００３５】
例えば、区切り文字を「￥」とした場合、ルート１のフォルダ１１のフォルダ１１１の下の文書Ａを指定したい場合は「ルート１￥フォルダ１１￥フォルダ１１１￥文書Ａ」という文字列で表すことができる。この文字列を「絶対パス」という。
【００３６】
＜階層構造の実装例＞
次に、図３（ｂ），図３（ｃ）を参照して、フォルダ，ファイルを実際にデータベースとしてどのように管理しているかを説明する。
【００３７】
図３（ｂ），図３（ｃ）に示した例では、複数のテーブルから構成されるリレーショナルデータベースの構造を取っている。
【００３８】
図３（ｂ）において、３−１は階層のルートやノードとなる「フォルダ」の情報と階層関係を管理するフォルダ管理テーブルである。また、図３（ｃ）において、３−２は文書の情報やデータを文書管理するテーブルである。
【００３９】
図３（ｂ）のフォルダ管理テーブル３−１は、フォルダを識別できるユニークな「フォルダＩＤ」、表示上の名前である「フォルダ名」、そのフォルダの上位階層であるフォルダのＩＤである「親フォルダＩＤ」と、その他、フォルダごとに特有の情報を持つ項目がある。「フォルダＩＤ」は「０」でない値が各フォルダにユニークに割り振られる。フォルダが最上層（ルート）である場合は親フォルダが存在しないことを表すために「親フォルダＩＤ」の項目に「０」を入れる。「フォルダ名」は同じ親フォルダに属するものの間ではユニークだが、異なるフォルダ下には同じフォルダ名が存在してもよい。
【００４０】
図３（ｃ）の文書管理テーブル３−２は、文書の表示上の名前である「文書名」、その文書を持っているフォルダのＩＤである「親フォルダＩＤ」と、その他、文書ごとに特有の情報やデータを持つ項目がある。「文書名」は同じ親フォルダに属するものの間ではユニークだが、異なるフォルダ下には同じ文書名が存在してもよい。また親フォルダに属するフォルダの「フォルダ名」と同じ名前の「文書名」があることも許されない。
【００４１】
＜文書管理プログラムの基本動作＞
図１に示した文書管理装置１０１において図２に示した構造図の記憶装置２０１に記録されている文書管理プログラムは、最初に管理者によって起動された後は、原則として常時稼動し続けるものである。一般のユーザが文書管理ＤＢ１０２に存在する文書を参照したい場合、一般ユーザ端末１０６から文書管理装置１０１に「参照」を意味する命令と参照したい文書の絶対パスの指定を送り、これを文書管理プログラムの処理によって文書管理ＤＢ１０２から目的の文書のデータを取得し、一般ユーザ端末１０６へ送る。これにより、一般のユーザは一般ユーザ端末１０６を通して、文書管理ＤＢ１０２に存在する文書を参照することができる。
【００４２】
より強い権限を与えられたユーザの場合は、同様に一般ユーザ端末１０６から命令や対象文書の絶対パスの指定を送ることによって、文書管理プログラムに処理させて文書管理ＤＢ１０２に対して文書の追加、更新、削除などの処理を行うことができる。
【００４３】
また、文書の追加の命令は外部文書格納装置１０３からも送られてくる。文書管理プログラムは、送り元が一般ユーザか、外部文書格納装置１０３かを区別することなく、同じ命令として処理する。
【００４４】
このように文書管理プログラムは他の装置からの命令を受けて対応する処理を実行する形式のプログラムである。
【００４５】
図４は、図１に示した外部文書格納装置１０３および文書格納先照合ＤＢ１０４の構成の一例を示すブロック図である。
【００４６】
外部文書格納装置１０３は、記憶装置４０１、ＣＰＵ４０２、ＲＡＭ４０３、外部インタフェース４０４がデータバスで接続される構成となっている。
【００４７】
記憶装置４０１は電源を切断してもデータが消去されない不揮発性の記憶装置で、長期間保存する可能性のあるデータを保存することを目的としたものである。通常はハードディスク（ＨＤ）が用いられる。この記憶装置には、システムを実行する外部文書格納プログラムや文書格納先照合ＤＢ（図１に示した文書格納先照合ＤＢ１０４）が保存されている。文書格納先照合ＤＢには、文書格納先照合が必要なデータ（図４に示す）が含まれている。
【００４８】
ＣＰＵ４０２は、演算処理によってさまざまなプログラムを実行できる中央演算処理装置である。ＲＡＭ４０３は、揮発性の記憶装置で、電源が入っている間だけ有効なメモリである。このＲＡＭ４０３は作業領域としても使用され、ＣＰＵ４０２は、記憶装置４０１から外部文書格納プログラムを、このＲＡＭ４０３上にロードして実行する。このＲＡＭ４０３は、外部インタフェース４０４で送受信したデータを一時的に記憶するときにも使用する。
【００４９】
外部インタフェース４０４は、ネットワークとの接続部分であり、ネットワークに接続された外部の機器とのデータの送受信の窓口となる装置である。
【００５０】
図５は、図１に示した文書格納先照合ＤＢ１０４（文書格納先照合テーブル）の構成の一例を示すデータ構成図である。
【００５１】
このＤＢは単純な２次元の表である。この例の場合、３つの列が存在するが、実際にはもっと多くの情報を附加するために列数を増やしてもよい。この例の場合１列目「種別」は文書がＦＡＸ受信されたものかスキャンされたものかを区別する項目であり、２列目「文書属性情報」はＦＡＸ受信文書の場合はＦＡＸの送信者が誰なのかを特定できるような情報（例えば送信者のＦＡＸ番号）を記述する。スキャン文書の場合は、この文書を参照させる人物を特定できるような情報（例えば相手の社員番号）を記述する。３列目「文書格納先」にはその文書を文書管理ＤＢ１０２のどこに保存したいかを示す「絶対パス」を記述する。
【００５２】
以上をふまえて、外部文書格納装置１０３がネットワーク外からの文書を文書管理装置１０１に保存する手順を具体例で示す。
【００５３】
例えば、Ｘという送信者が文書をＦＡＸでＭＦＰ１０７に送信した場合、ＭＦＰ１０７は文書データにＦＡＸ送信者が「Ｘ」であるという属性情報を添えて外部文書格納装置１０３に送る。外部文書格納装置１０３は、文書格納先照合ＤＢ１０４を参照し、受け取った文書がＦＡＸ受信文書であり、送信者が「Ｘ」であることから図５の例により、文書格納先が「ルート１￥フォルダ１１￥フォルダ１１１」であることを判断する。その後、文書管理装置１０１に対して、文書を「ルート１￥フォルダ１１￥フォルダ１１１」の下に保存することを要求する。文書管理装置１０１は要求に従って、文書を受け取り、指定位置へ文書を保存する。
【００５４】
図６は、図１に示したシステム管理装置１０５の構造の一例を示すブロック図である。
【００５５】
このシステム管理装置１０５は、本システムの管理者が実際に操作を行ってシステムのメンテナンスを行うための装置である。
【００５６】
図６に示すように、システム管理装置１０５は、記憶装置６０１、ＣＰＵ６０２、ＲＡＭ６０３、外部インタフェース６０４がデータバスで接続され、外部には表示装置６０５、入力装置６０６が接続されている構成となっている。
【００５７】
記憶装置６０１は、電源を切断してもデータが消去されない不揮発性の記憶装置で、長期間保存する可能性のあるデータを保存することを目的としたものである。通常はハードディスク（ＨＤ）が用いられる。この記憶装置には、システムを実行するシステム管理プログラムが保存されている。
【００５８】
ＣＰＵ６０２は、演算処理によってさまざまなプログラムを実行できる中央演算処理装置である。ＲＡＭ６０３は、揮発性の記憶装置で、電源が入っている間だけ有効なメモリである。このＲＡＭ６０３は作業領域としても使用され、ＣＰＵ６０２は、記憶装置６０１からシステム管理プログラムを、このＲＡＭ６０３上にロードして実行する。このＲＡＭ６０３は、外部インタフェース６０４で送受信したデータを一時的に記憶するときにも使用する。
【００５９】
外部インタフェース６０４は、ネットワークとの接続部分であり、ネットワークに接続された外部の機器とのデータの送受信の窓口となる装置である。
【００６０】
表示装置６０５は、システム管理者（操作者）の操作結果や情報処理の結果、システム管理装置１０５が外部機器と通信した結果を操作者に見せるためのもので、通常はＣＲＴや液晶などのディスプレイが使用される。接続には主に一般的な表示装置用のインタフェースが用いられる。
【００６１】
入力装置６０６は、操作者がシステム管理装置１０５を操作するための装置で通常はキーボードのようなコード入力装置やマウスなどのポインティングデバイスが使われる。接続には入力機器用の一般的なインタフェースやＵＳＢなどの汎用的なインタフェースが用いられる。
【００６２】
システム管理装置１０５で行うことのできるメンテナンス操作は、文書管理ＤＢ１０２に対しては各フォルダの階層関係やフォルダ名称の変更を文書管理装置１０１を通じて、文書格納先照合ＤＢ１０４に対しては各行の文書格納先の記述の変更を外部文書格納装置１０３を通じて行うことができる。このとき、文書管理ＤＢ１０２に対する複数の変更操作を自動的に文書格納先照合ＤＢ１０４に反映できることが本発明のポイントであるが、これについては後ほど詳細に説明する。
【００６３】
以上、各装置の説明をふまえて、再度、図１にてシステム全体の説明をする。
【００６４】
文書管理装置１０１は、文書管理ＤＢ１０２に対してネットワーク上の他の装置から文書の取得、保存、階層構造の変更を制御するものである。一般ユーザ端末１０６はネットワーク上に複数存在しており、各ユーザはこの端末を使って、文書の参照や保存を行う。そのための要求は文書管理装置１０１によって処理される。
【００６５】
ＦＡＸ受信文書やスキャン文書のようにネットワーク外に存在した文書を文書管理ＤＢ１０２に保存したい場合は、これらの文書を受信したＭＦＰ１０７が属性情報を添えて、文書を外部文書格納装置１０３に送り、これが文書格納先照合ＤＢ１０４で文書を保存すべき階層のパスを決定して、文書管理装置１０１に保存を要求する。文書管理装置１０１は要求に従い、指定位置へ外部からの文書を保存する。
【００６６】
以上が本システムを利用した通常業務である。本システムにおいて文書管理ＤＢ１０２の階層構造や文書格納先照合ＤＢ１０４の格納先の変更を行うメンテナンス業務を行うためには、管理者がシステム管理装置１０５を使って行うことができる。
【００６７】
＜前提となるシステムの運用例＞
これまで説明した本発明の前提となるこのシステムは、実際にどのように使用するのか例を示す。
【００６８】
ある会社の「Ｘ営業所」で本システムを導入したと仮定する。この営業所には２つの営業部があり、その下に２つずつの課があり、それぞれの課には数人ずつの社員が所属している。Ｘ営業所では文書管理ＤＢ１０２の階層構造を図７に示すように組織の構造と一致させて構築した。
【００６９】
図７は、図１に示した文書管理ＤＢ１０２の階層構造データの一例を示す模式図である。
【００７０】
図７に示すように、階層のルートはＸ営業所、次の層には各部のフォルダ、その下の層には各課のフォルダ、その下の層には各社員のフォルダを設け、フォルダの名称は部名、課名、社員の性とした。
【００７１】
各社員は端末を兼ねたＰＣで業務文書を作成し、文書管理ＤＢ１０２の自分のフォルダの下に文書を保存し、閲覧、改変などを行っている。
【００７２】
この営業所では得意先からの商品の受注をＦＡＸで受け付けており、ＦＡＸで送信された受注票を電子処理するために、文書格納先照合ＤＢ１０４を図８に示すように設定した。
【００７３】
図８は、図１に示した文書格納先照合ＤＢ１０４の文書格納先データの一例を示す模式図である。
【００７４】
図８に示すように、例えばＡ地区営業部Ａ地区営業１課所属の山田氏は、「ＬＬＬ産業」，「ＯＯＯ産業」の２つの得意先を担当しており、これらの得意先から受注票がＦＡＸ送信された場合、電子化された受注票が自動的に山田フォルダに格納されるように設定されている。山田氏は自分のフォルダに受注票が入ったのを見て、対応業務を行うことができる。
【００７５】
次にメンテナンス業務の例を示す。
【００７６】
ある日、山田氏が人事異動によりＡ地区営業部Ａ地区営業１課からＢ地区営業部Ｂ地区営業２課へ移ったとする。従来では（本発明を使用しない場合）、システム管理者は手作業でメンテナンスを行う必要がある。
【００７７】
具体的には、図９のように文書管理ＤＢ１０２における「山田フォルダ」の位置を異動後の位置へ変更する。
【００７８】
図９は、文書管理ＤＢ１０２における従来のメンテナンスの一例を説明する模式図である。
【００７９】
図９に示すように、文書管理ＤＢ１０２における「山田フォルダ」の位置を異動後の位置へ変更することにより、「山田フォルダ」の絶対パスは「Ｘ営業所￥Ａ地区営業部￥Ａ地区営業１課￥山田」から「Ｘ営業所￥Ｂ地区営業部￥Ｂ地区営業２課￥山田」に変わったこととなる。
【００８０】
そのために、次に文書格納先照合ＤＢ１０４に記述されている古い絶対パスを新しい絶対パスに書き換えなければならない。例の場合図１０のように２件を修正しなければならない。
【００８１】
図１０は、文書格納先照合ＤＢ１０４における従来のメンテナンスの一例を説明する模式図である。
【００８２】
図１０，図９に示したように、上記２つのＤＢの変更を完全に終わらせることでメンテナンス業務を完了したことになる。
【００８３】
＜メンテナンス業務の問題点＞
上記のように、本発明以前のメンテナンス業務の場合、いくつか問題点がある。
【００８４】
まず、上記の例では文書格納先照合ＤＢ１０４の総件数が５件で、そのうち変更が２件であったが、実際には得意先が何百件、何千件と存在していて、山田氏の担当も数多く存在することがありえる。そのような場合、山田氏の担当すべてを１件も見逃すことなく修正するのは困難である。また、絶対パスをキーボードなどにより手入力しているとしたら、入力ミスにより、間違った絶対パスが書かれ、業務に支障がでる恐れがある。
【００８５】
次に、例では単発の人事異動の場合であったが、実際には多くの会社では期の変わり目などに大量の人事異動や組織変更が同時に発生することが多く、大きな組織の場合は複雑で大量の変更が必要となることが考えられる。このような場合、文書管理ＤＢ１０２の階層構造の変更を１つずつ行うのは手間がかかりすぎ、現実的でないし、それに応じて文書格納先照合ＤＢ１０４を変更していくのは更に困難である。
【００８６】
＜本発明による改善＞
上記の問題点を改善し、管理者のメンテナンス業務の自動化による大幅な効率化と業務ミスの回避を目的としたのが、本発明である。
【００８７】
本発明で特に改良されている部分はシステム管理装置１０５に搭載するシステム管理プログラムである。このプログラムを起動すると図１１に示すようなグラフィカルユーザインタフェース（ＧＵＩ）が表示装置６０５に表示される。
【００８８】
図１１は、図６に示したシステム管理装置１０５の表示装置６０５に表示されるグラフィカルユーザインタフェース（ＧＵＩ）の一例を示す模式図であり、文書格納先照合ＤＢ表示画面（システム管理画面）に対応する。本発明の特徴部ではないが、この画面の操作で、格納先の新規挿入や削除、変更などの処理を行うことができる。
【００８９】
図１１では、ボタン１１０１で表しているが、ボタンまたはメニューの入力装置６０６（マウスなどのポインティングデバイス）の操作により、表示画面を図１２に示す画面に切り替えることができる。
【００９０】
図１２は、図６に示したシステム管理装置１０５の表示装置６０５に表示されるグラフィカルユーザインタフェース（ＧＵＩ）の一例を示す模式図であり、文書階層構造表示画面に対応する。
【００９１】
図１２に示すように、この文書階層構造表示画面では、文書管理ＤＢ１０２の階層構造を表示され、この画面において、入力装置６０６（マウスなどのポインティングデバイス）の操作（ドラッグ＆ドロップ）により、階層構造を変更したりキーボードなどの入力装置の操作によってフォルダの名称を変更したりすることができる。
【００９２】
この画面で操作した結果は、文書管理ＤＢ１０２に対してリアルタイムで反映されるものではなく、いくつかの変更操作を行ったあとに、操作者の指示で、一気に反映される。
【００９３】
図１２に示した例では、「実行」ボタン１２０１を入力装置６０６（マウスなどのポインティングデバイス）でクリックしたときに反映されるようにＣＰＵ６０２が制御する。なお、「キャンセル」ボタン１２０２をクリックしたときは、変更操作は無効とされ反映されないようにＣＰＵ６０２が制御する。また、この「キャンセル」ボタン１２０２をクリックすると、図１１に示した画面に移行する。
【００９４】
図１３は、図１２に示した文書階層構造表示画面でのメンテナンス操作の一例を示す模式図である。
【００９５】
図１３に示す例は、２つの変更操作とその手順を示す。
【００９６】
最初に山田フォルダの位置を変更する。これを〔変更０００１〕と呼ぶこととする。次に「Ｂ地区営業２課」フォルダの名称を「Ｂ地区特別営業課」に変更する。これを〔変更０００２〕と呼ぶこととする。
【００９７】
この後、実行ボタン１２０１をクリックすると、ＣＰＵ６０２は、〔変更０００１〕、〔変更０００２〕の順で文書管理ＤＢ１０２に反映させるように制御する。
【００９８】
さらに、ＣＰＵ６０２は、整合性を保つために、文書格納先照合ＤＢ１０４の変更も実行するように制御する。
【００９９】
なお、文書格納先照合ＤＢ１０４の変更処理では、文書格納先照合ＤＢ１０４への更新を行う前に、文書格納先照合ＤＢ１０４のバックアップをＲＡＭ６０３上に格納しておき、処理が異常終了した際には、前記ＲＡＭ６０３上のバックアップで文書格納先照合ＤＢ１０４を一連の変更処理実行前にロールバックさせる。
【０１００】
以下、図１４を参照して説明する。
【０１０１】
図１４は、図１３に示した文書管理ＤＢ１０２の文書階層構造変更に伴なう文書格納先照合ＤＢ１０４の変更処理を説明するための模式図である。
【０１０２】
図１４に示すように、ＣＰＵ６０２は、〔変更０００１〕に対して、文書格納先照合ＤＢ１０４の１件目を調べて、まず〔変更０００１〕の適用が必要だった場合に適用し、続いて〔変更０００２〕の適用が必要だった場合に適用する。
【０１０３】
図１４に示した例では、１件目の文書格納先は、変更〔変更０００１〕，〔変更０００２〕の対象になっているので〔変更０００１〕，〔変更０００２〕を適用して、結果を文書格納先照合ＤＢ１０４に反映させる。
【０１０４】
続いて２件目を調べるが、２件目は〔変更０００１〕も〔変更０００２〕も関係ないので適用しない。３件目も同様である。
【０１０５】
４件目は〔変更０００１〕も〔変更０００２〕も関係あるので適用して、結果を文書格納先照合ＤＢ１０４に反映させる。
【０１０６】
５件目は〔変更０００２〕のみ関係あるので適用して、結果を文書格納先照合ＤＢ１０４に反映させる。
【０１０７】
これで、〔変更０００１〕，〔変更０００２〕に対する変更処理が、文書格納先照合ＤＢ１０４の全件に対して終了したので、ＣＰＵ６０２は、変更処理を終了する。
【０１０８】
これによって２つ独立したＤＢ（文書管理ＤＢ１０２，文書格納先照合ＤＢ１０４）の全ての変更を整合性がとれるように自動的に（手作業で行うことなく）更新することができる。処理が自動であるため（手作業で２つ独立したＤＢの整合性をとる処理を行う必要がないため）、操作者の負担が大幅に軽減され、また入力ミスによる整合性の破壊も発生しない。
【０１０９】
これを実現するための手段として、上述した〔変更０００１〕，〔変更０００２〕の情報を「変更履歴」としてＲＡＭ６０２に記憶させておく必要がある。上述した〔変更０００１〕，〔変更０００２〕に対応する変更履歴を図１５に示す。
【０１１０】
図１５は、本実施形態における変更処理時にシステム管理装置１０５のＲＡＭ６０３（又は記憶装置６０１）に記憶される変更履歴情報の一例を示すデータ構成図であり、図１２〜図１４に示した〔変更０００１〕，〔変更０００２〕対応する。
【０１１１】
本実施形態では、図１５に示す変更履歴情報（テーブル）が、システム管理装置１０５のＲＡＭ６０３上に、図１３に示したような文書管理ＤＢに対する変更操作を行うたびに追加されていく。
【０１１２】
この変更履歴情報は、項目として、各変更を区別するための変更番号、変更前の絶対パス、変更後の絶対パス、変更内容として「移動」なのか「フォルダ名称変更」なのかを表す項目を持っている。
【０１１３】
この変更履歴は、図１３における操作をＣＰＵ６０２が逐次記録することによって作成される。
【０１１４】
文書管理ＤＢ反映時は「変更前」の絶対パスを探し、これを「変更後」の絶対パスに変更する。これを履歴順に繰り返すことでＤＢへの反映を実現する。
【０１１５】
また、文書格納先照合ＤＢへの反映の場合は、まず、画面において、１件目の文書格納先の絶対パスが変更前の絶対パスを含むかを調べ、含む場合は「変更後」に書き換え（ＤＢへ反映し）、含まない場合はそのままで次の履歴へ進み、同様にして調べる。１件目に対して、全ての変更履歴に対して調べ処理が終了したら、２件目に進み、２件目以降も同様にして各変更履歴に対して調べ処理を行い、最終件まで同様の調べ処理を行う。この一連の処理により、ＲＡＭ６０３に保持される変更履歴情報の文書格納先照合ＤＢへの反映を実現することができる。
【０１１６】
図１５に示すように、変更履歴情報は、絶対パス表記されており、変更処理の際は、この変更履歴情報をもとに変更を図３（ｂ），図３（ｃ）に示した文書格納ＤＢ１０２のフォルダ管理テーブル３−１，文書管理テーブル３−２と図５に示した文書格納先参照ＤＢ１０４（文書格納先照合テーブル）に反映させるものである。
【０１１７】
＜処理のロールバック＞
上述した複数のＤＢ（文書格納ＤＢ１０２及び文書格納先参照ＤＢ１０４）への一連の変更処理を行っている途中で、何らかのエラーが発生して処理を続行できない状況が発生することが考えられる。
【０１１８】
このような場合、処理が途中で終了してしまうと上記複数のＤＢの整合性が保てなくなる可能性がある。これを防ぐにために、エラー時には処理全体をキャンセルして、処理前の状態を復元するロールバック処理を行う必要がある。本実施形態のシステムでは、文書管理ＤＢ１０２のロールバック、文書格納先照合ＤＢ１０４のロールバックと２つのロールバックの必要性がある。
【０１１９】
文書管理ＤＢ１０２のロールバックを行うには、変更履歴をエラー発生時の位置から逆にたどり、各変更において「変更後」の絶対パスから「変更前」の絶対パスに戻すことによって実現する。
【０１２０】
文書格納先照合ＤＢ１０４のロールバックは、予め上書きを開始する前にＤＢのバックアップデータをとっておき、エラー時は、バックアップからデータを復元することによって実現する。
【０１２１】
＜本処理実行の条件＞
本発明の処理中に一般ユーザの操作や外部文書の受信があった場合、正しく処理できない可能性があるため、このメンテナンス操作を行うためには、本システムが使われていないことが条件となる。そのため両ＤＢを管理者以外の人物が使用できない状態にしておくことが必要である。管理者は業務に影響を与えないため、このメンテナンス操作を休日や深夜に行うことが望ましい。
【０１２２】
＜本発明のフローチャート＞
以上、本発明について具体例によって説明したが、これを抽象化したフローチャートを図１６に示す。このフローチャートは操作者が実行ボタン１２０１がクリックされたあとの自動的に行われる部分（操作者が意識しない部分）について記述している。そのため、この処理の実行前に、操作者が図１３に示したような階層構造の変更を行い、図１５に示した変更履歴が作成されていることが前提となっている。
【０１２３】
図１６は、本発明のシステム管理システムにおける第１の制御処理手順の一例を示すフローチャートであり、図６に示したシステム管理装置１０５のＣＰＵ６０２が記憶装置６０１からシステム管理プログラムをＲＡＭ６０３上にロードして実行することにより実現される。なお、図中、Ｓ１６０１〜Ｓ１６１９は各ステップを示す。
【０１２４】
図１２に示した実行ボタン１２０１が指示（クリック）されると、ＣＰＵ６０２は、本フローチャートの処理を開始する。
【０１２５】
まず、ステップＳ１６０１において、ＣＰＵ６０２は、ＲＡＭ６０３上に保持される変更履歴（図１５）の１番目の変更項目を対象項目とするために、ＲＡＭ６０３上に確保される対象項目を示す変数である変更履歴Ｎに「１」を代入する。
【０１２６】
次に、ステップＳ１６０２において、ＣＰＵ６０２は、対象項目における変更を文書管理ＤＢ１０２に反映する。即ち、ＣＰＵ６０２は、変更履歴（図１５）の１番目の変更項目のデータ（変更前の絶対パス，変更後の絶対パス，変更内容が「移動」，「名称変更」のいずれであるかを示す情報）を含む文書管理ＤＢ１０２の階層構造変更要求を文書管理装置１０１に送信する。
【０１２７】
次に、ステップＳ１６０３において、ＣＰＵ６０２は、文書管理ＤＢ１０２への反映結果を文書管理装置１０１から受信し、ステップＳ１６０２で行った文書管理ＤＢ１０２への反映が正常終了したか否かを判定し、反映が正常終了していない（反映不能）と判定した場合には、後述する図１７に示す文書管理ＤＢ１０２のロールバック処理を実行し、処理を終了する。
【０１２８】
一方、ステップＳ１６０３で、ＣＰＵ６０２が、ステップＳ１６０２で行った文書管理ＤＢ１０２への反映が正常終了したと判定した場合には、ステップＳ１６０４において、ＣＰＵ６０２は、対象項目を次の変更履歴に変更するために、変更履歴Ｎをインクリメントする。
【０１２９】
次に、ステップＳ１６０５において、ＣＰＵ６０２は、ステップＳ１６０４で変更した対象項目に対応する変更履歴が存在する（変更履歴が最後まで処理されていない）か否かを判定し、対象項目に対応する変更履歴が存在すると判定した場合には、ステップＳ１６０２に戻り、ＣＰＵ６０２は、対象項目における変更を文書管理ＤＢ１０２に反映を続行する。
【０１３０】
一方、ステップＳ１６０５で、ＣＰＵ６０２が、ステップＳ１６０４で変更した対象項目に対応する変更履歴が存在しない（変更履歴が最後まで処理された）と判定した場合には、ステップＳ１６０６に進み、文書格納先照合ＤＢ１０４に対する処理に進む。
【０１３１】
ステップＳ１６０６において、ＣＰＵ６０２は、文書格納先照合ＤＢ１０４のバックアップを作成してＲＡＭ６０４又は記憶装置６０１内に格納する。
【０１３２】
次に、ステップＳ１６０７において、ＣＰＵ６０２は、文書格納先照合ＤＢの対象件を１件目とするために、ＲＡＭ６０３上に確保される文書管理ＤＢの対象件を示す変数である文書管理先ＤＢ変数Ｍに「１」を代入する。この際に、ＣＰＵ６０２は、対象件である文書格納先照合ＤＢ１０４の対象行が処理されていることを示すために、例えば、図１４に示したようなシステム管理画面を表示装置６０５表示させ、対象件に対応する行（対象行、この時点では先頭行）を強調表示（判定表示，色を変えて表示等）する、或いは対象行をカーソルなどの表示で指し示すように表示制御する。
【０１３３】
次に、ステップＳ１６０８において、ＣＰＵ６０２は、ＲＡＭ６０３上に保持される変更履歴（図１５）の１番目の変更項目を対象項目とするために、ＲＡＭ６０３上に確保される対象項目を示す変数である変更履歴Ｎに「１」を代入する。
【０１３４】
次に、ステップＳ１６０９において、ＣＰＵ６０２は、変更履歴Nが対象件Mに関係が無いと判断したらそのままステップＳ１６１２に進む。
【０１３５】
一方、ステップＳ１６０９で、ＣＰＵ６０２が、変更履歴Nが対象件Mに関係があると判断したらステップＳ１６１０において、ＣＰＵ６０２は、対象件に対する対象項目における変更を文書格納先照合ＤＢ１０４に反映する。即ち、ＣＰＵ６０２は、変更履歴（図１５）の変更項目のデータ（変更前の絶対パス，変更後の絶対パス，変更内容が「移動」，「名称変更」のいずれであるかを示す情報）より、対象件に対応する文書格納先照合ＤＢ１０４の「文書格納先の絶対パス」に影響があるか否かを判定し、影響があると判定した場合には、変更項目のデータに基づいて、対象件に対応する「文書格納先の絶対パス」の変更後の絶対パスを導き出し、変更前の「文書格納先の絶対パス」（又は、種別，文書属性情報の組でもよい），前記導き出した変更後の「文書格納先の絶対パス」を含む変更要求データを、外部文書格納装置１０３に送信する。
【０１３６】
次に、ステップＳ１６１１において、ＣＰＵ６０２は、前記文書格納先照合ＤＢ１０４への反映結果を外部文書格納装置１０３から受信し、ステップＳ１６１０で行った文書格納先照合ＤＢ１０４への反映が正常終了したか否かを判定し、反映が正常終了していない（反映不能）と判定した場合には、ステップＳ１６１７において、ＣＰＵ６０２は、ステップＳ１６０６で作成した文書格納先照合ＤＢ１０４のバックアップデータにより、文書格納先照合ＤＢ１０４をロールバックする。即ち、ＣＰＵ６０２は、ステップＳ１６０６で作成した文書格納先照合ＤＢ１０４のバックアップデータを含む文書格納先照合ＤＢ１０４の変更要求データを、外部文書格納装置１０３に送信する。これにより、文書格納先照合ＤＢ１０４の変更要求データを受信した外部文書格納装置１０３側では、バックアップデータにより文書格納先照合ＤＢ１０４を変更させる処理が実行される（不図示）。
【０１３７】
そして、ＣＰＵ６０２は、ステップＳ１６１７の結果を外部文書格納装置１０３から受信し、ステップＳ１６１７で行った外部文書格納装置１０３へのロールバックが正常終了したか否かを判定し、反映が正常終了していない（反映不能）と判定した場合には、ロールバックに失敗した旨のメッセージを入力装置６０６に表示するように制御し、ロールバックに失敗した旨を、管理者に通知するようにする。
【０１３８】
次に、ステップＳ１６１８において、ＣＰＵ６０２は、変更履歴を「最大値＋１」にして、ステップＳ１６１９において、後述する図１７に示す文書管理ＤＢ１０２のロールバック処理を実行し、処理を終了する。
【０１３９】
一方、ステップＳ１６１１で、ＣＰＵ６０２が、ステップＳ１６１０で行った文書格納先照合ＤＢ１０４への反映が正常終了したと判定した場合には、ステップＳ１６１２において、ＣＰＵ６０２は、対象項目を次の変更履歴に変更するために、変更履歴Ｎをインクリメントする。
【０１４０】
次に、ステップＳ１６１３において、ＣＰＵ６０２は、変更履歴Nが存在する（変更履歴が最後まで処理されていない）か否かを判定し、対象項目に対応する変更履歴が存在すると判定した場合には、ステップＳ１６０９に戻り、ＣＰＵ６０２は、次の対象項目の反映処理を続行する。
【０１４１】
一方、ステップＳ１６１３で、ＣＰＵ６０２が、変更履歴Nが存在しない（変更履歴が最後まで処理された）と判定した場合には、ステップＳ１６１４に進み、ＣＰＵ６０２は、文書格納先照合ＤＢを次の対象件（行）に変更するために、文書格納先照合ＤＢ変数Ｍをインクリメントする。
【０１４２】
次に、ステップＳ１６１５において、ＣＰＵ６０２は、ステップＳ１６１４で変更した対象件が存在する（文書格納先照合ＤＢ１０４のテーブル内にある最後の行まで処理されていない）か否かを判定し、ステップＳ１６１４で変更した対象件が存在すると判定した場合には、ステップＳ１６０８の処理に戻り、文書格納先照合ＤＢ１０４への反映を続行する。
【０１４３】
一方、ステップＳ１６１５で、ＣＰＵ６０２は、ステップＳ１６１４で変更した対象件が存在しない（文書格納先照合ＤＢ１０４のテーブル内にある最後の行まで処理された）と判定した場合には、処理を終了する。
【０１４４】
以上が、本発明の処理フローの説明である。
【０１４５】
次に、図１７のフローチャートを参照して、エラー発生時の文書管理ＤＢ１０２のロールバック処理について説明する。なお、文書格納先照合ＤＢ１０４のロールバック処理については、バックアップデータを使用して復帰するだけなので、特に変わった処理はないため、フローチャートは省略する。
【０１４６】
図１７は、本発明のシステム管理システムにおける第２の制御処理手順の一例を示すフローチャートであり、図１６のステップＳ１６１６，Ｓ１６１９の文書管理ＤＢのロールバック処理に対応する。なお、このフローチャートの処理は、図６に示したシステム管理装置１０５のＣＰＵ６０２が記憶装置６０１からシステム管理プログラムをＲＡＭ６０３上にロードして実行することにより実現される。なお、図中、Ｓ１７０１〜Ｓ１７０４は各ステップを示す。
【０１４７】
まず、反映時にエラーが発生すると、図１６のフローチャートに示すプログラムより呼び出され、ＲＡＭ６０３上に確保される対象項目を示す変数である変更履歴Ｎが渡される（ステップＳ１７０１）。なお、ここでは、変更履歴の対象項目がＸ番目のときにエラーが発生したとする。また、反映処理でエラーが発生した場合はＸの値は「実際の文書管理ＤＢ１０２の変更履歴数＋１」となる。
【０１４８】
エラー発生時の対象項目Ｘは成功していないため、ロールバックの必要がないため、対象項目をひとつ前の変更履歴に戻す。即ち、ステップＳ１７０２において、ＣＰＵ６０２は、変更履歴Ｎを「１」デクリメントする。
【０１４９】
次に、ステップＳ１７０３において、ＣＰＵ６０２は、変更履歴Ｎが「０」である（変更履歴が「０」に戻った）か否かを判定し、変更履歴Ｎが「０」である（変更履歴が「０」戻った）と判定した場合には、ＣＰＵ６０２は、処理終了となる。
【０１５０】
一方、ステップＳ１７０３で、ＣＰＵ６０２が、変更履歴Ｎが「０」でない（変更履歴が未だ「０」に戻っていない）と判定した場合には、ステップＳ１７０４において、変更履歴Ｎに対応する変更履歴の反映結果を反映前の状態に戻す。即ち、ＣＰＵ６０２は、変更履歴（図１５）のＮ番目の変更項目のデータの「変更前の絶対パス」と「変更後の絶対パス」とを入れ替えた変更データを含む文書管理ＤＢ１０２の階層構造変更要求を文書管理装置１０１に送信する。この処理により、文書管理ＤＢが１つロールバックされる。
【０１５１】
なお、ＣＰＵ６０２は、ステップＳ１７０４の結果を文書管理装置１０１から受信し、ステップＳ１６０２で行った文書管理ＤＢ１０２へのロールバックが正常終了したか否かを判定し、反映が正常終了していない（反映不能）と判定した場合には、ロールバックに失敗した旨のメッセージを入力装置６０６に表示するように制御し、ロールバックに失敗した旨を、管理者に通知するようにする。
【０１５２】
そして、ステップＳ１７０４の反映処理が正常終了すると、ＣＰＵ６０２は、処理をステップＳ１７０２に戻す。
【０１５３】
なお、本フローチャートの処理は、変更履歴Ｎ＝Ｘでエラーが発生した場合には、Ｎ＝Ｘのデータは異常データにならないことが前提であり、エラー発生時に発生個所のデータが補償できないシステムでは、上記各ステップを変更する必要があることは言うまでもない。例えば、Ｎ＝Ｘでエラーがあった場合には、先にＮ＝Ｘに対して元に戻す処理をした後に、変更履歴番号を減算するなどである。
【０１５４】
以下、図１８，図１９のフローチャートを参照して、上記図１５に示すようなの変更履歴を文書管理ＤＢ１０２内の図３（ｂ），図３（ｃ）に示したテーブル３−１，３−２に反映するための文書管理装置１０１側の処理について説明する。
【０１５５】
図１８，図１９は、本発明のシステム管理システムにおける第３の制御処理手順の一例を示すフローチャートであり、図１６のステップＳ１６０２，図１７のステップＳ１７０４で送信される文書管理ＤＢ１０２の変更要求に応じて、文書管理装置１０１側で、実際に文書管理ＤＢ１０２を変更する処理に対応する。なお、このフローチャートの処理は、図２に示した文書管理装置１０１のＣＰＵ２０２が記憶装置２０１から文書管理プログラムをＲＡＭ２０３上にロードして実行することにより実現される。なお、図中、Ｓ１９００〜Ｓ１９２０，Ｓ２００１〜Ｓ２０１２は各ステップを示す。また、ステップＳ１９０１〜Ｓ１９２０はフォルダ移動に関する変更処理に対応し、ステップＳ２００１〜Ｓ２０１２は名称変更処理に対応する。
【０１５６】
なお、本フローチャートの処理では、ＣＰＵ２０２は、ＲＡＭ２０３上に変数「Ｎａｍｅ」，「Ｐａｒｅｎｔ」，「Ｔａｒｇｅｔ」，「Ｐａｔｈ」，「ＮｅｗＰａｒｅｎｔ」を格納する領域を確保して使用する。
【０１５７】
まず、ステップＳ１９００において、システム管理装置１０５から受信した文書管理ＤＢの変更要求に含まれる変更内容を判定し、変更内容が「移動」であると判定した場合には、ステップＳ１９０１〜Ｓ１９２０に移行し、フォルダ移動に関する変更処理を実行し、図３（ｂ）に示した階層管理を行うテーブル３−１のデータを変更する。これにより、文書管理ＤＢにおいて階層構造のフォルダ移動１件分が実現できる。
【０１５８】
一方、ステップＳ１９００で、システム管理装置１０５から受信した文書管理ＤＢの変更要求に含まれる変更内容が「名称変更」であると判定した場合には、ステップＳ２００１〜Ｓ２０１２に移行し、名称変更処理を実行し、図３（ｂ）に示した名称管理を行う３−１のデータを変更する。これにより、文書管理ＤＢにおいて階層構造のフォルダ名称変更１件分が実現できる。
【０１５９】
まず、ステップＳ１９０１〜Ｓ１９２０のフォルダ移動に関する変更処理から説明する。
【０１６０】
まず、ステップＳ１９０１において、ＣＰＵ２０２は、システム管理装置１０５から受信した変更要求内に含まれる「変更前の絶対パス」と「変更後の絶対パス」の最後のフォルダ名が一致する否かを判定する。なお、システム管理装置１０５から受信した変更要求内に含まれる変更前の絶対パスと変更後の絶対パスの最後のフォルダは、移動対象のフォルダであり、名称の変更はしないので、フォルダ名は一致するはずである。
【０１６１】
ステップＳ１９０１で、ＣＰＵ２０２が、システム管理装置１０５から受信した変更要求内に含まれる「変更前の絶対パス」と「変更後の絶対パス」の最後のフォルダ名が一致しないと判定した場合には、イレギュラーであるため、エラーとして、ステップＳ１９２０のエラー処理に移行し、エラーにより変更の反映が不能である旨を情報、システム管理装置１０５に返信し、処理を終了する。
【０１６２】
一方、ステップＳ１９０１で、ＣＰＵ２０２が、システム管理装置１０５から受信した変更要求内に含まれる「変更前の絶対パス」と「変更後の絶対パス」の最後のフォルダ名が一致すると判定した場合には、ステップＳ１９０２に進む。
【０１６３】
ステップＳ１９０２において、ＣＰＵ２０２は、変更前の絶対パスの中の先頭のフォルダ名を抜き出し、変数「Ｎａｍｅ」に代入する。例えば、絶対パスが「ルート１￥フォルダ１１・・・」なら「ルート１」が変数「Ｎａｍｅ」に代入される。
【０１６４】
次に、ステップＳ１９０３において、ＣＰＵ２０２は、次に変数「Ｎａｍｅ」のフォルダの親フォルダのＩＤを示す変数「Ｐａｒｅｎｔ」に「０」を代入する。なお、最初にこの処理を行う場合には、「Ｎａｍｅ」には最上層のフォルダ名が入っているため、「Ｎａｍｅ」の親フォルダは存在しない。そのため、親フォルダが存在しないことを意味する「０」を「Ｐａｒｅｎｔ」に代入する。
【０１６５】
次に、ステップＳ１９０４において、ＣＰＵ２０２は、記憶装置２０１に記憶される図３（ｂ）で例示したようなテーブル３−１において、「フォルダ名＝Ｎａｍｅ」，「親フォルダＩＤ＝Ｐａｒｅｎｔ」の条件で検索処理を行う。なお、同一の親フォルダを持つフォルダの「フォルダ名」はユニークであることから、検索結果は最大でも１件となる。
【０１６６】
ステップＳ１９０５において、ＣＰＵ２０２は、条件にあうフォルダを発見したか（検索結果が１件であったか）否かを判定し、条件にあうフォルダを発見できなかった（検索結果が０件であった）と判定した場合には、フォルダが存在しないこととなり、存在するフォルダを指定したはずのユーザのオペレーションと矛盾するので、エラーとして、ステップＳ１９２０のエラー処理に移行し、エラーにより変更の反映が不能である旨の情報を、システム管理装置１０５に返信し、処理を終了する。
【０１６７】
一方、ステップＳ１９０５で、ＣＰＵ２０２が、条件にあうフォルダを発見した（検索結果が１件であった）と判定した場合には、ステップＳ１９０６において、ＣＰＵ２０２は、「変更前の絶対パス」に次のフォルダが存在するか否かを判定し、次のフォルダが存在すると判定した場合には、さらに下のフォルダを検索して目的のフォルダを探す必要があるため、ステップＳ１９０７進み、検索処理を続ける。
【０１６８】
ステップＳ１９０７において、ＣＰＵ２０２は、「変更前の絶対パス」から次のフォルダを抜き出し、該抜き出したフォルダのフォルダ名を変数「Ｎａｍｅ」に代入する。
【０１６９】
次に、ステップＳ１９０８において、ＣＰＵ２０２は、前回検索されたフォルダの「フォルダＩＤ」の項目の値を変数「Ｐａｒｅｎｔ」に代入する。これで新しい検索条件ができたので、ＣＰＵ２０２は、再びステップＳ１９０４の検索処理に戻り、次のフォルダを検索する。
【０１７０】
そして、ステップＳ１９０６で、ＣＰＵ２０２が、「変更前の絶対パス」に次のフォルダが存在しないと判定した場合には、目的のフォルダに到達したものと判断し、検索処理のループから抜け、ステップＳ１９０９へ進む。
【０１７１】
例えば、絶対パスが「ルート１￥フォルダ２￥フォルダ３」のとき、前回の検索されたフォルダが「ルート１」だった場合は次の「フォルダ２」が存在するため検索を続けるが、前回の検索されたフォルダが「フォルダ３」の場合は、次のフォルダがないので、検索ループから抜ける。
【０１７２】
目的のフォルダが検索されたので、次に、ステップＳ１９０９において、ＣＰＵ２０２は、このフォルダのＩＤを変数「Ｔａｒｇｅｔ」に代入しておく。
【０１７３】
次に、ＣＰＵ２０２は、フォルダを移動する先の親となるフォルダのＩＤを検索する処理に入る。そのために、変更履歴の「変更後の絶対パス」のうち、移動後のフォルダである最後のフォルダ名を除いた部分を検索対象とする必要があるので、ステップＳ１９１０において、ＣＰＵ２０２は、この「変更後の絶対パス」から最後のフォルダ名を削り取った部分を変数「Ｐａｔｈ」に代入しておく。
【０１７４】
例えば、移動したいフォルダが「フォルダＣ」であり、変更後の絶対パスが「ルート１￥フォルダＡ￥フォルダＢ￥フォルダＣ」であった場合、「フォルダＣ」を除いて「ルート１￥フォルダＡ￥フォルダＢ」を変数「Ｐａｔｈ」に代入する。
【０１７５】
次に、ステップＳ１９１１において、ＣＰＵ２０２は、変数「Ｐａｔｈ」の中の先頭のフォルダ名を抜き出し、変数「Ｎａｍｅ」に代入する。例えば、変数「Ｐａｔｈ」が「ルート１￥フォルダ１１・・・」なら「ルート１」が変数「Ｎａｍｅ」に代入される。
【０１７６】
次に、ステップＳ１９１２において、ＣＰＵ２０２は、次に変数「Ｎａｍｅ」のフォルダの親フォルダのＩＤを示す変数「Ｐａｒｅｎｔ」に「０」を代入する。
【０１７７】
次に、ステップＳ１９１３において、ＣＰＵ２０２は、記憶装置２０１に記憶される図３（ｂ）で例示したようなテーブル３−１において、「フォルダ名＝Ｎａｍｅ」，「親フォルダＩＤ＝Ｐａｒｅｎｔ」の条件で検索処理を行う。
【０１７８】
次に、ステップＳ１９１４において、ＣＰＵ２０２は、条件にあうフォルダを発見したか（検索結果が１件であったか）否かを判定し、条件にあうフォルダを発見できなかった（検索結果が０件であった）と判定した場合には、フォルダが存在しないこととなり、存在するフォルダを指定したはずのユーザのオペレーションと矛盾するので、エラーとして、ステップＳ１９２０のエラー処理に移行し、エラーにより変更の反映が不能である旨の情報を、システム管理装置１０５に返信し、処理を終了する。
【０１７９】
ステップＳ１９１４で、ＣＰＵ２０２が、条件にあうフォルダを発見した（検索結果が１件であった）と判定した場合には、ステップＳ１９１５において、ＣＰＵ２０２は、変数「Ｐａｔｈ」に次のフォルダが存在するか否かを判定し、次のフォルダが存在すると判定した場合には、さらに下のフォルダを検索して目的のフォルダを探す必要があるため、ステップＳ１９１６進む。
【０１８０】
そして、ステップＳ１９１６において、ＣＰＵ２０２は、変数「Ｐａｔｈ」から次のフォルダを抜き出し、該抜き出したフォルダ名を変数「Ｎａｍｅ」に代入する。
【０１８１】
次に、ステップＳ１９１７において、ＣＰＵ２０２は、ステップＳ１９１３の処理で前回検索されたフォルダの「フォルダＩＤ」の項目の値を変数「Ｐａｒｅｎｔ」に代入する。これで新しい検索条件ができたので、ＣＰＵ２０２は、再びステップＳ１９１３の検索処理に戻り、次のフォルダを検索する。
【０１８２】
そして、ステップＳ１９１５で、ＣＰＵ２０２が、変数「Ｐａｔｈ」に次のフォルダが存在しないと判定した場合には、目的のフォルダに到達したものと判断し、検索処理のループから抜け、ステップＳ１９１８の処理へ進む。
【０１８３】
例えば、絶対パスが「ルート１￥フォルダ２￥フォルダ３」のとき、前回の検索されたフォルダが「ルート１」だった場合は次の「フォルダ２」が存在するため検索を続けるが、前回の検索されたフォルダが「フォルダ３」の場合は次のフォルダがないので、検索ループから抜ける。
【０１８４】
目的のフォルダが検索されたので、次に、ステップＳ１９１８において、ＣＰＵ２０２は、このフォルダのＩＤを変数「ＮｅｗＰａｒｅｎｔ」に代入しておく。
【０１８５】
次に、ステップＳ１９１９において、ＣＰＵ２２は、「フォルダＩＤ＝Ｔａｒｇｅｔ」の条件で検索する。フォルダＩＤはユニークなので１件が検索される。そして、ＣＰＵ２０２は、この検索されたフォルダの「親フォルダＩＤ」の項目を変数「ＮｅｗＰａｒｅｎｔ」の値で上書きする。これにより、文書管理ＤＢにおいて、本件のフォルダ移動処理が反映されたこととなり、ＣＰＵ２０２は、図示しないステップにおいて、変更の反映が正常終了した旨の情報を、システム管理装置１０５に返信し、処理を終了する。
【０１８６】
次に、ステップＳ２００１〜Ｓ２０１２の名称変更処理について説明する。
【０１８７】
まず、ステップＳ２００１において、ＣＰＵ２０２は、システム管理装置１０５から受信した変更要求内に含まれる「変更前の絶対パス」と「変更後の絶対パス」の最後のフォルダ名以外が一致する否かを判定する。なお、システム管理装置１０５から受信した変更要求内に含まれる変更前の絶対パスと変更後の絶対パスの最後のフォルダは、名称変更対象のフォルダであり、最後のフォルダ名以外は一致するはずである。
【０１８８】
ステップＳ２００１で、ＣＰＵ２０２が、システム管理装置１０５から受信した変更要求内に含まれる「変更前の絶対パス」と「変更後の絶対パス」の最後のフォルダ名以外が一致しないと判定した場合には、イレギュラーであるため、エラーとして、ステップＳ２０１２のエラー処理に移行し、エラーにより変更の反映が不能である旨の情報を、システム管理装置１０５に返信し、処理を終了する。
【０１８９】
一方、ステップＳ２００１で、ＣＰＵ２０２が、システム管理装置１０５から受信した変更要求内に含まれる「変更前の絶対パス」と「変更後の絶対パス」の最後のフォルダ名以外が一致すると判定した場合には、ステップＳ２００２に進む。
【０１９０】
ステップＳ２００２において、ＣＰＵ２０２は、変更前の絶対パスの中の先頭のフォルダ名を抜き出し、変数「Ｎａｍｅ」に代入する。例えば、絶対パスが「ルート１￥フォルダ１１・・・」なら「ルート１」が変数「Ｎａｍｅ」に代入される。
【０１９１】
次に、ステップＳ２００３において、ＣＰＵ２０２は、次に変数「Ｎａｍｅ」のフォルダの親フォルダのＩＤを示す変数「Ｐａｒｅｎｔ」に「０」を代入する。なお、最初にこの処理を行う場合には、「Ｎａｍｅ」には最上層のフォルダ名が入っているため、「Ｎａｍｅ」の親フォルダは存在しない。そのため、親フォルダが存在しないことを意味する「０」を「Ｐａｒｅｎｔ」に代入する。
【０１９２】
次に、ステップＳ２００４において、ＣＰＵ２０２は、記憶装置２０１に記憶される図３（ｂ）で例示したようなテーブル３−１において、「フォルダ名＝Ｎａｍｅ」，「親フォルダＩＤ＝Ｐａｒｅｎｔ」の条件で検索処理を行う。なお、同一の親フォルダを持つフォルダの「フォルダ名」はユニークであることから、検索結果は最大でも１件となる。
【０１９３】
ステップＳ２００５において、ＣＰＵ２０２は、条件にあうフォルダを発見したか（検索結果が１件であったか）否かを判定し、条件にあうフォルダを発見できなかった（検索結果が０件であった）と判定した場合には、フォルダが存在しないこととなり、存在するフォルダを指定したはずのユーザのオペレーションと矛盾するので、エラーとして、ステップＳ２０１２のエラー処理に移行し、エラーにより変更の反映が不能である旨の情報を、システム管理装置１０５に返信し、処理を終了する。
【０１９４】
一方、ステップＳ２００５で、ＣＰＵ２０２が、条件にあうフォルダを発見した（検索結果が１件であった）と判定した場合には、ステップＳ２００６において、ＣＰＵ２０２は、「変更前の絶対パス」に次のフォルダが存在するか否かを判定し、次のフォルダが存在すると判定した場合には、さらに下のフォルダを検索して目的のフォルダを探す必要があるため、ステップＳ２００７進み、検索処理を続ける。
【０１９５】
ステップＳ２００７において、ＣＰＵ２０２は、「変更前の絶対パス」から次のフォルダを抜き出し、該抜き出したフォルダのフォルダ名を変数「Ｎａｍｅ」に代入する。
【０１９６】
次に、ステップＳ２００８において、ＣＰＵ２０２は、前回検索されたフォルダの「フォルダＩＤ」の項目の値を変数「Ｐａｒｅｎｔ」に代入する。これで新しい検索条件ができたので、ＣＰＵ２０２は、再びステップＳ２００４の検索処理に戻り、次のフォルダを検索する。
【０１９７】
そして、ステップＳ２００６で、ＣＰＵ２０２が、「変更前の絶対パス」に次のフォルダが存在しないと判定した場合には、目的のフォルダに到達したものと判断し、検索処理のループから抜け、ステップＳ２００９へ進む。
【０１９８】
例えば、絶対パスが「ルート１￥フォルダ２￥フォルダ３」のとき、前回の検索されたフォルダが「ルート１」だった場合は次の「フォルダ２」が存在するため検索を続けるが、前回の検索されたフォルダが「フォルダ３」の場合は、次のフォルダがないので、検索ループから抜ける。
【０１９９】
目的のフォルダが検索されたので、次に、ステップＳ２００９において、ＣＰＵ２０２は、このフォルダのＩＤを変数「Ｔａｒｇｅｔ」に代入しておく。
【０２００】
次に、ステップＳ２０１０において、ＣＰＵ２０２は、「変更後の絶対パス」の最後のフォルダ名を変数「ＮｅｗＮａｍｅ」に代入する。このフォルダ名が新しいフォルダ名となるものである。
【０２０１】
次に、ステップＳ２０１１において、ＣＰＵ２０２は、「フォルダＩＤ＝Ｔａｒｇｅｔ」の条件で検索する。フォルダＩＤはユニークなので１件が検索される。そして、ＣＰＵ２０２は、この検索されたフォルダの「フォルダ名」の項目を変数「ＮｅｗＮａｍｅ」の値で上書きする。これにより、文書管理ＤＢにおいて、本件のフォルダ名称変更処理が反映されたこととなり、ＣＰＵ２０２は、図示しないステップにおいて、変更の反映が正常終了した旨の情報を、システム管理装置１０５に返信し、処理を終了する。
【０２０２】
以上示したように、本実施形態は、システム管理装置１０５のＣＰＵ６０２が、図１２に示したようなユーザからの変更操作に基づいて、ＲＡＭ６０３に階層構造の変更履歴（図１５）を作成し保持することで、一度の実行指示（ＯＫボタン１２０１のクリック）で、文書管理ＤＢ１０２の階層構造の複数の変更を順次自動的に（手作業でなく）行い、また、文書管理ＤＢ１０２の変更処理に連携して、連携する別のデータベース（文書格納先照合ＤＢ１０４）も整合性をとるように変更処理し、万が一、文書管理ＤＢ１０２，文書格納先照合ＤＢ１０４の変更時にエラーが発生した場合、文書管理ＤＢ１０２，文書格納先照合ＤＢ１０４に対するロールバック処理を行うことにより、文書管理ＤＢ１０２および文書格納先照合ＤＢ１０４の管理者による階層構造の更新および整合性維持のための作業の負担を大幅に軽減し、かつ操作ミスによる整合性の破壊を防ぐ効果がある。また、１つの変更指示に基づいて、文書管理ＤＢ１０２，文書格納先照合ＤＢ１０４のように、それぞれ異なる機能を実現するために用意された異なる形態の複数のデータベースやテーブル情報に対して、変更を反映することができる。
【０２０３】
従って、それぞれ異なる機能を実現するために用意された異なる形態の複数のデータベース等が連携されるシステムにおける優れたシステム管理環境を提供することができる等の効果を奏する。
【０２０４】
なお、上記実施形態では、図１６のステップＳ１６０６〜Ｓ１６１７に示したように、各変更履歴（図１５）をたどるようにして順次、文書格納先照合ＤＢ１０４の各文書格納先情報の更新を外部文書格納装置１０３に要求する（図１６のＳ１６１０）構成について説明したが、文書格納先照合ＤＢ１０４のコピー情報をＲＡＭ６０３上に保持しておき、該ＲＡＭ６０３上の情報を、各変更履歴（図１５）をたどるようにして順次更新していき、ＲＡＭ６０３上で全ての更新を終了した時点で、該ＲＡＭ６０３の変更済みのデータにより、文書格納先照合ＤＢ１０４の更新を外部文書格納装置１０３に一括して要求するように構成してもよい。
【０２０５】
なお、この一括して更新要求する構成の場合も、文書格納先照合ＤＢ１０４の変更（反映）要求前に、文書格納先照合ＤＢ１０４のバックアップをＲＡＭ６０３又は記憶装置６０１上に作成しておき、文書格納先照合ＤＢ１０４への更新がエラーになった場合には、作成しておいたバックアップで文書格納先照合ＤＢ１０４をロールバックするように構成する。
【０２０６】
また、システム管理装置１０５と、文書管理装置１０２或いは外部文書格納装置１０４が同一のサーバ内にある場合も本発明の範囲であるだけでなく、システム管理装置の機能は文書管理装置或いは外部文書格納装置の一機能として提供されても良い。
【０２０７】
なお、上述した、各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０２０８】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２０９】
また、上記実施形態の各変形例のいずれか又は全てを組み合わせた構成も全て本発明に含まれるものである。
【０２１０】
以上説明したように、本実施形態では、管理者用の専用のシステム管理装置１０５をネットワークに接続し、まず文書管理ＤＢ１０２の階層構造の変更自体を、このシステム管理装置１０５からテキスト入力ではなく、ポインティングデバイス等によるグラフィカルな操作で行うようにし（図１３）、この操作による階層構造の変更を、リアルタイムに文書管理ＤＢ１０２に反映することなく、全ての変更操作が終了するまで、操作履歴をシステム管理装置１０５のＲＡＭ６０４上に記録するのみとし、全操作終了後、操作者の指示（ＯＫボタン１２０１押下）で自動的に（操作者の意識的な作業なしに）、操作履歴をたどって一気に文書管理ＤＢ１０２の階層構造の変更を行い、また、同時に文書格納先照合ＤＢ１０４も操作履歴にしたがって順次内容を変更するように、システム管理装置１０５のＣＰＵ６０２が制御する構成を特徴とする。
【０２１１】
このように管理者は、階層構造の変更をグラフィカルな操作で行うだけで、文書管理データベースと文書格納先照合データベースの大量の変更を自動的に行うことができる。また、自動であるため（従来のように管理者が手作業で行うものではないので）、手間もかからず、整合性の破壊も発生しない。
【０２１２】
さらに、本発明では、自動処理中にエラーが発生して処理の続行が不可能になった場合、操作履歴を逆にたどってロールバック処理することによって、それぞれ異なる機能を実現するために用意された異なる形態の複数のデータベース（本実施形態では、文書管理ＤＢ１０２，文書格納先照合ＤＢ１０４）間の整合性を守るロールバック機能も提供している。
【０２１３】
従って、文書管理ＤＢ１０２および文書格納先照合ＤＢ１０４の管理者による階層構造の更新および整合性維持のための作業の負担を大幅に軽減し、かつ操作ミスによる整合性の破壊を防ぐ効果がある。
【０２１４】
また、１つの変更指示に基づいてそれぞれ異なる機能を実現するために用意された異なる形態の複数のデータベースやテーブル情報に対して変更を反映することができる。
【０２１５】
以下、図２０に示すメモリマップを参照して本発明に係る情報処理装置（システム管理装置１０５，文書管理装置１０１）で読み取り可能なデータ処理プログラムの構成について説明する。
【０２１６】
図２０は、本発明に係る情報処理装置（システム管理装置１０５，文書管理装置１０１）で読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０２１７】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２１８】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２１９】
本実施形態における図１６，図１７，図１８，図１９に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２２０】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２２１】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０２２２】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０２２３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２２５】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２２６】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【図面の簡単な説明】
【０２２７】
【図１】本発明の前提となるシステム（本発明の文書管理装置，外部文書格納装置，システム管理装置を適用可能なシステム管理システム）のシステム構成図である。
【図２】図１に示した文書管理装置および文書管理ＤＢの構成の一例を示すブロック図である。
【図３】文書管理ＤＢにおける文書管理構造の一例を示す図である。
【図４】図１に示した外部文書格納装置および文書格納先照合ＤＢの構成の一例を示すブロック図である。
【図５】図１に示した文書格納先照合ＤＢ（文書格納先照合テーブル）の構成の一例を示すデータ構成図である。
【図６】図１に示したシステム管理装置の構造の一例を示すブロック図である。
【図７】図１に示した文書管理ＤＢの階層構造データの一例を示す模式図である。
【図８】図１に示した文書格納先照合ＤＢの文書格納先データの一例を示す模式図である。
【図９】文書管理ＤＢにおける従来のメンテナンスの一例を説明する模式図である。
【図１０】文書格納先照合ＤＢにおける従来のメンテナンスの一例を説明する模式図である。
【図１１】図６に示したシステム管理装置の表示装置に表示されるグラフィカルユーザインタフェース（ＧＵＩ）の一例を示す模式図である。
【図１２】図６に示したシステム管理装置の表示装置に表示されるグラフィカルユーザインタフェース（ＧＵＩ）の一例を示す模式図である。
【図１３】図１２に示した文書階層構造表示画面でのメンテナンス操作の一例を示す模式図である。
【図１４】図１３に示した文書管理ＤＢの文書階層構造変更に伴なう文書格納先照合ＤＢ１０４の変更処理を説明するための模式図である。
【図１５】本実施形態における変更処理時にシステム管理装置のＲＡＭ（又は記憶装置）に記憶される変更履歴情報の一例を示すデータ構成図である。
【図１６】本発明のシステム管理システムにおける第１の制御処理手順の一例を示すフローチャートである。
【図１７】本発明のシステム管理システムにおける第２の制御処理手順の一例を示すフローチャートである。
【図１８】本発明のシステム管理システムにおける第３の制御処理手順の一例を示すフローチャートである。
【図１９】本発明のシステム管理システムにおける第３の制御処理手順の一例を示すフローチャートである。
【図２０】本発明に係る情報処理装置（システム管理装置，文書管理装置）で読み取り（読み出し）可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０２２８】
１０１    文書管理装置
１０２    文書管理ＤＢ
１０３    外部文書格納装置
１０４    文書格納先照合ＤＢ
１０５    システム管理装置
１０７    ＭＦＰ
２０１    記憶装置
２０２    ＣＰＵ
２０３    ＲＡＭ
４０１    記憶装置
４０２    ＣＰＵ
４０３    ＲＡＭ
６０１    記憶装置
６０２    ＣＰＵ
６０３    ＲＡＭ
【図１】
2006018540.tif 000003
【図２】
2006018540.tif 000004
【図３】
2006018540.tif 000005
【図４】
2006018540.tif 000006
【図５】
2006018540.tif 000007
【図６】
2006018540.tif 000008
【図７】
2006018540.tif 000009
【図８】
2006018540.tif 000010
【図９】
2006018540.tif 000011
【図１０】
2006018540.tif 000012
【図１１】
2006018540.tif 000013
【図１２】
2006018540.tif 000014
【図１３】
2006018540.tif 000015
【図１４】
2006018540.tif 000016
【図１５】
2006018540.tif 000017
【図１６】
2006018540.tif 000018
【図１７】
2006018540.tif 000019
【図１８】
2006018540.tif 000020
【図１９】
2006018540.tif 000021
【図２０】
2006018540.tif 000022