(57)【特許請求の範囲】
【請求項１】
画像形成に関する処理を実行するアプリケーションと、
夫々異なる通信プロトコルに従ってデータ送受信を行う複数の通信プロトコルデーモンと、
上記各通信プロトコルデーモンからの接続通知に応じて、該通信プロトコルデーモンに代わって、該通信プロトコルデーモンにて接続要求があったことを上記アプリケーションへ通知することによって接続を仲介する接続要求仲介手段とを有することを特徴とする画像形成装置。
【請求項２】
上記アプリケーションと上記通信プロトコルデーモンによって共有され、受信データ及び送信データを格納し、上記アプリケーションと該複数の通信プロトコルデーモンとの間で該受信データ及び該送信データの受け渡しに使用される共有メモリとを有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
上記接続要求仲介手段は、
上記アプリケーションからの登録要求に応じて該アプリケーションを登録する登録手段と、
上記アプリケーションから送受信バッファの登録要求に応じて、該アプリケーション専用に使用される受信用バッファ及び送信用バッファとを登録して使用可能状態とするバッファ登録手段とを有することを特徴とする請求項１記載の画像形成装置。
【請求項４】
上記接続要求仲介手段は、
上記各通信プロトコルデーモンからの接続通知を受けると、上記共有メモリ内に上記接続中にて使用される受信用バッファと送信用バッファとを割り当てて、上記通信プロトコルデーモンに通知する送受信バッファ割当手段を有することを特徴とする請求項２又は３のいずれか一項記載の画像形成装置。
【請求項５】
上記アプリケーションは、
上記接続要求仲介手段から接続の通知を受信すると、該接続要求仲介手段に接続許可を通知すると共に、上記通信プロトコルデーモンに対して接続を行う接続処理手段と、
上記通信プロトコルデーモンへデータ受信の開始を要求するデータ受信開始要求手段とを有することを特徴とする請求項１乃至４のいずれか一項記載の画像形成装置。
【請求項６】
上記各通信プロトコルデーモンは、
上記通信プロトコルデーモンが受信データを上記送受信バッファ割当手段によって割り当てられた上記受信用バッファに書き込んで、書き込み開始位置をデータ長分移動する受信データ書込手段と、
上記アプリケーションに、上記受信用バッファへ上記受信データを書き込んだことを通知すると共に、該受信データの書き込み開始位置と書き込み終了位置とを指定する書き込み通知を行う受信書込通知手段とを有することを特徴とする請求項４又は５項記載の画像形成装置。
【請求項７】
上記アプリケーションは、
上記通信プロトコルデーモンから上記受信データの書き込み通知を受信すると、該書き込み通知で指定される上記書き込み開始位置から上記書き込み終了位置まで上記受信用バッファから上記受信データを読み出して、読み出し開始位置を該書き込み終了位置まで移動する受信データ読込手段と、
上記通信プロトコルデーモンに、上記受信用バッファから上記受信データを読み出したことを通知する受信読出通知手段とを有することを特徴とする請求項６記載の画像形成装置。
【請求項８】
上記アプリケーションは、
上記バッファ登録手段によって登録された上記送信用バッファへ送信データを書き込んで、書き込み開始位置をデータ長分移動する送信データ書き込み手段と、
上記通信プロトコルデーモンに、上記送信用バッファへ上記送信データを書き込んだことを通知すると共に、該送信データの書き込み開始位置と書き込み終了位置とを指定する書き込み通知を行う送信書込通知手段とを有することを特徴とする請求項４乃至７のいずれか一項記載の画像形成装置。
【請求項９】
上記各通信プロトコルデーモンは、
上記アプリケーションから上記送信データの書き込み通知を受信すると、該書き込み通知で指定される上記書き込み開始位置から上記書き込み終了位置まで上記送信用バッファから上記送信データを読み出して、上記アプリケーションと接続した上記通信プロトコルデーモンに該送信データを送信させる送信データ読出手段と、
上記読み出し開始位置を上記書き込み終了位置まで移動する読出開始位置移動手段と、
上記アプリケーションに、上記送信用バッファから上記送信データを読み出したことを通知する送信読出通知手段とを有することを特徴とする請求項８記載の画像形成装置。
【請求項１０】
上記通信プロトコルデーモンは、
上記受信データを全て上記アプリケーションに通知すると、該アプリケーションに対してデータ受信完了を通知する受信完了手段と、
上記アプリケーションからの切断の要求に応じて、上記接続要求仲介手段へ終了通知を行う終了通知手段とを有することを特徴とする請求項６乃至９のいずれか一項記載の画像形成装置。
【請求項１１】
上記アプリケーションは、
上記通信プロトコルデーモンから上記送信データを読み出した通知を受信すると、該通信プロトコルデーモンに対して切断を要求する切断要求手段を有することを特徴とする請求項１０記載の画像形成装置。
【請求項１２】
上記通信プロトコルデーモンは、
上記アプリケーションからの切断の要求に応じて、上記通信プロトコルデーモンに対する接続終了処理を行い、上記接続要求仲介手段へ接続終了を通知する接続終了通知手段を有することを特徴とする請求項１１記載の画像形成装置。
【請求項１３】
複数の上記アプリケーションを有し、
上記通信プロトコルデーモンと上記各アプリケーションとは、上記共有メモリを介して上記データ送受信を制御することを特徴とする請求項２乃至１２のいずれか一項記載の画像形成装置。
【請求項１４】
上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記複数のアプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、
該複数のアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項１乃至１３のいずれか一項記載の画像形成装置。
【請求項１５】
コンピュータが夫々異なる通信プロトコルに従ってデータ送受信を行う複数の通信プロトコルデーモンと複数のアプリケーションとの間で行われるデータ送受信を制御するデータ送受信制御方法において、
上記上記各通信プロトコルデーモンからの接続通知に応じて、該通信プロトコルデーモンに代わって、該通信プロトコルデーモンにて接続要求があったことを上記アプリケーションへ通知することによって接続を仲介する接続要求仲介手順と、
上記複数の通信プロトコルデーモンによって共有される共有メモリを介して上記アプリケーションとの間で行われる受信データ及び送信データの受け渡しを制御するデータ送受信制御手順とを有することを特徴とするデータ送受信制御方法。
【請求項１６】
夫々異なる通信プロトコルに従ってデータ送受信を行う複数の通信プロトコルデーモンと複数のアプリケーションとの間で行われるデータ送受信を制御するデータ送受信制御方法での処理をコンピュータに実行させるプログラムであって、
上記上記各通信プロトコルデーモンからの接続通知に応じて、該通信プロトコルデーモンに代わって、該通信プロトコルデーモンにて接続要求があったことを上記アプリケーションへ通知することによって接続を仲介する接続要求仲介手順と、
上記複数の通信プロトコルデーモンによって共有される共有メモリを介して上記アプリケーションとの間で行われる受信データ及び送信データの受け渡しを制御するデータ送受信制御手順とを有することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、本発明は、複数の通信プロトコルを有する画像形成処理装置に係り、詳しくは、アプリケーションが多種多様な通信プロトコルに応じた処理部を有することなくデータの送受信を行うことができ、通信プロトコル及びアプリケーションの追加を容易とする画像形成処理装置を提供するものである。
【０００２】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する３種類のアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
【発明が解決しようとする課題】
しかしながら、近年のインターネットの普及及び通信プロトコルの多様化にともなって、プリンタ機能を有する上記従来の複合型画像形成装置は、市場要求として多種多様なインターフェイスからの印刷要求に応じなければならなくなってきた。上記従来の複合型画像形成装置において、このような市場要求に応じるため、新しいインターフェイスが追加される毎に個別に対応をしてきた。個別に対応する場合、従来から実装されているアプリケーションに新規のインターフェイスに対応するために手を加えなければならない。また、新規にアプリケーションを開発して実装するためには、複数のインターフェイスに対応するように開発を行わなければならない等の問題があった。
【０００４】
そこで、本発明の課題は、多種多様なインターフェイスを介して接続される機器との間の印刷データ及び画像データの送受信制御を行うことによって、多種多様な通信プロトコルと夫々異なる画像形成処理を行う複数のアプリケーションとを仲介する仲介処理部を有し、通信プロトコル及びアプリケーションの追加を容易とする画像形成処理装置を提供することである。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項１に記載されるように、画像形成に関する処理を実行するアプリケーションと、夫々異なる通信プロトコルに従ってデータ送受信を行う複数の通信プロトコルデーモンと、上記各通信プロトコルデーモンからの接続通知に応じて、該通信プロトコルデーモンに代わって、該通信プロトコルデーモンにて接続要求があったことを上記アプリケーションへ通知することによって接続を仲介する接続要求仲介手段とを有するように構成される。また、本発明は、請求項２に記載されるように、上記複数の通信プロトコルデーモンによって共有され、受信データ及び送信データを格納し、上記アプリケーションと該複数の通信プロトコルデーモンとの間で該受信データ及び該送信データの受け渡しに使用される共有メモリとを有するように構成することができる。
【０００６】
このような画像形成装置では、多種多様な通信プロトコルと画像形成に関する処理を実行するアプリケーションとの接続を仲介する接続要求仲介手段（要求仲介デーモン７）及び共有メモリ（９９）を用いてデータ送受信を制御するプロトコル制御デーモン９が構成される。そのため、複数の通信プロトコルのインターフェイスと各アプリケーションとが互いを意識する必要がない。従って、このような画像形成装置への通信プロトコル及びアプリケーションの追加を容易に行うことができる。
【０００７】
また、本発明は、請求項３に記載されるように、上記接続要求仲介手段は、上記アプリケーションからの登録要求に応じて該アプリケーションを登録する登録手段と、上記アプリケーションから送受信バッファの登録要求に応じて、該アプリケーション専用に使用される受信用バッファ及び送信用バッファとを登録して使用可能状態とするバッファ登録手段とを有するように構成することができる。
【０００８】
このような画像形成装置では、要求仲介手段によって登録したアプリケーションに専用の受信用バッファ及び送信用バッファを登録することをできる。
【０００９】
更に、本発明は、請求項４に記載されるように、上記接続要求仲介手段は、上記各通信プロトコルデーモンからの接続通知を受けると、上記共有メモリ内に上記接続中にて使用される受信用バッファと送信用バッファとを割り当てて、上記通信プロトコルデーモンに通知する送受信バッファ割当手段とを有するように構成することができる。
【００１０】
このような画像形成装置では、接続要求仲介手段が、接続要求をした通信プロトコルーモンに受信用バッファと送信用バッファとを割り当てる。
【００１１】
また、本発明は、請求項５に記載されるように、上記アプリケーションは、上記接続要求仲介手段から接続の通知を受信すると、該接続要求仲介手段接続許可を通知すると共に、上記通信プロトコルデーモンに対して接続を行う接続処理手段と、上記通信プロトコルデーモンへデータ受信の開始を要求するデータ受信開始要求手段とを有するように構成することができる。
【００１２】
このような画像形成装置では、アプリケーションは、各通信プロトコルデーモンからではなく接続要求仲介手段からの接続通知に応じて、接続要求をした通信プロトコルデーモンへのデータ受信の開始を要求する。
【００１３】
更に、本発明は、請求項６に記載されるように、上記各通信プロトコルデーモンは、上記通信プロトコルデーモンが受信データを上記送受信バッファ割当手段によって割り当てられた上記受信用バッファに書き込んで、書き込み開始位置をデータ長分移動する受信データ書込手段と、上記アプリケーションに、上記受信用バッファへ上記受信データを書き込んだことを通知すると共に、該受信データの書き込み開始位置と書き込み終了位置とを指定する書き込み通知を行う受信書込通知手段とを有するように構成することができる。
【００１４】
このような画像形成装置では、通信プロトコルデーモンが接続要求仲介手段によって割り当てられた受信データを共有メモリに書き込むため、アプリケーションは、各通信プロトコルデーモンと直接に受信データの受け渡しを行なわなくて良い。また、通信プロトコルデーモンから受信データを書き込んだことが通知されるため、共有メモリに書き込まれた受信データの読み込みのタイミングを知ることができる。
【００１５】
また、本発明は、請求項７に記載されるように、上記アプリケーションは、上記通信プロトコルデーモンから上記受信データの書き込み通知を受信すると、該書き込み通知で指定される上記書き込み開始位置から上記書き込み終了位置まで上記受信用バッファから上記受信データを読み出して、読み出し開始位置を該書き込み終了位置まで移動する受信データ読込手段と、上記通信プロトコルデーモンに、上記受信用バッファから上記受信データを読み出したことを通知する受信読出通知手段とを有するように構成することができる。
【００１６】
このような画像形成装置では、アプリケーションは、受信データを共有メモリから読み込んだことを通信プロトコルデーモンに通知する。このように、通信プロトコルデーモンに通知することによって、続く次の受信データの共有メモリへの格納を通信プロトコルデーモンに知らせることができる。
【００１７】
更に、本発明は、請求項８に記載されるように、上記アプリケーションは、上記バッファ登録手段によって登録された上記送信用バッファへ送信データを書き込んで、書き込み開始位置をデータ長分移動する送信データ書き込み手段と、上記通信プロトコルデーモンに、上記送信用バッファへ上記送信データを書き込んだことを通知すると共に、該送信データの書き込み開始位置と書き込み終了位置とを指定する書き込み通知を行う送信書込通知手段とを有するように構成することができる。
【００１８】
このような画像形成装置では、アプリケーションが接続要求仲介手段のバッファ登録手段によって登録された送信データを共有メモリに書き込むため、アプリケーションは、各通信プロトコルデーモンと直接に送信データの受け渡しを行なわなくて良い。また、アプリケーションは通信プロトコルデーモンに送信データを書き込んだことを通知するため、通信プロトコルデーモンは共有メモリに書き込まれた送信データの読み込みのタイミングを知ることができる。
【００１９】
また、本発明は、請求項９に記載されるように、上記各通信プロトコルデーモンは、上記アプリケーションから上記送信データの書き込み通知を受信すると、該書き込み通知で指定される上記書き込み開始位置から上記書き込み終了位置まで上記送信用バッファから上記送信データを読み出して、上記アプリケーションと接続した上記通信プロトコルデーモンに該送信データを送信させる送信データ読出手段と、上記読み出し開始位置を上記書き込み終了位置まで移動する読出開始位置移動手段と、上記アプリケーション手段に、上記送信用バッファから上記送信データを読み出したことを通知する送信読出通知手段とを有するように構成することができる。
【００２０】
このような画像形成装置では、通信プロトコルデーモンは、送信データを共有メモリから読み込んだことをアプリケーションに通知する。このように、アプリケーションに通知することによって、続く次の送信データの共有メモリへの格納をアプリケーションに知らせることができる。
【００２１】
更に、本発明は、請求項１０に記載されるように、上記通信プロトコルデーモンは、上記受信データを全て上記アプリケーションに通知すると、該アプリケーションに対してデータ受信完了を通知する受信完了手段と、上記アプリケーションからの切断の要求に応じて、上記接続要求仲介手段へ終了通知を行う終了通知手段とを有するように構成することができる。
【００２２】
このような画像形成装置では、通信プロトコルデーモンは、データの受信が完了したことをアプリケーションに通知し、アプリケーションからの切断の要求に応じて、接続要求手段に対して通信が切断されたことを通知する。
【００２３】
また、本発明は、請求項１１に記載されるように、上記アプリケーションは、上記通信プロトコルデーモンから上記送信データを読み出した通知を受信すると、該通信プロトコルデーモンに対して切断を要求する切断要求手段を有するように構成することができる。
【００２４】
このような画像形成装置では、アプリケーションは、通信プロトコルデーモンに切断を要求する。
【００２５】
更に、本発明は、請求項１２に記載されるように、上記各通信プロトコルデーモンは、上記アプリケーションからの切断の要求に応じて、上記通信プロトコルデーモンに対する接続終了処理を行い、上記接続要求仲介手段へ接続終了を通知する接続終了通知手段を有するように構成することができる。
【００２６】
このような画像形成装置では、通信プロトコルデーモンは、切断処理を行うと共に、接続要求仲介手段へも接続終了を通知する。
【００２７】
更に、本発明は、請求項１３に記載されるように、複数の上記アプリケーションを有し、上記各通信プロトコルデーモンと上記各アプリケーションとは、上記共有メモリを介して上記データ送受信を制御するように構成することができる。
【００２８】
このような画像形成装置では、複数のアプリケーションから複数の通信プロトコルデーモンとのデータ送受信の制御において、複数の通信プロトコルのインターフェイスと各アプリケーションとが互いを意識する必要がない。
【００２９】
更に、本発明は、請求項１４に記載されるように、上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記複数のアプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、該複数のアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有するように構成することができる。
【００３０】
このような画像形成装置では、複数の通信プロトコルデーモンと複数のアプリケーションとの間で画像形成に関するデータを送受信すると共に、実行された複数のアプリケーションによって、複数のハードウェア資源へのアクセスをも実現することができる。
【００３１】
上記課題を解決するための手段として、本発明は、上記画像形成装置での処理をコンピュータに行なわせるためのデータ送受信制御方法及び該処理をコンピュータに実行させるためのプログラムとすることもできる。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００３３】
多種の画像形成機能を融合する本発明の実施の一形態に係る画像形成装置（以下、融合機と言う）は、例えば、図１に示すような機能構成を成す。図１は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【００３４】
図１において、融合機１２００は、プロッタ１２０１と、スキャナ１２０２と、その他ハードウェアリソース１２０３などを有するとともに、プラットフォーム１２２０とアプリケーション１２３０とから構成されるソフトウェア群１２１０と、融合機起動部１２４０とを備えている。アプリケーション１２３０は、後述される複数のアプリケーション１２１１から１２１７全体を示す。
【００３５】
融合機起動部１２４０は、融合機１２００の電源投入時に先ず始めに実行され、プラットフォーム１２２０やアプリケーション１２３０を起動する。
【００３６】
プラットフォーム１２２０は、アプリケーション１２３０からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス１２５０と、一または複数のハードウェア資源の管理をおこない、コントロールサービス１２５０からの獲得要求を調停するシステムリソースマネージャー（ＳＲＭ（System Resource Manager）１２２３）と、ＯＳ（Operating System）１２２１とを有する。
【００３７】
このコントロールサービス１２５０は、複数のサービスモジュールにより形成され、具体的には、ＳＣＳ（System Control Service）１２２２と、ＥＣＳ（(Engine Control Service)１２２４と、ＭＣＳ（Memory Control Service）１２２５と、ＯＣＳ（Operation panel Control Service）１２２６と、ＦＣＳ（FAX Control Service）１２２７と、ＮＣＳ（Network Control Service）１２２８と、ＩＭＨ（Imaging Memory Handler）１２２９とがある。なお、このプラットフォーム１２２０は、あらかじめ定義された関数により前記アプリケーション１２３０からの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
【００３８】
ＯＳ１２２１は、ＵＮＩＸ（登録商標）などのオペレーティング・システムであり、プラットフォーム１２２０並びにアプリケーション１２３０の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのＵＮＩＸ（登録商標）を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、ＯＳ、ＴＣＰ／ＩＰのロイヤリティが不要であり、アウトソーシングも容易となる。
【００３９】
ＳＲＭ１２２３は、ＳＣＳ１２２２とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４Ｉ／Ｆ、ＲＳ２３２ＣＩ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
【００４０】
具体的には、このＳＲＭ１２２３は、要求されたハードウェア資源が利用可能であるかどうか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングをおこない、要求内容（たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施するようにしてもよい。
【００４１】
ＳＣＳ１２２２は、アプリ管理（機能１）、操作部制御（機能２）、システム画面表示（ジョブリスト画面、カウンタ表示画面など）（機能３）、ＬＥＤ表示（機能４）、リソース管理（機能５）、割り込みアプリ制御（機能６）等の複数の機能を行う。具体的には、アプリ管理（機能１）では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。操作部制御（機能２）では、アプリの操作部使用権の排他制御をおこなう。システム画面表示（機能３）では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。ＬＥＤ表示（機能４）では、警告ＬＥＤ、アプリキーなどのシステムＬＥＤの表示制御をおこなう。リソース管理（機能５）では、アプリ（ＥＣＳ）がジョブを実行するにあたって、排他しなければならないエンジンリソース（スキャナ、ステープルなど）の排他制御のためのサービスをおこなう。割り込みアプリ制御（機能６）では、特定のアプリを優先動作せさるための制御及びサービスをおこなう。
【００４２】
ＥＣＳ１２２４は、プロッタ１２０１、スキャナ１２０２、その他ハードウェアリソース１２０３などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【００４３】
ＭＣＳ１２２５は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などをおこなう。
【００４４】
ＯＣＳ１２２６は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがＧＵＩを構築するためのライブラリ関数を提供する処理、構築されたＧＵＩ情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【００４５】
ＦＣＳ１２２７は、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を使ったファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのＡＰＩ（Application Program Interface）を提供する。
【００４６】
ＮＣＳ１２２８は、ネットワークＩ／Ｏを必要とするアプリケーション１２３０に対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション１２３０に振り分けたり、アプリケーション１２３０からデータをネットワーク側に送信する際の仲介をおこなう。
【００４７】
ＩＭＨ１２２９は、イメージデータを仮想メモリ領域（ユーザー仮想空間）から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放する処理等を行う。
【００４８】
アプリケーション１２３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１２１１と、コピー用アプリケーションであるコピーアプリ１２１２と、ファクシミリ用アプリケーションであるファックスアプリ１２１３と、スキャナ用アプリケーションであるスキャナアプリ１２１４と、ネットファイル用アプリケーションであるネットファイルアプリ１２１５と、工程検査用アプリケーションである工程検査アプリ１２１６と、配信用アプリケーションである配信アプリ１２１７ととを有する。各アプリケーション１２１１〜１２１８は、プラットフォーム１２２０上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、ＮＣＳ１２２８により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
【００４９】
このように、融合機１２００は、各アプリで共通的に必要となる処理をプラットフォーム１２２０で一元的に処理する。
【００５０】
次に、融合機１２００のハードウェア構成について説明する。図２は、図１に示す融合機のハードウェア構成を示すブロック図である。図２に示すように、この融合機１２００は、オペレーションパネル１３１０と、ＦＣＵ（ファックスコントロールユニット）１３２０と、プロッタ１２０１、スキャナ１２０２及びその他ハードウェアで構成されるエンジン部１３５０と、コントローラ１３００のＡＳＩＣ１３０１とをＰＣＩ（Peripheral Component Interconnect）バス等で接続した構成となる。ＦＣＵ１３２０は、受信したファックスデータを格納するための不揮発性メモリ（ＳＡＦ）１３２１と、ＦＣＵ１３２０内での時間を計測するためのＲＴＣ（Real Time Clock）１３２２とを有し、通常Ｇ３規格に従ってファックスデータの送受信を行う。ＦＣＵ１３２０は、オプションとして更にＧ３規格とＧ４規格とを搭載しても良い。
【００５１】
コントローラ１３００は、ＡＳＩＣ１３０１にＭＥＭ−Ｃ１３０２、ＨＤＤ（Hard Disk Drive）１３０３などを接続するとともに、このＡＳＩＣ１３０１とＣＰＵ１３０４とをＣＰＵチップセットのＮＢ１３０５を介して接続している。このように、ＮＢ１３０５を介して接続する理由は、ＣＰＵ１３０４自体のインターフェイスが公開されていないためである。
【００５２】
ここで、このＡＳＩＣ１３０１とＮＢ１３０５は、単にＰＣＩを介して接続されているのではなく、ＡＧＰ１３０８を介して接続されている。このようにＡＧＰ１３０８を介して接続することとした理由は、この融合機１２００がプラットフォーム１２２０やアプリケーション１２３０を形成する複数のプロセスを実行制御する関係上、これらを低速のＰＣＩで接続したのでは、パフォーマンスが低下するからである。
【００５３】
ＣＰＵ１３０４は、融合機１２００の全体制御をおこなうものであり、具体的には、ＯＳ１２２１上でプラットフォーム１２２０を形成するＳＣＳ１２２２、ＳＲＭ１２２３、ＥＣＳ１２２４、ＭＣＳ１２２５、ＯＣＳ１２２６、ＦＣＳ１２２７、ＮＣＳ１２２８をそれぞれプロセスとして起動して実行させるとともに、アプリケーション１２３０を形成するプリンタアプリ１２１１、コピーアプリ１２１２、ファックスアプリ１２１３、スキャナアプリ１２１４、ネットファイルアプリ１２１５、工程検査アプリ１２１６、配信アプリ１２１７を起動して実行させる。
【００５４】
ＮＢ１３０５は、ＣＰＵ１３０４とＭＥＭ−Ｐ１３０６、ＳＢ１３０７、ＡＳＩＣ１３０１とを接続するためのブリッジであり、ＭＥＭ−Ｐ１３０６は、融合機の描画用メモリなどとして用いるシステムメモリであり、ＭＥＭ−Ｃ１３０２は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＡＳＩＣ１３０１は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。
【００５５】
ＮＢ１３０５は、ＰＣＩバスを介してＳＢ１３０７と接続する他、ネットワーク通信を制御するＮＩＣ（Network Interface Controller）１３１１と、パーソナルコンピュータと接続し大容量の画像データの送受信を可能とするＵＳＢ（Universal Serial Bus）１３１２及びＩＥＥＥ1394１３１３と、パラレルケーブルによって接続可能なセントロニクス１３１４と接続する。ＳＢ１３０７は、ＮＢ１３０５とＲＯＭ、ＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＳＢ１３０７は、コントローラ１３００での時間を計測するＲＴＣ（Real Time Clock）１３２３を有する。
【００５６】
ＨＤＤ１３０３は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル１３１０は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
【００５７】
したがって、ＡＳＩＣ１３０１には、ＭＥＭ−Ｃ１３０２を接続するためのＲＡＭインターフェイスと、ＨＤＤ１３０３を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がＲＡＭインターフェイスまたはハードディスクインターフェースに切り替えられる。
【００５８】
ＡＧＰ１３０８は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【００５９】
次に、アプリケーション１２３０とＮＣＳ１２２８間のデータ送受信制御について説明する。
【００６０】
図３は、通信制御を行うプロセスとアプリケーションとの仲介を行うプロセスによる処理の全体概要を示す図である。図３中、図１に示す融合機１２００の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。図３において、融合機１２００は、種々の画像形成処理を実行するアプリケーション１２３０と、種々の通信プロトコルを制御する複数の通信制御デーモンを有するＮＣＳ１２２８と。ＮＣＳ１２２８とアプリケーション１２３０とのインターフェイスを行うＮＡＩ８とを有し、ネットワーク１５に接続される。ＮＣＳ１２２８は、デーモン９とアプリケーション１２３０との仲介をする要求仲介デーモン７と、種々の通信プロトコルデーモンによって構成されるプロトコル制御デーモン９とを有する。プロトコル制御デーモン９は、ｈｔｔｐデーモン２と、ｉｐｐデーモン９１と、ｆｔｐデーモン９２と、ＵＳＢデーモン９３と、ＩＥＥＥ1394デーモン９４と、セントロニクスデーモン９５とを有する。
【００６１】
ｈｔｔｐデーモン２は、例えば、ＨＴＴＰ（Hypertext Transfer Protocol）に従った通信制御を行い、ネットワークの設定、機器の状態監視、及び、アプリと連携してＸＭＬによる機器制御コマンドの送受信を行う。ｉｐｐデーモン９１は、ＨＴＴＰベースの印刷プロトコルであるＩＰＰ（Internet Printing Protocol）による印刷データの受信を制御する。ｆｔｐデーモン９２は、ＦＴＰ（File Transfer Protocol）によるサービスの提供を制御する。
【００６２】
ＵＳＢデーモン９３は、ＵＳＢケーブルで直結される機器からの印刷データの受信を制御する。ＩＥＥＥ1394デーモン９４は、ＩＥＥＥ1394専用ケーブルで直結される機器からの印刷データの受信を制御する。セントロニクスデーモン９５は、パラレルケーブルで直結される機器からの印刷データの受信を制御する。
【００６３】
図３より、アプリケーション１２３０は、ＮＡＩ８を介して、ＮＣＳ１２２８の要求仲介デーモン７にアプリ登録を行う（ステップＳ０）。ネットワーク１５を介して接続要求を受信をすると（ステップＳ１）、ＮＣＳ１２２８のプロトコル制御デーモン９は、要求仲介デーモン７へ通知する（ステップＳ２）。要求仲介デーモン７は、ＮＡＩ８を介して、アプリケーション１２３０へ接続要求を通知する（ステップＳ３）。アプリケーション１２３０は、ＮＡＩ８を介して、プロトコル制御デーモン９に接続を行う（ステップＳ４）。プロトコル制御デーモン９は、アプリケーション１２３０からの接続によって、ネットワーク１５を介して、データの送受信をアプリケーション１２３０との間で行う（ステップＳ５）。
【００６４】
上記より、ＮＣＳ１２２８は、要求仲介デーモン７とプロトコル制御デーモン９の２つのプロセスとによって通信を行う点において、コントロールサービス１２５０の他のサービスと異なる。
【００６５】
ＮＣＳ１２２８は、大量のデータをプロセス間で通信する手段として共有メモリを用いる。共有メモリは、複数の異なるプロセスからアクセスすることのできるメモリ領域であり、ＮｅｔＢＳＤ（登録商標）の備える標準機能である。共有メモリに対して、複数のプロセスから排他的にアクセスするには、データの読み書きに関する情報を互いにやりとりする必要がある。
【００６６】
図３示す処理の全体概要において、ＮＣＳ１２２８とアプリケーション１２３０間で大量のデータを受け渡すためのシーケンスについて図４から図８で詳細に説明する。
【００６７】
図４は、アプリケーションの登録を行う登録シーケンスを示す図である。図４において、アプリケーション１２３０は、要求仲介デーモン７に問い合わせを行い（ステップＳ１０１）、要求仲介デーモン７からサポートするサービスの通知を受けると（ステップＳ１０２）、アプリケーション１２３０が行うサービスの内容を通知することによって要求仲介デーモン７にアプリケーションの登録を行う（ステップＳ１０３）。例えば、「データ受信サービス」として、アプリケーション名、スプール機能「なし」、及びジョブ機能「なし」等が登録される。
【００６８】
この登録によって、要求仲介デーモン７は、プロトコル制御デーモン９から接続の通知を受けた際には、どのアプリケーションとどの通信プロトコルデーモンとの接続を仲介すべきかを知ることができる。
【００６９】
図５は、アプリケーション用バッファの登録を行うバッファ登録シーケンスを示す図である。図５において、アプリケーション１２３０は、送受信バッファ獲得処理を実行する。アプリケーション１２３０は、要求仲介デーモン７に対して、アプリケーション１２３０のための複数の送受信バッファの登録を行ない（ステップＳ１１１）、更に、登録した送受信バッファをオープンし（ステップＳ１１２）、要求仲介デーモン７から送受信バッファ管理情報を取得する（ステップＳ１１３）。このとき、アプリケーション１２３０は、自分専用に複数の送受信バッファを共有メモリ内に確保する。
【００７０】
図６は、アプリケーションへリクエストを通知するリクエスト通知シーケンスを示す図である。図６において、プロトコル制御デーモン９は、ネットワーク１５を介して接続を受信すると（ステップＳ１１）、要求仲介デーモン７へ接続通知を行う（ステップＳ１２）。プロトコル制御デーモン９からの接続通知に応じて、要求仲介デーモン７は、アプリケーション１２３０が登録した複数の送受信バッファの一つを割り当てて、プロトコル制御デーモン９に通知する（ステップＳ１３）。
【００７１】
更に、要求仲介デーモン７は、アプリケーション１２３０に対して接続通知を行い、接続先を通知するステップＳ１４）。この接続通知に応じて、アプリケーション１２３０は、要求仲介デーモン７に対して接続許可を行う（ステップＳ１５）。そして、アプリケーション１２３０は、プロトコル制御デーモン９と接続する（ステップＳ１６）。アプリケーション１２３０と接続されるプロトコル制御デーモン９は、図３に示されるデーモン２、９１〜９５のいずれかである。更に、アプリケーション１２３０は、プロトコル制御デーモン９に対して、通知タイミングの設定を行い（ステップＳ１７）、接続先からのデータ受信を開始するよう要求する（ステップＳ１８）。
【００７２】
図７は、データ送受信シーケンスを示す図である。図７において、ＮＣＳ１２３０のプロトコル制御デーモン９は、受信データを共有メモリ９９内の受信バッファ９７に書き込むと（ステップＳ２１）、書き込みポインタを受信データ分移動する（ステップＳ２２）。プロトコル制御デーモン９は、アプリケーション１２３０へ受信バッファへの書き込みを通知する（ステップＳ２３）。この通知によって、書き込みを開始した開始ポインタと書き込みを終了した終了ポインタとが通知される。
【００７３】
プロトコル制御デーモン９からの通知を受けて、アプリケーション１２３０は、受信データを共有メモリ９９から読み出し（ステップＳ２４）、読み出しポインタを受信データ分移動する（ステップＳ２５）。そして、アプリケーション１２３０は、プロトコル制御デーモン９に受信バッファからの読み出しを通知する（ステップＳ２６）。
【００７４】
アプリケーション１２３０からネットワーク１５にデータ送信する場合について説明する。アプリケーション１２３０は、送信データを共有メモリ９９内の送信用バッファ９８に書き込むと（ステップＳ２７）、書き込みポインタを送信データ分移動する（ステップＳ２７−２）。アプリケーション１２３０は、プロトコル制御デーモン９へ送信バッファへの書き込みを通知する（ステップＳ２８）。この通知によって、書き込みを開始した開始ポインタと書き込みを終了した終了ポインタとが通知される。
【００７５】
アプリケーション１２３０からの通知を受けて、プロトコル制御デーモン９は、送信データを共有メモリ９９から読み出して接続先へ送信し（ステップＳ２９）、読み出しポイントを移動する（ステップＳ３０）。そして、プロトコル制御デーモン９は、アプリケーション１２３０に送信バッファからの読み出しを通知する（ステップＳ３０−２）。
【００７６】
図７において、説明の便宜上、受信データの書き込みの後に読み出しが行われるように説明したが、書き込みと読み出しが同時に行われても良い。送信データの書き込み及び読み出しについても同様である。
【００７７】
図８は、アプリケーションのコネクションを終了するコネクション終了シーケンスを示す図である。図８において、プロトコル制御デーモン９は、アプリケーション１２３０に対して、データ受信が完了したことを通知する（ステップＳ３１）。この通知は、例えば、ネットワーク上の接続が切断されたときに通知される。通知を受けたアプリケーション１２３０は、切断状態である判断して、プロトコル制御デーモン９に対してデータを受信したデーモンとの切断を要求する（ステップＳ３２）。プロトコル制御デーモン９は、終了処理をおこない、要求仲介デーモン７に終了を通知する（ステップＳ３３）。
【００７８】
上記より、データの読み書きに関する情報をアプリケーション１２３０とプロトコル制御デーモン９との間で互いにやりとりすることによって、共有メモリ９９に対して、複数のプロセスから排他的にアクセスすることが可能となる。
【００７９】
上記より、本発明によれば、融合機１２００に、多種多様なインターフェイスを介して接続される機器との間の印刷データ及び画像データの送受信制御を行うことによって、多種多様な通信プロトコルと夫々異なる画像形成処理を行う複数のアプリケーションとの接続を仲介する要求仲介デーモン７及び共有メモリを用いてデータ送受信を制御するプロトコル制御デーモン９が構成される。そのため、複数の通信プロトコルのインターフェイスと各アプリケーションとが互いを意識する必要がない。従って、このような融合機１２００への通信プロトコル及びアプリケーションの追加を容易に行うことができる。
【００８０】
【発明の効果】
以上、説明してきたように、本願発明によれば、多種多様なインターフェイス介して接続される機器との間の印刷データ及び画像データの送受信制御を行うことによって、多種多様な通信プロトコルと夫々異なる画像形成処理を行う複数のアプリケーションとを仲介する仲介処理部が画像形成装置内に構成されるため、複数の通信プロトコルのインターフェイスと各アプリケーションとが互いを意識する必要がない。従って、本願発明に係る画像形成装置への通信プロトコル及びアプリケーションの追加を容易とする。
【００８１】
【図面の簡単な説明】
【図１】本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【図２】図１に示す融合機のハードウェア構成を示すブロック図である。
【図３】通信制御を行うプロセスとアプリケーションとの仲介を行うプロセスによる処理例を示す図である。
【図４】アプリケーションの登録を行う登録シーケンスを示す図である。
【図５】アプリケーション用バッファの登録を行うバッファ登録シーケンスを示す図である。
【図６】アプリケーションへリクエストを通知するリクエスト通知シーケンスを示す図である。
【図７】データ送受信シーケンスを示す図である。
【図８】アプリケーションのコネクションを終了するコネクション終了シーケンスを示す図である。
【符号の説明】
２          ｈｔｔｐデーモン
７          要求仲介デーモン
８          ＮＡＩ
９          プロトコル制御デーモン
１５        ネットワーク
１２００    融合機、              １２０１    プロッタ、
１２０２    スキャナ、
１２０３    その他ハードウェアリソース、
１２１０    ソフトウェア群、
１２３０    アプリケーション、    １２２０    プラットフォーム、
１２２１    ＯＳ、                １２２２    ＳＣＳ、
１２２３    ＳＲＭ、              １２２４    ＥＣＳ、
１２２５    ＭＣＳ、              １２２６    ＯＣＳ、
１２２７    ＦＣＳ、              １２２８    ＮＣＳ、
１２２９    ＩＭＨ、              １２４０    融合機起動部、
１３００    コントローラ、        １３０１    ＡＳＩＣ、
１３０２    ＭＥＭ−Ｃ、          １３０３    ＨＤＤ、
１３０４    ＣＰＵ、              １３０５    ＮＢ、
１３０６    ＭＥＭ−Ｐ、          １３０７    ＳＢ、
１３０８    ＡＧＰ、              １３１０    オペレーションパネル
１３２０    ファックスコントロールユニット
１３１１    ＮＩＣ、              １３１２    ＵＳＢ、
１３１３    ＩＥＥＥ１３９４、    １３１４    セントロニクス、
１３５０    エンジン部
【図１】
0003710789.tif 000002
【図２】
0003710789.tif 000003
【図３】
0003710789.tif 000004
【図４】
0003710789.tif 000005
【図５】
0003710789.tif 000006
【図６】
0003710789.tif 000007
【図７】
0003710789.tif 000008
【図８】
0003710789.tif 000009