(57)【要約】【課題】中継サーバの処理負荷を軽減しつつ、ユーザの望む結合ドキュメントを取得する。【解決手段】情報処理装置と、中継サーバ装置と、管理サーバ装置とがネットワークを介して接続されるシステムであって、前記情報処理装置は、前記中継サーバ装置に前記管理サーバ装置が管理するファイルの結合要求を送信する送信手段を有し、前記中継サーバ装置は、前記情報処理装置から前記結合要求を受信する受信手段と、前記受信手段により受信された前記結合要求に基づいて作成された結合ファイルが前記中継サーバ装置の記憶部に格納されているか否かを判定する判定手段と、前記判定手段により格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得手段と、を有することによって課題を解決する。【選択図】図６
2014135046.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、中継サーバ装置と、管理サーバ装置とがネットワークを介して接続されるシステムであって、
前記情報処理装置は、
前記中継サーバ装置に前記管理サーバ装置が管理するファイルの結合要求を送信する送信手段を有し、
前記中継サーバ装置は、
前記情報処理装置から前記結合要求を受信する受信手段と、
前記受信手段により受信された前記結合要求に基づいて作成された結合ファイルが前記中継サーバ装置の記憶部に格納されているか否かを判定する判定手段と、
前記判定手段により格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得手段と、
を有するシステム。
【請求項２】
前記中継サーバ装置は、
前記判定手段により格納されていないと判定された場合、前記結合要求に基づいて前記管理サーバ装置から取得した結合対象のファイルを結合させた結合ファイルを前記記憶部に格納する格納手段を更に有し、
前記取得手段は、前記格納手段により格納された前記結合ファイルを前記記憶部から取得する請求項１に記載のシステム。
【請求項３】
前記中継サーバ装置は、
前記受信手段により受信された前記結合要求における結合対象のファイルに、更新される可能性がある更新ファイルが含まれる場合、前記結合要求に基づいて前記結合対象のファイルを前記管理サーバ装置から新たに取得し、結合ファイルを作成して前記記憶部に格納する作成手段を更に有する請求項１又は２に記載のシステム。
【請求項４】
前記中継サーバ装置は、
前記更新ファイルが格納されている前記管理サーバ装置の更新フォルダ情報を保持しており、前記更新フォルダ情報に基づいて前記結合対象のファイルに前記更新ファイルが含まれているか否かを判定する更新ファイル判定手段を更に有し、
前記作成手段は、前記更新ファイル判定手段により前記更新ファイルが含まれていると判定された場合、前記結合要求に基づいて前記結合対象のファイルを前記管理サーバ装置から新たに取得し、結合ファイルを作成して前記記憶部に格納する請求項３に記載のシステム。
【請求項５】
前記作成手段は、前記結合対象のファイルから前記更新ファイルを除いたファイルを結合させた非更新結合ファイルを作成して前記記憶部に格納しており、前記非更新結合ファイルと、前記管理サーバ装置から新たに取得した前記更新ファイルとを結合させた結合ファイルを作成して前記記憶部に格納する請求項３又は４に記載のシステム。
【請求項６】
前記中継サーバ装置は、
前記作成手段により作成されて前記記憶部に格納された結合ファイルを、前記記憶部から削除する削除手段を更に有する請求項３乃至５何れか１項に記載のシステム。
【請求項７】
前記中継サーバ装置は、
前記受信手段により前記記憶部に格納されている結合ファイルと、前記管理サーバ装置から新たに取得した追加ファイルとの結合要求が受信された場合、前記結合ファイルと、前記追加ファイルとを同一のファイル形式で結合させて前記記憶部に格納する結合手段を更に有する請求項１乃至６何れか１項に記載のシステム。
【請求項８】
前記中継サーバ装置は、
前記記憶部に格納されている前記結合ファイルが予め定められた時間以上使用されていない場合、前記記憶部から前記結合ファイルを削除する時間管理削除手段を更に有する請求項１乃至７何れか１項に記載のシステム。
【請求項９】
前記中継サーバ装置は、
前記判定手段により格納されていないと判定された場合であっても、前記結合要求に係る結合対象のファイルを含む結合ファイルが前記記憶部に格納されている場合、前記結合ファイルの構成に係るページのうち、前記結合対象のファイルに対応するページを特定する特定手段を更に有する請求項１乃至８何れか１項に記載のシステム。
【請求項１０】
前記中継サーバ装置は、
前記特定手段により特定されたページに基づいて前記結合対象のファイルに係る処理を実行するよう指示する指示手段を更に有する請求項９に記載のシステム。
【請求項１１】
情報処理装置から管理サーバ装置が管理するファイルの結合要求を受信する受信手段と、
前記受信手段により受信された前記結合要求に基づいて作成された結合ファイルが自装置の記憶部に格納されているか否かを判定する判定手段と、
前記判定手段により格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得手段と、
を有する中継サーバ装置。
【請求項１２】
情報処理装置と、中継サーバ装置と、管理サーバ装置とがネットワークを介して接続されるシステムにおける情報処理方法であって、
前記情報処理装置が、前記中継サーバ装置に前記管理サーバ装置が管理するファイルの結合要求を送信する送信ステップと、
前記中継サーバ装置が、前記情報処理装置から前記結合要求を受信する受信ステップと、
前記中継サーバ装置が、前記受信ステップにより受信された前記結合要求に基づいて作成された結合ファイルが前記中継サーバ装置の記憶部に格納されているか否かを判定する判定ステップと、
前記中継サーバ装置が、前記判定ステップにより格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得ステップと、
を含む情報処理方法。
【請求項１３】
中継サーバ装置が実行する情報処理方法であって、
情報処理装置から管理サーバ装置が管理するファイルの結合要求を受信する受信ステップと、
前記受信ステップにより受信された前記結合要求に基づいて作成された結合ファイルが前記中継サーバ装置の記憶部に格納されているか否かを判定する判定ステップと、
前記判定ステップにより格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得ステップと、
を含む情報処理方法。
【請求項１４】
コンピュータに、
情報処理装置から管理サーバ装置が管理するファイルの結合要求を受信する受信ステップと、
前記受信ステップにより受信された前記結合要求に基づいて作成された結合ファイルが前記コンピュータの記憶部に格納されているか否かを判定する判定ステップと、
前記判定ステップにより格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、中継サーバ装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、クライアントＰＣで作成された様々なドキュメントは、クライアントＰＣに備えられたハードディスクで記憶及び管理されていた。しかしながら、ネットワークが発達し、通信速度の向上や安定した通信が実現してくると、クライアントＰＣに保存していたドキュメントが、クライアントＰＣとネットワーク経由で接続されたサーバに保存されるようになってきた。
特に近年、いわゆるクラウドコンピューティングのような、ネットワーク経由で利用可能なサービスが発達してきた。例えば、顧客管理を行うＣＲＭ（Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｍａｎａｇｅｍｅｎｔ）システムや、企業の業務を支援するＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅ  Ｐｌａｎｎｉｎｇ）システム等が提供されている。その他にも、サーバのディスクスペースを貸し出すオンラインストレージサービス等、様々なサービスが提供されている。
しかしながら、今までクライアントＰＣで管理していたドキュメントをユーザがサーバにアップロードして管理することで、クライアントＰＣからサーバに対する通信が発生するようになる。そのため、ネットワークの通信量が増加し、サーバにも負荷がかかることになる。ネットワークの通信量が増加すると、通信速度が落ちてしまう問題が発生する。また、サーバに負荷がかかるとサーバの処理能力が低下してしまい、サーバが停止してしまう可能性もある。
そこで、下記の特許文献１では、次のような仕組みが開示されている。まず、クライアントＰＣと、サーバとの通信を中継するゲートウェイ装置を設ける。クライアントＰＣからサーバに対してドキュメントの取得要求があると、ゲートウェイ装置は、その要求に従ってサーバから取得したドキュメントをゲートウェイ装置内にキャッシュしておく。そして、再度、クライアントＰＣからサーバに対して同じドキュメントの取得要求があった場合には、ゲートウェイ装置がキャッシュしたドキュメントをクライアントＰＣに転送することで、ネットワークやサーバの負荷を軽減している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２１１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述したサービスを複数利用する場合、複数のサーバにドキュメントを保存しておくことがある。例えば、ユーザがドキュメント管理を行うサーバに商品のカタログを保存し、顧客管理を行うサーバに顧客毎の見積書を保存しておく場合である。
このような場合に、特許文献１にあるゲートウェイ装置と同様の中継サーバが設置されることがある。特許文献１にある中継サーバは、ドキュメント管理を行うサーバと、顧客管理を行うサーバから、それぞれカタログと、見積書を取得する。そして、中継サーバで１つのドキュメントに結合して、クライアントＰＣに転送する。
上記の特許文献１で開示されている技術では、中継サーバがドキュメントを結合する場合には、中継サーバが取得した複数のドキュメントに対して結合処理を実行する必要がある。つまり、中継サーバに負荷がかかってしまう問題があった。特に、結合するドキュメントの数が多かったり、ドキュメントの容量が大きかったりすると、中継サーバの処理負荷は更に大きくなってしまう。
また、中継サーバは、ユーザ１人につき中継サーバ１台が割り当てられているわけではない。企業ではその企業の従業員全員が１台（多くても数台）の中継サーバを介して、様々なサーバに保存されたドキュメントの取得と、結合を要求する。そのため、数多くの結合処理が実行されることになる。送受信処理よりも結合処理の方が処理の負荷が大きいので、企業はこのような処理負荷を軽減しないと、数多くの結合処理による処理負荷に耐えられず、中継サーバが停止してしまう可能性もある。
本発明は、上記の課題を鑑みてなされたもので、中継サーバの処理負荷を軽減しつつ、ユーザの望む結合ドキュメントを取得することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明のシステムは、情報処理装置と、中継サーバ装置と、管理サーバ装置とがネットワークを介して接続されるシステムであって、前記情報処理装置は、前記中継サーバ装置に前記管理サーバ装置が管理するファイルの結合要求を送信する送信手段を有し、前記中継サーバ装置は、前記情報処理装置から前記結合要求を受信する受信手段と、前記受信手段により受信された前記結合要求に基づいて作成された結合ファイルが前記中継サーバ装置の記憶部に格納されているか否かを判定する判定手段と、前記判定手段により格納されていると判定された場合、前記記憶部から前記結合ファイルを取得する取得手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、中継サーバの処理負荷を軽減しつつ、ユーザの望む結合ドキュメントを取得することができる。
【図面の簡単な説明】
【０００７】
【図１】システム構成の一例を示す図である。
【図２】クライアントＰＣ、中継サーバ、ドキュメントサーバのハードウェア構成の一例を示す図である。
【図３】クライアントＰＣ、中継サーバ、ドキュメントサーバの機能構成の一例を示す図である。
【図４】中継サーバに実装されるフレームワークの一例を示す図である。
【図５】実施形態１における処理概要の一例を示す図である。
【図６】図５の処理後に再度同じ結合ドキュメントの要求があった場合の処理概要の一例を示す図である。
【図７】実施形態１における更新フォルダ登録に関する処理の一例を示すフローチャートである。
【図８】更新フォルダ登録画面の一例を示す図である。
【図９Ａ】更新フォルダ管理テーブルの一例を示す図である。
【図９Ｂ】ドキュメント管理テーブルの一例を示す図である。
【図１０Ａ】実施形態１におけるクライアントＰＣと、中継サーバとの処理の一例を示すフローチャート（Ｓ１００１からＳ１０１５までの処理）である。
【図１０Ｂ】実施形態１におけるクライアントＰＣと、中継サーバとの処理の一例を示すフローチャート（Ｓ１０１６からＳ１０２３までの処理）である。
【図１１】ドキュメント処理画面の一例を示す図である。
【図１２】履歴情報テーブルの一例を示す図である。
【図１３】入力情報を含むドキュメント処理画面の一例を示す図である。
【図１４Ａ】実施形態１における中継サーバと、ドキュメントサーバとの処理の一例を示すフローチャート（Ｓ１４０１からＳ１４１２までの処理）である。
【図１４Ｂ】実施形態１における中継サーバと、ドキュメントサーバとの処理の一例を示すフローチャート（Ｓ１４１３からＳ１４２９までの処理）である。
【図１５】実施形態１における中継サーバ３００の処理の一例を示すフローチャートである。
【図１６】実施形態２における処理概要の一例を示す図である。
【図１７】図１６の処理後に再度同じ結合ドキュメントの要求があった場合の処理概要の一例を示す図である。
【図１８Ａ】実施形態２における中継サーバと、ドキュメントサーバとの処理の一例を示すフローチャート（Ｓ１８０１からＳ１８１５までの処理）である。
【図１８Ｂ】実施形態２における中継サーバと、ドキュメントサーバとの処理の一例を示すフローチャート（Ｓ１８１６からＳ１８２４までの処理）である。
【図１９】実施形態３におけるクライアントＰＣと、中継サーバとの処理の一例を示すフローチャート（Ｓ１９００からＳ１９１７までの処理）である。
【図２０】実施形態３におけるログインページの一例を示す図である。
【図２１】実施形態３におけるリストページの一例を示す図である。
【図２２】実施形態３におけるメッセージ情報の一例を示す図である。
【図２３】実施形態３における印刷処理の一例を示すフローチャートである。
【図２４】実施形態３におけるリクエスト情報の一例を示す図である。
【図２５】実施形態３におけるＦＡＸ送信処理の一例を示すフローチャートである。
【図２６】実施形態３におけるＥ−Ｍａｉｌ送信処理の一例を示すフローチャートである。
【図２７】実施形態３におけるファイル送信処理の一例を示すフローチャートである。
【図２８】実施形態３における完了メッセージの送受信に関する処理の一例を示すフローチャートである。
【図２９】実施形態３におけるレスポンス情報の一例を示す図である。
【図３０】実施形態３におけるファイルフォーマット変換処理の一例を示すフローチャートである。
【図３１】実施形態３における共通フォーマットでのリストページの一例を示す図である。
【図３２】実施形態４における中継サーバと、ドキュメントサーバとの処理の一例を示すフローチャート（Ｓ１４０１からＳ１４１２までの処理、Ｓ３２０１の処理）である。
【図３３】実施形態４における中継サーバの処理の一例を示すフローチャート（Ｓ３３０１からＳ３３０７までの処理）である。
【図３４】実施形態４におけるドキュメント管理テーブルの一例を示す図である。
【図３５】実施形態５における中継サーバと、ドキュメントサーバとの処理の一例を示すフローチャート（Ｓ１８０２からＳ１８１５までの処理、Ｓ３５０１の処理）である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づき説明する。
【０００９】
＜実施形態１＞
以下、実施形態１について説明する。
図１は、本実施形態のシステム構成の一例を示す図である。
プリンタ１００１、１００２は、プリント機能に加えて、ＦＡＸ、スキャナ等の機能を有する複合機であってもよい。
ＦＡＸ１００３、１００４は、ファックス送信機能に加えて、他の機能を有していてもよい。ＦＡＸ１００３、１００４は、それぞれ公衆回線１００７を介して、他の拠点のＦＡＸと通信可能である。
プリンタ１００１、１００２及びＦＡＸ１００３、１００４は、それぞれネットワーク１００６を介してクライアントＰＣ２００や中継サーバ３００と相互に接続されている。なお、クライアントＰＣ２００は、情報処理装置の一例である。
【００１０】
中継サーバ３００は、複数の物理的なサーバ装置から構成されてもよいし、１台のサーバ装置から構成されてもよい。中継サーバ３００には、サービスやアダプタがセットアップされている。これらのサービスやアダプタは、中継サーバ３００の１つ以上のＣＰＵにより実行される。詳細については、図３を用いて後述する。
クライアントＰＣ２００は、例えばＷｅｂブラウザを用いて中継サーバ３００と通信する。クライアントＰＣ２００は、中継サーバ３００から提供されるＧＵＩに関する情報を受信して、クライアントＰＣ２００のディスプレイに表示する。
ドキュメントサーバ１００５は、クライアントＰＣ２００で作成された各種ドキュメントを保存している。ドキュメントサーバ１００５は、中継サーバ３００からの要求に応じて、保存しているドキュメントを中継サーバ３００に送信する。なお、ドキュメントサーバ１００５は、管理サーバ装置の一例である。また、ドキュメントは、ファイルの一例である。
【００１１】
図２は、クライアントＰＣ２００、中継サーバ３００、ドキュメントサーバ１００５のハードウェア構成の一例を示す図である。
ＣＰＵ２０１は、システムバス２０４に接続されている各デバイスやコントローラを統括的に制御する。
クライアントＰＣ２００のＣＰＵ２０１は、クライアントＰＣ２００のＲＯＭ２０２等に格納されているプログラムを実行することにより、クライアントＰＣ２００の機能（ソフトウェア構成）を実現する。同様に、クライアントＰＣ２００のＣＰＵ２０１は、前記プログラムを実行することにより後述するクライアントＰＣ２００のフローチャートに係る処理を実現する。
中継サーバ３００のＣＰＵ２０１は、中継サーバ３００のＲＯＭ２０２等に格納されているプログラムを実行することにより、中継サーバ３００の機能（ソフトウェア構成）を実現する。同様に、中継サーバ３００のＣＰＵ２０１は、前記プログラムを実行することにより後述する中継サーバ３００のフローチャートに係る処理を実現する。
ドキュメントサーバ１００５のＣＰＵ２０１は、ドキュメントサーバ１００５のＲＯＭ２０２等に格納されているプログラムを実行することにより、ドキュメントサーバ１００５の機能（ソフトウェア構成）を実現する。同様に、ドキュメントサーバ１００５のＣＰＵ２０１は、前記プログラムを実行することにより後述するドキュメントサーバ１００５のフローチャートに係る処理を実現する。
【００１２】
ＲＯＭ２０２及び外部メモリ２１１は、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）を記憶している。また、ＲＯＭ２０２及び外部メモリ２１１は、各サーバ或いは各ＰＣの実行する機能を実現するために必要な各種プログラム等を記憶している。
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理を実行する際に必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現する。
入力コントローラ（入力Ｃ）２０５は、キーボード（ＫＢ）２０９やマウス等の入力デバイスからの入力を制御する。
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器は、ＣＲＴ２１０だけでなく液晶ディスプレイでもよい。
【００１３】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する外部メモリ２１１へのアクセスを制御する。
外部メモリ２１１は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等である。なお、外部メモリ２１１、ＲＡＭ２０３、ＲＯＭ２０２は、記憶部の一例である。
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信し、ネットワークでの通信制御処理を実行する。例えば、通信Ｉ／ＦＣ２０８は、ＴＣＰ／ＩＰを用いたインターネット通信等を可能とする。
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上におけるマウスカーソル等でのユーザ指示を可能とする。
【００１４】
次に、クライアントＰＣ２００、中継サーバ３００、ドキュメントサーバ１００５の機能構成について、図３を用いて説明する。
図３は、クライアントＰＣ２００、中継サーバ３００、ドキュメントサーバ１００５の機能構成の一例を示す図である。なお、図３の各種端末或いはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。各種モジュールは、ライブラリであってもよい。
【００１５】
クライアントＰＣ２００は、送受信制御モジュール３０１、表示制御モジュール３０２、ユーザ操作制御モジュール３０３、分岐処理判定モジュール３０４、更新フォルダ登録モジュール３０５を有する。
送受信制御モジュール３０１は、中継サーバ３００の送受信制御モジュール３１１、及びドキュメントサーバ１００５の送受信制御モジュール３２１と所定の通信プロトコルによって、情報の送受信を行うためのモジュールである。
表示制御モジュール３０２は、クライアントＰＣ２００のＣＲＴ２１０に対する表示を制御するためのモジュールである。
ユーザ操作制御モジュール３０３は、クライアントＰＣ２００の入力部から入力されたユーザ操作を検知し、検知した操作に応じた動作を行うためのモジュールである。
分岐処理判定モジュール３０４は、クライアントＰＣ２００で実行される各種判定の制御を行うためのモジュールである。
更新フォルダ登録モジュール３０５は、ドキュメントが更新される可能性のあるフォルダ（以下、更新フォルダ）を登録する際に用いられるモジュールである。なお、更新フォルダ登録モジュール３０５は、クライアントＰＣ２００ではなく、中継サーバ３００に備えていてもよい。つまり、クライアントＰＣ２００がＷｅｂブラウザ経由で中継サーバ３００の更新フォルダ登録モジュール３０５の機能を動作させる形態である。
【００１６】
中継サーバ３００は、送受信制御モジュール３１１、分岐処理判定モジュール３１２、ＢＰＥＬモジュール３１３、日時取得モジュール３１４、ドキュメント情報取得モジュール３１５、ドキュメント一時記憶モジュール３１６を有する。
送受信制御モジュール３１１は、クライアントＰＣ２００の送受信制御モジュール３０１、及びドキュメントサーバ１００５の送受信制御モジュール３２１と所定の通信プロトコルによって、情報の送受信を行うためのモジュールである。
分岐処理判定モジュール３１２は、中継サーバ３００で実行される各種判定の制御を行うためのモジュールである。
【００１７】
ＢＰＥＬモジュール３１３は、図４で後述するフレームワークである。
日時取得モジュール３１４は、中継サーバ３００に設定された現在日時を取得するためのモジュールである。
ドキュメント情報取得モジュール３１５は、ドキュメントサーバ１００５に記憶されているドキュメントの書誌に関する情報（以下、書誌情報）を取得し、ＲＡＭ２０３等に記憶しておくためのモジュールである。
ドキュメント一時記憶モジュール３１６は、ドキュメントサーバ１００５に記憶されたドキュメントをＢＰＥＬモジュール３１３によって結合し、当該結合されたドキュメント（以下、結合ドキュメント）をＲＡＭ２０３等の所定の記憶領域に記憶しておくためのモジュールである。なお、結合ドキュメントは、結合されたファイル（以下、結合ファイル）の一例である。
【００１８】
ドキュメントサーバ１００５は、送受信制御モジュール３２１、ドキュメント管理モジュール３２２を有する。
送受信制御モジュール３２１は、クライアントＰＣ２００の送受信制御モジュール３０１、及び中継サーバ３００の送受信制御モジュール３１１と所定の通信プロトコルによって、情報の送受信を行うためのモジュールである。
ドキュメント管理モジュール３２２は、クライアントＰＣ２００で生成されたドキュメントを管理するためのモジュールである。ドキュメント管理モジュール３２２は、必要に応じてドキュメントサーバ１００５に記憶されたドキュメントを取得し、中継サーバ３００に送信する。また、ドキュメント管理モジュール３２２は、ドキュメントに関する書誌情報も必要に応じて中継サーバ３００に送信する。
【００１９】
図４は、中継サーバ３００に実装される本実施形態のフレームワークの一例を示す図である。
ＢＰＥＬ  Ｅｎｇｉｎｅ４０１は、ＢＰＥＬ  Ｐｒｏｃｅｓｓを実行するエンジンである。ＢＰＥＬとは、Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅの略である。ＢＰＥＬ  Ｐｒｏｃｅｓｓは、ＸＭＬファイルとして記述される。設計者は、ＢＰＥＬの設計ツールを使うことで、ＧＵＩでドラッグ＆ドロップの操作を行うことで、プロセスを定義することができる。
ＢＰＥＬは、業界標準化団体で策定されている。ＢＰＥＬは、複数のプロセス（例えば、業務タスク）をワークフローのように定義することができる。例えば、設計者は、複数のＷｅｂ  Ｓｅｒｖｉｃｅを呼び出すプロセスを、設計ツールを使って定義することができる。また、ＢＰＥＬ  Ｐｒｏｃｅｓｓ自体がＷｅｂ  Ｓｅｒｖｉｃｅとなっているので、ＢＰＥＬ  Ｐｒｏｃｅｓｓを呼び出したい場合、ユーザは他のＷｅｂ  Ｓｅｒｖｉｃｅを呼び出すのと同様の手順で使うことができる。更に、ユーザは、１つのＢＰＥＬ  Ｐｒｏｃｅｓｓから他のＢＰＥＬ  Ｐｒｏｃｅｓｓを呼び出すこともできる。本実施形態では、ＢＰＥＬを使って複数のアダプタ（実体は複数のＷｅｂ  Ｓｅｒｖｉｃｅ）を組み合わせたフローを定義できるようにしている。後述する４１１から４１８までの各種アダプタは、それぞれがＢＰＥＬを使って呼び出し可能なＷｅｂ  Ｓｅｒｖｉｃｅである。そして、各種の実行制御手順等が、ワークフローとして、ＢＰＥＬにより定義される。
【００２０】
Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ４０２は、ユーザに関する情報（以下、ユーザ情報）の管理、ユーザの認証を行う。ユーザ情報は、Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ４０２内で管理されていてもよいし、そうでなくてもよい。Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ４０２でユーザ情報が管理されていない場合、Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ４０２は、Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ等の外部の認証サーバと連携し、外部認証サーバにユーザ情報の問い合わせやユーザ認証を行う。
Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ４０３は、文書、画像、動画等の電子ファイルを保存及び管理する。この機能は同じサーバ上になくてもよい。
Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ４０４は、ユーザが作成した任意のアプリケーションの実行やインストール状況等を管理するエンジンである。
【００２１】
Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１は、印刷を実行するアダプタである。Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１は、Ｗｅｂ  Ｓｅｒｖｉｃｅのインターフェースを使って実装されている。Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１は、呼び出されると、サーバ内に予めインストールされているプリンタオブジェクトを呼び出して印刷を実行する。また、Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１は、プリンタがダイレクトプリント機能に対応している場合は、指定されたＩＰアドレスに対して直接印刷データを送信することもできる。プリンタオブジェクトは、ＯＳに対して登録されているオブジェクトで、１つ以上のプリンタドライバに対応する。Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１によりプリンタオブジェクトが指定され、オブジェクトに対してデータが与えられると、プリンタドライバが呼び出され、プリンタオブジェクトに対して渡されたデータが印刷データに変換される。そして、Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１は、プリンタオブジェクトに対応するプリンタ１００１又は１００２に対して印刷データを送信する。
【００２２】
ＦＡＸ  Ａｄａｐｔｅｒ４１２は、ＦＡＸ送信を実行するアダプタである。ＦＡＸ  Ａｄａｐｔｅｒ４１２は、サーバ内に予めインストールされているＦＡＸオブジェクトを呼び出してＦＡＸ送信を実行する。ＦＡＸオブジェクトは、ＯＳに対して登録されているオブジェクトで、１つ以上のファックスドライバに対応する。ＦＡＸ  Ａｄａｐｔｅｒ４１２によりファックスオブジェクトが指定され、そのファックスオブジェクトに対してデータと、ファックス番号が与えられると、ファックスドライバが呼び出される。ファックスドライバは、ファックスオブジェクトに対して渡されたデータをファックス送信用データに変換する。そして、ＦＡＸ  Ａｄａｐｔｅｒ４１２は、ファックスドライバに対応するＦＡＸ１００３に対してファックス送信用データを送信する。データを受け取ったＦＡＸ１００３は、必要に応じて公衆回線１００７を使って前記ファックス番号に対応するファックスデバイス、例えばＦＡＸ１００４に対してＦＡＸ送信用データを送信する。
【００２３】
Ｆｉｌｅ  Ａｄａｐｔｅｒ４１３は、ＳＭＢ、ＦＴＰ等のファイル送信プロトコルを使って、ネットワークを経由して与えられたデータ、例えばファイル等を送信するアダプタである。
Ｅ−Ｍａｉｌ  Ａｄａｐｔｅｒ４１４は、ＳＭＴＰ等のプロトコルを使って、与えられたデータ、例えばファイル等をＥ−Ｍａｉｌ送信するアダプタである。
ＰＤＦ  Ａｄａｐｔｅｒ４１５は、与えられたＰＤＦファイルの結合、及び分割を行うアダプタである。また、ＰＤＦ  Ａｄａｐｔｅｒ４１５は、与えられたデータ又は処理済みのデータに対するパスワードの付与、テキストの追加、地紋の付与等の機能を有する。
Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６は、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ４０３を制御するアダプタである。Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６は、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ４０３から指定されたファイルを取得したり、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ４０３に指定されたファイルを格納したりすることができる。
Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１７は、Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ４０２を制御するアダプタである。Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１７は、Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ４０２に対して認証要求を行うことができる。
【００２４】
Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｃｏｎｖｅｒｓｉｏｎ  Ａｄａｐｔｅｒ４１８は、ファイルのフォーマットを変換するアダプタである。Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｃｏｎｖｅｒｓｉｏｎ  Ａｄａｐｔｅｒ４１８は、各種のフォーマットを相互に変換させることができる機能を有していてもよい。各種フォーマットとは、例えば表計算フォーマット、ドキュメントアプリケーションフォーマット、プレゼンテーションフォーマット、ＴＩＦＦ、ＪＰＧ、ビットマップ、プレインテキスト、ＣＩＦ、ＧＩＦ、ＰＮＧ等である。
ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、ＧＵＩ表示機能に関するアプリケーションである。ユーザは、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１を任意に作成することができる。また、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、本実施形態の種々のＧＵＩを表示制御する機能を有する。ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ４０４によって管理及び実行される。
ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ユーザが作成した任意のＢＰＥＬ  Ｐｒｏｃｅｓｓである。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＢＰＥＬ  Ｅｎｇｉｎｅ４０１によって管理及び実行される。
【００２５】
次に、図５及び図６を用いて本実施形態における処理概要について説明する。
図５は、クライアントＰＣ２００から送信されたドキュメントの結合要求に基づく処理の概要の一例を示す図である。
まず、クライアントＰＣ２００のＣＰＵ２０１（以下、単にクライアントＰＣ２００と言う）は、ドキュメントサーバ１００５に格納された複数のドキュメントから成る結合ドキュメントの印刷要求を、入力デバイスを介してユーザから受け付ける。そして、クライアントＰＣ２００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」を結合した「文書Ａ＋Ｂ＋Ｃ」の印刷要求を中継サーバ３００に送信する。
中継サーバ３００のＣＰＵ２０１（以下、単に中継サーバ３００と言う）は、クライアントＰＣ２００から「文書Ａ＋Ｂ＋Ｃ」の印刷要求を受け付けると、中継サーバ３００が保持しているデータベースから要求されたドキュメントの保存先を特定する。中継サーバ３００は、データベースにドキュメント名、サーバ名、格納フォルダ等の情報を記憶しているので、これらの情報を活用してドキュメントの保存先を特定すればよい。中継サーバ３００は、特定した保存先のドキュメントサーバ１００５に対して、前記ドキュメントの取得要求を送信する。
【００２６】
ドキュメントサーバ１００５のＣＰＵ２０１（以下、単にドキュメントサーバ１００５と言う）は、中継サーバ３００からドキュメントの取得要求を受信すると、前記ドキュメントを取得して中継サーバ３００に返送する。
中継サーバ３００は、前記ドキュメントの取得要求に応じてドキュメントサーバ１００５から送信されてきたドキュメントを全て受信すると、受信した全てのドキュメントを結合して１つのドキュメント（結合ドキュメント）を作成し、記憶領域（例えば外部メモリ２１１）に格納する。なお、中継サーバ３００が前記結合ドキュメントを作成して記憶領域に格納する処理は、中継サーバ３００の格納処理の一例である。
図５の例で言えば、中継サーバ３００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」の取得要求をそれぞれのドキュメントを保存しているドキュメントサーバ１００５に送信する。そして、中継サーバ３００は、それに応じてドキュメントサーバ１００５から「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」が全て返送されてきたら、結合して「文書Ａ＋Ｂ＋Ｃ」を生成する。中継サーバ３００は、生成した「文書Ａ＋Ｂ＋Ｃ」を中継サーバ３００の記憶領域に保存し、印刷ジョブを生成してプリンタ１００１に送信する。なお、中継サーバ３００が各種のジョブを生成する際に記憶領域に保存されている結合ファイルを取得する処理は、中継サーバ３００の取得処理の一例である。以降の処理においても同様である。こうすることによって、中継サーバ３００は、複数のドキュメントを各ドキュメントサーバ１００５から取得して、それらを結合した１つのドキュメントを作成し、外部メモリ２１１に保存している。
【００２７】
図６は、図５の処理が行われた後にクライアントＰＣ２００から再度同じ結合ドキュメントの印刷要求があった場合の処理の概要の一例を示す図である。
図５と同様に、まず、クライアントＰＣ２００は、ドキュメントサーバ１００５に格納された複数のドキュメントから成る結合ドキュメントの取得要求を、入力デバイスを介してユーザから受け付ける。ここでは、クライアントＰＣ２００は、「文書Ａ＋Ｂ＋Ｃ」の印刷要求を受け付けたとする。
中継サーバ３００は、クライアントＰＣ２００からの要求を受け取ると、中継サーバ３００の記憶領域に保存された結合ドキュメントが存在するか否かを判定する。なお、中継サーバ３００が中継サーバ３００の記憶領域に前記結合ドキュメントが存在するか否かを判定する処理は、中継サーバ３００の判定処理の一例である。図６の例で言えば、中継サーバ３００は、図５で既に「文書Ａ＋Ｂ＋Ｃ」を生成して中継サーバ３００の記憶領域に保存しているので、新しくドキュメントサーバ１００５からドキュメントを取得して結合することなく、保存された「文書Ａ＋Ｂ＋Ｃ」をプリンタ１００１に送信する。
以上により、中継サーバ３００は、再度結合する処理を要しないため、中継サーバ３００における処理負荷を軽減することができる。以下、この仕組みについて説明を行う。
【００２８】
図７は、クライアントＰＣ２００と、中継サーバ３００がドキュメントサーバ１００５にあるフォルダのうち、ドキュメントが更新される可能性のあるフォルダを登録するために実行する処理の一例を示すフローチャートである。
本実施形態では、中継サーバ３００が保存した結合ドキュメントを構成するドキュメントは、ドキュメントサーバ１００５で更新される可能性がある。より具体的には、前記ドキュメントが格納されているフォルダを他のユーザと共有している場合や、ドキュメントの性質上、更新が頻繁に発生する場合等である。クライアントＰＣ２００と、中継サーバ３００とは、予め図７に示す処理に基づいて、このようなフォルダを更新フォルダとして登録しておくことで、後述する結合の処理に役立てる。なお、更新される可能性があるドキュメントは、更新ファイルの一例である。
【００２９】
Ｓ７０１では、クライアントＰＣ２００は、中継サーバ３００に対して更新フォルダ登録画面の取得要求を送信する。更新フォルダとは、前述したように、複数のユーザが共有で使用しているフォルダやドキュメントの更新が頻繁に発生するフォルダのことである。
Ｓ７０２では、中継サーバ３００は、クライアントＰＣ２００から更新フォルダ登録画面の取得要求を受信する。
Ｓ７０３では、中継サーバ３００は、中継サーバ３００の記憶領域に保存されている更新フォルダ登録画面を取得する。
Ｓ７０４では、中継サーバ３００は、Ｓ７０３で取得した更新フォルダ登録画面をクライアントＰＣ２００に送信する。
Ｓ７０５では、クライアントＰＣ２００は、中継サーバ３００から送信された更新フォルダ登録画面を受信する。
【００３０】
Ｓ７０６では、クライアントＰＣ２００は、Ｓ７０５で受信した更新フォルダ登録画面８００を表示し、入力デバイスを介してユーザからの操作を受け付ける。なお、更新フォルダ登録画面８００は、図８に示すような画面であり、更新フォルダの登録を行うための画面である。
図８は、更新フォルダ登録画面の一例を示す図である。
図８に示す更新フォルダ登録画面８００は、画面上部にクライアントＰＣ２００（又はドキュメントサーバ１００５）のフォルダ階層を表示している。また、更新フォルダ登録画面８００は、既に登録済みの更新フォルダがあれば画面下部のリストに表示し、何もなければ空で表示する。
Ｓ７０７では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により更新フォルダが画面上部で選択され、更新フォルダ登録画面８００に含まれる追加ボタン８０１が押下されたか否かを判定する。クライアントＰＣ２００は、追加ボタン８０１が押下されたと判定した場合には、Ｓ７０８に処理を進め、そうでない場合（例えば、追加ボタン８０１以外のボタンが押下された場合）には、Ｓ７０９に処理を進める。
【００３１】
Ｓ７０８では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により選択されたフォルダを画面下部の更新フォルダ一覧のリストに表示する。以上により、クライアントＰＣ２００は、更新フォルダとして登録する準備を完了する。
Ｓ７０９では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により更新フォルダ一覧のリストで更新フォルダが選択され、更新フォルダ登録画面８００に含まれる削除ボタン８０２が押下されたか否かを判定する。クライアントＰＣ２００は、削除ボタン８０２が押下されたと判定した場合には、Ｓ７１０に処理を進め、そうでない場合（例えば、削除ボタン８０２以外のボタンが押下された場合）には、Ｓ７１１に処理を進める。
Ｓ７１０では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により更新フォルダ一覧のリストで選択された更新フォルダを前記リストから削除する。つまり、クライアントＰＣ２００は、更新フォルダではない通常のフォルダとして登録することになる。クライアントＰＣ２００は、Ｓ７０８と、Ｓ７１０において追加処理と、削除処理とを行うことで更新フォルダの登録及び解除を行う。
【００３２】
Ｓ７１１では、クライアントＰＣ２００は、更新フォルダが登録された状態で入力デバイスを介したユーザの操作により更新フォルダ登録画面８００に含まれる確定ボタン８０３が押下されたか否かを判定する。クライアントＰＣ２００は、確定ボタン８０３が押下されたと判定した場合には、Ｓ７１２に処理を進め、そうでない場合（例えば、確定ボタン８０３以外のボタンが押下された場合）には、Ｓ７０７に処理を戻す。
Ｓ７１２では、クライアントＰＣ２００は、Ｓ７０８で追加された更新フォルダの情報を中継サーバ３００に送信する。追加された更新フォルダの情報は、追加された更新フォルダを備えるドキュメントサーバ１００５のサーバ名や更新フォルダのフォルダパス等である。
Ｓ７１３では、中継サーバ３００は、クライアントＰＣ２００から送信された更新フォルダの情報を受信する。
【００３３】
Ｓ７１４では、中継サーバ３００は、Ｓ７１３で受信した更新フォルダの情報を図９Ａに示すような更新フォルダ管理テーブル９００に登録する。
図９Ａは、更新フォルダ管理テーブルの一例を示す図である。
更新フォルダ管理テーブル９００は、フォルダＩＤ９０１、ドキュメントサーバ名９０２、フォルダパス９０３を含む。フォルダＩＤ９０１は、更新フォルダ毎に一意に割り振られるＩＤである。ドキュメントサーバ名９０２は、更新フォルダを有するドキュメントサーバ１００５の名前を示す。フォルダパス９０３は、ドキュメントサーバ１００５における更新フォルダのフォルダパスを示す。なお、更新フォルダ管理テーブル９００は、更新フォルダ情報の一例である。
中継サーバ３００は、更新フォルダを登録する場合、フォルダＩＤ９０１を新しく発行し、そのフォルダが属するドキュメントサーバ名９０２を格納し、前記フォルダのフォルダパス９０３を格納する。なお、中継サーバ３００は、どのフォルダがどのドキュメントサーバ１００５に属するかを、データベースとして別途記憶しているドキュメントサーバ１００５と、フォルダとを対応づけたデータから特定するようにしてもよい。また、これらに限らず、中継サーバ３００は、どのフォルダがどのドキュメントサーバ１００５に属するかを、他の方法で特定するようにしてもよい。
【００３４】
Ｓ７１５では、中継サーバ３００は、更新フォルダの登録結果をクライアントＰＣ２００に送信する。
Ｓ７１６では、クライアントＰＣ２００は、その実行結果を受信して、一連の処理を終了する。以上のようにして、クライアントＰＣ２００と、中継サーバ３００は、予め更新フォルダを登録しておく。
【００３５】
図１０Ａ及び図１０Ｂは、クライアントＰＣ２００が中継サーバ３００に対して、複数ドキュメントの取得と、結合要求とを行う処理の一例を示すフローチャートである。図１０Ａは、Ｓ１００１からＳ１０１５までの処理を示すフローチャートである。図１０Ｂは、Ｓ１０１６からＳ１０２３までの処理の一例を示すフローチャートである。
Ｓ１００１では、クライアントＰＣ２００は、中継サーバ３００に対してドキュメントサーバ１００５に記憶されているドキュメント名の一覧（以下、ドキュメント一覧）の取得要求を送信する。
Ｓ１００２では、中継サーバ３００は、クライアントＰＣ２００からドキュメント一覧の取得要求を受信する。
【００３６】
Ｓ１００３では、中継サーバ３００は、図９Ｂに示すドキュメント管理テーブル９１０からドキュメント名９１２を取得する。
図９Ｂは、ドキュメント管理テーブルの一例を示す図である。
ドキュメント管理テーブル９１０は、中継サーバ３００が定期的にドキュメントサーバ１００５に対して問い合わせを行い、収集したドキュメントに関する情報のリストである。ドキュメントＩＤ９１１は、ドキュメント毎に一意に割り振られた識別番号である。ドキュメント名９１２は、前記ドキュメントの名称を示す。ドキュメントサーバ名９１３は、前記ドキュメントが保存されたドキュメントサーバ１００５の名称を示す。フォルダパス９１４は、前記ドキュメントが格納されたフォルダパスを示す。
Ｓ１００４では、中継サーバ３００は、取得したドキュメント名９１２から構成されるドキュメント一覧をクライアントＰＣ２００に送信する。
Ｓ１００５では、クライアントＰＣ２００は、中継サーバ３００から送信されたドキュメントの一覧を受信する。
【００３７】
Ｓ１００６では、クライアントＰＣ２００は、Ｓ１００５で受信したドキュメント一覧に基づいて図１１に示すようなドキュメント処理画面１１００を生成して表示し、入力デバイスを介してユーザからの操作を受け付ける。
図１１は、ドキュメント処理画面の一例を示す図である。
ドキュメント処理画面１１００は、ユーザが入力デバイスを介して複数のドキュメントを選択して、任意の処理の実行指示をするための操作を受け付ける画面である。ユーザは、入力デバイスを介してドキュメント処理画面１１００の画面上部にあるドキュメント一覧１１０１から複数のドキュメントを選択し、画面右下部にある処理内容から実行したい処理を選択する。これにより、クライアントＰＣ２００は、入力デバイスを介して受け付けたユーザの操作に基づいて複数のドキュメントを結合させ、前記結合させたドキュメントに対する任意の処理の実行を指示することができる。
Ｓ１００７では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作によりドキュメント処理画面１１００でドキュメントが選択されたか否かを判定する。より具体的には、クライアントＰＣ２００は、ドキュメント処理画面１１００の画面上部にあるドキュメント一覧１１０１が表示される領域で、対象となるドキュメントのチェックボックスに対して選択がなされたか否かを判定する。クライアントＰＣ２００は、ドキュメントが選択されたと判定した場合には、Ｓ１００８に処理を進め、そうでない場合（例えば、ドキュメント履歴欄１１０２で結合ドキュメントを構成するドキュメントの組み合わせが選択された場合や、処理内容欄１１０３の処理種別の選択がなされた場合等）にはＳ１０１１に処理を進める。
【００３８】
Ｓ１００８では、クライアントＰＣ２００は、選択されたドキュメントのチェックボックスにチェックが入った状態にする。
Ｓ１００９では、クライアントＰＣ２００は、選択されたドキュメントが過去に結合させたことのあるドキュメントであるか否かを判定する。より具体的には、クライアントＰＣ２００は、中継サーバ３００に記憶された後述の図１２に示す履歴情報テーブル１２００に、選択されたドキュメントが含まれるか否かを判定する。クライアントＰＣ２００は、過去に結合させたドキュメントが選択されたと判定した場合には、Ｓ１０１０に処理を進め、そうでない場合には、Ｓ１０１１に処理を進める。
【００３９】
図１２は、履歴情報テーブルの一例を示す図である。
図１２に示す履歴情報テーブル１２００は、結合したドキュメントの履歴がユーザ毎に記憶されている。結合ドキュメントＩＤ１２０１は、ドキュメントが結合される度に一意に割り振られるＩＤである。ユーザＩＤ１２０２は、ユーザ毎の識別情報を示すＩＤである。結合ドキュメント１２０３から１２０５までは、結合ドキュメントを構成するドキュメントのドキュメント名９１２を示す。処理種別１２０６は、結合ドキュメントに対して行われた処理の種別を示す。処理設定１２０７は、処理種別１２０６の処理の詳細な設定を示す。更新フォルダドキュメント１２０８は、結合ドキュメント１２０３から１２０５のうち、更新フォルダに保存されたドキュメントのドキュメント名９１２を示す。最終使用日時１２０９は、結合ドキュメントを最後に使用した日時を示す。履歴情報テーブル１２００は、後述する処理において結合ドキュメントが保存される度に更新がなされる。なお、本実施形態では、結合ドキュメント１２０３から１２０５までの３つのドキュメントを結合する形態を示すが、３つに限る必要はない。
【００４０】
Ｓ１０１０では、クライアントＰＣ２００は、ドキュメント処理画面１１００の画面左下に示されるドキュメント履歴欄１１０２に、選択されたドキュメントを含むドキュメントの組み合わせを表示する。より具体的には、クライアントＰＣ２００は、クライアントＰＣ２００を操作するユーザと同じユーザＩＤ１２０２を持つ履歴情報テーブル１２００のレコードを特定する。そして、クライアントＰＣ２００は、前記特定したレコードのうち、結合ドキュメント１２０３から１２０５の中に、選択されたドキュメントと同じドキュメントが含まれるレコードを特定する。クライアントＰＣ２００は、特定したレコードの結合ドキュメント１２０３から１２０５を取得して、ドキュメント履歴欄１１０２にドキュメントの組み合わせ（以下、組み合わせ履歴）を表示する。クライアントＰＣ２００が表示した結果は、図１３に示す通りである。
図１３は、ドキュメント処理画面の表示の一例を示す図である。
例えば、「ＵｓｅｒＡ」が「表紙Ａ」というドキュメントを選択した場合、クライアントＰＣ２００は、図１２の履歴情報テーブル１２００を参照して、「ＵｓｅｒＡ」により「表紙Ａ」を含む３つの結合ドキュメントが作成されたことを認識する。より具体的には、前記３つの結合ドキュメントは、「表紙Ａ＋広告Ｃ＋集計表Ｆ」、「表紙Ａ＋顧客情報Ｇ＋集計表Ｆ」、「表紙Ａ＋顧客情報Ｇ＋価格表Ｈ」である。以上により、クライアントＰＣ２００は、ドキュメント処理画面１１００のドキュメント履歴欄１１０２にこの３つの組み合わせ履歴を選択可能に表示する。例えば、クライアントＰＣ２００は、通常のドキュメントと同様に、組み合わせ履歴のチェックボックスを表示して選択を受け付けるようにしてもよい。
【００４１】
Ｓ１０１１では、クライアントＰＣ２００は、Ｓ１０１０でドキュメント履歴欄１１０２に表示された組み合わせ履歴が、入力デバイスを介したユーザの操作により選択されたか否かを判定する。より具体的には、クライアントＰＣ２００は、ドキュメント履歴欄１１０２に表示された組み合わせ履歴のチェックボックスに対して選択がなされたか否かを判定する。クライアントＰＣ２００は、組み合わせ履歴のチェックボックスが選択されたと判定した場合には、Ｓ１０１２に処理を進め、そうでない場合（例えば、処理内容欄１１０３の処理種別の選択がなされた場合や、処理種別の設定の変更が指示された場合等）には、Ｓ１０１４に処理を進める。
Ｓ１０１２では、クライアントＰＣ２００は、選択された組み合わせ履歴のチェックボックスを選択状態にする。
Ｓ１０１３では、クライアントＰＣ２００は、Ｓ１０１２で選択された組み合わせ履歴の処理種別１２０６と、処理設定１２０７を履歴情報テーブル１２００から取得する。そして、クライアントＰＣ２００は、取得した前記処理種別１２０６と、前記処理設定１２０７をドキュメント処理画面１１００の画面右下に設けられた処理内容欄１１０３に表示する。履歴情報テーブル１２００には、処理種別１２０６と、処理設定１２０７が含まれるので、クライアントＰＣ２００は、これらの情報に基づいて、処理内容欄１１０３に以前の処理内容を設定することができる。例えば、「表紙Ａ＋広告Ｃ＋集計表Ｆ」であれば、過去にクライアントＰＣ２００が「両面、カラー、２部」で「印刷」の実行を指示していることがわかる。クライアントＰＣ２００は、ドキュメント処理画面１１００の処理内容欄１１０３に処理種別１２０６と、処理設定１２０７を設定する。クライアントＰＣ２００により設定されたドキュメント処理画面１１００は、図１３のように表示される。
【００４２】
Ｓ１０１４では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により、ドキュメント処理画面１１００に含まれる処理内容欄１１０３の処理種別の選択がなされたか否かを判定する。クライアントＰＣ２００は、ボタンを設けて処理種別の選択を受け付けるようにしてもよいし、ラジオボタンを設けて処理種別の選択を受け付けるようにしてもよい。クライアントＰＣ２００は、処理種別の選択がなされたと判定した場合には、Ｓ１０１５に処理を進め、そうでない場合（例えば、処理種別の設定の変更が指示された場合や、実行ボタン１１０４が押下された場合等）には、図１０ＢのＳ１０１６に処理を進める。
Ｓ１０１５では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により選択された処理種別を選択状態にする。
【００４３】
図１０Ｂに説明を移す。
Ｓ１０１６では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により、処理種別で選択された設定が変更されたか否かを判定する。より具体的には、処理種別毎に設定項目が存在するので、クライアントＰＣ２００は、この設定の変更指示を、入力デバイスを介してユーザから受け付けたか否かを判定する。クライアントＰＣ２００は、処理設定が変更されたと判定した場合には、Ｓ１０１７に処理を進め、そうでない場合（例えば、実行ボタン１１０４が押下された場合等）にはＳ１０１８に処理を進める。
Ｓ１０１７では、クライアントＰＣ２００は、入力デバイスを介して受け付けたユーザの指示に基づいて設定の変更を行う。クライアントＰＣ２００は、何も設定されていなければ、新規に設定を行い、既に設定されていれば、その設定値を変更する。
【００４４】
Ｓ１０１８では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作によりドキュメント処理画面１１００に含まれる実行ボタン１１０４が押下されたか否かを判定する。クライアントＰＣ２００は、ドキュメント一覧１１０１や、ドキュメント履歴欄１１０２で対象となるドキュメントが選択され、処理内容欄１１０３で選択された処理の処理設定がなされた状態で実行ボタン１１０４の押下を受け付ける。そして、クライアントＰＣ２００は、後述するＳ１０２１で選択されたドキュメントに対して選択された処理を実行することになる。クライアントＰＣ２００は、実行ボタン１１０４が押下されたと判定した場合には、Ｓ１０１９に処理を進め、そうでない場合には、図１０ＡのＳ１００７に処理を戻す。
【００４５】
Ｓ１０１９では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により選択されたドキュメントのドキュメント名（結合ドキュメントを含む）、処理種別、処理設定を中継サーバ３００に送信する。なお、ここで、ドキュメント履歴欄１１０２で選択された場合には、クライアントＰＣ２００は、ドキュメント履歴欄１１０２で選択されたという情報を含めて中継サーバ３００に送信する。
Ｓ１０２０では、中継サーバ３００は、クライアントＰＣ２００から送信された各種情報を受信する。
Ｓ１０２１では、中継サーバ３００は、受信した各種情報に基づいて、選択されたドキュメントに対して選択された処理を実行する。Ｓ１０２１における処理の詳細については、後述する図１４Ａ及び図１４Ｂを用いて説明する。
Ｓ１０２２では、中継サーバ３００は、処理の実行結果をクライアントＰＣ２００に送信する。
Ｓ１０２３では、クライアントＰＣ２００は、中継サーバから実行結果を受信し、処理を終了する。
【００４６】
図１４Ａ及び図１４Ｂは、中継サーバ３００がクライアントＰＣ２００からの要求に基づいてドキュメントサーバ１００５からドキュメントを取得し、所定の処理を実行する処理の一例を示すフローチャートである。図１４Ａは、Ｓ１４０１からＳ１４１２までの処理の一例を示すフローチャートである。図１４Ｂは、Ｓ１４１３からＳ１４２９までの処理の一例を示すフローチャートである。
Ｓ１４０１では、中継サーバ３００は、クライアントＰＣ２００から結合を指示されたドキュメントが更新フォルダに格納されたドキュメントであるか否かを判定する。より具体的には、中継サーバ３００は、選択されたドキュメントのドキュメントサーバ名９１３と、フォルダパス９１４との組み合わせが、更新フォルダ管理テーブル９００に登録されているか否かを判定する。なお、Ｓ１４０１の処理は、中継サーバ３００の更新ファイル判定処理の一例である。
中継サーバ３００は、ドキュメント履歴欄１１０２から選択された場合であっても、選択された組み合わせ履歴に含まれるドキュメントが更新フォルダに保存されたドキュメントか否かを判定する。つまり、中継サーバ３００は、結合ドキュメントであっても、更新フォルダに保存されたドキュメントが当該結合ドキュメントに含まれる場合には、再度ドキュメントサーバ１００５からドキュメントを取得する。そして、中継サーバ３００は、取得したドキュメントを結合する。こうすることで、中継サーバ３００は、ドキュメントを更新される可能性があったとしても、最新のドキュメントを取得することができる。中継サーバ３００は、更新フォルダに格納されたドキュメントを含むと判定した場合には、Ｓ１４０２に処理を進め、そうでない場合には、Ｓ１４１１に処理を進める。
【００４７】
Ｓ１４０２では、中継サーバ３００は、入力デバイスを介したユーザの操作により選択された結合するドキュメント（以下、対象ドキュメント）の取得要求を、前記ドキュメントの保存先であるドキュメントサーバ１００５に対して送信する。前記取得要求には、少なくとも対象ドキュメントのドキュメント名が含まれている。対象ドキュメントの保存先は、ドキュメント毎に異なるので、中継サーバ３００は、ドキュメント管理テーブル９１０を参照して、対象となるドキュメントサーバ１００５に対して対象ドキュメントの取得要求を送信する。
Ｓ１４０３では、ドキュメントサーバ１００５は、中継サーバ３００から対象ドキュメントの取得要求を受信する。
Ｓ１４０４では、ドキュメントサーバ１００５は、Ｓ１４０３で受信した取得要求に応じて対象ドキュメントを取得する。前記取得要求には、対象ドキュメントのドキュメント名が含まれているので、これに基づいてドキュメントサーバ１００５の記憶領域から対象ドキュメントを取得する。
Ｓ１４０５では、ドキュメントサーバ１００５は、Ｓ１４０４で取得した対象ドキュメントを中継サーバ３００に送信する。
Ｓ１４０６では、中継サーバ３００は、ドキュメントサーバ１００５から送信された対象ドキュメントを受信する。
【００４８】
Ｓ１４０７では、中継サーバ３００は、Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｃｏｎｖｅｒｓｉｏｎ  Ａｄａｐｔｅｒ４１８を用いて、Ｓ１４０６で受信した対象ドキュメントをＰＤＦデータ形式に変換する。ドキュメントには様々なファイル形式があり、中継サーバ３００は、異なる形式のドキュメントを当該異なる形式のまま結合することができない。例えば、文書データ形式のドキュメントと、表計算データ形式のドキュメントとは、それぞれのファイル構造が異なるので、中継サーバ３００は、両者をそのまま結合することができない。そのため、中継サーバ３００は、どのような形式のドキュメントであっても統一的に結合可能な形式に一度変換し、その後に結合することで１つの結合データを生成する。なお、本実施形態では、ドキュメントを結合するための形式をＰＤＦデータ形式とするが、それ以外の形式であってもよい。例えば、ＴＩＦＦデータ形式のような画像データとしてもよいし、ＨＴＭＬ形式等であってもよい。中継サーバ３００は、異なる形式のデータ同士を結合できるのであれば、どのような形式に変換してもよい。
【００４９】
Ｓ１４０８では、中継サーバ３００は、入力デバイスを介したユーザの操作により選択された全ての対象ドキュメントをドキュメントサーバ１００５から受信したか否かを判定する。中継サーバ３００は、前記全ての対象ドキュメントを受信したと判定した場合には、Ｓ１４０９に処理を進め、そうでない場合には、Ｓ１４０２に処理を戻す。
Ｓ１４０９では、中継サーバ３００は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を用いて、Ｓ１４０７でＰＤＦデータ形式に変換された全ての対象ドキュメントを結合し、１つのドキュメント（結合ドキュメント）にする。中継サーバ３００は、結合ドキュメントのドキュメント名を、各ドキュメントのドキュメント名を結合したものに変更し、どのドキュメントから構成されているのかを識別しやすくする。例えば、中継サーバ３００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」を結合した場合には、ドキュメント名を「文書Ａ＋Ｂ＋Ｃ」といった表記にする。但し、ドキュメント名はこれに限らない。
Ｓ１４１０では、中継サーバ３００は、結合したドキュメントを中継サーバ３００の外部メモリ２１１等の所定の記憶領域に保存し、処理を図１４ＢのＳ１４２３に進める。なお、Ｓ１４０２からＳ１４１０までの処理は、中継サーバ３００の作成処理の一例である。
【００５０】
Ｓ１４１１では、中継サーバ３００は、結合指示された対象ドキュメントが、ドキュメント処理画面１１００のドキュメント履歴欄１１０２で選択されたドキュメントであるか否かを判定する。中継サーバ３００は、ドキュメント履歴欄１１０２で選択されたドキュメントであると判定した場合には、Ｓ１４１２に処理を進め、そうでない場合（ドキュメント一覧１１０１で選択されたドキュメントであると判定された場合等）には、Ｓ１４０２に処理を進める。
前記対象ドキュメントがドキュメント履歴欄１１０２で選択されたドキュメントであれば、既に中継サーバ３００の外部メモリ２１１等に保存されているはずである。そのため、中継サーバ３００は、その保存されている結合ドキュメントを取得すれば新たに結合処理をせずに済む。また、記憶された結合ドキュメントと同じ組み合わせであっても、ドキュメント一覧１１０１から選択されていれば、中継サーバ３００は、対象のドキュメントを再結合する。
なお、前述したＳ１０１９で、クライアントＰＣ２００は、中継サーバ３００に各種情報を送信する際に、ドキュメント履歴欄１１０２で選択された旨を示す情報を含めて送信するようにすればよい。こうすることで、中継サーバ３００は、その情報に基づいて、前記結合指示された対象ドキュメントがドキュメント履歴欄１１０２で選択されたドキュメントであるか否かを判定することができる。
別の実施形態として、中継サーバ３００は、対象ドキュメントの組み合わせが履歴情報テーブル１２００に存在するか否かを判定し、存在するのであれば、結合済みの結合ドキュメントを取得するようにしてもよい。ここで、結合ドキュメントが存在するか否かが判定できるのであれば、どのような方法であってもよい。
Ｓ１４１２では、中継サーバ３００は、ドキュメント履歴欄１１０２で選択された結合ドキュメントを中継サーバ３００の記憶領域から取得する。結合ドキュメントには、結合したドキュメントのドキュメント名が付されているので、中継サーバ３００は、当該ドキュメント名を用いて記憶領域から必要な結合ドキュメントを抽出して取得する。
【００５１】
図１４Ｂに説明を移す。
Ｓ１４１３では、中継サーバ３００は、ドキュメント履歴欄１１０２に加えて、ドキュメント一覧１１０１でも追加選択されているか否かを判定する。つまり、中継サーバ３００は、結合済みのドキュメントに、追加するドキュメント（以下、追加ドキュメント）が選択されているか否かを判定する。中継サーバ３００は、ドキュメント一覧１１０１で追加の選択がされていると判定した場合には、Ｓ１４１４に処理を進め、そうでない場合には、Ｓ１４２３に処理を進める。なお、追加ドキュメントは、追加ファイルの一例である。
Ｓ１４１４では、中継サーバ３００は、追加ドキュメントの取得要求を、前記ドキュメントの保存先であるドキュメントサーバ１００５に対して送信する。取得要求には、少なくとも追加ドキュメントのドキュメント名を含める。追加ドキュメントの保存先は、ドキュメント毎に異なるので、中継サーバ３００は、ドキュメント管理テーブル９１０を参照しながら、対象となるドキュメントサーバ１００５に対して追加ドキュメントの取得要求を送信する。
【００５２】
Ｓ１４１５では、ドキュメントサーバ１００５は、中継サーバ３００から追加ドキュメントの取得要求を受信する。
Ｓ１４１６では、ドキュメントサーバ１００５は、Ｓ１４１５で受信した取得要求に応じて追加ドキュメントを取得する。前記取得要求には、追加ドキュメントのドキュメント名が含まれているので、これに基づいてドキュメントサーバ１００５の記憶領域から対象ドキュメントを取得する。
Ｓ１４１７では、ドキュメントサーバ１００５は、Ｓ１４１６で取得した追加ドキュメントを中継サーバ３００に送信する。
Ｓ１４１８では、中継サーバ３００は、ドキュメントサーバ１００５から送信された追加ドキュメントを受信する。
Ｓ１４１９では、中継サーバ３００は、Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｃｏｎｖｅｒｓｉｏｎ  Ａｄａｐｔｅｒ４１８を用いて、Ｓ１４１８で受信した追加ドキュメントをＰＤＦデータ形式に変換する。なお、データ形式についての詳細は前述した通りであるため、説明を省略する。
【００５３】
Ｓ１４２０では、中継サーバ３００は、入力デバイスを介したユーザの操作により選択された全ての追加ドキュメントをドキュメントサーバ１００５から受信したか否かを判定する。中継サーバ３００は、前記全ての追加ドキュメントを受信したと判定した場合には、Ｓ１４２１に処理を進め、そうでない場合には、Ｓ１４１４に処理を戻す。
Ｓ１４２１では、中継サーバ３００は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を用いて、Ｓ１４１９でＰＤＦデータ形式に変換された全ての追加ドキュメントと、Ｓ１４１２で取得した結合ドキュメントとを結合し、１つのドキュメントにする。なお、結合ドキュメントのドキュメント名についての詳細は前述した通りであるため、説明を省略する。
Ｓ１４２２では、中継サーバ３００は、Ｓ１４２１で結合したドキュメントを中継サーバ３００の外部メモリ２１１等に保存し、Ｓ１４２３に処理を進める。
ここまでが、ドキュメントの結合に関する処理である。Ｓ１４２３からＳ１４２７までの処理は、ユーザが選択した処理を実行する処理である。
【００５４】
Ｓ１４２３では、中継サーバ３００は、処理内容欄１１０３で選択された処理が「印刷」であるか否かを判定する。より具体的には、中継サーバ３００は、前述したＳ１０２０で処理種別を受信しているので、この情報に基づいて処理内容欄１１０３で選択された処理が「印刷」であるか否かを判定する。中継サーバ３００は、「印刷」であると判定した場合には、Ｓ１４２４に処理を進め、そうでない場合（例えば、処理内容欄１１０３で選択された処理がＦＡＸやメールであった場合等）には、Ｓ１４２５に処理を進める。
Ｓ１４２４では、中継サーバ３００は、Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１を用いて、Ｓ１４１０、Ｓ１４１２、Ｓ１４２２で保存した結合ドキュメントから、処理内容欄１１０３で設定された処理設定に基づいて印刷ジョブを生成する。そして、中継サーバ３００は、プリンタ１００１やプリンタ１００２に対して印刷ジョブを送信する。なお、中継サーバ３００は、Ｓ１０２０で受信した処理設定を用いる。
プリンタ１００１やプリンタ１００２は、印刷ジョブを受信すると、紙媒体に印刷を開始する。本実施形態では、中継サーバ３００は、直接プリンタに対して印刷ジョブを送信しているが、印刷ジョブを蓄積する印刷サーバがあれば、その印刷サーバを介してプリンタに印刷ジョブを送信するようにしてもよい。
【００５５】
Ｓ１４２５では、中継サーバ３００は、処理内容欄１１０３で選択された処理が「ＦＡＸ」であるか否かを判定する。より具体的には、中継サーバ３００は、前述したＳ１０２０で処理種別を受信しているので、この情報に基づいて処理内容欄１１０３で選択された処理が「ＦＡＸ」であるか否かを判定する。中継サーバ３００は、「ＦＡＸ」であると判定した場合には、Ｓ１４２６に処理を進め、そうでない場合（例えば、処理内容欄１１０３で選択された処理がメールや印刷であった場合等）には、Ｓ１４２７に処理を進める。
Ｓ１４２６では、中継サーバ３００は、ＦＡＸ  Ａｄａｐｔｅｒ４１２を用いて、Ｓ１４１０、Ｓ１４１２、Ｓ１４２２で保存した結合ドキュメントから、処理内容欄１１０３で設定された処理設定に基づいてＦＡＸデータを生成する。そして、中継サーバ３００は、ＦＡＸ１００３やＦＡＸ１００４に対してＦＡＸデータを送信する。なお、中継サーバ３００は、Ｓ１０２０で受信した処理設定を用いる。本実施形態では、中継サーバ３００は、直接ＦＡＸに対してＦＡＸデータを送信しているが、ＦＡＸデータを蓄積するＦＡＸサーバがあれば、そのＦＡＸサーバを介してＦＡＸにＦＡＸデータを送信するようにしてもよい。
【００５６】
Ｓ１４２７では、中継サーバ３００は、処理内容欄１１０３で選択された処理が「メール」であるか否かを判定する。より具体的には、中継サーバ３００は、前述したＳ１０２０で処理種別を受信しているので、この情報に基づいて処理内容欄１１０３で選択された処理が「メール」であるか否かを判定する。中継サーバ３００は、「メール」であると判定した場合には、Ｓ１４２８に処理を進め、そうでない場合（例えば、処理内容欄１１０３で選択された処理が印刷やＦＡＸであった場合等）には、Ｓ１４２９に処理を進める。
Ｓ１４２８では、中継サーバ３００は、Ｅ−Ｍａｉｌ  Ａｄａｐｔｅｒ４１４を用いて、Ｓ１４１０、Ｓ１４１２、Ｓ１４２２で保存した結合ドキュメントから、処理内容欄１１０３で設定された処理設定に基づいてメールを生成する。より具体的には、結合ドキュメントを添付したメールを処理設定に基づいて生成する。そして、中継サーバ３００は、メールサーバに対して当該メールを送信する。なお、その際、中継サーバ３００は、Ｓ１０２０で受信した処理設定を用いる。
【００５７】
Ｓ１４２９では、中継サーバ３００は、処理を行った結合ドキュメントに関する情報を履歴情報テーブル１２００に登録する。中継サーバ３００は、新たに結合ドキュメントＩＤ１２０１を割り振り、ユーザＩＤ１２０２には指示を行ったユーザのＩＤを対応付けて格納する。また、中継サーバ３００は、結合ドキュメント１２０３から１２０５までには結合したドキュメントのドキュメント名９１２を格納する。処理種別１２０６と、処理設定１２０７には、処理した内容と、その設定を格納する。更に、中継サーバ３００は、更新フォルダドキュメント１２０８には、更新フォルダに保存されたドキュメントのドキュメント名９１２を格納する。最終使用日時１２０９には、Ｓ１４２９で登録する際の日時を格納する。
こうして、中継サーバ３００は、処理が完了する毎に履歴を登録しておくことで、次回結合処理が指示された際に、結合ドキュメントを取得して処理することができるようになる。
【００５８】
図１５は、中継サーバ３００が中継サーバ３００の記憶領域に保存した結合ドキュメントのうち、一定期間使用のない結合ドキュメントを削除する処理の一例を示すフローチャートである。
中継サーバ３００は、定期的に以下のＳ１５０１からＳ１５０７までの処理を実行する。
Ｓ１５０１では、中継サーバ３００は、現在日時を取得する。中継サーバ３００は、中継サーバ３００に設定された現在日時を取得してもよいし、他の装置から取得してもよい。
Ｓ１５０２では、中継サーバ３００は、履歴情報テーブル１２００から後述するＳ１５０３からＳ１５０７の各処理が未処理の１つのレコードを参照する。
Ｓ１５０３では、中継サーバ３００は、参照しているレコードの最終使用日時１２０９を取得し、Ｓ１５０１で取得した現在日時と比較して経過時間を算出する。つまり、中継サーバ３００は、結合ドキュメントに印刷やＦＡＸ、メールを行ってからどれだけの時間が経過したのかを算出する。
【００５９】
Ｓ１５０４では、中継サーバ３００は、Ｓ１５０３で算出した経過時間に基づいて、参照しているレコードの結合ドキュメントが所定の期間、使用がないか否かを判定する。中継サーバ３００は、予め所定の期間を設定しておき、その期間を超えたか否かで判定してもよいし、それ以外の方法で判定してもよい。中継サーバ３００は、所定の期間使用がないと判定した場合には、Ｓ１５０５に処理を進め、そうでない場合（所定の期間内で使用があると判定された場合）には、Ｓ１５０７に処理を進める。
Ｓ１５０５では、中継サーバ３００は、Ｓ１５０７で所定期間使用がないと判定したので、中継サーバ３００の記憶領域から前記結合ドキュメントを削除する。なお、Ｓ１５０５の処理は、中継サーバ３００の記憶領域に格納されている結合ドキュメントのうち、予め定められた時間以上使用されていないドキュメントを削除する時間管理削除処理の一例である。
Ｓ１５０６では、中継サーバ３００は、前記参照しているレコードを履歴情報テーブル１２００から削除する。中継サーバ３００の記憶領域にも限界があるので、あまり使用されない結合ドキュメントを定期的に削除するような構成にすることで、中継サーバ３００は、記憶領域を効率的に使用することができる。
Ｓ１５０７では、中継サーバ３００は、履歴情報テーブル１２００に格納された全てのレコードについて、Ｓ１５０２からＳ１５０６までの処理が完了したか否かを判定する。中継サーバ３００は、全てのレコードについて処理が完了したと判定した場合には、処理を終了し、そうでない場合には、Ｓ１５０２に処理を戻す。
【００６０】
以上のように、本実施形態では、中継サーバ３００は、結合ドキュメントを中継サーバ３００の記憶領域に記憶しておく。そして、中継サーバ３００は、同じ組み合わせの結合指示をクライアントＰＣ２００から受けた場合には、再結合することなく結合ドキュメントを取得して特定の処理を実行させることができる。また、中継サーバ３００は、あまり使用されていない結合ドキュメントを定期的に削除するようにすることで、記憶領域を効率的に使用することができる。
【００６１】
＜実施形態２＞
以下、実施形態２について説明する。
実施形態１では、中継サーバ３００は、更新フォルダに保存されたドキュメントが結合ドキュメントに含まれていても、中継サーバ３００の記憶領域に保存していた。しかし、中継サーバ３００は、更新フォルダに保存されたドキュメントが結合ドキュメントに含まれる場合には、ドキュメントサーバ１００５から結合ドキュメントを構成する全てのドキュメントを再取得して結合させている。そのため、中継サーバ３００の記憶領域に結合ドキュメントを保存している有意性があまりない。
本実施形態では、中継サーバ３００は、更新フォルダに保存されたドキュメントが結合ドキュメントに含まれている場合には、更新フォルダに保存されたドキュメント以外のドキュメントだけを結合させた結合ドキュメントを中継サーバ３００の記憶領域に保存する。そして、中継サーバ３００は、それを履歴に登録しておくようにする。こうすることで、中継サーバ３００は、更新フォルダに格納されたドキュメントだけを取得すればよいため、送受信の通信量削減と、結合処理の負荷軽減とが実現される。
【００６２】
図１６は、クライアントＰＣ２００から送信されたドキュメントの結合要求に基づく処理の概要の一例を示す図である。
まず、クライアントＰＣ２００は、ドキュメントサーバ１００５に格納された複数のドキュメントから成る結合ドキュメントの印刷要求を、入力デバイスを介してユーザから受け付ける。そして、クライアントＰＣ２００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」を結合した「文書Ａ＋Ｂ＋Ｃ」の印刷要求を中継サーバ３００に送信する。
中継サーバ３００は、クライアントＰＣ２００から「文書Ａ＋Ｂ＋Ｃ」の印刷要求を受け付けると、中継サーバ３００が保持しているデータベースから、要求されたドキュメントの保存先を特定する。中継サーバ３００は、データベースにドキュメント名、サーバ名、格納フォルダ等の情報を記憶しているので、これらの情報を活用してドキュメントの保存先を特定する。中継サーバ３００は、特定した保存先のドキュメントサーバ１００５に対して、前記ドキュメントの取得要求を送信する。
【００６３】
ドキュメントサーバ１００５は、中継サーバ３００からドキュメントの取得要求を受信すると、前記ドキュメントを取得して中継サーバ３００に返送する。
中継サーバ３００は、ドキュメントの取得要求に応じてドキュメントサーバ１００５から送信されてきたドキュメントを全て受信すると、それらを結合して１つのドキュメント（結合ドキュメント）にする。
図１６の例で言えば、中継サーバ３００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」の取得要求を、それぞれのドキュメントを保存しているドキュメントサーバ１００５に送信する。そして、中継サーバ３００は、ドキュメントサーバ１００５から「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」が全て返送されてきた場合、この３つのドキュメントを結合して「文書Ａ＋Ｂ＋Ｃ」を生成する。また、中継サーバ３００は、取得した「文書Ｃ」が更新フォルダに保存されたドキュメントなので、「文書Ｃ」を除いて結合した「文書Ａ＋Ｂ」も生成する。そして、中継サーバ３００は、生成した「文書Ａ＋Ｂ＋Ｃ」と、「文書Ａ＋Ｂ」を中継サーバ３００の記憶領域（例えば外部メモリ２１１）に保存し、「文書Ａ＋Ｂ＋Ｃ」の印刷ジョブを生成してプリンタ１００１に送信する。
【００６４】
図１７は、図１６の処理が行われた後にクライアントＰＣ２００から再度同じ結合ドキュメントの印刷要求が送信された場合の処理の概要の一例を示す図である。
図１６と同様に、まず、クライアントＰＣ２００は、ドキュメントサーバ１００５に保存された結合ドキュメントの取得要求を、入力デバイスを介してユーザから受け付ける。ここでは、クライアントＰＣ２００は、「文書Ａ＋Ｂ＋Ｃ」の印刷要求を受け付けたとする。
中継サーバ３００は、クライアントＰＣ２００からの要求を受け取ると、中継サーバ３００の記憶領域に要求された結合ドキュメントが存在するか否かを判定する。図１７の例で言えば、中継サーバ３００は、図１７で既に「文書Ａ＋Ｂ」を生成して中継サーバ３００の記憶領域に保存しているので、まずはこれを取得する。「文書Ｃ」については、更新フォルダに格納されるドキュメントなので、中継サーバ３００は、ドキュメントサーバ１００５に「文書Ｃ」の取得を要求する。中継サーバ３００は、要求に応じてドキュメントサーバ１００５から「文書Ｃ」を取得すると、中継サーバ３００の記憶領域に保存された「文書Ａ＋Ｂ」と、取得した「文書Ｃ」を結合して、「文書Ａ＋Ｂ＋Ｃ」を生成する。そして、中継サーバ３００は、生成した「文書Ａ＋Ｂ＋Ｃ」をプリンタ１００１に送信する。
以上により、中継サーバ３００は、更新フォルダに格納されたドキュメントについては新しく取得し、それ以外については結合済みのドキュメントを活用できるので、中継サーバ３００における処理負荷を軽減することができる。中継サーバ３００は、以上の処理を完了させると、更新フォルダに格納された「文書Ｃ」が含まれる「文書Ａ＋Ｂ＋Ｃ」を記憶領域から削除する。以下、この仕組みについて説明を行う。
【００６５】
本実施形態におけるシステム構成、ハードウェア構成、モジュール構成については、実施形態１と同様である。また、実施形態１で前述した図７、図１０Ａ、図１０Ｂ、図１５に示すフローチャート、図９Ａ、図９Ｂ、図１２の各種テーブル、図８、図１１、図１３の各種画面例についても同様である。本実施形態における処理は、図１４Ａ、図１４Ｂのフローチャートに示される処理の変形例であるので、この点について説明を行う。
【００６６】
図１８Ａ及び図１８Ｂは、中継サーバ３００がクライアントＰＣ２００からの要求に基づいてドキュメントサーバ１００５からドキュメントを取得し、所定の処理を実行する処理の一例を示すフローチャートである。図１８Ａは、Ｓ１８０１からＳ１８１５までの処理の一例を示すフローチャートである。図１８Ｂは、Ｓ１８１６からＳ１８２４までの処理の一例を示すフローチャートである。
Ｓ１８０１では、中継サーバ３００は、結合指示された対象ドキュメントが、ドキュメント処理画面１１００のドキュメント履歴欄１１０２で選択されたドキュメントであるか否かを判定する。中継サーバ３００は、ドキュメント履歴欄１１０２で選択されたドキュメントであると判定した場合には、Ｓ１８０２に処理を進め、そうでない場合（例えば、ドキュメント一覧１１０１で選択されたドキュメントであると判定された場合等）には、Ｓ１８０４に処理を進める。なお、Ｓ１８０１での処理は、前述したＳ１４１１での処理と同様であるため、詳細な説明を省略する。
Ｓ１８０２では、中継サーバ３００は、ドキュメント履歴欄１１０２で選択された結合ドキュメントを中継サーバ３００の記憶領域から取得する。なお、Ｓ１８０２での処理は、前述したＳ１４１２での処理と同様であるため、詳細な説明を省略する。
【００６７】
Ｓ１８０３では、中継サーバ３００は、ドキュメント履歴欄１１０２に加えて、ドキュメント一覧１１０１でも選択されているか否かを判定する。中継サーバ３００は、ドキュメント一覧１１０１で選択されていると判定した場合には、Ｓ１８０４に処理を進め、そうでない場合には、Ｓ１８１４に処理を進める。なお、Ｓ１８０３での処理は、前述したＳ１４１３での処理と同様であるため、詳細な説明を省略する。
Ｓ１８０４では、中継サーバ３００は、入力デバイスを介したユーザの操作により選択された結合するドキュメントの取得要求を、前記ドキュメントの保存先であるドキュメントサーバ１００５に対して送信する。対象ドキュメントの保存先は、ドキュメント毎に異なるので、中継サーバ３００は、ドキュメント管理テーブル９１０を参照して、対象となるドキュメントサーバ１００５に対して対象ドキュメントの取得要求を送信する。なお、ここで言う対象ドキュメントとは、ドキュメント一覧１１０１で選択されたドキュメント（追加ドキュメントを含む）である。
Ｓ１８０５では、ドキュメントサーバ１００５は、中継サーバ３００から対象ドキュメントの取得要求を受信する。
Ｓ１８０６では、ドキュメントサーバ１００５は、Ｓ１８０５で受信した取得要求に応じて対象ドキュメントを取得する。
Ｓ１８０７では、ドキュメントサーバ１００５は、Ｓ１８０６で取得した対象ドキュメントを中継サーバ３００に送信する。
【００６８】
Ｓ１８０８では、中継サーバ３００は、ドキュメントサーバ１００５から送信された対象ドキュメントを受信する。
Ｓ１８０９では、中継サーバ３００は、Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｃｏｎｖｅｒｓｉｏｎ  Ａｄａｐｔｅｒ４１８を用いて、Ｓ１８０８で受信した対象ドキュメントをＰＤＦデータ形式に変換する。なお、データ形式についての詳細は前述した通りであるため、ここでは説明を省略する。
Ｓ１８１０では、中継サーバ３００は、入力デバイスを介したユーザの操作により選択された全ての対象ドキュメントをドキュメントサーバ１００５から受信したか否かを判定する。中継サーバ３００は、前記全ての対象ドキュメントを受信したと判定した場合には、Ｓ１８１１に処理を進め、そうでない場合には、Ｓ１８０４に処理を戻す。
Ｓ１８１１では、中継サーバ３００は、クライアントＰＣ２００から結合を指示されたドキュメントのうち、更新フォルダに保存されたドキュメントが含まれるか否かを判定する。より具体的には、中継サーバ３００は、選択されたドキュメントのドキュメントサーバ名９１３と、フォルダパス９１４との組み合わせが、更新フォルダ管理テーブル９００に登録されているか否かによって判定する。中継サーバ３００は、更新フォルダに保存されたドキュメントであると判定した場合には、Ｓ１８１２に処理を進め、そうでない場合には、Ｓ１８１４に処理を進める。なお、Ｓ１８１１の処理は、中継サーバ３００の更新ファイル判定処理の一例である。
【００６９】
Ｓ１８１２では、中継サーバ３００は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を用いて、取得した対象ドキュメントのうち、更新フォルダのドキュメントを除いて、取得した対象ドキュメントを全て結合する。つまり、中継サーバ３００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」を取得し、「文書Ｃ」が更新フォルダに保存されたドキュメントだった場合、「文書Ｃ」を除いた「文書Ａ」と、「文書Ｂ」を結合し、「文書Ａ＋Ｂ」を生成する。「文書Ｃ」は更新フォルダに保存されているため、更新される可能性がある。よって、中継サーバ３００は、「文書Ａ＋Ｂ＋Ｃ」を生成しても利用することができない。そのため、中継サーバ３００は、「文書Ｃ」を除いて結合している。なお、中継サーバ３００は、結合ドキュメントのドキュメント名を、対象ドキュメントのドキュメント名９１２を結合したものに変更し、どのドキュメントから構成されているのかを認識しやすくする。例えば、中継サーバ３００は、「文書Ａ」と、「文書Ｂ」を結合した場合には、ドキュメント名を「文書Ａ＋Ｂ」といった表記にする。但し、ドキュメント名はこれに限る必要はない。なお、「文書Ａ＋Ｂ」は、非更新結合ファイルの一例である。
Ｓ１８１３では、中継サーバ３００は、結合したドキュメントを中継サーバ３００の外部メモリ２１１等の所定の記憶領域に保存する。
【００７０】
Ｓ１８１４では、中継サーバ３００は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を用いて、入力デバイスを介したユーザの操作によりクライアントＰＣ２００から指示された対象ドキュメントを同一のファイル形式で全て結合する。例えば、中継サーバ３００が、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」の結合指示をクライアントＰＣ２００から受信した場合について説明する。この場合、中継サーバ３００は、Ｓ１８１２で結合した「文書Ａ＋Ｂ」と、ドキュメントサーバ１００５から取得した「文書Ｃ」を結合して、「文書Ａ＋Ｂ＋Ｃ」を生成する。
Ｓ１８１５では、中継サーバ３００は、Ｓ１８１４で結合した結合ドキュメントを中継サーバ３００の外部メモリ２１１等の所定の記憶領域に保存する。中継サーバ３００は、処理を完了させると、図１８ＢのＳ１８１６に処理を進める。なお、Ｓ１８１２からＳ１８１５までの処理は、中継サーバ３００の作成処理の一例である。
【００７１】
図１８Ｂに説明を移す。
Ｓ１８１６からＳ１８２１までの処理は、前述したＳ１４２３からＳ１４２８までの処理と同様であるので説明を省略する。なお、Ｓ１８１６からＳ１８２１までにおいて各種処理がなされるのは、Ｓ１８１４で結合された結合ドキュメントである。
Ｓ１８２２では、中継サーバ３００は、結合ドキュメントを構成するドキュメントに更新フォルダに保存されたドキュメントが含まれるか否かを判定する。より具体的には、中継サーバ３００は、結合ドキュメントを構成するドキュメントのドキュメントサーバ名９１３と、フォルダパス９１４との組み合わせが、更新フォルダ管理テーブル９００に登録されているか否かを判定する。中継サーバ３００は、更新フォルダに格納されたドキュメントであると判定した場合には、Ｓ１８２３に処理を進め、そうでない場合には、Ｓ１８２４に処理を進める。
Ｓ１８２３では、中継サーバ３００は、前記処理を行った結合ドキュメントを中継サーバ３００の記憶領域から削除する。結合ドキュメントを構成するドキュメントに更新フォルダのドキュメントが含まれる場合、前記ドキュメントは更新される可能性があるので、中継サーバ３００は、ドキュメントサーバ１００５から前記ドキュメントを新たに取得する。そのため、中継サーバ３００は、前記結合ドキュメントを保存しておく意味がないので、Ｓ１８２３で削除してしまう。
Ｓ１８２４では、中継サーバ３００は、結合ドキュメントに関する情報を履歴情報テーブル１２００に登録する。ここで登録する情報は、更新フォルダのドキュメントを含まない結合ドキュメントに関する情報である。つまり、中継サーバ３００は、「文書Ａ」と、「文書Ｂ」と、「文書Ｃ」の結合指示をクライアントＰＣ２００から受信した場合には、Ｓ１８１２で結合した「文書Ａ＋Ｂ」に関する履歴を登録することになる。但し、中継サーバ３００は、処理内容と、その設定とについては、Ｓ１８１６からＳ１８２１までの処理で処理された内容と、設定とを登録する。その他の登録方法については、Ｓ１４２９と同様であるため説明を省略する。
【００７２】
こうすることで、中継サーバ３００は、処理を完了させる毎に履歴を登録しておくことで、次にクライアントＰＣ２００から結合処理が指示された際に、結合済みのドキュメントを取得して処理することができるようになる。更に、中継サーバ３００は、更新フォルダのドキュメントについては履歴として登録しないので、ドキュメント履歴欄１１０２にも表示されなくなる。なお、本実施形態では、中継サーバ３００は、更新フォルダのドキュメントを除いて履歴に登録するが、更新フォルダのドキュメントも含めて登録するようにしてもよい。この場合には、ドキュメント履歴欄１１０２に更新フォルダのドキュメントも含めた結合ドキュメントが表示されるが、中継サーバ３００の記憶領域に記憶されているのは、更新フォルダのドキュメントを除いた結合ドキュメントである。よって、中継サーバ３００は、ドキュメント履歴欄１１０２で更新フォルダのドキュメントも含めた結合ドキュメントが選択された場合には、更新フォルダのドキュメントをドキュメントサーバ１００５から取得する。そして、中継サーバ３００は、ドキュメントサーバ１００５から取得した更新フォルダのドキュメントと、中継サーバ３００に記憶された結合済みのドキュメントとを結合することで、結合ドキュメントを生成すればよい。
【００７３】
以上のように、本実施形態では、中継サーバ３００は、結合対象のドキュメントに更新フォルダに保存されたドキュメントが含まれている場合、更新フォルダに保存されたドキュメント以外のドキュメントだけを結合させる。そして、中継サーバ３００は、結合させた結合ドキュメントを記憶領域に保存し、更に、履歴に登録しておくようにする。こうすることで、中継サーバ３００は、更新フォルダに保存されたドキュメントだけを毎回取得するようにすることができ、それ以外については結合ドキュメントとして保存しておくことができる。これにより、送受信の通信量削減と、結合処理の負荷軽減とが実現される。
【００７４】
＜実施形態３＞
以下、実施形態３について説明する。
実施形態１、実施形態２では、中継サーバ３００は、結合ドキュメントに対して１つの処理しか実行できなかったのに対し、本実施形態では、複数の処理を選択できる場合を想定している。例えば、中継サーバ３００は、「文書Ａ＋Ｂ＋Ｃ」を取得して、「印刷」と、「ＦＡＸ」と、「メール」を送信する場合、従来であれば１つの処理を行う度に、ドキュメントサーバ１００５からドキュメントを取得する必要があった。しかし、本実施形態では、中継サーバ３００は、結合ドキュメントがあれば、それを用いて複数の処理を全て実行させることができる。以下、この説明を行う。
【００７５】
図１９は、クライアントＰＣ２００と、中継サーバ３００における認証処理等の一例を示すフローチャートである。
クライアントＰＣ２００は、Ｗｅｂブラウザを介してユーザからのアクセスリクエストを検知すると、図１９の処理を開始する。
Ｓ１９００では、クライアントＰＣ２００は、中継サーバ３００へアクセスし、中継サーバ３００にアクセスリクエストを送信する。
Ｓ１９０１では、中継サーバ３００は、アクセスリクエストを受信する。
Ｓ１９０２では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、図２０のログインページを表示するための情報をクライアントＰＣ２００へ送信する。図２０は、ログインページの一例を示す図である。
【００７６】
Ｓ１９０３では、クライアントＰＣ２００は、ログインページを受信する。
Ｓ１９０４では、クライアントＰＣ２００は、図２０のログインページの画面をＣＲＴ２１０上に表示する。
Ｓ１９０５では、クライアントＰＣ２００は、Ｓ１９０４で表示されたログインページで、ユーザによる認証のための情報（以下、ログイン情報）等の入力と、図２０のログインボタンの入力とを待つ。
Ｓ１９０６では、クライアントＰＣ２００は、ユーザによる図２０のログインボタンの押下を受信する。
Ｓ１９０７では、クライアントＰＣ２００は、Ｓ１９０６におけるログインボタンの押下を検知すると、Ｓ１９０５で入力を受け付けたログイン情報（例えば、ユーザ名、パスワード、認証ドメイン等）を中継サーバ３００に対して送信する。
【００７７】
Ｓ１９０８では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、クライアントＰＣ２００からログイン情報を受信する。
Ｓ１９０９では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１７を呼び出して、受信したログイン情報を渡す。Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１７は、ログイン情報が正しいことを確認すると、前記ログイン情報に対応するユーザのファイルやフォルダに対するアクセス権に関する情報（以下、アクセス権情報）を確認する。そして、Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１７は、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１に対して各ドキュメントに設定されているアクセス権情報を通知する。
【００７８】
Ｓ１９１０では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、通知されたアクセス権情報に基づき、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６に対し、そのユーザがアクセス可能なファイルのリスト（以下、ファイルリスト）の取得を要求する。そして、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６から前記ファイルリストを取得する。更に、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、取得した前記ファイルリストに基づき、図２１で示すページ（以降、リストページと言う場合がある）を構成する。図２１は、クライアントＰＣ２００のＣＲＴ２１０に表示されるリストページ（画面表示）の一例を示す図である。
ファイルリストは、中継サーバ３００のＣｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６が各ドキュメントに対してユーザ毎にアクセス権や保存場所を管理しているリストである。なお、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６は、定期的にドキュメントサーバ１００５等のドキュメントを保存する装置に対してアクセスしている。そして、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６は、各ドキュメントに対するユーザ毎にアクセス権や保存場所を管理している。
【００７９】
Ｓ１９１１では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、そのリストページ（表示画面）をクライアントＰＣ２００に対して送信する。
Ｓ１９１２では、クライアントＰＣ２００は、中継サーバ３００から送信されたリストページを受信する。
Ｓ１９１３では、クライアントＰＣ２００は、受信したリストページをクライアントＰＣ２００のＣＲＴ２１０へ表示する。
Ｓ１９１４では、クライアントＰＣ２００は、図２１に示す各種チェックボックス、その他に関するユーザの入力を受け付ける。
【００８０】
Ｓ１９１５では、クライアントＰＣ２００は、入力デバイスを介したユーザの操作により図２１の送信ボタンが押下されるのを待つ。そして、クライアントＰＣ２００は、入力デバイスを介したユーザの操作による送信ボタンの押下を受信する。
ここで、図２１のリストページについて説明する。
列２７０８には、ユーザが送信を許可されているドキュメント名が表示されている。
列２７０９には、ドキュメントのフォーマットが表示されている。これらの属性は、ドキュメントサーバ１００５のデータベースや、Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ａｄａｐｔｅｒ４１６が収集した情報から取得されて表示される。
ユーザは、列２７１０ではプリント、列２７１１ではファックス、列２７１２ではＥ−Ｍａｉｌ、列２７１３ではファイルのネットワーク送信を、ドキュメント毎にチェックボックスで指定できるようになっている。例えば、図２１では、ドキュメント名が「ＮＤＡ」のドキュメントは、ファイルフォーマットがワードプロセッサアプリのファイル形式である「ＤＯＣ」であり、プリントと同時にＥ−Ｍａｉｌにより、他へ転送されるように指定されている。また、この画面で、ユーザは、１つ又は複数のファイルに対して、プリント、ファックス、Ｅ−Ｍａｉｌ、ファイル送信の全て又はその一部の複数の送信方法（転送方法）を指定することができる。
【００８１】
ユーザは、欄２７０１から欄２７０７までと、欄２７１４とで、それぞれの転送方法毎に、転送先に関する属性や、その他の設定をすることができる。例えば、欄２７０２は、転送先のプリンタオブジェクト、即ち、プリンタドライバと、ポートの組に対応し、ユーザは、複数のプリンタオブジェクトから１つのプリンタオブジェクトを選択することができる。同様に、ユーザは、欄２７０１でファックスオブジェクトを指定することができる。また、ユーザは、欄２７０３でファックスオブジェクトに呼び出させたいファックス番号を指定することができる。
Ｅ−Ｍａｉｌ送信に関して、ユーザは、欄２７１４で、Ｅ−Ｍａｉｌアドレスを指定することができる。ユーザは、欄２７０４で、列２７１２でファイルを複数指定した場合、ファイルを結合して転送すべきか否かを指定することができる。
ファイルのネットワーク送信に関して、ユーザは、欄２７０６で、ファイルの転送プロトコル、例えば、ＦＴＰやＳＭＢ等を指定することができる。また、ユーザは、欄２７０７で、ファイルのパスやＵＲＩを指定することができる。更に、ユーザは、欄２７０５で、欄２７０４と同様に、ファイルのネットワーク送信におけるファイルの結合の要否を指定することができる。
【００８２】
Ｓ１９１６では、クライアントＰＣ２００は、Ｓ１９１４で受け付けたユーザの入力情報に基づき、中継サーバ３００のＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１に送信するメッセージの情報（以下、メッセージ情報）を作成する。そして、クライアントＰＣ２００は、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１に対して前記メッセージ情報（例えば、図２２のような情報）を送信する。
図２２は、クライアントＰＣ２００からＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１へ送信されるメッセージ情報の一例を示す図である。
メッセージ情報２８０１から２８１３までは、通信の管理に用いられる情報である。
メッセージ情報２８１４は、図２１の入力内容に応じて生成されている。即ち、図２１の５つのドキュメントは、プリントするよう指定されている。また、列２７０８のＮＤＡと、ＮＤＡ  Ｓｕｐｐｌｅｍｅｎｔとに対応するドキュメントは、Ｅ−Ｍａｉｌするよう指定されている。ここでは、ファックスやネットワークファイル送信は指定されていないためにそれらに関連する値が空になっているが、もちろん指定された場合は、それらが値として指定される。また、プリントに関しては、送信先のプリンタオブジェクトが指定されている。Ｅ−Ｍａｉｌに関しては、送信先のメールアドレスが指定されている。なお、メッセージ情報２８１４において、「ＥｍａｉｌＭｅｒｇｅ」は、Ｅ−Ｍａｉｌの転送において、列２７１２で複数のファイルが指定された場合、これらを結合するか否かを示す。図２１の欄２７０４がチェックされている場合には「１」の値が、チェックされていない場合には「空」（例えば、ＮＵＬＬ）の値が入る。また、同様に「ＦｉｌｅＭｅｒｇｅ」に関しては、図２１の欄２７０５にチェックがされている場合には「１」の値が、チェックされていない場合には「空」の値が入ることになる。
Ｓ１９１７では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、Ｓ１９１６において送信されたメッセージ情報を受信すると、図２３のＳ２０００に処理を進める。
【００８３】
図２３は、本実施形態の印刷処理の一例を示すフローチャートである。図２３のＡは、図１９のＡに対応する。
Ｓ２０００では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、そのメッセージ情報に基づき、ＢＰＥＬ  Ｐｒｏｃｅｓｓをコールする。
Ｓ２００１では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１からリクエストを受信する。
図２４は、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１からＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２へ送信されるリクエスト情報の一例を示す図である。
クライアントＰＣ２００は、図２１のような入力がクライアントＰＣ２００のブラウザのＵＩで行われた場合、これに基づき、図２２のようなデータを生成し、そのデータをＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１へ送信する。そして、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、受信した図２２のようなデータに基づき、図２４のようなデータを生成し、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２に送信する。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、図２４のデータを解釈して必要なアダプタを呼び出す。例えば、各アダプタが呼び出されると、各アダプタに対応したファックスドライバ、プリンタドライバ、Ｅ−Ｍａｉｌ送信プログラム、ネットワークファイル送信アプリケーションが動作し、データの送信処理が行なわれる。
【００８４】
図２４について詳細に説明すると、「＜ｄｏｃｓ＞＜／ｄｏｃｓ＞」タグで囲まれた２９０１では、５つのドキュメントが指定されている。１つめのドキュメントは、ドキュメント名が「ＮＤＡ」、ドキュメントタイプが「ＤＯＣ」、つまり、ワードプロセッサアプリ形式のファイルである。２つめのドキュメントは、ドキュメント名が「ＮＤＡ  Ｓｕｐｐｌｅｍｅｎｔ」、ドキュメントタイプが同じく「ＤＯＣ」である。３つめのドキュメントは、ドキュメント名が「Ｅｎｔｅｒｐｒｉｓｅ  Ｉｍａｇｉｎｇ」、ドキュメントタイプが「ＰＤＦ」である。４つめのドキュメントは、ドキュメント名が「ＭＦＰ  Ｅｍｂｅｄｄｅｄ」、ドキュメントタイプが「ＪＰＧ」である。５つめのドキュメントは、ドキュメント名が「Ｐｒｉｃｅ  Ｌｉｓｔ」、ドキュメントタイプが表計算アプリケーションのファイルフォーマットである「Ｓｈｅｅｔ」である。
「＜ｓｅｎｄＤｏｃｓ＞＜／ｓｅｎｄＤｏｃｓ＞」タグで囲まれた２９０２では、転送方法の一例が示されており、ドキュメント１、２、３、４、５をプリントせよ、つまり、プリンタ等へ転送せよという指定になっている。ここでは、ファックス指定されているドキュメントは無く、ドキュメント１、２は、Ｅ−Ｍａｉｌするよう指定されている。ファイルをネットワーク送信するよう指定されているドキュメントは無い。
【００８５】
「＜ｓｅｎｄＳｅｔｔｉｎｇｓ＞＜／ｓｅｎｄＳｅｔｔｉｎｇｓ＞」タグで囲まれた２９０３では、それぞれの送信方法において、送信設定が指定されている。例えば、「＜ｐｒｉｎｔ＞＜／ｐｒｉｎｔ＞」タグでは、プリンタオブジェクト名が指定されている。「＜ｆａｘ＞＜／ｆａｘ＞」タグでは、ファックスオブジェクトが指定されている。「＜ａｄｄｒｅｓｓ＞＜／ａｄｄｒｅｓｓ＞」では、Ｅ−Ｍａｉｌのアドレスが指定されている。その中の「＜ｍｅｒｇｅ＞＜／ｍｅｒｇｅ＞」タグでは、複数のファイルが「＜ｓｅｎｄＤｏｃｓ＞」で指定されている場合であって、Ｅ−Ｍａｉｌ送信指定されている複数のファイルの結合の要否が指定されている。「＜ｆｉｌｅ＞＜／ｆｉｌｅ＞」タグでは、ファイルの転送プロトコル（例えば、ＳＭＢやＦＴＰ等）、ファイルのパス又はＵＲＩが指定されている。その中の「＜ｍｅｒｇｅ＞＜／ｍｅｒｇｅ＞」タグでは、複数のファイルが「＜ｓｅｎｄＤｏｃｓ＞」で指定されている場合であって、ネットワーク送信を指定されている複数のファイルの結合の要否が指定されている。以降、図２４のデータを指定メッセージと言う場合がある。
【００８６】
Ｓ２００１に続いて、Ｓ２００２では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、プリントを指示されたファイルを取得する。この処理は、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２が指定メッセージを解析、例えば図２４の２９０１、２９０２、２９０３のようなメッセージを解析することで行なわれる。以下の処理も同様である。
Ｓ２００３では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２００２で取得したファイルが１つ以上であるか否かを判定する。つまり、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルがあるか否かを判定することになる。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つ以上あると判定した場合、Ｓ２００４に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つもないと判定した場合、後述する図２５のＢに処理を進める。
Ｓ２００４では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ファイルフォーマットの変換処理を行ない、Ｓ２００５に処理を進める。なお、ファイルフォーマット変換処理の詳細については、図３０を用いて後述する。
【００８７】
Ｓ２００５では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２００２で取得したファイルが２つ以上であるか否かを判定し、２つ以上であると判定した場合、Ｓ２００６に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、２つ以上でないと判定した場合、Ｓ２００７に処理を進める。
Ｓ２００６では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を呼び出し、ファイルの結合処理をＰＤＦ  Ａｄａｐｔｅｒ４１５に実行させる。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、処理結果として結合されたＰＤＦをＰＤＦ  Ａｄａｐｔｅｒ４１５から取得し、中継サーバ３００の所定のフォルダに保存する。
Ｓ２００７では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されたファイル又は１つのファイルを印刷するようＰｒｉｎｔ  Ａｄａｐｔｅｒ４１１へ指示をする。Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１は、指定されたファイルを指定されたプリンタオブジェクトに対応するプリンタドライバへ入力する。プリンタドライバは、与えられたファイルを解析して印刷データを作成し、プリンタドライバに指定されている印刷先（ポートに対応するプリンタ１００１又は１００２等）に対して印刷データを送信して印刷させる。そして、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、後述する図２５のＢに処理を進める。
【００８８】
図２５は、本実施形態のファックス送信処理の一例を示すフローチャートである。
Ｓ２１０１では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ファックス送信を指示されたファイルを取得する。この処理は、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２が指定メッセージを解析、例えば図２４の２９０１、２９０２、２９０３のようなメッセージを解析、することで行なわれてもよい。以下の処理も同様である。
Ｓ２１０２では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２１０１で取得したファイルが１つ以上であるか否かを判定する。つまり、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルがあるか否かを判定する。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つ以上あると判定した場合、Ｓ２１０３に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つもないと判定した場合、後述する図２６のＣに処理を進める。
【００８９】
Ｓ２１０３では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ファイルフォーマットの変換処理を行ない、Ｓ２１０１で取得したファイルをファックス可能なフォーマットへと変換し、Ｓ２１０４に処理を進める。なお、ファイルフォーマット変換処理の詳細については、図３０を用いて後述する。
Ｓ２１０４では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２１０１で取得したファイルが２つ以上であるか否かを判定し、２つ以上であると判定した場合、Ｓ２１０５に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、２つ以上でないと判定した場合、Ｓ２１０８に処理を進める。
Ｓ２１０５では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが既に結合されているか否かを確認し、結合されていると判定した場合、Ｓ２１０６に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されていないと判定した場合、Ｓ２１０７に処理を進める。より具体的には、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、前述したＳ２００６や、後述するＳ２１０７、Ｓ２２０８、Ｓ２３０８で結合処理が行われるので、この結合結果が所定のフォルダに存在するか否かを確認する。
【００９０】
Ｓ２１０６では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されたファイルを所定のフォルダから取得し、Ｓ２１０８に処理を進める。
Ｓ２１０７では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を呼び出し、ファイルの結合処理をＰＤＦ  Ａｄａｐｔｅｒ４１５に実行させ、所定のフォルダに保存し、Ｓ２１０８に処理を進める。
Ｓ２１０８では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＦＡＸ  Ａｄａｐｔｅｒ４１２を呼び出し、Ｓ１９１５でユーザの操作により選択された結合されたファイル又は１つのファイルを指定されたファックスオブジェクトに対してファックス番号を指定して送信する。なお、Ｓ２１０８では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、必要なフォーマット変換処理等も行う場合がある。そして、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、後述する図２６のＣに処理を進める。
【００９１】
図２６は、本実施形態のＥ−Ｍａｉｌ送信処理の一例を示すフローチャートである。
Ｓ２２０１では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｅ−Ｍａｉｌ送信を指示されたファイルを取得する。この処理は、ＢＰＥＬ  Ｐｒｏｃｅｓｓ
Ａｐｐｌｉｃａｔｉｏｎ４２２が指定メッセージを解析、例えば図２４の２９０１、２９０２、２９０３のようなメッセージを解析することで行なわれてもよい。以下の処理も同様である。
Ｓ２２０２では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２２０１で取得したファイルが１つ以上である否かを判定する。つまり、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルがあるか否かを判定することになる。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つ以上あると判定した場合、Ｓ２２０３に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つもないと判定した場合、後述する図２７のＤに処理を進める。
【００９２】
Ｓ２２０３では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合オプションが指定されているか否かを判定し、指定されていると判定した場合、Ｓ２２０４に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されていないと判定した場合、Ｓ２２０９に処理を進める。より具体的には、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、クライアントＰＣ２００から受信したメッセージ内にある、図２１の２７０４が指定されているか否かを示す情報を確認することにより判定する。
Ｓ２２０９では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルの送信処理を行ない、後述する図２７のＤに処理を進める。
Ｓ２２０４では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、必要なファイルフォーマットの変換処理を行い、Ｓ２２０５に処理を進める。なお、ファイルフォーマット変換処理の詳細については、図３０を用いて後述する。
Ｓ２２０５では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２２０１で取得したファイルが２つ以上であるか否かを判定し、２つ以上であると判定した場合、Ｓ２２０６に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、２つ以上でないと判定した場合、Ｓ２２０９に処理を進める。
【００９３】
Ｓ２２０６では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが既に結合されているか否かを判定し、結合されていると判定した場合、Ｓ２２０７に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されていないと判定した場合、Ｓ２２０８に処理を進める。Ｓ２２０６におけるＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２による処理の詳細は、前述したＳ２１０５と同様であるため、詳細な説明を省略する。
Ｓ２２０７では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されたファイルを所定のフォルダから取得し、Ｓ２２０９に処理を進める。
Ｓ２２０８では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を呼び出し、ファイルの結合処理をＰＤＦ  Ａｄａｐｔｅｒ４１５に実行させ、所定のフォルダに保存し、Ｓ２２０９に処理を進める。
Ｓ２２０９では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｅ−Ｍａｉｌ  Ａｄａｐｔｅｒ４１４を呼び出し、Ｓ１９１５でユーザの操作により選択された結合されたファイル又は１つのファイルを指定されたＥ−Ｍａｉｌアドレスを指定して送信する。そして、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、後述する図２７のＤに処理を進める。
【００９４】
図２７は、ファイル管理又はファイル転送プロトコルを使用したファイル送信処理の一例を示すフローチャートである。
Ｓ２３０１では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、所定のファイル管理又はファイル転送プロトコルを用いてファイルをネットワーク送信するよう指示されたファイルを取得する。この処理は、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２が指定メッセージを解析、例えば図２４の２９０１、２９０２、２９０３のようなメッセージを解析することで行なわれてもよい。以下の処理も同様である。
Ｓ２３０２では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２３０１で取得したファイルが１つ以上であるか否かを判定する。つまり、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルがあるか否かを判定することになる。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つ以上あると判定した場合、Ｓ２３０３に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが１つもないと判定した場合、後述する図２８のＥに処理を進める。
【００９５】
Ｓ２３０３では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合オプションが指定されているか否かを判定し、指定されていると判定した場合、Ｓ２３０４に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されていないと判定した場合、Ｓ２３０９に処理を進める。Ｓ２３０３でのＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２による処理の詳細は、前述したＳ２２０３での処理と同様であるため、詳細な説明を省略する。
Ｓ２３０９では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルの送信処理を行ない、後述する図２８のＥに処理を進める。
Ｓ２３０４では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、必要なファイルフォーマットの変換処理を行い、Ｓ２３０５に処理を進める。なお、ファイルフォーマット変換処理の詳細については、図３０を用いて後述する。
Ｓ２３０５では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ２３０１で取得したファイルが２つ以上であるか否かを判定し、２つ以上であると判定した場合、Ｓ２３０６に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、２つ以上でないと判定した場合、Ｓ２３０９に処理を進める。
【００９６】
Ｓ２３０６では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、指定されたファイルが既に結合されているか否かを確認し、結合されていると判定した場合、Ｓ２３０７に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されていないと判定した場合、Ｓ２３０８に処理を進める。Ｓ２３０６でのＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２による処理の詳細は、前述したＳ２１０５、Ｓ２２０６と同様であるため、詳細な説明を省略する。
Ｓ２３０７では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、結合されたファイルを所定のフォルダから取得し、Ｓ２３０９に処理を進める。
Ｓ２３０８では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、ＰＤＦ  Ａｄａｐｔｅｒ４１５を呼び出し、ファイルの結合処理をＰＤＦ  Ａｄａｐｔｅｒ４１５に実行させ、所定のフォルダに保存し、Ｓ２３０９に処理を進める。
Ｓ２３０９では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｅ−Ｍａｉｌ  Ａｄａｐｔｅｒ４１４を呼び出し、Ｓ１９１５でユーザの操作により選択された結合されたファイル又は１つのファイルを指定されたファイル管理プロトコル又はファイル転送プロトコルを利用して送信する。そして、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、後述する図２８のＥに処理を進める。
【００９７】
図２８は、本実施形態における完了メッセージのやり取りの一例を示すフローチャートである。
Ｓ２４０１では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、図２９に示すような処理結果を含むレスポンスをＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１へ返す。
図２９は、処理結果を含むレスポンス情報の一例を示す図である。
図２９の３００１は、処理完了メッセージを示す。また、図２９の３００２は、エラーメッセージを示す。
Ｓ２４０２では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２からレスポンスを受信する。
Ｓ２４０３では、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、図２９に示す情報に基づくメッセージをクライアントＰＣ２００に対して送信する。
Ｓ２４０４では、クライアントＰＣ２００は、中継サーバ３００からのメッセージを受信する。
Ｓ２４０５では、クライアントＰＣ２００は、Ｓ２４０４で受信したメッセージに基づき、ブラウザを使って処理結果（例えば、図２９の３００１や３００２に示される情報）を表示する。
【００９８】
図３０は、図２３、図２５、図２６、図２７で実行され得る、ファイルフォーマット変換処理の一例を示すフローチャートである。
Ｓ２５０１では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、非ＰＤＦファイルがＳ１９１５でユーザの操作により１つでも指定されているか否かを判定し、指定されていると判定した場合、Ｓ２５０２に処理を進める。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、１つも指定されていないと判定した場合、処理を終了する。
Ｓ２５０２では、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｆｉｌｅ  Ｆｏｒｍａｔ  Ｃｏｎｖｅｒｓｉｏｎ  Ａｄａｐｔｅｒ４１８を呼び出して、指定された非ＰＤＦファイルのＰＤＦへの変換処理を行なう。
Ｓ２５０３で、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、Ｓ１９１５でユーザの操作により選択された全ての非ＰＤＦファイルがＰＤＦファイルへ変換されたか否かを判定する。ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、全ての非ＰＤＦファイルがＰＤＦファイルに変換されたと判定した場合、処理を終了する。一方、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、全ての非ＰＤＦファイルがＰＤＦファイルに変換されていないと判定した場合、Ｓ２５０３で処理待ちとなる。この際、ＢＰＥＬ  Ｐｒｏｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ４２２は、タイマーをセットして所定時間後にエラー処理となるようにしてもよい。
【００９９】
なお、フォーマット変換を使用しない場合、上述の仕様に下記の制限を加えるようにしてもよい。例えば、図１９のＳ１９１０でＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１がリストページを作成する際に、共通のフォーマットを使用するようにしてもよい。共通のフォーマットとは、Ｐｒｉｎｔｅｒ  Ａｄａｐｔｅｒ４１１、Ｆａｘ  Ａｄａｐｔｅｒ４１２、Ｅ−Ｍａｉｌ  Ａｄａｐｔｅｒ４１４、Ｆｉｌｅ  Ａｄａｐｔｅｒ４１３の全てで処理可能な共通の１つのフォーマットのことである。例えば、Ｓ１９１０で、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、ＰＤＦファイルだけしか表示しないようにするリストページを作成するようにしてもよい。この場合、Ｓ１９１０で、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、図２１の代りに図３１のような画面を表示させるための情報を生成する。
これにより、ＧＵＩ  Ａｐｐｌｉｃａｔｉｏｎ４２１は、Ｐｒｉｎｔｅｒ  Ａｄａｐｔｅｒ４１１、Ｆａｘ  Ａｄａｐｔｅｒ４１２、Ｅ−Ｍａｉｌ  Ａｄａｐｔｅｒ４１４、Ｆｉｌｅ  Ａｄａｐｔｅｒ４１３の全てに対してＰＤＦデータを送信可能となる。
この実施例では、ユーザは、送信したいファイルをチェックし、ファックスオブジェクト、プリンタオブジェクト、メールアドレス又はファイル送信のパスを指定することで、指定したファイルを指定した転送方法で送信指示することができるようになる。もちろん、ユーザは、プリンタオブジェクト、ファックスオブジェクト、メールアドレス又はファイル送信のパスの全て又はこの中の一部を指定して、指定した少なくとも１以上のファイルの転送指示をするようにしてもよい。
【０１００】
以上のように、本実施形態では、中継サーバ３００は、１つの結合ドキュメントに対して、複数の処理を実行させることができる。例えば、中継サーバ３００は、取得した結合ドキュメント「文書Ａ＋Ｂ＋Ｃ」に対して、「印刷」と、「ＦＡＸ」と、「メール」との複数の処理を全て実行させることができる。
【０１０１】
＜実施形態４＞
以下、実施形態４について説明する。
実施形態１、２では、ユーザに選択された組み合わせの結合ドキュメントが中継サーバ３００に存在しない場合（ドキュメント履歴欄１１０２から選択されなかった場合）には、中継サーバ３００は、ドキュメントサーバ１００５から取得した対象ドキュメントを結合して結合ドキュメントを生成した。そして、中継サーバ３００は、生成した結合ドキュメントを用いて指示された処理（印刷、ＦＡＸ、メール等）を実行していた。
しかしながら、対象ドキュメントを含む結合ドキュメントが中継サーバ３００に保存されている場合でも、ユーザに選択された組み合わせの結合ドキュメントが存在しなければ、中継サーバ３００は、ドキュメントサーバ１００５から対象ドキュメントを取得してしまう問題がある。ユーザに選択された組み合わせの結合ドキュメントが中継サーバ３００に存在しなくても、ユーザに選択された対象ドキュメントを含む結合ドキュメントが存在するのであれば、中継サーバ３００は、これを活用することで中継サーバ３００に保存されている結合ドキュメントを有効活用することができる。
【０１０２】
特に、印刷やＦＡＸの場合、従来からプリンタドライバやファックスドライバの仕組みとしてページを指定して印刷したりＦＡＸしたりすることができる。この場合、ユーザは、選択した対象ドキュメントを含む結合ドキュメントにおけるページのうち、当該対象ドキュメントに相当するページを指定して、印刷又はＦＡＸを指示する。これにより、中継サーバ３００は、ドキュメントサーバ１００５から対象ドキュメントを取得することなく、かつ、結合ドキュメントを分割して新たな結合ドキュメントを生成することなく、ユーザから指示された処理を実行することができる。以下、この説明を行う。
本実施形態におけるシステム構成、ハードウェア構成、モジュール構成については、実施形態１と同様である。また、実施形態１で前述した図７、図１０Ａ、図１０Ｂ、図１４Ｂ、図１５に示すフローチャート、図９Ａ、図１２の各種テーブル、図８、図１１、図１３の各種画面例についても実施形態１と同様である。本実施形態における処理は、図１４Ａのフローチャートに示される処理の変形例、及び図１４Ａの変形例の続きの処理であるので、この点について説明を行う。
【０１０３】
図３２は、中継サーバ３００がクライアントＰＣ２００からの要求に基づいてドキュメントサーバ１００５からドキュメントを取得し、所定の処理を実行する処理の一例を示すフローチャートである。図３２は、Ｓ１４０１からＳ１４１２まで、及びＳ３２０１の処理の一例を示すフローチャートである。
Ｓ１４０１からＳ１４１２までの処理は、前述した図１４Ａと同様であるので、説明を省略する。
Ｓ３２０１では、中継サーバ３００は、結合指示された対象ドキュメントが、ドキュメント処理画面１１００のドキュメント履歴欄１１０２で選択されたドキュメントであるか否かを判定する。中継サーバ３００は、ドキュメント履歴欄１１０２で選択されたドキュメントであると判定した場合には、Ｓ１４１２に処理を進め、そうでないと判定した場合（ドキュメント一覧１１０１で選択されたドキュメントであると判定した場合等）には、図３３のＳ３３０１に処理を進める。
【０１０４】
前記対象ドキュメントがドキュメント履歴欄１１０２で選択されたドキュメントであれば、既に中継サーバ３００の外部メモリ２１１等に選択された組み合わせの結合ドキュメントが保存されているはずである。したがって、中継サーバ３００は、保存されている結合ドキュメントを用いて印刷等の処理を実行すればよい。一方、対象ドキュメントがドキュメント履歴欄１１０２で選択されていないドキュメントであれば、中継サーバ３００の外部メモリ２１１等には選択された組み合わせの結合ドキュメントが保存されていない可能性が高い。この場合であっても、中継サーバ３００は、選択された対象ドキュメントを含む結合ドキュメントが保存されていれば、これを活用する。詳細については、図３３を用いて後述する。
【０１０５】
図３３は、中継サーバ３００が中継サーバ３００の外部メモリ２１１等に保存されている結合ドキュメントを用いて、所定の処理を実行する処理の一例を示すフローチャートである。図３３は、Ｓ３３０１からＳ３３０７までの処理の一例を示すフローチャートである。
Ｓ３３０１では、中継サーバ３００は、ユーザに指示された処理内容がページ指定で処理可能なものであるか否かを判定する。より具体的には、中継サーバ３００は、前述したＳ１０２０で受信した処理種別を用いて印刷又はＦＡＸが指示されたか否かを判定する。中継サーバ３００は、ページ指定で処理可能なものであると判定した場合には、Ｓ３３０２に処理を進め、そうでない場合（ページ指定で処理可能でない場合）には、Ｓ１４０２に処理を進める。
【０１０６】
Ｓ３３０２では、中継サーバ３００は、ユーザに選択された対象ドキュメントを全て含む結合ドキュメントが当該ユーザの履歴に存在するか否かを判定する。より具体的には、中継サーバ３００は、ユーザに選択された全ての対象ドキュメントを含む結合ドキュメントを履歴情報テーブル１２００から検索する。
履歴情報テーブル１２００の結合ドキュメント１２０３から１２０５までには、結合ドキュメントを構成する対象ドキュメントのドキュメント名が格納されている。したがって、中継サーバ３００は、対象ドキュメントを選択したユーザのユーザＩＤ１２０２に該当するレコードのうち、ユーザに選択された対象ドキュメントのドキュメント名が結合ドキュメント１２０３から１２０５までに含まれるレコードを検索する。
【０１０７】
中継サーバ３００がユーザに選択された対象ドキュメントを全て含む結合ドキュメントを検索しているのは、１つのジョブとして実行する必要があるからである。例えばプリンタ１００１やプリンタ１００２で印刷をする場合、対象ドキュメントが複数の結合ドキュメントに含まれていると、その複数の結合ドキュメントそれぞれに対してページ指定で印刷を実行することになる。すると、印刷ジョブが複数生成されることになってしまい、印刷のタイミングによっては他人の印刷ジョブが割り込んでしまう可能性もある。このため、自分の印刷物が他人の印刷物と混在してしまう可能性がある。またＦＡＸを送信する場合も、同様である。
これらの問題点を解決するため、中継サーバ３００は、ユーザに選択された対象ドキュメントを全て含む結合ドキュメントの有無を判定している。中継サーバ３００は、ユーザに選択された対象ドキュメントを全て含む結合ドキュメントが存在すると判定した場合には、Ｓ３３０３に処理を進め、そうでない場合（ユーザに選択された対象ドキュメントを全て含む結合ドキュメントが存在しない場合）には、Ｓ１４０２に処理を進める。
【０１０８】
Ｓ３３０３では、中継サーバ３００は、結合ドキュメントに対して所定の処理を実行するページ番号を特定する。より具体的には、中継サーバ３００は、Ｓ３３０２で検索した結果特定した、全ての対象ドキュメントを含む結合ドキュメントを構成するドキュメントのページ数をドキュメント管理テーブル９１０から取得し、この情報を用いてページ番号を特定する。本実施形態のドキュメント管理テーブル９１０を図３４に示す。図３４のドキュメント管理テーブル９１０は、前述した図９Ｂと同様であるが、ページ数３４０１を更に含んでいる。ページ数３４０１は、ドキュメントを構成するページの総数を示す情報である。
【０１０９】
例えば、「ＵｓｅｒＡ」に選択された対象ドキュメントが「広告Ｃ」と「集計表Ｆ」であった場合を例に説明する。図１２に示す履歴情報テーブル１２００の１レコード目を参照すると、これらの対象ドキュメントを含む結合ドキュメントが存在することがわかる。そして、中継サーバ３００は、この１レコード目に示す各対象ドキュメントのページ数を図３４に示すドキュメント管理テーブル９１０のページ数３４０１から取得すると、「表紙Ａ」が「２」、「広告Ｃ」が「５」、「集計表Ｆ」が「９」となる。つまり、この結合ドキュメントのページ構成は、１ページ目から２ページ目までが「表紙Ａ」、３ページ目から７ページ目までが「広告Ｃ」、８ページ目から１６ページ目までが「集計表Ｆ」であることがわかる。「ＵｓｅｒＡ」に選択された対象ドキュメントは「広告Ｃ」と「集計表Ｆ」であるので、中継サーバ３００は、これらの対象ドキュメントに相当するページ番号として、３ページ目から７ページ目までと、８ページ目から１６ページ目までを特定する。
【０１１０】
Ｓ３３０４では、中継サーバ３００は、処理内容欄１１０３で選択された処理が「印刷」であるか否かを判定する。より具体的には、中継サーバ３００は、前述したＳ１０２０で処理種別を受信しているので、この情報に基づいて処理内容欄１１０３で選択された処理が「印刷」であるか否かを判定する。中継サーバ３００は、「印刷」であると判定した場合には、Ｓ３３０５に処理を進め、そうでない場合（例えば、処理内容欄１１０３で選択された処理がＦＡＸであった場合等）には、Ｓ３３０６に処理を進める。
Ｓ３３０５では、中継サーバ３００は、Ｐｒｉｎｔ  Ａｄａｐｔｅｒ４１１を用いて、Ｓ３３０２で検索して特定した結合ドキュメントから、処理内容欄１１０３で設定された処理設定と、Ｓ３３０３で特定したページ番号に基づいて印刷ジョブを生成する。ここで、中継サーバ３００は、ユーザに選択された対象ドキュメントの順でページ番号を指定する。例えば、「集計表Ｆ」「広告Ｃ」の順番でユーザに選択されたのであれば、中継サーバ３００は、ページ番号の指定を８ページ目から１６ページ目まで、３ページ目から７ページ目までという順で指定する。こうすることで、中継サーバ３００は、ユーザに指定された順で印刷ジョブを生成する。そして、中継サーバ３００は、プリンタ１００１やプリンタ１００２に対して印刷ジョブを送信する。なお、中継サーバ３００は、Ｓ１０２０で受信した処理設定を用いる。
プリンタ１００１やプリンタ１００２は、印刷ジョブを受信すると、紙媒体に印刷を開始する。本実施形態では、中継サーバ３００は、直接プリンタに対して印刷ジョブを送信しているが、印刷ジョブを蓄積する印刷サーバがあれば、その印刷サーバを介してプリンタに印刷ジョブを送信するようにしてもよい。
【０１１１】
Ｓ３３０６では、中継サーバ３００は、処理内容欄１１０３で選択された処理が「ＦＡＸ」であるか否かを判定する。より具体的には、中継サーバ３００は、前述したＳ１０２０で処理種別を受信しているので、この情報に基づいて処理内容欄１１０３で選択された処理が「ＦＡＸ」であるか否かを判定する。中継サーバ３００は、「ＦＡＸ」であると判定した場合には、Ｓ３３０７に処理を進め、そうでない場合（例えば、処理内容欄１１０３で選択された処理が印刷であった場合等）には、一連の処理を終了する。
Ｓ３３０７では、中継サーバ３００は、ＦＡＸ  Ａｄａｐｔｅｒ４１２を用いて、Ｓ３３０２で検索して特定した結合ドキュメントから、処理内容欄１１０３で設定された処理設定と、Ｓ３３０３で特定したページ番号に基づいてＦＡＸデータを生成する。ここで、中継サーバ３００は、ユーザに選択された対象ドキュメントの順でページ番号を指定する。例えば、「集計表Ｆ」「広告Ｃ」の順番でユーザに選択されたのであれば、中継サーバ３００は、ページ番号の指定を８ページ目から１６ページ目まで、３ページ目から７ページ目までという順で指定する。こうすることで、中継サーバ３００は、ユーザに指定された順でＦＡＸジョブを生成する。そして、中継サーバ３００は、ＦＡＸ１００３やＦＡＸ１００４に対してＦＡＸデータを送信する。なお、中継サーバ３００は、Ｓ１０２０で受信した処理設定を用いる。本実施形態では、中継サーバ３００は、直接ＦＡＸに対してＦＡＸデータを送信しているが、ＦＡＸデータを蓄積するＦＡＸサーバがあれば、そのＦＡＸサーバを介してＦＡＸにＦＡＸデータを送信するようにしてもよい。
【０１１２】
以上のように、中継サーバ３００は、ユーザに選択された組み合わせの結合ドキュメントが中継サーバ３００に存在しない場合、選択された対象ドキュメントを含む結合ドキュメントを用いる。これにより、中継サーバ３００は、再度ドキュメントサーバ１００５から対象ドキュメントを取得したり、結合したりすることなく、指示された処理を実行することが可能となる。
【０１１３】
＜実施形態５＞
実施形態４で説明した仕組みを実施形態２で説明した処理に組み込むことも可能である。
本実施形態におけるシステム構成、ハードウェア構成、モジュール構成については、実施形態１と同様である。また、実施形態１で前述した図７、図１０Ａ、図１０Ｂ、図１５に示すフローチャート、実施形態２で前述した図１８Ｂに示すフローチャート、実施形態４で前述した図３３に示すフローチャートについても同様である。更に、実施形態１で前述した図９Ａ、図１２の各種テーブル、実施形態４で前述した図３４のテーブル、図８、図１１、図１３の各種画面例についても同様である。本実施形態における処理は、図１８Ａのフローチャートに示される処理の変形例であるので、この点について説明を行う。
【０１１４】
図３５は、実施形態２における図１８Ａの変形例であり、中継サーバ３００がクライアントＰＣ２００からの要求に基づいてドキュメントサーバ１００５からドキュメントを取得し、所定の処理を実行する処理の一例を示すフローチャートである。図３５は、Ｓ１８０２からＳ１８１５まで、及びＳ３５０１の処理の一例を示すフローチャートである。
Ｓ３５０１では、中継サーバ３００は、結合指示された対象ドキュメントが、ドキュメント処理画面１１００のドキュメント履歴欄１１０２で選択されたドキュメントであるか否かを判定する。中継サーバ３００は、ドキュメント履歴欄１１０２で選択されたドキュメントであると判定した場合には、Ｓ１８０２に処理を進め、そうでない場合（例えば、ドキュメント一覧１１０１で選択されたドキュメントであると判定された場合等）には、前述した図３３のＳ３３０１に処理を進める。ドキュメント履歴欄１１０２から選択されていないのであれば、同じ組み合わせの結合ドキュメントでない可能性が高い。したがって、中継サーバ３００は、ユーザに選択された対象ドキュメントを全て含む結合ドキュメントを用いた処理を実行すべく、図３３の処理を行う。
Ｓ１８０２からＳ１８１５までの処理は、前述した図１８のＳ１８０２からＳ１８１５までの処理と同様であるので、説明を省略する。
【０１１５】
以上のように、中継サーバ３００は、実施形態４の仕組みを実施形態２の処理に組み込んで実施することが可能となる。
【０１１６】
＜その他の実施形態＞
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１１７】
以上、上述した各実施形態によれば、中継サーバ３００は、結合ドキュメントを記憶領域に保存しておき、再度同じ組み合わせの結合ドキュメントの作成を要求された場合、再結合することなく前記結合ドキュメントを記憶領域から取得する。また、中継サーバ３００は、結合対象のドキュメントに更新フォルダに格納されたドキュメントが含まれている場合、更新フォルダに格納されたドキュメント以外のドキュメントだけを結合した結合ドキュメントを記憶領域に保存する。これにより、中継サーバ３００は、更新フォルダに格納されたドキュメントだけを毎回取得すればよくなる。また、中継サーバ３００は、１つの結合ドキュメントに対して、複数の処理を実行させることができる。更に、中継サーバ３００は、ユーザに選択された組み合わせの結合ドキュメントが中継サーバ３００に存在しない場合、選択された対象ドキュメントを含む結合ドキュメントを用いて指定された処理を実行することができる。これらによって、中継サーバ３００の処理負荷の軽減が実現される。
【０１１８】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１１９】
１００１  プリンタ、１００２  プリンタ、１００３  ＦＡＸ、１００４  ＦＡＸ、１００５  ドキュメントサーバ、１００６  ネットワーク、１００７  公衆回線、２００  クライアントＰＣ、３００  中継サーバ、２０１  ＣＰＵ、２０２  ＲＡＭ、２０３  ＲＯＭ、２０４  システムバス、２０５  入力コントローラ、２０６  ビデオコントローラ、２０７  メモリコントローラ、２０８  通信Ｉ／Ｆ（インターフェース）コントローラ、２０９  入力装置、２１０  ディスプレイ装置、２１１  外部メモリ
【図１】
2014135046.tif 000003
【図２】
2014135046.tif 000004
【図３】
2014135046.tif 000005
【図４】
2014135046.tif 000006
【図５】
2014135046.tif 000007
【図６】
2014135046.tif 000008
【図７】
2014135046.tif 000009
【図８】
2014135046.tif 000010
【図９Ａ】
2014135046.tif 000011
【図９Ｂ】
2014135046.tif 000012
【図１０Ａ】
2014135046.tif 000013
【図１０Ｂ】
2014135046.tif 000014
【図１１】
2014135046.tif 000015
【図１２】
2014135046.tif 000016
【図１３】
2014135046.tif 000017
【図１４Ａ】
2014135046.tif 000018
【図１４Ｂ】
2014135046.tif 000019
【図１５】
2014135046.tif 000020
【図１６】
2014135046.tif 000021
【図１７】
2014135046.tif 000022
【図１８Ａ】
2014135046.tif 000023
【図１８Ｂ】
2014135046.tif 000024
【図１９】
2014135046.tif 000025
【図２０】
2014135046.tif 000026
【図２１】
2014135046.tif 000027
【図２２】
2014135046.tif 000028
【図２３】
2014135046.tif 000029
【図２４】
2014135046.tif 000030
【図２５】
2014135046.tif 000031
【図２６】
2014135046.tif 000032
【図２７】
2014135046.tif 000033
【図２８】
2014135046.tif 000034
【図２９】
2014135046.tif 000035
【図３０】
2014135046.tif 000036
【図３１】
2014135046.tif 000037
【図３２】
2014135046.tif 000038
【図３３】
2014135046.tif 000039
【図３４】
2014135046.tif 000040
【図３５】
2014135046.tif 000041