(57)【要約】      （修正有）【課題】統合アプリケーションとしてのユーザインターフェースの概念と、従来のユーザインターフェースの概念との間にあるギャップを埋める。【解決手段】入力文書ボタン４２１、ユーザ文書ボタン４２２、出力文書ボタン４２３、紙文書入力ボタン４２４、電子文書入力ボタン４２５、紙文書出力ボタン４２６、及び電子文書出力ボタン４２７の少なくともいずれか１つが押下された場合、該コンテンツの種類に対応する入出力処理の組合せによって、アプリケーションの種類を決定し、該決定に基づいて各アプリケーションによる処理を実行する。【選択図】図８
2007041968.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインターフェース手段による入力を受け付けた場合に、該入力に応答する処理の実行を指示するユーザインターフェース管理装置であって、
前記ユーザインターフェース手段による入力に応じた処理を決定する操作管理手段と、
前記操作管理手段によって決定された処理を実行するアプリケーション手段を選択するアプリケーション管理手段と、
前記操作管理手段並びに前記アプリケーション管理手段をフォルダ管理する管理手段とを有することを特徴とするユーザインターフェース管理装置。
【請求項２】
前記ユーザインターフェース手段は、前記操作管理手段を木構造の親として該操作管理手段により管理され、
前記アプリケーション手段は、前記アプリケーション管理手段を木構造の親として前記アプリケーション管理手段により管理されることを特徴とする請求項１記載のユーザインターフェース管理装置。
【請求項３】
前記管理手段は、ユーザ操作により入力を受け付けた際に、前記ユーザ操作の種別に応じたユーザインターフェース手段を生成することを特徴とする請求項１又は２記載のユーザインターフェース管理装置。
【請求項４】
前記管理手段は、前記アプリケーション管理手段により選択されたアプリケーション手段を生成することを特徴とする請求項１から３のいずれか１項記載のユーザインターフェース管理装置。
【請求項５】
ユーザから受け付けたユーザ操作に応じて、他のサブシステムに処理の指示をおこなうユーザインターフェース管理方法であって、
コンピュータは、
ユーザからの入力を受け付けたインターフェースの名称をあらわす名前を自己の属性区画で保持するユーザインターフェース手段を生成するユーザインターフェース手段生成ステップと、
ユーザからの入力を受け付けた前記ユーザインターフェース手段に基づいて実行する処理を決定する操作管理手段を生成する操作管理手段生成ステップと、
前記操作管理手段生成ステップによって決定された前記処理に対応するアプリケーションを選択するアプリケーション管理手段を生成するアプリケーション管理手段生成ステップと、
前記アプリケーション管理手段生成ステップによって選択された前記アプリケーションの名称をあらわす名前を自己の属性区画で保持するアプリケーション手段を生成するアプリケーション手段生成ステップと、
前記操作管理手段及び前記アプリケーション管理手段をフォルダ管理する管理手段を生成する管理手段生成ステップとを実行することを特徴とするユーザインターフェース管理方法。
【請求項６】
ユーザから受け付けたユーザ操作に応じて、他のサブシステムに処理の指示をおこなうユーザインターフェース管理プログラムであって、
コンピュータは、
ユーザからの入力を受け付けたインターフェースの名称をあらわす名前を自己の属性区画で保持するユーザインターフェース手段を生成するユーザインターフェース手段生成処理と、
ユーザからの入力を受け付けた前記ユーザインターフェース手段に基づいて実行する処理を決定する操作管理手段を生成する操作管理手段生成処理と、
前記操作管理手段生成ステップによって決定された前記処理に対応するアプリケーションを選択するアプリケーション管理手段を生成するアプリケーション管理手段生成処理と、
前記アプリケーション管理手段生成ステップによって選択された前記アプリケーションの名称をあらわす名前を自己の属性区画で保持するアプリケーション手段を生成するアプリケーション手段生成処理と、
前記操作管理手段及び前記アプリケーション管理手段をフォルダ管理する管理手段を生成する管理手段生成処理とを実行することを特徴とするユーザインターフェース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、選択されたデータの操作にしたがって関連するアプリケーションを実行するユーザインターフェース装置、ユーザインターフェース管理方法、及びユーザインターフェース管理プログラムに関する。
【背景技術】
【０００２】
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、ＵＮＩＸ（登録商標）などの汎用ＯＳ上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。
【０００３】
特許文献１では、生産物が複数の生産設備により処理されるプロセス制御システムに用いるヒューマン・マシンインターフェース装置において、生産物名により識別されるイベント毎に発生する生産物情報に対応して、その生産物名で識別される生産設備ＧＵＩと生産物名で識別される生産物ＧＵＩ情報を、ヒューマン・マシンインターフェースの同一画面に同時に表示することにより、生産物視点と生産設備視点が融合されたＧＵＩをバッチプロセス又は連続プロセスＨＭＩに提供することができ、これにより運転操作の簡便化を図り、より安全な運転操作環境を提供できるヒューマン・マシンインターフェース装置が提案されている。
【０００４】
特許文献２では、ネットワークとのインターフェースを有し、コピー機能と、ファクシミリ機能と、プリンタ機能と、スキャナ機能とを有し、入力媒体から入力した情報を出力媒体に出力するデジタル複合装置であって、入力媒体及び出力媒体として、印字することによって情報を記録する印字記録媒体、電子的な信号として情報を記録する電子記録媒体のいずれをも選択することができるデジタル複合装置が提案されている。
【特許文献１】特開２００３−３６１１４号公報
【特許文献２】特開２０００−３１６０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記の発明は以下の問題を有している。
【０００６】
従来の入出力機器を操作するためのユーザインターフェース及びアプリケーションは、コピー、ファックス、スキャナ、プリンタ、ドキュメントボックス、という単位でアプリケーションの種類を規定していた。この単位でのアプリケーションの機能拡張は、もはや論理構造として限界にきている。例えば、従来のファックス送信とスキャナ配信という２つのアプリケーションは、統合アプリケーションの概念では、共に紙文書としてのデータを入力して電子文書としてのデータを出力するアプリケーションであり、その相違は、出力手段の違い（前者が電話回線を解しての出力、後者がネットワークを介しての出力）である。にもかかわらず、ファックス、スキャナという個別のアプリケーションとして設定値、拡張機能を積み増してきた。これは、ソフトウェアとしての複雑度を増幅させるだけでなく、エンドユーザに対しての操作の複雑性という点で負荷を増幅させてきたことになる。
【０００７】
本発明は、ユーザにより選択された文書、ファイル、画像などのコンテンツの種類と、該コンテンツの種類に対応する入出力処理の組合せによって、アプリケーションの種類を決定し、該決定に基づいて各アプリケーションによる処理を実行することにより、統合アプリケーションとしてのユーザインターフェースの概念と、従来のユーザインターフェースの概念との間にあるギャップを埋めることができるユーザインターフェース装置、ユーザインターフェース管理方法、及びユーザインターフェース管理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
請求項１記載の発明は、ユーザインターフェース手段による入力を受け付けた場合に、該入力に応答する処理の実行を指示するユーザインターフェース管理装置であって、前記ユーザインターフェース手段による入力に応じた処理を決定する操作管理手段と、前記操作管理手段によって決定された処理を実行するアプリケーション手段を選択するアプリケーション管理手段と、前記操作管理手段並びに前記アプリケーション管理手段をフォルダ管理する管理手段とを有することを特徴とする。
【０００９】
請求項２記載の発明は、請求項１記載のユーザインターフェース管理装置において、前記ユーザインターフェース手段は、前記操作管理手段を木構造の親として該操作管理手段により管理され、前記アプリケーション手段は、前記アプリケーション管理手段を木構造の親として前記アプリケーション管理手段により管理されることを特徴とする。
【００１０】
請求項３記載の発明は、請求項１又は２記載のユーザインターフェース管理装置において、前記管理手段は、ユーザ操作により入力を受け付けた際に、前記ユーザ操作の種別に応じたユーザインターフェース手段を生成することを特徴とする。
【００１１】
請求項４記載の発明は、請求項１から３のいずれか１項記載のユーザインターフェース管理装置において、前記管理手段は、前記アプリケーション管理手段により選択されたアプリケーション手段を生成することを特徴とする。
【００１２】
請求項５記載の発明は、ユーザから受け付けたユーザ操作に応じて、他のサブシステムに処理の指示をおこなうユーザインターフェース管理方法であって、コンピュータは、ユーザからの入力を受け付けたインターフェースの名称をあらわす名前を自己の属性区画で保持するユーザインターフェース手段を生成するユーザインターフェース手段生成ステップと、ユーザからの入力を受け付けた前記ユーザインターフェース手段に基づいて実行する処理を決定する操作管理手段を生成する操作管理手段生成ステップと、前記操作管理手段生成ステップによって決定された前記処理に対応するアプリケーションを選択するアプリケーション管理手段を生成するアプリケーション管理手段生成ステップと、前記アプリケーション管理手段生成ステップによって選択された前記アプリケーションの名称をあらわす名前を自己の属性区画で保持するアプリケーション手段を生成するアプリケーション手段生成ステップと、前記操作管理手段及び前記アプリケーション管理手段をフォルダ管理する管理手段を生成する管理手段生成ステップとを実行することを特徴とする。
【００１３】
請求項６記載の発明は、ユーザから受け付けたユーザ操作に応じて、他のサブシステムに処理の指示をおこなうユーザインターフェース管理プログラムであって、コンピュータは、ユーザからの入力を受け付けたインターフェースの名称をあらわす名前を自己の属性区画で保持するユーザインターフェース手段を生成するユーザインターフェース手段生成処理と、ユーザからの入力を受け付けた前記ユーザインターフェース手段に基づいて実行する処理を決定する操作管理手段を生成する操作管理手段生成処理と、前記操作管理手段生成ステップによって決定された前記処理に対応するアプリケーションを選択するアプリケーション管理手段を生成するアプリケーション管理手段生成処理と、前記アプリケーション管理手段生成ステップによって選択された前記アプリケーションの名称をあらわす名前を自己の属性区画で保持するアプリケーション手段を生成するアプリケーション手段生成処理と、前記操作管理手段及び前記アプリケーション管理手段をフォルダ管理する管理手段を生成する管理手段生成処理とを実行することを特徴とする。
【発明の効果】
【００１４】
本発明は、ユーザにより選択された文書、ファイル、画像などのコンテンツの種類と、該コンテンツの種類に対応する入出力処理の組合せによって、アプリケーションの種類を決定し、該決定に基づいて各アプリケーションによる処理を実行することにより、統合アプリケーションとしてのユーザインターフェースの概念と、従来のユーザインターフェースの概念との間にあるギャップを埋めることができる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明にかかるリクエスト管理装置、画像形成装置、ジョブ処理指示方法およびジョブ処理指示プログラムの最良な実施の形態を詳細に説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、リクエスト管理をおこなう各種装置に適用することができる。
【００１６】
まず、本実施の形態に係る画像形成装置（以下「複合機」と言う）１の概念について図１、図２、図３、図１９および図２０を用いて説明する。図１は、本実施の形態に係る複合機１を取り巻くネットワーク環境を説明するためのネットワーク図であり、図２は、図１に示した複合機１のハードウェア構成を示すブロック図であり、図３は、図１に示した複合機１のソフトウェアとハードウェアの関係を説明するための説明図であり、図１９は、複合機１に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図２０は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【００１７】
図１に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ（ＰＣ）などの機器は、ＬＡＮ（Local Area Network）などのネットワークに接続され、相互に通信することができる。たとえば、同図に示したように、ＬＡＮなどのネットワークには、クライアントＰＣ、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ、ＦＴＰ（File Transfer Protocol）サーバ、サーバＰＣなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【００１８】
このようなネットワーク化の進展に伴い、複合機１についてもネットワークに接続され、ＰＣ等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【００１９】
具体的には、複合機１は、通常のコピー機能に加えて、クライアントＰＣからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントＰＣからのファックス要求により文書データ等をサーバＰＣに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。このような多くの機能を実現するために、複合機１に搭載されるソフトウェアは規模が大きくなり、また、複雑なものとなってきた。
【００２０】
図２は、かかる複合機１のハードウェア構成を示すブロック図である。同図に示すように、この複合機１は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ１０は、複合機１全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００２１】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ(Random Access Memory)とをさらに有する。
【００２２】
ＣＰＵ１１は、複合機１の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００２３】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００２４】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００２５】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００２６】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００２７】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００２８】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００２９】
図３は、かかる複合機１のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施形態の特徴部分であるリクエスト管理部１１３ａを含む統合アプリケーション１１０と、ソフトウェア１００およびハードウェア２００の階層関係を示している。同図に示すように、ハードウェア２００は、ハードウェアリソース２０１を有し、このハードウェアリソース２０１は、スキャナ２０１ａ、プロッタ２０１ｂ、ＨＤＤ（Hard Disk Drive）２０１ｃ、ネットワーク２０１ｄおよびその他のリソース２０１ｅを有する。なお、その他のリソース２０１ｅは、２０１ａ〜２０１ｄ以外のハードウェアリソース２０１のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【００３０】
また、かかるハードウェア２００に搭載されるソフトウェア１００は階層化されており、オペレーティングシステム１０３の上層にはサービス層１０２が構築され、このサービス層１０２の上層にはアプリケーション層１０３が構築されている。そして、サービス層１０２は、各ハードウェアリソース（２０１ａ〜２０１ｅ）を制御するドライバーに相当する、スキャナ制御１０２部ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、配信／メール送受信制御部１０２ｄ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇを有する。
【００３１】
ここで、図３に示したソフトウェア１００が、かかる階層構造をとるに至った経緯について、図１９および図２０を用いて説明する。図１９は、複合機１に搭載されるソフトウェア構成の変遷を示す説明図である。図２０のサービス層分離前アプリケーション５０１に示すように、多機能化した複合機１に搭載されるソフトウェアは、コピーアプリケーション、ＦＡＸアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図３に示したオペレーティングシステム１０３上で動作していた。
【００３２】
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー（サービス層１０２）を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。
【００３３】
そこで、図１９のサービス層分離後アプリケーション５０２に示すように、サービス層分離前アプリケーション５０１のサービス層１０２相当部分を括りだしサービス層１０２とするとともに、各アプリケーションは、このサービス層１０２の上層であるアプリケーション層１０１に構築する構成とした。かかる階層化構成をとることにより、各アプリケーションはスリム化され開発労力も軽減された。
【００３４】
しかしながら、複合機１のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層１０１の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部１０２ａや蓄積制御部１０２ｃといったドライバーと通信をおこなう処理や、リクエスト受付やリクエスト実行といったジョブ管理処理などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
【００３５】
この問題を解決するため、図１９の共通ルーチン分離アプリケーション５０３に示すように、かかる同様な処理（共通処理部分）を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
【００３６】
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。
【００３７】
そこで、図１９のオブジェクト指向アプリケーション５０４に示すように、オブジェクト指向による設計手法（オブジェクトモデリング）により、かかる複数のアプリケーションを、統合アプリケーション１１０に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション１１０を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
【００３８】
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。
【００３９】
図２０は、図１９に示したサービス層分離後アプリケーション５０２の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層１０２の各ドライバーの関係を示した説明図である。同図に示すように、アプリケーション層１０１は、コピーアプリケーション１２０、スキャナアプリケーション１３０、ファックスアプリケーション１４０およびプリンタアプリケーション１５０を有する。
【００４０】
たとえば、コピーアプリケーション１２０は、コピー機能を実現するために、スキャナ制御部１０２ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃおよびその他の制御部１０２ｇとデータの送受信をおこなう。また、ファックスアプリケーション１４０は、ファックス機能を実現するために、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇとデータの送受信をおこなう。このように、アプリケーション層１０１の各アプリケーションとサービス層１０２の各ドライバー間の通信は、複雑なものとなっていた。
【００４１】
図３の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層１０１に存在した複数のアプリケーションは、統合アプリケーション１１０に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション１１０を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層１０１のアプリケーションと、サービス層１０２の各ドライバー間の通信は、図１７と比較して単純になっている。
【００４２】
次に、統合アプリケーション１１０の内部構成について説明する。図４は、後述する本実施形態の特徴部分であるリクエスト管理部１１３ａの統合アプリケーション１１０における位置づけと、かかる統合アプリケーション１１０の概要構成を説明するための説明図である。
【００４３】
同図に示すように、統合アプリケーション１１０は、操作系サブシステム１１１と、管理系サブシステム１１２および実行系サブシステム１１３とを有する。操作系サブシステム１１１は、マンマシンインターフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム１１１は、ユーザの要求の受付サービスをおこなうとともに、かかる要求に対応した成果物（たとえば、コピーした記録紙）の品質、コストおよび納期を考慮したうえで、ユーザに対して情報提供サービスをおこなう。
【００４４】
管理系サブシステム１１２は、複合機１の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム１１２は、ハードウェアリソース２０１およびこのハードウェアリソース２０１が保持するデータ状態の管理サービスをおこなう。
【００４５】
実行系サブシステム１１３は、ユーザ要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム１１３は、コピーなどの文書操作要求から成果物の出力までの実行サービスをおこなう。そして、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３は、必要に応じて相互に処理を依頼し結果を受けとることで、統合アプリケーション１１０全体として複合機１に必要とされるサービス提供をおこなう。
【００４６】
かかる操作系サブシステム１１１は、後述する本実施形態の特徴部分である操作管理部１１１ａを有する。操作管理部１１１ａは、いわゆるジョブの受付をおこなうソフトウェア群である。具体的には、ユーザの要求を受け付け、この要求を実行する。
【００４７】
図５は、図４に示した各サブシステムを、ＵＭＬ（Unified Modeling Language）のクラス図（ＵＭＬクラス図）に置換えた図である。ここで、ＵＭＬとは、ＯＭＧ（Object Management Group）という団体がまとめたシステムモデリング言語であり、システムモデリングの成果を記述する記法を定義したものである。そして、このＵＭＬは、オブジェクト指向によるソフトウェア開発において、一般的に用いられている。
【００４８】
図５に示すように、統合アプリケーション１１０は複数のパッケージを含み、この統合アプリケーション１１０自体もパッケージととらえることができる。ここで、パッケージとはＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、このパッケージは、左上にタブのついたフォルダ型のシンボルで表現する。なお、かかるパッケージは、上述したオブジェクトモデルあるいはオブジェクトモデルの集合体ととらえることもできる。
【００４９】
図５に示したように、統合アプリケーション１１０は、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３の３つのパッケージを内部に有するパッケージである。さらに、実行系サブシステム１１３は、操作管理部１１１ａのパッケージを内部に有するパッケージである。そして、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３を相互に結ぶ直線は、各パッケージ間にメッセージ送受信などの関連があることを示している。なお、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００５０】
次に、本実施形態の特徴部分である操作管理部１１１ａについて詳細に説明する。このリクエスト管理部１１３ａは、ユーザから受け付けた要求の実行依頼を管理するとともに、かかる実行依頼に応じた要求を実行することを責務とする。
【００５１】
操作管理部１１１ａのクラス構成を、ＵＭＬのクラス図（ＵＭＬクラス図）により表現したものを図６に示す。ここで、クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、このクラスは、データと処理を一体化（カプセル化）して内部に有するとともに、継承関係や集約関係といった、他のクラスとの静的な関係を有する。そして、クラス図においては、各クラスが内部に有するデータおよび処理、複数のクラス間の静的な関係が表される。
【００５２】
次に、本実施形態の特徴部分である操作管理部１１１ａのクラス構成について説明する。図６に示すように、操作管理部１１１ａは、受付インターフェースクラス３１０と、操作管理クラス３２０と、アプリケーション管理クラス３３０と、アプリケーションクラス３４０とを有する。
【００５３】
各クラスを示す矩形は３段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、受付インターフェースクラス３１０を示す矩形の名前区画は、かかるクラスのクラス名が「受付インターフェース」であることを示し、属性区画は、かかるクラスが有する属性が、「名前」であることを示し、操作区画は、かかるクラスが有する操作が、「受付（）」であることを示している。
【００５４】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【００５５】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「受付（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【００５６】
次に、図６に示した各クラスについて説明する。受付インターフェースクラス３１０は、要求の受付をおこなうクラスである。具体的には、この受付インターフェースクラス３１０は、属性として、名前３１０ａを有し、操作として、受付（）３１０ｂを有する。なお、かかるリクエストフォルダクラス３１０を実体化したオブジェクトが生成されると、名前３１０ａはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００５７】
名前３１０ａは、受付インターフェースクラスが管理するインターフェースの名称である。また、受付（）３１０ｂは、ユーザの操作を受け付け、操作管理クラス３２０に実行処理の決定を依頼する処理をおこなう。
【００５８】
操作管理クラス３２０は、ユーザによる操作を請け付けた受付インターフェース３１０の名称にしたがって実行する処理を決定するクラスである。具体的には、この操作管理クラス３２０は、属性として、操作として、実行処理を決定（）３２０ａを有する。実行処理を決定（）３２０ａは、受付インターフェースクラス３１０から実行処理の決定依頼を受け付けると、ユーザによって操作されたインターフェースの種類を判別し、実行する処理を決定する。
【００５９】
アプリケーション管理クラス３３０は、操作管理クラス３２０からの要求により、実行する処理に対応するアプリケーションを選択するクラスである。具体的には、このアプリケーション管理クラス３３０は、操作として、アプリケーション選択（）３３０ａを有する。
【００６０】
アプリケーション選択（）３３０ａは操作管理クラス３２０において決定された実行処理に従って、対応するアプリケーションを選択する処理をおこなう。
【００６１】
アプリケーションクラス３４０は、ユーザによる要求された処理を実行するクラスである。具体的には、このアプリケーションクラス３４０は、属性として、要求された処理を実行するアプリケーションの名前３４０ａを有し、操作として、実行（）３４０ｂを有する。なお、かかるアプリケーションクラス３４０を実体化したオブジェクトが生成されると、名前３４０ａはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００６２】
次に、図６に示した各クラス間の関係について説明する。同図に示したように、各クラスを示す矩形を結ぶ直線は、その両端のクラス間に関係があることを表しており、この直線の両端付近の文字はクラスの役割を、数字はクラスの多重度をそれぞれ示している。ここで、役割とは、かかる直線の両端における、一方のクラスからみた、もう一方のクラスの役割や立場のことであり、多重度とは、かかる直線の両端のクラスから生成されるオブジェクト数の対応関係のことである。
【００６３】
たとえば、アプリケーションクラス３４０からみたアプリケーション管理クラス３３０の役割は「依頼者」であり、アプリケーション管理クラス３３０からみたアプリケーションクラス３４０の役割は「依頼先」であり、アプリケーション管理クラス３３０の多重度は「１」であり、アプリケーションクラス３４０の多重度は「１．．＊」である。ここで、「１．．＊」は、かかるアプリケーションクラス３４０の多重度が、１から上限数なしの範囲であることを示している。また、たとえば、「１．．３」の記載をした場合には、かかるクラスの多重度が、１〜３の範囲であることを示す。
【００６４】
次に、図６に示した、各クラスを実体化したオブジェクトの動作の概要について、図７、及び図８を用いて説明する。図８は、複合機１の操作パネル４００の一例を示した図である。同図に示したように、かかる操作パネル４００は、コピーキー４０１、ファックスキー４０２、スキャナキー４０３、プリンタキー４０４、ドキュメントボックスキー４０５、及び液晶タッチパネル４２０を有する。
【００６５】
コピーをしたい場合にはコピーキー４０１を、コピー結果を複合機１に蓄積したい場合にはドキュメントボックスキー４０５を、プリンタに係る操作をおこないたい場合には、プリンタキー４０４を、ファックスや蓄積画像などの送信をしたい場合にはファックスキー４０２を、それぞれタッチすると、液晶タッチパネル４２０に対応したメニューが表示される。
【００６６】
図８は、液晶タッチパネル４２０に表示されるメニューの一例である。図８に示すように、この液晶タッチパネル４２０には、入力文書ボタン４２１、ユーザ文書ボタン４２２、出力文書ボタン４２３、紙文書入力ボタン４２４、電子文書入力ボタン４２５、紙文書出力ボタン４２６、電子文書出力ボタン４２７が表示される。ここで、入力文書ボタン４２１は、紙文書及び電子文書による入力を要求するボタンである。ユーザ文書ボタン４２２は、画像形成装置１内に格納された電子文書の出力、及び画像形成装置１内への電子文書の格納を要求するボタンである。出力文書ボタン４２３は、紙文書及び電子文書による出力を要求するボタンである。紙文書入力ボタン４２４は、紙文書による入力を要求するボタンである。電子文書入力ボタン４２５は、電子文書による入力を要求するボタンである。紙文書出力ボタン４２６は、紙文書による出力を要求するボタンである。電子文書出力ボタン４２７は、電子文書による出力を要求するボタンである。
【００６７】
例えば、コピーキー４０１、ファックスキー４０２、スキャナキー４０３、プリンタキー４０４、又はドキュメントボックスキー４０５が押下された場合、画像形成装置１は従来と同様に各キーに対応するアプリケーションを実行する。図９、１０、及び１１は、コピーキー４０１が押下された場合の液晶タッチパネル４２０の表示例である。画像形成装置１が有するアプリケーションの起動がコピーキー４０１、ファックスキー４０２、スキャナキー４０３、プリンタキー４０４、又はドキュメントボックスキー４０５の押下により、直接に要求された場合は、従来と同様に各アプリケーションによる処理が実行される。
【００６８】
一方、図１２〜１７に示すように、入力文書ボタン４２１、ユーザ文書ボタン４２２、出力文書ボタン４２３、紙文書入力ボタン４２４、電子文書入力ボタン４２５、紙文書出力ボタン４２６、及び電子文書出力ボタン４２７の少なくともいずれか１つが押下された場合、各ボタンの組合せに対応する動作が表１に示すテーブルにより決定され、かつ決定された動作を実行するためのアプリケーションが選択・実行される。
【００６９】
【表１】
2007041968.tif 000003
【００７０】
次に、本実施形態の特徴部分である操作管理部１１１ａにユーザからの要求が投入された場合における、各クラスの処理および各クラスから生成されたオブジェクト間のメッセージの流れについて説明する。なお、以下に示す例においては、紙文書入力ボタン４２４及び電子文書出力ボタン４２７が押下された場合の各クラスの処理及び各クラスから生成されたオブジェクト間のメッセージの流れについて説明する。
【００７１】
図１８は、図６に示した各クラスを実体化したオブジェクトと、かかるオブジェクト間のメッセージの流れを時系列に表したＵＭＬのシーケンス図である。同図の上部に並べられた矩形は、各オブジェクトを示し、各オブジェクトから下方に伸びた破線は、各オブジェクトが生存していることを示す線（ライフライン）であり、同図の下方に向かって時間は流れるものとする。そして、かかる破線上の垂直方向に伸びる矩形は、各オブジェクトが実際に活動している期間（活性区間）を示す。
【００７２】
図１８に示すように、ユーザが画像形成装置１を操作して、データの入出力に係わる要求が投入されると、操作系サブシステム１１１は、受付インターフェースオブジェクト３１０の受付（）３１０ｂを呼び出し（ステップＳ１１０１）、ユーザからの要求を受け付ける。
【００７３】
そして、受付（）３１０ｂが呼び出され、ユーザの要求を受け付けた受付インターフェースオブジェクト３１１は、操作管理オブジェクト３２１の実行処理を決定する（）３２０ａを呼び出す（ステップＳ１１０２）。操作管理オブジェクト３２１は、ユーザからの要求を受け付けた受付インターフェースオブジェクト３１１の属性に係わる名前３１０ａに基づいて実行する処理を決定する。
【００７４】
次に、操作管理オブジェクト３２１は、アプリケーション管理オブジェクト３３１のアプリケーションを選択する（）３３０ａを呼び出す（ステップＳ１１０３）。アプリケーション管理オブジェクト３３１は、操作管理オブジェクト３２１において決定された実行処理に基づき、該実行処理に対応するアプリケーションを選択し、該アプリケーションを新規作成する（ステップＳ１１０４、ステップＳ１１０５）。なお、本実施形態においては、アプリケーションオブジェクトとしてスキャナオブジェクト３４１及びファックスオブジェクト３４２が新規生成される。
【００７５】
スキャナオブジェクト３４１及びファックスオブジェクト３４２が新規生成されると（ステップＳ１１０４、ステップＳ１１０５）、アプリケーション管理オブジェクト３３１はスキャナオブジェクト３４１及びファックスオブジェクト３４２の実行（）３３０ａを呼び出す（ステップＳ１１０６、ステップＳ１１０７）。各アプリケーションオブジェクトの実行（）３３０ａが呼び出されると（ステップＳ１１０６、ステップＳ１１０７）、各アプリケーションオブジェクトは自信が有する手段によりユーザからの要求を実行する。
【００７６】
上述してきたように、本実施の形態では、オブジェクト指向設計により、オブジェクトモデルの集合体として統合アプリケーション１１０を構成し、かかるオブジェクトモデルのうち、操作管理をおこなうものを操作管理部１１１ａとし、この操作管理部１１１ａは、いわゆる「フォルダ−ファイル」モデルのアナロジーとして、受付インターフェースクラス３１０、操作管理クラス３２０、アプリケーション管理クラス３３０、アプリケーションクラス３４０を有する構成としたので、ユーザからの要求を一括して受け付けることができ、かかる要求から対応する処理の実行までの管理を効率良くおこなうことができるとともに、新規機能の追加などにともなう労力を軽減することができる。
【００７７】
なお、本実施の形態の画像形成装置で実行されるリクエスト管理プログラム（ジョブ処理指示プログラム）は、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、ＣＰＵ１１が上記記憶媒体から、リクエスト管理プログラム（ジョブ処理指示プログラム）を読み出してＭＥＭ−Ｐ１２上にロードすることで、画像形成装置に、上述した各ステップ（工程）、各手段または各部を実現させる。
【００７８】
また、操作管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかる操作管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【図面の簡単な説明】
【００７９】
【図１】複合機をとりまくネットワーク環境を示すネットワーク図である。
【図２】複合機のハードウェアを説明するための説明図である。
【図３】複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【図４】統合アプリケーションの構成を説明するための説明図である。
【図５】統合アプリケーションの構成を表したＵＭＬクラス図である。
【図６】操作管理部のクラス構成を表したＵＭＬクラス図である。
【図７】複合機の操作パネルを説明するための説明図である。
【図８】液晶タッチパネルに表示されるメニュー例を説明するための説明図である。
【図９】液晶タッチパネルに表示されるメニューの選択例である。
【図１０】液晶タッチパネルに表示されるメニューの選択例である。
【図１１】液晶タッチパネルに表示されるメニューの選択例である。
【図１２】液晶タッチパネルに表示されるメニューの選択例である。
【図１３】液晶タッチパネルに表示されるメニューの選択例である。
【図１４】液晶タッチパネルに表示されるメニューの選択例である。
【図１５】液晶タッチパネルに表示されるメニューの選択例である。
【図１６】液晶タッチパネルに表示されるメニューの選択例である。
【図１７】液晶タッチパネルに表示されるメニューの選択例である。
【図１８】ユーザによる操作が行われた場合のオブジェクトのふるまいを時系列に示したＵＭＬのシーケンス図である。
【図１９】複合機に搭載されるソフトウェア構成の変遷を示す説明図である。
【図２０】従来の複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【符号の説明】
【００８０】
１    画像形成装置
１０    コントローラ
１１    ＣＰＵ
１２    ＭＥＭ−Ｐ
１２ａ    ＲＯＭ
１２ｂ    ＲＡＭ
１３    ＮＢ
１４    ＳＢ
１５    ＡＧＰ
１６    ＡＳＩＣ
１７    ＭＥＭ−Ｃ
１８    ＨＤＤ
２０    キーボード
３０    ＦＣＵ
４０    ＵＳＢ
５０    ＩＥＥＥ１３９４
６０    エンジン部
【図１】
2007041968.tif 000004
【図２】
2007041968.tif 000005
【図３】
2007041968.tif 000006
【図４】
2007041968.tif 000007
【図５】
2007041968.tif 000008
【図６】
2007041968.tif 000009
【図７】
2007041968.tif 000010
【図８】
2007041968.tif 000011
【図９】
2007041968.tif 000012
【図１０】
2007041968.tif 000013
【図１１】
2007041968.tif 000014
【図１２】
2007041968.tif 000015
【図１３】
2007041968.tif 000016
【図１４】
2007041968.tif 000017
【図１５】
2007041968.tif 000018
【図１６】
2007041968.tif 000019
【図１７】
2007041968.tif 000020
【図１８】
2007041968.tif 000021
【図１９】
2007041968.tif 000022
【図２０】
2007041968.tif 000023