JP7172108B2 - プログラム及び通信システム - Google Patents

プログラム及び通信システム Download PDF

Info

Publication number
JP7172108B2
JP7172108B2 JP2018077474A JP2018077474A JP7172108B2 JP 7172108 B2 JP7172108 B2 JP 7172108B2 JP 2018077474 A JP2018077474 A JP 2018077474A JP 2018077474 A JP2018077474 A JP 2018077474A JP 7172108 B2 JP7172108 B2 JP 7172108B2
Authority
JP
Japan
Prior art keywords
program
request
instruction
response
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018077474A
Other languages
English (en)
Other versions
JP2019185524A (ja
Inventor
孝志 西▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2018077474A priority Critical patent/JP7172108B2/ja
Priority to US16/382,330 priority patent/US11509632B2/en
Publication of JP2019185524A publication Critical patent/JP2019185524A/ja
Application granted granted Critical
Publication of JP7172108B2 publication Critical patent/JP7172108B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、デバイスの管理を行うプログラム、及び通信システムに関する。
インターネット上の管理サーバが、携帯電話やタブレットなどのモバイルデバイスと通信を行って、モバイルデバイスの管理を行うモバイルデバイス管理(略して、MDM)システムが知られている(例えば、特許文献1参照)。モバイルデバイスは、例えば、携帯電話やタブレットやノート型のパーソナルコンピュータなど、インターネットに直接接続して管理サーバと通信可能な端末である。
特表2017-536598号公報
特許文献1では、管理サーバと直接通信を行わないデバイスを、モバイルデバイス管理システムを利用して管理することについて、十分な開示がされていない。
本発明は、前記の事情に鑑みてなされたものであり、その目的は、管理サーバと直接通信を行わないデバイスを、モバイルデバイス管理システムを利用して管理する手段を提供することにある。
本明細書では様々な開示を行う。開示例の一例であるプログラムは、第1プログラムと、第2プログラムとからなる。前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行される。前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行される。前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置である。前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置である。前記第2プログラムは、前記デバイスに対する指示を含む第1指示コマンドを返信することを要求する第1要求を前記ファイアウォールを通じて前記情報処理装置に送信する第1要求手段と、前記第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を前記ファイアウォールを通じて前記情報処理装置に送信する第2要求手段と、前記第1指示コマンドを受信したことに応じて、当該第1指示コマンドに応じたデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドの指示を実行する実行手段として前記第2コンピュータを機能させる。前記第1プログラムは、前記第1要求の応答として、前記第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第1応答手段と、前記第2要求の応答として、前記第2指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第2応答手段として前記第1コンピュータを機能させる。
上記構成によれば、情報処理装置に入力された指示を、仲介装置を介してデバイスに入力することができる。その結果、情報処理装置と直接通信を行わないデバイスの管理を行うことができる。また、第2プログラムは、デバイスに対する指示を示す第1指示コマンドを返信することを要求する第1要求を情報処理装置に送信し、第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を情報処理装置に送信するので、第2プログラムは、第1プログラムから受信した応答がデバイスに対する指示であるか、自己(第2プログラム)に対する指示であるかを判断することなく、受信した指示を実行することができる。
図1は、本実施形態に係る管理システム10の模式的な構成図である。 図2は、対応データベースを示す図である。 図3は、デバイスID及びGUIDを管理サーバ11に登録する際の管理サーバ11、外部仲介装置12、内部仲介装置13、及びプリンタ14の処理を示す図である。 図4は、管理サーバ11からの指示をプリンタ14に実行させる際の管理サーバ11、外部仲介装置12、内部仲介装置13、及びプリンタ14の処理の一部を示す図である。 図5は、図4の処理の続きを示す図である。 図6は、図5の処理の続きを示す図である。 図7(A)は、変形例1における処理を示す図であり、図7(B)は、変形例2における処理を示す図である。 図8(A)は、変形例3における処理を示す図であり、図8(B)は、変形例4における処理を示す図である。 図9は、変形例5における処理を示す図である。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
本実施形態では、図1に示される管理システム10を説明する。管理システム10は、いわゆるモバイルデバイス管理システムを利用してプリンタ14の管理を行うシステムである。プリンタ14の管理者は、ブラウザを用いて管理サーバ11に記憶されたプリンタ14の管理情報を閲覧し、或いは、管理サーバ11を通じて、プリンタ14に対して設定情報の変更等の指示を行う。
管理システム10は、管理サーバ11と直接通信を行う機能を有さないプリンタ14を管理サーバ11で管理できるように、外部仲介装置12及び内部仲介装置13を備える。外部仲介装置12は、情報処理装置の一例である。内部仲介装置13は、仲介装置の一例である。プリンタ14は、デバイスの一例である。
管理システム10は、インターネット15に接続された管理サーバ11及び外部仲介装置12と、ローカルネットワーク16に接続された内部仲介装置13及びプリンタ14と、を備える。管理システム10は、通信システムの一例である。
管理サーバ11は、例えば、モバイルデバイスを管理するサービスを提供する会社が有するサーバである。外部仲介装置12は、例えば、モバイルデバイスを管理するサービスの提供を受ける会社が有するサーバである。内部仲介装置13は、例えば、モバイルデバイスを管理するサービスの提供を受ける会社の各支店に設置されたサーバやパーソナルコンピュータである。例えば、支店ごとにローカルネットワーク16が構築される。各支店は、一乃至複数のプリンタ14をそれぞれ有する。各支店のプリンタ14は、各支店のローカルネットワーク16にそれぞれ接続される。
図示例では、3つのローカルネットワーク16が構築され、各ローカルネットワーク16に、2乃至3台のプリンタ14が接続されている。但し、管理システム10が有するローカルネットワーク16の数や、各ローカルネットワーク16にそれぞれ接続されるプリンタ14の台数は、図示例に限られない。
管理サーバ11と外部仲介装置12とは、インターネット15を通じて相互に通信することができる。具体的には、管理サーバ11及び外部仲介装置12は、グローバルIPアドレスをそれぞれ有しており、グローバルIPアドレスを用いたインターネットプロトコルを用いて相互に通信する。
ローカルネットワーク16は、いわゆるイントラネットであり、例えば、有線LAN、無線LAN、WAN、或いはこれらの組み合わせである。ローカルネットワーク16に接続された内部仲介装置13とプリンタ14とは、TCP/IPなどの通信プロトコルを用いて相互に通信可能である。具体的には、内部仲介装置13とプリンタ14とは、プライベートIPアドレスやMACアドレスを用いて相互に通信する。
ローカルネットワーク16は、ルータなどの不図示のゲートウェイ装置を有している。ゲートウェイ装置は、グローバルIPアドレスを有しており、インターネット15と接続されている。ローカルネットワーク16に接続された内部仲介装置13は、ゲートウェイ装置を介して外部仲介装置12と通信を行う。具体的には、内部仲介装置13と外部仲介装置12とは、ゲートウェイ装置が構築するファイアウォールを通じて相互に通信を行う。
管理システム10は、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理を、上述の構成を有する外部仲介装置12及び内部仲介装置13を利用して、管理サーバ11で実現可能とするシステムである。具体的には、外部仲介装置12にインストールされて実行される第1プログラム24と、内部仲介装置13にインストールされて実行される第2プログラム34とを用いて、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理が実現される。すなわち、管理サーバ11と直接通信を行う機能を有さないプリンタ14の管理サーバ11による管理は、第1プログラム24及び第2プログラム34によって実現される。以下、外部仲介装置12、内部仲介装置13、及びプリンタ14の構成について、詳しく説明する。第1プログラム24及び第2プログラム34は、プログラムの一例である。
外部仲介装置12は、CPU21と、メモリ22と、通信インタフェース25(以下、通信I/F25と記載する)と、ユーザI/F26と、通信バス27とを備える。CPU21、メモリ22、通信I/F25、及びユーザI/F26は、通信バス27と接続されている。CPU21は、第1コンピュータの一例である。CPU21及びメモリ22は、第1コントローラの一例である。
メモリ22は、ROM、RAM、EEPROM、HDD、USBメモリ等の可搬記憶媒体、CPU21が備えるバッファ等である。メモリ22は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する内部仲介装置13のメモリ32、及びプリンタ14のメモリ42についても同様である。
メモリ22は、プログラム記憶領域28及びデータ記憶領域29を有している。プログラム記憶領域28は、OS23や第1プログラム24等のプログラムを記憶している。
OS23は、外部仲介装置12の基本プログラムである。OS23は、例えば、MacOS(登録商標)、Windows(登録商標)、Linux(登録商標)、Android(登録商標)OS等のオペレーティングシステムである。
第1プログラム24は、OS23と協働して、通信I/F25を通じた管理サーバ11及び内部仲介装置13との通信を制御するプログラムである。第1プログラム24は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。第1プログラム24が実行する処理については後述する。
データ記憶領域29は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域29は、図2に示される対応データベースを記憶する。
対応データベースは、複数の項目と、複数のレコードとを有する。複数の項目は、項目「デバイスID」、「GUID」、「ロケーション情報」、「ファームバージョン」、「設定情報」、「更新日時」、「状態情報」を有する。なお、対応データベースは、前述の項目以外の項目を有していてもよい。
項目「デバイスID」は、プリンタ14に付与された識別情報である。デバイスIDは、例えば、プリンタ14のMACアドレスやIPアドレスやシリアル番号などである。各レコードは、デバイスIDによって区別される。すなわち、一のプリンタ14に対して一のレコードが生成される。
項目「GUID」は、デバイスIDで特定されるプリンタ14が属する内部仲介装置13を示す。プリンタ14が属する内部仲介装置13とは、プリンタ14が接続されるローカルネットワーク16と接続された内部仲介装置13を意味する。項目「GUID」は、第2プログラム34に対して付与された識別情報である。なお、一の内部仲介装置13に対して一の第2プログラム34がインストールされる。したがって、GUIDは、内部仲介装置13に対して付与されているとも言える。GUIDは、仲介装置IDの一例である。なお、GUIDは、数字や文字、その他、内部仲介装置13を識別可能なものであれば、どのようなものがGUIDとして用いられてもよい。デバイスIDについても同様である。
項目「ロケーション情報」は、項目「GUID」で示される内部仲介装置13が属するローカルネットワーク16を示す。項目「ロケーション情報」は、例えば、支店名や、支部名などである。
項目「ファームバージョン」は、プリンタ14にインストールされている後述の制御プログラム44のバージョンを示す。なお、項目「ファームバージョン」の数字が大きい方が、より新しいバージョンである。
項目「設定情報」は、プリンタ14に設定されているパラメータを示す。項目「設定情報」は、項目「フォント」、項目「フォントサイズ」、項目「濃度」などの複数の細分化された項目を有する。項目「フォント」は、プリンタ14が印刷する文字のフォントを意味する。項目「フォントサイズ」は、プリンタ14が印刷する文字のサイズを意味する。項目「濃度」は、プリンタ14が印刷する文字や図形のインクの濃度を意味する。項目「設定情報」は、前記の項目に加え、自動電源オフ機能が有効か無効かを示す項目や、印刷速度を示す項目や、通信の設定パラメータを示す項目などの他の項目を有していてもよい。
項目「更新日時」は、レコードにおける各項目が示す内容が変更された日時を示す。
項目「状態情報」は、各レコードのプリンタ14が、管理システム10による管理の対象であるか否かを示す。「管理中」は、管理システム10による管理の対象であることを意味する。「待機中」は、管理システム10による管理の対象でないことを意味する。
図1に示される外部仲介装置12の通信I/F25は、管理サーバ11及び内部仲介装置13と通信可能なインタフェースである。通信I/F25は、LAN I/Fや無線LAN I/Fである。外部仲介装置12と内部仲介装置13とは、通信I/F25、インターネット15、ファイアウォール、ローカルネットワーク16、通信I/F35を通じて通信する。
ユーザI/F26は、キーボードやマウスなどである。ユーザI/F26は、管理者による入力を受け付ける。
内部仲介装置13は、CPU31と、メモリ32と、通信I/F35と、ユーザI/F36と、通信バス37とを備える。CPU31、メモリ32、通信I/F35、ユーザI/F36、及び通信バス37の構成は、CPU21、メモリ22、ユーザI/F26、及び通信バス27の構成と同様である。CPU31は、第2コンピュータの一例である。CPU31及びメモリ32は、第2コントローラの一例である。
メモリ32は、プログラム記憶領域38及びデータ記憶領域39を有している。プログラム記憶領域38は、OS33や第2プログラム34等のプログラムを記憶している。データ記憶領域39は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域39は、後述のGUID(Globally Unique Identifierの略)を記憶する。
OS33は、内部仲介装置13の基本プログラムである。第2プログラム34は、OS33と協働して、通信I/F35を通じた外部仲介装置12及びプリンタ14との通信を制御するプログラムである。第2プログラム34は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。第2プログラム34が実行する処理については後述する。
通信I/F35は、外部仲介装置12及びプリンタ14と通信可能なインタフェースである。通信I/F35は、LAN I/Fや無線LAN I/Fである。
プリンタ14は、CPU41と、メモリ42と、通信I/F45と、印刷エンジン51と、通信バス47とを備える。CPU41、メモリ42、通信I/F45、及び通信バス47の構成は、CPU21、メモリ22、通信I/F25、及び通信バス27の構成と同様である。
メモリ42は、プログラム記憶領域48及びデータ記憶領域49を有している。プログラム記憶領域48は、OS43や制御プログラム44等のプログラムを記憶している。データ記憶領域49は、プログラムの実行に必要なデータを記憶する。また、データ記憶領域49は、デバイスIDを記憶する。
OS43は、プリンタ14の基本プログラムである。制御プログラム44は、OS43と協働して、印刷エンジン51に印刷を実行させ、また、通信I/F45を通じた内部仲介装置13との通信を制御するプログラムである。制御プログラム44は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。制御プログラム44が実行する処理については後述する。
通信I/F45は、内部仲介装置13と通信可能なインタフェースである。通信I/F45は、内部仲介装置13が送信したコマンドを受信し、当該コマンドに対する応答を内部仲介装置13に送信する。
なお、本明細書では、基本的に、プログラムに記述された命令に従ったCPUの処理を説明する。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」、「設定」等の処理は、CPUの処理を表している。CPUによる処理は、OSなどのコントローラを介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPUが要求することなくデータを受信するという処理も、「CPUがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
また、プログラムに記述された命令に従ったCPUの処理を、省略した文言で記載することがある。例えば、「CPU21が行う」「プログラム24が行う」「外部仲介装置12が行う」のように記載することがある。CPU31、41についても同様である。また、通信I/F、ユーザI/Fを通じてプログラムが情報の入出力を行うことを、省略した文言で記載することがある。例えば、「CPU21が受信する」、「プログラム24が送信する」、「外部仲介装置12が取得する」のように記載することがある。
また、CPUによる、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPUによる、情報Aが事柄Bであることを示しているか、事柄Cであるかを示しているかを判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
また、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32”というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10”というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
また、本明細書中の「に応じて」は、当該文字列の前に記載された条件が満たされた場合に、当該文字列の後に記載された処理が実行されることを示す。なお、処理が実行されるタイミングは、条件が満たされた後であればよく、当該条件が満たされた直後である必要は必ずしもない。
以下、図3から図7を参照して、外部仲介装置12の第1プログラム24、内部仲介装置13の第2プログラム34、及びプリンタ14の制御プログラム44が実行する処理について説明する。
まず、プリンタ14のデバイスIDを外部仲介装置12のメモリ22に記憶された対応データベースに登録し、管理システム10の管理を開始する処理について、図3を参照して説明する。
まず、内部仲介装置13の第2プログラム34は、プリンタ14のデバイスIDを返信することを要求するコマンドをローカルネットワーク16にブロードキャストする(S11)。内部仲介装置13の第2プログラム34は、例えば、第2プログラム34が初回起動されて第2プログラム34の初期設定が実行されたことに応じて、担当者が入力した、管理対象とするプリンタ14を管理システム10に登録することを指示する登録指示にしたがって、或いは、外部仲介装置12の第1プログラム24から送信された登録指示を受信したことに応じて、コマンドをブロードキャストする。登録指示は、すでに稼働している管理システム10に、プリンタ14を追加して登録することを示す指示であってもよい。「担当者」とは、例えば、各支店においてプリンタ14の管理を行う者であって、外部仲介装置12を操作する管理者とは相違する者である。S11の処理は、探索手段の一例である。なお、詳しくは後述するが、外部仲介装置12は、指示などの情報を、内部仲介装置13から受信したHTTPリクエストに対するHTTPレスポンスに含めて内部仲介装置13に送信する。
内部仲介装置13の第2プログラム34がローカルネットワーク16にブロードキャストしたコマンドは、同一のローカルネットワーク16に接続されたプリンタ14によって受信される(S11)。コマンドを受信したプリンタ14の制御プログラム44は、自己のデバイスIDを含む応答を返信する(S12)。
内部仲介装置13の第2プログラム34は、プリンタ14の制御プログラム44が返信した応答を受信する(S12)。次に、第2プログラム34は、送信指示が入力されたか否かを判断する(S13)。例えば、第2プログラム34は、プリンタ14のデバイスIDを含む応答を受信したことに応じて、受信したデバイスIDを内部仲介装置13のディスプレイに表示させる。担当者は、ディスプレイに表示されたデバイスIDが管理対象のプリンタ14のデバイスIDか否かを判断する。担当者は、ディスプレイに表示されたデバイスIDが管理対象のプリンタ14のデバイスIDであると判断すると、送信指示を内部仲介装置13に入力する。一方、担当者は、ディスプレイに表示されたデバイスIDが管理対象のプリンタ14のデバイスIDでないと判断すると、当該デバイスIDを削除する指示を内部仲介装置13に入力する。すなわち、内部仲介装置13において、ブロードキャストによって収集されたデバイスIDが、管理システム10を用いて管理すべき対象のプリンタ14のデバイスIDであるか否かが、各支店の担当者によってそれぞれ確認される。
内部仲介装置13の第2プログラム34は、収集したデバイスIDを送信すべきでない旨の指示が入力されたと判断すると(S13:No)、収集したデバイスIDを外部仲介装置12に送信することなく、処理を終了する。一方、第2プログラム34は、送信指示が入力されたと判断すると(S13:Yes)、収集したデバイスID及びメモリ32に記憶された自己のGUIDを含むHTTPリクエストを外部仲介装置12に送信する(S14)。なお、複数のデバイスIDが収集された場合、各デバイスIDが個々に外部仲介装置12に送信されてもよいし、収集した全てのデバイスIDがまとめて外部仲介装置12に送信されてもよい。
内部仲介装置13の第2プログラム34が送信したデバイスID及びGUIDを含むHTTPリクエストは、外部仲介装置12に受信される(S14)。外部仲介装置12の第1プログラム24は、デバイスID及びGUIDを受信すると、受信したデバイスIDが対応データベースに既に登録されているか否かを判断し、登録されていないと判断すると、受信したデバイスID及びGUIDを用いて新たなレコードを対応データベースに登録する(S15)。S15の処理は、第1記憶手段及び記憶処理の一例である。
フローチャートには示されていないが、外部仲介装置12の第1プログラム24は、デバイスIDを受信したことを示す応答を含むHTTPレスポンスを、S14で受信したHTTPリクエストの応答として、内部仲介装置13に返信する。或いは、外部仲介装置12の第1プログラム24は、対応データベースに登録したデバイスIDを含むHTTPレスポンスを、S14で受信したHTTPリクエストの応答として、内部仲介装置13に返信してもよい。内部仲介装置13の第2プログラム34は、対応データベースに登録したデバイスIDを含むHTTPレスポンスを受信したことに応じて、HTTPレスポンスに含まれるデバイスIDを内部仲介装置13のメモリに記憶させる。第2プログラム34は、当該HTTPレスポンスを受信したことに応じて、或いは、担当者が入力した指示に応じて、メモリに記憶させたデバイスIDを内部仲介装置13のディスプレイに表示する。担当者は、ディスプレイに表示されたデバイスIDにより、対応データベースに登録されたデバイスIDを確認することができる。
新たに追加されたレコードにおいては、項目「状態情報」には、初期値の「待機状態」が記憶される。図2の例では、デバイスID「008」のプリンタ14を示すレコードが、新たに追加されたレコードである。「待機状態」であるレコードが示すプリンタ14は、まだ管理サーバ11には登録されていない。すなわち、管理システム10の管理対象とはなっていない、仮の登録状態であると言える。なお、管理対象となったプリンタ14を示すレコードは、「状態情報」が「待機状態」から「管理状態」に変更されている。
なお、外部仲介装置12の第1プログラム24は、受信したデバイスIDが既に対応データベースに登録されていると判断すると、受信したデバイスIDが対応データベースに登録済みである旨を示す応答を、内部仲介装置13に返信する。
次に、外部仲介装置12の第1プログラム24は、削除指示が入力されたか否かを判断する(S16)。削除指示は、例えば、管理者が外部仲介装置12に入力する指示である。例えば、第1プログラム24は、レコードを生成して対応データベースに登録したことを外部仲介装置12のディスプレイに表示させる。ディスプレイを確認した管理者は、対応データベースを外部仲介装置12のディスプレイに表示させ、「待機状態」のデバイスIDが示すプリンタ14が、管理すべき対象のプリンタ14であるか否かを判断する。管理者は、管理システム10によって管理すべき対象でないプリンタ14のデバイスIDを対象に削除指示を入力する。すなわち、対応データベースに登録されるデバイスIDが適正か否かは、内部仲介装置13において各担当者によってそれぞれ確認され、次いで、外部仲介装置12において管理者によって確認される。なお、第2プログラム34のS13を省略し、対応データベースに登録されるデバイスIDが適正か否かを管理者のみが確認してもよい。すなわち、第2プログラム34は、受信したデバイスIDを、担当者の確認を得ることなく外部仲介装置12に送信してもよい。
外部仲介装置12の第1プログラム24は、削除指示が入力されたと判断すると(S16:Yes)、削除指示がされたレコードを対応データベースから削除する(S17)。一方、外部仲介装置12の第1プログラム24は、削除指示が入力されていないと判断すると、S17の処理をスキップする。
次に、外部仲介装置12の第1プログラム24は、管理システム10の管理を開始する管理開始指示が入力されるまで待機する(S18:No)。第1プログラム24は、管理開始指示が入力されたと判断すると(S18:Yes)、コマンドを管理サーバ11に送信する(S19)。当該コマンドは、対応データベースに登録されたデバイスIDを付帯情報として含む。また、当該コマンドは、付帯するデバイスIDを管理対象のプリンタ14のデバイスIDとして登録することを管理サーバ11に要求するコマンドである。S19の処理は、登録要求手段及び登録要求処理の一例である。管理開始指示を受け付けるS18の処理は、受付手段の一例である。
なお、外部仲介装置12の第1プログラム24は、S18において、管理の開始を拒否する旨の指示の入力を受け付けてもよい。その場合、第1プログラム24は、S22において、管理の開始を拒否する旨の指示が入力されたことを示すHTTPレスポンスを内部仲介装置13の第2プログラム34に送信する。第2プログラム34は、当該HTTPレスポンスを受信したことに応じて、管理の開始を拒否する旨の指示が外部仲介装置12において入力されたことを示す情報を、内部仲介装置13のディスプレイに表示させる。担当者は、ディスプレイに表示された情報により、管理の開始を拒否する旨の指示が外部仲介装置12において入力されたことを確認することができる。
外部仲介装置12が送信したコマンドは、管理サーバ11によって受信される(S19)。コマンドを受信した管理サーバ11は、受信したコマンドに含まれるデバイスIDを不図示のメモリに記憶する。すなわち、管理サーバ11は、受信したコマンドに含まれるデバイスIDを、管理対象のプリンタ14のデバイスIDとして登録する。その後、管理サーバ11は、コマンドに含まれるデバイスIDを登録した旨を示す応答を、インターネット15を通じて外部仲介装置12に返信する(S20)。
管理サーバ11が返信した応答は、外部仲介装置12によって受信される(S20)。外部仲介装置12の第1プログラム24は、管理サーバ11からの応答を受信したことに応じて、管理システム10の管理を開始する(S21)。具体的には、図2に示されるデータベースの項目「状態情報」を、「待機中」から「管理中」に変更する。データベースの項目「状態情報」を「待機中」から「管理中」に変更する処理は、変更手段の一例である。項目「状態情報」の「待機中」は、待機中情報の一例である。項目「状態情報」の「管理中」は、管理開始情報の一例である。
次に、外部仲介装置12の第1プログラム24は、内部仲介装置13が定期的に送信するHTTPリクエストに対するHTTPレスポンスとして、「管理中」であるデバイスID、すなわち、管理を開始したプリンタ14のデバイスIDを、内部仲介装置13に送信する(S22)。このとき、S17で削除されたデバイスIDは、送信されない。
なお、外部仲介装置12の第1プログラム24は、S14で受信したHTTPリクエストの応答として、S22のHTTPレスポンスを内部仲介装置13に送信してもよい。その場合、タイムアウトが生じないように、S16及びS17の処理が省略されることが望ましい。
フローチャートには示されていないが、内部仲介装置13の第2プログラム34は、管理を開始したデバイスIDを受信すると(S22)、管理を開始したデバイスIDをメモリ32に記憶する。第2プログラム34は、管理を開始したデバイスIDを受信したことを、内部仲介装置13のディスプレイに表示させるなどして、担当者に認識させる。担当者は、メモリ32に記憶されたデバイスIDを内部仲介装置13のディスプレイに表示させ、管理を開始されたプリンタ14を確認することができる。なお、外部仲介装置12の管理者は、メモリ22に記憶された対応データベースを外部仲介装置12のディスプレイに表示させることにより、管理を開始されたプリンタ14を確認することができる。また、内部仲介装置13の担当者及び外部仲介装置12の管理者は、ブラウザを用いて、管理サーバ11に記憶されたデータをディスプレイに表示させることにより、管理を開始されたプリンタ14を確認することもできる。
項目「状態情報」が「管理中」であるレコードのデバイスIDを有するプリンタ14に対して、管理サーバ11からの指示に応じたコマンドが入力される。すなわち、管理サーバ11によってプリンタ14の管理が行われる。図4及び図5を参照して詳しく説明する。なお、管理サーバ11への指示は、ブラウザを用いて管理者が管理サーバ11に入力する。
まず、管理サーバ11は、インターネット15を通じて、第3指示コマンドを外部仲介装置12に送信する(S31)。第3指示コマンドは、プリンタ14に対する指示と、第2プログラム34に対する指示と、に大別される。プリンタ14に対する指示とは、例えば、設定情報(図2)の「フォント」や「フォントサイズ」や「濃度」などの各項目についてプリンタ14の設定値を変更する旨の指示や、プリンタ14の制御プログラム44のファームバージョン(図2)を変更する旨の指示や、プリンタ14の現在の設定情報を返信することを要求する指示である。第3指示コマンドがプリンタ14に対する指示である場合、第3指示コマンドは、指示の対象となるプリンタ14のデバイスIDを付帯情報として有する。第2プログラム34に対する指示は、例えば、第2プログラム34のバージョンを変更する旨の指示である。なお、第3指示コマンドが指示する内容は、上述の例に限られない。
外部仲介装置12の第1プログラム24は、第3指示コマンドを受信したことに応じて(S31)、第3指示コマンドを受信した旨を示す通知を管理サーバ11に送信する(S32)。また、第1プログラム24は、受信した第3指示コマンドが、プリンタ14に対する指示であるか、第1プログラム24に対する指示であり、かつ、第1プログラム24から第2プログラム34に対して第2指示コマンドを送信する必要がある指示であるかを判断する(S33)。例えば、第1プログラム24に対する指示が、第1プログラム24と管理サーバ11との間の通信に関する指示である場合には、第2指示コマンドを送信する必要はない。第1プログラム24に対する指示が、プリンタ14との通信に関する指示である場合には、プリンタ14と直接通信するのは第2プログラム34であるため、第2指示コマンドを送信する必要がある。
外部仲介装置12の第1プログラム24は、受信した第3指示コマンドが、プリンタ14に対する指示であると(S33:プリンタ)、プリンタ14に対する指示を第2プログラム34に指示する第1指示コマンドを生成する(S34A)。
第1指示コマンドは、内部仲介装置13の第2プログラム34に入力可能なコマンドであって、第3指示コマンドに含まれるデバイスIDを付帯情報として含む。
図2には示されていないが、外部仲介装置12のメモリ22のデータ記憶領域29は、第1コマンドリストを記憶する。第1コマンドリストは、第3指示コマンドと第1指示コマンドとの対応が示されている。外部仲介装置12の第1プログラム24は、S31で受信した第3指示コマンドに対応する第1指示コマンドを第1コマンドリストから決定し、決定した第1指示コマンドに、第3指示コマンドに含まれるデバイスIDを付帯情報として含ませて、第1指示コマンドを生成する(S34A)。
また、図示は省略するが、外部仲介装置12の第1プログラム24は、第3指示コマンドが示す指示が、プリンタ14へのファイル送信である場合や、第2プログラム34のプログラムファイルなどのファイルである場合、当該ファイルを管理サーバ11に要求する。要求を受信した管理サーバ11は、ファイルを外部仲介装置12に送信する。第1プログラム24は、ファイルを受信し、メモリ22に記憶する。第1プログラム24は、管理サーバ11からファイルを受信した場合、S34AやS34Bにおいて、フィルのダウンロードを内部仲介装置13の第2プログラム34に指示するコマンドを生成する。
外部仲介装置12の第1プログラム24は、第1指示コマンドを生成したことに応じて(S34A)、第3指示コマンドに含まれるデバイスIDと対応付けられたGUIDを、対応データベースから特定する(S35)。すなわち、第1プログラム24は、指示を送信すべきプリンタ14が属するローカルネットワーク16上の内部仲介装置13をGUIDによって特定する。具体的には、第1プログラム24は、第3指示コマンドに含まれるデバイスIDを有するレコードを対応データベース上で特定し、特定したレコードにおける項目「GUID」のGUIDを、対応するGUIDとして特定する。
一方、外部仲介装置12の第1プログラム24は、受信した第3指示コマンドが、第2プログラム34に対する指示であると判断すると(S33:第2プログラム)、第2プログラム34に対する指示を第2プログラム34に実行させる第2指示コマンドを生成する(S34B)。第1プログラム24は、第1指示コマンドの生成と同様にして、メモリ22に記憶された第1コマンドリストを用いて第2指示コマンドを生成する。
なお、第2プログラム34に対する指示は、管理サーバ11からの第3指示コマンドに拠らずに発生してもよい。例えば、第2プログラム34に対する指示を、外部仲介装置12のユーザI/F26を用いて管理者が入力してもよい。その場合、管理者は、入力する指示とともに、指示を実行させる第2プログラム34のGUIDを外部仲介装置12に入力する。第2プログラム34に対する指示が、管理サーバ11からの第3指示コマンドに拠って発生した場合と同様に、この場合にも、第1プログラム24は、第2指示コマンドを作成する(S34B)以降の処理を実行する。
以下では、外部仲介装置12の第1プログラム24が、同じ内部仲介装置13に送信する一乃至複数の第1指示コマンド及び一乃至複数の第2指示コマンドを生成した場合について説明する。
外部仲介装置12の第1プログラム24は、複数の指示コマンドを生成したことに応じて、イベントリストを生成する(S36)。イベントリストは、内部仲介装置13の第2プログラム34に送信するリストである。イベントリストは、第1プログラム24が生成した複数の指示コマンドを示す複数のイベントIDを有する。第1プログラム24は、生成した指示コマンドと対応するイベントIDを、図2(A)に示される第1対応リストから選択し、選択したイベントIDを含むイベントリストを生成する。第1対応リストは、外部仲介装置12のメモリ22に予め記憶されたリストである。第1対応リストは、イベントIDと、第1指示コマンド及び第2指示コマンドとの対応が示されている。第1対応リストは、コマンド対応情報の一例である。
外部仲介装置12の第1プログラム24は、イベントリストを生成した後、内部仲介装置13が送信する定期的なHTTPリクエストを受信するまで待機する。
一方、内部仲介装置13の第2プログラム34は、図5に示されるように、予めメモリ32に記憶された送信タイミングになったか否かを判断する(S37)。送信タイミングは、例えば、10秒間隔や15秒間隔や、20秒間隔など、数秒間隔から数十秒間隔に設定される。
内部仲介装置13の第2プログラム34は、送信タイミングになったと判断すると(S37:Yes)、自己のGUIDを含むHTTPリクエストを外部仲介装置12に送信する(S38)。外部仲介装置12は、内部仲介装置13からのHTTPリクエストに対するHTTPレスポンスにイベントリストを含ませることにより、ファイアウォールを通じてイベントリストを内部仲介装置13に送信することができる。なお、ファイアウォールは、内部仲介装置13からのHTTPリクエストに対するHTTPレスポンス以外は、外部仲介装置12から内部仲介装置13への送信を遮断する。そのため、内部仲介装置13は、定期的にHTTPリクエストを外部仲介装置12に送信している。HTTPリクエストを定期的に送信するS37及びS38の処理は、セットアップの一例である。
外部仲介装置12の第1プログラム24は、内部仲介装置13が送信したHTTPリクエストを受信する(S38)。第1プログラム24は、受信したHTTPリクエストに含まれるGUIDが、イベントリストを送信する内部仲介装置13のGUIDであるか否かを判断する(S39)。
外部仲介装置12の第1プログラム24は、S38で受信したHTTPリクエストに含まれるGUIDがイベントリストを送信する内部仲介装置13のGUIDと一致しないと判断すると(S39:No)、イベントリストを含まないHTTPレスポンスを送信する(S40)。S40で送信されるHTTPレスポンスは、S38で送信されたHTTPリクエストを受信できたことを示す。
一方、外部仲介装置12の第1プログラム24は、S38で受信したHTTPリクエストに含まれるGUIDが、イベントリストを送信する内部仲介装置13のGUIDと一致すると判断すると(S39:Yes)、イベントリストを含むHTTPレスポンスを送信する(S41)。イベントリストを含むHTTPレスポンスを送信するS41の処理は、イベント情報送信手段の一例である。イベントリストは、イベント情報の一例である。
内部仲介装置13の第2プログラム34は、外部仲介装置12が送信したHTTPレスポンスを受信する(S40、S41)。第2プログラム34は、受信したHTTPレスポンスにイベントリストが含まれているか否かを判断し、イベントリストが含まれていないと判断すると、定期的なHTTPリクエストの送信を継続して実行する(S37、S38)。一方、第2プログラム34は、受信したHTTPレスポンスにイベントリストが含まれていると判断すると、イベントリストに含まれる複数のイベントIDを、プリンタ向けか、自己(第2プログラム34)向けかを判断し、複数のイベントIDを「プリンタ向け」と「第2プログラム向け」とに振り分ける(S42)。
具体的に説明すると、内部仲介装置13のメモリ32のデータ記憶領域39には、図2(B)に示される第2対応リストが記憶されている。第2対応リストは、「イベントID」と、「プリンタ向け」及び「第2プログラム向け」との対応が示されている。第2プログラム34は、メモリ32に記憶された第2対応リストを用いて、イベントリストに含まれるイベントIDを「プリンタ向け」と「第2プログラム向け」とに振り分ける。第2対応リストは、要求対応情報の一例である。イベントIDを「プリンタ向け」と「第2プログラム向け」とに振り分けるS42の処理は、要求判断手段の一例である。以下では、「プリンタ向け」のイベントIDを第1イベントIDと記載し、「第2プログラム向け」のイベントIDを第2イベントIDと記載して説明する。
内部仲介装置13の第2プログラム34は、S42の処理の実行後、定期的なHTTPリクエストの送信タイミングを待たずに、第1イベントIDを含むHTTPリクエストを外部仲介装置12に送信する(S43)。第1イベントIDは、第1指示コマンドを返信することを要求する第1要求の一例である。第1イベントIDを送信するS43の処理は、第1要求手段及び第1要求処理の一例である。
外部仲介装置12の第1プログラム24は、第1イベントIDを含むHTTPリクエストを受信する(S43)。そして、第1プログラム24は、HTTPリクエストに含まれる第1イベントIDを取得し、取得した第1イベントIDと対応する第1指示コマンドを第1対応リスト(図2(A))から決定する(S44)。第1プログラム24は、決定した第1指示コマンドに、第1指示コマンドの指示の対象となるプリンタ14のデバイスIDを付帯させる。第1指示コマンドの指示の対象となるプリンタ14のデバイスIDとは、S31で受信した第3指示コマンドに含まれるデバイスIDである。第1プログラム24は、デバイスIDを付帯する第1指示コマンドを含むHTTPレスポンスを、S43で受信したHTTPリクエストの応答として内部仲介装置13に送信する(S45)。
内部仲介装置13の第2プログラム34は、第1指示コマンドを含むHTTPレスポンスを受信すると(S45)、第1指示コマンドを受信したことを示す受信通知を含むHTTPリクエストを外部仲介装置12に送信する(S46)。すなわち、第2プログラム34は、第2指示コマンドを受信したことを外部仲介装置12に通知する。上述のように、外部仲介装置12の第1プログラム24は、内部仲介装置13が送信したHTTPリクエストのHTTPレスポンスとして、第1指示コマンドを返信する。したがって、受信通知を受信しなければ、第1指示コマンドに対応する応答(S55)を受信するまで、内部仲介装置13が第1指示コマンドを受信できたか否かを判断することができない。そうすると、第1指示コマンドに対応する応答を受信するまでの時間が、第1指示コマンドを再送信するまでの時間として決められた所定の時間を超え、内部仲介装置13が第1指示コマンドを受信しているにも拘わらず、外部仲介装置12が第1指示コマンドを再送してしまうことが生じ得る。内部仲介装置13の第2プログラム34は、第1指示コマンドに対応する応答(S55)を送信する前に、受信通知を外部仲介装置12に送信する。したがって、内部仲介装置13が第1指示コマンドを受信しているにも拘わらず、外部仲介装置12が第1指示コマンドを再送してしまうことが防止される。
外部仲介装置12の第1プログラム24は、受信通知を含むHTTPリクエストを受信する(S41)。フローチャートには示されていないが、第1プログラム24は、受信通知を含むHTTPリクエストを所定の時間内に受信しないと判断すると、内部仲介装置13から定期的に送信されるHTTPリクエストのHTTPレスポンスとして、第1指示コマンドを内部仲介装置13に再送する。また、第1プログラム24は、受信通知を含むHTTPリクエストを受信したことに応じて、受信通知を受信したことを示すHTTPレスポンスを内部仲介装置13に返信する。
内部仲介装置13の第2プログラム34は、S46の処理の実行後、プリンタ14に送信するデバイスコマンドを生成する(S47)。デバイスコマンドは、プリンタ14に入力可能なコマンドであって、第1指示コマンドが示す指示の内容に応じたコマンドである。
図1には示されていないが、内部仲介装置13のメモリ32のデータ記憶領域39は、第1指示コマンドとデバイスコマンドとの対応が示された第2コマンドリストを記憶する。内部仲介装置13の第2プログラム34は、S45で受信した第1指示コマンドに対応するデバイスコマンドを第2コマンドリストから決定し、デバイスコマンドを生成する(S47)。
また、図5のフローチャートには示されていないが、S45で受信した第1指示コマンドがファイルのダウンロードを示すコマンドである場合、内部仲介装置13の第2プログラム34は、ファイルの送信要求を含むHTTPリクエストを外部仲介装置12に送信する。当該HTTPリクエストを受信した外部仲介装置12の第1プログラム24は、HTTPリクエストに含まれるコマンドに応じて、ファイルを含むHTTPレスポンスを内部仲介装置13に送信する。内部仲介装置13の第2プログラム34は、HTTPレスポンスに含まれるファイルを受信する。第2プログラム34は、受信したファイルの設定値やプログラムを含むデバイスコマンドを生成する。なお、ファイルは、第1指示コマンドに含めて送信されてもよい。この場合、第2プログラム34から第1プログラム24へ、ファイルの送信要求は送信されない。
なお、内部仲介装置13の第2プログラム34は、S45で受信した第1指示コマンドが示す指示が、設定情報の変更やファームバージョンの更新であるか、設定情報の取得であるかを、第1指示コマンドに付帯された設定要求フラグで判断してもよい。例えば、外部仲介装置12の第1プログラム24は、S31で受信した第3指示コマンドが設定情報を要求する指示である場合、「ON」に設定された設定要求フラグを第1指示コマンドに付帯させる。
内部仲介装置13の第2プログラム34は、デバイスコマンドの生成後、第1指示コマンドに付帯されたデバイスIDに対して、生成したデバイスコマンドを送信する(S48)。デバイスコマンドをプリンタ14に送信するS48の処理は、デバイスコマンド送信手段及びデバイスコマンド送信処理の一例である。
内部仲介装置13が送信したデバイスコマンドは、プリンタ14によって受信される(S48)。プリンタ14の制御プログラム44は、デバイスコマンドが示す指示を実行する(S51)。例えば、デバイスコマンドが設定情報(図2)の「フォント」や「フォントサイズ」や「濃度」などの各項目についてプリンタ14の設定を変更する旨の指示である場合、制御プログラム44は、「フォント」や「フォントサイズ」や「濃度」などの設定値を、デバイスコマンドに含まれる設定値で変更する。また、第3指示コマンドが、ファームバージョンを更新する旨の指示である場合、制御プログラム44は、デバイスコマンドに含まれるプログラムで自己を更新する。また、デバイスコマンドが、設定情報を返信することを要求する指示である場合、制御プログラム44は、設定情報を返信する(S53)。
プリンタ14の制御プログラム44は、デバイスコマンドが示す指示を実行したことを示す応答を内部仲介装置13に送信する(S52)。
内部仲介装置13の第2プログラム34は、プリンタ14が送信した応答を受信すると(S52)、設定情報を返信することを要求するコマンドをプリンタ14に送信する(S53)。なお、S48で送信したデバイスコマンドが、プリンタ14の設定情報を返信することを要求する指示である場合、S53、S54の処理がスキップされる。
プリンタ14の制御プログラム44は、設定情報を返信することを要求するコマンドを受信すると(S53)、設定情報を返信する(S54)。
内部仲介装置13の第2プログラム34は、設定情報を受信すると(S54)、設定情報を含むHTTPリクエストを、S45で受信した第1指示コマンドの応答として、外部仲介装置12に送信する(S55)。設定情報を含むHTTPリクエストを送信するS55の処理は、第1応答手段及び第1応答処理の一例である。
外部仲介装置12の第1プログラム24は、変更後の設定情報を、第1指示コマンドの応答として受信する(S55)。第1プログラム24は、設定情報を含むHTTPリクエストを受信すると、当該HTTPリクエストを受信したことを示す旨を、当該HTTPリクエストのHTTPレスポンスとして、内部仲介装置13に送信する(S56)。また、第1プログラム24は、設定情報を受信すると、対応データベース(図2(C))の設定値やファームバージョンなどの設定情報を、受信した設定情報で上書きする(S57)。
次に、外部仲介装置12の第1プログラム24は、第3指示コマンドが示す指示をプリンタ14が実行したことと、S55で受信した設定情報とを含む設定完了情報を生成し、生成した設定完了情報を、S31で受信した第3指示コマンドの応答として、管理サーバ11に送信する(S58)。設定完了情報は、例えば、管理サーバ11に入力可能なコマンドであって、設定情報を付帯情報として有するコマンドである。
なお、外部仲介装置12の第1プログラム24は、設定完了情報とは別に、S55で受信した設定情報を管理サーバ11に送信してもよい。すなわち、設定を行った旨と、設定後の設定情報とが、別個に管理サーバ11に送信されてもよい。
管理サーバ11は、設定完了情報をインターネット15を通じて受信すると(S58)、設定完了情報を受信したことを示す受信応答を外部仲介装置12に送信する(S59)。外部仲介装置12の第1プログラム24は、管理サーバ11が送信した受信応答を受信する(S59)。
一方、内部仲介装置13の第2プログラム34は、第1指示コマンドを含むHTTPレスポンスを受信した後(S45)、イベントリストに含まれる他の第1イベントリストを含むHTTPリクエストを、送信タイミングを待たずに外部仲介装置12に送信する。その後、外部仲介装置12の第1プログラム24及び内部仲介装置13の第2プログラム34は、上述と同様に、S44からS59の処理を実行する。第2プログラム34は、イベントリストに含まれる全ての第1イベントIDについて、S43の処理を実行する。
内部仲介装置13の第2プログラム34は、イベントリストに含まれる全ての第1イベントIDに対してS43の処理を実行した後、第2イベントIDを含むHTTPリクエストを、送信タイミングを待たずに外部仲介装置12に送信する(S60)。第2イベントIDは、第2指示コマンドを返信することを要求する第2要求の一例である。第2イベントIDを含むHTTPリクエストを送信するS60の処理は、第2要求手段及び第2要求処理の一例である。
外部仲介装置12の第1プログラム24は、第2イベントIDを含むHTTPリクエストを受信すると(S60)、HTTPリクエストに含まれる第2イベントIDと対応する第2指示コマンドを第1対応リスト(図2(A))から決定する(S61)。第1プログラム24は、決定した第2指示コマンドを含むHTTPレスポンスを、S60で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S62)。第2指示コマンドは、例えば、第2プログラム34のプログラムファイルなどの実行ファイルのダウンロードを指示するコマンドを含む。
内部仲介装置13の第2プログラム34は、第2指示コマンドを含むHTTPレスポンスを受信すると(S62)、第2指示コマンドを受信したことを示す受信通知を含むHTTPリクエストを外部仲介装置12に送信する(S63)。なお、フローチャートには示されていないが、受信通知を含むHTTPリクエストを受信した外部仲介装置12の第1プログラム24は、受信通知を受信したことを示すHTTPレスポンスを内部仲介装置13に送信する。
また、内部仲介装置13の第2プログラム34は、第2指示コマンドを含むHTTPレスポンスを受信すると(S62)、第2指示コマンドが示す指示を実行する(S64)。例えば、第2プログラム34は、第2指示コマンドが示すプログラムファイルの送信を外部仲介装置13に要求し、当該プログラムファイルを外部仲介装置13から受信し、受信したプログラムファイルで自己を更新する(S64)。第2指示コマンドが示す指示を第2プログラム34が実行するS64の実行処理は、実行手段の一例である。
次に、内部仲介装置13の第2プログラム34は、実行処理を実行したことを示す実行確認通知を含むHTTPリクエストを、S62で受信した第2指示コマンドの応答として外部仲介装置12に送信する(S65)。実行確認通知を含むHTTPリクエストを外部仲介装置12に送信するS65の処理は、第2応答手段及び第2応答処理の一例である。
外部仲介装置12の第1プログラム24は、実行確認通知を含むHTTPリクエストを受信したことに応じて(S65)、実行確認通知を含むHTTPリクエストを、S31で受信した第3指示コマンドの応答として、管理サーバ11に送信する(S66)。なお、第2指示コマンドを生成する基となった指示が外部仲介装置12のユーザI/F26を用いて管理者が外部仲介装置12に直接入力した場合は、S66、S67の処理はスキップされる。また、S66、S67の処理をまったく行わないという実装もありえる。
管理サーバ11は、実行確認通知を含むHTTPリクエストを受信すると(S66)、実行確認通知を受信したことを示すHTTPレスポンスを外部仲介装置12に送信する(S67)。
[作用効果]
本実施形態では、管理サーバ11からの指示を、外部仲介装置12の第1プログラム24及び内部仲介装置13の第2プログラム34によって、プリンタ14に入力する。したがって、インターネット15に接続する機能を有さないプリンタ14の管理を管理サーバ11に行わせることができる。すなわち、インターネット15に接続する機能を有さないプリンタ14の管理を、MDMシステムを利用して行うことができる。
また、本実施形態では、内部仲介装置13の第2プログラム34は、プリンタ14に対する指示を示す第1指示コマンドを返信することを要求する第1イベントIDを含むHTTPリクエストを外部仲介装置12に送信し、また、第2プログラム34に対する指示を示す第2指示コマンドを返信することを要求する第2イベントIDを含むHTTPリクエストを外部仲介装置12に送信する。そして、第2プログラム34は、第1イベントIDに対する応答に含まれる指示コマンドを、プリンタ14に対する指示コマンドとして処理し、第2イベントIDに対する応答に含まれる指示コマンドを自己に対する指示コマンドとして処理する。したがって、第2プログラム34は、HTTPレスポンスに含まれる指示コマンドが、プリンタ14に対する指示を示す指示コマンドであるか、自己に対する指示を示す指示コマンドであるかを判断することなく、HTTPレスポンスに含まれる指示コマンドを処理することができる。
また、本実施形態では、外部仲介装置12の第1プログラム24が複数のイベントIDを含むイベントリストを内部仲介装置13に送信し、内部仲介装置13の第2プログラム34は、イベントIDを含むHTTPリクエストを、定期的に送信するHTTPリクエストとは別で外部仲介装置12に送信する。したがって、第1プログラム24が、定期的に受信するHTTPリクエストに対するHTTPレスポンスに1つずつ指示コマンドを含めて内部仲介装置13に送信する場合よりも、第3指示コマンドが示す指示の実行が完了するまでに要する時間が短くなる。すなわち、イベントリストを用いることにより、管理システム10における処理の実行時間を短縮することができる。すなわち、本実施形態では、処理の実行時間を短縮するためのイベントリストを用いて、第2プログラム34にコマンドの種別を判断させることなく、第2プログラム34にコマンドを処理させることができる。
[変形例1]
上述の実施形態では、イベントリストを用いて、第2プログラム34に指示コマンドの種別を判断させることなく、第2プログラム34に指示コマンドを処理させる例を説明した。本変形例では、イベントリストを用いずに、第2プログラム34に指示コマンドの種別を判断させることなく、第2プログラム34に指示コマンドを処理させる例を、図7(A)を参照して説明する。なお、実施形態と同一の処理については、実施形態と同一の符号を付して説明を省略する。また、以下で説明する構成や処理以外の構成や処理は、実施形態と同様である。
外部仲介装置12の第1プログラム24は、実施形態と同様に、S31からS35の処理を実行し、入力された第3指示コマンドに応じた第1指示コマンド及び第2指示コマンドを生成し(S34A、S34B)、また、生成したコマンドを送信する内部仲介装置13のGUIDを特定する(S35)。そして、第1プログラム24は、内部仲介装置13が定期定期に送信するHTTPリクエストを受信するまで待機する。
一方、内部仲介装置13の第2プログラム34は、第1指示コマンドを要求する第1要求を含むHTTPリクエストを送信する第1送信タイミングになったか否か(S37A)、また、第2指示コマンドを要求する第2要求を含むHTTPリクエストを送信する第2送信タイミングになったか否か(S37B)を判断する。第2プログラム34は、第1要求を含むHTTPリクエストを送信する第1送信タイミングになったと判断すると(S37A:Yes)、第1要求を含むHTTPリクエストを外部仲介装置12に送信する(S71)。また、第2プログラム34は、第2要求を含むHTTPリクエストを送信する第2送信タイミングになったと判断すると(S37B:Yes)、第2要求を含むHTTPリクエストを外部仲介装置12に送信する(S73)。第1送信タイミングになったか否かを判断するS37Aの処理は、第1送信判断手段の一例である。第2送信タイミングになったか否かを判断するS37Bの処理は、第2送信判断手段の一例である。
外部仲介装置12の第1プログラム24は、第1要求を含むHTTPリクエストを受信したことに応じて(S71)、生成した第1指示コマンドを含むHTTPレスポンスを、S71で受信したHTTPリクエストの応答として内部仲介装置13に送信する(S72)。そして、内部仲介装置13の第2プログラム34は、第1指示コマンドを含むHTTPレスポンスを受信したことに応じて、実施形態と同様に、S46からS59の処理を実行する。
一方、外部仲介装置12の第1プログラム24は、第2要求を含むHTTPリクエストを受信したことに応じて(S73)、生成した第2指示コマンドを含むHTTPレスポンスを、S73で受信したHTTPリクエストの応答として内部仲介装置13に送信する(S74)。そして、内部仲介装置13の第2プログラム34は、第2指示コマンドを含むHTTPレスポンスを受信したことに応じて、実施形態と同様に、S64からS67までの処理を実行する。
[変形例1の作用効果]
本変形例では、内部仲介装置13の第2プログラム34は、第1指示コマンドを要求する第1要求を含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、プリンタ14に対する指示を示す第1指示コマンドとして処理する。また、第2プログラム34は、第2指示コマンドを要求する第2要求を含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、自己(第2プログラム34)に対する指示を示す第2指示コマンドとして処理する。したがって、第2プログラム34は、HTTPレスポンスに含まれる指示コマンドが、プリンタ14に対する指示を示す指示コマンドであるか、自己に対する指示を示す指示コマンドであるかを判断することなく、HTTPレスポンスに含まれる指示コマンドを処理することができる。
なお、上述の変形例において、第1要求を含むHTTPリクエストを定期的に送信する時間間隔と、第2要求を含むHTTPリクエストを定期的に送信する時間間隔とは、同じであってもよいし、相違していてもよい。
[変形例2]
上述の変形例1では、第1要求を含むHTTPリクエストが定期的に送信され、かつ、第2要求を含むHTTPリクエストが定期的に送信される例を説明した。本変形例では、第1要求を含むHTTPリクエストのみが定期的に送信される例を、図7(B)を参照して説明する。なお、実施形態や変形例1と同一の構成や処理については、実施形態や変形例1と同一の符号を付して説明を省略する。また、以下で説明する構成や処理以外の構成や処理については、上述の実施形態や変形例と同様である。
外部仲介装置12の第1プログラム24は、実施形態と同様に、S31からS35の処理を実行し、入力された第3指示コマンドに応じた第1指示コマンド及び第2指示コマンドを生成し(S34A、S34B)、また、GUIDを特定する(S35)。そして、第1プログラム24は、内部仲介装置13が定期定期に送信するHTTPリクエストを受信するまで待機する。
一方、内部仲介装置13の第2プログラム34は、第1指示コマンドを要求する第1要求を含むHTTPリクエストを送信する第1送信タイミングになったか否かを判断する(S37A)。第2プログラム34は、第1送信タイミングになったと判断すると(S37A:Yes)、第1要求を含むHTTPリクエストを外部仲介装置12に送信する(S71)。第1送信タイミングになったか否かを判断するS37Aの処理は、送信判断手段の一例である。
外部仲介装置12の第1プログラム24は、第1要求を含むHTTPリクエストを受信したことに応じて(S71)、未送信の第2指示コマンドがあるか否かを判断する(S75)。第1プログラム24は、未送信の第2指示コマンドないと判断すると(S75:No)、生成した第1指示コマンドを含むHTTPレスポンスを、S71で受信したHTTPリクエストの応答として内部仲介装置13に送信する(S72)。
一方、外部仲介装置12の第1プログラム24は、未送信の第2指示コマンドがあると判断すると(S75:Yes)、生成した第1指示コマンドと、第2要求を含むHTTPリクエストを送信することを要求する要求指示とを含むHTTPレスポンスを、S71で受信したHTTPリクエストの応答として内部仲介装置13に送信する(S72)。要求指示は、第2要求手段の実行の指示の一例である。
内部仲介装置13の第2プログラム34は、第1指示コマンドを含むHTTPレスポンスを受信すると(S72、S76)、実施形態と同様に、S44からS59までの処理を実行する。また、第2プログラム34は、受信したHTTPレスポンスに要求指示が含まれているか否かを判断する(S77)。第2プログラム34は、受信したHTTPレスポンスに要求指示が含まれていないと判断すると(S77:No)、第1要求を含むHTTPリクエストの定期的な送信を継続する(S37A、S71)。一方、第2プログラム34は、受信したHTTPレスポンスに要求指示が含まれていると判断すると(S77:Yes)、第2指示コマンドを要求する第2要求を含むHTTPリクエストを外部仲介装置12に送信する(S73)。
外部仲介装置12の第1プログラム24は、第2要求を含むHTTPリクエストを受信すると(S73)、第2指示コマンドを含むHTTPレスポンスを、S73で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S74)。
内部仲介装置13の第2プログラム34は、第2指示コマンドを含むHTTPレスポンスを受信したことに応じて(S74)、実施形態と同様に、S64からS67までの処理を実行する。
[変形例2の作用効果]
本変形例では、内部仲介装置13の第2プログラム34は、第1要求を含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、プリンタ14に対する指示を示す第1指示コマンドとして処理する。また、第2プログラム34は、受信したHTTPレスポンスに、第2要求を含むHTTPリクエストを送信することを要求する要求指示が含まれていることに応じて、第2指示コマンドを要求する第2要求を含むHTTPリクエストを送信する。そして、第2プログラム34は、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、自己(第2プログラム34)に対する指示を示す第2指示コマンドとして処理する。したがって、第2プログラム34は、HTTPレスポンスに含まれるコマンドが、プリンタ14に対する指示を示す指示コマンドであるか、自己に対する指示を示す指示コマンドであるかを判断することなく、HTTPレスポンスに含まれる指示コマンドを処理することができる。
また、本変形例では、第2要求を含むHTTPリクエストを定期的に送信しないので、第1要求を含むHTTPリクエストの送信間隔を、変形例1よりも短くして、第1指示コマンドに対する処理速度を高めることができる。すなわち、管理システム10における処理速度を変形例1よりも高めることができる。
[変形例3]
上述の実施形態では、第1イベントIDを含むHTTPリクエスト及び第2イベントIDを含むHTTPリクエストが外部仲介装置12にそれぞれ送信される例が説明された。本変形例では、A種第1イベントIDを含むHTTPリクエストと、B種第1イベントID要求を含むHTTPリクエストと、第2イベントIDを含むHTTPリクエストとが、外部仲介装置12にそれぞれ送信される例を説明する。A種イベントIDは、A種第1要求の一例である、B種イベントIDは、B種第2要求の一例である。
A種第1イベントIDとは、プリンタ14の制御プログラム44の再起動を伴うA種第1指示コマンドを示すイベントIDである。B種第1イベントIDとは、プリンタ14の制御プログラム44の再起動を伴わないB種第1指示コマンドを返信することを示すイベントIDである。
詳しく説明すると、プリンタ14における設定情報の変更は、プリンタ14の制御プログラム44の再起動を伴う変更と、制御プログラム44の再起動を伴わない変更とに大別される。プリンタ14の制御プログラム44は、設定情報の所定の項目(図2)を変更したと判断すると、再起動を実行する。プリンタ14のメモリ42は、例えば、設定情報の項目と再起動の実行とが対応付けられたテーブルを記憶する。プリンタ14の制御プログラム44は、メモリ42に記憶されたテーブルを用いて、再起動の実行と対応付けられた設定情報か否かを判断し、再起動の実行と対応付けられた設定情報を変更したと判断すると、再起動を実行する。
内部仲介装置13のメモリ32は、イベントIDと、A種第1指示コマンド及びB種第1指示コマンドとの対応をさらに示す第1対応リストを記憶する。
また、内部仲介装置13のメモリ32は、イベントIDと、A種第1イベントID及びB種イベントIDとの対応をさらに示す第2対応リストを記憶する。
本変形例において外部仲介装置12の第1プログラム24及び内部仲介装置13の第2プログラム34が実行する処理について、図8(A)を参照して説明する。
外部仲介装置12の第1プログラム24及び内部仲介装置13の第2プログラム34は、実施形態と同様に、S31からS41の処理を実行する。
次に、内部仲介装置13の第2プログラム34は、S41で受信したHTTPレスポンスに含まれるイベントリストに含まれる複数のイベントIDを、メモリ32に記憶された第2対応リストを用いて、A種第1イベントIDと、B種第1イベントIDと、第2イベントIDとに振り分ける(S81)。そして、第2プログラム34は、B種第1イベントIDを含むHTTPリクエストを外部仲介装置12に送信する(S82)。
外部仲介装置12の第1プログラム24は、B種第1イベントIDを含むHTTPリクエストを受信すると(S82)、HTTPリクエストに含まれるB種第1イベントIDと、メモリ22に記憶された第1対応リストとを用いて、B種第1指示コマンドを決定し、決定したB種第1指示コマンドを含むHTTPレスポンスを、S82で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S83)。
内部仲介装置13の第2プログラム34は、B種第1指示コマンドを含むHTTPレスポンスを受信すると(S83)、実施形態と同様に、S44からS59までの処理を実行する。なお、S48で送信されたデバイスコマンドを受信したプリンタ14の制御プログラム44は、再起動を伴わない設定情報の変更を実行する(S51)。
次に、内部仲介装置13の第2プログラム34は、A種第1イベントIDを含むHTTPリクエストを外部仲介装置12に送信する(S84)。
外部仲介装置12の第1プログラム24は、A種第1イベントIDを含むHTTPリクエストを受信すると(S84)、HTTPリクエストに含まれるA種第1イベントIDと、メモリ22に記憶された第1対応リストとを用いて、A種第1指示コマンドを決定し、決定したA種第1指示コマンドを含むHTTPレスポンスを、S84で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S85)。
内部仲介装置13の第2プログラム34は、A種第1指示コマンドを含むHTTPレスポンスを受信すると(S85)、実施形態と同様に、S44からS59までの処理を実行する。なお、S48で送信されたデバイスコマンドを受信したプリンタ14の制御プログラム44は、再起動を伴う設定情報の変更を実行する(S51)。
次に、内部仲介装置13の第2プログラム34は、第2イベントIDを含むHTTPリクエストを外部仲介装置12に送信する(S86)。
外部仲介装置12の第1プログラム24は、第2イベントIDを含むHTTPリクエストを受信すると(S86)、HTTPリクエストに含まれる第2イベントIDと、メモリ22に記憶された第1対応リストとを用いて、第2指示コマンドを決定し、決定した第2指示コマンドを含むHTTPレスポンスを、S86で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S87)。
内部仲介装置13の第2プログラム34は、第2指示コマンドを含むHTTPレスポンスを受信すると(S87)、実施形態と同様に、S64からS67までの処理を実行する。
[変形例3の作用効果]
本変形例では、内部仲介装置13の第2プログラム34は、A種第1イベントIDを含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、再起動を伴う第1指示コマンドとして処理する。また、第2プログラム34は、B種第1イベントIDを含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、再起動を伴わない第1指示コマンドとして処理する。また、第2プログラム34は、第2イベントIDを含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、自己(第2プログラム34)に対する第2指示コマンドとして処理する。したがって、第2プログラム34は、HTTPレスポンスに含まれる指示コマンドが、プリンタ14に対する再起動を伴う指示を示す指示コマンドであるか、プリンタ14に対する再起動を伴わない指示を示す指示コマンドであるか、自己に対する指示を示す指示コマンドであるかを判断することなく、HTTPレスポンスに含まれる指示コマンドを処理することができる。
なお、上述の変形例3では、B種第1イベントIDを含むHTTPリクエストが送信された後に、B種第1イベントIDを含むHTTPリクエストが送信され、その後、第2イベントIDを含むHTTPリクエストが送信される例を説明した。しかしながら、A種第1イベントID、B種第1イベントID、及び第2イベントIDが送信される順番は、順不同であってもよい。外部仲介装置12の第1プログラム24は、HTTPリクエストに含まれるイベントIDがA種第1イベントIDであることに応じてA種第1指示コマンドを送信し、HTTPリクエストに含まれるイベントIDがB種第1イベントIDであることに応じてB種第1指示コマンドを送信し、HTTPリクエストに含まれるイベントIDが第2イベントIDであることに応じて第2指示コマンドを送信する。一方、内部仲介装置13の第2プログラム34は、A種第1イベントIDを含むHTTPリクエストの応答に含まれる指示コマンドをA種第1指示コマンドとして処理し、B種第1イベントIDを含むHTTPリクエストの応答に含まれる指示コマンドをB種第1指示コマンドとして処理し、第2イベントIDを含むHTTPリクエストの応答に含まれる指示コマンドを第2指示コマンドとして処理する。
[変形例4]
本変形例では、A種第1指示コマンドを返信することを要求するA種第1要求を含むHTTPリクエストと、B種第1指示コマンドを返信することを要求するB種第1要求を含むHTTPリクエストと、第2指示コマンドを返信することを要求する第2要求を含むHTTPリクエストとを、それぞれ定期的に送信する例を、図8(B)を参照して説明する。なお、上述の実施形態及び変形例と同一の構成や処理については、上述の実施形態及び変形例と同一の符号を付して説明を省略する。また、以下で説明される構成や処理以外の構成や処理は、上述の実施形態及び変形例の構成や処理と同様である。
外部仲介装置12のメモリ22は、変形例3で説明した第1対応リストを記憶する。外部仲介装置12の第1プログラム24は、第1対応リストを用いて、生成した指示コマンドが、A種第1指示コマンドであるか、B種第1指示コマンドであるか、第2指示コマンドであるかを判断する。
外部仲介装置12の第1プログラム24は、実施形態と同様に、S31からS35の処理を実行する。すなわち、第1プログラム24は、第1指示コマンド及び第2指示コマンドを生成し(S34A、S34B)、また、GUIDを特定する(S35)。
一方、内部仲介装置13の第2プログラム34は、B種第1要求を含むHTTPリクエストを送信するB種第1送信タイミングになったか否かを判断する(S37C)。B種第1要求は、B種第1指示コマンドを返信することを示す要求である。第2プログラム34は、B種第1送信タイミングになったと判断すると(S37C:Yes)、B種第1要求を含むHTTPリクエストを外部仲介装置12に送信する(S91)。
外部仲介装置12の第1プログラム24は、B種第1要求を含むHTTPリクエストを受信すると(S91)、第1対応リストを用いてB種第1指示コマンドを決定し、決定したB種第1指示コマンドを含むHTTPレスポンスを、S91で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S92)。
内部仲介装置13の第2プログラム34は、B種第1指示コマンドを含むHTTPレスポンスを受信すると(S92)、実施形態と同様に、S44からS59までの処理を実行する。なお、S48で送信されたデバイスコマンドを受信したプリンタ14の制御プログラム44は、再起動を伴わない設定情報の変更を実行する(S51)。
また、内部仲介装置13の第2プログラム34は、A種第1要求を含むHTTPリクエストを送信するA種第1送信タイミングになったか否かを判断する(S37D)。A種第1要求は、A種第1指示コマンドを返信することを示す要求である。第2プログラム34は、A種第1送信タイミングになったと判断すると(S37D:Yes)、A種第1要求を含むHTTPリクエストを外部仲介装置12に送信する(S93)。
外部仲介装置12の第1プログラム24は、A種第1要求を含むHTTPリクエストを受信すると(S93)、第1対応リストを用いてA種第1指示コマンドを決定し、決定したA種第1指示コマンドを含むHTTPレスポンスを、S93で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S94)。
内部仲介装置13の第2プログラム34は、A種第1指示コマンドを含むHTTPレスポンスを受信すると(S94)、実施形態と同様に、S44からS59の処理を実行する。なお、S48で送信されたデバイスコマンドを受信したプリンタ14の制御プログラム44は、再起動を伴う設定情報の変更を実行する(S51)。
また、内部仲介装置13の第2プログラム34は、第2要求を含むHTTPリクエストを送信する第2送信タイミングになったか否かを判断する(S37B)。第2プログラム34は、第2送信タイミングになったと判断すると(S37B:Yes)、第2要求を含むHTTPリクエストを外部仲介装置12に送信する(S73)。
外部仲介装置12の第1プログラム24は、第2要求を含むHTTPリクエストを受信すると(S73)、第1対応リストを用いて第2指示コマンドを決定し、決定した第2指示コマンドを含むHTTPレスポンスを、S73で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S74)。
内部仲介装置13の第2プログラム34は、第2指示コマンドを含むHTTPレスポンスを受信すると(S74)、実施形態と同様に、S64からS67までの処理を実行する。
[変形例4の作用効果]
本変形例では、内部仲介装置13の第2プログラム34は、A種第1要求を含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、再起動を伴う第1指示コマンドとして処理する。また、第2プログラム34は、B種第1要求を含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、再起動を伴わない第1指示コマンドとして処理する。また、第2プログラム34は、第2要求を含むHTTPリクエストを送信し、送信したHTTPリクエストの応答として受信したHTTPレスポンスに含まれる指示コマンドを、自己(第2プログラム34)に対する第2指示コマンドとして処理する。したがって、第2プログラム34は、HTTPレスポンスに含まれる指示コマンドが、プリンタ14に対する再起動を伴う指示を示す指示コマンドであるか、プリンタ14に対する再起動を伴わない指示を示す指示コマンドであるか、自己に対する指示を示す指示コマンドであるかを判断することなく、HTTPレスポンスに含まれる指示コマンドを処理することができる。
[変形例5]
上述の実施形態では、内部仲介装置13の第2プログラム34が、受信したイベントリストに含まれるイベントIDを、プリンタ14向けの第1イベントIDであるか、自己(第2プログラム34)向けの第2イベントIDであるかを振り分ける例を説明した。本変形例5では、第2プログラム34が、イベントリストに含まれるイベントIDを第1イベントID及び第2イベントIDに振り分けることなく外部仲介装置12に送信する例を、図9を参照して説明する。なお、実施形態と同一の構成及び処理については、実施形態と同一の符号を付して説明を省略する。また、以下で説明する構成や処理以外の構成や処理は、実施形態と同様である。
外部仲介装置12の第1プログラム24及び内部仲介装置13の第2プログラム34は、実施形態と同様に、S31からS41までの処理を実行する。
内部仲介装置13の第2プログラム34は、S41で受信したHTTPレスポンスに含まれるイベントリストから、複数のイベントIDを取得する(S101)。第2プログラム34は、取得した複数のイベントIDの内の一のイベントIDを含むHTTPリクエストを外部仲介装置12に送信する(S102)。S102で送信されるHTTPリクエストは、S37で定期的に送信されるHTTPリクエストとは別である。すなわち、第2プログラム34は、イベントIDを取得すると、HTTPリクエストを送信する送信タイミングを待たずに、イベントIDを含むHTTPリクエストを外部仲介装置12に送信する。イベントIDを含むHTTPリクエストは、コマンド返信要求の一例である。イベントIDを含むHTTPリクエストを送信するS102の処理は、コマンド返信要求手段の一例である。
外部仲介装置12の第1プログラム24は、HTTPリクエストを受信すると(S102)、実施形態と同様にして、HTTPリクエストに含まれるイベントIDと、メモリ22に記憶された第1対応リストとを用いて第1指示コマンドまたは第2指示コマンド(以下、指示コマンドとも記載する)を決定する(S103)。第1プログラム24は、決定した指示コマンドを含むHTTPレスポンスを、S102で受信したHTTPリクエストの応答として、内部仲介装置13に送信する(S104)。第1プログラム24がイベントIDを含むHTTPリクエストを受信するS102の処理は、コマンド返信要求受信手段の一例である。指示コマンドを含むHTTPレスポンスを送信するS104の処理は、コマンド送信手段の一例である。
内部仲介装置13の第2プログラム34は、指示コマンドを含むHTTPレスポンスを受信すると(S104)、指示コマンドを受信したことを示す受信通知を含むHTTPリクエストを外部仲介装置12に送信する(S105)。また、第2プログラム34は、HTTPレスポンスに含まれる指示コマンドにしたがって、処理を行う。具体的には、第2プログラム34は、指示コマンドが第1指示コマンドである場合、デバイスコマンドを生成し、生成したデバイスコマンドをプリンタ14に送信するなどの処理(S47~S56)を実行する。また、第2プログラム34は、指示コマンドが第2指示コマンドである場合、第2指示コマンドにしたがって、S64、S65の処理を実行する。
内部仲介装置13の第2プログラム34は、S101で取得した複数のイベントIDのそれぞれについて、S102~S105、S47~S56、S64、S65の処理を実行する。なお、第2プログラム34は、一のイベントIDを含むHTTPリクエストを連続して外部仲介装置12に送信してもよいし、S105の受信通知を送信したことに応じて、イベントIDを含む次のHTTPリクエストを外部仲介装置12に送信してもよいし、指示コマンドに対する応答であるS55やS65の処理を実行したことに応じて、イベントIDを含む次のHTTPリクエストを外部仲介装置12に送信してもよい。
[変形例5の作用効果]
本変形例では、第2プログラム34は、定期的なHTTPリクエストの送信タイミングを待たずに、イベントIDを含むHTTPリクエストを送信する。したがって、定期的なHTTPリクエストの応答であるHTTPレスポンスに指示コマンドを含ませて指示コマンドを内部仲介装置13に送信する場合に比べ、指示コマンドを第2プログラム34に送信して指示コマンドに応じた指示を第2プログラム34に実行させるのに要する時間が短くなる。
また、指示コマンドは、1つずつ内部仲介装置13の第2プログラム34に送信されるので、第2プログラム34は、受信した指示コマンドに指示された処理を実行すればよい。すなわち、第2プログラム34は、受信した指示コマンドがプリンタ14向けであるか、自己(第2プログラム34)向けであるかを判断することなく、受信した指示コマンドの指示にしたがって処理を行う。したがって、第2プログラム34において、受信した指示コマンドの種類が判断される必要がない。
[その他の変形例]
上述の実施形態では、第1イベントIDを含むHTTPリクエストが送信された後に、第2イベントIDを含むHTTPリクエストが送信される例を説明した。しかしながら、第2イベントIDを含むHTTPリクエストが送信された後に、第1イベントIDを含むHTTPリクエストが送信されてもよいし、第1イベントIDを含むHTTPリクエストと、第2イベントIDを含むHTTPリクエストとが、順不同で送信されてもよい。外部仲介装置12の第1プログラム24は、HTTPリクエストに含まれるイベントIDが第1イベントIDであることに応じて第1指示コマンドを送信し、HTTPリクエストに含まれるイベントIDが第2イベントIDであることに応じて第2指示コマンドを送信する。一方、内部仲介装置13の第2プログラム34は、第1イベントIDを含むHTTPリクエストの応答に含まれる指示コマンドを第1指示コマンドとして処理し、第2イベントIDを含むHTTPリクエストの応答に含まれる指示コマンドを第2指示コマンドとして処理する。
また、上述の実施形態や変形例では、第2プログラム34が、第1イベントIDや第1要求を含むHTTPリクエストを送信して、第1指示コマンドを含むHTTPレスポンスを受信し、第2イベントIDや第2要求を含むHTTPリクエストを送信して、第2指示コマンドを含むHTTPレスポンスを受信する例を説明した。しかしながら、第2プログラム34は、複数の理論通信ポートを用いて、第1指示コマンド及び第2指示コマンドを区別して受信してもよい。詳しく説明すると、内部仲介装置13の第2プログラム34は、指示コマンドを要求するHTTPリクエストを、第1理論通信ポートを用いて外部仲介装置12に送信し、また、指示コマンドを要求するHTTPリクエストを、第2理論通信ポートを用いて外部仲介装置12に送信する。外部仲介装置12の第1プログラム24は、第1理論通信ポートを用いて送信されたHTTPリクエストの応答として、第1指示コマンドを含むHTTPレスポンスを内部仲介装置13に送信し、第2理論通信ポートを用いて送信されたHTTPリクエストの応答として、第2指示コマンドを含むHTTPレスポンスを内部仲介装置13に送信する。内部仲介装置13の第2プログラム34は、第1理論通信ポートを用いて受信したHTTPレスポンスに含まれる指示コマンドを第1指示コマンドとして処理し、第2理論通信ポートを用いて受信したHTTPレスポンスに含まれる指示コマンドを第2指示コマンドとして処理する。したがって、第2プログラム34は、受信した指示コマンドが第1指示コマンドであるか第2指示コマンドであるかを判断することなく、受信した指示コマンドを処理することができる。
また、上述の実施形態では、管理者の指示を、管理サーバ11を通じて外部仲介装置12に入力する例を説明した。しかしながら、管理者の指示は、外部仲介装置12に直接入力されてもよい。すなわち、管理サーバ11が用いられなくてもよい。この場合、外部仲介装置12が、プリンタ14の管理を行う管理サーバとなる。管理者は、外部仲介装置12のユーザI/F26を用いて、デバイスIDと、当該デバイスIDが示すプリンタ14に対する指示を示す指示情報とを外部仲介装置12に入力する。外部仲介装置12の第1プログラム24は、管理者が入力したデバイスID及び指示情報を受け付ける。管理者が外部仲介装置12に指示情報を直接入力することによっても、プリンタ14の制御プログラム44のファームバージョンを変更したり、設定情報を変更したりすることができる。
また、上述の実施形態では、内部仲介装置13がHTTPリクエストを送信し、外部仲介装置12がHTTPレスポンスを返信することにより、外部仲介装置12から内部仲介装置13へファイアウォールを通じて第2指示コマンドが送信される例を説明した。しかしながら、外部仲介装置12から内部仲介装置13へファイアウォールを通じて第2指示コマンドを送信可能であれば、他の通信プロトコルが用いられてもよい。例えば、外部仲介装置12と内部仲介装置13との間で、XMPPoverBOSHにしたがった通信プロトコルが用いられてもよい。外部仲介装置12から内部仲介装置13へ、XMPPoverBOSHのセッション開始リクエストを送信し、外部仲介装置12がセッション開始レスポンスを返信することで成立したセッション内の通信により、外部仲介装置12から内部仲介装置13へファイアウォールを通じて第2指示コマンドを送信することができる。
また、上述の実施形態では、プリンタ14を管理するデバイスの例として説明した。しかしながら、管理するデバイスは、QRコード(登録商標)リーダやバーコードリーダやハンドスキャナなどのスキャナや、携帯可能なミシンなどであってもよい。
10・・・管理システム
11・・・管理サーバ
12・・・外部仲介装置
13・・・内部仲介装置
14・・・プリンタ
21・・・CPU
24・・・第1プログラム
31・・・CPU
34・・・第2プログラム

