(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018393
(43)【公開日】2024-02-08
(54)【発明の名称】第1の通信装置と第2の通信装置のためのコンピュータプログラム
(51)【国際特許分類】
H04L 67/00 20220101AFI20240201BHJP
G06F 21/60 20130101ALI20240201BHJP
G06F 21/44 20130101ALI20240201BHJP
【FI】
H04L67/00
G06F21/60 360
G06F21/44
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022121711
(22)【出願日】2022-07-29
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】柳 哲
(72)【発明者】
【氏名】松下 聡
(72)【発明者】
【氏名】松田 宗久
(72)【発明者】
【氏名】大原 清孝
(72)【発明者】
【氏名】榎本 勝則
(72)【発明者】
【氏名】矢田 裕紀
(72)【発明者】
【氏名】森 匡平
(72)【発明者】
【氏名】野川 英樹
(72)【発明者】
【氏名】奥野 哲也
(72)【発明者】
【氏名】伊津見 光樹
(57)【要約】
【課題】MIBのデータベースへ設定値をセキュアに書き込むための技術を提供する。
【解決手段】第1の通信装置は、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを設定値と関連付けて記憶するデータベースと、SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、第2の通信装置から書込要求を受信する書込要求受信部であって、書込要求は、OIDと設定値と、を含み、第2の通信方式は、通信データの暗号化及び書込要求の送信元の認証のうちの少なくとも1つを含む、書込要求受信部と、第2の通信装置から書込要求が受信される場合に、書込要求に含まれるOIDに関連付けて、書込要求に含まれる設定値をデータベースに書き込む書込制御部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の通信装置であって、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを設定値と関連付けて記憶するデータベースと、
SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、第2の通信装置から書込要求を受信する書込要求受信部であって、前記書込要求は、OIDと設定値と、を含み、前記第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含む、前記書込要求受信部と、
前記第2の通信装置から前記書込要求が受信される場合に、前記書込要求に含まれる前記OIDに関連付けて、前記書込要求に含まれる前記設定値を前記データベースに書き込む書込制御部と、
を備える、第1の通信装置。
【請求項2】
前記第1の通信装置は、さらに、
前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置から第1の取得要求を受信する第1の取得要求受信部であって、前記第1の取得要求は、前記OIDを含む、前記第1の取得要求受信部と、
前記第2の通信装置から前記第1の取得要求が受信される場合に、前記第1の通信方式を利用して、前記データベースにおいて前記第1の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信する第1の値送信部と、
を備える、請求項1に記載の第1の通信装置。
【請求項3】
前記第1の通信装置のメモリは、所定のOIDのリストである第1のリストを記憶し、
前記第1の通信装置は、さらに、
前記第2の通信装置から前記書込要求が受信される場合に、前記第1のリストを利用して、前記書込要求に含まれるN1個(Nは2以上の整数)の前記OIDの中からN2個(N2はN1以下の整数)の書込対象のOIDを選択する第1の選択部を備え、
前記書込要求は、前記N2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて書込対象の前記設定値を含み、
前記書込制御部は、前記N2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて、当該書込対象のOIDに対応する前記書込対象の設定値を前記データベースに書き込み、
(N1-N2)個の前記OIDのそれぞれに対応する前記書込要求内の前記設定値は、前記データベースに書き込まれない、請求項2に記載の第1の通信装置。
【請求項4】
前記第1の値送信部は、前記第1のリストを利用することなく、前記第1の取得要求に含まれる2個以上の前記OIDのそれぞれについて、前記データベースにおいて当該OIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信する、請求項3に記載の第1の通信装置。
【請求項5】
前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置から前記設定値の書き込みを要求する所定要求が受信されても、前記所定要求に従った前記設定値の書き込みは実行されない、請求項2に記載の第1の通信装置。
【請求項6】
前記第1の通信装置のメモリは、さらに、SNMPに関する設定情報を含み、
前記設定情報は、前記第1の通信方式を利用した前記第1の取得要求に従った処理を許可する第1のデフォルト値と、前記第1の通信方式を利用した前記所定要求に従った処理を禁止する第2のデフォルト値と、を含む、請求項5に記載の第1の通信装置。
【請求項7】
前記第1の通信装置は、さらに、
前記第2の通信方式を利用して、前記第2の通信装置から第2の取得要求を受信する第2の取得要求受信部であって、前記第2の取得要求は、前記OIDを含む、前記第2の取得要求受信部と、
前記第2の通信装置から前記第2の取得要求が受信される場合に、前記第2の通信方式を利用して、前記データベースにおいて前記第2の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信する第2の値送信部と、
を備える、請求項1に記載の第1の通信装置。
【請求項8】
前記第1の通信装置のメモリは、所定のOIDのリストである第2のリストを記憶し、
前記第1の通信装置は、さらに、
前記第2の通信装置から前記書込要求が受信される場合に、前記第2のリストを利用して、前記書込要求に含まれるM1個(M1は2以上の整数)の前記OIDの中からM2個(M2はM1以下の整数)の書込対象のOIDを選択する第2の選択部と、
前記第2の通信装置から前記第2の取得要求が受信される場合に、前記第2のリストを利用して、前記第2の取得要求に含まれるL1個(L1は2以上の整数)の前記OIDの中からL2個(L2はL1以下の整数)の取得対象のOIDを選択する第3の選択部と、
を備え、
前記書込要求は、前記M2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて書込対象の前記設定値を含み、
前記書込制御部は、前記M2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて、当該書込対象のOIDに対応する前記書込対象の設定値を前記データベースに書き込み、
(M1-M2)個のOIDのそれぞれに対応する前記書込要求内の前記設定値は、前記データベースに書き込まれず、
前記第2の値送信部は、前記L2個の取得対象のOIDのそれぞれについて、前記データベースにおいて当該取得対象のOIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信し、
前記第2の取得要求に含まれる(L1-L2)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値の前記第2の通信方式を利用した送信は実行されない、請求項7に記載の第1の通信装置。
【請求項9】
前記(L1-L2)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値は、前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置に送信可能である、請求項8に記載の第1の通信装置。
【請求項10】
前記第2の通信方式は、HTTPS(Hypertext Transfer Protocol Secureの略)を含む、請求項1から9のいずれか一項に記載の第1の通信装置。
【請求項11】
前記書込要求は、複数個のセット情報を含み、
前記セット情報は、前記OIDと前記設定値とのセットを示す、請求項1から9のいずれか一項に記載の第1の通信装置。
【請求項12】
第2の通信装置のためのコンピュータプログラムであって、
前記第2の通信装置のコンピュータを、以下の各部、即ち、
SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、書込要求を第1の通信装置に送信する書込要求送信部であって、前記書込要求は、MIB(Management Information Baseの略)のOID(Object IDの略)と設定値と、を含み、前記第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含み、前記第1の通信装置は、前記第2の通信装置から前記書込要求が受信される場合に、前記書込要求に含まれる前記OIDに関連付けて、前記書込要求に含まれる前記設定値を前記MIBのデータベースに書き込む、前記書込要求送信部として機能させる、コンピュータプログラム。
【請求項13】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記SNMPを含む前記第1の通信方式を利用して、第1の取得要求を前記第1の通信装置に送信する第1の取得要求送信部であって、前記第1の取得要求は、前記OIDを含む、前記第1の取得要求送信部と、
前記第1の通信方式を利用して、前記第1の取得要求に対する第1の応答を受信する第1の応答受信部であって、前記第1の応答は、前記データベースにおいて前記第1の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を含む、前記第1の応答受信部と、
として機能させる、請求項12に記載のコンピュータプログラム。
【請求項14】
前記第2の通信装置は、所定のOIDのリストである第3のリストを記憶し、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の通信装置においてN3個(N3は2以上の整数)の設定項目が指定される場合に、前記第3のリストを利用して、前記N3個の設定項目に対応するN3個の前記OIDの中からN4個(N4はN3以下の整数)の書込対象のOIDを選択する第3の選択部として機能させ、
前記書込要求は、前記N4個の書込対象のOIDを含み、前記N3個のOIDのうちの(N3-N4)個のOIDを含まない、請求項13に記載のコンピュータプログラム。
【請求項15】
前記第1の取得要求送信部は、前記第2の通信装置においてK個(Kは2以上の整数)の設定項目が指定される場合に、前記第3のリストを利用することなく、前記K個の設定項目に対応するK個の前記OIDを含む前記第1の取得要求を前記第1の通信装置に送信する、請求項14に記載のコンピュータプログラム。
【請求項16】
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の通信方式を利用して、第2の取得要求を前記第1の通信装置に送信する第2の取得要求送信部であって、前記第2の取得要求は、前記OIDを含む、前記第2の取得要求送信部と、
前記第2の通信方式を利用して、前記第2の取得要求に対する第2の応答を受信する第2の応答受信部であって、前記第2の応答は、前記データベースにおいて前記第2の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を含む、前記第2の応答受信部と、
として機能させる、請求項12に記載のコンピュータプログラム。
【請求項17】
前記第2の通信装置は、所定のOIDのリストである第4のリストを記憶し、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の通信装置においてM3個(M3は2以上の整数)の設定項目が指定される場合に、前記第4のリストを利用して、前記M3個の設定項目に対応するM3個の前記OIDの中からM4個(M4はM3以下の整数)の書込対象のOIDを選択する第4の選択部と、
前記第2の通信装置においてL3個(L3は2以上の整数)の設定項目が指定される場合に、前記第4のリストを利用して、前記L3個の設定項目に対応するL3個の前記OIDの中からL4個(L4はL3以下の整数)の取得対象のOIDを選択する第5の選択部と、
として機能させ、
前記書込要求は、前記M4個の書込対象のOIDを含み、前記M3個のOIDのうちの(M3-M4)個のOIDを含まず、
前記第2の取得要求は、前記L4個の取得対象のOIDを含み、前記L3個のOIDのうちの(L3-L4)個のOIDを含まない、請求項16に記載のコンピュータプログラム。
【請求項18】
前記(L3-L4)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値は、前記SNMPを含む前記第1の通信方式を利用して、前記第1の通信装置から受信可能である、請求項17に記載のコンピュータプログラム。
【請求項19】
前記第2の通信方式は、HTTPS(Hypertext Transfer Protocol Secureの略)を含む、請求項12から18のいずれか一項に記載のコンピュータプログラム。
【請求項20】
前記書込要求は、複数個のセット情報を含み、
前記セット情報は、前記OIDと前記設定値とのセットを示す、請求項12から18のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、OIDを設定値と関連付けて記憶するデータベースを利用する通信装置に関する。
【背景技術】
【0002】
特許文献1には、MIB(Management Information Baseの略)のデータベースを備える周辺機器が開示されている。MIBのデータベース内の設定値の取得及びMIBへの設定値の書き込みには、SNMP(Simple Network Management Protocolの略)が利用される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008-065833号公報
【特許文献2】特開2004-264995号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、MIBのデータベースへ設定値をセキュアに書き込むための技術を提供する。
【課題を解決するための手段】
【0005】
本明細書によって開示される第1の通信装置は、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを設定値と関連付けて記憶するデータベースと、SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、第2の通信装置から書込要求を受信する書込要求受信部であって、前記書込要求は、OIDと設定値と、を含み、前記第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含む、前記書込要求受信部と、前記第2の通信装置から前記書込要求が受信される場合に、前記書込要求に含まれる前記OIDに関連付けて、前記書込要求に含まれる前記設定値を前記データベースに書き込む書込制御部と、を備えてもよい。
【0006】
本明細書は、さらに、第2の通信装置のためのコンピュータプログラムを開示する。当該コンピュータプログラムは、前記第2の通信装置のコンピュータを、以下の各部、即ち、SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、書込要求を第1の通信装置に送信する書込要求送信部であって、前記書込要求は、MIB(Management Information Baseの略)のOID(Object IDの略)と設定値と、を含み、前記第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含み、前記第1の通信装置は、前記第2の通信装置から前記書込要求が受信される場合に、前記書込要求に含まれる前記OIDに関連付けて、前記書込要求に含まれる前記設定値を前記MIBのデータベースに書き込む、前記書込要求送信部として機能させてもよい。
【0007】
第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含むため、SNMPを含む第1の通信方式よりもセキュアである。上記の第1の通信装置及びコンピュータプログラムによれば、比較的にセキュアな第2の通信方式を利用して、書込要求の通信を実行することができる。MIBのデータベースへ設定値をセキュアに書き込むことができる。
【0008】
上記の第1の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、上記の第1の通信装置によって実行される方法も新規で有用である。また、上記の第2の通信装置自身、及び、上記のコンピュータプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、上記の第2の通信装置によって実行される方法も新規で有用である。
【図面の簡単な説明】
【0009】
【
図4】プリンタと端末装置との間の通信プロトコルを示す。
【
図12】プリンタと端末装置との間の通信プロトコルを示す。
【発明を実施するための形態】
【0010】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、プリンタ10と端末装置100とを備える。各デバイス10、100は、LAN(Local Area Networkの略)4に接続されており、LAN4を介して相互に通信可能である。LAN4は、有線LANであってもよいし無線LANであってもよい。本実施例では、プリンタ10が、端末装置100からの要求に応じて、情報を書き込んだり送信したりすることを実現する。本実施例では、情報を取得するための取得要求は、HTTPS(Hypertext Transfer Protocol Secureの略)又はSNMP(Simple Network Management Protocolの略)に従ったコマンドである。また、本実施例では、情報を書き込むための書込要求は、HTTPSに従ったコマンドである。
【0011】
(プリンタ10の構成;
図2)
プリンタ10は、印刷機能を実行可能な周辺装置(例えば端末装置100の周辺装置)である。変形例では、プリンタ10は、印刷機能に加えて、スキャン機能、FAX機能等を実行可能な多機能機であってもよい。プリンタ10は、LANインターフェース20と、印刷実行部22と、制御部30と、を備える。各部20~30は、バス線(符号省略)に接続されている。なお、以下では、「インターフェース」を「I/F」と記載する。
【0012】
LANI/F20は、LAN4を介した通信を実行するためのI/Fであり、LAN4に接続されている。印刷実行部22は、インクジェット方式、レーザ方式等の印刷機構を備える。
【0013】
制御部30は、CPU32とメモリ34とを備える。メモリ34は、揮発性メモリと不揮発性メモリで構成される。CPU32は、メモリ34に格納されているプログラム40、42に従って、様々な処理を実行する。OS(Operating Systemの略)プログラム40は、プリンタ10の基本的な動作を制御するためのプログラムである。アプリ42は、後述するデータベース50にアクセスするためのプログラムである。メモリ34は、さらに、データベース50と、ホワイトリスト52と、を記憶する。なお、プログラム40、42、データベース50、及び、ホワイトリスト52は、例えば、メモリ34の内の不揮発性メモリに記憶される。
【0014】
データベース50は、プリンタ10の様々な情報(以下では「MIB値」と記載)を記憶する。MIB値は、例えば、プリンタ10の消耗品残量、MACアドレス、名前(即ちユーザ名)、IPアドレス、プリンタ10の設置場所、アクセス先、エラー履歴、ステータス(印刷実行中、待機中等)、印刷設定(例えばデフォルトの印刷解像度)等である。データベース50は、ツリー構造(即ち階層構造)を利用して上記の様々な情報を記憶する。このツリー構造を有する様々な情報の集合のことを「MIB(Management Information Base)の略」と呼ぶ。具体的には、データベース50は、内容とOID(Object IDの略)とMIB値とを関連付けて記憶する。内容は、MIB値の意味を示す文字列である。OIDは、各MIB値を識別する識別子である。
【0015】
ホワイトリスト52は、OIDのリストである。ホワイトリスト52は、後述する
図10、
図11の処理で利用される。なお、ホワイトリスト52は、データベース50とは別のデータ構成を有していてもよいし、データベース50の一部であってもよい。
【0016】
(端末装置100の構成;
図3)
端末装置100は、デスクトップPC、ノートPC、タブレットPC、携帯電話(例えばスマートフォン)等のユーザ端末である。端末装置100は、操作部110と、LANI/F120と、制御部130と、を備える。操作部110は、複数のキーを備える。ユーザは、操作部110を操作することによって、様々な指示を端末装置100に入力することができる。なお、操作部110は、いわゆるタッチパネルを含んでもよい。LANI/F120は、LAN4に接続されている。
【0017】
制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に格納されているプログラム140、142に従って、様々な処理を実行する。OSプログラム140は、端末装置100の基本的な動作を制御するためのプログラムである。アプリ142は、取得要求及び書込要求をプリンタ10に送信するためのプログラムである。アプリ142は、例えば、プリンタ10のベンダによって提供される。アプリ142は、例えば、インターネット上に設置されたサーバからダウンロードされる。
【0018】
メモリ134は、さらに、ホワイトリスト152を記憶する。ホワイトリスト152は、OIDのリストである。ホワイトリスト152は、アプリ142によってメモリ134に記憶される。ホワイトリスト52は、後述する
図7、
図8の処理で利用される。本実施例では、ホワイトリスト152は、プリンタ10のホワイトリスト52と同一である。なお、変形例では、ホワイトリスト152は、ホワイトリスト52と異なっていてもよく、例えば、ホワイトリスト152に含まれる一部のOIDが、ホワイトリスト52に含まれていなくてもよい。
【0019】
(プリンタ10と端末装置100の間の通信プロトコル;
図4、
図5)
プリンタ10と端末装置100との間でプリンタ10のMIB値を通信するための通信プロトコルとしては、OSI(Open Systems Interconnectionの略)参照モデルのトランスポート層のUDP(User Datagram Protocolの略)に従ったプロトコルが広く知られている。具体的には、SNMP(Simple Network Management Protocolの略)が知られている。SNMPは、SNMPv1、又は、SNMPv2cである。本発明者らは、MIB値を通信するための通信プロトコルとして、UDPだけでなく、OSI参照モデルのトランスポート層のTCP(Transmission Control Protocolの略)に従った通信プロトコルも利用することを創作した。具体的には、HTTPSを利用することを創作した。HTTPSは、ユーザ認証及び通信データ暗号化を採用しているので、SNMPv1及びSNMPv2よりも高いセキュリティを有するからである。これにより、プリンタ10のMIB値が第三者によって不正に書き込まれたり不正に取得されたりすることを抑制することができる。
【0020】
図4に示すように、LANI/F20は、SNMPを含む第1の通信方式及びHTTPSを含む第2の通信方式のいずれかを利用して、端末装置100と通信可能である。プリンタ10のアプリ42は、第2の通信方式を利用した通信を制御する。詳細は後述するが、アプリ42は、データベース50のうち、ホワイトリスト52内のOIDに関連付けて記憶されているMIB値の通信をMIBのインターフェース51を介して実行する。データベース50のうち、ホワイトリスト52外のOIDに関連付けて記憶されているMIB値は、SNMPによってMIBのインターフェース51を介して通信される。
【0021】
図5に示すように、SNMPとUDPとを含む第1の通信方式は、OSI参照モデルのネットワーク層のIP(Internet Protocolの略)の上位の階層である。ここで、SNMPは、OSI参照モデルのアプリケーション層である。SNMPは、端末装置100から受信したSNMPに従ったコマンドに従って、MIBのインターフェース51を介して、データベース50にアクセスする。具体的には、SNMPは、MIBのインターフェース51を介して、データベース50から情報を取得する。そして、SNMPは、データベース50から取得した情報をSNMPに従ったコマンドに対する応答として端末装置100に送信する。
【0022】
また、
図5に示すように、HTTPとTCPとTLS(Transport Layer Securityの略)とを含む第2の通信方式もIPの上位の階層である。ここで、HTTPは、OSI参照モデルのアプリケーション層であり、TLSは、OSI参照モデルのセッション層である。TLSは、通信データ暗号化を実行するプロトコルであり、SSL(Secure Socket Layerの略)の次世代の規格である。HTTPSは、HTTPとTLS(又はSSL)とを合わせた名称である。通常、HTTPSに従ったコマンド及びその応答は、JSON(Java Script Object Notationの略)、XML(Extensible Markup Languageの略)等の汎用的なフォーマットを採用する。本実施例では、プリンタ10と端末装置100との間では、JSONフォーマットを有するHTTPSに従ったコマンド及びその応答の通信が実行される。なお、変形例では、JSONフォーマットに代えてXMLフォーマットが採用されてもよい。
【0023】
HTTPは、ユーザ名(即ちID)とパスワードを利用した認証を実行する。プリンタ10のメモリ34には、HTTPの認証に利用される情報「Authentication(例えばユーザ名とパスワード)」が記憶されている。ここで、HTTPは、ベーシック認証とダイジェスト認証をサポートしている。ベーシック認証は、ユーザ名とパスワードをBase64でコード化して送信する方式である。ダイジェスト認証では、ユーザ名とパスワードをハッシュ化して送信する方法である。ベーシック認証では、Base64でコード化された平文が送信される一方、ダイジェスト認証では、ハッシュ化された値が送信される。このため、ダイジェスト認証の方が、ベーシック認証よりもセキュアである。本実施例では、ダイジェスト認証が利用される。なお、変形例では、ベーシック認証が利用されてもよい。
【0024】
図5に示すように、プリンタ10のアプリ42は、HTTPの上位の階層である。アプリ42は、端末装置100から受信したHTTPSに従ったコマンドに含まれるJSONフォーマットの記述を解釈し、MIBのインターフェース51を介して、データベース50にアクセスする。また、アプリ42は、MIBのインターフェース51を介したデータベース50へのアクセスの結果(例えばデータベース50内の情報)をJSONフォーマットとして記述して応答を作成する。
【0025】
(端末装置100の処理;
図6)
図6を参照して、端末装置100のCPU132がアプリ142に従って実行する処理を説明する。
図6の処理は、アプリ142が起動されることをトリガとして開始される。
【0026】
CPU132は、S10において、操作部110でプリンタ10のMIB値を取得するための取得操作が行われることを監視し、S20において、操作部110でMIB値をプリンタ10に書き込むための書込操作が行われることを監視する。取得操作は、プリンタ10の複数個のMIB値に対応する複数個の項目(即ち複数個の内容)の中から1個以上の項目を指定する操作を含む。書込操作は、プリンタ10に書き込まれるべき1個以上のMIB値(即ちIPアドレス、印刷設定等の設定値)に対応する1個以上の項目を指定する操作と、指定済みの1個以上の項目のそれぞれについて、プリンタ10に書き込まれるべきMIB値を入力する操作と、を含む。取得操作及び書込操作は、例えば、端末装置100のディスプレイ(図示省略)に表示される画面を操作することである。
【0027】
CPU132は、操作部110で取得操作が行われる場合(S10でYES)に、S12において、取得要求を生成するための取得要求生成処理(
図7参照)を実行する。取得要求は、HTTPに従った取得要求(以下では「HTTP取得要求」と記載)及びSNMPに従った取得要求(以下では「SNMP取得要求」と記載)のうちの少なくとも一方である。HTTP取得要求は、例えば、ヘッダに「X-HTTP-Method-Override “GET”」が記述された、HTTPのPOSTメソッドに従ったコマンドである(
図7参照)。なお、変形例では、HTTP取得要求は、HTTPのGETメソッドに従ったコマンドでもよい。また、SNMP取得要求は、例えば、SNMPのGETメソッドに従ったコマンドである。
【0028】
続くS14では、CPU132は、LANI/F120及びLAN4を介して、S12の取得要求生成処理で生成された取得要求をプリンタ10に送信する。HTTP取得要求が生成される場合には、端末装置100とプリンタ10との間でHTTPのユーザ認証が実行される。ユーザ認証が成功すると、端末装置100とプリンタ10との間にTLSのセッションが確立される。HTTP取得要求は、TLSのセッションを利用して、プリンタ10に送信される。即ち、HTTP取得要求は、TLSに従って暗号化される。一方、SNMP取得要求が生成される場合には、ユーザ認証は実行されない。さらに、SNMP取得要求も暗号化されない。
【0029】
S14に続くS30では、CPU132は、LANI/F120及びLAN4を介して、S14で送信された取得要求に対する応答として処理応答を受信する。ここで、HTTP取得要求に対する処理応答は、TLSに従って暗号化される一方、SNMP取得要求に対する処理応答は、暗号化されない。S30が終了すると、CPU132は、S10及びS20の監視に戻る。
【0030】
また、CPU132は、操作部110で書込操作が行われる場合(S20でYES)に、S22において、書込要求を生成するための書込要求生成処理(
図8参照)を実行する。書込要求は、HTTPのPOSTメソッドに従ったコマンドである。
【0031】
続くS24は、S22で生成された書込要求がプリンタ10に送信される点を除いて、S14と同様である。なお、書込要求が送信される場合も、HTTPのユーザ認証が実行され、かつ、書込要求は、TLSに従って暗号化される。
【0032】
S24に続くS30では、CPU132は、LANI/F120及びLAN4を介して、S24で送信された書込要求に対する応答として処理応答を受信する。なお、書込要求に対する処理応答は、TLSに従って暗号化される。
【0033】
(取得要求生成処理;
図7)
図6のS12の取得要求生成処理について説明する。S40では、CPU132は、取得操作において選択された1個以上の内容に対応する1個以上のOID(以下では、「1個以上の対象のOID」と記載)の中から1個のOIDを選択する。
【0034】
続くS42では、CPU132は、S40で選択された1個のOIDがホワイトリスト152内に存在するのか否かを判断する。ホワイトリスト152は、例えば、秘匿性が比較的に高いMIB値に対応するOIDを含む。ホワイトリスト152内のOIDは、例えば、private MIBのOIDである。
【0035】
CPU132は、S40で選択された1個のOIDがホワイトリスト152内に存在すると判断する場合(S42でYES)に、S44において、S40で選択された1個のOIDをHTTP取得要求に追加する。具体的には、
図7に示すように、「key」と当該OID(例えば「1.3.6.1.4.1.xxxxxx.1」)の組がHTTP取得要求のボディ部に記述される。
【0036】
また、CPU132は、S40で選択された1個のOIDがホワイトリスト152内に存在しないと判断する場合(S42でNO)に、S48において、S40で選択された1個のOIDをSNMP取得要求に追加する。当該OIDも、SNMP取得要求のボディ部(図示省略)に記述される。
【0037】
S44又はS48の処理が終了すると、CPU132は、S46において、1個以上の対象のOIDの中に未選択のOIDが存在するのか否かを判断する。CPU132は、1個以上の対象のOIDの中に未選択のOIDが存在すると判断する場合(S46でYES)に、S40に戻って、別のOIDを選択する。
【0038】
また、CPU132は、1個以上の対象のOIDの中に未選択のOIDが存在しないと判断する場合(S46でNO)に、
図7の処理を終了する。
【0039】
(書込要求生成処理;
図8)
図6のS24の書込要求生成処理について説明する。S50、S52は、書込操作において入力された1個以上のMIB値に対応する1個以上のOIDが利用される点を除いて、
図7のS40、S42と同様である。
【0040】
CPU132は、S50で選択された1個のOIDがホワイトリスト152内に存在すると判断する場合(S42でYES)に、S54において、S40で選択された1個のOIDを書込要求に追加する。具体的には、「key」と当該OIDとプリンタ10に書き込まれるべきMIB値(即ちユーザに入力されたMIB値)との組がHTTPSに従った書込要求のボディ部に記述される。S54が終了すると、CPU132は、S56に進む。
【0041】
また、CPU132は、S50で選択された1個のOIDがホワイトリスト152内に存在しないと判断する場合(S42でNO)に、S54の処理をスキップして、S56に進む。S56は、
図7のS46と同様である。即ち、ホワイトリスト152によりMIB値の書き込みの許可及び不許可が設定される。
【0042】
(プリンタ10の処理;
図9)
図9を参照して、プリンタ10のCPU32が各プログラム(例えば42)及び各プロトコル(例えばSNMP)に従って実行する処理を説明する。
図9の処理は、プリンタ10の電源がONされることをトリガとして開始される。
【0043】
CPU32は、S100において、HTTPを利用してMIBのデータベース50にアクセスするイベントが発生することを監視し、S130において、SNMPを利用してMIBのデータベース50にアクセスするイベントが発生することを監視する。S100のイベントは、LANI/F20が端末装置100からHTTPに従ったコマンドを受信することを含む。S130のイベントは、LANI/F20がSNMPに従ったコマンドを受信することを含む。
【0044】
CPU32は、S100のイベントが発生する場合(S100でYES)に、アプリ42に従って、S102以降の処理を実行する。S102では、CPU32は、端末装置100とプリンタ10との間のHTTPのユーザ認証が成功したのか否かを判断する。CPU32は、ユーザ認証が成功したと判断する場合(S102でYES)に、S104に進む。
【0045】
S104では、CPU32は、端末装置100から受信したHTTPに従ったコマンド(以下では、「受信済みコマンド」と記載)が取得要求であるのか否かを判断する。CPU32は、受信済みコマンドが取得要求であると判断する場合(S104でYES)に、S106において、取得要求に従った処理である取得要求処理(
図10参照)を実行する。S106に続くS120では、CPU32は、LANI/F20及びLAN4を介して、S106の取得要求処理で生成された処理応答を端末装置100に送信する。S120は、アプリ42に従って実行されてもよいし、HTTPに従って実行されてもよい。S120が終了すると、CPU32は、S100及びS130の監視に戻る。
【0046】
また、CPU32は、受信済みコマンドが取得要求でないと判断する場合(S104でNO)に、S108において、受信済みコマンドが書込要求であるのか否かを判断する。CPU32は、受信済みコマンドが書込要求であると判断する場合(S106でYES)に、S110において、書込要求に従った処理である書込要求処理(
図11参照)を実行する。S110に続くS120では、CPU32は、LANI/F20及びLAN4を介して、S110の書込要求処理で生成された処理応答を端末装置100に送信する。
【0047】
また、CPU32は、ユーザ認証が失敗したと判断する場合(S102でNO)、又は、受信済みコマンドが取得要求と書込要求のいずれでもない(例えばプリンタ10がサポートしていない要求)と判断する場合(S108でNO)に、S106~S120の処理をスキップして、S122に進む。S122では、CPU32は、LANI/F20及びLAN4を介して、失敗応答を端末装置100に送信する。失敗応答は、受信済みコマンドに従った処理が失敗したことを示す。S122が終了すると、CPU32は、S100及びS130の監視に戻る。
【0048】
また、S130では、CPU32は、S130のイベントが発生する場合(S130でYES)に、S132に進む。S132では、CPU32は、SNMP処理を実行する。SNMP処理は、LANI/F20及びLAN4を介して、SNMPに従ったコマンドに対する応答を端末装置100に送信することを含む。例えば、SNMPに従ったコマンドがSNMP取得要求(
図7のS48参照)である場合には、CPU32は、SNMP取得要求に含まれる1個以上のOIDのそれぞれを特定する。そして、CPU32は、特定済みの1個以上のOIDのそれぞれについて、データベース50から当該OIDに関連付けて記憶されているMIB値を取得する。そして、CPU32は、取得済みの1個以上のMIB値を含むSNMPに従った応答を端末装置100に送信する。S132が終了すると、CPU32は、S100及びS130の監視に戻る。
【0049】
(取得要求処理;
図10)
図9のS106の取得要求処理について説明する。S140では、CPU32は、HTTP取得要求に含まれる1個以上の「key」の中から1個の「key」を選択する。
【0050】
続くS142では、CPU32は、HTTP取得要求からS140で選択された1個の「key」に関連付けて含まれるOIDを特定する。そして、CPU32は、特定済みのOIDがホワイトリスト52内に存在するのか否かを判断する。ホワイトリスト52は、端末装置100のホワイトリスト152と同様に、秘匿性が比較的に高いMIB値に対応するOIDを含む。
【0051】
CPU32は、特定済みのOIDがホワイトリスト52内に存在しないと判断する場合(S142でNO)に、後述するS144及びS146の処理をスキップして、S148に進む。S148では、CPU32は、HTTP取得要求に含まれる1個以上の「key」の中に未選択の「key」が存在するのか否かを判断する。CPU32は、HTTP取得要求に含まれる1個以上の「key」の中に未選択の「key」が存在すると判断する場合(S148でYES)に、S140に戻って、別の「key」を選択する。
【0052】
また、CPU32は、HTTP取得要求に含まれる1個以上の「key」の中に未選択の「key」が存在しないと判断する場合(S148でNO)に、
図10の処理を終了する。
【0053】
また、CPU32は、特定済みのOIDがホワイトリスト52内に存在すると判断する場合(S142でYES)に、S144において、MIBのインターフェース51を介して、データベース50から特定済みのOIDに関連付けて記憶されているMIB値を取得する。
【0054】
S146では、CPU32は、S144で取得されたMIB値をHTTP取得要求に対する処理応答に追加する。具体的には、
図10に示すように、「key」と特定済みのOID(例えば「1.3.6.1.4.1.xxxxxx.1」)と取得済みのMIB値(例えばメールアドレス(アカウント名「admin」及びサーバ名「example.com」))の組が処理応答のボディ部に記述される。S146の処理が終了すると、CPU32は、S148に進む。
【0055】
(書込要求処理;
図11)
図9のS110の書込要求処理について説明する。S150、S152は、書込要求に含まれる1個以上の「key」が利用される点を除いて、
図10のS140、S142と同様である。
【0056】
CPU32は、特定済みのOIDがホワイトリスト152内に存在すると判断する場合(S152でYES)に、S154において、書込要求から特定済みのOIDに関連付けて含まれるMIB値を特定する。そして、CPU32は、MIBのインターフェース51を介して、特定済みのOIDに関連付けて特定済みのMIB値をデータベース50に書き込む。別言すれば、データベース50内の特定済みのOIDに関連付けて記憶されているMIB値が書込要求内のMIB値に更新される。
【0057】
続くS156では、CPU32は、特定済みのMIB値の書き込みが成功したことを示す成功ステータス「OK」を書込要求に対する処理応答に追加する。具体的には、
図11に示すように、「key」と特定済みのOID(例えば「1.3.6.1.4.1.xxxxxx.1」)と成功ステータス「OK」の組が処理応答のボディ部に記述される。S156が終了すると、CPU32は、S158に進む。S158は、書込要求に含まれる1個以上の「key」が利用される点を除いて、
図10のS148と同様である。
【0058】
また、CPU32は、特定済みのOIDがホワイトリスト152内に存在しないと判断する場合(S152でNO)に、S154及びS156の処理をスキップして、S158に進む。ホワイトリスト152によりMIB値の書き込みの許可及び不許可が設定される。
【0059】
(本実施例の効果)
HTTPSは、ユーザ認証及び通信データの暗号化の双方を含むため、SNMPよりもセキュアである。本実施例では、比較的にセキュアなHTTPSを利用して、書込要求の通信を実行することができる(
図6のS22及びS24、
図9のS108及びS110)。MIBのデータベース50へMIB値(即ち設定値)をセキュアに書き込むことができる。特に、MIBは広く知られており、データベース50の管理方法をMIB以外の手段に切り換えると汎用性が低下する可能性がある。本実施例では、広く知られたMIBを別の手段に切り換えることなく、セキュアな書き込みを実現することができる。汎用性の低下を抑制することができる。
【0060】
また、本実施例では、比較的にセキュアなHTTPSを利用して、取得要求の通信も実行することができる(
図6のS12及びS14、
図9のS104及びS106)。データベース50内のMIB値を端末装置100にセキュアに送信することができる。
【0061】
また、
図7のS48の処理(SNMP取得要求の送信)が実行されない比較例が想定される。この比較例では、端末装置100は、
図6のS10において指定された1個以上の項目のうち、ホワイトリスト152外のOIDに対応するMIB値を受信できない。これに対して、本実施例では、端末装置100は、SNMPを利用して、ホワイトリスト152外のOIDに対応するMIB値(例えば秘匿性が比較的に低いMIB値)を受信することができる。端末装置100のユーザの利便性が向上する。なお、変形例では、上記の比較例が採用されてよい。
【0062】
また、
図9のS130及びS132の処理が実行されない比較例が想定される。この比較例では、プリンタ10は、端末装置100からのSNMP取得要求に対する応答を送信しない。ユーザによって指定された項目に対応するMIB値が取得できない場合がある。これに対して、本実施例では、SNMP取得要求に対する応答を送信するSNMP処理が実行される。端末装置100のユーザの利便性が向上する。なお、変形例では、上記の比較例が採用されてよい。
【0063】
また、ホワイトリスト152を利用した判断(
図7のS42、
図8のS52)及びホワイトリスト52を利用した判断(
図10のS142、
図11のS152)が実行されない比較例が想定される。この比較例では、ホワイトリスト152外のOIDに対応するMIB値、即ち、秘匿性が比較的に低いMIB値もHTTPで暗号化される。これに対して、本実施例では、秘匿性が比較的に低いMIB値は、暗号化されずに端末装置100と通信される。本実施例では、秘匿性が比較的に低いMIB値が不必要に暗号化されることを抑制することができる。なお、変形例では、上記の比較例が採用されてよい。
【0064】
また、ホワイトリスト52及び152に代えてブラックリストを利用する比較例が想定される。例えば、データベース50に新しいOIDが追加される状況を想定する。新しいOIDに対応するMIB値の通信を禁止するには、新しいOIDをブラックリストに追加する必要がある。新しいOIDのブラックリストが追加されないと、新しいOIDに対応するMIB値が漏洩する可能性がある。これに対して、本実施例では、新しいOIDがホワイトリストに追加されない限り、新しいOIDに対応するMIB値の通信は実行されない。新しいOIDに対応するMIB値の漏洩を抑制することができる。なお、変形例では、上記のブラックリストが採用されてもよい。
【0065】
また、本実施例のプリンタ10は、SNMPに従った書込要求に従ったデータベース50への書き込みを許可する機能を有していてもよい。本実施例では、当該機能の利用は許可されていない。
【0066】
(対応関係)
プリンタ10、メモリ34、データベース50が、それぞれ、「第1の通信装置」、「メモリ」、「データベース」の一例である。ホワイトリスト52が、「第2のリスト」の一例である。端末装置100、ホワイトリスト152が、それぞれ、「第2の通信装置」、「第4のリスト」の一例である。HTTP取得要求が、「第2の取得要求」の一例である。
【0067】
図9のS108、S110が、それぞれ、「書込要求受信部」、「書込制御部」によって実現される処理の一例である。
図6のS24が、「書込要求送信部」によって実現される処理の一例である。
【0068】
(第2実施例)
(通信システム2の構成;
図1)
本実施例の通信システム2の構成は、第1実施例と同様である。本実施例では、取得要求は、SNMPに従ったコマンドであり、書込要求は、HTTPS従ったコマンドである。本実施例では、アプリ42は、第2の通信方式を利用した通信を制御する。
【0069】
(端末装置100の処理;
図13)
S210、S220の監視は、
図6のS10、S20の監視と同様である。操作部110で書込操作が行われる場合(S120でYES)に実行されるS222~S230の処理は、
図6のS22~S30と同様である。
【0070】
CPU132は、操作部110で取得操作が行われる場合(S210でYES)に、S212において、LANI/F120及びLAN4を介して、SNMP取得要求をプリンタ10に送信する。S212のSNMP取得要求は、取得操作において選択された内容の全てに対応するOIDを含む。
【0071】
続くS214では、CPU132は、LANI/F120及びLAN4を介して、S212に対する処理応答を受信する。S214の処理応答は、S210のSNMP取得要求に含まれる全てのOIDのそれぞれについて、当該OIDと、データベース50内の当該OIDに対応するMIB値と、を含む。S214が終了すると、CPU132は、S210、S220の監視に戻る。
【0072】
(プリンタ10の処理;
図14)
S300、S302、S304、S330は、
図9のS100、S102、S108、S130と同様である。本実施例では、CPU32は、端末装置100から受信したHTTPに従ったコマンドが書込要求であると判断する場合(S304でYES)に、S306及びS320に進む。S306及びS320は、
図9のS110、S120と同様である。
【0073】
また、CPU32は、端末装置100から受信したHTTPに従ったコマンドが書込要求でないと判断する場合(S304でNO)に、S322に進む。S322は、
図9のS122と同様である。即ち、書込要求以外の要求(例えばHTTP取得要求)が受信される場合には、当該要求に従った処理が実行されず、失敗応答が端末装置100に送信される。
【0074】
また、CPU32は、SNMPを利用してMIBのデータベース50にアクセスするイベントが発生する場合(S330)に、S331に進む。S331では、CPU32は、端末装置100から受信したSNMPに従ったコマンドがSNMP取得要求であるのか否かを判断する。CPU32は、端末装置100から受信したコマンドがSNMP取得要求であると判断する場合(S331でYES)に、S332に進む。S332は、
図9のS132と同様である。
【0075】
また、CPU32は、端末装置100から受信したコマンドがSNMP取得要求でないと判断する場合(S331でNO)に、S332の処理をスキップして、
図14の処理を終了する。例えば、端末装置100から受信したコマンドがSNMPに従った書込要求である場合には、CPU32は、SNMPに従った書込要求に対するSNMP処理を実行しない。SNMPに従った通信を利用してMIB値が書き込まれることを抑制することができる。
【0076】
(本実施例の効果)
本実施例でも、第1実施例と同様に、HTTPSを利用して、MIBのデータベース50へMIB値をセキュアに書き込むことができる。
【0077】
また、本実施例では、プリンタ10内のMIB値の取得には、HTTPSが利用されない。MIB値の書き込みは、MIB値の取得と比較して、プリンタ10の動作に与える影響が大きい。本実施例では、プリンタ10の動作に与える影響が大きい書き込みについては、セキュアに実行することを優先する一方、プリンタ10の動作に与える影響が小さい取得については、従来のSNMPを利用して、ユーザの利便性が低下することを抑制する。本実施例では、セキュアな通信とユーザの利便性の低下の抑制との両立を図ることができる。
【0078】
また、本実施例でも、ホワイトリスト52及び152を利用した判断(
図8のS52、
図11のS152)が実行される。ホワイトリスト52及び152によりMIB値の書き込みの許可及び不許可を設定することができる。例えば、ホワイトリスト52及び152内のOIDは、個人情報(例えば住所録等)、IPアドレス等のOIDである。
【0079】
また、本実施例では、ホワイトリスト52及び152は、HTTPSに従った書込要求に利用され、SNMPに従った取得要求には利用されない(
図13のS212)。MIB値の書き込みと比較して、ユーザは、MIB値の取得を制限されない。ユーザの利便性が向上する。
【0080】
また、本実施例では、
図12に示すように、プリンタ10のメモリ34には、SNMP設定情報60が記憶される。SNMP設定情報60は、SNMP取得要求に従ったSNMP処理(即ちS332の処理)を許可する「ON」と、SNMP取得要求に従ったSNMP処理を禁止する「OFF」と、のいずれかの値に設定される。デフォルトでは、SNMP設定情報60は「ON」を示す。SNMP設定情報を「ON」から「OFF」に変更することにより、SNMPを利用した通信を制限することができる。なお、変形例では、SNMP取得要求に対応する設定情報とSNMPに従った書込要求に対応する設定情報とを含むSNMP設定情報60が記憶されてもよい。本変形例では、例えば、SNMP取得要求に対応する設定情報のデフォルトは、「ON(即ち許可)」であり、SNMPに従った書込要求に対応する設定情報のデフォルトは、「OFF」であってもよい。
【0081】
(対応関係)
ホワイトリスト52、SNMP設定情報60が、それぞれ、「第1のリスト」、「設定情報」の一例である。ホワイトリスト152が、「第3のリスト」の一例である。SNMP取得要求が、「第1の取得要求」の一例である。
【0082】
図14のS304、S306が、それぞれ、「書込要求受信部」、「書込制御部」によって実現される処理の一例である。
図13のS224が、「書込要求送信部」によって実現される処理の一例である。
【0083】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0084】
(変形例1) 「第1の通信装置」は、プリンタ10に限らず、例えば、デスクトップPC等の端末装置、サーバ等であってもよい。「第2の通信装置」は、端末装置100に限らず、プリンタ10等の周辺機器、サーバ等であってもよい。
【0085】
(変形例2) 「第2の通信方式」は、TLSを含まず、HTTPを含んでもよい。別言すれば、「書込要求(及び取得要求)」は、TLS(又はSSL)を利用せず、HTTPを利用してもよい。
【0086】
(変形例3) 「送信元の認証」は、ユーザ認証に限らず、例えば、書込要求を送信した装置の認証であってもよい。また、「第2の通信方式」は、通信データの暗号化及び書込要求の送信元の認証のうちの少なくとも1つを含んでいればよく、通信データの暗号化及び書込要求の送信元の認証のうちの少なくとも1つを含むプロトコルであれば、HTTP及びHTTPSに限らない。
【0087】
(変形例4) プリンタ10は、ホワイトリスト52を記憶していなくてもよい。また、端末装置100は、ホワイトリスト152を記憶していなくてもよい。本変形例では、「第1のリスト」、「第2のリスト」、「第3のリスト」、及び、「第4のリスト」のうちの少なくとも1つを省略可能である。さらに、本変形例では、
図7のS42、
図8のS52、
図10のS142、
図11のS152のうちの少なくとも1つの処理も省略可能である。
【0088】
(変形例5) 第1実施例の
図9のS104、S106の処理は実行されなくてもよい。本変形例では、「第2の取得要求」を受信することを省略可能である。
【0089】
(変形例6) 第1実施例の
図9のS132の処理は実行されなくてもよい。本変形例では、「前記(L1-L2)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値は、前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置に送信可能」でなくてもよい。
【0090】
(変形例7) 第2実施例の
図14のS331、S332の処理は実行されなくてもよい。本変形例では、「第1の取得要求」を受信することを省略可能である。
【0091】
(変形例8) 第2実施例の
図14のS332の処理においてホワイトリスト52を利用して取得対象のOIDが選択されてもよい。
【0092】
(変形例9) 第2実施例において、SNMPに従った書込要求がプリンタ10に受信される場合(S331でNO)に、当該書込要求に含まれる全てのMIB値の一部についてはデータベース50への書き込みが許可されてもよい。
【0093】
(変形例10) SNMP設定情報60はメモリ34に記憶されていなくてもよい。本変形例では、「設定情報」を省略可能である。
【0094】
(変形例11) 第1実施例の
図6のS12、S14の処理は実行されなくてもよい。本変形例では、「第2の取得要求」を送信することを省略可能である。
【0095】
(変形例12) 第1実施例の
図7のS48の処理は実行されなくてもよい。本変形例では、「前記(L3-L4)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値は、前記SNMPを含む前記第1の通信方式を利用して、前記第1の通信装置から受信可能」でなくてもよい。
【0096】
(変形例13) 第2実施例の
図13のS212、S214の処理は実行されなくてもよい。本変形例では、「第1の取得要求」を送信することを省略可能である。
【0097】
(変形例14)
図13のS212の処理においてホワイトリスト152を利用してSNMP取得要求に含まれるOIDが選択されてもよい。
【0098】
(変形例15) 上記の実施例では、CPU32(又は132)がプログラム40、42(又は140、142)を実行することによって、
図6~
図11、
図13及び
図14の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0099】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0100】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
第1の通信装置であって、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを設定値と関連付けて記憶するデータベースと、
SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、第2の通信装置から書込要求を受信する書込要求受信部であって、前記書込要求は、OIDと設定値と、を含み、前記第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含む、前記書込要求受信部と、
前記第2の通信装置から前記書込要求が受信される場合に、前記書込要求に含まれる前記OIDに関連付けて、前記書込要求に含まれる前記設定値を前記データベースに書き込む書込制御部と、
を備える、第1の通信装置。
(項目2)
前記第1の通信装置は、さらに、
前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置から第1の取得要求を受信する第1の取得要求受信部であって、前記第1の取得要求は、前記OIDを含む、前記第1の取得要求受信部と、
前記第2の通信装置から前記第1の取得要求が受信される場合に、前記第1の通信方式を利用して、前記データベースにおいて前記第1の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信する第1の値送信部と、
を備える、項目1に記載の第1の通信装置。
(項目3)
前記第1の通信装置のメモリは、所定のOIDのリストである第1のリストを記憶し、
前記第1の通信装置は、さらに、
前記第2の通信装置から前記書込要求が受信される場合に、前記第1のリストを利用して、前記書込要求に含まれるN1個(Nは2以上の整数)の前記OIDの中からN2個(N2はN1以下の整数)の書込対象のOIDを選択する第1の選択部を備え、
前記書込要求は、前記N2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて書込対象の前記設定値を含み、
前記書込制御部は、前記N2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて、当該書込対象のOIDに対応する前記書込対象の設定値を前記データベースに書き込み、
(N1-N2)個の前記OIDのそれぞれに対応する前記書込要求内の前記設定値は、前記データベースに書き込まれない、項目2に記載の第1の通信装置。
(項目4)
前記第1の値送信部は、前記第1のリストを利用することなく、前記第1の取得要求に含まれる2個以上の前記OIDのそれぞれについて、前記データベースにおいて当該OIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信する、項目3に記載の第1の通信装置。
(項目5)
前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置から前記設定値の書き込みを要求する所定要求が受信されても、前記所定要求に従った前記設定値の書き込みは実行されない、項目2から4のいずれか一つに記載の第1の通信装置。
(項目6)
前記第1の通信装置のメモリは、さらに、SNMPに関する設定情報を含み、
前記設定情報は、前記第1の通信方式を利用した前記第1の取得要求に従った処理を許可する第1のデフォルト値と、前記第1の通信方式を利用した前記所定要求に従った処理を禁止する第2のデフォルト値と、を含む、項目5に記載の第1の通信装置。
(項目7)
前記第1の通信装置は、さらに、
前記第2の通信方式を利用して、前記第2の通信装置から第2の取得要求を受信する第2の取得要求受信部であって、前記第2の取得要求は、前記OIDを含む、前記第2の取得要求受信部と、
前記第2の通信装置から前記第2の取得要求が受信される場合に、前記第2の通信方式を利用して、前記データベースにおいて前記第2の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信する第2の値送信部と、
を備える、項目1に記載の第1の通信装置。
(項目8)
前記第1の通信装置のメモリは、所定のOIDのリストである第2のリストを記憶し、
前記第1の通信装置は、さらに、
前記第2の通信装置から前記書込要求が受信される場合に、前記第2のリストを利用して、前記書込要求に含まれるM1個(M1は2以上の整数)の前記OIDの中からM2個(M2はM1以下の整数)の書込対象のOIDを選択する第2の選択部と、
前記第2の通信装置から前記第2の取得要求が受信される場合に、前記第2のリストを利用して、前記第2の取得要求に含まれるL1個(L1は2以上の整数)の前記OIDの中からL2個(L2はL1以下の整数)の取得対象のOIDを選択する第3の選択部と、
を備え、
前記書込要求は、前記M2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて書込対象の前記設定値を含み、
前記書込制御部は、前記M2個の書込対象のOIDのそれぞれについて、当該書込対象のOIDに関連付けて、当該書込対象のOIDに対応する前記書込対象の設定値を前記データベースに書き込み、
(M1-M2)個のOIDのそれぞれに対応する前記書込要求内の前記設定値は、前記データベースに書き込まれず、
前記第2の値送信部は、前記L2個の取得対象のOIDのそれぞれについて、前記データベースにおいて当該取得対象のOIDに関連付けて記憶されている前記設定値を前記第2の通信装置に送信し、
前記第2の取得要求に含まれる(L1-L2)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値の前記第2の通信方式を利用した送信は実行されない、項目7に記載の第1の通信装置。
(項目9)
前記(L1-L2)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値は、前記SNMPを含む前記第1の通信方式を利用して、前記第2の通信装置に送信可能である、項目8に記載の第1の通信装置。
(項目10)
前記第2の通信方式は、HTTPS(Hypertext Transfer Protocol Secureの略)を含む、項目1から9のいずれか一つに記載の第1の通信装置。
(項目11)
前記書込要求は、複数個のセット情報を含み、
前記セット情報は、前記OIDと前記設定値とのセットを示す、項目1から10のいずれか一つに記載の第1の通信装置。
(項目12)
第2の通信装置のためのコンピュータプログラムであって、
前記第2の通信装置のコンピュータを、以下の各部、即ち、
SNMP(Simple Network Management Protocolの略)を含む第1の通信方式とは異なる第2の通信方式を利用して、書込要求を第1の通信装置に送信する書込要求送信部であって、前記書込要求は、MIB(Management Information Baseの略)のOID(Object IDの略)と設定値と、を含み、前記第2の通信方式は、通信データの暗号化及び前記書込要求の送信元の認証のうちの少なくとも1つを含み、前記第1の通信装置は、前記第2の通信装置から前記書込要求が受信される場合に、前記書込要求に含まれる前記OIDに関連付けて、前記書込要求に含まれる前記設定値を前記MIBのデータベースに書き込む、前記書込要求送信部として機能させる、コンピュータプログラム。
(項目13)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記SNMPを含む前記第1の通信方式を利用して、第1の取得要求を前記第1の通信装置に送信する第1の取得要求送信部であって、前記第1の取得要求は、前記OIDを含む、前記第1の取得要求送信部と、
前記第1の通信方式を利用して、前記第1の取得要求に対する第1の応答を受信する第1の応答受信部であって、前記第1の応答は、前記データベースにおいて前記第1の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を含む、前記第1の応答受信部と、
として機能させる、項目12に記載のコンピュータプログラム。
(項目14)
前記第2の通信装置は、所定のOIDのリストである第3のリストを記憶し、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の通信装置においてN3個(N3は2以上の整数)の設定項目が指定される場合に、前記第3のリストを利用して、前記N3個の設定項目に対応するN3個の前記OIDの中からN4個(N4はN3以下の整数)の書込対象のOIDを選択する第3の選択部として機能させ、
前記書込要求は、前記N4個の書込対象のOIDを含み、前記N3個のOIDのうちの(N3-N4)個のOIDを含まない、項目13に記載のコンピュータプログラム。
(項目15)
前記第1の取得要求送信部は、前記第2の通信装置においてK個(Kは2以上の整数)の設定項目が指定される場合に、前記第3のリストを利用することなく、前記K個の設定項目に対応するK個の前記OIDを含む前記第1の取得要求を前記第1の通信装置に送信する、項目14に記載のコンピュータプログラム。
(項目16)
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の通信方式を利用して、第2の取得要求を前記第1の通信装置に送信する第2の取得要求送信部であって、前記第2の取得要求は、前記OIDを含む、前記第2の取得要求送信部と、
前記第2の通信方式を利用して、前記第2の取得要求に対する第2の応答を受信する第2の応答受信部であって、前記第2の応答は、前記データベースにおいて前記第2の取得要求に含まれる前記OIDに関連付けて記憶されている前記設定値を含む、前記第2の応答受信部と、
として機能させる、項目12に記載のコンピュータプログラム。
(項目17)
前記第2の通信装置は、所定のOIDのリストである第4のリストを記憶し、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2の通信装置においてM3個(M3は2以上の整数)の設定項目が指定される場合に、前記第4のリストを利用して、前記M3個の設定項目に対応するM3個の前記OIDの中からM4個(M4はM3以下の整数)の書込対象のOIDを選択する第4の選択部と、
前記第2の通信装置においてL3個(L3は2以上の整数)の設定項目が指定される場合に、前記第4のリストを利用して、前記L3個の設定項目に対応するL3個の前記OIDの中からL4個(L4はL3以下の整数)の取得対象のOIDを選択する第5の選択部と、
として機能させ、
前記書込要求は、前記M4個の書込対象のOIDを含み、前記M3個のOIDのうちの(M3-M4)個のOIDを含まず、
前記第2の取得要求は、前記L4個の取得対象のOIDを含み、前記L3個のOIDのうちの(L3-L4)個のOIDを含まない、項目16に記載のコンピュータプログラム。
(項目18)
前記(L3-L4)個のOIDのそれぞれに関連付けて前記データベースに記憶されている前記設定値は、前記SNMPを含む前記第1の通信方式を利用して、前記第1の通信装置から受信可能である、項目17に記載のコンピュータプログラム。
(項目19)
前記第2の通信方式は、HTTPS(Hypertext Transfer Protocol Secureの略)を含む、項目12から18のいずれか一つに記載のコンピュータプログラム。
(項目20)
前記書込要求は、複数個のセット情報を含み、
前記セット情報は、前記OIDと前記設定値とのセットを示す、項目12から19のいずれか一つに記載のコンピュータプログラム。
【符号の説明】
【0101】
2 :通信システム
4 :LAN
10 :プリンタ
20 :LANI/F
22 :印刷実行部
30 :制御部
32 :CPU
34 :メモリ
40 :OSプログラム
42 :アプリ
50 :データベース
52 :ホワイトリスト
60 :SNMP設定情報
100 :端末装置
110 :操作部
120 :LANI/F
130 :制御部
132 :CPU
134 :メモリ
140 :OSプログラム
142 :アプリ
152 :ホワイトリスト