JP2016210035A - 通信装置、制御方法、プログラム - Google Patents

通信装置、制御方法、プログラム Download PDF

Info

Publication number
JP2016210035A
JP2016210035A JP2015093504A JP2015093504A JP2016210035A JP 2016210035 A JP2016210035 A JP 2016210035A JP 2015093504 A JP2015093504 A JP 2015093504A JP 2015093504 A JP2015093504 A JP 2015093504A JP 2016210035 A JP2016210035 A JP 2016210035A
Authority
JP
Japan
Prior art keywords
data
communication
received
reception
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015093504A
Other languages
English (en)
Other versions
JP6460905B2 (ja
Inventor
鈴木 勝也
Katsuya Suzuki
勝也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015093504A priority Critical patent/JP6460905B2/ja
Priority to US15/139,226 priority patent/US9794442B2/en
Publication of JP2016210035A publication Critical patent/JP2016210035A/ja
Application granted granted Critical
Publication of JP6460905B2 publication Critical patent/JP6460905B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L13/00Details of the apparatus or circuits covered by groups H04L15/00 or H04L17/00
    • H04L13/18Details of the apparatus or circuits covered by groups H04L15/00 or H04L17/00 of receivers
    • H04L13/182Printing mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2346Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity according to a detected condition or state of the reproducing device, e.g. temperature or ink quantity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/23Reproducing arrangements
    • H04N1/2307Circuits or arrangements for the control thereof, e.g. using a programmed control device, according to a measured quantity
    • H04N1/2376Inhibiting or interrupting a particular operation or device

Abstract

【課題】ホストコンピュータにおいて、データが適切に通信装置で受信されたか否かを確認することができる、通信装置を提供する。
【解決手段】通信装置は、通信を停止するための停止情報を送信する仕組みを備える第1通信手段と、通信を停止するための停止情報を送信する仕組みを備えない第2通信手段と、端末装置から受信したデータが通信装置において解釈できないデータであり、かつ、データが第1通信手段を用いて受信された場合、データの解釈中にデータの受信を停止し、端末装置から受信したデータが通信装置において解釈できないデータであり、かつ、データが第2通信手段を用いて受信された場合、データの終端まで受信し、受信が完了したことを示す応答を端末装置に送信する制御手段を備える。
【選択図】図5

Description

本発明は、複数の通信インターフェースを有す通信装置、制御方法、プログラムに関する。
近年、ネットワーク対応機器の増加に伴い、ネットワーク上のデバイス同士の為の通信プロトコル、デバイスのディスカバリの仕組み、デバイスのインストールの仕組み、印刷・スキャン等の各種サービスの仕様が標準規格化されている。さらに、この標準規格化はネットワークのみならずUSBにおいても拡大されつつある。例えば、USB Print Interface Class IPP Protocol Specification(IPP USB Specification)がある。
ネットワークやUSBを用いてホストコンピュータがプリンタに印刷データを送信する技術が知られている。
特許文献1には、プリンタとホストコンピュータとがネットワークで接続されていることが示されている。そして、プリンタがホストコンピュータから印刷データの受信中にネットワークの状態がオフライン状態に遷移した場合、プリンタは印刷データの読み捨てを開始するとともに受信バッファをクリアすることが開示されている。
特開2006−62266号公報
特許文献1に記載の技術では、ネットワークの状態がオフライン状態になった際のデータの処理について記載している。データの送信元であるホストコンピュータも、ネットワークの状態を把握できる。そのため、ネットワークの状態がオフライン状態になったことで、ホストコンピュータは、データを送信できなくなった理由を把握できる。また、ホストコンピュータは、プリンタから印刷データの受信が完了したことを示すレスポンスが送信されてこない理由を把握できる。その結果、ホストコンピュータは、データの送信処理を適切に完了することが可能となる。
しかしながら、データを受信する受信装置は、ネットワークの状態がオフライン状態に遷移する以外の理由でデータの受信を停止することもある。例えば、受信装置が、受信したデータを解釈できないと判定した場合に、データの受信を停止することもある。このようなケースにおいて、受信装置がデータ受信を停止した理由をホストコンピュータに送信しない場合、ホストコンピュータは、データが適切に受信装置において受信されたか否かを確認することはできない。そのため、ホストコンピュータは、データの送信処理を適切に完了することができなくなるおそれがあった。
上記課題を解決するために、本発明の通信装置は、通信を停止するための停止情報を送信する仕組みを備える第1通信手段と、通信を停止するための停止情報を送信する仕組みを備えない第2通信手段と、端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第1通信手段を用いて受信された場合、前記データの解釈中に前記データの受信を停止し、端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第2通信手段を用いて受信された場合、前記データの終端まで受信し、受信が完了したことを示す応答を前記端末装置に送信する制御手段を備えることを特徴とする。
本発明によると、データの送信元の端末装置が、データ送信処理を適切に完了することが可能となる。
本発明の実施例1に関わるプリンタ100の概略構成を示す機能ブロック図 本発明の実施例1及び2に関わるPC200の概略構成を示す機能ブロック図 本発明の実施例1及び2に関わるプリンタ100のS/Wのブロック図 本発明の実施例1に関わるプリンタ100のデータ受信のフローチャート 本発明の実施例1に関わるプリンタ100のエラー制御のフローチャート 本発明の実施例2に関わるプリンタ600の概略構成を示す機能ブロック図 本発明の実施例2に関わるプリンタ600のデータ受信のフローチャート 本発明の実施例2に関わるプリンタ600のエラー制御のフローチャート
以下に、図面を参照しながら、本発明の実施形態を例示的に詳しく説明する。但し、本実施形態に記載されている構成要素の相対配置、表示画面等はそれらのみに限定する趣旨のものではない。
<実施例1>
図1は、本実施例であるプリンタ100の概略構成を示すブロック図である。プリンタ100において、CPU101は、システム制御部であり、プリンタ100の全体を制御する。ROM102は、CPU101が実行する制御プログラムやデータテーブル、組み込みオペレーティングシステム(OS)プログラム等の固定データを格納する。本実施例では、ROM102に格納されている各制御プログラムは、ROM102に格納されている組み込みOSの管理下で、スケジューリングやタスクスイッチ、割り込み処理等のソフトウェア実行制御を行う。RAM103は、一時的にプログラムや画像データを記憶し、処理を高速に動作させるためのものである。なお、本実施例のプリンタは、データの通信処理を実行するため単に通信装置と呼ぶこともある。また、プリンタに限らず、印刷機能、スキャン機能等を備えた複合機に本実施例を適用しても構わない。
印刷部104は、印刷用紙などのシートに画像を印刷する印刷処理を実行する。操作表示部105は、数値入力キー、モード設定キー、決定キー、取り消しキー等のキーと、LED(発光ダイオード)やLCD(液晶ディスプレイ)などから構成され、ユーザーによってプリンタとしての各種機能の起動や各種設定を行うことができる。USBデバイス制御部106は、USBインターフェースの通信制御を行うものであり、USB通信規格に従って、プロトコル制御を行う。USBデバイス制御部106は、CPU101が実行するUSBデバイス制御タスクにより生成されたデータを、パケットに変換し、図2に示すPC200にUSBパケット送信を行う。逆に、USBデバイス制御部106は、PC200から送信されたUSBパケットをデータに変換して、CPU101に対し送信する。また、USBデバイス制御部106は、PC200とUSBで接続されたことを検知する。WLANユニット107は、無線通信によってネットワーク(TCP/IPに従った通信が可能なネットワーク)上の端末と通信する。WLANユニット107は、不図示のアクセスポイント(以下、APと呼ぶ)やPC200と、例えばIEEE802.11シリーズに準拠したWLANシステムにおけるデータ(パケット)通信が可能である。上記構成要素101〜107は、CPU101が管理するCPUバス108を介して、相互に接続されている。なお、図1のプリンタ100は、有線LANユニットを備えていても構わない。
図2は、本実施例におけるPC200の概略構成を示すブロック図である。CPU201は、ROM202、RAM203、または、内部記録装置204、外部記憶装置205により外部記憶媒体205から読み出されたプログラムに従って、システムバスを介してPC200全体の動作を制御する。ROM202は、CPU201の制御プログラム等を格納している。RAM203は、一時的にプログラムや画像データを記憶し、CPU201のワークメモリとして使用される。内部記録装置204には、オペレーティングシステム等が格納されている。操作部206は、ユーザーからの指示入力手段としてのキーボードやマウス(不図示)を制御する。表示部207は、ユーザーに対して各種表示を行う。WLANユニット208は、無線通信により、不図示のAPやプリンタ100との間で通信を行う。WLANユニット107と同様の説明となるので、ここでの詳細な説明は省略する。USBホスト制御部209は、USB通信におけるホストの機能を有し、プリンタ100との間で通信を行う。上記構成要素201〜209は、CPU201が管理するCPUバス210を介して、相互に接続されている。
図3は本実施例におけるプリンタ100のソフトウェア(S/W)概略構成のブロック300である。図3に示すように、プリンタ100は、OS(Operating System)301上で各ソフトウェアモジュールが動作するように構成されている。OS301上には、ネットワークの通信を担当するミドルウェア層302と、さらにその上位に、ネットワークによるデータ送受信を利用して動作するアプリケーション303とが存在している。
ミドルウェア層302の最下位層には、USBデバイス制御部106とWLANユニット107をそれぞれ制御するためのUSBドライバ304、LANドライバ306がある。その上位にはUSBの基本的な通信制御を行なうUSB通信モジュール305と、ネットワークの基本的な通信制御を行なうTCP/IP通信モジュール307が存在している。304〜307はH/Wに依存し、USBを介した通信であればUSBドライバ304、USB通信モジュール305が通信し、ネットワークを介した通信であれば、LANドライバ306、TCP/IP通信モジュール307が通信する。さらにその上位には、H/Wに依存せず、USB通信モジュール305とTCP/IP通信モジュール307にまたがってHTTP通信モジュール308およびIPP通信モジュール309が存在している。HTTP通信モジュール308およびIPP通信モジュール309は下位層を意識せずにアプリケーションの通信を実現する。なお、HTTP通信モジュール308は、HTTPプロトコルを用いた通信を実行し、IPP通信モジュール309は、IPPプロトコルを用いた通信を実行する。
アプリケーションの通信を実現するプロトコルの通信モジュールは特にHTTP通信モジュール308およびIPP通信モジュール309に限定しない。
プリンタ100とPC200はネットワークまたはUSBを介してHTTP(HyperText Transfer Protocol)プロトコルにて通信し、画像データ(または印刷データ)を送受信できる。HTTP通信は、ネットワークを介した通信の場合ではインターネットやLAN(Local Area Network)などのTCP/IPの仕様に準拠し、USBを介した通信の場合はIPP over USBの仕様(Version1.0)に準拠する。
図4はHTTP通信でプリンタ100がPC200からhttpデータを受信するフローチャートである。なお、本実施例におけるフローチャートは、CPU101がフローチャートに関係するプログラムを読み出して実行することで実現される。また、本実施例で送受信されるhttpデータは、ヘッダ部分とボディ部分で構成される。ヘッダ部分にはデータに関するサイズ情報等が記載されている。ボディ部分には、用紙に印刷されるテキストやイメージに関するデータが含まれる。
CPU101は、S401で任意のサイズのデータを受信し、S402でエラーチェックを行なう。エラーチェック(S402)において、CPU101は、データ受信中にエラーが発生したか否かを判定する。具体的には、CPU101は、S401にて受信したデータが解析できないデータであると判定した場合、エラーが発生していると判定する。また、CPU101は、受信したデータにデータの終端を示すコマンドが含まれない場合、エラーが発生していると判定する(S402−NG)。その他、CPU101は、データの受信中に操作表示部109により電源オフ操作が行われたかどうかを確認し、電源オフ操作が行われたと判定した場合、エラーが発生したと判定する(S402−NG)。なお、本実施例における電源オフとはプリンタ100の、少なくとも印刷部104、USBデバイス制御部106、WLANユニット107に対する電源供給を遮断することを指す。なお、電源オフ操作とは、プリンタ100の電源状態をオフに変更するための操作である。
S402でエラーが発生していると判定された場合(S402−NG)、CPU101は、S404でエラー制御処理を実施し、フローを終了する。なお、S404の詳細は、図5にて後述する。一方、S402でエラーが発生していない判定された場合、図4の処理はS403へ遷移する。そして、CPU101は、S403で受信したデータがデータの終端を示すか否かを判定する。CPU101が、データの終端であると判定した場合(S403−Yes)、図4のフローチャートはし、終端でなければ再びS401に戻る。CPU101は、S403においてYesと判定するまでS401〜S403を繰り返す。
図5は、図4におけるエラー制御処理(S404)を詳細に説明するためのフローチャートである。CPU101がPC200からデータを受信している最中に、エラーチェックS402でNGと判定した場合に図5のフローチャートの処理が開始される。
CPU101は、S501でエラー要因を判定する。エラーの要因によって、判定処理(S502)を実行するか否かが決まるためである。なお、エラー要因が、プリンタ100が解釈できないデータの受信である場合にS503が必要で、電源オフの場合にS503が不要となる理由については後述する。
(1)プリンタ100が解釈できないデータを受信した場合
CPU101は、S502にてデータを受信する際に使用してした通信インターフェースを確認する。例えば、データがUSBデバイス制御部106を介して受信された場合、CPU101は、通信インターフェースとしてUSBが使用されていることを確認できる。一方、データがWLANユニット107を介して受信された場合、CPU101は、通信インターフェースとしてネットワークが使用されていることを確認できる。
ネットワークを用いてデータが受信されたと判定された場合、CPU101は、S505でデータの受信を停止する。その際、PC200との通信を切断する。
一方、USBを用いてデータが受信されたと判定された場合、CPU101は、S503でデータの終端まで受信を継続する。そして、CPU101は、データの終端まで受信した場合、S504でPC200に対し応答(以下、レスポンス)を送信する。なお、S504の応答はデータの受信完了を示す。これにより、PC200は、データがプリンタ100において受信されたことを認識できる。
ここで、通信インターフェースの違いによって処理を切り替えている理由について説明する。
CPU101が、ネットワークを介してデータを受信している最中にエラー発生(プリンタ100が解釈できないデータの受信)を認識した場合、直ちにデータ受信を停止し、FINパケットを送信するなどして通信中のTCP/IP層のみ通信を切断する。そうすることでPC200との通信を容易に終了させることができ、PC200(具体的にはプリンタドライバ)もエラー発生後に不要な通信をしなくても済む。また、CPU201は、FINパケットによってデータの送信を途中で停止して良い理由を把握できるため、プリンタドライバまたは印刷を指示したアプリケーションを適切に停止できる。なお、FINパケットとは、TCP/IPにおいて通信を終了する際に使用され、通信を停止するための停止情報と呼ぶこともできる。
一方で、CPU101が、USBを介してデータを受信している最中にエラー発生を認識した場合、データの受信を停止することはできるが、ネットワーク通信のようにTCP/IPのFINパケットを送信できない。つまり、TCP/IPを用いたネットワーク通信は、通信を停止するための停止情報(FINパケット)を送信する仕組みを備え、USB通信は、通信を停止するための停止情報(FINパケット)を送信する仕組みを備えない。したがって、プリンタ100が一方的にデータ受信を停止し通信を終了したとしても、PC200とプリンタ100の間がUSB接続されている限り、PC200のCPU201は、プリンタ100においてデータの受信が停止されたことを検知できない。その結果、PC200のCPU201は、データ送信を継続する。しかしながら、データ送信の継続によりデータの送信が完了したとしてもプリンタ100から一切レスポンスが送信されてこないため、PC200のCPU201は、プリンタにおいてデータが正常に受信されたかを認識できない。その結果、PC200のCPU201は、プリンタドライバまたは印刷を指示したアプリケーションを停止(正常終了)することができない。そして、CPU201は、データの送信完了から所定時間経過した後に、プリンタドライバまたは印刷を指示したアプリケーションを強制終了することになる。この強制終了は、可能な限り行われない方が良い。このような強制終了を回避するために、CPU101が、USBを介してデータを受信している最中にエラー発生を認識したとしてもデータを最後まで受信し(S503)、レスポンスをPC200へ送信する(S504)。その結果、PC200のCPU201は、プリンタにおいてデータが正常に受信されたことを認識でき、プリンタドライバまたは印刷を指示したアプリケーションを停止(正常終了)することが可能となる。なお、CPU101は、プリンタ100が解釈できないと判定されたデータをS503においてデータ終端まで受信するが、S504の処理の前またはS504の処理の後に受信したデータを読み捨てる(削除する)。
(2)データ受信中(またはデータ解釈中)に電源オフ操作された場合
データ受信中に電源オフ操作が実行された場合、USBデバイス制御部106およびWLANユニット107に対する電源供給は遮断される。したがって通信は物理的に不可能になるため、CPU101は、通信インターフェースによらず、データ受信を停止する(S505)。このS505の処理により、PC200とプリンタ100は、不要な通信をしなくても済む。そして、CPU101は、S505の後に、電源オフ操作を実行することで、USBデバイス制御部106およびWLANユニット107に対する電源供給を遮断する。
ここで、電源オフ操作が行われた場合にS505の処理を実行する理由について説明する。詳細には、S502のような判定処理が不要となる理由について説明する。
ネットワークを介した通信においては、CPU101は、データ受信停止後、FINパケットを送信するなどしてTCP/IP層の通信を切断し、PC200との通信を終了させることができる。
一方でUSBを介した通信においては、データ受信停止後、PC200とプリンタ100の間がUSB接続されている限り通信が継続される。そのため、CPU101がデータ受信を停止してからプリンタ100の電源がオフされるまでの間は、データは受信されないが、PC200とプリンタ100の間の通信は継続されたままの状態になる。しかし電源オフされればUSBはH/W的に切断され、通信は終了する。PC200もH/Wの切断であれば、通信の終了を検知できる可能性が高い。
そのため、PC200とプリンタ100の間の通信がネットワーク接続により実行されていてもUSB接続により実行されていても、プリンタ100の電源がオフ状態に遷移されることで、PC200のCPU101は通信が停止されたことを認識できる。よって、PC200のCPU101は、プリンタドライバまたは印刷を指示したアプリケーションを停止(正常終了)することが可能となる。
以上により、データ受信中に電源オフ操作された場合は、CPU101がレスポンス送信を実行しなくてもPC200のCPU101が適切にプリンタドライバまたは印刷を指示したアプリケーションを停止(正常終了)できる。そのため、S505の処理のみが実行されることとなる。
本実施例では、図5の処理(特にS502−ネットワークからS505の処理、S501−電源オフからS505の処理)を実行することで、PC200が無駄なデータを送信することを防ぐことができる。また、図5の処理(特にS502−USBからS504の処理)を実行することで、PC200は、データ送信処理を適切に完了することが可能となる。
<実施例2>
実施例1では、データ受信中にプリンタ100で電源オフ操作された場合に、通信インターフェースによらずデータ受信を停止する制御方法を示した。しかしながら、近年は自動電源オンという機能を搭載したプリンタも存在する。ここで自動電源オン機能について説明する。自動電源オン機能が有効化されたプリンタは、プリンタの電源がオフ状態でPCやタブレット等の端末装置から印刷等の動作要求を受信した場合、自動的に(ユーザーからプリンタの電源オン操作を受け付けることなく)電源オフ状態から電源オン状態となる。よって、プリンタの電源がオフ状態であっても、自動電源オン機能が有効化されている場合、USBデバイス制御部106やWLANユニット107等の通信部への電力供給は維持される。その結果、電源オフ状態であってもUSBのH/Wは切断されず、実施例1で示す通信制御手段は効果的ではない。特にS501において電源オフと判定された場合にS505のみを実行する処理が効果的ではない。なお、その理由については後述する。
本実施例では、実施例2特有の処理について説明するが、実施例1と同様の部分については説明を省略することもある。
図6は本実施例に関するプリンタ600である。プリンタ600はプリンタ100と同等の装置構成に加え、電源オフ状態の電力を制御するための電力制御部601を搭載し、自動電源オン機能を有している。自動電源オン設定が有効の場合は、電源オフした状態であっても外部端末装置と通信できるようにUSBデバイス制御部106とWLANユニット107などの通信部に電力が供給される。一方で、自動電源オン設定が無効の場合には、電源オフした状態でUSBデバイス制御部106とWLANユニット107などの通信部に電力は供給されず、USBもネットワークも切断された状態になる。プリンタ600もプリンタ100同様、PC200とUSBデバイス制御部106またはWLANユニット107を通してPC200と接続して通信可能である。
図7はHTTP通信でプリンタ600がPC200からhttpデータを受信する際に実行されるフローチャートである。
なお、S701−S703は、図4のS401−S403と同じ処理であるため詳細な説明は省略する。S702でエラーと判定された場合、CPU101は、実施例2のエラー制御(S704)を実施し、フローを終了する。
図8は、図7における実施例2のエラー制御(S704)を詳細に説明するためのフローチャートである。CPU101がPC200からデータを受信している最中に、エラーチェックS702でNGになった場合に本フローがスタートする。
まずS801でCPU101はエラー要因を判定する。エラー要因を判定する理由については実施例1と同様である。
(1)プリンタ100が解釈できないデータを受信した場合
CPU101は、S801においてエラー要因が、プリンタ100が解釈できないデータの受信であると判定した場合、実施例1のS502−S505の処理を実行する。プリンタ100が解釈できないデータを受信したケースは、自動電源オンの設定による影響を受けないため、実施例1のS502−S505が実行される。
(2)データ受信中に電源オフ操作された場合
CPU101は、S801においてエラー要因が電源オフであると判定した場合、S803にてデータの受信に使用された通信インターフェースを確認する。
ネットワークを用いてデータが受信されたと判定した場合、CPU101は、S808でデータの受信を停止する。その際、CPU101は、PC200との通信を切断する。
一方、USBを用いてデータが受信されたと判定された場合、CPU101は、S804でさらに自動電源オン設定が有効か無効かを確認する。自動電源オン設定が有効であると判定された場合、CPU101は、S805でデータ終端までデータ受信を継続する。そして、CPU101は、データの終端まで受信した場合、S806でPC200に対してレスポンスを送信する。なお、このレスポンスもデータの受信が完了したことを示す。
一方で、S804において自動電源オン設定が無効であると判定された場合、CPU101は、S807に遷移してデータ受信を停止する。
ここで自動電源オンの設定内容により処理を切り替える理由について説明する。
自動電源オン設定が有効の場合は、USBデバイス制御部106に電力が供給されたまま電源オフされる。したがって、PC200とプリンタ100の間のUSBの接続状態は“接続されたまま”となる。そのため、実施例1でS503〜S504に示すUSBのエラー制御における理由と同様に、S805でデータを終端まで受信してS806でレスポンス応答する必要がある。例えば、1−10ページの印刷を実行するための印刷データを受信し、5ページ目の印刷中に電源オフが指示された場合、CPU101は、6ページ目以降の印刷を停止し、6ページ目以降のデータの受信を停止したとする。上述したようにUSB接続にてデータ通信を行っている場合、CPU101は、データの受信停止のみをレスポンスを送信しない。また、自動電源オンが有効である場合、USBデバイス制御部106への電源は供給され続ける。その結果、データ送信の継続によりデータの送信が完了したとしてもプリンタ100から一切レスポンスが送信されてこないため、PC200のCPU201は、プリンタにおいてデータが正常に受信されたかを認識できない。また、USB通信の接続状態も“接続されたまま”となるため、PC200のCPU201は、レスポンスが返ってこない理由を把握できない。その結果、PC200のCPU201は、プリンタドライバまたは印刷を指示したアプリケーションを停止(正常終了)することができなくなる。よって、CPU101が、S805でデータを終端まで受信してS806でレスポンス応答することで、PC200のCPU201は、プリンタドライバまたは印刷を指示したアプリケーションを停止(正常終了)することが可能となる。
一方で自動電源オン設定が無効の場合は、USBデバイス制御部106に電力は供給されなくなり、その時点でUSB通信は物理的に“切断状態”となる。これは実施例1のS501からS505へ遷移するフローと同様である。したがって、CPU101は、S807でデータ受信を停止する。
このように、データ受信中に何らかのエラーが発生した場合、エラー要因や通信インターフェースの種類、装置の状態によって通信制御を切り替えることで、可能な限り自装置と通信相手である端末装置の負荷を軽減し、効率的に通信を終了させることができる。
<その他の実施形態>
上述した実施例1および2は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムを実行するコンピュータは、1つであってもよいし、複数のコンピュータが協働してプログラムを実行するものであってもよい。さらに、プログラムの一部を実行する回路等のハードウェアを設け、そのハードウェアと、ソフトウェアを実行するコンピュータが協働して、本実施形態で説明した処理を実行する場合であってもよい。
100 プリンタ
101 CPU
102 ROM
103 RAM

Claims (17)

  1. 通信装置であって、
    通信を停止するための停止情報を送信する仕組みを備える第1通信手段と、
    通信を停止するための停止情報を送信する仕組みを備えない第2通信手段と、
    端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第1通信手段を用いて受信された場合、前記データの解釈中に前記データの受信を停止し、
    端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第2通信手段を用いて受信された場合、前記データの終端まで受信し、受信が完了したことを示す応答を前記端末装置に送信する制御手段を備えることを特徴とする通信装置。
  2. 前記端末装置により送信されたデータを受信している最中に前記通信装置の電源状態をオフに変更するための指示が入力された場合、前記制御手段は、前記データの解釈中に前記データの受信を停止することを特徴とする請求項1に記載の通信装置。
  3. 前記端末装置により送信されたデータを受信している最中に前記通信装置の電源状態をオフに変更するための指示が入力された場合、前記データの受信に前記第1通信手段が使用されているかまたは前記第2通信手段が使用されているかを判定する第1判定手段と、
    前記第2通信手段が使用されていると判定された場合、電源状態がオフの状態でデータを受信した場合に電源状態をオンの状態へ自動的に変更する自動電源オン機能が有効であるか否かを判定する第2判定手段と、
    前記自動電源オン機能が有効であると判定された場合、前記データは終端まで受信されて、前記受信が完了したことを示す応答が前記端末装置に送信され、前記自動電源オン機能が無効であると判定された場合、前記データの解釈中に前記データの受信を停止することを特徴とする請求項1または2に記載の通信装置。
  4. 前記第1通信手段は、ネットワークを介してデータの通信を実行し、
    前記第2通信手段は、USBを介してデータの通信を実行することを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
  5. 前記第1および第2通信手段を用いた通信は、HTTPプロトコルを用いて実行されることを特徴する請求項1乃至4のいずれか1項に記載の通信装置。
  6. 前記第1および第2通信手段を用いた通信は、IPPプロトコルを用いて実行されることを特徴する請求項1乃至4のいずれか1項に記載の通信装置。
  7. 前記データが印刷データであることを特徴する請求項1乃至6のいずれか1項に記載の通信装置。
  8. 前記印刷データに基づいて印刷処理を実行する印刷手段を備えることを特徴とする請求項7に記載の通信装置。
  9. 通信装置における制御方法であって、
    通信を停止するための停止情報を送信する仕組みを備える第1通信工程と、
    通信を停止するための停止情報を送信する仕組みを備えない第2通信工程と、
    端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第1通信工程を用いて受信された場合、前記データの解釈中に前記データの受信を停止し、
    端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第2通信工程を用いて受信された場合、前記データの終端まで受信し、受信が完了したことを示す応答を前記端末装置に送信する制御工程を備えることを特徴とする制御方法。
  10. 通信を停止するための停止情報を送信する仕組みを備える第1通信手段と、通信を停止するための停止情報を送信する仕組みを備えない第2通信手段とを備える通信装置において実行されるプログラムであって、
    端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第1通信手段を用いて受信された場合、前記データの解釈中に前記データの受信を停止し、
    端末装置から受信したデータが前記通信装置において解釈できないデータであり、かつ、前記データが前記第2通信手段を用いて受信された場合、前記データの終端まで受信し、受信が完了したことを示す応答を前記端末装置に送信する制御工程を前記通信装置に実行させることを特徴とする前記通信装置が読取可能なプログラム。
  11. 前記端末装置により送信されたデータを受信している最中に前記通信装置の電源状態をオフに変更するための指示が入力された場合、前記データの解釈中に前記データの受信が停止されることを特徴とする請求項10に記載のプログラム。
  12. 前記端末装置により送信されたデータを受信している最中に前記通信装置の電源状態をオフに変更するための指示が入力された場合、前記データの受信に前記第1通信手段が使用されているかまたは前記第2通信手段が使用されているかを判定する第1判定手段と、
    前記第2通信手段が使用されていると判定された場合、電源状態がオフの状態でデータを受信した場合に電源状態をオンの状態へ自動的に変更する自動電源オン機能が有効であるか否かを判定する第2判定手段と、
    前記自動電源オン機能が有効であると判定された場合、前記データは終端まで受信されて、前記受信が完了したことを示す応答が前記端末装置に送信され、前記自動電源オン機能が無効であると判定された場合、前記データの解釈中に前記データの受信を停止することを特徴とする請求項10または11に記載のプログラム。
  13. 前記第1通信手段は、ネットワークを介してデータの通信を実行し、
    前記第2通信手段は、USBを介してデータの通信を実行することを特徴とする請求項10乃至12のいずれか1項に記載のプログラム。
  14. 前記第1および第2通信手段を用いた通信は、HTTPプロトコルを用いて実行されることを特徴する請求項10乃至13のいずれか1項に記載のプログラム。
  15. 前記第1および第2通信手段を用いた通信は、IPPプロトコルを用いて実行されることを特徴する請求項10乃至13のいずれか1項に記載のプログラム。
  16. 前記データが印刷データであることを特徴する請求項10乃至15のいずれか1項に記載のプログラム。
  17. 前記印刷データに基づいて印刷処理を実行する印刷手段を備えることを特徴とする請求項16に記載のプログラム。
JP2015093504A 2015-04-30 2015-04-30 通信装置、制御方法、プログラム Active JP6460905B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015093504A JP6460905B2 (ja) 2015-04-30 2015-04-30 通信装置、制御方法、プログラム
US15/139,226 US9794442B2 (en) 2015-04-30 2016-04-26 Communication apparatus, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015093504A JP6460905B2 (ja) 2015-04-30 2015-04-30 通信装置、制御方法、プログラム

Publications (2)

Publication Number Publication Date
JP2016210035A true JP2016210035A (ja) 2016-12-15
JP6460905B2 JP6460905B2 (ja) 2019-01-30

Family

ID=57205343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015093504A Active JP6460905B2 (ja) 2015-04-30 2015-04-30 通信装置、制御方法、プログラム

Country Status (2)

Country Link
US (1) US9794442B2 (ja)
JP (1) JP6460905B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019005990A (ja) * 2017-06-23 2019-01-17 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
JP2020095382A (ja) * 2018-12-11 2020-06-18 シチズン時計株式会社 プリンターシステム、プリンター設定方法、プリンター、プリンターの制御プログラム、プリンター設定装置およびプリンター設定装置の制御プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050200891A1 (en) * 2000-08-31 2005-09-15 Simona Cohen Facsimile transmission over packet networks with delivery notification
JP2009098915A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 画像形成装置及び誤印刷防止方法
JP2013089191A (ja) * 2011-10-21 2013-05-13 Canon Inc 情報処理装置およびその制御方法、並びにプログラム
JP2014106581A (ja) * 2012-11-26 2014-06-09 Brother Ind Ltd 画像処理装置および通信プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006062266A (ja) 2004-08-27 2006-03-09 Seiko Epson Corp プリンタ及びプリンタの制御方法
JP4645164B2 (ja) * 2004-11-12 2011-03-09 セイコーエプソン株式会社 ネットワーク型プラグアンドプレイに対応したネットワーク装置の制御
JP5839650B2 (ja) * 2010-11-19 2016-01-06 ブラザー工業株式会社 印刷装置及び端末装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050200891A1 (en) * 2000-08-31 2005-09-15 Simona Cohen Facsimile transmission over packet networks with delivery notification
JP2009098915A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 画像形成装置及び誤印刷防止方法
JP2013089191A (ja) * 2011-10-21 2013-05-13 Canon Inc 情報処理装置およびその制御方法、並びにプログラム
JP2014106581A (ja) * 2012-11-26 2014-06-09 Brother Ind Ltd 画像処理装置および通信プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019005990A (ja) * 2017-06-23 2019-01-17 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
JP2020095382A (ja) * 2018-12-11 2020-06-18 シチズン時計株式会社 プリンターシステム、プリンター設定方法、プリンター、プリンターの制御プログラム、プリンター設定装置およびプリンター設定装置の制御プログラム

Also Published As

Publication number Publication date
US20160323476A1 (en) 2016-11-03
US9794442B2 (en) 2017-10-17
JP6460905B2 (ja) 2019-01-30

Similar Documents

Publication Publication Date Title
US11403051B2 (en) Print control apparatus, printing system, method for controlling print control apparatus, and storage medium to send a shutdown instruction from an information processing apparatus to a printer from a print control apparatus, and the print control apparatus executing shutdown processing after receiving a power supply state notification from a printer, sending the power supply notification to the information processing apparatus and receiving a shutdown notification from the printer
US9537927B2 (en) Communication device
US8839014B2 (en) Apparatus and method for shortening time for transitioning power mode of network communication device by utilizing a shared storage unit, a socket, and a socket wrapper
US10565480B2 (en) Printing control apparatus, control method for the printing control apparatus, and printing system for shifting a printing apparatus from a first power state to a second power state
US9535485B2 (en) Image processing apparatus, method for controlling the same and storage medium
US9354830B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium
US9377838B2 (en) Data processing apparatus and power saving control method when transiting to a power saving state
US8817287B2 (en) Image forming apparatus, method for controlling the same, and storage medium
US20150156364A1 (en) Print control apparatus, method for controlling print control apparatus, and storage medium
US8659782B2 (en) Image forming apparatus using option controller for printing
JP6460905B2 (ja) 通信装置、制御方法、プログラム
US20170034391A1 (en) Image forming apparatus, method of controlling the same, and storage medium
US10069990B2 (en) Image processing apparatus, method of controlling the same, and recording medium for selectively processing packets using a processor or a sub processor
US9239692B2 (en) Communication apparatus performing communication speed changing process, communication control method and storage medium
US10277765B2 (en) Information processing device, control method, and program
US10638528B2 (en) Communication apparatus, method of controlling communication apparatus, and storage medium, for establishing communication link
US9525757B2 (en) Information processing apparatus that controls connection of devices, method of controlling the apparatus, and device control system
JP2016213570A (ja) 処理装置、処理方法、及びプログラム
EP4187365A1 (en) Printing apparatus, control method thereof, and program
JP6164823B2 (ja) 印刷装置
JP2007174022A (ja) 画像形成装置
JP6033383B2 (ja) 情報処理装置、その制御方法、および制御プログラム
JP2019216451A (ja) 処理装置、処理方法、及びプログラム
JP2010069801A (ja) 制御装置、画像形成装置および印刷システム
JP2013258734A (ja) 画像形成装置及び復帰方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181225

R151 Written notification of patent or utility model registration

Ref document number: 6460905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151