(57)【要約】【課題】  サーバ・クライアントシステムでは、更新ファイルのダウンロードやシステム環境のバージョンアップがクライアントの動作状態に大きく影響を受け、効率的なシステム運用を行うことが困難である。【解決手段】  ネットワークに接続され、前記ネットワークを介してクライアントと接続されるサーバの制御方法であって、前記クライアントが有するデータを更新するための新たな更新ファイルの有無を判定する判定工程と、前記新たな更新ファイルが有ると判定された場合に、前記新たな更新ファイルを、前記新たな更新ファイルを実行する時間情報と共に前記クライアントへ送信する送信工程と、前記新たな更新ファイルを未送信のクライアントを管理する管理工程とを有し、前記送信工程では、前記管理工程における管理に基づき、送信済みのクライアントに対しては再度更新ファイルを送信しないことを特徴とする。【選択図】図７
2005352778.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、前記ネットワークを介してクライアントと接続されるサーバの制御方法であって、
前記クライアントが有するデータを更新するための新たな更新ファイルの有無を判定する判定工程と、
前記新たな更新ファイルが有ると判定された場合に、前記新たな更新ファイルを、前記新たな更新ファイルを実行する時間情報と共に前記クライアントへ送信する送信工程と、
前記新たな更新ファイルを未送信のクライアントを管理する管理工程とを有し、前記送信工程では、前記管理工程における管理に基づき、送信済みのクライアントに対しては再度更新ファイルを送信しないことを特徴とするサーバの制御方法。  
【請求項２】
ネットワークに接続され、前記ネットワークを介してクライアントと接続されるサーバの制御方法であって、
前記クライアントからの接続要求を受け付ける受付工程と、
前記接続要求を受け付けた前記クライアントに未送信の更新ファイルの有無を判定する判定工程と、
前記未送信の更新ファイルを、前記未送信の更新ファイルを実行する時間情報と共に前記クライアントへ送信する送信工程とを備え、
前記接続要求は、前記クライアントのうち、受信した更新ファイルを未実行のクライアント以外により行われることを特徴とするサーバの制御方法。
【請求項３】
ネットワークに接続され、前記ネットワークを介してサーバと接続されるクライアントの制御方法であって、
前記クライアントが有するデータを更新するための新たな更新ファイルの送信を前記サーバへ要求する要求工程と、
前記新たな更新ファイルを、前記新たな更新ファイルを実行するタイミングに関する第１の時間情報と共に受信する第２の受信工程と、
前記第１の時間情報に基づいて、前記新たな更新ファイルを実行するか否かを判定する第１の判定工程と、
前記判定の結果に基づいて、前記新たな更新ファイルを実行して、前記データを更新する更新工程と
を備えることを特徴とするクライアントの制御方法。
【請求項４】
前記第１の時間情報は前記新たな更新ファイルを実行する日時の情報であって、
前記第１の判定工程では、前記日時の情報と前記クライアントにおけるシステム時間とが比較され、前記システム時間が前記日時と一致又は前記日時を経過している場合に前記新たな更新ファイルを実行すると判定されることを特徴とする請求項３に記載のクライアントの制御方法。
【請求項５】
前記クライアントが、前記サーバに最新に接続した日時に関する第１の情報と、前記サーバへの接続を確保すべき時間間隔に関する第２の情報とに基づいて、前記最先に接続した日時から、前記時間間隔が経過したか否かを判定する第２の判定工程と、
前記時間間隔が経過したと判定された場合に、前記サーバと接続する接続工程と、
前記サーバから、前記クライアントが未受信の更新ファイルを、前記未受信の更新ファイルを実行する第２の時間情報と共に受信する第３の受信工程と
を更に備え、
前記第２の時間情報に基づいて、前記第１の判定工程において前記未受信の更新ファイルが実行されるか否かが判定されることを特徴とする請求項３又は４に記載のクライアントの制御方法。
【請求項６】
前記第２の判定工程における判定は、前記クライアントが停止状態から起動された後に実行されることを特徴とする請求項５に記載のクライアントの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークを介して互いに接続されるサーバ及びクライアント、及びそれらを制御する方法に関する。
【背景技術】
【０００２】
ネットワーク経由でサーバにより一括管理されるクライアントで構成されたサーバクライアントシステムでは、システム環境をある日時を境に全てバージョンアップをしたいとシステム管理者が考える場合でも、その更新日時の直前までは前バージョンの環境で動作させることになる。また、実際に更新を行う場合であっても、全てのクライアントにサーバーから一斉に更新ファイルをダウンロードさせようとしても、クライアントはいつでも確実に動いているわけではないので、ダウンロードをさせようとしたタイミングにおいて動作していない場合がある。
【０００３】
さらに、ダウンロードした更新ファイルをある日時に全てのクライアントで一斉に実行してシステムのバージョンアップを行う場合も、上記と同様に必ずしも全てのクライアントが動いているわけではないので、適切にバージョンアップが行われないクライアントが存在することがある。
【０００４】
また、バージョンアッププログラムファイルに日時情報を付随し受信装置に送る。送信装置は複数の受信装置のそれぞれが希望した上記プログラムファイルの実行時刻情報をリスト化しておいて、送出する受信装置に対応した実行時刻情報バージョンアッププログラムファイルに付随する。そして、受信装置において、更新時刻をチェックして、その日時になったときにバージョンアッププログラムを実行する、といった技術が提案されている（特許文献１参照）。
【特許文献１】特開２０００ー０８１９７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記提案技術では、ダウンロード時やバージョンアップ時に受信装置が動作していなかった場合が全く想定されておらず、例えば、受信装置が更新情報をサーバに確認するような形態を取った場合に、各受信装置が毎回起動時にサーバに対し更新問い合わせを行うとサーバの負荷が増大し、システムダウン等の恐れが発生する。
【０００６】
このように、ネットワーク経由でサーバにより一括管理される複数のクライアントで構成されるサーバ・クライアントシステムでは、更新ファイルのダウンロードやシステム環境のバージョンアップがクライアントの動作状態に大きく影響を受け、効率的なシステム運用を行うことが困難である。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明は、ネットワークに接続され、前記ネットワークを介してクライアントと接続されるサーバの制御方法であって、前記クライアントが有するデータを更新するための新たな更新ファイルの有無を判定する判定工程と、前記新たな更新ファイルが有ると判定された場合に、前記新たな更新ファイルを、前記新たな更新ファイルを実行する時間情報と共に前記クライアントへ送信する送信工程と、前記新たな更新ファイルを未送信のクライアントを管理する管理工程とを有し、前記送信工程では、前記管理工程における管理に基づき、送信済みのクライアントに対しては再度更新ファイルを送信しないことを特徴とする。
【０００８】
上記課題を更に解決するための本発明は、ネットワークに接続され、前記ネットワークを介してクライアントと接続されるサーバの制御方法であって、前記クライアントからの接続要求を受け付ける受付工程と、前記接続要求を受け付けた前記クライアントに未送信の更新ファイルの有無を判定する判定工程と、前記未送信の更新ファイルを、前記未送信の更新ファイルを実行する時間情報と共に前記クライアントへ送信する送信工程とを備え、前記接続要求は、前記クライアントのうち、受信した更新ファイルを未実行のクライアント以外により行われることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、サーバ・クライアントシステムにおいて、更新ファイルのダウンロードやシステム環境のバージョンアップへのクライアントの動作状態の影響を軽減し、効率的なシステム運用が可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
本発明は、例えば、図１に示すようなネットワーク越しにサーバで一括管理されたクライアントで構成されるサーバ・クライアントシステムで適用される。本実施形態においては、当該サーバ・クライアントシステムにプリンタが接続され、印刷システムを構築する場合について説明するが、本発明の適用可能なサーバ・クライアントシステムは印刷システムにのみ限定されることなく、目的プログラムを更新ファイルにより更新することでシステム環境をバージョンアップ可能なサーバ・クライアントシステムであれば、どのようなシステムについても適用可能である。
【００１２】
１０１は印刷システムのサーバであり、更新ファイルのインストールシステムを管理する「サーバ」である。ここで更新ファイルとは、サーバ１０１からクライアント１０２へ提供され、クライアント１０２が有するデータの一部を書き換えることによりデータを更新するためのプログラムファイルであり、例えばプリンタドライバといった目的プログラムのデータの一部分を書き換えるために利用される。このような目的プログラムの更新により、クライアント１０２の印刷環境を更新することができる。
【００１３】
１０２〜１０４は印刷システムのサーバで管理されるクライアントであり、サーバ１０１から提供される更新ファイルを実行することにより、印刷環境の更新を行う端末である。以下、本実施形態の説明においては簡単の為にクライアント１０２のみについて説明するが、クライアント１０３及び１０４についてもクライアント１０２と同様にして本実施形態に対応する本発明を適用可能であることは言うまでもない。また、ネットワーク１０６に接続可能なクライアント数は、３台に限定されることなく、より多くの、又はより少ないクライアント数であってもよい。
【００１４】
１０５は印刷システムを通して印刷を行うプリンタである。１０６はサーバー１０１、クライアント１０２〜１０４及びプリンタ１０５が接続されるＬＡＮ等のネットワークであり、ルータを介してインターネットに接続する。
【００１５】
図１１は、本発明の実施形態に対応するサーバ１０１のハードウェア構成の一例を記載する図である。
【００１６】
図１１において、１１０１はＣＰＵであり、サーバ１０１全体の制御を実行する。１１０２はＲＡＭであり、データ作業領域、一時待避領域として機能する。１１０３はＲＯＭであり、サーバ１０１を制御するための各種制御プログラムや設定情報等を記憶する。
【００１７】
１１０４はハードディスクドライブ（ＨＤＤ）であり、クライアント１０２に提供される更新ファイルのデータや、クライアント情報管理テーブルなどの各種データを記憶する。１１０５はネットワークＩ／Ｆ（インターフェース）であり、ネットワーク１０６を介してデータの送受信を行う。システム管理者は、ネットワークＩ／Ｆを介してネットワーク１０６経由でインターネットから新たな更新ファイルをサーバ１０１にダウンロードすることにより、サーバ１０１に新たな更新ファイルを追加することができる。
【００１８】
１１０６はビデオＩ／Ｆ（インターフェース）であり、ディスプレイ装置３１１に表示する画像の表示制御を行う。３１１はディスプレイ装置であり、液晶やＣＲＴ等から構成される。
【００１９】
１１０７はポインティングデバイスであり、例えば、マウス、入力タブレット、タッチパネル等から構成される。１１０８はキーボードである。このポインティングデバイス１１０７及びキーボード１１０８によって、端末の各種入力を実現する入力部として機能する。
【００２０】
１１０９は記録媒体ドライブであり、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＡＭ等から構成される。システム管理者は、これらの記録媒体を利用して、新しい更新ファイルをサーバ１０１に追加することができる。
【００２１】
１１１０は外部機器Ｉ／Ｆ（インターフェース）であり、ＵＳＢポート等からなり、メモリカードやリーダライタ装置等の外部接続装置との接続を可能にする。１１１２は上記各構成要素を相互に接続するバスである。
【００２２】
図１２は、本発明の実施形態に対応するクライアント１０２のハードウェア構成の一例を記載する図である。クライアント１０３及び１０４のハードウェア構成も図１２に示すものと同様である。
【００２３】
図１２において、１２０１はＣＰＵであり、クライアント１０２全体の制御を実行する。１２０２はＲＡＭであり、データ作業領域、一時待避領域として機能する。１２０３はＲＯＭであり、クライアント１０２を制御するための各種制御プログラムや設定情報等を記憶する。
【００２４】
１２０４はハードディスクドライブ（ＨＤＤ）であり、クライアント情報テーブルや、更新ファイルにより更新される各種実行プログラム（プリンタドライバを含む）を記憶する。１２０５はネットワークＩ／Ｆ（インターフェース）であり、ネットワーク１０６を介してサーバ１０１と接続しデータの送受信を行う。
【００２５】
１２０６はビデオＩ／Ｆ（インターフェース）であり、ディスプレイ装置１２１１に表示する画像の表示制御を行う。１２１１はディスプレイ装置であり、液晶やＣＲＴ等から構成される。
【００２６】
１２０７はポインティングデバイスであり、例えば、マウス、入力タブレット、タッチパネル等から構成される。１２０８はキーボードである。このポインティングデバイス１２０７及びキーボード１２０８によって、端末の各種入力を実現する入力部として機能する。
【００２７】
１２０９は記録媒体ドライブであり、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＡＭ等から構成される。１２１０は外部機器Ｉ／Ｆ（インターフェース）であり、ＵＳＢポート等からなり、リーダライタ装置１０３−２との接続を可能にする。特に、本実施形態では、ＵＳＢコネクタを有するリーダライタ装置１０３−２や、メモリカード（以下、ＵＳＢメモリ）等の接続を可能にする。１２１２は上記各構成要素を相互に接続するバスである。
【００２８】
図２ａは、本実施形態におけるクライアント情報テーブルの一例を示す図である。クライアント情報テーブルは、クライアント１０２のＨＤＤ１２０４内に格納される。
【００２９】
クライアント情報テーブルには少なくとも、更新日時２０１、更新確認日時２０２、確認間隔時間２０３が含まれる。
【００３０】
より具体的に、更新日時２０１は、クライアント１０２の印刷環境の更新日時に関する情報で、本発明の印刷システムのシステム管理者から予め指定される。更新日時２０１は、例えば、「2004/3/1/AM10:00」のように更新ファイルを実行するタイミングを日付及び時間の情報で表している。また、更新日時２０１は、クライアント１０２がサーバ１０１から更新ファイルをダウンロードする際に、サーバ１０１からクライアント１０２へ通知される。即ち、更新日時２０１とは、クライアント１０２がサーバ１０１からダウンロードした更新ファイルを実行する日時に関する情報である。従って、クライアント１０２は更新ファイルをダウンロードしてすぐに実行するのではなく、更新日時２０１に基づいて、所望の更新日時において実行することとなる。
【００３１】
また、クライアント１０２は、定期的にサーバ１０１にアクセスして、更新ファイルを確認している。更新確認日時２０２は、クライアント１０２がサーバ１０１にアクセスして更新ファイルを確認した最新の日時情報である。この更新確認日時２０２は、例えば、「2004/2/29/AM11:30」のように、クライアント１０２がサーバ１０１にアクセスして、更新ファイルの有無を確認した日付及び時間の情報で構成される。
【００３２】
クライアント１０２がサーバ１０１へアクセスする時間的間隔は、確認間隔時間２０３によって指定される。この確認間隔時間２０３は、クライアント１０２がサーバ１０１への接続を確保すべき時間間隔を定める情報であって、システム管理者により予め指定される。この確認間隔時間２０３は、例えば「２４ｈ」や「３日」のように、最後に確認を行った日時から経過した時間の情報として定義されても良いし、「ＡＭ９：００」のように経過時間ではなく、定期的な時刻の情報として定義されても良い。従って、クライアント１０２は、最新確認日時２０２に基づいて、サーバ１０１にアクセスした日時から確認間隔時間２０３に基づいて決定される時間間隔だけ時間が経過した場合には、再度サーバ１０１へアクセスして更新ファイルの内容を確認する。クライアント１０２は送信フラグ２１２に基づいて既に更新ファイルが送信されており且つ保持している更新ファイルが未実行である場合には、サーバへの再度の確認は行わない。
【００３３】
図２ｂは、サーバ１０１において、更新ファイルを管理するための更新ファイル管理テーブルの一例を示す図である。図２ｂにおいて、２０４は、システム管理者によって指定された更新通知日時である。この更新通知日時において、サーバ１０１からネットワーク１０６に接続された各クライアントに対して、新しい更新ファイルの追加が行われた旨を通知することができる。なお、この更新通知日時は指定せず、更新日時のみを指定することもできる。その場合には、新しい更新ファイルの追加が行われた時点で、サーバ１０１から各クライアントへの通知が行われる。
【００３４】
２０５は、システム管理者によって指定された更新日時であり、図２ａにおける更新日時２０１と一致する。２０６は、更新ファイルのバージョンであり、それぞれの更新ファイルに一意に与えられる。２０７は更新ファイルの本文データである。
【００３５】
図２ｃは、サーバ１０１において、クライアントの更新状況を管理するためのクライアント情報管理テーブルの一例を示す図である。
【００３６】
２０８は、各クライアントに付与された識別番号であり、この識別番号には各クライアントに割り当てられているネットワークアドレスやＭＡＣアドレスが対応づけられている。
【００３７】
２０９の更新終了時は、各クライアントから送信された更新終了通知を受信した日時の情報である。２１０の更新確認時は、各クライアントから最新に更新ファイルの有無の確認を受け付けた日時の情報である。２１１は、各クライアントに現在までに提供された更新ファイルのバージョンを示す現在のバージョン情報である。この現在のバージョン２１１は、更新終了通知をクライアントから受信した場合に更新される。
【００３８】
サーバ１０１は、更新終了時２０９と現在のバージョン２１１を参照することにより、クライアント番号「５」に対応するクライアントにはバージョン１．１０及び１．１１の更新ファイルが提供されていないことを把握することができる。
【００３９】
サーバ１０１は、クライアント情報管理テーブルの送信フラグ２１３に基づいて未送信のクライアントを把握することができる。また、更新情報確認時間２１０が登録されていないクライアントで且つ送信フラグ２１３が"1"、つまり送信済みのクライアントに対しては再度の送信を行わず、更新情報確認時間２１０が登録されていないクライアントで且つ送信フラグが"０"のクライアントのみ再送を行う。
図３ａは、サーバ１０１がクライアント１０２へ更新ファイルを送信する際の、サーバ１０１における処理の一例に対応するフローチャートである。
【００４０】
Ｓ３０１において、印刷環境の新たな更新ファイルが追加されたかどうかを判定する。この更新ファイルの有無は、図２ｂに示す更新ファイル管理テーブルに、現在のシステム時間以降に更新日時が設定された更新ファイルがあるかどうかによって判定することができる。また、更新ファイルを追加したシステム管理者が新たな更新ファイルの追加指示を手動で行うことによって、当該指示をサーバ１０１が受け付けたか否かによって判定しても良い。
【００４１】
Ｓ３０１において新たな更新ファイルの追加があったと判定されると（Ｓ３０１において「ＹＥＳ」）、Ｓ３０２へ移行する。一方、Ｓ３０１において新たな更新ファイルの追加はないと判定されると（Ｓ３０１において「ＮＯ」）、サーバ１０１からクライアント１０２へ更新ファイルを配布する必要はないので、そのまま処理を終了する。この場合、Ｓ３０１の処理は、予め定められた時間間隔に応じて定期的に行っても良いし、システム管理者が新たな更新ファイルを追加した際に手動で行っても良い。
【００４２】
Ｓ３０２では、ネットワーク１０６に接続されサーバ１０１により管理されているクライアント１０２及びその他のクライアントに対して、サーバ１０１から、更新ファイルの追加が行われた旨の通知、即ち、更新通知がなされる。ネットワーク上の各クライアントには、それぞれネットワークアドレスが付与されており、このネットワークアドレスを利用して、サーバ１０１と各クライアント間における通信が確立される。よって、Ｓ３０２において通信可能なクライアントは、サーバ１０１が更新案内の通知を行った際に起動中のクライアントに限られる。
【００４３】
なお、Ｓ３０２における更新通知は、図２ｂに示す更新ファイル管理テーブルにおいて更新通知時２０４が指定されていた場合には、指定された日時において行われることが好ましい。
【００４４】
Ｓ３０３では、更新ファイルのダウンロード要求を各クライアントから受け付けたか否かを判定し、要求を受け付けた場合（Ｓ３０３において「ＹＥＳ」）にはＳ３０４において更新ファイルをクライアント宛に送信し、Ｓ３０５へ移行する。この更新ファイルには更新日時情報２０１が付加されている。一方、要求を受け付けない場合（Ｓ３０３において「ＮＯ」）には、処理を終了する。
【００４５】
Ｓ３０３及びＳ３０４における処理は、新たな更新ファイルの送信要求を行うことのできる起動中のクライアントと間でのみ実行され、起動中でないクライアントについては通信を確立することができないので、更新案内の通知や更新ファイルの送信は行われないこととなる。起動中でないクライアントは図６に示すフローチャートに対応する処理を行って、サーバ１０１から更新ファイルを取得することとなる。
【００４６】
Ｓ３０５では、送信終了通知をクライアント１０２から受信し、Ｓ３０６において、クライアント情報管理テーブルを更新する。なお、この場合に更新されるのは、送信フラグ２１３、である。
【００４７】
図３ｂは、クライアント１０２から接続要求を受けてサーバ１０１が更新ファイルを送信する際の、サーバ１０１における処理の一例に対応するフローチャートである。
【００４８】
Ｓ３０７において、クライアント１０２からの接続要求があったかどうかを判定する。接続要求があった場合（Ｓ３０７において「ＹＥＳ」）、Ｓ３０８においてクライアント１０２と接続し、接続要求がない場合（Ｓ３０７において「ＮＯ」）には、クライアント１０２からの接続要求の監視を継続する。
【００４９】
Ｓ３０８においては、接続要求のあったクライアント１０２と接続し、Ｓ３０９において未送信の更新ファイルが有るかどうかを判定する。Ｓ３０８における判定は、図２ｂの更新ファイル管理テーブル及び図２ｃのクライアント情報管理テーブルに基づいて行うことができる。
【００５０】
例えば、図２ｃにおいて、現在接続しているクライアント１０２のクライアント番号が「２」とすると、更新確認時２１０が「2004.1.19PM17:00」であり、現在のバージョン２１１が「１．１０」であるので、図２ｂのバージョン１．１１の本文データの更新通知時２０４の「2004.2.29AM10:00」以降にサーバ１０１へアクセスしていないこととなる。従って、このクライアントには、バージョン１．１１の更新ファイルが未送信であると判定することができる。
【００５１】
また、クライアント番号が「５」とすると、更新終了時２０９が「2003.12.15AM9:20」、更新確認時２１０が「2004.1.10」、現在のバージョン２１１が「１．０９」である。従って、バージョン１．１０とバージョン１．１１の更新ファイルが未送信であると判定することができる。
【００５２】
このようにして、未送信の更新ファイルがあると判定された場合（Ｓ３０９において「ＹＥＳ」）、Ｓ３１０においてクライアント１０２に対して新たな更新ファイルが有る旨の通知を行いＳ３１１へ移行する。一方、未送信の更新ファイルが無いと判定された場合（Ｓ３０９において「ＮＯ」）は、Ｓ３１４に移行して、クライアント情報管理テーブルを更新して処理を終了する。なお、この場合に更新されるのは、更新確認時２１０である。
【００５３】
Ｓ３１１では、クライアント１０２からの送信要求を受信し、Ｓ３１３においてＳ３０９で未送信と判定された更新ファイルをクライアント１０２宛に送信する。Ｓ３１４では、クライアントから送信される更新終了通知を受信し、Ｓ３１４において、クライアント情報管理テーブルを更新して処理を終了する。なお、この場合に更新されるのは、更新終了時２０９、更新確認時２１０及び現在のバージョン２１１である。
【００５４】
次に、サーバ１０１からの更新案内の通知が行われた際に起動中であった各クライアントにおいて実行される処理の一例を図４を参照して説明する。図４は、クライアント１０２がサーバ１０１から通知を受けて更新ファイルを受け取る際の、クライアント１０２における処理の一例に対応するフローチャートである。なお、同様の処理は、ネットワーク１０６に接続された他のクライアントにおいても実行される。
【００５５】
クライアント１０２は、Ｓ４０１においてサーバ１０１から更新通知を受信すると、Ｓ４０２においてサーバ１０１に対して更新ファイルの送信を要求する。Ｓ４０３では、更新ファイルを問題なく受信できたか否かを判定し、受信できたと判定された場合（Ｓ４０３で「ＹＥＳ」）には、Ｓ４０４へ移行して、更新確認日時情報２０２を現在の日時に更新する。
【００５６】
一方、更新ファイルを受信できなかった場合には、Ｓ４０５へ移行してサーバ１０１への問い合わせを行い、サーバ１０１から応答が得られた場合には（Ｓ４０６で「ＮＯ」）、Ｓ４０２において再度更新ファイルの送信要求を行う。一方、サーバ１０１から応答が得られなかった場合には（Ｓ４０６で「ＹＥＳ」）、そのまま処理を終了する。
【００５７】
Ｓ４０４では、受信した更新ファイルをハードディスク１２０４に格納すると共に、更新確認日時情報２０２を更新した後、Ｓ４０７に移行し、更新ファイルに付加されている更新日時２０１を読み出し、クライアント情報テーブル２００の更新日時２０１を更新する。
【００５８】
また、Ｓ４０８において、ＯＳのタイマーを更新日時２０１の日時情報に設定する。
【００５９】
次に、新たな更新ファイルを受信したクライアント１０２において、当該更新ファイルを実行して印刷環境を更新する際に行われる処理の一例を図５を参照して説明する。図５は、クライアント１０２における更新ファイルの実行処理の一例に対応するフローチャートであり、ネットワーク１０６に接続されている他のクライアントにおいても、同様の処理が実行される。
【００６０】
Ｓ５０１では、図４のＳ４０８で設定したタイマーがタイムアップしたかどうかを判定する。タイムアップしていない場合（Ｓ５０１において「ＮＯ」）は、タイマーの監視を継続する。一方、タイムアップした場合（Ｓ５０１において「ＹＥＳ」）には、Ｓ５０２に移行して、クライアント情報テーブル２００の更新日時２０１をＲＡＭ１２０２のワークエリアに読み出して現在のシステム時間と比較を行う。このような比較を行うのは、タイマーによるカウントとシステム時間との誤差を解消するためである。
【００６１】
比較の結果、現在のシステム時間が、更新日時２０１において設定された更新日時と一致するか、又は、既に更新日時経過している場合（Ｓ５０３において「ＹＥＳ」）には、Ｓ５０４へ移行する。一方、現在のシステム時間が更新日時に至っていない場合（Ｓ５０３において「ＮＯ」）には、現在のシステム時間の監視を継続する。
【００６２】
Ｓ５０４では、Ｓ４０４でハードディスク１２０４に格納された更新ファイルを、ＲＡＭ１２０２のワークエリアに読み出し、更新ファイルを実行する。この更新ファイルの実行により目的プログラムの一部が修正され、印刷環境が更新される。更新ファイルの実行が終わると、Ｓ５０５へ移行して更新処理の終了をサーバ１０１へ通知する。
【００６３】
サーバ１０１では、クライアント１０２から送信された更新処理の終了通知を受信し、サーバ１０１で管理する各クライアントを管理するテーブルの内容を更新する。
【００６４】
次に、クライアント１０２から更新ファイルの確認を行い、印刷環境の更新処理を行う場合について図６を参照して説明する。図６は、クライアント１０２からサーバ１０１へ更新ファイルの確認を行って、印刷環境の更新処理を行う場合の処理の一例に対応するフローチャートである。
【００６５】
図６に対応する処理は、サーバ１０１から更新通知が行われた際に対応するクライアント１０２が起動されておらず、当該更新通知を受信することができなかった場合に行われる処理である。ここでは、クライアント１０２側で更新確認日時２０２から確認間隔時間２０３が経過したかどうかに基づいてサーバ１０１へのアクセスを行うかどうかが判定される。
【００６６】
まず、Ｓ６０１では、クライアントで既に更新ファイルを受信していて、実行していない更新ファイルが存在するかを確認する。もし、存在する場合は、Ｓ６０２で更新ファイルを実行する。
【００６７】
次に、Ｓ６０３では、現在のシステム時間に基づいて、クライアント情報テーブル２００の更新確認日時２０２から確認間隔時間２０３が経過したかどうかを判定する。判定の結果、確認間隔時間２０３が経過している場合（Ｓ６０３において「ＹＥＳ」）には、Ｓ６０４に移行し、経過していない場合には、確認間隔時間２０３の経過を監視する。
【００６８】
Ｓ６０４ではサーバ１０１へ接続し、新たな更新ファイルの追加が行われたかどうかを判定する。Ｓ６０５では、更新確認日時情報を現在のシステム時間に基づいて更新する。Ｓ６０４における判定の結果、新たな更新ファイルがある場合（Ｓ６０６において「ＹＥＳ」）には、Ｓ６０７へ移行し、サーバ１０１に対して当該更新ファイルの送信を要求する。一方、新たな更新ファイルがない場合には、そのまま処理を終了する。なお、処理終了後にステップＳ６０３の判定が再度行われる場合には、Ｓ６０５における更新後の更新確認日時から確認間隔時間が経過したかどうかが判定される。
【００６９】
Ｓ６０７で更新ファイルの送信要求をした後は、Ｓ６０８において更新ファイルを受信し、Ｓ６０９では、受信した更新ファイルに付加された更新日時情報によりクライアント情報テーブル２００の更新日時２０１を更新する。Ｓ６１０では、更新された更新日時２０１の内容に基づいて、現在のシステム時間が当該更新日時を経過しているかどうかを判定する。判定の結果、更新日時を経過している場合（Ｓ６１０において「ＹＥＳ」）には、Ｓ６１１に移行して更新ファイルを実行して、印刷環境の更新を行う。印刷環境の更新が終了した場合には、Ｓ６１２においてサーバ１０１に対して更新処理の終了を通知して処理を終了する。
【００７０】
一方、更新日時を経過していない場合（Ｓ６１０において「ＮＯ」）には、Ｓ６１３においてＯＳのタイマーをスタートさせ、処理を終了する。
【００７１】
次に、サーバ１０１とクライアント１０２との状態に応じた、サーバ１０１とクライアント１０２間の通信形態について、図７から図１０までを参照して説明する。
【００７２】
図７は、サーバ１０１が更新通知を行った際に、クライアント１０２が起動中である場合を記載している。
【００７３】
ここにおいて、Ｔ７０１において、サーバ１０１から印刷環境の更新通知がクライアント１０２へ送信される。Ｔ７０２において、クライアント１０２からは更新通知に対応して、更新ファイルの送信要求がサーバ１０１へ送信される。サーバ１０１は、クライアント１０２からの要求に対し、更新ファイルを送信する。このとき、更新ファイルには更新日時２０１が付加される。
【００７４】
Ｔ７０４は、更新日時２０１において指定された更新日時を示しており、クライアント１０２は更新日時に到達すると、Ｔ７０５において更新ファイルを実行して印刷環境の更新を行う。更新が完了するとＴ７０６においてクライアント１０２からサーバ１０１へ、更新終了の通知がなされる。
【００７５】
図７の例では、サーバ１０１では図３ａの処理が実行され、クライアント１０２では図４の処理が実行される。
【００７６】
次に、図８は、サーバ１０１から更新ファイルを受信した後、クライアント１０２が停止したまま、更新日時を経過してしまった場合を記載している。Ｔ８０１からＴ８０３までは、図７と同様なので説明は省略する。図８の例では、クライアント１０２が、更新ファイルを受信した後、停止状態となりそのままファイル更新日時を経過してしまう。クライアントが再度起動された場合には、Ｔ８０５において更新ファイルを実行してシステムの更新が行われ、Ｔ８０６では更新終了通知がサーバ１０１へ送信される。
【００７７】
図８の例では、サーバ１０１では図３ａの処理が実行され、クライアント１０２では図４及び図５の処理が実行される。
【００７８】
図９は、サーバ１０１が印刷環境の更新通知を行った際にクライアント１０２が停止中であり、その後クライアント１０２が起動されて、サーバ１０１へ問い合わせを行う場合を記載している。
【００７９】
まず、サーバ１０１はＴ９０１においてクライアント１０２に対して印刷環境の更新通知を行う。しかしこの場合では、クライアント１０２は停止中なのでクライアント１０２からは応答を得られない。クライアント１０２が起動されると確認間隔時間２０３が経過したかどうかが判定され、当該時間が経過した場合にはＴ９０２においてサーバ１０１に更新の有無を確認する。この結果、新たな更新ファイルが追加されていた場合には、Ｔ９０３においてサーバ１０１から更新ファイルがクライアント１０２宛に送信される。その後の更新ファイルの実行処理の内容は、図７で説明した通りであるので省略する。
【００８０】
図９の例では、サーバ１０１では図３ａ及び図３ｂの処理が実行され、クライアント１０２では図６の処理が実行される。
【００８１】
図１０は、サーバ１０１が印刷環境の更新通知を行った際にクライアント１０２が停止中であり、クライアントが停止状態のまま更新日時を経過してしまった場合を記載している。
【００８２】
まず、サーバ１０１はＴ１００１においてクライアント１０２に対して印刷環境の更新通知を行う。しかしこの場合では、クライアント１０２は停止中なのでクライアント１０２からは応答を得られない。クライアントは停止状態のままファイルの更新日時Ｔ１００２を経過する。その後クライアント１０２が起動されると確認間隔時間２０３が経過したかどうかが判定され、当該時間が経過した場合にはＴ９０２においてサーバ１０１に更新の有無を確認する。この結果、新たな更新ファイルが追加されているので、Ｔ９０３においてサーバ１０１から更新ファイルがクライアント１０２宛に送信される。その後の更新ファイルの実行処理の内容は、図７で説明した通りであるので省略する。
【００８３】
図１０の例では、サーバ１０１では図３ａ及び図３ｂの処理が実行され、クライアント１０２では図６の処理が実行される。
【００８４】
以上のように、本実施形態に対応する本発明では、システム管理者からサーバ１０１上に新たな更新ファイルが追加された場合に、各クライアントに対して印刷環境の更新通知を行い、その時点において起動されているクライアントに対して新しい更新ファイルを当該更新ファイルの実行タイミングを指定する情報と併せて提供する。一方、その時点において起動されていなかったクライアントに対しては、一定のタイミングでサーバ１０１側へ問い合わせを行わせることにより、更新ファイルを取得することを可能としている。
【００８５】
これにより、サーバ１０１からの更新通知時に停止中のクライアントに対しても、更新ファイルを提供することができ、また、更新ファイルの提供タイミングと、実際に更新ファイルを実行してシステムを更新するタイミングとに、一定のタイムラグを設けておくことにより、複数のクライアントの印刷環境を同時期に更新することが可能となる。また、各クライアントは、システム管理者が指定する日時までは前バージョンの環境で動作し、指定された日時以降はバージョンアップされた環境で動作する。
【００８６】
停止期間が長かったために更新時期を逸したクライアントについても、起動時にサーバ１０１へアクセスするように制御されるので、起動後直ちに印刷環境を更新することが可能となる。
【００８７】
このように、システム管理者が印刷環境をある日時を境に全てバージョンアップをしたいが、その更新日時の前までは前バージョンの印刷環境で動作させたい場合に、印刷環境のバージョンを更新する前からクライアント側での更新実行の予約が行え、実際にバージョンアップを行いたい日以降に、クライアントでユーザが印刷環境を使用する前までに確実に印刷環境のバージョンアップを行うことができる。
【００８８】
また、クライアント自身が未実行の更新ファイルがあれば、サーバに更新ファイルの要求を行なわないので、サーバが都合の良いタイミングで更新ファイルを各クライアントに配布することができ、且つ、クライアントからの余分なサーバへのアクセスを防ぐことが可能となる。
【００８９】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００９０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施形態に対応するサーバ・クライアントシステムの構成の一例を示す図である。
【図２ａ】本発明の実施形態に対応するクライアント情報のテーブルの一例を示す図である。
【図２ｂ】本発明の実施形態に対応する更新ファイルの一例を示す図である。
【図２ｃ】本発明の実施形態に対応する、サーバ１０１で管理されるクライアント情報の一例を示す図である。
【図３ａ】本発明の実施形態に対応するサーバ１０１における処理の一例を示すフローチャートである。
【図３ｂ】本発明の実施形態に対応するサーバ１０１における処理の一例を示すフローチャートである。
【図４】本発明の実施形態に対応するクライアント１０２における処理の一例を示すフローチャートである。
【図５】本発明の実施形態に対応するクライアント１０２における処理の一例を示すフローチャートである。
【図６】本発明の実施形態に対応するクライアント１０２における処理の一例を示すフローチャートである。
【図７】本発明の実施形態に対応する、サーバ１０１とクライアント１０２との間の通信の一例を示す図である。
【図８】本発明の実施形態に対応する、サーバ１０１とクライアント１０２との間の通信の一例を示す図である。
【図９】本発明の実施形態に対応する、サーバ１０１とクライアント１０２との間の通信の一例を示す図である。
【図１０】本発明の実施形態に対応する、サーバ１０１とクライアント１０２との間の通信の一例を示す図である。
【図１１】本発明の実施形態に対応する、サーバ１０１の構成の一例を示す図である。
【図１２】本発明の実施形態に対応する、クライアント１０２の構成の一例を示す図である。
【図１】
2005352778.tif 000003
【図２ａ】
2005352778.tif 000004
【図２ｂ】
2005352778.tif 000005
【図２ｃ】
2005352778.tif 000006
【図３ａ】
2005352778.tif 000007
【図３ｂ】
2005352778.tif 000008
【図４】
2005352778.tif 000009
【図５】
2005352778.tif 000010
【図６】
2005352778.tif 000011
【図７】
2005352778.tif 000012
【図８】
2005352778.tif 000013
【図９】
2005352778.tif 000014
【図１０】
2005352778.tif 000015
【図１１】
2005352778.tif 000016
【図１２】
2005352778.tif 000017