以下、本発明を実施するための形態について図面を用いて説明する。以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。
<システム全体構成>
図1は、本発明の一実施例を示す画像形成装置を含む管理システムの機器構成を例示する図である。
図1に示すように、本実施例の管理システムでは、LAN(Local Area Network)100上に、画像形成装置101、クライアントコンピュータ103が接続されている。104は、画像形成装置101が通信可能に接続可能な外部サーバである。さらに、102は、画像形成装置101が設定に用いる可搬記憶媒体である。
画像形成装置101は、本発明の画像処理装置の一例を示すものであり、例えば、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等の複数の機能を統合した複合機(MFP;Multi Function Peripheral)等である。本実施例では、画像形成装置101は、上述したような複合機として説明するが、スキャナやプリンタ、ファクシミリ等の単機能の画像処理装置であってもよいし、その他の情報処理装置等も含まれる。また、画像形成装置101は、可搬記憶媒体を接続可能なインターフェースを有している。可搬記憶媒体を接続するインターフェースの種別は問わないが、本実施例ではUSBインターフェースを用いることとする。このインターフェースに可搬記憶媒体102を接続することで、画像形成装置101から可搬記憶媒体102に対してデータの読み書きを行うことができる。可搬記憶媒体102は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わないが、本実施例ではUSBマスストレージクラスを実装するUSBストレージを用いるものとする。
クライアントコンピュータ103は、所謂パーソナルコンピュータである。クライアントコンピュータ103は、可搬記憶媒体102を接続するインターフェースを有している。可搬記憶媒体102を接続するインターフェースの種別は問わないが、本実施例ではUSBインターフェースを用いる。このインターフェースにUSBストレージ102を接続することで、クライアントコンピュータ103からUSBストレージ102に対してデータの読み書きを行うことができる。
外部サーバ104は、画像形成装置101で利用可能なファームウェア、拡張プログラム、各種ライセンス情報等を管理する情報処理装置である。外部サーバ104はLAN100に直接接続されていても、インターネットを経由して画像形成装置101と接続可能な構成でもよい。
<ハードウェア構成例−画像形成装置>
図2は、画像形成装置101のハードウェア構成を例示するブロック図である。
CPU211を含む制御部210は、画像形成装置101全体の動作を制御する。CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御などの画像形成装置101の各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。
HDD214は、画像データや各種プログラム、或いは各種情報テーブルを記憶するハードディスクドライブである。なお、SSD(Solid State Drive)等の他の記憶装置を備えていてもよい。操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。
プリンタI/F216は、プリンタ220と制御部210とを接続する。プリンタ220で印刷すべき画像データはプリンタI/F216を介して制御部210から転送され、プリンタ220において記録媒体上に印刷される。スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に入力する。
ネットワークI/F218は、制御部210(画像形成装置101)をLAN110に接続する。ネットワークI/F218は、LAN上の外部装置に画像データや情報を送信したり、LAN110上の外部装置から各種情報を受信したりする。
USBホストI/F222は、USBストレージ102と通信するインターフェース部である。USBホストI/F222は、HDD214等に格納されているデータをUSBストレージ102に出力する。また、USBホストI/F222は、USBストレージ102に格納されているデータを入力し、CPU211にそれを伝える。USBストレージ102は、データを格納する外部記憶装置であり、USBホストI/F222に対して着脱可能である。USBホストI/F222には、USBストレージ102を含む複数のUSBデバイスが接続可能である。
<ハードウェア構成例−クライアントコンピュータ>
図3は、クライアントコンピュータ103の構成を例示するブロック図である。
CPU317を含む制御部316は、クライアントコンピュータ103全体の動作を制御する。CPU317は、ROM318に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM319は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD320は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。なお、SSD等の他の記憶装置を備えていてもよい。
操作I/F321は、クライアントコンピュータ103で実行されるプログラムへの制御操作を入力するユーザインタフェース端末を接続するI/Fである。この例では、マウス322やキーボード323で構成するが、その限りではない。ディスプレイI/Fは、クライアントコンピュータ103で実行されるプログラムのUIを表示するディスプレイ端末を接続するI/Fである。この例ではディスプレイ325で構成するが、その限りではない。ネットワークI/F326は、制御部316をLAN110に接続する。ネットワークI/F326は、ネットワークを介して他の装置との間で各種情報を送受信する。
USBホストI/F327は、USBストレージ102と通信するインターフェース部である。USBホストI/F327は、HDD320等に格納されているデータをUSBストレージ102に出力する。また、USBホストI/F327は、USBストレージ102に格納されているデータを入力し、CPU317にそれを伝える。USBストレージ102は、データを格納する外部記憶装置であり、USBホストI/F327に対して着脱可能である。USBホストI/F327には、USBストレージ102を含む複数のUSBデバイスが接続可能である。
<ハードウェア構成例−外部サーバ>
図4は、外部サーバ104の構成を例示するブロック図である。
CPU411を含む制御部410は、外部サーバ104全体の動作を制御する。CPU411は、ROM412に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM413は、CPU411の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD414は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。なお、SSD等の他の記憶装置を備えていてもよい。
ネットワークI/F415は、制御部410をLAN100に接続する。ネットワークI/F415は、ネットワークを介して他の装置との間で各種情報を送受信する。
<ソフトウェア構成例−画像形成装置>
図5は、画像形成装置101のソフトウェア構成を例示する図である。
500は、OS(オペレーティングシステム)である。OS500上には、プリンタやFAX、スキャナなどの元々備わっている制御用プログラムのネイティブプログラム501、拡張プログラム実行プラットフォームである拡張プログラム実行プラットフォーム502が動作している。
さらに、ネイティブプログラム501上には、ファームウェア更新サービス503、オプション有効化サービス504、設定管理サービス505等が動作している。また、拡張プログラム実行プラットフォーム502上には、拡張プログラムシステムサービス506、拡張プログラム507等が動作している。
ファームウェア更新サービス503は、ファームウェアを更新するための各種機能を提供するサービスである。例えば、ファームウェア更新サービス503は、ユーザから指定されたファームウェアを参照し、該ファームウェアの更新が必要か否かを判断する。また、ファームウェア更新サービス503は、ネイティブプログラム501に対し、またはネイティブプログラム501を介し、ファームウェアを更新する。
オプション有効化サービス504は、ネイティブプログラム501に予め組み込まれているオプション機能を、有効化するためのサービスである。オプション有効化サービス504は、ユーザから指定されたオプションライセンスファイルにより特定されるオプション機能を識別し、有効化する。
設定管理サービス505は、プリンタやスキャナなどの各種設定情報を管理するためのサービスである。設定管理サービス505は、例えばユーザから1つまたは複数の設定、または複数の設定情報を含むファイルを指定されると、ネイティブプログラム501の設定情報を書き換える機能を提供する。なお、設定管理サービス505は、操作部219にユーザインターフェース(以下、UI)を提供する機能を有し、ユーザは画像形成装置101の操作部219を介して設定変更の指示が可能である。
拡張プログラムシステムサービス506は、拡張プログラムに共通に有用なユーティリティライブラリであり、システムから提供される。設拡張プログラム507から拡張プログラムシステムサービス506の機能を呼び出すことにより、拡張プログラムを開発する手間を省くことができる。
拡張プログラム507は、拡張プログラム実行プラットフォーム502または拡張プログラムシステムサービス506を介してのみ、他の拡張プログラム507やRAM213など画像形成装置101の各モジュールへアクセスすることができる。また、UIを持つ拡張プログラム507は、画像形成装置101の操作部219に表示されるメインメニュー画面(図6)にアイコンを表示することができる。このアイコンをユーザが選択したことを、操作部219を通じて操作部I/F215が検知すると、操作部I/F215はその旨をCPU211に送信する。そして、その旨を受け取ったCPU211は、ユーザに選択された拡張プログラムのUIを操作部219に表示する。
なお、図5で例示したソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていてもよい。また、設定を制限するなどの理由により、不要なサービスは無くてもよい。
図6は、画像形成装置101の操作部219に表示されるメインメニュー画面を例示する図である。
メインメニュー画面600は、プログラムアイコン表示エリア601、標準プログラムアイコン602、拡張プログラムアイコン603を有している。プログラムアイコン表示エリア601は、画像形成装置101で現在操作可能なプログラムのアイコンを表示するエリアである。標準プログラムアイコン602は、画像形成装置101の制御プログラムが持つ機能を操作するためのUIを表示させるためのアイコンである。拡張プログラムアイコン603は、画像形成装置101の拡張プログラムを操作するためのUIを表示させるためのアイコンである。
<設置作業例>
以下、本発明に係る画像形成装置の初期設置作業について説明する。
画像形成装置101の初期設置作業を行うにあたり、作業者はUSBストレージ102をクライアントコンピュータ103に接続する。作業者はクライアントコンピュータ103で動作する管理システムを操作し、該当する画像形成装置の設置指示情報、初期設置作業用設定値をUSBストレージ102に書き込む。
また、作業者は、設置作業対象の画像形成装置101に初期設置の作業をサポートするためのサポートプログラム(以下、サポートプログラム)をインストールしておく。なお、サポートプログラムは画像形成装置101で既にインストールされていて実行されていてもよい。また、サポートプログラムは、ネイティブプログラム501上の標準サービスとして、実装され実行されていてもよい。
さらに、作業者は、該USBストレージ102をクライアントコンピュータ103から抜き取り、画像形成装置101にUSBストレージ102を接続する。
USBストレージ102が画像形成装置101に接続されると、画像形成装置101のサポートプログラムは、USBストレージ102の設置指示情報を検知し、スクリプトに記載されている設置作業を自動的に実行する。このとき、サポートプログラムは、該スクリプトの実行により、初期設置作業用設定値と設置指示情報を使用し、設置作業を自動的に実行する。さらに、サポートプログラムは、遅延実行指示情報の設置作業を実行する。詳細は、図12を用いて後述する。
<ソフトウェア機能構成例>
本発明に係る、後述する設置指示情報の保存指示情報出力処理は、拡張プログラムの一つであるサポートプログラムが行う。また、本発明に係る、後述する設置指示情報出力処理は、クライアントコンピュータ103で動作するプログラムが行う。
図7は、画像形成装置101で動作するサポートプログラム700の機能構成を例示する図である。なお、図7に示すサポートプログラム700の各機能701〜704は、CPU211がHDD214等に格納された各機能に応じたプログラムを実行することにより実現される。
サポートプログラム700は、UI制御部701、ストレージ管理部702、処理実行部703とスクリプト解析部704を有する。UI制御部701は、サポートプログラム700を操作するためのUIを、操作部219を通じて作業者に提供し、作業者の操作を受け付ける。ストレージ管理部702は、USBストレージ102のデータの読み書きを行う。また、ストレージ管理部702は、USBストレージ102の挿抜を検知する。
処理実行部703は、UI制御部701及びストレージ管理部702の指示に従い、各種処理を行う。スクリプト解析部704は、USBストレージ102に格納されている設置作業指示情報のスクリプトを解析し、処理実行部703が実行すべき処理、順序を決定する。
図8は、クライアントコンピュータ103で動作する管理システム800の機能構成を例示する図である。なお、図8に示す管理システム800の各機能801〜806は、CPU317がHDD320等に格納された各機能に応じたプログラムを実行することにより実現される。また、本実施例では、クライアントコンピュータ103で管理システム800が実行されることを想定するが、その限りではない。例えば、ネットワークI/F326を介して、ネットワーク上にあるサーバやサービスで管理システム800を実行してもよい。
管理システム800は、UI制御部801、設置指示情報管理部802、設置指示情報データベース803、ストレージ管理部804、処理実行部805、スクリプト生成部806を有する。UI制御部801は、管理システムを操作するためのUIを、ディスプレイ325を通じて作業者に提供し、マウス322やキーボード323を通じて作業者の操作を受け付ける。
設置指示情報管理部802は、UI制御部801および処理実行部805の指示に従い、設置指示情報データベース803からの設置指示情報の読み出しや書き込みを管理し、設置指示情報データベース803に設置指示情報を保持する。設置指示情報データベース803は、SQLデータベースを想定するが、その限りではない。例えば、設置指示情報データベース803は、ファイルシステムに構造化ファイルなどの方法で設定指示情報等のデータを保持していてもよい。また、本実施例では、設定指示情報等のデータを、クライアントコンピュータ103のHDD320に保存されることを想定するが、その限りではない。設定指示情報等のデータを、ネットワークI/F326を介して、ネットワーク上にあるサーバやサービスで管理していてもよい。
ストレージ管理部804は、USBストレージ102のデータの読み書きを行う。また、ストレージ管理部804は、USBストレージ102の挿抜を検知する。処理実行部805は、UI制御部801およびストレージ管理部804の指示に従い、各種処理を行う。スクリプト生成部806は、処理実行部805の指示に従い、設置指示情報とサポートプログラム700が解析可能なスクリプトを生成する。
<USBストレージの設置指示情報とスクリプト例>
図9は、サポートプログラム700が使用するUSBストレージ102内のフォルダ及びファイル構成を例示する図である。
ルートフォルダ900の中には、Firmwareフォルダ901、EmbeddedFuncフォルダ903、Appフォルダ905、DevConfigフォルダ908、Logフォルダ910、Script.xmlファイル912が存在する。
Firmwareフォルダ901は、画像形成装置101に対して更新したいファームウェアを格納するフォルダである。本図の例では、Firmwareフォルダ901の中に、ファームウェア群をzip形式でアーカイブしたFirmware_v1.0.1.zipファイル902が格納されている。
EmbeddedFuncフォルダ903は、画像形成装置101にプリインストールされている機能をアクティベートするためのライセンスファイルを格納するフォルダである。本図の例では、EmbeddedFuncフォルダ903の中に、ライセンスファイルEmbeddedFunc−License.lic904が格納されている。
Appフォルダ905は、初期設置作業にて画像形成装置101に対してインストールすべき拡張プログラム、及び拡張プログラムのインストールに必要なライセンスファイルを格納するフォルダである。本図の例では、Appフォルダ905に、拡張プログラムApplication001.jar906、及びライセンスファイルApp001−License.lic907が格納されている。
DevConfigフォルダ908は、リファレンス画像形成装置にて事前に設定、及びエクスポートした設定情報を格納するフォルダである。本図の例では、DevConfigフォルダ908に、zip形式でアーカイブしたファイルdeviceConfigurationFile.zip909が格納されている。
Logフォルダ910は、サポートプログラムが実行した結果のファイル(以降、ログ)を格納するためのフォルダである。本図の例では、Logフォルダ910に、Log.txt911が格納されているが、サポートプログラムを実行する前は、Logフォルダ910、及びLog.txt911は存在しない。Logフォルダ910及びLog.txt911は、実行中、または実行後にサポートプログラムによって作成される。
Script.xml912は、初期設置作業を自動的に処理するための作業手順を示す指示書(スクリプト)である。スクリプトの詳細については、図10にて後述する。なお、本スクリプトは、初期設置作業手順を定義するファイルであるが、スクリプトファイル912の存在有無によってサポートプログラムの実行可否を決定してもよい。つまり、使用中のUSBストレージ102が、本実施形態に係るサポートプログラム用のUSBストレージ102であることを示す識別子としてスクリプトファイル912を使用してもよい。
WorkAreaConfig.cfg913は、初期設置作業を行う間使用する画像形成装置101に適用する初期設置作業用設定値を格納する初期設置作業用設定値ファイルである。初期設置作業用設定値の詳細については、図11にて後述する。なお、本図における構成は一例であり、これに限らず任意のフォルダ構成としてよい。
図10は、画像形成装置101の初期設置作業を自動実施するための作業手順を示す設置指示情報のスクリプトを例示する図である。例えば、図10に示すようなスクリプトが、図9に示したScript.xml912に格納されている。
スクリプト1000は、サポートプログラム700のストレージ管理部702で読み込まれ、処理実行部703を介しスクリプト解析部704によって解析される。スクリプト解析部704によって解析されたスクリプト1000は、その後、処理実行部703によって、記載された初期設置作業の実行に用いられる。また、本図におけるスクリプト1000は、XML(Extensible Markup Language)で記載されており、機器識別部1001と処理記載部1002で構成されている。なお、本図ではXMLによりスクリプトを表現しているが、XMLに限定されず、シェルスクリプトなどで書かれていてもよい。
機器識別部1001には、初期設置作業の対象である画像形成装置101を識別するための情報が記載されている。機器識別部1001は、画像形成装置101の識別子である<deviceid>と、本スクリプトの内容を任意の文字列で示す<comment>を含む。<comment>は、本スクリプトの内容説明だけでなく、<deviceid>だけで識別不可能な場合の識別子として利用してもよい。例えば、1つの画像形成装置101に対し複数の設定を用意する必要がある場合に識別子となる情報を<comment>に記載してもよい。
処理記載部1002には、初期設置作業を実施するために必要な処理群が記載される。本図の例では、処理記載部1002に、ファームウェア更新処理1003a(又は1003b)、拡張プログラムインストール処理1004a(又は1004b)、拡張プログラム開始処理1005、システム組み込みオプションプログラムアクティベート処理1006a(又は1006b)、設定情報インポート処理1007が記載されている。
各初期設置作業の処理を示すタグの中には、Order属性が含まれており、本図の例では、Orderの値に応じて初期設置作業の順番が決定する。なお、処理の順番を特に指定しない場合は、Orderの値を同じにすることもできる。Orderの値が同じ場合は、処理記載部1002に書かれている順番で実行してもよいし、スクリプト解析部704が読み取った順番でもよい。また各処理で使用するデータの容量などで判断してもよい。
ファームウェア更新処理1003a、1003bは、ファームウェア更新サービス503を介してファームウェアを更新する処理である。ファームウェア更新処理1003aは、<updateFirmwareCommand>タグを記載することで処理を定義し、<relativeDirPath>タグと<FirmwareName>により使用するファイルを指定している。<relativeDirPath>タグには、ルートフォルダ900から更新したいファームウェアまでの相対パスが記載されている。<FirmwareName>タグでは、更新したいファームウェアが指定されている。本図の例においては、Zip形式でアーカイブされたファームウェアが指定されている。
また、ファームウェア更新処理1003bは、<updateFirmwareCommand>タグを記載することで処理を定義し、<contentsServer>タグと<firmwareVersion>タグにより外部サーバ104からダウンロードし更新するファームウェアを指定している。<contentsServer>タグには、外部サーバのURLが記載されている。<firmwareVersion>タグには、ダウンロードするキーとなるファームウェアバージョンが記載されている。
拡張プログラムインストール処理1004a、1004bは、拡張プログラムシステムサービス506を介して、拡張プログラムをインストールする処理である。拡張プログラムインストール処理1004aは、<installApplicationCommand>タグの記載により処理を定義しており、<relativeDirPath>タグ、及び<AppFileName>タグによりインストールする拡張プログラムを指定している。<relativeDirPath>タグは、ルートフォルダ900からインストール対象の拡張プログラムの実体までの相対パスが記載されている。<AppFileName>タグは、インストール対象の拡張プログラムの実体が指定されている。本図においてはJarファイル形式の拡張プログラムが指定されている。なお、本拡張プログラムの形式はJarファイル形式に限定されない。
また、拡張プログラムインストール処理1004bは、<installApplicationCommand>タグの記載により処理を定義しており、<contentsServer>タグ、<applicationName>タグ、<applicationVersion>タグにより、外部サーバ104からダウンロードしインストールする拡張プログラムを指定している。<contentsServer>タグは外部サーバのURLが記載されている。
また、拡張プログラムインストール処理1004aは、インストール対象の拡張プログラムに対するライセンスを<licenseRelativeDirPath>タグ、及び<licenseFileName>タグにより指定している。<licenseRelativeDirPath>タグは、ルートフォルダ900から拡張プログラムのライセンスファイルまでの相対パスが記載されている。<licenseFileName>タグは、拡張プログラムのライセンスの実体が指定されている。本図の例においては、licファイル形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。
また、拡張プログラムインストール処理1004bは、<licenseServer>タグに、拡張プログラムに対するライセンスを取得する外部サーバのURLが記載されている。
拡張プログラム開始処理1005は、<startApplicationCommand>タグの記載により処理を定義しており、<appId>タグにより開始対象の拡張プログラムを指定している。<appId>タグは、開始対象の拡張プログラムを唯一に識別するIDが指定されている。
組み込みオプションプログラムアクティベート処理1006a、1006bは、オプション有効化サービス504を介して、組み込みオプションを有効化する処理である。組み込みオプションプログラムアクティベート処理1006aは、<activateEmbeddedFunctionCommand>タグの記載により処理を定義しており、<relativeDirPath>タグ、及び<licenseFileName>タグによりアクティベートする組み込みオプションプログラムに対するライセンスを指定している。<relativeDirPath>タグは、ルートフォルダ900からアクティベートする組み込みオプションプログラムのライセンスファイルまでの相対パスが記載されている。<licenseFileName>タグは、組み込みオプションプログラムを有効化するためのライセンスの実体が指定されている。本図の例においては、lic形式のライセンスファイルが指定されており、ライセンスのファイル形式についてはこれに限定されない。なお、画像形成装置101にプリインストールされた組み込みオプションプログラムが存在しない場合、また有効化しない場合には、この初期設置作業処理の記載は不要である。
また、組み込みオプションプログラムアクティベート処理1006bは、<activateEmbeddedFunctionCommand>タグの記載により処理を定義されている。<licenseServer>タグは、拡張プログラムに対するライセンスを取得する外部サーバのURLが記載されている。また、取得すべき組み込みオプションを特定する情報を<functionId>タグで記載されている。
設定情報インポート処理1007は、<importDeviceConfigCommand>タグの記載により処理を定義しており、<relativeDirPath>タグ、及び<configFileName>タグ、によりインポートする設定情報ファイルを指定している。<relativeDirPath>タグは、ルートフォルダ900からインポート対象の設定情報ファイルまでの相対パスが記載されている。<configFileName>タグは、インポート対象の設定情報ファイルが指定されている。本図の例においてはZip形式にアーカイブされた設定情報ファイルが指定されている。なお、本設定情報ファイルの形式はZipファイル形式に限定されない。
なお、本図で示すスクリプトの初期設置作業の処理は記載された処理に限定されず、例えば画像形成装置101の再起動処理などを加えてもよい。すなわち、ファームウェアを更新する処理に係るスクリプト、組み込み機能を有効化する処理に係るスクリプト、及び、拡張アプリケーションをインストールする処理に係るスクリプトに限定されるものではない。また、必要不要に応じて処理の重複、増減があってもよい。
図11は、画像形成装置101の初期設置作業を実施する間に利用する設定値ファイルを例示する図である。例えば、図11に示すような情報が、図9に示したWorkAreaConfig.cfg913に格納されている。
初期設置作業用設定値1100は、サポートプログラム700のストレージ管理部702で読み込まれ、処理実行部703にて画像形成装置101の各機能に設定される。また、本図の初期設置作業用設定値1100は、XMLで記載しているが、XMLに限定されず、テキストファイルなどで書かれていてもよい。
ネットワーク設定値1101には、ネットワーク設定が記載される。ネットワーク設定値1101に記載されるネットワーク設定には、例えば、インターネットプロトコルバージョンに係る情報(IPV4、IPV6等)、IPアドレス、サブネットマスク、ゲートウェイ、ダイナミックホストコンフィギュレーションプロトコル(DHCP)に係る情報、プロキシサーバに係る情報等の設定項目がある。図9のファイル909内の設置指示情報に含まれる顧客要望のネットワーク設定は、初期設置作業場所のネットワークとは異なる。そのため、顧客要望のネットワーク設定を適用してしまうと、前述したスクリプト1000を実行するために、初期設置作業場所でネットワークに接続できなくなってしまう。よって、ネットワーク設定値1101には、外部サーバ104に接続可能な初期設置作業場所のネットワーク設定を記載する。なお、外部サーバ104がインターネットに存在するためにプロキシサーバが必要な場合もあり、このような場合には、プロキシサーバに係る設定情報も含まれる。
電源管理タイマー設定値1102には、画像形成装置101がスリープ(省電力状態)に移行するまでの時間設定や、画像形成装置101が電源オフ状態へ移行するまでの待機時間等の設定項目の設定値が記載される。設置作業中にスリープ状態や電源オフ状態に移行してしまうと、作業者が操作を再開しようとするたび、復帰を待つ必要があり、作業効率を下げてしまう。それを避けるためスリープ移行時間や電源オフ移行時間等を設定可能にする。
機器管理設定値1103には、画像形成装置を操作するための認証情報を記載する。顧客の運用時の画像形成装置の管理者情報は、IT管理部門等事務機を管理すべき人のみが知る認証情報を設定する。しかし、初期設置作業場所で作業者が操作しようとする際、顧客の管理者情報を入力するのは手間がかかる。作業者は複数の顧客の画像形成装置を初期設置しなければならないため、記憶しておくことも困難であり、作業効率を下げてしまう。それを避けるため、初期設置作業専用の認証情報を一時的に設定可能にする。
なお、初期設置作業用設定値1100に記載される設定値は、上述したものに限らない。初期設置作業場所で初期設置を実施するに当たり、環境に依存する設定値や、作業者の効率を下げてしまう設定値であれば、初期設置作業用設定値1100に記載できるようにしてもよい。
<設置指示情報の処理フロー>
図12は、サポートプログラム700がUSBストレージ102の挿入を検知した場合に実行する動作を例示するフローチャートである。即ち、このフローチャートに示される処理は、CPU211がHDD214等に格納された各機能に応じたプログラムを実行することにより実現されるものである。
サポートプログラム700が、USBホストI/F222にUSBストレージ102が挿入されたことを検知すると、本フローチャートの処理を開始する。まず、S1201において、サポートプログラム700は、サポートプログラム700が動作する画像形成装置101のIDを取得する。このIDとは、画像形成装置の個体識別子や型番など、設置作業をすべき画像形成装置を特定するための情報であり、ROM212やHDD214等に格納されている。
S1202では、サポートプログラム700は、USBストレージ102に保存されている設置指示情報のスクリプトファイルを検索し、実行すべき設置指示情報を特定する。なお、検索処理においては、スクリプトファイルの拡張子による検索を行う。例えば、前記S1201で取得したIDがスクリプトファイルに記載されているかによって、スクリプトファイルを検索する。図10に例示したスクリプトファイルの例には、適用すべき画像形成装置のID1001が記載されている。
次に、S1203において、サポートプログラム700は、前記S1202の検索処理で実行すべき設置指示情報が見つかったかどうか判断する。そして、実行すべき設置指示情報が見つからなかったと判断した場合(S1203で「なし」の場合)、本フローチャートの処理を終了する。一方、実行すべき設置指示情報が見つかったと判断した場合(S1203で「あり」の場合)、S1204に処理を遷移させる。
S1204では、サポートプログラム700は、前記S1202で見つかったスクリプトファイルおよび設置指示情報に関する情報を、図13のような画面1300で操作部219に表示し、作業者に通知する。
図13は、サポートプログラムのスクリプト実行確認画面を例示する図である。
作業者が正しい設置指示情報が見つかった旨を確認し、実行ボタン1301を押下すると、サポートプログラム700が、この操作を検知して、図14のような画面1400を操作部219に表示する。
図14は、サポートプログラムのスクリプト実行中画面を例示する図である。
次に、S1205において、サポートプログラム700は、USBストレージ102に保存されている初期設置作業用設定値ファイルを検索する。この検索処理では、初期設置作業用設定値ファイルの拡張子による検索を行う。図11が初期設置作業用設定値の例である。初期設置作業用設定値ファイルには、設置指示情報の設定を実行する前に適用すべき初期設置作業用設定値が記載されている。そして、サポートプログラム700は、適用すべき初期設置作業用設定値ファイルが見つかったと判断した場合(S1205で「あり」の場合)、S1206に処理を進める。一方、適用すべき初期設置作業用設定値ファイルが見つからなかったと判断した場合(S1205で「なし」の場合)、S1208に処理を進める。
S1206では、サポートプログラム700は、USBストレージ102に保存されている設置指示情報のスクリプト1000が示すdeviceConfigurationFile.zip909に含まれる顧客要望の設定値ファイル内の顧客要望設定値1500(図15)と、初期設置作業用設定値1100とを比較する。
図15は、deviceConfigurationFile.zip909に含まれる顧客要望の設定値ファイルを例示する図である。
顧客要望設定値1500には、納品先の顧客が要望する各種画像形成装置101の設定値(設置指示情報の設定値情報)が記載されている。ネットワーク設定値1501には、顧客のネットワーク環境に合わせたアドレス等の情報が記載されている。電源管理タイマー設定値1502、設置場所情報1503、画面表示設定1504には、顧客の事務機運用ポリシーに合わせて所望する設定値が記載されている。また、機器管理設定値1505には、顧客の画像形成装置管理者が使用する認証情報が記載されている。
S1205では、サポートプログラム700は、顧客要望設定値1500の設定値のうち、初期設置作業用設定値1100に記載されている項目を、遅延実行指示情報1600にコピーする。初期設置作業用設定値1100に記載がなく、顧客要望設定値1500に記載がある項目はコピーしない。また、初期設置作業用設定値1100に記載があり、顧客要望設定値1500に記載がない項目は初期値を遅延実行指示情報1600に追加する。なお、遅延実行指示情報1600は、例えば、画像形成装置101のHDD214に格納される。
図16は、遅延実行指示情報1600を例示する図である。
図16に示す例では、遅延実行指示情報1600には、ネットワーク設定値1601、電源管理タイマー設定値1602、機器管理設定値1603が記載されている。ネットワーク設定値1601、電源管理タイマー設定値1602、機器管理設定値1603はそれぞれ、顧客要望設定値1500からコピーされた結果を例で示している。遅延実行指示情報1600は、遅延実行指示情報1600に記載されている設置値を画像形成装置101に設定するためのスクリプトとして機能する。サポートプログラム700の処理実行部703は、このスクリプト(遅延実行指示情報1600)を実行することにより、遅延実行指示情報1600に記載される設定値を画像形成装置101に設定することができる。
前記S1206の処理を完了すると、サポートプログラム700は、S1207に処理を進める。S1207では、サポートプログラム700は、初期設置作業用設定値1100に記載されている設定値を用いて、deviceConfigurationFile.zip909に含まれる顧客要望設定値1500を上書きする。
図17は、顧客要望設定値1500に対し初期設置作業用設定値1100を上書きした例を示す図である。
ネットワーク設定値1701、電源管理タイマー設定値1702、機器管理設定値1705は、初期設置作業用設定値1100に記載されている値が反映されている。一方その他の設定値である設置場所情報1703、画面表示設定1704は、顧客要望設定値1500に記載されていた値が維持されている。S1207の処理を完了すると、サポートプログラム700は、S1208に処理を進める。
S1208では、サポートプログラム700は、前記S1203で見つかったスクリプトファイルの処理記載部1002の記述に従い、各種コマンドを実行する。各種コマンドは、初期設置作業として実行しなければならないソフトウェアのインストール・更新・設定作業等を実行する。例えば、画像形成装置101のネイティブプログラム501を含むファームウェアの更新や、拡張プログラム507のインストール、開始などを実行する。なお、図10の設定情報インポート処理1007では、前記S1207で作成した初期設置作業用設定値(図17で例示)を含む顧客要望設定値を、画像形成装置101に反映する。これにより、各処理に必要な初期設置作業場所のネットワーク設定を利用できたり、初期設置作業中では不要なスリープ設定を解除したり、初期設置作業専用の認証情報を用いることができるようになる。この結果、図10の1003b、1004b、1006bのように、外部サーバ等から処理に用いるデータ(ファームウェア、プログラム、ライセンス等)をダウンロードするように指定されている処理では、ネットワークを介して指定されたURLにアクセスして情報を取得して処理を行うことができる。
そして、サポートプログラム700は、スクリプトファイルに記載されたコマンドの処理が全て終了すると、S1209に処理を進める。S1209では、サポートプログラム700は、図18のようなスクリプトによる自動設置が終了した旨を通知する画面1800を操作部219に表示し、手動で行う初期設置作業の完了を待機する。作業者が手動による設置作業、確認作業を終了後、完了ボタン1801を押下すると、サポートプログラム700が、この操作を検知して、S1210に処理を進める。
S1210では、サポートプログラム700は、前記S1206で作成した遅延実行指示情報1600を実行して、遅延実行指示情報1600に退避した顧客要望の設定値を反映する。これにより、顧客要望の設定値の中の初期設置作業の効率に影響する設定を、その設定なしで可能な作業を完了した後に反映させることができる。本ステップが終了すると、本フローチャートの処理を終了する。なお、図示しないが、サポートプログラム700は、前記S1205で初期設置作業用設定値がないと判断した場合には、S1210の処理をスキップして、本フローチャートの処理を終了するものとする。
以上示したように、設置指示情報の実行処理において、遅延実行指示情報を作成し、完了後に実行することにより、スクリプト実行中に、作業環境に対応した設定値で画像形成装置を動作させることができるようになる。また、作業完了後、遅延実行指示情報により、顧客が要求する設定値を反映することができるようになる。よって、画像形成装置の初期設置作業について効率化を図ることができる。
また、顧客要望の設定値には、初期設置作業の妨げになってしまう情報も含まれるため、従来では、作業者は、管理システムを利用して設置指示情報を作成する際に、設定の順序を意識して作業を行わなければならなかった。しかし、本発明では、初期設置作業、初期設置作業場所で必要な設定値を一時的に利用できるため、設定の順序等を意識して作成したり、顧客の設定値の内容をすべて理解する必要がなく、設置指示情報を容易に作成することができる。このように、画像処理装置の初期設置作業に係る情報を容易に作成でき、また、作業効率を下げることなく画像処理装置の初期設置作業を行うことができるようになる。そして、最終的には、顧客が要求する設定値を反映することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を、コンピュータにより実現するためのものとなり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。