(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121729
(43)【公開日】2024-09-06
(54)【発明の名称】システム、デバイス、および、方法
(51)【国際特許分類】
H04N 1/00 20060101AFI20240830BHJP
B41J 29/38 20060101ALI20240830BHJP
G03G 21/00 20060101ALI20240830BHJP
【FI】
H04N1/00 127A
B41J29/38 401
G03G21/00 396
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023028984
(22)【出願日】2023-02-27
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】杉浦 真利
【テーマコード(参考)】
2C061
2H270
5C062
【Fターム(参考)】
2C061AP01
2C061BB10
2C061CG02
2C061CQ04
2C061CQ22
2C061CQ24
2C061HH03
2C061HJ08
2C061HK05
2C061HP00
2C061HQ02
2C061HQ17
2C061HR07
2H270KA59
2H270KA61
2H270KA62
2H270NB22
2H270NC28
2H270ND06
2H270ND22
2H270NE12
2H270NE14
2H270ZC03
2H270ZC04
5C062AA05
5C062AA13
5C062AA35
5C062AB22
5C062AB38
5C062AB40
5C062AB42
5C062AC22
5C062AC34
(57)【要約】
【課題】サーバとの接続を完了していないデバイスを扱う。
【解決手段】
デバイスと、ネットワークを介して通信するように構成されたサーバと、の接続が完了している場合に、ネットワークに接続される1以上の他のデバイスのそれぞれとサーバとの接続が完了しているか否かを確認する確認処理を実行する。1以上の他のデバイスに含まれる第1デバイスの状態がサーバとの接続が完了していない特定状態である場合に、第1デバイスの第1識別情報と、第1デバイスの状態を示す第1状態情報とを、サーバに送信する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
システムであって、
ネットワークに接続される複数のデバイスと、
前記ネットワークを介して通信するように構成されたサーバと、
を備え、
前記複数のデバイスは、第1デバイスと、第2デバイスと、を含み、
前記第2デバイスは、
前記第2デバイスと前記サーバとの接続が完了している場合に、前記第2デバイス以外の1以上のデバイスのそれぞれと前記サーバとの接続が完了しているか否かを確認する確認処理を実行する確認処理部と、
前記第1デバイスの状態が前記サーバとの接続が完了していない特定状態である場合に、前記第1デバイスの第1識別情報と、前記第1デバイスの状態を示す第1状態情報とを、前記サーバに送信する情報送信部と、
を備え、
前記サーバは、
記憶装置と、
前記第2デバイスによって送信される前記第1デバイスの前記第1識別情報と前記第1状態情報とを、前記第2デバイスに対応付けられる管理者の識別情報に関連付けて、前記記憶装置に格納する格納処理部と、
を備える、システム。
【請求項2】
請求項1に記載のシステムであって、
前記第2デバイスの前記確認処理部は、前記第2デバイスと前記サーバとの接続の完了に応じて、前記接続の完了の後のタイミングで前記確認処理を開始する、
システム。
【請求項3】
請求項1または2に記載のシステムであって、
前記特定状態は、前記サーバとの接続の試みに失敗した状態である、
システム。
【請求項4】
請求項1または2に記載のシステムであって、
前記第1デバイスは、前記第1デバイスと前記サーバとの接続状態である第1接続状態を示す第1接続状態情報を前記第1デバイスとは異なる他のデバイスに送信する第1送信部を備え、
前記第2デバイスの前記情報送信部は、前記第1デバイスから送信される前記第1接続状態情報によって示される前記第1接続状態を示す前記第1状態情報を、前記サーバに送信する、
システム。
【請求項5】
請求項4に記載のシステムであって、
前記第2デバイスは、さらに、
前記第2デバイスと前記サーバとの接続状態である第2接続状態を示す第2状態情報を前記サーバに送信する第2送信部を備え、
前記第2デバイスの前記確認処理部は、前記第2デバイスの前記第2送信部による前記第2状態情報の送信と連携して、前記第1デバイスに前記第1接続状態情報の送信を要求する、
システム。
【請求項6】
請求項4に記載のシステムであって、
前記ネットワークに接続される前記複数のデバイスは、更に、第3デバイスを含み、
前記サーバは、さらに、
前記第2デバイスから前記第1デバイスの前記第1状態情報を取得した後に、前記第3デバイスから前記第1デバイスの状態を示す第3状態情報を取得する場合に、前記第1デバイスの状態情報の送信を停止する指示を前記第3デバイスに送信する第1停止指示部を備える、
システム。
【請求項7】
請求項5に記載のシステムであって、
前記サーバは、さらに、
前記サーバとの接続が完了していない前記第1デバイスの前記第1接続状態と、前記サーバとの接続が完了している前記第2デバイスの前記第2接続状態と、を含む管理情報を表示するための表示情報を出力する出力部を備える、
システム。
【請求項8】
請求項1または2に記載のシステムであって、
前記サーバは、さらに、
前記第1デバイスから、他のデバイスを経由せずに、前記第1デバイスの状態を示す状態情報を取得する場合に、前記第1デバイスの状態情報の送信を停止する指示を前記第2デバイスに送信する第2停止指示部を備える、
システム。
【請求項9】
請求項1または2に記載のシステムであって、
前記第2デバイスの前記確認処理部は、前記第1デバイスの前記第1状態情報が前記第2デバイスの前記情報送信部によって前記サーバに送信された後に、追加の確認処理を実行し、
前記第2デバイスの前記情報送信部は、前記第1デバイスと前記サーバとの接続が完了していることが、前記追加の確認処理によって確認される場合に、前記第1デバイスの状態情報の送信を停止する、
システム。
【請求項10】
デバイスであって、
デバイスと、ネットワークを介して通信するように構成されたサーバと、の接続が完了している場合に、前記ネットワークに接続される1以上の他のデバイスのそれぞれと前記サーバとの接続が完了しているか否かを確認する確認処理を実行する確認処理部と、
前記1以上の他のデバイスに含まれる第1デバイスの状態が前記サーバとの接続が完了していない特定状態である場合に、前記第1デバイスの第1識別情報と、前記第1デバイスの状態を示す第1状態情報とを、前記サーバに送信する情報送信部と、
を備える、デバイス。
【請求項11】
方法であって、
ネットワークに接続される複数のデバイスに含まれる第1デバイスと第2デバイスとのうちの前記第2デバイスと、前記ネットワークを介して通信するように構成されたサーバと、の接続が完了している場合に、前記第2デバイス以外の1以上のデバイスのそれぞれと前記サーバとの接続が完了しているか否かを確認する確認処理を実行する確認処理工程と、
前記第1デバイスの状態が前記サーバとの接続が完了していない特定状態である場合に、前記第1デバイスの第1識別情報と、前記第1デバイスの状態を示す第1状態情報とを、前記サーバに送信する情報送信工程と、
前記第2デバイスによって送信される前記第1デバイスの前記第1識別情報と前記第1状態情報とを、前記第2デバイスに対応付けられる管理者の識別情報に関連付けて、前記サーバの記憶装置に格納する格納処理工程と、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、デバイスとサーバとの通信に関する。
【背景技術】
【0002】
従来から、サーバと、サーバと通信するデバイスと、が使用されている。例えば、特許文献1は、印刷仲介サーバと複数個のプリンタとを備えるシステムを提案している。複数個のプリンタのうちの第1種のプリンタは、状態通知通信を実行するが、第2種のプリンタは、状態通知通信を実行しない。第1種のプリンタは、印刷仲介サーバから印刷通知を受信すると、各第2種のプリンタに表示通知を送信する。各プリンタにおいて、所定の文字列が表示される。ユーザは、所望のプリンタを選択して、当該プリンタに印刷を実行させることができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
サーバとの接続を完了していないデバイスの扱いについては、工夫の余地があった。
【0005】
本明細書は、サーバとの接続を完了していないデバイスを扱う技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]システムであって、ネットワークに接続される複数のデバイスと、前記ネットワークを介して通信するように構成されたサーバと、を備え、前記複数のデバイスは、第1デバイスと、第2デバイスと、を含み、前記第2デバイスは、前記第2デバイスと前記サーバとの接続が完了している場合に、前記第2デバイス以外の1以上のデバイスのそれぞれと前記サーバとの接続が完了しているか否かを確認する確認処理を実行する確認処理部と、前記第1デバイスの状態が前記サーバとの接続が完了していない特定状態である場合に、前記第1デバイスの第1識別情報と、前記第1デバイスの状態を示す第1状態情報とを、前記サーバに送信する情報送信部と、を備え、前記サーバは、記憶装置と、前記第2デバイスによって送信される前記第1デバイスの前記第1識別情報と前記第1状態情報とを、前記第2デバイスに対応付けられる管理者の識別情報に関連付けて、前記記憶装置に格納する格納処理部と、を備える、システム。
【0008】
この構成によれば、サーバとの接続が完了していない第1デバイスの第1識別情報と第1状態情報とが、サーバに送信される。サーバに送信される情報は、サーバとの接続が完了していない第1デバイスを扱うために、使用できる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、サーバに情報を送信する方法、サーバに情報を送信するデバイス、デバイスからの情報を記憶装置に格納する方法、デバイスからの情報を記憶装置に格納するサーバ、デバイスとサーバとによって実行される方法、デバイスとサーバを備えるシステム、それらの方法またはデバイス、サーバ、システムの機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施例としてのシステムを示す説明図である。
【
図3】プリンタデータベースD3の例を示す図である。
【
図4】収集提供更新処理の例を示すシーケンス図である。
【
図5】(A)は、情報表示処理の例を示すシーケンス図である。(B)は、ダッシュボードの例を示す図である。
【
図6】収集提供更新処理の別の実施例を示すシーケンス図である。
【
図7】収集提供更新処理の別の実施例を示すシーケンス図である。
【
図8】収集提供更新処理の別の実施例を示すシーケンス図である。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.システムの構成:
図1は、一実施例としてのシステムを示す説明図である。このシステム1000は、第1プリンタ100Aと、第2プリンタ100Bと、第3プリンタ100Cと、第4プリンタ100Dと、端末装置200と、サーバ300と、を含む。プリンタ100A-100Dは、ローカルエリアネットワークLNに接続されている。ローカルエリアネットワークLNは、インターネットITに接続されている。サーバ300と端末装置200とは、インターネットITに接続されている。
【0012】
本実施例では、サーバ300は、プリンタと通信することによって、サービスを提供する。サービスは、プリンタに関連する任意のサービスであってよい。本実施例では、サーバ300は、プリンタによって印刷されたシート(例えば、用紙)の数をカウントする。カウントされたシート数は、プリンタのメンテナンスや課金処理など、種々の処理に使用される。サーバ300は、サービスを提供するサービス事業者によって、運用される。
【0013】
プリンタ100A-100Dは、同じユーザグループ(例えば、家庭、企業、学校、など)のメンバーによって使用される。ここで、3台のプリンタ100A-100Cは、サービスの対象であることとする。第4プリンタ100Dは、サービスの対象外であることとする。サービスのために、複数のプリンタ100A-100Cは、それぞれ、サーバ300に接続される。適切なサービスのためには、プリンタとサーバ300との接続が完了したか否かを、プリンタ毎にチェックすることが好ましい。このような作業は、ユーザにとって大きな負担であり得る。後述するように、本実施例では、サーバ300との接続が完了したプリンタは、サーバ300との接続が完了していない他のプリンタの情報を、サーバ300に送信する。サービス事業者の管理者は、サーバ300によって取得された情報を参照することによって、プリンタとサーバ300との接続の不具合を、容易に管理できる。
【0014】
本実施例では、プリンタ100A-100Dは、同じハードウェア構成を有している。以下、プリンタ100A-100Dを区別しない場合には、符号の末尾の英字を省略して、単にプリンタ100とも呼ぶ。
【0015】
プリンタ100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、印刷実行部160と、通信インタフェース180とを、有している。これらの要素は、図示しないバスを介して互いに接続されている。
【0016】
表示部140は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部150は、ボタン、レバー、表示部140上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。通信インタフェース180は、他の装置と通信するためのインタフェースである(例えば、有線LAN、IEEE802.11の無線LAN、のうちの1種以上のインタフェースを含む)。プリンタ100の通信インタフェース180は、ローカルエリアネットワークLNに接続されている。
【0017】
印刷実行部160は、画像を印刷する装置である。本実施例では、印刷実行部160は、いわゆるインクジェットプリンタである。印刷実行部160は、1種類以上の印刷材(例えば、シアンとマゼンタとイエローとブラックの4色のインク)を使用して、画像を印刷するように構成されている。なお、印刷実行部160は、他の方式で画像を印刷する装置であってよい(例えば、レーザープリンタ)。
【0018】
プロセッサ110は、データを処理するように構成された装置である。プロセッサ110は、例えば、Central Processing Unit(CPU)、または、System on a chip(SoC)である。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含む。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。
【0019】
不揮発性記憶装置130は、プリンタ100A-100Dに共通なプログラムPG1と、各プリンタ100A-100Dに固有な識別情報IDD1-IDD4と、のそれぞれのデータを格納している。プログラムPG1に従ってプロセッサ110によって実行される処理は、印刷実行部160に画像を印刷させる処理と、他のプリンタ100と通信する処理と、サーバ300と通信する処理と、を含んでいる。プログラムPG1と識別情報IDD1-IDD4とのデータは、プリンタ100の製造時に、不揮発性記憶装置130に格納される。なお、プログラムPG1は、ネットワークを通じて図示しないサーバから、または、プリンタ100に接続された図示しない携帯記憶装置(例えば、USBフラッシュドライブ)から、プリンタ100の不揮発性記憶装置130に格納されてよい。
【0020】
サービスの対象のプリンタ100A-100Cの不揮発性記憶装置130は、さらに、サービス情報SI1x、SI2、SI3と、試行フラグFG1、FG2、FG3と、状態情報ST1、ST2、ST3と、のそれぞれのデータを格納している。
【0021】
サービス情報SI1x、SI2、SI3は、サービスのためのサーバ300との通信で使用される(本実施例では、サービス用の識別情報を含む)。サービス情報SI1x、SI2、SI3は、サービスのための初期化処理によって、設定される。初期化処理は、サービス事業者の指示に従って、ユーザによって行われる。これに代えて、サービス事業者が初期化処理を行い、サービス事業者が、初期化済のプリンタ100A-100Cを、ユーザに提供してよい。
【0022】
試行フラグFG1、FG2、FG3は、サーバ300との接続を試行したか否かを示している。上記の初期化処理によって、試行フラグFG1、FG2、FG3は、「未試行」に設定される。
【0023】
状態情報ST1、ST2、ST3は、サーバ300との接続状態を示しており、具体的には「完了」と「未完了」とのいずれかを示している。上記の初期化処理によって、状態情報ST1、ST2、ST3は、「未完了」に設定される。
【0024】
試行フラグFG1、FG2、FG3と状態情報ST1、ST2、ST3とは、サーバ300との接続処理によって、更新される(後述)。
【0025】
端末装置200は、サービス事業者の管理者の端末装置であり、例えば、パーソナルコンピュータ、タブレットコンピュータ、または、スマートフォンである。管理者は、サーバ300によってプリンタ100から取得された情報を、端末装置200を使用して参照する。端末装置200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース280とを、有している。これらの要素は、図示しないバスを介して互いに接続されている。
【0026】
表示部240は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部250は、ボタン、レバー、表示部240上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。通信インタフェース280は、他の装置と通信するためのインタフェースである(例えば、有線LAN、IEEE802.11の無線LAN、携帯電話ネットワークのインタフェースのうちの1種以上のインタフェースを含む)。本実施例では、通信インタフェース280は、図示しないネットワーク(例えば、ローカルエリアネットワーク、携帯電話ネットワーク、など)を介して、インターネットITに接続されている。
【0027】
プロセッサ210は、データを処理するように構成された装置である(例えば、CPU、または、SoC)。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含む。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。
【0028】
不揮発性記憶装置230は、プログラムPG2と識別情報IDA1とのそれぞれのデータを格納している。識別情報IDA1は、管理者の識別情報であり、予め決められる(第1管理者情報IDA1と呼ぶ)。プログラムPG2は、プリンタに関連する情報をサーバ300から取得する処理のための管理用アプリケーションのプログラムである。プログラムPG2は、サービス事業者によって、提供される。プログラムPG2はネットワークを通じて図示しないサーバから、または、端末装置200に接続された図示しない携帯記憶装置(例えば、USBフラッシュドライブ)から、端末装置200の不揮発性記憶装置230に格納されてよい。
【0029】
サーバ300は、プロセッサ310と、記憶装置315と、通信インタフェース380とを、有している。これらの要素は、図示しないバスを介して互いに接続されている。通信インタフェース380は、他の装置と通信するためのインタフェースである(例えば、有線LAN、IEEE802.11の無線LAN、のうちの1種以上のインタフェースを含む)。本実施例では、通信インタフェース380は、図示しないネットワーク(例えば、ローカルエリアネットワークなど)を介して、インターネットITに接続されている。プロセッサ310は、データを処理するように構成された装置である(例えば、CPU、または、SoC)。記憶装置315は、揮発性記憶装置320と、不揮発性記憶装置330とを、含む。揮発性記憶装置320は、例えば、DRAMであり、不揮発性記憶装置330は、例えば、フラッシュメモリである。
【0030】
不揮発性記憶装置330は、プログラムPG3とプリンタデータベースD3とのそれぞれのデータを格納している。プロセッサ310は、プログラムPG3を実行することによって、サービスを提供するための種々の処理を実行する(詳細は、後述)。プログラムPG3は、サービス事業者によって、サーバ300にアップロードされる。プリンタデータベースD3の詳細については、後述する。
【0031】
A2.接続処理:
図2は、接続処理の例を示すシーケンス図である。接続処理では、プリンタ100が、サーバ300に接続する。図中には、第1プリンタ100Aと第2プリンタ100Bとサーバ300との種々のステップが示されている。これらのステップは、第1プリンタ100A、第2プリンタ100B、サーバ300のプロセッサ110、110、310によって、それぞれ実行される。以下、第1プリンタ100A、第2プリンタ100B、サーバ300のプロセッサ110、110、310が処理を実行することを、第1プリンタ100A、第2プリンタ100B、サーバ300が処理を実行する、とも表現する。
【0032】
本実施例では、各プリンタ100のプロセッサ110は、プリンタ100の電源の投入を、サーバ300との接続の指示として扱う。電源投入に応じて、プロセッサ110は、サーバ300との接続を試みる。サーバ300のネットワーク上の位置を示す情報(例えば、Uniform Resource Locator(URL))のデータは、例えば、不揮発性記憶装置130に予め格納されている(図示省略)。なお、不揮発性記憶装置130にサービス情報(例えば、サービス情報SI1x、SI2、SI3)のデータが格納されていない場合、プロセッサ110は、接続の試行を実行せずにキャンセルしてよい。
【0033】
図2には、第1プリンタ100Aの第1接続処理S100(S110-S160を含む)と、第2プリンタ100Bの第2接続処理S200(S210-S260を含む)と、が示されている。まず、第1プリンタ100Aの第1接続処理S100について、説明する。
【0034】
第1プリンタ100Aの電源投入に応じて、S110で、第1プリンタ100Aは、サーバ300に接続要求を送信する。この要求は、第1プリンタ100Aの第1識別情報IDD1と第1サービス情報SI1xとのデータを含んでいる。S120では、サーバ300は、プリンタデータベースD3を参照して、認証を行う。
【0035】
図3は、プリンタデータベースD3の例を示す図である。プリンタデータベースD3は、デバイス識別情報IDDと、サービス情報SIと、接続状態STと、登録デバイスRIDと、管理者識別情報IDAと、の対応関係を示している。デバイス識別情報IDDは、プリンタ100の識別情報である。サービス情報SIは、プリンタ100に割り当てられたサービス情報である(本実施例では、サービス用の識別情報を含む)。接続状態STは、サーバ300との接続状態である。接続状態STは、「完了」と「未完了」のいずれかを示し得る。登録デバイスRIDは、接続状態STを登録したプリンタ100の識別情報である。後述するように、接続状態STは、プリンタ100自身によって登録され得、また、他のプリンタ100によって登録され得る。管理者識別情報IDAは、プリンタ100に割り当てられた管理者の識別情報である。同じユーザグループによって使用される複数のプリンタ100(例えば、プリンタ100A-100C)には、同じ管理者が割り当てられることとする。
【0036】
最初の3行R1、R2、R3は、プリンタ100A、100B、100Cの初期化処理によって登録される情報を、それぞれ示している。図示するように、初期化処理によって、サービス情報SIと管理者識別情報IDAとの対応関係が、登録される。他の情報IDD、ST、RIDは、未設定である(図中には、後述する処理で登録される情報IDD、ST、RIDが、示されている)。ここで、第1プリンタ100Aには、サービス情報SI1が割り当てられることとする。第1プリンタ100Aの不揮発性記憶装置130には、サービス情報SI1とは異なるサービス情報SI1xが、誤って、格納されることとする。なお、
図3の最下行RLは、後述するS390で登録される情報である。プリンタ100A、100B、100Cの初期化処理の直後には、最下行RLの情報は、登録されていない。
【0037】
S120(
図2)では、サーバ300は、プリンタ100Aから取得したサービス情報SI1xがプリンタデータベースD3に登録済である場合に、認証に成功すると判断する。本実施例では、誤ったサービス情報SI1xは、プリンタデータベースD3に登録されていない。この場合、サーバ300は、認証に失敗したと判断する。
【0038】
S140では、サーバ300は、認証結果(ここでは、失敗)を、第1プリンタ100Aに通知する。認証結果が失敗である場合、第1プリンタ100Aは、第1状態情報ST1を「未完了」に設定し(S150)、試行フラグFG1を「未試行」から「試行済」に変更する(S160)。そして、第1プリンタ100Aは、接続処理を終了する。
【0039】
次に、第2プリンタ100Bの第2接続処理S200について、説明する。第2プリンタ100Bの電源投入に応じて、S210で、第2プリンタ100Bは、サーバ300に接続要求を送信する。S210の接続要求は、S110の接続要求と同じである。S210の接続要求は、第2プリンタ100Bの識別情報IDD2とサービス情報SI2とのデータを含んでいる。S220では、サーバ300は、プリンタデータベースD3(
図3)を参照して、認証を行う。第2プリンタ100Bからのサービス情報SI2は、プリンタデータベースD3に登録されているので、S220の認証は、成功する(第2行R2参照)。
【0040】
認証に成功する場合、S230で、サーバ300は、第2プリンタ100Bの情報を、サービス情報SI2に対応付けてプリンタデータベースD3に登録する。
図3のサービス情報SI2に対応付けられる第2行R2には、S230で登録される情報の例が示されている。デバイス識別情報IDDは、第2プリンタ100Bの識別情報IDD2に設定される。接続状態STは、「完了」に設定される。登録デバイスRIDは、第2プリンタ100Bの識別情報IDD2に設定される。
【0041】
S240(
図2)では、サーバ300は、認証結果(ここでは、成功)を、第2プリンタ100Bに通知する。認証結果が成功である場合、第2プリンタ100Bは、第2状態情報ST2を「完了」に設定し(S250)、試行フラグFG2を「未試行」から「試行済」に変更する(S260)。そして、第2プリンタ100Bは、接続処理を終了する。
【0042】
以上のように、本実施例では、第1プリンタ100Aは、サーバ300との接続を完了できず、第2プリンタ100Bは、サーバ300との接続を完了することとする。すなわち、第1プリンタ100Aは、サーバ300とサービスのための通信を実行できないが、第2プリンタ100Bは、サーバ300とサービスのための通信を実行できる。本実施例では、サーバ300との接続を完了したプリンタ100は、印刷を実行する毎に、印刷枚数をサーバ300に通知する(図示省略)。
【0043】
A3.収集提供更新処理:
図4は、収集提供更新処理の例を示すシーケンス図である。この収集提供更新処理S300では、サーバ300との接続を完了したプリンタ(完了プリンタと呼ぶ)が、他のプリンタの接続状態を収集し、収集した情報をサーバ300に提供する。サーバ300は、提供された情報を使用して、プリンタデータベースD3を更新する。図中には、第1プリンタ100Aと第2プリンタ100Bとサーバ300との種々のステップが示されている。これらのステップは、それぞれのプロセッサ110、110、310によって、実行される。
図2の説明と同様に、それぞれのプロセッサが処理を実行することを、第1プリンタ100A、第2プリンタ100B、サーバ300が処理を実行する、とも表現する。以下、
図2の接続処理S100、S200の後に、
図4の処理が行われることとする。
【0044】
サーバ300との接続の完了(S240:
図2)に応じて、第2プリンタ100Bは、収集提供更新処理を開始する。S325では、第2プリンタ100Bは、接続完了プリンタの問い合わせをサーバ300に送信する。この問い合わせは、第2プリンタ100Bの識別情報IDD2のデータを含んでいる。
【0045】
S330では、プリンタデータベースD3(
図3)を参照して、問い合わせに含まれるデバイス識別情報IDD(ここでは、識別情報IDD2)に対応付けられる管理者識別情報IDA(ここでは、第1管理者情報IDA1)を特定する。サーバ300は、特定された識別情報IDA1に対応付けられるとともに接続状態STが「完了」であるデバイス識別情報IDDのリストを抽出する。
【0046】
図4のS330では、
図3に示すように、識別情報IDA1に、3個のサービス情報SI1、SI2、SI3(すなわち、3個のデバイス)が対応付けられていることとする。そして、3個のデバイスのうち接続状態STが「完了」であるデバイスの識別情報IDDは、識別情報IDD2であることとする。この場合、サーバ300は、識別情報IDD2で構成されるリストを抽出する。
【0047】
S335(
図2)では、サーバ300は、抽出したデバイス識別情報IDDのリストのデータを、第2プリンタ100Bに送信する。第2プリンタ100Bは、デバイス識別情報IDDのリストのデータを取得し、取得したデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0048】
S340では、第2プリンタ100Bは、第2プリンタ100Bが接続されているネットワーク上から、サーバ300との接続を試行したプリンタ100を検索する。プリンタ100の検索方法は、任意の方法であってよい。本実施例では、第2プリンタ100Bは、ブロードキャストアドレス宛の要求を送信する。ブロードキャストアドレス宛の要求は、第2プリンタ100Bが接続されているローカルエリアネットワーク(ここでは、ローカルエリアネットワークLN)上の全てのデバイスによって、受信される。また、本実施例では、要求として、デバイス識別情報IDDと試行フラグFGとの要求が、送信される。このような要求としては、例えば、Simple Network Management Protocol(SNMP)の要求(例えば、Get Request)が使用される。
【0049】
ローカルエリアネットワークLN上のプリンタ100は、第2プリンタ100Bからの要求に応じて、自身の識別情報IDDと試行フラグFGとのデータを、第2プリンタ100Bに送信する。例えば、S345では、第1プリンタ100Aは、自己の識別情報IDD1(
図1)と試行フラグFG1とのデータを、第2プリンタ100Bに送信する。第2プリンタ100Bは、情報IDD1、FG1のデータを取得し、取得したデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。
図2のS160で説明したように、試行フラグFG1は、「試行済」を示している。
【0050】
図示を省略するが、第3プリンタ100Cは、この時点で、電源が投入されていないこととする。また、第4プリンタ100Dは、第2プリンタ100Bからの要求に応じて、応答を第2プリンタ100Bに送信することとする。なお、第4プリンタ100Dの不揮発性記憶装置130には、試行フラグFGのデータは格納されていない。第4プリンタ100Dは、自己の識別情報IDD4のデータと、試行フラグFGが無いことを示すデータとを、第2プリンタ100Bに送信する。
【0051】
S350(
図4)では、第2プリンタ100Bは、サーバ300との接続を試行したプリンタ100であって、接続に失敗したプリンタ100を抽出する。以下、接続に失敗したプリンタを対象プリンタと呼ぶ。本実施例では、第2プリンタ100Bは、S340の要求に対して応答を返したプリンタ100から、試行フラグFGが「試行済」である試行済プリンタを抽出する。第2プリンタ100Bは、試行済プリンタから、接続を完了したプリンタ100(S335)を除いた残りのプリンタ100を、対象プリンタとして抽出する。
図4のS350では、第1プリンタ100Aが、対象プリンタとして抽出される。以下、第1プリンタ100Aを、対象プリンタ100Aとも呼ぶ。
【0052】
このように、S325-S350を含む処理S320によって、対象プリンタが特定される(以下、処理S320を、対象特定処理S320とも呼ぶ)。
【0053】
S365では、第2プリンタ100Bは、接続状態の問い合わせ(すなわち、接続状態を示す情報の要求)を、各対象プリンタに送信する。この問い合わせとしては、例えば、SNMPの要求(例えば、Get Request)が使用される。
【0054】
S370では、第1プリンタ100Aは、第2プリンタ100Bからの問い合わせに応じて、自己の状態情報(ここでは、状態情報ST1)のデータを、第2プリンタ100Bに送信する。第2プリンタ100Bは、状態情報ST1のデータを取得し、取得したデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0055】
S380では、第2プリンタ100Bは、状態情報のリストをサーバ300に送信する。S380は、S382とS384とを含んでいる。S382では、第2プリンタ100Bは、自己の識別情報IDD2と状態情報ST2とのデータを、サーバ300に送信する。
図2のS250で説明したように、第2状態情報ST2は「完了」を示している
【0056】
S384では、第2プリンタ100Bは、対象プリンタの識別情報と状態情報とのデータを、サーバ300に送信する。本実施例では、S384では、第1プリンタ100Aの識別情報IDD1と状態情報ST1とのデータが、サーバ300に送信される。
図2のS150で説明したように、状態情報ST1は「未完了」を示している。なお、S350で、複数の対象プリンタが抽出される場合、S384は、対象プリンタ毎に実行される。
【0057】
ここで、S384の処理の対象プリンタは、サーバ300との接続が完了していない特定状態のプリンタ100である。本実施例では、S350で説明したように、特定状態は、サーバ300との接続の試みに失敗した状態である。第2プリンタ100Bは、他のプリンタ100の状態が特定状態であるか否かを確認する処理として、S325、S335、S340、S345、S350、S365、S370を含む処理S310を実行する(以下、処理S310を、第1処理S310とも呼ぶ)。
【0058】
S390では、サーバ300は、S380で取得した情報を使用して、プリンタデータベースD3を更新する。サーバ300は、S380の送信装置(ここでは、第2プリンタ100B)の情報と、対象プリンタの情報とを、更新する。サーバ300は、更新済の情報(ひいては、更新済のプリンタデータベースD3)を、不揮発性記憶装置330に格納する。
【0059】
サーバ300は、プリンタデータベースD3(
図3)において、送信装置である第2プリンタ100Bの識別情報IDD2に対応付けられる接続状態ST(ここでは、第2行R2の接続状態ST)を、S382で取得した状態情報ST2に更新する。通常は、送信装置の更新前の接続状態STと新たな接続状態STとは、いずれも「完了」を示している。
【0060】
また、サーバ300は、対象プリンタの識別情報IDDと接続状態STとを、送信装置である第2プリンタ100Bの識別情報IDD2に対応付けられる第1管理者情報IDA1と対応付けて、プリンタデータベースD3に登録する。最下行RLは、S390で登録される情報の例を示している。第1プリンタ100Aの識別情報IDD1と状態情報ST1(ここでは、未完了)とが、第1管理者情報IDA1と対応付けて、登録される。登録デバイスRIDは、送信装置の識別情報IDD2に設定される。なお、S350で複数の対象プリンタが抽出される場合、S390では、各対象プリンタの情報が、登録される。
【0061】
なお、第2プリンタ100Bは、状態情報のリストの送信(S382とS384を含むS380)を、繰り返し実行する。S384では、第2プリンタ100Bは、第1プリンタ100Aに関連する最新の情報を送信することが好ましい。そこで、第2プリンタ100Bは、S380の実行の契機と連携して、S365を実行する。本実施例では、第2プリンタ100Bは、S380の実行の直前に、S365を実行する。これにより、S384では、第2プリンタ100Bは、最新の情報を送信できる。このように、S365-S390を含む提供更新処理S360は、繰り返し、実行される。なお、S380の実行の契機は、種々の契機であってよい。例えば、第2プリンタ100Bは、定期的にS380を実行してよい。すなわち、S380の実行の契機は、最後のS380の実行から所定時間が経過したことであってよい。
【0062】
なお、プリンタデータベースD3(
図3)に第1プリンタ100Aの情報IDD1、ST1(ここでは、最下行RLの情報)が登録された後に、再び、第1プリンタ100Aの情報IDD1、ST1が、サーバ300に送信され得る。この場合、サーバ300は、登録済の識別情報IDD1に対応付けられる情報ST、RIDを、新たに取得された情報を使用して、更新する。
【0063】
A4.情報表示処理:
図5(A)は、情報表示処理の例を示すシーケンス図である。情報表示処理では、サーバ300は、管理者の端末装置200に、管理者の識別情報IDA1に対応付けられるプリンタの情報を、送信する。端末装置200は、取得した情報を、表示部240に表示する。管理者は、表示された情報を観察することによって、プリンタとサーバ300との接続の不具合を把握する。図中には、端末装置200とサーバ300との種々のステップが示されている。これらのステップは、それぞれのプロセッサ210、310によって、実行される。それぞれのプロセッサが処理を実行することを、端末装置200、サーバ300が処理を実行する、とも表現する。以下、
図4の収集提供更新処理の後に、
図5(A)の処理が行われることとする。
【0064】
S410では、管理者は、端末装置200の操作部250を操作することによって、管理用アプリケーションを起動し、管理情報の取得指示を端末装置200に入力する。端末装置200は、取得指示に応じて、管理情報の問い合わせを、サーバ300に送信する。この問い合わせは、第1管理者情報IDA1のデータを含んでいる。
【0065】
S420では、サーバ300は、プリンタデータベースD3(
図3)を参照し、第1管理者情報IDA1に対応付けられるデバイス識別情報IDDを抽出する。
図5(A)のS420では、識別情報IDD1、IDD2が抽出される。
【0066】
S430では、サーバ300は、ダッシュボードのデータを生成する。
図5(B)は、ダッシュボードの例を示す図である。ダッシュボードDBは、デバイス識別情報IDDと接続状態STとの対応関係を示している。S420で、識別情報IDD1、IDD2が抽出される場合、ダッシュボードDBは、第1識別情報IDD1と第1接続状態ST1d(ここでは「未完了」)との対応関係と、第2識別情報IDD2と第2接続状態ST2d(ここでは「完了」)との対応関係と、を示している。
【0067】
ダッシュボードDBのデータ形式は、HTML(Hyper Text Markup Language)などのテキスト形式や、PNG(Portable Network Graphics)などの画像データ形式など、種々の形式であってよい。また、サーバ300は、ダッシュボードDBを表すウェブページを生成してよい。そして、ダッシュボードDBのデータは、ウェブページへのリンク(例えば、URL)を表すデータであってよい。
【0068】
S440(
図5(A))では、サーバ300は、ダッシュボードDBのデータを、端末装置200に送信する。S450では、端末装置200は、受信したデータを使用して、ダッシュボードDBを表示部240に表示する(
図5(B))。管理者は、ダッシュボードDBを観察することによって、サーバ300との接続が完了していない第1プリンタ100Aを、認識する。管理者は、第1プリンタ100Aをサーバ300に接続するための作業を開始してよい。例えば、管理者は、第1プリンタ100Aの所在地に移動し、第1プリンタ100Aのメンテナンスを行ってよい。
【0069】
以上のように、本実施例では、システム1000(
図1)は、ネットワーク(ここでは、ローカルエリアネットワークLN)に接続される複数のプリンタ100A-100Dと、ネットワークLNを介して通信するように構成されたサーバ300と、を含んでいる。本実施例では、サーバ300は、ネットワークLNとインターネットITとを介して、複数のプリンタ100A-100Dと通信するように、構成されている。複数のプリンタ100A-100Dは、第1プリンタ100Aと第2プリンタ100Bとを含んでいる。
【0070】
第2プリンタ100Bは、以下の処理を実行する。第2プリンタ100Bとサーバ300との接続が完了している場合に(
図2:S200)、第2プリンタ100Bは、
図4の第1処理S310を実行する。第1処理S310では、第2プリンタ100Bは、第2プリンタ100B以外の1以上のプリンタのそれぞれ(本実施例では、第1プリンタ100A)とサーバ300との接続が完了しているか否かを確認する。S384で、第2プリンタ100Bは、対象プリンタの識別情報と対象プリンタの状態を示す状態情報とをサーバ300に送信する。S384の処理の対象プリンタは、サーバ300との接続が完了していない状態である特定状態のプリンタである。第1プリンタ100Aは、対象プリンタの例である。サーバ300は、S390で、第2プリンタ100Bによって送信される第1プリンタ100Aの第1識別情報IDD1と第1状態情報ST1とを、第2プリンタ100Bに対応付けられる管理者の識別情報IDA1に関連付けて、不揮発性記憶装置330に格納する。
【0071】
このように、第2プリンタ100Bによってサーバ300に送信される情報は、サーバ300との接続が完了していない特定状態の第1プリンタ100Aの識別情報IDD1と状態情報ST1とを含んでいる。これらの情報IDD1、ST1は、サーバ300との接続を完了していない第1プリンタ100Aを適切に扱うために、使用可能である。例えば、情報IDD1、ST1は、第1プリンタ100Aとサーバ300との接続のための種々の処理(例えば、ダッシュボードDBの表示、第1プリンタ100Aのメンテナンス、など)に使用可能である。また、情報IDD1、ST1は、第2プリンタ100Bに対応付けられる第1管理者情報IDA1に対応付けられる。従って、情報IDD1、ST1は、第2プリンタ100Bの管理者と同じ管理者によるプリンタの管理に、使用可能である。なお、管理者は、サービス事業者のメンバーである。従って、プリンタ100A-100Dを使用するユーザグループのメンバーは、プリンタ100とサーバ300との接続を管理せずに済む。これに代えて、管理者は、ユーザグループのメンバーであってよい。
【0072】
また、
図4で説明したように、第2プリンタ100Bは、第2プリンタ100Bとサーバ300との接続の完了(
図2:S200)に応じて、接続の完了(S200)の後のタイミングで、他のプリンタ100の状態を確認する処理S310(
図4)を開始する。従って、第2プリンタ100Bとサーバ300との接続が完了した時点で第1プリンタ100Aとサーバ300との接続が完了していない場合に、第2プリンタ100Bは、第1プリンタ100Aの情報IDD1、ST1をサーバ300に送信できる。
【0073】
また、S384(
図4)では、第2プリンタ100Bは、サーバ300との接続が完了していない特定状態の対象プリンタの識別情報と状態情報とを送信する。S350で説明したように、対象プリンタは、サーバ300との接続を試行したプリンタであって、接続に失敗したプリンタである。すなわち、特定状態は、サーバ300との接続の試みに失敗した状態である。従って、第2プリンタ100Bは、サーバ300との接続を必要としない第4プリンタ100Dの情報をサーバ300に送信せずに済む。
【0074】
また、第1プリンタ100Aの状態がこのような特定状態である場合、第1プリンタ100Aには不具合の可能性がある(例えば、サービス情報SI1の誤りなど)。第2プリンタ100Bは、S384(
図4)で、特定状態の第1プリンタ100A(すなわち、不具合の可能性がある第1プリンタ100A)の識別情報IDD1と状態情報ST1とをサーバ300に送信する。これらの情報IDD1、ST1は、不具合の可能性のある第1プリンタ100Aとサーバ300との接続のための種々の処理(例えば、第1プリンタ100Aのメンテナンス)に使用可能である。
【0075】
また、第1プリンタ100Aは、S370(
図4)で、第1プリンタ100Aとサーバ300との接続状態である第1接続状態を示す状態情報ST1を、第1プリンタ100Aとは異なる他のプリンタ(ここでは、第2プリンタ100B)に送信する。第2プリンタ100Bは、S384で、第1プリンタ100Aから送信される状態情報ST1によって示される第1接続状態を示す第1状態情報(本実施例では、状態情報ST1と同じ)を、サーバ300に送信する。このように、第2プリンタ100Bは、第1プリンタ100Aから取得される状態情報ST1によって示される接続状態を、サーバ300に通知する。従って、第2プリンタ100Bによって送信される第1プリンタ100Aに関連する情報の誤りの可能性は、低減する。
【0076】
また、第2プリンタ100Bは、S382(
図4)で、第2プリンタ100Bとサーバ300との接続状態である第2接続状態を示す第2状態情報ST2をサーバに送信する。第2プリンタ100Bは、S382を含むS380と連携して、S365の処理、すなわち、第1プリンタ100Aに対する状態情報ST1の送信の要求を、行う。従って、第2プリンタ100Bは、自己の状態情報ST2と、第1プリンタ100Aの最新の状態情報ST1を示す情報とを、サーバ300に送信できる。
【0077】
また、サーバ300は、
図5(A)のS440で、ダッシュボードDBを表示するための表示情報を出力する。
図5(B)に示すように、ダッシュボードDBは、第1識別情報IDD1(すなわち、第1プリンタ100A)の第1接続状態ST1dと、第2識別情報IDD2(すなわち、第2プリンタ100B)の第2接続状態ST2dとを、含んでいる。ダッシュボードDBは、サーバ300との接続が完了していない第1プリンタ100Aの第1接続状態と、サーバ300との接続が完了している第2プリンタ100Bの第2接続状態と、を含む管理情報の例である。管理者は、ダッシュボードDBを観察することによって、サーバ300との接続が完了している第2プリンタ100Bだけでなく、サーバ300との接続が完了していない第1プリンタ100Aを認識できる。管理者は、このような第1プリンタ100Aを、適切に扱うことができる。例えば、管理者は、第1プリンタ100Aのメンテナンスを行ってよい。
【0078】
B.第2実施例:
図6は、収集提供更新処理の別の実施例を示すシーケンス図である。
図4の収集提供更新処理S300との差違は、以下の1点である。本実施例の収集提供更新処理S300Bでは、サーバ300は、特定状態の第1プリンタ100Aの状態情報ST1を複数のプリンタから受信する場合に、状態情報ST1の送信を停止する指示を登録デバイスRID以外の識別情報IDDのプリンタに送信する。収集提供更新処理S300Bの他の部分の処理は、収集提供更新処理S300(
図4)の対応する部分の処理と同じである(同じ部分の説明を省略する)。
【0079】
図6には、第1プリンタ100Aと第2プリンタ100Bとサーバ300とに加えて、第3プリンタ100Cが示されている。第1プリンタ100Aと第2プリンタ100Bと第3プリンタ100Cとサーバ300との種々のステップは、それぞれのプロセッサ110、110、110、310によって、実行される。それぞれのプロセッサが処理を実行することを、第1プリンタ100A、第2プリンタ100B、第3プリンタ100C、サーバ300が処理を実行する、とも表現する。以下、
図2の接続処理S100、S200の後に、
図6の処理が行われることとする。
【0080】
S320@2の処理は、
図4のS320の処理と、同じである。S360B@2の処理は、
図4のS360の処理に、後述する変更を加えたものである。後述するように、S320@2に続く最初のS360B@2は、
図4のS360と同じである。
【0081】
なお、処理の符号の「@」に続く番号は、処理を進行するプリンタ100の番号を示している。例えば、S320@2、S360B@2は、第2プリンタ100Bによって進行される。2つの処理の間で符号の「@」よりも前の部分が同じ場合、2つの処理の手続きは同じである。例えば、S360B@2の処理とS360B@3の処理とは、同じ手続きを示している。以下、処理を進行するプリンタを区別しない場合に、処理の符号として、「@」よりも前の部分を参照する。後述する他のステップの符号についても、同様である。
【0082】
S320@2、S360B@2の後に、第3プリンタ100Cとサーバ300との接続処理S200@3が行われる。接続処理S200@3の手続きは、第2接続処理S200(
図2)の手続きと同じである。ここで、第3プリンタ100Cが、サーバ300との接続を完了する。
【0083】
プリンタデータベースD3(
図3)の第3行R3には、S200@3で登録される情報の例が示されている。第3行R3は、第3プリンタ100Cのサービス情報SI3に対応付けられる情報である。デバイス識別情報IDDは、第3プリンタ100Cの識別情報IDD3に設定される。接続状態STは、「完了」に設定される。登録デバイスRIDは、第3プリンタ100Cの識別情報IDD3に設定される。
【0084】
接続処理S200@3の後、第3プリンタ100Cは、対象特定処理S320@3を進行する。対象特定処理S320@3の手続きは、対象特定処理S320(
図4)の手続きと同じである。ここで、第2プリンタ100Bに代えて、第3プリンタ100Cが、対象プリンタ100Aを特定する。
【0085】
S320@3(
図6)の後、第3プリンタ100Cは、提供更新処理S360B@3を進行する。提供更新処理S360(
図4)の手続きとの差違は、S390の後に、S391B、S392B、S393Bが追加されている点だけである。S360B@3のS365、S370、S380、S390は、
図4のS365、S370、S380、S390と、それぞれ同じ手続きを示している。第3プリンタ100Cは、S365で、対象プリンタ100Aに接続状態の問い合わせを送信し、S370で、対象プリンタ100Aから状態情報ST1のデータを取得する。S380のS382では、第3プリンタ100Cは、自己の識別情報IDD3と状態情報ST3とのデータを、サーバ300に送信する。S384では、第3プリンタ100Cは、対象プリンタ100Aの識別情報IDD1と状態情報ST1とのデータを、サーバ300に送信する。S390では、サーバ300は、S380で取得した情報を使用して、プリンタデータベースD3(
図3)を更新する。
【0086】
ここで、第3プリンタ100Cから取得した対象プリンタ100Aの第1識別情報IDD1は、最下行RL(
図3)に示すように、登録デバイスRIDによって示される第2プリンタ100Bによって登録済である。このように、対象プリンタの情報が、S380の送信装置である第3プリンタ100Cとは異なる他のプリンタによって登録済である場合(S391B:Yes)、S392Bで、サーバ300は、対象プリンタの状態情報の送信を停止する指示を、第3プリンタ100Cに送信する。この指示は、停止対象のプリンタの識別情報IDD(ここでは、第1識別情報IDD1)のデータを含んでいる。
【0087】
S393Bでは、第3プリンタ100Cは、サーバ300からの指示で指定されたプリンタ(ここでは、第1識別情報IDD1によって示される第1プリンタ100A)を、対象プリンタから除外する。
【0088】
対象プリンタの情報が、他のプリンタによって登録済ではない場合(S391B:No)、サーバ300は、S392Bをスキップする。この場合、第3プリンタ100Cは、S393Bを実行しない。
【0089】
なお、S391Bの判断(ひいては、S392B、S393B)は、対象プリンタ毎に行われる。
【0090】
以後、第3プリンタ100Cは、第2プリンタ100Bと同様に、S365、S380を、繰り返し実行する。
図6の上部に示す第2プリンタ100BによるS360B@2の手続きは、第3プリンタ100CによるS360B@3の手続きと、同じである。S320@2に続く最初のS360B@2では、対象プリンタ100Aに関するS391Bの判断結果は、Noである。従って、最初のS360B@2は、
図4のS360と同じである。
【0091】
以上のように、本実施例では、
図1に示すように、ネットワーク(ここでは、ローカルエリアネットワークLN)に接続される複数のプリンタ100A-100Dは、第3プリンタ100Cを含んでいる。また、サーバ300は、以下の処理を実行する。サーバ300は、S360B@2(具体的には、S380)で、第2プリンタ100Bから第1プリンタ100Aの状態を示す状態情報(ここでは、第1状態情報ST1)を取得する。サーバ300は、第2プリンタ100Bからの第1状態情報ST1の取得の後に、S360B@3(具体的には、S380)で、第3プリンタ100Cから第1プリンタ100Aの状態を示す状態情報(ここでは、状態情報ST1と同じ)を取得する。このように、サーバ300は、第1プリンタ100Aの状態情報を第2プリンタ100Bから取得した後に、第1プリンタ100Aの状態情報を第3プリンタ100Cから取得する。この場合(S391B:Yes)、サーバ300は、S392Bで、第1プリンタ100Aの状態情報の送信を停止する指示を、第3プリンタ100Cに送信する。このように、サーバ300は、重複する情報の送信を、第3プリンタ100Cに停止させることができる。これにより、第1プリンタ100Aと第3プリンタ100Cとの間の通信負荷と、第3プリンタ100Cとサーバ300との間の通信負荷とは、それぞれ、軽減可能である。また、第1プリンタ100Aと第3プリンタ100Cとサーバ300とのそれぞれの処理の負荷は、軽減可能である。
【0092】
C.第3実施例:
図7は、収集提供更新処理の別の実施例を示すシーケンス図である。
図4の収集提供更新処理S300との差違は、以下の通りである。本実施例の収集提供更新処理S300Cでは、サーバ300は、「未完了」の接続状態ST(
図3)に対応付けられるプリンタから「完了」を示す自己の状態情報を受信する場合に、状態情報ST1の送信を停止する指示を登録デバイスRIDのプリンタに送信する。収集提供更新処理S300Cの他の部分の処理は、収集提供更新処理S300(
図4)の対応する部分の処理と同じである(同じ部分の説明を省略する)。
【0093】
図7には、第1プリンタ100Aと第2プリンタ100Bとサーバ300とが示されている。第1プリンタ100Aと第2プリンタ100Bとサーバ300との種々のステップは、それぞれのプロセッサ110、110、310によって、実行される。それぞれのプロセッサが処理を実行することを、第1プリンタ100A、第2プリンタ100B、サーバ300が処理を実行する、とも表現する。以下、
図2の接続処理S100、S200の後に、管理者によって、第1プリンタ100Aの誤ったサービス情報SI1xが、正しいサービス情報SI1に変更されることとする。そして、その後に、
図7の処理が行われることとする。
【0094】
S320@2は、
図4のS320と、同じである。続くS360C@2は、
図4のS360に、後述する変更を加えたものである。後述するように、S320@2に続く最初のS360C@2は、
図4のS360と同じである。
【0095】
S360C@2の後に、第1プリンタ100Aとサーバ300との接続処理S200@1が行われる。接続処理S200@1の手続きは、第2接続処理S200(
図2)の手続きと同じである。第1プリンタ100Aは、サーバ300との接続を完了する。
【0096】
プリンタデータベースD3(
図3)の第1行R1には、S200@1(具体的には、S230)で登録される情報の例が示されている。第2行R2の更新と同様に、第1プリンタ100Aのサービス情報SI1に対応付けられる第1行R1が、更新される。デバイス識別情報IDDは、第1プリンタ100Aの識別情報IDD1に設定される。接続状態STは、「完了」に設定される。登録デバイスRIDは、第1プリンタ100Aの識別情報IDD1に設定される。
【0097】
S200@1(
図7)のS250では、第1プリンタ100Aは、自己の状態情報ST1を「完了」に設定する。
【0098】
S200@1の後、第1プリンタ100Aは、対象特定処理S320@1を進行する。S320@1の手続きは、対象特定処理S320(
図4)の手続きと同じである。ここで、第2プリンタ100Bに代えて、第1プリンタ100Aが、対象プリンタを特定する。なお、対象プリンタ(すなわち、サーバ300との接続が完了していないプリンタ)は、検出されない場合がある。以下、S320@1では、対象プリンタが検出されないこととする。
【0099】
S320@1の後、第1プリンタ100Aは、提供更新処理S360C@1を進行する。提供更新処理S360(
図4)の手続きとの差違は、2点ある。第1の差違は、S390がS390Cに置換される点である。第2の差違は、S390Cの後に、S396C、S397C、S398Cが追加されている点である。S360C@1のS365、S370、S380は、
図4のS365、S370、S380と、それぞれ同じ手続きを示している。S320@1で対象プリンタが検出される場合、第1プリンタ100Aは、S365で、対象プリンタに接続状態の問い合わせを送信し、S370で、対象プリンタから状態情報のデータを取得する。S320@1で対象プリンタが検出されない場合、第1プリンタ100Aは、S365、S370を省略する。S390Cは、
図4のS390に、後述する処理を追加したものである。
【0100】
S380のS382では、第1プリンタ100Aは、自己の識別情報IDD1と状態情報ST1とのデータを、サーバ300に送信する。S200@1で説明したように、状態情報ST1は「完了」を示している。S384では、第1プリンタ100Aは、対象プリンタの識別情報と状態情報とのデータを、サーバ300に送信する。S320@1で対象プリンタが検出されない場合、第1プリンタ100Aは、S384を省略する。
【0101】
S390Cでは、サーバ300は、S380で取得した情報を使用して、プリンタデータベースD3(
図3)を更新する。
図4のS390との差違は、以下の処理が追加されている点だけである。サーバ300は、デバイス識別情報IDDが、S380の送信装置である第1プリンタ100Aの識別情報IDD1であり、かつ、接続状態STが「未完了」である情報を、プリンタデータベースD3から検索する(検索される情報を未更新情報と呼ぶ)。
図3の実施例では、最下行RLの情報が検出される。サーバ300は、未更新情報の登録デバイスRIDを取得し、そして、未更新情報をプリンタデータベースD3から削除する。
【0102】
S396Cでは、サーバ300は、S380の送信装置の接続状態が「未完了」から「完了」に変化したか否かを判断する。本実施例では、S382によって送信装置の状態情報ST1が取得され、かつ、S390Cで未更新情報が検出される場合に、接続状態が「未完了」から「完了」に変化したと判断される(S396C:Yes)。S396Cの判断結果がYesである場合、S397Cで、サーバ300は、未更新情報の登録デバイスRIDによって示されるプリンタ(ここでは、第2プリンタ100B)に、送信装置である第1プリンタ100Aの状態情報の送信を停止する指示を送信する。この指示は、停止対象のプリンタの識別情報IDD(ここでは、第1識別情報IDD1)のデータを含んでいる。
【0103】
S398Cでは、第2プリンタ100Bは、サーバ300からの指示で指定されたプリンタ(ここでは、第1識別情報IDD1によって示される第1プリンタ100A)を、対象プリンタから除外する。
【0104】
S382で送信装置の状態情報ST1が取得されない、または、S390Cで未更新情報が検出されない場合(S396C:No)、サーバ300は、S397Cをスキップする。この場合、第2プリンタ100Bは、S398Cを実行しない。
【0105】
以後、第1プリンタ100Aと第2プリンタ100Bとは、
図4の実施例と同様に、S365、S380を、繰り返し実行する。なお、S398C(
図7)で第1プリンタ100Aが対象プリンタから除外される場合、その後、第2プリンタ100Bは、第1プリンタ100AのためのS365、S384を実行しない。
【0106】
なお、
図7の上部の第2プリンタ100BによるS360C@2の手続きは、第1プリンタ100AによるS360C@1の手続きと、同じである。S320@2に続く最初のS360C@2は、S200@1の前に実行される。従って、最初のS360C@2のS396Cの判断結果は、Noである。従って、最初のS360C@2は、
図4のS360と同じである。
【0107】
以上のように、本実施例では、サーバ300は、以下の処理を実行する。S360C@1のS380では、サーバ300は、第1プリンタ100Aから、他のプリンタ100を経由せずに、第1プリンタ100Aの状態を示す状態情報ST1を取得する。このように、第1プリンタ100Aから直接的に状態情報ST1が取得される場合に(S396C:Yes)、サーバ300は、S397Cで、第1プリンタ100Aの状態情報の送信を停止する指示を第2プリンタ100Bに送信する(本実施例では、第1プリンタ100Aから直接的に状態情報ST1が初めて取得される場合、S390Cで未更新情報が検出されるので、S396Cの判断結果はYesである)。このように、サーバ300は、サーバ300との接続が完了した第1プリンタ100Aの情報の送信を、第2プリンタ100Bに停止させることができる。これにより、第1プリンタ100Aと第2プリンタ100Bとの間の通信負荷と、第2プリンタ100Bとサーバ300との間の通信負荷とは、それぞれ、軽減可能である。また、第1プリンタ100Aと第2プリンタ100Bとサーバ300とのそれぞれの処理の負荷は、軽減可能である。
【0108】
D.第4実施例:
図8は、収集提供更新処理の別の実施例を示すシーケンス図である。
図4の収集提供更新処理S300との差違は、S370とS380との間にS375Dが追加されている点だけである。本実施例の収集提供更新処理S300Dの他の部分の処理は、収集提供更新処理S300(
図4)の対応する部分の処理と同じである(同じ部分の説明を省略する)。
【0109】
図8には、第1プリンタ100Aと第2プリンタ100Bとサーバ300とが示されている。第1プリンタ100Aと第2プリンタ100Bとサーバ300との種々のステップは、それぞれのプロセッサ110、110、310によって、実行される。それぞれのプロセッサが処理を実行することを、第1プリンタ100A、第2プリンタ100B、サーバ300が処理を実行する、とも表現する。以下、
図2の接続処理S100、S200の後に、管理者によって、第1プリンタ100Aの誤ったサービス情報SI1xが、正しいサービス情報SI1に変更されることとする。そして、その後に、
図8の処理が行われることとする。
【0110】
S320@2は、
図4のS320と、同じである。第2プリンタ100Bは、第1プリンタ100Aを対象プリンタとして検出する。S360D@2は、
図4のS360に、後述する変更を加えたものである。後述するように、S320@2に続く最初のS360D@2は、
図4のS360と同じである。続くS200@1、S320@1は、
図7のS200@1、S320@1と、それぞれ同じである。第1プリンタ100Aは、サーバ300との接続を完了し(S200@1)、対象プリンタ(すなわち、サーバ300との接続が完了していないプリンタ)を特定する(S320@1)。S320@1では、対象プリンタが検出されない場合がある。S320@1の後に、第1プリンタ100Aは、S360D@1を進行する。S360D@1と、
図4のS360と、の間の差違については、後述する。
【0111】
S360D@1の後、第2プリンタ100Bは、再び、S360D@2を進行する。S365では、第2プリンタ100Bは、対象プリンタ100Aに接続状態の問い合わせを送信する。S370では、第1プリンタ100Aは、自己の状態情報ST1のデータを、第2プリンタ100Bに送信する。この段階では、状態情報ST1は「完了」を示している。
【0112】
S375Dでは、第2プリンタ100Bは、対象プリンタからの状態情報が「完了」を示す場合に、そのプリンタを対象プリンタから除外する。本実施例では、第1プリンタ100Aが対象プリンタから除外される。なお、対象プリンタからの状態情報が「未完了」を示す場合、第2プリンタ100Bは、その対象プリンタを除外するためのS375Dを実行せずに省略する。
【0113】
続くS380のS382では、第2プリンタ100Bは、自己の識別情報IDD2と状態情報ST2とのデータを、サーバ300に送信する。S384では、第2プリンタ100Bは、対象プリンタの識別情報と状態情報とのデータを、サーバ300に送信する。なお、第1プリンタ100Aは対象プリンタから除外されているので(S375D)、第1プリンタ100Aの情報は、送信されない。
【0114】
以後、第2プリンタ100Bは、S365、S375D(必要な場合)、S380を、繰り返し実行する。なお、
図8の上部のS320@2に続く最初のS360D@2では、第1プリンタ100Aとサーバ300との接続は完了していない。従って、第1プリンタ100Aは対象プリンタから除外されず、第2プリンタ100Bは、対象プリンタ100Aの情報を、サーバ300に送信する。すなわち、最初のS360D@2は、
図4のS360と同じである。また、第1プリンタ100AによるS360D@1の手続きは、第2プリンタ100BによるS360D@2の手続きと、同じである。
【0115】
以上のように、本実施例では、第2プリンタ100Bは、以下の処理を実行する。
図8の最初のS360D@2(具体的には、S380)では、第2プリンタ100Bは、第1プリンタ100Aの状態情報ST1のデータをサーバ300に送信する。このように、第1プリンタ100Aの状態情報ST1が第2プリンタ100Bによってサーバ300に送信された後で、第2プリンタ100Bは、2回目のS360D@2を進行する。2回目のS360D@2(具体的には、S365、S370)では、第2プリンタ100Bは、対象プリンタのそれぞれ(本実施例では、第1プリンタ100A)とサーバ300との接続が完了しているか否かを再び確認する。このような追加の確認の処理によって、第1プリンタ100Aとサーバ300との接続が完了していることが確認される場合に、第2プリンタ100Bは、S375Dで、第1プリンタ100Aを対象プリンタから除外する。すなわち、第2プリンタ100Bは、第1プリンタ100Aの状態情報ST1の送信を停止する。このように、第2プリンタ100Bは、サーバ300との接続が完了した第1プリンタ100Aの情報の送信を、停止する。これにより、第1プリンタ100Aと第2プリンタ100Bとの間の通信負荷と、第2プリンタ100Bとサーバ300との間の通信負荷とは、それぞれ、軽減可能である。また、第1プリンタ100Aと第2プリンタ100Bとサーバ300とのそれぞれの処理の負荷は、軽減可能である。
【0116】
なお、S200@1によって第1プリンタ100Aとサーバ300との接続が完了した場合に、プリンタデータベースD3(
図3)に未更新情報が残り得る。例えば、最下行RLの情報は、第1プリンタ100Aとサーバ300との接続が完了した後も、「未完了」の接続状態STを示している。本実施例では、S200@1で、第1プリンタ100Aとサーバ300との接続が完了する場合に、サーバ300は、未更新情報をプリンタデータベースD3から削除することが好ましい。例えば、S200@1(より一般的には、
図2の接続処理S200)では、S220の認証に成功する場合に、サーバ300は、デバイス識別情報IDDが接続要求の識別情報IDDであり、かつ、接続状態STが「未完了」である未更新情報を、プリンタデータベースD3から削除してよい。
【0117】
E.変形例:
(1)
図6のS392Bで、サーバ300は、登録済の対象プリンタに限らず、自分以外の他のプリンタの状態情報の送信を停止する指示を、第3プリンタ100Cに送信してよい。この指示を受信した第3プリンタ100Cは、以後、S384を実行せずに、S382(すなわち、自己の情報IDD3、ST3の送信)を繰り返してよい。
【0118】
(2)上記の各実施例では、サーバとの接続を完了した完了プリンタは、自己の状態情報の送信(例えば、S382(
図4、
図6、
図7、
図8))と連携して、接続状態情報の送信の要求を他のプリンタに送信する(例えば、S365(
図4、
図6、
図7、
図8))。完了プリンタは、この要求に応じて、他のプリンタとサーバ300との接続が完了しているか否かを示す最新の接続状態情報を他のプリンタから取得できる(S370)。ここで、接続状態情報の送信の要求のタイミングと、自己の状態情報の送信のタイミングとが、予め決められた関係を有する場合、接続状態情報の送信の要求は、自己の状態情報の送信と連携しているといえる。例えば、接続状態情報の送信の要求は、自己の状態情報の送信のタイミングから、所定時間だけ早いタイミングであってよい。
【0119】
(3)完了プリンタは、接続状態情報の送信の要求を他のプリンタに送信する処理(例えば、S365(
図3、
図6、
図7、
図8))を、任意のタイミングで実行してよい。例えば、操作部150を介して入力されるユーザの指示、または、外部装置(例えば、端末装置200)からネットワークを介して完了プリンタに入力される指示に応じて、完了プリンタは、接続状態情報の送信の要求を他のプリンタに送信してよい。
【0120】
なお、S365、S370は、省略されてよい。この場合、S350(
図4など)で抽出されたプリンタ100の状態は、サーバ300との接続が完了していない特定状態と見なされてよい。すなわち、S350で抽出されたプリンタ100は、S384の対象プリンタとして使用されてよい
【0121】
(4)プリンタ100は、電源投入に限らず、種々の契機に従って、サーバ300との接続を試行してよい。例えば、操作部150を介して入力されるユーザの指示、または、外部装置(例えば、図示しないユーザの端末装置)からネットワークを介してプリンタ100に入力される指示に応じて、プリンタ100は、サーバ300との接続を試行してよい。この場合、指示に関連する不具合(例えば、指示の入力忘れ)に起因して、プリンタ100の状態は、サーバ300との接続が完了していない状態であり得る。プリンタ100をS384(
図4等)の対象プリンタとして採用するための特定状態は、プリンタ100がサーバ300との接続を試行したか否かに関わらずに、サーバ300との接続が完了していない状態であってよい。プリンタ100の状態がこのような特定状態であるか否かを判断する方法は、種々の方法であってよい。例えば、第1プリンタ100Aがサービス情報(例えば、サービス情報SI1x)を有するとともにサーバ300との接続を完了していない(例えば、状態情報ST1が「未完了」を示す)場合に、第1プリンタ100Aの状態が特定状態であると判断されてよい。
【0122】
(5)上記各実施例において、S384(
図4等)で送信される状態情報は、S370で取得される状態情報によって示される接続状態を示す種々の情報であってよい。例えば、S370で取得される状態情報を加工することによって得られる情報が、S384で送信されてよい。また、S380(具体的には、S382)からは、自己の状態情報の送信は省略されてよい。また、完了プリンタは、種々の契機に従って、S384を実行してよい。例えば、完了プリンタは、定期的に、または、電源投入に応じて、S384を実行してよい。
【0123】
(6)上記各実施例において、完了プリンタは、種々の契機に従って、
図4等のS382(すなわち、自己の状態情報の送信)を実行してよい。例えば、完了プリンタは、電源投入に応じて、S382を実行してよい。そして、電源投入後、S382の前に、完了プリンタは、S365を実行してよい。このように、プリンタ100は、S382に連携してS365を実行してよい。いずれの場合も、プリンタ100は、S365の実行に応じて、S384(すなわち、他のプリンタの状態情報の送信)を実行することが好ましい。
【0124】
(7)プリンタ100とサーバ300との接続の失敗の原因は、サービス情報(例えば、第1サービス情報SI1x)の誤りに限らず、通信の不具合(例えば、デフォルトゲートウェイの設定の誤り)など、他の種々の原因であり得る。プリンタ100は、通信の不具合によってサーバ300に接続できない場合に、
図2のS150、S160と同様に、状態情報と試行フラグとを設定してよい。そして、このようなプリンタ100の情報も、S384(
図4等)で、完了プリンタによって、サーバ300に送信されてよい。なお、S384で送信される状態情報は、不具合の種類(例えば、通信の不具合、または、サーバ300による認証の不具合)を示す情報を、含んでよい。
【0125】
(8)
図5(A)の実施例において、端末装置200の表示部240にダッシュボードDBを表示する処理は、管理用アプリケーションに代えて、ウェブブラウザによって実行されてよい。また、ダッシュボードDBのデータの出力先は、端末装置200に代えて、他の種々の装置であってよい。例えば、サーバ300には、表示装置が接続されてよい。サーバ300は、ダッシュボードDBのデータを、表示装置に出力してよい(これにより、表示装置は、ダッシュボードDBを表示する)。また、サーバ300は、管理者宛のメッセージ(ダッシュボードDBのような管理情報を含む)のデータを出力してよい。メッセージは、いわゆる電子メール、または、Short Message Service(SMS)であってよい。また、メッセージは、複数のユーザの間で情報の送信と受信を行うメッセージングシステムのメッセージであってよい。
【0126】
(9)プリンタ検索と状態情報の取得とに使用されるプロトコルは、SNMPに代えて、他の種々のプロトコルであってよい。例えば、プリンタ検索と状態情報の取得とは、プリンタ100の製造事業者またはサービス事業者によって定められた他の手順に従って、行われてよい。
【0127】
(10)サービスのためにサーバ300と通信するデバイスは、プリンタ100に代えて、他の任意の種類のデバイスであってよい。例えば、複合機、スキャナ、ミシン、カッティングマシン、工作機械、スマートフォン、監視カメラ、のいずれかが、デバイスとして使用されてよい。サーバ300を使用して提供されるサービスは、サーバ300を介するデバイスの遠隔操作など、任意のサービスであってよい。
【0128】
(11)上記の複数の実施例から任意に選択される2以上の実施例は、組み合わされてよい。例えば、
図7の実施例は、他の実施例(例えば、
図6、または、
図8の実施例)に適用されてよい。また、
図8の実施例は、他の実施例(例えば、
図6、または、
図7の実施例)に適用されてよい。また、
図6、
図7、
図8の実施例が、組み合わされてよい。
【0129】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、
図4等のS340の機能を、専用のハードウェア回路によって実現してもよい。
【0130】
また、本開示の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0131】
上記の実施例と変形例とは、適宜に組み合わせることができる。また、上記の実施例と変形例とは、本開示の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0132】
100…プリンタ、100A…第1プリンタ、100B…第2プリンタ、100C…第3プリンタ、100D…第4プリンタ、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、130…不揮発性記憶装置、140…表示部、150…操作部、160…印刷実行部、180…通信インタフェース、200…端末装置、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、240…表示部、250…操作部、280…通信インタフェース、300…サーバ、310…プロセッサ、315…記憶装置、320…揮発性記憶装置、330…不揮発性記憶装置、380…通信インタフェース、1000…システム、PG1、PG2、PG3…プログラム