説明

通信装置

【課題】 受信データの処理中にセッション確立要求を受けたとしても、大容量のメモリを設けることなく、受信処理の待ち時間を短縮することができ、かつ、タイムアウトによるセッション確立エラーの発生を防止することが可能な通信装置を提供する。
【解決手段】 ネットワーク複合機1を構成するLANインターフェース10は、先に受信したデータの処理中にPC31からセッション確立要求信号を受信した場合、PC31との間にセッションを確立するとともに、PC31から受信したデータの種類を解析し、処理中のデータと同じ種類の場合には、セッションを張った状態でPC31に対してデータの送信を禁止する持続接続制御を実行し、異なる種類の場合にはPC31に対してデータの送信を許可する。また、LANインターフェース10は、先のデータ処理が終了した時点で持続接続制御を終了し、PC31に対してデータの送信を許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置に関し、特に、ネットワークを介して接続される通信端末との間にセッションを形成してコネクション型のデータ通信を行なう通信装置に関する。
【背景技術】
【0002】
従来から、呼制御プロトコルを用いて画像データの通信を行なう画像通信装置が知られている。このような画像通信装置として、特許文献1には、並行して複数の機器と通信が可能な画像通信装置が記載されている。この画像通信装置によれば、SIP(Session Initiation Protocol)呼接続中に他の機器からSIP呼接続を要求された場合、先のSIP呼接続が終了した後で他の機器からのSIP呼接続要求に応答する。すなわち、最初のSIPプロトコル処理が終了し、メディアセッションに移行することにより、一時的に中断していた他の機器との呼制御通信が再開される。他の機器は、画像通信装置がデータ受信可能になったことで、画像通信装置に対して直接ACK信号を送信し、これからデータを送信することを伝える。そして、メディアセッションに移行し、画像データを画像通信装置に送信する。最初の機器から画像通信装置へのメディアセッションと他の機器から画像通信装置へのメディアセッションとが重なる間、画像通信装置は複数の機器からの画像データを同時に並行して受信する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−205617号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、複数の機器からの画像データを同時に受信するためには、受信された画像データに対してデータ処理が実行される間、該画像データを記憶しておくための大容量のメモリが必要となる。特に、同時に並行して受信される複数の画像データを処理するリソースが1つだけの場合には、複数の画像データを同時に処理することができないため、より大容量のメモリを設けることが要求される。
【0005】
一方、メモリの大容量化を回避するためには、複数のデータを並行して受信しない構成、すなわち、例えば1つの通信端末とのセッションが確立されている間は他の通信端末とのセッションを張らない構成とすることも考えられる。しかしながら、このような構成にした場合、他の通信端末は所定の時間を空けてセッション確立要求を繰り返し送出することとなる。そのため、先にセッションが張られていた通信端末から受信されたデータの処理が終了し、他の通信端末とセッションを張ることが可能な状態になったとしても、他の通信端末からセッション確立要求が再送されるまではセッションを張ることができない。そのため、リソースが使用可能になっていているにもかかわらず、受信処理及び受信データのデータ処理を開始することができず、処理の開始が遅れるという問題が生じ得る。さらに、一定時間以上応答が無くタイムアウトした場合には、セッションを確立することができないと判断され、他の通信端末側でエラーとなるおそれがある。
【0006】
本発明は、上記問題点を解消する為になされたものであり、ネットワークを介して接続される通信端末との間にセッションを形成してデータ通信を行なう通信装置において、受信データの処理中にセッション確立要求を受けたとしても、大容量のメモリを設けることなく、受信処理の待ち時間を短縮することができ、かつ、タイムアウトによるセッション確立エラーの発生を防止することが可能な通信装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る通信装置は、ネットワークを介して通信端末と接続され、該通信端末との間にセッションを形成してデータ通信を行なう通信装置において、通信端末との間でデータの送受信を行なう通信手段と、通信手段により受信されたデータを、該データの種類及び/又はジョブの種類に応じて処理する処理手段とを備え、通信手段が、セッション確立要求信号を受信した場合、該セッション確立要求信号を送信した通信端末との間にセッションを確立するとともに、該通信端末から受信したデータを解析し、処理手段による該データの処理が行えない場合には、セッションを張った状態で該通信端末に対してデータの送信を禁止する持続接続制御を実行し、処理手段による該データの処理が可能な場合には、持続接続制御を実行することなく該通信端末に対してデータの送信を許可することを特徴とする。
【0008】
本発明に係る通信装置によれば、セッション確立要求信号を受信したときに、受信したデータを処理手段で処理することができない場合、すなわちデータ処理を行なうリソースが空いていない場合には、セッションを張った状態を保持しつつセッション確立要求信号を送信した通信端末によるデータ送信が禁止される。そのため、リソースが利用可能になるまでデータを格納しておく必要がなく、メモリの容量を増大する必要がない。一方、受信したデータを処理手段で処理することができる場合には、すなわちデータ処理を行うリソースが空いているときには、データの送信が許可され、迅速に処理を進めることができる。また、先のデータの処理中に、セッションが張られた状態で後のデータ送信が禁止される持続接続制御が行なわれることにより、先のデータ処理が終了し持続接続制御が終了する時点では既にセッションが張られているため、迅速にデータ受信に移行することができる。さらに、セッション確立要求が受信されたときにセッションが確立されるため、タイムアウトによるセッション確立エラーの発生を防止することができる。以上により、大容量のメモリを設けることなく、受信処理の待ち時間を短縮することができ、かつ、タイムアウトによるセッション確立エラーの発生を防止することが可能となる。
【0009】
本発明に係る通信装置では、上記通信手段が、通信端末から受信したデータの種類を解析し、該データと同じ種類のデータが、処理手段によって処理されているときには、持続接続制御を実行し、処理手段によって処理されていない場合には、通信端末に対してデータの送信を許可することが好ましい。
【0010】
このようにすれば、通信端末から受信したデータの種類を解析するとともに、該データと同じ種類のデータが処理手段で処理されているか否かを判断することによって、データ処理を行なうためのリソースが空いているか否かを判断することができる。よって、上述した持続接続制御を実行する必要があるかどうかを適切に判断することができる。
【0011】
また、本発明に係る通信装置では、上記通信手段が、通信端末から受信したデータのジョブの種類を解析し、該ジョブと同じ種類のジョブのデータが、処理手段によって処理されているときには、持続接続制御を実行し、処理手段によって処理されていない場合には、通信端末に対してデータの送信を許可することが好ましい。
【0012】
このようにすれば、通信端末から受信したデータのジョブの種類を解析するとともに、該データと同じ種類のジョブのデータが処理手段で処理されているか否かを判断することによって、データ処理を行なうためのリソースが空いているか否かを判断することができる。よって、上述した持続接続制御を実行する必要があるかどうかを適切に判断することができる。
【0013】
本発明に係る通信装置では、上記通信手段が、持続接続制御を実行した場合に、処理手段によるデータ処理が終了した時点で持続接続制御を終了し、上記セッション確立要求信号を送信した通信端末に対してデータの送信を許可することが好ましい。
【0014】
この場合、先に実行されていたデータ処理が終了した時点で持続接続制御が終了され、後からセッション確立要求信号を送信した通信端末に対してデータの送信が許可される。すなわち、リソースが利用可能になったときにデータの送信が許可される。よって、処理待ちのデータを一時的に格納するための大容量のメモリを備える必要がない。また、持続接続制御が終了される時点では、既にセッションが張られているため、迅速にデータ通信を開始することが可能となる。
【0015】
本発明に係る通信装置では、上記通信手段が、通信端末から受信される受信データを一時的に格納する受信バッファを有し、該受信バッファの空き容量に応じた受信可能データ量を所定の通信プロトコルに従って通信端末へ送信するとともに、セッション確立要求信号を送信した通信端末から受信したデータの処理手段による処理が行えない場合には、受信可能データ量が該通信端末の最小送信可能データ量よりも小さくなるように、受信バッファから読み出すデータ量を非持続接続制御時よりも少なくすることが好ましい。
【0016】
このようにすれば、後からセッション確立要求信号を送信した通信端末から受信したデータの処理を行うことができない場合に、受信可能データ量が該通信端末の最小送信可能データ量よりも小さくなるように、受信バッファから読み出されるデータ量が非持続接続制御時(すなわち通常制御時)よりも少なくされる。よって、該通信端末から受信されるデータ量よりも受信バッファから読み出されるデータ量が少なくなるため、受信バッファの空き容量が減少し、受信可能データ量として該通信端末の最小送信可能データ量よりも小さな値(典型的にはゼロ)が該通信端末に対して送信される。その結果、セッションを張った状態で該通信端末による送信データの送出を抑制すること、すなわち持続接続制御を実現することが可能となる。
【0017】
また、本発明に係る通信装置では、上記通信手段が、持続接続制御を終了して上記セッション確立要求信号を送信した通信端末に対してデータの送信を許可する場合、受信可能データ量が該通信端末の最小送信可能データ量よりも大きくなるように、受信バッファから読み出すデータ量を持続接続制御時よりも多くすることが好ましい。
【0018】
この場合、持続接続制御を終了するときに、受信バッファから読み出されるデータ量が持続接続制御時よりも増やされ、受信バッファの空き容量(すなわち受信可能データ量)が通信端末の最小送信可能データ量よりも大きくされる。そして、その空き容量に応じたサイズが受信可能データ量として後からセッション確立要求信号を送信した通信端末に送信される。そのため、該通信端末が送信データを送出することができるようになり、よって、持続接続制御から通常制御に円滑に移行することが可能となる。
【0019】
なお、本発明に係る通信装置では、上記通信プロトコルとして、TCP/IPが好適に利用される。
【発明の効果】
【0020】
本発明によれば、ネットワークを介して接続される通信端末との間にセッションを形成してコネクション型のデータ通信を行なう通信装置において、受信データの処理中にセッションの確立要求を受けたとしても、大容量のメモリを設けることなく、受信処理の待ち時間を短縮することができ、かつ、タイムアウトによるセッション確立エラーの発生を防止することが可能となる。
【図面の簡単な説明】
【0021】
【図1】実施形態に係る通信装置が搭載されたネットワーク複合機の全体構成を示すブロック図である。
【図2】PCプリントデータとPC−FAXデータの種類が異なる場合のネットワーク複合機1によるPCプリント処理及びPC−FAX処理の処理手順を示すフローチャートである。
【図3】ネットワーク複合機とPCとの間の通信手順を示すシーケンス図である。
【図4】PCプリントデータとPC−FAXデータの種類が同じ場合のネットワーク複合機1によるPCプリント処理及びPC−FAX処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。なお、ここでは、実施形態に係る通信装置をネットワーク複合機(MFP)に適用した場合を例にして説明する。また、ネットワーク複合機がLANを介して2台のパーソナルコンピュータ(以下「PC」という。特許請求の範囲に記載の通信端末に相当)と接続されているネットワーク構成を例にして説明する。なお、例示するネットワークシステムは、理解を容易にするためにその構成を簡略化したものである。まず、図1を用いて、ネットワーク複合機1の全体構成について説明する。図1は、LAN51に接続されたネットワーク複合機1の全体構成を示すブロック図である。
【0023】
ネットワーク複合機1は、原稿を読み取り画像データを生成するスキャナ機能、読み取り生成した画像データを用紙に記録する機能(コピー機能)、及びファクシミリ通信により受信した画像データを用紙に記録する機能(FAX受信機能)に加え、LAN51を介して接続されているPC30、PC31から受信した画像データを用紙に記録する機能(以下「PCプリント機能」という)を備えている。また、ネットワーク複合機1は、読み取った画像データをファクシミリ送信するFAX送信機能に加え、外部のPC30、PC31から受信した画像データをファクシミリ送信する機能(以下「PC−FAX機能」という)を備えている。さらに、ネットワーク複合機1は、電子メールを利用してIP網経由で画像データを送受信するインターネットFAX(以下「IFAX」という)機能等も有している。これらの各機能を実現するためにネットワーク複合機1は、LANインターフェース10、制御部11、記録部12、操作部13、表示部14、読取部15、コーデック16、画像記憶部17、モデム18、NCU19、IFAX制御部20、及び、Webサーバ21等を備えている。なお、上記各部は通信線23で相互に通信可能に接続されている。
【0024】
LANインターフェース10は、各種通信プロトコルの送受信制御処理、及び各種通信プロトコル上のデータ解析処理及びデータ作成処理を行なうネットワークインターフェースである。外部のPC30、PC31とのデータ通信はこのLANインターフェース10を通して行われる。LANインターフェース10は、LAN51を介してPC30、PC31に接続されており、PC30、PC31との間で、例えばTCP/IPポート9100番やLpr等を使用してデータの通信を行なう。すなわち、LANインターフェース10は、TCP/IPに従い、PC30、PC31との間に仮想的に通信路(セッション)を形成して、複数の種類が異なるデータ、例えばPDL(Page Description Language)データからなるPCプリントジョブデータ、PC−FAXジョブデータ、及びGDI(Graphics Device Interface)データからなるPC−FAXジョブデータ、PCプリントジョブデータを単一のポート又は複数のポートを通して受信できるように構成されている。
【0025】
また、LANインターフェース10は、受信データの処理中(セッション確立中)にさらに例えばPC31からセッション確立要求信号を受信した場合、該セッション確立要求信号を送信したPC31との間にセッションを確立する。そして、LANインターフェース10は、PC31から送られてくるデータの種類及びジョブの種類を解析し、その解析結果に基づいて、該データの処理を行うことができるかどうか(すなわち処理を行うリソースが空いているかどうか)を判断し、処理を行うことができない場合(すなわちリソースが空いていない場合)には、セッションを張った状態でPC31に対してデータの送信を禁止する持続接続制御(キープアライブ)を実行する。一方、処理を行うことができるとき(すなわちリソースが空いているとき)には、持続接続制御を実行することなくPC31に対してデータの送信を許可する。より詳細には、LANインターフェース10は、PC31からジョブデータを受信した場合、該ジョブデータを構成する制御データに含まれるジョブ指令を参照してジョブの種類(例えばPCプリント、PC−FAX等)を判別する。また、制御データに含まれるデータ種別からデータの種類(例えばPDLデータ、GDIデータ等)を判別する。ただし、ジョブの種類に対してデータの種類が一義的に決まる場合、例えば、提供されるドライバーによって、ジョブの種類毎にデータの種類が一義的に定められているような場合には、ジョブの種類を判別することによりデータの種類を認識することができるため、データの種類の判別を省略してもよい。そして、LANインターフェース10は、同じ種類のジョブ、及び/又は、同じ種類のデータが現在処理中であるか否かによって、リソースが空いているか否かを判断し、その判断結果に基づいて持続接続制御を実行するか否かを決定する。
【0026】
ここで、LANインターフェース10は、9100番やLpr等のポートを通して受信される受信データを一時的に格納する、例えば8Kバイトの容量を持つ受信バッファ10Aを有し、該受信バッファ10Aの空き容量に応じた受信可能データ量をStandard TCP/IPに従ってPC30、PC31へ送信する。なお、受信バッファ10Aの空き容量が所定値以下(例えば半分以下)になった場合には、受信可能データ量としてゼロを送信する構成としてもよい。また、LANインターフェース10は、PC31から受信したデータの処理を行うことができない場合(すなわちリソースが空いていない場合)には、受信可能データ量がPC31の最小送信可能データ量よりも小さくなるように、受信バッファ10Aから読み出すデータ量を非持続接続制御時(すなわち通常制御時)よりも少なく(例えば数バイト〜数十バイト)することにより持続接続制御を実現する。
【0027】
また、LANインターフェース10は、持続接続制御を実行した場合に、先に受信したデータの処理が終了したとき(すなわちリソースを利用可能になったとき)に持続接続制御を終了し、後からセッション確立要求信号を送信したPC31に対してデータの送信を許可する。ここで、LANインターフェース10は、持続接続制御を終了してPC31に対してデータの送信を許可する場合、受信可能データ量がPC31の最小送信可能データ量よりも大きくなるように、受信バッファ10Aから読み出すデータ量を持続接続制御時よりも多くする(例えば数百〜数Kバイト)ことにより通常制御(非持続接続制御)に移行させる。このように、LANインターフェース10は、特許請求の範囲に記載の通信手段として機能する。
【0028】
制御部11は、演算を行なうマイクロプロセッサ、マイクロプロセッサに各処理を実行させるためのプログラム等を記憶するROM、受信バッファ10Aから読み出された受信データや演算結果等の各種データを一時的に記憶するRAM、及びバックアップデータを記憶するバックアップRAM等により構成されている。制御部11は、ROMに記憶されているプログラムを実行することにより、PCプリント機能、PC−FAX機能、及び以下に説明するネットワーク複合機1を構成する各部の機能を実現するとともに、ネットワーク複合機1を構成するハードウェアを統合的に制御する。
【0029】
また、制御部11は、入力されたPDLデータを解釈・展開してラスターデータを生成するプリンタコントローラとしての展開部11Aを有している。展開部11Aで生成されたラスターデータは、通信線23を介して記録部12に出力される。より詳細には、制御部11は、PC30、PC31から制御データとプリントデータとで構成されたPCプリントジョブデータを受信した場合、制御データに含まれるPCプリントジョブ指令等のジョブの種類を示すデータを参照してジョブの種類(この場合はPCプリント)を判別する。また、制御データに含まれるデータの種類を示すデータから受信したプリントデータがPDLデータであるかGDIデータであるかを判別する。そして、PDLデータである場合は、プリントデータを展開部11Aでラスタライズ処理してラスターデータを生成したのち記録部12に出力し、GDIデータである場合は、該データをそのまま記録部12に出力する。ただし、GDIデータが符号化圧縮されている場合には、コーデック16において復号された後、記録部12に出力される。
【0030】
さらに、制御部11は、PC−FAXジョブデータを受信すると、上述したようにジョブの種類を判別するとともに、制御データに含まれるファクシミリ送信先電話番号を抽出する。さらに制御部11は、制御データに含まれるデータ種別を参照して、データ種別がGDIデータである場合には、プリントデータをコーデック16で符号化圧縮して送信データを生成し、モデム18、NCU19を介してFAX送信する。なお、コーデック16、モデム18、及びNCU19の詳細については後述する。一方、データ種別がPDLデータである場合には、PDLデータを展開部11Aでラスタライズした後コーデック16で符号化圧縮して送信データを生成しFAX送信する。展開部11A、コーデック16、モデム18、及びNCU19は、特許請求の範囲に記載の処理手段に相当する。
【0031】
記録部12は、電子写真方式のプリンタであり、外部のPC30、PC31から受信された画像データ(GDIデータ又はPDLデータから展開されたラスターデータ)を用紙にプリントアウトする。また、記録部12は、読取部15により読み取られ生成された画像データ、及びFAX、IFAX等で受信された画像データを用紙にプリントアウトする。この記録部12も特許請求の範囲に記載の処理手段に相当する。
【0032】
操作部13は、ネットワーク複合機1の各機能を利用するために用いられる複数のキー、例えば、テンキー、短縮キー、スタートキー、ストップキー、及び各種のファンクションキー等を備えている。表示部14は、LCD等を用いた表示装置であり、ネットワーク複合機1の動作状態及び/又は各種設定内容等を表示する。読取部15は、光源及びCCD等によって構成されており、紙文書等の原稿を設定された副走査線密度に応じてライン毎に読み取り、画像データを生成する。
【0033】
コーデック16は、読取部15で読み取られた画像データを符号化圧縮するとともに符号化圧縮されている画像データを復号する。画像記憶部17は、DRAM等で構成されており、コーデック16で符号化圧縮された画像データ、FAX受信された画像データ、及び、外部のPC30、PC31から受信されて符号化圧縮された画像データ等を記憶する。
【0034】
モデム(変復調器)18は、ディジタル信号とアナログ信号との間の変復調を行なう。また、モデム18は、ディジタル命令信号(DCS)等の各種機能情報の発生及び検出を行なう。NCU(Network Control Unit)19は、モデム18と接続されており、モデム18と公衆交換電話網(PSTN)50との接続を制御する。また、NCU19は、送信先のファクシミリ番号に対応した呼出信号の送出、及びその着信を検出する機能を備えている。
【0035】
IFAX制御部20は、インターネット環境を利用したIFAX機能を司る。IFAX制御部20は、SMTP(Simple Mail Transfer Protocol)に従って電子メールを送信する機能、及び、POP(Post Office Protocol)に従って電子メールを受信する機能を有している。IFAX制御部20は、送信原稿をTIFF形式等の画像データとして電子メールに添付し、メールアドレス(SMTPサーバ)宛てに送信する。また、IFAX制御部20は、設定された時間毎にPOPサーバから電子メールを受信して添付ファイルをプリントアウトする。Webサーバ21は、例えばHTMLで記述されたホームページ、ログインページ、及びファクシミリ操作ページ等のデータに対して、PC30、PC31からアクセスして所定のHTTPタスクを実行することを可能にする。
【0036】
次に、図2及び図3を併せて参照しつつ、ネットワーク複合機1によるPCプリント処理及びPC−FAX処理について説明する。図2は、PCプリントデータとPC−FAXデータの種類が異なる場合のPCプリント処理及びPC−FAX処理の処理手順を示すフローチャートである。なお、ここでは、PCプリントデータとしてPDLデータが使用され、PC−FAXデータとしてGDIデータが使用される(すなわちジョブの種類に対してデータの種類が一義的に定まる)場合を例にして説明する。また、図3は、ネットワーク複合機1とPC31との間の通信手順を示すシーケンス図である。
【0037】
ステップS100では、PCプリントジョブ及びPC−FAXジョブを受け付けるソケットとローカルアドレスとが関連付けられる(すなわちbindされる)。ここで、ローカルアドレスは、IPアドレスとポート番号とから構成され、本実施形態では、ポート番号として9100番が割り当てられる。すなわち、ポート番号9100番でbindされる。続いて、ステップS102では、listen処理によりステップS100においてbindされたソケットでセッション確立要求(接続要求)を待ち受ける。
【0038】
続くステップS104では、Select処理で指定ポート(9100番)へのセッション確立要求(図3に示されるSYN信号)があるか否かの判断が行われる。セッション確立要求がある場合は、ステップS106に処理が移行する。一方、セッション確立要求がないときには、ステップS102に処理が移行し、セッション確立要求があるまでステップS102,S104が繰り返し実行される。
【0039】
セッション確立要求があった場合、ステップS106では、accept処理でセッション確立要求を受け付けることにより、セッションが確立する。より具体的には、図3に示されるように、SYN信号に対してACK/SYN信号を返すことによりセッションが確立する。以下、PC31との間でセッションが確立されたと仮定して説明する。なお、ACK/SYN信号が返されない場合、セッション確立要求を送ったPCは、6秒、12秒、24秒、48秒、72秒と送信間隔を徐々に大きくしてセッション確立要求を繰り返し送信する。そして、72秒経過した時点でACK/SYN信号が返ってこないときには、セッション確立要求処理を打ち切る。
【0040】
セッションが確立した後、ステップS108では、PC31から送られてきた第1番目のパケット(図3において、PC31からACK信号に続いて送られるData(win=aaaa))の受信処理が行われる。なお、PC31から送られる1パケット当たりのデータ量(aaaa)は、ネットワーク複合機1の受信可能データ量より小さくなるように設定される。
【0041】
続くステップS110では、ステップS108で受信された第1パケットのPJL(Printer Job Language)を解析し、要求されているサービスがPCプリントジョブ(PDLデータ)であるか否かについての判断が行われる。ここで、要求されているサービスがPCプリントジョブであると判断された場合には、ステップS112に処理が移行する。一方、要求されているサービスがPCプリントジョブではないと判断されたとき、すなわちPC−FAXジョブが要求されているときには、ステップS126に処理が移行する。
【0042】
ステップS112では、PCプリントの処理状態を示すフラグに基づいてPCプリント処理が既に実行中であるか否かについての判断が行われる。ここで、PCプリント処理が実行中である場合、すなわち上述した展開部11A、記録部12等のリソースを利用できない場合には、ステップS114に処理が移行する。一方、PCプリント処理が実行中ではないとき、すなわち展開部11A、記録部12等のリソースを利用可能なときには、ステップS116に処理が移行する。なお、ステップS112では、記録部12の状態にかかわらず、展開部11Aが利用できるか否かのみによって分岐判断を行ってもよい。その場合には、展開部11Aのみが特許請求の範囲に記載の処理手段に相当する。
【0043】
PCプリント処理が実行中である場合、ステップS114では、受信バッファ10Aから10バイトずつ受信データが読み出される。また、受信バッファ10Aの空き容量に応じた受信可能データ量がTCP/IPに従ってPC31へ送信される(図3に示されるACK(win=xxxx),ACK(win=yyyy)、ここでxxxx,yyyyは受信可能データ量を表し、xxxx>yyyyである)。その後、ステップS112に処理が移行し、先に実行中のPCプリント処理が終了するまでステップS112、S114が繰り返し実行される。その間、PC31から受信されるデータ量よりも受信バッファ10Aから読み出されるデータ量が少なくなるため、受信バッファ10Aの空き容量が時間経過に伴って次第に減少し、所定時間経過後に、PC31に対して受信可能データ量としてゼロ(又はゼロに近い値)が送信される(図3に示されるACK(win=0))。より詳細には、ネットワーク複合機1側で受信データの読み出しが実行されることに伴ってPC31に対してACKが帰される。PC31はACKを受信すると、次のデータを(1回又は複数回に分けて)送信する。その際、PC31は、受信した受信可能データ量より小さいパケットサイズを設定してデータを送信する。よって、読み出しが1回実行されれば、(1回又は複数回)データが受信される。そのため、ステップS114では、1回の読み出し量が、ACK1回あたりの受信データ量よりも小さくなるように受信データの読み出しが行われる。その結果、セッションを張った状態でPC31による送信データの送出が抑制される持続接続制御に移行し、先に実行中のPCプリント処理が終了するまで、持続接続制御が継続して実行される。
【0044】
より具体的には、図3に示されるように、ネットワーク複合機1がwindows sizeがゼロのACK(win=0)を返すと、PC31は、受信バッファ10Aが空いたか否かを問い合わせる信号TCP Zero Window Probe(win=0)を定期的に送出する。この信号に対して、持続接続制御が継続されている間、ネットワーク複合機1は、受信バッファ10Aに空き容量がないことを示す信号TCP Zero Window Probe ACK(win=0)を返す。すなわち、持続接続制御が維持されている間、TCP Zero Window Probe(win=0)に対してTCP Zero Window Probe ACK(win=0)が返信される。より詳細には、受信バッファ10Aの空き容量が所定値(例えば、受信バッファ容量の半分)より少ない場合には、正確な空き容量を受信可能データ量として送信するのではなく、受信可能データ量としてゼロを送信する。従って、持続接続制御から通常制御に移行した直後においても、空き容量が所定値に達するまでは、受信可能データ量としてゼロが送信され、空き容量が所定値に達した後、正確な空き容量が受信可能データ量として送信される。なお、受信可能データ量として、ゼロの代わりに、PC31の最小送信可能データ量よりも小さい値を設定してもよい。
【0045】
PC31からのPCプリントジョブが実行可能な場合、又は実行可能になった場合には、PC31からのPCプリントジョブが受け付けられ、ステップS116において、PCプリントの処理状態を示すフラグが「実行中」に設定される。その後、ステップS118において通常の受信処理(受信バッファ10Aから数Kバイトずつ受信データを読み出す処理)が実行される。そのため、これまで持続接続制御が行われていたときには、受信バッファ10Aの空き容量が急激に増大することにより、持続接続制御が解除され、PC31に対してデータの送信が許可される。より具体的には、持続接続制御を解除するときには、受信バッファ10Aからの読み出し量が持続接続制御よりも大幅に増大されることにより、図3に示されるように、TCP Zero Window Probe(win=0)に対し、(TCP Zero Window Probe ACK(win=0)に代えて)受信可能データ量を示すACK(win=xxxx)が返信される。これにより、PC31によるデータ送信が開始される。
【0046】
続くステップS120では、受信されたPDLデータがラスタライズされて生成されたラスターデータが記録部12に転送され、記録部12により用紙にプリントアウトされる。続いて、ステップS122では、セッションを終了させるためのFIN信号が受信されたか否かについての判断が行われる(図3に示されるFIN信号参照)。ここで、FIN信号が受信された場合には、ステップS124に処理が移行する。一方、FIN信号が受信されていないときには、ステップS118に処理が移行し、FIN信号が受信されるまで上述したステップS118〜S122が繰り返し実行される。
【0047】
FIN信号が受信された場合、ステップS124では、図3に示されるようにPC31に対してACK/FIN信号が返され、セッションが終了されるとともに、PCプリントの処理状態を示すフラグが「未実行中」に設定される。その後、本処理から一旦抜ける。
【0048】
ステップS110において、要求されているサービスがPCプリントジョブではないと判断されたとき、すなわちPC−FAXジョブが要求されているときには、ステップS126において、PC−FAXの処理状態を示すフラグに基づいてPC−FAX処理が既に実行中であるか否かについての判断が行われる。ここで、PC−FAX処理が実行中である場合、すなわち上述したコーデック16、モデム18、NCU19等のリソースを利用できない場合には、ステップS128に処理が移行する。一方、PC−FAX処理が実行中ではないとき、すなわちコーデック16、モデム18、NCU19等のリソースを利用可能なときには、ステップS130に処理が移行する。なお、ステップS126では、モデム18、NCU19の状態にかかわらず、コーデック16が利用できるか否かのみによって分岐判断を行ってもよい。その場合には、コーデック16のみが特許請求の範囲に記載の処理手段に相当する。
【0049】
PC−FAX処理が実行中である場合、ステップS128では、受信バッファ10Aから10バイトずつ受信データが読み出される。また、受信バッファ10Aの空き容量に応じた受信可能データ量がTCP/IPに従ってPC31へ送信される。その後、ステップS126に処理が移行し、先に実行中のPC−FAX処理が終了するまでステップS126、S128が繰り返し実行される。その間、PC31から受信されるデータ量よりも受信バッファ10Aから読み出されるデータ量が少なくなるため、受信バッファ10Aの空き容量が減少し、PC31に対して受信可能データ量としてゼロ(又はゼロに近い値)が送信される。その結果、セッションを張った状態でPC31による送信データの送出が抑制される持続接続制御に移行し、先に実行中のPC−FAX処理が終了するまで、持続接続制御が継続して実行される。
【0050】
PC31からのPC−FAXジョブが実行可能な場合、又は実行可能になった場合には、PC31からのPC−FAXジョブが受け付けられ、ステップS130において、PC−FAXの処理状態を示すフラグが「実行中」に設定される。その後、ステップS132において通常の受信処理(受信バッファ10Aから数Kバイトずつ受信データを読み出す処理)が実行される。そのため、これまで持続接続制御が行われていたときには、受信バッファ10Aの空き容量が増大することにより、持続接続制御が解除され、PC31に対してデータの送信が許可される。
【0051】
続くステップS134では、受信されたGDIデータがコーデック16により符号化圧縮されて送信データが生成され、モデム18、NCU19を介して送信される。続いて、ステップS136では、セッションを終了させるためのFIN信号が受信されたか否かについての判断が行われる。ここで、FIN信号が受信された場合には、ステップS138に処理が移行する。一方、FIN信号が受信されていないときには、ステップS132に処理が移行し、FIN信号が受信されるまで上述したステップS132〜S136が繰り返し実行される。
【0052】
FIN信号が受信された場合、ステップS138では、セッションが終了されるとともに、PC−FAXの処理状態を示すフラグが「未実行中」に設定される。その後、本処理から一旦抜ける。
【0053】
本実施形態によれば、データ処理中にさらにセッション確立要求信号を受信したときに、送られてくるジョブの種類が処理中のジョブと同じ種類(PCプリント(PDLデータ)同士又はPC−FAX(GDIデータ)同士)である場合、すなわちデータ処理を行なうリソースが同じ場合には、セッションを張った状態を保持しつつセッション確立要求信号を送信した例えばPC31に対してデータ送信が禁止される。そのため、リソースが利用可能になるまでPC31からの受信データを格納しておくために大容量のメモリを設ける必要がない。一方、処理中のジョブと種類が異なり、利用するリソースが競合しない場合には、データの送信が許可され、迅速に処理を進めることができる。また、先のデータの処理中に、セッションを張った状態で後のデータ送信を禁止する持続接続制御を行なうことにより、先のデータ処理が完了し持続接続制御が解除される時点では既にセッションが張られているため、迅速にデータ受信に移行することができる。さらに、セッション確立要求が受信されたときにセッションが確立されるため、タイムアウトによるセッション確立エラーの発生を防止することができる。以上により、大容量のメモリを設けることなく、受信処理の待ち時間を短縮することができ、かつ、タイムアウトによるセッション確立エラーの発生を防止することが可能となる。
【0054】
また、本実施形態によれば、先に実行されていたデータ処理が完了した時点で持続接続制御が解除され、後からセッション確立要求信号を送信した例えばPC31に対してデータの送信が許可される。すなわち、リソースが利用可能になったときにデータの送信が許可される。よって、処理待ちのデータを一時的に格納するための大容量のメモリを設ける必要がない。また、持続接続制御が終了される時点では、既にセッションが張られているため、迅速にデータ受信に移ることが可能となる。
【0055】
さらに、本実施形態によれば、後からセッション確立要求信号を送信したPC31から受信したジョブの種類が処理中のジョブと同じ種類の場合に、受信可能データ量がPC31の最小送信可能データ量よりも小さくなるように、受信バッファ10Aから読み出すデータ量が非持続接続制御時(すなわち通常制御時)よりも少なくされる。よって、PC31から受信されるデータ量よりも受信バッファ10Aから読み出されるデータ量が少なくなるため、受信バッファ10Aの空き容量が減少し、PC31に対して受信可能データ量としてゼロ(又はゼロに近い値)が送信される。その結果、セッションを張った状態でPC31による送信データの送出を抑制すること、すなわち持続接続制御を実現することが可能となる。
【0056】
また、本実施形態によれば、持続接続制御を終了するときに、受信バッファ10Aから読み出されるデータ量が持続接続制御時よりも増やされ、受信バッファ10Aの空き容量(すなわち受信可能データ量)がPC31の最小送信可能データ量よりも大きくされる。そして、その空き容量に応じたサイズが受信可能データサイズとして後からセッション確立要求信号を送信したPC31に送信される。そのため、PC31が送信データを送出することができるようになり、よって、持続接続制御から通常制御に円滑に移行することが可能となる。
【0057】
上記実施形態ではPCプリントデータとPC−FAXデータの種類が異なる場合のPCプリント処理及びPC−FAX処理について説明したが、PCプリントデータとPC−FAXデータとは同じ種類であってもよい。次に、図4を参照しつつ、PCプリントデータとPC−FAXデータの種類が同じ場合のPCプリント処理及びPC−FAX処理について説明する。ここで、図4は、PCプリントデータとPC−FAXデータの種類が同じ場合のネットワーク複合機1によるPCプリント処理及びPC−FAX処理の処理手順を示すフローチャートである。なお、図4に示した処理手順において、図2に示した処理手順と同一の処理を行なうステップについては図2と同一の符号を付した。また、ここでは、PCプリントデータ及びPC−FAXデータとしてPDLデータが使用される(すなわちジョブの種類に対してデータの種類が一義的に定まる)場合を例にして説明する。
【0058】
図4に示されるPCプリント処理及びPC−FAX処理の処理手順は、上述したステップS112に代えてステップS212が実行されるとともに、ステップS126に代えてステップS226が実行される点で上述した図2に示される処理手順と異なる。その他の処理手順は同一であるので、ここではこれらの異なる点について説明し、同一の処理手順については重複する説明を省略する。
【0059】
ステップS212では、PCプリントの処理状態を示すフラグ及びPC−FAXの処理状態を示すフラグに基づいて、PCプリント処理及びPC−FAX処理それぞれが既に実行中であるか否かについての判断が行われる。ここで、PCプリント処理及びPC−FAX処理のいずれか一方が実行中である場合、すなわち上述した展開部11Aを利用できない場合には、ステップS114に処理が移行し、持続接続制御が行われる。一方、PCプリント処理及びPC−FAX処理が実行中ではないとき、すなわち展開部11Aを利用可能なときには、ステップS116に処理が移行し、PCプリント処理が行われる。
【0060】
一方、ステップS226では、PC−FAXの処理状態を示すフラグ及びPCプリントの処理状態を示すフラグに基づいてPC−FAX処理及びPCプリント処理が既に実行中であるか否かについての判断が行われる。ここで、PC−FAX処理及びPCプリント処理のいずれか一方又は双方が実行中である場合、すなわち上述した展開部11Aを利用できない場合には、ステップS128に処理が移行し、持続接続制御が行われる。一方、PC−FAX処理及びPCプリント処理の双方が実行中ではないとき、すなわち展開部11Aを利用可能なときには、ステップS130に処理が移行し、PC−FAX処理が行われる。
【0061】
本実施形態によれば、PCプリントとPC−FAXとで同じ種類のデータを利用する場合であっても、上述した実施形態と同一又は同様の効果を奏することが可能となる。
【0062】
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に限定されるものではなく種々の変形が可能である。例えば、用いる通信プロトコル、ポート、データ形式、リソース、及び要求処理内容等は上記実施形態には限られない。また、上記実施形態では本発明に係る通信装置をネットワーク複合機に適用したが、ネットワーク複合機以外の装置に適用してもよい。
【0063】
また、上記実施形態では、PCプリントデータにPDLデータを用い、PC−FAXデータにGDIデータ又はPDLデータを用いたが、PCプリントデータ、PC−FAXデータとしてPDLデータ、GDIデータ双方を用いる構成としてもよい。さらに、上記実施形態では、持続接続制御に移行する際、及び持続接続制御を維持する際に、受信バッファ10Aから10バイトずつ受信データを読み出したが、1度に読み出される受信データ量は10バイトには限られない。
【0064】
また、上記実施形態では、通信端末がPCであり、処理内容例がPCプリント、PC−FAXである場合を例にして説明したが、通信端末や処理内容はこれらに限られない。すなわち、例えば、通信端末がネットワーク複合機であり、処理内容がダイレクトSMTPによる電子メール送信であってもよい。この場合、受信側のネットワーク複合機(本願の通信装置)は、ダイレクトSMTPによって受信した電子メールについて、MIMEデコード処理を行う。また、一般的に、受信した電子メールの添付ファイル(画像データ)は、MMR方式等で圧縮符号化されているため、そのデコード処理(復号処理)も行う。従って、これらのデコード処理を行うためのリソースが使用可能状態であるか否かによって、通常制御又は持続接続制御のいずれかが実行される。
【0065】
上記実施形態では、PC31とセッションが形成されると仮定し、このPC31よりも先にセッションを形成しているPCに付いては言及していないが、このPCは、PC30であってもよいし、PC31であってもよい。すなわち、異なるPCから2つ以上のジョブ受信が連続して発生してもよいし、同一のPCから2つ以上のジョブ受信が連続して発生してもよい。
【符号の説明】
【0066】
1 ネットワーク複合機
10 LANインターフェース
10A 受信バッファ
11 制御部
11A 展開部
12 記録部
13 操作部
14 表示部
15 読取部
16 コーデック
17 画像記憶部
18 モデム
19 NCU
20 IFAX制御部
21 Webサーバ
30,31 パーソナルコンピュータ
51 LAN


