(57)【特許請求の範囲】
【請求項１】
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータに、以下の各処理、即ち、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、
前記第１の登録要求が受信される場合に、前記第１の登録要求に含まれる前記第１のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、
前記対象情報が前記メモリに登録された後に、前記第２の登録要求が受信される場合に、前記第２の登録要求に含まれる前記第２のコードが前記対象情報に含まれる前記第１のコードに一致するのか否かを判断する第１の判断処理と、
前記第１の判断処理において、前記第２のコードが前記第１のコードに一致すると判断される場合に、第１の所定操作を前記通信装置に実行することを前記ユーザに促すための第１の画面を表わす第１の画面データを前記端末装置に送信する第１の送信処理であって、前記第１の所定操作は、前記サーバへの前記対象サービスに関連する関連指示の送信を前記通信装置に実行させるための操作である、前記第１の送信処理と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、
前記対象情報の登録状態が前記第２の登録状態に変更され、かつ、前記通信装置から前記関連指示が受信された後に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、
を実行させるコンピュータプログラム。
【請求項２】
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータに、以下の各処理、即ち、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、
前記第１の登録要求が受信される場合に、前記第１の登録要求に含まれる前記第１のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、
前記対象情報が前記メモリに登録された後に、前記第２の登録要求が受信される場合に、前記第２の登録要求に含まれる前記第２のコードが前記対象情報に含まれる前記第１のコードに一致するのか否かを判断する第１の判断処理と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、
前記第１の判断処理において、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記第２のコードとは異なるコードを前記端末装置に入力することを前記ユーザに促すための第２の画面を表わす第２の画面データを前記端末装置に送信する第２の送信処理と、
を実行させるコンピュータプログラム。
【請求項３】
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータに、以下の各処理、即ち、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、
前記第１の登録要求が受信される場合に、前記第１の登録要求に含まれる前記第１のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、
前記対象情報が前記メモリに登録された後に、前記第２の登録要求が受信される場合に、前記第２の登録要求に含まれる前記第２のコードが前記対象情報に含まれる前記第１のコードに一致するのか否かを判断する第１の判断処理と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、
前記第１の登録要求が受信される前であって、前記対象情報が前記メモリに登録される前に、前記第２の登録要求が受信される場合に、前記第２のコードを含む前記対象情報を前記メモリに登録することなく、第２の所定操作を前記通信装置に実行することを前記ユーザに促すための第３の画面を表わす第３の画面データを前記端末装置に送信する第３の送信処理であって、前記第２の所定操作は、前記サーバへの前記第１の登録要求の送信を前記通信装置に実行させるための操作である、前記第３の送信処理と、
を実行させるコンピュータプログラム。
【請求項４】
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータに、以下の各処理、即ち、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、
前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、
前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断処理と、
前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、
前記対象情報の登録状態が前記第１の登録状態から前記第２の登録状態に変更される場合に、前記サーバと前記通信装置との間に前記インターネットを介した接続を確立するための接続情報を前記対象情報に関連付けて前記メモリに登録する第３の登録処理と、
前記接続情報を前記通信装置に送信する第４の送信処理と、
前記接続情報が前記通信装置に送信された後に、前記接続情報を利用して、前記サーバと前記通信装置との間に前記インターネットを介した前記接続を確立する確立処理と  前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、
を実行させ、
前記サービス処理は、前記接続を利用して、前記通信装置との通信を実行することを含む、コンピュータプログラム。
【請求項５】
前記サービス処理は、前記通信装置に関係する装置関係情報を要求するための情報要求を前記通信装置に前記接続を利用して送信すること、及び、前記情報要求の送信に応じて、前記通信装置から前記装置関係情報を受信することを含む、請求項４に記載のコンピュータプログラム。
【請求項６】
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータに、以下の各処理、即ち、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、
前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、
前記第１の登録要求が受信される場合に、前記識別情報と前記第１のコードとを利用して、前記第１のコードが前記識別情報から生成されたコードであるのか否かを判断する第２の判断処理と、
前記第１のコードが前記識別情報から生成されたコードであると判断され、かつ、前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断処理であって、前記第１のコードが前記識別情報から生成されたコードでないと判断される場合に、前記他方の登録要求に含まれる前記他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かの判断は実行されない、前記第１の判断処理と、
前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、
を実行させるコンピュータプログラム。
【請求項７】
前記第１の受信処理は、前記通信装置が前記インターネットに接続されていること、及び、前記通信装置に電力が供給されていること、の双方が満たされた際に、前記第１の登録要求を受信する、請求項１から６のいずれか一項に記載のコンピュータプログラム。
【請求項８】
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記端末装置から、前記インターネットを介して、前記ユーザに関係するユーザ情報を受信する第３の受信処理と、
受信済みの前記ユーザ情報を前記メモリに登録する第２の登録処理と、を実行させ、
前記第１の登録状態では、前記ユーザ情報が前記対象情報に関連付けられず、
前記第２の登録状態では、前記ユーザ情報が前記対象情報に関連付けられ、
前記サービス処理では、前記ユーザ情報を利用した前記対象サービスが実行される、請求項１から７のいずれか一項に記載のコンピュータプログラム。
【請求項９】
サーバであって、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信部であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信部と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信部と、
前記第１の登録要求が受信される場合に、前記第１の登録要求に含まれる前記第１のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録部であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録部と、
前記対象情報が前記メモリに登録された後に、前記第２の登録要求が受信される場合に、前記第２の登録要求に含まれる前記第２のコードが前記対象情報に含まれる前記第１のコードに一致するのか否かを判断する第１の判断部と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、第１の所定操作を前記通信装置に実行することを前記ユーザに促すための第１の画面を表わす第１の画面データを前記端末装置に送信する第１の送信部であって、前記第１の所定操作は、前記サーバへの前記対象サービスに関連する関連指示の送信を前記通信装置に実行させるための操作である、前記第１の送信部と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更部であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更部と、
前記対象情報の登録状態が前記第２の登録状態に変更され、かつ、前記通信装置から前記関連指示が受信された後に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス実行部と、
を備えるサーバ。
【請求項１０】
サーバであって、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信部であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信部と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信部と、
前記第１の登録要求が受信される場合に、前記第１の登録要求に含まれる前記第１のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録部であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録部と、
前記対象情報が前記メモリに登録された後に、前記第２の登録要求が受信される場合に、前記第２の登録要求に含まれる前記第２のコードが前記対象情報に含まれる前記第１のコードに一致するのか否かを判断する第１の判断部と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更部であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更部と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス実行部と、
前記第１の判断部において、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記第２のコードとは異なるコードを前記端末装置に入力することを前記ユーザに促すための第２の画面を表わす第２の画面データを前記端末装置に送信する第２の送信部と、
を備えるサーバ。
【請求項１１】
サーバであって、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信部であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信部と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信部と、
前記第１の登録要求が受信される場合に、前記第１の登録要求に含まれる前記第１のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録部であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録部と、
前記対象情報が前記メモリに登録された後に、前記第２の登録要求が受信される場合に、前記第２の登録要求に含まれる前記第２のコードが前記対象情報に含まれる前記第１のコードに一致するのか否かを判断する第１の判断部と、
前記第２のコードが前記第１のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更部であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更部と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス実行部と、
前記第１の登録要求が受信される前であって、前記対象情報が前記メモリに登録される前に、前記第２の登録要求が受信される場合に、前記第２のコードを含む前記対象情報を前記メモリに登録することなく、第２の所定操作を前記通信装置に実行することを前記ユーザに促すための第３の画面を表わす第３の画面データを前記端末装置に送信する第３の送信部であって、前記第２の所定操作は、前記サーバへの前記第１の登録要求の送信を前記通信装置に実行させるための操作である、前記第３の送信部と、
を備えるサーバ。
【請求項１２】
サーバであって、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信部であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信部と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信部と、
前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録部であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録部と、
前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断部と、
前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更部であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更部と、
前記対象情報の登録状態が前記第１の登録状態から前記第２の登録状態に変更される場合に、前記サーバと前記通信装置との間に前記インターネットを介した接続を確立するための接続情報を前記対象情報に関連付けて前記メモリに登録する第３の登録部と、
前記接続情報を前記通信装置に送信する第４の送信部と、
前記接続情報が前記通信装置に送信された後に、前記接続情報を利用して、前記サーバと前記通信装置との間に前記インターネットを介した前記接続を確立する確立部と
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス実行部と、
を備え、
前記対象サービスを実行することは、前記接続を利用して、前記通信装置との通信を実行することを含む、サーバ。
【請求項１３】
サーバであって、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信部であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信部と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信部と、
前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録部であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録部と、
前記第１の登録要求が受信される場合に、前記識別情報と前記第１のコードとを利用して、前記第１のコードが前記識別情報から生成されたコードであるのか否かを判断する第２の判断部と、
前記第１のコードが前記識別情報から生成されたコードであると判断され、かつ、前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断部であって、前記第１のコードが前記識別情報から生成されたコードでないと判断される場合に、前記他方の登録要求に含まれる前記他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かの判断は実行されない、前記第１の判断部と、
前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更部であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更部と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス実行部と、
を備えるサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、通信装置に関係する対象サービスを実行可能なサーバを実現するためのコンピュータプログラムに関する技術を開示する。
【背景技術】
【０００２】
特許文献１には、空調機を識別するための情報を遠隔管理サーバに仮登録した後に、当該情報を遠隔管理サーバに本登録するための技術が開示されている。具体的には、遠隔管理サーバは、空調機をＬＡＮ（Local Area Networkの略）に接続するためのアダプタから、当該アダプタを識別するためのＭＡＣアドレスと、空調機のサービスマンが当該アダプタに設定するキーワードと、を受信する場合に、ＭＡＣアドレスとキーワードとを仮登録状態で記憶する。その後、遠隔管理サーバは、空調機とは異なる端末装置にサービスマンによってキーワードが入力される場合に、当該端末装置から当該キーワードを受信する。そして、遠隔管理サーバは、記憶済みのキーワードと受信済みのキーワードとが一致する場合に、上記のＭＡＣアドレスを本登録状態で記憶する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３４８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、ＭＡＣアドレスをサーバに本登録するために、サービスマンがアダプタにキーワードを設定する作業が必要である。
【０００５】
本明細書では、通信装置の識別情報を含む対象情報をサーバに登録するためのユーザの作業負荷を軽減するための技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示されるサーバのためのコンピュータプログラムは、サーバのコンピュータに、以下の各処理、即ち、通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断処理と、前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、を実行させる。
【０００７】
上記の構成によれば、第１のコードは、通信装置のユーザによって通信装置に入力されることなく、通信装置に予め記憶されている。この結果、ユーザは、対象情報をサーバに本登録するために、第１のコードを通信装置に入力せずに済み、第２のコードを端末装置に入力すればよい。従って、通信装置の識別情報を含む対象情報をサーバに登録するためのユーザの作業負荷を軽減することができる。
【０００８】
上記のコンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。また、上記のコンピュータプログラムによって実現されるサーバそのもの、及び、サーバの制御方法も、新規で有用である。
【図面の簡単な説明】
【０００９】
【図１】通信システムの構成、及び、各種テーブルの構成を示す。
【図２】サービス処理のフローチャートを示す。
【図３】本登録処理のフローチャートを示す。
【図４】端末装置に表示される各画面を示す。
【図５】装置情報がサーバに登録されるケースＡを表わすシーケンスを示す。
【図６】登録コードが一致しないケースＢを表わすシーケンスを示す。
【図７】登録コードが一致しないケースＣを表わすシーケンスを示す。
【発明を実施するための形態】
【００１０】
（第１実施例）
（通信システム２の構成；図１（Ａ））
図１（Ａ）を参照して、通信システム２の構成を説明する。通信システム２は、サーバ１０と、プリンタ１００，２００と、端末装置４００と、を備える。各装置１００，２００，４００は、ＬＡＮ（Local Area Networkの略）４を介して、相互に通信可能である。ＬＡＮ４は、ルータ８を介して、インターネット６に接続されている。ＬＡＮ４は、有線ＬＡＮ及び無線ＬＡＮのどちらでもよい。サーバ１０は、インターネット６を介して、各装置１００，２００，４００と通信可能である。
【００１１】
（プリンタ１００，２００の構成）
プリンタ１００は、カラー印刷機能を備える周辺機器（即ち、端末装置４００の周辺機器）である。プリンタ１００には、シリアル番号ＳＮ１と、モデル名ＭＮ１と、登録コードＲＣ１と、が割り当てられている。プリンタ１００のベンダは、同じモデル（即ちモデル名ＭＮ１）を有する複数個のプリンタを製造する際に、連番の数字を含む複数個の文字列を複数個のシリアル番号として決定する。ここで、シリアル番号は、さらに、アルファベット及び／又は記号（例えばハイフン等）を含んでいてもよい。ベンダは、さらに、ランダムに設定される複数個の文字列を複数個の登録コードとして決定する。ただし、ベンダは、複数個の登録コードが互いに重複しないように、複数個の登録コードを決定する。従って、各シリアル番号及び各登録コードは、ユニークな文字列である。なお、登録コードは、シリアル番号と比べて、ユーザが比較的に入力し易い文字列（例えば数字のみによって構成される文字列）である。また、登録コードを構成する文字数は、シリアル番号を構成する文字数よりも少ない。登録コードは、シリアル番号等を含む様々な情報をサーバ１０に登録するために利用される。
【００１２】
ベンダは、上記の複数個のプリンタのうちのプリンタ１００に、シリアル番号ＳＮ１及び登録コードＲＣ１を割り当てる。そして、上記の各情報ＳＮ１，ＭＮ１，ＲＣ１は、プリンタ１００の製造時に、プリンタ１００に記憶される。即ち、上記の各情報ＳＮ１，ＭＮ１，ＲＣ１は、プリンタ１００の出荷段階から、プリンタ１００に予め記憶されている。換言すると、上記の各情報ＳＮ１，ＭＮ１，ＲＣ１は、プリンタ１００のユーザによってプリンタ１００に入力されなくても、プリンタ１００に予め記憶されている。なお、以下では、シリアル番号とモデル名と登録コードとをまとめて「装置情報」と称することがある。
【００１３】
また、登録コードＲＣ１が記載されているシートが、プリンタ１００と共に出荷される。例えば、当該シートは、プリンタ１００の表面に貼り付けられているシールであってもよいし、プリンタ１００の説明書であってもよい。これにより、プリンタ１００のユーザは、当該シートを見ることによって登録コードＲＣ１を知ることができる。なお、変形例では、プリンタ１００は、所定の操作を受け付ける場合に、登録コードＲＣ１が記載されているシートを印刷してもよい。また、別の変形例では、ＬＡＮ４に接続されている端末装置（例えば、端末装置４００）は、ユーザの操作に応じて、登録コードＲＣ１をプリンタ１００に要求してプリンタ１００から登録コードＲＣ１を受信し、受信済みの登録コードＲＣ１を表示してもよい。特に、本変形例では、プリンタ１００は、ウェブサーバとして機能してもよく、端末装置は、ブラウザプログラムを利用して、プリンタ１００内のウェブサーバにアクセスして、プリンタ１００から登録コードＲＣ１を受信してもよい。いずれの変形例でも、ユーザは、登録コードＲＣ１を知ることができる。
【００１４】
プリンタ２００は、プリンタ１００とは異なるモデルのプリンタであり、シリアル番号ＳＮ２とモデル名ＭＮ２と登録コードＲＣ２とを予め記憶している。また、登録コードＲＣ２が記載されているシートが、プリンタ２００と共に出荷される。
【００１５】
（サーバ１０の構成）
サーバ１０は、各プリンタ１００，２００に関係する対象サービス（例えば、後述のインク発送及びメール送信）を各プリンタ１００等のユーザに提供するためのサーバである。サーバ１０は、各プリンタ１００等のベンダによってインターネット６上に設置される。なお、変形例では、サーバ１０は、当該ベンダとは異なる事業者によってインターネット６上に設置されてもよい。
【００１６】
サーバ１０は、ネットワークインターフェイス１２と、制御部２０と、を備える。各部１２，２０は、バス線（符号省略）に接続されている。なお、以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に格納されているプログラム２６に従って、様々な処理を実行する。メモリ２４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ２４は、上記のプログラム２６の他に、ユーザ情報テーブル２８と、登録テーブル３０と、を格納する。なお、変形例では、ユーザ情報テーブル２８と登録テーブル３０とは、サーバ１０と通信可能に接続されている外部メモリに格納されてもよい。
【００１７】
（ユーザ情報テーブル２８の構成；図１（Ｂ））
図１（Ｂ）を参照して、ユーザ情報テーブル２８の構成を説明する。ユーザ情報テーブル２８には、１個以上のユーザ情報が登録される。各ユーザ情報は、ユーザを識別するためのユーザ名（例えば「ＵＮ１」）と、パスワード（例えば「Ｐ１」）と、アドレス情報（例えば「Ａ１」）と、を含む。アドレス情報は、ユーザのメールアドレス及び所在地住所を含む。各ユーザ情報には、当該ユーザ情報を識別するためのユニークなユーザ番号が関連付けられる。
【００１８】
（登録テーブル３０の構成；図１（Ｃ））
図１（Ｃ）を参照して、登録テーブル３０の構成を説明する。登録テーブル３０には、１個以上の装置情報が登録される。各装置情報は、シリアル番号（例えば「ＳＮ１」）と、モデル名（例えば「ＭＮ１」）と、登録コード（例えば「ＲＣ１」）と、を含む。各装置情報には、ステータス情報、ユーザ番号、アクセストークン、及び、履歴情報が関連付けられている。なお、変形例では、装置情報は、モデル名を含まなくてもよい。
【００１９】
ステータス情報は、関連する装置情報の登録状態を示し、仮登録状態又は本登録状態を示す。仮登録状態では、ユーザ番号、アクセストークン、及び、履歴情報が、装置情報（例えば「ＳＮ３」を含む装置情報参照）に関連付けられない。仮登録状態では、サーバ１０は、装置情報に含まれるシリアル番号によって識別されるプリンタに関係する対象サービスを実行しない。一方、本登録状態では、ユーザ番号、アクセストークン、及び、履歴情報が、装置情報（例えば「ＳＮ１」を含む装置情報参照）に関連付けられる。このように、ユーザ番号が装置情報に関連付けられている状態（即ち本登録状態）では、当該ユーザ番号（例えば「Ｕ１」）を介して、当該装置情報（例えば「ＳＮ１」を含む装置情報）と当該ユーザ番号によって識別されるユーザ情報（例えば「ＵＮ１」を含むユーザ情報）と、が関連付けられる。本登録状態では、サーバ１０は、装置情報に含まれるシリアル番号によって識別されるプリンタに関係する対象サービスを実行する。
【００２０】
アクセストークンは、サーバ１０とプリンタとの間にインターネット６を介した様々な接続を確立するための情報である。当該接続は、例えば、ＸＭＰＰ（Extensible Messaging and Presence Protocolの略）接続、ＨＴＴＰＳ（Hypertext Transfer Protocol Secureの略）接続等を含む。なお、ＸＭＰＰ接続は、いわゆる常時接続であり、プリンタ１００の電源が切断されるまで確立され続ける接続である。サーバ１０は、ＸＭＰＰ接続を利用すれば、プリンタから要求を受信しなくても、当該プリンタが所属するＬＡＮのファイヤウォール（例えばルータ８によって形成されるファイヤウォール）を越えて、当該プリンタに要求を送信することができる。なお、サーバ１０からプリンタに要求を送信する仕組みは、ＸＭＰＰ接続ではなく、他の手法であってもよい。
【００２１】
履歴情報は、プリンタの残量情報の履歴を示す情報である。残量情報は、プリンタの複数色（例えばＣＭＹＫ）のインクのそれぞれの残量を示す情報である。
【００２２】
（サービス処理：図２）
図２を参照して、サーバ１０のＣＰＵ２２がプログラム２６に従って実行するサービス処理を説明する。サービス処理は、サーバ１０の電源がＯＮされることをトリガとして開始される。サービス処理では、Ｓ１０，Ｓ２０，Ｓ４０，Ｓ６０の各監視ステップが順次実行される。
【００２３】
Ｓ１０では、ＣＰＵ２２は、端末装置（例えば端末装置４００）から、インターネット６を介して、ユーザ情報を受信することを監視する。ＣＰＵ２２は、新たなユーザを登録するための要求と共にユーザ情報を受信する場合に、Ｓ１０でＹＥＳと判断してＳ１２に進む。
【００２４】
Ｓ１２では、ＣＰＵ２２は、新たなユーザ番号を生成し、当該ユーザ番号と受信済みのユーザ情報とを関連付けてユーザ情報テーブル２８に登録する。Ｓ１２が終了すると、Ｓ１０に戻る。
【００２５】
Ｓ２０では、ＣＰＵ２２は、プリンタ（例えばプリンタ２００）から、インターネット６を介して、仮登録要求を受信することを監視する。仮登録要求は、プリンタの装置情報を含み、当該装置情報を登録テーブル３０に登録するための要求である。ＣＰＵ２２は、仮登録要求を受信する場合に、Ｓ２０でＹＥＳと判断してＳ２２に進む。
【００２６】
なお、プリンタは、ＬＡＮ４及びルータ８を介してインターネットに接続されていること、及び、プリンタに電力が供給されること、の双方が満たされた際に、仮登録要求をサーバ１０に送信する。即ち、プリンタは、例えばＬＡＮケーブルがプリンタに接続されている状態でプリンタの電源がＯＮされる際に、仮登録要求をサーバ１０に送信する。また、プリンタは、プリンタの電源がＯＮされている状態で例えばＬＡＮケーブルがプリンタに接続される際に、仮登録要求をサーバ１０に送信する。ユーザは、仮登録要求を送信するための特別な操作をプリンタに実行する必要が無いので、ユーザの作業負荷が軽減される。なお、変形例では、プリンタは、ユーザによって実行される所定の操作を受け付ける場合に、仮登録要求をサーバ１０に送信してもよい。なお、変形例では、プリンタは、プリンタの電源がＯＮされている状態で、プリンタに対する無線ＬＡＮの設定が完了した際（即ちプリンタが無線ＬＡＮに接続した際）に、仮登録要求をサーバ１０に送信してもよい。
【００２７】
Ｓ２２では、ＣＰＵ２２は、受信済みの仮登録要求に含まれる装置情報を登録テーブル３０に登録する。そして、Ｓ２４では、ＣＰＵ２２は、Ｓ２２で登録された装置情報に仮登録状態を示すステータス情報を関連付ける。Ｓ２６では、ＣＰＵ２２は、装置情報の仮登録が完了したことを示す通知を、Ｓ２０の仮登録要求の送信元のプリンタに送信する。これにより、ＣＰＵ２２は、仮登録が完了したことを示す画面をプリンタに表示させることができる。Ｓ２６が終了すると、Ｓ１０に戻る。なお、ＣＰＵ２２は、受信済みの仮登録要求に含まれる装置情報に一致する装置情報が登録テーブル３０に既に登録されている場合には、受信済みの装置情報を登録テーブル３０に登録しない。
【００２８】
Ｓ４０では、ＣＰＵ２２は、端末装置（例えば端末装置４００）から、インターネット６を介して、ログイン要求を受信することを監視する。ログイン要求は、サーバ１０にログインするための要求である。ＣＰＵ２２は、ログイン要求を受信する場合に、Ｓ４０でＹＥＳと判断してＳ５０に進む。Ｓ５０では、本登録処理（図３参照）が実行される。Ｓ５０の本登録処理が終了すると、Ｓ１０に戻る。
【００２９】
Ｓ６０では、ＣＰＵ２２は、プリンタ（例えばプリンタ２００）から、インターネット６を介して、残量情報を受信することを監視する。ＣＰＵ２２は、残量情報を受信する場合に、Ｓ６０でＹＥＳと判断してＳ６２に進む。Ｓ６２では、ＣＰＵ２２は、残量情報と共に受信されるプリンタのシリアル番号を含む装置情報に関連付けられている履歴情報に、当該残量情報を加えることによって、履歴情報を更新する。
【００３０】
次いで、Ｓ６４では、ＣＰＵ２２は、更新済みの履歴情報のうちの最新の残量情報に含まれる４色のインクの残量のうちの少なくとも一つの残量が閾値（例えば１０％）以下であるのか否かを判断する。ＣＰＵ２２は、４色のインクの残量の全てが閾値より大きいと判断する場合（Ｓ６４でＮＯ）には、Ｓ６６をスキップしてＳ１０に戻る。なお、Ｓ６４では、他の判断が実行されてもよい。例えば、ＣＰＵ２２は、インク残量の変化量が閾値以上であると判断する場合に、Ｓ６４でＹＥＳと判断してもよい。
【００３１】
一方、ＣＰＵ２２は、４色のインクの残量のうちの少なくとも一つの残量が閾値以下であると判断する場合（Ｓ６４でＹＥＳ）には、Ｓ６６において、閾値以下の残量を有する色のインクをユーザに発送するための処理を実行する。具体的には、ＣＰＵ２２は、まず、登録テーブル３０から、Ｓ６０で受信されたシリアル番号を含む装置情報に関連付けられているユーザ番号を特定し、次いで、ユーザ情報テーブル２８から、当該ユーザ番号に関連付けられているユーザ情報に含まれるアドレス情報を特定する。ＣＰＵ２２は、さらに、登録テーブル３０から、Ｓ６０で受信されたシリアル番号に関連付けられているモデル名を特定し、特定済みのモデル名を有するプリンタで利用されるインクカートリッジの種類を特定する。そして、ＣＰＵ２２は、特定済みのアドレス情報に含まれる所在地住所宛に特定済みのインクカートリッジを発送するための処理を実行する。ＣＰＵ２２は、さらに、上記の特定済みのアドレス情報に含まれるメールアドレス宛に発送済みを示すメールを送信する。Ｓ６６が終了すると、Ｓ１０に戻る。
【００３２】
（本登録処理：図３）
図３を参照して、図２のＳ５０で実行される本登録処理を説明する。Ｓ７０では、ＣＰＵ２２は、ログイン画面データを端末装置（例えば端末装置４００）に送信する。これにより、端末装置では、ログイン画面データによって表わされるログイン画面ＳＣ１（図４参照）が表示される。ログイン画面ＳＣ１は、ユーザ名及びパスワードを入力するための入力欄を含む。端末装置は、ユーザ名及びパスワードが入力欄に入力された後に、ＯＫボタンを選択（例えばクリック）する操作を受け付ける場合に、ユーザ名及びパスワードをサーバ１０に送信する。
【００３３】
Ｓ７２では、ＣＰＵ２２は、端末装置からユーザ名及びパスワードを受信することを監視する。ＣＰＵ２２は、ユーザ名及びパスワードを受信する場合（Ｓ７２でＹＥＳ）には、Ｓ７４において、受信済みのユーザ名及びパスワードの認証を実行する。ＣＰＵ２２は、受信済みのユーザ名及びパスワードの組合せがユーザ情報テーブル２８に登録されている場合に、認証が成功したと判断し（Ｓ７４でＹＥＳ）、Ｓ８０に進む。
【００３４】
一方、ＣＰＵ２２は、上記の組合せがユーザ情報テーブル２８に登録されていない場合に、認証が失敗したと判断し（Ｓ７４でＮＯ）、Ｓ７６において、ログインエラー画面データを端末装置に送信する。これにより、端末装置では、ログインエラー画面データによって表わされる画面（即ちログインの失敗を示す画面）が表示され、次いで、ログイン画面ＳＣ１が再び表示される。Ｓ７６が終了すると、Ｓ７２に戻る。
【００３５】
Ｓ８０では、ＣＰＵ２２は、登録画面データを端末装置に送信する。これにより、端末装置では、登録画面データによって表わされる登録画面ＳＣ２（図４参照）が表示される。登録画面ＳＣ２は、登録コードを入力するための入力欄を含む。端末装置は、上記の入力欄に登録コードが入力された後に、ＯＫボタンを選択する操作を受け付ける場合に、当該登録コード（以下では「対象登録コード」と呼ぶ）を含む本登録要求をサーバ１０に送信する。
【００３６】
Ｓ８２では、ＣＰＵ２２は、端末装置から本登録要求を受信することを監視する。ＣＰＵ２２は、本登録要求を受信する場合（Ｓ８２でＹＥＳ）に、Ｓ８４において、本登録要求に含まれる対象登録コードに一致する登録コードが登録テーブル３０に登録されているのか否かを判断する。ＣＰＵ２２は、登録されていると判断する場合（Ｓ８４でＹＥＳ）にはＳ８６に進み、登録されていないと判断する場合（Ｓ８４でＮＯ）にはＳ９０に進む。
【００３７】
Ｓ８６では、ＣＰＵ２２は、登録テーブル３０において、対象登録コードを含む装置情報（以下では「対象装置情報」と呼ぶ）に関連付けられているステータス情報を仮登録状態から本登録状態に変更する。さらに、ＣＰＵ２２は、ユーザ情報テーブル２８から、Ｓ７４で認証が成功したユーザ情報に関連付けられているユーザ番号を特定する。そして、ＣＰＵ２２は、対象装置情報に関連付けて特定済みのユーザ番号を登録テーブル３０に登録する。これにより、ユーザ情報が対象装置情報に関連付けられる。
【００３８】
次いで、Ｓ１００では、ＣＰＵ２２は、完了画面データを端末装置に送信する。これにより、端末装置では、完了画面データによって表わされる完了画面ＳＣ４（図４参照）が表示される。完了画面ＳＣ４は、プリンタの本登録が完了したことを示すメッセージを含む。完了画面ＳＣ４は、さらに、プリンタ（例えばプリンタ２００）の操作パネルに登録確認操作を実行することをユーザに促す操作指示ＩＳ４を含む。登録確認操作は、サーバ１０への送信指示の送信をプリンタに実行させるための操作である。送信指示は、アクセストークンの送信をサーバ１０に実行させるための指示である。
【００３９】
Ｓ１０２では、ＣＰＵ２２は、プリンタから送信指示を受信することを監視する。ＣＰＵ２２は、プリンタのシリアル番号を含む送信指示を受信する場合（Ｓ１０２でＹＥＳ）に、Ｓ１０４において、アクセストークンを生成して、生成済みのアクセストークンをプリンタに送信する。さらに、ＣＰＵ２２は、登録テーブル３０から送信指示に含まれるシリアル番号を含む対象装置情報を特定し、特定済みの対象装置情報に関連付けて生成済みのアクセストークンを登録テーブル３０に登録する。なお、変形例では、アクセストークンは、Ｓ１０２でＹＥＳと判断される前に予め生成されて、対象装置情報に関連付けて登録テーブル３０に登録されてもよい。
【００４０】
Ｓ１０６では、ＣＰＵ２２は、プリンタとのＸＭＰＰ接続を確立する。具体的には、ＣＰＵ２２は、プリンタからアクセストークンを含む接続要求を受信する場合に、当該アクセストークンが登録テーブル３０に登録されているのか否かを判断する。そして、ＣＰＵ２２は、当該アクセストークンが登録されていると判断する場合には、当該接続要求に対する接続応答をプリンタに送信する。この結果、サーバ１０とプリンタとの間にＸＭＰＰ接続が確立され、サーバ１０からプリンタへの要求の送信が可能になる。なお、ＣＰＵ２２は、当該アクセストークンが登録されていないと判断する場合には、当該接続要求に対するエラー応答をプリンタに送信する。この場合、ＸＭＰＰ接続が確立されない。
【００４１】
Ｓ１０８では、ＣＰＵ２２は、Ｓ１０６で確立されたＸＭＰＰ接続を利用して、残量情報要求をプリンタに送信する。残量情報要求は、残量情報を定期的に送信することをプリンタに要求するためのコマンドである。この結果、サーバ１０は、プリンタから残量情報を受信することができる（図２のＳ６０でＹＥＳ）。Ｓ１０８が終了すると、本登録処理が終了する。
【００４２】
なお、ＣＰＵ２２は、Ｓ１０８で残量情報要求をプリンタに送信した後に、残量情報要求をプリンタに再び送信し得る。残量情報要求は、時間間隔（例えば１日）を示す間隔情報、インクの色（例えば全色又は特定の色）を示す色情報等を含む。プリンタは、間隔情報によって示される時間間隔（例えば１日毎）で、色情報によって示される色のインクの残量を示す残量情報を定期的に送信する。ここで、間隔情報及び色情報は、サーバ１０の管理者により変更され得る。ＣＰＵ２２は、Ｓ１０８で残量情報要求を送信した後に、各情報が変更される場合に、Ｓ１０６で確立されたＸＭＰＰ接続を利用して、変更済みの各情報を含む残量情報要求をプリンタに再び送信する。即ち、サーバ１０は、プリンタから要求を受信しなくても、ＸＭＰＰ接続を利用して、残量情報要求をプリンタに再び送信することができる。
【００４３】
また、ＣＰＵ２２は、Ｓ８４でＮＯと判断する場合には、Ｓ９０において、エラー画面データを端末装置に送信する。これにより、端末装置では、エラー画面データによって表わされるエラー画面ＳＣ３（図４参照）が表示される。エラー画面ＳＣ３は、対象登録コードが登録テーブル３０に登録されていないことに起因して、Ｓ８４でＮＯと判断され得る２個の原因に対応する２個の指示ＩＳ１，ＩＳ２を含む。一方の原因は、サーバ１０がプリンタから対象登録コードを含む仮登録要求を受信していないこと（即ち図２のＳ２０〜Ｓ２６が実行されていないこと）である。そして、当該一方の原因に対応する指示ＩＳ１は、プリンタの電源をＯＮした後にボタンＢ１を選択することをユーザに促すためのメッセージを含む。端末装置は、ボタンＢ１を選択する操作を受け付ける場合に、確認指示をサーバ１０に送信する。確認指示は、Ｓ８４の判断をサーバ１０に再び実行させるための指示である。また、他方の原因は、対象登録コードが正しい登録コードでないことである。そして、当該他方の原因に対応する指示ＩＳ２は、登録コードの再入力をユーザに促すためのメッセージを含む。端末装置は、ボタンＢ２を選択する操作を受け付ける場合に、登録画面ＳＣ２を再び表示する。これにより、ユーザは、登録画面ＳＣ２に登録コードを再入力することができる。この結果、登録コードを含む本登録要求が端末装置からサーバに再び送信される。
【００４４】
次いで、Ｓ９２では、ＣＰＵ２２は、ボタンＢ１の選択に応じて端末装置から確認指示を受信すること、及び、ボタンＢ２の選択に応じて端末装置から本登録要求を受信することを監視する。ＣＰＵ２２は、確認指示又は本登録要求を受信する場合に、Ｓ９２でＹＥＳと判断して、Ｓ８４に戻る。
【００４５】
（具体的なケースＡ：図５）
図５を参照して、図２及び図３の処理によって実現される具体的なケースＡを説明する。本ケースの初期状態では、プリンタ２００は、ＬＡＮ４に接続された状態であり、かつ、出荷されてから一度も電源がＯＮされていない状態である。
【００４６】
Ｔ１００では、ユーザは、プリンタ２００の電源をオンする。この場合、Ｔ１０２では、プリンタ２００は、シリアル番号ＳＮ２とモデル名ＭＮ２と登録コードＲＣ２とを含む仮登録要求をサーバ１０に送信する。
【００４７】
サーバ１０は、プリンタ２００からＴ１０２の仮登録要求を受信すると（図２のＳ２０でＹＥＳ）、Ｔ１０４において、仮登録要求内の各情報ＳＮ２，ＭＮ２，ＲＣ２を含む装置情報ＤＩ２を登録テーブル３０に登録する（Ｓ２２）。この際に、装置情報ＤＩ２には、仮登録状態を示すステータス情報が関連付けられる（Ｓ２４）。Ｔ１０６では、サーバ１０は、仮登録が完了したことを示す通知をプリンタ２００に送信する（Ｓ２６）。
【００４８】
図示省略しているが、サーバ１０は、ユーザがユーザ情報ＵＩ２の登録を望む場合に、端末装置４００からユーザによって端末装置４００に入力されるユーザ情報ＵＩ２を受信する（図２のＳ１０でＹＥＳ）。ユーザ情報ＵＩ２は、ユーザ名ＵＮ２と、パスワードＰ２と、アドレス情報Ａ２と、を含む。サーバ１０は、受信済みのユーザ情報ＵＩ２をユーザ情報テーブル２８に登録する（Ｓ１２）。ユーザ情報ＵＩ２を登録する処理は、Ｔ１１４の前に実行される。
【００４９】
ユーザ情報ＵＩ２がサーバ１０に登録された後に、ユーザがプリンタ２００の本登録を望む場合に、Ｔ１１４では、端末装置４００は、ユーザの操作に応じて、ログイン要求をサーバ１０に送信する。
【００５０】
Ｔ１１６では、サーバ１０は、端末装置４００からＴ１１４のログイン要求を受信すると（Ｓ４０でＹＥＳ）、ログイン画面データを端末装置４００に送信する（図３のＳ７０）。
【００５１】
端末装置４００は、Ｔ１１８において、ログイン画面ＳＣ１を表示し、Ｔ１２０において、ユーザ名ＵＮ２及びパスワードＰ２を入力する操作を受け付ける。この場合、Ｔ１２２では、端末装置４００は、各情報ＵＮ２，Ｐ２をサーバ１０に送信する。
【００５２】
サーバ１０は、端末装置４００からＴ１２２の各情報ＵＮ２，Ｐ２を受信すると（図３のＳ７２でＹＥＳ）、Ｔ１２４において、認証が成功したと判断すると（Ｓ７４でＹＥＳ）、Ｔ１２６において、登録画面データを端末装置４００に送信する（Ｓ８０）。
【００５３】
端末装置４００は、Ｔ１２８において、登録画面ＳＣ２を表示し、Ｓ１３０において、登録コードＲＣ２を入力する操作を受け付ける。この場合、Ｔ１３２では、端末装置４００は、登録コードＲＣ２を含む本登録要求をサーバ１０に送信する。
【００５４】
サーバ１０は、端末装置４００からＴ１３２の本登録要求を受信すると（Ｓ８２でＹＥＳ）、Ｔ１３４において、本登録要求に含まれる登録コードＲＣ２に一致する登録コードが登録テーブル３０に登録されていると判断する（Ｓ８４でＹＥＳ）。この場合、サーバ１０は、登録コードＲＣ２を含む装置情報ＤＩ２に関連付けられているステータス情報を仮登録状態から本登録状態に変更し（Ｓ８６）、さらに、ユーザ情報ＵＩ２を装置情報ＤＩ２に関連付ける（Ｓ８６）。そして、Ｔ１３６では、サーバ１０は、完了画面データを端末装置４００に送信する（Ｓ１００）。
【００５５】
Ｔ１３８では、端末装置４００は、完了画面ＳＣ４を表示する。これにより、Ｔ１５０では、ユーザは、プリンタ２００に登録確認操作を実行する。この場合、Ｔ１５２では、プリンタ２００は、シリアル番号ＳＮ２を含む送信指示をサーバ１０に送信する。
【００５６】
サーバ１０は、プリンタ２００からＴ１５２の送信指示を受信すると、Ｔ１５４において、アクセストークンＡＴ２を生成し、装置情報ＤＩ２に関連付けてアクセストークンＡＴ２を登録する（Ｓ１０４）。そして、Ｔ１５６では、サーバ１０は、アクセストークンＡＴ２をプリンタ２００に送信する（Ｓ１０４）。ここで、サーバ１０は、Ｔ１５２のプリンタ２００からの送信指示に応答する形式で、アクセストークンＡＴ２をプリンタ２００に送信する。このために、サーバ１０は、ＸＭＰＰ接続を利用しなくても、ＬＡＮ４のファイヤウォールを越えて、アクセストークンＡＴ２をプリンタ２００に送信することができる。この結果、Ｔ１５８では、アクセストークンＡＴ２が利用されて、サーバ１０とプリンタ２００との間にＸＭＰＰ接続が確立される。なお、図５では、ＸＭＰＰ接続に関係する通信が、太線矢印で示されている。そして、Ｔ１６０では、サーバ１０は、確立済みのＸＭＰＰ接続を利用して、残量情報要求をプリンタ２００に送信する。
【００５７】
プリンタ２００は、残量情報要求を受信した後に残量情報をサーバ１０に送信すべき際に、アクセストークンＡＴ２を利用して、サーバ１０とのＨＴＴＰＳ接続を確立する。そして、プリンタ２００は、Ｔ１６２において、確立済みのＨＴＴＰＳ接続を利用して、残量情報をサーバ１０に送信する。プリンタ２００は、残量情報要求を一度受信したことに応じて、定期的（例えば１日毎）に残量情報をサーバ１０に送信する。
【００５８】
サーバ１０は、プリンタ２００からＴ１６２の残量情報を受信すると（図２のＳ６０でＹＥＳ）、Ｔ１６４において、当該残量情報を履歴情報ＨＩ２に加えることによって、履歴情報ＨＩ２を更新する（Ｓ６２）。そして、Ｔ１６６では、サーバ１０は、最新の残量情報の黒インクの残量が閾値である１０％以下であると判断する（Ｓ６４でＹＥＳ）。この場合、Ｔ１６８では、サーバ１０は、装置情報ＤＩ２に関連付けられているユーザ情報ＵＩ２に含まれるアドレス情報Ａ２の所在地住所宛に、黒インクのインクカートリッジを発送するための処理を実行する（Ｓ６６）。また、Ｔ１７０では、サーバ１０は、アドレス情報Ａ２のメールアドレス宛に、発送完了を示すメールを送信する（Ｓ６６）。
【００５９】
上述したように、サーバ１０は、プリンタ２００から仮登録要求を受信する場合に、シリアル番号ＳＮ２及び登録コードＲＣ２を含む装置情報ＤＩ２を登録テーブル３０に仮登録する（Ｔ１０４）。そして、サーバ１０は、端末装置４００から本登録要求を受信する場合に、本登録要求に含まれる登録コードＲＣ２が登録テーブル３０内の登録コードＲＣ２に一致する場合に、装置情報ＤＩ２を登録テーブル３０に本登録する（Ｔ１３４）。上述したように、登録コードＲＣ２は、ユーザによってプリンタ２００に入力されることなく、プリンタ２００に予め記憶されている。従って、ユーザは、装置情報ＤＩ２をサーバ１０に登録するために、登録コードＲＣ２をプリンタ２００に入力せずに済む。端末装置４００等の操作部（例えばマウス及びキーボード）と比べると、プリンタ２００の操作パネルに情報を入力するのは手間がかかる。本実施例では、登録コードＲＣ２をプリンタ２００に入力せずに済むので、ユーザの作業負荷を軽減することができる。
【００６０】
なお、登録コードＲＣ２を利用せずに装置情報ＤＩ２をサーバ１０に本登録するための比較例として以下の手法が考えられる。即ち、Ｔ１０２の仮登録要求は、登録コードＲＣ２を含まず、Ｔ１０４で仮登録される装置情報ＤＩ２も、登録コードＲＣ２を含まない。そして、Ｔ１３０では、ユーザは、プリンタ２００のシリアル番号ＳＮ２を端末装置４００に入力し、この結果、Ｔ１３２では、シリアル番号ＳＮ２を含む本登録要求が端末装置４００からサーバ１０に送信される。この場合、サーバ１０は、シリアル番号ＳＮ２が登録テーブル３０に登録されているのか否かを判断し、登録されていると判断する場合に、装置情報ＤＩ２を仮登録状態から本登録状態に変更する。ただし、上述したように、シリアル番号ＳＮ２を構成する文字列の文字数は、登録コードＲＣ２を構成する文字列の文字数よりも多い。このために、ユーザがシリアル番号ＳＮ２を端末装置４００に入力するのに手間がかかる。これに対し、本実施例では、比較的に少ない文字数を有する登録コードＲＣ２を端末装置４００に入力すれば済むので、ユーザの作業負荷を軽減することができる。また、シリアル番号ＳＮ２は、連番で付される番号を含むので、プリンタの正規ユーザとは異なる第三者によって推定されやすい。このため、上記の比較例では、第三者によって装置情報ＤＩ２がサーバ１０に本登録され得る。これに対し、登録コードＲＣ２は、ランダムに設定される文字列であるので、第三者によって推定されにくい。このために、本実施例のように登録コードＲＣ２を利用すれば、第三者によって装置情報ＤＩ２が本登録されることを防止することができる。
【００６１】
また、サーバ１０は、装置情報ＤＩ２を登録テーブル３０に本登録する場合に、指示ＩＳ４を含む完了画面ＳＣ４を表わす完了画面データを端末装置４００に送信するので（Ｔ１３６）、プリンタ２００での登録確認操作（Ｔ１５０）をユーザに適切に実行させることができる。このために、サーバ１０は、装置情報ＤＩ２を本登録し、かつ、プリンタ２００から送信指示を受信した後（Ｔ１５２）に、サービスを適切に実行することができる。特に、本登録状態では、ユーザ情報ＵＩ２が装置情報ＤＩ２に関連付けられるので、サーバ１０は、ユーザ情報ＵＩ２に従って、当該ユーザにサービスを適切に提供することができる（Ｔ１６８、Ｔ１７０）。
【００６２】
また、サーバ１０は、装置情報ＤＩ２を本登録する場合に、装置情報ＤＩ２に関連付けてアクセストークンＡＴ２を登録する（Ｔ１５４）と共に、アクセストークンＡＴ２をプリンタ２００に送信する（Ｔ１５６）ので、アクセストークンＡＴ２を利用して、プリンタ２００とのＸＭＰＰ接続を確立することができる（Ｔ１５８）。このために、サーバ１０は、ＸＭＰＰ接続を利用して、残量情報要求をプリンタ２００に送信することができ、この結果、プリンタ２００から残量情報を適切に受信することができる。
【００６３】
（具体的なケースＢ：図６）
図６を参照して、他の具体的なケースＢを説明する。本ケースのプリンタ２００の初期状態は、図５のケースＡと同じである。即ち、プリンタ２００の電源は一度もＯＮされていない。
【００６４】
本ケースでは、サーバ１０は、登録コードを含む仮登録要求を受信する前に、当該登録コードを含む本登録要求を受信する。即ち、サーバ１０の登録テーブル３０には、本登録要求を受信する際に、装置情報ＤＩ２が登録されていない。
【００６５】
ケースＢでは、図５のＴ１００からＴ１０６と同様の処理が実行されずに、図５のＴ１１４からＴ１３２と同様の処理が実行される。次いで、Ｔ１９０では、サーバ１０は、装置情報ＤＩ２が登録テーブル３０に登録されていないので、Ｔ１３２の本登録要求に含まれる登録コードＲＣ２に一致する登録コードが登録テーブル３０に登録されていないと判断する（図３のＳ８４でＮＯ）。この場合、Ｔ１９２では、サーバ１０は、エラー画面データを端末装置４００に送信する（Ｓ９０）。
【００６６】
Ｔ１９４では、端末装置４００は、エラー画面ＳＣ３を表示する。この場合、ユーザは、エラー画面ＳＣ３内の指示ＩＳ１を見て、プリンタ２００の電源をＯＮする操作を実行する。これにより、仮登録要求の送信をプリンタ２００に実行させるための操作をユーザに適切に実行させることができる。即ち、Ｔ２００では、ユーザは、プリンタ２００の電源をＯＮする操作を実行する。この結果、Ｔ２０２では、プリンタ２００は、仮登録要求をサーバ１０に送信する。その後のＴ２０４、Ｔ２０６は、それぞれ、図５のＴ１０４、Ｔ１０６と同様である。Ｔ２２０では、ユーザは、プリンタ２００の電源をＯＮする操作を実行した後に、エラー画面ＳＣ３内のボタンＢ１を選択する。この場合、Ｔ２２２では、端末装置４００は、確認指示をサーバ１０に送信する。
【００６７】
サーバ１０は、端末装置４００からＴ２２２の確認指示を受信すると（図３のＳ９２でＹＥＳ）、装置情報ＤＩ２が登録テーブル３０に登録されているので（Ｔ２０４）、Ｔ２３４において、図５のＴ１３２で受信された登録コードＲＣ２に一致する登録コードが登録テーブル３０に登録されていると判断する（Ｓ８４でＹＥＳ）。その後のＴ２３６、Ｔ２３８は、それぞれ、図５のＴ１３６、Ｔ１３８と同様である。そして、図５のＴ１５０以降の各処理が実行される。
【００６８】
ケースＢに示されるように、ユーザは、Ｔ１９０で登録コードＲＣ２が登録されていないと判断される場合に、エラー画面ＳＣ３を見て、プリンタ２００の電源をＯＮする操作を実行し（Ｔ２００）、エラー画面ＳＣ３内のボタンＢ１を選択することができる（Ｔ２２０）。この結果、登録コードＲＣ２を端末装置４００に再び入力せずに、装置情報ＤＩ２を本登録することができる。このために、ユーザの作業負荷を軽減することができる。
【００６９】
（具体的なケースＣ：図７）
図７を参照して、他の具体的なケースＣを説明する。本ケースのプリンタ２００の初期状態は、図５のケースＡと同じである。ケースＣでは、図５のＴ１００からＴ１０６と同様の処理が実行され、その後、図５のＴ１１４からＴ１２８と同様の処理が実行される。
【００７０】
Ｔ３００では、端末装置４００は、正しい登録コードＲＣ２とは異なる登録コードＲＣ４を入力する操作を受け付ける。この場合、Ｔ３０２では、端末装置４００は、登録コードＲＣ４を含む本登録要求をサーバ１０に送信する。
【００７１】
サーバ１０は、Ｔ３０２の本登録要求を受信すると（図３のＳ８２でＹＥＳ）、登録コードＲＣ４に一致する登録コードが登録テーブル３０に登録されていないと判断する（Ｓ８４でＮＯ）。その後に実行されるＴ３０６、Ｔ３０８は、それぞれ、図６のＴ１９２、Ｔ１９４と同様である。この場合、Ｔ３１０では、ユーザは、エラー画面ＳＣ３内の指示ＩＳ２を見て、ボタンＢ２を選択する。この場合、端末装置４００は、Ｔ３１２において、登録画面ＳＣ２を表示し、Ｔ３３０において、登録コードＲＣ２を入力する操作を受け付ける。そして、Ｔ３３２では、端末装置４００は、登録コードＲＣ２を含む本登録要求をサーバ１０に送信する。Ｔ３３４からＴ３３８は、ぞれぞれ、図５のＴ１３４からＴ１３８と同様である。そして、図５のＴ１５０以降の各処理が実行される。
【００７２】
ケースＣに示されるように、ユーザは、Ｔ３０４で登録コードＲＣ４が登録されていないと判断される場合に、エラー画面ＳＣ３を見て、正しい登録コードＲＣ２を端末装置４００に入力することができる（Ｔ３３０）。このために、ユーザは、装置情報ＤＩ２を適切に本登録することができる。
【００７３】
（対応関係）
プリンタ１００が、「通信装置」の一例である。シリアル番号ＳＮ２及びモデル名ＭＮ２が、「識別情報」の一例である。装置情報ＤＩ２が、「対象情報」の一例である。図５のＴ１０２の仮登録要求、登録コードＲＣ２が、それぞれ、「第１の登録要求（一方の登録要求）」、「第１のコード（一方のコード）」の一例である。Ｔ１３２の本登録要求、登録コードＲＣ２が、それぞれ、「第２の登録要求（他方の登録要求）」、「第２のコード（他方のコード）」の一例である。仮登録状態、本登録状態が、それぞれ、「第１の登録状態」、「第２の登録状態」の一例である。Ｔ１６８のインクの発送及びＴ１７０のメールの送信が、「対象サービス」の一例である。アクセストークンＡＴ２が、「接続情報」の一例である。ＸＭＰＰ接続及びＨＴＴＰＳ接続の少なくとも一方が、「接続」の一例である。Ｔ１６０の残量情報要求、残量情報が、それぞれ、「情報要求」、「装置関係情報」の一例である。Ｔ１５０の登録確認操作、Ｔ１５２の送信指示が、それぞれ、「第１の所定操作」、「関連指示」の一例である。図４の完了画面ＳＣ４、指示ＩＳ１を含むエラー画面ＳＣ３、指示ＩＳ２を含むエラー画面ＳＣ３が、それぞれ、「第１の画面」、「第２の画面」、「第３の画面」の一例で荒れる。図６のＴ２００の電源オン操作が、「第２の所定操作」の一例である。
【００７４】
（第２実施例）
本実施例では、プリンタに予め記憶されている登録コードは、当該プリンタのシリアル番号から生成される。具体的には、ベンダは、プリンタを製造する際に、共通鍵暗号化方式で利用される所定の鍵に従って、当該プリンタのシリアル番号を暗号化することによって、登録コードを生成する。共通鍵暗号化方式は、暗号化及び復号化が同一の鍵によって実行される方式であり、例えばＡＥＳ（Advanced Encryption Standardの略）である。なお、変形例では、登録コードは、公開鍵暗号化方式で利用される所定の鍵に従って、シリアル番号を暗号化することにより生成されてもよい。公開鍵暗号化方式は、暗号化及び復号化が異なる鍵によって実行される方式である。
【００７５】
（サービス処理：図２）
本実施例では、図２のＳ２０でＹＥＳと判断される場合の処理が第１実施例とは異なる。ＣＰＵ２２は、Ｓ２０でＹＥＳと判断する場合に、Ｓ３０に進む。
【００７６】
Ｓ３０では、ＣＰＵ２２は、所定の鍵を利用して、仮登録要求に含まれる登録コードを復号化することによって、特定の番号を生成する。そして、Ｓ３２では、ＣＰＵ２２は、特定の番号と仮登録要求に含まれるシリアル番号とが一致するのか否かを判断する。ＣＰＵ２２は、特定の番号とシリアル番号とが一致すると判断する場合（Ｓ３２でＹＥＳ）にはＳ２２に進み、特定の番号とシリアル番号とが一致しないと判断する場合（Ｓ３２でＮＯ）には、Ｓ２２からＳ２６をスキップしてＳ１０に戻る。
【００７７】
上記のように、シリアル番号は、第三者によって推定されやすい。このために、第三者が、サーバ１０に不正にアクセスして、実在のプリンタの推定されたシリアル番号と不正な登録コードとをサーバ１０に仮登録し得る。これに対し、本実施例では、仮登録要求に含まれる登録コードから復号化される特定の番号と、仮登録要求に含まれるシリアル番号と、が一致しない場合に、装置情報が登録テーブル３０に仮登録されない（図２のＳ３２でＮＯ）。これにより、第三者によって装置情報がサーバ１０に不正に登録されることを防止することができる。
【００７８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００７９】
（変形例１）仮登録要求が受信される前に、本登録要求が受信される場合であっても、本登録要求に含まれる登録コードが登録テーブル３０に登録されてもよい。例えば、ＣＰＵ２２は、図３のＳ８４でＮＯと判断する場合に、本登録要求に含まれる登録コードを登録テーブル３０に登録してもよい。そして、ＣＰＵ２２は、図２のＳ２０でＹＥＳと判断される場合に、図３のＳ８４と同様の判断し、当該判断でＹＥＳと判断する場合に、図３のＳ８６以降の処理を実行し、当該判断でＮＯと判断する場合、図２のＳ２２以降の処理を実行してもよい。本変形例では、本登録要求、仮登録要求が、それぞれ、「一方の登録要求」、「他方の登録要求」の一例である。
【００８０】
（変形例２）装置情報は、ステータス情報に関連付けて登録テーブル３０に登録されなくてもよい。例えば、メモリ２４は、仮登録領域と本登録領域とを備えていてもよい。そして、ＣＰＵ２２は、装置情報を仮登録領域に記憶させることによって、装置情報を仮登録し、装置情報を本登録領域に記憶させることによって、装置情報を本登録してもよい。
【００８１】
（変形例３）図３のＳ６０で受信される情報は、残量情報に限らない。例えば、ＣＰＵ２２は、プリンタの印刷回数を示す回数情報を受信してもよい。この場合、ＣＰＵ２２は、当該回数情報をメールで送信してもよい。本変形例では、回数情報、回数情報のメール送信が、それぞれ、「装置関係情報」、「対象サービス」の一例である。
【００８２】
（変形例４）ユーザ情報テーブル２８が設けられなくてもよい。例えば、サーバ１０は、印刷対象のファイル内のテキストを所定の言語に翻訳するサービスを実行するサーバであってもよい。この場合、ＣＰＵ２２は、装置情報を本登録した後に、端末装置からシリアル番号と印刷対象のファイルとを含む翻訳要求を受信し、当該ファイル内のテキストを翻訳する。次いで、ＣＰＵ２２は、翻訳要求に含まれるシリアル番号から装置情報を特定し、特定済みの装置情報に含まれるモデル名が示すプリンタの印刷能力を特定する。そして、ＣＰＵ２２は、特定済みの印刷能力に基づいて、翻訳済みのファイルを印刷データに変換し、印刷データをプリンタに送信する。本変形例では、翻訳済みのファイルを生成して送信することが、「対象サービス」の一例である。なお、別の変形例では、上記の翻訳に代えて、印刷対象のファイルに対して所定の画像処理（例えば、ホワイトバランスの補正処理、カラー画像からモノクロ画像への変換処理等）が実行されてもよい。
【００８３】
（変形例５）プリンタ２００は、仮登録要求をサーバ１０に送信した後に、Ｔ１５０の登録確認操作を受け付けなくても、送信指示をサーバ１０に定期的に送信してもよい。この場合、ＣＰＵ２２は、図３のＳ１００の処理を実行せずに、Ｓ１０２の処理を実行することができる。登録確認操作を実行せずに済むので、ユーザの作業負荷を軽減させることができる。本変形例では、「第１の送信処理」を省略可能である。なお、本変形例では、プリンタ２００が送信指示をサーバ１０に定期的に送信する必要があるので、プリンタ２００の処理負荷が高くなり得る。これに対し、上記の第１及び第２実施例では、プリンタ２００は、登録確認操作を受け付けることに応じて、送信指示をサーバ１０に送信する。このために、プリンタ２００の処理負荷を低減させることができる。
【００８４】
（変形例６）ＣＰＵ２２は、Ｓ９０、Ｓ９２の処理を実行しなくてもよい。例えば、ＣＰＵ２２は、図３のＳ８４でＮＯと判断する場合に、指示ＩＳ１及び指示ＩＳ２を含まないエラー画面を表わすエラー画面データを送信してもよい。本変形例では、「第２の送信処理」及び「第３の送信処理」を省略可能である。
【００８５】
（変形例７）図３のＳ１０４では、ＣＰＵ２２は、アクセストークンを送信する代わりに、ＨＴＴＰ（Hyper Text Transfer Protocolの略）  Ｃｏｏｋｉｅで利用される識別子をプリンタに送信してもよい。この場合、ＣＰＵ２２は、Ｓ１０６，Ｓ１０８の処理を実行せずに、図３の本登録処理を終了する。そして、Ｓ６０では、ＣＰＵ２２は、プリンタから上記の識別子を受信することに応じて、プリンタとのＨＴＴＰ接続を確立し、当該接続を利用して、残量情報を受信してもよい。また、別の変形例では、Ｓ１０４では、ＣＰＵ２２は、特定のＵＲＬ（Uniform Resource Locatorの略）をプリンタに送信し、Ｓ１０６，Ｓ１０８の処理を実行せずに、図３の本登録処理を終了する。そして、Ｓ６０では、ＣＰＵ２２は、プリンタから上記のＵＲＬを送信先として接続要求を受信することに応じて、プリンタとのＨＴＴＰ接続を確立し、当該接続を利用して、残量情報を受信してもよい。本変形例では、識別子又は特定のＵＲＬが、「接続情報」の一例である。
【００８６】
（変形例８）第２実施例の図２のＳ３０に代えて、ＣＰＵ２２は、所定の鍵を利用して、仮登録要求に含まれるシリアル番号を暗号化することによって、特定のコードを生成してもよい。この場合、Ｓ３２では、ＣＰＵ２２は、生成済みの特定のコードと仮登録要求に含まれる登録コードとが一致するのか否かを判断してもよい。
【００８７】
（変形例９）「通信装置」は、プリンタに限らず、スキャナ、多機能機、ＦＡＸ機等であってもよい。例えば、「通信装置」がスキャナである場合には、サーバ１０が、スキャナからスキャン回数を示す回数情報を受信し、当該回数情報をメールで送信することが、「対象サービス」の一例である。
【００８８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下に、本明細書に記載の技術の特徴を列挙する。
（項目１）
サーバのためのコンピュータプログラムであって、
前記サーバのコンピュータに、以下の各処理、即ち、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信処理であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信処理と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信処理と、
前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録処理であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録処理と、
前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断処理と、
前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更処理であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更処理と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス処理と、
を実行させるコンピュータプログラム。
（項目２）
前記第１の受信処理は、前記通信装置が前記インターネットに接続されていること、及び、前記通信装置に電力が供給されていること、の双方が満たされた際に、前記第１の登録要求を受信する、項目１に記載のコンピュータプログラム。
（項目３）
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記端末装置から、前記インターネットを介して、前記ユーザに関係するユーザ情報を受信する第３の受信処理と、
前記受信済みのユーザ情報を前記メモリに登録する第２の登録処理と、を実行させ、
前記第１の登録状態では、前記ユーザ情報が前記対象情報に関連付けられず、
前記第２の登録状態では、前記ユーザ情報が前記対象情報に関連付けられ、
前記サービス処理では、前記ユーザ情報を利用した前記対象サービスが実行される、項目１又は２に記載のコンピュータプログラム。
（項目４）
前記一方の登録要求は、前記第１の登録要求であり、
前記一方のコードは、前記第１のコードであり、
前記他方の登録要求は、前記第２の登録要求であり、
前記他方のコードは、前記第２のコードであり、
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記第１の判断処理において、前記第２のコードが前記第１のコードに一致すると判断される場合に、第１の所定操作を前記通信装置に実行することを前記ユーザに促すための第１の画面を表わす第１の画面データを前記端末装置に送信する第１の送信処理であって、前記第１の所定操作は、前記サーバへの前記対象サービスに関連する関連指示の送信を前記通信装置に実行させるための操作である、前記第１の送信処理を実行させ、
前記対象情報の登録状態が前記第２の登録状態に変更され、かつ、前記通信装置から前記関連指示が受信された後に、前記サービス処理が実行される、項目１から３のいずれか一項に記載のコンピュータプログラム。
（項目５）
前記一方の登録要求は、前記第１の登録要求であり、
前記一方のコードは、前記第１のコードであり、
前記他方の登録要求は、前記第２の登録要求であり、
前記他方のコードは、前記第２のコードであり、
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記第１の判断処理において、前記第２のコードが前記第１のコードに一致しないと判断される場合に、前記第２のコードとは異なるコードを前記端末装置に入力することを前記ユーザに促すための第２の画面を表わす第２の画面データを前記端末装置に送信する第２の送信処理を実行させる、項目１から４のいずれか一項に記載のコンピュータプログラム。
（項目６）
前記一方の登録要求は、前記第１の登録要求であり、
前記一方のコードは、前記第１のコードであり、
前記他方の登録要求は、前記第２の登録要求であり、
前記他方のコードは、前記第２のコードであり、
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記第１の登録要求が受信される前であって、前記対象情報が前記メモリに登録される前に、前記第２の登録要求が受信される場合に、前記第２のコードを含む前記対象情報を前記メモリに登録することなく、第２の所定操作を前記通信装置に実行することを前記ユーザに促すための第３の画面を表わす第３の画面データを前記端末装置に送信する第３の送信処理であって、前記第２の所定操作は、前記サーバへの前記第１の登録要求の送信を前記通信装置に実行させるための操作である、前記第３の送信処理を実行させる、項目１から５のいずれか一項に記載のコンピュータプログラム。
（項目７）
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記対象情報の登録状態が前記第１の登録状態から前記第２の登録状態に変更される場合に、前記サーバと前記通信装置との間に前記インターネットを介した接続を確立するための接続情報を前記対象情報に関連付けて前記メモリに登録する第３の登録処理と、
前記接続情報を前記通信装置に送信する第４の送信処理と、
前記接続情報が前記通信装置に送信された後に、前記接続情報を利用して、前記サーバと前記通信装置との間に前記インターネットを介した前記接続を確立する確立処理と、を実行させ、
前記サービス処理は、前記接続を利用して、前記通信装置との通信を実行することを含む、項目１から６のいずれか一項に記載のコンピュータプログラム。
（項目８）
前記サービス処理は、前記通信装置に関係する装置関係情報を要求するための情報要求を前記通信装置に前記接続を利用して送信すること、及び、前記情報要求の送信に応じて、前記通信装置から前記装置関係情報を受信することを含む、項目７に記載のコンピュータプログラム。
（項目９）
前記コンピュータプログラムは、前記コンピュータに、さらに、
前記第１の登録要求が受信される場合に、前記識別情報と前記第１のコードとを利用して、前記第１のコードが前記識別情報から生成されたコードであるのか否かを判断する第２の判断処理を実行させ、
前記第１のコードが前記識別情報から生成されたコードであると判断される場合に、前記第１の判断処理が実行され、前記第１のコードが前記識別情報から生成されたコードでないと判断される場合に、前記第１の判断処理が実行されない、項目１から８のいずれか一項に記載のコンピュータプログラム。
（項目１０）
サーバであって、
通信装置から、インターネットを介して、前記通信装置を識別するための識別情報と、第１のコードと、を含む第１の登録要求を受信する第１の受信部であって、前記第１のコードは、前記通信装置のユーザによって前記通信装置に入力されることなく、前記通信装置に予め記憶されている、前記第１の受信部と、
第２のコードが前記ユーザによって前記通信装置とは異なる端末装置に入力される場合に、前記端末装置から、前記インターネットを介して、前記第２のコードを含む第２の登録要求を受信する第２の受信部と、
前記第１の登録要求及び前記第２の登録要求のうちの一方の登録要求が受信される場合に、前記一方の登録要求に含まれる一方のコードを含む対象情報の登録状態を第１の登録状態として、前記対象情報をメモリに登録する第１の登録部であって、前記第１の登録状態は、前記サーバが、前記通信装置に関係する対象サービスを実行しない状態である、前記第１の登録部と、
前記対象情報が前記メモリに登録された後に、前記第１の登録要求及び前記第２の登録要求のうちの他方の登録要求が受信される場合に、前記他方の登録要求に含まれる他方のコードが前記対象情報に含まれる前記一方のコードに一致するのか否かを判断する第１の判断部と、
前記他方のコードが前記一方のコードに一致すると判断される場合に、前記対象情報の登録状態を前記第１の登録状態から第２の登録状態に変更し、前記他方のコードが前記一方のコードに一致しないと判断される場合に、前記対象情報の登録状態を前記第１の登録状態から前記第２の登録状態に変更しない変更部であって、前記第２の登録状態は、前記サーバが、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行する状態である、前記変更部と、
前記対象情報の登録状態が前記第２の登録状態に変更される場合に、前記対象情報に含まれる前記識別情報によって識別される前記通信装置に関係する前記対象サービスを実行するサービス実行部と、
を備えるサーバ。
【符号の説明】
【００８９】
２：通信システム、４：ＬＡＮ、６：インターネット、８：ルータ、１０：サーバ、１２：ネットワークＩ／Ｆ、２０：制御部、２２：ＣＰＵ、２４：メモリ、２６：プログラム、２８：ユーザ情報テーブル、３０：登録テーブル、１００，２００：プリンタ、４００：端末装置
【図１】
0006623837.tif 000002
【図２】
0006623837.tif 000003
【図３】
0006623837.tif 000004
【図４】
0006623837.tif 000005
【図５】
0006623837.tif 000006
【図６】
0006623837.tif 000007
【図７】
0006623837.tif 000008