(57)【要約】【課題】  人手を介することなく、ネットワーク全体として最新のソフトウェアに自動的に更新される画像処理装置を提供する。【解決手段】  電源がＯＮされたタイミングでサーバ側デバイスからデバイス検索要求がブロードキャスト送信またはマルチキャスト送信され（ステップＳ１）、クライアント側デバイスからデバイス検索応答データがサーバ側デバイスに対して送信され（ステップＳ２）、デバイス検索応答データを受信したサーバ側デバイスで、ネットワーク上に存在するクライアント側デバイスが検出される。サーバ側デバイスは、デバイス検索応答データに基づいてソフトウェアの更新が可能なクライアント側デバイスを判断し、そのクライアント側デバイスに対して必要なソフトウェアを送信して更新を要求する（ステップＳ３）。クライアント側デバイスは、サーバ側デバイスからソフトウェアを受信して自身のソフトウェアを更新する。【選択図】        図５
2006343819.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを格納するソフトウェア格納手段と、
ネットワーク上の他の装置を検索する検索手段と、
前記検索手段で検索された前記他の装置から、前記検索に対する応答を受信する応答受信手段と、
前記応答を解析し、前記他の装置のソフトウェア格納手段に格納されているソフトウェアの更新の要否を判断する応答解析手段と、
前記更新が必要と判断されたソフトウェアを前記ソフトウェア格納手段から読出して送信するソフトウェア送信手段とを備える、画像処理装置。
【請求項２】
前記応答には前記他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョン情報が含まれ、
前記応答解析手段は、前記他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョンと前記ソフトウェア格納手段に格納されているソフトウェアのリビジョンとに基づいて前記更新の要否を判断する、請求項１に記載の画像処理装置。
【請求項３】
前記応答には前記更新についての問合せ先に関する情報が含まれ、
前記応答解析手段は、前記問合せ先に対して問合わせると共に、前記問合せ先からの返答に基づいて前記更新の要否を判断する、請求項１または２に記載の画像処理装置。
【請求項４】
前記応答には前記更新について問合せの要否に関する情報が含まれ、
前記応答解析手段は、前記問合せが必要な場合に、前記問合せ先に対して通知される、前記更新を行なうためのサイトへのアクセス情報を生成する、請求項３に記載の画像処理装置。
【請求項５】
前記通知は電子メールによる通知であって、
前記応答解析手段は、前記問合せが必要な場合に、所定のフォーマットと前記応答に含まれる情報とを用いてメールデータを生成する、請求項４に記載の画像処理装置。
【請求項６】
前記ネットワーク上の他の装置からの検索に対する応答を生成する応答生成手段と、
前記応答生成手段で生成された前記応答を、前記検索を行なった前記他の装置に送信する応答送信手段と、
前記応答を送信した前記他の装置からソフトウェアを受信するソフトウェア受信手段と、
前記ソフトウェア格納手段に格納されているソフトウェアを、前記受信手段で受信した前記ソフトウェアに書換える書換手段とをさらに備える、請求項１に記載の画像処理装置。
【請求項７】
前記応答生成手段は、前記ソフトウェア格納手段に格納されているソフトウェアに関する情報を含むステータス情報を取得し、前記ステータス情報を含む応答を生成する、請求項６に記載の画像処理装置。
【請求項８】
前記検索手段、前記応答受信手段、前記応答解析手段、および前記ソフトウェア送信手段を含むサーバ機能と、前記応答生成手段、前記応答送信手段、前記ソフトウェア受信手段、および前記書換手段を含むクライアント機能とうち、有効とする機能を切替える機能切替手段をさらに備える、請求項６に記載の画像処理装置。
【請求項９】
前記検索手段は、当該画像処理装置に電源が投入されると前記検索を実行する、請求項１に記載の画像処理装置。
【請求項１０】
前記ソフトウェア格納手段は複数のソフトウェアを格納し、
前記応答解析手段は、前記ソフトウェア格納手段に格納される前記ソフトウェアごとに前記更新の要否を判断する、請求項１に記載の画像処理装置。
【請求項１１】
ソフトウェアを格納するソフトウェア格納手段を備える画像処理装置におけるソフトウェアの更新方法であって、
ネットワーク上の他の装置を検索する検索ステップと、
前記検索ステップにおいて検索された前記他の装置から、前記検索に対する応答を受信する応答受信ステップと、
前記応答を解析し、前記他の装置のソフトウェア格納手段に格納されているソフトウェアの更新の要否を判断する応答解析ステップと、
前記更新が必要と判断されたソフトウェアを前記ソフトウェア格納手段から読出して送信するソフトウェア送信ステップとを備える、画像処理装置におけるソフトウェアの更新方法。
【請求項１２】
前記応答には前記他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョン情報が含まれ、
前記応答解析ステップにおいて、前記他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョンと、前記画像処理装置のソフトウェア格納手段に格納されているソフトウェアのリビジョンとに基づいて前記更新の要否を判断する、請求項１１に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１３】
前記応答には前記更新についての問合せ先に関する情報が含まれ、
前記応答解析ステップにおいて、前記問合せ先に対して問合わせると共に、前記問合せ先からの返答に基づいて前記更新の要否を判断する、請求項１１または１２に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１４】
前記ネットワーク上の他の装置からの検索に対する応答を生成する応答生成ステップと、
前記応答生成ステップにおいて生成された前記応答を、前記検索を行なった前記他の装置に送信する応答送信ステップと、
前記応答を送信した前記他の装置からソフトウェアを受信するソフトウェア受信ステップと、
前記ソフトウェア格納手段に格納されているソフトウェアを、前記受信ステップにおいて受信した前記ソフトウェアに書換える書換ステップとをさらに備える、請求項１１に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１５】
前記応答生成ステップにおいて、前記ソフトウェア格納手段に格納されているソフトウェアに関する情報を含むステータス情報を取得し、前記ステータス情報を含む応答を生成する、請求項１４に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１６】
前記検索ステップ、前記応答受信ステップ、前記応答解析ステップ、および前記ソフトウェア送信ステップを含むサーバ側ステップと、前記応答生成ステップ、前記応答送信ステップ、前記ソフトウェア受信ステップ、および前記書換ステップを含むクライアント側ステップとうち、実行されるステップを切替える機能切替ステップをさらに備える、請求項１４に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１７】
前記検索ステップにおいては、前記画像処理装置に電源が投入されると、前記検索を実行する、請求項１１に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１８】
前記ソフトウェア格納手段には複数のソフトウェアが格納され、
前記応答解析ステップにおいては、前記ソフトウェア格納手段に格納される前記ソフトウェアごとに前記更新の要否を判断する、請求項１１に記載の画像処理装置におけるソフトウェアの更新方法。
【請求項１９】
ソフトウェアを格納するソフトウェア格納手段と、
ネットワーク上の他の装置に格納されているソフトウェアを更新するためのソフトウェアを、前記ソフトウェア格納手段から読出して送信するソフトウェア送信手段と、
他の装置からソフトウェアを受信するソフトウェア受信手段と、
前記ソフトウェア格納手段に格納されているソフトウェアを、前記ソフトウェア受信手段で受信した前記ソフトウェアに書換える書換手段とを備える、画像処理装置。
【請求項２０】
前記ソフトウェア格納手段に格納されているソフトウェアに関する情報を他の装置に送信する送信手段と、
他の装置から取得される、前記格納されている前記ソフトウェアに関する情報に基づいて、前記他の装置に格納されている前記ソフトウェアについて前記更新の要否を判断する判断手段とをさらに備える、請求項１９に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理装置および画像処理装置におけるソフトウェアの更新方法に関し、特に、ネットワーク環境において存在する装置のソフトウェアを更新する画像処理装置および画像処理装置におけるソフトウェアの更新方法に関する。
【背景技術】
【０００２】
ＭＦＰ（Multi Function Peripherals）や複写機、プリンタなどの画像処理装置にインストールされた種々のソフトウェアは、システム管理者やサービスマン、あるいはネットワークで接続されたサービスセンタなど、主に人手を介して更新されるのが従来の更新方法である。
【０００３】
または、下記の特許文献１には、上位装置が下位装置である端末装置よりインストールされているソフトウェアのリビジョン情報を取得し、必要に応じてソフトウェアの更新を行なう端末装置ソフトウェア更新方法が提案されている。
【特許文献１】特開平５−２３３３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の更新方法では、人手を介するため、管理の甘さや漏れ等により正しく更新が行なわれない場合があるという問題があった。特に、近年のＭＦＰなどの画像処理装置においては、その高機能化と共に、各種ソフトウェアの部品化技術の進展もあって、多くの個別のソフトウェアが搭載されるようになり、どの画像処理装置のどのソフトウェアを更新させるかの管理や操作の負担はさらに大きなものとなっていた。
【０００５】
また、特許文献１に提案されている更新方法は、特定の上位装置が下位装置である端末装置のソフトウェアを更新するために上位装置のソフトウェアを常に最新のリビジョンにしておく必要があり、上位装置のソフトウェアのリビジョンが最新でない場合にはネットワーク全体のソフトウェアが最新に更新されないという問題がある。
【０００６】
また、特許文献１に提案されている更新方法ではリビジョン情報に基づいて更新の要否が判断され、リビジョン情報以外の条件が用いられていないため、ソフトウェアごとの事情に対応したその他の条件で柔軟に更新の要否や可否が判断できないという問題がある。
【０００７】
本発明はこのような問題に鑑みてなされたものであって、人手を介することなく、ネットワーク全体として最新のソフトウェアに自動的に更新される画像処理装置および画像処理装置におけるソフトウェアの更新方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のある局面に従うと、画像処理装置は、ソフトウェアを格納するソフトウェア格納手段と、ネットワーク上の他の装置を検索する検索手段と、検索手段で検索された他の装置から、上記検索に対する応答を受信する応答受信手段と、応答を解析し、他の装置のソフトウェア格納手段に格納されているソフトウェアの更新の要否を判断する応答解析手段と、更新が必要と判断されたソフトウェアをソフトウェア格納手段から読出して送信するソフトウェア送信手段とを備える。
【０００９】
また、上記応答には他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョン情報が含まれ、応答解析手段は、他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョンと自身のソフトウェア格納手段に格納されているソフトウェアのリビジョンとに基づいて更新の要否を判断することが好ましい。
【００１０】
また、上記応答には更新についての問合せ先に関する情報が含まれ、応答解析手段は、問合せ先に対して問合わせると共に、問合せ先からの返答に基づいて更新の要否を判断することが好ましい。
【００１１】
さらに、上記応答には更新について問合せの要否に関する情報が含まれ、応答解析手段は、問合せが必要な場合に、問合せ先に対して通知される、更新を行なうためのサイトへのアクセス情報を生成することが好ましい。
【００１２】
さらに、上記通知は電子メールによる通知であって、応答解析手段は、問合せが必要な場合に、所定のフォーマットと上記応答に含まれる情報とを用いてメールデータを生成することが好ましい。
【００１３】
また、画像処理装置は、ネットワーク上の他の装置からの検索に対する応答を生成する応答生成手段と、応答生成手段で生成された応答を、検索を行なった他の装置に送信する応答送信手段と、上記応答を送信した他の装置からソフトウェアを受信するソフトウェア受信手段と、ソフトウェア格納手段に格納されているソフトウェアを、受信手段で受信したソフトウェアに書換える書換手段とをさらに備えることが好ましい。
【００１４】
さらに、応答生成手段は、ソフトウェア格納手段に格納されているソフトウェアに関する情報を含むステータス情報を取得し、ステータス情報を含む応答を生成することが好ましい。
【００１５】
また、画像処理装置は、上記検索手段、応答受信手段、応答解析手段、およびソフトウェア送信手段を含むサーバ機能と、上記応答生成手段、応答送信手段、ソフトウェア受信手段、および書換手段を含むクライアント機能とうち、有効とする機能を切替える機能切替手段をさらに備えることが好ましい。
【００１６】
また、検索手段は、当該画像処理装置に電源が投入されると検索を実行することが好ましい。
【００１７】
また、ソフトウェア格納手段は複数のソフトウェアを格納し、応答解析手段は、ソフトウェア格納手段に格納されるソフトウェアごとに更新の要否を判断することが好ましい。
【００１８】
本発明の他の局面に従うと、画像処理装置におけるソフトウェアの更新方法は、ソフトウェアを格納するソフトウェア格納手段を備える画像処理装置におけるソフトウェアの更新方法であって、ネットワーク上の他の装置を検索する検索ステップと、検索ステップにおいて検索された他の装置から、上記検索に対する応答を受信する応答受信ステップと、応答を解析し、他の装置のソフトウェア格納手段に格納されているソフトウェアの更新の要否を判断する応答解析ステップと、更新が必要と判断されたソフトウェアをソフトウェア格納手段から読出して送信するソフトウェア送信ステップとを備える。
【００１９】
また、上記応答には他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョン情報が含まれ、応答解析ステップにおいて、他の装置のソフトウェア格納手段に格納されているソフトウェアのリビジョンと当該画像処理装置のソフトウェア格納手段に格納されているソフトウェアのリビジョンとに基づいて更新の要否を判断することが好ましい。
【００２０】
また、上記応答には更新についての問合せ先に関する情報が含まれ、応答解析ステップにおいて、問合せ先に対して問合わせると共に、問合せ先からの返答に基づいて更新の要否を判断することが好ましい。
【００２１】
また、画像処理装置におけるソフトウェアの更新方法は、ネットワーク上の他の装置からの検索に対する応答を生成する応答生成ステップと、応答生成ステップにおいて生成された応答を、検索を行なった他の装置に送信する応答送信ステップと、上記応答を送信した他の装置からソフトウェアを受信するソフトウェア受信ステップと、ソフトウェア格納手段に格納されているソフトウェアを、受信ステップにおいて受信したソフトウェアに書換える書換ステップとをさらに備えることが好ましい。
【００２２】
さらに、応答生成ステップにおいて、ソフトウェア格納手段に格納されているソフトウェアに関する情報を含むステータス情報を取得し、ステータス情報を含む応答を生成することが好ましい。
【００２３】
また、画像処理装置におけるソフトウェアの更新方法は、上記検索ステップ、応答受信ステップ、応答解析ステップ、およびソフトウェア送信ステップを含むサーバ側ステップと、上記応答生成ステップ、応答送信ステップ、ソフトウェア受信ステップ、および書換ステップを含むクライアント側ステップとうち、実行されるステップを切替える機能切替ステップをさらに備えることが好ましい。
【００２４】
また、検索ステップにおいては、画像処理装置に電源が投入されると、上記検索が実行されることが好ましい。
【００２５】
また、ソフトウェア格納手段には複数のソフトウェアが格納され、応答解析ステップにおいては、ソフトウェア格納手段に格納されるソフトウェアごとに更新の要否が判断されることが好ましい。
【００２６】
本発明の他の局面に従うと、画像処理装置は、ソフトウェアを格納するソフトウェア格納手段と、ネットワーク上の他の装置に格納されているソフトウェアを更新するためのソフトウェアを、ソフトウェア格納手段から読出して送信するソフトウェア送信手段と、他の装置からソフトウェアを受信するソフトウェア受信手段と、ソフトウェア格納手段に格納されているソフトウェアを、ソフトウェア受信手段で受信したソフトウェアに書換える書換手段とを備える。
【００２７】
さらに、画像処理装置は、ソフトウェア格納手段に格納されているソフトウェアに関する情報を他の装置に送信する送信手段と、他の装置から取得される、格納されているソフトウェアに関する情報に基づいて、他の装置に格納されているソフトウェアについて更新の要否を判断する判断手段とを備えることが好ましい。
【発明を実施するための最良の形態】
【００２８】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２９】
本実施の形態にかかるシステムは、ネットワークに接続された複数のデバイス１０，１１，１２，…１ｎから構成される。デバイス１０，１１，１２，…１ｎとしては、ＭＦＰ（Multi Function Peripherals）が含まれ、その他、パーソナルコンピュータ等が含まれてもよい。ネットワークは、ＬＡＮ（Local Area Network）等の専用回線を介したネットワーク、インターネット等の電話回線を介したネットワーク、赤外線通信等の無線を介したネットワークなどが該当する。
【００３０】
図１は、ＭＦＰであるデバイス１０のハードウェア構成の具体例を示すブロック図である。
【００３１】
図１を参照して、ＭＦＰであるデバイス１０は、全体を制御するＣＰＵ（Central Processing Unit）２１と、原稿から画像データを読取るイメージリーダ部３０と、用紙上に画像を印刷するプリンタ部３５と、図示されない拡張スロットに挿入し、デバイス１０をネットワークや電話回線に接続したり、近距離の無線通信を行なったりするための拡張カードであるＮＩＣ（Network Interface Card）２２と、ＨＤ（Hard Disc）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）および不揮発性メモリなどから構成されて、ジョブデータやＣＰＵ２１で実行されるプログラムなどを記憶するための記憶部２０と、ユーザとのインタフェースであるパネル２５と、消耗品の残量などを検出するセンサ部４０とを含んで構成される。
【００３２】
図２は、図１のＭＦＰであるデバイス１０において通常の画像処理を行なうための機能構成の具体例を示すブロック図である。図２に示される各機能は、デバイス１０のＣＰＵ２１が記憶部２０に記憶される画像処理用のプログラムを実行することで実現される。
【００３３】
図２を参照して、ＭＦＰであるデバイス１０は、ＮＩＣ２２における通信を制御するための外部通信制御部３０１と、パネル２５における情報の入出力を制御するためのパネル制御部３０２と、プリントエンジンを制御してプリンタ部３５における印刷を制御するためのエンジン制御部３０３と、イメージリーダ部３０における画像の読取を制御するためのイメージリーダ制御部３０４と、センサ部４０における消耗品の残量などの検出を制御するためのセンサ制御部３０５と、記憶部２０に含まれるハードディスク、不揮発性メモリおよびＲＡＭなどに対する情報の入出力を制御するためのメモリ制御部３０６と、画像処理対象のジョブを制御するジョブ制御部３０７と、印刷のためのアプリケーション（ソフトウェア）が実行されることで印刷を実行するプリント処理部３０８と、スキャンのためのアプリケーションが実行されることでスキャンを実行するスキャン処理部３０９と、ファクシミリ送信のためのアプリケーションが実行されることでファクシミリ送信を実行するファックス処理部３１０と、ボックス機能と呼ばれる機能のためのアプリケーションが実行されることでボックス機能での処理を実行するボックス処理部３１１と、パネル２５での画面表示のためのアプリケーションが実行されることで画面表示を実行する画面表示処理部３１２と、ユーザ認証を制御する認証制御部５１と、各処理部３０８〜３１２でのアプリケーションの実行を制御するアプリケーション制御部５２と、これらのアプリケーションであるソフトウェアのバージョン（リビジョン）に関する情報であるリビジョン情報などを把握してソフトウェアを管理するソフトウェア管理部５３とを含んで構成される。
【００３４】
図３は、パーソナルコンピュータであるデバイス１１のハードウェア構成の具体例を示すブロック図である。
【００３５】
図３を参照して、パーソナルコンピュータであるデバイス１１は、全体を制御するＣＰＵ６０１と、ディスプレイ６０５と、ネットワークに接続したり外部と通信を行なったりするためのＬＡＮ（Local Area Network）カード６０７（またはモデムカード）と、キーボードやマウスなどにより構成される入力装置６０９と、フレキシブルディスクドライブ（ＦＤＤ：Flexible Disk Drive）６１１と、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）ドライブ６１３と、ハードディスクドライブ（ＨＤＤ：Hard Disc Drive）と、ＲＡＭ６１７と、ＲＯＭ６１９とを含んで構成される。
【００３６】
フレキシブルディスクドライブ６１１によりフレキシブルディスクＦに記録されたプログラムなどのデータを読取ることが可能であり、ＣＤ−ＲＯＭドライブ６１３によりＣＤ−ＲＯＭ６１３ａに記録されたプログラムなどのデータを読取ることが可能である。
【００３７】
パーソナルコンピュータであるデバイス１１において通常の情報処理を行なうための機能構成は図２の機能構成とほぼ同様であって、図２の機能構成のうちＭＦＰに固有の機能（プリンタ等）は、パーソナルコンピュータにおいては、ＭＦＰに対して上記機能を発揮させるための処理を実行する機能に置換わる。
【００３８】
図４は、ネットワーク上でソフトウェア管理を行なうための、デバイス１０，１１の機能構成の具体例を示すブロック図である。図４に示される各機能は、デバイス１０のＣＰＵ２１が記憶部２０に記憶されるソフトウェア管理用のプログラムを実行し、デバイス１１のＣＰＵ６０１がＲＯＭ６１９等の記憶部に記憶されるソフトウェア管理用のプログラムを実行することで実現される。
【００３９】
図４を参照して、各デバイスは、サーバ機能であるサーバ部と、クライアント機能であるクライアント部とを備える。なお、各デバイスは少なくともクライアント機能を有し、デバイスにメモリ容量等の制限がある場合などは、クライアント機能のみを有してもよい。
【００４０】
デバイス１０は、サーバ部において、ソフトウェア送信制御部１１０、デバイス検索要求送信部１１１、デバイス検索応用受信部１３０、デバイス検索応答解析部１３１、ソフトウェア読出部１４１、およびソフトウェア送信部１４２を含み、クライアント部において、デバイス検索要求受信部１２０、デバイス検索応答生成部１２１、デバイス検索応答送信部１２２、ソフトウェア受信部１５０、ソフトウェア書換部１５１、および必要に応じて組込みＷＥＢサーバ上のＷＥＢページであるＷＥＢサーバ１６０を含み、サーバ部およびクライアント部の共通領域において、ソフトウェア格納部１４０を含む。
【００４１】
デバイス１０がサーバ機能を発揮しているとき、ソフトウェア送信制御部１１０は、デバイス１０の起動時およびランダム時間が経過したタイミングに、デバイス検索要求送信部１１１にデバイス検索要求の送信を要求する。
【００４２】
デバイス検索要求送信部１１１は、ソフトウェア送信制御部１１０からの要求に応じて、ネットワーク上に、デバイス検索のためのデータであるデバイス検索データを送信する。なお、デバイス検索データは、ネットワーク上にブロードキャスト送信、またはマルチキャスト送信されてもよいし、パネルから指定された、１つまたは複数の、クライアント機能を発揮しているデバイス（以下、クライアント側デバイスと称するに送信されてもよい。
【００４３】
デバイス１０がクライアント機能を発揮しているとき、デバイス検索要求受信部１２０は、サーバ機能を発揮しているデバイス（以下、サーバ側デバイスと称する）からデバイス検索のためのデータを受信し、デバイス検索応答生成部１２１に対してデバイス検索応答の生成を要求する。
【００４４】
デバイス検索応答生成部１２１は、デバイス検索要求受信部１２０からの要求に応じて、デバイス１０に関する情報を取得してデバイス検索応答用のデータであるデバイス検索応答データを生成し、デバイス検索応答送信部１２１に入力する。デバイス１０に関する情報としては、デバイス１０を特定する情報（機種名等）、現在の状態（ステータス）、およびソフトウェア管理部５３で管理されているソフトウェアに関する情報（「起動中ソフトウェアのリビジョン」、「ソフトウェア更新の可否情報」、「更新問合せ有無情報」、および「デバイス管理者のメールアドレス」など）が含まれる。
【００４５】
デバイス検索応答送信部１２２は、デバイス検索応答生成部１２１から入力されたデバイス検索応答データを上記サーバ側デバイスに送信する。
【００４６】
デバイス１０がサーバ機能を発揮しているとき、デバイス検索応答受信部１３０は、クライアント側デバイスからデバイス検索応答データを受信し、デバイス検索応答解析部１３１に入力して解析を要求する。
【００４７】
デバイス検索応答解析部１３１は、デバイス検索応答受信部１３０からの要求に応じて入力されたデバイス検索応答データを解析し、上記クライアント側デバイスでのソフトウェア更新の可否を判断する。デバイス検索応答解析部１３１は、デバイス検索応答データの解析の結果、上記クライアント側デバイスにおいてソフトウェア更新が可能であると判断した場合、ソフトウェア読出部１４１に上記クライアント側デバイスで使用可能なソフトウェアの読出しを要求する。
【００４８】
ソフトウェア格納部１４０には、各処理部３０８〜３１２で実行されるアプリケーションであるソフトウェアが格納され、ソフトウェア管理部５３によって格納されたソフトウェアが管理されている。ソフトウェア読出部１４１は、デバイス検索応答解析部１３１からの要求に応じて、必要なソフトウェアをソフトウェア格納部１４０から読出し、ソフトウェア送信部１４２に入力する。
【００４９】
ソフトウェア送信部１４２は、ソフトウェア読出部１４１から入力されたソフトウェアを、ネットワークを通じて、上記クライアント側デバイスに送信する。
【００５０】
なお、デバイス検索応答受信部１３０においてネットワーク上の複数のクライアント側デバイスからデバイス検索応答データを受信した場合、デバイス検索応答解析部１３１はネットワーク上のすべてのクライアント側デバイスについてソフトウェア更新の可否を判断し、クライアント側デバイスのうちソフトウェア更新が可能なすべてのデバイスに対してソフトウェア更新を行なってもよいし、ソフトウェア更新が可能なクライアント側デバイスのうちの選択されたクライアント側デバイスにのみソフトウェア更新を行なってもよい。
【００５１】
デバイス１０がクライアント機能を発揮しているとき、ソフトウェア受信部１５０は、サーバ側デバイスからソフトウェアを受信し、ソフトウェア書換部１５１に入力する。
【００５２】
ソフトウェア書換部１５１は、ソフトウェア受信部１５０から入力されたソフトウェアを用いて、ソフトウェア格納部１４０に格納されている起動用ソフトウェアを書換えて更新する。なお、デバイス検索応答解析部１３１において、デバイス検索応答データに含まれる「アップデート問合せ有無情報」、および「デバイス管理者のメールアドレス」を用いてソフトウェア更新の可否が判断され、アップデート問合せが必要であると判断された場合には、クライアントデバイスの管理者に対してメールなどでソフトウェアの更新が問合わされ、更新が許可された場合に限りソフトウェア書換部１５１においてソフトウェアの書換えが実行されてもよい。
【００５３】
また、デバイス１１も同様に、サーバ部において、ソフトウェア送信制御部２１０、デバイス検索要求送信部２１１、デバイス検索応用受信部２３０、デバイス検索応答解析部２３１、ソフトウェア読出部２４１、およびソフトウェア受信部２４２を含み、クライアント部において、デバイス検索要求受信部２２０、デバイス検索応答生成部２２１、デバイス検索応答送信部２２２、ソフトウェア受信部２５０、ソフトウェア書換部２５１、および必要に応じて組込みＷＥＢサーバ上のＷＥＢページであるＷＥＢサーバ２６０を含み、サーバ部およびクライアント部の共通領域において、ソフトウェア格納部２４０を含み、上記デバイス１０の各部と同様に機能する。
【００５４】
すなわち、デバイス１０がサーバ機能を発揮し、デバイス１１がクライアント機能発揮する場合、上記デバイス１０のデバイス検索要求送信部１１１から送信されたデバイス検索データがデバイス１１のデバイス検索要求受信部２２０で受信され、デバイス検索応答送信部２２２からデバイス検索応答データがデバイス１０に対して送信される。
【００５５】
デバイス１１のデバイス検索応答送信部２２２から送信されたデバイス検索応答データは、デバイス１０のデバイス検索応用受信部１３０で受信され、必要なソフトウェアがデバイス１０のソフトウェア送信部１４２からデバイス１１に対して送信される。
【００５６】
デバイス１０のソフトウェア送信部１４２から送信されたソフトウェアは、デバイス１１のソフトウェア受信部２５０で受信され、ソフトウェア書換部２５１によって、デバイス１１のソフトウェアが書換えられて更新される。
【００５７】
図５は、サーバ側デバイスとクライアント側デバイスとの間の通信手順を示す図であって、サーバ側デバイスとクライアント側デバイスとの間の通信データの方向を矢印で示している。
【００５８】
図５を参照して、所定のタイミング、ここでは電源ＯＮのタイミングでサーバ側デバイスからデバイス検索要求がブロードキャスト送信またはマルチキャスト送信される（ステップＳ１）。クライアント側デバイスは、上記デバイス検索要求に応答してデバイス検索応答データをサーバ側デバイスに対して送信することで（ステップＳ２）、上記デバイス検索応答データを受信したサーバ側デバイスでは、ネットワーク上に存在するクライアント側デバイスが検出できる。
【００５９】
さらに、サーバ側デバイスは、上記デバイス検索応答データに基づいてソフトウェアの更新が可能なクライアント側デバイスを判断し、そのクライアント側デバイスに対して必要なソフトウェアを送信して更新を要求する（ステップＳ３）。クライアント側デバイスは、上記ソフトウェアを受信して自身のソフトウェアを更新し、必要に応じて、上記要求に対して、更新の完了を応答する（ステップＳ４）。
【００６０】
図６は、サーバ側デバイスにおけるソフトウェア管理処理を示すフローチャートである。ＭＦＰであるデバイス１０がサーバ側デバイスであるものとすると、図６のフローチャートに示される処理は、デバイス１０のＣＰＵ２１が記憶部２０に記憶されるソフトウェア管理用のプログラムを実行し、図４に示される各機能を発揮させることで実現される。
【００６１】
図６を参照して、デバイス１０において電源がＯＮされてサーバ機能が開始されると、デバイス検索要求送信部１１１より、ネットワーク上の特定もしくは不特定のデバイス（クライアント側デバイス）に対して、検索要求が送信される（ステップＳ１０１）。そして、デバイス検索応答受信部１３０においてネットワーク上のクライアント側デバイスからのデバイス検索応答データを受信可能な状態に移行する（ステップＳ１０３）。
【００６２】
デバイス検索応答受信部１３０においてデバイス検索応答データを受信すると（ステップＳ１０５でＹＥＳ）、デバイス検索解析部１３１において、デバイス検索応答データに対する処理である検索応答受信処理が実行される（ステップＳ１０７）。ステップＳ１０７の検索応答受信処理については後述する。
【００６３】
なお、デバイス検索応答データを受信可能な状態がキャンセルされた場合、またはデバイス検索応答データの受信がないままにデバイス検索応答データを受信可能な状態に移行してから所定時間が経過した場合、以降の処理が実行されずに本処理が終了される。
【００６４】
次に、ステップＳ１０７での処理結果に基づいてデバイス検索応答解析部１３１において上記デバイス検索応答データを送信したクライアント側デバイス（または、その他の該当するクライアント側デバイス）に対して送信する更新用のソフトウェアが選択され（ステップＳ１０９）、上記処理結果に基づいてそのソフトウェアの送信の適否が判断される。
【００６５】
上記ソフトウェアの送信が適当であると判断された場合には（ステップＳ１１１でＹＥＳ）、ソフトウェア送信部１４２から上記ソフトウェアが送信され（ステップＳ１１３）、上記ソフトウェアの送信が適当でないと判断された場合には（ステップＳ１１１でＮＯ）、ステップＳ１１３の送信処理がスキップされ、本処理が終了する。
【００６６】
図７は、クライアント側デバイスにおけるソフトウェア管理処理を示すフローチャートである。パーソナルコンピュータであるデバイス１１がクライアント側デバイスであるものとすると、図７のフローチャートに示される処理は、デバイス１１のＣＰＵ６０１がＲＯＭ６１９等の記憶部に記憶されるソフトウェア管理用のプログラムを実行し、図４に示される各機能を発揮させることで実現される。
【００６７】
図７を参照して、デバイス１１は、サーバ側クライアントから送信されるデバイス検索データを受信可能な状態に移行し（ステップＳ２０１）、デバイス検索要求受信部２２０においてサーバ側デバイスからデバイス検索データを受信すると（ステップＳ２０３でＹＥＳ）、デバイス応答生成部２２１において、受信されたデバイス検索データに基づいてデバイス検索応答データを生成する処理である検索要求受信処理が実行される（ステップＳ２０５）。
【００６８】
ステップＳ２０５の検索要求受信処理は、図８のフローチャートに示される。
すなわち、図８を参照して、受信されたデバイス検索データがデバイス応答生成部２２１において解析されて（ステップＳ３０１）、デバイス１１が特定される情報、デバイス１１のステータス、およびソフトウェア格納部２４０に格納されているソフトウェアに関する情報などが取得される（ステップＳ３０３）。そして、取得された情報に基づいてデバイス検索応答データが生成される（ステップＳ３０５）。
【００６９】
ステップＳ３０５では、取得された情報に基づいて新規にデバイス検索応答データが生成されてもよいし、受信されたデバイス検索データの必要箇所を書換えることでデバイス検索応答データが生成されてもよい。
【００７０】
ステップＳ２０５で上記処理によって生成されたデバイス検索応答データは、デバイス検索応答送信部２２２からサーバ側デバイスに対して送信される（ステップＳ２０７）。
【００７１】
デバイス検索応答データにソフトウェアに関する情報として「ソフトウェアを受信する条件」が含まれる場合、すなわち当該クライアント側デバイスがサーバ側デバイスからソフトウェアを受信して更新することが許可されている場合には（ステップＳ２０９でＹＥＳ）、ソフトウェアの受信を待機する（ステップＳ２１１）。
【００７２】
一方、デバイス検索応答データにソフトウェアに関する情報として「ソフトウェアを受信しない条件」が含まれる場合、すなわち当該クライアント側デバイスがサーバ側デバイスからソフトウェアを受信して更新することが許可されていない場合には（ステップＳ２０９でＮＯ）、ステップＳ２０１のデバイス検索データを受信可能な状態に戻ってデバイス検索データの受信を待機する。
【００７３】
ソフトウェア受信部２５０においてサーバ側デバイスから更新用のソフトウェアを受信すると（ステップＳ２１３でＹＥＳ）、ソフトウェア書換部２５１において、ソフトウェア格納部２４０に格納されているソフトウェアが受信した更新用のソフトウェアに書換えられて更新される（ステップＳ２１５）。
【００７４】
以上で一連の処理が終了して、当初のデバイス検索データを受信可能な状態に戻ってデバイス検索データの受信を待機する。
【００７５】
図９は、サーバ側デバイスとクライアント側デバイスとの間でやり取りされるデバイス検索データおよびデバイス検索応答データのデータ構造の具体例を示す図である。
【００７６】
図９を参照して、デバイス検索データおよびデバイス検索応答データのデータ構造は、デバイス検索データまたはデバイス検索応答データであることを示すデータ（項目「要求／応答」）と、検索の成功、検索の失敗、ソフトウェアの更新（アップデート）の不許可、または問合せの必要を示す、デバイスの状態（ステータス）を表わすデータ（項目「ステータス」）と、（項目「機種名」）と、クライアント側デバイスを特定する情報やクライアント側デバイスの各処理部の実行するソフトウェアについての検索の要否、またはクライアント側デバイスを特定する情報や各ソフトウェアを特定する情報（リビジョン情報等）を示すデータ（項目「プリンタ」〜「ファックス」）、およびソフトウェアの更新時に必要な問合せ先を示すデータ（項目「問合せ先」）とを含んで構成される。
【００７７】
図１０は、上記ステップＳ１０１でサーバ側デバイスから送信され、上記ステップＳ２０３でクライアント側デバイスで受信されるデバイス検索データの具体例を示す図である。
【００７８】
図１０に示される例においては、サーバ側デバイスからクライアント側デバイスに対して、機種名、ＭＦＰでの印刷のためのアプリケーション（プリンタ）のソフトウェア、ＭＦＰでのスキャンのためのアプリケーション（スキャナ）のソフトウェア、ＭＦＰのパネルでの画面表示のためのアプリケーション（パネル）のソフトウェア、ＭＦＰ制御のためのプログラム（コントローラ）のソフトウェア、およびＭＦＰでのファクシミリ送信のためのアプリケーション（ファックス）のソフトウェアの検索が要求されており、デバイス検索データのうちのクライアント側デバイスを特定する情報やクライアント側デバイスの各処理部の実行するソフトウェアについての検索の要否を示すデータ（項目「機能」〜「ファックス」）に内容が、要求されていることを示す「１」で表わされている。
【００７９】
図１１は、上記ステップＳ２０７でクライアント側デバイスから送信され、上記ステップＳ１０５でサーバ側デバイスで受信されるデバイス検索応答データの具体例を示す図である。
【００８０】
図１１に示される例においては、クライアント側デバイスからサーバ側デバイスに対して、図１０に示されたデバイス検索データにおいて要求された、クライアント側デバイスの機種名、ＭＦＰでの印刷のためのアプリケーション（プリンタ）のソフトウェア、ＭＦＰでのスキャンのためのアプリケーション（スキャナ）のソフトウェア、ＭＦＰのパネルでの画面表示のためのアプリケーション（パネル）のソフトウェア、ＭＦＰ制御のためのプログラム（コントローラ）のソフトウェア、およびＭＦＰでのファクシミリ送信のためのアプリケーション（ファックス）のソフトウェアを特定する情報（名前、リビジョン情報等）が応答されている。また、これらのソフトウェアを更新する際に必要な問合せ先が指定されている。
【００８１】
図１２は、上記ステップＳ１０７でサーバ側デバイスのデバイス検索解析部１３１において実行される検索応答受信処理を示すフローチャートである。具体例として、図１０に示されるデバイス検索データに応じて、クライアント側デバイスから図１１に示されるデバイス検索応答データを受信したものとする。
【００８２】
図１２を参照して、始めに、デバイス検索応答データのうちの項目「要求／応答」のデータが確認されて、クライアント側デバイスから受信したデータがデバイス検索応答データであることが確認される（ステップＳ４０１）。なお、受信したデータがデバイス検索応答データでない場合、すなわち、項目「要求／応答」のデータが応答を示す「１」でない場合には（ステップＳ４０３でＮＯ）、本処理を終了する。
【００８３】
受信したデータがデバイス検索応答データである場合、すなわち項目「要求／応答」のデータが応答を示す「１」である場合（ステップＳ４０３でＹＥＳ）、次に、デバイス検索応答データのうちの項目「ステータス」のデータで、検索の成功、検索の失敗、ソフトウェア更新の不許可、または問合せの必要などの、クライアント側デバイスの状態（ステータス）が確認され（ステップＳ４０５）、ステータスに応じて移行の処理が振分けられる（ステップＳ４０７）。
【００８４】
項目「ステータス」のデータの内容が図９に示される「１」，「２」である場合、すなわち、検索に失敗、またはソフトウェア更新が不許可である場合（ステップＳ４０７で「１、２（ＮＧ）」）、本処理を終了する。
【００８５】
項目「ステータス」のデータの内容が図９に示される「３」である場合、すなわちソフトウェアの更新を行なう際に問合せが必要である場合（ステップＳ４０７で「３」）、デバイス検索応答データのうちの項目「問合せ先」のデータから、問合せ先に関する情報（アクセス情報）が取得される（ステップＳ４０９）。なお、このとき項目「問合せ先」の内容がアクセス情報でなく、問合せ先を取得できなかった場合には（ステップＳ４１１でＮＧ）、本処理を終了する。
【００８６】
項目「問合せ先」のデータから問合せ先に関する情報が取得されると（ステップＳ４１１でＯＫ）、デバイス検索応答解析部１３１は、図示されないアクセス部に対してそのアクセス情報に基づいて所定のデバイスにアクセスすることを要求し（ステップＳ４１３）、ソフトウェアの更新について問合せる。その後、上記問合せの返答を待機する状態に移行する（ステップＳ４１５）。
【００８７】
上記所定のデバイスへのアクセスとしては、たとえば上記所定のデバイスへメールを送信する方法が挙げられる。その場合、記憶部２０の所定領域に予めメールのフォーマットとして図１３に示されるようなメールデータが格納されており、ステップＳ４１３では、デバイス検索応答解析部１３１において、クライアント側デバイスから受信したデバイス検索応答データおよびサーバ側デバイスの記憶部やソフトウェア格納部１４０からメールのフォーマットのパラメータに応じた情報が読出され、問合せのためのメールデータが生成される。より具体的には、図１３を参照して、メールのフォーマット中には、サーバ側デバイスのアクセス情報（＄＄＄０１＄＄）、項目「問合せ先」のデータに該当する上記所定のデバイスのアクセス情報（＄＄＄０２＄＄＄）、サーバ側デバイスの識別情報（＄＄０３＄＄）、項目「機種名」のデータに該当するクライアント側デバイスの識別情報（＄＄０４＄＄）、項目「プリンタ」〜「ファックス」のデータに該当する、クライアント側デバイスの各ソフトウェアを特定するリビジョン情報等の情報（旧バージョン番号）、サーバ側デバイスのソフトウェア格納部１４０に格納されている、クライアント側デバイスのソフトウェア更新が必要なソフトウェアを特定するリビジョン情報等の情報（新バージョン番号）、およびクライアント側デバイスの各ソフトウェアを更新するためのサイトへのアクセス情報が含まれ、ステップＳ４１３では、デバイス検索応答解析部１３１において、クライアント側デバイスから受信したデバイス検索応答データおよびサーバ側デバイスの記憶部やソフトウェア格納部１４０から必要な情報が読出されて必要な項目に埋込まれ、図１４に示されるメールデータが生成される。
【００８８】
クライアント側デバイスの管理者は、上記所定のデバイスにおいて図１４のメールデータに基づくメールを受信し、上記サイトにアクセスすることで上記所定のデバイスからクライアント側デバイスのソフトウェアの更新が許可される。
【００８９】
図１５は、クライアント側デバイスのソフトウェアを更新するためのサイトの具体例を示す図である。図１５に示されるサイトは、サーバ側デバイス、ネットワーク上の所定のデバイス、またはインターネットを介してアクセスされる所定のデバイスに格納されており、上記アクセス情報に基づいてアクセスされる。上記サイトがサーバ側デバイスがもつ組込みＷＥＢサーバ上のＷＥＢページである場合（図４においてＷＥＢサーバ１６０，２６０で示される）、上記アクセス情報は当該ＷＥＢページへアクセスするためのＵＲＬ（Uniform Resource Locators）リンク情報が該当する。
【００９０】
ＷＥＢページなどの上記サイトおよび上記サイトへのアクセス情報は、図１３に示されたメールデータのフォーマットにしたがって、デバイス検索応答データに応じて動的に生成される。かかるサイトは、不正アクセスによるソフトウェア更新の要求を排除するため、有効期限が付された時限公開であることが好ましい。さらに、不正にアクセスされてソフトウェアの更新を要求された場合、更新が失敗となることが好ましい。
【００９１】
図１５を参照して、上記サイトにおいて、管理者よりクライアント側デバイスのソフトウェア更新の許可が付与され、ソフトウェア更新の許可は上記サイトからサーバ側デバイスに上記問合せの返答として送信される。
【００９２】
上記問合せの返答として送信されたソフトウェア更新の許可は、サーバ側デバイスの図示されないアクセス部において受信され（ステップＳ４１７でＹＥＳ）、デバイス検索応答解析部１３１において上記返答に応じた処理が実行される（ステップＳ４２１）。
【００９３】
上記返答に応じた処理としては、具体的に、上記サイトで付与されたソフトウェア更新の許可に基づいて、デバイス検索応答解析部１３１においてクライアント側デバイスから受信したデバイス検索応答データが書換えられる処理などが該当する。この処理が実行されることによって、再度検索応答処理が実行されて、上記ステップＳ４０７においてデバイス検索応答データの項目「ステータス」のデータの内容が「０」であることが確認され、以降、その内容に応じた処理が実行される。
【００９４】
クライアント側デバイスから受信したデバイス検索応答データの項目「ステータス」のデータの内容が図９に示される「０」である場合、すなわちクライアント側の検索に成功し更新が可能なソフトウェアを特定できた場合（ステップＳ４０７で「０」）、デバイス検索応答解析部１３１において、更新するソフトウェアを取得する処理である書換対象機能取得処理が実行される（ステップＳ４１９）。
【００９５】
ステップＳ４１９の書換対象機能取得処理については、図１６のフローチャートに示される。
【００９６】
図１６を参照して、デバイス検索応答解析部１３１において、自身のソフトウェア格納部１４０に格納されているソフトウェアのリビジョンを示すリビジョン情報を取得し（ステップＳ５０１）、各機能について（ステップＳ５０３〜Ｓ５１１）、デバイス検索応答データから解析されたクライアント側デバイスのソフトウェアのリビジョンと比較して更新の要否を判断する（ステップＳ５１２）。一般的に、ソフトウェアのバージョンがアップするほどソフトウェアのリビジョンが大きくなるため、ステップＳ５０３〜Ｓ５１１では、サーバ側デバイスのソフトウェアのリビジョンがクライアント側デバイスのソフトウェアのリビジョンよりも大なるときに更新が必要と判断される。
【００９７】
ここでは、デバイス検索応答データに示される１つの機能（たとえばプリンタ）についてリビジョン情報が比較されて（ステップＳ５１２）、更新が必要と判断されると（ステップＳ５０３でＹＥＳ）、ソフトウェアの更新が可能な機能であることが確認されて（ステップＳ５１３）、更新の対象として特定される。
【００９８】
さらに、デバイス検索応答データに示される次の機能が確認され（ステップＳ５１５）、上記１つの機能の次に機能（たとえばスキャナ）がある場合には（ステップＳ５１７でＹＥＳ）、再度処理がステップＳ５０１に戻されて処理が繰返され、デバイス検索応答データに示される機能について、順次、更新の要否が判断されて（ステップＳ５０３〜Ｓ５１１）、更新の対象として特定される。
【００９９】
本実施の形態にかかるシステムにおいて、デバイスが上記処理を実行することによって、管理者等の人手を介することなく最新のソフトウェアに自動的に更新される。
【０１００】
また、リビジョン情報以外に、必要に応じて自動的に問合せしてソフトウェアが更新されるため、ソフトウェア更新の要否や可否が柔軟に判断される。
【０１０１】
本実施の形態にかかるシステムにおいては、デバイス１０〜１ｎ内のサーバ機能が固定されておらず、ネットワーク上のデバイスが、順に、所定のタイミングで所定期間サーバ側デバイスとなる。すなわち、本実施の形態にかかるシステムにおいてサーバ側デバイスとクライアント側デバイスとの役割分担がなされる。
【０１０２】
図１７は、１つのデバイスにおいてサーバ機能とクライアント機能とを切替えるための処理を示すフローチャートである。ＭＦＰであるデバイス１０がサーバ側デバイスであるものとすると、図１７のフローチャートに示される処理は、デバイス１０のＣＰＵ２１が記憶部２０に記憶されるサーバ機能を発揮するためのプログラムを実行し、図４に示される各機能を発揮させることで実現される。
【０１０３】
図１７を参照して、始めに、電源が投入されるなどシステムにおいて起動したタイミングで本処理が開始されて、ＣＰＵ２１は、サーバ部に含まれる各部１１０，１１１，１３０，１３１，１４０，１４１，１４２を有効にし、サーバとしての動作が開始される（ステップＳ６０１）。同時に、ＣＰＵ２１は、クライアント部に含まれる各部１２０，１２１，１２２，１５０，１５１を無効とし、クライアントとしての動作が禁じられる（ステップＳ６０３）。
【０１０４】
続いて、サーバ側デバイスとしてデバイス検索データを送信してネットワーク上にすでに存在しているクライアント側デバイスを検索する上記の処理が実行されて（ステップＳ６０７）、その回答として受信したデバイス検索応答データに応じて（ステップＳ６０７でＹＥＳ）、上記のソフトウェアを更新する処理が実行される（ステップＳ６０９）。
【０１０５】
ネットワーク上のクライアント側デバイスから回答がない場合（ステップＳ６０７でＮＯ）、あるいは、ネットワーク上に存在しているクライアント側デバイスからのすべての回答に応じてソフトウェアを更新する処理が終了すると（ステップＳ６１１でＹＥＳ）、現在時刻が読取られて（ステップＳ６０３）、現在の「分」の数がランダムタイマに設定され（ステップＳ６１７）、ＣＰＵ２１においてクライアント部に含まれる各部１２０，１２１，１２２，１５０，１５１が有効とされて、クライアントとしての動作が開始される（ステップＳ６１９）。
【０１０６】
クライアントとしての動作はステップＳ６１７で設定されたランダムタイマによってランダム時間の経過が検出されるまで続き（ステップＳ６２１でＮＯ）、ランダム時間経過すると、再び処理がステップＳ６０１に戻されて、ＣＰＵ２１においてサーバ部に含まれる各部１１０，１１１，１３０，１３１，１４０，１４１，１４２が有効とされ、サーバとしての動作が開始される。
【０１０７】
本実施の形態にかかるデバイスにおいて上記の処理が実行されることで、１つのデバイスの中で起動時やランダム時間経過後にサーバ機能とクライアント機能とが入替わる。また、ランダム時間経過後に機能が入替わることで、同時にネットワーク上にサーバ側クライアントが複数存在せず、動作が重なることがない。このため、本実施の形態にかかるシステムにおいては、ネットワーク上で動的にサーバ機能が入替わり、ネットワーク上にサーバ側デバイスが固定されない。
【０１０８】
このようにネットワーク上にサーバ側デバイスが固定されないために、サーバ側デバイスが上位となって下位であるクライアント側デバイスのソフトウェアを更新する処理を行なう構成としても、常に所定の１つのデバイスのソフトウェアを最新のリビジョンにしておく必要がなく、ネットワーク上のいずれかのデバイスに最新のリビジョンのソフトウェアが存在すると、自動的にネットワーク全体として最新のリビジョンとすることが可能になる。
【０１０９】
なお、上記具体例においては、１つのデバイスにサーバ機能とクライアント機能とが備えられてシステム内で動的にサーバ側デバイスが割振られるものとされているが、言うまでもなく、システム内にサーバ機能のみを発揮するデバイスが含まれ、固定的にサーバ側デバイスとなってもよい。つまり、本実施の形態にかかるデバイスは、上記デバイス１０のネットワーク上でソフトウェア管理を行なうための機能構成のうちのサーバ部のみを有し、図７に示される処理を行なうことなく図６に示される処理のみを実行するものであってもよい。
【０１１０】
さらに、上述のシステムにおいて実行されるソフトウェアの更新方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１１１】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１１２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１１３】
【図１】ＭＦＰであるデバイス１０のハードウェア構成の具体例を示すブロック図である。
【図２】ＭＦＰであるデバイス１０において通常の画像処理を行なうための機能構成の具体例を示すブロック図である。
【図３】パーソナルコンピュータであるデバイス１１のハードウェア構成の具体例を示すブロック図である。
【図４】ネットワーク上でソフトウェア管理を行なうための、デバイス１０，１１の機能構成の具体例を示すブロック図である。
【図５】サーバ側デバイスとクライアント側デバイスとの間の通信手順を示す図である。
【図６】サーバ側デバイスにおけるソフトウェア管理処理を示すフローチャートである。
【図７】クライアント側デバイスにおけるソフトウェア管理処理を示すフローチャートである。
【図８】ステップＳ２０５の検索要求受信処理を示すフローチャートである。
【図９】デバイス検索データおよびデバイス検索応答データのデータ構造の具体例を示す図である。
【図１０】デバイス検索データの具体例を示す図である。
【図１１】デバイス検索応答データの具体例を示す図である。
【図１２】ステップＳ１０７の検索応答受信処理を示すフローチャートである。
【図１３】メールフォーマットのメールデータ具体例を示す図である。
【図１４】送信されるメールのメールデータ具体例を示す図である。
【図１５】クライアント側デバイスのソフトウェアを更新するためのサイトの具体例を示す図である。
【図１６】ステップＳ４１９の書換対象機能取得処理を示すフローチャートである。
【図１７】１つのデバイスにおいてサーバ機能とクライアント機能とを切替えるための処理を示すフローチャートである。
【符号の説明】
【０１１４】
１０，１１，１２，…１ｎ  デバイス、２０  記憶部、２１，６０１  ＣＰＵ、２２  ＮＩＣ、２５  パネル、３０  イメージリーダ部、３５  プリンタ部、４０  センサ部、５１  認証制御部、５２  アプリケーション制御部、５３  ソフトウェア管理部、１１０  ソフトウェア送信制御部、１１１  デバイス検索要求送信部、１２０  デバイス検索要求受信部、１２１  デバイス検索応答生成部、１２２  デバイス検索応答送信部、１３０  デバイス検索応用受信部、１３１  デバイス検索応答解析部、１４０  ソフトウェア格納部、１４１  ソフトウェア読出部、１４２  ソフトウェア受信部、１５０  ソフトウェア受信部、１５１  ソフトウェア書換部、１６０  ＷＥＢサーバ、２１０  ソフトウェア送信制御部、２１１  デバイス検索要求送信部、２２０  デバイス検索要求受信部、２２１  デバイス検索応答生成部、２２２  デバイス検索応答送信部、２３０  デバイス検索応用受信部、２３１  デバイス検索応答解析部、２４０  ソフトウェア格納部、２４１  ソフトウェア読出部、２４２  ソフトウェア受信部、２５０  ソフトウェア受信部、２５１  ソフトウェア書換部、２６０  ＷＥＢサーバ、３０１  外部通信制御部、３０２  パネル制御部、３０３  エンジン制御部、３０４  イメージリーダ制御部、３０５  センサ制御部、３０６  メモリ制御部、３０７  ジョブ制御部、３０８  プリント処理部、３０９  スキャン処理部、３１０  ファックス処理部、３１１  ボックス処理部、３１２  画面表示処理部、６０５  ディスプレイ、６０７  ＬＡＮカード、６０９  入力装置、６１１  フレキシブルディスクドライブ、６１３  ＣＤ−ＲＯＭドライブ、６１３ａ  ＣＤ−ＲＯＭ、６１５  ＨＤＤ、６１７  ＲＡＭ、６１９  ＲＯＭ。
【図１】
2006343819.tif 000003
【図２】
2006343819.tif 000004
【図３】
2006343819.tif 000005
【図４】
2006343819.tif 000006
【図５】
2006343819.tif 000007
【図６】
2006343819.tif 000008
【図７】
2006343819.tif 000009
【図８】
2006343819.tif 000010
【図９】
2006343819.tif 000011
【図１０】
2006343819.tif 000012
【図１１】
2006343819.tif 000013
【図１２】
2006343819.tif 000014
【図１３】
2006343819.tif 000015
【図１４】
2006343819.tif 000016
【図１６】
2006343819.tif 000017
【図１７】
2006343819.tif 000018
【図１５】
2006343819.tif 000019