(57)【要約】【課題】同じ消耗品を装着可能な複数個の装置の中から消耗品が交換されるべき装置を容易に見つけることが可能な技術を提供する。【解決手段】  サーバは、Ｎ個の装置からＮ個の装置識別情報とＮ個の消耗品情報とが受信される場合に、Ｎ個の装置識別情報のそれぞれについて、当該装置識別情報と、当該装置識別情報と共に受信された消耗品情報と、を対応づけてメモリに記憶し、メモリ内のＮ個の消耗品情報のうちのＮ１個の消耗品情報が消耗品交換条件を満たす場合に、Ｎ１個の消耗品を発送するための発送処理を実行し、発送処理が実行された後に、Ｎ１個の消耗品情報のうちのＮ２個の消耗品情報を利用して、Ｎ２個の消耗品情報に対応付けられているＮ２個の装置識別情報の中から最初に消耗品を交換すべき第１の装置を識別する第１の装置識別情報を選択し、第１の装置の消耗品を交換すべきことをユーザに通知するための通知処理を外部装置に実行させる。【選択図】図６
2020166361.tif 000002
【特許請求の範囲】
【請求項１】
サーバであって、
同じ消耗品を装着可能なＮ個（前記Ｎは２以上の整数）の装置のそれぞれから、当該装置を識別する装置識別情報と、当該装置に現在装着されている消耗品に関する消耗品情報と、を受信する第１の受信部と、
前記Ｎ個の装置からＮ個の前記装置識別情報とＮ個の前記消耗品情報とが受信される場合に、前記Ｎ個の装置識別情報のそれぞれについて、当該装置識別情報と、当該装置識別情報と共に受信された前記消耗品情報と、を対応づけてメモリに記憶する第１の記憶制御部と、
前記メモリ内の前記Ｎ個の消耗品情報のうちのＮ１個（前記Ｎ１は２以上かつ前記Ｎ以下の整数）の前記消耗品情報が、予め決められている消耗品交換条件を満たす場合に、Ｎ１個の消耗品を前記Ｎ個の装置のユーザに発送するための発送処理を実行する発送処理実行部と、
前記発送処理が実行された後に、前記Ｎ１個の消耗品情報のうちのＮ２個（前記Ｎ２は２以上かつ前記Ｎ１以下の整数）の消耗品情報を利用して、前記Ｎ２個の消耗品情報に対応付けられている前記メモリ内のＮ２個の前記装置識別情報の中から、最初に消耗品を交換すべき第１の装置を識別する第１の装置識別情報を選択する第１の選択部と、
第１の通知実行要求を外部装置に送信する第１の送信部であって、前記第１の通知実行要求は、前記第１の装置識別情報によって識別される前記第１の装置の消耗品を交換すべきことを前記ユーザに通知するための第１の通知処理を前記外部装置に実行させるための要求である、前記第１の送信部と、
を備える、サーバ。
【請求項２】
前記Ｎ個の装置のそれぞれは、印刷機能を実行可能なプリンタであり、
前記消耗品は、前記印刷機能で利用される着色剤を収容するカートリッジであり、
前記消耗品情報は、前記消耗品内の前記着色剤の残量を示し、
前記消耗品情報によって示される前記残量が所定の閾値に到達する場合に、前記消耗品情報が前記消耗品交換条件を満たし、
前記第１の選択部は、前記Ｎ２個の装置識別情報の中から、前記Ｎ２個の消耗品情報のうちの最も少ない残量を示す第１の消耗品情報に対応付けられている前記第１の装置識別情報を選択する、請求項１に記載のサーバ。
【請求項３】
前記消耗品情報は、
送信元の装置に現在装着されている前記消耗品を交換すべきことが前記送信元の装置によって判断される場合に、当該判断が実行された判断日時を示し、
前記送信元の装置に現在装着されている前記消耗品を交換すべきことが前記送信元の装置によって判断されない場合に、前記判断日時を示さず、
前記消耗品情報が前記判断日時を示す場合に、前記消耗品情報が前記消耗品交換条件を満たし、
前記第１の選択部は、前記Ｎ２個の装置識別情報の中から、前記Ｎ２個の消耗品情報のうちの最も古い前記判断日時を示す第１の消耗品情報に対応付けられている前記第１の装置識別情報を選択する、請求項１に記載のサーバ。
【請求項４】
前記外部装置は、前記第１の装置であり、
前記サーバは、さらに、
前記第１の通知実行要求が前記第１の装置に送信された後に、前記第１の装置の前記消耗品が交換される場合に、前記第１の装置から、前記第１の装置の前記消耗品が交換されたことを示す交換情報を受信する第２の受信部と、
前記第１の装置から前記交換情報が受信される場合に、前記Ｎ２個の消耗品情報のうちの前記第１の消耗品情報を除く（Ｎ２−１）個の消耗品情報を利用して、前記（Ｎ２−１）個の消耗品情報に対応付けられている前記メモリ内の（Ｎ２−１）個の前記装置識別情報の中から、最初に消耗品を交換すべき第２の装置であって、前記第１の装置とは異なる前記第２の装置を識別する第２の装置識別情報を選択する第２の選択部と、
第２の通知実行要求を前記第２の装置に送信する第２の送信部であって、前記第２の通知実行要求は、前記第２の装置の消耗品を交換すべきことを前記ユーザに通知するための第２の通知処理を前記第２の装置に実行させるための要求である、前記第２の送信部と、
を備える、請求項２又は３に記載のサーバ。
【請求項５】
前記サーバは、さらに、
前記第１の通知実行要求が前記外部装置に送信された後に、前記第１の装置の前記消耗品が交換される場合に、前記第１の装置から、前記第１の装置の前記消耗品が交換されたことを示す交換情報を受信する第２の受信部と、
前記Ｎ１及び前記Ｎ２のそれぞれが２であり、かつ、２個の前記消耗品を発送するための前記発送処理が実行された結果として前記２個の消耗品が発送された後に、前記第１の装置から前記交換情報が受信される場合に、第２の通知実行要求を前記外部装置に送信する第２の送信部であって、前記第２の通知実行要求は、前記Ｎ２個の装置識別情報のうち、前記第１の装置識別情報とは異なる第２の装置識別情報によって識別される第２の装置の消耗品を交換すべきことを前記ユーザに通知するための第２の通知処理を前記外部装置に実行させるための要求である、前記第２の送信部と、を備え、
前記Ｎ１及び前記Ｎ２のそれぞれが２であり、かつ、２個の前記消耗品を発送するための前記発送処理が実行された結果として１個の前記消耗品しか発送されない場合に、前記第１の装置から前記交換情報が受信されても、前記第２の通知実行要求は送信されない、請求項１から４のいずれか一項に記載のサーバ。
【請求項６】
前記第１の選択部は、前記Ｎ１個の消耗品が発送された発送日時から所定の時間が経過した後に、前記Ｎ２個の消耗品情報を利用して、前記Ｎ２個の装置識別情報の中から前記第１の装置識別情報を選択し、
前記第１の送信部は、前記発送日時から前記所定の時間が経過した後に、前記第１の通知実行要求を前記外部装置に送信する、請求項１から５のいずれか一項に記載のサーバ。
【請求項７】
前記Ｎ個の消耗品情報は、第３の装置から受信された第３の消耗品情報を含み、
前記Ｎ１個の消耗品情報は、前記第３の消耗品情報を含み、
前記サーバは、さらに、
前記発送日時から前記所定の時間が経過する前に、前記第３の装置の消耗品が交換される場合に、前記第３の装置から、前記第３の装置の前記消耗品が交換されたことを示す交換情報を受信する第３の受信部を備え、
前記第３の装置から前記交換情報が受信される場合に、前記Ｎ２個の消耗品情報は、前記第３の消耗品情報を含まない、請求項６に記載のサーバ。
【請求項８】
前記第１の通知処理は、前記第１の装置の前記消耗品を交換すべきことを示すメッセージを表示する処理を含む、請求項１から７のいずれか一項に記載のサーバ。
【請求項９】
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータを以下の各部、即ち、
同じ消耗品を装着可能なＮ個（前記Ｎは２以上の整数）の装置のそれぞれから、当該装置を識別する装置識別情報と、当該装置に現在装着されている消耗品に関する消耗品情報と、を受信する第１の受信部と、
前記Ｎ個の装置からＮ個の前記装置識別情報とＮ個の前記消耗品情報とが受信される場合に、前記Ｎ個の装置識別情報のそれぞれについて、当該装置識別情報と、当該装置識別情報と共に受信された前記消耗品情報と、を対応づけてメモリに記憶する第１の記憶制御部と、
前記メモリ内の前記Ｎ個の消耗品情報のうちのＮ１個（前記Ｎ１は２以上かつ前記Ｎ以下の整数）の前記消耗品情報が、予め決められている消耗品交換条件を満たす場合に、Ｎ１個の消耗品を前記Ｎ個の装置のユーザに発送するための発送処理を実行する発送処理実行部と、
前記発送処理が実行された後に、前記Ｎ１個の消耗品情報のうちのＮ２個（前記Ｎ２は２以上かつ前記Ｎ１以下の整数）の消耗品情報を利用して、前記Ｎ２個の消耗品情報に対応付けられている前記メモリ内のＮ２個の前記装置識別情報の中から、最初に消耗品を交換すべき第１の装置を識別する第１の装置識別情報を選択する第１の選択部と、
第１の通知実行要求を外部装置に送信する第１の送信部であって、前記第１の通知実行要求は、前記第１の装置識別情報によって識別される前記第１の装置の消耗品を交換すべきことを前記ユーザに通知するための第１の通知処理を前記外部装置に実行させるための要求である、前記第１の送信部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、消耗品をユーザに発送するための発送処理を実行するサーバに関する技術を開示する。
【背景技術】
【０００２】
特許文献１には、画像形成装置のための保守管理システムが開示されている。保守管理システムは、交換部品を格納する格納容器を配送する。配送された格納容器は、画像処理装置の側面に接続される。画像処理装置は、格納容器が接続されると、格納容器をロックする。格納容器がロックされることによって、格納容器内の交換部品を取り出すことが禁止される。そして、画像処理装置は、ロックを解除するための認証コードを情報管理装置に送信する。部品交換を行う保守要員は、情報管理装置から取得された認証コードを画像処理装置に入力し、格納容器のロックを解除する。これにより、保守要員は、格納容器から交換部品を取り出して、部品交換を行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１９９９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、同じ部品を複数個の画像処理装置のそれぞれに装着可能である状況を何ら想定していない。複数個の画像処理装置が存在する状況では、保守要員が部品をどの画像処理装置に装着すべきかを把握するのが困難であり得る。
【０００５】
本明細書では、ユーザが、同じ消耗品を装着可能な複数個の装置の中から、消耗品が交換されるべき装置を容易に見つけることが可能な技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示されるサーバは、同じ消耗品を装着可能なＮ個（前記Ｎは２以上の整数）の装置のそれぞれから、当該装置を識別する装置識別情報と、当該装置に現在装着されている消耗品に関する消耗品情報と、を受信する第１の受信部と、前記Ｎ個の装置からＮ個の前記装置識別情報とＮ個の前記消耗品情報とが受信される場合に、前記Ｎ個の装置識別情報のそれぞれについて、当該装置識別情報と、当該装置識別情報と共に受信された前記消耗品情報と、を対応づけてメモリに記憶する第１の記憶制御部と、前記メモリ内の前記Ｎ個の消耗品情報のうちのＮ１個（前記Ｎ１は２以上かつ前記Ｎ以下の整数）の前記消耗品情報が、予め決められている消耗品交換条件を満たす場合に、Ｎ１個の消耗品を前記Ｎ個の装置のユーザに発送するための発送処理を実行する発送処理実行部と、前記発送処理が実行された後に、前記Ｎ１個の消耗品情報のうちのＮ２個（前記Ｎ２は２以上かつ前記Ｎ１以下の整数）の消耗品情報を利用して、前記Ｎ２個の消耗品情報に対応付けられている前記メモリ内のＮ２個の前記装置識別情報の中から、最初に消耗品を交換すべき第１の装置を識別する第１の装置識別情報を選択する第１の選択部と、第１の通知実行要求を外部装置に送信する第１の送信部であって、前記第１の通知実行要求は、前記第１の装置識別情報によって識別される前記第１の装置の消耗品を交換すべきことを前記ユーザに通知するための第１の通知処理を前記外部装置に実行させるための要求である、前記第１の送信部と、を備えてもよい。
【０００７】
上記の構成によれば、サーバは、Ｎ個の装置に装着可能な消耗品をユーザに発送するための発送処理が実行された後に、消耗品交換条件を満たすＮ２個の消耗品情報を利用して、最初に消耗品を交換すべき第１の装置を識別する第１の装置識別情報を特定する。そして、サーバは、第１の通知実行要求を外部装置に送信する。これにより、外部装置は、第１の装置の消耗品を交換すべきことをユーザに通知するための第１の通知処理を実行する。従って、ユーザは、同じ消耗品を装着可能なＮ個の装置の中から消耗品を交換すべき第１の装置を容易に見つけることができる。
【０００８】
上記のサーバを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のサーバと他の装置（例えば、第１の通信装置）とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成を示す。
【図２】各テーブルを示す。
【図３】デバイス情報及び残量情報を記憶するための処理のシーケンス図を示す。
【図４】第１実施例のサービス提供サーバによって実行される処理のフローチャートを示す。
【図５】通知処理のフローチャートを示す。
【図６】図４及び図５処理によって実現される具体的なケースＣ１を示す。
【図７】図６の続きを示す。
【図８】図４及び図５処理によって実現される具体的なケースＣ２を示す。
【図９】図４及び図５処理によって実現される具体的なケースＣ３を示す。
【図１０】第２実施例のサービス提供サーバによって実行される処理のフローチャートを示す。
【発明を実施するための形態】
【００１０】
（第１実施例）
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、サービス提供サーバ（以下では「ＳＰサーバ」と記載する。）１０と、３個のプリンタ１００、２００、３００と、端末装置５００と、発送サーバ９００と、を備える。各プリンタ１００〜３００と端末装置５００は、ＬＡＮ（Local Area Networkの略）４に接続されている。ＬＡＮ４は、インターネット６に接続されている。ＬＡＮ４は、有線ＬＡＮ及び無線ＬＡＮのどちらでもよい。ＳＰサーバ１０は、インターネット６を介して、各装置１００〜５００と通信可能である。ＳＰサーバ１０は、インターネット６を介して、発送サーバ９００と通信可能である。端末装置５００は、デスクトップＰＣ、タブレットＰＣ，スマートフォン等の端末である。
【００１１】
（各プリンタ１００〜３００の構成）
各プリンタ１００〜３００は、インクジェット方式の印刷機能を備える周辺機器（例えば端末装置５００の周辺機器）である。各プリンタ１００〜３００は、同じモデルであり、同じ型番（例えば「ＢＫ０１」）のインクカートリッジを装着可能である。プリンタ１００には、プリンタ１００を識別するためのシリアル番号ＳＮ１が記憶されている。プリンタ２００、３００にも、同様に、シリアル番号ＳＮ１、ＳＮ３が記憶されている。なお、変形例では、各プリンタ１００〜３００は、レーザ方式の印刷機能を備える周辺装置であってもよい。この場合、各プリンタ１００〜３００は、同じ型番のトナーカートリッジを装着可能である。
【００１２】
（発送サーバ９００の構成）
発送サーバ９００は、インクカートリッジをプリンタのユーザに発送する処理を実行可能なサーバである。具体的には、発送サーバ９００は、ＳＰサーバ１０から発注信号を受信すると、発注信号に従って、新たなインクカートリッジをユーザに発送するための処理（例えば作業員への通知）を実行する。ここで、発注信号は、インクカートリッジの発送の指示（即ち発注）を示し、インクカートリッジの発送先の住所を特定可能な情報（例えばユーザ名）を含む。発送サーバ９００は、各プリンタ１００等のベンダとは異なる事業者によってインターネット６上に設置される。なお、変形例では、発送サーバ９００は、当該ベンダによってインターネット６上に設置されてもよい。
【００１３】
（ＳＰサーバ１０の構成）
ＳＰサーバ１０は、発送サーバ９００に発注信号を送信することによって、各プリンタ１００〜３００のユーザにインクカートリッジを発送するサービスを提供するためのサーバである。ＳＰサーバ１０は、各プリンタ１００等のベンダによってインターネット６上に設置される。なお、変形例では、ＳＰサーバ１０は、当該ベンダとは異なる事業者によってインターネット６上に設置されてもよい。
【００１４】
ＳＰサーバ１０は、ネットワークインターフェイス１６と、制御部２０と、を備える。各部１６、２０は、バス線（符号省略）に接続されている。なお、以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。ネットワークＩ／Ｆ１６は、インターネット６を介した通信を実行するためのインターフェースであり、インターネット６に接続されている。制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に格納されているプログラム３０に従って、様々な処理を実行する。メモリ２４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ２４は、上記のプログラム３０の他に、ユーザテーブル３２と、デバイステーブル３４と、カートリッジテーブル３６と、発送テーブル３８と、を記憶する。なお、変形例では、各テーブル３２等は、ＳＰサーバ１０と通信可能に接続されている外部のメモリに記憶されてもよい。
【００１５】
（各テーブルの構成；図２）
ユーザテーブル３２には、１個以上のユーザ情報が記憶される。各ユーザ情報は、ユーザを識別するためのユーザ名（例えばＵＮ）と、パスワード（例えばＰＷ）と、当該ユーザの住所を示す住所情報（例えばＡＤ）と、を含む。また、ユーザテーブル３２は、各ユーザ情報と対応付けて、ＰＩＮ（Personal Identification Numberの略）コード（例えば「１２３４」）を記憶し得る。
【００１６】
デバイステーブル３４には、１個以上のデバイス情報が記憶される。各デバイス情報は、ユーザ名（例えばＵＮ）と、シリアル番号（例えばＳＮ１）と、アクセストークン（例えばＡＴ１）と、を含む。アクセストークンは、プリンタ（例えば１００）とＳＰサーバ１０との間の通信に利用される認証情報である。
【００１７】
カートリッジテーブル３６には、１個以上のカートリッジ情報が記憶される。各カートリッジ情報は、シリアル番号（例えばＳＮ１）と、当該シリアル番号によって識別されるプリンタに装着可能なインクカートリッジの型番（例えば「ＢＫ０１」）と、当該プリンタに現在装着されているインクカートリッジの残量を示す残量情報と、当該プリンタに現在装着されているインクカートリッジが装着された日時を示す装着日時と、発注フラグと、を含む。発注フラグは、発注信号を発送サーバ９００に送信したことを示す「ＯＮ」と、当該発注信号を発送サーバ９００に送信していないことを示す「ＯＦＦ」と、のうちのいずれかの値を示す。なお、発注フラグは、デフォルトで「ＯＦＦ」を示す。
【００１８】
発送テーブル３８には、発送サービスの提供を受ける１人以上のユーザに対応する１個以上の発送情報が記憶される。各発送情報は、ユーザ名（例えばＵＮ）と、インクカートリッジの型番（例えば「ＢＫ０１」）と、発送済みのインクカートリッジの数を示す発送数と、発送済みのインクカートリッジのうちの未装着なインクカートリッジの数を示す未装着数と、インクカートリッジが発送された日時を示す発送日時と、通知フラグと、を含む。通知フラグは、後述する通知処理（図５参照）を実行することを示す「ＯＮ」と、当該通知処理を実行しないことを示す「ＯＦＦ」と、のうちのいずれかの値を示す。通知フラグは、デフォルトで「ＯＦＦ」を示す。発送数、未装着数、及び、発送日数は、ＳＰサーバ１０が発送サーバから発送数と発送日数とを取得する場合に、発送テーブル３８に記憶される。
【００１９】
（情報を各テーブル３４、３６に記憶するための処理；図３）
図３を参照して、デバイス情報をデバイステーブル３４に記憶するための処理と残量情報をカートリッジテーブル３６に記憶するための処理を説明する。なお、以下では、各デバイス１０の各ＣＰＵ（例えばＳＰサーバ１０のＣＰＵ２２等）が実行する処理について、理解の容易さの観点から、各ＣＰＵを主体として記載せずに、各デバイス（例えばＳＰサーバ１０等）を主体として記載する。
【００２０】
図２の初期状態では、ユーザテーブル３２には、ユーザ名ＵＮ及びパスワードＰＷを含むユーザ情報が記憶されている（図１参照）。当該ユーザ情報は、例えば、ユーザが端末装置５００を利用することによってＳＰサーバ１０に記憶される。
【００２１】
端末装置５００は、ユーザから、ＳＰサーバ１０のＵＲＬを指定する操作と、ユーザ名ＵＮ及びパスワードＰＷの入力操作と、を受け付けると、Ｔ１０において、ユーザ名ＵＮ及びパスワードＰＷを含むログイン要求をＳＰサーバ１０に送信する。
【００２２】
ＳＰサーバ１０は、Ｔ１０において、端末装置５００からログイン要求を受信すると、当該ログイン要求に含まれるユーザ名ＵＮ及びパスワードＰＷの組合せがユーザテーブル３２に記憶されているので、Ｔ１２において、認証が成功したと判断する。この場合、ＳＰサーバ１０は、Ｔ１４において、ＰＩＮコード「１２３４」を生成し、ログイン中のユーザ名ＵＮとＰＩＮコード「１２３４」とを対応付けて記憶し、Ｔ１６において、ＰＩＮコード「１２３４」を端末装置５００に送信する。
【００２３】
端末装置５００は、Ｔ１６において、ＳＰサーバ１０からＰＩＮコード「１２３４」を受信すると、Ｔ１８において、ＰＩＮコード「１２３４」を表示する。これにより、ユーザは、ＰＩＮコード「１２３４」を知ることができる。
【００２４】
次いで、プリンタ２００は、Ｔ２０において、ユーザからＰＩＮコード「１２３４」の入力を受け付けると、Ｔ２２において、トークン要求をＳＰサーバ１０に送信する。トークン要求は、アクセストークンの送信をＳＰサーバ１０に要求するためのコマンドであり、ＰＩＮコード「１２３４」と、プリンタ１００のシリアル番号ＳＮ１と、を含む。
【００２５】
ＳＰサーバ１０は、Ｔ２２において、プリンタ１００からトークン要求を受信すると、Ｔ２４において、トークン要求に含まれるＰＩＮコード「１２３４」の認証を実行する。本ケースでは、トークン要求に含まれるＰＩＮコード「１２３４」がユーザテーブル３２内のＰＩＮコード「１２３４」と一致するので、ＳＰサーバ１０は、ＰＩＮコードの認証が成功したと判断する。そして、ＳＰサーバ１０は、Ｔ２６において、アクセストークンＡＴ１を生成する。
【００２６】
Ｔ２８では、ＳＰサーバ１０は、ＰＩＮコード「１２３４」に対応付けられているユーザ名と、トークン要求に含まれるシリアル番号ＳＮ１と、生成済みのアクセストークンＡＴ１と、を含むデバイス情報をデバイステーブル３４に記憶する。Ｔ３０では、ＳＰサーバ１０は、アクセストークンＡＴ１をプリンタ１００に送信する。
【００２７】
プリンタ１００は、Ｔ３０において、ＳＰサーバ１０からアクセストークンＡＴ１を受信すると、Ｔ３２において、アクセストークンＡＴ１を利用して、プリンタ１００とＳＰサーバ１０との間にＸＭＰＰ接続を確立する。ＸＭＰＰ接続は、いわゆる常時接続であり、プリンタ１００の電源が切断されるまで確立され続ける接続である。ＳＰサーバ１０は、ＸＭＰＰ接続を利用すれば、プリンタ１００から要求を受信しなくても、プリンタ１００が所属するＬＡＮ４のファイヤウォールを越えて、プリンタ１００に要求を送信することができる。なお、ＳＰサーバ１０からプリンタに要求を送信する仕組みは、ＸＭＰＰ接続ではなく、他の手法であってもよい。例えば、プリンタ１００とＳＰサーバ１０との間にＨＴＴＰＳ（Hypertext Transfer Protocol Secureの略）接続が確立されてもよい。
【００２８】
プリンタ１００は、ＸＭＰＰ接続の確立が完了すると、Ｔ４０において、プリンタ１００の状態に関する情報をＳＰサーバ１０に通知するための状態通知をＳＰサーバ１０に送信する。状態通知は、シリアル番号ＳＮ１と、プリンタ１００に現在装着されているインクカートリッジに収容されているインクの残量を示す残量情報（例えば「８０％」）を含む。なお、プリンタ１００は、状態通知を定期的（例えば、１時間毎）にＳＰサーバ１０に送信する。
【００２９】
ＳＰサーバ１０は、Ｔ４０において、プリンタ１００から状態通知を受信すると、Ｔ４２において、状態通知に含まれるシリアル番号ＳＮ１に対応付けて、状態通知に含まれる残量情報をカートリッジテーブル３６に記憶する。なお、現時点では、残量情報が所定の閾値（例えば２０％）以上である８０％を示すため、ＳＰサーバ１０は発注信号を発送サーバ９００に送信しない。
【００３０】
（ＳＰサーバの処理；図４）
図４を参照して、ＳＰサーバ１０のＣＰＵ２２によって実行される処理を説明する。当該処理は、ＳＰサーバ１０の電源が投入されることをトリガとして開始される。
【００３１】
ＣＰＵ２２は、Ｓ１０において、プリンタ（例えば１００）から状態通知を受信することを監視し、Ｓ５０において、発送テーブル３８内の発送日時のいずれかについて、当該発送日時から所定の日数（例えば３日）が経過することを監視する。ＣＰＵ２２は、プリンタから状態通知を受信した場合（Ｓ１０でＹＥＳ）に、Ｓ１２に進み、発送日時から所定の日数が経過した場合（Ｓ５０でＹＥＳ）に、Ｓ６０に進む。
【００３２】
Ｓ１２では、ＣＰＵ２２は、受信済みの状態通知内の残量情報によって示される残量が、カートリッジテーブル３６において受信済みの状態通知内のシリアル番号に対応付けられている残量情報によって示される残量よりも増加しているのか否かを判断する。ＣＰＵ２２は、残量が増加していると判断する場合（Ｓ１２でＹＥＳ）に、状態通知内のシリアル番号によって識別されるプリンタのインクカートリッジが交換されたと判断して、Ｓ１４に進む。一方、ＣＰＵ２２は、残量が増加していないと判断する場合（Ｓ１２でＮＯ）に、Ｓ１４とＳ１６の処理をスキップして、Ｓ２０に進む。
【００３３】
Ｓ１４では、ＣＰＵ２２は、デバイステーブル３４及び発送テーブル３８において状態通知内のシリアル番号に対応付けられている未装着数をデクリメントする。そして、Ｓ１６では、ＣＰＵ２２は、カートリッジテーブル３６において状態通知内のシリアル番号に対応付けられている発注フラグを「ＯＮ」から「ＯＦＦ」に変更する。
【００３４】
次いで、Ｓ２０では、ＣＰＵ２２は、状態通知に含まれるシリアル番号ＳＮ１に対応付けて、状態通知に含まれる残量情報をカートリッジテーブル３６に記憶する。Ｓ２０の処理によって、図３のＴ４２の処理が実現される。
【００３５】
次いで、Ｓ３０では、ＣＰＵ２２は、カートリッジテーブル３６において状態通知内のシリアル番号に対応付けられている発注フラグが「ＯＮ」を示すのか否かを判断する。ＣＰＵ２２は、発注フラグが「ＯＮ」を示すと判断する場合（Ｓ３０でＹＥＳ）に、状態通知内のシリアル番号によって識別されるプリンタに装着するためのインクカートリッジが既に発注されていると判断して、後述するＳ３２〜Ｓ３６の処理をスキップして、Ｓ４０に進む。一方、発注フラグが「ＯＦＦ」を示すと判断する場合（Ｓ３０でＮＯ）に、インクカートリッジを発注するのか否かを判断するために、Ｓ３２に進む。
【００３６】
Ｓ３２では、ＣＰＵ２２は、カートリッジテーブル３６において状態通知内のシリアル番号に対応付けられている残量情報によって示される残量が所定の閾値（例えば２０％）以下であるのか否かを判断する。ＣＰＵ２２は、残量が所定の閾値以下であると判断する場合（Ｓ３２でＹＥＳ）に、Ｓ３４に進み、残量が所定の閾値より大きいと判断する場合（Ｓ３２でＮＯ）に、Ｓ３４、Ｓ３６の処理をスキップして、Ｓ４０に進む。なお、Ｓ３４の処理を実行するか否かを判断するための条件は、インクの残量が閾値以下であるという条件だけでなく、他の条件（例えば残量情報の履歴から算出される残量の変化量が所定値以上である条件）を含んでもよい。
【００３７】
Ｓ３４では、ＣＰＵ２２は、カートリッジテーブル３６において状態通知内のシリアル番号に対応付けられている型番のインクカートリッジを発注するための発注信号を発送サーバ９００に送信する。そして、Ｓ３６では、ＣＰＵ２２は、カートリッジテーブル３６において状態通知内のシリアル番号に対応付けられている発注フラグを「ＯＦＦ」から「ＯＮ」に変更する。
【００３８】
次いで、Ｓ４０では、ＣＰＵ２２は、デバイステーブル３４及び発送テーブル３８において状態通知内のシリアル番号に対応付けられている通知フラグが「ＯＮ」を示すのか否かを判断する。ＣＰＵ２２は、通知フラグが「ＯＮ」を示すと判断する場合（Ｓ４０でＹＥＳ）に、Ｓ４２において、後述する通知処理（図５参照）を実行し、通知フラグが「ＯＦＦ」を示すと判断する場合（Ｓ４０でＮＯ）に、Ｓ４２をスキップして、Ｓ１０及びＳ５０の監視に戻る。
【００３９】
また、Ｓ６０では、ＣＰＵ２２は、発送テーブル３８内のある発送日時から所定の日数（例えば３日）が経過する場合（Ｓ５０でＹＥＳ）に、当該発送日時に対応付けられている通知フラグを「ＯＦＦ」から「ＯＮ」に変更する。ここで、所定の日数は、発送サーバ９００がインクカートリッジを発送してからユーザに到着するまでの日数に基づいて予め決められる。そして、Ｓ６２では、ＣＰＵ２２は、通知処理（図５参照）を実行する。Ｓ６２が終了すると、ＣＰＵ２２は、Ｓ１０及びＳ５０の監視に戻る。
【００４０】
（通知処理；図５）
図５を参照して、通知処理（図４のＳ４２及びＳ６２参照）を説明する。Ｓ７０では、ＣＰＵ２２は、対象の未装着数がゼロよりも大きいのか否かを判断する。ここで、対象の未装着数は、図４のＳ４２として通知処理が実行される場合には、デバイステーブル３４及び発送テーブル３８において状態通知内のシリアル番号に対応付けられている未装着数であり、図４のＳ６２として通知処理が実行される場合には、発送テーブル３８において所定の日数が経過したと判断された発送日時に対応付けられている未装着数である。ＣＰＵ２２は、対象の未装着数がゼロよりも大きいと判断する場合（Ｓ７０でＹＥＳ）に、Ｓ７２に進む。一方、ＣＰＵ２２は、対象の未装着数がゼロであると判断する場合（Ｓ７０でＮＯ）に、Ｓ８０に進む。Ｓ８０では、ＣＰＵ２２は、発送テーブル３８において対象の未装着数に対応付けられている通知フラグを「ＯＮ」から「ＯＦＦ」に変更する。Ｓ８０が終了すると、図５の処理が終了する。
【００４１】
Ｓ７２では、ＣＰＵ２２は、発送テーブル３８から対象の未装着数に対応付けられているユーザ名を特定し、デバイステーブル３４から特定済みのユーザ名に対応付けられているＫ１個のシリアル番号（即ち、同じユーザが利用するＫ１個のプリンタのＫ１個のシリアル番号）を特定する。ここで、Ｋ１は、１以上の整数である。
【００４２】
Ｓ７４では、ＣＰＵ２２は、カートリッジテーブル３６から特定済みのＫ１個のシリアル番号に対応付けられているＫ１個の残量情報を特定する。そして、ＣＰＵ２２は、Ｋ１個の残量情報の中から、所定の閾値以下の残量を示すＫ２個の残量情報を特定する。この結果、ＣＰＵ２２は、Ｋ２個の残量情報に対応付けられているＫ２個のシリアル番号を特定する。ここで、Ｋ２は、１以上かつＫ１以下の整数である。
【００４３】
Ｓ７６では、ＣＰＵ２２は、特定済みのＫ２個のシリアル番号の中から、Ｋ２個の残量情報のうちの最も少ない残量を示す対象の残量情報に対応付けられている対象のシリアル番号を選択する。
【００４４】
Ｓ７８では、ＣＰＵ２２は、通知表示要求を対象のシリアル番号によって識別される対象のプリンタに送信する。通知表示要求は、対象のプリンタのインクカートリッジを交換すべきことを示す通知画面の表示を対象の装置に要求するためのコマンドである。なお、通知表示要求は、ＸＭＰＰ接続（図３のＴ３２参照）を利用して、対象のプリンタに送信される。Ｓ７８が終了すると、図５の処理が終了する。
【００４５】
（具体的なケースＣ１；図６、図７）
図６、図７を参照して、図４、図５の処理によって実現される具体的なケースＣ１を説明する。本ケースＣ１の初期状態では、カートリッジテーブル３６において、シリアル番号ＳＮ１、ＳＮ２のそれぞれに対応する発注フラグの双方が「ＯＮ」を示し、シリアル番号ＳＮ３に対応する発注フラグが「ＯＦＦ」を示す。即ち、ＳＰサーバ１０は、プリンタ１００から状態通知を受信した際に、発注信号を発送サーバ９００に送信済みであり、プリンタ２００から状態通知を受信した際に、発注信号を発送サーバ９００に送信済みである。なお、ＳＰサーバ１０は、上記の２個の発注信号を発送サーバ９００に送信しているものの、発送サーバ９００が未だインクカートリッジの発送を実行していないため、発送サーバ９００から発送数と発送日時とを取得していない。このため、現時点において、発送テーブル３８は、発送数、未装着数、発送日時を記憶しておらず、通知テーブルは「ＯＦＦ」を示す。
【００４６】
ＳＰサーバ１０は、Ｔ５０において、プリンタ３００からシリアル番号ＳＮ３と残量「２０％」を示す残量情報とを含む状態通知を受信する（図４のＳ１０でＹＥＳ）。
【００４７】
本ケースでは、現時点において、カートリッジテーブル３６内の残量情報によって示される残量は「２０％」より大きい。このため、Ｔ５２では、ＳＰサーバ１０は、残量が増加していないと判断し（Ｓ１２でＮＯ）、状態通知内の残量情報をカートリッジテーブル３６に記憶する（Ｓ２０）。
【００４８】
Ｔ５４では、ＳＰサーバ１０は、シリアル番号ＳＮ３に対応付けられている発注フラグが「ＯＦＦ」を示すと判断し（Ｓ３０でＮＯ）、さらに、シリアル番号ＳＮ３に対応付けられている残量情報が所定の閾値「２０％」以下であると判断する（Ｓ３２でＹＥＳ）。
【００４９】
Ｔ５６では、ＳＰサーバ１０は、カートリッジテーブル３６においてシリアル番号ＳＮ３に対応付けられている型番「ＢＫ０１」のインクカートリッジを発注するための発注信号を発送サーバ９００に送信する（Ｓ３４）。そして、ＳＰサーバ１０はシリアル番号ＳＮ３に対応付けられている発注フラグを「ＯＦＦ」から「ＯＮ」に変更する（Ｓ３６）。
【００５０】
Ｔ５８では、ＳＰサーバ１０は、シリアル番号ＳＮ３に対応付けられている通知フラグが「ＯＦＦ」を示すと判断する（Ｓ４０でＹＥＳ）。この結果、現時点において、通知処理は実行されない。
【００５１】
次いで、ＳＰサーバ１０は、Ｔ６０において、発送サーバ９００から発送数「３」と発送日時「２０１９．３．１０  １２：００」とユーザ名を特定可能な情報とを取得する。発送数「３」は、ＳＰサーバ１０から発送サーバ９００に送信された３個の発注信号によって３個のインクカートリッジ「ＢＫ０１」が発送されたことを意味する。そして、ＳＰサーバ１０は、発送数「３」から未装着数「３」を推定し、発送数「３」と未装着数「３」と発送日時「２０１９．３．１０  １２：００」とを発送テーブル３８に記憶する。なお、現時点において、通知フラグは「ＯＦＦ」を示す。
【００５２】
次いで、ＳＰサーバ１０は、Ｔ７０において、発送テーブル３８内の発送日時「２０１９．３．１０  １２：００」から所定の日数（例えば３日）が経過したと判断する（図４のＳ５０でＹＥＳ）。なお、発送日時「２０１９．３．１０  １２：００」から所定の日数（例えば３日）が経過するまでの間に各プリンタ１００〜３００から状態通知が受信されるため、カートリッジテーブル内の残量情報によって示される残量は減少する。
【００５３】
Ｔ７２では、ＳＰサーバ１０は、発送日時「２０１９．３．１０  １２：００」に対応付けられている通知フラグを「ＯＦＦ」から「ＯＮ」に変更する（Ｓ６０）。
【００５４】
Ｔ７４では、ＳＰサーバ１０は、発送日時「２０１９．３．１０  １２：００」に対応付けられている未装着数「３」がゼロより大きいと判断する（図５のＳ７０でＹＥＳ）。
【００５５】
Ｔ７６では、ＳＰサーバ１０は、残量が所定の閾値（即ち「２０％」）以下の３個のシリアル番号ＳＮ１〜ＳＮ３を特定する（Ｓ７４）。
【００５６】
Ｔ７８では、ＳＰサーバ１０は、３個のシリアル番号ＳＮ１〜ＳＮ３の中から、最も少ない残量「８％」を示す残量情報に対応付けられているシリアル番号ＳＮ１を選択する（Ｓ７６）。
【００５７】
Ｔ８０では、ＳＰサーバ１０は、通知表示要求をシリアル番号ＳＮ１によって識別されるプリンタ１００に送信する（Ｓ７８）。
【００５８】
プリンタ１００は、Ｔ８０において、ＳＰサーバ１０から通知表示要求を受信すると、Ｔ８２において、通知画面を表示する。通知画面は、インクカートリッジを交換すべきことを示すメッセージを含む。
【００５９】
現時点では、３個のインクカートリッジ「ＢＫ０１」がユーザの元に到着している。Ｔ８４では、ユーザは、通知画面を見て、当該３個のインクカートリッジのうちの１個のインクカートリッジをプリンタ１００に装着する（即ちプリンタ１００のインクカートリッジを交換する）。インクカートリッジが交換されると、プリンタ１００は、Ｔ８６において、通知画面を消去する。
【００６０】
続けて、図７に示すように、プリンタ１００は、インクカートリッジが交換されると、Ｔ１００において、シリアル番号ＳＮ１と残量「１００％」を示す残量情報とを含む状態通知をＳＰサーバ１０に送信する。
【００６１】
ＳＰサーバ１０は、Ｔ１００において、プリンタ１００から状態通知を受信すると、Ｔ１０２において、状態通知内の残量情報によって示される残量「１００％」が、カートリッジテーブル３６内の残量情報によって示される残量「８％」よりも増加していると判断する（図４のＳ１２でＹＥＳ）。
【００６２】
Ｔ１０４では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている未装着数「３」をデクリメントする（Ｓ１４）。この結果、未装着数は「２」となる。
【００６３】
Ｔ１０６では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている発注フラグを「ＯＮ」から「ＯＦＦ」に変更する（Ｓ１６）。
【００６４】
Ｔ１０８では、ＳＰサーバ１０は、状態通知内の残量情報をカートリッジテーブル３６に記憶する（Ｓ２０）。なお、現時点において、シリアル番号ＳＮ１に対応付けられている発注フラグは「ＯＦＦ」を示し（Ｓ３０でＮＯ）、シリアル番号ＳＮ１に対応付けられている残量情報は残量「１００％」を示すので（Ｓ３２でＮＯ）、発注信号は発送サーバ９００に送信されない。
【００６５】
Ｔ１１０では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている通知フラグが「ＯＮ」を示すと判断する（Ｓ４０でＹＥＳ）。
【００６６】
Ｔ１１４では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている未装着数「２」がゼロより大きいと判断する（図５のＳ７０でＹＥＳ）。
【００６７】
Ｔ１１６では、ＳＰサーバ１０は、残量が所定の閾値（即ち「２０％」）以下の２個のシリアル番号ＳＮ２，ＳＮ３を特定する（Ｓ７４）。
【００６８】
Ｔ１１８では、ＳＰサーバ１０は、２個のシリアル番号ＳＮ２、ＳＮ３の中から、最も少ない残量「１２％」を示す残量情報に対応付けられているシリアル番号ＳＮ２を選択する（Ｓ７６）。
【００６９】
Ｔ１２０では、ＳＰサーバ１０は、通知表示要求をシリアル番号ＳＮ２によって識別されるプリンタ２００に送信する（Ｓ７８）。Ｔ１２２〜Ｔ１２６は、通知画面が表示されるプリンタがプリンタ２００である点を除いて、図６のＴ８２〜Ｔ８６と同様である。
【００７０】
プリンタ２００においてインクカートリッジが交換されると、プリンタ２００についても、Ｔ１００〜Ｔ１１８と同様の処理が実行される。この結果、Ｔ１３０において、通知表示要求がプリンタ３００に送信され、Ｔ１３２において、通知画面がプリンタ３００に表示される。
【００７１】
本ケースによれば、最初に、通知画面が３個のプリンタのうちの最も残量が少ないプリンタ１００に表示され（図６のＴ８２）、プリンタ１００のインクカートリッジが交換される（Ｔ８４）。次いで、通知画面が３個のプリンタのうちの２番目に残量が少ないプリンタ２００に表示され（図７のＴ１２２）、プリンタ２００のインクカートリッジが交換される（Ｔ１１４）。そして、最後に、通知画面が３個のプリンタのうちの３番目に残量が少ないプリンタ３００に表示される（図７のＴ１３２）。本ケースによれば、ユーザは、残量が少ない順番に従って、インクカートリッジを順次に交換することができる。
【００７２】
（具体的なケースＣ２；図８）
図８を参照して、図４、図５の処理によって実現される具体的なケースＣ２を説明する。本ケースＣ２の初期状態では、カートリッジテーブル３６において、シリアル番号ＳＮ１に対応する発注フラグが「ＯＮ」を示し、シリアル番号ＳＮ１、ＳＮ３のそれぞれに対応する発注フラグが「ＯＦＦ」を示す。即ち、ＳＰサーバ１０は、プリンタ１００から状態通知を受信した際に、発注信号を発送サーバ９００に送信済みである。なお、ＳＰサーバ１０は、現時点において、発送サーバ９００から発送数と発送日時とを取得していない。このため、現時点において、発送テーブル３８は、発送数、未装着数、発送日時を記憶しておらず、通知テーブルは「ＯＦＦ」を示す。また、カートリッジテーブル３６において、シリアル番号ＳＮ３に対応する残量情報は、残量「８０％」を示す。
【００７３】
Ｔ１５０は、プリンタ２００から状態通知を受信する点を除いて、図６のＴ５０と同様である。Ｔ１５２は、状態通知内の残量情報をシリアル番号ＳＮ２に対応付けて記憶する点を除いて、図６のＴ５２と同様である。そして、プリンタ２００（即ちシリアル番号ＳＮ２）について図５のＴ５４〜Ｔ５８と同様の処理が実行される。この結果、発注信号が送信され、シリアル番号ＳＮ２に対応する発注フラグが「ＯＮ」になる。
【００７４】
次いで、ＳＰサーバ１０は、Ｔ１６０において、発送サーバ９００から発送数「１」と発送日時「２０１９．３．１０  １２：００」とを取得する。上記したように、ＳＰサーバ１０は、プリンタ１００、２００のそれぞれについて、発注信号を発送サーバ９００に送信済みである。しかし、発送サーバ９００は、インクカートリッジの在庫が不足しているため、１個のインクカートリッジ「ＢＫ０１」のみを発送している。上記の発送数「１」は、２個のインクカートリッジを発注した結果として１個のインクカートリッジのみが発送されたことを意味する。そして、ＳＰサーバ１０は、発送数「１」から未装着数「１」を推定し、発送数「１」と未装着数「１」と発送日時「２０１９．３．１０  １２：００」とを発送テーブル３８に記憶する。なお、現時点において、通知フラグは「ＯＦＦ」を示す。
【００７５】
次いで、ＳＰサーバ１０は、図６のＴ７０と同様に、発送日時「２０１９．３．１０  １２：００」から所定の日数（例えば３日）が経過したと判断し、図６と同様にＴ７２〜Ｔ７４と同様の処理を実行する。
【００７６】
Ｔ１７６では、ＳＰサーバ１０は、残量が所定の閾値（即ち「２０％」）以下の２個のシリアル番号ＳＮ１、ＳＮ２を特定する（Ｓ７４）。
【００７７】
Ｔ１７８では、ＳＰサーバ１０は、２個のシリアル番号ＳＮ１、ＳＮ２の中から、最も少ない残量「１２％」を示す残量情報に対応付けられているシリアル番号ＳＮ１を選択する（Ｓ７６）。
【００７８】
Ｔ１８０〜Ｔ１８４は、図６のＴ８０〜Ｔ８４と同様である。Ｔ２００、Ｔ２０２は、図７のＴ１００、Ｔ１０２と同様である。
【００７９】
Ｔ２０４では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている未装着数「１」をデクリメントする（Ｓ１４）。この結果、未装着数は「０」となる。Ｔ２０６〜Ｔ２１０は、図７のＴ１０６〜Ｔ１１０と同様である。
【００８０】
Ｔ２１２では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている未装着数「０」がゼロであると判断する（図５のＳ７０でＮＯ）。
【００８１】
Ｔ２１４では、ＳＰサーバ１０は、状態通知内のシリアル番号ＳＮ１に対応付けられている通知フラグを「ＯＮ」から「ＯＦＦ」に変更する（Ｓ８０）。
【００８２】
本ケースによれば、２個のインクカートリッジを発注した結果として１個のインクカートリッジのみが発送される。この結果、２個のプリンタ１００、２００のインクカートリッジを交換すべき状況において、ユーザの元には１個のインクカートリッジしか到着していない。このような状況において、ＳＰサーバ１０は、発送サーバ９００から取得した発送数「１」を未装着数「１」として記憶し（Ｔ１６０）、プリンタ１００から残量「１００％」を示す残量情報を含む状態通知を受信する場合（Ｔ２００）に、未装着数「１」をデクリメントする（Ｔ２０４）。そして、ＳＰサーバ１０は、未装着数「０」がゼロであると判断して（Ｔ２１４）、通知表示要求をプリンタ２００に送信しない。このような構成によれば、プリンタ２００に装着すべきインクカートリッジがユーザの元に到着していない状況において、通知画面がプリンタ２００に表示されることを抑制することができる。
【００８３】
（具体的なケースＣ３；図９）
図９を参照して、図４、図５の処理によって実現される具体的なケースＣ３を説明する。本ケースＣ３の初期状態は、図６のケースＣ１の初期状態と同様である。この結果、図６のＴ５０〜Ｔ６０と同様の処理が実行される。
【００８４】
本ケースＣ３では、発送日時「２０１９．３．１０  １２：００」から所定の日数（例えば３日）が経過する前に、３個のインクカートリッジ「ＢＫ０１」がユーザの元に到着する。Ｔ２４０では、ユーザは、当該３個のインクカートリッジのうちの１個のインクカートリッジをプリンタ１００に装着する。
【００８５】
プリンタ１００は、インクカートリッジが交換されると、Ｔ２５０において、シリアル番号ＳＮ１と残量「１００％」を示す残量情報とを含む状態通知をＳＰサーバ１０に送信する。Ｔ２５２〜Ｔ２５８は、図７のＴ１０２〜Ｔ１０８と同様である。
【００８６】
Ｔ２６０では、ＳＰサーバ１０は、シリアル番号ＳＮ１に対応付けられている通知フラグが「ＯＦＦ」を示すと判断する（図４のＳ４０でＮＯ）。この結果、現時点において、通知表示要求は送信されない。
【００８７】
Ｔ２７０〜Ｔ２７４は、図６のＴ７０〜Ｔ７４と同様である。Ｔ２７６では、ＳＰサーバ１０は、残量が所定の閾値（即ち「２０％」）以下の２個のシリアル番号ＳＮ２、ＳＮ３を特定する（Ｓ７４）。Ｔ２７８では、ＳＰサーバ１０は、２個のシリアル番号ＳＮ２、ＳＮ３の中から、最も少ない残量「１２％」を示す残量情報に対応付けられているシリアル番号ＳＮ２を選択する（Ｓ７６）。Ｔ２８０では、ＳＰサーバ１０は、通知表示要求をシリアル番号ＳＮ２によって識別されるプリンタ２００に送信する（Ｓ７８）。
【００８８】
プリンタ２００は、Ｔ２８０において、ＳＰサーバ１０から通知表示要求を受信すると、Ｔ２８２において、通知画面を表示する。
【００８９】
本ケースによれば、インクカートリッジが予定よりも早く交換される状況において、通知画面がインクカートリッジの交換済みのプリンタ１００に表示されることを抑制することができる。
【００９０】
（本実施例の効果）
本実施例の構成によれば、ＳＰサーバ１０は、３個のインクカートリッジをユーザに発送するための３個の発注信号を発送サーバ９００に送信した後に、残量が所定の閾値以下である３個の残量情報（即ち３個のシリアル番号ＳＮ１〜ＳＮ３に対応する３個の残量情報）を利用して、３個のシリアル番号ＳＮ１〜ＳＮ３の中から、３個の残量情報のうちの最も少ない残量「８％」を示す残量情報に対応付けられているシリアル番号ＳＮ１を選択する（図６のＴ７８）。そして、ＳＰサーバ１０は、通知表示要求をシリアル番号ＳＮ１によって識別されるプリンタ１００に送信する（Ｔ８０）。これにより、プリンタ１００は、インクカートリッジを交換すべきことを示す通知画面を表示する（Ｔ８２）。従って、ユーザは、３個のプリンタ１００〜３００の中からインクカートリッジを交換すべきプリンタ１００を容易に見つけることができる。
【００９１】
また、ＳＰサーバ１０は、発送日時から所定の日数が経過した場合（Ｓ５０でＹＥＳ）に、通知処理を実行する（Ｓ６２）。このような構成によれば、通知画面をインクカートリッジがユーザの元に到着すると予測される日時に表示させることができる。
【００９２】
（対応関係）
ＳＰサーバ１０、メモリ２４、インクカートリッジが、それぞれ、「サーバ」、「メモリ」、「消耗品」の一例である。３個のプリンタ１００〜３００が、「Ｎ個の装置」の一例である。シリアル番号、残量情報が、それぞれ、「装置識別情報」、「消耗品情報」の一例である。残量が所定の閾値以下であることが、「消耗品交換条件」の一例である。図４のＳ３４の発注信号を送信する処理が、「発送処理」の一例である。通知表示指示が、「第１の通知実行要求（及び第２の通知実行要求）」の一例である。通知画面を表示する処理が、「第１の通知処理（及び第２の通知処理）」の一例である。図４のＳ５０の所定の日数が、「所定の時間」の一例である。
【００９３】
ケースＣ１（図６、図７）及びケースＣ２（図８）について、プリンタ１００、シリアル番号ＳＮ１が、それぞれ、「第１の装置（及び外部装置）」、「第１の装置識別情報」の一例である。ケースＣ１について、図６のＴ７６の３個の残量情報が、「Ｎ１個の消耗品情報（及びＮ２個の消耗品情報）」の一例である。図７のＴ１００の残量情報「１００％」が、「交換情報」の一例である。プリンタ２００、シリアル番号ＳＮ２が、それぞれ、「第２の装置」、「第２の装置識別情報」の一例である。また、ケースＣ２について、図８のＴ１１６の２個の残量情報が、「Ｎ１個の消耗品情報（及びＮ２個の消耗品情報）」の一例である。図８のＴ２００の残量情報「１００％」が、「交換情報」の一例である。
【００９４】
ケースＣ３（図９）について、プリンタ１００、Ｔ２５０の残量情報「１００％」が、それぞれ、「第３の装置」、「交換情報」の一例である。プリンタ２００、シリアル番号ＳＮ２が、それぞれ、「第１の装置（及び外部装置）」、「第１の装置識別情報」の一例である。発送数「３」に対応する３個の残量情報が、「Ｎ１個の消耗品情報」の一例である。Ｔ２７６の２個の残量情報が、「Ｎ２個の消耗品情報」の一例である。
【００９５】
図４のＳ１０、Ｓ２０、Ｓ３４が、それぞれ、「第１の受信部」、「第１の記憶制御部」、「発送処理実行部」によって実現される処理の一例である。図５のＳ７４とＳ７６が、「第１の選択部」によって実現される処理の一例である。Ｓ７８が、「第１の送信部」によって実現される処理の一例である。
【００９６】
（第２実施例）
本実施例では、主に、発注信号を送信するための条件が第１実施例と異なる。これに伴い、ＳＰサーバ１０の処理の内容が第１実施例と異なる。
【００９７】
本実施例では、プリンタ（例えば１００）は、残量情報を含む状態通知の送信に代えて、判断情報を含む状態通知をＳＰサーバ１０に送信する（図３のＴ４０参照）。そして、カートリッジテーブル３６は、残量情報に代えて、判断情報を記憶する（図２参照）。ここで、「判断情報」は、状態通知の送信元のプリンタに現在装着されているインクカートリッジを交換すべきことが送信元のプリンタによって判断される場合に、当該判断が実行された判断日時を示す。一方、「判断情報」は、当該インクカートリッジを交換すべきことが送信元のプリンタによって判断されない場合に、空情報を示す。具体的には、「判断情報」は、当該インクカートリッジを交換すべきことが送信元のプリンタによって判断されてから当該インクカートリッジが交換されるまでの間において判断日時を示し、当該インクカートリッジが交換されてから次に当該インクカートリッジを交換すべきことが送信元のプリンタによって判断されるまでの間において空情報を示す。送信元のプリンタは、例えば、当該インクカートリッジの残量が所定の閾値（例えば２０％）以下である場合に、当該インクカートリッジを交換すべきことを判断する。
【００９８】
（ＳＰサーバの処理；図１０）
図１０を参照して、本実施例のＳＰサーバ１０の処理を説明する。Ｓ１１０、Ｓ１５０、Ｓ１６０は、図４のＳ１０、Ｓ５０、Ｓ５２と同様である。Ｓ１６２は、通知処理の内容が異なる点を除いて、Ｓ６２と同様である。
【００９９】
ＳＰサーバ１０のＣＰＵ２２は、プリンタから状態通知を受信した場合（Ｓ１１０でＹＥＳ）に、Ｓ１１２において、受信済みの状態通知に交換情報が含まれるのか否かを判断する。交換情報は、状態通知の送信元のプリンタにおいてインクカートリッジが交換されたことを示す情報である。ＣＰＵ２２は、状態通知に交換情報が含まれると判断する場合（Ｓ１１２でＹＥＳ）に、Ｓ１１４に進み、状態通知に交換情報が含まれないと判断する場合（Ｓ１１２でＮＯ）に、Ｓ１１４〜Ｓ１１６の処理をスキップしてＳ１２０に進む。
【０１００】
Ｓ１１４、Ｓ１１６は、図４のＳ１４、Ｓ１６と同様である。Ｓ１２０は、状態通知内の判断情報がカートリッジテーブルに記憶される点を除いて、図４のＳ２０と同様である。Ｓ１３０は、図４のＳ３０と同様である。
【０１０１】
Ｓ１３２では、ＣＰＵ２２は、状態通知内のシリアル番号に対応付けられている判断情報が判断日時を示すのか否かを判断する。ＣＰＵ２２は、判断情報が判断日時を示すと判断する場合（Ｓ１３２でＹＥＳ）に、Ｓ１３４に進み、判断情報が空情報を示すと判断する場合（Ｓ１３２でＮＯ）に、Ｓ１３４、Ｓ１３６をスキップして、Ｓ１４０に進む。
【０１０２】
Ｓ１３４〜Ｓ１４０は、図４のＳ３６〜Ｓ４０と同様である。Ｓ１４２は、通知処理の内容が異なる点を除いて、Ｓ４２と同様である。
【０１０３】
（通知処理；図５）
図５を参照して、本実施例の通知処理を説明する。本実施例では、Ｓ７２の処理の後に、Ｓ１７４とＳ１７６の処理が実行される。Ｓ１７４では、ＣＰＵ２２は、カートリッジテーブル３６からＳ７２で特定されたＫ１個のシリアル番号に対応付けられているＫ１個の判断情報を特定する。そして、ＣＰＵ２２は、Ｋ１個の判断情報の中から、判断日時を示すＫ２個の残量情報を特定する。この結果、ＣＰＵ２２は、Ｋ２個の判断情報に対応付けられているＫ２個のシリアル番号を特定する。
【０１０４】
Ｓ１７６では、ＣＰＵ２２は、特定済みのＫ２個のシリアル番号の中から、Ｋ２個の判断情報のうちの最も古い判断日時を示す対象の判断情報に対応付けられている対象のシリアル番号を選択する。Ｓ１７６が終了すると、Ｓ７８に進む。
【０１０５】
例えば、図６のケースＣ１において、カートリッジテーブル３６において、３個の残量情報に代えて、判断日時を示す３個の判断情報が記憶されている状況を想定する。この場合、ＳＰサーバ１０は、３個のインクカートリッジをユーザに発送するための３個の発注信号を発送サーバ９００に送信した後に、判断日時を示す３個の判断情報（例えば３個のシリアル番号ＳＮ１〜ＳＮ３に対応する３個の判断情報）を利用して、３個のシリアル番号ＳＮ１〜ＳＮ３の中から、３個の判断情報のうちの最も古い判断日時を示す判断情報に対応付けられているシリアル番号（例えばＳＮ１）を選択する（図６のＴ７８参照）。そして、ＳＰサーバ１０は、通知表示要求をシリアル番号（例えばＳＮ１）によって識別されるプリンタ（例えば１００）に送信する（Ｔ８０参照）。これにより、当該プリンタは、インクカートリッジを交換すべきことを示す通知画面を表示する（Ｔ８２参照）。従って、ユーザは、３個のプリンタ１００〜３００の中からインクカートリッジを交換すべきプリンタ１００を容易に見つけることができる。判断情報、判断情報が判断日時を示すことが、それぞれ、「消耗品情報」、「消耗品交換条件」の一例である。
【０１０６】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１０７】
（変形例１）「Ｎ個の装置」は、３個のプリンタ１００〜３００に限らず、例えば、Ｎ個のスキャナ、Ｎ個の端末装置であってもよい。例えば、Ｎ個の装置がＮ個のスキャナである場合、「消耗品」は、定期的に交換が必要な部品（例えばベルト）であってもよい。
【０１０８】
（変形例２）「メモリ」は、ＳＰサーバ１０のメモリ２４に限らず、例えば、ＳＰサーバ１０とは別体に構成されている外部のメモリであってもよい。
【０１０９】
（変形例３）上記の各実施例では、通信システム２は、発送サーバ９００を備え、ＳＰサーバ１０は、発注信号を発送サーバ９００に送信する（図４のＳ３４）。これに代えて、通信システム２は、発送サーバ９００を備えなくてもよい。そして、ＳＰサーバ１０は、図４のＳ３２でＹＥＳと判断される場合に、インクカートリッジを発送する命令を作業員に通知してもよい。本変形例では、インクカートリッジを発送する命令を作業員に通知することが、「発送処理」の一例である。
【０１１０】
（変形例４）上記の各実施例では、ＳＰサーバ１０は、通知表示要求を対象のプリンタに送信する（図５のＳ７８）。これに代えて、ＳＰサーバ１０は、対象のプリンタのインクカートリッジを交換すべきことを示す通知画面の表示を端末装置（例えば５００）に要求するためのコマンドを当該端末装置に送信してもよい。本変形例では、当該端末装置が、「外部装置」の一例である。
【０１１１】
（変形例５）上記の各実施例では、プリンタ１００は、通知画面を表示する（図６のＴ８２）。これに代えて、プリンタ１００は、インクカートリッジの交換をユーザに知らせるためのランプを点灯してもよい。本変形例では、ランプを点灯することが、「第１の通知処理（及び第２の通知処理）」の一例である。
【０１１２】
（変形例６）上記の各実施例では、状態通知は、残量情報を含む。これに代えて、状態通知は、インクカートリッジに収容されているインクの使用量を示す使用量情報を含んでもよい。本変形例では、使用量情報が、「消耗品情報」の一例である。また、「着色材」は、インクジェット方式のインクに限らず、レーザ方式のトナーであってもよい。
【０１１３】
（変形例７）上記の第１実施例では、図５のＳ７４の処理の後にＳ７６の処理が実行される。これに代えて、Ｓ７６の処理（即ち最少残量のシリアル番号の選択）の後にＳ７４の処理（即ち選択済みのシリアル番号の残量が閾値以下であるか否かの判断）を実行してもよい。本変形例では、Ｓ７６の処理の後にＳ７４の処理を実行することが、「第１の選択部」によって実現される処理の一例である。
【０１１４】
（変形例８）ケースＣ２の処理は実行されなくてもよい。一般的に言えば、２個の消耗品を発送するための発送処理が実行された結果として１個の消耗品しか発送されない状況は、想定されなくてもよい。
【０１１５】
（変形例９）ケースＣ３の処理は実行されなくてもよい。本変形例では、「第３の受信部」を省略可能である。
【０１１６】
（変形例１０）図４のＳ５０の処理は実行されなくてもよい。これに代えて、ＳＰサーバ１０は、発送サーバ９００から発送数と発送日時とを取得した直後に、Ｓ６０、Ｓ６２の処理を実行してもよい。本変形例では、「所定の時間」を省略可能である。
【０１１７】
（変形例１１）上記の各実施例では、図３〜図１０の各処理がソフトウェア（例えばプログラム３０）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【０１１８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【０１１９】
２：通信システム、６：インターネット、１０：サービス提供サーバ、１６：ネットワークＩ／Ｆ、２０：制御部、２２：ＣＰＵ、２４：メモリ、３０：プログラム、３２：ユーザテーブル、３４：デバイステーブル、３６：カートリッジテーブル、３８：発送テーブル、１００〜３００：プリンタ、５００：端末装置、９００：発送サーバ、ＵＮ：ユーザ名、ＰＷ：パスワード、ＳＮ１〜ＳＮ３：シリアル番号、ＡＴ１：アクセストークン
【図１】
2020166361.tif 000003
【図２】
2020166361.tif 000004
【図３】
2020166361.tif 000005
【図４】
2020166361.tif 000006
【図５】
2020166361.tif 000007
【図６】
2020166361.tif 000008
【図７】
2020166361.tif 000009
【図８】
2020166361.tif 000010
【図９】
2020166361.tif 000011
【図１０】
2020166361.tif 000012