Claims (6)

  1. 第1プログラムと、第2プログラムとからなるプログラムであって、前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行され、前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
    前記第2プログラムは、
    前記デバイスに対する指示を含む第1指示コマンドを返信することを要求する第1要求を前記ファイアウォールを通じて前記情報処理装置に送信する第1要求手段と、
    前記第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を前記ファイアウォールを通じて前記情報処理装置に送信する第2要求手段と、
    前記第1指示コマンドを受信したことに応じて、当該第1指示コマンドに応じたデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、
    前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドの指示を実行する実行手段として前記第2コンピュータを機能させ、
    前記第1プログラムは、
    前記第1要求の応答として、前記第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第1応答手段と、
    前記第2要求の応答として、前記第2指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第2応答手段として前記第1コンピュータを機能させ
    前記第1プログラムは、
    複数のイベントIDを含むイベント情報を、前記仲介装置によるセットアップにしたがって、前記ファイアウォールを通じて前記仲介装置に送信するイベント情報送信手段として前記第1コンピュータを機能させ、
    前記第2プログラムは、
    前記仲介装置が有するメモリに記憶された情報であって、前記イベントIDと前記第1要求及び前記第2要求との対応が示された要求対応情報に基づいて、受信したイベント情報の前記イベントIDが前記第1要求か前記第2要求かを判断する要求判断手段として前記第2コンピュータを機能させ、
    前記第2プログラムの前記第1要求手段は、前記イベントIDが前記第1要求に対応すると判断したことに応じて、当該イベントIDを含む前記第1要求を送信し、
    前記第2プログラムの前記第2要求手段は、前記イベントIDが前記第2要求に対応すると判断したことに応じて、当該イベントIDを含む前記第2要求を送信し、
    前記第1プログラムの前記第1応答手段は、前記イベントIDと前記第1指示コマンド及び前記第2指示コマンドとの対応が示されたコマンド対応情報に基づいて、前記イベントIDから前記第1指示コマンドを決定して送信し、
    前記第1プログラムの前記第2応答手段は、前記コマンド対応情報に基づいて、前記イベントIDから前記第2指示コマンドを決定して送信するプログラム。
  2. 第1プログラムと、第2プログラムとからなるプログラムであって、前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行され、前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
    前記第2プログラムは、
    前記デバイスに対する指示を含む第1指示コマンドを返信することを要求する第1要求を前記ファイアウォールを通じて前記情報処理装置に送信する第1要求手段と、
    前記第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を前記ファイアウォールを通じて前記情報処理装置に送信する第2要求手段と、
    前記第1指示コマンドを受信したことに応じて、当該第1指示コマンドに応じたデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、
    前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドの指示を実行する実行手段として前記第2コンピュータを機能させ、
    前記第1プログラムは、
    前記第1要求の応答として、前記第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第1応答手段と、
    前記第2要求の応答として、前記第2指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第2応答手段として前記第1コンピュータを機能させ、
    前記第2プログラムは、
    前記第1要求を送信するタイミングになったか否かを判断する第1送信判断手段と、
    前記第2要求を送信するタイミングになったか否かを判断する第2送信判断手段として前記第2コンピュータを機能させ、
    前記第1要求手段は、前記第1送信判断手段が前記第1要求を送信するタイミングになったと判断したことに応じて、前記第1要求を送信し、
    前記第2要求手段は、前記第1送信判断手段が前記第1要求を送信するタイミングになったと判断したことに応じて、前記第2要求を送信するプログラム。
  3. 第1プログラムと、第2プログラムとからなるプログラムであって、前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行され、前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
    前記第2プログラムは、
    前記デバイスに対する指示を含む第1指示コマンドを返信することを要求する第1要求を前記ファイアウォールを通じて前記情報処理装置に送信する第1要求手段と、
    前記第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を前記ファイアウォールを通じて前記情報処理装置に送信する第2要求手段と、
    前記第1指示コマンドを受信したことに応じて、当該第1指示コマンドに応じたデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、
    前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドの指示を実行する実行手段として前記第2コンピュータを機能させ、
    前記第1プログラムは、
    前記第1要求の応答として、前記第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第1応答手段と、
    前記第2要求の応答として、前記第2指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第2応答手段として前記第1コンピュータを機能させ、
    前記第2プログラムは、
    前記第1要求を送信するタイミングになったか否かを判断する送信判断手段として前記第2コンピュータを機能させ、
    前記第1要求手段は、前記送信判断手段が前記第1要求を送信するタイミングになったと判断したことに応じて、前記第1要求を送信し、
    前記第1応答手段は、前記第1指示コマンドに加え、前記第2要求手段の実行の指示を含むことが可能であり、
    前記第2要求手段は、前記第1要求手段の応答に前記第2要求手段の実行の指示が含まれることに応じて、前記第2要求を送信するプログラム。
  4. 第1プログラムと、第2プログラムとからなるプログラムであって、前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行され、前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
    前記第2プログラムは、
    前記デバイスに対する指示を含む第1指示コマンドを返信することを要求する第1要求を前記ファイアウォールを通じて前記情報処理装置に送信する第1要求手段と、
    前記第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を前記ファイアウォールを通じて前記情報処理装置に送信する第2要求手段と、
    前記第1指示コマンドを受信したことに応じて、当該第1指示コマンドに応じたデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、
    前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドの指示を実行する実行手段として前記第2コンピュータを機能させ、
    前記第1プログラムは、
    前記第1要求の応答として、前記第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第1応答手段と、
    前記第2要求の応答として、前記第2指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第2応答手段として前記第1コンピュータを機能させ、
    前記第1要求手段は、第1理論通信ポートを用いて前記第1要求を送信し、
    前記第2要求手段は、第2理論通信ポートを用いて前記第2要求を送信し、
    前記第1応答手段は、前記第1理論通信ポートを用いた第1要求への応答を送信し、
    前記第2応答手段は、前記第2理論通信ポートを用いた第2要求への応答を送信するプログラム。
  5. 第1プログラムと、第2プログラムとからなるプログラムであって、前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行され、前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
    前記第2プログラムは、
    前記デバイスに対する指示を含む第1指示コマンドを返信することを要求する第1要求を前記ファイアウォールを通じて前記情報処理装置に送信する第1要求手段と、
    前記第2プログラムに対する指示を示す第2指示コマンドを返信することを要求する第2要求を前記ファイアウォールを通じて前記情報処理装置に送信する第2要求手段と、
    前記第1指示コマンドを受信したことに応じて、当該第1指示コマンドに応じたデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、
    前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドの指示を実行する実行手段として前記第2コンピュータを機能させ、
    前記第1プログラムは、
    前記第1要求の応答として、前記第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第1応答手段と、
    前記第2要求の応答として、前記第2指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信する第2応答手段として前記第1コンピュータを機能させ、
    前記第1要求手段は、
    前記デバイスに再起動が必要なデバイスコマンドを返信することを要求するA種第1要求と、前記デバイスに再起動が不要なデバイスコマンドを返信することを要求するB種第1要求とを分けて前記ファイアウォールを通じて前記情報処理装置に送信し、
    前記第1応答手段は、
    前記A種第1要求を受信したことに応じて、前記デバイスに再起動が必要な複数のA種第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信し、
    前記B種第1要求を受信したことに応じて、前記デバイスに再起動が不要な複数のB種第1指示コマンドを前記ファイアウォールを通じて前記仲介装置に送信し、
    前記デバイスコマンド送信手段は、複数のA種第1指示コマンドと、複数のB種第2指示コマンドとを分けて前記ローカルネットワークを通じて前記デバイスに送信するプログラム。
  6. 第1プログラムと、第2プログラムとからなるプログラムであって、前記第1プログラムは、インターネットと接続された情報処理装置が有する第1コンピュータによって実行され、前記第2プログラムは、ローカルネットワークと接続された仲介装置が有する第2コンピュータによって実行され、前記情報処理装置と前記仲介装置とは、ファイアウォールを通じて相互に通信する装置であり、前記仲介装置は、前記ローカルネットワークを通じてデバイスと通信する装置であって、
    前記第1プログラムは、
    複数のイベントIDを含むイベント情報を、前記仲介装置によるセットアップにしたがって、前記ファイアウォールを通じて前記仲介装置に送信するイベント情報送信手段と、
    前記イベント情報の前記イベントIDを含むコマンド返信要求を前記ファイアウォールを通じて前記仲介装置から受信するコマンド返信要求受信手段と、
    前記コマンド返信要求に含まれる前記イベントIDに基づいて、第1指示コマンドと第2指示コマンドとの一方を、コマンド対応情報から決定し、決定した方のコマンドを前記ファイアウォールを通じて前記仲介装置に送信するコマンド送信手段として前記第1コンピュータを機能させ、前記コマンド対応情報は、前記イベントIDと前記第1指示コマンド及び前記第2指示コマンドとの対応を示す情報であり、前記第1指示コマンドは、前記デバイスへの指示を含むコマンドであり、前記第2指示コマンドは、前記第2プログラムへの指示を含むコマンドであり、
    前記第2プログラムは、
    前記イベント情報に含まれる複数の前記イベントIDを、当該イベント情報が示す送信順で、前記ファイアウォールを通じて前記情報処理装置に送信するコマンド返信要求手段と、
    前記第1指示コマンドを受信したことに応じて、前記デバイスに入力可能なデバイスコマンドを前記ローカルネットワークを通じて前記デバイスに送信するデバイスコマンド送信手段と、
    前記第2指示コマンドを受信したことに応じて、当該第2指示コマンドが示す指示を実行する実行手段として前記第2コンピュータを機能させるプログラム。
