(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022055071
(43)【公開日】2022-04-07
(54)【発明の名称】通信装置と通信装置のためのコンピュータプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20220331BHJP
H04N 1/00 20060101ALI20220331BHJP
【FI】
G06F3/12 336
G06F3/12 312
H04N1/00 127A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020162444
(22)【出願日】2020-09-28
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】宇野 暁仁
(72)【発明者】
【氏名】白木 智美
【テーマコード(参考)】
5C062
【Fターム(参考)】
5C062AA05
5C062AA35
5C062AB38
5C062AB46
5C062AC38
5C062AE15
5C062AF14
(57)【要約】
【課題】通信装置が特定サーバから対象データを迅速に受信し得る技術を提供する。
【解決手段】通信装置は、第1のモード及び第2のモードのうちの一方の動作モードで選択的に動作することができる。第1のモードは、ポーリング信号をインターネット上の特定サーバに繰り返し送信して、特定サーバから対象データを受信するためのモードである。第2のモードは、ポーリング信号を特定サーバに送信することなく、特定サーバから対象データを受信するためのモードである。通信装置は、第1のモードで動作している状態において、特定サーバから少なくとも1個の応答を受信することを含む第1の所定条件が満たされる場合に、通信装置の動作モードを第1のモードに代えて第2のモードに設定する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
通信装置であって、
前記通信装置の動作モードを第1のモードに設定する第1のモード設定部であって、前記第1のモードは、ポーリング信号をインターネット上の特定サーバに繰り返し送信して、前記特定サーバから対象データを受信するためのモードである、前記第1のモード設定部と、
前記特定サーバが前記対象データを有している状態において、前記ポーリング信号が前記特定サーバによって受信される場合に、前記特定サーバから、前記対象データに関連する関連情報を含む応答を受信する第1の応答受信部と、
前記特定サーバが前記対象データを有していない状態において、前記ポーリング信号が前記特定サーバによって受信される場合に、前記特定サーバから、前記関連情報を含まない応答を受信する第2の応答受信部と、
前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記特定サーバから少なくとも1個の前記応答を受信することを含む第1の所定条件が満たされる場合に、前記通信装置の前記動作モードを前記第1のモードに代えて第2のモードに設定する第2のモード設定部であって、前記第2のモードは、前記ポーリング信号を前記特定サーバに送信することなく、前記特定サーバから前記対象データを受信するためのモードである、前記第2のモード設定部と、
前記通信装置の前記動作モードが前記第2のモードに設定されている状態において、前記対象データが前記特定サーバによって取得される場合に、前記特定サーバから前記関連情報を受信する関連情報受信部と、
を備える、通信装置。
【請求項2】
前記第1の所定条件は、M個(前記Mは2以上の整数)の前記ポーリング信号を前記特定サーバに送信して、前記特定サーバからM個の前記応答を受信することを含む、請求項1に記載の通信装置。
【請求項3】
前記第1の所定条件は、前記M個のポーリング信号を前記特定サーバに連続して送信して、前記特定サーバから前記M個の応答を連続して受信することを含む、請求項2に記載の通信装置。
【請求項4】
前記第1のモードは、第1の所定期間が経過する毎に前記ポーリング信号を前記特定サーバに繰り返し送信して、前記特定サーバから前記対象データを受信するためのモードであり、
前記第2のモード設定部は、前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、特定のポーリング信号を前記特定サーバに送信して前記特定サーバから前記応答を受信することに応じて前記第1の所定条件が満たされる場合に、前記特定のポーリング信号が送信されてから前記第1の所定期間が経過する前に、前記通信装置の前記動作モードを前記第1のモードに代えて前記第2のモードに設定する、請求項1から3のいずれか一項に記載の通信装置。
【請求項5】
前記第1のモードは、第1の所定期間が経過する毎に前記ポーリング信号を前記特定サーバに繰り返し送信して、前記特定サーバから前記対象データを受信するためのモードであり、
前記第1の所定期間は、前記特定サーバから受信される前記応答に含まれる期間情報によって示される期間であり、
前記第2のモード設定部は、前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記第1の所定期間が閾値以上であり、かつ、前記第1の所定条件が満たされる場合に、前記通信装置の前記動作モードを前記第1のモードに代えて前記第2のモードに設定し、
前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記第1の所定期間が前記閾値未満である場合に、前記通信装置の前記動作モードは、前記第1のモードに代えて前記第2のモードに設定されない、請求項1から4のいずれか一項に記載の通信装置。
【請求項6】
前記第2のモード設定部は、前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記通信装置がプロキシサーバを利用せずに前記特定サーバとの通信を実行可能であり、かつ、前記第1の所定条件が満たされる場合に、前記通信装置の前記動作モードを前記第1のモードに代えて前記第2のモードに設定し、
前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記通信装置が前記プロキシサーバを利用して前記特定サーバとの通信を実行可能である場合に、前記通信装置の前記動作モードは、前記第1のモードに代えて前記第2のモードに設定されない、請求項1から5のいずれか一項に記載の通信装置。
【請求項7】
前記通信装置は、さらに、
前記通信装置の前記動作モードが前記第2のモードに設定されている状態において、前記特定サーバが前記対象データを取得することなく第2の所定期間が経過する毎に、前記特定サーバから所定信号を受信する所定信号受信部を備え、
前記第1のモード設定部は、前記通信装置の前記動作モードが前記第2のモードに設定されている状態において、前記特定サーバから少なくとも1個の前記所定信号を受信しないことを含む第2の所定条件が満たされる場合に、前記通信装置の前記動作モードを前記第2のモードに代えて前記第1のモードに設定する、請求項1から6のいずれか一項に記載の通信装置。
【請求項8】
前記通信装置は、プリンタであり、
前記対象データは、印刷対象の画像を表わす画像データである、請求項1から7のいずれか一項に記載の通信装置。
【請求項9】
通信装置のためのコンピュータプログラムであって、
前記通信装置のコンピュータを、以下の各部、即ち、
前記通信装置の動作モードを第1のモードに設定する第1のモード設定部であって、前記第1のモードは、ポーリング信号をインターネット上の特定サーバに繰り返し送信して、前記特定サーバから対象データを受信するためのモードである、前記第1のモード設定部と、
前記特定サーバが前記対象データを有している状態において、前記ポーリング信号が前記特定サーバによって受信される場合に、前記特定サーバから、前記対象データに関連する関連情報を含む応答を受信する第1の応答受信部と、
前記特定サーバが前記対象データを有していない状態において、前記ポーリング信号が前記特定サーバによって受信される場合に、前記特定サーバから、前記関連情報を含まない応答を受信する第2の応答受信部と、
前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記特定サーバから少なくとも1個の前記応答を受信することを含む第1の所定条件が満たされる場合に、前記通信装置の前記動作モードを前記第1のモードに代えて第2のモードに設定する第2のモード設定部であって、前記第2のモードは、前記ポーリング信号を前記特定サーバに送信することなく、前記特定サーバから前記対象データを受信するためのモードである、前記第2のモード設定部と、
前記通信装置の前記動作モードが前記第2のモードに設定されている状態において、前記対象データが前記特定サーバによって取得される場合に、前記特定サーバから前記関連情報を受信する対象データ受信部と、
として機能させる、通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、インターネット上のサーバとの通信を実行する通信装置に関する技術を開示する。
【背景技術】
【0002】
特許文献1には、GCP(Google Cloud Printの略)に従って印刷を実行可能なプリンタが開示されている。プリンタは、XMPP(eXtensible Messaging and Presence Protocol)接続を印刷仲介サーバと確立している場合(以下では「XMPPモード」と記載する)には、ポーリング信号を印刷仲介サーバに定期的に送信することなく、印刷仲介サーバによって印刷ジョブが生成される際に、印刷仲介サーバから印刷に関する通知を受信する。プリンタは、XMPPモードで動作している間に印刷仲介サーバとの通信が不安定になると、XMPPのストリームをクローズして、ポーリング信号を印刷仲介サーバに定期的に送信する状態(以下では「ポーリングモード」と記載する)に移行する。プリンタは、ポーリング信号の送信時に印刷仲介サーバが印刷ジョブを有している場合に、印刷仲介サーバから印刷に関する通知を受信する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したように、XMPPモードでは、ポーリング信号がプリンタから印刷仲介サーバに定期的に送信されることなく、印刷仲介サーバによって印刷ジョブが生成される際に、印刷仲介サーバからプリンタに上記の通知が送信される。一方、ポーリングモードでは、印刷仲介サーバにおいて印刷ジョブが生成されてから、プリンタから印刷仲介サーバにポーリング信号が送信されるまでの間、印刷仲介サーバからプリンタに上記の通知が送信されない。このため、プリンタは、XMPPモードと比べると、印刷ジョブが生成されてから長時間が経過した後に、印刷を実行し得る。
【0005】
本明細書では、通信装置が特定サーバから対象データを迅速に受信し得る技術を提供する。
【0006】
本明細書で開示する通信装置は、通信装置の動作モードを第1のモードに設定する第1のモード設定部であって、前記第1のモードは、ポーリング信号をインターネット上の特定サーバに繰り返し送信して、前記特定サーバから対象データを受信するためのモードである、前記第1のモード設定部と、前記特定サーバが前記対象データを有している状態において、前記ポーリング信号が前記特定サーバによって受信される場合に、前記特定サーバから、前記対象データに関連する関連情報を含む応答を受信する第1の応答受信部と、前記特定サーバが前記対象データを有していない状態において、前記ポーリング信号が前記特定サーバによって受信される場合に、前記特定サーバから、前記関連情報を含まない応答を受信する第2の応答受信部と、前記通信装置の前記動作モードが前記第1のモードに設定されている状態において、前記特定サーバから少なくとも1個の前記応答を受信することを含む第1の所定条件が満たされる場合に、前記通信装置の前記動作モードを前記第1のモードに代えて第2のモードに設定する第2のモード設定部であって、前記第2のモードは、前記ポーリング信号を前記特定サーバに送信することなく、前記特定サーバから前記対象データを受信するためのモードである、前記第2のモード設定部と、前記通信装置の前記動作モードが前記第2のモードに設定されている状態において、前記対象データが前記特定サーバによって取得される場合に、前記特定サーバから前記関連情報を受信する関連情報受信部と、を備えていてもよい。
【0007】
この構成によると、通信装置は、第1のモードに設定されている状態において第1の所定条件が満たされる場合に、ポーリング信号を送信することなく対象データを受信するための第2のモードに移行する。通信装置は、第2のモードの移行することによって、特定サーバから関連情報を迅速に受信し得るので、特定サーバから対象データを迅速に受信し得る。
【0008】
上記の通信装置を実現するためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、通信装置によって実行される方法も新規で有用である。また、上記の通信装置と特定サーバとを備えるシステムも新規で有用である。
【図面の簡単な説明】
【0009】
【
図2】プリンタに関する情報を印刷仲介サーバに登録する処理のシーケンス図を示す。
【
図4】Polling Mode処理のフローチャートを示す。
【
図5】Event Wait Mode処理のフローチャートを示す。
【
図6】プリンタがPolling Modeで動作するケースAのシーケンス図を示す。
【
図8】プリンタのプロキシ設定が切り替えられ、かつ、プリンタが所属するLANが切り替えられるケースBのシーケンス図を示す。
【
図9】プリンタと印刷仲介サーバとの間の通信状態が不安定になるケースCのシーケンス図を示す。
【発明を実施するための形態】
【0010】
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、プリンタ10と携帯端末50と複数個のアクセスポイント60,70Aと印刷仲介サーバ100とを備える。プリンタ10は、アクセスポイント(以下では「AP(Access Pointの略)」と記載する)60が親局として動作しているLAN(Local Area Networkの略)62、又は、AP70Aが親局として動作しているLAN72に選択的に所属することができる。印刷仲介サーバ100は、インターネット6に接続されている。プリンタ10は、LAN62又はLAN72に所属している場合に、AP60又はAP70Aを介して、印刷仲介サーバ100との通信を実行することができる。変形例では、LAN62及びLAN72は、無線LANの代わりに有線LANであってもよい。携帯端末50は、LAN62又はLAN72に所属している場合に、AP60又は70Aを介して、プリンタ10及び印刷仲介サーバ100との通信を実行することができる。変形例では、携帯端末50は、3G、4G、5G等のセルラー通信を利用して、印刷仲介サーバ100との通信を実行してもよい。
【0011】
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば、携帯端末50の周辺装置)である。本実施例において、プリンタ10は、可搬式のプリンタ(いわゆるモバイルプリンタ)である。従って、ユーザは、AP60又はAP70Aの近くまでプリンタ10を運ぶことによって、プリンタ10をLAN62又はLAN72に選択的に所属させることができる。
【0012】
プリンタ10は、表示部12と、無線LANインターフェース14と、印刷実行部18と、制御部30と、を備える。各部12~30は、バス線(符号省略)に接続されている。なお、以下では、インターフェースのことを単に「I/F」と記載する。
【0013】
表示部12は、様々な情報を表示するためのディスプレイである。表示部12は、いわゆるタッチパネル(即ちユーザによって操作される操作部)としても機能する。無線LANI/F14は、Wi-Fi規格に従った無線通信を実行するための無線I/Fである。具体的には、無線LANI/F14は、AP60又はAP70Aとの無線接続を確立する。これにより、プリンタ10は、LAN62又はLAN72に所属する。印刷実行部18は、インクジェット方式、レーザ方式等の印刷機構である。
【0014】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、上記のプログラム36の他に、クラウド印刷設定とプロキシ設定とを記憶している。クラウド印刷設定は、プリンタ10に関する情報が印刷仲介サーバ100に登録されていることを意味する「登録済」と、当該情報が登録されていないことを意味する「未登録」と、のどちらかの値を示す。当該情報が印刷仲介サーバ100に登録されると、プリンタ10は、印刷仲介サーバ100からクラウド印刷サービスを受けることができる。本実施例では、クラウド印刷サービスは、Microsoft(登録商標)のUP(Universal Print)サービスである。クラウド印刷サービスは、インターネットを介して提供される印刷サービスであればよく、例えば、GCP(Google(登録商標) Cloud Print)サービスであってもよい。
【0015】
プロキシ設定は、プロキシサーバ70Bを利用することを示す「有効」と、プロキシサーバ70Bを利用しないことを示す「無効」と、のどちらかの値を示すフラグ情報を含む。プロキシ設定は、さらに、プロキシサーバ70Bを利用するための複数個の設定値を含み得る。フラグ情報及び複数個の設定値は、ユーザによって入力される。複数個の設定値は、プロキシサーバ70BのIPアドレスと、プロキシサーバ70Bとの通信に利用されるポート番号と、ユーザ名と、パスワードと、を含む。
【0016】
(AP60,70の構成)
各AP60,70Aは、DHCP(Dynamic Host Configuration Protocolの略)サーバ機能を有する。そのため、AP60は、LAN62に所属するデバイスにIPアドレスを割り当てることができ、AP70Aは、LAN72に所属するデバイスにIPアドレスを割り当てることができる。AP70Aによって形成されるLAN72には、さらに、プロキシサーバ70Bとウェブサーバ70Cとが設けられている。
【0017】
(携帯端末50の構成)
携帯端末50は、例えば、携帯電話、スマートフォン、PDA、タブレットPC等の可搬型の端末装置である。なお、変形例では、携帯端末50に代えて、据置型のPC、ノートPC等が利用されてもよい。以下では、携帯端末50のことを「端末50」と記載する。
【0018】
(印刷仲介サーバ100の構成)
印刷仲介サーバ100は、クラウド印刷サービスを提供するサーバである。印刷仲介サーバ100は、本実施例では、プリンタ10のベンダによって設置されるサーバではなく、クラウド印刷サービスを提供する事業者によって設置されるサーバである。変形例では、印刷仲介サーバ100は、プリンタ10のベンダによって設置されるサーバであってもよい。印刷仲介サーバ100は、例えば携帯端末50から受信される画像データを変換して印刷データを生成し、当該印刷データをプリンタ10に送信する。以下では、印刷仲介サーバ100のことを「サーバ100」と記載する。
【0019】
(登録処理:
図2)
図2を参照して、プリンタ10がサーバ100からクラウド印刷サービスを受けるために、プリンタ10に関する情報をサーバ100に登録するための処理を説明する。
図2の初期状態では、プリンタ10及び端末50は、同じLAN(即ちLAN62又はLAN72)に所属している。プリンタ10がLAN62に所属している場合には、プリンタ10は、AP60を利用して、端末50及びサーバ100との通信を実行する。また、プリンタ10がLAN72に所属している場合には、プリンタ10は、AP70Aを利用して、端末50及び印刷仲介サーバ100との通信を実行し、プロキシサーバ70B及びウェブサーバ70Cをさらに利用して、印刷仲介サーバ100との通信を実行する。しかしながら、
図2では、AP60、AP70A、及び、各サーバ70B,70Cを図示省略している。下記の
図6以降のシーケンス図でも、特に必要がない限り、これらのデバイスを図示省略する。
【0020】
以下では、プリンタ10のCPU32がプログラム36に従って実行する処理を説明する際に、CPU32を主体として記載するのではなく、プリンタ10を主体として記載する。また、プリンタ10によって実行される以下の全ての通信は、無線LANI/F14を介して実行される。従って、以下では、通信に関する処理を説明する際に、「無線LANI/F14を介して」という記載を省略する。
【0021】
端末50は、ユーザからの操作を受け付けることに応じて、例えばプリンタ10内のウェブサーバにアクセスする。そして、端末50は、ユーザから、さらに、プリンタ10がクラウド印刷サービスを受けるための操作を受け付けることに応じて、T10において、登録指示をプリンタ10に送信する。
【0022】
プリンタ10は、T10において、端末50から登録指示を受信すると、T12において、プリンタ10を識別する情報であるプリンタIDを含む登録要求をサーバ100に送信する。
【0023】
サーバ100は、T12において、プリンタ10から登録要求を受信すると、T14において、PINコードを生成して、登録要求に含まれるプリンタIDと生成済みのPINコードとを対応付けて記憶する。次いで、サーバ100は、T20において、PINコードとログイン用URL(Uniform Resource Locatorの略)とをプリンタ10に送信する。ログイン用URLは、サーバ100内の後述の認証画面データの位置を示す情報である。
【0024】
プリンタ10は、T20において、サーバ100からPINコードとURLとを受信すると、T22において、それらを端末50に送信する。
【0025】
端末50は、T22において、プリンタ10からPINコードとURLとを受信すると、T30において、それらを表示する。次いで、端末50は、T32において、ユーザからURLを選択する操作を受け付けると、T40において、URLを含む認証要求をサーバ100に送信する。
【0026】
サーバ100は、T40において、端末50から認証要求を受信すると、T42において、認証要求に含まれるURLによって特定される認証画面データを端末50に送信する。認証画面データは、PINコードを入力するための認証画面を表わすデータである。
【0027】
端末50は、T42において、サーバ100から認証画面データを受信すると、T44において、認証画面データによって表わされる認証画面を表示する。次いで、端末50は、T46において、ユーザから、T30で表示されたPINコードの入力を受け付ける。この場合、端末50は、T50において、入力済みのPINコードをサーバ100に送信する。
【0028】
サーバ100は、T50において、端末50からPINコードを受信すると、T52において、受信済みのPINコードの認証を実行する。具体的には、サーバ100は、受信済みのPINコードを記憶済みであるのか否かを判断する。サーバ100は、受信済みのPINコードを記憶済みであると判断する場合、即ち、認証が成功する場合には、T54において、ユニークな文字列であるアクセストークン(以下ではAT(Access Tokenの略)と記載する)を生成する。そして、サーバ100は、T56において、プリンタIDと生成済みのATとを対応付けて記憶し、T60において、生成済みのATを含む認証通知をプリンタ10に送信する。
【0029】
プリンタ10は、T62において、認証通知に含まれるATをメモリ34に記憶させる。この場合、プリンタ10は、T64において、クラウド印刷設定を「未登録」から「登録済」に変更する。これにより、登録処理が終了する。
【0030】
(プリンタのモード設定処理:
図3)
次いで、
図3を参照して、プリンタ10のCPU32によって実行されるモード設定処理を説明する。
図3の処理は、登録処理が終了すること、又は、プリンタ10の電源がONされることをトリガとして開始される。
【0031】
S10では、CPU32は、クラウド印刷設定が「登録済」であるのか否かを判断する。CPU32は、クラウド印刷設定が「登録済」である場合(S10でYES)に、S20に進み、クラウド印刷設定が「未登録」である場合(S10でNO)に、S60に進む。
【0032】
S60では、CPU32は、クラウド印刷設定が「未登録」から「登録済」に変更されること(即ち
図2のT64の処理が実行されること)を監視する。CPU32は、クラウド印刷設定が変更される場合に、S60でYESと判断し、S20の処理に進む。
【0033】
S20及びS40の処理は、プリンタ10がプロキシ環境にあるのか非プロキシ環境にあるのかを判断する一連の処理である。プロキシ環境は、プリンタ10が、プロキシサーバ70Bを利用して、インターネット6上のデバイスとの通信を実行し得る環境(即ちLAN72に所属している状況)である。非プロキシ環境は、プリンタ10が、プロキシサーバ70Bを利用せずに、インターネット6上のデバイスとの通信を実行する環境(即ちLAN62に所属している状況)である。特に、プリンタ10は、電源がONされる場合(
図3の処理のトリガ)、又は、クラウド印刷設定が「未登録」から「登録済」に変更される場合(S60でYES)に、上記の判断を実行する。従って、プリンタ10は、これからLANに所属するという適切なタイミングで上記の判断を実行することができる。
【0034】
S20では、CPU32は、メモリ34内のプロキシ設定を確認して、フラグ情報が「有効」を示し、かつ、各設定値(IPアドレス、ポート番号等)が記憶されているのか否かを判断する。CPU32は、フラグ情報が「有効」を示し、かつ、各設定値が記憶されている場合に、プリンタ10がプロキシ環境にあると判断し(S20でYES)、S30に進む。一方、CPU32は、フラグ情報が「無効」を示す場合、又は、フラグ情報が「有効」を示すが各設定値が記憶されていない場合(S20でNO)に、S40に進む。プリンタ10は、プロキシ設定に基づいてS20の判断を実行するので、プロキシ環境であるのか否かを適切に判断することができる。
【0035】
S30では、CPU32は、プリンタ10の動作モードをPolling Mode(以下「PM」と記載する)に設定する。PMは、ポーリング信号をサーバ100に繰り返し送信して、サーバ100から印刷データを受信するためのモードである。S30が終了すると、
図3の処理が終了する。
【0036】
S40では、CPU32は、WPAD(Web Proxy Auto-Discovery Protocolの略)ファイルのURLがメモリ34に記憶されているのか否かを判断する。ここで、WPADについて説明する。プリンタ10は、LAN62又はLAN72に所属する際に、IPアドレスの割り当てをAP60又はAP70Aに要求する。AP60又はAP70Aは、DHCPサーバ機能を有するので、IPアドレスをプリンタ10に自動的に割り当てる。AP70Aは、LAN72にプロキシサーバ70Bが存在する場合には、IPアドレスをプリンタ10に割り当てる際に、WPADファイルのURLもプリンタ10に送信する。WPADファイルは、プロキシサーバ70Bに関する情報を示すファイルである。従って、プリンタ10は、AP70AからWPADファイルのURLを受信する場合には、プロキシサーバ70BがLAN72に存在する、即ち、プリンタ10がプロキシ環境にある、と判断することができる。
【0037】
CPU32は、プリンタ10がLAN72に所属している場合には、AP70AからWPADファイルのURLを受信済みであるので、プリンタ10がプロキシ環境にあると判断し(S40でYES)、S30の処理に進む。一方、CPU32は、プリンタ10がLAN62に所属している場合には、AP60からWPADファイルを受信しないので、プリンタ10がプロキシ環境にない(即ち非プロキシ環境にある)と判断し(S40でNO)、S50の処理に進む。プリンタ10は、WPADファイルのURLの受信の有無に基づいてS40の判断を実行するので、プロキシ環境であるのか否かを適切に判断することができる。
【0038】
S50では、CPU32は、プリンタ10の動作モードをEvent Wait Mode(以下「EWM」と記載する)に設定する。EWMは、ポーリング信号をサーバ100に送信することなく、サーバ100から印刷データを受信するためのモードである。S50が終了すると、
図3の処理が終了する。
【0039】
上述のように、プリンタ10は、プロキシ環境にある場合にPMで動作し、非プロキシ環境にある場合にEWMで動作する。本発明者らの研究の結果、プリンタ10がプロキシ環境にある場合にEWMで動作すると、プリンタ10が、サーバ100から、印刷データが生成されたことを示す通知を受信することができない事象(以下では「受信不可事象」と記載する)が発生することが判明した。本実施例によると、プリンタ10は、プロキシ環境にある場合にPMではなくEWMで動作するので、受信不可事象が発生するのを抑制することができる。このように、プリンタ10は、プロキシ環境にあるのか否かに応じた適切なモードで動作することができる。
【0040】
上述したように、プリンタ10は、PM及びEWMのうちの一方で選択的に動作することができる。詳しくは後述するが、PMでは、ポーリング信号がプリンタ10からサーバ100に送信される際に、サーバ100において印刷データが存在する場合に、プリンタ10は、サーバ100からJob-IDを受信し、その後、印刷データを受信する。EWMでは、サーバ100において印刷データが生成されると、プリンタ10は、比較的に短時間でサーバ100からJob-IDを受信し、その後、印刷データを受信する。従って、プリンタ10は、EWMで動作している状態では、PMで動作している状態よりも早く印刷データを受信し得る。
【0041】
(PM処理:
図4)
次いで、
図4を参照して、プリンタ10がPMで動作している状態において、CPU32によって実行される処理を説明する。
【0042】
S100では、CPU32は、カウンタをゼロに設定する。カウンタは、サーバ100から送信されるGet-Notification(Polling Mode)Response(以下「GN(PM)Res」と記載する)が受信された回数をカウントするためのものである。
【0043】
S102では、CPU32は、Get-Notification(Pooling Mode)Request(以下「GN(PM)Req」と記載する)をサーバ100に送信する。GN(PM)Reqは、印刷データが生成されたのか否かをサーバ100に確認するためのポーリング信号である。これにより、サーバ100は、プリンタ10が印刷を実行すべき画像を表わす印刷データ(即ち印刷ジョブ)を生成済みである場合には、当該印刷データを識別する情報であるJob-IDを含むGN(PM)Resをプリンタ10に送信する。一方、サーバ100は、当該印刷データを生成済みでない場合には、Job-IDを含まないGN(PM)Resをプリンタ10に送信する。
【0044】
S104では、CPU32は、サーバ100からGN(PM)Resを受信したのか否かを判断する。CPU32は、サーバ100からGN(PM)Resを受信した場合に、S104でYESと判断してS110に進む。CPU32は、サーバ100からGN(PM)Resを受信することなく所定時間が経過する場合に、S104でNOと判断してS100に進む。例えば、プリンタ10の通信状況が不安定である場合には、S104でNOと判断され得る。
【0045】
S110では、CPU32は、受信済みのGN(PM)ResがJob-IDを含むのか否かを判断する。CPU32は、GN(PM)ResがJob-IDを含むと判断する場合(S110でYES)に、S112に進み、GN(PM)ResがJob-IDを含まないと判断する場合(S110でNO)に、S120に進む。
【0046】
S112では、CPU32は、印刷データに関する通信をサーバ100と実行する。当該通信は、サーバ100へのFetch-job Requestの送信と、サーバ100からのResponseの受信と、サーバ100へのFetch-Document Requestの送信と、を含む。
【0047】
S114では、CPU32は、サーバ100から印刷データを受信する。具体的には、CPU32は、Fetch-Document Requestをサーバ100に送信することに応じて、サーバ100から印刷データ(即ちDocument)を受信する。
【0048】
S116では、CPU32は、受信済みの印刷データによって表わされる画像の印刷を実行する。S116が終了すると、S100に戻る。
【0049】
S120では、CPU32は、カウンタを1だけインクリメントする。S122では、CPU32は、カウンタの値がMであるか否かを判断する。Mは、本実施例では3であるが、変形例では2であってもよいし4以上であってもよい。CPU32は、カウンタの値がMであると判断する場合(S122でYES)には、S124に進み、カウンタの値がMでないと判断する場合(S122でNO)には、S150に進む。
【0050】
S150では、CPU32は、ポーリング期間が経過したか否かを判断する。ポーリング期間は、GN(PM)Resに含まれる期間情報によって示される期間(例えば30秒)である。CPU32は、サーバ100からGN(PM)Resを受信してから上記のポーリング期間が経過すると、S150でYESと判断し、S102に戻る。即ち、CPU32は、GN(PM)Resを受信してからポーリング期間が経過すると(S150でYES)、GN(PM)Reqをサーバ100に再び送信する(S102)。このように、CPU32は、サーバ100から指定されるポーリング期間が経過する毎に、GN(PM)Reqをサーバ100に送信する。
【0051】
S124では、CPU32は、ポーリング期間が所定の閾値以上であるか否かを判断する。閾値は、本実施例では30秒であるが、30秒未満であってもよいし、30秒よりも大きくてもよい。CPU32は、ポーリング期間が閾値以上であると判断する場合(S124でYES)には、S130に進み、ポーリング期間が閾値未満であると判断する場合(S124でNO)には、S100に戻る。即ち、プリンタ10は、ポーリング期間が閾値未満である場合には、EWMに移行することなく、PMを維持する。ポーリング期間が閾値未満である場合には、GN(PM)Resが比較的に短い周期で送信されるので、プリンタ10は、サーバ100から印刷データを比較的に早く受信することができる。このために、上記の受信不可事象が起こり得るEWMに移行することなく、PMが維持される。
【0052】
S130及びS132の処理は、
図3のS20及びS40と同様である。S130又はS132でYESの場合、即ち、プリンタ10がプロキシ環境にある場合には、PMが維持され、S100に戻る。S132でNOの場合、即ち、プリンタ10が非プロキシ環境にある場合には、CPU32は、S140において、プリンタ10の動作モードをPMからEWMに変更する。ここで、CPU32は、GN(PM)Resを受信してからポーリング期間が経過する前に、プリンタ10の動作モードをPMからEWMに変更する。従って、プリンタ10は、EWMに迅速に移行することができる。S140が終了すると、
図4の処理が終了し、
図5の処理が開始される。上述したように、プリンタ10は、Job-IDを含まないGN(PM)ResをM回連続して受信する場合に、プリンタ10がプロキシ環境にあるのか否かを判断する。従って、プリンタ10は、サーバ100との通信が安定しているという適切なタイミングで上記の判断を実行することができる。
【0053】
このような構成によると、プリンタ10は、PMに設定されている状態において、Job-IDを含まないGN(PM)ResをM回連続して受信する場合、即ち、サーバ100との通信が安定している場合に、EWMに移行する。プリンタ10は、EWMで動作することによって、PMで動作する場合と比べて、サーバ100からJob-IDを迅速に受信することができるので、サーバ100から印刷データを迅速に受信することができる。
【0054】
また、プリンタ10は、Job-IDを含むGN(PM)Resを受信する場合には、印刷に関する処理(S112~S116)を実行する。仮にこれらの処理と並行してモードを移行させる処理が実行されると、プリンタ10の処理負荷が高くなり、印刷に関する処理の速度が遅くなり得る。これを避けるために、本実施例では、プリンタ10は、Job-IDを含むGN(PM)Resを受信する場合(S110でYES)に、EWMに移行しない。このために、プリンタ10は、印刷を迅速に実行することができる。
【0055】
(EWM処理:
図5)
次いで、
図5を参照して、プリンタ10がEWMで動作している状態において、CPU32によって実行される処理を説明する。
【0056】
S200では、CPU32は、Get-Notification(Event Wait Mode)Request(以下「GN(EWM)Req」と記載する)をサーバ100に送信する。GN(EWM)Reqは、印刷データが生成される際にその旨の通知をプリンタ10に送信すべきことをサーバ100に要求するための信号である。これにより、サーバ100は、プリンタ10が印刷を実行すべき画像を表わす印刷データを生成すると、Job-IDを含むGet-Notification(Event Wait Mode)Response(以下「GN(EWM)Res」と記載する)をプリンタ10に送信する。一方、サーバ100は、印刷データを生成することなく所定の待機時間が経過する毎に、Job-IDを含まないGN(EWM)Resをプリンタ10に送信する。上記の所定の待機時間は、例えば60秒である。
【0057】
S202では、CPU32は、サーバ100からGN(EWM)Resを受信したのか否かを判断する。CPU32は、GN(EWM)Resを受信した場合に、S202でYESと判断してS210に進む。CPU32は、GN(EWM)Resを受信することなく上記の待機時間が経過する場合に、S202でNOと判断してS220に進む。例えば、プリンタ10の通信状況が不安定である場合には、S202でNOと判断され得る。
【0058】
S210では、CPU32は、受信済みのGN(EWM)ResがJob-IDを含むのか否かを判断する。CPU32は、GN(EWM)ResがJob-IDを含むと判断する場合(S210でYES)に、S212に進み、GN(EWM)ResがJob-IDを含まないと判断する場合(S210でNO)に、S202に戻る。
【0059】
S212~S216は、
図4のS112~S116と同様である。S216が終了すると、S202の処理に戻る。
【0060】
S220では、CPU32は、プリンタ10の動作モードをEWMからPMに変更する。S220が終了すると、
図5の処理が終了し、
図4の処理が開始される。
【0061】
(ケースA:
図6)
続いて、
図6~
図9を参照して、
図3~
図5の処理によって実現される具体的なケースA~Cを説明する。まず、
図6を参照して、ケースAを説明する。
図6は、
図2の続きの処理である。従って、プリンタ10のクラウド印刷設定は「登録済」である(
図2のT64参照)。また、プリンタ10のプロキシ設定では、フラグ情報が「有効」を示し、かつ、各設定値が記憶されている。
【0062】
プリンタ10は、AP70Aによって形成されるLAN72に所属し、T102において、IPアドレス要求をAP70Aに送信する。この場合、プリンタ10は、T104において、AP70Aから、プリンタ10に設定されるべきIPアドレスの候補と、WPADファイルのURLと、を受信する。プリンタ10は、T106において、受信済みのURLをメモリ34に保存する。
【0063】
プリンタ10は、プロキシ設定において、フラグ情報が「有効」を示し、かつ、各設定値が記憶されているので、T108において、プリンタ10がプロキシ環境にあると判断する(S20でYES)。従って、プリンタ10は、PMで動作する(S30)。
【0064】
次いで、プリンタ10は、T110において、IPアドレスの承認要求をAP70Aに送信し、T112において、AP70AからIPアドレスの割当て完了通知を受信する。
【0065】
プリンタ10は、T120において、GN(PM)Reqをサーバ100に送信し(
図4のS102)、T122において、サーバ100からJob-IDを含まないGN(PM)Resを受信する(S104でYES)。プリンタ10は、受信済みのGN(PM)ResがJob-IDを含まないと判断し(S110でNO)、この結果、カウンタの値が1になる(S120、S122でNO)。
【0066】
プリンタ10は、T122で受信されたGN(PM)Resに含まれる期間情報によって示されるポーリング期間が経過すると(S150でYES)、T124において、GN(PM)Reqをサーバ100に再び送信する(S102)。そして、上記と同様に、T126~T130が実行され、カウンタの値として3が記憶される(S122でYES)。
【0067】
プリンタ10は、カウンタの値が3になると、T130で受信されたGN(PM)Resに含まれるポーリング期間が所定の閾値以上であると判断する(S124でYES)。そして、プリンタ10は、プロキシ設定値において、フラグ情報が「有効」を示し、かつ、各設定値が記憶されているので(S130でYES)、T140において、プリンタ10がプロキシ環境にあると判断する。前述したように、プリンタ10がプロキシ環境にある場合に、プリンタ10がEWMで動作すると、上記の受信不可事象が発生し得る。このために、プリンタ10は、プロキシ環境にあると判断する場合には、プリンタ10の動作モードをPMに維持する。その結果、上記の受信不可事象が発生するのを抑制することができる。本実施例では、プリンタ10は、ポーリング期間が所定の閾値以上である場合(S124でYES)に、プロキシ環境にあるのか否かを判断(S130及びS132)する。変形例では、プリンタ10は、プロキシ環境にあるのか否かを判断した後に、ポーリング期間が所定の閾値以上であるか否かを判断してもよい。即ち、S132とS140との間にS124が実行されてもよい。本変形例では、ポーリング期間が所定の閾値以下である場合に、EWMに変更されることなくPMが維持される。
【0068】
端末50は、ユーザから指示を受け付けることに応じて、T150において、画像データをサーバ100に送信する。
【0069】
サーバ100は、T150において、端末50から画像データを受信すると、T152において、受信済みの画像データを変換して、プリンタ10が解釈可能なデータ形式を有する印刷データを生成する。
【0070】
プリンタ10は、T160において、GN(PM)Reqをサーバ100に送信し(S102)、T162において、サーバ100からJob-IDを含むGN(PM)Resを受信する(S104でYES)。この場合、プリンタ10は、GN(PM)ResがJob-IDを含むと判断する(S110でYES)。
【0071】
次いで、プリンタ10は、T170~T176において、印刷データに関する通信を実行する(S112、S114)。具体的には、プリンタ10は、T170において、Job-IDを含むFetch-job Reqをサーバ100に送信し、T172において、サーバ100からJob情報を含むResを受信する。そして、プリンタ10は、T174において、Fetch-Document Reqをサーバ100に送信し、T176において、サーバ100から印刷データを含むResを受信する。次いで、プリンタ10は、T180において、印刷データによって表わされる画像の印刷を実行する。
【0072】
その後、プリンタ10は、T190において、ユーザから指示を受け付けることに応じて、プロキシ設定に含まれるフラグ情報を「有効」から「無効」に変更する。そして、T192において、プリンタ10の電源がOFFされる。
【0073】
(
図6の続き:
図7)
次に、
図7を参照して、
図6のケースAの続きの処理を説明する。従って、プリンタ10のプロキシ設定では、フラグ情報が「無効」を示す(
図6のT190参照)。
【0074】
プリンタ10は、
図6の処理が終了した後に、ユーザによってAP60の近くまで運ばれる。そして、T200において、プリンタ10の電源がONされると(
図3の処理のトリガ)、プリンタ10は、AP60によって形成されるLAN62に所属し、T202において、IPアドレス要求をAP60に送信する。この場合、プリンタ10は、T204において、AP60からIPアドレスの候補を受信する。ここで、プリンタ10は、LAN72に代えてLAN62に所属する際に、LAN72のAP70Aから受信済みのWPADファイルのURLをメモリ34から消去する。そして、プリンタ10は、AP60からWPADファイルのURLを受信しない。
【0075】
プリンタ10は、プロキシ設定のフラグ情報が「無効」を示し(S20でNO)、かつ、WPADファイルのURLを受信済みでないので(S40でNO)、T206において、プリンタ10が非プロキシ環境にあると判断する。従って、プリンタ10は、EWMで動作する(S50)。
【0076】
次いで、プリンタ10は、T208において、IPアドレスの承認要求をAP60に送信し、T210において、AP60からIPアドレスの割当て完了通知を受信する。
【0077】
プリンタ10は、T210において、GN(EWM)Reqをサーバ100に送信し(
図5のS200)、T222,T224において、サーバ100からJob-IDを含まないGN(EWM)Resを受信することを繰り返す(S202でYES、T210でNO)。
【0078】
端末50は、ユーザから指示を受け付けることに応じて、T230において、画像データをサーバ100に送信する。
【0079】
サーバ100は、T230において、端末50から画像データを受信すると、T232において、受信済みの画像データを変換して、プリンタ10が解釈可能なデータ形式を有する印刷データを生成する。この結果、サーバ100は、Job-IDを含むGN(EWM)Resをプリンタ10に送信する。
【0080】
プリンタ10は、T234において、サーバ100からJob-IDを含むGN(EWM)Resを受信すると(S202でYES、S210でYES)、T240~T246において、印刷データに関する通信を実行する(S212、S214)。T240~T246の処理は、プリンタ10がAP70Aに代えてAP60を介してサーバ100と通信する点を除いて、
図6のT170~T176と同様である。次いで、プリンタ10は、T250において、印刷データによって表わされる画像の印刷を実行する。
【0081】
このように、ケースAでは、プリンタ10は、PMで動作する状態からEWMで動作する状態に移行する。このために、プリンタ10は、サーバ100によって印刷データが生成されてから比較的に短時間で、サーバ100からJob-IDを受信することができる。この結果、サーバ100から印刷データを迅速に受信することができる。
【0082】
(ケースB:
図8)
次に、
図8を参照して、ケースBを説明する。
図8は、
図2の続きの処理である。従って、プリンタ10のクラウド印刷設定は「登録済」である(
図2のS64)。また、プリンタ10のプロキシ設定では、フラグ情報が「有効」を示し、かつ、各設定値が記憶されている。
【0083】
プリンタ10は、
図6のT100~T130と同様に、WPADファイルのURLを保存し、PMで動作する。プリンタ10は、T300において、ユーザから指示を受け付けることに応じて、プロキシ設定に含まれるフラグ情報を「有効」から「無効」に変更する。
【0084】
その後、プリンタ10は、ユーザによってAP60の近くまで運ばれる。プリンタ10は、AP60によって形成されるLAN62に所属し、T310において、IPアドレス要求をAP60に送信する。この場合、プリンタ10は、T312において、AP60から、プリンタ10に設定されるべきIPアドレスの候補を受信する。ここで、プリンタ10は、LAN72に代えてLAN62に所属する際に、上記と同様に、WPADファイルのURLをメモリ34から消去する。
【0085】
プリンタ10は、プロキシ設定において、フラグ情報が「無効」を示すと判断し(S20でNO)、WPADファイルのURLを受信済みでないと判断する(S40でNO)。そのため、プリンタ10は、T314において、プリンタ10が非プロキシ環境にあると判断する。従って、プリンタ10は、EWMで動作し(S50)、
図7のT208~T250と同様の処理を実行する。
【0086】
このように、ケースBでは、プリンタ10は、PMで動作する状態からEWMで動作する状態に移行する。このために、プリンタ10は、サーバ100によって印刷データが生成されてから比較的に短時間で、サーバ100からJob-IDを受信することができる。この結果、サーバ100から印刷データを迅速に受信することができる。
【0087】
(ケースC:
図9)
次に、
図9を参照して、ケースCを説明する。
図9は、
図2の続きの処理である。従って、プリンタ10のクラウド印刷設定は「登録済」である(
図2のT64参照)。また、プリンタ10のプロキシ設定では、フラグ情報が「有効」を示し、かつ、各設定値が記憶されている。
【0088】
プリンタ10は、T402において、ユーザから指示を受け付けることに応じて、プロキシ設定に含まれるフラグ情報を「有効」から「無効」に変更する。
【0089】
プリンタ10は、AP60によって形成されるLAN62に所属し、T202において、IPアドレス要求をAP60に送信する。この場合、プリンタ10は、T204において、AP60からIPアドレスの候補を受信する。
【0090】
プリンタ10は、プロキシ設定において、フラグ情報が「無効」を示し(S20でNO)、かつ、WPADファイルのURLを受信済みでないので(S40でNO)、T414において、プリンタ10が非プロキシ環境にあると判断する。従って、プリンタ10は、EWMで動作する(S50)。
【0091】
次いで、プリンタ10は、T416において、IPアドレスの承認要求をAP60に送信し、T418において、AP60からIPアドレスの割当て完了通知を受信する。
【0092】
プリンタ10は、T420において、GN(EWM)Reqをサーバ100に送信する(
図5のS200)。プリンタ10は、サーバ100からGN(EWM)Resを受信することなく、予め定められた待機時間(例えば60秒)が経過する場合(S202でNO)に、プリンタ10とサーバ100との間の通信状況が不安定であると判断する。この場合、プリンタ10は、動作モードをEWMからPMに変更する(S220)。
【0093】
プリンタ10は、EWMで動作する状態では、所定の待機時間(例えば60秒)が経過するまで、通信が安定であるのか不安定であるのかを認識することができない。一方、プリンタ10は、PMで動作する状態では、GN(PM)Reqを送信してGN(PM)Reqを受信すれば、通信が安定であると認識することができ、GN(PM)Reqを受信しなければ、通信が不安定であると認識することができる。即ち、プリンタ10は、PMで動作していれば、通信が不安定である状態から通信が安定する状態に変化したことを迅速に認識することができる。このため、プリンタ10は、通信が不安定であると判断する場合に、動作モードをEWMからPMに変更する。
【0094】
プリンタ10は、T430において、GN(PM)Reqをサーバ100に送信する(S102)。プリンタ10は、サーバ100からGN(PM)Resを受信することなく、予め定められた所定時間が経過する場合(S104でNO)に、プリンタ10とサーバ100と間の通信状況が不安定であると判断し、カウンタをゼロに維持した状態(S100)、T440において、GN(PM)Reqをサーバ100に再び送信する(S102)。
【0095】
その後、プリンタ10は、GN(PM)Resを受信することを含むT442~T450の通信を実行すると、プリンタ10とサーバ100と間の通信状況が不安定な状況から安定な状況に変化したことを認識する(S122でYES)。そして、プリンタ10は、T452において、プリンタ10が非プロキシ環境にあると判断する(S132でNO)。その後、プリンタ10は、EWMに再び移行し(S140)、
図7のT220~T240と同様の処理を実行する。このために、プリンタ10は、サーバ100によって印刷データが生成されてから比較的に短時間で、サーバ100からJob-IDを受信することができる。この結果、サーバ100から印刷データを迅速に受信することができる。
【0096】
(対応関係)
プリンタ10、サーバ100が、それぞれ、「通信装置」、「特定サーバ」の一例である。PM、EWMが、それぞれ、「第1のモード」、「第2のモード」の一例である。GN(PM)Req、GN(EWM)Resが、それぞれ、「ポーリング信号」、「所定信号」の一例である。Job-IDが、「関連情報」の一例である。Job-IDを含むGN(PM)Res、Job-IDを含まないGN(PM)Resが、それぞれ、「関連情報を含む応答」、「関連情報を含まない応答」の一例である。印刷データが、「対象データ」の一例である。
図4のS122でYESと判断することが、「第1の所定条件が満たされる」の一例である。
図5のS202でNOと判断することが、「第2の所定条件が満たされる」の一例である。ポーリング期間、待機時間が、それぞれ、「第1の所定期間」、「第2の所定期間」の一例である。
【0097】
図3のS30及び
図5のS220が、「第1のモード設定部」によって実現される処理の一例である。
図4のS104でYES、S110でYES、及び、
図6のT162が、「第1の応答受信部」によって実現される処理の一例である。
図4のS104でYES、S110でNO、及び、
図6のT122,T126,T130が、「第2の応答受信部」によって実現される処理の一例である。
図3のS50、
図4のS140、及び、
図7のT220が、「第2のモード設定部」によって実現される処理の一例である。
図5のS202でYES、S210でYES、及び、
図7のT234が、「関連情報受信部」によって実現される処理の一例である。
図5のS202でYESが、「所定信号受信部」によって実現される処理の一例である。
【0098】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0099】
(変形例1)
図4のT122において、Mは1でもよい。即ち、1個のポーリング信号が受信される場合に、「第1の所定条件」が満たされてもよい。また、別の変形例では、連続ではなく複数個のポーリング信号が受信される場合に、「第1の所定条件」が満たされてもよい。
【0100】
(変形例2)プリンタ10は、
図4のS140において、サーバ100からGN(PM)Resが送信されてからポーリング期間が経過した後に、PMからEWMに変更されてもよい。一般的に言うと、「第2のモード設定部」は、特定のポーリング信号が送信されてから第1の所定期間が経過した後に、通信装置の動作モードを第1のモードに代えて第2のモードに設定してもよい。
【0101】
(変形例3)
図4のS124が省略されてもよい。この場合、プリンタ10は、ポーリング期間の大きさにかかわらず、第1の所定条件が満たされる場合に、動作モードをPMからEWMに変更する。
【0102】
(変形例4)
図4のS130及びS132が省略されてもよい。即ち、S124でYESの場合に、S140に進んでもよい。一般的に言うと、通信装置がプロキシサーバを利用して特定サーバとの通信を実行可能である場合に、通信装置の動作モードが第1のモードに代えて第2のモードに設定されてもよい。
【0103】
(変形例5)
図5のS202において、プリンタ10は、GN(EWM)Resを受信しない場合に、GN(EWM)Reqを再び送信してもよい。即ち、プリンタは、複数個のGN(EWM)Reqをサーバ100に送信しても、サーバ100からGN(EWM)Resを受信しない場合に、通信が不安定であると判断してもよい。本変形例では、複数個のGN(EWM)Reqを送信してGN(EWM)Resを受信しないことが、「第2の所定条件」の一例である。別の変形例では、
図5のS202及びS220が省略されてもよい。本変形例では、「所定信号受信部」を省略可能である。
【0104】
(変形例6)「通信装置」は、プリンタでなくてもよく、スキャナ、ファクシミリ、PC、サーバ等の他のデバイスであってもよい。スキャナが「通信装置」の一例である場合には、スキャン実行指示が「対象データ」の一例である。PCが「通信装置」の一例である場合には、例えばインターネット上の情報コンテンツが「対象データ」の一例である。
【0105】
(変形例7)「関連情報」は、Job-IDでなくてもよく、印刷データそのものであってもよい。
【0106】
(変形例8)
図3のS20が省略されてもよい。即ち、S10でYES又はS60でYESの場合に、S40に進んでもよい。別の変形例では、
図3のS40が省略されてもよい。即ち、S20でYESの場合にS30に進み、S20でNOの場合にS50に進んでもよい。一般的に言うと、通信装置がプロキシサーバを利用せずに特定サーバとの通信を実行可能であるのか否かに関する判断は、実施例の手法に限られない。
【0107】
(変形例9)上記の実施例では、プリンタ10のCPU32がプログラム36を実行することによって、
図2~
図9の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0108】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0109】
2:通信システム、6:インターネット、12:表示部、14:無線LANI/F、18:印刷実行部、30:制御部、32:CPU、34:メモリ、36:プログラム、50:携帯端末、60,70A:AP、62,72:LAN、70B:プロキシサーバ、70C:ウェブサーバ、100:印刷仲介サーバ