説明

画像形成装置

【課題】 画像形成装置において、アプリケーションと複数種の通信プロトコルデーモンとの間でのデータの授受に関するプログラム部分の開発に時間とコストがかかっていた。
【解決手段】 本発明の画像形成装置は、アプリケーションと通信プロトコルデーモンとの間に統一したインタフェースを持たせたインタフェースライブラリ群からなる統一インタフェース層を備えることにより、アプリケーションは前記統一インタフェースに従って開発を行えばよく、開発の時間及びコストを削減可能となった。さらに、SNMPなどの小サイズかつ多数回の通信が行われるプロトコルについての統一インタフェース層でのオーバヘッドによる遅延をなくすために、通信プロトコルを判断してSNMPなどの通信では、統一インタフェース層を介さない直接通信を行う方式とした。

【発明の詳細な説明】
【技術分野】
【0001】
画像形成装置において、アプリケーションの開発コスト低減のために通信プロトコルデーモンとの間に統一インタフェースを提供することに関し、さらに仲介インタフェース層のオーバヘッドによる遅延を回避する技術に関するものである。
【背景技術】
【0002】
画像形成装置では、外部装置との間で通信を行ってデータのやり取りを行う。その際の通信には、種々のプロトコルがある。例えば、インターネットでのブラウザ・サーバ間のデータのやりとりに使われるHTTP(HyperText Transfer Protocol)や、ネットワークに接続された通信機器を監視・制御するためのSNMP(Simple Network Management Protocol)や、パラレルインタフェースを用いてのセントロニクス仕様に基づくプロトコルや、USBインタフェースを用いてのUSB規格に基づくプロトコル等がある。
【0003】
画像形成装置では、これらの各プロトコルの通信を受け持つ通信プロトコルデーモンを有し、画像形成装置の画像処理を行う種々のアプリケーションとの間でデータの授受を行い外部装置とのデータ通信を行う。
【0004】
この前記複数のアプリケーションと前記複数の通信プロトコルデーモンとの通信を受け持つインタフェースプログラム部をそれぞれに作成すると開発に時間がかかり、高コスト化を招き又バグの発生の可能性やバグの見落としの可能性が高かった。
【0005】
そこで、従来技術として通信プロトコルデーモンからの接続通知に応じて、該接続通知をアプリケーションに仲介する仲介アプリケーションを備える方法がある(特許文献1参照)。
【0006】
しかし、この方法では、仲介アプリケーションが受け持つのは、前記した接続通知に関する部分だけであり、接続通知要求後のデータ通信は通信プロトコルデーモンとアプリケーションの間で直接行うため、依然としてこれらの通信部分のインタフェースをそれぞれのアプリケーション及びプロトコル毎に開発する必要があった。
【特許文献1】特開2004−1425号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
解決しようとする問題点は、画像形成装置において、画像形成処理を行うアプリケーションと外部装置の通信を受け持つ通信プロトコルデーモンとの間の通信インタフェースを統一して、通信に関するプログラムの開発コストを下げると共に、統一インタフェースによるパフォーマンスの低下を抑制する点である。
【課題を解決するための手段】
【0008】
本発明の画像形成装置は、画像形成に関する処理を行うアプリケーションと、複数種の通信プロトコルに従って通信を行う複数種の通信プロトコルデーモンと、を備えて外部装置との間で通信を行う画像形成装置であって、前記アプリケーションと前記プロトコルデーモンとの間でデータの授受を統一したインタフェースにより行う統一インタフェース層を有し、前記アプリケーションは、前記統一インタフェース層とのデータ授受のための統一アプリケーションインタフェースを備え、前記通信プロトコルデーモンは、前記統一インタフェース層とのデータ授受のための統一デーモンインタフェースを備えることを最も主要な特徴とする。
【0009】
さらに、本発明の画像形成装置は前記画像形成装置であって、前記アプリケーションは、通信が所定のプロトコルであるかどうかを判断するプロトコル判断部と、前記プロトコル判断部で所定のプロトコルと判断された場合には、該プロトコルの通信を受け持つ前記通信プロトコルデーモンとの直接のデータ授受を行う特定プロトコル直接アプリケーションインタフェース部と、を有し、前記所定のプロトコルを受け持つ前記通信プロトコルデーモンは、前記特定プロトコル直接アプリケーションインタフェース部との間でデータの授受を行う特定プロトコル直接デーモンインタフェース部を有することを特徴とする。
【発明の効果】
【0010】
本発明の画像形成装置は、画像形成に関する処理を行うアプリケーションと、複数種の通信プロトコルに従って通信を行う複数種の通信プロトコルデーモンと、を備えて外部装置との間で通信を行う画像形成装置であって、前記アプリケーションと前記通信プロトコルデーモンとの間でデータの授受を統一したインタフェースにより行う統一インタフェース層を有し、前記アプリケーションは、前記統一インタフェース層とのデータ授受のための統一アプリケーションインタフェースを備え、前記通信プロトコルデーモンは、前記統一インタフェース層とのデータ授受のための統一デーモンインタフェースを備えることを最も主要な特徴とするため、アプリケーションの開発の際には、統一インタフェース層で規定してあるインタフェースに従って、アプリケーションの設計・開発を行うことが可能であり、開発時間の短期化及び開発コストの低下が実現した。
【0011】
さらに、本発明の画像形成装置は前記画像形成装置であって、前記アプリケーションは、通信が所定のプロトコルであるかどうかを判断するプロトコル判断部と、前記プロトコル判断部で所定のプロトコルと判断された場合には、該プロトコルの通信を受け持つ前記通信プロトコルデーモンとの直接のデータ授受を行う特定プロトコル直接アプリケーションインタフェース部と、を有し、前記所定のプロトコルを受け持つ前記通信プロトコルデーモンは、前記特定プロトコル直接アプリケーションインタフェース部との間でデータの授受を行う特定プロトコル直接デーモンインタフェース部を有することを特徴とするため、SNMP通信におけるような、小サイズでかつ多数回の通信が行われて、統一インタフェース層のオーバヘッドによる遅延が問題となるような場合には、アプリケーションと通信プロトコルデーモンとの直接の通信を行うため遅延の問題が無くなった。これにより、開発の短期化と性能のバランスがとれたアプリケーションの開発が可能となった。
【発明を実施するための最良の形態】
【0012】
画像形成装置において、アプリケーションと通信プロトコルデーモンとの通信部分の開発に時間がかかるという問題について、統一インタフェース層を前記アプリケーションと前記通信プロトコルデーモンとの間に介在させることにより解決した。また、SNMPなどの小サイズ・多数回の通信が行われるプロトコルにおける統一インタフェース層でのオーバヘッドによる遅延の問題については、アプリケーションがプロトコルを判断して、その判断結果に基づき通信プロトコルデーモンとの直接の通信を行うことにより問題点を解決した。
【実施例1】
【0013】
[構成]
図1は、本発明の実施例に係わる画像形成装置101の機能ブロック図である。
【0014】
画像形成装置101は、大きくハードウェア群150、ソフトウェア群120、ハードウェアインタフェース群160に分かれる。
【0015】
ハードウェア群150は、印刷エンジン151、スキャナ153、記憶・制御部157と、を有する。
【0016】
ソフトウェア群120は、機能毎のアプリケーションである、印刷アプリケーション111、複写アプリケーション113、ファクスアプリケーション115、スキャナアプリケーション117、転送アプリケーション119を有し、通信プロトコルデーモンである、USB(Universal Serial Bus)デーモン131、セントロニクスデーモン132、公衆回線網デーモン133、FTP(File Transfer Protocol)デーモン134、HTTP(HyperText Transfer Protocol)デーモン135、SNMP(Simple Network Management Protocol)デーモン136を有し、前記アプリケーション(111〜119)と前記通信プロトコルデーモン(131〜136)との間に介在する統一インタフェース層121を有する。
【0017】
ハードウェアインタフェース群160は、USBインタフェース161、セントロニクスインタフェース162、公衆回線網インタフェース163、ネットワークインタフェース165を有する。
【0018】
また、画像形成装置は、外部装置である、ホストPC1;201、ホストPC2;202、ホストPC3;203、FAX301、サーバ401、画像形成装置2;501と図1に示すようにハードウェアインタフェース群160の各種インタフェースを通して接続している。
【0019】
以下に各機能部について説明する。
【0020】
印刷エンジン151は、印刷を行うハードウェア機能部である。
【0021】
スキャナ153は、原稿の画像を読み取るハードウェア機能部である。
【0022】
記憶・制御部157は、半導体メモリ及び磁気回転ディスク装置からなる記憶装置と、CPU及び周辺制御回路からなる制御装置と、を有し、画像形成装置全体の制御を司る機能部である。
【0023】
印刷アプリケーション111は、画像形成装置の印刷の画像形成に関する処理の機能を画像形成装置のコンピュータに実行させるプログラム機能部である。
【0024】
複写アプリケーション113は、画像形成装置の複写の画像形成に関する処理の機能を画像形成装置のコンピュータに実行させるプログラム機能部である。
【0025】
ファクスアプリケーション115は、画像形成装置のファクスの画像形成に関する処理の機能を画像形成装置のコンピュータに実行させるプログラム機能部である。
【0026】
スキャナアプリケーション117は、画像形成装置のスキャナ153での画像形成に関する処理の機能を画像形成装置のコンピュータに実行させるプログラム機能部である。
【0027】
転送アプリケーション119は、画像形成装置のファイル転送の画像形成に関する処理の機能を画像形成装置のコンピュータに実行させるプログラム機能部である。
【0028】
上記の各アプリケーションは、統一インタフェース層121(後述)との間でのデータの授受に関するインタフェース部であるアプリケーションインタフェース部(111i、113i、115i、117i、119i)を有する。
【0029】
次に複数種ある通信プロトコルデーモンについて説明する。
【0030】
USBデーモン131は、USB規格での通信のデータ授受を受け持つデーモンである。
【0031】
セントロニクスデーモン132は、セントロニクス仕様のパラレルインタフェースでの通信のデータ授受を受け持つデーモンである。
【0032】
公衆回線網デーモン133は、公衆回線網を通しての通信のデータ授受を受け持つデーモンである。
【0033】
FTPデーモン134は、File Transfer Protocolを用いての通信のデータ授受を受け持つデーモンである。
【0034】
HTTPデーモン135は、HyperText Transfer Protocolを用いての通信のデータ授受を受け持つデーモンである。
【0035】
SNMPデーモン136は、Simple Network Management Protocolを用いての通信のデータ授受を受け持つデーモンである。
【0036】
上記の通信プロトコルデーモンは、統一インタフェース層121(後述)との間でのデータの授受に関する統一デーモンインタフェースであるデーモンインタフェース部(131i、132i、133i、134i、135i、136i)を有する。
【0037】
統一インタフェース層121は、前記アプリケーション(111,113,115,117,119)と通信デーモンプロトコル(131、132,133,134,135,136)との間に介在するプログラムである。統一インタフェース層は、独立したプロセスを実行するアプリケーションプログラムではなく、必要時に他プログラム(通信プロトコルデーモン)から起動されるライブラリプログラムの集合である。統一インタフェース層121には、アプリケーションとの間の統一したインタフェースを提供するアプリケーション統一インタフェースライブラリ群121alと通信プロトコルデーモンとの間のインタフェースを提供する通信プロトコルデーモンインタフェースライブラリ群123dlと、を有する。統一インタフェース層121のより詳細な構造については、インタフェースの説明の項で後述する。
【0038】
次にハードウェアインタフェース群160の各インタフェースについて説明する。
【0039】
USBインタフェース161は、USB規格のインタフェースのハードウェアであり、例えば図1に示すようにホストPC1;201と接続してホストPC1;201から印刷データを受信する。
【0040】
セントロニクスインタフェース162は、セントロニクス仕様のインタフェースのハードウェアであり、例えば図1に示すようにホストPC2;202と接続してホストPC2;202から印刷データを受信する。
【0041】
公衆回線網インタフェース163は、電話回線での通信接続のためのインタフェースであり、公衆回線を通して他のFAX装置301と接続している。
【0042】
ネットワークインタフェース165は、ネットワークのインタフェースであり、例えば図1に示すように、ネットワークを通してホストPC3;203やサーバ401や画像形成装置2;501と接続している。
【0043】
[統一インタフェース層及びアプリケーションインタフェース部]
図2を用いて統一インタフェース層121とアプリケーションとのインタフェースについて、その詳細を説明する。
【0044】
図2は、アプリケーションの一例としての印刷アプリケーション111と統一インタフェース層とのさらに詳細な構造を示したものである。印刷アプリケーション111以外の他のアプリケーションでもその構造は同様である。
【0045】
印刷アプリケーション111のアプリケーションインタフェース部111iには、以下の10個のインタフェースが備わっている。
【0046】
印刷アプリケーション側が発呼の通信の開始のインタフェースOpen()111o、同(印刷アプリケーション側が発呼の;以下省略)通信の終了のインタフェースClose()111c、同データの読取Read()111r、同データの書込Write()111w、同通信状態の把握CheckStatus()111sの5個のインタフェースと、統一インタフェース層121側からの発呼に応答する印刷アプリケーションにとっては受信側の通信の開始のインタフェースROpen()111ro、同(統一インタフェース層121側からの発呼に応答する印刷アプリケーションにとっては受信側の;以下省略)通信の終了のインタフェースRClose()111rc、同データの読取RRead()111rr、同データの書込RWrite()111rw、同通信状態の把握RCheckStatus()111rsの5個のインタフェースとの10個のインタフェースを有する。
【0047】
統一インタフェース層121は、前記10個のインタフェースに呼応する10個のインタフェースであるアプリ統一インタフェースライブラリ群121al(プログラムライブラリの集合)と、通信プロトコルデーモン(131〜136)から呼び出される通信プロトコルデーモンインタフェースライブラリ群123dl(プログラムライブラリの集合)と、から構成される。
【0048】
アプリ統一インタフェースライブラリ群121alは、通信プロトコルデーモン(131〜136)側が発呼の通信の開始のインタフェースOpen_LIB()121o、同(通信プロトコルデーモン側が発呼の;以下省略)通信の終了のインタフェースClose_LIB()121c、同データの読取Read_LIB()121r、同データの書込Write_LIB()121w、同通信状態の把握CheckStatus_LIB()121sの5個のインタフェースと、アプリケーション(111〜119)側からの発呼に応答する通信プロトコルデーモン(131〜136)にとっては受信側の通信の開始のインタフェースROpen_LIB()121ro、同(アプリケーション(111〜119)側からの発呼に応答する通信プロトコルデーモン(131〜136)にとっては受信側の;以下省略)通信の終了のインタフェースRClose_LIB()121rc、同データの読取RRead_LIB()121rr、同データの書込RWrite_LIB()121rw、同通信状態の把握RCheckStatus_LIB()121rsの5個のインタフェースとの10個のインタフェースを有する。
【0049】
さらに、通信プロトコルデーモンインタフェースライブラリ群123dlは、USBデーモン131から呼び出されるUSBデーモン対応ライブラリ群123u、セントロニクスデーモン132から呼び出されるセントロニクスデーモン対応ライブラリ群123c、公衆回線網デーモン133から呼び出される公衆回線網デーモンライブラリ群123k、FTPデーモン134から呼び出されるFTPデーモン対応ライブラリ群123f、HTTPデーモン135から呼び出されるHTTPデーモン対応ライブラリ群123h、SNMPデーモン136から呼び出されるSNMPデーモン対応ライブラリ群123sとからなる。
【0050】
[シーケンス]
図3のシーケンス図を用いて実際の通信におけるアプリケーションインタフェース部と統一インタフェース層121の役割について説明する。本説明においては一例として、アプリケーションは印刷アプリケーション111を用いて、HTTP通信についてHTTPデーモンとの間でのデータ授受を行う場合について説明を行う。他のアプリケーション及び他の通信プロトコルデーモンでもアプリケーションインタフェース部と統一インタフェース層121の役割は同様である。
【0051】
図3(A)は、画像形成装置101が、外部のHTTPサーバ(例えばサーバ401)に対して通信を開始する際のシーケンスについて説明した図である。
【0052】
S1:ユーザによるHTTPのデータ取得要求が発生すると印刷アプリケーション111は、アプリケーションインタフェース部111iの通信開始のインタフェースOpen()111oをコールする。
【0053】
Open()111oのコールの際には、各パラメータがセットされる。
【0054】
プロトコルを示すPROTOCOLには、HTTPを指定する。
【0055】
bufferでやり取りを行うデータ構造を示すDataStructureには、定義済みのHTTP用のデータ構造であるHTTPdsを指定する。
【0056】
データを格納するbufferのポインタには、bufferを指定する。
【0057】
戻り値を格納するStatusには、Statusを指定する。
【0058】
上記HTTPは、HTTP通信を表す定数である。
【0059】
HTTPdsは、定義済みのHTTPのデータ交換のためのデータ構造。
【0060】
bufferとStatusは確保されたデータ領域である。
【0061】
S2:印刷アプリケーションからコールされたOpen()111oを受けて、統一インタフェース層中の通信の開始の受信側インタフェースであるROpen_LIB111roが前記定義された各パラメータを受け取る。
【0062】
S3:HTTPデーモン対応ライブラリ群123u中のライブラリが前記ROpen_LIB()121roを受けてHTTPデーモン135のインタフェースに変換する。
【0063】
S4:前記S3で受けたインタフェースの処理をHTTPデーモン135自身の内部処理を行う。
【0064】
S5:HTTPデーモン135は、外部装置であるサーバ401へのHTTPの通信開始を要求する。
【0065】
S6:HTTPデーモン135はサーバ401からの通信開始の受諾を受信する。
【0066】
S7:前記通信開始の受諾についてHTTPデーモンが内部処理を行う。
【0067】
S8:統一インタフェース層121のHTTPデーモン対応ライブラリ123uがコールされる。
【0068】
S9:前記HTTPデーモン対応ライブラリ群がS2で呼ばれたROpen_LIBの戻り値であるStatus中のデータを受諾OKとしてセットする。
【0069】
S10:S1で印刷アプリケーションからコールされたOpenの戻り値Status中の受諾OKのパラメータを取得する。
【0070】
S11:以降は、同様の流れにのっとり、Read()111rによりデータの読取が行われ、Close()111cにより通信が終了される。
【0071】
次に、図3(B)を用いて、外部装置である例えばホストPC3;203から画像形成装置101の内部のHTTPサーバに通信を開始する際の統一インタフェース層とアプリケーションインタフェース部での流れについて説明する。
【0072】
本説明では、画像形成装置101の内部HTTPサーバは、印刷アプリケーション111が受け持つという前提の下に説明する。
【0073】
S21:HTTPデーモン135は、画像形成装置101の内部HTTPサーバへの通信開始要求を受信する。
【0074】
S22:HTTPデーモン135の内部処理が行われる。
【0075】
S23:前記内部処理により統一インタフェース層121のHTTPデーモン対応ライブラリ群123hがコールされる。
【0076】
S24:前記HTTPデーモン対応ライブラリ群123hにより統一インタフェース層のアプリケーションへ向けての通信開始Open_LIB()121oがコールされる。このとき前記S2と同様に各パラメータがセットされる。S2と異なるのは、Status中にアプリケーションを指定する値がセットされる。
【0077】
S25:S24のOpen_LIB()121oを受けて、印刷アプリケーション中のROpen()111roが各パラメータを受け継いで起動される。この後印刷アプリケーション中の内部HTTPサーバに関する処理が行われる。
【0078】
S26:S25の戻り値としてStatus中の通信開始の受諾OKのパラメータがセットされ、その値が送信される。
【0079】
S27:S24の戻り値としてStatusを受ける。
【0080】
S28:HTTPデーモン対応ライブラリ群が戻り値Statusを解析してHTTPデーモンにデータを受け渡す。
【0081】
S29:HTTPデーモンでの内部処理が行われる。
【0082】
S30:画像形成装置101内部のHTTPサーバの通信開始受諾を送信する。
【0083】
S31:以降は、データ読取要求によるデータ読取、通信終了要求による通信終了と続く。
【0084】
[実施例の効果]
本発明実施例の画像形成装置により、アプリケーションと通信プロトコルデーモンとの間が統一したインタフェースに行われるため、アプリケーションの開発時の通信プロトコルの開発が簡略化され、低コスト化につながった。
【0085】
統一インタフェース層121は、通信プロトコルデーモン(131〜136)によってコールされるライブラリ群であり、独立したアプリケーションとして起動するのではないため、独立プロセスとしてのCPUタイムやメモリ資源を奪うことなく高速での処理が可能となった。
【実施例2】
【0086】
本発明実施例2の画像形成装置について説明する。実施例2の画像形成装置は、統一インタフェース層121の構造が実施例1の画像形成装置と異なるのでその点を中心に説明する。
【0087】
[構成]
実施例2の画像形成装置の全体構成は、図1に示す実施例1の画像形成装置と同じであるので、説明を省略する。
【0088】
[統一インタフェース層及びアプリケーションインタフェース部]
実施例2の統一インタフェース層121及び印刷アプリケーション111のアプリケーションインタフェース部111iの構造について図4に示す。
【0089】
実施例1にあった、印刷アプリケーション111のアプリケーションインタフェース部111iの統一インタフェース層121側からの発行に応答する印刷アプリケーションにとっては受信側の5つのインタフェース111ro、111rc、111rr、111rw、111rsが存在せず、変わりに統一インタフェース層121に設けられた通知手段である、Notify()121nにより、印刷アプリケーションに、通信の要求通知が伝えられる。
【0090】
同様に印刷アプリケーション側にも通信の要求通知手段であるNotify()111nが設けられて、統一インタフェース層に通信の要求を通知する。
【0091】
[シーケンス]
図5のシーケンス図を用いて、実施例2の通信におけるアプリケーションインタフェース部111iと統一インタフェース層121の役割について説明する。本説明においては一例として、印刷アプリケーション111を用いてのHTTP通信に関する、印刷アプリケーションとHTTPデーモンとの間でのデータ授受を行う場合について説明を行う。他のアプリケーション及び他の通信プロトコルデーモンでもアプリケーションインタフェース部と統一インタフェース層121の役割は同様である。
【0092】
図5(A)は、画像形成装置101が、外部のHTTPサーバ(例えばサーバ401)に対して通信を開始する際のシーケンスについて説明した図である。
【0093】
S61からS68までの動作のシーケンスは、実施例1において図3(A)を用いて説明したS1からS8までの流れと同じなので省略する。以下にS69以降の動作について説明する。
【0094】
S69:S61コールされたOpen()がスレッド停止状態であったものを統一インタフェース層121のNotify()121nにより再開させる。その際にNotify()にStatusパラメータを渡す。
【0095】
S70:S69によるStatus値を受信する。
【0096】
S71:以降は、同様の流れにのっとり、Read()111rによりデータの読取が行われ、Close()111cにより通信が終了される。
【0097】
次に、図5(B)を用いて、外部装置である例えばホストPC3;203から画像形成装置101の内部のHTTPサーバに通信を開始する際の統一インタフェース層とアプリケーションインタフェース部での流れについて説明する。
【0098】
本説明では、画像形成装置101の内部HTTPサーバは、印刷アプリケーション111が受け持つという前提の下に説明する。
【0099】
S81からS83までの動作のシーケンスは、実施例1において図3(B)を用いて説明したS21からS23までの流れと同じなので省略する。以下にS84以降の動作について説明する。
【0100】
S84:統一インタフェース層121のNotify()121nにより、印刷アプリケーションに対し、内部サーバへの通信開始要求が通知される。
【0101】
S85:S84のNotify()121nにより印刷アプリケーション111のWebサーバアプリケーション関連スレッドが起動する。
【0102】
S86:印刷アプリケーション111がOpen()111oにより、通信開始要求に応じる。
【0103】
S87:統一インタフェース層121は、Open_LIB()121oにより、通信開始の応答を受信する。
【0104】
以降S88からS91の動作は、図3(B)を用いて説明したS28からS31の動作と同じであるので説明を省略する。
【0105】
ふたつあるNotify()111n及び121nでは、パラメータとしてStatusを渡す例について説明を行ったが、パラメータとしてイベントを渡せる形であっても良い。
【0106】
[実施例2の効果]
アプリケーションインタフェース部及び統一インタフェース層の両方にNotify()を設けて通信の要求を通知する方法をとることにより、実施例1に比べて両方のインタフェース層の構造を簡単にすることが可能となった。
【実施例3】
【0107】
本発明実施例3の画像形成装置について説明する。
【0108】
実施例1の画像形成装置では、アプリケーションと通信プロトコルデーモンとの間の通信を全て統一インタフェース層121を介して行ったが、SNMP(Simple Network Management Protocol)などの小サイズで多数回の通信が行われるプロトコルでは、統一インタフェース層121がライブラリ群により構成されているような比較的オーバヘッドの少ない方法であっても、累積による遅延が問題となる場合がある。そこで、実施例3では特定プロトコルに関しては、統一インタフェース層121を経由せずに直接通信プロトコルデーモンとの通信を行う直接インタフェース部(特定プロトコル直接デーモンインタフェース部)を有する画像形成装置について説明する。
【0109】
[構成]
実施例3の画像形成装置のハードウェア構成は、実施例1の画像形成装置と同じである。図1でいうところのソフトウェア群120部分についてのみ違いがあるので、実施例3のソフトウェア群120の構成について図6を用いて説明する。
【0110】
図6では、アプリケーションの例として転送アプリケーション119を用いて説明するが、他アプリケーションでもその構成は同様である。
【0111】
画像形成装置の転送アプリケーション119は、大きく分けて通信部に関しての処理を行う通信処理部119yと転送アプリケーション処理部119xの二つに分かれる。実施例1の画像形成装置との違いは、通信処理部119y中の構成の違いである。実施例1では通信処理部119y中にはアプリケーションインタフェース部119iだけが存在したが、実施例3の画像形成装置では、さらに、プロトコル判断部119p及び直接インタフェース部119d(特定プロトコル直接デーモンインタフェース部)と、を有する。
【0112】
プロトコル判断部119pは、通信を行うプロトコルが何であるかを判断して、所定のプロトコルの場合は、統一インタフェース層121を介しての通信を行うアプリケーションインタフェース部ではなく、直接通信プロトコルデーモンとの通信を行う直接インタフェース部119dに通信を引き渡す。
【0113】
所定のプロトコルとは、前述したように小サイズかつ多数回の通信が行われる実施例3ではSNMP通信のプロトコルである。
【0114】
直接インタフェース部119dは、SNMPデーモンとの間での直接の通信を行うための通信プロトコルに合わせたインタフェースを有し、統一インタフェース層121を介さずに通信を行うためそのオーバヘッドによる遅延が無くなった。
【0115】
上記SNMP以外のプロトコルに関しては、実施例1で説明した統一インタフェース層121を介しての通信を行う。
【0116】
[通信のシーケンス]
図7を用いて実施例3の画像形成装置での、SNMP通信のシーケンスについて説明する。
【0117】
図7(A)は、転送アプリケーション119からSNMPデーモン135を通して外部装置である画像形成装置2;501へのSNMPでの通信開始要求の説明である。
【0118】
S41:転送アプリケーション119は、直接インタフェースによる画像形成装置2;501の機器状態確認のための通信の要求を開始する。転送アプリケーション内部のプロトコル判断部119pは、プロトコルがSNMPであると判断して、直接インタフェース119dを用いてSNMPプロトコルデーモンに通信開始要求を行う。
【0119】
S42:SNMPデーモンは、S41の通信開始要求を受信しSNMPデーモンでの内部処理を行って、ネットワークインタフェースから送信するためのデータを形成する。
【0120】
S43:SNMPデーモンは、画像形成装置2;501にSNMPでの通信開始の要求を送信する。
【0121】
S44:画像形成装置2;501からのSNMPでの通信開始の受諾を受信する。
【0122】
S45:SNMPデーモン135での内部処理を行って、転送アプリケーション119への送信のためのデータ形成を行う。
【0123】
S46:転送アプリケーション119は、直接インタフェース部119dにより画像形背装置2;501の通信開始受諾を受信して、転送アプリケーション内部の処理を開始する。
【0124】
次に図7(B)を用いて、外部装置である画像形成装置2;501から画像形成装置101へのSNMPでの通信開始要求がある際のSNMPデーモン135及び転送アプリケーション119の動作の流れについて説明する。
【0125】
S51:SNMPデーモン135は、画像形成装置2;501からSNMPでの通信開始の要求を受信する。
【0126】
S52:SNMPデーモン135内部での処理が行われる。
【0127】
S53:転送アプリケーション119は、S52のSNMPデーモンでの内部処理によるSNMPの通信開始要求を受信する。
【0128】
S54:転送アプリケーション119は、S53の通信開始要求による内部処理を行った後、SNMPデーモン135に対して、直接インタフェースにより通信開始要求を受諾する旨を送信する。
【0129】
S55:SNMPデーモン135は、直接インタフェースによりS54の受諾を受信してその内部処理を行う。
【0130】
S56:SNMPデーモン135は、画像形成装置2;501に対しSNMPでの通信開始受諾を送信する。
【0131】
S57:以降は、SNMPでの小サイズ多数回の通信が画像形成装置2;501と画像形成装置101との間でやりとりが行われ通信が終了する。
【0132】
[実施例3の効果]
実施例3の画像形成装置により、統一インタフェース層121を用いてアプリケーションの通信部の開発コストを下げることと、SNMPのような小サイズかつ多数回の通信が行われるプロトコルに関しては、直接インタフェースにより通信を行うことにより統一インタフェース層でのオーバヘッドによる遅延をなくすことができ、性能とコストを兼ね合わせた画像形成装置を実現することが可能となった。
【0133】
[その他]
本発明実施例では、アプリケーションについて機能毎に分かれた複数のアプリケーションからなる構成としたが、全ての機能を含めてひとつのアプリケーションとする構成であってもよい。
【0134】
本発明実施例では、アプリケーションとして主要と思われる5つの機能について記載し説明したが、その他の機能のアプリケーションが加わっていても構わないし、又、実施例で示した5機能が全て揃っていない場合であっても構わない。
【0135】
同様に本発明実施例では、主要な6つの通信プロトコルデーモンに関して記載し説明したがその他の通信プロトコルに対応していても構わない。又、実施例で示した6プロトコルが全て揃っていない場合であっても構わない。
【0136】
本発明実施例では、統一インタフェース層121は通信プロトコルデーモン(131〜136)から呼び出されるプログラムライブラリの集合である構成としたが、統一インタフェース層121はアプリケーション(111〜119)から呼び出されるプログラムライブラリの集合である構成であってもよい。また、通信プロトコルデーモンとアプリケーションとのそれぞれから呼び出されるプログラムライブラリの集合の混合であっても良い。
【0137】
また、統一インタフェース層はプログラムライブラリの集合ではなく独立したアプリケーションであっても良い。
【図面の簡単な説明】
【0138】
【図1】本発明実施例1の画像形成装置の機能ブロック図である(実施例1、2)。
【図2】本発明実施例1の画像形成装置のアプリケーションインタフェースと統一インタフェース層の詳細図である(実施例1)。
【図3】本発明実施例1の画像形成装置の通信のシーケンス図である(実施例1)。
【図4】本発明実施例2の画像形成装置のアプリケーションインタフェースと統一インタフェース層の詳細図である(実施例2)。
【図5】本発明実施例2の画像形成装置の通信のシーケンス図である(実施例2)。
【図6】本発明実施例3の画像形成装置のソフトウェア層の構造図である(実施例3)。
【図7】本発明実施例3の画像形成装置の通信のシーケンス図である(実施例3)。
【符号の説明】
【0139】
101 画像形成装置
111 印刷アプリケーション(アプリケーション)
111d 直接インタフェース部(特定プロトコル直接アプリケーションインタフェース部)
111i アプリケーションインタフェース部(統一アプリケーションインタフェース)
111p プロトコル判断部
111o 発呼側Openインタフェース(通信の開始のインタフェース)
111c 発呼側Closeインタフェース(通信の終了のインタフェース)
111r 発呼側Readインタフェース(データの読取のインタフェース)
111w 発呼側Writeインタフェース(データの書込のインタフェース)
111s 発呼側CheckStatusインタフェース(通信状態の把握のインタフェース)
111ro 受信側Openインタフェース(通信の開始のインタフェース)
111rc 受信側Closeインタフェース(通信の終了のインタフェース)
111rr 受信側Readインタフェース(データの読取のインタフェース)
111rw 受信側Writeインタフェース(データの書込のインタフェース)
111rs 受信側CheckStatusインタフェース(通信状態の把握のインタフェース)
113 複写アプリケーション(アプリケーション)
115 ファクスアプリケーション(アプリケーション)
117 スキャナアプリケーション(アプリケーション)
119 転送アプリケーション(アプリケーション)
119p プロトコル判断部(実施例3)
120 ソフトウェア群
121 統一インタフェース層
121al アプリ統一インタフェースライブラリ群
121dl 通信デーモンプロトコルライブラリ群
131 USBデーモン(通信プロトコルデーモン)
131i デーモンインタフェース部(統一デーモンインタフェース)
132 セントロニクスデーモン(通信プロトコルデーモン)
132i デーモンインタフェース部(統一デーモンインタフェース)
133 公衆回線網デーモン(通信プロトコルデーモン)
133i デーモンインタフェース部(統一デーモンインタフェース)
134 FTPデーモン(通信プロトコルデーモン)
134i デーモンインタフェース部(統一デーモンインタフェース)
135 HTTPデーモン(通信プロトコルデーモン)
135i デーモンインタフェース部(統一デーモンインタフェース)
136 SNMPデーモン(通信プロトコルデーモン)
136i デーモンインタフェース部(統一デーモンインタフェース)
150 ハードウェア群
160 ハードウェアインタフェース群
201 ホストPC1(外部装置)
202 ホストPC2(外部装置)
203 ホストPC3(外部装置)
301 FAX(外部装置)
401 サーバ(外部装置)
501 画像形成装置2(外部装置)

