(57)【要約】【課題】本発明では、ソフトウェアをインストール又は更新する場合に、実行中のジョブ又は待機中のジョブへ影響を与えないと確認ができたソフトウェアについては、ジョブの実行中であってもインストール又は更新処理を行う情報処理装置を提供することを目的とする。【解決手段】開示の情報処理装置の一形態では、インストール又は更新対象となるソフトウェアが依存するソフトウェアが実行中又は待機中かどうか調べることで、他のジョブに影響するかどうかの判断をするので、インストール又は更新するソフトウェアが、情報処理装置で実行中のジョブに影響を与えない場合には現行ジョブと共に、インストール又は更新処理を実行することができる。【選択図】図１
2010218316.tif 000002
【特許請求の範囲】
【請求項１】
複数のソフトウェアを有し、一のソフトウェアによる処理結果を他のソフトウェアによる処理において利用する情報処理装置であって、
当該情報処理装置にソフトウェアのインストールを行うインストール手段と、
当該情報処理装置が保持するソフトウェアの更新を行うソフト更新手段と、
前記インストール手段によりインストールされるソフトウェア又は前記ソフト更新手段により更新されるソフトウェアが、当該情報処理装置において実行中のソフトウェアによる処理結果を利用する依存関係にあるか否かを判定する依存関係判定手段と、を有し、
前記依存関係判定手段により前記依存関係が無いと判定された場合、
前記インストール手段は前記インストールを行い、前記ソフト更新手段は前記更新を行うことを特徴とする情報処理装置。
【請求項２】
前記インストール手段又は前記ソフト更新手段による処理の実行中に、当該情報処理装置が処理要求を受け付けた場合、
前記依存関係判定手段は、前記インストール手段によりインストールされているソフトウェア又は前記ソフト更新手段により更新されているソフトウェアが、前記処理要求を実現するためのソフトウェアによる処理結果を利用する依存関係にあるか否かを判定し、
前記依存関係判定手段により前記依存関係が無いと判定された場合、当該情報処理装置は前記処理要求を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記依存関係判定手段は、前記インストール手段によりインストールされるソフトウェア又は前記ソフト更新手段により更新されるソフトウェアが、当該情報処理装置において処理実行待機中のソフトウェアによる処理結果を利用する依存関係にあるか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
複数のソフトウェアを有し、一のソフトウェアによる処理結果を他のソフトウェアによる処理に利用する情報処理装置における情報処理方法であって、
インストール手段が、前記情報処理装置にソフトウェアのインストールを行うステップと、
ソフト更新手段が、前記情報処理装置が保持するソフトウェアの更新を行うステップと、
依存関係判定手段が、前記インストール手段によってインストールされるソフトウェア又は前記ソフト更新手段によって更新されるソフトウェアが、前記情報処理装置において実行中のソフトウェアによる処理結果を利用する依存関係にあるか否かを判定するステップと、を有し、
前記依存関係判定手段によって前記依存関係が無いと判定された場合、
前記インストール手段は前記インストールを行い、前記ソフト更新手段は前記更新を行うことを特徴とする情報処理方法。
【請求項５】
複数のソフトウェアを有し、一のソフトウェアによる処理結果を他のソフトウェアによる処理に利用する情報処理装置に、
インストール手段が、前記情報処理装置にソフトウェアのインストールを行うステップと、
ソフト更新手段が、前記情報処理装置が保持するソフトウェアの更新を行うステップと、
依存関係判定手段が、前記インストール手段によってインストールされるソフトウェア又は前記ソフト更新手段によって更新されるソフトウェアが、前記情報処理装置において実行中のソフトウェアによる処理結果を利用する依存関係にあるか否かを判定するステップと、を実行させるための情報処理プログラムであって、
前記依存関係判定手段によって前記依存関係が無いと判定された場合、
前記インストール手段は前記インストールを行い、前記ソフト更新手段は前記更新を行うことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置においてソフトウェアのインストールや更新を行う技術に関する。
【背景技術】
【０００２】
複合機などの情報処理装置において、製造メーカ等が提供するサーバからネットワークを介してソフトウェアをダウンロードし、複合機内部でインストールやソフトウェア更新を行うことが増えてきている。
【０００３】
特許文献１等では、複合機にてネットワークを介してソフトウェアをダウンロードしてインストールする際、ジョブのオーナに問い合わせを行い、同意を得ることでジョブの意図しない中断や処理遅延の発生を防止する仕組みが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術においては、同意を得ることでジョブの意図しない中断や処理遅延の発生を防止する仕組みであるため、インストール対象又は更新対象となるソフトウェアが、現在実行中又は待機中のジョブに影響を与えない場合にも同意を得る必要があるという問題点がある。
【０００５】
そこで、本発明では、ソフトウェアをインストール又は更新する場合に、実行中のジョブ又は待機中のジョブへ影響を与えないと確認ができたソフトウェアについては、ジョブの実行中であってもインストール又は更新処理を行う情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
開示の情報処理装置の一形態では、複数のソフトウェアを有し、一のソフトウェアによる処理結果を他のソフトウェアによる処理において利用する情報処理装置であって、当該情報処理装置にソフトウェアのインストールを行うインストール手段と、当該情報処理装置が保持するソフトウェアの更新を行うソフト更新手段と、前記インストール手段によりインストールされるソフトウェア又は前記ソフト更新手段により更新されるソフトウェアが、当該情報処理装置において実行中のソフトウェアによる処理結果を利用する依存関係にあるか否かを判定する依存関係判定手段と、を有し、前記依存関係判定手段により前記依存関係が無いと判定された場合、前記インストール手段は前記インストールを行い、前記ソフト更新手段は前記更新を行うことを特徴とする。
【発明の効果】
【０００７】
開示の情報処理装置では、ソフトウェアをインストール又は更新する場合に、実行中のジョブ又は待機中のジョブへ影響を与えないと確認ができたソフトウェアについては、ジョブの実行中であってもインストール又は更新処理を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の機能ブロック図である。
【図２】操作手段を説明する図である。
【図３】販売パッケージと機能パッケージとの関係を説明する図である。
【図４】情報処理装置による処理の一例を説明する図である。
【図５】情報処理装置による処理の一例を説明する図である。
【図６】情報処理装置による処理の一例を説明する図である。
【図７】情報処理装置による処理の一例を説明する図である。
【図８】情報処理装置による処理例のフローチャートである。
【図９】情報処理装置による処理例のフローチャートである。
【発明を実施するための形態】
【０００９】
図面を参照しながら、本発明を実施するための最良の形態について説明する。図１は、情報処理装置１００全体の制御を説明するブロック図である。図１で示すように、情報処理装置１００は、表示手段２、操作手段３、外部通信手段４、依存関係判定手段５、システム制御部６、画像メモリ部７、画像加工手段８、印刷手段９、インストール手段１０、ソフト更新手段１１を有し、各部・各手段はシステムバス１により接続されている。
【００１０】
システムバス１は、システムを構成する複数の装置を結ぶ経路である。システム制御部６は、ＣＰＵ(Central Processing Unit)等により構成され、不揮発メモリに記憶されているプログラムをワークエリア(ＲＡＭ等)に展開し、当該プログラムに従い各部・各手段を制御する。
【００１１】
表示手段２は、システム制御部６から入力される表示データに基づき、画面上に各種表示を行う。操作手段３は、各種機能キー等を備えたキーボードにより構成され、押下されたキーの押下信号をシステム制御部６に伝える。外部通信手段４は、外部に設定してあるサーバ等と通信する。
【００１２】
依存関係判定手段５は、外部通信手段４を用いてコンポーネントサーバよりダウンロードした販売パッケージに含まれる機能パッケージが、機器内でインストール済みである機能パッケージとの依存関係があるかどうかを判断する。ここで、販売パッケージとは販売単位であり、１以上の機能パッケージが含まれている。一方、機能パッケージとは、インストールの最小単位であり、プログラムコンポーネントと１対１に対応する（以下、原則的にプログラムコンポーネントを機能パッケージと称する）。
【００１３】
また、依存関係とは、インストール手段１０によりインストールされる機能パッケージ又はソフト更新手段１１により更新される機能パッケージが、情報処理装置１００において実行中又は処理待機中の機能パッケージによる処理結果を利用する関係をいう。別形態では、依存関係とは、インストール手段１０によりインストール中の機能パッケージ又はソフト更新手段１１により更新中の機能パッケージが、情報処理装置１００において処理要求に基づき実行しようとする機能パッケージによる処理結果を利用する関係をいう。
【００１４】
画像メモリ部７は、画像データや印刷データ等が格納される。画像加工手段８は、入力された画像に対し、拡大縮小、回転等の画像処理を施し、画像処理した画像を印刷手段９に出力する。印刷手段９は、感光ドラム、トナー、排紙部、給紙部などを備えて構成され、システム制御部７からの印刷指示に従い、印刷用紙を給紙部から搬送し、画像加工手段９から入力された画像を印刷用紙に感光させる。次に画像出力部は、感光した印刷用紙にトナーを転写して定着させ、この印刷用紙を排紙部から排紙する。
【００１５】
インストール手段１０は、情報処理装置１００に機能パッケージ（ソフトウェア）をインストールする。ソフト更新手段１１は、情報処理装置１００が有する機能パッケージ（ソフトウェア）を更新する。
【００１６】
図２は、情報処理装置１００に関わる操作手段３、表示手段２を示す図である。図２の１０１で操作手段３を示し、１０２は表示手段２を示している。１０２には、文字列やビットマップが表示され、タッチパネルタイプのものは直接入力の受付けが可能である。図２の１０３はアプリケーション切り替えキーで、各種機能（コピー、スキャナ、ＦＡＸ、プリンタ）を切り替える操作に用いられる。
【００１７】
図２の１０４はテンキーで、数字の入力等の操作に用いられる。図２の１０５は、スタートキーで、各種機能の動作開始を指示する操作に用いられる。図２の１０６はクリアストップキーで、各種機能の動作中断や設定した数値を０クリアする時に使用する。図２の１０７は初期設定キーで、各種機能で使用する設定の初期値を設定する時に用いられる。図２の１０８はＨｅｌｐキーで、各種操作のＨｅｌｐ項目を表示させるときに使用する。図２の１０９はリセットキーで、各種機能の動作のリセット時に使用する。
【００１８】
図３で、本実施の形態に係る販売パッケージと機能パッケージとの関係を示す。図３で示すように、通信手段２を用いてダウンロードするソフトウェアは販売パッケージと呼ばれ、販売パッケージ内部には機能単位で存在する機能パッケージが存在する。これら機能パッケージには依存関係が存在するため、各機能パッケージにおいては自身が依存する機能パッケージの情報を保持する。
【００１９】
図４で、本実施の形態に係る依存関係判定手段５による処理内容の一例を説明する。図４では、情報処理装置１００において実行中のジョブが無い場合について説明する。
【００２０】
ネットワークに接続されたＰＣ等を用いて情報処理装置１００に販売パッケージ３をインストールする場合において、依存関係判定手段５は、サーバから販売パッケージ３をダウンロード後に販売パッケージ３に含まれる機能パッケージの依存関係を調査する。依存関係を特定するため、依存関係判定手段５は、販売パッケージに含まれる機能パッケージの「ｄａｌｐファイル」に記載されている依存パッケージ情報を取得する。
【００２１】
図４で示す例では、販売パッケージ３においては依存関係を持たない機能パッケージＤと、機能パッケージＢに依存する機能パッケージＣがあるため、依存関係判定手段５は、情報処理装置１００に機能パッケージＢがインストールされているか否かを調べ、依存関係判定手段５により機能パッケージＢが存在すると判定された場合に、インストール手段１０はインストールを実行する。
【００２２】
ここで、インストールではなく更新の場合には、インストール済の機能パッケージのバージョンと、ダウンロードしてきた機能パッケージのバージョンを比較し、後者のバージョンが上位であれば更新を実行する。
【００２３】
図５で、本実施の形態に係る依存関係判定手段による処理内容の一例を説明する。図５では、情報処理装置１００においてインストール対象から依存関係があるジョブが実行中である場合について説明する。
【００２４】
情報処理装置１００にてジョブが実行中の場合には、依存関係判定手段５は、実行中のジョブに機能を提供している機能パッケージを特定し（図５の例では機能パッケージＢ）、図４を用いた説明の通りインストールする機能パッケージＣと機能パッケージＤの依存関係を調べる。そして、依存関係判定手段５によって、インストール対象である機能パッケージＣが、実行中（機能を提供中）の機能パッケージＢに依存していることが分かった場合には、インストール手段１０は、実行中のジョブが完了後にインストールを実行する。インストールではなく更新の場合も同様に、依存関係判定手段５によって更新対象の機能パッケージに依存される機能パッケージが実行中（機能を提供中）と判定された場合には、ソフト更新手段１１は、実行中のジョブが完了次第、ソフト更新を実行する。
【００２５】
図６で、本実施の形態に係る依存関係判定手段による処理内容の一例を説明する。図５では、情報処理装置１００においてインストール対象から依存関係がないジョブが実行中である場合について説明する。
【００２６】
情報処理装置１００にてジョブが実行中の場合には、依存関係判定手段５は、実行中のジョブに機能を提供している機能パッケージを特定し（図６では機能パッケージＡ）、特定した機能パッケージに更に依存関係があるようであれば継続して依存する機能パッケージを調べる。図６で示す例では、機能を提供している機能パッケージＡが依存している機能パッケージＥが存在する。依存関係判定手段５は、実行中のジョブにおける機能パッケージの依存関係を調査した後、図５を用いた説明と同様に、インストールする機能パッケージＣと機能パッケージＤの依存関係を調べる。
【００２７】
そして、依存関係判定手段５によって、インストール対象である機能パッケージＣが機能パッケージＢに依存していることが分かるが、実行中のジョブ（機能提供中）の機能パッケージＡとは依存関係が無いと判定されるので、インストール手段１０は、機能パッケージのインストールを実行する。こうすることで、実行中のジョブに影響を与えることなく、インストールを実行することができる。一方、インストールではなくソフトウェアの更新の場合も同様に、依存関係判定手段５によって、更新対象の機能パッケージに依存される機能パッケージが実行中（機能提供中）の機能パッケージと依存関係が無いと判定された場合、ソフト更新手段１１は機能パッケージの更新を実行する。
【００２８】
図７で、本実施の形態に係る依存関係判定手段による処理内容の一例を説明する。図７では、情報処理装置１００においてインストール対象から依存関係が無いジョブが実行中であり、待機中のジョブが存在する場合について説明する。
【００２９】
図７では、図６を用いた例に加えて、情報処理装置１００にて待機中のジョブが存在する場合を示しているが、この場合、依存関係判定手段５は、実行中のジョブ同様に待機中のジョブにおける機能パッケージの依存関係を調べる。図７で示す例では、待機中のジョブも実行中のジョブと同様にインストール対象の機能パッケージとの依存関係は無いため、インストール手段１０はインストールを実行する。一方、依存関係判定手段５によって、待機中のジョブへの依存関係があると判定された場合、インストール手段１０は待機中のジョブが実行された後、機能パッケージのインストールを実行する。インストールではなくソフト更新の場合も同様に、依存関係判定手段５によって、更新対象の機能パッケージに依存される機能パッケージが実行中（機能提供中）又は待機中の機能パッケージと依存関係が無いと判定された場合、ソフト更新手段１１は機能パッケージの更新を実行する。
【００３０】
ここで、インストール／更新対象の販売パッケージに含まれる機能パッケージＡと情報処理装置１００にインストール済みの機能パッケージＡとが同バージョンであるか、装置内１００の機能パッケージＡのバージョンが高ければ、機能パッケージＡの更新は行わない。逆に、インストール／更新対象の販売パッケージに含まれる機能パッケージＡの方が既に装置１００内にある機能パッケージＡよりもバージョンが高ければ更新を行う。
【００３１】
このように、バージョンの新旧を理由に機能パッケージの更新を行わない場合、依存関係のある機能パッケージがインストール／更新対象の販売パッケージに含まれる場合であっても、販売パッケージのインストール／更新を行っても良い。
【００３２】
また、依存関係判定手段５による、装置１００において実行中のジョブで使用されている機能パッケージの特定の仕方については、ジョブ実行中に装置１００が販売パッケージのインストール／更新要求を受けた付けたタイミングで、既にインストールされている全機能パッケージに対して実行中であるかを問い合わせることにより特定することとする。依存関係判定手段５は、この問合せに対し、実行中であると応答した機能パッケージが、実行中のジョブで使用されている（機能提供中の）機能パッケージであると判断する。
【００３３】
図８で、ジョブ実行中における機能パッケージのインストール又は更新処理のフローチャートを示す。Ｓ１０で情報処理装置１００が、機能パッケージのインストール要求又は更新要求を受け付ける。Ｓ２０で依存関係判定手段５が、機能パッケージのインストール又は更新要求を受け付けた際、情報処理装置１００内で他のジョブが実行中か否かを調べる。
【００３４】
Ｓ３０で依存関係判定手段５が、インストール又は更新対象となる機能パッケージと実行中のジョブとで依存関係があるか否かを調べ、依存関係が無いと判定された場合にはＳ４０へと遷移するが、依存関係があると判定された場合には改めてＳ２０に遷移する。Ｓ４０でインストール手段１０又はソフト更新手段１１が、機能パッケージのインストール又は更新処理を実行する。ここで、インストール又は更新対象となるのは機能パッケージを含む販売パッケージということになるが、本実施の形態では依存関係を取り上げているため、依存関係情報を持つ機能パッケージを例に説明している。
【００３５】
図９で、機能パッケージのインストール又は更新処理中に他ジョブを受け付けた場合のフローチャートを示す。図９で示すフローチャートは、図８のフローチャートで示すＳ４０の「パッケージのインストール処理又はパッケージの更新処理」を実行中の情報処理装置１００における内部処理に該当する。ここで、インストール又は更新対象となるのは、機能パッケージを含む販売パッケージということになるが、本実施の形態では依存関係を取り上げているため、依存関係情報を持つ機能パッケージを例に説明している。
【００３６】
以上、本発明の実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲において、種々の変形・変更が可能である。
【符号の説明】
【００３７】
１  内部バス
２  表示手段
３  操作手段
４  外部通信手段
５  依存関係判定手段
６  システム制御手段
７  画像メモリ部
８  画像加工手段
９  印刷手段
１０  インストール手段
１１  ソフト更新手段
１００  情報処理装置
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開２００６−０９２３７７号公報
【図１】
2010218316.tif 000003
【図２】
2010218316.tif 000004
【図３】
2010218316.tif 000005
【図４】
2010218316.tif 000006
【図５】
2010218316.tif 000007
【図６】
2010218316.tif 000008
【図７】
2010218316.tif 000009
【図８】
2010218316.tif 000010
【図９】
2010218316.tif 000011