(57)【要約】【課題】  文書管理システムへのアクセスを分散させて全体のスループットを向上させる文書管理システムを提供する。【解決手段】  多数のユーザが使用する複数の文書をグループ化したキャビネットを使用して文書管理するときに前記キャビネットごとに文書管理サーバを分割して、どのキャビネットがどの文書管理サーバに存在するかを定義した分散位置情報を前記文書管理サーバごとに保持させ、それぞれの文書管理サーバが保持するキャビネットの位置情報を互いに同期を取るようにして更新させておき、ユーザからの処理要求メッセージを、分散位置情報を用いて適切な文書管理サーバにルーティングするようにして、文書管理サーバ間の負荷を分散するようにした。【選択図】  図２
2006190220.tif 000002
【特許請求の範囲】
【請求項１】
多数のユーザが使用する複数の文書をグループ化したキャビネットを使用して文書管理する文書管理システムにおいて、前記キャビネットごとに文書管理サーバを設け、該文書管理サーバは、処理要求メッセージを処理するメッセージ送受信部と、どのキャビネットがどの文書管理サーバに存在するかを定義した分散位置情報を用いて適切な文書管理サーバにルーティングする分散ルーティング処理部と、前記文書管理サーバが互いに同期を取って、それぞれの文書管理サーバが保持するキャビネットの位置情報で前記分散位置情報を更新するサーバ間状態監視処理部と、を備えたことを特徴とする文書管理システム。
【請求項２】
請求項１に記載の文書管理システムにおいて、前記分散位置情報は、他の文書管理サーバが管理するキャビネットのレプリカを保持する文書管理サーバの位置情報を含み、前記分散ルーティング処理部は、処理要求が閲覧によるアクセスのときには、前記分散位置情報を参照して、その文書が存在する文書管理サーバではなく、レプリカの存在する文書管理サーバにアクセスするようにしたことを特徴とする文書管理システム。
【請求項３】
請求項２に記載の文書管理システムにおいて、前記文書管理サーバにハードウェアリソースを監視するリソースモニタを設け、前記分散ルーティング処理部は、前記リソースモニタにより、リソースが低下していると判断される文書管理サーバに対するアクセスを適切な文書管理サーバに割り振るようにしたことを特徴とする文書管理システム。
【請求項４】
多数のユーザが使用する複数の文書をグループ化したキャビネットを使用して文書管理する文書管理方法において、前記キャビネットごとに設けた文書管理サーバごとに、どのキャビネットがどの文書管理サーバに存在するかを定義した分散位置情報を保持させ、それぞれの文書管理サーバが保持するキャビネットの位置情報を互いに同期を取るようにして更新させておき、ユーザからの処理要求メッセージを、前記分散位置情報を用いて適切な文書管理サーバにルーティングするようにしたことを特徴とする文書管理方法。
【請求項５】
コンピュータに、請求項１、２または３に記載の文書管理システムを実現させるためのプログラム。
【請求項６】
請求項５に記載のプログラムをコンピュータが読み取り可能な形式により記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理システム、文書管理方法、プログラム及び記録媒体に関し、特に、１つの文書管理リポジトリを分散管理するときの負荷分散に関する。
【背景技術】
【０００２】
エンタープライズ規模の文書管理システムにおいて、管理する文書を文書管理サーバで集中管理する方式が一般的である。また、この文書管理サーバでは、登録する文書をグループ化したキャビネットという論理的なグループ毎にリポジトリに格納されて管理されている（図１１参照）。
しかし、文書管理サーバに接続するユーザ数が増加するに伴い、集中管理している文書管理サーバへアクセスが集中し、スループットが低下してくる。これは文書管理サーバのハードウェアスペックを増強することにより、ある程度のスループットの向上には繋がるが抜本的な改善ではない。
これを解決するため、特許文献１では、リポジトリとその複製（レプリカ）を複数の文書管理サーバで管理して、アクセスの負荷分散を図るようにしている。
【特許文献１】特開２００４−１２７１２０公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような文書管理システムでは、すべてのユーザが同一の文書を閲覧・更新するのではなく、ある特定多数のユーザが同じ文書を閲覧・更新するのが一般的であり、ある特定多数ユーザ毎に文書管理サーバを分けるなどの方法が考えられるが、文書管理サーバごとの管理負荷が発生することになってしまうという欠点が生じる。
本発明は、上述した実情を考慮してなされたものであって、文書管理システムへのアクセスを分散させて全体のスループットを向上させる文書管理システム、文書管理方法、文書管理システムの機能を実現するプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、請求項１に記載の発明は、多数のユーザが使用する複数の文書をグループ化したキャビネットを使用して文書管理する文書管理システムにおいて、前記キャビネットごとに文書管理サーバを設け、該文書管理サーバは、処理要求メッセージを処理するメッセージ送受信部と、どのキャビネットがどの文書管理サーバに存在するかを定義した分散位置情報を用いて適切な文書管理サーバにルーティングする分散ルーティング処理部と、前記文書管理サーバが互いに同期を取って、それぞれの文書管理サーバが保持するキャビネットの位置情報で前記分散位置情報を更新するサーバ間状態監視処理部と、を備えたことを特徴とする。
請求項２に記載の発明は、請求項１に記載の文書管理システムにおいて、前記分散位置情報は、他の文書管理サーバが管理するキャビネットのレプリカを保持する文書管理サーバの位置情報を含み、前記分散ルーティング処理部は、処理要求が閲覧によるアクセスのときには、前記分散位置情報を参照して、その文書が存在する文書管理サーバではなく、レプリカの存在する文書管理サーバにアクセスするようにしたことを特徴とする。
請求項３に記載の発明は、請求項２に記載の文書管理システムにおいて、前記文書管理サーバにハードウェアリソースを監視するリソースモニタを設け、前記分散ルーティング処理部は、前記リソースモニタにより、リソースが低下していると判断される文書管理サーバに対するアクセスを適切な文書管理サーバに割り振るようにしたことを特徴とする。
請求項４に記載の発明は、多数のユーザが使用する複数の文書をグループ化したキャビネットを使用して文書管理する文書管理方法において、前記キャビネットごとに設けた文書管理サーバごとに、どのキャビネットがどの文書管理サーバに存在するかを定義した分散位置情報を保持させ、それぞれの文書管理サーバが保持するキャビネットの位置情報を互いに同期を取るようにして更新させておき、ユーザからの処理要求メッセージを、前記分散位置情報を用いて適切な文書管理サーバにルーティングするようにしたことを特徴とする。
請求項５に記載の発明は、コンピュータに、請求項１、２または３に記載の文書管理システムを実現させるためのプログラムである。
請求項６に記載の発明は、請求項５に記載のプログラムをコンピュータが読み取り可能な形式により記録されていることを特徴とする記録媒体である。
【発明の効果】
【０００５】
本発明によれば、多数のユーザが同一の文書管理サーバにアクセスする負荷を分散させることにより、文書管理システムの全体のスループットを向上させることができる。
また、多数のユーザがアクセスする文書管理サーバに、他の文書管理サーバが管理する文書のレプリカを配置することにより、他の文書管理サーバに対するアクセス負荷を分散させ、文書管理システム全体のスループットを向上させることができる。
さらに、負荷が少ない文書管理サーバにアクセスさせることにより、文書管理サーバのアクセス負荷を分散させ、文書管理システム全体のスループットを向上させることができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して、本発明の好適な実施形態を詳細に説明する。
図１は、本発明の文書管理システムを説明するための図である。本発明の文書管理システムは、複数の文書管理サーバから構成され、この文書管理サーバには、登録された文書をグループ化したキャビネット毎に管理する部分リポジトリが存在している。同図において、キャビネットＡは文書管理サーバＡに格納され、キャビネットＢは文書管理サーバＢに格納され、キャビネットＣは文書管理サーバＣに格納されているという情報をお互いに監視し合い、同期することで、ユーザがアクセスした文書管理サーバに所望のキャビネットがない場合でも、適切な文書管理サーバに処理要求をルーティングすることができるようになっている。
【０００７】
＜第１の実施形態＞
図２は、第１の実施形態に係る文書管理システムにおける文書管理サーバの機能構成を示すブロック図である。同図において、文書管理サーバは、クライアントからの要求メッセージを送受信するメッセージ送受信処理部１０、ユーザから要求されたキャビネットにある文書へのアクセス処理を行う文書管理処理部２０、適切なリポジトリもしくは外部の文書管理サーバに処理要求を依頼する分散ルーティング処理部３０、他の文書管理サーバと情報交換をすることにより分散位置情報の同期をとるサーバ間状態監視処理部５０、自文書管理サーバのハードウェアリソース（ＣＰＵ使用率、メモリ使用率、ディスク容量など）を管理するリソースモニタ４０、ユーザがアクセスしたい文書が格納されているキャビネットとそれを格納したリポジトリを管理する文書管理サーバの位置情報を保持する分散位置情報６０、自文書管理サーバが保持する文書データを格納したリポジトリ７０とから構成される。
メッセージ送受信処理部１０は、ユーザが利用するクライアントコンピュータ（以下、クライアントと言う）あるいは他の文書管理サーバから要求がどのキャビネットに対するものかを判断し、その結果を分散ルーティング処理部３０へ渡す。また、他の文書管理サーバへの要求であることを分散ルーティング処理部３０が判断した場合、他の文書管理サーバへユーザからの要求を転送する。
分散位置情報６０は、図３に例示するように、本文書管理システムのリポジトリ全体に存在するすべてのキャビネットに関して、キャビネット名と、キャビネットが格納されたリポジトリを管理する文書管理サーバの位置情報（サーバ名、ＩＰアドレスなど）を示すリポジトリ位置を対応させたテーブルである。
分散ルーティング処理部３０は、分散位置情報６０を参照して、ユーザから要求されたキャビネットが格納されるリポジトリ位置を検出し、そのキャビネットがどの文書管理サーバで管理されているかを認識して、現在の処理要求をその文書管理サーバに転送するように、メッセージ送受信処理部１０へ依頼する。
また、ユーザから要求されたキャビネットが自文書管理サーバで管理されていると認識すると、自文書管理サーバのリポジトリ７０に格納されたキャビネットへのアクセスと認識し、文書管理処理部２０に処理を依頼する。
文書管理処理部２０は、ユーザから要求された、リポジトリ７０内のキャビネットを開き、要求された文書にアクセスして、そのセッション情報を、メッセージ送受信処理部１０を経由して、ユーザに返す。
【０００８】
サーバ間状態監視処理部５０は、自文書管理サーバが保持しているキャビネットが追加、削除された場合、他の文書管理サーバへ更新内容を送付する。また、他の文書管理サーバから、更新内容を受信した場合には、分散位置情報６０を参照して、指定されたキャビネットの更新内容を反映させる。
例えば、文書管理サーバＢでは、キャビネットＢ１、Ｂ２をリポジトリに保持していたとすると、他の文書管理サーバＡやＣの分散位置情報６０では、キャビネットＢ１、Ｂ２は文書管理サーバＢで管理されているものとして登録されている。ここで、文書管理サーバＢでキャビネットＢ２を削除した場合には、文書管理サーバＢの分散位置情報６０におけるキャビネットＢ２のデータを削除するとともに、他の文書管理サーバＡ、Ｃに対してキャビネットＢ２が削除されたことを通知する。
他の文書管理サーバＡ、Ｃでは、この削除情報を受信すると、自文書管理サーバの分散位置情報６０からキャビネットＢ２に関するデータを削除する。これにより、文書管理システム内における全ての文書管理サーバ内の分散位置情報が同期して同じ内容を保持することになる。
【０００９】
図４は、第１の実施形態における文書管理サーバの処理手順を説明するフローチャートである。
同図を用いて、文書管理サーバＡ、Ｂ、Ｃからなる文書管理システムにおいて、ユーザが文書管理サーバＡにアクセスして、部分リポジトリＣに格納される文書１にアクセスする場合を例にとって説明する。
ユーザは文書管理サーバＡに、「キャビネットＣの文書１にアクセスしたい」という要求を出すと、文書管理サーバＡは、その要求をメッセージ送受信処理部１０で受け付け、メッセージ送受信処理部１０は、キャビネットＣへのアクセスと認識し、分散ルーティング処理部３０に処理を受け渡す（ステップＳ１）。
分散ルーティング処理部３０では、分散位置情報６０を参照して、キャビネットＣが格納されるリポジトリ位置を検出する（ステップＳ２）。この場合、キャビネットＣは自文書管理サーバＡに存在せず（ステップＳ３のＮＯ）、キャビネットＣが文書管理サーバＣで管理されていることを認識する（ステップＳ５）。
分散ルーティング処理部３０では、現在の処理要求を文書管理サーバＣに転送するように、メッセージ送受信処理部１０へ依頼し、メッセージ送受信処理部１０は文書管理サーバＣの位置情報を元に、文書管理サーバＣに処理要求を転送する（ステップＳ６）。
一方、文書管理サーバＣは、他の文書管理サーバから転送されてきた要求をメッセージ送受信処理部１０で受け付け、メッセージ送受信処理部１０は、キャビネットＣへのアクセスと認識し、分散ルーティング処理部３０に処理を受け渡す（ステップＳ１）。
分散ルーティング処理部３０では、分散位置情報６０を参照して、キャビネットＣが格納されるリポジトリ位置を検出し、キャビネットＣが自文書管理サーバＣで管理されていると認識すると（ステップＳ３のＹＥＳ）、自文書管理サーバのリポジトリに格納されたキャビネットへのアクセスと認識して、文書管理処理部２０に処理を依頼し、文書管理処理部２０は、自リポジトリ内のキャビネットＣ内の文書１にアクセスし、そのセッション情報を、メッセージ送受信処理部１０を経由して、ユーザに返す（ステップＳ４）。ユーザは、以降の文書アクセス処理に関しては文書管理サーバＣとやり取りする。
【００１０】
図５は、第１の実施形態におけるサーバ間状態監視処理部５０の処理手順を説明するフローチャートである。
サーバ間状態監視処理部５０は、自文書管理サーバが保持しているキャビネットを追加、削除した場合、自文書管理サーバの分散位置情報６０を更新するとともに、関連する他の文書管理サーバへキャビネットの更新内容（追加あるいは削除）を送信する（ステップＳ１１）。
また、他の文書管理サーバから更新内容を受信した場合には、自分の分散位置情報６０を確認し（ステップＳ１２）、自分の分散位置情報６０に指定されたキャビネット情報がある場合には（ステップＳ１３）、指定されたキャビネットの更新内容を反映させる（ステップＳ１４）。
以上のように構成することによって、キャビネット毎に文書管理サーバを分割し、文書管理サーバへのアクセス負荷を分散させるので、文書管理システムのアクセス負荷を軽減することができる。
【００１１】
＜第２の実施形態＞
上記第１の実施形態では、特定多数のユーザが使用する複数の文書毎にグループ化したキャビネットごとに文書管理サーバを分割したが、一般的な文書管理システムでは、別の部署が発行する文書を閲覧のみ使用するという運用形態があり、閲覧するために文書管理サーバにアクセスするため、文書管理サーバの負荷分散が実現できない。
このため、第２の実施形態では、他の文書管理サーバが保持するキャビネットのレプリカを自文書管理サーバのリポジトリ内に保持するようにして、閲覧のみにこのレプリカを使用するようにした（図６参照）。ここで、キャビネットのレプリケーション方法については規定しない。
図６は、文書管理サーバＡの自分が管理するリポジトリに、文書管理サーバＢ及びＣからそれぞれ複製されたキャビネットＢ、Ｃを保持している状態を示している。この場合、文書管理サーバＡで、キャビネットＢの文書の閲覧（参照）要求を出すと、文書のオリジナルデータを格納した文書管理サーバＢにアクセスするのではなく、文書管理サーバＡ内のキャビネットＢのレプリカを参照することになる。
第２の実施形態の機能構成は、第１の実施形態と同様であるから、相違点についてのみ説明する。
第２の実施形態における分散位置情報６０は、文書管理システム内に存在する全てのキャビネットに対して、キャビネット名と、キャビネットが格納されたリポジトリを管理する文書管理サーバの位置情報（サーバ名、ＩＰアドレスなど）を示すリポジトリ位置と、複製されたキャビネット（レプリカ）を管理する文書管理サーバの位置情報（サーバ名、ＩＰアドレスなど）を示す複製の存在先を保持するテーブルである（図７参照）。
【００１２】
図８は、第２の実施形態における文書管理サーバの処理手順を説明するフローチャートである。
同図において、文書管理サーバＡに文書管理サーバＣのリポジトリで管理されるキャビネットＣのレプリカを保持する文書管理システムにおいて、ユーザがリポジトリＣに格納された文書１に閲覧アクセスする場合を例にとって説明する。
ユーザが文書管理サーバＡに、「キャビネットＣの文書１にアクセスしたい」という要求を出すと、文書管理サーバＡは、その要求をメッセージ送受信処理部１０で受け付け、メッセージ送受信処理部１０は、キャビネットＣへのアクセスと、更新モードか閲覧モードかを認識し、分散ルーティング処理部３０に処理を受け渡す（ステップＳ２１）。
分散ルーティング処理部３０では、分散位置情報６０を参照して、キャビネットＣが格納されているリポジトリ位置を検出する（ステップＳ２２）。
キャビネットＣが自文書管理サーバＡに存在しない場合（ステップＳ２３のＮＯ）、即ち閲覧モードのときは分散位置情報６０を参照して、キャビネットＣのレプリカの存在先が自文書管理サーバである場合（ステップＳ２５のＹＥＳ）、自文書管理サーバのリポジトリに格納されたキャビネットＣのレプリカへのアクセスと認識して、文書管理処理部２０に処理を依頼し、文書管理処理部２０は、自リポジトリ内のキャビネットＣのレプリカを開き、閲覧モードで文書１にアクセスし、そのセッション情報を、メッセージ送受信処理部１０を経由して、ユーザに返す（ステップＳ２６）。ユーザは、以降の文書アクセス処理に関しては文書管理サーバＡとやり取りする。
【００１３】
一方、更新モードのときや、自文書管理サーバに要求されたキャビネットのレプリカが存在しない場合（ステップＳ２５のＮＯ）、分散ルーティング処理部３０では、分散位置情報６０を参照して、指定されたキャビネットが格納されるリポジトリ位置を取得し（ステップＳ２７）、現在の処理要求を文書管理サーバＣに転送するように、メッセージ送受信処理部１０へ依頼し、メッセージ送受信処理部１０は文書管理サーバＣの位置情報を元に、文書管理サーバＣに処理要求を転送する（ステップＳ２８）。
また、分散ルーティング処理部３０において、分散位置情報６０を参照して、指定されたキャビネットが格納されるリポジトリ位置を検出し、このキャビネットが自文書管理サーバで管理されていると認識すると（ステップＳ２３のＹＥＳ）、自文書管理サーバのリポジトリに格納されたキャビネットへのアクセスと認識して、文書管理処理部２０に処理を依頼し、文書管理処理部２０は、自リポジトリ内のキャビネットを開き、文書１にアクセスして、そのセッション情報を、メッセージ送受信処理部１０を経由してユーザに返す（ステップＳ２４）。
【００１４】
図９は、第２の実施形態におけるサーバ間状態監視処理部の処理手順を説明するフローチャートである。
サーバ間状態監視処理部５０は、自文書管理サーバが保持しているキャビネットを追加、削除した場合、あるいは、自文書管理サーバにある複製したキャビネットを追加、削除した場合、自文書管理サーバの分散位置情報６０を更新するとともに、関連する他の文書管理サーバへキャビネットとレプリカの更新内容（追加あるいは削除）を送信する（ステップＳ３１）。
また、他の文書管理サーバから更新内容を受信した場合には、自分の分散位置情報６０を確認し（ステップＳ３２）、自分の分散位置情報６０に指定されたキャビネット情報がある場合には（ステップＳ３３）、指定されたキャビネットあるいは複製されたキャビネットの更新内容を反映させる（ステップＳ３４）。
例えば、文書管理サーバＡにおいて、レプリカＣを削除した場合、文書管理サーバＡの分散位置情報６０におけるキャビネットＣのレプリカの存在先から文書管理サーバＡを削除するとともに、関連する文書管理サーバＢ、Ｃにおいても同様に分散位置情報６０を更新する。
以上のように構成することによって、キャビネットごとに文書管理サーバを分割し、別文書管理サーバのキャビネットのレプリカを持つようにしたので、文書管理サーバへのアクセス負荷が分散し、文書管理システムのアクセス負荷を軽減することができる。
【００１５】
＜第３の実施形態＞
上述した第１及び第２の実施形態では、ユーザがアクセスするキャビネットごとに文書管理サーバを分割し、個々の文書管理サーバのアクセス負荷を低減させることを目的とした。しかし、分割された文書管理サーバが使用できるハードウェアリソースはサーバによって異なり、このためハードウェアリソースが少ない文書管理サーバではスループットが低下する可能性が出てくる。
第３の実施形態では、文書管理サーバが管理するキャビネット（オリジナルデータ）とレプリカキャビネット（複製データ）を文書管理サーバのシステムリソース負荷にあわせて適切に振り分けるようにして、上記問題点を解決する。
第３の実施形態の構成は、上記第１の実施形態及び２と同様であるから、相違点についてのみ説明する。
【００１６】
図１０は、第３の実施形態における文書管理サーバの処理手順を説明するフローチャートである。
同図において、接続ユーザ数が増加し、利用可能なシステムリソースがほとんどない状況の文書管理サーバＢに管理されているキャビネットＢ（オリジナルデータ）の文書２に閲覧モードでアクセスする場合例にとって説明する。ここで、キャビネットＢのレプリカは、システムリソースが充分な文書管理サーバＡに存在するものとする。
ユーザは文書管理サーバＢに、キャビネットＢの文書２に閲覧モードでアクセスしたいという要求を出す。文書管理サーバＢは、その要求をメッセージ送受信処理部１０で受け付け、メッセージ送受信処理部１０は、キャビネットＢへのアクセスと更新モードか閲覧モードかを認識し、分散ルーティング処理部３０に処理を受け渡す（ステップＳ４１）。
分散ルーティング処理部３０では、分散位置情報６０を参照して、キャビネットＢが格納されるリポジトリ位置を検出し（ステップＳ４２）、キャビネットＢが自文書管理サーバで管理されていることを認識する（ステップＳ４３のＹＥＳ）。
次に、分散ルーティング処理部３０は、リソースモニタ４０に現在のサーバのシステムリソース（ＣＰＵ使用率、空きメモリ容量、ディスク容量）の負荷状況を確認する（ステップＳ４４）。リソースモニタ４０は自文書管理サーバのＯＳ機能を使って、システムリソース情報を収集し、自文書管理サーバに利用可能なシステムリソースに余裕があれば（ステップＳ４５のＹＥＳ）、文書管理処理部２０にて、自リポジトリ内の指定されたキャビネットを開き、文書２にアクセスし、そのセッション情報を、メッセージ送受信処理部１０を経由して、ユーザに返す（ステップＳ４６）。
一方、自文書管理サーバに利用可能なシステムリソースがない場合には（ステップＳ４５のＮＯ）、分散ルーティング処理部３０に、「自文書管理サーバでは処理できない」という要求を出し、それを受けた分散ルーティング処理部３０は、再度、分散位置情報６０を参照し、キャビネットＢのレプリカを持つ文書管理サーバを取得する（ステップＳ５３）。つまり、例えば、キャビネットＢのレプリカは文書管理サーバＡに存在することを確認する。
次に、分散ルーティング処理部３０は、現在の処理要求を文書管理サーバＡに転送するように、メッセージ送受信処理部１０へ依頼し、メッセージ送受信処理部１０は文書管理サーバＡの位置情報を元に、文書管理サーバＡに処理要求を転送する（ステップＳ５２）。
さらに、転送先の文書管理サーバＡでは、キャビネットＢは自文書管理サーバＡが管理するキャビネットではないことを認識し（ステップＳ４３のＮＯ）、閲覧モードでのアクセスであれば、分散位置情報６０を参照して、キャビネットＢのレプリカの存在先が自文書管理サーバの場合（ステップＳ４７のＹＥＳ）、分散ルーティング処理部３０は、リソースモニタ４０に現在のサーバのシステムリソース（ＣＰＵ使用率、空きメモリ容量、ディスク容量）の負荷状況を確認する（ステップＳ４８）。
【００１７】
リソースモニタ４０は自文書管理サーバのＯＳ機能を使って、システムリソース情報を収集し、自文書管理サーバに利用可能なシステムリソースに余裕があれば（ステップＳ４９のＹＥＳ）、文書管理処理部２０にて、自リポジトリ内の指定されたキャビネットのレプリカを開き、文書２にアクセスし、そのセッション情報を、メッセージ送受信処理部１０を経由して、ユーザに返す（ステップＳ５０）。
また、自文書管理サーバの利用可能なシステムリソースに余裕がない場合（ステップＳ４９のＮＯ）、あるいは、更新モードのときや、自文書管理サーバに要求されたキャビネットのレプリカが存在しない場合（ステップ４７のＮＯ）、分散ルーティング処理部３０では、分散位置情報６０を参照して、指定されたキャビネットが格納される文書管理サーバを取得し（ステップＳ５１）、現在の処理要求をその文書管理サーバに転送するように、メッセージ送受信処理部１０へ依頼し、メッセージ送受信処理部１０は文書管理サーバの位置情報を元に処理要求を転送する（ステップＳ５２）。
以上のように構成することによって、キャビネット毎に文書管理サーバを分割し、別文書管理サーバのキャビネットのレプリカを持ち、さらに自文書管理サーバのリソース負荷をモニタし、処理しきれない場合は、レプリカをもつ文書管理サーバへ処理をルーティングすることにより、文書管理システムのアクセス負荷を軽減することができる。
【００１８】
本発明は、上述した実施形態のみに限定されたものではない。上述した実施形態の文書管理サーバを構成する各機能をそれぞれプログラム化して、予め記録媒体に書き込んでおき、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによって、本発明の目的が達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラム及びそのプログラムを記録した記録媒体も本発明を構成することになる。
また、上記プログラムは、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することによって上述した実施形態の機能が実現される場合も含まれる。
なお、上述した実施形態の機能を実現するプログラムは、ディスク系（例えば、磁気ディスク、光ディスク等）、カード系（例えば、メモリカード、光カード等）、半導体メモリ系（例えば、ＲＯＭ、不揮発性メモリ等）、テープ系（例えば、磁気テープ、カセットテープ等）等、いずれの形態の記録媒体で提供されてもよい。あるいは、ネットワークを介して記憶装置に格納されたプログラムをサーバコンピュータから直接供給を受けるようにしてもよい。この場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
このように、上述した実施形態の機能をプログラム化して流通させることによって、コストの低廉化、及び可搬性や汎用性を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の文書管理システムを説明するための図。
【図２】第１の実施形態に係る文書管理システムの文書管理サーバにおける機能構成を示すブロック図。
【図３】第１の実施形態における分散位置情報のデータ構成例を示す図。
【図４】第１の実施形態における文書管理サーバの処理手順を説明するフローチャート。
【図５】第１の実施形態におけるサーバ間状態監視処理部の処理手順を示すフローチャート。
【図６】第２の実施形態におけるキャビネットの複製を説明するための図。
【図７】第２の実施形態における分散位置情報のデータ構成例を示す図。
【図８】第２の実施形態における文書管理サーバの処理手順を示すフローチャート。
【図９】第２の実施形態におけるサーバ間状態監視処理部の処理手順を示すフローチャート。
【図１０】第３の実施形態における文書管理サーバの処理手順を示すフローチャート。
【図１１】従来の文書管理システムを説明するための図。
【符号の説明】
【００２０】
１０…メッセージ送受信処理部、２０…文書管理処理部、３０…分散ルーティング処理部、４０…リソースモニタ、５０…サーバ間状態監視処理部、６０…分散位置情報、７０…リポジトリ
【図１】
2006190220.tif 000003
【図２】
2006190220.tif 000004
【図３】
2006190220.tif 000005
【図４】
2006190220.tif 000006
【図５】
2006190220.tif 000007
【図６】
2006190220.tif 000008
【図７】
2006190220.tif 000009
【図８】
2006190220.tif 000010
【図９】
2006190220.tif 000011
【図１０】
2006190220.tif 000012
【図１１】
2006190220.tif 000013