(57)【要約】【課題】機器上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新可能な機器管理システム、機器管理装置、管理対象機器、ソフトウェア更新方法、ソフトウェア更新プログラム、及びそのプログラムを記録した記録媒体を提供する。【解決手段】機器管理システム１は、１又は複数の管理対象機器２００と更新用データ３１Ｄ（アーカイブデータ）を所定の記憶領域に保持する機器管理装置１００とが接続されるシステムである。機器管理装置１００は、更新用データ３１Ｄの有無判定を行い、判定結果を基に更新用データ３１Ｄを管理対象機器２００に送信する。管理対象機器２００は、受信した更新用データ３１Ｄをテンポラリに展開し、アプリＡＰの更新可否判定を行い、判定結果を基に、展開されたモジュールデータＭＤ（更新用プログラム）をアプリＡＰへ渡し、ソフトウェア更新を要求する。【選択図】図４
2011113391.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の管理対象機器と機器管理装置とが、所定のデータ伝送路を介して接続される機器管理システムであって、
前記機器管理装置が、
前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する保持手段と、
前記保持手段が前記更新用データを保持しているか否かを判定するデータ有無判定手段と、
前記更新用データを前記管理対象機器に送信する送信手段と、を有し、
前記管理対象機器が、
前記機器管理装置から送信された更新用データを受信する受信手段と、
前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手段と、
前記アプリケーションに対してソフトウェア更新を要求する要求手段と、を有し、
前記機器管理装置は、
前記送信手段が、前記データ有無判定手段による判定結果に基づき、前記更新用データを前記管理対象機器に送信し、
前記管理対象機器は、
前記要求手段が、前記更新可否判定手段による判定結果に基づき、前記受信手段により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求することを特徴とする機器管理システム。
【請求項２】
前記更新可否判定手段は、
前記管理対象機器から得られる機器の状態情報に基づき、前記アプリケーションのソフトウェア更新が行えるか否かを判定することを特徴とする請求項１に記載の機器管理システム。
【請求項３】
前記アプリケーションは、
前記更新用データに含まれる前記定義データに定義されたソフトウェア情報に基づき、アプリケーション自身がソフトウェア更新対象か否かを確認し、
ソフトウェア更新対象であった場合に、
前記モジュールデータを用いて、アプリケーション自身のソフトウェア更新を実行することを特徴とする請求項１又は２に記載の機器管理システム。
【請求項４】
前記管理対象機器は、
自機においてソフトウェア更新を行う必要があるか否かを判定する更新要否判定手段を、有し、
ソフトウェア更新の実行タイミングを定めた所定のスケジュールに従って、前記更新要否判定手段により、前記機器管理装置から取得した前記更新用データの更新日時に基づき、前記アプリケーションのソフトウェア更新要否を判定し、
前記ソフトウェア更新が必要と判定された場合に、
前記更新用データの送信を前記管理対象機器に要求することを特徴とする請求項１ないし３のいずれか一項に記載の機器管理システム。
【請求項５】
前記機器管理装置は、
ソフトウェア更新の実行タイミングを定めた所定のスケジュールに従って、前記データ有無判定手段により、前記更新用データを保持しているか否かを判定し、
前記更新用データを保持していると判定された場合に、
前記更新用データを前記管理対象機器に送信することを特徴とする請求項１ないし３のいずれか一項に記載の機器管理システム。
【請求項６】
当該機器管理システムは、
前記所定のデータ伝送路を介して、前記アプリケーションのソフトウェアを記憶装置の所定の記憶領域に保持し、要求に応じて、前記アプリケーションのソフトウェアを提供するソフトウェア提供装置が接続されており、
前記機器管理装置は、
前記ソフトウェア提供装置から提供されたソフトウェアから、前記更新用データを生成する生成手段を、有し、
前記生成手段により生成した更新用データを前記管理対象機器に送信することを特徴とする請求項１ないし３のいずれか一項に記載の機器管理システム。
【請求項７】
前記ソフトウェア提供装置は、
ソフトウェア更新の実行タイミングを定めた所定のスケジュールに従って、ソフトウェア更新の実行を前記機器管理装置に通知し、
通知した前記機器管理装置からの要求に応じて、前記アプリケーションのソフトウェアを提供することを特徴とする請求項６に記載の機器管理システム。
【請求項８】
前記機器管理装置は、
ソフトウェア更新の実行タイミングを定めた所定のスケジュールに従って、前記アプリケーションのソフトウェアの提供を前記ソフトウェア提供装置に要求することを特徴とする請求項６に記載の機器管理システム。
【請求項９】
１又は複数の管理対象機器と、所定のデータ伝送路を介して接続される機器管理装置であって、
前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する保持手段と、
前記保持手段が前記更新用データを保持しているか否かを判定するデータ有無判定手段と、
前記更新用データを前記管理対象機器に送信する送信手段と、を有し、
前記送信手段が、前記データ有無判定手段による判定結果に基づき、前記更新用データを前記管理対象機器に送信することを特徴とする機器管理装置。
【請求項１０】
ソフトウェア更新の実行タイミングを定めた所定のスケジュールに従って、前記データ有無判定手段により、前記更新用データを保持しているか否かを判定し、
前記更新用データを保持していると判定された場合に、
前記更新用データを前記管理対象機器に送信することを特徴とする請求項９に記載の機器管理装置。
【請求項１１】
当該管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持し、前記更新用データを送信する機器管理装置と、所定のデータ伝送路を介して接続される１又は複数の管理対象機器であって、
前記機器管理装置から送信された更新用データを受信する受信手段と、
前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手段と、
前記アプリケーションに対してソフトウェア更新を要求する要求手段と、を有し、
前記要求手段が、前記更新可否判定手段による判定結果に基づき、前記受信手段により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求することを特徴とする管理対象機器。
【請求項１２】
前記更新可否判定手段は、
当該管理対象機器から得られる機器の状態情報に基づき、前記アプリケーションのソフトウェア更新が行えるか否かを判定することを特徴とする請求項１１に記載の管理対象機器。
【請求項１３】
前記アプリケーションは、
前記更新用データに含まれる前記定義データに定義されたソフトウェア情報に基づき、アプリケーション自身がソフトウェア更新対象か否かを確認し、
ソフトウェア更新対象であった場合に、
前記モジュールデータを用いて、アプリケーション自身のソフトウェア更新を実行することを特徴とする請求項１１又は１２に記載の管理対象機器。
【請求項１４】
自機においてソフトウェア更新を行う必要があるか否かを判定する更新要否判定手段を、有し、
ソフトウェア更新の実行タイミングを定めた所定のスケジュールに従って、前記更新要否判定手段により、前記機器管理装置から取得した前記更新用データの更新日時に基づき、前記ソフトウェア更新の要否を判定し、
前記ソフトウェア更新を行う必要があると判定された場合に、
前記更新用データの送信を前記管理対象機器に要求することを特徴とする請求項１１ないし１３のいずれか一項に記載の管理対象機器。
【請求項１５】
１又は複数の管理対象機器と、前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する機器管理装置とが、所定のデータ伝送路を介して接続される機器管理システムにおけるソフトウェア更新方法であって、
前記機器管理装置が、
前記更新用データを保持しているか否かを判定するデータ有無判定手順と、
前記更新用データを前記管理対象機器に送信する送信手順と、を有し、
前記管理対象機器が、
前記管理対象機器から送信された更新用データを受信する受信手順と、
前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手順と、
前記アプリケーションに対してソフトウェア更新を要求する要求手順と、を有し、
前記機器管理装置は、
前記送信手順により、前記データ有無判定手順による判定結果に基づき、前記更新用データを前記管理対象機器に送信し、
前記管理対象機器は、
前記要求手順により、前記更新可否判定手順による判定結果に基づき、前記受信手順により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求することを特徴とするソフトウェア更新方法。
【請求項１６】
１又は複数の管理対象機器と、所定のデータ伝送路を介して接続され、前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する機器管理装置におけるソフトウェア更新プログラムであって、
コンピュータを、
前記更新用データを保持しているか否かを判定するデータ有無判定手段と、
前記データ有無判定手段による判定結果に基づき、前記更新用データを前記管理対象機器に送信する送信手段として機能させるソフトウェア更新プログラム。
【請求項１７】
当該管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持し、前記更新用データを送信する機器管理装置と、所定のデータ伝送路を介して接続される１又は複数の管理対象機器におけるソフトウェア更新プログラムであって、
コンピュータを、
前記機器管理装置から送信された更新用データを受信する受信手段と、
前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手段と、
前記更新可否判定手段による判定結果に基づき、前記受信手段により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求する要求手段として機能させるソフトウェア更新プログラム。
【請求項１８】
請求項１６及び／又は１７に記載のプログラムを記憶した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークなどのデータ伝送路を介して接続される１又は複数の管理対象機器を管理する機器管理システムに関し、特に、管理対象機器上で動作するアプリケーションソフトウェアを一括更新する技術に関するものである。
【背景技術】
【０００２】
ネットワークなどの所定のデータ伝送路を介して複合機やプリンタと言った画像処理装置（以下「管理対象機器」と言う）などの状態を機器管理装置（機器管理サーバ）により監視するシステムはすでに知られている。このような機器管理システムでは、ユーザは管理対象の１又は複数の管理対象機器に自ら出向くことなく、管理対象機器の異常を検知する（知る）ことが可能となっている。
【０００３】
上記システム構成において、機器管理装置が管理対象機器のソフトウェア環境を管理することは重要な機能であり、管理対象機器上で動作するアプリケーションソフトウェアを最新の状態に保つことが望まれる。一方で、機器管理システムが導入されるユーザ環境には、例えば数千台の管理対象機器を管理しなければならない場合もある。このような場合、ソフトウェア管理作業は、作業者にとって煩雑な作業となる。
【０００４】
そこで、例えば特許文献１には、接続機器の増減に伴うソフトウェアインストール作業を行うことができるソフトウェア自動更新装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のソフトウェア更新方法では、アプリケーションごとに異なるソフトウェア更新時の手続きやコンフィグレーションについて考慮されていない。
【０００６】
近年、画像処理装置などの管理対象機器の動作環境は、汎用性を有している。そのため、管理対象機器上で動作するアプリケーションソフトウェアは、様々なソフトウェアベンダによって開発されることが多い。また、管理対象機器である画像処理装置の多機能化により、装置製造元（メーカ）であっても、アプリケーションソフトウェアが異なる部門で開発されることが多い。このようにして開発・提供されたアプリケーションソフトウェアは、ベンダや開発環境の違いから、アプリケーションごとにソフトウェア更新時の手続きやコンフィグレーションが異なることが考えられる。そのため、作業者は、更新手続きやコンフィグレーションが違うアプリケーションごとに個別対応することになり、管理対象機器で機能する各アプリケーションを考慮した更新作業を行わなければならなかった。この作業は、作業者にとって煩雑である。
【０００７】
このように、機器管理システムでは、作業者に対して、アプリケーションごとに異なる更新手続きやコンフィグレーションを意識することなく、一括更新可能な環境を提供する必要がある。
【０００８】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、機器上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新できる機器管理システム、機器管理装置、管理対象機器、ソフトウェア更新方法、ソフトウェア更新プログラム、及びそのプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係る機器管理システムは、１又は複数の管理対象機器と機器管理装置とが、所定のデータ伝送路を介して接続される機器管理システムであって、前記機器管理装置が、前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する保持手段と、前記保持手段が前記更新用データを保持しているか否かを判定するデータ有無判定手段と、前記更新用データを前記管理対象機器に送信する送信手段と、を有し、前記管理対象機器が、前記機器管理装置から送信された更新用データを受信する受信手段と、前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手段と、前記アプリケーションに対してソフトウェア更新を要求する要求手段と、を有し、前記機器管理装置は、前記送信手段が、前記データ有無判定手段による判定結果に基づき、前記更新用データを前記管理対象機器に送信し、前記管理対象機器は、前記要求手段が、前記更新可否判定手段による判定結果に基づき、前記受信手段により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求することを特徴としている。
【００１０】
上記目的を達成するため、本発明に係る機器管理装置は、１又は複数の管理対象機器と、所定のデータ伝送路を介して接続される機器管理装置であって、前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する保持手段と、前記保持手段が前記更新用データを保持しているか否かを判定するデータ有無判定手段と、前記更新用データを前記管理対象機器に送信する送信手段と、を有し、前記送信手段が、前記データ有無判定手段による判定結果に基づき、前記更新用データを前記管理対象機器に送信することを特徴としている。
【００１１】
上記目的を達成するため、本発明に係る管理対象機器は、当該管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持し、前記更新用データを送信する機器管理装置と、所定のデータ伝送路を介して接続される１又は複数の管理対象機器であって、前記機器管理装置から送信された更新用データを受信する受信手段と、前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手段と、前記アプリケーションに対してソフトウェア更新を要求する要求手段と、を有し、前記要求手段が、前記更新可否判定手段による判定結果に基づき、前記受信手段により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求することを特徴としている。
【００１２】
このような構成によって、本発明に係る機器管理システムは、機器管理におけるソフトウェア更新を次のように行う。まず、機器管理装置は、管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及びアプリケーションソフトウェアのモジュールデータ（更新用プログラム）を含む更新用データ（アーカイブデータ）を所定の記憶領域に保持している。機器管理装置は、更新用データの有無判定を行い、判定結果に基づき、更新用データを管理対象機器に送信する。管理対象機器は、受信した更新用データをテンポラリに展開し、アプリケーションの更新可否判定を行い、判定結果に基づき、展開されたモジュールデータをアプリケーションへ渡し、ソフトウェア更新を要求する。
【００１３】
これによって、本発明に係る機器管理システムは、管理対象機器において、更新対象の各アプリケーションにより、アプリケーション自身の更新手続きやコンフィグレーションに従って、更新用データを用いたソフトウェア更新が実行される。その結果、機器上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新できる。
【００１４】
上記目的を達成するため、本発明に係るソフトウェア更新方法は、１又は複数の管理対象機器と、前記管理対象機器で機能するアプリケーションのソフトウェア情報が定義された定義データ及び前記アプリケーションのモジュールデータを含む更新用データを、所定の記憶領域に保持する機器管理装置とが、所定のデータ伝送路を介して接続される機器管理システムにおけるソフトウェア更新方法であって、前記機器管理装置が、前記更新用データを保持しているか否かを判定するデータ有無判定手順と、前記更新用データを前記管理対象機器に送信する送信手順と、を有し、前記管理対象機器が、前記管理対象機器から送信された更新用データを受信する受信手順と、前記アプリケーションのソフトウェア更新が行えるか否かを判定する更新可否判定手順と、前記アプリケーションに対してソフトウェア更新を要求する要求手順と、を有し、前記機器管理装置は、前記送信手順により、前記データ有無判定手順による判定結果に基づき、前記更新用データを前記管理対象機器に送信し、前記管理対象機器は、前記要求手順により、前記更新可否判定手順による判定結果に基づき、前記受信手順により受信した更新用データに含まれる前記モジュールデータを前記アプリケーションへ渡し、ソフトウェア更新を要求することを特徴としている。
【００１５】
このような手順によって、本発明に係るソフトウェア更新方法は、ソフトウェア更新を行うために必要なデータをアーカイブした更新用データを機器管理装置から管理対象機器へと渡し、アプリケーションに対してソフトウェア更新を要求すると言う動作を実現する。
【００１６】
これによって、本発明に係るソフトウェア更新方法は、機器上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新が可能な環境を提供できる。
【発明の効果】
【００１７】
本発明によれば、ソフトウェア更新を行うために必要なデータをアーカイブした更新用データを機器管理装置から管理対象機器へと渡し、アプリケーションに対してソフトウェア更新を要求することで、機器上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新可能な機器管理システム、機器管理装置、管理対象機器、ソフトウェア更新方法、ソフトウェア更新プログラム、及びそのプログラムを記録した記録媒体を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る機器管理システムの構成例を示す図である。
【図２】本発明の第１の実施形態に係る機器管理装置のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係る管理対象機器のハードウェア構成例を示す図である。
【図４】本発明の第１の実施形態に係る機器管理システムが有する機能構成例を示す図である。
【図５】本発明の第１の実施形態に係る更新用データのデータ例（その１）を示す図である。
【図６】本発明の第１の実施形態に係る更新用データのデータ例（その２）を示す図である。
【図７】本発明の第１の実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その１）を示すシーケンス図である。
【図８】本発明の第１の実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その２）を示すシーケンス図である。
【図９】本発明の第２の実施形態に係る機器管理システムの構成例を示す図である。
【図１０】本発明の第２の実施形態に係る機器管理システムが有する機能構成例を示す図である。
【図１１】本発明の第２の実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その１）を示すシーケンス図である。
【図１２】本発明の第２の実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その２）を示すシーケンス図である。
【発明を実施するための形態】
【００１９】
以下、本発明の好適な実施の形態（以下「実施形態」と言う）について、図面を用いて詳細に説明する。
【００２０】
［第１の実施形態］
＜システム構成＞
本実施形態に係る機器管理装置を備えたシステム構成について説明する。
【００２１】
図１は、本実施形態に係る機器管理システム１の構成例を示す図である。
図１には、１又は複数の管理対象機器２００と、１又は複数のクライアントＰＣ（Personal Computer）３００と、機器管理装置（機器管理サーバ）１００とが、ネットワークなどの所定のデータ伝送路Ｎ（例えば「ＬＡＮ：Local Area Network」）で接続される機器管理システム１の構成例が示されている。
【００２２】
管理対象機器２００は、例えば、ＭＦＰ（Multifunction Peripheral）やＬＰ（Laser Printer）と言ったオフィス業務内の作業で利用される画像処理装置である。また、クライアントＰＣ３００は、例えば、ユーザが、管理対象機器２００の情報閲覧、及び管理対象機器２００に行わせる作業データの作成や作業要求などを行う情報処理装置である。
【００２３】
また、機器管理装置１００は、管理対象機器２００から受信した機器情報（例えば、機器の「固有情報」や「状態情報」など）に基づき、管理対象機器２００を一元管理する情報処理装置である。この一元管理の中には、例えば、管理対象機器２００の監視・保守などがあり、保守には、本実施形態で説明する管理対象機器２００上で動作するアプリケーションのソフトウェア更新などが含まれる。
【００２４】
機器管理システム１は、上記システム構成により、ユーザに対して、機器管理サービス（機器管理機能）を提供することができる。
【００２５】
＜ハードウェア構成＞
本実施形態に係る機器管理装置１００及び管理対象機器２００のハードウェア構成について説明する。
【００２６】
《機器管理装置》
図２は、本実施形態に係る機器管理装置１００のハードウェア構成例を示す図である。
図２に示すように、機器管理装置１００は、入力装置１０１、表示装置１０２、ドライブ装置１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、インタフェース装置１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００２７】
入力装置１０１は、キーボード及びマウスなどを含み、機器管理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、機器管理装置１００による処理結果（例えば、「収集した機器情報」や「ソフトウェア更新結果情報」など）を表示する。
【００２８】
インタフェース装置１０７は、機器管理装置１００を所定のデータ伝送路Ｎに接続するインタフェースである。よって、機器管理装置１００は、インタフェース装置１０７を介して、機器２００やクライアントＰＣ３００とデータ通信を行うことができる。
【００２９】
ＨＤＤ１０８は、各種プログラム及びデータを格納している不揮発性の記憶装置である。格納されるプログラム及びデータには、例えば、機器管理装置１００全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（登録商標）」や「ＵＮＩＸ（登録商標）」などの基本ソフトウェアであるＯＳ（Operating System））、及び情報処理システム上において各種機能（例えば「機器管理機能」）を提供するアプリケーションなどがある。また、ＨＤＤ１０８は、格納している上記プログラム及びデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００３０】
ドライブ装置１０３は、着脱可能な記録媒体１０３ａとのインタフェースである。これにより、機器管理装置１００は、ドライブ装置１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。
【００３１】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、機器管理装置１００が起動されるときに実行されるＢＩＯＳ（Basic Input/Output System）や、機器管理装置１００のシステム設定及びネットワーク関連設定などのデータが格納されている。
【００３２】
ＲＡＭ１０４は、上記各種記憶装置から読み出されたプログラム及びデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、プログラムをＲＡＭ１０４上に読み出し、プログラムを実行することで、装置全体を制御する。
【００３３】
機器管理装置１００は、上記ハードウェア構成により、機器管理を含む情報処理サービス（情報処理機能）を提供することができる。
【００３４】
また、機器管理装置１００は、上記ハードウェア構成からも分かるようにクライアントＰＣ３００などと略同一の構成をしている。
【００３５】
《管理対象機器：画像処理装置》
図３は、本実施形態に係る管理対象機器２００のハードウェア構成例を示す図である。なお、本実施形態では、管理対象機器２００として画像処理装置を例に説明する。
図３に示すように、管理対象機器（画像処理装置）２００は、コントローラ２１０、操作パネル２２０、プロッタ２３０、及びスキャナ２４０などを備え、それぞれが相互にバスＢで接続されている。
【００３６】
操作パネル２２０は、表示部及び入力部を備えており、機器情報などの各種情報をユーザに提供したり、動作設定や動作指示などの各種ユーザ操作を受け付けたりする。プロッタ２３０は、画像形成部を備えており、用紙に出力画像を形成する。出力画像を形成する方式には、例えば、電子写真プロセスやインクジェット方式などがある。スキャナ２４０は、原稿を光学的に読み取り、読み取り画像を生成する。
【００３７】
コントローラ２１０は、ＣＰＵ２１１、記憶装置２１２、ネットワークＩ／Ｆ２１３、及び外部記憶Ｉ／Ｆ２１４などを備えており、それぞれが相互にバスＢで接続されている。
【００３８】
ＣＰＵ２１１は、プログラムを実行することで装置全体を制御する。また記憶装置２１２は、上記プログラムや各種データ（例えば「画像データ」）を格納し保持する。記憶装置２１２には、例えば、揮発性のメモリであるＲＡＭ、不揮発性のメモリであるＲＯＭ、及び大容量の記憶領域を備えたＨＤＤなどがある。ＲＡＭは、ＣＰＵ２１１のワークエリア（プログラムやデータが一時的に読み出される記憶エリア）として機能する。ＲＯＭやＨＤＤは、プログラムや各種データの格納先として用いられる。これにより、管理対象機器２００では、ＣＰＵ２１１がＲＯＭに格納されたプログラムをＲＡＭ上に読み出し、プログラムを実行する。
【００３９】
ネットワークＩ／Ｆ２１３は、管理対象機器２００を所定のデータ伝送路Ｎに接続するためのインタフェースである。外部記憶Ｉ／Ｆ２１４は、外部記憶装置にあたる記録媒体２１４ａを接続するためのインタフェースである。記録媒体２１４ａには、例えば、ＳＤメモリカード（SD Memory Card）やＵＳＢ（Universal Serial Bus）メモリなどがある。これにより、管理対象機器２００は、外部記憶Ｉ／Ｆ２１４を介して、記録媒体２１４ａに格納されたプログラムやデータを読み取る。
【００４０】
管理対象機器２００では、上記ハードウェア構成により、画像処理サービス（画像処理機能）を提供することができる。
【００４１】
本実施形態に係る機器管理システム１では、上記機器管理装置１００と上記管理対象機器２００との機器連携により、管理対象機器２００が有する機能を実現する１又は複数のアプリケーションのソフトウェア（上記プログラム）更新を行うものである。
【００４２】
＜ソフトウェア更新機能＞
本実施形態に係るソフトウェア更新機能について説明する。
【００４３】
本実施形態に係る機器管理システム１では、まず、機器管理装置１００が、管理対象機器２００で機能するアプリケーションのソフトウェア情報が定義された定義データ及びアプリケーションソフトウェアのモジュールデータ（更新用プログラム）を含む更新用データ（アーカイブデータ）を所定の記憶領域に保持している。そして、機器管理システム１では、機器管理におけるソフトウェア更新を次のように行う。機器管理装置１００は、更新用データの有無判定を行い、判定結果に基づき、更新用データを管理対象機器２００に送信する。管理対象機器２００は、受信した更新用データをテンポラリに展開し、アプリケーションの更新可否判定を行い、判定結果に基づき、展開されたモジュールデータをアプリケーションへ渡し、ソフトウェア更新を要求する。機器管理システム１は、このような機器連携により実現されるソフトウェア更新機能を有している。
【００４４】
近年、画像処理装置などの管理対象機器２００の動作環境は、汎用性を有している。そのため、管理対象機器２００上で動作するアプリケーションソフトウェアは、異なるベンダや開発部門など、様々な環境で開発され提供されることが多い。このようにして開発・提供されたアプリケーションソフトウェアは、アプリケーションごとにソフトウェア更新時の手続きやコンフィグレーションが異なることが考えられる。このような場合、ソフトウェア更新を行う作業者は、更新手続きやコンフィグレーションが違うアプリケーションごとに個別対応することになり、管理対象機器２００で機能する各アプリケーションを考慮した更新作業を行わなければならなかった。この作業は、作業者にとって煩雑である。
【００４５】
そこで、本実施形態に係る機器管理システム１では、ソフトウェア更新を行うために必要なデータをアーカイブした更新用データを機器管理装置１００から管理対象機器２００へと渡し、アプリケーションに対してソフトウェア更新を要求する。
【００４６】
これによって、本実施形態に係る機器管理システム１では、管理対象機器２００上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新でき、作業者は、アプリケーションごとに個別対応する必要がなくなる。
【００４７】
以下に、上記ソフトウェア更新機能の構成とその動作について説明する。
図４は、本実施形態に係る機器管理システム１が有する機能構成例を示す図である。
図４に示すように、機器管理システム１は、更新制御部２１、アプリケーション管理部２２、更新用データ保持部３１、及び更新管理部４１などを有している。
【００４８】
《機器管理装置が有する機能部》
更新制御部２１、アプリケーション管理部２２、及び更新用データ保持部３１は、機器管理装置１００が有する機能部である。
【００４９】
更新制御部２１は、管理対象機器２００に対して更新用データ３１Ｄを送信し、ソフトウェア更新を要求する（ソフトウェア更新に係る）処理を制御する機能部である。具体的には、次のように機能する。更新制御部２１は、アプリケーション管理部２２から更新用データ３１Ｄを取得する。更新制御部２１は、取得した更新用データ３１Ｄを管理対象機器２００に送信することでソフトウェア更新を要求し、管理対象機器２００からソフトウェア更新が完了した旨の通知を受け取る。
【００５０】
アプリケーション管理部２２は、更新用データ３１Ｄを管理する機能部である。更新用データ３１Ｄは、上述したように、ソフトウェア更新を行うために必要なデータをアーカイブしたデータ（複数のデータが１つのデータにまとめられたデータ：アーカイブデータ）であり、更新用データ保持部３１に格納され保持される。更新用データ保持部３１は、例えば、機器管理装置１００が備える記憶装置（ＨＤＤ）の所定の記憶領域にあたる。
【００５１】
ここで、アプリケーション管理部２２が管理する更新用データ３１Ｄについて説明する。
図５は、本実施形態に係る更新用データ３１Ｄのデータ例（その１）を示す図である。
図５（Ａ）に示すように、更新用データ３１Ｄは、アプリケーション定義データＤＤと、１又は複数のモジュールデータＭＤとにより構成される。
【００５２】
アプリケーション定義データＤＤは、管理対象機器２００で機能するアプリケーションＡＰのソフトウェア情報が定義されたデータである。例えば、アプリケーション定義データＤＤには、図５（Ｂ）に示すようなソフトウェア情報が定義されている。図５（Ｂ）に示すように、定義されるソフトウェア情報には、アプリケーションソフトウェアを識別する識別情報（図中の＜ａｐｐＩＤ＞タグの定義データ）、アプリケーションＡＰの名称を示すアプリ名情報（図中の＜ｄｉｓｐｌａｙＮａｍｅ＞タグの定義データ）、アプリケーションソフトウェアの更新バージョン（更新後のバージョン）を示すバージョン情報（図中の＜ｕｐｄａｔｅＶｅｒｓｉｏｎ＞タグの定義データ）、及びアプリケーションソフトウェアの格納先を示す格納情報（図中の＜ｍｏｄｕｌｅＦｏｌｄｅｒＮａｍｅ＞タグの定義データ）などがある。なお、格納先とは、例えば、更新用データ３１Ｄをテンポラリに展開した後のアプリケーション定義データＤＤからの相対的なファイルパスである。
【００５３】
アプリケーション定義データＤＤでは、上記ソフトウェア情報がアプリケーションＡＰごとに定義される。図５（Ｂ）に示すデータ例では、＜ｉｔｅｍ＞タグにより、＜ＡｐｐＬｉｓｔ＞タグ内に、アプリケーションＡＰごとのソフトウェア情報が定義されている。よって、１つのアプリケーション定義データＤＤに、複数のアプリケーションＡＰのソフトウェア情報が定義できる。
【００５４】
アプリケーション定義データＤＤは、上記データ構成により、識別情報に基づき、アプリケーションＡＰのアプリ名情報、バージョン情報、及び格納先情報を取得することができる。
【００５５】
モジュールデータＭＤは、ソフトウェア更新時に既存モジュールに置き換わる／追加される更新用プログラムである。モジュールデータＭＤの数は、アプリケーションＡＰごとに異なり、モジュールデータＭＤは、アプリケーションＡＰごとに定義された格納先に保存される。
【００５６】
モジュールデータＭＤは、アプリケーション定義データＤＤの格納先情報に基づき、更新用データ３１Ｄからテンポラリに展開される。
【００５７】
図６は、本実施形態に係る更新用データ３１Ｄのデータ例（その２）を示す図である。
図６には、「Ａｐｐｉｃａｔｉｏｎ  Ｎｏ．１」と「Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．２」とを更新するために必要なデータがアーカイブされた更新用データ３１Ｄの例が示されている。
【００５８】
図６（Ａ）に示すように、更新用データである［Ｕｐｄａｔｅ］３１Ｄには、アプリケーション定義データである［Ａｐｐ  Ｉｎｆｏ．ｘｍｌ］ＤＤと、「Ａｐｐｉｃａｔｉｏｎ  Ｎｏ．１」に対応するモジュールデータである［Ｕｐｄａｔｅ  Ｍｏｄｕｌｅ］ＭＤ１と、「Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．２」に対応するモジュールデータである［Ｕｐｄａｔｅ  Ｍｏｄｕｌｅ］ＭＤ２とがアーカイブされている。
【００５９】
また、図６（Ｂ）に示すように、［Ａｐｐ  Ｉｎｆｏ．ｘｍｌ］ＤＤには、「Ａｐｐｉｃａｔｉｏｎ  Ｎｏ．１」の識別情報［ＡｐｐＩＤ０１］、アプリ名情報［Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．１］、バージョン情報［１．０．１．０］、及び格納先情報［Ａｐｐ１  Ｆｏｌｄｅｒ］が定義されている。さらに、［Ａｐｐ  Ｉｎｆｏ．ｘｍｌ］ＤＤには、「Ａｐｐｉｃａｔｉｏｎ  Ｎｏ．２」の識別情報［ＡｐｐＩＤ０２］、アプリ名情報［Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．２］、バージョン情報［４．５．０．０］、及び格納先情報［Ａｐｐ２  Ｆｏｌｄｅｒ］が定義されている。
【００６０】
また、［Ｕｐｄａｔｅ  Ｍｏｄｕｌｅ］ＭＤ１は、［Ａｐｐ  Ｉｎｆｏ．ｘｍｌ］ＤＤに定義される格納先情報に示す［Ａｐｐ１  Ｆｏｌｄｅｒ］以下に保存され、［Ｕｐｄａｔｅ  Ｍｏｄｕｌｅ］ＭＤ２は、［Ａｐｐ２  Ｆｏｌｄｅｒ］以下に保存されている。
【００６１】
なお、図５（Ｂ）及び図６（Ｂ）には、ＸＭＬ（Extensible Markup Language）で記述されたデータ例を示したが、アプリケーション定義データＤＤのデータ形式は、この限りでない。後述する更新管理部４１が処理可能なデータ形式であればよい。また、更新用データ３１Ｄは、ソフトウェア更新を行う作業者により、ソフトウェア更新の際に予め生成され、更新用データ保持部３１に格納される。その際、作業者は、アプリケーション定義データＤＤを作成し、更新対象のアプリケーションＡＰに対応するモジュールデータＭＤを用意して、これらを所定のツールによりアーカイブする。
【００６２】
図４の説明に戻る。アプリケーション管理部２２は、具体的に次のように機能する。アプリケーション管理部２２は、更新制御部２１からの取得要求を受け付けると、更新用データ保持部３１にアクセスし、要求された更新用データ３１Ｄの存在有無を判定する。アプリケーション管理部２２は、更新用データ３１Ｄが存在すれば、要求元の更新制御部２１に更新用データ３１Ｄを転送する。これにより、更新制御部２１は、更新用データ３１Ｄを取得できる。なお、アプリケーション管理部２２が、更新用データ３１Ｄを作成する機能を作業者に対して提供してもよい。例えば、作業者は、アプリケーション管理部２２が提供するＧＵＩ（Graphical User Interface）を介して、アプリケーション定義データＤＤの作成・編集、更新対象のアプリケーションＡＰに対応するモジュールデータＭＤの追加・削除、及び更新用データの生成（アーカイブ）などを行う。その結果、アプリケーション管理部２２は、作業者から受け付けた格納指示に従って、生成された更新用データ３１Ｄを更新用データ保持部３１に格納する。
【００６３】
《管理対象機器が有する機能部》
更新管理部４１は、管理対象機器２００が有する機能部である。図４には、機器管理装置１００が複数の管理対象機器２００１〜２００ｎを管理するときの機能構成が示されている。そのため、管理対象機器２００１〜２００ｎが、更新管理部４１１〜４１ｎを有する構成例（機能部を個々に有する構成例）が示されている。以下の説明では、便宜上、更新管理部４１に統一して説明する。
【００６４】
更新管理部４１は、ソフトウェア更新に係る処理を制御する機能部である。具体的には、次のように機能する。更新管理部４１は、機器管理装置１００から受信した更新用データ３１Ｄをテンポラリに展開する。ここで言う「テンポラリに展開」とは、例えば、管理対象機器２００が備える記憶装置（「ＲＡＭ」や「ＨＤＤ」など）の所定の記憶領域に、アーカイブデータを展開（まとめられたデータを構成データごとに分解）することを意味する。更新管理部４１は、自機の動作状態に基づき、更新可否を判定する。更新管理部４１は、更新可能な機器状態であれば、展開されたアプリケーション定義データＤＤをアプリケーションＡＰに渡し、更新確認を要求する。これにより、管理対象機器２００では、ソフトウェア更新の確認処理がアプリケーションＡＰに委譲される。また、更新管理部４１は、更新対象のアプリケーションＡＰからの要求を受けて、展開されたモジュールデータＭＤをアプリケーションＡＰに渡し、ソフトウェア更新を要求する。これにより、管理対象機器２００では、アプリケーションＡＰごとの更新手続きやコンフィグレーションに従って、ソフトウェア更新が行われる。その後、更新管理部４１は、ソフトウェア更新を要求したアプリケーションＡＰから更新結果通知を受け取り、機器管理装置１００にその旨を通知する。
【００６５】
このように、本実施形態に係るソフトウェア更新機能は、上記各機能部が連係動作することにより実現される。
【００６６】
次に、ソフトウェア更新機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。
【００６７】
ソフトウェア更新機能は、機器管理装置１００及び管理対象機器２００に搭載（インストール）される各プログラム（ソフトウェア更新機能を実現するソフトウェア部品）が、制御部（例えば「ＣＰＵ」）により、格納先（例えば「ＨＤＤ」や「ＲＯＭ」）から読み出され、以下の処理が実行されることで実現される。
【００６８】
また、ソフトウェア更新に係る処理には、主に、次のような処理手順が挙げられる。１つは、管理対象機器２００が能動的に機器管理装置１００から更新用データ３１Ｄを取得し、自機のソフトウェア更新を実行する処理である。つまり、管理対象機器２００がソフトウェア更新実行のトリガとなる処理である。もう１つは、管理対象機器２００が受動的に機器管理装置１００から更新用データ３１Ｄを受信し、自機のソフトウェア更新を実行する処理である。つまり、機器管理装置１００がソフトウェア更新実行のトリガとなる処理である。このように、本実施形態に係る機器管理システム１では、管理対象機器２００が機器管理装置１００から更新用データ３１Ｄをどのように受け取るか（機器管理装置１００又は管理対象機器２００のどちらがソフトウェア更新実行のトリガとなるか）によって大別される。以下の説明では、これら２つの処理手順を順に説明する。
【００６９】
《管理対象機器が能動的に更新用データを取得する処理》
図７は、本実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その１）を示すシーケンス図である。
【００７０】
図７に示すように、機器管理装置１００は、更新制御部２１により、管理対象機器２００が有する更新管理部４１に対して、更新スケジュールに係る設定情報を送信し、ソフトウェア更新のスケジュールを登録する（ステップＳ１０１）。設定情報には、管理対象機器２００でソフトウェア更新に係る処理を実行する所定の間隔（例えば「日付」や「時間」）が設定されている。更新スケジュールは、ソフトウェア更新の実行タイミングを定めた所定のスケジュールであり、機器管理システムの保守・運用方針に従って、作業者により予め決定・設定される。なお、機器管理装置１００では、全ての管理対象機器２００に対して同一のスケジュールを一括設定してもよいし、管理対象機器２００で異なるスケジュールを設定するようにしてもよい。
【００７１】
管理対象機器２００は、更新管理部４１により、登録された設定情報を参照し、更新スケジュールを確認する（ステップＳ１０２）。
【００７２】
更新管理部４１は、設定情報に基づくソフトウェア更新の実行タイミングに従って、機器管理装置１００が有する更新制御部２１に対し、更新用データ３１Ｄの更新日時の取得を要求する（ステップＳ１０３）。その結果、更新管理部４１は、更新制御部２１からの応答情報として、更新用データ３１Ｄの更新日時情報を取得する。
【００７３】
更新管理部４１は、取得した更新日時情報に基づき、自機においてソフトウェア更新を行う必要があるか否かを判定する（更新要否判定：ステップＳ１０４）。更新管理部４１は、更新要否判定を次のように行う。更新管理部４１は、更新日時情報に基づき、更新用データ３１Ｄが現在日時から所定期間内に更新されたか否かを判断する。更新管理部４１は、所定期間内に更新されたと判断した場合に、自機においてソフトウェア更新を行う必要があると判定する。つまり、機器管理装置１００で管理される更新用データ３１Ｄの鮮度を確認し、自機におけるソフトウェア更新の要否を判定している。
【００７４】
更新管理部４１は、ソフトウェア更新を行う必要があると判定した場合、機器管理装置１００が有する更新制御部２１に対して、更新用データ３１Ｄの取得を要求する（ステップＳ１０５）。一方、ソフトウェア更新を行う必要がないと判定した場合には、上記ステップＳ１０２の処理に戻り、次の実行タイミングになるまで待つ。
【００７５】
機器管理装置１００は、取得要求を受け付けると、更新制御部２１により、アプリケーション管理部２２に対して、更新用データ３１Ｄの取得を要求する（ステップＳ１０６）。
【００７６】
アプリケーション管理部２２は、取得要求を受け付けると、更新用データ保持部３１にアクセスし、更新用データ３１Ｄが存在するか否かを判定する（データ有無判定：ステップＳ１０７）。
【００７７】
アプリケーション管理部２２は、更新用データ３１Ｄが存在すると判定した場合、更新制御部２１に更新用データ３１Ｄを転送し、要求元に応答する。更新制御部２１は、転送された更新用データ３１Ｄを、管理対象機器２００が有する更新管理部４１に送信し、要求元に応答する。これにより、機器管理システム１では、ソフトウェア更新を行うために必要なデータをアーカイブした更新用データ３１Ｄが機器管理装置１００から管理対象機器２００へと渡される。一方、更新用データ３１Ｄが存在しないと判定した場合には、要求元の更新制御部２１に対して、取得エラーを応答する。この取得応答エラーは、更新制御部２１を介して、管理対象機器２００が有する更新管理部４１へと返される。これにより、管理対象機器２００は、次の実行タイミングになるまで待つ。なお、機器管理装置１００では、更新用データ３１Ｄが存在しないと判定した場合、取得エラーの旨を作業者に通知する。
【００７８】
管理対象機器２００は、更新管理部４１により、取得（機器管理装置から受信）した更新用データ３１Ｄをテンポラリに展開する（ステップＳ１０８）。つまり、更新管理部４１は、管理対象機器２００が備える記憶装置の所定の記憶領域にアーカイブデータを解凍する。
【００７９】
更新管理部４１は、データ展開後、自機の動作状態に基づき、ソフトウェア更新が実行可能か否かを判定する（更新可否判定：ステップＳ１０９）。更新管理部４１は、更新可否判定を次のように行う。更新管理部４１は、自機の動作状態に係る情報（状態情報）を、イベント通知やシステムログなどから取得する。このとき得られる状態情報は、搭載ハードウェアや搭載ソフトウェアなどの動作状態を示す情報である。更新管理部４１は、取得した状態情報から、アプリケーションＡＰがアップデート可能な状態か否かを判断する。アップデート可能な状態は、搭載機能が自機で正常に動作している状態である。一方、アップデート不可能な状態には、搭載ハードウェアの故障（例えば「記憶装置の故障」）などによるメンテナンス状態やサービスコール発生状態などがある。また、搭載ソフトウェアの強制終了又は強制停止などによる機能停止状態などがある。
【００８０】
更新管理部４１は、このような自機の動作状態の解析により、アップデートしてもよい状態であると判断した場合に、ソフトウェア更新が実行可能であると判定する。
【００８１】
一方、ソフトウェア更新が実行不可能であると判定された場合には、上記ステップＳ１０７で展開したデータを一時的に保持し、ソフトウェア更新が実行可能となるまで（原因が解消されるまで）待つ。これにより、機器管理装置１００から管理対象機器２００への更新用データ３１Ｄの送信回数が減り、ソフトウェア更新に係る通信負荷が軽減される。
【００８２】
更新管理部４１は、ソフトウェア更新が実行可能であると判定した場合、正常に動作している全てのアプリケーションＡＰに対して、更新用データ３１Ｄが存在する旨を通知する（ステップＳ１１０）。このとき、更新管理部４１は、アプリケーションＡＰに対して、展開されたアプリケーション定義データＤＤのソフトウェア情報（例えば「アプリ名情報」や「格納先情報」など）を通知情報として渡す。
【００８３】
アプリケーションＡＰは、受け取ったソフトウェア情報に基づき、自身が更新対象か否かを確認する（更新確認：ステップＳ１１１）。アプリケーションＡＰは、個々において、更新確認を次のように行う。アプリケーションＡＰは、ソフトウェア情報に含まれる識別情報に基づき、自身が更新対象のアプリケーションＡＰに該当するか否かを判定する。アプリケーションＡＰは、ソフトウェア情報に含まれるバージョン情報に示す更新バージョンと、自身の現在バージョンとを比較し、更新バージョンが現在バージョンより新しい場合に、自身が更新対象であると認識する。一方、更新バージョンが現在バージョンより古い場合には、以降の処理を行わない。
【００８４】
更新対象のアプリケーションＡＰは、更新管理部４１に対して、自身のソフトウェア更新に必要なモジュールデータＭＤの取得を要求する（ステップＳ１１２）。このとき、更新対象のアプリケーションＡＰは、更新管理部４１に、アプリケーションＡＰの識別情報を指定し、該当するモジュールデータＭＤの取得を要求する。
【００８５】
更新管理部４１は、取得要求を受け付けると、アプリケーションＡＰに対して、モジュールデータＭＤを転送し、要求元に応答する。これにより、管理対象機器２００では、アプリケーションＡＰに対してソフトウェア更新が要求される。
【００８６】
更新対象のアプリケーションＡＰは、取得したモジュールデータＭＤを用いて、アプリケーションＡＰごとの更新手続きやコンフィグレーションに従って、ソフトウェア更新を実行する（ステップＳ１１３）。
【００８７】
更新対象のアプリケーションＡＰは、ソフトウェア更新の実行結果を更新管理部４１に通知する（ステップＳ１１４）。
【００８８】
更新管理部４１は、実行結果を機器管理装置１００が有する更新制御部２１に通知する（ステップＳ１１５）。これにより、機器管理装置１００では、管理対象機器２００においてソフトウェア更新が正常に行われたか否かが確認できる。なお、更新管理部４１は、実行結果から、管理対象機器２００におけるソフトウェア更新の正常終了を確認すると、上記ステップＳ１０７で展開したデータを消去する。
【００８９】
《管理対象機器が受動的に更新用データを受信する処理》
図８は、本実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その２）を示すシーケンス図である。図７に示す処理手順と図８に示す処理手順との違いは、ステップＳ２０１からＳ２０６である。よって、図８に示すステップＳ２０７からＳ２１４については、図７に示したステップＳ１０８からＳ１１５を参照し、その説明を省略する。
【００９０】
図８に示すように、機器管理装置１００は、更新制御部２１により、ソフトウェア更新スケジュールの設定情報を参照し、更新スケジュールを確認する（ステップＳ２０１）。
【００９１】
更新制御部２１は、設定情報に基づくソフトウェア更新の実行タイミングに従って、アプリケーション管理部２２に対して、更新用データ３１Ｄの取得を要求する（ステップＳ２０２）。
【００９２】
アプリケーション管理部２２は、取得要求を受け付けると、更新用データ保持部３１にアクセスし、更新用データ３１Ｄが存在するか否かを判定する（更新用データ有無判定：ステップＳ２０３）。
【００９３】
アプリケーション管理部２２は、更新用データ３１Ｄが存在すると判定した場合、更新制御部２１に更新用データ３１Ｄを転送し、要求元に応答する。
【００９４】
更新制御部２１は、更新用データ３１Ｄを取得すると、管理対象機器２００が登録された機器一覧情報を参照し（ステップＳ２０４）、登録された管理対象機器２００に対して、更新管理部４１を有しているか否かの確認を要求する（ステップＳ２０５）。機器一覧情報は、機器管理装置１００が機器管理を行うために保持する情報である。機器一覧情報には、管理対象機器２００の識別情報（例えば「ＩＰアドレス」や「ＭＡＣアドレス」など）が含まれる。これにより、機器管理装置１００では、機器一覧情報の識別情報に基づき、管理対象機器２００から機器の状態情報などを取得し、監視・保守などが実施できる。
【００９５】
更新制御部２１は、機器一覧情報の識別情報を指定し、登録された管理対象機器２００に対して、機能している更新管理部４１の有無の確認を要求する。その結果、更新制御部２１は、管理対象機器２００からの応答情報として、確認結果（更新管理部の有無）を取得する。これにより、更新制御部２１は、確認結果から、管理対象機器２００が更新用データ３１Ｄを受信可能か否かを判断する。
【００９６】
更新制御部２１は、受信可能な管理対象機器２００に対して、更新用データ３１Ｄを送信（配布）する（ステップＳ２０６）。
【００９７】
その結果、管理対象機器２００では、ステップＳ２０７からＳ２１４の処理が実行され、アプリケーションＡＰのソフトウェア更新が実施される。
【００９８】
ここで、上述した管理対象機器２００が能動的に更新用データ３１Ｄを取得する処理手順と、管理対象機器２００が受動的に更新用データ３１Ｄを受信する処理手順とを比較してみる。その結果、管理対象機器２００が能動的にデータを取得する方法が、受動的にデータを受信する方法に比べて、ソフトウェア更新に係る処理時間を短縮できることが分かる。なぜなら、受動的にデータを受信する方法の場合、機器管理装置１００から、データ受信可能な全ての管理対象機器２００に対して更新用データ３１Ｄを配布するため、管理対象機器２００の台数が多いと、通信時間や処理時間が増大してしまう。一方、能動的にデータを取得する方法の場合には、ソフトウェア更新が必要と判断した管理対象機器２００に対してのみ更新用データ３１Ｄを配布するため、受動的にデータを受信する方法に比べて、通信時間や処理時間が短縮される。
【００９９】
＜まとめ＞
以上のように、本実施形態に係る機器管理システム１によれば、まず、機器管理装置１００が、アプリケーション定義データＤＤ及び１又は複数のモジュールデータＭＤ（更新用プログラム）を含む更新用データ３１Ｄ（アーカイブデータ）を、更新用データ保持部３１に保持している。機器管理システム１では、機器管理におけるソフトウェア更新を次のように行う。機器管理装置１００は、アプリケーション管理部２２が、更新用データ３１Ｄの有無判定を行い、更新制御部２１が、判定結果に基づき、更新用データ３１Ｄを管理対象機器２００に送信する。管理対象機器２００は、更新管理部４１が、受信した更新用データ３１Ｄをテンポラリに展開し、アプリケーションＡＰの更新可否判定を行い、判定結果に基づき、展開されたモジュールデータＭＤをアプリケーションＡＰへ渡し、ソフトウェア更新を要求する。
【０１００】
つまり、機器管理システム１は、ソフトウェア更新を行うために必要なデータをアーカイブした更新用データ３１Ｄを機器管理装置１００から管理対象機器２００へと渡し、アプリケーションＡＰに対してソフトウェア更新を要求する。
【０１０１】
これによって、機器管理システム１では、機器上で動作するアプリケーションのソフトウェア更新において、更新手続きやコンフィグレーションの違いを意識することなく一括更新できる。また、アプリケーションソフトウェアの開発・提供者は、ソフトウェア更新における機器管理装置１００と管理対象機器２００とのやり取りを意識した更新用モジュール開発を行う必要がないため、効率よく開発作業を行うことができ、迅速にモジュールを提供できる。
【０１０２】
［第２の実施形態］
近年、アプリケーションソフトウェアの提供方法には、記録媒体を介して配布する方法他に、インターネットなどの外部ネットワークを介して配布する方法がある。
【０１０３】
本実施形態では、外部ネットワークを介してアプリケーションソフトウェアが配布される場合の機器管理システムにおけるソフトウェア更新機能について説明する。なお、以降の説明では、第１の実施形態と異なる事項のみ説明する。同様の事項については、第１の実施形態で示した参照符号を付し、その説明を省略する。
【０１０４】
＜システム構成＞
図９は、本実施形態に係る機器管理システム１の構成例を示す図である。
図９に示すように、機器管理システム１は、機器管理装置１００とソフトウェア提供装置（アプリケーションサーバ）４００とが、インターネットＩを介して接続されている。この場合、機器管理装置１００は、ファイアウォール（Firewall）を経由してインターネットＩに接続されている。なお、ファイアウォールは、ソフトウェアにより提供可能な機能であることから、機器管理装置１００上で動作させてもよいし、専用機器上で動作させてもよい。
【０１０５】
ソフトウェア提供装置４００は、例えば、管理対象機器２００上で動作するアプリケーションソフトウェアをＤＢにより管理し、要求に応じて提供する情報処理装置である。よって、アプリケーションソフトウェアの開発・提供者は、開発したモジュールをソフトウェア提供装置４００のＤＢに登録することで、ユーザに提供（配布）することができる。
【０１０６】
なお、ソフトウェア提供装置４００のハードウェア構成については、第１の実施形態で示した図２（機器管理装置のハードウェア構成）と略同一であることから、その説明を省略する。
【０１０７】
＜ソフトウェア更新機能＞
図１０は、本実施形態に係る機器管理システム１が有する機能構成例を示す図である。
図１０に示すように、第１の実施形態で示した機能構成との違いは、ソフトウェア提供装置４００が有する機能部、及び機器管理装置１００が有するアプリケーション管理部２２である。
【０１０８】
《ソフトウェア提供装置が有する機能部》
ソフトウェア提供装置４００は、ソフトウェア管理部５１及びソフトウェア保持部６１などを有している。
【０１０９】
ソフトウェア管理部５１は、アプリケーションソフトウェアを管理する機能部である。アプリケーションソフトウェアは、ソフトウェア保持部６１に格納され保持される。ソフトウェア保持部６１は、例えば、ソフトウェア提供装置４００が備える記憶装置（ＨＤＤ）に構築されたＤＢ（所定の記憶領域群）にあたる。ソフトウェア保持部６１では、構築されたＤＢにより、アプリケーションＡＰごとに該当データが保持される。具体的には、アプリケーションＡＰごとのソフトウェア情報（例えば「識別情報」、「アプリ名情報」、及び「バージョン情報」など）や１又は複数のモジュールデータＭＤ（更新用プログラム）が保持される。なお、ソフトウェア情報及びモジュールデータＭＤは、ソフトウェア開発・提供者により、ソフトウェア保持部６１に格納される。その際、ソフトウェア開発・提供者は、所定のツールを用いてソフトウェア保持部６１に格納する。
【０１１０】
ソフトウェア管理部５１は、ソフトウェア保持部６１にアクセスし、所定のデータ操作により、データの登録・削除・更新・検索・取得などを行い、アプリケーションソフトウェアを管理する。具体的には、次のように機能する。ソフトウェア管理部５１は、機器管理装置１００からのソフトウェア取得要求を受け付ける。ソフトウェア管理部５１は、取得要求に基づくデータ操作によりソフトウェア保持部６１にアクセスし、該当データ（取得要求されたアプリケーションＡＰのソフトウェア情報及びモジュールデータＭＤ）を取得する。ソフトウェア管理部５１は、取得した該当データを機器管理装置１００に送信し、要求元に応答する。これにより、機器管理装置１００は、アプリケーションＡＰにおける最新のソフトウェア情報及びモジュールデータＭＤを取得することができる。
【０１１１】
なお、ソフトウェア管理部５１が、ソフトウェア保持部６１のデータ操作機能をソフトウェア開発・提供者に対して提供してもよい。例えば、ソフトウェア開発・提供者は、ソフトウェア管理部５１が提供するＧＵＩを介して、ソフトウェア情報の作成・編集、及びアプリケーションＡＰに対応するモジュールデータＭＤの追加・削除などを行う。その結果、ソフトウェア管理部５１は、ソフトウェア開発・提供者から受け付けた格納指示に従って、各データをソフトウェア保持部６１に格納する。
【０１１２】
《機器管理装置が有するアプリケーション管理部》
アプリケーション管理部２２は、更新用データ生成部２２ａを有している。更新用データ生成部２２ａは、更新用データ３１Ｄを生成する機能部である。
【０１１３】
第１の実施形態では、更新用データ３１Ｄが、ソフトウェア更新を行う作業者により予め生成され、更新用データ保持部３１に格納される場合について説明を行った。本実施形態では、アプリケーション管理部２２が、更新用データ３１Ｄを自動生成する機能を有している。つまり、更新用データ生成部２２ａは、ソフトウェア更新を行うために必要なデータをアーカイブし、更新用データ３１Ｄを生成する。
【０１１４】
更新用データ生成部２２ａは、具体的に次のように機能する。更新用データ生成部２２ａは、ソフトウェア提供装置４００から取得したアプリケーションＡＰのソフトウェア情報に基づき、アプリケーション定義データＤＤを更新（又は生成）する。更新用データ生成部２２ａは、ソフトウェア提供装置４００から取得したモジュールデータＭＤと、更新（又は生成）したアプリケーション定義データＤＤとをアーカイブし、更新用データ３１Ｄを生成する。生成された更新用データ３１Ｄは、アプリケーション管理部２２により、更新用データ保持部３１に格納される。このとき、更新用データ保持部３１に既存の更新用データ３１Ｄが保持されていた場合には、上書きされることによりデータが更新される。
【０１１５】
このように、機器管理装置１００では、ソフトウェア提供装置４００からアプリケーションソフトウェアのデータを取得すると、自動的に更新用データ３１Ｄが生成され、更新用データ保持部３１で保持するデータが更新される。
【０１１６】
次に、本実施形態に係るソフトウェア更新機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。
【０１１７】
ソフトウェア更新機能は、機器管理装置１００、管理対象機器２００、及びソフトウェア提供装置４００に搭載（インストール）される各プログラム（ソフトウェア更新機能を実現するソフトウェア部品）が、制御部（例えば「ＣＰＵ」）により、格納先（例えば「ＨＤＤ」や「ＲＯＭ」）から読み出され、以下の処理が実行されることで実現される。
【０１１８】
また、ソフトウェア更新に係る処理には、主に、次のような処理手順が挙げられる。１つは、ソフトウェア提供装置４００がソフトウェア更新実行のトリガとなる処理である。もう１つは、機器管理装置１００がソフトウェア更新実行のトリガとなる処理である。このように、本実施形態に係る機器管理システム１では、ソフトウェア提供装置４００又は機器管理装置１００のどちらがソフトウェア更新実行のトリガとなるかによって大別される。以下の説明では、これら２つの処理手順を順に説明する。
【０１１９】
《ソフトウェア提供装置がソフトウェア更新実行のトリガとなる処理》
図１１は、本実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その１）を示すシーケンス図である。図８に示す処理手順と図１１に示す処理手順との違いは、ステップＳ３０１からＳ３０５である。よって、図１１に示すステップＳ３０６からＳ３１６については、図８に示したステップＳ２０４からＳ２１４を参照し、その説明を省略する。
【０１２０】
図１１に示すように、ソフトウェア提供装置４００は、ソフトウェア管理部５１により、ソフトウェア更新スケジュールの設定情報を参照し、更新スケジュールを確認する（ステップＳ３０１）。
【０１２１】
ソフトウェア管理部５１は、設定情報に基づくソフトウェア更新の実行タイミングに従って、機器管理装置１００が有するアプリケーション管理部２２に対して、更新実行の旨を通知する（ステップＳ３０２）。
【０１２２】
機器管理装置１００は、更新実行の通知を受け付けると、アプリケーション管理部２２により、ソフトウェア提供装置４００が有するソフトウェア管理部５１に対して、アプリケーションソフトウェアの取得を要求する（ステップＳ３０３）。アプリケーション管理部２２は、管理対象機器２００上で動作するアプリケーションソフトウェアの識別情報を指定し、該当データの取得を要求する。ソフトウェア管理部５１は、識別情報に基づき、ソフトウェア保持部６１を参照し、該当データ（ソフトウェア情報及び１又は複数のモジュールデータＭＤ）を取得する。その後、ソフトウェア管理部５１は、取得した該当データを機器管理装置１００に送信し、要求元に応答する。その結果、アプリケーション管理部２２は、ソフトウェア管理部５１からの応答情報として、指定したアプリケーションＡＰのソフトウェア情報及び１又は複数のモジュールデータＭＤを取得する。
【０１２３】
機器管理装置１００は、アプリケーション管理部２２が有する更新用データ生成部２２ａにより、取得したソフトウェア情報及び１又は複数のモジュールデータＭＤから、更新用データ３１Ｄを生成する（ステップＳ３０４）。
【０１２４】
更新用データ生成部２２ａは、取得したソフトウェア情報に基づき、アプリケーション定義データＤＤ内に、識別情報、アプリ名情報、及びバージョン情報を定義し、データを更新する。更新用データ生成部２２ａは、既に管理している他のアプリケーションＡＰに対応するモジュールデータＭＤの格納構造に基づき、取得したモジュールデータＭＤの格納構造を決定する。ここで言う「格納構造」とは、機器管理装置１００がファイルシステムでデータを管理している場合のディレクトリ構造にあたる。更新用データ生成部２２ａは、決定した格納構造に基づき、アプリケーション定義データＤＤ内に、格納先情報を定義し、取得したモジュールデータＭＤを決定した格納先に保存する。更新用データ生成部２２ａは、更新されたアプリケーション定義データＤＤ及び格納された１又は複数のモジュールデータＭＤをアーカイブし、更新用データ３１Ｄを生成する。
【０１２５】
生成された更新用データ３１Ｄは、アプリケーション管理部２２により、更新用データ保持部３１に格納される。このとき、更新用データ保持部３１に既存の更新用データ３１Ｄが保持されていた場合には、上書きされることによりデータが更新される。
【０１２６】
アプリケーション管理部２２は、生成した更新用データ３１Ｄを更新制御部２１に転送する（ステップＳ３０５）。
【０１２７】
その結果、機器管理装置１００では、ステップＳ３０６からＳ３０８の処理が実行され、また、管理対象機器２００では、ステップＳ３０９からＳ３１６の処理が実行され、アプリケーションＡＰのソフトウェア更新が実施される。
【０１２８】
《機器管理装置がソフトウェア更新実行のトリガとなる処理》
図１２は、本実施形態に係る機器管理におけるソフトウェア更新を行う処理手順例（その２）を示すシーケンス図である。図８に示す処理手順と図１２に示す処理手順との違いは、図１１と同様に、ステップＳ４０１からＳ４０５である。よって、図１２に示すステップＳ４０６からＳ４１６については、図８に示したステップＳ２０４からＳ２１４を参照し、その説明を省略する。
【０１２９】
図１２に示すように、機器管理装置１００は、更新制御部２１により、ソフトウェア更新スケジュールの設定情報を参照し、更新スケジュールを確認する（ステップＳ４０１）。
【０１３０】
更新制御部２１は、設定情報に基づくソフトウェア更新の実行タイミングに従って、機器管理装置１００が有するアプリケーション管理部２２に対して、更新実行の旨を通知する（ステップＳ４０２）。
【０１３１】
アプリケーション管理部２２は、更新実行の通知を受け付けると、ソフトウェア提供装置４００が有するソフトウェア管理部５１に対して、アプリケーションソフトウェアの取得を要求する（ステップＳ４０３）。
【０１３２】
ソフトウェア提供装置４００は、ソフトウェア管理部５１により、機器管理装置１００が有するアプリケーション管理部２２に、指定されたアプリケーションＡＰのソフトウェア情報及び１又は複数のモジュールデータＭＤを送信し、要求元に応答する。
【０１３３】
機器管理装置１００は、アプリケーション管理部２２が有する更新用データ生成部２２ａにより、取得したソフトウェア情報及び１又は複数のモジュールデータＭＤから、更新用データ３１Ｄを生成する（ステップＳ４０４）。
【０１３４】
アプリケーション管理部２２は、生成した更新用データ３１Ｄを更新制御部２１に転送する（ステップＳ４０５）。
【０１３５】
その結果、機器管理装置１００では、ステップＳ４０６からＳ４０８の処理が実行され、また、管理対象機器２００では、ステップＳ４０９からＳ４１６の処理が実行され、アプリケーションＡＰのソフトウェア更新が実施される。
【０１３６】
＜まとめ＞
以上のように、本実施形態に係る機器管理システム１によれば、機器管理におけるソフトウェア更新を次のように行う。機器管理装置１００は、アプリケーション管理部２２が、ソフトウェア提供装置４００からアプリケーションソフトウェアを取得する。機器管理装置１００は、アプリケーション管理部２２が、取得したアプリケーションソフトウェアから、更新用データ３１Ｄ（アプリケーション定義データＤＤ及び１又は複数のモジュールデータＭＤ（更新用プログラム）のアーカイブデータ）を生成し、更新用データ保持部３１に格納する。機器管理装置１００は、アプリケーション管理部２２が、更新用データ３１Ｄの有無判定を行い、更新制御部２１が、判定結果に基づき、更新用データ３１Ｄを管理対象機器２００に送信する。管理対象機器２００は、更新管理部４１が、受信した更新用データ３１Ｄをテンポラリに展開し、アプリケーションＡＰの更新可否判定を行い、判定結果に基づき、展開されたモジュールデータＭＤをアプリケーションＡＰへ渡し、ソフトウェア更新を要求する。
【０１３７】
つまり、機器管理システム１は、ソフトウェア更新を行うために必要なデータを、ソフトウェア提供装置４００から機器管理装置１００へと渡し、機器管理装置１００が、これらのデータをアーカイブして更新用データ３１Ｄを生成する。続いて、機器管理システム１は、生成した更新用データ３１Ｄを機器管理装置１００から管理対象機器２００へと渡し、アプリケーションＡＰに対してソフトウェア更新を要求する。
【０１３８】
これによって、機器管理システム１では、外部ネットワークを介してアプリケーションソフトウェアが配布される環境下であっても、機器上で動作するアプリケーションソフトウェアを、更新手続きやコンフィグレーションの違いを意識することなく一括更新できる。
【０１３９】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る機器管理システム１が有する「ソフトウェア更新機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、各装置（機器管理装置１００，管理対象機器２００，ソフトウェア提供装置４００）の制御部（例えば「ＣＰＵ」）により実行されることで実現される。
【０１４０】
上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａ，２１４ａに格納することができる。記録媒体１０３ａには、例えば、フロッピー（登録商標）ディスク、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）などがある。また、記録媒体２１４ａには、例えば、ＳＤメモリカード及びＵＳＢメモリなどがある。
【０１４１】
よって、上記プログラムは、記録媒体１０３ａ，２１４ａに記憶させることで、記録媒体１０３ａを読み取り可能なドライブ装置１０３や記録媒体２１４ａを読み取り可能な外部記憶Ｉ／Ｆ２１４などを介して、各装置（機器管理装置１００，管理対象機器２００，ソフトウェア提供装置４００）にインストールすることができる。また、機器管理装置１００，ソフトウェア提供装置４００は、インタフェース装置１０７を備えていることから、インターネットＩなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。管理対象機器２００は、ネットワークＩ／Ｆ２１３を備えていることから、機器管理装置１００，ソフトウェア提供装置４００と同様に、上記プログラムをダウンロードし、インストールすることもできる。
【０１４２】
上記実施形態では、ソフトウェア更新を所定のスケジュールに従って自動実行する動作について説明を行ったが、この限りでない。例えば、ソフトウェア更新を行う作業者が、機器管理装置１００から任意のタイミングで実行してもよい。この場合、機器管理装置１００では、作業者から、更新対象の管理対象機器２００やアプリケーションＡＰの指定を受け付け、指定された管理対象機器２００やアプリケーションＡＰに対して、ソフトウェア更新を実施する。
【０１４３】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１４４】
１      機器管理システム
２１    更新制御部
２２    アプリケーション管理部（ａ：更新用データ生成部）
３１    更新用データ保持部（Ｄ：更新用データ）
４１    更新管理部
５１    ソフトウェア管理部
６１    ソフトウェア保持部
１００  機器管理装置（機器管理サーバ）
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（中央処理装置）
１０７  インタフェース装置（ＮＩＣ：Network I/F Card）
１０８  ＨＤＤ（不揮発性の記憶装置）
２００  管理対象機器（画像処理装置）
２１０  コントローラ
２１１  ＣＰＵ（中央処理装置）
２１２  記憶装置
２１３  ネットワークＩ／Ｆ
２１４  外部記憶Ｉ／Ｆ（ａ：記録媒体）
２２０  操作パネル
２３０  プロッタ（画像形成部）
２４０  スキャナ（読み取り部）
３００  クライアントＰＣ（情報処理装置）
４００  ソフトウェア提供装置（アプリケーションサーバ）
ＡＰ    アプリケーション
Ｉ      インターネット（外部ネットワーク）
Ｎ      ネットワーク（データ伝送路）
【先行技術文献】
【特許文献】
【０１４５】
【特許文献１】特開２００８−１８６３９２号公報
【図１】
2011113391.tif 000003
【図２】
2011113391.tif 000004
【図３】
2011113391.tif 000005
【図４】
2011113391.tif 000006
【図５】
2011113391.tif 000007
【図６】
2011113391.tif 000008
【図７】
2011113391.tif 000009
【図８】
2011113391.tif 000010
【図９】
2011113391.tif 000011
【図１０】
2011113391.tif 000012
【図１１】
2011113391.tif 000013
【図１２】
2011113391.tif 000014