(57)【特許請求の範囲】
【請求項１】
複数のホスト端末とネットワークプリンタとがネットワークを介して接続され、上記ネットワークプリンタを上記複数のホスト端末で共用できるようになされたネットワークプリントシステムであって、
上記ホスト端末は、
上記ネットワークプリンタに割り当てられた印刷ポートを介して印刷データの送信が終了したときに、上記ネットワークプリンタに切断コマンドを送信して上記印刷ポートの切断を指示する印刷ポート切断部と、
上記切断コマンドの送信後に、上記印刷ポートとは別の通信ポートを介して、上記印刷ポートの切断を要求する切断要求コマンドを上記ネットワークプリンタに送信する切断要求コマンド送信部とを備え、
上記ネットワークプリンタは、
上記印刷ポートを介して上記ホスト端末から送信されてくる上記切断コマンドを受信して応答する切断応答部と、
上記印刷ポートを介して上記切断コマンドを受信することなく、上記別の通信ポートを介して上記切断要求コマンドを受信した場合、上記別の通信ポートから上記印刷ポートの強制切断を行う印刷ポート強制切断部とを備えたことを特徴とするネットワークプリントシステム。
【請求項２】
上記ホスト端末の上記切断要求コマンド送信部は、切断対象とする自身のホスト端末のポート番号を指定して、上記切断要求コマンドを上記ネットワークプリンタに送信し、
上記ネットワークプリンタの上記印刷ポート強制切断部は、上記ホスト端末のポート番号との間で接続されている上記印刷ポートの強制切断を行うことを特徴とする請求項１に記載のネットワークプリントシステム。
【請求項３】
上記ホスト端末の上記切断要求コマンド送信部は、上記ホスト端末のポート番号に加え、上記ホスト端末のＩＰアドレスを指定して、上記切断要求コマンドを上記ネットワークプリンタに送信し、
上記ネットワークプリンタの上記印刷ポート強制切断部は、上記ＩＰアドレスで示される上記ホスト端末の上記ポート番号との間で接続されている上記印刷ポートの強制切断を行うことを特徴とする請求項２に記載のネットワークプリントシステム。
【請求項４】
上記ネットワークプリンタの上記印刷ポート強制切断部は、上記印刷データ、上記切断コマンドおよび上記切断要求コマンドの何れも受信することなく所定のタイムアウト時間が経過した場合、上記印刷ポートから上記印刷ポートの強制切断を行うことを特徴とする請求項１〜３の何れか１項に記載のネットワークプリントシステム。
【請求項５】
上記印刷ポート強制切断部は、上記ホスト端末と上記ネットワークプリンタとの間で上記別の通信ポートが接続された後、上記切断要求コマンドを受信することなく所定のタイムアウト時間が経過した場合、上記別の通信ポートの強制切断を行うことを特徴とする請求項１〜４の何れか１項に記載のネットワークプリントシステム。
【請求項６】
ネットワークを介して接続されネットワークプリンタに対して印刷データを送信して印刷を実行可能になされたホスト端末であって、
上記ネットワークプリンタに割り当てられた印刷ポートを介して上記印刷データの送信が終了したときに、上記ネットワークプリンタに切断コマンドを送信して上記印刷ポートの切断を指示する印刷ポート切断部と、
上記切断コマンドの送信後に、上記印刷ポートとは別の通信ポートを介して、上記印刷ポートの切断を要求する切断要求コマンドを上記ネットワークプリンタに送信する切断要求コマンド送信部とを備えたことを特徴とするホスト端末。
【請求項７】
上記切断要求コマンド送信部は、切断対象とする自身のホスト端末のポート番号を指定して、上記切断要求コマンドを上記ネットワークプリンタに送信することを特徴とする請求項６に記載のホスト端末。
【請求項８】
上記切断要求コマンド送信部は、上記ホスト端末のポート番号に加え、上記ホスト端末のＩＰアドレスを指定して、上記切断要求コマンドを上記ネットワークプリンタに送信することを特徴とする請求項７に記載のホスト端末。
【請求項９】
ネットワークを介して接続された複数のホスト端末から印刷データを受信して印刷を実行するようになされたネットワークプリンタであって、
上記ネットワークプリンタに割り当てられた印刷ポートを介して上記ホスト端末から送信されてくる上記印刷データの受信が終了した後、上記印刷ポートを介して上記ホスト端末から送信されてくる切断コマンドを受信して応答する切断応答部と、
上記切断コマンドの送信後に上記印刷ポートとは別の通信ポートを介して上記ホスト端末から送信されてくる、上記印刷ポートの切断を要求する切断要求コマンドを受信する切断要求コマンド受信部と、
上記印刷ポートを介して上記切断コマンドを受信することなく、上記別の通信ポートを介して上記切断要求コマンドを受信した場合、上記別の通信ポートから上記印刷ポートの強制切断を行う印刷ポート強制切断部とを備えたことを特徴とするネットワークプリンタ。
【請求項１０】
上記印刷ポート強制切断部は、上記切断要求コマンドにより指定されている上記ホスト端末のポート番号との間で接続されている上記印刷ポートの強制切断を行うことを特徴とする請求項９に記載のネットワークプリンタ。
【請求項１１】
上記印刷ポート強制切断部は、上記切断要求コマンドにより指定されている、ＩＰアドレスで示される上記ホスト端末の上記ポート番号との間で接続されている上記印刷ポートの強制切断を行うことを特徴とする請求項１０に記載のネットワークプリンタ。
【請求項１２】
上記印刷ポート強制切断部は、上記印刷データ、上記切断コマンドおよび上記切断要求コマンドの何れも受信することなく所定のタイムアウト時間が経過した場合、上記印刷ポートから上記印刷ポートの強制切断を行うことを特徴とする請求項９〜１１の何れか１項に記載のネットワークプリンタ。
【請求項１３】
上記印刷ポート強制切断部は、上記ホスト端末と上記ネットワークプリンタとの間で上記別の通信ポートが接続された後、上記切断要求コマンドを受信することなく所定のタイムアウト時間が経過した場合、上記別の通信ポートの強制切断を行うことを特徴とする請求項９〜１２の何れか１項に記載のネットワークプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークプリントシステム、ホスト端末およびネットワークプリンタに関し、特に、ネットワークに接続されたプリンタを複数のホスト端末で共用できるようにしたシステムに用いて好適なものである。
【背景技術】
【０００２】
従来、ＬＡＮやＷＡＮなどのネットワークに接続されたプリンタを、複数のホスト端末で共用できるようにしたネットワークプリントシステムが広く利用されている。この種のプリンタは、ネットワークプリンタと呼ばれる。ネットワークプリンタは、多くの場合、プリントサーバを介してネットワークに接続される。また、プリンタ内部にプリントサーバの機能を持たせておき、直接ネットワークに接続できるようになされたネットワークプリンタも存在する。
【０００３】
ネットワークプリントシステムでは、複数のホスト端末から印刷命令が出された場合には、各ホスト端末から送られてくる印刷データをプリントサーバに格納し、ネットワークプリンタにて順番に印刷を実行していく仕組みになっている。このため、あるホスト端末からネットワークプリンタに対して印刷データを送信している最中、あるいは、ネットワークプリンタにおいて印刷を実行している最中に、他のホスト端末から印刷命令が出されても、混乱せず順序よく印刷を実行することができる。
【０００４】
ホスト端末からネットワークプリンタに印刷命令を出して印刷を行う場合、ネットワークプリンタの印刷ポートを通して印刷データを送信する。この印刷ポートは、ネットワークに接続された複数のホスト端末のプリンタドライバにおいて、印刷データの出力先としてあらかじめ設定されている。複数のホスト端末で１台のネットワークプリンタを共用する場合、これら複数のホスト端末には、このネットワークプリンタに割り当てられた印刷ポートがそれぞれ出力先として設定される。
【０００５】
図６は、ホスト端末からネットワークプリンタに印刷データを送信する際の処理の手順を示すフローチャートである。なお、ここではプリンタ内部にプリントサーバの機能を備えたネットワークプリンタを用いた例を示している。すなわち、ホスト端末からネットワークプリンタに対して印刷データを直接送信する例を示している。
【０００６】
図６に示すように、まず、ホスト端末から印刷ポートを出力先に指定して接続コマンド（ＳＹＮ）をネットワークプリンタに送信する。これに応答して、ネットワークプリンタからホスト端末に応答（ＳＹＮ−ＡＣＫ）が返されると、印刷ポートを通じた接続が確立する。その後、ホスト端末からネットワークプリンタに印刷データをパケット単位で順次送信する。
【０００７】
そして、印刷データの送信が全て終了すると、ホスト端末から切断コマンド（ＦＩＮ）をネットワークプリンタに送信する。これに応答して、ネットワークプリンタからホスト端末に応答（ＦＩＮ−ＡＣＫ）が返されると、印刷ポートを通じた接続が切断する。このようにしてホスト端末からネットワークプリンタに送信された印刷データは、いったん内部のバッファ（プリントサーバの機能）に格納される。そして、バッファに格納された印刷データに基づいて印刷が実行される。
【０００８】
図６には図示しなかったが、ホスト端末は、ネットワークプリンタに１パケット分の印刷データ（以下、印刷データパケットという）を送信する都度、ネットワークプリンタから応答（ＡＣＫ）を受け取る。ホスト端末は、応答を受け取ると、次の印刷データパケットを送信する。図７に示すように、ホスト端末では、１つの印刷データパケットを送信した後、所定のタイムアウト時間Ｔ１（例えば、５秒）以内にネットワークプリンタから応答を受信しない場合には、同じ印刷データパケットを再送する。
【０００９】
一方、ネットワークプリンタでは、１つの印刷データパケットを受信した後、所定のタイムアウト時間Ｔ２（例えば、５分）以内にホスト端末から次の印刷データパケットを受信しない場合には、切断コマンド（ＲＳＴ）をホスト端末に送信することにより、印刷ポートを通じた接続を切断する。すなわち、タイムアウト時間Ｔ２以内にホスト端末から次の印刷データパケットが届かない場合は、そのホスト端末との間で何らかのネットワーク障害が発生した可能性があると判断し、使用中の印刷ポートを開放する。印刷ポートを開放しないと、ネットワーク障害が生じているホスト端末によって印刷ポートが占有され続けてしまい、他のホスト端末からネットワークプリンタを使用することができなくなってしまうからである。
【００１０】
しかしながら、ホスト端末は、印刷データの送信が終わった後に送信する切断コマンド（ＦＩＮ）に関しては、タイムアウト時間Ｔ１の経過により再送する仕組みを有していない。そのため、ホスト端末から送信された切断コマンド（ＦＩＮ）がネットワーク障害等により失われると、ネットワークプリンタでは、必ずタイムアウト時間Ｔ２の経過を待って切断コマンド（ＲＳＴ）をホスト端末に送信することになる。この場合、ネットワークプリンタでは、ホスト端末から印刷データを全て受信し終わっているにもかかわらず、そのホスト端末との間で接続された印刷ポートをすぐには切断することができず、タイムアウト時間Ｔ２が経過するまでは他のホスト端末がネットワークプリンタを使用することができないという問題があった。
【００１１】
なお、情報処理装置からプリンタ装置へのデータの送信エラーを検知した際、先の通信路を接続したまま新たな通信路を接続し、この新たな通信路を介してプリンタ装置の状態情報を受信して、受信した状態情報に応じた処理を行うように成された技術が知られている（特許文献１参照）。この特許文献１に記載の情報処理装置では、受信した状態情報がプリンタ装置のペーパージャム（紙詰まりを起こしている状態）、カバーオープン（プリンタ装置のカバーが開いている状態）、ペーパーフェイル（プリンタ装置で印刷出力する際に所望のサイズの記録紙がセットされていない状態）のいずれかを示している場合、プリンタ装置が印刷データを受信不可能な状態であると判断して、処理を終了する。
【００１２】
この特許文献１に記載の技術によれば、プリンタ装置が一時的な非可動状態に陥っている場合に、その状態に応じたコネクション（通話路）の制御を行い、印刷データの送信処理を終了することは可能である。しかしながら、ホスト端末とネットワークプリンタとの間に開設した印刷ポートにおいて、印刷データの送信後にネットワーク障害が発生したときに、その印刷ポートが占有されたままになってしまい、他のホスト端末がネットワークプリンタを使用できなくなるという問題を解消することはできない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平１０−４００２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明は、このような問題を解決するために成されたものであり、印刷データの送信の終了後にホスト端末から送信された切断コマンドがネットワーク障害により失われた場合でも、タイムアウト時間の経過を待たずとも他のホスト端末がネットワークプリンタを使用できるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
上記した課題を解決するために、本発明のネットワークプリントシステムにおいて、ホスト端末では、ネットワークプリンタに割り当てられた印刷ポートを介してホスト端末からネットワークプリンタに対する印刷データの送信が終了したときに、印刷ポートの切断を指示する切断コマンドをネットワークプリンタに送信した後、印刷ポートとは別の通信ポートを介して、印刷ポートの切断を要求する切断要求コマンドをネットワークプリンタに送信するようにしている。ネットワークプリンタでは、印刷ポートを介して切断コマンドを受信した場合に応答を行う一方、印刷ポートを介して切断コマンドを受信することなく、別の通信ポートを介して切断要求コマンドを受信した場合は、印刷ポートの強制切断を行うようにしている。
【発明の効果】
【００１６】
上記のように構成した本発明によれば、印刷データの送信の終了後にホスト端末から印刷ポートに送信された切断コマンドがネットワーク障害により失われた場合でも、切断コマンドの後に別の通信ポートを介してホスト端末からネットワークプリンタに送信される切断要求コマンドに従って、ホスト端末とネットワークプリンタとの間で接続された印刷ポートをネットワークプリンタ側から切断することができる。このため、ネットワーク障害が生じている印刷ポートの状態に関係なく、印刷データの送信が終了してからすぐに印刷ポートを切断して開放することができる。これにより、タイムアウト時間の経過を待たずとも、他のホスト端末がネットワークプリンタを使用することができるようになる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態によるネットワークプリントシステムの構成例を示す図である。
【図２】本実施形態によるホスト端末およびネットワークプリンタのハードウェア構成例を示すブロック図である。
【図３】本実施形態によるホスト端末およびネットワークプリンタの機能構成例を示すブロック図である。
【図４】ネットワーク障害が発生することなく、印刷データの送信が無事に終了した場合の本実施形態の動作例を示すフローチャートである。
【図５】印刷データの送信の終了後にネットワーク障害が発生し、ホスト端末から送信された切断コマンドがネットワークプリンタに届かない場合の本実施形態の動作例を示すフローチャートである。
【図６】ネットワーク障害が発生することなく、印刷データの送信が無事に終了した場合の従来の動作例を示すフローチャートである。
【図７】印刷データの送信中にネットワーク障害が発生した場合の従来の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるネットワークプリントシステムの構成例を示す図である。図１（ａ）に示すように、本実施形態のネットワークプリントシステムは、複数のホスト端末１００とネットワークプリンタ２００とがＬＡＮまたはＷＡＮなどのネットワーク５００を介して接続され、ネットワークプリンタ２００を複数のホスト端末１００で共用できるようになされている。
【００１９】
図１（ａ）に示すネットワークプリントシステムでは、ネットワークプリンタ２００が内部にプリントサーバの機能を有している。この場合、ホスト端末１００からネットワーク５００を介してネットワークプリンタ２００に印刷データを直接送信する。ネットワークプリンタ２００は、各ホスト端末１００から送られてくる印刷データを内部のプリントサーバ（バッファ）に順次格納し、バッファから印刷データを順次読み出して印刷を実行する。
【００２０】
なお、図１（ｂ）に示すように、ネットワーク５００にプリントサーバ３００を接続し、ホスト端末１００からプリントサーバ３００を経由してネットワークプリンタ２００に印刷データを送信するようにしてもよい。この場合は、各ホスト端末１００から送られてくる印刷データをプリントサーバ３００にて順次格納し、それを順次ネットワークプリンタ２００に送信して印刷を実行する。図１（ａ）または図１（ｂ）の何れの形態においても、複数のホスト端末１００から印刷命令が出された場合には、各ホスト端末１００から送られてくる印刷データをネットワークプリンタ２００に順次格納し、順番に印刷を実行していくようになっている。
【００２１】
図２は、本実施形態によるホスト端末１００およびネットワークプリンタ２００のハードウェア構成例を示すブロック図である。ホスト端末１００は、そのハードウェア構成として、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ハードディスク１０４、液晶ディスプレイ等の表示部１０５、キーボード、マウス、タッチパネル等の操作部１０６およびインタフェース部１０７を備えている。
【００２２】
ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３またはハードディスク１０４に記憶されたプログラムに従って、ホスト端末１００の動作を制御する。インタフェース部１０７は、ネットワーク５００を介してネットワークプリンタ２００との間で種々のデータの通信を行う。
【００２３】
本実施形態において、インタフェース部１０７は、ＴＣＰ／ＩＰプロトコルに従って通信を行う。このため、インタフェース部１０７は、複数の通信ポートを同時に開設し、当該複数の通信ポートを介して通信を行うことができるようになっている。本実施形態では、複数の通信ポートとして、印刷データの送信に使用する通信ポートと、印刷ポートの強制切断に使用する通信ポートとを使用する。何れの通信ポートも、ホスト端末１００からネットワークプリンタ２００に対して印刷の指示を行う都度、インタフェース部１０７によって任意のポート番号が割り当てられる。
【００２４】
ネットワークプリンタ２００は、そのハードウェア構成として、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、インタフェース部２０４および印刷部２０５を備えている。ＣＰＵ２０１は、ＲＯＭ２０２またはＲＡＭ２０３に記憶されたプログラムに従って、ネットワークプリンタ２００の動作を制御する。ホスト端末１００またはプリントサーバ３００から送信されてきた印刷データは、ＲＡＭ２０３から成るバッファにいったん格納され、印刷部２０５によって印刷が実行される。なお、バッファとしてハードディスクまたは半導体メモリ等の他の記憶媒体を用いてもよい。
【００２５】
インタフェース部２０４は、ネットワーク５００を介してホスト端末１００との間で種々のデータの通信を行う。このインタフェース部２０４も、ＴＣＰ／ＩＰプロトコルに従って通信を行う。このため、インタフェース部２０４は、複数の通信ポートを同時に開設し、当該複数の通信ポートを介して通信を行うことができるようになっている。本実施形態では、複数の通信ポートとして、印刷データの送信に使用する印刷ポートと、印刷ポートの強制切断に使用する切断用ポート（特許請求の範囲の「別の通信ポート」に相当する）とを使用する。印刷ポートおよび切断用ポートは、使用するポート番号があらかじめ割り当てられている。
【００２６】
なお、インタフェース部２０４は、ネットワークプリンタ２００が一体として備えているものであってもよいし、ネットワークカードのようにネットワークプリンタ２００に対して着脱可能なものであってもよい。
【００２７】
図３は、本実施形態によるホスト端末１００およびネットワークプリンタ２００の機能構成例を示すブロック図である。なお、この図３では、本実施形態の動作に係るホスト端末１００およびネットワークプリンタ２００の主要な機能構成のみを示している。ネットワークプリンタ２００については、図２に示したハードウェア構成の一部も図示している。
【００２８】
図３に示すように、ホスト端末１００は、その機能構成として、印刷ポート接続部１１、印刷データ送信部１２、印刷ポート切断部１３、切断要求コマンド送信部１４およびホスト側切断応答部１５を備えている。これらの各機能ブロック１１〜１５の機能は、図２に示したＣＰＵ１０１の制御に従って、ＲＯＭ１０２、ＲＡＭ１０３またはハードディスク１０４に記憶されたプログラムが動作することによって実現される。
【００２９】
また、ネットワークプリンタ２００は、その機能構成として、接続応答部２１、印刷データ受信部２２、プリンタ側切断応答部２３、切断要求コマンド受信部２４、判定部２５および印刷ポート強制切断部２６を備えている。これらの各機能ブロック２１〜２６の機能は、図２に示したＣＰＵ２０１の制御に従って、ＲＯＭ２０２またはＲＡＭ２０３に記憶されたプログラムが動作することによって実現される。
【００３０】
ホスト端末１００の印刷ポート接続部１１は、ネットワークプリンタ２００にあらかじめ割り当てられた印刷ポートを介して、ネットワークプリンタ２００に接続コマンド（ＳＹＮ）を送信し、印刷ポートの接続を指示する。ネットワークプリンタ２００の接続応答部２１は、印刷ポートを介してホスト端末１００から送信されてくる接続コマンド（ＳＹＮ）を受信して応答する。すなわち、接続応答部２１は、接続コマンド（ＳＹＮ）に対する応答（ＳＹＮ−ＡＣＫ）をホスト端末１００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に印刷ポートを通じた接続が確立する。
【００３１】
ホスト端末１００の印刷データ送信部１２は、印刷ポート接続部１１および接続応答部２１によって接続された印刷ポートを介して、印刷データをネットワークプリンタ２００に送信する。ここで、印刷データ送信部１２は、印刷データをパケットに分けて順次送信する。ネットワークプリンタ２００の印刷データ受信部２２は、ホスト端末１００から送信されてくる印刷データパケットを順次受信する。印刷データ受信部２２は、印刷データパケットを受信する都度、受信の応答（ＡＣＫ）をホスト端末１００に返す。
【００３２】
印刷データ送信部１２は、１つの印刷データパケットを送信した後、ネットワークプリンタ２００から応答（ＡＣＫ）が返されてくるのを待つ。そして、この応答を受け取ると、印刷データ送信部１２は次の印刷データパケットをネットワークプリンタ２００に送信する。一方、印刷データ送信部１２は、１つの印刷データパケットを送信した後、所定のタイムアウト時間Ｔ１（例えば、５秒）以内にネットワークプリンタ２００から応答を受信しない場合には、同じ印刷データパケットをネットワークプリンタ２００に再送する。
【００３３】
印刷データ受信部２２が受信した印刷データパケットは、ＲＡＭ２０３に順次格納される。印刷部２０５は、ＲＡＭ２０３に格納された印刷データパケットに基づいて、印刷を実行する。なお、印刷部２０５は、印刷データの受信が全て完了してから印刷の実行を開始するようにしてもよいし、所定量の印刷データがＲＡＭ２０３に格納された時点から印刷の実行を開始するようにしてもよい。
【００３４】
ホスト端末１００の印刷ポート切断部１３は、印刷ポートを介して印刷データの送信が終了したときに、ネットワークプリンタ２００に切断コマンド（ＦＩＮ）を送信して印刷ポートの切断を指示する。ネットワークプリンタ２００のプリンタ側切断応答部２３は、印刷ポートを介してホスト端末１００から送信されてくる切断コマンド（ＦＩＮ）を受信して応答する。すなわち、プリンタ側切断応答部２３は、切断コマンド（ＦＩＮ）に対する応答（ＦＩＮ−ＡＣＫ）をホスト端末１００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に接続されていた印刷ポートが切断される。
【００３５】
ホスト端末１００の切断要求コマンド送信部１４は、印刷ポート切断部１３による切断コマンド（ＦＩＮ）の送信後に、印刷ポートとは別の切断用ポートを介して、印刷ポートの切断を要求する切断要求コマンドをネットワークプリンタ２００に送信する。
【００３６】
具体的には、切断要求コマンド送信部１４は、ネットワークプリンタ２００にあらかじめ割り当てられた切断用ポートを介して、ネットワークプリンタ２００に接続コマンド（ＳＹＮ）を送信し、切断用ポートの接続を指示する。これに応じてネットワークプリンタ２００が応答（ＳＹＮ−ＡＣＫ）をホスト端末１００に返すことにより、ホスト端末１００とネットワークプリンタ２００との間に切断用ポートを通じた接続が確立する。この状態で、切断要求コマンド送信部１４は、切断用ポートを介して、印刷ポートの切断要求コマンドをネットワークプリンタ２００に送信する。
【００３７】
ネットワークプリンタ２００の切断要求コマンド受信部２４は、切断用ポートを介してホスト端末１００から送信されてくる切断要求コマンドを受信する。判定部２５は、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを受信することなく、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信したか否かを判定する。そして、その判定結果に基づいて、印刷ポートの強制切断を行うか否かを決定する。
【００３８】
具体的には、判定部２５は、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを受信することなく、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信したと判定した場合、印刷ポートの強制切断を行うことを決定する。一方、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信する前に、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを既に受信していると判定した場合は、印刷ポートの強制切断を行わないことを決定する。
【００３９】
印刷ポート強制切断部２６は、判定部２５により印刷ポートの強制切断を行うと決定された場合、切断用ポートを介して切断コマンド（ＲＳＴ）をホスト端末１００に送信することにより、印刷ポートの強制切断を行う。そして、印刷ポート強制切断部２６は、切断用ポートを介して、強制切断を行ったことを示す情報（例えば、０１ｈ）をホスト端末１００に送信する。一方、判定部２５により印刷ポートの強制切断を行わないと決定された場合、印刷ポート強制切断部２６は、切断用ポートを介して、強制切断を行わないことを示す情報（例えば、００ｈ）をホスト端末１００に送信する。
【００４０】
ここで、ネットワーク５００に接続されている複数のホスト端末１００のうち、ネットワークプリンタ２００との間でネットワーク障害が発生しているホスト端末１００の通信ポートを特定して強制切断を行う必要がある。本実施形態ではそのために、ホスト端末１００の切断要求コマンド送信部１４は、切断対象とする自身のホスト端末１００のポート番号（印刷ポートとの接続の都度変わり得る）を指定して、切断要求コマンドをネットワークプリンタ２００に送信する。ネットワークプリンタ２００の印刷ポート強制切断部２６は、上記のように指定されたホスト端末１００のポート番号との間で接続されている印刷ポートの強制切断を行う。
【００４１】
なお、ホスト端末１００の切断要求コマンド送信部１４は、ホスト端末１００のポート番号に加え、ホスト端末１００のＩＰアドレスを指定して、切断要求コマンドをネットワークプリンタ２００に送信するのがより好ましい。この場合、ネットワークプリンタ２００の印刷ポート強制切断部２６は、ＩＰアドレスで示されるホスト端末１００の、指定されたポート番号との間で接続されている印刷ポートの強制切断を行う。
【００４２】
印刷ポート強制切断部２６は、０１ｈまたは００ｈの情報をホスト端末１００に送信した後、ホスト端末１００に切断コマンド（ＦＩＮ）を送信して切断用ポートの切断を指示する。ホスト端末１００のホスト側切断応答部１５は、切断用ポートを介してネットワークプリンタ２００から送信されてくる切断コマンド（ＦＩＮ）を受信して応答する。すなわち、ホスト側切断応答部１５は、切断コマンド（ＦＩＮ）に対する応答（ＦＩＮ−ＡＣＫ）をネットワークプリンタ２００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に接続されていた切断用ポートが切断される。
【００４３】
なお、ネットワークプリンタ２００の印刷ポート強制切断部２６は、印刷データ、切断コマンドおよび切断要求コマンドの何れも受信することなく所定のタイムアウト時間Ｔ２（例えば、５分）が経過した場合も、印刷ポートの強制切断を行う。すなわち、図７に示した状況と同様に、印刷データ受信部２２が１つの印刷データパケットを受信した後、所定のタイムアウト時間Ｔ２以内にホスト端末１００から次の印刷データパケットを受信しない場合には、印刷ポートを介して切断コマンド（ＲＳＴ）をホスト端末１００に送信することにより、印刷ポートを通じた接続を切断する。
【００４４】
次に、上記のように構成した本実施形態によるネットワークプリントシステムの動作を説明する。図４および図５は、本実施形態によるネットワークプリントシステムの動作例を示すフローチャートである。図４は、ネットワーク障害が発生することなく、印刷データの送信が無事に終了した場合の動作例を示すものである。一方、図５は、印刷データの送信の終了後にネットワーク障害が発生し、ホスト端末１００から送信された切断コマンド（ＦＩＮ）がネットワークプリンタ２００に届かない場合の動作例を示すものである。
【００４５】
まず、図４に基づいて説明する。ホスト端末１００において印刷指示が行われると、ホスト端末１００の印刷ポート接続部１１は、ホスト端末１００に任意に割り当てられた通信ポート（Ａ）から、ネットワークプリンタ２００にあらかじめ割り当てられている印刷ポートに対して接続コマンド（ＳＹＮ）を送信し、印刷ポートの接続を指示する。
【００４６】
ネットワークプリンタ２００の接続応答部２１は、印刷ポートを介してホスト端末１００から送信されてくる接続コマンド（ＳＹＮ）を受信すると、応答（ＳＹＮ−ＡＣＫ）をホスト端末１００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に印刷ポートを通じた接続が確立する。
【００４７】
その後、ホスト端末１００の印刷データ送信部１２は、印刷ポート接続部１１および接続応答部２１によって接続された印刷ポートを介して、印刷データをネットワークプリンタ２００に送信する。ここで、ホスト端末１００の印刷データ送信部１２は、複数の印刷データパケットを順次送信し、ネットワークプリンタ２００の印刷データ受信部２２は、印刷データパケットを受信する都度、受信の応答（ＡＣＫ）をホスト端末１００に返す。ここでは、印刷データの送信が無事に最後まで終わったものとする。
【００４８】
ホスト端末１００の印刷ポート切断部１３は、印刷ポートを介して印刷データの送信が終了したときに、ネットワークプリンタ２００に切断コマンド（ＦＩＮ）を送信して印刷ポートの切断を指示する。ネットワークプリンタ２００のプリンタ側切断応答部２３は、切断コマンド（ＦＩＮ）を受信すると、応答（ＦＩＮ−ＡＣＫ）をホスト端末１００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に接続されていた印刷ポートが切断される。
【００４９】
ホスト端末１００の切断要求コマンド送信部１４は、印刷ポート切断部１３が印刷ポートを介して切断コマンド（ＦＩＮ）をネットワークプリンタ２００に送信した直後に、ホスト端末１００に任意に割り当てられた通信ポート（Ｂ）から、ネットワークプリンタ２００にあらかじめ割り当てられている切断用ポートに対して接続コマンド（ＳＹＮ）を送信し、切断用ポートの接続を指示する。
【００５０】
ネットワークプリンタ２００の切断要求コマンド受信部２４は、切断用ポートを介してホスト端末１００から送信されてくる接続コマンド（ＳＹＮ）を受信すると、応答（ＳＹＮ−ＡＣＫ）をホスト端末１００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に切断用ポートを通じた接続が確立する。
【００５１】
この状態で、切断要求コマンド送信部１４は、切断用ポートを介して、印刷ポートの切断要求コマンドをネットワークプリンタ２００に送信する。この切断要求コマンドには、ホスト端末１００のＩＰアドレスと、印刷ポートとの接続に使用された通信ポート（Ａ）のポート番号が含まれている。ネットワークプリンタ２００の切断要求コマンド受信部２４は、この切断要求コマンドを受信する。
【００５２】
次いで、ネットワークプリンタ２００の判定部２５は、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを受信することなく、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信したか否かを判定する。図４の例では、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信する前に、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを既に受信し、既に印刷ポートの切断が終わっている。よって、判定部２５は、印刷ポートの強制切断を行わないことを決定する。したがって、印刷ポート強制切断部２６は、印刷ポートの強制切断を行うことなく、切断用ポートを介して、強制切断を行わないことを示す情報（００ｈ）をホスト端末１００に送信する。
【００５３】
印刷ポート強制切断部２６は、００ｈの情報をホスト端末１００に送信した後、ホスト端末１００に切断コマンド（ＦＩＮ）を送信して切断用ポートの切断を指示する。ホスト端末１００のホスト側切断応答部１５は、切断用ポートを介してネットワークプリンタ２００から送信されてくる切断コマンド（ＦＩＮ）を受信すると、応答（ＦＩＮ−ＡＣＫ）をネットワークプリンタ２００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に接続されていた切断用ポートが切断され、図４に示す一連の処理が終了する。
【００５４】
次に、図５に基づいて説明する。図５において、印刷データの送信が無事に終了するところまでの処理は、図４と同様である。図５の例では、印刷データの送信が終わった後に、ホスト端末１００の通信ポート（Ａ）とネットワークプリンタ２００の印刷ポートとの間にネットワーク障害が発生したために、ホスト端末１００の印刷ポート切断部１３から送信した切断コマンド（ＦＩＮ）がネットワークプリンタ２００に届いていない。よって、ネットワークプリンタ２００のプリンタ側切断応答部２３からホスト端末１００に応答（ＦＩＮ−ＡＣＫ）が返されず、印刷ポートの切断が行われていない。
【００５５】
このような状況にある図５の例においても、ホスト端末１００の切断要求コマンド送信部１４は、印刷ポート切断部１３が印刷ポートを介して切断コマンド（ＦＩＮ）をネットワークプリンタ２００に送信した直後に、ホスト端末１００に任意に割り当てられた通信ポート（Ｂ）から、ネットワークプリンタ２００にあらかじめ割り当てられている切断用ポートに対して接続コマンド（ＳＹＮ）を送信し、切断用ポートの接続を指示する。
【００５６】
ネットワークプリンタ２００の切断要求コマンド受信部２４は、切断用ポートを介してホスト端末１００から送信されてくる接続コマンド（ＳＹＮ）を受信すると、応答（ＳＹＮ−ＡＣＫ）をホスト端末１００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に切断用ポートを通じた接続が確立する。
【００５７】
この状態で、切断要求コマンド送信部１４は、切断用ポートを介して、印刷ポートの切断要求コマンドをネットワークプリンタ２００に送信する。この切断要求コマンドには、ホスト端末１００のＩＰアドレスと、印刷ポートとの接続に使用された通信ポート（Ａ）のポート番号が含まれている。ネットワークプリンタ２００の切断要求コマンド受信部２４は、この切断要求コマンドを受信する。
【００５８】
次いで、ネットワークプリンタ２００の判定部２５は、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを受信することなく、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信したか否かを判定する。図５の例では、プリンタ側切断応答部２３が印刷ポートを介して切断コマンドを受信することなく、切断要求コマンド受信部２４が切断用ポートを介して切断要求コマンドを受信しているので、判定部２５は、印刷ポートの強制切断を行うことを決定する。
【００５９】
したがって、印刷ポート強制切断部２６は、切断用ポートを介して切断コマンド（ＲＳＴ）をホスト端末１００に送信することにより、印刷ポートの強制切断を行う。そして、印刷ポート強制切断部２６は、切断用ポートを介して、強制切断を行ったことを示す情報（例えば、０１ｈ）をホスト端末１００に送信する。
【００６０】
印刷ポート強制切断部２６は、０１ｈの情報をホスト端末１００に送信した後、ホスト端末１００に切断コマンド（ＦＩＮ）を送信して切断用ポートの切断を指示する。ホスト端末１００のホスト側切断応答部１５は、切断用ポートを介してネットワークプリンタ２００から送信されてくる切断コマンド（ＦＩＮ）を受信すると、応答（ＦＩＮ−ＡＣＫ）をネットワークプリンタ２００に返す。これにより、ホスト端末１００とネットワークプリンタ２００との間に接続されていた切断用ポートが切断され、図５に示す一連の処理が終了する。
【００６１】
以上詳しく説明したように、本実施形態では、ホスト端末１００において、印刷ポートを介してネットワークプリンタ２００に対する印刷データの送信が終了したときに、印刷ポートの切断を指示する切断コマンドをネットワークプリンタ２００に送信した後、印刷ポートとは別の切断用ポートを介して、印刷ポートの切断を要求する切断要求コマンドをネットワークプリンタ２００に送信するようにしている。そして、ネットワークプリンタ２００では、印刷ポートを介して切断コマンドを受信した場合には、応答を返すことにより印刷ポートの切断を行う一方、印刷ポートを介して切断コマンドを受信することなく、切断用ポートを介して切断要求コマンドを受信した場合は、切断用ポートから印刷ポートの強制切断を行うようにしている。
【００６２】
このように構成した本実施形態のネットワークプリントシステムによれば、印刷データの送信の終了後にホスト端末１００から印刷ポートを介して送信された切断コマンドがネットワーク障害により失われた場合でも、切断コマンドの後に別の切断用ポートを介してホスト端末１００からネットワークプリンタ２００に送信される切断要求コマンドに従って、ホスト端末１００とネットワークプリンタ２００との間で接続された印刷ポートをネットワークプリンタ２００側から切断することができる。このため、ネットワーク障害が生じている印刷ポートの状態に関係なく、印刷データの送信が終了してからすぐに印刷ポートを切断して開放することができる。これにより、タイムアウト時間の経過を待たずとも、他のホスト端末１００がネットワークプリンタ２００を使用することができるようになる。
【００６３】
なお、上記実施形態では、ホスト端末１００の通信ポート（Ａ）からネットワークプリンタ２００の印刷ポートに切断コマンド（ＦＩＮ）を送信した後に、ホスト端末１００の通信ポート（Ｂ）からネットワークプリンタ２００の切断用ポートに接続コマンド（ＳＹＮ）を送信して、ホスト端末１００とネットワークプリンタ２００との間で切断用ポートの接続を確立させる例について説明したが、本発明はこれに限定されない。例えば、ホスト端末１００の通信ポート（Ａ）からネットワークプリンタ２００の印刷ポートに接続コマンド（ＳＹＮ）を送信して印刷ポートの接続を確立した直後に、ホスト端末１００の通信ポート（Ｂ）からネットワークプリンタ２００の切断用ポートに接続コマンド（ＳＹＮ）を送信して、切断用ポートの接続もあらかじめ確立させておくようにしてもよい。
【００６４】
また、上記実施形態では、ホスト端末１００とネットワークプリンタ２００との間で切断用ポートの接続が行われた後、その切断用ポートとの間でネットワーク障害が発生した場合については言及していない。このように、切断用ポートにもネットワーク障害が発生すると、ネットワーク障害が発生したホスト端末１００によって切断用ポートが占有されてしまう。そこで、ネットワークプリンタ２００の印刷ポート強制切断部２６は、切断用ポートの接続後、切断要求コマンドを受信することなく所定のタイムアウト時間Ｔ３（例えば、３０秒）が経過した場合に、切断用ポートの強制切断を行うようにしてもよい。
【００６５】
例えば、ネットワークプリンタ２００に複数の切断用ポートを用意し、ホスト端末１００からそれぞれの切断用ポートに対して切断要求コマンドを所定の時間間隔で順次送信していく。そして、ネットワークプリンタ２００がどの切断用ポートからも切断要求コマンドを受信できない場合に、切断用ポートの強制切断を行う。
【００６６】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６７】
１１  印刷ポート接続部
１２  印刷データ送信部
１３  印刷ポート切断部
１４  切断要求コマンド送信部
１５  ホスト側切断応答部
２１  接続応答部
２２  印刷データ受信部
２３  プリンタ側切断応答部
２４  切断要求コマンド受信部
２５  判定部
２６  印刷ポート強制切断部
１００  ホスト端末
２００  ネットワークプリンタ
【図１】
0006458652.tif 000002
【図２】
0006458652.tif 000003
【図３】
0006458652.tif 000004
【図４】
0006458652.tif 000005
【図５】
0006458652.tif 000006
【図６】
0006458652.tif 000007
【図７】
0006458652.tif 000008