JP2017021407A - 情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム - Google Patents
情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2017021407A JP2017021407A JP2015136040A JP2015136040A JP2017021407A JP 2017021407 A JP2017021407 A JP 2017021407A JP 2015136040 A JP2015136040 A JP 2015136040A JP 2015136040 A JP2015136040 A JP 2015136040A JP 2017021407 A JP2017021407 A JP 2017021407A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- firmware
- script
- management
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 ネットワークに負荷をかけることなく、管理装置からファームウエアを最初に取得した情報処理装置から他の情報処理装置にインストールすべき当該所定のファームウエアを提供する。【解決手段】他の情報処理装置または管理装置と通信する情報処理装置において、管理装置から取得するスクリプトを実行して管理装置が管理する第1の取得先から所定のファームウエアを取得してインストールする。そして、所定のファームウエアがインストールされた際に、当該情報処理装置から管理装置に通知される第2の取得先を他の情報処理装置が取得するスクリプトに設定する。これにより、他の情報処理装置は、インストールすべき所定のファームウエアを、すでに所定のファームウエアがインストールされた情報処理装置から取得する構成を特徴とする。【選択図】 図11
Description
本発明は、情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラムに関するものである。
情報処理装置、例えばMFP(多機能周辺装置)やSFP(単機能プリンタ)などの画像形成装置を新規に導入する際、顧客先での使用環境に応じた設置作業が必要である。画像形成装置の設置作業には多くの時間と手間がかかる。そのため、複数台の画像形成装置に対し、同様の設置作業を行えば良い場合には、予め使用環境として必要なソフトウエアや設定値、検証用のデータなどを用意しておく。そして、画像形成装置が、それらを設置作業の作業指示情報に従って処理していくことで、自動的にかつ効率良く設置作業を行うシステムが提案されている。このようなシステムの中には、インターネット上のサーバに、作業指示情報や使用環境として必要なソフトウエアなどを配置しておき、設置作業時に画像形成装置が取得するものがある。
このような構成のシステムでは、顧客先で顧客先のネットワーク環境を使用して設置作業を行う場合がある。画像形成装置を導入する顧客先は企業であることが多く、企業ではプロキシサーバが利用されることが多い。また、使用環境として必要なソフトウエアにはファームウエアなどの数百メガバイトのものが含まれている。
そのため、このような構成のシステムで、設置対象の画像形成装置が多くなると、顧客先のプロキシサーバ等の負荷が大きくなり、場合によっては顧客先のユーザがインターネットにアクセスしづらい状況になってしまう。プロキシサーバにはキャッシュ機能があるが、TLS(Transport Layer Security)での通信の際にはキャッシュできなかったり、顧客先の環境によってはキャッシュ機能が無効になっていたりする場合もある。プロキシサーバとは別に、インターネット上のサーバと画像形成装置の間のイントラネット内に、仲介装置となるソフトウエア管理サーバを配置するシステムが提案されている(特許文献1参照)。このような構成であると、ソフトウエア管理サーバが多数の機器の代わりにインターネット上のサーバからソフトウエアを取得することができるので、プロキシサーバへの負荷は小さくなる。
しかしながら、顧客先での設置作業は1度しか行わない為、別途ソフトウエア管理サーバを顧客先に配置して利用することは難しい。また、ソフトウエア管理サーバを顧客先で利用できるようにするためには、顧客環境のネットワークにつなげるための初期設定等などが新たに必要となり、作業者による設置作業負担が増大する等の課題があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、ネットワークに負荷をかけることなく、管理装置からファームウエアを最初に取得した情報処理装置から他の情報処理装置にインストールすべき当該所定のファームウエアを提供できる仕組みを提供することである。
上記目的を達成する本発明の情報処理システムは以下に示す構成を備える。
複数の情報処理装置と、管理装置とが通信する情報処理システムであって、第1の情報処理装置は、前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、前記スクリプトに設定された前記管理装置が管理する第1の取得先から所定のファームウエアを取得してインストールする実行手段と、第2の情報処理装置が取得すべき所定のファームウエアの取得先を第2の取得先とすべきことを前記管理装置に通知する通知手段と、を備え、前記管理装置は、所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、前記管理手段は、前記第1の情報処理装置から通知される第2の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第1の取得先から前記第2の取得先に更新し、前記第2の情報処理装置は、前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、前記スクリプトに設定された前記第2の取得先から所定のファームウエアを取得してインストールする実行手段と、を備えることを特徴とする。
複数の情報処理装置と、管理装置とが通信する情報処理システムであって、第1の情報処理装置は、前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、前記スクリプトに設定された前記管理装置が管理する第1の取得先から所定のファームウエアを取得してインストールする実行手段と、第2の情報処理装置が取得すべき所定のファームウエアの取得先を第2の取得先とすべきことを前記管理装置に通知する通知手段と、を備え、前記管理装置は、所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、前記管理手段は、前記第1の情報処理装置から通知される第2の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第1の取得先から前記第2の取得先に更新し、前記第2の情報処理装置は、前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、前記スクリプトに設定された前記第2の取得先から所定のファームウエアを取得してインストールする実行手段と、を備えることを特徴とする。
本発明によれば、ネットワークに負荷をかけることなく、管理装置からファームウエアを最初に取得した情報処理装置から他の情報処理装置にインストールすべき当該所定のファームウエアを提供できる。
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
<システム構成の説明>
〔第1実施形態〕
図1は、本発明の自動設置システムにおける情報処理システム構成の例を示す図である。自動設置システムは、LAN101、および、LAN102があり、図1においてLAN101とLAN102は別のLANであることを示している。LAN101、LAN102に接続された機器はそれぞれプロキシサーバ103、104越しにWANを介してインターネット上のサーバに接続される。またプロキシサーバはファイアウォールの機能も有している。LAN101は、設置を行う顧客環境のLANであり、MFP105が複数台接続される。以下、情報処理装置の一例としてMFP105を適用するシステムについて詳述する。なお、本実施形態では、案件管理サーバ107とソフトウエア管理サーバ108とを独立した構成としているが、1つの管理装置として構成してもよい。
MFP105は、顧客環境に設置を行うMFPである。MFP105は、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等複数の機能を統合した画像形成装置である。尚、MFP105は最初からLAN101に接続されているわけではなく、後述する設置の作業の中でLAN101に接続される。
また、MFP105には、後述する自動設置プログラム450がインストールされている。自動設置プログラム450は、案件管理サーバ107で管理されている作業指示書の一例である設置用スクリプトを案件管理サーバ107から取得し、設置用スクリプトの内容に従って自動での設置作業を実施する。本実施形態ではMFP105の自動設置について記載する。尚、本実施形態では情報処理装置の一例としてMFPを挙げているが、もちろんその他SFPなどでもよい。
また、MFP105には、後述する自動設置プログラム450がインストールされている。自動設置プログラム450は、案件管理サーバ107で管理されている作業指示書の一例である設置用スクリプトを案件管理サーバ107から取得し、設置用スクリプトの内容に従って自動での設置作業を実施する。本実施形態ではMFP105の自動設置について記載する。尚、本実施形態では情報処理装置の一例としてMFPを挙げているが、もちろんその他SFPなどでもよい。
LAN102は、設置の事前準備を行う環境のLANであり、クライアントコンピュータ106が接続される。クライアントコンピュータ106は、所謂パーソナルコンピュータなどの情報処理装置である。クライアントコンピュータ106には後述する案件作成プログラム500がインストールされている。案件作成プログラム500は、MFP105に設置用スクリプトを含む案件データを生成する。
案件管理サーバ107は、後述する案件管理サーバプログラム550がインストールされている。案件管理サーバプログラム550は、クライアントコンピュータ106を使用して生成する、MFP105の設定内容を登録した案件データを管理する。案件データについては後述する。
ソフトウエア管理サーバ108は、MFP105で利用可能なファームウエアや各種ライセンス情報等を管理するサーバである。MFP105の自動設置プログラム450は、設置用スクリプトの内容に従って、ソフトウエア管理サーバ108から設置に必要なソフトウエアをダウンロードする。
<MFP>
図2は、図1に示したシステムのハードウエア構成を説明するブロック図である。特に、図2の(A)は、MFP105のハードウエア構成の例である。
図2の(A)において、MFP105はコントローラユニット200を含み、コントローラユニット200には、画像入力デバイスであるスキャナ217や画像出力デバイスであるプリンタ216が接続されるとともに、操作部208が接続される。コントローラユニット200は、スキャナ217で読み取られた画像データをプリンタ216により印刷出力するコピー機能を実現するための制御を行う。
図2は、図1に示したシステムのハードウエア構成を説明するブロック図である。特に、図2の(A)は、MFP105のハードウエア構成の例である。
図2の(A)において、MFP105はコントローラユニット200を含み、コントローラユニット200には、画像入力デバイスであるスキャナ217や画像出力デバイスであるプリンタ216が接続されるとともに、操作部208が接続される。コントローラユニット200は、スキャナ217で読み取られた画像データをプリンタ216により印刷出力するコピー機能を実現するための制御を行う。
コントローラユニット200は、プロセッサであるCPU201を有し、CPU201は、ROM206に格納されているブートプログラムによりオペレーションシステム(OS)を立ち上げる。CPU201は、このOS上で、HDD(ハードディスクドライブ)207に格納されているプログラムを実行し、これによって各種処理を実行する。
このCPU201の作業領域としてはRAM202が用いられる。RAM202は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。HDD207は、上記プログラムや画像データを格納する。CPU201には、システムバス210を介して、ROM206およびRAM202、操作部I/F(操作部インタフェース)203が接続される。さらにCPU201には、ネットワークI/F(ネットワークインタフェース)204、USBホストI/F205、画像バスI/F(画像バスインタフェース)212が接続される。
操作部I/F203は、タッチパネルを有する操作部208とのインタフェースであり、操作部208に表示すべき画像データを操作部208に対して出力する。また、操作部I/F203は、操作部208においてユーザにより入力された情報をCPU201に送出する。
ネットワークI/F204は、MFP105をLAN101に接続するためのインタフェースである。USBホストI/F205は、USBストレージ218と通信するインタフェース部である。USBホストI/F205は、HDD207に格納されているデータをUSBストレージ218に出力する。また、USBホストI/F205は、USBストレージ218に格納されているデータを入力し、CPU201にそれを伝える。USBストレージ218は、データを格納する外部記憶装置であり、USBホストI/F205に対して着脱可能である。画像バスI/F212は、システムバス210と、画像データを高速で転送する画像バス211とを接続し、データ形式を変換するためのバスブリッジである。
画像バス211は、PCIバスまたはIEEE1394等によって構成される。画像バス211上には、デバイスI/F215、スキャナ画像処理部214、プリンタ画像処理部213が設けられる。デバイスI/F215には、スキャナ217およびプリンタ216が接続され、デバイスI/F215は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部214は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部213は、プリント出力画像データに対してプリンタ216に応じた補正、解像度変換などを行う。
<クライアントコンピュータ>
図2の(B)は、クライアントコンピュータ106のハードウエア構成例である。
図2の(B)において、CPU251を含む制御部250は、クライアントコンピュータ106の全体の動作を制御する。CPU251は、ROM252に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM253は、CPU251の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD254は、画像データや各種プログラムを記憶する。操作部I/F255は、クライアントコンピュータ106で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するインタフェースである。本実施形態では、マウス259やキーボード260で構成されるが、その限りではない。ディスプレイI/F256は、クライアントコンピュータ106で実行されるプログラムのUIを表示するディスプレイ端末を接続するインタフェースである。
図2の(B)は、クライアントコンピュータ106のハードウエア構成例である。
図2の(B)において、CPU251を含む制御部250は、クライアントコンピュータ106の全体の動作を制御する。CPU251は、ROM252に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM253は、CPU251の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD254は、画像データや各種プログラムを記憶する。操作部I/F255は、クライアントコンピュータ106で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するインタフェースである。本実施形態では、マウス259やキーボード260で構成されるが、その限りではない。ディスプレイI/F256は、クライアントコンピュータ106で実行されるプログラムのUIを表示するディスプレイ端末を接続するインタフェースである。
本実施形態ではディスプレイ261で構成されるが、その限りではない。ネットワークI/F258は、制御部250をLAN102に接続する。ネットワークI/F258は、ネットワークを介して他の装置との間で各種情報を送受信する。USBホストI/F257は、USBストレージ262と通信するインタフェース部である。USBホストI/F257は、HDD254に格納されているデータをUSBストレージ262に出力する。また、USBホストI/F257は、USBストレージ262に格納されているデータを入力し、CPU251にそれを伝える。USBストレージ262は、データを格納する外部記憶装置であり、USBホストI/F257に対して着脱可能である。
<サーバ>
図3は、図1に示した管理サーバのハードウエア構成を説明するブロック図である。特に、図3の(A)は、案件管理サーバ107のハードウエア構成例である。
図3の(A)において、CPU301を含む制御部300は、案件管理サーバ107全体の動作を制御する。CPU301は、ROM302に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD304は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F305は、制御部300をLANに接続する。ネットワークI/F305は、ネットワークを介して他の装置との間で各種情報を送受信する。
図3は、図1に示した管理サーバのハードウエア構成を説明するブロック図である。特に、図3の(A)は、案件管理サーバ107のハードウエア構成例である。
図3の(A)において、CPU301を含む制御部300は、案件管理サーバ107全体の動作を制御する。CPU301は、ROM302に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD304は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F305は、制御部300をLANに接続する。ネットワークI/F305は、ネットワークを介して他の装置との間で各種情報を送受信する。
図3の(B)は、図1に示したソフトウエア管理サーバ108のハードウエア構成例である。
図3の(B)において、CPU351を含む制御部350は、ソフトウエア管理サーバ108全体の動作を制御する。CPU351は、ROM352に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM353は、CPU351の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD354は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F355は、制御部350をLANに接続する。ネットワークI/F355は、ネットワークを介して他の装置との間で各種情報を送受信する。
<MFPのソフトウエア構成>
図4は、図1に示したMFP105のソフトウエアの構成例を示すブロック図である。
図4の(A)において、OS400上には、プリンタ216やFAX、スキャナ217などの元々備わっている制御用プログラムのネイティブプログラム401、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム402が動作している。更に、ネイティブプログラム401上には、ファームウエア更新サービス403、オプション有効化サービス404、設定管理サービス405が動作している。また拡張プログラム実行プラットフォーム402上には、拡張プログラムシステムサービス406と拡張プログラム407が動作している。
図3の(B)において、CPU351を含む制御部350は、ソフトウエア管理サーバ108全体の動作を制御する。CPU351は、ROM352に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM353は、CPU351の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD354は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F355は、制御部350をLANに接続する。ネットワークI/F355は、ネットワークを介して他の装置との間で各種情報を送受信する。
<MFPのソフトウエア構成>
図4は、図1に示したMFP105のソフトウエアの構成例を示すブロック図である。
図4の(A)において、OS400上には、プリンタ216やFAX、スキャナ217などの元々備わっている制御用プログラムのネイティブプログラム401、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム402が動作している。更に、ネイティブプログラム401上には、ファームウエア更新サービス403、オプション有効化サービス404、設定管理サービス405が動作している。また拡張プログラム実行プラットフォーム402上には、拡張プログラムシステムサービス406と拡張プログラム407が動作している。
ファームウエア更新サービス403は、ファームウエアを更新するための各種機能を提供するサービスである。例えば、ファームウエア更新サービス403は、ユーザから指定されたファームウエアを参照し、該ファームウエアの更新が必要か否かを判断する。またネイティブプログラム401に対し、または介し、ファームウエアを更新する。
オプション有効化サービス404は、ネイティブプログラム401に予め組み込まれているオプション機能を、有効化するためのサービスである。オプション有効化サービス404は、ユーザから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、有効化する。
設定管理サービス405は、プリンタ216やスキャナ217などの各種設定情報を管理するためのサービスである。設定管理サービス405は、例えばユーザから1つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム401の設定情報を書き換える機能を提供する。尚、設定管理サービス405は、ユーザインタフェース(以下、UI)を持っており、ユーザはMFP105の操作部208を介して設定変更の指示ができる。更に、拡張プログラムシステムサービス406を介して送信される拡張プログラムからのリクエストに応じて、設定情報をファイル化して提供する。この機能を以下、デバイス設定情報ファイルのエクスポートと呼ぶ。
拡張プログラムシステムサービス406は、拡張プログラムに共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム407から拡張プログラムシステムサービス406の機能を呼び出すことにより、拡張プログラムを開発する手間を省くことができる。拡張プログラム407は、拡張プログラム実行プラットフォーム402または拡張プログラムシステムサービス406を介してのみ、他の拡張プログラム407やRAM202などMFP105の各モジュールへアクセスすることができる。
また、UIを持つ拡張プログラム407は、MFP105の操作部208に表示されるメインメニュー画面にアイコンを表示することができる。このアイコンをユーザが選択したことを、操作部208を通じて操作部I/F203が検知すると、操作部I/F203はその旨をCPU201に送信する。その旨を受け取ったCPU201はユーザに選択された拡張プログラムのUIを操作部208に表示する。
尚、本ソフトウエア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
<自動設置プログラムのソフトウエア構成>
図4の(B)は、MFP105で動作する、自動設置プログラム450の機能構成の例を示す図である。本実施形態において、自動設置プログラム450は、MFP105の拡張プログラム407の一つとして実装されるものとする。CPU201が各機能に応じたプログラムを実行することにより、各機能は実現される。
図4の(B)は、MFP105で動作する、自動設置プログラム450の機能構成の例を示す図である。本実施形態において、自動設置プログラム450は、MFP105の拡張プログラム407の一つとして実装されるものとする。CPU201が各機能に応じたプログラムを実行することにより、各機能は実現される。
図4の(B)において、自動設置プログラム450は、UI制御部451、処理実行部452、スクリプト解析部453、ウエブサービス(Webサービス)管理部454、通信部455を有する。
UI制御部451は、自動設置プログラム450を操作するためのUIを、操作部208を通じてユーザに提供し、ユーザの操作を受け付ける。処理実行部452は、UI制御部451の指示やスクリプト解析部453の解析結果に従い、各種処理を行う。スクリプト解析部453は、設置作業指示情報である設置用スクリプトを解析し、処理実行部452が実行すべき処理、順序を決定する。
UI制御部451は、自動設置プログラム450を操作するためのUIを、操作部208を通じてユーザに提供し、ユーザの操作を受け付ける。処理実行部452は、UI制御部451の指示やスクリプト解析部453の解析結果に従い、各種処理を行う。スクリプト解析部453は、設置作業指示情報である設置用スクリプトを解析し、処理実行部452が実行すべき処理、順序を決定する。
Webサービス管理部454は、自動設置プログラム450が提供するWebサービスを管理しており、Webサービスを公開したり、非公開にしたりする。通信部455は、処理実行部452の指示に従い、案件管理サーバ107にデータを送信したり、データを取得したりする。また、通信部455は、処理実行部452の指示に従い、ソフトウエア管理サーバ108からファームウエアやライセンスファイルなどの各種ソフトウエアを取得する。
<案件作成プログラムのソフトウエア構成>
図5は、図1に示したクライアントコンピュータ106と案件管理サーバ107のソフトウエア構成を説明するブロック図である。
特に、図5の(A)は、クライアントコンピュータ106で動作する、案件作成プログラム500の機能構成の例である。なお、CPU251が案件作成プログラム500を実行することにより、各機能が実現される。本実施形態では、クライアントコンピュータ106でプログラムが実行されることを想定するが、その限りではない。ネットワークI/F258を介して、ネットワーク上にあるサーバやサービスで実行してもよい。
図5は、図1に示したクライアントコンピュータ106と案件管理サーバ107のソフトウエア構成を説明するブロック図である。
特に、図5の(A)は、クライアントコンピュータ106で動作する、案件作成プログラム500の機能構成の例である。なお、CPU251が案件作成プログラム500を実行することにより、各機能が実現される。本実施形態では、クライアントコンピュータ106でプログラムが実行されることを想定するが、その限りではない。ネットワークI/F258を介して、ネットワーク上にあるサーバやサービスで実行してもよい。
図5の(A)において、案件作成プログラム500は、UI制御部501、処理実行部502、案件データ生成部503とスクリプト生成部504、および通信部505を有する。UI制御部501は、案件作成プログラム500を操作するためのUIを、ディスプレイ261を通じて作業者に提供し、マウス259やキーボード260を通じて作業者の操作を受け付ける。処理実行部502は、UI制御部501の指示に従い、各種処理を行う。案件データ生成部503は、UI制御部501からの入力情報を基に、処理実行部502の指示に従って案件データを生成する。
スクリプト生成部504は、処理実行部502の指示に従い、案件データ生成部503で生成された案件データを基に、自動設置プログラム450が解析可能な設置用のスクリプトを生成する。通信部505は、処理実行部502の指示に従い、案件管理サーバ107に案件データを送信したり、案件管理サーバ107で保持されている案件データを取得したりする。
<サーバのソフトウエア構成>
図5の(B)は、案件管理サーバ107で動作する、案件管理サーバプログラム550、および、データ格納部557の機能構成の例である。CPU301が案件管理サーバプログラム550を実行することにより、各機能が実現される。
図5の(B)は、案件管理サーバ107で動作する、案件管理サーバプログラム550、および、データ格納部557の機能構成の例である。CPU301が案件管理サーバプログラム550を実行することにより、各機能が実現される。
図5の(B)において、案件管理サーバプログラム550は、制御部551、スクリプト編集部552、案件データ管理部553、作業状況データ管理部554、Webサービス公開データ管理部555、通信部556を有するWebアプリケーションである。
制御部551は、通信部556が受信するリクエスト内容にしたがって、案件データ管理部553や作業状況データ管理部554に対して案件データや作業状況データの格納、削除、更新、取得等の処理を指示する。また、制御部551は、Webサービス公開データ管理部555に対して、Webサービス公開データの格納、削除、更新、取得等の処理を指示する。スクリプト編集部552は、制御部551から渡される設置用スクリプトの編集を行う。編集の処理については図11を用いて後述する。案件データ管理部553は、制御部551の指示に従い、後述するデータ格納部557に対して案件データの格納、削除、更新を行う。また、案件データ管理部553はデータ格納部557から案件データの取得などを行う。
作業状況データ管理部554は、制御部551の指示に従い、データ格納部557に対して作業状況データの格納、削除、更新を行う。また、作業状況データ管理部554はデータ格納部557から作業状況データの取得などを行う。Webサービス公開データ管理部555は、制御部551の指示に従い、データ格納部557に対して作業状況データの格納、削除、更新を行う。また、Webサービス公開データ管理部555は、データ格納部557からWebサービス公開データの取得などを行う。通信部556は、クライアントコンピュータ106などからのリクエストを受信して、制御部551にリクエスト内容を送信する。更に、制御部551からリクエストに対する処理結果を受け取り、前記リクエストに対するレスポンスデータを作成し、クライアントコンピュータ106などにレスポンスを送信する。
データ格納部557は案件管理サーバ107で動作するデータベースである。尚、本例では案件管理サーバ107にデータ格納部557が構成されているが、案件管理サーバプログラム550と連携できるようになっていれば別のサーバに配置されるような構成でも良い。データ格納部557で管理するデータの内容については図6を用いて説明する。
ソフトウエア管理サーバ108は、各種ソフトウエアを管理しており、MFP105の自動設置プログラム450等からの要求に応じて、指定されたソフトウエアを、要求されたMFP105等に提供する。
<データ格納部で管理されるテーブル群>
<データ格納部で管理されるテーブル群>
図6の(A)から図6の(E)は、データ格納部557で管理するテーブルの一例である。図6の(A)から図6の(C)のテーブルが案件データを示している。図6の(D)が作業状況データを示している。図6の(E)は、Webサービス公開データを示している。尚、図6のテーブル構成は、説明をしやすくするために冗長な部分を残しているが、リレーショナルデータベースなどである場合は正規化を行い、冗長性を除く等、本例とは異なるテーブル構成であってもよい。
図6の(A)は、案件概要管理テーブル600を表している。案件概要管理テーブル600は、案件の概要を格納しているテーブルであり、カラム601からカラム603で構成される。1レコードが1つの案件を表している。カラム601は案件IDを表している。案件IDは案件データを一意に識別するための識別子である。カラム602は案件データの名称を表している。カラム603はコメントを表している。コメントは案件の内容に関する補足説明である。
図6の(B)は、共通データ管理テーブル620を表している。共通データ管理テーブル620は、設置対象のMFP150に対して案件ごとの機種共通で設定するデータを管理するテーブルであり、カラム621からカラム625で構成される。カラム621は共通データIDを表している。
共通データIDは、共通データを一意に識別するための識別子である。カラム622は案件IDを表している。カラム623は、機種名を表している。カラム624は共通データの名称を表している。カラム625は、共通データを表している。共通データとは、機種共通で設定するデータであり、例えばMFP105に適用するファームウエアなどである。尚、本例では共通データの実体をカラム625に格納しているが、カラム625には共通データの実体へのパスのみを格納しておき、共通データの実体は別の場所にファイルとして置くような構成でも良い。
カラム621とカラム622とカラム623で共通データ、案件、機種を関連付けている。例えば、最初のレコードであると、共通データID"C001"である共通データが、案件ID"M001"である案件の機種名"機種1"のMFPに使用されることがわかる。
図6の(C)は、個別データ管理テーブル650を表している。個別データ管理テーブル650は、設置対象のMFP105ごとに設定するデータを管理するテーブルでありカラム651からカラム655で構成される。カラム651は個別データIDを表している。個別データIDは、個別データを一意に識別するための識別子である。カラム652は案件IDを表している。カラム653は機種名を表している。カラム654は個別データの名称を表している。カラム655は設置対象のMFP105のデバイスIDを表している。カラム656は個別データを表している。個別データとは、設置対象のMFP105ごとに設定するデータである。
例えば、MFP105ごとに必要なライセンスの設定や設置場所などの設定である。尚、本例では個別データの実体をカラム656に格納しているが、カラム656には個別データの実体へのパスのみを格納しておき、個別データの実体は別の場所にファイルとして置くような構成でも良い。
カラム651、カラム652、カラム655で個別データ、案件、MFPを関連付けている。例えば、最初のレコードであると個別データIDが"X001"である個別データは、案件IDが"M001"である案件において、デバイスIDが"N001"であるMFP105に設定されるデータであることが分かる。尚、個別データには設置用スクリプトも含まれる。設置用スクリプトの構成については図9を用いて後述する。
カラム651、カラム652、カラム655で個別データ、案件、MFPを関連付けている。例えば、最初のレコードであると個別データIDが"X001"である個別データは、案件IDが"M001"である案件において、デバイスIDが"N001"であるMFP105に設定されるデータであることが分かる。尚、個別データには設置用スクリプトも含まれる。設置用スクリプトの構成については図9を用いて後述する。
図6の(D)は、作業状況データ管理テーブル670を表している。作業状況データ管理テーブル670は、MFP105の自動設置作業の作業状況を管理するテーブルであり、カラム671からカラム674で構成される。カラム671はMFP105のデバイスIDを表している。カラム672は、MFP105のデバイス名称を表している。
カラム673は案件IDを表している。カラム674は、MFP105の自動設置作業のインストール作業状況を表している。カラム677は、作業状況に関する詳細な情報を表している。カラム671、カラム673で案件、MFPを関連付けている。例えば、最初のレコードであると案件IDが"M001"である案件のデバイスIDが"N001"であるMFPの作業状況(完了)であることがわかる。
図6の(E)は、Webサービス公開データ管理テーブル690を表している。Webサービス公開データ管理テーブル690は、MFP105が公開しているWebサービスの情報を管理するテーブルであり、カラム691からカラム694で構成される。カラム691は、案件IDを表している。カラム692はデバイスIDを表している。カラム693は、機種名を表している。カラム694は、MFP105が公開しているWebサービスのURLを表している。
<MFPの設置作業手順>
図7は、本実施形態を示す情報処理装置の設置作業を説明する図である。本例では、MFP105の基本的な設置をするまでの作業フローを説明する。尚、図7では1案件で8台のMFP105の設置作業を行う例を記載している。本実施形態では、図中のN001を第1の情報処理装置と、N002〜N008を第2の情報処理装置と想定して、所定のファームウエアを取得してインストールする例を詳細に説明する。
<MFPの設置作業手順>
図7は、本実施形態を示す情報処理装置の設置作業を説明する図である。本例では、MFP105の基本的な設置をするまでの作業フローを説明する。尚、図7では1案件で8台のMFP105の設置作業を行う例を記載している。本実施形態では、図中のN001を第1の情報処理装置と、N002〜N008を第2の情報処理装置と想定して、所定のファームウエアを取得してインストールする例を詳細に説明する。
S701は、案件作成者720が案件の作成を行う作業である。案件の作成は、1人で行われるわけではなく、営業担当者が顧客と対話して決定した内容を設定したり、設置管理者がMFPの入出庫を管理する倉庫で設定内容の微修正を行なったりする。本例では営業担当者や設置管理者など案件を編集する人をまとめて、案件作成者と表現する。案件作成者720は、MFPの構成と、それらの設定内容を、クライアントコンピュータ106の案件作成プログラム500を使用して入力する。
MFPの構成とは、機種や、ハードウェアオプション、アクティベートするオプション、インストールする拡張プログラムのことである。その内容は案件データとして案件管理サーバ107へ送信され、案件管理サーバ107のデータ格納部557に保存される。
S702は、設置担当者721がMFP105を実際に設置する際に顧客先で行う作業である。倉庫からMFP105が配送されると、設置担当者721は、MFP105を顧客から依頼された場所へ配置する。そして、設置担当者721は、MFP105を顧客先のLAN101に接続する。設置担当者721が、MFP105の自動設置プログラム450が表示するUIで、設置するためのボタンを押下する。尚、ここで表示されるUIについては図10の(B)等を用いて後述する。自動設置プログラム450は、設置するためのボタンが押下されたことを検知すると、自動での設置作業を開始する。自動での設置作業の処理については、図11を用いて後述する。MFP105で自動での設置作業が開始すると、設置担当者721は、その場を離れ、次のMFP105の設置作業を行う。
このようにデバイスIDが"N001"から"N008"であるMFP105に対して、S702の作業を繰り返し行うことで、すべてのMFP105の設置作業が完了する。尚、本例ではS702において、毎回ソフトウエア管理サーバ108からファームウエアを取得するのではなく、Webサービスを公開したMFP105から取得することでプロキシサーバ等への負担を軽減する例について説明する。また、本例ではファイルサイズが大きいファームウエアを例に記載するが、拡張プログラムなど他のファイルにも適用可能である。以上が本発明に関わるMFP105の基本的な設置をするまでの作業フローである。図7で説明した基本的な設置をするまでの作業における各プログラムの詳細な処理について、図8乃至図14を用いて説明する。
<案件作成プログラム>
図8は、図1に示したクライアントコンピュータ106の案件作成プログラム500が表示するUI画面を示す図である。本UIは、案件作成者720がS701の作業を行う際に操作する。
図8は、図1に示したクライアントコンピュータ106の案件作成プログラム500が表示するUI画面を示す図である。本UIは、案件作成者720がS701の作業を行う際に操作する。
図8の(A)は、案件作成プログラム500の案件データの一覧表示するUIの一例である。UI800は、案件データリスト801とボタン802からボタン804で構成される。案件作成プログラム500は、起動すると案件管理サーバ107から案件データの一覧を取得する。そして、案件作成プログラム500は、取得した案件データの一覧を案件データリスト801にセットしてUI800を表示する。
案件データリスト801は、案件データの概要を表示するリストである。本例では、案件ID、案件名、コメントを表示している。
案件データリスト801は、案件データの概要を表示するリストである。本例では、案件ID、案件名、コメントを表示している。
ボタン802は、案件データを新規で作成するためのボタンである。案件作成プログラム500は、ボタン802が押下されたことを検知すると、案件データを作成するためのUI850を表示する。ボタン802が押下された場合は新規作成となるため、UI850は、テキストボックスなどの各コントロールを空の状態で表示する。
編集ボタン803は、案件データを編集するためのボタンである。編集ボタン803が押下されたことを検知すると案件作成プログラム500は、案件データリスト801で選択状態である案件データの詳細情報を案件管理サーバ107から取得する。案件作成プログラム800は、取得した案件データの詳細情報をUI850のテキストボックスなどの各コントロールにセットして、UI850を表示する(図8の(B)参照)。ボタン804は、案件作成プログラム500を終了するためのボタンである。
図8の(B)は、図8の(A)のUI画面において、編集ボタン803が押下された際に、案件作成プログラム500の案件データを編集するために表示するUIの一例である。UI850は、タブページ851、852、853、および、ボタン862、863で構成される。UI850では、タブページ852がアクティブな状態で表示されている。
タブページ852は、テキストボックスやボタンなどのテキストボックス854から861で構成される。尚、UI850では、案件IDがM001である案件データの編集を行っている際の例を記載している。すなわち、UI800において、案件データリスト801で案件IDがM001であるレコードが選択された状態で編集ボタン803を押下された場合に表示するUIの例である。
タブページ851は、案件データの概要を設定するためのタブページである。案件データの概要とは、案件名、コメントなどである。タブページ852は、共通データの設定を行うためのタブページである。テキストボックス854は、共通データの名称を設定するためのテキストボックスである。コンボボックス855はどの機種の共通データであるかを設定するためのコンボボックスである。
コンボボックス856は、どのファームウエアをインストールするか設定するためのボタンである。適用するファームウエアを共通データとして設定するため、同一機種であれば同じファームウエアが適用される。ボタン857は共通データの詳細設定を行うためのボタンである。ボタン858は、テキストボックス854から857で設定した共通データを案件データに追加するためのボタンである。ボタン858が押下されると、共通データリスト859に共通データを追加する。共通データリスト859は編集中の案件データに追加済の共通データを表示するためのリストである。ボタン860は、共通データをファイルから追加するためのボタンである。
ボタン860が押下されると、ファイルを指定するためのUIを表示する。そのUIで共通データのファイルが指定されると、編集中の案件データに選択された共通データを追加する。ボタン861は、編集中の案件データから、共通データリスト859で選択されている共通データを削除するためのボタンである。ボタン862は、編集中の案件データを保存するためのボタンである。ボタン862が押下されると、案件作成プログラム500は、本案件データを案件管理サーバ107に送信する。
そして、案件管理サーバ107の案件管理サーバプログラム550は、案件データを受信すると、受信した案件データをデータ格納部557に保存する。ボタン863は、案件データの編集をキャンセルするためのボタンである。タブページ853は個別データの設定を行うためのタブページである。個別データとは先述したように、設置対象のMFP105ごとに設定するデータである。例えば、個別データはMFP105ごとに必要なライセンスの設定や設置場所などの設定である。
<設置用スクリプトの例>
図9は、図1に示したMFP105の設置を自動で実施するための設置作業手順を記述した設置用スクリプトの一例を示す図である。設置用スクリプトはUI850で作成された案件データの一部として案件管理サーバ107のデータ格納部557に格納されている。
図9は、図1に示したMFP105の設置を自動で実施するための設置作業手順を記述した設置用スクリプトの一例を示す図である。設置用スクリプトはUI850で作成された案件データの一部として案件管理サーバ107のデータ格納部557に格納されている。
設置用スクリプト900は、MFP105の自動設置プログラム450の処理実行部452を介しスクリプト解析部453によって解析される。スクリプト解析部453によって解析された設置用スクリプト900は、その後、処理実行部452によって記載された処理が実行される。設置用スクリプト900は、XML(Extensible Markup Language)で記載されており、案件データ識別部901とMFP識別部902とコマンド記載部910とで構成されている。尚、本図ではXMLによりスクリプトを表現しているが、XMLに限定されず、シェルスクリプトなどで書かれていても良い。
案件データ識別部901は、案件データを識別するための案件IDが記載されており、<setupId>タグで構成されている。案件IDは、案件作成プログラム500によって案件データが生成される際に、案件データに対して付与される識別子で、全ての案件データに対してユニークな値である。本例では分かり易く説明するためM001といった4桁の文字列で記載しているが、例えばGUID(グローバル一意識別子)などを用いるのが望ましい。
MFP識別部902は、MFP105を識別するためのデバイスIDが記載されており、<deviceId>タグで構成されている。
MFP識別部902は、MFP105を識別するためのデバイスIDが記載されており、<deviceId>タグで構成されている。
コマンド記載部910は、設置するために必要なコマンド群が記載される。コマンド記載部910は、ファームウエア更新コマンド部903を含む。さらに、コマンド記載部910は、拡張プログラムインストールコマンド部904、拡張プログラム開始コマンド部905、オプションアクティベートコマンド部906を含む。さらにコマンド記載部910は、デバイス設定情報インポートコマンド部907、再起動コマンド部908、Webサービス公開コマンド部909で構成されている。各コマンドを示すタグの中にはorder属性が含まれており、本図ではorderの値に応じて処理の順番が決定する。
ファームウエア更新コマンド部903は、ファームウエア更新サービス403を介してファームウエアを更新するコマンドである。ファームウエア更新コマンド部903は、<updateFirmwareCommand>タグを記載することでコマンドを定義し、<path>タグと<firmwareName>タグにより使用するファイルを指定している。なお、以下の説明において、903〜909を簡略して単にコマンド部として説明する場合がある。
<path>タグは、更新したいファームウエアの取得先のパスが記載されている。<path>タグは、priority属性とsetCondition属性を有する。priority属性は、複数の<path>タグがあった場合にどの<path>タグに記載のパスからファームウエアを取得すればよいかを表す優先順位である。複数の<path>タグがあった場合の例については後述する。setCondition属性は、自動設置プログラム450が設置用スクリプト900を実行中に一時的に記憶しておく値が記載されている。
つまり、<path>タグに記載の"https://softwareManagementServer/xxxx…"からファームウエアを取得した場合、自動設置プグラム450は、setCondition属性の値であるfalseを一時的に記憶する。尚、後述するが、このsetCondition属性の値によって、MFP105がWebサービスを公開するかを決定する。<firmwareName>タグは、更新したいファームウエアが指定されている。本図においてはZip形式でアーカイブされたファームウエアが指定されている。
拡張プログラムインストールコマンド部904は、拡張プログラムをインストールするコマンドである。拡張プログラムインストールコマンド部904は、<installApplicationCommand>タグの記載によりコマンドを定義しており、<path>タグ、及び<appName>タグによりインストールする拡張プログラムを指定している。<path>タグは、ソフトウエア管理サーバ108のインストール対象の拡張プログラムの実体までのパスが記載されている。
<appName>タグは、インストール対象の拡張プログラムの実体が指定されている。本図においてはJarファイル形式の拡張プログラムが指定されている。尚、本拡張プログラムの形式はJarファイル形式に限定されない。またインストール対象の拡張プログラムに対するライセンスを<licensePath>タグ、及び<licenseFileName>タグにより指定している。<licensePath>タグは、ソフトウエア管理サーバ108の拡張プログラムのライセンスファイルまでのパスが記載されている。<licenseFileName>タグは、拡張プログラムのライセンスの実体が指定されている。本図においては.licファイル形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。
拡張プログラム開始コマンド部905は、拡張プログラムを開始するコマンドである。拡張プログラム開始コマンド部905は、<startApplicationCommand>タグの記載によりコマンドを定義しており、<appId>タグにより開始対象の拡張プログラムを指定している。<appId>タグは、開始対象の拡張プログラムを唯一に識別するIDが指定されている。
オプションアクティベートコマンド部906は、オプション有効化サービス404を介して、オプション機能を有効化するコマンドである。オプションアクティベートコマンド部906は、<activateOptionCommand>タグの記載によりコマンドを定義している。また、オプションアクティベートコマンド部906は、<path>タグ、及び<licenseFileName>タグによりアクティベートするオプションのライセンスファイルを指定している。
<path>タグは、ソフトウエア管理サーバ108からアクティベートするオプションのライセンスファイルまでのパスが記載されている。本図においてはlic形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。尚、MFP105に予め組み込まれているオプション機能が無い場合、また有効化しない場合には、本処理の記載は不要である。
デバイス設定情報インポートコマンド部907は、設定管理サービス405を介して、デバイスの設定情報をインポートするコマンドである。デバイス設定情報インポートコマンド部907は、<importDeviceConfigCommand>タグの記載によりコマンドを定義している。また、デバイス設定情報インポートコマンド部907は、<path>タグ、及び<comfileName>タグ、<exFileName>タグによりインポートするデバイス設定情報ファイルを指定している。<path>タグは、案件管理サーバ107のインポート対象のデバイス設定情報ファイルまでのパスが記載されている。
<comfileName>タグは、インポート対象のデバイス設定情報における共通データのファイルが指定されている。本図においてはZip形式にアーカイブされた共通データのファイルが指定されている。尚、本デバイス設定情報ファイルの形式はZipファイル形式に限定されない。<exFileName>タグは、インポート対象のデバイス設定情報における個別データのファイルが指定されている。
再起動コマンド部908は<rebootCommand>タグのみで構成されており、一通りの設置処理が終了した後、MFP105を再起動させて、デバイス設定情報やアプリケーション設定情報の設定をMFPに反映するための処理である。
Webサービス公開コマンド部909は、ファームウエアを提供するためのWebサービスの公開コマンドである。Webサービス公開コマンド部909は、<openFirmwareWebService>タグの記載によりコマンドを定義している。<ifCondition>タグは、Webサービスを公開するコマンドを実行する条件を表している。例えば、本例であるとファームウエア更新コマンド部903で記憶したsetCondition属性の値が、<ifCondition>タグの値であるtrueと一致した場合に、Webサービスの公開コマンドを実行することを表している。つまり、設置用スクリプト900の場合は一致しないため、Webサービスの公開コマンドを実行しない。
尚、本図で示す設置用のスクリプトの記述は、MFP105の設置に必要な処理を限定するものではなく、必要に応じて処理の重複、増減があっても良い。
Webサービス公開コマンド部909は、ファームウエアを提供するためのWebサービスの公開コマンドである。Webサービス公開コマンド部909は、<openFirmwareWebService>タグの記載によりコマンドを定義している。<ifCondition>タグは、Webサービスを公開するコマンドを実行する条件を表している。例えば、本例であるとファームウエア更新コマンド部903で記憶したsetCondition属性の値が、<ifCondition>タグの値であるtrueと一致した場合に、Webサービスの公開コマンドを実行することを表している。つまり、設置用スクリプト900の場合は一致しないため、Webサービスの公開コマンドを実行しない。
尚、本図で示す設置用のスクリプトの記述は、MFP105の設置に必要な処理を限定するものではなく、必要に応じて処理の重複、増減があっても良い。
<自動設置処理>
図10は、図1に示したMFP105の操作部208に表示するUI画面を示す図である。本UIは、設置担当者721がS702の作業を行う際に操作する。
図10の(A)は、MFP105のネイティブプログラム401のUIの一例である。
図10は、図1に示したMFP105の操作部208に表示するUI画面を示す図である。本UIは、設置担当者721がS702の作業を行う際に操作する。
図10の(A)は、MFP105のネイティブプログラム401のUIの一例である。
UI1000は、ボタン1001を有する。ボタン1001は、自動設置プログラム450を起動するためのボタンである。ボタン1001が押下されたことを検知すると、ネイティブプログラム401は、自動設置プログラム450を起動する。尚、本実施形態では分かり易く説明するため、ボタン1001のみを表示しているがその限りではない。
つまり、ネイティブプログラム401が実行するプリントやFAXなどの設定をするUIを表示するためのボタンや、他の拡張プログラム407を起動するためのボタンを表示してもよい。
図10の(B)は、自動設置プログラム450のUIの一例である。本UIは、UI1000のボタン1001を押下された際に表示するUIである。UI1050は、ボタン1051、ボタン1052を有する。尚、本UIは、特にデバイスIDが"N001"であるMFP105の自動設置プログラム450が表示するUIである。つまり、S702において設置担当者721が最初に設置するMFP105である。
ボタン1051は、自動設置作業を実行するためのボタンである。ボタン1051が押下されたことを検知すると自動設置プログラム450は、自動設置作業を開始する。自動設置作業の処理については図11を用いて説明する。
ボタン1052は、自動設置プログラム450を終了するためのボタンである。
ボタン1052は、自動設置プログラム450を終了するためのボタンである。
図11は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、自動設置作業におけるMFP105の自動設置プログラム450、および、案件管理サーバ107の案件管理サーバプログラム550の処理例である。なお、S1101からS1110までは、MFP105の自動設置プログラム450の処理である。また、S1101からS1110は、CPU201が自動設置プログラム450を実行することで実現される。
S1101で、自動設置プログラム450の通信部455は、案件管理サーバ107から自機のデバイスIDに対応する設置用スクリプトを取得して、S1102に遷移する。より具体的には自動設置プログラム450の通信部455が、案件管理サーバプログラム550の通信部556に対してHTTPのGETコマンドによるリクエストを行う。リクエストにはMFP105のデバイスIDを含む。このGETコマンドのレスポンスに設置用スクリプトが含まれる。
S1101で、自動設置プログラム450の通信部455は、案件管理サーバ107から自機のデバイスIDに対応する設置用スクリプトを取得して、S1102に遷移する。より具体的には自動設置プログラム450の通信部455が、案件管理サーバプログラム550の通信部556に対してHTTPのGETコマンドによるリクエストを行う。リクエストにはMFP105のデバイスIDを含む。このGETコマンドのレスポンスに設置用スクリプトが含まれる。
S1102で、自動設置プログラム450の通信部455は、案件管理サーバ107の案件管理サーバプログラム550からレスポンスがあったかを監視する。レスポンスがあったと自動設置プログラム450が判断した場合は、S1103に遷移し、レスポンスがないと判断した場合は、応答監視を続ける。
S1103で、自動設置プログラム450のスクリプト解析部453は、案件管理サーバプログラム550から取得した設置用スクリプトを読み込み、S1104に遷移する。
S1103で、自動設置プログラム450のスクリプト解析部453は、案件管理サーバプログラム550から取得した設置用スクリプトを読み込み、S1104に遷移する。
S1104で、自動設置プログラム450のスクリプト解析部453は設置用スクリプトを解析して次に処理すべきコマンドを取得し、S1105に遷移する。設置用スクリプト900を例にとると、自動設置プログラム450のスクリプト解析部453はコマンド記載部910に記載されたファームウエア更新コマンド部903からWebサービス公開コマンド部909の各コマンド部をorderの順に取得する。つまり最初に取得するのはファームウエア更新コマンド部903である。
S1105で、自動設置プログラム450の処理実行部452は、コマンドに記載された処理を実行してS1106に遷移する。本件の特徴であるファームウエア更新コマンドの処理、および、Webサービス公開コマンドの処理については図13を用いて後述する。
S1106で、自動設置プログラム450の処理実行部452は、S1105で実行したコマンドが成功したかを判断する。成功したと処理実行部452が判断した場合はS1107に遷移する。エラーになったと処理実行部452が判断した場合はS1108に遷移する。
S1107で、自動設置プログラム450のスクリプト解析部453は、次のコマンドがあるかを判断する。次のコマンドがあるとスクリプト解析部453が判断した場合は、S1104に遷移する。次のコマンドがないとスクリプト解析部453が判断した場合は、S1109に遷移する。
S1108で、自動設置プログラム450のUI制御部451は、コマンドの実行でエラーがあった旨を伝えるUIを表示して、S1109に遷移する。
S1108で、自動設置プログラム450のUI制御部451は、コマンドの実行でエラーがあった旨を伝えるUIを表示して、S1109に遷移する。
S1109で、自動設置プログラム450の通信部455は、設置の結果情報を案件管理サーバ107に送信して、S1110に遷移する。より具体的には自動設置プログラム450の通信部455が、案件管理サーバプログラム550の通信部556に対してHTTPのPUTコマンド、または、POSTコマンドによるリクエストを行なう。このリクエストに設置の結果情報を含む。
S1110で、自動設置プログラム450の通信部455は、案件管理サーバ107の案件管理サーバプログラム550からレスポンスがあったかを監視する。レスポンスがあったと通信部455が判断した場合は、終了する。一方、レスポンスがないと通信部455が判断した場合は、案件管理サーバプログラム550からレスポンスの監視を続ける。以上が、自動設置処理における自動設置プログラム450の処理である。
S1151からS1157は、S1101の処理で自動設置プログラム450から送信されたスクリプト取得要求を受信してからレスポンスを返すまでの、案件管理サーバ107の案件管理サーバプログラム550の処理である。
S1151で、案件管理サーバプログラム550の通信部556は、スクリプトの取得要求を受信したかを監視する。スクリプトの取得要求を受信したと通信部556が判断した場合は、S1152に遷移する。スクリプトの取得要求を受信していないと通信部556が判断した場合は監視を続ける。
S1152で、案件管理サーバプログラム550のWebサービス公開データ管理部555は、Webサービス公開データ管理テーブル690からWebサービス公開データを取得してS1153に遷移する。
具体的には、S1151で受信したスクリプトの取得要求に含まれるデバイスIDから特定される案件ID、および、機種で絞ったWebサービス公開データを取得する。例えば、案件IDがM001で、機種名が機種1であった場合、Webサービス公開データ管理テーブル690の最初のレコードと、2つめのレコードの情報を取得する。
具体的には、S1151で受信したスクリプトの取得要求に含まれるデバイスIDから特定される案件ID、および、機種で絞ったWebサービス公開データを取得する。例えば、案件IDがM001で、機種名が機種1であった場合、Webサービス公開データ管理テーブル690の最初のレコードと、2つめのレコードの情報を取得する。
S1153で、案件管理サーバプログラム550の制御部551は、S1152で取得したWebサービス公開データからWebサービスを公開しているMFP105があるかを判断する。Webサービスを公開しているMFP105があると判断した場合は、S1154に遷移する。Webサービスを公開しているMFP105がないと判断した場合は、S1157に遷移する。
S1154で、案件管理サーバプログラム550のスクリプト編集部552は、設置用スクリプトにS1152で取得したWebサービス公開データに含まれるWebサービスのURLを追加して、S1155に遷移する。
より具体的には、設置用スクリプト900のファームウエア更新コマンド部903に<path>タグを追加する。追加した<path>タグの値は、Webサービス公開データに含まれるWebサービスのURLである。
この際、追加した<path>タグのpriority属性の値は、1から順にインクリメントして追加する。また、追加した<path>タグのsetCondition属性の値はfalseを設定する。
そして、最後にソフトウエア管理サーバ108のURLを記載している<path>タグのpriority属性の値の優先順位を最も低くする。また、ソフトウエア管理サーバ108のURLを記載している<path>タグのsetConditionの値をtrueにする。編集した設置用スクリプトについては図12を用いて後述する。
より具体的には、設置用スクリプト900のファームウエア更新コマンド部903に<path>タグを追加する。追加した<path>タグの値は、Webサービス公開データに含まれるWebサービスのURLである。
この際、追加した<path>タグのpriority属性の値は、1から順にインクリメントして追加する。また、追加した<path>タグのsetCondition属性の値はfalseを設定する。
そして、最後にソフトウエア管理サーバ108のURLを記載している<path>タグのpriority属性の値の優先順位を最も低くする。また、ソフトウエア管理サーバ108のURLを記載している<path>タグのsetConditionの値をtrueにする。編集した設置用スクリプトについては図12を用いて後述する。
S1155で、案件管理サーバプログラム550の通信部556は、設置用スクリプトをMFP105の自動設置プログラム450に送信してS1156に遷移する。S1153の判断によりS1154に遷移した場合の編集した設置用スクリプトは、図12を用いて後述する。
S1156で、案件管理サーバプログラム550の作業状況データ管理部554は、作業状況データ管理テーブル670の作業状況を作業中に更新して、本処理を終了する。
S1156で、案件管理サーバプログラム550の作業状況データ管理部554は、作業状況データ管理テーブル670の作業状況を作業中に更新して、本処理を終了する。
一方、S1157で、案件管理サーバプログラム550のスクリプト編集部552は、ソフトウエア管理サーバ108のURLを記載している<path>タグのsetConditionの値をtrueに更新して、S1155に遷移する。
ここで、図12を用いてS1154の処理で編集された設置用スクリプト1200の内容を説明する。
尚、本例は、Webサービス公開データ管理テーブル690が図6で説明した状態であったときの例である。また、S1154の処理では、設置用スクリプト900のファームウエア更新コマンド部903を編集したのみであり、その他は変更がないため、以下、ファームウエア更新コマンド部1201を説明する。
尚、本例は、Webサービス公開データ管理テーブル690が図6で説明した状態であったときの例である。また、S1154の処理では、設置用スクリプト900のファームウエア更新コマンド部903を編集したのみであり、その他は変更がないため、以下、ファームウエア更新コマンド部1201を説明する。
図12において、ファームウエア更新コマンド部1201は、S1154の処理により、ファームウエア更新コマンド部1201に対して<path>タグを追加している。ファームウエア更新コマンド部1201は、<path>タグ1202、<path>タグ1203、<path>タグ1204から成る。
<path>タグ1202は、デバイスIDがN001であるMFP105が公開するWebサービスがファームウエア取得先であることを示している。これは、Webサービス公開データ管理テーブル690の最初のレコードに格納されているWebサービス公開データが用いられている。また、<path>タグ1202のpriority属性の値は1となっており、複数ある<path>タグの中で優先順位が最も高く、最初のファームウエア取得先であることを示している。
<path>タグ1202のsetCondition属性の値はfalseとなっており、デバイスIDがN001であるMFP105からファームウエアが取得できた場合には、後続のWebサービス公開コマンド部909は実行しないことを示している。
<path>タグ1203は、デバイスIDがN003であるMFP105が公開するWebサービスがファームウエア取得先を示している。これは、Webサービス公開データ管理テーブル690の2つ目のレコードに格納されているWebサービス公開データである。
また、<path>タグ1203のpriority属性の値は2となっており、複数ある<path>タグの中で優先順位が2番目に高いファームウエア取得先であることを示している。<path>タグ1203のsetCondition属性の値はfalseとなっており、デバイスIDがN003であるMFP105からファームウエアが取得できた場合には、後続のWebサービス公開コマンド部909は実行しないことを示している。
<path>タグ1203の値は、ファームウエアの取得先がソフトウエア管理サーバ108であることを示している。priority属性の値が3となっている点である。これは3つあるファームウエア取得先の中で最も優先順位が低いことを表している。管理情報に対応づけられるsetCondition属性の値はtrue(公開)となっており、ソフトウエア管理サーバ108からファームウエアが取得できた場合には、後続のWebサービス公開コマンド部909は実行することを示している。以上が、S1154の処理により編集された設置用スクリプトの例の説明である。図11の説明に戻る。
S1171からS1175は、S1109の処理で自動設置プログラム450から送信された設置結果を受信してからレスポンスを返すまでの、案件管理サーバ107の案件管理サーバプログラム550の処理である。
S1171で、案件管理サーバプログラム550の通信部556は、第1の情報処理装置として最初にファームウエアをインストールしたMFP101より設置結果を受信したかを監視する。ここで、設置結果を受信したと通信部556が判断した場合は、S1172に遷移する。一方、設置結果を受信していないと通信部556が判断した場合は、MFP105からの応答監視を続ける。
S1172で、案件管理サーバプログラム550の制御部551は、S1171で受信した設置結果の中にMFP105が公開したWebサービスのURLが含まれているかを判断する。WebサービスのURLが含まれていると制御部551が判断した場合は、S1173に遷移する。WebサービスのURLが含まれていないと制御部551が判断した場合は、S1174に遷移する。尚、MFP105の自動設置プログラム450が設置結果に公開したWebサービスのURLを含める処理については、図13の(B)を用いて後述する。
S1173で、案件管理サーバプログラム550のWebサービス公開データ管理部555は、設置結果に含まれるWebサービスのURLを含むWebサービス公開データをWebサービス公開データ管理テーブル690に格納し、S1174に遷移する。
S1174で、作業状況データ管理部554は、作業状況データ管理テーブル670に設置結果を格納し、S1175に遷移する。
S1175で、案件管理サーバプログラム550の通信部556は、MFP105の自動設置プログラム450に、設置結果の格納が完了したことを送信して終了する。
S1174で、作業状況データ管理部554は、作業状況データ管理テーブル670に設置結果を格納し、S1175に遷移する。
S1175で、案件管理サーバプログラム550の通信部556は、MFP105の自動設置プログラム450に、設置結果の格納が完了したことを送信して終了する。
図13は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。特に、図13の(A)は、自動設置作業におけるMFP105の自動設置プログラム450のファームウエア更新コマンドの処理を示したフローチャートである。このファームウエア更新コマンドの処理は、前述したように図11のフローチャートで説明したS1105のコマンドを実行する処理である。
S1301で、自動設置プログラム450の処理実行部452は、次の優先順位のファームウエア取得先があるかを判断する。ファームウエア取得先があると処理実行部452が判断した場合は、S1302に遷移する。ファームウエア取得先がないと処理実行部452が判断した場合は、S1306に遷移する。先述したが、優先順位は、ファームウエア更新コマンド部903に記載のpriority属性の値で判断する。
S1302で、自動設置プログラム450の通信部455は、S1301で見つけたファームウエア取得先にファームウエアの取得要求を送信して、S1303に遷移する。
S1302で、自動設置プログラム450の通信部455は、S1301で見つけたファームウエア取得先にファームウエアの取得要求を送信して、S1303に遷移する。
S1303で、自動設置プログラム450の処理実行部452は、ファームウエアが取得できたかを判断する。ファームウエアが取得できたと判断した場合はS1304に遷移する。ファームウエアが取得できなかったと処理実行部452が判断した場合はS1301に遷移する。本実施形態では、優先順位をつけて複数のファームウエア取得先から取得することで、顧客先のVLAN(Virtual Local Area Network)等のネットワーク構成によってMFP105同士が通信できない場合にも最終的にはファームウエアを取得できるように構成されている。
尚、本例ではS1302で、ファームウエア取得要求を実際にファームウエア取得先に送信した後に、S1303でファームウエアを取得できたかを判断しているが、これに限らない。例えば、ファームウエア取得先となっているMFP105と、自動設置処理中のMFP105のIPアドレスの体系が異なるなど、明らかに通信できないことがわかる場合には、ファームウエア取得要求を送信せずに、取得できないと判断するようにしてもよい。
S1304で、自動設置プログラム450の処理実行部452は、取得したファームウエアをファームウエア更新サービス403に渡し、ファームウエアを更新し、S1305に遷移する。S1305で、自動設置プログラム450の処理実行部452は、取得したファームウエアの取得先のsetCondition属性の値を一時的に記憶して終了する。S1306で、自動設置プログラム450の処理実行部452は、設置結果をエラーとして終了する。
S1304で、自動設置プログラム450の処理実行部452は、取得したファームウエアをファームウエア更新サービス403に渡し、ファームウエアを更新し、S1305に遷移する。S1305で、自動設置プログラム450の処理実行部452は、取得したファームウエアの取得先のsetCondition属性の値を一時的に記憶して終了する。S1306で、自動設置プログラム450の処理実行部452は、設置結果をエラーとして終了する。
図13の(B)は、自動設置作業におけるMFP105の自動設置プログラム450のWebサービス公開コマンドの処理例である。このWebサービス公開コマンドの処理は、前述したように図11のフローチャートで説明したS1105のコマンドを実行する処理である。
S1351で、自動設置プログラム450の処理実行部452は、Webサービス公開コマンドに含まれる<ifCondition>タグの値と、S1305で一時的に記憶したsetCondition属性の値が一致したかを判断する。値が一致していると処理実行部452が判断した場合はS1352に遷移する。値が一致していないと処理実行部452が判断した場合は、S1354に遷移して、ファームウエアを削除して、処理を終了する。
S1352で、自動設置プログラム450のWebサービス管理部454は、ファームウエアを提供するためのWebサービスを公開してS1353に遷移する。より具体的には、他のMFP105からのHTTPのGETコマンドのリクエストを受け付け、レスポンスとしてファームウエアを返すWebサービスを公開する。
S1353で、自動設置プログラム450の処理実行部452は、設置結果にS1352で公開したWebサービスのURLを追加して、終了する。
次に、Webサービスを公開したMFP105の自動設置プログラム450が、Webサービスを非公開にする処理について説明する。
S1353で、自動設置プログラム450の処理実行部452は、設置結果にS1352で公開したWebサービスのURLを追加して、終了する。
次に、Webサービスを公開したMFP105の自動設置プログラム450が、Webサービスを非公開にする処理について説明する。
図14は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、MFP105の自動設置プログラム450が、Webサービスを非公開にする処理例である。なお、各ステップは、CPU201が自動設置プログラム450を実行することで実現される。
S1401で、自動設置プログラム450の処理実行部452は、一定時間が経過したかを監視する。一定時間が経過していると処理実行部452が判断した場合は、S1402に遷移する。一定時間経過していないと処理実行部452が判断した場合には、監視を続ける。
S1402で、自動設置プログラム450の通信部455は、案件管理サーバ107、案件管理サーバプログラム550から案件の設置結果情報を取得して、S1403に遷移する。尚、案件管理サーバプログラム550は、作業状況データ管理テーブル670に同一案件のMFPの作業状況が完了となっている場合に、その案件の設置が完了したと判断する。その他は、作業中またはエラーと判断する。
S1403で、自動設置プログラム450の処理実行部452は、S1402で取得した案件の設置結果情報が完了であるかを判断する。ここで、完了であると処理実行部452が判断した場合は、S1404に遷移する。また、完了していないと処理実行部452が判断した場合はS1401に遷移する。S1404で、自動設置プログラム450のWebサービス管理部454は公開していたWebサービスを非公開にしてS1405に遷移する。
S1405で、自動設置プログラム450の処理実行部452はファームウエアを削除して、S1406に遷移する。S1406で、自動設置プログラム450の通信部455は、案件管理サーバ107にWebサービスを非公開にしたことを通知して終了する。通知を受信した案件管理サーバ107の案件管理サーバプログラム550は、データ格納部557に格納されているWebサービスの情報を非公開に更新する。
より具体的には、案件管理サーバプログラム550のWebサービス公開データ管理部555は、通知のあったMFP105のデバイスIDを基に、Webサービス公開データ管理テーブル690のレコードを削除する。
より具体的には、案件管理サーバプログラム550のWebサービス公開データ管理部555は、通知のあったMFP105のデバイスIDを基に、Webサービス公開データ管理テーブル690のレコードを削除する。
このように案件の設置が完了したのを確認してからWebサービスを非公開にすることで、ファームウエアが無駄に残ったままになったり、案件の設置が完了する前にWebサービスを非公開にしてしまったりすることがなくなる。尚、案件の設置が完了したことの確認の方法はこれに限らない。例えば、MFP105同士が通信できる場合は、その案件の最後に設置が完了したMFP105が、Webサービスを公開しているMFP105に対して、案件の設置が完了したことを通知するように構成してもよい。
以上、本実施形態によれば、同一案件、同一機種において自動設置処理を行う1台目のMFP105がファームウエアを提供可能なWebサービスを公開することで、顧客先のプロキシサーバ等への負荷を軽減できる。つまり、第1の情報処理装置がファームウエアをインストールし終えた後、当該情報処理装置が公開したファームウエアの取得先(第2の取得先)を第2の情報処理装置が取得するスクリプトに設定できる。これによって、他の情報処理装置は、既にファームウエアがインストールされた情報処理装置が公開する第2の取得先からファームウエアを取得してインストールすることができる。
また、本実施形態では、顧客先のネットワーク構成によって、Webサービスを公開しているMFP105と自動設置処理中のMFP105が通信できない場合には、自動設置処理中のMFP105もWebサービスを公開する。これにより、顧客先のネットワーク環境にあった形でMFP105がWebサービスを公開することができる。
本実施形態によれば、顧客先での設置作業のようなソフトウエア管理サーバといった仲介装置を別途配置するのが難しいような場合においても、顧客先のプロキシサーバ等への負荷を軽減できる。
本実施形態によれば、顧客先での設置作業のようなソフトウエア管理サーバといった仲介装置を別途配置するのが難しいような場合においても、顧客先のプロキシサーバ等への負荷を軽減できる。
〔第2実施形態〕
第1実施形態においては、自動設置処理を行う1台目のMFP105が他のMFP105にファームウエアを提供するWebサービスを公開した。そして、顧客先のネットワーク構成によってWebサービスを公開しているMFP105と通信できなかったMFP105もWebサービスを公開した。一般的に、MFPなどの画像形成装置は、サーバといった情報処理装置に比べて、搭載されているメモリ等が少ない。
そのため、MFPなどの画像形成装置はWebサービスの同時接続可能数などが少ない場合がある。また、図7のS702で説明したように、設置を行う場合、設置担当者721はMFP105の配置、設置作業があり、さらに次のMFP105の設置を行うための移動を伴う。そのため、同一の設置担当者721の設置作業によって、Webサービスを公開しているMFP105に対して他のMFP105から複数の接続が行われることはほとんどない。
第1実施形態においては、自動設置処理を行う1台目のMFP105が他のMFP105にファームウエアを提供するWebサービスを公開した。そして、顧客先のネットワーク構成によってWebサービスを公開しているMFP105と通信できなかったMFP105もWebサービスを公開した。一般的に、MFPなどの画像形成装置は、サーバといった情報処理装置に比べて、搭載されているメモリ等が少ない。
そのため、MFPなどの画像形成装置はWebサービスの同時接続可能数などが少ない場合がある。また、図7のS702で説明したように、設置を行う場合、設置担当者721はMFP105の配置、設置作業があり、さらに次のMFP105の設置を行うための移動を伴う。そのため、同一の設置担当者721の設置作業によって、Webサービスを公開しているMFP105に対して他のMFP105から複数の接続が行われることはほとんどない。
しかし、複数の設置担当者721がいた場合は、Webサービスを公開しているMFP105に対して複数の接続がされることもある。そのため、あるMFP105からはWebサービスを公開しているMFP105との接続がエラーとなってしまうことが考えられる。
そこで、本実施形態においては、複数の設置担当者721が設置を行う場合に、その設置担当者の数と同じ数のMFP105が、他のMFP105にファームウエアを提供するWebサービスを公開する例について記載する。システム構成、ハードウエア構成は、第1実施形態と同じであるため説明を省略する。また、ソフトウエア構成が第1実施形態と異なるのは、案件管理サーバプログラムのみであるため、その他は説明を省略する。
そこで、本実施形態においては、複数の設置担当者721が設置を行う場合に、その設置担当者の数と同じ数のMFP105が、他のMFP105にファームウエアを提供するWebサービスを公開する例について記載する。システム構成、ハードウエア構成は、第1実施形態と同じであるため説明を省略する。また、ソフトウエア構成が第1実施形態と異なるのは、案件管理サーバプログラムのみであるため、その他は説明を省略する。
<案件管理サーバプログラムのソフトウエア構成>
図15は、本実施形態を示すサーバ装置のソフトウエア構成を説明するブロック図である。本例は、案件管理サーバ107で動作する、案件管理サーバプログラム1500、および、データ格納部1502の機能構成の例である。案件管理サーバプログラム1500について、案件管理サーバプログラム550と異なる点のみ説明する。
図15は、本実施形態を示すサーバ装置のソフトウエア構成を説明するブロック図である。本例は、案件管理サーバ107で動作する、案件管理サーバプログラム1500、および、データ格納部1502の機能構成の例である。案件管理サーバプログラム1500について、案件管理サーバプログラム550と異なる点のみ説明する。
図15において、ユーザ管理部1501は、案件管理サーバプログラム1500にアクセスするユーザ(設置担当者)の認証を行う。具体的には、制御部551から渡されたユーザID、パスワードが後述するデータ格納部1502に格納されているユーザIDとパスワードが一致するかを検証する。また、ユーザ管理部1501は、新規にユーザが登録、削除されたり、パスワードの変更が行われたりした際に、データ格納部1502にユーザデータの格納、削除、更新を行う。
データ格納部1502は、データ格納部557に加えて、ユーザデータ管理テーブル1600を管理する。
データ格納部1502は、データ格納部557に加えて、ユーザデータ管理テーブル1600を管理する。
<データ格納部で管理されるテーブル群>
図16は、図15に示したデータ格納部1502で管理するテーブルの例を示す図である。以下、第1実施形態に示したデータ格納部557と異なるテーブルに関して説明する。
図16は、図15に示したデータ格納部1502で管理するテーブルの例を示す図である。以下、第1実施形態に示したデータ格納部557と異なるテーブルに関して説明する。
図16の(A)は、ユーザデータ管理テーブル1600を表している。ユーザデータ管理テーブル1600は、案件管理サーバプログラム1500にアクセスが許可されているユーザデータを格納しているテーブルであり、1レコードが1つのユーザデータを表している。カラム1601は、ユーザIDを表している。ユーザIDは案件管理サーバプログラム1500でユーザを一意に識別するための識別子である。カラム1602はユーザのパスワードである。
尚、パスワードはハッシュ関数を通した文字列を保存するなどが望ましい。カラム1603はユーザの電子メールアドレスである。尚、図16の(A)のテーブル構成は一例であり、本例とは異なるテーブル構成であってもよい。例えば、管理者権限や一般者権限であるのかなどの権限情報を含むような構成でも良い。
図16の(B)は、Webサービス公開データ管理テーブル1650の内容である。Webサービス公開データ管理テーブル690と異なる点のみ説明する。
図16の(B)において、カラム1651は、ユーザIDを示している。このユーザIDは、案件管理サーバプログラム1500にアクセスが許可されているユーザ(設置担当者)のユーザIDである。つまり、ユーザデータ管理テーブル1600で管理されているユーザIDである。
図16の(B)において、カラム1651は、ユーザIDを示している。このユーザIDは、案件管理サーバプログラム1500にアクセスが許可されているユーザ(設置担当者)のユーザIDである。つまり、ユーザデータ管理テーブル1600で管理されているユーザIDである。
<自動設置処理>
図17は、本実施形態を示すMFP105の自動設置プログラム450のUIの一例を示す図である。本UIは、設置担当者721がS702の作業を行う際に操作する。
図17において、UI1700は、UI1000のボタン1001を押下された際に表示するUIである。テキストボックス1701は、ユーザIDを入力するためのテキストボックスである。テキストボックス1702は、ユーザのパスワードを入力するためのボタンである。
図17は、本実施形態を示すMFP105の自動設置プログラム450のUIの一例を示す図である。本UIは、設置担当者721がS702の作業を行う際に操作する。
図17において、UI1700は、UI1000のボタン1001を押下された際に表示するUIである。テキストボックス1701は、ユーザIDを入力するためのテキストボックスである。テキストボックス1702は、ユーザのパスワードを入力するためのボタンである。
ボタン1703は、自動設置作業を実行するためのボタンである。ボタン1703が押下されたことを検知すると自動設置プログラム450は、自動設置作業を開始する。より具体的には、自動設置プログラム450は、テキストボックス1701と1702で入力されているユーザIDとパスワードをスクリプト取得要求に含める。
そして、図11のS1101で説明したように案件管理サーバ107の案件管理サーバプログラム550にスクリプト取得要求を送信する。MFP105の自動設置プログラム450の、以降の自動設置作業の処理は図11のS1102からS1110と同じである。ボタン1704は、自動設置プログラム450を終了するためのボタンである。
図18は、本実施形態を示すサーバ装置の制御方法を説明するフローチャートである。本例は、自動設置プログラム450から送信されたスクリプト取得要求を受信してからレスポンスを返すまでの、案件管理サーバ107の案件管理サーバプログラム1500の処理である。
S1751で、案件管理サーバプログラム1500の通信部556は、スクリプトの取得要求を受信したかを監視する。スクリプトの取得要求を受信した場合は、S1752に遷移する。スクリプトの取得要求を受信していない場合は監視を続ける。
S1752で、案件管理サーバプログラム1500のユーザ管理部1501は、ユーザ(設置担当者)の認証を行う。具体的には、案件管理サーバプログラム1500のユーザ管理部1501は、スクリプトの取得要求に含まれるユーザIDとパスワードがユーザデータ管理テーブル1600に格納されているユーザIDとパスワードが一致するかを確認する。一致しているとユーザ管理部1501が判断した場合は、認証を成功とし、S1753に遷移する。一致していないとユーザ管理部1501が判断した場合は、認証を失敗とし、S1762に遷移する。
S1753で、案件管理サーバプログラム1500のWebサービス公開データ管理部555は、認証したユーザと紐づいたWebサービスを公開しているMFPがあるかを判断する。具体的には、スクリプト取得要求に含まれる、デバイスIDから特定される案件ID、機種と、ユーザIDが、それぞれWebサービス公開データ管理テーブル1650のカラム691、カラム693、カラム1651のフィールドと一致するかで判断する。ここで、認証したユーザと紐づいたWebサービスを公開しているMFPがあるとWebサービス公開データ管理部555が判断した場合は、S1754に遷移する。一方、認証したユーザと紐づいたWebサービスを公開しているMFPがないとWebサービス公開データ管理部555が判断した場合は、S1755に遷移する。
S1754で、案件管理サーバプログラム1500の制御部551は、設置用スクリプトを編集する際に設定するsetConditonの値をfalse(非公開)として一時的に記憶してS1756に遷移する。
S1755で、案件管理サーバプログラム1500の制御部551は、設置用スクリプトを編集する際に設定するsetConditonの値をtrueとして一時的に記憶してS1756に遷移する。
S1756で、案件管理サーバプログラム1500のWebサービス公開データ管理部555は、Webサービス公開データ管理テーブル1650からWebサービス公開データを取得してS1757に遷移する。具体的には、S1751で受信したスクリプトの取得要求に含まれるデバイスIDから特定される案件ID、および、機種で絞ったWebサービス公開データを取得する。
S1757で、案件管理サーバプログラム1500の制御部551は、S1756で取得したWebサービス公開データからWebサービスを公開しているMFPがあるかを判断する。Webサービスを公開しているMFPがあると制御部551が判断した場合は、S1758に遷移する。Webサービスを公開しているMFPがないと制御部551が判断した場合は、S1763に遷移する。
S1758で、案件管理サーバプログラム1500のスクリプト編集部552は、設置用スクリプトにS1756で取得したWebサービス公開データに含まれるWebサービスのURLを追加してS1759に遷移する。より具体的には、設置用スクリプト900のファームウエア更新コマンド部903に<path>タグを追加する。追加した<path>タグの値は、Webサービス公開データに含まれるWebサービスのURLである。
S1759で、案件管理サーバプログラム1500のスクリプト編集部552は、S1758で追加した<path>タグにsetConditionを設定してS1760に遷移する。S1759で設定する値は、S1754、または、S1755で一時的に記憶した値である。このようにsetConditionを設定することで、MFP105の自動設置プログラム450は、認証したユーザに紐づいたWebサービスを公開しているMFPがいない場合にのみWebサービスを公開することになる。
S1760で、案件管理サーバプログラム1500の通信部556は、設置用スクリプトをMFP105の自動設置プログラム450に送信してS1761に遷移する。
S1760で、案件管理サーバプログラム1500の通信部556は、設置用スクリプトをMFP105の自動設置プログラム450に送信してS1761に遷移する。
S1761で、案件管理サーバプログラム1500の作業状況データ管理部554は、作業状況データ管理テーブル670の作業状況を作業中に更新して終了する。
一方、S1762では、案件管理サーバプログラム1500の通信部556は、認証エラーの情報を、MFP105の自動設置プログラム450に送信して終了する。
さらに、S1763では、案件管理サーバプログラム1500のスクリプト編集部552は、ソフトウエア管理サーバ108のURLを記載している<path>タグのsetConditionの値をtrueにして、S1760に遷移する。
一方、S1762では、案件管理サーバプログラム1500の通信部556は、認証エラーの情報を、MFP105の自動設置プログラム450に送信して終了する。
さらに、S1763では、案件管理サーバプログラム1500のスクリプト編集部552は、ソフトウエア管理サーバ108のURLを記載している<path>タグのsetConditionの値をtrueにして、S1760に遷移する。
図19は、図15に示した案件管理サーバプログラム1500で編集される設置用スクリプト1800の内容の一例を示す図である。本例は、S1758、S1759の処理で編集された設置用スクリプト1800の内容を説明する。
尚、本例は、S1753の処理で、認証したユーザと紐づいたWebサービスを公開しているMFP105がなかったと判断された場合を記載する。また、S1758、S1759の処理では、設置用スクリプト900のファームウエア更新コマンド部903を編集したのみであり、その他は変更がないため、図19においては、ファームウエア更新コマンド部1801のみ説明する。
尚、本例は、S1753の処理で、認証したユーザと紐づいたWebサービスを公開しているMFP105がなかったと判断された場合を記載する。また、S1758、S1759の処理では、設置用スクリプト900のファームウエア更新コマンド部903を編集したのみであり、その他は変更がないため、図19においては、ファームウエア更新コマンド部1801のみ説明する。
ファームウエア更新コマンド部1801は、S1758の処理により、ファームウエア更新コマンド部901に対して<path>タグを追加している。ファームウエア更新コマンド部1801は、<path>タグ1802、<path>タグ1803、<path>タグ1804から成る。
<path>タグ1802は、デバイスIDがN001であるMFP105が公開するWebサービスがファームウエア取得先であることを示している。これは、Webサービス公開データ管理テーブル1650の最初のレコードに格納されているWebサービス公開データが用いられている。
また、<path>タグ1202のpriority属性の値は1となっており、複数ある<path>タグの中で優先順位が最も高く、最初のファームウエア取得先であることを示している。<path>タグ1202のsetCondition属性の値はtrueとなっており、デバイスIDがN001であるMFP105からファームウエアが取得できた場合には、後続のWebサービス公開コマンド部909を実行することを示している。
<path>タグ1803は、デバイスIDがN003であるMFP105が公開するWebサービスがファームウエア取得先であること示している。これは、Webサービス公開データ管理テーブル1650の2つ目のレコードに格納されているWebサービス公開データである。
また、<path>タグ1803のpriority属性の値は2となっており、複数ある<path>タグの中で優先順位が2番目に高いファームウエア取得先であることを示している。<path>タグ1803のsetCondition属性の値はtrueとなっており、デバイスIDがN003であるMFP105からファームウエアが取得できた場合には、後続のWebサービス公開コマンド部909は実行することを示している。
<path>タグ1803の値は、ファームウエアの取得先がソフトウエア管理サーバ108であることを示している。priority属性の値は3である。
<path>タグ1803の値は、ファームウエアの取得先がソフトウエア管理サーバ108であることを示している。priority属性の値は3である。
これは3つあるファームウエア取得先の中で最も優先順位が低いことを表している。<path>タグ1804のsetCondition属性の値はtrueとなっており、ソフトウエア管理サーバ108からファームウエアが取得できた場合には、後続のWebサービス公開コマンド部909は実行することを示している。
以上のように、認証したユーザと紐づいたWebサービスを公開しているMFP105がなかった場合は、どのファームウエア取得先からファームウエアを取得した場合も、Webサービスを公開することになる。
以上、本実施形態によれば、設置担当者721の数だけMFP105がWebサービスを公開することで、Webサービスを公開するMFP105と設置作業中のMFP105が同時接続によりエラーとなることを少なくすることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。
105 MFP
106 クライアントコンピュータ
107 案件管理サーバ
108 ソフトウエア管理サーバ
106 クライアントコンピュータ
107 案件管理サーバ
108 ソフトウエア管理サーバ
Claims (13)
- 複数の情報処理装置と、管理装置とが通信する情報処理システムであって、
第1の情報処理装置は、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、
前記スクリプトに設定された前記管理装置が管理する第1の取得先から所定のファームウエアを取得してインストールする実行手段と、
第2の情報処理装置が取得すべき所定のファームウエアの取得先を第2の取得先とすべきことを前記管理装置に通知する通知手段と、を備え、
前記管理装置は、
所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、
前記管理手段は、前記第1の情報処理装置から通知される第2の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第1の取得先から前記第2の取得先に更新し、
前記第2の情報処理装置は、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、
前記スクリプトに設定された前記第2の取得先から所定のファームウエアを取得してインストールする実行手段と、
を備えることを特徴とする情報処理システム。 - 前記第2の取得先は、所定のファームウエアがインストールされた情報処理装置が公開するウエブサービスで特定されるURLであることを特徴とする請求項1に記載の情報処理システム。
- 前記管理手段は、
複数のユーザに対応づけて所定のファームウエアの取得先を特定するウエブサービスのURLを管理することを特徴とする請求項1に記載の情報処理システム。 - 前記第2の取得先を公開した情報処理装置は、前記管理装置から受け取る前記所定のファームウエアのインストール作業の状況に従い、前記管理装置から取得した所定のファームウエアを削除する削除手段を備えることを特徴とする請求項1に記載の情報処理システム。
- 前記第2の取得先を公開した情報処理装置は、前記管理装置から受け取る前記所定のファームウエアのインストール作業の状況に従い、ウエブサービスを提供するための管理情報を公開から非公開に更新する更新手段を備えることを特徴とする請求項1に記載の情報処理システム。
- 前記スクリプトには、優先順位に従う複数の取得先を設定できることを特徴とする請求項1に記載の情報処理システム。
- 前記管理装置は、さらに、
認証されるユーザに対応づけられたウエブサービスを公開している情報処理装置があるかどうかを判断する第1の判断手段と、
前記認証されるユーザに対応づけられたウエブサービスを公開している情報処理装置がないと判断した場合、ウエブサービスを公開している他の情報処理装置があるかどうかを判断する第2の判断手段と、
公開している他の情報処理装置があると判断した場合、当該他の情報処理装置が公開しているURLを前記スクリプトに設定し、公開している他の情報処理装置がないと判断した場合、前記管理装置が管理する前記所定のファームウエアの取得先を前記スクリプトに設定する編集手段と、
を備えることを特徴とする請求項1に記載の情報処理システム。 - 他の情報処理装置または管理装置と通信する情報処理装置であって、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得手段と、
前記スクリプトに設定された前記管理装置が管理する第1の取得先から所定のファームウエアを取得してインストールする実行手段と、
他の情報処理装置が取得すべき所定のファームウエアの取得先を第2の取得先とすべきことを前記管理装置に通知する通知手段と、備え、
前記所定のファームウエアがインストールされた後、前記所定のファームウエアがインストールされていない他の情報処理装置に対して、インストールされた所定のファームウエアを提供するためのウエブサービスを公開することを特徴とする情報処理装置。 - 複数の情報処理装置と通信する管理装置であって、
所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理手段を備え、
前記管理手段は、第1の取得先から取得した所定のファームウエアがインストールされたいずれか1つの情報処理装置から通知される第2の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第1の取得先から前記第2の取得先に更新することを特徴とする管理装置。 - 他の情報処理装置または管理装置と通信する情報処理装置の制御方法であって、
前記管理装置から所定のファームウエアをインストールするためのスクリプトを取得する取得工程と、
前記スクリプトに設定された前記管理装置が管理する第1の取得先から所定のファームウエアを取得してインストールする実行工程と、
他の情報処理装置が取得すべき所定のファームウエアの取得先を第2の取得先とすべきことを前記管理装置に通知する通知工程と、備え、
前記所定のファームウエアがインストールされた後、前記所定のファームウエアがインストールされていない他の情報処理装置に対して、インストールされた所定のファームウエアを提供するためのウエブサービスを公開することを特徴とする情報処理装置の制御方法。 - 複数の情報処理装置と通信する管理装置の制御方法であって、
所定のファームウエアおよび、当該所定のファームウエアを取得してインストールするためのスクリプトを記憶して管理する管理工程を備え、
前記管理工程は、第1の取得先から取得した所定のファームウエアがインストールされたいずれか1つの情報処理装置から通知される第2の取得先に基づいて、前記スクリプトに設定される前記所定のファームウエアの取得先を第1の取得先から前記第2の取得先に更新することを特徴とする管理装置の制御方法。 - 請求項10に記載の情報処理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
- 請求項11に記載の管理装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015136040A JP2017021407A (ja) | 2015-07-07 | 2015-07-07 | 情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015136040A JP2017021407A (ja) | 2015-07-07 | 2015-07-07 | 情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017021407A true JP2017021407A (ja) | 2017-01-26 |
Family
ID=57888654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015136040A Pending JP2017021407A (ja) | 2015-07-07 | 2015-07-07 | 情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017021407A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019212223A (ja) * | 2018-06-08 | 2019-12-12 | キヤノン株式会社 | 情報処理システム、およびその制御方法 |
-
2015
- 2015-07-07 JP JP2015136040A patent/JP2017021407A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019212223A (ja) * | 2018-06-08 | 2019-12-12 | キヤノン株式会社 | 情報処理システム、およびその制御方法 |
JP7129231B2 (ja) | 2018-06-08 | 2022-09-01 | キヤノン株式会社 | 情報処理システム、およびその制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10015326B2 (en) | Image forming apparatus, automatic installation method for efficiently installing an image forming apparatus, and storage medium | |
US9471328B2 (en) | Information processor having program and configuration data stored in different storage areas and reflecting configuration data in operation in program | |
JP6355370B2 (ja) | 自動設置システム及び方法、情報処理装置、画像形成装置、プログラム | |
US20150067671A1 (en) | Information processing apparatus, control method, and storage medium | |
JP2003050781A (ja) | 個人認証装置、バージョン管理装置、個人認証方法、バージョン管理方法、個人認証方法をコンピュータに実行させるプログラム、およびバージョン管理方法をコンピュータに実行させるプログラム | |
JP2015230669A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US20180039453A1 (en) | Information processing system and application installation method | |
US9207899B2 (en) | Management apparatus, system, and method of controlling the same | |
JP2017004175A (ja) | 管理システムおよびその制御方法、情報処理装置、並びにプログラム | |
US20160231971A1 (en) | Information processing device, management device, control method for information processing device, control method for management device, and program | |
JP2016018339A (ja) | システム、及びシステムの制御方法 | |
JP6357989B2 (ja) | 情報処理システム、情報処理装置、及び情報処理方法 | |
JP2009151480A (ja) | 契約製品提供方法、クライアント装置、サーバ、プログラム、および該プログラムを記録した記録媒体 | |
JP2017021407A (ja) | 情報処理システム、情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム | |
JP6429502B2 (ja) | 管理システム、及びその方法 | |
JP2017111531A (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2011253294A (ja) | 情報処理装置および制御方法およびプログラム | |
JP2018120541A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム、自動設置システム | |
JP2017005510A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP6614987B2 (ja) | 管理システム、管理装置及びその制御方法 | |
JP7482692B2 (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP2018116361A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、及びプログラム、情報処理システム | |
JP2016148949A (ja) | 管理装置、情報処理装置、管理装置の制御方法、情報処理装置の制御方法、及びプログラム | |
JP2016091521A (ja) | 案件管理装置、案件管理システムおよび案件管理方法 | |
JP2016081164A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |