(57)【特許請求の範囲】
【請求項１】
対象クライアント装置を含む複数のクライアント装置と、サーバ装置と、インターネットに接続された認証装置と、を備える通信システムであって、
前記サーバ装置は、
ＩＰプロトコルに準拠した方式で前記クライアント装置と通信可能な第１通信部と、
第１制御部と、を備えており、
前記第１制御部は、
前記第１通信部を通じて前記クライアント装置から第１情報を受信したことに応じて、当該第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれるか否かを判断する判断処理と、
前記グローバルＩＰアドレスが前記許可範囲に含まれると前記判断処理において判断されたことに応じて、前記第１通信部を通じて前記クライアント装置に第２情報を送信する実行許可処理と、を実行し、
前記クライアント装置は、
インターネットに接続された前記サーバ装置とＩＰプロトコルに準拠した方式で通信可能な第２通信部と、
対象プログラムが記憶されたプログラム記憶部と、
第２制御部と、を備えており、
前記第２制御部は、
前記第２通信部を通じて前記サーバ装置に前記第１情報を送信する問合せ処理と、
前記第２通信部を通じて前記サーバ装置から前記第２情報を受信したことに応じて、前記対象プログラムを実行可能にする制限解除処理と、を実行し、
前記クライアント装置は、
表示部と、
ユーザ操作を受け付ける操作部と、
前記認証装置が発行する認証情報を記憶可能な認証情報記憶部と、を備えており、
前記対象クライアント装置の前記第２制御部は、前記制限解除処理によって実行可能になった前記対象プログラムに従って、
ユーザ識別情報を入力させるためのユーザ識別情報入力画面を前記表示部に表示させる表示制御処理と、
前記ユーザ識別情報を入力するユーザ操作を前記操作部が受け付けたことに応じて、前記対象クライアント装置を識別するクライアント識別情報、及び前記操作部が受け付けた前記ユーザ識別情報を含む認証要求情報を、前記第２通信部を通じて前記認証装置に送信する認証要求処理と、
前記第２通信部を通じて前記認証装置から前記認証情報を受信したことに応じて、当該認証情報を前記認証情報記憶部に記憶させる記憶制御処理と、を実行し、
前記認証装置は、
前記クライアント装置と通信可能な第３通信部と、
該認証装置に登録された前記ユーザ識別情報を記憶可能なユーザ識別情報記憶部と、
前記クライアント識別情報を記憶可能なクライアント識別情報記憶部と、
第３制御部と、を備えており、
前記第３制御部は、
前記第３通信部を通じて前記対象クライアント装置から前記認証要求情報を受信したことに応じて、当該認証要求情報に含まれる前記ユーザ識別情報が前記ユーザ識別情報記憶部に記憶されているか否かを判断する認証処理と、
前記ユーザ識別情報が前記ユーザ識別情報記憶部に記憶されていると前記認証処理において判断されたことに応じて、前記第３通信部を通じて前記対象クライアント装置に前記認証情報を送信する認証情報送信処理と、
前記認証要求情報に含まれる前記クライアント識別情報、及び前記対象クライアント装置に送信した前記認証情報を対応づけて前記クライアント識別情報記憶部に記憶させる登録処理と、を実行する通信システム。
【請求項２】
該通信システムは、複数の前記認証装置を備えており、
前記第１制御部は、
前記対象クライアント装置が前記認証要求情報を送信すべき前記認証装置を、前記グローバルＩＰアドレスに基づいて複数の前記認証装置から特定する特定処理を実行し、
前記実行許可処理において、前記特定処理で特定された前記認証装置を識別する認証装置識別情報を含む前記第２情報を、前記第１通信部を通じて前記対象クライアント装置に送信し、
前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記認証装置識別情報で識別される前記認証装置に、前記第２通信部を通じて前記認証要求情報を送信する請求項１に記載の通信システム。
【請求項３】
前記対象クライアント装置は、複数の前記認証装置それぞれについて、前記認証装置識別情報、及び当該認証装置の所在を示すＵＲＬを対応づけて記憶するＵＲＬ記憶部を備えており、
前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記認証装置識別情報に対応づけて前記ＵＲＬ記憶部に記憶された前記ＵＲＬに対するＨＴＴＰリクエストとして、前記第２通信部を通じて前記認証要求情報を送信する請求項２に記載の通信システム。
【請求項４】
前記認証装置識別情報は、前記認証装置の所在を示すＵＲＬであり、
前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記ＵＲＬに対するＨＴＴＰリクエストとして、前記第２通信部を通じて前記認証要求情報を送信する請求項２に記載の通信システム。
【請求項５】
前記第１制御部は、
前記認証処理を実行すべき前記認証要求情報の送信元ＩＰアドレスの範囲を示すサポート範囲情報を、複数の前記認証装置それぞれから前記第１通信部を通じて受信するサポート範囲取得処理をさらに実行し、
前記特定処理において、複数の前記認証装置のうち、前記グローバルＩＰアドレスを含む前記サポート範囲情報の送信元である前記認証装置を特定する請求項２から４のいずれかに記載の通信システム。
【請求項６】
前記プログラム記憶部には、予め認められた特定サービス提供装置が提供する特定サービスを利用するための特定プログラムがさらに記憶されており、
前記第２制御部は、前記表示制御処理において、
前記特定プログラムの実行指示を受け付けるための第１オブジェクト、及び前記認証要求処理の実行指示を受け付けるための第２オブジェクトを含む実行指示入力画面を、前記表示部に表示させる第１表示制御処理と、
前記第２オブジェクトを選択するユーザ操作を前記操作部が受け付けたことに応じて、前記ユーザ識別情報入力画面を前記表示部に表示させる第２表示制御処理と、を実行する請求項１から５のいずれかに記載の通信システム。
【請求項７】
前記対象クライアント装置の前記第２制御部は、前記認証情報記憶部に記憶された前記認証情報を用いて、当該対象クライアント装置と前記認証装置との間でコネクションを確立するコネクション確立処理をさらに実行し
前記第３通信部は、外部サービスを提供する外部サービス提供装置と通信可能であり、
前記第３制御部は、前記外部サービスを利用するためのサービス利用情報を前記第３通信部を通じて当該外部サービス提供装置から受信したことに応じて、前記対象クライアント装置によって確立された前記コネクションを通じて、当該サービス利用情報を前記対象クライアント装置に送信する中継処理をさらに実行する請求項１から６のいずれかに記載の通信システム。
【請求項８】
前記プログラム記憶部には、複数の前記対象プログラムが記憶されており、
前記第１制御部は、
前記判断処理において、複数の前記対象プログラムそれぞれに対応する前記許可範囲に前記グローバルＩＰアドレスが含まれるか否かを判断し、
前記実行許可処理において、前記グローバルＩＰアドレスが含まれる前記許可範囲に対応する前記対象プログラムを識別するプログラム識別情報を含む前記第２情報を、前記第１通信部を通じて前記対象クライアント装置に送信し、
前記第２制御部は、前記制限解除処理において、前記第２情報に含まれる前記プログラム識別情報で識別される前記対象プログラムを実行可能にする請求項１から７のいずれかに記載の通信システム。
【請求項９】
クライアント装置とサーバ装置とを備える通信システムであって、
前記サーバ装置は、
ＩＰプロトコルに準拠した方式で前記クライアント装置と通信可能な第１通信部と、
第１制御部と、を備えており、
前記第１制御部は、
前記第１通信部を通じて前記クライアント装置から第１情報を受信したことに応じて、当該第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれるか否かを判断する判断処理と、
前記グローバルＩＰアドレスが前記許可範囲に含まれると前記判断処理において判断されたことに応じて、前記第１通信部を通じて前記クライアント装置に第２情報を送信する実行許可処理と、を実行し、
前記クライアント装置は、
インターネットに接続された前記サーバ装置とＩＰプロトコルに準拠した方式で通信可能な第２通信部と、
対象プログラムが記憶されたプログラム記憶部と、
第２制御部と、を備えており、
前記第２制御部は、
前記第２通信部を通じて前記サーバ装置に前記第１情報を送信する問合せ処理と、
前記第２通信部を通じて前記サーバ装置から前記第２情報を受信したことに応じて、前記対象プログラムを実行可能にする制限解除処理と、を実行し、
前記プログラム記憶部には、前記対象プログラムによって実現される機能の一部を代替する代替プログラムがさらに記憶されており、
前記第１制御部は、前記グローバルＩＰアドレスが前記許可範囲に含まれないと前記判断処理で判断したことに応じて、前記対象プログラムの実行を許可しないことを示す第３情報を、前記第１通信部を通じて前記クライアント装置に送信する実行不可処理を実行し、
前記第２制御部は、前記第２通信部を通じて前記サーバ装置から前記第３情報を受信したことに応じて実行される前記制限解除処理において、前記代替プログラムを実行可能にする通信システム。
【請求項１０】
前記クライアント装置は、インターネットに接続されたＬＡＮに属しており、
前記第１情報を含む前記ＩＰパケットには、前記ＬＡＮとインターネットとの間の通信を中継するルータに割り当てられたグローバルＩＰアドレスが設定されている請求項１から９のいずれかに記載の通信システム。
【請求項１１】
前記クライアント装置は、ユーザ操作を受け付ける操作部を備えており、
前記第２制御部は、前記対象プログラムの実行を指示するユーザ操作を前記操作部が受け付けたことに応じて、前記問合せ処理を実行する請求項１から１０のいずれかに記載の通信システム。
【請求項１２】
前記クライアント装置は、前記サーバ装置の所在を示す所在情報を記憶するアドレス記憶部を備えており、
前記第２制御部は、前記問合せ処理において、前記アドレス記憶部に記憶された前記所在情報で示される前記サーバ装置に、前記第２通信部を通じて前記第１情報を送信する請求項１から１１のいずれかに記載の通信システム。
【請求項１３】
ＩＰプロトコルに準拠した方式でクライアント装置と通信可能な通信部と、
制御部と、を備えており、
前記制御部は、
前記通信部を通じて前記クライアント装置から第１情報を受信したことに応じて、当該第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれるか否かを判断する判断処理と、
前記グローバルＩＰアドレスが前記許可範囲に含まれると前記判断処理で判断したことに応じて、対象プログラムの実行制限を前記クライアント装置に解除させるための第２情報を、前記通信部を通じて前記クライアント装置に送信する実行許可処理と、
前記クライアント装置がユーザ識別情報を含む認証要求情報を送信すべき認証装置を、前記グローバルＩＰアドレスに基づいて複数の前記認証装置から特定する特定処理と、を実行し、
前記実行許可処理において、前記特定処理で特定された前記認証装置を識別する認証装置識別情報を含む前記第２情報を、前記第１通信部を通じて前記クライアント装置に送信し、
前記制御部は、
前記認証要求情報の送信元ＩＰアドレスの範囲を示すサポート範囲情報を、複数の前記認証装置それぞれから前記第１通信部を通じて受信するサポート範囲取得処理をさらに実行し、
前記特定処理において、複数の前記認証装置のうち、前記グローバルＩＰアドレスを含む前記サポート範囲情報の送信元である前記認証装置を特定するサーバ装置。
【請求項１４】
前記制御部は、
前記グローバルＩＰアドレスが前記許可範囲に含まれないと前記判断処理で判断したことに応じて、前記対象プログラムの実行を許可しないことを示す第３情報を、前記第１通信部を通じて前記クライアント装置に送信する実行不可処理を実行する請求項１３に記載のサーバ装置。
【請求項１５】
インターネットに接続されたサーバ装置とＩＰプロトコルに準拠した方式で通信可能であり、かつインターネットに接続された認証装置と通信可能な通信部と、
対象プログラムが記憶されたプログラム記憶部と、
制御部と、
表示部と、
ユーザ操作を受け付ける操作部と、
前記認証装置が発行する認証情報を記憶可能な認証情報記憶部と、を備えるクライアント装置であって、
前記制御部は、
前記通信部を通じて前記サーバ装置に第１情報を送信する問合せ処理と、
前記第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれている場合に前記サーバ装置から送信された第２情報を、前記通信部を通じて前記サーバ装置から受信したことに応じて、前記対象プログラムを実行可能にする制限解除処理と、を実行し、
前記制御部は、前記制限解除処理によって実行可能になった前記対象プログラムに従って、
ユーザ識別情報を入力させるためのユーザ識別情報入力画面を前記表示部に表示させる表示制御処理と、
前記ユーザ識別情報を入力するユーザ操作を前記操作部が受け付けたことに応じて、該クライアント装置を識別するクライアント識別情報、及び前記操作部が受け付けた前記ユーザ識別情報を含む認証要求情報を、前記通信部を通じて前記認証装置に送信する認証要求処理と、
当該ユーザ識別情報が前記認証装置に記憶されている場合に当該認証装置から送信される前記認証情報を前記通信部を通じて受信したことに応じて、当該認証情報を前記認証情報記憶部に記憶させる記憶制御処理と、を実行するクライアント装置。
【請求項１６】
前記クライアント装置は、複数の前記認証装置それぞれについて、前記認証装置を識別する認証装置識別情報、及び当該認証装置の所在を示すＵＲＬを対応づけて記憶するＵＲＬ記憶部を備えており、
前記制御部は、前記認証装置識別情報を含む前記第２情報を前記通信部を通じて前記サーバ装置から受信したことに応じて実行される前記認証要求処理において、当該認証装置識別情報に対応づけて前記ＵＲＬ記憶部に記憶された前記ＵＲＬに対するＨＴＴＰリクエストとして、前記通信部を通じて前記認証要求情報を送信する請求項１５に記載のクライアント装置。
【請求項１７】
前記認証装置を識別する認証装置識別情報は、前記認証装置の所在を示すＵＲＬであり、
前記制御部は、前記認証要求処理において、前記第２情報に含まれる前記ＵＲＬに対するＨＴＴＰリクエストとして、前記通信部を通じて前記認証要求情報を送信する請求項１５に記載のクライアント装置。
【請求項１８】
前記プログラム記憶部には、予め認められた特定サービス提供装置が提供する特定サービスを利用するための特定プログラムがさらに記憶されており、
前記制御部は、前記表示制御処理において、
前記特定プログラムの実行指示を受け付けるための第１オブジェクト、及び前記認証要求処理の実行指示を受け付けるための第２オブジェクトを含む実行指示入力画面を、前記表示部に表示させる第１表示制御処理と、
前記第２オブジェクトを選択するユーザ操作を前記操作部が受け付けたことに応じて、前記ユーザ識別情報入力画面を前記表示部に表示させる第２表示制御処理と、を実行する請求項１５から１７のいずれかに記載のクライアント装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置でのプログラムの実行を制御する通信システムに関する。
【背景技術】
【０００２】
近年、画像記録装置を含む情報処理装置には、様々なプログラムが搭載されている。そして、制御部が当該プログラムを実行することによって、当該情報処理装置に実装された機能が実現される。（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３１６６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置によって実行されるプログラムは、当該情報処理装置が設置された地域の法律、或いはインフラやサポート体制の整備状況等（以下、「設置地域の状況」と表記する。）に応じて最適化されていることが望ましい。しかしながら、情報処理装置の種類が増えると管理が煩雑になる。すなわち、製品の管理上の観点からは、全ての情報処理装置に同一のプログラムが搭載されているのが望ましい。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、クライアント装置における対象プログラムの実行可否を、当該クライアント装置が設置された地域毎に判断可能な通信システムを提供することにある。
【課題を解決するための手段】
【０００６】
(1)  本明細書に記載の通信システムは、クライアント装置とサーバ装置とを備える。前記サーバ装置は、ＩＰプロトコルに準拠した方式で前記クライアント装置と通信可能な第１通信部と、第１制御部とを備える。前記第１制御部は、前記第１通信部を通じて前記クライアント装置から第１情報を受信したことに応じて、当該第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれるか否かを判断する判断処理と、前記グローバルＩＰアドレスが前記許可範囲に含まれると前記判断処理において判断されたことに応じて、前記第１通信部を通じて前記クライアント装置に第２情報を送信する実行許可処理とを実行する。前記クライアント装置は、インターネットに接続された前記サーバ装置とＩＰプロトコルに準拠した方式で通信可能な第２通信部と、対象プログラムが記憶されたプログラム記憶部と、第２制御部とを備える。前記第２制御部は、前記第２通信部を通じて前記サーバ装置に前記第１情報を送信する問合せ処理と、前記第２通信部を通じて前記サーバ装置から前記第２情報を受信したことに応じて、前記対象プログラムを実行可能にする制限解除処理とを実行する。
【０００７】
グローバルＩＰアドレスは、各地域に所定の範囲が割り当てられている。すなわち、上記構成の通信システムにおいて、サーバ装置は、問合せ情報を含むＩＰパケットに設定されたグローバルＩＰアドレスを参照することによって、当該問合せ情報の送信元であるクライアント装置が設置された地域を特定することができる。そこで、グローバルＩＰアドレスが許可範囲に含まれるか否かに応じて、対象プログラムの実行可否を判断することによって、設置地域に適した機能がクライアント装置において実現される。
【０００８】
(2)  好ましくは、該通信システムは、対象クライアント装置を含む複数の前記クライアント装置と、インターネットに接続された認証装置とをさらに備える。前記クライアント装置は、表示部と、ユーザ操作を受け付ける操作部と、前記認証装置が発行する認証情報を記憶可能な認証情報記憶部とを備える。前記対象クライアント装置の前記第２制御部は、前記制限解除処理によって実行可能になった前記対象プログラムに従って、ユーザ識別情報を入力させるためのユーザ識別情報入力画面を前記表示部に表示させる表示制御処理と、前記ユーザ識別情報を入力するユーザ操作を前記操作部が受け付けたことに応じて、前記対象クライアント装置を識別するクライアント識別情報、及び前記操作部が受け付けた前記ユーザ識別情報を含む認証要求情報を、前記第２通信部を通じて前記認証装置に送信する認証要求処理と、前記第２通信部を通じて前記認証装置から前記認証情報を受信したことに応じて、当該認証情報を前記認証情報記憶部に記憶させる記憶制御処理とを実行する。前記認証装置は、前記クライアント装置と通信可能な第３通信部と、該認証装置に登録された前記ユーザ識別情報を記憶可能なユーザ識別情報記憶部と、前記クライアント識別情報を記憶可能なクライアント識別情報記憶部と、第３制御部とを備える。そして、前記第３制御部は、前記第３通信部を通じて前記対象クライアント装置から前記認証要求情報を受信したことに応じて、当該認証要求情報に含まれる前記ユーザ識別情報が前記ユーザ識別情報記憶部に記憶されているか否かを判断する認証処理と、前記ユーザ識別情報が前記ユーザ識別情報記憶部に記憶されていると前記認証処理において判断されたことに応じて、前記第３通信部を通じて前記対象クライアント装置に前記認証情報を送信する認証情報送信処理と、前記認証要求情報に含まれる前記クライアント識別情報、及び前記対象クライアント装置に送信した前記認証情報を対応づけて前記クライアント識別情報記憶部に記憶させる登録処理とを実行する。
【０００９】
上記構成によれば、認証装置から認証情報を取得できるクライアント装置を、許可範囲に含まれる地域に設置されたクライアント装置のみに限定できる。その結果、設置地域の状況に応じて、クライアント装置を適切に動作させることができる。
【００１０】
(3)  好ましくは、該通信システムは、複数の前記認証装置を備える。そして、前記第１制御部は、前記対象クライアント装置が前記認証要求情報を送信すべき前記認証装置を、前記グローバルＩＰアドレスに基づいて複数の前記認証装置から特定する特定処理を実行し、前記実行許可処理において、前記特定処理で特定された前記認証装置を識別する認証装置識別情報を含む前記第２情報を、前記第１通信部を通じて前記対象クライアント装置に送信し、前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記認証装置識別情報で識別される前記認証装置に、前記第２通信部を通じて前記認証要求情報を送信する。
【００１１】
上記構成によれば、地域毎に認証装置が設置されている場合において、クライアント装置は、当該クライアント装置が設置された地域をサポートする認証装置に認証要求情報を送信することができる。
【００１２】
(4)  一例として、前記対象クライアント装置は、複数の前記認証装置それぞれについて、前記認証装置識別情報、及び当該認証装置の所在を示すＵＲＬを対応づけて記憶するＵＲＬ記憶部を備える。そして、前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記認証装置識別情報に対応づけて前記ＵＲＬ記憶部に記憶された前記ＵＲＬに対するＨＴＴＰリクエストとして、前記第２通信部を通じて前記認証要求情報を送信する。
【００１３】
(5)  他の例として、前記認証装置識別情報は、前記認証装置の所在を示すＵＲＬである。そして、前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記ＵＲＬに対するＨＴＴＰリクエストとして、前記第２通信部を通じて前記認証要求情報を送信する。
【００１４】
(6)  好ましくは、前記第１制御部は、前記認証処理を実行すべき前記認証要求情報の送信元ＩＰアドレスの範囲を示すサポート範囲情報を、複数の前記認証装置それぞれから前記第１通信部を通じて受信するサポート範囲取得処理をさらに実行し、前記特定処理において、複数の前記認証装置のうち、前記グローバルＩＰアドレスを含む前記サポート範囲情報の送信元である前記認証装置を特定する。
【００１５】
上記構成のように、サポート範囲情報を各認証装置から取得することにより、認証装置のサポート範囲が変更された場合でも、対象プログラムの実行可否を適切に判断することができる。
【００１６】
(7)  例えば、前記プログラム記憶部には、予め認められた特定サービス提供装置が提供する特定サービスを利用するための特定プログラムがさらに記憶されている。そして、前記第２制御部は、前記表示制御処理において、前記特定プログラムの実行指示を受け付けるための第１オブジェクト、及び前記認証要求処理の実行指示を受け付けるための第２オブジェクトを含む実行指示入力画面を、前記表示部に表示させる第１表示制御処理と、前記第２オブジェクトを選択するユーザ操作を前記操作部が受け付けたことに応じて、前記ユーザ識別情報入力画面を前記表示部に表示させる第２表示制御処理とを実行する。
【００１７】
(8)  例えば、前記対象クライアント装置の前記第２制御部は、前記認証情報記憶部に記憶された前記認証情報を用いて、当該対象クライアント装置と前記認証装置との間でコネクションを確立するコネクション確立処理をさらに実行する。前記第３通信部は、外部サービスを提供する外部サービス提供装置と通信可能である。そして、前記第３制御部は、前記外部サービスを利用するためのサービス利用情報を前記第３通信部を通じて当該外部サービス提供装置から受信したことに応じて、前記対象クライアント装置によって確立された前記コネクションを通じて、当該サービス利用情報を前記対象クライアント装置に送信する中継処理をさらに実行する。
【００１８】
(9)  好ましくは、前記プログラム記憶部には、複数の前記対象プログラムが記憶されている。前記第１制御部は、前記判断処理において、複数の前記対象プログラムそれぞれに対応する前記許可範囲に前記グローバルＩＰアドレスが含まれるか否かを判断し、前記通知処理において、前記グローバルＩＰアドレスが含まれる前記許可範囲に対応する前記対象プログラムを識別するプログラム識別情報を含む前記第２情報を、前記第１通信部を通じて前記対象クライアント装置に送信する。前記第２制御部は、前記制限解除処理において、前記第２情報に含まれる前記プログラム識別情報で識別される前記対象プログラムを実行可能にする。
【００１９】
上記構成によれば、クライアント装置の設置地域に応じて、複数の対象プログラムそれぞれの実行可否を適切に判断することができる。
【００２０】
(10)  好ましくは、前記プログラム記憶部には、前記対象プログラムによって実現される機能の一部を代替する代替プログラムがさらに記憶されている。前記第１制御部は、前記グローバルＩＰアドレスが前記許可範囲に含まれないと前記判断処理で判断したことに応じて、前記対象プログラムの実行を許可しないことを示す第３情報を、前記第１通信部を通じて前記クライアント装置に送信する実行不可処理を実行する。前記第２制御部は、前記第２通信部を通じて前記サーバ装置から前記第３情報を受信したことに応じて実行される前記制限解除処理において、前記代替プログラムを実行可能にする。
【００２１】
上記構成によれば、グローバルＩＰアドレスが許可範囲に含まれるか否かに応じて、対象プログラム及び代替プログラムのいずれかが実行されるので、設置地域に適した機能がクライアント装置において実現される。
【００２２】
(11)  例えば、前記クライアント装置は、インターネットに接続されたＬＡＮに属している。そして、前記第１情報を含む前記ＩＰパケットには、前記ＬＡＮとインターネットとの間の通信を中継するルータに割り当てられたグローバルＩＰアドレスが設定されている。
【００２３】
(12)  例えば、前記クライアント装置は、ユーザ操作を受け付ける操作部を備える。そして、前記第２制御部は、前記対象プログラムの実行を指示するユーザ操作を前記操作部が受け付けたことに応じて、前記問合せ処理を実行する。
【００２４】
(13)  例えば、前記クライアント装置は、前記サーバ装置の所在を示す所在情報を記憶するアドレス記憶部を備える。そして、前記第２制御部は、前記問合せ処理において、前記アドレス記憶部に記憶された前記所在情報で示される前記サーバ装置に、前記第２通信部を通じて前記第１情報を送信する。
【００２５】
(14)  本明細書に記載のサーバ装置は、ＩＰプロトコルに準拠した方式でクライアント装置と通信可能な通信部と、制御部とを備える。そして、前記制御部は、前記通信部を通じて前記クライアント装置から第１情報を受信したことに応じて、当該第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれるか否かを判断する判断処理と、前記グローバルＩＰアドレスが前記許可範囲に含まれると前記判断処理で判断したことに応じて、対象プログラムの実行制限を前記クライアント装置に解除させるための第２情報を、前記通信部を通じて前記クライアント装置に送信する通知処理とを実行する。
【００２６】
(15)  本明細書に記載のクライアント装置は、インターネットに接続されたサーバ装置とＩＰプロトコルに準拠した方式で通信可能な通信部と、対象プログラムが記憶されたプログラム記憶部と、制御部とを備える。そして、前記制御部は、前記通信部を通じて前記サーバ装置に第１情報を送信する問合せ処理と、前記第１情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが予め定められた許可範囲に含まれている場合に前記サーバ装置から送信された第２情報を、前記通信部を通じて前記サーバ装置から受信したことに応じて、前記対象プログラムを実行可能にする制限解除処理とを実行する。
【００２７】
(16)  好ましくは、前記通信部は、インターネットに接続された認証装置と通信可能である。該クライアント装置は、表示部と、ユーザ操作を受け付ける操作部と、前記認証装置が発行する認証情報を記憶可能な認証情報記憶部とを備える。そして、前記制御部は、前記制限解除処理によって実行可能になった前記対象プログラムに従って、ユーザ識別情報を入力させるためのユーザ識別情報入力画面を前記表示部に表示させる表示制御処理と、前記ユーザ識別情報を入力するユーザ操作を前記操作部が受け付けたことに応じて、該クライアント装置を識別するクライアント識別情報、及び前記操作部が受け付けた前記ユーザ識別情報を含む認証要求情報を、前記通信部を通じて前記認証装置に送信する認証要求処理と、当該ユーザ識別情報が前記認証装置に記憶されている場合に当該認証装置から送信される前記認証情報を前記通信部を通じて受信したことに応じて、当該認証情報を前記認証情報記憶部に記憶させる記憶制御処理とを実行する。
【００２８】
(17)  一例として、前記クライアント装置は、複数の前記認証装置それぞれについて、前記認証装置識別情報、及び当該認証装置の所在を示すＵＲＬを対応づけて記憶するＵＲＬ記憶部を備えている。そして、前記制御部は、前記認証装置識別情報を含む前記第２情報を前記通信部を通じて前記サーバ装置から受信したことに応じて実行される前記認証要求処理において、当該認証装置識別情報に対応づけて前記ＵＲＬ記憶部に記憶された前記ＵＲＬに対するＨＴＴＰリクエストとして、前記通信部を通じて前記認証要求情報を送信する。
【００２９】
(18)  他の例として、前記認証装置識別情報は、前記認証装置の所在を示すＵＲＬである。そして、前記対象クライアント装置の前記第２制御部は、前記認証要求処理において、前記第２情報に含まれる前記ＵＲＬに対するＨＴＴＰリクエストとして、前記第２通信部を通じて前記認証要求情報を送信する。
【００３０】
(19)  好ましくは、前記プログラム記憶部には、予め認められた特定サービス提供装置が提供する特定サービスを利用するための特定プログラムがさらに記憶されている。そして、前記制御部は、前記表示制御処理において、前記特定プログラムの実行指示を受け付けるための第１オブジェクト、及び前記認証要求処理の実行指示を受け付けるための第２オブジェクトを含む実行指示入力画面を、前記表示部に表示させる第１表示制御処理と、前記第２オブジェクトを選択するユーザ操作を前記操作部が受け付けたことに応じて、前記ユーザ識別情報入力画面を前記表示部に表示させる第２表示制御処理とを実行する。
【発明の効果】
【００３１】
本明細書に記載の通信システムによれば、グローバルＩＰアドレスが許可範囲に含まれるか否かに応じて、対象プログラムの実行可否を判断することによって、設置地域に適した機能がクライアント装置において実現される。
【図面の簡単な説明】
【００３２】
【図１】図１は、実施形態における通信システム１００の概略図である。
【図２】図２は、（Ａ）が複合機１０のブロック図であり、（Ｂ）がサーバ装置５０のブロック図である。
【図３】図３は、複合機１０の記憶部３２に記憶されるプログラム及び情報の一例であり、（Ａ）、（Ｂ）はプログラム記憶部を、（Ｃ）はＵＲＬ記憶部を、（Ｄ）は認証情報記憶部を示す。
【図４】図４は、サーバ装置５０の記憶部６２に記憶される情報の一例であり、（Ａ）はプログラムＩＤ及び許可範囲情報対応関係を、（Ｂ）は中継装置ＩＤ及びサポート範囲情報の対応関係を示す。
【図５】図５は、中継装置７０のブロック図及び記憶部８２に記憶される情報の一例であり、（Ａ）中継装置７０のブロック図を、（Ｂ）は中継装置７０に設定されたサポート範囲情報を、（Ｃ）はユーザ識別情報記憶部を、（Ｄ）はクライアント識別情報記憶部を示す。
【図６】図６は、複合機１０及びサーバ装置５０の間で実行される処理のフローチャートである。
【図７】図７は、サーバ装置５０によって実行される処理のフローチャートであり、（Ａ）は判断処理を、（Ｂ）は特定処理を示す。
【図８】図８は、複合機１０によって実行される制限解除処理のフローチャートである。
【図９】図９は、複合機１０及び中継装置７０の間で実行される処理のフローチャートである。
【図１０】図１０は、複合機１０の表示部２３に表示される画面例であり、（Ａ）はメニュー画面を、（Ｂ）はプログラムＡ−１が実行可能な場合の実行指示入力画面を示す。
【図１１】図１１は、複合機１０の表示部２３に表示される画面例であり、（Ａ）はプログラムＡ−１が実行可能な場合の実行指示入力画面を、（Ｂ）はＰＩＮ入力画面を示す。
【発明を実施するための形態】
【００３３】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【００３４】
図１は、本実施形態における通信システム１００の概略図である。図１に示される通信システム１００は、１以上の複合機１０、１０Ａと、サーバ装置５０と、１以上の中継装置７０、７０Ａとで構成されている。複合機１０、１０Ａ、サーバ装置５０、及び中継装置７０、７０Ａは、通信ネットワークを介して相互に通信可能とされている。通信ネットワークの具体例は特に限定されないが、本実施形態に係る通信ネットワークは、インターネット１０１と、インターネット１０１に接続されたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略）１０２、１０３とで構成される。
【００３５】
図１の例において、ＬＡＮ１０２、１０３は、ルータ１０２Ａ、１０３Ａ等を通じてインターネット１０１に接続されている。また、複合機１０はＬＡＮ１０２に属し、複合機１０ＡはＬＡＮ１０３に属し、サーバ装置５０及び中継装置７０、７０Ａはインターネット１０１に接続されている。なお、「ＬＡＮ１０２に属する」とは、例えば、ＬＡＮ１０２に属するための設定がされており、ＬＡＮ１０２に属する他の装置と通信可能であること、より詳細には、ＬＡＮ１０２に割り当てられたネットワークアドレスが付与されていることを指す。
【００３６】
また、ルータ１０２Ａ、１０３Ａは、ファイアウォールとして機能する。すなわち、当該ルータ１０２Ａ、１０３Ａは、複合機１０からサーバ装置５０或いは中継装置７０、７０Ａへ送信されるリクエスト、及びサーバ装置５０或いは中継装置７０、７０Ａから複合機１０へ送信されるレスポンスを通過させる。一方、当該ルータ１０２Ａ、１０３Ａは、サーバ装置５０或いは中継装置７０、７０Ａから複合機１０へ送信されるリクエストを遮断する。
【００３７】
［複合機１０］
複合機１０は、図２（Ａ）に示されるように、プリンタ部１１と、スキャナ部１２と、表示部２３と、操作部２４と、通信部２５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略）３１と、記憶部３２と、通信バス３３とを主に備える。複合機１０を構成する各構成要素は、通信バス３３を介して相互に接続されている。複合機１０は、クライアント装置或いは画像記録装置の一例である。但し、クライアント装置の具体例は複合機１０に限定されず、例えば、プリンタ、ラベルプリンタ、スキャナ、ＦＡＸ装置、ミシン、工作機械等の専用機、スマートフォン、携帯電話、タブレット端末等の携帯端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒの略）等であってもよい。複合機１０、１０Ａの構成は共通するので、以下、複合機１０について詳述する。
【００３８】
［プリンタ部１１、スキャナ部１２］
プリンタ部１１は、画像データで示される画像を記録用紙に記録する記録処理を実行する。プリンタ部１１の記録方式は特に限定されないが、例えば、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ部１２は、記録用紙に記録されている画像を読み取って画像データを生成するスキャン処理を実行する。複合機１０は、ＦＡＸの送受信を行うＦＡＸ機能、記録用紙に記録された画像を読み取って他の記録用紙に記録する複写機能等をさらに有してもよい。
【００３９】
［表示部２３］
表示部２３は、各種情報を表示する表示画面を備える。表示部２３の具体的な構成は特に限定されないが、例えば、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略）、有機ＥＬディスプレイ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略）等を採用することができる。
【００４０】
［操作部２４］
操作部２４は、表示部２３の表示画面に表示されたオブジェクトを選択するユーザの操作を受け付ける。具体的には、操作部２４は、例えば押ボタンを有しており、押下された押ボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、操作部２４は、表示部２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。すなわち、表示部２３がタッチパネルディスプレイとして構成されてもよい。タッチセンサには、静電容量方式、抵抗膜方式等の周知の方式を採用することができる。
【００４１】
なお、「オブジェクト」とは、ユーザが操作部２４を操作することによって選択可能な画像を指す。一例として、オブジェクトは表示部２３に表示された文字列であって、操作部２４の方向キーを押下することによってオブジェクトの１つがハイライト表示され、操作部２４の決定ボタンを押下することによってハイライト表示されたオブジェクトが選択されてもよい。他の例として、操作部２４がタッチパネルである場合のオブジェクトは表示部２３に表示されたアイコン、ボタン、リンク等であって、タッチ位置に表示されたオブジェクトが選択されてもよい。
【００４２】
［通信部２５］
通信部２５は、通信ネットワークを通じて外部装置と通信を行うためのインタフェースである。本実施形態に係る通信部２５は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌの略）プロトコルに準拠した方式で外部装置と通信する。すなわち、複合機１０は、通信部２５を通じてサーバ装置５０或いは中継装置７０、７０Ａに各種情報を出力し、通信部２５を通じてサーバ装置５０或いは中継装置７０、７０Ａから各種データ又は各種情報を受信する。
【００４３】
［ＣＰＵ３１］
ＣＰＵ３１は、複合機１０の全体動作を制御するものである。ＣＰＵ３１は、操作部２４から出力される各種情報、及び通信部２５を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムを記憶部３２から取得して実行する。すなわち、ＣＰＵ３１及び記憶部３２は、制御部の一例を構成する。
【００４４】
［記憶部３２］
記憶部３２は、プログラム記憶領域３２Ａと、データ記憶領域３２Ｂとを有する。プログラム記憶領域３２Ａには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略）３４と、制御プログラム３５とが格納される。なお、制御プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域３２Ｂには、制御プログラム３５の実行に必要なデータ或いは情報が記憶される。記憶部３２は、例えば図３に示される各種プログラム及び各種情報を記憶する。本実施形態において、図３（Ａ）〜図３（Ｃ）に示される各種プログラム及び各種情報は複合機１０の出荷時に既に記憶されており、図３（Ｄ）に示される領域には複合機１０の出荷時に具体的な情報が記憶されていない。
【００４５】
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
【００４６】
また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０”というバイナリ形式の情報として保持されてもよい。
【００４７】
また、本明細書では、所定の演算が加えられる前後の「データ」及び「情報」を、同一のデータ及び情報として取り扱うことがある。例えば、暗号化されていないキー情報が記憶部に記憶されており、暗号化されたキー情報（以下、「暗号化キー情報」と表記する。）が通信部２５を通じて受信されたとする。この場合において、記憶部に記憶されたキー情報と、暗号化キー情報を復号して得られる復号済キー情報とが一致するのであれば、キー情報、暗号化キー情報、及び復号済キー情報は、いずれも同一の「キー情報」として取り扱うことがある。なお、「所定の演算」は暗復号に限定されず、ハッシュ関数による演算等であってもよい。
【００４８】
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
【００４９】
記憶部３２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙの略）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略）、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００５０】
なお、記憶部３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００５１】
プログラム記憶領域３２Ａに記憶されているプログラムは、ＣＰＵ３１によって実行される。しかしながら、本明細書では、ＣＰＵ３１を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムＡが処理Ａを実行する」という趣旨の記述は、「ＣＰＵ３１がプログラムＡに記述された処理Ａを実行する」ことを指してもよい。後述するサーバ装置５０及び中継装置７０、７０Ａについても同様である。
【００５２】
ＯＳ３４は、複合機１０を構成するハードウェアであるプリンタ部１１、スキャナ部１２、表示部２３、操作部２４、及び通信部２５等を制御するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅの略）を提供する基本プログラムである。すなわち、上記の各プログラムは、ＯＳ３４が提供するＡＰＩを呼び出すことによって、各ハードウェアを制御する。しかしながら、本明細書では、ＯＳ３４を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記述は、「プログラムＢがＯＳ３４のＡＰＩを通じてハードウェアＣを制御する」ことを指してもよい。後述するサーバ装置５０及び中継装置７０、７０Ａについても同様である。
【００５３】
プログラム記憶領域３２Ａは、図３（Ａ）に示されるように、対象プログラムと、代替プログラムとを対応づけて記憶している。対象プログラム及び代替プログラムを記憶する記憶部６２は、プログラム記憶部の一例である。対象プログラム及び代替プログラムは、複合機１０のＣＰＵ３１によって実行され得るプログラムである。対象プログラム及び代替プログラムは、複合機１０の出荷時において実行不能な状態にされており、サーバ装置５０から実行許可を得ることによって実行可能となる。各プログラムによって実現される具体的な機能は特に限定されないが、例えば以下のような機能が考えられる。
【００５４】
プログラムＡ−１は、例えば、中継装置７０、７０Ａからトークン情報を取得するためのプログラムである。プログラムＡ−１によって実現される処理の詳細は、図９等を参照して後述する。なお、本実施形態に係るプログラムＡ−１には、代替プログラムが対応づけられていない。すなわち、複合機１０は、プログラムＡ−１に対する実行許可をサーバ装置５０から取得できない場合、中継装置７０、７０Ａからトークン情報を取得することができない。
【００５５】
プログラムＢ−１及びプログラムＢ−２は、例えば、プリンタ部１１に記録処理を実行させるための記録制御プログラムであってもよい。そして、プログラムＢ−１は、予め定められた品質の推奨紙に対して高品質の画像を記録するために最適化されていてもよい。これに対して、プログラムＢ−２は、画像記録品質はプログラムＢ−１より低いものの、推奨紙より品質の劣る記録用紙にも画像を記録可能に設定されていてもよい。
【００５６】
プログラムＣ−１及びプログラムＣ−２は、例えば、複合機１０に供給される電力を制御する電力制御プログラムであってもよい。そして、プログラムＣ−１は、複合機１０が予め定められた温度範囲の環境で使用される場合に、高い省電力機能を発揮するものであってもよい。これに対して、プログラムＣ−２は、省電力機能はプログラムＣ−１より低いものの、複合機１０が寒冷地で使用される場合に最適化されていてもよい。
【００５７】
このように、互いに対応づけられた対象プログラム及び代替プログラムは、実現される基本的な機能が共通し、詳細な機能が相違する。例えば、対象プログラムは、代替プログラムによって実現される機能を拡張したものであってもよい。換言すれば、代替プログラムは、対象プログラムによって実現される機能の一部を代替するものであってもよい。または、対象プログラム及び代替プログラムは、それぞれが異なる条件に最適化されたものであってもよい。そして、複合機１０は、サーバ装置５０から取得した情報に基づいて、対応する対象プログラム及び代替プログラムの一方を実行することができる。
【００５８】
また、プログラム記憶領域３２Ａは、図３（Ｂ）に示されるように、特定プログラムを記憶している。特定プログラムを記憶する記憶部６２は、プログラム記憶部の他の例である。特定プログラムは、予め認められた特定サービス提供装置が提供する特定サービスを利用するためのプログラムである。特定サービス提供装置の具体例は特に限定されないが、「Ｄｒｏｐｂｏｘ（登録商標）」、「Ｇｏｏｇｌｅ  Ｄｏｃｓ（登録商標）」、「Ｅｖｅｒｎｏｔｅ（登録商標）」等のサービスを提供する装置である。
【００５９】
また、データ記憶領域３２Ｂは、図３（Ｃ）に示されるように、複数の中継装置７０、７０Ａそれぞれについて、中継装置７０、７０Ａを一意に識別する中継装置ＩＤと、当該中継装置７０、７０Ａの所在を示すＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略）とを対応づけて記憶している。中継装置ＩＤ及びＵＲＬを対応づけて記憶する記憶部３２は、ＵＲＬ記憶部の一例である。また、中継装置ＩＤは、認証装置識別情報の一例である。
【００６０】
さらに、データ記憶領域３２Ｂは、図３（Ｄ）に示されるように、中継装置ＩＤと、当該中継装置ＩＤで識別される中継装置７０、７０Ａから取得したトークン情報とを対応づけて記憶可能である。中継装置ＩＤ及びトークン情報を対応づけて記憶する記憶部３２は、認証情報記憶部の一例である。トークン情報は、認証情報の一例である。
【００６１】
［サーバ装置５０］
サーバ装置５０は、図２（Ｂ）に示されるように、表示部５３と、操作部５４と、通信部５５と、ＣＰＵ６１と、記憶部６２と、通信バス６３とを主に備える。サーバ装置５０に含まれる表示部５３、操作部５４、通信部５５、ＣＰＵ６１、記憶部６２、及び通信バス６３は、複合機１０に含まれる表示部２３、操作部２４、通信部２５、ＣＰＵ３１、記憶部３２、及び通信バス３３と共通するので、再度の説明は省略する。ＣＰＵ６１及び記憶部６２は制御部の一例を構成する。
【００６２】
記憶部６２のデータ記憶領域６２Ｂは、図４（Ａ）に示されるように、対象プログラムを一意に識別するプログラムＩＤと、グローバルＩＰアドレスの範囲を示す許可範囲情報とを対応づけて記憶している。許可範囲情報は、対象プログラムと、当該対象プログラムの実行が許可される地域との対応関係を示す情報であるとも言える。異なるプログラムＩＤに対応づけられた許可範囲情報は、本実施形態では重複していてもよい。サーバ装置５０は、例えば、対応するプログラムＩＤ及び許可範囲情報を、表示部５３及び操作部５４を通じて管理者から取得してもよいし、通信部５５を通じて外部装置から取得してもよい。プログラムＩＤは、プログラム識別情報の一例である。
【００６３】
また、データ記憶領域６２Ｂは、図４（Ｂ）に示されるように、中継装置ＩＤと、グローバルＩＰアドレスの範囲であるサポート範囲情報とを対応づけて記憶している。サポート範囲情報は、中継装置と、当該中継装置がサポートする地域との対応関係を示す情報であるとも言える。サポート範囲情報は、後述する認証処理を実行すべき認証要求情報の送信元ＩＰアドレスの範囲を示す情報である。異なる中継装置ＩＤに対応づけられたサポート範囲情報は、本実施形態では重複していない。
【００６４】
サーバ装置５０は、例えば、対応する中継装置ＩＤ及びサポート範囲情報を、表示部５３及び操作部５４を通じて管理者から取得してもよいし、通信部５５を通じて外部装置から取得してもよい。一例として、サーバ装置５０は、中継装置ＩＤに対応づけられたサポート範囲情報を、当該中継装置ＩＤで識別される中継装置７０、７０Ａから通信部５５を通じて受信してもよい。この処理は、例えばＣＰＵ６１が制御プログラム６５を実行することによって実現される。この処理は、サポート範囲取得処理の一例である。
【００６５】
前述したように、グローバルＩＰアドレスは、各地域に所定の範囲が割り当てられている。例えば、地域Ａには１０．０．０．０〜１４．２５５．２５５．２５５の範囲のグローバルＩＰアドレスが割り当てられ、地域Ｂには１５．０．０．０〜１９．２５５．２５５．２５５の範囲のグローバルＩＰアドレスが割り当てられ、地域Ｃには２０．０．０．０〜２４．２５５．２５５．２５５の範囲のグローバルＩＰアドレスが割り当てられ、地域Ｄには２５．０．０．０〜２９．２５５．２５５．２５５の範囲のグローバルＩＰアドレスが割り当てられているとする。
【００６６】
そして、図４（Ａ）に示される許可範囲情報は、各地域に設置されたクライアント装置に、対応するプログラムの実行を許可するか否かを示している。すなわち、図４（Ａ）は、地域Ａ、Ｂに設置されたクライアント装置にプログラムＡ−１の実行が許可され、地域Ｃ、Ｄに設置されたクライアント装置にプログラムＢ−１の実行が許可され、地域Ｂ、Ｃに設置されたクライアント装置にプログラムＣ−１の実行許可されることを示している。このように、１つの許可範囲情報は、複数の地域に割り当てられたグローバルＩＰアドレスの範囲を含んでもよい。同様に、１つの地域に割り当てられたグローバルＩＰアドレスの範囲は、複数の許可範囲情報に含まれていてもよい。
【００６７】
また、図４（Ｂ）に示されるサポート範囲情報は、図４（Ａ）に示されるプログラムＡ−１に対応する許可範囲情報を細分化したものである。すなわち、図４（Ｂ）は、プログラムＡ−１の実行が許可されるクライアント装置のうち、地域Ａに設置されたクライアント装置は中継装置αで識別される中継装置７０Ａのサポート範囲であり、地域Ｂに設置されたクライアント装置は中継装置βで識別される中継装置７０のサポート範囲であることを示している。
【００６８】
［中継装置７０］
中継装置７０は、図５（Ａ）に示されるように、表示部７３と、操作部７４と、通信部７５と、ＣＰＵ８１と、記憶部８２と、通信バス８３とを主に備える。中継装置７０に含まれる表示部７３、操作部７４、通信部７５、ＣＰＵ８１、記憶部８２、及び通信バス８３は、複合機１０に含まれる表示部２３、操作部２４、通信部２５、ＣＰＵ３１、記憶部３２、及び通信バス３３と共通するので、再度の説明は省略する。ＣＰＵ８１及び記憶部８２は制御部の一例を構成する。中継装置７０、７０Ａは、認証装置の一例である。中継装置７０、７０Ａの構成は共通するので、以下、中継装置７０について詳述する。
【００６９】
記憶部８２のデータ記憶領域８２Ｂは、図５（Ｂ）に示されるように、当該中継装置７０に割り当てられたサポート範囲情報を記憶している。中継装置７０は、例えば、サポート範囲情報の新規登録或いは変更を、表示部７３及び操作部７４を通じて管理者から受け付けてもよいし、通信部７５を通じて外部装置から受け付けてもよい。そして、中継装置７０は、サポート範囲情報が新規登録或いは変更されたことに応じて、当該サポート範囲情報を通信部７５を通じてサーバ装置５０に送信してもよい。
【００７０】
また、データ記憶領域８２Ｂは、図５（Ｃ）に示されるように、ＰＩＮ（Ｐｅｒｓｏｎａｌ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｎｕｍｂｅｒの略）を記憶している。ＰＩＮを記憶する記憶部８２は、ユーザ識別情報記憶部の一例である。中継装置７０は、例えば以下の手順でデータ記憶領域８２ＢにＰＩＮを記憶させることができる。
【００７１】
まず、中継装置７０は、複合機１０のユーザのユーザＩＤ及びパスワードを対応づけて予め記憶している。また、中継装置７０は、対応するユーザＩＤ及びパスワードを通信部７５を通じて外部装置から受信したことに応じて、ＰＩＮを生成する。ＰＩＮの生成方法は特に限定されないが、例えば、乱数を利用してもよい。さらに、中継装置７０は、生成したＰＩＮを図５（Ｃ）に示されるデータ記憶領域８２Ｂに記憶させると共に、当該ＰＩＮを通信部７５を通じて外部装置に送信する。このとき、複合機１０のユーザは、外部装置にユーザＩＤ及びパスワードを入力して中継装置７０に送信させ、且つ外部装置の表示部に表示されたＰＩＮを確認する。
【００７２】
さらに、データ記憶領域８２Ｂは、図５（Ｄ）に示されるように、複合機１０を一意に識別するデバイスＩＤと、トークン情報とを対応づけて記憶可能である。対応するデバイスＩＤ及びトークン情報は、図９を参照して後述する処理においてデータ記憶領域８２Ｂに記憶される。デバイスＩＤ及びトークン情報を対応づけて記憶する記憶部８２は、クライアント識別情報記憶部の一例である。デバイスＩＤは、クライアント識別情報の一例である。
【００７３】
［通信システム１００の動作］
図６〜図１１を参照して、通信システム１００の動作を説明する。まず、図６は、プログラム記憶領域３２Ａに記憶された対象プログラムの実行可否を、複合機１０がサーバ装置５０に問い合わせる処理のフローチャートである。なお、本実施形態において、ルータ１０２ＡにはグローバルＩＰアドレス”１８．５．３．１１０”が割り当てられているものとする。すなわち、複合機１０は、前述の地域Ｂに設置されているものとする。
【００７４】
まず、複合機１０の制御プログラム３５は、メニュー画面を表示部２３に表示させる（Ｓ１１）。図１０（Ａ）は、メニュー画面の一例である。図１０（Ａ）に示されるメニュー画面は、ＣＯＰＹアイコン、ＳＣＡＮアイコン、及びＷＥＢアイコンを含む。ＣＯＰＹアイコンは、プリンタ部１１及びスキャナ部１２に複写処理を実行させる指示を受け付けるためのアイコンである。ＳＣＡＮアイコンは、スキャナ部１２にスキャン処理を実行させる指示を受け付けるためのアイコンである。ＷＥＢアイコンは、プログラム記憶領域３２Ａに記憶された対象プログラム、特にプログラムＡ−１の実行可否をサーバ装置５０に問い合わせる指示を受け付けるためのアイコンである。
【００７５】
次に、制御プログラム３５は、ＷＥＢアイコンをタップするユーザ操作を操作部２４が受け付けたことに応じて（Ｓ１２：Ｙｅｓ）、通信部２５を通じてサーバ装置５０に問合せ情報を送信する（Ｓ１３）。ステップＳ１３の処理は、問合せ処理の一例である。データ記憶領域３２Ｂには、サーバ装置５０のＵＲＬが予め記憶されていてもよい。そして、制御プログラム３５は、ステップＳ１３において、データ記憶領域３２Ｂに記憶されたＵＲＬで示されるサーバ装置５０に、通信部２５を通じて問合せ情報を送信すればよい。サーバ装置５０のＵＲＬを記憶する記憶部３２はアドレス記憶部の一例であり、当該ＵＲＬはサーバ装置５０の所在を示す所在情報の一例である。
【００７６】
第１情報の一例である問合せ情報は、例えば、プログラム記憶領域３２Ａに記憶された対象プログラムの実行可否をサーバ装置５０に問い合わせるための情報、或いは当該問合せ情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが許可範囲に含まれるか否かを問い合わせる情報である。問合せ情報は、例えば、実行可否の問合せ対象となる対象プログラムを識別する１以上のプログラムＩＤを含む。本実施形態の問合せ情報には、プログラムＡ−１、プログラムＢ−１、プログラムＣ−１のプログラムＩＤが含まれる。
【００７７】
なお、問合せ情報を含むＩＰパケットの送信元ＩＰアドレスには、複合機１０から送出された時点において、ＬＡＮ１０２内において複合機１０に割り当てられたローカルＩＰアドレスが設定されている。そして、問合せ情報を含むＩＰパケットを受信したルータ１０２Ａは、ルータ１０２Ａに割り当てられたグローバルＩＰアドレス”１８．５．３．１１０”を、当該ＩＰパケットの送信元ＩＰアドレスに設定してサーバ装置５０に送信する。一方、複合機１０がインターネット１０１に直接接続されている場合、問合せ情報を含むＩＰパケットの送信元ＩＰアドレスには、複合機１０に割り当てられたグローバルＩＰアドレスが設定される。
【００７８】
サーバ装置５０の制御プログラム６５は、複合機１０によって送信され且つルータ１０２Ａによって中継された問合せ情報を通信部５５を通じて受信したことに応じて（Ｓ１３）、判断処理を実行する（Ｓ１４）。判断処理は、問合せ情報を含むＩＰパケットに設定されたグローバルＩＰアドレス（以下、「対象グローバルＩＰアドレス」と表記する。）が許可範囲に含まれるか否かを判断する処理である。図７（Ａ）を参照して、判断処理の詳細を説明する。
【００７９】
まず、制御プログラム６５は、問合せ情報に含まれるプログラムＩＤのうちの１つに対応づけられた許可範囲情報を、図４（Ａ）に示されるデータ記憶領域６２Ｂから読み出す（Ｓ２１）。次に、制御プログラム６５は、許可範囲情報で示される許可範囲に対象グローバルＩＰアドレスが含まれることに応じて（Ｓ２２：Ｙｅｓ）、当該プログラムＩＤに対応する判断フラグに”ＯＫ”を設定する（Ｓ２３）。すなわち、制御プログラム６５は、対象プログラムの実行が許可される地域に割り当てられたグローバルＩＰアドレスの範囲の中に対象グローバルＩＰアドレスが含まれていれば、判断フラグに“ＯＫ”を設定する。一方、制御プログラム６５は、許可範囲情報で示される許可範囲に対象グローバルＩＰアドレスが含まれていないことに応じて（Ｓ２２：Ｎｏ）、当該プログラムＩＤに対応する判断フラグに”ＮＧ”を設定する（Ｓ２４）。
【００８０】
そして、制御プログラム６５は、問合せ情報に含まれる全てのプログラムＩＤに対する判断が終了するまで（Ｓ２５：Ｎｏ）、ステップＳ２１〜Ｓ２５の処理を繰り返し実行する。ステップＳ２１において許可範囲情報を読み出すキー情報となるプログラムＩＤは、毎回異なる。すなわち、制御プログラム６５は、判断処理において、問合せ情報に含まれる複数のプログラムＩＤそれぞれに対応する許可範囲に前記グローバルＩＰアドレスが含まれるか否かを判断する。本実施形態では、プログラムＡ−１に対応する判断フラグに”ＯＫ”が、プログラムＢ−１に対応する判断フラグに”ＮＧ”が、プログラムＣ−１に対応する判断フラグに”ＯＫ”が設定される。
【００８１】
図６に戻って、制御プログラム６５は、プログラムＡ−１に対応する判断フラグに”ＯＫ”が設定されたことに応じて（Ｓ１５：Ｙｅｓ）、特定処理を実行する（Ｓ１６）。一方、制御プログラム６５は、プログラムＡ−１に対応する判断フラグに”ＮＧ”が設定されたことに応じて（Ｓ１５：Ｎｏ）、ステップＳ１６をスキップする。特定処理は、対象グローバルＩＰアドレスに基づいて、後述する認証要求情報を複合機１０が送信すべき中継装置７０、７０Ａを特定する処理である。図７（Ｂ）を参照して、特定処理の詳細を説明する。
【００８２】
まず、制御プログラム６５は、図４（Ｂ）に示されるサポート範囲情報の１つをデータ記憶領域６２Ｂから読み出す（Ｓ２６）。そして、制御プログラム６５は、サポート範囲情報で示されるサポート範囲に対象グローバルＩＰアドレスが含まれることに応じて（Ｓ２７：Ｙｅｓ）、当該サポート範囲情報に対応づけられた中継装置ＩＤを特定する（Ｓ２８）。一方、制御プログラム６５は、サポート範囲情報で示されるサポート範囲に対象グローバルＩＰアドレスが含まれていないことに応じて（Ｓ２７：Ｎｏ）、ステップＳ２６の処理を再び実行する。なお、ステップＳ２６において読み出されるサポート情報は、毎回異なる。また、本実施形態のステップＳ２８では、中継装置ＩＤ”中継装置β”が特定される。
【００８３】
再び図６に戻って、制御プログラム６５は、通信部５５を通じて複合機１０に回答情報を送信する（Ｓ１７）。第２情報の一例である回答情報は、問合せ情報に対する回答を含む。すなわち、回答情報は、例えば、対象プログラムの実行可否を複合機１０に通知するための情報、或いは問合せ情報を含むＩＰパケットに設定されたグローバルＩＰアドレスが許可範囲に含まれるか否かを複合機１０に通知するための情報である。
【００８４】
回答情報は、例えば、問合せ情報に含まれる各プログラムＩＤに対応する判断フラグと、特定処理で特定された中継装置ＩＤとを含む。または、回答情報は、対象グローバルＩＰアドレスを含むと判断した許可範囲情報に対応するプログラムＩＤを、判断フラグに代えて含んでいてもよい。”ＯＫ”が設定された判断フラグを含む回答情報或いはプログラムＩＤを含む回答情報を送信する処理は、実行許可処理の一例である。また、”ＮＧ”が設定された判断フラグを含む回答情報を送信する処理は、実行不可処理の一例である。さらに、”ＮＧ”が設定された判断フラグを含む回答情報は、第３情報の一例である。
【００８５】
次に、複合機１０の制御プログラム３５は、通信部２５を通じてサーバ装置５０から回答情報を受信したことに応じて（Ｓ１７）、制限解除処理を実行する（Ｓ１８）。制限解除処理は、サーバ装置５０から受信した回答情報に含まれる判断フラグに基づいて、対象プログラム或いは代替プログラムを実行を可能にする処理である。図８を参照して、制限解除処理の詳細を説明する。
【００８６】
まず、制御プログラム３５は、回答情報に含まれる判断フラグに”ＯＫ”が設定されていることに応じて（Ｓ３１：Ｙｅｓ）、当該判断フラグに対応するプログラムＩＤで識別される対象プログラムを実行可能にする（Ｓ３２）。また、制御プログラム３５は、判断フラグに”ＮＧ”が設定されていることに応じて（Ｓ３１：Ｎｏ）、当該判断フラグに対応するプログラムＩＤで識別される対象プログラムに、代替プログラムが対応づけられているか否かを判断する（Ｓ３３）。そして、制御プログラム３５は、代替プログラムが存在することに応じて（Ｓ３３：Ｙｅｓ）、当該代替プログラムを実行可能にする（Ｓ３４）。一方、制御プログラム３５は、代替プログラムが存在しないことに応じて（Ｓ３３：Ｎｏ）、ステップＳ３４をスキップする。
【００８７】
制御プログラム３５は、未処理の判断フラグが存在することに応じて（Ｓ３５：Ｙｅｓ）、ステップＳ３１以降の処理を再び実行する。なお、ステップＳ３１において判断される判断される判断フラグは、毎回異なる。本実施形態では、プログラムＡ−１、プログラムＢ−２、及びプログラムＣ−１が実行可能とされる。そして、制御プログラム３５は、プログラムＡ−１が実行可能となったことに応じて、図９に示される処理を実行する。また、制御プログラム３５は、図１０（Ａ）に示されるメニュー画面のＣＯＰＹボタンをタップするユーザ操作を操作部２４が受け付けたことに応じて、スキャナ部１２にスキャン処理を実行させ、さらにプログラムＢ−２を実行することによってスキャン処理で得られた画像データに対する記録処理をプリンタ部１１に実行させる。また、制御プログラム３５は、外部装置から通信部２５を通じて印刷データを受信したことに応じて、プログラムＢ−２を実行することによって印刷データに対する記録処理をプリンタ部１１に実行させる。さらに、制御プログラム３５は、プログラムＣ−１を実行することによって、複合機１０への電力の供給方法を変更する。
【００８８】
次に、図９は、プログラムＡ−１を実行することによって、回答情報に含まれる中継装置ＩＤで識別される中継装置７０からトークン情報を取得する処理のフローチャートである。複合機１０の制御プログラム３５は、例えば、制限解除処理においてプログラムＡ−１が実行可能とされたことに応じて、図９に示される処理を開始する。
【００８９】
本実施形態におけるトークン情報は、複合機１０と中継装置７０との間でＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｐｒｏｔｏｃｏｌ  Ｏｖｅｒ  Ｂｉｄｉｒｅｃｔｉｏｎａｌ−Ｓｔｒｅａｍｓ  Ｏｖｅｒ  Ｓｙｎｃｈｒｏｎｏｕｓ  ＨＴＴＰの略）によるコネクションを確立するための認証情報である。また、本実施形態において、対象クライアント装置の一例である複合機１０を識別するデバイスＩＤは”ＭＦＣ−Ａ”であり、中継装置７０を識別する中継装置ＩＤは”中継装置β”であるとする。
【００９０】
まず、制御プログラム３５は、実行指示入力画面を表示部２３に表示させる（Ｓ４１）。図１０（Ｂ）は、制限解除処理でプログラムＡ−１が実行可能とされた場合の実行指示入力画面の一例である。一方、図１１（Ａ）は、制限解除処理でプログラムＡ−１が実行不能とされた場合の実行指示入力画面の一例である。ステップＳ４１の処理は、第１表示制御処理の一例である。
【００９１】
図１０（Ｂ）に示される実行指示入力画面は、サービスＸアイコン、サービスＹアイコン、及びＰＩＮ入力アイコンを含む。サービスＸアイコンは、プログラムＸの実行指示を受け付けるためのアイコンである。サービスＹアイコンは、プログラムＹの実行指示を受け付けるためのアイコンである。ＰＩＮ入力アイコンは、プログラムＡ−１の実行指示を受け付けるためのアイコンである。すなわち、サービスＸアイコン及びサービスＹアイコンは第１オブジェクトの一例であり、ＰＩＮ入力アイコンは第２オブジェクトの一例である。
【００９２】
一方、図１１（Ａ）に示される実行指示入力画面は、ＰＩＮ入力アイコンが省略されている点において図１０（Ｂ）に示される実行指示入力画面と相違し、その他の点は図１０（Ｂ）に示される実行指示入力画面と共通する。すなわち、本実施形態において、制限解除処理でプログラムＡ−１を実行可能にするとは、実行指示入力画面にＰＩＮ入力アイコンを表示させることを指す。一方、本実施形態において、制限解除処理でプログラムＡ−１を実行不能にするとは、実行指示入力画面にＰＩＮ入力アイコンを表示させないことを指す。但し、制限解除処理で対象プログラムの制限が解除された場合の具体的な処理内容は、上記の例に限定されない。
【００９３】
次に、制御プログラム３５は、ＰＩＮ入力アイコンをタップするユーザ操作を操作部２４が受け付けたことに応じて（Ｓ４２：Ｙｅｓ）、ＰＩＮ入力画面を表示部２３に表示させる（Ｓ４３）。図１１（Ｂ）は、ＰＩＮ入力画面の一例である。図１１（Ｂ）に示されるＰＩＮ入力画面は、ＰＩＮの入力を受け付けるテキストボックスと、認証要求アイコンと、キャンセルアイコンとを含む。ステップＳ４３の処理は、第２表示制御処理の一例である。また、ステップＳ４１、Ｓ４３の処理は、表示制御処理の一例である。
【００９４】
そして、制御プログラム３５は、認証要求アイコンをタップするユーザ操作を操作部２４が受け付けたことに応じて（Ｓ４４：Ｙｅｓ）、ＰＩＮ入力画面のテキストボックスに入力されたＰＩＮ”１２３４”及び複合機１０を識別するデバイスＩＤ”ＭＦＣ−Ａ”を含む認証要求情報を、通信部２５を通じて中継装置７０に送信する（Ｓ４５）。認証要求情報は、例えば、ＰＩＮ入力画面のテキストボックスに入力されたＰＩＮが中継装置７０に登録されているか否かの認証を要求するための情報である。複合機１０及び中継装置７０の間で送受信される認証要求情報或いは認証要求情報に含まれるＰＩＮは、暗号化されていてもよい。ステップＳ４５の処理は、認証要求処理の一例である。
【００９５】
認証要求情報の送信先は、回答情報に含まれる中継処理ＩＤ”中継装置β”で識別される中継装置７０である。具体的には、制御プログラム３５は、回答情報に含まれる中継装置ＩＤ”中継装置β”に対応づけられたＵＲＬを、図３（Ｃ）に示されるデータ記憶領域３２Ｂから読み出す。そして、制御プログラム３５は、当該ＵＲＬに対するＨＴＴＰリクエストとして、通信部２５を通じて認証要求情報を送信する。
【００９６】
次に、中継装置７０の制御プログラム８５は、通信部７５を通じて複合機１０から認証要求情報を受信したことに応じて（Ｓ４５）、認証処理を実行する（Ｓ４６）。具体的には、制御プログラム８５は、ステップＳ４６において、図５（Ｃ）に示されるデータ記憶領域８２Ｂに、認証要求情報に含まれるＰＩＮが記憶されているか否かを判断する。制御プログラム８５は、認証要求情報に含まれるＰＩＮがデータ記憶領域８２Ｂに記憶されていることに応じて（Ｓ４７：Ｙｅｓ）、トークン情報を生成する（Ｓ４８）。または、制御プログラム８５は、ステップＳ４８において、予め生成してデータ記憶領域８２Ｂに記憶されたトークン情報を読み出してもよい。
【００９７】
そして、制御プログラム８５は、認証要求情報に含まれるデバイスＩＤと、ステップＳ４８で取得したトークン情報とを対応づけて、図５（Ｄ）に示されるデータ記憶領域６２Ｂに記憶させる（Ｓ４９）。ステップＳ４９の処理は、登録処理の一例である。また、制御プログラム８５は、ステップＳ４８で取得したトークン情報を、通信部７５を通じて複合機１０に送信する（Ｓ５０）。複合機１０及び中継装置７０の間で送受信されるトークン情報は、暗号化されていてもよい。ステップＳ５０の処理は、認証情報送信処理の一例である。なお、ステップＳ４９、Ｓ５０の実行順序は、図９の例に限定されない。
【００９８】
次に、複合機１０の制御プログラム３５は、通信部２５を通じて中継装置７０からトークン情報を受信したことに応じて（Ｓ５０）、ステップＳ４５において送信した認証要求情報を送信した中継装置７０の中継装置ＩＤ”中継装置β”と、ステップＳ５０において受信したトークン情報とを対応づけて、図３（Ｄ）に示されるデータ記憶領域３２Ｂに記憶させる（Ｓ５１）。ステップＳ５１の処理は、記憶制御処理の一例である。
【００９９】
そして、制御プログラム３５は、ステップＳ５０で受信したトークン情報を用いて、ＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨに準拠した手順で中継装置７０との間にコネクション（以下、「ＸＭＰＰコネクション」と表記する。）を確立する（Ｓ５２）。ステップＳ５２の処理は、コネクション確立処理の一例である。ＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨは、コネクションを確立した状態をほぼ常時維持するプロトコルである。但し、複合機１０と中継装置７０との間でコネクションを確立させるプロトコルは、ＸＭＰＰ  ｏｖｅｒ  ＢＯＳＨに限定されず、例えば、接続確立型のプロトコル、常時接続型のプロトコル、或いは接続維持型のプロトコルと呼ばれるプロトコルであればよい。
【０１００】
ＸＭＰＰコネクションは、ルータ１０２Ａを経由して中継装置７０から複合機１０へリクエストを送信する（所謂、「サーバプッシュ」を指す。）ためのコネクションである。なお、ＸＭＰＰコネクションは、予め定められた接続維持期間が経過したことによって切断される。そこで、制御プログラム３５は、例えば、接続維持期間より短い再接続期間が経過したことに応じて、中継装置７０との間にＸＭＰＰコネクションを確立する。ＸＭＰＰコネクションは、例えば複合機１０に電源が供給されている間、複合機１０によって維持される。
【０１０１】
ＸＭＰＰコネクションを通じて中継装置７０から複合機１０へ送信される情報は特に限定されないが、不図示の外部サービス提供装置が提供する外部サービスを利用するためのサービス利用情報であってもよい。すなわち、中継装置７０の制御プログラム８５は、通信部７５を通じて外部サービス提供装置からサービス利用情報を受信したことに応じて、当該サービス利用情報をＸＭＰＰコネクションを通じて複合機１０に送信する。当該処理は、中継処理の一例である。
【０１０２】
外部サービス提供装置が提供するサービスの具体例は特に限定されないが、例えば、クラウドプリント処理、スキャンＴｏクラウド処理等が挙げられる。クラウドプリント処理は、外部サービス提供装置に記憶された画像データを複合機１０に受信させ、当該画像データに対する記録処理をプリンタ部１１に実行させる処理である。スキャンＴｏクラウド処理は、スキャナ部１２にスキャン処理を実行させ、当該スキャン処理で生成された画像データを外部サービス提供装置に送信させる処理である。
【０１０３】
一方、制御プログラム８５は、認証要求情報に含まれるＰＩＮがデータ記憶領域８２Ｂに記憶されていないことに応じて（Ｓ４７：Ｎｏ）、通信部７５を通じて複合機１０にエラー情報を送信する（Ｓ５３）。エラー情報は、認証要求情報に含まれるＰＩＮが中継装置７０に登録されていないことを示す情報である。そして、複合機１０の制御プログラム３５は、通信部２５を通じて中継装置７０からエラー情報を受信したことに応じて（Ｓ５３）、不図示のエラー画面を表示部５３に表示させる（Ｓ５４）。エラー画面は、例えば、ＰＩＮ入力画面に入力されたＰＩＮが誤りであることを示すメッセージを含む。
【０１０４】
［本実施形態の作用効果］
グローバルＩＰアドレスは、各地域に所定の範囲が割り当てられている。すなわち、上記の実施形態に係る通信システム１００において、サーバ装置５０は、問合せ情報を含むＩＰパケットに設定されたグローバルＩＰアドレスを参照することによって、当該問合せ情報の送信元である複合機１０が設置された地域を特定することができる。そこで、グローバルＩＰアドレスが許可範囲に含まれるか否かに応じて、対象プログラムの実行可否を判断することによって、設置地域に適した機能が複合機１０において実現される。
【０１０５】
特に、許可範囲に含まれる地域に設置された複合機１０のみにプログラムＡ−１の実行を許可することにより、設置地域の状況に応じて複合機１０を適切に動作させることができる。また、特定処理において、複数の中継装置７０、７０Ａのうちから認証要求情報の送信先を指定することにより、中継装置７０、７０Ａを経由して外部サービスを利用しようとするユーザの人口分布等に応じて、処理不可を適切に分散させることができる。さらに、中継装置７０、７０Ａのサポート範囲を変更可能とし且つ変更されたサポート範囲をサーバ装置５０に通知させることにより、外部サービスの利用可能地域の拡張に柔軟に対応することができる。
【０１０６】
但し、判断処理及び特定処理の詳細は、図７の例に限定されない。例えば、サーバ装置５０の制御プログラム６５は、対象グローバルＩＰアドレスと図４（Ｂ）に示されるサポート範囲情報とを比較することによって、プログラムＡ−１の実行可否及び中継装置７０の特定を同時に行ってもよい。すなわち、制御プログラム６５は、対象グローバルＩＰアドレスをサポート範囲に含まれるサポート範囲情報が存在することに応じて、プログラムＡ−１に対応する判断フラグに”ＯＫ”を設定し、且つ当該サポート範囲情報に対応する中継装置ＩＤを特定してもよい。一方、制御プログラム６５は、対象グローバルＩＰアドレスをサポート範囲に含まれるサポート範囲情報が存在しないことに応じて、プログラムＡ−１に対応する判断フラグに”ＮＧ”を設定してもよい。
【０１０７】
また、各中継装置７０、７０Ａから取得したサポート範囲情報をデータ記憶領域６２Ｂに記憶させておく必要は必ずしもない。例えば、制御プログラム６５は、特定処理において、対象グローバルＩＰアドレスを含むサポート問合せ情報を、通信部５５を通じて各中継装置７０、７０Ａに送信してもよい。また、通信部７５を通じてサーバ装置５０からサポート問合せ情報を受信した中継装置７０、７０Ａの制御プログラム８５は、当該サポート問合せ情報に含まれる対象グローバルＩＰアドレスと、データ記憶領域８２Ｂに記憶されたサポート範囲情報とを比較してもよい。さらに、中継装置７０の制御プログラム８５は、対象グローバルＩＰアドレスがサポート範囲に含まれることに応じて、自装置を識別する中継装置ＩＤを含むサポート通知情報を通信部７５を通じてサーバ装置５０に送信してもよい。そして、サーバ装置５０の制御プログラム６５は、通信部５５を通じて中継装置７０からサポート通知情報を受信したことに応じて、当該サポート通知情報に含まれる中継装置ＩＤを回答情報に含めてもよい。
【０１０８】
また、認証要求情報の送信先の中継装置７０を特定するために回答情報に含められるのは、中継装置ＩＤに限定されず、中継装置７０の所在を示すＵＲＬであってもよい。すなわち、複合機１０の制御プログラム３５は、ステップＳ４５において、回答情報に含まれるＵＲＬに対するＨＴＴＰリクエストとして、通信部２５を通じて認証要求情報を送信してもよい。回答情報に含められるＵＲＬは、認証装置識別情報の他の例である。また、この場合において、図３（Ｃ）に示されるＵＲＬをデータ記憶領域３２Ｂに記憶させておく必要はない。
【０１０９】
さらに、上記の実施形態によれば、問合せ情報に複数のプログラムＩＤを含めておくことにより、複数の対象プログラムそれぞれの実行可否を適切に判断することができる。また、一部の対象プログラムには代替プログラムを対応づけておくことにより、設置地域に適した機能が複合機１０において実現される。但し、各対象プログラムの実行可否を問い合わせるタイミングは、別々であってもよい。例えば、プログラムＡ−１の実行可否の問合せは、上記の実施形態のように、メニュー画面のＷＥＢアイコンがタップされたタイミングで行われてもよい。一方、プログラムＢ−１、Ｃ−１の実行可否の問合せは、複合機１０の初期設定時（例えば、複合機１０が始めてＬＡＮ１０２に接続された時）に行われてもよい。これにより、各対象プログラム及び各代替プログラムの実行可否を適切なタイミングで判断することができる。
【０１１０】
なお、各実施形態の複合機１０、サーバ装置５０、或いは中継装置７０において、記憶部３２、６２、８２のプログラム記憶領域３２Ａ、６２Ａ、８２Ａに記憶された各種プログラムがＣＰＵ３１、６１、８１によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路（ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略）とも言う。）等のハードウェアで実現してもよい。
【０１１１】
さらに、本発明は、複合機１０、サーバ装置５０、或いは中継装置７０として実現できるだけでなく、複合機１０、サーバ装置５０、或いは中継装置７０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを介して複合機１０、サーバ装置５０、或いは中継装置７０に接続可能なサーバ装置に搭載された記憶部を含んでもよい。そして、サーバ装置の記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを介して配信されてもよい。
【符号の説明】
【０１１２】
１０・・・複合機
２３・・・表示部
２４・・・操作部
２５，５５，７５・・・通信部
３１，６１，８１・・・ＣＰＵ
３２，６２，８２・・・記憶部
５０・・・サーバ装置
７０・・・中継装置
１００・・・通信システム
１０１・・・インターネット
１０２，１０３・・・ＬＡＮ
１０２Ａ，１０３Ａ・・・ルータ
【図１】
0006364999.tif 000002
【図２】
0006364999.tif 000003
【図３】
0006364999.tif 000004
【図４】
0006364999.tif 000005
【図５】
0006364999.tif 000006
【図６】
0006364999.tif 000007
【図７】
0006364999.tif 000008
【図８】
0006364999.tif 000009
【図９】
0006364999.tif 000010
【図１０】
0006364999.tif 000011
【図１１】
0006364999.tif 000012