(57)【特許請求の範囲】
【請求項１】
主記憶装置と、
各画像処理装置が動作するための各プログラム群を各画像処理装置に対応するＩＰアドレスに対応付けて記憶する補助記憶装置と、
各画像処理装置と通信するインターフェイス部と、
前記インターフェイス部を介して画像処理装置から認証情報を受信してログイン認証を行い、該画像処理装置のログインを許可する場合、該画像処理装置のＩＰアドレスに対応するプログラム群を前記補助記憶装置から取得して前記主記憶装置に展開し、実行することで、該画像処理装置で動作する処理の一部を実行して該画像処理装置で受けたジョブを遂行し、該画像処理装置のログイン状態時に該画像処理装置に対応する前記補助記憶装置内の前記プログラム群の更新を行い、該画像処理装置のログイン状態の継続中には前記主記憶装置に展開した更新前の前記プログラム群を実行し、該画像処理装置の次回のログイン時に、更新した前記プログラム群を前記補助記憶装置から取得して前記主記憶装置に展開し、実行する制御部と、
を有する機能提供装置。
【請求項２】
請求項１に記載の機能提供装置において、
前記制御部は、ログインした前記画像処理装置から前記インターフェイス部を介してログアウトデータを受信すると、前記更新前のプログラム群を展開した前記主記憶装置の記憶領域を解放する機能提供装置。
【請求項３】
請求項１または２に記載の機能提供装置において、
前記制御部は、１台の画像処理装置から接続されている間に他の画像処理装置からの接続を受け付ける場合、前記１台の画像処理装置に対応するプログラム群の前記主記憶装置への展開を維持したまま、前記他の画像処理装置に対応するプログラム群を前記主記憶装置に展開する機能提供装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の機能提供装置において、
前記制御部は、前記複数の画像処理装置ごとに仮想サーバを起動し、その仮想サーバ内のそれぞれで前記プログラム群を実行させる機能提供装置。
【請求項５】
主記憶装置と、
各画像処理装置が動作するための各プログラム群を該画像処理装置に対応するＩＰアドレスに対応付けて複数記憶する補助記憶装置と、
各画像処理装置と通信するインターフェイス部と、を有するコンピュータに実行させるための情報提供プログラムであって、
前記インターフェイス部を介して画像処理装置から認証情報を受信してログイン認証を行い、該画像処理装置のログインを許可する場合、該画像処理装置のＩＰアドレスに対応するプログラム群を前記補助記憶装置から取得して前記主記憶装置に展開し、実行することで、該画像処理装置で動作する処理の一部を実行して該画像処理装置で受けたジョブを遂行し、
該画像処理装置のログイン状態時に該画像処理装置に対応する前記補助記憶装置内の前記プログラム群の更新を行い、該画像処理装置のログイン状態の継続中には前記主記憶装置に展開した更新前の前記プログラム群を実行し、
該画像処理装置の次回のログイン時に、更新した前記プログラム群を前記補助記憶装置から取得して前記主記憶装置に展開し、実行する
処理を、コンピュータに実行させるための機能提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この明細書に記載の実施形態は、デバイスのソフトウェア更新技術に関する。
【背景技術】
【０００２】
従来、ＭＦＰ（Multifunction Peripheral）で実行されるソフトウェア機能は、その１台のＭＦＰ内に全て実装している。
【０００３】
また、以下の技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０４９７８８号公報
【特許文献２】特開２０１２−０６０５７１号公報
【特許文献３】特開２０１２−１５９８９０号公報
【特許文献４】特開２０１２−１６４１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
１台のＭＦＰデバイスにすべてのソフトウェア機能を実装するという構成では、ソフトウェアの更新が必要な場合にサービスマンがＭＦＰの設置場所（すなわち客先）に訪問する必要がある。また、ソフトウェアの更新のためにＭＦＰを停止しなければならず、ユーザがＭＦＰを使えない時間が発生する。
【０００６】
実施形態は、ＭＦＰの設置場所に訪問する回数を低減させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の機能提供装置は、主記憶装置と、補助記憶装置と、インターフェイス部と、制御部とを有する。補助記憶装置は、画像処理装置が動作するためのプログラム群を、複数記憶する。インターフェイス部は、複数の画像処理装置と通信する。制御部は、インターフェイス部が受信する電文の送信元の画像処理装置に対応した、画像処理装置が動作するためのプログラム群を、補助記憶装置の複数のプログラム群の中から取得し、主記憶装置に展開する。制御部は、主記憶装置に展開したプログラム群を実行することで、画像処理装置で動作する処理の一部を実行して前記画像処理装置で受けたジョブを遂行する。
【図面の簡単な説明】
【０００８】
【図１】ＭＦＰを１台使用時の実施形態の構成例を示す図である。
【図２】ＭＦＰを複数台使用時の実施形態の構成例を示す図である。
【図３】ＭＦＰとプログラム群との対応関係の一例を示す図である。
【図４】実施形態の動作を示すシーケンス図である。
【図５】従来の構成例を示す図である。
【発明を実施するための形態】
【０００９】
本実施形態では、ＭＦＰのソフトウェアで提供する機能の大部分をネットワーク上のサーバに集約し、ＭＦＰではクライアントとして最小限のシンプルな機能のみを実装する。サーバは、ＭＦＰで動作する処理の一部を実行する。すなわちサーバは、ＭＦＰのハードウェア動作を直接的に制御すること以外のソフトウェア動作を実行し、ＭＦＰと協働してＭＦＰで受けたジョブを遂行する。
【００１０】
ソフトウェアの更新が発生した場合には、サーバ側のソフトウェアを更新する。サーバが提供する機能をユーザが利用している最中での更新の場合、更新前のバージョンを維持して実行したまま、ソフトウェアの更新を行う。これにより、ＭＦＰが使えない時間を発生させることなく、ＭＦＰのソフトウェア更新を行うことが可能となる。またサーバ側のソフトウェア更新の場合、サーバのみで更新作業が完了する。よって、サービスマンがＭＦＰの設置場所（客先）に訪問することを低減させることができる。
【００１１】
実施形態のシステムは、プリンタまたはスキャナ、もしくはその両方を備えた１台以上のＭＦＰ（画像処理装置）と、ネットワークに接続されたサーバ（機能提供装置）とを有している。サーバは、クライアントであるＭＦＰからの要求に応じて、ＭＦＰ機能を実現するためのサービスをメモリ上に展開する。
【００１２】
実施形態では、仮想化技術を用いて、サーバのハードウェアリソースを各仮想サーバに割り当てて使用する。仮想サーバは、対象となるＭＦＰが複数台あれば、ＭＦＰごとに構築され、ＭＦＰから要求があれば当該ＭＦＰに対応する仮想サーバが起動する。また実施形態では、異なるバージョンのソフトウェアを混在させることができ、対象となるＭＦＰごとに、異なるバージョンのソフトウェア機能を提供することができる。
【００１３】
以下、図面を参照にしつつ、本実施形態について説明する。まずは従来システムの構成について、図５を用いて説明する。図５に示すシステムは、ＭＦＰ５０Ａ、５０Ｂと、サーバ６０を有する。ＭＦＰ５０Ａ、５０Ｂは、それぞれ以下のプログラム（データも含む）を有している。ここで各プログラムを簡単に説明する。
【００１４】
ＵＩ（User Interface）１０１は、操作用の画面イメージをコントロールパネルに表示し、またユーザからの操作を受け付けるプログラムである。プリント１０２は、エンジン１１２を起動、動作させて印刷データをシート上に形成する機能を提供するプログラムである。
【００１５】
Ｆａｘ１０３は、公衆電話回線網やインターネット網を経由して、ＦＡＸデータを送受信するためのプログラムである。プラットフォーム１０４は、いわゆるＯＳ（オペレーティングシステム）であり、プログラム実行を制御するタスク管理やハードウェア割り込みの制御などを行う。
【００１６】
ユーザデータ１０５は、各ユーザが個別にスキャンして得られた画像データやドキュメントファイルなど、ユーザ固有のファイルデータである。これらは、例えば個人用の専用フォルダに格納されている。コピー１０６は、スキャン１１０を起動してシート上の画像をスキャナユニットで読み取り、この読み取り画像を、プリント１０２を起動してシート上に形成するためのプログラムである。
【００１７】
画像処理１０７は、シェーディング補正や階調補正、濃度補正など、シート上に像を形成する際に行う各種補正処理を実行するプログラムである。ドライバ１０８は、各ハードウェアを直接的に制御するプログラムである。設定データ１０９は、ユーザごとに定義される印刷設定用のデータであり、例えばカラー／モノクロの別、シートサイズ、シート割り付け等を定義したデータである。スキャン１１０は、スキャナユニットを物理的に制御することで、シート上の像を読み取るためのプログラムである。
【００１８】
ジョブ制御１１１は、プリントジョブ、コピージョブ、スキャンジョブなどの各種ジョブを、到着順や優先順に応じて順序決めを行うためのプログラムである。エンジン１１２は、プリンタエンジンであり、像形成時のトナー出力やシート搬送、加熱定着を制御するプログラムやＡＳＩＣ（Application specific integrated circuit）である。尚、プロセスユニットやシート搬送路、定着器等の各ハードウェアをエンジン１１２に含めてもよい。
【００１９】
図５に示すサーバ６０の用途としては、従前のプリントサーバとしての機能や、ユーザデータを蓄積するためのファイルサーバ、ログイン認証を行うためのサーバ、Ｗｅｂサーバなどである。Ｗｅｂサーバは、例えば、コントロールパネルの表示内容や操作の受け付けをＷｅｂベースで提供するサーバとなる。この場合、ＭＦＰ５０Ａ、５０Ｂには、Ｗｅｂブラウザ機能が導入されている。
【００２０】
次に、実施形態のシステムについて説明する。図１は、実施形態のシステム構成例を図示したものである。システム１０は、ＭＦＰ１Ａ、ＭＦＰ１Ｂ、サーバ２（情報提供装置）を有する。実施形態では、ＭＦＰ１Ａ、ＭＦＰ１Ｂには、最小限のシンプルな機能のみ、例えばＭＦＰ内のハードウェアを直接的に制御するプログラムのみを実装する。本例では、上記のスキャン１１０、プリント１０２、エンジン１１２、プラットフォーム１０４、ドライバ１０８がＭＦＰ１Ａ、ＭＦＰ１Ｂに導入される。
【００２１】
サーバ２は、ネットワークＩ／Ｆ２１（Ｉ／Ｆ：Interface）、プロセッサ２２、ストレージ２３、メモリ２４を有するコンピュータである。ネットワークＩ／Ｆ２１は、ＭＦＰ１Ａ、１Ｂとの間でのデータ送受信を制御するユニットであり、例えばＩＥＥＥ８０２．３の規格に準拠したボードを含んでいる。尚、ネットワークＩ／Ｆ２１を介してインターネットＦＡＸの送受信を行ってもよい。またネットワークＩ／Ｆ２１に電話回線網と接続されるＦＡＸボードを含ませて、電話回線網を介してＦＡＸ送受信を行ってもよい。
【００２２】
プロセッサ２２は、たとえばＣＰＵ（Central Processing Unit）であり、ストレージ２３に事前に記憶されているプログラムを演算実行することで、プログラムコードに従い演算処理し、各ハードウェアを統括的に制御する。ストレージ２３は、例えばハードディスクドライブであり、不揮発性に記憶する補助記憶装置である。メモリ２４は、揮発性に情報を記憶する主記憶装置である。
【００２３】
ＭＦＰ１Ａ、ＭＦＰ１Ｂに導入されていない他のプログラム（プログラム群と称する）は、本実施形態ではサーバ２のストレージ２３に導入されている。プロセッサ２２は、必要に応じてプログラム群をストレージ２３から取得してメモリ２４に展開する。プロセッサ２２は、メモリ２４に展開されたプログラムを演算実行し、ＭＦＰ１Ａ、ＭＦＰ１Ｂにその機能を提供する。
【００２４】
ストレージ２３には、バージョン１．０とバージョン２．０の２つのバージョンの異なるプログラム群が導入されている。以降、バージョン１．０のプログラム群をプログラム群２３１と称し、バージョン２．０のプログラム群をプログラム群２３２と称する。図１の例は、ＭＦＰ１Ａがサーバ２に接続要求すると、プロセッサ２２は、ＭＦＰ１Ａに対応したバージョン、本例ではプログラム群２３１をストレージ２３から取得し、メモリ２４に展開する。この制御は、プロセッサ２２がサービスマネージャ２２１のプログラムコードに従って動作することで実現する。サービスマネージャ２２１は仮想サーバを起動して、当該仮想サーバ上でプログラム群２３１内の各種プログラムを起動する。本例では画像処理２０７、Ｆａｘ２０３、コピー２０６、ジョブ制御２１１、設定データ２０９、ユーザデータ２０５、ＵＩ２０１を起動する。この処理により、プロセッサ２２は、各プログラムをメモリ２４に展開する。ＭＦＰ１Ａは、仮想サーバに接続し、メモリ２４に展開されたプログラム群２３１の機能を用いて各種処理を実行する。
【００２５】
次いでＭＦＰ１Ｂがサーバ２に接続すると、サービスマネージャ２２１がＭＦＰ１Ｂ用の仮想サーバを起動し、当該仮想サーバ上でＭＦＰ１Ｂに対応したプログラム群、本例ではソフトウェア群２３２を起動する。このときの状態を図２に示す。サービスマネージャ２２１は、プログラム群２３２内の各種プログラム、すなわち画像処理２５７、Ｆａｘ２５３、コピー２５６、ジョブ制御２６１、設定データ２５９、ユーザデータ２５５、ＵＩ２５１をメモリ２４に展開する。ＭＦＰ１Ｂは、仮想サーバに接続し、メモリ２４に展開されたプログラム群２３２の機能を用いて各種処理を実行する。
【００２６】
図３は、ＭＦＰとプログラム群との対応関係（テーブル）を示した図である。図３の対応関係は、例えばストレージ２３に永続的に記憶されており、ＭＦＰの新設、新規プログラム群の導入や新規バージョンの導入、メンテナンス者の操作により更新される。実施形態では、ＭＦＰに事前に割り当てられたＩＰアドレスをＭＦＰの識別情報とする。またプログラム群の識別情報は、当該プログラム群が格納されているディレクトリ名である。すなわちディレクトリ名は、プログラム群を一意に決定可能なように名前付けされる。プロセッサ２２は、接続元のＭＦＰについてのＩＰアドレスを入手し、図３の対応関係を参照して当該ＩＰアドレスに対応付けられたディレクトリ名を取得する。プロセッサ２２は、得られたディレクトリに格納されているプログラム群をメモリ２４に展開する。
【００２７】
本例では、ディレクトリ名のハイフン「−」記号以前のコード（図３では最初の５桁）がプログラム群の種別を意味しており、これはＭＦＰの機種や型番に対応している。例えばカラー印刷可能なＭＦＰと、モノクロのみ印刷可能なＭＦＰがサーバ２に接続される場合、提供するプログラム群も、その機種ごとに用意する必要がある。本実施形態では、ＭＦＰの機種に応じてプログラム群を用意し、機種に合致したプログラム群の機能を提供する。ハイフン記号以降の数値は、種別ごとのプログラム群のバージョン番号を意味している。図３の例では、「１１００１−１．０」と「１１００１−２．０」とは、同一機種の異なるバージョンとなる。このように、旧バージョンを保持せておくことで、ＭＦＰごとにバージョンを異ならせる運用も可能となる。
【００２８】
図４は、実施形態の動作例を示したシーケンス図である。図４の例では、初期ではソフトウェア群２３１（Ｓｏｆｔ  Ｖｅｒ  １．０）のみが導入されており、ソフトウェア群２３２（Ｓｏｆｔ  Ｖｅｒ  ２．０）は導入されていない状態とする。サーバ２は、認証サーバとしても機能するものとする。また図中のサービスマネージャ２２１は、プロセッサ２２がサービスマネージャ２２１のプログラムを実行することで、ハードウェアと協働して実現されるものとする。
【００２９】
まずユーザＵ１がＭＦＰ１Ａに対し、例えばＩＤカードをカードリーダに読み取らせる、もしくはユーザＩＤ等の入力によりログインを行う（ＡＣＴ０１、ＡＣＴ０２）。サービスマネージャ２２１は、認証情報を受信してその適否を検証する（ＡＣＴ０３）。適合である場合、サービスマネージャ２２１は、対応する仮想サーバを起動し、図３に示す対応関係に基づきその仮想サーバ内でソフトウェア群を起動する。サービスマネージャ２２１は、本例ではソフトウェア群２３１を起動してメモリ２４に展開する（ＡＣＴ０４）。
【００３０】
サービスマネージャ２２１は、ネットワークＩ／Ｆ２１を介して、当該ユーザ専用の画面データを送信する（ＡＣＴ０５）。ＭＦＰ１Ａは、Ｗｅｂブラウザを用いて、サーバ２で提供される各機能の利用を開始する（ＡＣＴ０６）。サービスマネージャ２２１は、メモリ２４に展開された、仮想サーバ内で提供されるプログラム群を実行することで、ＭＦＰ１Ａにプログラム機能を提供する。
【００３１】
図４の例では、ＭＦＰ１Ａがソフトウェア群２３１で提供される各機能を使用している間に、ソフトウェア群２３２が導入される。メンテナンス者Ｍ１が、所定コマンドを実行することで新規リリースであるソフトウェア群２３２を導入する（ＡＣＴ０７、ＡＣＴ０８）。この際、図３に示す対応関係を更新する。すなわち、サービスマネージャ２２１は、動作ソフトウェアが、旧バージョン（ソフトウェア群２３１）のものから最新のバージョン（ソフトウェア群２３２）となるように、対応関係の再構築を行う。サービスマネージャ２２１は、その導入結果をメンテナンス者Ｍ１に通知する（ＡＣＴ０９）。
【００３２】
ユーザＵ２がＭＦＰ１Ｂに対してログインすると（ＡＣＴ１０、ＡＣＴ１１、ＡＣＴ１２）、サービスマネージャ２２１は、図３に示す対応関係を取得して該当するソフトウェア群を特定し、仮想サーバを起動してソフトウェア群２３２を起動する（ＡＣＴ１３）。その後サービスマネージャ２２１は、ユーザＵ２の画面イメージをＭＦＰ１Ｂに送信し（ＡＣＴ１４）、機能の利用を開始する（ＡＣＴ１５）。
【００３３】
ユーザＵ１がログアウトすると、ＭＦＰ１Ａの利用も終了となり（ＡＣＴ１６）、ユーザＵ２がログアウトすると、ＭＦＰ１Ｂの利用も終了となる（ＡＣＴ１７）。利用終了、すなわちユーザがログアウトすると、サービスマネージャ２２１は、メモリ２４内に記憶されたプログラム群をメモリ２４から解放し、仮想サーバを停止して仮想サーバもメモリ２４から解放する。
【００３４】
次回、ユーザＵ１がＭＦＰ１Ａにログインすると（ＡＣＴ１０１、ＡＣＴ１０２、ＡＣＴ１０３）、サービスマネージャ２２１は、図３の対応関係を参照してＭＦＰ１Ａに対し最新のバージョン（ソフトウェア群２３２）を起動するように制御する（ＡＣＴ１０４）。その後、サービスマネージャ２２１は上記同様に操作画面イメージをＭＦＰ１Ａに送信し（ＡＣＴ１０５）、利用を開始し（ＡＣＴ１０６）、ユーザのログアウト指示を受けて利用終了となる（ＡＣＴ１０７）。
【００３５】
本例のように、サーバ２はユーザがＭＦＰにログインするごとにプログラム群をメモリ上に展開し、ログアウト時には当該メモリ領域を解放するよう制御する。また、ユーザ使用時はＨＤＤ内のデータではなくメモリ内に展開したデータを使用するよう制御とすることで、ユーザが機能を使用している最中でも、ＨＤＤ内の情報を書き替え、更新することが可能となる。よって、ＭＦＰを停止させずに更新作業を行うことができる。
【００３６】
上記実施形態では、サーバ２がログイン認証の情報を受信して適合である場合に、対応するソフトウェア群を起動する、という実装としたが、態様はこれに限定されない。ＭＦＰから何らかの電文（接続要求電文など）を受信すると対応するソフトウェア群を起動する、という実装でもよい。
【００３７】
上記実施形態では、同一モジュールの異なるバージョンについて言及し、当該ソフトウェア群のバージョンアップについて説明したが、図３に示すようにプログラム群の種別も識別情報に含めることで、ＭＦＰの機種ごとに、当該ＭＦＰに合致したプログラム群を提供することができる。また、図３の対応関係を維持することで、例えばＭＦＰ１Ａは旧バージョンのソフトウェア群の機能を提供し、ＭＦＰ１Ｂには新バージョンのソフトウェア群の機能を提供する、という運用も可能となる。
【００３８】
上記実施形態では、仮想サーバをユーザログインの都度起動し、その上でプログラム群を動作させる、という実装例について説明したが、態様はこれに限定されない。仮想サーバを要せず、対応プログラム群をメモリ２４に展開させるのみの実装でもよい。この場合、サービスマネージャ２２１が接続の際にセッションの管理（ＭＦＰとソフトウェア群との対応付け）を行う。
【００３９】
以上に詳説したように、本実施形態では、ソフトウェアの更新が必要な場合において、大部分がサーバに対してのみの更新作業となる。よって、ＭＦＰの設置場所（客先）に訪問する回数を低減させることができる。また、ソフトウェアの更新のためのＭＦＰの停止も低減させることができる。
【００４０】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【００４１】
１Ａ、１Ｂ  ＭＦＰ（画像処理装置）、２  サーバ（情報提供装置）、２１  ネットワークＩ／Ｆ、２２  プロセッサ、２３  ストレージ、２３１、２３２  ソフトウェア群、２４  メモリ、２２１  サービスマネージャ。
【図１】
0006415150.tif 000002
【図２】
0006415150.tif 000003
【図３】
0006415150.tif 000004
【図４】
0006415150.tif 000005
【図５】
0006415150.tif 000006