(57)【要約】【課題】画像形成装置の設置作業において、インストール済みのコンテンツにバグなどの不具合が発覚した場合、更新後のコンテンツへの差し替え作業が必要になるが、これを効率的に行う仕組みが存在しなかった。【解決手段】情報処理装置であって、外部装置に対して設置されるべき複数のプログラムのうちのいずれかのバージョンが更新されたこと示す更新情報を取得し、前記更新情報に基づいて、前記外部装置に対してバージョンが更新されたプログラムを含む前記複数のプログラムを設置するための第１の命令と、前記外部装置に対してバージョンが更新されたプログラムを設置するための第２の命令とを生成し、管理する前記外部装置のプログラムの設置状態に応じて、前記第１の命令または前記第２の命令のいずれかを前記外部装置へ送信する。【選択図】図８
2020101854.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に対するプログラムの設置状態を管理する管理手段と、
前記外部装置に対して設置されるべき複数のプログラムのうちのいずれかのバージョンが更新されたこと示す更新情報を取得する取得手段と、
前記更新情報に基づいて、前記外部装置に対してバージョンが更新されたプログラムを含む前記複数のプログラムを設置するための第１の命令と、前記外部装置に対してバージョンが更新されたプログラムを設置するための第２の命令とを生成する生成手段と、
前記管理手段にて管理する前記外部装置のプログラムの設置状態に応じて、前記第１の命令または前記第２の命令のいずれかを前記外部装置へ送信する送信手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、前記更新情報に基づいて、バージョンの更新の理由が所定の理由か否かを判定する判定手段を更に有し、
前記判定手段にて前記更新の理由が前記所定の理由であると判定された場合、前記生成手段は、前記第１の命令と前記第２の命令とを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の理由は、プログラムのバグに起因するバージョンの更新であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記送信手段は、
前記外部装置に対して、バージョンが更新される前のプログラムを含む前記複数のプログラムの全ての設置が完了している場合、前記第２の命令を送信し、
前記外部装置に対して、バージョンが更新される前のプログラムを含む前記複数のプログラムの設置中である場合、当該設置が完了した後に前記第２の命令を送信し、
前記外部装置に対する前記複数のプログラムの設置が開始されていない場合、前記第１の命令を送信することを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
前記管理手段は、前記生成手段にて前記第２の命令を生成した際に、前記外部装置においてバージョンが更新される前のプログラムを含む前記複数のプログラムの全ての設置が完了している場合、前記外部装置のプログラムの設置状態を設置中の状態に変更することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記生成手段は、前記複数のプログラムのうちの２以上のプログラムに対してバージョンが更新された場合、前記２以上のプログラムそれぞれに対して第２の命令を生成し、
前記管理手段は、前記２以上のプログラムに対応する第２の命令を、更新された順にて対応付けて管理し、
前記送信手段は、前記管理手段にて管理されている前記２以上のプログラムに対応する第２の命令を、更新された順にて前記外部装置へ送信することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記外部装置からプログラムを設置するための命令の要求を受信する受信手段を更に有し、
前記送信手段は、前記要求に応答して、前記第１の命令を送信することを特徴とする請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記更新情報は、更新されたプログラム、更新の前後のバージョン、更新された日時、および更新の理由の情報を含むことを特徴とする請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
外部装置に対するプログラムの設置状態を管理する情報処理装置の制御方法であって、
前記外部装置に対して設置されるべき複数のプログラムのうちのいずれかのバージョンが更新されたこと示す更新情報を取得する取得工程と、
前記更新情報に基づいて、前記外部装置に対してバージョンが更新されたプログラムを含む前記複数のプログラムを設置するための第１の命令と、前記外部装置に対してバージョンが更新されたプログラムを設置するための第２の命令とを生成する生成工程と、
管理している前記外部装置のプログラムの設置状態に応じて、前記第１の命令または前記第２の命令のいずれかを前記外部装置へ送信する送信工程と
を有することを特徴とする制御方法。
【請求項１０】
コンピュータを、
外部装置に対するプログラムの設置状態を管理する管理手段、
前記外部装置に対して設置されるべき複数のプログラムのうちのいずれかのバージョンが更新されたこと示す更新情報を取得する取得手段、
前記更新情報に基づいて、前記外部装置に対してバージョンが更新されたプログラムを含む前記複数のプログラムを設置するための第１の命令と、前記外部装置に対してバージョンが更新されたプログラムを設置するための第２の命令とを生成する生成手段、
前記管理手段にて管理する前記外部装置のプログラムの設置状態に応じて、前記第１の命令または前記第２の命令のいずれかを前記外部装置へ送信する送信手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法、並びにプログラムに関し、特に画像形成装置に対するソフトウェアの設置方法に関する。
【背景技術】
【０００２】
画像形成装置を新規に導入するにあたり、事前に画像形成装置の使用環境に応じた初期設置作業を行う必要がある。複数台の画像形成装置を設置することは非常に手間と時間が掛かる。そのため、初期設置作業を効率化する方法として、予め必要なファームウェアや拡張プログラム等のソフトウェア（以下、コンテンツと呼ぶ）を設置データとして登録しておき、それをスクリプトに従って処理することで効率的に初期設置を行うシステムが存在する。
【０００３】
一方、大型商談などで大量の発注を受けると、全ての画像形成装置に対する初期設置作業が終了するまでには長い期間を必要とする。そのため、初期設置の途中で設置データが更新される場合があり、既に古い設置データで設置を行った画像形成装置の再設置が必要になることがある。例えば、特許文献１は、初期設置が完了したデバイスが定期的に設置データを管理する管理サーバーへポーリングを行い、設置データが更新されていた場合、更新済みの設置データを取得および適用する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１４８９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
設置データが変更されるきっかけの一つとして、設置データとして登録していたコンテンツの上位バージョンが公開された場合が挙げられる。特に、コンテンツにバグなどの不具合が発覚したことによるバージョンアップの場合、既に不具合のあるコンテンツをインストールしてしまったデバイスに対し、上位バージョンのコンテンツへの差し替え作業（以下、リワークと呼ぶ）を行う必要がある。しかしながら、特許文献１は、全ての画像形成装置の初期設置が完了したことをもって管理サーバーへのポーリングを終了させるため、その後の画像形成装置の運用中にインストール済みコンテンツに不具合が発覚した場合には対応できない。
【０００６】
本発明は、上記の課題を解決するためになされたものであり、本発明は、画像形成装置などの装置を設置している際にリワークが必要になった場合、各装置の設置状態に応じて効率的にリワークを行う仕組みを提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は以下の構成を有する。すなわち、情報処理装置であって、外部装置に対するプログラムの設置状態を管理する管理手段と、前記外部装置に対して設置されるべき複数のプログラムのうちのいずれかのバージョンが更新されたこと示す更新情報を取得する取得手段と、前記更新情報に基づいて、前記外部装置に対してバージョンが更新されたプログラムを含む前記複数のプログラムを設置するための第１の命令と、前記外部装置に対してバージョンが更新されたプログラムを設置するための第２の命令とを生成する生成手段と、前記管理手段にて管理する前記外部装置のプログラムの設置状態に応じて、前記第１の命令または前記第２の命令のいずれかを前記外部装置へ送信する送信手段とを有する。
【発明の効果】
【０００８】
本発明により、装置を設置している際にリワークが必要になった場合、各装置の設置状態に応じて効率的にリワークを行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の自動設置システムにおける機器構成の例を示す図。
【図２】画像形成装置のハードウェア構成の例を示す図。
【図３】画像形成装置のソフトウェア構成の例を示す図。
【図４】各サーバーのハードウェア構成の例を示す図。
【図５】各サーバーのソフトウェア構成の例を示す図。
【図６】本発明に係る管理データの構成例を示す図。
【図７】設置用データとスクリプトの例を示す図。
【図８】第１の実施形態に係る案件管理サーバーの処理のフローチャート。
【図９】コンテンツ管理サーバーが案件管理サーバーに送信するデータの例を示す図。
【図１０】案件管理サーバーが生成する設置用データとスクリプトの例を示す図。
【図１１】リワークスクリプトの例を示す図。
【図１２】第２の実施形態に係る処理のフローチャート。
【図１３】第２の実施形態に係るサポート機能のＵＩの例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下に示す形態は一例であり、この形態に限定することを意図するものではない。
【００１１】
＜第１の実施形態＞
［システム構成］
図１は、本発明に係る自動設置システムの機器構成の例を示す図である。自動設置システムは、複数の画像形成装置１０１、案件管理サーバー１０２、およびコンテンツ管理サーバー１０３を含んで構成される。各装置は、ネットワーク１００を介して通信可能に接続される。ネットワーク１００は、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などが１または複数組み合わせて構成されてよく、有線／無線や通信方式などを特に限定するものではない。
【００１２】
画像形成装置１０１は、複写機にスキャナー、プリンター、ファクシミリ、ファイル送信機能等複数の機能を統合した複合機（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。また、画像形成装置１０１は、ネットワーク１００に接続するインタフェースを有している。ここでは、２台の画像形成装置１０１Ａ、１０１Ｂを示しているが、更に多くの画像形成装置１０１が含まれてよい。以下の説明において、画像形成装置の構成について共通的に説明する場合には画像形成装置１０１として示し、個別に説明を要する場合には添え字を付して説明を行う。
【００１３】
案件管理サーバー１０２は、画像形成装置１０１の納品先、顧客、受注した商談ごとなどの案件単位に、複数の設置データを管理するための管理装置である。設置データには、機種、外部接続するハードウェア、ファームウェアや拡張プログラムのバージョンの組み合わせ、設定値などの納品すべき画像形成装置の構成情報、またそれらの適用順序などが含まれる。案件管理サーバー１０２で管理する詳細なデータについては後述する。コンテンツ管理サーバー１０３は、画像形成装置１０１で利用可能なファームウェアや拡張プログラムのバイナリデータ、各種ライセンス情報等（コンテンツ）を管理する管理装置である。
【００１４】
尚、本実施形態においては案件管理サーバー１０２とコンテンツ管理サーバー１０３を別個のサーバーとして定義しているが、同一の管理サーバーとして構成されていてもよい。また、コンテンツ管理サーバー１０３をコンテンツ管理用のサーバーとライセンス管理用のサーバーに分けるなど、１のサーバーを更に複数の装置に分散するような構成であってもよい。案件管理サーバー１０２で管理する設置データや、コンテンツ管理サーバー１０３で管理するコンテンツは、ネットワーク１００を経由してクライアントコンピューター（不図示）によって作成や格納、更新を実施することを想定しているが、この限りではない。
【００１５】
［装置構成］
図２は、本実施形態に係る画像形成装置１０１の構成の例を示す図である。画像形成装置１０１は、制御ユニット２００、操作部２０１、スキャナー２０２、およびプリンター２０３を含んで構成される。なお、本実施形態では、図１に示す複数の画像形成装置１０１が共通の構成を有するものとして説明するが、一部の構成や機能に差異があってもよい。
【００１６】
制御ユニット２００は、操作部２０１関連の処理部として、ＣＰＵ２１０、ＲＡＭ２１１、操作部Ｉ／Ｆ２１２、ネットワークＩ／Ｆ２１３、ＲＯＭ２１５、ＨＤＤ２１６、画像バスＩ／Ｆ２１７、およびシステムバス２１８を備える。また、制御ユニット２００は、印刷、スキャン関連の処理部として、画像バス２１９、デバイスＩ／Ｆ２２０、スキャナー画像処理部２２１、およびプリンター画像処理部２２２を備える。
【００１７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１０は、制御ユニット２００全体を制御するためのコントローラである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１１は、画像データやソフトウェアの動作に必要な処理を一時記憶するためのメモリーである。操作部Ｉ／Ｆ２１２は、操作部２０１とのインタフェースであり、操作部２０１で表示する画像データを操作部２０１に対して出力する。また、操作部Ｉ／Ｆ２１２は、ユーザーが操作部２０１により入力した情報をＣＰＵ２１０へ伝達する。ネットワークＩ／Ｆ２１３は、ネットワーク１００と接続しており、ネットワーク１００を介して、外部の装置と情報のやり取りをするインタフェースである。外部の装置とは、例えば、案件管理サーバー１０２を指す。
【００１８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１５は、不揮発性のブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）２１６は、不揮発性の記憶領域であり、システムソフトウェア、画像データ、設定情報などを格納する。画像バスＩ／Ｆ２１７は、システムバス２１８と画像バス２１９を接続し、データ変換を行うバスブリッジである。システムバス２１８は、制御ユニット２００を構成する各コンポーネント同士の共通データ交換経路である。画像バス２１９は、ＰＣＩバス、またはＩＥＥＥ１３９４で構成されており、画像データを高速に転送する経路である。デバイスＩ／Ｆ２２０は、画像入出力デバイスであるスキャナー２０２及びプリンター２０３と、制御ユニット２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００１９】
スキャナー画像処理部２２１は、スキャナー２０２にて入力された入力画像に対し、補正や加工、編集を行う。プリンター画像処理部２２２は、プリント出力画像データに対して、プリンター２０３の性能に応じた補正、解像度の変換などを行う。プリント出力画像データは、スキャナー２０２にて取得した画像データが用いられてもよいし、ネットワーク１００を介して外部から取得した画像データが用いられてもよい。
【００２０】
図３（Ａ）は、本実施形態に係る画像形成装置１０１のソフトウェア構成の例を示す図である。本実施形態では、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）３００上にて各種ソフトウェアが階層的に動作するものとする。
【００２１】
ＯＳ３００上では、ネイティブプログラム３０１と拡張プログラム実行プラットフォーム３０２が動作している。ネイティブプログラム３０１は、プリンターやＦＡＸ、スキャナーなどの、画像形成装置１０１に予め備えられた機能の制御用プログラムである。拡張プログラム実行プラットフォーム３０２は、画像形成装置１０１に機能を追加するための拡張プログラムの実行プラットフォームである。ネイティブプログラム３０１上では、ファームウェア更新サービス３０３、オプション有効化サービス３０４、および設定管理サービス３０５が動作している。また、拡張プログラム実行プラットフォーム３０２上では、拡張プログラムシステムサービス３０６と拡張プログラム３０７が動作している。
【００２２】
ファームウェア更新サービス３０３は、画像形成装置１０１にインストールされたファームウェアを更新するための各種機能を提供するサービスである。例えば、ファームウェア更新サービス３０３は、ユーザーから指定されたファームウェアを参照し、該ファームウェアの更新が必要か否かを判定する。また、ファームウェア更新サービス３０３は、ネイティブプログラム３０１に対し、またはネイティブプログラム３０１を介して、画像形成装置１０１のファームウェアを更新する。尚、本実施形態では、ファームウェアの構成要素としてネイティブプログラム３０１と拡張プログラム実行プラットフォーム３０２が含まれることを想定しているが、これに限らない。
【００２３】
オプション有効化サービス３０４は、ネイティブプログラム３０１に予め組み込まれているオプション機能（以下、組み込みオプションプログラムとも表記する）を有効化するためのプログラムである。オプション機能は、有効化／無効化を設定でき、有効化されることで利用が可能となる。オプション有効化サービス３０４は、ユーザーから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、オプションライセンスファイルにて規定された条件に基づき有効化する。
【００２４】
設定管理サービス３０５は、プリンターやＦＡＸなどの機能に対する各種設定情報を管理するためのプログラムである。設定管理サービス３０５は、例えば、ユーザーから１つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム３０１の設定情報を書き換える機能を提供する。なお、設定管理サービス３０５は、ユーザインタフェース（以下、ＵＩと記述）を持っており、ユーザーは画像形成装置１０１の操作部２０１に表示される設定メニュー画面（不図示）等のＵＩを介して設定変更の指示ができる。
【００２５】
拡張プログラムシステムサービス３０６は、拡張プログラムに共通に有用なユーティリティライブラリーであり、拡張プログラム実行プラットフォーム３０２から提供される。拡張プログラム３０７から拡張プログラムシステムサービス３０６の機能を呼び出すことにより、拡張プログラム３０７を開発する手間を減らすことができる。
【００２６】
拡張プログラム３０７は、拡張プログラム実行プラットフォーム３０２または画像形成装置１０１が備える各サービス（３０３〜３０６）を介してのみ、他の拡張プログラム３０７など、画像形成装置１０１の各モジュールへアクセスすることができる。また、ＵＩを有する拡張プログラム３０７は、画像形成装置１０１の操作部２０１に表示されるメインメニュー画面（不図示）にアイコン等を表示することもできる。図３においては、一例として拡張プログラム３０７を２つ示しているが、これに限定されるものでは無く、更に多くの拡張プログラム３０７が備えられてよい。
【００２７】
操作部Ｉ／Ｆ２１２は、操作部２０１を通じて、メインメニュー画面（不図示）上のアイコンがユーザーによって選択されたことを検知すると、その選択を示す情報をＣＰＵ２１０に送信する。上記選択を示す情報を受け取ったＣＰＵ２１０は、ユーザーに選択された拡張プログラム３０７のＵＩを操作部２０１に表示する。
【００２８】
なお、図３に示すソフトウェア構成は、基本的な部分のみであり、実施環境によっては、画像形成装置１０１が他のサービス等を備えるようにしてもよい。また、設定を制限するなどの理由によって不要となるサービスについては、画像形成装置１０１が備えないようにしてもよい。
【００２９】
図３（Ｂ）は、画像形成装置１０１で動作する自動設置サポート機能（以下、サポート機能）の機能構成の例を示す図である。本実施形態に係るサポート機能３５０は、案件管理サーバー１０２から取得した設置データにより、画像形成装置１０１のシステム構成を自動で変更する（以下、自動設置）機能を提供する。本実施形態において、サポート機能３５０は、画像形成装置１０１の拡張プログラム３０７の一つとして実装されるものとする。サポート機能３５０の各構成要素は、画像形成装置１０１のＲＯＭ２１５やＨＤＤ２１６に格納されており、ＣＰＵ２１０が各機能に応じたプログラムを実行することにより各部位を提供するサポート機能３５０を実現する。
【００３０】
サポート機能３５０は、ＵＩ制御部３５１、通信部３５２、処理実行部３５３、及びスクリプト解析部３５４を含んで構成される。ＵＩ制御部３５１は、サポート機能３５０を操作するためのＵＩを、操作部２０１を通じてユーザーに提供し、ユーザーの操作を受け付ける。通信部３５２は、自動設置の際、ネットワークＩ／Ｆ２１３を介して案件管理サーバー１０２やコンテンツ管理サーバー１０３と通信を行い、自動設置に必要な各種データの取得などを行う。取得するデータは、例えば、設置データを画像形成装置１０１に適用するための設置作業指示情報（命令）であるスクリプトやコンテンツなどの設置データが挙げられる。
【００３１】
処理実行部３５３は、ＵＩ制御部３５１、通信部３５２、およびスクリプト解析部３５４の指示に従い、各種処理を行う。スクリプト解析部３５４は、通信部３５２が取得した設置作業指示情報であるスクリプトを解析し、処理実行部３５３が実行すべき処理、順序を決定する。本実施形態に係るスクリプトの具体例については、図７を用いて後述する。
【００３２】
図４は、本実施形態に係る案件管理サーバー１０２、及びコンテンツ管理サーバー１０３として動作可能な情報処理装置のハードウェア構成の例を示すブロック図である。ここでは、案件管理サーバー１０２およびコンテンツ管理サーバー１０３を構成する情報処理装置は同じ構成を備えるものとして説明するが、一部が異なる構成であってもよい。
【００３３】
情報処理装置は、制御ユニット４００、マウス４０１、キーボード４０２、およびディスプレイ４０３を備える。制御ユニット４００は、案件管理サーバー１０２の全体の動作の制御部として、ＣＰＵ４１０、ＲＯＭ４１１、ＲＡＭ４１２、ＨＤＤ４１３、操作部Ｉ／Ｆ４１４、ディスプレイＩ／Ｆ４１５、およびネットワークＩ／Ｆ４１６を備える。
【００３４】
ＣＰＵ４１０は、ＲＯＭ４１１に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ４１２は、ＣＰＵ４１０の主メモリーであり、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ４１３は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。操作部Ｉ／Ｆ４１４は、情報処理装置で実行されるプログラムへの制御操作を入力するためのユーザーインタフェース端末を接続するインタフェースである。本実施形態では、マウス４０１やキーボード４０２で構成するが、その限りではない。また、本実施形態に係る各サーバーにおいては、操作部Ｉ／Ｆ４１４は必須ではなく、ネットワークＩ／Ｆ４１６を介して制御操作を行う構成でもよい。
【００３５】
ディスプレイＩ／Ｆ４１５は、案件管理サーバー１０２で実行されるプログラムのＵＩを表示するディスプレイ端末を接続するインタフェースである。本実施形態ではディスプレイ４０３で構成するが、その限りではない。また、本実施形態に係る各サーバーにおいては、ディスプレイＩ／Ｆ４１５は必須ではなく、ネットワークＩ／Ｆ４１６を介してＵＩを表示する構成でもよい。ネットワークＩ／Ｆ４１６は、制御ユニット４００をネットワーク１００に接続する。ネットワークＩ／Ｆ４１６は、ネットワーク１００を介して他の装置との間で各種情報を送受信する。
【００３６】
図５（Ａ）は、本実施形態に係る案件管理サーバー１０２で動作する、案件管理機能５００、および、データ格納部５０５の機能構成の例を示す図である。ＣＰＵ４１０が案件管理機能５００に対応するプログラムを読み出して実行することにより、各部位が実現される。
【００３７】
案件管理機能５００は、制御部５０１、案件管理部５０２、通信部５０３、およびスクリプト生成部５０４を含んで構成される。制御部５０１は、通信部５０３が受信する要求内容に従って、案件管理部５０２に対して設置データの格納、削除、更新、取得等の処理や、設置履歴の更新、取得等の処理を指示する。また、制御部５０１は、通信部５０３が受信する要求内容に従って、スクリプト生成部５０４に対し、案件管理部５０２で管理する設置データを画像形成装置１０１に適用するための設置作業指示情報であるスクリプトを生成するように指示する。
【００３８】
案件管理部５０２は、制御部５０１の指示に従い、データ格納部５０５に対して設置データの格納、削除、更新や、設置履歴の更新を行う。また、案件管理部５０２は、データ格納部５０５から設置データの取得などを行う。通信部５０３は、画像形成装置１０１やクライアントコンピューター（不図示）などからの要求を受信して、制御部５０１に要求内容を送信する。更に、通信部５０３は、制御部５０１から要求に対する処理結果を受け取り、受け取った要求に対する応答データを作成し、要求元に応答データを送信する。
【００３９】
スクリプト生成部５０４は、制御部５０１の指示に従い、案件管理部５０２で管理する設置データに基づいて画像形成装置１０１に適用するためのスクリプトを生成する。生成するスクリプトについては図７を用いて後述する。データ格納部５０５は、案件管理サーバー１０２で動作するデータベースである。尚、本実施形態では案件管理サーバー１０２にデータ格納部５０５が構成されているが、案件管理機能５００と連携できるようになっていれば別のサーバーに配置されるような構成でもよい。
【００４０】
データ格納部５０５で管理するデータの内容について、図６（Ａ）を用いて説明する。図６（Ａ）は、本実施形態に係る設置データ管理テーブル６００の構成例を示す。設置データ管理テーブル６００は、画像形成装置１０１にそれぞれに対して設置された設置データ等の情報や、設置状態を示す情報を管理する。設置データ管理テーブル６００は、設置データＩＤ、機種、スクリプトＩＤ、および設置履歴のカラムで構成される。
【００４１】
設置データＩＤは、本テーブルにおけるユニークなＩＤ（識別情報）であり、画像形成装置１０１で使用する設置データを特定するための情報である。設置データＩＤは、作業者や営業担当者によって設置データが作成・登録されると、案件管理部５０２が本テーブルでユニークとなるように割り振る値である。尚、図６（Ａ）の例では説明の簡略化のため設置データＩＤを“Ｍ００１”といった４桁の文字列で記載しているが、例えば文字列の桁数を増やしたり、ＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）などを用いたりしてもよい。
【００４２】
機種は、その設置データがどの機種向けのものかを示すものであり、作業者や営業担当者が設置データを作成する際に指定する。機種は画像形成装置１０１ごとにそれぞれ定義されている。尚、図６（Ａ）の例では機種を“ＭｏｄｅｌＸ”の６文字の文字列で示しているが、これに限らずＵＵＩＤなどを用いてもよい。また、例えば、画像形成装置を一意に識別するための装置ＩＤなどのカラムを追加して、設置データＩＤとそれを適用する画像形成装置を一対一で関連付けてもよい。
【００４３】
スクリプトＩＤは、設置データに関連付けられたスクリプトに割り当てられるユニークなＩＤである（スクリプトについては図７を用いて後述する）。尚、図６（Ａ）の例では説明の簡略化のため、スクリプトＩＤを“Ｓ１００”といった４桁の文字列で記載しているが、例えば文字列の桁数を増やしたり、ＵＵＩＤなどを用いたりしてもよい。また、図６（Ａ）の例では設置データＩＤとスクリプトＩＤは一対一で関連付けられているが、一対多で対応付けることもできる。
【００４４】
設置履歴は、スクリプトが画像形成装置１０１に適用された履歴を示すものである。ここでは、スクリプトが適用された画像形成装置１０１の装置ＩＤとステータスとが紐付けて記録される。スクリプトがサポート機能３５０によって実行されている最中は「配信中」ステータスが記録され、実行が完了した後は「完了」ステータスが記録される。「完了」ステータスには、どのスクリプトの適用が完了したのかを示すため、スクリプトＩＤが紐付けられる。尚、図６（Ａ）の例では説明の簡略化のため、装置ＩＤを“Ｄ００１”といった４桁の文字列で記載しているが、これに限定するものではなく、例えば、画像形成装置１０１のシリアル番号など、画像形成装置１０１を一意に特定できる情報であればよい。
【００４５】
図６（Ａ）に示す設置データ管理テーブル６００の一行目は、設置データＩＤ“Ｍ００１”により識別される設置データを機種“ＭｏｄｅｌＡ”に対して適用することを示している。設置データＩＤ“Ｍ００１”に紐付くスクリプトＩＤ“Ｓ１００”のスクリプトが、装置ＩＤ“Ｄ００１”の画像形成装置１０１に対して適用が完了したことがわかる。また、装置ＩＤ“Ｄ００１”の画像形成装置１０１は、機種“ＭｏｄｅｌＡ”であることがわかる。
【００４６】
図５（Ｂ）は、本実施形態に係るコンテンツ管理サーバー１０３で動作する、コンテンツ管理機能５５０、コンテンツ格納部５５４、及びライセンス情報格納部５５６の機能構成の例を示す図である。ＣＰＵ４１０がコンテンツ管理機能５５０に対応するプログラムを読み出して実行することにより、各部位が実現される。
【００４７】
コンテンツ管理機能５５０は、制御部５５１、コンテンツ管理部５５２、通信部５５３、およびライセンス管理部５５５を有する。制御部５５１は、通信部５５３が受信する要求内容に従って、コンテンツ管理部５５２に対してコンテンツの格納、削除、更新、取得等の処理を指示する。また、制御部５５１は、ライセンス管理部５５５に対してライセンスの発行、削除（無効化）、更新、取得等の処理を指示する。
【００４８】
コンテンツ管理部５５２は、制御部５５１の指示に従い、コンテンツ格納部５５４に対してコンテンツの格納、削除、更新を行う。更にコンテンツ管理部５５２は、コンテンツ格納部５５４からコンテンツの取得などを行う他、公開停止詳細データ（詳細は図９を用いて後述する）を管理する。なお、コンテンツが更新され、新たなバージョンが公開された場合、古いバージョンのコンテンツは、その更新の理由に応じて公開／公開停止を変更してよい。例えば、バグに起因してコンテンツを更新して新たなバージョンが公開される場合には、古いバージョンのコンテンツは公開停止とする。一方、バグ以外の理由により更新された場合には、古いバージョンのコンテンツは公開を継続してもよい。通信部５５３は、画像形成装置１０１などからの要求を受信して、制御部５５１に要求内容を送信する。更に、通信部５５３は、制御部５５１から要求に対する処理結果を受け取り、受け取った要求に対する応答データを作成し、要求元に応答データを送信する。コンテンツ格納部５５４は、コンテンツ管理サーバー１０３で動作するデータベースである。
【００４９】
ライセンス管理部５５５は、制御部５５１の指示に従い、ライセンスの発行、あるいはライセンス情報格納部５５６に対してライセンス発行情報の格納、削除（もしくは、無効化）、更新を行う。更にライセンス管理部５５５は、ライセンス情報格納部５５６からライセンス発行情報の取得などを行う。尚、ライセンスとは、拡張プログラムおよび本体オプションをアクティベートするために必要なファイルを指す。これらはライセンスにて規定された条件に基づいてアクティベートされることで、利用することが可能となる。ライセンスは、個々の画像形成装置に対して発行され、異なる装置ＩＤの画像形成装置には適用できないようにすることが一般的である。ライセンス情報格納部５５６はコンテンツ管理サーバー１０３で動作するデータベースである。
【００５０】
尚、本実施形態ではコンテンツ管理サーバー１０３にコンテンツ格納部５５４およびライセンス情報格納部５５６が構成されているが、それぞれがコンテンツ管理機能５５０と連携できるようになっていれば別のサーバーに配置されるような構成でもよい。また、本実施形態において、コンテンツ管理サーバー１０３がコンテンツの管理とライセンスの管理の両方の役割を担っているが、これに限らず、別のサーバーとして動作していてもよい。
【００５１】
［データ構成］
図７（Ａ）は、作業者や営業担当者が作成する、本実施形態に係る設置データ７００の一例を示す図である。設置データ７００には、設置作業において画像形成装置１０１に対して行う作業項目が記載されている。図７（Ａ）の例では、設置データＩＤが“Ｍ００１”であることを示している。また、ファームウェアを“Ｖ３０．０４”に更新し、拡張プログラムＡの“Ｖ１．０．５”および拡張プログラムＢの“Ｖ２．０．５”をそれぞれインストールした後に開始していることを示している。更に、組み込みオプションプログラムＡを有効化（ＯＮ）するという内容であることを示している。
【００５２】
図７（Ｂ）は、設置データ７００に対応するスクリプトの一例を示す。スクリプトは、画像形成装置１０１の構成変更を画像形成装置１０１自身が自動で実施するための設置手順を記述した命令の群である。
【００５３】
設置用のスクリプト７５０は、画像形成装置１０１において、サポート機能３５０の通信部３５２で受信され、スクリプト解析部３５４によって解析される。スクリプト解析部３５４によって解析された設置用のスクリプト７５０は、その後、処理実行部３５３によって記載された処理が実行される。尚、本実施形態で示す設置用のスクリプト７５０は、案件管理サーバー１０２の案件管理機能５００によって生成される。設置用のスクリプト７５０は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記載されており、設置データ識別部７５１と、処理記載部７５２を含んで構成される。尚、本実施形態ではＸＭＬによりスクリプトを表現しているが、ＸＭＬに限定されず、シェルスクリプトなどで記載されていてもよい。
【００５４】
設置データ識別部７５１は、スクリプトを一意に識別するためのスクリプトＩＤ“Ｓ１００”が記載されており、＜ｉｎｓｔａｌｌａｔｉｏｎＤａｔａＩｄ＞タグで構成されている。スクリプトＩＤは、案件管理サーバー１０２の案件管理機能５００によって生成される際に、案件管理機能５００によってスクリプトに対して付与する識別子で、全てのスクリプトに対してユニークな値である。
【００５５】
処理記載部７５２は、設置するために必要な処理群が記載される。図７（Ｂ）における例では、処理記載部７５２には、図７（Ａ）の設置データ７００に対応して、ファームウェア更新処理部７５３、拡張プログラムインストール処理部７５４および７５６、拡張プログラム開始処理部７５５および７５７、および組み込みオプションアクティベート処理部７５８を含んで構成される。各処理を示すタグの中にはＯｒｄｅｒ属性が含まれており、本実施形態ではＯｒｄｅｒの値に応じて処理の順番が決定する。
【００５６】
ファームウェア更新処理部７５３は、ファームウェア更新サービス３０３を介してファームウェアを更新する処理である。ファームウェア更新処理部７５３は、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞タグを記載することで処理を定義している。具体的には、＜ｓｏｆｔｗａｒｅＵｒｌ＞タグと＜ｆｉｒｍｗａｒｅＭｏｄｅｌ＞タグ、＜ｆｉｒｍｗａｒｅＶｅｒｓｉｏｎ＞タグにより構成されている。＜ｓｏｆｔｗａｒｅＵｒｌ＞タグは、更新対象のファームウェアの取得先ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を指定している。＜ｆｉｒｍｗａｒｅＭｏｄｅｌ＞タグは、取得するファームウェアの種類、＜ｆｉｒｍｗａｒｅＶｅｒｓｉｏｎ＞タグは、取得するファームウェアのバージョンを指定している。サポート機能３５０は、これらの情報を用いることで、取得先から必要なファームウェアのデータを取得する。
【００５７】
拡張プログラムインストール処理部７５４及び７５６は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグにより処理を定義している。また、＜ｓｏｆｔｗａｒｅＵｒｌ＞タグ、＜ａｐｐＮａｍｅ＞タグにより拡張プログラム３０７のバイナリデータが示されている。また、＜ｌｉｃｅｎｓｅＵｒｌ＞タグ、＜ｌｉｃｅｎｓｅＡｃｃｅｓｓＮｕｍｂｅｒ＞タグにより、拡張プログラム３０７をアクティベートするためのライセンスを示している。＜ｓｏｆｔｗａｒｅＵｒｌ＞タグは、インストールする拡張プログラム３０７の取得先ＵＲＬを指定している。＜ａｐｐＮａｍｅ＞タグは、取得する拡張プログラム３０７を指定している。＜ｌｉｃｅｎｓｅＵｒｌ＞タグは、拡張プログラム３０７のアクティベートに必要なライセンスファイルの発行依頼先ＵＲＬを指定している。＜ｌｉｃｅｎｓｅＡｃｃｅｓｓＮｕｍｂｅｒ＞タグは、ライセンスを発行するためのキーを指定している。画像形成装置１０１のサポート機能３５０は、これらの情報を用いることで、インストール対象のライセンスファイルの取得を行い、拡張プログラム３０７のアクティベート処理を実施する。尚、ライセンスのアクティベートにライセンスファイルを必要とすることを記載したが、これに限らず、文字列で定義されるようなライセンスキーを取得してもよい。
【００５８】
拡張プログラム開始処理部７５７は、＜ｓｔａｒｔＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義しており、＜ａｐｐＩｄ＞タグにより開始対象の拡張プログラム３０７を指定している。＜ａｐｐＩｄ＞タグは、開始対象の拡張プログラム３０７を一意に識別するＩＤが指定されている。
【００５９】
オプションアクティベート処理部７５８は、＜ａｃｔｉｖａｔｅＯｐｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により組み込みオプションプログラムをアクティベートするための処理を定義している。オプションアクティベート処理部７５８は、＜ｌｉｃｅｎｓｅＵｒｌ＞タグは、拡張プログラム３０７のアクティベートに必要なライセンスファイルの発行依頼先ＵＲＬを指定している。＜ｌｉｃｅｎｓｅＡｃｃｅｓｓＮｕｍｂｅｒ＞タグは、ライセンスを発行するためのキーを指定している。サポート機能３５０は、以上の情報を用いることで、インストール対象の拡張プログラム３０７の取得とライセンスファイルの取得を行い、拡張プログラム３０７のインストール処理を実施する。尚、ライセンスのアクティベートにライセンスファイルを必要とすることを記載したが、これに限らず、文字列で定義されるようなライセンスキーを取得してもよい。
【００６０】
本実施形態で示す設置用のスクリプト７５０の記述は、画像形成装置１０１の設置に必要な処理を限定するものではなく、必要に応じて処理の重複、増減があってもよい。例えば、画像形成装置１０１の設定値をインポートする処理の定義を追加してもよいし、再起動が必要であれば再起動処理の定義を追加してもよい。
【００６１】
［処理フロー］
図８は、本実施形態に係る画像形成装置１０１の自動設置の処理フローを示す。本処理フローは、案件管理サーバー１０２のＣＰＵ４１０が各部位に対応するプログラムを読み出して実行することにより実現される。
【００６２】
Ｓ８０１にて、通信部５０３は、コンテンツ管理サーバー１０３からコンテンツの公開停止通知を受信する。公開停止通知を受信することで、案件管理サーバー１０２は、コンテンツ管理サーバー１０３が提供しているコンテンツの公開が停止されたことを検知する。ここでの公開停止とは、コンテンツの提供が停止されたことと同義であるものとして説明する。なお、本実施形態では、コンテンツ管理サーバー１０３から公開停止通知を行うものとして説明するが、これに限定するものではない。例えば、定期的に案件管理サーバー１０２がコンテンツ管理サーバー１０３にコンテンツの公開状態を問い合わせるような構成であってもよい。
【００６３】
図９は、案件管理サーバー１０２が、コンテンツの公開停止イベント時に受信する公開停止詳細データ９００の一例を示す。公開停止詳細データ９００は、コンテンツの更新に関する情報を示す更新情報として用いられる。ｃｏｎｔｅｎｔＮａｍｅキー９０１は、公開停止になったコンテンツの名前を表す。ｖｅｒｓｉｏｎキー９０２は、該コンテンツのバージョン番号を表す。ｓｔｏｐＤａｔｅキー９０３は、該コンテンツが公開停止になった日時を表す。ｉｓＤｅｆｅｃｔキー９０４は、該コンテンツが公開停止になった理由が、不具合（例えば、バグ）によるものであるか否かを表す。ここでは、公開停止になった理由が不具合の場合は“ｔｒｕｅ”が設定され、公開停止になった理由が不具合以外であれば“ｆａｌｓｅ”が設定されるものとする。不具合以外の理由として、例えば一定期間コンテンツの利用実績がなく、コンテンツ管理サーバー１０３によって自動的に公開停止になるケースが考えられる。なお、ここでの公開停止の理由は一例であり、他の所定の理由を用いてもよい。例えば、ｉｓＤｅｆｅｃｔキー９０４は、上記の２値に限定するものではなく、理由に対応して更に多くの値が設定できるような構成であってもよい。
【００６４】
ｌａｔｅｓｔＶｅｒｓｉｏｎキー９０５は、該コンテンツの利用可能な最新バージョン番号を表す。つまり、本実施形態に係る公開停止詳細データ９００には、コンテンツの更新の前後のバージョンに関する情報が含まれている。尚、キーの構成は本例に限らず、キーの種類が増減してもよい。また、本例ではデータの一例としてＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式を用いているが、これに限らず、例えばＸＭＬ形式にて記述されるデータを用いてもよい。
【００６５】
Ｓ８０２にて、制御部５０１は、コンテンツ管理部５５２を介し、公開停止詳細データ９００を参照して該コンテンツの公開停止理由を判定する。ここでは、公開停止の理由が不具合（“ｉｓＤｅｆｅｃｔ”＝”ｔｒｕｅ”）か否かを判定する。不具合でない場合は（Ｓ８０２にてＮＯ）リワークの必要がないため、本処理フローを終了する。一方、公開停止の理由が不具合である場合は（Ｓ８０２にてＹＥＳ）Ｓ８０３へ遷移する。
【００６６】
Ｓ８０３にて、制御部５０１は、設置データに指定されている該コンテンツのバージョン番号を、公開停止詳細データ９００に記載の最新バージョン番号（“ｌａｔｅｓｔＶｅｒｓｉｏｎ”）で上書きして新設置データとする。本処理は、案件管理部５０２が管理している設置データの内、該コンテンツが指定されている全ての設置データに対して行われる。図１０（Ａ）は、新設置データとしての設置データ１０００の一例を示す。設置データ１０００と、図７（Ａ）に示した設置データ７００と比較すると、拡張プログラムＡの部分が異なる。ここでは、拡張プログラムＡの“Ｖ１．０．５”が公開停止になったため、最新バージョンとして“Ｖ１．１．０”が指定されている。
【００６７】
Ｓ８０４にて、制御部５０１は、設置データに紐付くスクリプトのスクリプトＩＤをデータ格納部５０５に一時保存する。ここで一時保存されたスクリプトＩＤは、後のＳ８０７にて用いられる。尚、設置データに複数のスクリプトが紐付いている場合は、全てのスクリプトＩＤが一時保存される。
【００６８】
Ｓ８０５にて、制御部５０１は、新設置データ（ここでは、設置データ１０００）に紐付くスクリプトに記載されている該コンテンツの処理部を、最新バージョンで上書きして新スクリプトとする。また、制御部５０１は、新スクリプトに対して新たなスクリプトＩＤを発番する。図１０（Ｂ）は、新スクリプトとしてのスクリプト１０５０の一例を示す。スクリプト１０５０では、図１０（Ａ）の設置データ１０００に対応して、拡張プログラムインストール処理部１０５４で指定されている拡張プログラムＡのバージョンが“Ｖ１．１．０”に変更されている。また、制御部５０１は、スクリプトを上書き変更した後、図６（Ａ）に示す設置データ管理テーブル６００の情報を更新する。具体的には、設置データに紐付くスクリプトＩＤを、新たに発番したスクリプトＩＤに変更する。また、これに伴い、設置データ１０００に対応するスクリプト１０５０の設置データ識別部１０５１のスクリプトＩＤは、新たなスクリプトＩＤ“Ｓ１０１”が指定される。本例において、スクリプト７５０とスクリプト１０５０の他の部分の記述は同じである。
【００６９】
Ｓ８０６にて、スクリプト生成部５０４は、スクリプト７５０とスクリプト１０５０の差分を抽出し、その差分のみが定義されたリワークスクリプトを生成する。このとき、スクリプト生成部５０４は、リワークスクリプトに対して新たなスクリプトＩＤを発番する。図１１は、リワークスクリプトの一例を示す。本例では、リワークスクリプト１１００には、拡張プログラムＡの“Ｖ１．１．０”に関する処理のみが含まれている。具体的には、処理記載部１１０２には、拡張プログラムＡに対応する拡張プログラムインストール処理部１１０３と拡張プログラム開始処理部１１０４のみが含まれている。また、制御部５０１は、リワークスクリプト１１００が生成されると、図６（Ａ）に示す設置データ管理テーブル６００の情報を更新する。具体的には、設置データに紐付くスクリプトＩＤに、リワークスクリプトＩＤを追加で紐付ける。また、これに伴い、リワークスクリプト１１００の設置データ識別部１１０１のスクリプトＩＤは、新たなスクリプトＩＤ“Ｓ１０２”が指定される。リワークスクリプトは、拡張プログラムが更新されることに伴って生成されることとなるため、２以上のプログラムに対する更新（もしくは、２回以上のプログラムの更新）が行われた場合には、それぞれに対して生成される。
【００７０】
また、スクリプト生成部５０４は、生成した各スクリプトに対して、それがリワークスクリプトであるかを示すリワークフラグを付与し、案件管理部５０２がその情報を管理する。図６（Ｃ）は、本実施形態に係るリワークフラグ管理テーブル６２０の一例を示す。本例の場合、スクリプトＩＤが“Ｓ１０１”のスクリプトはリワークフラグが“ｆａｌｓｅ”であり、即ちリワークスクリプトではないことを示している。一方、スクリプトＩＤが“Ｓ１０２”のスクリプトはリワークフラグが“ｔｒｕｅ”であり、即ちリワークスクリプトであることを示している。尚、本例ではリワークフラグの付与方法および管理方法はテーブル用いているが、これに限らず、例えば、スクリプト内部に直接リワークフラグを記載する方法でもよい。
【００７１】
Ｓ８０７にて、制御部５０１は、Ｓ８０３で一時保存されたスクリプトＩＤとＳ８０６で生成されたリワークスクリプトを紐付ける。図６（Ｄ）は、ここでスクリプトＩＤを紐づけて管理する際に用いられるスクリプト紐付けテーブル６３０の構成例を示す。本例では、スクリプトＩＤ“Ｓ１００”のスクリプトが実行されると、その次にスクリプトＩＤ“Ｓ１０２”のスクリプトが実行されることを表している。これは、スクリプトＩＤ“Ｓ１００”のスクリプトには公開停止になったコンテンツのインストール処理が含まれているため、その後にスクリプトＩＤ“Ｓ１０２”のリワークスクリプトを実行するということを意味する。尚、紐付け管理の方法として図６（Ｄ）に示したスクリプト紐付けテーブル６３０を用いているが、これに限らず、例えば、スクリプト内部に次に実行するスクリプトＩＤを記載してもよい。また、紐付け処理の終了後、制御部５０１はＳ８０４で保存したスクリプトＩＤを消去してもよい。
【００７２】
Ｓ８０８にて、制御部５０１は、図６（Ａ）に示す設置データ管理テーブル６００を参照し、設置データの設置履歴を確認し、「完了」か否かを判定する。ここで設置履歴が「完了」の画像形成装置１０１は、不具合が含まれるコンテンツをインストールしてしまったことを意味している。設置履歴が「設置中」の画像形成装置１０１は、公開停止になったコンテンツをインストールしていることを意味している。設置履歴が「完了」であると判定された場合（Ｓ８０８にてＹＥＳ）Ｓ８０９へ進み、設置履歴が「設置中」であると判定された場合（Ｓ８０８にてＮＯ）Ｓ８１３へ進む。
【００７３】
Ｓ８０９にて、制御部５０１は、図６（Ａ）に示す設置データ管理テーブル６００を参照し、設置履歴が「完了」の画像形成装置１０１に対し、その設置履歴を「設置中」に変更する。
【００７４】
Ｓ８１０にて、通信部５０３は、制御部５０１を介して、Ｓ８０６で生成されたリワークスクリプトを画像形成装置１０１に配信する。リワークスクリプトは画像形成装置１０１にインストールされているサポート機能３５０の通信部３５２によって受信され、スクリプト解析部３５４が解析した後、処理実行部３５３により実行される。
【００７５】
Ｓ８１１にて、通信部５０３は、画像形成装置１０１のサポート機能３５０の通信部３５２から送信されたリワークスクリプトの完了通知を受信する。本実施形態では、画像形成装置１０１は、スクリプトの適用完了を通知するため、処理実行部３５３がスクリプトの実行結果レポートファイルを作成し、通信部３５２が案件管理サーバー１０２に対して送信する。以降、案件管理サーバー１０２の通信部５０３が実行結果レポートファイルを受信することを、完了通知を受信すると表現する。図６（Ｂ）は、実行結果レポートファイルの一例を示す。図６（Ｂ）の実行結果レポートファイル６１０は、スクリプトＩＤ“Ｓ１００”のスクリプトがデバイスＩＤ“Ｄ００１”の画像形成装置１０１に対して適用され、スクリプトに定義された全ての処理が完了したことを示している。本実施形態において、実行結果レポートファイルはＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイルにて構成されることを想定しているが、この限りではなく、例えばＪＳＯＮ形式やＸＭＬ形式で記述されたレポートであってもよい。
【００７６】
Ｓ８１２にて、制御部５０１は、リワークスクリプトの完了通知を受信したことを受けて、図６（Ａ）に示す設置データ管理テーブル６００を参照し、対象となる画像形成装置１０１の設置履歴を「設置中」から「完了」に変更する。この時、設置履歴は、適用が完了したスクリプトＩＤと紐付けて記録される。その後、Ｓ８１７へ進む。
【００７７】
Ｓ８１３にて、通信部５０３は、画像形成装置１０１のサポート機能３５０の通信部３５２から送信されたスクリプトの完了通知を受信する。
【００７８】
Ｓ８１４にて、制御部５０１は、受信した完了通知に記載されているスクリプトＩＤをチェックする。具体的には、図６（Ｂ）に示す実行結果レポートファイル６１０におけるスクリプトＩＤ列に記載されている値を参照する。
【００７９】
Ｓ８１５にて、制御部５０１は、Ｓ８１４でチェックしたスクリプトＩＤに紐付くスクリプトがあるかを判定する。具体的には、図６（Ｄ）に示すスクリプト紐付けテーブル６３０が参照される。チェック対象のスクリプトＩＤに紐付くスクリプトが存在すると判定された場合（Ｓ８１５にてＹＥＳ）、リワークが必要であると判断され、Ｓ８１６に遷移する。チェック対象のスクリプトＩＤに紐付くスクリプトが存在しないと判定された場合（Ｓ８１５にてＮＯ）、配信すべきスクリプトは存在しない（リワークの必要はない）として、Ｓ８１２に遷移する。
【００８０】
Ｓ８１６にて、通信部５０３は、チェックされたスクリプトＩＤに紐付くスクリプトを配信する。該スクリプトはリワークスクリプトであり、画像形成装置１０１のスクリプト解析部３５４および処理実行部３５３によって実行される。尚、この後、案件管理サーバー１０２の通信部５０３が再び完了通知を受信し、完了通知に記載されているスクリプトＩＤに紐付くスクリプトが存在しなくなるまで、Ｓ８１３〜Ｓ８１６の処理が繰り返される。これにより、リワークスクリプトの適用中に再びコンテンツが公開停止になった場合に、連続してリワークスクリプトを配信することが可能になる。
【００８１】
Ｓ８１７にて、制御部５０１は、対象の設置データの設置履歴に記載されている全ての画像形成装置１０１に対して一連の処理が終了したかを判定する。全ての画像形成装置１０１に対して一連の処理が終了したと判定された場合（Ｓ８１７にてＹＥＳ）、本処理フローを終了する。未処理の画像形成装置がある場合（Ｓ８１７にてＮＯ）Ｓ８１８へ進む。
【００８２】
Ｓ８１８にて、制御部５０１は、処理の対象を次の画像形成装置１０１に移行し、Ｓ８０８に戻って処理を繰り返す。
【００８３】
なお、図８の処理フローでは不図示であるが、コンテンツ管理サーバー１０３から公開停止通知を受け付けた後に、図１０（Ｂ）に示すようなスクリプトが生成された場合、コンテンツの設置状態が設置前（未設置）の画像形成装置に対しては、このスクリプトが送信されることとなる。そのため、古いバージョンのコンテンツが指定されたスクリプトは送信されることはなく、バグが混入したプログラムがインストールされることはない。
【００８４】
以上、本実施形態によれば、案件管理サーバー１０２は、公開停止になったコンテンツをインストールしてしまった、或いはインストール中である画像形成装置１０１に対し、自動的にリワークスクリプトを生成および配信する。これにより、装置を設置している際に、効率的にリワークを行うことが可能になる。
【００８５】
＜第２の実施形態＞
第１の実施形態では、コンテンツ管理サーバー１０３に登録されているコンテンツが公開停止になったことをトリガーとして、設置データやスクリプトを上書き変更したり、リワークスクリプトを生成したりする形態を示した。また、該コンテンツをインストールしてしまった或いはインストール中である画像形成装置１０１に対し、効率的にリワークを行う構成を示した。第２の実施形態では、該コンテンツをインストールしていない（まだ、初期設置作業を行っていない）画像形成装置１０１がスクリプトの取得を要求してきた場合に、複数のスクリプトの中から適切なスクリプトを選択し、配信する方法について記載する。なお、第１の実施形態と重複する部分については説明を省略する。画像処理措置に対して複数のリワークスクリプトが存在する状況としては、短期間のうちにコンテンツが公開停止になる状況が考えられる。
【００８６】
［処理フロー］
図１２は、本実施形態に係る画像形成装置１０１の自動設置の処理フローを示す。第１の実施形態にて説明した図８の処理とは異なり、本実施形態では、画像形成装置１０１のサポート機能３５０がユーザーによって起動されることで開始される。本処理フローは、案件管理サーバー１０２のＣＰＵ４１０および画像形成装置１０１のＣＰＵ２１０がそれぞれ各部位に対応するプログラムを読み出して実行することにより実現される。
【００８７】
Ｓ１２０１にて、画像形成装置１０１のサポート機能３５０のＵＩ制御部３５１は、処理実行部３５３を介して操作部２０１にスクリプト検索画面を表示する。
【００８８】
図１３（Ａ）は、本実施形態に係るスクリプト検索画面の例を示す。スクリプト検索画面１３００は、メッセージ１３０１、設置データＩＤ入力部１３０２、及び検索ボタン１３０３を含んで構成される。メッセージ１３０１には、スクリプト検索の開始を通知する文字列とともに、ユーザーに設置データＩＤの入力を促す文字列が表示される。設置データＩＤ入力部１３０２は、ユーザーが設置データＩＤを入力するエリアである。例えば、設置データＩＤとして“Ｍ００１”が入力される。入力方法は、操作部２０１に備え付けられているハードキー（不図示）を用いてもよいし、設置データＩＤ入力部１３０２が選択されることで操作部２０１のＵＩにソフトキーを表示させてもよい。検索ボタン１３０３は、設置データＩＤ入力部１３０２に入力された設置データＩＤに紐付くスクリプト検索を実行する際に押下するボタンである。ユーザーが検索ボタン１３０３を押下すると、Ｓ１２０２へ遷移する。
【００８９】
Ｓ１２０２にて、処理実行部３５３は、案件管理サーバー１０２に対してＳ１２０１にて受け付けた設置データＩＤを送信し、紐付くスクリプトの取得要求を行う。案件管理サーバー１０２の案件管理部５０２がスクリプトの取得要求を画像形成装置１０１から受け取ると、Ｓ１２０３に遷移する。
【００９０】
Ｓ１２０３にて、画像形成装置１０１の案件管理機能５００の制御部５０１は、案件管理部５０２を介して、設置データＩＤに紐付くスクリプトリストを取得する処理である。具体的には、制御部５０１は、案件管理部５０２を介して図６（Ａ）に示す設置データ管理テーブル６００を参照し、該設置データＩＤに紐付くスクリプトの一覧を取得する。
【００９１】
Ｓ１２０４にて、制御部５０１は、図６（Ｃ）に示すリワークフラグ管理テーブル６２０を参照し、Ｓ１２０３で取得したスクリプトリストに含まれる各スクリプトのリワークフラグをチェックし、その値が“ｔｒｕｅ”であるか否かを判定する。本実施形態における案件管理サーバー１０２は、設置作業が未実施の画像形成装置１０１に対して適用するスクリプトを配信する処理フローであるため、リワークスクリプトを配信してはならない。スクリプトのリワークフラグが“ｔｒｕｅ”であると判定された場合（Ｓ１２０４にてＹＥＳ）Ｓ１２０５へ進み、”ｆａｌｓｅ”であると判定された場合（Ｓ１２０４にてＮＯ）Ｓ１２０６へ進む。尚、１つの設置データに対して、リワークスクリプトが２つ以上紐付くことはあるが、リワークスクリプトではないスクリプトが２つ以上紐付くことはない。そのため、リワークフラグが“ｆａｌｓｅ”であるスクリプトは一意に定まる。
【００９２】
Ｓ１２０５にて、制御部５０１は、チェック対象を次のスクリプトに遷移する。そして、Ｓ１２０４へ戻る。
【００９３】
Ｓ１２０６にて、制御部５０１は、図６（Ａ）に示す設置データ管理テーブル６００を参照し、対象となる画像形成装置１０１の設置履歴の値を「完了」から「設置中」に変更する。
【００９４】
Ｓ１２０７にて、通信部５０３は、Ｓ１２０４で特定したスクリプトを画像形成装置１０１に対して配信する。
【００９５】
Ｓ１２０８にて、画像形成装置１０１のＵＩ制御部３５１は、案件管理サーバー１０２から送信されたスクリプトを受信するとスクリプト実行確認画面を操作部２０１に表示する。
【００９６】
図１３（Ｂ）は、本実施形態に係るスクリプト実行確認画面の例を示す。スクリプト検索結果画面１３１０は、メッセージ１３１１、スクリプト詳細表示部１３１２、キャンセルボタン１３１３、および実行ボタン１３１４を含んで構成される。メッセージ１３１１には、Ｓ１２０１で入力された設置データＩＤに紐付くスクリプトが見つかったことをユーザーに対して通知する文字列が表示される。スクリプト詳細表示部１３１２には、受信したスクリプトの情報を表示するエリアである。本例では、スクリプトＩＤに加え、スクリプトに定義されている各々の処理を表示している。尚、表示内容は図１３（Ｂ）の例に限定するものではなく、必要に応じて増減してよい。例えば、スクリプトの生成時刻などを併せて表示してもよい。キャンセルボタン１３１３は、スクリプトの実行をキャンセルする際に押下されるボタンである。実行ボタン１３１４は、スクリプトを実行する際に押下されるボタンである。上述したように、本実施形態では設置作業が未実施の画像形成装置１０１に対して適用するスクリプトを配信するため、リワークスクリプトは配信されない。そのため、ここで表示されるスクリプトは、１つとなる。
【００９７】
Ｓ１２０９にて、ＵＩ制御部３５１は、スクリプト検索結果画面１３１０を介して、ユーザーからのボタン入力を受け付ける。ここで、キャンセルボタン１３１３が押下された場合は（Ｓ１２０９にてＮＯ）、処理実行部３５３は、受信したスクリプトに関する情報を破棄し、Ｓ１２０１に遷移する。実行ボタン１３１４が押下された場合は（Ｓ１２０９にてＹＥＳ）Ｓ１２１０に遷移する。
【００９８】
Ｓ１２１０にて、処理実行部３５３は、受信したスクリプトを実行する。尚、処理実行部３５３がスクリプトの実行中にコンテンツが公開停止になった場合は、第１の実施形態に記載の通り、案件管理サーバー１０２がリワークスクリプトを生成し、スクリプトの完了通知が送信されるのを待機する（Ｓ８０８）。したがって、図１２では不図示であるが、処理実行部３５３がスクリプトの実行を完了して通信部３５２がスクリプトの完了通知を送信した後、Ｓ８１３に遷移することとなる。
【００９９】
以上、本実施形態によれば、案件管理サーバーは、未設置の画像形成装置からスクリプト取得要求を受けた際、複数のスクリプトの中から自動的に適切なスクリプトを選択および配信することができる。
【０１００】
＜その他の実施形態＞
本発明は上述の実施形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０１】
１０１…画像形成装置、１０２…案件管理サーバー、１０３…コンテンツ管理サーバー、３５０…自動設置サポート機能、５００…案件管理機能
【図１】
2020101854.tif 000003
【図２】
2020101854.tif 000004
【図３】
2020101854.tif 000005
【図４】
2020101854.tif 000006
【図５】
2020101854.tif 000007
【図６】
2020101854.tif 000008
【図７】
2020101854.tif 000009
【図８】
2020101854.tif 000010
【図９】
2020101854.tif 000011
【図１０】
2020101854.tif 000012
【図１１】
2020101854.tif 000013
【図１２】
2020101854.tif 000014
【図１３】
2020101854.tif 000015