JP7327048B2 - 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置 - Google Patents

通信システム、端末装置のためのコンピュータプログラム、及び、端末装置 Download PDF

Info

Publication number
JP7327048B2
JP7327048B2 JP2019176933A JP2019176933A JP7327048B2 JP 7327048 B2 JP7327048 B2 JP 7327048B2 JP 2019176933 A JP2019176933 A JP 2019176933A JP 2019176933 A JP2019176933 A JP 2019176933A JP 7327048 B2 JP7327048 B2 JP 7327048B2
Authority
JP
Japan
Prior art keywords
server
usage information
printer
time
information
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.)
Active
Application number
JP2019176933A
Other languages
English (en)
Other versions
JP2021056597A (ja
Inventor
健史 長▲崎▼
浩和 番野
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2019176933A priority Critical patent/JP7327048B2/ja
Publication of JP2021056597A publication Critical patent/JP2021056597A/ja
Application granted granted Critical
Publication of JP7327048B2 publication Critical patent/JP7327048B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Ink Jet (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本明細書では、端末装置がサーバに使用情報を送信する技術を開示する。
特許文献1には、プリンタと情報管理サーバと配送管理サーバとを備える通信システムが開示されている。プリンタは、定期的に、カートリッジのインク残量に関する情報を情報管理サーバに送信する。情報管理サーバは、プリンタからインク残量を受信すると、受信済みのインク残量が閾値以下であるのか否かを判断する。情報管理サーバは、受信済みのインク残量が閾値以下であると判断する場合に、発注指令を配送管理サーバに送信する。配送管理サーバは、情報管理サーバから発注指令を受信すると、カートリッジの発注処理を実行する。
特開2016-194771号公報 特開2013-67137号公報 特開2012-252452号公報
特許文献1の通信システムでは、プリンタから情報管理サーバへのインク残量に関する情報の送信が失敗する場合について何ら考慮されていない。
本明細書では、印刷のための消耗品の使用量に関する情報である使用情報がプリンタからサーバに送信されていない場合でも、サーバが使用情報を取得可能である技術を提供する。
本明細書によって開示される通信システムは、プリンタと、サーバと、端末装置と、を備えてもよい。前記プリンタは、第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行するプリンタ送信部を備えてもよい。前記サーバは、メモリと、前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて前記メモリに記憶する第1の記憶制御部と、を備えてもよい。前記端末装置は、前記プリンタから現在の前記使用情報を受信する第1の端末受信部と、前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の端末受信部と、前記プリンタから受信された前記使用情報と、前記サーバから受信された前記使用情報と、前記サーバから受信された前記日時情報と、を利用して、前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する端末判断部と、前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する端末送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記端末送信部と、を備えてもよい。
上記の構成によれば、端末装置は、プリンタから現在の使用情報を受信し、サーバから最新の使用情報と日時情報とを受信する。そして、端末装置は、プリンタから受信された使用情報とサーバから受信された使用情報とサーバから受信された日時情報とを利用して、使用情報がプリンタからサーバに送信されているのか否かを判断する。これにより、端末装置は、プリンタからサーバへの使用情報の送信が第1の所定時間が経過する毎に適切に実行されているのか否かを判断することができる。そして、端末装置は、使用情報がプリンタからサーバに送信されていないと判断する場合に、プリンタから受信された使用情報をサーバに送信する。従って、使用情報がプリンタからサーバに送信されていない場合でも、サーバは、使用情報を取得することができる。
また、本明細書では、端末装置のためのコンピュータプログラムが開示される。 前記端末装置は、プリンタ及びサーバのそれぞれと通信可能であり、前記プリンタは、第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行してもよい。前記サーバは、前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて記憶してもよい。前記コンピュータプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、前記プリンタから現在の前記使用情報を受信する第1の受信部と、前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の受信部と、前記プリンタから受信された前記使用情報と、前記サーバから受信された前記使用情報と、前記サーバから受信された前記日時情報と、を利用して前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する判断部と、前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する第1の送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記第1の送信部と、として機能させてもよい。
上記の構成によれば、端末装置は、プリンタから現在の使用情報を受信し、サーバから最新の使用情報と日時情報とを受信する。そして、端末装置は、プリンタから受信された使用情報とサーバから受信された使用情報とサーバから受信された日時情報とを利用して、使用情報がプリンタからサーバに送信されているのか否かを判断する。これにより、端末装置は、プリンタからサーバへの使用情報の送信が第1の所定時間が経過する毎に適切に実行されているのか否かを判断することができる。そして、端末装置は、使用情報がプリンタからサーバに送信されていないと判断する場合に、プリンタから受信された使用情報をサーバに送信する。従って、使用情報がプリンタからサーバに送信されていない場合でも、サーバは、使用情報を取得することができる。
上記のコンピュータプログラムを格納するコンピュータ読取可能記録媒体、及び、端末装置そのものも、新規で有用である。
通信システムの構成を示す。 各テーブルを示す。 登録プロセスのシーケンス図を示す。 図3の続きを示す。 プリンタから管理サーバへの状態通知の送信が成功するケースAのシーケンス図を示す。 図5の続きを示す。 プリンタから管理サーバへの状態通知の送信が失敗するケースBのシーケンス図を示す。 図7の続きを示す。 プリンタから管理サーバへの状態通知の送信が失敗するケースCのシーケンス図を示す。 図9の続きを示す。 端末装置が実行する判断処理のフローチャートを示す。
(実施例)
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、プリンタ10と、端末装置100と、管理サーバ(以下では、単に「サーバ」と記載する)200と、を備える。プリンタ10と端末装置100は、LAN(Local Area Networkの略)4に接続されている。LAN4は、インターネット6に接続されている。サーバ200は、インターネット6を介して、各装置10、100と通信可能である。
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置(即ちPC等の周辺装置)である。なお、プリンタ10は、印刷機能に加えて、スキャン機能、FAX機能等を実行可能な多機能機であってもよい。プリンタ10は、操作部12と、表示部14と、通信インターフェース(以下ではインターフェースを「I/F」と記載する)16と、印刷実行部20と、制御部30と、を備える。プリンタ10には、シリアル番号SN1が割当てられている。シリアル番号は、複数個のプリンタが製造される際に、各プリンタに割り当てられるユニークな文字列である。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。通信I/F16は、LAN4に接続されている。通信I/F16は、LAN4を介して、インターネット6に接続されている。通信I/F16は、無線I/Fであってもよいし、有線I/Fであってもよい。
印刷実行部20は、インクジェット方式の印刷機構である。印刷実行部20には、インクを収容するカートリッジ20aが装着される。印刷実行部20は、カートリッジ20a内のインクを利用して、印刷を実行する。
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ34は、残量情報RQnと、残量情報RQpと、送信日時情報STと、を記憶する。残量情報RQnは、印刷実行部20に装着されているカートリッジ20aの現在の残量を示す。プリンタ10は、プリンタ10のユーザが、サーバ200によって提供される発送サービスを受けるために、定期的に、残量情報RQnをサーバ200に送信する。残量情報RQpは、サーバ200に前回送信された残量情報を示す情報である。送信日時情報STは、残量情報がサーバ200に前回送信された日時を示す情報である。CPU32は、印刷機能を実行する際に、カートリッジ20a内のインクの使用量を算出し、残量情報RQnから算出済みの使用量を減算して、残量情報RQnを更新する。また、CPU32は、印刷実行部20に新品のカートリッジ20aが装着されると、残量情報RQnを「100」に更新する。
(端末装置100の構成)
端末装置100は、例えば、携帯電話、スマートフォン、PDA、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の装置である。端末装置100は、操作部112と、表示部114と、通信I/F116と、制御部130と、を備える。
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示を端末装置100に入力することができる。表示部114は、様々な情報を表示するためのディスプレイである。表示部114は、いわゆるタッチパネル(即ち操作部)としても機能する。通信I/F116は、LAN4に接続されている。通信I/F116は、LAN4を介して、インターネット6に接続されている。
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているOS(Operating Systemの略)プログラム136に従って、様々な処理を実行する。OSプログラム136は、端末装置100の種々の基本的な動作を制御するためのプログラムである。また、メモリ134は、サービスアプリ138を格納する。サービスアプリ138は、サーバ200から提供される発送サービスを受けるために利用されるアプリケーションであり、例えば、インターネット上のサーバから端末装置100にインストールされる。メモリ134は、さらに、判断テーブル140を記憶する。
(サーバ200の構成)
サーバ200は、プリンタ10のユーザにカートリッジを発送する発送サービスを提供するためのサーバである。サーバ200は、プリンタ10のベンダによってインターネット6上に設置される。なお、変形例では、サーバ200は、当該ベンダとは異なる事業者によってインターネット6上に設置されてもよい。
サーバ200は、通信I/F216と、制御部230と、を備える。通信I/F216は、インターネット6に接続されている。制御部230は、CPU232と、メモリ234と、を備える。CPU232は、メモリ234に格納されているプログラム236に従って、様々な処理を実行する。メモリ234は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ234は、さらに、ユーザテーブル238と、デバイステーブル240と、カートリッジテーブル242と、を記憶する。
(各テーブルの構成;図2)
続いて、図2を参照して、端末装置100内の判断テーブル140、及び、サーバ200内の各テーブル238、240、242の内容を説明する。
端末装置100内の判断テーブル140は、端末装置100にインストールされた直後は空の状態である。判断テーブル140には、1個以上の判断情報が記憶される。各判断情報は、ユーザ名と、シリアル番号と、更新時間情報と、判断時間情報と、判断日時情報と、を含む。ユーザ名は、ユーザがサーバ200にログインするために利用される情報である。更新時間情報は、残量情報RQnがプリンタ10からサーバ200に送信されるタイミングを示す情報である。判断時間情報は、残量情報RQnがプリンタ10からサーバ200に送信されたのか否かを判断するためのタイミングを示す情報である。判断日時情報は、残量情報RQnがプリンタ10からサーバ200に送信されたのか否かを前回判断した日時を示す情報である。
サーバ200内のユーザテーブル238には、1個以上のユーザ情報が記憶される。各ユーザ情報は、ユーザを識別するためのユーザ名(例えばUN)と、パスワード(例えばPW)と、当該ユーザの住所を示す住所情報(例えばAD)と、を含む。また、ユーザテーブル238は、各ユーザ情報と対応付けて、PIN(Personal Identification Numberの略)コード(例えば「1234」)を記憶し得る。
デバイステーブル240には、1個以上のデバイス情報が記憶される。各デバイス情報は、ユーザ名(例えばUN)と、シリアル番号(例えばSN1)と、アクセストークン(例えばAT1)と、を含む。アクセストークンは、プリンタとサーバ200との間の通信に利用される認証情報である。
カートリッジテーブル242には、1個以上のカートリッジ情報が記憶される。各カートリッジ情報は、シリアル番号(例えばSN1)と、当該シリアル番号によって識別されるプリンタに装着可能なカートリッジの型番(例えば「BK01」)と、当該プリンタに現在装着されているカートリッジの残量を示す残量情報と、当該プリンタから残量情報を受信した日時を示す受信日時情報と、を含む。
(登録プロセス;図3、図4)
続いて、図3、図4を参照して、登録プロセスについて説明する。登録プロセスは、プリンタ10のユーザが発注サービスの提供を受けるために実行されるプロセスである。具体的には、判断情報を端末装置100の判断テーブル140に登録するプロセス、デバイス情報をサーバ200のデバイステーブル240に登録するプロセス、及び、カートリッジ情報をサーバ200のカートリッジテーブル242に登録するプロセスである。なお、以下では、各デバイスの各CPU(例えばプリンタ10のCPU32等)が実行する処理について、理解の容易さの観点から、各CPUを主体として記載せずに、各デバイス(例えばプリンタ10等)を主体として記載する。また、プリンタ10、端末装置100、及び、サーバ200の間で実行される以下の全ての通信は、プリンタ10の通信I/F16、端末装置100の通信I/F116、及び、サーバ200の通信I/F216を介して実行される。従って、以下では、「通信I/F16(又は116、216)を介して」という記載を省略する。
図3の初期状態では、サーバ200のユーザテーブル238には、ユーザ名、パスワードPW、住所情報ADを含むユーザ情報が記憶されている。当該ユーザ情報は、例えば、ユーザが端末装置100を利用することによってサーバ200に記憶される。なお、図3では、ユーザテーブル238内の住所情報ADに関する記載を省略している。また、端末装置100には、サービスアプリ138がインストール済みである。
端末装置100は、T10において、サービスアプリ138を起動させるための操作をユーザから受け付けると、T12において、サービスアプリ138を起動させ、T14において、ログイン画面データ要求をサーバ200に送信する。
サーバ200は、T14において、端末装置100からログイン画面データ要求を受信すると、T16において、ログイン画面データを端末装置100に送信する。
端末装置100は、T16において、サーバ200からログイン画面データを受信すると、T18において、ログイン画面を表示部114に表示する。そして、端末装置100は、T20において、ユーザ名UN及びパスワードPWの入力操作をユーザから受け付けると、T22において、ユーザ名UN及びパスワードPWを含むログイン要求をサーバ200に送信する。
サーバ200は、T22において、端末装置100からログイン要求を受信すると、当該ログイン要求に含まれるユーザ名UN及びパスワードPWの組合せがユーザテーブル238に記憶されているので、T24において、認証が成功したと判断する。この場合、サーバ200は、T26において、PINコード「1234」を生成し、ログイン中のユーザ名UNとPINコード「1234」とを対応付けてユーザテーブル238に記憶し、T28において、PINコード「1234」を端末装置100に送信する。
端末装置100は、T28において、サーバ200からPINコード「1234」を受信すると、T30において、PINコード「1234」を表示部114に表示する。これにより、ユーザは、PINコード「1234」を知ることができる。
次いで、プリンタ10は、T40において、ユーザからPINコード「1234」の入力を受け付けると、T42において、トークン要求をサーバ200に送信する。トークン要求は、アクセストークンの送信をサーバ200に要求するためのコマンドであり、PINコード「1234」と、プリンタ10のシリアル番号SN1と、を含む。
サーバ200は、T42において、プリンタ10からトークン要求を受信すると、トークン要求に含まれるPINコード「1234」の認証を実行する。本ケースでは、トークン要求に含まれるPINコード「1234」がユーザテーブル238内のPINコード「1234」と一致するので、サーバ200は、T44において、PINコードの認証が成功したと判断する。そして、サーバ200は、T46において、アクセストークンAT1を生成する。サーバ200は、T48において、PINコード「1234」に対応付けられているユーザ名UNと、トークン要求に含まれるシリアル番号SN1と、生成済みのアクセストークンAT1と、を含むデバイス情報をデバイステーブル240に記憶する。
図4のT50において、サーバ200は、アクセストークンAT1と更新時間情報「12時間」とをプリンタ10に送信する。更新時間情報は、サーバ200の管理者によってメモリ234に予め記憶されている。
プリンタ10は、T50において、サーバ200からアクセストークンAT1と更新時間情報「12時間」とを受信すると、T52において、更新時間情報「12時間」をメモリ34に記憶させ、T54において、アクセストークンAT1を利用して、サーバ200とのXMPP接続を確立する。XMPP接続は、いわゆる常時接続であり、プリンタ10の電源が切断されるまで確立され続ける接続である。サーバ200は、XMPP接続を利用すれば、プリンタ10から要求を受信しなくても、プリンタ10が所属するLAN4のファイヤウォールを越えて、プリンタ10に要求を送信することができる。なお、サーバ200からプリンタ10に要求を送信する仕組みは、XMPP接続ではなく、他の手法であってもよい。例えば、プリンタ10とサーバ200との間にHTTPS(Hypertext Transfer Protocol Secureの略)接続が確立されてもよい。
プリンタ10は、サーバ200とのXMPP接続の確立が完了すると、メモリ34内の残量情報RQnを今回送信されるべき残量情報として特定し、T60において、シリアル番号SN1と、特定済みの残量情報「40」と、を含む状態通知をサーバ200に送信する。プリンタ10は、T62において、T60でサーバ200に送信した残量情報「40」を残量情報RQpとして記憶するとともに、現在日時を送信日時情報STとして記憶する。その後、プリンタ10は、T52で記憶したメモリ34内の更新時間情報によって示される更新時間が経過する毎に、残量情報RQnによって示される残量と残量情報RQpによって示される残量とが一致するのか否かを判断し、残量情報RQnによって示される残量と残量情報RQpによって示される残量とが一致しないと判断する場合に、状態通知をサーバ200に送信することを試行する。
サーバ200は、T60において、プリンタ10から状態通知を受信すると、T64において、状態通知に含まれるシリアル番号SN1に対応付けて、当該シリアル番号SN1によって識別されるプリンタ10に装着可能なカートリッジ20aの型番「BK01」と、状態通知に含まれる残量情報「40」と、状態通知を受信した日時を示す受信日時情報「2019/9/10 12:00」と、をカートリッジテーブル242に記憶する。また、サーバ200は、状態通知に含まれる残量情報によって示される残量「40」が発注閾値(本実施例では、「25」)以下であるのか否かを判断する。発注閾値は、カートリッジ20aの発注が必要か否かを判断するための閾値である。本ケースでは、サーバ200は、T66において、残量情報によって示される残量が発注閾値よりも大きいと判断する。
次いで、サーバ200は、T70において、デバイス情報のデバイステーブル240への登録、及び、カートリッジ情報のカートリッジテーブル242への登録が完了したことを示す完了通知を端末装置100に送信する。
端末装置100は、T70において、サーバ200から完了通知を受信すると、T72において、ログイン済みのユーザ名UNを含む登録情報要求をサーバ200に送信する。登録情報要求は、当該要求内のユーザ名に対応付けられているシリアル番号と、更新日時情報と、の送信を要求するためのコマンドである。
サーバ200は、T72において、端末装置100から登録情報要求を受信すると、デバイステーブル240において、登録情報要求内のユーザ名UNに対応付けられているシリアル番号SN1を特定する。そして、サーバ200は、T74において、特定済みのシリアル番号SN1とメモリ234内の更新時間情報「12時間」とを端末装置100に送信する。
端末装置100は、T74において、サーバ200から、シリアル番号SN1と更新時間情報「12時間」とを受信すると、T76において、ログイン済みのユーザ名UNと、受信済みのシリアル番号SN1と、受信済みの更新時間情報「12時間」と、を対応付けて判断テーブル140に記憶する。次いで、端末装置100は、T80において、判断時間設定画面を表示部114に表示する。判断時間設定画面は、判断時間を入力するための時間入力欄と、OKボタンと、を含む。端末装置100は、T82において、判断時間情報「1時間」の入力、及び、OKボタンの選択を受け付けると、T84において、T76で記憶した各情報に対応付けて、判断時間情報「1時間」を判断テーブル140に記憶する。また、端末装置100は、判断テーブル140において、現在日時を判断日時情報として記憶する。その後、端末装置100は、判断時間情報によって示される判断時間が経過する毎に、プリンタ10からサーバ200に更新時間毎に状態通知が送信されているのか否かを判断するための判断処理(図11参照)を実行する。
(具体的なケース;図5~図10)
続いて、図5~図10を参照して、登録プロセスが完了した後に実現される具体的なケースA~ケースCについて説明する。なお、図5~図10では、プリンタ10のメモリ34内の送信日時情報STに関する記載を省略している。また、サーバ200のカートリッジテーブル242内のカートリッジ情報のうち、シリアル番号、型番に関する記載を省略している。また、端末装置100の判断テーブル140内の判断情報のうち、ユーザ名、シリアル番号、更新時間情報、及び、判断時間情報に関する記載を省略している。
(ケースA;図5)
図5、図6を参照して、プリンタ10からサーバ200への状態通知の送信が成功するケースAについて説明する。ケースAの初期状態では、プリンタ10のメモリ34内の残量情報RQn、及び、残量情報RQpに、「40」が記憶されている。また、送信日時情報STには、「2019/9/10 12:00」が記憶されている。また、サーバ200のカートリッジテーブル242には、残量情報「40」、及び、受信日時情報「2019/9/10 12:00」が記憶されている。また、端末装置100の判断テーブル140内の判断日時情報には、「2019/9/10 12:00」が記憶されている。
端末装置100は、「2019/9/10 13:00」が到来すると、判断テーブル140内の判断日時情報によって示される日時「2019/9/10 12:00」から判断時間(即ち1時間)が経過したと判断し、T110において、第1の残量情報要求をプリンタ10に送信する。第1の残量情報要求は、プリンタ10のメモリ34内の残量情報RQnの送信をプリンタ10に要求するためのコマンドである。
プリンタ10は、T110において、端末装置100から第1の残量情報要求を受信すると、メモリ34内の残量情報RQnを特定し、T112において、特定済みの残量情報「40」を端末装置100に送信する。
端末装置100は、T112において、プリンタ10から残量情報「40」を受信すると、T120において、シリアル番号SN1を含む第2の残量情報要求をサーバ200に送信する。第2の残量情報要求は、サーバ200のメモリ234のカートリッジテーブル242において、第2の残量情報要求内のシリアル番号SN1に対応付けられている残量情報と受信日時情報との送信をサーバ200に要求するためのコマンドである。
サーバ200は、T120において、端末装置100から第2の残量情報要求を受信すると、カートリッジテーブル242においてシリアル番号SN1に対応付けられている残量情報「40」と受信日時情報「2019/9/10 12:00」とを特定し、T122において、残量情報「40」と受信日時情報「2019/9/10 12:00」とを端末装置100に送信する。
端末装置100は、T122において、サーバ200から残量情報「40」と受信日時情報「2019/9/10 12:00」とを受信すると、プリンタ10から受信した残量情報によって示される残量と、サーバ200から受信した残量情報によって示される残量と、が一致するのか否かを判断する。本ケースでは、端末装置100は、T130において、T112でプリンタ10から受信した残量情報によって示される残量「40」と、T122でサーバ200から受信した残量情報によって示される残量「40」と、が一致すると判断する。この場合、端末装置100は、残量情報がプリンタ10からサーバ200に送信されていると判断し、プリンタ10から受信した残量情報をサーバ200に送信しない。そして、端末装置100は、T132において、判断日時情報を現在日時「2019/9/10 13:00」に更新する。
本ケースでは、「2019/9/10 13:30」において、プリンタ10を利用した印刷処理が実行される状況を想定する。プリンタ10は、T140において、カートリッジ20aを利用した印刷が実行される際に、カートリッジ20a内のインクの使用量「10」を算出し、残量情報RQnによって示される残量「40」から算出済みの使用量「10」を減算して、残量情報RQnによって示される残量を「30」に更新する。
端末装置100は、「2019/9/10 14:00」が到来すると、判断テーブル140内の判断日時情報によって示される日時「2019/9/10 13:00」から判断時間(即ち1時間)が経過したと判断し、T150において、第1の残量情報要求をプリンタ10に送信する。T152は、プリンタ10から端末装置100に送信される残量情報が「30」である点を除いて、T112と同様である。T160、T162は、それぞれ、T120、T122と同様である。
端末装置100は、T170において、T152でプリンタ10から受信した残量情報によって示される残量「30」と、T162でサーバ200から受信した残量情報によって示される残量「40」と、が一致しないと判断する。この場合、端末装置100は、さらに、サーバ200から受信した受信日時情報によって示される受信日時と現在日時との差分である差分時間を算出し、差分時間が更新時間情報によって示される更新時間(12時間)以上であるのか否かを判断する。端末装置100は、T172において、差分時間「2時間」が更新時間「12時間」未満であると判断する。この場合、端末装置100は、プリンタ10から受信した残量情報とサーバ200から受信した残量情報が一致しないのは、サーバ200がプリンタ10から残量情報を受信してから更新時間が経過していないためであると判断する。この場合、端末装置100は、プリンタ10から受信した残量情報をサーバ200に送信しない。そして、端末装置100は、T174において、判断日時情報を現在日時「2019/9/10 14:00」に更新する。
その後、判断時間(1時間)が経過する毎に、プリンタ10、端末装置100、及び、サーバ200の間で、T150~T174と同様の処理が実行される。
プリンタ10は、「2019/9/11 00:00」が到来すると、メモリ34内の送信日時情報STによって示される日時「2019/9/10 12:00」から更新時間(即ち12時間)が経過したと判断し、残量情報RQnによって示される残量と残量情報RQpによって示される残量とが一致するのか否かを判断する。プリンタ10は、T180において、残量情報RQnによって示される残量「30」と、残量情報RQpによって示される残量「40」と、が一致しないと判断し、残量情報RQnを今回送信されるべき残量情報と特定する。そして、プリンタ10は、T182において、シリアル番号SN1と残量情報「40」とを含む状態通知をサーバ200に送信する。なお、プリンタ10は、残量情報RQnによって示される残量と残量情報RQpによって示される残量とが一致する場合には、状態通知をサーバ200に送信しない。残量情報RQnによって示される残量と残量情報RQpによって示される残量とが一致する場合、残量情報RQnによって示される残量とサーバ200のカートリッジテーブル242内の残量情報によって示される残量も一致する。このような状況においては、サーバ200は、残量情報を受信する必要がない。従って、プリンタ10とサーバ200との間で不必要な通信が実行されることを抑制することができる。T184、T186は、記憶される情報が異なる点を除いて、図4のT62、T64と同様である。これにより、サーバ200のカートリッジテーブル242内の残量情報がプリンタ10から受信した最新の残量情報に更新される。T188は、T66と同様である。
また、端末装置100は、「2019/9/11 00:00」が到来すると、判断テーブル140内の判断日時情報によって示される日時「2019/9/10 23:00」から判断時間(即ち1時間)が経過したと判断し、T190以降の処理を実行する。T190~T202は、プリンタ10及びサーバ200から受信される残量情報が異なる点を除いて、図5のT110~T122と同様である。この場合、端末装置100は、T210において、T192でプリンタ10から受信した残量情報によって示される残量「30」と、T120でサーバ200から受信した残量情報によって示される残量「30」と、が一致すると判断する。この場合、端末装置100は、残量情報がプリンタ10からサーバ200に送信されていると判断する。そして、端末装置100は、T212において、判断日時情報を現在日時「2019/9/11 00:00」に更新する。
(ケースB;図7、図8)
続いて、図7、図8を参照して、プリンタ10からサーバ200への状態通知の送信が失敗するケースBについて説明する。ケースBの初期状態は、ケースAの初期状態と同様である。
まず、プリンタ10、端末装置100、及び、サーバ200の間で、図5のT110~T174と同様の処理が実行される。T280は、図6のT180と同様である。そして、プリンタ10は、T282において、シリアル番号SN1と残量情報「30」とを含む状態通知をサーバ200に送信する。本ケースでは、プリンタ10とサーバ200との間の通信状態が悪いために、プリンタ10からサーバ200への状態通知の送信が失敗する。この場合、サーバ200は、シリアル番号SN1と残量情報とを含む状態通知が受信されないために、カートリッジテーブル242内の残量情報及び受信日時情報を更新しない。T284は、図6のT184と同様である。従って、この時点において、プリンタ10のメモリ34内の残量情報RQn「30」と、サーバ200のカートリッジテーブル242において、シリアル番号SN1に対応付けられている残量情報「40」と、が一致しない。
T290~T300は、図6のT190~T200と同様である。T302は、残量情報、受信日時情報が異なる点をのぞいて、図6のT202と同様である。図7のT310は、図5のT170と同様である。次いで、端末装置100は、T312において、受信日時情報によって示される受信日時「2019/9/10 12:00」と現在日時「2019/9/11 00:00」の差分時間「12時間」が更新時間「12時間」以上であると判断する。この場合、端末装置100は、T314において、通知画面を表示部114に表示させる。通知画面は、プリンタ10からサーバ200への状態通知の送信が失敗したことをユーザに通知するための画面である。これにより、ユーザは、プリンタ10からサーバ200への状態通知の送信が失敗したことを知ることができる。
次いで、端末装置100は、プリンタ10から受信された残量情報によって示される残量とサーバ200から受信された残量情報によって示される残量との差分である差分残量が第1の閾値以上であるのか否かを判断する。第1の閾値は、プリンタ10から受信された残量情報をサーバ200に送信するのか否かを判断するための閾値である。本実施例では、第1の閾値は「10」である。本ケースでは、端末装置100は、T316において、図7のT292でプリンタ10から受信された残量情報によって示される残量「30」とT302でサーバ200から受信された残量情報によって示される残量「40」との差分残量「10」が第1の閾値以上であると判断する。そして、端末装置100は、T320において、シリアル番号SN1と、T292でプリンタ10から受信された残量情報「30」と、を含む更新要求をサーバ200に送信する。更新要求は、サーバ200のカートリッジテーブル242において、更新要求内のシリアル番号SN1に対応付けられている残量情報を、当該要求内の残量情報に更新することを要求するためのコマンドである。T322は、図5のT132と同様である。なお、端末装置100は、差分残量が第1の閾値未満である場合に、更新要求をサーバ200に送信しない。差分残量が第1の閾値未満である場合、残量情報をサーバ200に送信する必要性は低い。従って、端末装置100とサーバ200との間に不必要な通信が実行されることを抑制することができる。
サーバ200は、T320において、端末装置100から更新要求を受信すると、T322において、当該要求内のシリアル番号SN1を特定し、カートリッジテーブル242において、特定済みのシリアル番号SN1に対応付けられている残量情報を当該要求内の残量情報「30」に更新する。T324は、図6のT188と同様である。これにより、プリンタ10からサーバ200への状態通知の送信が失敗した後に、プリンタ10のメモリ34内の残量情報RQnと、サーバ200のカートリッジテーブル242内の残量情報と、を一致させることができる。
(ケースC;図9、図10)
続いて、図9、図10を参照して、プリンタ10からサーバ200への状態通知の送信が失敗するケースCについて説明する。ケースCの初期状態は、プリンタ10のメモリ34内の残量情報RQn、残量情報RQp、及び、サーバ200のカートリッジテーブル242内に、「26」が記憶されている点を除いて、ケースA、ケースBの初期状態と同様である。
まず、プリンタ10、端末装置100、及び、サーバ200の間で、図5のT110~T174と同様の処理が実行される。なお、本ケースでは、図5のT140の印刷処理が実行されると、プリンタ10のメモリ34内の残量情報RQnが「26」から「20」に更新される。T480は、図6のT180と同様である。プリンタ10は、T482において、シリアル番号SN1と残量情報「20」とを含む状態通知をサーバ200に送信する。本ケースでは、プリンタ10とサーバ200との間の通信状態が悪いために、プリンタ10からサーバ200への状態通知の送信が失敗する。この場合、サーバ200は、シリアル番号SN1と残量情報とを含む状態通知が受信されないために、カートリッジテーブル242内の残量情報及び更新日時情報を更新しない。T484は、メモリ34に記憶される残量が異なる点を除いて、図6のT184と同様である。従って、この時点において、プリンタ10のメモリ34内の残量情報RQn「20」と、サーバ200のカートリッジテーブル242において、シリアル番号SN1に対応付けられている残量情報「26」と、が一致しない。
T490~T502は、残量情報が異なる点を除いて、図7のT290~T302と同様である。図10のT510~T514は、図8のT310~T314と同様である。端末装置100は、差分残量が第1の閾値よりも大きいのか否かを判断する。端末装置100は、T516において、図9のT492でプリンタ10から受信された残量情報によって示される残量「20」とT502でサーバ200から受信された残量情報によって示される残量「26」の差分残量「6」が第1の閾値未満であると判断する。この場合、端末装置100は、さらに、プリンタ10から受信された残量情報によって示される残量「20」が第2の閾値以下であるのか否かを判断する。第2の閾値は、プリンタ10から受信された残量情報をサーバ200に送信するのか否かを判断するための閾値である。本実施例では、第2の閾値は、サーバ200のメモリ234に記憶されている発注閾値(「25」)と同じである。本ケースでは、端末装置100は、T518において、プリンタ10から受信された残量情報によって示される残量「26」が第2の閾値以下であると判断する。そして、端末装置100は、T520において、シリアル番号SN1と、プリンタ10から受信された残量情報「20」と、を含む更新要求をサーバ200に送信する。T522は、図8のT322と同様である。なお、端末装置100は、プリンタ10から受信された残量情報によって示される残量が第2の閾値よりも大きい場合に、更新要求をサーバ200に送信しない。残量が第2の閾値よりも大きい場合に、残量情報をサーバ200に送信する必要性は低い。従って、端末装置100とサーバ200との間に不必要な通信が実行されることを抑制することができる。
T524は、残量情報が異なる点を除いて、図8のT324と同様である。そして、プリンタ10は、T526において、T520で端末装置100から受信した残量情報によって示される残量「20」が発注閾値以下であると判断し、T530において、発注選択要求を端末装置100に送信する。発注選択要求は、サーバ200がカートリッジ20aを発注するための発注処理を実行すべきか否かをユーザに選択させるためのコマンドである。
端末装置100は、T530において、サーバ200から発注選択要求を受信すると、T532において、サーバ200が発注処理を実行すべきか否かをユーザに選択させるための選択画面を表示部114に表示させる。端末装置100は、選択画面内の「YES」の選択をユーザから受け付けると、T536において、発注指示をサーバ200に送信する。
サーバ200は、T536において、端末装置100から発注指示を受信すると、発注処理を実行すべきと判断し、T538において、発注処理を実行する。発注処理において、サーバ200は、まず、デバイステーブル240において、シリアル番号SN1に対応付けられているユーザ名UNを特定する。次いで、サーバ200は、ユーザテーブル238において、特定済みのユーザ名UNに対応付けられている住所情報ADを特定する。そして、サーバ200は、新しいカートリッジ20aを特定済みの住所情報ADによって示される住所に発送するための発注処理を実行する。
(端末装置100が実行する判断処理;図11)
続いて、図11を参照して、端末装置100のCPU132がサービスアプリ138に従って実行する判断処理の内容を説明する。判断処理は、図3、図4の登録プロセスが完了した後、即ち、メモリ134の判断テーブル140内に判断情報が登録された後に実行される処理である。CPU132は、判断テーブル140内の判断日時情報によって示される日時から判断時間(1時間)が経過する毎に、判断処理を実行する。
S10において、CPU132は、第1の残量情報要求をプリンタ10に送信し(図5のT110等)、S12において、プリンタ10から現在の残量情報を受信する(図5のT112等)。
S20において、CPU132は、シリアル番号SN1を含む第2の残量情報要求をサーバ200に送信し(図5のT120等)、S22において、サーバ200から最新の残量情報と受信日時情報とを受信する(T122等)。
S30において、CPU132は、S12でプリンタ10から受信された残量情報によって示される残量と、S22でサーバ200から受信された残量情報によって示される残量と、が一致するのか否かを判断する。CPU132は、プリンタ10から受信された残量情報によって示される残量とサーバ200から受信された残量情報によって示される残量とが一致すると判断する場合(S30でYES)(図5のT130等)に、S60に進む。一方、CPU132は、プリンタ10から受信された残量情報によって示される残量とサーバ200から受信された残量情報によって示される残量とが一致しないと判断する場合(S30でNO)(図5のT170等)に、S32に進む。
S32において、CPU132は、S22でサーバ200から受信された受信日時情報によって示される受信日時と現在日時との差分時間が更新時間以上であるのか否かを判断する。CPU132は、差分時間が更新時間未満であると判断する場合(S32でNO)(図5のT172等)に、S60に進む。一方、CPU132は、差分時間が更新時間以上であると判断する場合(S32でYES)(図8のT312等)に、S34に進む。
S34において、CPU132は、通知画面を表示部114に表示させる(図8のT314等)。
S40において、CPU132は、S12でプリンタ10から受信された残量情報によって示される残量とT22でサーバ200から受信された残量情報によって示される残量との差分残量が第1の閾値(「10」)以上であるのか否かを判断する。CPU132は、差分残量が第1の閾値以上であると判断する場合(S40でYES)(図8のT316)に、S50に進む。一方、CPU132は、差分残量が第1の閾値未満であると判断する場合(S40でNO)(図10のT516)に、S42に進む。
S42において、CPU132は、S12でプリンタ10から受信された残量情報によって示される残量が第2の閾値(「25」)以下であるのか否かを判断する。CPU132は、プリンタ10から受信された残量情報によって示される残量が第2の閾値以下であると判断する場合(S42でYES)(図10のT518)に、S50に進む。一方、CPU132は、プリンタ10から受信された残量情報によって示される残量が第2の閾値よりも大きいと判断する場合(S42でNO)に、S60に進む。
S50において、CPU132は、S12でプリンタ10から受信された残量情報と、シリアル番号と、を含む更新要求をサーバ200に送信する。
S60において、CPU132は、判断テーブル140において、現在日時を判断日時情報として記憶させる。CPU132は、S60が終了すると、図11の処理を終了する。
(本実施例の効果)
サーバ200は、更新時間が経過する毎にプリンタ10から残量情報を受信し、当該残量情報を利用した発送サービスを提供している。しかしながら、プリンタ10からサーバ200への残量情報の送信が失敗する場合がある(図7のT282、図9のT482)。この場合、サーバ200は、発送サービスを適切に提供することができない。そこで、本実施例では、端末装置100は、プリンタ10から現在の残量情報を受信し(図11のS12)、サーバ200から、最新の残量情報と受信日時情報とを受信する(S22)。そして、端末装置100は、プリンタ10から受信された残量情報とサーバ200から受信された残量情報とサーバ200から受信された受信日時情報とを利用して、残量情報がプリンタ10からサーバ200に送信されているのか否かを判断する(S30、S32)。これにより、端末装置100は、プリンタ10からサーバ200への残量情報の送信が更新時間が経過する毎に適切に実行されているのか否かを判断することができる。そして、端末装置100は、残量情報がプリンタ10からサーバ200に送信されていないと判断する場合(S30でNO、S32でYES)に、プリンタ10から受信された残量情報をサーバ200に送信する(S50)。従って、残量情報がプリンタ10からサーバ200に送信されていない場合でも、サーバ200は、残量情報を取得することができる。この結果、サーバ200は、発送サービスを適切に提供することができる。
(対応関係)
更新時間が、「第1の所定時間」の一例である。残量情報が、「使用情報」の一例である。受信日時情報が、「日時情報」の一例である。サーバ200のカートリッジテーブル242に記憶されている残量情報が、「最新の使用情報」の一例である。判断時間が、「第2の所定時間」の一例である。
一つの側面では、図6のT182、図7のT282、図9のT482が、「プリンタ送信部」によって実行される処理の一例である。図6のT186が、「第1の記憶制御部」によって実行される処理の一例である。図11のS12、S22が、それぞれ、「第1の端末受信部」、「第2の端末受信部」によって実行される処理の一例である。図11のS30、S32が、「端末判断部」によって実行される処理の一例である。図11のS50が、「端末送信部」によって実行される処理の一例である。
別の側面では、図11のS12、S22が、それぞれ、「第1の受信部」、「第2の受信部」によって実行される処理の一例である。図11のS30、S32が、「判断部」によって実行される処理の一例である。図11のS50が、「送信部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)プリンタ10は、更新時間が経過する毎に、残量情報RQnと残量情報RQpとが一致するのか否かを判断することなく、残量情報をサーバ200に送信してもよい。本変形例では、「プリンタ判断部」を省略可能である。
(変形例2)サーバ200によって提供されるサービスは、発送サービスに限定されない。例えば、サーバ200は、プリンタ10のユーザによって印刷に利用された印刷用紙の印刷用紙済み枚数に応じて課金される課金サービスを提供してもよい。この場合、プリンタ10は、更新時間が経過する毎に、残量情報に代えて、印刷に利用された印刷用紙の印刷用紙済み枚数を示す情報を管理サーバ200に送信する。本変形例では、印刷用紙済み枚数を示す情報が、「使用情報」の一例である。また、別の変形例では、サーバ200は、発送サービス及び課金サービスの両方を提供してもよい。この場合、プリンタ10は、更新時間が経過する毎に、残量情報と印刷用紙済み枚数を示す情報とを管理サーバ200に送信する。本変形例では、残量情報と印刷用紙済み枚数を示す情報が、「使用情報」の一例である。
(変形例3)管理サーバ200は、カートリッジテーブル242において、受信日時情報に代えて、プリンタ10から状態通知を受信した時間から経過した時間を示す経過時間情報を記憶してもよい。本変形例では、管理サーバ200は、端末装置100から第2の残情報要求を受信すると、カートリッジテーブル242内の残量情報及び経過時間情報を端末装置100に送信する。この場合、端末装置100は、図11のS32において、経過時間情報によって示される時間が更新時間よりも大きいのか否かを判断する。そして、端末装置100は、S30でNOと判断し、かつ、経過時間情報によって示される時間が更新時間よりも大きいと判断する場合に、プリンタ10からサーバ200に残量情報が更新時間毎に送信されていないと判断する。
(変形例4)図4のT74において、サーバ200は、更新時間情報を端末装置100に送信しなくてもよい。本変形例では、端末装置100は、T74よりも後に、更新時間情報の送信を要求するための送信要求をプリンタ10に送信し、プリンタ10から更新時間情報を受信する。また、別の変形例では、端末装置100が、更新時間を入力するための画面を表示し、当該画面にユーザが更新時間を入力してもよい。本変形例では、「第3の受信部」を省略可能である。
(変形例5)図11のS30、S32、S40、S42の処理の順番が異なっていてもよい。また、S40及びS42のうちの少なくとも1個の処理を省略可能である。
(変形例6)端末装置100の判断テーブル140内の判断時間情報によって示される判断時間が予め記憶されていてもよい。また、別の変形例では、端末装置100の判断テーブル140内に、第1の残量情報要求をプリンタ10に送信する時間に関する第1の判断時間情報と、第2の残量情報を管理サーバ200に送信する時間に関する第2の判断時間情報と、が記憶されていてもよい。また、別の変形例では、端末装置100は、第1の残量情報要求及び第2の残量情報要求を送信するための指示をユーザから受け付ける場合に、第1の残量情報をプリンタ10に送信し、第2の残量情報要求をサーバ200に送信してもよい。
(変形例7)管理サーバ200は、残量情報によって示される残量が発注閾値以下であると判断する場合に、発注選択要求を端末装置100に送信することなく、発注処理を実行してもよい。本変形例では、「第4の受信部」、「表示制御部」、「第2の送信部」を省略可能である。
(変形例8)上記の実施例では、サーバ200が、プリンタ10から受信された残量情報を記憶しているとともに、発注処理を実行している。変形例では、プリンタ10から受信される残量情報を記憶するサーバと、発注処理を実行するサーバが別個のサーバであってもよい。
(変形例9)上記の各実施例では、図3~図11の各処理がソフトウェア(例えばプログラム36、136、236)によって実現されるが、これらの各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下は、出願時の特許請求の範囲に対応する記載である。
(項目1)
プリンタと、サーバと、端末装置と、を備える通信システムであって、
前記プリンタは、
第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行するプリンタ送信部を備え、
前記サーバは、
メモリと、
前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて前記メモリに記憶する第1の記憶制御部と、を備え、
前記端末装置は、
前記プリンタから現在の前記使用情報を受信する第1の端末受信部と、
前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の端末受信部と、
前記プリンタから受信された前記使用情報と、前記サーバから受信された前記使用情報と、前記サーバから受信された前記日時情報と、を利用して、前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する端末判断部と、
前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する端末送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記端末送信部と、を備える、通信システム。
(項目2)
前記プリンタは、さらに、
前記第1の所定時間が経過する毎に、前記サーバに今回送信されるべき前記使用情報と、前記サーバに前回送信された前記使用情報と、が一致するのか否かを判断するプリンタ判断部を備え、
前記プリンタ送信部は、今回送信されるべき前記使用情報と、前回送信された前記使用情報と、が一致しないと判断される場合に、前記使用情報を前記サーバに送信することを試行し、
今回送信されるべき前記使用情報と、前回送信された前記使用情報と、が一致すると判断される場合に、前記使用情報は前記サーバに送信されず、
前記端末判断部は、
前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報とが一致するのか否かを判断する第1の端末判断部と、
前記日時情報を利用して、前記サーバが前記プリンタから前記使用情報を受信してから前記第1の所定時間が経過したことを示すのか否かを判断する第2の端末判断部と、を備え、
前記端末判断部は、
前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報とが一致しないと判断され、かつ、前記第1の所定時間が経過したと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていないと判断し、
前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報とが一致すると判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断し、
前記第1の所定時間が経過していないと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断する、項目1に記載の通信システム。
(項目3)
端末装置のためのコンピュータプログラムであって、
前記端末装置は、プリンタ及びサーバのそれぞれと通信可能であり、
前記プリンタは、第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行し、
前記サーバは、前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて記憶し、
前記コンピュータプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、
前記プリンタから現在の前記使用情報を受信する第1の受信部と、
前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の受信部と、
前記プリンタから受信された前記使用情報と、前記サーバから受信された前記使用情報と、前記サーバから受信された前記日時情報と、を利用して前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する判断部と、
前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する第1の送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記第1の送信部と、
として機能させる、コンピュータプログラム。
(項目4)
前記使用情報は、前記消耗品である色材の残量を示す情報、及び、前記消耗品である印刷用紙の印刷済み枚数を示す情報のうちの少なくとも一方を含む、項目3に記載のコンピュータプログラム。
(項目5)
前記判断部は、
前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報とが一致するのか否かを判断する第1の判断部と、
前記日時情報を利用して、前記サーバが前記プリンタから前記使用情報を受信してから前記第1の所定時間が経過したことを示すのか否かを判断する第2の判断部と、を備え、
前記判断部は、
前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報とが一致しないと判断され、かつ、前記第1の所定時間が経過したと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていないと判断し、
前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報とが一致すると判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断し、
前記第1の所定時間が経過していないと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断する、項目3又は4に記載のコンピュータプログラム。
(項目6)
前記日時情報は、前記使用情報を受信した日時を示し、
前記第2の判断部は、
前記サーバから受信された前記日時情報によって示される日時と現在日時との差分時間を算出し、
前記差分時間が前記第1の所定時間以上である場合に、前記第1の所定時間が経過したと判断し、
前記差分時間が前記第1の所定時間未満である場合に、前記第1の所定時間が経過していないと判断する、項目5に記載のコンピュータプログラム。
(項目7)
前記コンピュータプログラムは、さらに、前記コンピュータを、
前記サーバから、前記第1の所定時間を示す時間情報を受信する第3の受信部として機能させ、
前記第2の判断部は、前記日時情報と前記時間情報とを利用して、前記サーバが前記プリンタから前記使用情報を受信してから前記第1の所定時間が経過したことを示すのか否かを判断する、項目5又は6に記載のコンピュータプログラム。
(項目8)
前記第1の送信部は、前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記プリンタから受信された前記使用情報と前記サーバから受信された前記使用情報との差分が第1の閾値以上である場合に、前記プリンタから受信された前記使用情報を前記サーバに送信し、
前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記差分が前記第1の閾値未満である場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、項目3~7のいずれか一項に記載のコンピュータプログラム。
(項目9)
前記第1の送信部は、前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記プリンタから受信された前記使用情報が第2の閾値以下である場合に、前記プリンタから受信された前記使用情報を前記サーバに送信し、
前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記プリンタから受信された前記使用情報が前記第2の閾値よりも大きい場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、項目3~8のいずれか一項に記載のコンピュータプログラム。
(項目10)
前記第1の受信部は、ユーザによって指定される第2の所定時間が経過する毎に、前記プリンタから前記使用情報を受信し、
前記第2の受信部は、前記第2の所定時間が経過する毎に、前記サーバから、前記最新の使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する、項目3~9のいずれか一項に記載のコンピュータプログラム。
(項目11)
前記使用情報は、前記消耗品である色材の残量を示す情報であり、
前記コンピュータプログラムは、さらに、前記コンピュータを、
前記サーバによって受信された前記使用情報によって示される前記残量が発注閾値以下である場合に、前記サーバから発注確認要求を受信する第4の受信部であって、前記発注確認要求は、前記サーバが前記消耗品を発注するための発注処理を実行すべきか否かを確認するためのコマンドである、前記第4の受信部と、
前記サーバから前記発注確認要求が受信される場合に、前記サーバが前記発注処理を実行すべきか否かをユーザに選択させるための選択画面を前記端末装置の表示部に表示させる表示制御部と、
前記選択画面において、前記サーバが前記発注処理を実行すべきことが前記ユーザによって選択される場合に、前記発注処理を前記サーバに実行させるための発注指示を前記サーバに送信する第2の送信部であって、前記選択画面において、前記サーバが前記発注処理を実行すべきことが前記ユーザによって選択されない場合に、前記発注指示は前記サーバに送信されない、前記第2の送信部と、として機能させる、項目3~10のいずれか一項に記載のコンピュータプログラム。
(項目12)
端末装置であって、
前記端末装置は、プリンタ及びサーバのそれぞれと通信可能であり、
前記プリンタは、第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行し、
前記サーバは、前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて記憶し、
前記端末装置は、
前記プリンタから現在の前記使用情報を受信する第1の受信部と、
前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の受信部と、
前記プリンタから受信された前記使用情報と、前記サーバから受信された前記使用情報と、前記サーバから受信された前記日時情報と、を利用して前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する判断部と、
前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する第1の送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記第1の送信部と、
を備える、端末装置。
2:通信システム、6:インターネット、10:装置、12:操作部、14:表示部、16:通信I/F、20:印刷実行部、20a:カートリッジ、30:制御部、32:CPU、34:メモリ、36:プログラム、100:端末装置、112:操作部、114:表示部、116:通信I/F、130:制御部、132:CPU、134:メモリ、136:OSプログラム、138:サービスアプリ、140:判断テーブル、200:管理サーバ、216:通信I/F、230:制御部、232:CPU、234:メモリ、236:プログラム、238:ユーザテーブル、240:デバイステーブル、242:カートリッジテーブル

Claims (12)

  1. プリンタと、サーバと、端末装置と、を備える通信システムであって、
    前記プリンタは、
    第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行するプリンタ送信部を備え、
    前記サーバは、
    メモリと、
    前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて前記メモリに記憶する第1の記憶制御部と、を備え、
    前記端末装置は、
    前記プリンタから現在の前記使用情報を受信する第1の端末受信部と、
    前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の端末受信部と、
    前記プリンタから受信された前記使用情報と、前記サーバから受信された前記最新の使用情報と、前記サーバから受信された前記日時情報と、を利用して、前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する端末判断部と、
    前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する端末送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記端末送信部と、を備える、通信システム。
  2. 前記プリンタは、さらに、
    前記第1の所定時間が経過する毎に、前記サーバに今回送信されるべき前記使用情報と、前記サーバに前回送信された前記使用情報と、が一致するのか否かを判断するプリンタ判断部を備え、
    前記プリンタ送信部は、今回送信されるべき前記使用情報と、前回送信された前記使用情報と、が一致しないと判断される場合に、前記使用情報を前記サーバに送信することを試行し、
    今回送信されるべき前記使用情報と、前回送信された前記使用情報と、が一致すると判断される場合に、前記使用情報は前記サーバに送信されず、
    前記端末判断部は、
    前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報とが一致するのか否かを判断する第1の端末判断部と、
    前記日時情報を利用して、前記サーバが前記プリンタから前記使用情報を受信してから前記第1の所定時間が経過したことを示すのか否かを判断する第2の端末判断部と、を備え、
    前記端末判断部は、
    前記第1の端末判断部によって前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報とが一致しないと判断され、かつ、前記第2の端末判断部によって前記第1の所定時間が経過したと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていないと判断し、
    前記第1の端末判断部によって前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報とが一致すると判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断し、
    前記第2の端末判断部によって前記第1の所定時間が経過していないと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断する、請求項1に記載の通信システム。
  3. 端末装置のためのコンピュータプログラムであって、
    前記端末装置は、プリンタ及びサーバのそれぞれと通信可能であり、
    前記プリンタは、第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行し、
    前記サーバは、前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて記憶し、
    前記コンピュータプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、
    前記プリンタから現在の前記使用情報を受信する第1の受信部と、
    前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の受信部と、
    前記プリンタから受信された前記使用情報と、前記サーバから受信された前記最新の使用情報と、前記サーバから受信された前記日時情報と、を利用して前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する判断部と、
    前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する第1の送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記第1の送信部と、
    として機能させる、コンピュータプログラム。
  4. 前記使用情報は、前記消耗品である色材の残量を示す情報、及び、前記消耗品である印刷用紙の印刷済み枚数を示す情報のうちの少なくとも一方を含む、請求項3に記載のコンピュータプログラム。
  5. 前記判断部は、
    前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報とが一致するのか否かを判断する第1の判断部と、
    前記日時情報を利用して、前記サーバが前記プリンタから前記使用情報を受信してから前記第1の所定時間が経過したことを示すのか否かを判断する第2の判断部と、を備え、
    前記判断部は、
    前記第1の判断部によって前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報とが一致しないと判断され、かつ、前記第2の判断部によって前記第1の所定時間が経過したと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていないと判断し、
    前記第1の判断部によって前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報とが一致すると判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断し、
    前記第2の判断部によって前記第1の所定時間が経過していないと判断される場合に、前記使用情報が前記プリンタから前記サーバに送信されていると判断する、請求項3又は4に記載のコンピュータプログラム。
  6. 前記日時情報は、前記使用情報を受信した日時を示し、
    前記第2の判断部は、
    前記サーバから受信された前記日時情報によって示される日時と現在日時との差分時間を算出し、
    前記差分時間が前記第1の所定時間以上である場合に、前記第1の所定時間が経過したと判断し、
    前記差分時間が前記第1の所定時間未満である場合に、前記第1の所定時間が経過していないと判断する、請求項5に記載のコンピュータプログラム。
  7. 前記コンピュータプログラムは、さらに、前記コンピュータを、
    前記サーバから、前記第1の所定時間を示す時間情報を受信する第3の受信部として機能させ、
    前記第2の判断部は、前記日時情報と前記時間情報とを利用して、前記サーバが前記プリンタから前記使用情報を受信してから前記第1の所定時間が経過したことを示すのか否かを判断する、請求項5又は6に記載のコンピュータプログラム。
  8. 前記第1の送信部は、前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記プリンタから受信された前記使用情報と前記サーバから受信された前記最新の使用情報との差分が第1の閾値以上である場合に、前記プリンタから受信された前記使用情報を前記サーバに送信し、
    前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記差分が前記第1の閾値未満である場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、請求項3~7のいずれか一項に記載のコンピュータプログラム。
  9. 前記第1の送信部は、前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記プリンタから受信された前記使用情報が第2の閾値以下である場合に、前記プリンタから受信された前記使用情報を前記サーバに送信し、
    前記使用情報が前記プリンタから前記サーバに送信されていないと判断され、かつ、前記プリンタから受信された前記使用情報が前記第2の閾値よりも大きい場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、請求項3~8のいずれか一項に記載のコンピュータプログラム。
  10. 前記第1の受信部は、ユーザによって指定される第2の所定時間が経過する毎に、前記プリンタから前記使用情報を受信し、
    前記第2の受信部は、前記第2の所定時間が経過する毎に、前記サーバから、前記最新の使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する、請求項3~9のいずれか一項に記載のコンピュータプログラム。
  11. 前記使用情報は、前記消耗品である色材の残量を示す情報であり、
    前記コンピュータプログラムは、さらに、前記コンピュータを、
    前記サーバによって受信された前記使用情報によって示される前記残量が発注閾値以下である場合に、前記サーバから発注確認要求を受信する第4の受信部であって、前記発注確認要求は、前記サーバが前記消耗品を発注するための発注処理を実行すべきか否かを確認するためのコマンドである、前記第4の受信部と、
    前記サーバから前記発注確認要求が受信される場合に、前記サーバが前記発注処理を実行すべきか否かをユーザに選択させるための選択画面を前記端末装置の表示部に表示させる表示制御部と、
    前記選択画面において、前記サーバが前記発注処理を実行すべきことが前記ユーザによって選択される場合に、前記発注処理を前記サーバに実行させるための発注指示を前記サーバに送信する第2の送信部であって、前記選択画面において、前記サーバが前記発注処理を実行すべきことが前記ユーザによって選択されない場合に、前記発注指示は前記サーバに送信されない、前記第2の送信部と、として機能させる、請求項3~10のいずれか一項に記載のコンピュータプログラム。
  12. 端末装置であって、
    前記端末装置は、プリンタ及びサーバのそれぞれと通信可能であり、
    前記プリンタは、第1の所定時間が経過する毎に、印刷のための消耗品の使用量に関する現在の情報である使用情報を前記サーバに送信することを試行し、
    前記サーバは、前記プリンタから前記使用情報が受信される毎に、前記使用情報と、前記使用情報を受信した日時に関係する日時情報と、を関連付けて記憶し、
    前記端末装置は、
    前記プリンタから現在の前記使用情報を受信する第1の受信部と、
    前記サーバから、前記サーバが前記プリンタから受信した1個以上の前記使用情報のうちの最新の前記使用情報と、前記最新の使用情報に関連付けられている前記日時情報と、を受信する第2の受信部と、
    前記プリンタから受信された前記使用情報と、前記サーバから受信された前記最新の使用情報と、前記サーバから受信された前記日時情報と、を利用して前記使用情報が前記プリンタから前記サーバに送信されているのか否かを判断する判断部と、
    前記使用情報が前記プリンタから前記サーバに送信されていないと判断される場合に、前記プリンタから受信された前記使用情報を前記サーバに送信する第1の送信部であって、前記使用情報が前記プリンタから前記サーバに送信されていると判断される場合に、前記プリンタから受信された前記使用情報は前記サーバに送信されない、前記第1の送信部と、
    を備える、端末装置。
JP2019176933A 2019-09-27 2019-09-27 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置 Active JP7327048B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019176933A JP7327048B2 (ja) 2019-09-27 2019-09-27 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019176933A JP7327048B2 (ja) 2019-09-27 2019-09-27 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置

Publications (2)

Publication Number Publication Date
JP2021056597A JP2021056597A (ja) 2021-04-08
JP7327048B2 true JP7327048B2 (ja) 2023-08-16

Family

ID=75270714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019176933A Active JP7327048B2 (ja) 2019-09-27 2019-09-27 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置

Country Status (1)

Country Link
JP (1) JP7327048B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138339A (ja) 2009-12-28 2011-07-14 Brother Industries Ltd 消耗品の使用可否判断プログラム、及びシステム
JP2016045550A (ja) 2014-08-20 2016-04-04 セイコーエプソン株式会社 印刷消耗品管理システムおよび消耗品管理サーバー
JP2019008142A (ja) 2017-06-26 2019-01-17 株式会社沖データ 消耗品交換方法および画像形成システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011138339A (ja) 2009-12-28 2011-07-14 Brother Industries Ltd 消耗品の使用可否判断プログラム、及びシステム
JP2016045550A (ja) 2014-08-20 2016-04-04 セイコーエプソン株式会社 印刷消耗品管理システムおよび消耗品管理サーバー
JP2019008142A (ja) 2017-06-26 2019-01-17 株式会社沖データ 消耗品交換方法および画像形成システム

Also Published As

Publication number Publication date
JP2021056597A (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
JP6891718B2 (ja) 通信装置
JP5522095B2 (ja) プリンタ
JP6841052B2 (ja) 通信システム及び登録サーバ
JP2019204275A (ja) 画像処理装置、及び、画像処理装置のためのコンピュータプログラム
US20100296123A1 (en) Image forming apparatus convenient for user when executable job is restricted due to maintenance operation, method for controlling image forming apparatus and recoding medium recording control program of image forming apparatus
JP2015153225A (ja) 印刷指示支援装置、印刷システム及びプログラム
JP7035803B2 (ja) 画像処理装置、及び、画像処理装置のためのコンピュータプログラム
JP7415740B2 (ja) 通信システム、プリンタ、通信システムによって実行される方法、及び、プリンタのためのコンピュータプログラム
JP2012190337A (ja) 通信装置
JP6380138B2 (ja) 通信装置
JP7327048B2 (ja) 通信システム、端末装置のためのコンピュータプログラム、及び、端末装置
JP6828637B2 (ja) 画像処理装置
JP7056148B2 (ja) 通信システム、端末装置のためのコンピュータプログラム、及び、サーバのためのコンピュータプログラム
JP7424209B2 (ja) サーバ、プリンタ、サーバのためのコンピュータプログラム、及び、プリンタのためのコンピュータプログラム
JP2021163309A (ja) プリンタとサーバとそれらのためのコンピュータプログラム
JP6965786B2 (ja) 通信装置
JP7392403B2 (ja) サーバ、及び、サーバのためのコンピュータプログラム
JP7272049B2 (ja) サーバ及びサーバのためのコンピュータプログラム
JP2022131287A (ja) 通信システム、端末装置のためのアプリケーションプログラム、サーバ、及び、サーバのためのコンピュータプログラム
JP7226013B2 (ja) サーバ及びサーバのためのコンピュータプログラム
JP6881033B2 (ja) 管理サーバ
JP2021077105A (ja) サーバ、及び、サーバのためのコンピュータプログラム
EP4198707A1 (en) Server and control method for server
JP7196599B2 (ja) 機能実行装置及び機能実行装置のためのコンピュータプログラム
EP4187366A1 (en) Specific communication device, and non-transitory computer-readable recording medium storing computer readable instructions for specific communication device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230608

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: 20230704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7327048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150