【特許請求の範囲】
【請求項1】
ネットワークを介して通信端末と接続され、該通信端末との間にセッションを形成してデータ通信を行なう通信装置において、
前記通信端末との間でデータの送受信を行なう通信手段と、
前記通信手段により受信されたデータを、該データの種類及び/又はジョブの種類に応じて処理する処理手段と、を備え、
前記通信手段は、セッション確立要求信号を受信した場合、該セッション確立要求信号を送信した通信端末との間にセッションを確立するとともに、該通信端末から受信したデータを解析し、前記処理手段による該データの処理が行えない場合には、セッションを張った状態で該通信端末に対してデータの送信を禁止する持続接続制御を実行し、前記処理手段による該データの処理が可能な場合には、持続接続制御を実行することなく該通信端末に対してデータの送信を許可することを特徴とする通信装置。
【請求項2】
前記通信手段は、前記通信端末から受信したデータの種類を解析し、該データと同じ種類のデータが、前記処理手段によって処理されているときには、前記持続接続制御を実行し、前記処理手段によって処理されていない場合には、前記通信端末に対してデータの送信を許可することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記通信手段は、前記通信端末から受信したデータのジョブの種類を解析し、該ジョブと同じ種類のジョブのデータが、前記処理手段によって処理されているときには、前記持続接続制御を実行し、前記処理手段によって処理されていない場合には、前記通信端末に対してデータの送信を許可することを特徴とする請求項1に記載の通信装置。
【請求項4】
前記通信手段は、前記持続接続制御を実行した場合に、前記処理手段によるデータ処理が終了した時点で持続接続制御を終了し、前記セッション確立要求信号を送信した通信端末に対してデータの送信を許可することを特徴とする請求項1〜3のいずれか1項に記載の通信装置。
【請求項5】
前記通信手段は、通信端末から受信される受信データを一時的に格納する受信バッファを有し、該受信バッファの空き容量に応じた受信可能データ量を所定の通信プロトコルに従って前記通信端末へ送信するとともに、前記セッション確立要求信号を送信した通信端末から受信したデータの前記処理手段による処理が行えない場合には、前記受信可能データ量が該通信端末の最小送信可能データ量よりも小さくなるように、前記受信バッファから読み出すデータ量を非持続接続制御時よりも少なくすることを特徴とする請求項1〜4のいずれか1項に記載の通信装置。
【請求項6】
前記通信手段は、前記持続接続制御を終了して前記セッション確立要求信号を送信した通信端末に対してデータの送信を許可する場合、前記受信可能データ量が該通信端末の最小送信可能データ量よりも大きくなるように、前記受信バッファから読み出すデータ量を前記持続接続制御時よりも多くすることを特徴とする請求項5に記載の通信装置。
【請求項7】
前記通信プロトコルは、TCP/IPであることを特徴とする請求項5又は6に記載の通信装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−258692(P2010−258692A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−105364(P2009−105364)
【出願日】平成21年4月23日(2009.4.23)
【出願人】(000006297)村田機械株式会社 (4,916)
【Fターム(参考)】