(57)【要約】【課題】  通信ネットワークに接続された複数の装置に搭載されるソフトウェアを更新する場合に、更新処理に要する負荷を低減すると共に、更新処理に要する時間を短縮する、ソフトウェア更新方法が提供される。【解決手段】  通信回線を介してソフトウェアの更新対象である装置と通信可能に接続された第１の更新処理装置が、特定の前記装置のソフトウェアを更新して、係る装置を第２の更新処理装置とする。第１の更新処理装置は、第２の更新処理装置以外に、ソフトウェアの更新が必要な他の前記装置が存在する場合には、前記第２の更新処理装置に対して、他の前記装置を割り当ててグループを形成する。第２の更新処理装置は、係るグループに属する他の前記装置に対して、前記第１の更新処理装置としてソフトウェアの更新処理を実行する。【選択図】  図１７
2015099547.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置が、
ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知し、
前記第２の更新処理装置が、
前記第１の更新処理装置からの通知を受信し、
当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、
前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、
ことを特徴とする、ソフトウェアの更新方法。
【請求項２】
通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置が、
ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知し、
前記第２の更新処理装置が、
前記第１の更新処理装置からの通知を受信し、
当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、
前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、
ことを特徴とする、ソフトウェアの更新方法。
【請求項３】
前記第１の更新処理装置が、前記ソフトウェアの更新に際して、
前記第２の更新処理装置に対して、前記他の装置を前記所定数以下の台数となるように割り当てたグループを形成する、
ことを特徴とする、請求項１または請求項２に記載のソフトウェアの更新方法。
【請求項４】
前記第１の更新処理装置が、前記ソフトウェアの更新の後一定時間が経過した際に、
前記少なくとも１台以上の装置のうち、ソフトウェアの更新が可能な装置を再度特定し、
当該特定した装置のうち、ソフトウェアの更新が必要な装置が存在するか否かを判定し、
当該判定の結果、ソフトウェアの更新が必要と判定された装置に対するソフトウェアを更新する、
ことを特徴とする、請求項１乃至請求項３の何れかに記載のソフトウェアの更新方法。
【請求項５】
通信回線を介して少なくとも１台以上の装置と通信可能に接続される通信手段と、
前記通信手段を用いて装置を検索することにより、ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知する制御手段と、
を有することを特徴とする、ソフトウェア更新装置。
【請求項６】
自装置が、前記第２の更新処理装置である場合において、
前記通信手段は、
他の前記ソフトウェア更新装置からの前記通知を受信し、
前記制御手段は、
前記通知に基づいて、ソフトウェアの更新が可能な前記他の装置を特定し、
当該特定した前記他の装置のソフトウェアを更新する、
ことを特徴とする、請求項５に記載のソフトウェア更新装置。
【請求項７】
前記制御手段は、ソフトウェアの更新が可能な前記装置に対して、当該ソフトウェアの更新に必要な更新情報を提供する、
ことを特徴とする、請求項５または請求億６に記載のソフトウェア更新装置。
【請求項８】
通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置として機能するコンピュータに、
ソフトウェアの更新が可能な前記装置を特定する処理と、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定する処理と、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とする処理と、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外に、ソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知するする処理と、
を実行させることを特徴とする、ソフトウェア更新プログラム。
【請求項９】
前記第２の更新処理装置として機能するコンピュータに、
前記第１の更新処理装置からの前記通知を受信する処理と、
前記通知に基づいて、ソフトウェアの更新が可能な前記他の装置を特定する処理と、
当該特定した前記他の装置のソフトウェアを更新する処理と、
を実行させることを特徴とする、請求項８に記載のソフトウェア更新プログラム。
【請求項１０】
通信回線を介して少なくとも１台以上の装置と通信可能に接続され、
ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知する、
第１の更新処理装置と、
前記第１の更新処理装置からの通知を受信し、
当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、
前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、
第２の更新処理装置と、
を有することを特徴とする、ソフトウェアの更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電子機器や情報処理装置等における各種ソフトウェアを更新する方法等に関する。特に、本発明は、通信ネットワークに接続された各種装置について、係る通信ネットワークを介してソフトウェアを更新する方法等に関する。
【背景技術】
【０００２】
近年、ソフトウェア（コンピュータ・プログラム）を搭載し、係るソフトウェアを実行することにより各種機能を提供する電子機器や情報処理装置等が普及している。このような電子機器や情報処理装置としては、例えば、ハードウェアを制御するファームウェアとしてのソフトウェアを搭載した電子機器や、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションとしての機能を提供するソフトウェア等を搭載する情報処理装置などがあげられる。なお、以下の説明においては、係る電子機器や情報処理装置等をまとめて、情報処理装置または装置と称する場合がある。
【０００３】
上述したような装置に対しては、搭載された各種ソフトウェアを更新することにより、新機能の追加や、不具合の修正等が実施される場合がある。係る状況において、通信ネットワークに接続された装置に対しては、係るソフトウェアの更新に必要な各種データ等が、当該通信ネットワークを経由して配布される場合がある。
【０００４】
係る装置に搭載された各種ソフトウェアの更新方法としては、例えば、全ての装置に対して手動または自動化ツール等により更新作業を実施する方法や、それぞれの装置が特定の契機によって自動的に更新処理を開始する方法等を採用できる。
【０００５】
しかしながら、いずれの方法を採用した場合においても、更新対象の装置が多数存在する場合には、全ての機器に対するソフトウェアの更新には長い時間を要する場合がある。また、係るソフトウェアの更新に必要な各種データ等を、特定の配布元装置から通信ネットワークを介して各装置に配布する場合、係る配布元装置や通信ネットワークに過大な負荷が生じる場合がある。また、特定の装置が一括して他の更新対象装置に対する更新処理を実行する場合、係る特定の装置について処理の負荷が増大する場合がある。
【０００６】
このようなソフトウェアの更新処理に関して、本願出願に先だって存在する関連技術としては、例えば以下の特許文献がある。
【０００７】
即ち、特許文献１は、複数のクライアント端末に対してソフトウェアを配布する際に、係るソフトウェアの配布を中継する代表端末を設け、ソフトウェア配布の負荷を低減する技術を開示する。特許文献１に開示された技術によれば、ソフトウェアの配布中継を担当する複数の代表クライアント端末がグループ化され、係る代表クライアント端末は、他の端末に対してソフトウェアを配布し、配布結果を収集する。特許文献１に開示された技術は、代表クライアントの導入することにより、ソフトウェア配布の負荷を分散可能であり、また、ソフトウェアの配布結果（更新状況）を把握可能である。
【０００８】
特許文献２は、ソフトウェアの更新が必要である端末をグループ化し、同一グループ内においてソフトウェアを配布することにより、ソフトウェア配布の負荷を低減する技術を開示する。特許文献２に開示された技術によれば、ソフトウェア更新の対象となる端末がグループ化される。各グループ内の端末は、グループ内に既にソフトウェア更新済みの端末が存在する場合、係る更新済み端末からソフトウェアをダウンロードする。特許文献２に開示された技術は、更新用ソフトウェアの配布を各グループ内で実行するため、一次配布元のサーバ装置と、通信ネットワークに対する負荷を低減できる。
【０００９】
特許文献３は、複数の機器に対して、ファームウェアの更新データを配信する際に、配信パケットの衝突を低減する技術を開示する。特許文献３に開示された技術においては、更新対象となる機器は特定のグループに分類され、係るグループ毎に更新データが配布される。また、係る更新データの配布完了後にグループ毎に更新処理が実行される。特許文献３に開示された技術によれば、一度に配布する更新データのサイズが、特定のグループのサイズに抑えられるため、配信元と通信ネットワークに対する負荷を軽減できる。
【００１０】
特許文献４は、特定の装置を構成する各電子デバイスをグループ分けし、係るグループ毎にソフトウェアを更新する順序を設定する技術を開示する。特許文献４に開示された技術によれば、グループ化された電子デバイス毎にソフトウェアを更新する順番を定めることにより、機器構成に応じて適切な更新順序を自動設定し、更新処理を効率化可能である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００９−２７１９０４
【特許文献２】特開２００５−１４８８４０
【特許文献３】特開２００８−０６５５０５
【特許文献４】特開２０１２−２４８０２９
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、通信ネットワークに接続された複数の装置に搭載される各種ソフトウェアを更新する場合、以下のような課題がある。
【００１３】
即ち、特定の配布元からソフトウェアの更新に関するデータを配布する場合、多数の装置が同時に更新処理を実行すると、更新データの配布元と、通信ネットワークに過大な負荷が生じる場合がある。
【００１４】
また、多数の装置について１つずつ順番にソフトウェアを更新すると、更新処理に多大な時間が必要となる場合がある。
【００１５】
また、特定の装置が他の装置の更新処理を指示・制御する場合、係る特定の装置における処理負荷が増大する場合がある。
【００１６】
このような問題に対処するため、上述した各特許文献に開示された関連技術は、例えば、ソフトウェアの更新対象となる装置を所定のグループに分割し、グループ毎にソフトウェアを配信している。
【００１７】
しかしながら、上述した関連技術においては、例えば、グループの構成やグループの形成方法が固定的である。このため、更新対象となる装置の台数が非常に多い場合や、係る機器の台数が動的に変動する場合に、十分対応できるとは限らない。
【００１８】
そこで本発明は、通信ネットワークに接続された複数の装置に搭載されるソフトウェアを更新する場合に、配布対象の装置の数によらず、更新データの配布元や更新処理の実行元の処理負荷を低減し、更新処理に要する時間を短縮可能な更新処理方法等を提供することを主たる目的とする。
【課題を解決するための手段】
【００１９】
上記の目的を達成すべく、本発明に係るソフトウェアの更新方法は、以下の構成を備えることを特徴とする。即ち、本発明に係るソフトウェアの更新方法によれば、通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置が、ソフトウェアの更新が可能な前記装置を特定し、当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知し、前記第２の更新処理装置が、前記第１の更新処理装置からの通知を受信し、当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、ことを特徴とする。
【００２０】
また、本発明に係るソフトウェアの更新処理装置は、以下の構成を備えることを特徴とする。即ち、本発明に係るソフトウェアの更新処理装置は、通信回線を介して少なくとも１台以上の装置と通信可能に接続される通信手段と、前記通信手段を用いて装置を検索することにより、ソフトウェアの更新が可能な前記装置を特定し、当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知する制御手段と、を有することを特徴とする。
【００２１】
また、本発明に係るソフトウェア更新プログラムは、以下の構成を備えることを特徴とする。即ち、本発明に係るソフトウェア更新プログラムは、通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置として機能するコンピュータに、ソフトウェアの更新が可能な前記装置を特定する処理と、当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定する処理と、当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とする処理と、前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外に、ソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知するする処理と、を実行させることを特徴とする。
【００２２】
なお、上記本発明の目的は、係るストレージ制御プログラムが格納された、コンピュータ読み取り可能な記憶媒体によっても実現可能である。
【００２３】
また、本発明に係るソフトウェア更新システムは、以下の構成を備えることを特徴とする。即ち、本発明に係るソフトウェア更新システムは、通信回線を介して少なくとも１台以上の装置と通信可能に接続され、ソフトウェアの更新が可能な前記装置を特定し、当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知する、第１の更新処理装置と、前記第１の更新処理装置からの通知を受信し、当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、第２の更新処理装置と、を有することを特徴とする、
【発明の効果】
【００２４】
上記本発明によれば、ソフトウェアの更新データを特定の配信元から配布する場合に比して、更新処理時間が短縮されると共に、配布対象の装置の数によらず、更新データの配布元及び通信ネットワークに対する負荷を低減できる。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の第１の実施形態における、ソフトウェア更新の対象となる装置について、ソフトウェアを更新する機能を実現する構成と、通信ネットワークを介した接続構成を概略的に例示する図である。
【図２】図２は、本発明の第１の実施形態における、装置１０１及び装置１０２のソフトウェア更新処理の過程を例示するフローチャートである。
【図３】図３は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図４】図４は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図５】図５は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図６】図６は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図７】図７は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図８】図８は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図９】図９は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を表す図である。
【図１０】図１０は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図１１】図１１は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図１２】図１２は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図１３】図１３は、本発明の第１の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図１４】図１４は、本発明の第２の実施形態における、装置１０１及び装置１０２のソフトウェア更新処理の過程を例示するフローチャートである。
【図１５】図１５は、本発明の第２の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図１６】図１６は、本発明の第２の実施形態における、各装置に対するソフトウェア更新処理の過程について、特定の実施例を例示する図である。
【図１７】図１７は、本発明の第３の実施形態における、ソフトウェア更新の対象となる装置について、ソフトウェアを更新する機能を実現する構成と、通信ネットワークを介した接続構成を概略的に例示する図である。
【図１８】本発明の各実施形態に係る、ソフトウェアの更新処理装置を実現可能な情報処理装置のハードウェア構成を例示したブロック図である。
【発明を実施するための形態】
【００２６】
次に、本発明を実施する形態について図面を参照して詳細に説明する。
【００２７】
＜第１の実施形態＞
図１は、本発明の第１の実施形態における、ソフトウェア更新の対象となる装置について、ソフトウェアを更新する機能を実現する構成と、通信ネットワークを介した接続構成を概略的に例示する図である。
【００２８】
図１に示すように、本実施形態においては、更新対象となるソフトウェアを搭載した装置１０１と複数の装置１０２とが、通信ネットワーク１０３を介して通信可能に接続されている。なお、図１おいては、装置１０１と装置１０２とについて、説明の便宜上異なる図番号を付している。本実施形態において、これらの装置１０１及び装置１０２は、それぞれ同一の構成を有する装置であってもよく、異なる構成を有する装置であってもよい。
【００２９】
本実施形態における装置１０１及び装置１０２は、前述したように、図示しない各種ソフトウェア（コンピュータ・プログラム）を搭載し、係るソフトウェアを実行することにより、各種機能を提供する電子機器や情報処理装置等である。係るソフトウェアは、例えば電子機器を構成するハードウェアを制御するファームウェアや、情報処理装置等を制御するＯＳやデバイスドライバ、また情報処理装置等において実行される各種アプリケーションプログラムやミドルウェア等を含んでもよい。
【００３０】
また、本実施形態における装置１０１及び１０２は、外部からの指示または特定の契機に従って、係るソフトウェアを更新する機能を有する。
【００３１】
まず、本実施形態における装置１０１について説明する。本実施形態における装置１０１は、制御部１０１ａ及び通信部１０１ｂを有する。本実施形態における装置１０１は、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部１０１ｃ及び外部媒体受領部１０１ｄを有してもよい。なお、本実施形態における装置１０１を実現可能なハードウェア構成については、後述する。
【００３２】
装置１０１における制御部１０１ａは、外部からの更新指示や、特定の契機に従って、自装置に搭載されたソフトウェアの更新処理を実行すると共に、他の装置１０２に対するソフトウェア更新処理を実行する。本実施形態において、係る外部からの更新指示は、例えばＵＩ部１０１ｃを介して直接装置１０１に対して入力されてもよく、更新指示装置１０５等から通信ネットワーク１０３を介して入力されてもよい。また、本実施形態において、前記特定の契機は、例えば特定の日付の到来や、装置１０１の連続稼働時間、あるいは前回の更新処理からの時間経過等であってもよい。これらの契機は、装置１０１の仕様や、用途に合わせて適宜選択してよい。また、係る契機を検出する手段も適宜適切な手段を選択してよい。
【００３３】
なお、制御部１０１ａは、他の装置１０２に対するソフトウェア更新処理を実行する際に、係る装置１０２に対して、後述する通信部１０１ｂを介して更新データを配信する処理を実行してもよい。制御部１０１ａの具体的な動作については後述する。
【００３４】
なお、本実施形態における制御部１０１ａは、装置１０１自身のソフトウェア更新処理を実行する更新実行部と、他の装置１０２に対してソフトウェアの更新を指示する更新指示部と、を有してもよい。
【００３５】
装置１０１における通信部１０１ｂは、通信ネットワーク１０３に対して各種データを送受信する、通信手段を提供する。通信部１０１ｂは、通信ネットワーク１０３を介して他の装置１０２と通信可能に接続される。また、通信部１０１ｂは、後述する更新指示装置１０５及び配信装置１０４と通信可能に接続されてもよい。通信部１０１ｂは、装置１０１及び装置１０２に対するソフトウェアの更新指示、ソフトウェア更新に必要な更新データ、などを送受信する。
【００３６】
装置１０１におけるＵＩ部１０１ｃは、図示しないユーザや管理者などからの装置１０１に対する直接的な操作を受け付ける、インタフェース手段を提供する。ＵＩ部１０１ｃは、例えば、液晶パネルやディスプレイなどの表示出力手段や、あるいは、キーボード、マウス、各種スイッチやプッシュボタン等の入力手段により構成されてもよい。本実施形態においては、例えば、図示しない管理者やユーザはＵＩ部１０１ｃにより、装置１０１に対する更新指示を入力してもよい。なお、本実施形態におけるＵＩ部は、装置１０１の仕様や用途に合わせて適宜適切な構成を選択してよい。また、本実施形態において装置１０１にＵＩ部１０１ｃを設けるか否かは、必要に応じて適宜選択してよい。
【００３７】
装置１０１における外部媒体受領部１０１ｄは、光学記録媒体や、光磁気記録媒体、磁気記録媒体、半導体記憶装置（フラッシュメモリ等）等の各種記録媒体に記録されたデータを読み込むことが可能な、データアクセス手段を提供する。本実施形態においては、図示しないユーザや管理者は、装置１０１のソフトウェア更新に必要なデータを特定の外部記録媒体に記録し、外部媒体受領部１０１ｄを介して装置１０１に読み込ませることにより、装置１０１のソフトウェアをアップデートしてもよい。なお、本実施形態において、装置１０１に外部媒体受領部１０１ｄを設けるか否かは、必要に応じて適宜選択してよい。
【００３８】
次に、本実施形態における装置１０２について説明する。本実施形態における装置１０２は、装置１０１と同様、制御部１０２ａ及び、通信部１０２ｂを有する。なお、本実施形態における装置１０２は、その他の構成においても、前記装置１０１と同様の構成を採用してもよい。
【００３９】
装置１０２における制御部１０２ａは、前記装置１０１における制御部１０１ａと同様、外部からの更新指示や、特定の契機に従って、自装置に搭載されたソフトウェアの更新処理を実行すると共に、他の装置１０２に対するソフトウェア更新処理を実行する。
【００４０】
装置１０２における通信部１０２ｂは、前記装置１０１における通信部１０ｂと同様、通信ネットワーク１０３に対して各種データを送受信する、通信手段を提供する。通信部１０２ｂは、通信ネットワーク１０３を介して他の装置１０２及び前記装置１０１と通信可能に接続される。また、通信部１０２ｂは、配信装置１０４と通信可能に接続されてもよい。
【００４１】
次に、本実施形態における通信ネットワーク１０３について説明する。本実施形態における通信ネットワーク１０３は、前記各装置１０１及び１０２の間を通信可能に接続する、任意の通信手段を提供する。本実施形態における通信ネットワーク１０３は、例えば、Ｉｎｔｅｒｎｅｔ等の広域通信ネットワークでもよく、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の特定の構内通信ネットワークであってもよい。また、本実施形態における通信１０３は、その一部または全部が有線接続または無線接続により構成されてもよい。
【００４２】
本実施形態においては、通信ネットワーク１０３について、各装置間を通信可能に接続する任意の通信プロトコルを採用してよい。例えば、通信ネットワーク１０３をＩＰネットワークにより構成し、ＴＣＰ／ＩＰや、ＵＤＰ／ＩＰプロトコル等を採用してもよい。
【００４３】
次に、本実施形態における配信装置１０４について説明する。本実施形態における配信装置１０４は、例えば、前記装置１０１や装置１０２に対して、係る装置に搭載されたソフトウェアの更新に必要な各種データを配信する、配信サーバである。係る配信装置１０４は、例えば、前記装置１０１あるいは装置１０２からの要求に応じて、ソフトウェアの更新に必要なデータを、係る装置に提供してもよい。なお、本実施形態において、配信サーバ１０４を設けるか否かは、装置１０１及び装置１０２のソフトウェア更新に関する仕様に合わせて適宜選択してよい。
【００４４】
次に、本実施形態における更新指示装置１０５について説明する。本実施形態における更新指示装置１０５は、例えば、図示しないユーザや管理者によって、装置１０１に対するソフトウェアの更新指示を通知する、更新指示手段を提供してもよい。更新指示装置１０５は、例えば、図示しないユーザや管理者からの指示（操作）に基づいて、装置１０１に対するソフトウェアの更新指示を、通信ネットワーク１０３を介して装置１０１に通知してもよい。なお、本実施形態において、更新指示装置１０５を設けるか否かは、装置１０１及び装置１０２のソフトウェア更新に関する仕様に合わせて適宜選択してよい。
【００４５】
上記のような構成を有する、本実施形態における装置１０１及び装置１０２のソフトウェア更新処理について、図２乃至図１３を参照して説明する。図２は、本実施形態における、装置１０１及び装置１０２のソフトウェア更新処理の過程を例示するフローチャートである。図３乃至図１３は、本実施形態における装置１０１及び装置１０２のソフトウェア更新処理の実施例を例示する図である。なお、以下の説明において、装置１０１を第１の更新処理装置と称する場合がある。
【００４６】
まず、図示しないユーザあるいは管理者は、装置通信ネットワーク１０３に接続された装置１０１に対して、係る装置１０１自身のソフトウェアを更新する（図２におけるステップＳ２０１）。本実施形態においては、図示しないユーザあるいは管理者は、例えば、装置１０１のＵＩ部１０１ｃを介して装置１０１に直接更新指示を入力してもよく、更新指示装置１０５を用いて、通信ネットワーク１０３を介して装置１０１に更新指示を通知してもよい。
【００４７】
装置１０１の制御部１０１ａは、係る更新指示に基づいて、装置１０１ａ自身のソフトウェアを更新する。制御部１０１ａは、例えば、係るソフトウェアの更新に必要な各種データ（以下本実施形態においては更新データと称する場合がある）を、外部媒体受領部１０１ｄを介して、特定の外部媒体から取得してもよい。また、制御部１０１ａは、例えば、係る更新データを、通信ネットワーク１０３を介して配信装置１０４から取得してもよい。
【００４８】
装置１０１の制御部１０１ａは、係る更新データを用いて、装置１０１に搭載されたソフトウェアを更新する。具体的なソフトウェアの更新方法は、装置１０１の構成や、更新するソフトウェアの特性に応じて適宜適切な方法を選択してよい。
【００４９】
例えば、更新データを装置１０１における図示しない特定の記憶装置に一時的に保持し、更新対象となる旧版のソフトウェアの処理を終了し、係る旧版ソフトウェアの一部または全部を更新データにて置き換え、置き換え後のソフトウェアを再実行するよう構成してもよい。また、必要に応じて、装置１０１自体を再起動してもよく、装置１０１において実行している他のソフトウェアを再実行してもよい。
【００５０】
次に、図示しないユーザあるいは管理者は、装置１０１に対して、ソフトウェアの更新対象である他の装置１０２に関する情報を通知する（ステップＳ２０２）。なお、図２に例示したフローチャートにおいては、ステップＳ２０１とステップＳ２０２とを分けているが、これらの処理は同時に実行してもよい。即ち、図示しない管理者またはユーザは、例えば、装置１０１に対して、装置１０１自身のソフトウェア更新を指示すると共に、他の更新対象装置１０２に対する情報を指定してもよい。
【００５１】
前記ステップＳ２０２において通知される他の装置に関する情報は、例えば、他の装置１０２が接続されているネットワーク範囲（例えば、ＩＰネットワークにおけるサブネット等）に関する情報を含んでもよい。また、係る情報は、前記装置１０１が、更新処理または更新指示を行う他の装置１０２の台数に関する情報を含んでもよい。なお、以下において、係る装置１０２の台数に関する情報を最大更新対象数と称する場合がある。
【００５２】
また、係る情報は、他の装置１０２との間の通信や、各種制御のために必要となる資格情報（例えばログイン情報等）を含んでもよい。この場合、係る資格情報は、例えば他の装置にログインするためのローカルアカウント情報の他に、各種ディレクトリサービスにより提供されるアカウント情報を含んでもよい。
【００５３】
次に、装置１０１は、第１の更新処理装置として、ステップＳ２０２において通知された情報に基づいて、ソフトウェアを更新する対象となる他の装置１０２を検索する。本実施形態においては、係る検索の方法として、通信ネットワーク１０３及び装置１０２の構成や仕様に応じて、適宜適切な方法を採用してよい。一例として、通信ネットワーク１０３がＩＰネットワークにより構成される場合、装置１０１は、通信ネットワーク１０３に対してＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）に規定された検索パケットをマルチキャスト送信してもよく、また特定の検索用ブロードキャストパケットを送信してもよい。
【００５４】
次に、第１の更新処理装置である装置１０１は、前記ステップＳ２０３における検索の結果として検出された装置１０２の情報を確認する（ステップＳ２０４）。係る情報は、例えば、装置１０２のネットワークアドレスや、装置１０２に搭載されたソフトウェアの版（バージョン）情報、装置１０２にアクセスするために必要となる資格に関する情報、その他装置１０２のソフトウェアを更新するために必要となる各種情報を含んでもよい。
【００５５】
次に、第１の更新処理装置である装置１０１は、前記ステップＳ２０４の確認結果に基づいて、ステップＳ２０３において検出した全ての装置１０２について、ソフトウェアが更新済みか確認し（ステップＳ２０５）、全てのソフトウェアが更新済みの場合（ステップＳ２０５においてＹＥＳ）、ソフトウェアの更新処理を終了してもよい。
【００５６】
次に、第１の更新処理装置である装置１０１は、前記ステップＳ２０３において検出した他の装置１０２の中で、所定の台数以下の装置１０２を選択し、係る装置１０２のソフトウェアを更新する（ステップＳ２０６）。なお、係る所定の台数（最大更新対象数）は、例えば、前述したようにステップＳ２０２において外部から与えられてもよく、予め機器１０１に設定しておいてもよい。
【００５７】
なお、装置１０２のソフトウェアを更新する具体的な方法は、装置１０２の仕様等に応じて、適宜適切な方法を選択して良い。例えば、装置１０２が電子機器であり、係る電子機器のファームウェアを更新する場合、装置１０１は、装置１０２に対して通信ネットワーク１０３を介して特定のソフトウェア更新用の制御コマンドを送信すると共に、更新データを配布してもよい。
【００５８】
また、装置１０２が、コンピュータ等の情報処理装置である場合、装置１０１は、ステップＳ２０２において取得した装置１０２に対するアカウント情報を利用して装置１０２にログインし、装置１０２においてソフトウェア更新のコマンドやスクリプト等を実行してもよい。
【００５９】
また、装置１０１は、係るアカウント情報を利用した自動更新ツールを実行することにより、装置１０２のソフトウェアを更新してもよい。この場合、装置１０１は装置１０２に対して、係るソフトウェア更新に必要な更新データを提供してもよい。また、装置１０２のソフトウェアの更新には、前述した装置１０１のソフトウェアを更新する方法と同様の方法を用いてもよい。
【００６０】
前記ステップＳ２０６において、どの装置を選択してソフトウェアを更新するかは、適宜適切な方法により判断してよい。装置１０１は、例えば、ステップＳ２０４において取得した装置１０２の情報を基に、演算性能やネットワーク通信速度等のリソースが潤沢な装置を選択してもよい。
【００６１】
前記ステップＳ２０６において、何台の装置１０２についてソフトウェアを更新するかは、適宜適切な方法により判断してよい。ステップＳ２０６においてソフトウェアを更新した装置１０２は、後述する第２の更新処理装置として、他の装置１０２のソフトウェアを更新する処理を実行する可能性がある。このため、装置１０１は、例えば、ステップＳ２０３において検出した装置１０２のソフトウェアを更新可能な、最低限の台数の装置１０２を選択し、係る装置のソフトウェアを更新してもよい。
【００６２】
また、前記ステップＳ２０６において、第１の更新処理装置である装置１０１は、前記ステップＳ２０４において確認した情報を基に、ソフトウェアの更新が必要であると判定した装置１０２に対して、ソフトウェアの更新処理を実行してもよい。この場合、装置１０１は、例えば、装置１０２のソフトウェアの版（バージョン）情報を基に、更新の要否を判定してもよい。
【００６３】
以下、ステップＳ２０６においてソフトウェアを更新した装置１０２を、第２の更新処理装置と称する場合がある。
【００６４】
次に、第１の更新処理装置である装置１０１は、前記ステップＳ２０６においてソフトウェアを更新した装置以外に、ソフトウェアの更新が必要な他の装置１０２が存在するか確認する（ステップＳ２０７）。例えば、ステップＳ２０３において検出した他の装置１０２の台数が前記最大更新対象数よりも多く、かつ、ステップＳ２０６においてソフトウェアを更新した装置１０２の台数が最大更新対象数以下の場合は、ソフトウェアの更新が必要な装置１０２が残存している。
【００６５】
第１の更新処理装置である装置１０１は、前記ステップＳ２０７における確認の結果、ソフトウェアの更新が必要な他の装置１０２が存在する場合（ステップＳ２０７においてＹＥＳ）、ステップＳ２０６においてソフトウェアを更新した装置１０２に対して、係る他の装置１０２を割り当てて、グループを形成する（ステップＳ２０８）。
【００６６】
装置１０１は、例えば、前記第２の更新処理装置に対して、前記最大更新対象数以下の台数の装置１０２を割り当てることにより、グループを形成してもよい。この場合、装置１０１は、例えば、前記ステップＳ２０３において検出した他の装置１０２のリストを作成し、係るリストの先頭から前記最大更新対象数に相当する台数ずつ係る装置１０２を選択して、グループを形成してもよい。
【００６７】
また、ステップＳ２０３において検出した装置１０２の台数が多い場合は、ステップＳ２０８において形成する何れかのグループについて、前記最大更新対象数以上の他の装置１０２を割り当ててもよい。なお、係るグループの形成方法は上述した方法には限定されない。ステップＳ２０８において、装置１０１は、適宜適切な方法によりグループを形成してよい。
【００６８】
第１の更新処理装置である装置１０１は、前記第２の更新処理装置に対して、係る第２の更新処理装置に割り当てられたグループに属する、他の装置１０２に関する情報を通知する（ステップＳ２０９）。
【００６９】
ステップＳ２０９において通知される他の装置１０２に関する情報は、例えば、前記ステップＳ２０２において装置１０１に通知される装置１０２に関する情報と同種の情報であってもよい。即ち、係る情報は、例えば、他の装置１０２が接続されているネットワーク範囲に関する情報や、グループを形成する他の装置１０２の台数に関する情報や、前述したような他の装置１０２に関する資格情報等を含んでもよい。
【００７０】
次に、前記第２の更新処理装置は、前記ステップＳ２０９において通知された情報に基づいて、当該第２の更新処理装置に割り当てられたグループに属する、他の装置１０２を特定し、当該他の装置１０２の情報を確認する（ステップＳ２１０）。
【００７１】
ステップＳ２１０において前記第２の更新処理装置が確認する他の装置１０２に関する情報は、例えば、前記ステップＳ２０４において装置１０１が確認する他の装置に１０２に関する情報と、同種の情報であってもよい。即ち、係る情報は、例えば、装置１０２のネットワークアドレスや、装置１０２に搭載されたソフトウェアの版（バージョン）情報、装置１０２にアクセスするために必要となる資格に関する情報、その他装置１０２のソフトウェアを更新するために必要となる各種情報を含んでもよい。
【００７２】
次に、前記第２の更新処理装置は、ステップＳ２０８において形成したグループに属する他の装置１０２に対して、第１の更新処理装置として、前記ステップＳ２０４乃至ステップＳ２１０の処理を実行する（ステップＳ２１１）。ステップＳ２１１の処理において、前記第２の更新処理装置は、第１の更新処理装置として機能し、他の装置１０２に対するソフトウェアの更新処理を実行する。
【００７３】
以上説明した処理をまとめると、装置１０１は、第１の更新処理装置として特定の装置１０２を選択し、係る装置１０２のソフトウェアを更新して第２の更新処理装置とする。また、装置１０１は、係る第２の更新処理装置に対して他の装置１０２を割り当てたグループを形成する。その後、第２の更新処理装置は、新たに第１の更新処理装置として機能することにより、係るグループに属する他の装置１０２に対して、ソフトウェアの更新処理や、更なる第２の更新処理装置の選択、グループ形成などの処理を実行する。換言すると、ステップＳ２０３において検出された、ソフトウェア更新の対象となる全ての装置１０２に対するソフトウェアの更新が完了するまで、ステップＳ２０４乃至ステップＳ２１１の処理が再帰的に実行される。
【００７４】
なお、本実施形態においては、図２に例示したステップＳ２０１乃至ステップＳ２１１によるソフトウェアの更新処理を実行し、一定の時間が経過した後、再度装置１０１に対して、ソフトウェアの更新指示（ステップＳ２０１）を実行してもよい。
【００７５】
以上説明した、本実施形態におけるソフトウェアの更新処理について、図３乃至図１３を参照して、具体的な実施例を説明する。
【００７６】
図３乃至図１３に例示する実施例においては、”装置−Ａ”が、前記図１における第１の更新処理装置である装置１０１である。
【００７７】
図３乃至図１３に示す実施例においては、前記最大更新対象数を３台とする。即ち、前記第１の更新処理装置及び前記第２の更新処理装置は、それぞれ３台までの他の装置１０２に対して、係る装置１０２のソフトウェアを直接更新してもよい。
【００７８】
図３は、前記ステップＳ２０３においてソフトウェアの更新対象である他の装置１０２を検索した結果、３台の装置（図３における”装置−Ｂ”乃至”装置−Ｄ”）が検出された場合を図示する。この場合、第１の更新処理装置である”装置−Ａ”は、図４に示すように、これらの”装置−Ｂ”乃至”装置−Ｄ”に対してソフトウェアの更新処理を実行する（ステップＳ２０６）。この場合、更新が必要な他の装置が存在しないため、”装置−Ａ”は、ソフトウェアの更新処理を終了してもよい（ステップＳ２０７においてＮＯ）。
【００７９】
図５は、前記ステップＳ２０３における検索の結果、１２台の装置１０２（図５における”装置−Ｂ”乃至”装置−Ｄ”、及び、”装置−１”乃至”装置−９”）が検出された場合を図示する。本実施例において、第１の更新処理装置である”装置−Ａ”は、図６に示すように、最大更新対象数である３台の装置として”装置−Ｂ”乃至”装置−Ｄ”を選択し、係る装置のソフトウェアを更新する（ステップＳ２０６）。
【００８０】
第１の更新処理装置である”装置−Ａ”は、図７に示すように、”装置−Ｂ”に対して”装置−１”乃至”装置−２”を、”装置−Ｃ”に対して”装置−４”乃至”装置−６”を、”装置−Ｄ”に対して”装置−７”乃至”装置−９”を割り当てて、グループ７０１乃至７０３を形成する（ステップＳ２０８）。
【００８１】
この場合、”装置−Ａ”は、第２の更新処理装置である”装置−Ｂ”乃至”装置−Ｄ”に対して、それぞれ前記最大更新対象数分（図７に示す実施例においては３台）の装置１０２を割り当てる。また、”装置−Ａ”は、係る割り当てた装置１０２に関する情報を、”装置−Ｂ”乃至”装置−Ｄ”に対して通知する（ステップＳ２０９）。
【００８２】
第２の更新処理装置である”装置−Ｂ”乃至”装置−Ｄ”は、それぞれが属するグループ７０１乃至７０３を形成する他の装置（”装置−１”乃至”装置−９”）を特定し（ステップＳ２１０）、係る装置に対して第１の更新処理装置として図２に示すステップＳ２０４乃至Ｓ２１０を実行する（ステップＳ２１１）。以下、図７に例示した”装置−Ｂ”とグループ７０１を例に係る処理を説明する。
【００８３】
”装置−Ｂ”は、第１の更新処理装置として、グループ７０１に属する装置１０２の情報を確認する（ステップＳ２０４）。次に、”装置−Ｂ”は、図８に示すように、グループ７０１を形成する他の装置１０２（”装置−１”乃至”装置−３”）のソフトウェアを更新する（ステップＳ２０６）。なお、”装置−Ｃ”及び”装置−Ｄ”も、同様の処理を実行する。以上の処理によって、図５に例示する１２台の第の装置１０２に対するソフトウェアの更新処理が完了する。
【００８４】
次に、更に多数の装置１０２のソフトウェアを更新する実施例について説明する。
【００８５】
図９は、前記ステップＳ２０３において他の装置１０２を検索した結果、１９台の装置１０２（図５における”装置−Ｂ”乃至”装置−Ｄ”、”装置−１”乃至”装置−１６”）が検出された場合を図示する。
【００８６】
第１の更新処理装置である”装置−Ａ”は、図１０に示すように、最大更新対象数である３台の装置”装置−Ｂ”乃至”装置−Ｄ”を選択し、係る装置のソフトウェアを更新する（ステップＳ２０６）。この場合、更新が必要な他の装置（”装置−１”乃至”装置−１６”）が残存している（ステップＳ２０７においてＹＥＳ）。
【００８７】
次に、第１の更新処理装置である”装置−Ａ”は、図１０に示すように、”装置−Ｂ”に対して”装置−１”乃至”装置−３”を、”装置−Ｃ”に対して”装置−４”乃至”装置−６”を、”装置−Ｄ”に対して”装置−７”乃至”装置−１６”を割り当てて、グループ１００１乃至１００３を形成する（ステップＳ２０８）。この場合、”装置−Ａ”は、第２の更新処理装置である”装置−Ｂ”及び”装置−Ｃ”に対して、それぞれ前記最大更新対象数分（図７に示す実施例においては３台）の装置１０２を割り当てる。また、”装置−Ａ”は、第２の更新処理装置である”装置−Ｄ”に対して、残り１０台の装置１０２（”装置−７”乃至”装置−１６”）を割り当てる。更に”装置−Ａ”は ”装置−Ｂ”乃至”装置−Ｄ”に対して、割り当てられる他の装置１０２に関する情報を通知する（ステップＳ２０９）。
【００８８】
次に、第２の更新処理装置である”装置−Ｂ”乃至”装置−Ｄ”は、それぞれが属するグループ１００１乃至１００３を形成する他の装置（”装置−１”乃至”装置−１６”）を特定し（ステップＳ２１０）、係る装置に対して第１の更新処理装置として図２に示すステップＳ２０４乃至Ｓ２１０を実行する。
【００８９】
”装置−Ｂ”乃至”装置−Ｄ”は、図８に示した実施例と同様、図１１に示すように、それぞれのグループ１００１乃至１００３に属する装置１０２のソフトフェアを更新する（ステップＳ２０６）。
【００９０】
”装置−Ｄ”については、グループ１００３に属する装置１０２の台数が、最大更新対象数よりも多く、ステップＳ２０６において更新した装置１０２以外に、ソフトウェアの更新対象となる装置１０２が残存している（ステップＳ２０７においてＹＥＳ）。このため、”装置−Ｄ”は、図１１に示すように、”装置−７”乃至”装置−９”を第２の更新処理装置として、残存している装置１０２のソフトウェア更新処理を進める。
【００９１】
即ち、”装置−Ｄ”は、図１２に示すように、”装置−７”に対して”装置−１０”、”装置−１１”、”装置−１４”を、”装置−８”に対して”装置−１２”、”装置−１５”、”装置−１６”を、”装置−９”に対して”装置−１３”を割り当てて、グループ１２０１乃至１２０３を形成する（ステップＳ２０８）。この場合、”装置−Ｄ”は、第２の更新処理装置である”装置−７”乃至”装置−９”に対して、それぞれ前記最大更新対象数分（図１１に示す実施例においては３台）の装置１０２を割り当てる。
【００９２】
”装置−Ｄ”は、係る割り当てた装置１０２に関する情報を、それぞれ”装置−７”乃至”装置−９”に通知する（ステップＳ２０９）。
【００９３】
次に、第２の更新処理装置である”装置−７”乃至”装置−９”は、”装置−Ｄ”からの通知を確認すると共に、それぞれが属するグループ１２０１乃至１２０３を形成する他の装置（”装置−１０”乃至”装置−１６”）を特定し（ステップＳ２１０）、係る装置に対して第１の更新処理装置として図２に示すステップＳ２０４乃至Ｓ２１０を実行する。即ち、今度は”装置−７”乃至”装置−９”が、第１の更新処理装置として、グループ１２０１乃至１２０３に属する他の装置１０２のソフトウェアに対する更新処理を実行する。
【００９４】
以上の処理によって、図９に例示する装置１０２に対するソフトウェアの更新処理が完了する。
【００９５】
なお、上述したように、ステップＳ２０６における装置１０２の選択及び、ステップＳ２０８におけるグループ形成は適宜適切に選択してよい。このため、”装置−Ｄ”は、例えば、図１３に示すように、”装置−７”、”装置−１０”、”装置−１４”を選択してソフトウェアを更新し、係る装置を第２の更新処理装置としてもよい。また、この場合、図１３に示すように、”装置−７”に対して”装置−８”、”装置−９”、を、”装置−１０”に対して”装置−１１”、”装置−１２”、”装置−１３”を、”装置−１４”に対して”装置−１５”、”装置−１６”を割り当てて、グループ１３０１乃至グループ１３０３を形成してもよい。
【００９６】
以上説明した、本実施形態におけるソフトウェア更新処理方法によれば、第１の更新処理装置である装置１０１は、ソフトウェアを更新する対象である装置１０２を検索し、特定の最大更新対象数以下の装置１０２のソフトウェアを更新し、第２の更新処理装置に対してグループを割り当てる。また、第２の更新処理装置は、割り当てられたグループに属する装置１０２に対して、第１の更新処理装置と同様のソフトウェア更新処理を実行する。
【００９７】
このため、本実施形態におけるソフトウェア更新方法によれば、第１の更新処理装置（第１の更新処理装置として機能する第２の更新処理装置を含む）は、常に特定の最大更新対象数以下の装置１０２に対してソフトウェアの更新処理を実行する。よって、特定の更新処理装置に対して装置１０２の更新処理に関する負荷が集中することが無い。
【００９８】
また、本実施形態におけるソフトウェア更新方法によれば、ソフトウェア更新の対象である装置１０２を柔軟にグループ化可能である。即ち、ソフトウェア更新の対象である装置１０２の台数が多ければ、随時細分化したグループが動的に生成され、グループ毎にソフトウェアの更新処理が実行される。このため、ソフトウェア更新の対象である装置１０２の台数が多い場合でも、特定の更新処理装置に対する更新処理の負荷を一定に抑えられる。また、細分化された各グループ内においては、複数の装置１０２に対して並行して更新処理を実行するため、更新処理に要する時間を短縮可能である。
【００９９】
このような処理によって、本実施形態におけるソフトウェア更新方法によれば、通信ネットワークに接続された複数の装置１０２に搭載されるソフトウェアを更新する場合に、更新データの配布元や更新処理の実行元である第１及び第２の更新処理装置における処理負荷を低減し、更新処理に要する時間を短縮可能である、という効果を奏する。
【０１００】
なお、本実施形態における装置１０１及び装置１０２は、物理的な情報処理装置や、電子機器に限定されない。これらの装置は、仮想環境に構築した仮想的な情報処理装置（例えばバーチャルマシンを用いて構成した仮想サーバ等）等を含んでもよい。
【０１０１】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な構成を中心に説明する。その際、前記第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
【０１０２】
本発明の第２の実施形態における、ソフトウェア更新の対象となる装置の構成は、図１に例示した前記第１の実施形態と同様である。
【０１０３】
以下、本実施形態における装置１０１及び装置１０２のソフトウェア更新処理について、図１４乃至図１５を参照して説明する。図１４は、本実施形態における、装置１０１及び装置１０２のソフトウェア更新処理の過程を例示するフローチャートである。
【０１０４】
なお、本実施形態は、ソフトウェアの更新が不要な装置１０２の存在を確認し、係る装置を第２の更新処理装置として用いる点において、前記第１の実施形態と異なる。以下係る相違点を中心に説明する。
【０１０５】
まず、図１４に例示したフローチャートにおいて、ステップＳ１４０１乃至ステップＳ１４０５は、前記第１の実施形態において説明した図２におけるステップＳ２０１乃至ステップＳ２０５と同様の処理としてよい。よって係るステップについては、説明を省略する。
【０１０６】
装置１０１は、ステップＳ１４０３において検出したソフトウェア更新の対象である装置１０２に対する情報をステップＳ１４０４において確認し、当該情報に基づいて、検出した装置１０２に対してソフトウェア更新が必要か否かを判定する（ステップＳ１４０６）。
【０１０７】
次に、ステップＳ１４０６において更新不要な装置が無い場合（ステップＳ１４０６においてＮＯ）、装置１０１は、前記第１の実施形態におけるステップＳ２０６と同様、前記ステップＳ１４０３において検出した他の装置１０２の中で、特定の最大更新対象数以下の装置１０２を選択して、係る装置１０２のソフトウェアを更新する（ステップＳ１４０７）。その後、装置１０１は、前記ステップＳ１４０７においてソフトウェアを更新した装置１０２を、第２の更新処理装置として選択する（ステップＳ１４０８）。
【０１０８】
次に、ステップＳ１４０６において更新不要な装置が存在する場合（ステップＳ１４０６においてＹＥＳ）、装置１０１は、係る更新不要の装置を第２の更新処理装置として選択する（ステップＳ１４０９）。即ち、本実施形態においては、第１の更新処理装置である装置１０１は、ステップＳ１４０３において検出した装置１０２について、ソフトウェア更新の要否を確認し、ソフトウェア更新が不要な装置１０２を、第２の更新処理装置として選択する。
【０１０９】
装置１０１は、例えば、ステップＳ１４０３において検出した装置１０２におけるソフトウェアの版（バージョン）情報を基に、ステップＳ１４０６における更新要否を判定してもよい。装置１０１は、例えば、検出した装置１０２におけるソフトウェアの版（バージョン）が、最新である場合や安定版である場合は、ステップＳ１４０６において更新不要と判断してもよい。
【０１１０】
次に、装置１０１は、ソフトウェア更新が必要な他の装置１０２が残存しているか確認し（ステップＳ１４１０）、係る装置１０２が残存している場合（ステップＳ１４１０においてＹＥＳ）は、前記選択した第２の更新処理装置に対して、係る装置１０２を割り当ててグループを形成する（ステップＳ１４１１）。また、装置１０１は、前記選択された第２の更新処理装置に対して、前記グループに属する他の装置１０２に関する情報を通知する（ステップ１４１２）。前記選択された第２の更新処理装置は、割り当てられたグループに属する、他の装置１０２を特定し、当該他の装置１０２の情報を確認する（ステップ１４１３）。なお、ステップＳ１４１０乃至Ｓ１４１３の処理は、前記第１の実施形態において説明した図２におけるステップＳ２０７乃至Ｓ２１０と同様である。
【０１１１】
前記選択された第２の更新処理装置は、ステップＳ１４１１において形成したグループに属する他の装置１０２に対して、第１の更新処理装置として、前記ステップＳ１４０４乃至ステップＳ１４１３の処理を実行する（ステップＳ１４１４）。
【０１１２】
なお、本実施形態においては、図２に例示したステップＳ１４０１乃至ステップＳ１４１４によるソフトウェアの更新処理を実行し、一定の時間が経過した後、再度装置１０１に対して、ソフトウェアの更新指示（ステップＳ２０１）を実行してもよい。この場合、装置１０１は、再度、ソフトウェアの更新対象となる装置を検索し（ステップＳ１４０３）、係る装置の情報を確認し（ステップＳ１４０４）、全装置が更新済みである場合、ソフトウェアの更新処理を終了してもよい。
【０１１３】
以上説明した、本実施形態におけるソフトウェアの更新処理について、図１５乃至図１７を参照して、具体的な実施例を説明する。なお、図１５乃至図１７に例示する実施例においては、前記第１の実施形態における実施例と同様、”装置−Ａ”が、前記図１における第１の更新処理装置である装置１０１であり、前記最大更新対象数を３台とする。
【０１１４】
図１５は、前記ステップＳ１４０３においてソフトウェアの更新対象である他の装置１０２を検索した結果、１２台の装置（図１５における”装置−Ｂ”乃至”装置−Ｄ”、及び”装置−１”乃至”装置−９”）が検出された場合を図示する。
【０１１５】
第１の更新処理装置である”装置−Ａ”は、検出した装置の情報を確認し（ステップＳ１４０４）、係る情報に基づいて更新不要の装置があるか判定する（ステップＳ１４０６）。図１５に示す実施例においては、”装置−Ｂ”乃至”装置−Ｄ”に搭載されたソフトウェアが最新版であることを前提とする。このため、”装置−Ａ”は、ステップＳ１４０６において”装置−Ｂ”乃至”装置−Ｄ”について更新不要と判断する。
【０１１６】
次に、”装置−Ａ”は、ステップＳ１４０９において”装置−Ｂ”乃至”装置−Ｄ”を第２の更新処理装置として選択する。図１５に示す実施例においては、更新が必要な他の装置（”装置−１”乃至”装置−９”）が存在する（ステップＳ１４１０においてＹＥＳ）ため、”装置−Ａ”は、図１５に示すように、”装置−Ｂ”乃至”装置−Ｄ”に対して、それぞれ”装置−１”乃至”装置−９”を割当て、グループ１５０１乃至１５０３を形成する（ステップＳ１４１１）。”装置−Ａ”は、第２の更新処理装置である”装置−Ｂ”乃至”装置−Ｄ”に対して、それぞれに割り当てられたグループに属する各装置に関する情報を通知する（ステップＳ１４１２）。
【０１１７】
第２の更新処理装置である”装置−Ｂ”乃至”装置−Ｄ”は、前記情報に基づいてそれぞれに割り当てられたグループに属する各装置を特定する（ステップＳ１４１３）。
【０１１８】
第２の更新処理装置である”装置−Ｂ”乃至”装置−Ｄ”は、図１６に示すように、割り当てられたグループに属する装置（”装置−１”乃至”装置−９”）に対して、第１の更新処理装置として、ソフトウェアの更新処理を実行する（ステップＳ１４１０）。
【０１１９】
以上説明した、本実施形態におけるソフトウェア更新処理方法によれば、第１の更新処理装置である装置１０１は、ソフトウェアを更新する対象である装置１０２を検索し、ソフトウェアを更新する必要が無い装置１０２が存在する場合は、係る装置１０２を第２の更新処理装置として選択する。
【０１２０】
このため、例えば、既にソフトウェアを更新済みの装置が複数存在する場合は、係る装置を第２の更新処理装置として活用することにより、ソフトウェア更新処理に要する負荷を分散すると共に、ソフトウェア更新の処理に要する時間を短縮することが可能である。即ち、係るソフトウェアを更新する必要が無い装置１０２に対する、ソフトウェア更新処理を実行せずに済み、係る装置の台数分だけソフトウェア更新処理を分散することが可能であるため、ソフトウェア更新処理に対する負荷分散と、処理時間の短縮が可能である。
【０１２１】
このような処理によって、本実施形態におけるソフトウェア更新方法によれば、前記第１の実施形態におけるソフトウェア更新方法と同様の効果を奏すると共に、第１及び第２の更新処理装置における処理負荷を更に低減し、更新処理に要する時間を短縮可能である、という効果を奏する。
【０１２２】
なお、上述した本実施形態の説明においては、ソフトウェアを更新する必要が無い装置１０２が存在する場合、係る装置を第２の更新処理装置として選択する態様を例示した（ステップＳ１４０６、ステップＳ１４０９）。しかしながら、本実施形態はこのような態様に限定されない。例えば、ソフトウェアを更新する必要が無い装置１０２が存在する場合であっても、最大更新対象数以下の特定の装置１０２を選択してソフトウェアを更新し、係る装置を第２の更新処理装置として選択してもよい。この場合、ソフトウェアを更新する必要が無い装置１０２と、ソフトウェアを更新した特定の装置１０２とを、共に第２の更新処理装置として選択してもよい。
【０１２３】
＜第３の実施形態＞
次に、上述した各実施形態に共通する構成について、本発明の第３の実施形態として、図１７を参照して説明する。図１７は、本発明の第１の実施形態における、ソフトウェア更新の対象となる装置について、ソフトウェアを更新する機能を実現する構成と、通信ネットワークを介した接続構成を概略的に例示する図である。
【０１２４】
図１に示すように、本実施形態においては、更新対象となるソフトウェアを搭載した装置１７０１と複数の装置１７０２とが、通信ネットワーク１７０３を介して通信可能に接続されている。なお、図１７おいては、説明の便宜上装置１７０１と装置１７０２とについて、異なる図番号を付している。しかしながら、本実施形態において、これらの装置１７０１及び装置１７０２は、それぞれ同一の構成を有する装置であってもよく、異なる構成を有する装置であってもよい。
【０１２５】
本実施形態において、装置１７０１及び装置１７０３は、図示しないなんらかのソフトウェア（コンピュータ・プログラム）を搭載し、係るソフトウェアを実行することにより、各種機能を提供する電子機器や情報処理装置等である。係るソフトウェアは、例えば電子機器を構成するハードウェアを制御するファームウェアや、情報処理装置等を制御するＯＳやデバイスドライバ、また情報処理装置等において実行される各種アプリケーションプログラムやミドルウェア等を含んでもよい。また、本実施形態における装置１７０１及び１７０２は、外部からの指示または特定の契機に従って、係るソフトウェアを更新する機能を有する。
【０１２６】
本実施形態における通信ネットワーク１７０３は、前記各装置１０１及び１０２の間を通信可能に接続する、任意の通信手段を提供する通信回線である。
【０１２７】
次に、上記のように構成された本実施形態における装置１７０１及び装置１７０２のソフトウェア更新処理について説明する。以下の説明において、装置１７０１を第１の更新処理装置と称する場合がある。
【０１２８】
まず、第１の更新処理装置である装置１７０１は、通信ネットワーク１７０３を介して、ソフトウェアを更新する対象である装置１７０２を特定する。装置１７０１は、例えば通信ネットワーク１７０３に接続されている装置１７０２を検索することにより、係る装置１７０２を特定してもよい。
【０１２９】
次に、装置１７０１は、前記特定した装置１７０２から、特定の最大更新対象数以下の装置１７０２を選択し、係る装置に搭載されたソフトウェアを更新する。
【０１３０】
次に、装置１７０１は、前記ソフトウェアを更新した装置１７０２以外に、ソフトウェアの更新が必要な他の装置１７０２が存在するか確認する。
【０１３１】
確認の結果、ソフトウェアの更新が必要な他の装置１７０２が存在する場合、装置１７０１は、当該ソフトウェアを更新した前記装置１７０２を第２の更新処理装置とし、係る第２の更新処理装置に対して、他の装置１７０２を割り当ててグループを形成する。本実施形態においては、例えば、装置１７０１は、図１７に示すように第２の更新処理装置である装置１７０２に対して、他の装置１７０２を割りあてたグループ１７０４を形成してもよい。
【０１３２】
次に、装置１７０１は、第２の更新処理装置である装置１７０２に対して、前記グループに属する他の装置１７０２に関する情報を通知する。
【０１３３】
第２の更新処理装置である装置１７０２は、前記通知された情報を基に、前記グループに属する他の装置１７０２を特定する。
【０１３４】
第２の更新処理装置である装置１７０２は、前記特定した他の装置１７０２に対して、今度は第１の更新処理装置として、上述した装置１７０１と同様にソフトウェアの更新処理を実行する。
【０１３５】
以上説明した、本実施形態におけるソフトウェア更新処理方法によれば、第１の更新処理装置である装置１７０１は、ソフトウェアを更新する対象である装置１７０２を検索し、特定の装置１７０２のソフトウェアを更新し、第２の更新処理装置に対してグループを割り当てる。また、第２の更新処理装置である装置１７０２は、割り当てられたグループに属する他の装置１７０２に対して、第１の更新処理装置と同様のソフトウェア更新処理を実行する。
【０１３６】
このため、本実施形態におけるソフトウェア更新方法によれば、第１の更新処理装置（第１の更新処理装置として機能する第２の更新処理装置を含む）は、常に特定の最大更新対象数以下の装置１７０２に対してソフトウェアの更新処理を実行する。よって、特定の更新処理装置に対して装置１７０２の更新処理に関する負荷が集中することが無い。また、本実施形態におけるソフトウェア更新方法によれば、ソフトウェア更新の対象である装置１７０２を動的にグループ化可能である。
【０１３７】
このような処理によって、本実施形態におけるソフトウェア更新方法によれば、通信ネットワークに接続された複数の装置に搭載されるソフトウェアを更新する場合に、更新データの配布元や更新処理の実行元である第１及び第２の更新処理装置における処理負荷を低減し、更新処理に要する時間を短縮可能である、という効果を奏する。
【０１３８】
＜ハードウェア構成＞
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
【０１３９】
上記各実施形態において説明した装置１０１及び装置１０２は、それぞれの機能を実現する専用のハードウェア装置により構成してもよい。その場合、図２に示した各部は、一部または全部を統合したハードウェア（処理ロジックを実装した集積回路等）として実現してもよい。
【０１４０】
また、上述した装置１０１及び装置１０２は、図１８に例示するようなハードウェアと、係るハードウェアによって実行される各種ソフトウェアプログラム（コンピュータ・プログラム）とによって構成してもよい。
【０１４１】
図１８における演算装置１８０１は、汎用のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置１８０１は、例えば後述する不揮発性記憶装置１８０３に記憶された各種ソフトウェアプログラムを記憶装置１８０２に読み出し、係るソフトウェアプログラムに従って処理を実行してもよい。
【０１４２】
記憶装置１８０２は、演算装置１８０１から参照可能な、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリ装置であり、ソフトウェアプログラムや各種データ等を記憶する。なお、記憶装置１８０２は、揮発性のメモリ装置であってもよい。
【０１４３】
不揮発性記憶装置１８０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置であり、各種ソフトウェアプログラムやデータ等を記録してもよい。
【０１４４】
ネットワークインタフェース１８０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等を採用してもよい。
【０１４５】
外部記憶装置１８０４は、例えば、後述する外部記憶媒体１８０５に対するデータの読み込みや書き込みを処理する装置である。
【０１４６】
外部記録媒体１８０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
【０１４７】
入出力インタフェース１８０７は、外部入力装置（例えばキーボードやマウス等）及び外部出力装置（例えばディスプレイ装置やプリンタ等）との間の入出力を制御する装置である。
【０１４８】
上述した各実施形態を例に説明した本発明は、例えば、図１８に例示したハードウェアにより上記装置１０１あるいは装置１０２を構成し、係る装置に対して、各実施形態の説明において参照したフローチャートの機能を実現可能なソフトウェアプログラムを供給した後、そのソフトウェアプログラムを、演算装置１８０１が実行することによって達成されてもよい。
【０１４９】
上述した各実施形態において、図２に示した各部は、上述したハードウェアにより実行される、ソフトウェアプログラムの機能（処理）単位である、ソフトウェアモジュールとして実現することができる。但し、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。
【０１５０】
例えば、図２示した各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールを不揮発性記憶装置１８０３に記憶しておき、演算装置１８０１がそれぞれの処理を実行する際に、これらのソフトウェアモジュールを記憶装置１８０２に読み出すよう構成してもよい。また、これらのソフトウェアモジュール間は、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成してもよい。
【０１５１】
更に、上記各ソフトウェアプログラムを外部記憶媒体１８０５に記録しておき、上記通信装置等の出荷段階、あるいは運用段階等において、適宜外部記憶装置１８０４を通じて当該ソフトウェアプログラムを不揮発性メモリ１８０３に格納するよう構成してもよい。
【０１５２】
図２及び図１８を参照して、制御部１０１ａをソフトウェアプログラムにより実現する場合、上述したように、係る制御部１０１ａの機能を実現したソフトウェアプログラムを記憶装置１８０２に読み込み、演算装置１８０１が係るソフトウェアプログラムを実行するよう制御してもよい。
【０１５３】
通信部１０１ｂをソフトウェアプログラムにより実現する場合、上記演算装置１８０１は、係るソフトウェアプログラムの実行に際して、例えば、装置１０１と装置１０２との間で各種データの送受信等が発生するたびに、ネットワークインタフェース１８０６を制御して係るデータを通信ネットワーク１０３に対して送受信してもよい。
【０１５４】
外部媒体受領部１０１ｄをソフトウェアプログラムにより実現する場合、上記演算装置１８０１は、係るソフトウェアプログラムの実行に際して、例えば、外部記憶装置１８０４を制御して、外部記憶媒体１８０５に記録された更新データを読み込んでもよい。
【０１５５】
ＵＩ部１０１ｃをソフトウェアプログラムにより実現する場合、上記演算装置１８０１は、係るソフトウェアプログラムの実行に際して、例えば、入出力インタフェース１８０７を制御して、図示しないユーザまたは管理者との間の操作や表示の入出力を実行してもよい。
【０１５６】
また、前記の場合において、上記装置１０１及び装置１０２へのソフトウェアプログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るソフトウェアプログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
【０１５７】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【０１５８】
なお、上述した実施形態及びその変形例の一部または全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限られない。
【０１５９】
（付記１）
通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置が、
ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知し、
前記第２の更新処理装置が、
前記第１の更新処理装置からの通知を受信し、
当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、
前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、
ことを特徴とする、ソフトウェアの更新方法。
【０１６０】
（付記２）
通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置が、
ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知し、
前記第２の更新処理装置が、
前記第１の更新処理装置からの通知を受信し、
当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、
前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、
ことを特徴とする、ソフトウェアの更新方法。
【０１６１】
（付記３）
前記第１の更新処理装置が、前記ソフトウェアの更新に際して、
前記第２の更新処理装置に対して、前記他の装置を前記所定数以下の台数となるように割り当てたグループを形成する、
ことを特徴とする、付記１または付記２に記載のソフトウェアの更新方法。
【０１６２】
（付記４）
前記第１の更新処理装置が、前記ソフトウェアの更新の後一定時間が経過した際に、
前記少なくとも１台以上の装置のうち、ソフトウェアの更新が可能な装置を再度特定し、
当該特定した装置のうち、ソフトウェアの更新が必要な装置が存在するか否かを判定し、
当該判定の結果、ソフトウェアの更新が必要と判定された装置に対するソフトウェアを更新する、
ことを特徴とする、付記１乃至付記３の何れかに記載のソフトウェアの更新方法。
【０１６３】
（付記５）
前記第１の更新処理装置が、
前記特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とすると共に、
前記特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とする、
ことを特徴とする、付記２に記載のソフトウェアの更新方法。
【０１６４】
（付記６）
通信回線を介して少なくとも１台以上の装置と通信可能に接続される通信手段と、
前記通信手段を用いて装置を検索することにより、ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知する制御手段と、
を有することを特徴とする、ソフトウェア更新装置。
【０１６５】
（付記７）
自装置が、前記第２の更新処理装置である場合において、
前記通信手段は、
他の前記ソフトウェア更新装置からの前記通知を受信し、
前記制御手段は、
前記通知に基づいて、ソフトウェアの更新が可能な前記他の装置を特定し、
当該特定した前記他の装置のソフトウェアを更新する、
ことを特徴とする、付記６に記載のソフトウェア更新装置。
【０１６６】
（付記８）
前記制御手段は、
特定のネットワーク範囲に対して前記装置を検索し、
当該検索結果に基づいて、ソフトウェアの更新が可能な前記装置を特定する、
ことを特徴とする、付記６または付記７の何れか記載のソフトウェア更新装置。
【０１６７】
（付記９）
前記制御手段は、ソフトウェアの更新が可能な前記装置に対して、当該ソフトウェアの更新に必要な更新情報を提供する、
ことを特徴とする、付記６乃至付記８に記載のソフトウェア更新装置。
【０１６８】
（付記１０）
通信回線を介して少なくとも１台以上の装置と通信可能に接続された第１の更新処理装置として機能するコンピュータに、
ソフトウェアの更新が可能な前記装置を特定する処理と、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定する処理と、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とする処理と、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外に、ソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知するする処理と、
を実行させることを特徴とする、ソフトウェア更新プログラム。
【０１６９】
（付記１１）
前記第２の更新処理装置として機能するコンピュータに、
前記第１の更新処理装置からの前記通知を受信する処理と、
前記通知に基づいて、ソフトウェアの更新が可能な前記他の装置を特定する処理と、
当該特定した前記他の装置のソフトウェアを更新する処理と、
を実行させることを特徴とする、付記１０に記載のソフトウェア更新プログラム。
【０１７０】
（付記１２）
通信回線を介して少なくとも１台以上の装置と通信可能に接続され、
ソフトウェアの更新が可能な前記装置を特定し、
当該特定した装置のうち、ソフトウェアの更新が不要な装置が存在するか否かを判定し、
当該判定の結果、少なくとも１以上の装置について、ソフトウェアの更新を不要と判定した場合には、当該装置を第２の更新処理装置とする一方、
当該判定の結果、ソフトウェアの更新が不要な装置が存在しないと判定した場合には、
当該特定した装置のうち、所定数以下の装置に対して、当該装置のソフトウェアを更新することによって第２の更新処理装置とし、
前記少なくとも１台以上の装置のうち、前記第２の更新処理装置以外にソフトウェアの更新が必要な他の装置が存在する場合には、前記第２の更新処理装置に対して、前記他の装置を割り当てることによってグループを形成すると共に、当該グループに属する前記他の装置に関する情報を通知する、
第１の更新処理装置と、
前記第１の更新処理装置からの通知を受信し、
当該通知に基づいてソフトウェアを更新する対象である前記他の装置を特定し、
前記第１の更新処理装置として、当該特定した前記他の装置のソフトウェアを更新する、
第２の更新処理装置と、
を有することを特徴とする、ソフトウェアの更新システム。
【産業上の利用可能性】
【０１７１】
本発明は、通信ネットワークに接続された、複数の装置（電子機器や情報処理装置等）に搭載されたソフトウェアを更新する技術として、係る装置の管理システム等に適応できる。
【符号の説明】
【０１７２】
１０１  装置
１０１ａ  制御部
１０１ｂ  通信部
１０１ｃ  ＵＩ部
１０１ｄ  外部媒体受領部
１０２  装置
１０３  通信ネットワーク
１０４  配信装置
１０５  更新指示装置
１７０１  装置
１７０２  装置
１７０３  通信ネットワーク
１８０１  演算装置
１８０２  記憶装置
１８０３  不揮発性記憶装置
１８０４  外部記憶装置
１８０５  記憶媒体
１８０６  ネットワークインタフェース
１８０７  入出力インタフェース
【図１】
2015099547.tif 000003
【図２】
2015099547.tif 000004
【図３】
2015099547.tif 000005
【図４】
2015099547.tif 000006
【図５】
2015099547.tif 000007
【図６】
2015099547.tif 000008
【図７】
2015099547.tif 000009
【図８】
2015099547.tif 000010
【図９】
2015099547.tif 000011
【図１０】
2015099547.tif 000012
【図１１】
2015099547.tif 000013
【図１２】
2015099547.tif 000014
【図１３】
2015099547.tif 000015
【図１４】
2015099547.tif 000016
【図１５】
2015099547.tif 000017
【図１６】
2015099547.tif 000018
【図１７】
2015099547.tif 000019
【図１８】
2015099547.tif 000020