(57)【要約】【課題】一つあるいは複数の機能を有した画像形成装置において、動的に安全なプログラム修正が可能な画像形成装置を提供する。【解決手段】動的にプログラムを受け取ることを可能とするプログラム追加手段と、前記プログラム追加手段を起動するプログラム起動手段とを備える。【選択図】図４
2009196280.tif 000002
【特許請求の範囲】
【請求項１】
動的にプログラムを受け取ることを可能とするプログラム追加手段と、
前記プログラム追加手段を起動するプログラム起動手段とを備えることを特徴とする画像形成装置。
【請求項２】
前記プログラム追加手段は、ネットワークで接続された情報処理装置によって、プログラムを送受信することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記プログラム追加手段は、情報記録媒体によって、プログラムを受け取ることを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記プログラム起動手段は、前記プログラム追加手段を再起動させ、常に前記プログラム追加手段を有効状態にすることを特徴とする請求項１から３のいずれか1項に記載の画像形成装置。
【請求項５】
前記プログラム起動手段は、前記プログラム追加手段にて読取可能な記録媒体の挿入状態に応じて、前記プログラム追加手段を起動あるいは停止することを特徴とする請求項１から４のいずれか1項に記載の画像形成装置。
【請求項６】
さらに、前記プログラム追加手段にて受け取ったプログラムの実行可否を決定するフィルタ手段と、
前記フィルタ手段の制御を行なうためのフィルタ操作手段とを備えることを特徴とする請求項1から５のいずれか1項に記載の画像形成装置。
【請求項７】
前記フィルタ手段は、前記プログラムの正当性を検証することを特徴とする請求項1から６のいずれか1項に記載の画像形成装置。
【請求項８】
前記フィルタ手段は、前記フィルタ操作手段にて選択されたプログラムに対してプログラム追加を禁止することを特徴とする請求項１から７のいずれか1項に記載の画像形成装置。
【請求項９】
前記フィルタ操作手段は、前記プログラム追加手段、および前記プログラム起動手段の実行状態を表示することを特徴とする請求項１から８のいずれか1項に記載の画像形成装置。
【請求項１０】
動的にプログラムを受け取ることを可能とするプログラム追加ステップと、
前記プログラム追加ステップを起動するプログラム起動ステップとを備えることを特徴とする画像形成装置のプログラム追加方法。
【請求項１１】
前記プログラム追加ステップは、ネットワークで接続された情報処理装置によって、プログラムを送受信することを特徴とする請求項１０に記載の画像形成装置のプログラム追加方法。
【請求項１２】
前記プログラム追加ステップは、情報記録媒体によって、プログラムを受け取ることを特徴とする請求項１０に記載の画像形成装置のプログラム追加方法。
【請求項１３】
前記プログラム起動ステップは、前記プログラム追加ステップを再起動させ、常に前記プログラム追加ステップを有効状態にすることを特徴とする請求項１０から１２のいずれか1項に記載の画像形成装置のプログラム追加方法。
【請求項１４】
前記プログラム起動ステップは、前記プログラム追加ステップにて読取可能な記録媒体の挿入状態に応じて、前記プログラム追加ステップを起動あるいは停止することを特徴とする請求項１０から１３のいずれか1項に記載の画像形成装置のプログラム追加方法。
【請求項１５】
さらに、前記プログラム追加ステップにて受け取ったプログラムの実行可否を決定するフィルタ手段と、
前記フィルタステップの制御を行なうためのフィルタ操作ステップとを備えることを特徴とする請求項1０から１４のいずれか1項に記載の画像形成装置のプログラム追加方法。
【請求項１６】
前記フィルタステップは、前記プログラムの正当性を検証することを特徴とする請求項1０から１５のいずれか1項に記載の画像形成装置のプログラム追加方法。
【請求項１７】
前記フィルタステップは、前記フィルタ操作ステップにて選択されたプログラムに対してプログラム追加を禁止することを特徴とする請求項１０から１６のいずれか1項に記載の画像形成装置のプログラム追加方法。
【請求項１８】
前記フィルタ操作ステップは、前記プログラム追加ステップ、および前記プログラム起動ステップの実行状態を表示することを特徴とする請求項１０から１７のいずれか1項に記載の画像形成装置のプログラム追加方法。
【請求項１９】
請求項１０から１８のいずれか1項に記載の画像形成装置のプログラム追加方法を格納したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一つあるいは複数の機能を有した画像形成装置において、動的に安全なプログラム修正が可能な画像形成装置、そのプログラム追加方法及び記録媒体に関する。
【背景技術】
【０００２】
近年、コピー機能、ファクシミリ機能、スキャナ機能あるいはプリンタ機能などのうち、一つあるいは複数の機能を有した画像形成装置が登場している。これらの機能は年々複雑化し、それに伴って画像形成装置に発生する障害も複雑化しており、そのため障害の解決には多くの時間が割かれている。
【０００３】
この問題を解決するためにネットワーク経由でのファームウェアの更新や、デバッグ情報の取得など、通信回路を用いた効率化が多く提案されている（例えば特許文献１）。
【特許文献１】特開２００４−１８５５９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記発明のようなネットワークを介した機器の診断や効率化においては、一度機器を再起動させる必要があり、そのためにダウンタイムが解消できない問題が残っていた。また、この課題を解決するための手法として、機器の診断を再起動無しにするため動的にプログラムコードを変更させる手段を画像形成装置に搭載した場合、セキュリティ上の問題が懸念される。
【０００５】
本発明は、上記問題に鑑みてなされたもので、動的にプログラムを修正するためのプログラムを動作させておき、該プログラムを適用できる他のアプリケーションモジュールを制限できる形態をとることにより、画像形成装置の効率化や安全性の向上を目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明による画像形成装置は、動的にプログラムを受け取ることを可能とするプログラム追加手段と、プログラム追加手段を起動するプログラム起動手段とを備えることを特徴とする。
【０００７】
プログラム追加手段は、ネットワークで接続された情報処理装置によって、プログラムを送受信することを特徴とする。
【０００８】
プログラム追加手段は、情報記録媒体によって、プログラムを受け取ることを特徴とする。
【０００９】
プログラム起動手段は、プログラム追加手段を再起動させ、常にプログラム追加手段を有効状態にすることを特徴とする。
【００１０】
プログラム起動手段は、プログラム追加手段にて読取可能な記録媒体の挿入状態に応じて、プログラム追加手段を起動あるいは停止することを特徴とする。
【００１１】
さらに、プログラム追加手段にて受け取ったプログラムの実行可否を決定するフィルタ手段と、フィルタ手段の制御を行なうためのフィルタ操作手段とを備えることを特徴とする。
【００１２】
フィルタ手段は、プログラムの正当性を検証することを特徴とする。
【００１３】
フィルタ手段は、フィルタ操作手段にて選択されたプログラムに対してプログラム追加を禁止することを特徴とする。
【００１４】
フィルタ操作手段は、プログラム追加手段、およびプログラム起動手段の実行状態を表示することを特徴とする。
【００１５】
また、本発明による画像形成装置のプログラム追加方法は、動的にプログラムを受け取ることを可能とするプログラム追加ステップと、プログラム追加ステップを起動するプログラム起動ステップとを備えることを特徴とする。
【００１６】
プログラム追加ステップは、ネットワークで接続された情報処理装置によって、プログラムを送受信することを特徴とする。
【００１７】
プログラム追加ステップは、情報記録媒体によって、プログラムを受け取ることを特徴とする。
【００１８】
プログラム起動ステップは、プログラム追加ステップを再起動させ、常にプログラム追加ステップを有効状態にすることを特徴とする。
【００１９】
プログラム起動ステップは、プログラム追加ステップにて読取可能な記録媒体の挿入状態に応じて、プログラム追加ステップを起動あるいは停止することを特徴とする。
【００２０】
さらに、プログラム追加ステップにて受け取ったプログラムの実行可否を決定するフィルタ手段と、フィルタステップの制御を行なうためのフィルタ操作ステップとを備えることを特徴とする。
【００２１】
フィルタステップは、プログラムの正当性を検証することを特徴とする。
【００２２】
フィルタステップは、フィルタ操作ステップにて選択されたプログラムに対してプログラム追加を禁止することを特徴とする。
【００２３】
フィルタ操作ステップは、プログラム追加ステップ、およびプログラム起動ステップの実行状態を表示することを特徴とする。
【００２４】
また、本発明による記録媒体は、上記のいずれかに記載の画像形成装置のプログラム追加方法を格納したコンピュータ読取可能な記録媒体である。
【発明の効果】
【００２５】
本発明により、一つあるいは複数の機能を有した画像形成装置において、動的にプログラムの修正を安全に行うことができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の好適な実施形態につき詳細に説明する。
【００２７】
（実施形態１）
図1は、本発明の実施形態に係る画像形成装置の全体構成を示したものである。ネットワーク１２上にＰＣ１０ならびに画像形成装置１１等が接続される。ネットワーク１２はローカルエリアネットワーク（ＬＡＮ）だけでなく、インターネット経由でも良く、画像形成装置１１だけに限らず、複数接続されていても良い。
【００２８】
次に、図２は、本発明の実施形態による画像形成装置のハードウェア構成を示す図である。本システムは、操作部１００と、ＲＯＭ３００と、メモリ４００と、ＣＰＵ５００と、ネットワークインターフェース６００から構成される。ＲＯＭ３００には、画像形成装置のコピー機能、プリンタ機能等を実現するためのプログラムが格納されており、前記プログラムを実行するためにメモリ４００が備えられており、ＣＰＵ５００にて演算される。さらにネットワークインターフェース６００により、ネットワークが実現され、操作部１００にて情報の入出力を行うことが可能である。
【００２９】
図３は、本発明の実施形態による画像形成装置のソフトウェア構成を示す図である。本実施形態によるソフトウェア構成はオペレーティングシステムをはじめとするシステムプログラム２１と、その他のアプリケーションプログラム２０に大別することができる。プログラムを動的に追加するため、システムプログラム２１には、デバイス制御プログラム２５を備える。また、アプリケーションプログラム２０には、追加プログラム制御プログラム２２と、表示制御プログラム２３と、起動制御プログラム２４と、フィルタ２６とを備える。これらのプログラムがそれぞれ連携して、ネットワーク経由によるプログラムの追加を可能とする。
【００３０】
図４は、プログラムの連携を表現した図である。表示制御プログラム２３は起動制御プログラム２４とフィルタ２６とは直接やり取りせず、デバイス制御プログラム２５はフィルタ２６と、また、起動制御プログラム２４はフィルタ２６と直接やり取りしない。このように、各プログラムが直接全てのプログラムとメッセージを交わすことはない。
【００３１】
図５は、本発明の実施形態による画像処理装置の起動手順におけるシーケンス図を示す。本実施形態では、起動制御プログラム２４によって追加プログラム制御プログラム２２を最適なタイミングで起動させる。まず、起動制御プログラム２４がシステムによって起動された直後、追加プログラム制御プログラム２２を起動する（ステップＳ５０１）。追加プログラム制御プログラム２２がネットワークからのデータを受け取り、プログラム追加制御を実行することが可能となるためには、システムによるＩＰアドレスの初期化を待つ必要がある。そのため、起動制御プログラム２４はデバイス制御プログラム２５に対し、ＩＰアドレスの変更要求を行い（ステップＳ５０２）、その後、休眠する（ステップＳ５０３）。デバイス制御プログラム２５は、ＩＰアドレスが初期化、変更されると（ステップＳ５０４）、起動制御プログラム２４を復帰する（ステップＳ５０５）。起動制御プログラム２４は自身の復帰後、追加プログラム制御プログラム２２を再起動する（ステップＳ５０６）。これによって、追加プログラム制御プログラム２２はネットワーク経由にて追加プログラムを受信可能な状態となる。起動制御プログラム２４は追加プログラム制御プログラム２２の再起動後、デバイス制御プログラム２５にＩＰアドレスの変更確認要求を行い（ステップＳ５０７）、休眠する。
【００３２】
図６は、プログラム追加処理の一例である。この例でのプログラム追加処理とは、メモリ４００上でのコード実行を一旦停止した後、実行コード自体を変更する方法である。この手法は、デバッグとして一般的に行われている手法である。まず、ネットワーク経由でデータが受信され（ステップＳ６０１）、前記データが追加プログラム制御を使用できるデータであった場合は、すぐに追加プログラム制御プログラム２２により、メモリ４００に対して実行コードを書き換える要求が行われる（ステップＳ６０２）。追加プログラムの処理が終了すると（ステップＳ６０３）、追加プログラム制御プログラム２２によって、メモリ４００の実行コードは再配置される（ステップＳ６０４）。ここで追加プログラムが適用された場合には、操作部１００にその旨が表示される。メッセージは操作部１００に１行程度で追加プログラムが動作中であることが表示される。この表示によって、ユーザーはネットワーク経由でプログラムが追加されていることを即時に知ることができる。また、本機能はセキュリティに懸念がある場合には無効にすることが可能である。
【００３３】
図７は、本発明の実施形態における画像形成装置のフィルタを使用したプログラム追加処理のシーケンス図である。フィルタ処理を使用する場合、追加プログラム制御プログラム２２によりデータが受信された後（ステップＳ７０１）、フィルタ２６に対してフィルタリングの要求がされる（ステップＳ７０２）。フィルタ２６は、どのようなフィルタが設定されているか確認し（ステップＳ７０３）、設定に応じてフィルタ処理が行なわれる（ステップＳ７０４）。その後、フィルタ処理を終えた結果が追加プログラム制御プログラム２２に報告され（ステップＳ７０５）、フィルタ処理の結果にしたがって追加プログラム処理の実行可否が判断される（ステップＳ７０６）。それ以降については図６と同様の処理が行われる。
【００３４】
図８は、操作部１００からフィルタ設定を行う際のシーケンス図である。先ず、利用者が操作部１００からフィルタ設定の確認要求を行うと（ステップＳ８０１）、不揮発メモリ、またはＨＤＤなどの記憶装置に置かれたフィルタ設定ファイル２７より設定されているフィルタの情報が読み出される（ステップＳ８０２）。読み出された情報は、デバイス制御プログラム２５に通知され（ステップＳ８０３）、操作部にて表示される（ステップＳ８０４）。そこで利用者が操作部１００より設定変更操作を行った（ステップＳ８０９）場合には、デバイス制御プログラム２５はフィルタ設定変更要求を受付け（ステップＳ８１０）、フィルタ２６に要求を行う。要求に従って設定変更され（ステップＳ８１１）、フィルタ設定ファイル２７に書き込まれる（ステップＳ８１２）。その後、設定を変更した旨がデバイス制御プログラム２５に通知され（ステップＳ８１３）、操作部１００に表示される（ステップＳ８１４）。
【００３５】
図９は、本発明の実施形態における画像形成装置の表示画面である。操作部は画像形成装置を使用するユーザーによって操作され、追加プログラム機能の有効、無効の選択、情報表示、ならびにフィルタ設定を選択することが可能である。フィルタ設定には２種類あり、不正プログラム防止のための正当性検証のためのフィルタと、プログラム追加を禁止するためのフィルタがある。プログラム追加禁止設定可能なプログラムは、実際にシステム上起動しているプログラムである。
【００３６】
図１０は、本発明の実施形態における画像形成装置のフィルタ処理のフローチャートである。正当性検証フィルタにおける認証アルゴリズムは一般的な電子認証のアルゴリズムやハッシュなどが上げられる。電子認証を使用する場合、画像形成装置は認証鍵や証明書などの情報を持っている必要がある。認証を複雑化するとデバッグ用途として使いづらくなるので、セキュリティレベルを可変にできることが望ましい。まず、記憶装置にて格納されたデータから認証情報を取り出し（ステップＳ１００１）、正当性の検証が行われる（ステップＳ１００２）。そこで正当性が得られなければ、エラーが返され（ステップＳ１００３）、正当であると判断できれば正常値が返される（ステップＳ１００４）。また、プログラム追加禁止フィルタでは、プログラム追加手段によって追加されるアプリケーションプログラム名を取得し（ステップＳ１０１１）、プロセスＩＤを参照して（通常のＯＳではプロセスＩＤと実行プログラム名称が関連付いている）該当プログラムが存在することかどうかの確認が行われる（ステップＳ１０１２）。ここで該当プログラムが確認できなかった場合には、プログラムの追加が禁止され（ステップＳ１０１６）、該当プログラムが確認できた場合には、フィルタ設定ファイルから追加プログラムの禁止情報が取得される（ステップＳ１０１３）。得られた禁止情報からプログラムの追加が許可されているか否かが判定され（ステップＳ１０１４）、許可されれば許可の旨を（ステップＳ１０１５）、禁止であれば禁止の旨がそれぞれ返される（ステップＳ１０１６）。
【００３７】
（実施形態２）
また、図１１では、ネットワークが使用できない場合などの代替手段としてＵＳＢなどの取り外し可能な情報記憶媒体を使用したときの例を示したものであり、ネットワークインターフェース１００の代わりに、情報記録媒体読取装置２００を備える。
【００３８】
図１５は、本発明の実施形態における情報記録媒体の構成図である。本実施形態における情報記録媒体２１０はデータ送信手段２８と追加プログラム２９とを備える。ネットワークインターフェース１００を使用する場合は、追加プログラムは自動的に送信されてくるためデータを受信するのみでよいが、本実施形態では、自発的に追加プログラム制御プログラム２２に追加プログラムを渡すためのデータ送信手段２８が必要となる。
【００３９】
図１２は情報記録媒体を用いてプログラムの変更を行う際の、プログラムの連携を示す図である。情報記録媒体読取装置２００を備える場合は、デバイス制御プログラム２５の対象が情報記録媒体２００と操作部１００となる。
【００４０】
図１３は、情報記録媒体を用いた際の追加プログラム制御プログラムの起動手順を示すシーケンス図である。追加プログラム制御プログラム２２は１つ以上の情報記録媒体に対応するため、情報記録媒体が挿入された時に起動し、取り外された時に終了する形態をとる。すなわち、起動制御プログラム２４はシステムによって起動された直後から情報記録媒体のマウント待ち状態に入り休眠し（ステップＳ１３０１、Ｓ１３０２）、情報記録媒体がマウントされると、起動制御プログラム２４は復帰させられる（ステップＳ１３０４）。復帰後、情報記録媒体の持つデータを確認し（ステップＳ１３０５）、情報記録媒体が持つデータが追加プログラムでない場合は、起動制御プログラム２４は何も行なわず再びマウント待ち状態となる。その際、起動制御プログラム２４が処理している間に、さらに他の情報記録媒体がマウントされる状態が起こり得るので、起動制御プログラム２４はマウント待ち状態となる前に、念のため他に調査すべきデバイスが存在しないかどうかを検索する。情報記録媒体が持つデータが追加プログラムであった場合には、追加プログラム制御プログラム２２が起動される（ステップＳ１３０６）。その後、起動制御プログラム２４は情報記録媒体が取り外されるまで、再び休眠し（ステップＳ１３０７）、取り外された場合に（ステップＳ１３０８）、復帰して（ステップＳ１３０９）、追加プログラム制御プログラム２２を停止する（ステップＳ１３００）。
【００４１】
図１４は、情報記録媒体を使用した際のプログラム追加処理手順である。情報記録媒体のマウント完了後（ステップＳ１４０１）、デバイス制御プログラム２５によって情報記録媒体に配置されているデータ送信手段２８が起動される（ステップＳ１４０２、Ｓ１４０３）。続いて、同じく情報記録媒体に配置されている追加プログラム２９がデータ送信手段２８によって、追加プログラム制御プログラム２２に送信される（ステップＳ１４０４）。その後の動作は図６に示す処理手順と同様に、実行コードが書き換えられ、プログラム追加処理が実施中の旨が操作部１００に表示される。
【００４２】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施形態に係る全体構成を示す図である。
【図２】本発明の実施形態に係るハードウェア構成を示す図である。
【図３】本発明の実施形態に係る機能構成を示す図である。
【図４】本発明の実施形態に係るデバイスならびにプログラムの連携を示す図である。
【図５】本発明の実施形態に係る追加プログラム制御プログラムの起動手順を示す図である。
【図６】プログラム追加処理フローを示す図である。
【図７】本発明の実施形態に係るプログラム追加処理フローを示す図である。
【図８】操作部からフィルタ制御をする際のフローを示す図である。
【図９】本発明の実施形態に係る操作部の表示例である。
【図１０】本発明の実施形態に係るフィルタ処理のフローを示す図である。
【図１１】本発明の実施形態に係るハードウェア構成を示す図である。
【図１２】本発明の実施形態に係るデバイスならびにプログラムの連携を示す図である。
【図１３】本発明の実施形態に係る追加プログラム制御プログラムの起動手順を示す図である。
【図１４】本発明の実施形態に係るプログラム追加処理フローを示す図である。
【図１５】本発明の実施形態に係る機能構成を示すブロック図である。
【符号の説明】
【００４４】
１０    ＰＣ
１１    画像形成装置
１２    ネットワーク
２０    アプリケーションプログラム
２１    システムプログラム
２２    追加プログラム制御
２３    表示制御
２４    起動制御
２５    デバイス制御
２６    フィルタ
２７    フィルタ設定ファイル
２８    データ送信手段
２９    追加プログラム
１００    操作部
２００    情報記録媒体読取装置
２１０    情報記録媒体
３００    ＲＯＭ
４００    メモリ
５００    ＣＰＵ
６００    ネットワークインターフェース
７００    バス
【図１】
2009196280.tif 000003
【図２】
2009196280.tif 000004
【図３】
2009196280.tif 000005
【図４】
2009196280.tif 000006
【図５】
2009196280.tif 000007
【図６】
2009196280.tif 000008
【図７】
2009196280.tif 000009
【図８】
2009196280.tif 000010
【図９】
2009196280.tif 000011
【図１０】
2009196280.tif 000012
【図１１】
2009196280.tif 000013
【図１２】
2009196280.tif 000014
【図１３】
2009196280.tif 000015
【図１４】
2009196280.tif 000016
【図１５】
2009196280.tif 000017