(57)【要約】【課題】  印刷スプーラを停止させないとインストールが不可能なモジュールが存在する。前記モジュールをインストールすると印刷が中止されてしまうので、システムとしては印刷を続行したまま、なるべく効率よく速やかにインストールを行うこと。【解決手段】  クラスタサーバ構成のシステムにインストールが開始されると、現在インストール対象のノードから他のノードへ印刷ジョブを振り分け、インストール対象が次ぎのノードへ移行すると、さらに他のノードへ印刷ジョブを振り分ける。前記処理は印刷ジョブが無くなるか、もしくはインストールが終了するまで続けられる。【選択図】        図１
2006277528.tif 000002
【特許請求の範囲】
【請求項１】
インストール命令・データ送信手段、印刷スプーラが起動いているか否かの判断手段、インストール実行手段、印刷スプーラに印刷データが存在するか否かの判断手段、印刷スプーラ停止手段、印刷スプーラ停止後インストール実行手段、印刷スプーラ起動手段、印刷データを他のノードへ振り分ける手段、処理待ちが一定時間が経過したか否かの判断手段、異常終了通知手段、印刷データ移動依頼取得手段、印刷データ移動依頼の有無チェック手段、印刷スプーラが起動しているか否かの判断手段、印刷スプーラ起動・印刷スプーラ起動状態記録手段、印刷データ送受信手段、印刷手段、インストール終了通知取得手段、全ノードがインストール終了したか否かの判断手段、印刷スプーラの初期状態に応じて印刷スプーラを停止させる手段、インストール終了処理手段、一定時間経過判断手段、他ノード異常有りの終了処理手段を有することを特徴とする分散印刷システムインストール装置。
【請求項２】
インストール命令・データ送信ステップ、印刷スプーラが起動いているか否かの判断ステップ、インストール実行ステップ、印刷スプーラに印刷データが存在するか否かの判断ステップ、印刷スプーラ停止ステップ、印刷スプーラ停止後インストール実行ステップ、印刷スプーラ起動ステップ、印刷データを他のノードへ振り分けるステップ、処理待ちが一定時間が経過したか否かの判断ステップ、異常終了通知ステップ、印刷データ移動依頼取得ステップ、印刷データ移動依頼の有無チェックステップ、印刷スプーラが起動しているか否かの判断ステップ、印刷スプーラ起動・印刷スプーラ起動状態記録ステップ、印刷データ送受信ステップ、印刷ステップ、インストール終了通知取得ステップ、全ノードがインストール終了したか否かの判断ステップ、印刷スプーラの初期状態に応じて印刷スプーラを停止させるステップ、インストール終了処理ステップ、一定時間経過判断ステップ、他ノード異常有りの終了処理ステップを有することを特徴とする分散印刷システムインストール方法。
【請求項３】
インストール命令・データ送信ステップ、印刷スプーラが起動いているか否かの判断ステップ、インストール実行ステップ、印刷スプーラに印刷データが存在するか否かの判断ステップ、印刷スプーラ停止ステップ、印刷スプーラ停止後インストール実行ステップ、印刷スプーラ起動ステップ、印刷データを他のノードへ振り分けるステップ、処理待ちが一定時間が経過したか否かの判断ステップ、異常終了通知ステップ、印刷データ移動依頼取得ステップ、印刷データ移動依頼の有無チェックステップ、印刷スプーラが起動しているか否かの判断ステップ、印刷スプーラ起動・印刷スプーラ起動状態記録ステップ、印刷データ送受信ステップ、印刷ステップ、インストール終了通知取得ステップ、全ノードがインストール終了したか否かの判断ステップ、印刷スプーラの初期状態に応じて印刷スプーラを停止させるステップ、インストール終了処理ステップ、一定時間経過判断ステップ、他ノード異常有りの終了処理ステップから成るプログラムを有したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分散印刷システムインストール装置及びその方法及び記憶媒体に関する。
【背景技術】
【０００２】
複数のコンピュータをネットワーク等で接続し、一つのシステムとして利用する技術のことをクラスタリングと呼び、そのシステムのことをクラスタ・システムと呼ぶ。クラスタ・システムの各コンピュータをノードと呼ぶ場合があり、以下でもノードと呼ぶ。
【０００３】
クラスタリングの長所として、複数のコンピュータに処理を分散させることで、システム全体のパフォーマンスの向上を図ることと、ある１台のサーバが異常停止した場合に、他のサーバが処理を代行できることが上げられる。
【０００４】
複数のコンピュータに処理を分散させることで、システム全体のパフォーマンスの向上を図る形態をロードバランス型クラスタ・システムという。ロードバランス型のクラスタ・システムを印刷サーバとして利用する場合、ユーザのコンピュータから印刷を行うと、印刷時に負荷の少ないノードに印刷ジョブが割り当てられる。各ノードには、印刷データを蓄積し、印刷を制御する印刷スプーラと呼ばれる実行ファイルが備わっている。
【０００５】
印刷中に印刷スプーラを停止すると印刷データが削除されてしまう場合がある。印刷制御を行うソフトウェアなどは印刷スプーラに依存している場合がある。印刷スプーラに依存するソフトウェアをクラスタ・システムにインストールする場合には、印刷スプーラが起動しているとインストールが出来ない場合があるため、前記ソフトウェアをインストールするためには印刷スプーラを停止しなければならない。
【特許文献１】特開２００４−１２７１１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
先に述べたように、印刷スプーラを停止すると、印刷データが消去されてしまう場合があるので、印刷を続けながらも、印刷スプーラに依存するソフトウェアを速やかにインストールすることができる分散印刷システムインストール装置及びその方法及び記憶媒体を提供することが本発明の目的である。
【課題を解決するための手段】
【０００７】
インストール命令・データ送信手段、印刷スプーラが起動いているか否かの判断手段、インストール実行手段、印刷スプーラに印刷データが存在するか否かの判断手段、印刷スプーラ停止手段、印刷スプーラ停止後インストール実行手段、印刷スプーラ起動手段、印刷データを他のノードへ振り分ける手段、処理待ちが一定時間が経過したか否かの判断手段、異常終了通知手段、印刷データ移動依頼取得手段、印刷データ移動依頼の有無チェック手段、印刷スプーラが起動しているか否かの判断手段、印刷スプーラ起動・印刷スプーラ起動状態記録手段、印刷データ送受信手段、印刷手段、インストール終了通知取得手段、全ノードがインストール終了したか否かの判断手段、印刷スプーラの初期状態に応じて印刷スプーラを停止させる手段、インストール終了処理手段、一定時間経過判断手段、他ノード異常有りの終了処理手段によって上記課題を解決する。
【発明の効果】
【０００８】
本発明によれば、印刷スプーラを停止させなくても、インストールを行うことができるため、印刷データを損なわずにインストールを行えるという効果がある。また、すべての印刷終了を待たなくても速やかにインストールを行うことができるという効果がある。
【発明を実施するための最良の形態】
【０００９】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【００１０】
以下で、図面を用いて、分散システムにおけるソフトウェアのインストール方法についての実施例の説明を行う。
【００１１】
本発明の実施に必要な機器の構成を図１に示す。また、図２は分散システムにおけるソフトウェアのインストール方法の手順についてのフローチャートである。
【００１２】
なお、以下の説明において特に指定のない限り、実行や判断の主体はハードウェア的にはＣＰＵであり、一方ソフトウェア的には分散システムにおけるソフトウェアをインストールするためのソフトウェアである。
【００１３】
まず、図２のステップＳ１０１において、クライアントＰＣ（図１のＰＣ００１）から図１のＮＯＤ００１、ＮＯＤ００２，ＮＯＤ００２で構成されるクラスタ・システムに対して、インストールが開始される。実際には、クラスタ・システムの各ノードに対して、インストールが開始命令とインストールするデータ図１のＤＡＴ００１は図１のＰＣ００１から各ノードに送られる。インストール命令を受け取った各ノードにおいては、ステップＳ１０２において、印刷スプーラが起動しているか否かを判断される。ステップＳ１０２で印刷スプーラが起動していないと判断されれば、ステップＳ１０３に移行し、そのノードでインストール操作が実行される。インストール後は、他のノードにインストール終了通知を出し、ステップＳ１１１に移行する。
【００１４】
ステップＳ１０２で、印刷スプーラが起動していると判断されれば、ステップＳ１０４へ移行し、ステップＳ１０４では、印刷データがそのノードにおいて蓄積されているか否かを判断する。ステップＳ１０４で印刷データが存在しないと判断されれば、ステップＳ１０５へ移行し、ステップＳ１０５では、印刷スプーラを停止し、ステップＳ１０６で、インストールが実行される。インストールが終了したら、他のノードにインストール終了通知を送信し、ステップＳ１０７へ移行し、印刷スプーラが再起動される。印刷スプーラが起動したら、ステップＳ１１１に移行する。
【００１５】
ステップＳ１０４で印刷データが存在すると判断された場合には、ステップＳ１０８へ移行し、ステップＳ１０８では、データを移動させたい旨を他のノードへ通知する。例えば、ノード図１のＮＯＤ００１から、ノード図１のＮＯＤ００２，ＮＯＤ００３，ＮＯＤ００４に通知される。通知する対象ノードは、ソフトウェア内部で予め設定されたノードか、もしくは全ノードまたは特定のノードをユーザまたは管理者が指定できる。
【００１６】
さらに、他のノードからのインストール終了通知を受け取っていれば、インストール終了通知送信元のノードにデータを移動要求を送信することも可能である。その後、ステップＳ１０９へ移行する。ステップＳ１０９では、ユーザまたは管理者に予め設定されている一定時間か、ソフトウェア内で予め定義されている一定時間が経過したかを判断し、一定時間経過していれば、ステップＳ１１０で異常終了通知（インストール未完了であること）を各ノードまたはクライアントＰＣまたはそのすべてに送信し、終了する。
【００１７】
ステップＳ１０９で一定時間が経過していないと判断された場合には、ステップＳ１０２へ移行し、それ以降のステップを繰り返す。
【００１８】
インストールが終了した後のステップＳ１１１では、他のノードからの印刷データ移動要求の通知を取得し、ステップＳ１１２で前記通知があるか否かを判断し、通知があると判断されれば、ステップＳ１１３へ移行する。ステップＳ１１３では印刷スプーラが起動しているか否かを判断し、もし、印刷スプーラが起動していなければステップＳ１１４でスプーラの停止もしくは起動かの状態を記録し、印刷スプーラを起動し、その後にステップＳ１１５に移行し、他のノードの印刷データを受け取る操作を行う。
【００１９】
ステップＳ１１５の内部動作は、印刷データを受け取る準備が出来たことを印刷データを持っているノードに通知し、印刷データを持っているノード（例えば、ＮＯＤ００３）は印刷データを印刷スプーラ（例えば図１のＳＰＲ００３）から取り出し、準備が出来た相手のノード（例えば図１のＮＯＤ００１、ＮＯＤ００２に）に印刷データ（例えば図１のＪＯＢ００１、ＪＯＢ００２）を送信し、各ノードの印刷スプーラ（例えば図２のＳＰＲ００１、ＳＰＲ００２）で処理される。印刷データを取得したノードはステップＳ１１６で（プリンタ図１のＰＲＴ００１に対して）印刷を行い、再び、ステップＳ１１１に移行する。
【００２０】
ステップＳ１１２で印刷データ移動待ちのノードがないと判断されれば、ステップＳ１１７へ移行し、各ノードからのインストール終了通知、インストール未完了通知情報を取得する。ステップＳ１１８では、すべてのノードのリストと前記終了通知を照合し、全ノードからの通知が届いていれば、すべて完了と見なし、ステップＳ１１９では印刷スプーラをステップＳ１１４で記録した状態に戻す。最後にステップＳ１２０で終了処理を行う。
【００２１】
ステップＳ１１８ですべてのインストールが終了していないと判断されれば、ステップＳ１２１で本発明のソフトウェアに定義される値か予めユーザもしく管理者が設定した一定時間が経過したかを判断し、一定時間が経過していなければ、ステップＳ１１７に移行し、それ以降の処理を繰り返し行う。ステップＳ１２１で一定時間が経過したと判断されれば、ステップＳ１２２の処理で、何らかの原因で終了通知が届かなかったと見なし、終了通知が届いていないノードのリストをクライアントＰＣと各ノードに送信して、インストール終了処理を行う。
【００２２】
上記で説明した本発明に係るプログラムは、外部からインストールされるプログラムによって、最初にＰＣを表す図３の５００によって遂行されて、図３の５００から各ノードに配送されてもよい。その場合、そのプログラムはＣＤ−ＲＯＭやフラッシュメモリやフロッピー（登録商標）ディスクなどの記憶媒体により、あるいは電子メールやパソコン通信などのネットワークを介して、外部の記憶媒体からプログラムを含む情報群を図３の５００上にロードすることにより、図３の５００に供給される場合でも本発明は適用されるものである。
【００２３】
図４は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８およびプログラムを記憶してある領域９９９７の位置を示している。９９９８は、インストールプログラムを記憶してある領域である。９９９７は、プログラムを記憶してある領域である。
【００２４】
本発明のプログラムがＰＣ５００にインストールされる際には、まずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ５０１によって実行される。次に、ＣＰＵ５０１によって実行されるインストールプログラムが、プログラムを記憶してある領域９９９７からプログラムを読み出して、ハードディスク５１１に格納する。
【００２５】
前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００２６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００２７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００２８】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００２９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００３０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【図面の簡単な説明】
【００３１】
【図１】本発明に必要な装置の構成を示す図
【図２】本発明を実施する手順のフローチャート
【図３】本発明のソフトウェアが稼動可能なＰＣの構成を示すブロック図
【図４】記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図
【符号の説明】
【００３２】
ＰＣ００１  印刷命令とインストールを命令を出すクライアントのＰＣ
ＮＯＤ００１  クラスタ・システムの１つのノード
ＮＯＤ００２  クラスタ・システムの１つのノード
ＮＯＤ００３  クラスタ・システムの１つのノード
ＳＰＲ００１  １つのノード内の印刷スプーラ
ＳＰＲ００２  １つのノード内の印刷スプーラ
ＳＰＲ００３  １つのノード内の印刷スプーラ
ＪＯＢ００１  移動される印刷データの１つ
ＪＯＢ００２  移動される印刷データの１つ
ＰＲＴ００１  印刷を実行する印刷装置
Ｓ１０１  インストール命令・データ送信ステップ
Ｓ１０２  印刷スプーラが起動いているか否かの判断ステップ
Ｓ１０３  インストール実行ステップ
Ｓ１０４  印刷スプーラに印刷データが存在するか否かの判断ステップ
Ｓ１０５  印刷スプーラ停止ステップ
Ｓ１０６  印刷スプーラ停止後インストール実行ステップ
Ｓ１０７  印刷スプーラ起動ステップ
Ｓ１０８  印刷データを他のノードへ振り分けるステップ
Ｓ１０９  処理待ちが一定時間が経過したか否かの判断ステップ
Ｓ１１０  異常終了通知ステップ
Ｓ１１１  印刷データ移動依頼取得ステップ
Ｓ１１２  印刷データ移動依頼の有無チェックステップ
Ｓ１１３  印刷スプーラが起動しているか否かの判断ステップ
Ｓ１１４  印刷スプーラ起動・印刷スプーラ起動状態記録ステップ
Ｓ１１５  印刷データ送受信ステップ
Ｓ１１６  印刷ステップ
Ｓ１１７  インストール終了通知取得ステップ
Ｓ１１８  全ノードがインストール終了したか否かの判断ステップ
Ｓ１１９  印刷スプーラの初期状態に応じて印刷スプーラを停止させるステップ
Ｓ１２０  インストール終了処理ステップ
Ｓ１２１  一定時間経過判断ステップ
Ｓ１２２  他ノード異常有りの終了処理ステップ
５００  ソフトウェアが稼動するＰＣ
５０１  ＦＤ５１２より供給されるプログラムを実行するＣＰＵ
５０２  ＰＣ５００のＲＯＭ
５０３  ＰＣ５００のＲＡＭ
５０４  ＰＣ５００のシステムバス
５０５  ＰＣ５００のキーボードコントローラ（ＫＢＣ）
５０６  ＰＣ５００のＣＲＴコントローラ（ＣＲＴＣ）
５０７  ＰＣ５００のディスクコントローラ（ＤＫＣ）
５０８  ＰＣ５００のネットワークインタフェースカード（ＮＩＣ）
５０９  ＰＣ５００のキーボード（ＫＢ）
５１０  ＰＣ５００のＣＲＴディスプレイ（ＣＲＴ）
５１１  ＰＣ５００のハードディスク（ＨＤ）
５１２  フロッピー（登録商標）ディスクドライブ（ＦＤ）
９９９  ディレクトリ情報を記憶してある領域
９９９８  インストールプログラムを記憶してある領域
９９９９  プログラムを記憶してある領域
【図１】
2006277528.tif 000003
【図２】
2006277528.tif 000004
【図３】
2006277528.tif 000005
【図４】
2006277528.tif 000006