(57)【要約】【課題】依存関係にある複数のソフトウェアのバージョン間の整合性を保ちながらアップデートすることができる管理装置、管理システム、管理方法、及び管理プログラムを提供する。【解決手段】インストール情報取得部１３２は、複合機にインストールされている２以上のプラグインの識別情報及びバージョン情報であるインストール情報を取得する。アップデート情報取得部１３４は、プラグインを配信する配信サーバにインストール情報を送信して、アップデート対象の複数のプラグインのアップデートデータを取得するとともに、複数のプラグインが互いに依存関係にある場合にアップデートの順序を示す順序情報を取得する。アップデート指示部１３８は、順序情報が示す順序に従って、複数のプラグインそれぞれのアップデートデータを用いたアップデートを複合機に行わせる。【選択図】図２
2011060232.tif 000002
【特許請求の範囲】
【請求項１】
画像を形成する画像形成装置にインストールされている２以上のソフトウェアの識別情報及びバージョン情報であるインストール情報を取得するインストール情報取得手段と、
ソフトウェアを配信する配信サーバに前記インストール情報を送信して、アップデート対象の複数のソフトウェアのアップデートデータを取得するとともに、前記複数のソフトウェアが互いに依存関係にある場合にアップデートの順序を示す順序情報を取得するアップデート情報取得手段と、
前記順序情報が示す順序に従って、前記複数のソフトウェアそれぞれの前記アップデートデータを用いたアップデートを前記画像形成装置に行わせるアップデート指示手段と、
を備えることを特徴とする管理装置。
【請求項２】
前記アップデート指示手段は、前記順序情報が前記複数のソフトウェアの同時アップデートを示す場合、依存元ソフトウェアの無効化、前記依存元ソフトウェアが依存する依存先ソフトウェアのアップデート及び無効化された前記依存元ソフトウェアのアップデート、並びにアップデートされた前記依存元ソフトウェアの有効化を前記画像形成装置に行わせることを特徴とする請求項１に記載の管理装置。
【請求項３】
前記アップデート指示手段は、前記画像形成装置が前記複数のソフトウェアを一括してアップデートできる場合、前記複数のソフトウェアの一括アップデートを前記画像形成装置に行わせることを特徴とする請求項１又は２に記載の管理装置。
【請求項４】
前記アップデート情報取得手段は、前記配信サーバに前記インストール情報を送信して、アップデート可能な前記複数のソフトウェアの識別情報及びバージョン情報であるアップデート確認情報を取得するとともに、前記配信サーバにアップデート要求を行って、前記複数のソフトウェアの前記アップデートデータと前記順序情報とを取得することを特徴とする請求項１〜３のいずれか１つに記載の管理装置。
【請求項５】
請求項４に記載の管理装置と、前記管理装置とネットワークを介して接続される前記配信サーバと、を備える管理システムであって、
前記配信サーバは、
前記画像形成装置がインストール可能な２以上のソフトウェアの識別情報及びバージョン情報を対応付けたインストールテーブルを記憶するインストールテーブル記憶手段と、
前記管理装置から送信された前記インストール情報と前記インストールテーブルとを照合してアップデート可能な前記複数のソフトウェアを特定し、当該複数のソフトウェアの識別情報である前記アップデート確認情報を前記管理装置に送信する特定手段とを備えることを特徴とする管理システム。
【請求項６】
前記配信サーバは、
前記画像形成装置がインストール可能な２以上のソフトウェアのバージョン間の依存関係を示す依存テーブルを記憶する依存テーブル記憶手段と、
前記管理装置から前記アップデート要求が行われると、前記インストール情報及び前記アップデート確認情報と前記依存テーブルとを照合して前記順序情報を作成し、前記複数のソフトウェアの前記アップデートデータと前記順序情報を前記管理装置に送信する作成手段とを更に備えることを特徴とする請求項５に記載の管理システム。
【請求項７】
前記作成手段は、前記複数のソフトウェアがとりうるペア毎にソフトウェアのアップデート順序を決定し、全てのペアのアップデート順序をマージして前記順序情報を作成することを特徴とする請求項６に記載の管理システム。
【請求項８】
前記管理システムは、更に、前記管理装置とネットワークを介して接続される管理サーバを備え、
前記管理装置は、
前記管理サーバに前記アップデート確認情報を送信して、前記複数のソフトウェアのアップデートの可否を示す可否情報を取得する可否情報取得手段を更に備え、
前記アップデート情報取得手段は、前記可否情報がアップデート可を示す場合、前記配信サーバに前記アップデート要求を行って、前記複数のソフトウェアの前記アップデートデータ及び前記順序情報を取得し、
前記管理サーバは、
前記管理装置から前記アップデート確認情報を受信して前記複数のソフトウェアのアップデートの承認をユーザ端末に要求するとともに、前記ユーザ端末から承認結果を受信して前記管理装置に前記可否情報を送信する確認手段を備えることを特徴とする請求項５〜７のいずれか１つに記載の管理システム。
【請求項９】
インストール情報取得手段が、画像を形成する画像形成装置にインストールされている２以上のソフトウェアの識別情報及びバージョン情報であるインストール情報を取得するインストール情報取得ステップと、
アップデート情報取得手段が、ソフトウェアを配信する配信サーバに前記インストール情報を送信して、アップデート対象の複数のソフトウェアのアップデートデータを取得するとともに、前記複数のソフトウェアが互いに依存関係にある場合にアップデートの順序を示す順序情報を取得するアップデート情報取得ステップと、
アップデート指示手段が、前記順序情報が示す順序に従って、前記複数のソフトウェアそれぞれの前記アップデートデータを用いたアップデートを前記画像形成装置に行わせるアップデート指示ステップと、
を含むことを特徴とする管理方法。
【請求項１０】
請求項９に記載の管理方法をコンピュータに実行させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、管理システム、管理方法、及び管理プログラムに関する。
【背景技術】
【０００２】
従来から、機能を提供するプラグインやハードウェアの基本的な制御を行うファームウェアなどのソフトウェアを組み込んだ画像形成装置が知られている。このような画像形成装置では、ソフトウェアのアップデートを行うことで、新たな機能を追加したり、不具合を修正したりする。
【０００３】
ところで、このような画像形成装置では、画像形成装置に組み込まれた一のソフトウェアのバージョンと他のソフトウェアのバージョンとの間に依存関係が存在する場合がある。このような場合、ソフトウェアのアップデート後においても、両ソフトウェアのバージョン間の整合性を保ち、依存関係を満足する必要がある。
【０００４】
このような技術として、例えば特許文献１には、マスタファイルに記述されたファームウェアのバージョンの依存関係に基づいて、ファームウェアをアップデートする技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、ファームウェアをアップデートする順序までは考慮されていない。このため、特許文献１に開示された技術では、ファームウェアをアップデートする途中でファームウェアのバージョン間に不整合が生じ、正しくアップデートできなくなるおそれがある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、依存関係にある複数のソフトウェアのバージョン間の整合性を保ちながらアップデートすることができる管理装置、管理システム、管理方法、及び管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる管理装置は、画像を形成する画像形成装置にインストールされている２以上のソフトウェアの識別情報及びバージョン情報であるインストール情報を取得するインストール情報取得手段と、ソフトウェアを配信する配信サーバに前記インストール情報を送信して、アップデート対象の複数のソフトウェアのアップデートデータを取得するとともに、前記複数のソフトウェアが互いに依存関係にある場合にアップデートの順序を示す順序情報を取得するアップデート情報取得手段と、前記順序情報が示す順序に従って、前記複数のソフトウェアそれぞれの前記アップデートデータを用いたアップデートを前記画像形成装置に行わせるアップデート指示手段と、を備えることを特徴とする。
【０００８】
また、本発明の別の態様にかかる管理システムは、上記管理装置と、前記管理装置とネットワークを介して接続される前記配信サーバと、を備える管理システムであって、前記配信サーバは、前記画像形成装置がインストール可能な２以上のソフトウェアの識別情報及びバージョン情報を対応付けたインストールテーブルを記憶するインストールテーブル記憶手段と、前記管理装置から送信された前記インストール情報と前記インストールテーブルとを照合してアップデート可能な前記複数のソフトウェアを特定し、当該複数のソフトウェアの識別情報である前記アップデート確認情報を前記管理装置に送信する特定手段と、を備えることを特徴とする。
【０００９】
また、本発明の別の態様にかかる管理方法は、インストール情報取得手段が、画像を形成する画像形成装置にインストールされている２以上のソフトウェアの識別情報及びバージョン情報であるインストール情報を取得するインストール情報取得ステップと、アップデート情報取得手段が、ソフトウェアを配信する配信サーバに前記インストール情報を送信して、アップデート対象の複数のソフトウェアのアップデートデータを取得するとともに、前記複数のソフトウェアが互いに依存関係にある場合にアップデートの順序を示す順序情報を取得するアップデート情報取得ステップと、アップデート指示手段が、前記順序情報が示す順序に従って、前記複数のソフトウェアそれぞれの前記アップデートデータを用いたアップデートを前記画像形成装置に行わせるアップデート指示ステップと、を含むことを特徴とする。
【００１０】
また、本発明の別の態様にかかる管理プログラムは、上記管理方法をコンピュータに実行させるためのものである。
【発明の効果】
【００１１】
本発明によれば、依存関係にある複数のソフトウェアのバージョン間の整合性を保ちながらアップデートすることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施形態の管理システムの構成例を示すブロック図である。
【図２】図２は、本実施形態の管理装置の構成例を示すブロック図である。
【図３】図３は、インストール情報の一例を示す図である。
【図４】図４は、アップデート確認情報の一例を示す図である。
【図５】図５は、本実施形態の配信サーバの構成例を示すブロック図である。
【図６】図６は、インストールテーブルの一例を示す図である。
【図７】図７は、依存テーブルの一例を示す図である。
【図８】図８は、図７の依存テーブルが示すプラグインの依存関係の模式図である。
【図９】図９は、依存テーブルの他の例を示す図である。
【図１０】図１０は、図９の依存テーブルが示すプラグインの依存関係の模式図である。
【図１１】図１１は、依存テーブルの他の例を示す図である。
【図１２】図１２は、図１１の依存テーブルが示すプラグインの依存関係の模式図である。
【図１３】図１３は、本実施形態の管理サーバの構成例を示すブロック図である。
【図１４】図１４は、本実施形態の管理システムで行われる処理例を示すフローチャートである。
【図１５】図１５は、本実施形態の順序情報作成処理例を示すフローチャートである。
【図１６】図１６は、本実施形態のアップデート処理例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら、本発明にかかる管理装置、管理システム、管理方法、及び管理プログラムの実施の形態を詳細に説明する。
【００１４】
まず、本実施形態の管理システムの構成について説明する。
【００１５】
図１は、本実施形態の管理システム１の構成の一例を示すブロック図である。図１に示すように、管理システム１は、管理装置１０と、複数の複合機（ＭＦＰ：Multifunction Printer）２０と、配信サーバ３０と、管理サーバ４０と、ユーザ端末５０とを備える。そして、管理装置１０、配信サーバ３０、及び管理サーバ４０は、インターネット２を介して接続され、管理装置１０、複数の複合機２０、及びユーザ端末５０は、ＬＡＮ(Local Area Network)３を介して接続されている。なお、複合機２０は単数であってもよい。
【００１６】
管理装置１０は、複合機２０の管理などを行う。例えば管理装置１０は、複合機２０にインストールされているプラグインのアップデートデータを配信サーバ３０から取得して、複合機２０にプラグインのアップデートを行わせる。また、管理装置１０は、複合機２０にインストールされているプラグインのアップデートの有無を管理サーバ４０に問い合わせる。
【００１７】
配信サーバ３０は、管理装置１０からの要求に応じて、複合機２０にインストールされているプラグインのアップデートデータを提供したり、プラグインのアップデート順序を指示したりする。
【００１８】
管理サーバ４０は、管理システム１の管理センターなどに設置され、複合機２０にインストールされているプラグインのアップデートの可否を、複合機２０の管理者が使用するユーザ端末５０に問い合わせる。
【００１９】
図２は、本実施形態の管理装置１０の構成の一例を示すブロック図である。図２に示すように、管理装置１０は、通信部１１０と、記憶部１２０と、制御部１３０とを備える。
【００２０】
通信部１１０は、配信サーバ３０や管理サーバ４０などとの間でインターネット２を介して通信を行ったり、複合機２０やユーザ端末５０などとの間でＬＡＮ３を介して通信を行ったりするものであり、通信インターフェースなどの既存の通信装置により実現できる。
【００２１】
記憶部１２０は、管理装置１０で実行される各種プログラムや管理装置１０で行われる各種処理に使用される情報などを記憶するものである。記憶部１２０は、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、メモリカード、光ディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの磁気的、光学的、又は電気的に記憶可能な既存の記憶装置により実現できる。
【００２２】
制御部１３０は、管理装置１０の各部を制御するものであり、ＣＰＵ（Central Processing Unit）などの既存の制御装置により実現できる。そして、制御部１３０は、インストール情報取得部１３２と、アップデート情報取得部１３４と、可否情報取得部１３６と、アップデート指示部１３８とを含む。
【００２３】
インストール情報取得部１３２は、複合機２０にインストールされている２以上のプラグイン（ソフトウェアの一例）の識別情報及びバージョン情報であるインストール情報を取得する。
【００２４】
図３は、インストール情報の一例を示す図である。図３に示す例では、インストール情報は、バージョン１．０のプラグインＡとバージョン１．０のプラグインＢとが複合機２０にインストールされていることを示している。
【００２５】
図２に戻り、アップデート情報取得部１３４は、インストール情報取得部１３２により取得されたインストール情報を配信サーバ３０に送信して、アップデート対象の複数のプラグインのアップデートデータを取得するとともに、複数のプラグインが互いに依存関係にある場合にアップデートの順序を示す順序情報を取得する。
【００２６】
具体的には、アップデート情報取得部１３４は、配信サーバ３０にインストール情報を送信して、アップデート可能な複数のプラグインの識別情報及びバージョン情報であるアップデート確認情報を取得する。そして、アップデート情報取得部１３４は、後述の可否情報取得部１３６により取得される可否情報がアップデート可を示す場合、配信サーバ３０にアップデート要求を行って、複数のプラグインのアップデートデータと順序情報とを取得する。
【００２７】
図４は、アップデート確認情報の一例を示す図である。図４に示す例では、アップデート確認情報は、プラグインＡ及びプラグインＢをバージョン２．０にアップデートできることを示している。
【００２８】
図２に戻り、可否情報取得部１３６は、アップデート情報取得部１３４により取得されたアップデート確認情報を管理サーバ４０に送信して、複数のプラグインのアップデートの可否を示す可否情報を取得する。
【００２９】
アップデート指示部１３８は、アップデート情報取得部１３４により取得された順序情報が示す順序に従って、複数のプラグインそれぞれのアップデートデータを用いたアップデートを複合機２０に行わせる。
【００３０】
また、アップデート指示部１３８は、順序情報が複数のプラグインの同時アップデートを示す場合、依存元プラグインの無効化、依存元プラグインが依存する依存先プラグインのアップデート及び無効化された依存元プラグインのアップデート、並びにアップデートされた依存元プラグインの有効化を複合機２０に行わせる。また、アップデート指示部１３８は、複合機２０が複数のプラグインを一括してアップデートできる場合、複数のプラグインの一括アップデートを複合機２０に行わせる。
【００３１】
図５は、本実施形態の配信サーバ３０の構成の一例を示すブロック図である。図５に示すように、配信サーバ３０は、通信部３１０と、入力部３２０と、表示部３３０と、記憶部３４０と、制御部３５０とを備える。
【００３２】
通信部３１０は、管理装置１０や管理サーバ４０などとの間でインターネット２を介して通信を行うものであり、管理装置１０同様、既存の通信装置により実現できる。
【００３３】
入力部３２０は、各種操作の入力を行うものであり、キーボード、マウス、タッチパッド又はタッチパネルなどの既存の入力装置により実現できる。
【００３４】
表示部３３０は、各種画面を表示するものであり、液晶ディスプレイやタッチパネル式ディスプレイなどの既存の表示装置により実現できる。
【００３５】
記憶部３４０は、配信サーバ３０で実行される各種プログラムや配信サーバ３０で行われる各種処理に使用される情報などを記憶するものであり、管理装置１０同様、既存の記憶装置により実現できる。そして記憶部３４０は、インストールテーブル記憶部３４２と、依存テーブル記憶部３４４と、インストールデータ記憶部３４６とを含む。なお、依存テーブル記憶部３４４の詳細については後述する。
【００３６】
インストールテーブル記憶部３４２は、複合機２０がインストール可能な２以上のプラグインの識別情報及びバージョン情報を対応付けたインストールテーブルを記憶する。
【００３７】
図６は、インストールテーブルの一例を示す図である。図６に示すインストールテーブルの例では、複合機２０は、プラグインＡについては、バージョン１．０及びバージョン２．０をインストールでき、プラグインＢについても、バージョン１．０及びバージョン２．０をインストールできることを示している。
【００３８】
図５に戻り、インストールデータ記憶部３４６は、プラグインのインストールデータ（アップデートデータ）を記憶する。例えば、インストールデータ記憶部３４６は、プラグインＡのバージョン１．０及びバージョン２．０、並びにプラグインＢのバージョン１．０及びバージョン２．０のインストールデータを記憶する。
【００３９】
制御部３５０は、配信サーバ３０の各部を制御するものであり、管理装置１０同様、既存の制御装置により実現できる。そして、制御部３５０は、特定部３５２と、作成部３５４とを含む。
【００４０】
特定部３５２は、管理装置１０から送信されたインストール情報と、インストールテーブル記憶部３４２に記憶されたインストールテーブルとを照合してアップデート可能な複数のプラグインを特定する。例えば、特定部３５２は、インストール情報のプラグインのバージョンよりも、インストールテーブルのプラグインのバージョンの方が新しい場合、アップデート可能と判断する。そして、特定部３５２は、特定した複数のプラグインの識別情報であるアップデート確認情報を管理装置１０に送信する。
【００４１】
例えば、特定部３５２は、図３に示すインストール情報と図６に示すインストールテーブルを照合して、プラグインＡ及プラグインＢをそれぞれバージョン２．０にアップデートできることを特定し、図４に示すアップデート確認情報を管理装置１０に送信する。
【００４２】
ここで、依存テーブル記憶部３４４について説明する。依存テーブル記憶部３４４は、複合機２０がインストール可能な２以上のプラグインのバージョン間の依存関係を示す依存テーブルを記憶する。
【００４３】
図７は、依存テーブルの一例を示す図であり、図８は、図７の依存テーブルが示すプラグインの依存関係の模式図である。図７及び図８に示す例では、プラグインＡがプラグインＢに依存しており、プラグインＢがインストールされていなければ、プラグインＡをインストールできないことを示している。このため、プラグインＡが依存元プラグインとなり、プラグインＢが依存先プラグインとなる。
【００４４】
更に、図７及び図８に示す例では、プラグインＡ及びプラグインＢのバージョン間にも依存関係が存在しており、バージョン１．０のプラグインＢがインストールされていなければ、バージョン１．０のプラグインＡをインストールできないことを示している。つまり、バージョン２．０のプラグインＢがインストールされていても、バージョン１．０のプラグインＡをインストールすることはできない。同様に、バージョン２．０のプラグインＢが複合機２０にインストールされていなければ、バージョン２．０のプラグインＡをインストールできないことを示している。つまり、バージョン１．０のプラグインＢがインストールされていても、バージョン２．０のプラグインＡをインストールすることはできない。
【００４５】
なお、図７及び図８に示す“○”は、依存元プラグインが依存先プラグインに依存していること、及びバージョンの組み合わせに整合性があることを示している。また、図７及び図８に示す“×”は、依存元プラグインが依存先プラグインに依存していること、及びバージョンの組み合わせに整合性がないことを示している。また、図７に示す依存テーブルの“−”は、依存元プラグインが依存先プラグインに依存していないことを示している。
【００４６】
図９は、依存テーブルの他の例を示す図であり、図１０は、図９の依存テーブルが示すプラグインの依存関係の模式図である。図９及び図１０に示す例では、プラグインＡがプラグインＢに依存していること、バージョン１．０のプラグインＡ及びプラグインＢのバージョン間に依存関係が存在しないこと、バージョン２．０のプラグインＡ及びプラグインＢのバージョン間に依存関係が存在することを示している。具体的には、バージョン２．０のプラグインＢがインストールされていなければ、バージョン２．０のプラグインＡをインストールできないことを示している。つまり、バージョン１．０のプラグインＢがインストールされていても、バージョン２．０のプラグインＡをインストールすることはできない。
【００４７】
図１１は、依存テーブルの他の例を示す図であり、図１２は、図１１の依存テーブルが示すプラグインの依存関係の模式図である。図１１及び図１２に示す例では、プラグインＡがプラグインＢに依存していること、プラグインＡ及びプラグインＢのバージョン間には依存関係が存在しないことを示している。つまり、バージョン１．０及びバージョン２．０のいずれかのプラグインＢがインストールされていれば、バージョン１．０及びバージョン２．０のいずれのプラグインＡであってもインストールできる。
【００４８】
なお、図７〜図１２では、プラグインが２種類の場合を例にとり説明したが、プラグインが３種類以上であっても同様の依存関係が存在する。同様に、図７〜図１２では、バージョンが２種類の場合を例にとり説明したが、バージョンが３種類以上であっても同様の依存関係が存在する。
【００４９】
図５に戻り、作成部３５４は、管理装置１０からアップデート要求が行われると、インストール情報及びアップデート確認情報と、依存テーブル記憶部３４４に記憶された依存テーブルとを照合して順序情報を作成する。そして、作成部３５４は、インストールデータ記憶部３４６から複数のプラグインのアップデートデータを取得し、作成した順序情報とともに管理装置１０に送信する。
【００５０】
例えば、作成部３５４は、図３に示すインストール情報及び図４に示すアップデート確認情報と、図７に示す依存テーブルとを照合した場合、プラグインＡ及びプラグインＢの同時アップデートを示す順序情報を作成する。また例えば、作成部３５４は、図３に示すインストール情報及び図４に示すアップデート確認情報と、図９に示す依存テーブルとを照合した場合、プラグインＢ、プラグインＡの順番でのアップデートを示す順序情報を作成する。また例えば、作成部３５４は、図３に示すインストール情報及び図４に示すアップデート確認情報と、図１１に示す依存テーブルとを照合した場合、アップデート順序を指定しない順序情報を作成する。
【００５１】
また、作成部３５４は、３種類以上のプラグインの順序情報を作成する場合、３種類以上のプラグインがとりうるペア毎にプラグインのアップデート順序を決定し、全てのペアのアップデート順序をマージして順序情報を作成する。例えば、作成部３５４は、プラグインＳ、Ｔ、Ｕの順序情報を作成する場合、プラグインＳとＴの第１ペア、プラグインＴとＵの第２ペア、及びプラグインＵとＳの第３ペアのアップデート順序を決定する。ここでは、第１ペアのアップデート順序はＳ→Ｔ、第２ペアのアップデート順序はＵ→Ｔ、第３ペアのアップデート順序はＵ→Ｓとする。この場合、作成部３５４は、第１ペア〜第３ペアのアップデート順序をマージして、Ｕ→Ｓ→Ｔの順番にアップデートすることを示す順序情報を作成する。
【００５２】
図１３は、本実施形態の管理サーバ４０の構成の一例を示すブロック図である。図１３に示すように、管理サーバ４０は、通信部４１０と、記憶部４２０と、制御部４３０とを備える。
【００５３】
通信部４１０は、ユーザ端末５０、管理装置１０、及び配信サーバ３０などとの間でインターネット２を介して通信を行うものであり、管理装置１０同様、既存の通信装置により実現できる。
【００５４】
記憶部４２０は、管理サーバ４０で実行される各種プログラムや管理サーバ４０で行われる各種処理に使用される情報などを記憶するものであり、管理装置１０同様、既存の記憶装置により実現できる。
【００５５】
制御部４３０は、管理サーバ４０の各部を制御するものであり、管理装置１０同様、既存の制御装置により実現できる。そして、制御部４３０は、確認部４３２を含む。
【００５６】
確認部４３２は、管理装置１０からアップデート確認情報を受信して複数のプラグインのアップデートの承認をユーザ端末５０に要求するとともに、ユーザ端末５０から承認結果を受信して管理装置１０に可否情報を送信する。具体的には、確認部４３２は、承認結果が承認を示す場合、アップデート可を示す可否情報を管理装置１０に送信し、承認結果が未承認を示す場合、アップデート否を示す可否情報を管理装置１０に送信する。
【００５７】
次に、本実施形態の管理システムの動作について説明する。
【００５８】
図１４は、本実施形態の管理システム１で行われる処理の一例を示すフローチャートである。
【００５９】
まず、管理装置１０のインストール情報取得部１３２は、複合機２０にインストール情報を要求する（ステップＳ１０）。ここでは、インストール情報取得部１３２は、インストール情報の要求を管理システム１の全ての複合機２０に対して一定間隔で行うものとする。
【００６０】
続いて、複合機２０は、自身のインストール情報を管理装置１０に送信する（ステップＳ１２）。
【００６１】
続いて、管理装置１０のアップデート情報取得部１３４は、配信サーバ３０にインストール情報を送信して、アップデート確認情報の取得を要求する（ステップＳ１４）。
【００６２】
続いて、配信サーバ３０の特定部３５２は、管理装置１０から送信されたインストール情報と、インストールテーブル記憶部３４２に記憶されたインストールテーブルとを照合してアップデート可能な複数のプラグインを特定し、アップデート確認情報を管理装置１０に送信する（ステップＳ１６）。なお、アップデート確認情報にアップデート可能なプラグインが示されていない場合、アップデート対象のプラグインが存在しないため、以降の処理は行われない。
【００６３】
続いて、管理装置１０の可否情報取得部１３６は、アップデート確認情報を管理サーバ４０に送信し、プラグインのアップデートの承認を依頼する（ステップＳ１８）。この処理は、アップデート対象のプラグインが存在する場合に、アップデートの可否をユーザ端末５０のユーザ（例えば、複合機２０の管理者）に問い合わせるために行われる。
【００６４】
続いて、管理サーバ４０の確認部４３２は、管理装置１０からアップデート確認情報を受信して複数のプラグインのアップデートの承認をユーザ端末５０に依頼する（ステップＳ２０）。なお、確認部４３２は、電子メールなどの形態でアップデートの承認をユーザ端末５０に依頼する。
【００６５】
続いて、ユーザ端末５０は、アップデートの承認結果を管理サーバ４０に送信する（ステップＳ２２）。例えば、ユーザ端末５０は、ブラウザなどを用いて管理サーバ４０にアクセスし、アップデートの承認を行う。
【００６６】
続いて、管理装置１０の可否情報取得部１３６は、アップデートの可否を確認するため、可否情報の取得を要求する（ステップＳ２４）。ここでは、可否情報取得部１３６は、一定間隔で管理サーバ４０に可否情報の取得を要求するものとする。
【００６７】
続いて、管理サーバ４０の確認部４３２は、管理装置１０に可否情報を送信する。（ステップＳ２６）。具体的には、確認部４３２は、承認結果が承認を示す場合、アップデート可を示す可否情報を管理装置１０に送信し、承認結果が未承認を示す場合、アップデート否を示す可否情報を管理装置１０に送信する。なお、プラグインのアップデートが拒否された場合は、以降の処理は行われない。
【００６８】
続いて、管理装置１０のアップデート情報取得部１３４は、可否情報がアップデート可を示す場合、配信サーバ３０にアップデート要求を行う（ステップＳ２８）。
【００６９】
続いて、配信サーバ３０の作成部３５４は、管理装置１０からアップデート要求が行われると、インストール情報及びアップデート確認情報と、依存テーブル記憶部３４４に記憶された依存テーブルとを照合して順序情報を作成し、インストールデータ記憶部３４６から複数のプラグインのアップデートデータを取得し、作成した順序情報とともに管理装置１０に送信する（ステップＳ３０）。
【００７０】
続いて、管理装置１０のアップデート指示部１３８は、順序情報が示す順序に従って、複数のプラグインそれぞれのアップデートデータを用いたアップデートを複合機２０に指示する（ステップＳ３２）。
【００７１】
続いて、複合機２０は、アップデート結果を管理装置１０に返却する（ステップＳ３４）。
【００７２】
続いて、管理装置１０は、アップデート結果を管理サーバ４０に返却する（ステップＳ３６）。
【００７３】
続いて、管理サーバ４０は、アップデート結果をユーザ端末５０に返却する（ステップＳ３８）。
【００７４】
なお、ステップＳ１８〜Ｓ２６までの処理を省略して、アップデート対象のプラグインが存在する場合、無条件でアップデートを行うようにしてもよい。
【００７５】
図１５は、本実施形態の配信サーバ３０の作成部３５４により行われる順序情報作成処理の一例を示すフローチャートである。
【００７６】
まず、作成部３５４は、複数のプラグインの中から２つのプラグインα、βのペアを選択する（ステップＳ１００）。
【００７７】
続いて、作成部３５４は、依存テーブルを参照して、プラグインα、βのペアがいずれのバージョンの組み合わせであっても、バージョンの整合性があるかを確認する（ステップＳ１０２）。
【００７８】
ここで、図１１及び図１２に示す例のように、プラグインα、βのペアがいずれのバージョンの組み合わせであっても整合性がある場合（ステップＳ１０２でＹｅｓ）、作成部３５４は、アップデート順序を指定しない順序情報を作成する（ステップＳ１０４）。なお、プラグインα、β間に依存関係が存在しない場合も、作成部３５４は、アップデート順序を指定しない順序情報を作成する。
【００７９】
一方、プラグインα、βのペアがいずれのバージョンの組み合わせで整合性がない場合（ステップＳ１０２でＮｏ）、作成部３５４は、依存テーブルを参照して、プラグインαが新バージョン、プラグインβが旧バージョンの組み合わせでバージョンの整合性があるかを確認する（ステップＳ１０６）。
【００８０】
ここで、プラグインαが新バージョン、プラグインβが旧バージョンの組み合わせでバージョンの整合性がある場合（ステップＳ１０６でＹｅｓ）、作成部３５４は、プラグインαをプラグインβより先にアップデートすることを指定した順序情報を作成する（ステップＳ１０８）。
【００８１】
一方、プラグインαが新バージョン、プラグインβが旧バージョンの組み合わせでバージョンの整合性がない場合（ステップＳ１０６でＮｏ）、作成部３５４は、依存テーブルを参照して、プラグインαが旧バージョン、プラグインβが新バージョンの組み合わせでバージョンの整合性が取れているかを確認する（ステップＳ１１０）。
【００８２】
ここで、図９及び図１０に示す例のように、プラグインαが旧バージョン、プラグインβが新バージョンの組み合わせでバージョンの整合性がある場合（ステップＳ１１０でＹｅｓ）、作成部３５４は、プラグインβをプラグインαより先にアップデートすることを指定した順序情報を作成する（ステップＳ１１２）。
【００８３】
一方、プラグインαが旧バージョン、プラグインβが新バージョンの組み合わせでバージョンの整合性がない場合（ステップＳ１１０でＮｏ）、図７及び図８に示すケースとなるため、作成部３５４は、プラグインαとプラグインβとを同時にアップデートすることを指定した順序情報を作成する（ステップＳ１１４）。
【００８４】
なお、３種類以上のプラグインの順序情報を作成する場合は、プラグインがとりうるペア毎に図１５に示す処理を行い、全てのペアのアップデート順序をマージして順序情報を作成する。
【００８５】
図１６は、本実施形態の管理装置１３０のアップデート指示部１３８により行われるアップデート処理の一例を示すフローチャートである。
【００８６】
まず、アップデート指示部１３８は、複合機２０が複数のプラグインを一括してアップデートできるか否かを確認する（ステップＳ２００）。つまり、アップデート指示部１３８は、複合機２０が複数のプラグインを一括してアップデートするインターフェースを提供しているか否かを確認する。
【００８７】
複合機２０が複数のプラグインを一括してアップデートできる場合（ステップＳ２００でＹｅｓ）、アップデート指示部１３８は、複数のプラグインの一括アップデートを複合機２０に行わせる（ステップＳ２０２）。
【００８８】
一方、複合機２０が複数のプラグインを一括してアップデートできない場合（ステップＳ２００でＮｏ）、アップデート指示部１３８は、順序情報にアップデート順序が指定されているか否かを確認する（ステップＳ２０４）。
【００８９】
順序情報にアップデート順序が指定されていない場合（ステップＳ２０４でＮｏ）、アップデート指示部１３８は、任意の順番で複数のプラグインのアップデートを行わせる（ステップＳ２０６）。
【００９０】
一方、順序情報にアップデート順序が指定されている場合（ステップＳ２０４でＹｅｓ）、アップデート指示部１３８は、アップデート順が最初のプラグインを選択する（ステップＳ２０８）。
【００９１】
続いて、アップデート指示部１３８は、選択したプラグインに同時にアップデートするプラグインが存在する場合、即ち、順序情報に同時アップデートが指定されている場合（ステップＳ２１０でＹｅｓ）、依存元のプラグインの無効化を指示する（ステップＳ２１４）。なお、無効化とは、複合機２０にプラグインはインストールされているが、機能として利用できない状態にすることである。無効化できない場合、アップデート指示部１３８は、依存元のプラグインをアンインストールしてもよい。
【００９２】
続いて、アップデート指示部１３８は、依存先のプラグインのアップデートを指示する（ステップＳ２１６）。なお、依存先のプラグインがアップデートされると、依存元のプラグインとのバージョンの整合性はなくなるが、依存元のプラグインは無効化されているため、影響はない。
【００９３】
続いて、アップデート指示部１３８は、依存元のプラグインのアップデートを指示する（ステップＳ２１８）。これにより、依存元のプラグインと依存先のプラグインとのバージョンの整合性は回復する。なお、ステップＳ２１６とステップＳ２１８の順序を逆にしてもよい。
【００９４】
続いて、アップデート指示部１３８は、依存元のプラグインの有効化を指示する（ステップＳ２２０）。なお、有効化とは、無効化され、利用できない状態にあるプラグインを利用できるようにすることである。
【００９５】
一方、選択したプラグインに同時にアップデートするプラグインが存在しない場合（ステップＳ２１０でＮｏ）、アップデート指示部１３８は、選択したプラグインのアップデートを指示し（ステップＳ２１２）、ステップＳ２２２へ進む。
【００９６】
続いて、アップデート指示部１３８は、全てのプラグインのアップデートが終了したか否かを確認する（ステップＳ２２２）。
【００９７】
全てのプラグインのアップデートが終了していない場合（ステップＳ２２２でＮｏ）、アップデート指示部１３８は、次のアップデート順のプラグインを選択し（ステップＳ２２４）、ステップＳ２１０に進む。
【００９８】
一方、全てのプラグインのアップデートが終了した場合（ステップＳ２２２でＹｅｓ）、アップデート指示部１３８は、処理を終了する。
【００９９】
なお、アップデート指示部１３８は、管理システム１の全ての複合機２０に対して、図１６に示す処理を行う。
【０１００】
以上のように、本実施形態では、配信サーバ３０でプラグインのアップデート順序を決定し、このアップデート順序に基づいて、管理装置１０が複合機２０にプラグインのアップデートを行わせるため、依存関係にある複数のプラグインのバージョン間の整合性を保ちながらアップデートすることができる。
【０１０１】
特に本実施形態によれば、複合機２０が複数のプラグインを一括でアップデートできるインターフェースを提供していなくても、依存関係にある複数のプラグインのバージョン間の整合性を保ちながらアップデートすることができる。
【０１０２】
（ハードウェア構成）
次に、本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０のハードウェア構成の一例について説明する。
【０１０３】
本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０は、ＣＰＵなどの制御装置と、ＲＯＭやＲＡＭなどの記憶装置と、ＨＤＤやリムーバブルドライブ装置などの外部記憶装置と、ディスプレイなどの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１０４】
本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital Versatile Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１０５】
また、本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１０６】
本実施の形態の管理装置１０、配信サーバ３０、及び管理サーバ４０で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【０１０７】
（変形例）
なお、上記実施の形態では、画像形成装置として、プリンタ機能、スキャナ機能、コピー機能、及びファクシミリ機能のうち少なくとも２つの機能を有する複合機（ＭＦＰ：Multifunction Printer）を例にとり説明したが、これに限定されるものではない。例えば画像形成装置は、複写機、プリンタ、スキャナ装置、又はファクシミリ装置等であってもよい。
【０１０８】
また、上記実施の形態では、プラグインのアップデートを例にとり説明したが、ファームウェアなどソフトウェアのアップデートであればいずれにも適用できる。また、ファームウェアとプラグインが混在した状況であってもよい。
【符号の説明】
【０１０９】
１  管理システム
２  インターネット
３  ＬＡＮ
１０  管理装置
２０  複合機
３０  配信サーバ
４０  管理サーバ
５０  ユーザ端末
１１０  通信部
１２０  記憶部
１３０  制御部
１３２  インストール情報取得部
１３４  アップデート情報取得部
１３６  可否情報取得部
１３８  アップデート指示部
３１０  通信部
３２０  入力部
３３０  表示部
３４０  記憶部
３４２  インストールテーブル記憶部
３４４  依存テーブル記憶部
３４６  インストールデータ記憶部
３５０  制御部
３５２  特定部
３５４  作成部
４１０  通信部
４２０  記憶部
４３０  制御部
４３２  確認部
【先行技術文献】
【特許文献】
【０１１０】
【特許文献１】特開２００９−８０５５０号公報
【図１】
2011060232.tif 000003
【図２】
2011060232.tif 000004
【図３】
2011060232.tif 000005
【図４】
2011060232.tif 000006
【図５】
2011060232.tif 000007
【図６】
2011060232.tif 000008
【図７】
2011060232.tif 000009
【図８】
2011060232.tif 000010
【図９】
2011060232.tif 000011
【図１０】
2011060232.tif 000012
【図１１】
2011060232.tif 000013
【図１２】
2011060232.tif 000014
【図１３】
2011060232.tif 000015
【図１４】
2011060232.tif 000016
【図１５】
2011060232.tif 000017
【図１６】
2011060232.tif 000018