JP2018077474A 2018-04-13 2018-04-13 プログラム及び通信システム Active JP7172108B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018077474A JP7172108B2 (ja) 2018-04-13 2018-04-13 プログラム及び通信システム
US16/382,330 US11509632B2 (en) 2018-04-13 2019-04-12 Communication system performing communications concerning requests for requesting commands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018077474A JP7172108B2 (ja) 2018-04-13 2018-04-13 プログラム及び通信システム

Publications (2)

Publication Number Publication Date
JP2019185524A JP2019185524A (ja) 2019-10-24
JP7172108B2 true JP7172108B2 (ja) 2022-11-16

Family

ID=68160580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018077474A Active JP7172108B2 (ja) 2018-04-13 2018-04-13 プログラム及び通信システム

Country Status (2)

Country Link
US (1) US11509632B2 (ja)
JP (1) JP7172108B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7384039B2 (ja) 2020-01-08 2023-11-21 ブラザー工業株式会社 端末管理処理プログラム、端末管理装置及び端末管理システム
JP2021111846A (ja) 2020-01-08 2021-08-02 ブラザー工業株式会社 端末管理処理プログラム、端末管理装置及び端末管理システム
JP7456160B2 (ja) 2020-01-08 2024-03-27 ブラザー工業株式会社 仲介プログラム、管理プログラム及びデバイス管理システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301999A (ja) 2004-03-19 2005-10-27 Ricoh Co Ltd 遠隔管理システムとその被管理装置,通信制御方法,プログラム,および記録媒体
CN101202669A (zh) 2006-12-11 2008-06-18 佳能株式会社 管理设备和管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020161904A1 (en) * 2001-04-30 2002-10-31 Xerox Corporation External access to protected device on private network
WO2008123015A1 (ja) * 2007-03-08 2008-10-16 Nec Corporation 通信システム、信頼通信機構及びそれらに用いる通信方法
JP2012118733A (ja) * 2010-11-30 2012-06-21 Canon Inc 印刷システム、印刷方法、およびプログラム
US9652212B2 (en) 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
US10021072B2 (en) * 2015-08-20 2018-07-10 Mitsubishi Hitachi Power Systems, Ltd. Security system and communication control method
JP6969267B2 (ja) * 2017-10-10 2021-11-24 株式会社リコー 情報処理装置、機器管理システム、機器管理方法、及びプログラム
US11456920B2 (en) * 2018-02-23 2022-09-27 Ricoh Company, Ltd. Mechanisms for cloud-based configuration and management of network devices using network mediators implemented in the network devices
JP7143668B2 (ja) * 2018-07-31 2022-09-29 株式会社リコー 遠隔管理仲介装置、遠隔管理システム、遠隔管理方法、およびプログラム
JP7215083B2 (ja) * 2018-10-30 2023-01-31 株式会社リコー 遠隔機器管理システム、通信方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301999A (ja) 2004-03-19 2005-10-27 Ricoh Co Ltd 遠隔管理システムとその被管理装置,通信制御方法,プログラム,および記録媒体
US20050243804A1 (en) 2004-03-19 2005-11-03 Katsumi Watai Remote control system and controlled apparatus therein capable of sending e-mail if communication request fails
CN101202669A (zh) 2006-12-11 2008-06-18 佳能株式会社 管理设备和管理方法
JP2008146416A (ja) 2006-12-11 2008-06-26 Canon Inc 管理装置及び管理方法

