(57)【要約】      （修正有）【課題】画像形成装置が読み込むスクリプトを作成するため管理装置から取得するコンテンツを、当該コンテンツの取得方法に適応して最新のコンテンツをキャッシュする。【解決手段】画像形成装置にインストールすべきコンテンツを管理する管理装置と通信する情報処理装置であって、管理装置から取得するコンテンツをキャッシュする際に、当該キャッシュされたコンテンツのバージョン情報と、当該コンテンツの最新バージョンを前記管理装置から取得する際の取得方法とを対応づけて管理する。管理装置から最新のコンテンツを取得する際、取得方法が第１の取得方法と指定されている場合、キャッシュされた新旧バージョンのコンテンツのうち、旧バージョンのコンテンツを削除して、新バージョンのコンテンツをキャッシュし、取得方法が第２の取得方法と指定されている場合、旧バージョンのコンテンツを削除することなく、新バージョンのコンテンツをキャッシュする。【選択図】図１４
2017033380.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置にインストールすべきコンテンツを管理する管理装置と通信する情報処理装置であって、
前記管理装置から取得するコンテンツをキャッシュするキャッシュ手段と、
キャッシュされたコンテンツのバージョン情報と、当該コンテンツの最新バージョンを前記管理装置から取得する際の取得方法とを対応づけて管理する第１の管理手段と、
前記管理装置から最新のコンテンツを取得する際、前記取得方法が第１の取得方法と指定されている場合、前記キャッシュ手段にキャッシュされた新旧バージョンのコンテンツのうち、旧バージョンのコンテンツを前記キャッシュ手段から削除して、新バージョンのコンテンツを前記キャッシュ手段にキャッシュし、
前記取得方法が第２の取得方法と指定されている場合、旧バージョンのコンテンツを前記キャッシュ手段から削除することなく、新バージョンのコンテンツを前記キャッシュ手段にキャッシュするように制御する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
キャッシュされたコンテンツのバージョン情報と、当該コンテンツを前記管理装置から取得する際の取得方法と、当該コンテンツの公開情報と、当該コンテンツの権限種別と、当該コンテンツの種別とを対応づけて管理する第２の管理手段と、
取得したコンテンツの種別が当該コンテンツの種別が一般でない場合、当該取得したコンテンツを暗号化する暗号化手段と、
を備え、
前記キャッシュ手段は、暗号化されたコンテンツをキャッシュすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記管理装置から最新のコンテンツを取得する際、当該コンテンツの公開情報が公開を制限している場合、既にキャッシュしている旧バージョンのコンテンツを削除することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記管理装置から最新のコンテンツを取得する際、当該コンテンツの公開情報が公開を制限していない場合で、かつ、当該コンテンツの権限種別が一般でない場合、暗号化されている当該コンテンツを復号化する復号化手段を備えることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記制御手段は、前記管理装置から最新のコンテンツを取得する際、当該コンテンツの公開情報が公開を制限していない場合で、かつ、当該コンテンツの権限種別が一般である場合、前記キャッシュ手段にキャッシュされているコンテンツのうち、当該コンテンツの種別が一般でない場合、前記キャッシュ手段から削除することを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記キャッシュ手段にキャッシュされたコンテンツを前記画像形成装置にインストールするためのスクリプトを生成する生成手段と、
生成されたスクリプトを外部メモリに登録する登録手段と、
を備えることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記外部メモリは、ＵＳＢメモリであることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記コンテンツは、ファームウエア、拡張プログラムを含むことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
画像形成装置にインストールすべきコンテンツを管理する管理装置と通信する情報処理装置の制御方法であって、
前記管理装置から取得するコンテンツをキャッシュ手段にキャッシュするキャッシュ工程と、
キャッシュされたコンテンツのバージョン情報と、当該コンテンツの最新バージョンを前記管理装置から取得する際の取得方法とを対応づけて記憶装置に登録して管理する管理工程と、
前記管理装置から最新のコンテンツを取得する際、前記取得方法が第１の取得方法と指定されている場合、前記キャッシュ手段にキャッシュされた新旧バージョンのコンテンツのうち、旧バージョンのコンテンツを前記キャッシュ手段から削除して、新バージョンのコンテンツを前記キャッシュ手段にキャッシュし、
前記取得方法が第２の取得方法と指定されている場合、旧バージョンのコンテンツを前記キャッシュ手段から削除することなく、新バージョンのコンテンツを前記キャッシュ手段にキャッシュするように制御する制御工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項９に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
情報処理装置、例えば画像形成装置を新規に導入するに当たり、事前に画像形成装置の使用環境に応じた初期設置作業を行う必要がある。初期設置作業には、印刷物の仕上げ処理を行うフィニッシャーなどハードウェアオプションの取り付けや、画像形成装置の制御プログラムの設定作業、拡張機能のライセンスの有効化作業、拡張プログラムのインストールなどの作業がある。
【０００３】
ここで、拡張プログラムとして、画像形成装置にアドインし、画像形成装置の機能をベンダーが拡張できるシステムが普及している。この種のシステムとしてはキヤノン株式会社のＭＥＡＰ（登録商標）などがあげられる。
【０００４】
また、可搬記憶媒体に初期設置作業の実行手順や制御プログラム、拡張プログラムを含んだ設置指示情報（スクリプト）を保存し、初期設置作業の対象となる画像形成装置に挿入することで、設置指示情報に従って、初期設置作業を自動的に行うプログラムがある。
【０００５】
上記設置指示情報を作成、管理する設置指示情報管理システム（以下、管理システム）により、設置指示順序や設置指示に必要なファームウェア、設定値情報、拡張プログラム、ライセンス情報（コンテンツ）を指定することができる。また、初期設置作業の対象となる設置指示情報を基にしたスクリプトを可搬記憶媒体に保存することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特願２０１３−５４２８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述した技術は、設置作業時、特にＵＳＢストレージにスクリプトを作成する際、必要なファームウェアや拡張プログラムをインターネットからダウンロードすることについて効率化することについては、開示されていない。
また、前述の技術では、設置指示に必要なファームウェアや拡張プログラムをインターネットからダウンロードし、ＵＳＢストレージに保存する。
しかしながら、インターネット網を通じて大容量のファイル群を取得することによって、ネットワーク品質の影響を受け、処理時間の増大、処理に失敗してしまう。
このような、インターネットを経由した大容量データの受信においては、特許文献１のように、クライアントコンピュータでインターネットリソースの最新の情報をキャッシュし、再利用する方法が示されている。
しかしながら、これによると、ある１つの目的の最新バージョンを常にキャッシュに上書きし再利用しようとしている。そのため、複数のバージョンのコンテンツを同時にキャッシュすることができない。初期設置作業環境においては、複数のバージョンを同時期に利用する場合が想定される。
したがって、最新バージョンのみキャッシュとして保持していても、効率よくコンテンツを再利用することができないという課題があった。
【０００８】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、画像形成装置が読み込むスクリプトを作成するため管理装置から取得するコンテンツをキャッシュする際に、当該コンテンツの取得方法に適応して、最新のコンテンツをキャッシュできる仕組みを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
画像形成装置にインストールすべきコンテンツを管理する管理装置と通信する情報処理装置であって、前記管理装置から取得するコンテンツをキャッシュするキャッシュ手段と、キャッシュされたコンテンツのバージョン情報と、当該コンテンツの最新バージョンを前記管理装置から取得する際の取得方法とを対応づけて管理する第１の管理手段と、前記管理装置から最新のコンテンツを取得する際、前記取得方法が第１の取得方法と指定されている場合、前記キャッシュ手段にキャッシュされた新旧バージョンのコンテンツのうち、旧バージョンのコンテンツを前記キャッシュ手段から削除して、新バージョンのコンテンツを前記キャッシュ手段にキャッシュし、前記取得方法が第２の取得方法と指定されている場合、旧バージョンのコンテンツを前記キャッシュ手段から削除することなく、新バージョンのコンテンツを前記キャッシュ手段にキャッシュするように制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像形成装置が読み込むスクリプトを作成するため管理装置から取得するコンテンツをキャッシュする際に、当該コンテンツの取得方法に適応して最新のコンテンツをキャッシュできる。
【図面の簡単な説明】
【００１１】
【図１】管理システムの機器構成の例を示す図である。
【図２】画像形成装置のハードウェア構成を示すブロック図である。
【図３】クライアントコンピュータの構成を示すブロック図である。
【図４】外部サーバの構成を示すブロック図である。
【図５】画像形成装置のソフトウェア構成の例を示す図である。
【図６】操作部に表示されるメインメニュー画面の例を示す図である。
【図７】設置指示情報作成システムの機能構成の例を示す図である。
【図８】設置指示情報管理システムの機能構成例を示す図である。
【図９】コンテンツ管理システムの機能構成例を示す図である。
【図１０】サポートプログラムの機能構成の例を示す図である。
【図１１】クライアントコンピュータで表示されるＵＩ画面を示す図である。
【図１２】クライアントコンピュータで表示されるＵＩ画面を示す図である。
【図１３】情報処理装置の制御方法を説明するフローチャートである。
【図１４】情報処理装置の制御方法を説明するフローチャートである。
【図１５】コンテンツ情報の管理テーブルの一例を示す図である。
【図１６】コンテンツ情報のキャッシュテーブルの一例を示す図である。
【図１７】コンテンツ情報の管理テーブルの一例を示す図である。
【図１８】ＵＳＢストレージの構成を示す図である。
【図１９】画像形成装置が読み込むスクリプトの一例を示す図である。
【発明を実施するための形態】
【００１２】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
《システム全体構成》
図１は、本実施形態を示す情報処理装置を含む管理システムの機器構成の例を示す図である。
【００１３】
図１において、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００上には、画像形成装置１０１、情報処理装置の一例であるクライアントコンピュータ１０３によって構成される。また、画像形成装置１０１は、コンテンツを管理する外部サーバ１０４と通信可能に接続される。さらに、画像形成装置１０１には、作成されるスクリプトを記憶するため可搬記憶媒体のUSBストレージ１０２を接続するインタフェースを備える。
【００１４】
画像形成装置１０１は、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等複数の機能を統合した複合機である。また、画像形成装置１０１は、可搬記憶媒体を接続するインタフェースを有している。可搬記憶媒体を接続するインタフェースの種別は問わないが、本実施形態ではＵＳＢインタフェースを用いることとする。本インタフェースにUSBストレージ１０２を接続することで、USBストレージ１０２に対してデータの読み書きを行うことができる。
USBストレージ１０２は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わないが、本実施形態ではＵＳＢマスストレージクラスを実装するＵＳＢメモリを用いる。
【００１５】
クライアントコンピュータ１０３は、所謂パーソナルコンピュータである。クライアントコンピュータ１０３は、可搬記憶媒体を接続するインタフェースを有している。可搬記憶媒体を接続するインタフェースの種別は問わないが、本実施形態ではＵＳＢインタフェースを用いる。本インタフェースにＵＳＢストレージ１０２を接続することで、ＵＳＢストレージ１０２に対してデータの読み書きを行うことができる。
【００１６】
外部サーバ１０４は、画像形成装置１０１で利用可能なファームウェアや各種ライセンス情報等（コンテンツ）を管理するサーバである。外部サーバ１０４はＬＡＮ１００に直接接続されていても、インターネットを経由して接続されていてもよい。ここで、コンテンツには、ファームウエア、拡張プログラムが含まれる。
【００１７】
《ハードウェア構成例−画像形成装置》
図２は、図１に示した画像形成装置１０１のハードウェア構成を示すブロック図である。
図２において、ＣＰＵ２１１を含む制御部２１０は、画像形成装置１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００１８】
ＨＤＤ２１４は、画像データや各種プログラム、或いは各種情報テーブルを記憶する。操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。
【００１９】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０から転送され、プリンタ２２０において記録媒体上に印刷される。
【００２０】
スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。
【００２１】
ネットワークＩ／Ｆ２１８は、制御部２１０（画像形成装置１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ上の外部装置に画像データや情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００２２】
ＵＳＢホストＩ／Ｆ２２２は、ＵＳＢストレージ１０２と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ２２２は、ＨＤＤ２１４に格納されているデータをＵＳＢストレージ１０２に出力する。また、ＵＳＢホストＩ／Ｆ２２２は、ＵＳＢストレージ１０２に格納されているデータを入力し、ＣＰＵ２１１にそれを伝える。ＵＳＢストレージ１０２は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ２２２に対して着脱可能である。ＵＳＢホストＩ／Ｆ２２２には、ＵＳＢストレージ１０２を含む複数のＵＳＢデバイスが接続可能である。
【００２３】
《ハードウェア構成例−クライアントコンピュータ》
図３は、図１に示したクライアントコンピュータ１０３の構成を示すブロック図である。
図３において、ＣＰＵ３１７を含む制御部３１６は、クライアントコンピュータ１０３全体の動作を制御する。ＣＰＵ３１７は、ＲＯＭ３１８に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３１９は、ＣＰＵ３１７の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３２０は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
【００２４】
操作Ｉ／Ｆ３２１は、クライアントコンピュータ１０３で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するＩ／Ｆである。この例では、マウス３２２やキーボード３２３で構成するが、その限りではない。
【００２５】
ディスプレイＩ／Ｆ３２４は、クライアントコンピュータ１０３で実行されるプログラムのＵＩを表示するディスプレイ端末を接続するＩ／Ｆである。この例ではディスプレイ３２５で構成するが、その限りではない。
ネットワークＩ／Ｆ３２６は、制御部３１６をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３２６は、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２６】
ＵＳＢホストＩ／Ｆ３２７は、ＵＳＢストレージ１０２と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ３２７は、ＨＤＤ３２０に格納されているデータをＵＳＢストレージ１０２に出力する。また、ＵＳＢホストＩ／Ｆ３２７は、ＵＳＢストレージ１０２に格納されているデータを入力し、ＣＰＵ３１７にそれを伝える。ＵＳＢストレージ１０２は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ３２７に対して着脱可能である。ＵＳＢホストＩ／Ｆ３２７には、ＵＳＢストレージ１０２を含む複数のＵＳＢデバイスが接続可能である。
【００２７】
《ハードウェア構成例−外部サーバ》
図４は、図１に示した外部サーバ１０４の構成を示すブロック図である。
図４において、ＣＰＵ４１１を含む制御部４１０は、外部サーバ１０４全体の動作を制御する。ＣＰＵ４１１は、ＲＯＭ４１２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ４１３は、ＣＰＵ４１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ４１４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。
ネットワークＩ／Ｆ４１５は、制御部４１０をＬＡＮ１００に接続する。ネットワークＩ／Ｆ４１５は、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２８】
《ソフトウェア構成例−画像形成装置》
図５は、図１に示した画像形成装置１０１のソフトウェア構成の例を示す図である。
図５において、ＯＳ５００上には、プリンタ２２０やＦＡＸ、スキャナ２２１などの元々備わっている制御用プログラムのネイティブプログラム５０１、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム５０２が動作している。更に、ネイティブプログラム５０１上には、ファームウェア更新サービス５０３、オプション有効化サービス５０４、設定管理サービス５０５が動作している。また拡張プログラム実行プラットフォーム５０２上には、拡張プログラムシステムサービス５０６と拡張プログラム５０７が動作している。
【００２９】
ファームウェア更新サービス５０３は、ファームウェアを更新するための各種機能を提供するサービスである。例えば、ファームウェア更新サービス５０３は、ユーザから指定されたファームウェアを参照し、該ファームウェアの更新が必要か否かを判断する。また、ファームウェア更新サービス５０３は、ネイティブプログラム５０１に対し、または介し、ファームウェアを更新する。
【００３０】
オプション有効化サービス５０４は、ネイティブプログラム５０１に予め組み込まれているオプション機能を、有効化するためのサービスである。オプション有効化サービス５０４は、ユーザから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、有効化する。
【００３１】
設定管理サービス５０５は、プリンタ２２０やスキャナ２２１などの各種設定情報を管理するためのサービスである。設定管理サービス５０５は、例えばユーザから１つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム５０１の設定情報を書き換える機能を提供する。
尚、設定管理サービス５０５は、ユーザインタフェース（以下、ＵＩ）を持っており、ユーザは画像形成装置１０１の操作部２１９を介して設定変更の指示ができる。拡張プログラムシステムサービス５０６は、拡張プログラム５０７に共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム５０７から拡張プログラムシステムサービス５０６の機能を呼び出すことにより、拡張プログラム５０７を開発する手間を省くことができる。
拡張プログラム５０７は、拡張プログラム実行プラットフォーム５０２または拡張プログラムシステムサービス５０６を介してのみ、他の拡張プログラム５０７やＲＡＭ２１３など画像形成装置１０１の各モジュールへアクセスすることができる。また、ＵＩを持つ拡張プログラム５０７は、画像形成装置１０１の操作部２１９に表示されるメインメニュー画面（図６）にアイコンを表示することができる。このアイコンをユーザが選択したことを、操作部２１９を通じて操作部Ｉ／Ｆ２１５が検知すると、操作部Ｉ／Ｆ２１５はその旨をＣＰＵ２１１に送信する。その旨を受け取ったＣＰＵ２１１はユーザに選択された拡張プログラムのＵＩを操作部２１９に表示する。
尚、本ソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
【００３２】
図６は、図１に示した画像形成装置１０１の操作部２１９に表示されるメインメニュー画面の例を示す図である。
図６において、メインメニュー画面６００は、プログラムアイコン表示エリア６０１、標準プログラムアイコン６０２、拡張プログラムアイコン６０３を有している。プログラムアイコン表示エリア６０１は、画像形成装置１０１で現在操作可能なプログラムのアイコンを表示するエリアである。
標準プログラムアイコン６０２は、画像形成装置１０１の制御プログラムが持つ機能を操作するためのＵＩを表示させるためのアイコンである。拡張プログラムアイコン６０３は、画像形成装置１０１の拡張プログラムを操作するためのＵＩを表示させるためのアイコンである。
【００３３】
《設置作業例》
以下、本発明に係る、画像形成装置の初期設置作業について説明する。
画像形成装置１０１の初期設置作業を行うにあたり、作業者はクライアントコンピュータ１０３で、設置指示情報作成システム７００のユーザインタフェース１１００により画像形成装置１０１の設置指示情報を作成する。
【００３４】
ここでは、画像形成装置１０１にインストールするファームウェアのバージョンや複数の拡張プログラムとバージョンを選択し、決定する。また、画像形成装置１０１の納品先の要望の設定値を作成する。作業者は、ＵＳＢストレージ１０２をクライアントコンピュータ１０３に接続する。
【００３５】
そして、作業者は、クライアントコンピュータ１０３で設置指示情報作成システム７００のユーザインタフェース１１００を操作し、前記操作により作成した設置指示情報をＵＳＢストレージ１０２に書き込む。本操作により、設置指示情報作成システム７００は前記操作により決定されたファームウェアや拡張プログラムのバイナリ―ファイルを外部サーバ１０４上のコンテンツ管理システム９００からダウンロードする。この処理については、図１４を用いて詳細を後述する。
【００３６】
作業者は、設置作業対象の画像形成装置１０１に初期設置の作業をサポートするためのサポートプログラム（以下、サポートプログラム）をインストールする。該サポートプログラムは画像形成装置１０１で既にインストールされ実行していてもよい。また、ネイティブプログラム５０１上の標準サービスとして、実装され実行されていてもよい。
作業者は、該ＵＳＢストレージ１０２をクライアントコンピュータ１０３から抜き取り、画像形成装置１０１にＵＳＢストレージ１０２を接続する。画像形成装置１０１の該サポートプログラムは、ＵＳＢストレージ１０２の設置指示情報を検知し、スクリプトに記載されている設置作業を自動的に実行する。
【００３７】
《ソフトウェア機能構成例》
また、本発明に係る、後述する設置指示情報出力処理は、クライアントコンピュータ１０３で動作するプログラムが行う。また、本発明に係る、後述する設置指示情報のスクリプト処理は、拡張プログラム５０７の一つであるサポートプログラムが行う。
【００３８】
図７は、図１に示したクライアントコンピュータ１０３で動作する設置指示情報作成システム７００の機能構成の例を示す図である。
図７において、ＣＰＵ３１７が各機能に応じたプログラムを実行することにより、各機能は実現される。また、本実施形態では、クライアントコンピュータ１０３でプログラムが実行されることを想定するが、その限りではない、ネットワークＩ／Ｆ３２６を介して、ネットワーク上にあるサーバやサービスで実行してもよい。
【００３９】
設置指示情報作成システム７００は、ＵＩ制御部７０１、通信部７０２、ストレージ管理部７０３、コンテンツキャッシュデータベース７０４、処理実行部７０５とスクリプト生成部７０６を有する。
【００４０】
ＵＩ制御部７０１は、設置指示情報作成システム７００を操作するためのＵＩを、ディスプレイ３２５を通じて作業者に提供し、マウス３２２やキーボード３２３を通じて作業者の操作を受け付ける。設置指示情報作成システム７００のＵＩ例については、図１１を用いて後述する。
【００４１】
通信部７０２は、ＵＩ制御部７０１および処理実行部７０５の指示に従い、ネットワークＩ／Ｆ３２６を介して、外部サーバ１０４の設置指示情報管理システム８００やコンテンツ管理システム９００と通信を行う。通信部７０２は設置指示情報管理システム８００から設置指示情報の読み出しや書き込みを依頼する。通信部７０２はコンテンツ管理システム９００からファームウェアや拡張プログラムの情報やバイナリデータの取得を行う。取得処理については、図１４を用いて後述する。
【００４２】
ストレージ管理部７０３は、通信部７０２が取得したファームウェアや拡張プログラム５０７の情報やバイナリデータを、コンテンツキャッシュデータベース７０４に管理する。また、ストレージ管理部７０３は、通信部７０２を介してＵＳＢストレージ１０２のデータの読み書きを行う。また、ストレージ管理部７０３は、通信部７０２を介してＵＳＢストレージ１０２の挿抜を検知する。
また、本実施形態ではコンテンツキャッシュデータベース７０４はＳＱＬデータベースを想定するが、その限りではない。ファイルシステムに構造化ファイルなどの方法で保持していてもよい。また、本実施形態では、クライアントコンピュータ１０３のＨＤＤ３２０に保存されることを想定するが、その限りではない。コンテンツキャッシュデータベース７０４では、コンテンツキャッシュテーブル（図１６）を管理する。
処理実行部７０５は、ＵＩ制御部７０１およびストレージ管理部８０３の指示に従い、各種処理を行う。スクリプト生成部７０６は、処理実行部７０５の指示に従い、設置指示情報とサポートプログラム１０００が解析可能なスクリプトを生成する。
【００４３】
図８は、図１に示した外部サーバ１０４で動作する設置指示情報管理システム８００の機能構成例を示す図である。
図８において、ＣＰＵ４１１が各機能に応じたプログラムを実行することにより、各機能は実現される。設置指示情報管理システム８００は制御部８０１、通信部８０２、ストレージ管理部８０３、設置指示情報データベース８０４を有する。制御部８０１は、通信部８０２が受信する要求内容にしたがって、ストレージ管理部８０３に対して設置指示情報の格納、削除、更新、取得等の処理を指示する。
【００４４】
ストレージ管理部８０３は、制御部８０１の指示に従い、設置指示情報データベース８０４に対して設置指示情報の格納、削除、更新を行う。また、ストレージ管理部８０３は設置指示情報データベース８０４から設置指示情報の取得などを行う。
【００４５】
通信部８０２は、クライアントコンピュータ１０３などからの要求を受信して、制御部８０１に要求内容を送信する。更に、制御部８０１から要求内容に対する処理結果を受け取り、前記要求に対する応答データを作成し、クライアントコンピュータ１０３などに応答データを送信する。
【００４６】
設置指示情報データベース８０４は設置指示情報管理システム８００で動作するデータベースである。尚、本例では設置指示情報管理システム８００に設置指示情報データベース８０４が構成されているが、設置指示情報管理システム８００と連携できるようになっていれば別のサーバに配置されるような構成でも良い。
設置指示情報データベース８０４では、後述する設置指示情報管理テーブル１５００、共通データ拡張プログラムテーブル１５２０、個別データテーブル１５４０を管理している。共通データ拡張プログラムテーブル１５２０、個別データテーブル１５４０の各行は設置指示情報ＩＤ１５２２、１５４２によって、設置指示情報管理テーブル１５００の各行と関連を持ったデータ管理がなされている。
【００４７】
図９は、図１に示した外部サーバ１０４で動作するコンテンツ管理システム９００の機能構成例を示す図である。なお、各機能はＣＰＵ４１１が各機能に応じたプログラムを実行することにより実現される。
図９において、コンテンツ管理システム９００は制御部９０１、通信部９０２、ストレージ管理部９０３、コンテンツ情報データベース９０４を有する。
コンテンツ管理システム９００では、画像形成装置１０１のファームウェアや拡張プログラムをバージョンごとに管理する。制御部９０１は、通信部９０２が受信する要求内容にしたがって、ストレージ管理部９０３に対してコンテンツ情報の格納、削除、更新、取得等の処理を指示する。
【００４８】
ストレージ管理部９０３は、制御部９０１の指示に従い、コンテンツ情報データベース９０４に対してコンテンツ情報の格納、削除、更新を行う。また、ストレージ管理部９０３はコンテンツ情報データベース９０４からコンテンツ情報の取得などを行う。
【００４９】
通信部９０２は、クライアントコンピュータ１０３などからの要求を受信して、制御部９０１に要求内容を送信する。更に、制御部９０１から要求内容に対する処理結果を受け取り、前記要求に対する応答データを作成し、クライアントコンピュータ１０３などに応答データを送信する。
【００５０】
コンテンツ情報データベース９０４はコンテンツ管理システム９００で動作するデータベースである。尚、本例ではコンテンツ管理システム９００にコンテンツ情報データベース９０４が構成されているが、コンテンツ管理システム９００と連携できるようになっていれば別のサーバに配置されるような構成でも良い。コンテンツ情報データベース９０４では、コンテンツ管理テーブル１７００を管理している。
【００５１】
また、コンテンツ管理システム９００は設置指示情報管理システム８００と同じ外部サーバ１０４で動作するシステムとして構成されているが、設置指示情報管理システム８００と連携できるようになっていれば、別のサーバに配置されるような構成でも良い。
【００５２】
図１０は、図１に示した画像形成装置１０１で動作するサポートプログラム１０００の機能構成の例を示す図である。なお、各機能はＣＰＵ２１１が各機能に応じたプログラムを実行することにより実現される。
図１０において、サポートプログラム１０００は、ＵＩ制御部１００１、ストレージ管理部１００２、処理実行部１００３とスクリプト解析部１００４を有する。ＵＩ制御部１００１は、サポートプログラム１０００を操作するためのＵＩを、操作部２１９を通じて作業者に提供し、作業者の操作を受け付ける。ストレージ管理部１００２は、ＵＳＢストレージ１０２のデータの読み書きを行う。また、ストレージ管理部１００２は、ＵＳＢストレージ１０２の挿抜を検知する。
処理実行部１００３は、ＵＩ制御部１００１及びストレージ管理部１００２の指示に従い、各種処理を行う。スクリプト解析部１００４は、ＵＳＢストレージ１０２に格納されている設置作業指示情報のスクリプトを解析し、処理実行部１００３が実行すべき処理、順序を決定する。
【００５３】
図１１、図１２は、図１に示したクライアントコンピュータ１０３で動作する設置指示情報作成システム７００が設置指示情報管理システム８００の設置指示情報を編集するためのＵＩの一例を示す図である。特に、図１１は、設置指示情報作成システム７００の設置指示情報を一覧表示するＵＩの一例である。
図１１において、ＵＩ１１００は、設置指示情報リスト１１０１とボタン１１０２からボタン１１０４で構成される。設置指示情報作成システム７００は、起動すると外部サーバ１０４の設置指示情報管理システム８００から設置指示情報の一覧を取得する。そして、設置指示情報作成システム７００は、取得した設置指示情報の一覧を設置指示情報リスト１１０１にセットしてＵＩ１１００を表示する。設置指示情報リスト１１０１は、設置指示情報の概要を表示するリストである。本例では、設置指示情報名、作成日時、作成者を表示している。
【００５４】
ボタン１１０２は、設置指示情報を新規で作成するためのボタンである。ボタン１１０２が押下されると、後述する設置指示情報を作成するためのＵＩ１２００（図１２参照）を表示する。ボタン１１０２が押下された場合は新規作成となるため、ＵＩ１２００は、テキストボックスなどの各コントロールを空の状態で表示する。
【００５５】
ボタン１１０３は、設置指示情報を編集するためのボタンである。ボタン１１０３が押下されると、クライアントコンピュータ１０３の設置指示情報作成システム７００は、設置指示情報リスト１１０１で選択状態である設置指示情報の詳細データを外部サーバ１０４の設置指示情報管理システム８００から取得する。設置指示情報作成システム７００は、取得した設置指示情報の詳細データをＵＩ１２００のテキストボックスなどの各コントロールにセットして表示する。ボタン１１０４は、設置指示情報作成システム７００を終了するためのボタンである。
【００５６】
図１２に示すＵＩ画面例は、設置指示情報作成システム７００の設置指示情報を編集するためのＵＩの一例である。
図１２において、ＵＩ１２００は、メニューバー１２０１ａ、１２０１ｂ、タブページ１２０２から１２０５、および、ボタン１２１６で構成される。ＵＩ１２００では、タブページ１２０４がアクティブな状態で表示されている。タブページ１２０４は、ラジオボタンやボタンなどのコントロール１２０６からコントロール１２１５で構成される。
【００５７】
メニューバー１２０１ａは、設置指示情報の編集にかかわる操作を指示するメニューを表示する。メニューバー１２０１ｂはファイルメニューを押下した際に表示されるサブメニューの例である。サブメニューに対応するボタン１２１６が押下されると、設置指示情報作成システム７００は作成、編集した設置指示情報を外部サーバ１０４の設置指示情報管理システム８００に保存する要求を送信する。サブメニュー１２１７を押下されると、設置指示情報の作成、編集を終了する。
タブページ１２０２は、設置指示情報の概要を設定するためのタブページである。設置指示情報の概要とは、設置指示情報名、作成日時、作成者などである。
タブページ１２０３は、設置対象の機種情報や、画像形成装置に追加するフィニッシャー、ＦＡＸボードなどを設定する。タブページ１２０４は、共通データの設定を行うためのタブページである。共通データとは設置対象の複数の画像形成装置１０１に対して共通で設定するデータである。チェックボックスに対応するコントロール１２０６は、設置対象の画像形成装置１０１のファームウェアを更新するかどうかを指定する。
【００５８】
ラジオボタン１２０７、１２０８は、更新する場合のファームウェア種別が、商談用カスタマイズされたプログラムを含む商談ファームウェアか、カスタマイズされていない標準機能を含む一般ファームウェアかどうかを指定する。
【００５９】
ラジオボタン１２０９、１２１０は、更新するファームウェアのバージョンの指定方法が、ある特定のファームウェアバージョンを利用するか、設置指示情報のスクリプト作成時の最新バージョンを利用するかどうかを指定する。
【００６０】
ボタン１２１１は、ファームウェアのバージョンを選択するためのボタンである。ボタン１２１１が押下されると、設置対象の画像形成装置１０１に適用可能なファームウェア一覧から特定のバージョンを選択するための画面を表示し、さらに、商談ファームウェアのようにパスワード管理されている場合に、パスワード入力を行う画面を表示する。
【００６１】
ラベル１２１２は、前記ボタン１２１１で指定されたファームウェアのバージョンなどの概要情報を表示する。また、前記ラジオボタン１２０９の最新を選択されている場合に、現在の最新ファームウェアの概要情報を表示する。
【００６２】
ボタン１２１３は、設置対象の画像形成装置１０１にインストールする拡張プログラムを選択するための画面を表示するためのボタンである。ボタン１２１３を押下されると、選択可能な拡張プログラムのリストが表示され、インストールする拡張プログラムを確定することができる。
【００６３】
ボタン１２１４は、選択済みの拡張プログラムを解除するためのボタンである。ボタン１２１４が押下されると、拡張プログラムリスト１２１５で選択状態の拡張プログラムをリストから削除する。
【００６４】
拡張プログラムリスト１２１５は、設置対象の画像形成装置１０１にインストールする拡張プログラムを表示するリストである。本例では、拡張プログラムの名前、種別、指定方法、バージョンを表示している。
【００６５】
タブページ１２０５は、個別データの設定を行うためのタブページである。個別データとは、設置対象の画像形成装置１０１ごとに設定するデータである。例えば、画像形成装置のネットワーク設定におけるＩＰアドレスやＮｅｔＢＩＯＳ名などである。
【００６６】
ボタン１２１６は、ＵＳＢストレージに設置指示情報のスクリプト書き出しを行うためのボタンである。ボタン１２１６が押下されると、設置指示情報作成システム７００はクライアントコンピュータ１０３に接続されているＵＳＢストレージに対して、表示している設置指示情報のスクリプトとコンテンツデータを書き込む。その際、設置指示情報作成システム７００はサポートプログラム１０００が解析可能な設置用のスクリプトを生成する。設置用のスクリプトの生成処理については図１３用いて後述する。
【００６７】
《設置指示情報のスクリプト生成処理フロー》
図１３は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、設置指示情報作成システム７００がＵＳＢストレージ１０２に設置指示情報をもとにスクリプトを生成する処理例である。なお、サポートプログラム１０００が処理可能なスクリプトと各種ソフトウェアのコンテンツデータについては、図１８、１９用いて後述する。また、本処理は設置指示情報作成システム７００のＵＩ１２００のボタン１２１６を押下されたことを検知することで開始する。さらに、各ステップは、ＣＰＵ３１７が記憶された制御プログラムを実行することで実現される。
【００６８】
Ｓ１３００で、処理実行部７０５は、設置指示情報のファームウェアを更新することを選択されているか判断する。前記設置指示情報の編集ＵＩ１２００では、コントロール１２０６がチェックされている状態が、更新することを選択されていることを示す。ファームウェアを更新すると処理実行部７０５が判断した場合、Ｓ１３０１へ移る。ファームウェアを更新しないと判断した場合は、Ｓ１３０２へ移る。
Ｓ１３０１で、通信部７０２は、設置指示情報を元に、設置に必要なファームウェアのコンテンツ取得処理を行う。外部サーバ１０４からのコンテンツ取得処理の詳細については、図１４を用いて後述する。
【００６９】
Ｓ１３０２で、処理実行部７０５は、設置指示情報の拡張プログラムリスト１２１５の各拡張プログラムについて、Ｓ１３０３を処理する。リストのすべての拡張プログラムの取得処理を終了すると、Ｓ１３０４へ移る。
具体的には、Ｓ１３０３で、通信部７０２は、設置指示情報を元に、外部サーバ１０４から設置に必要な拡張プログラムのコンテンツ取得処理を行う。コンテンツ取得処理については、図１４を用いて後述する。
【００７０】
Ｓ１３０４で、通信部７０２は、外部サーバ１０４の設置指示情報管理システム８００から、設置指示情報に含まれる設置対象の複数の画像形成装置１０１に共通で設定する各種設定値のデータを取得する。ここで、共通の設定値とは、画像形成装置１０１を運用する際、スリープ移行時間や、メールサーバ設定などである。Ｓ１３０５で、設置指示情報のタブページ１２０５で設定された個別データを取得する。
【００７１】
Ｓ１３０６で、スクリプト生成部７０６は、処理実行部７０５の指示を受けて、設置対象デバイスＩＤごとの設置用のスクリプトを生成する。尚、生成する設置用のスクリプトについては、図１９を用いて後述する。
【００７２】
Ｓ１３０７で、ストレージ管理部７０３は、処理実行部７０５の指示を受けて、Ｓ１３０６で生成した設置用のスクリプトをＵＳＢストレージ１０２に保存して、本処理を終了する。また、ストレージ管理部７０３は、Ｓ１３０１で取得したファームウェアコンテンツ、Ｓ１３０３で取得したソフトウェアコンテンツ、Ｓ１３０４で取得した共通設定値データ、Ｓ１３０５で取得した個別設定値データをＵＳＢストレージ１０２に保存する。Ｓ１３０７の処理によりＵＳＢストレージに書き出した設置データのファイル構成については図１８用いて後述する。
【００７３】
《コンテンツ取得処理フロー》
図１４は、本実施形態を示す情報処理装置の制御方法を示すフローチャートである。本例は、設置指示情報のスクリプト生成処理例であって、Ｓ１３０１に対応する、設置指示情報作成システム７００がコンテンツ管理システム９００からソフトウェアコンテンツを取得する処理の詳細例である。なお、各ステップは、ＣＰＵ３１７が記憶された制御プログラムを実行することで実現される。
【００７４】
Ｓ１４００で、処理実行部７０５は、設置指示情報のソフトウェアコンテンツの種別を判断する。図１２に示すＵＩ画面のコントローラ１２１５で示されるコンテンツの種別が「一般」の場合、Ｓ１４０１へ移る。一方、同種別が「商談」の場合、Ｓ１４０５へ移る。
【００７５】
Ｓ１４０１で、処理実行部７０５は、コンテンツのバージョン指定方法を判断する。ここで、バージョン指定方法が「最新」であると処理実行部７０５が判断した場合、本処理実行時点でのコンテンツの最新バージョンを利用するため、Ｓ１４０２へ移る。「バージョン指定」の場合、Ｓ１４０４へ移る。
【００７６】
Ｓ１４０２で、通信部７０２は、外部サーバ１０４のコンテンツ管理システム９００にソフトウェアコンテンツの最新バージョンの情報を問い合わせ、その結果を受信する。コンテンツ管理システム９００の通信部９０２はストレージ管理部９０３を介し、コンテンツ情報データベース９０４からソフトウェアコンテンツの最新バージョンを検索する。コンテンツ情報データベース９０４にはコンテンツ管理テーブル１７００が登録されている。
【００７７】
Ｓ１４０３で、前記Ｓ１４０２、もしくは、後述するＳ１４０５で受信したソフトウェアコンテンツのバージョンを、キャッシュデータを検索する検索キーとして確定する。Ｓ１４０４で、設置指示情報で指定されているソフトウェアコンテンツのバージョンを、コンテンツキャッシュテーブル図１６を検索する検索キーとして確定する。
Ｓ１４０５で、通信部７０２は、設置指示情報で指定されている商談用コンテンツのパスワードで、外部サーバ１０４のコンテンツ管理システム９００にバージョンの情報を問い合わせ、結果を受信する。
【００７８】
Ｓ１４０６で、ストレージ管理部７０３は、前記Ｓ１４０３、もしくはＳ１４０４で確定した検索バージョンをキーにコンテンツキャッシュテーブル（図１６）を検索する。ここで、検索結果がないとストレージ管理部７０３が判断した場合は、Ｓ１４０７へ移る。一方、検索結果があると、ストレージ管理部７０３が判断した場合は、Ｓ１４１６へ移る。
【００７９】
Ｓ１４０７で、検索バージョンのコンテンツバージョンがコンテンツキャッシュテーブル図１６内に存在しないため、通信部７０２は、コンテンツ管理システム９００に検索バージョンのコンテンツを要求し、取得する。Ｓ１４０８で、外部サーバ１０４からダウンロードしたコンテンツの種別を判断する。ここで、コンテンツの種別が「一般」であると処理実行部７０５が判断した場合、Ｓ１４０９へ移る。一方、「商談」であると処理実行部７０５が判断した場合、Ｓ１４１２へ移る。
【００８０】
Ｓ１４０９で、設置指示情報のコンテンツのバージョン指定方法が「最新」であると判断した場合、さらに、コンテンツキャッシュテーブル図１６内に設置指示情報の機種情報とバージョン指定方法が「最新」の旧バージョンのキャッシュコンテンツが存在すると処理実行部７０５が判断した場合に、Ｓ１４１１へ移る。一方、最新」の旧バージョンのキャッシュコンテンツが存在しないと処理実行部７０５が判断した場合、Ｓ１４１０へ移る。Ｓ１４１０で、前記Ｓ１４０７で、外部サーバ１０４からダウンロードしたコンテンツをコンテンツキャッシュテーブル（図１６）に登録する。
【００８１】
Ｓ１４１１で、コンテンツキャッシュテーブル（図１６）内にバージョン指定方法が「最新」の旧バージョンのキャッシュコンテンツを削除し、Ｓ１４１０でコンテンツキャッシュテーブル（図１６）に登録する。
【００８２】
Ｓ１４１２で、処理実行部７０５は、前記Ｓ１４０７で外部サーバ１０４からダウンロードしたコンテンツをパスワードで暗号化し、Ｓ１４１０でコンテンツキャッシュテーブル（図１６）に登録する。
これにより、商談用のような特定用途のコンテンツを不正な作業者に利用させないことができる。
Ｓ１４１３で、前記Ｓ１４１０で登録したキャッシュコンテンツのバージョン指定方法を登録する。Ｓ１４１４で、前記Ｓ１４０７でダウンロードしたコンテンツをＵＳＢストレージ１０２に出力するコンテンツとして確定し、本処理を終了する。
【００８３】
Ｓ１４１６で、通信部７０２は、検索バージョンのコンテンツバージョンがコンテンツキャッシュテーブル（図１６）に存在していたため、該キャッシュ済みのコンテンツの公開状態を外部サーバ１０４のコンテンツ管理システム９００に問い合わせ、結果を受信する。
【００８４】
Ｓ１４１７で、処理実行部７０５は、前記Ｓ１４１６で受信したコンテンツの公開状態を判断する。コンテンツが公開状態であると処理実行部７０５が判断した場合、Ｓ１４１８へ移り、非公開状態であると処理実行部７０５が判断した場合、Ｓ１４２４へ移る。
【００８５】
Ｓ１４１８で、処理実行部７０５は、Ｓ１４０６で見つかったキャッシュ済みコンテンツの種別を判断する。ここで、コンテンツの種別が「一般」であると処理実行部７０５が判断した場合、Ｓ１４１９へ移る。一方、「商談」であると判断した場合、Ｓ１４２２へ移る。
【００８６】
Ｓ１４１９で、ストレージ管理部７０３は、コンテンツの種別が「一般」の場合、キャッシュ済みコンテンツの内、一定の閾値を満たさないバージョンのコンテンツを削除する。ここで、一定の閾値とは、バージョンが５バージョン以内や、キャッシュ利用日時が１０日以内など、利用頻度の高いものを残すための閾値である。
したがって、それより古いバージョン、利用頻度が低いバージョンのコンテンツを削除する。
これにより、Ｓ１４１０において、設置指示情報で「バージョン指定」で取得したコンテンツを無制限でコンテンツキャッシュテーブルに登録してしまう処理が実行されてしまうことを防いでいる。
Ｓ１４２０で、ストレージ管理部７０３は、Ｓ１４０６で見つかったキャッシュ済みコンテンツのバージョン指定方法を「バージョン指定」に書き換える。Ｓ１４２１で、前記Ｓ１４０６で見つかったャッシュ済みコンテンツをＵＳＢストレージ１０２に出力するコンテンツとして確定し、本処理を終了する。
【００８７】
Ｓ１４２２で、ストレージ管理部７０３は、コンテンツの種別が「商談」であると判断した場合、パスワードでキャッシュコンテンツを復号化する。そして、復号化処理が正常に完了したとストレージ管理部７０３が判断した場合、Ｓ１４２１へ移る。
一方、復号化処理が正常に完了しなかったとストレージ管理部７０３が判断した場合、Ｓ１４２５へ移る。Ｓ１４２４で、ストレージ管理部７０３は、非公開になり、再利用されるべきでないのでキャッシュコンテンツのバージョンを削除し、Ｓ１４２５へ移る。
【００８８】
Ｓ１４２５で、Ｓ１４２３で、復号化失敗した、もしくは、非公開キャッシュコンテンツを利用しようとした場合、コンテンツが利用可能でないため、ストレージ管理部７０３は、本処理結果を失敗として、本処理を終了する。
【００８９】
図１５から図１７を用いて、Ｓ１３０１において、設置指示情報Ｍ００２を処理する場合を例に説明する。
Ｓ１４００で、外部サーバ１０４が管理する図１５に示すファームウェア種別１５０８は「一般」のため、Ｓ１４０１へ移る。Ｓ１４０１で、ファームウェア指定方法１５０９は「最新」のため、Ｓ１４０２へ移る。
【００９０】
Ｓ１４０２で、機種１５０５がＢであるため、ストレージ管理部９０３は、コンテンツ管理テーブル１７００の機種１７０６がＢで、バージョンが最新のコンテンツＩＤＣ００５を検索結果として返信する。Ｓ１４０３で、Ｓ１４０２で受信した、ファームウェアの最新バージョンはバージョン１７０５のＶ０２００であるコンテンツＩＤＣ００５に確定する。
Ｓ１４０６で、クライアントコンピュータ１０３が管理する図１６の（Ａ）に示すコンテンツキャッシュテーブル１６００からコンテンツＩＤＣ００５を検索し、検索結果がないと判断されるため、キャッシュされていないことを検知する。Ｓ１４０７で、コンテンツＩＤＣ００５のコンテンツファイル１７０８を外部サーバ１０４から取得する。Ｓ１４０８で、ストレージ管理部９０３は、コンテンツＩＤＣ００５の種別１７０２を判断し、「一般」であるため、Ｓ１４０９へ移る。なお、
【００９１】
Ｓ１４０９で、設置指示情報Ｍ００２のファームウエア指定方法１５０９が新旧バージョンのうち、「最新」が指定されている。図１６の（Ａ）に示すコンテンツキャッシュテーブル１６００で機種１６０７がＢで、バージョン指定方法が「最新」のコンテンツであるコンテンツＩＤＣ００４が存在するため、Ｓ１４１１へ移る。Ｓ１４１１で、Ｓ１４０９で見つかったコンテンツＩＤＣ００４を削除し、Ｓ１４１０へ移る。
なお、図１６の（Ａ）において、コンテンツキャッシュテーブル１６００は、コンテンツＩＤ１６０１、権限種別である種別１６０２、公開情報に対応する状態１６０３、コンテンツ名１６０４を含んで構成される。さらに、コンテンツキャッシュテーブル１６００は、バージョン情報であるバージョン１６０５、指定方法１６０６、機種１６０７、コンテンツファイル１６０８を含んで構成される。
【００９２】
Ｓ１４１０で、図１６の（Ｂ）に示すように、Ｓ１４０７で取得したコンテンツＩＤＣ００５をコンテンツキャッシュテーブル１６２０に登録する。登録後はコンテンツキャッシュテーブル１６２０のデータになる。これにより、機種Ｂに対して定期的に更新される最新ファームウェアをコンテンツキャッシュテーブル１６２０内に１バージョンのみ保持することができる。これにより、クライアントコンピュータ１０３が確保すべくキャッシュ容量の圧迫を抑えることができる。
【００９３】
図１６の（Ｂ）に示すコンテンツキャッシュテーブル１６２０の状態において、再度、設置指示情報Ｍ００２を処理した場合、Ｓ１４０６で、コンテンツキャッシュテーブル１６２０からコンテンツＩＤＣ００５を検索し、検索結果があるため、Ｓ１４１６へ移り処理を継続する。これにより、すでにコンテンツキャッシュテーブルに存在するコンテンツを再利用することができる。
Ｓ１３０１において、図１６の（Ｂ）に示すコンテンツキャッシュテーブル１６２０の状態で、設置指示情報Ｍ００３を処理する場合を例に説明する。Ｓ１４００で、ファームウェア種別１５０８は「一般」のため、Ｓ１４０１へ移る。
Ｓ１４０１で、ファームウェア指定方法１５０９は「バージョン指定」のため、Ｓ１４０４へ移る。Ｓ１４０４で、ファームウェアバージョン１５１０のＶ０２００を検索キーとして確定する。Ｓ１４０６で、コンテンツキャッシュテーブル１６２０から機種ＢのＶ０２００を検索し、検索結果があるため、Ｓ１４１６からＳ１４２０を処理する。
【００９４】
Ｓ１４２０で、Ｓ１４０６で見つかったキャッシュ済みコンテンツのバージョン指定方法を「バージョン指定」に書き換え、図１６の（Ｃ）に示すコンテンツキャッシュテーブル１６４０になる。Ｓ１４２１へ移り、処理を継続する。ここで、キャッシュ済みコンテンツのバージョン指定方法を「最新」から「バージョン指定」に変更する。これにより、設置指示情報Ｍ００２を再度処理した際に、新しいバージョンのコンテンツが公開されていた場合でも、Ｓ１４１１でコンテンツＩＤＣ００５が削除されない。したがって、キャッシュを再利用可能にすることができる。
【００９５】
《ＵＳＢストレージの設置指示情報とスクリプト例》
図１８は、本実施形態に係る、設置指示情報作成システム７００が使用する外部メモリの一例であるＵＳＢストレージ１０２内のフォルダー及びファイル構成の例を示す図である。ここで、ＵＳＢストレージ１０２はUSBメモリである。
図１８において、ルートフォルダー１８００の中には、Ｆｉｒｍｗａｒｅフォルダー１８０１、ＥｍｂｅｄｄｅｄＦｕｎｃフォルダー１８０３、Ａｐｐフォルダー１８０５、ＤｅｖＣｏｎｆｉｇフォルダー１８０８、Ｌｏｇフォルダー１８１０、Ｓｃｒｉｐｔ．ｘｍｌファイル１８１２が存在する。
【００９６】
Ｆｉｒｍｗａｒｅフォルダー１８０１は、画像形成装置１０１に対して更新したいファームウェアを格納するフォルダーである。本図では、Ｆｉｒｍｗａｒｅフォルダー１８０１の中にファームウェア群をｚｉｐ形式でアーカイブしたＦｉｒｍｗａｒｅ＿ｖ１．０．１．ｚｉｐファイル１８０２が存在している。
【００９７】
ＥｍｂｅｄｄｅｄＦｕｎｃフォルダー１８０３は、画像形成装置１０１にプリインストールされている機能をアクティベートするためのライセンスファイルを格納するフォルダーである。本図では、ＥｍｂｅｄｄｅｄＦｕｎｃフォルダー１８０３の中にライセンスファイルＥｍｂｅｄｄｅｄＦｕｎｃ−Ｌｉｃｅｎｓｅ．ｌｉｃ１８０４が存在している。
【００９８】
Ａｐｐフォルダー１８０５は、初期設置作業にて画像形成装置１０１に対してインストールすべき拡張プログラム、及び拡張プログラムのインストールに必要なライセンスファイルを格納するフォルダーである。本図では、Ａｐｐフォルダー１８０５に拡張プログラムＡｐｐｌｉｃａｔｉｏｎ００１．ｊａｒ１８０６、及びライセンスファイルＡｐｐ００１−Ｌｉｃｅｎｓｅ．ｌｉｃ１８０７が存在している。
ＤｅｖＣｏｎｆｉｇフォルダー１８０８は、リファレンス画像形成装置にて事前に設定、及びエクスポートした設定情報を格納するフォルダーである。
本図では、ＤｅｖＣｏｎｆｉｇフォルダー１８０８に、ｚｉｐ形式でアーカイブしたファイルｄｅｖｉｃｅＣｏｎｆｉｇｕｒａｔｉｏｎＦｉｌｅ．ｚｉｐ１８０９が存在している。
【００９９】
Ｌｏｇフォルダー１８１０は、サポートプログラムが実行した結果のファイル（以降、ログ）を格納するためのフォルダーである。本図では、Ｌｏｇ．ｔｘｔ１８１１が格納されているが、サポートプログラムを実行する前は、Ｌｏｇフォルダー１８１０、及びＬｏｇ．ｔｘｔ１８１１は存在しない。これらのフォルダー及びファイルは、実行中、または実行後にサポートプログラムが、一度Ｌｏｇフォルダー１８１０、及びＬｏｇ．ｔｘｔ１８１１に作成し、それをコピーすることによって作成される。
【０１００】
Ｓｃｒｉｐｔ．ｓｐｔ１８１２は、初期設置作業を自動的に処理するための作業手順を示すスクリプトである。スクリプトの詳細については、図１０にて後述する。尚、本スクリプトは初期設置作業手順を定義するファイルであるが、スクリプトファイル１８１２の存在有無によってサポートプログラムの実行可否を決定しても良い。つまり使用中のＵＳＢストレージ１０２が、本実施形態に係るサポートプログラム用のＵＳＢストレージ１０２であることを示す識別子として使用しても良い。尚、本図における構成は一例であり、これに限らず任意のフォルダー構成として良い。
【０１０１】
図１９は、図１に示した画像形成装置が読み込むスクリプトの一例を示す図である。以下、設置指示情報のスクリプトの例を用いて、画像形成装置１０１の初期設置作業を自動実施する処理を説明する。
図１９において、スクリプト１９００は、サポートプログラム１０００のストレージ管理部１００２で読み込まれ、処理実行部１００３を介しスクリプト解析部１００４によって解析される。スクリプト解析部１００４によって解析されたスクリプト１９００は、その後、処理実行部１００３によって記載された初期設置作業が実行される。また本図におけるスクリプト１９００は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）で記載されており、機器識別部１９０１と処理記載部１９０２で構成されている。尚、本図ではＸＭＬによりスクリプトを表現しているが、ＸＭＬに限定されず、シェルスクリプトなどで書かれていても良い。
【０１０２】
機器識別部１９０１は、初期設置作業の対象である画像形成装置１０１を識別するための情報が記載されており、画像形成装置１０１の識別子である＜ｄｅｖｉｃｅＩｄ＞と、本スクリプトの内容を任意の文字列で示す＜ｃｏｍｍｅｎｔ＞で構成されている。＜ｃｏｍｍｅｎｔ＞は、本スクリプトの内容説明だけでなく、＜ｄｅｖｉｃｅＩｄ＞だけで識別不可能な場合の識別子として利用しても良い。例えば、１つの画像形成装置１０１に対し複数の設定を用意する必要がある場合に識別子として利用可能である。
【０１０３】
処理記載部１９０２は、初期設置作業を実施するために必要な処理群が記載される。本図では、ファームウェア更新処理１９０３、拡張プログラムインストール処理１９０４、拡張プログラム開始処理１９０５、システム組み込みオプションプログラムアクティベート処理１９０６、設定情報インポート処理１９０７で構成されている。各初期設置作業の処理を示すタグの中にはＯｒｄｅｒ属性が含まれており、本図ではＯｒｄｅｒの値に応じて初期設置作業の順番が決定する。尚、処理の順番を特に指定しない場合は、Ｏｒｄｅｒの値を同じにすることもできる。Ｏｒｄｅｒの値が同じ場合は、処理記載部１９０２に書かれている順番で実行しても良いし、スクリプト解析部１００４が読み取った順番でも良い。また各処理で使用するデータの容量などで判断しても良い。
【０１０４】
ファームウェア更新処理１９０３は、ファームウェア更新サービス５０３を介してファームウェアを更新する処理である。ファームウェア更新処理１９０３は、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞タグを記載することで処理を定義する。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグと＜ＦｉｒｍｗａｒｅＮａｍｅ＞により使用するファイルを指定している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグは、ルートフォルダから更新したいファームウェアまでの相対パスが記載されている。＜ＦｉｒｍｗａｒｅＮａｍｅ＞タグは、更新したいファームウェアが指定されている。本図においてはＺｉｐ形式でアーカイブされたファームウェアが指定されている。
【０１０５】
拡張プログラムインストール処理１９０４は、拡張プログラムシステムサービス５０６を介して、拡張プログラムをインストールする処理である。拡張プログラムインストール処理１９０４は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義する。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ＡｐｐＦｉｌｅＮａｍｅ＞タグによりインストールする拡張プログラムを指定している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグは、ルートフォルダー１８００からインストール対象の拡張プログラムの実体までの相対パスが記載されている。＜ＡｐｐＦｉｌｅＮａｍｅ＞タグは、インストール対象の拡張プログラムの実体が指定されている。本図においてはＪａｒファイル形式の拡張プログラムが指定されている。尚、本拡張プログラムの形式はＪａｒファイル形式に限定されない。
【０１０６】
また、拡張プログラムインストール処理１９０４ａはインストール対象の拡張プログラムに対するライセンスを＜ｌｉｃｅｎｓｅＲｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグにより指定している。＜ｌｉｃｅｎｓｅＲｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグは、ルートフォルダー１８００から拡張プログラムのライセンスファイルまでの相対パスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグは、拡張プログラムのライセンスの実体が指定されている。本図においては．ｌｉｃファイル形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。
【０１０７】
拡張プログラム開始処理１９０５は、＜ｓｔａｒｔＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義しており、＜ａｐｐＩｄ＞タグにより開始対象の拡張プログラムを指定している。＜ａｐｐＩｄ＞タグは、開始対象の拡張プログラムを唯一に識別するＩＤが指定されている。
【０１０８】
組み込みオプションプログラムアクティベート処理１９０６は、オプション有効化サービス５０４を介して、組み込みオプションを有効化する処理である。組み込みオプションプログラムアクティベート処理１９０６は＜ａｃｔｉｖａｔｅＥｍｂｅｄｄｅｄＦｕｎｃｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義する。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグによりアクティベートする組み込みオプションプログラムを指定している。
＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグは、ルートフォルダー１８００からアクティベートする組み込みオプションプログラムのライセンスファイルまでの相対パスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグは、組み込みオプションプログラムを有効化するためのライセンスの実体が指定されている。本図においてはｌｉｃ形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。尚、画像形成装置１０１にプリインストールされた組み込みオプションプログラムが存在しない場合、また有効化しない場合には、この初期設置作業処理の記載は不要である。
【０１０９】
設定情報インポート処理１９０７は、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの記載により処理を定義する。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグ、及び＜ｃｏｎｆｉｇＦｉｌｅＮａｍｅ＞タグ、によりインポートする設定情報ファイルを指定している。＜ｒｅｌａｔｉｖｅＤｉｒＰａｔｈ＞タグは、ルートフォルダー１８００からインポート対象の設定情報ファイルまでの相対パスが記載されている。
＜ｃｏｎｆｉｇＦｉｌｅＮａｍｅ＞タグは、インポート対象の設定情報ファイルが指定されている。本図においてはＺｉｐ形式にアーカイブされた設定情報ファイルが指定されている。尚、本設定情報ファイルの形式はＺｉｐファイル形式に限定されない。
【０１１０】
尚、本図で示すスクリプトの初期設置作業の処理は記載された処理に限定されず、例えば画像形成装置１０１の再起動処理などを加えても良い。また必要不要に応じて処理の重複、増減があっても良い。
【０１１１】
上記のスクリプト生成処理フローとそれにおけるコンテンツ取得処理フローで、各画像形成装置の機種ごとのコンテンツを、処理のたびにインターネットから取得する必要がなく、初期設置作業を効率的に実施できるようになる。
また、各画像形成装置の機種ごと最新バージョンの１つのバージョンのキャッシュコンテンツを管理する。さらに、特定のバージョン利用の際には新しいバージョンだけでなく、古いバージョンも一定期間キャッシュに保持することで、キャッシュデータ容量を抑えることができるようになる。以上説明した構成により、画像形成装置の初期設置作業をさらに効率化を図ることができる。
【０１１２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１３】
１０１  画像処理装置
１０２  可搬記憶媒体
１０３  クライアントコンピュータ
１０４  外部サーバ
【図１】
2017033380.tif 000003
【図２】
2017033380.tif 000004
【図３】
2017033380.tif 000005
【図４】
2017033380.tif 000006
【図５】
2017033380.tif 000007
【図６】
2017033380.tif 000008
【図７】
2017033380.tif 000009
【図８】
2017033380.tif 000010
【図９】
2017033380.tif 000011
【図１０】
2017033380.tif 000012
【図１１】
2017033380.tif 000013
【図１２】
2017033380.tif 000014
【図１３】
2017033380.tif 000015
【図１４】
2017033380.tif 000016
【図１５】
2017033380.tif 000017
【図１６】
2017033380.tif 000018
【図１７】
2017033380.tif 000019
【図１８】
2017033380.tif 000020
【図１９】
2017033380.tif 000021