【特許請求の範囲】
【請求項1】
画像形成に関する処理を行うアプリケーションと、複数種の通信プロトコルに従って通信を行う複数種の通信プロトコルデーモンと、を備えて外部装置との間で通信を行う画像形成装置であって、
前記アプリケーションと前記通信プロトコルデーモンとの間でデータの授受を統一したインタフェースにより行う統一インタフェース層を有し、
前記アプリケーションは、前記統一インタフェース層とのデータ授受のための統一アプリケーションインタフェースを備え、
前記通信プロトコルデーモンは、前記統一インタフェース層とのデータ授受のための統一デーモンインタフェースを備える
ことを特徴とする画像形成装置。
【請求項2】
請求項1の画像形成装置であって、
前記統一アプリケーションインタフェースは、前記通信プロトコルデーモンから呼びだされるプログラムライブラリの集合と、前記アプリケーションから呼びだされるプログラムライブラリの集合との少なくとも一方から構成される
ことを特徴とする画像形成装置。
【請求項3】
請求項1の画像形成装置であって、
前記統一アプリケーションインタフェースは、独立したアプリケーションから構成される
ことを特徴とする画像形成装置。
【請求項4】
請求項1から3のいずれかの画像形成装置であって、
前記アプリケーション層の前記統一アプリケーションインタフェースは、前記アプリケーションと前記通信プロトコルデーモンとの間での、双方向の通信の開始と、通信の終了と、データの読取と、データの書込と、通信状態の把握とに関するインタフェースを有する
ことを特徴とする画像形成装置。
【請求項5】
請求項1から4のいずれかの画像形成装置であって、
前記アプリケーションは、通信が所定のプロトコルであるかどうかを判断するプロトコル判断部と、
前記プロトコル判断部で所定のプロトコルと判断された場合には、該プロトコルの通信を受け持つ前記通信プロトコルデーモンとの直接のデータ授受を行う特定プロトコル直接アプリケーションインタフェース部と、を有し、
前記所定のプロトコルを受け持つ前記通信プロトコルデーモンは、前記特定プロトコル直接アプリケーションインタフェース部との間でデータの授受を行う特定プロトコル直接デーモンインタフェース部を有する
ことを特徴とする画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate