(57)【要約】【課題】  印刷パフォーマンスを落とすことなくプリントサーバが保持するプリンタ情報のキャッシュを更新することを目的とする。【解決手段】  プリントサーバのプリンタ情報キャッシュ更新処理における、プリントサーバのプリンタ情報更新状況を、プリントサーバとプリンタが関係する更新管理テーブルで更新ステータスとして保持し、プリントサーバは更新ステータスを参照することで最小限の情報取得でプリンタ情報キャッシュ更新処理を行うことができる。またプリンタの追加・削除やプリントサーバの追加・削除の際に更新管理テーブルの整理を行い、更新管理テーブルのサイズを最小限に抑えることで課題を解決する。【選択図】  図６
2009217353.tif 000002
【特許請求の範囲】
【請求項１】
印刷に必要なプリンタ情報に関して、プリントサーバは外部記憶装置で保持する最新プリンタ情報を取得し、自記憶装置で保持するプリンタ情報キャッシュの更新を行うプリンタ情報更新手段を有し、
前記プリンタ情報更新処理における、プリントサーバとプリンタが関係する更新情報を保持する手段と、
前記更新情報をプリントサーバとプリンタの更新管理テーブルで保持する手段と、
前記更新管理テーブルでプリントサーバのプリンタ情報更新ステータスを保持する手段と、
前記更新管理テーブルでプリンタ情報更新の特別な場合であるプリンタ削除に関するプリンタ削除ステータスを保持する手段と、
を有し、
前記更新管理テーブルによりプリントサーバのプリンタ情報キャッシュの更新状況を管理することを特徴とする印刷システム。
【請求項２】
プリンタ情報の変更の受け付けを行うプリンタ情報変更受付手段と、プリントサーバの稼動状況を把握するプリントサーバ稼動状況把握手段を有するシステム管理サーバが、
前記プリンタ情報変更受付手段によりプリンタ情報の変更受け付けを行った場合に、請求項１の更新管理テーブルの更新処理を行い、
前記更新管理テーブルの更新処理に関して、
前記システム管理サーバが前記プリンタ情報変更受付手段によりプリンタ情報変更を受け付けた場合、前記プリントサーバ稼動状況把握手段により把握しているプリントサーバの稼動状況により、稼動中のプリントサーバを特定し、
前記更新管理テーブルより、稼動中のプリントサーバと変更を受け付けたプリンタに関係する、プリンタ情報更新ステータスとプリンタ削除ステータスを取得する手段と、
取得したプリンタ情報更新ステータスが更新済みだった場合に、稼動中のプリントサーバと変更を受け付けたプリンタに関係するプリンタ情報更新ステータスを未更新に更新する手段と、
稼動中のプリントサーバと変更を受け付けたプリンタに関係する、プリンタ情報更新ステータスとプリンタ削除ステータスが取得できなかった場合、
前記プリンタ情報変更受付手段によるプリンタ情報変更受け付けがプリンタ削除だった場合には、稼動中のプリントサーバと削除されたプリンタに関係するプリンタ情報更新ステータスを未更新、プリンタ削除ステータスを削除済みとして更新管理テーブルに更新情報を追加し、
前記プリンタ情報変更受付手段によるプリンタ情報変更受け付けがプリンタ削除ではなく変更や追加だった場合には、稼動中のプリントサーバと変更・追加されたプリンタに関係するプリンタ情報更新ステータスを未更新、プリンタ削除ステータスを未削除として更新管理テーブルに更新情報を追加する手段とを
有する請求項１に記載の印刷システム。
【請求項３】
前記システム管理サーバは前記更新管理テーブルの整理を行い、
システム管理サーバによる更新管理テーブルの整理に関して、
前記システム管理サーバが前記プリントサーバ稼動状況把握手段により把握しているプリントサーバの稼動状況より、停止しているプリントサーバを特定し、
前記更新管理テーブルから停止しているプリントサーバに関する更新情報を削除する手段と、
前記更新管理テーブルにおいてプリンタ情報更新ステータスが更新済みである更新情報を削除する手段とを有することを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記システム管理サーバは印刷システムへのプリントサーバ追加・削除受付手段を有し、
前記プリントサーバ追加・削除手段により、プリントサーバが印刷システムから削除された場合には前記更新管理テーブルから削除されたプリントサーバに関する更新情報を削除する手段と
を有することを特徴とする請求項２に記載の印刷システム。
【請求項５】
印刷に必要なプリンタ情報に関して、プリントサーバは外部記憶装置で保持する最新プリンタ情報を取得し、自記憶装置で保持するプリンタ情報キャッシュの更新を行うプリンタ情報更新手段を有し、
前記プリンタ情報更新処理における、プリントサーバとプリンタが関係する更新情報を保持する手段と、
前記更新情報をプリントサーバとプリンタの更新管理テーブルで保持する手段と、
前記更新管理テーブルでプリントサーバのプリンタ情報更新ステータスを保持する手段と、
前記更新管理テーブルでプリンタ情報更新の特別な場合であるプリンタ削除に関するプリンタ削除ステータスを保持する手段と、
を有し、
前記更新管理テーブルによりプリントサーバのプリンタ情報キャッシュの更新状況を管理することを特徴とする印刷システムの管理プログラム。
【請求項６】
請求項５に記載の管理プログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムにおける、プリンタ情報更新管理方法に関する。
【背景技術】
【０００２】
特許文献１に示されるように、プリントサーバの負荷軽減のためにＤａｔａＢａｓｅ（以下、ＤＢ）でジョブ情報の管理を行う技術が知られている。
【０００３】
この特許文献１によれば、クライアントはＤＢからジョブ情報を取得することができ、プリントサーバへの負荷を軽減することができる。
【０００４】
また特許文献２に示されるように、各コンポーネントはキャッシュしている印刷情報と、ＤＢで集中管理している最新印刷情報の比較を行うことで、必要な情報のみを取得しキャッシュを更新する方法が知られている。この特許文献２によれば、必要最小限のデータ取得で印刷情報のキャッシュを更新することができる。
【特許文献１】特開平９−３２５８６８号公報
【特許文献２】特開２００１−２６５５４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
全国のオフィスに位置する何千台ものプリンタに対し配信印刷を行うプリントサーバにおいて、大量の印刷ジョブの制御を1台のプリントサーバでおこなうとプリントサーバが高負荷となり各ジョブの排紙までに多大な時間がかかってしまう。これを回避するためには、複数のプリントサーバでクラスタ化し負荷分散(ロードバランシング)して稼動させる必要がある。印刷システムがクラスタ構成により分散されるため、プリントサーバ間で共通のジョブ情報やプリンタ情報などの印刷情報を共通ディスク（以下、ＤＢ）で集中管理を行っている。
【０００６】
大規模印刷システムでは何千台ものプリンタの監視を行う必要があり、クラスタ構成により分散されＤＢで印刷情報の集中管理を行っているプリントサーバ環境において、プリンタの追加、削除、変更、移設などのプリンタ情報更新処理が頻繁に行われている。したがってプリンタ情報更新に対応するためプリントサーバは印刷のためにＤＢより最新プリンタ情報の取得を行わなければならない。しかし1時間で何十万ジョブが投入されるような大規模環境においては、印刷の度にＤＢから最新プリンタ情報を毎回取得するのでは時間がかかる。さらにＤＢへのアクセスが集中するため印刷システム全体のパフォーマンスが落ち、印刷までに時間がかかってしまう恐れがある。したがってプリントサーバはプリンタ情報をキャッシュし、定期的にＤＢより最新プリンタ情報を取得しキャッシュを更新している。プリントサーバがプリンタ情報の取得を定期的に行うことにより、プリントサーバ間でプリンタ情報取得のタイミングをずらしＤＢへのアクセス負荷を分散させることができる。
【０００７】
各プリントサーバがプリンタ情報キャッシュ更新のために、定期的にＤＢより最新プリンタ情報を取得した場合、プリントサーバ毎にプリンタ情報の取得のタイミングが異なるため、プリントサーバ間でプリンタ情報キャッシュに不整合が起こる。プリントサーバ内のプリンタ情報更新状況の管理を避けるために、最新情報を保持しているＤＢより毎回数千台にも及ぶプリンタ情報を取得することも考えられるが時間がかかってしまう。ＤＢで保持する最新プリンタ情報とプリントサーバで保持しているプリンタ情報キャッシュとの比較を行い、未更新なものだけを取得することで取得情報量を抑えることができる。しかし、ＤＢの大量のプリンタ情報から未更新のプリンタ情報を検索する必要があり、検索のためのＤＢ内のディスクアクセス負荷が高くなってしまう。ＤＢのディスクアクセスが集中するとＤＢからのデータ取得を待たされ、結果としてプリンタ情報取得に時間がかかることになってしまうため有効な手段とはいえない。このようにプリントサーバのプリンタ情報更新処理は負荷を増大させ、印刷システムのパフォーマンスを劣化させてしまうという課題がある。またプリントサーバによるプリンタ情報更新の負荷が高くなると、数十台のプリントサーバをクラスタ化した場合には印刷パフォーマンスが著しく低下するためクラスタ構成のスケーラビリティの制限にもなってしまう。
【０００８】
上述した特許文献１の方法ではプリントサーバはジョブ情報をＤＢに登録し、クライアントはＤＢからジョブ情報を取得することによりプリントサーバの負荷を軽減することができる。しかし前述の課題のようなＤＢへのアクセス負荷やＤＢ内のディスクアクセス負荷を軽減することはできない。
【０００９】
また上述した特許文献２の方法では、プリントサーバがプリンタ情報のキャッシュを更新する際に、ＤＢで保持される最新プリンタ情報との比較を行うことで、取得情報量を最低限に抑えることができる。しかしＤＢの大量のプリンタ情報から未更新の情報を検索する必要があり、ＤＢのディスクアクセス負荷を軽減することができない。
【００１０】
本発明はこのような問題点に鑑みなされたもので、印刷パフォーマンスを落とすことなくプリントサーバが保持するプリンタ情報のキャッシュを更新することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では、プリントサーバのプリンタ情報キャッシュ更新処理において、プリントサーバとプリンタが関係する更新管理テーブルでプリントサーバのプリンタ情報更新ステータスと、プリンタ削除ステータスを保持する。更新管理テーブルを用いてプリントサーバのプリンタ情報キャッシュの更新状況を管理することを特徴とする。
【００１２】
また、本発明は、プログラム及び記憶媒体としてもよい。
【発明の効果】
【００１３】
本発明によれば、印刷パフォーマンスを落とすことなくプリントサーバが保持するプリンタ情報のキャッシュを更新することができる。
【発明を実施するための最良の形態】
【００１４】
次に、本発明の詳細を実施の形態の記述に従って説明する。
【００１５】
以下、本発明の実施形態について図面に基づいて説明する。
【００１６】
＜実施形態１＞
（システム構成）
図１は、印刷システムのシステム構成の一例を示す図である。
【００１７】
印刷システムは、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  １１０（以下ＷＡＮと呼ぶ）を介して、印刷システムを制御するサーバシステム等とプリントデバイスとクライアント（クライアントコンピュータ）とが広域に接続されている。
【００１８】
ＤＢＭＳ１０４は、ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍであり、ストレージ１０５に保存されているドキュメントデータ、印刷ジョブやデバイス情報等のデータを管理する。なお、ＤＢＭＳ１０４はサーバコンピュータ等にインストールされたソフトウェアであり、サーバコンピュータのＣＰＵ等がＤＢＭＳ１０４に基づき処理を行う。しかしながら本実施形態では説明の簡略化のためＤＢＭＳ１０４が処理を行うものとして説明を行う。ＤＢＭＳ１０４は、他サーバから各種データの更新、取得、追加、削除等のオペレーションを受け付け、受け付けたオペレーションに応じて処理を実行する。
【００１９】
ストレージ１０５は、ＤＢＭＳ１０４とＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）として直接接続する形態をとってもよいし、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）としてネットワークを介して接続する形態をとってもよい。なお、大規模な印刷システムの場合、負荷分散するため、ＤＢＭＳ１０４（又はＤＢＭＳ１０４をインストールされたサーバコンピュータ）をクラスタ構成としたり、障害発生に備えて冗長性を持たせた構成としたりしてもよい。
【００２０】
プリントサーバシステム１０１は、印刷システムにおけるプリントデバイスの監視や管理、印刷ジョブの制御や監視、プリントデバイスへの印刷ジョブの転送を司るサーバコンピュータで構成されたシステムである。なお、プリントサーバシステム１０１においても大規模な印刷システムの場合、負荷分散するため、プリントサーバシステム１０１をクラスタ構成としたり、障害発生に備えて冗長性を持たせた構成としたりしてもよい。
【００２１】
また、プリントサーバシステム１０１は、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  １０９Ａ（以下ＬＡＮと呼ぶ）を介してＤＢＭＳ１０４やＷｅｂサーバシステム１０２と接続し、印刷ジョブデータや印刷制御指示、管理している印刷ジョブの情報等を交換する。
【００２２】
Ｗｅｂサーバシステム１０２は、ＷＡＮを介して接続する各フロントエンドのクライアント１０８へプリントサーバシステム１０１で管理している印刷ジョブの情報やＤＢＭＳ１０４で管理しているドキュメント情報を送信する。Ｗｅｂサーバシステム１０２は、サーバコンピュータで構成されたシステムであり、負荷分散するため、クラスタ構成としたり、障害発生に備えて冗長性を持たせた構成としたりしてもよい。
【００２３】
また、Ｗｅｂサーバシステム１０２は、クライアント１０８やプリントデバイス１０７からの印刷指示、印刷ジョブの操作を受け付け、プリントサーバシステム１０１へ指示を転送する。また、Ｗｅｂサーバシステム１０２は、後述するディレクトリサーバ１０３と連携してクライアント１０８やプリントデバイス１０７からのログインの認証管理を行う。Ｗｅｂサーバシステム１０２は、予めシステム設計者か若しくはドキュメント生成者が設定したユーザの権限情報を保持している。権限情報としては、例えばドキュメントの参照、印刷、削除権限、あるデバイスへの印刷権限、印刷ジョブの削除権限等がある。また、このユーザの権限情報はＷｅｂサーバシステム１０２で保存、管理してもよいし、ＤＢＭＳ１０４で保存、管理してもよい。
【００２４】
ディレクトリサーバ１０３は、例えばユーザ名及びパスワードの組み合わせ等によってユーザの認証管理を行うサーバコンピュータである。なお、各ユーザはそれぞれドメイングループに参加するような構成としてもよい。例えば、Ｗｅｂサーバシステム１０２、又はＤＢＭＳ１０４は、ドメイングループの権限をユーザ単体の権限とは違う範囲でドメイングループの権限情報等に設定することもできる。また、例えば、Ｗｅｂサーバシステム１０２は、ユーザを複数のドメイングループに参加できるようにユーザ情報、又はグループ情報等を設定してもよい。
【００２５】
プリントデバイス１０７Ａ、１０７Ｂ、１０７Ｃ及び１０７Ｄは、印刷デバイス（以下、プリントデバイス１０７と呼ぶ）である。各プリントデバイスは、図示省略したネットワークインタフェースを介しＬＡＮ１０９Ｂ若しくはＬＡＮ１０９Ｃに接続されている。またＬＡＮ１０９Ｂ若しくはＬＡＮ１０９ＣはＷＡＮ１１０と接続しており、プリントデバイス１０７は、このＬＡＮ及びＷＡＮを介してプリントサーバシステム１０１やＷｅｂサーバシステム１０２と通信を行うことができる。このプリントデバイス１０７としては電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタ等の画像処理装置を適宜適用することができる。
【００２６】
クライアント１０８Ａ、１０８Ｂ、１０８Ｃ及び１０８Ｄは情報処理を行うためのクライアントコンピュータ（以下、クライアント１０８と呼ぶ）である。各クライアント１０８は、図示省略したネットワークインタフェースを介しＬＡＮ１０９Ｂ若しくはＬＡＮ１０９Ｃに接続されている。またＬＡＮ１０９Ｂ若しくはＬＡＮ１０９ＣはＷＡＮ１１０と接続しており、クライアント１０８は、このＬＡＮ及びＷＡＮを介して各種サーバシステムと通信を行うことができる。クライアント１０８は、それぞれ永続記憶装置を接続したコンピュータであってもよいし、一時記憶装置のみによって構成されたＴｈｉｎ  Ｃｌｉｅｎｔ構成のコンピュータであってもよい。
【００２７】
（サーバコンピュータ及びクライアントコンピュータのハードウェア構成）
図２は、サーバコンピュータ、又はクライアントコンピュータのハードウェア構成の一例を示す図である。
【００２８】
ＣＰＵ２０３は、ＨＤＤ２０６に記憶されたプログラムをＲＡＭ２０５に読み込み、このプログラムに基づき処理を実行することによって、本装置（サーバコンピュータ、又はクライアントコンピュータ）上の各処理を司る。ＲＯＭ２０４は、本装置の各処理に関わるプログラムやデータを記憶し、書換え不可能である。ＲＡＭ２０５は、本装置の各処理に関わる一時的なデータを電気的に記憶でき、かつ書き換え可能である。本装置の各処理に関わるプログラムやデータ、及び一時的なデータ等はＨＤＤ２０６に記憶される。入力装置２０７は、本装置への指示入力を受け付けるキーボードやポインティングデバイスである。表示装置２０８は、本装置の動作状況や、本装置上で動作する各プログラムが出力する情報を表示する。ＮｅｔｗｏｒｋＩ／Ｆ２０２は、ネットワーク経由でＬＡＮ及びインターネットに接続し、外部と情報交換を行う。外部機器Ｉ／Ｆ２０１は外部記憶機器等を接続する。
【００２９】
（プリントデバイスのハードウェア構成）
図３は、プリントデバイスのハードウェア構成の一例を示す図である。
【００３０】
イメージリーダ３０２は、原稿給送部３０１で原稿を読み込む。イメージリーダ３０２及び画像形成部３０３は、読み込んだ原稿や、ネットワーク経由で受信したデータを印刷画像に変換・印刷出力する。排紙部３０４は印刷出力した紙を排出し、ソートやステイプル等の処理を施す。ＮｅｔｗｏｒｋＩ／Ｆ３０５はネットワーク経由でＬＡＮ及びインターネットに接続し、外部と情報交換を行う。ＣＰＵ３０６は、ＲＯＭ３０７、又はＨＤＤ３０９に記憶されたプログラムをＲＡＭ３０８に読み込み、このプログラムに基づき処理を実行することによって、本装置（プリントデバイス）上の各処理を司る。不揮発性記憶手段のＲＯＭ３０７は本装置の各処理に関わるプログラムやデータを記憶する。書き換え可能なＲＡＭ３０８は本装置の各処理に関わる一時的なデータを電気的に記憶する。ＨＤＤ３０９は本装置の各処理に関わるプログラムやデータ、及び一時的なデータ等を記憶する。操作部３１０は、後述する画面を表示したり、画面を介したユーザの操作指示を受け付けたりする。
【００３１】
（プリントデバイス）
図４は、プリントデバイスのソフトウェア構成及びハードウェア構成の一部を階層的に示す図である。図４において、画像形成部４１３は、図３の画像形成部３０３に対応し、紙のハンドリングや画像転写・定着等の一連の画像形成プロセスを実行して、記録紙等の記録媒体上に画像を形成する。この画像形成部４１３は、例えばインクジェットプリンタや電子写真方式の画像形成ユニットを備えている。
【００３２】
画像読み取り部４１７は、図３のイメージリーダ３０２に対応し、スキャナ等を備え、原稿画像を光学的に読み取ってディジタル画像情報に変換する。また、画像読み取り部４１７は、ディジタル画像情報を、画像形成部４１３に出力して画像を形成させたり、又はファックス部４１２やネットワークインタフェース部４１４等に渡して回線を介して伝送させたりする。
【００３３】
デバイスコントローラ４１０は、画像形成部４１３と、画像読み取り部４１７とのそれぞれの動作を制御し、例えば画像読み取り部４１７で読み取った原稿情報を画像形成部４１３で複写するよう制御する。また、デバイスコントローラ４１０は、ネットワークインタフェース部４１４、プリント処理部４１５、ファックス部４１２、操作部制御部４１１を有し、これら各部の間での情報のやり取りも制御する。なお、デバイスコントローラ４１０は、図３のＣＰＵ３０６、ＲＯＭ３０７、ＲＡＭ３０８、ＨＤＤ３０９等に対応する。
【００３４】
ファックス部４１２は、ファクシミリ画像の送受信、即ち、画像読み取り部４１７で読み取ったディジタル画像情報を送信したり、また逆に、受信したファクシミリ信号を復号し、画像形成部４１３で記録したりする等の処理を実行する。
【００３５】
操作部制御部４１１は、操作部３１０の操作パネルを使用したユーザの操作に応じた信号を発生したり、また操作部３１０（又は表示部）等に各種データやメッセージ等を表示したりするよう、制御を行う。
【００３６】
プリント処理部４１５は、例えばネットワークインタフェース部４１４を介して入力された印刷データを処理して画像形成部４１３に出力し、印刷する等の制御を行う。ネットワークインタフェース部４１４は、通信回線を介して他の通信端末との間のデータの送受信を制御する。
【００３７】
仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）４０５は、デバイスコントローラ４１０の上位に位置し、この仮想マシン４０５からデバイスコントローラ４１０を制御できるように構成されている。
【００３８】
また、ネットワークインタフェース部４１４は、デバイスコントローラ４１０と、仮想マシン４０５との双方から直接利用でき、それぞれ独立して外部ネットワークにアクセスすることができるよう構成されている。
【００３９】
更に、仮想マシン４０５の上位には、仮想マシン４０５が提供するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）に対応したプログラミング言語で記述されたアプリケーションが存在している。これらのアプリケーション（４０１、４０２、４０３）は、仮想マシン４０５を介して間接的にデバイスコントローラ４１０に働きかけることができ、また画像形成部４１３や画像読み取り部４１７を動作させることができる。さらに、これらのアプリケーション仮想マシン４０５上からアンインストールしたり、更に新たにアプリケーション４０４としてインストールしたりする事が可能なように構成されている。
【００４０】
また、上述したアプリケーションは本実施形態としてはプリントデバイス１０７にインストールされるアプリケーションとして説明したが、ハードウェアとして備えられていてもよい。また外部装置としてプリントデバイス１０７と通信可能に接続されたコンピュータ上のアプリケーションとして備えていてもよい。
【００４１】
外部記憶装置制御部４１６は、画像読み取り部４１７で読み取った画像を画像形成部４１３で外部記憶装置に保存可能なデータフォーマットに変換させ、この変換させた画像を外部記憶装置に保存する。また、外部記憶装置制御部４１６は、外部記憶装置に保存したデータを読み出し、画像形成部４１３を介して印刷処理を行ったり、ネットワークインタフェース部４１４を介して外部にネットワーク送信したりする。
【００４２】
また、本実施形態においてはプリントデバイス１０７へのログイン手段としてＩＣカードリーダ４１８が通信可能に接続されており、このＩＣカードリーダ４１８を介してユーザのアカウント情報を認証アプリケーション４０３に通知することが可能である。なお、ログイン手段としては他の手段でもよく、例えば、操作部制御部４１１が管理する操作部（デバイスパネル）から入力する手段でもよい。
【００４３】
（Ｗｅｂサーバシステム）
Ｗｅｂサーバシステム１０２は上述したとおり、負荷分散するためのクラスタ構成が通例であり、複数のＷｅｂサーバコンピュータから構成される。ＷｅｂサーバコンピュータにインストールされているＷｅｂサーバはＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムにおいて情報通信を行うサーバであり、ソフトウェアである。
【００４４】
Ｗｅｂサーバシステム１０２は、以下の機能を備える。
【００４５】
フロントエンドのクライアント１０８からのログインによってユーザアカウント情報（ユーザ名）及びパスワードを得て、ディレクトリサーバ１０３へ認証を行う。ログイン認証に成功すると、ユーザのドキュメントの参照権限を承認する。承認された参照権限にしたがってＤＢＭＳ１０４からドキュメントの情報を取得し、ログインしているクライアント１０８へ情報を送信する。また、クライアント１０８からのドキュメントの印刷指示を得て、ドキュメントＩＤを付与した印刷指示をプリントサーバシステム１０１へ送信する。
【００４６】
上述した参照権限の承認ポリシーとしては、例えば所属するドメイン全てのユーザのドキュメントが参照可能であるポリシーや、ユーザ本人のドキュメントのみ参照可能等のポリシー等がある。また、それらは印刷システムを導入するユーザのポリシーによって柔軟に設計可能である。また、Ｗｅｂサーバシステム１０２は、この承認について、ドキュメントの参照のみでなく、ドキュメントの印刷権限、印刷ジョブの削除権限、プロモート権限等の権限設定が可能である。
【００４７】
Ｗｅｂサーバへのアクセスを行うクライアントはプリントデバイス１０７上の仮想マシン４０５にインストールされた認証アプリケーションとプルプリントアプリケーションでもよい。その場合には、認証アプリケーションからのログインをＷｅｂサーバが受け付けて認証・承認を行い、承認されたドキュメント情報をプルプリントアプリケーションが受信し、プルプリントアプリケーションからＷｅｂサーバへ印刷指示を行う。
【００４８】
（ＤＢＭＳ）
ＤＢＭＳ１０４はカード型、リレーショナル型、オブジェクト型等の様々なデータ管理方法を採用することができる。本実施形態においてＤＢＭＳ１０４は最も広く普及しているリレーショナル型として説明を行う。ＤＢＭＳ１０４は、ドキュメント情報、デバイス情報、デバイス情報更新管理情報、プリントサーバ起動状況管理情報をテーブル情報として保持している。
【００４９】
ドキュメントテーブルは、ドキュメントの識別子であるドキュメントＩＤ、ドキュメント名、ドキュメントの登録者のユーザ名などからなる。ジョブテーブルは、ドキュメントＩＤ、ジョブＩＤ、印刷指示を行ったユーザ名、印刷ジョブのステータスなどからなる。
【００５０】
図５は、デバイス情報５００の一例を示す図である。デバイス情報５００は、デバイス名５０１、デバイスの通信先アドレス５０２、通信ポート番号５０３、印刷データの転送方式５０４及びデバイスのステータス５０５などからなる。印刷データの転送方式５０４は例えば、データをストリームとしてＴＣＰ／ＩＰにより連続送信するＲＡＷ，ＬＰＲ（Ｌｉｎｅ  ＰＲｉｎｔｅｒ  ｄｅａｍｏｎ  ｐｒｏｔｏｃｏｌ）、ＨＴＴＰにより送信する方法等がある。
【００５１】
図６は、デバイス情報更新管理テーブル６００の一例を示す図である。デバイス情報更新管理情報はデバイス名６０１、削除フラグ６０２、プリントサーバ名６０３、更新済みフラグ６０４からなる。デバイス名６０１にはデバイス情報変更が行われたデバイス名が入る。削除フラグ６０２にはデバイス情報変更がデバイス削除なのかどうかを判断するフラグである。デバイス情報削除が行われた場合に削除フラグ６０２をＴＲＵＥにし、デバイス情報変更やデバイス情報追加の場合にはＦＡＬＳＥが格納される。プリントサーバ名６０３には後述するデバイス情報キャッシュを更新する必要があるプリントサーバ名が入る。更新済みフラグ６０４とは変更されたデバイス情報をプリントサーバが取得したかどうかのフラグである。プリントサーバが変更されたデバイス情報を取得し後述するデバイス情報キャッシュを更新すればＴＲＵＥ、更新されていない場合にはＦＡＬＳＥが格納される。
【００５２】
削除フラグ６０２と更新済みフラグ６０４が取り得る値について本実施例ではＴＲＵＥ／ＦＡＬＳＥの２値としているが、数字や文字列などの多値として削除状況や変更状況のステータスを保持してもよくデータ保持の仕方は問わない。
【００５３】
図７は、プリントサーバ起動状況管理テーブル７００の一例を示す図である。プリントサーバ起動状況管理情報は、プリントサーバ名７０１と稼動フラグ７０２からなる。稼動フラグ７０２とはプリントサーバが稼動しているかどうかのフラグであり、稼動中の場合にＴＲＵＥ、停止している場合にＦＡＬＳＥが格納される。
【００５４】
稼動フラグ７０２が取り得る値について本実施例ではＴＲＵＥ／ＦＡＬＳＥの２値としているが、数字や文字列などの多値として稼動状況のステータスを保持してもよくデータ保持の方法は問わない。
【００５５】
（プリントサーバシステム）
図８は、プリントサーバシステム１０１のシステム構成の一例を示す図である。
【００５６】
図８に示されるように本実施形態のプリントサーバシステム１０１は、複数台のプリントサーバ（プリントサーバコンピュータ）８０１がＬＡＮ１０９Ａと負荷分散するためのスイッチ機構であるロードバランサ８０２とを介して接続されている。ロードバランサ８０２は、複数台のプリントサーバ８０１の負荷状況を把握し、負荷のかかっていないプリントサーバ８０１に対してリクエスト（要求）を優先的に発行し、負荷分散を行う。負荷状況の把握方法としては、単純にリクエストを順次、各プリントサーバ８０１に回していくラウンドロビン方法や、規定のリクエストを定期的に各プリントサーバ８０１に送出し、返信までかかった時間を負荷として判断する方法等がある。
【００５７】
プリントサーバ８０１の機能構成について説明する。
【００５８】
プリントサーバ８０１は、機能構成として、ＡＰＩ８０３、ＤＢドライバ８０４、ジョブマネージャ８０５、デバイスマネージャ８０６を含む。
【００５９】
ＡＰＩ８０３は、Ａｐｐｌｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅである。ＡＰＩ８０３は、Ｗｅｂサーバシステム１０２や他の印刷可能なドキュメントを生成するサーバからのドキュメント登録、ドキュメントの印刷リクエストや印刷ジョブの制御リクエストを受け付ける。この他の印刷可能なドキュメントを生成するサーバとしては、例えば定型帳票を作成するような帳票サーバや、ユーザのドキュメントを一括管理するドキュメント管理サーバ等がある。
【００６０】
ＤＢドライバ８０４は、ドキュメント登録リクエストを受けて、ＤＢＭＳ１０４へドキュメントを登録する場合や、印刷リクエストを受けて印刷データをＤＢＭＳ１０４から取得する場合等、ＤＢＭＳ１０４との通信を行うモジュールである。
【００６１】
ジョブマネージャ８０５は、以下の機能を有する。
【００６２】
ＡＰＩ８０３で受け付けたドキュメントを、ＤＢドライバ８０４を介してＤＢＭＳ１０４へ登録する。ＡＰＩ８０３で印刷リクエストを受け付けると、ＤＢドライバ８０４を介してＤＢＭＳ１０４から印刷するドキュメントデータを取得し印刷ジョブとして管理する。また取得したドキュメントを印刷すべきプリントデバイス１０７へ印刷するよう、後述するデバイスマネージャ８０６へ指示する。
【００６３】
デバイスマネージャ８０６は、ＤＢドライバ８０４を用いてＤＢＭＳ１０４で保持しているデバイス情報５００を定期的に取得しデバイス情報キャッシュとして保持している。本実施例ではデバイス情報キャッシュはＤＢＭＳ１０４で保持しているデバイス情報５００と同じとしているが、デバイスマネージャ８０６で必要とする情報に絞ってもよい。
【００６４】
デバイスマネージャ８０６は、ジョブマネージャ８０５から印刷データの送信リクエストを受け付けると、デバイス情報キャッシュを元にプリントデバイス１０７への印刷を開始する。
【００６５】
（デバイス情報キャッシュの更新フロー）
図９にプリントサーバ８０１で保持するデバイス情報キャッシュの更新フローを示す。プリントサーバ８０１が保持するデバイス情報キャッシュはプリントサーバ８０１の起動時にＤＢＭＳ１０４より最新のデバイス情報５００を取得しキャッシュする。起動中はＤＢへの負荷や印刷パフォーマンスを考慮し、定期的にデバイス情報キャッシュの更新を行っている。
【００６６】
プリントサーバ８０１はデバイス情報キャッシュを更新するタイミングが来ると、まずＤＢＭＳ１０４で保持するデバイス情報更新管理テーブル６００より自プリントサーバ名で登録されている全レコードを取得する（Ｆ９０１）。そしてＦ９０２〜Ｆ９０８において取得した全レコードを１レコードずつ処理する。まずＦ９０３において更新済みフラグ６０４の確認を行う。更新済みフラグ６０４がＴＲＵＥの場合にはすでにデバイス情報キャッシュを更新済みとして次のレコード処理へ移る。更新済みフラグ６０４がＦＡＬＳＥの場合にはデバイス情報キャッシュの更新処理を行う。デバイス情報キャッシュの更新処理において、削除フラグ６０２を確認し（Ｆ９０４）、ＴＲＵＥの場合にはデバイス情報キャッシュの削除する（Ｆ９０５）。削除フラグ６０２がＦＡＬＳＥの場合にはＤＢＭＳ１０４より最新のデバイス情報５００を取得し（Ｆ９０６）、デバイス情報キャッシュを更新する（Ｆ９０７）。
【００６７】
デバイス情報更新管理テーブル６００に追加されるレコード変更があったデバイス情報５００についてのみである。したがってデバイス情報更新管理テーブル６００を参照することによりプリントサーバ８０１は必要なデバイス情報５００のみを取得しデバイス情報キャッシュを更新することができる。
【００６８】
（システム管理サーバ）
図１０はシステム管理サーバ１０６の機能構成を示した図である。
【００６９】
システム管理サーバ１０６は機能構成としてＤＢドライバ１００１、プリントサーバマネージャ１００２、デバイス情報変更受付部１００３、デバイス情報更新管理マネージャ１００４を含む。
【００７０】
ＤＢドライバ１００１はシステム管理サーバ１０６がＤＢＭＳ１０４で保持している情報を操作（取得、更新、追加、削除など）する場合にＤＢＭＳ１０４と通信を行うモジュールである。
【００７１】
プリントサーバマネージャ１００２はプリントサーバ８０１の起動状況の確認を行い、停止しているの場合にはプリントサーバ起動状況管理テーブル７００の該当プリントサーバ名７０１に対応する稼動フラグ７０２をＦＡＬＳＥにする。プリントサーバ８０１の起動状況の確認は一般的に定期的に時間間隔で行われる。起動状況を確認する手段としてはＰｉｎｇ応答の有無やＴＣＰ／ＩＰにおけるＡＣＫの応答の有無などがあるが、手段は問わない。またプリントサーバ８０１が印刷システムに新たに追加された場合には、プリントサーバ起動状況管理テーブル７００に追加されたプリントサーバ名７０１と稼動フラグ７０２がＴＲＵＥのレコードを追加する。プリントサーバ８０１が印刷システムから削除された場合には、プリントサーバ起動状況管理テーブル７００とデバイス情報更新管理テーブル６００より該当レコードを削除する。システム管理サーバ１０６が管理するプリントサーバ８０１の台数の変更手段としては、ツールを準備しファイルから読み込ませる。プリントサーバ８０１の台数変更手段は、Ｗｅｂサーバシステム１０２がユーザオペレーションを受け付けシステム管理サーバ１０６へ通知する方法や初期化ファイルを変更し再起動する方法が考えられ、手段は問わない。
【００７２】
デバイス情報変更受付部１００３はデバイス情報変更を受け付け、ＤＢＭＳ１０４が保持するデバイス情報５００の更新を行う。デバイス情報変更を受け付ける手段としてはＷｅｂサーバシステム１０２がシステム管理サーバ１０６へ通知する。デバイス情報変更手段としてはツールによりファイルから読み込ませる方法や、初期化ファイルを変更し再起動する方法が考えられるが手段は問わない。デバイス情報変更受付部はデバイス情報５００の変更を受け付けたら後述するデバイス情報更新管理マネージャ１００４に通知する。通知される情報としてはデバイス情報５００の変更があったデバイス名と変更、追加、削除のデバイス情報変更のオペレーションである。
【００７３】
デバイス情報更新管理マネージャ１００４はＤＢＭＳ１０４が保持するデバイス情報更新管理テーブル６００のテーブル操作を行う。デバイス情報変更受付部１００３によりデバイス情報更新を通知された場合ＤＢドライバ１００１を使用しデバイス情報更新管理テーブル１００４の操作を行う。また定期的にデバイス情報更新管理テーブル６００にアクセスし、不要なレコードの削除を行う。
【００７４】
（デバイス情報更新時のデバイス情報更新管理テーブル６００の操作）
図１１にデバイス情報更新管理マネージャ１００４がデバイス情報変更受付部１００３からデバイス情報５００の変更の通知を受けた時のフローチャートを示す。まずＦ１１０１においてデバイス情報変更受付部１００３からデバイス情報変更の通知を受け取ると、プリントサーバ起動状況管理テーブル７００より稼動フラグ７０２がＴＲＵＥとなっているレコードを取得する（Ｆ１１０２、Ｆ１１０３）。Ｆ１１０２、Ｆ１１０３におけるレコードの取得は全レコードを取得しシステム管理サーバ１０６内で稼動フラグ７０２の確認を行ってもよいし、ＤＢＭＳ１０４の検索機能を用いて稼動フラグ７０２がＴＲＵＥとなっているレコードのみを取得してもよい。次にＦ１１０４〜Ｆ１１１２においては稼動フラグ７０２がＴＲＵＥである稼動中の全プリントサーバ８０１について処理を行う。まずＦ１１０５においてデバイス情報更新管理テーブル６００より稼動中のプリントサーバ名とデバイス情報の変更があったデバイス名で検索し該当するレコードを取得する。Ｆ１１０６において検索の結果、該当するレコードが存在しなかった場合、デバイス情報変更受け付け処理Ｆ１１０１におけるオペレーションによりデバイス情報変更管理テーブル６００に追加するレコードが異なる。デバイス情報５００の変更または追加だった場合にはデバイス名、削除フラグ６０２はＦＡＬＳＥ、プリントサーバ名、更新済みフラグ６０４はＦＡＬＳＥのレコードを追加する（Ｆ１１０８）。一方、デバイス情報５００の削除だった場合にはデバイス名、削除フラグ６０２はＴＲＵＥ、プリントサーバ名、更新済みフラグ６０４はＦＡＬＳＥのレコードを追加する（Ｆ１１０９）。Ｆ１１０５、Ｆ１１０６においてデバイス情報更新管理テーブル６００に該当レコードが存在する場合には、そのレコードの更新済みフラグ６０４を確認する（Ｆ１１１０）。そしてＦ１１１０において更新済みフラグ６０４がＴＲＵＥだった場合には更新済みフラグ６０４をＦＡＬＳＥに変更する（Ｆ１１１１）。更新済みフラグ６０４がＦＡＬＳＥだった場合には、デバイス情報変更管理テーブル６００の更新を行わずＦ１１１２で次の処理に移る。Ｆ１１０４〜Ｆ１１１２において稼動中である全てのプリントサーバ８０１についての処理を行い、デバイス情報更新時のデバイス情報更新テーブル６００更新処理を終了する。
【００７５】
（デバイス情報更新管理テーブル６００の定期的な整理）
図１２にデバイス情報更新管理マネージャ１００４が定期的にデバイス情報更新管理テーブル６００の整理を行う際のフローチャートを示す。
【００７６】
まずプリントサーバ起動状況管理テーブル７００より全レコードを取得する（Ｆ１２０１）。次にＦ１２０２で稼動フラグ７０２がＦＡＬＳＥとなっている全プリントサーバ８０１についてＦ１２０３〜Ｆ１２０５の処理を行う。Ｆ１２０４では稼動フラグ７０２がＦＡＬＳＥとなっている起動していないプリントサーバ８０１について、デバイス情報更新管理テーブル６００よりプリントサーバ名６０１で検索し該当レコードを削除する。Ｆ１２０３〜Ｆ１２０５において稼動していない全てのプリントサーバについての処理が終わると次の処理に移る。
【００７７】
次の手順としてデバイス情報更新管理テーブル６００より更新済みフラグ６０４がＴＲＵＥとなっているレコードを取得する（Ｆ１２０６、Ｆ１２０７）。Ｆ１２０６、Ｆ１２０７におけるレコードの取得は全レコードを取得しシステム管理サーバ１０６内で更新済みフラグ６０４の確認を行ってもよいし、ＤＢＭＳ１０４の検索機能を用いて更新済みフラグ６０４がＴＲＵＥとなっているレコードのみを取得してもよい。更新済みフラグ６０４がＴＲＵＥとなっている全てのレコードについて、デバイス情報更新管理テーブル６００からレコードを削除する（Ｆ１２０９）。Ｆ１２１０において更新済みフラグ６０４がＴＲＵＥとなっている全てのレコードの削除が完了するとデバイス情報更新管理マネージャ１００４のデバイス情報更新管理テーブル６００の定期整理を終了する。
【００７８】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００７９】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００８０】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００８１】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００８２】
以上、上述した実施形態によれば、印刷パフォーマンスを落とすことなくプリントサーバが保持するデバイス情報のキャッシュを更新することができる。
【００８３】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００８４】
【図１】印刷システムのシステム構成の一例を示す図である。
【図２】サーバコンピュータ、又はクライアントコンピュータのハードウェア構成の一例を示す図である。
【図３】プリントデバイスのハードウェア構成の一例を示す図である。
【図４】プリントデバイスのソフトウェア構成及びハードウェア構成の一部を階層的に示す図である。
【図５】デバイス情報５００の一例を示す図である。
【図６】デバイス情報更新管理テーブル６００の一例を示す図である。
【図７】プリントサーバ起動状況管理テーブル７００の一例を示す図である。
【図８】プリントサーバシステム１０１のシステム構成の一例を示す図である。
【図９】プリントサーバ８０１が保持するデバイス情報５００のキャッシュを更新する処理の一例を示すフローチャートである。
【図１０】システム管理サーバ１０６のシステム構成の一例を示す図である。
【図１１】デバイス情報５００の変更があったときのシステム管理サーバ１０６がデバイス情報更新管理テーブル６００を更新する処理の一例を示すフローチャートである。
【図１２】システム管理サーバ１０６がデバイス情報更新管理テーブル６００の整理を行う処理の一例を示すフローチャートである。
【符号の説明】
【００８５】
１０１  プリントサーバシステム
１０２  Ｗｅｂサーバシステム
１０３  ディレクトリサーバ
１０４  ＤＢＭＳ
１０５  ストレージ
１０６  システム管理サーバ
１０７  プリントデバイス
１０８  クライアント
１０９  ＬＡＮ
１１０  ＷＡＮ
６００  デバイス情報更新管理テーブル
７００  プリントサーバ起動状況管理テーブル
８０１  プリントサーバ
【図１】
2009217353.tif 000003
【図２】
2009217353.tif 000004
【図３】
2009217353.tif 000005
【図４】
2009217353.tif 000006
【図５】
2009217353.tif 000007
【図６】
2009217353.tif 000008
【図７】
2009217353.tif 000009
【図８】
2009217353.tif 000010
【図９】
2009217353.tif 000011
【図１０】
2009217353.tif 000012
【図１１】
2009217353.tif 000013
【図１２】
2009217353.tif 000014