(57)【要約】【課題】  ネットワークに負荷をかけることなく、管理装置からファームウエアを最初に取得した情報処理装置から他の情報処理装置にインストールすべき当該所定のファームウエアを提供する。【解決手段】    他の情報処理装置または管理装置と通信する情報処理装置において、管理装置から取得するスクリプトを実行して管理装置が管理する第１の取得先から所定のファームウエアを取得してインストールする。そして、所定のファームウエアがインストールされた際に、当該情報処理装置から管理装置に通知される第２の取得先を他の情報処理装置が取得するスクリプトに設定する。これにより、他の情報処理装置は、インストールすべき所定のファームウエアを、すでに所定のファームウエアがインストールされた情報処理装置から取得する構成を特徴とする。【選択図】  図１１
2017021407.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置と、管理装置とが通信する情報処理システムであって、
第１の情報処理装置は、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、
前記スクリプトに設定された前記管理装置が管理する第１の取得先から所定のファームウエアを取得してインストールする実行手段と、
第２の情報処理装置が取得すべき所定のファームウエアの取得先を第２の取得先とすべきことを前記管理装置に通知する通知手段と、を備え、
前記管理装置は、
所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、
前記管理手段は、前記第１の情報処理装置から通知される第２の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第１の取得先から前記第２の取得先に更新し、
前記第２の情報処理装置は、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、
前記スクリプトに設定された前記第２の取得先から所定のファームウエアを取得してインストールする実行手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記第２の取得先は、所定のファームウエアがインストールされた情報処理装置が公開するウエブサービスで特定されるＵＲＬであることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記管理手段は、
複数のユーザに対応づけて所定のファームウエアの取得先を特定するウエブサービスのＵＲＬを管理することを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第２の取得先を公開した情報処理装置は、前記管理装置から受け取る前記所定のファームウエアのインストール作業の状況に従い、前記管理装置から取得した所定のファームウエアを削除する削除手段を備えることを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記第２の取得先を公開した情報処理装置は、前記管理装置から受け取る前記所定のファームウエアのインストール作業の状況に従い、ウエブサービスを提供するための管理情報を公開から非公開に更新する更新手段を備えることを特徴とする請求項１に記載の情報処理システム。
【請求項６】
前記スクリプトには、優先順位に従う複数の取得先を設定できることを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記管理装置は、さらに、
認証されるユーザに対応づけられたウエブサービスを公開している情報処理装置があるかどうかを判断する第１の判断手段と、
前記認証されるユーザに対応づけられたウエブサービスを公開している情報処理装置がないと判断した場合、ウエブサービスを公開している他の情報処理装置があるかどうかを判断する第２の判断手段と、
公開している他の情報処理装置があると判断した場合、当該他の情報処理装置が公開しているＵＲＬを前記スクリプトに設定し、公開している他の情報処理装置がないと判断した場合、前記管理装置が管理する前記所定のファームウエアの取得先を前記スクリプトに設定する編集手段と、
を備えることを特徴とする請求項１に記載の情報処理システム。
【請求項８】
他の情報処理装置または管理装置と通信する情報処理装置であって、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、
前記スクリプトに設定された前記管理装置が管理する第１の取得先から所定のファームウエアを取得してインストールする実行手段と、
他の情報処理装置が取得すべき所定のファームウエアの取得先を第２の取得先とすべきことを前記管理装置に通知する通知手段と、備え、
前記所定のファームウエアがインストールされた後、前記所定のファームウエアがインストールされていない他の情報処理装置に対して、インストールされた所定のファームウエアを提供するためのウエブサービスを公開することを特徴とする情報処理装置。
【請求項９】
複数の情報処理装置と通信する管理装置であって、
所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、
前記管理手段は、第１の取得先から取得した所定のファームウエアがインストールされたいずれか１つの情報処理装置から通知される第２の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第１の取得先から前記第２の取得先に更新することを特徴とする管理装置。
【請求項１０】
他の情報処理装置または管理装置と通信する情報処理装置の制御方法であって、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得工程と、
前記スクリプトに設定された前記管理装置が管理する第１の取得先から所定のファームウエアを取得してインストールする実行工程と、
他の情報処理装置が取得すべき所定のファームウエアの取得先を第２の取得先とすべきことを前記管理装置に通知する通知工程と、備え、
前記所定のファームウエアがインストールされた後、前記所定のファームウエアがインストールされていない他の情報処理装置に対して、インストールされた所定のファームウエアを提供するためのウエブサービスを公開することを特徴とする情報処理装置の制御方法。
【請求項１１】
複数の情報処理装置と通信する管理装置の制御方法であって、
所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理工程を備え、
前記管理工程は、第１の取得先から取得した所定のファームウエアがインストールされたいずれか１つの情報処理装置から通知される第２の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第１の取得先から前記第２の取得先に更新することを特徴とする管理装置の制御方法。
【請求項１２】
請求項１０に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
請求項１１に記載の管理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
情報処理装置、例えばＭＦＰ（多機能周辺装置）やＳＦＰ（単機能プリンタ）などの画像形成装置を新規に導入する際、顧客先での使用環境に応じた設置作業が必要である。画像形成装置の設置作業には多くの時間と手間がかかる。そのため、複数台の画像形成装置に対し、同様の設置作業を行えば良い場合には、予め使用環境として必要なソフトウエアや設定値、検証用のデータなどを用意しておく。そして、画像形成装置が、それらを設置作業の作業指示情報に従って処理していくことで、自動的にかつ効率良く設置作業を行うシステムが提案されている。このようなシステムの中には、インターネット上のサーバに、作業指示情報や使用環境として必要なソフトウエアなどを配置しておき、設置作業時に画像形成装置が取得するものがある。
【０００３】
このような構成のシステムでは、顧客先で顧客先のネットワーク環境を使用して設置作業を行う場合がある。画像形成装置を導入する顧客先は企業であることが多く、企業ではプロキシサーバが利用されることが多い。また、使用環境として必要なソフトウエアにはファームウエアなどの数百メガバイトのものが含まれている。
【０００４】
そのため、このような構成のシステムで、設置対象の画像形成装置が多くなると、顧客先のプロキシサーバ等の負荷が大きくなり、場合によっては顧客先のユーザがインターネットにアクセスしづらい状況になってしまう。プロキシサーバにはキャッシュ機能があるが、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）での通信の際にはキャッシュできなかったり、顧客先の環境によってはキャッシュ機能が無効になっていたりする場合もある。プロキシサーバとは別に、インターネット上のサーバと画像形成装置の間のイントラネット内に、仲介装置となるソフトウエア管理サーバを配置するシステムが提案されている（特許文献１参照）。このような構成であると、ソフトウエア管理サーバが多数の機器の代わりにインターネット上のサーバからソフトウエアを取得することができるので、プロキシサーバへの負荷は小さくなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−６６５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、顧客先での設置作業は１度しか行わない為、別途ソフトウエア管理サーバを顧客先に配置して利用することは難しい。また、ソフトウエア管理サーバを顧客先で利用できるようにするためには、顧客環境のネットワークにつなげるための初期設定等などが新たに必要となり、作業者による設置作業負担が増大する等の課題があった。
【０００７】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、ネットワークに負荷をかけることなく、管理装置からファームウエアを最初に取得した情報処理装置から他の情報処理装置にインストールすべき当該所定のファームウエアを提供できる仕組みを提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明の情報処理システムは以下に示す構成を備える。
複数の情報処理装置と、管理装置とが通信する情報処理システムであって、第１の情報処理装置は、前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、前記スクリプトに設定された前記管理装置が管理する第１の取得先から所定のファームウエアを取得してインストールする実行手段と、第２の情報処理装置が取得すべき所定のファームウエアの取得先を第２の取得先とすべきことを前記管理装置に通知する通知手段と、を備え、前記管理装置は、所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、前記管理手段は、前記第１の情報処理装置から通知される第２の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第１の取得先から前記第２の取得先に更新し、前記第２の情報処理装置は、前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、前記スクリプトに設定された前記第２の取得先から所定のファームウエアを取得してインストールする実行手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ネットワークに負荷をかけることなく、管理装置からファームウエアを最初に取得した情報処理装置から他の情報処理装置にインストールすべき当該所定のファームウエアを提供できる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置を適用するシステムの構成を示す図である。
【図２】システムのハードウエア構成を説明するブロック図である。
【図３】管理サーバのハードウエア構成を説明するブロック図である。
【図４】ＭＦＰのソフトウエア構成を示すブロック図である。
【図５】クライアントコントローラと案件管理サーバのソフトウエア構成を説明するブロック図である。
【図６】データ格納部で管理するテーブルを示す図である。
【図７】情報処理装置の設置作業を説明する図である。
【図８】案件作成プログラムが表示するＵＩ画面を示す図である。
【図９】設置用スクリプトの一例を示す図である。
【図１０】操作部に表示するＵＩ画面の一例を示す図である。
【図１１】情報処理装置の制御方法を説明するフローチャートである。
【図１２】設置用スクリプトの内容を説明する図である。
【図１３】情報処理装置の制御方法を説明するフローチャートである。
【図１４】情報処理装置の制御方法を説明するフローチャートである。
【図１５】サーバ装置のソフトウエア構成を説明する図である。
【図１６】データ格納部で管理するテーブルの例を示す図である。
【図１７】自動設置プログラムが表示するＵＩ画面を示す図である。
【図１８】サーバ装置の制御方法を説明するフローチャートである。
【図１９】設置用スクリプトの内容を示す図である。
【発明を実施するための形態】
【００１１】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１２】
図１は、本発明の自動設置システムにおける情報処理システム構成の例を示す図である。自動設置システムは、ＬＡＮ１０１、および、ＬＡＮ１０２があり、図１においてＬＡＮ１０１とＬＡＮ１０２は別のＬＡＮであることを示している。ＬＡＮ１０１、ＬＡＮ１０２に接続された機器はそれぞれプロキシサーバ１０３、１０４越しにＷＡＮを介してインターネット上のサーバに接続される。またプロキシサーバはファイアウォールの機能も有している。ＬＡＮ１０１は、設置を行う顧客環境のＬＡＮであり、ＭＦＰ１０５が複数台接続される。以下、情報処理装置の一例としてＭＦＰ１０５を適用するシステムについて詳述する。なお、本実施形態では、案件管理サーバ１０７とソフトウエア管理サーバ１０８とを独立した構成としているが、１つの管理装置として構成してもよい。
【００１３】
ＭＦＰ１０５は、顧客環境に設置を行うＭＦＰである。ＭＦＰ１０５は、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等複数の機能を統合した画像形成装置である。尚、ＭＦＰ１０５は最初からＬＡＮ１０１に接続されているわけではなく、後述する設置の作業の中でＬＡＮ１０１に接続される。
また、ＭＦＰ１０５には、後述する自動設置プログラム４５０がインストールされている。自動設置プログラム４５０は、案件管理サーバ１０７で管理されている作業指示書の一例である設置用スクリプトを案件管理サーバ１０７から取得し、設置用スクリプトの内容に従って自動での設置作業を実施する。本実施形態ではＭＦＰ１０５の自動設置について記載する。尚、本実施形態では情報処理装置の一例としてＭＦＰを挙げているが、もちろんその他ＳＦＰなどでもよい。
【００１４】
ＬＡＮ１０２は、設置の事前準備を行う環境のＬＡＮであり、クライアントコンピュータ１０６が接続される。クライアントコンピュータ１０６は、所謂パーソナルコンピュータなどの情報処理装置である。クライアントコンピュータ１０６には後述する案件作成プログラム５００がインストールされている。案件作成プログラム５００は、ＭＦＰ１０５に設置用スクリプトを含む案件データを生成する。
【００１５】
案件管理サーバ１０７は、後述する案件管理サーバプログラム５５０がインストールされている。案件管理サーバプログラム５５０は、クライアントコンピュータ１０６を使用して生成する、ＭＦＰ１０５の設定内容を登録した案件データを管理する。案件データについては後述する。
【００１６】
ソフトウエア管理サーバ１０８は、ＭＦＰ１０５で利用可能なファームウエアや各種ライセンス情報等を管理するサーバである。ＭＦＰ１０５の自動設置プログラム４５０は、設置用スクリプトの内容に従って、ソフトウエア管理サーバ１０８から設置に必要なソフトウエアをダウンロードする。
【００１７】
＜ＭＦＰ＞
図２は、図１に示したシステムのハードウエア構成を説明するブロック図である。特に、図２の（Ａ）は、ＭＦＰ１０５のハードウエア構成の例である。
図２の（Ａ）において、ＭＦＰ１０５はコントローラユニット２００を含み、コントローラユニット２００には、画像入力デバイスであるスキャナ２１７や画像出力デバイスであるプリンタ２１６が接続されるとともに、操作部２０８が接続される。コントローラユニット２００は、スキャナ２１７で読み取られた画像データをプリンタ２１６により印刷出力するコピー機能を実現するための制御を行う。
【００１８】
コントローラユニット２００は、プロセッサであるＣＰＵ２０１を有し、ＣＰＵ２０１は、ＲＯＭ２０６に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ２０１は、このＯＳ上で、ＨＤＤ（ハードディスクドライブ）２０７に格納されているプログラムを実行し、これによって各種処理を実行する。
【００１９】
このＣＰＵ２０１の作業領域としてはＲＡＭ２０２が用いられる。ＲＡＭ２０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ２０７は、上記プログラムや画像データを格納する。ＣＰＵ２０１には、システムバス２１０を介して、ＲＯＭ２０６およびＲＡＭ２０２、操作部Ｉ／Ｆ（操作部インタフェース）２０３が接続される。さらにＣＰＵ２０１には、ネットワークＩ／Ｆ（ネットワークインタフェース）２０４、ＵＳＢホストＩ／Ｆ２０５、画像バスＩ／Ｆ（画像バスインタフェース）２１２が接続される。
【００２０】
操作部Ｉ／Ｆ２０３は、タッチパネルを有する操作部２０８とのインタフェースであり、操作部２０８に表示すべき画像データを操作部２０８に対して出力する。また、操作部Ｉ／Ｆ２０３は、操作部２０８においてユーザにより入力された情報をＣＰＵ２０１に送出する。
【００２１】
ネットワークＩ／Ｆ２０４は、ＭＦＰ１０５をＬＡＮ１０１に接続するためのインタフェースである。ＵＳＢホストＩ／Ｆ２０５は、ＵＳＢストレージ２１８と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ２０５は、ＨＤＤ２０７に格納されているデータをＵＳＢストレージ２１８に出力する。また、ＵＳＢホストＩ／Ｆ２０５は、ＵＳＢストレージ２１８に格納されているデータを入力し、ＣＰＵ２０１にそれを伝える。ＵＳＢストレージ２１８は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ２０５に対して着脱可能である。画像バスＩ／Ｆ２１２は、システムバス２１０と、画像データを高速で転送する画像バス２１１とを接続し、データ形式を変換するためのバスブリッジである。
【００２２】
画像バス２１１は、ＰＣＩバスまたはＩＥＥＥ１３９４等によって構成される。画像バス２１１上には、デバイスＩ／Ｆ２１５、スキャナ画像処理部２１４、プリンタ画像処理部２１３が設けられる。デバイスＩ／Ｆ２１５には、スキャナ２１７およびプリンタ２１６が接続され、デバイスＩ／Ｆ２１５は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２１４は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２１３は、プリント出力画像データに対してプリンタ２１６に応じた補正、解像度変換などを行う。
【００２３】
＜クライアントコンピュータ＞  
図２の（Ｂ）は、クライアントコンピュータ１０６のハードウエア構成例である。
図２の（Ｂ）において、ＣＰＵ２５１を含む制御部２５０は、クライアントコンピュータ１０６の全体の動作を制御する。ＣＰＵ２５１は、ＲＯＭ２５２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ２５３は、ＣＰＵ２５１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２５４は、画像データや各種プログラムを記憶する。操作部Ｉ／Ｆ２５５は、クライアントコンピュータ１０６で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するインタフェースである。本実施形態では、マウス２５９やキーボード２６０で構成されるが、その限りではない。ディスプレイＩ／Ｆ２５６は、クライアントコンピュータ１０６で実行されるプログラムのＵＩを表示するディスプレイ端末を接続するインタフェースである。
【００２４】
本実施形態ではディスプレイ２６１で構成されるが、その限りではない。ネットワークＩ／Ｆ２５８は、制御部２５０をＬＡＮ１０２に接続する。ネットワークＩ／Ｆ２５８は、ネットワークを介して他の装置との間で各種情報を送受信する。ＵＳＢホストＩ／Ｆ２５７は、ＵＳＢストレージ２６２と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ２５７は、ＨＤＤ２５４に格納されているデータをＵＳＢストレージ２６２に出力する。また、ＵＳＢホストＩ／Ｆ２５７は、ＵＳＢストレージ２６２に格納されているデータを入力し、ＣＰＵ２５１にそれを伝える。ＵＳＢストレージ２６２は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ２５７に対して着脱可能である。
【００２５】
＜サーバ＞
図３は、図１に示した管理サーバのハードウエア構成を説明するブロック図である。特に、図３の（Ａ）は、案件管理サーバ１０７のハードウエア構成例である。
図３の（Ａ）において、ＣＰＵ３０１を含む制御部３００は、案件管理サーバ１０７全体の動作を制御する。ＣＰＵ３０１は、ＲＯＭ３０２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３０３は、ＣＰＵ３０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３０４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークＩ／Ｆ３０５は、制御部３００をＬＡＮに接続する。ネットワークＩ／Ｆ３０５は、ネットワークを介して他の装置との間で各種情報を送受信する。
【００２６】
図３の（Ｂ）は、図１に示したソフトウエア管理サーバ１０８のハードウエア構成例である。
図３の（Ｂ）において、ＣＰＵ３５１を含む制御部３５０は、ソフトウエア管理サーバ１０８全体の動作を制御する。ＣＰＵ３５１は、ＲＯＭ３５２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３５３は、ＣＰＵ３５１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３５４は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークＩ／Ｆ３５５は、制御部３５０をＬＡＮに接続する。ネットワークＩ／Ｆ３５５は、ネットワークを介して他の装置との間で各種情報を送受信する。
＜ＭＦＰのソフトウエア構成＞
図４は、図１に示したＭＦＰ１０５のソフトウエアの構成例を示すブロック図である。
図４の（Ａ）において、ＯＳ４００上には、プリンタ２１６やＦＡＸ、スキャナ２１７などの元々備わっている制御用プログラムのネイティブプログラム４０１、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム４０２が動作している。更に、ネイティブプログラム４０１上には、ファームウエア更新サービス４０３、オプション有効化サービス４０４、設定管理サービス４０５が動作している。また拡張プログラム実行プラットフォーム４０２上には、拡張プログラムシステムサービス４０６と拡張プログラム４０７が動作している。
【００２７】
ファームウエア更新サービス４０３は、ファームウエアを更新するための各種機能を提供するサービスである。例えば、ファームウエア更新サービス４０３は、ユーザから指定されたファームウエアを参照し、該ファームウエアの更新が必要か否かを判断する。またネイティブプログラム４０１に対し、または介し、ファームウエアを更新する。
【００２８】
オプション有効化サービス４０４は、ネイティブプログラム４０１に予め組み込まれているオプション機能を、有効化するためのサービスである。オプション有効化サービス４０４は、ユーザから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、有効化する。
【００２９】
設定管理サービス４０５は、プリンタ２１６やスキャナ２１７などの各種設定情報を管理するためのサービスである。設定管理サービス４０５は、例えばユーザから１つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム４０１の設定情報を書き換える機能を提供する。尚、設定管理サービス４０５は、ユーザインタフェース（以下、ＵＩ）を持っており、ユーザはＭＦＰ１０５の操作部２０８を介して設定変更の指示ができる。更に、拡張プログラムシステムサービス４０６を介して送信される拡張プログラムからのリクエストに応じて、設定情報をファイル化して提供する。この機能を以下、デバイス設定情報ファイルのエクスポートと呼ぶ。
【００３０】
拡張プログラムシステムサービス４０６は、拡張プログラムに共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム４０７から拡張プログラムシステムサービス４０６の機能を呼び出すことにより、拡張プログラムを開発する手間を省くことができる。拡張プログラム４０７は、拡張プログラム実行プラットフォーム４０２または拡張プログラムシステムサービス４０６を介してのみ、他の拡張プログラム４０７やＲＡＭ２０２などＭＦＰ１０５の各モジュールへアクセスすることができる。
【００３１】
また、ＵＩを持つ拡張プログラム４０７は、ＭＦＰ１０５の操作部２０８に表示されるメインメニュー画面にアイコンを表示することができる。このアイコンをユーザが選択したことを、操作部２０８を通じて操作部Ｉ／Ｆ２０３が検知すると、操作部Ｉ／Ｆ２０３はその旨をＣＰＵ２０１に送信する。その旨を受け取ったＣＰＵ２０１はユーザに選択された拡張プログラムのＵＩを操作部２０８に表示する。
【００３２】
尚、本ソフトウエア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
【００３３】
＜自動設置プログラムのソフトウエア構成＞
図４の（Ｂ）は、ＭＦＰ１０５で動作する、自動設置プログラム４５０の機能構成の例を示す図である。本実施形態において、自動設置プログラム４５０は、ＭＦＰ１０５の拡張プログラム４０７の一つとして実装されるものとする。ＣＰＵ２０１が各機能に応じたプログラムを実行することにより、各機能は実現される。
【００３４】
図４の（Ｂ）において、自動設置プログラム４５０は、ＵＩ制御部４５１、処理実行部４５２、スクリプト解析部４５３、ウエブサービス（Ｗｅｂサービス）管理部４５４、通信部４５５を有する。
ＵＩ制御部４５１は、自動設置プログラム４５０を操作するためのＵＩを、操作部２０８を通じてユーザに提供し、ユーザの操作を受け付ける。処理実行部４５２は、ＵＩ制御部４５１の指示やスクリプト解析部４５３の解析結果に従い、各種処理を行う。スクリプト解析部４５３は、設置作業指示情報である設置用スクリプトを解析し、処理実行部４５２が実行すべき処理、順序を決定する。
【００３５】
Ｗｅｂサービス管理部４５４は、自動設置プログラム４５０が提供するＷｅｂサービスを管理しており、Ｗｅｂサービスを公開したり、非公開にしたりする。通信部４５５は、処理実行部４５２の指示に従い、案件管理サーバ１０７にデータを送信したり、データを取得したりする。また、通信部４５５は、処理実行部４５２の指示に従い、ソフトウエア管理サーバ１０８からファームウエアやライセンスファイルなどの各種ソフトウエアを取得する。
【００３６】
＜案件作成プログラムのソフトウエア構成＞
図５は、図１に示したクライアントコンピュータ１０６と案件管理サーバ１０７のソフトウエア構成を説明するブロック図である。
特に、図５の（Ａ）は、クライアントコンピュータ１０６で動作する、案件作成プログラム５００の機能構成の例である。なお、ＣＰＵ２５１が案件作成プログラム５００を実行することにより、各機能が実現される。本実施形態では、クライアントコンピュータ１０６でプログラムが実行されることを想定するが、その限りではない。ネットワークＩ／Ｆ２５８を介して、ネットワーク上にあるサーバやサービスで実行してもよい。
【００３７】
図５の（Ａ）において、案件作成プログラム５００は、ＵＩ制御部５０１、処理実行部５０２、案件データ生成部５０３とスクリプト生成部５０４、および通信部５０５を有する。ＵＩ制御部５０１は、案件作成プログラム５００を操作するためのＵＩを、ディスプレイ２６１を通じて作業者に提供し、マウス２５９やキーボード２６０を通じて作業者の操作を受け付ける。処理実行部５０２は、ＵＩ制御部５０１の指示に従い、各種処理を行う。案件データ生成部５０３は、ＵＩ制御部５０１からの入力情報を基に、処理実行部５０２の指示に従って案件データを生成する。
【００３８】
スクリプト生成部５０４は、処理実行部５０２の指示に従い、案件データ生成部５０３で生成された案件データを基に、自動設置プログラム４５０が解析可能な設置用のスクリプトを生成する。通信部５０５は、処理実行部５０２の指示に従い、案件管理サーバ１０７に案件データを送信したり、案件管理サーバ１０７で保持されている案件データを取得したりする。
【００３９】
＜サーバのソフトウエア構成＞
図５の（Ｂ）は、案件管理サーバ１０７で動作する、案件管理サーバプログラム５５０、および、データ格納部５５７の機能構成の例である。ＣＰＵ３０１が案件管理サーバプログラム５５０を実行することにより、各機能が実現される。
【００４０】
図５の（Ｂ）において、案件管理サーバプログラム５５０は、制御部５５１、スクリプト編集部５５２、案件データ管理部５５３、作業状況データ管理部５５４、Ｗｅｂサービス公開データ管理部５５５、通信部５５６を有するＷｅｂアプリケーションである。
【００４１】
制御部５５１は、通信部５５６が受信するリクエスト内容にしたがって、案件データ管理部５５３や作業状況データ管理部５５４に対して案件データや作業状況データの格納、削除、更新、取得等の処理を指示する。また、制御部５５１は、Ｗｅｂサービス公開データ管理部５５５に対して、Ｗｅｂサービス公開データの格納、削除、更新、取得等の処理を指示する。スクリプト編集部５５２は、制御部５５１から渡される設置用スクリプトの編集を行う。編集の処理については図１１を用いて後述する。案件データ管理部５５３は、制御部５５１の指示に従い、後述するデータ格納部５５７に対して案件データの格納、削除、更新を行う。また、案件データ管理部５５３はデータ格納部５５７から案件データの取得などを行う。
【００４２】
作業状況データ管理部５５４は、制御部５５１の指示に従い、データ格納部５５７に対して作業状況データの格納、削除、更新を行う。また、作業状況データ管理部５５４はデータ格納部５５７から作業状況データの取得などを行う。Ｗｅｂサービス公開データ管理部５５５は、制御部５５１の指示に従い、データ格納部５５７に対して作業状況データの格納、削除、更新を行う。また、Ｗｅｂサービス公開データ管理部５５５は、データ格納部５５７からＷｅｂサービス公開データの取得などを行う。通信部５５６は、クライアントコンピュータ１０６などからのリクエストを受信して、制御部５５１にリクエスト内容を送信する。更に、制御部５５１からリクエストに対する処理結果を受け取り、前記リクエストに対するレスポンスデータを作成し、クライアントコンピュータ１０６などにレスポンスを送信する。
【００４３】
データ格納部５５７は案件管理サーバ１０７で動作するデータベースである。尚、本例では案件管理サーバ１０７にデータ格納部５５７が構成されているが、案件管理サーバプログラム５５０と連携できるようになっていれば別のサーバに配置されるような構成でも良い。データ格納部５５７で管理するデータの内容については図６を用いて説明する。
【００４４】
ソフトウエア管理サーバ１０８は、各種ソフトウエアを管理しており、ＭＦＰ１０５の自動設置プログラム４５０等からの要求に応じて、指定されたソフトウエアを、要求されたＭＦＰ１０５等に提供する。
＜データ格納部で管理されるテーブル群＞
【００４５】
図６の（Ａ）から図６の（Ｅ）は、データ格納部５５７で管理するテーブルの一例である。図６の（Ａ）から図６の（Ｃ）のテーブルが案件データを示している。図６の（Ｄ）が作業状況データを示している。図６の（Ｅ）は、Ｗｅｂサービス公開データを示している。尚、図６のテーブル構成は、説明をしやすくするために冗長な部分を残しているが、リレーショナルデータベースなどである場合は正規化を行い、冗長性を除く等、本例とは異なるテーブル構成であってもよい。
【００４６】
図６の（Ａ）は、案件概要管理テーブル６００を表している。案件概要管理テーブル６００は、案件の概要を格納しているテーブルであり、カラム６０１からカラム６０３で構成される。１レコードが１つの案件を表している。カラム６０１は案件ＩＤを表している。案件ＩＤは案件データを一意に識別するための識別子である。カラム６０２は案件データの名称を表している。カラム６０３はコメントを表している。コメントは案件の内容に関する補足説明である。
【００４７】
図６の（Ｂ）は、共通データ管理テーブル６２０を表している。共通データ管理テーブル６２０は、設置対象のＭＦＰ１５０に対して案件ごとの機種共通で設定するデータを管理するテーブルであり、カラム６２１からカラム６２５で構成される。カラム６２１は共通データＩＤを表している。
【００４８】
共通データＩＤは、共通データを一意に識別するための識別子である。カラム６２２は案件ＩＤを表している。カラム６２３は、機種名を表している。カラム６２４は共通データの名称を表している。カラム６２５は、共通データを表している。共通データとは、機種共通で設定するデータであり、例えばＭＦＰ１０５に適用するファームウエアなどである。尚、本例では共通データの実体をカラム６２５に格納しているが、カラム６２５には共通データの実体へのパスのみを格納しておき、共通データの実体は別の場所にファイルとして置くような構成でも良い。
【００４９】
カラム６２１とカラム６２２とカラム６２３で共通データ、案件、機種を関連付けている。例えば、最初のレコードであると、共通データＩＤ"Ｃ００１"である共通データが、案件ＩＤ"Ｍ００１"である案件の機種名"機種１"のＭＦＰに使用されることがわかる。
【００５０】
図６の（Ｃ）は、個別データ管理テーブル６５０を表している。個別データ管理テーブル６５０は、設置対象のＭＦＰ１０５ごとに設定するデータを管理するテーブルでありカラム６５１からカラム６５５で構成される。カラム６５１は個別データＩＤを表している。個別データＩＤは、個別データを一意に識別するための識別子である。カラム６５２は案件ＩＤを表している。カラム６５３は機種名を表している。カラム６５４は個別データの名称を表している。カラム６５５は設置対象のＭＦＰ１０５のデバイスＩＤを表している。カラム６５６は個別データを表している。個別データとは、設置対象のＭＦＰ１０５ごとに設定するデータである。
【００５１】
例えば、ＭＦＰ１０５ごとに必要なライセンスの設定や設置場所などの設定である。尚、本例では個別データの実体をカラム６５６に格納しているが、カラム６５６には個別データの実体へのパスのみを格納しておき、個別データの実体は別の場所にファイルとして置くような構成でも良い。
カラム６５１、カラム６５２、カラム６５５で個別データ、案件、ＭＦＰを関連付けている。例えば、最初のレコードであると個別データＩＤが"Ｘ００１"である個別データは、案件ＩＤが"Ｍ００１"である案件において、デバイスＩＤが"Ｎ００１"であるＭＦＰ１０５に設定されるデータであることが分かる。尚、個別データには設置用スクリプトも含まれる。設置用スクリプトの構成については図９を用いて後述する。
【００５２】
図６の（Ｄ）は、作業状況データ管理テーブル６７０を表している。作業状況データ管理テーブル６７０は、ＭＦＰ１０５の自動設置作業の作業状況を管理するテーブルであり、カラム６７１からカラム６７４で構成される。カラム６７１はＭＦＰ１０５のデバイスＩＤを表している。カラム６７２は、ＭＦＰ１０５のデバイス名称を表している。
【００５３】
カラム６７３は案件ＩＤを表している。カラム６７４は、ＭＦＰ１０５の自動設置作業のインストール作業状況を表している。カラム６７７は、作業状況に関する詳細な情報を表している。カラム６７１、カラム６７３で案件、ＭＦＰを関連付けている。例えば、最初のレコードであると案件ＩＤが"Ｍ００１"である案件のデバイスＩＤが"Ｎ００１"であるＭＦＰの作業状況（完了）であることがわかる。
【００５４】
図６の（Ｅ）は、Ｗｅｂサービス公開データ管理テーブル６９０を表している。Ｗｅｂサービス公開データ管理テーブル６９０は、ＭＦＰ１０５が公開しているＷｅｂサービスの情報を管理するテーブルであり、カラム６９１からカラム６９４で構成される。カラム６９１は、案件ＩＤを表している。カラム６９２はデバイスＩＤを表している。カラム６９３は、機種名を表している。カラム６９４は、ＭＦＰ１０５が公開しているＷｅｂサービスのＵＲＬを表している。
＜ＭＦＰの設置作業手順＞
図７は、本実施形態を示す情報処理装置の設置作業を説明する図である。本例では、ＭＦＰ１０５の基本的な設置をするまでの作業フローを説明する。尚、図７では１案件で８台のＭＦＰ１０５の設置作業を行う例を記載している。本実施形態では、図中のＮ００１を第１の情報処理装置と、Ｎ００２〜Ｎ００８を第２の情報処理装置と想定して、所定のファームウエアを取得してインストールする例を詳細に説明する。
【００５５】
Ｓ７０１は、案件作成者７２０が案件の作成を行う作業である。案件の作成は、１人で行われるわけではなく、営業担当者が顧客と対話して決定した内容を設定したり、設置管理者がＭＦＰの入出庫を管理する倉庫で設定内容の微修正を行なったりする。本例では営業担当者や設置管理者など案件を編集する人をまとめて、案件作成者と表現する。案件作成者７２０は、ＭＦＰの構成と、それらの設定内容を、クライアントコンピュータ１０６の案件作成プログラム５００を使用して入力する。
【００５６】
ＭＦＰの構成とは、機種や、ハードウェアオプション、アクティベートするオプション、インストールする拡張プログラムのことである。その内容は案件データとして案件管理サーバ１０７へ送信され、案件管理サーバ１０７のデータ格納部５５７に保存される。
【００５７】
Ｓ７０２は、設置担当者７２１がＭＦＰ１０５を実際に設置する際に顧客先で行う作業である。倉庫からＭＦＰ１０５が配送されると、設置担当者７２１は、ＭＦＰ１０５を顧客から依頼された場所へ配置する。そして、設置担当者７２１は、ＭＦＰ１０５を顧客先のＬＡＮ１０１に接続する。設置担当者７２１が、ＭＦＰ１０５の自動設置プログラム４５０が表示するＵＩで、設置するためのボタンを押下する。尚、ここで表示されるＵＩについては図１０の（Ｂ）等を用いて後述する。自動設置プログラム４５０は、設置するためのボタンが押下されたことを検知すると、自動での設置作業を開始する。自動での設置作業の処理については、図１１を用いて後述する。ＭＦＰ１０５で自動での設置作業が開始すると、設置担当者７２１は、その場を離れ、次のＭＦＰ１０５の設置作業を行う。
【００５８】
このようにデバイスＩＤが"Ｎ００１"から"Ｎ００８"であるＭＦＰ１０５に対して、Ｓ７０２の作業を繰り返し行うことで、すべてのＭＦＰ１０５の設置作業が完了する。尚、本例ではＳ７０２において、毎回ソフトウエア管理サーバ１０８からファームウエアを取得するのではなく、Ｗｅｂサービスを公開したＭＦＰ１０５から取得することでプロキシサーバ等への負担を軽減する例について説明する。また、本例ではファイルサイズが大きいファームウエアを例に記載するが、拡張プログラムなど他のファイルにも適用可能である。以上が本発明に関わるＭＦＰ１０５の基本的な設置をするまでの作業フローである。図７で説明した基本的な設置をするまでの作業における各プログラムの詳細な処理について、図８乃至図１４を用いて説明する。
【００５９】
＜案件作成プログラム＞
図８は、図１に示したクライアントコンピュータ１０６の案件作成プログラム５００が表示するＵＩ画面を示す図である。本ＵＩは、案件作成者７２０がＳ７０１の作業を行う際に操作する。
【００６０】
図８の（Ａ）は、案件作成プログラム５００の案件データの一覧表示するＵＩの一例である。ＵＩ８００は、案件データリスト８０１とボタン８０２からボタン８０４で構成される。案件作成プログラム５００は、起動すると案件管理サーバ１０７から案件データの一覧を取得する。そして、案件作成プログラム５００は、取得した案件データの一覧を案件データリスト８０１にセットしてＵＩ８００を表示する。
案件データリスト８０１は、案件データの概要を表示するリストである。本例では、案件ＩＤ、案件名、コメントを表示している。
【００６１】
ボタン８０２は、案件データを新規で作成するためのボタンである。案件作成プログラム５００は、ボタン８０２が押下されたことを検知すると、案件データを作成するためのＵＩ８５０を表示する。ボタン８０２が押下された場合は新規作成となるため、ＵＩ８５０は、テキストボックスなどの各コントロールを空の状態で表示する。
【００６２】
編集ボタン８０３は、案件データを編集するためのボタンである。編集ボタン８０３が押下されたことを検知すると案件作成プログラム５００は、案件データリスト８０１で選択状態である案件データの詳細情報を案件管理サーバ１０７から取得する。案件作成プログラム８００は、取得した案件データの詳細情報をＵＩ８５０のテキストボックスなどの各コントロールにセットして、ＵＩ８５０を表示する（図８の（Ｂ）参照）。ボタン８０４は、案件作成プログラム５００を終了するためのボタンである。
【００６３】
図８の（Ｂ）は、図８の（Ａ）のＵＩ画面において、編集ボタン８０３が押下された際に、案件作成プログラム５００の案件データを編集するために表示するＵＩの一例である。ＵＩ８５０は、タブページ８５１、８５２、８５３、および、ボタン８６２、８６３で構成される。ＵＩ８５０では、タブページ８５２がアクティブな状態で表示されている。
【００６４】
タブページ８５２は、テキストボックスやボタンなどのテキストボックス８５４から８６１で構成される。尚、ＵＩ８５０では、案件ＩＤがＭ００１である案件データの編集を行っている際の例を記載している。すなわち、ＵＩ８００において、案件データリスト８０１で案件ＩＤがＭ００１であるレコードが選択された状態で編集ボタン８０３を押下された場合に表示するＵＩの例である。
【００６５】
タブページ８５１は、案件データの概要を設定するためのタブページである。案件データの概要とは、案件名、コメントなどである。タブページ８５２は、共通データの設定を行うためのタブページである。テキストボックス８５４は、共通データの名称を設定するためのテキストボックスである。コンボボックス８５５はどの機種の共通データであるかを設定するためのコンボボックスである。
【００６６】
コンボボックス８５６は、どのファームウエアをインストールするか設定するためのボタンである。適用するファームウエアを共通データとして設定するため、同一機種であれば同じファームウエアが適用される。ボタン８５７は共通データの詳細設定を行うためのボタンである。ボタン８５８は、テキストボックス８５４から８５７で設定した共通データを案件データに追加するためのボタンである。ボタン８５８が押下されると、共通データリスト８５９に共通データを追加する。共通データリスト８５９は編集中の案件データに追加済の共通データを表示するためのリストである。ボタン８６０は、共通データをファイルから追加するためのボタンである。
【００６７】
ボタン８６０が押下されると、ファイルを指定するためのＵＩを表示する。そのＵＩで共通データのファイルが指定されると、編集中の案件データに選択された共通データを追加する。ボタン８６１は、編集中の案件データから、共通データリスト８５９で選択されている共通データを削除するためのボタンである。ボタン８６２は、編集中の案件データを保存するためのボタンである。ボタン８６２が押下されると、案件作成プログラム５００は、本案件データを案件管理サーバ１０７に送信する。
【００６８】
そして、案件管理サーバ１０７の案件管理サーバプログラム５５０は、案件データを受信すると、受信した案件データをデータ格納部５５７に保存する。ボタン８６３は、案件データの編集をキャンセルするためのボタンである。タブページ８５３は個別データの設定を行うためのタブページである。個別データとは先述したように、設置対象のＭＦＰ１０５ごとに設定するデータである。例えば、個別データはＭＦＰ１０５ごとに必要なライセンスの設定や設置場所などの設定である。
【００６９】
＜設置用スクリプトの例＞
図９は、図１に示したＭＦＰ１０５の設置を自動で実施するための設置作業手順を記述した設置用スクリプトの一例を示す図である。設置用スクリプトはＵＩ８５０で作成された案件データの一部として案件管理サーバ１０７のデータ格納部５５７に格納されている。
【００７０】
設置用スクリプト９００は、ＭＦＰ１０５の自動設置プログラム４５０の処理実行部４５２を介しスクリプト解析部４５３によって解析される。スクリプト解析部４５３によって解析された設置用スクリプト９００は、その後、処理実行部４５２によって記載された処理が実行される。設置用スクリプト９００は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）で記載されており、案件データ識別部９０１とＭＦＰ識別部９０２とコマンド記載部９１０とで構成されている。尚、本図ではＸＭＬによりスクリプトを表現しているが、ＸＭＬに限定されず、シェルスクリプトなどで書かれていても良い。
【００７１】
案件データ識別部９０１は、案件データを識別するための案件ＩＤが記載されており、＜ｓｅｔｕｐＩｄ＞タグで構成されている。案件ＩＤは、案件作成プログラム５００によって案件データが生成される際に、案件データに対して付与される識別子で、全ての案件データに対してユニークな値である。本例では分かり易く説明するためＭ００１といった４桁の文字列で記載しているが、例えばＧＵＩＤ（グローバル一意識別子）などを用いるのが望ましい。
ＭＦＰ識別部９０２は、ＭＦＰ１０５を識別するためのデバイスＩＤが記載されており、＜ｄｅｖｉｃｅＩｄ＞タグで構成されている。
【００７２】
コマンド記載部９１０は、設置するために必要なコマンド群が記載される。コマンド記載部９１０は、ファームウエア更新コマンド部９０３を含む。さらに、コマンド記載部９１０は、拡張プログラムインストールコマンド部９０４、拡張プログラム開始コマンド部９０５、オプションアクティベートコマンド部９０６を含む。さらにコマンド記載部９１０は、デバイス設定情報インポートコマンド部９０７、再起動コマンド部９０８、Ｗｅｂサービス公開コマンド部９０９で構成されている。各コマンドを示すタグの中にはｏｒｄｅｒ属性が含まれており、本図ではｏｒｄｅｒの値に応じて処理の順番が決定する。
【００７３】
ファームウエア更新コマンド部９０３は、ファームウエア更新サービス４０３を介してファームウエアを更新するコマンドである。ファームウエア更新コマンド部９０３は、＜ｕｐｄａｔｅＦｉｒｍｗａｒｅＣｏｍｍａｎｄ＞タグを記載することでコマンドを定義し、＜ｐａｔｈ＞タグと＜ｆｉｒｍｗａｒｅＮａｍｅ＞タグにより使用するファイルを指定している。なお、以下の説明において、９０３〜９０９を簡略して単にコマンド部として説明する場合がある。
【００７４】
＜ｐａｔｈ＞タグは、更新したいファームウエアの取得先のパスが記載されている。＜ｐａｔｈ＞タグは、ｐｒｉｏｒｉｔｙ属性とｓｅｔＣｏｎｄｉｔｉｏｎ属性を有する。ｐｒｉｏｒｉｔｙ属性は、複数の＜ｐａｔｈ＞タグがあった場合にどの＜ｐａｔｈ＞タグに記載のパスからファームウエアを取得すればよいかを表す優先順位である。複数の＜ｐａｔｈ＞タグがあった場合の例については後述する。ｓｅｔＣｏｎｄｉｔｉｏｎ属性は、自動設置プログラム４５０が設置用スクリプト９００を実行中に一時的に記憶しておく値が記載されている。
【００７５】
つまり、＜ｐａｔｈ＞タグに記載の"ｈｔｔｐｓ://ｓｏｆｔｗａｒｅＭａｎａｇｅｍｅｎｔＳｅｒｖｅｒ/ｘｘｘｘ…"からファームウエアを取得した場合、自動設置プグラム４５０は、ｓｅｔＣｏｎｄｉｔｉｏｎ属性の値であるｆａｌｓｅを一時的に記憶する。尚、後述するが、このｓｅｔＣｏｎｄｉｔｉｏｎ属性の値によって、ＭＦＰ１０５がＷｅｂサービスを公開するかを決定する。＜ｆｉｒｍｗａｒｅＮａｍｅ＞タグは、更新したいファームウエアが指定されている。本図においてはＺｉｐ形式でアーカイブされたファームウエアが指定されている。
【００７６】
拡張プログラムインストールコマンド部９０４は、拡張プログラムをインストールするコマンドである。拡張プログラムインストールコマンド部９０４は、＜ｉｎｓｔａｌｌＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載によりコマンドを定義しており、＜ｐａｔｈ＞タグ、及び＜ａｐｐＮａｍｅ＞タグによりインストールする拡張プログラムを指定している。＜ｐａｔｈ＞タグは、ソフトウエア管理サーバ１０８のインストール対象の拡張プログラムの実体までのパスが記載されている。
【００７７】
＜ａｐｐＮａｍｅ＞タグは、インストール対象の拡張プログラムの実体が指定されている。本図においてはＪａｒファイル形式の拡張プログラムが指定されている。尚、本拡張プログラムの形式はＪａｒファイル形式に限定されない。またインストール対象の拡張プログラムに対するライセンスを＜ｌｉｃｅｎｓｅＰａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグにより指定している。＜ｌｉｃｅｎｓｅＰａｔｈ＞タグは、ソフトウエア管理サーバ１０８の拡張プログラムのライセンスファイルまでのパスが記載されている。＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグは、拡張プログラムのライセンスの実体が指定されている。本図においては．ｌｉｃファイル形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。
【００７８】
拡張プログラム開始コマンド部９０５は、拡張プログラムを開始するコマンドである。拡張プログラム開始コマンド部９０５は、＜ｓｔａｒｔＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ＞タグの記載によりコマンドを定義しており、＜ａｐｐＩｄ＞タグにより開始対象の拡張プログラムを指定している。＜ａｐｐＩｄ＞タグは、開始対象の拡張プログラムを唯一に識別するＩＤが指定されている。
【００７９】
オプションアクティベートコマンド部９０６は、オプション有効化サービス４０４を介して、オプション機能を有効化するコマンドである。オプションアクティベートコマンド部９０６は、＜ａｃｔｉｖａｔｅＯｐｔｉｏｎＣｏｍｍａｎｄ＞タグの記載によりコマンドを定義している。また、オプションアクティベートコマンド部９０６は、＜ｐａｔｈ＞タグ、及び＜ｌｉｃｅｎｓｅＦｉｌｅＮａｍｅ＞タグによりアクティベートするオプションのライセンスファイルを指定している。
【００８０】
＜ｐａｔｈ＞タグは、ソフトウエア管理サーバ１０８からアクティベートするオプションのライセンスファイルまでのパスが記載されている。本図においてはｌｉｃ形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。尚、ＭＦＰ１０５に予め組み込まれているオプション機能が無い場合、また有効化しない場合には、本処理の記載は不要である。
【００８１】
デバイス設定情報インポートコマンド部９０７は、設定管理サービス４０５を介して、デバイスの設定情報をインポートするコマンドである。デバイス設定情報インポートコマンド部９０７は、＜ｉｍｐｏｒｔＤｅｖｉｃｅＣｏｎｆｉｇＣｏｍｍａｎｄ＞タグの記載によりコマンドを定義している。また、デバイス設定情報インポートコマンド部９０７は、＜ｐａｔｈ＞タグ、及び＜ｃｏｍｆｉｌｅＮａｍｅ＞タグ、＜ｅｘＦｉｌｅＮａｍｅ＞タグによりインポートするデバイス設定情報ファイルを指定している。＜ｐａｔｈ＞タグは、案件管理サーバ１０７のインポート対象のデバイス設定情報ファイルまでのパスが記載されている。
【００８２】
＜ｃｏｍｆｉｌｅＮａｍｅ＞タグは、インポート対象のデバイス設定情報における共通データのファイルが指定されている。本図においてはＺｉｐ形式にアーカイブされた共通データのファイルが指定されている。尚、本デバイス設定情報ファイルの形式はＺｉｐファイル形式に限定されない。＜ｅｘＦｉｌｅＮａｍｅ＞タグは、インポート対象のデバイス設定情報における個別データのファイルが指定されている。
【００８３】
再起動コマンド部９０８は＜ｒｅｂｏｏｔＣｏｍｍａｎｄ＞タグのみで構成されており、一通りの設置処理が終了した後、ＭＦＰ１０５を再起動させて、デバイス設定情報やアプリケーション設定情報の設定をＭＦＰに反映するための処理である。
Ｗｅｂサービス公開コマンド部９０９は、ファームウエアを提供するためのＷｅｂサービスの公開コマンドである。Ｗｅｂサービス公開コマンド部９０９は、＜ｏｐｅｎＦｉｒｍｗａｒｅＷｅｂＳｅｒｖｉｃｅ＞タグの記載によりコマンドを定義している。＜ｉｆＣｏｎｄｉｔｉｏｎ＞タグは、Ｗｅｂサービスを公開するコマンドを実行する条件を表している。例えば、本例であるとファームウエア更新コマンド部９０３で記憶したｓｅｔＣｏｎｄｉｔｉｏｎ属性の値が、＜ｉｆＣｏｎｄｉｔｉｏｎ＞タグの値であるｔｒｕｅと一致した場合に、Ｗｅｂサービスの公開コマンドを実行することを表している。つまり、設置用スクリプト９００の場合は一致しないため、Ｗｅｂサービスの公開コマンドを実行しない。
尚、本図で示す設置用のスクリプトの記述は、ＭＦＰ１０５の設置に必要な処理を限定するものではなく、必要に応じて処理の重複、増減があっても良い。
【００８４】
＜自動設置処理＞
図１０は、図１に示したＭＦＰ１０５の操作部２０８に表示するＵＩ画面を示す図である。本ＵＩは、設置担当者７２１がＳ７０２の作業を行う際に操作する。
図１０の（Ａ）は、ＭＦＰ１０５のネイティブプログラム４０１のＵＩの一例である。
【００８５】
ＵＩ１０００は、ボタン１００１を有する。ボタン１００１は、自動設置プログラム４５０を起動するためのボタンである。ボタン１００１が押下されたことを検知すると、ネイティブプログラム４０１は、自動設置プログラム４５０を起動する。尚、本実施形態では分かり易く説明するため、ボタン１００１のみを表示しているがその限りではない。
【００８６】
つまり、ネイティブプログラム４０１が実行するプリントやＦＡＸなどの設定をするＵＩを表示するためのボタンや、他の拡張プログラム４０７を起動するためのボタンを表示してもよい。
【００８７】
図１０の（Ｂ）は、自動設置プログラム４５０のＵＩの一例である。本ＵＩは、ＵＩ１０００のボタン１００１を押下された際に表示するＵＩである。ＵＩ１０５０は、ボタン１０５１、ボタン１０５２を有する。尚、本ＵＩは、特にデバイスＩＤが"Ｎ００１"であるＭＦＰ１０５の自動設置プログラム４５０が表示するＵＩである。つまり、Ｓ７０２において設置担当者７２１が最初に設置するＭＦＰ１０５である。
【００８８】
ボタン１０５１は、自動設置作業を実行するためのボタンである。ボタン１０５１が押下されたことを検知すると自動設置プログラム４５０は、自動設置作業を開始する。自動設置作業の処理については図１１を用いて説明する。
ボタン１０５２は、自動設置プログラム４５０を終了するためのボタンである。
【００８９】
図１１は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、自動設置作業におけるＭＦＰ１０５の自動設置プログラム４５０、および、案件管理サーバ１０７の案件管理サーバプログラム５５０の処理例である。なお、Ｓ１１０１からＳ１１１０までは、ＭＦＰ１０５の自動設置プログラム４５０の処理である。また、Ｓ１１０１からＳ１１１０は、ＣＰＵ２０１が自動設置プログラム４５０を実行することで実現される。
Ｓ１１０１で、自動設置プログラム４５０の通信部４５５は、案件管理サーバ１０７から自機のデバイスＩＤに対応する設置用スクリプトを取得して、Ｓ１１０２に遷移する。より具体的には自動設置プログラム４５０の通信部４５５が、案件管理サーバプログラム５５０の通信部５５６に対してＨＴＴＰのＧＥＴコマンドによるリクエストを行う。リクエストにはＭＦＰ１０５のデバイスＩＤを含む。このＧＥＴコマンドのレスポンスに設置用スクリプトが含まれる。
【００９０】
Ｓ１１０２で、自動設置プログラム４５０の通信部４５５は、案件管理サーバ１０７の案件管理サーバプログラム５５０からレスポンスがあったかを監視する。レスポンスがあったと自動設置プログラム４５０が判断した場合は、Ｓ１１０３に遷移し、レスポンスがないと判断した場合は、応答監視を続ける。
Ｓ１１０３で、自動設置プログラム４５０のスクリプト解析部４５３は、案件管理サーバプログラム５５０から取得した設置用スクリプトを読み込み、Ｓ１１０４に遷移する。
【００９１】
Ｓ１１０４で、自動設置プログラム４５０のスクリプト解析部４５３は設置用スクリプトを解析して次に処理すべきコマンドを取得し、Ｓ１１０５に遷移する。設置用スクリプト９００を例にとると、自動設置プログラム４５０のスクリプト解析部４５３はコマンド記載部９１０に記載されたファームウエア更新コマンド部９０３からＷｅｂサービス公開コマンド部９０９の各コマンド部をｏｒｄｅｒの順に取得する。つまり最初に取得するのはファームウエア更新コマンド部９０３である。
【００９２】
Ｓ１１０５で、自動設置プログラム４５０の処理実行部４５２は、コマンドに記載された処理を実行してＳ１１０６に遷移する。本件の特徴であるファームウエア更新コマンドの処理、および、Ｗｅｂサービス公開コマンドの処理については図１３を用いて後述する。
【００９３】
Ｓ１１０６で、自動設置プログラム４５０の処理実行部４５２は、Ｓ１１０５で実行したコマンドが成功したかを判断する。成功したと処理実行部４５２が判断した場合はＳ１１０７に遷移する。エラーになったと処理実行部４５２が判断した場合はＳ１１０８に遷移する。
【００９４】
Ｓ１１０７で、自動設置プログラム４５０のスクリプト解析部４５３は、次のコマンドがあるかを判断する。次のコマンドがあるとスクリプト解析部４５３が判断した場合は、Ｓ１１０４に遷移する。次のコマンドがないとスクリプト解析部４５３が判断した場合は、Ｓ１１０９に遷移する。
Ｓ１１０８で、自動設置プログラム４５０のＵＩ制御部４５１は、コマンドの実行でエラーがあった旨を伝えるＵＩを表示して、Ｓ１１０９に遷移する。
【００９５】
Ｓ１１０９で、自動設置プログラム４５０の通信部４５５は、設置の結果情報を案件管理サーバ１０７に送信して、Ｓ１１１０に遷移する。より具体的には自動設置プログラム４５０の通信部４５５が、案件管理サーバプログラム５５０の通信部５５６に対してＨＴＴＰのＰＵＴコマンド、または、ＰＯＳＴコマンドによるリクエストを行なう。このリクエストに設置の結果情報を含む。
【００９６】
Ｓ１１１０で、自動設置プログラム４５０の通信部４５５は、案件管理サーバ１０７の案件管理サーバプログラム５５０からレスポンスがあったかを監視する。レスポンスがあったと通信部４５５が判断した場合は、終了する。一方、レスポンスがないと通信部４５５が判断した場合は、案件管理サーバプログラム５５０からレスポンスの監視を続ける。以上が、自動設置処理における自動設置プログラム４５０の処理である。
【００９７】
Ｓ１１５１からＳ１１５７は、Ｓ１１０１の処理で自動設置プログラム４５０から送信されたスクリプト取得要求を受信してからレスポンスを返すまでの、案件管理サーバ１０７の案件管理サーバプログラム５５０の処理である。
【００９８】
Ｓ１１５１で、案件管理サーバプログラム５５０の通信部５５６は、スクリプトの取得要求を受信したかを監視する。スクリプトの取得要求を受信したと通信部５５６が判断した場合は、Ｓ１１５２に遷移する。スクリプトの取得要求を受信していないと通信部５５６が判断した場合は監視を続ける。
【００９９】
Ｓ１１５２で、案件管理サーバプログラム５５０のＷｅｂサービス公開データ管理部５５５は、Ｗｅｂサービス公開データ管理テーブル６９０からＷｅｂサービス公開データを取得してＳ１１５３に遷移する。
具体的には、Ｓ１１５１で受信したスクリプトの取得要求に含まれるデバイスＩＤから特定される案件ＩＤ、および、機種で絞ったＷｅｂサービス公開データを取得する。例えば、案件ＩＤがＭ００１で、機種名が機種１であった場合、Ｗｅｂサービス公開データ管理テーブル６９０の最初のレコードと、２つめのレコードの情報を取得する。
【０１００】
Ｓ１１５３で、案件管理サーバプログラム５５０の制御部５５１は、Ｓ１１５２で取得したＷｅｂサービス公開データからＷｅｂサービスを公開しているＭＦＰ１０５があるかを判断する。Ｗｅｂサービスを公開しているＭＦＰ１０５があると判断した場合は、Ｓ１１５４に遷移する。Ｗｅｂサービスを公開しているＭＦＰ１０５がないと判断した場合は、Ｓ１１５７に遷移する。
【０１０１】
Ｓ１１５４で、案件管理サーバプログラム５５０のスクリプト編集部５５２は、設置用スクリプトにＳ１１５２で取得したＷｅｂサービス公開データに含まれるＷｅｂサービスのＵＲＬを追加して、Ｓ１１５５に遷移する。
より具体的には、設置用スクリプト９００のファームウエア更新コマンド部９０３に＜ｐａｔｈ＞タグを追加する。追加した＜ｐａｔｈ＞タグの値は、Ｗｅｂサービス公開データに含まれるＷｅｂサービスのＵＲＬである。
この際、追加した＜ｐａｔｈ＞タグのｐｒｉｏｒｉｔｙ属性の値は、１から順にインクリメントして追加する。また、追加した＜ｐａｔｈ＞タグのｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｆａｌｓｅを設定する。
そして、最後にソフトウエア管理サーバ１０８のＵＲＬを記載している＜ｐａｔｈ＞タグのｐｒｉｏｒｉｔｙ属性の値の優先順位を最も低くする。また、ソフトウエア管理サーバ１０８のＵＲＬを記載している＜ｐａｔｈ＞タグのｓｅｔＣｏｎｄｉｔｉｏｎの値をｔｒｕｅにする。編集した設置用スクリプトについては図１２を用いて後述する。
【０１０２】
Ｓ１１５５で、案件管理サーバプログラム５５０の通信部５５６は、設置用スクリプトをＭＦＰ１０５の自動設置プログラム４５０に送信してＳ１１５６に遷移する。Ｓ１１５３の判断によりＳ１１５４に遷移した場合の編集した設置用スクリプトは、図１２を用いて後述する。
Ｓ１１５６で、案件管理サーバプログラム５５０の作業状況データ管理部５５４は、作業状況データ管理テーブル６７０の作業状況を作業中に更新して、本処理を終了する。
【０１０３】
一方、Ｓ１１５７で、案件管理サーバプログラム５５０のスクリプト編集部５５２は、ソフトウエア管理サーバ１０８のＵＲＬを記載している＜ｐａｔｈ＞タグのｓｅｔＣｏｎｄｉｔｉｏｎの値をｔｒｕｅに更新して、Ｓ１１５５に遷移する。
【０１０４】
ここで、図１２を用いてＳ１１５４の処理で編集された設置用スクリプト１２００の内容を説明する。
尚、本例は、Ｗｅｂサービス公開データ管理テーブル６９０が図６で説明した状態であったときの例である。また、Ｓ１１５４の処理では、設置用スクリプト９００のファームウエア更新コマンド部９０３を編集したのみであり、その他は変更がないため、以下、ファームウエア更新コマンド部１２０１を説明する。
【０１０５】
図１２において、ファームウエア更新コマンド部１２０１は、Ｓ１１５４の処理により、ファームウエア更新コマンド部１２０１に対して＜ｐａｔｈ＞タグを追加している。ファームウエア更新コマンド部１２０１は、＜ｐａｔｈ＞タグ１２０２、＜ｐａｔｈ＞タグ１２０３、＜ｐａｔｈ＞タグ１２０４から成る。
【０１０６】
＜ｐａｔｈ＞タグ１２０２は、デバイスＩＤがＮ００１であるＭＦＰ１０５が公開するＷｅｂサービスがファームウエア取得先であることを示している。これは、Ｗｅｂサービス公開データ管理テーブル６９０の最初のレコードに格納されているＷｅｂサービス公開データが用いられている。また、＜ｐａｔｈ＞タグ１２０２のｐｒｉｏｒｉｔｙ属性の値は１となっており、複数ある＜ｐａｔｈ＞タグの中で優先順位が最も高く、最初のファームウエア取得先であることを示している。
【０１０７】
＜ｐａｔｈ＞タグ１２０２のｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｆａｌｓｅとなっており、デバイスＩＤがＮ００１であるＭＦＰ１０５からファームウエアが取得できた場合には、後続のＷｅｂサービス公開コマンド部９０９は実行しないことを示している。
【０１０８】
＜ｐａｔｈ＞タグ１２０３は、デバイスＩＤがＮ００３であるＭＦＰ１０５が公開するＷｅｂサービスがファームウエア取得先を示している。これは、Ｗｅｂサービス公開データ管理テーブル６９０の２つ目のレコードに格納されているＷｅｂサービス公開データである。
【０１０９】
また、＜ｐａｔｈ＞タグ１２０３のｐｒｉｏｒｉｔｙ属性の値は２となっており、複数ある＜ｐａｔｈ＞タグの中で優先順位が２番目に高いファームウエア取得先であることを示している。＜ｐａｔｈ＞タグ１２０３のｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｆａｌｓｅとなっており、デバイスＩＤがＮ００３であるＭＦＰ１０５からファームウエアが取得できた場合には、後続のＷｅｂサービス公開コマンド部９０９は実行しないことを示している。
【０１１０】
＜ｐａｔｈ＞タグ１２０３の値は、ファームウエアの取得先がソフトウエア管理サーバ１０８であることを示している。ｐｒｉｏｒｉｔｙ属性の値が３となっている点である。これは３つあるファームウエア取得先の中で最も優先順位が低いことを表している。管理情報に対応づけられるｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｔｒｕｅ（公開）となっており、ソフトウエア管理サーバ１０８からファームウエアが取得できた場合には、後続のＷｅｂサービス公開コマンド部９０９は実行することを示している。以上が、Ｓ１１５４の処理により編集された設置用スクリプトの例の説明である。図１１の説明に戻る。
【０１１１】
Ｓ１１７１からＳ１１７５は、Ｓ１１０９の処理で自動設置プログラム４５０から送信された設置結果を受信してからレスポンスを返すまでの、案件管理サーバ１０７の案件管理サーバプログラム５５０の処理である。
【０１１２】
Ｓ１１７１で、案件管理サーバプログラム５５０の通信部５５６は、第１の情報処理装置として最初にファームウエアをインストールしたＭＦＰ１０１より設置結果を受信したかを監視する。ここで、設置結果を受信したと通信部５５６が判断した場合は、Ｓ１１７２に遷移する。一方、設置結果を受信していないと通信部５５６が判断した場合は、ＭＦＰ１０５からの応答監視を続ける。
【０１１３】
Ｓ１１７２で、案件管理サーバプログラム５５０の制御部５５１は、Ｓ１１７１で受信した設置結果の中にＭＦＰ１０５が公開したＷｅｂサービスのＵＲＬが含まれているかを判断する。ＷｅｂサービスのＵＲＬが含まれていると制御部５５１が判断した場合は、Ｓ１１７３に遷移する。ＷｅｂサービスのＵＲＬが含まれていないと制御部５５１が判断した場合は、Ｓ１１７４に遷移する。尚、ＭＦＰ１０５の自動設置プログラム４５０が設置結果に公開したＷｅｂサービスのＵＲＬを含める処理については、図１３の（Ｂ）を用いて後述する。
【０１１４】
Ｓ１１７３で、案件管理サーバプログラム５５０のＷｅｂサービス公開データ管理部５５５は、設置結果に含まれるＷｅｂサービスのＵＲＬを含むＷｅｂサービス公開データをＷｅｂサービス公開データ管理テーブル６９０に格納し、Ｓ１１７４に遷移する。
Ｓ１１７４で、作業状況データ管理部５５４は、作業状況データ管理テーブル６７０に設置結果を格納し、Ｓ１１７５に遷移する。
Ｓ１１７５で、案件管理サーバプログラム５５０の通信部５５６は、ＭＦＰ１０５の自動設置プログラム４５０に、設置結果の格納が完了したことを送信して終了する。
【０１１５】
図１３は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。特に、図１３の（Ａ）は、自動設置作業におけるＭＦＰ１０５の自動設置プログラム４５０のファームウエア更新コマンドの処理を示したフローチャートである。このファームウエア更新コマンドの処理は、前述したように図１１のフローチャートで説明したＳ１１０５のコマンドを実行する処理である。
【０１１６】
Ｓ１３０１で、自動設置プログラム４５０の処理実行部４５２は、次の優先順位のファームウエア取得先があるかを判断する。ファームウエア取得先があると処理実行部４５２が判断した場合は、Ｓ１３０２に遷移する。ファームウエア取得先がないと処理実行部４５２が判断した場合は、Ｓ１３０６に遷移する。先述したが、優先順位は、ファームウエア更新コマンド部９０３に記載のｐｒｉｏｒｉｔｙ属性の値で判断する。
Ｓ１３０２で、自動設置プログラム４５０の通信部４５５は、Ｓ１３０１で見つけたファームウエア取得先にファームウエアの取得要求を送信して、Ｓ１３０３に遷移する。
【０１１７】
Ｓ１３０３で、自動設置プログラム４５０の処理実行部４５２は、ファームウエアが取得できたかを判断する。ファームウエアが取得できたと判断した場合はＳ１３０４に遷移する。ファームウエアが取得できなかったと処理実行部４５２が判断した場合はＳ１３０１に遷移する。本実施形態では、優先順位をつけて複数のファームウエア取得先から取得することで、顧客先のＶＬＡＮ（Ｖｉｒｔｕａｌ Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）等のネットワーク構成によってＭＦＰ１０５同士が通信できない場合にも最終的にはファームウエアを取得できるように構成されている。
【０１１８】
尚、本例ではＳ１３０２で、ファームウエア取得要求を実際にファームウエア取得先に送信した後に、Ｓ１３０３でファームウエアを取得できたかを判断しているが、これに限らない。例えば、ファームウエア取得先となっているＭＦＰ１０５と、自動設置処理中のＭＦＰ１０５のＩＰアドレスの体系が異なるなど、明らかに通信できないことがわかる場合には、ファームウエア取得要求を送信せずに、取得できないと判断するようにしてもよい。
Ｓ１３０４で、自動設置プログラム４５０の処理実行部４５２は、取得したファームウエアをファームウエア更新サービス４０３に渡し、ファームウエアを更新し、Ｓ１３０５に遷移する。Ｓ１３０５で、自動設置プログラム４５０の処理実行部４５２は、取得したファームウエアの取得先のｓｅｔＣｏｎｄｉｔｉｏｎ属性の値を一時的に記憶して終了する。Ｓ１３０６で、自動設置プログラム４５０の処理実行部４５２は、設置結果をエラーとして終了する。
【０１１９】
図１３の（Ｂ）は、自動設置作業におけるＭＦＰ１０５の自動設置プログラム４５０のＷｅｂサービス公開コマンドの処理例である。このＷｅｂサービス公開コマンドの処理は、前述したように図１１のフローチャートで説明したＳ１１０５のコマンドを実行する処理である。
【０１２０】
Ｓ１３５１で、自動設置プログラム４５０の処理実行部４５２は、Ｗｅｂサービス公開コマンドに含まれる＜ｉｆＣｏｎｄｉｔｉｏｎ＞タグの値と、Ｓ１３０５で一時的に記憶したｓｅｔＣｏｎｄｉｔｉｏｎ属性の値が一致したかを判断する。値が一致していると処理実行部４５２が判断した場合はＳ１３５２に遷移する。値が一致していないと処理実行部４５２が判断した場合は、Ｓ１３５４に遷移して、ファームウエアを削除して、処理を終了する。
【０１２１】
Ｓ１３５２で、自動設置プログラム４５０のＷｅｂサービス管理部４５４は、ファームウエアを提供するためのＷｅｂサービスを公開してＳ１３５３に遷移する。より具体的には、他のＭＦＰ１０５からのＨＴＴＰのＧＥＴコマンドのリクエストを受け付け、レスポンスとしてファームウエアを返すＷｅｂサービスを公開する。
Ｓ１３５３で、自動設置プログラム４５０の処理実行部４５２は、設置結果にＳ１３５２で公開したＷｅｂサービスのＵＲＬを追加して、終了する。
次に、Ｗｅｂサービスを公開したＭＦＰ１０５の自動設置プログラム４５０が、Ｗｅｂサービスを非公開にする処理について説明する。
【０１２２】
図１４は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、ＭＦＰ１０５の自動設置プログラム４５０が、Ｗｅｂサービスを非公開にする処理例である。なお、各ステップは、ＣＰＵ２０１が自動設置プログラム４５０を実行することで実現される。
【０１２３】
Ｓ１４０１で、自動設置プログラム４５０の処理実行部４５２は、一定時間が経過したかを監視する。一定時間が経過していると処理実行部４５２が判断した場合は、Ｓ１４０２に遷移する。一定時間経過していないと処理実行部４５２が判断した場合には、監視を続ける。
【０１２４】
Ｓ１４０２で、自動設置プログラム４５０の通信部４５５は、案件管理サーバ１０７、案件管理サーバプログラム５５０から案件の設置結果情報を取得して、Ｓ１４０３に遷移する。尚、案件管理サーバプログラム５５０は、作業状況データ管理テーブル６７０に同一案件のＭＦＰの作業状況が完了となっている場合に、その案件の設置が完了したと判断する。その他は、作業中またはエラーと判断する。
【０１２５】
Ｓ１４０３で、自動設置プログラム４５０の処理実行部４５２は、Ｓ１４０２で取得した案件の設置結果情報が完了であるかを判断する。ここで、完了であると処理実行部４５２が判断した場合は、Ｓ１４０４に遷移する。また、完了していないと処理実行部４５２が判断した場合はＳ１４０１に遷移する。Ｓ１４０４で、自動設置プログラム４５０のＷｅｂサービス管理部４５４は公開していたＷｅｂサービスを非公開にしてＳ１４０５に遷移する。
【０１２６】
Ｓ１４０５で、自動設置プログラム４５０の処理実行部４５２はファームウエアを削除して、Ｓ１４０６に遷移する。Ｓ１４０６で、自動設置プログラム４５０の通信部４５５は、案件管理サーバ１０７にＷｅｂサービスを非公開にしたことを通知して終了する。通知を受信した案件管理サーバ１０７の案件管理サーバプログラム５５０は、データ格納部５５７に格納されているＷｅｂサービスの情報を非公開に更新する。
より具体的には、案件管理サーバプログラム５５０のＷｅｂサービス公開データ管理部５５５は、通知のあったＭＦＰ１０５のデバイスＩＤを基に、Ｗｅｂサービス公開データ管理テーブル６９０のレコードを削除する。
【０１２７】
このように案件の設置が完了したのを確認してからＷｅｂサービスを非公開にすることで、ファームウエアが無駄に残ったままになったり、案件の設置が完了する前にＷｅｂサービスを非公開にしてしまったりすることがなくなる。尚、案件の設置が完了したことの確認の方法はこれに限らない。例えば、ＭＦＰ１０５同士が通信できる場合は、その案件の最後に設置が完了したＭＦＰ１０５が、Ｗｅｂサービスを公開しているＭＦＰ１０５に対して、案件の設置が完了したことを通知するように構成してもよい。
【０１２８】
以上、本実施形態によれば、同一案件、同一機種において自動設置処理を行う１台目のＭＦＰ１０５がファームウエアを提供可能なＷｅｂサービスを公開することで、顧客先のプロキシサーバ等への負荷を軽減できる。つまり、第１の情報処理装置がファームウエアをインストールし終えた後、当該情報処理装置が公開したファームウエアの取得先（第２の取得先）を第２の情報処理装置が取得するスクリプトに設定できる。これによって、他の情報処理装置は、既にファームウエアがインストールされた情報処理装置が公開する第２の取得先からファームウエアを取得してインストールすることができる。
【０１２９】
また、本実施形態では、顧客先のネットワーク構成によって、Ｗｅｂサービスを公開しているＭＦＰ１０５と自動設置処理中のＭＦＰ１０５が通信できない場合には、自動設置処理中のＭＦＰ１０５もＷｅｂサービスを公開する。これにより、顧客先のネットワーク環境にあった形でＭＦＰ１０５がＷｅｂサービスを公開することができる。
本実施形態によれば、顧客先での設置作業のようなソフトウエア管理サーバといった仲介装置を別途配置するのが難しいような場合においても、顧客先のプロキシサーバ等への負荷を軽減できる。
【０１３０】
〔第２実施形態〕
第１実施形態においては、自動設置処理を行う１台目のＭＦＰ１０５が他のＭＦＰ１０５にファームウエアを提供するＷｅｂサービスを公開した。そして、顧客先のネットワーク構成によってＷｅｂサービスを公開しているＭＦＰ１０５と通信できなかったＭＦＰ１０５もＷｅｂサービスを公開した。一般的に、ＭＦＰなどの画像形成装置は、サーバといった情報処理装置に比べて、搭載されているメモリ等が少ない。
そのため、ＭＦＰなどの画像形成装置はＷｅｂサービスの同時接続可能数などが少ない場合がある。また、図７のＳ７０２で説明したように、設置を行う場合、設置担当者７２１はＭＦＰ１０５の配置、設置作業があり、さらに次のＭＦＰ１０５の設置を行うための移動を伴う。そのため、同一の設置担当者７２１の設置作業によって、Ｗｅｂサービスを公開しているＭＦＰ１０５に対して他のＭＦＰ１０５から複数の接続が行われることはほとんどない。
【０１３１】
しかし、複数の設置担当者７２１がいた場合は、Ｗｅｂサービスを公開しているＭＦＰ１０５に対して複数の接続がされることもある。そのため、あるＭＦＰ１０５からはＷｅｂサービスを公開しているＭＦＰ１０５との接続がエラーとなってしまうことが考えられる。
そこで、本実施形態においては、複数の設置担当者７２１が設置を行う場合に、その設置担当者の数と同じ数のＭＦＰ１０５が、他のＭＦＰ１０５にファームウエアを提供するＷｅｂサービスを公開する例について記載する。システム構成、ハードウエア構成は、第１実施形態と同じであるため説明を省略する。また、ソフトウエア構成が第１実施形態と異なるのは、案件管理サーバプログラムのみであるため、その他は説明を省略する。
【０１３２】
＜案件管理サーバプログラムのソフトウエア構成＞
図１５は、本実施形態を示すサーバ装置のソフトウエア構成を説明するブロック図である。本例は、案件管理サーバ１０７で動作する、案件管理サーバプログラム１５００、および、データ格納部１５０２の機能構成の例である。案件管理サーバプログラム１５００について、案件管理サーバプログラム５５０と異なる点のみ説明する。
【０１３３】
図１５において、ユーザ管理部１５０１は、案件管理サーバプログラム１５００にアクセスするユーザ（設置担当者）の認証を行う。具体的には、制御部５５１から渡されたユーザＩＤ、パスワードが後述するデータ格納部１５０２に格納されているユーザＩＤとパスワードが一致するかを検証する。また、ユーザ管理部１５０１は、新規にユーザが登録、削除されたり、パスワードの変更が行われたりした際に、データ格納部１５０２にユーザデータの格納、削除、更新を行う。
データ格納部１５０２は、データ格納部５５７に加えて、ユーザデータ管理テーブル１６００を管理する。
【０１３４】
＜データ格納部で管理されるテーブル群＞
図１６は、図１５に示したデータ格納部１５０２で管理するテーブルの例を示す図である。以下、第１実施形態に示したデータ格納部５５７と異なるテーブルに関して説明する。
【０１３５】
図１６の（Ａ）は、ユーザデータ管理テーブル１６００を表している。ユーザデータ管理テーブル１６００は、案件管理サーバプログラム１５００にアクセスが許可されているユーザデータを格納しているテーブルであり、１レコードが１つのユーザデータを表している。カラム１６０１は、ユーザＩＤを表している。ユーザＩＤは案件管理サーバプログラム１５００でユーザを一意に識別するための識別子である。カラム１６０２はユーザのパスワードである。
【０１３６】
尚、パスワードはハッシュ関数を通した文字列を保存するなどが望ましい。カラム１６０３はユーザの電子メールアドレスである。尚、図１６の（Ａ）のテーブル構成は一例であり、本例とは異なるテーブル構成であってもよい。例えば、管理者権限や一般者権限であるのかなどの権限情報を含むような構成でも良い。
【０１３７】
図１６の（Ｂ）は、Ｗｅｂサービス公開データ管理テーブル１６５０の内容である。Ｗｅｂサービス公開データ管理テーブル６９０と異なる点のみ説明する。
図１６の（Ｂ）において、カラム１６５１は、ユーザＩＤを示している。このユーザＩＤは、案件管理サーバプログラム１５００にアクセスが許可されているユーザ（設置担当者）のユーザＩＤである。つまり、ユーザデータ管理テーブル１６００で管理されているユーザＩＤである。
【０１３８】
＜自動設置処理＞
図１７は、本実施形態を示すＭＦＰ１０５の自動設置プログラム４５０のＵＩの一例を示す図である。本ＵＩは、設置担当者７２１がＳ７０２の作業を行う際に操作する。
図１７において、ＵＩ１７００は、ＵＩ１０００のボタン１００１を押下された際に表示するＵＩである。テキストボックス１７０１は、ユーザＩＤを入力するためのテキストボックスである。テキストボックス１７０２は、ユーザのパスワードを入力するためのボタンである。
【０１３９】
ボタン１７０３は、自動設置作業を実行するためのボタンである。ボタン１７０３が押下されたことを検知すると自動設置プログラム４５０は、自動設置作業を開始する。より具体的には、自動設置プログラム４５０は、テキストボックス１７０１と１７０２で入力されているユーザＩＤとパスワードをスクリプト取得要求に含める。
【０１４０】
そして、図１１のＳ１１０１で説明したように案件管理サーバ１０７の案件管理サーバプログラム５５０にスクリプト取得要求を送信する。ＭＦＰ１０５の自動設置プログラム４５０の、以降の自動設置作業の処理は図１１のＳ１１０２からＳ１１１０と同じである。ボタン１７０４は、自動設置プログラム４５０を終了するためのボタンである。
【０１４１】
図１８は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、自動設置プログラム４５０から送信されたスクリプト取得要求を受信してからレスポンスを返すまでの、案件管理サーバ１０７の案件管理サーバプログラム１５００の処理である。
【０１４２】
Ｓ１７５１で、案件管理サーバプログラム１５００の通信部５５６は、スクリプトの取得要求を受信したかを監視する。スクリプトの取得要求を受信した場合は、Ｓ１７５２に遷移する。スクリプトの取得要求を受信していない場合は監視を続ける。
【０１４３】
Ｓ１７５２で、案件管理サーバプログラム１５００のユーザ管理部１５０１は、ユーザ（設置担当者）の認証を行う。具体的には、案件管理サーバプログラム１５００のユーザ管理部１５０１は、スクリプトの取得要求に含まれるユーザＩＤとパスワードがユーザデータ管理テーブル１６００に格納されているユーザＩＤとパスワードが一致するかを確認する。一致しているとユーザ管理部１５０１が判断した場合は、認証を成功とし、Ｓ１７５３に遷移する。一致していないとユーザ管理部１５０１が判断した場合は、認証を失敗とし、Ｓ１７６２に遷移する。
【０１４４】
Ｓ１７５３で、案件管理サーバプログラム１５００のＷｅｂサービス公開データ管理部５５５は、認証したユーザと紐づいたＷｅｂサービスを公開しているＭＦＰがあるかを判断する。具体的には、スクリプト取得要求に含まれる、デバイスＩＤから特定される案件ＩＤ、機種と、ユーザＩＤが、それぞれＷｅｂサービス公開データ管理テーブル１６５０のカラム６９１、カラム６９３、カラム１６５１のフィールドと一致するかで判断する。ここで、認証したユーザと紐づいたＷｅｂサービスを公開しているＭＦＰがあるとＷｅｂサービス公開データ管理部５５５が判断した場合は、Ｓ１７５４に遷移する。一方、認証したユーザと紐づいたＷｅｂサービスを公開しているＭＦＰがないとＷｅｂサービス公開データ管理部５５５が判断した場合は、Ｓ１７５５に遷移する。
【０１４５】
Ｓ１７５４で、案件管理サーバプログラム１５００の制御部５５１は、設置用スクリプトを編集する際に設定するｓｅｔＣｏｎｄｉｔｏｎの値をｆａｌｓｅ（非公開）として一時的に記憶してＳ１７５６に遷移する。
【０１４６】
Ｓ１７５５で、案件管理サーバプログラム１５００の制御部５５１は、設置用スクリプトを編集する際に設定するｓｅｔＣｏｎｄｉｔｏｎの値をｔｒｕｅとして一時的に記憶してＳ１７５６に遷移する。
【０１４７】
Ｓ１７５６で、案件管理サーバプログラム１５００のＷｅｂサービス公開データ管理部５５５は、Ｗｅｂサービス公開データ管理テーブル１６５０からＷｅｂサービス公開データを取得してＳ１７５７に遷移する。具体的には、Ｓ１７５１で受信したスクリプトの取得要求に含まれるデバイスＩＤから特定される案件ＩＤ、および、機種で絞ったＷｅｂサービス公開データを取得する。
【０１４８】
Ｓ１７５７で、案件管理サーバプログラム１５００の制御部５５１は、Ｓ１７５６で取得したＷｅｂサービス公開データからＷｅｂサービスを公開しているＭＦＰがあるかを判断する。Ｗｅｂサービスを公開しているＭＦＰがあると制御部５５１が判断した場合は、Ｓ１７５８に遷移する。Ｗｅｂサービスを公開しているＭＦＰがないと制御部５５１が判断した場合は、Ｓ１７６３に遷移する。
【０１４９】
Ｓ１７５８で、案件管理サーバプログラム１５００のスクリプト編集部５５２は、設置用スクリプトにＳ１７５６で取得したＷｅｂサービス公開データに含まれるＷｅｂサービスのＵＲＬを追加してＳ１７５９に遷移する。より具体的には、設置用スクリプト９００のファームウエア更新コマンド部９０３に＜ｐａｔｈ＞タグを追加する。追加した＜ｐａｔｈ＞タグの値は、Ｗｅｂサービス公開データに含まれるＷｅｂサービスのＵＲＬである。
【０１５０】
Ｓ１７５９で、案件管理サーバプログラム１５００のスクリプト編集部５５２は、Ｓ１７５８で追加した＜ｐａｔｈ＞タグにｓｅｔＣｏｎｄｉｔｉｏｎを設定してＳ１７６０に遷移する。Ｓ１７５９で設定する値は、Ｓ１７５４、または、Ｓ１７５５で一時的に記憶した値である。このようにｓｅｔＣｏｎｄｉｔｉｏｎを設定することで、ＭＦＰ１０５の自動設置プログラム４５０は、認証したユーザに紐づいたＷｅｂサービスを公開しているＭＦＰがいない場合にのみＷｅｂサービスを公開することになる。
Ｓ１７６０で、案件管理サーバプログラム１５００の通信部５５６は、設置用スクリプトをＭＦＰ１０５の自動設置プログラム４５０に送信してＳ１７６１に遷移する。
【０１５１】
Ｓ１７６１で、案件管理サーバプログラム１５００の作業状況データ管理部５５４は、作業状況データ管理テーブル６７０の作業状況を作業中に更新して終了する。
一方、Ｓ１７６２では、案件管理サーバプログラム１５００の通信部５５６は、認証エラーの情報を、ＭＦＰ１０５の自動設置プログラム４５０に送信して終了する。
さらに、Ｓ１７６３では、案件管理サーバプログラム１５００のスクリプト編集部５５２は、ソフトウエア管理サーバ１０８のＵＲＬを記載している＜ｐａｔｈ＞タグのｓｅｔＣｏｎｄｉｔｉｏｎの値をｔｒｕｅにして、Ｓ１７６０に遷移する。
【０１５２】
図１９は、図１５に示した案件管理サーバプログラム１５００で編集される設置用スクリプト１８００の内容の一例を示す図である。本例は、Ｓ１７５８、Ｓ１７５９の処理で編集された設置用スクリプト１８００の内容を説明する。
尚、本例は、Ｓ１７５３の処理で、認証したユーザと紐づいたＷｅｂサービスを公開しているＭＦＰ１０５がなかったと判断された場合を記載する。また、Ｓ１７５８、Ｓ１７５９の処理では、設置用スクリプト９００のファームウエア更新コマンド部９０３を編集したのみであり、その他は変更がないため、図１９においては、ファームウエア更新コマンド部１８０１のみ説明する。
【０１５３】
ファームウエア更新コマンド部１８０１は、Ｓ１７５８の処理により、ファームウエア更新コマンド部９０１に対して＜ｐａｔｈ＞タグを追加している。ファームウエア更新コマンド部１８０１は、＜ｐａｔｈ＞タグ１８０２、＜ｐａｔｈ＞タグ１８０３、＜ｐａｔｈ＞タグ１８０４から成る。
【０１５４】
＜ｐａｔｈ＞タグ１８０２は、デバイスＩＤがＮ００１であるＭＦＰ１０５が公開するＷｅｂサービスがファームウエア取得先であることを示している。これは、Ｗｅｂサービス公開データ管理テーブル１６５０の最初のレコードに格納されているＷｅｂサービス公開データが用いられている。
【０１５５】
また、＜ｐａｔｈ＞タグ１２０２のｐｒｉｏｒｉｔｙ属性の値は１となっており、複数ある＜ｐａｔｈ＞タグの中で優先順位が最も高く、最初のファームウエア取得先であることを示している。＜ｐａｔｈ＞タグ１２０２のｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｔｒｕｅとなっており、デバイスＩＤがＮ００１であるＭＦＰ１０５からファームウエアが取得できた場合には、後続のＷｅｂサービス公開コマンド部９０９を実行することを示している。
【０１５６】
＜ｐａｔｈ＞タグ１８０３は、デバイスＩＤがＮ００３であるＭＦＰ１０５が公開するＷｅｂサービスがファームウエア取得先であること示している。これは、Ｗｅｂサービス公開データ管理テーブル１６５０の２つ目のレコードに格納されているＷｅｂサービス公開データである。
【０１５７】
また、＜ｐａｔｈ＞タグ１８０３のｐｒｉｏｒｉｔｙ属性の値は２となっており、複数ある＜ｐａｔｈ＞タグの中で優先順位が２番目に高いファームウエア取得先であることを示している。＜ｐａｔｈ＞タグ１８０３のｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｔｒｕｅとなっており、デバイスＩＤがＮ００３であるＭＦＰ１０５からファームウエアが取得できた場合には、後続のＷｅｂサービス公開コマンド部９０９は実行することを示している。
＜ｐａｔｈ＞タグ１８０３の値は、ファームウエアの取得先がソフトウエア管理サーバ１０８であることを示している。ｐｒｉｏｒｉｔｙ属性の値は３である。
【０１５８】
これは３つあるファームウエア取得先の中で最も優先順位が低いことを表している。＜ｐａｔｈ＞タグ１８０４のｓｅｔＣｏｎｄｉｔｉｏｎ属性の値はｔｒｕｅとなっており、ソフトウエア管理サーバ１０８からファームウエアが取得できた場合には、後続のＷｅｂサービス公開コマンド部９０９は実行することを示している。
【０１５９】
以上のように、認証したユーザと紐づいたＷｅｂサービスを公開しているＭＦＰ１０５がなかった場合は、どのファームウエア取得先からファームウエアを取得した場合も、Ｗｅｂサービスを公開することになる。
【０１６０】
以上、本実施形態によれば、設置担当者７２１の数だけＭＦＰ１０５がＷｅｂサービスを公開することで、Ｗｅｂサービスを公開するＭＦＰ１０５と設置作業中のＭＦＰ１０５が同時接続によりエラーとなることを少なくすることができる。
【０１６１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１６２】
１０５  ＭＦＰ
１０６  クライアントコンピュータ
１０７  案件管理サーバ
１０８  ソフトウエア管理サーバ
【図１】
2017021407.tif 000003
【図２】
2017021407.tif 000004
【図３】
2017021407.tif 000005
【図４】
2017021407.tif 000006
【図５】
2017021407.tif 000007
【図６】
2017021407.tif 000008
【図７】
2017021407.tif 000009
【図８】
2017021407.tif 000010
【図９】
2017021407.tif 000011
【図１０】
2017021407.tif 000012
【図１１】
2017021407.tif 000013
【図１２】
2017021407.tif 000014
【図１３】
2017021407.tif 000015
【図１４】
2017021407.tif 000016
【図１５】
2017021407.tif 000017
【図１６】
2017021407.tif 000018
【図１７】
2017021407.tif 000019
【図１８】
2017021407.tif 000020
【図１９】
2017021407.tif 000021