(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022053863
(43)【公開日】2022-04-06
(54)【発明の名称】端末装置のためのアプリケーションプログラム
(51)【国際特許分類】
H04W 48/18 20090101AFI20220330BHJP
H04W 88/06 20090101ALI20220330BHJP
H04W 88/02 20090101ALI20220330BHJP
【FI】
H04W48/18 113
H04W88/06
H04W88/02 110
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020160728
(22)【出願日】2020-09-25
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】曽根 竜彦
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067EE04
5K067FF23
(57)【要約】 (修正有)
【課題】インターネットを介した通信とインターネットを介さない通信との双方を実行可能な端末装置において、通信コストを少なくするアプリケーションプログラムを提供する。
【解決手段】通信システムにおいて、アプリケーションプログラムは、端末装置のコンピュータを、インターネットを介した第1種の通信(例えばセルラー通信)を利用して、通信装置に関連する関連情報を受信するための第1種の通信処理を繰り返し実行する第1の通信部及びインターネットを介さない第2種の通信(たとえばWi-Fi通信)を利用して、関連情報を受信するための第2種の通信処理を繰り返し実行する第2の通信部として機能させてる。第1種の通信処理を繰り返し実行するための間隔である第1の間隔は、第2種の通信処理を繰り返し実行するための間隔である第2の間隔よりも長くてもよい。
【選択図】
図8
【特許請求の範囲】
【請求項1】
端末装置のためのアプリケーションプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
インターネットを介した第1種の通信を利用して、前記端末装置とは異なる通信装置に関連する関連情報を受信するための第1種の通信処理を繰り返し実行する第1の通信部であって、前記第1種の通信処理は、第1の情報要求を第1の外部装置に送信することを含む、前記第1の通信部と、
前記インターネットを介さない第2種の通信を利用して、前記関連情報を受信するための第2種の通信処理を繰り返し実行する第2の通信部であって、前記第2種の通信処理は、第2の情報要求を第2の外部装置に送信することを含む、前記第2の通信部と、として機能させ、
前記第1種の通信処理を繰り返し実行するための間隔である第1の間隔は、前記第2種の通信処理を繰り返し実行するための間隔である第2の間隔よりも長い、アプリケーションプログラム。
【請求項2】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第1の外部装置又は前記第2の外部装置から前記関連情報が受信される場合に、前記関連情報を示す特定画面を前記端末装置の表示部に表示させる表示制御部として機能させる、請求項1に記載のアプリケーションプログラム。
【請求項3】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記端末装置が前記第2種の通信を実行可能であるのか否かを判断する第1の判断部として機能させ、
前記第1の通信部は、前記第2種の通信を実行不可能であると判断される場合に、前記第1種の通信処理を実行し、
前記第2の通信部は、前記第2種の通信を実行可能であると判断される場合に、前記第2種の通信処理を実行し、
前記第2種の通信を実行可能であると判断される場合に、前記第1種の通信処理は実行されない、請求項1又は2に記載のアプリケーションプログラム。
【請求項4】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第2種の通信を実行可能であると判断される場合に、前記第2の外部装置から前記関連情報が受信されたのか否かを判断する第2の判断部として機能させ、
前記第1の通信部は、前記第2の外部装置から前記関連情報が受信されなかったと判断される場合に、前記第1種の通信処理を実行する、請求項3に記載のアプリケーションプログラム。
【請求項5】
前記第2種の通信処理は、前記第2の情報要求が前記第2の外部装置に送信されてから、前記第2の外部装置から前記関連情報が受信されることなく、所定時間が経過する場合に、前記第2の情報要求を前記第2の外部装置に再び送信することを含み、
前記第2の判断部は、2以上の所定個数の前記第2の情報要求が前記第2の外部装置に送信され、かつ、前記第2の外部装置から前記関連情報が受信されない場合に、前記第2の外部装置から前記関連情報が受信されなかったと判断する、請求項4に記載のアプリケーションプログラム。
【請求項6】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第2の外部装置から前記関連情報が受信されなかったと判断される場合に、前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過しているのか否かを判断する第3の判断部として機能させ、
前記第1の通信部は、前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過していると判断される場合に、前記第1種の通信処理を実行し、
前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過していないと判断される場合に、前記第1種の通信処理は実行されず、
前記第2の通信部は、前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過していないと判断され、かつ、前回の前記第2種の通信処理が実行されてから前記第2の間隔が経過する場合に、前記第2種の通信処理を実行する、請求項4又は5に記載のアプリケーションプログラム。
【請求項7】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第1の外部装置又は前記第2の外部装置から前記関連情報が受信される場合に、前記関連情報が利用された特定画面を前記端末装置の表示部に表示させる表示制御部として機能させ、
前記表示制御部は、
前記第1の外部装置から前記関連情報が受信される場合に、前記第1種の通信処理によって前記関連情報が受信されたことを示す所定情報を含む前記特定画面を前記表示部に表示させ、
前記所定情報を含む前記特定画面が前記表示部に表示されている状態において、前記第2種の通信処理が実行され、かつ、前記第2の外部装置から前記関連情報が受信されなかったと判断される場合に、前記第2種の通信処理が失敗したことを示す情報を前記所定情報に代えて表示することなく、前記所定情報を含む前記特定画面を前記表示部に継続して表示させる、請求項6に記載のアプリケーションプログラム。
【請求項8】
前記第1の通信部は、前記アプリケーションプログラムがフォアグラウンドで動作している場合に、前記第1種の通信処理を実行し、
前記第2の通信部は、前記アプリケーションプログラムが前記フォアグラウンドで動作している場合に、前記第2種の通信処理を実行し、
前記アプリケーションプログラムがバックグラウンドで動作している場合に、前記第1種の通信処理と前記第2種の通信処理とは実行されない、請求項1~7のいずれか一項に記載のアプリケーションプログラム。
【請求項9】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
1個以上の通信装置を識別する1個以上の識別情報を前記端末装置のメモリに記憶させる記憶制御部として機能させ、
前記通信装置は、前記メモリ内の前記1個以上の識別情報の中からユーザによって選択された1個の識別情報によって識別される装置である、請求項1~8のいずれか一項に記載のアプリケーションプログラム。
【請求項10】
前記第1の外部装置は、前記端末装置及び前記通信装置とは異なるサーバであり、
前記第2の外部装置は、前記通信装置である、請求項1~9のいずれか一項に記載のアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書が開示する技術は、インターネットを介した通信とインターネットを介さない通信との双方を実行可能な端末装置に関する。
【背景技術】
【0002】
特許文献1には、3G、4G等の移動体通信回線によってインターネットに接続可能であり、かつ、Wi-Fi等の無線LAN(Local Area Networkの略)通信回線によって外部装置に接続可能なスマートホンが開示されている。このスマートホンでは、複数の通信回線による接続が並行して確立されている場合には、インターネットに接続している通信回線が優先して利用される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
通常、LANを利用した通信は、定額制のサービスによって実現される。そして、そのサービスでは、通信量の上限が設定されないことが多い。一方、3G、4G等のインターネットを利用した通信も定額制のサービスによって実現されるが、そのサービスを提供するキャリアによって毎月の通信量の上限が設定されることが多い。このため、一般的には、3G、4G等のインターネットを利用した通信は、LANを利用した通信と比べて、通信コストが高いと言える。本明細書では、インターネットを介した通信とインターネットを介さない通信との双方を実行可能な端末装置において、通信コストを少なくし得る技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、端末装置のためのアプリケーションプログラムを開示する。アプリケーションプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、インターネットを介した第1種の通信を利用して、前記端末装置とは異なる通信装置に関連する関連情報を受信するための第1種の通信処理を繰り返し実行する第1の通信部であって、前記第1種の通信処理は、第1の情報要求を第1の外部装置に送信することを含む、前記第1の通信部と、前記インターネットを介さない第2種の通信を利用して、前記関連情報を受信するための第2種の通信処理を繰り返し実行する第2の通信部であって、前記第2種の通信処理は、第2の情報要求を第2の外部装置に送信することを含む、前記第2の通信部と、として機能させてもよい。前記第1種の通信処理を繰り返し実行するための間隔である第1の間隔は、前記第2種の通信処理を繰り返し実行するための間隔である第2の間隔よりも長くてもよい。
【0006】
上記の構成によると、インターネットを介した第1種の通信を利用した第1種の通信処理に対応する第1の間隔は、インターネットを介さない第2種の通信を利用した第2種の通信処理に対応する第2の間隔よりも長い。従って、第1の間隔が第2の間隔と同等であるか、又は、第1の間隔が第2の間隔よりも短い構成と比較すると、インターネットを介した第1種の通信の回数が少なくなり得るので、通信コストが少なくなり得る。
【0007】
上記のアプリケーションプログラムを格納するコンピュータ読取可能記録媒体、当該アプリケーションプログラムによって実現される端末装置、及び、当該端末装置によって実行される方法も、新規で有用である。
【図面の簡単な説明】
【0008】
【
図2】通信システム内の各装置の構成を示すブロック図を示す。
【
図5】アプリケーションが実行する処理のフローチャートを示す。
【
図6】リモート情報取得処理のフローチャートを示す。
【
図7】アプリケーションのステータス情報の取得のシーケンス図を示す。
【発明を実施するための形態】
【0009】
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、端末10、2個のプリンタ100,200、及び、サーバ300を備える。端末10及び2個のプリンタ100,200は、LAN(Local Area Networkの略)4に接続されており、LAN4を介して互いに通信可能である。端末10及びサーバ300は、インターネット6に接続されており、インターネット6を介して互いに通信可能である。LAN4は、無線LANであり、インターネット6に接続されている。各装置10,100,200,300は、LAN4及びインターネット6を介して、互いに通信可能である。
【0010】
(端末10の構成;
図2)
端末10は、携帯電話(例えばスマートフォン)、PDA、タブレットPC等の可搬型の端末装置である。変形例では、端末10は、据置型のPC、ノートPC等であってもよい。端末10は、操作部12と、表示部14と、セルラーインターフェース16と、Wi-Fiインターフェース18と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。各部12~30は、バス線(符号省略)に接続されている。
【0011】
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示を端末10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。表示部14は、いわゆるタッチパネルであり、操作部としても機能する。
【0012】
セルラーI/F16は、セルラー方式に従ったセルラー通信を実行するための無線インターフェースである。セルラー方式は、エリアを一定の区画(即ちセル)に分割し、各セルに配置された基地局が利用される無線通信方式である。セルラー方式は、International Telecommunication Unionによって定められる3G、4G、5G等を含む。換言すると、セルラー方式は、移動体通信方式である。セルラーI/F16は、通常、いずれかの基地局に接続されている。セルラーI/F16は、インターネット6に接続されている。従って、端末10は、通常、セルラーI/F16を介して、インターネット6上のデバイス(例えばサーバ300)とのセルラー通信を実行可能である。
【0013】
Wi-FiI/F18は、Wi-Fi規格に従ったWi-Fi通信を実行するための無線インターフェースである。Wi-Fi規格は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に従って、無線通信を実行するための無線通信規格である。Wi-FiI/F18は、LAN4に接続されている。即ち、Wi-FiI/F18は、LAN4を介したWi-Fi通信を実行するためのI/Fである。
【0014】
通常、セルラー通信は、いわゆるキャリアによって提供される定額制のサービスによって実現される。セルラー通信のサービスでは、一定期間(例えば1か月間)における通信量の上限が設定されることが多い。この通信量の上限を超えると、セルラー通信のサービスが制限される、又は、サービスを継続するために追加で課金をする必要がある。一方、Wi-Fi通信は、プロバイダによって提供される定額制のサービスによって実現される。Wi-Fi通信のサービスでは、一定期間における通信量の上限が設定されないことが多い。このため、一般的には、セルラー通信は、Wi-Fi通信と比べて通信コストが高いと言える。
【0015】
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に格納されているプログラム36,38に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成され、OSプログラム36と、アプリケーション38と、を記憶する。以下では、アプリケーションを「アプリ」と記載する。
【0016】
OSプログラム36は、端末10の基本的な動作を制御するためのプログラムである。アプリ38は、プリンタ(例えば100)に関連する情報を取得し、当該情報を表示するためのプログラムである。アプリ38は、例えば、プリンタ100のベンダによって提供されるインターネット6上のサーバ(図示省略)から端末10にインストールされる。
【0017】
アプリ38は、デバイステーブル40を記憶する。デバイステーブル40は、プリンタを識別するための情報であるシリアル番号と、アクセストークンと、プリンタのステータス情報(例えば正常、エラー等)と、を対応付けて記憶するためのテーブルである。アクセストークンは、サーバ300を利用するための認証情報である。
【0018】
(プリンタ100の構成)
プリンタ100は、印刷機能を実行可能な周辺装置(例えば、端末10の周辺装置)であり、シリアル番号SN1を有する。なお、プリンタ100は、印刷機能に加えて、スキャン機能、ファクシミリ機能等を実行可能な多機能機であってもよい。プリンタ100は、操作部112と、表示部114と、LANI/F116と、印刷実行部118と、制御部130と、を備える。各部112~130は、バス線(符号省略)に接続されている。
【0019】
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。LANI/F116は、LAN4(
図1参照)に接続されている。印刷実行部118は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0020】
制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に記憶されているプログラム136に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成される。
【0021】
(プリンタ200の構成)
プリンタ200は、シリアル番号SN2を有する点を除いて、プリンタ100と同様の構成を備える。
【0022】
(サーバ300の構成)
サーバ300は、各プリンタ100,200の情報(例えばステータス情報)を管理するためのサーバである。サーバ300は、各プリンタ100,200のベンダによってインターネット6上に設置される。
【0023】
サーバ300は、各プリンタ100,200とのXMPP(eXtensible Messaging and Presence Protocolの略)セッションを確立する。XMPPセッションは、いわゆる常時接続と呼ばれるセッションである。サーバ300は、XMPPセッションを利用すれば、プリンタから要求を受信しなくても、当該プリンタが所属するLANのファイヤウォール(例えばルータによって形成されるファイヤウォール)を越えて、当該プリンタに要求を送信することができる。即ち、XMPPセッションは、サーバプッシュ型の通信を実行可能なセッションである。
【0024】
サーバ300は、ネットワークI/F316と、制御部330と、を備える。各部316,330は、バス線(符号省略)に接続されている。ネットワークI/F316は、インターネット6(
図1参照)に接続されている。制御部330は、CPU332と、メモリ334と、を備える。CPU332は、メモリ334に記憶されているプログラム336に従って、様々な処理を実行する。メモリ334は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ334は、上記のプログラム336の他に、管理テーブル340を記憶する。
【0025】
管理テーブル340は、シリアル番号と、プリンタを管理するための管理IDと、アクセストークンと、プリンタのステータス情報と、を対応付けて記憶するためのテーブルである。
【0026】
(セットアップ処理;
図3)
図3を参照して、各プリンタ100,200をサーバ300に登録するためのセットアップ処理を説明する。なお、
図3の説明では、各デバイスの各CPU(例えばサーバ300のCPU332等)が実行する処理について、理解の容易さの観点から、各CPUを主体として記載せずに、各デバイス(例えばサーバ300等)を主体として記載する。この点は、後述の
図4及び
図7、8でも同様である。また、以下では、プリンタ100とサーバ300との間では、LAN4とインターネット6を介して、通信が実行される。以下では、特に言及しない限り、「LAN4を介して」及び「インターネット6を介して」という説明を省略する。
【0027】
プリンタ100は、T5において、ユーザから、プリンタ100をサーバ300に登録するためのプリンタ登録操作を受け付けると、T10において、プリンタ100の登録を要求する登録要求をサーバ300に送信する。登録要求は、プリンタ100のシリアル番号SN1を含む。
【0028】
サーバ300は、T10において、プリンタ100から登録要求を受信すると、T12において、管理ID「a01」を生成する。そして、サーバ300は、T14において、T10の登録要求内のシリアル番号SN1と、T12で生成された管理ID「a01」と、を対応づけて管理テーブル340に記憶する。なお、現時点では、アクセストークン及びステータス情報は、シリアル番号SN1に対応づけて管理テーブル340に記憶されていない。
【0029】
続けて、T20では、サーバ300は、PINコードCを生成する。サーバ300は、管理ID「a01」とPINコードCとを対応づけてメモリ334に記憶する。そして、サーバ300は、T22において、PINコードCをプリンタ100に送信する。
【0030】
プリンタ100は、T22において、サーバ300からPINコードCを受信すると、T30において、XMPPセッションの確立を要求する確立要求をサーバ300に送信する。確立要求は、シリアル番号SN1とPINコードCとを含む。
【0031】
サーバ300は、T30において、プリンタ100から確立要求を受信すると、T32において、確立要求内のPINコードCの認証を実行する。本ケースでは、確立要求内のPINコードCがメモリ334内のPINコードCと一致するので、PINコードCの認証が成功する。そして、サーバ300は、T34以降の処理を実行する。仮に、PINコードの認証が失敗する場合、サーバ300は、T34以降の処理を実行しない。
【0032】
T34では、サーバ300は、アクセストークンAT1を生成する。サーバ300は、メモリ334から、PINコードCに対応づけて記憶されている管理ID「a01」を特定する。次いで、サーバ300は、特定済みの管理ID「a01」に対応づけて、生成済みのアクセストークンAT1を管理テーブル340に記憶する。そして、T40では、サーバ300は、アクセストークンAT1をプリンタ100に送信する。
【0033】
プリンタ100は、T40において、サーバ300からアクセストークンAT1を受信すると、当該アクセストークンAT1を記憶する。そして、プリンタ100は、T50において、アクセストークンAT1を利用して、サーバ300とのXMPPセッションを確立する。
【0034】
また、プリンタ100は、サーバ300とのXMPPセッションが確立すると、T52において、プリンタ100の現在のステータスを示すステータス信号をサーバ300に送信する。本ケースでは、ステータス信号は、プリンタ100のシリアル番号SN1と、プリンタの現在のステータスが正常であることを示すステータス情報と、を含む。
【0035】
サーバ300は、T52において、プリンタ100からステータス信号を受信すると、T54において、ステータス信号に含まれるシリアル番号SN1に対応づけて、ステータス信号に含まれるステータス情報「正常」を管理テーブル340に記憶する。
【0036】
T60において、プリンタ100において紙ジャムが発生する。この場合、プリンタ100は、T62において、紙ジャムが発生したことを示すステータス情報を含むステータス信号をサーバ300に送信する。
【0037】
サーバ300は、T62において、プリンタ100からステータス信号を受信すると、T64において、ステータス信号に含まれるシリアル番号SN1に対応づけて、ステータス信号に含まれるステータス情報「紙ジャム」を管理テーブル340に記憶する。このように、プリンタ100は、プリンタ100にステータス変化が生じる毎に、プリンタ100の現在のステータスを示すステータス信号をサーバ300に送信する。変形例では、プリンタ100は、予め設定されている所定時刻が到来する毎に、ステータス信号をサーバ300に送信してもよい。
【0038】
その後、T5~T54と同様の処理が、プリンタ200とサーバ300との間で実行される。この結果、プリンタ200は、アクセストークンAT2を記憶する。また、サーバ300は、プリンタ200のシリアル番号SN2と、管理ID「a02」と、アクセストークンAT2と、ステータス情報と、を対応づけて管理テーブル340に記憶する。
【0039】
(
図3の続き;
図4)
端末10は、
図4のT100において、ユーザからアプリ起動操作を受け付けると、T102において、アプリ38を起動する。
【0040】
端末10は、T110において、ユーザからデバイス登録操作を受け付けると、T112において、プリンタを検索するための検索信号をブロードキャストによってLAN4に送信する。
【0041】
プリンタ100は、T112において、端末10から検索信号を受信すると、T114において、検索応答を端末10に送信する。検索応答は、プリンタ100のシリアル番号SN1と、プリンタ100のアクセストークンAT1と、を含む。
【0042】
プリンタ200は、T112において、端末10から検索信号を受信すると、T116において、検索応答を端末10に送信する。検索応答は、プリンタ200のシリアル番号SN2と、プリンタ200のアクセストークンAT2と、を含む。T112~T116の通信は、インターネット4が利用された通信ではなく、LAN4のみが利用された通信である。
【0043】
端末10は、T114及びT116において、各プリンタ100,200から検索応答を受信すると、T120において、検索結果画面SC1を表示部14に表示する。検索結果画面SC1は、アプリ38に登録すべきデバイスを選択することを促すメッセージと、受信済みの各シリアル番号SN1,SN2と、OKボタンと、を含む。
【0044】
端末10は、T122において、ユーザから、シリアル番号SN1及びSN2の双方の選択を受け付けた後に、OKボタンの選択を受け付ける。この結果、T130において、端末10は、シリアル番号SN1とアクセストークンAT1とを対応づけてデバイステーブル40に記憶すると共に、シリアル番号SN2とアクセストークンAT2とを対応づけてデバイステーブル40に記憶する。
【0045】
端末10は、T132において、ユーザから、選択画面SC2を表示させるための操作を受け付けると、T134において、選択画面SC2を表示部14に表示させる。選択画面SC2は、登録済みの複数のシリアル番号の中から1つのシリアル番号を選択させるための画面であり、登録済みのシリアル番号SN1及びSN2と、OKボタンと、を含む。
【0046】
端末10は、T136において、ユーザから、選択画面SC2内の1個のシリアル番号の選択を受け付けた後に、OKボタンの選択を受け付ける。本ケースでは、シリアル番号SN1が選択される。このように、ユーザは、アプリ38に記憶されている1個以上のプリンタの中から所望のプリンタを指定することによって、当該プリンタのステータス情報を確認することができる。
【0047】
端末10は、T138において、ステータス画面SC3を表示部14に表示させる。ステータス画面SC3は、シリアル番号SN1に対応づけてデバイステーブル40に記憶されているステータス情報を含む。ただし、現段階では、シリアル番号SN1に対応付けてステータス情報がまだ記憶されていないため、シリアル番号SN1のみを含むステータス画面SC3が表示される。
【0048】
その後、端末10は、T140において、ユーザから、アプリ38を停止するための操作を受け付けると、T142において、アプリ38を停止する。
【0049】
(アプリケーション38の処理;
図5)
続いて、
図5を参照して、端末10のCPU32がアプリケーション38を実行することによって実現される処理を説明する。以下では、
図5の処理を説明する際に、CPU32ではなくアプリ38を主体として記載する。
図5の処理は、アプリ38がフォアグラウンドで起動される場合に開始される。このように、アプリ38は、アプリ38がフォアグラウンドで起動される場合に
図5の処理を実行し、アプリ38が起動されてない場合、又は、アプリ38がバックグラウンドで起動されている場合には、
図5の処理を実行しない。アプリ38がバックグラウンドで起動されている場合に
図5の処理を実行しない理由は、
図5の処理によって取得される情報を表示することができないからである。アプリ38がバックグラウンドで起動されている場合に
図5の処理を実行しないので、端末10の処理負荷を軽減させることができる。
【0050】
S10において、アプリ38は、ステータス画面を表示部14に表示させる。ステータス画面は、アプリ38に登録されている各プリンタ(
図4のT130参照)のうち、ユーザによって選択された1個のプリンタのステータス情報を含む(
図4のステータス画面SC3参照)。以下では、ユーザによって選択された1個のプリンタのことを「対象プリンタ」と記載する。当該ステータス画面は、対象プリンタのシリアル番号(以下では「対象シリアル番号」と記載する)と、対象プリンタのステータスを示す情報と、対象プリンタの通信環境を示す情報と、を含む。
【0051】
S12では、アプリ38は、現在時刻を取得し、取得済みの現在時刻を時刻T1として記憶する。
【0052】
S14では、アプリ38は、端末10がWi-FiI/F18を介したWi-Fi通信を確立中であるのか否かを判断する。具体的には、アプリ38は、Wi-Fi通信を確立中であるのか否かをOSプログラム36に問い合わせる。アプリ38は、OSプログラム36からWi-Fi通信を確立中であることを示す情報を取得する場合に、Wi-Fi通信を確立中であると判断し(S14でYES)、S16に進む。一方、アプリ38は、OSプログラム36からWi-Fi通信を確立中でないことを示す情報を取得する場合に、Wi-Fi通信を確立中でないと判断し(S14でNO)、S40に進む。
【0053】
S16では、アプリ38は、Wi-FiI/F18を介して、ポーリングを対象プリンタに送信する。ポーリングは、対象シリアル番号を含む。なお、アプリ38は、ポーリングの送信回数を記憶し、ポーリングが送信される毎に送信回数を1だけインクリメントする。
【0054】
S18では、アプリ38は、Wi-FiI/F18を介して、対象プリンタから対象プリンタの情報を受信したのか否かを判断する。以下では、対象プリンタの情報のことを「プリンタ情報」と記載する。プリンタ情報は、対象シリアル番号と、対象プリンタの現在のステータスを示すステータス情報(例えば正常、エラー等)と、を含む。アプリ38は、対象プリンタからプリンタ情報を受信する場合に、S18でYESと判断し、S30に進む。この場合、ポーリングの送信回数の値はリセット(即ち0に設定)される。一方、アプリ38は、対象プリンタからプリンタ情報を受信していないと判断する場合に、S18でNOと判断し、S20に進む。
【0055】
S20では、アプリ38は、S16でポーリングを送信してから1秒経過することを監視する。アプリ38は、1秒経過する場合に、S20でYESと判断し、S22に進む。
【0056】
S22では、アプリ38は、ポーリングを3回送信したのか否かを判断する。具体的には、アプリ38は、記憶済みの送信回数(S16参照)が3であるのか否かを判断する。アプリ38は、送信回数が3である場合に、S22でYESと判断し、S40に進む。この場合、ポーリングの送信回数の値はリセット(即ち0に設定)される。一方、アプリ38は、送信回数が3未満である場合に、S22でNOと判断し、S16に戻る。
【0057】
S30では、アプリ38は、ローカル接続がオンラインであると判定する。ここで、ローカル接続とは、Wi-FiI/F18を介したLAN4内の接続(即ちインターネット6を介さない接続)を意味する。ローカル接続がオンラインであるとは、アプリ38が、Wi-FiI/F18を介して、対象プリンタからプリンタ情報を取得可能であることを意味する。S30の処理が終了すると、S32に進む。
【0058】
S40では、アプリ38は、ローカル接続がオフラインであると判定する。ローカル接続がオフラインであるとは、アプリ38が、Wi-FiI/F18を介して、対象プリンタからプリンタ情報を取得不可能であることを意味する。
【0059】
S42では、アプリ38は、デバイステーブル40において、対象シリアル番号に対応づけてアクセストークンが記憶されているのか否かを判断する。アプリ38は、対象シリアル番号に対応づけてアクセストークンが記憶されている場合に、S42でYESと判断して、S60に進む。一方、アプリ38は、対象シリアル番号に対応づけてアクセストークンが記憶されていない場合に、S42でNOと判断して、S50に進む。
【0060】
S50では、アプリ38は、リモート接続がオフラインであると判定する。リモート接続とは、セルラーI/F16を介した接続(即ちインターネット6を介した接続)を意味する。リモート接続がオフラインであるとは、アプリ38が、セルラーI/F16を介して、サーバ300からプリンタ情報を取得不可能であることを意味する。
図6の説明で後述するように、アプリ38は、Wi-FiI/F18を介して、対象プリンタからプリンタ情報を取得できない場合に、セルラーI/F16を介して、サーバ300からプリンタ情報を取得することを試みる。この際に、アプリ38は、アクセストークンを利用して、サーバ300からプリンタ情報を取得する。即ち、アプリ38は、対象シリアル番号に対応づけてアクセストークンを記憶していなければ、サーバ300からプリンタ情報を取得することができない。従って、アプリ38は、S50において、リモート接続がオフラインであると判定する。S50の処理が終了すると、S32に進む。
【0061】
S60では、アプリ38は、リモート情報取得処理を実行する。リモート情報取得処理は、セルラーI/F16を介して、サーバ300からプリンタ情報を取得する処理である。S60が終了すると、S36に進む。
【0062】
S32では、アプリ38は、デバイステーブル40において、対象シリアル番号に対応付けられているステータスを更新(即ち上書き記憶)する。S18でYESを経たS32では、S18で受信済みのプリンタ情報と、S30におけるローカルオンライン判定と、を利用して、ステータスを更新する。S18でNOを経たS32(即ちS50の後に実行されるS32)では、S40におけるローカルオフライン判定と、S50におけるリモートオフライン判定と、を利用して、ステータスを更新する。
【0063】
S34では、アプリ38は、S32で更新されたステータスを利用して、ステータス画面を更新する。このために、ユーザは、端末10を見ることによって、対象プリンタのステータス情報を確認することができる。
【0064】
S36では、アプリ38は、現在時刻を取得し、取得済みの現在時刻を時刻T2として記憶する。
【0065】
S38では、アプリ38は、現時点から(5-(時刻T2(S36参照)-時刻T1(S12参照)))秒経過することを監視する。具体的には、アプリ38は、タイマーをスタートさせ、タイマーの値が(5-(T2-T1))秒になると、S38でYESと判断し、S12に戻る。ここで、(T2-T1)は、S12~S36及びS40~S60の一連の処理の実行に要する時間を意味する。従って、(5-(T2-T1))秒経過するということは、時刻T1(即ちS12)から5秒経過することを意味する。即ち、アプリ38がフォアグラウンドで動作している状況では、S12~S38及びS40~S60の処理が5秒毎に繰り返し実行される。
【0066】
(リモート情報取得処理;
図6)
続いて、
図6を参照して、
図5のS60のリモート情報取得処理を説明する。S100では、アプリ38は、現在時刻を取得し、取得済みの現在時刻を時刻T_NOWとして記憶する。
【0067】
S102では、アプリ38は、(時刻T_NOW(S100参照)-時刻T_RE(後述のS116参照))が90秒よりも大きいのか否かを判断する。時刻T_REは、前回のS102~S120の一連の処理が終了した時刻である。アプリ38は、(T_NOW-T_RE)が90秒よりも大きい場合に、S102でYESと判断しS104に進む。一方、アプリ38は、(T_NOW-T_RE)が90秒以下である場合に、S102でNOと判断し、S104以降の処理を実行することなく
図6の処理を終了する。このように、アプリ38は、90秒毎にS102~S120の一連の処理を実行する。このために、アプリ38は、前回の処理から90秒が経過していない状況では、ポーリング(S106参照)をサーバ300に送信しない。従って、セルラー通信の回数が比較的に少なくなるので、通信コストが少なくて済む。なお、S102の段階で時刻T_REが記憶されていない状況(即ち、アプリ38がフォアグラウンドで起動された後に
図6の処理が実行されていない状況)では、アプリ38は、S102でYESと判断する。
【0068】
S104では、アプリ38は、端末10がセルラーI/F16を介したセルラー通信を基地局と確立中であるのか否かを判断する。具体的には、アプリ38は、端末10がセルラー通信を確立中であるのか否かをOSプログラム36に問い合わせる。アプリ38は、OSプログラム36から、セルラー通信が確立中であることを示す情報を取得する場合に、セルラー通信を確立中であると判断し(S104でYES)、S106に進む。一方、アプリ38は、OSプログラム36から、セルラー通信を確立中でないことを示す情報を取得する場合に、セルラー通信を確立中でないと判断し(S104でNO)、S120に進む。
【0069】
S106では、アプリ38は、セルラーI/F16を介して、ポーリングをサーバ100に送信する。ポーリングは、対象シリアル番号と、対象シリアル番号に対応づけて記憶されているアクセストークンと、を含む。
【0070】
S108では、アプリ38は、サーバ300からプリンタ情報を受信したのか否かを判定する。アプリ38は、サーバ300からプリンタ情報を受信する場合に、S108でYESと判断し、S110に進む。一方、アプリ38は、サーバ100からプリンタ情報を受信していないと判断する場合に、S108でNOと判断し、S120に進む。
【0071】
S110では、アプリ38は、リモート接続がオンラインであると判定する。リモート接続がオンラインであるとは、アプリ38が、セルラーI/F16を介して、サーバ300からプリンタ情報を取得可能であることを意味する。
【0072】
S120では、アプリ38は、リモート接続がオフラインであると判定する。S120の処理が終了すると、S112に進む。
【0073】
S112では、アプリ38は、デバイステーブル40において、対象シリアル番号に対応付けられているステータスを更新(即ち上書き記憶)する。S108でYESを経たS122では、S108で受信済みのプリンタ情報と、S110におけるリモートオンライン判定と、を利用して、ステータスを更新する。また、S108でNOを経たS112(即ちS120の後に実行されるS112)では、
図5のS40におけるローカルオフライン判定と、S120におけるリモートオフライン判定と、を利用して、ステータスを更新する。
【0074】
S114では、アプリ38は、S112で更新されたステータスを利用して、ステータス画面を更新する。
【0075】
S116では、アプリ38は、現在時刻を取得し、取得済みの現在時刻を時刻T_REとして記憶する。S116の処理が終了したら、
図6の処理が終了する。
【0076】
以上のように、アプリ38は、Wi-FiI/F18を介して、対象プリンタからプリンタ情報を取得するための処理(
図5のS12~S22)を5秒毎に実行すると共に、セルラーI/F16を介して、サーバ300からプリンタ情報を取得するための処理(
図6のS104~S108)を90秒毎に実行する。従って、Wi-Fi通信の回数と比べてセルラー通信の回数が少なくなるので、通信コストが少なくて済む。
【0077】
また、Wi-FiI/F18を介して、対象プリンタからプリンタ情報を取得するための処理では、アプリ38は、最大で3回のポーリングを1秒ごとに対象プリンタに送信する(S20、S22)。一時的に通信が不安定であることに起因して、1回又は2回のポーリングによって対象プリンタからプリンタ情報を取得することができない状況が起こり得る。アプリ38は、このような状況において、再度のポーリングを対象プリンタに送信することによって、対象プリンタからプリンタ情報を適切に取得することができる。
【0078】
(具体的なケース;
図7及び
図8)
続いて、
図5及び
図6の処理によって実現される具体的なケースを説明する。
図7の初期状態は、アプリ38にシリアル番号SN1及びSN2が登録され(
図4のT130参照)、かつ、ユーザによってシリアル番号SN1が選択された状態(T136参照)である。即ち、
図7は、
図4の続きの処理である。また、
図7の初期状態では、端末10は、Wi-Fi通信を確立中である。
図7の細線矢印は、端末10のWi-FiI/F18を介した通信を意味し、太線矢印は、端末10のセルラーI/F16を介した通信を意味する。
【0079】
T200及びT202の処理は、それぞれ、
図4のT100及びT102の処理と同様である。また、T204の処理は、
図4のT138の処理と同様である。T206では、端末10は、端末10がWi-Fi通信を確立中であるので(
図5のS14でYES)、Wi-FiI/F18を介して、ポーリングをプリンタ100に送信する(S16)。ポーリングは、プリンタ100のシリアル番号SN1を含む。
【0080】
プリンタ100は、T206において、端末10からポーリングを受信すると、T208において、プリンタ100の現在のステータスを示すステータス情報を含むプリンタ情報を端末10に送信する。T208の時点では、プリンタ100において紙ジャムが発生しているため、ステータス情報は「紙ジャム」を示す。
【0081】
端末10は、T208において、プリンタ100からプリンタ情報を受信すると(S18でYES)、ローカル接続がオンラインであると判定し(
図5のS30)、T210において、シリアル番号SN1に対応づけてデバイステーブル40に記憶されているステータス情報を更新する(S32)。具体的には、端末10は、デバイステーブル40において、シリアル番号SN1に対応付けて、ステータス情報「紙ジャム」を記憶する。
【0082】
端末10は、T212において、T210で更新済みのステータス情報を利用して、ステータス画面SC3を更新する(S34)。特に、T212で更新されるステータス画面SC3は、紙ジャムが発生していることを示す情報と、ローカル接続がオンラインであることを示すマークM1と、を含む。ユーザは、当該ステータス画面SC3を見ることによって、プリンタ100において紙ジャムが発生していることを知ることができる。このために、ユーザは、紙ジャムを解消するためのメンテナンスをプリンタ100に実行することができる。また、ユーザは、プリンタ100のローカル接続がオンラインであること(即ち、Wi-Fi通信を利用してステータス情報を取得していること)を知ることができる。
【0083】
プリンタ100は、T220において、ユーザのメンテナンスによって紙ジャムが解消すると、T222において、紙ジャムが解消したことを示す情報を含むステータス信号をサーバ300に送信する。
【0084】
サーバ300は、T222において、プリンタ100からステータス信号を受信すると、T224において、状態信号に含まれるシリアル番号SN1に対応付けて、ステータス情報「正常」を管理テーブル340に記憶する。
【0085】
その後、T206でポーリングが送信されてから5秒経過すると、端末10は、T230において、Wi-FiI/F18を介して、ポーリングをプリンタ100に再度送信する(S16)。この際、プリンタ100におけるWi-Fi通信が不安定であることに起因して、プリンタ100は、端末10からポーリングを受信しない。具体的には、端末10は、プリンタ100にポーリングを送信してから、プリンタ100からプリンタ情報を受信することなく1秒経過すると(S18でNO、S20でNO、S22でNO)、ポーリングをプリンタ100に再度送信する(S16)。同様に、端末10は、2回目及び3回目のポーリングをプリンタ100に送信しても、プリンタ100からプリンタ情報を受信しない(S22でYES)。
【0086】
端末10は、デバイステーブル40において、プリンタ100のシリアル番号SN1に対応付けて、アクセストークンAT1を記憶済みであるので(S42でYES)、基地局とのセルラー通信を確立する。この場合、端末10は、時刻T_REを記憶しておらず(
図6のS102でYES)、かつ、セルラー通信を基地局と確立済みであるので(S104でYES)、T232において、セルラーI/F16を介して、ポーリングをサーバ300に送信する(S106)。ポーリングは、プリンタ100のシリアル番号SN1と、シリアル番号SN1に対応付けられているアクセストークンAT1と、を含む。
【0087】
サーバ300は、T232において、端末10からポーリングを受信すると、T234において、プリンタ100の現在のステータスを示すステータス情報を含むプリンタ情報を端末10に送信する。T234の時点では、プリンタ100の紙ジャムは解消しているので(T222参照)、ステータス情報は「正常」を示す。
【0088】
端末10は、T234において、サーバ300からプリンタ情報を受信すると、リモート接続がオンラインであると判定し(S110)、T236において、シリアル番号SN1に対応づけてデバイステーブル40に記憶されているステータス情報を更新する(S112)。具体的には、端末10は、デバイステーブル40において、シリアル番号SN1に対応付けて、ステータス情報「正常」を記憶する。
【0089】
端末10は、T238において、T236で更新済みのステータス情報を利用して、ステータス画面SC3を更新する(S114)。特に、T238で更新されるステータス画面SC3は、プリンタ100が正常に動作していることを示す情報と、リモート接続がオンラインであることを示すマークM2と、を含む。ユーザは、当該ステータス画面SC3を見ることによって、プリンタ100において紙ジャムが解消したことを知ることができる。また、ユーザは、プリンタ100のリモート接続がオンラインであること(即ち、セルラー通信を利用してステータス情報を取得していること)を知ることができる。
【0090】
(
図7の続き;
図8)
その後、端末10は、現在時刻を時刻T_REとして記憶し(S116)、Wi-Fi通信を確立する。このとき、端末10はWi-Fi通信を確立するが、プリンタ100におけるWi-Fi通信は不安定である状態である。
図7のT230で1回目のポーリングが送信されてから5秒経過すると、端末10は、
図8のT240において、Wi-FiI/F18を介して、ポーリングをプリンタ100に送信する(S16)。T240の処理は、T230の処理と同様である。この場合、端末10は、(T_NOW-T_RE)が90秒以下であるので(S102でNO)、ポーリングをサーバ300に送信せず、ステータス情報及びステータス画面を更新しない。このように、アプリ38は、ポーリングをサーバ300に送信してから90秒経過していない状況では、ポーリングをサーバ300に再度送信しない。この場合、アプリ38は、プリンタ100の最新のステータス情報を取得できないが、最新のステータス情報が取得できないことを示す情報を表示することなく、サーバ300から前回受信されたステータス情報が利用されたステータス画面SC3の表示を維持する。このために、アプリ38は、最新のステータス情報を取得できない場合であっても、前回取得されたステータス情報を利用してステータス画面SC3を継続的に表示することができる。
【0091】
その後、T232でポーリングがサーバ300に送信されてから90秒経過した後に、端末10は、T250において、Wi-FiI/F18を介して、ポーリングをプリンタ100に送信する(S16)。T250の処理は、T230の処理と同様である。
【0092】
この場合、端末10は、(T_NOW-T_RE)が90秒よりも大きくなったので(S102でYES)、T252において、セルラーI/F16を介して、ポーリングをサーバ300に送信する。T252~T258の処理は、
図7のT232~T238の処理と同様である。
【0093】
その後、T250で1回目のポーリングが送信されてから5秒経過すると、端末10は、T260において、Wi-FiI/F18を介して、ポーリングをプリンタ100に送信する(S16)。
【0094】
この際、プリンタ100のWi-Fi通信が安定していることに起因して、プリンタ100は、T260において、端末10からポーリングを受信すると、T262において、ステータス情報を含むプリンタ情報を端末10に送信する。T260~T266の処理は、
図7のT206~T212の処理と同様である。
【0095】
(本実施例の効果)
以上の構成によると、インターネット6を介したセルラー通信を利用した
図6のS106及びS108の処理は90秒毎に実行され、インターネット6を介さないWi-Fi通信を利用した
図5のS16~S22の処理は5秒毎に実行される。即ち、セルラー通信を利用した
図6のS106及びS108の処理に対応する間隔は、Wi-Fi通信を利用した
図5のS16~S22の処理に対応する間隔よりも長い。従って、インターネット6を介したセルラー通信の回数が少なくなるので、通信コストが少なくなる。
【0096】
特に、本実施例では、アプリ38は、インターネット6を介したセルラー通信を利用したステータス情報の取得よりも、インターネット6を介さないWi-Fi通信を利用したステータス情報の取得を優先して実行する(
図5のS14でYES、かつ、S18でYESの場合、S60の処理を実行しない)。このために、インターネット6を介したセルラー通信の回数が少なくなるので、通信コストが少なくなる。
【0097】
(対応関係)
端末10、プリンタ100が、それぞれ、「端末装置」、「通信装置」の一例である。サーバ300、プリンタ100が、それぞれ、「第1の外部装置」、「第2の外部装置」の一例である。シリアル番号が、「識別情報」の一例である。セルラー通信、Wi-Fi通信が、それぞれ、「第1種の通信」、「第2種の通信」の一例である。
図6のS106でサーバ300に送信されるポーリング、
図5のS16でプリンタ100に送信されるポーリングが、それぞれ、「第1の情報要求」、「第2の情報要求」の一例である。
図6のS106及びS108の処理が、「第1種の通信処理」の一例である。
図5のS16~S22の処理が、「第2種の通信処理」の一例である。ステータス情報が、「関連情報」の一例である。90秒、5秒が、それぞれ、「第1の間隔」、「第2の間隔」の一例である。1秒、「3」が、それぞれ、「所定時間」、「所定個数」の一例である。ステータス画面SC3が、「特定画面」の一例である。
図7のT238で表示されるステータス画面SC3に表示されるリモート接続がオンラインであることを示すマークM2が、「所定情報」の一例である。
【0098】
図6のS106及びS108の処理が、「第1の通信部」によって実行される処理の一例である。
図5にS16~S22の処理が、「第2の通信部」によって実行される処理の一例である。
図5のS34及び
図6のS114の処理が、「表示制御部」によって実行される処理の一例である。
図5のS14の処理、
図5のS18~S22の処理、
図6のS102の処理が、それぞれ、「第1の判断部」、「第2の判断部」、「第3の判断部」によって実行される処理の一例である。
図4のT130の処理が、「記憶制御部」によって実行される処理の一例である。
【0099】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0100】
(変形例1)上記の実施例では、端末10は、セルラーI/F16を利用してインターネット6を介したセルラー通信をサーバ300と実行し、Wi-FiI/F18を利用してインターネット6を介さないWi-Fi通信をプリンタ100と実行した。しかしながら、端末10はセルラーI/F16を備えなくてもよく、Wi-FiI/F18のみを備えてもよい。本変形例では、Wi-FiI/F18を利用して、インターネット6を介した通信と、インターネット6を介さない通信と、の双方を実行してもよい。また、別の変形例では、端末10は、Wi-FiI/F18に代えて、Bluetooth(登録商標)方式に従ったBluetooth通信を実行するためのBluetoothI/Fを備えてもよい。本変形例では、Bluetooth通信が、「第2種の通信」の一例である。また、別の変形例では、端末10は、Wi-FiI/F18に代えて、LAN4に接続するためのLANI/Fを備えてもよい。この場合、LAN4は、無線LANであってもよいし、有線LANであってもよい。本変形例では、LAN4を介した通信が、「第2種の通信」の一例である。
【0101】
(変形例2)アプリ38がプリンタ100又はサーバ300から受信するプリンタ情報に含まれるステータス情報は、上記の実施例の「正常」及び「紙ジャム」に限定されず、例えば、インク残量が少なくなったことを示すステータス情報「インク残量Low」等であってもよい。また、プリンタ情報に含まれる情報は、プリンタ100のステータス情報に限定されず、例えば、サブスクリプションサービスへの加入状況、セキュリティのロック状態等、プリンタ100に関連する情報であればどのような情報であってもよい。本変形例では、上記のプリンタ100に関連する情報が、「関連情報」の一例である。
【0102】
(変形例3)セルラーI/F16を介して、サーバ300からプリンタ100のステータス情報を取得するための処理を実行するための間隔は、上記の実施例の90秒に限定されず、90秒未満であってもよいし、90秒以上であってもよい。また、Wi-FiI/F18を介して、プリンタ100からステータス情報を取得するための処理を実行するための間隔は、上記の実施例の5秒に限定されず、5秒未満であってもよいし、5秒以上であってもよい。LANI/F16を介して、サーバ300からプリンタ100のステータス情報を取得するための処理を実行するための間隔が、Wi-FiI/F18を介して、プリンタ100からステータス情報を取得するための処理を実行するための間隔よりも長ければよい。
【0103】
(変形例4)アプリ38は、プリンタ100又はサーバ300からプリンタ情報を受信する場合に、ステータス画面を更新しなくてもよい。本変形例では、
図5のS34の処理、及び、
図6のS114の処理を省略可能である。本変形例では、例えば、ステータス画面の表示を指示するための操作がユーザによって実行される場合に、ステータス画面を表示してもよい。一般的に言うと、「表示制御部」を省略可能である。
【0104】
(変形例5)上記の実施例では、アプリ38は、インターネット6を介したセルラー通信を利用したステータス情報の取得よりも、インターネット6を介さないWi-Fi通信を利用したステータス情報の取得を優先して実行した。変形例では、アプリ38は、インターネット6を介さないWi-Fi通信を利用したステータス情報の取得よりも、インターネット6を介したセルラー通信を利用したステータス情報の取得を優先して実行してもよい。本変形例では、「第1の判断部」及び「第2の判断部」を省略可能である。
【0105】
(変形例6)上記の実施例では、アプリ38は、プリンタ100にポーリングを送信してから1秒経過してもプリンタ100からステータス情報を受信しない場合に、プリンタ100にポーリングを再び送信した(
図5のS20)。また、アプリ38は、プリンタ100からステータス情報を取得するための処理毎に、最大3回のポーリングをプリンタに送信した(S22)。上記の実施例の閾値秒数「1秒」は、1秒未満であってもよいし、1秒以上であってもよい。また、閾値回数「3回」は、3回未満であってもよいし、3回以上であってもよい。一般的に言うと、「所定時間」及び「所定個数」は、上記の実施例の形態に限定されない。
【0106】
(変形例7)端末10は、
図8のT240でプリンタ100にポーリングを送信した後、プリンタ100からプリンタ情報を取得しない場合、ステータス情報が取得できなかったことを示す情報を含むステータス画面を表示してもよい。
【0107】
(変形例8)アプリ38は、アプリ38がバックグラウンドで起動されている間に、
図5及び
図6の処理を実行してもよい。
【0108】
(変形例9)上記の実施例では、アプリ38は、アプリ38のデバイステーブル40に登録されている1個以上のプリンタのうち、ユーザによって選択された1つのプリンタに対して、
図5及び
図6の処理を実行した。変形例では、アプリ38は、アプリ38のデバイステーブル40に登録されている1個以上のプリンタのそれぞれについて、
図5及び
図6の処理を並行して実行してもよい。
【0109】
(変形例10)プリンタ100がインターネット6に接続されている場合に、アプリ38は、セルラー通信を利用して、インターネット6を介して、ポーリングをプリンタ100に送信してもよい。本変形例では、プリンタ100が、「第1の外部装置」の一例である。また、サーバ300がLAN4内に設置されている場合に、アプリ38は、Wi-Fi通信を利用して、インターネット6を介さずに、ポーリングをサーバ300に送信してもよい。本変形例では、サーバ300が、「第2の外部装置」の一例である。
【0110】
(変形例11)上記の実施例では、
図2~
図8の各処理がソフトウェア(例えばアプリ38)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
【0111】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0112】
2:通信システム、4:LAN、6:インターネット、10:端末、12,112:操作部、14,114:表示部、16:セルラーI/F、18:Wi-FiI/F、30,130,330:制御部、32,132,332:CPU、34,134,334:メモリ、36:OSプログラム36、38:アプリケーション、40:デバイステーブル、100,200:プリンタ、116:LANI/F、118:印刷実行部、136,336:プログラム、300:サーバ、316:ネットワークI/F、340:管理テーブル
【手続補正書】
【提出日】2021-09-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
端末装置のためのアプリケーションプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
インターネットを介した第1種の通信を利用して、前記端末装置とは異なる通信装置に関連する関連情報を受信するための第1種の通信処理を繰り返し実行する第1の通信部であって、前記第1種の通信処理は、第1の情報要求を第1の外部装置に送信することを含む、前記第1の通信部と、
前記インターネットを介さない第2種の通信を利用して、前記関連情報を受信するための第2種の通信処理を繰り返し実行する第2の通信部であって、前記第2種の通信処理は、第2の情報要求を第2の外部装置に送信することを含む、前記第2の通信部と、として機能させ、
前記第1種の通信処理を繰り返し実行するための間隔である第1の間隔は、前記第2種の通信処理を繰り返し実行するための間隔である第2の間隔よりも長い、アプリケーションプログラム。
【請求項2】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第1の外部装置又は前記第2の外部装置から前記関連情報が受信される場合に、前記関連情報を示す特定画面を前記端末装置の表示部に表示させる表示制御部として機能させる、請求項1に記載のアプリケーションプログラム。
【請求項3】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記端末装置が前記第2種の通信を実行可能であるのか否かを判断する第1の判断部として機能させ、
前記第1の通信部は、前記第2種の通信を実行不可能であると判断される場合に、前記第1種の通信処理を実行し、
前記第2の通信部は、前記第2種の通信を実行可能であると判断される場合に、前記第2種の通信処理を実行し、
前記第2種の通信を実行可能であると判断される場合に、前記第1種の通信処理は実行されない、請求項1又は2に記載のアプリケーションプログラム。
【請求項4】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第2種の通信を実行可能であると判断される場合に、前記第2の外部装置から前記関連情報が受信されたのか否かを判断する第2の判断部として機能させ、
前記第1の通信部は、前記第2の外部装置から前記関連情報が受信されなかったと判断される場合に、前記第1種の通信処理を実行する、請求項3に記載のアプリケーションプログラム。
【請求項5】
前記第2種の通信処理は、前記第2の情報要求が前記第2の外部装置に送信されてから、前記第2の外部装置から前記関連情報が受信されることなく、所定時間が経過する場合に、前記第2の情報要求を前記第2の外部装置に再び送信することを含み、
前記第2の判断部は、2以上の所定個数の前記第2の情報要求が前記第2の外部装置に送信され、かつ、前記第2の外部装置から前記関連情報が受信されない場合に、前記第2の外部装置から前記関連情報が受信されなかったと判断する、請求項4に記載のアプリケーションプログラム。
【請求項6】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第2の外部装置から前記関連情報が受信されなかったと判断される場合に、前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過しているのか否かを判断する第3の判断部として機能させ、
前記第1の通信部は、前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過していると判断される場合に、前記第1種の通信処理を実行し、
前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過していないと判断される場合に、前記第1種の通信処理は実行されず、
前記第2の通信部は、前回の前記第1種の通信処理が実行されてから前記第1の間隔が経過していないと判断され、かつ、前回の前記第2種の通信処理が実行されてから前記第2の間隔が経過する場合に、前記第2種の通信処理を実行する、請求項4又は5に記載のアプリケーションプログラム。
【請求項7】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
前記第1の外部装置又は前記第2の外部装置から前記関連情報が受信される場合に、前記関連情報を示す特定画面を前記端末装置の表示部に表示させる表示制御部として機能させ、
前記表示制御部は、
前記第1の外部装置から前記関連情報が受信される場合に、前記第1種の通信処理によって前記関連情報が受信されたことを示す所定情報を含む前記特定画面を前記表示部に表示させ、
前記所定情報を含む前記特定画面が前記表示部に表示されている状態において、前記第2種の通信処理が実行され、かつ、前記第2の外部装置から前記関連情報が受信されなかったと判断される場合に、前記第2種の通信処理が失敗したことを示す情報を前記所定情報に代えて表示することなく、前記所定情報を含む前記特定画面を前記表示部に継続して表示させる、請求項6に記載のアプリケーションプログラム。
【請求項8】
前記第1の通信部は、前記アプリケーションプログラムがフォアグラウンドで動作している場合に、前記第1種の通信処理を実行し、
前記第2の通信部は、前記アプリケーションプログラムが前記フォアグラウンドで動作している場合に、前記第2種の通信処理を実行し、
前記アプリケーションプログラムがバックグラウンドで動作している場合に、前記第1種の通信処理と前記第2種の通信処理とは実行されない、請求項1~7のいずれか一項に記載のアプリケーションプログラム。
【請求項9】
前記アプリケーションプログラムは、前記コンピュータを、さらに、
1個以上の通信装置を識別する1個以上の識別情報を前記端末装置のメモリに記憶させる記憶制御部として機能させ、
前記通信装置は、前記メモリ内の前記1個以上の識別情報の中からユーザによって選択された1個の識別情報によって識別される装置である、請求項1~8のいずれか一項に記載のアプリケーションプログラム。
【請求項10】
前記第1の外部装置は、前記端末装置及び前記通信装置とは異なるサーバであり、
前記第2の外部装置は、前記通信装置である、請求項1~9のいずれか一項に記載のアプリケーションプログラム。