(57)【特許請求の範囲】
【請求項１】
ユーザが属するグループのメンバーが文書を登録したことに応じてオーナーが設定された文書に対し前記メンバーに属するユーザの参照を許可することにより、ユーザ間で文書を共有する共有手段と、
文書を登録したオーナーであるユーザを識別するオーナー情報と、前記ユーザが属するグループを識別するグループ情報とを含む前記文書に係る文書情報を、前記文書情報に含まれるグループ情報に基づいてグループ毎に記憶装置に記憶する第一の記憶手段と、
文書にアクセスするユーザが属するグループを識別するグループ情報を特定する特定手段と、
前記特定手段により特定されたグループ情報に係る文書情報を、前記記憶装置から取得する取得手段と、
前記取得手段により取得された文書情報を、前記文書にアクセスするユーザの情報に基づいてユーザ毎に記憶装置に記憶する第二の記憶手段と、を有する
ことを特徴とする文書管理システム。
【請求項２】
前記文書管理システムは、一次記憶サーバと、二次記憶サーバと、マスタサーバとを含み、
前記一次記憶サーバは、前記第一の記憶手段と、前記第一の記憶手段が文書情報を格納する一次記憶サーバ用記憶装置とを有し、
前記二次記憶サーバは、前記特定手段と、前記取得手段と、前記第二の記憶手段と、前記第二の記憶手段が文書情報を格納する二次記憶サーバ用記憶装置とを有し、
前記マスタサーバは、
複数のユーザの各々により登録される文書に係る文書情報を、前記文書情報に含まれるオーナー情報に基づいてオーナー毎にマスタサーバ用記憶装置に記憶する第三の記憶手段と、
前記第三の記憶手段により記憶される文書情報を前記一次記憶サーバに送信する通信手段と、を有し、
前記一次記憶サーバは、
前記マスタサーバより文書情報を受信する通信手段を更に有し、
前記第一の記憶手段は、前記通信手段により受信された文書情報に含まれるグループ情報に基づいて前記文書情報をグループ毎に前記一次記憶サーバ用記憶装置に記憶する
ことを特徴とする請求項１記載の文書管理システム。
【請求項３】
前記一次記憶サーバ、前記二次記憶サーバ、及び前記マスタサーバを夫々少なくとも１つ含み、
前記第一の記憶手段は、文書を登録したユーザを識別するオーナー情報と、前記ユーザが属するグループを識別するグループ情報とを含む前記文書に係る文書情報を、前記文書情報に含まれるグループ情報に基づいてグループ毎に前記一次記憶サーバ用記憶装置に記憶することで、前記一次記憶サーバ用記憶装置とは異なる他の記憶装置に文書情報をグループ毎に分散可能にし、
前記取得手段は、前記特定手段により特定されたグループ情報に係る文書情報を、前記文書情報を記憶する前記一次記憶サーバ用記憶装置から取得し、
前記第二の記憶手段は、前記取得手段により取得された文書情報をユーザ毎に前記二次記憶サーバ用記憶装置に記憶することで、前記二次記憶サーバ用記憶装置とは異なる他の記憶装置に文書情報をユーザ毎に分散可能にし、
前記第三の記憶手段は、複数のユーザの各々により登録される文書に係る文書情報を、前記文書情報に含まれるオーナー情報に基づいてオーナー毎に前記マスタサーバ用記憶装置に記憶することで、前記マスタサーバ用記憶装置とは異なる他の記憶装置に文書情報をオーナー毎に分散可能にし、
前記マスタサーバの通信装置は、前記第三の記憶手段により記憶される文書情報を、前記文書情報に含まれるグループ情報に基づいて特定される前記文書情報を記憶する前記一次記憶サーバ用記憶装置を有する一次記憶サーバに送信する
ことを特徴とする請求項２記載の文書管理システム。
【請求項４】
前記文書管理システムは、一次記憶サーバと、二次記憶サーバとを含み、
前記一次記憶サーバは、前記第一の記憶手段と、前記第一の記憶手段が文書情報を格納する一次記憶サーバ用記憶装置とを有し、
前記二次記憶サーバは、前記特定手段と、前記取得手段と、前記第二の記憶手段と、前記第二の記憶手段が文書情報を格納する二次記憶サーバ用記憶装置とを有し、
前記特定手段は、ユーザによる文書へのアクセスを制御する制御情報に基づいて文書へのアクセスが拒否されているユーザを識別するオーナー情報を特定し、
前記第二の記憶手段は、前記取得手段により取得された文書情報から前記特定手段により特定されたオーナー情報が含まれる文書情報を除いて文書情報をユーザ毎に前記二次記憶サーバ用記憶装置に記憶する
ことを特徴とする請求項１記載の文書管理システム。
【請求項５】
前記文書管理システムは、一次記憶サーバと、二次記憶サーバと、情報提供サーバとを含み、
前記一次記憶サーバは、前記第一の記憶手段と、前記第一の記憶手段が文書情報を格納する一次記憶サーバ用記憶装置とを有し、
前記二次記憶サーバは、前記特定手段と、前記取得手段と、前記第二の記憶手段と、前記第二の記憶手段が文書情報を格納する二次記憶サーバ用記憶装置とを有し、
前記情報提供サーバは、
ユーザによるユーザ情報の入力を受け付ける受付手段と、
前記受付手段により受け付けられたユーザ情報を前記二次記憶サーバに送信する通信手段と、を有し、
前記二次記憶サーバは、
前記情報提供サーバの通信手段により送信されたユーザ情報を受信すると、前記ユーザ情報に係るユーザが属するグループが単一であると判断した場合、単一である旨の応答情報を前記情報提供サーバに送信し、単一でないと判断した場合、前記ユーザに係る文書情報を前記二次記憶サーバ用記憶装置から取得して前記情報提供サーバに送信する通信手段を更に有し、
前記情報提供サーバの通信手段は、前記二次記憶サーバの通信手段より前記応答情報を受信すると、前記受付手段により受け付けたユーザ情報に係るユーザが属するグループのグループ情報を前記一次記憶サーバに送信し、
前記一次記憶サーバの通信手段は、前記情報提供サーバの通信手段により送信されたグループ情報を受信すると、前記グループ情報が含まれる文書情報を前記一次記憶サーバ用記憶装置から取得して前記情報提供サーバに送信する
ことを特徴とする請求項１記載の文書管理システム。
【請求項６】
前記マスタサーバは、
文書情報に係る変更を検知すると、前記文書情報に変更を反映すると共に、前記文書情報のバージョンを表すバージョン情報を前記文書情報に設定する設定手段を更に有し、
前記マスタサーバの通信手段は、前記設定手段により変更が反映された文書情報と共に前記設定手段により前記文書情報について設定されたバージョン情報を前記一次記憶サーバに送信し、
前記一次記憶サーバは、
前記マスタサーバの通信手段より送信された文書情報を前記一次記憶サーバ用記憶装置に反映すると共に、前記マスタサーバの通信手段より送信されたバージョン情報を前記文書情報に設定する設定手段を更に有し、
前記取得手段は、前記特定手段により特定されたグループ情報に係る文書情報と共に前記文書情報に設定されたバージョン情報を前記一次記憶サーバ用記憶装置から取得し、
前記第二の記憶手段は、前記取得手段により取得されるバージョン情報を比較して前記取得手段により取得された文書情報のうち最新の文書情報を前記二次記憶サーバ用記憶装置に反映する
ことを特徴とする請求項２記載の文書管理システム。
【請求項７】
前記一次記憶サーバは、
前記マスタサーバの通信手段より送信されたバージョン情報に基づいて、前記通信手段より送信された文書情報を受信できなかったことを検出する検出手段を更に有し、
前記一次記憶サーバの通信手段は、前記検出手段で受信できなかったことが検出されると、現在のバージョン情報を含む、検出できなかった旨の通信情報を前記マスタサーバに送信し、
前記マスタサーバは、
前記マスタサーバの通信手段により受信された通信情報に含まれる現在のバージョン情報よりも新しいバージョン情報に係る文書情報を前記マスタサーバ用記憶装置から検索する検索手段を更に有し、
前記マスタサーバの通信手段は、前記検索手段により検索された文書情報を前記一次記憶サーバに送信する
ことを特徴とする請求項６記載の文書管理システム。
【請求項８】
前記文書管理システムは、一次記憶サーバと、二次記憶サーバと、情報提供サーバとを含み、
前記一次記憶サーバは、前記第一の記憶手段と、前記第一の記憶手段が文書情報を格納する一次記憶サーバ用記憶装置とを有し、
前記二次記憶サーバは、前記特定手段と、前記取得手段と、前記第二の記憶手段と、前記第二の記憶手段が文書情報を格納する二次記憶サーバ用記憶装置とを有し、
前記情報提供サーバは、
ユーザによるユーザ情報の入力を受け付ける受付手段と、
前記受付手段により受け付けられたユーザ情報を前記二次記憶サーバに送信する通信手段と、を有し、
前記第一の記憶手段は、文書情報に含まれるオーナー情報に基づいて前記文書情報をオーナー毎に一次記憶サーバ用記憶装置に記憶し、
前記二次記憶サーバは、
前記情報提供サーバの通信手段により送信されたユーザ情報を受信すると、前記ユーザ情報に係るユーザが属するグループが単一であると判断した場合又は前記ユーザ情報に係るユーザが単一であると判断した場合、何れかの単一である旨の応答情報を前記情報提供サーバに送信し、何れも単一でないと判断した場合、前記ユーザに係る文書情報を前記二次記憶サーバ用記憶装置から取得して前記情報提供サーバに送信する通信手段を更に有し、
前記情報提供サーバの通信手段は、前記二次記憶サーバの通信手段より応答情報を受信すると、前記応答情報に応じて前記受付手段により受け付けたユーザ情報に係るユーザが属するグループのグループ情報又は前記受付手段により受け付けたユーザ情報に係るユーザがオーナーであることを示すオーナー情報を前記一次記憶サーバに送信し、
前記一次記憶サーバの通信手段は、前記情報提供サーバの通信手段により送信されたグループ情報を受信すると、前記グループ情報が含まれる文書情報を前記一次記憶サーバ用記憶装置から取得して前記情報提供サーバに送信し、前記情報提供サーバの通信手段により送信されたオーナー情報を受信すると、前記オーナー情報が含まれる文書情報を前記一次記憶サーバ用記憶装置から取得して前記情報提供サーバに送信する
ことを特徴とする請求項１記載の文書管理システム。
【請求項９】
ユーザが属するグループのメンバーが文書を登録したことに応じてオーナーが設定された文書に対し前記メンバーに属するユーザの参照を許可することにより、ユーザ間で文書を共有する文書管理システムにおける文書管理方法であって、
文書を登録したオーナーであるユーザを識別するオーナー情報と、前記ユーザが属するグループを識別するグループ情報とを含む前記文書に係る文書情報を、前記文書情報に含まれるグループ情報に基づいてグループ毎に記憶装置に記憶する第一の記憶ステップと、
文書にアクセスするユーザが属するグループを識別するグループ情報を特定する特定ステップと、
前記特定ステップにより特定されたグループ情報に係る文書情報を、前記記憶装置から取得する取得ステップと、
前記取得ステップにより取得された文書情報を、前記文書にアクセスするユーザの情報に基づいてユーザ毎に記憶装置に記憶する第二の記憶ステップと、を含む
ことを特徴とする文書管理方法。
【請求項１０】
ユーザが属するグループのメンバーが文書を登録したことに応じてオーナーが設定された文書に対し前記メンバーに属するユーザの参照を許可することにより、ユーザ間で文書を共有する文書管理システムのコンピュータに、
文書を登録したオーナーであるユーザを識別するオーナー情報と、前記ユーザが属するグループを識別するグループ情報とを含む前記文書に係る文書情報を、前記文書情報に含まれるグループ情報に基づいてグループ毎に記憶装置に記憶する第一の記憶ステップと、
文書にアクセスするユーザが属するグループを識別するグループ情報を特定する特定ステップと、
前記特定ステップにより特定されたグループ情報に係る文書情報を、前記記憶装置から取得する取得ステップと、
前記取得ステップにより取得された文書情報を、前記文書にアクセスするユーザの情報に基づいてユーザ毎に記憶装置に記憶する第二の記憶ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書管理システム、文書管理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、印刷が目的とされる印刷文書データと印刷先のプリンタとを管理する印刷文書管理システムが知られている。印刷文書管理システムは、ユーザアプリケーションや、別の文書管理システムから印刷文書データを受け取り、印刷文書データに係る情報（印刷文書情報）を作成して、作成した印刷文書情報を印刷文書データに紐づけて保持する。印刷文書管理システムは、ユーザからの印刷文書データ一覧の取得リクエストに応じて、印刷文書情報のリストを返し、ユーザの端末上に表示する。また、ユーザからの印刷実行リクエストに従い、印刷処理を実行して、印刷処理の経過と結果とを印刷文書に係る情報に反映する。
印刷文書管理システムで管理する印刷文書データ（印刷文書）に対しては、アクセス権を設定することができる。ユーザからの印刷文書データ一覧の取得リクエストに対しては、リクエストを行ったユーザを識別し、ユーザに許可された印刷文書情報のみを返す。また、ユーザからの印刷実行リクエストに対しても、アクセス権の設定に従い、リクエストを許可或いは拒否する。
印刷文書管理システムは、通常、印刷文書情報をデータベースで管理し、データベースを検索して、ユーザに返す印刷文書情報のリストを作成する。データベースに格納された印刷文書情報は、印刷処理の経過と結果とをリアルタイムに反映するため、更新頻度が高い。そのため、絶え間なく印刷が実行されているような環境では、ユーザからの印刷文書データ一覧の取得リクエストに対する応答のパフォーマンスが著しく低下するという問題がある。
【０００３】
このような問題への対処としては、更新用のデータベースと参照用のデータベースとを用意し、更新用データベースの情報を、スケジュールに従って、参照用データベースに反映する手法を用いる。
さらに、更新用データベースと参照用データベースとの間に、キャッシュデータベースを設けて、更新用データベースの変更が、速やかに参照用データベースに反映されるようなデータベースシステムが提案されている（特許文献１参照）。
近年、インターネットの普及、ネットワークの高速化によって、ソフトウェアの機能がインターネット上のサービスとして提供されるケースが増えてきている。このようなサービスのバックエンドとして、印刷文書管理システムが存在するケースも考えられる。その場合、従来とは比較にならないほど大量の印刷文書データを管理することが、印刷文書管理システムに求められる。
一方、特許文献１に記載のデータベースシステムにおいては、管理するデータの数が増加するに従って、データベースがボトルネックとなり、更新、参照ともにパフォーマンスが低下していく。そのため、更新用データベース及び参照用データベースを、それぞれ複数のデータベースに分割し、データを分散して管理する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３１２２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数のユーザ間で印刷文書データの共有が可能で、かつ、ユーザ毎に参照可能な印刷文書データが異なるような印刷文書管理システムにおいては、印刷文書情報を複数のデータベースで分散管理することが難しかった。具体的には、ユーザ毎に参照可能なデータが異なるため、データが複数のデータベースに分散された場合、ユーザが参照可能なデータを収集する必要がある。そのため、全てのデータを一括してユーザに返す際のパフォーマンスに問題が生じる。
【０００６】
本発明はこのような問題点に鑑みなされたもので、ユーザに応じてアクセスが制御される複数の装置に記憶される文書情報を効率よく管理することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の文書管理システムは、ユーザが属するグループのメンバーが文書を登録したことに応じてオーナーが設定された文書に対し前記メンバーに属するユーザの参照を許可することにより、ユーザ間で文書を共有する共有手段と、文書を登録したオーナーであるユーザを識別するオーナー情報と、前記ユーザが属するグループを識別するグループ情報とを含む前記文書に係る文書情報を、前記文書情報に含まれるグループ情報に基づいてグループ毎に記憶装置に記憶する第一の記憶手段と、文書にアクセスするユーザが属するグループを識別するグループ情報を特定する特定手段と、前記特定手段により特定されたグループ情報に係る文書情報を、前記記憶装置から取得する取得手段と、前記取得手段により取得された文書情報を、前記文書にアクセスするユーザの情報に基づいてユーザ毎に記憶装置に記憶する第二の記憶手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザに応じてアクセスが制御される複数の装置に記憶される文書情報を効率よく管理することができる。
【図面の簡単な説明】
【０００９】
【図１】印刷文書管理システムの構成を示す図である。
【図２】印刷文書管理システムに係る各機器のハードウェア構成を示す図である。
【図３（ａ）】Ｗｅｂアクセスサーバのソフトウェアに係る構成を示す図である。
【図３（ｂ）】認証サーバのソフトウェアに係る構成を示す図である。
【図３（ｃ）】ネットワークストレージに係る構成を示す図である。
【図４（ａ）】二次キャッシュ管理サーバのソフトウェアに係る構成を示す図である。
【図４（ｂ）】一次キャッシュ管理サーバのソフトウェアに係る構成を示す図である。
【図４（ｃ）】マスタ管理サーバのソフトウェアに係る構成を示す図である。
【図５（ａ）】認証情報のデータ構造を示す図である。
【図５（ｂ）】印刷文書情報のデータ構造を示す図である。
【図６】設定可能な印刷文書データへのアクセス権を示す図である。
【図７（ａ）】ユーザ及びユーザが属するグループの例を示す図である。
【図７（ｂ）】印刷文書データに対するアクセス権の例を示す図である。
【図７（ｃ）】ユーザに参照が許可される印刷文書データの例を示す図である。
【図８（ａ）】二次キャッシュ管理サーバにおける印刷文書情報の例を示す図である。
【図８（ｂ）】一次キャッシュ管理サーバにおける印刷文書情報の例を示す図である。
【図８（ｃ）】マスタ管理サーバにおける印刷文書情報の例を示す図である。
【図９】印刷文書管理システムでの処理の例を示す図である。
【図１０（ａ）】ログイン画面を示す図である。
【図１０（ｂ）】印刷文書データ一覧画面を示す図である。
【図１１】Ｗｅｂアクセスサーバでの処理に係るフローチャートを示す図である。
【図１２】印刷文書管理システムでの処理の例を示す図である。
【図１３】マスタ管理サーバでの処理に係るフローチャートを示す図である。
【図１４】マスタ印刷文書情報のデータ構造を示す図である。
【図１５】一次キャッシュ管理サーバでの処理に係るフローチャートを示す図である。
【図１６】一次キャッシュ管理サーバでの処理に係るフローチャートを示す図である。
【図１７】一次キャッシュ管理サーバでの処理に係るフローチャートを示す図である。
【図１８】一次キャッシュのデータ構造を示す図である。
【図１９】マスタ管理サーバでの処理に係るフローチャートを示す図である。
【図２０】二次キャッシュ管理サーバでの処理に係るフローチャートを示す図である。
【図２１】二次キャッシュ管理サーバでの処理に係るフローチャートを示す図である。
【図２２】二次キャッシュのデータ構造を示す図である。
【図２３】一次キャッシュ管理サーバでの処理に係るフローチャートを示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
図１は、本実施形態に係る印刷文書管理システムの構成を示す図である。印刷文書管理システムは、クライアント端末１０１、Ｗｅｂアクセスサーバ１０２、認証サーバ１０３、二次キャッシュ管理サーバ１０４、及び一次キャッシュ管理サーバ１０５を有する。また、印刷文書管理システムは、マスタ管理サーバ１０６、印刷サーバ１０７、ネットワークストレージ１０８、及びプリンタ１０９を有する。図１において、上述した印刷文書管理システムを構成する各機器は、不図示の通信回線を介して接続されている。本実施形態では、クライアント端末１０１、二次キャッシュ管理サーバ１０４、一次キャッシュ管理サーバ１０５、マスタ管理サーバ１０６、及びプリンタ１０９は、複数台接続されていることを仮定している。
通信回線は、例えば、インターネットやイントラネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のうちの何れか又はこれらの組み合わせにより実現される。通信回線は、いわゆる通信ネットワークである。通信回線の方法としては、データを送受信できる場合、クライアント端末１０１からＷｅｂアクセスサーバ１０２への通信、印刷サーバ１０７からネットワークストレージ１０８、プリンタ１０９等への通信、及び各サーバ間の通信の各方法が異なっていてもよい。
【００１２】
クライアント端末１０１は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデータアシスタント）等であるが、プログラムの実行環境が内蔵された携帯電話であってもよい。
認証サーバ１０３は、ＬＤＡＰ（Lightweight Directory Access Protocol）等のプロトコルをサポートし、ディレクトリサービスを提供するサーバであり、本システムにおけるユーザに係る情報を管理する。
印刷サーバ１０７は、印刷リクエストを受けて、ネットワークストレージ１０８に保存された印刷文書データを読み出し、プリンタ１０９が解釈可能な形式に変換してプリンタ１０９に送信する。また、印刷サーバ１０７は、プリンタ１０９の印刷ジョブを監視し、印刷が完了するまで印刷ジョブを追跡する。
ネットワークストレージ１０８は、ＳＡＮ（ストレージ・エリア・ネットワーク）やＮＡＳ（ネットワーク・アタッチド・ストレージ）等、ネットワークに直接、接続することが可能なストレージである。
プリンタ１０９は、ネットワークに接続が可能なプリンタ（レーザプリンタ等）である。
【００１３】
図２は、印刷文書管理システムを構成する各機器のハードウェア構成の一例を示す。ここでの機器は、クライアント端末１０１、Ｗｅｂアクセスサーバ１０２、認証サーバ１０３、二次キャッシュ管理サーバ１０４、一次キャッシュ管理サーバ１０５、マスタ管理サーバ１０６、印刷サーバ１０７、及びネットワークストレージ１０８の何れかである。
各機器は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、ＬＡＮアダプタ２４、ビデオアダプタ２５、入力部（キーボード）２６、入力部（マウス）２７、ハードディスク２８、ＣＤ−ＲＯＭドライブ２９、及びシステムバス２０を有している。ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、ＬＡＮアダプタ２４、ビデオアダプタ２５、入力部（キーボード）２６、入力部（マウス）２７、ハードディスク２８、及びＣＤ−ＲＯＭドライブ２９は、それぞれシステムバス２０を介して互いに接続されている。システムバス２０は、例えば、ＰＣＩバス、ＡＧＰバス、及びメモリバス等である。なお、図２では、システムバス２０に接続するための接続用チッブやキーボードインタフェース、いわゆるＳＣＳＩやＡＴＡＰＩのような入出力用インタフェースは省略されている。
【００１４】
ＣＰＵ２１は、オペレーティングシステムのプログラムやアプリケーションプログラム（印刷文書管理システムに係るプログラム等）に基づく四則演算、比較演算等の各種の演算及びハードウェアの制御を行う。ＲＡＭ２２には、ハードディスク２８、ＣＤ−ＲＯＭドライブ２９に装着されたＣＤ−ＲＯＭやＣＤ−Ｒ等の記憶媒体から読み出されたオペレーティングシステムのプログラムやアプリケーションプログラム等が記憶されている。これらのプログラムは、ＣＰＵ２１により実行される。
ＲＯＭ２３には、オペレーティングシステムと協働してハードディスク２８等へのデータの入出力を制御する、いわゆるＢＩＯＳ等が記憶される。ＬＡＮアダプタ２４は、ＣＰＵ２１によって制御されるオペレーティングシステムの通信に係るプログラムと協働してネットワークを介して接続された外部装置との通信を行う。ビデオアダプタ２５は、ディスプレイ装置に出力する画像信号を生成する。キーボード２６及びマウス２７は、各機器への指示を入力するために用いられる。
ハードディスク２８は、オペレーティングシステムのプログラムやアプリケーションプログラムを記憶している。ＣＤ−ＲＯＭドライブ２９は、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ等の記憶媒体を装着してアプリケーションプログラムをハードディスク２８にインストールする際に用いられる。なお、ＣＤ−ＲＯＭドライブ２９に加えて又は代えて、ＣＤ−Ｒドライブ、ＣＤ−Ｒ／Ｗドライブ、ＤＶＤドライブ等を用いてもよい。
本実施形態では、ＣＰＵ２１が、ＲＡＭ２２に格納されたプログラムの手順に従って処理を行うことによって、機器における機能及び後述するフローチャートに係る処理が実現される。
【００１５】
図３及び図４は、印刷文書管理システムを構成する各機器におけるソフトウェアに係る構成の一例を示す図である。
図３（ａ）は、Ｗｅｂアクセスサーバ１０２のソフトウェアに係る構成を示す図である。Ｗｅｂアクセスサーバ１０２は、情報提供サーバの一例であり、クライアント端末１０１からのリクエストを受信し、レスポンスを返すリクエスト処理部３０１を有する。また、Ｗｅｂアクセスサーバ１０２は、一次キャッシュ管理サーバ１０５又は二次キャッシュ管理サーバ１０４からキャッシュされた印刷文書情報を取得するキャッシュ取得部３０２を有する。なお、印刷文書情報の詳細については後述する（図５（ｂ）等を参照のこと。）。また、Ｗｅｂアクセスサーバ１０２は、取得した印刷文書情報からクライアント端末１０１に返すためのＷｅｂページを生成するＷｅｂページ生成部３０３を有する。
図３（ｂ）は、認証サーバ１０３のソフトウェアに係る構成を示す図である。認証サーバ１０３は、Ｗｅｂアクセスサーバ１０２からのリクエストを受けて、ユーザ認証を行い、認証情報３０５をＷｅｂアクセスサーバ１０２に返す認証部３０４を有する。
図３（ｃ）は、ネットワークストレージ１０８に係る構成を示す図である。ネットワークストレージ１０８は、印刷文書情報に紐づく印刷文書データ３０６を保持する。
【００１６】
図４（ａ）は、二次キャッシュ管理サーバ１０４のソフトウェアに係る構成を示す図である。二次キャッシュ管理サーバ１０４は、二次記憶サーバの一例であり、Ｗｅｂアクセスサーバ１０２からのリクエストを受けて、レスポンスを返すリクエスト処理部４０１を有する。また、二次キャッシュ管理サーバ１０４は、印刷文書データへのアクセス権を制御するための情報を含む承認情報４０５を有する。また、二次キャッシュ管理サーバ１０４は、Ｗｅｂアクセスサーバ１０２からのリクエストに含まれる認証情報３０５のユーザにアクセスが許可される印刷文書データを判断するための承認部４０２を有する。
また、二次キャッシュ管理サーバ１０４は、一次キャッシュ管理サーバ１０５からキャッシュされた印刷文書情報を取得する一次キャッシュ取得部４０３を有する。また、二次キャッシュ管理サーバ１０４は、ユーザ毎にアクセス可能な印刷文書情報をキャッシュする二次キャッシュ４０６を有し、二次キャッシュ４０６を管理する二次キャッシュ管理部４０４を有する。なお、二次キャッシュ４０６は、例えば、二次記憶サーバ用記憶装置の一例であるハードディスク２８に記憶される。本実施形態では、ユーザ毎の二次キャッシュ４０６は、複数の二次キャッシュ管理サーバ１０４により、分散して管理されている。換言するならば、ユーザ毎の二次キャッシュ４０６を複数の二次キャッシュ管理サーバ１０４に分散可能である。
【００１７】
図４（ｂ）は、一次キャッシュ管理サーバ１０５のソフトウェアに係る構成を示す図である。一次キャッシュ管理サーバ１０５は、一次記憶サーバの一例であり、Ｗｅｂアクセスサーバ１０２又は二次キャッシュ管理サーバ１０４からのリクエストを受けて、レスポンスを返すリクエスト処理部４０７を有する。また、リクエスト処理部４０７は、マスタ管理サーバ１０６からのリクエストも受け付ける。
また、一次キャッシュ管理サーバ１０５は、マスタ管理サーバ１０６からマスタの印刷文書情報を取得するマスタ取得部４０９を有する。また、一次キャッシュ管理サーバ１０５は、オーナー（印刷文書データを登録したユーザ）毎に印刷文書情報をキャッシュする一次キャッシュ（オーナー）４１１と、グループ毎に印刷文書情報をキャッシュする一次キャッシュ（グループ）４１０とを有する。なお、グループとは、ユーザが所属するグループであり、一のグループには、一又は複数のユーザがメンバーとして含まれる。また、一次キャッシュ管理サーバ１０５は、一次キャッシュ（グループ）４１０と一次キャッシュ（オーナー）４１１とを管理する一次キャッシュ管理部４０８を有する。なお、一次キャッシュ（グループ）４１０及び一次キャッシュ（オーナー）４１１は、例えば、一次記憶サーバ用記憶装置の一例であるハードディスク２８に記憶される。本実施形態では、一次キャッシュ（グループ）４１０及び一次キャッシュ（オーナー）４１１は、複数の一次キャッシュ管理サーバ１０５により、分散して管理されている。換言するならば、グループ毎の一次キャッシュ（グループ）４１０を複数の一次キャッシュ管理サーバ１０５に分散可能であり、オーナー毎の一次キャッシュ（オーナー）４１１を複数の一次キャッシュ管理サーバ１０５に分散可能である。
【００１８】
図４（ｃ）は、マスタ管理サーバ１０６のソフトウェアに係る構成を示す図である。マスタ管理サーバ１０６は、マスタサーバの一例であり、一次キャッシュ管理サーバ１０５からのリクエストを受けて、レスポンスを返すリクエスト処理部４１２を有する。なお、リクエスト処理部４１２は、印刷サーバ１０７からのリクエストも受け付ける。
また、マスタ管理サーバ１０６は、オーナー毎にマスタ印刷文書情報４１４を有し、マスタ印刷文書情報４１４を管理するマスタ管理部４１３を有する。なお、マスタ印刷文書情報４１４は、例えば、マスタサーバ用記憶装置の一例であるハードディスク２８に記憶される。本実施形態では、オーナー毎のマスタ印刷文書情報４１４は、複数のマスタ管理サーバ１０６により、分散して管理されている。換言するならば、オーナー毎のマスタ印刷文書情報４１４を複数のマスタ管理サーバ１０６に分散可能である。
【００１９】
図５（ａ）は、認証サーバ１０３が保持する認証情報３０５の例を示す図である。認証情報３０５は、ユーザを識別するユーザＩＤ５０１と、ユーザが所属する複数のグループを識別するグループＩＤ５０２とを含んで構成される。本実施形態では、説明の便宜上、ユーザが所属可能なグループは最大５グループとする。
図５（ｂ）は、二次キャッシュ４０６、一次キャッシュ（グループ）４１０、一次キャッシュ（オーナー）４１１、及びマスタ印刷文書情報４１４に含まれる印刷文書情報５０５の例を示す図である。印刷文書情報５０５は、印刷文書データを識別するための印刷文書ＩＤ、ドキュメント名、ページ数、印刷文書データが登録された日時を示す受付日時、及び印刷が実行されるたびに更新（インクリメント）される印刷回数を有する。また、印刷文書情報５０５は、印刷が実行された際に、印刷処理の進行状況が反映されるステータス有する。ステータスは、印刷が実行されると、「待機中」、「印刷待ち」、「印刷中」と変化し、印刷処理の結果によって、最終的に、「印刷完了」、「エラー終了」、及び「キャンセル終了」の何れかが設定される。
印刷文書情報５０５には、印刷文書データを登録したユーザの認証情報３０５に含まれるユーザＩＤ５０１がオーナーＩＤ５０３（オーナー情報の一例である）として保持されている。そして、印刷文書データを登録したユーザの認証情報３０５に含まれるグループＩＤ５０２がグループＩＤ５０４（グループ情報の一例である）として保持されている。
【００２０】
図６は、二次キャッシュ管理サーバ１０４が保持する承認情報４０５によって設定可能な印刷文書データへのアクセス権の例を示す図である。印刷文書データに対するアクセス権は、印刷文書情報で保持されているオーナーＩＤ５０３に対して、認証情報３０５に含まれるユーザＩＤ５０１又はグループＩＤ５０２にアクセス許可（或いはアクセス拒否）を設定することができる。また、印刷文書情報で保持されているグループＩＤ５０４に対して、認証情報３０５に含まれるユーザＩＤ５０１又はグループＩＤ５０２にアクセス許可（或いはアクセス拒否）を設定することができる。
【００２１】
図７（ａ）は、グループＡにユーザ１とユーザ２とが所属し、グループＢにユーザ２とユーザ３とが所属していることを示す図である。
図７（ｂ）は、承認情報４０５によって、グループＡに所属するユーザが登録した印刷文書データに対して、グループＡに所属するユーザのアクセスが許可されていることを示す図である。また、承認情報４０５によって、グループＢに所属するユーザが登録した印刷文書データに対して、グループＢに所属するユーザのアクセスが許可されていることを示す図である。
図７（ｃ）は、図７（ａ）で示されるユーザに、図７（ｂ）で示されるアクセス権の設定を適用した結果、ユーザに参照等が許可される印刷文書データを示す図である。グループＡに所属するユーザ１は、グループＡに所属するユーザ１又はユーザ２が登録した印刷文書データにアクセスすることができる。グループＡとグループＢとに所属するユーザ２は、グループＡ又はグループＢに所属するユーザ１、ユーザ２、及びユーザ３の何れかが登録した印刷文書データにアクセスすることができる。グループＢに所属するユーザ３は、グループＢに所属するユーザ２又はユーザ３が登録した印刷文書データにアクセスすることができる。
【００２２】
図８は、二次キャッシュ管理サーバ１０４、一次キャッシュ管理サーバ１０５、及びマスタ管理サーバ１０６で管理される印刷文書情報の例を示す図である。
図８（ａ）は、二次キャッシュ管理サーバ１０４で管理される二次キャッシュ４０６の構成の例を示す図である。ユーザ毎に管理される二次キャッシュ４０６は、ユーザ１がアクセス可能な印刷文書リスト８０１、ユーザ２がアクセス可能な印刷文書リスト８０２、ユーザ３がアクセス可能な印刷文書リスト８０３を含んで構成される。
印刷文書リスト８０１には、ユーザ１がアクセスできる、ユーザ１がオーナーである印刷文書情報５０５及びユーザ２がオーナーである印刷文書情報５０５が含まれる。また、印刷文書リスト８０２には、ユーザ２がアクセスできる、ユーザ１がオーナーである印刷文書情報５０５、ユーザ２がオーナーである印刷文書情報５０５、及びユーザ３がオーナーである印刷文書情報５０５が含まれる。また、印刷文書リスト８０３には、ユーザ３がアクセスできる、ユーザ２がオーナーである印刷文書情報５０５及びユーザ３がオーナーである印刷文書情報５０５が含まれる。二次キャッシュ４０６は、ユーザ毎に分割される構成であるので、二次キャッシュ４０６を複数の二次キャッシュ管理サーバ１０４でユーザ毎に分散して管理する構成を採用できる。
【００２３】
図８（ｂ）は、一次キャッシュ管理サーバ１０５で管理される一次キャッシュ（グループ）４１０と一次キャッシュ（オーナー）４１１との構成の例を示す図である。オーナー毎に管理される一次キャッシュ（オーナー）４１１は、ユーザ１がオーナーである印刷文書情報リスト８０４、ユーザ２がオーナーである印刷文書情報リスト８０５、ユーザ３がオーナーである印刷文書情報リスト８０６を含んで構成される。
印刷文書情報リスト８０４には、ユーザ１がオーナーである印刷文書情報５０５が含まれる。印刷文書情報リスト８０５には、ユーザ２がオーナーである印刷文書情報５０５が含まれる。印刷文書情報リスト８０６には、ユーザ３がオーナーである印刷文書情報５０５が含まれる。
また、グループ毎に管理される一次キャッシュ（グループ）４１０は、グループＡに所属するユーザがオーナーである印刷文書情報リスト８０７、グループＢに所属するユーザがオーナーである印刷文書情報リスト８０８を含んで構成される。印刷文書情報リスト８０７には、グループＡに所属する、ユーザ１がオーナーである印刷文書情報５０５及びユーザ２がオーナーである印刷文書情報５０５が含まれる。印刷文書情報リスト８０８には、グループＢに所属する、ユーザ２がオーナーである印刷文書情報５０５及びユーザ３がオーナーである印刷文書情報５０５が含まれる。
一次キャッシュ（オーナー）４１１は、オーナー毎に構成されるので、一次キャッシュ（オーナー）４１１を複数の一次キャッシュ管理サーバ１０５でオーナー毎に分散して管理する構成を採用できる。また、一次キャッシュ（グループ）４１０は、グループ毎に構成されるので、一次キャッシュ（グループ）４１０を複数の一次キャッシュ管理サーバ１０５でグループ毎に分散して管理する構成を採用できる。
【００２４】
図８（ｃ）は、マスタ管理サーバ１０６で管理されるマスタ印刷文書情報４１４の構成の例を示す図である。オーナー毎に管理されるマスタ印刷文書情報４１４は、ユーザ１がオーナーである印刷文書情報リスト８０９、ユーザ２がオーナーである印刷文書情報リスト８１０、ユーザ３がオーナーである印刷文書情報リスト８１１を含んで構成される。
印刷文書情報リスト８０９には、ユーザ１がオーナーである印刷文書情報５０５が含まれる。印刷文書情報リスト８１０には、ユーザ２がオーナーである印刷文書情報５０５が含まれる。印刷文書情報リスト８１１には、ユーザ３がオーナーである印刷文書情報５０５が含まれる。マスタ印刷文書情報４１４は、オーナー毎に構成されるので、マスタ印刷文書情報４１４を複数のマスタ管理サーバ１０６でオーナー毎に分散して管理する構成を採用できる。
【００２５】
図９は、ユーザがクライアント端末１０１から入力を行ってから、ユーザにアクセスが許可された印刷文書データの一覧が表示されるまでの処理の例と、ユーザが印刷データを指定してから、プリンタ１０９により印刷が実行されるまでの処理の例とを示す図である。また、図１０は、クライアント端末１０１に表示される画面の例を示す図である。はじめに、図９及び図１０を参照して、印刷文書データの一覧が表示される例について説明する。
クライアント端末１０１に表示されるログイン画面（図１０（ａ））に対して、ユーザがキーボード２６等を介してユーザ名とパスワードとを入力すると、クライアント端末１０１は、Ｗｅｂアクセスサーバ１０２にログインリクエスト９０１を送信する。ログインリクエスト９０１には、ユーザにより入力されたユーザ名とパスワードとが含まれる。
ログインリクエスト９０１を受けたＷｅｂアクセスサーバ１０２は、認証サーバ１０３に認証リクエスト９０２を送信する。認証リクエスト９０２には、ユーザにより入力されたユーザ名とパスワードとが含まれる。認証リクエスト９０２を受けた認証サーバ１０３は、認証処理を行い、認証情報３０５をＷｅｂアクセスサーバ１０２に返す。
【００２６】
認証サーバ１０３から認証情報３０５を受け取ったＷｅｂアクセスサーバ１０２は、二次キャッシュ取得リクエスト９０３を、二次キャッシュ管理サーバ１０４に送信する。二次キャッシュ取得リクエスト９０３には、認証サーバ１０３から取得した認証情報３０５が含まれる。
二次キャッシュ取得リクエスト９０３を受けた二次キャッシュ管理サーバ１０４は、一次キャッシュ差分取得リクエスト９０４を、一台以上の一次キャッシュ管理サーバ１０５に送信する。一次キャッシュ差分取得リクエスト９０４には、一次キャッシュ（一次キャッシュ（グループ）４１０及び一次キャッシュ（オーナー）４１１）を取得する対象とするオーナーＩＤとグループＩＤとが含まれる。一次キャッシュ差分取得リクエスト９０４を受けた一次キャッシュ管理サーバ１０５は、一次キャッシュ（グループ）４１０及び一次キャッシュ（オーナー）４１１を二次キャッシュ管理サーバ１０４に返す。そして、二次キャッシュ管理サーバ１０４は、取得した一次キャッシュを二次キャッシュ４０６に反映し、Ｗｅｂアクセスサーバ１０２に二次キャッシュ４０６を返す。
Ｗｅｂアクセスサーバ１０２は、二次キャッシュ４０６からＷｅｂページを作成し、作成したＷｅｂページをクライアント端末１０１に返す。クライアント端末１０１には、ユーザがアクセスできる印刷文書データの一覧画面（図１０（ｂ））が表示される。
ここで、ユーザがアクセス可能な印刷文書データが、単一のオーナー又は単一のグループに係る印刷文書データである場合、Ｗｅｂアクセスサーバ１０２は、一次キャッシュ管理サーバ１０５に一次キャッシュ取得リクエスト９０５を送信する。換言するならば、Ｗｅｂアクセスサーバ１０２は、二次キャッシュ管理サーバ１０４から二次キャッシュ４０６を取得するのではなく、一次キャッシュ管理サーバ１０５から一次キャッシュ（グループ）４１０又は一次キャッシュ（オーナー）４１１を取得する。すなわち、一次キャッシュ取得リクエスト９０５を受けた一次キャッシュ管理サーバ１０５は、一次キャッシュ（グループ）４１０又は一次キャッシュ（オーナー）４１１をＷｅｂアクセスサーバ１０２に返す。Ｗｅｂアクセスサーバ１０２は、一次キャッシュ（グループ）４１０又は一次キャッシュ（オーナー）４１１からＷｅｂページを作成し、作成したＷｅｂページをクライアント端末１０１に返す。なお、二次キャッシュ管理サーバ１０４から二次キャッシュ４０６を取得しない構成の詳細については後述する。
【００２７】
図１０（ａ）は、クライアント端末１０１に表示されるログイン画面１００１の例を示す図である。ユーザがキーボード２６等を介して、ユーザ名入力部１００２にユーザ名を入力し、パスワード入力部１００３にパスワードを入力する。そして、ログインボタン１００４がクリックされると、クライアント端末１０１は、Ｗｅｂアクセスサーバ１０２に入力されたユーザ名及びパスワードを含むログインリクエスト９０１を送信する。
図１０（ｂ）は、クライアント端末１０１に表示される印刷文書データ一覧画面１００５の例を示す図である。ユーザは、キーボード２６等を介して、印刷文書データ一覧１００９で印刷を所望する印刷文書データについて選択し、印刷ボタン１００６をクリックして、印刷の実行を指示する。或いは、印刷中止ボタン１００７をクリックして、印刷の中止を指示する。なお、ページ切り替えボタン１００８がクリックされると、クライアント端末１０１は、印刷文書データ一覧１００９で表示されている現在のページを次のページに切り替える。
【００２８】
図１１は、図９に示す処理において、クライアント端末１０１からログインリクエスト９０１を受けたＷｅｂアクセスサーバ１０２での処理の例を示すフローチャートを示す図である。なお、本処理に係るプログラムは、Ｗｅｂアクセスサーバ１０２のハードディスク２８に記憶されており、ＣＰＵ２１によってＲＡＭ２２に読み出されて実行される。
図１１において、リクエスト処理部３０１は、ログインリクエスト９０１を受信し（ステップＳ１１０１）、認証サーバ１０３に認証リクエスト９０２を送信する（ステップＳ１１０２）。認証リクエスト９０２には、クライアント端末１０１からログインリクエスト９０１と共に受信したユーザ情報の一例であるユーザ名とパスワードとが含まれる。なお、本実施形態では、ユーザを認証する情報として、ユーザ名とパスワードとを用いて説明を行うが、これに限られるものではい。
続いて、リクエスト処理部３０１は、認証サーバ１０３でユーザ認証が成功したか否かを判断する（ステップＳ１１０３）。リクエスト処理部３０１により成功したと判断された場合は、ステップＳ１１０４の処理が行われる。他方、失敗したと判断された場合は、ステップＳ１１０８の処理が行われる。例えば、リクエスト処理部３０１は、認証サーバ１０３よりユーザ認証が成功した旨のレスポンス（例えば、ユーザＩＤ等が含まれる認証情報３０５）を受け取った場合、認証に成功したと判断する。また、リクエスト処理部３０１は、ユーザ認証が失敗した旨のレスポンス（例えば、ユーザＩＤ等のデータが何も含まれない認証情報３０５）を受け取った場合、認証に失敗したと判断する。
【００２９】
ステップＳ１１０４では、キャッシュ取得部３０２は、ログインユーザが参照を許可されている二次キャッシュ４０６を管理する二次キャッシュ管理サーバ１０４を特定し、二次キャッシュ取得リクエスト９０３を送信する。なお、ログインユーザが参照を許可されている二次キャッシュ４０６を管理する二次キャッシュ管理サーバ１０４を特定する方法には、公知の方法を採用する。例えば、ユーザＩＤと当該ユーザＩＤに係る二次キャッシュ４０６を管理する二次キャッシュ管理サーバ１０４（ＩＰアドレス等）とを対応付けたリストを予め設ける。そして、キャッシュ取得部３０２は、当該リストを参照してログインユーザのユーザＩＤをキーとして二次キャッシュ管理サーバ１０４を特定する。
続いて、キャッシュ取得部３０２は、二次キャッシュ管理サーバ１０４が二次キャッシュ４０６の取得に成功したか否かを判断する（ステップＳ１１０５）。キャッシュ取得部３０２により成功したと判断された場合は、ステップＳ１１０７の処理が行われる。他方、失敗したと判断された場合は、ステップＳ１１０６の処理が行われる。なお、二次キャッシュ管理サーバ１０４よりエラーが受信された場合（後述のステップＳ２１０１）、キャッシュ取得部３０２は、取得に失敗したと判断する。
ステップＳ１１０６では、キャッシュ取得部３０２は、ログインユーザが参照を許可されている一次キャッシュ（グループ）４１０を管理する一次キャッシュ管理サーバ１０５に、一次キャッシュ取得リクエスト９０５を送信する。そして、キャッシュ取得部３０２は、一次キャッシュ（グループ）４１０を取得する。或いは、一次キャッシュ（オーナー）４１１を管理する一次キャッシュ管理サーバ１０５に、一次キャッシュ取得リクエスト９０５を送信して、一次キャッシュ（オーナー）４１１を取得する。なお、ログインユーザが参照を許可されている一次キャッシュ（グループ）４１０を管理する一次キャッシュ管理サーバ１０５を特定する方法には、公知の方法を採用する。また、ログインユーザが参照を許可されている一次キャッシュ（オーナー）４１１を管理する一次キャッシュ管理サーバ１０５を特定する方法にも、公知の方法を採用する。
【００３０】
ステップＳ１１０７では、Ｗｅｂページ生成部３０３は、二次キャッシュ管理サーバ１０４から取得した二次キャッシュ４０６から、Ｗｅｂページを生成する。或いは、Ｗｅｂページ生成部３０３は、一次キャッシュ管理サーバ１０５から取得した一次キャッシュ（グループ）４１０又は一次キャッシュ（オーナー）４１１から、Ｗｅｂページを生成する。
ステップＳ１１０８では、Ｗｅｂページ生成部３０３は、エラーページ（Ｗｅｂページ）を生成する。
ステップＳ１１０９では、リクエスト処理部３０１は、ステップＳ１１０７又はステップＳ１１０８で生成されたＷｅｂページをクライアント端末１０１に送信する。
【００３１】
ここで、上述したように、図９には、ユーザがクライアント端末１０１から入力を行い、印刷を実行した際の処理の例も示している。ユーザが、図１０（ａ）の印刷文書データ一覧画面１００５で印刷文書データの選択をし、印刷ボタン１００６をクリックして印刷を実行すると、Ｗｅｂアクセスサーバ１０２は、印刷リクエスト９０６をマスタ管理サーバ１０６に送信する。印刷リクエスト９０６には、印刷文書データを特定するための印刷文書ＩＤと印刷を実行するプリンタ名とが含まれる。
印刷リクエスト９０６を受けたマスタ管理サーバ１０６は、印刷サーバ１０７に印刷リクエスト９０７を送信する。印刷リクエスト９０７には、印刷文書データの保存場所を示す情報とプリンタ名とが含まれる。印刷リクエスト９０７を受けた印刷サーバ１０７は、ネットワークストレージ１０８から印刷文書データを取得し、取得した印刷文書データをプリンタ１０９が解釈可能な形式に変換し、変換したデータをプリンタ１０９に送信する。
【００３２】
図１２は、プリンタ１０９で実行中の印刷ジョブを監視する印刷サーバ１０７に、プリンタ１０９から印刷ジョブの状態変化が通知された際の処理の例を示す図である。
プリンタ１０９から印刷ジョブの状態変化通知１２０４を受け取った印刷サーバ１０７は、マスタ管理サーバ１０６に更新リクエスト１２０３を送信する。更新リクエスト１２０３には、印刷文書データを識別するためのＩＤが含まれる。
更新リクエスト１２０３を受けたマスタ管理サーバ１０６は、マスタ印刷文書情報４１４を更新する。マスタ管理サーバ１０６は、更新したマスタ印刷文書情報４１４に含まれるオーナーＩＤに係る一次キャッシュ（オーナー）４１１を管理する全ての一次キャッシュ管理サーバ１０５に更新リクエスト１２０１を送信する。さらに、マスタ管理サーバ１０６は、更新したマスタ印刷文書情報４１４に含まれるグループＩＤに係る一次キャッシュ（グループ）４１０を管理する全ての一次キャッシュ管理サーバ１０５に更新リクエスト１２０１を送信する。更新リクエスト１２０１には、更新された印刷文書情報５０５と更新先のオーナーＩＤ又はグループＩＤとが含まれる。
なお、更新したマスタ印刷文書情報４１４に含まれるオーナーＩＤに係る一次キャッシュ（オーナー）４１１を管理する全ての一次キャッシュ管理サーバ１０５を特定する方法には、公知の方法を採用する。また、更新したマスタ印刷文書情報４１４に含まれるグループＩＤに係る一次キャッシュ（グループ）４１０を管理する全ての一次キャッシュ管理サーバ１０５を特定する方法にも、公知の方法を採用する。
【００３３】
更新リクエスト１２０１を受けた一次キャッシュ管理サーバ１０５は、更新先のオーナーＩＤに係る一次キャッシュ（オーナー）４１１及び更新先のグループＩＤに係る一次キャッシュ（グループ）４１０を更新する。このとき、更新リクエスト１２０１を受けた一次キャッシュ管理サーバ１０５が更新リクエスト１２０１の欠落を検知した場合、マスタ管理サーバ１０６に対して、マスタ印刷文書情報４１４の差分取得リクエスト１２０２を送信する。差分取得リクエスト１２０２には、一次キャッシュ管理サーバ１０５が最後に受け取った更新リクエスト１２０１に含まれる印刷文書情報５０５の更新バージョン（バージョン情報）が含まれる。差分取得リクエスト１２０２を受けたマスタ管理サーバ１０６は、更新バージョンより新しいマスタ印刷文書情報４１４（印刷文書情報５０５等）を差分として返す。
【００３４】
図１３は、図１２に示す処理の例において、更新リクエスト１２０３を受けたマスタ管理サーバ１０６での処理に係るフローチャートを示す図である。なお、本フローチャートに係るプログラムは、マスタ管理サーバ１０６のハードディスク２８に記憶されており、ＣＰＵ２１によってＲＡＭ２２に読み出されて実行される。
まず、マスタ管理サーバ１０６のリクエスト処理部４１２は、更新リクエスト１２０３を受信する（ステップＳ１３０１）。次に、マスタ管理部４１３は、更新先のマスタ印刷文書情報４１４のカレント更新バージョン（オーナー）１４０３を取得する（ステップＳ１３０２）。
ここで、図１４に、マスタ管理サーバ１０６が管理するマスタ印刷文書情報４１４のデータ構造の例を示す。マスタ印刷文書情報４１４には、オーナーＩＤ１４０１と印刷文書情報リスト１４０２とが含まれている。マスタ印刷文書情報４１４は、オーナーの数だけ存在し、複数のマスタ管理サーバ１０６で分散して管理されている。
【００３５】
続いて、マスタ管理部４１３は、更新リクエスト１２０３に含まれている印刷文書ＩＤの印刷文書情報５０５を更新する（ステップＳ１３０３）。続いて、マスタ管理部４１３は、ステップＳ１３０２で取得したカレント更新バージョン（オーナー）１４０３をインクリメントした更新バージョンを更新した印刷文書情報５０５の更新バージョン（オーナー）１４０４として設定する（ステップＳ１３０４）。
続いて、マスタ管理部４１３は、ステップＳ１３０３で設定した更新バージョン（オーナー）１４０４をカレント更新バージョン（オーナー）１４０３として保存する（ステップＳ１３０５）。例えば、更新リクエスト１２０３を処理する前のカレント更新バージョン（オーナー）１４０３が「３」だった場合、マスタ管理部４１３は、更新した印刷文書情報５０５の更新バージョン（オーナー）１４０４を「４」に設定する。そして、マスタ管理部４１３は、カレント更新バージョン（オーナー）１４０３も「４」に更新する。
【００３６】
続いて、マスタ管理部４１３は、更新した印刷文書情報５０５のオーナーＩＤ５０３を確認する（ステップＳ１３０６）。続いて、マスタ管理部４１３は、オーナーＩＤ５０３に係る一次キャッシュ（オーナー）４１１を管理する一次キャッシュ管理サーバ１０５に、更新リクエスト（一次キャッシュ更新リクエスト）１２０１を送信する（ステップＳ１３０７）。続いて、マスタ管理部４１３は、更新した印刷文書情報５０５のグループＩＤ５０４を確認する（ステップＳ１３０８）。続いて、マスタ管理部４１３は、グループＩＤ５０４に係る一次キャッシュ（グループ）４１０を管理する一次キャッシュ管理サーバ１０５に、更新リクエスト１２０１を送信する（ステップＳ１３０９）。
続いて、マスタ管理部４１３は、更新した印刷文書情報５０５に含まれる全てのグループＩＤ５０４について、更新リクエスト１２０１を送信したか否かを判別し（ステップＳ１３１０）、送信していなければ、ステップＳ１３０８の処理を行う。他方、ステップＳ１３１０で、全てのグループＩＤ５０４について、更新リクエスト１２０１を送信したと判別した場合は、マスタ管理部４１３は、処理を終了する。
【００３７】
図１５、図１６、及び図１７は、図１２の処理の例において、更新リクエスト１２０１を受けた一次キャッシュ管理サーバ１０５での処理に係るフローチャートを示す図である。なお、本フローチャートに係るプログラムは、一次キャッシュ管理サーバ１０５のハードディスク２８に記憶されており、ＣＰＵ２１（一次記憶コンピュータの一例である）によってＲＡＭ２２に読み出されて実行される。
まず、一次キャッシュ管理サーバ１０５のリクエスト処理部４０７は、更新リクエスト１２０１を受信する（ステップＳ１５０１）。
次に、一次キャッシュ管理部４０８は、更新先の一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０のカレント更新バージョン（オーナー）１４０３（図１４、図１８等を参照のこと。）を取得する（ステップＳ１５０２）。なお、更新先が一次キャッシュ（グループ）４１０の場合は、一次キャッシュ管理部４０８は、カレント更新バージョンリスト（オーナー）１８０５から、オーナーＩＤ１４０１が一致するカレント更新バージョン（オーナー）１４０３を取得する。
【００３８】
ここで、図１８に、一次キャッシュ管理サーバ１０５が管理する一次キャッシュ（グループ）４１０のデータ構造の例を示す。一次キャッシュ（グループ）４１０には、グループＩＤ１８０１と印刷文書情報リスト１８０２とが含まれている。なお、一次キャッシュ（オーナー）４１１のデータ構造は、図１４に示すマスタ印刷文書情報４１４のデータ構造と同じである。故に、一次キャッシュ（オーナー）４１１は、オーナーの数だけ存在し、複数の一次キャッシュ管理サーバ１０５で分散して管理されている。
また、一次キャッシュ（グループ）４１０は、オーナーが所属するグループの数だけ存在し、一次キャッシュ（オーナー）４１１と同様に、複数の一次キャッシュ管理サーバ１０５で分散して管理されている。
【００３９】
続いて、一次キャッシュ管理部４０８は、更新リクエスト１２０１に含まれる更新バージョン（オーナー）１４０４が、取得したカレント更新バージョン（オーナー）１４０３の次のバージョン（プラス１）であるか否かを判別する（ステップＳ１５０３）。プラス１である場合（Ｙｅｓである場合）は、一次キャッシュ管理部４０８は、ステップＳ１７０１の処理を行う。
他方、プラス１でない場合（Ｎｏである場合）、一次キャッシュ管理部４０８は、ステップＳ１５０４の処理を行う。ステップＳ１５０４では、一次キャッシュ管理部４０８は、更新リクエスト１２０１に含まれる更新バージョン（オーナー）１４０４が、取得したカレント更新バージョン（オーナー）１４０３の２以上先のバージョン（プラス２以上）であるか否かを判別する。
プラス２以上でないと判別した場合（Ｎｏである場合）、一次キャッシュ管理部４０８は、更新リクエスト１２０１に含まれる印刷文書情報５０５を一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映済みなので処理を終了する。他方、プラス２以上であると判別した場合（Ｙｅｓである場合）、一次キャッシュ管理部４０８は、通信不良等の原因で受信できなかった更新リクエスト１２０１が存在することを検出する。
そこで、マスタ取得部４０９は、マスタ管理サーバ１０６に対して、オーナーＩＤ１４０１とステップＳ１５０２で取得されたカレント更新バージョン（オーナー）１４０３とを含む差分取得リクエスト１２０２（通信情報の一例である）を送信する。そして、マスタ取得部４０９は、一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映されていない印刷文書情報５０５をマスタ管理サーバ１０６より取得する（ステップＳ１５０５）。
【００４０】
続いて、一次キャッシュ管理部４０８は、取得された印刷文書情報５０５の印刷文書ＩＤに一致する印刷文書情報５０５が、一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に存在するか否かを判別する（ステップＳ１６０１）。存在すると判別した場合は、一次キャッシュ管理部４０８は、取得された印刷文書情報５０５を一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映する（ステップＳ１６０２）。他方、存在しないと判別した場合、一次キャッシュ管理部４０８は、取得された印刷文書情報５０５を一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に追加する（ステップＳ１６０３）。続いて、一次キャッシュ管理部４０８は、ステップＳ１６０４の処理を行う。
【００４１】
ステップＳ１６０４では、一次キャッシュ管理部４０８は一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映した印刷文書情報５０５の更新バージョン（オーナー）１４０４をカレント更新バージョン（オーナー）１４０３に保存する。なお、反映先が一次キャッシュ（グループ）４１０である場合は、一次キャッシュ管理部４０８は、カレント更新バージョンリスト（オーナー）１８０５のオーナーＩＤ１４０１が一致するカレント更新バージョン（オーナー）１４０３に保存する。続いて、一次キャッシュ管理部４０８は、反映先が一次キャッシュ（グループ）４１０であるか否かを判別する（ステップＳ１６０５）。反映先が一次キャッシュ（グループ）４１０でない場合（Ｎｏである場合）、一次キャッシュ管理部４０８は、ステップＳ１６０６の処理を行う。
【００４２】
他方、反映先が一次キャッシュ（グループ）４１０である場合（Ｙｅｓである場合）、一次キャッシュ管理部４０８は、反映先の一次キャッシュ（グループ）４１０のカレント更新バージョン（グループ）１８０３を取得する（ステップＳ１６０７）。続いて、一次キャッシュ管理部４０８は、ステップＳ１６０７で取得したカレント更新バージョン（グループ）１８０３をインクリメントした更新バージョンを印刷文書の更新バージョン（グループ）１８０４として設定する（ステップＳ１６０８）。
続いて、一次キャッシュ管理部４０８は、ステップＳ１６０８で設定した更新バージョン（グループ）１８０４をカレント更新バージョン（グループ）１８０３として保存する（ステップＳ１６０９）。例えば、更新リクエスト１２０１を処理する前のカレント更新バージョン（グループ）１８０３が「３」であった場合、一次キャッシュ管理部４０８は、更新した印刷文書情報５０５の更新バージョン（グループ）１８０４を「４」に設定する。そして、一次キャッシュ管理部４０８は、カレント更新バージョン（グループ）１８０３も「４」に更新する。
【００４３】
ステップＳ１６０６では、一次キャッシュ管理部４０８は、ステップＳ１５０５で取得した差分の印刷文書情報５０５を全て一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映したか否かを判別する。全て反映した場合（Ｙｅｓである場合）、一次キャッシュ管理部４０８は、処理を終了する。他方、反映していないものがある場合（Ｎｏである場合）、一次キャッシュ管理部４０８は、ステップＳ１６０１の処理を行う。
【００４４】
ここで、ステップＳ１５０３で次のバージョンであると判別された場合、ステップＳ１７０１の処理が行われる。
ステップＳ１７０１では一次キャッシュ管理部４０８は更新リクエスト１２０１に含まれる印刷文書情報５０５の印刷文書ＩＤに一致する印刷文書情報５０５が一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に存在するか否かを判別する。存在すると判別した場合、一次キャッシュ管理部４０８は、取得した印刷文書情報５０５を一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映する（ステップＳ１７０２）。他方、存在しないと判別した場合、一次キャッシュ管理部４０８は、取得した印刷文書情報５０５を一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に追加する（ステップＳ１７０３）。続いて、一次キャッシュ管理部４０８は、ステップＳ１７０４の処理を行う。
【００４５】
ステップＳ１７０４では、一次キャッシュ管理部４０８は一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０に反映した印刷文書情報５０５の更新バージョン（オーナー）１４０４をカレント更新バージョン（オーナー）１４０３に保存する。なお、反映先が一次キャッシュ（グループ）４１０である場合は、一次キャッシュ管理部４０８は、カレント更新バージョンリスト（オーナー）１８０５のオーナーＩＤ１４０１が一致するカレント更新バージョン（オーナー）１４０３に保存する。
続いて、一次キャッシュ管理部４０８は、反映先がグループの一次キャッシュ（グループ）４１０であるか否かを判別する（ステップＳ１７０５）。反映先が一次キャッシュ（グループ）４１０でない場合（Ｎｏである場合）、一次キャッシュ管理部４０８は、処理を終了する。他方、反映先が一次キャッシュ（グループ）４１０である場合（Ｙｅｓである場合）、一次キャッシュ管理部４０８は、反映先の一次キャッシュ（グループ）４１０のカレント更新バージョン（グループ）１８０３を取得する（ステップＳ１７０６）。
続いて、一次キャッシュ管理部４０８は、ステップＳ１７０６で取得したカレント更新バージョン（グループ）１８０３をインクリメントした更新バージョンを印刷文書の更新バージョン（グループ）１８０４として設定する（ステップＳ１７０７）。続いて、一次キャッシュ管理部４０８は、ステップＳ１７０７で設定した更新バージョン（グループ）１８０４をカレント更新バージョン（グループ）１８０３として保存し（ステップＳ１７０８）、処理を終了する。
【００４６】
図１９は、図１５に示すステップＳ１５０５で一次キャッシュ管理サーバ１０５から送信される差分取得リクエスト１２０２を受けたマスタ管理サーバ１０６での処理に係るフローチャートを示す図である。なお、本フローチャートに係るプログラムは、マスタ管理サーバ１０６のハードディスク２８に記憶されており、ＣＰＵ２１によってＲＡＭ２２に読み出されて実行される。
まず、マスタ管理サーバ１０６のリクエスト処理部４１２は、差分取得リクエスト１２０２を受信する（ステップＳ１９０１）。
次に、マスタ管理部４１３は、差分取得リクエスト１２０２に含まれるカレント更新バージョン（オーナー）１４０３よりも、更新バージョン（オーナー）１４０４が新しい印刷文書情報５０５を検索する（ステップＳ１９０２）。例えば、差分取得リクエスト１２０２に含まれるカレント更新バージョン（オーナー）１４０３が「５」だった場合、マスタ管理部４１３は、更新バージョン（オーナー）１４０４が「６」以上の印刷文書情報５０５を検索する。
次に、リクエスト処理部４１２は、ステップＳ１９０２で見つかった印刷文書情報５０５を一次キャッシュ管理サーバ１０５に差分として送信し（ステップＳ１９０３）、処理を終了する。
【００４７】
図２０及び図２１は、図９において、Ｗｅｂアクセスサーバ１０２から二次キャッシュ取得リクエスト９０３を受けた二次キャッシュ管理サーバ１０４での処理に係るフローチャートを示す図である。なお、本フローチャートに係るプログラムは、二次キャッシュ管理サーバ１０４のハードディスク２８に記憶されており、ＣＰＵ２１（二次記憶コンピュータの一例である）によってＲＡＭ２２に読み出されて実行される。
まず、二次キャッシュ管理サーバ１０４のリクエスト処理部４０１は、Ｗｅｂアクセスサーバ１０２から二次キャッシュ取得リクエスト９０３を受信する（ステップＳ２００１）。二次キャッシュ取得リクエスト９０３には、ログインユーザの認証情報３０５が含まれる。
次に、承認部４０２は、承認情報４０５を取得する（ステップＳ２００２）。続いて、承認部４０２は、受信された認証情報３０５と承認情報４０５とから、ログインユーザが参照を許可されるオーナーＩＤ５０３と、当該オーナーＩＤ５０３のオーナーが所属するグループＩＤ５０４とを特定する（ステップＳ２００３）。続いて、承認部４０２は、ステップＳ２００２で特定した結果、ログインユーザが参照を許可される印刷文書データが、単一のオーナー又は単一のグループの印刷文書データであるか否かを判別する（ステップＳ２００４）。
【００４８】
単一のオーナー又はグループの印刷文書データである場合（Ｙｅｓである場合）、リクエスト処理部４０１は、Ｗｅｂアクセスサーバ１０２にエラー（応答情報の一例である）を送信する（ステップＳ２１０１）。なお、エラーを受信したＷｅｂアクセスサーバ１０２は、一次キャッシュ管理サーバ１０５に対して、一次キャッシュ取得リクエスト９０５を送信する（図１１のステップＳ１１０６）。他方、単一のオーナー及び単一のグループの何れの印刷文書データでもない場合（Ｎｏである場合）、二次キャッシュ管理部４０４は、ステップＳ２００５の処理を行う。
ステップＳ２００５では、二次キャッシュ管理部４０４は、特定されたオーナーＩＤ５０３とオーナーＩＤ１４０１とが一致するカレント更新バージョン（オーナー）１４０３をカレント更新バージョンリスト（オーナー）２２０３から取得する。或いは、二次キャッシュ管理部４０４は、グループＩＤ５０４とグループＩＤ１８０１とが一致するカレント更新バージョン（グループ）１８０３をカレント更新バージョンリスト（グループ）２２０４から取得する。
【００４９】
図２２に、二次キャッシュ管理サーバ１０４が管理する二次キャッシュ４０６のデータ構造の例を示す。二次キャッシュ４０６には、ユーザＩＤ２２０１、印刷文書情報リスト２２０２、カレント更新バージョンリスト（オーナー）２２０３、カレント更新バージョンリスト（グループ）２２０４が含まれている。二次キャッシュ４０６は、印刷文書管理システムにログインするユーザの数だけ存在し、複数の二次キャッシュ管理サーバ１０４で分散して管理されている。
【００５０】
次に、一次キャッシュ取得部４０３は、ステップＳ２００２で特定したオーナーＩＤ５０３に係る一次キャッシュ（オーナー）４１１を管理する一次キャッシュ管理サーバ１０５に対して一次キャッシュ差分取得リクエスト９０４を送信する（ステップＳ２００６）。或いは、一次キャッシュ取得部４０３は、ステップＳ２００２で特定したグループＩＤ５０４に係る一次キャッシュ（グループ）４１０を管理する一次キャッシュ管理サーバ１０５に対して一次キャッシュ差分取得リクエスト９０４を送信する。一次キャッシュ差分取得リクエスト９０４には、ステップＳ２００５で取得したカレント更新バージョンが含まれる。
次に、二次キャッシュ管理部４０４は、ステップＳ２００６で取得した差分の一次キャッシュ（オーナー）４１１の中で最も新しい更新バージョンをカレント更新バージョン（オーナー）１４０３として保存する（ステップＳ２００７）。例えば、取得した差分の一次キャッシュ（オーナー）４１１の更新バージョンが「６」、「７」、「８」だった場合、二次キャッシュ管理部４０４は、カレント更新バージョン（オーナー）１４０３を「８」に更新する。或いは、二次キャッシュ管理部４０４は、取得した差分の一次キャッシュ（グループ）４１０の中で最も新しい更新バージョンをカレント更新バージョン（グループ）１８０３として保存する。
【００５１】
次に、二次キャッシュ管理部４０４は、ステップＳ２００２で特定した全てのオーナーＩＤ５０３の差分の一次キャッシュ（オーナー）４１１とグループＩＤ５０４の差分の一次キャッシュ（グループ）４１０とを取得したか否かを判別する（ステップＳ２００８）。全てを取得していないと判別した場合（Ｎｏである場合）、二次キャッシュ管理部４０４は、ステップＳ２００５の処理を行う。他方、全てを取得したと判別された場合（Ｙｅｓである場合）、承認部４０２は、ステップＳ２００９の処理を行う。
ステップＳ２００９では、承認部４０２は、二次キャッシュ取得リクエスト９０３に含まれるログインユーザの認証情報３０５とステップＳ２００２で取得した承認情報４０５とから、ログインユーザがアクセスを拒否されるオーナーＩＤ５０３を特定する。なお、承認情報４０５は、制御情報の一例である。
ステップＳ２０１０では、二次キャッシュ管理部４０４はステップＳ２００９で特定されたオーナーＩＤ５０３の印刷文書情報５０５をステップＳ２００６で取得された差分の一次キャッシュ（オーナー）４１１及び一次キャッシュ（グループ）４１０から削除する。
【００５２】
続いて、二次キャッシュ管理部４０４は、取得した差分の一次キャッシュ（オーナー）４１１及び一次キャッシュ（グループ）４１０で印刷文書情報５０５の印刷文書ＩＤが重複しているものがあるか否かを判別する（ステップＳ２１０２）。重複しているものがないと判別した場合（Ｎｏである場合）、二次キャッシュ管理部４０４は、ステップＳ２１０５の処理を行う。他方、重複しているものがあると判別した場合（Ｙｅｓである場合）、二次キャッシュ管理部４０４は、重複している印刷文書情報５０５の更新バージョン（オーナー）１４０４を取得する（ステップＳ２１０３）。続いて、二次キャッシュ管理部４０４は、取得した更新バージョン（オーナー）１４０４を比較し、最も新しい（最新の）印刷文書情報５０５以外を削除する（ステップＳ２１０４）。例えば、二次キャッシュ管理部４０４は、重複している印刷文書情報５０５の更新バージョン（オーナー）１４０４が「６」、「７」、「８」だった場合、更新バージョン（オーナー）１４０４が「６」、「７」の印刷文書情報５０５を削除する。
【００５３】
ステップＳ２１０５では、二次キャッシュ管理部４０４は、差分の一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０の印刷文書情報５０５の印刷文書ＩＤに一致する印刷文書情報５０５が二次キャッシュ４０６に存在するか否かを判別する。存在すると判別した場合は、二次キャッシュ管理部４０４は、印刷文書情報５０５を二次キャッシュ４０６に反映する（ステップＳ２１０６）。他方、存在しないと判別した場合、二次キャッシュ管理部４０４は、印刷文書情報５０５を二次キャッシュ４０６に追加する（ステップＳ２１０７）。
続いて、二次キャッシュ管理部４０４は、取得した差分の一次キャッシュ（オーナー）４１１及び一次キャッシュ（グループ）４１０を全て二次キャッシュ４０６に反映したか否かを判別する（ステップＳ２１０８）。全てについては反映していないと判別した場合（Ｎｏである場合）、二次キャッシュ管理部４０４は、ステップＳ２１０５の処理を行う。他方、全てについて反映したと判別された場合（Ｙｅｓである場合）、リクエスト処理部４０１は、二次キャッシュ４０６をＷｅｂアクセスサーバ１０２に送信する（ステップＳ２１０９）。
【００５４】
図２３は、図９において、Ｗｅｂアクセスサーバ１０２から一次キャッシュ取得リクエスト９０５又は一次キャッシュ差分取得リクエスト９０４を受けた一次キャッシュ管理サーバ１０５での処理に係るフローチャートを示す図である。なお、本フローチャートに係るプログラムは、一次キャッシュ管理サーバ１０５のハードディスク２８に記憶されており、ＣＰＵ２１によってＲＡＭ２２に読み出されて実行される。
まず、一次キャッシュ管理サーバ１０５のリクエスト処理部４０７は、一次キャッシュ取得リクエスト９０５又は一次キャッシュ差分取得リクエスト９０４を受信する（ステップＳ２３０１）。続いて、リクエスト処理部４０７は、一次キャッシュ差分取得リクエスト９０４であるか否かを判別する（ステップＳ２３０２）。一次キャッシュ差分取得リクエスト９０４でないと判別した場合、リクエスト処理部４０７は、一次キャッシュ（オーナー）４１１又は一次キャッシュ（グループ）４１０をＷｅｂアクセスサーバ１０２に送信し（ステップＳ２３０５）、処理を終了する。
【００５５】
他方、一次キャッシュ差分取得リクエスト９０４であると判別された場合、一次キャッシュ管理部４０８は、ステップＳ２３０４の処理を行う。
ステップＳ２３０４では、一次キャッシュ管理部４０８は、一次キャッシュ差分取得リクエスト９０４に含まれるカレント更新バージョン（オーナー）１４０３よりも、更新バージョン（オーナー）１４０４が新しい印刷文書情報５０５を検索する。或いは、一次キャッシュ管理部４０８は、一次キャッシュ差分取得リクエスト９０４に含まれるカレント更新バージョン（グループ）１８０３よりも、更新バージョン（グループ）１８０４が新しい印刷文書情報５０５を検索する。例えば、一次キャッシュ管理部４０８は、一次キャッシュ差分取得リクエスト９０４に含まれるカレント更新バージョン（グループ）１８０３が「５」である場合、更新バージョン（グループ）１８０４が「６」以上の印刷文書情報５０５を検索する。
次に、リクエスト処理部４０７は、ステップＳ２３０３で見つかった印刷文書情報５０５を二次キャッシュ管理サーバ１０４に差分として送信し（ステップＳ２３０４）、処理を終了する。
【００５６】
このように、ユーザが複数のグループに所属し、印刷文書データのオーナーが所属するグループに対して印刷文書データの参照を許可することにより、ユーザ間で印刷文書データの共有が可能な印刷文書管理システムを実現する。本実施形態によれば、複数の機器（マシン）で印刷文書データに係る情報（印刷文書情報）を分散して管理し、ユーザが参照可能な印刷文書情報を、複数のマシンから効率よく収集することができる。
また、本実施形態では、印刷文書データのオーナーが所属するグループに対して印刷文書情報の参照を許可し、印刷文書データのオーナーに対して印刷文書情報の参照を拒否する設定ができる。この構成によれば、ユーザ間での印刷文書データの共有を制御可能な場合であっても、ユーザが参照可能な印刷文書情報を、複数のマシンから効率よく収集することができる。
【００５７】
また、ユーザが参照を許可されている、印刷文書データのオーナーが所属するグループが、単一のグループの場合、ユーザが参照可能な印刷文書情報を、複数のマシンから、より効率よく収集することができる。
また、印刷文書データのオーナー及びオーナーが所属するグループに対して印刷文書情報の参照を許可することにより、ユーザ間での印刷文書データの共有を制御可能な場合であっても、複数のマシンから印刷文書情報を効率よく収集することができる。
また、ユーザが参照を許可されている印刷文書データのオーナー、又はオーナーが所属するグループが、単一のオーナー又は単一のグループである場合、ユーザが参照可能な印刷文書情報を、複数のマシンからより効率よく収集することができる。
【００５８】
また、印刷文書データのオーナーが所属するグループに対して印刷文書情報の参照を許可することにより、ユーザ間で印刷文書データの共有が可能な印刷文書管理システムを実現できる。この場合において、印刷文書情報に更新バージョンを付加することによって、ユーザが参照可能な印刷文書情報を、複数のマシンからより効率よく収集することができる。
また、印刷文書データのオーナー及びオーナーが所属するグループに対して印刷文書情報の参照を許可することにより、ユーザ間で印刷文書データの共有が可能な印刷文書管理システムを実現できる。この場合において、印刷文書情報に更新バージョンを付加することによって、ユーザが参照可能な印刷文書情報を、複数のマシンから、より効率よく収集することができる。
また、印刷文書情報に更新バージョンを付加することによって、通信障害が一時的に発生した場合でも、ユーザが参照可能な印刷文書情報を、複数のマシンから、漏れなく収集することができる。
【００５９】
このように、本実施形態によれば、ユーザ毎に参照可能な印刷文書データが異なる印刷文書管理システムにおいて、複数のマシンで印刷文書情報を分散して管理し、ユーザが参照可能な印刷文書情報を、複数のマシンから効率よく収集することができる。
また、ユーザが複数のグループに所属し、印刷文書データのオーナーが所属するグループに対して印刷文書データの参照を許可することにより、ユーザ間で印刷文書データの共有が可能な印刷文書管理システムにおいても同様である。すなわち、複数のマシンで印刷文書情報を分散して管理し、ユーザが参照可能な印刷文書データの情報を、複数のマシンから効率よく収集することができる。
これにより、印刷文書データの情報を分散して管理するマシンの台数を増やすことによって、印刷文書管理システムで管理する印刷文書データ数、印刷文書データを参照するユーザ数が増えても、パフォーマンスが頭打ちになることがない。
【００６０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６１】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005451350.tif 000002
【図２】
0005451350.tif 000003
【図３（ａ）】
0005451350.tif 000004
【図３（ｂ）】
0005451350.tif 000005
【図３（ｃ）】
0005451350.tif 000006
【図４（ａ）】
0005451350.tif 000007
【図４（ｂ）】
0005451350.tif 000008
【図４（ｃ）】
0005451350.tif 000009
【図５（ａ）】
0005451350.tif 000010
【図５（ｂ）】
0005451350.tif 000011
【図６】
0005451350.tif 000012
【図７（ａ）】
0005451350.tif 000013
【図７（ｂ）】
0005451350.tif 000014
【図７（ｃ）】
0005451350.tif 000015
【図８（ａ）】
0005451350.tif 000016
【図８（ｂ）】
0005451350.tif 000017
【図８（ｃ）】
0005451350.tif 000018
【図９】
0005451350.tif 000019
【図１０（ａ）】
0005451350.tif 000020
【図１０（ｂ）】
0005451350.tif 000021
【図１１】
0005451350.tif 000022
【図１２】
0005451350.tif 000023
【図１３】
0005451350.tif 000024
【図１４】
0005451350.tif 000025
【図１５】
0005451350.tif 000026
【図１６】
0005451350.tif 000027
【図１７】
0005451350.tif 000028
【図１８】
0005451350.tif 000029
【図１９】
0005451350.tif 000030
【図２０】
0005451350.tif 000031
【図２１】
0005451350.tif 000032
【図２２】
0005451350.tif 000033
【図２３】
0005451350.tif 000034