(57)【要約】      （修正有）【課題】複数のデバイスのセットアップ作業を、あるデバイスで発生したエラーと同一のエラーが別のデバイスでも発生する場合に、デバイス毎に同じエラーリカバリ作業を実施しなくともよくすることにより効率化する。【解決手段】案件作成装置１０１は、作業手順書内の処理毎に処理ｉｄを割り振る際に、処理毎に一意の値を持たせるため、複数デバイス１１１、１１２で同一の処理には同一の処理ｉｄを割り振る。作業手順書の中を処理ｉｄで検索することによって、あるデバイスにおいてエラーが発生した処理と同一の処理が、他のデバイスの作業手順書に含まれるか否かを判別する。同一の処理が含まれている場合は、案件管理装置１０２はエラー情報として他のデバイスに処理ｉｄも通知する。デバイスは処理ｉｄを持つ処理を実行する前に処理を停止する。【選択図】図１
2016091521.tif 000002
【特許請求の範囲】
【請求項１】
セットアップ手順が記載された作業指示書（１１００）に従ってセットアップ作業を行うセットアップ作業実行手段（５５３）を有する複数のデバイス（１１１）と、案件内で共通の共通データ（９０１）とデバイス毎に固有の個別データ（９０５〜９０７）からなる案件データ（９００）および前記作業指示書を作成する作成部（４０３）を有する案件作成装置（１０１）と、前記案件データおよび作業指示書を案件ごとに管理する管理部（４５３）を有する案件管理装置（１０２）とからなる案件管理システム（図１）において、
案件作成装置は、案件データ毎の処理を記載する処理記載部（１１１０）内に処理毎に一意の処理ｉｄを割り振りながら作業指示書を作成する作成手段（Ｓ１００４）と、を有し、
案件管理装置は、デバイスから通知される処理状況を前記処理ｉｄと関連付けて管理する処理状況管理手段（６２０、Ｓ１３０７）と、
デバイスからの要求に従って、要求元デバイスおよび要求元デバイスが処理する作業指示書に記載された処理ｉｄと同一の処理ｉｄが含まれる処理に関するエラー情報を送信するエラー情報送信手段（Ｓ１３０５）と、を有し、
デバイスは、前記エラー情報を受信する受信手段（Ｓ１２０３）と、作業指示書に記載された処理を実行する前に、前記エラー情報が前記処理と関連するか否かを判別し、関連する場合は、前記処理の実行を停止する停止判断手段（Ｓ１２０５、Ｓ１２１０）と、
作業指示書に記載された処理の処理状況を管理装置に通知する通知手段（Ｓ１２０８）と、を有することを特徴とする案件管理システム。
【請求項２】
案件作成装置は、更に、前記案件管理装置から案件の詳細情報を取得する詳細取得手段（８３８）と、前記詳細取得手段で取得した詳細情報の中に、ある処理ｉｄで示される処理がエラー状態である旨を示す情報が含まれていた場合、前記エラー状態が解決されたらエラー情報が解消されたことを案件管理装置に通知するエラー解消通知手段（８６３）と、を有し、案件管理装置は、前記詳細取得手段の通知を受け、処理ｉｄ毎の処理状況を案件作成装置に返信する詳細返信手段（Ｓ１３０９）と、前記エラー解消通知手段からの通知を受け、前記処理状況管理手段の該当する処理ｉｄのエラー状態を未処理状態に変更する状態変更手段（Ｓ１３１３）と、を有することを特徴とする請求項１に記載の案件管理システム。
【請求項３】
デバイスは、更に、前記停止判断手段によって、処理の実行が停止された状態で一定時間以上経過した場合、セットアップ作業を中止するための中止ボタンをＵＩ制御部（５５１）に表示し、前記中止ボタンが押下されると、案件管理装置に中止要求を発行する第１の中止手段（５６３、Ｓ１２１３、Ｓ１２１５）と、を有することを特徴とする請求項１に記載の案件管理システム。
【請求項４】
案件作成装置は、更に、セットアップ作業を中止するための中止ボタンをＵＩ制御部（４０１）に表示し、前記中止ボタンが押下されると、案件管理装置に中止要求を発行する第２の中止手段（８６４）と、を有することを特徴とする請求項２に記載の案件管理システム。
【請求項５】
案件管理装置は、前記第１または第２の中止手段からの通知を受け、通知された処理ｉｄに関連するデバイスのセットアップ作業を中止するとともに、前記処理ｉｄと同一の処理ｉｄを持つ作業指示書を実行するデバイスのセットアップ作業も中止する作業中止手段（Ｓ１３１５）と、を有することを特徴とする請求項３又は請求項４に記載の案件管理システム。
【請求項６】
案件管理装置のエラー情報送信手段は、案件内の複数のデバイス間で共通の処理ｉｄが割り振られている処理が、あるデバイスにおいてエラーとなっていることを検知しても、前記エラーを詳細に解析することによって他のデバイスにおいては同一のエラーが発生しないことが分かった場合、前記エラーのエラー情報を他のデバイスに通知しない（実施例２のＳ１３１５）ことを特徴とする請求項１に記載の案件管理システム。
【請求項７】
案件管理装置のエラー情報送信手段は、あるデバイスの個別データに対する処理がエラーとなっていることを検知し、前記エラーを詳細に解析することによって他のデバイスにおいても同一のエラーが発生することが分かった場合、前記エラーのエラー情報を他のデバイスに通知する（実施例３のＳ１３１５）ことを特徴とする請求項１に記載の案件管理システム。
【請求項８】
セットアップ手順が記載された作業指示書（１１００）に従ってセットアップ作業を行うセットアップ作業実行工程（５５３）を有する複数のデバイス（１１１）と、案件内で共通の共通データ（９０１）とデバイス毎に固有の個別データ（９０５〜９０７）からなる案件データ（９００）および前記作業指示書を作成する作成部（４０３）を有する案件作成装置（１０１）と、前記案件データおよび作業指示書を案件ごとに管理する管理部（４５３）を有する案件管理装置（１０２）とからなる案件管理方法（図１）において、
案件作成装置は、案件データ毎の処理を記載する処理記載部（１１１０）内に処理毎に一意の処理ｉｄを割り振りながら作業指示書を作成する作成工程（Ｓ１００４）と、を有し、
案件管理装置は、デバイスから通知される処理状況を前記処理ｉｄと関連付けて管理する処理状況管理工程（６２０、Ｓ１３０７）と、
デバイスからの要求に従って、要求元デバイスおよび要求元デバイスが処理する作業指示書に記載された処理ｉｄと同一の処理ｉｄが含まれる処理に関するエラー情報を送信するエラー情報送信工程（Ｓ１３０５）と、を有し、
デバイスは、前記エラー情報を受信する受信工程（Ｓ１２０３）と、作業指示書に記載された処理を実行する前に、前記エラー情報が前記処理と関連するか否かを判別し、関連する場合は、前記処理の実行を停止する停止判断工程（Ｓ１２０５、Ｓ１２１０）と、
作業指示書に記載された処理の処理状況を管理装置に通知する通知工程（Ｓ１２０８）と、を有することを特徴とする案件管理方法。
【請求項９】
案件作成装置は、更に、前記案件管理装置から案件の詳細情報を取得する詳細取得工程（８３８）と、前記詳細取得工程で取得した詳細情報の中に、ある処理ｉｄで示される処理がエラー状態である旨を示す情報が含まれていた場合、前記エラー状態が解決されたらエラー情報が解消されたことを案件管理装置に通知するエラー解消通知工程（８６３）と、を有し、案件管理装置は、前記詳細取得工程の通知を受け、処理ｉｄ毎の処理状況を案件作成装置に返信する詳細返信工程（Ｓ１３０９）と、前記エラー解消通知工程からの通知を受け、前記処理状況管理工程の該当する処理ｉｄのエラー状態を未処理状態に変更する状態変更工程（Ｓ１３１３）と、を有することを特徴とする請求項８に記載の案件管理方法。
【請求項１０】
デバイスは、更に、前記停止判断工程によって、処理の実行が停止された状態で一定時間以上経過した場合、セットアップ作業を中止するための中止ボタンをＵＩ制御部（５５１）に表示し、前記中止ボタンが押下されると、案件管理装置に中止要求を発行する第１の中止工程（５６３、Ｓ１２１３、Ｓ１２１５）と、を有することを特徴とする請求項８に記載の案件管理方法。
【請求項１１】
案件作成装置は、更に、セットアップ作業を中止するための中止ボタンをＵＩ制御部（４０１）に表示し、前記中止ボタンが押下されると、案件管理装置に中止要求を発行する第２の中止工程（８６４）と、を有することを特徴とする請求項９に記載の案件管理方法。
【請求項１２】
案件管理装置は、前記第１または第２の中止工程からの通知を受け、通知された処理ｉｄに関連するデバイスのセットアップ作業を中止するとともに、前記処理ｉｄと同一の処理ｉｄを持つ作業指示書を実行するデバイスのセットアップ作業も中止する作業中止工程（Ｓ１３１５）と、を有することを特徴とする請求項１０又は請求項１１に記載の案件管理方法。
【請求項１３】
案件管理装置のエラー情報送信工程は、案件内の複数のデバイス間で共通の処理ｉｄが割り振られている処理が、あるデバイスにおいてエラーとなっていることを検知しても、前記エラーを詳細に解析することによって他のデバイスにおいては同一のエラーが発生しないことが分かった場合、前記エラーのエラー情報を他のデバイスに通知しない（実施例２のＳ１３１５）ことを特徴とする請求項８に記載の案件管理方法。
【請求項１４】
案件管理装置のエラー情報送信工程は、あるデバイスの個別データに対する処理がエラーとなっていることを検知し、前記エラーを詳細に解析することによって他のデバイスにおいても同一のエラーが発生することが分かった場合、前記エラーのエラー情報を他のデバイスに通知する（実施例３のＳ１３１５）ことを特徴とする請求項８に記載の案件管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合機に代表されるデバイスをセットアップする際に、各種設定情報を効率よく反映するための案件管理システムに関する。
【背景技術】
【０００２】
一般に、複合機に代表されるデバイスは新規に導入される際に、顧客環境に応じたセットアップ作業が必要となる。デバイスのセットアップ作業には多くの時間と手間がかかる。そのため、複数台のデバイスに対し、同様のセットアップ作業を行う場合には、予め必要なソフトウェアや設定情報、検証用のデータなどの共通データを用意しておく。そして、それらを設置指示情報に従って処理していくことで、複合機のセットアップに詳しくない作業者（例えば、顧客先へ複合機を配送する配送担当者）であっても、自動的にかつ効率良くセットアップ作業を行えるシステムが提案されている。
【０００３】
このようなシステムでは、高コストのサービス担当者（従来、顧客先で複合機をセットアップしていた作業員）を個々の顧客先に派遣することが不要となる。サービス担当者は、配送担当者によるセットアップ作業で発生したエラーに遠隔地から対応する。また、あるデバイスで発生したエラー情報を別のデバイスに送信することによって、複数のデバイスが連携して、発生したエラーに対処するシステムも提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１６４８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のシステムでは、あるデバイスで発生したエラー情報を別のデバイスに送信してメンテナンス情報を引き出すだけである。あるデバイスのセットアップ作業において発生したエラーが別のデバイスのセットアップ作業でも発生するか否かに関する判断を行っている訳ではない。このため、複数台のデバイスのセットアップ作業を行う場合、あるデバイスで発生したエラーが別のデバイスでも発生してしまい、セットアップ作業の効率化を妨げていた。
【０００６】
本発明は、前記問題点を解決するためになされたものであって、セットアップ作業中に発生したエラー情報を複数デバイス間で共有することによって、効率的にセットアップ作業を行うことができる案件管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明は、セットアップ手順が記載された作業指示書（１１００）に従ってセットアップ作業を行うセットアップ作業実行手段（５５３）を有する複数のデバイス（１１１）と、案件内で共通の共通データ（９０１）とデバイス毎に固有の個別データ（９０５〜９０７）からなる案件データ（９００）および前記作業指示書を作成する作成部（４０３）を有する案件作成装置（１０１）と、前記案件データおよび作業指示書を案件ごとに管理する管理部（４５３）を有する案件管理装置（１０２）とからなる案件管理システム（図１）において、案件作成装置は、案件データ毎の処理を記載する処理記載部（１１１０）内に処理毎に一意の処理ｉｄを割り振りながら作業指示書を作成する作成手段（Ｓ１００４）と、を有し、案件管理装置は、デバイスから通知される処理状況を前記処理ｉｄと関連付けて管理する処理状況管理手段（６２０、Ｓ１３０７）と、デバイスからの要求に従って、要求元デバイスおよび要求元デバイスが処理する作業指示書に記載された処理ｉｄと同一の処理ｉｄが含まれる処理に関するエラー情報を送信するエラー情報送信手段（Ｓ１３０５）と、を有し、デバイスは、前記エラー情報を受信する受信手段（Ｓ１２０３）と、作業指示書に記載された処理を実行する前に、前記エラー情報が前記処理と関連するか否かを判別し、関連する場合は、前記処理の実行を停止する停止判断手段（Ｓ１２０５、Ｓ１２１０）と、作業指示書に記載された処理の処理状況を管理装置に通知する通知手段（Ｓ１２０８）と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、あるデバイスで発生したエラーと同一のエラーが別のデバイスで発生することを防ぐことができるようになる。すなわち、セットアップ作業でエラーが発生した場合であっても、作業効率の低下を最小限に抑えることができる案件管理装置および案件管理システムを提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態のシステムの構成図
【図２】案件管理装置の内部構成図
【図３】複合機の内部構成図
【図４】案件作成装置、案件管理装置のソフトウェア構成図
【図５】複合機、自動設置プログラムのソフトウェア構成図
【図６】案件管理装置の案件データ格納部のテーブル構成を示す図
【図７】デバイスのセットアップ作業のワークフローの例
【図８】案件作成プログラム４００のＵＩ画面の例
【図９】案件データの構成の一例を示す図
【図１０】案件のスクリプトを作成する処理を説明したフローチャート
【図１１】スクリプトの一例を示す図
【図１２】実施例１のデバイス１１１のフローチャート
【図１３】実施例１の案件管理装置１０２のフローチャート
【図１４】実施例２の案件管理装置の案件データ格納部のテーブル構成を示す図
【図１５】実施例３の案件管理装置の案件データ格納部のテーブル構成を示す図
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１１】
本実施形態では、複合機に代表されるデバイスが解析可能な「スクリプト」と呼ばれる設置指示書と各種設置データから成る案件データを作業者が作成し、案件管理装置に登録する際の動作について説明する。また、作業者が前記案件データをデバイスにセットアップする際の動作についても説明する。なお、設置データには、ファームウェア、拡張プログラム、ライセンスファイル、設定情報ファイルなどが含まれる。
【００１２】
図１は本実施形態のシステムの構成を示す図である。本図において、１００は前設置環境で、作業者は本環境にて案件データの作成や管理を行う。１０１は案件作成装置である。作業者は案件作成装置１０１上で案件データを作成する。１０２は案件管理装置である。案件作成装置１０１で作成された案件データは、案件管理装置１０２に登録され、管理される。なお、本実施形態では、案件作成装置１０１と案件管理装置１０２が別装置で実現されているが、同一装置内で実現されていてもよい。
【００１３】
１０３はＬＡＮであり、案件作成装置１０１および案件管理装置１０２が接続されている。１１０は顧客環境で、作業者は本環境内でデバイスのセットアップ作業を行う。１１１、１１２はセットアップ対象のデバイスである。これらの機器はすべてＬＡＮ１１３によりネットワークに接続されている。前設置環境１００と顧客環境１１０はインターネット１２０に接続されている。
【００１４】
図２は案件作成装置１０１、案件管理装置１０２として機能するプログラムが実行されるＰＣ２００のハードウェア構成を示すブロック図である。ハードディスク（ＨＤＤ）２１２には、後述のすべての説明で動作主体となる本実施形態に係る案件作成ソフトウェア、案件管理ソフトウェアのプログラムが格納される。
【００１５】
２０１はＣＰＵで、後述のすべての説明において、特に断りのない限り、ハード上の実行の主体である。一方、ソフトウェア上の制御の主体は、ハードディスク（ＨＤＤ）２１２に格納された案件作成ソフトウェア、案件管理ソフトウェアである。２０２はＲＯＭで、ＢＩＯＳやブートプログラムが格納されている。２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９やポインティングデバイス（ＰＤ）２１０等からの指示入力を制御する。
【００１６】
２０６はディスプレイコントローラ（ＤＳＰＣ）で、ディスプレイ（ＤＳＰ）２１１の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ハードディスク（ＨＤＤ）２１２やＣＤ−ＲＯＭ（ＣＤ）２１３などの記憶装置へのアクセスを制御するものである。ハードディスク（ＨＤＤ）２１２およびＣＤ−ＲＯＭ（ＣＤ）２１３等には、ブートプログラム、オペレーティングシステム、データベース、案件作成プログラム、案件管理プログラムおよびそのデータ等を記憶している。２０８はインタフェースコントローラ（ＩＦＣ）で、ＬＡＮを介して他のネットワーク機器と情報を送受信する。これらの各構成要素は、システムバス２０４上に配置される。
【００１７】
また本実施形態においては、ＯＳは例えば、ウィンドウズ（登録商標）（マイクロソフト社製）を想定しているが、これに限るものではない。なお、本実施形態に係る案件作成プログラムや案件管理プログラムは、ＣＤ−ＲＯＭなどの記憶媒体に格納された形で供給されても良い。その場合には図２に示すＣＤ−ＲＯＭ（ＣＤ）２１３などによって記憶媒体からプログラムが読み取られ、ハードディスク（ＨＤＤ）２１２にインストールされる。
【００１８】
図３はデバイス１１１、１１２の例として、印刷機能やスキャン機能、ネットワーク通信機能などを備える複合機を想定し、その複合機３００の内部構成について説明した図である。３０１は複合機全体の制御を司るＣＰＵであり、３０２はＣＰＵ３０１が実行する印刷処理プログラム、フォントデータ、機器識別情報などを格納するＲＯＭである。３０３はＣＰＵ３０１のワークエリア、受信バッファ、画像描画に使用されるＲＡＭである。
【００１９】
３０４は複合機３００の設定情報などを記録するハードディスク（ＨＤＤ）である。３０５は各種スイッチやボタン、並びに、メッセージ表示用の液晶表示部で構成される操作部である。操作部３０５では、ユーザが前記設定情報に含まれる設定項目の値を変更することが可能である。３０６はネットワークに接続するためのネットワークインタフェースで、ＬＡＮを介して他のネットワーク機器と情報を送受信する。３０７は記録紙に印刷を行うプリンタエンジン、３０８は原稿を読み取るためのスキャナ、３０９はファクシミリの送受信を行うための通信部である。これらの各構成要素は、システムバス３１０上に配置される。
【００２０】
図４（Ａ）は案件作成装置１０１で動作する、案件作成プログラム４００の機能構成の例を示す図である。ＣＰＵ２０１がプログラムを実行することにより、各機能が実現される。ＵＩ制御部４０１は、作業者が本プログラムを操作するためのグラフィカルユーザインタフェースを提供する。グラフィカルユーザインタフェースは、案件作成装置１０１に備え付けられたディスプレイ２１１に表示されるよう構成される。もしくは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いて、他のＰＣから利用可能なＷｅｂアプリケーションとして構成することも可能である。
【００２１】
制御部４０２は、ＵＩ制御部４０１の指示に従い、各種処理を行う。案件データ作成部４０３は、ＵＩ制御部４０１からの入力情報を基に、制御部４０２の指示に従って案件データを生成する。スクリプト作成部４０４は、制御部４０２の指示に従い、案件データ作成部４０３で生成された案件データを基に、図５（Ｂ）に記載する自動設置プログラム５５０が解析可能なセットアップ作業用のスクリプトを生成する。
【００２２】
通信部４０５は、制御部４０２の指示に従い、案件管理装置１０２に案件データを送信したり、案件管理装置１０２で保持されている案件データを取得したりする。入出力部４０６は、制御部４０２の指示に従い、案件データの入出力を受け付ける。
【００２３】
図４（Ｂ）は案件管理装置１０２で動作する、案件管理プログラム４５０の機能構成の例を示す図である。ＣＰＵ２０１がプログラムを実行することにより、各機能が実現される。ＵＩ制御部４５１は、作業者が本プログラムを操作するためのグラフィカルユーザインタフェースを提供する。グラフィカルユーザインタフェースは、案件管理装置１０２に備え付けられたディスプレイ２１１に表示されるよう構成される。もしくは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いて、他のＰＣから利用可能なＷｅｂアプリケーションとして構成することも可能である。
【００２４】
制御部４５２は、通信部４５５が受信する要求に従って、案件データ管理部４５３に対して案件データの格納、削除、更新、取得等の処理を指示する。また、制御部４５２は、通信部４５５が受信するデバイスからの各種通知に従って、デバイス上で実行されているスクリプトの進行状況の管理も行う。
【００２５】
案件データ管理部４５３は、制御部４５２の指示に従い、後述する案件データ格納部４５４に対して案件データの格納、削除、更新を行う。また、案件データ管理部４５３は案件データ格納部４５４から案件データの取得などを行う。通信部４５５は、デバイス１１１、１１２や案件作成装置１０１からの要求を受信して、制御部４５２に要求内容を送信する。更に、制御部４５２から要求に対する処理結果を受け取り、前記要求に対する応答データを作成し、要求送信元に応答を送信する。
【００２６】
案件データ格納部４５４は案件管理装置１０２で動作するデータベースである。ＣＰＵ２０１がプログラムを実行することにより、各機能が実現される。なお、本実施形態では案件管理装置１０２に案件データ格納部４５４が構成されているが、案件管理プログラム４５０と連携できるようになっていれば別の装置に配置されるような構成でも良い。案件データ格納部４５４で管理するデータの内容については図６を用いて説明する。
【００２７】
図５（Ａ）は複合機３００のソフトウェア構成の例を示す図である。複合機３００上の複合機ソフトウェア５００において、ＯＳ５１０上には、プリンタやＦＡＸ、スキャナなどの元々備わっている制御用プログラムのネイティブプログラム５０１が動作している。また、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム５０２も動作している。更に、ネイティブプログラム５０１上には、ファームウェア更新サービス５０３、ファンクション有効化サービス５０４、設定管理サービス５０５が動作している。また、拡張プログラム実行プラットフォーム５０２上には、拡張プログラムシステムサービス５０６と拡張プログラム５０７が動作している。
【００２８】
ファームウェア更新サービス５０３は、ファームウェアを更新するための各種機能を提供するサービスである。例えば、ファームウェア更新サービス５０３は、作業者から指定されたファームウェアを参照し、該ファームウェアの更新が必要か否かを判断する。またネイティブプログラム５０１に対し、または介し、ファームウェアを更新する。
【００２９】
ファンクション有効化サービス５０４は、ネイティブプログラム５０１に予め組み込まれているファンクションを、有効化するためのサービスである。ファンクション有効化サービス５０４は、作業者から指定されたファンクションライセンスファイルにより特定されるファンクションを識別し、有効化する。
【００３０】
設定管理サービス５０５は、プリンタやスキャナなどの各種設定情報を管理するためのサービスである。設定管理サービス５０５はＵＩを持っており、作業者は複合機３００の操作部３０５を介して設定変更の指示ができる。また、設定管理サービス５０５は作業者から図５（Ｄ）に記載した形式のデータファイルが指定されると、ネイティブプログラム５０１の設定情報を書き換える機能も提供する。更に、設定管理サービス５０５は拡張プログラム５０７からのリクエストに応じて、設定情報をデータファイル化して提供する。拡張プログラム５０７から設定管理サービス５０５へのリクエストは、拡張プログラムシステムサービス５０６を介して実行される。
【００３１】
拡張プログラムシステムサービス５０６は、拡張プログラムをインストール、アンインストールする機能を提供する。さらに、拡張プログラムに共通に有用なユーティリティライブラリも提供する。拡張プログラム５０７から拡張プログラムシステムサービス５０６の機能を呼び出すことにより、拡張プログラムを開発する手間を省くことができる。
【００３２】
拡張プログラム５０７は、拡張プログラム実行プラットフォーム５０２または拡張プログラムシステムサービス５０６を介してのみ、他の拡張プログラム５０７やＲＡＭ３０３など複合機３００の各モジュールへアクセスすることができる。また、ＵＩを持つ拡張プログラム５０７は、複合機３００の操作部３０５に表示されるメインメニュー画面にアイコンを表示することができる。このアイコンを作業者が選択すると、操作部３０５はその旨をＣＰＵ３０１に送信する。その後、ＣＰＵ３０１は作業者に選択された拡張プログラムのＵＩを操作部３０５に表示する。
【００３３】
尚、本ソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
【００３４】
図５（Ｂ）は複合機３００で動作する自動設置プログラムの機能構成の例を示す図である。本実施形態において、自動設置プログラム５５０は、複合機３００の拡張プログラム５０７の一つとして実装されるものとする。ＣＰＵ３０１が各機能に応じたプログラムを実行することにより、各機能は実現される。ＵＩ制御部５５１は、自動設置プログラム５５０を操作するためのＵＩを、操作部３０５を通じて作業者に提供し、作業者の操作を受け付ける。
【００３５】
データ取得部５５２は、拡張プログラムシステムサービス５０６、ネットワークＩ／Ｆ３０６を経由して案件管理装置１０２から各種データを取得する。取得するデータには、複合機３００に適用する案件データや各種制御データが含まれる。処理実行部５５３は、ＵＩ制御部４５１およびスクリプト解析部５５４の指示に従い、各種処理を行う。スクリプト解析部５５４は、データ取得部５５２が取得した案件データに含まれる設置作業指示情報であるセットアップ用のスクリプトを解析し、処理実行部５５３が実行すべき処理、順序を決定する。
【００３６】
図５（Ｃ）は自動設置プログラム５５０のＵＩ制御部５５１がもつＵＩ画面の例である。ＵＩ画面５６０において、５６１は案件名表示部で、自動設置プログラム５５０が扱っている案件の名称を表示する。５６２は処理メッセージで、現在処理中のコマンドのｉｄ属性の値や処理状態を表示する。本図の例では、コマンドＩＤ「ｄｃｃ−１」の処理がエラーとなっていることを示す処理メッセージが表示されている。５６３は中止ボタンである。本ボタンを押下した際の処理の詳細は図１２のフローチャートにて詳細に説明する。
【００３７】
図５（Ｄ）は本実施形態で扱う設定情報ファイルについて説明した図である。本図において、５８０はＸＭＬ形式のデータファイルであり、設定情報ファイルの一例である。
５８１は機器識別情報記載領域で、本図では、その一例として機種名称（＜Ｍｏｄｅｌ＞タグ）とシリアル番号（＜ＳｅｒｉａｌＮｏ＞タグ）を記載している。５８２は設定情報記載領域で、デバイスに設定する設定項目と設定値が列挙される。
【００３８】
本図の例では、データファイルの形式として、後述する共通データと個別データの区別は行っていない。しかし、例えば＜ＣｏｎｔｒｏｌＤａｔａ＞タグの中に＜ＤａｔａＴｙｐｅ＞タグを設け、データファイルの形式として共通データ、個別データの区別を行うようにしてもよい。また、本実施形態では、データファイルをＸＭＬ形式で表現しているが、例えば、ＪＳＯＮ形式などで表現してもよい。
【００３９】
図６（Ａ）〜図６（Ｅ）は案件データ格納部４５４で管理するテーブルの一例であり、これらのテーブルが案件データを表現している。なお、図６のテーブル構成は一例であり、本例とは異なるテーブル構成であってもよい。図６（Ａ）の案件管理テーブル６００は、案件の概要を格納しているテーブルであり、カラム６０１からカラム６０４で構成される。１レコードが１つの案件を表している。
【００４０】
カラム６０１は案件ＩＤを表している。案件ＩＤは案件データを一意に識別するための識別子である。カラム６０２は案件データの名称を表している。カラム６０３は案件ごとのセットアップ状態を表している。
【００４１】
セットアップ状態は、案件に関わるデバイスのセットアップ処理の進行状態を示す。例えば、最初のレコードであると、「済」となっており、案件ＩＤ「１」のすべてのデバイスのセットアップ処理は完了していることが分かる。同様に、案件ＩＤ「２」のセットアップ処理は「処理中」であるため、案件ＩＤ「２」のデバイスのセットアップ処理は処理中であることが分かる。以下同様に、案件ＩＤ「３」のセットアップ処理は中止されており、案件ＩＤ「４」のセットアップ処理はまだ開始されていないことが分かる。
【００４２】
カラム６０３のセットアップ状態としては「未」（セットアップ開始前）、「済」（セットアップ終了）、「処理中」（何らかのセットアップ中）、「中止」（エラー発生のためセットアップ中断）を想定しているが、これ以外の状態を設けてもよい。カラム６０４はコメントを表している。コメントは案件の内容に関する補足説明である。
【００４３】
図６（Ｂ）のデバイス管理テーブル６１０は、セットアップ対象のデバイスに関する情報を格納しているテーブルであり、カラム６１１からカラム６１４で構成される。１レコードが１つのセットアップ対象のデバイスを表している。カラム６１１はデバイスＩＤを表している。デバイスＩＤはデバイスを一意に識別するための識別子である。カラム６１２は案件ＩＤである。カラム６１１とカラム６１２によって、セットアップ対象のデバイスと案件が関連付けられる。例えば、最初のレコードであると、デバイスＩＤが「Ｄ００１」であるデバイスは、案件ＩＤが「１」である案件に含まれることが分かる。
【００４４】
カラム６１３はデバイスごとのセットアップ状態を表している。セットアップ状態は、個々のデバイスのセットアップ処理の進行状態を示す。例えば、最初のレコードであると、「済」となっており、デバイスＩＤ「Ｄ００１」のデバイスのセットアップ処理は完了していることが分かる。案件ＩＤが「１」である案件にはデバイスＩＤが「Ｄ００１」であるデバイスしか含まれないので、案件管理テーブル６００のカラム６０３の最初のレコードの値は「済」となる。
【００４５】
２番目から４番目のレコードは、案件ＩＤ「２」に含まれるデバイスであり、カラム６１３のそれぞれの値は「処理中」、「中止」、「未」である。処理中のデバイスが存在するため、案件管理テーブル６００のカラム６０３の２番目のレコードの値は「処理中」となる。カラム６１３のセットアップ状態としては「未」（セットアップ開始前）、「済」（セットアップ終了）、「処理中」（何らかのセットアップ中）、「中止」（エラー発生のためセットアップ中断）を想定しているが、これ以外の状態を設けてもよい。
【００４６】
カラム６１４はスクリプトである。本カラムには、後述の図１０にて案件作成装置１０１によって作成されたスクリプトが格納される。本実施形態では、スクリプトの実体をカラム６１４に格納しているが、カラム６１４にはスクリプトの実体へのパスのみを格納しておき、スクリプトの実体は別の場所にファイルとして置くような構成でも良い。
【００４７】
図６（Ｃ）のスクリプト処理状態管理テーブル６２０は、デバイス毎のスクリプトの処理状況に関する情報を管理しているテーブルであり、カラム６２１からカラム６２５で構成される。１レコードがスクリプト内の１つの処理を表している。カラム６２１はデバイスＩＤを表している。カラム６２２はコマンドＩＤを表している。コマンドＩＤは後述のスクリプト内の個々の処理を識別するための識別子である。カラム６２３はコマンドごとの処理状態を表している。
【００４８】
処理状態は、スクリプト内に記載されているコマンド単位の進行状況を示す。例えば、最初のレコードであると、「済」となっており、デバイスＩＤの値が「Ｄ００１」であるデバイスのコマンドＩＤの値が「ｆｗ−１」である処理は完了していることが分かる。
【００４９】
２番目から６番目までのレコードはデバイスＩＤの値が「２」であるデバイスに含まれるコマンドであり、カラム６２３の値は「済」と「未」が混在する。このため、デバイス管理テーブル６１０のカラム６１３の２番目のレコードの値は「処理中」となる。カラム６２３の処理状態としては「未」（処理開始前）、「済」（処理終了）、「処理中」（何らかのコマンドの実行中）、「エラー」（処理失敗）を想定しているが、これ以外の状態を設けてもよい。
【００５０】
カラム６２４はエラー詳細を表している。本カラムはカラム６２３の処理状態として「エラー」が格納された場合にエラーコードを格納する領域として使用される。例えば、設定情報のインポート処理でエラーが発生し、エラーが発生した設定項目を特定できた場合には、エラーコードとして設定項目の識別子が登録される。８番目のレコードを例に取ると、「Ｅ−ｉＤＣ００２（ｆａｘ＿ｎｕｍｂｅｒ）」が登録されている。あるいは、拡張プログラムのインストール処理においては、インストール処理で発生したエラーのエラーコードが登録される。１１番目のレコードを例に取ると、「Ｅ−ｉＡ００１」が登録されている。なお、本カラムの詳細については、実施例２、実施例３にて説明する。
【００５１】
カラム６２５はタグ名を表している。タグ名は図１１の処理記載部１１１０内の各処理部のタグの名称と同一である。カラム６２２のコマンドＩＤに対応したタグ名が登録される。
【００５２】
図６（Ｄ）の共通データ管理テーブル６３０は、セットアップ対象のデバイスに対して共通で設定するデータを管理するテーブルであり、カラム６３１からカラム６３４で構成される。１レコードが１つの共通データである。
【００５３】
カラム６３１は共通データＩＤを表している。共通データＩＤは、共通データを一意に識別するための識別子である。カラム６３２は案件ＩＤを表している。カラム６３３は共通データ名を表している。カラム６３４は共通データを表している。なお、本実施形態では、共通データの実体をカラム６３４に格納しているが、カラム６３４には共通データの実体へのパスのみを格納しておき、共通データの実体は別の場所にファイルとして置くような構成でも良い。
【００５４】
カラム６３１とカラム６３２で共通データと案件を関連付けている。例えば、最初のレコードであると、共通データＩＤ「Ｃ００１」である共通データが、案件ＩＤが「１」である案件で使用されることがわかる。
【００５５】
図６（Ｄ）の個別データ管理テーブル６４０は、セットアップ対象のデバイスごとに設定するデータを管理するテーブルであり、カラム６４１からカラム６４４で構成される。１レコードが１つの個別データである。
【００５６】
カラム６４１は個別データＩＤを表している。個別データＩＤは、個別データを一意に識別するための識別子である。カラム６４２はデバイスＩＤを表している。カラム６４３は個別データ名を表している。
【００５７】
カラム６４４は個別データを表している。なお、本実施形態では、個別データの実体をカラム６４４に格納しているが、カラム６４４には個別データの実体へのパスのみを格納しておき、個別データの実体は別の場所にファイルとして置くような構成でも良い。
【００５８】
カラム６４１とカラム６４２で個別データとデバイスを関連付けている。例えば、最初のレコードであると、個別データＩＤ「Ｘ００１」である個別データが、デバイスＩＤが「Ｄ００１」であるデバイスに設定されることがわかる。
【００５９】
図６（Ｅ）のオプション管理テーブル６５０は、セットアップ対象のデバイスに装着されるオプションに関する情報を格納しているテーブルであり、カラム６５１からカラム６５２で構成される。１レコードが各デバイスに装着される個々のオプションを表している。カラム６５１はデバイスＩＤを表している。カラム６５２はオプション名を表している。カラム６５１とカラム６５２によって、セットアップ対象のデバイスと装着されるオプションが関連付けられる。例えば、最初のレコードであると、デバイスＩＤが「Ｄ００１」であるデバイスには、オプション名が「ペーパーデッキ」であるオプションが装着されることが分かる。
【００６０】
図７は、本発明に関わるデバイスのセットアップ作業を説明したワークフロー図である。本例では、複数台のデバイス（デバイス１１１、デバイス１１２）が含まれる案件におけるセットアップ作業について記載する。
【００６１】
Ｓ７０１は、営業担当者７２０が各営業所で行う作業である。営業担当者７２０は、顧客と対話して決定したデバイスの構成と、それらの設定内容を、案件作成装置１０１の案件作成プログラム４００を使用して入力する。デバイスの構成とは、機種や、装着するオプション、有効化するファンクション、インストールする拡張プログラムのことである。入力された内容は案件データとして案件管理装置１０２へ送信され、案件管理装置１０２の案件データ格納部４５４に保存される。
【００６２】
Ｓ７０２は、サービス担当者７２１が、デバイスの入出庫を管理する際に行う作業である。本ステップでサービス担当者は各デバイスを特定可能な識別子であるデバイスＩＤを入手することができる。Ｓ７０２でサービス管理者７２１は、案件管理プログラム４５０を使用して、処理する案件の案件データを案件管理装置１０２から取得する。そして、サービス管理者７２１は案件作成装置１０１の案件作成プログラム４００を使用して編集する。ここでの編集は、案件データに対し、デバイスＩＤを登録することである。デバイスＩＤを登録した案件データは、再び案件管理装置１０２へ送信され、管理される。
【００６３】
Ｓ７０３では、サービス管理者７２１が案件管理プログラム４５０を使用して、デバイスをセットアップするために必要な設定データを案件データに登録する。サービス担当者７２１は案件作成装置１０１の案件作成プログラム４００を使用して、これからセットアップを行う案件の案件データを案件管理装置１０２から取得する。また、サービス担当者７２１は、案件データの内容に従って、設置に必要な設定データを案件作成プログラム４００に引き渡す。設定データには、ファームウェアや拡張プログラム、更にはそれらをインストールするためのライセンスファイル、設定値ファイルなどが含まれる。ライセンスファイルは、Ｓ７０２で登録されたデバイスＩＤを基に発行され、以下の３つの形態がある。（１）１つのデバイスＩＤに対して発行されるもの。（２）複数のデバイスＩＤに対して発行されるもの。（３）デバイスＩＤを限定せずに発行されるもの。
【００６４】
案件作成プログラム４００は、設定データを含む案件データを基に、自動設置プログラム５５０が解析可能なセットアップ用のスクリプトを生成し、案件データに登録する。その後、案件作成プログラム４００は、設置データおよびスクリプトを含む案件データを案件管理装置１０２に送付する。案件管理装置１０２の案件管理プログラム４５０は受信した案件データを案件データ格納部４５４に保存する。
【００６５】
なお、ここでは、Ｓ７０２とＳ７０３を別のステップとして記載したが、特に区別する必要性はなく、サービス担当者７２１がデバイスＩＤを案件データに登録する際に、設置データとスクリプトも登録するような手順であっても良い。
【００６６】
Ｓ７０４は、配送担当者７２２がデバイス１１１を実際に設置する際に顧客先で行う作業である。配送担当者７２２は、倉庫からデバイス１１１を顧客先に配送し、顧客から依頼された場所へ配置する。配送担当者７２２がデバイス１１１の電源を投入すると、デバイス１１１の自動設置プログラム５５０が起動され、セットアップ処理を実行する。具体的には、自動設置プログラム５５０は案件管理装置１０２から案件データを取得し、案件データ内のスクリプトに従ってセットアップ処理を実行する。
【００６７】
Ｓ７０５は、Ｓ７０４と同様の処理で、デバイス１１２に対して実行するセットアップ処理である。
【００６８】
Ｓ７０６は、スクリプトの処理中にエラーが発生した場合のエラーリカバリ作業である。スクリプトの処理中にエラーが発生すると、自動設置プログラム５５０は案件管理装置１０２に通知する。また、配送担当者７２２は電話や電子メールなどの方法でサービス担当者７２１に連絡する。サービス担当者７２１は案件管理装置１０２からデバイス１１１のエラー状態を取得し、エラーを解決する。あるいは、ＶＮＣ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ）のような技術を用いて、遠隔地からデバイス１１１を直接操作してエラーを解決してもよい。サービス担当者７２１がエラーを解決する際に案件データを変更した場合は、案件作成装置１０１経由で案件管理装置１０２の案件データを更新する。
【００６９】
以上が本発明に関わるデバイス１１１、デバイス１１２のセットアップ作業のワークフローである。図７で説明したセットアップ作業における各構成要素の詳細な処理については図８から図１３を用いて説明する。
【００７０】
図８（Ａ）から（Ｄ）は、案件作成プログラム４００のＵＩ制御部４０１が持つＵＩ画面の例である。図８（Ａ）のＵＩ画面８００において、８０１は案件ＩＤ、８０２は案件名、８０３はセットアップ状態、８０４はコメントで、それぞれ案件管理テーブル６００のカラム６０１、カラム６０２、カラム６０３、カラム６０４の値が表示される。
【００７１】
８０５は詳細ボタンである。本プログラムの操作者が案件データ一覧（８０１から８０４からなるリスト）の中の任意の行を選択し、本ボタンを押下すると、該当する案件に関する詳細画面８２０が表示される。８０６は削除ボタンである。操作者が案件データ一覧の中の任意の行を選択し、本ボタンを押下すると、案件管理テーブル６００の該当するレコードのデータが削除される。
【００７２】
８０７はスクリプト作成ボタンである。本ボタンが押下されると、案件作成プログラム４００は案件データ一覧で選択されている案件データから自動設置プログラム５５０が解析可能なセットアップ用のスクリプトを生成する。本動作の詳細は図１０にて説明する。
【００７３】
操作者が顧客名８０８、コメント８０９に顧客の名称、コメントを入力して、作成ボタン８１０を押下すると、案件管理テーブル６００に新しいレコードが追加される。さらに、案件作成プログラム４００の案件データ作成部４０３によって一意の顧客ＩＤが作成され、操作者が入力した値が前記レコードに格納される。なお、セットアップ状態８０３には、初期値として「未」が格納される。本画面は、主に図７のＳ７０１の場面で使用される。
【００７４】
図８（Ｂ）の詳細画面８２０において、８２１は案件名で、操作者が詳細ボタン８０５を押下する際に選択した案件の名称が表示される。８２２はデバイスＩＤ、８２３はセットアップ状態で、それぞれ、デバイス管理テーブル６１０のカラム６１１、カラム６１３の値の内、案件ＩＤが一致するものが表示される。また、セットアップ状態８２３の中には、詳細ボタン８３８が配置されている。
【００７５】
詳細ボタン８３８が押下されると、本ボタンが配置されている行のデバイスＩＤの値に対応するコマンドＩＤの一覧を表示するためのコマンド一覧画面８６０が表示される。８２４は追加ボタンである。操作者が本ボタンを押下すると、入力画面８５０が表示される。８２５は削除ボタンである。操作者がデバイス一覧（８２２と８２３とからなるリスト）の中の任意の行を選択し、本ボタンを押下すると、デバイス管理テーブル６１０の該当するレコードのデータが削除される。
【００７６】
８２６は共通データ名であり、共通データ管理テーブル６３０のカラム６３３の値のうち、本詳細画面８２０で扱っている案件ＩＤと一致するものを表示する。８２７は詳細ボタンである。操作者が本ボタンを押下すると、共通データ管理テーブル６３０のカラム６３４に格納されている共通データを一覧表示する。８２８はインポートボタンである。本ボタンが押下されると、共通データをインポートするための画面が表示される。
【００７７】
８２９はエクスポートボタンである。本ボタンが押下されると、共通データがエクスポートされる。８３０は削除ボタンである。本ボタンが押下されると、共通データ管理テーブル６３０の該当するレコードのデータが削除される。８３１は個別データ名、８３２はデバイスＩＤで、それぞれ、個別データ管理テーブル６４０のカラム６４３、カラム６４２の値が表示される。
【００７８】
８３４は詳細ボタンである。操作者が本ボタンを押下すると、個別データ管理テーブル６４０の個別データ６４４に格納されている個別データのうち、詳細ボタン８３４が配置されている行に関連するレコードの個別データを一覧表示する。８３５はインポートボタンである。本ボタンが押下されると、個別データをインポートする。
【００７９】
８３６はエクスポートボタンである。操作者が個別データ一覧（８３１と８３２とからなるリスト）の中の任意の行を選択し、本ボタンを押下すると、指定された個別データのデーファイルがエクスポートされる。８３７は削除ボタンである。操作者が個別データ一覧の中の任意の行を選択し、本ボタンを押下すると、個別データ管理テーブル６４０の該当するレコードのデータが削除される。本画面は、主に図７のＳ７０１、Ｓ７０２、Ｓ７０３、Ｓ７０６の場面で使用される。
【００８０】
図８（Ｃ）の入力画面８５０において、８５１はデバイスＩＤを入力する領域、８５２はオプション名を入力する領域である。また、８５３はＯＫボタンである。まず、Ｓ７０１において、営業担当者７２０によってオプション名８５２に値が入力され、ＯＫボタンが押下されると、仮のデバイスＩＤが割り振られる。その後、デバイス管理テーブル６１０に新しいレコードが追加され、案件ＩＤと関連付けられた上で、入力された仮のデバイスＩＤの値が該当するレコードに格納される。
【００８１】
また、オプション管理テーブル６５０にも、オプション名８５２に入力されたオプションの数だけ新しいレコードが追加され、前記仮のデバイスＩＤを関連付けられた上で、入力されたオプション名称の値が該当するレコードに格納される。
【００８２】
次に、Ｓ７０２にて、サービス担当者７２１によってデバイスＩＤ８５１に正しい値が入力されると、図６の各種テーブルに格納された仮のデバイスＩＤの値が正しい値に置換される。本画面は、主に図７のＳ７０１、Ｓ７０２の場面で使用される。
【００８３】
図８（Ｄ）のコマンド一覧画面８６０において、８６１はコマンドＩＤ、８６２は処理状態である。それぞれ、スクリプト状態管理テーブル６２０のカラム６２２、カラム６２３の値のうち、詳細ボタン８３８押下時に選択されたデバイスＩＤに対応したレコードの値が表示される。８６３はクリアボタンで、処理状態８６２が「エラー」である行にのみ表示される。本ボタンは、Ｓ７０６のエラーリカバリ作業でエラーの対応が完了した際にサービス担当者７２１が押下するボタンである。
【００８４】
８６４は中止ボタンで、処理状態８６２が「エラー」である行にのみ表示される。本ボタンは、Ｓ７０６のエラーリカバリ作業でエラーの対応できず、処理を中断した際にサービス担当者７２１が押下するボタンである。８６５はＯＫボタンである。本画面は、主に図７のＳ７０６の場面で使用される。
【００８５】
図９は案件作成プログラム４００が生成した案件データのデータ構造を表す概念図である。なお、ここでは案件ＩＤが「２」である案件データを例として記載する。案件データ９００は、共通データ９０１とデバイスＩＤ９０２、９０３、９０４、および、個別データ９０５、９０６、９０７で構成される。
【００８６】
共通データ９０１は複数のデバイスに対して共通に用いるデータであり、個別データ９０５、９０６、９０７は、デバイスごとにそれぞれ異なる内容の設定値を持つデータである。共通データ９０１および個別データ９０５、９０６、９０７については、図７のＳ７０１において、営業担当者７２０が案件作成プログラム４００の詳細画面８２０から入力するものである。
【００８７】
更に、デバイスＩＤ９０２、９０３、９０４は、各デバイスを特定可能な識別子であり、図７のＳ７０２において、サービス担当者７２１が案件データ９００に対して追加で入力するものである。案件データ９００ではデバイスＩＤ９０２と個別データ９０５が関連付けられている。同様に、デバイスＩＤ９０３と個別データ９０６、デバイスＩＤ９０４と個別データ９０７もそれぞれ関連付けられている。
【００８８】
図１０はＳ７０２において、サービス担当者７２１がＵＩ８００のスクリプト作成ボタン８０７を押下した際の処理を説明したフローチャートである。ボタン８０７が押下されると、案件作成プログラム４００は、案件データ一覧で選択されている案件データからスクリプトを作成し、案件データに登録した上で案件管理装置１０２に送付する。
【００８９】
本フローチャートにおいて、Ｓ１００１では、案件作成プログラム４００の通信部４０５が、案件管理装置１０２の案件管理プログラム４５０から、ＵＩ８００の案件データ一覧で選択されている案件データを取得する。より具体的には、案件作成プログラム４００の通信部４０５が、案件管理プログラム４５０の通信部４５５に対して、取得要求を発行する。通信部４５５が前記取得要求を受け取ると、案件管理プログラム４５０の制御部４５２は、案件データ管理部４５３に対して、取得要求に含まれる案件データＩＤで特定される案件データの取得を指示する。案件管理プログラム４５０の案件データ管理部４５３は、案件データ格納部４５４より、指示された案件データを取得する。通信部４５５が、通信部４０５に対して、取得要求の応答として取得した案件データを送信する。以上により、Ｓ１００１の案件データの取得処理が行われる。
【００９０】
Ｓ１００２では、制御部４０２は、Ｓ１００１で取得した案件データにデバイスＩＤが含まれているか否かを判別する。デバイスＩＤが含まれていると判別された場合は、Ｓ１００３に進む。そうでない場合は、Ｓ１００６に進む。
【００９１】
Ｓ１００３では、制御部４０２は、Ｓ１００１で取得した案件データに設定データが登録されているか否かを判別する。前述したように、設定データとはファームウェアや拡張プログラム、更にはそれらをインストールするためのライセンスファイル、設定値ファイルなどを指す。設定データが登録されていると判別された場合は、Ｓ１００４に進む。そうでない場合は、Ｓ１００６に進む。
【００９２】
Ｓ１００４では、スクリプト作成部４０４は、制御部４０２の指示を受けて、デバイスＩＤごとにセットアップ用のスクリプトを生成する。スクリプト内の個々の処理は、設定データ毎に一意のｉｄが割り振られる。なお、本ステップで生成するスクリプトについては、図１１を用いて詳細に説明する。
【００９３】
Ｓ１００５では、案件データ作成部４０３は、制御部４０２の指示を受けて、Ｓ１００４で生成されたスクリプトを案件データに登録する。その後、制御部４０２は通信部４０５経由で案件データを案件管理装置１０２に送付する。通信部４５５経由で案件データを受け取ると、案件データ管理部４５３は案件データ格納部４５４に受け取った案件データを格納する。
【００９４】
Ｓ１００６では、ＵＩ制御部４０１は、制御部４０２の指示を受けて、取得した案件データにデバイスＩＤまたは設定データが含まれていないことを通知するエラー画面を表示する。以上で、図１０のフローチャートの説明を終了する。
【００９５】
図１１はデバイス１１１のセットアップ処理を自動で実行するための設置手順を記述したスクリプトの一例である。スクリプト１１００は、自動設置プログラム５５０のデータ取得部５５２によって取得され、処理実行部５５３を介しスクリプト解析部５５４によって解析される。スクリプト解析部５５４によって解析されたスクリプト１１００は、その後、処理実行部５５３によって記載された処理が実行される。
【００９６】
尚、本図におけるスクリプト１１００は、案件作成プログラム４００のＳ１００４の処理によって、案件に含まれるデバイスＩＤ毎に生成される。ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記載されており、案件データ識別部１１０１と、デバイス識別部１１０２と処理記載部１１１０で構成されている。尚、本図ではＸＭＬによりスクリプトを表現しているが、ＸＭＬに限定されず、シェルスクリプトなどで書かれていても良い。
【００９７】
案件データ識別部１１０１は、案件データを識別するための案件ＩＤが記載されており、＜ｓｅｔｕｐＩｄ＞タグで構成されている。案件ＩＤは、案件作成プログラム４００によって案件データが生成される際に、案件データに対して付与される識別子で、全ての案件データに対して一意な値である。本例では分かり易く説明するため「２」といった単純な値で記載しているが、例えばＧＵＩＤ（Ｇｌｏｂａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）などを用いるのが望ましい。
【００９８】
デバイス識別部１１０２は、設置対象であるデバイス１１１、１１２を識別するためのターゲット識別子が記載されており、デバイス識別子である＜ｄｅｖｉｃｅＩｄ＞タグで構成されている。
【００９９】
処理記載部１１１０は、セットアップ処理のために必要な処理群が記載される。処理記載部１１１０は、ファームウェア更新処理部１１０３、拡張プログラムインストール処理部１１０４、ファンクションアクティベート処理部１１０５を含む。さらに処理記載部１１１０は、共通データのための設定情報インポート処理部１１０６、個別データのための設定情報インポート処理部１１０７、再起動処理部１１０８で構成されている。各処理を示すタグの中には、ｉｄ属性とＯｒｄｅｒ属性が含まれている。
【０１００】
ｉｄ属性は、スクリプトに記載されている処理毎に付与される識別子で、スクリプト処理状態管理テーブル６２０のカラム６２２の値として格納されるものである。詳細画面８２０のインポートボタン８２８でインポートされる共通データには、案件に含まれる複数のスクリプトで共通のｉｄが付与される。例えば、本図のスクリプトにおいて、処理部１１０３と処理部１１０６が共通データを用いる処理である。この場合、付与されるｉｄ「ｆｗ−２」およびｉｄ「ｄｃｃ−１」は、案件内の各スクリプトで共通となる。一方、処理部１１０４、処理部１１０５、処理部１１０７は詳細画面８２０のインポートボタン８３５でインポートされた個別データを用いる処理なので、案件内で一意のｉｄが付与される。
【０１０１】
なお、再起動処理部１１０８はデータが不要な処理である。本処理はデバイスを再起動させて、スクリプトで実行した処理を有効化するためのものである。本処理の前段で、共通データを用いる処理が実行されるのであれば、案件内で共通のｉｄが付与される。個別データを用いる処理のみが実行されるのであれば、案件内で一意のｉｄが付与される。
【０１０２】
Ｏｒｄｅｒ属性は処理の順番を指定するものである。
【０１０３】
ファームウェア更新処理部１１０３は、ファームウェア更新サービス５０３を介してファームウェアを更新する処理である。本処理部１１０３は、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞タグを記載することで処理を定義し、＜ｆｉｒｍｗａｒｅＮａｍｅ＞タグにより使用するファイルを指定している。＜ｆｉｒｍｗａｒｅＮａｍｅ＞タグには、更新したいファームウェアが指定されている。本図においてはＺｉｐ形式でアーカイブされたファームウェアが指定されている。
【０１０４】
拡張プログラムインストール処理部１１０４は、拡張プログラムシステムサービス５０６を介して拡張プログラムをインストールする処理である。本処理部１１０４は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義し、＜ａｐｐＮａｍｅ＞タグによりインストールする拡張プログラムを指定している。＜ａｐｐＮａｍｅ＞タグには、インストール対象の拡張プログラムの実体が指定されている。本図においてはＪａｒファイル形式の拡張プログラムが指定されている。尚、本拡張プログラムの形式はＪａｒファイル形式に限定されない。
【０１０５】
また、インストール対象の拡張プログラムに対するライセンスを＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグにより指定している。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグは、拡張プログラムのライセンスの実体が指定されている。本図においては．ｌｉｃファイル形式のライセンスファイルが指定されているが、ライセンスのファイル形式についてはこれに限定されない。
【０１０６】
ファンクションアクティベート処理部１１０５は、ファンクション有効化サービス５０４を介してファンクションを有効化する処理である。本処理部１１０５は、＜ａｃｔｉｖａｔｅＦｕｎｃｔｉｏｎＣｏｍｍａｎｄ＞タグの記載により処理を定義し、＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグによりアクティベートするファンクションのライセンスファイルを指定している。本図においては、ｌｉｃ形式のライセンスファイルが指定されているが、ライセンスのファイル形式についてはこれに限定されない。
【０１０７】
設定情報インポート処理部１１０６、１１０７は設定管理サービス５０５を介してデバイスの設定情報を変更する処理である。本処理部１１０６、１１０７は、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの記載により処理を定義し、＜ｃｏｎｆＦｉｌｅＮａｍｅ＞タグによりインポートする設定情報ファイルを指定している。＜ｃｏｎｆＦｉｌｅＮａｍｅ＞タグは、インポート対象の設定情報のファイルが指定されている。本図においてはＺｉｐ形式にアーカイブされたファイルが指定されている。尚、本デバイス設定情報ファイルの形式はＺｉｐファイル形式に限定されない。
【０１０８】
本図においては、処理部１１０６において共通データをインポートし、処理部１１０７において個別データをインポートすることを想定している。なお、ここでは、共通データと個別データのインポート処理を、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグを列挙することによって実現した。これ以外の方法として、単一の＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの中に、共通データと個別データのファイル名を指定するためのタグを定義して実現してもよい。その場合、ｉｄ属性は、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグではなく、ファイル名を指定するタグ内に記載される。
【０１０９】
再起動処理部１１０８は＜ｒｅｂｏｏｔＣｏｍｍａｎｄ＞タグのみで構成されており、一通りの設置処理が終了した後、デバイスを再起動させて、設定情報をデバイスに反映させるための処理である。
【０１１０】
なお、本図で示すスクリプトの記述は、デバイスの設置に必要な処理を限定するものではなく、必要に応じて処理の重複、増減があっても良い。
【０１１１】
さて、案件作成装置１０１で作成された案件データをデバイス１１１にセットアップするために、デバイス１１１は図１２のフローチャートを実行する。また、案件管理装置１０２は、図１３のフローチャートを実行する。図１２と図１３のフローチャートは、主に図７のＳ７０４からＳ７０６までの処理を説明している。なお、デバイス１１１ではなくデバイス１１２に図１２のフローチャートを適用してもまったく同様の効果を得ることができる。
【０１１２】
図１２において、Ｓ１２０１では、デバイス１１１の自動設置プログラム５５０の処理実行部５５３が、ＲＡＭ３０３またはＨＤＤ３０４に自デバイス用の案件データがあるか否かを判別する。案件データがあると判別された場合は、Ｓ１２０３に進む。そうでない場合は、Ｓ１２０２に進む。
【０１１３】
Ｓ１２０２では、処理実行部５５３からの指示によりデータ取得部５５２は案件管理装置１０２に対して案件データの取得要求を発行する。案件管理装置１０２が案件データを特定するために、データ取得部５５２はデバイスＩＤの値を指定して取得要求を発行する必要がある。デバイスＩＤの値は拡張プログラムシステムサービス５０６から取得される。また、データ取得部５５２は案件データを受信し、受信した案件データをＲＡＭ３０３またはＨＤＤ３０４に格納する。その後、スクリプト解析部５５４が前記受信データに含まれるスクリプトを解析する。
【０１１４】
なお、本フローチャートの以降のステップにおいて、自動設置プログラム５５０がデバイス管理装置１０２と通信する場合は、特に断りがない限り、常にデバイスＩＤの値を指定して通信を行う。
【０１１５】
Ｓ１２０３では、処理実行部５５３からの指示によりデータ取得部５５２は案件管理装置１０２に対して、案件内で発生しているエラー情報の取得要求を発行する。また、エラー情報を受信し、受信したエラー情報を「現在のエラー情報」として、ＲＡＭ３０３またはＨＤＤ３０４に格納する。既に「現在のエラー情報」が存在していた場合は、存在していたエラー情報を「前回のエラー情報」としてＲＡＭ３０３またはＨＤＤ３０４に格納し直し、Ｓ１２０３で取得したエラー情報を「現在のエラー情報」としてＲＡＭ３０３またはＨＤＤ３０４に格納する。なお、エラー情報には、少なくともエラーが発生しているデバイスのデバイスＩＤとスクリプト内の処理を識別するためのコマンドＩＤと自デバイスのセットアップ状態の値が含まれる。
【０１１６】
Ｓ１２０４では、処理実行部５５３は前記Ｓ１２０３にてデータ取得部５５２がエラー情報を受信したか否かを判別する。エラー情報を受信したと判別された場合は、Ｓ１２０５に進む。そうでない場合は、Ｓ１２０８に進む。
【０１１７】
Ｓ１２０５では、前記Ｓ１２０２でスクリプト解析部５５４がスクリプトを解析した結果を用いて、処理実行部５５３が実行対象の処理を特定する。そして、処理実行部５５３は特定された実行対象の処理が持つｉｄ属性の値が現在のエラー情報に含まれるコマンドＩＤの値と一致するか否かを判別する。前記ｉｄ属性の値が現在のエラー情報に含まれるコマンドＩＤの値と一致すると判別された場合は、Ｓ１２１０に進む。そうでない場合は、Ｓ１２０６に進む。
【０１１８】
Ｓ１２０６では、処理実行部５５３は前記ｉｄ属性の値が前回のエラー情報に含まれるコマンドＩＤの値と一致するか否かを判別する。前記ｉｄ属性の値が現在のエラー情報のコマンドＩＤとは一致せず、前回のエラー情報のコマンドＩＤと一致したということは、このコマンドＩＤが指し示す処理のエラーが回復したことを示す。一方、前記ｉｄ属性の値が現在のエラー情報、および、前回のエラー情報のコマンドＩＤ双方と一致しないということは、このコマンドＩＤが指し示す処理のエラーが、実行対象の処理と無関係であることを示す。前記ｉｄ属性の値が前回のエラー情報に含まれるコマンドＩＤの値と一致すると判別された場合は、Ｓ１２０７に進む。そうでない場合は、Ｓ１２０８に進む。
【０１１９】
前記Ｓ１２０６の説明で記載した通り、Ｓ１２０７は、処理実行部５５３が、実行対象の処理に対するエラーが解消されたことを検出した際に実行される。サービス担当者７２１がエラーを解消するためのワークフローはＳ７０６に記載したとおりである。本ステップでは、自動設置プログラム５５０は前記Ｓ１２０２と同様の手段で案件データの取得要求を発行する。また、案件データを受信し、受信した案件データをＲＡＭ３０３またはＨＤＤ３０４に格納した後、前記受信データに含まれるスクリプトを解析する。
【０１２０】
Ｓ１２０８では、処理実行部５５３は実行対象の処理を実行する。その後、処理実行部５５３はデータ取得部５５２に、実行した処理のｉｄ属性の値を引き渡す。データ取得部５５２は、デバイスＩＤの値と前記ｉｄ属性の値と共に、処理結果を案件管理装置１０２に通知する。
【０１２１】
Ｓ１２０９では、処理実行部５５３はＳ１２０８にて実行された実行対象の処理でエラーが発生したか否かを判別する。エラーが発生したと判別された場合は、Ｓ１２１０に進む。そうでない場合は、Ｓ１２１６に進む。
【０１２２】
Ｓ１２１０では、処理実行部５５３はスクリプトの実行を停止する。このため、前記Ｓ１２０５にてｉｄ属性の値がコマンドＩＤの値と一致すると判別された後に本ステップが実行された場合は、実行対象の処理が実行されることはない。また、前記Ｓ１２０９にて実行対象の処理でエラーが発生したと判別された後に本ステップが実行された場合は、一時的にＲＡＭ３０３やＨＤＤ３０４上に作成したファイルを削除するなどして、実行対象の処理を未実行状態に戻す。
【０１２３】
なお、Ｓ１２１０が実行されるということは、案件内で本デバイスに関係するエラーが発生していることを示している。スクリプトの処理を再開するためには、Ｓ７０６で記載したサービス担当者７２１によるエラーリカバリ作業の終了を待たなければならない。
【０１２４】
Ｓ１２１１では、処理実行部５５３は、Ｓ１２０３で受信したエラー情報の中から自デバイスのセットアップ状態の値が「中止」であるか否かを確認する。後述の図１３のＳ１３１５にて、他のデバイスのセットアップ処理が中止されたことに連動して自デバイスのセットアップ処理も中止しなければならないと判断された場合に、自デバイスのセットアップ状態の値が「中止」となる。中止であると判別された場合は、本フローチャートを終了する。そうでない場合は、Ｓ１２１２に進む。
【０１２５】
Ｓ１２１２では、Ｓ１２０４やＳ１２０９にて処理実行部５５３がエラーの発生を検知してから、一定時間が経過したか否かを判別する。一定時間の値として例えば「１時間」などが想定されるが、これに限定されるものではない。一定時間が経過したと判別された場合は、Ｓ１２１３に進む。そうでない場合は、Ｓ１２０１に戻る。
【０１２６】
Ｓ１２１３では、処理実行部５５３の指示によりＵＩ制御部５５１はＵＩ画面５６０に中止ボタン５６３を表示する。
【０１２７】
Ｓ１２１４では、ＵＩ制御部５５１は中止ボタン５６３が押下されたか否かを判別する。中止ボタン５６３が押下されたと判別された場合は、Ｓ１２１５に進む。そうでない場合は、Ｓ１２０１に戻る。
【０１２８】
Ｓ１２１５では、処理実行部５５３は、セットアップ処理が中止されたことを表す中止通知をデータ取得部５５２経由で案件管理装置１０２に通知する。通知する際に、データ取得部５５２はスクリプトの実行が停止している処理のｉｄ属性の値を通知する。その後、処理実行部５５３は本フローチャートを終了する。
【０１２９】
Ｓ１２１６では、処理実行部５５３はスクリプトに記載されているすべての処理の実行が終了したかどうかを判別する。終了したと判別された場合は、Ｓ１２１７に進む。そうでない場合は、処理実行部５５３はスクリプト解析部５５４から次の実行対象の処理の情報を取得し、Ｓ１２０１に戻る。スクリプト解析部５５４はスクリプト内に記載されたＯｒｄｅｒ属性を参照して次の実行対象の処理を決定する。
【０１３０】
Ｓ１２１７では、処理実行部５５３はデータ取得部５５２を介して案件管理装置１０２にスクリプト実行完了通知を発行する。以上で、図１２のフローチャートの説明を終了する。
【０１３１】
次に、図１３のフローチャートを用いて、デバイス１１１、デバイス１１２およびサービス担当者７２１からの各種要求を受信した際の案件管理装置１０２の処理を説明する。
本図において、まずＳ１３０１では、通信部４５５は外部からの通知を受信するまで待機する。ここでは、「外部」が指すものとして、デバイス１１１、１１２、または、案件作成装置１０１を想定している。外部からの通知を受信すると、通信部４５５は受信した通知を制御部４５２に渡す。
【０１３２】
Ｓ１３０２では、制御部４５２は前記Ｓ１３０１で受信した通知がデバイス１１１からの案件データの取得要求か否かを判別する。案件データの取得要求であると判別された場合は、Ｓ１３０３に進む。そうでない場合は、Ｓ１３０４に進む。
【０１３３】
Ｓ１３０３では、制御部４５２からの指示により案件データ管理部４５３は案件データ格納部４５４の案件管理テーブル６００から該当する案件データを抽出し、デバイス１１１に返信する。デバイス１１１からはデバイスＩＤの値が通知されるので、案件データ管理部４５３はデバイス管理テーブル６１０にて前記デバイスＩＤの値が一致するレコードを抽出し、そのレコードのカラム６１２の案件ＩＤの値を取得する。その後、案件管理テーブル６００にて前記案件ＩＤの値が一致するレコードを抽出すればよい。その後、制御部４５２はＳ１３０１に戻る。
【０１３４】
なお、Ｓ１３０２およびＳ１３０３は、図１２のＳ１２０２およびＳ１２０７に対応する処理である。
【０１３５】
Ｓ１３０４では、制御部４５２は前記Ｓ１３０１で受信した通知がデバイス１１１からのエラー情報取得要求か否かを判別する。エラー情報要求であると判別された場合は、Ｓ１３０５に進む。そうでない場合は、Ｓ１３０６に進む。
【０１３６】
Ｓ１３０５では、制御部４５２は、デバイス１１１で発生しているエラー情報と、デバイス１１１が属する案件内で発生しており、かつ、デバイス１１１に関連するエラー情報を抽出してデバイス１１１に返信する。また、デバイス１１１のセットアップ状態も返信する。
【０１３７】
具体的には以下の手順を実施する。まず、制御部４５２はデバイス１１１から受信したデバイスＩＤの値を用いてデバイス管理テーブル６１０上でデバイス１１１が属する案件の案件ＩＤを特定する。その後、その案件に含まれる他のデバイスのデバイスＩＤを特定する。例えば、デバイス１１１のデバイスＩＤの値が「Ｄ００２」である場合、図６に記載のデバイス管理テーブル６１０から、同一案件に含まれる他のデバイスのデバイスＩＤの値は「Ｄ００３」、「Ｄ００４」であることが分かる。
【０１３８】
次に、制御部４５２はスクリプト処理状態管理テーブル６２０上で前記デバイスＩＤの値を持つレコードを抽出する。ここでは、デバイスＩＤ「Ｄ００２」、デバイスＩＤ「Ｄ００３」およびデバイスＩＤ「Ｄ００４」に関連する、２番目から１２番目のレコードが抽出される。
【０１３９】
最後に、制御部４５２は前記抽出されたレコードのうち、デバイスＩＤ「Ｄ００２」で発生しているエラーを抽出する。また、デバイスＩＤ「Ｄ００２」のレコードが持つコマンドＩＤの値（「ｆｗ−２」、「ｉａｐｐ−１」、「ａｆｕｎｃ−１」、「ｄｃｃ−１」、「ｄｃｉ−１」）と一致する、他のデバイスのエラーを抽出する。図６のスクリプト状態管理テーブル６２０の例では、デバイスＩＤ「Ｄ００２」のデバイスではエラーが発生しておらず、デバイスＩＤ「Ｄ００３」のデバイスではコマンドＩＤ「ｄｃｃ−１」の処理でエラーが発生している。このコマンドＩＤの値はデバイスＩＤ「Ｄ００２」が持つコマンドＩＤの値にも含まれている。
【０１４０】
また、デバイス１１１のセットアップ状態は、デバイス管理テーブル６１０のカラム６１３から取得可能であり、デバイスＩＤの値が「Ｄ００２」であるデバイスの場合、セットアップ状態の値は「処理中」となる。
【０１４１】
従って、Ｓ１３０５にて、制御部４５２が返信すべきエラー情報は『デバイスＩＤ「Ｄ００２」、コマンドＩＤ「ｄｃｃ−１」、要求元デバイスのセットアップ状態「処理中」』となる。その後、制御部４５２はＳ１３０１に戻る。
【０１４２】
なお、Ｓ１３０４およびＳ１３０５は、図１２のＳ１２０３に対応する処理である。
【０１４３】
Ｓ１３０６では、制御部４５２は前記Ｓ１３０１で受信した通知がデバイス１１１からの処理結果の通知か否かを判別する。処理結果の通知であると判別された場合は、Ｓ１３０７に進む。そうでない場合は、Ｓ１３０８に進む。
【０１４４】
Ｓ１３０７では、制御部４５２はデバイス１１１から通知された処理結果、および、デバイスＩＤとｉｄ属性の値を基に、スクリプト処理状態管理テーブル６２０のカラム６２３の値を更新する。その後、制御部４５２はＳ１３０１に戻る。
【０１４５】
なお、Ｓ１３０６およびＳ１３０７は、図１２のＳ１２０８に対応する処理である。
【０１４６】
さて、以降のＳ１３０８からＳ１３１３までの処理は、案件作成装置１０１と案件管理装置１０２との間のやり取りに関する処理である。Ｓ１３０８では、制御部４５２は前記Ｓ１３０１で受信した通知が案件作成装置１０１からのコマンド処理状態取得要求か否かを判別する。本要求は、案件作成装置１０１の案件作成プログラム４００にて詳細画面８２０の詳細ボタン８３８が押下されることによって、通信部４０５が発行する。なお、案件管理装置１０２に対して要求を発行する際に、通信部４０５は詳細ボタン８３８に対応したデバイスＩＤの値も一緒に送付する。コマンド処理状態取得要求であると判別された場合は、Ｓ１３０９に進む。そうでない場合は、Ｓ１３１０に進む。
【０１４７】
Ｓ１３０９では、制御部４５２は、案件データ管理部４５３に対して、取得要求に含まれるデバイスＩＤで特定されるコマンドＩＤの値と処理状態の値の取得を指示する。案件データ管理部４５３は、案件データ格納部４５４のスクリプト処理状態管理テーブル６２０から前記の値を取得する。その後、制御部４５２の指示により通信部４５５は取得したコマンドＩＤの値と処理状態の値を案件作成装置１０１に返信する。その後、制御部４５２はＳ１３０１に戻る。
【０１４８】
Ｓ１３１０では、制御部４５２は前記Ｓ１３０１で受信した通知が案件作成装置１０１からの案件データ更新要求か否かを判別する。本要求は、案件作成装置１０１の案件作成プログラム４００にて案件データが変更され、スクリプト作成ボタン８０７が押下されることによって、通信部４０５が発行する。案件データ更新要求であると判別された場合は、Ｓ１３１１に進む。そうでない場合は、Ｓ１３１２に進む。
【０１４９】
Ｓ１３１１では、制御部４５２からの指示により案件データ管理部４５３は受け取った案件データを案件データ格納部４５４に格納し、Ｓ１３０１に戻る。
【０１５０】
Ｓ１３１２では、制御部４５２は前記Ｓ１３０１で受信した通知が案件作成装置１０１からのエラー状態クリア要求か否かを判別する。本要求は、案件作成装置１０１の案件作成プログラム４００にてコマンド一覧画面８６０のクリアボタン８６３が押下されることによって、通信部４０５が発行する。案件管理装置１０２に対して要求を発行する際に、通信部４０５はコマンド一覧画面８６０に対応したデバイスＩＤの値とクリアボタン８６３に対応したコマンドＩＤの値も一緒に送付する。エラー状態クリア要求であると判別された場合は、Ｓ１３１３に進む。そうでない場合は、Ｓ１３１４に進む。
【０１５１】
Ｓ１３１３では、制御部４５２からの指示により案件データ管理部４５３は、スクリプト処理状態管理テーブル６２０から前記受信したデバイスＩＤの値とコマンドＩＤの値の双方と一致するレコードを抽出し、その処理状態の値を「エラー」から「未」に変更する。その後、制御部４５２はＳ１３０１に制御を戻す。
【０１５２】
Ｓ１３０８からＳ１３１３までの処理を実行することにより、Ｓ７０６のエラーリカバリ作業が完了する。エラーが発生していたデバイスの自動設置プログラム５５０は、図１２のＳ１２０４にてエラーの解消を検知した後、セットアップ処理を継続できるようになる。
【０１５３】
Ｓ１３１４では、制御部４５２は前記Ｓ１３０１で受信した通知がデバイス１１１または案件作成装置１０１からの中止通知か否かを判別する。デバイス１１１の自動設置プログラム５５０からの通知処理は図１２のＳ１２１１からＳ１２１５に記載したとおりである。一方、案件作成装置１０１では、案件作成プログラム４００にてコマンド一覧画面８６０の中止ボタン８６４が押下されると、通信部４０５が発行する。案件管理装置１０２に対して要求を発行する際に、通信部４０５は中止ボタン８６４に対応したコマンドＩＤの値を送付する。中止通知であると判別された場合は、Ｓ１３１５に進む。そうでない場合は、Ｓ１３１６に進む。
【０１５４】
Ｓ１３１５では、制御部４５２はデバイス１１１または案件作成装置１０１から通知されたｉｄ属性（またはコマンドＩＤ）の値を基に、デバイス管理テーブル６１０のカラム６１３の値を「中止」に変更する。具体的には、以下の処理を行う。まず、制御部４５２は、カラム６２２の値が前記ｉｄ属性（またはコマンドＩＤ）の値と一致するレコードをスクリプト管理テーブル６２０から抽出する。次に、抽出したレコードのカラム６２１からデバイスＩＤの値を取得する。最後に、カラム６１１の値が前記デバイスＩＤの値と一致するレコードをデバイステーブル６１０から抽出し、そのカラム６１３のセットアップ状態の値を「中止」に変更する。
【０１５５】
Ｓ１３１６では、制御部４５２は前記Ｓ１３０１で受信した通知がデバイス１１１からのスクリプト実行完了通知か否かを判別する。スクリプト実行完了通知であると判別された場合は、Ｓ１３１７に進む。そうでない場合は、Ｓ１３１８に進む。
【０１５６】
Ｓ１３１７では、制御部４５２は、デバイス管理テーブル６１０において、デバイス１１１のデバイスＩＤの値と一致するレコードに該当するカラム６１３のセットアップ状態の値を「済」に変更する。
【０１５７】
Ｓ１３１８では、制御部４５２は認知しない通知を受信したため、受信内容をログに出力して、Ｓ１３０１に戻る。
【０１５８】
Ｓ１３１９では、制御部４５２は案件内の全デバイスのセットアップ処理が完了したか否かを判別する。具体的には、デバイス管理テーブル６１０においてデバイス１１１のデバイスＩＤの値が含まれる案件内のすべてのデバイスのセットアップ状態が「済」となっているか否かを判別する。全デバイスのセットアップ処理が完了したと判別された場合は、本フローチャートを終了する。そうでない場合は、Ｓ１３０１に戻る。
【０１５９】
以上で、図１３のフローチャートの説明を終了する。なお、本実施形態のＳ１３０５では、案件管理装置１０２がデバイス１１１に関連するエラーのエラー情報のみを抽出して、デバイス１１１にエラー情報を返信している。別の方法として、Ｓ１３０５で、案件管理装置１０２は案件内で発生しているすべてのエラーのエラー情報を返信し、Ｓ１２０３で、デバイス１１１が自デバイスに関連するエラーを抽出するよう構成してもよい。その場合、デバイス１１１の処理実行部５５３は、スクリプト解析部５５４によって解析された、スクリプトに含まれるｉｄ属性の値を用いて自デバイスに関連するエラーを抽出する。
【０１６０】
以上で本実施形態の説明を終了する。
【実施例２】
【０１６１】
実施例１のＳ１３０５のエラー情報取得処理では、デバイス１１１に関連するエラー情報として、以下の２種類のエラー情報を返信していた。
デバイス１１１自体で発生しているエラーのエラー情報
他のデバイスで発生しているエラーのエラー情報のうち、そのｉｄ属性の値がデバイス１１１で実行されるスクリプトにも記載されているもの
上記（２）のエラーは、図９の共通データ９０１を用いた処理で発生する。
【０１６２】
本実施形態では、あるデバイスにおいて共通データ９０１を用いたスクリプト実行処理でエラーが発生した際に、案件内の他のデバイスがそのエラーの影響を受けない場合の動作について説明する。
【０１６３】
実施例１の図１２、図１３のフローチャートと比べて本実施形態で変更されるのは、Ｓ１２０８、Ｓ１３０７、そして、Ｓ１３０５である。以下、各ステップにおける実施例１と本実施形態との違いを中心に説明する。まず、Ｓ１２０８である。実施例１のＳ１２０８では、処理実行部５５３が実行対象の処理を実行し、ｉｄ属性ごとの処理結果を案件管理装置１０２に通知していた。
【０１６４】
一方、本実施形態のＳ１２０８では、処理実行部５５３は実行対象の処理の処理結果がエラーとなり、エラー詳細情報が取得できた場合、エラー詳細情報も一緒に通知する。具体的には、処理実行部５５３が設定情報のインポート処理１１０６、１１０７を実行すると、処理実行部５５３は拡張プログラムシステムサービス５０６経由で設定管理サービス５０５に設定情報ファイルを引き渡す。設定管理サービス５０５は設定情報をデバイスに反映する。設定管理サービス５０５が引き渡された設定情報ファイルをデバイスに正しく反映できなかった場合、設定管理サービス５０５はエラーを返すが、その際にエラーコードとエラーが発生した設定項目の識別子も一緒に返却する。
【０１６５】
識別子の例として、図５（Ｄ）に示した設定情報ファイルのタグ名が考えられるが、これに限定されるものではない。処理実行部５５３は、処理結果「エラー」と共に、前記受け取ったエラーコードと識別子をエラー詳細として案件管理装置１０２に通知する。
【０１６６】
次に、Ｓ１３０７である。実施例１のＳ１３０７では、制御部４５２はデバイス１１１から通知された処理結果をスクリプト処理状態管理テーブル６２０のカラム６２３に登録していた。
【０１６７】
一方、本実施形態のＳ１３０７では、制御部４５２はデバイス１１１から通知された処理結果とエラー詳細をカラム６２３とカラム６２４に登録する。最後に、Ｓ１３０５である。
【０１６８】
実施例１のＳ１３０５では、制御部４５２は、デバイス１１１で発生しているエラー情報とデバイス１１１のセットアップ状態をデバイス１１１に返信していた。また、それに加えて制御部４５２は、デバイス１１１が属する案件内で発生しており、かつ、デバイス１１１に関連するエラー情報を抽出してデバイス１１１に返信していた。
【０１６９】
一方、本実施形態のＳ１３０５では、制御部４５２は、実施例１で返信するエラー情報からデバイス１１１では発生しないと判断したエラーを除外してデバイス１１１に返信する。これは、案件データに共通データとして登録されている設定情報ファイルの内容を、制御部４５２が解析することによって実現する。
【０１７０】
以下、制御部４５２がデバイス１１１では発生しないエラー情報を除外する方法を詳細に説明する。図１４は、図６の各テーブルと共に、本実施形態にて管理するテーブルの一例である。なお、図１４のテーブル構成は一例であり、本例とは異なるテーブル構成であってもよい。図１４の設定項目管理テーブル１４００は、設定情報に含まれる各設定項目に関する情報を格納しているテーブルであり、カラム１４０１からカラム１４０３で構成される。１レコードが個々の設定項目を表している。
【０１７１】
カラム１４０１は設定項目名を表している。設定管理サービス５０５のＵＩ上に表示される設定項目の名称と同一の値が格納される。カラム１４０２はタグ名を表している。タグ名は図５（Ｄ）に示した設定情報ファイルの設定情報記載領域５８２に記載されるタグの名称と同一である。カラム１４０３は関連オプションを表している。カラム１４０１に記載された設定項目が関連しているオプション名称が格納される。例えば、１番目のレコードの設定項目名は「ペーパーデッキ用紙設定」であり、関連オプションは「ペーパーデッキ」である。これは本設定項目がペーパーデッキオプションの有無の影響を受けることを表している。
【０１７２】
本実施形態のＳ１３０５では、制御部４５２は以下の手順を実施する。まず、実施例１のＳ１３０５と同様に、制御部４５２はスクリプト処理状態管理テーブル６２０からデバイス１１１で発生しているエラーを抽出する。また、デバイス管理テーブル６１０のカラム６１３からセットアップ状態を取得する。
次に、制御部４５２は案件データに共通データとして登録されている設定情報ファイルを解析する。設定情報ファイルは図５（Ｄ）で説明したファイル構造を持っている。解析の結果、図５（Ｄ）に例示した設定情報ファイルには、以下の４つの設定項目のタグが含まれていることが分かる。
・＜ｐａｐｅｒｄｅｃｋ＿ｐａｐｅｒｉｎｆｏ＞タグ
・＜ｓｔａｐｌｅ＿ｐｏｓｉｔｉｏｎ＞タグ
・＜ｆａｘ＿ｎｕｍｂｅｒ＞タグ
・＜ｃｒｙｐｔｏ＿ｍｅｔｈｏｄ＞タグ
さらに、設定項目管理テーブル１４００を利用すると、これらのタグはそれぞれ、以下のオプションと関連していることが分かる。
・ペーパーデッキ
・ステイプルフィニッシャー
・ファクス
・暗号化キット
図６のスクリプト処理状態管理テーブル６２０の８番目のレコードを例に取る。このレコードは、デバイスＩＤの値が「Ｄ００３」であるデバイスのものである。カラム６２４のエラー詳細に記載されている設定項目の識別子の値は「ｆａｘ＿ｎｕｍｂｅｒ」であるので、関連するオプションはファクスである。図６のオプション管理テーブル６５０を参照すると、ファクスオプションが装着されるのは、デバイスＩＤの値が「Ｄ００１」、「Ｄ００２」と「Ｄ００３」のデバイスであり、デバイスＩＤの値が「Ｄ００４」のデバイスはファクスオプションが装着されない。
【０１７３】
また、デバイス管理テーブル６１０を参照すると、デバイスＩＤの値が「Ｄ００２」、「Ｄ００３」、「Ｄ００４」のデバイスは同一の案件に属することが分かる。
【０１７４】
よって、デバイスＩＤの値が「Ｄ００３」であるデバイスにおいて、エラー詳細に記載されている設定項目の識別子の値が「ｆａｘ＿ｎｕｍｂｅｒ」であるエラーが発生している場合、影響を受けるデバイスは、「Ｄ００２」のデバイスである。「Ｄ００４」のデバイスはファクスオプションが装着されていないため、本エラーの影響を受けない。
【０１７５】
まとめると、本実施形態のＳ１３０５において、エラー情報取得要求の要求元デバイスが「Ｄ００２」である場合は、制御部４５２が返信すべきエラー情報は以下の通りとなる。
『デバイスＩＤ「Ｄ００２」、コマンドＩＤ「ｄｃｃ−１」、要求元デバイスのセットアップ状態「処理中」』
一方、「要求元デバイスが「Ｄ００４」である場合は、制御部４５２が返信すべきエラー情報は、デバイスＩＤ「Ｄ００４」、コマンドＩＤ「ｉａｐｐ−２」、要求元デバイスのセットアップ状態「処理中」』となる。
【０１７６】
なお、実施例１では、要求元デバイスが「Ｄ００４」である場合は、『デバイスＩＤ「Ｄ００４」、コマンドＩＤ「ｉａｐｐ−２」「ｄｃｃ−１」、要求元デバイスのセットアップ状態「処理中」』が返信されていた。
【０１７７】
以上で本実施形態の説明を終了する。
【実施例３】
【０１７８】
実施例２では、共通データを用いたスクリプト実行処理でエラーが発生した際に、案件内の他のデバイスがそのエラーの影響を受けない場合の動作について説明した。本実施形態では、個別データを用いたスクリプト実行処理でエラーが発生した際に、案件内の他のデバイスがそのエラーの影響を受ける場合の動作について説明する。
【０１７９】
実施例１の図１２、図１３のフローチャートと比べて本実施形態で変更されるのは、Ｓ１２０８、Ｓ１３０７、そして、Ｓ１３０５である。以下、各ステップにおける実施例１と本実施形態との違いを中心に説明する。
【０１８０】
まず、Ｓ１２０８、Ｓ１３０７であるが、これらのステップの処理は実施例２のＳ１２０８、Ｓ１３０７と同様であるため説明を省略する。
【０１８１】
次に、本実施形態のＳ１３０５について説明する。実施例１のＳ１３０５では、制御部４５２は、デバイス１１１で発生しているエラー情報とデバイス１１１のセットアップ状態をデバイス１１１に返信していた。また、それに加えて制御部４５２は、デバイス１１１が属する案件内で発生しており、かつ、デバイス１１１に関連するエラー情報を抽出してデバイス１１１に返信していた。
【０１８２】
一方、本実施形態のＳ１３０５では、制御部４５２は、実施例１で返信するエラー情報に加えて、デバイス１１１で発生すると判断したエラー情報を追加してデバイス１１１に返信する。これは、制御部４５２がエラー詳細を解析することによって実現する。
【０１８３】
以下、制御部４５２がデバイス１１１で発生すると判断したエラー情報を追加する方法を詳細に説明する。図１５は、図６の各テーブルと共に、本実施形態にて管理するテーブルの一例である。なお、図１５のテーブル構成は一例であり、本例とは異なるテーブル構成であってもよい。図１５のエラー詳細一覧テーブル１５００は、セットアップ処理で発生するエラーの詳細情報を格納しているテーブルであり、カラム１５０１からカラム１５０４で構成される。１レコードが個々の詳細情報を表している。本テーブルには、自動設置プログラム５５０がスクリプトを実行した際に発生するエラーの詳細情報がすべて登録されている。
【０１８４】
カラム１５０１はタグ名を表している。タグ名は図１１の処理記載部１１１０内の各処理部のタグの名称と同一である。カラム１５０２はエラーコードを表している。エラーコードの値は、自動設置プログラム５５０の処理実行部５５３が案件管理装置１０２に通知するエラーコードの値と同一である。カラム１５０３はエラー内容を表している。本カラムには、カラム１５０２のエラーコードに対応したメッセージが格納される。
【０１８５】
カラム１５０４は他デバイスへの影響を表している。本カラムには、カラム１５０２のエラーコードが示すエラーが他のデバイスのセットアップ処理に影響を与える可能性があるか否かが格納される。例えば、１番目のレコードのエラー詳細情報は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグで発生するエラーのもので、エラーコードは「Ｅ−ｉＡ００１」であり、その内容は「定義ファイル不正」となっている。定義ファイルは一般に「マニフェストファイル」と呼ばれるもので、拡張プログラムに含まれているファイルである。本エラーは、同一の拡張プログラムをインストールする別のデバイスでも発生するため、カラム１５０４の他デバイスへの影響の値は「あり」となっている。
【０１８６】
一方、２番目のレコードのエラー内容は「ライセンス不正」である。ライセンスファイルはデバイス毎に別のものを使用するため、カラム１５０４の他デバイスへの影響の値は「なし」となっている。
【０１８７】
本実施形態のＳ１３０５では、制御部４５２は以下の手順を実施する。まず、実施例１のＳ１３０５と同様に、制御部４５２はスクリプト処理状態管理テーブル６２０からデバイス１１１で発生しているエラーを抽出する。また、デバイス管理テーブル６１０のカラム６１３からセットアップ状態を取得する。
さてここで、図６のスクリプト処理状態管理テーブル６２０の１１番目のレコードを例に取る。このレコードはデバイスＩＤの値が「Ｄ００４」であるデバイスのものである。カラム６２４のエラー詳細に記載されている値は「Ｅ−ｉＡ００１」である。また、カラム６２５のタグ名に記載されている値は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグである。
【０１８８】
図１５のエラー詳細一覧テーブル１５００を参照すると、「Ｅ−ｉＡ００１」は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグで発生する「定義ファイル不正」のエラーであることが分かる。また、カラム１５０４から他デバイスへの影響があることが分かる。
【０１８９】
次に、デバイス管理テーブル６１０を参照すると、デバイスＩＤの値が「Ｄ００２」、「Ｄ００３」、「Ｄ００４」のデバイスは同一の案件に属することが分かる。デバイスＩＤの値が「Ｄ００２」、「Ｄ００３」であるデバイスのうち、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグを使った処理が実行されるデバイスは、デバイスＩＤの値が「Ｄ００２」であるデバイスである。
【０１９０】
よって、デバイスＩＤの値が「Ｄ００４」であるデバイスにおいて、エラー詳細の値が「Ｅ−ｉＡ００１」であるエラーが発生している場合、影響を受けるデバイスは、「Ｄ００２」のデバイスである。「Ｄ００３」のデバイスは、本エラーの影響を受けない。
【０１９１】
まとめると、本実施形態のＳ１３０５において、エラー情報取得要求の要求元デバイスが「Ｄ００２」である場合は、制御部４５２が返信すべきエラー情報は以下の通りとなる。
『デバイスＩＤ「Ｄ００２」、コマンドＩＤ「ｉａｐｐ−１」「ｄｃｃ−１」、要求元デバイスのセットアップ状態「処理中」』
なお、実施例１では、『デバイスＩＤ「Ｄ００２」、コマンドＩＤ「ｄｃｃ−１」、要求元デバイスのセットアップ状態「処理中」』が返信されていた。
【０１９２】
以上で本実施形態の説明を終了する。
【符号の説明】
【０１９３】
１０２  案件管理装置、１１１  デバイス、５５３  処理実行部、１１１０  処理記載部
【図１】
2016091521.tif 000003
【図２】
2016091521.tif 000004
【図３】
2016091521.tif 000005
【図４】
2016091521.tif 000006
【図５】
2016091521.tif 000007
【図６】
2016091521.tif 000008
【図７】
2016091521.tif 000009
【図８】
2016091521.tif 000010
【図９】
2016091521.tif 000011
【図１０】
2016091521.tif 000012
【図１１】
2016091521.tif 000013
【図１２】
2016091521.tif 000014
【図１３】
2016091521.tif 000015
【図１４】
2016091521.tif 000016
【図１５】
2016091521.tif 000017