(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-13
(45)【発行日】2022-12-21
(54)【発明の名称】端末装置、システム、および、コンピュータプログラム
(51)【国際特許分類】
H04L 67/02 20220101AFI20221214BHJP
H04M 11/00 20060101ALI20221214BHJP
【FI】
H04L67/02
H04M11/00 302
(21)【出願番号】P 2018114060
(22)【出願日】2018-06-14
【審査請求日】2021-05-28
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】阮 竜竜
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2018-010384(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/02
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
デバイスとネットワークを介して通信可能に接続される端末装置であって、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信部であって、前記制御対象のデバイスが変更されたことを契機に、変更後の前記制御対象のデバイスの属性に関する属性情報を前記サーバに送信する、前記情報送信部と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信部と、
を備える、端末装置。
【請求項2】
デバイスとネットワークを介して通信可能に接続される端末装置であって、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信部であって、一の属性情報の前記サーバへの送信に失敗したために前記一の属性情報が前記サーバに未送信であり、かつ、その後に前記制御対象のデバイスの属性が変更されたために送信すべき属性情報が前記一の属性情報から他の属性情報に変更された場合に、前記他の属性情報を前記サーバに送信し、前記一の属性情報を前記サーバに送信しない、前記情報送信部と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信部と、
を備える、端末装置。
【請求項3】
デバイスとネットワークを介して通信可能に接続される端末装置であって、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信部であって、
一の属性情報の前記サーバへの送信に失敗したために前記一の属性情報が前記サーバに未送信であり、かつ、その後に前記制御対象のデバイスの属性が変更されたために送信すべき属性情報が前記一の属性情報から他の属性情報に変更された場合に、前記一の属性情報の送信の失敗の直前に送信済みの属性情報と前記他の属性情報とが一致するか否かを判断し、
前記送信済みの属性情報と前記他の属性情報とが一致する場合には、前記他の属性情報を前記サーバに送信せず、
前記送信済みの属性情報と前記他の属性情報とが一致しない場合には、前記他の属性情報を前記サーバに送信する、
前記情報送信部と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信部と、
を備える、端末装置。
【請求項4】
デバイスとネットワークを介して通信可能に接続される端末装置であって、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信部であって、前記制御対象のデバイスの属性が変更された場合に、変更後の属性に関する属性情報を前記サーバに送信する、前記情報送信部と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信部と、
を備え、
前記受信部は、前記変更後の属性に関する属性情報の送信前に前記変更後の属性を有するデバイスを制御対象とする他の端末装置が受信済みであり、かつ、前記端末装置が未受信である前記一のプッシュ通知データを、前記変更後の属性に関する属性情報の送信後に受信する、端末装置。
【請求項5】
デバイスとネットワークを介して通信可能に接続される端末装置であって、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信部であって、
前記制御対象のデバイスの属性が第5の属性から第6の属性に変更された場合に、前記制御対象のデバイスの属性が前記第5の属性から前記第6の属性に変更されたことを示す一の属性情報を前記サーバへ送信し、
前記一の属性情報の送信および前記一の属性情報に基づいて前記サーバ
がプッシュ通知データの送信先を変更する処理とのいずれかが失敗した場合であって、その後に前記制御対象のデバイスの属性が前記第6の属性から第7の属性に変更された場合には、前記制御対象のデバイスの属性が前記第5の属性から前記第7の属性に変更されたことを示す属性情報を送信する、
前記情報送信部と、
外部装置において前記端末装置が
前記プッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信部と、
を備える、端末装置。
【請求項6】
請求項1~5のいずれかに記載の端末装置であって、さらに、
受信済みの前記プッシュ通知データに含まれる条件情報であって前記プッシュ通知データの報知条件を示す条件情報と、前記制御対象のデバイスの属性と、に基づいて、受信済みの前記プッシュ通知データの前記報知条件が満たされるか否かを判断する判断部と、
受信済みの前記プッシュ通知データの前記報知条件が満たされる場合に、受信済みの前記プッシュ通知データに基づいて、ユーザへの報知を実行し、受信済みの前記プッシュ通知データの前記報知条件が満たされない場合に、受信済みの前記プッシュ通知データに基づいて、前記ユーザへの報知を実行しない、報知部と、
を備え、
特定の属性情報が前記サーバに送信された後に、前記制御対象のデバイスの属性が変更され、その後に前記特定の属性情報を用いて選択される特定のプッシュ通知データが受信される場合に、前記判断部は、前記特定のプッシュ通知データの前記報知条件は満たされないと判断し、前記報知部は、前記特定のプッシュ通知データに基づく前記ユーザへの報知を実行しない、端末装置。
【請求項7】
デバイスとネットワークを介して通信可能に接続される端末装置と、前記端末装置とネットワークを介して通信可能に接続される制御サーバと、前記制御サーバと通信可能な通知サーバと、を備えるシステムであって、
前記端末装置は、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を前記制御サーバに送信する情報送信部と、
前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部と、
を備え、
前記制御サーバは、
前記端末装置から送信される属性情報を用いて、前記プッシュ通知データの送信先を決定する決定部であって、前記制御対象のデバイスが第1の属性を有し第2の属性を有しない場合には、前記端末装置を、前記第1の属性に関する第1種のプッシュ通知データの送信先として決定し、前記第2の属性に関する第2種のプッシュ通知データの送信先として決定せず、前記制御対象のデバイスが前記第2の属性を有し前記第1の属性を有しない場合には、前記端末装置を、前記第2種のプッシュ通知データの送信先として決定し、前記第1種のプッシュ通知データの送信先として決定しない、前記決定部と、
前記決定部によって決定済みの送信先に前記プッシュ通知データを送信する送信指示を前記通知サーバに送信する指示送信部と、
を備え、
前記通知サーバは、前記送信指示に従って、送信先に前記プッシュ通知データを送信する通知送信部と、
前記プッシュ通知データの送信先のリストを格納するメモリと、
前記リストの変更指示に従って前記リストを変更する変更部と、
を備え、
前記制御サーバは、さらに、前記プッシュ通知データの送信先を変更するために、前記リストを変更する変更指示を前記通知サーバに送信する指示送信部を備え、
前記指示送信部は、第1のリストを第2のリストに変更する第1の変更指示の送信後に、さらに、前記変更指示を送信する際に、前記第1の変更指示に基づく前記リストの変更が成功した場合には、前記第2のリストを第3のリストに変更する第2の変更指示を送信し、前記第1の変更指示に基づく前記リストの変更が失敗した場合には、前記第1のリストを前記第3のリストに変更する第3の変更指示を送信する、システム。
【請求項8】
デバイスとネットワークを介して通信可能に接続される端末装置のためのコンピュータプログラムであって、
前記デバイスを制御する制御機能と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信機能であって、前記制御対象のデバイスが変更されたことを契機に、変更後の前記制御対象のデバイスの属性に関する属性情報を前記サーバに送信する、前記情報送信機能と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信機能であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信機能と、
を前記端末装置に搭載されたコンピュータに実現させる、コンピュータプログラム。
【請求項9】
デバイスとネットワークを介して通信可能に接続される端末装置のためのコンピュータプログラムであって、
前記デバイスを制御する制御機能と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信機能であって、一の属性情報の前記サーバへの送信に失敗したために前記一の属性情報が前記サーバに未送信であり、かつ、その後に前記制御対象のデバイスの属性が変更されたために送信すべき属性情報が前記一の属性情報から他の属性情報に変更された場合に、前記他の属性情報を前記サーバに送信し、前記一の属性情報を前記サーバに送信しない、前記情報送信機能と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信機能であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信機能と、
を前記端末装置に搭載されたコンピュータに実現させる、コンピュータプログラム。
【請求項10】
デバイスとネットワークを介して通信可能に接続される端末装置のためのコンピュータプログラムであって、
前記デバイスを制御する制御機能と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信機能であって、
一の属性情報の前記サーバへの送信に失敗したために前記一の属性情報が前記サーバに未送信であり、かつ、その後に前記制御対象のデバイスの属性が変更されたために送信すべき属性情報が前記一の属性情報から他の属性情報に変更された場合に、前記一の属性情報の送信の失敗の直前に送信済みの属性情報と前記他の属性情報とが一致するか否かを判断し、
前記送信済みの属性情報と前記他の属性情報とが一致する場合には、前記他の属性情報を前記サーバに送信せず、
前記送信済みの属性情報と前記他の属性情報とが一致しない場合には、前記他の属性情報を前記サーバに送信する、
前記情報送信機能と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信機能であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信機能と、
を前記端末装置に搭載されたコンピュータに実現させる、コンピュータプログラム。
【請求項11】
デバイスとネットワークを介して通信可能に接続される端末装置のためのコンピュータプログラムであって、
前記デバイスを制御する制御機能と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信機能であって、前記制御対象のデバイスの属性が変更された場合に、変更後の属性に関する属性情報を前記サーバに送信する、前記情報送信機能と、
外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信機能であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信機能と、
を前記端末装置に搭載されたコンピュータに実現させ、
前記受信機能は、前記変更後の属性に関する属性情報の送信前に前記変更後の属性を有するデバイスを制御対象とする他の端末装置が受信済みであり、かつ、前記端末装置が未受信である前記プッシュ通知データを、前記変更後の属性に関する属性情報の送信後に受信する、コンピュータプログラム。
【請求項12】
デバイスとネットワークを介して通信可能に接続される端末装置のためのコンピュータプログラムであって、
前記デバイスを制御する制御機能と、
制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信機能であって、
前記制御対象のデバイスの属性が第5の属性から第6の属性に変更された場合に、前記制御対象のデバイスの属性が前記第5の属性から前記第6の属性に変更されたことを示す一の属性情報を前記サーバへ送信し、
前記一の属性情報の送信および前記一の属性情報に基づいて前記サーバ
がプッシュ通知データの送信先を変更する処理とのいずれかが失敗した場合であって、その後に前記制御対象のデバイスの属性が前記第6の属性から第7の属性に変更された場合には、前記制御対象のデバイスの属性が前記第5の属性から前記第7の属性に変更されたことを示す属性情報を送信する、
前記情報送信機能と、
外部装置において前記端末装置が
前記プッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信機能であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信機能と、
を前記端末装置に搭載されたコンピュータに実現させる、コンピュータプログラム。
【請求項13】
請求項8~12のいずれかに記載のコンピュータプログラムであって、さらに、
受信済みの前記プッシュ通知データに含まれる条件情報であって前記プッシュ通知データの報知条件を示す条件情報と、前記制御対象のデバイスの属性と、に基づいて、受信済みの前記プッシュ通知データの前記報知条件が満たされるか否かを判断する判断機能と、
受信済みの前記プッシュ通知データの前記報知条件が満たされる場合に、受信済みの前記プッシュ通知データに基づいて、ユーザへの報知を実行し、受信済みの前記プッシュ通知データの前記報知条件が満たされない場合に、受信済みの前記プッシュ通知データに基づいて、前記ユーザへの報知を実行しない、報知機能と、
を前記コンピュータに実現させ、
特定の属性情報が前記サーバに送信された後に、前記制御対象のデバイスの属性が変更され、その後に前記特定の属性情報を用いて選択される特定のプッシュ通知データが受信される場合に、前記判断機能は、前記特定のプッシュ通知データの前記報知条件は満たされないと判断し、前記報知機能は、前記特定のプッシュ通知データに基づく前記ユーザへの報知を実行しない、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、デバイスと通信可能に接続される端末装置がプッシュ通知データを受信する技術に関する。
【背景技術】
【0002】
特許文献1に開示された技術では、プッシュ通知サーバは、報知条件を指定する情報を含むプッシュ通知データを、端末装置に送信する。端末装置は、制御対象のプリンタからプリンタ情報を取得し、プリンタ情報を用いて報知条件が満たされるか否かを判断する。端末装置は、報知条件が満たされる場合に、プッシュ通知データの内容を表示部に表示し、報知条件が満たされない場合に、プッシュ通知データの内容を表示部に表示しない。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記技術では、端末装置は、プッシュ通知データの内容を表示部に表示しないにも拘わらずに、プッシュ通知データを受信するので、不要なプッシュ通知データを受信する場合があった。不要なプッシュ通知の受信は、例えば、端末装置や通信回線のリソースの無駄遣いになる可能性があった。
【0005】
本明細書は、デバイスと通信可能に接続される端末装置において、不要なプッシュ通知データの受信を抑制する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【0007】
[適用例1]デバイスとネットワークを介して通信可能に接続される端末装置であって、前記デバイスを制御する制御部と、制御対象の前記デバイスの属性に関する属性情報を、ネットワークを介してサーバに送信する情報送信部と、外部装置において前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部であって、前記プッシュ通知データの送信先が前記サーバに送信される属性情報を用いて前記外部装置において決定されることによって、前記制御対象のデバイスが有する属性に関する一のプッシュ通知データを受信し、前記制御対象のデバイスが有しない属性に関する他のプッシュ通知データを受信しない、前記受信部と、を備える、端末装置。
【0008】
上記構成によれば、端末装置は、制御対象のデバイスが第1の属性を有する場合には、第1の属性に関する第1種のプッシュ通知データを受信し、第2の属性に関する第2種のプッシュ通知データを受信しない。また、端末装置は、制御対象のデバイスが、第2の属性を有する場合には、第2種のプッシュ通知データを受信し、第1種のプッシュ通知データを受信しない。この結果、端末装置は、制御対象のデバイスの属性に応じた適切なプッシュ通知データを選択的に受信できる。したがって、デバイスとネットワークを介して通信可能に接続される端末装置において、不要なプッシュ通知データの受信を抑制できる。[適用例2]
適用例1に記載の端末装置であって、
前記情報送信部は、前記制御対象のデバイスが変更されたことを契機に、変更後の前記制御対象のデバイスの属性に関する属性情報を前記サーバに送信する、端末装置。
[適用例3]
適用例1または2に記載の端末装置であって、
前記情報送信部は、一の属性情報の前記サーバへの送信に失敗したために前記一の属性情報が前記サーバに未送信であり、かつ、その後に前記制御対象のデバイスの属性が変更されたために送信すべき属性情報が前記一の属性情報から他の属性情報に変更された場合に、前記他の属性情報を前記サーバに送信し、前記一の属性情報を前記サーバに送信しない、端末装置。
[適用例4]
適用例1または2に記載の端末装置であって、
前記情報送信部は、
一の属性情報の前記サーバへの送信に失敗したために前記一の属性情報が前記サーバに未送信であり、かつ、その後に前記制御対象のデバイスの属性が変更されたために送信すべき属性情報が前記一の属性情報から他の属性情報に変更された場合に、前記一の属性情報の送信の失敗の直前に送信済みの属性情報と前記他の属性情報とが一致するか否かを判断し、
前記送信済みの属性情報と前記他の属性情報とが一致する場合には、前記他の属性情報を前記サーバに送信せず、
前記送信済みの属性情報と前記他の属性情報とが一致しない場合には、前記他の属性情報を前記サーバに送信する、端末装置。
[適用例5]
適用例1~4のいずれかに記載の端末装置であって、さらに、
受信済みの前記プッシュ通知データに含まれる条件情報であって前記プッシュ通知データの報知条件を示す条件情報と、前記制御対象のデバイスの属性と、に基づいて、受信済みの前記プッシュ通知データの前記報知条件が満たされるか否かを判断する判断部と、
受信済みの前記プッシュ通知データの前記報知条件が満たされる場合に、受信済みの前記プッシュ通知データに基づいて、ユーザへの報知を実行し、受信済みの前記プッシュ通知データの前記報知条件が満たされない場合に、受信済みの前記プッシュ通知データに基づいて、前記ユーザへの報知を実行しない、報知部と、
を備え、
特定の属性情報が前記サーバに送信された後に、前記制御対象のデバイスの属性が変更され、その後に前記特定の属性情報を用いて選択される特定のプッシュ通知データが受信される場合に、前記判断部は、前記特定のプッシュ通知データの前記報知条件は満たされないと判断し、前記報知部は、前記特定のプッシュ通知データに基づく前記ユーザへの報知を実行しない、端末装置。
[適用例6]
適用例1~5のいずれかに記載の端末装置であって、
前記情報送信部は、前記制御対象のデバイスの属性が変更された場合に、変更後の属性に関する属性情報を前記サーバに送信し、
前記受信部は、前記変更後の属性に関する属性情報の送信前に前記変更後の属性を有するデバイスを制御対象とする他の端末装置が受信済みであり、かつ、前記端末装置が未受信である前記一のプッシュ通知データを、前記変更後の属性に関する属性情報の送信後に受信する、端末装置。
[適用例7]
適用例1~6のいずれかに記載の端末装置であって、
前記情報送信部は、
前記制御対象のデバイスの属性が第5の属性から第6の属性に変更された場合に、前記制御対象のデバイスの属性が前記第5の属性から前記第6の属性に変更されたことを示す一の属性情報を前記サーバへ送信し、
前記一の属性情報の送信および前記一の属性情報に基づいて前記サーバが前記プッシュ通知データの送信先を変更する処理とのいずれかが失敗した場合であって、その後に前記制御対象のデバイスの属性が前記第6の属性から第7の属性に変更された場合には、前記制御対象のデバイスの属性が前記第5の属性から前記第7の属性に変更されたことを示す属性情報を送信する、端末装置。
[適用例8]
デバイスとネットワークを介して通信可能に接続される端末装置と、前記端末装置とネットワークを介して通信可能に接続される制御サーバと、を備えるシステムであって、
前記端末装置は、
前記デバイスを制御する制御部と、
制御対象の前記デバイスの属性に関する属性情報を前記制御サーバに送信する情報送信部と、
前記端末装置がプッシュ通知データの送信先として決定された場合に前記プッシュ通知データを受信する受信部と、
を備え、
前記制御サーバは、
前記端末装置から送信される属性情報を用いて、前記プッシュ通知データの送信先を決定する決定部であって、前記制御対象のデバイスが第1の属性を有し第2の属性を有しない場合には、前記端末装置を、前記第1の属性に関する第1種のプッシュ通知データの送信先として決定し、前記第2の属性に関する第2種のプッシュ通知データの送信先として決定せず、前記制御対象のデバイスが前記第2の属性を有し前記第1の属性を有しない場合には、前記端末装置を、前記第2種のプッシュ通知データの送信先として決定し、前記第1種のプッシュ通知データの送信先として決定しない、前記決定部を備える、システム。
[適用例9]
適用例8に記載のシステムであって、さらに、
前記制御サーバと通信可能な通知サーバを備え、
前記制御サーバは、さらに、前記決定部によって決定済みの送信先に前記プッシュ通知データを送信する送信指示を前記通知サーバに送信する指示送信部を備え、
前記通知サーバは、前記送信指示に従って、送信先に前記プッシュ通知データを送信する通知送信部を備える、システム。
[適用例10]
適用例9に記載のシステムであって、
前記通知サーバは、さらに、
前記プッシュ通知データの送信先のリストを格納するメモリと、
前記リストの変更指示に従って前記リストを変更する変更部と、
を備え、
前記制御サーバは、さらに、前記プッシュ通知データの送信先を変更するために、前記リストを変更する変更指示を前記通知サーバに送信する指示送信部を備え、
前記指示送信部は、第1のリストを第2のリストに変更する前記第1の変更指示の送信後に、さらに、前記変更指示を送信する際に、前記第1の変更指示に基づく前記リストの変更が成功した場合には、前記第2のリストを第3のリストに変更する第2の前記変更指示を送信し、前記第1の変更指示に基づく前記リストの変更が失敗した場合には、前記第1のリストを前記第3のリストに変更する第3の変更指示を送信する、システム。
【0009】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、端末装置と制御サーバを含むシステム、プッシュ通知の送信方法、これら装置または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】システム1000の構成を示すブロック図である。
【
図2】プッシュ通知データPDと送信先リスト群LGとの一例を示す図である。
【
図5】アプリケーションAPPのUI画面の一例を示す図である。
【
図6】属性情報のマージについて説明する図である。
【
図7】アプリケーションAPPによる通知受信処理のフローチャートである。
【
図8】送信先リスト変更処理のフローチャートである。
【
図10】属性情報のマージについて説明する図である。
【
図11】システム1000の動作例を示すシーケンス図である。
【発明を実施するための形態】
【0011】
A.第1実施例:
A-1:システム1000の構成
図1は、システム1000の構成を示すブロック図である。システム1000は、端末装置100と、プリンタ210、220と、制御サーバ300と、プッシュ通知サーバ400と、を備える。プリンタ210、220は、有線のローカルエリアネットワークLNに接続されている。ローカルエリアネットワークLNには、無線のアクセスポイントAPが接続されている。ローカルエリアネットワークLNは、例えば、イーサネット(登録商標)規格に準拠して構築された有線ネットワークである。アクセスポイントAPは、例えば、Wi-Fi規格に準拠した通信方式を利用したアクセスポイントである。ローカルエリアネットワークLNは、インターネットITに接続されている。制御サーバ300とプッシュ通知サーバ400とは、インターネットITに接続されている。
【0012】
端末装置100は、アクセスポイントAPとローカルエリアネットワークLNを介して、プリンタ210、220と、通信可能に接続されている。端末装置100は、アクセスポイントAPとローカルエリアネットワークLNとインターネットITとを介して、制御サーバ300およびプッシュ通知サーバ400と通信可能に接続されている。なお、端末装置100は、W-CDMAなどの携帯電話通信の方式に従う無線通信を行う基地局(図示省略)と、インターネットITと、を介して、制御サーバ300およびプッシュ通知サーバ400と接続されていても良い。
【0013】
端末装置100(
図1)は、プリンタ210、220のユーザが利用する端末装置であり、例えば、スマートフォンである。端末装置100は、端末装置100のコントローラーとしてのCPU110と、RAMなどの揮発性記憶装置120と、ハードディスクドライブなどの不揮発性記憶装置130と、タッチパネルなどの操作部160と、液晶ディスプレイなどの表示部170と、外部機器との通信のための通信IF180と、を備えている。
【0014】
通信IF180は、本実施例では、Wi-Fi規格に準拠した無線のインタフェースである。通信IF180は、上述したプリンタ210、220、制御サーバ300、および、プッシュ通知サーバ400との通信に用いられる。
【0015】
揮発性記憶装置120は、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置130には、コンピュータプログラムPG1が格納されている。
【0016】
コンピュータプログラムPG1は、プリンタ210、220のベンダによって提供されるコンピュータプログラムであり、インターネットITを介して端末装置100に接続されたサーバからダウンロードされる形態で提供される。これに代えて、コンピュータプログラムPG1は、CD-ROMやDVD-ROMなどに格納された形態で提供されても良い。
【0017】
CPU110は、図示しないOSプログラムを実行することによって、所定のOS(オペレーティングシステム)としての機能を実現する。OSは、例えば、Android(登録商標)、iOS(登録商標)などのプッシュ通知サービスに対応したOSである。CPU110は、例えば、OSプログラムを実行することによって、後述するOSによる通知受信処理を実行する。
【0018】
CPU110は、例えば、上述した所定のOS上で、コンピュータプログラムPG1を実行することにより、プリンタ210、220を制御するアプリケーションAPPとしての機能を実現する。この機能は、例えば、プリンタ210、220のうちの制御対象のプリンタに、印刷指示や印刷データを含む印刷ジョブを送信して、制御対象のプリンタに印刷を実行させるプリンタ制御処理を実行する。なお、この機能は、ローカルエリアネットワークLNに接続されたスキャナ(図示省略)に原稿を読み取らせて、スキャンデータを生成させ、該スキャンデータをスキャナから取得するスキャナ制御処理を実行しても良い。また、CPU110は、後述するアプリケーションAPPによる属性情報送信処理や通知受信処理を実行する。
【0019】
プリンタ210、220は、例えば、CPUとメモリを含む制御部(図示省略)と、該制御部の制御に従って印刷を行う印刷機構(図示省略)と、を備えている。印刷機構は、例えば、インクジェット方式や電子写真方式などの所定の方式で、用紙などの印刷媒体上に画像を印刷する。ここで、第1のプリンタ210のモデル名は「MODEL_A」であり、第2のプリンタ220のモデル名は「MODEL_B」である。
【0020】
制御サーバ300は、例えば、プリンタ210、220のベンダによって運営されるサーバである。制御サーバ300は、制御サーバ300のコントローラーとしてのCPU310と、RAMなどの揮発性記憶装置320と、ハードディスクドライブなどの不揮発性記憶装置330と、インターネットITと接続するための通信IF380と、を備えている。
【0021】
揮発性記憶装置320は、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置330は、コンピュータプログラムPG2を格納している。
【0022】
CPU310は、コンピュータプログラムPG2を実行することによって、例えば、操作者の指示に従って、プッシュ通知サーバ400に、後述するプッシュ通知データPDの送信指示を送信する。また、CPU110は、コンピュータプログラムPG2を実行することによって、後述する送信先リスト変更処理を実行する。
【0023】
プッシュ通知サーバ400は、例えば、端末装置100のOSのベンダによって運営されるサーバである。プッシュ通知サーバ400は、プッシュ通知サーバ400のコントローラーとしてのCPU410と、RAMなどの揮発性記憶装置420と、ハードディスクドライブなどの不揮発性記憶装置430と、インターネットITと接続するための通信IF480と、を備えている。
【0024】
揮発性記憶装置420は、CPU410が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置430は、コンピュータプログラムPG3と、送信先リスト群LGと、を格納している。
【0025】
CPU410は、コンピュータプログラムPG3を実行することによって、例えば、プッシュ通知サービスを提供する。プッシュ通知サービスは、制御サーバ300の指示に応じて、プッシュ通知データPDを端末装置100に送信するサービスである。プッシュ通知データPDは、例えば、端末装置100にインストールされているコンピュータプログラムPG1によって実現されるアプリケーションAPPに関するデータを含む。プッシュ通知データPDは、アプリケーションAPP(コンピュータプログラムPG1)が端末装置100において起動しているか否かに拘わらず、制御サーバ300からの指示を契機として、送信される。プッシュ通知データPDは、アプリケーションAPPのユーザ宛に報知されるべき情報(例えば、テキストや画像)に限らず、アプリケーションAPPが用いるべきデータを含み得る。プッシュ通知データPDについては、さらに後述する。
【0026】
プッシュ通知サーバ400は、自身で、あるいは、他のサーバ(図示省略)を介して、端末装置100にプッシュ通知データPDを送信する。プッシュ通知サーバ400は、例えば、Android(登録商標)やiOS(登録商標)などの複数種類のプラットフォームでそれぞれ動作する各アプリケーションに対するプッシュ通知データPDを送信可能なFCM(Firebase Cloud Messagingの略)サーバである。以下では、「プッシュ通知サーバ400が端末装置100にプッシュ通知データPDを送信する」とは、プッシュ通知サーバ400が、直接、端末装置100にプッシュ通知データPDを送信すること、および、他のサーバが提供するサービスを利用してプッシュ通知データPDを端末装置100に送信すること、との両方を含む。
【0027】
図2は、プッシュ通知データPDと、送信先リスト群LGと、の一例を示す図である。
図2(A)のプッシュ通知データPDは、通知先識別子と、通知データと、を含む。
【0028】
通知先識別子は、プッシュ通知データPDの送信先を示すIDであり、予め登録されたID(以下、登録IDとも呼ぶ)である。登録IDには、例えば、端末装置100とアプリケーションAPP(コンピュータプログラムPG1)との組み合わせに対して付与される識別子であるアプリインスタンスIDが用いられる。登録IDは、送信先の端末装置100を識別するとともに、送信先の端末装置100にインストールされた1以上のアプリケーションプログラムのうち、プッシュ通知データPDの送信先のアプリケーションAPPを識別する。
【0029】
例えば、端末装置100においてアプリケーションAPPが最初に起動されたときに、アプリケーションAPPは、ユーザに対してプッシュ通知データPDを受信する許可を求めるUI画面を表示する。ユーザから許可を取得した場合に、アプリケーションAPPは、プッシュ通知サーバ400に対して、登録IDの生成要求を送信する。プッシュ通知サーバ400は、該生成要求を受信すると、登録IDを生成して、端末装置100に送信する。端末装置100のアプリケーションAPPは、登録IDを制御サーバ300に送信する。制御サーバ300は、登録IDや、1個以上の登録IDが記録された送信先リスト(後述)を用いて、プッシュ通知データPDの送信先を指定することができる。
【0030】
プッシュ通知データPDの通知データ(
図2(A))は、条件情報と、タイトルと、メッセージと、を含む。条件情報は、プッシュ通知データPD1の報知条件を示す。すなわち、条件情報によって示される報知条件が満たされる場合に、プッシュ通知データPD1に基づくユーザへの情報の報知が行われ、該報知条件が満たされない場合に、プッシュ通知データPD1に基づくユーザへの情報の報知が行われない。例えば、
図2(A)の条件情報によって示される報知条件は、端末装置100の制御対象のプリンタ(例えば、第1のプリンタ210)のモデル名が、「MODEL_A」、または、「MODEL_C」であることである。タイトルおよびメッセージは、端末装置100のユーザ(アプリケーションAPPのユーザ)に対して報知すべき内容を示す。
【0031】
図2(B)には、送信先リスト群LGの一例が示されている。送信先リスト群LGは、1個以上の送信先リストLTを含む。例えば、
図2(B)の例では、送信先リスト群LGは、送信先リストLT1~LT3を含む複数個の送信先リストLTを含む。各送信先リストLTは、1個以上の登録IDを、通知先識別子として含む。例えば、送信先リストLT1は、該複数個の端末装置のうち、仕向地が「日本」である端末装置の登録IDを含む。送信先リストLT2、LT3は、該複数個の端末装置のうち、アプリケーションAPPによる制御対象のプリンタのモデル名が、「MODEL_A」、「MODEL_B」である端末の登録IDを含む。これらの送信先リストLTは、プッシュ通知データPDの送信先を指定するために用いられる。例えば、制御サーバ300は、送信先リストLTを送信先として指定して、プッシュ通知データPDの送信指示をプッシュ通知サーバ400に送信する。該送信指示を受信したプッシュ通知サーバ400は、指定された送信先リストLTに含まれる1個以上の登録IDによって識別される1個以上の端末装置に、それぞれ、プッシュ通知データPDを送信する。
【0032】
なお、
図1では、図示を省略するが、プリンタ210、220のユーザの端末装置100と同様に、プリンタのユーザが利用する複数個の端末装置であって、コンピュータプログラムPG1(アプリケーションAPP)がインストールされた複数個の端末装置が、制御サーバ300およびプッシュ通知サーバ400と通信可能に接続されている。これらの複数個の端末装置は、それぞれ、端末装置100と同様の構成を備え、端末装置100と同様に動作する。
【0033】
A-2.端末装置100の動作
A-2-1.属性情報送信処理
端末装置100のアプリケーションAPP(CPU110)は、起動されている際には、常時、属性情報送信処理を実行する。属性情報送信処理は、制御対象のプリンタに関する属性情報(以下、プリンタ属性情報とも呼ぶ)を、制御サーバ300に送信する処理である。
図3は、属性情報送信処理のフローチャートである。
図4は、属性情報の一例を示す図である。
図5は、アプリケーションAPPのユーザインタフェース(UI)画面の一例を示す図である。
【0034】
S105では、CPU110は、制御対象のプリンタの属性が変更されたか否かを判断する。制御対象のプリンタの属性は、予め定められた属性であり、例えば、
図4に示すように、制御対象のプリンタのモデル名、ファームウェアのバージョン、プリンタの仕向地、使用機能を含む。ファームウェアのバージョンは、制御対象のプリンタにインストールされているファームウェアのバージョンである。使用機能は、制御対象のプリンタで有効にされている機能である。使用機能は、例えば、図示しないクラウドサーバと協働して実行される印刷サービスや保存サービスを含む。印刷サービスは、クラウドサーバからダウンロードされるテンプレート画像データを利用して印刷画像データを生成し、該印刷画像データを用いて画像を印刷するサービスであり、例えば、年賀状印刷サービスである。保存サービスは、クラウドサーバにユーザの画像データ(例えば、端末装置100を用いて撮影された画像データ)を保存し、該画像データを用いて画像を印刷するサービスである。
図4に示す属性は一例であり、プリンタの他の属性を含んでも良い。他の属性は、例えば、プリンタの種類、例えば、インクジェット式のプリンタか電子写真式のプリンタか、あるいは、モノクロプリンタかカラープリンタかを含んでも良い。他の属性は、例えば、消耗品(インクやトナーなどの印刷材、用紙などの印刷媒体)の残量であっても良い。
【0035】
例えば、本実施例では、CPU110は、ユーザの指示に基づいて、制御対象のプリンタを変更できる。本実施例では、制御対象のプリンタは、1個であり、印刷データを送信して印刷を実行させるプリンタである。例えば、CPU110は、プリンタ制御処理の実行中に、例えば、
図5(A)の選択画面SWを表示部170に表示する。選択画面SWは、制御対象のプリンタの選択を促すメッセージMS1と、選択可能なプリンタに対応する選択ボタンBT1、BT2と、を含む。ユーザによって押下された選択ボタンに対応するプリンタが、制御対象のプリンタとして選択される。このように、制御対象のプリンタが、第1のプリンタ210から第2のプリンタ220に変更された場合に、制御対象のプリンタの属性(例えば、プリンタのモデル名)が変更され得る。また、制御対象のプリンタにおいて、ファームウェアのアップデートが行われた場合に、制御対象のプリンタの属性(例えば、ファームウェアのバージョン)が変更され得る。また、制御対象のプリンタにおいて、ユーザの操作に基づいて、所定の設定が変更された場合に、制御対象のプリンタの属性(例えば、使用機能)が変更され得る。
【0036】
制御対象のプリンタの属性が変更された場合には(S105:YES)、S110にて、CPU110は、送信対象の属性情報を生成する。例えば、属性情報PIを生成するために必要な情報(例えば、変更後のプリンタの属性)は、端末装置100から制御対象のプリンタ(例えば、第1のプリンタ210)に属性要求が送信されることによって、制御対象のプリンタから取得される。
図4に示す属性情報PIは、登録IDと、旧プリンタ属性情報と、新プリンタ属性情報と、を含む。登録IDは、送信先の制御サーバ300において、送信元の端末装置100およびアプリケーションAPPを特定するために用いられる。旧プリンタ属性情報は、変更前の制御対象のプリンタの属性を示す。新プリンタ属性情報は、変更後の制御対象のプリンタの属性を示す。
【0037】
S115では、CPU110は、不揮発性記憶装置130に、未送信の属性情報が登録されているか否かを判断する。未送信の属性情報は、過去に制御サーバ300への送信が試行されたが、該送信が失敗した属性情報である。未送信の属性情報の登録は、後述するS170にて行われる。
【0038】
未送信の属性情報が登録されている場合には(S115:YES)、S120にて、CPU110は、送信対象の属性情報に対して、未送信の属性情報をマージして、マージ後の送信対象の属性情報を生成する。
【0039】
図6は、属性情報のマージについて説明する図である。
図6(A)~(C)には、未送信の属性情報PIa、マージ前の送信対象の属性情報PIb、マージ後の送信対象の属性情報PIcが、それぞれ、図示されている。これらの属性情報PIa~PIcの送信元の端末装置100は同一であるので、これらの属性情報PIa~PIcに含まれる登録IDは、互いに等しい。未送信の属性情報PIaは、制御対象のプリンタが、モデル名「MODEL_A」のプリンタからモデル名「MODEL_B」のプリンタへと変更された際に、生成され、制御サーバ300への送信が失敗した属性情報である。マージ前の送信対象の属性情報PIbは、制御対象のプリンタが、モデル名「MODEL_B」のプリンタからモデル名「MODEL_C」のプリンタへと変更された際に生成された属性情報である。このために、例えば、属性情報PIaは、制御対象のプリンタのモデル名が、「MODEL_A」から「MODEL_B」に変更されたことを示している。そして、属性情報PIbは、制御対象のプリンタのモデル名が、「MODEL_B」から「MODEL_C」に変更されたことを示している。
【0040】
マージ後の送信対象の属性情報PIcは、属性情報PIa、PIbに基づいて、生成される。マージ後の送信対象の属性情報PIcは、制御対象のプリンタが、制御対象のプリンタが、モデル名「MODEL_A」のプリンタからモデル名「MODEL_C」のプリンタへと変更されたと仮定した場合に、生成されるべき属性情報である、と言うことができる。例えば、属性情報PIcは、制御対象のプリンタのモデル名が、「MODEL_A」から「MODEL_C」に変更されたことを示している。
【0041】
マージ後の送信対象の属性情報(例えば、属性情報PIc)が制御サーバ300に送信される場合には、未送信の属性情報(例えば、属性情報PIa)は制御サーバ300に送信される必要が無くなる。このために、S125では、CPU110は、不揮発性記憶装置130に登録された未送信の属性情報を削除する。
【0042】
未送信の属性情報が登録されていない場合には(S115:NO)、CPU110は、S120、S125をスキップして、S150に処理を進める。
【0043】
制御対象のプリンタの属性が変更されない場合には(S105:NO)、S130にて、CPU110は、最後の未送信の属性情報の登録後、所定時間が経過したか否かを判断する。所定時間は、例えば、数秒、あるいは、数時間である。
【0044】
所定時間が経過した場合には(S130:YES)、CPU110は、S140に処理を進める。所定時間が経過していない場合には(S130:NO)、S132にて、CPU110は、再送フラグが「ON」であるか否かを判断する。再送フラグは、後述する通知受信処理において「ON」に設定され得る。再送フラグが「ON」である場合には(S132:YES)、S135にて、CPU110は、再送フラグを「OFF」に設定して、S140に処理を進める。再送フラグが「OFF」である場合には(S132:NO)、CPU110は、S105に処理を戻す。
【0045】
S140では、CPU110は、未送信の属性情報が不揮発性記憶装置130に登録されているか否かを判断する。未送信の属性情報が登録されている場合には(S140:YES)、S145にて、CPU110は、未送信の属性情報を、送信対象の属性情報として取得して、揮発性記憶装置120のバッファ領域に格納する。S125では、CPU110は、不揮発性記憶装置130に登録された未送信の属性情報を削除する。未送信の属性情報が不揮発性記憶装置130に登録されていない場合には(S140:NO)、CPU110は、S105に処理を戻す。
【0046】
S150では、CPU110は、送信対象の属性情報は、最後の送信成功属性情報と同じであるか否かを判断する。送信成功情報とは、過去に制御サーバ300への送信が成功した属性情報である。例えば、制御対象のプリンタが、モデル名「MODEL_A」のプリンタからモデル名「MODEL_B」のプリンタへと変更された際に、該変更を示す属性情報PI1の制御サーバ300への送信に成功したと仮定する。その後に、制御対象のプリンタが、モデル名「MODEL_B」のプリンタからモデル名「MODEL_A」のプリンタへと戻されたされた際に、該変更を示す属性情報PI2の制御サーバ300への送信に失敗したと仮定する。その後に、再び、制御対象のプリンタが、モデル名「MODEL_A」のプリンタからモデル名「MODEL_B」のプリンタへと変更された場合には、該変更を示す属性情報PI3は、上述した属性情報PI1と同じになり得る。この場合には、属性情報PI3を制御サーバ300へ送信する必要はない。このために、送信対象の属性情報が、最後の送信成功属性情報と同じである場合には(S150:YES)、CPU110は、送信対象の属性情報を送信するための後述するS155~S170をスキップして、S105に処理を戻す。
【0047】
送信対象の属性情報が、最後の送信成功属性情報と同じでない場合には(S150:NO)、S155にて、CPU110は、送信対象の属性情報を、制御サーバ300に送信する。属性情報は、例えば、HTTP(Hypertext Transfer Protocolの略)などの公知のプロトコルに従って送信される。
【0048】
S160では、CPU110は、送信対象の属性情報の送信に成功したか否かを判断する。例えば、属性情報の送信が成功した場合には、制御サーバ300から属性情報の受信に基づくレスポンスが制御サーバ300から端末装置100に送信される。CPU110は、所定時間内に当該レスポンスを受信した場合には、属性情報の送信に成功したと判断し、所定時間内に当該レスポンスを受信しない場合には、属性情報の送信に失敗したと判断する。送信の失敗は、例えば、インターネットIT、ローカルエリアネットワークLN、アクセスポイントAPのいずれかで障害が発生していること、あるいは、制御サーバ300がメンテナンス等のために休止していることに起因して発生し得る。このレスポンスは、例えば、後述する送信先リスト変更処理における送信先リスト群LGの変更成功、または、変更失敗の通知である。
【0049】
属性情報の送信に成功した場合には(S160:YES)、S165にて、CPU110は、送信に成功した送信対象の属性情報を、送信成功属性情報として不揮発性記憶装置130に登録する。これによって、上述したS150にて用いられる最後の送信成功属性情報が登録される。
【0050】
属性情報の送信に失敗した場合には(S160:NO)、S170にて、CPU110は、送信に失敗した送信対象の属性情報を、未送信の属性情報として不揮発性記憶装置130に登録する。これによって、上述したS120、S145にて用いられる未送信の属性情報が登録される。
【0051】
送信成功属性情報または未送信の属性情報が登録されると、CPU110は、S105に処理を戻す。
【0052】
以上説明した属性情報送信処理によれば、
図3のS115、S120、S125、
図6から解るように、送信に失敗した未送信の属性情報PIaが登録されている場合に、新たな送信対象の属性情報PIbが生成されると、属性情報PIbに属性情報PIaをマージして得られる属性情報PIcが送信され、属性情報PIaは送信されない。すなわち、この場合には、属性情報PIaに含まれる新プリンタ属性情報は制御サーバ300には送信されず、属性情報PIbおよび属性情報PIcに含まれる新プリンタ属性情報(すなわち、現時点での制御対象のプリンタの属性情報)のみが制御サーバ300に送信される。
【0053】
換言すれば、属性情報PIaの制御サーバ300への送信に失敗したために属性情報PIaが端末装置100に未送信であり、かつ、その後に制御対象のプリンタの属性が変更されたために送信対象の属性情報が属性情報PIaから属性情報PIcに変更された場合に、属性情報PIcを制御サーバ300に送信し、属性情報PIaを制御サーバ300に送信しない。この結果、属性情報が無駄に制御サーバ300に送信されることを抑制することができる。
【0054】
より具体的には、
図6に示すように、端末装置100は、制御対象のプリンタの属性(例えば、モデル名)が第5の属性(例えば、「MODEL_A」)から第6の属性(例えば、「MODEL_B」)に変更された場合に、該変更を示す属性情報PIa(
図6(A))を制御サーバ300へ送信する。そして、端末装置100は、属性情報PIaの送信が失敗した場合であって、その後に制御対象のプリンタの属性が第6の属性(例えば、「MODEL_B」)から第7の属性(例えば、「MODEL_C」)に変更された場合には、制御対象のデバイスの属性が第5の属性(例えば、「MODEL_A」)から第7の属性(例えば、「MODEL_C」)に変更されたことを示す属性情報PIcを送信する。すなわち、この場合には、属性情報PIaと属性情報PIbとがマージされて得られる属性情報PIcが制御サーバ300に送信される。この結果、適切な属性情報PIcが制御サーバ300に送信されるので、属性情報PIaの送信が失敗した場合であっても、端末装置100は、プッシュ通知サーバ400から適切なプッシュ通知データPDを受信できる。
【0055】
さらに、属性情報送信処理によれば、上述したように、一の属性情報の送信に失敗したために一の属性情報が未送信であり、かつ、その後に制御対象のプリンタの属性が変更されたために送信対象の属性情報が一の属性情報から他の属性情報に変更された場合に、一の属性情報の送信の失敗の直前に送信に成功した送信成功属性情報と他の属性情報とが一致するか否かが判断される(
図3のS150)。送信成功属性情報と当該他の属性情報とが一致する場合には(
図3のS150:YES)、当該他の属性情報は制御サーバ300に送信されず、送信成功属性情報と当該他の属性情報とが一致しない場合には(
図3のS150:NO)、当該他の属性情報が制御サーバ300に送信される(
図3のS155)。この結果、さらに、属性情報が無駄に送信されることを抑制することができる。
【0056】
A-2-2.通知受信処理
端末装置100のOS(CPU110)は、通信IF180を介してプッシュ通知サーバ400からプッシュ通知データPD(
図2(A))を受信すると、該プッシュ通知データPDを、揮発性記憶装置120あるいは不揮発性記憶装置130上の指定領域に格納する。これによって、OSは、受信されたプッシュ通知データPDを、アプリケーションAPPに引き渡すことができる。
【0057】
端末装置100のアプリケーションAPP(CPU110)は、上述した指定領域を監視しており、OSによって該指定領域にプッシュ通知データPDが格納されると、通知受信処理を実行する。
図7は、アプリケーションAPPによる通知受信処理のフローチャートである。
【0058】
S210では、CPU110は、指定領域に格納されたプッシュ通知データPDを取得して、揮発性記憶装置120のバッファ領域に格納する。本ステップで取得されたプッシュ通知データPDを処理対象のプッシュ通知データPDとも呼ぶ。
【0059】
S220では、CPU110は、制御対象のプリンタの属性は、処理対象のプッシュ通知データPDの報知条件を満たすか否かを判断する。制御対象のプリンタの属性を示す情報は、端末装置100から制御対象のプリンタ(例えば、第1のプリンタ210)に属性要求が送信されることによって、制御対象のプリンタから取得される。プッシュ通知データPDの報知条件は、上述したように、プッシュ通知データPDに含まれる条件情報によって示される(
図2(A))。例えば、
図2(A)の例では、端末装置100の制御対象のプリンタ(例えば、第1のプリンタ210)のモデル名が、「MODEL_A」、または、「MODEL_C」である場合には、報知条件が満たされると判断される。
【0060】
処理対象のプッシュ通知データPDの報知条件が満たされる場合には(S220:YES)、S230にて、CPU110は、処理対象のプッシュ通知データPDに基づいて、報知画面NWを表示部170に表示する。報知画面NWは、ユーザに情報を報知するための画面である。
図5(B)には、報知画面NWの一例が示されている。
図5(B)の報知画面NWは、
図2(A)のプッシュ通知データPDに基づく。この報知画面NWは、アイコンAIと、タイトルTTと、ボタンBTa、BTbと、を含む。アイコンAIは、プッシュ通知データPDに含まれる通知先識別子(登録ID)によって示されるアプリケーションAPPを示すアイコンである。タイトルTTは、プッシュ通知データPDに含まれるタイトルである。報知画面NWにおいて「表示」のボタンBTaがユーザによって押下されると、CPU110は、プッシュ通知データPDに含まれるメッセージを表示する(図示省略)。報知画面NWにおいて「閉じる」のボタンBTbがユーザによって押下されると、CPU110は、報知画面NWを消去する。
【0061】
処理対象のプッシュ通知データPDの報知条件が満たされない場合には(S220:NO)、S240にて、CPU110は、処理対象のプッシュ通知データPDを削除する。この場合には、プッシュ通知データPDに基づく報知画面NWは、表示されない。
【0062】
本実施例では、上述した属性情報送信処理(
図3)において、端末装置100から属性情報が送信され、該属性情報を用いて選択されたプッシュ通知データPDのみが、端末装置100に送信される。このために、属性情報の送信が成功している場合には、報知条件が満たされる可能性が高い。したがって、報知条件が満たされない場合には、端末装置100から制御サーバ300への属性情報の送信が失敗している可能性が高い。そして、現時点では、端末装置100は、プッシュ通知サーバ400からプッシュ通知データPDを受信できているために、少なくとも端末装置100からインターネットITまでの間には、通信障害は発生していない。このために、現時点で、端末装置100が、属性情報を制御サーバ300へ再度送信すれば、該属性情報の送信に成功する可能性が比較的高い。そこで、S250では、CPU110は、属性情報の再送フラグをONに設定する。これによって、上述した属性情報送信処理において、未送信の属性情報が直ちに制御サーバ300へ送信される(
図3のS132~S145)。この結果、未送信の属性情報が適切に制御サーバ300に送信され得る。S230あるいはS250の後、通知受信処理は、終了される。
【0063】
以上説明した通知受信処理によれば、端末装置は、報知条件を示す条件情報と、制御対象のプリンタの属性と、に基づいて、受信済みのプッシュ通知データPDの報知条件が満たされるか否かを判断し(
図7のS220)、報知条件が満たされる場合に(
図7のS220:YES)、該プッシュ通知データPDに基づくユーザへの報知を実行し(S230)、報知条件が満たされない場合に(
図7のS220:NO)、該プッシュ通知データPDに基づくユーザへの報知を実行しない。例えば、特定の属性情報(例えば、制御対象のプリンタが「MODEL_A」の第1のプリンタ210であることを示す属性情報)が制御サーバ300に送信された後に、制御対象のプリンタの属性が変更されたとする(例えば、制御対象のプリンタが「MODEL_B」の第2のプリンタ220に変更されたとする)。その後に、例えば、当該変更後の属性情報が制御サーバ300に送信される前に、変更前の特定の属性情報を用いて選択されるプッシュ通知データPD(例えば、第1のプリンタ210に関するプッシュ通知データPD)が端末装置100に受信されたとしても、端末装置100は、S220にて該プッシュ通知データPDの報知条件は満たされないと判断する。したがって、端末装置100は、該プッシュ通知データPDに基づくユーザへの報知を実行しない。この結果、もし、端末装置100は、自身の制御対象のプリンタの属性から見て、適切でないプッシュ通知データPDを受信したとしても、該プッシュ通知データPDに基づくユーザへの報知を実行しない。したがって、ユーザにとって不要な報知がなされることを抑制できる。
【0064】
A-3.制御サーバ300の動作
制御サーバ300(CPU310)は、起動されている際には、常時、送信先リスト変更処理を実行する。送信先リスト変更処理は、端末装置100から属性情報を受信した場合に、該属性情報に基づいて、プッシュ通知サーバ400の送信先リスト群LGの少なくとも1個の送信先リストLTを変更する処理である。送信先リスト群LGを変更することで、その後のプッシュ通知データPDの送信先を変更することができる。
図8は、送信先リスト変更処理のフローチャートである。
図9は、変更指示の一例を示す図である。
【0065】
S305では、CPU310は、コンピュータプログラムPG1がインストールされた端末装置(例えば、端末装置100)から属性情報を受信したか否かを判断する。属性情報は、上述した属性情報送信処理において端末装置から制御サーバ300に送信される。
【0066】
属性情報が受信された場合には(S305:YES)、S310にて、CPU310は、受信された属性情報を解析して、送信対象の変更指示を生成する。
図9の変更指示UDは、登録IDと、削除リストを示す情報と、追加リストを示す情報と、を含む。削除リストは、送信先リスト群LGに含まれる送信先リストLTのうち、該登録IDを削除すべきリストである。追加リストは、送信先リスト群LGに含まれる送信先リストLTのうち、該登録IDを追加すべきリストである。
図9の変更指示UDでは、登録IDとして、TID_Cが指定されている。
図9の変更指示UDでは、削除リストとして送信先リストLT2(
図2(B))が指定され、追加リストとして送信先リストLT3(
図2(B))および送信先リストLT5(
図2(B)では図示省略)が指定されている。すなわち、
図9の変更指示UDは、送信先リストLT2からTID_Cを削除し、送信先リストLT3、LT5にTID_Cをそれぞれ追加することを指示する変更指示である。
【0067】
例えば、
図4の属性情報PIは、属性情報PIの送信元の端末装置の制御対象のプリンタのモデル名が「MODEL_A」から「MODEL_B」に変更されたことを示している。このために、制御対象のプリンタのモデル名が「MODEL_A」である端末装置の登録IDのリストである送信先リストLT2(
図2(B))から、属性情報に含まれる登録ID(すなわち、属性情報の送信元の端末装置の登録ID)である「TID_C」を削除すべきである。そして、制御対象のプリンタのモデル名が「MODEL_C」である端末装置の登録IDのリストである送信先リストLT3(
図2(B))に、該登録ID「TID_C」を追加すべきである。また、
図4の属性情報PIは、属性情報PIの送信元の端末装置の制御対象のプリンタの使用機能である「クラウド保存」機能が無効から有効に変更されたことを示している。このために、制御対象のプリンタにおいて「クラウド保存」が有効にされている端末装置の登録IDのリストである送信先リストLT5(
図2(B)では図示省略)に、該登録ID「TID_C」を追加すべきである。このために、この場合には、
図9の変更指示UDが生成される。
【0068】
S315では、CPU310は、不揮発性記憶装置330に、送信対象の変更指示と同一の登録IDを含む失敗指示が登録されているか否かを判断する。失敗指示は、過去にプッシュ通知サーバ400へ送信された変更指示であり、かつ、それに基づく送信先リスト群LGの変更に失敗した変更指示である。送信先リスト群LGの変更の失敗は、例えば、変更指示がプッシュ通知サーバ400に受信されない場合、あるいは、該変更指示がプッシュ通知サーバ400に受信されたが、プッシュ通知サーバ400が送信先リスト群LGの変更に失敗した場合と、を含む。失敗指示の登録は、後述するS385にて行われる。
【0069】
失敗指示が登録されている場合には(S315:YES)、S320にて、CPU310は、送信対象の変更指示に対して、失敗指示をマージして、マージ後の送信対象の属性情報を生成する。
【0070】
図10は、属性情報のマージについて説明する図である。
図10(A)~(C)には、失敗指示UDa、マージ前の送信対象の変更指示UDb、マージ後の送信対象の変更指示UDcが、それぞれ、図示されている。これらの指示UDa~UDcに含まれる登録IDは、互いに等しい。失敗指示UDaは、登録ID「TID_C」を、送信先リストLT2から削除し、送信先リストLT3、LT5に追加するための指示である。マージ前の送信対象の変更指示UDbは、登録ID「TID_C」を、送信先リストLT3から削除し、送信先リストLT4、LT6に追加するための指示である。
【0071】
マージ後の送信対象の変更指示UDcは、失敗指示UDaと変更指示UDbとに基づいて、生成される。マージ後の送信対象の変更指示UDcは、失敗指示UDaに基づいて送信先リスト群LGが変更され、その後に変更指示UDbに基づいて送信先リスト群LGが変更されたと仮定した場合に実現される送信先リスト群LGを一つの変更指示で実現するように生成される。
図10(B)の変更指示UDbに
図10(A)の失敗指示UDaをマージして得られる変更指示UDcは、登録ID「TID_C」を、送信先リストLT2から削除し、送信先リストLT4、LT5、LT6に追加するための指示である。
【0072】
マージ後の送信対象の変更指示がプッシュ通知サーバ400に送信される場合には、失敗指示はプッシュ通知サーバ400に送信される必要が無くなる。このために、S325では、CPU310は、不揮発性記憶装置330に登録された失敗指示を削除する。
【0073】
失敗指示が登録されていない場合には(S315:NO)、CPU310は、S320、S325をスキップして、S355に処理を進める。
【0074】
属性情報が受信されない場合には(S305:NO)、S330にて、CPU310は、最後の失敗指示の登録後、所定時間が経過したか否かを判断する。所定時間は、例えば、数秒、あるいは、数時間である。
【0075】
所定時間が経過した場合には(S330:YES)、CPU310は、S335に処理を進める。所定時間が経過していない場合には(S330:NO)、CPU310は、S305に処理を戻す。
【0076】
S335では、CPU310は、失敗指示が不揮発性記憶装置330に登録されているか否かを判断する。失敗情報が登録されている場合には(S335:YES)、S340にて、CPU310は、失敗指示を、送信対象の変更指示として取得して、揮発性記憶装置320のバッファ領域に格納する。S325では、CPU310は、不揮発性記憶装置330に登録された失敗指示を削除する。失敗指示が不揮発性記憶装置330に登録されていない場合には(S335:NO)、CPU310は、S305に処理を戻す。
【0077】
S355では、CPU310は、送信対象の変更指示を、プッシュ通知サーバ400に送信する。変更指示は、例えば、HTTP(Hypertext Transfer Protocolの略)などの公知のプロトコルに従って送信される。
【0078】
S360では、CPU310は、プッシュ通知サーバ400において変更指示に基づく送信先リスト群LGの変更が成功したか否かを判断する。例えば、送信先リスト群LGの変更が成功した場合には、送信先リスト群LGの変更が成功したことを示すレスポンスがプッシュ通知サーバ400から制御サーバ300に送信される。CPU310は、所定時間内に当該レスポンスを受信した場合には、送信先リスト群LGの変更が成功したと判断し、所定時間内に当該レスポンスを受信しない場合には、送信先リスト群LGの変更が失敗したと判断する。
【0079】
送信先リスト群LGの変更が成功した場合には(S360:YES)、S365にて、CPU310は、変更の成功を属性情報の送信元の端末装置に通知する。
【0080】
S370では、CPU310は、今回の送信先リスト群LGの変更前に、S305で受信された属性情報の送信元の端末装置とは異なる端末装置に送信済みのプッシュ通知データPDの中から、属性情報の送信元の端末装置に遡及して送信すべきプッシュ通知データPDを特定する。例えば、
図9の変更指示UDに基づいて送信先リスト群LGが変更された場合には、属性情報の送信元の端末装置の登録IDは、送信先リストLT3に新たに追加される。このために、例えば、送信先リストLT3宛に送信済みのプッシュ通知データPDのうち、所定時間(例えば、1週間)前から現在までの間に送信されたプッシュ通知データPDが、遡及して送信すべきプッシュ通知データPDとして特定される。変形例としては、所定時間前から現在までの間に送信されたプッシュ通知データPDのうち、特定種類のプッシュ通知データPDが、遡及して送信すべきプッシュ通知データPDとして特定されても良い。特定種類のプッシュ通知データPDは、例えば、プリンタのファームウェアのアップデータのお知らせなどの重要な通知のためのプッシュ通知データPDである。
【0081】
S370では、CPU310は、特定されたプッシュ通知データPDを属性情報の送信元の端末装置に送信させる送信指示を、プッシュ通知サーバ400に送信する。この場合には、CPU310は、送信先リストLT3が宛先として指定するのではなく、属性情報の送信元の端末装置の登録IDを宛先として指定する。この結果、プッシュ通知サーバ400から、属性情報の送信元の端末装置だけに、特定されたプッシュ通知データPDが送信される。属性情報の送信元の端末装置が、これらのプッシュ通知データPDを受信すると、
図7の通知受信処理が行われる。このとき、通常は、報知条件が満たされるので、これらのプッシュ通知データPDに基づく報知画面(
図5(B)参照)が、属性情報の送信元の端末装置に表示される。
【0082】
送信先リスト群LGの変更が失敗した場合には(S360:NO)、S380にて、CPU310は、変更の失敗を属性情報の送信元の端末装置に通知する。S385では、CPU310は、S355にて送信した変更指示を、失敗指示として不揮発性記憶装置330に登録する。これによって、上述したS320、S340にて用いられる失敗指示が登録される。S375、S385の後は、CPU310は、S305に処理を戻す。
【0083】
以上説明した送信先リスト変更処理によれば、上述したようにS380にて、属性情報の送信元の端末装置(例えば、端末装置100)に遡及して送信すべきプッシュ通知データPDの送信指示が、制御サーバ300からプッシュ通知サーバ400に送信される。したがって、端末装置100は、例えば、制御対象のデバイスのモデル名が「MODEL_A」から「MODEL_B」に変更された場合に、変更後の属性(例えば「MODEL_B」)に関する属性情報をサーバに送信したとする。この場合に、端末装置100は、変更後の属性(例えば「MODEL_B」)に関する属性情報の送信前に、モデル名が「MODEL_B」であるプリンタを制御対象とする他の端末装置が受信済みであり、かつ、端末装置100が未受信であるプッシュ通知データPDを、変更後の属性(例えば「MODEL_B」)に関する属性情報の送信後に受信できる。この結果、受信すべきプッシュ通知データPDが受信されない不都合を抑制できる。
【0084】
さらに、送信先変更処理によれば、制御サーバ300は、属性情報に基づく変更指示を送信する際に、失敗指示が登録されていない場合には(S315:NO)、そのまま変更指示を送信し(S355)、失敗指示が登録されている場合には(S315:YES)、該失敗指示をマージした後の変更指示を送信する(S320、S355)。換言すれば、制御サーバ300は、送信先リスト群LGを、第1のリスト群から第2のリスト群に変更する第1の変更指示の送信後に、さらに、変更指示を送信する際に、第1の変更指示に基づくリストの変更が成功した場合には、当該第2のリスト群を第3のリスト群に変更する第2の変更指示を送信し、第1の変更指示に基づくリスト群の変更が失敗した場合には、第1のリストを第3のリストに変更する第3の変更指示を送信する。この結果、変更指示に基づくリスト群の変更が失敗した場合であっても、その後に適切な変更指示を送信することで、送信先リスト群LGを適切に変更できる。したがって、適切な送信先にプッシュ通知データが送信される。
【0085】
A-4.システム1000の具体的な動作例
図11は、システム1000の動作例を示すシーケンス図である。例えば、端末装置100において、アプリケーションAPPによる制御対象のプリンタは、「MODEL_A」の第1のプリンタ210であったとする。ここで、S2にて、「MODEL_A」のプリンタ(例えば、第1のプリンタ210)に関する情報を通知すべく、制御サーバ300からプッシュ通知サーバ400に、送信先リストLT2(
図2(B))を送信先として指定したプッシュ通知送信指示が送信される。端末装置100の登録IDは、送信先リストLT2に含まれる。このため、S4にて、プッシュ通知サーバ400から端末装置100に、S2のプッシュ通知送信指示に基づくプッシュ通知データPDが送信される。
【0086】
また、S6にて、「MODEL_B」のプリンタ(例えば、第2のプリンタ220)に関する情報を通知すべく、制御サーバ300からプッシュ通知サーバ400に、送信先リストLT3(
図2(B))を送信先として指定したプッシュ通知送信指示が送信される。端末装置100の登録IDは、送信先リストLT3に含まれない。このため、プッシュ通知サーバ400から端末装置100に、S6のプッシュ通知送信指示に基づくプッシュ通知データPDは送信されない。
【0087】
このように、制御対象のプリンタが「MODEL_A」の第1のプリンタ210である場合には、端末装置100は、「MODEL_A」のプリンタに関するプッシュ通知データPDを受信し、「MODEL_B」のプリンタに関するプッシュ通知データPDを受信しない。
【0088】
ここで、S8にて、端末装置100は、ユーザの指示に基づいて、アプリケーションAPPによる制御対象のプリンタを、「MODEL_A」の第1のプリンタ210から「MODEL_B」の第2のプリンタ220に変更したとする。この場合には、
図3の属性情報送信処理において、制御対象のプリンタの属性が変更されたと判断されるので(
図3のS105にてYES)、属性情報が生成され(
図3のS110)、該属性情報が、制御サーバ300に送信される(
図3のS155)。したがって、
図11のS10にて、属性情報(例えば、
図4の属性情報PI)が、端末装置100から制御サーバ300に送信される。
【0089】
制御サーバ300は、属性情報を受信すると(
図8のS305にてYES)、送信先リスト群LGの変更指示を生成し(
図8のS310)、該変更指示をプッシュ通知サーバ400に送信する(
図8のS355)。したがって、
図11のS12にて、送信先リスト群LGの変更指示(例えば、
図9の変更指示UD)が制御サーバ300からプッシュ通知サーバ400に送信される。S14では、変更指示UDを受信したプッシュ通知サーバ400は、変更指示UDに基づいて送信先リスト群LGを変更する。例えば、端末装置100の登録IDが、リストLT2から削除され、送信先リストLT3宛に追加される。S16では、プッシュ通知サーバ400から制御サーバ300に変更成功の通知が送信され、S17では、制御サーバ300から端末装置100に変更成功の通知が送信される(
図8のS360にてYES、S365)。
【0090】
S18では、遡及して送信すべき「MODEL_B」のプリンタに関するプッシュ通知データPDの送信指示が、端末装置100の登録IDを送信先として指定して、制御サーバ300からプッシュ通知サーバ400に送信される(
図8のS375)。S20にて、プッシュ通知サーバ400から端末装置100に、S18のプッシュ通知送信指示に基づくプッシュ通知データPDが送信される。
【0091】
その後に、S22にて、「MODEL_A」のプリンタ(例えば、第1のプリンタ210)に関する情報を通知すべく、制御サーバ300からプッシュ通知サーバ400に、送信先リストLT2(
図2(B))を送信先として指定したプッシュ通知送信指示が送信される。送信先リスト群LGの変更後に、端末装置100の登録IDは、送信先リストLT2に含まれない。このため、プッシュ通知サーバ400から端末装置100に、S22のプッシュ通知送信指示に基づくプッシュ通知データPDは送信されない。
【0092】
また、S24にて、「MODEL_B」のプリンタ(例えば、第2のプリンタ220)に関する情報を通知すべく、制御サーバ300からプッシュ通知サーバ400に、送信先リストLT3(
図2(B))を送信先として指定したプッシュ通知送信指示が送信される。送信先リスト群LGの変更後は、端末装置100の登録IDは、送信先リストLT3に含まれる。このため、S26にて、プッシュ通知サーバ400から端末装置100に、S24のプッシュ通知送信指示に基づくプッシュ通知データPDが送信される。
【0093】
このように、制御対象のプリンタが「MODEL_B」の第2のプリンタ220である場合には、端末装置100は、「MODEL_A」のプリンタに関するプッシュ通知データPDを受信せず、「MODEL_B」のプリンタに関するプッシュ通知データPDを受信する。
【0094】
以上説明した本実施例によれば、端末装置100は、属性情報を制御サーバ300に送信し(
図11のS10)、外部装置である制御サーバ300において端末装置100がプッシュ通知データの送信先として決定された場合にプッシュ通知データPDを受信する(
図11のS20、S26)。例えば、制御サーバ300は、端末装置100の登録IDや該登録IDを含む送信先リストLTを送信先として指定することによって、端末装置100をプッシュ通知データPDの送信先として指定する。送信先リストLTは、端末装置100から送信される属性情報に基づいて変更される(
図11のS10、S12)ので、プッシュ通知データPDの送信先は、端末装置100から送信された属性情報を用いて決定される、と言うことができる。
【0095】
そして、端末装置100は、制御対象のプリンタが、第1の属性(例えば、モデル名「MODEL_A」)を有し、第2の属性(例えば、モデル名「MODEL_B」)を有しない第1のプリンタ210である場合には、第1の属性に関する第1種のプッシュ通知データを受信し(
図11のS4)、第2の属性に関する第2種のプッシュ通知データを受信しない。そして、端末装置100は、制御対象のプリンタが、第2の属性(例えば、モデル名「MODEL_B」)を有し、第1の属性(例えば、モデル名「MODEL_A」)を有しない第2のプリンタ220である場合には、第2の属性に関する第2種のプッシュ通知データを受信し(
図11のS26)、第1の属性に関する第1種のプッシュ通知データを受信しない。この結果、端末装置100は、制御対象のプリンタの属性に応じた適切なプッシュ通知データを選択的に受信できる。したがって、端末装置100において、不要なプッシュ通知データの受信を抑制できる。この結果、端末装置100のメモリやCPU、ローカルエリアネットワークLNの回線などが無駄に使用されることを抑制できる。
【0096】
また、制御サーバ300の観点から換言すれば、制御サーバ300は、端末装置から送信される属性情報を用いて送信先リスト群LGを変更しているので、制御サーバ300は、端末装置から送信される属性情報を用いて、プッシュ通知データPDの送信先を決定している、と言うことができる。そして、制御サーバ300は、端末装置100の制御対象のプリンタが第1の属性(例えば、モデル名「MODEL_A」)を有し、第2の属性(例えば、モデル名「MODEL_B」)を有しない場合には、端末装置100を、第1の属性に関する第1種のプッシュ通知データの送信先として決定し、第2の属性に関する第2種のプッシュ通知データの送信先として決定しない。また、制御サーバ300は、制御対象のプリンタが第2の属性を有し第1の属性を有しない場合には、端末装置100を、第2種のプッシュ通知データの送信先として決定し、第1種のプッシュ通知データの送信先として決定しない。したがって、端末装置100に、不要なプッシュ通知データを送信することを抑制できる。
【0097】
さらに、上記実施例では、制御対象のプリンタが第1のプリンタ210から第2のプリンタ220に変更されたことを契機に、第2のプリンタ220の属性(例えば、モデル名)に関する属性情報を制御サーバ300に送信する(
図11のS8、S10)。この結果、適切なタイミングで属性情報が制御サーバ300に送信される。この結果、端末装置100は、より適切なプッシュ通知データPDを選択的に受信できる。
【0098】
さらに、制御サーバ300は、決定済みの送信先(例えば、送信先リストLTによって指定される送信先)にプッシュ通知データPDを送信するプッシュ通知送信指示をプッシュ通知サーバ400に送信する(
図11のS2、S6、S22、S24)。プッシュ通知サーバ400は、プッシュ通知送信指示に従って、送信先にプッシュ通知データを送信する(
図11のS4、S20、S26)。この結果、プッシュ通知サーバ400が不要なプッシュ通知データPDを送信することを抑制できる。
【0099】
C.変形例:
(1)上記実施例では、端末装置100のアプリケーションAPPによる制御対象のデバイスは、プリンタである。これに代えて、制御対象のデバイスの全部または一部は、他の種類のデバイス、例えば、スキャナ、複合機、デジタルカメラであっても良い。例えば、アプリケーションAPPは、例えば、スキャナを制御して、スキャンデータを生成させ、該スキャンデータを取得するスキャナ制御処理を実行しても良い。この場合には、制御対象のスキャナの属性は、例えば、モデル名、読取解像度、スキャンデータをクラウドサーバに保存する機能が有効か否かなどを含み得る。
【0100】
(2)
図3の属性情報送信処理で送信される属性情報は、
図4の属性情報PIのように、旧プリンタ属性情報と、新プリンタ属性情報と、を含むが、新プリンタ属性情報だけを含んでも良い。この場合には、例えば、制御サーバ300は、直前に送信された属性情報を保存しておき、直前に送信された属性情報を旧プリンタ属性情報として、新たに送信された属性情報を新プリンタ属性情報として、変更指示を作成すれば良い。
【0101】
(3)上記実施例では、プッシュ通知サーバ400の不揮発性記憶装置430に送信先リスト群LGが格納されている。これに代えて、制御サーバ300の不揮発性記憶装置330に送信先リスト群LGが格納されていても良い。この場合には、制御サーバ300が、属性情報に基づいて送信先リスト群LGを変更すれば良い。そして、制御サーバ300は、例えば、送信先リストLT2を送信先としてプッシュ通知データPDを送信すべき場合には、自身が保持するリストLT2に記録された全ての登録IDを送信先として指定して、プッシュ通知送信指示をプッシュ通知サーバ400に送信すれば良い。
【0102】
(4)
図3の属性情報送信処理は、適宜に変更され得る。例えば、属性情報のマージ(
図3のS120)は行わなくても良い。例えば、端末装置100は、未送信の属性情報がある場合には、次に送信すべき属性情報が生成されたとしても、必ず未送信の属性情報の送信が成功するまで、未送信の属性情報の制御サーバ300への送信を繰り返しても良い。そして、端末装置100は、未送信の属性情報の送信が成功した後に、次に送信すべき属性情報を制御サーバ300へ送信しても良い。
【0103】
また、
図3のS160では、端末装置100は、属性情報の送信が成功したか否かを判断している。これに代えて、S160では、端末装置100は、制御サーバ300からの通知に従って、属性情報に基づく送信先リスト群LGの変更が成功したか否かを判断しても良い。そして、送信先リスト群LGの変更が成功した場合に、S165にて該属性情報を、変更成功属性情報として登録し、送信先リスト群LGの変更が失敗した場合に、S170にて、該属性情報を、変更失敗属性情報として登録しても良い。そして、
図3の他のステップでは、未送信の属性情報に代えて変更失敗属性情報が用いられ、送信成功属性情報に代えて変更成功情報が用いられても良い。
【0104】
また、
図3のS150の判断は省略されてもよい。この場合には、S165の送信成功属性情報の登録も省略されても良い。
【0105】
(5)
図7の通知受信処理は、適宜に変更されても良い。例えば、端末装置100は、報知条件を満たすか否かを判断することなく、受信された全てのプッシュ通知データPDに基づいて、ユーザへの報知を行っても良い。この場合には、プッシュ通知データPDは、条件情報を含まなくても良い。また、プッシュ通知データPDに基づくユーザへの報知は、アプリケーションAPPに代えて、OSによって行われても良い。
【0106】
(6)
図8の送信先リスト変更処理は、適宜に変更されても良い。例えば、変更指示のマージ(
図8のS320)は行わなくても良い。例えば、端末装置100は、失敗指示がある場合には、次に送信すべき変更指示が生成されたとしても、必ず失敗指示による送信先リスト群LGの変更が成功するまで、送信指示のプッシュ通知サーバ400への送信を繰り返しても良い。そして、端末装置100は、失敗指示に基づく送信先リスト群LGの変更が成功した後に、次に送信すべき変更指示をプッシュ通知サーバ400へ送信しても良い。
【0107】
(7)制御サーバ300とプッシュ通知サーバ400とは別体のサーバではなく、1個のサーバであっても良い。この場合には、1個のサーバが、端末装置100から送信される属性情報を受信し、該サーバが自身が保持する送信先リスト群LGを属性情報に基づいて更新し、該サーバが送信先リスト群LGを用いてプッシュ通知データPDを端末装置100に送信しても良い。
【0108】
また、制御サーバ300とプッシュ通知サーバ400とは、それぞれ、1個の計算機ではなく、通信可能に接続された複数個の計算機から構成されるいわゆるクラウドサーバであっても良い。
【0109】
(8)上記実施例では、プッシュ通知データPDに基づくユーザへの情報の報知は、表示部170にテキストを表示することによって行われる。これに代えて、プッシュ通知データPDに基づくユーザへの情報の報知は、端末装置100のスピーカーから出力される音声情報で行われても良いし、表示部170に表示される画像情報(JPEGデータなど)で行われても良い。
【0110】
(9)上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【0111】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0112】
100…端末装置、110…CPU、120…揮発性記憶装置、130…不揮発性記憶装置、160…操作部、170…表示部、180…通信IF、210、220…プリンタ、300…制御サーバ、310…CPU、320…揮発性記憶装置、330…不揮発性記憶装置、380…通信IF、400…プッシュ通知サーバ、410…CPU、420…揮発性記憶装置、430…不揮発性記憶装置、1000…システム、480…通信IF、UD…変更指示、PD…プッシュ通知データ、LG…送信先リスト群、LN…ローカルエリアネットワーク、AP…アクセスポイント、IT…インターネット、NW…報知画面、SW…選択画面、PG1~PG3…コンピュータプログラム