(57)【特許請求の範囲】
【請求項１】
画像形成部と画像読取部とを含む複数のハードウェアと、
前記複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実現する複数のソフトウェアモジュールを圧縮状態で格納するモジュール記憶領域と、前記複数の機能の内、ユーザ毎に許可された許可機能を特定する許可情報および各機能に対応するソフトウェアモジュールを特定する対応情報を格納する情報記憶領域と、前記複数の機能の実行処理に利用される処理領域と、を含む記憶部と、
インターフェース部と、
制御部と、
を備え、
前記制御部は、
前記インターフェース部を介してユーザを特定するユーザ情報を取得する情報取得処理と、
前記許可情報を参照して、取得された前記ユーザ情報により特定されるユーザについての前記許可機能を特定する機能特定処理と、
特定された前記許可機能に対応する前記ソフトウェアモジュールを対象として、前記対象となる前記ソフトウェアモジュールを前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する展開処理と、
前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、前記処理領域に格納された前記ソフトウェアモジュールを用いて、選択された前記許可機能を実行する機能実行処理と、
を実行し、
前記インターフェース部は、
操作を受け付ける操作部と、
外部端末と通信する通信部と、
を含み、
前記複数のソフトウェアモジュールは、前記操作部の動作を制御する第１の種類のソフトウェアモジュールを含み、
前記制御部は、
前記情報取得処理において、前記操作部を介して前記ユーザ情報を取得した場合には、前記許可機能に対応する前記ソフトウェアモジュールのすべてを対象として前記展開処理を実行し、
前記情報取得処理において、前記通信部を介して前記外部端末から前記ユーザ情報を取得した場合には、前記許可機能に対応する前記ソフトウェアモジュールの内の前記第１の種類のソフトウェアモジュールを除く前記ソフトウェアモジュールを対象として前記展開処理を実行する、画像処理装置。
【請求項２】
画像形成部と画像読取部とを含む複数のハードウェアと、
前記複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実現する複数のソフトウェアモジュールを圧縮状態で格納するモジュール記憶領域と、前記複数の機能の内、ユーザ毎に許可された許可機能を特定する許可情報および各機能に対応するソフトウェアモジュールを特定する対応情報を格納する情報記憶領域と、前記複数の機能の実行処理に利用される処理領域と、を含む記憶部と、
インターフェース部と、
制御部と、
を備え、
前記制御部は、
前記インターフェース部を介してユーザを特定するユーザ情報を取得する情報取得処理と、
前記許可情報を参照して、取得された前記ユーザ情報により特定されるユーザについての前記許可機能を特定する機能特定処理と、
特定された前記許可機能に対応する前記ソフトウェアモジュールを対象として、前記対象となる前記ソフトウェアモジュールを前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する展開処理と、
前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、前記処理領域に格納された前記ソフトウェアモジュールを用いて、選択された前記許可機能を実行する機能実行処理と、
を実行し、
前記インターフェース部は、外部端末と通信する通信部を含み、
前記情報記憶領域には、前記複数の機能の内、前記通信部を介した前記外部端末からの実行指示が可能な機能である外部機能を特定する外部機能特定情報が格納されており、
前記制御部は、前記情報取得処理において、前記通信部を介して前記外部端末から前記ユーザ情報を取得した場合には、前記許可機能の内の前記外部機能に対応する前記ソフトウェアモジュールを対象として前記展開処理を実行する、画像処理装置。
【請求項３】
画像形成部と画像読取部とを含む複数のハードウェアと、
前記複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実現する複数のソフトウェアモジュールを圧縮状態で格納するモジュール記憶領域と、前記複数の機能の内、ユーザ毎に許可された許可機能を特定する許可情報および各機能に対応するソフトウェアモジュールを特定する対応情報を格納する情報記憶領域と、前記複数の機能の実行処理に利用される処理領域と、を含む記憶部と、
インターフェース部と、
制御部と、
を備え、
前記制御部は、
前記インターフェース部を介してユーザを特定するユーザ情報を取得する情報取得処理と、
前記許可情報を参照して、取得された前記ユーザ情報により特定されるユーザについての前記許可機能を特定する機能特定処理と、
特定された前記許可機能に対応する前記ソフトウェアモジュールを対象として、前記対象となる前記ソフトウェアモジュールを前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する展開処理と、
前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、前記処理領域に格納された前記ソフトウェアモジュールを用いて、選択された前記許可機能を実行する機能実行処理と、
を実行し、
前記制御部は、前記ユーザ情報と前記許可機能の選択指示とが同時に取得された場合、前記許可機能の内、選択された前記許可機能に対応する前記ソフトウェアモジュールを対象として前記展開処理を実行する、画像処理装置。
【請求項４】
画像形成部と画像読取部とを含む複数のハードウェアと、
前記複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実現する複数のソフトウェアモジュールを圧縮状態で格納するモジュール記憶領域と、前記複数の機能の内、ユーザ毎に許可された許可機能を特定する許可情報および各機能に対応するソフトウェアモジュールを特定する対応情報を格納する情報記憶領域と、前記複数の機能の実行処理に利用される処理領域と、を含む記憶部と、
インターフェース部と、
制御部と、
を備え、
前記制御部は、
前記インターフェース部を介してユーザを特定するユーザ情報を取得する情報取得処理と、
前記許可情報を参照して、取得された前記ユーザ情報により特定されるユーザについての前記許可機能を特定する機能特定処理と、
特定された前記許可機能に対応する前記ソフトウェアモジュールを対象として、前記対象となる前記ソフトウェアモジュールを前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する展開処理と、
前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、前記処理領域に格納された前記ソフトウェアモジュールを用いて、選択された前記許可機能を実行する機能実行処理と、
を実行し、
前記インターフェース部は、
操作を受け付ける操作部と、
外部連携機器と通信する通信部と、
を含み、
前記複数の機能は、前記操作部の代替として前記外部連携機器を使用することを可能とする外部連携機能を含み、
前記情報記憶領域には、各前記ソフトウェアモジュールの非圧縮状態での容量を特定する容量情報が格納されており、
前記制御部は、
前記情報取得処理において、前記通信部を介して前記外部連携機器から前記ユーザ情報を取得した場合に、前記容量情報を参照して特定される許可機能に対応するソフトウェアモジュールの非圧縮状態での容量の合計が、前記処理領域における使用可能容量以下であるか否かを判定する判定処理を実行し、
前記判定処理において前記容量の合計が前記使用可能容量以下であると判定した場合には、前記許可機能に対応するソフトウェアモジュールすべてを対象として前記展開処理を実行し、
前記判定処理において前記容量の合計が前記使用可能容量より大きいと判定した場合には、前記許可機能の内の前記外部連携機能に対応する前記ソフトウェアモジュールを対象として前記展開処理を実行すると共に、前記許可機能の内の１つを選択する指示を取得したことに応じて、選択された前記許可機能に対応する前記ソフトウェアモジュールを、前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する指示後展開処理を実行する、画像処理装置。
【請求項５】
画像形成部と画像読取部とを含む複数のハードウェアと、
前記複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実現する複数のソフトウェアモジュールを圧縮状態で格納するモジュール記憶領域と、前記複数の機能の内、ユーザ毎に許可された許可機能を特定する許可情報および各機能に対応するソフトウェアモジュールを特定する対応情報を格納する情報記憶領域と、前記複数の機能の実行処理に利用される処理領域と、を含む記憶部と、
インターフェース部と、
制御部と、
を備え、
前記制御部は、
前記インターフェース部を介してユーザを特定するユーザ情報を取得する情報取得処理と、
前記許可情報を参照して、取得された前記ユーザ情報により特定されるユーザについての前記許可機能を特定する機能特定処理と、
特定された前記許可機能に対応する前記ソフトウェアモジュールを対象として、前記対象となる前記ソフトウェアモジュールを前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する展開処理と、
前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、前記処理領域に格納された前記ソフトウェアモジュールを用いて、選択された前記許可機能を実行する機能実行処理と、
を実行し、
前記制御部は、
前記情報取得処理では、前記ユーザ情報として、ユーザＩＤとパスワードとを取得し、
前記ユーザ情報のうち、少なくとも前記ユーザＩＤを取得したタイミングで、前記機能特定処理と前記展開処理とを実行し、
前記機能実行処理では、前記ユーザ情報により特定される前記ユーザＩＤに対応する前記パスワードが一致する場合に、前記選択された前記許可機能を実行する、画像処理装置。
【請求項６】
請求項１から請求項５までのいずれか一項に記載の画像処理装置であって、
前記制御部は、
前記情報取得処理において前記ユーザ情報が取得されたことに応じて、前記ユーザ情報により特定されるユーザによる前記画像処理装置の使用を許可し、前記インターフェース部を介して前記ユーザ情報により特定されるユーザによる前記画像処理装置の使用の終了指示が入力されたことに応じて、前記ユーザ情報により特定されるユーザによる前記画像処理装置の使用を制限する管理処理を実行し、
前記情報取得処理において前記ユーザ情報が取得されたことに応じて、前記機能特定処理と、前記展開処理とを実行し、
前記インターフェース部を介して前記終了指示が入力されたことに応じて、前記展開処理において前記処理領域に格納された前記ソフトウェアモジュールを削除する解放処理を実行する、画像処理装置。
【請求項７】
請求項１から請求項６までのいずれか一項に記載の画像処理装置であって、
前記情報記憶領域には、各前記ソフトウェアモジュールの非圧縮状態での容量を特定する容量情報が格納されており、
前記制御部は、
前記容量情報を参照して、特定される許可機能に対応するソフトウェアモジュールの非圧縮状態での容量の合計が、前記処理領域における使用可能容量以下であるか否かを判定する判定処理を実行し、
前記判定処理において前記容量の合計が前記使用可能容量以下であると判定した場合には、前記展開処理を実行し、
前記判定処理において前記容量の合計が前記使用可能容量より大きいと判定した場合には、前記展開処理を実行せず、前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、選択された前記許可機能に対応する前記ソフトウェアモジュールを、前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する指示後展開処理を実行する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、画像処理装置に関する。
【背景技術】
【０００２】
画像形成部と画像読取部とを含む複数のハードウェアを備え、複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実行可能な画像処理装置が知られている。このような画像処理装置は、複数の機能を実現するための複数のソフトウェアモジュールを圧縮状態で記憶する記憶領域と、複数の機能の実行処理に利用される処理領域とを含む記憶部を備える。一般に、記憶領域に記憶された複数のソフトウェアモジュールは、画像処理装置の起動時に、記憶領域から読み出され、非圧縮状態に変換されて処理領域に格納される。機能の実行の際には、処理領域に格納された非圧縮状態のソフトウェアモジュールが用いられる（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１２−５２９６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の技術では、記憶領域に記憶されたすべてのソフトウェアモジュールが、使用されるか否かにかかわらず一律に非圧縮状態にされて処理領域に格納されるため、処理領域が不必要に使用された状態が発生し得る。例えば、ユーザ毎に複数の機能のそれぞれについて許可／不許可の別が設定されている場合に、上記従来の技術では、ユーザに許可されていない機能を実現するためのソフトウェアモジュールも、非圧縮状態にされて処理領域に格納され、処理領域が不必要に使用された状態が発生する。処理領域が不必要に使用されると、処理領域の空き容量が低下して機能の実行に支障を来すおそれがある。
【０００５】
本明細書では、上述した課題を解決することが可能な技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示される技術は、例えば、以下の形態として実現することが可能である。
【０００７】
本明細書に開示される画像処理装置は、画像形成部と画像読取部とを含む複数のハードウェアと、前記複数のハードウェアを動作させて画像形成機能と画像読取機能とを含む複数の機能を実現する複数のソフトウェアモジュールを圧縮状態で格納するモジュール記憶領域と、前記複数の機能の内、ユーザ毎に許可された許可機能を特定する許可情報および各機能に対応するソフトウェアモジュールを特定する対応情報を格納する情報記憶領域と、前記複数の機能の実行処理に利用される処理領域と、を含む記憶部と、インターフェース部と、制御部と、を備え、前記制御部は、前記インターフェース部を介してユーザを特定するユーザ情報を取得する情報取得処理と、前記許可情報を参照して、取得された前記ユーザ情報により特定されるユーザについての前記許可機能を特定する機能特定処理と、特定された前記許可機能に対応する前記ソフトウェアモジュールを対象として、前記対象となる前記ソフトウェアモジュールを前記モジュール記憶領域から読み出し、非圧縮状態にして前記処理領域に格納する展開処理と、前記インターフェース部を介して前記許可機能の内の１つを選択する指示を取得したことに応じて、前記処理領域に格納された前記ソフトウェアモジュールを用いて、選択された前記許可機能を実行する機能実行処理と、を実行する。この画像処理装置によれば、モジュール記憶領域に格納された複数のソフトウェアモジュールの内、ユーザに許可された機能を実現するためのソフトウェアモジュールが選択的に非圧縮状態にされて処理領域に格納されるため、実行される可能性の低い機能に対応するソフトウェアモジュールが処理領域に格納されることが回避され、処理領域が不必要に使用された状態が発生することを回避することができる。
【０００８】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、画像処理装置、画像処理装置と他の装置とを備える画像処理システム、これらの装置やシステムの制御方法、その制御方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することが可能である。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における画像処理システム１０の構成を示す説明図である。
【図２】複合機２００の構成を示す説明図である。
【図３】許可情報ＰＩおよび機能特定情報ＦＩの一例を示す説明図である。
【図４】対応情報ＣＩの一例を示す説明図である。
【図５】ソフトウェアモジュール制御処理を示すフローチャートである。
【図６】ソフトウェアモジュール制御処理を示すフローチャートである。
【図７】ソフトウェアモジュール制御処理の具体例を示す説明図である。
【図８】ソフトウェアモジュール制御処理の具体例を示す説明図である。
【発明を実施するための形態】
【００１０】
Ａ．実施形態：
Ａ−１．画像処理システム１０の構成：
図１は、本実施形態における画像処理システム１０の構成を示す説明図である。画像処理システム１０は、複合機２００と、外部端末１１０、１２０、１３０とを備える。複合機２００は、例えば有線のＬＡＮを介して、外部端末１１０と通信可能である。また、複合機２００は、例えば無線ＬＡＮアクセスポイント１４０を用いた無線ＬＡＮ（以下、「ＷＬＡＮ」という）を介して、外部端末１２０、１３０と通信可能である。
【００１１】
複合機２００は、スキャン機能やプリント機能、コピー機能等の複数の機能を備える装置であり、画像処理装置の一例である。図２に示すように、複合機２００は、ＣＰＵ２２０と、記憶部２３０と、表示部２４０を含む操作部２５０と、通信部２６０と、画像形成部２０２と、画像読取部２０４と、ＦＡＸ送受信部２０６とを備える。
【００１２】
複合機２００の画像形成部２０２は、電子写真方式やインクジェット方式等により紙等のシートに画像を形成するハードウェアである。画像読取部２０４は、イメージセンサを有し、原稿を読み取って原稿の画像を表す画像データを生成するハードウェアである。ＦＡＸ送受信部２０６は、モデムを有し、ファクシミリの送受信のための処理を行うハードウェアである。表示部２４０は、例えば液晶ディスプレイを有し、各種の設定画面や装置の動作状態等を表示する。操作部２５０は、例えば各種のボタンやスイッチを有し、ユーザによる各種の入力指示を取得する。例えば、操作部２５０は、複合機２００が備える複数の機能の中から１つの機能を選択する選択指示を取得したり、ユーザログインのためのユーザＩＤおよびパスワードを取得したりする。以下の説明では、ユーザログインのためのユーザＩＤおよびパスワードを、ユーザ情報ともいう。なお、本実施形態では、操作部２５０は、表示部２４０に設けられたタッチパネルを含む。通信部２６０は、他の機器との通信のための通信インターフェースであり、例えば有線ＬＡＮインターフェースや無線ＬＡＮインターフェース、ＵＳＢインターフェース等を有する。操作部２５０と通信部２６０との少なくとも一方は、インターフェース部の一例である。
【００１３】
複合機２００の記憶部２３０は、１つまたは複数の記憶装置により構成されており、モジュール記憶領域ＭＡと、情報記憶領域ＩＡと、処理領域ＰＡとを含む。情報記憶領域ＩＡは、各種の情報を格納するための領域であり、例えばＲＯＭにより構成されている。情報記憶領域ＩＡには、例えば、許可情報ＰＩ、機能特定情報ＦＩおよび対応情報ＣＩが格納されている。
【００１４】
許可情報ＰＩは、図３（ａ）に示すように、ユーザ毎に、複合機２００が備える複数の機能（コピー機能、ＦＡＸ送信機能、ＰＣプリント機能、ＰＣスキャン機能、外部連携機能）の内、利用が許可された機能を特定する情報である。図３（ａ）では、利用が許可された許可機能が「〇」で示され、利用が許可されていない不許可機能が「×」で示されている。例えば、ユーザＸは、コピー機能とＦＡＸ送信機能とＰＣプリント機能とＰＣスキャン機能の利用を許可されているが、外部連携機能の利用を許可されていない。機能特定情報ＦＩは、図３（ｂ）に示すように、複合機２００が備える機能の内、実行指示の指示元に応じて、どの機能が実行可能であるかを特定するための対応情報である。図３（ｂ）では、実行可能な機能が「〇」で示され、実行ができない機能が「×」で示されている。図３（ｂ）に示すように、複合機２００の操作部２５０からの操作や、後述するように操作部２５０の代替装置として機能する外部連携機器１３０による操作からは、複合機２００が備えるすべての機能の実行指示が可能である。一方、外部端末１１０、１２０からの実行指示については、プリント機能、スキャン機能の実行指示が可能であるが、コピー機能、ＦＡＸ送信機能については実行指示を行うことはできない。
【００１５】
また、対応情報ＣＩは、図４に示すように、複合機２００が備える機能毎に、機能の実行に使用されるソフトウェアモジュールを特定する情報である。図４では、機能の実行に使用されるソフトウェアモジュールが「〇」で示され、機能の実行に使用されないソフトウェアモジュールが「×」で示されている。例えば、コピー機能の実行には、コピーＵＩと、コピーコアと、プリントサービスと、スキャンサービスと、外部連携サービスとが使用される。なお、図４に示された各種ソフトウェアモジュールは、ＵＩ層と、コア層と、サービス層とに分類される。ＵＩ層は、各機能の実行の際に操作部２５０の動作を制御するためのソフトウェアモジュールであり、コア層は、各機能を実際に実行するためのソフトウェアモジュールであり、サービス層は、各機能の実行のために画像形成部２０２や画像読取部２０４等のハードウェアを制御するためのソフトウェアモジュールである。サービス層には、いわゆるドライバを含む。ＵＩ層は、第１の種類のソフトウェアモジュールの一例である。
【００１６】
記憶部２３０のモジュール記憶領域ＭＡ(図２)は、各種のソフトウェアモジュールを圧縮状態で格納するための領域であり、例えばＲＯＭにより構成されている。モジュール記憶領域ＭＡに格納されるソフトウェアモジュールとしては、例えば、図４に示されたソフトウェアモジュールや、複合機２００の待機モード時に必要とされるソフトウェアモジュールが挙げられる。待機モード時に必要なソフトウェアモジュールとしては、例えば、表示部２４０にホーム画面を表示させるためのソフトウェアモジュールや、ＦＡＸ受信時に操作部２５０やＦＡＸ送受信部２０６を制御するためのソフトウェアモジュール等が挙げられる。
【００１７】
記憶部２３０の処理領域ＰＡは、複合機２００が備える各機能を実行する際の作業領域やデータの一時的な記憶領域として利用される領域であり、例えばＲＡＭにより構成される。例えば、処理領域ＰＡには、非圧縮状態のソフトウェアモジュールや、画像読取部２０４によって生成された画像データ、ＦＡＸの受信データ等が格納される。
【００１８】
複合機２００のＣＰＵ２２０は、記憶部２３０のモジュール記憶領域ＭＡに格納された各種ソフトウェアモジュールを読み出し、非圧縮状態にして処理領域ＰＡに格納し、処理領域ＰＡに格納された各種ソフトウェアモジュールを実行することにより、複合機２００の各部を制御する。ＣＰＵ２２０は、制御部の一例である。なお、ＣＰＵ２２０がモジュール記憶領域ＭＡからソフトウェアモジュールを読み出し、非圧縮状態にして処理領域ＰＡに格納することを、展開処理またはロードともいう。また、図４に示すように、対応情報ＣＩは、各ソフトウェアモジュールの非圧縮状態での容量（展開処理後の容量）を特定する容量情報ＳＩを含んでいる。
【００１９】
外部端末１１０、１２０、１３０（図１）は、例えばパーソナルコンピュータ（以下、「ＰＣ」という）やスマートフォンやタブレット型端末であり、複合機２００を利用するクライアントとして機能する。例えば、外部端末１１０はＰＣであり、外部端末１１０には複合機２００のプリンタドライバがインストールされている。外部端末１１０は、このプリンタドライバを介して、複合機２００に対しＰＣプリントの実行指示を行う。なお、外部端末１１０にスキャンドライバがインストールされており、外部端末１１０が、スキャンドライバを介して、複合機２００に対しＰＣスキャンの実行指示を行ってもよい。外部端末１２０は、複合機２００に画像処理を実行させるためのアプリケーションを格納する。アプリケーションを起動し、操作画面に従い外部端末１２０に入力される操作に応じて、画像やドキュメントの印刷指示や原稿のスキャン指示を複合機２００に対して送信することができる。すなわち、外部端末１２０は、複合機２００が備えるプリント機能やスキャン機能の実行指示を発行することができる。一方、外部端末１２０は、複合機２００が備えるコピー機能やＦＡＸ送信機能の実行指示を発行することはできない。
【００２０】
外部端末１３０は、複合機２００が備える外部連携機能を利用するための連携アプリケーションを格納する。外部端末１３０は、連携アプリケーションを実行することにより、複合機２００の操作部２５０の代替装置として機能する。なお、連携アプリケーションを実行して複合機２００にアクセスする場合の外部端末１３０を、外部連携機器１３０ともいう。具体的には、外部連携機器１３０は、複合機２００を操作するための画面データ（ＵＩデータ）を複合機２００から受信し、受信した画面データを用いて複合機２００の操作画面を外部連携機器１３０のディスプレイ上に表示し、外部連携機器１３０に入力される操作に応じて、複合機２００に対して各種機能の実行指示を送信することができる。
【００２１】
Ａ−２．ソフトウェアモジュール制御処理：
次に、複合機２００において実行されるソフトウェアモジュール制御処理について説明する。ソフトウェアモジュール制御処理は、各種条件に応じて、記憶部２３０における各種ソフトウェアモジュールの格納状態を変化させる処理である。ソフトウェアモジュール制御処理は、複合機２００が起動されると開始される。
【００２２】
図５に示すように、はじめに複合機２００のＣＰＵ２２０は、上述した待機モード時に必要なソフトウェアモジュールをロードする（Ｓ１１０）。具体的には、図７（ａ）に示すように、ホーム画面を表示するためのＨＯＭＥ  ＵＩ、ＦＡＸを受信するためのＦＡＸ受信ＵＩ、ＦＡＸ受信コア、モデムドライバをロードする。ホーム画面には、複合機２００が備える各機能のうち、ユーザが実行したい機能を選択するための操作ボタンが含まれる。なお、ユーザのログイン前は、各機能に対応するソフトウェアモジュールがロードされていないため、操作ボタンを操作しても機能の実行は行われない。その後、ＣＰＵ２２０は、ログインのためのユーザ情報（ユーザＩＤおよびパスワード）の取得を待機し（Ｓ１２０）、ユーザ情報を取得すると（Ｓ１２０：ＹＥＳ）、ユーザＩＤとパスワードとの対応関係が適切であることを条件に、ユーザＩＤによる特定されるユーザによる複合機２００の利用を許可する。また、ＣＰＵ２２０は、許可情報ＰＩ（図３（ａ）)を参照して、ユーザＩＤにより特定されるユーザに対して許可された許可機能を特定する（Ｓ１３０）。例えば、ユーザＩＤにより特定されるユーザがユーザＸである場合には、コピー機能とＦＡＸ送信機能とＰＣプリント機能とＰＣスキャン機能が、許可機能として特定される。
【００２３】
その後、複合機２００のＣＰＵ２２０は、ログインのためのユーザ情報が取得された態様に応じて、異なる処理を実行する。本実施形態では、ユーザ情報の取得態様としては、複合機２００の操作部２５０を介して取得される態様の他に、通信部２６０を介して外部端末１２０から取得される態様と、ＰＣプリントのために通信部２６０を介して外部端末１１０から取得される態様と、通信部２６０を介して外部連携機器１３０から取得される態様との４つの態様がある。
【００２４】
ログインのためのユーザ情報が複合機２００の操作部２５０を介して取得された場合（Ｓ１４０：ＹＥＳ）、複合機２００のＣＰＵ２２０は、容量情報ＳＩを含む対応情報ＣＩを参照して全必要モジュールの非圧縮状態での容量の合計を特定し、当該容量の合計が記憶部２３０の処理領域ＰＡにおける使用可能容量以下であるか否かを判定することによって、全必要モジュールをロードすることができるか否かを判定する（Ｓ１５０）。なお、ここでいう全必要モジュールは、Ｓ１３０において特定された許可機能の実行に必要なすべてのソフトウェアモジュールである。また、処理領域ＰＡの使用可能容量とは、処理領域ＰＡの空き容量から、ＦＡＸ受信やソートコピー用に確保されるべき所定の容量を差し引いた容量である。
【００２５】
複合機２００のＣＰＵ２２０は、全必要モジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量以下であり、ロードすることができると判定した場合には（Ｓ１５０：ＹＥＳ）、全必要モジュールをロードする（Ｓ１６０）。これにより、ログインしたユーザに対して許可された許可機能のすべてが実行可能な状態となる。なお、不許可機能に対応するソフトウェアモジュールはロードされない。例えば、図７（ｂ）では、ユーザＺが操作部２５０を操作してログインした場合であって、全必要モジュールがロード可能であると判断した場合にロードされる各ソフトウェアモジュールを示している。具体的には、ユーザＺに許可されたコピー機能に対応するソフトウェアモジュール（コピーＵＩ、コピーコア、プリントサービス、スキャンサービス、外部連携サービス）が、追加でロードされる。一方、ＣＰＵ２２０は、全必要モジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量より大きく、ロードすることができないと判定した場合には（Ｓ１５０：ＮＯ）、全必要モジュールのロード（Ｓ１６０）を実行しない。この場合には、ＣＰＵ２２０は、操作部２５０により許可機能の１つを選択する選択指示が取得されるのを待機し（Ｓ１７０）、選択指示が取得されると（Ｓ１７０：ＹＥＳ）、選択された機能の実行に必要なソフトウェアモジュールを選択的にロードする（Ｓ１８０）。これにより、選択された１つの機能が実行可能な状態となる。例えば、ユーザＸがログインした場合であって、全必要モジュールがロード不可能と判断した場合に、ユーザＸがホーム画面からコピー機能を選択した場合にも、図７（ｂ）で示される各ソフトウェアモジュールがロードされることになる。
【００２６】
また、ログインのためのユーザ情報が外部端末１２０から取得された場合（Ｓ１４０：ＮＯ、Ｓ１９０：ＹＥＳ）、複合機２００のＣＰＵ２２０は、Ｓ１３０において特定された許可機能の内、外部端末１２０からの実行指示が可能な外部機能を特定する（Ｓ２００）。上述したように、本実施形態では、外部端末１２０は、複合機２００が備えるコピー機能やＦＡＸ送信機能の実行指示を発行することはできないため、仮に許可機能にコピー機能やＦＡＸ送信機能が含まれていても、それらの機能は外部機能には含まれない。また、ＣＰＵ２２０は、容量情報ＳＩを含む対応情報ＣＩを参照してＵＩ層を除く全必要ソフトウェアモジュールの非圧縮状態での容量の合計を特定し、当該容量の合計が記憶部２３０の処理領域ＰＡにおける使用可能容量以下であるか否かを判定することによって、ＵＩ層を除く全必要ソフトウェアモジュールをロードすることができるか否かを判定する（Ｓ２１０）。なお、ここでいうＵＩ層を除く全必要ソフトウェアモジュールは、許可機能の内の外部機能の実行に必要なソフトウェアモジュールの内、コア層とサービス層に属するソフトウェアモジュールである。
【００２７】
複合機２００のＣＰＵ２２０は、ＵＩ層を除く全必要モジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量以下であり、ロードすることができると判定した場合には（Ｓ２１０：ＹＥＳ）、ＵＩ層を除く全必要モジュールをロードする（Ｓ２２０）。これにより、外部端末１２０からログインしたユーザに対して許可された許可機能の内の外部機能が実行可能な状態となる。なお、不許可機能に対応するソフトウェアモジュールや、許可機能の内の外部機能に含まれない機能に対応するソフトウェアモジュールはロードされない。例えば、ユーザＸが外部端末１２０のアプリケーションを実行することにより複合機２００にログインした場合であって、ＵＩ層を除く全必要モジュールをロード可能であると判断した場合は、図７（ｃ）に示すように、ＰＣプリントコア、ＰＣスキャンコア、プリントサービス、スキャンサービス、外部連携サービスの各ソフトウェアモジュールがロードされる。一方、ＣＰＵ２２０は、ＵＩ層を除く全必要モジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量より大きく、ロードすることができないと判定した場合には（Ｓ２１０：ＮＯ）、ＵＩ層を除く全必要モジュールのロード（Ｓ２２０）を実行しない。この場合には、ＣＰＵ２２０は、外部端末１２０から機能の１つを選択する選択指示が取得されるのを待機し（Ｓ２３０）、選択指示が取得されると（Ｓ２３０：ＹＥＳ）、選択された機能の実行に必要なソフトウェアモジュール（ただしＵＩ層を除く）を選択的にロードする（Ｓ２４０）。これにより、選択された１つの機能が実行可能な状態となる。なお、上述したように、外部端末１２０は、複合機２００を操作するための画面データを有しており、当該操作画面に従い外部端末１２０に入力される操作に応じて、印刷指示を複合機２００に対して発行することができる。そのため、ログインのためのユーザ情報が外部端末１２０から取得された場合には、ＵＩ層に属するソフトウェアモジュールのロードは不要である。
【００２８】
また、ログインのためのユーザ情報が、外部端末１１０からＰＣプリントのために取得された場合（Ｓ１９０：ＮＯ、Ｓ２５０：ＹＥＳ）、複合機２００のＣＰＵ２２０は、ＰＣプリント機能の実行に必要なソフトウェアモジュールをロードする（Ｓ２６０）。これにより、外部端末１１０からの指示に応じたＰＣプリントが実行可能な状態となる。なお、ＰＣプリント機能以外の機能に対応するソフトウェアモジュールはロードされない。一般に、外部端末１１０からのＰＣプリント機能の実行指示の際には、ユーザ情報と、ＰＣプリント機能の選択指示とが同時に取得される。また、ログインしたユーザに対してＰＣプリント機能の利用が許可されていない場合には、Ｓ２６０の処理はスキップされる。なお、本実施形態ではＰＣプリント機能の場合を説明したが、同様にＰＣスキャン機能のための指示であれば、同様にＰＣスキャン機能に対応するソフトウェアモジュールがロードされる。
【００２９】
また、外部端末１３０が連携アプリケーションを使って複合機２００にログインする場合、すなわち、ログインのためのユーザ情報が外部連携機器１３０の連携アプリケーションから取得された場合（Ｓ２５０：ＮＯ）、複合機２００のＣＰＵ２２０は、容量情報ＳＩを含む対応情報ＣＩを参照して全必要モジュールの非圧縮状態での容量の合計を特定し、当該容量の合計が記憶部２３０の処理領域ＰＡにおける使用可能容量以下であるか否かを判定することによって、全必要モジュールをロードすることができるか否かを判定する（Ｓ２７０）。なお、ここでいう全必要モジュールは、Ｓ１３０において特定された許可機能の実行に必要なすべてのソフトウェアモジュールである。
【００３０】
複合機２００のＣＰＵ２２０は、全必要モジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量以下であり、ロードすることができると判定した場合には（Ｓ２７０：ＹＥＳ）、全必要モジュールをロードする（Ｓ２８０）。これにより、ログインしたユーザに対して許可された許可機能のすべてが実行可能な状態となる。なお、不許可機能に対応するソフトウェアモジュールはロードされない。一方、ＣＰＵ２２０は、全必要モジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量より大きく、ロードすることができないと判定した場合には（Ｓ２７０：ＮＯ）、全必要モジュールのロード（Ｓ２８０）を実行しない。この場合には、ＣＰＵ２２０は、外部連携機能の実行に必要なソフトウェアモジュールを選択的にロードする（Ｓ２９０）。外部連携機能の実行に必要なソフトウェアモジュール（外部連携ＵＩ、外部連携コア、外部連携サービス）を選択的にロードした場合の例を図８（ａ）に示す。これにより、外部連携機器１３０を複合機２００の操作部２５０の代替装置として機能させることが可能となる。すなわち、外部連携機器１３０の操作画面で、複合機２００のホーム画面と同様の画面を表示させ、複合機２００のホーム画面としてユーザに操作させることができる。その後、ＣＰＵ２２０は、外部連携機器１３０から許可機能の１つを選択する選択指示が取得されるのを待機し（Ｓ３００）、選択指示が取得されると（Ｓ３００：ＹＥＳ）、選択された機能の実行に必要なソフトウェアモジュールを選択的にロードする（Ｓ３１０）。これにより、選択された１つの機能が実行可能な状態となる。
【００３１】
その後、図６に示すように、複合機２００のＣＰＵ２２０は、操作部２５０や通信部２６０を介して機能実行指示が取得されることを待機し（Ｓ３２０）、機能実行指示が取得されると（Ｓ３２０：ＹＥＳ）、画像形成部２０２や画像読取部２０４等のハードウェアを制御して、指示された機能を実行する（Ｓ３３０）。例えば、図８（ｂ）では、ＰＣスキャン機能を選択した場合を例に示す。また、ＣＰＵ２２０は、ユーザからのログアウト指示（利用終了指示）の取得を待機し（Ｓ３４０）、ログアウト指示を取得すると（Ｓ３４０：ＹＥＳ）、ユーザＩＤによる特定されるユーザによる複合機２００の利用を制限すると共に、上述の各ステップにおいてロードされたソフトウェアモジュールをアンロードし（すなわち、処理領域ＰＡから削除して図７（ａ）の状態に戻し）、ソフトウェアモジュール制御処理を終了する。
【００３２】
以上説明したように、本実施形態では、複合機２００のＣＰＵ２２０は、操作部２５０または通信部２６０を介してユーザを特定するユーザ情報を取得する情報取得処理と、許可情報ＰＩを参照して、ユーザ情報により特定されるユーザに対して許可された許可機能を特定する機能特定処理とを実行する。また、ＣＰＵ２２０は、特定された許可機能に対応するソフトウェアモジュールを対象として、対象となるソフトウェアモジュールを記憶部２３０のモジュール記憶領域ＭＡから読み出し、非圧縮状態にして処理領域ＰＡに格納する展開処理を行い、操作部２５０または通信部２６０を介して許可機能の内の１つを選択する指示を取得したことに応じて、処理領域ＰＡに格納されたソフトウェアモジュールを用いて、選択された機能を実行する機能実行処理を実行する。そのため、本実施形態の複合機２００によれば、記憶部２３０のモジュール記憶領域ＭＡに格納された複数のソフトウェアモジュールの内、ユーザに許可された許可機能を実現するためのソフトウェアモジュールが選択的に非圧縮状態にされて処理領域ＰＡに格納されるため、機能が選択された後にソフトウェアモジュールをロードする態様と比較して機能実行までの時間を短縮することができる。また、本実施形態の複合機２００によれば、実行される可能性の低い機能に対応するソフトウェアモジュールが処理領域ＰＡに格納されることが回避され、処理領域ＰＡが不必要に使用された状態が発生することを回避することができる。これにより、記憶部２３０の処理領域ＰＡの空き容量が低下することが抑制され、例えば、ＦＡＸの受信処理やソートコピーといった処理領域ＰＡを使用する他の機能の実行に支障を来すことを抑制することができる。例えば、記憶部２３０の処理領域ＰＡの容量上、複合機２００が備える機能の数に制限が必要となる場合であっても、例えば、ユーザ毎に利用可能な機能が制限されるといった場合には、処理領域ＰＡの容量以上の機能を複合機２００に備えることが可能となる。
【００３３】
また、本実施形態では、複合機２００のＣＰＵ２２０は、ユーザ情報を取得したことに応じて、ユーザ情報により特定されるユーザによる複合機２００の使用を許可し、操作部２５０または通信部２６０を介して、ログアウト指示（ユーザ情報により特定されるユーザによる複合機２００の使用の終了指示）が入力されたことに応じて、ユーザ情報により特定されるユーザによる複合機２００の使用を制限する管理処理を実行する。このとき、ＣＰＵ２２０は、ユーザ情報が取得されたことに応じて、上記機能特定処理と展開処理とを実行する。また、ＣＰＵ２２０は、操作部２５０または通信部２６０を介してログアウト指示が入力されたことに応じて、上記展開処理において記憶部２３０の処理領域ＰＡに格納されたソフトウェアモジュールを削除する解放処理を実行する。そのため、本実施形態の複合機２００によれば、実行される可能性の高い機能に対応するソフトウェアモジュールが処理領域ＰＡに格納されると共に、実行される可能性の低い機能に対応するソフトウェアモジュールが処理領域ＰＡに格納されることが回避され、機能の実行の際の待ち時間を低減しつつ、処理領域ＰＡが不必要に使用された状態が発生することを回避することができる。
【００３４】
また、本実施形態では、複合機２００の記憶部２３０の情報記憶領域ＩＡに、各ソフトウェアモジュールの非圧縮状態での容量を特定する容量情報ＳＩを含む対応情報ＣＩ(図４)が格納されており、ＣＰＵ２２０は、容量情報ＳＩを参照して、許可機能に対応するソフトウェアモジュールの非圧縮状態での容量の合計が、記憶部２３０の処理領域ＰＡにおける使用可能容量以下であるか否かを判定する判定処理を実行する。ＣＰＵ２２０は、判定処理において容量の合計が使用可能容量以下であると判定した場合には、上記展開処理を実行する。一方、ＣＰＵ２２０は、判定処理において容量の合計が使用可能容量より大きいと判定した場合には、上記展開処理を実行せず、操作部２５０または通信部２６０を介して許可機能の内の１つを選択する指示を取得したことに応じて、選択された許可機能に対応するソフトウェアモジュールを、モジュール記憶領域ＭＡから読み出し、非圧縮状態にして処理領域ＰＡに格納する指示後展開処理を実行する。そのため、本実施形態の複合機２００によれば、許可機能に対応するソフトウェアモジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量より大きい場合に、上記展開処理が実行されることが回避され、選択された機能の実行を確保しつつ、処理領域ＰＡの空き容量が過小となって他の機能の実行に支障を来すことを回避することができる。
【００３５】
また、本実施形態では、複合機２００のＣＰＵ２２０は、上記情報取得処理において、操作部２５０を介してユーザ情報を取得した場合には、許可機能に対応するソフトウェアモジュールのすべてを対象として上記展開処理を実行する一方、上記情報取得処理において、通信部２６０を介して外部端末１２０からユーザ情報を取得した場合には、許可機能に対応するソフトウェアモジュールの内、操作部２５０の動作を制御するＵＩ層を除くソフトウェアモジュールを対象として上記展開処理を実行する。そのため、本実施形態の複合機２００によれば、通信部２６０を介して外部端末１２０からユーザ情報が取得された場合には、使用される可能性が低いＵＩ層は上記展開処理の対象外とされるため、処理領域ＰＡが不必要に使用された状態が発生することをさらに効果的に回避することができる。
【００３６】
また、本実施形態では、複合機２００の記憶部２３０の情報記憶領域ＩＡに、複合機２００が備える複数の機能の内、通信部２６０を介した外部端末１２０からの実行指示が可能な外部機能を特定する外部機能特定情報が格納されている。また、ＣＰＵ２２０は、上記情報取得処理において、通信部２６０を介して外部端末１２０からユーザ情報を取得した場合には、許可機能の内の外部機能に対応するソフトウェアモジュールを対象として上記展開処理を実行する。そのため、本実施形態の複合機２００によれば、通信部２６０を介して外部端末１２０からユーザ情報が取得された場合には、外部端末１２０からの実行指示ができない機能に対応するソフトウェアモジュールは上記展開処理の対象外とされるため、処理領域ＰＡが不必要に使用された状態が発生することをさらに効果的に回避することができる。
【００３７】
また、本実施形態では、外部端末１１０からのＰＣプリント機能の実行指示の際のように、ユーザ情報と許可機能の選択指示とが同時に取得された場合には、ＣＰＵ２２０は、許可機能の内、選択された許可機能に対応するソフトウェアモジュールを対象として上記展開処理を実行する。そのため、本実施形態の複合機２００によれば、処理領域ＰＡが不必要に使用された状態が発生することをさらに効果的に回避することができる。
【００３８】
また、本実施形態では、複合機２００は、操作部２５０の代替装置として外部連携機器１３０を使用することを可能とする外部連携機能を実行可能であり、また、記憶部２３０の情報記憶領域ＩＡには、各ソフトウェアモジュールの非圧縮状態での容量を特定する容量情報ＳＩを含む対応情報ＣＩ（図４)が格納されている。ＣＰＵ２２０は、上記情報取得処理において、通信部２６０を介して外部連携機器１３０からユーザ情報を取得した場合に、容量情報ＳＩを参照して、許可機能に対応するソフトウェアモジュールの非圧縮状態での容量の合計が、記憶部２３０の処理領域ＰＡにおける使用可能容量以下であるか否かを判定する判定処理を実行する。ＣＰＵ２２０は、容量の合計が使用可能容量以下であると判定した場合には、許可機能に対応するソフトウェアモジュールすべてを対象として上記展開処理を実行する。一方、ＣＰＵ２２０は、容量の合計が使用可能容量より大きいと判定した場合には、許可機能の内の外部連携機能に対応するソフトウェアモジュールを対象として上記展開処理を実行すると共に、許可機能の内の１つを選択する指示を取得したことに応じて、選択された許可機能に対応するソフトウェアモジュールを、モジュール記憶領域ＭＡから読み出し、非圧縮状態にして処理領域ＰＡに格納する指示後展開処理を実行する。そのため、本実施形態の複合機２００によれば、操作部２５０の代替装置として外部連携機器１３０を使用する場合であって、許可機能に対応するソフトウェアモジュールの非圧縮状態での容量の合計が処理領域ＰＡにおける使用可能容量より大きい場合には、外部連携機能に対応するソフトウェアモジュールを対象として展開処理が実行された後に指示後展開処理が実行されるため、処理領域ＰＡの空き容量が過小となって他の機能の実行に支障を来すことを回避することができる。
【００３９】
Ｂ．変形例：
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
【００４０】
上記実施形態における画像処理システム１０の構成は、あくまで一例であり、種々変形可能である。例えば、上記実施形態において、複合機２００が備える複数の機能はあくまで一例であり、複合機２００が図３に示された複数の機能の一部を備えないとしてもよいし、複合機２００が図３に示された機能以外の機能を備えていてもよい。また、上記実施形態において、複合機２００が備えるハードウェアはあくまで一例であり、複合機２００は、複合機２００が備える機能を実現するために必要なハードウェアを備えていればよい。また、上記実施形態において、記憶部２３０の情報記憶領域ＩＡやモジュール記憶領域ＭＡは、外部メモリやクラウドサーバ等の記憶手段により構成されるとしてもよい。
【００４１】
また、上記実施形態において、画像処理システム１０を構成する各装置間の通信は、有線ＬＡＮや無線ＬＡＮに限られず、ＵＳＢやBluetooth（登録商標)等の他の通信手段を介して行われてもよい。
【００４２】
また、上記実施形態において、ハードウェアによって実現されている構成の一部をソフトウェアに置き換えるようにしてもよく、反対に、ソフトウェアによって実現されている構成の一部をハードウェアに置き換えるようにしてもよい。
【００４３】
また、上記実施形態のソフトウェアモジュール制御処理において、一部のステップを省略したり、内容を変更したり、他のステップと順番を入れ替えたりしてもよい。例えば、上記実施形態では、ユーザＩＤおよびパスワードが取得されたことに応じて、上記機能特定処理と上記展開処理とが実行されるとしているが、ユーザＩＤの取得が完了し、かつ、パスワードの取得が完了していないタイミングで、上記機能特定処理と上記展開処理とが実行されるとしてもよい。一般に、パスワードの取得が完了していなくても、ユーザＩＤによってユーザを特定することができるため、このような処理も実現可能である。このようにすれば、機能の実行の際の待ち時間をさらに短縮することができる。
【００４４】
また、記憶部２３０の処理領域ＰＡにおける使用可能容量が極端に少ない場合には、例えば、操作部２５０にＵＩを表示させる処理を実行する際にはＵＩ層をロードし、その後、機能の実行指示が取得されたタイミングでＵＩ層をアンロードすると共にコア層をロードする、というように、機能の実行のための各段階における必要性に応じて、各ソフトウェアモジュールのロードおよびアンロードを繰り返し実行するとしてもよい。この場合には、処理の都度表示が切り替わり、どのＵＩを表示すべきかわからなくなる場合があるため、ＵＩ層を表示位置記憶機能と表示データ記憶機能とに分け、表示位置記憶機能についてはロードされた状態を維持し、表示データ記憶機能についてはロードおよびアンロードを繰り返し実行するとしてもよい。また、例えば、クラウドサーバ上の写真やドキュメントを複合機２００によってプリントする場合のように、ＵＩ画面データがクラウドサーバから複合機２００に送信される場合でも、ユーザ情報が外部端末ではなく操作部２５０により取得されるとみなされる場合もある。
【符号の説明】
【００４５】
１１０：外部端末  １２０：外部端末  １３０：外部端末（外部連携機器）  ２００：複合機  ２０２：画像形成部  ２０４：画像読取部  ２２０：ＣＰＵ  ２３０：記憶部  ２４０：表示部  ２５０：操作部  ２６０：通信部
【図１】
0006531590.tif 000002
【図２】
0006531590.tif 000003
【図３】
0006531590.tif 000004
【図４】
0006531590.tif 000005
【図５】
0006531590.tif 000006
【図６】
0006531590.tif 000007
【図７】
0006531590.tif 000008
【図８】
0006531590.tif 000009