"管理対象プログラムを更新するための更新プログラムを記憶する記憶手段と、クライアントにインストールされている前記管理対象プログラムのバージョンを特定可能なクライアント情報を前記クライアントから受信する受信手段と、前記クライアントのステータスを検知する検知手段と、前記クライアント情報と前記ステータスとに応じた更新勧告タイミングを設定する設定手段と、前記更新勧告タイミングにおいて前記クライアントに更新勧告情報を送信する更新勧告手段と、前記更新勧告情報を受信するクライアントに前記更新プログラムを送信するプログラム送信手段と、を備えるプログラム更新管理サーバー。前記設定手段は、複数の前記クライアントに対する更新勧告タイミングが分散するように前記更新勧告タイミングを設定する、請求項1に記載のプログラム更新管理サーバー。前記設定手段は、前記クライアントにインストールされている管理対象プログラムの使用頻度を前記クライアント情報に基づいて特定し、前記使用頻度に応じて前記更新勧告タイミングを設定する、請求項1または2に記載のプログラム更新管理サーバー。前記設定手段は、前記クライアントにインストールされている管理対象プログラムのバージョンと前記更新プログラムで更新された後の管理対象プログラムのバージョンとの差を前記クライアント情報に基づいて特定し、前記差に基づいて前記更新勧告タイミングを設定する、請求項1から3のいずれか一項に記載のプログラム更新管理サーバー。前記プログラム送信手段は、前記クライアントから受信するプログラム要求に応じて前記更新プログラムを送信する、請求項1から4のいずれか一項に記載のプログラム更新管理サーバー。管理対象プログラムを更新するための更新プログラムを記憶し、クライアントにインストールされている前記管理対象プログラムのバージョンを特定可能なクライアント情報を前記クライアントから受信し、前記クライアントのステータスを検知し、前記クライアント情報と前記ステータスに応じた更新勧告タイミングを設定し、前記更新勧告タイミングにおいて前記クライアントに更新勧告情報を送信し、前記更新勧告情報を受信するクライアントに前記更新プログラムを送信する、ことを含むプログラム更新管理方法。しかし、ポーリングの周期が長く設定されている場合には、更新するタイミングが遅れるという問題がある。一方、ポーリングの周期を短く設定すると、最新プログラムがダウンロード可能になった直後の短期間に多数のクライアントへのダウンロードが集中し、ネットワークトラフィックやサーバーの負荷が増大するという問題がある。本発明は,この問題を解決するために創作されたもので,適切なタイミングで効率よくプログラムを自動的に更新することを目的とする。1上記目的を達成するためのプログラム更新管理サーバーは,管理対象プログラムを更新するための更新プログラムを記憶する記憶手段と、クライアントにインストールされている前記管理対象プログラムのバージョンを特定可能なクライアント情報を前記クライアントから受信する受信手段と、前記クライアントのステータスを検知する検知手段と、前記クライアント情報と前記ステータスとに応じた更新勧告タイミングを設定する設定手段と、前記更新勧告タイミングにおいて前記クライアントに更新勧告情報を送信する更新勧告手段と、前記更新勧告情報を受信するクライアントに前記更新プログラムを送信するプログラム送信手段と、を備える。本発明によると,クライアント情報とステータスに応じて設定される更新勧告タイミングに応じて更新プログラムがクライアントに送信されるため、適切なタイミングで効率よくクライアントのプログラムを自動的に更新することが可能になる。2上記目的を達成するためのプログラム更新管理サーバーにおいて、前記設定手段は、複数の前記クライアントに対する更新勧告タイミングが分散するように前記更新勧告タイミングを設定してもよい。本発明によると、更新プログラムをクライアントに送信するタイミングを分散させることができる。3上記目的を達成するためのプログラム更新管理サーバーにおいて、前記設定手段は、前記クライアントにインストールされている管理対象プログラムの使用頻度を前記クライアント情報に基づいて特定し、前記使用頻度に応じて前記更新勧告タイミングを設定してもよい。本発明によると、プログラムの使用頻度に応じて更新プログラムをクライアントに送信するタイミングを調整することができる。4上記目的を達成するためのプログラム更新管理サーバーにおいて、前記設定手段は、前記クライアントにインストールされている管理対象プログラムのバージョンと前記更新プログラムで更新された後の管理対象プログラムのバージョンとの差を前記クライアント情報に基づいて特定し、前記差に基づいて前記更新勧告タイミングを設定してもよい。本発明によると、クライアントにインストールされているプログラムのバージョンに応じて更新プログラムをクライアントに送信するタイミングを調整することができる。5上記目的を達成するためのプログラム更新管理サーバーにおいて、前記プログラム送信手段は、前記クライアントから受信するプログラム要求に応じて前記更新プログラムを送信してもよい。本発明によると、クライアントが、ビジー状態等、他の処理を実行することが望ましくない状態にあるタイミングを避けて更新プログラムを送信することができる。なお,請求項に記載された各手段の機能は,構成自体で機能が特定されるハードウェア資源,プログラムにより機能が特定されるハードウェア資源,又はそれらの組み合わせにより実現される。また,これら各手段の機能は,各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。例えば、請求項に記載されたサーバーとは、1台のコンピューターで実現されているものに限られず、各手段をそれぞれ分担する複数のコンピューターの組み合わせによる群としてサーバーを実現しても良い。さらに,本発明は方法としても,上記した機能をサーバーおよびプリンターに実現させるコンピュータープログラムとしても,そのプログラムの記録媒体としても成立する。むろん,そのコンピュータプログラムの記録媒体は,磁気記録媒体であってもよいし光磁気記録媒体であってもよいし,今後開発されるいかなる記録媒体であってもよい。以下,本発明の実施の形態を添付図面を参照しながら説明する。尚,各図において対応する構成要素には同一の符号が付され,重複する説明は省略される。1.構成図1Aは本発明の一実施例としてのプログラム更新管理サーバー1を示すブロック図である。プログラム更新管理サーバー1は複数のクライアント2、3,4のそれぞれにインストールされている特定のプログラム管理対象プログラムの更新を管理するサーバーコンピューターである。プログラム更新管理サーバー1は、ハードディスク等の不揮発性記憶媒体を備える記憶部11と、データ通信回線に接続された通信部13と、図示しないCPUCentralProcessingUnit、RAMRandomAccessMemoryおよび入出力インターフェースを備える制御部12とを備えている。制御部12は記憶部11にインストールされているプログラム更新管理プログラムを実行することによって、記憶部11の所定領域に更新プログラムやクライアント情報を記憶したり、クライアント情報に基づいて更新勧告タイミングを設定したり、インターネットを介して更新勧告情報や更新プログラムをクライアント2に送信する。記憶部11の所定領域には、図1Bに示すクライアントデータベース211が記憶されている。クライアントデータベース211は、クライアント2とXMPPを介して通信するためのXMPPJIDとXMPPパスワード、クライアント2にインストールされている管理対象プログラムの識別情報、クライアント2の電源の状態を示す電源ステータス、クライアント2における最後の印刷日時、クライアント2の更新勧告タイミング等を各クライアント2に固有の識別情報であるクライアントIDに関連づけて登録するデータベースである。なお、更新勧告タイミングは日時を示すデータである。各クライアント2、3,4は、ハードディスク、フラッシュメモリ等の不揮発性記憶媒体を備える記憶部21と、データ通信回線に接続された通信部23と、図示しないCPU、RAMおよび入出力インターフェースを備える制御部22とを備えるPC、プリンター、ファクシミリ、携帯電話端末等の電子機器である。制御部22は、記憶部21に記憶されている種々のプログラムを実行することによって、記憶部21や通信部23や図示しないその他のデバイスを制御する。また制御部22は記憶部21にインストールされているインストーラーを実行することによって、インストーラーに対応するプログラムを更新する。以下、クライアント2、3,4はインターネットに接続されたプリンターであって、管理対象プログラムとしての印刷制御プログラムと印刷制御プログラムを更新するためのインストーラーとが記憶部21に記憶されているものとし、クライアントプリンター2の印刷制御プログラムを更新する処理について説明する。2.セットアップシーケンスプリンター2にインストールされている印刷制御プログラムはプリンター2がプログラム更新管理サーバー1に登録されることによって,プログラム更新管理サーバー1から更新プログラムが提供される管理対象プログラムとなる。図2はプログラム更新管理サーバー1にプリンター2を登録するためのセットアップシーケンスを示す図である。はじめに,プリンター2は,プリンター2に対応する登録要求として,プリンター2の機種IDとシリアル番号を,登録要求に対応するプログラム更新管理サーバー1のURLにHTTPを用いて送信するS100。この登録要求は、プリンター2のセットアップ中に自動的に起動されてもよいし、プリンター2に備えられる図示しない操作パネルをユーザーが操作することによって起動されても良いし、プリンター2に接続されたPCをユーザーが操作することによって起動されても良い。登録要求を受信したプログラム更新管理サーバー1は,登録要求に基づいてプリンター2をプログラム更新管理サーバー1に登録するS102。具体的には,登録要求に含まれているプリンター2の機種固有IDおよびシリアル番号に対応するクライアントIDとXMPPJIDとXMPPログインパスワードとを,既に登録されている他のプリンターの登録情報を参照しながら他のプリンターと重複しないようにプリンター2に割り当てる。続いてプログラム更新管理サーバー1は,XMPPJIDとXMPPログインパスワードをクライアントIDに対応付けてクライアントデータベース211に登録情報として登録する。クライアントIDをプリンター2の機種固有IDおよびシリアル番号に基づいて割り当てることによって機種毎に異なる体系でシリアル番号がプリンターに割り振られている場合であっても,確実にプリンターの機体毎に異なるクライアントIDをプリンター2に割り当てることができる。XMPPJIDは、プログラム更新管理サーバー1のXMPPドメイン名とクライアントIDとを組み合わせて割り当てればよい。プリンター2を登録したプログラム更新管理サーバー1は,プリンター2の登録情報を,登録要求の送信元であるプリンター2にHTTPを用いて送信するS104。登録情報には,プリンター2に割り当てられたクライアントID,XMPPJID、XMPPログインパスワードが含まれている。登録情報を受信したプリンター2は,プリンター2に割り当てられたクライアントID,XMPPJID、XMPPログインパスワードを記憶部21に記憶するS106。3.プログラム更新管理方法管理対象プログラムの更新処理は、登録されたプリンター2の電源が投入されたときと、プログラム更新管理サーバー1に新しい更新プログラムが記憶されたときとに設定される更新勧告タイミングにおいて実行される。図3はプリンター2の電源が投入されてから遮断されるまでの処理の流れを示すシーケンス図である。電源が投入されると,プリンター2はXMPPJIDおよびXMPPログインパスワードをクライアント情報としてプログラム更新管理サーバー1に送信するS200。なおこの処理は、セットアップ直後にも自動的に実行される。XMPPJIDおよびXMPPログインパスワードを受信したプログラム更新管理サーバー1は,プリンター2とのXMPP接続を確立するS202。電源投入直後に送信されるXMPPJIDおよびXMPPログインパスワードに基づいてXMPP接続が確立されるため、XMPPJIDおよびXMPPログインパスワードはプリンター2の電源ステータスを特定する情報となる。プログラム更新管理サーバー1とのXMPP接続を確立したプリンター2は,HTTPまたはXMPPを用いてクライアントIDと管理対象プログラムの識別情報をクライアント情報としてプログラム更新管理サーバー1に送信するS204。管理対象プログラムの識別情報は、印刷制御プログラムの種別、印刷制御プログラムのバージョン、プリンターのメニュータイプ,プリンターのサブメニュータイプ、プリンターの言語等を一意に特定可能な情報である。なお、XMPPJID等に基づいてクライアントIDを一意に特定可能であれば、プリンター2からクライアントIDを送信する必要はないし、プリンターのメニュータイプ,プリンターのサブメニュータイプ、プリンターの言語等が更新勧告タイミングに影響を与える情報でなければ、これらについても送信する必要はない。プログラム更新管理サーバー1は,クライアントIDと管理対象プログラムの識別情報を受信すると、クライアントIDに関連づけて管理対象プログラムの識別情報を記憶するS206。具体的には、プログラム更新管理サーバー1は、受信した識別情報をプリンター2のクライアントIDと関連づけてクライアントデータベース211に登録するとともに、電源ステータスをオンに更新する。この処理はプリンター2のステータスを検知する処理に相当する。次にプログラム更新管理サーバー1は、受信した管理対象プログラムの識別情報に基づいてプリンター2について更新勧告タイミングを設定するS207。すなわち、クライアントの電源が投入される度に、電源が投入されたクライアントについて更新勧告タイミングが設定される。プログラム更新管理サーバー1は、プログラム更新管理サーバー1の記憶部11に記憶されている最新の更新プログラムのバージョンとクライアントデータベース211に登録されている他のプリンターの更新勧告タイミングとを参照しながら、登録されている複数のプリンターの更新勧告タイミングが分散するように、プリンター2の更新勧告タイミングを設定する。具体的には、プリンター2の使用頻度が高いほど相対的に早くなり、管理対象である管理対象プログラムのバージョンが旧いほど相対的に早くなるように、プリンター2の更新勧告タイミングが設定される。すなわち、プリンター2の使用頻度が高く、管理対象プログラムのバージョンが旧ければ、設定可能なタイミングの中で早いタイミングを更新勧告タイミングとしてプリンター2について設定し、そうでなければ設定可能なタイミングの中で遅いタイミングを更新勧告タイミングとして設定すればよい。ここで設定可能なタイミングとは、プログラム更新管理サーバー1の負荷とネットワークトラフィックの集中を考慮して一定時間あたりで更新勧告を行うプリンター数の上限として定めた数よりも、一定時間あたりに更新勧告タイミングが設定されるプリンター数の方が少ないタイミングである。使用頻度は最後の印刷日時が遅いほど高いと判定すればよい。また印刷開始または印刷終了の間隔が短いほど使用頻度が高いと判定しても良いし、累積印刷枚数が多いほど使用頻度が高いと判定しても良い。設定された更新勧告タイミングはプリンター2のクライアントIDに関連づけてクライアントデータベース211に登録される。なお、管理対象プログラムのバージョンが最新であれば、すなわちプリンター2にインストールされている印刷制御プログラムのバージョンとプログラム更新管理サーバー1に記憶されている最新の更新プログラムのバージョンとが一致する場合には、未定を意味する値が更新勧告タイミングとして設定される。更新勧告タイミングの到来がきっかけとなって更新プログラムがプリンター2に送信されるため、更新勧告タイミングを分散させることによって更新プログラムの送信処理が分散し、プログラム更新管理サーバー1の負荷とネットワークトラフィックの集中とを緩和することができる。プリンター2は、電源が投入されたオンの状態において、印刷開始、印刷終了、印刷設定変更等のイベントが発生すると、発生したイベントに応じたステータス情報をプリンター2のクライアントIDとともにプログラム更新管理サーバー1にHTTPまたはXMPPを用いて送信するS208。例えば印刷が開始されると印刷開始日時を示すステータス情報が送信され、印刷が終了すると印刷終了日時を示すステータス情報が通知され、印刷設定が変更されると変更後の印刷設定を示すステータス情報として通知される。ステータス情報を受信したプログラム更新管理サーバー1は、ステータス情報をクライアントIDに関連づけてクライアントデータベース211に記憶するS210。この処理はプリンター2のステータスを検知する処理に相当する。このとき、印刷終了に応じたステータス情報を受信した場合、プログラム更新管理サーバー1は印刷終了日時を最後の印刷日時としてクライアントIDに関連づけてクライアントデータベース211に登録する。印刷終了に応じて印刷枚数や印刷設定を受信する場合には、これらをクライアントデータベース211に登録しても良い。プログラム更新管理サーバー1は、最後の印刷日時を記憶しておくことにより、プリンター2の使用頻度を判定することが可能となる。そして、プリンター2の使用頻度は、最後の印刷日時以外にも、印刷開始または印刷終了の間隔や、累積印刷枚数等、ステータス情報から特定可能なプリンター2の使用履歴に基づいた情報を指標とすることもできる。プリンター2は、電源を遮断する操作を受け付けると、XMPP接続を終了するためのログアウト通知をプログラム更新管理サーバー1に送信するS212。ログアウト通知を受信したプログラム更新管理サーバー1はプリンター2とのXMPP接続を終了させるS214。このとき、プログラム更新管理サーバー1は、XMPP接続を終了させたプリンター2の電源ステータスをオフに変更してクライアントデータベース211を更新する。この処理はプリンター2のステータスを検知する処理に相当する。図4はプログラム更新管理サーバー1に最新の更新プログラムが記憶されて更新勧告タイミングが設定される動作を示すシーケンス図である。管理対象プログラムを更新するための更新プログラムは管理者による所定の操作に応じてプログラム更新管理サーバー1の記憶部11に記憶されるS300。このとき、記憶部11に記憶される更新プログラムの識別情報が更新プログラムとは別に記憶部11に記憶される。なお、本実施例において、更新プログラムは、印刷制御プログラムの最新バージョンの圧縮データである。最新の更新プログラムを記憶したプログラム更新管理サーバー1は、クライアントデータベース211を参照し、電源ステータスがオンになっている全てのプリンターについて更新勧告タイミングを設定するS302。具体的には、プログラム更新管理サーバー1は、電源ステータスがオンになっている全てのプリンターについてプログラム識別情報と最後の印刷日時とをクライアントデータベース211から取得し、更新勧告タイミングを分散させて設定する。具体的には、使用頻度が高いほど相対的に早く、管理対象プログラムのバージョンが旧いほど相対的に早くなるように、電源ステータスがオンになっている全てのプリンターの更新勧告タイミングが設定される。このとき、プログラム更新管理サーバー1の負荷とネットワークトラフィックの集中を考慮して一定時間あたりで更新勧告を行うプリンター数の上限として定めた数を超えないように、更新勧告タイミングが設定される。また、プログラム更新管理サーバー1は、プリンター2から受信するステータス情報に基づいてプリンター2の使用頻度以外の利用形態を特定し、特定した利用形態に応じて更新勧告タイミングを設定することができる。例えば、最新の更新プログラムがカラー印刷の機能変更をもたらす場合、印刷設定がカラーになっているプリンターやモノクロよりもカラーでの印刷回数が多いプリンターの更新勧告タイミングを印刷設定がモノクロになっているプリンターやカラーよりもモノクロでの印刷回数が多いプリンターの更新勧告タイミングよりも早くに設定してもよい。また、プログラム更新管理サーバー1は、プリンター2や管理対象プログラムの出荷先地域、国に応じて更新勧告タイミングを設定しても良い。プリンター2や管理対象プログラムの出荷先は、管理対象プログラムの識別情報やプリンターの機種IDやプリンターのシリアル番号等によって特定可能である。このように更新勧告タイミングは様々な要素を勘案して設定可能であるが、個々のプリンターの更新勧告タイミングを決定づける要素には、インストールされている管理対象プログラムの種類や印刷設定や電源の状態などの広い意味で個々のプリンターのステータスと、使用履歴とが含まれる。図5は、プログラム更新管理サーバー1から更新プログラムを送信する流れを示すシーケンス図である。プログラム更新管理サーバー1は、一定の時間間隔で、更新勧告タイミングが到来したか否かを判定するS400。具体的には、プログラム更新管理サーバー1は、クライアントデータベース211に登録されている最も早い更新勧告タイミングと現在時刻とを一定の時間間隔で比較し、比較結果が一致すると、更新勧告タイミングが到来したと判定する。更新勧告タイミングが到来すると、プログラム更新管理サーバー1は、更新勧告タイミングが到来したプリンターに対してXMPPを用いて更新勧告情報を送信するS401。更新勧告情報は、これを受信するプリンターが管理対象プログラムを更新する必要が生じたことを特定できる情報であればどのようなものでもよいが、本実施例では、プログラム更新管理サーバー1から更新プログラムをダウンロードするためのURLが更新勧告情報として送信されるものとする。XMPPを用いて更新勧告情報を送信することにより、印刷制御プログラムの更新が必要なことを更新勧告タイミングの到来と同時にプリンター2に通知することができる。なお、更新勧告タイミングが到来したときに、プリンター2が印刷実行中であったりエラー処理中であったりするなどビジー状態である場合には、更新勧告情報を送信せずに更新勧告タイミングを再設定してもよい。プリンター2がビジー状態であるかどうかは、クライアントデータベース211に基づいて判定可能である。プリンター2は、更新勧告情報を受信すると、管理対象プログラムである印刷制御プログラムの更新プログラムをHTTPを用いてプログラム更新管理サーバー1に要求するS402。具体的には、プリンター2は、更新勧告情報として受信したURLに対しHTTPを用いてデータ送信を要求する。なお、プリンター2は、更新勧告情報を受信した直後に更新プログラムを要求しても良いし、印刷等の実行中の処理が終了してから更新プログラムを要求しても良い。プログラム更新管理サーバー1は、更新プログラムを要求されると、要求された更新プログラムをHTTPを用いて要求元のプリンター2に送信するS404。具体的には、印刷制御プログラムの最新バージョンの圧縮データがプリンター2に送信される。プリンター2は、更新プログラムを受信すると、管理対象プログラムである印刷制御プログラムを更新するS406。具体的には例えば、プリンター2のインストーラーが印刷制御プログラムを終了させて記憶部21から削除し、更新プログラムを展開して記憶部21に記憶させる。さらにインストーラーは、更新された印刷制御プログラムを実行するための各種の設定を更新した後に、更新された印刷制御プログラムを起動する。なお、更新プログラムは、最新バージョンの印刷制御プログラムと更新前の印刷制御プログラムとの差分であってもよく、この場合、更新前の印刷制御プログラムは記憶部21から削除されることなく、更新プログラムに基づいて変更される。そして、プリンター2は、更新後の印刷制御プログラムのバージョン情報又は更新完了をクライアントIDとともにプログラム更新管理サーバー1に通知する。プログラム更新管理サーバー1は,更新後の印刷制御プログラムのバージョン情報又は更新完了通知を受信すると、クライアントIDに関連づけて管理対象プログラムの識別情報を更新する。具体的には、プログラム更新管理サーバー1は、受信したプリンター2のクライアントIDと関連づけてクライアントデータベース211に登録されている印刷制御プログラムのバージョンを更新された最新のバージョンに更新する。以上説明した実施例によると、クライアント情報に応じて設定される更新勧告タイミングに応じて更新プログラムがプリンターに送信されるため、適切なタイミングで効率よくプリンターの印刷制御プログラムを自動的に更新することが可能になる。4.他の実施形態尚,本発明の技術的範囲は,上述した実施例に限定されるものではなく,以下の1つ又は複数の変形例を組み合わせる等、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば,プログラム更新管理サーバー1は物理的に独立した複数のコンピューターによって構成されてもよいし,単一のコンピューターによって構成されても良い。また,更新勧告タイミングを設定するタイミングは任意であって、例えばプログラム更新管理サーバー1に最新の更新プログラムが記憶されたときにのみ、あるいはクライアントに電源が投入されたときにのみ更新勧告タイミングを設定しても良い。また、S403でプリンターが更新プログラムを要求する際に、クライアントIDを通知するようにし、プログラム更新管理サーバー1は、クライアントIDに基づいて更新勧告タイミングから所定時間が経過するまでに更新プログラムの要求を受信しなかった場合に、エラーが発生していると判断して、更新勧告タイミングを再設定するようにしても良い。同様に、プログラム更新管理サーバー1は、クライアントIDに基づいて更新勧告タイミングから所定時間が経過するまでに、更新後の印刷制御プログラムのバージョン情報又は更新完了の通知を受信しなかった場合に、エラーが発生していると判断して、更新勧告タイミングを再設定するようにしても良い。また,プリンター2とプログラム更新管理サーバー1との通信プロトコルについては,他の通信プロトコルを用いても良い。例えば、更新勧告情報は、SIPSessionInitiationProtocolやSIMPLESIPforInstantMessagingandPresenceLeveragingExtensionsといったSMPP以外のプッシュ型通信プロトコルサーバーからクライアントに対する処理を実行するためにクライアントからの要求を必要としないプロトコルを用いて送信しても良いし,HTTP等のプル型通信プロトコルサーバーからクライアントに対する処理が必ずクライアントからの要求に応えて実行されるプロトコルを用いて送信しても良い。プル型通信プロトコルを用いて更新勧告情報を送信する場合には、ポーリングによりデータ通信量が増大するが、更新勧告タイミングの設定により更新プログラムの送信タイミングを分散させることができるため、プログラム更新管理サーバー1の負荷抑制やネットワークトラフィックを抑制する効果は十分期待できる。また、上記実施例では、更新勧告情報を受信したプリンターからのプログラム要求を受信してから更新プログラムをプログラム更新管理サーバー1から送信する例を説明したが、更新勧告情報とともに更新プログラムをプリンターに送信しても良い。例えば更新勧告タイミングが到来したときにXMPPを用いてプログラム更新管理サーバー1からプリンター2に更新プログラムを送信しても良い。また、上記実施例では、プログラム更新管理サーバー1が更新勧告タイミングにプリンターに更新勧告情報を送信し、プリンターが更新勧告情報を受信したら更新プログラムを要求していたが、プログラム更新管理サーバー1は更新勧告タイミングではなく更新タイミングを設定し、設定に応じて順番にプリンターに対し更新タイミングを含む更新勧告情報を送信し、プリンターは更新勧告情報を受信したら更新タイミングが来るまで待ち、更新タイミングが来たらプリンターが更新プログラムを要求するようにしても良い。もちろん、更新勧告タイミングと更新タイミングとの両方を設定し、プログラム更新管理サーバー1は更新勧告タイミングに更新タイミングを含む更新勧告情報を送信するようにしても良い。"