(57)【要約】【課題】適切な順番で複数の指示コマンドをデバイスに入力することができる手段を提供する。【解決手段】プログラムは、インターネットに接続された外部仲介装置１２によって実行される第１プログラム２４と、ローカルネットワークに接続された内部仲介装置１３によって実行される内部仲介装置１３とを備える。第１プログラム２４は、管理サーバ１１から入力された複数の第３指示コマンドに応じた複数の第１指示コマンドを生成するとともに、生成した複数の第１指示コマンドの送信順位をそれぞれ決定する（Ｓ７４、Ｓ７６、Ｓ７７）。第１プログラム２４は、決定した送信順位に基づいて、生成した複数の第１指示コマンドの送信順を決定する（Ｓ７８）。第１プログラム２４は、決定した送信順にしたがって、第１指示コマンドを内部仲介装置１３に送信する。【選択図】図７
2019185514.tif 000002
【特許請求の範囲】
【請求項１】
第１プログラムと、第２プログラムとからなるプログラムであって、前記第１プログラムは、インターネットと接続された情報処理装置が有する第１コンピュータによって実行され、前記第２プログラムは、ローカルネットワークと接続された仲介装置が有する第２コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
前記第１プログラムは、
前記仲介装置を識別する仲介装置ＩＤと、当該仲介装置が前記ローカルネットワークを通じて通信可能な前記デバイスを識別するデバイスＩＤとを対応付ける対応データベースを前記情報処理装置が備えるメモリに記憶させる記憶手段と、
前記デバイスを示すデバイス情報及び当該デバイスへの指示をそれぞれ含む複数の指示情報を取得する取得手段と、
前記取得手段で取得した前記デバイス情報から前記デバイスＩＤを特定し、特定した当該デバイスＩＤと前記対応データベースとを用いて、前記仲介装置ＩＤを特定する特定手段と、
前記特定手段が特定した前記仲介装置ＩＤを有する前記仲介装置によるセットアップにしたがって、前記指示情報が示す指示と、前記特定手段が特定したデバイスＩＤとを含む第１指示コマンドを生成する第１生成手段と、
前記第１生成手段が生成した前記第１指示コマンドを前記ファイアウォールを通じて、前記特定手段が特定した前記仲介装置ＩＤを有する仲介装置に送信する第１送信手段と、
前記第１指示コマンドに対する応答を、前記ファイアウォールを通じて受信する応答受信手段として前記第１コンピュータを機能させ、
前記第２プログラムは、
前記第１プログラムが送信する情報を前記ファイアウォールを通じて受信することを可能とするための前記セットアップを行うセットアップ手段と、
前記第１送信手段が送信した前記第１指示コマンドを、前記ファイアウォールを通じて受信する第１受信手段と、
前記第１受信手段で受信した前記第１指示コマンドに含まれる前記指示を含む第２指示コマンドを生成する第２生成手段と、
前記第２生成手段が生成した前記第２指示コマンドを当該第１指示コマンドに含まれる前記デバイスＩＤが示す前記デバイスに、前記ローカルネットワークを通じて送信する第２送信手段と、
前記第２指示コマンドに対する応答を、前記ファイアウォールを通じて前記情報処理装置に送信する第１応答手段として前記第２コンピュータを機能させ、
該プログラムは、
前記第２生成手段が生成した複数の前記第２指示コマンドの送信順を決定する送信順決定手段として前記第１コンピュータと前記第２コンピュータとの一方を機能させ、
前記送信順決定手段は、前記第１生成手段が生成した前記第１指示コマンドの特性、または、前記第２生成手段が生成した前記第２指示コマンドの特性に基づいて、前記送信順を決定し、
前記第２送信手段は、前記送信順決定手段が決定した前記送信順が上位である前記第２指示コマンドを、前記送信順が下位である前記第２指示コマンドよりも先に送信するプログラム。
【請求項２】
前記第１プログラムは、前記第１生成手段が生成した前記第１指示コマンドの特性に基づいて前記送信順を決定する前記送信順決定手段として、前記第１コンピュータを機能させ、
前記第１送信手段は、前記送信順決定手段が決定した前記送信順を示す態様で、前記第１指示コマンドを前記仲介装置に送信し、
前記第２送信手段は、前記第１指示コマンドの態様にしたがって、前記送信順決定手段が決定した前記送信順が上位である前記第２指示コマンドを、前記送信順が下位である前記第２指示コマンドよりも先に送信する請求項１に記載のプログラム。
【請求項３】
前記第１生成手段は、
前記取得手段が取得した前記指示情報に、前記デバイスにインストールされたデバイスプログラムのバージョン変更を示すバージョン変更情報が含まれていることに応じて、前記デバイスプログラムのバージョン変更を指示する特性である前記第１指示コマンドを生成し、
前記取得手段が取得した前記指示情報に、前記デバイスの設定情報の変更を示す設定変更情報が含まれていることに応じて、前記デバイスの設定情報の変更を示す前記第１指示コマンドを生成し、
前記送信順決定手段は、前記デバイスプログラムのバージョン変更を指示する前記第１指示コマンドに基づいて生成される前記第２指示コマンドの送信順を、前記設定情報の変更を指示する前記第１指示コマンドに基づいて生成される前記第２指示コマンドの送信順よりも上位にする請求項１または２に記載のプログラム。
【請求項４】
前記第１生成手段は、
前記取得手段が取得した前記指示情報に、前記デバイスの設定情報の変更を示す設定変更情報が含まれていることに応じて、前記デバイスの設定情報の変更を示す前記第１指示コマンドを生成し、前記デバイスの設定情報の変更には、前記デバイスの再起動を伴わない第１変更と、前記デバイスの再起動を伴う第２変更とが含まれ、
前記送信順決定手段は、
前記第１変更を示す第１指示コマンドに基づいて生成される前記第２指示コマンドの送信順を、前記第２変更を示す前記第１指示コマンドに基づいて生成される前記第２指示コマンドの送信順よりも上位にする請求項１から３のいずれかに記載のプログラム。
【請求項５】
前記第１送信手段は、前記送信順決定手段が決定した送信順にしたがって、生成した複数の前記第１指示コマンドのうち、送信順が上位の第１指示コマンドを前記ファイアウォールを通じて送信し、送信した当該第１指示コマンドを受信したことを示す第１指示コマンド受信通知を前記ファイアウォールを通じて受信した後、送信順が下位の第１指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信し、
前記第２プログラムの前記第２送信手段は、前記第１指示コマンドを受信した順番で前記第２指示コマンドを生成し、生成した順番で前記第２指示コマンドを前記ローカルネットワークを通じて前記デバイスに送信する請求項２に記載のプログラム。
【請求項６】
前記第１送信手段は、生成した複数の前記第１指示コマンドに、前記送信順決定手段が決定した送信順を示す送信順情報を含めて、前記ファイアウォールを通じて前記仲介装置に送信順に送信し、
前記第２送信手段は、複数の前記第１指示コマンドに基づいて生成される複数の前記第２指示コマンドを、前記第１指示コマンドに含まれる前記送信順情報が示す送信順にしたがって、前記ローカルネットワークを通じて前記デバイスに送信する請求項２に記載のプログラム。
【請求項７】
前記第１送信手段は、生成した複数の前記第１指示コマンドを前記送信順決定手段が決定した前記送信順を示す態様で含むパッケージデータを生成し、生成したパッケージデータを前記ファイアウォールを通じて前記仲介装置に送信し、
前記第２送信手段は、前記パッケージデータの態様が示す送信順にしたがって、当該送信順が上位である前記第２指示コマンドを、前記送信順が下位である前記第２指示コマンドよりも先に送信する請求項２に記載のプログラム。
【請求項８】
前記送信順決定手段は、
送信順を決定した後、前記取得手段で新たな前記指示情報を取得した場合、取得した新たな前記指示情報に基づいて生成した新たな第１指示コマンドの特性、または、当該新たな第１指示コマンドに基づいて生成された新たな第２指示コマンドの特性に基づいて、当該新たな第２指示コマンドと、未送信の前記第２指示コマンドとについて、送信順を再決定する請求項１から７のいずれかに記載のプログラム。
【請求項９】
前記第１プログラムは、
前記対応データベースによって前記仲介装置ＩＤと対応付けられた前記デバイスＩＤを登録することを指示する登録指示を、前記インターネットを通じて管理サーバへ要求する登録要求手段と、
前記登録要求手段による要求の後に、当該要求の要求先である前記管理サーバから、前記デバイスＩＤ及び前記指示情報を含む第３指示コマンドを前記インターネットを通じて受信して取得する前記取得手段と、
前記応答受信手段が受信した応答を、前記インターネットを通じて前記管理サーバに送信する第２応答手段として前記第１コンピュータを機能させる請求項１から８のいずれかに記載のプログラム。
【請求項１０】
ファイアウォールを通じて相互に通信する情報処理装置及び仲介装置と、
ローカルネットワークを通じて前記仲介装置と相互に通信するデバイスと、を備えた通信システムであって、
前記情報処理装置は、第１コントローラ及びメモリを有しており、
前記仲介装置は、第２コントローラを有しており、
前記第１コントローラは、
前記仲介装置を識別する仲介装置ＩＤと、当該仲介装置が前記ローカルネットワークを通じて通信可能な前記デバイスを識別するデバイスＩＤとを対応付ける対応データベースを前記情報処理装置が備えるメモリに記憶させる記憶処理と、
前記デバイスを示すデバイス情報及び当該デバイスへの指示をそれぞれ含む複数の指示情報を取得する取得処理と、
前記取得処理で取得した前記デバイス情報から前記デバイスＩＤを特定し、特定した当該デバイスＩＤと前記対応データベースとを用いて、前記仲介装置ＩＤを特定する特定処理と、
前記特定処理が特定した前記仲介装置ＩＤを有する前記仲介装置によるセットアップにしたがって、前記指示情報が示す指示と、前記特定処理が特定したデバイスＩＤとを含む第１指示コマンドを生成する第１生成処理と、
前記第１生成処理が生成した前記第１指示コマンドを前記ファイアウォールを通じて、前記特定処理が特定した前記仲介装置ＩＤを有する仲介装置に送信する第１送信処理と、
前記第１指示コマンドに対する応答を、前記ファイアウォールを通じて受信する応答受信処理とを実行し、
前記第２コントローラは、
前記第１プログラムが送信する情報を前記ファイアウォールを通じて受信することを可能とするための前記セットアップを行うセットアップ処理と、
前記第１送信処理が送信した前記第１指示コマンドを、前記ファイアウォールを通じて受信する第１受信処理と、
前記第１受信処理で受信した前記第１指示コマンドに含まれる前記指示を含む第２指示コマンドを生成する第２生成処理と、
前記第２生成処理が生成した前記第２指示コマンドを当該第１指示コマンドに含まれる前記デバイスＩＤが示す前記デバイスに、前記ローカルネットワークを通じて送信する第２送信処理と、
前記第２指示コマンドに対する応答を、前記ファイアウォールを通じて前記情報処理装置に送信する応答処理とを実行し、
前記第１コントローラと前記第２コントローラとの一方は、
前記第２生成処理が生成した複数の前記第２指示コマンドの送信順を決定する送信順決定処理を実行し、
前記送信順決定処理は、前記第１生成処理が生成した前記第１指示コマンドの特性、または、前記第２生成処理が生成した前記第２指示コマンドの特性に基づいて、前記送信順を決定し、
前記第２送信処理は、前記送信順決定処理が決定した前記送信順が上位である前記第２指示コマンドを、前記送信順が下位である前記第２指示コマンドよりも先に送信する通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスの管理を行うプログラム、及び通信システムに関する。
【背景技術】
【０００２】
インターネット上の管理サーバが、携帯電話やタブレットなどのモバイルデバイスと通信を行って、モバイルデバイスの管理を行うモバイルデバイス管理（略して、ＭＤＭ）システムが知られている（例えば、特許文献１参照）。モバイルデバイスは、例えば、携帯電話やタブレットやノート型のパーソナルコンピュータなど、インターネットに直接接続して管理サーバと通信可能な端末である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１７−５３６５９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、管理サーバと直接通信を行わないデバイスを、モバイルデバイス管理システムを利用して管理することについて、十分な開示がされていない。
【０００５】
本発明は、前記の事情に鑑みてなされたものであり、その目的は、管理サーバと直接通信を行わないデバイスの管理を行う手段を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の一例であるプログラムは、第１プログラムと、第２プログラムとからなる。前記第１プログラムは、インターネットと接続された情報処理装置が有する第１コンピュータによって実行される。前記第２プログラムは、ローカルネットワークと接続された仲介装置が有する第２コンピュータによって実行される。前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置である。前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置である。前記第１プログラムは、前記仲介装置を識別する仲介装置ＩＤと、当該仲介装置が前記ローカルネットワークを通じて通信可能な前記デバイスを識別するデバイスＩＤとを対応付ける対応データベースを前記情報処理装置が備えるメモリに記憶させる記憶手段と、前記デバイスを示すデバイス情報及び当該デバイスへの指示をそれぞれ含む複数の指示情報を取得する取得手段と、前記取得手段で取得した前記デバイス情報から前記デバイスＩＤを特定し、特定した当該デバイスＩＤと前記対応データベースとを用いて、前記仲介装置ＩＤを特定する特定手段と、前記特定手段が特定した前記仲介装置ＩＤを有する前記仲介装置によるセットアップにしたがって、前記指示情報が示す指示と、前記特定手段が特定したデバイスＩＤとを含む第１指示コマンドを生成する第１生成手段と、前記第１生成手段が生成した前記第１指示コマンドを前記ファイアウォールを通じて、前記特定手段が特定した前記仲介装置ＩＤを有する仲介装置に送信する第１送信手段と、前記第１指示コマンドに対する応答を、前記ファイアウォールを通じて受信する応答受信手段として前記第１コンピュータを機能させる。前記第２プログラムは、前記第１プログラムが送信する情報を前記ファイアウォールを通じて受信することを可能とするための前記セットアップを行うセットアップ手段と、前記第１送信手段が送信した前記第１指示コマンドを、前記ファイアウォールを通じて受信する第１受信手段と、前記第１受信手段で受信した前記第１指示コマンドに含まれる前記指示を含む第２指示コマンドを生成する第２生成手段と、前記第２生成手段が生成した前記第２指示コマンドを当該第１指示コマンドに含まれる前記デバイスＩＤが示す前記デバイスに、前記ローカルネットワークを通じて送信する第２送信手段と、前記第２指示コマンドに対する応答を、前記ファイアウォールを通じて前記情報処理装置に送信する第１応答手段として前記第２コンピュータを機能させる。該プログラムは、前記第２生成手段が生成した複数の前記第２指示コマンドの送信順を決定する送信順決定手段として前記第１コンピュータと前記第２コンピュータとの一方を機能させる。前記送信順決定手段は、前記第１生成手段が生成した前記第１指示コマンドの特性、または、前記第２生成手段が生成した前記第２指示コマンドの特性に基づいて、前記送信順を決定する。前記第２送信手段は、前記送信順決定手段が決定した前記送信順が上位である前記第２指示コマンドを、前記送信順が下位である前記第２指示コマンドよりも先に送信する。
【０００７】
上記構成によれば、情報処理装置に入力された指示を、仲介装置を介してデバイスに入力することができる。その結果、情報処理装置と直接通信を行わないデバイスの管理を行うことができる。また、デバイスに送信される複数の第２指示コマンドの送信順をプログラムが決定するので、適切な順番で複数の第２指示コマンドをデバイスに入力することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態に係る管理システム１０の模式的な構成図である。
【図２】図２は、対応データベースを示す図である。
【図３】図３は、デバイスＩＤ及びＧＵＩＤを管理サーバ１１に登録する際の管理サーバ１１、外部仲介装置１２、内部仲介装置１３、及びプリンタ１４の処理を示す図である。
【図４】図４は、管理サーバ１１からの指示をプリンタ１４に実行させる際の管理サーバ１１、外部仲介装置１２、内部仲介装置１３、及びプリンタ１４の処理の一部を示す図である。
【図５】図５は、図４の処理の続きを示す図である。
【図６】図６は、図５の処理の続きを示す図である。
【図７】図７は、送信順決定処理のフローチャートである。
【図８】図８は、変形例４における管理サーバ１１、外部仲介装置１２、内部仲介装置１３、及びプリンタ１４の処理を示す図である。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１０】
本実施形態では、図１に示される管理システム１０を説明する。管理システム１０は、いわゆるモバイルデバイス管理システムを利用してプリンタ１４の管理を行うシステムである。プリンタ１４の管理者は、ブラウザを用いて管理サーバ１１に記憶されたプリンタ１４の管理情報を閲覧し、或いは、管理サーバ１１を通じて、プリンタ１４に対して設定情報の変更等の指示を行う。
【００１１】
管理システム１０は、管理サーバ１１と直接通信を行う機能を有さないプリンタ１４を管理サーバ１１で管理できるように、外部仲介装置１２及び内部仲介装置１３を備える。外部仲介装置１２は、情報処理装置の一例である。内部仲介装置１３は、仲介装置の一例である。プリンタ１４は、デバイスの一例である。
【００１２】
管理システム１０は、インターネット１５に接続された管理サーバ１１及び外部仲介装置１２と、ローカルネットワーク１６に接続された内部仲介装置１３及びプリンタ１４と、を備える。管理システム１０は、通信システムの一例である。
【００１３】
管理サーバ１１は、例えば、モバイルデバイスを管理するサービスを提供する会社が有するサーバである。外部仲介装置１２は、例えば、モバイルデバイスを管理するサービスの提供を受ける会社が有するサーバである。内部仲介装置１３は、例えば、モバイルデバイスを管理するサービスの提供を受ける会社の各支店に設置されたサーバやパーソナルコンピュータである。例えば、支店ごとにローカルネットワーク１６が構築される。各支店は、一乃至複数のプリンタ１４をそれぞれ有する。各支店のプリンタ１４は、各支店のローカルネットワーク１６にそれぞれ接続される。
【００１４】
図示例では、３つのローカルネットワーク１６が構築され、各ローカルネットワーク１６に、２乃至３台のプリンタ１４が接続されている。但し、管理システム１０が有するローカルネットワーク１６の数や、各ローカルネットワーク１６にそれぞれ接続されるプリンタ１４の台数は、図示例に限られない。
【００１５】
管理サーバ１１と外部仲介装置１２とは、インターネット１５を通じて相互に通信することができる。具体的には、管理サーバ１１及び外部仲介装置１２は、グローバルＩＰアドレスをそれぞれ有しており、グローバルＩＰアドレスを用いたインターネットプロトコルを用いて相互に通信する。
【００１６】
ローカルネットワーク１６は、いわゆるイントラネットであり、例えば、有線ＬＡＮ、無線ＬＡＮ、ＷＡＮ、或いはこれらの組み合わせである。ローカルネットワーク１６に接続された内部仲介装置１３とプリンタ１４とは、ＴＣＰ／ＩＰなどの通信プロトコルを用いて相互に通信可能である。具体的には、内部仲介装置１３とプリンタ１４とは、プライベートＩＰアドレスやＭＡＣアドレスを用いて相互に通信する。
【００１７】
ローカルネットワーク１６は、ルータなどの不図示のゲートウェイ装置を有している。ゲートウェイ装置は、グローバルＩＰアドレスを有しており、インターネット１５と接続されている。ローカルネットワーク１６に接続された内部仲介装置１３は、ゲートウェイ装置を介して外部仲介装置１２と通信を行う。具体的には、内部仲介装置１３と外部仲介装置１２とは、ゲートウェイ装置が構築するファイアウォールを通じて相互に通信を行う。
【００１８】
管理システム１０では、管理サーバ１１と直接通信を行う機能を有さないプリンタ１４の管理サーバ１１による管理が、第１プログラム２４がインストールされた外部仲介装置１２及び第２プログラム３４がインストールされた内部仲介装置１３によって実現される。以下、外部仲介装置１２、内部仲介装置１３、及びプリンタ１４の構成について、詳しく説明する。第１プログラム２４及び第２プログラム３４は、プログラムの一例である。
【００１９】
外部仲介装置１２は、ＣＰＵ２１と、メモリ２２と、通信インタフェース２５（以下、通信Ｉ／Ｆ２５と記載する）と、ユーザＩ／Ｆ２６と、通信バス２７とを備える。ＣＰＵ２１、メモリ２２、通信Ｉ／Ｆ２５、及びユーザＩ／Ｆ２６は、通信バス２７と接続されている。ＣＰＵ２１は、第１コンピュータの一例である。ＣＰＵ２１及びメモリ２２は、第１コントローラの一例である。
【００２０】
メモリ２２は、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ２１が備えるバッファ等である。メモリ２２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する内部仲介装置１３のメモリ３２、及びプリンタ１４のメモリ４２についても同様である。
【００２１】
メモリ２２は、プログラム記憶領域２８及びデータ記憶領域２９を有している。プログラム記憶領域２８は、ＯＳ２３や第１プログラム２４等のプログラムを記憶している。
【００２２】
ＯＳ２３は、外部仲介装置１２の基本プログラムである。ＯＳ２３は、例えば、ＭａｃＯＳ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）ＯＳ等のオペレーティングシステムである。
【００２３】
第１プログラム２４は、ＯＳ２３と協働して、通信Ｉ／Ｆ２５を通じた管理サーバ１１及び内部仲介装置１３との通信を制御するプログラムである。第１プログラム２４は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。第１プログラム２４が実行する処理については後述する。
【００２４】
データ記憶領域２９は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域２９は、図２に示される対応データベースを記憶する。
【００２５】
対応データベースは、複数の項目と、複数のレコードとを有する。複数の項目は、項目「デバイスＩＤ」、「ＧＵＩＤ」、「ロケーション情報」、「ファームバージョン」、「設定情報」、「更新日時」、「状態情報」を有する。なお、対応データベースは、前述の項目以外の項目を有していてもよい。
【００２６】
項目「デバイスＩＤ」は、プリンタ１４に付与された識別情報である。デバイスＩＤは、例えば、プリンタ１４のＭＡＣアドレスやＩＰアドレスやシリアル番号などである。各レコードは、デバイスＩＤによって区別される。すなわち、一のプリンタ１４に対して一のレコードが生成される。
【００２７】
項目「ＧＵＩＤ」は、デバイスＩＤで特定されるプリンタ１４が属する内部仲介装置１３を示す。プリンタ１４が属する内部仲介装置１３とは、プリンタ１４が接続されるローカルネットワーク１６と接続された内部仲介装置１３を意味する。項目「ＧＵＩＤ」は、第２プログラム３４に対して付与された識別情報である。なお、一の内部仲介装置１３に対して一の第２プログラム３４がインストールされる。したがって、ＧＵＩＤは、内部仲介装置１３に対して付与されているとも言える。ＧＵＩＤは、仲介装置ＩＤの一例である。なお、ＧＵＩＤは、数字や文字、その他、内部仲介装置１３を識別可能なものであれば、どのようなものがＧＵＩＤとして用いられてもよい。デバイスＩＤについても同様である。
【００２８】
項目「ロケーション情報」は、項目「ＧＵＩＤ」で示される内部仲介装置１３が属するローカルネットワーク１６を示す。項目「ロケーション情報」は、例えば、支店名や、支部名などである。
【００２９】
項目「ファームバージョン」は、プリンタ１４にインストールされている後述の制御プログラム４４のバージョンを示す。なお、項目「ファームバージョン」の数字が大きい方が、より新しいバージョンである。
【００３０】
項目「設定情報」は、プリンタ１４に設定されているパラメータを示す。項目「設定情報」は、項目「フォント」、項目「フォントサイズ」、項目「濃度」などの複数の細分化された項目を有する。項目「フォント」は、プリンタ１４が印刷する文字のフォントを意味する。項目「フォントサイズ」は、プリンタ１４が印刷する文字のサイズを意味する。項目「濃度」は、プリンタ１４が印刷する文字や図形のインクの濃度を意味する。項目「設定情報」は、前記の項目に加え、自動電源オフ機能が有効か無効かを示す項目や、印刷速度を示す項目や、通信の設定パラメータを示す項目などの他の項目を有していてもよい。
【００３１】
項目「更新日時」は、レコードにおける各項目が示す内容が変更された日時を示す。
【００３２】
項目「状態情報」は、各レコードのプリンタ１４が、管理システム１０による管理の対象であるか否かを示す。「管理中」は、管理システム１０による管理の対象であることを意味する。「待機中」は、管理システム１０による管理の対象でないことを意味する。
【００３３】
図１に示される外部仲介装置１２の通信Ｉ／Ｆ２５は、管理サーバ１１及び内部仲介装置１３と通信可能なインタフェースである。通信Ｉ／Ｆ２５は、ＬＡＮ  Ｉ／Ｆや無線ＬＡＮ  Ｉ／Ｆである。外部仲介装置１２と内部仲介装置１３とは、通信Ｉ／Ｆ２５、インターネット１５、ファイアウォール、ローカルネットワーク１６、通信Ｉ／Ｆ３５を通じて通信する。
【００３４】
ユーザＩ／Ｆ２６は、キーボードやマウスなどである。ユーザＩ／Ｆ２６は、管理者による入力を受け付ける。
【００３５】
内部仲介装置１３は、ＣＰＵ３１と、メモリ３２と、通信Ｉ／Ｆ３５と、ユーザＩ／Ｆ３６と、通信バス３７とを備える。ＣＰＵ３１、メモリ３２、通信Ｉ／Ｆ３５、ユーザＩ／Ｆ３６、及び通信バス３７の構成は、ＣＰＵ２１、メモリ２２、ユーザＩ／Ｆ２６、及び通信バス２７の構成と同様である。ＣＰＵ３１は、第２コンピュータの一例である。ＣＰＵ３１及びメモリ３２は、第２コントローラの一例である。
【００３６】
メモリ３２は、プログラム記憶領域３８及びデータ記憶領域３９を有している。プログラム記憶領域３８は、ＯＳ３３や第２プログラム３４等のプログラムを記憶している。データ記憶領域３９は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域３９は、後述のＧＵＩＤ（Globally Unique Identifierの略）を記憶する。
【００３７】
ＯＳ３３は、内部仲介装置１３の基本プログラムである。第２プログラム３４は、ＯＳ３３と協働して、通信Ｉ／Ｆ３５を通じた外部仲介装置１２及びプリンタ１４との通信を制御するプログラムである。第２プログラム３４は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。第２プログラム３４が実行する処理については後述する。
【００３８】
通信Ｉ／Ｆ３５は、外部仲介装置１２及びプリンタ１４と通信可能なインタフェースである。通信Ｉ／Ｆ３５は、ＬＡＮ  Ｉ／Ｆや無線ＬＡＮ  Ｉ／Ｆである。
【００３９】
プリンタ１４は、ＣＰＵ４１と、メモリ４２と、通信Ｉ／Ｆ４５と、印刷エンジン５１と、通信バス４７とを備える。ＣＰＵ４１、メモリ４２、通信Ｉ／Ｆ４５、及び通信バス４７の構成は、ＣＰＵ２１、メモリ２２、通信Ｉ／Ｆ２５、及び通信バス２７の構成と同様である。
【００４０】
メモリ４２は、プログラム記憶領域４８及びデータ記憶領域４９を有している。プログラム記憶領域４８は、ＯＳ４３や制御プログラム４４等のプログラムを記憶している。データ記憶領域４９は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域４９は、デバイスＩＤを記憶する。
【００４１】
ＯＳ４３は、プリンタ１４の基本プログラムである。制御プログラム４４は、ＯＳ４３と協働して、印刷エンジン５１に印刷を実行させ、また、通信Ｉ／Ｆ４５を通じた内部仲介装置１３との通信を制御するプログラムである。制御プログラム４４は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。制御プログラム４４が実行する処理については後述する。制御プログラムは、デバイスプログラムの一例である。
【００４２】
通信Ｉ／Ｆ４５は、内部仲介装置１３と通信可能なインタフェースである。通信Ｉ／Ｆ４５は、内部仲介装置１３が送信したコマンドを受信し、当該コマンドに対する応答を内部仲介装置１３に送信する。
【００４３】
本明細書では、基本的に、プログラムに記述された命令に従ったＣＰＵの処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、ＣＰＵの処理を表している。ＣＰＵによる処理は、ＯＳなどのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵが要求することなくデータを受信するという処理も、「ＣＰＵがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００４４】
また、プログラムに記述された命令に従ったＣＰＵの処理を、省略した文言で記載することがある。例えば、「ＣＰＵ２１が行う」「プログラム２４が行う」「外部仲介装置１２が行う」のように記載することがある。ＣＰＵ３１、４１についても同様である。また、通信Ｉ／Ｆ、ユーザＩ／Ｆを通じてプログラムが情報の入出力を行うことを、省略した文言で記載することがある。例えば、「ＣＰＵ２１が受信する」、「プログラム２４が送信する」、「外部仲介装置１２が取得する」のように記載することがある。
【００４５】
また、ＣＰＵによる、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵによる、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであるかを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００４６】
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
【００４７】
また、「データ」及び「情報」は、形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「２つ」であることを示す情報が、あるコンピュータではＡＳＣＩＩコードで”０ｘ３２”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”１０”というバイナリ形式の情報として保持されてもよい。
【００４８】
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
【００４９】
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
【００５０】
以下、図３から図７を参照して、外部仲介装置１２の第１プログラム２４、内部仲介装置１３の第２プログラム３４、及びプリンタ１４の制御プログラム４４が実行する処理について説明する。
【００５１】
まず、プリンタ１４のデバイスＩＤを外部仲介装置１２のメモリ２２に記憶された対応データベースに登録し、管理システム１０の管理を開始する処理について、図３を参照して説明する。
【００５２】
まず、内部仲介装置１３の第２プログラム３４は、プリンタ１４のデバイスＩＤを返信することを要求するコマンドをローカルネットワーク１６にブロードキャストする（Ｓ１１）。内部仲介装置１３の第２プログラム３４は、例えば、第２プログラム３４が初回起動されて第２プログラム３４の初期設定が実行されたことに応じて、担当者が入力した、管理対象とするプリンタ１４を管理システム１０に登録することを指示する登録指示にしたがって、或いは、外部仲介装置１２の第１プログラム２４から送信された登録指示を受信したことに応じて、コマンドをブロードキャストする。登録指示は、すでに稼働している管理システム１０に、プリンタ１４を追加して登録することを示す指示であってもよい。「担当者」とは、例えば、各支店においてプリンタ１４の管理を行う者であって、外部仲介装置１２を操作する管理者とは相違する者である。なお、詳しくは後述するが、外部仲介装置１２は、指示などの情報を、内部仲介装置１３から受信したＨＴＴＰリクエストに対するＨＴＴＰレスポンスに含めて内部仲介装置１３に送信する。
【００５３】
内部仲介装置１３の第２プログラム３４がローカルネットワーク１６にブロードキャストしたコマンドは、同一のローカルネットワーク１６に接続されたプリンタ１４によって受信される（Ｓ１１）。コマンドを受信したプリンタ１４の制御プログラム４４は、自己のデバイスＩＤを含む応答を返信する（Ｓ１２）。
【００５４】
内部仲介装置１３の第２プログラム３４は、プリンタ１４の制御プログラム４４が返信した応答を受信する（Ｓ１２）。次に、第２プログラム３４は、送信指示が入力されたか否かを判断する（Ｓ１３）。例えば、第２プログラム３４は、プリンタ１４のデバイスＩＤを含む応答を受信したことに応じて、受信したデバイスＩＤを内部仲介装置１３のディスプレイに表示させる。担当者は、ディスプレイに表示されたデバイスＩＤが管理対象のプリンタ１４のデバイスＩＤか否かを判断する。担当者は、ディスプレイに表示されたデバイスＩＤが管理対象のプリンタ１４のデバイスＩＤであると判断すると、送信指示を内部仲介装置１３に入力する。一方、担当者は、ディスプレイに表示されたデバイスＩＤが管理対象のプリンタ１４のデバイスＩＤでないと判断すると、当該デバイスＩＤを削除する指示を内部仲介装置１３に入力する。すなわち、内部仲介装置１３において、ブロードキャストによって収集されたデバイスＩＤが、管理システム１０を用いて管理すべき対象のプリンタ１４のデバイスＩＤであるか否かが、各支店の担当者によってそれぞれ確認される。
【００５５】
内部仲介装置１３の第２プログラム３４は、収集したデバイスＩＤを送信すべきでない旨の指示が入力されたと判断すると（Ｓ１３：Ｎｏ）、収集したデバイスＩＤを外部仲介装置１２に送信することなく、処理を終了する。一方、第２プログラム３４は、送信指示が入力されたと判断すると（Ｓ１３：Ｙｅｓ）、収集したデバイスＩＤ及びメモリ３２に記憶された自己のＧＵＩＤを含むＨＴＴＰリクエストを外部仲介装置１２に送信する（Ｓ１４）。なお、複数のデバイスＩＤが収集された場合、各デバイスＩＤが個々に外部仲介装置１２に送信されてもよいし、収集した全てのデバイスＩＤがまとめて外部仲介装置１２に送信されてもよい。
【００５６】
内部仲介装置１３の第２プログラム３４が送信したデバイスＩＤ及びＧＵＩＤを含むＨＴＴＰリクエストは、外部仲介装置１２に受信される（Ｓ１４）。外部仲介装置１２の第１プログラム２４は、デバイスＩＤ及びＧＵＩＤを受信すると、受信したデバイスＩＤが対応データベースに既に登録されているか否かを判断し、登録されていないと判断すると、受信したデバイスＩＤ及びＧＵＩＤを用いて新たなレコードを対応データベースに登録する（Ｓ１５）。Ｓ１５の処理は、記憶手段及び記憶処理の一例である。
【００５７】
フローチャートには示されていないが、外部仲介装置１２の第１プログラム２４は、デバイスＩＤを受信したことを示す応答を含むＨＴＴＰレスポンスを、Ｓ１４で受信したＨＴＴＰリクエストの応答として、内部仲介装置１３に返信する。或いは、外部仲介装置１２の第１プログラム２４は、対応データベースに登録したデバイスＩＤを含むＨＴＴＰレスポンスを、Ｓ１４で受信したＨＴＴＰリクエストの応答として、内部仲介装置１３に返信してもよい。内部仲介装置１３の第２プログラム３４は、対応データベースに登録したデバイスＩＤを含むＨＴＴＰレスポンスを受信したことに応じて、ＨＴＴＰレスポンスに含まれるデバイスＩＤを内部仲介装置１３のメモリ３２に記憶させる。第２プログラム３４は、当該ＨＴＴＰレスポンスを受信したことに応じて、或いは、担当者が入力した指示に応じて、メモリ３２に記憶させたデバイスＩＤを内部仲介装置１３のディスプレイに表示する。担当者は、ディスプレイに表示されたデバイスＩＤにより、対応データベースに登録されたデバイスＩＤを確認することができる。
【００５８】
新たに追加されたレコードにおいては、項目「状態情報」には、初期値の「待機状態」が記憶される。図２の例では、デバイスＩＤ「００９」のプリンタ１４を示すレコードが、新たに追加されたレコードである。「待機状態」であるレコードが示すプリンタ１４は、まだ管理サーバ１１には登録されていない。すなわち、管理システム１０の管理対象とはなっていない、仮の登録状態であると言える。なお、管理対象となったプリンタ１４を示すレコードは、「状態情報」が「待機状態」から「管理状態」に変更されている。
【００５９】
なお、外部仲介装置１２の第１プログラム２４は、受信したデバイスＩＤが既に対応データベースに登録されていると判断すると、受信したデバイスＩＤが対応データベースに登録済みである旨を示す応答を、内部仲介装置１３に返信する。
【００６０】
次に、外部仲介装置１２の第１プログラム２４は、削除指示が入力されたか否かを判断する（Ｓ１６）。削除指示は、例えば、管理者が外部仲介装置１２に入力する指示である。例えば、第１プログラム２４は、レコードを生成して対応データベースに登録したことを外部仲介装置１２のディスプレイに表示させる。ディスプレイを確認した管理者は、対応データベースを外部仲介装置１２のディスプレイに表示させ、「待機状態」のデバイスＩＤが示すプリンタ１４が、管理すべき対象のプリンタ１４であるか否かを判断する。管理者は、管理システム１０によって管理すべき対象でないプリンタ１４のデバイスＩＤを対象に削除指示を入力する。すなわち、対応データベースに登録されるデバイスＩＤが適正か否かは、内部仲介装置１３において各担当者によってそれぞれ確認され、次いで、外部仲介装置１２において管理者によって確認される。なお、第２プログラム３４のＳ１３を省略し、対応データベースに登録されるデバイスＩＤが適正か否かを管理者のみが確認してもよい。すなわち、第２プログラム３４は、受信したデバイスＩＤを、担当者の確認を得ることなく外部仲介装置１２に送信してもよい。
【００６１】
外部仲介装置１２の第１プログラム２４は、削除指示が入力されたと判断すると（Ｓ１６：Ｙｅｓ）、削除指示がされたレコードを対応データベースから削除する（Ｓ１７）。一方、外部仲介装置１２の第１プログラム２４は、削除指示が入力されていないと判断すると、Ｓ１７の処理をスキップする。
【００６２】
次に、外部仲介装置１２の第１プログラム２４は、管理システム１０の管理を開始する管理開始指示が入力されるまで待機する（Ｓ１８：Ｎｏ）。第１プログラム２４は、管理開始指示が入力されたと判断すると（Ｓ１８：Ｙｅｓ）、コマンドを管理サーバ１１に送信する（Ｓ１９）。当該コマンドは、対応データベースに登録されたデバイスＩＤを付帯情報として含む。また、当該コマンドは、付帯するデバイスＩＤを管理対象のプリンタ１４のデバイスＩＤとして登録することを管理サーバ１１に要求するコマンドである。Ｓ１９の処理は、登録要求手段の一例である。Ｓ１９で管理サーバ１１に送信されるコマンドは、登録指示の一例である。
【００６３】
なお、外部仲介装置１２の第１プログラム２４は、Ｓ１８において、管理の開始を拒否する旨の指示の入力を受け付けてもよい。その場合、第１プログラム２４は、Ｓ２２において、管理の開始を拒否する旨の指示が入力されたことを示すＨＴＴＰレスポンスを内部仲介装置１３の第２プログラム３４に送信する。第２プログラム３４は、当該ＨＴＴＰレスポンスを受信したことに応じて、管理の開始を拒否する旨の指示が外部仲介装置１２において入力されたことを示す情報を、内部仲介装置１３のディスプレイに表示させる。担当者は、ディスプレイに表示された情報により、管理の開始を拒否する旨の指示が外部仲介装置１２において入力されたことを確認することができる。
【００６４】
外部仲介装置１２が送信したコマンドは、管理サーバ１１によって受信される（Ｓ１９）。コマンドを受信した管理サーバ１１は、受信したコマンドに含まれるデバイスＩＤを不図示のメモリに記憶する。すなわち、管理サーバ１１は、受信したコマンドに含まれるデバイスＩＤを、管理対象のプリンタ１４のデバイスＩＤとして登録する。その後、管理サーバ１１は、コマンドに含まれるデバイスＩＤを登録した旨を示す応答を、インターネット１５を通じて外部仲介装置１２に返信する（Ｓ２０）。
【００６５】
管理サーバ１１が返信した応答は、外部仲介装置１２によって受信される（Ｓ２０）。外部仲介装置１２の第１プログラム２４は、管理サーバ１１からの応答を受信したことに応じて、管理システム１０の管理を開始する（Ｓ２１）。具体的には、図２に示されるデータベースの項目「状態情報」を、「待機中」から「管理中」に変更し、Ｓ２２を実行する。
【００６６】
次に、外部仲介装置１２の第１プログラム２４は、内部仲介装置１３が定期的に送信するＨＴＴＰリクエストに対するＨＴＴＰレスポンスとして、「管理中」であるデバイスＩＤ、すなわち、管理を開始したプリンタ１４のデバイスＩＤを、内部仲介装置１３に送信する（Ｓ２２）。このとき、Ｓ１７で削除されたデバイスＩＤは、送信されない。
【００６７】
なお、外部仲介装置１２の第１プログラム２４は、Ｓ１４で受信したＨＴＴＰリクエストの応答として、Ｓ２２のＨＴＴＰレスポンスを内部仲介装置１３に送信してもよい。その場合、タイムアウトが生じないように、Ｓ１６及びＳ１７の処理が省略されることが望ましい。
【００６８】
フローチャートには示されていないが、内部仲介装置１３の第２プログラム３４は、管理を開始したデバイスＩＤを受信すると（Ｓ２２）、管理を開始したデバイスＩＤをメモリ３２に記憶する。第２プログラム３４は、管理を開始したデバイスＩＤを受信したことを、内部仲介装置１３のディスプレイに表示させるなどして、担当者に認識させる。担当者は、メモリ３２に記憶されたデバイスＩＤを内部仲介装置１３のディスプレイに表示させ、管理を開始されたプリンタ１４を確認することができる。なお、外部仲介装置１２の管理者は、メモリ２２に記憶された対応データベースを外部仲介装置１２のディスプレイに表示させることにより、管理を開始されたプリンタ１４を確認することができる。また、内部仲介装置１３の担当者及び外部仲介装置１２の管理者は、ブラウザを用いて、管理サーバ１１に記憶されたデータをディスプレイに表示させることにより、管理を開始されたプリンタ１４を確認することもできる。
【００６９】
項目「状態情報」が「管理中」であるレコードのデバイスＩＤを有するプリンタ１４に対して、管理サーバ１１からの指示に応じたコマンドが入力される。すなわち、管理サーバ１１によってプリンタ１４の管理が行われる。図４及び図５を参照して詳しく説明する。なお、管理サーバ１１への指示は、ブラウザを用いて管理者が管理サーバ１１に入力する。
【００７０】
まず、管理サーバ１１は、インターネット１５を通じて、第３指示コマンドを外部仲介装置１２に送信する（Ｓ３１）。第３指示コマンドは、プリンタ１４に実行させる指示に応じた指示を外部仲介装置１２に実行させるコマンドである。第３指示コマンドは、指示を実行させるプリンタ１４を特定するためのデバイスＩＤを付帯情報として含む。
【００７１】
第３指示コマンドは、例えば、設定情報（図２）の「フォント」や「フォントサイズ」や「濃度」などの各項目についてプリンタ１４の設定値を変更する旨の指示や、プリンタ１４の制御プログラム４４のファームバージョン（図２）を変更する旨の指示や、プリンタ１４の現在の設定情報を返信することを要求する指示の実行を外部仲介装置１２に指示するコマンドである。ただし、第３指示コマンドが指示する内容は、上述の例に限られない。第３指示コマンドが指示する内容は、指示情報の一例である。設定情報の設定値を変更する旨の指示は、設定変更情報の一例である。制御プログラム４４のファームバージョンを変更する旨の指示は、バージョン変更情報の一例である。
【００７２】
外部仲介装置１２の第１プログラム２４は、管理サーバ１１が送信した第３指示コマンドを受信する（Ｓ３１）。第３指示コマンドを受信するＳ３１の処理は、取得手段及び取得処理の一例である。
【００７３】
外部仲介装置１２の第１プログラム２４は、第３指示コマンドを受信したことに応じて（Ｓ３１）、第３指示コマンドを受信した旨を示す通知を管理サーバ１１に送信する（Ｓ３２）。
【００７４】
外部仲介装置１２の第１プログラム２４は、第３指示コマンドを受信すると（Ｓ３１）、第３指示コマンドに含まれるデバイスＩＤと対応付けられたＧＵＩＤを、対応データベースから特定する。すなわち、第１プログラム２４は、指示を送信すべきプリンタ１４が属するローカルネットワーク１６上の内部仲介装置１３をＧＵＩＤによって特定する。具体的には、第１プログラム２４は、第３指示コマンドに含まれるデバイスＩＤを有するレコードを対応データベース上で特定し、特定したレコードにおける項目「ＧＵＩＤ」のＧＵＩＤを、対応するＧＵＩＤとして特定する。ＧＵＩＤを取得するＳ３３の処理は、特定手段及び特定処理の一例である。
【００７５】
外部仲介装置１２の第１プログラム２４は、第３指示コマンドを受信するごとに、Ｓ３２、Ｓ３３の処理を実行する。第１プログラム２４は、Ｓ３３で特定したＧＵＩＤが同一である複数の第３指示コマンドに対して、Ｓ３４の送信順決定処理をそれぞれ実行する。例えば、第１プログラム２４は、内部仲介装置１３から定期的に送信されるＨＴＴＰリクエスト（Ｓ３６）を受信するまでの間に入力された複数の第３指示コマンドに対して、送信順決定処理を実行する。或いは、第１プログラム２４は、所定の時間間隔で送信順決定処理を実行する。すなわち、所定の時間間隔の間に入力された複数の第３指示コマンドに対して、送信順決定処理を実行する。Ｓ３４の送信順決定処理は、送信順決定手段及び送信順決定処理の一例である。図７を参照して、送信順決定処理の詳細を説明する。
【００７６】
まず、外部仲介装置１２の第１プログラム２４は、第３指示コマンドが示す指示が、制御プログラム４４のファームバージョンの変更か、設定情報の変更であるかを判断する（Ｓ７１）。第１プログラム２４は、第３指示コマンドが示す指示が、制御プログラム４４のファームバージョンの変更であると判断すると（Ｓ７１：ファームバージョンの変更）、制御プログラム４４の現在のファームバージョンと、第３指示コマンドが示すファームバージョンとが一致するか否かを判断する（Ｓ７２）。具体的には、第１プログラム２４は、第３指示コマンドに含まれるデバイスＩＤを含むレコードを対応データベース（図２）において特定し、特定したレコードにおけるファームバージョンを、制御プログラム４４の現在のファームバージョンとして取得する。第１プログラム２４は、取得したファームバージョンと、第３指示コマンドが示すファームバージョンとが一致するか否かを判断する。
【００７７】
外部仲介装置１２の第１プログラム２４は、制御プログラム４４の現在のファームバージョンと、第３指示コマンドが示すファームバージョンとが一致しないと判断すると（Ｓ７２：Ｎｏ）、第１指示コマンドを生成するとともに、第１指示コマンドの送信順位を送信順位Ａに決定する（Ｓ７４）。第１指示コマンドは、内部仲介装置１３に入力可能なコマンドであって、第３指示コマンドが指示する内容に応じて生成されるコマンドである。第１指示コマンドは、第３指示コマンドに含まれるデバイスＩＤを付帯情報として含む。
【００７８】
図１には示されていないが、外部仲介装置１２のメモリ２２のデータ記憶領域２９は、第１コマンドリストを記憶する。第１コマンドリストは、第３指示コマンドと第１指示コマンドとの対応が示されている。外部仲介装置１２の第１プログラム２４は、Ｓ３１で受信した第３指示コマンドに対応する第１指示コマンドを第１コマンドリストから決定し、決定した第１指示コマンドに、第３指示コマンドに含まれるデバイスＩＤを付帯情報として含ませて、第１指示コマンドを生成する。
【００７９】
また、外部仲介装置１２の第１プログラム２４は、第３指示コマンドが示す指示が、制御プログラム４４のファームバージョンの変更であるため、変更後のファームバージョンの制御プログラム４４のプログラムファイルの送信を管理サーバ１１に要求する。要求を受信した管理サーバ１１は、プログラムファイルを外部仲介装置１２に送信する。第１プログラム２４は、プログラムファイルを受信し、メモリ２２に記憶する。第１プログラム２４は、メモリ２２に記憶したプログラムファイルのダウンロードを内部仲介装置１３の第２プログラム２４に指示する第１指示コマンドを生成する。なお、プログラムファイルについて説明したが、例えば、プリンタ１４に設定変更を指示するテキストが含まれるファイルなども同様である。すなわち、管理サーバ１１にファイルを送信することを要求して、当該ファイルを管理サーバ１１から受信し、受信したファイルをメモリ２２に記憶し、メモリ２２に記憶したファイルをダウンロードすることを指示する第１指示コマンドが生成される。
【００８０】
送信順位Ａは、生成した複数の第１指示コマンドの送信順を決定する情報である。送信順位Ａは、後述の送信順位Ｂよりも上位の送信順であり、送信順位Ｂは、送信順位Ａよりも下位の送信順位である。また、送信順位Ｂは、後述の送信順位Ｃよりも上位の送信順位でり、送信順位Ｃは、送信順位Ｂよりも下位の送信順位である。すなわち、制御プログラム４４のファームバージョンの変更を指示する第１指示コマンドの送信順位は、設定情報の変更を指示する第１指示コマンドの送信順位よりも上位に設定される。
【００８１】
詳しく説明すると、制御プログラム４４、或いは、制御プログラム４４のファームバージョンによっては、ファームバージョンが変更された際に、変更前の設定情報の設定値を引き継がない場合がある。すなわち、制御プログラム４４は、ファームバージョンが変更された場合に、設定情報の設定値を初期値にリセットする場合がある。そうすると、ファームバージョンの変更を、設定情報の変更の後に行うと、変更した設定情報が初期値にリセットされてしまい、管理者の意図とは異なる設定値がプリンタ１４に設定されることになる。制御プログラム４４のファームバージョンの変更を指示する第１指示コマンドの送信順位を、設定情報の変更を指示する第１指示コマンドの送信順位よりも上位にすることにより、変更された設定情報の設定値が、管理者の意図に反してリセットされることを防止することができる。
【００８２】
また、ファームバージョンが変更された制御プログラム４４では設定が可能であり、ファームバージョンが変更される前の制御プログラム４４では設定ができない設定情報がある場合がある。そのような設定情報の変更が指示された場合、制御プログラム４４のファームバージョンを変更した後でなければ、設定情報の変更がプリンタ１４でされず、管理者の意図に沿った設定情報の変更がプリンタ１４で行われないことになる。制御プログラム４４のファームバージョンの変更を指示する第１指示コマンドの送信順位を、設定情報の変更を指示する第１指示コマンドの送信順位よりも上位にすることにより、管理者の意図に沿った設定情報の変更をプリンタ１４に対して行うことができる。
【００８３】
また、同一の設定情報であっても、ファームバージョンが変更される前の制御プログラム４４と、ファームバージョンが変更された後の制御プログラム４４とで、設定値の解釈が異なる場合がある。例えば、濃度を示す設定値が同じ「３」であっても、ファームバージョンが変更されたる前の制御プログラム４４では、３段階の「３」と解釈し、ファームバージョンが変更された後の制御プログラム４４では、５段階の「３」として解釈することがある。そうすると、制御プログラム４４のファームバージョンを変更する前に設定情報を変更すると、管理者の意図に反した設定情報がプリンタ１４に設定されてしまうことになる。制御プログラム４４のファームバージョンの変更を指示する第１指示コマンドの送信順を、設定情報の変更を指示する第１指示コマンドの送信順よりも上位にすることにより、管理者の意図に沿った設定情報の変更をプリンタ１４に対して行うことができる。
【００８４】
Ｓ７２において、外部仲介装置１２の第１プログラム２４は、制御プログラム４４の現在のファームバージョンと、第３指示コマンドが示すファームバージョンとが一致すると判断すると（Ｓ７２：Ｙｅｓ）、第１指示コマンドを生成しないことに決定する（Ｓ７３）。すなわち、制御プログラム４４の現在のファームバージョンと、第３指示コマンドが示すファームバージョンとが一致する場合、制御プログラム４４のファームバージョンを変更する必要がないことから、第１プログラム２４は、制御プログラム４４のファームバージョンの変更を指示する第１指示コマンドを生成しないことに決定する。
【００８５】
一方、外部仲介装置１２の第１プログラム２４は、Ｓ７１において、第３指示コマンドが示す指示が、設定情報の変更であると判断すると（Ｓ７１：設定情報の変更）、プリンタ１４の制御プログラム４４の再起動を伴わない設定情報の変更（以下、第１変更とも記載する）であるか、プリンタ１４の制御プログラム４４の再起動を伴う設定情報の変更（以下、第２変更とも記載する）であるかを判断する（Ｓ７５）。
【００８６】
詳しく説明すると、設定情報の変更は、プリンタ１４の制御プログラム４４の再起動を伴う変更と、制御プログラム４４の再起動を伴わない変更とに大別される。プリンタ１４の制御プログラム４４は、設定情報の所定の項目（図２）を変更したと判断すると、再起動を実行する。プリンタ１４のメモリ４２は、例えば、設定情報の項目と再起動の実行とが対応付けられたテーブルを記憶する。プリンタ１４の制御プログラム４４は、メモリ４２に記憶されたテーブルを用いて、再起動の実行と対応付けられた設定情報か否かを判断し、再起動の実行と対応付けられた設定情報を変更したと判断すると、再起動を実行する。当該テーブルは、外部仲介装置１２のメモリ２２にも記憶される。例えば、図２に示される設定情報の各項目に対応付けて、再起動を伴うか否かを示すフラグが対応データベースに登録される。外部仲介装置１２の第１プログラム２４は、対応データベースを用いて、第３指示コマンドが指示する設定情報の変更が、制御プログラム４４の再起動を伴う第１変更であるか、制御プログラム４４の再起動を伴う第２変更であるかを判断する。
【００８７】
外部仲介装置１２の第１プログラム２４は、第３指示コマンドが示す指示が、プリンタ１４の制御プログラム４４の再起動を伴わない第１変更であると判断すると（Ｓ７５：第１変更）、設定情報の変更を指示する第１指示コマンドを生成し、生成した第１指示コマンドの送信順位を送信順位Ｂに決定する（Ｓ７６）。設定情報の変更を指示する第１指示コマンドの生成は、上述と同様に、第３指示コマンドと第１指示コマンドとの対応が示された第１コマンドリストを用いて行われる。
【００８８】
一方、外部仲介装置１２の第１プログラム２４は、第３指示コマンドが示す指示が、プリンタ１４の制御プログラム４４の再起動を伴う第２変更であると判断すると（Ｓ７５：第２変更）、設定情報の変更を指示する第１指示コマンドを生成し、生成した第１指示コマンドの送信順位を送信順位Ｃに決定する（Ｓ７７）。第１指示コマンドを生成するＳ７４、Ｓ７６、Ｓ７７の処理は、第１生成手段及び第１生成処理の一例である。
【００８９】
プリンタ１４の制御プログラム４４の再起動を伴う設定情報の変更を指示する第１指示コマンドの送信順位を、制御プログラム４４の再起動を伴わない設定情報の変更を指示する第１指示コマンドの送信順位よりも上位にするのは、設定変更に要する時間を短縮するためである。すなわち、設定変更を伴う設定情報の変更をプリンタ１４にまとめて指示することにより、設定変更に伴う制御プログラム４４の再起動の回数を低減することができる。その結果、設定変更に要する時間を短縮することができる。
【００９０】
外部仲介装置１２の第１プログラム２４は、生成した複数の第１指示コマンドについて、決定した送信順位に基づいて、送信順を決定する（Ｓ７８）。具体的には、送信順位Ａの第１指示コマンド、送信順位Ｂの第１指示コマンド、送信順位Ｃの第１指示コマンドの順に送信順を決定する。
【００９１】
外部仲介装置１２の第１プログラム２４は、第１指示コマンドの生成後、内部仲介装置１３からのＨＴＴＰリクエストを受信するまで待機する。
【００９２】
一方、内部仲介装置１３の第２プログラム３４は、図５に示されるように、予めメモリ３２に記憶された送信タイミングになったか否かを判断する（Ｓ３５）。送信タイミングは、例えば、１０秒間隔や１５秒間隔や、２０秒間隔など、数秒間隔から数十秒間隔に設定される。
【００９３】
内部仲介装置１３の第２プログラム３４は、送信タイミングになったと判断すると（Ｓ３５：Ｙｅｓ）、自己のＧＵＩＤを含むＨＴＴＰリクエストを外部仲介装置１２に送信する（Ｓ３６）。外部仲介装置１２は、内部仲介装置１３からのＨＴＴＰリクエストに対するＨＴＴＰレスポンスに第１指示コマンドを含ませることにより、ファイアウォールを通じて第１指示コマンドを内部仲介装置１３に送信することができる。なお、ファイアウォールは、内部仲介装置１３からのＨＴＴＰリクエストに対するＨＴＴＰレスポンス以外は、外部仲介装置１２から内部仲介装置１３への送信を遮断する。そのため、内部仲介装置１３は、定期的にＨＴＴＰリクエストを外部仲介装置１２に送信している。ＨＴＴＰリクエストを定期的に送信するＳ３５及びＳ３６の処理は、セットアップ手段及びセットアップ処理の一例である。
【００９４】
外部仲介装置１２の第１プログラム２４は、内部仲介装置１３が送信したＨＴＴＰリクエストを受信する（Ｓ３６）。第１プログラム２４は、受信したＨＴＴＰリクエストに含まれるＧＵＩＤが、Ｓ３３で決定したＧＵＩＤと一致するか否かを判断する（Ｓ３７）。すなわち、第１プログラム２４は、ＨＴＴＰリクエストを送信した内部仲介装置１３が、Ｓ３４で生成した第１指示コマンドを送信すべき内部仲介装置１３であるか否かを判断する。
【００９５】
外部仲介装置１２の第１プログラム２４は、Ｓ３６で受信したＨＴＴＰリクエストに含まれるＧＵＩＤとＳ３３で決定したＧＵＩＤとが一致しないと判断すると（Ｓ３７：Ｎｏ）、第２指示コマンドを含まないＨＴＴＰレスポンスを送信する（Ｓ３８）。Ｓ３８で送信されるＨＴＴＰレスポンスは、Ｓ３６で送信されたＨＴＴＰリクエストを受信できたことを示す。
【００９６】
一方、外部仲介装置１２の第１プログラム２４は、Ｓ３６で受信したＨＴＴＰリクエストに含まれるＧＵＩＤとＳ３３で決定したＧＵＩＤとが一致すると判断すると（Ｓ３７：Ｙｅｓ）、送信順位Ａの第１指示コマンドを含むＨＴＴＰレスポンスを送信する（Ｓ３９）。第１指示コマンドを含むＨＴＴＰレスポンスを送信するステップＳ３９の処理は、第１送信手段及び第１送信処理の一例である。
【００９７】
内部仲介装置１３の第２プログラム３４は、外部仲介装置１２が送信したＨＴＴＰレスポンスを受信する（Ｓ３８、Ｓ３９）。第２プログラム３４は、受信したＨＴＴＰレスポンスに第１指示コマンドが含まれているか否かを判断する（Ｓ４０）。第２プログラム３４は、受信したＨＴＴＰレスポンスに第１指示コマンドが含まれていないと判断すると（Ｓ４０：Ｎｏ）、定期的なＨＴＴＰリクエストの送信を継続する。第２プログラム３４が第１指示コマンドを含むＨＴＴＰレスポンスを受信するＳ３９の処理は、第１受信手段及び第１受信処理の一例である。
【００９８】
一方、内部仲介装置１３の第２プログラム３４は、受信したＨＴＴＰレスポンスに第１指示コマンドが含まれていると判断すると（Ｓ４０：Ｙｅｓ）、第１指示コマンドを受信したことを示す通知（以下、受信通知とも記載する）を含むＨＴＴＰリクエストを外部仲介装置１２に送信する（Ｓ４１）。すなわち、第２プログラム３４は、第１指示コマンドを受信したことを外部仲介装置１２に通知する。上述のように、外部仲介装置１２の第１プログラム２４は、内部仲介装置１３が送信したＨＴＴＰリクエストのＨＴＴＰレスポンスとして、第１指示コマンドを返信する。したがって、受信通知を受信しなければ、第１指示コマンドに対応する応答（Ｓ６４）を受信するまで、内部仲介装置１３が第１指示コマンドを受信できたか否かを判断することができない。そうすると、第１指示コマンドに対応する応答を受信するまでの時間が、第１指示コマンドを再送信するまでの時間として決められた所定の時間を超え、内部仲介装置１３が第１指示コマンドを受信しているにも拘わらず、外部仲介装置１２が第１指示コマンドを再送してしまうことが生じ得る。内部仲介装置１３の第２プログラム３４は、第１指示コマンドに対応する応答（Ｓ６４）を送信する前に、受信通知を外部仲介装置１２に送信する。したがって、内部仲介装置１３が第１指示コマンドを受信しているにも拘わらず、外部仲介装置１２が第１指示コマンドを再送してしまうことが防止される。
【００９９】
外部仲介装置１２の第１プログラム２４は、受信通知を含むＨＴＴＰリクエストを受信する（Ｓ４１）。フローチャートには示されていないが、第１プログラム２４は、受信通知を含むＨＴＴＰリクエストを所定の時間内に受信しないと判断すると、内部仲介装置１３から定期的に送信されるＨＴＴＰリクエストのＨＴＴＰレスポンスとして、第１指示コマンドを内部仲介装置１３に再送する。また、第１プログラム２４は、受信通知を含むＨＴＴＰリクエストを受信したことに応じて、受信通知を受信したことを示すＨＴＴＰレスポンスを内部仲介装置１３に返信する。
【０１００】
内部仲介装置１３の第２プログラム３４は、Ｓ４１の処理の実行後、プリンタ１４に送信する第２指示コマンドを生成する（Ｓ４２）。第２指示コマンドは、プリンタ１４に入力可能なコマンドであって、第１指示コマンドが示す指示の内容に応じたコマンドである。
【０１０１】
図１には示されていないが、内部仲介装置１３のメモリ３２のデータ記憶領域３９は、第１指示コマンドと第２指示コマンドとの対応が示された第２コマンドリストを記憶する。内部仲介装置１３の第２プログラム３４は、Ｓ３９で受信した第１指示コマンドに対応する第２指示コマンドを第２コマンドリストから決定し、第２指示コマンドを生成する（Ｓ４２）。第２指示コマンドを生成するＳ４２の処理は、第２生成手段及び第２生成処理の一例である。
【０１０２】
また、図４のフローチャートには示されていないが、Ｓ３９で受信した第１指示コマンドが制御プログラム４４のプログラムファイルのダウンロードを示すコマンドであるので、内部仲介装置１３の第２プログラム３４は、プログラムファイルの送信要求を含むＨＴＴＰリクエストを外部仲介装置１２に送信する。当該ＨＴＴＰリクエストを受信した外部仲介装置１２の第１プログラム２４は、ＨＴＴＰリクエストに含まれるコマンドに応じて、プログラムファイルを含むＨＴＴＰレスポンスを内部仲介装置１３に送信する。内部仲介装置１３の第２プログラム３４は、ＨＴＴＰレスポンスに含まれるプログラムファイルを受信する。第２プログラム３４は、受信したプログラムファイル含む第２指示コマンドを生成する。なお、プログラムファイルは、第１指示コマンドに含めて送信されてもよい。この場合、第２プログラム３４から第１プログラム２４へ、プログラムファイルの送信要求は送信されない。
【０１０３】
なお、内部仲介装置１３の第２プログラム３４は、Ｓ３９で受信した第１指示コマンドが示す指示が、設定情報の変更やファームバージョンの変更であるか、設定情報の取得であるかを、第１指示コマンドに付帯された設定情報要求フラグで判断してもよい。例えば、外部仲介装置１２の第１プログラム２４は、Ｓ３１で受信した第３指示コマンドが設定情報を要求する指示である場合、「ＯＮ」に設定された設定情報要求フラグを第１指示コマンドに付帯させる。
【０１０４】
内部仲介装置１３の第２プログラム３４は、第２指示コマンドの生成後、第１指示コマンドに含まれるデバイスＩＤに対して、生成した第２指示コマンドを送信する（Ｓ４３）。内部仲介装置１３の第２プログラム３４が第２指示コマンドをプリンタ１４に送信するＳ４３の処理は、第２送信手段及び第２送信処理の一例である。
【０１０５】
内部仲介装置１３が送信した第２指示コマンドは、プリンタ１４によって受信される（Ｓ４３）。プリンタ１４の制御プログラム４４は、第２指示コマンドが示す指示を実行する（Ｓ４４）。例えば、第２指示コマンドが設定情報（図２）の「フォント」や「フォントサイズ」や「濃度」などの各項目についてプリンタ１４の設定を変更する旨の指示である場合、制御プログラム４４は、「フォント」や「フォントサイズ」や「濃度」などの設定値を、第２指示コマンドに含まれる設定値で変更する。また、第２指示コマンドが、ファームバージョンを更新する旨の指示である場合、制御プログラム４４は、第２指示コマンドに含まれるプログラムファイルで自己を更新する。また、第２指示コマンドが、設定情報を返信することを要求する指示である場合、制御プログラム４４は、設定情報を返信する（Ｓ４５）。なお、Ｓ３９で内部仲介装置１３に送信された第１指示コマンドは、送信順位Ａであるファームバージョンの変更を示す第１指示コマンドであるので、プリンタ１４の制御プログラム４４は、第２指示コマンドに含まれるプログラムファイルで自己を更新する（Ｓ４４）。
【０１０６】
プリンタ１４の制御プログラム４４は、第３指示コマンドが示す指示を実行したことを示す応答を内部仲介装置１３に送信する（Ｓ４５）。プリンタ１４が送信した応答は、内部仲介装置１３によって受信される。
【０１０７】
内部仲介装置１３の第２プログラム３４は、プリンタ１４が送信した応答を受信する（Ｓ４５）。第２プログラム３４は、プリンタ１４から応答を受信したことに応じて、設定情報を返信することを要求するコマンドをプリンタ１４に送信する（Ｓ６１）。設定情報は、設定情報やファームバージョンなどである。なお、Ｓ４３で送信した第２指示コマンドが、プリンタ１４の設定情報を返信することを要求する指示である場合、Ｓ６１、Ｓ６２の処理がスキップされる。
【０１０８】
プリンタ１４の制御プログラム４４は、設定情報を返信することを要求するコマンドを受信すると（Ｓ６１）、設定情報を返信する（Ｓ６２）。プリンタ１４が送信した設定情報は、内部仲介装置１３によって受信される（Ｓ６２）。プリンタ１４が送信する設定情報は、第２指示コマンドが指示する内容をＳ４４でプリンタ１４の制御プログラム４４が実行した後の設定情報である。
【０１０９】
内部仲介装置１３の第２プログラム３４は、設定情報を受信すると、ＨＴＴＰリクエストを定期的に送信する送信タイミングになるまで待機する（Ｓ６３：Ｎｏ）。第２プログラム３４は、送信タイミングになったと判断すると（Ｓ６３：Ｙｅｓ）、Ｓ４４が実行された後の設定情報を含むＨＴＴＰリクエストを、Ｓ３９で受信した第１指示コマンドの応答として、外部仲介装置１２に送信する（Ｓ６４）。具体的には、ファームバージョンが変更された後のプリンタ１４の設定情報を含むＨＴＴＰリクエストが外部仲介装置１２に送信される。内部仲介装置１３の第２プログラム３４が第１指示コマンドの応答を外部仲介装置１２に送信するＳ６４の処理は、第１応答手段及び応答処理の一例である。
【０１１０】
定期的に送信するＨＴＴＰリクエストに設定情報を含ませることにより、定期的に送信するＨＴＴＰリクエストとは別に設定情報を送信する場合に比べ、内部仲介装置１３と外部仲介装置１２との間の通信回数を低減することができる。なお、第２プログラム３４は、定期的に送信するＨＴＴＰリクエストとは別のＨＴＴＰリクエストに、変更後の設定情報を含ませて外部仲介装置１２に送信してもよい。その場合、定期的に送信するＨＴＴＰリクエストに設定情報を含ませる場合よりも、設定情報を迅速に外部仲介装置１２に送信することができる。
【０１１１】
外部仲介装置１２の第１プログラム２４は、第１指示コマンドの応答として設定情報を受信する（Ｓ６４）。第１プログラム２４は、設定情報を受信すると、対応データベース（図２）の設定情報やファームバージョンなどの値を、受信した設定情報で上書きする（Ｓ６５）。外部仲介装置１２の第１プログラム２４が第１指示コマンドの応答を受信するＳ６４の処理は、応答受信手段及び応答受信処理の一例である。
【０１１２】
なお、フローチャートには示されていないが、外部仲介装置１２の第１プログラム２４は、設定情報を含むＨＴＴＰリクエストを受信した後（Ｓ６４）、当該ＨＴＴＰリクエストを受信したことを示す旨を、当該ＨＴＴＰリクエストのＨＴＴＰレスポンスとして、内部仲介装置１３に送信する。
【０１１３】
次に、外部仲介装置１２の第１プログラム２４は、第１指示コマンドが示す指示をプリンタ１４が実行したことと、Ｓ６４で受信した設定情報とを含む設定完了情報を生成し、生成した設定完了情報をＳ３１で受信した第３指示コマンドの応答として、管理サーバ１１に送信する（Ｓ６６）。設定完了情報は、例えば、管理サーバ１１に入力可能なコマンドであって、設定情報を付帯情報として有するコマンドである。設定完了情報を送信するＳ６６の処理は、第２応答手段の一例である。
【０１１４】
なお、外部仲介装置１２の第１プログラム２４は、設定完了情報とは別に、Ｓ６４で受信した設定情報を管理サーバ１１に送信してもよい。すなわち、設定を行った旨と、設定後の設定情報とが、別個に管理サーバ１１に送信されてもよい。
【０１１５】
管理サーバ１１は、設定完了情報をインターネット１５を通じて受信すると（Ｓ６６）、設定完了情報を受信したことを示す受信応答を外部仲介装置１２に送信する（Ｓ６７）。外部仲介装置１２の第１プログラム２４は、管理サーバ１１が送信した受信応答を受信する（Ｓ６５）。
【０１１６】
次に、外部仲介装置１２の第１プログラム２４は、送信順位Ｂの第１指示コマンドを送信する（図５、Ｓ３９）。送信順位Ｂの第１指示コマンドは、プリンタ１４の制御プログラム４４の再起動を伴わないコマンドである。第１指示コマンドを受信した内部仲介装置１３の第２プログラム３４は、上述と同様に、Ｓ４４からＳ６４の処理を実行する。Ｓ６４で第１指示コマンドの応答を受信した外部仲介装置１２の第１プログラム２４は、上述と同様に、Ｓ６５からＳ６７の処理を実行する。
【０１１７】
次に、外部仲介装置１２の第１プログラム２４は、送信順位Ｃの第１指示コマンドを送信する（図５、Ｓ３９）。送信順位Ｃの第１指示コマンドが複数ある場合、第１プログラム２４は、例えば、複数の第１指示コマンドをファイルなどにまとめて内部仲介装置１３に送信する（Ｓ３９）。詳しく説明すると、複数の第１指示コマンドが時間を空けて内部仲介装置１３に順次送信されると、内部仲介装置１３の第２プログラム３４が、複数の第２指示コマンドを生成してプリンタ１４に送信する場合が生じ得る。第２プログラム２４は、まとめて送信された複数の第１指示コマンドに対して、設定情報を変更する一の第２指示コマンドを生成し、プリンタ１４に送信する。或いは、第２プログラム３４は、複数の第１指示コマンドに対して複数の第２指示コマンドを生成し、生成した複数の第２指示コマンドに対して１回の再起動の実行を指示するコマンドを生成し、プリンタ１４に送信してもよい。
【０１１８】
なお、再起動が必要な複数の第１指示コマンドがあることを第２プログラム３４に認識させることができれば、複数の第１指示コマンドをまとめて送信する方法以外の方法が用いられてもよい。例えば、外部仲介装置１２の第１プログラム２４は、複数の第１指示コマンドを送信する前に、送信する第１指示コマンドの数を示す情報を含むＨＴＴＰレスポンスを、定期的に受信するＨＴＴＰリクエストに対する応答として内部仲介装置１３に送信してもよい。
【０１１９】
また、内部仲介装置１３の第２プログラム３４は、再起動を伴う第１指示コマンドだけでなく、再起動を伴わない第１指示コマンドが複数ある場合、複数の第１指示コマンドが示す設定情報の変更に応じた設定情報の変更を指示する一の第２指示コマンドを生成し、プリンタ１４に送信してもよい。
【０１２０】
また、外部仲介装置１２の第１プログラム２４は、プリンタ１４の制御プログラム４４の再起動を伴わない設定情報の変更を指示する複数の第３指示コマンドを受信した場合、複数の第３指示コマンドが示す設定情報の変更に応じた設定情報の変更を指示する一の第１指示コマンドを生成し、生成した一の第１指示コマンドを内部仲介装置１３に送信してもよい。また、第１プログラム２４は、プリンタ１４の制御プログラム４４の再起動を伴う設定情報の変更を指示する複数の第３指示コマンドを受信した場合、複数の第３指示コマンドが示す設定情報の変更に応じた設定情報の変更を指示する一の第１指示コマンドを生成し、生成した一の第１指示コマンドを内部仲介装置１３に送信してもよい。
【０１２１】
第１指示コマンドを受信した内部仲介装置１３の第２プログラム３４は、上述と同様に、Ｓ４４からＳ６４の処理を実行する。Ｓ６４で第１指示コマンドの応答を受信した外部仲介装置１２の第１プログラム２４は、上述と同様に、Ｓ６５からＳ６７の処理を実行する。
【０１２２】
上述のように、内部仲介装置１３の第２プログラム３４がプリンタ１４に送信する複数の第２指示コマンドの送信順は、内部仲介装置１３から入力する複数の第１指示コマンドの送信順に応じた送信順となる。複数の第１指示コマンドの送信順は、第１プログラム２４が実行する送信順決定処理によって決定される。すなわち、第２指示コマンドがプリンタ１４に送信される送信順は、第１プログラム２４が実行する送信順決定処理によって決定される。
【０１２３】
また、上述のように、外部仲介装置１２の第１プログラム２４は、送信順位が上位の第１指示コマンドに対する応答を受信した後で、次に送信順位が上位の第１指示コマンドを外部仲介装置１２に送信する。送信順位が上位の第１指示コマンドに対する応答を外部仲介装置１２が受信した後で、次に送信順位が上位の第１指示コマンドが内部仲介装置１３に送信されることは、第１指示コマンドの送信順位が分かる態様の一例である。
【０１２４】
[作用効果]
本実施形態では、管理サーバ１１からの指示を、外部仲介装置１２の第１プログラム２４及び内部仲介装置１３の第２プログラム３４によって、プリンタ１４に入力する。したがって、インターネット１５に接続する機能を有さないプリンタ１４の管理を管理サーバ１１に行わせることができる。すなわち、インターネット１５に接続する機能を有さないプリンタ１４の管理を、ＭＤＭシステムを利用して行うことができる。
【０１２５】
また、本実施形態では、プリンタ１４に送信される複数の第２指示コマンドの送信順を、外部仲介装置１２の第１プログラム２４が実行する送信順決定処理で決定することができる。したがって、適切な順番で複数の第２指示コマンドをプリンタ１４に入力することができる。
【０１２６】
また、本実施形態では、外部仲介装置１２の第１プログラム２４は、送信順位が上位の第１指示コマンドに対する応答を受信した後で、次に送信順位が上位の第１指示コマンドを外部仲介装置１２に送信する。したがって、内部仲介装置１３の第２プログラム３４は、受信した第１指示プログラムの送信順を判断することなく、適切な送信順位で第２指示コマンドをプリンタ１４に送信することができる。
【０１２７】
また、本実施形態では、プリンタ１４の制御プログラム４４のファームバージョンの変更を指示する第１指示コマンドの送信順位が送信順位Ａとされ、送信順位が送信順位Ｂや送信順位Ｃの他の第１指示コマンドより送信順位が上位にされる。したがって、管理者の意図に沿った設定情報の変更をプリンタ１４に対して行うことができる。
【０１２８】
また、本実施形態では、プリンタ１４の制御プログラム４４の再起動を伴う第１指示コマンドの送信順位が送信順位Ｂにされ、制御プログラム４４の再起動を伴わない第２指示コマンドの送信順位が送信順位Ｃにされる。したがって、制御プログラム４４の再起動を伴う複数の第３指示コマンドが外部仲介装置１２に入力されたとしても、制御プログラム４４の再起動が繰り返し行われることを抑制することができる。その結果、プリンタ１４の設定情報の変更に要する時間を短縮することができる。
【０１２９】
[変形例１]
上述の実施形態では、送信順位が上位の第１指示コマンドに対する応答を外部仲介装置１２が受信した後で、次に送信順位が上位の第１指示コマンドが内部仲介装置１３に送信される例を説明した。本変形例では、第１指示コマンドに送信順位を示す送信順情報を付帯させて第１指示コマンドを送信する例を説明する。
【０１３０】
外部仲介装置１２の第１プログラム２４は、決定した送信順位を示す送信順情報を付帯させて、複数の第１指示コマンドを生成する（図７、Ｓ７４、Ｓ７６、Ｓ７７）。送信順情報は、例えば、「１」、「２」、「３」などの数字や、「Ａ」、「Ｂ」、「Ｃ」などの文字であってもよい。送信順情報を第１指示コマンドに付帯させることは、第１指示コマンドの送信順位が分かる態様の一例である。
【０１３１】
外部仲介装置１２の第１プログラム２４は、生成した全ての第１指示コマンドを含むＨＴＴＰレスポンスを内部仲介装置１３に送信する（図５、Ｓ３９）。或いは、第１プログラム２４は、第１指示コマンドに対する応答を内部仲介装置１３から受信したことを確認することなく、内部仲介装置１３からＨＴＴＰリクエストを受信するごとに、生成した複数の第１指示コマンドを順に内部仲介装置１３に送信する。
【０１３２】
内部仲介装置１３の第２プログラム３４は、生成した第２指示コマンドの基になった第１指示コマンドに付帯された送信順情報が示す送信順にしたがって、生成した第２指示コマンドをプリンタ１４に送信する（Ｓ４３）。
【０１３３】
[変形例１の作用効果]
本変形例では、内部仲介装置１３の第２プログラム３４は、第１指示コマンドに付帯された送信順情報にしたがって、第２指示コマンドをプリンタ１４に送信する。したがって、適切な順番で第２指示コマンドがプリンタ１４に送信される。
【０１３４】
[変形例２]
第１指示コマンドが送信順情報を付帯することに代えて、複数の第１指示コマンドがファイルなどでまとめて内部仲介装置１３に送信されてもよい。ファイルは、パッケージデータの一例である。
【０１３５】
内部仲介装置１３の第２プログラム３４は、例えば、ファイル内における複数の第１指示コマンドの順番を送信順と擬制して、複数の第１指示コマンドの送信順を決定する。第２プログラム３４は、決定した送信順にしたがって、生成した第２指示コマンドをプリンタ１４に送信する（Ｓ４３）。複数の第１指示コマンドをファイルにまとめることは、第１指示コマンドの送信順位が分かる態様の一例である。
【０１３６】
或いは、ファイルには、変形例１で説明した送信順情報が含められていてもよい。内部仲介装置１３の第２プログラム３４は、ファイルに含まれる送信順情報が示す送信順にしたがって、生成した第２指示コマンドをプリンタ１４に送信する（Ｓ４３）。ファイルに送信順情報を含めることは、第１指示コマンドの送信順位が分かる態様の一例である。
【０１３７】
[変形例２作用効果]
本変形例では、内部仲介装置１３の第２プログラム３４は、ファイルにおける第１指示コマンドの順番にしたがって、或いは、ファイルに含まれる送信順情報が示す送信順にしたがって、第２指示コマンドをプリンタ１４に送信する。したがって、適切な順番で第２指示コマンドがプリンタ１４に送信される。
【０１３８】
[変形例３]
上述の実施形態では、内部仲介装置１３から定期的に送信されるＨＴＴＰリクエスト（Ｓ３６）を受信するまでの間に外部仲介装置１２に入力された複数の第３指示コマンドに対して送信順決定処理が実行され、或いは、所定の時間間隔で送信順決定処理が実行される例を説明した。本変形例では、第３指示コマンドが外部仲介装置１２に入力されるごとに送信順決定処理が実行される例を説明する。
【０１３９】
外部仲介装置１２の第１プログラム２４は、管理サーバ１１が送信した第３指示コマンドを受信すると（図４、Ｓ３１）、未送信の第１指示コマンドがあるか否かを判断する。第１プログラム２４は、未送信の第１指示コマンドがあると判断すると、新たに受信した第３指示コマンドに対して送信順決定処理を実行し、未送信の第１指示コマンドと、新たに生成した第１指示コマンドとについて、新たに送信順を決定する。第１プログラム２４は、新たに決定した送信順にしたがって、生成した第１指示コマンドを内部仲介装置１３に送信する（Ｓ３９）。
【０１４０】
[変形例３作用効果]
本変形例では、例えば、新たに受信した第３指示コマンドが、プリンタ１４の制御プログラム４４のファームバージョンを変更する指示である場合、新たに生成された第１指示コマンドが、設定情報を変更する未送信の第１指示コマンドよりも先に内部仲介装置１３に送信される。したがって、新たに受信した第３指示コマンドに基づいて生成された第２指示コマンドについても、適切な順番でプリンタ１４に送信することができる。
【０１４１】
[変形例４]
上述の実施形態では、外部仲介装置１２の第１プログラム２４が送信順決定処理を実行して送信順を決定する例を説明した。本変形例では、内部仲介装置１３の第２プログラム３４が送信順決定処理を実行して送信順を決定する例を、図８を参照して説明する。なお、実施形態と同様の処理については、実施形態と同一の符号を付して説明を省略する。
【０１４２】
外部仲介装置１２の第１プログラム２４は、Ｓ３１からＳ３３の処理を実行し、管理サーバ１１から複数の第３指示コマンドを受信する。第１プログラム２４は、送信順決定処理を実行することなく、受信した複数の第３指示コマンドにそれぞれ対応する複数の第１指示コマンドを生成する（Ｓ８１）。具体的には、第１プログラム２４は、受信した第３指示コマンドに対応する第１指示コマンドを、実施形態で説明した第１コマンドリストに基づいて決定し、第１指示コマンドを生成する。
【０１４３】
外部仲介装置１２の第１プログラム２４は、生成した複数の第１指示コマンドをまとめたファイルを生成する（Ｓ８２）。そして、第１プログラム２４は、内部仲介装置１３が定期的（Ｓ３５）に送信したＨＴＴＰリクエストを受信し（Ｓ３６）、受信したＨＴＴＰリクエストのＨＴＴＰレスポンスにファイルを含めて送信する（Ｓ８３）。
【０１４４】
内部仲介装置１３の第２プログラム３４は、ＨＴＴＰレスポンスを受信すると（Ｓ３８、Ｓ８３）、受信したＨＴＴＰレスポンスにファイルが含まれているか否かを判断する（Ｓ４０）。第２プログラム３４は、受信したＨＴＴＰレスポンスにファイルが含まれていると判断すると（Ｓ４０：Ｙｅｓ）、ファイルを受信したことを示す受信通知を含むＨＴＴＰリクエストを外部仲介装置１２に送信する（Ｓ８４）。フローチャートには示されていないが、外部仲介装置１２の第１プログラム２４は、受信通知を含むＨＴＴＰリクエストを受信すると（Ｓ８４）、受信通知を受信したことを示すＨＴＴＰレスポンスを内部仲介装置１３に送信する。
【０１４５】
内部仲介装置１３の第２プログラム３４は、ファイルを含むＨＴＴＰレスポンスを受信すると、ファイルに含まれる各第１指示コマンドについて、送信順決定処理をそれぞれ実行する。第２プログラム３４が実行する送信順決定処理について、図７を流用して説明する。
【０１４６】
内部仲介装置１３の第２プログラム３４は、第１指示コマンドが示す指示が、制御プログラム４４のファームバージョンの変更か、設定情報の変更であるかを判断する（Ｓ７１）。第２プログラム３４は、第１指示コマンドが示す指示が、制御プログラム４４のファームバージョンの変更であると判断すると（Ｓ７１：ファームバージョンの変更）、制御プログラム４４の現在のファームバージョンと、第１指示コマンドが示すファームバージョンとが一致するか否かを判断する（Ｓ７２）。
【０１４７】
内部仲介装置１３の第２プログラム３４は、制御プログラム４４の現在のファームバージョンと、第１指示コマンドが示すファームバージョンとが一致しないと判断すると（Ｓ７２：Ｎｏ）、第２指示コマンドを生成するとともに、第２指示コマンドの送信順位を送信順位Ａに決定する（Ｓ７４）。
【０１４８】
一方、内部仲介装置１３の第２プログラム３４は、制御プログラム４４の現在のファームバージョンと、第１指示コマンドが示すファームバージョンとが一致すると判断すると（Ｓ７２：Ｙｅｓ）、第２指示コマンドを生成しないことに決定する（Ｓ７３）。
【０１４９】
内部仲介装置１３の第２プログラム３４は、Ｓ７１において、第１指示コマンドが示す指示が、設定情報の変更であると判断すると（Ｓ７１：設定情報の変更）、プリンタ１４の制御プログラム４４の再起動を伴わない設定情報の変更であるか、プリンタ１４の制御プログラム４４の再起動を伴う設定情報の変更であるかを判断する（Ｓ７５）。
【０１５０】
内部仲介装置１３の第２プログラム３４は、第１指示コマンドが示す指示が、プリンタ１４の制御プログラム４４の再起動を伴わない第１変更であると判断すると（Ｓ７５：第１変更）、設定情報の変更を指示する第２指示コマンドを生成し、生成した第２指示コマンドの送信順位を送信順位Ｂに決定する（Ｓ７６）。
【０１５１】
一方、内部仲介装置１３の第２プログラム３４は、第１指示コマンドが示す指示が、プリンタ１４の制御プログラム４４の再起動を伴う第２変更であると判断すると（Ｓ７５：第２変更）、設定情報の変更を指示する第２指示コマンドを生成し、生成した第２指示コマンドの送信順位を送信順位Ｃに決定する（Ｓ７６）。
【０１５２】
内部仲介装置１３の第２プログラム３４は、生成した複数の第２指示コマンドについて、決定した送信順位に基づいて、送信順を決定する（Ｓ７８）。具体的には、送信順位Ａの第２指示コマンド、送信順位Ｂの第２指示コマンド、送信順位Ｃの第２指示コマンドの順に送信順を決定する。
【０１５３】
内部仲介装置１３の第２プログラム３４は、送信順決定処理の実行後、決定した送信順にしたがって、生成した複数の第２コマンドをプリンタ１４に送信し（Ｓ４３）、プリンタ１４から応答を受信する（Ｓ４５）。その後、外部仲介装置１２の第１プログラム２４及び内部仲介装置１３の第２プログラム３４は、上述の実施形態と同様に、Ｓ６１からＳ６７（図６）の処理を実行する。
【０１５４】
[変形例４の作用効果]
本変形例では、プリンタ１４に送信される複数の第２指示コマンドの送信順を、内部仲介装置１３の第２プログラム３４が実行する送信順決定処理で決定することができる。したがって、適切な順番で複数の第２指示コマンドをプリンタ１４に入力することができる。
【０１５５】
[その他の変形例]
上述の実施形態では、管理者の指示を、管理サーバ１１を通じて外部仲介装置１２に入力する例を説明した。しかしながら、管理者の指示は、外部仲介装置１２に直接入力されてもよい。すなわち、管理サーバ１１が用いられなくてもよい。この場合、外部仲介装置１２が、プリンタ１４の管理を行う管理サーバとなる。管理者は、外部仲介装置１２のユーザＩ／Ｆ２６を用いて、デバイスＩＤと、当該デバイスＩＤが示すプリンタ１４に対する指示を示す指示情報とを外部仲介装置１２に入力する。外部仲介装置１２の第１プログラム２４は、管理者が入力したデバイスＩＤ及び指示情報を受け付ける。デバイスＩＤは、デバイス情報の一例である。第１プログラム２４がデバイスＩＤ及び指示情報の入力を受ける処理は、取得手段及び取得処理の一例である。管理者が外部仲介装置１２に指示情報を直接入力することによっても、プリンタ１４の制御プログラム４４のファームバージョンを変更したり、設定情報を変更したりすることができる。
【０１５６】
また、上述の実施形態では、内部仲介装置１３がＨＴＴＰリクエストを送信し、外部仲介装置１２がＨＴＴＰレスポンスを返信することにより、外部仲介装置１２から内部仲介装置１３へファイアウォールを通じて第１指示コマンドが送信される例を説明した。しかしながら、外部仲介装置１２から内部仲介装置１３へファイアウォールを通じて第１指示コマンドを送信可能であれば、他の通信プロトコルが用いられてもよい。例えば、外部仲介装置１２と内部仲介装置１３との間で、ＸＭＰＰｏｖｅｒＢＯＳＨにしたがった通信プロトコルが用いられてもよい。外部仲介装置１２から内部仲介装置１３へ、ＸＭＰＰｏｖｅｒＢＯＳＨのセッション開始リクエストを送信し、外部仲介装置１２がセッション開始レスポンスを返信することで成立したセッション内の通信により、外部仲介装置１２から内部仲介装置１３へファイアウォールを通じて第１指示コマンドを送信することができる。
【０１５７】
また、上述の実施形態では、プリンタ１４を管理するデバイスの例として説明した。しかしながら、管理するデバイスは、ＱＲコード（登録商標）リーダやバーコードリーダやハンドスキャナなどのスキャナや、携帯可能なミシンなどであってもよい。
【符号の説明】
【０１５８】
１０・・・管理システム
１１・・・管理サーバ
１２・・・外部仲介装置
１３・・・内部仲介装置
１４・・・プリンタ
２１・・・ＣＰＵ
２２・・・メモリ
２４・・・第１プログラム
３１・・・ＣＰＵ
３４・・・第２プログラム
【図１】
2019185514.tif 000003
【図２】
2019185514.tif 000004
【図３】
2019185514.tif 000005
【図４】
2019185514.tif 000006
【図５】
2019185514.tif 000007
【図６】
2019185514.tif 000008
【図７】
2019185514.tif 000009
【図８】
2019185514.tif 000010