(57)【特許請求の範囲】
【請求項１】
記憶装置に記憶されたジョブ管理テーブルに基づいてジョブを処理する複数のサーバの状態を管理する情報処理装置であって、
それぞれのサーバが処理すべきジョブに対応づけて前記記憶装置に記憶されるサーバ情報を更新しているかどうかを判断する判断手段と、
いずれかのサーバが前記サーバ情報を更新していないと判断した場合、前記ジョブ管理テーブルに記憶されたプリントサーバ名を削除する削除手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記サーバ情報は、それぞれのサーバが前記記憶装置に対して定期的に記憶させる更新時間を含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶装置は、前記更新時間を管理する更新管理テーブルを備え、
前記更新管理テーブルは、各サーバ毎の更新時間を記憶することを特徴とする請求項２記載の情報処理装置。
【請求項４】
記憶装置に記憶されたジョブ管理テーブルに基づいてジョブを処理する複数のサーバの状態を管理する情報処理装置におけるデータ処理方法であって、
それぞれのサーバが処理すべきジョブに対応づけて前記記憶装置に記憶されるサーバ情報を更新しているかどうかを判断する判断工程と、
いずれかのサーバが前記サーバ情報を更新していないと判断した場合、前記ジョブ管理テーブルに記憶されたプリントサーバ名を削除する削除工程と、
を備えることを特徴とする情報処理装置のデータ処理方法。
【請求項５】
前記サーバ情報は、それぞれのサーバが前記記憶装置に対して定期的に記憶させる更新時間を含むことを特徴とする請求項４記載の情報処理装置のデータ処理方法。
【請求項６】
前記記憶装置に備えられる前記更新時間を管理する更新管理テーブルは、各サーバ毎の更新時間を記憶することを特徴とする請求項５記載の情報処理装置のデータ処理方法。
【請求項７】
請求項４乃至６のいずれか１項に記載の情報処理装置のデータ処理方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項４乃至６のいずれか１項に記載の情報処理装置のデータ処理方法をコンピュータに実行させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共有するシステムにおける複数のサーバのサーバ情報を管理する情報処理装置、情報処理装置のデータ処理方法、記憶媒体及びプログラムに関するものである。
【背景技術】
【０００２】
現在、セキュリティや内部統制（ＳＯＸ法）、個人情報保護法のため、サーバ側で業務システムを構築する傾向となっている。
【０００３】
このようなセンタ集中化に伴い、サーバが管理するクライアント数が増加するため、サーバのクラスタ化が有効手段となっている。
【０００４】
プリントシステムのクラスタ化においては印刷ジョブの送受信、スプーリングなどの技術は提案されている。
【０００５】
印刷監視、プリントデバイス監視まで行うクラスタプリントシステムについては複数のサーバで同一のプリンタのジョブ情報を保持することが想定される。
【０００６】
共通のファイルを使用する方法に関しては、共通ファイルの更新を監視し、更新されたことを他のサーバに通知する方法（特許文献１）が提案されている。
【０００７】
また、上記のように、複数のサーバが共通の情報を共有する場合、障害が発生した場合に、共通の情報が更新されなくなる場合があり、夫々のサーバの生存確認を行う必要がある。
【０００８】
複数のサーバ環境でサーバの生存確認を行う方法としては、２台のサーバで互いに信号をやり取りして監視を行う方法（特許文献２）が提案されている。
【特許文献１】特開平１１−１５４１１０号公報
【特許文献２】特開２００１−０３６５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述したように複数のプリントサーバで同一のジョブやプリンタの情報を保持するシステムでは、一台のサーバでトラブルが発生した場合に複数サーバ間での整合性が取れなくなる。
【００１０】
その結果、他のサーバで処理続行が不可能な状態に陥り、高可用性が求められるクラスタ化プリントシステムでは致命的な問題となる。
【００１１】
また、前述した従来の複数のサーバを利用するシステムの技術ではサーバ間で信号のやり取りを行い、互いに監視する方法だが、サーバ数の数が多くなると監視の負荷が大きくなるという課題があった。
【００１２】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、サーバが管理するサーバ情報の更新状態にしたがって、管理しているプリントサーバ名を削除できる仕組みを提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
【００１４】
記憶装置に記憶されたジョブ管理テーブルに基づいてジョブを処理する複数のサーバの状態を管理する情報処理装置であって、それぞれのサーバが処理すべきジョブに対応づけて前記記憶装置に記憶されるサーバ情報を更新しているかどうかを判断する判断手段と、いずれかのサーバが前記サーバ情報を更新していないと判断した場合、前記ジョブ管理テーブルに記憶されたプリントサーバ名を削除する削除手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、サーバが管理するサーバ情報の更新状態にしたがって、管理しているプリントサーバ名を削除できる。
【発明を実施するための最良の形態】
【００１６】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００１７】
＜システム構成の説明＞
〔第１実施形態〕
図１は、本発明の実施形態を示す印刷システムの構成を説明するブロック図である。本例は、ネットワーク１０１（ＷＡＮ）を介して、データベースシステムや、プリントシステム、Webアプリケーションシステムなどのサーバコンピュータと、クライアントコンピュータ、プリントデバイスが接続されている。
【００１８】
図１において、データベースシステム１０４は大容量記憶装置１０５を管理する。大容量記憶装置１０５には、印刷データや文書データ、ジョブ情報、プリンタ情報等が記憶されている。後述する他のシステムは、上記情報にアクセス(データの取得、更新、追加、削除)するために、データベースシステム１０４に要求し、データベースシステム１０４はそれらの要求を受け付けて実行する。
【００１９】
データベースシステム１０４は、負荷分散のためのクラスタシステムや、高可用性を維持するためのフェールオーバー構成を取る場合も考えられる。
【００２０】
また、大容量記憶装置１０５との接続には直接接続する構成の他に、ネットワークを介して接続する形態も考えられる。
【００２１】
データベース管理システム１０６は、データベースシステム１０４を介して大容量記憶装置１０５内の情報にアクセスすることによって、プリントサーバ１１１、１１２の情報やジョブ情報の更新状況を確認し、整合性を管理する。なお、本実施形態では、データベースシステム１０４、データベース管理システム１０６は、サーバコンピュータで構成される場合を示す。
【００２２】
また、データベース管理システム１０６は、不要となった情報を大容量記憶装置１０５から削除したり、大容量記憶装置１０５にアクセスする認証情報を管理したりしている。
【００２３】
プリントデバイス１０７は、ＬＡＮ１０３に接続された画像形成装置である。プリントデバイス１０７は、ＬＡＮ１０３やＷＡＮ１０１等を介して、後述するプリントサーバシステム１１３やＷｅｂアプリケーションサーバ１０９と通信を行う。このプリントデバイス１０７としては電子写真方式を採用したレーザビームプリンタやインクジェット方式を採用したインクジェットプリンタや熱転写方式を利用したプリンタ等あらゆる方式の印刷装置を採用することができる。
【００２４】
また、本プリントシステムに含まれる装置間の通信はイーサネット（登録商標）ケーブルなどを利用した有線通信でもよいし、電波や光などを利用した無線通信でもよい。
【００２５】
クライアントＰＣ１０８は、後述するハードウエア資源と、ＯＳを含むアプリケーション、デバイスドライバを備え、起動するアプリに応じた情報処理を行う。各クライアントＰＣ１０８はＬＡＮ１０３に接続されており、ＷＡＮを介して各種サーバシステムと通信することができるように構成されている。
【００２６】
Ｗｅｂアプリケーションサーバ１０９は、ＷＡＮ１０１を介して、プリントサーバシステム１１３が管理する印刷ジョブ情報や大容量記憶装置１０５に記憶された文書データなどの情報をクライアントＰＣ１０８へ送信する。
【００２７】
また、クライアントＰＣ１０８からの印刷指示、印刷ジョブの操作を受付け、プリントサーバシステム１１３へ指示をする。
【００２８】
プリントサーバシステム１１３は、印刷システムにおけるプリントデバイス１０７の監視や管理、印刷ジョブの制御や監視、プリントデバイス１０７へのジョブ転送の処理を行う。また、ＷＡＮ１０１を介してデータベースシステム１０４やＷｅｂアプリケーションサーバ１０９と通信を行い、印刷ジョブ情報を管理する。
【００２９】
また、大規模システムの場合は負荷分散のためのクラスタ構成や冗長性を持たせた構成となっている。例えば図１に示すように、プリントサーバ１１１、１１２が並列に接続され、スイッチ１１０により仮想的に一つのプリントサーバシステムとして振舞うような構成になっている。
【００３０】
図２は、図１に示したプリントサーバシステム１１３の構成を示すブロック図である。本実施形態ではプリントサーバシステム１１３は複数台のプリントサーバ１１１、１１２が負荷分散(ロードバランシング)のためのスイッチ１１０を介して接続されている。
【００３１】
図２において、スイッチ１１０は、複数台のプリントサーバ１１１、１１２の負荷分散状況を把握し、負荷のかかっていないサーバに対して優先的に処理を発行するように分散を行う。
【００３２】
ここで、負荷分散の把握方法としては、単純に要求を順次各サーバに割り当てるラウンドロビンという方法や、規定の要求を定期的に各プリントサーバ１１１、１１２に発行し、その返信時間を負荷として判断する方法等が存在する。なお、負荷分散の把握方法としては、これらに限定されるものではない。
【００３３】
次にプリントサーバ１１１、１１２内の構成並びにデータ処理を説明する。なお、説明上、プリントサーバ１１１を例とするが、プリントサーバ１１２についても同様である。
【００３４】
ジョブ受付部２０１は、クライアントＰＣ１０８からの印刷要求を、Ｗｅｂアプリケーションサーバ１０９を介して受け付けると、大容量記憶装置１０５よりジョブ情報データとジョブデータを取得する。この場合、プリントサーバ１１１のジョブ受付部２０１は、ＷＡＮ１０１、ＬＡＮ１０２、データベースシステム１０４を介して、大容量記憶装置１０５よりジョブ情報データとジョブデータを取得する。
【００３５】
クライアントＰＣ１０８からの印刷要求は、後述する図４に示すジョブ管理テーブル３００上のジョブＩＤ３０１を用いて行われる。プリントサーバ１１１は、ジョブＩＤ３０１を使用して大容量記憶装置１０５内の印刷ジョブを特定する。
【００３６】
ジョブマネージャ２０２は、ジョブ受付部２０１を介して印刷ジョブを受け付けると、デバイスマネージャ２０４にプリントデバイス１０７の状況を問い合わせ、プリントデバイス１０７が正常の場合には、ジョブ送信部２０３にジョブ送信命令を出力する。
【００３７】
なお、ジョブマネージャ２０２が印刷要求ではなく、データ保存要求を受け付けた場合には、データベースアクセス部２０５を介してデータベースシステム１０４に印刷ジョブを保存する。
【００３８】
ジョブマネージャ２０２は、デバイスマネージャ２０４より印刷ジョブ情報や、プリントデバイス情報が通知されると、データベースシステム１０４を介して、大容量記憶装置１０５内で管理されているジョブ情報、プリント情報を更新する。
【００３９】
図３は、図１に示した印刷システムのハードウエアを説明するブロック図である。図１に示した印刷システムにおいて、データベースシステム１０４、クライアントＰＣ１０８、データベース管理システム１０６、Ｗｅｂアプリケーションサーバ１０９、プリントサーバ１１１、１１２は以下のハードウエア資源を備える。なお、本実施形態では、オペレーティングシステム（ＯＳ）が特定のＯＳに限定されるものではなく、複数の種類のＯＳがインストールされている印刷システムであっても本発明を適用できる。
【００４０】
図３において、ＣＰＵ２１１は、装置全体の制御を行い、ハードディスク（ＨＤ）２１６に格納されているアプリケーションプログラム、ＯＳ等をＲＡＭ２１５にロードして実行する。
【００４１】
また、ＣＰＵ２１１は、プログラムの実行に必要な情報、ファイル等を一時的にＲＡＭ２１５に格納する制御を行う。
【００４２】
ＲＯＭ２１２は不揮発性の記憶手段であり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶している。
【００４３】
ネットーワークインターフェースカード（ＮＩＣ）２１３は、インターフェース２１８を介して外部装置とのデータのやり取りを行う。この際、データのやり取りは、ＯＳで使用できるプロトコルを選択して、外部装置との通信を行う。
【００４４】
ここで、図１に示したデータベースシステム１０４を基準とすると、外部装置は、データベース管理システム１０６、クライアントＰＣ１０８、Ｗｅｂアプリケーションサーバ１０９、プリントサーバ１１１、１１２に対応する。
【００４５】
キーボード２１４は指示入力手段である。なお、指示入力手段として、他にポインティング・デバイスを含んで構成されていてもよい。ＲＡＭ２１５は、揮発性のメモリデバイスで構成される一時記憶手段であり、ＣＰＵ２１１の主メモリ、ワークエリア等として使用される。ＲＡＭ２１５は、適宜容量を増設できるように構成されている。
【００４６】
ＨＤ２１６は、外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）である。
【００４７】
ＨＤ２１６には、アプリケーションプログラム、Ｗｅｂサーバプログラム、データベースプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
【００４８】
ディスプレイ２１７は表示手段であり、キーボード２０７やポインティング・デバイスから入力されるコマンドや、プリンタの状態等を表示したりする。
【００４９】
インターフェース２１８は、外部装置Ｉ／Ｆであり、プリンタ、ＵＳＢ機器、周辺機器等を接続するためのＩ／Ｆである。
【００５０】
システムバス２１９は、ＣＰＵ２１１とそれ以外のデバイスとを接続して、ＣＰＵ２１１と各デバイスとの間のデータの流れを制御する。
【００５１】
なお、図３に示すハードウエア資源は、一例であって本例のハードウエア資源に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤＤなどで変更することも可能である。
【００５２】
図４は、図１に示した大容量記憶装置１０５に保持される印刷ジョブを管理するためのジョブ管理テーブル３００の一例を示す図である。
【００５３】
図４において、ジョブＩＤ３０１は、印刷ジョブを一意に識別可能な識別子である。
【００５４】
ドキュメント名３０２は、印刷されるジョブに設定される名称である。プリントデバイス名３０３は、印刷ジョブが投入されているプリンタ名である。ステータス３０４は、印刷ジョブのステータスである。
【００５５】
ここで、ステータスとしては、印刷順番待ち状態、プリントデバイスへ転送中状態、プリントデバイスでの印刷中状態、印刷が完了した印刷完了状態、プリントデバイスでエラーが発生した場合のエラー状態などが存在する。
【００５６】
プリントサーバ名３０５は、ジョブＩＤ３０１によって特定される印刷ジョブを実行中のプリントサーバ名を示す。
【００５７】
図５は、図１に示した大容量記憶装置１０５に保持されるプリントデバイス情報４００の一例を示す図である。
【００５８】
図５において、デバイス名４０１は、プリントデバイス１０７の種類を特定するための名称であり、該名称により、プリントサーバ１１１，１１２は情報取得処理を切り替える。
【００５９】
ＩＰアドレス４０２は、プリントデバイス１０７に割り振られるＩＰアドレスである。ステータス４０３は、プリントサーバ１１１１１２により取得されるプリントデバイス１０７の状態を示す情報である。ここで、取得されるプリントデバイス１０７の状態には、正常状態の他、用紙無しや紙ジャム、ドアオープンなどのエラー状態や、ワーニング状態が存在する。
【００６０】
プリントサーバ名４０４は、印刷ジョブを投入したプリントサーバ名である。
【００６１】
図６は、図１に示したプリントサーバ１１１、１１２の生存状態を確認するための更新状況を管理する更新管理テーブルの一例を示す図である。
【００６２】
なお、更新管理テーブル５００は、図１に示した大容量記憶装置１０５に保持され、プリントサーバ１１１、１１２毎に夫々存在する。また、更新管理テーブル５００には、各プリントサーバ１１１、１１２が更新するサーバ毎の更新時間が記憶されている。
【００６３】
図６において、プリントサーバ名５０１は、更新管理対象となるプリントサーバ名を示す。更新時間５０２は、プリントサーバが起動してから、定期的にプリントサーバにより記入される値である。
【００６４】
確認時間５０３は、データベース管理システム１０６により、定期的に記入される値である。
【００６５】
図７は、図１に示したデータベース管理システム１０６が保持する設定情報の一例を示す図である。
【００６６】
図７において、６００は設定情報で、確認間隔６０１とエラー判断時間６０２とを保持している。ここで、確認間隔６０１は、データベース管理システム１０６が、図６に示した更新管理テーブル５００を確認する間隔を示す。エラー判断時間６０２は、データベース管理システム１０６が更新管理テーブル５００を確認したときに更新時間と確認時間の差を計算し、一定以上の差がついていた場合にはエラーと判断するための閾値を示す値である。なお、確認間隔６０１、エラー判断時間６０２は、システムの環境に適応してユーザがその設定値を変更することができるように構成されている。
【００６７】
図８は、図１に示したプリントサーバ１１１、１１２が保持しているプリントサーバ情報７００の一例を示す図である。
【００６８】
図８において、プリントサーバ名７０１は、プリントサーバ１１１、１１２夫々に設定されるシステム内で一意の名称である。プリントサーバ１１１、１１２、データベース管理システム１０６が利用する、プリントサーバ名３０５、４０４、５０１に記入されるプリントサーバ名はこの名称が使用される。
【００６９】
ＩＰアドレス７０２は、プリントサーバ１１１、１１２に設定されるＩＰアドレスである。更新間隔７０３は、プリントサーバ１１１、１１２が更新時間５０２を記入するための間隔を示す値である。
【００７０】
図９は、本実施形態を示すプリントサーバによる第１のデータ処理手順の一例を示すフローチャートである。本例は、プリントサーバ１１１、１１２が起動してから定期的に行う処理である。なお、Ｓ８０１〜Ｓ８０７は各ステップを示す。また、各ステップは、プリントサーバ１１１、１１２のＣＰＵ２１１がＨＤ２１６に記憶される制御プログラムをＲＡＭ２１５にロードして実行することで実現される。さらに、説明上、プリントサーバについては、プリントサーバ１１１を例とする。
【００７１】
まず、Ｓ８０１で、プリントサーバ１１１のＣＰＵ２１１は、現処理を行う状態が初期起動かどうかを判断し、初期起動であると判断した場合はＳ８０２へ進み、初期起動でないと判断した場合は、Ｓ８０５に進む。ここで、初期起動とは何らかの障害がプリントサーバ１１１に発生し、再起動中に一般的に行われる開始シーケンスの中で本フローチャートの処理がされているかどうかを指す。
【００７２】
次に、Ｓ８０２で、プリントサーバ１１１のＣＰＵ２１１は、図４に示したジョブ管理テーブル３００を確認する。そして、プリントサーバ１１１のＣＰＵ２１１は、データベースシステム１０４を介して大容量記憶装置１０５に保存されているジョブの中で、自分のプリントサーバ名７０１と一致するプリントサーバ名を持つジョブを検索する。
【００７３】
ここで、プリントサーバ名が一致するジョブがあるとプリントサーバ１１１のＣＰＵ２１１が判断した場合は、Ｓ８０４に進み、プリントサーバ名が一致するジョブがないと判断した場合は、Ｓ８０５に進む。
【００７４】
そして、Ｓ８０４で、プリントサーバ１１１のＣＰＵ２１１は、後述するエラー復帰処理を行う。
【００７５】
次に、Ｓ８０５で、プリントサーバ１１１のＣＰＵ２１１は、図８に示したプリントサーバ情報７００を確認し、更新間隔７０３を確認する。
【００７６】
そして、Ｓ８０６で、Ｓ８０５の更新間隔７０３の確認した結果、現在のシステム時間と更新時間の差が更新間隔７０３よりも大きいかどうかを判断する。つまり、プリントサーバ１１１のＣＰＵ２１１は、更新時間を経過しているかどうかを判断する。
【００７７】
ここで、現在のシステム時間が更新間隔７０３よりも短いと、プリントサーバ１１１のＣＰＵ２１１が判断した場合は、正常であるため、本処理を完了する。ここでいうシステム時間とは、プリントサーバ１１１内で共通の時間であり、例えばＯＳがＷＩＮＤＯＷＳ（登録商標）の場合は、ＷＩＮ３２  ＡＰＩ等を通して取得可能な時間を指す。
【００７８】
一方、Ｓ８０６で、現在のシステム時間と更新時間の差が更新間隔７０３よりも大きいとプリントサーバ１１１のＣＰＵ２１１が判断した場合は、Ｓ８０７へ進む。そして、Ｓ８０７で、プリントサーバ１１１のＣＰＵ２１１は、更新管理テーブル５００の更新時間を確認時のシステム時間に更新して、本処理を終了する。
【００７９】
図１０は、本実施形態を示すプリントサーバによる第２のデータ処理手順の一例を示すフローチャートである。本例は、プリントサーバ１１１、１１２がジョブを受け付けたときに行う処理である。なお、Ｓ９０１〜Ｓ９０８は各ステップを示す。また、各ステップは、プリントサーバ１１１、１１２のＣＰＵ２１１がＨＤ２１６に記憶される制御プログラムをＲＡＭ２１５にロードして実行することで実現される。さらに、説明上、プリントサーバについては、プリントサーバ１１１を例とする。
【００８０】
Ｓ９０１で、プリントサーバ１１１のＣＰＵ２１１が印刷ジョブを受け付けると、Ｓ９０２で、プリントサーバ１１１のＣＰＵ２１１がジョブ管理テーブル３００を参照し、ジョブＩＤ９０１からジョブ情報を特定する。
【００８１】
次に、Ｓ９０３で、プリントサーバ１１１のＣＰＵ２１１は、Ｓ９０２で特定した印刷ジョブのジョブ管理テーブル３００および印刷先となるプリントデバイスのプリントデバイス情報４００のプリントサーバ名３０５、４０４をそれぞれ更新する。
【００８２】
次に、Ｓ９０４で、プリントサーバ１１１のＣＰＵ２１１は、ジョブ状態、デバイス状態の取得をプリントデバイス１０７に対して行う。
【００８３】
そして、Ｓ９０５で、プリントサーバ１１１のＣＰＵ２１１は、Ｓ９０４で取得した状態に変化があったが否かの判断を行う。ここで、状態変化の判断は、プリントデバイス１０７から取得される情報と、ジョブ管理テーブル３００のステータス３０４と、プリントデバイス情報４００のステータス４０３とを比較することによって行う。
【００８４】
ここで、ジョブ状態が変化しているとプリントサーバ１１１のＣＰＵ２１１が判断した場合に、Ｓ９０６で、プリントサーバ１１１のＣＰＵ２１１は、対象となるジョブ管理テーブル３００のステータスを更新する。例えばプリントデバイス状態に変化があった場合は、プリントデバイス情報４００のステータス４０３を更新する。
【００８５】
一方、Ｓ９０５で、ジョブ状態が変化していないとプリントサーバ１１１のＣＰＵ２１１が判断した場合に、Ｓ９０４へ戻る。
【００８６】
そして、Ｓ９０７で、Ｓ９０４で取得した印刷ジョブ状態が完了ステータスかどうかをプリントサーバ１１１のＣＰＵ２１１が判断する。ここで、完了ステータスとは、印刷の完了、ジョブのキャンセル、プリントデバイスへの転送に失敗した場合などのエラー状態などが考えられる。
【００８７】
次に、Ｓ９０８で、ジョブ管理テーブル３００のステータス３０４をプリントサーバ１１１のＣＰＵ２１１が「完了」とする。さらに、プリントサーバ１１１のＣＰＵ２１１は、ジョブ管理テーブル３００、プリントデバイス情報４００からプリントサーバ１１１に対応するプリントサーバ名を削除して、本処理を終了する。
【００８８】
本実施形態では、プリントサーバ１１１，１１２は、データ処理開始時において、ジョブ情報を正常処理する毎に、ジョブ管理テーブル３００に登録された自己を識別するための識別情報として用いるプリントサーバ名を削除する。これにより、プリントサーバ１１１、１１２が障害状況か、正常な状況かを自ら判断することができる。
【００８９】
図１１は、本実施形態を示すプリントサーバによる第３のデータ処理手順の一例を示すフローチャートである。本例は、プリントサーバ１１１、１１２が障害から復帰した場合に行う処理である。なお、Ｓ１００１〜Ｓ１００４は各ステップを示す。また、各ステップは、プリントサーバ１１１、１１２のＣＰＵ２１１がＨＤ２１６に記憶される制御プログラムをＲＡＭ２１５にロードして実行することで実現される。さらに、説明上、プリントサーバについては、プリントサーバ１１１を例とする。
【００９０】
障害から復帰すると、Ｓ１００１で、プリントサーバ１１１のＣＰＵ２１１は、ジョブ管理テーブル３００で管理されているプリントサーバ名の中に、プリントサーバ情報７００のプリントサーバ名７０１と一致するジョブがあるかどうかを探索する。
【００９１】
ここで、プリントサーバ１１１のＣＰＵ２１１は、プリントサーバ名７０１と一致したジョブについては、該ジョブが処理中にプリントサーバ１１１に障害が発生しているものと判断する。
【００９２】
ここで、判断可能な理由は、図１０で説明したように、印刷が完了したジョブについては、ジョブ管理テーブル３００からプリントサーバ名を削除する処理をしているからである。
【００９３】
Ｓ１００１の探索の結果、プリントサーバ名が一致する印刷ジョブについてＳ１００３，Ｓ１００４の処理を行う。
【００９４】
一方、Ｓ１００２で、プリントサーバ１１１のＣＰＵ２１１が該当する印刷ジョブが見つからなかったと判断した場合は、本処理を終了する。
【００９５】
そして、Ｓ１００３では、ジョブ管理テーブル３００のステータス３０４をプリントサーバ１１１のＣＰＵ２１１が更新する。このとき更新するステータスとしては、更新前の状態が、「印刷中」ならば「完了」、「転送中」ならば「エラー」、印刷待ちならば「不明」といったように複数の更新するステータスが存在する。これらの判断はプリントサーバ１１１が行う。
【００９６】
次に、Ｓ１００４で、プリントサーバ１１１のＣＰＵ２１１がジョブ管理テーブル３００、プリントデバイス情報４００のプリントサーバ名を削除して、本処理を終了する。
【００９７】
本実施形態では、プリントサーバ１１１，１１２によるエラー処理復帰時に、上記Ｓ１００２を実行することで、プリントサーバ１１１，１１２による処理状態がエラー状態であるか否かを判断する。これは、データ処理を正常に終了する場合には、図１０に示したＳ９０８で、プリントサーバ１１１，１１２が自ら識別情報として機能するプリントサーバ名を削除しているからである。
【００９８】
図１２は、本実施形態を示す情報処理装置による第１のデータ処理手順の一例を示すフローチャートである。本例は、データベース管理システム１０６のデータ処理である。なお、Ｓ１１０１〜Ｓ１１０４は各ステップを示す。また、各ステップは、データベース管理システム１０６のＣＰＵ２１１がＨＤ２１６に記憶される制御プログラムをＲＡＭ２１５にロードして実行することで実現される。
【００９９】
Ｓ１１０１で、データベース管理システム１０６のＣＰＵ２１１は、図５に示した更新管理テーブル５００の確認時間５０３を確認する。
【０１００】
次に、Ｓ１１０２で、データベース管理システム１０６のＣＰＵ２１１は、前述したシステム時間と更新管理テーブル５００の確認時間５０３と確認間隔６０１との差を比較する。これにより、データベース管理システム１０６のＣＰＵ２１１は、確認時間が確認間隔を経過しているか否かを判断する。
【０１０１】
ここで、データベース管理システム１０６のＣＰＵ２１１は、上記比較の結果、確認時間５０３よりも確認間隔６０１の方が大きいかどうかを判断する。ここで、データベース管理システム１０６のＣＰＵ２１１が確認時間５０３よりも確認間隔６０１の方が大きくないと判断した場合は、本処理を終了する。
【０１０２】
一方、Ｓ１１０２で、データベース管理システム１０６のＣＰＵ２１１が確認時間５０３よりも確認間隔６０１の方が大きいと判断した場合は、Ｓ１１０３へ進む。そして、Ｓ１１０３で、データベース管理システム１０６のＣＰＵ２１１は、更新管理テーブル５００の確認時間５０３を現在のシステム時間で更新する。
【０１０３】
次に、Ｓ１１０４で、更新前の確認時間と、更新後の確認時間の差と、データベース管理システム１０６が保持するエラー判断時間６０２により、詳細は後述するエラー判断処理を行い、本処理を終了する。
【０１０４】
図１３は、本実施形態を示す情報処理装置による第２のデータ処理手順の一例を示すフローチャートである。本例は、データベース管理システム１０６が行うエラー判断処理である。ここで、エラー判断処理とは、データベース管理システム１０６がプリントサーバをエラーと判断する場合の処理に対応する。なお、Ｓ１２０１〜Ｓ１２０７は各ステップを示す。また、各ステップは、データベース管理システム１０６のＣＰＵ２１１がＨＤ２１６に記憶される制御プログラムをＲＡＭ２１５にロードして実行することで実現される。なお、説明上、プリントサーバ１１１に対するエラー判断処理を例とするが、プリントサーバ１１２についても同様である。
【０１０５】
Ｓ１２０１で、データベース管理システム１０６のＣＰＵ２１１は、更新管理テーブル５００の内容を確認する。次に、Ｓ１２０２において、データベース管理システム１０６のＣＰＵ２１１は、図１２に示したＳ１１０３で前述したように、確認時間の差と、データベース管理システム１０６が保持するエラー判断時間６０２とを比較する。ここで、データベース管理システム１０６のＣＰＵ２１１がエラー判断時間の方が小さいと判断した場合は、プリントサーバ１１１にエラーが発生していると判断する。
【０１０６】
次に、Ｓ１２０３で、データベース管理システム１０６のＣＰＵ２１１は、エラー発生と判断されたプリントサーバが管理しているプリントデバイス情報４００のステータスを更新する。
【０１０７】
ここで、更新するステータスとしては、どのプリントサーバにも監視されていない「未接続」状態などが考えられる。こうすることによって、他のプリントサーバで該プリントデバイスが使用可能かどうかを判定できる。つまり、ステータスを「未接続」状態とすることで、エラーのままとなっている状態を防ぐことが可能となる。
【０１０８】
次に、Ｓ１２０４で、データベース管理システム１０６のＣＰＵ２１１は、エラーと判断されたプリントサーバのプリントサーバ名が記載されている印刷ジョブを大容量記憶装置１０５から検索する。
【０１０９】
そして、Ｓ１２０５で、データベース管理システム１０６のＣＰＵ２１１は、エラーと判断されたプリントサーバのプリントサーバ名が記載されている印刷ジョブが大容量記憶装置１０５にあるかどうかを判断する。ここで、データベース管理システム１０６のＣＰＵ２１１が該当するジョブがないと判断した場合は、本処理を終了する。
【０１１０】
一方、Ｓ１２０５で、データベース管理システム１０６のＣＰＵ２１１が該当するジョブがあると判断した場合は、Ｓ１２０６へ進む。
【０１１１】
そして、Ｓ１２０６で、データベース管理システム１０６のＣＰＵ２１１は、Ｓ１００３の処理と同様にジョブ管理テーブル３００のステータス３０４を更新する。このとき更新するステータスとしては、更新前の状態が、「印刷中」ならば「完了」、「転送中」ならば「エラー」、印刷待ちならば「不明」とする。
【０１１２】
次に、Ｓ１２０７で、データベース管理システム１０６のＣＰＵ２１１は、ジョブ管理テーブル３００、プリントデバイス情報４００のプリントサーバ名を削除して、本処理を終了する。
【０１１３】
これにより、複数のサーバが同一のジョブや、プリンタ情報を共有するシステムにおいて、少ない負荷でジョブ、プリンタ情報を確実に更新することができ、複数サーバ間での整合性をとることにより、高可用性を維持することが可能となる。
【０１１４】
図１４、図１５は、本実施形態を示す印刷システムのユーザインタフェースの画面例を示す図である。本ユーザインタフェースは、システム管理者や、印刷ジョブを投入したユーザの操作指示に従い、データベース管理システム１０６、クライアントＰＣ１０８等が備えるディスプレイ２１７で表示される。
【０１１５】
図１４に示すユーザインタフェース１３０１において、ジョブ名１３０２は、ジョブ管理テーブル３００のドキュメント名である。
【０１１６】
ジョブ状態１３０３は、ジョブ管理テーブル３００のステータス３０４である。サーバ１３０４はジョブ管理テーブル３００のプリントサーバ名３０５である。
【０１１７】
プリンタ名１３０５は、ジョブ管理テーブル３００のプリントデバイス名３０３である。プリンタ状態１３０６は、プリンタ名１３０５により特定されるプリントデバイス情報４００のステータス４０３である。
【０１１８】
システム管理者や、印刷ジョブを投入したユーザは、図１４に示すユーザインタフェース１３０１をディスプレイ２１７上で確認することによって、印刷ジョブ、プリンタ、プリントサーバの状態を確認することができる。
【０１１９】
例えば、プリントサーバ１１１が正常の場合は、プリントサーバ１１１が管理しているプリンタの状態や、該プリンタに投入されたジョブの状態を確認することができる。ユーザインタフェース１３０１では、ジョブ４は、プリンタ状態がエラーとなっているためジョブ状態がエラーとなっている。プリントサーバ１１１の処理については図１０のフローチャートで説明した通りである。
【０１２０】
また、図１５に示すユーザインタフェース１４０１は、サーバ２に異常が発生した場合の画面例である。
【０１２１】
この場合、ジョブ２、ジョブ４のサーバ名が空となっているので、システム管理者や、ユーザは本画面を確認することで、サーバ２のダウンにより、ジョブがエラーとなっていると判断できる。
【０１２２】
その結果、該ジョブを別のサーバ（サーバ１）で印刷を続行するなどの処理が可能となる。
【０１２３】
上記のように、本実施形態では、プリンタの状態はプリントサーバが管理し、プリントサーバが停止した場合には、データベース管理システムにより、プリントサーバ、およびプリンタ、印刷ジョブを管理する。
【０１２４】
以上の処理により、プリントデバイスの監視を行うクラスタ化プリントシステムにおいて、複数のサーバで同一のジョブ情報を扱うような場合に、一つのプリントサーバの障害によりシステム全体の整合性が取れなくなることを防ぐことが可能となる。
【０１２５】
〔第２実施形態〕
以下、図１６、図１７に示すメモリマップを参照して本発明に係るサーバ装置、情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１２６】
図１６は、本発明に係るサーバ装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１２７】
図１７は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１２８】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１２９】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１３０】
本実施形態における図９〜図１３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１３１】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１３２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３３】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１３４】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１３５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１３７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【０１４１】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０１４２】
上記各実施形態によれば、複数のサーバでジョブ情報を共有して管理する場合に、いずれかのサーバに障害が発生しても、それぞれのサーバが管理する各ジョブ情報が不整合状態となる状態を解消することができる。
【図面の簡単な説明】
【０１４３】
【図１】本発明の実施形態を示す印刷システムの構成を説明するブロック図である。
【図２】図１に示したプリントサーバシステムの構成を示すブロック図である。
【図３】図１に示した印刷システムのハードウエアを説明するブロック図である。
【図４】図１に示した大容量記憶装置に保持される印刷ジョブを管理するためのジョブ管理テーブルの一例を示す図である。
【図５】図１に示した大容量記憶装置に保持されるプリントデバイス情報の一例を示す図である。
【図６】図１に示したプリントサーバの生存状態を確認するための更新状況を管理する更新管理テーブルの一例を示す図である。
【図７】図１に示したデータベース管理システムが保持する設定情報の一例を示す図である。
【図８】図１に示したプリントサーバが保持しているプリントサーバ情報の一例を示す図である。
【図９】本実施形態を示すプリントサーバによる第１のデータ処理手順の一例を示すフローチャートである。
【図１０】本実施形態を示すプリントサーバによる第２のデータ処理手順の一例を示すフローチャートである。
【図１１】本実施形態を示すプリントサーバによる第３のデータ処理手順の一例を示すフローチャートである。
【図１２】本実施形態を示す情報処理装置による第１のデータ処理手順の一例を示すフローチャートである。
【図１３】本実施形態を示す情報処理装置による第２のデータ処理手順の一例を示すフローチャートである。
【図１４】本実施形態を示す印刷システムのユーザインタフェースの画面例を示す図である。
【図１５】本実施形態を示す印刷システムのユーザインタフェースの画面例を示す図である。
【図１６】本発明に係るサーバで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図１７】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１４４】
１０１  ＷＡＮ
１０４  データベースシステム
１０５  大容量記憶装置
１０６  データベース管理システム
１０７  プリントデバイス
１０８  クライアントＰＣ
１１１、１１２  プリントサーバ
【図１】
0005328177.tif 000002
【図２】
0005328177.tif 000003
【図３】
0005328177.tif 000004
【図４】
0005328177.tif 000005
【図５】
0005328177.tif 000006
【図６】
0005328177.tif 000007
【図７】
0005328177.tif 000008
【図８】
0005328177.tif 000009
【図９】
0005328177.tif 000010
【図１０】
0005328177.tif 000011
【図１１】
0005328177.tif 000012
【図１２】
0005328177.tif 000013
【図１３】
0005328177.tif 000014
【図１４】
0005328177.tif 000015
【図１５】
0005328177.tif 000016
【図１６】
0005328177.tif 000017
【図１７】
0005328177.tif 000018