JP2018190284A - 情報処理装置およびその制御方法とプログラム - Google Patents
情報処理装置およびその制御方法とプログラム Download PDFInfo
- Publication number
- JP2018190284A JP2018190284A JP2017094082A JP2017094082A JP2018190284A JP 2018190284 A JP2018190284 A JP 2018190284A JP 2017094082 A JP2017094082 A JP 2017094082A JP 2017094082 A JP2017094082 A JP 2017094082A JP 2018190284 A JP2018190284 A JP 2018190284A
- Authority
- JP
- Japan
- Prior art keywords
- software
- installation
- order
- information
- information processing
- 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
- Stored Programmes (AREA)
Abstract
【課題】画像形成装置へソフトウェアをインストールするためのインストール工程以外のシステム独自の工程を追加可能とし、更にソフトウェア構成が変更されたときも、適切な順序で独自工程を実行することが可能な設置指示書を生成できるようにする。【解決手段】ソフトウェアをインストールするための工程とシステム独自の工程との依存関係、あるいはソフトウェアグループとシステム独自の工程との依存関係を第二の依存情報として記憶しておき、第一の依存情報であるソフトウェア間の依存関係と第二の依存情報に基づき各工程の実行順序を決定する。【選択図】図11
Description
本発明は、例えば画像形成装置を設置指示書に従って自動でセットアップするような情報処理装置およびその制御方法とプログラムに関する。
従来、ソフトウェアのバージョンアップでは、バージョンアップを行うターゲット装置が、バージョンアップに関わる依存バージョンを記録したメタ情報をサーバーから受信し、メタ情報内の依存バージョンよりターゲット装置内のソフトウェアバージョンの方が古い場合は、依存バージョンへのアップデートから実行する、といったような方法が提供されている(例えば特許文献1参照)。これは、ソフトウェアのバージョンの依存関係に基づいて、ソフトウェアのバージョンアップを効率良く、かつ確実に実行することを目的としている。
画像形成装置のセットアップにおいても、各種ソフトウェアのインストールを実行するにあたって、様々な依存関係を考慮した設置指示書を作成可能であり、その設置指示書に則って自動的かつ効率的なセットアップを実現している。但し、ここで考慮される依存関係は、システム内で予め定義され管理される、ソフトウェア間の依存関係に限られる。
しかしながら、画像形成装置をセットアップする実際の設置現場においては、指示書による自動的なセットアップだけでは不十分であり、途中で手作業や目視による確認などを必要とするケースが少なくない。例えば、画像形成装置のファームウェアをバージョンアップした後、一旦設置指示書の実行を停止し、簡単な動作確認をしてから設置指示書の実行を再開したいといったユースケースが考えられる。
従来においても、独自の工程を単に追加するだけであれば可能だったが、ソフトウェア構成が変更されたときに、追加した独自工程とソフトウェアのインストール工程との関係がわからず、独自工程を、インストール工程のどの段階で実行すれば良いのか、適切に判断することが困難であった。
本発明は上記従来例に鑑みて成されたもので、ソフトウェアのインストール順序とは依存関係のない付加的な工程についても、適切な順序で実行できるよう管理するための技術を提供することを目的とする。
上記目的を実行するために本発明は以下の構成を有する。
ソフトウェアのインストールを指示する指示情報を作成するための情報処理装置であって、
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定手段と、
指定された前記付加的な工程の順序を記憶する記憶手段と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定手段と、
前記決定手段により決定した前記順序に基づいて指示情報を作成する作成手段と
を有することを特徴とする。
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定手段と、
指定された前記付加的な工程の順序を記憶する記憶手段と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定手段と、
前記決定手段により決定した前記順序に基づいて指示情報を作成する作成手段と
を有することを特徴とする。
本発明によると、ソフトウェアのインストール順序とは依存関係のない付加的な工程についても、適切な順序で実行できるよう管理が可能となる。
以下、本発明を実施するための形態について図面を用いて説明する。
[第一の実施形態]
●画像形成装置設置システム
図1は、画像形成装置設置システムにおける機器構成の例を示す図である。本実施形態の画像形成装置設置システムは、LAN(Local Area Network)100に接続されたクライアントコンピューター(すなわち情報処理装置)である設置指示書作成装置103、設置指示書管理サーバー104、ソフトウェア管理サーバー105と、画像形成装置101によって構成される。画像形成装置101は、可搬記憶媒体102を介して設置指示書作成装置103とのデータのやり取りが可能である。
[第一の実施形態]
●画像形成装置設置システム
図1は、画像形成装置設置システムにおける機器構成の例を示す図である。本実施形態の画像形成装置設置システムは、LAN(Local Area Network)100に接続されたクライアントコンピューター(すなわち情報処理装置)である設置指示書作成装置103、設置指示書管理サーバー104、ソフトウェア管理サーバー105と、画像形成装置101によって構成される。画像形成装置101は、可搬記憶媒体102を介して設置指示書作成装置103とのデータのやり取りが可能である。
画像形成装置101は、複写機にスキャナ、プリンタ、ファクシミリ、ファイル送信機能等の複数の機能を統合した複合機である。また、画像形成装置101は、可搬記憶媒体を接続するインターフェースを有している。可搬記憶媒体を接続するインターフェースの種別は問わないが、本実施形態ではUSBインターフェースを用いることとする。本インターフェースに可搬記憶媒体102を接続することで、可搬記憶媒体102に対してデータの読み書きを行うことができる。
可搬記憶媒体102は、ホストとなる機器から容易に取り外せる記憶装置であれば種別を問わないが、本実施形態ではUSBマスストレージクラスを実装する不揮発性の書き換え可能メモリであるUSBストレージを用いる。これは図2等ではUSBストレージ209として示されている。
設置指示書作成装置103は、所謂パーソナルコンピューターである。設置指示書作成装置103は、可搬記憶媒体を接続するインターフェースを有している。可搬記憶媒体を接続するインターフェースの種別は問わないが、本実施形態ではUSBインターフェースを用いる。本インターフェースに可搬記憶媒体102を接続することで、可搬記憶媒体102に対してデータの読み書きを行うことができる。
設置指示書管理サーバー104は、設置指示書作成装置103を使用して生成する、画像形成装置101のセットアップ内容を定義した設置指示書を管理するサーバーである。設置指示書作成装置103や画像形成装置101からのリクエストに応じて、特定の設置指示書を送信する。
設置指示書管理サーバー104は、LAN100に直接接続されていても、インターネットを経由して接続されていてもよい。
ソフトウェア管理サーバー105は、画像形成装置101で利用可能なファームウェアや各種オプションのアプリケーション等を管理するサーバーである。ソフトウェア管理サーバー105はLAN100に直接接続されていても、インターネットを経由して接続されていてもよい。
●画像形成装置101の構成
図2は、画像形成装置101の主要部の構成の例を示すブロック図である。画像形成装置101はコントローラユニット200を含み、コントローラユニット200には、画像入力デバイスであるスキャナ217や画像出力デバイスであるプリンタ216が接続されるとともに、操作部208が接続される。コントローラユニット200は、スキャナ217で読み取られた画像データをプリンタ216により印刷出力するコピー機能を実現するための制御を行う。
図2は、画像形成装置101の主要部の構成の例を示すブロック図である。画像形成装置101はコントローラユニット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、ネットワークI/F(ネットワークインターフェース)204、USBホストI/F205、画像バスI/F(画像バスインターフェース)212が接続される。
操作部I/F203は、タッチパネルを有する操作部208とのインターフェースであり、操作部208に表示すべき画像データを操作部208に対して出力する。また、操作部I/F203は、操作部208においてユーザーにより入力された情報をCPU201に送出する。
ネットワークI/F204は、画像形成装置101をLANに接続するためのインターフェースである。
USBホストI/F205は、USBストレージ209(たとえば可搬記憶媒体102を含む)と通信するインターフェース部である。USBホストI/F205は、HDD207に格納されているデータをUSBストレージ209に出力する。また、USBホストI/F205は、USBストレージ209に格納されているデータを入力し、CPU201にそれを伝える。USBストレージ209は、データを格納する外部記憶装置であり、USBホストI/F205に対して着脱可能である。USBホストI/F205には、USBストレージ209を含む複数のUSBデバイスが接続可能である。
画像バスI/F212は、システムバス210と、画像データを高速で転送する画像バス211とを接続し、データ形式を変換するためのバスブリッジである。画像バス211は、PCIバスまたはIEEE1394等によって構成される。画像バス211上には、デバイスI/F215、スキャナ画像処理部214、プリンタ画像処理部213が設けられる。
デバイスI/F215には、スキャナ217およびプリンタ216が接続され、デバイスI/F215は、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部214は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部214は、プリント出力画像データに対してプリンタ216に応じた補正、解像度変換などを行う。
●設置指示書作成装置および各サーバーの構成
図3は、設置指示書作成装置103の構成を示すブロック図である。CPU301を含む制御部300は、設置指示書作成装置103全体の動作を制御する。CPU301は、ROM302に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD304は、画像データや各種プログラムを記憶する。
図3は、設置指示書作成装置103の構成を示すブロック図である。CPU301を含む制御部300は、設置指示書作成装置103全体の動作を制御する。CPU301は、ROM302に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD304は、画像データや各種プログラムを記憶する。
操作部I/F305は、設置指示書作成装置103で実行されるプログラムへの制御操作を入力するユーザーインタフェース端末を接続するインターフェースである。本実施形態では、マウス309やキーボード310で構成されるが、その限りではない。オペレータが情報の入力を行うためのデバイスであればよい。
ディスプレイI/F306は、設置指示書作成装置103で実行されるプログラムのUIを表示するディスプレイ端末を接続するインターフェースである。本実施形態ではディスプレイ311で構成されるが、その限りではない。オペレータに対する情報の提示を行うためのデバイスであればよい。
ネットワークI/F308は、制御部300をLAN100に接続する。ネットワークI/F308は、ネットワークを介して他の装置との間で各種情報を送受信する。
USBホストI/F307は、USBストレージ209と通信するインターフェース部である。USBホストI/F307は、HDD304に格納されているデータをUSBストレージ209に出力する。また、USBホストI/F307は、USBストレージ209に格納されているデータを入力し、CPU301にそれを伝える。USBストレージ209は、データを格納する外部記憶装置であり、USBホストI/F307に対して着脱可能である。USBホストI/F307には、USBストレージ209を含む複数のUSBデバイスが接続可能である。
図4は、設置指示書管理サーバー104およびソフトウェア管理サーバー105の構成を示すブロック図である。CPU401を含む制御部400は、設置指示書管理サーバー104もしくは、ソフトウェア管理サーバー105全体の動作を制御する。CPU401は、ROM402に記憶された制御プログラムを読み出して各種制御処理を実行する。RAM403は、CPU401の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD404は、設置指示書管理サーバーにおいては設置指示書、ソフトウェア管理サーバーにおいては各種ソフトウェアや、後述するソフトウェア情報を記憶する。ネットワークI/F405は、制御部400をLAN100に接続する。ネットワークI/F405は、ネットワークを介して他の装置との間で各種情報を送受信する。サーバーには、図4に示すようにオペレータが操作するためのインターフェースがなくともよいが、例えば図3に示した構成であってもよい。
●ソフトウェア管理プログラムの構成
図5は、ソフトウェア管理サーバー105で動作するソフトウェア管理プログラムの機能構成例を示す図である。ソフトウェア管理プログラム500は、処理実行部501、ソフトウェア登録部502、ソフトウェア情報管理部503、第一依存情報管理部504、通信部505を有する。
図5は、ソフトウェア管理サーバー105で動作するソフトウェア管理プログラムの機能構成例を示す図である。ソフトウェア管理プログラム500は、処理実行部501、ソフトウェア登録部502、ソフトウェア情報管理部503、第一依存情報管理部504、通信部505を有する。
処理実行部501は、通信部505が受信する設置指示書作成装置103からの指示、あるいは、他のクライアントPCからの指示を受け付け、各種処理を行う。ソフトウェア登録部502は、不図示のクライアントPCから通信部505を介して登録要求されたソフトウェアを、HDD404に保存する。ソフトウェア情報管理部503は、ソフトウェア登録部502によって登録されたソフトウェアの情報をHDD404に保存し管理する。第一依存情報管理部504は、ソフトウェア登録部502によってソフトウェアが登録される都度、登録されたソフトウェアから他のソフトウェアとの依存関係に関わる情報を抜き出し、HDD404に保存して管理する。登録されたソフトウェアから抽出された他のソフトウェアとの依存関係に関わる情報が第一依存情報である。後述する設置指示書作成プログラム700は、この第一依存情報に従って、ソフトウェアのインストール順序を決定する。通信部505は、設置指示書作成装置103からのリクエストに応じて、HDD404に保存されているソフトウェアのソフトウェア情報や第一依存情報のやりとりをしたり、不図示のクライアントPCから、ソフトウェア管理プログラムを操作するための指示や情報のやり取りをしたりする。
●画像形成装置のソフトウェア構成
図6は、画像形成装置101のソフトウェア構成の例を示す図である。OS600上には、プリンタやFAX、スキャナなどの元々備わっているデバイスの制御用プログラムであるネイティブプログラム601、拡張プログラムを実行するためのプラットフォームである拡張プログラム実行プラットフォーム602が動作している。更に、ネイティブプログラム601上には、ファームウェア更新サービス603、オプション有効化サービス604、設定管理サービス605が動作している。これらプログラムは、出荷時に画像形成装置101にインストールされている。また拡張プログラム実行プラットフォーム602上には、拡張プログラムシステムサービス606と拡張プログラム607が動作している。拡張プログラム607は、出荷時にインストールすることもできるが、画像形成装置101の設置後に、後付け的にインストールすることもできる。拡張プログラムシステムサービス606は拡張プログラムのひとつではあるが、出荷時にインストールされていてもよい。
図6は、画像形成装置101のソフトウェア構成の例を示す図である。OS600上には、プリンタやFAX、スキャナなどの元々備わっているデバイスの制御用プログラムであるネイティブプログラム601、拡張プログラムを実行するためのプラットフォームである拡張プログラム実行プラットフォーム602が動作している。更に、ネイティブプログラム601上には、ファームウェア更新サービス603、オプション有効化サービス604、設定管理サービス605が動作している。これらプログラムは、出荷時に画像形成装置101にインストールされている。また拡張プログラム実行プラットフォーム602上には、拡張プログラムシステムサービス606と拡張プログラム607が動作している。拡張プログラム607は、出荷時にインストールすることもできるが、画像形成装置101の設置後に、後付け的にインストールすることもできる。拡張プログラムシステムサービス606は拡張プログラムのひとつではあるが、出荷時にインストールされていてもよい。
ファームウェア更新サービス603は、ファームウェアを更新するための各種機能を提供するサービスである。本実施形態においては、拡張プログラム607のひとつである後述の自動設置プログラム1200が、設置指示書に指定されたファームウェアをソフトウェア管理サーバー105からダウンロードし、ファームウェア更新サービス603へ更新をリクエストする。こうすることで、ネイティブプログラム601がファームウェアをインストールする。
オプション有効化サービス604は、ネイティブプログラム601に予め組み込まれているオプション機能を有効化するためのサービスである。本実施形態においては、自動設置プログラム1200が、設置指示書に指定されたオプションのライセンスファイルをソフトウェア管理サーバー105から取得し、オプション有効化サービス604を介して該ライセンスファイルをインストールすることで、オプション機能を有効化する。
設定管理サービス605は、プリンタやスキャナなどの各種設定情報を管理するためのサービスである。本実施形態においては、自動設置プログラム1200が設置指示書に指定された設定ファイルを設置指示書管理サーバー104からダウンロードし、設定管理サービス605にリクエストすることで、ネイティブプログラム601の設定情報を書き換えることができる。
拡張プログラムシステムサービス606は、拡張プログラムに共通に有用なユーティリティライブラリで、システムから提供される。拡張プログラム607は、拡張プログラム実行プラットフォーム602または拡張プログラムシステムサービス606を介してのみ、他の拡張プログラム607やRAM202など画像形成装置101の各モジュールへアクセスすることができる。
また、UIを持つ拡張プログラム607は、画像形成装置101の操作部208に表示されるメインメニュー画面にアイコンを表示することができる。このアイコンをユーザーが選択したことを、操作部208を通じて操作部I/F203が検知すると、操作部I/F203はその旨をCPU201に送信する。その旨を受け取ったCPU201はユーザーに選択された拡張プログラムのUIを操作部208に表示する。
尚、本ソフトウェア構成は基本的な部分のみ記載したものであり、実施環境によっては他のサービス等が含まれていても良い。また設定を制限するなどの理由により、不要なサービスは無くても良い。
●設置指示書作成プログラム
図7は、設置指示書作成装置103で動作する、設置指示書作成プログラム700の機能構成例を示す図である。CPU301がプログラムを実行することにより、各機能が実現される。本実施形態では、設置指示書作成装置103でプログラムが実行されることを想定するが、その限りではない。ネットワークI/F308を介して、ネットワーク上にあるサーバーやサービスで実行してもよい。
図7は、設置指示書作成装置103で動作する、設置指示書作成プログラム700の機能構成例を示す図である。CPU301がプログラムを実行することにより、各機能が実現される。本実施形態では、設置指示書作成装置103でプログラムが実行されることを想定するが、その限りではない。ネットワークI/F308を介して、ネットワーク上にあるサーバーやサービスで実行してもよい。
設置指示書作成プログラム700は、UI制御部701、処理実行部702、ストレージ制御部703、ソフトウェア構成定義部704、工程定義部705、第二依存情報管理部706、依存情報チェック部707、設置指示書生成部708、通信部709、第三依存情報管理部710を有する。
UI制御部701は、設置指示書作成プログラムを操作するためのUIを、ディスプレイ311を通じて作業者に提供し、マウス309やキーボード310を通じて作業者の操作を受け付ける。処理実行部702は、UI制御部701の指示に従い、各種処理を行う。ストレージ制御部703は、USBストレージ209のデータの読み書きを行う。ソフトウェア構成定義部704は、画像形成装置101へインストールするソフトウェアのソフトウェア情報を確定し、記憶する。
工程定義部705は、ソフトウェア構成定義部704によって確定されたソフトウェア情報を基に、インストール対象のソフトウェアを画像形成装置101へインストールするための工程(第一の分類に属する工程とも呼ぶ)を定義する。例えば、対象のソフトウェアがファームウェアである場合は、図6のファームウェア更新サービス603を呼び出すための工程を生成する。対象のソフトウェアがファームウェアに予め組み込まれているオプション機能である場合は、図6のオプション有効化サービス604を呼び出すための工程を生成する。対象のソフトウェアが拡張プログラムである場合は、図6の拡張プログラムシステムサービス606を呼び出すための工程を生成する。
第二依存情報管理部706は、設置指示書作成プログラム700に予め用意されている独自の工程(第二の分類に属する工程とも呼ぶ)と、前述したソフトウェアをインストールするための第一の分類に属する工程との依存関係を設定し、記憶する。
依存情報チェック部707は、ソフトウェア管理サーバー105から取得した第一依存情報と、設置指示書作成プログラムの第二依存情報管理部706で管理されている第二依存情報とを基に、インストールのための各工程の実行順序を決定する。また、第三依存情報管理部710で管理されている第三依存情報を基に、第二の分類に属する独自工程を実行するか否かの判断をする。
設置指示書生成部708は、工程定義部705で定義された工程と依存情報チェック部707で決定された実行順序に従って、設置指示書を作成する。
通信部709は、設置指示書生成部708で生成した設置指示書を、設置指示書管理サーバー104へ送信したり、設置指示書管理サーバー104で保持されている設置指示書を取得したり、あるいは、ソフトウェア管理サーバー105から登録されているソフトウェアの依存情報やソフトウェアそのものを取得したりする。
第三依存情報管理部710は、第二の依存関係を有する第一の分類に属する工程と第二の分類に属する工程とにおいて、第一の分類に属する工程が実行されなかったときの第二の分類に属する工程の振舞いを定義し、記憶する。
●本実施形態で定めた工程に係る分類および依存関係
ここで整理しておくと、本実施形態で定めた工程に係る分類および依存関係は以下のようなものである。
ここで整理しておくと、本実施形態で定めた工程に係る分類および依存関係は以下のようなものである。
第一の分類に属する工程とは、ソフトウェア構成定義部704によって確定されたソフトウェア情報を基に、インストール対象のソフトウェアを画像形成装置101へインストールするための工程である。第一の分類に属する工程は、たとえば、ソフトウェアごとに予め決めておくことができる。第一の分類に属する工程は、基本インストール工程と呼ぶこともできる。
第二の分類に属する工程とは、設置指示書作成プログラム700に予め用意されている独自の工程である。基本インストール工程に対して付加的な工程を含むことができることから、付加的インストール工程と呼ぶこともできる。
第一の依存情報とは、ソフトウェアと他のソフトウェアとのインストール順序の依存関係に関わる情報である。換言すれば、第一の分類に属する工程間の依存関係を示す情報ということもできる。例えば第一の依存情報は、或るソフトウェアに着目してその他のソフトウェアとのインストール順序の関係を示す情報で良く、ソフトウェア間依存情報とも呼ぶこともできる。また第一依存情報で示される依存関係を第一の依存関係(あるいはソフトウェア間依存関係)と呼ぶ。
第二依存情報とは、ソフトウェアをインストールするために、第一の分類に属する工程(基本インストール工程)と、第二の分類に属する工程(付加的インストール工程)との依存関係を示す情報である。第二依存情報はインストール工程間依存情報と呼ぶこともできる。また第二依存情報で示される依存関係を第二の依存関係(あるいはインストール工程間依存関係)と呼ぶ。
第三依存情報とは、互いに第二の依存関係にある第一の分類に属する工程Aと第二の分類に属する工程Bとがあった場合に、第一の分類に属する工程Aが実行されなかったときの第二の分類に属する工程Bのふるまいを定義した情報である。たとえば、互いに依存関係に基本インストール工程と付加的インストール工程とを想定する。この場合、基本インストール工程は、依存関係にある付加的インストール工程の有無により影響を受けることはない。一方、付加的インストール工程は、依存関係にある基本インストール工程の有無により影響を受ける可能性がある。そこで、第三依存情報は、依存関係にある基本インストール工程が実行されない場合の付加的インストール工程のふるまいを定義する。第三依存情報は依存関係を示す情報ではなく、付加的インストール工程の有無に依存したふるまいを示す情報と考えることもでき、条件付き付加的インストール工程情報などと呼ぶこともできる。
●設置指示書作成装置の操作画面例
図8は設置指示書作成装置103の操作画面、すなわちユーザインタフェース画面の例を示した図である。本図を用いて、従来技術で実現可能な範囲の簡単な操作例を説明する。図8の操作画面は設置指示書作成プログラム700のUI制御部701により表示され、操作が受け付けられる。
図8は設置指示書作成装置103の操作画面、すなわちユーザインタフェース画面の例を示した図である。本図を用いて、従来技術で実現可能な範囲の簡単な操作例を説明する。図8の操作画面は設置指示書作成プログラム700のUI制御部701により表示され、操作が受け付けられる。
操作画面800は、ソフトウェア構成を指定するためのソフトウェア構成画面801と、各工程の実行順序を示した実行順序画面802から構成されており、それぞれ表示を切り替えて操作することが可能である。更に実行順序画面802には、指示書作成ボタン803が配置されており、このボタンを押下することで、設置指示書生成部708が、実行順序に従った指示書を生成し、設置指示書管理サーバー104もしくは、可搬記憶媒体102へ設置指示書を送信する。
図8(a)のソフトウェア構成画面801では、設置指示書作成プログラム700がソフトウェア管理サーバー105から取得したソフトウェアの一覧を表示する。操作者はマウスなどを使用して画像形成装置101にインストールする各種ソフトウェアを選択する。操作者の操作に応じてUI制御部701からの指示を受け取った処理実行部702は、ソフトウェア構成定義部704を呼び出し、画像形成装置101へインストールすべきソフトウェアを確定、記憶させる。本実施形態としては、ファームウェアとしてFirmware0001、拡張プログラムとしてSoftware0002、オプション機能としてOption0001が選択されており、それらを対象画像形成装置のソフトウェア構成として確定する。
実行順序画面802を開くとき、処理実行部702は工程定義部705を呼び出し、現在確定しているソフトウェア構成を基に、各ソフトウェアをインストールまたは有効化するための工程を生成する。ソフトウェア構成を基に生成される工程が、前述した第一の分類に属する工程である。生成されるのは例えば、インストールするための工程に含まれる手順を示すコードや、工程に対応した情報などでよい。あるいはインストール工程を実行するためのコードは予め用意され、生成されるのはそのためのパラメータであってもよい。たとえば選択されたソフトウェアをインストールするために必要なファイルの識別名やそのインストール先、必要であればいったん画像形成装置の立ち上げ直すことを示すパラメータなどが第一の分類に属する工程の情報として生成されてよい。もちろんこれは一例に過ぎない。
更に、処理実行部702は、依存情報チェック部707を呼び出し、確定しているソフトウェア構成を基に、各ソフトウェアの依存情報を通信部709経由でソフトウェア管理サーバー105から取得する。依存情報チェック部707は取得した依存情報を基に、各工程の実行順序を決定する。ソフトウェア間の依存情報は、たとえばインストールの順序を含む。この順序は、ソフトウェア間の相対的な順序のこともあるし、あるいは先頭や末尾など、絶対的な順序のこともある。また相対的な順序には、先後の関係のほか、あるソフトウェアの直前や直後など、直近となるソフトウェアとの関係を含んでもよい。例えば、Firmware0001は、「最初に実行する」という依存情報を持っており、Software0002とOption0001は特に依存関係を有していないものとする。こうして決定された実行順序は、図8(b)のようになる。
工程定義部705は、一度確定した工程に新たな工程を追加することが可能である。ここで直接追加可能な工程は、ソフトウェア構成とは関わりのない、設置指示書作成プログラム700が独自に有する工程で、例えば、「一時停止」や「シャットダウン」など画像形成装置の制御に関するものである。これらは、前述した第二の分類に属する工程で、初期状態としては何の依存情報も持たない。これら独自の工程は、予め用意しておいた選択可能な候補の中から選択できるように構成してもよい。
たとえば、操作者が、Firmware0001をインストールしたあと、指示書の実行を一時的に停止し、画像形成装置の基本的な動作確認をして問題なければ実行順序2以降の工程に進む、といった指示書を作成したいとき、実行順序1と2の工程間に「一時停止」工程を挿入する。操作例の一つとしては、図8(c)に示すように、Firmware0001もしくはSoftware0002のいずれかを選択した状態で、コンテキストメニュー803を表示し、追加したい工程「一時停止」を指定する、という方法がある。この方法で「一時停止」工程が追加された状態が、図8(d)である。
ここまでは従来技術での実現が可能で、操作者の目的を一見達成しているように見える。しかし、この後、ソフトウェア構成が変更される可能性を考慮しないといけない。例えば、図8(d)の状態に対し、ソフトウェア構成画面801で、Software0001を追加したとする。Software0001とSoftware0002は第一の依存情報として、Software0001をSoftware0002よりも先にインストールする、という関係を持っているとする。「一時停止」工程が挿入されていなければ、第一の依存情報に則って、依存情報チェック部707は各工程の実行順序を決定すれば良い。しかし、「一時停止」工程が挿入されているために、Software0001のインストール工程を、「一時停止」工程の前に実行すべきか、後に実行すべきかの判断ができない。いずれにおいても、Software0001をSoftware0002よりも先にインストールする、という依存関係は守られるが、操作者が望む順序になっているかどうかは不明である。
そこで、依存関係が未定義のソフトウェアを追加する際には、依存関係を操作者に指定させ、指定された依存関係を守ってインストールを実行する。その例を、図9を用いて操作例を説明する。
図9(a)は設置指示書作成装置103の操作画面例を示した図で、ソフトウェア構成画面801で選択されたソフトウェアの依存情報を基に生成した、第一の分類に属する工程に対し、第二の分類に属する工程を追加する際の画面例である。
前述した通り、操作者はFirmware0001をインストールした後、画像形成装置101による指示書の実行を一旦停止し、手動や目視で簡単な動作確認をしてから、問題なければ次の工程に進みたいと考えている。つまり操作者にとっては、「Firmware0001をインストールした後」に「一時停止」工程を実施することに意味があり、Software0002をインストールする前に「一時停止」工程を実施することが重要ではない。
このとき操作者は、Firmware0001を選択した状態で、コンテキストメニュー901を表示し、「後ろに工程を追加する」を選択すれば良い。
従来技術においても、ある工程の前に追加するか、後ろに追加するかを選択できるような操作方法はあるが、これは、工程を追加する際の一時的な指定でしかない。従来技術との違いは、「一時停止」工程を追加する際に選択したFirmware0001を基準工程として工程定義部705が記憶する点と、追加する場所として選択した「後ろに追加する」という情報を、「Firmware0001をインストールした直後に実行する」という「一時停止」工程に対する依存情報(前述した第二の依存情報)として第二依存情報管理部706が記憶する点である。従来技術においては課題となった、第二の分類に属する工程を追加した後ソフトウェア構成を変更するとどうなるか、簡単に説明する。
「一時停止」工程を追加して、図8(d)の状態になった後、ソフトウェア構成画面801において、Software0001を追加したとする。Software0001とSoftware0002は、Software0001を先にインストールする、という第一の依存情報を持っている。つまり、Firmware0001とSoftware0002の間であれば、どのタイミングでSoftware0001をインストールしても良いわけ。しかし、Firmware0001のインストールと「一時停止」工程との間には、「一時停止」工程の追加の際に設定された優先すべき第二の依存情報が存在している。この第二の依存情報は、一時停止工程は、Firmware0001のインストールの後(直後)に追加される、というものである。従って、Software0001のインストールは、一時停止工程の後、かつSoftware0002のインストール工程の前、すなわち「一時停止」工程とSoftware0002の間で実行するしかなくなる。
このように、依存情報チェック部707は、第一の依存情報と、第二依存情報管理部706が記憶している第二の依存情報の両方の依存情報に則って、各工程の実行順序を決定する。結果として、図9(b)のようになる。ソフトウェア構成の変更により、基準工程であるFirmware0001が外されたとき、第二の依存情報を有する「一時停止」工程も削除する。
なお、第二の依存情報として相容れない依存情報が入力された場合には、以下のように対処してよい。たとえば、第一に、第二の依存情報の属性が入力された日時情報も併せて記憶しておき、最新の依存情報を採用する。この場合には、第二の分類に属する工程(すなわち付加的な工程)ごとに、第二の依存情報を入力された新たな依存情報で上書きしてもよい。第二に、第二の分類に属する工程ごとに、相容れない依存情報の存在を判定し、もしあればその全てをユーザーインタフェースに提示し、操作者の選択に任せる。
●設置指示書作成プログラムの処理(新規作成)
図10は、設置指示書作成プログラム700の処理の流れを説明したフローチャートである。操作例に当てはめると、図8(a)(b)、図9(a)、図8(d)の操作に相当する。
図10は、設置指示書作成プログラム700の処理の流れを説明したフローチャートである。操作例に当てはめると、図8(a)(b)、図9(a)、図8(d)の操作に相当する。
ステップ1001では、まずソフトウェア管理サーバー105から取得したソフトウェア情報に基づいて、UI制御部701が、インストール対象となるソフトウェアのリストを表示する(図8(a))。ここでいうソフトウェアには、いわゆるファームウェアと、拡張プログラムと、オプション機能とを含む。表示されたリスト上における設置指示書作成プログラム700の操作者の入力に応じて、UI制御部701が選択されたソフトウェア情報を処理実行部702に通知する。処理実行部702は、ソフトウェア構成定義部704へソフトウェア情報を通知し、ソフトウェア構成定義部704はそれらソフトウェア情報をRAM303に記憶する。
ステップ1002では、UI制御部701から、ソフトウェアの選択操作が終了したことを受け取った処理実行部702が、工程定義部705に対して工程作成指示を出す。工程定義部705は、ソフトウェア構成定義部704が管理しているソフトウェア情報を取得し、各ソフトウェアを画像形成装置101へ適用するための第一の分類に属する工程を生成し、RAM303に記憶する。ここでは選択されているソフトウェアすべてを対象として処理を行う。
ステップ1003では、処理実行部702が工程定義部705から、第一の分類に属する工程の生成が完了したことを受け取ると、依存情報チェック部707に対して、各工程の実行順序を決定するよう、指示を出す。依存情報チェック部707は、ソフトウェア構成定義部704が管理している各ソフトウェアの第一の依存情報か、あるいは、ソフトウェア管理サーバー105の第一依存情報管理部504で管理されている第一の依存情報を取得する。あるいは第一依存情報管理部504で管理されている第一の依存情報を取得し、それをソフトウェア構成定義部704により格納してもよい。
ステップ1004では、依存情報チェック部707が、取得した第一の依存情報を基に、工程定義部705が管理している各工程の実行順序を決定する。
ステップ1005では、ソフトウェア構成に関わる第一の分類に属する工程のみで決定された実行順序に対して、設置指示書作成プログラム700が独自に定義する第二の分類に属する工程を追加する。この工程はオプションであり、第二の分類の工程を追加する操作がされなければ、そのままステップS1004で決定された実行順序で、ステップS1002で作成された工程を配置し、設置指示書(あるいは設置指示情報または単に指示情報)を作成する。一方第二の分類の工程を追加する操作がされると、UI制御部701から第二の分類に属する工程が追加されたことを受け取った処理実行部702が工程定義部704に工程の追加を依頼する。
ステップ1006では、ステップ1005で第二の分類に属する工程が追加されたことに伴い、依存情報チェック部707が実行順序を更新する。
ステップ1007では、工程追加の際の追加工程とは別に指定された第一の分類に属する工程を、工程定義部704が基準工程としてRAM303に記憶する。
ステップ1008では、ステップS1005における工程追加の際に指定された追加工程と基準工程との依存関係を、第二の分類に属する追加工程の第二の依存情報として、第二依存情報管理部706がRAM303に記憶する。これにより、第二の分類に属する工程を追加した上での新たな実行順序が決定する。
上記工程により、インストール対象のソフトウェアをインストールする工程と、追加的な工程とを、工程間の順序関係に応じた順序で配置することができる。指示書作成ボタン803が押下されると、図10(後述する図11も同様)で作成された各工程及び順序の情報に基づいて、各工程を配置した設置指示書(設置指示情報)が作成される。この設置指示情報はステップS1008で完成する。設置指示情報は、設置指示書管理サーバー104に送信されて管理される。またUSBストレージ209に保存してもよい。設置指示情報は、たとえば画像形成装置101により解釈実行できるスクリプト言語で記述される。各工程は例えば、ソフトウェアを含むファイルの所在や名称を指定した上で、そのソフトウェアのインストーラプログラムを実行するようなコードが含まれる。インストーラもまた例えばサーバーからダウンロードする構成であってもよい。そのようなソフトウェアをインストールするための工程が、たとえば実行順序を指定した上で記述されている。
●設置指示書作成プログラムの処理(変更)
図11は、設置指示書作成プログラム700の処理の流れを説明したフローチャートであるが、第二の分類に属する工程を追加した実行順序を決定した後に、ソフトウェア構成を変更した際のものである。
図11は、設置指示書作成プログラム700の処理の流れを説明したフローチャートであるが、第二の分類に属する工程を追加した実行順序を決定した後に、ソフトウェア構成を変更した際のものである。
操作例に当てはめると、一度実行順序を確定した図8(d)の状態から、図8(a)のソフトウェア構成画面801からソフトウェア構成を変更し、改めて実行順序画面802に切り替えるときの処理の説明となる。図11は例えば図10の手順で作成された設置指示書を読み込み、設置指示書にしたがって図8(d)のユーザーインタフェース画面を表示した状態から処理が開始される。
ステップ1101では、実行処理部702がソフトウェア構成定義部704に対し、前回実行順序を確定した以降、ソフトウェア構成に変更があったかどうかを判定する。特に変更されていない場合は、現在確定済の実行順序を更新することなく処理を終了する。構成の変更の有無は、たとえば工程の削除や追加等の操作の有無に基づいて判定することができる。
ソフトウェア構成に変更があると判定された場合は、ステップ1102において、処理実行部702が工程定義部705に対し、新たなソフトウェア構成を基に各ソフトウェアを画像形成装置101へ適用するための工程を生成するよう指示を出す。
工程定義部705が第一の分類に属する工程をRAM303に記憶すると、ステップ1103で依存情報チェック部707がソフトウェア管理サーバー105から、各ソフトウェアの依存情報(第一の依存情報)を取得する。
ステップ1104では、依存情報チェック部707が、取得したソフトウェアの依存情報を基に、各工程の実行順序を決定し、RAM303に記憶する。
ステップ1105では、処理実行部702がソフトウェア構成定義部704に対し、図10の処理により以前RAM303に記憶した、変更の対象とされている設置指示情報の中に、設置指示書作成プログラム700が独自に管理する第二の分類に属する工程が含まれていたかどうかを問い合わせる。第二の分類に属する工程が含まれていなければ、S1104で決定した、第一の分類に属する工程のみで決定された実行順序を最新の実行順序としてRAM303に記憶し、処理を終了する。
第二の分類に属する工程が含まれていた場合は、ステップ1106において、依存情報チェック部707が、該工程の第二の依存情報を第二依存情報管理部706から取得する。
ステップ1107では、該の工程と依存関係にある基準工程が、ステップ1102で生成された第一の分類に属する工程の中に含まれるかどうか、処理実行部702が工程定義部705に問い合わせる。
基準工程が存在していれば、ステップ1108において、依存情報チェック部707がステップ1106で取得した第二の依存情報に基づいて、RAM303に記憶している実行順序を更新する。ステップ1105からステップ1108の処理は、全ての第二の分類に属する工程に対して繰り返し実行される。なお処理対象とされている第二の分類に属する工程が、新たに追加された工程である場合には、その工程の第二の依存情報は、追加操作の段階で作成され、記憶されている。したがってその場合には基準工程は必ず存在していることになる。
基準工程が存在しなければ、処理実行部702はステップ1109へ処理を遷移する。基準工程が存在しないということは、ステップ1101でソフトウェア構成が変更された際に、基準工程となるソフトウェアが削除されたということである。つまり、図8(a)のソフトウェア構成画面801において、基準工程となっているソフトウェアのチェックマークを外されたということである。
ステップ1109では、第二依存情報管理部706が、基準工程を失った第二の分類に属する工程に関する依存情報をRAM303から削除する。
ステップ1110では、工程定義部705が基準工程を失った第二の分類に属する工程をRAM303から削除する。
これらの処理を経て、依存情報チェック部707は、新たな実行順序を確定し、RAM303に記憶されている実行順序を更新する。更新された工程及び順序に係る情報に基づいて、設置指示情報を例えばUSBストレージ209などに格納することができる。
以下、指示書作成に関する説明である。指示書作成ボタン803の押下によって、指示書作成指示をUI制御部701から受け取った処理実行部702は、設置指示書生成部708を呼び出す。設置指示書生成部708は依存情報チェック部707がRAM303に記憶している最新の工程及び実行順序に基づいて設置指示書を生成し、通信部709を介して設置指示書管理サーバー104へ送信したり、ストレージ制御部703を介して可搬記憶媒体102へ書き出したりする。
一方、画像形成装置101は、設置指示書作成装置103から可搬記憶媒体102を介して、あるいはLAN100を介して設置指示情報を受け取る。そして画像形成装置101にインストールされている自動設置プログラムを実行することで、設置指示情報にしたがって、設置指示情報で指定されたソフトウェアが指定された順序でインストールされる。
以上のように、ソフトウェア管理サーバーが管理する第一の依存情報とは別に、システム独自の工程である第二の分類に属する工程に関する第二の依存情報を管理することで、
第一の分類に属する工程(基準工程を含む)、第二の分類に属する工程のいずれにおいても、適切な順序で実行可能な設置指示書を作成する事が可能となる。
第一の分類に属する工程(基準工程を含む)、第二の分類に属する工程のいずれにおいても、適切な順序で実行可能な設置指示書を作成する事が可能となる。
●自動設置プログラム
図12は、画像形成装置101で動作する、自動設置プログラム1200の機能構成の例を示す図である。CPU201が各機能に応じたプログラムを実行することにより、各機能は実現される。自動設置プログラム1200は例えば拡張プログラムとして画像形成装置101にインストールされる。自動設置プログラム1200は、UI制御部1201、処理実行部1202、ストレージ制御部1203、指示書解析部1204とス指示書実行部1205、通信部1206を有する。なお指示書とは設置指示情報のことである。設置指示情報がスクリプト言語で記述されているならば、指示書解析部1204はそのスクリプトを解析し、指示書実行部1205はそのスクリプトを実行する。
図12は、画像形成装置101で動作する、自動設置プログラム1200の機能構成の例を示す図である。CPU201が各機能に応じたプログラムを実行することにより、各機能は実現される。自動設置プログラム1200は例えば拡張プログラムとして画像形成装置101にインストールされる。自動設置プログラム1200は、UI制御部1201、処理実行部1202、ストレージ制御部1203、指示書解析部1204とス指示書実行部1205、通信部1206を有する。なお指示書とは設置指示情報のことである。設置指示情報がスクリプト言語で記述されているならば、指示書解析部1204はそのスクリプトを解析し、指示書実行部1205はそのスクリプトを実行する。
UI制御部1201は、自動設置プログラムを操作するためのUIを、操作部208を通じてユーザーに提供し、ユーザーの操作を受け付ける。処理実行部1202は、UI制御部1201の指示に従い、各種処理を行う。ストレージ制御部1203は、可搬記憶媒体102のデータの読み書きを行う。また、搬記憶媒体102の挿抜を検知する。
指示書解析部1204は、設置指示書作成装置103で作成された設置指示書の内容を解析し、指示書実行部1205が実行すべきコマンド等に変換する。指示書実行部1205は、指示書解析部1204によって変換されたコマンドを設置指示書に記録されている順序で実行していく。
通信部1206は、設置指示書管理サーバー104から設置指示書を取得したり、ソフトウェア管理サーバー105から画像形成装置101に適用するソフトウェアを取得したり、各種情報のやりとりを行う。
設置指示書作成プログラム700により作成された設置指示情報は、上述した自動設置プログラム1200により解釈実行されて、記述された手順に従ってソフトウェアがインストールされる。設定指示情報の作成の際には、ソフトウェアのインストールという第一の分類に属する工程に加えて、一時停止やシャットダウンなど、ソフトウェアのインストールに直接関連しない追加的な第二の分類に属する工程も、指定された順序で実行される。そしてこの順序は、いったん依存関係が定義されればその依存関係にしたがって決定される。そのため、ソフトウェア間の依存関係に基づいたインストール順序に拘束された付加的な工程についても、適切な依存関係を定義し、それに基づいて順序付けることが可能になる。
なお、付加的な工程のみならず、ソフトウェアのインストール工程についても、付加的な工程と同様に、依存関係を定義して順序を決定することができる。たとえば他のソフトウェアとの依存関係が特にないソフトウェアについても、それをインストール対象として設定指示情報を作成する際に、他のソフトウェアとの依存関係(あるいは順序関係)をユーザーに定義させることができる。そして存定義された関係を記憶しておくことで、設置指示情報の保守や作成の際に、その関係に応じて工程を順序付けることができる。
さらに、他のソフトウェアと依存関係があったとしても、本実施形態を適用できる。すなわち本実施形態では第一の分類に属する工程と、第二の分類に属する工程とをわけている。第一の分類に属する工程は、ソフトウェア間の依存関係により、あらかじめ順序に制約が加えられた工程である。しかしながらこの第一の分類に属する工程についても、予めソフトウェア間の依存関係に基づく順序付けをせず、設置指示情報の作成時に、その順序をユーザーに指定させる。そしてその指定により、ソフトウェア間の順序関係を学習するよう構成してもよい。
[第二実施形態]
第二実施形態として、以下のケースについても適応した設置指示情報の作成手順を説明する。
第二実施形態として、以下のケースについても適応した設置指示情報の作成手順を説明する。
画像形成装置101の自動設置プログラム1200は、設置指示書管理サーバー104もしくは可搬記憶媒体102から取得した設置指示書に基づいて、各工程を実行していく。ただし、工程を実行することでインストールされるソフトウェアが既に画像形成装置101にインストール済み状態だったとき、自動設置プログラム1200の指示書実行部1205は、その工程を実行することなく、次の工程を実行しようとする。本実施形態では、このスキップされた工程が基準工程のとき、依存関係を有する第二の分類に属する工程も、基準工程と同様に実行しないか、基準工程とは無関係に実行だけはするのか、を指定できる。
図13は、第二の分類に属する工程に対し、第三の依存情報を設定する際の、操作画面例である。例えば、追加された第二の分類に属する工程である「一時停止」工程に対して、チェックコントロール1301を配置する。操作者により、チェックコントロール1301をオンにされたことをUI制御部701から受け取ると、処理実行部702は、第三依存情報管理部710に対して、「一時停止」工程の第三依存情報として、基準工程が実行されないとき基準工程に同期させて「一時停止」工程も実行しない旨を記憶させる。すなわち、第二の分類に属する工程については、条件付きの動作が指定されている場合には、その動作を設置指示情報に記憶させておく。指定されていなければ第三依存情報は記憶しなくともよい
●自動設置プログラムによる処理
図14は、自動設置プログラム1200が、設置指示書に則って各工程を実行する際の処理の流れを説明したフローチャートである。
●自動設置プログラムによる処理
図14は、自動設置プログラム1200が、設置指示書に則って各工程を実行する際の処理の流れを説明したフローチャートである。
設置処理開始の信号をUI制御部1201から受け取った処理実行部1202は、ストレージ制御部1203を経由して可搬記憶媒体102から設置指示書を取得するか、通信部1206を介して設置指示書管理サーバー104から設置指示書を取得する。
ステップ1401では、指示書解析部1204が、取得済の設置指示書を解析し、まだ実行していない工程が残っているかどうかをチェックする。残っていなければ、全ての工程を実行済と判断し、処理を終了する。
残っていれば、指示書解析部1204は、次の工程に対して、その工程が第二の分類に属する工程か否かをチェックする(ステップ1402)。第二の分類に属する工程でなければ、通常の第一の分類に属する工程となる。
第一の分類に属する工程のとき、ステップ1403では、指示書実行部1205が、画像形成装置101のソフトウェア構成が、該第一の分類に属する工程を実行した際の状態と一致しているかどうかをチェックする。つまり、設置指示書の工程で指示されているソフトウェアが、既に画像形成装置にインストールされているかどうかを確認する。
画像形成装置のソフトウェア構成が該工程を実行した際の状態に一致していなければ、指示書実行部1205は、その第一の分類に属する工程を指示書通りに実行し、次の工程のチェックをするため、ステップ1401へ遷移する。
画像形成装置のソフトウェア構成が該工程を実行した際の状態と一致していれば、指示書実行部1205は該工程をスキップする(ステップ1405)。スキップは、工程の未実行とは異なる状態であり、工程の処理結果としては実行済の状態として、指示書実行部1205は管理する。
ステップ1402において、現在の工程が第二の分類に属する工程だったとき、ステップ1406において、指示書解析部1204は、該工程が第三の依存情報を有しているかどうかをチェックする。第三の依存情報は、第二の分類に属する工程の付属情報として設置指示書に記録されている。この例では第三の依存情報は、基準工程に同期させる、すなわち基準工程と同様の処理とする、というものである。
第三の依存情報を有していなければ、基準工程のスキップに追従する必要はないため、ステップ1410において、指示書実行部1205は第二の分類に属する工程を実行する。
第三の依存情報を有している場合は、基準工程のスキップに追従する必要があるため、ステップ1407において、指示書実行部1205は、現在の第二の分類に属する工程の基準工程が既に実行済かどうか、各工程の実行状況をチェックする。
既に実行していれば、依存関係にある第二の分類に属する工程も実行すれば良いだけなので、ステップ1410にて実行する。
また、実行済だがスキップしていた場合は、依存関係にある第二の分類に属する工程もスキップする必要があるため、指示書実行部1205は、ステップ1409において、該工程をスキップする。
実行済でもなく、スキップでもなく、基準工程を未だ実行していない状態だったとき、指示書実行部1205が、画像形成装置101のソフトウェア構成が、基準工程を実行した際の状態と一致しているかどうかをチェックする。つまり、設置指示書の工程で指示されているソフトウェアが、既に画像形成装置にインストールされているかどうかを確認する(ステップ1408)。一致した場合、基準工程の実行順序がまわってきたとき、それはスキップすべき工程であるため、指示書実行部1205は、依存関係にある第二の分類に属する工程もスキップする(ステップ1409)。
基準工程を実行した際の状態と、画像形成装置101のソフトウェア構成が一致しない場合は、基準工程の実行順序がまわってきたときに、それは実行すべき工程であるため、指示書実行部1205は、依存関係にある第二の分類に属する工程も実行する(ステップ1410)。
以上のように、自動設置プログラムが基準工程を実行するか否かに合わせて、第二の分類に属する工程も実行するような、第三の依存情報を管理することで、不要な工程を実行することが無くなる。
[第三の実施形態]
第一の実施形態では、設置指示書作成プログラム700が、操作者に指定された工程を基準工程として定義し、その基準工程と追加した第二の分類に属する工程との依存関係を第二の依存関係として記憶する。そうすることで、その後ソフトウェア構成が変更されたとしても、追加した第二の分類に属する工程を適切な実行順序に保つことを可能とした。第三の実施形態では、単独の工程ではなくソフトウェアのグループを基準として定義する方法を説明する。
第一の実施形態では、設置指示書作成プログラム700が、操作者に指定された工程を基準工程として定義し、その基準工程と追加した第二の分類に属する工程との依存関係を第二の依存関係として記憶する。そうすることで、その後ソフトウェア構成が変更されたとしても、追加した第二の分類に属する工程を適切な実行順序に保つことを可能とした。第三の実施形態では、単独の工程ではなくソフトウェアのグループを基準として定義する方法を説明する。
まず、図15は設置指示書作成装置103の操作画面例である。第一の分類に属する工程のSoftware0002を選択した状態で、コンテキストメニュー1501を開き、工程とソフトウェアグループのどちらを基準とするかを選択する。ソフトウェアグループは表示領域1502に表現されており、各ソフトウェアの特性に応じて予め決められているものである。本実施形態では、ソフトウェアグループを基準として選択したものとする。図15の例では、ファームウェア、ソフトウェア、オプションの3グループに分類されている。さらに、その基準に対して、追加する第二の分類に属する工程と追加位置を指定する。
本実施形態においては、図15(a)に示すように、ソフトウェアのグループSを基準として、グループSの後ろに「一時停止」工程を追加する、と指定したとする。すると、図15(b)の1503のような実行順序が形成される。ここで、Option0001と依存関係を有するSoftware0003を追加し、ソフトウェア構成を変更したとする。依存関係は、Option0001が親でSoftware0003が子(例えば親の直後)である。
第一の分類に属する工程のみであれば、図15(c)の実行順序1504の順序1から4までが適切な順序となる。しかしながら、先程、第二の分類に属する工程である「一時停止」工程を、グループSの後ろに追加したため、順序5に「一時停止」が配置される。
ここでの特徴は、「一時停止」工程を追加した際のSoftware0002の直後ではなく、Software0003の後に「一時停止」工程が配置される点である。
ソフトウェアのグループを基準とした場合、追加される第二の分類に属する工程は、基準のグループに含まれるソフトウェアの内、最初に実行予定のソフトウェアの直前か、もしくは最後に実行予定のソフトウェアの直後という依存情報を持つことになる。
●設置指示書作成プログラム
図16は、設置指示書作成プログラム700の処理の流れを説明したフローチャートである。基準を工程とした第一の実施形態におけるフローチャート(図10)との違いはステップ1601のみである。第一の実施形態ではステップ1007において工程定義部705が基準工程を記憶したのに対し、第二の実施形態においては、工程定義部705が基準とするソフトウェアのグループを記憶する。
図16は、設置指示書作成プログラム700の処理の流れを説明したフローチャートである。基準を工程とした第一の実施形態におけるフローチャート(図10)との違いはステップ1601のみである。第一の実施形態ではステップ1007において工程定義部705が基準工程を記憶したのに対し、第二の実施形態においては、工程定義部705が基準とするソフトウェアのグループを記憶する。
図17は、ソフトウェア構成変更時の設置指示書作成プログラム700の処理の流れを説明したフローチャートである。基準を工程とした第一の実施形態におけるフローチャート(図11)との違いはステップ1701のみである。第一の実施形態ではステップ1107において、工程定義部704は基準工程が削除されていないかどうかをチェックしたのに対し、第二の実施形態においては、工程定義部704が基準とするソフトウェアのグループに含まれるソフトウェアが、1つも存在しないかどうかをチェックする。つまり、基準となるソフトウェアのグループに含まれるソフトウェアが1つでも存在するうちは、追加した第二の分類に属する工程を削除することはないが、基準のグループに含まれるソフトウェアが全て、ソフトウェア構成から削除された場合は、追加した第二の分類に属する工程も削除するし、関連する第二の依存情報も削除する。
以上のように、第二の分類に属する工程とソフトウェアグループとの依存関係を第二の依存情報として管理することで、より柔軟なワークフローを実現する設置指示書を作成することが可能となる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 画像形成装置、103 設置指示書作成装置、700 設置指示書作成プログラム、901 第二の分類に属する工程の追加操作例
Claims (10)
- ソフトウェアのインストールを指示する指示情報を作成するための情報処理装置であって、
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定手段と、
指定された前記付加的な工程の順序を記憶する記憶手段と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定手段と、
前記決定手段により決定した前記順序に基づいて指示情報を作成する作成手段と
を有することを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記設定手段は、前記ソフトウェアの選択を受け付け、前記付加的な工程の追加を受け付け、前記付加的な順序の指定を受け付けるためのユーザインタフェース手段を含むことを特徴とする情報処理装置。 - 請求項1又は2に記載の情報処理装置であって、
前記設定手段は、前記付加的な工程の順序として、前記ソフトウェアのうちから選択された基準工程となるソフトウェアに対する相対的な順序の指定を受け付けることを特徴とする情報処理装置。 - 請求項3記載の情報処理装置であって、
前記設定手段は、前記基準工程となるソフトウェアとして、単独のソフトウェアを選択できることを特徴とする情報処理装置。 - 請求項4に記載の情報処理装置であって、
前記指示情報から前記基準工程となるソフトウェアが削除されると、該ソフトウェアを基準工程として順序が指定された前記付加的な工程も削除することを特徴とする情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記設定手段は、前記基準工程となるソフトウェアとして、ソフトウェアのグループを選択できることを特徴とする情報処理装置。 - 請求項6に記載の情報処理装置であって、
前記指示情報から前記基準工程となるソフトウェアのグループに属する全てのソフトウェアが削除されると、該ソフトウェアを基準工程として順序が指定された前記付加的な工程も削除することを特徴とする情報処理装置。 - 請求項3乃至7のいずれか一項に記載の情報処理装置であって、
前記指示情報に従ってソフトウェアをインストールする場合には、インストール対象のソフトウェアが既にインストール済みの場合には、該ソフトウェアのインストールはスキップされ、
前記設定手段は、前記基準工程となるソフトウェアのインストールがスキップされた場合の、スキップされたソフトウェアを前記基準工程として順序が指定された前記付加的な工程のふるまいを設定できることを特徴とする情報処理装置。 - ソフトウェアのインストールを指示する指示情報を作成するための情報処理装置の制御方法であって、
インストール対象のソフトウェアの選択と、付加的な工程の追加の指示と、前記付加的な工程の順序の指定とを受け付ける設定工程と、
指定された前記付加的な工程の順序を記憶手段に記憶する記憶工程と、
選択された前記ソフトウェアのインストールと指定された前記付加的な工程とを実行する実行順序を、選択された前記ソフトウェアの間の依存関係と前記記憶手段に記憶された前記付加的な工程の順序とに基づいて決定する決定工程と、
前記決定工程で決定した前記順序に基づいて指示情報を作成する作成工程と
を有することを特徴とする情報処理装置の制御方法。 - 請求項1乃至8のいずれか一項に記載の情報処理装置としてコンピューターを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017094082A JP2018190284A (ja) | 2017-05-10 | 2017-05-10 | 情報処理装置およびその制御方法とプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017094082A JP2018190284A (ja) | 2017-05-10 | 2017-05-10 | 情報処理装置およびその制御方法とプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018190284A true JP2018190284A (ja) | 2018-11-29 |
Family
ID=64478593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017094082A Pending JP2018190284A (ja) | 2017-05-10 | 2017-05-10 | 情報処理装置およびその制御方法とプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018190284A (ja) |
-
2017
- 2017-05-10 JP JP2017094082A patent/JP2018190284A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6874405B2 (ja) | 情報処理装置、プログラム、システム | |
US9052850B2 (en) | Printer driver, storage medium, and information processing apparatus | |
KR101456624B1 (ko) | 화상형성장치, 및 웹 어플리케이션 설치 방법 | |
US7853946B2 (en) | Information processing apparatus, information processing method, and control program | |
US7395533B2 (en) | Information processing apparatus and method, computer program therefor, and computer-readable storage medium | |
US8587811B2 (en) | Information processing apparatus and method thereof | |
JP5665437B2 (ja) | ネットワーク機器管理システム、ネットワーク機器管理装置、クライアント装置およびその方法 | |
JP2015046075A (ja) | 情報処理装置、その制御方法、及びコンピュータプログラム | |
JP4981936B2 (ja) | インストーラ及びプリンタドライバのインストール方法 | |
KR20090031111A (ko) | 화상형성장치 드라이버 프로그램의 관리 방법 및 장치 | |
JP2016064591A (ja) | 情報処理装置、その制御方法、プログラム。 | |
JP2016148947A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法、及びプログラム | |
JP4425808B2 (ja) | 印刷情報処理装置、印刷情報処理プログラム及び記録媒体 | |
JP2015041179A (ja) | デバイス装置、制御方法およびコンピュータプログラム | |
JP7286325B2 (ja) | 画像形成装置および制御方法 | |
JP2018190284A (ja) | 情報処理装置およびその制御方法とプログラム | |
JP2015177254A (ja) | 画像形成装置及びその制御方法 | |
JP6497837B2 (ja) | 情報処理装置およびプログラムおよび制御方法 | |
JP6273756B2 (ja) | デバイスドライバ、情報処理装置および出力設定変換方法 | |
JP2017111531A (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2018081607A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2016148949A (ja) | 管理装置、情報処理装置、管理装置の制御方法、情報処理装置の制御方法、及びプログラム | |
JP2018116361A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、及びプログラム、情報処理システム | |
JP2016081164A (ja) | 情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法及びプログラム | |
JP2009093262A (ja) | インストールプログラム |