(57)【要約】【課題】コンピューターが組み込まれた装置の制御用のソフトウェアの設計負担を軽減する。【解決手段】複数のコンポーネントを含むソフトウェアを有するコンピューターが組み込まれ、コンピューターにより制御される装置は、一のコンポーネントから他のコンポーネントに配信されるべき情報を取得する取得手段と、各コンポーネントが受信を希望する情報を特定する情報特定情報を予め配信テーブルに登録する登録手段と、取得手段で取得された情報を配信するべきコンポーネントを配信テーブルに基づき特定し、特定されたコンポーネントに情報を配信する配信手段と、を備える。【選択図】図３
2011142378.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントを含むソフトウェアを有するコンピューターが組み込まれ、前記コンピューターにより制御される装置であって、
一のコンポーネントから他のコンポーネントに配信されるべき情報を取得する取得手段と、
各コンポーネントが受信を希望する情報を特定する情報特定情報を予め配信テーブルに登録する登録手段と、
前記取得手段で取得された情報を配信するべきコンポーネントを前記配信テーブルに基づき特定し、特定されたコンポーネントに情報を配信する配信手段と、を備える、装置。
【請求項２】
請求項１に記載の装置であって、
前記登録手段は、前記コンポーネントからの要求に基づき、情報の受信を希望する前記コンポーネントを特定するコンポーネント特定情報と前記情報特定情報とを対応付けて前記配信テーブルに登録する手段である、装置。
【請求項３】
請求項１または請求項２に記載の装置であって、
前記コンポーネントは、前記装置が有するハードウェアを制御するためのコンポーネントと、前記ハードウェアを利用して所定の機能を実現するためのコンポーネントと、前記装置が有する操作部の操作に関する制御を行うためのコンポーネントと、のいずれかである、装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の装置であって、
前記配信されるべき情報は、一のコンポーネントから他の１つのコンポーネントに対して発行される要求と、一のコンポーネントから他の１つ以上のコンポーネントに対して発行される通知と、の少なくとも一方である、装置。
【請求項５】
コンピューターが組み込まれた装置の制御用のソフトウェアであって、
一のコンポーネントから他のコンポーネントに配信されるべき情報を取得する取得機能と、
各コンポーネントが受信を希望する情報を特定する情報特定情報を予め配信テーブルに登録する登録機能と、
前記取得機能を利用して取得された情報を配信するべきコンポーネントを前記配信テーブルに基づき特定し、特定されたコンポーネントに情報を配信する配信機能と、を、前記コンピューターに実現させる、ソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューターが組み込まれた装置の制御に関する。
【背景技術】
【０００２】
ＣＰＵといったハードウェアとソフトウェアとで構成されるコンピューターが組み込まれた装置（以下、組み込み装置とも呼ぶ）として、例えばプリンターが広く用いられている。組み込み装置としてのプリンターでは、コンピューターが、例えばプリンターエンジンの制御や表示用モニターの制御といった各種制御を実行する。
【０００３】
一般に、組み込み装置に組み込まれるコンピューターを構成するソフトウェアは、組み込み装置の各種制御に対応する複数のコンポーネントと呼ばれるモジュールを含んでおり、コンピューターのＣＰＵは各コンポーネントを実行して各コンポーネントに対応する制御を行う。組み込み装置の制御の際には、コンポーネント間で接続が確立され、コンポーネント間における情報（要求や通知）の送受信が実行される（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００３−５２６１６８号公報
【特許文献２】特開２００６−２７７０５３号公報
【特許文献３】特開２００３−２２２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、コンポーネント間の情報の送受信の際には、情報の送信側のコンポーネントは、受信側のコンポーネントを指定して情報を送信していた。そのため、組み込み装置のハードウェア構成や機能の構成が変更され、ソフトウェアに含まれるコンポーネントが変更されると、コンポーネントにおける情報の送受信に関する部分も変更する必要があった。従って、組み込み装置に組み込まれるコンピューター用のソフトウェアの設計は煩雑なものとなっていた。
【０００６】
なお、上記課題はプリンターの制御に限らず、コンピューターが組み込まれた装置においてコンピューターにより制御を行う場合に共通の課題であった。
【０００７】
本発明は、上記の課題を解決するためになされたものであり、コンピューターが組み込まれた装置の制御用のソフトウェアの設計負担を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【０００９】
［適用例１］複数のコンポーネントを含むソフトウェアを有するコンピューターが組み込まれ、前記コンピューターにより制御される装置であって、
一のコンポーネントから他のコンポーネントに配信されるべき情報を取得する取得手段と、
各コンポーネントが受信を希望する情報を特定する情報特定情報を予め配信テーブルに登録する登録手段と、
前記取得手段で取得された情報を配信するべきコンポーネントを前記配信テーブルに基づき特定し、特定されたコンポーネントに情報を配信する配信手段と、を備える、装置。
【００１０】
この装置では、各コンポーネントが受信を希望する情報を特定する情報特定情報が予め配信テーブルに登録され、一のコンポーネントから他のコンポーネントに配信されるべき情報が取得され、取得された情報を配信するべきコンポーネントが配信テーブルに基づき特定され、特定されたコンポーネントに情報が配信されるため、情報を送信するコンポーネントは送信先のコンポーネントを意識する必要が無く、情報を受信するコンポーネントは送信元のコンポーネントを意識する必要が無い。従って、各コンポーネントを、情報の送受信相手のコンポーネントを意識することなく設計することが可能である。従って、この装置では、コンピューターが組み込まれた装置の制御用のソフトウェアの設計負担を軽減することができる。
【００１１】
［適用例２］適用例１に記載の装置であって、
前記登録手段は、前記コンポーネントからの要求に基づき、情報の受信を希望する前記コンポーネントを特定するコンポーネント特定情報と前記情報特定情報とを対応付けて前記配信テーブルに登録する手段である、装置。
【００１２】
この装置では、コンポーネントからの要求に基づき、情報の受信を希望するコンポーネントを特定するコンポーネント特定情報と前記情報特定情報とが対応付けられて配信テーブルに登録されるため、配信テーブルに基づく情報の配信先コンポーネントの特定が可能となる。
【００１３】
［適用例３］適用例１または適用例２に記載の装置であって、
前記コンポーネントは、前記装置が有するハードウェアを制御するためのコンポーネントと、前記ハードウェアを利用して所定の機能を実現するためのコンポーネントと、前記装置が有する操作部の操作に関する制御を行うためのコンポーネントと、のいずれかである、装置。
【００１４】
この装置では、装置が有するハードウェアを制御するためのコンポーネントと、ハードウェアを利用して所定の機能を実現するためのコンポーネントと、装置が有する操作部の操作に関する制御を行うためのコンポーネントと、のいずれかのコンポーネントを、情報の送受信相手のコンポーネントを意識することなく設計することが可能である。従って、この装置では、上記いずれかのコンポーネントを含むソフトウェアの設計負担を軽減することができる。
【００１５】
［適用例４］適用例１ないし適用例３のいずれかに記載の装置であって、
前記配信されるべき情報は、一のコンポーネントから他の１つのコンポーネントに対して発行される要求と、一のコンポーネントから他の１つ以上のコンポーネントに対して発行される通知と、の少なくとも一方である、装置。
【００１６】
この装置では、コンポーネント間で送受信される情報が、一のコンポーネントから他の１つのコンポーネントに対して発行される要求と、一のコンポーネントから他の１つ以上のコンポーネントに対して発行される通知と、のいずれであっても、各コンポーネントを情報の送受信相手のコンポーネントを意識することなく設計することが可能であり、ソフトウェアの設計負担を軽減することができる。
【００１７】
なお、本発明は、種々の態様で実現することが可能であり、例えば、コンピューターが組み込まれた装置、当該装置の制御方法、これらの方法または装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した記録媒体、そのコンピュータープログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施例におけるプリンター１００の構成を概略的に示す説明図である。
【図２】本実施例における制御プログラム１２４のコンポーネント構成を示す説明図である。
【図３】本実施例のプリンター１００におけるコンポーネント間通信の概要を示す説明図である。
【図４】各ハンドラテーブルの内容の一例を示す説明図である。
【図５】各ハンドラリストの内容の一例を示す説明図である。
【図６】オーナーとしての制御ＣｒＯを行うためのハンドラ登録の例をより詳細に示す説明図である。
【図７】要求の配信の例をより詳細に示す説明図である。
【図８】クライアントとしての制御ＣｒＣを行うためのハンドラ登録の例をより詳細に示す説明図である。
【図９】通知の配信の例をより詳細に示す説明図である。
【発明を実施するための形態】
【００１９】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ−１．構成：
Ａ−２．コンポーネント間通信：
Ｂ．変形例：
【００２０】
Ａ．実施例：
Ａ−１．構成：
図１は、本発明の実施例におけるプリンター１００の構成を概略的に示す説明図である。本実施例のプリンター１００は、プリント機能とスキャン機能とファックス機能とを有するマルチファンクションプリンターである。プリンター１００は、ＣＰＵ１１２と、メモリー１１４と、操作パネル１４０と、プリンターエンジン１５０と、スキャナーエンジン１６０と、ファックスエンジン１７０と、記憶媒体インターフェイス１９２と、ネットワークインターフェイス１９４と、を備えている。プリンター１００の各構成要素は、バスを介して互いに接続されている。
【００２１】
ＣＰＵ１１２とメモリー１１４とは、組み込み装置としてのプリンター１００に組み込まれたコンピューター１１０を構成する。メモリー１１４には、ソフトウェアとしてオペレーションシステム（ＯＳ）１２２および制御プログラム１２４が格納されている。ハードウェアとしてのＣＰＵ１１２は、メモリー１１４からＯＳ１２２および制御プログラム１２４を読み出し、ＯＳ１２２の下で制御プログラム１２４を実行する。これにより、コンピューター１１０によるプリンター１００の制御が実現される。
【００２２】
プリンターエンジン１５０とスキャナーエンジン１６０とファックスエンジン１７０とは、それぞれ、プリント機能とスキャン機能とファックス機能とを提供するハードウェア機構（デバイス）である。操作パネル１４０は、ユーザーの操作のためのスイッチ１４２と、各種情報や画像を表示するモニター１４４と、インジケーターとしてのＬＥＤランプ１４６と、を含んでいる。記憶媒体インターフェイス１９２は、メモリーカードといった記憶媒体との間の通信を行うためのインターフェイスである。ネットワークインターフェイス１９４は、ＬＡＮといったネットワークとの間の通信を行うためのインターフェイスである。プリンター１００は、さらに、他の機器（例えばデジタルスチルカメラやパーソナルコンピューター）との通信を行うためのインターフェイスを備えているとしてもよい。
【００２３】
図２は、本実施例における制御プログラム１２４のコンポーネント構成を示す説明図である。プリンター１００の各種制御のための制御プログラム１２４（図１）は、複数のコンポーネント（モジュール）を含んでいる。具体的には、制御プログラム１２４は、システム統制コンポーネント２００と、操作制御コンポーネント３００と、機能制御コンポーネント４００と、デバイス制御コンポーネント５００と、アーキテクチャコンポーネント６００と、共用コンポーネント７００と、を含んでいる。
【００２４】
システム統制コンポーネント２００は、プリンター１００におけるシステム全体の統制を行うコンポーネントであり、サブコンポーネントとして、例えば、各種設定機能コンポーネント２１０と、認証管理機能コンポーネント２２０と、メンテナンス機能コンポーネント２３０と、を含んでいる。
【００２５】
操作制御コンポーネント３００は、ユーザーによるプリンター１００の操作に関する制御を行うコンポーネントであり、サブコンポーネントとして、例えば操作パネル１４０（図１）を制御する操作パネル制御コンポーネント３１０を含んでいる。
【００２６】
機能制御コンポーネント４００は、プリンター１００の提供する各機能、すなわち、プリント機能、スキャン機能、コピー機能、ファックス機能に関する制御を行うコンポーネントであり、サブコンポーネントとして、プリント機能制御コンポーネント４１０と、スキャン機能制御コンポーネント４２０と、コピー機能制御コンポーネント４３０と、ファックス機能制御コンポーネント４４０と、を含んでいる。これらのサブコンポーネントのそれぞれは、さらに、各機能を実現するための１つまたは複数のサブコンポーネントを含んでいるとしてもよい。
【００２７】
デバイス制御コンポーネント５００、プリンター１００に含まれる各ハードウェア機構（デバイス）、すなわち、プリンターデバイス、スキャナーデバイス、ファックスデバイスに関する制御を行うコンポーネントであり、サブコンポーネントとして、プリンターデバイス制御コンポーネント５１０と、スキャナーデバイス制御コンポーネント５２０と、ファックスデバイス制御コンポーネント５３０と、を含んでいる。これらのサブコンポーネントのそれぞれは、さらに、各デバイスの制御を実現するための１つまたは複数のサブコンポーネントを含んでいるとしてもよい。
【００２８】
アーキテクチャコンポーネント６００は、プリンター１００のアーキテクチャに関する制御を行うコンポーネントであり、サブコンポーネントとして、全体制御コンポーネント６１０と、機能制御コンポーネント６２０と、デバイス制御コンポーネント６３０と、画像処理メモリー管理コンポーネント６４０と、不揮発性データ管理コンポーネント６５０と、リソースデータ管理コンポーネント６６０と、を含んでいる。また、アーキテクチャコンポーネント６００は、さらに、後述するコンポーネント間通信に利用される配信ＢＯＸ６７０を含んでいる。配信ＢＯＸ６７０は、要求ＢＯＸ６７２と通知ＢＯＸ６７４とを含んでいる。
【００２９】
共用コンポーネント７００は、プリンター１００の各構成要素に共用されるコンポーネントであり、サブコンポーネントとして、例えば、リソースデータコンポーネント７１０と、不揮発性データコンポーネント７２０と、デバイスドライバーコンポーネント７３０と、ライブラリーコンポーネント７４０と、を含んでいる。
【００３０】
ＣＰＵ１１２（図１）は、図２に示した各コンポーネントを実行することにより、各コンポーネントに対応する制御を行う。以下の説明において、各コンポーネントを実行するＣＰＵを、単に各コンポーネント名で呼ぶものとする。なお、図２に示した各コンポーネントの内容および実現する制御・機能は、マルチファンクションプリンターにとって一般的なものであるため、ここでは詳述しない。
【００３１】
Ａ−２．コンポーネント間通信：
図３は、本実施例のプリンター１００におけるコンポーネント間通信の概要を示す説明図である。本実施例のプリンター１００では、コンポーネント間の情報の送受信（要求や通知のやり取り）は、配信ＢＯＸ６７０（図２）を利用して実行される。より具体的には、情報の配信を希望するコンポーネントは、予め、配信を希望する情報を特定する情報（情報特定情報）と自らを特定する情報（コンポーネント特定情報）との対応関係を配信ＢＯＸ６７０に登録する登録処理を行う。各コンポーネントから発行された要求や通知は、配信ＢＯＸ６７０における登録内容に従って各コンポーネントに配信される。
【００３２】
図３には、コンポーネントのテンプレートとしてのコンポーネントテンプレートＣＰＴと、要求ＢＯＸ６７２および通知ＢＯＸ６７４を含む配信ＢＯＸ６７０と、を示している。コンポーネントは、オーナーに要求を発行しオーナーから通知を受領するクライアントとしての制御ＣｒＣを実行する場合と、クライアントから要求を受領してクライアントに通知を発行するオーナーとしての制御ＣｒＯを実行する場合とがある。図３に示すように、操作制御コンポーネント（ＣＰ）３００（図２）に属する各コンポーネントは、クライアントとしての制御ＣｒＣのみを実行するため、クライアントとしての制御ＣｒＣに必要な登録処理、すなわち、受信を希望する通知を特定する情報を通知ＢＯＸ６７４に登録する処理を行う。デバイス制御コンポーネント５００に属する各コンポーネントは、オーナーとしての制御ＣｒＯのみを実行するため、オーナーとしての制御ＣｒＯに必要な登録処理、すなわち、受信を希望する要求を特定する情報を要求ＢＯＸ６７２に登録する処理を行う。機能制御コンポーネント４００に属する各コンポーネントは、クライアントとしての制御ＣｒＣを実行すると共にオーナーとしての制御ＣｒＯも実行するため、クライアントおよびオーナーとしての制御に必要な登録処理を行う。
【００３３】
オーナーとしての制御ＣｒＯを行う各コンポーネントは、オーナーとしての制御ＣｒＯを行うためのハンドラ（要求を処理し通知を発行するハンドラ）を作成し、作成したハンドラを要求ＢＯＸ６７２のインターフェイス（ＩＦ）が保持するハンドラテーブル（ＨＴ）に登録する。図３に示す例では、オーナーとしての制御ＣｒＯを行うためのハンドラとして、汎用操作要求ハンドラ（Ｈｄ）ＲＨａやジョブ処理要求ハンドラＲＨｂ、ジョブ情報操作要求ハンドラＲＨｃ、情報操作要求ハンドラＲＨｄが作成され、作成された各ハンドラは、要求ＢＯＸ６７２における対応するインターフェイス（汎用操作要求インターフェイスＲＩＦａ、ジョブ処理要求インターフェイスＲＩＦｂ、ジョブ情報操作要求インターフェイスＲＩＦｃ、情報操作要求インターフェイスＲＩＦｄ）が保持するハンドラテーブル（汎用操作要求ハンドラテーブルＨＴａ、ジョブ処理要求ハンドラテーブルＨＴｂ、ジョブ情報操作要求ハンドラテーブルＨＴｃ、情報操作要求ハンドラテーブルＨＴｄ）に登録される。なお、このとき各コンポーネントは、各コンポーネントが受信を希望する情報を特定する情報特定情報を予め要求ＢＯＸ６７２内のテーブルに登録する登録手段として機能する。また、要求は、１つのコンポーネントから１つのコンポーネントに対して発行される。すなわち、要求の送信コンポーネントと受信コンポーネントは、１対１の関係である。
【００３４】
図４は、各ハンドラテーブルの内容の一例を示す説明図である。図４（ａ）に示すように、汎用操作要求ハンドラテーブルＨＴａには、要求を特定する情報としての汎用操作要求の処理者を判別する識別子（例えば、プリンターデバイスの識別子）と、汎用操作要求ハンドラＲＨａ（例えば、プリンターデバイス制御コンポーネント５１０の汎用操作要求ハンドラＲＨａ）と、が対応付けて登録される。また、図４（ｂ）に示すように、ジョブ処理要求ハンドラテーブルＨＴｂには、要求を特定する情報としてのジョブを特定する識別子（例えば、コピージョブ識別子、プリントジョブ識別子、スキャンジョブ識別子）と、ジョブ処理要求ハンドラＲＨｂ（例えば、コピー機能制御コンポーネント４３０やプリント機能制御コンポーネント４１０、スキャン機能制御コンポーネント４２０のジョブ処理要求ハンドラＲＨｂ）と、が対応付けて登録される。また、図４（ｃ）に示すように、ジョブ情報操作要求ハンドラテーブルＨＴｃには、要求を特定する情報としてのジョブ情報の処理者を判別するためのジョブの識別子（例えば、コピージョブ識別子、プリントジョブ識別子、スキャンジョブ識別子）と、ジョブ情報操作要求ハンドラＲＨｃ（例えば、コピー機能制御コンポーネント４３０やプリント機能制御コンポーネント４１０、スキャン機能制御コンポーネント４２０のジョブ情報操作要求ハンドラＲＨｃ）と、が対応付けて登録される。また、図４（ｄ）に示すように、情報操作要求ハンドラテーブルＨＴｄには、要求を特定する情報としての要求の処理者を判別するための識別子（例えば、コピー機能識別子、プリンターデバイス識別子、スキャナーデバイス識別子）と、情報操作要求ハンドラＲＨｄ（例えば、コピー機能制御コンポーネント４３０やプリンターデバイス制御コンポーネント５１０、スキャナーデバイス制御コンポーネント５２０の情報操作要求ハンドラＲＨｄ）と、が対応付けて登録される。
【００３５】
クライアントとしての制御ＣｒＣを行う各コンポーネントは、クライアントとしての制御ＣｒＣを行うためのハンドラ（要求を発行し通知を受領するハンドラ）を作成し、作成したハンドラを通知ＢＯＸ６７４のインターフェイスが保持するハンドラリスト（ＨＬ）に登録する。図３に示す例では、クライアントとしての制御ＣｒＣを行うためのハンドラとして、情報通知ハンドラＮＨａやジョブ情報通知ハンドラＮＨｂが作成され、作成されたハンドラは、通知ＢＯＸ６７４における対応するインターフェイス（情報変化通知インターフェイスＮＩＦａ、ジョブ情報変化通知インターフェイスＮＩＦｂ）が保持するハンドラリスト（情報通知ハンドラリストＨＬａ、ジョブ情報通知ハンドラリストＨＬｂ）に登録される。なお、このとき各コンポーネントは、各コンポーネントが受信を希望する情報を特定する情報特定情報を予め通知ＢＯＸ６７４内のテーブルに登録する登録手段として機能する。また、通知は、１つのコンポーネントから１つまたは複数のコンポーネントに対して発行される。すなわち、通知の送信コンポーネントと受信コンポーネントは、１対１または１対複数の関係である。
【００３６】
図５は、各ハンドラリストの内容の一例を示す説明図である。図５（ａ）に示すように、情報通知ハンドラリストＨＬａには、通知を特定する情報としての情報通知名毎に、通知の配信先の情報通知ハンドラＮＨａが登録される。また、図５（ｂ）に示すように、ジョブ情報通知ハンドラリストＨＬｂには、通知を特定する情報としてのジョブ情報通知名毎に、ジョブ情報の通知先のジョブ情報通知ハンドラＮＨｂが登録される。
【００３７】
クライアントとしての制御ＣｒＣにおける要求発行者ＲＩは、図３に示すように、要求ＢＯＸ６７２に対して要求を発行する。要求が発行されると、発行された要求の種類に対応するインターフェイスが、保持するハンドラテーブルを参照し、要求を配信すべきハンドラの識別子を取得し、識別子により特定されるハンドラに要求を配信する。要求を受領したハンドラは、例えばジョブ処理者ＪＰや汎用操作者ＧＯに、要求に従った処理を実行させる。一方、オーナーとしての制御ＣｒＯにおいて、情報ＧＩやジョブ情報ＪＩの通知が、通知ＢＯＸ６７４に対して発行される。通知が発行されると、発行された通知の種類に対応するインターフェイスが、保持するハンドラリストを参照し、通知を配信すべきハンドラの識別子を取得し、識別子により特定されるハンドラに通知を配信する。これにより、コンポーネント間における情報（要求および通知）の送受信が実現される。なお、各インターフェイスは、一のコンポーネントから他のコンポーネントに配信されるべき情報を取得する取得手段として機能すると共に、取得された情報を配信するべきコンポーネントを配信ＢＯＸ６７０内の情報に基づき特定し、特定されたコンポーネントに情報を配信する配信手段として機能する。
【００３８】
なお、登録処理は任意のタイミングで実行可能である。例えば、登録処理は、製品出荷前に実行されるとしてもよいし、プリンター１００の電源ＯＮ時にハードウェアやオプションの有無を検出して必要な登録処理を実行するものとしてもよい。
【００３９】
図６は、オーナーとしての制御ＣｒＯを行うためのハンドラ登録の例をより詳細に示す説明図である。プリンターデバイス制御コンポーネント５１０では、プリンターデバイス（ＰＤ）処理者ＰＤＰが、プリンターデバイス情報操作要求ハンドラＰＤＲＨｄを作成し（図６の（１）参照）、要求ＢＯＸ６７２の情報操作要求インターフェイスＲＩＦｄに対して、プリンターデバイス識別子とプリンターデバイス情報操作要求ハンドラＰＤＲＨｄの指定とを引数とした登録指示を発行する（図６の（２）参照）。指示を受け取った情報操作要求インターフェイスＲＩＦｄは、情報操作要求ハンドラテーブルＨＴｄに、プリンターデバイスの識別子とプリンターデバイス情報操作要求ハンドラＰＤＲＨｄとを対応付ける配信情報を登録する（図６の（３）参照）。
【００４０】
同様に、スキャン機能制御コンポーネント４２０では、スキャン機能（ＳＦ）処理者ＳＦＰが、スキャン機能情報操作要求ハンドラＳＦＲＨｄを作成し（図６の（４）参照）、要求ＢＯＸ６７２の情報操作要求インターフェイスＲＩＦｄに対して、スキャン機能識別子とスキャン機能情報操作要求ハンドラＳＦＲＨｄの指定とを引数とした登録指示を発行する（図６の（５）参照）。指示を受け取った情報操作要求インターフェイスＲＩＦｄは、情報操作要求ハンドラテーブルＨＴｄに、スキャン機能識別子とスキャン機能情報操作要求ハンドラＳＦＲＨｄとを対応付ける配信情報を登録する（図６の（６）参照）。
【００４１】
また、コピー機能制御コンポーネント４３０では、コピー機能（ＣＦ）処理者ＣＦＰが、コピー機能ジョブ情報操作要求ハンドラＣＦＲＨｃを作成し（図６の（７）参照）、要求ＢＯＸ６７２のジョブ情報操作要求インターフェイスＲＩＦｃに対して、コピー機能ジョブ識別子とコピー機能ジョブ情報操作要求ハンドラＣＦＲＨｃの指定とを引数とした登録指示を発行する（図６の（８）参照）。指示を受け取ったジョブ情報操作要求インターフェイスＲＩＦｃは、ジョブ情報操作要求ハンドラテーブルＨＴｃに、コピー機能ジョブ識別子とコピー機能ジョブ情報操作要求ハンドラＣＦＲＨｃとを対応付ける配信情報を登録する（図６の（９）参照）。
【００４２】
また、プリント機能制御コンポーネント４１０では、プリント機能（ＰＦ）処理者ＰＦＰが、プリント機能ジョブ処理要求ハンドラＰＦＲＨｂを作成し（図６の（１０）参照）、要求ＢＯＸ６７２のジョブ処理要求インターフェイスＲＩＦｂに対して、プリントジョブ識別子とプリント機能ジョブ処理要求ハンドラＰＦＲＨｂの指定とを引数とした登録指示を発行する（図６の（１１）参照）。指示を受け取ったジョブ処理要求インターフェイスＲＩＦｂは、ジョブ処理要求ハンドラテーブルＨＴｂに、プリントジョブ識別子とプリント機能ジョブ処理要求ハンドラＰＦＲＨｂとを対応付ける配信情報を登録する（図６の（１２）参照）。
【００４３】
図７は、要求の配信の例をより詳細に示す説明図である。図７には、図６に示した登録処理が実行された状態における要求の配信の例を示している。操作パネル制御コンポーネント３１０では、プリンターの節電設定を変更する指示が受領されると、パネル制御処理者ＯＣＰが、要求ＢＯＸ６７２の情報操作要求インターフェイスＲＩＦｄに対して、プリンターデバイス識別子とプリンター節電設定変更値とを引数とする設定変更要求を発行する（図７の（１）参照）。要求を受け取った情報操作要求インターフェイスＲＩＦｄは、情報操作要求ハンドラテーブルＨＴｄを参照して、要求の引数としてのプリンターデバイス識別子に対応付けられたハンドラを特定（取得）し（図７の（２）参照）、取得されたハンドラ（プリンターデバイス情報操作要求ハンドラＰＤＲＨｄ）に対して、プリンター節電設定変更値を引数とする要求を配信する（図７の（３）参照）。要求を受領したプリンターデバイス情報操作要求ハンドラＰＤＲＨｄは、プリンター節電情報ＰＧＩの値を要求において指定された値に変更する（図７の（４）参照）。
【００４４】
同様に、操作パネル制御コンポーネント３１０では、ネットワークスキャンの制限設定を変更する指示が受領されると、パネル制御処理者ＯＣＰが、要求ＢＯＸ６７２の情報操作要求インターフェイスＲＩＦｄに対して、スキャン機能識別子とネットワークスキャン制限変更値とを引数とする設定変更要求を発行する（図７の（５）参照）。要求を受け取った情報操作要求インターフェイスＲＩＦｄは、情報操作要求ハンドラテーブルＨＴｄを参照して、要求の引数としてのスキャン機能識別子に対応付けられたハンドラを特定（取得）し（図７の（６）参照）、取得されたハンドラ（スキャン機能情報操作要求ハンドラＳＦＲＨｄ）に対して、ネットワークスキャン制限変更値を引数とする要求を配信する（図７の（７）参照）。要求を受領したスキャン機能情報操作要求ハンドラＳＦＲＨｄは、ネットワークスキャン制限情報ＳＧＩの値を要求において指定された値に変更する（図７の（８）参照）。
【００４５】
また、操作パネル制御コンポーネント３１０では、コピージョブにおけるコピー部数を変更する指示が受領されると、パネル制御処理者ＯＣＰが、要求ＢＯＸ６７２のジョブ情報操作要求インターフェイスＲＩＦｃに対して、コピージョブ識別子と部数変更値とジョブ番号とを引数とするジョブ設定変更要求を発行する（図７の（９）参照）。要求を受け取ったジョブ情報操作要求インターフェイスＲＩＦｃは、ジョブ情報操作要求ハンドラテーブルＨＴｃを参照して、要求の引数としてのコピージョブ識別子に対応付けられたハンドラを特定（取得）し（図７の（１０）参照）、取得されたハンドラ（コピー機能ジョブ情報操作要求ハンドラＣＦＲＨｃ）に対して、部数変更値とジョブ番号とを引数とする要求を配信する（図７の（１１）参照）。要求を受領したコピー機能ジョブ情報操作要求ハンドラＣＦＲＨｃは、ジョブ番号に対応したコピー部数情報ＣＪＩの値を要求において指定された値に変更する（図７の（１２）参照）。
【００４６】
また、操作パネル制御コンポーネント３１０では、プリントジョブの開始指示が受領されると、パネル制御処理者ＯＣＰが、要求ＢＯＸ６７２のジョブ処理要求インターフェイスＲＩＦｂに対して、プリントジョブ識別子とジョブ番号とを引数とするジョブ開始要求を発行する（図７の（１３）参照）。要求を受け取ったジョブ処理要求インターフェイスＲＩＦｂは、ジョブ処理要求ハンドラテーブルＨＴｂを参照して、要求の引数としてのプリントジョブ識別子に対応付けられたハンドラを特定（取得）し（図７の（１４）参照）、取得されたハンドラ（プリント機能ジョブ処理要求ハンドラＰＦＲＨｂ）に対して、ジョブ番号を引数とする要求を配信する（図７の（１５）参照）。要求を受領したプリント機能ジョブ処理要求ハンドラＰＦＲＨｂは、プリント機能ジョブ処理者ＰＪＰに対してジョブ番号に対応したジョブの開始を指示する（図７の（１６）参照）。
【００４７】
以上のようにして、クライアントとしての制御ＣｒＣを行うコンポーネントからオーナーとしての制御ＣｒＯを行うコンポーネントへの要求の配信が実現される。
【００４８】
図８は、クライアントとしての制御ＣｒＣを行うためのハンドラ登録の例をより詳細に示す説明図である。操作パネル制御コンポーネント３１０では、パネル制御処理者ＯＣＰが、コピー割付設定情報変更通知ハンドラＣＳＮＨａを作成し、通知ＢＯＸ６７４の情報変化通知インターフェイスＮＩＦａに対して、ハンドラ登録指示を発行する（図８の（１）参照）。指示を受け取った情報変化通知インターフェイスＮＩＦａは、情報通知ハンドラリストＨＬａの内のコピー割付設定情報通知ハンドラリストＣＳＨＬａに、コピー割付設定情報変更通知ハンドラＣＳＮＨａを登録する（図８の（２）参照）。
【００４９】
同様に、操作パネル制御コンポーネント３１０では、パネル制御処理者ＯＣＰが、プリンターデバイス（ＰＤ）紙詰まり情報およびスキャナーデバイス（ＳＤ）紙詰まり情報通知ハンドラＪＩＮＨａを作成し、通知ＢＯＸ６７４の情報変化通知インターフェイスＮＩＦａに対して、ハンドラ登録指示を発行する（図８の（３）および（５）参照）。指示を受け取った情報変化通知インターフェイスＮＩＦａは、情報通知ハンドラリストＨＬａの内のプリンターデバイス紙詰まり情報通知ハンドラリストＰＪＨＬａに、プリンターデバイス紙詰まり情報およびスキャナーデバイス紙詰まり情報通知ハンドラＪＩＮＨａを登録すると共に（図８の（４）参照）、スキャナーデバイス紙詰まり情報通知ハンドラリストＳＪＨＬａに、プリンターデバイス紙詰まり情報およびスキャナーデバイス紙詰まり情報通知ハンドラＪＩＮＨａを登録する（図８の（６）参照）。
【００５０】
図９は、通知の配信の例をより詳細に示す説明図である。図９には、図８に示した登録処理が実行された状態における通知の配信の例を示している。コピー機能制御コンポーネント４３０は、コピー割付の設定が変更され、コピー機能情報操作要求ハンドラＣＦＲＨｄによりコピー割付設定情報ＣＳＩが変更されると（図９の（１）参照）、通知ＢＯＸ６７４の情報変化通知インターフェイスＮＩＦａに対して、コピー割付設定情報ＣＳＩが変更されたことを伝える通知を発行する（図９の（２）参照）。通知を受け取った情報変化通知インターフェイスＮＩＦａは、コピー割付設定情報通知ハンドラリストＣＳＨＬａを参照して、通知の配信先として登録されたハンドラを特定（取得）し（図９の（３）参照）、取得されたハンドラ（コピー割付設定情報変更通知ハンドラＣＳＮＨａ）に対して、コピー割付設定情報ＣＳＩが変更されたことを伝える通知を配信する（図９の（４）参照）。
【００５１】
同様に、スキャナーデバイス制御コンポーネント５２０は、スキャナーデバイス処理者ＳＤＰによりスキャナーデバイス紙詰まり情報ＳＪＩが変更されると（図９の（５）参照）、通知ＢＯＸ６７４の情報変化通知インターフェイスＮＩＦａに対して、スキャナーデバイス紙詰まり情報ＳＪＩが変更されたことを伝える通知を発行する（図９の（６）参照）。通知を受け取った情報変化通知インターフェイスＮＩＦａは、スキャナーデバイス紙詰まり情報通知ハンドラリストＳＪＨＬａを参照して、通知の配信先として登録されたハンドラを特定（取得）し（図９の（７）参照）、取得されたハンドラ（プリンターデバイス紙詰まり情報およびスキャナーデバイス紙詰まり情報通知ハンドラＪＩＮＨａ）に対して、スキャナーデバイス紙詰まり情報ＳＪＩが変更されたことを伝える通知を配信する（図９の（８）参照）。
【００５２】
同様に、プリンターデバイス制御コンポーネント５１０は、プリンターデバイス処理者ＰＤＰによりプリンターデバイス紙詰まり情報ＰＪＩが変更されると（図９の（９）参照）、通知ＢＯＸ６７４の情報変化通知インターフェイスＮＩＦａに対して、プリンターデバイス紙詰まり情報ＰＪＩが変更されたことを伝える通知を発行する（図９の（１０）参照）。通知を受け取った情報変化通知インターフェイスＮＩＦａは、プリンターデバイス紙詰まり情報通知ハンドラリストＰＪＨＬａを参照して、通知の配信先として登録されたハンドラを特定（取得）し（図９の（１１）参照）、取得されたハンドラ（プリンターデバイス紙詰まり情報およびスキャナーデバイス紙詰まり情報通知ハンドラＪＩＮＨａ）に対して、プリンターデバイス紙詰まり情報ＰＪＩが変更されたことを伝える通知を配信する（図９の（１２）参照）。
【００５３】
以上のようにして、オーナーとしての制御ＣｒＯを行うコンポーネントからクライアントとしての制御ＣｒＣを行うコンポーネントへの通知の配信が実現される。
【００５４】
以上説明したように、本実施例のプリンター１００では、各コンポーネントが受信を希望する要求を特定する情報（情報特定情報）が予めハンドラテーブルＨＴに登録され、クライアントとしての制御ＣｒＣを行うコンポーネントからの要求が配信ＢＯＸ６７０の要求ＢＯＸ６７２に受信されると、受信された要求を配信するべきコンポーネントがハンドラテーブルＨＴに基づき特定され、特定されたコンポーネントに要求が配信される。同様に、本実施例のプリンター１００では、各コンポーネントが受信を希望する通知を特定する情報（情報特定情報）が予めハンドラリストＨＬに登録され、オーナーとしての制御ＣｒＯを行うコンポーネントからの通知が配信ＢＯＸ６７０の通知ＢＯＸ６７４に受信されると、受信された通知を配信するべきコンポーネントがハンドラリストＨＬに基づき特定され、特定されたコンポーネントに通知が配信される。すなわち、本実施例のプリンター１００では、コンポーネント間の情報（要求および通知）の送受信の際に、情報の送信側のコンポーネントが受信側のコンポーネントを指定する必要が無い。そのため、プリンター１００のハードウェア構成や機能の構成が変更され、制御プログラム１２４に含まれるコンポーネントが変更されても、各コンポーネントにおける情報の送受信に関する部分を変更する必要がなく、各コンポーネントは通信相手のコンポーネントを意識することなく設計可能である。従って、本実施例のプリンター１００では、コンピューター１１０が組み込まれた装置としてのプリンター１００の制御用の制御プログラム１２４の設計負担を軽減することができる。
【００５５】
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００５６】
Ｂ１．変形例１：
上記実施例におけるプリンター１００のハードウェア構成やプリンター１００の提供する機能は、あくまで一例であり、種々変形可能である。また、制御プログラム１２４を構成する各コンポーネント（図２）は、プリンター１００のハードウェア構成やプリンター１００の提供する機能に応じて、種々変形可能である。例えば、プリンター１００は、スキャナーエンジン１６０およびファックスエンジン１７０を有さず、プリント機能のみを提供するシングルファンクションプリンターであるとしてもよい。また、上記実施例におけるハンドラテーブルＨＴやハンドラリストＨＬの構成および内容や要求および通知の種類および内容は、あくまで一例であり、種々変形可能である。
【００５７】
また、上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。また、本発明は、プリンターに限らず、コンピューターが組み込まれた装置においてコンピューターにより制御を行う場合に共通に適用可能である。
【００５８】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータープログラム）は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。
【符号の説明】
【００５９】
１００…プリンター
１１０…コンピューター
１１２…ＣＰＵ
１１４…メモリー
１２４…制御プログラム
１４０…操作パネル
１４２…スイッチ
１４４…モニター
１５０…プリンターエンジン
１６０…スキャナーエンジン
１７０…ファックスエンジン
１９２…記憶媒体インターフェイス
１９４…ネットワークインターフェイス
２００…システム統制コンポーネント
２１０…各種設定機能コンポーネント
２２０…認証管理機能コンポーネント
２３０…メンテナンス機能コンポーネント
３００…操作制御コンポーネント
３１０…操作パネル制御コンポーネント
４００…機能制御コンポーネント
４１０…プリント機能制御コンポーネント
４２０…スキャン機能制御コンポーネント
４３０…コピー機能制御コンポーネント
４４０…ファックス機能制御コンポーネント
５００…デバイス制御コンポーネント
５１０…プリンターデバイス制御コンポーネント
５２０…スキャナーデバイス制御コンポーネント
５３０…ファックスデバイス制御コンポーネント
６００…アーキテクチャコンポーネント
６１０…全体制御コンポーネント
６２０…機能制御コンポーネント
６３０…デバイス制御コンポーネント
６４０…画像処理メモリー管理コンポーネント
６５０…不揮発性データ管理コンポーネント
６６０…リソースデータ管理コンポーネント
６７０…配信ＢＯＸ
６７２…要求ＢＯＸ
６７４…通知ＢＯＸ
７００…共用コンポーネント
７１０…リソースデータコンポーネント
７２０…不揮発性データコンポーネント
７３０…デバイスドライバーコンポーネント
７４０…ライブラリーコンポーネント
【図１】
2011142378.tif 000003
【図２】
2011142378.tif 000004
【図３】
2011142378.tif 000005
【図４】
2011142378.tif 000006
【図５】
2011142378.tif 000007
【図６】
2011142378.tif 000008
【図７】
2011142378.tif 000009
【図８】
2011142378.tif 000010
【図９】
2011142378.tif 000011