(57)【要約】    【課題】  ユーザがアプリケーション毎に異なる入力操作を行なうことなく、同一の機能を呼び出すことを可能にする。    【解決手段】  各アプリケーションでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションでそれぞれ行われるべき入力操作との対応関係を示す情報を、アプリケーションごとに記憶装置に格納しておく。入力キー操作イベントに対応するアプリケーションフレームワークにおける機能を認識し（Ｓ１６０２）、キー操作イベントの入力時点でアクティブになっていたアプリケーションを認識する（Ｓ１６０３）。該アプリケーションに対応する記憶装置に格納された対応関係情報から、認識された機能に対応する入力操作情報を読み出し（Ｓ１６０４）、該入力操作情報を前記認識されたアプリケーションに送信し、該アプリケーションに該入力操作情報に応じた機能を実現させる（Ｓ１６０５）。【選択図】      図１６
2005293407.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置において、
各アプリケーションソフトウェアでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションソフトウェアでそれぞれ行われるべき入力操作との対応関係を示す情報をアプリケーションソフトウェアごとに保持する対応関係保持手段と、
入力されたキー操作イベントを取得する取得手段と、
前記取得手段によって取得されたキー操作イベントに対応する前記所定の制御方式における機能を認識する第１の認識手段と、
前記取得手段によって取得されたキー操作イベントが入力された時点でアクティブになっていたアプリケーションソフトウェアを認識する第２の認識手段と、
前記第２の認識手段によって認識されたアプリケーションソフトウェアに対応する前記対応関係保持手段に保持された対応関係情報から、前記第１の認識手段によって認識された機能に対応する入力操作情報を読み出す読出手段と、
前記読出手段によって読み出された入力操作情報を前記第２の認識手段によって認識されたアプリケーションソフトウェアに送信し、該アプリケーションソフトウェアに該入力操作情報に応じた機能を実現させる送信実現手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記所定の制御方式は、アプリケーションフレームワークであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置に適用される入力操作簡略化方法において、
各アプリケーションソフトウェアでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションソフトウェアでそれぞれ行われるべき入力操作との対応関係を示す情報を、アプリケーションソフトウェアごとに記憶装置に格納する対応関係格納ステップと、
入力されたキー操作イベントを取得する取得ステップと、
前記取得ステップによって取得されたキー操作イベントに対応する前記所定の制御方式における機能を認識する第１の認識ステップと、
前記取得ステップによって取得されたキー操作イベントが入力された時点でアクティブになっていたアプリケーションソフトウェアを認識する第２の認識ステップと、
前記第２の認識ステップによって認識されたアプリケーションソフトウェアに対応する前記記憶装置に格納された対応関係情報から、前記第１の認識ステップによって認識された機能に対応する入力操作情報を読み出す読出ステップと、
前記読出ステップによって読み出された入力操作情報を前記第２の認識ステップによって認識されたアプリケーションソフトウェアに送信し、該アプリケーションソフトウェアに該入力操作情報に応じた機能を実現させる送信実現ステップと
を有することを特徴とする入力操作簡略化方法。
【請求項４】
複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置に適用される入力操作簡略化方法を、コンピュータに実行させるためのプログラムにおいて、
各アプリケーションソフトウェアでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションソフトウェアでそれぞれ行われるべき入力操作との対応関係を示す情報を、アプリケーションソフトウェアごとに記憶装置に格納する対応関係格納ステップと、
入力されたキー操作イベントを取得する取得ステップと、
前記取得ステップによって取得されたキー操作イベントに対応する前記所定の制御方式における機能を認識する第１の認識ステップと、
前記取得ステップによって取得されたキー操作イベントが入力された時点でアクティブになっていたアプリケーションソフトウェアを認識する第２の認識ステップと、
前記第２の認識ステップによって認識されたアプリケーションソフトウェアに対応する前記記憶装置に格納された対応関係情報から、前記第１の認識ステップによって認識された機能に対応する入力操作情報を読み出す読出ステップと、
前記読出ステップによって読み出された入力操作情報を前記第２の認識ステップによって認識されたアプリケーションソフトウェアに送信し、該アプリケーションソフトウェアに該入力操作情報に応じた機能を実現させる送信実現ステップと
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、入力操作簡略化方法、及びプログラムに関し、特に、複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置、該情報処理装置に適用される入力操作簡略化方法、及び該入力操作簡略化方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
複数のアプリケーションソフトウェア（以下「アプリケーション」という）を実行可能な情報処理装置において、従来、所定のアプリケーションで実現できる所定の機能を入力操作によって呼び出すには、該所定のアプリケーションで定義された入力操作によって行なう必要があった。各アプリケーションでは、入力操作方法が個別に定義されているため、各アプリケーションで同一の機能を呼び出す場合でも、アプリケーション毎に定義されている入力操作方法に従っていた（例えば、特許文献１参照）。
【０００３】
また、アプリケーションフレームワーク上では、アプリケーション間で同一の機能を同じ入力操作で呼び出すことが可能であるが、そのためには、アプリケーションフレームワークで規定された方法で各アプリケーションを作成する必要があった。
【特許文献１】特開平０５−１８１８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の複数のアプリケーションが実行される情報処理装置において、各アプリケーションで同じ機能を異なる入力操作で呼び出すことは、ユーザがアプリケーション毎に異なる入力操作を意識する必要があるため、ユーザの混乱を招くという問題点があった。
【０００５】
また、機能の呼び出し方法を統一するために、アプリケーションフレームワークで規定された方法で各アプリケーションを作成する場合には、過去に作成された既存のアプリケーションを作成し直す手間とコストがかかるという問題点があった。
【０００６】
本発明はこのような問題点に鑑みてなされたものであって、ユーザがアプリケーション毎に異なる入力操作を行なうことなく、同一の機能を呼び出すことを可能にした情報処理装置、入力操作簡略化方法、及びプログラムを提供することを目的とする。
【０００７】
また、本発明は、アプリケーションフレームワークで規定された方法で既存のアプリケーションを作成し直す手間とコストを減少させることを可能にした情報処理装置、入力操作簡略化方法、及びプログラムを提供することを他の目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１記載の発明によれば、複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置において、各アプリケーションソフトウェアでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションソフトウェアでそれぞれ行われるべき入力操作との対応関係を示す情報をアプリケーションソフトウェアごとに保持する対応関係保持手段と、入力されたキー操作イベントを取得する取得手段と、前記取得手段によって取得されたキー操作イベントに対応する前記所定の制御方式における機能を認識する第１の認識手段と、前記取得手段によって取得されたキー操作イベントが入力された時点でアクティブになっていたアプリケーションソフトウェアを認識する第２の認識手段と、前記第２の認識手段によって認識されたアプリケーションソフトウェアに対応する前記対応関係保持手段に保持された対応関係情報から、前記第１の認識手段によって認識された機能に対応する入力操作情報を読み出す読出手段と、前記読出手段によって読み出された入力操作情報を前記第２の認識手段によって認識されたアプリケーションソフトウェアに送信し、該アプリケーションソフトウェアに該入力操作情報に応じた機能を実現させる送信実現手段とを有することを特徴とする情報処理装置が提供される。
【０００９】
また、請求項３記載の発明によれば、複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置に適用される入力操作簡略化方法において、各アプリケーションソフトウェアでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションソフトウェアでそれぞれ行われるべき入力操作との対応関係を示す情報を、アプリケーションソフトウェアごとに記憶装置に格納する対応関係格納ステップと、入力されたキー操作イベントを取得する取得ステップと、前記取得ステップによって取得されたキー操作イベントに対応する前記所定の制御方式における機能を認識する第１の認識ステップと、前記取得ステップによって取得されたキー操作イベントが入力された時点でアクティブになっていたアプリケーションソフトウェアを認識する第２の認識ステップと、前記第２の認識ステップによって認識されたアプリケーションソフトウェアに対応する前記記憶装置に格納された対応関係情報から、前記第１の認識ステップによって認識された機能に対応する入力操作情報を読み出す読出ステップと、前記読出ステップによって読み出された入力操作情報を前記第２の認識ステップによって認識されたアプリケーションソフトウェアに送信し、該アプリケーションソフトウェアに該入力操作情報に応じた機能を実現させる送信実現ステップとを有することを特徴とする入力操作簡略化方法が提供される。
【００１０】
さらに、上記入力操作簡略化方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１１】
本発明によれば、複数のアプリケーションソフトウェア間で同一の機能を同一の入力操作で利用することを可能にする所定の制御方式を採用し、複数のアプリケーションソフトウェアを並行して実行することが可能な情報処理装置において、各アプリケーションソフトウェアでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションソフトウェアでそれぞれ行われるべき入力操作との対応関係を示す情報を、アプリケーションソフトウェアごとに記憶装置に格納しておく。そこで、第１の認識ステップによって、入力されたキー操作イベントに対応する前記所定の制御方式における機能を認識し、第２の認識ステップによって、前記入力されたキー操作イベントが入力された時点でアクティブになっていたアプリケーションソフトウェアを認識する。そして、前記第２の認識ステップによって認識されたアプリケーションソフトウェアに対応する前記記憶装置に格納された対応関係情報から、前記第１の認識ステップによって認識された機能に対応する入力操作情報を読み出し、該入力操作情報を前記第２の認識ステップによって認識されたアプリケーションソフトウェアに送信し、該アプリケーションソフトウェアに該入力操作情報に応じた機能を実現させる。
【００１２】
これにより、複数のアプリケーションソフトウェアが並行して動作しているときに、各アプリケーションソフトウェアによって実現される同一の機能を、ユーザが同一の入力操作で呼び出すことが可能となり、ユーザがアプリケーションソフトウェア毎に異なる入力操作を行なうことを意識する必要性がなくなり、操作の混乱を防ぐことができる。また、既存のアプリケーションソフトウェアにおいても、新しいアプリケーションフレームワークで規定された方法で作成し直す必要がないため、修正する手間が削減され、コストの発生を抑えることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
【００１４】
図１は、本発明の一実施の形態に係る情報処理装置を適用した拡張画像処理システムを含むネットワーク環境の構成を示す模式図である。
【００１５】
拡張画像処理システム１０は、画像処理装置１００と拡張コントローラ１０３とから構成されるシステムである。画像処理装置１００は、印刷、画像入力、文書ファイリング、文書送受信、画像変換等の機能を有し、拡張コントローラ１０３は、こうした機能を有する画像処理装置１００がさらに拡張された機能を提供できるようにする。画像処理装置１００と拡張コントローラ１０３とは、それぞれＬＡＮ４００に接続され、ＬＡＮ４００を介して他のネットワークノードと通信する。
【００１６】
クライアントパーソナルコンピュータ（ＰＣ）１１は個人向けの情報処理装置であり、主にユーザの机上に置かれ、各種のアプリケーションプログラムがクライアントＰＣ１１上で実行される。クライアントＰＣ１１は、ＬＡＮ４００に接続され、ＬＡＮ４００を介して、他のネットワークノードが提供するサービスを利用したり、他のネットワークノードにサービスを提供したりする。
【００１７】
サーバコンピュータ１２は大規模な情報処理装置であり、ＬＡＮ４００に接続され、ＬＡＮ４００を介して主に他のネットワークノードに対するサービスを提供する。
【００１８】
プリンタ１３はネットワーク対応の周辺機器であり、ＬＡＮ４００に接続され、ＬＡＮ４００を介して他のネットワークノードに対して画像形成のサービスを提供する。
【００１９】
ルータ１５は、ネットワークどうしを接続するネットワークノードであり、インターネットやバーチャルプライベートネットワークなどの広域ネットワーク１６とＬＡＮ４００とを接続する。
【００２０】
ＬＡＮ４００は、オフィスなどに敷設されたローカルエリアネットワークである。
【００２１】
図２は、画像処理装置１００と拡張コントローラ１０３の組み合わせによって構成された拡張画像処理システム１０の構成を示すブロック図である。
【００２２】
画像処理装置１００は、リーダ部（画像入力装置）２００とプリンタ部（画像出力装置）３００と制御装置（コントローラ部）１１０と操作部１５０とで構成され、印刷、画像入力、文書ファイリング、文書送受信、画像変換などの各種の基本的な画像処理機能を提供する。
【００２３】
リーダ部２００は、原稿画像を光学的に読み取り、画像データに変換する。リーダ部２００は、原稿を読取るための機能を持つスキャナユニット２１０と、原稿用紙を搬送するための機能を持つ原稿給紙ユニット（ＤＦユニット）２５０とで構成される。
【００２４】
プリンタ部３００は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部３００は、複数種類の記録紙カセットを持つ給紙ユニット３６０と、画像データを記録紙に転写、定着させる機能を持つマーキングユニット３１０と、印字された記録紙をソート、ステイプルして機外へ出力する機能を持つ排紙ユニット３７０とで構成される。
【００２５】
制御装置１１０は、リーダ部２００及びプリンタ部３００と電気的に接続され、さらにＬＡＮ４００に接続されている。制御装置１１０は、リーダ部２００を制御して、原稿の画像データを読込み、プリンタ部３００を制御して画像データを記録用紙に出力してコピー機能を提供する。また、リーダ部２００で読み取られた画像データを、コードデータに変換し、ＬＡＮ４００を介して図示しないホストコンピュータへ送信するスキャナ機能、ホストコンピュータからＬＡＮ４００を介して受信したコードデータを画像データに変換し、プリンタ部３００に出力するプリンタ機能を提供する。
【００２６】
操作部１５０は、制御装置１１０に接続され、液晶タッチパネルで構成され、画像処理装置１００を入出力操作するためのユーザＩ／Ｆを提供する。
【００２７】
拡張コントローラ１０３は、制御装置（コントローラ部）１７０と操作部１７１と周辺機器１７２とから構成される。制御装置１７０は、一般的なパーソナルコンピュータと同等のハードウェアアーキテクチャで構成され、汎用オペレーティングシステムや各種デバイスドライバや各種アプリケーションプログラムを含む一般的なソフトウェアを実行することができる。操作部１７１は、ユーザが拡張コントローラ１０３を操作するためのユーザインタフェースを提供する。周辺機器１７２は、一般的なパーソナルコンピュータ用に提供されている各種の周辺機器であり、制御装置１７０のハードウェアを拡張する。
【００２８】
画像処理装置１００と拡張コントローラ１０３とは、ＬＡＮ４００を介して接続され、相互に通信できる。ローカルインタフェース２０１は、画像処理装置１００と拡張コントローラ１０３との間に専用の通信経路を提供するためのオプションインタフェースであり、ＵＳＢや専用バスなどによって実装される。
【００２９】
図３は、画像処理装置１００と拡張コントローラ１０３の組み合わせによって構成された拡張画像処理システム１０の外観を示す斜視図である。
【００３０】
画像処理装置１００は、各種の画像処理機能を提供する複合機である。拡張コントローラ１０３の制御装置１７０は、画像処理装置１００の背面に設置される。拡張コントローラ１０３の操作部１７１は、透明タッチパネルを表面に貼った液晶ディスプレイであり、制御装置１７０と電気的に接続されている。拡張コントローラ１０３の周辺機器１７２は、制御装置１７０と電気的に接続されたＩ／Ｏ装置であり、たとえばＩＣカードリーダライタ、メモリメディアドライブなどである。操作部１７１と周辺機器１７２とは、専用スタンドに設置され、画像処理装置１００の前に立ったユーザによって容易に操作できるように配置されている。
【００３１】
図４は、画像処理装置１００の制御装置１１０のハードウェア構成を示すブロック図である。
【００３２】
メインコントローラ１１１は、主にＣＰＵ１１２と、バスコントローラ１１３と、各種Ｉ／Ｆコントローラ回路（図示せず）とから構成される。
【００３３】
ＣＰＵ１１２とバスコントローラ１１３は、制御装置１１０全体の動作を制御するものであり、ＣＰＵ１１２は、ＲＯＭ１１４からＲＯＭ−Ｉ／Ｆ１１５を経由してプログラムを読み込んで、該プログラムに基づいて動作する。またＣＰＵ１１２は、ホストコンピュータから受信したＰＤＬ（ページ記述言語）コードデータを解釈し、ラスターイメージデータに展開する動作を、ＲＯＭ１１４から読み込んだプログラムに基づいて実行する。バスコントローラ１１３は、各Ｉ／Ｆから入出力されるデータの転送を制御するものであり、バス競合時の調停やＤＭＡデータ転送の制御を行う。
【００３４】
ＤＲＡＭ１１６は、ＤＲＡＭ−Ｉ／Ｆ１１７によってメインコントローラ１１１と接続されており、ＣＰＵ１１２が動作するためのワークエリアや、画像データを蓄積するためのエリアを提供する。
【００３５】
Ｃｏｄｅｃ１１８は、ＤＲＡＭ１１６に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧ／ＪＰＥＧ等の方式で圧縮し、また逆に圧縮され蓄積されたコードデータをラスターイメージデータに伸長する。ＳＲＡＭ１１９は、Ｃｏｄｅｃ１１８の一時的なワーク領域として使用される。Ｃｏｄｅｃ１１８は、Ｉ／Ｆ１２０を介してメインコントローラ１１１と接続され、ＤＲＡＭ１１６との間のデータの転送は、バスコントローラ１１３によって制御され、ＤＭＡ転送される。
【００３６】
グラフィックプロセッサ１３５は、画像回転、変倍処理、色空間変換等の処理を行う。
【００３７】
外部通信Ｉ／Ｆ１２１は、Ｉ／Ｆ１２３によってメインコントローラ１１１と接続され、コネクタ１２２によって外部ネットワークと接続される。
【００３８】
汎用高速バス１２５には、拡張ボードを接続するための拡張コネクタ１２４とＩ／Ｏ制御部１２６とが接続される。汎用高速バス１２５はＰＣＩバスで構成される。
【００３９】
Ｉ／Ｏ制御部１２６には、リーダ部２００及びプリンタ部３００の各ＣＰＵと制御コマンドを送受信するための調歩同期シリアル通信コントローラ１２７が２チャンネル装備されており、Ｉ／Ｏバス１２８によってスキャナＩ／Ｆ１４０及びプリンタＩ／Ｆ１４５に接続されている。
【００４０】
パネルＩ／Ｆ１３２は、ＬＣＤコントローラ１３１に接続され、操作部１５０上の液晶画面に表示を行うためのＩ／Ｆと、ハードキーやタッチパネルキーからの入力信号を受け付けるためのキー入力Ｉ／Ｆ１３０とから構成される。
【００４１】
操作部１５０は、液晶表示部と、液晶表示部上に張り付けられたタッチパネル入力装置と、複数個のハードキーとを有する。タッチパネルまたはハードキーにより入力された信号は、前述したパネルＩ／Ｆ１３２を介してＣＰＵ１１２に伝えられ、一方、液晶表示部には、パネルＩ／Ｆ５２０から送られてきた画像データが表示される。また液晶表示部には、本画像処理装置１００の操作における機能表示や画像データ等を表示する。
【００４２】
リアルタイムクロックモジュール１３３は、機器内で管理する日付と時刻を更新／保存するためのもので、バックアップ用電池１３４によってバックアップされている。
【００４３】
Ｅ−ＩＤＥインタフェース１６１は、外部記憶装置を接続するためのものである。本実施の形態においては、このＥ−ＩＤＥインタフェース１６１を介してハードディスクドライブ１６０を接続し、Ｅ−ＩＤＥインタフェース１６１が、ハードディスク１６２へ画像データを記憶させたり、ハードディスク１６２から画像データを読み出したりする。
【００４４】
コネクタ１４２とコネクタ１４７とは、それぞれリーダ部２００とプリンタ部３００とに接続され、調歩同期シリアルＩ／Ｆ１４３，１４８とビデオＩ／Ｆ１４４，１４９とから構成される。
【００４５】
スキャナＩ／Ｆ１４０は、コネクタ１４２を介してリーダ部２００と接続され、また、スキャナバス１４１によってメインコントローラ１１１と接続される。スキャナＩ／Ｆ１４０は、リーダ部２００から受け取った画像に対して所定の処理を施す機能を有し、さらに、リーダ部２００から送られたビデオ制御信号を基に制御信号を生成し、この制御信号をスキャナバス１４１に出力する機能も有する。
【００４６】
スキャナバス１４１からＤＲＡＭ１１６に対してデータ転送が行なわれるが、このデータ転送はバスコントローラ１１３によって制御される。
【００４７】
プリンタＩ／Ｆ１４５は、コネクタ１４７を介してプリンタ部３００と接続され、また、プリンタバス１４６によってメインコントローラ１１１と接続される。プリンタＩ／Ｆ１４５は、メインコントローラ１１１から出力された画像データに所定の処理を施して、プリンタ部３００へ出力する機能を有し、さらに、プリンタ部３００から送られたビデオ制御信号を基に制御信号を生成し、これをプリンタバス１４６に出力する機能も有する。
【００４８】
ＤＲＡＭ１１６上に展開されたラスターイメージデータのプリンタ部への転送は、バスコントローラ１１３によって制御され、プリンタバス１４６およびビデオＩ／Ｆ１４９を経由して、プリンタ部３００へＤＭＡ転送される。
【００４９】
図５は、画像処理装置１００の制御装置１１０で実行されるソフトウェアのモジュール構造を示すブロック図である。
【００５０】
画像処理装置１００に内蔵される制御装置１１０によって実行ソフトウェアは、いわゆるファームウェアとして実装されており、制御装置１１０のＣＰＵ１１２によって実行される。
【００５１】
リアルタイムＯＳ（オペレーティングシステム）５００１は、組み込みシステムの制御用に最適化された各種資源管理のサービスと枠組みとを、リアルタイムＯＳ５００１上で動作するソフトウェアのために提供する。リアルタイムＯＳ５００１が提供する各種資源管理のサービスと枠組みには、ＣＰＵ１１２による処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるためのマルチタスク管理（スレッド管理）、タスク間の同期やデータ交換を実現するためのタスク間通信、メモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタックなどがある。
【００５２】
ファイルシステム５００２は、ハードディスクやメモリなどの記憶装置上に構築され、データを格納するための機構である。画像処理装置１００の制御装置１１０が扱うジョブをスプールしたり各種データを保存したりするために用いられる。
【００５３】
ジョブ制御・装置制御モジュール５００３は、画像処理装置１００のハードウェアを制御し、また、画像処理装置１００の主にハードウェアが提供する基本機能（プリント、スキャン、通信、画像変換など）を利用するジョブを制御する。
【００５４】
管理モジュール５００４は、画像処理装置１００の制御装置１１０の動作に係る内部状態を制御するなど、制御装置１１０の動作を管理する。
【００５５】
制御ＡＰＩ５００５は、制御ＡＰＩ５００５の配置される階層よりも下位のソフトウェアモジュール群が提供するサービスを、この階層よりも上位の組み込みアプリケーション群が利用するために設けられたアプリケーションプログラミングインタフェースである。
【００５６】
ネットワークサービス（モジュール）５００６は、制御ＡＰＩ５００５とネットワークプロトコルとを相互変換するものであり、クライアントＰＣ１１など外部のネットワークノードから画像処理装置１００の基本機能を利用可能とする。また、特にネットワークプリントのための各種プロトコル（ＬＰＲ、ＮｅｔＷａｒｅ、ＳＭＢ、ＰＡＰ、ＩＰＰなど）を実装したネットワークサーバ機能を備え、クライアントＰＣ１１など外部のネットワークノードからのプリントジョブの投入を可能とする。
【００５７】
組み込みアプリケーションロジック５００７、プレゼンテーションインタフェース５００８、組み込みアプリケーションＵＩ５００９は、組み込みアプリケーションを構成する。組み込みアプリケーションは、画像処理装置１００の基本機能に加えてさらにコピー、画像スキャン、文書送受信、文書ファイリングなどの上位機能を、制御ＡＰＩ５００５の基本機能を利用して実現する。
【００５８】
組み込みアプリケーションロジック５００７は、組み込みアプリケーションのビジネスロジック部分に相当する。プレゼンテーションインタフェース５００８は、組み込みアプリケーションのビジネスロジックとプレゼンテーションロジックとを分離するために設けられたインタフェースである。組み込みアプリケーションＵＩ５００９は、組み込みアプリケーションのプレゼンテーションロジックに相当し、ユーザによる組み込みアプリケーションの操作を可能とするために、グラフィカルユーザインタフェース（ＧＵＩ）の表示や入力の制御を行う。また、組み込みアプリケーションＵＩ５００９は、画像処理装置１００の操作部１５０上にローカルなユーザインタフェースを提供するだけでなく、ＨＴＭＬなどのマークアップ言語とＨＴＴＰなどのＷｅｂ技術とを用いて実現されるＷｅｂアプリケーションも提供する。ユーザは、クライアントＰＣ１１などの上で動作するＷｅｂブラウザからこのＷｅｂアプリケーションに接続して、画像処理装置１００を遠隔操作できる。Ｗｅｂアプリケーションとして実装した組み込みアプリケーションのプレゼンテーション層のことを、ここではリモートＵＩと呼ぶ。
【００５９】
組み込みＪａｖａ（登録商標）環境（モジュール）５０１０は、Ｊａｖａ（登録商標）仮想機械を中心に構成されるインタプリタ環境モジュールである。組み込みＪａｖａ（登録商標）環境５０１０は、Ｊａｖａ（登録商標）のバイトコードで記述された命令列データを実行時に読み込み結合し、Ｊａｖａ（登録商標）仮想機械が命令を逐次的に読み込み解釈し実行するように構成されている。したがって、リアルタイムＯＳ５００１も含めて、あらかじめ全体が単一のロードモジュールに静的結合されているファームウェア上にあって、ごく部分的ながらソフトウェアを動的に追加したり入れ替えたりできる拡張性や柔軟性を確保できる。リアルタイムＯＳ５００１やジョブ制御・装置制御モジュール５００３、制御ＡＰＩ５００５などを含むファームウェア（ネイティブシステム）の資源やサービスをＪａｖａ（登録商標）のプログラムから利用可能なように構成したＪａｖａ（登録商標）のクラスライブラリ群が、Java（登録商標） Native Interface（ＪＮＩ）によって提供されている。組み込みＪａｖａ（登録商標）環境５０１０の基本部分は、よく知られているJava（登録商標） 2 Platform, Micro Editionによって構築されている。
【００６０】
図６は、画像処理装置１００の操作部１５０の表示部に表示される基本画面を示す図である。
【００６１】
なお、この表示部はタッチパネルで構成されており、タッチパネルにそれぞれ表示される機能表示部分の枠内を触れることにより、その機能が実行されるようになっている。
【００６２】
コピーモードキー５２４は、複写動作を行う場合に押すキーである。そして、このコピーモードキー５２４が押されたときに、画面表示部５３０にコピーモードの画面が表示される（図６ではコピーモードの画面が表示されている）。拡張機能キー５０１は、両面複写、多重複写、移動、綴じ代の設定、枠消しの設定等の各モードを設定するために操作されるキーである。
【００６３】
５４０はステータスラインであり、画像処理装置１００の状態や印刷情報を示すメッセージが表示される。図６に示す例では、コピー待機中であることを示している。
【００６４】
画像モードキー５０２は、複写画像に対して網掛け、影付け、トリミング、マスキングを行うための設定モードを設定する場合に操作されるキーである。ユーザモードキー５０３は、モードメモリの登録、標準モード画面の表示を設定する場合に操作されるキーである。応用ズームキー５０４は、原稿のＸ方向、Ｙ方向を独立に変倍するモード、原稿サイズと複写サイズから変倍率を計算するズームプログラムのモードを設定する場合に操作されるキーである。Ｍ１キー５０５、Ｍ２キー５０６、Ｍ３キー５０７は、それぞれに予め登録されたモードメモリを呼び出す際に押されるキーである。オプションキー５０９は、フィルムから直接複写するため、フィルムプロジェクタ等のオプション機能の設定を行う場合に操作されるキーである。ソータキー５１０は、ソート、ノンソート、グループの設定を行う場合に操作されるキーである。原稿混載キー５１１は、原稿フィーダにＡ４サイズとＡ３サイズ、またはＢ５サイズとＢ４サイズの原稿を一緒にセットする際に押されるキーである。
【００６５】
等倍キー５１２は、複写倍率を１００％に設定する場合に操作されるキーである。縮小キー５１４、拡大キー５１５は、定型の縮小、拡大を行う際に押されるキーである。用紙選択キー５１３は、複写用紙の選択を行う際に押されるキーである。濃度キー５１８、５２０は、複写印刷濃度を調整するためのキーであり、キー５１８を押す毎に順次濃く複写され、キー５２０を押す毎に順次薄く複写される。濃度表示部５１７は、濃度キー５１８、５２０による設定濃度をバーの位置で表示する。ＡＥキー５１９は、新聞のように地肌の濃い原稿を自動濃度調整複写するときに押されるキーである。ＨｉＦｉキー５２１は、写真原稿のように中間調の濃度を再現したい原稿の複写の際に押されるキーである。文字強調キー５２２は、文字原稿の複写において、文字を際だたせたい場合に押されるキーである。
【００６６】
５６０は履歴キーであり、これを押下することで、処理済みの印刷ジョブの履歴情報を表示する。たとえば、印刷ジョブの終了時刻、ユーザ名、ファイル名、印刷枚数等の情報を表示する。６００はプリンタ選択キーであり、リモートコピーや重連コピーを行う場合の受信側複写機を選択する際に押されるキーである。
【００６７】
ガイドキー５２３は、キーの機能がわからないとき押されるキーであり、指定のキーの機能の説明が画面表示部５３０に表示される。ファックスキー５２５は、ファックスを行うときに押されるキーであり、Ｂｏｘキー５２６は、Ｂｏｘ機能を表示させたいときに押されるキーである。プリンタキー５２７は、プリントの濃度を変更したり、リモートのホストコンピュータから送られたＰＤＬデータのプリント出力詳細情報を参照したい場合に押されるキーである。
【００６８】
図７は、拡張コントローラ１０３のハードウェア構成を示すブロック図である。
【００６９】
制御装置１７０のメインＣＰＵ４１０１は、拡張コントローラ１０３全体の制御を行う中央演算装置であり、ＲＯＭ４１０５およびハードディスクユニット４１０６に記憶されたプログラムを実行する。ネットワークインタフェース４１０２は、他の機器との間でネットワークを介したデータ通信を行うための制御部である。ＣＰＵ４１０１によって実行されるソフトウェアは、ＬＡＮ４００を介して、印刷デバイスや他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行うことができる。
【００７０】
周辺インタフェース４１０３は、周辺機器１７２の制御を行うための制御部である。メモリ４１０４は、ＣＰＵ４１０１で実行する命令やデータなどを保存するための揮発性の記憶部である。ＲＯＭ４１０５は、基本的なハードウェア制御を行うためのプログラムやデータなどを保存するための読み取り専用記憶部である。ハードディスクユニット４１０６は、制御装置１７０で実行されるプログラムや演算されたデータなどを保存するための不揮発性の記憶部である。ハードディスクユニット４１０６は、ブートプログラム（起動プログラム：ハードウェアやソフトウェアの実行を開始させるためのプログラム）、複数のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム等を記憶する。
【００７１】
ディスプレイインタフェース４１０７は、拡張コントローラ１０３の内部状態や、実行状態などを表示するための操作部１７１の液晶ディスプレイ４２０３を接続するため制御部である。キーボードインタフェース４１０８やマウスインタフェース４１０９は、制御装置１７０に対してユーザがデータや命令を入力するための入力装置を制御する。周辺機器インタフェース４１０３は、ＵＳＢ、ＲＳ−２３２Ｃシリアル、ＩＥＥＥ１３９４などの仕様を実装した、周辺機器１７２を接続するための制御部である。周辺機器１７２は、例えば、ＣＤ−ＲＯＭドライブやメモリメディアドライブなどの外部記憶装置や、ユーザを特定するためのユーザ認証装置などである。
【００７２】
操作部１７１は、液晶ディスプレイ４２０３と該液晶ディスプレイ４２０３の表面に貼られた透明なシート状のタッチパネル４２０２とから構成される。タッチパネル４２０２はポインティングデバイスである。ＣＰＵ４１０１で実行されるソフトウェアは、タッチパネル４２０２に対してユーザがタッチして指定した液晶ディスプレイ４２０３の表示位置を座標データとして検出することができる。タッチパネル４２０２は周辺機器インタフェース４１０３によって駆動される。液晶ディスプレイ４２０３は、拡張コントローラ１０３の内部状態や実行状態などを表示するための表示部である。ＣＰＵ４１０１で実行されるソフトウェアは、液晶ディスプレイ４２０３上にグラフィカルユーザインタフェースを描画できる。液晶ディスプレイ４２０３はディスプレイインタフェース４１０７によって駆動される。
【００７３】
図８は、拡張コントローラ１０３内のアプリケーションプログラムが画像処理装置１００とインタフェースするためのＡＰＩ（Application Program Interface）を示すブロック図である。
【００７４】
図８に示すブロックは、拡張コントローラ１０３のＣＰＵ４１０１によって実行されるソフトウェアのプログラムモジュールに対応する。
【００７５】
アプリケーション８００１は、拡張コントローラ１０３で実行される各種アプリケーションに対応する。
【００７６】
ＡＰＩ８００２は、アプリケーション８００１が画像処理装置１００の制御装置１１０上のソフトウェアとインタフェースするためのアプリケーションプログラムインタフェースである。
【００７７】
プリンタドライバ８００３は、アプリケーション８００１によるプリントを可能にするモジュールである。プリントを実現するために、プリントサービスのプロトコルに従って実装されたクライアントとして、画像処理装置１００のネットワークサービス５００６とインタフェースする。
【００７８】
スキャナドライバ８００４は、アプリケーション８００１による画像スキャンを可能にするモジュールである。スキャンを実現するために、画像処理装置１００内の制御ＡＰＩ５００５に相当するプロトコルにしたがって実装されたクライアントとして、制御ＡＰＩ５００５とインタフェースする。
【００７９】
ジョブ制御・装置制御インタフェース８００５は、アプリケーション８００１による基本的なジョブ制御と装置制御を可能にするモジュールである。基本的なジョブ制御と装置制御を実現するために、画像処理装置１００内の制御ＡＰＩ５００５に相当するプロトコルに従って実装されたクライアントとして、制御ＡＰＩ５００５とインタフェースする。
【００８０】
プレゼンテーション拡張インタフェース８００６は、アプリケーション８００１による画像処理装置１００内の組み込みアプリケーションＵＩ５００９の拡張を可能にするためのモジュールである。このプレゼンテーション拡張インタフェース８００６は、画像処理装置１００内のプレゼンテーションインタフェース５００８に相当するプロトコルに従って実装されたクライアントとして、プレゼンテーションインタフェース５００８とインタフェースする。このプレゼンテーション拡張インタフェース８００６が提供するＡＰＩによって、拡張コントローラ１０３内のアプリケーション８００１は、画像処理装置１００に組み込まれた組み込みアプリケーションＵＩ５００９に相当するプレゼンテーションロジック（つまりアプリケーションのＵＩ）を実装することができる。また、アプリケーション８００１の実装次第で、組み込みアプリケーションＵＩ５００９にはない機能を拡張したりカスタマイズしたりすることもできる。
【００８１】
組み込みアプリケーション拡張インタフェース８００７は、アプリケーション８００１による画像処理装置１００内の組み込みアプリケーションロジック５００７のカスタマイズを可能にするためのモジュールである。この組み込みアプリケーション拡張インタフェース８００７は、組み込みアプリケーションロジック５００７が備えるプラグインのためのインタフェース（不図示）に相当するプロトコルに従って実装されたクライアントであり、組み込みアプリケーションロジック５００７とインタフェースする。この組み込みアプリケーション拡張インタフェース８００７が提供するＡＰＩによって、拡張コントローラ１０３内のアプリケーション８００１は、画像処理装置１００に組み込まれた組み込みアプリケーションロジック５００７の一部を置き換えたり拡張したりするプラグインを実装することができる。
【００８２】
画像ジョブ制御インタフェース８００８は、アプリケーション８００１による特に高速の画像処理を可能にするためのモジュールである。この画像ジョブ制御インタフェース８００８は、画像処理装置１００のジョブ制御・装置制御モジュール５００３の内部ＡＰＩに相当するプロトコルに従って実装されたクライアントであり、また、ローカルインタフェース２０１による画像転送を組み合わせることによって、拡張コントローラ１０３と画像処理装置１００との間で画像や文書をやり取りするジョブの高速化を達成する。
【００８３】
図９は、拡張コントローラ１０３で実行されるソフトウェアのモジュール群の階層構造を示すブロック図である。
【００８４】
汎用オペレーティングシステム（ＯＳ）９００１は、拡張コントローラ１０３のオペレーティングシステムである。汎用ＯＳ９００１は、リアルタイムＯＳ５００１と異なり、主に情報処理装置やコンピュータの土台を提供するソフトウェアとして開発されてきたものである。汎用ＯＳ９００１の例として、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｓｏｌａｒｉｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、ＦｒｅｅＢＳＤ、ＮｅｔＢＳＤ、ＯｐｅｎＢＳＤなどがある。汎用ＯＳ９００１は、拡張コントローラ１０３が備えるハードウェア的およびソフトウェア的な各種資源を抽象化して、より上位のソフトウェアから拡張コントローラ１０３を容易かつ効率的に利用できるようにしている。汎用ＯＳ９００１が提供する機能には、例えば以下のようなものがある。
【００８５】
すなわち、ＣＰＵ４１０１による処理の実行コンテクストを複数管理することによって複数の処理を実質的に並行動作させるマルチプロセス機能やスレッド機能、プロセス間およびスレッド間の同期やデータ交換を実現するプロセス間通信やスレッド間通信、プロセスごとに保護されたメモリ管理、割り込み管理、各種のデバイスドライバ、ローカルインタフェースやネットワークや通信などの各種プロトコルの処理を実装したプロトコルスタックなどが挙げられる。なお特筆すべきは、市販されている一般のコンピュータ周辺機器のデバイスドライバは、汎用ＯＳ用のものが多く提供されていることである。この理由は、一般にコンピュータ周辺機器は、汎用ＯＳが稼動するパーソナルコンピュータなど汎用の情報処理装置のために開発されているためである。そのため、汎用ＯＳを採用することで、市場に出回っている多種多様なコンピュータ周辺機器のハードウェアとデバイスドライバとをそのまま、または比較的容易に、拡張コントローラ１０３のために流用することができる。拡張コントローラ１０３は、画像処理装置１００の拡張性や柔軟性を補うために付加されるアクセサリであるが、汎用ＯＳ９００１を採用することによって、汎用の情報処理装置と同等のハードウェア構成を採用することができるとともに、ソフトウェア的にも、画像処理装置１００の拡張性や柔軟性をより効率的に補うことができる。
【００８６】
拡張コントローラプラットフォーム９００２は、拡張コントローラ１０３のソフトウェアの動作環境を提供する土台となるソフトウェア（ライブラリ、フレームワーク、およびランタイムモジュールなど）である。また、拡張コントローラプラットフォーム９００２は、画像処理装置１００に内蔵された組み込みアプリケーションと連携するアプリケーションを拡張コントローラ１０３内に容易に構築可能とするためのユーティリティライブラリ、フレームワーク、およびランタイムモジュール群を含む。
【００８７】
システムアプリケーション９００４は、拡張コントローラ１０３に標準搭載されるユーティリティアプリケーション群であり、ユーザによる拡張画像処理システム１０の利用や管理を助けるものである。
【００８８】
ユーザランドアプリケーション９００５に分類されるアプリケーション群は、拡張画像処理システム１０の拡張された機能をユーザに提供するためのアプリケーション群である。ユーザランドアプリケーション９００５に分類されるアプリケーションは、アプリケーションを単位としてインストールによって追加することも、アンインストールによって削除することも可能である。また、アプリケーションプログラムの実体のインストール及びアンインストールだけでなく、ユーザがそのアプリケーションプログラムを実行する許諾（ライセンス）を購入したときのみ、該アプリケーションを活性化（アクティベート）するように制御することもできる。
【００８９】
ＭＦＰ統合アプリケーション９００６は、画像処理装置１００の組み込みアプリケーションに対応するユーザランドアプリケーションであり、画像処理装置１００が提供する上位機能や基本機能を拡張コントローラ１０３から利用可能にする。ＭＦＰ統合アプリケーション９００６は、プレゼンテーション拡張インタフェース８００６や組み込みアプリケーション拡張インタフェース８００７によって、画像処理装置１００の組み込みアプリケーションとインタフェースする。ＭＦＰ統合アプリケーション９００６は、単に画像処理装置１００の組み込みアプリケーションとまったく同様な機能性やユーザインタフェースを提供するだけでなく、それらを拡張して提供することもできる。ＭＦＰ統合アプリケーション９００６は、９００７〜９０１２で示すアプリケーション部品を内部に含み統合している。
【００９０】
コピー９００７は、画像処理装置１００の組み込みアプリケーションの一機能であるコピー機能に相当するアプリケーション部品である。
【００９１】
ボックス９００８は、画像処理装置１００の組み込みアプリケーションの一機能である文書ファイリング機能に相当するアプリケーション部品である。
【００９２】
送信９００９は、画像処理装置１００の組み込みアプリケーションの一機能である文書送受信機能に相当するアプリケーション部品である。
【００９３】
ポータル９０１０は、ユーザの好みに応じて、よく使う機能や定型処理を簡単に呼び出すための入り口を提供するアプリケーション部品である。ポータル９０１０は、ＭＦＰ統合アプリケーション９００６の各アプリケーション部品に対して横断的に、動作パラメータの設定や一連の操作などをマクロ化し、複数のマクロを実行するためのカスタマイズボタン群を自在に配置可能なユーザインタフェースを提供する。
【００９４】
本体ジョブモニタ９０１１は、画像処理装置１００内部で実行中のジョブの状況や完了したジョブの履歴などを参照するときに使用されるアプリケーション部品である。
【００９５】
デバイス管理９０１２は、画像処理装置１００のハードウェアを管理するためのユーザインタフェースを提供するアプリケーション部品である。
【００９６】
メモリメディア操作９０１３は、拡張コントローラ１０３に周辺機器として接続された各種のリムーバブルストレージ（光磁気メディアドライブ、ＵＳＢストレージ、スマートカードやコンパクトフラッシュ（登録商標）に代表されるメモリカードなど）の操作を行うためのユーザランドアプリケーションである。メモリメディア内部に格納された文書を画像処理装置１００に引き渡してプリント、送信、またはファイリングしたり、画像処理装置１００が画像スキャンまたは受信した文書やファイリングされていた文書を受け取ってメモリメディアに格納したりすることができる。
【００９７】
暗号化セキュアプリント９０１４は、クライアントＰＣ１１から暗号化されたプリント要求を受信した場合に、暗号化されたままいったん格納し、許可されたユーザによる操作であることがユーザ認証された場合のみ、該プリント要求を復号化して画像処理装置１００へ送るという、暗号化留め置きプリント機能を提供するユーザランドアプリケーションである。
【００９８】
ブラウザ９０１５は、拡張コントローラ１０３の操作部でＷｅｂなどのブラウジング機能を提供するユーザランドアプリケーションである。
【００９９】
９０１６、９０１７、９０１８は、上記以外の他のユーザランドアプリケーションである。前述したように、ユーザランドアプリケーション９００５では柔軟に追加や削除または活性化や不活性化を行うことができる。
【０１００】
図１０は、拡張コントローラ１０３のシステムアプリケーション９００４の構成を示すブロック図である。
【０１０１】
拡張コントローラ１０３のシステムアプリケーション９００４として分類されるソフトウェアモジュール（パッケージ）には、以下のユーティリティプログラムやランタイムモジュールなどが含まれる。
【０１０２】
ファンクションキーパネル（モジュール）１０００１は、機能メニューやソフトウェアキー等を拡張コントローラ１０３の操作部１７１の表示部のデスクトップに配置するフレームワークとコンテナである。ファンクションキーとして以下を配置することができる。
【０１０３】
システム既定のキー（たとえばログアウト、シャットダウン、カウンタ確認、余熱、システム状況、システム設定、スクリーンキーボード呼び出し）、
選択中のアプリケーションに応じて動作が切り替わるアプリケーションコンテキストキー（たとえばガイド、アプリケーション設定、アプリケーション状況）、
選択中のアプリケーションがその操作を助けるために追加配置するカレントアプリケーション追加キー（たとえばアプリケーション内部の固有メニューの一部をキーとして展開配置したもの）など。
【０１０４】
キーのレイアウトとルック＆フィールは、ユーザの好みに応じてカスタマイズ（パーソナライズ）できる。ファンクションキーパネル１０００１のルック＆フィールは、システム全体のテーマと連動して切り替わる。例えば高コントラストや反転などのテーマが選ばれると、ファンクションキーパネル１０００１の表示もそれぞれの特性を反映するように切り替わる。ファンクションキーパネル１０００１には、ソフトウェアキーやメニューだけでなく、時計やメール着信フラグなどのアプリケーションコンポーネントも配置できる。また、ユーザの利用状況に応じて、ファンクションキーパネル１０００１に「ユーザモード」、「キーボード」、「操作パネル」、「ガイド」、「アバウト」および「リセット」と名づけられたキーが配置される。
【０１０５】
「ユーザモード」キーは、選択中のカレントアプリケーションに対して環境設定ダイアログを開くことを指示するか、または、システムアプリケーションのひとつであるシステム環境設定１０００９を起動する。
【０１０６】
「キーボード」キーは、システムアプリケーションのひとつであるスクリーンキーボード１０００２の起動を指示する。
【０１０７】
「操作パネル」キーは、システムアプリケーションのひとつである操作パネルエミュレータ１０００３の起動を指示する。
【０１０８】
「ガイド」キーは、選択中のカレントアプリケーションに対して、システムアプリケーションのひとつであるヘルプを用いて、カレントアプリケーションの動作状況に応じたオンラインマニュアルを表示することを指示する。
【０１０９】
「アバウト」キーは、選択中のカレントアプリケーションに対して、バージョン、開発元、著作権などのアプリケーション情報を表示することを指示するか、あるいは、システム全体に関するモジュールごとのバージョンや著作権情報などを表示することを指示する。
【０１１０】
「リセット」キーは、選択中のカレントアプリケーションに対して、ユーザが途中まで行った一連の操作を取り消して、その時点の状況に応じたひとつ前のチェックポイントまでロールバックすることを指示する。たとえばユーザがテキスト入力フィールドに文字列を入力中にリセットを押下すると、入力途中の文字列がクリアされたり、あるいは文字列の仮名漢字変換途中にリセットを押下すると、変換候補選択状態が解除されて仮名に戻ったり、また、画像処理ジョブの動作パラメータを設定するためのダイアログに対して設定値の変更を施している最中にリセットを押下すると、変更途中の設定はキャンセルされて当初の値に戻ったりする。
【０１１１】
スクリーンキーボード（モジュール）１０００２は、物理的なフルキーボードをエミュレーションするためのソフトウェアキーボードである。タッチパネルを指で操作する際の操作性を最適化してある。拡張コントローラ１０３にはオプションで物理的なキーボードが装着される場合もあることを考慮して、システムのできるだけ低レベルで物理キーボードをエミュレートする（すなわちシステムのほとんどのレベルで、タッチパネルを物理キーボードと区別する必要がないように構成される）。スクリーンキーボード１０００２の表示が、操作部１７１のマルチウィンドウ表示される表示部の最前面を覆うことによって、入力の宛先となるアプリケーションの操作性は低下してしまうが、できるだけ邪魔にならないように配慮され、たとえば、表示・非表示の切り替えや表示位置の移動が指で簡単に操作できる。また操作部１７１の表示部がより高解像度化したとき、指での操作にむかないほどキートップの表示が小さくならないようにするため、スクリーンキーボード１０００２の表示は、解像度とは独立に構成される。スクリーンキーボード１０００２は国際標準化の対象であり、拡張コントローラ１０３の出荷される仕向け地であるロカール（ｌｏｃａｌｅ）に応じて入力言語などを切り替えるようにする。
【０１１２】
操作パネルエミュレータ（モジュール）１０００３は、画像処理装置１００の物理的な操作パネルをエミュレーションするためのソフトウェアパネルである。操作パネルを構成するスタートキー・ストップキー・テンキーなどをソフトウェアによってエミュレートする。各種キーのコンポーネントが押されたとき生成するキーコードは、拡張コントローラ１０３にオプションとして接続される物理的なキーボードが生成するキーコードにマッピングされる。例えば、テンキーのキーが押されたとき、各キーに相当する物理フルキーボードのキーコードが生成される。操作パネルエミュレータ１０００３のＧＵＩはアプリケーションからの要求に応じて表示される。また、ユーザの明示的な操作によって表示させることもできる。操作パネルエミュレータ１０００３は、画像処理装置１００の機種ごとの差異に応じた複数のモードを持つ。例えば、画像処理装置１００がファクス対応機である場合は、ファクス用キー（＊や＃など）を備えたモードで動作する。また、アプリケーションが操作パネルエミュレータ１０００３を呼び出す場合には、アプリケーションからキーごとの表示・非表示を選択できる。
【０１１３】
アイコンボックス（モジュール）１０００４は、カレントアプリケーションを切り替えるためのシステムアプリケーションである。その時点で操作対象とするユーザランドアプリケーションをユーザが選択するためのアプリケーション選択リストのプレゼンテーションロジックを提供する。アイコンボックス１０００４には、アイコン画像、および／または、アプリケーション名がリスト表示され、ユーザがそれらの中から所望のアプリケーションを選択すると、カレントアプリケーションがそのアプリケーションに切り替わる。アプリケーション名は、テキスト及び画像のどちらの形式で与えられても表示できる。テキストは、国際標準化フレームワークに連動したローカライズ対象である。アイコン画像やアプリケーション名のリソースは、各ユーザランドアプリケーションモジュールの中に含まれるリソースを利用する。ユーザがアイコンの表示順序を編集することができる。ルック＆フィールはテーマと連動して切り替わる。
【０１１４】
アイコンボックス１０００４そのものはアプリケーションのセレクタであってラウンチャではない。ただし、ライフサイクル管理の遅延起動機構を提供することにより、アプリケーションは最初に選択されたときに初めて起動されるように登録することもできる。アプリケーションごとの強制終了やアラート表示などの機能を追加してもよい。
【０１１５】
インストーラ（モジュール）１０００５は、拡張コントローラ１０３で実行されるべき各種のソフトウェアを拡張コントローラ１０３にインストールするためのインストーラである。インストール対象のソフトウェアは、ユーザランドアプリケーション、システムアプリケーション、ライブラリ、ドライバ、拡張コントローラプラットフォームのモジュール群などがある。インストールすべきソフトウェアモジュールは、リムーバブルメディアなどローカルファイルシステムから供給されるだけでなく、ネットワーク経由で供給されるようにすることもできる。
【０１１６】
アップデータ（モジュール）１０００６は、拡張コントローラ１０３で実行される各種のソフトウェアをアップデートするためのシステムアプリケーションである。アップデート対象のソフトウェアは、インストーラ１０００５のインストール対象のソフトウェアと同様である。アップデートするソフトウェアモジュールは、ローカルファイルシステム（リムーバブルメディアも含む）から供給されるだけでなく、ネットワーク経由で供給されるようにすることもできる。サーバに存在するアップデート用のデータの更新をネットワーク経由で検出し、更新されていれば管理者ユーザにアップデートを促す機能も有する。
【０１１７】
カウンタ参照（モジュール）１０００７は、カウンタ値を参照するためのシステムアプリケーションである。画像処理装置１００に設けられたカウンタと、拡張コントローラ１０３のアプリケーション利用をカウントするカウンタの両方を参照できる。
【０１１８】
アンチウィルス（モジュール）１０００８は、ウィルス感染の予防と検出、および感染時の修復を行うシステムアプリケーションである。
【０１１９】
システム環境設定（モジュール）１０００９は、拡張コントローラ１０３のシステムソフトウェアやハードウェアの各種の環境設定項目（プリファレンス、プロパティ）を参照したり編集したりするためのシステムアプリケーションである。システム環境設定１０００９は、複数のコンポーネントをプラグイン可能なコンテナであり、各種の環境設定項目は、そのカテゴリに従ってそれぞれを設定するためのコンポーネントによって処理される。設定対象（設定項目）によって、例えばシステム管理者のみが参照可能であったり設定可能であったりというように適切にアクセス制御される。
【０１２０】
テーマ（モジュール）１００１０は、アプリケーションごとに有するカスタマイズ項目（プリファレンス）を、統一感を維持して一元的に設定するための機構を提供するシステムアプリケーションである。例えば、ユーザが自身の好みや身体的特性に合わせて全体的な色調設定やコンポーネントの表示サイズ設定などをテーマとして指定すると、各種アプリケーションはテーマに連動した動作モードで動作する。
【０１２１】
起動アプリケーション選択（モジュール）１００１１は、ユーザ毎に、アプリケーションの起動と停止とを制御するシステムアプリケーションである。ユーザは、システムにインストールされているアプリケーションの一覧からアプリケーションを選択し、該アプリケーションを実行状態に状態遷移させることができる。実際に実行が許可されるかどうかはユーザの権限に基づく。また、実行状態にあるアプリケーションの中からアプリケーションを選択し、停止状態に状態遷移させることができる。システム管理者は、全ユーザに共通の共通設定を行うこともできる。
【０１２２】
ログインダイアログ（モジュール）１００１２は、ログイン機構に対応するシステムアプリケーションである。拡張画像処理システム１０をユーザが利用するユーザセッションの開始に必要なユーザとの対話を行う。必要な対話とは、例えば、システムがユーザに対して求める、ユーザ認証に必要な情報（ドメイン名、ユーザ名、パスワード）のエントリである。ユーザ名のエントリは、テキスト入力だけでなく、より簡易にユーザリストから選択可能なように設定できる。特にゲストユーザ（認証不要のユーザ）による操作を許す運用を行う場合、ゲストユーザによるログイン操作は簡易に行えるように設定できる。ログイン方法の設定変更はシステム管理者ユーザが行う。ユーザがログインしていない状態（ユーザセッション中ではないシステムセッション中）で表示されるユーザインタフェースを備えるので、システムセッションの管理操作（シャットダウンなど）を行うための機能を付加したり、画像処理装置１００の状態表示を行う機能を付加したりする場合もある。ユーザセッションの開始に際して、ＩＣカード（スマートカード）や生体認証などに基づくユーザ認証を行う場合、専用のログインダイアログ実装で置き換えられるように構成されている（ログイン機構の実装も同様に置き換えられる）。
【０１２３】
ユーザ管理（モジュール）１００１３は、拡張画像処理システム１０を利用するユーザの管理とユーザの権限の管理とを行うシステムアプリケーションである。
【０１２４】
アドレス帳（モジュール）１００１４は、システム内部または外部のディレクトリサービスに接続し、ディレクトリ情報を編集操作するためのシステムアプリケーションである。ディレクトリ情報には宛先情報を含むが、これに限定されず、ユーザ、組織、デバイス、あるいはサービスなどの各種エンティティごとに、その諸属性をディレクトリ情報として扱う。
【０１２５】
ステータスティッカ（モジュール）１００１５は、システムとアプリケーションから通知されたステータス情報やメッセージを表示するためのシステムアプリケーションである。テキストやアイコン画像などを表示することができる。ステータスティッカ１００１５は、並行する複数のメッセージ表示要求に対し優先度ベースの調停や時分割表示なども行う。ステータスティッカ１００１５のメッセージ表示は、アニメーションなどによるさまざまな表示を行うようにしてもよい。
【０１２６】
システム状況モニタ（モジュール）１００１６は、拡張コントローラ１０３のハードウェアおよびソフトウェアの両面に関するシステムの状況とアプリケーションの状況を監視するためのシステムアプリケーションである。拡張画像処理システム１０で実行される各種モジュール群のバージョンや著作権などの情報を確認することもできる。
【０１２７】
ログビューア（モジュール）１００１７は、拡張コントローラ１０３および画像処理装置１００のそれぞれのシステムや組み込みアプリケーションが残すログ情報を参照したり管理したりするためのシステムアプリケーションである。
【０１２８】
システムセットアップ（モジュール）１００１８は、拡張画像処理システム１０を設置する際の初期セットアップ手順や、画像処理装置１００を新機種に交換する際のリプレース処理手順、何らかのトラブルによって拡張コントローラ１０３のシステムが破壊され復旧する必要が生じた際の回復手順などを補助するためのユーティリティシステムアプリケーションである。
【０１２９】
バックアップ（モジュール）１００１９は、拡張コントローラ１０３と画像処理装置１００のそれぞれが持つハードディスクや不揮発性メモリに格納されたデータを、拡張コントローラ１０３に接続されたリムーバブルメディア、外部記憶装置、またはネットワークストレージなどの安全な記憶手段に退避し、また退避したデータを元に戻すリストアを行うためのシステムアプリケーションである。
【０１３０】
スクリーンセーバ（モジュール）１００２０は、ユーザが拡張コントローラ１０３の操作部１７１を利用していないときに操作部１７１の表示部の焼きつきを防ぐために表示の制御を行うシステムアプリケーションである。スクリーンセーバ１００２０では、拡張画像処理システム１０の便利な使い方などを紹介するアニメーションを再生することもできる。また、画像処理装置１００での用紙なしなどのアラーム情報を表示したり、システム管理者などが設定したメッセージ（たとえば「定期メンテナンス日時のお知らせ」など）などを掲載した仮想的な伝言板を表示したり、ネットワーク経由でサーバから最新の情報（天気予報やニュースなど）を取得して表示したりすることもできる。複数のユーザが交互にログインして拡張コントローラ１０３を用いる運用形態においては、スクリーンセーバ１００２０は、ユーザがログアウトし忘れて拡張コントローラ１０３の前を離れた場合に、拡張コントローラ１０３を自動的にログアウトさせるためのオートログアウト処理を行う。
【０１３１】
ヘルプシステム（モジュール）１００２１は、拡張画像処理システム１０のシステム全体の利用方法などを解説する文書を表示したり、それぞれのユーザランドアプリケーションがその解説文書を表示することを助けたりするためのシステムアプリケーションである。ヘルプシステム１００２１はまた、システムのモジュールや各アプリケーションモジュールなどがそれぞれモジュール単位で供給した解説文書コンテンツを、システム全体として統合するポータル機能を備える。アプリケーションプログラムからヘルプシステム１００２１に対して、コンテンツ内の任意の箇所をユーザに提示するように指示することが可能である。したがって、アプリケーションはその動作状況に応じて最適な情報をユーザに提示できる。ヘルプシステム１００２１はＷｅｂアプリケーションとして構成されているため、拡張コントローラ１０３の操作部１７１に解説文書を表示するだけでなく、クライアントＰＣ１１などで稼動するＷｅｂブラウザ上に解説文書を表示することもできる。
【０１３２】
文書ビューア（モジュール）１０２２は、テキスト、画像、およびアプリケーション固有の形式の各種フォーマットの文書データを表示するためのシステムアプリケーションである。表示する文書の形式の例には、テキスト、ＨＴＭＬやＸＭＬやＳＧＭＬなどのマークアップ言語で記述された文書、ＪＰＥＧやＰＮＧやＴＩＦＦやＪＢＩＧなどの画像、ＬＩＰＳ（登録商標）やＰｏｓｔＳｃｒｉｐｔ（登録商標）などのページ記述言語、ＰＤＦなどの文書、Macromedia Flash（登録商標）やSun Java （登録商標）Appletなどの表示を伴うプログラム、アニメーション、あるいは、ワードプロセッサやプレゼンテーションや表計算など各種アプリケーションプログラム固有のプロプラエタリなフォーマットに基づく文書データなどがある。文書ビューア１０２２が扱う文書の一部または全部は、画像処理装置１００によってプリント、スキャン、送受信、ファイリングなどが可能である。
【０１３３】
ファイル操作（モジュール）１００２３は、拡張コントローラ１０３に内蔵または接続された各種記憶手段の上に構築されたファイルシステム、画像処理装置１００が持つファイルシステム、または、ネットワーク経由でサーバコンピュータ１２やクライアントＰＣ１１などが提供するネットワーク共有のファイルシステムを操作するシステムアプリケーションである。
【０１３４】
文書管理（モジュール）１００２４は、拡張コントローラ１０３に搭載された文書管理システム（document management system）である。文書管理１００２４は、拡張コントローラ１０３のファイルシステムや外部サーバのデータベース管理システムなどを用いて、各種の文書データの蓄積、検索、管理などを実現するための機能を提供する。
【０１３５】
図１１は、拡張コントローラ１０３の拡張コントローラプラットフォーム９００２を構成するソフトウェアパッケージ群を示すブロック図である。
【０１３６】
システムセッション管理（モジュール）１１００１は、拡張コントローラ１０３のブートアップからシャットダウンまで、システム全体のセッション管理を行うためにシステム全体の構成および設定を管理する。また、デーモン型サービス（常駐型アプリケーションとして実装されたシステムアプリケーションとユーザアプリケーション）のライフサイクル管理も行う。
【０１３７】
電源制御（モジュール）１１００２は、拡張コントローラ１０３の省電力設定など電力制御の管理を行う。また、ＷａｋｅＯｎＬＡＮ、ＡＣＰＩなどハードウェアシステムとＢＩＯＳ設定を管理する。
【０１３８】
ユーザセッション管理（モジュール）１１００３は、ログインからログアウトまで、ユーザによるログインセッションを管理する。また、コンソール型アプリケーション（ユーザのログインセッション中に動作するシステムアプリケーションとユーザアプリケーション）のライフサイクル管理を行う。またＷｅｂアプリケーションのログインセッション管理機構を助ける。
【０１３９】
ログイン機構（モジュール）１１００４は、ユーザがユーザセッションを開始するための機構である。ユーザ管理およびユーザ認証パッケージによりユーザの特定を行う。ユーザ環境へのインテグレーションのために、個別のニーズに合わせたログイン機構をプラグインすることが可能である。例えば、ＩＣカード（スマートカード）によるユーザ認証や生体認証に基づくログイン機構を統合することができる。
【０１４０】
アクセス制御（モジュール）１１００５は、ユーザ毎に、およびユーザが所属するグループ毎に、拡張画像処理システム１０を構成する各種リソースのアクセス権限を管理する。
【０１４１】
ユーザ管理・ユーザ認証（モジュール）１１００６は、システムを利用するユーザアカウントの管理とユーザの特定（識別）を行う。パスワードなどによるwhat-you-know型の認証だけなくＩＣカード（スマートカード）などによるwhat-you-have型や生体認証などによるwhat-you-are型の認証も利用できる。
【０１４２】
ディレクトリサービス連携（モジュール）１１００７は、拡張コントローラ１０３のユーザ管理、ユーザ認証、またはディレクトリ情報の管理を外部のディレクトリサービスに委譲する。
【０１４３】
ディレクトリ（モジュール）１１００８は、拡張コントローラ１０３が備えるローカルディレクトリサービスであり、ユーザおよび各種リソースの情報を管理する。管理する情報は、ディレクトリサービスが管理対象とするあらゆるエンティティの属性とエンティティ間の関係である。例えばＮＤＳなどのディレクトリサービスが管理するエンティティの例には、ユーザ、プリンタ、ファイルサーバなどがあげられる。管理対象は、拡張コントローラ１０３のシステム内部のリソースと画像処理装置１００内部のリソースの両者である。
【０１４４】
アプリケーションライフサイクル管理（モジュール）１１００９は、システムアプリケーションおよびユーザランドアプリケーションのライフサイクル（インストール、アップデート、アンインストール、起動、中断、停止）を管理する。
【０１４５】
ライセンス管理（モジュール）１１０１０は、拡張コントローラ１０３における各アプリケーションの利用許諾を管理する。
【０１４６】
アプリケーションカウンタ（モジュール）１１０１１は、拡張コントローラ１０３に搭載された各アプリケーションの利用量と、アプリケーションの利用に伴うシステムリソースの利用量とをカウントする。システムトータルのカウントだけでなくユーザ毎のカウントも可能である。
【０１４７】
環境設定管理（モジュール）１１０１２は、システム全体やアプリケーション毎の環境設定情報（プリファレンス、プロパティ、構成）を保持するデータベースである。ユーザに依存しない共通設定情報と、ユーザごとのユーザ固有の設定情報とがそれぞれ管理される。
【０１４８】
リソース管理（モジュール）１１０１３は、アプリケーションを構成する各種リソース（ローカライズ可能文字列、アイコン画像、サウンド、プラグイン、ＧＵＩ記述、補助データなど）の構造化と管理を助ける。
【０１４９】
パーソナライズフレームワーク（モジュール）１１０１４は、複数のアプリケーションのアプリケーション固有の設定に対し、横断的にユーザの好みを反映するための枠組みを提供する。テーマ（例えば、画面全体の色調を選択すると個々のアプリケーションの色調が連動するなど）や、ユーザ固有で複数のアプリケーションから共通に参照される汎用の環境設定（ＰＯＰサーバ情報など）を実現する。
【０１５０】
ユーザアシスタンス（モジュール）１１０１５は、拡張コントローラ１０３のシステム全体およびアプリケーション群のドキュメンテーション（ガイド・ヘルプ、マニュアル、チュートリアルなど）を登録管理し、ユーザによるシステムやアプリケーションの利用を補助するためのものである。
【０１５１】
インプット（モジュール）１１０１６は、ユーザからの入力イベントを処理する。ユーザと拡張コントローラ１０３のシステムとの間のインタラクションにおいて、ユーザからのイベント入力源は、物理的なキーボードや操作部ハードキー、マウスなどのポインティングデバイス、スクリーンキーボードや操作部エミュレータ、ファンクションキーパネル上のスクリーンファンクションキーなどがある。インプットメソッド（各国語の文字入力のための入力手段あるいはフロントエンドプロセッサ）に関連する処理も行う。
【０１５２】
ステータスメッセージ管理（モジュール）１１０１７は、各アプリケーションが表明する状態またはメッセージを受け付け管理する。ユーザや他のアプリケーションがその状態またはメッセージを取得するための機構を提供する。例えばステータスティッカ１００１５がメッセージを取得する。
【０１５３】
国際化フレームワーク（モジュール）１１０１８は、システム及びアプリケーションの国際標準化を助ける。
【０１５４】
ロギング（モジュール）１１０１９は、各アプリケーションがログを残すための機構を提供する。アプリケーションがステータスメッセージ管理１１０１７に対して送信した状態やメッセージの一部は自動的にロギングされる。エンドユーザのためのログだけでなく、開発者がアプリケーションをデバグするためのログも扱う。
【０１５５】
ウィンドウマネージャ（モジュール）１１０２０は、ネイティブの汎用ＯＳ９００１用ウィンドウマネージャとの連携によって実装されるウィンドウマネージャであって、拡張コントローラ１０３に最適化され、ＯＳに対して独立なウィンドウマネージャである。各種アプリケーションが開くＧＵＩウィンドウの表示や重なりを制御する。また、指で操作しやすいウィンドウタイトル、メニュー、スライダなどを提供する。
【０１５６】
ＧＵＩツールキット（モジュール）１１０２１は、拡張コントローラ１０３のシステム用にルック＆フィールをデザインしたＧＵＩフレームワーク、ＧＵＩ部品（コンポーネント）、およびランタイムモジュールである。
【０１５７】
サウンド（モジュール）１１０２２は、タップ音、警告音など音による、システムやアプリケーションからユーザへの情報提示を制御する。拡張コントローラ１０３のシステム用にデザインしたサウンドデータのライブラリが用意される。サウンドの設定はパーソナライズの対象である。
【０１５８】
セキュア通信チャネル（モジュール）１０２３は、暗号化などの技術により実現される安全なネットワークコネクションを提供する。ＩＥＴＦのSecure Shell（ｓｅｃｓｈまたはＳＳＨ）を用いて、セキュアでないＴＣＰコネクションを簡単にトネリングする機構も提供する。
【０１５９】
セキュアファイルシステム（モジュール）１１０２４は、安全なファイルシステムを提供する。暗号化などの技術によって実現される。
【０１６０】
暗号処理（モジュール）１１０２５は、暗号処理のための機構を提供する。
【０１６１】
鍵管理（モジュール）１１０２６は、各種の暗号処理のために必要な鍵を安全に管理する機構を提供する。
【０１６２】
画像処理（モジュール）１１０２７は、各種画像処理のための機構を提供する。画像処理装置１００が内蔵する画像処理ハードウェアなどを用いた専用の画像処理機能を分散サービスとして、拡張コントローラ１０３のアプリケーションから利用するための分散イメージング機構も提供される。またＯＣＲやブロックセレクションの技術も画像処理の一環として扱われる。
【０１６３】
プレゼンテーション拡張インタフェース（モジュール）１１０２８は、拡張コントローラ１０３のシステム内アプリケーションによって実装されるプレゼンテーションロジックから、画像処理装置１００内の組み込みアプリケーションのビジネスロジックへの通信機構を提供する。
【０１６４】
組み込みアプリケーション拡張インタフェース（モジュール）１１０２９は、画像処理装置１００内の組み込みアプリケーションのビジネスロジックを分散コンポーネント化するためのフレームワークとアプリケーションプロトコルとによって実現されるインタフェースである。
【０１６５】
ジョブ制御・装置制御インタフェース（モジュール）１１０３０は、画像処理装置１００の製品シリーズに対して横断的に共通で統一的な制御モデルを提供するプリミティブなインタフェースである。ジョブ制御・装置制御インタフェース１１０３は、拡張コントローラ１０３のアプリケーションが画像処理装置１００のデバイス機能を制御することを可能とする。ジョブ制御・装置制御インタフェース１１０３０によって、拡張コントローラ１０３内のソフトウェアと画像処理装置１００内の組み込みアプリケーション層とがインタフェースすることはできない。
【０１６６】
画像ジョブ制御インタフェース（モジュール）１１０３１は、画像処理装置１００によって、プリントやスキャンなどの画像転送を伴う処理を高速に行うための高水準インタフェースである。画像ジョブ制御インタフェース１１０３１は、拡張コントローラ１０３内のアプリケーションが画像処理装置１００のデバイス機能を利用することを可能とする。この画像ジョブ制御インタフェース１１０３１によって画像処理装置１００内の組み込みアプリケーション層とインタフェースすることはできない。
【０１６７】
プリンタドライバ（モジュール）１１０３２は、ネイティブの汎用ＯＳ９００１が提供するプリントフレームワークによって、拡張コントローラ１０３のアプリケーションから画像処理装置１００に対するプリントジョブやファクス送信ジョブや文書ファイル格納ジョブなどを投入するためのものである。
【０１６８】
スキャナドライバ（モジュール）１１０３３は、ネイティブの汎用ＯＳ９００１が提供する画像スキャンフレームワークによって、拡張コントローラ１０３のアプリケーションから画像処理装置１００に対するプルスキャンジョブの投入とスキャン画像の取得を行うためのものである。
【０１６９】
アプリケーション間通信（モジュール）１１０３４は、拡張コントローラ１０３で動作するソフトウェアのプロセス間およびスレッド間の通信機構を提供する。拡張コントローラ１０３の汎用ＯＳ９００１は、その上で動作する各プロセスに対してそれぞれ独立し保護されたメモリ空間を提供する。アプリケーション間通信１１０３４は、汎用ＯＳ９００１が提供する共有メモリ、パイプ、ソケットなどの機構を用いて、プロセス間通信のトランスポート層を実装している。プロセス間通信のアプリケーションプロトコル層は、ＸＭＬプロトコル（ＳＯＡＰ）を用いたＸＭＬベースのメッセージ交換を基本とし、ＸＭＬプロトコルの扱いを助けるツールキット、フレームワーク、エンジンが提供される。アプリケーション間通信１１０３４は、拡張コントローラ１０３と画像処理装置１００、および、拡張コントローラ１０３と外部システムなど、複数のノードに分散しネットワークを介して協調を行う複数のソフトウェア群による分散システムの構築を助けるためのフレームワークも含む。この枠組みには、前記のプログラミング言語に対して独立なＸＭＬプロトコルに基づくものと、Ｊａｖａ（登録商標）の分散オブジェクト技術であるＲＭＩに基づくものとが提供される。
【０１７０】
マクロ・スクリプティング（モジュール）１１０３５は、エンドユーザプログラミングやスクリプティング、あるいは例題学習（ユーザが行った動作を記録して、再生可能とする）などの技巧によって、ソフトウェアにおける一連の処理を単一の処理にまとめるマクロ機構を提供する。マクロ・スクリプティング１１０３５によって、ユーザは単一のアプリケーションの中で行う一連の処理をマクロ化するだけでなく、複数のアプリケーションの処理を組み合わせた処理を定型業務のようなマクロとして登録し利用することもできる。
【０１７１】
実行スケジューリング（モジュール）１１０３６は、定時実行（ＵＮＩＸ（登録商標）のユーティリティであるｃｒｏｎに類似している）、および、システムセッションのイベント（たとえばブートアップ、シャットダウン）やユーザセッションのイベント（たとえばログイン、ログアウト）などに同期して所望の処理を自動的に実行するための機構を提供する。
【０１７２】
Ｗｅｂサーバ（モジュール）１１０３７は、よく知られたネットワークプロトコルであるＨＴＴＰ（あるいはそれをセキュアにしたＨＴＴＰＳなども同様）に基づく要求に応えて、要求元との間でデータの送受信を行うサービスを提供する。
【０１７３】
アプリケーションサーバ（モジュール）１１０３８は、Ｗｅｂサーバ１１０３７と連動し、クライアントとの間で動的なデータの交換を行うＷｅｂアプリケーションのために動作環境を提供する。Ｗｅｂサーバ１１０３７が受信したＨＴＴＰの要求メッセージを、その要求メッセージに応じた適切なアプリケーションに対して要求として引渡し、アプリケーションの処理結果に基づくアプリケーションからの応答を受け取って、対応するＨＴＴＰ応答メッセージとして元のＨＴＴＰ要求の要求元へと返送する。アプリケーションサーバ１１０３８は、Ｗｅｂアプリケーションを効率的に開発し動作させるために、テンプレートとテンプレート言語に基づくプログラムとの組み合わせによって動的にメッセージを生成するテンプレートエンジンを含む。またアプリケーションサーバ１１０３８は、Ｗｅｂアプリケーションを効率的に開発し動作させるために、ＭＶＣ（Model-View-Controller）アーキテクチャに基づくアプリケーションフレームワークを備える。
【０１７４】
ＳＯＡＰエンジン（モジュール）１１０３９は、よく知られているＸＭＬプロトコルを処理するプロセッサの開発を容易にするためのエンジンである。ＳＯＡＰエンジン１１０３９は、アプリケーションサーバ１１０３８と連動するように構成される。ＳＯＡＰエンジン１１０３９は、ＳＯＡＰクライアントから送られてきたＳＯＡＰ要求メッセージを処理し、メッセージを処理するための適切なソフトウェアに引き渡す。ＳＯＡＰ要求メッセージを処理するソフトウェアが適切な処理を完了してリターンすると、ＳＯＡＰエンジン１１０３９は、そのリターンに相当するＳＯＡＰ応答メッセージを生成して要求元のＳＯＡＰクライアントに返送する。
【０１７５】
ＸＭＬツールキット（モジュール）１１０４０は、拡張コントローラ１０３上のソフトウェア群が、ＸＭＬやその応用として規定された各種マークアップ言語の解釈、生成、変換などの処理を実行することを助けるためのツールキットである。
【０１７６】
Ｊａｖａ（登録商標）プラットフォーム（モジュール）１１０４１の基本部分は、Java（登録商標） 2 Platform, Standard EditionまたはJava（登録商標） 2 Runtime Environmentとしてよく知られているＪａｖａ（登録商標）プラットフォームによって構築される。
【０１７７】
図１２は、拡張コントローラ１０３の操作部１７１に表示される画面の一例を示す図である。
【０１７８】
操作部１７１の液晶ディスプレイ４２０３は、１０２４ドットｘ７６８ドットの解像度を持ち、画面中央付近がアプリケーション表示エリア１２００１であり、コピー機能用のウインドウ画面をはじめとして、複数のウインドウ画面が同じサイズで重なっている。ユーザから見た場合は、最前面のウインドウがひとつだけアクティブであるように見える。画面左端のアイコンボックス１２００２には、各ウインドウに一対一で対応したアプリケーション名とアイコンとが表示されており、利用可能なアプリケーションが多数存在して画面内に収まりきらない場合は、スクロールして表示を行うようになっている。アイコンボックス１２００２上の任意のアイコンを押すことで、アプリケーション表示エリア１２００１上に対応するウインドウが表示される。
【０１７９】
画面上部のファンクションキーパネル１２００３は、拡張コントローラ１０３の操作部１７１において、ユーザがアプリケーション毎に異なる入力操作を行なうことなく、同一の機能を呼び出すことを可能にする機能ボタンの集合である。ファンクションキーパネル１２００３は、図１０に示すアプリケーションの１つであるファンクションキーパネル１０００１に対応し、「ユーザモード」、「キーボード」、「操作パネル」、「ガイド」、「アバウト」および「リセット」の機能ボタンを表示する。
【０１８０】
各機能ボタンを押すことで、アプリケーションガイド（「ガイド」機能ボタン）や、後述するスクリーンキーボード（「キーボード」機能ボタン）、操作部パネルエミュレータ（「操作パネル」機能ボタン）などの、ユーザがアプリケーションを意識しないで入力操作を行なうことができる機能を呼び出すことができ、さらに、複数の異なるアプリケーションに対して、「リセット」機能ボタンでリセットのキーコードを同時に送信することが可能である。図１２に示す例では、ファンクションキーパネル１２００３において、「アバウト」機能ボタンを押したときの画面を示している。「アバウト」機能ボタンを押すと、２つの選択肢を持つメニュー１２００４が表示され、現在最前面で表示中のアプリケーションのバージョン情報を表示するのか、本拡張画像処理システム１０の基本ソフトウェアのバージョン情報を表示するのかを選択することができる。
【０１８１】
画面下部のステータスティッカ１２００５は、アプリケーションが発生するメッセージを表示するエリアであり、複数のアプリケーションから送られるメッセージのうち優先度の最も高いメッセージを表示する。メッセージはスクロール表示可能であるため、長いメッセージでも全てを確認することが可能である。ソフトタリー１２００６は、画像処理装置１００のタリーランプをエミュレートしたものであり、拡張コントローラ１０３の状態（例えば正常、警告、エラーなど）を赤および青の点滅、点灯、消灯によって通知する。
【０１８２】
図１３は、図１２に示すファンクションキーパネル１２００３における「キーボード」機能ボタンを押したときに、拡張コントローラ１０３の操作部１７１に表示されるスクリーンキーボードを示す図である。
【０１８３】
スクリーンキーボードは、拡張コントローラ１０３の操作部１７１のＬＣＤタッチパネル４２０２に対して文字入力を可能にするものである。キーボード設定に応じて、キーボードのレイアウトを変更することが可能であり、１０１キーボードや１０６キーボードを表示できる。
【０１８４】
図１４は、図１２に示すファンクションキーパネル１２００３における「操作パネル」機能ボタンを押したときに、拡張コントローラ１０３の操作部１７１に表示される画像処理装置１００の操作部パネルエミュレータを示す図である。
【０１８５】
操作部パネルエミュレータは、画像処理装置１００のハード操作部のテンキーやスタートキー、ストップキーと同様の入力を可能にするものである。
【０１８６】
図１５は、拡張コントローラ１０３に搭載されるユーザランドアプリケーション９００５の１つである暗号化セキュアプリント９０１４が実行されたときに拡張コントローラ１０３の操作部１７１に表示される画面である。
【０１８７】
暗号化セキュアプリント９０１４は、出力装置において排紙された印刷原稿が第三者の目に触れないようにする機密保持、およびネットワーク上を流れる印刷データの機密保持を目的としたアプリケーションである。ユーザがクライアントＰＣ１１において印刷ジョブを発行する際に、図１５に示す画面を利用して、任意の暗証番号やパスワードを入力し、またＩＣカードを利用して、印刷データを暗号化し拡張コントローラ１０３へ送信する。暗号化された印刷データは、拡張コントローラ１０３上において暗号化された状態でスプールされる。その後、ユーザは拡張コントローラ１０３において、暗証番号やパスワードを入力したりＩＣカードを挿入したりすることにより、暗号化された印刷データを復号化し、所望の印刷原稿の機密性を保持して入手することが可能となる。
【０１８８】
図１６は、拡張コントローラ１０３で実行されるキー変換処理の手順を示すフローチャートである。
【０１８９】
なお、図１２に示すファンクションキーパネル１２００３における「ユーザモード」機能ボタンによって選択できる機能は、選択中のカレントアプリケーションに対して環境設定ダイアログを開くことを指示するか、または、システムアプリケーションの１つであるシステム環境設定１０００９を起動することである。また、ファンクションキーパネル１２００３における「ガイド」機能ボタンによって選択できる機能は、選択中のカレントアプリケーションに対して、システムアプリケーションの１つであるヘルプを用いて、カレントアプリケーションの動作状況に応じたオンラインマニュアルを表示することを指示することである。すなわち、「ユーザモード」機能ボタンによって選択できる機能は、各アプリケーションの設定に対応し、「ガイド」機能ボタンによって選択できる機能は、各アプリケーションのヘルプ機能に対応する。
【０１９０】
各アプリケーションでそれぞれ実現できる機能と、該機能を利用するときに各アプリケーションでそれぞれ行われるべき入力操作との対応関係を示す情報を、アプリケーションごとにアプリケーション登録データベースに予め保持するようにする。
【０１９１】
図１６におけるステップＳ１６０１では、拡張コントローラ１０３は、ユーザが入力したキー操作イベントをアプリケーションフレームワークでフックして取得する。
【０１９２】
ステップＳ１６０２では、ステップＳ１６０１で取得されたキー操作イベントに対応するアプリケーションフレームワークの機能を認識する。また、ステップＳ１６０３で、キー操作イベントが入力された時のカレントアプリケーション（キー操作イベントが入力された時点でアクティブとなっているアプリケーション）をウィンドウマネージャ１１０２０から取得する。
【０１９３】
次にステップＳ１６０４で、ステップＳ１６０２で認識された機能に対応するカレントアプリケーションのキー操作を呼び出すために、ステップＳ１６０３で取得されたカレントアプリケーションに対応するアプリケーション登録データベースに保持された対応関係情報から、ステップＳ１６０２で認識された機能に対応する入力操作情報を読み出す。そしてステップＳ１６０５で、ステップＳ１６０４で読み出された入力操作情報に基づくキー操作イベントをカレントアプリケーションに送信し、該カレントアプリケーションに該キー操作イベントに応じた機能を実現させる。
【０１９４】
以上のようにして、複数のアプリケーションが並行して動作しているときに、各アプリケーションによって実現される同一の機能を、ユーザが同一のキー操作で呼び出すことが可能となり、ユーザがアプリケーション毎に異なるキー操作を行なうことを意識する必要性がなくなり、操作の混乱を防ぐことができる。また、既存のアプリケーションにおいても、新しいアプリケーションフレームワークで規定された方法で作成し直す必要がないため、修正する手間が削減され、コストの発生を抑えることができる。
【０１９５】
〔他の実施の形態〕
なお、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【０１９６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【０１９７】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１９８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１９９】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０２００】
【図１】本発明の一実施の形態に係る情報処理装置を適用した拡張画像処理システムを含むネットワーク環境の構成を示す模式図である。
【図２】画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムの構成を示すブロック図である。
【図３】画像処理装置と拡張コントローラの組み合わせによって構成された拡張画像処理システムの外観を示す斜視図である。
【図４】画像処理装置の制御装置のハードウェア構成を示すブロック図である。
【図５】画像処理装置の制御装置で実行されるソフトウェアのモジュール構造を示すブロック図である。
【図６】画像処理装置の操作部の表示部に表示される基本画面を示す図である。
【図７】拡張コントローラのハードウェア構成を示すブロック図である。
【図８】拡張コントローラ内のアプリケーションプログラムが画像処理装置とインタフェースするためのＡＰＩを示すブロック図である。
【図９】拡張コントローラで実行されるソフトウェアのモジュール群の階層構造を示すブロック図である。
【図１０】拡張コントローラのシステムアプリケーションの構成を示すブロック図である。
【図１１】拡張コントローラの拡張コントローラプラットフォームを構成するソフトウェアパッケージ群を示すブロック図である。
【図１２】拡張コントローラの操作部に表示される画面の一例を示す図である。
【図１３】図１２に示すファンクションキーパネルにおける「キーボード」機能ボタンを押したときに、拡張コントローラの操作部に表示されるスクリーンキーボードを示す図である。
【図１４】図１２に示すファンクションキーパネルにおける「操作パネル」機能ボタンを押したときに、拡張コントローラの操作部に表示される画像処理装置の操作部パネルエミュレータを示す図である。
【図１５】拡張コントローラに搭載されるユーザランドアプリケーションの１つである暗号化セキュアプリントが実行されたときに拡張コントローラの操作部に表示される画面である。
【図１６】拡張コントローラで実行されるキー変換処理の手順を示すフローチャートである。
【符号の説明】
【０２０１】
１０：拡張画像処理システム
１１：クライアントパーソナルコンピュータ（ＰＣ）
１２：サーバコンピュータ
１３：プリンタ
１５：ルータ
１６：広域ネットワーク
１００：画像処理装置
１０３：拡張コントローラ（情報処理装置）
１１０：制御装置
１７０：制御装置
１７１：操作部
１７２：周辺機器
２００：リーダ部
２０１：ローカルインタフェース
２１０：スキャナユニット
２５０：原稿給紙ユニット
３００：プリンタ部
３１０：マーキングユニット
３６０：給紙ユニット
３７０：排紙ユニット
４００：ＬＡＮ
【図１】
2005293407.tif 000003
【図２】
2005293407.tif 000004
【図３】
2005293407.tif 000005
【図４】
2005293407.tif 000006
【図５】
2005293407.tif 000007
【図６】
2005293407.tif 000008
【図７】
2005293407.tif 000009
【図８】
2005293407.tif 000010
【図９】
2005293407.tif 000011
【図１０】
2005293407.tif 000012
【図１１】
2005293407.tif 000013
【図１２】
2005293407.tif 000014
【図１３】
2005293407.tif 000015
【図１４】
2005293407.tif 000016
【図１５】
2005293407.tif 000017
【図１６】
2005293407.tif 000018