JP5862417B2 - 管理デバイス - Google Patents

管理デバイス Download PDF

Info

Publication number
JP5862417B2
JP5862417B2 JP2012077414A JP2012077414A JP5862417B2 JP 5862417 B2 JP5862417 B2 JP 5862417B2 JP 2012077414 A JP2012077414 A JP 2012077414A JP 2012077414 A JP2012077414 A JP 2012077414A JP 5862417 B2 JP5862417 B2 JP 5862417B2
Authority
JP
Japan
Prior art keywords
value
target
combination
index
information
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
JP2012077414A
Other languages
English (en)
Other versions
JP2013206359A (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 JP2012077414A priority Critical patent/JP5862417B2/ja
Priority to US13/801,589 priority patent/US9146971B2/en
Publication of JP2013206359A publication Critical patent/JP2013206359A/ja
Application granted granted Critical
Publication of JP5862417B2 publication Critical patent/JP5862417B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/17Web printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本明細書では、管理対象の対象デバイスを管理する管理デバイスを開示する。
例えば、特許文献1及び2には、複数個の情報を取得するためのOID(Object ID)を含むGETNEXTリクエスト又はGETBULKリクエストを送信して、複数個の情報を一括して取得する技術が開示されている。
特開2007−174235号公報 特開2008−71197号公報
本明細書では、特許文献1及び2とは異なる手法を用いて、取得対象の対象情報を効率良く取得し得る技術を開示する。特に、対象情報が、2次元以上の複数個のインデックス値に対応する複数個の部分対象情報を含む場合に、各部分対象情報を効率良く取得し得る技術を開示する。
本明細書では、管理対象の対象デバイスを管理する管理デバイスを開示する。管理デバイスは、取得対象の対象情報に対応するIDである対象IDを含むリクエストを対象デバイスに送信して、対象デバイスから対象情報を取得する取得部を備える。取得部は、準備部と、送信部と、を備える。準備部は、対象情報が、K次元(Kは2以上の整数)の複数個のインデックス値に対応する複数個の部分対象情報を含む場合に、第1グループのMa個(Maは2以上の整数)の組合せIDを準備する。第1グループのMa個の組合せIDのそれぞれは、対象IDと、連続するMa個のインデックス値のそれぞれと、の組合せである。Ma個のインデックス値は、上位の桁の値として第1の値を有すると共に、下位の桁の値として連続する値を有する。送信部は、第1グループのMa個の組合せIDを含む第1のGETNEXTリクエストを対象デバイスに送信する。準備部は、さらに、第1のGETNEXTリクエストを送信した結果として、対象デバイスから取得されるMa個の部分対象情報が、対象IDと、上位の桁の値として第1の値とは異なる第2の値を有する特定のインデックス値と、の組合せである特定の組合せIDに対応する特定の部分対象情報を含む第1の場合に、Mb個(Mbは2以上の整数)の組合せIDを準備する。Mb個の組合せIDのそれぞれは、対象IDと、連続するMb個のインデックス値のそれぞれと、の組合せである。Mb個のインデックス値は、上位の桁の値として第2の値を有すると共に、下位の桁の値として連続する値を有する。送信部は、さらに、第1の場合に、Mb個の組合せIDを含む第2のGETNEXTリクエストを対象デバイスに送信する。
上記の構成によると、管理デバイスは、第1グループのMa個の組合せIDを含む第1のGETNEXTリクエストを対象デバイスに送信する。ここで、第1グループのMa個の組合せID内のMa個のインデックス値は、上位の桁の値として第1の値を有すると共に、下位の桁の値として連続する値を有する。これにより、管理デバイスは、Ma個の部分対象情報を一括して適切に取得し得る。また、管理デバイスは、第1のGETNEXTリクエストを送信した結果として、特定の組合せID(即ち、上位の桁の値として、第1の値とは異なる第2の値を有する特定のインデックス値を含む組合せID)に対応する特定の部分対象情報が取得される第1の場合に、Mb個の組合せIDを準備する。ここで、Mb個の組合せID内のMb個のインデックス値は、上位の桁の値として第2の値を有すると共に、下位の桁の値として連続する値を有する。従って、管理デバイスは、第1の場合に、適切なMb個の組合せIDを準備し得る。このために、管理デバイスは、Mb個の組合せIDを含む第2のGETNEXTリクエストを対象デバイスに送信することによって、Mb個の部分対象情報を一括して適切に取得し得る。上記の構成によると、管理デバイスは、2次元以上の複数個のインデックス値に対応する複数個の部分対象情報を、効率良く取得し得る。
準備部は、さらに、Ma個の部分対象情報が、特定の部分対象情報を含まない第2の場合に、Mc個(Mcは2以上の整数)の組合せIDを準備してもよい。Mc個の組合せIDのそれぞれは、対象IDと、連続するMc個のインデックス値のそれぞれと、の組合せであってもよい。Mc個のインデックス値は、上位の桁の値として第1の値を有すると共に、下位の桁の値として連続する値を有していてもよい。Mc個のインデックス値のうちの最小のインデックス値は、Ma個のインデックス値のうちの最大のインデックス値に連続する値であってもよい。送信部は、さらに、第2の場合に、Mc個の組合せIDを含む第3のGETNEXTリクエストを対象デバイスに送信してもよい。この構成によると、管理デバイスは、第1のGETNEXTリクエストを送信した結果として、特定の部分対象情報が取得されない第2の場合に、Mc個の組合せIDを準備する。ここで、Mc個の組合せID内のMc個のインデックス値は、上位の桁の値として第1の値を有すると共に、下位の桁の値として連続する値を有する。しかも、Mc個のインデックス値のうちの最小のインデックス値は、Ma個のインデックス値のうちの最大のインデックス値に連続する値である。従って、管理デバイスは、第2の場合に、適切なMc個の組合せIDを準備し得る。このために、管理デバイスは、Mc個の組合せIDを含む第3のGETNEXTリクエストを対象デバイスに送信することによって、Mc個の部分対象情報を一括して適切に取得し得る。
取得部は、第1のGETNEXTリクエストを送信した結果として、対象デバイスから、Ma個の部分対象情報と共に、Ma個の部分対象情報に対応する第2グループのMa個の組合せIDを取得してもよい。準備部は、第1の場合に、第2グループのMa個の組合せIDの中から、最大のインデックス値を有する最大の組合せIDを特定して、最大の組合せIDから昇順でMb個の組合せIDを準備してもよい。この構成によると、管理デバイスは、Mb個の組合せIDを適切に準備し得るために、Mb個の部分対象情報を一括して適切に取得し得る。
取得部は、さらに、Ma個の部分対象情報が特定の部分対象情報を含むのか否かを判断する判断部を備えていてもよい。
取得部は、第1のGETNEXTリクエストを送信した結果として、対象デバイスから、Ma個の部分対象情報と共に、Ma個の部分対象情報に対応する第2グループのMa個の組合せIDを取得してもよい。判断部は、第2グループのMa個の組合せIDが、特定の組合せIDを含むのか否かを判断することによって、Ma個の部分対象情報が、特定の部分対象情報を含むのか否かを判断してもよい。この構成によると、管理デバイスは、Ma個の部分対象情報が、特定の部分対象情報を含むのか否かを適切に判断し得る。
管理デバイスは、さらに、複数個のIDのそれぞれについて、当該IDと、当該IDに対応する情報に含まれる複数個の部分情報に対応する複数個のインデックス値の次元数を示す次元数データと、が関連付けられているテーブルを格納するメモリを備えていてもよい。準備部は、対象IDに関連付けられている次元数データを用いて、第1グループのMa個の組合せIDを準備してもよい。この構成によると、管理デバイスは、第1グループのMa個の組合せIDを適切に準備し得る。
上記の管理デバイスを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。
管理システムの構成を示す。 管理デバイス処理のフローチャートを示す。 インデックス情報取得処理のフローチャートを示す。 1次元インデックス情報の取得例を表わすシーケンス図を示す。 2次元インデックス情報の取得例を表わすシーケンス図を示す。 3次元インデックス情報の取得例を表わすシーケンス図を示す。 第1実施例の変形例のシーケンス図を示す。 第2実施例の2次元以上のインデックス情報取得処理のフローチャートを示す。 第2実施例の2次元インデックス情報の取得例を表わすシーケンス図を示す。
(システムの構成)
図1に示されるように、管理システム2は、管理デバイス10と、プリンタ50と、を備える。なお、図1では、1個のプリンタ50のみが開示されているが、管理システム2は、複数個のプリンタ50を備えていてもよい。管理デバイス10及びプリンタ50は、LAN4に接続されている。従って、管理デバイス10及びプリンタ50は、LAN4を介して、相互に通信可能である。
管理デバイス10は、PC、サーバ等のデバイスである。管理デバイス10は、プリンタ50から様々な情報を取得して、当該情報を表示するための管理処理(図2参照)を実行する。これにより、管理デバイス10は、管理対象のプリンタ50を管理する。より具体的に言うと、管理デバイス10とプリンタ50との間では、SNMP(Simple Network Management Protocol)に従って、各情報の通信が実行される。即ち、管理デバイス10がSNMPマネージャとして機能し、プリンタ50がSNMPエージェントとして機能する。
(管理デバイス10の構成)
管理デバイス10は、操作部12と、表示部14と、ネットワークインターフェイス16と、制御部20と、を備える。操作部12は、キーボード及びマウスによって構成される。ユーザは、操作部12を操作することによって、様々な指示を管理デバイス10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス16は、LAN4に接続されている。
制御部20は、CPU22と、メモリ24と、を備える。CPU22は、メモリ24に格納されているプログラムに従って、様々な処理を実行する。メモリ24内のプログラムは、上記の管理処理を実行するための管理プログラムを含む。本実施例では、管理プログラムは、SNMPv1(Simple Network Management Protocol version 1)に従ったプログラムである。ただし、変形例では、管理プログラムは、SNMPv2、SMMPv3等に従ったプログラムであってもよい。
管理プログラムは、例えば、プリンタ50のベンダによって提供される。管理プログラムは、例えば、プリンタ50と共に出荷されるメディアに格納されている。ユーザは、当該メディアから管理プログラムをPC等のデバイスにインストールする。これにより、管理処理を実行可能な管理デバイス10が実現される。なお、例えば、ユーザは、プリンタ50のベンダによって提供されるサーバから、管理プログラムをPC等のデバイスにインストールしてもよい。
CPU22が管理プログラムに従って処理を実行することによって、取得部30の機能が実現される。なお、取得部30は、準備部32と送信部34と判断部36とを備える。また、管理プログラムは、次元数テーブル26を含む。従って、管理プログラムが管理デバイス10にインストールされると、メモリ24に次元数テーブル26が格納される。次元数テーブル26の内容については、後で説明する。
(プリンタ50の構成)
プリンタ50は、PC等のデバイス(図示省略)から印刷指示を受信すると、印刷を実行する。プリンタ50は、情報テーブル52を格納している。情報テーブル52では、OID(Object ID)と、MIB(Management Information Base)値と、が対応付けられている。
(MIBとOID)
プリンタ50は、プリンタ50のエラー履歴、プリンタ50のステータス(印刷実行中、待機中等)、ユーザに関する設定値(パスワード等)、印刷に関する設定値(デフォルトの印刷解像度)等の様々な情報を、ツリー構造(即ち階層構造)を利用して格納する。このツリー構造を有する様々な情報の集合のことを「MIB」と呼ぶ。
MIBのツリー構造では、オブジェクトという概念が利用される。そして、各オブジェクトには、1個の数字が割り当てられる。例えば、最上位の階層から最下位の階層に向かって、第1のオブジェクト(例えば数字「1」)、第2のオブジェクト(例えば数字「3」)、第3のオブジェクト(例えば数字「6」)、・・・、最下位のオブジェクト(例えば数字「1」)が存在する状況を想定する。この場合、最下位のオブジェクトに対応する情報を特定するためのパスは、「1.3.6.….1」で表現される。本実施例では、MIBのツリー構造に従って特定されるパスのことを「ベースID」と呼ぶ。また、1個のベースIDに対応する情報のことを「1個の情報」と呼ぶ。
MIBのツリー構造では、1個のベースIDに対応する1個の情報が、複数個の部分情報を含む場合に、それらの複数個の部分情報のそれぞれを特定するためのインデックス値を利用することができる。例えば、上記のベースID「1.3.6.….1」に対応する1個の情報が、第1及び第2の部分情報を含む場合には、第1の部分情報にインデックス値「1」を割り当て、第2の部分情報にインデックス値「2」を割り当てることができる。この場合、第1の部分情報に対応するIDは、ベースID「1.3.6.….1」とインデックス値「1」との組合せ「1.3.6.….1.1」で表現される。同様に、第2の部分情報に対応するIDは、ベースID「1.3.6.….1」とインデックス値「2」との組合せ「1.3.6.….1.2」で表現される。本実施例では、ベースIDとインデックス値との組合せのIDのことを「OID」と呼び、OIDに対応する部分情報のことを「MIB値」と呼ぶ。また、複数個の部分情報(即ち複数個のMIB値)を含む1個の情報のことを「インデックス情報」と呼ぶ。
例えば、ベースID「1.3.6.….1」に対応するインデックス情報が、プリンタ50のエラー履歴を示す情報である場合には、プリンタ50は、1回目のエラーが発生すると、当該エラーを示す値を、インデックス値「1」を含むOID「1.3.6.….1.1」に対応するMIB値として、格納することができる。そして、プリンタ50は、2回目のエラーが発生すると、当該エラーを示す値を、インデックス値「2」を含むOID「1.3.6.….1.2」に対応するMIB値として、格納することができる。このように、プリンタ50は、インデックス情報を利用すれば、1個のベースIDに対応付けて、複数個のMIB値を累積的に格納することができる。
なお、例えば、上記のベースID「1.3.6….1」に対応する1個の情報が、複数個の部分情報を含まない場合(例えば、当該1個の情報が、1個の値のみで表現される場合)には、当該1個の情報に対応するIDは、ベースID「1.3.6….1」とデフォルト値「0」との組合せ「1.3.6….1.0」で表現される。本実施例では、ベースIDとデフォルト値との組合せのIDのことも「OID」と呼ぶ。また、複数個の部分情報を含まない1個の情報のことを「非インデックス情報」と呼ぶ。
プリンタ50は、非インデックス情報及びインデックス情報を、OIDに対応付けて、情報テーブル52に格納する。例えば、ベースID「1.3.6.1.4.1…1.2.3.1」に対応する1個の情報は、1個のMIB値「V0」のみを含む非インデックス情報である。従って、情報テーブル52では、OID「1.3.6.1.4.1…1.2.3.1.0」と、MIB値「V0」と、が対応付けられている。
また、ベースID「1.3.6.1.4.1…1.2.3.2」に対応する1個の情報は、28個のインデックス値「1」〜「28」に対応する28個のMIB値「V1」〜「V28」を含むインデックス情報である。従って、情報テーブル52では、OID「1.3.6.1.4.1…1.2.3.2.1」〜「1.3.6.1.4.1…1.2.3.2.28」と、28個のMIB値「V1」〜「V28」と、が対応付けられている。なお、28個のインデックス値「1」〜「28」は、1次元の値(1次元の整数)である。
インデックス値は、2次元以上の値で表現されることもあり得る。例えば、ベースID「1.3.6.1.4.1…1.2.3.3」に対応する1個の情報は、43個の2次元インデックス値「1.1」〜「1.25」,「2.1」〜「2.18」に対応する43個のMIB値「V1.1」〜「V1.25」,「V2.1」〜「V2.18」を含むインデックス情報である。また、例えば、ベースID「1.3.6.1.4.1…1.2.3.4」に対応する1個の情報は、複数個の3次元インデックス値「1.1.1」〜「1.1.19」,「1.2.1」〜「1.2.10」等に対応する複数個のMIB値「V1.1.1」〜「V1.1.19」,「V1.2.1」〜「V1.2.10」等を含むインデックス情報である。同様に、4次元インデックス値等も採用され得る。なお、以下では、インデックス値の次元数に応じて、1次元インデックス情報、2次元インデックス情報、3次元インデックス情報等の用語を利用することがある。
例えば、プリンタ50は、以下のようにして、2次元インデックス情報を利用することができる。例えば、複数のユーザがプリンタ50を共用する状況を想定する。この場合、プリンタ50は、個々のユーザに対して、2次元インデックス値のうちの上位の桁の値(例えば「2.3」のうちの「2」)を割り当てることができる。そして、プリンタ50は、個々のユーザに関する各情報(例えば、ユーザ名、パスワード等)に対して、2次元インデックス値のうちの下位の桁の値(例えば「2.3」のうちの「3」)を割り当てることができる。これにより、プリンタ50は、2次元インデックス情報を利用して、ユーザ毎に、当該ユーザに関する各情報を格納することができる。
なお、本実施例では、インデックス値として、連続する値(整数)が採用される。即ち、複数個の1次元インデックス値では、最小の値が「1」であり、以降の値が「2」、「3」・・・というように、1ずつインクリメントされる。また、複数個の2次元インデックス値では、最小の値が「1.1」であり、下位の桁の値が「1.2」、「1.3」・・・というように、1ずつインクリメントされる。また、上位の桁の値も、「1.1」、「2.1」、「3.1」・・・というように、1ずつインクリメントされる。同様に、3次元以上のインデックス値でも、連続する値が採用される。
なお、情報テーブル52では、上側から下側に向かって各ベースIDの値が大きくなるように、各OIDが並んでいる。例えば、上側から下側に向かって、「1.3.6.1.4.1…1.2.3.1」、「1.3.6.1.4.1…1.2.3.2」、「1.3.6.1.4.1…1.2.3.3」・・・のように各ベースIDの値が大きくなる。また、情報テーブル52では、上側から下側に向かって各インデックス値が大きくなるように、各OIDが並んでいる。例えば、1次元インデックス情報(ベースID「1.3.6.1.4.1…1.2.3.1」)では、上側から下側に向かって、「1」、「2」・・・「28」のように各インデックス値が大きくなる。従って、情報テーブル52では、上側から下側に向かう程、大きい値を有するOIDになる。
プリンタ50のベンダは、プリンタ50の情報テーブル52内に格納されるべき各ベースIDについて、当該ベースIDに対応する1個の情報が、非インデックス情報であるのか、インデックス情報であるのか、を予め決定する。さらに、ベンダは、各インデックス情報について、当該インデックス情報が、何次元のインデックス情報であるのか、を予め決定する。そして、ベンダは、このようにして決定された内容に基づいて、次元数テーブル26を作成して、PC等のための管理プログラムを準備する。即ち、次元数テーブル26では、ベースIDと、当該ベースIDに対応する情報の次元数と、が関連付けられている。なお、ベースID「1.3.6.1.4.1…1.2.3.1」に関連付けられている次元数「0」は、当該ベースIDに対応する1個の情報が、非インデックス情報であることを示す。
(管理デバイス10が実行する処理;図2)
続いて、図2を参照して、管理デバイス10が実行する処理の内容を説明する。例えば、管理デバイス10のユーザが、操作部12を操作して、プリンタ50から情報(即ち各MIB値)を取得するための指示を管理デバイス10に入力すると、制御部20は、管理プログラムに従って、図2の処理を開始する。
S10において、取得部30は、次元数テーブル26の中から、1個のベースIDを特定する。以下では、S10で特定されるベースIDのことを「対象ベースID」と呼ぶ。また、以下では、対象ベースIDの具体的な値を「***」で表現する。
次いで、S12において、取得部30は、対象ベースIDに対応する1個の情報、即ち、取得対象の情報が、インデックス情報であるのか、非インデックス情報であるのか、を判断する。具体的には、取得部30は、次元数テーブル26から、対象ベースIDに関連付けられている次元数を読み出して、当該次元数が「0」であれば、取得対象の情報が非インデックス情報である(S12でNO)と判断して、S14に進む。また、取得部30は、当該次元数が「0」であれば、取得対象の情報がインデックス情報である(S12でYES)と判断して、S22に進む。
S14では、準備部32は、対象ベースID「***」と、デフォルト値「0」と、を組み合わせて、OID「***.0」を準備する。S14では、準備部32は、1個のOID「***.0」のみを準備する。例えば、対象ベースID「***」が「1.3.6.1.4.1…1.2.3.1」(図1参照)である場合には、S14では、準備部32は、OID「1.3.6.1.4.1…1.2.3.1.0」を準備する。次いで、S16において、送信部34は、S14で準備されたOID「***.0」を含むGETリクエストを、プリンタ50に送信する。
なお、S16で送信されるGETリクエストは、GETNEXTリクエストやGETBULKリクエストではなく、通常のGETリクエストである。通常のGETリクエストは、SNMPv1で採用されているリクエストである。なお、GETBULKリクエストは、SNMPv1で採用されておらず、SNMPv2又はSNMPv3で採用されているリクエストである。ただし、SNMPv2又はSNMPv3は、複雑なセキュリティ手法を採用しているために、利用し難い。従って、本実施例では、送信部34が、S16において、SNMPv1の通常のGETリクエストを送信する構成を採用している。なお、後で説明するが、図3のS42では、送信部34は、GETNEXTリクエストを送信する。GETNEXTリクエストも、SNMPv1で採用されているリクエストである。このように、本実施例では、比較的に利用し易いSNMPv1の管理プログラムに従って、通常のGETリクエスト又はGETNEXTリクエストを送信する構成を採用している。
プリンタ50は、管理デバイス10からGETリクエストを受信すると、GETリクエストに含まれるOID「***.0」に対応するMIB値(以下では「対象MIB値」と呼ぶ)が、情報テーブル52内に格納されているのか否かを判断する。対象MIB値が存在する場合には、プリンタ50は、OID「***.0」と、対象MIB値と、を含むレスポンスを、管理デバイス10に送信する。一方において、対象MIB値が存在しない場合には、プリンタ50は、対象MIB値が存在しないことを示すコマンド「No Such」を含むレスポンスを、管理デバイス10に送信する。
S18では、取得部30は、プリンタ50からレスポンスを受信することを監視する。取得部30は、S16でGETリクエストを送信してから所定時間が経過しても、レスポンスを受信することができない場合に、S18でNOと判断して、S24に進む。
例えば、対象ベースIDがベースID「1.3.6.1.4.1…1.2.3.1」(図1参照)である場合には、S18において、取得部30は、対象MIB値「V0」を含むレスポンスを受信する(S18でYES)。この場合、S20において、取得部30は、S14で準備されたOIDと、レスポンスに含まれる対象MIB値と、を対応付けて、メモリ24内の所定の記憶領域に記憶させる。これにより、取得部30は、プリンタ50から非インデックス情報を取得して、非インデックス情報を上記の所定の記憶領域に記憶させることができる。なお、レスポンスが「No Such」を含む場合には、S20では、取得部30は、S14で準備されたOIDと、「No Such」を示す情報と、を対応付けて、上記の所定の記憶領域に記憶させる。S20を終えると、S24に進む。
なお、取得対象の情報がインデックス情報である場合(S12でYES)には、S22において、取得部30は、後述の図3のインデックス情報取得処理を実行する。S22を終えると、S24に進む。
S24では、取得部30は、次元数テーブル26に含まれる全てのベースIDが、S10で特定されたのか否かを判断する。全てのベースIDが特定されていない場合(S24でNO)には、取得部30は、S10に戻って、次元数テーブル26から、次の対象ベースIDを特定する。全てのベースIDが特定された場合(S24でYES)には、図2の処理が終了する。なお、図示省略しているが、図2の処理が終了すると、制御部20は、上記の所定の記憶領域に格納された各情報を、表示部14に表示させる。これにより、ユーザは、プリンタ50に関する様々な情報を見ることができる。
(インデックス情報取得処理;図3)
図3を参照して、図2のS22のインデックス情報取得処理の内容を説明する。S40において、準備部32は、まず、対象ベースID「***」のみを準備する。準備部32は、さらに、次元数テーブル26を参照して、対象ベースID「***」に関連付けられている次元数を特定する。そして、準備部32は、特定済みの次元数を用いて、9個のOIDを準備する。具体的に言うと、準備部32は、対象ベースID「***」と、連続する9個のインデックス値「Idef」〜「Idef+8」のそれぞれと、を組合せて、9個のOIDを準備する。ここで、「Idef」は、特定済みの次元数によって表現される最小のインデックス値である。例えば、特定済みの次元数が1次元である場合には、「Idef」は「1」である。同様に、特定済みの次元数が2次元、3次元である場合には、「Idef」は、それぞれ、「1.1」、「1.1.1」である。
例えば、特定済みの次元数が1次元である場合には、S40において、準備部32は、対象ベースID「***」と、9個のOID「***.1」、「***.2」・・・「***.9」と、を準備する。なお、以下では、S40で準備される対象ベースID「***」そのもののことも、「OID」と呼ぶ。また、S40で準備される各OIDのことを「対象OID」と呼ぶ。従って、上記の例では、S40において、準備部32は、10個の対象OID「***」、「***.1」、「***.2」・・・「***.9」を準備する。同様に、例えば、特定済みの次元数が2次元である場合には、S40において、準備部32は、10個の対象OID「***」、「***.1.1」、「***.1.2」・・・「***.1.9」を準備する。また、例えば、特定済みの次元数が3次元である場合には、S40において、準備部32は、10個の対象OID「***」、「***.1.1.1」、「***.1.1.2」・・・「***.1.1.9」を準備する。
次いで、S42において、送信部34は、S40で準備された10個の対象OIDを含むGETNEXTリクエストを、プリンタ50に送信する。GETNEXTリクエストは、対象OIDの次のOIDに対応するMIB値を取得するためのリクエストである。上記の「次のOID」については、後で詳しく説明する。
プリンタ50は、管理デバイス10からGETNEXTリクエストを受信すると、GETNEXTリクエストに含まれる10個の対象OIDのそれぞれについて、当該対象OIDの次のOIDを特定すると共に、当該次のOIDに対応するMIB値を特定する。即ち、プリンタ50は、10個のOIDを特定すると共に、10個のMIB値を特定する。なお、本実施例では、上記の「次のOID」を、以下のように定義する。
即ち、対象OIDが、対象ベースID「***」のみによって表現されるOIDである場合には、上記の「次のOID」は、情報テーブル52に存在する全てのOIDのうち、対象ベースIDを含む最小のOIDである。例えば、対象OIDが、図1の1次元インデックス情報に対応する「1.3.6.1.4.1…1.2.3.2」(即ち「***」)である場合には、上記の「次のOID」は、「1.3.6.1.4.1…1.2.3.2.1」(即ち「***.1」)である。また、例えば、対象OIDが、図1の2次元インデックス情報に対応する「1.3.6.1.4.1…1.2.3.3」(即ち「***」)である場合には、上記の「次のOID」は、「1.3.6.1.4.1…1.2.3.3.1.1」(即ち「***.1.1」)である。
また、対象OIDが、ベースIDとインデックス値との組合せのOIDである場合には、上記の「次のOID」は、情報テーブル52に存在する全てのOIDのうち、対象OIDよりも大きい最小のOIDである。例えば、対象OIDが、図1の1次元インデックス情報に対応する「1.3.6.1.4.1…1.2.3.2.1」(即ち「***.1」)である場合には、上記の「次のOID」は、「1.3.6.1.4.1…1.2.3.2.2」(即ち「***.2」)である。また、例えば、対象OIDが、図1の1次元インデックス情報に対応する「1.3.6.1.4.1…1.2.3.2.28」(即ち「***.28」)である場合には、上記の「次のOID」は、「1.3.6.1.4.1…1.2.3.3.1.1」(即ち「###.1.1」)である。なお、上記の「###(例えば1.3.6.1.4.1…1.2.3.3)」は、情報テーブル52において、対象ベースID「***(例えば1.3.6.1.4.1…1.2.3.2)」の一つ下に記述されているベースID(即ち、対象ベースIDの次のベースID)を示す。また、例えば、対象OIDが、情報テーブル52内に存在しない「1.3.6.1.4.1…1.2.3.2.29」(即ち「***.29」)である場合には、上記の「次のOID」は、「1.3.6.1.4.1…1.2.3.3.1.1」(即ち「###.1.1」)である。
10個の対象OIDが、図1の1次元インデックス情報に対応する「***」(即ち「1.3.6.1.4.1…1.2.3.2」)〜「***.9」である場合には、プリンタ50は、10個のOID「***.1」〜「***.10」を特定すると共に、10個のMIB値「V1」〜「V10」を特定する。また、例えば、10個の対象OIDが、図1の1次元インデックス情報に対応する「***.20」〜「***.29」である場合には、プリンタ50は、10個の対象OIDのうちの8個の対象OID「***.20」〜「***.27」について、OID「***.21」〜「***.28」を特定すると共に、MIB値「V21」〜「V28」を特定する。プリンタ50は、さらに、残りの2個の対象OID「***.28」、「***.29」について、同じOID「###.1.1(即ち「1.3.6.1.4.1…1.2.3.3.1.1」)」、「###.1.1」を特定すると共に、同じMIB値「V1.1」、「V1.1」を特定する。プリンタ50は、特定済みの10個のOIDと、特定済みの10個のMIB値と、を含むレスポンスを、管理デバイス10に送信する。
S44では、取得部30は、プリンタ50からレスポンスを受信することを監視する。レスポンスが受信されない場合(S44でNO)には、図3の処理が終了する。レスポンスが受信された場合(S44でYES)には、S46において、取得部30は、レスポンスに含まれる10個のOIDと、レスポンスに含まれる10個のMIB値と、を対応付けて、メモリ24内の上記の所定の記憶領域に記憶させる。
次いで、S48において、取得部30は、対象ベースIDとは異なるベースIDを含むOIDが、レスポンスに含まれるのか否かを判断する。上述したように、例えば、10個の対象OIDが、図1の1次元インデックス情報に対応する「***」(即ち「1.3.6.1.4.1…1.2.3.2」)〜「***.9」である場合には、レスポンスは、10個のOID「***.1」〜「***.10」を含む。この場合、対象ベースID「***」とは異なるベースIDを含むOIDが、レスポンスに含まれないために、取得部30は、S48でNOと判断して、S50に進む。
一方において、例えば、10個の対象OIDが、図1の1次元インデックス情報に対応する「***.20」(即ち「1.3.6.1.4.1…1.2.3.2.20」)〜「***.29」である場合には、レスポンスは、10個のOID「***.21」〜「***.28」、「###.1.1」(即ち「1.3.6.1.4.1…1.2.3.3.1.1」)、「###.1.1」を含む。この場合、対象ベースID「***」(即ち「1.3.6.1.4.1…1.2.3.2」)とは異なるベースID「###」(即ち「1.3.6.1.4.1…1.2.3.3」)を含むOIDが、レスポンスに含まれるために、取得部30は、S48でYESと判断して、図3の処理を終了する。なお、S48でYESの場合は、インデックス情報に含まれる複数個のMIB値の全てが取得されたことを意味する。この場合、図3の処理が終了する。
S50では、準備部32は、対象ベースID「***」と、連続する10個のインデックス値「Imax」〜「Imax+9」のそれぞれと、を組合せて、10個の対象OID「***.Imax」〜「***.Imax+9」を準備する。ここで、「Imax」は、前回のS44の処理で受信されたレスポンスに含まれる最大のインデックス値である。より具体的に言うと、S50では、準備部32は、まず、前回のS44で受信されたレスポンスに含まれる10個のOIDの中から、最大のインデックス値を有する最大のOID「***.Imax」を特定する。そして、準備部32は、特定済みの最大のOID「***.Imax」から昇順で、10個の対象OID「***.Imax」〜「***.Imax+9」を準備する。
例えば、前回のS44の処理で受信されたレスポンスが、10個のOID「***.1」(即ち「1.3.6.1.4.1…1.2.3.2.1」)〜「***.10」(即ち「1.3.6.1.4.1…1.2.3.2.10」)を含む場合には、準備部32は、最大のOID「***.10」を特定し、特定済みの最大のOID「***.10」から昇順で、10個の対象OID「***.10」〜「***.19」を準備する。また、例えば、前回のS44の処理で受信されたレスポンスが、10個のOID「***.1.1」(即ち「1.3.6.1.4.1…1.2.3.3.1.1」)〜「***.1.10」(即ち「1.3.6.1.4.1…1.2.3.3.1.10」)を含む場合には、準備部32は、最大のOID「***.1.10」を特定し、特定済みの最大のOID「***.1.10」から昇順で、10個の対象OID「***.1.10」〜「***.1.19」を準備する。
次いで、S42において、送信部34は、S50で準備された10個の対象OIDを含むGETNEXTリクエストを、プリンタ50に送信する。S44でNO又はS48でYESと判断されるまで、S42〜S50の処理が繰り返し実行される。
(1次元インデックス情報の取得例;図4)
図4は、管理デバイス10が、図3のインデックス情報取得処理に従って、28個の1次元インデックス値「1」〜「28」に対応する28個のMIB値「V1」〜「V28」を取得する例を示す。なお、以下では、GETNEXTリクエストのことを、簡単に、「リクエスト」と呼ぶ。
管理デバイス10は、まず、10個の対象OID「***」(即ち「1.3.6.1.4.1…1.2.3.2」)〜「***.9」を準備して(図3のS40)、10個の対象OID「***」〜「***.9」を含むリクエストReq1をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.1」〜「***.10」と、10個のMIB値「V1」〜「V10」と、を含むレスポンスRes1を、プリンタ50から受信する。
次いで、管理デバイス10は、10個の対象OID「***.10」〜「***.19」を準備して(図3のS50)、10個の対象OID「***.10」〜「***.19」を含むリクエストReq2をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.11」〜「***.20」と、10個のMIB値「V11」〜「V20」と、を含むレスポンスRes2を、プリンタ50から受信する。
次いで、管理デバイス10は、10個の対象OID「***.20」〜「***.29」を準備して(図3のS50)、10個の対象OID「***.20」〜「***.29」を含むリクエストReq3をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.21」〜「***.28」、「###.1.1」(即ち「1.3.6.1.4.1…1.2.3.3.1.1」)、「###.1.1」と、10個のMIB値「V21」〜「V28」、「V1.1」、「V1.1」と、を含むレスポンスRes3を、プリンタ50から受信する。対象ベースID「***」(即ち「1.3.6.1.4.1…1.2.3.2」)とは異なるベースID「###」(即ち「1.3.6.1.4.1…1.2.3.3」)を含むOID「###.1.1」が、レスポンスRes3に含まれるために、管理デバイス10は、図3のS48でYESと判断して、図3のインデックス情報取得処理を終了する。
仮に、10個の対象OIDを含むリクエストを送信せずに、1個の対象OIDのみを含むリクエストをプリンタ50に送信する構成(以下では「比較例の構成」と呼ぶ)を採用すると、管理デバイスは、1次元インデックス情報に含まれる28個のMIB値をプリンタ50から取得するのに、28個のリクエストをプリンタ50に送信する必要がある。これに対し、本実施例では、図4に示されるように、管理デバイス10は、28個のMIB値をプリンタ50から取得するのに、3個のリクエストReq1〜Req3をプリンタ50に送信すれば足りる。従って、管理デバイス10は、比較例の構成と比べて、インデックス情報を効率良く取得することができる。
(2次元インデックス情報の取得例;図5)
図5は、管理デバイス10が、図3のインデックス情報取得処理に従って、43個の2次元インデックス値「1.1」〜「1.25」、「2.1」〜「1.18」に対応する43個のMIB値「V1.1」〜「V1.25」、「V2.1」〜「V2.18」を取得する例を示す。なお、図5では、OID内のインデックス値のうちの四角で囲まれた値は、当該インデックス値のうちの上位の桁の値(即ち2次元目の桁の値)を示す。従って、OID内のインデックス値のうちの四角で囲まれていない値は、当該インデックス値のうちの下位の桁の値(即ち1次元目の桁の値)を示す。
管理デバイス10は、まず、10個の対象OID「***」(即ち「1.3.6.1.4.1…1.2.3.3」)〜「***.1.9」を準備する(図3のS40)。即ち、管理デバイス10は、ベースIDのみによって表現される1個のOID「***」と、9個のインデックス値「1.1」〜「1.9」を有する9個のOID「***.1.1」〜「***.1.9」と、を準備する。ここで、9個のインデックス値「1.1」〜「1.9」は、上位の桁の値(即ち2次元目の桁の値)として「1」を有すると共に、下位の桁の値(即ち1次元目の桁の値)として連続する値「1」〜「9」を有する。
管理デバイス10は、10個の対象OID「***」〜「***.1.9」を含むリクエストReq11をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.1.1」〜「***.1.10」と、10個のMIB値「V1.1」〜「V1.10」と、を含むレスポンスRes11を、プリンタ50から受信する。レスポンスRes11内の全てのインデックス値「1.1」〜「1.10」は、上位の桁の値として「1」を有する。即ち、レスポンスRes11内の全てのインデックス値「1.1」〜「1.10」は、リクエストReq11内の各インデックス値「1.1」、「1.2」等の上位の桁の値「1」と同じ値「1」を、上位の桁の値として有する。以下では、このようなレスポンスRes11(即ち、レスポンス内の全てのインデックス値が、リクエスト内の各インデックス値の上位の桁の値と同じ値を、上位の桁の値として有するレスポンス)を受信するケースのことを、「同値のケース」と呼ぶ。
管理デバイス10は、レスポンスRes11内の10個のOID「***.1.1」〜「***.1.10」のうち、最大のインデックス値「1.10」を有する最大のOID「***.1.10」を特定して、最大のOID「***.1.10」から昇順で10個の対象OID「***.1.10」〜「***.1.19」を新たに準備する(図3のS50)。即ち、上記の同値のケースでは、新たに準備される各インデックス値「1.10」〜「1.19」は、前回のリクエストReq11内の各インデックス値「1.1」〜「1.9」の上位の桁の値「1」と同じ値「1」を、上位の桁の値として有する。また、新たに準備される各インデックス値「1.10」〜「1.19」のうちの最小のインデックス値「1.10」は、前回のリクエストReq11内の各インデックス値「1.1」〜「1.9」のうちの最大のインデックス値「1.9」に連続する値である。
管理デバイス10は、新たに準備された10個の対象OID「***.1.10」〜「***.1.19」を含むリクエストReq12をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.1.11」〜「***.1.20」と、10個のMIB値「V1.11」〜「V1.20」と、を含むレスポンスRes12を、プリンタ50から受信する。このレスポンスRes12は、上記の同値のケースである。
管理デバイス10は、レスポンスRes12内の10個のOID「***.1.11」〜「***.1.20」のうち、最大のインデックス値「1.20」を有する最大のOID「***.1.20」を特定して、最大のOID「***.1.20」から昇順で10個の対象OID「***.1.20」〜「***.1.29」を新たに準備する(図3のS50)。
管理デバイス10は、新たに準備された10個の対象OID「***.1.20」〜「***.1.29」を含むリクエストReq13をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.1.21」〜「***.1.25」、「***.2.1」、「***.2.1」「***.2.1」「***.2.1」「***.2.1」と、10個のMIB値「V1.21」〜「V1.25」、「V2.1」、「V2.1」、「V2.1」、「V2.1」、「V2.1」と、を含むレスポンスRes13を、プリンタ50から受信する。このレスポンスRes13内のインデックス値「2.1」は、リクエストReq13内の各インデックス値「1.20」〜「1.29」の上位の桁の値「1」とは異なる値「2」を、上位の桁の値として有する。以下では、このようなレスポンスRes13(即ち、リクエスト内の各インデックス値の上位の桁の値とは異なる値を、上位の桁の値として有するインデックス値を含むレスポンス)を受信するケースのことを、「異値のケース」と呼ぶ。また、このようなインデックス値「2.1」(即ち、リクエスト内の各インデックス値の上位の桁の値とは異なる値を、上位の桁の値として有するインデックス値)のことを、「特定のインデックス値」と呼ぶ。
管理デバイス10は、レスポンスRes13内の10個のOID「***.1.21」〜「***.1.25」、「***.2.1」等のうち、最大のインデックス値「2.1」を有する最大のOID「***.2.1」を特定して、最大のOID「***.2.1」から昇順で10個の対象OID「***.2.1」〜「***.2.10」を新たに準備する(図3のS50)。即ち、上記の異値のケースでは、新たに準備される各インデックス値「2.1」〜「2.10」は、前回のレスポンスRes13内の上記の特定のインデックス値「2.1」の上位の桁の値「2」と同じ値「2」を、上位の桁の値として有する。
管理デバイス10は、新たに準備された10個の対象OID「***.2.1」〜「***.2.10」を含むリクエストReq14をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.2.2」〜「***.2.11」と、10個のMIB値「V2.2」〜「V2.11」と、を含むレスポンスRes14を、プリンタ50から受信する。このレスポンスRes14は、上記の同値のケースである。
次いで、管理デバイス10は、新たに準備された10個の対象OID「***.2.11」〜「***.2.20」を含むリクエストReq15をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.2.12」〜「***.2.18」、「###.1.1.1」(即ち「1.3.6.1.4.1…1.2.3.4.1.1.1」)、「###.1.1.1」、「###.1.1.1」と、10個のMIB値「V2.12」〜「V2.18」、「V1.1.1」、「V1.1.1」、「V1.1.1」と、を含むレスポンスRes15を、プリンタ50から受信する。対象ベースID「***」(即ち「1.3.6.1.4.1…1.2.3.3」)とは異なるベースID「###」(即ち「1.3.6.1.4.1…1.2.3.4」)を含むOID「###.1.1.1」が、レスポンスRes15に含まれるために、管理デバイス10は、図3のS48でYESと判断して、図3のインデックス情報取得処理を終了する。
図5に示されるように、本実施例では、管理デバイス10は、2次元インデックス情報に含まれる43個のMIB値をプリンタ50から取得するのに、5個のリクエストReq11〜Req15をプリンタ50に送信すれば足りる。従って、管理デバイス10は、インデックス情報を効率良く取得することができる。
(3次元インデックス情報の取得例;図6)
図6は、管理デバイス10が、図3のインデックス情報取得処理に従って、48個の3次元インデックス値「1.1.1」〜「1.1.19」等に対応する48個のMIB値「V1.1.1」〜「V1.1.19」等を取得する例を示す。図6でも、図5と同様に、四角で囲まれた値は、上位の桁の値(即ち2次元目及び3次元目の桁の値)であり、四角で囲まれていない値は、下位の桁の値(即ち1次元目の桁の値)を示す。
図6の取得例では、インデックス値のうちの2次元目及び3次元目の桁の値を、上位の桁の値として考慮する点を除くと、図5の取得例と同様である。例えば、レスポンスRes21内の全てのインデックス値「1.1.1」〜「1.1.10」の上位の桁の値「1.1」は、リクエストReq21内の各インデックス値「1.1.1」〜「1.1.9」の上位の桁の値「1.1」と同じである。即ち、レスポンスRes21は、上記の同値のケースである。このために、リクエストReq22内の各インデックス値「1.1.10」〜「1.1.19」は、前回のリクエストReq21内の各インデックス値「1.1.1」〜「1.1.10」の上位の桁の値「1.1」と同じ値「1.1」を、上位の桁の値として有する。また、リクエストReq22内の各インデックス値「1.1.10」〜「1.1.19」のうちの最小のインデックス値「1.1.10」は、前回のリクエストReq21内の各インデックス値「1.1.1」〜「1.1.9」のうちの最大のインデックス値「1.1.9」に連続する値である。
また、レスポンスRes22内のインデックス値「1.2.1」の上位の桁の値「1.2」は、リクエストReq22内の各インデックス値「1.1.10」〜「1.1.19」の上位の桁の値「1.1」とは異なる。即ち、レスポンスRes22は、上記の異値のケースである。また、上記のインデックス値「1.2.1」は、上記の特定のインデックス値である。このために、リクエストReq23内の各インデックス値「1.2.1」〜「1.2.10」は、上記の特定のインデックス値「1.2.10」の上位の桁の値「1.2」と同じ値「1.2」を、上位の桁の値として有する。
同様に、レスポンスRes23及びレスポンスRes24も、上記の異値のケースである。さらに、レスポンスRes25は、対象ベースID「***」(即ち「1.3.6.1.4.1…1.2.3.4」)とは異なるベースID「###」(例えば「1.3.6.1.4.1…1.2.3.5」)を含むOID「###」を含む。このために、管理デバイス10は、図3のS48でYESと判断して、図3のインデックス情報取得処理を終了する。
図6に示されるように、本実施例では、管理デバイス10は、3次元インデックス情報に含まれる48個のMIB値をプリンタ50から取得するのに、5個のリクエストReq21〜Req25をプリンタ50に送信すれば足りる。従って、管理デバイス10は、インデックス情報を効率良く取得することができる。
(第1実施例の効果)
上述したように、本実施例によると、管理デバイス10は、インデックス情報を効率よく取得することができる。特に、図5及び図6に示されるように、管理デバイス10は、2次元以上のインデックス情報を取得する際に、上記の同値のケースでも、上記の異値のケースでも、次のリクエストに含まれるべき各OIDを適切に準備して、各MIB値を一括して適切に取得することができる。
なお、管理デバイス10は、1個のリクエストに含まれるOIDの数を、「10」よりも大きくすれば、より少ない通信回数で各MIB値を取得することができる。例えば、図4の取得例において、100個のOIDを含むリクエストを送信する構成を採用すれば、管理デバイス10は、1回の通信で28個のMIB値の全てを取得することができる。しかしながら、例えば、多数個のOID(例えば100個のOID)を含むリクエストを送信する構成を採用すると、レスポンスのパケットのサイズが上限を超え得る。この場合、レスポンスのパケットを分割する必要があり、通信効率が悪い。また、この場合、プリンタ50の処理負荷も大きい。従って、本実施例では、1個のリクエストに含まれるOIDの数が、あまり過大にならないように、「10」に設定されている。
上述したように、1個のリクエストに含まれるOIDの数が過大にならように設定されているために、管理デバイス10は、1個のインデックス情報に含まれる複数個のMIB値を取得するのに、複数個のリクエストを送信する可能性が高い。例えば、図4の取得例では、3個のリクエストを送信する必要がある。ただし、管理デバイス10は、図4の取得例に従って各MIB値を取得すれば、1次元インデックス情報が、28個のインデックス値「1」〜「28」に対応する28個のMIB値「V1」〜「V28」を含むことを把握することができる。従って、管理デバイス10(即ち取得部30)は、2回目以降のインデックス情報取得処理を実行する際に、28個のOID「***」〜「***.27」を含むリクエストをプリンタ50に送信して、28個のMIB値「V1」〜「V28」を一括して取得してもよい。同様に、管理デバイス10は、2次元以上のインデックス情報に含まれるMIB値の数を把握すれば、2回目以降のインデックス情報取得処理を実行する際に、把握済みの複数個のMIB値を一括して取得するための複数個のOIDを含むリクエストをプリンタ50に送信して、複数個のMIB値を一括して取得してもよい。ただし、上述したように、例えば、プリンタ50がエラー履歴等を累積して格納する場合には、インデックス情報に含まれるMIB値の数(即ちインデックス値の数)が変化し得るために、管理デバイス10は、2回目以降のインデックス情報取得処理を実行する際にも、図3の処理を実行することが好ましい。管理デバイス10が、プリンタ50に新たに格納されたOIDに対応するMIB値を、適切に取得することができるからである。
(対応関係)
プリンタ50が、「対象デバイス」の一例である。対象ベースID、OIDが、それぞれ、「対象ID」、「組合せID」の一例である。例えば、図5の2次元インデックス情報では、43個のインデックス値、43個のMIB値が、それぞれ、「K次元の複数個のインデックス値」、「複数個の部分対象情報」の一例である。
例えば、図5のリクエストReq13が、「第1のGETNEXTリクエスト」の一例である。この場合、10個のOID「***.1.20」〜「***.1.29」、10個のインデックス値「1.20」〜「1.29」、これらのインデックス値のうちの上位の桁の値「1」が、それぞれ、「第1グループのMa個の組合せID」、「Ma個のインデックス値」、「第1の値」の一例である。また、レスポンスRes13内の10個のOID「***.1.21」〜「***.1.25」、「***.2.1」等、レスポンスRes13内の10個のMIB値「V1.21」〜「V1.25」、「V2.1」等が、それぞれ、「第2グループのMa個の組合せID」、「Ma個の部分対象情報」の一例である。また、OID「***.2.1」、インデックス値「2.1」、このインデックス値のうちの上位の桁の値「2」、MIB値「V2.1」が、それぞれ、「特定の組合せID」、「特定のインデックス値」、「第2の値」、「特定の部分対象情報」の一例である。そして、リクエストReq14、10個のOID「***.2.1」〜「***.2.10」が、それぞれ、「第2のGETNEXTリクエスト」、「Mb個の組合せID」の一例である。
また、例えば、図5のリクエストReq12が、「第1のGETNEXTリクエスト」の一例である。この場合、10個のOID「***.1.10」〜「***.1.19」、10個のインデックス値「1.10」〜「1.19」が、それぞれ、「第1グループのMa個の組合せID」、「Ma個のインデックス値」の一例である。また、レスポンスRes12内の10個のMIB値「V1.11」〜「V1.20」が、「Ma個の部分対象情報」の一例である。そして、リクエストReq13、10個のOID「***.1.20」〜「***.1.29」が、それぞれ、「第3のGETNEXTリクエスト」、「Mc個の組合せID」の一例である。
(第1実施例の変形例;図7)
上述したように、第1実施例では、プリンタ50の情報テーブル52において、ベースIDと、連続する各インデックス値と、の組合せの各OIDが利用されることが前提となっている。ただし、ベースIDと、連続しない各インデックス値と、の組合せの各OIDが利用される場合でも、第1実施例の図3のフローチャートを適用することができる。
例えば、図7に示される複数個のOIDに対応する複数個のMIB値を取得する状況を想定する。ここで、複数個のOID(複数個のMIB値)は、「***.1.8」〜「***.1.10」(「V1.8」〜「V1.10」)を含まない。即ち、ベースID「***」と、連続しない各インデックス値「1.1」〜「1.7」、「1.11」〜「1.20」と、の組合せの各OIDが利用されている。
管理デバイス10は、まず、10個の対象OID「***」〜「***.1.9」を含むリクエストReq31をプリンタ50に送信する(図3のS42)。この場合、管理デバイス10は、10個のOID「***.1.1」〜「***.1.7」、「***.1.11」、「***.1.11」、「***.1.11」と、10個のMIB値「V1.1」〜「V1.7」、「V1.11」、「V1.11」、「V1.11」と、を含むレスポンスRes31を、プリンタ50から受信する。
管理デバイス10は、レスポンスRes31内の10個のOIDのうち、最大のインデックス値「1.11」を有する最大のOID「***.1.11」を特定して、最大のOID「***.1.11」から昇順で10個の対象OID「***.1.11」〜「***.1.20」を新たに準備する(図3のS50)。そして、管理デバイス10は、新たに準備された10個の対象OID「***.1.11」〜「***.1.20」を含むリクエストReq32をプリンタ50に送信する(図3のS42)。この後のレスポンスRes32、リクエストReq33、レスポンスRes33については、図5等と同様である。
図7に示されるように、管理デバイス10は、図3のフローチャートに従って処理を実行すれば、ベースIDと、連続しない各インデックス値と、の組合せの各OIDが利用される場合でも、各MIB値を適切に取得することができる。
(第2実施例)
第1実施例とは異なる点を説明する。本実施例では、図2のS22のインデックス情報取得処理の内容が、第1実施例とは異なる。取得対象の情報が1次元インデックス情報である場合には、取得部30は、第1実施例と同様に、図3のインデックス情報取得処理に従って、各MIB値を取得する。一方において、取得対象の情報が2次元インデックス情報である場合には、取得部30は、図8のインデックス情報取得処理に従って、各MIB値を取得する。
(2次元以上のインデックス情報取得処理;図8)
図8のS60〜S68は、図3のS40〜S48と同様である。S68でNOの場合には、S70において、判断部36は、前回のS64の処理で受信されたレスポンス内の10個のOIDの中に、上記の特定のインデックス値(即ち、リクエスト内の各インデックス値の上位の桁の値とは異なる値を、上位の桁の値として有するインデックス値)を有するOIDが含まれるのか否かを判断する。即ち、判断部36は、上記の同値のケースであるのか(S70でNO)、上記の異値のケースであるのか(S70でYES)、を判断する。
なお、以下では、リクエスト内の各インデックス値の上位の桁の値のことを「Vreq」と表現し、レスポンス内の上記の特定のインデックス値の上位の桁の値のことを「Vres」と表現する。例えば、図9に示される取得例のリクエストReq41〜Req43では、Vreqは「1」である。そして、レスポンスRes43内のインデックス値「2.1」が、上記の特定のインデックス値であり、この場合、Vresは「2」である。
上記の同値のケースであると判断される場合(S70でNOの場合)には、S72において、準備部32は、対象ベースID「***」と、連続する10個のインデックス値「Vreq.Vmax+1」〜「Vreq.Vmax+10」のそれぞれと、を組合せて、10個の対象OID「***.Vreq.Vmax+1」〜「***.Vreq.Vmax+10」を準備する。ここで、「Vmax」は、前回のS62の処理で送信されたリクエストに含まれる最大のインデックス値である。例えば、図9のリクエストReq41及びレスポンスRes41の通信が終了した時点では、Vreqは「1」であり、Vmaxは「9」である。この場合、S72において、準備部32は、10個の対象OID「***.1.10」〜「***.19」を準備する。次いで、S62において、送信部34は、10個の対象OID「***.1.10」〜「***.19」を含むリクエストをプリンタ50に送信する(図9のリクエストReq42参照)。
一方において、上記の異値のケースであると判断される場合(S70でYESの場合)には、S74において、準備部32は、対象ベースID「***」と、連続する10個のインデックス値「Vres.1」〜「Vres.10」のそれぞれと、を組合せて、10個の対象OID「***. Vres.1」〜「***.Vres+10」を準備する。例えば、図9のリクエストReq43及びレスポンスRes43の通信が終了した時点では、Vresは「2」である。この場合、S74において、準備部32は、10個の対象OID「***.2.1」〜「***.2.10」を準備する。次いで、S62において、送信部34は、10個の対象OID「***.2.1」〜「***.2.10」を含むリクエスト(図9のリクエストReq44)をプリンタ50に送信する。
S64でNO又はS68でYESと判断されるまで、S62〜S74の処理が繰り返し実行される。図9の取得例では、図9のリクエストReq41〜Req45及びレスポンスRes41〜Res45の通信が終了すると、S68でYESと判断される。
(第2実施例の効果)
本実施例の図9の取得例と、第1実施例の図5の取得例と、を比べると明らかなように、本実施例の図8のインデックス情報取得処理を実行しても、第1実施例の図3のインデックス情報取得処理を実行する場合と同じ結果が得られる。本実施例でも、管理デバイス10は、2次元以上のインデックス情報を取得する際に、上記の同値のケース(図8のS70でNO)でも、上記の異値のケース(図8のS70でYES)でも、次のリクエストに含まれるべき各OIDを適切に準備して、各MIB値を適切に取得することができる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
(変形例1)「Ma」、「Mb」、「Mc」は、上記の各実施例のように「10」でなくてもよく、2以上の整数であれば、どのような値であってもよい。また、「Ma」、「Mb」、「Mc」は、上記の各実施例のように同じ値「10」でなくてもよく、互いに異なる値であってもよい。
(変形例2)上記の第2実施例では、図8のS70において、判断部36は、レスポンス内の10個のOIDの中に、特定のインデックス値(上位の桁の値がVresであるインデックス値)を有するOIDが含まれるのか否かを判断している。これに代えて、判断部36は、以下の(手法A)〜(手法C)のいずれかを利用して、S70の判断を実行してもよい。(手法A)判断部36は、レスポンス内の10個のOIDの中に、2個以上の同じOID(例えば、図9のレスポンスRes43内の5個のOID「***.2.1」)が含まれる場合に、S70でYESと判断してもよい。(手法B)判断部36は、レスポンス内の10個のMIB値の中に、2個以上の同じMIB値(例えば、図9のレスポンスRes43内の5個のMIB値「V2.1」)が含まれる場合に、S70でYESと判断してもよい。(手法C)判断部36は、レスポンス内の10個のインデックス値の下位の桁の値が連続しない場合(例えば、図9のレスポンスRes43では、「1.21」〜「1.25」が連続しているが、「1.25」と「2.1」(又は「2.1」と「2.1」)が連続していない)に、S70でYESと判断してもよい。即ち、判断部36は、第2実施例のS70の手法、及び、上記の(手法A)〜(手法C)のうちのいずれかの手法を利用して、Ma個の部分対象情報が、特定の部分対象情報を含むのか否かを判断すればよい。
上述したように、第1実施例では、第2実施例のような判断(図8のS70の判断)を実行せずに、図3のS50において、準備部32は、最大のインデックス値「Imax」を有する最大のOID「***.Imax」を特定して、最大のOIDから昇順で各OID「***.Imax」〜「***.Imax+9」を準備する。一方において、第2実施例では、準備部32は、図8のS70の判断に応じて、各OIDを準備する(S72、S74)。そして、上述したように、図8のS70の判断は、第2実施例の手法に限られず、上記の(手法A)〜(手法C)の判断であってもよい。一般的に言うと、第1実施例、第2実施例、及び、上記の(手法A)〜(手法C)のいずれの手法も、「準備部は、・・・Mb個の組合せIDを準備し」という構成に含まれる。
(変形例3)「対象デバイス」は、プリンタに限られず、他の種類のデバイス(例えば、PC、サーバ、多機能機、コピー機、スキャナ、FAX装置等)であってもよい。
(変形例4)上記の各実施例では、管理デバイス10のCPU22がソフトウェアに従って処理を実行することによって、各部30〜36の機能が実現される。これに代えて、各部30〜36の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:管理システム、10:管理デバイス、20:制御部、24:メモリ、26:次元数テーブル、50:プリンタ、52:情報テーブル、Req1〜Req3,Req11〜Req15:GETNEXTリクエスト、Res1〜Res3,Res11〜Res15:レスポンス、V1〜V28,V1.1〜V1.25,V2.1〜V2.18:MIB値

Claims (7)

  1. 管理対象の対象デバイスを管理する管理デバイスであって、
    取得対象の対象情報に対応するIDである対象IDを含むリクエストを前記対象デバイスに送信して、前記対象デバイスから前記対象情報を取得する取得部を備え、
    前記取得部は、
    前記対象情報が、K次元(Kは2以上の整数)の複数個のインデックス値に対応する複数個の部分対象情報を含む場合に、第1グループのMa個(Maは2以上の整数)の組合せIDを準備する準備部であって、前記第1グループのMa個の組合せIDのそれぞれは、前記対象IDと、連続するMa個のインデックス値のそれぞれと、の組合せであり、前記Ma個のインデックス値は、上位の桁の値として第1の値を有すると共に、下位の桁の値として連続する値を有する、前記準備部と、
    前記第1グループのMa個の組合せIDを含む第1のGETNEXTリクエストを前記対象デバイスに送信する送信部と、を備え、
    前記準備部は、さらに、前記第1のGETNEXTリクエストを送信した結果として、前記対象デバイスから取得されるMa個の部分対象情報が、前記対象IDと、上位の桁の値として前記第1の値とは異なる第2の値を有する特定のインデックス値と、の組合せである特定の組合せIDに対応する特定の部分対象情報を含む第1の場合に、Mb個(Mbは2以上の整数)の組合せIDを準備し、
    前記Mb個の組合せIDのそれぞれは、前記対象IDと、連続するMb個のインデックス値のそれぞれと、の組合せであり、
    前記Mb個のインデックス値は、上位の桁の値として前記第2の値を有すると共に、下位の桁の値として連続する値を有し、
    前記送信部は、さらに、前記第1の場合に、前記Mb個の組合せIDを含む第2のGETNEXTリクエストを前記対象デバイスに送信する、
    管理デバイス。
  2. 前記準備部は、さらに、前記Ma個の部分対象情報が、前記特定の部分対象情報を含まない第2の場合に、Mc個(Mcは2以上の整数)の組合せIDを準備し、
    前記Mc個の組合せIDのそれぞれは、前記対象IDと、連続するMc個のインデックス値のそれぞれと、の組合せであり、
    前記Mc個のインデックス値は、上位の桁の値として前記第1の値を有すると共に、下位の桁の値として連続する値を有し、
    前記Mc個のインデックス値のうちの最小のインデックス値は、前記Ma個のインデックス値のうちの最大のインデックス値に連続する値であり、
    前記送信部は、さらに、前記第2の場合に、前記Mc個の組合せIDを含む第3のGETNEXTリクエストを前記対象デバイスに送信する、請求項1に記載の管理デバイス。
  3. 前記取得部は、前記第1のGETNEXTリクエストを送信した結果として、前記対象デバイスから、前記Ma個の部分対象情報と共に、前記Ma個の部分対象情報に対応する第2グループのMa個の組合せIDを取得し、
    前記準備部は、前記第1の場合に、前記第2グループのMa個の組合せIDの中から、最大のインデックス値を有する最大の組合せIDを特定して、前記最大の組合せIDから昇順で前記Mb個の組合せIDを準備する、請求項1又は2に記載の管理デバイス。
  4. 前記取得部は、さらに、前記Ma個の部分対象情報が、前記特定の部分対象情報を含むのか否かを判断する判断部を備える、請求項1又は2に記載の管理デバイス。
  5. 前記取得部は、前記第1のGETNEXTリクエストを送信した結果として、前記対象デバイスから、前記Ma個の部分対象情報と共に、前記Ma個の部分対象情報に対応する第2グループのMa個の組合せIDを取得し、
    前記判断部は、前記第2グループのMa個の組合せIDが、前記特定の組合せIDを含むのか否かを判断することによって、前記Ma個の部分対象情報が、前記特定の部分対象情報を含むのか否かを判断する、請求項4に記載の管理デバイス。
  6. 前記管理デバイスは、さらに、
    複数個のIDのそれぞれについて、当該IDと、当該IDに対応する情報に含まれる複数個の部分情報に対応する複数個のインデックス値の次元数を示す次元数データと、が関連付けられているテーブルを格納するメモリを備え、
    前記準備部は、前記対象IDに関連付けられている前記次元数データを用いて、前記第1グループのMa個の組合せIDを準備する、請求項1から5のいずれか一項に記載の管理デバイス。
  7. 管理対象の対象デバイスを管理する管理デバイスのためのコンピュータプログラムであって、
    前記管理デバイスに搭載されるコンピュータに、以下の処理、即ち、
    取得対象の対象情報に対応するIDである対象IDを含むリクエストを前記対象デバイスに送信して、前記対象デバイスから前記対象情報を取得する取得処理を実行させ、
    前記取得処理は、
    前記対象情報が、K次元(Kは2以上の整数)の複数個のインデックス値に対応する複数個の部分対象情報を含む場合に、第1グループのMa個(Maは2以上の整数)の組合せIDを準備する準備処理であって、前記第1グループのMa個の組合せIDのそれぞれは、前記対象IDと、連続するMa個のインデックス値のそれぞれと、の組合せであり、前記Ma個のインデックス値は、上位の桁の値として第1の値を有すると共に、下位の桁の値として連続する値を有する、前記準備処理と、
    前記第1グループのMa個の組合せIDを含む第1のGETNEXTリクエストを前記対象デバイスに送信する送信処理と、を含み、
    前記準備処理では、さらに、前記第1のGETNEXTリクエストを送信した結果として、前記対象デバイスから取得されるMa個の部分対象情報が、前記対象IDと、上位の桁の値として前記第1の値とは異なる第2の値を有する特定のインデックス値と、の組合せである特定の組合せIDに対応する特定の部分対象情報を含む第1の場合に、Mb個(Mbは2以上の整数)の組合せIDを準備し、
    前記Mb個の組合せIDのそれぞれは、前記対象IDと、連続するMb個のインデックス値のそれぞれと、の組合せであり、
    前記Mb個のインデックス値は、上位の桁の値として前記第2の値を有すると共に、下位の桁の値として連続する値を有し、
    前記送信処理では、さらに、前記第1の場合に、前記Mb個の組合せIDを含む第2のGETNEXTリクエストを前記対象デバイスに送信する、
    コンピュータプログラム。
JP2012077414A 2012-03-29 2012-03-29 管理デバイス Active JP5862417B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012077414A JP5862417B2 (ja) 2012-03-29 2012-03-29 管理デバイス
US13/801,589 US9146971B2 (en) 2012-03-29 2013-03-13 Management device and computer-readable storage medium storing computer-readable instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012077414A JP5862417B2 (ja) 2012-03-29 2012-03-29 管理デバイス

Publications (2)

Publication Number Publication Date
JP2013206359A JP2013206359A (ja) 2013-10-07
JP5862417B2 true JP5862417B2 (ja) 2016-02-16

Family

ID=49236443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012077414A Active JP5862417B2 (ja) 2012-03-29 2012-03-29 管理デバイス

Country Status (2)

Country Link
US (1) US9146971B2 (ja)
JP (1) JP5862417B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875082B (zh) * 2018-07-17 2021-01-01 奇安信科技集团股份有限公司 一种大容量数据读写处理方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581259B2 (ja) * 2001-02-06 2010-11-17 ソニー株式会社 組込型電子機器ならびに組込電子機器および組込電子機器の管理方法
US20030115316A1 (en) * 2001-12-07 2003-06-19 Siew-Hong Yang-Huffman System and method for network usage metering
JP2003256301A (ja) 2002-02-28 2003-09-12 Canon Inc ネットワーク管理システム、表示方法及びネットワーク管理プログラム
US7213026B2 (en) * 2002-08-23 2007-05-01 Sun Microsystems, Inc. Apparatus and method for associating classes
KR20050075489A (ko) 2004-01-15 2005-07-21 유티스타콤코리아 유한회사 메타 mib 를 이용한 자동 업데이트 시스템 및 방법
KR100636235B1 (ko) * 2005-05-24 2006-10-19 삼성전자주식회사 단순망 관리 프로토콜의 설정 이력 관리 시스템 및 방법
JP2007026076A (ja) * 2005-07-15 2007-02-01 Canon Inc Mib情報を利用した印刷システムにおけるsnmpによる通信探索方法
JP4684883B2 (ja) 2005-12-21 2011-05-18 富士通株式会社 属性情報収集装置、属性情報収集方法および属性情報収集プログラム
CN100418092C (zh) * 2006-02-20 2008-09-10 南京联创科技股份有限公司 海量数据内存数据库中快速定位的网格+t树索引的方法
JP4942435B2 (ja) * 2006-09-14 2012-05-30 株式会社リコー Snmpメッセージにより機器から情報を取得する機器情報取得方法及び情報処理装置
JP5402667B2 (ja) 2010-01-21 2014-01-29 富士通株式会社 構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラム
US8639802B2 (en) 2010-04-30 2014-01-28 Brocade Communications Systems, Inc. Dynamic performance monitoring
JP2013030080A (ja) * 2011-07-29 2013-02-07 Canon Inc ネットワーク機器、その制御方法、および制御プログラム
JP5919887B2 (ja) * 2012-02-29 2016-05-18 ブラザー工業株式会社 管理デバイス

Also Published As

Publication number Publication date
US9146971B2 (en) 2015-09-29
US20130262448A1 (en) 2013-10-03
JP2013206359A (ja) 2013-10-07

Similar Documents

Publication Publication Date Title
JP3639770B2 (ja) ネットワーク制御装置および方法
JP6751780B2 (ja) アクセラレーション・リソース処理方法及び装置
US10785278B2 (en) Network management interface
US20110270900A1 (en) Distributed file name solution system, distributed file name solution method and distributed file name solution program
JP5862417B2 (ja) 管理デバイス
US10228749B2 (en) Power saving apparatus, method, and non-transitory computer-readable medium using a pre-calculated SNMP getnext request correspondence table
US20170339694A1 (en) Resource Indication Method and Apparatus
JP5919887B2 (ja) 管理デバイス
JP2004080779A (ja) 異種のネットワーク装置にしきい値を設定する方法
CN109194519B (zh) 网络设备的配置方法、装置、控制器及计算机存储介质
US20130066943A1 (en) Application-Aware Quality Of Service In Network Applications
JP5263029B2 (ja) 管理装置及びコンピュータプログラム
US8688858B2 (en) Image processing device, device management system, and image processing method
US20100220351A1 (en) Systems and methods for printer status determination
JP5907061B2 (ja) 仲介サーバ、通信装置、及び、コンピュータプログラム
JP2015028764A (ja) テンプレートスタックを利用する別々のネットワークノードからのデータの統合方法および装置
US11240094B2 (en) Information processing apparatus, information processing method, and computer-readable medium
CN103888632B (zh) 图像处理设备和图像处理方法
JP6177710B2 (ja) イベント管理装置及びイベント管理方法
JP2008152648A (ja) データ処理装置
JP7090786B1 (ja) ネットワークの管理装置、当該管理装置における方法及びプログラム
EP3258655B1 (en) Method and apparatus for determining nsd to be uploaded
US8379251B2 (en) Image forming system and image forming apparatus
JP2012078945A (ja) 管理システム、デバイス管理方法、及び遠隔管理装置
US8880750B2 (en) Peripheral device, information processing system, control method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151119

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: 20151201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151214

R150 Certificate of patent or registration of utility model

Ref document number: 5862417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150