Also Published As

Publication number Publication date
US20190319922A1 (en) 2019-10-17
JP2019185524A (ja) 2019-10-24
US11509632B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
JP5870990B2 (ja) 中継装置、画像形成装置、中継方法および中継プログラム
JP6601110B2 (ja) サーバ
JP6421643B2 (ja) 画像形成装置、サーバ装置、及び通信システム
US8810839B2 (en) Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor
JP7172108B2 (ja) プログラム及び通信システム
US9866407B2 (en) Information processing system, cloud server, device control method, and non-transitory computer-readable recording medium encoded with device control program
JP5962690B2 (ja) 管理サーバー、接続支援方法および接続支援プログラム
US9807262B2 (en) Relaying apparatus communicating with information processing terminal, image processing apparatus, and service-providing apparatus
US11652788B2 (en) Communication system including first mediation apparatus and second mediation apparatus for transmitting command received from management server
JP7131044B2 (ja) プログラム及び通信システム
JP6641928B2 (ja) プログラム
JP5176806B2 (ja) 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP7131045B2 (ja) プログラム及び通信システム
JP5857589B2 (ja) 印刷装置及び印刷システム
JP2019175100A (ja) アプリケーションプログラムのセットアップ方法およびダウンロードサーバ
JP6183119B2 (ja) 中継装置、画像処理装置、中継装置のプログラムおよび画像処理装置のプログラム
JP2017157114A (ja) 情報処理システム、情報処理装置、画像処理装置、制御方法および拡張プログラム
US11360722B2 (en) Printing apparatus and non-transitory computer-readable storage medium
JP2016116112A (ja) 情報処理システム、中継装置、中継方法および中継プログラム
JP5686719B2 (ja) 画像形成装置、アプリケーション管理装置、およびアプリケーション管理システム
JP2022133550A (ja) 情報処理装置及びプログラム
JP2017121015A (ja) 情報処理システム、情報処理方法、情報処理装置、画像処理装置、およびプログラム
JP2017117369A (ja) 情報処理システム、情報処理方法、情報処理装置、画像処理装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210330

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7172108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150