(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018410
(43)【公開日】2024-02-08
(54)【発明の名称】通信装置と端末装置のためのコンピュータプログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20240201BHJP
G06F 21/31 20130101ALI20240201BHJP
【FI】
G06F21/62 318
G06F21/31
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2022121740
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】松田 宗久
(72)【発明者】
【氏名】伊津見 光樹
(72)【発明者】
【氏名】松下 聡
(72)【発明者】
【氏名】柳 哲
(72)【発明者】
【氏名】大原 清孝
(72)【発明者】
【氏名】榎本 勝則
(72)【発明者】
【氏名】矢田 裕紀
(72)【発明者】
【氏名】森 匡平
(72)【発明者】
【氏名】野川 英樹
(72)【発明者】
【氏名】奥野 哲也
(57)【要約】
【課題】セキュリティレベルの異なる値が混在している状況を考慮して、MIBのデータベースへアクセスするための技術を提供する。
【解決手段】通信装置は、端末装置からのアクセス要求が第1のOIDを含み、かつ、端末装置のユーザが特定のユーザであることが認証される場合に、第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、アクセス要求が第2のOIDを含み、かつ、端末装置のユーザが特定のユーザであることが認証される場合に、第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、アクセス要求が第1のOIDを含み、かつ、端末装置のユーザが特定のユーザであることが認証されない場合に、第1の値へのアクセスを実行し、アクセス要求が第2のOIDを含み、かつ、端末装置のユーザが特定のユーザであることが認証されない場合に、第2の値へのアクセスは実行されない。
【選択図】
図8
【特許請求の範囲】
【請求項1】
通信装置であって、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースと、
端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信部であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信部と、
前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、
前記アクセス実行部と、
を備える、通信装置。
【請求項2】
前記端末装置のユーザが前記特定のユーザであることが認証されないことは、前記端末装置のユーザが前記特定のユーザとは異なるユーザであることが認証されることを含む、請求項1に記載の通信装置。
【請求項3】
前記アクセス実行部は、前記アクセス要求が、前記複数個のOIDのうち、前記第1のOIDとは異なる第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザとは異なる個別ユーザであることが認証される場合に、前記データベースにおいて前記第3のOIDに関連付けて記憶されている第3の値へのアクセスを実行し、
前記アクセス要求が前記第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザ及び前記個別ユーザのいずれかであることが認証されない場合に、前記データベース内の前記第3の値へのアクセスは実行されない、請求項1に記載の通信装置。
【請求項4】
前記アクセス要求は、HTTPS(Hypertext Transfer Protocol Secureの略)に従ったコマンドである、請求項1から3のいずれか一項に記載の通信装置。
【請求項5】
前記通信装置は、さらに、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記アクセス要求に対する応答として、前記第2の値へのアクセスが失敗したことを示す失敗応答を前記端末装置に送信する応答送信部を備える、請求項1から3のいずれか一項に記載の通信装置。
【請求項6】
前記アクセス要求は、前記データベースから前記データベースに記憶されている値を取得するための取得要求と、新しい値を前記データベースに書き込むための書込要求と、のうちのいずれかである、請求項1から3のいずれか一項に記載の通信装置。
【請求項7】
前記通信装置は、さらに、
前記第2のOIDの第1のリストを記憶する第1のメモリを備え、
前記第1のリストを利用して、前記アクセス要求に含まれるOIDが前記第2のOIDであるのか否かを判断する第1の判断部を備える、請求項1から3のいずれか一項に記載の通信装置。
【請求項8】
端末装置のためのコンピュータプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
アクセス要求を通信装置に送信する要求送信部であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信部と、
前記通信装置から前記アクセス要求に対する応答を受信する応答受信部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、
前記応答受信部と、
として機能させる、コンピュータプログラム。
【請求項9】
前記端末装置のユーザが前記特定のユーザであることが認証されないことは、前記端末装置のユーザが前記特定のユーザとは異なるユーザであることが認証されることを含む、請求項8に記載のコンピュータプログラム。
【請求項10】
前記アクセス要求が、前記複数個のOIDのうち、前記第1のOIDとは異なる第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザとは異なる個別ユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第3のOIDに関連付けて記憶されている第3の値へのアクセスが成功したことを示す第3の情報を含み、
前記アクセス要求が前記第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザ及び前記個別ユーザのいずれかであることが認証されない場合に、前記応答は、前記第3の情報を含まない、請求項8に記載のコンピュータプログラム。
【請求項11】
前記アクセス要求は、HTTPS(Hypertext Transfer Protocol Secureの略)に従ったコマンドである、請求項8から10のいずれか一項に記載のコンピュータプログラム。
【請求項12】
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の値へのアクセスが失敗したことを示す失敗情報を含み、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記失敗情報を含む前記応答が前記通信装置から受信される場合に、前記特定のユーザの認証が必要であることを通知する通知部として機能させる、請求項8から10のいずれか一項に記載のコンピュータプログラム。
【請求項13】
前記アクセス要求は、前記データベースから前記データベースに記憶されている値を取得するための取得要求と、新しい値を前記データベースに書き込むための書込要求と、のうちのいずれかである、請求項8から10のいずれか一項に記載のコンピュータプログラム。
【請求項14】
前記端末装置は、さらに、
前記第2のOIDの第2のリストを記憶する第2のメモリを備え、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2のリストを利用して、前記端末装置のユーザによって指定された2個以上のOIDに前記第2のOIDが含まれるのか否かを判断する第2の判断部と、
前記第2のリストを利用して、前記2個以上のOIDに前記第2のOIDが含まれることが判断される場合に、前記端末装置のユーザが前記特定のユーザであることを示す情報を前記アクセス要求に追加する追加部と、
として機能させる、請求項8から10のいずれか一項に記載のコンピュータプログラム。
【請求項15】
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
コンピュータと、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信部であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信部と、
前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、
前記アクセス実行部と、
として機能させる、コンピュータプログラム。
【請求項16】
通信装置の制御方法であって、
前記通信装置は、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースを備え、
前記制御方法は、
端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信工程であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信工程と、
前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行工程であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、
前記アクセス実行工程と、
を備える、制御方法。
【請求項17】
端末装置であって、
アクセス要求を通信装置に送信する要求送信部であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信部と、
前記通信装置から前記アクセス要求に対する応答を受信する応答受信部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、
前記応答受信部と、
を備える、端末装置。
【請求項18】
端末装置の制御方法であって、
アクセス要求を通信装置に送信する要求送信工程であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信工程と、
前記通信装置から前記アクセス要求に対する応答を受信する応答受信工程であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、
前記応答受信工程と、
を備える、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、OIDを設定値と関連付けて記憶する通信装置のデータベースへアクセスするための技術に関する。
【背景技術】
【0002】
特許文献1には、MIB(Management Information Baseの略)のデータベースを備える周辺機器が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008-065833号公報
【特許文献2】特開2013-246799号公報
【特許文献3】特開2008-059245号公報
【特許文献4】特開2020-065208号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
MIBのデータベース内には、セキュリティレベルの異なる値が混在している。本明細書では、セキュリティレベルの異なる値が混在している状況を考慮して、MIBのデータベースへアクセスするための技術を提供する。
【課題を解決するための手段】
【0005】
本明細書によって開示される通信装置は、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースと、端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信部であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信部と、前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行部であって、前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、前記アクセス実行部と、を備える。
【0006】
本明細書は、さらに、端末装置のためのコンピュータプログラムを開示する。当該コンピュータプログラムは、前記端末装置のコンピュータを、以下の各部、即ち、アクセス要求を通信装置に送信する要求送信部であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信部と、前記通信装置から前記アクセス要求に対する応答を受信する応答受信部であって、前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、前記応答受信部と、として機能させる。
【0007】
例えば、第2の値が、第1の値よりセキュリティレベルが高い状況を想定する。上記の構成によれば、第1の値へのアクセスは、端末装置のユーザが特定のユーザであることが認証されるのか否かに関わらず許可される一方、第2の値へのアクセスは、端末装置のユーザが特定のユーザであることが認証されなければ許可されない。セキュリティレベルの異なる値が混在している状況を考慮して、MIBのデータベースへアクセスすることができる。
【0008】
上記の通信装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、上記の通信装置によって実行される方法も新規で有用である。また、上記の端末装置自身、及び、上記の端末装置のためのコンピュータプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、上記の端末装置によって実行される方法も新規で有用である。
【図面の簡単な説明】
【0009】
【
図10】取得要求生成処理のフローチャートを示す。
【
図11】書込要求生成処理のフローチャートを示す。
【発明を実施するための形態】
【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の略)に従ったコマンドである。
【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に従って、様々な処理を実行する。メモリ34は、さらに、データベース50と、認証テーブル52と、を記憶する。なお、プログラム40、データベース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は、データベース50内の複数個のOIDのそれぞれについて、当該OIDと、管理者認証の値と、を関連付けて記憶する。管理者認証の値は、管理者の認証が必要であることを示す「要」と、管理者の認証が不要であることを示す「不要」と、のうちのいずれかの値を示す。
【0016】
(端末装置100の構成;
図3)
端末装置100は、デスクトップPC、ノートPC、タブレットPC、携帯電話(例えばスマートフォン)等のユーザ端末である。端末装置100は、操作部110と、表示部112と、LANI/F120と、制御部130と、を備える。操作部110は、複数のキーを備える。ユーザは、操作部110を操作することによって、様々な指示を端末装置100に入力することができる。表示部112は、様々な情報を表示するディスプレイである。表示部112は、いわゆるタッチパネル(即ち操作部110の一部)であってもよい。LANI/F120は、LAN4に接続されている。
【0017】
制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に格納されているプログラム140、142に従って、様々な処理を実行する。OSプログラム140は、端末装置100の基本的な動作を制御するためのプログラムである。アプリ142は、取得要求及び書込要求をプリンタ10に送信するためのプログラムである。アプリ142は、例えば、プリンタ10のベンダによって提供される。アプリ142は、例えば、インターネット上に設置されたサーバからダウンロードされる。
【0018】
メモリ134は、さらに、認証テーブル152を記憶する。認証テーブル152は、プリンタ10の認証テーブル52と同様である。認証テーブル152は、アプリ142によってメモリ134に記憶される。
【0019】
(プリンタ10と端末装置100の間の通信プロトコル)
プリンタ10と端末装置100との間でプリンタ10のMIB値を通信するための通信プロトコルとしては、OSI(Open Systems Interconnectionの略)参照モデルのトランスポート層のUDP(User Datagram Protocolの略)に従ったプロトコルが広く知られている。具体的には、SNMP(Simple Network Management Protocolの略)が知られている。SNMPは、SNMPv1、SNMPv2、又は、SNMPv2cである。本発明者らは、MIB値を通信するための通信プロトコルとして、UDPだけでなく、OSI参照モデルのトランスポート層のTCP(Transmission Control Protocolの略)に従った通信プロトコルも利用することを創作した。具体的には、HTTPSを利用することを創作した。HTTPSは、ユーザ認証及び通信データ暗号化を採用しているので、SNMPよりも高いセキュリティを有するからである。これにより、プリンタ10のMIB値が第三者によって不正に書き込まれたり不正に取得されたりすることを抑制することができる。なお、変形例では、SSL(Secure Socket Layerの略)又はTLS(Transport Layer Securityの略)を利用しない、単なるHTTPが利用されてもよい。
【0020】
HTTPは、ユーザ名(即ちID)とパスワードを利用したユーザ認証を実行する。ここで、HTTPは、ベーシック認証とダイジェスト認証をサポートしている。ベーシック認証は、ユーザ名とパスワードをBase64でコード化して送信する方式である。ダイジェスト認証では、ユーザ名とパスワードをハッシュ化して送信する方法である。ベーシック認証では、Base64でコード化された平文が送信される一方、ダイジェスト認証では、ハッシュ化された値が送信される。このため、ダイジェスト認証の方が、ベーシック認証よりもセキュアである。本実施例では、ダイジェスト認証が利用される。なお、変形例では、ベーシック認証が利用されてもよい。
【0021】
HTTPのユーザ認証では、管理者、個別ユーザ、パブリック等の複数人のユーザの認証が可能である。個別ユーザは、管理者によってプリンタ10のデータベース50の少なくとも一部へのアクセスを許可されたユーザである。パブリックは、管理者及び個別ユーザのいずれとも異なるユーザである。一般的に、パブリックの権限は、管理者及び個別ユーザの権限よりも低い。
【0022】
(端末装置100の処理;
図4)
図4を参照して、端末装置100のCPU132がアプリ142に従って実行する処理を説明する。
図4の処理は、アプリ142が起動されることをトリガとして開始される。なお、端末装置100とプリンタ10との間の通信は、LANI/F20及び120、LAN4を介して実行される。以下では、特に言及しない限り、「LANI/F20(又は120)を介して」、「LAN4を介して」等の記載を省略する。
【0023】
CPU132は、S10において、操作部110でプリンタ10のMIB値を取得するための取得操作が行われることを監視し、S20において、操作部110でMIB値をプリンタ10に書き込むための書込操作が行われることを監視する。取得操作は、プリンタ10の複数個のMIB値に対応する複数個の項目(即ち複数個の内容)の中から1個以上の項目を指定する操作を含む。書込操作は、プリンタ10に書き込まれるべき1個以上のMIB値(即ちIPアドレス、印刷設定等の設定値)に対応する1個以上の項目を指定する操作と、指定済みの1個以上の項目のそれぞれについて、プリンタ10に書き込まれるべきMIB値を入力する操作と、を含む。取得操作及び書込操作は、例えば、端末装置100のディスプレイ(図示省略)に表示される画面を操作することである。
【0024】
CPU132は、操作部110で取得操作が行われる場合(S10でYES)に、S12において、HTTPに従った取得要求を生成するための取得要求生成処理(
図5参照)を実行する。取得要求は、例えば、ヘッダ部に「X-HTTP-Method-Override “GET”」が記述された、HTTPのPOSTメソッドに従ったコマンドである(
図5参照)。なお、変形例では、取得要求は、HTTPのGETメソッドに従ったコマンドでもよい。
【0025】
S14では、CPU132は、端末装置100とプリンタ10との間でHTTPのユーザ認証を実行する。具体的には、端末装置100は、プリンタ10に要求を送信して、プリンタ10からノンス(即ちランダム値)を受信する。端末装置100は、ユーザ名とパスワードを入力する入力画面を表示部112に表示させる。端末装置100は、入力画面に入力されたユーザ名と、プリンタ10から受信したノンスと、を含む認証パラメータを生成する。そして、端末装置100は、生成済みの認証パラメータをS12で生成した取得要求のヘッダ部に記述する(
図5参照)。これにより、取得要求の送信の際に入力画面に入力された情報(即ちユーザ名とパスワード)を利用したダイジェスト認証が実行される。
【0026】
S16では、CPU132は、取得要求のヘッダ部に記述された認証パラメータに従ったダイジェスト認証を実行し、取得要求をプリンタ10に送信する。ダイジェスト認証が成功すると、端末装置100とプリンタ10との間にTLSのセッションが確立される。取得要求は、TLSのセッションを利用して、プリンタ10に送信される。即ち、取得要求は、TLSに従って暗号化される。
【0027】
S16に続くS30では、CPU132は、S16で送信された取得要求に対する応答として処理応答を受信する。処理応答も、TLSに従って暗号化される。
【0028】
S32では、CPU132は、S30で受信した処理応答が失敗ステータスを含むのか否かを判断する。失敗ステータスは、データベース50内の情報へのアクセスが失敗したことを示す。例えば、管理者の認証が必要な場合において管理者以外のユーザ(例えばパブリック)によるダイジェスト認証が実行される場合に、処理応答は、失敗ステータスを含む。
【0029】
CPU132は、処理応答が失敗ステータスを含むと判断する場合(S32でYES)に、S34において、ユーザ名とパスワードを入力する入力画面を表示部112に表示させる。当該入力画面は、例えば、S14で表示された入力画面と同一である。これにより、ユーザは、S14で入力したユーザ名によって示されるユーザとは異なる管理者の認証が必要であることを知り、管理者名とバスワードを入力することができる。S34の処理が終了すると、CPU132は、S10及びS20の監視に戻る。例えば、S34で入力された情報は、再び実行されるS14及びS16の処理で利用される。
【0030】
また、CPU132は、処理応答が失敗ステータスを含まないと判断する場合(S32でNO)に、S10及びS20の監視に戻る。
【0031】
また、CPU132は、操作部110で書込操作が行われる場合(S20でYES)に、S22において、書込要求を生成するための書込要求生成処理(
図6参照)を実行する。書込要求は、HTTPのPOSTメソッドに従ったコマンドである。
【0032】
S24は、認証パラメータが書込要求のヘッダ部に記述される点を除いて、S14と同様である。S26は、S24で生成された書込要求がプリンタ10に送信される点を除いて、S16と同様である。なお、書込要求が送信される場合も、ダイジェスト認証が実行され、かつ、書込要求は、TLSに従って暗号化される。
【0033】
S26に続くS30では、CPU132は、S26で送信された書込要求に対する応答として処理応答を受信する。なお、書込要求に対する処理応答は、TLSに従って暗号化される。
【0034】
(取得要求生成処理;
図5)
図4のS12の取得要求生成処理について説明する。S40では、CPU132は、取得操作において選択された1個以上の内容に対応する1個以上のOID(以下では、「1個以上の対象のOID」と記載)の中から1個のOIDを選択する。
【0035】
S42では、CPU132は、S40で選択された1個のOIDを取得要求に追加する。具体的には、
図5に示すように、「key」と当該OID(例えば「1.3.6.1.4.1.xxxxxx.1」)の組が取得要求のボディ部に記述される。
【0036】
S44では、CPU132は、認証テーブル152からS40で選択された1個のOIDに関連付けて記憶されている管理者認証の値を特定する。CPU132は、特定済みの管理者認証の値が「要」を示すのか否かを判断する。CPU132は、特定済みの管理者認証の値が「不要」を示すと判断する場合(S44でNO)に、後述するS46の処理をスキップして、S48に進む。一方、CPU132は、特定済みの管理者認証の値が「要」を示すと判断する場合(S44でYES)に、S46に進む。
【0037】
S46では、CPU132は、取得要求のヘッダ部に管理者名を含む認証パラメータを記述することを決定する。これにより、
図4のS14において、管理者名を含む認証パラメータが取得要求のヘッダ部に記述される。S46の処理が終了すると、CPU132は、S48に進む。
【0038】
S48では、CPU132は、1個以上の対象のOIDの中に未選択のOIDが存在するのか否かを判断する。CPU132は、1個以上の対象のOIDの中に未選択のOIDが存在すると判断する場合(S48でYES)に、S40に戻って、別のOIDを選択する。
【0039】
また、CPU132は、1個以上の対象のOIDの中に未選択のOIDが存在しないと判断する場合(S48でNO)に、
図5の処理を終了する。
【0040】
(書込要求生成処理;
図6)
図4のS22の書込要求生成処理について説明する。S60は、書込操作において入力された1個以上のMIB値に対応する1個以上のOIDが利用される点を除いて、
図5のS40と同様である。
【0041】
S62では、CPU132は、S60で選択された1個のOIDを書込要求に追加する。具体的には、「key」と当該OIDとプリンタ10に書き込まれるべきMIB値(即ちユーザに入力されたMIB値)との組がHTTPSに従った書込要求のボディ部に記述される。
【0042】
S64、S66は、書込要求のヘッダ部に管理者名を含む認証パラメータを記述することが決定される点を除いて、S44、S46と同様である。S68は、S48と同様である。
【0043】
(プリンタ10の処理;
図7)
図7を参照して、プリンタ10のCPU32がプログラム40に従って実行する処理を説明する。
図7の処理は、プリンタ10の電源がONされることをトリガとして開始される。
【0044】
CPU32は、S100において、HTTPを利用してMIBのデータベース50にアクセスするイベントが発生することを監視する。S100のイベントは、LANI/F20が端末装置100からHTTPに従ったコマンドを受信することを含む。
【0045】
CPU32は、S100のイベントが発生する場合(S100でYES)に、S102以降の処理を実行する。S102では、CPU32は、端末装置100とプリンタ10との間のダイジェスト認証が成功したのか否かを判断する。CPU32は、ダイジェスト認証が成功したと判断する場合(S102でYES)に、S104に進む。
【0046】
S104では、CPU32は、端末装置100から受信したHTTPに従ったコマンド(以下では、「受信済みコマンド」と記載)が取得要求であるのか否かを判断する。CPU32は、受信済みコマンドが取得要求であると判断する場合(S104でYES)に、S106において、取得要求に従った処理である取得要求処理(
図8参照)を実行する。S106に続くS120では、CPU32は、S106の取得要求処理で生成された処理応答を端末装置100に送信する。S120が終了すると、CPU32は、S100の監視に戻る。
【0047】
また、CPU32は、受信済みコマンドが取得要求でないと判断する場合(S104でNO)に、S108において、受信済みコマンドが書込要求であるのか否かを判断する。CPU32は、受信済みコマンドが書込要求であると判断する場合(S108でYES)に、S110において、書込要求に従った処理である書込要求処理(
図9参照)を実行する。S110に続くS120では、CPU32は、S110の書込要求処理で生成された処理応答を端末装置100に送信する。
【0048】
また、CPU32は、ダイジェスト認証が失敗したと判断する場合(S102でNO)、又は、受信済みコマンドが取得要求と書込要求のいずれでもない(例えばプリンタ10がサポートしていない要求)と判断する場合(S108でNO)に、S122に進む。S122では、CPU32は、失敗応答を端末装置100に送信する。失敗応答は、受信済みコマンドに従った処理が失敗したことを示す。S122が終了すると、CPU32は、S100の監視に戻る。
【0049】
(取得要求処理;
図8)
図7のS106の取得要求処理について説明する。S140では、CPU32は、取得要求に含まれる1個以上の「key」の中から1個の「key」を選択する。
【0050】
S142では、CPU32は、取得要求からS140で選択された1個の「Key」に関連付けて含まれるOIDを特定する。CPU32は、認証テーブル152から特定済みのOIDに関連付けて記憶されている管理者認証の値を特定する。CPU32は、特定済みの管理者認証の値が「要」を示すのか否かを判断する。CPU32は、特定済みの管理者認証の値が「不要」を示すと判断する場合(S142でNO)に、後述するS144の処理をスキップして、S150に進む。一方、CPU32は、特定済みの管理者認証の値が「要」を示すと判断する場合(S142でYES)に、S144に進む。
【0051】
S144では、CPU32は、実行済みのダイジェスト認証で認証されたユーザ(以下では、「認証ユーザ」と記載)が、管理者であるのか否かを判断する。CPU32は、取得要求のヘッダ部に認証パラメータとして管理者名が記述されている場合に、認証ユーザが管理者であると判断し(S144でYES)、S150に進む。
【0052】
S150では、CPU32は、データベース50から特定済みのOIDに関連付けて記憶されているMIB値を取得する
【0053】
S152では、CPU32は、S150で取得されたMIB値を取得要求に対する処理応答に追加する。具体的には、
図8に示すように、「key」と特定済みのOID(例えば「1.3.6.1.4.1.xxxxxx.1」)と取得済みのMIB値(例えばIPアドレス「192.168.0.1」)の組が処理応答のボディ部に記述される。S152の処理が終了すると、CPU32は、S154に進む。
【0054】
S154では、CPU32は、取得要求に含まれる1個以上の「key」の中に未選択の「key」が存在するのか否かを判断する。CPU32は、取得要求に含まれる1個以上の「key」の中に未選択の「key」が存在すると判断する場合(S154でYES)に、S140に戻って、別の「key」を選択する。
【0055】
また、CPU32は、取得要求のヘッダ部に認証パラメータとして管理者名以外のユーザ(例えばパブリック)が記述されている場合に、認証ユーザが管理者でないと判断し(S144でNO)、S156に進む。
【0056】
S156では、CPU32は、失敗ステータスを取得要求に対する処理応答に追加する。具体的には、
図8に示すように、「key」と特定済みのOID(例えば「1.3.6.1.4.1.xxxxxx.1」)と失敗ステータス(例えば、“status”:“-1”)の組が処理応答のボディ部に記述される。S156が終了すると、CPU32は、S154に進む。
【0057】
(書込要求処理;
図9)
図7のS110の書込要求処理について説明する。S170~S174は、書込要求に含まれる1個以上の「key」が利用される点を除いて、
図8のS140~S144と同様である。
【0058】
CPU32は、認証ユーザが管理者であると判断する場合(S174でYES)に、S180に進む。S180では、CPU32は、書込要求からS172で特定されたOIDに関連付けて含まれるMIB値を特定する。そして、CPU32は、特定済みのOIDに関連付けて特定済みのMIB値をデータベース50に書き込む。別言すれば、データベース50内の特定済みのOIDに関連付けて記憶されているMIB値が書込要求内のMIB値に更新される。
【0059】
続くS182では、CPU32は、特定済みのMIB値の書き込みが成功したことを示す成功ステータスを書込要求に対する処理応答に追加する。具体的には、
図9に示すように、「key」と特定済みのOID(例えば「1.3.6.1.4.1.xxxxxx.1」)と成功ステータス(例えば“status”:“0”)の組が処理応答のボディ部に記述される。S182が終了すると、CPU32は、S184に進む。S184は、書込要求に含まれる1個以上の「key」が利用される点を除いて、
図8のS154と同様である。
【0060】
また、CPU32は、認証ユーザが管理者でないと判断する場合(S174でNO)に、S186に進む。S186は、書込要求に対する処理応答が利用される点を除いて、
図8のS156と同様である。
【0061】
(具体的なケース)
例えば、認証テーブル52において、セキュリティレベルが比較的に高いMIB値に対応するOIDには、管理者認証の値「要」が関連付けられ、セキュリティレベルが比較的に低いMIB値に対応するOIDには、管理者認証の値「不要」が関連付けられる。セキュリティレベルが比較的に高いMIB値は、例えば、IPアドレス、MACアドレス等である。セキュリティレベルが比較的に低いMIB値は、例えば、印刷枚数、印刷設定等である。
【0062】
(ケースA1;
図8)
例えば、
図4のS10の取得操作において、ユーザが、2個の項目としてIPアドレスと印刷枚数を指定し、S14のユーザ認証において管理者名とパスワードが入力されるケースA1を想定する。本ケースでは、端末装置100は、IPアドレスのOIDについて管理者認証「要」と判断し(
図5のS44でYES)、取得要求のヘッダ部に管理者名を記述する(
図5のS46及び
図4のS14)。そして、端末装置100は、IPアドレスのOIDと印刷枚数のOIDとを含む取得要求をプリンタ10に送信する(S16)。
【0063】
プリンタ10は、端末装置100からの受信済みコマンドが取得要求であると判断し(S100でYES及びS104でYES)、管理者に対するダイジェスト認証が成功したと判断する(S102でYES)。本ケースでは、プリンタ10は、IPアドレスのOIDについて管理者認証「要」と判断し(
図8のS142でYES)、さらに、認証ユーザが管理者であると判断する(S144でYES)。そして、プリンタ10は、IPアドレスのOIDとデータベース50内のIPアドレスのMIB値とを処理応答に追加する(S150及びS152)。
【0064】
また、プリンタ10は、印刷枚数のOIDについて管理者認証「不要」と判断し(S142でNO)、S144の判断をスキップして、印刷枚数のOIDとデータベース50内の印刷枚数のMIB値「100」とを処理応答に追加する(S150及びS152)。
【0065】
本ケースでは、認証ユーザが管理者であることに起因して、セキュリティレベルが高いIPアドレスのMIB値も、セキュリティレベルが低い印刷枚数のMIB値も、取得要求に対する処理応答に追加される。
【0066】
(ケースA2;
図8)
本ケースは、S14のユーザ認証においてパブリックとパスワードが入力される点を除いて、ケースA1と同様である。本ケースにおける端末装置100の処理は、取得要求のヘッダ部にパブリック名が記述される点を除いて、ケースA1と同様である。
【0067】
プリンタ10は、端末装置100からの受信済みコマンドが取得要求であると判断し(S100でYES及びS104でYES)、パブリックに対するダイジェスト認証が成功したと判断する(S102でYES)。本ケースでは、プリンタ10は、IPアドレスのOIDについて管理者認証「要」と判断し(
図8のS142でYES)、さらに、認証ユーザが管理者でないと判断する(S144でNO)。そして、プリンタ10は、IPアドレスのOIDと失敗ステータスとを処理応答に追加する(S156)。
【0068】
また、本ケースにおける印刷枚数のOIDに対するプリンタ10の処理は、ケースA1と同様である。
【0069】
本ケースでは、認証ユーザがパブリックであることに起因して、セキュリティレベルが高いIPアドレスのMIB値は処理応答に追加されない一方で、セキュリティレベルが低い印刷枚数のMIB値は、取得要求に対する処理応答に追加される。
【0070】
(ケースB1;
図9)
例えば、
図4のS20の書込操作において、ユーザが、2個の項目としてIPアドレスと印刷設定を指定し、新しいIPアドレスと新しい印刷設定の値とを入力し、S24のユーザ認証において管理者名とパスワードを入力するケースB1を想定する。
【0071】
本ケースでは、端末装置100は、IPアドレスのOIDについて管理者認証「要」と判断し(
図6のS64でYES)、書込要求のヘッダ部に管理者名を記述する(
図6のS66及び
図4のS24)。そして、端末装置100は、IPアドレスのOIDと印刷設定のOIDと新しいIPアドレスと新しい印刷設定とを含む書込要求をプリンタ10に送信する(S26)。
【0072】
プリンタ10は、端末装置100からの受信済みコマンドが書込要求であると判断し(S100でYES及びS108でYES)、管理者に対するダイジェスト認証が成功したと判断する(S102でYES)。本ケースでは、プリンタ10は、IPアドレスのOIDについて管理者認証「要」と判断し(
図9のS172でYES)、さらに、認証ユーザが管理者であると判断する(S174でYES)。プリンタ10は、書込要求内の新しいIPアドレスをデータベース50に書き込み(S180)。そして、プリンタ10は、IPアドレスのOIDと成功ステータスを処理応答に追加する(S182)。
【0073】
また、プリンタ10は、印刷設定のOIDについて管理者認証「不要」と判断し(S172でNO)、S174の判断をスキップして、書込要求内の新しい印刷設定をデータベース50に書き込む(S180)。そして、プリンタ10は、印刷設定のOIDと成功ステータスを処理応答に追加する(S182)。
【0074】
本ケースでは、認証ユーザが管理者であることに起因して、セキュリティレベルが高いIPアドレスのMIB値も、セキュリティレベルが低い印刷設定のMIB値も、データベース50に書き込まれる。
【0075】
(ケースB2;
図9)
本ケースは、S14のユーザ認証においてパブリックとパスワードが入力される点を除いて、ケースB1と同様である。本ケースにおける端末装置100の処理は、書込要求のヘッダ部にパブリック名が記述される点を除いて、ケースB1と同様である。
【0076】
プリンタ10は、端末装置100からの受信済みコマンドが書込要求であると判断し(S100でYES及びS108でYES)、パブリックに対するダイジェスト認証が成功したと判断する(S102でYES)。本ケースでは、プリンタ10は、IPアドレスのOIDについて管理者認証「要」と判断し(
図9のS172でYES)、さらに、認証ユーザが管理者でないと判断する(S174でNO)。そして、プリンタ10は、IPアドレスのOIDと失敗ステータスとを処理応答に追加する(S186)。
【0077】
また、本ケースにおける印刷枚数のOIDに対するプリンタ10の処理は、ケースB1と同様である。
【0078】
本ケースでは、認証ユーザがパブリックであることに起因して、セキュリティレベルが高いIPアドレスのMIB値はデータベース50に書き込まれない一方で、セキュリティレベルが低い印刷設定のMIB値は、データベース50に書き込まれる。
【0079】
(第1実施例の効果)
MIBのデータベース50内には、セキュリティレベルの異なる値が混在している。本実施例の構成によれば、セキュリティレベルの低いMIB値(即ち管理者認証「不要」として設定されるMIB値)へのアクセスは、端末装置100のユーザが管理者であることが認証されるのか否かに関わらず許可される。一方、セキュリティレベルの高いMIB値(即ち管理者認証「要」として設定されるMIB値)へのアクセスは、端末装置100のユーザが管理者であることが認証されなければ許可されない。セキュリティレベルの異なる値が混在している状況を考慮して、MIBのデータベース50へアクセスすることができる。
【0080】
(対応関係)
プリンタ10、データベース50、認証テーブル52、メモリ34が、それぞれ、「通信装置」、「データベース」、「第1のリスト」、「第1のメモリ」の一例である。端末装置100、アプリ142、CPU132、認証テーブル152、メモリ134が、それぞれ、「端末装置」、「コンピュータプログラム」、「コンピュータ」、「第2のリスト」、「第2のメモリ」の一例である。取得要求及び書込要求が、「アクセス要求」の一例である。失敗ステータス、失敗ステータスを含む処理応答が、それぞれ、「失敗情報」、「失敗応答」の一例である。管理者が、「特定のユーザ」の一例である。
図8のケースA1における印刷枚数のOIDが、「第1のOID」の一例である。
図8のケースA1における印刷枚数のMIB値が、「第1の値」の一例である。
図8のケースA1における印刷枚数のMIB値及び
図9のケースB1における成功ステータスが、「第1の情報」の一例である。
図8のケースA1におけるIPアドレスのOIDが、「第2のOID」の一例である。
図8のケースA1におけるIPアドレスのMIB値が、「第2の値」の一例である。
図8のケースA1におけるIPアドレスのMIB値及び
図9のケースB1における成功ステータスが、「第2の情報」の一例である。
【0081】
図7のS104又はS108が、「要求受信部」によって実現される処理の一例である。
図7のS106又はS110が、「アクセス実行部」によって実現される処理の一例である。
図4のS16又はS26が、「要求送信部」によって実現される処理の一例である。
図4のS30が、「応答受信部」によって実現される処理の一例である。
【0082】
(第2実施例)
本実施例は、認証テーブル54及び154の構成が異なる点と、取得要求生成処理、書込要求生成処理、取得要求処理、及び、書込要求処理の内容が異なる点と、を除いて、第1実施例と同様である。
【0083】
図2に示すように、本実施例の認証テーブル54は、OIDと管理者認証の値に加えて、個別ユーザ認証の値を記憶する。個別ユーザ認証の値は、個別ユーザの認証が必要であることを示す「要」と、個別ユーザの認証が不要であることを示す「不要」と、のうちのいずれかの値を示す。また、
図3に示すように、本実施例の認証テーブル154は、本実施例の認証テーブル54と同様である。
【0084】
(取得要求生成処理;
図10)
S240~S248は、
図5のS40~S48と同様である。CPU132は、認証テーブル154においてS240で選択された1個のOIDに関連付けて記憶されている管理者認証の値が「不要」を示すと判断する場合(S244でNO)に、S250に進む。S250では、CPU132は、認証テーブル154からS240で選択された1個のOIDに関連付けて記憶されている個別ユーザ認証の値を特定する。そして、CPU132は、特定済みの個別ユーザ認証の値が「要」を示すのか否かを判断する。
【0085】
CPU132は、特定済みの個別ユーザ認証の値が「要」を示すと判断する場合(S250でYES)に、S252において、取得要求のヘッダ部に個別ユーザ名を含む認証パラメータを記述することを決定する。これにより、
図4のS14において、個別ユーザ名を含む認証パラメータが取得要求のヘッダ部に記述される。S252の処理が終了すると、CPU132は、S248に進む。
【0086】
また、CPU132は、特定済みの個別ユーザ認証の値が「不要」を示すと判断する場合(S250でNO)に、S252の処理をスキップして、S248に進む。
【0087】
(書込要求生成処理;
図11)
S260~S268は、
図6のS60~S68と同様である。CPU132は、認証テーブル154においてS260で選択された1個のOIDに関連付けて記憶されている管理者認証の値が「不要」を示すと判断する場合(S264でNO)に、S270に進む。S270は、
図10のS250と同様である。
【0088】
CPU132は、特定済みの個別ユーザ認証の値が「要」を示すと判断する場合(S270でYES)に、S272に進む。S272は、書込要求が利用される点を除いて、
図10のS262と同様である。S272の処理が終了すると、CPU132は、S268に進む。
【0089】
また、CPU132は、特定済みの個別ユーザ認証の値が「不要」を示すと判断する場合(S270でNO)に、S272の処理をスキップして、S268に進む。
【0090】
(取得要求処理;
図12)
S340は、
図8のS140と同様である。S342では、CPU32は、取得要求からS340で選択された1個の「Key」に関連付けて含まれるOIDを特定する。CPU32は、認証テーブル54から特定済みのOIDに関連付けて記憶されている個別ユーザ認証の値を特定する。CPU32は、特定済みの個別ユーザ認証の値が「要」を示すのか否かを判断する。
【0091】
CPU32は、特定済みの個別ユーザ認証の値が「要」を示すと判断する場合(S342でYES)に、S344に進む。
【0092】
また、CPU32は、特定済みの個別ユーザ認証の値が「不要」を示すと判断する場合(S342でNO)に、S346に進む。S346は、
図8のS142と同様である。CPU32は、特定済みの管理者認証の値が「要」を示すと判断する場合(S346でYES)に、S344に進む。
【0093】
S344では、CPU32は、認証ユーザが適合者であるのか否かを判断する。S342でYESと判断される場合では、適合者は、取得要求のヘッダ部に記述されている個別ユーザ名によって示される個別ユーザである。一方、S346でYESと判断される場合では、適合者は、取得要求のヘッダ部に記述されている管理者名によって示される管理者である。
【0094】
CPU32は、認証ユーザが適合者であると判断する場合(S344でYES)に、S350~S354に進む。S350~S354は、
図8のS150~S154と同様である。
【0095】
また、CPU32は、認証ユーザが適合者でないと判断する場合(S344でNO)に、S356に進む。S356は、
図8のS156と同様である。
【0096】
(書込要求処理;
図13)
S370は、
図9のS170と同様である。S372は、書込要求が利用される点を除いて、
図12のS342と同様である。
【0097】
CPU32は、特定済みの個別ユーザ認証の値が「要」を示すと判断する場合(S372でYES)に、S374に進む。
【0098】
また、CPU32は、特定済みの個別ユーザ認証の値が「不要」を示すと判断する場合(S372でNO)に、S376に進む。S374は、
図9のS172と同様である。CPU32は、特定済みの管理者認証の値が「要」を示すと判断する場合(S376でYES)に、S374に進む。S374は、書込要求が利用される点を除いて、
図12のS344と同様である。
【0099】
CPU32は、認証ユーザが適合者であると判断する場合(S374でYES)に、S380~S384に進む。S380~S384は、
図9のS180~S184と同様である。
【0100】
また、CPU32は、認証ユーザが適合者でないと判断する場合(S374でNO)に、S386に進む。S386は、
図9のS186と同様である。
【0101】
(第2実施例の効果)
例えば、個別ユーザ認証「要」として設定されるMIB値は、個別ユーザが設定した情報(例えば電話帳等)である。本実施例の構成によれば、管理者の認証を必要とせずに、個別ユーザの認証により、データベース50内の個別ユーザ認証「要」として設定されるMIB値にアクセスすることができる。管理者以外の個別ユーザもデータベース50の一部へのアクセスが許可され、個別ユーザの利便性が向上する。
【0102】
本実施例では、S374の適合者は、S372でYESの場合に個別ユーザであり、S376でYESの場合に管理者である。即ち、本実施例では、個別ユーザでアクセス可能である一方で、管理者でアクセス不可能なMIB値が存在し得る。なお、変形例では、S34の適合者は、S372でYESの場合に個別ユーザ又は管理者であり、S376でYESの場合に管理者であってもよい。即ち、変形例では、個別ユーザでアクセス可能なMIB値は、管理者でもアクセス可能である。
【0103】
(対応関係)
個別ユーザ認証「要」に対応するOID、当該OIDに対応するMIB値が、それぞれ、「第3のOID」、「第3の値」の一例である。認証テーブル54、認証テーブル154が、それぞれ、「第1のリスト」、「第2のリスト」の一例である。
【0104】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0105】
(変形例1) 「通信装置」は、プリンタ10に限らず、例えば、デスクトップPC等の端末装置、サーバ等であってもよい。
【0106】
(変形例2)
図7のS102の処理は実行されなくてもよい。この場合、例えば、
図8のS144において、認証ユーザが管理者でない判断は、いずれのユーザでの認証も実行されていないことを含む。本変形例では、いずれのユーザでの認証も実行されていないことが、「前記端末装置のユーザが前記特定のユーザであることが認証されない」ことの一例である。
【0107】
(変形例3)
図8のS156及び
図9のS186の処理は実行されなくてもよい。本変形例では、「失敗応答」を省略可能である。
【0108】
(変形例4) プリンタ10の認証テーブル(又は54)及び端末装置100の認証テーブル(又は154)のうちのいずれかを省略可能である。本変形例では、「第1のリスト」及び「第2のリスト」のうちのいずれかを省略可能である。
【0109】
(変形例5) 「通知部」によって実行される通知は、
図4のS34の入力画面の表示に限らず、例えば、管理者認証が必要であることを示すメッセージの表示、当該メッセージの音声出力等であってもよい。
【0110】
(変形例6)
図4のS34の処理は実行されなくてもよい。本変形例では、「通知部」を省略可能である。
【0111】
(変形例7) 上記の実施例では、CPU32(又は132)がプログラム40(又は140)を実行することによって、
図4~
図13の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0112】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0113】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
通信装置であって、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースと、
端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信部であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信部と、
前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、
前記アクセス実行部と、
を備える、通信装置。
(項目2)
前記端末装置のユーザが前記特定のユーザであることが認証されないことは、前記端末装置のユーザが前記特定のユーザとは異なるユーザであることが認証されることを含む、項目1に記載の通信装置。
(項目3)
前記アクセス実行部は、前記アクセス要求が、前記複数個のOIDのうち、前記第1のOIDとは異なる第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザとは異なる個別ユーザであることが認証される場合に、前記データベースにおいて前記第3のOIDに関連付けて記憶されている第3の値へのアクセスを実行し、
前記アクセス要求が前記第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザ及び前記個別ユーザのいずれかであることが認証されない場合に、前記データベース内の前記第3の値へのアクセスは実行されない、項目1又は2に記載の通信装置。
(項目4)
前記アクセス要求は、HTTPS(Hypertext Transfer Protocol Secureの略)に従ったコマンドである、項目1から3のいずれか一項に記載の通信装置。
(項目5)
前記通信装置は、さらに、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記アクセス要求に対する応答として、前記第2の値へのアクセスが失敗したことを示す失敗応答を前記端末装置に送信する応答送信部を備える、項目1から4のいずれか一項に記載の通信装置。
(項目6)
前記アクセス要求は、前記データベースから前記データベースに記憶されている値を取得するための取得要求と、新しい値を前記データベースに書き込むための書込要求と、のうちのいずれかである、項目1から5のいずれか一項に記載の通信装置。
(項目7)
前記通信装置は、さらに、
前記第2のOIDの第1のリストを記憶する第1のメモリを備え、
前記第1のリストを利用して、前記アクセス要求に含まれるOIDが前記第2のOIDであるのか否かを判断する第1の判断部を備える、項目1から6のいずれか一項に記載の通信装置。
(項目8)
端末装置のためのコンピュータプログラムであって、
前記端末装置のコンピュータを、以下の各部、即ち、
アクセス要求を通信装置に送信する要求送信部であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信部と、
前記通信装置から前記アクセス要求に対する応答を受信する応答受信部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、
前記応答受信部と、
として機能させる、コンピュータプログラム。
(項目9)
前記端末装置のユーザが前記特定のユーザであることが認証されないことは、前記端末装置のユーザが前記特定のユーザとは異なるユーザであることが認証されることを含む、項目8に記載のコンピュータプログラム。
(項目10)
前記アクセス要求が、前記複数個のOIDのうち、前記第1のOIDとは異なる第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザとは異なる個別ユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第3のOIDに関連付けて記憶されている第3の値へのアクセスが成功したことを示す第3の情報を含み、
前記アクセス要求が前記第3のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザ及び前記個別ユーザのいずれかであることが認証されない場合に、前記応答は、前記第3の情報を含まない、項目8又は9に記載のコンピュータプログラム。
(項目11)
前記アクセス要求は、HTTPS(Hypertext Transfer Protocol Secureの略)に従ったコマンドである、項目8から10のいずれか一項に記載のコンピュータプログラム。
(項目12)
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の値へのアクセスが失敗したことを示す失敗情報を含み、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記失敗情報を含む前記応答が前記通信装置から受信される場合に、前記特定のユーザの認証が必要であることを通知する通知部として機能させる、項目8から11のいずれか一項に記載のコンピュータプログラム。
(項目13)
前記アクセス要求は、前記データベースから前記データベースに記憶されている値を取得するための取得要求と、新しい値を前記データベースに書き込むための書込要求と、のうちのいずれかである、項目8から12のいずれか一項に記載のコンピュータプログラム。
(項目14)
前記端末装置は、さらに、
前記第2のOIDの第2のリストを記憶する第2のメモリを備え、
前記コンピュータプログラムは、前記コンピュータを、さらに、
前記第2のリストを利用して、前記端末装置のユーザによって指定された2個以上のOIDに前記第2のOIDが含まれるのか否かを判断する第2の判断部と、
前記第2のリストを利用して、前記2個以上のOIDに前記第2のOIDが含まれることが判断される場合に、前記端末装置のユーザが前記特定のユーザであることを示す情報を前記アクセス要求に追加する追加部と、
として機能させる、項目8から13のいずれか一項に記載のコンピュータプログラム。
(項目15)
通信装置のためのコンピュータプログラムであって、
前記通信装置は、
コンピュータと、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信部であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信部と、
前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、
前記アクセス実行部と、
として機能させる、コンピュータプログラム。
(項目16)
通信装置の制御方法であって、
前記通信装置は、
MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶するデータベースを備え、
前記制御方法は、
端末装置から前記データベース内の値へのアクセスを要求するアクセス要求を受信する要求受信工程であって、前記アクセス要求は、前記複数個のOIDのうちの1個以上のOIDを含む、前記要求受信工程と、
前記端末装置から前記アクセス要求が受信される場合に、前記アクセス要求に従った前記データベース内の情報へのアクセスを実行するアクセス実行工程であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスを実行し、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスを実行し、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第1の値へのアクセスを実行し、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記データベース内の前記第2の値へのアクセスは実行されない、
前記アクセス実行工程と、
を備える、制御方法。
(項目17)
端末装置であって、
アクセス要求を通信装置に送信する要求送信部であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信部と、
前記通信装置から前記アクセス要求に対する応答を受信する応答受信部であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、
前記応答受信部と、
を備える、端末装置。
(項目18)
端末装置の制御方法であって、
アクセス要求を通信装置に送信する要求送信工程であって、前記アクセス要求は、前記通信装置に備えられているデータベース内の値へのアクセスを要求するコマンドであり、前記データベースは、MIB(Management Information Baseの略)の複数個のOID(Object IDの略)のそれぞれについて、当該OIDを値と関連付けて記憶し、前記アクセス要求は、前記複数個のOIDのうち、前記端末装置のユーザによって指定された1個以上のOIDを含む、前記要求送信工程と、
前記通信装置から前記アクセス要求に対する応答を受信する応答受信工程であって、
前記アクセス要求が前記複数個のOIDのうちの第1のOIDを含み、かつ、前記端末装置のユーザが特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第1のOIDに関連付けて記憶されている第1の値へのアクセスが成功したことを示す第1の情報を含み、
前記アクセス要求が前記複数個のOIDのうち、前記第1のOIDとは異なる第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証される場合に、前記応答は、前記データベースにおいて前記第2のOIDに関連付けて記憶されている第2の値へのアクセスが成功したことを示す第2の情報を含み、
前記アクセス要求が前記第1のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第1の情報を含み、
前記アクセス要求が前記第2のOIDを含み、かつ、前記端末装置のユーザが前記特定のユーザであることが認証されない場合に、前記応答は、前記第2の情報を含まない、
前記応答受信工程と、
を備える、制御方法。
【符号の説明】
【0114】
2 :通信システム
4 :LAN
10 :プリンタ
20 :LANI/F
22 :印刷実行部
30 :制御部
32 :CPU
34 :メモリ
40 :プログラム
50 :データベース
52、54 :認証テーブル
100 :端末装置
110 :操作部
112 :表示部
120 :LANI/F
130 :制御部
132 :CPU
134 :メモリ
140 :OSプログラム
142 :アプリ
152、154 :認証テーブル