(57)【要約】【課題】  管理装置から取得する設置情報が記述されたスクリプトの実行処理が特定のコマンドで中断した場合でも、該スクリプトから管理装置が生成する分割スクリプトを取得して設置作業を継続する。【解決手段】    管理装置と通信する情報処理装置において、スクリプトに基づいて開始したコマンド処理が特定のコマンドでエラーとなる場合で、かつ、該エラーとなった特定のコマンドの属性が他の情報処理装置でも共通する属性である場合、エラーとなった特定のコマンドの情報と、取得した前記スクリプトに対応する分割スクリプトを作成する要求とを管理装置に送信する。そして、管理装置が作成した分割スクリプトを取得し、該取得した分割スクリプトを実行する構成を特徴とする。【選択図】  図１１
2018120541.tif 000002
【特許請求の範囲】
【請求項１】
管理装置と通信する情報処理装置であって、
前記管理装置から設置情報が記述されたスクリプトを取得する取得手段と、
前記管理装置から取得したスクリプトを解析してコマンド処理を実行する実行手段と、
前記実行手段が開始したコマンド処理が特定のコマンドでエラーとなる場合で、かつ、該エラーとなった特定のコマンドの属性が他の情報処理装置でも共通する属性である場合、エラーとなった特定のコマンドの情報と、取得した前記スクリプトに対応する分割スクリプトを作成する要求とを前記管理装置に送信する送信手段と、を備え、
前記取得手段は、前記管理装置が作成した分割スクリプトを取得し、前記実行手段は、該取得した分割スクリプトを実行することを特徴とする情報処理装置。
【請求項２】
前記抽出手段は、エラーとなったコマンドの属性が他の情報処理装置でも共通して発生する共通エラーと、前記情報処理装置で発生する個別エラーとを識別することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記スクリプトに記述される複数のコマンドは、実行順序に依存する従属情報が記述されていることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記分割スクリプトは、１次スクリプトと、２次スクリプトからなることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記取得手段が前記１次スクリプトを取得した場合、さらに、該１次スクリプトに対応する２次スクリプトを前記管理装置から取得することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記実行手段は、前記管理装置から最初に取得するスクリプトが分割スクリプトである場合、該分割スクリプトに対応づけられた１次スクリプトを実行することを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記１次スクリプトは、複数の情報処理装置で共通して設定する設置情報であることを特徴とする請求項５〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記２次スクリプトは、それぞれの情報処理装置で個別に設定する設置情報であることを特徴とする請求項５〜６のいずれか１項に記載の情報処理装置。
【請求項９】
情報処理装置と通信する管理装置であって、
前記情報処理装置に設定する設置情報が記述されたスクリプトを管理する管理手段と、
前記情報処理装置から受信する前記スクリプトに対する分割スクリプトの取得要求に従い、前記情報処理装置に送信したオリジナルのスクリプトと、前記取得要求に含まれるコマンドの情報とから前記オリジナルのスクリプトに記述されたコマンドの依存関係を抽出して、前記オリジナルのスクリプトに対する分割スクリプトを生成する生成手段と、
前記生成手段が生成した分割スクリプトを要求元の情報処理装置に応答する応答手段と、
を備えることを特徴とする管理装置。
【請求項１０】
前記分割スクリプトは、１次スクリプトと、２次スクリプトからなることを特徴とする請求項９に記載の管理装置。
【請求項１１】
前記管理手段は、前記情報処理装置から分割スクリプトの生成の要求を受信した場合、前記スクリプトに分割スクリプトの情報を付加して管理することを特徴とする請求項９に記載の管理装置。
【請求項１２】
前記１次スクリプトは、複数の情報処理装置で共通して設定する設置情報であることを特徴とする請求項１０項に記載の管理装置。
【請求項１３】
前記２次スクリプトは、複数の情報処理装置で個別に設定する設置情報であることを特徴とする請求項１０項に記載の管理装置。
【請求項１４】
管理装置と情報処理装置とが通信する自動設置システムであって、
前記情報処理装置は、
前記管理装置から設置情報が記述されたスクリプトを取得する取得手段と、
前記管理装置から取得したスクリプトを解析してコマンド処理を実行する実行手段と、
前記実行手段が開始したコマンド処理が特定のコマンドでエラーとなる場合で、かつ、該エラーとなった特定のコマンドの属性が他の情報処理装置でも共通する属性である場合、エラーとなった特定のコマンドの情報と、取得した前記スクリプトに対応する分割スクリプトを作成する要求とを前記管理装置に送信する送信手段と、を備え、
前記取得手段は、前記管理装置が作成した分割スクリプトを取得し、前記実行手段は、該取得した分割スクリプトを実行し、
前記管理装置は、
前記情報処理装置に設定する設置情報が記述されたスクリプトを管理する管理手段と、
前記情報処理装置から受信する前記スクリプトに対する分割スクリプトの取得要求に従い、前記情報処理装置に送信したオリジナルのスクリプトと、前記取得要求に含まれるコマンドの情報とから前記オリジナルのスクリプトに記述されたコマンドの依存関係を抽出して、前記オリジナルのスクリプトに対する分割スクリプトを生成する生成手段と、
前記生成手段が生成した分割スクリプトを要求元の情報処理装置に応答する応答手段と、
を備えることを特徴とする自動設置システム。
【請求項１５】
管理装置と通信する情報処理装置の制御方法であって、
前記管理装置から設置情報が記述されたスクリプトを取得する取得工程と、
前記管理装置から取得したスクリプトを解析してコマンド処理を実行する実行工程と、
前記実行工程が開始したコマンド処理が特定のコマンドでエラーとなる場合で、かつ、該エラーとなった特定のコマンドの属性が他の情報処理装置でも共通する属性である場合、エラーとなった特定のコマンドの情報と、取得した前記スクリプトに対応する分割スクリプトを作成する要求とを前記管理装置に送信する送信工程と、を備え、
前記取得工程は、前記管理装置が作成した分割スクリプトを取得し、前記実行工程は、該取得した分割スクリプトを実行することを特徴とする情報処理装置の制御方法。
【請求項１６】
情報処理装置と通信する管理装置の制御方法であって、
前記情報処理装置に設定する設置情報が記述されたスクリプトを記憶手段に記憶して管理する管理工程と、
前記情報処理装置から受信する前記スクリプトに対する分割スクリプトの取得要求に従い、前記情報処理装置に送信したオリジナルのスクリプトと、前記取得要求に含まれるコマンドの情報とから前記オリジナルのスクリプトに記述されたコマンドの依存関係を抽出して、前記オリジナルのスクリプトに対する分割スクリプトを生成する生成工程と、
前記生成工程が生成した分割スクリプトを要求元の情報処理装置に応答する応答工程と、
を備えることを特徴とする管理装置の制御方法。
【請求項１７】
請求項１５に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１８】
請求項１６に記載の管理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム、自動設置システムに関するものである。
【背景技術】
【０００２】
一般に、情報処理装置である複合機に代表されるデバイスは新規に導入される際に、顧客環境に応じた設置作業が必要となる。デバイスの設置作業には多くの時間と手間がかかる。そのため、複数台のデバイスに対し、同様の設置作業を行う場合には、予め必要なソフトウエアや設定情報、検証用のデータなどの共通データを用意しておく。
そして、それらを設置指示情報に従って処理していくことで、複合機の設置に詳しくない作業者（例えば、顧客先へ複合機を配送する配送担当者）であっても、自動的にかつ効率良く設置作業を行えるシステムが提案されている。
【０００３】
このようなシステムでは、高コストのサービス担当者（従来、顧客先で複合機を設置していた作業員）を個々の顧客先に派遣することが不要となる。サービス担当者は、配送担当者による設置作業で発生したエラーに遠隔地から対応する。また、あるデバイスで発生したエラーと同一のエラーが、別のデバイスでも発生しないよう、エラー発生前に対処するシステムも提案されている（特許文献１参照）
【０００４】
また、設置作業時間をできるだけ削減するため、複合機の組立作業の延長として工場で１次設置を行い、残りの作業（１次設置時点で作業不可な処理）を２次設置として顧客先で行う、２段階設置も検討されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2016-91521号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のシステムは、あるデバイスで発生したエラーが別デバイスでも発生しないように、エラーが起きた処理と同一処理の実行前に処理を停止する。そのため、設置作業が中途半端な状態で一時停止してしまい、実行可能な後続処理があったとしても実行されず、また停止したデバイスが、どの処理で一次停止中なのかなど、状態管理が複雑化する。
【０００７】
また、エラーが接触不良等のハードウエアなど、デバイス固有の場合は、同一処理のエラーが別のデバイスでは発生しない。しかしながら、あるデバイスでエラーが発生した処理は、別デバイスで実行してもエラーになると判断してしまうため、エラーにならない設置作業も停止させ、作業の効率化を低下させてしまっていた。
【０００８】
そして、２段階設置の１次設置はデスバイスを納品する数ヶ月前に行う作業であり、その時点では、設置作業の処理項目が全て決定していなかったり、一部必要なデータが準備出来ていなかったりする可能性がある。その場合、１次設置の時点で、全ての設置作業を実行できないという課題もあった。
【０００９】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、管理装置から取得する設置情報が記述されたスクリプトの実行処理が特定のコマンドで中断した場合でも、該スクリプトから管理装置が生成する分割スクリプトを取得して設置作業を継続できる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
管理装置と通信する情報処理装置であって、前記管理装置から設置情報が記述されたスクリプトを取得する取得手段と、前記管理装置から取得したスクリプトを解析してコマンド処理を実行する実行手段と、前記実行手段が開始したコマンド処理が特定のコマンドでエラーとなる場合で、かつ、該エラーとなった特定のコマンドの属性が他の情報処理装置でも共通する属性である場合、エラーとなった特定のコマンドの情報と、取得した前記スクリプトに対応する分割スクリプトを作成する要求とを前記管理装置に送信する送信手段と、を備え、前記取得手段は、前記管理装置が作成した分割スクリプトを取得し、前記実行手段は、該取得した分割スクリプトを実行することを特徴とする。
上記目的を達成する本発明の管理装置は以下に示す構成を備える。
情報処理装置と通信する管理装置であって、前記情報処理装置に設定する設置情報が記述されたスクリプトを管理する管理手段と、前記情報処理装置から受信する前記スクリプトに対する分割スクリプトの取得要求に従い、前記情報処理装置に送信したオリジナルのスクリプトと、前記取得要求に含まれるコマンドの情報とから前記オリジナルのスクリプトに記述されたコマンドの依存関係を抽出して、前記オリジナルのスクリプトに対する分割スクリプトを生成する生成手段と、前記生成手段が生成した分割スクリプトを要求元の情報処理装置に応答する応答手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、管理装置から取得する設置情報が記述されたスクリプトの実行処理が特定のコマンドで中断した場合でも、該スクリプトから管理装置が生成する分割スクリプトを取得して設置作業を継続することができる。
【図面の簡単な説明】
【００１２】
【図１】自動設置システムの構成の例を示す図である。
【図２】自動設置システムのハードウエア構成の例を示すブロック図である。
【図３】管理サーバーのハードウエア構成の例を示すブロック図である。
【図４】情報処理装置のソフトウエアの構成を説明する図である。
【図５】自動設置システムのソフトウエア構成の例を示すブロック図である。
【図６】データ格納部で管理するデータテーブルの例を示す図である。
【図７】情報処理装置の設置作業を説明する図である。
【図８Ａ】案件作成プログラムが表示するＵＩ画面を示す図である。
【図８Ｂ】案件作成プログラムが表示するＵＩ画面を示す図である。
【図９】設置用スクリプトの一例を示す図である。
【図１０】ＭＦＰの操作部に表示するＵＩ画面を示す図である。
【図１１】ＭＦＰと案件管理サーバーの制御方法を示すフローチャートである。
【図１２】情報処理システムの制御方法を説明するフローチャートである。
【図１３】分割スクリプトの一例を示す図である。
【図１４】情報処理システムの制御方法を説明するフローチャートである。
【図１５】情報処理システムの制御方法を説明するフローチャートである。
【図１６】情報処理システムの制御方法を説明する図である。
【図１７】情報処理システムの制御方法を説明する図である。
【発明を実施するための形態】
【００１３】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１４】
＜システム構成の説明＞
図１は、本実施形態を示す自動設置システムの構成の例を示す図である。
【００１５】
図１において、ＬＡＮ101は設置を行う顧客環境のＬＡＮであり、ＭＦＰ105が複数台接続される。以下、情報処理装置の一例としてＭＦＰを適用するシステムについて詳述する。ＭＦＰ105は、複写機にスキャナ、プリンタ等の複数の機能を統合した画像形成装置であり、後述する自動設置プログラム450がインストールされている。
MPF105 にインストールされた自動設置プログラム450は、案件管理サーバー107で管理されている作業指示書の一例である設置用スクリプト（図９、図１３）を取得し、設置用スクリプトの内容に従って自動での設置作業を実施する。
ＬＡＮ102は、設置の事前準備を行う環境であり、クライアントＰＣ106が接続される。
クライアントＰＣ106は、パーソナルコンピュータなどの情報処理装置であり、後述する案件作成プログラム500がインストールされている。案件作成プログラムは、設置用スクリプトを含む案件データを生成する。
【００１６】
案件管理サーバー107は、後述する案件管理サーバープログラム510がインストールされている。案件管理サーバープログラム510は、作成された案件データを管理する。各種データ管理サーバー108は、ＭＦＰ105で利用可能なファームウエアや各種ライセンス情報等を管理するサーバーである。MFP105にインストールされた自動設置プログラム450は、設置用スクリプトの内容に従って、各種データ管理サーバー108から設置に必要なソフトウエアをダウンロードする。
【００１７】
なお、本実施形態では、案件管理サーバー107と各種データ管理サーバー108を独立した構成としているが、１つの管理装置として構成してもよい。また、本実施形態では、情報処理装置の一例としてＭＦＰ105を挙げているが、もちろんその他SFPなどでもよい。
【００１８】
＜ＭＦＰ＞
図２は、図１に示した自動設置システムのハードウエア構成の例を示すブロック図である。
図２の（A）は、ＭＦＰ105のハードウエア構成の例である。ＭＦＰはコントローラユニット200を含む。コントローラユニット200には、画像入力デバイスであるスキャナ217や画像出力デバイスであるプリンタ216、および操作部208が接続される。コントローラユニット200は、スキャナ217で読み取られた画像データをプリンタ216により印刷出力するコピー機能を実現するための制御を行う。コントローラユニット200はプロセッサであるＣＰＵ201を有する。
【００１９】
ＣＰＵ201はＲＯＭ207に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。そして、立ち上げたＯＳ上で、ＨＤＤ（ハードディスクドライブ）209に格納されているプログラムを実行し、作業領域としてＲＡＭ202を用い、各処理を実行する。ＨＤＤ209は各種データを格納する。ＣＰＵ201には、システムバス210を介して、操作部Ｉ/Ｆ203、ネットワークＩ/Ｆ206、画像バスＩ/Ｆ212が接続される。
【００２０】
操作部Ｉ/Ｆ203は、タッチパネルを有する操作部204とのインタフェースであり、操作部204に表示すべき画像データを出力し、操作部204においてユーザにより入力された情報をＣＰＵ201に送信する。ネットワークＩ/Ｆは、ＭＦＰ105をＬＡＮ101に接続するためのインタフェースである。画像バスＩ/Ｆ212は、システムバス210と画像データを高速で転送する画像バス211を接続し、データ形式を変換するためのバスブリッジである。
【００２１】
画像バス211上には、デバイスＩ/Ｆ215、スキャナ画像処理部214、プリンタ画像処理部213が設けられ、デバイスＩ/Ｆには、スキャナ217およびプリンタ216が接続され、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部214は入力画像データの編集等を、プリンタ画像処理部213はプリント出力画像データの解像度変換等を行う。
【００２２】
＜クライアントＰＣ＞
図２の(B)は、クライアントＰＣ106のハードウエア構成の例である。
図２の(B)において、ＣＰＵ251を含む制御部250は、クライアントＰＣ106の全体の動作を制御する。ＣＰＵ251は、ＲＯＭ252に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ253は、ＣＰＵ251の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ254は、各種データやプログラムを記憶する。操作部Ｉ/Ｆ255は、クライアントＰＣ106で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続する。
【００２３】
本実施形態では、マウス259やキーボード260で構成されるが、その限りではない。ディスプレイＩ/Ｆ256は、クライアントＰＣ106で実行されるプログラムのＵＩを表示するディスプレイ端末を接続する。本実施形態ではディスプレイ261で構成されるが、その限りではない。ネットワークＩ/Ｆ258は、制御部250をＬＡＮ102に接続し、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２４】
＜サーバー＞
図３は、本実施形態を示す管理装置のハードウエア構成の例を示すブロック図である。図３の（A）は、案件管理サーバー107のハードウエア構成を、図３の（B）は、図１に示した各種データ管理サーバー108のハードウエア構成の例である。
【００２５】
図３において、ＣＰＵ301を含む制御部300、350は、案件管理サーバー107または各種データ管理サーバー全体の動作を制御する。ＣＰＵ301は、ＲＯＭ302に記憶された制御プログラムを読み出して各種制御処理を実行する。ＣＰＵ351は、ＲＯＭ352に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ303は、ＣＰＵ301の主メモリ、ワークエリア等の一時記憶領域として用いられる。
ＲＡＭ353は、ＣＰＵ351の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ304は、案件管理サーバー107の各種プログラムや後述する各種データテーブルを記憶する。
ＨＤＤ354は、各種データ管理サーバー１０８の各種プログラムや後述する各種データテーブルを記憶する。ネットワークＩ/Ｆ305、355は、制御部300、350をＬＡＮ101に接続し、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２６】
＜ＭＦＰのソフトウエア構成＞
図４は、本実施形態を示す情報処理装置のソフトウエアの構成を説明する図である。図４の（A）は、ＭＦＰ105のソフトウエア構成の例を示す。
図４の（A）において、ＯＳ400上には、ネイティブプログラム401と拡張プログラム実行プラットフォーム402が動作している。ネイティブプログラム401は、プリンタ216やスキャナ217など元々備わっている機能の制御プログラムであり、拡張プログラム実行プラットフォーム402は拡張機能の制御プログラムである。
さらに、ネイティブプログラム401上には、ファームウエア更新サービス403、オプション有効化サービス404、設定管理サービス405が動作している。拡張プログラム実行プラットフォーム402上には、拡張プログラムシステムサービス406と拡張プログラム407が動作している。
【００２７】
ファームウエア更新サービス403は、ファームウエアを更新するための各種機能を提供するサービスである。例えば、ユーザから指定されたファームウエアを参照し、ファームウエアの更新が必要か否かを判断後、ネイティブプログラム401を介し、ファームウエアを更新する。オプション有効化サービス404は、ネイティブプログラム401に予め組み込まれているオプション機能を有効化するためのサービスであり、特定のハードウエアが接続されている必要があるオプションもある。設定管理サービス405は、プリンタ216やスキャナ217などの各種設定情報を管理するためのサービスである。
【００２８】
なお、設定管理サービス405は、ユーザインタフェース（以下、ＵＩ）を持っており、ユーザはＭＦＰ105の操作部208を介して設定変更の指示ができる。拡張プログラムシステムサービス406は、拡張プログラム407に共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム407から拡張プログラムシステムサービス406の機能を呼び出すことにより、拡張プログラム407を開発する手間を省くことができる。
【００２９】
拡張プログラム407は、拡張プログラム実行プラットフォーム402または拡張プログラムシステムサービス406を介してのみ、他の拡張プログラムやＭＦＰの各モジュールへアクセスすることができる。
また、ＵＩを持つ拡張プログラム407は、ＭＦＰ105の操作部208に表示されるメインメニュー画面にアイコンを表示することができる。このアイコンをユーザが選択したことを、操作部208を通じて操作部Ｉ/Ｆ203が検知すると、操作部Ｉ/Ｆはその旨をＣＰＵ201に送信し、ＣＰＵ201はユーザに選択された拡張プログラム407のＵＩを操作部208に表示する。なお、本ソフトウエア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。
【００３０】
＜自動設置プログラムのソフトウエア構成＞
図４の(B)は、ＭＦＰ105で動作する自動設置プログラム450の機能構成の例を示す。
本実施形態において、自動設置プログラム450は、ＭＦＰ105の拡張プログラム407の一つとして実装されるものとする。ＣＰＵ201が各機能に応じたプログラムを実行することにより、各機能は実現される。自動設置プログラム450は、ＵＩ制御部451、処理実行部452、スクリプト解析部453、通信部454を有する。ＵＩ制御部451は、自動設置プログラム450を操作するためのＵＩを操作部208を通じてユーザに提供し、ユーザの操作を受け付ける。処理実行部452は、ＵＩ制御部451の指示やスクリプト解析部453が行うスクリプトの解析結果に従い、各種処理を行う。ここで、スクリプトとは、画像形成装置を設置する際に設定する各種の設置情報が記述されたファイルをいう。
【００３１】
スクリプト解析部453は、設置作業指示情報である設置用スクリプトを解析し、処理実行部452が実行すべき処理や順序を決定する。通信部454は、処理実行部452の指示に従い、案件管理サーバー107にデータを送受信したり、処理実行部452の指示に従い各種データ管理サーバー108からファームウエアやライセンスファイルなどの各種ソフトウエアも取得したりする。
【００３２】
＜案件作成プログラムのソフトウエア構成＞
図５は、本実施形態を示す自動設置システムのソフトウエア構成の例を示すブロック図である。
図５の(A)は、クライアントＰＣ106で動作する案件作成プログラム500の機能構成の例である。なお、ＣＰＵ251が案件作成プログラム500を実行することにより各機能が実現される。本実施形態では、クライアントＰＣ106でプログラムが実行されることを想定するが、その限りではない。ネットワーク上にあるサーバーやサービスで実行してもよい。
【００３３】
案件作成プログラム500は、ＵＩ制御部501、処理実行部502、案件データ生成部503とスクリプト生成部504、および通信部505を有する。ＵＩ制御部501は、案件作成プログラム500を操作するためのＵＩをディスプレイ261を通じて作業者に提供し、マウス259やキーボード260を通じて作業者の操作を受け付ける。
【００３４】
処理実行部502は、ＵＩ制御部501の指示に従い各種処理を行う。案件データ生成部503は、ＵＩ制御部501からの入力情報を基に処理実行部502の指示に従って案件データを生成する。スクリプト生成部504は、処理実行部502の指示に従い、案件データ生成部503で生成された案件データを基に設置用のスクリプトを生成する。通信部505は、処理実行部502の指示に従い、案件管理サーバー107に対して案件データを送受信したりする。
【００３５】
＜サーバーのソフトウエア構成＞
図５の(B)は、案件管理サーバー107で動作する案件管理サーバープログラム510、および、データ格納部516の機能構成の例である。
案件管理サーバー107のＣＰＵ301が案件管理サーバープログラム510を実行することにより各機能が実現される。案件管理サーバープログラム510は、制御部511、分割スクリプト生成部512、案件データ管理部513、エラー解析部514、通信部515を有するWebアプリケーションである。制御部511は、通信部515が受信する要求にしたがって、案件データ管理部513に対して各データの格納、削除、更新、取得等の処理を指示する。
【００３６】
分割スクリプト生成部512は、制御部511から渡される分割スクリプトの生成（フロー図１２を用いて後述する）を行う。案件データ管理部513は、制御部511の指示に従い、後述するデータ格納部516に対して案件データの格納、削除、更新を行い、データ格納部516から案件データの取得などを行う。
【００３７】
エラー解析部514は、エラー情報から、エラー種別が案件内で共通しているか否かを判断する。エラー種別の判断処理については後述する。通信部515は、クライアントＰＣ106などからの要求を受信して、制御部511に要求内容を送信する。さらに、制御部511から要求に対する処理結果を受け取り、応答データを作成し、クライアントＰＣ106などに応答を送信する。データ格納部516は、案件管理サーバー107で動作するデータベースである。
【００３８】
なお、本例では案件管理サーバー107にデータ格納部516が構成されているが、案件管理サーバープログラム510と連携できるようになっていれば別のサーバーに配置されるような構成でも良い。データ格納部516で管理するデータについては（図６）を用いて後述する。
【００３９】
図５の(C)は、各種データ管理サーバー108で動作する各種データ管理サーバープログラム520、および、データ格納部524の機能構成の例である。ＣＰＵ351が各種データ管理サーバープログラム520を実行することにより、各機能が実現される。
【００４０】
各種データ管理サーバープログラム520は、制御部521、データ管理部522、通信部523を有するWebアプリケーションである。制御部521は、通信部523が受信する要求内容に従って、データ管理部522に対してデータの抽出を指示する。データ管理部522は、制御部523の指示に従い、必要なデータを、データ格納部524から取得し、制御部521に結果を送信する。
【００４１】
データ格納部524は、設置対象であるＭＦＰ105のソフトウエア、ファームウエア、ライセンス等の実態を保存・管理しており、各種データ管理サーバー108で動作するデータベースである。
なお、本例では各種データ管理サーバー108にデータ格納部524が構成されているが、各種データ管理サーバープログラム520と連携できるようになっていれば別のサーバーに配置されるような構成でも良い。
通信部523は、ＭＦＰ105からの要求を受信して、制御部521に要求内容を送信する。さらに、制御部521から要求に対する処理結果を受け取り、応答データを作成し、ＭＦＰ105などに応答を送信する。
【００４２】
＜データ格納部で管理されるテーブル群＞
図６は、図５に示したデータ格納部516で管理するデータテーブルの例を示す図である。
図６の(A)は案件管理テーブルで管理される案件データを、図６の(B)は設置デバイスデータ管理テーブルが管理するデバイスデータを示している。なお、図６のテーブル構成は、説明をしやすくするために冗長な部分を残しているが、リレーショナルデータベースなどである場合は正規化を行い、冗長性を除く等、本例とは異なるテーブル構成であってもよい。
【００４３】
図６の(A)に示す案件管理テーブルは、案件データを格納および管理しているテーブルであり、案件ID、案件名、機種、オリジナルスクリプト、１次スクリプト、２次スクリプト、備考で構成される。なお、案件管理テーブルにおいて、１レコードが１つの案件を表している。
案件IDは案件データを一意に識別するための識別子、案件名は案件名称、備考は案件の管理者用メモである。
【００４４】
最初のスクリプトであるオリジナルスクリプトは、設置用スクリプト（図９）である。また、１次スクリプトおよび２次スクリプトは分割スクリプト（図１３）である。１次スクリプトおよび２次スクリプトは、オリジナルスクリプト実行中にエラーが発生し、処理が実行できない場合に、スクリプト編集部512によって生成される。各スクリプトの詳細は後述する。なお、本例では各データの実体を格納しているが、データのパスを格納し、実体は別の場所に置く構成でも良い。
【００４５】
図６の(B)に示す設置デバイスデータ管理テーブルは、設置対象ＭＦＰのデータの格納および管理しているテーブルである。設置デバイスデータ管理テーブルは、個別データID、案件ID、個別データ名、個別データ、デバイスID、デバイス名、作業状況で構成される。
設置デバイスデータ管理テーブルにおいて、案件ID、とデバイスIDとで、案件の詳細とＭＦＰを関連付けている。
個別データIDは個別データを一意に識別するための識別子であり、個別データ名は個別データ名称である。個別データとは、設置対象のＭＦＰごとに設定するデータであり、例えば、ＭＦＰのIPアドレスや設置場所などの設定である。
【００４６】
なお、本例では個別データの実体を格納しているが、パスを格納し、実体は別の場所に置くような構成でも良い。デバイスIDはＭＦＰを一意に識別するための識別子であり、各デバイスに割り当てられている番号である。デバイス名はデバイス名称である。
作業状況はＭＦＰの設置作業状況である。作業状況の詳細は、"未"はスクリプト未実行、"作業中"はスクリプト実行中、"完了"は成功、"失敗"はエラー終了を示す。また、テーブルの先頭に付加されている文字で、"S0−"はオリジナルスクリプト、"S1−"は1次スクリプト、"S2−"は2次スクリプトを意味する。
【００４７】
＜ＭＦＰの設置作業手順＞
図７は、本実施形態を示す情報処理装置の設置作業を説明する図である。本例では、ＭＦＰ105の基本的な設置をするまでの作業フローを説明する。
S701は、案件作成者720が案件の作成を行う作業である。案件の作成は、営業担当者が顧客と対話して決定した内容を設定したり、設置管理者がＭＦＰ105の入出庫を管理する倉庫で設定内容の微修正を行なったりする。
本例では営業担当者や設置管理者など案件を編集する人をまとめて案件作成者720と表現する。案件作成者720は、ＭＦＰ105の構成と設定内容を案件作成プログラム500を使用してクライアントＰＣ106から入力する。
ＭＦＰ105の構成とは、機種、オプション構成、アクティベートするオプション等のことである。クライアントＰＣ106は、入力したその内容を案件データとして案件管理サーバー107へ送信し、データ格納部516に保存して管理する。
【００４８】
S702は、設置担当者721がＭＦＰ105を実際に設置する際に、ＭＦＰ105の組立工場や顧客先等で行う作業である。ＭＦＰ105の組立後や、倉庫からＭＦＰ105が配送されると、設置担当者721はＭＦＰ105を設置作業環境のＬＡＮ101に接続する。設置担当者721は自動設置プログラム450が表示するＵＩで設置ボタンを押下する。
【００４９】
なお、ここで表示するＵＩについては図１０を用いて後述する。ＭＦＰ105にインストールされる自動設置プログラム450は、設置ボタンが押下されたことを検知すると、自動での設置作業を開始する。そして、設置に必要なデータ（ファームウエアを含む）を案件管理サーバー107や各種データ管理サーバー108（S703）からダウンロードしながら自動設置を行う。自動設置作業の処理については後述する。ＭＦＰ105で自動設置作業が開始すると、設置担当者721は次のＭＦＰ105の設置作業を行う。
【００５０】
設置担当者721はデバイスID"N001"、"N002"と順番に"N008"まで、S702の作業を繰り返し行うことで、すべてのＭＦＰ105の設置作業が完了する。以上が本実施形態に関わるＭＦＰ105の基本的な設置をするまでの作業フローである。なお、図７で説明した基本的な設置をするまでの作業における各プログラムの詳細な処理について、図１１乃至図１５を用いて後述する。
【００５１】
＜案件作成プログラム＞
図８Ａ、図８Ｂは、図５に示した案件作成プログラム500が表示するＵＩ画面を示す図である。本ＵＩは、案件作成者720がS701の作業を行う際に操作する。
図８Ａの(A)は、案件作成プログラム500の案件データ一覧表示ＵＩの一例である。ＵＩ800は、案件データ一覧801と、ボタン802〜804で構成される。案件作成プログラム500は起動すると、案件管理サーバー107から案件データの一覧を取得し、取得した案件データの一覧を案件データ一覧801にセットし、ＵＩに表示する。案件データ一覧801は案件データの概要を表示するリストである。本例では、図６の(A)で説明した、案件ID、案件名、備考を表示している。
【００５２】
ボタン802は案件データを新規で作成するためのボタンである。ボタン803は案件データを編集するためのボタンである。案件作成プログラム500は、新規ボタンが押下されたことを検知すると、全データを空の状態でＵＩ（図８の(B)）をクライアントＰＣ106のディスプレイ261に表示する。
また、案件作成プログラム500は、編集ボタンに対応するボタン803が押下されたことを検知すると、案件データ一覧801で選択状態のデータの詳細情報を案件管理サーバー107から取得する。そして、案件作成プログラム500は、取得したデータの詳細情報をテキストボックス等をＵＩ820（図８の(B)）にセットして表示する。ボタン804は案件作成プログラム500を終了するためのボタンである。
【００５３】
図８の(B)は、図８の(A)のＵＩ画面において、新規作成を指示するボタン802または編集開始を指示するボタン803が押下された際に、案件作成プログラム500が提供する案件データ編集表示ＵＩの一例である。
ＵＩ820は、タブページ821〜823、および、ボタン832、833で構成される。ＵＩ820では、タブページ822がアクティブな状態で表示されている。
タブページ822は、テキストボックス825、827、829及びボタン828、830、831等で構成される。なお、ＵＩ820では、案件IDがA001である案件データの編集を行っている際の例を記載している。タブページ821は、案件データの概要を設定するためのタブページである。
【００５４】
タブページ822は、データの設定を行うためのタブページである。825は機種を設定するためのコンボボックスであり、設置対象ＭＦＰの機種を選択する。826はインストールするファームウエアバージョンを設定するためのコンボボックスであり、テキストボックス825で選択済機種のファームウエアバージョンが選択可能となる。
【００５５】
827はインストールするアプケーションを設定する入力エリアであり、チェックボックスでインストールするアプリケーションを選択することができる（複数選択可）。ここで、入力エリア827で選択したアプリケーションを使用するためのラインス情報はライセンス欄のテキストボックスに入力する。ライセンス入力後、確認するボタン828が押下されると、案件作成プログラム500は入力されたライセンスの有効性チェックの依頼を各種データ管理サーバー108に送信する。
【００５６】
そして、各種データ管理サーバープログラム520は、ライセンスを受信すると、受信したライセンスのチェックを行い結果を返信する。案件作成プログラム500は、受信したライセンス有効性の結果をＵＩ820の入力エリア827に表示する。
【００５７】
829はオプション構成を設定する入力エリアであり、チェックボックスで有効化するオプション項目を選択（複数選択可）可能である。入力エリア829で選択したオプションを有効化するためのラインス情報をライセンス欄のテキストボックスに入力する。オプション構成のライセンスも、アプリケーション同様、有効性のチェックを行う。
【００５８】
831は上記で設定した処理の処理順序の確認および編集を行うためのボタンである。処理順序確認および編集のためのボタン831が押下されたことを検知すると、案件作成プログラム500は、上記で選択および入力された情報を使用し、適切な設置順序を設定し、ＵＩ（図８Ｂの(C)または(D)）をディスプレイ261に表示する。
【００５９】
832は作成または編集中の案件データを保存するためのボタンであり、押下されると、案件作成プログラム500は本案件データを案件管理サーバー107に送信する。そして、案件管理サーバー107の案件管理サーバープログラム510は、案件データを受信すると、受信した案件データをデータ格納部516に保存する。
【００６０】
833は、案件データの作成または編集をキャンセルするためのボタンである。823は個別データの設定を行うためのタブページである。個別データの設定画面に関しては図示しないが、図６の(B)のカラムにある各データが入力可能となっている。
【００６１】
図８Ｂの(C)は、図８Ａの(B)のＵＩ画面において、オリジナルスクリプトの処理順序確認および編集のためのボタンが押下された際に、処理順序を確認および編集する表示ＵＩの一例である。
図８Ｂの(C)において、851は図８Ａの(B)で入力された処理の順序を示すフロー図である。図８Ａの(B)で設定した案件は、この順で処理されることを意味している。
【００６２】
また、図８Ｂの(D)も処理順序を確認および編集する表示ＵＩの一例であるが、分割スクリプトの例である。
図８Ｂの(D)において、871は1次スクリプトであり、872は２次スクリプトである。分割スクリプトを構成する1次スクリプト871および２次スクリプト872の生成等については、フロー図１２および図１３を用いて後述する。
【００６３】
図８Ｂの(C)、(D)において、案件作成者は、処理項目をドラッグアンドドロップすることで、処理順序を変更することが可能である。
ボタン860、880は、処理順序851、872を保存するためのボタンであり、押下されると、案件作成プログラム500は、作業ＰＣ内に一次保存する。再度、831が押下されると、作業ＰＣ内に保存したデータを使用して、図８Ｂの(C)または図８Ｂの(D)を表示する。
ボタン861、881は、処理順序を確認および編集を保存せずに終了するためのキャンセルボタンである。
【００６４】
＜設置用スクリプトの例＞
図９は、図１に示したＭＦＰ105の設置を自動で実施するための設置作業手順を記述した設置用スクリプトの一例を示す図である。設置用スクリプトは、ＵＩ820で作成された案件データの一部として案件管理サーバー107のデータ格納部516に格納されている。ＭＦＰ105の自動設置プログラム500の通信部454は、案件管理サーバー107のデータ格納部516に格納されている設置用スクリプトを取得し、スクリプト解析部453で解析する。
【００６５】
スクリプト解析部453によって解析された設置用スクリプトは、処理実行部452によって記載された処理が実行される。設置用スクリプトは、XML（Extensible Markup Language）で記載されており、更新日時部921、案件データ識別部922、ＭＦＰ識別部923、コマンド記載部950で構成されている。なお、本図ではXMLによりスクリプトを表現しているが、XMLに限定されず、シェルスクリプトなどで書かれていても良い。
【００６６】
スクリプト部900は、設置用スクリプトが記載され、＜script＞で構成される。type属性が含まれ、図６の（A）のスクリプトの種別を指定する。値がoriginalはオリジナルスクリプトを、値がfirstは図１３に示す１次スクリプト1300を、値がsecondは図１３に示す2次スクリプト1350を示す。
更新日時部921は、設置用スクリプトの生成日時または最終更新日時が記載され、＜date＞で構成される。
【００６７】
案件データ識別部922は、案件ID701が記載され、＜setupId＞で構成される。本例ではA001といった４桁の文字列で記載しているが、ＧＵＩＤ（グローバル一意識別子）などを用いるのが望ましい。ＭＦＰ識別部923には、ＭＦＰ105を識別するためのデバイスIDが記載され、＜deviceId＞で構成される。
【００６８】
コマンド記載部950は、設置するために必要なコマンド群が記載され、ファームウエアダウンロードコマンド部903、ライセンス発行コマンド部904、905、アプリケーションダウンロードコマンド部906を有する。さらに、コマンド記載部950は、ファームウエア更新コマンド部907、アプリケーションインストールコマンド部908を有する。コマンド記載部950は、オプション有効化コマンド部909、設定値設定コマンド部910を有する。各コマンドの中にはid属性が含まれ、コマンドを一意に識別する。なお、id属性は、コマンドの実行順序に依存する従属情報として記述されている。
【００６９】
また、各コマンドの中にはerror属性も含まれ、コマンドがエラーとなった場合、設置予定の別ＭＦＰ105で同一エラーが発生する（案件内共通エラー）か否かを指定する。
従属情報である値が"all"は別ＭＦＰ105でも同一コマンドでエラーが発生する（案件内共通エラー）ことを示し、値が"alone"は別ＭＦＰ105ではエラーが発生しない（案件内共通エラーではない、案件内個別エラー）ことを示す。
本実施形態では、オプション有効化および個別データ設定のみ"alone"としている。オプション有効化は、指定されたハードウエアが接続されている必要があるためである。図８Ａの（ｂ）に示したデバイスオプション829にある、暗号化セキュアプリントや地紋印刷は、専用のオプションボードが必要になる。
【００７０】
そのため、オプションボードの認識エラーなど、エラーがハードウエア要因の可能性があり、別ＭＦＰ105で同一エラーが起こる可能性が低いと考えられる。また、個別データの設定はＭＦＰ105毎に異なるデータであるため、別ＭＦＰ105で同一エラーが起こる可能性が低いと考えられる。error属性の使用方法については、フロー図１２を用いて後述する。
【００７１】
また、ファームウエアダウンロードとファームウエア更新など、依存関係を持つコマンドは、＜depend＞に依存関係のあるコマンドidの値を保持する。詳細は、後述する。ファームウエアダウンロードコマンド部903は、各種データ管理サーバー108からファームウエアをダウンロードし、ＨＤＤ209に一時保存するコマンドである。ファームウエアダウンロードコマンド部は、＜downloadFirmwareCommand＞で定義され、＜version＞等で必要なファームウエアを特定する。
【００７２】
本例では、＜version＞にバージョンを指定することでファームウエアを特定できるようにしたが、例えばネットワークパスや、DB上の場所を指定するidなどで場所を特定しても良い。以後の説明において、各種データ管理サーバー108からデータをダウンロードするコマンドがいくつかあるが、不図とする。
【００７３】
全てのコマンドにおいて、データが置かれている場所を特定するため、ネットワークパスやDB上の場所を特定するフォルダパスやidなどが記載されているものとする。ライセンス発行コマンド部904およびライセンス発行コマンド部905は、各種データ管理サーバー108からライセンスを発行およびダウンロードし、ＨＤＤ209に一時保存するコマンドである。このコマンドは、＜publishLicenseCommand＞で定義される。
【００７４】
アプリケーションダウンロードコマンド部906は、各種データ管理サーバー108からアプリケーションをダウンロードし、ＨＤＤ209に一時保存するコマンドであり、＜downloadApplicationCommand＞で定義される。アプリケーションは、先に説明したライセンスが必要になるものもある。
【００７５】
その場合、＜depend＞の＜commandId＞に、必要なライセンス発行コマンドのIDが記載される。本例のアプリケーションダウンロードコマンド部906では、＜depend＞の＜commandId＞の値が"２"であり、コマンドのIdが２であるライセンス発行コマンド部904のライセンスを必要としている。ライセンス発行コマンド部904が実行完了かつ処理が成功していないと、アプリケーションダウンロードコマンド部906は実行不可（実行エラーとなる）ことを意味する。
これをコマンドの依存関係とする。ファームウエア更新コマンド907は、ダウンロードしたファームウエアを使用してファームウエアを更新するコマンドであり、＜updateFirmwareCommand＞で定義される。
【００７６】
ここでも、先と同様に、＜depend＞の＜commandId＞が定義されており、値は"1"である。つまり、ファームウエアダウンロードコマンド部903の実行完了（成功）を必要としている。
ファームウエアダウンロードコマンド部903でダウンロードしたファームウエアを使用して、ファームウエアを更新する。アプリケーションインストールコマンド部908は、ダウンロードしたライセンスおよびアプリケーションを使用してアプリケーションをインストールするコマンドであり、＜installApplicationCommand＞で定義される。
アプリケーションインストールコマンド部908も、先と同様に、アプリケーションダウンロードコマンド部906の実行完了（成功）を必要としている。またさらに、アプリケーションダウンロードコマンド部906はライセンス発行コマンド部904の実行完了（成功）を必要としている。
【００７７】
ライセンス発行コマンド部904でダウンロードしたライセンスと、アプリケーションダウンロードコマンド部906でダウンロードしたアプリケーションを使用して、アプリケーションをインストールする。オプション有効化コマンド部909は、ダウンロードしたライセンスを使用してオプションを有効化するコマンドであり、＜activateOptionCommand＞で定義される。
【００７８】
オプション有効化コマンド部909も、先と同様に、ライセンス発行コマンド部905の実行完了（成功）を必要としている。アプリケーションダウンロードコマンド部906でダウンロードしたライセンスを使用して、オプションを有効化する。個別データ設定コマンド910は、案件管理サーバー107から個別データをダウンロードして設定するするコマンドであり、＜setIndividualDataCommand＞で定義される。
【００７９】
＜自動設置処理＞
図１０は、ＭＦＰ105の操作部208に表示するＵＩ画面を示す図である。本ＵＩは、設置担当者721がS702の作業を行う際に操作する。
図１０の(A)は、ＭＦＰ105のネイティブプログラム401のＵＩの一例である。ＵＩ1000はボタン1001を有し、1001は自動設置プログラム450を起動するためのボタンである。ネイティブプログラム401は、ボタン1001が押下されたことを検知すると、自動設置プログラム450を起動する。なお、本実施形態では分かり易く説明するため、ボタン1001のみを表示しているがその限りではない。
【００８０】
図１０の(B)は、自動設置プログラム450のＵＩの一例である。本ＵＩは、ボタン1001を押下された際に表示するＵＩである。ＵＩ1050は、ボタン1051と1052を有し、特にデバイスID"N001"であるＭＦＰ105の自動設置プログラム450が表示するＵＩである。
1051は自動設置作業を実行するためのボタンであり、自動設置プログラム450は、ボタン1051が押下されたことを検知すると、自動設置作業を開始する。自動設置作業の処理については図１１乃至図１５を用いて後述する。キャンセルするボタン1052は、自動設置プログラム450を終了するためのボタンである。
【００８１】
＜設置時のフロー＞
図１１は、本実施形態を示す情報処理システムの制御方法を説明するフローチャートである。本例は自動設置作業におけるＭＦＰ105の自動設置プログラム450、および、案件管理サーバー107の案件管理サーバープログラム510の処理例である。なお、S1101〜S1110は、ＣＰＵ201が自動設置プログラム450を実行することで実現され、S1151〜S1157は、ＣＰＵ301が案件管理サーバープログラム510を実行することで実現される。S1101〜S1110は、設置担当者721がボタン1051を押下した際の自動設置プログラム450の自動設置作業の処理である。
【００８２】
〔ＭＦＰ105側の設定処理〕
S1101で、通信部454は、案件管理サーバー107へ対応する設置用スクリプトを要求して、S1102に遷移する。具体的には通信部454が、案件管理サーバープログラム510の通信部515に対してHTTPのGETコマンドによる要求を行う。当該要求にはＭＦＰ105のデバイスID（図６の（B））が含まれている。S1102で、通信部454は、案件管理サーバー107から応答があったかを判断する。
【００８３】
ここで、通信部454が案件管理サーバー107から応答があったと判断した場合、処理をS1103に進め、応答がないと判断した場合、応答監視を続ける。
S1103で、通信部454は、案件管理サーバー107から案件IDと設置用スクリプトを受信し、処理をS1104へ進める。
S1104で、スクリプト解析部453は、案件管理サーバー107から受信したスクリプトが分割スクリプトか否かを判断する。ここで、分割スクリプトとは、図６の(A)で説明した、１次スクリプトおよび２次スクリプトである。S1104で、スクリプト解析部453は、分割スクリプトであると判断した場合、処理をS1105に進め、オリジナルスクリプトと判断した場合は、処理をS1106へ進める。
【００８４】
S1105で、処理実行部452は、S1103で受信した分割スクリプトを実行して、本処理を終了する。分割スクリプトの実行の詳細手順については図１４を用いて後述する。
【００８５】
S1106で、処理実行部452は、S1103で案件管理サーバー107から受信したオリジナルスクリプトを実行し、処理をS1107に進める。
具体的には、処理実行部452は、図９に示したコマンド記載部950に記載されている各コマンドをコマンド部903〜910へ順に実行し、途中でエラーが発生した場合は、その時点で実行を停止する。
S1107で、処理実行部452は、S1106の実行結果が成功か失敗かを判断する。全てのコマンド処理が成功したと判断した場合、処理をS1110に進め、途中でエラーとなったと判断した場合、処理をS1108に進める。なお、実行結果が失敗である場合は、
S1108で、通信部454は、分割スクリプトの生成を案件管理サーバー107へ要求し、処理をS1109に進める。なお、分割スクリプト生成の詳細手順についてはフロー図１２を用いて後述する。
【００８６】
S1109で、処理実行部452は、S1108で分割スクリプトが生成されたか否かを判断する。ここで、処理実行部452は、分割スクリプトが生成されたと判断した場合、処理をS1105に進め、生成されなかったと判断した場合、処理をS1110に進める。
S1110で、通信部454は、案件IDと実行したスクリプト種別および実行結果を案件管理サーバー107へ送信し、本処理を終了する。なお、設置結果送信処理の詳細手順については図１５を用いて後述する。
【００８７】
〔案件管理サーバープログラム510の処理〕
図１１において、案件管理サーバー107が実行するS1151からS1155は、S1101の処理で自動設置プログラム450から送信されたスクリプト取得要求を受信してから応答を返すまでの案件管理サーバープログラム510の処理である。
S1151で、案件管理サーバー107の通信部515は、ＭＦＰ105からスクリプトの取得要求を受信したかを監視する。スクリプト取得要求を受信したと判断した場合はS1152に遷移し、受信していないと判断した場合は監視を続ける。S1152で、案件データ管理部513は、S1151で取得したデバイスIDを使用して、案件管理テーブルおよび設置デバイスデータ管理テーブル（図６）から、１次スクリプトおよび２次スクリプトに対応する分割スクリプトが生成されているか否かを判断する。
【００８８】
例えば、S1151で、デバイスID"N002"からの要求を受信したとする。デバイスID"N002"は設置デバイスデータ管理テーブルより、案件ID"A001"のデバイスであることがわかる。さらに、案件管理テーブルより案件ID"A001"は1次スクリプト"スクリプト1−1"および2次スクリプト"スクリプト1−2"が生成されていることがわかる。よって、案件データ管理部513は、分割スクリプトありと判断し、S1153に遷移する。
【００８９】
また、デバイスID"N101"からの要求の場合、案件ID"A003"であり、案件ID"A003"はオリジナルスクリプトのみである。よって、案件データ管理部513は、分割スクリプトなしと判断し、S1154に遷移する。S1153で、通信部515は、案件IDおよび、該当する案件IDの1次スクリプトと2次スクリプトを要求元のＭＦＰ105に送信する。
【００９０】
例えば、デバイスID"N003"の場合、案件ID"A001"と、1次スクリプト"スクリプト1−1"および2次スクリプト"スクリプト1−2"を送信し、S1155に遷移する。S1154で、通信部515は、案件IDおよびオリジナルスクリプトをＭＦＰ105に送信する。例えば、デバイスID"N102"の場合、案件ID"A003"とオリジナルスクリプト"スクリプト1"を送信し、S1155に遷移する。
【００９１】
S1155で、案件データ管理部513は、設置デバイスデータ管理テーブル（図６の（B））の作業状況を変更（更新）し、処理を終了する。
具体的には、S1151で受信したデバイスIDに対応するレコードの作業状況を"未"（未実行）から"作業中"に変更する。例えば、デバイスID"N003"の場合は、"S1−作業中"（1次スクリプト実行中）に、デバイスID"N102"の場合は、"S0−作業中"（オリジナルスクリプト実行中）に変更する。
【００９２】
S1156は、S1108で自動設置プログラム450から送信された分割スクリプトの生成要求を受信してから応答を返すまでの、案件管理サーバープログラム510の処理である。S1156で、案件管理サーバープログラム510は分割スクリプトを生成し終了する。分割スクリプトの生成については図１２を用いて後述する。
【００９３】
S1157は、S1110で自動設置プログラム450から送信された設置結果を受信してから応答を返すまでの、案件管理サーバープログラム510の処理である。S1157で、案件管理サーバープログラムは受信した設置結果を保存し終了する。設置結果を保存については、図１５を用いて後述する。
【００９４】
〔分割スクリプトの生成処理〕
図１２は、本実施形態における情報処理システムの制御方法を説明するフローチャートである。本例は、図１に示したＭＦＰ105および案件管理サーバー107の分割スクリプト生成制御手順に対応する。本例は、自動設置作業におけるＭＦＰ105の自動設置プログラム450、および案件管理サーバー107の案件管理サーバープログラム510の処理例である。なお、S1201からS1204は、ＣＰＵ201が自動設置プログラムを実行することで実現され、S1211からS1215は、ＣＰＵ301が案件管理サーバープログラム510を実行することで実現される。
【００９５】
分割スクリプトの生成処理は、前述した図１１に示したS1108とS1156の処理である。
S1201で、スクリプト解析部453は、S1106でエラーとなったコマンドが設置予定の別ＭＦＰ105でもエラーが発生するかを解析する処理を実行して、処理をS1202に進める。
具体的には、スクリプト解析部453は、エラーになったコマンド記載部950のerror属性を調べ、"all"である場合、エラー種別は案件内共通と判断し、"alone"である場合、案件内で共通ではないエラー（個別エラー）と判断する。例えば、ライセンス発行コマンド部904でエラーとなった場合は案件内共通と判断し、オプション有効化でエラーとなった場合は案件内共通ではないと判断する。
【００９６】
S1202で、スクリプト解析部453は、S1201で解析した結果が案件内共通であるか否かを判断する。ここで、スクリプト解析部453は、エラー種別が案件内共通（別ＭＦＰ105でも同様のエラーが発生する）であると判断した場合、処理をS1203に進める。一方、スクリプト解析部453は、案件内共通エラーではない（別ＭＦＰ105では同様のエラーが発生しない）と判断した場合、処理を終了する。
S1203で、通信部454は、S1103で受信した案件IDおよびS1106でエラーとなったコマンド情報と共に、案件管理サーバー107に分割スクリプト生成の要求を送信して、処理を1204に進める。
S1204で、スクリプト解析部453は、通信部454を介して案件管理サーバー107からの応答を監視して、分割スクリプトを受信したかどうかを判断する。ここで、処理実行部452は、分割スクリプトを受信したと判断した場合、処理を終了し、分割スクリプトを受信していないと判断した場合、案件管理サーバー107からの応答受信の監視を続ける。
【００９７】
〔案件管理サーバープログラム107の処理〕
S1211乃至S1215は、S1156で自動設置プログラム450から送信された分割スクリプト生成要求を受信してから応答結果を返すまでの、案件管理サーバープログラム107の処理である。
図１３は、図６の（A）に示したスクリプトの分割スクリプトとなる１次スクリプト1300、２次スクリプト1350の一例を示す図である。
S1211で、案件管理サーバープログラム107の通信部515は、ＭＦＰ105から分割スクリプト生成要求を受信したかを判断する。ここで、制御部511は、通信部515が分割スクリプト生成要求をＭＦＰ105から受信したと判断した場合、処理をS1212に進め、受信していないと判断した場合、ＭＦＰ105からの応答の監視を続ける。
S1212で、分割スクリプト編集部512は、S1211でＭＦＰ105から受信した案件IDとエラーコマンド情報を使用して、該当する案件IDのオリジナルスクリプトからコマンドの依存関係を抽出し、処理をS1213に進める。
【００９８】
例えば、図９の設置用スクリプトが該当案件IDのオリジナルスクリプトとし、ライセンス発行コマンド部904でエラーが発生したとする。コマンドidは"２"であるので、以降のコマンドから＜depend＞内の＜commamdId＞が"２"になっているコマンドを抽出する。
コマンド部905は＜commamdId＞がないため依存しない。コマンド部906は＜commamdId＞が"２"であるため依存し、抽出対象となる。さらにコマンド部906のコマンドIDは"４"であるため、以後のコマンドは、＜commamdId＞が"２"または"４"のコマンドを抽出することになる。
続けて、コマンド部907は＜commamdId＞が"１"であり依存せず。コマンド部908は＜commamdId＞が"４"であるため依存する。
【００９９】
同様にコマンド部910まで繰り返すと、コマンド部904に依存するコマンドは、コマンド部906、908であることがわかり、これら３コマンドを抽出する。
S1213で、分割スクリプト編集部512は、S1212で抽出したコマンド（２次スクリプト）と、それ以外のコマンド（１次スクリプト）に分割し、処理をS1214に進める。
本例では、分割スクリプト編集部512は、コマンド部904、906、908を抽出したため、これらのコマンドを２次スクリプト1350とし、それ以外のコマンド部903、905、907、909、910は１次スクリプト1300とする。
S1214で、案件データ管理部513は、案件管理テーブル（図６の（A））内にある、S1211で受信した案件IDに対応するレコードの１次スクリプト、２次スクリプトにS1213で生成した２つのスクリプトを保存し、処理をS1215に進める。
S1215で、通信部515は、S1213で生成した分割スクリプトをＭＦＰ105に送信して、本処理を終了する。
【０１００】
〔分割スクリプトの実行処理〕
図１４は、本実施形態を示す情報処理システムの制御方法を説明するフローチャートである。本例は、ＭＦＰ105、案件管理サーバー107およびクライアントＰＣ106の分割スクリプトの実行制御手順に対応する。本例は、自動設置作業におけるＭＦＰの自動設置プログラム450、案件管理サーバーの案件管理サーバープログラム510およびクライアントＰＣ106の案件作成プログラム500の処理例である。
なお、S1401からS1409は、ＣＰＵ201が自動設置プログラムを実行することで実現され、S1411からS1415は、ＣＰＵ301が案件管理サーバープログラム510を実行することで実現される。さらに、S1421からS1422は、ＣＰＵ251が案件作成プログラム500を実行することで実現される。なお、分割スクリプトの実行処理は前述したS1105の処理である。
【０１０１】
S1401で、ＭＦＰ105のスクリプト解析部453は、S1103またはS1108で受信した１次スクリプト1300を読み込み、さらに処理実行部452は読み込んだ１次スクリプト1300を実行し、処理をS1402へ進める。具体的には、処理実行部452はS1106と同様に、１次スクリプト1300に記載されているコマンドを順に実行し、途中でエラーが発生した場合はその時点で実行を停止する。
【０１０２】
S1402で、処理実行部452は、S1401の実行結果が成功か失敗かを判断する。ここで、処理実行部452は、全てのコマンド処理が成功していると判断した場合、処理をS1403に進め、途中でエラーとなったと判断した場合、処理をS1408に進める。
S1403で、通信部454は、S1110と同様に設置結果を案件管理サーバー107に送信し、処理をS1404に進める。設置結果送信については図１５を用いて後述する。
S1404で、処理実行部452は、スクリプト1300の実行処理を一時停止し、再開後、処理をS1405に進める。なお、分割スクリプトはオリジナルスクリプト実行中にエラーが発生した場合（S1107のNO）に生成され、２次スクリプトは実行不可能なコマンドを抽出（S1212）したものである。このため、処理実行部452が２次スクリプト1350を実行するとエラーとなる。
【０１０３】
よって、ここで、エラー要因調査や２次スクリプト修正を行い、２次スクリプトが実行可能となるまで待つ。
なお、本実施形態では、ＭＦＰ105は、再起動時や一定時間（例えば２４時間）の経過などのタイミングで、定期的にスクリプトの一時停止を解除し、スクリプト実行処理を再開する。
S1405で、通信部452は、案件IDおよび２次スクリプト1350の更新日時部921を案件管理サーバー107に送信し、２次スクリプト1350の更新が行われたか否か、案件管理サーバー107に問い合わせをして、処理をS1406に進める。
S1406で、処理実行部452は、通信部454を介して、案件管理サーバー107から応答があったかを判断する。ここで、処理実行部452は、通信部454を介して案件管理サーバー107から応答があったと判断した場合は、処理をS1407に進め、応答がないと判断した場合は、応答監視を続ける。
S1407で、処理実行部452は、２次スクリプト1350の更新が行われたか否かを判断する。なお、S1406において、処理実行部452は、案件管理サーバー107から新規に２次スクリプト1350を受信している場合は更新されたと判断し、処理をS1408に進める。
【０１０４】
S1407で、処理実行部452は、S1406で未更新の結果だけを取得している場合は未更新と判断し、処理をS1404に戻す。
S1408で、スクリプト解析部453は、S1406で受信した２次スクリプト1350を読み込み、さらに処理実行部452は読み込んだ２次スクリプト1350を実行し、処理をS1409へ進める。
具体的にはS1106と同様に、処理実行部452は、図１３に示したスクリプト1350に記載されているコマンドを順に実行し、処理をS1409へ進める。なお、スクリプト実行の途中でエラーが発生した場合はその時点で実行を停止する。
S1409で、処理実行部452は、通信部454を介して、S1110と同様に設置結果を案件管理サーバー107に送信し、処理を終了する。なお、設置結果送信処理の詳細について図１５を用いて後述する。
【０１０５】
〔案件管理サーバープログラム510の処理〕
S1411〜S1415は、案件作成プログラム500から２次スクリプト修正要求を受信した際と、自動設置プログラム450から２次スクリプト受信要求を受信した際の案件管理サーバープログラム510の処理である。
S1411で、制御部511は、クライアントＰＣ106の通信部515を介して案件作成プログラム500から２次スクリプト修正要求を受信したか否か判断する。ここで、制御部511は、通信部515を介して案件作成プログラム500から２次スクリプト修正要求を受信したと判断した場合、処理をS1412に進める。一方、２次スクリプト修正要求を受信していないと判断した場合、案件作成プログラム500から２次スクリプト修正要求を受信したかどうかの監視処理を続ける。
S1412で、案件データ管理部513は、案件IDと修正済２次スクリプトを受信した場合、処理をS1413に進める。S1413で、案件データ管理部513は、案件管理テーブル（図６の（A））の該当箇所に、S1412でクライアントＰＣ106から受信した修正済２次スクリプトを上書き保存し、処理を終了する。その際、案件データ管理部513は、２次スクリプト1350の＜update＞の＜date＞は上書き保存した時点の日時となる。
【０１０６】
S1414で、制御部511は、通信部515を介してＭＦＰ105から２次スクリプト1350の取得要求を受信したかを判断する。ここで、制御部515は、２次スクリプト1350の取得要求を受信したと判断した場合、処理をS1415に進める。一方、２次スクリプト1350の取得要求を受信していないと判断した場合、２次スクリプト1350の取得の要求を監視する処理を続ける。
S1415で、案件データ管理部513は、S1414で受信した案件IDと２次スクリプト更新日時と、案件管理テーブル（図６の（A））の２次スクリプト更新日時を比較し、２次スクリプト1350が修正済か否かを判断する。ここで、案件データ管理部513は、２次スクリプト1350が修正済であると判断した場合、制御部511は、通信部515を介して、修正済であれば更新済の２次スクリプト1350をＭＦＰ105に送信し、処理を終了する。一方、案件データ管理部513は、未更新であれば２次スクリプト1350が未更新であることをＭＦＰ105に送信し、処理を終了する。
例えば、案件データ管理部513は、２次スクリプト1350にある"A001"と"2016／4／1 12：00"を受信した場合、案件ID"A001"の２次スクリプト1350が、2016年4月1日12時以降に更新されていれば更新済と判断する。逆に、案件データ管理部513は、２次スクリプト1350が2016年4月1日12時のままであれば未更新と判断する。
【０１０７】
〔案件作成プログラム500の処理〕
S1421乃至S1422は、案件作成者720が２次スクリプト1350を修正する際の、案件作成プログラム500の処理である。なお、案件作成者720が、案件データ一覧801から修正したい案件データを選択し、編集ボタン803を押下することにより開始される。
【０１０８】
S1421で、ＵＩ制御部501は、該当する案件データの編集画面（図８Ａの（B））を表示し、案件作成者は正しい値を入力する。ボタン831が押下されると、処理実行部502は、分割スクリプトの処理順序（図８Ｂの（D））で、実行済処理871と未実行部分872を表示する。案件作成者720は、この画面で未実行の部分を確認することができる。保存ボタン832の押下を検知すると、スクリプト生成部504はS1421で修正した２次スクリプト1350を保存し、処理をS1422に進める。なお、２次スクリプト1350で修正が不要である例えばライセンス数の不足の場合は、案件データの編集画面（図８Ａの（B））のライセンス欄にOKが表示されない。
【０１０９】
ライセンス管理者による必要なライセンス数を再発行後（不図）、案件作成者720は案件データの編集画面にライセンスの確認のためのボタン828、830を押下することで、ライセンスチェックＯＫとなる。
S1422で、通信部505は、S1421で修正された２次スクリプト1350を案件管理サーバー107へ送信し、本処理を終了する。
【０１１０】
図１５は、本実施形態を示す情報処理システムの制御方法を説明するフローチャートである。本例は、ＭＦＰ105および案件管理サーバー107の各スクリプトの実行結果登録手順に対応する。本例は、自動設置作業におけるＭＦＰ105の自動設置プログラム450および案件管理サーバー107の案件管理サーバープログラム510の処理例である。
【０１１１】
〔ＭＦＰ105の自動設置プログラム450の処理〕
なお、S1501は、ＣＰＵ201が自動設置プログラム450を実行することで実現され、S1511からS1512は、ＣＰＵ301が案件管理サーバープログラム510を実行することで実現される。
実行結果の送信は前述したS1110、S1403およびS1409の処理である。S1501で、通信部454は、デバイスID、S1106またはS1401またはS1408で実行したスクリプトの種別およびスクリプトの実行結果を案件管理サーバー107へ送信して処理を終了する。
【０１１２】
〔案件管理サーバープログラム510の処理〕
S1511およびS1512は、自動設置プログラム450から実行結果を受信した際の案件管理サーバープログラム510の処理である。S1511で、制御部511がＭＦＰ105の通信部515を介してＭＦＰ105から実行結果を受信したかを判断する。ここで、制御部511が実行結果を受信したと判断した場合、処理をS1512に進め、実行結果を受信していないと判断した場合、制御部515は、ＭＦＰ105からの応答を監視する処理を続ける。
【０１１３】
S1512で、案件データ管理部513は、S1511で受信した実行結果に対応するデータを基に、対応する設置デバイスデータ管理テーブル（図６の(B)）の作業状況を変更し、処理を終了する。
例えば、デバイスID"N002"の1次スクリプト成功の結果を受信した場合、デバイスID"N002"の作業状況を、"未"（未実行）から"S1−完了"（1次スクリプト成功）に変更する。
【０１１４】
本実施形態によれば、管理装置で設置作業中に発生したエラー情報を用いて、現時点で実行可能な処理と実行不可能な処理に分割し、現時点で可能な処理のみを実行し、エラー修正後に未実行の処理を実行する。これにより、効率的に設置作業を行うことが可能となる。
また、管理装置がスクリプト中で未実行部分を作成・管理することで、設置対象デバイスの状態把握も容易となる。
【０１１５】
さらに、２段階設置を実施する際も、設置作業を実行した時点で処理実行の不可を判断して作業を自動分割するため、案件作成者は、今までと同じように１つの作業として登録することが可能である。
【０１１６】
〔第２実施形態〕
第１実施形態においては、S1201のエラー解析において、各処理に対応するコマンド部905にerror属性を設けることで、エラー種別の解析を行った。しかし、コマンドレベルでの判断となるため、詳細な設定ができず、精度にかける場合がある。そこで、第２実施形態では、コマンドとエラー要因を用いてエラー内容の解析を行う例について説明する。
【０１１７】
図１６は、本実施形態を示す情報処理システムの制御方法を説明する図である。図１６の（A）は、第2実施形態におけるＭＦＰ105および案件管理サーバーの、コマンドおよびエラー要因を用いてのエラー解析を説明するフローチャートに対応する。エラー解析以外は、第１実施形態と同様のため説明を省略する。
【０１１８】
本例は、自動設置作業におけるＭＦＰ105の自動設置プログラム450および案件管理サーバー107の案件管理サーバープログラム510の処理例である。なお、S1601およびS1602は、ＣＰＵ201が自動設置プログラム450を実行することで実現され、S1611乃至S1615は、ＣＰＵ301が案件管理サーバープログラム510を実行することで実現される。
〔MFP105のエラー解析要求処理〕
S1601で、通信部454は、S1107のNOの直前で実行エラーとなったコマンドおよびエラーの要因を案件管理サーバー107の通信部515に送信し、S1602に遷移する。S1602で、通信部454は、案件管理サーバー107からエラー種別応答があったかを監視する。通信部454は応答があったと判断した場合は、処理を終了、応答がないと判断した場合は、応答監視を続ける。
【０１１９】
〔案件管理サーバープログラム510の処理〕
S1611およびS1615は、ＭＦＰ105からからエラー解析要求を受信した際の案件管理サーバープログラム510の処理である。また、図１６の（B）はデータ格納部516に保存されている案件内共通エラーテーブルの例である。案件内共通エラーテーブルは、案件内で共通に発生するエラーを定義および管理しているテーブルであり、コマンド種別、エラー番号、エラー内容で構成され、１レコードが１つのエラー要因を表している。
【０１２０】
例えば、publishLicenseCommand（ライセンス発行）コマンドにおいて、E−001（ライセンス不足）のエラー650が発生した場合、案件内共通エラーと定義している。これは、発行したライセンス数が不足したエラーであり、新たにライセンスを発行しない限り、今後の設置ＭＦＰ105においても同一のエラーが発生するためである。
また逆に、installApllicationCommand（アプリケーションインストール）コマンドにおいて、E−003（データのキャッシュエラー）があるが、これは案件内共通エラーと定義していないため、テーブル内には存在しない。これは、ダウンロードしたデータが破損しているエラーであり、エラーとなったＭＦＰ105のＨＤＤ209等のハードウエア要因で発生した可能性が高く、同一のエラーが別ＭＦＰ105で発生する可能性が低いためである。
【０１２１】
〔案件管理サーバー１０７のエラー内容解析処理〕
S1611で、制御部511は、通信部515を介して、ＭＦＰ105の自動設置プログラム450からエラー解析要求を受信したかを判断する。ここで、制御部511は、エラー解析要求を受信したと判断した場合、処理をS1612に進め、受信していないと判断した場合、ＭＦＰ105からの応答を監視する処理を続ける。
S1612で、エラー解析部514は、S1611で受信したエラー情報が、案件内共通エラーDBの中にあるか否かを判断する。
【０１２２】
例えば、S1611で受信したエラー情報が、コマンド＝"publishLicenseCommand"かつ、エラー番号＝"E−001"である場合、図１６の(B)に示す案件内共通エラーデータベース650に存在すると判断する。このため、制御部511は、案件内共通エラーデータベース650内に存在する場合、処理をS1613に進め、存在しないと判断した場合、処理をS1614に進める。
S1613で、制御部511は、エラー種別は案件内共通とし、処理をS1615に進める。
一方、S1614で、制御部511は、エラー種別は案件内共通ではないとし、処理をS1615に進める。S1615で、制御部511は、通信部515を介してMFP105 の通信部454にエラー種別を送信して、本処理を終了する。
【０１２３】
本実施形態によれば、エラーコマンドおよびエラー原因を組み合わせて案件内共通エラーか否かを判断する。従って、第１実施形態より精度の高いエラー解析が可能となる。
【０１２４】
〔第３実施形態〕
第１実施形態および第２実施形態においては、S1201のエラー解析において、予めコマンドとエラー情報を登録しておき、エラーが発生したら、登録済の情報と比較することで、エラー解析を行った。しかし、コマンドやエラー要因が追加された場合、その都度、エラー解析情報も追加しなければいけない。そこで、第３実施形態では、エラー情報の履歴を管理してエラー内容の解析を行う例について説明する。
【０１２５】
図１７は、本実施形態を示す情報処理システムの制御方法を説明する図である。図１７の(A)は、第3実施形態におけるＭＦＰ105および案件管理サーバー107の、エラー履歴を用いてのエラー解析を説明するフローチャートに対応する。エラー解析以外は、第１実施形態と同様のため説明を省略する。
【０１２６】
本例は、自動設置作業におけるＭＦＰ105の自動設置プログラム450および案件管理サーバーの案件管理サーバープログラム510の処理例である。なお、S1701からS1702は、ＣＰＵ201が自動設置プログラム450を実行することで実現され、S1711からS1716は、ＣＰＵ301が案件管理サーバープログラム510を実行することで実現される。
【０１２７】
〔MFP105のエラー内容解析処理〕
S1701で、処理実行部452は、通信部454を介して案件管理サーバー107に、案件番号、S1107のNOの直前で実行エラーとなったコマンドおよびエラーの要因を送信し、S1702に遷移する。S1702で、処理実行部452は、通信部454を介して案件管理サーバー107からエラー種別応答があったかを監視する。処理実行部452は、案件管理サーバー107から応答があったと判断した場合、処理を終了し、応答がないと判断した場合、案件管理サーバー107から応答を受信する処理を続ける。
【０１２８】
〔案件管理サーバー１０７のエラー内容解析処理〕
S1711およびS1716は、自動設置プログラム450からエラー解析要求を受信した際の案件管理サーバープログラム510の処理である。
また、図１７の(B)はデータ格納部516に保存されているエラー履歴テーブルの例である。エラー履歴テーブルは、設置作業中に発生したエラー履歴750，751を格納および管理しているテーブルであり、案件ID、コマンド種別、エラー番号で構成され、１レコードが１つのエラー履歴を表している。例えば、エラー履歴750は、案件ID"A001"の設置中に、publishLicenseCommand（ライセンス発行）コマンドにおいて、E−001（ライセンス不足）のエラーが発生したことを意味している。なお、E−001（ライセンス不足）のエラーは、案件内共通エラーデータベース650で管理している。
【０１２９】
S1711で、制御部511は通信部515を介してＭＦＰ105からエラー解析要求を受信したかを監視する。制御部511はエラー解析要求を受信したと判断した場合、処理をS1712に進め、受信していないと判断した場合、ＭＦＰ１０５からの要求を監視する処理を続ける。
S1712で、エラー解析部514は、S1711で受信したエラー情報が、エラー履歴テーブル752の中にあるか否かを判断する。例えば、S1711で受信データが、案件番号"A001"、エラーコマンド"publishLicense"（ライセンス発行）かつ、エラー番号"E−001"である場合、エラー履歴テーブルに存在すると判断する。
ここで、エラー解析部514は、エラー履歴テーブルに存在すると判断した場合、処理をS1713に進め、存在しないと判断した場合、処理をS1715に進める。S1713で、制御部511は、エラー種別は案件内共通と判断し、処理をS1714に進める。
【０１３０】
S1715で、制御部511は、エラー種別は案件内共通ではないと判断し、処理をS1716に進める。S1716で、案件データ管理部513は、S1711で受信したエラー情報と同様のエラーが発生した場合、エラー種別は、案件内共通と判断させるため、S1711で受信したエラー情報をエラー履歴テーブル752に蓄積し、処理をS1714に進める。例えば、案件ID"A003"で、"downloadFirmwareCommand"コマンドの、エラー番号"E−003"が発生した場合、エラー履歴751のレコードを格納する。以降、エラー履歴751で格納したエラーと同一の案件番号で同一のエラーが発生した場合、S1712において、エラー種別は案件内共通と判断する。
S1714で、制御部511は、通信部515を介して、ＭＦＰ105に、S1713またはS1715で判断したエラー種別を送信し、本処理を終了する。
【０１３１】
本実施形態によれば、案件IDおよびエラー情報の履歴を蓄積し、エラー発生時にその蓄積したエラー履歴データと比較することで案件内共通エラーか否かを判断する。従って、エラー履歴情報が独立しているため、コマンドやエラー要因の新規追加があっても、エラー解析部514は変更することなく動作することが可能となる。
【０１３２】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばASIC）によっても実現可能である。
【符号の説明】
【０１３３】
105  ＭＦＰ
106  クライアントＰＣ
107  案件管理サーバー
108  各種データ管理サーバー
【図１】
2018120541.tif 000003
【図２】
2018120541.tif 000004
【図３】
2018120541.tif 000005
【図４】
2018120541.tif 000006
【図５】
2018120541.tif 000007
【図６】
2018120541.tif 000008
【図７】
2018120541.tif 000009
【図８Ａ】
2018120541.tif 000010
【図８Ｂ】
2018120541.tif 000011
【図９】
2018120541.tif 000012
【図１０】
2018120541.tif 000013
【図１１】
2018120541.tif 000014
【図１２】
2018120541.tif 000015
【図１３】
2018120541.tif 000016
【図１４】
2018120541.tif 000017
【図１５】
2018120541.tif 000018
【図１６】
2018120541.tif 000019
【図１７】
2018120541.tif 000020