(57)【要約】      （修正有）【課題】親子関係が成立する各ソフトウエアを適切な順序で情報処理装置にインストールするための指示書を作成する。【解決手段】データ作成装置１０３において、情報処理装置１０２にインストールすべき親子関係のある親のソフトウエアと子のソフトウエアと、ソフトウエアのインストール順序とが選択されると、インストール順序が、子のソフトウエアが親のソフトウエアより前であるかを判定する。ここで、子のソフトウエアが親のソフトウエアより前であると判定された場合、インストール順序を、子のソフトウエアが親のソフトウエアより後になるよう変更する。これにより、親子関係が成立する子のソフトウエアが親のソフトウエアよりも先にインストールしてしまうことがないスクリプトを作成できる。【選択図】図１
2017040965.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置にインストールすべき親子関係のある親のソフトウエアと子のソフトウエアと、前記ソフトウエアのインストール順序を選択する選択手段と、
前記インストール順序が、前記子のソフトウエアが前記親のソフトウエアより前であるかを判定する判定手段と、
前記判定手段で、前記子のソフトウエアが前記親のソフトウエアより前であると判定された場合、前記インストール順序を、前記子のソフトウエアが前記親のソフトウエアより後になるよう変更する変更手段と、
前記変更されたインストール順序でインストールするためのスクリプトを作成する作成手段と、
を有することを特徴とするデータ作成装置。
【請求項２】
作成された親子関係が成立するソフトウエアと他のソフトウエアのインストール順序に対する変更要求を受け付けた場合、当該変更要求の要因に応じて、親子関係が成立するソフトウエアと他のソフトウエアとのインストール順序を変更する変更手段を備えることを特徴とする請求項１に記載のデータ作成装置。
【請求項３】
前記変更要求の要因は、子ソフトウエアを追加する要因、子ソフトウエアを解除する要因、子ソフトウエアの配置変更する要因を含むことを特徴とする請求項６に記載のデータ作成装置。
【請求項４】
作成された親子関係が成立するソフトウエアと他のソフトウエアのインストール順序に対する変更要求が子ソフトウエアを追加する要求である場合、選択された子ソフトウエアの直前に追加するソフトウエアを配置するようにインストール順序を変更することを特徴とする請求項３に記載のデータ作成装置。
【請求項５】
作成された親子関係が成立するソフトウエアと他のソフトウエアのインストール順序に対する変更要求がいずれかの子ソフトウエアを解除する要求である場合、当該子ソフトウエアの親ソフトウエアを残して、解除すべき子ソフトウエアを削除したインストール順序に変更することを特徴とする請求項３に記載のデータ作成装置。
【請求項６】
作成された親子関係が成立するソフトウエアと他のソフトウエアのインストール順序に対する変更要求が子ソフトウエアの配置を他のソフトウエアの直前に配置する要求である場合、親子関係が成立するソフトウエアとともに、前記他のソフトウエアの直前に配置するようにインストール順序を変更することを特徴とする請求項３に記載のデータ作成装置。
【請求項７】
管理装置から前記情報処理装置にインストールすべき親子関係のあるソフトウエア情報を取得する取得手段を備えることを特徴とする請求項１に記載のデータ作成装置。
【請求項８】
データ作成装置と通信する管理装置であって、
情報処理装置にインストールすべきソフトウエアを記憶手段に登録する際に、登録するソフトウエアが既に登録された他のソフトウエアと親子関係が成立するかどうかを判断する判断手段と、
前記親子関係が成立すると判断した場合、親子関係を特定する親子関係情報を対応づけてソフトウエア情報を前記記憶手段に登録する登録手段と、
前記データ作成装置からの要求に応じて、登録されたソフトウエア情報を前記データ作成装置に提供する提供手段と、
を備えることを特徴とする管理装置。
【請求項９】
情報処理装置にインストールすべきソフトウエアを管理する管理装置と、前記ソフトウエアを前記情報処理装置にインストールするためのスクリプトを作成するデータ作成装置とが通信するデータ処理システムであって、
前記管理装置は、
情報処理装置にインストールすべきソフトウエアを記憶手段に登録する際に、登録するソフトウエアが既に登録された他のソフトウエアと親子関係が成立するかどうかを判断する判断手段と、
前記親子関係が成立すると判断した場合、親子関係を特定する親子関係情報を対応づけてソフトウエア情報を前記記憶手段に登録する登録手段と、
前記データ作成装置からの要求に応じて、登録されたソフトウエア情報を前記データ作成装置に提供する提供手段と、を備え、
前記データ作成装置は、
前記情報処理装置にインストールすべき親子関係のある親のソフトウエアと子のソフトウエアと、前記ソフトウエアのインストール順序を選択する選択手段と、
前記インストール順序が、前記子のソフトウエアが前記親のソフトウエアより前であるかを前記管理装置から取得するソフトウエア情報を用いて判定する判定手段と、
前記判定手段で、前記子のソフトウエアが前記親のソフトウエアより前であると判定された場合、前記インストール順序を、前記子のソフトウエアが前記親のソフトウエアより後になるよう変更する変更手段と、
前記変更されたインストール順序でインストールするためのスクリプトを作成する作成手段と、
を備えることを特徴とするデータ処理システム。
【請求項１０】
データ作成装置の制御方法であって、
情報処理装置にインストールすべき親子関係のある親のソフトウエアと子のソフトウエアと、前記ソフトウエアのインストール順序を選択する選択工程と、
前記インストール順序が、前記子のソフトウエアが前記親のソフトウエアより前であるかを判定する判定工程と、
前記判定工程で、前記子のソフトウエアが前記親のソフトウエアより前であると判定された場合、前記インストール順序を、前記子のソフトウエアが前記親のソフトウエアより後になるよう変更する変更工程と、
前記変更されたインストール順序でインストールするためのスクリプトを作成する作成工程と、
を有することを特徴とするデータ作成装置の制御方法。
【請求項１１】
請求項１０に記載のデータ作成装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ作成装置、管理装置、データ処理システム、データ作成装置の制御方法、管理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、情報処理装置にインストールされているソフトウエアのバージョンアップでは、バージョンアップを行うターゲットとなる情報処理装置が、バージョンアップに関わる依存バージョンを記録したメタ情報を管理装置から受信し、メタ情報内の依存バージョンより当該情報処理装置内のソフトウェアバージョンの方が古い場合は、依存バージョンへのアップデートから実行する、といったような方法が提供されている（例えば特許文献１参照）。これは、ソフトウエアのバージョンアップを効率良く、かつ確実に実行することを目的としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置、例えば画像形成装置のセットアップにおいては、画像形成装置の高機能化に伴い、セットアップ手順が複雑になってきており、従来技術のような各ソフトウエアのバージョン間の依存情報だけでは不十分である。
このため、各ソフトウエアのバージョンには、他のソフトウエアとの依存関係についても考慮する必要がある。特に親子関係にあるソフトウエアの場合、親のソフトウエアを先にインストールしておかなければ、子のソフトウエアのインストールに失敗するか、インストールできたとしても子のソフトウエアは機能しなくなるという課題があった。
【０００５】
つまり、ソフトウエアの親子関係がある場合におけるバージョンアップについては、当該親子関係に適応した順序でインストール作業を実行できない場合、インストール作業が正常に終了させることができない。
【０００６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、親子関係が成立する各ソフトウエアを適切な順序で情報処理装置にインストールするための指示書を作成できる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明のデータ作成装置は以下に示す構成を備える。
情報処理装置にインストールすべき親子関係のある親のソフトウエアと子のソフトウエアと、前記ソフトウエアのインストール順序を選択する選択手段と、前記インストール順序が、前記子のソフトウエアが前記親のソフトウエアより前であるかを判定する判定手段と、前記判定手段で、前記子のソフトウエアが前記親のソフトウエアより前であると判定された場合、前記インストール順序を、前記子のソフトウエアが前記親のソフトウエアより後になるよう変更する変更手段と、前記変更されたインストール順序でインストールするためのスクリプトを作成する作成手段と、を有することを特徴とする。
上記目的を達成する本発明の管理装置は以下に示す構成を備える。
データ作成装置と通信する管理装置であって、情報処理装置にインストールすべきソフトウエアを記憶手段に登録する際に、登録するソフトウエアが既に登録された他のソフトウエアと親子関係が成立するかどうかを判断する判断手段と、前記親子関係が成立すると判断した場合、親子関係を特定する親子関係情報を対応づけてソフトウエア情報を前記記憶手段に登録する登録手段と、前記データ作成装置からの要求に応じて、登録されたソフトウエア情報を前記データ作成装置に提供する提供手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、親子関係が成立する各ソフトウエアを適切な順序で情報処理装置にインストールするための指示書を作成できる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの構成を説明する図である。
【図２】画像形成装置の構成を示すブロック図である。
【図３】作成装置の構成を示すブロック図である。
【図４】管理サーバの構成を示すブロック図である。
【図５】ソフトウエア管理プログラムの機能構成を示す図である。
【図６】管理装置の制御方法を説明するフローチャートである。
【図７】設置指示書作成プログラムの機能構成例を示す図である。
【図８Ａ】作成装置の制御方法を説明するフローチャートである。
【図８Ｂ】作成装置の制御方法を説明するフローチャートである。
【図８Ｃ】作成装置の制御方法を説明するフローチャートである。
【図８Ｄ】作成装置の制御方法を説明するフローチャートである。
【図８Ｅ】作成装置の制御方法を説明するフローチャートである。
【図９】ディスプレイに表示されるＵＩ画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示す情報処理システムの構成を説明する図である。本例では、設置指示書作成を支援するデータ処理システム構成の例を示す。本システムは、ＬＡＮ（ＬｏｃａｌＡｒｅａＮｅｔｗｏｒｋ）１００に接続されたクライアントコンピュータであって、設置指示書（スクリプト）を作成するデータ作成装置１０３を含んで構成される。
同様に、本システムは、設置指示書作成装置（以下、単に作成装置と記す）１０３により作成された設置指示書を取得して管理する管理サーバ１０４、画像形成装置にインストールすべきソフトウエアを管理する管理サーバ１０５と、画像形成装置１０１によって構成される。作成装置１０３とのデータのやり取りが可能である。なお、本実施形態では、情報処理装置の一例として画像形成装置１０１を例とする。
【００１１】
情報処理装置の一例である画像形成装置１０１は、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等複数の機能を統合した複合機（ＭＦＰ）である。また、画像形成装置１０１は、可搬記憶媒体を接続するインタフェースを有している。可搬記憶媒体を接続するインタフェースの種別は問わない。なお、本実施形態では、可搬記憶媒体の一例としてＵＳＢインタフェースを用いる場合を説明する。本インタフェースに可搬記憶媒体１０２を接続することで、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。可搬記憶媒体１０２は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わないが、本実施形態ではＵＳＢマスストレージクラスを実装するＵＳＢストレージ２０９を用いる。
【００１２】
作成装置１０３は、所謂パーソナルコンピュータである。作成装置１０３は、可搬記憶媒体を接続するインタフェースを有している。可搬記憶媒体を接続するインタフェースの種別は問わない。本実施形態ではＵＳＢインタフェースを用いる。本インタフェースに可搬記憶媒体１０２を接続することで、可搬記憶媒体１０２に対してデータの読み書きを行うことができる。
【００１３】
管理サーバ１０４は、作成装置１０３を使用して生成する、画像形成装置１０１のセットアップ内容を定義した設置指示書（スクリプト）を管理するサーバである。なお、スクリプトは、ＸＭＬ形式のファイルとして作成されるが、ＸＬＭ形式に限定されるものではない。
作成装置１０３や画像形成装置１０１からのリクエストに応じて、特定の設置指示書を送信する。管理サーバ１０４は、ＬＡＮ１００に直接接続されていても、インターネットを経由して接続されていてもよい。
【００１４】
管理サーバ１０５は、画像形成装置１０１で利用可能なファームウェアや各種オプションのアプリケーション等を管理する管理装置として機能する。管理サーバ１０５は、ＬＡＮ１００に直接接続されていても、インターネットを経由して接続されていてもよい。
【００１５】
図２は、図１に示した画像形成装置１０１の構成を示すブロック図である。
図２において、画像形成装置１０１はコントローラユニット２００を含み、コントローラユニット２００には、画像入力デバイスであるスキャナ２１７や画像出力デバイスであるプリンタ２１６が接続されるとともに、操作部２０８が接続される。コントローラユニット２００は、スキャナ２１７で読み取られた画像データをプリンタ２１６により印刷出力するコピー機能を実現するための制御を行う。
【００１６】
コントローラユニット２００は、ＣＰＵ２０１を有し、ＣＰＵ２０１は、ＲＯＭ２０６に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ２０１は、このＯＳ上で、ＨＤＤ（ハードディスクドライブ）２０７に格納されているプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０１の作業領域としてはＲＡＭ２０２が用いられる。ＲＡＭ２０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ２０７は、上記プログラムや画像データを格納する。
【００１７】
ＣＰＵ２０１には、システムバス２１０を介して、ＲＯＭ２０６およびＲＡＭ２０２、操作部Ｉ／Ｆ（操作部インタフェース）２０３、ネットワークＩ／Ｆ（ネットワークインタフェース）２０４、ＵＳＢホストＩ／Ｆ２０５、画像バスＩ／Ｆ（画像バスインタフェース）２１２が接続される。
【００１８】
操作部Ｉ／Ｆ２０３は、タッチパネルを有する操作部２０８とのインタフェースであり、操作部２０８に表示すべき画像データを操作部２０８に対して出力する。また、操作部Ｉ／Ｆ２０３は、操作部２０８においてユーザにより入力された情報をＣＰＵ２０１に送出する。ネットワークＩ／Ｆ２０４は、画像形成装置１０１をＬＡＮに接続するためのインタフェースである。
【００１９】
ＵＳＢホストＩ／Ｆ２０５は、ＵＳＢストレージ２０９と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ２０５は、ＨＤＤ２０７に格納されているデータをＵＳＢストレージ２０９に出力する。また、ＵＳＢホストＩ／Ｆ２０５は、ＵＳＢストレージ２０９に格納されているデータを入力し、ＣＰＵ２０１にそれを伝える。ＵＳＢストレージ２０９は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ２０５に対して着脱可能である。ＵＳＢホストＩ／Ｆ２０５には、ＵＳＢストレージ２０９を含む複数のＵＳＢデバイスが接続可能である。
【００２０】
画像バスＩ／Ｆ２１２は、システムバス２１０と、画像データを高速で転送する画像バス２１１とを接続し、データ形式を変換するためのバスブリッジである。画像バス２１１は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス２１１上には、デバイスＩ／Ｆ２１５、スキャナ画像処理部２１４、プリンタ画像処理部２１３が設けられる。
【００２１】
デバイスＩ／Ｆ２１５には、スキャナ２１７およびプリンタ２１６が接続され、デバイスＩ／Ｆ２１５は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２１４は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２１３は、プリント出力画像データに対してプリンタ２１６に応じた補正、解像度変換などを行う。
【００２２】
図３は、図１に示した作成装置１０３の構成を示すブロック図である。
図３において、ＣＰＵ３０１を含む制御部３００は、作成装置１０３全体の動作を制御する。ＣＰＵ３０１は、ＲＯＭ３０２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３０３は、ＣＰＵ３０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３０４は、画像データや各種プログラムを記憶する。
【００２３】
操作部Ｉ／Ｆ３０５は、作成装置１０３で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するインタフェースである。本実施形態では、マウス３０９やキーボード３１０で構成されるが、その限りではない。
【００２４】
ディスプレイＩ／Ｆ３０６は、作成装置１０３で実行されるプログラムのＵＩを表示するディスプレイ端末を接続するインタフェースである。本実施形態ではディスプレイ３１１で構成されるが、その限りではない。ネットワークＩ／Ｆ３０８は、制御部３００をＬＡＮ１００に接続する。ネットワークＩ／Ｆ３０８は、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２５】
ＵＳＢホストＩ／Ｆ３０７は、ＵＳＢストレージ２０９と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ３０７は、ＨＤＤ３０４に格納されているデータをＵＳＢストレージ２０９に出力する。また、ＵＳＢホストＩ／Ｆ３０７は、ＵＳＢストレージ２０９に格納されているデータを入力し、ＣＰＵ３０１にそれを伝える。ＵＳＢストレージ２０９は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ３０７に対して着脱可能である。ＵＳＢホストＩ／Ｆ３０７には、ＵＳＢストレージ２０９を含む複数のＵＳＢデバイスが接続可能である。
【００２６】
図４は、図１に示した管理サーバ１０４および管理サーバ１０５の構成を示すブロック図である。なお、管理サーバ１０４および管理サーバ１０５を統合して１つの管理サーバとしてシステムを構築してもよい。
図４において、ＣＰＵ４０１を含む制御部４００は、管理サーバ１０４もしくは、管理サーバ１０５全体の動作を制御する。ＣＰＵ４０１は、ＲＯＭ４０２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ４０３は、ＣＰＵ４０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ４０４は、設置指示書管理サーバにおいては設置指示書、ソフトウエア管理サーバにおいては各種ソフトウエアや、後述するソフトウエア情報を記憶する。ネットワークＩ／Ｆ４０５は、制御部４００をＬＡＮ１００に接続する。ネットワークＩ／Ｆ４０５は、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２７】
図５は、図１に示した管理サーバ１０５のソフトウエア管理プログラムの機能構成例を示す図である。ここで、ソフトウエア管理プログラムは、ソフトウエア情報を生成する際に必要なソフトウエアの１つである。
図５において、ソフトウエア管理プログラム５００は、処理実行部５０１、ソフトウエア登録部５０２、親子関係情報抽出部５０３と、ソフトウエア情報生成部５０４、通信部５０５を有する。処理実行部５０１は、通信部５０６で受信する作成装置１０３からの指示、あるいは、他のクライアントＰＣからの指示を受け付け、各種処理を行う。
【００２８】
ソフトウエア登録部５０２は、不図示のクライアントＰＣから通信部５０５を介して登録要求されたソフトウエアを、ＨＤＤ４０４に保存する。親子関係情報抽出部５０３は、ソフトウエア登録部５０２によって登録されたソフトウエアから親子関係に関わる情報を抜き出し、ソフトウエア情報生成部５０４へ渡す。
【００２９】
ソフトウエア情報生成部５０４は、親子関係情報抽出部５０３から渡された親子関係情報を基に、ＨＤＤ４０４に保存されている全てのソフトウエアに関する情報を生成および更新および管理を行う。
【００３０】
通信部５０５は、作成装置１０３からのリクエストに応じて、ＨＤＤ４０４に保存されているソフトウエアのソフトウエア情報のやりとりをしたり、不図示のクライアントＰＣから、ソフトウエア管理プログラムを操作するための指示や情報のやり取りを行う。
【００３１】
図６は、本実施形態を管理装置の制御方法を説明するフローチャートである。本例は、図５に示したソフトウエア管理プログラム５００がソフトウエア情報を生成もしくは更新する際の処理の例である。なお、各ステップは、管理サーバ１０５のＣＰＵ４０１が記憶された制御プログラムを実行することで実現される。以下、図５に示したモジュールを主体として説明する。
Ｓ６０１では、処理実行部５０１が通信部５０５からソフトウエアと共にソフトウエア登録要求を受け付ける。Ｓ６０２では、処理実行部５０１がソフトウエア登録部５０２を呼び出し、ソフトウエア登録要求と共に受け取ったソフトウエアをＨＤＤ４０４に保存する。
【００３２】
Ｓ６０３では、ソフトウエア登録要求を受け付けた処理実行部５０１が親子関係情報抽出部５０３を呼び出して、ＨＤＤ４０４に保存したソフトウエアに含まれる属性情報の中から親子関係情報を読み取る。ここでいうソフトウエアに含まれる属性情報とは、ソフトウエアが所有するマニフェストファイルが一例としてあげられる。マニフェストファイルには、以下のような記述がされているものとする。
Ｓｏｆｔｗａｒｅ−Ｉｄ：ＩＤ０００３
Ｂｕｎｄｌｅ−Ｖｅｒｓｉｏｎ：１．０．０
Ｂｕｎｄｌｅ−Ｎａｍｅ：Ｓｏｆｔｗａｒｅ０００３
Ｈｏｓｔ−Ｓｏｆｔｗａｒｅ−Ｉｄ：ＩＤ０００１
【００３３】
本実施形態における親子関係情報とは、上記マニフェストファイルの「Ｈｏｓｔ−Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄ」の部分である。実際に登録しようとしているソフトウエアの「Ａｐｐｌｉｃａｔｉｏｎ−Ｉｄ」はＩＤ０００３であり、その親にあたるソフトウエアのＩＤとしてＩＤ０００１が記されている。
【００３４】
Ｓ６０４では、処理実行部５０１がソフトウエア情報生成部５０４を呼び出し、既にソフトウエア情報が生成されているかどうかを判断する。存在しないと処理実行部５０１が判断した場合、Ｓ６０５において、ソフトウエア情報生成部５０４は、新規にソフトウエア情報を生成する。既にソフトウエア情報が存在していると処理実行部５０１が判断した場合は、Ｓ６０６において、ソフトウエア情報生成部５０４は既存のソフトウエア情報を更新する。ソフトウエア情報の新規作成もしくは更新によって、ソフトウエア管理プログラムの処理を完了する。本実施形態におけるソフトウエア情報とは、表１に示すようなソフトウエア情報（管理情報）で構成される。
【００３５】
【表１】
2017040965.tif 000003
【００３６】
本実施形態では、「ソフトウエア名称」、「ソフトウエアＩＤ」、「ホストソフトウェアＩＤ」で構成されているものとする。しかしながら、各ソフトウエアの親子関係を識別するために必要最低限の情報としては、「ソフトウエアＩＤ」と「ホストソフトウェアＩＤ」があれば良い。
【００３７】
図７は、図１に示した作成装置１０３で動作する、設置指示書作成プログラム７００の機能構成例を示す図である。
図７において、ＣＰＵ３０１がプログラムを実行することにより、各機能が実現される。本実施形態では、作成装置１０３でプログラムが実行されることを想定するが、その限りではない。ネットワークＩ／Ｆ３０８を介して、ネットワーク上にあるサーバやサービスで実行してもよい。
設置指示書作成プログラム７００は、ＵＩ制御部７０１、処理実行部７０２、ストレージ制御部７０３、ソフトウエア情報チェック部７０４、設置指示書生成部７０５、通信部７０６を有する。
ＵＩ制御部７０１は、設置指示書作成プログラムを操作するためのＵＩを、ディスプレイ３１１を通じて作業者に提供し、マウス３０９やキーボード３１０を通じて作業者の操作を受け付ける。処理実行部７０２は、ＵＩ制御部７０１の指示に従い、各種処理を行う。ストレージ制御部７０３は、ＵＳＢストレージ２０９のデータの読み書きを行う。
【００３８】
ソフトウエア情報チェック部７０４は、管理サーバ１０５から取得したソフトウエア情報を基に、画像形成装置１０１のセットアップに必要なソフトウエアの過不足やインストール順序に関するチェックを行う。設置指示書生成部７０５は、ＵＩ制御部７０１からの入力情報を基に、処理実行部７０２の指示に従って設置指示書を生成する。
【００３９】
通信部７０６は、設置指示書生成部７０５で生成した設置指示書を、管理サーバ１０４へ送信する。また、通信部７０６は、管理サーバ１０４で保持されている設置指示書を取得したり、あるいは、管理サーバ１０５からソフトウエア情報やソフトウエアを取得したりする。
【００４０】
〔第１のインストール処理〕
図８Ａ〜図８Ｅは、本実施形態を示す作成装置の制御方法を説明するフローチャートである。本例は、設置指示書作成プログラム７００が、設置指示書に記録するソフトウエアのインストール順序を確定するまでの処理例である。なお、各ステップは、ＣＰＵ３０１が制御プログラムを実行することで実現される。
【００４１】
図９は、図１に示した作成装置１０３のディスプレイ３１１に表示されるＵＩ画面の一例を示す図である。本例は、設置指示書作成プログラム７００の操作画面の一例に対応する。
以下、図９の（Ａ）、（Ｂ）を用いて、ソフトウエアの選択およびインストール順序を確定するまでの詳細な処理の流れを説明する。
図９の（Ａ）のソフトウエア選択ボタン９０１の押下イベントをＵＩ制御部７０１から受信する。すると、処理実行部７０２は、Ｓ８０１においてソフトウエア情報チェック部７０４を呼び出し、管理サーバ１０５から表１のソフトウエア情報を取得する（Ｓ８０１）。取得したソフトウエア情報は、設置指示書作成装置のＨＤＤ３０４に保存し、ＵＩ制御部７０１の制御により、図９の（Ｂ）のように一覧画面をディスプレイ３１１に表示する。
【００４２】
操作者がディスプレイ３１１に一覧表示されたソフトウエアの中から少なくとも1つ以上のソフトウエア（図９の（Ｂ）の例においては、Ｓｏｆｔｗａｒｅ０００３）を選択し、ＯＫボタンを押下する。すると、処理実行部７０２はＵＩ制御部７０１からソフトウエア確定要求を受け付ける（Ｓ８０２）。このとき選択済ソフトウエア一覧９０２には、まだ何も表示されていない。
【００４３】
Ｓ８０３では、処理実行部７０２がソフトウエア情報チェック部７０４に指示し、Ｓ８０１でＨＤＤ３０４に保存したソフトウエア情報から、現在のソフトウエアに関する情報を読み出し、親ソフトウエアが必要かどうかを判断する。
【００４４】
図９の（Ｂ）のソフトウエア選択画面９０３を例にあげると、Ｓｏｆｔｗａｒｅ０００３が選択されているため、このソフトウエアの情報を判断する。表１に示したＮｏ．３の「ホストソフトウェアＩＤ」の欄を参照すると、「０００１」が記録されているため、Ｓｏｆｔｗａｒｅ０００３を画像形成装置１０１で利用するためには、Ｓｏｆｔｗａｒｅ０００１が必須である事がわかる。
つまり、Ｓｏｆｔｗａｒｅ０００３はＳ８０３のチェック結果としては「親ソフトウエアが必要である」ということになり、Ｓ８０４の処理へ遷移する。
【００４５】
Ｓ８０４では、ソフトウエア情報チェック部７０４は、必要と判断された親ソフトウエアが既に選択済かどうかを更に判断する。すなわちＳ８０２において確定要求されたソフトウエアの中にＳｏｆｔｗａｒｅ０００１が含まれているかどうかを判断する。ソフトウエア選択画面９０３において、Ｓｏｆｔｗａｒｅ０００１は選択されていないため、Ｓ８０５へ遷移する。
【００４６】
Ｓ８０５では、現在のソフトウェア（Ｓｏｆｔｗａｒｅ０００３）にはＳｏｆｔｗａｒｅ０００１が必要である旨を処理実行部７０２がＵＩ制御部７０１へ通知する。すると、ＵＩ制御部７０１は、Ｓｏｆｔｗａｒｅ０００１を追加選択するか否かの確認画面をディスプレイ３１１に表示する。
【００４７】
ユーザ操作により親ソフトウエアの追加を指示された場合は、その旨をＵＩ制御部７０１は処理実行部７０２に伝える。すると、処理実行部７０２はＳ８０６において、親ソフトウェア（Ｓｏｆｔｗａｒｅ０００１）をインストール予定のソフトウエアとして追加する（Ｓ８０６）。
【００４８】
Ｓ８０７では、処理実行部７０２の指示においてソフトウエア情報チェック部７０４が、現在のソフトウエアと選択済の親ソフトウエアのインストール順序が親、子の順に設定されているかどうか判断する。
【００４９】
インストール順序に関する情報は、処理実行部７０２がＳ８０２で確定要求を受け付けた際に、内部的に生成する情報であり、初期状態としてはソフトウエア選択画面９０３に表示されている順、すなわち表１のソフトウエア情報に記録されている順序で生成する。インストール順序情報は、ＲＡＭ３０３に一時的に記憶しておく。
【００５０】
Ｓ８０７の判断で親、子の関係が成り立っていないと判断した場合、あるいは、Ｓ８０４、８０５、８０６の流れで親ソフトウエアを追加した場合、Ｓ８０８に進む。そして、ソフトウエア情報チェック部７０４は、Ｓ８０８において、親ソフトウエアが現在のソフトウエアの直前にインストールされるよう、インストール順序情報を更新する。このとき、同じ親ソフトウエアを必要とする子ソフトウエアが、現在のソフトウエアよりも前に存在する場合は、最初の子ソフトウエアの直前に配置するように決定する。
【００５１】
Ｓ８０８でインストール順序情報を更新した後、もしくは、Ｓ８０７でインストール順序情報の更新が不要と判断された時、Ｓ８０９へ進む。そして、処理実行部７０２は、Ｓ８０２で確定要求を受けたソフトウエアの中に未チェックのソフトウエアが残っているかどうかを判断する（Ｓ８０９）。未チェックのソフトウエアが残っていると判断した場合は、Ｓ８０３の処理へ戻り、全てのソフトウエアのチェックが完了するまで、それを繰り返す。
【００５２】
また、Ｓ８０６で親ソフトウエアを追加した場合、Ｓ８０９における未チェックのソフトウエアとして、追加した親ソフトウエアも対象となり、更に親ソフトウエアが必要ないか、Ｓ８０３からの処理を実行する。
【００５３】
選択された全てのソフトウエアに対するチェックが完了すると、その時のインストール順序情報をデフォルトインストール順序として、処理実行部７０２は一旦ＨＤＤ３０４に保存する（Ｓ８１０）。
上記デフォルトインストール順序は、処理実行部７０２からＵＩ制御部７０１へ通知され、図９の（Ａ）の設置指示書作成画面９００内の選択済ソフトウエア一覧９０２に表示される。
【００５４】
図９の（Ａ）の例で説明すると、設置指示書作成画面９００の選択ボタン９０１を操作者が押下すると、図９の（Ｂ）に示すソフトウエア選択画面９０３がオープンする。操作者は、インストールするソフトウエアとしてＳｏｆｔｗａｒｅ０００３のみを選択し、ＯＫボタンを押下するが、設置指示書作成プログラム７００によってＳｏｆｔｗａｒｅ０００１が追加される。
更に、設置指示書作成プログラム７００は、この二つのソフトウエアの親子関係に則って、デフォルトインストール順序を確定する。すると、設置指示書作成画面９００の選択済ソフトウエア一覧９０２に、Ｓｏｆｔｗａｒｅ０００１、Ｓｏｆｔｗａｒｅ０００３の順でインストール順を表示する。この状態で設置指示書を作成しても適切な設置指示書を作成可能であるが、ソフトウエアのインストール順序を更に操作者が変更する可能性がある。
【００５５】
図９の（Ａ）の設置指示書作成画面においては、Ｓｏｆｔｗａｒｅ０００１と０００３の二つのソフトウエアしが選択していないが、もっと多くのソフトウエアを選択している場合がある。その場合においては、Ｓ８１０で生成されるデフォルト設置順序が、必ずしもベストな順序とは限らない。例えば、画像形成装置１０１で設置指示書に則ってソフトウエアをインストールする際、あるソフトウエアのインストールを先にしておけば、画像形成装置１０１の再起動の回数を減らせることがある。このように、より効率良く設置作業を行うための現場のノウハウによってインストール順が変更されることがある。
【００５６】
なお、上記図８Ａに示した処理においては、Ｓ８０３、Ｓ８０４の判定後、Ｓ８０７で親のソフトウエアと子のソフトウエアとが選択されているかどうかを判定する場合について説明した。
しかしながら、作成するスクリプトにおいて、親子関係が成立するソフトウエアについて処理を行うことを前提とする場合には、Ｓ８０２からＳ８０７へ進ように、制御手順を変更してもよい。
したがって、上記前提とは異なり、親子関係が成立するソフトウエアと、親子関係が成立しないソフトウエアとを含む複数のソフトウエアに対するスクリプトを並行して処理する場合には、図８Ａに示すように複数のソフトウエアのうち、親子関係のある親のソフトウエアと子のソフトウエアが含まれるかどうかを判定する処理（Ｓ８０３，８０４）と、当該判定で、複数のソフトウエアのうち、親子関係のある親のソフトウエアと子のソフトウエアが含まれると判定された場合、インストール順序が、子のソフトウエアが親のソフトウエアより前であるかを判定する（Ｓ８０７）とをそれぞれ実行する構成とすることが好ましい。
【００５７】
〔第２のインストール処理〕
設置指示書作成プログラム７００は、このような要望に応えるため、ソフトウエアのインストール順序が操作者によって変更された場合でも、適切な設置指示書を生成できるよう、ソフトウエアの親子関係を維持する必要がある。
なお、図８Ｂ〜Ｅは、デフォルトインストール順序から更に変更を加えた際の処理の流れを説明した処理例である。
【００５８】
Ｓ８１１では、操作者の操作に応じて処理実行部７０２がＵＩ制御部７０１からインストール順序の変更要求を受け付けたかどうかを判断する。変更要求を受けていないと判断した場合、処理実行部７０２は処理を終了する。
一方、Ｓ８１１で、変更要求を受け付けたと処理実行部７０２が判断した場合は、Ｓ８１２へ遷移し、Ｓ８１０でＨＤＤ３０４に保存したデフォルトインストール順序を読み出し、情報を一時的にＲＡＭ３０３へ記憶する。更に、その変更要求がどのような操作に伴うものなのかによって、処理実行部７０２は処理を分岐する。
〔変更要因１〕
図８Ｃは、図９の（Ｂ）に示したソフトウエア選択画面９０３からインストールするソフトウエアを追加選択し、ＯＫボタンを押下した場合の処理の流れを説明する処理である。以下、子ソフトウエアの追加を変更要因１とする場合を説明する。
【００５９】
変更要求が、ソフトウエアの追加によるものの場合、処理実行部７０２はソフトウエア情報チェック部７０４を呼び出して、追加予定ソフトウエアの子にあたるソフトウエアが、既に選択済かどうかを判断する（Ｓ８１３）。
具体的には、ＲＡＭ３０３のインストール順序情報に記録されているソフトウエアのソフトウエア情報をチェックし、追加予定ソフトウエアのソフトウエアＩＤをホストソフトウェアＩＤとして持っているかどうかを判断する。
【００６０】
Ｓ８１３において、既に子ソフトウエアが選択済である処理実行部７０２が判断した場合、処理実行部７０２は、追加予定ソフトウエアを、既に選択済の子ソフトウエアの直前に追加し、ＲＡＭ３０３上のインストール順序情報を書き替える（Ｓ８０８）。
Ｓ８１４において、処理実行部７０２は追加予定ソフトウエアが他にも存在するかどうか判断する。ここで、追加予定ソフトウエアが他にも存在すると判断した場合、Ｓ８１３からの処理を繰り返す。
そして、全ての追加予定ソフトウエアに対してのチェックが完了したら、処理実行部７０２は、インストール順序情報をＨＤＤ３０４に保存して（Ｓ８１５）、本処理を終了する。
【００６１】
なお、上記フローチャートでは、説明が複雑になるため記載していないが、もし、Ｓ８１３において、子ソフトウエアが選択済でないと判断した場合は、図８ＡのＳ８０３の処理へ戻る。そして、Ｓ８０３から８０８の処理を実行してから図８ＣのＳ８１４を実行する構成としてもよい。
【００６２】
〔変更要因２〕
図８Ｄは、ソフトウエア選択画面９０３からインストール予定のソフトウエアを解除し、ＯＫボタンを押下した場合の処理例である。以下、変更要因が子ソフトウエアの解除による場合を説明する。
図８ＢのＳ８１２において、変更要因がソフトウエアの解除によるものと判断した場合、Ｓ８１６へ進む。そして、処理実行部７０２はソフトウエア情報チェック部７０４を呼び出して、解除予定ソフトウエアの子にあたるソフトウエアが、選択されているかどうかを判断する（Ｓ８１６）。
具体的には、ＲＡＭ３０３のインストール順序情報に記録されているソフトウエアのソフトウエア情報をチェックし、解除予定ソフトウエアのソフトウエアＩＤをホストソフトウェアＩＤとして持っているかどうかを判断する。
【００６３】
Ｓ８１６において、子ソフトウエアが選択済と判断した場合、処理実行部７０２はＵＩ制御部７０１を介してディスプレイ３１１に、子ソフトウエアも解除するか否かの確認画面（不図示）を表示する（Ｓ８１７）。
これは、子ソフトウエアだけがインストール対象として残存することを防ぐためである。しかし、親ソフトウエアが既に画像形成装置１０１にインストールされている事がわかっているような場合には、操作者の操作により子ソフトウエアのみをインストール対象として残す事が可能である。
【００６４】
Ｓ８１７において、子ソフトウエアに対しての解除指示を受け付けると、処理実行部７０２は、インストール順序情報の中から子ソフトウエアの情報を削除する（Ｓ８１８）。なお、子ソフトウエアが複数存在する場合は、それら子ソフトウエアの一覧を確認画面に表示し、解除する子ソフトウエアを選択することができる。
【００６５】
その後、Ｓ８１９では、元々の解除予定ソフトウエアの情報をインストール順序情報の中から削除する。Ｓ８１６において子ソフトウエアが存在しないと判断した場合も、同様にＳ８１９において解除予定ソフトウエアの情報を削除する。
Ｓ８２０において、処理実行部７０２は、解除予定ソフトウエアが他にも存在するかどうかを判断する。ここで、存在すると処理実行部７０２が判断した場合、Ｓ８１６からの処理を繰り返す。そして、全ての解除予定ソフトウエアに対してのチェックが完了したら、処理実行部７０２は、インストール順序情報をＨＤＤ３０４に保存して（Ｓ８１５）、本処理を終了する。
【００６６】
〔変更要因３〕
図８Ｅは、選択済ソフトウエア一覧９０２において、ソフトウエアの配置を変更した場合の処理例である。以下、変更要因が子ソフトウエアの配置変更による場合を説明する。
配置変更に関わる具体的な操作例は、マウスを使用して選択済ソフトウエア一覧９０２の一行をドラッグして移動する方法が挙げられる。
図８ＢのＳ８１２の変更要因がソフトウエアの配置変更によるものの場合、処理実行部７０２はソフトウエア情報チェック部７０４を呼び出して、配置変更予定ソフトウエアと親子関係にあるソフトウエアが選択されているかどうかを判断する（Ｓ８２１）。
具体的には、ＲＡＭ３０３のインストール順序情報に記録されているソフトウエアのソフトウエア情報をチェックし、配置変更予定ソフトウエアのソフトウエアＩＤをホストソフトウェアＩＤとして持っているかどうかを判断する。あるいは、配置変更予定ソフトウエアのホストソフトウェアＩＤに記録されているソフトウエアＩＤのソフトウエアが存在するかどうかを判断する。
【００６７】
Ｓ８２１において、配置変更予定のソフトウエアと親子関係にあるソフトウエアが存在すると判断した場合、処理実行部７０２はソフトウエア情報チェック部７０４を呼び出し、配置後も親子関係が維持できるかどうかの判断を行う（Ｓ８２２）。
【００６８】
例えば、選択済ソフトウエア一覧９０２の例を用いると、Ｓｏｆｔｗａｒｅ０００３をＳｏｆｔｗａｒｅ０００１の上に移動させた場合、それらの親子関係が崩れないかどうかを判断する。あるいは、Ｓｏｆｔｗａｒｅ０００１をＳｏｆｔｗａｒｅ０００３の下に移動させた場合に、それらの親子関係が崩れないかどうかを判断する。
【００６９】
ここで、親子関係を維持できないとＳ８２２で判断すると、処理実行部７０２はＳ８２３を実行する。Ｓ８２３では、移動させた配置変更予定ソフトウエアが親ソフトウエアであれば、配置変更予定ソフトウエアを配置変更した後、その子ソフトウエアをその直後に配置した状態でインストール順序情報を書き換える。
逆に、配置変更予定ソフトウエアが子ソフトウエアであるなら、配置変更後、親ソフトウエアをその直前に配置した状態でインストール順序情報を書き換える。
配置変更が完了すると、処理実行部７０２はＲＡＭ３０３上のインストール順序情報をＨＤＤ３０４へ更新保存して（Ｓ８１５）、本処理を終了する。
具体的にどのように設置順序が変更されるのか、いくつかの例を簡単に説明する。
例えば、図９の（Ａ）の選択済ソフトウエア一覧９０２に、表２のような構成で選択済ソフトウエアが表示されていたとする。Ｓｏｆｔｗａｒｅ０００２と０００３が親子関係にある。
【００７０】
【表２】
2017040965.tif 000004
【００７１】
表２の状態からＳｏｆｔｗａｒｅ０００２をドラッグし、Ｓｏｆｔｗａｒｅ０００１よりも上に移動させたとする。このとき、ソフトウエア情報チェック部７０４はＳｏｆｔｗａｒｅ０００２に対して図８ＥのＳ８２１の判断で親子関係のＳｏｆｔｗａｒｅ０００３ありと判断する。しかし、Ｓｏｆｔｗａｒｅ０００２がＳｏｆｔｗａｒｅ０００１よりも先にインストールされたとしても、Ｓｏｆｔｗａｒｅ０００３との親子関係は損なわれない。このため、Ｓ８２２のチェック結果としては特に何もせず、Ｓ８１５でインストール順序の変更を許可する。その結果、選択済ソフトウエア一覧９０２には表３のような順序で表示される。
【００７２】
【表３】
2017040965.tif 000005
【００７３】
次に、表２の状態からＳｏｆｔｗａｒｅ０００２をドラッグしＳｏｆｔｗａｒｅ０００４の下に移動させたとする。このとき、ソフトウエア情報チェック部７０４はＳｏｆｔｗａｒｅ０００２に対して図８ＥのＳ８２１の判断で親子関係のＳｏｆｔｗａｒｅ０００３ありと判断し、Ｓ８２２の判断で親子関係の維持不可能と判断する。
更にＳｏｆｔｗａｒｅ０００２は親ソフトウエアなので、処理実行部７０２はＳ８２３において、子のＳｏｆｔｗａｒｅ０００３をＳｏｆｔｗａｒｅ０００２の直後に配置する。その結果、選択済ソフトウエア一覧９０２には表４のような順序で表示される。
【００７４】
【表４】
2017040965.tif 000006
【００７５】
設定内容に問題がなければ、図９の（Ａ）に示した設置指示書作成画面９００のＯＫボタン押下で設置内容を確定させる。上記ＯＫボタンが押下されたことをＵＩ制御部７０１から受け取った処理実行部７０２は、設置指示書生成部７０５を呼び出して設置指示書を作成し、通信部７０６を介して管理サーバ１０４へ設置指示書を送信する。
【００７６】
管理サーバ１０４に保存された設置指示書は、作成装置１０３からリクエストされて、ストレージ制御部７０３を介して可搬記憶媒体１０２に書き出される。また別の方法としては、画像形成装置１０１からのリクエストに応じて、直接画像形成装置１０１に送信することもできる。
【００７７】
このように、複数のソフトウエアの親子関係情報に基づいて、画像形成装置１０１へインストールすべきソフトウエアを追加したり、あるいは後から削除したり、あるいはサービスマンのノウハウにより順序変更をする。これにより、ある程度の自由度を持たせながらも各ソフトウエアの親子関係を崩すことなく、最適な設置指示書の作成が可能となる。
【００７８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１０１画像形成装置
１０３設置指示書作成装置
１０５ソフトウエア管理サーバ
【図１】
2017040965.tif 000007
【図２】
2017040965.tif 000008
【図３】
2017040965.tif 000009
【図４】
2017040965.tif 000010
【図５】
2017040965.tif 000011
【図６】
2017040965.tif 000012
【図７】
2017040965.tif 000013
【図８Ａ】
2017040965.tif 000014
【図８Ｂ】
2017040965.tif 000015
【図８Ｃ】
2017040965.tif 000016
【図８Ｄ】
2017040965.tif 000017
【図８Ｅ】
2017040965.tif 000018
【図９】
2017040965.tif 000019