JP5919887B2 - 管理デバイス - Google Patents

管理デバイス Download PDF

Info

Publication number
JP5919887B2
JP5919887B2 JP2012043838A JP2012043838A JP5919887B2 JP 5919887 B2 JP5919887 B2 JP 5919887B2 JP 2012043838 A JP2012043838 A JP 2012043838A JP 2012043838 A JP2012043838 A JP 2012043838A JP 5919887 B2 JP5919887 B2 JP 5919887B2
Authority
JP
Japan
Prior art keywords
target
index
information
value
combination
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
JP2012043838A
Other languages
English (en)
Other versions
JP2013182305A (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 JP2012043838A priority Critical patent/JP5919887B2/ja
Priority to US13/775,905 priority patent/US20130227064A1/en
Publication of JP2013182305A publication Critical patent/JP2013182305A/ja
Application granted granted Critical
Publication of JP5919887B2 publication Critical patent/JP5919887B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Description

本明細書では、管理対象の対象デバイスを管理する管理デバイスを開示する。
例えば、特許文献1及び2には、複数個の情報を取得するためのOID(Object ID)を含むGETNEXTリクエスト又はGETBULKリクエストを送信して、複数個の情報を一括して取得する技術が開示されている。
特開2007−174235号公報 特開2008−71197号公報
本明細書では、特許文献1及び2とは異なる手法を用いて、取得対象の対象情報を効率良く取得し得る技術を開示する。特に、対象情報が、複数個のインデックス値に対応する複数個の部分対象情報を含む場合に、各部分対象情報を効率良く取得し得る技術を開示する。
本明細書では、管理対象の対象デバイスを管理する管理デバイスを開示する。管理デバイスは、取得対象の対象情報に対応するIDである対象IDを含むリクエストを対象デバイスに送信して、対象デバイスから対象情報を取得する取得部を備える。取得部は、第1の送信部と、第2の送信部と、を備える。第1の送信部は、対象情報が、複数個のインデックス値に対応する複数個の部分対象情報を含む場合に、Ma個(Maは2以上の整数)の組合せIDを含む第1のメインリクエストを対象デバイスに送信する。Ma個の組合せIDのそれぞれは、対象IDと、連続するMa個のインデックス値のそれぞれと、の組合せである。第2の送信部は、第1のメインリクエストを送信した結果として、Ma個の組合せIDに対応するMa個の部分対象情報を取得することができない場合に、1個以上のサブリクエストを対象デバイスに順次送信する。1個以上のサブリクエストのそれぞれは、Ma個の組合せIDのうちのN個(Nは1以上Ma未満の整数)の組合せIDに対応するN個の部分対象情報を、対象デバイスから取得するためのN個の組合せIDを含む。
上記の構成によると、管理デバイスは、Ma個の組合せIDを含む第1のメインリクエストを対象デバイスに送信することによって、Ma個の部分対象情報を一括して取得し得る。従って、管理デバイスは、各部分対象情報を効率良く取得し得る。また、管理デバイスは、Ma個の部分対象情報を取得することができない場合に、1個以上のサブリクエストを対象デバイスに順次送信する。1個以上のサブリクエストのそれぞれは、第1のメインリクエストに含まれるMa個の組合せIDよりも少ないN個の組合せIDを含む。このために、管理デバイスは、1個以上のサブリクエストを対象デバイスに順次送信することによって、各部分対象情報を適切に取得し得る。このように、上記の構成によると、管理デバイスは、各部分対象情報を効率良く取得し得る。
第2の送信部は、2個以上のサブリクエストを対象デバイスに順次送信してもよい。2個以上のサブリクエストのそれぞれは、1個の組合せIDを含んでいてもよい。第2の送信部は、後に送信される第1のサブリクエストに含まれる第1の組合せID内の第1のインデックス値が、先に送信される第2のサブリクエストに含まれる第2の組合せID内の第2のインデックス値より大きく、かつ、第1のインデックス値が、第2のインデックス値に連続するように、2個以上のサブリクエストに含まれる各組合せIDを準備してもよい。この構成によると、管理デバイスは、Ma個の部分対象情報を取得することができない場合に、2個以上のサブリクエストを対象デバイスに順次送信して、各部分対象情報を適切に取得し得る。
第2の送信部は、部分対象情報を取得することができなくなるまでサブリクエストを対象デバイスに送信することを繰り返すことによって、2個以上のサブリクエストのそれぞれを対象デバイスに順次送信してもよい。この構成によると、管理デバイスは、各サブリクエストを対象デバイスに適切に送信し得る。
第1の送信部は、さらに、第1のメインリクエストを送信した結果として、Ma個の部分対象情報を取得することができる場合に、Mb個(Mbは2以上の整数)の組合せIDを含む第2のメインリクエストを対象デバイスに送信してもよい。Mb個の組合せIDのそれぞれは、対象IDと、連続するMb個のインデックス値のそれぞれと、の組合せであってもよい。連続するMb個のインデックス値のうちの最小のインデックス値は、連続するMa個のインデックス値のうちの最大のインデックス値に連続する値であってもよい。この構成によると、管理デバイスは、Ma個の部分対象情報を取得することができる場合に、Mb個の組合せIDを含む第2のメインリクエストを対象デバイスに送信することによって、Mb個の部分対象情報を一括して取得し得る。従って、管理デバイスは、各部分対象情報を効率良く取得し得る。
連続するMa個のインデックス値が2次元以上のインデックス値である場合には、連続するMa個のインデックス値は、上位の桁の値として同じ値を有すると共に、下位の桁の値として連続する値を有していてもよい。
管理デバイスは、さらに、複数個のIDのそれぞれについて、当該IDと、当該IDに対応する情報が、複数個のインデックス値に対応する複数個の部分情報を含むインデックス情報であるのか否かを示す特定データと、が関連付けられているテーブルを格納するメモリと、テーブルを参照して、対象IDに対応する対象情報がインデックス情報であるのか否かを判断する判断部と、を備えていてもよい。この構成によると、管理デバイスは、対象情報がインデックス情報であるのか否かを適切に判断することができる。
上記の管理デバイスを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。
管理システムの構成を示す。 管理デバイス処理のフローチャートを示す。 1次元インデックス情報取得処理のフローチャートを示す。 非インデックス情報及び1次元インデックス情報の取得例を表わすシーケンス図を示す。 2次元インデックス情報取得処理のフローチャートを示す。 2次元インデックス情報の取得例を表わすシーケンス図を示す。 K次元インデックス情報取得処理(Kは3以上の整数)のフローチャートを示す。 3次元インデックス情報の取得例を表わすシーケンス図を示す。
(システムの構成)
図1に示されるように、管理システム2は、管理デバイス10と、プリンタ50と、を備える。なお、図1では、1個のプリンタ50のみが開示されているが、管理システム2は、複数個のプリンタ50を備えていてもよい。管理デバイス10及びプリンタ50は、LAN4に接続されている。従って、管理デバイス10及びプリンタ50は、LAN4を介して、相互に通信可能である。
管理デバイス10は、PC、サーバ等のデバイス(即ち、プリンタ50の周辺機器)である。管理デバイス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及び判断部36の各機能が実現される。なお、取得部30は、第1の送信部32と、第2の送信部34と、を備える。また、管理プログラムは、次元数テーブル22を含む。従って、管理プログラムが管理デバイス10にインストールされると、メモリ24に次元数テーブル22が格納される。次元数テーブル22の内容については、後で説明する。
(プリンタ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個の情報のことを「非インデックス情報」と呼ぶ。
プリンタ10は、非インデックス情報及びインデックス情報を、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個の情報は、22個のインデックス値「1」〜「22」に対応する22個のMIB値「V1」〜「V22」を含むインデックス情報である。従って、情報テーブル52では、OID「1.3.6.1.4.1…1.2.3.2.1」〜「1.3.6.1.4.1…1.2.3.2.22」と、22個のMIB値「V1」〜「V22」と、が対応付けられている。なお、22個のインデックス値「1」〜「22」は、1次元の値(1次元の整数)である。
インデックス値は、2次元以上の値で表現されることもあり得る。例えば、ベースID「1.3.6.1.4.1…1.2.3.3」に対応する1個の情報は、44個の2次元インデックス値「1.1」〜「1.21」,「2.1」〜「2.10」,「3.1」〜「3.13」に対応する44個のMIB値「V1.1」〜「V1.21」,「V2.1」〜「V2.10」,「V3.1」〜「V3.13」を含むインデックス情報である。同様に、3次元インデックス値(図8の「1.1.1」等参照)、4次元インデックス値等も採用され得る。なお、以下では、インデックス値の次元数に応じて、1次元インデックス情報、2次元インデックス情報等の用語を利用することがある。
例えば、プリンタ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ずつインクリメントされる。同様に、三次元以上のインデックス値でも、連続する値が採用される。
プリンタ50のベンダは、プリンタ50の情報テーブル52内に格納されるべき各ベースIDについて、当該ベースIDに対応する1個の情報が、非インデックス情報であるのか、インデックス情報であるのか、を予め決定する。さらに、ベンダは、各インデックス情報について、当該インデックス情報が、何次元のインデックス情報であるのか、を予め決定する。そして、ベンダは、このようにして決定された内容に基づいて、次元数テーブル22を作成して、PC等のための管理プログラムを準備する。即ち、次元数テーブル22では、ベース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は、次元数テーブル22の中から、1個のベースIDを特定する。以下では、S10で特定されるベースIDのことを「対象ベースID」と呼ぶ。また、以下では、対象ベースIDの具体的な値を「***」で表現する。
次いで、S12において、判断部36は、対象ベースIDに対応する1個の情報、即ち、取得対象の情報が、インデックス情報であるのか否かを判断する。具体的には、判断部36は、次元数テーブル22から、対象ベースIDに関連付けられている次元数を読み出して、当該次元数が「0」であれば、S12でNOと判断してS14に進み、当該次元数が「1」以上であれば、S12でYESと判断してS22に進む。この構成によると、管理デバイス10は、取得対象の情報がインデックス情報であるのか否かを適切に判断することができる。
S14では、取得部30は、対象ベースID「***」と、デフォルト値「0」と、を組み合わせて、OID「***.0」を準備する。S14では、取得部30は、1個のOID「***.0」のみを準備する。次いで、S16において、取得部30は、S14で準備されたOID「***.0」を含むGETリクエストを、プリンタ50に送信する。
なお、S16で送信されるGETリクエストは、GETNEXTリクエストやGETBULKリクエストではなく、通常のGETリクエストである。通常のGETリクエストは、SNMPv1で採用されているリクエストである。なお、GETBULKリクエストは、SNMPv1で採用されておらず、SNMPv2又はSNMPv3で採用されているリクエストである。ただし、SNMPv2又はSNMPv3は、複雑なセキュリティ手法を採用しているために、利用し難い。従って、本実施例では、管理デバイス10は、SNMPv1の管理プログラムに従って、通常のGETリクエストを利用する構成を採用している。以下でも、特に区別して記載しない限り、「GETリクエスト」は、通常のGETリクエストを意味する。
プリンタ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に進む。
一方において、取得部30は、プリンタ50からレスポンスを受信した場合(S18でYES)には、S20において、S14で準備されたOIDと、レスポンスに含まれる対象のMIB値と、を対応付けて、メモリ24内の所定の記憶領域に記憶させる。これにより、取得部30は、プリンタ50から非インデックス情報を取得して、非インデックス情報を上記の所定の記憶領域に記憶させることができる。なお、図4には、図2のS14〜S20に従って実行される非インデックス情報(即ちMIB値「V0」)の取得例が示されている(図4のGETリクエストReq0、レスポンスRes0参照)。
なお、レスポンスが「No Such」を含む場合には、S20では、取得部30は、S14で準備されたOIDと、「No Such」を示す情報と、を対応付けて、上記の所定の記憶領域に記憶させる。S20を終えると、S24に進む。
一方において、取得対象の情報がインデックス情報である場合(S12でYES)には、S22において、取得部30は、後述のインデックス情報取得処理(図3、図5、図7)を実行する。S22を終えると、S24に進む。
S24では、取得部30は、次元数テーブル22に含まれる全てのベースIDが、S10で特定されたのか否かを判断する。全てのベースIDが特定されていない場合(S24でNO)には、取得部30は、S10に戻って、次元数テーブル22から、次の対象ベースIDを特定する。全てのベースIDが特定された場合(S24でYES)には、図2の処理が終了する。なお、図示省略しているが、図2の処理が終了すると、制御部20は、上記の所定の記憶領域に格納された各情報を、表示部14に表示させる。これにより、ユーザは、プリンタ50に関する様々な情報を見ることができる。
(インデックス情報取得処理)
S22のインデックス情報取得処理は、対象ベースIDに関連付けられている次元数に応じて実行される。即ち、取得部30は、取得対象の情報が1次元インデックス情報である場合には、図3の1次元インデックス情報取得処理を実行する、同様に、取得部30は、取得対象の情報が、2次元インデックス情報、K次元インデックス情報(Kは3以上の整数)である場合には、それぞれ、図5の2次元インデックス情報取得処理、図7のK次元インデックス情報取得処理を実行する。
(1次元インデックス情報取得処理;図3)
まず、図3を参照して、1次元インデックス情報取得処理の内容を説明する。S40において、第1の送信部32は、対象ベースID「***」と、連続する10個のインデックス値「1」〜「10」のそれぞれと、を組合せて、10個のOID「***.1」〜「***.10」を準備する。次いで、S42において、第1の送信部32は、S40で準備された10個のOIDを含むGETリクエストを、プリンタ50に送信する。なお、以下では、S42で送信されるGETリクエスト(即ち、10個のOIDを含むGETリクエスト)のことを「メインリクエスト」と呼ぶ。
プリンタ50は、管理デバイス10からメインリクエストを受信すると、メインリクエストに含まれる10個のOID「***.1」〜「***.10」に対応する10個のMIB値(即ち10個の対象のMIB値)の全てが、情報テーブル52内に格納されているのか否かを判断する。10個の対象のMIB値の全てが存在する場合には、プリンタ50は、10個のOID「***.1」〜「***.10」と、10個の対象のMIB値と、を含むレスポンスを、管理デバイス10に送信する。一方において、10個の対象のMIB値のうちの1個でも存在しない場合には、プリンタ50は、「No Such」を含むレスポンスを、管理デバイス10に送信する。
S44では、第1の送信部32は、プリンタ50からレスポンスを受信することを監視する。レスポンスが受信されない場合(S44でNO)には、図3の処理が終了する。レスポンスが受信された場合(S44でYES)には、S46において、第1の送信部32は、レスポンスが「No Such」を含むのか否かを判断する。レスポンスが「No Such」を含まない場合(S46でNO)、即ち、レスポンスが10個の対象のMIB値を含む場合には、S48に進む。
S48では、第1の送信部32は、S40で準備された10個のOIDと、レスポンスに含まれる10個の対象のMIB値と、を対応付けて、メモリ24内の上記の所定の記憶領域に記憶させる。次いで、S50において、第1の送信部32は、対象ベースID「***」と、連続する10個のインデックス値「Imax+1」〜「Imax+10」のそれぞれと、を組合せて、10個のOID「***.Imax+1」〜「***.Imax+10」を準備する。ここで、「Imax」は、前回のS42の処理で送信されたメインリクエストに含まれる最大のインデックス値である。例えば、前回のS42の処理で送信されたメインリクエストが、10個のインデックス値「1」〜「10」を含む場合には、「Imax」は「10」である。この場合、S50では、第1の送信部32は、10個のOID「***.11」〜「***.20」を準備する。
次いで、S42において、第1の送信部32は、S50で準備された10個のOIDを含むメインリクエストを、プリンタ50に送信する。第1の送信部32は、S44でNO又はS46でYESと判断されるまで、S44〜S50の処理を繰り返し実行する。
S46でYESの場合(レスポンスが「No Such」を含む場合)には、S52において、第2の送信部34は、対象ベースID「***」と、インデックス値「Imin」と、を組み合わせて、1個のOID「***.Imin」のみを準備する。ここで、「Imin」は、前回のS42の処理で送信されたメインリクエストに含まれる最小のインデックス値である。例えば、前回のS42の処理で送信されたメインリクエストが、10個のインデックス値「21」〜「30」を含む場合には、「Imin」は「21」である。この場合、S52では、第2の送信部34は、OID「***.21」を準備する。
次いで、S54において、第2の送信部34は、S52で準備されたOID「***.Imin」を含むGETリクエストを、プリンタ50に送信する。なお、以下では、S54で送信されるGETリクエスト(即ち、1個のOIDのみを含むGETリクエスト)のことを「サブリクエスト」と呼ぶ。S56〜S60は、S44〜S48と同様である。S60を終えると、S62において、第2の送信部34は、対象ベースID「***」と、インデックス値「Iprev+1」と、を組み合わせて、1個のOID「***.Iprev+1」のみを準備する。ここで、「Iprev」は、前回のS54の処理で送信されたサブリクエストに含まれるインデックス値である。例えば、前回のS54の処理で送信されたサブリクエストが、インデックス値「21」を含む場合には、「Iprev」は「21」である。この場合、S62では、第2の送信部34は、1個のOID「***.22」を準備する。
次いで、S54において、第2の送信部34は、S62で準備されたOID「***.Iprev+1」を含むサブリクエストを、プリンタ50に送信する。第2の送信部34は、S56でNO又はS58でYESと判断されるまで、S54〜S62の処理を繰り返し実行する。なお、S58でYESの場合(レスポンスが「No Such」を含む場合)は、1次元インデックス情報に含まれる複数個のMIB値の全てが取得されたことを意味する。この場合、図3の処理が終了する。
(1次元インデックス情報の取得例;図4)
図4は、管理デバイス10が、図3の1次元インデックス情報取得処理に従って、22個のインデックス値「1」〜「22」に対応する22個のMIB値「V1」〜「V22」を取得する例を示す。
管理デバイス10は、まず、10個のOID「***.1」〜「***.10」を含むメインリクエストReq1をプリンタ50に送信して(図3のS40、S42)、プリンタ50から10個のMIB値「V1」〜「V10」を含むレスポンスRes1を受信する。次いで、管理デバイス10は、10個のOID「***.11」〜「***.20」を含むメインリクエストReq2をプリンタ50に送信して(図3のS50、S42)、プリンタ50から10個のMIB値「V11」〜「V20」を含むレスポンスRes2を受信する。
次いで、管理デバイス10は、10個のOID「***.21」〜「***.30」を含むメインリクエストReq3をプリンタ50に送信する(図3のS50、S42)。プリンタ50には、「23」以上のインデックス値に対応するMIB値が格納されていないために、管理デバイス10は、プリンタ50から「No Such」を含むレスポンスRes3を受信する。従って、管理デバイス10は、図3のS46でYESと判断して、S52以降の処理を実行する。
次いで、管理デバイス10は、1個のOID「***.21」を含むサブリクエストReq4をプリンタ50に送信して(図3のS52、S54)、プリンタ50から1個のMIB値「V21」を含むレスポンスRes4を受信する。次いで、管理デバイス10は、1個のOID「***.22」を含むサブリクエストReq5をプリンタ50に送信して(図3のS62、S54)、プリンタ50から1個のMIB値「V22」を含むレスポンスRes5を受信する。
次いで、管理デバイス10は、1個のOID「***.23」を含むサブリクエストReq6をプリンタ50に送信する(図3のS62、S54)。プリンタ50には、インデックス値「23」に対応するMIB値が格納されていないために、管理デバイス10は、プリンタ50から「No Such」を含むレスポンスRes6を受信する。従って、管理デバイス10は、図3のS58でYESと判断して、図3の処理を終了する。
仮に、メインリクエストを送信せずに、1個のOIDを含むGETリクエストのみをプリンタ50に送信する構成(以下では「第1の比較例の構成」と呼ぶ)を採用すると、管理デバイスは、プリンタ50から22個のMIB値を取得するのに、23個のGETリクエストをプリンタ50に送信する必要がある。これに対し、本実施例では、図4に示されるように、管理デバイス10は、プリンタ50から22個のMIB値を取得するのに、6個のGETリクエストReq1〜Req6をプリンタ50に送信すれば足りる。従って、管理デバイス10は、第1の比較例の構成と比べて、インデックス情報を効率良く取得することができる。
また、管理デバイス10は、メインリクエストReq1を送信した結果として、10個のMIB値「V1」〜「V10」を一括して取得することができる場合に、さらに、メインリクエストReq2をプリンタ50に送信する。この場合、メインリクエストReq2に含まれるインデックス値「11」〜「20」のうちの最小のインデックス値「11」は、メインリクエストReq1に含まれるインデックス値「1」〜「10」のうちの最大のインデックス値「10」に連続する値である(図3のS50の「Imax+1」参照)。このために、管理デバイス10は、メインリクエストReq1,Req2を順次送信する場合に、連続する20個のインデックス値「1」〜「20」に対応する20個のMIB値「V1」〜「V20」を適切に取得することができる。
また、管理デバイス10は、10個のMIB値を一括して取得することができない場合(図4のレスポンスRes3参照)に、1個のOIDのみを含むサブリクエストReq4,Req5,Req6をプリンタ50に順次送信する。そして、管理デバイス10は、後に送信されるサブリクエストReq5に含まれるインデックス値「22」が、先に送信されるサブリクエストReq4に含まれるインデックス値「21」より大きく、かつ、前者のインデックス値「22」が後者のインデックス値「21」に連続するように、各OIDを準備する(図3のS52の「Imin」、S62の「Iprev+1」参照)。即ち、本実施例では、管理デバイス10は、10個のMIB値を一括して取得することができない場合に、「***.21」、「***.22」、「***.23」・・・のような昇順で、各サブリクエストに含まれるべき各OIDを順次準備する。そして、管理デバイス10は、MIB値を取得することができなくなるまで(即ち、図3のS58でYESと判断されるまで)、サブリクエストをプリンタ50に送信することを繰り返す。
仮に、本実施例の構成を採用せずに、10個のMIB値を一括して取得することができない場合に、「***.30」、「***.29」・・・「***.21」のような降順で、各サブリクエストに含まれるべき各OIDを準備する構成(以下では「第2の比較例の構成」と呼ぶ)を採用することが考えられる。このような第2の比較例の構成を採用しても、管理デバイスは、各MIB値「V21」,「V22」を取得することができるが、10個のサブリクエストを送信する必要がある。これに対し、本実施例では、管理デバイス10は、各サブリクエストに含まれるべき各OIDを昇順で準備するために、図4の例では、3個のサブリクエストReq4,Req5,Req6をプリンタ50に送信すれば足りる。このために、本実施例の管理デバイス10は、第2の比較例の構成と比べて、インデックス情報を効率良く取得することができる。
(2次元インデックス情報取得処理;図5、図6)
続いて、図5及び図6を参照して、2次元インデックス情報取得処理の内容を説明する。図6は、管理デバイス10が、図5の2次元インデックス情報取得処理に従って、44個のインデックス値に対応する44個のMIB値を取得する例を示す。なお、図6では、管理デバイス10が、OIDを含むGETリクエストをプリンタ50に送信して、プリンタ50からレスポンスを受信するための1回の処理を、「1回目」、「2回目」等で表現している。また、結果の「OK」は、管理デバイス10が、MIB値を含むレスポンスを受信することを示す。結果の「No Such」は、管理デバイス10が、「No Such」を含むレスポンスを受信することを示す。この点は、後述の図8でも同様である。
図5のS80〜S90は、2次元インデックス値を利用する点を除くと、図3のS40〜S50と同様である。即ち、S80では、第1の送信部32は、対象ベースID「***」と、連続する10個のインデックス値「1.1」〜「1.10」のそれぞれと、を組合せて、10個のOID「***.1.1」〜「***.1.10」を準備する。なお、連続する10個のインデックス値は、上位の桁(即ち、2次元目の桁)の値として同じ値「1」を有すると共に、下位の桁(即ち、1次元目の桁)の値として連続する値「1」〜「10」を有する。
次いで、S82では、第1の送信部32は、S80で準備された10個のOID「***.1.1」〜「***.1.10」を含むメインリクエストをプリンタ50に送信する。これにより、図6の1回目に示されるように、第1の送信部32は、プリンタ50から10個のMIB値「V1.1」〜「V1.10」を取得する。この場合、第1の送信部32は、S84でYESと判断し、S86でNOと判断し、S88を経て、S90に進む。
S90では、第1の送信部32は、10個のOID「***.1.11」〜「***.1.20」を準備する。次いで、S82において、第1の送信部32は、S90で準備された10個のOID「***.1.11」〜「***.1.20」を含むメインリクエストをプリンタ50に送信する。これにより、図6の2回目に示されるように、第1の送信部32は、プリンタ50から10個のMIB値「V1.11」〜「V1.20」を取得する。
同様に、第1の送信部32は、S90で準備された10個のOID「***.1.21」〜「***.1.30」を含むメインリクエストをプリンタ50に送信する。これにより、図6の3回目に示されるように、第1の送信部32は、プリンタ50から「No Such」を含むレスポンスを受信する。この場合、第1の送信部32は、S84でYESと判断し、S86でYESと判断し、S92に進む。
図5のS92〜S102は、2次元インデックス値を利用する点を除くと、図3のS52〜S62と同様である。即ち、S92では、第2の送信部34は、1個のOID「***.1.21」を準備する。次いで、S94において、第2の送信部34は、S92で準備された1個のOID「***.1.21」を含むサブリクエストをプリンタ50に送信する。これにより、図6の4回目に示されるように、第2の送信部34は、プリンタ50から1個のMIB値「V1.21」を取得する。この場合、第2の送信部34は、図5のS96でYESと判断し、S98でNOと判断し、S100を経て、S102に進む。
S102では、第2の送信部34は、1個のOID「***.1.22」を準備する。次いで、S94において、第2の送信部34は、S102で準備された1個のOID「***.1.22」を含むサブリクエストをプリンタ50に送信する。これにより、図6の5回目に示されるように、第2の送信部34は、プリンタ50から「No Such」を含むレスポンスを受信する。この場合、第2の送信部34は、図5のS96でYESと判断し、S98でYESと判断し、S104に進む。
S104では、第1の送信部32は、前回のS94で送信されたサブリクエストに含まれるインデックス値の1次元目の桁の値(即ち、下位の桁の値)が「1」であるのか否かを判断する。例えば、前回のS94で送信されたサブリクエストがOID「***.4.1」を含む場合には、そのインデックス値「4.1」の1次元目の桁の値が「1」である。この場合、第1の送信部32は、S104でYESと判断して、図5の処理を終了する。
一方において、例えば、前回のS94で送信されたサブリクエストがOID「***.1.22」を含む場合には、そのインデックス値「1.22」の1次元目の桁の値が「22」である。この場合、第1の送信部32は、S104でNOと判断して、S106に進む。
S106では、第1の送信部32は、まず、前回のS94で送信されたサブリクエストに含まれるインデックス値「1.22」の2次元目の桁の値「1」を特定する。次いで、第1の送信部32は、特定済みの2次元目の桁の値「1」を1だけインクリメントして、新たな2次元目の桁の値「2」を決定する。そして、第1の送信部32は、決定済みの2次元目の桁の値「2」を有する連続する10個のインデックス値「2.1」〜「2.10」を準備する。そして、第1の送信部32は、準備済みの10個のインデックス値「2.1」〜「2.10」を用いて、10個のOID「***. 2.1」〜「***. 2.10」を準備する。
次いで、S82において、第1の送信部32は、S106で準備された10個のOID「***. 2.1」〜「***. 2.10」を含むメインリクエストを、プリンタ50に送信する。これにより、図6の6回目に示されるように、第1の送信部32は、プリンタ50から10個のMIB値「V2.1」〜「V2.10」を取得して、S90に進む。
以降の処理は、上記と同様である。この結果、図6の7回目以降の処理が実行される。図6の16回目の処理を実行すると、図5のS104でYESと判断され、2次元インデックス情報取得処理(図5)の処理が終了する。即ち、図5の例では、管理デバイス10は、プリンタ50から44個のMIB値を取得するのに、16個のGETリクエストをプリンタ50に送信すれば足りる。従って、管理デバイス10は、2次元インデックス情報を効率良く取得することができる。
(K次元インデックス情報取得処理;図7、図8)
続いて、図7及び図8を参照して、K次元インデックス情報取得処理(Kは3以上の整数)の内容を説明する。図8は、管理デバイス10が、図7のK次元インデックス情報取得処理に従って、27個の3次元インデックス値に対応する27個のMIB値を取得する例を示す。なお、以下では、3次元インデックス情報を取得する場合を例にして、図7のフローチャートの内容を説明するが、4次元以上のインデックス情報を取得する場合にも、図7のフローチャートを利用することができる。
S120において、第1の送信部32は、I(K)、I(K−1)、・・・I(1)のそれぞれを、「1」に決定する。ここで、I(j)は、インデックス値のうちのj次元目の桁の値を示すパラメータである。例えば、K=3である場合には、S120において、第1の送信部32は、3次元目の桁の値を示すI(3)、2次元目の桁の値を示すI(2)、及び、1次元目の桁の値を示すI(1)のそれぞれを、「1」に決定する。即ち、第1の送信部32は、インデックス値「1.1.1」を準備する。
次いで、S122において、第1の送信部32は、現在の処理対象の桁を示すパラメータTを「1」に決定する。次いで、S124において、第1の送信部32は、GETリクエストに含まれるべきOIDの数を示すパラメータMを「10」に決定する。次いで、S126において、第1の送信部32は、ベースID「***」と、S120で準備されたインデックス値「1.1.1」と、を組み合わせて、OID「***.1.1.1」を準備する。
次いで、S128において、第1の送信部32は、現在のI(1)を1だけインクリメントして、新たなI(1)を決定する。現在のI(1)が「1」であるために、第1の送信部32は、新たなI(1)を「2」に決定する。次いで、S130において、第1の送信部32は、M個のOIDを準備したのか否かを判断する。現在のMが「10」であり、かつ、現時点では1個のOID「***.1.1.1」しか準備されていないために、第1の送信部32は、S130でNOと判断する。この場合、第1の送信部32は、S126に戻り、1個のOIDを準備する。ここでは、S128で決定された新たなI(1)の値「2」が利用される。即ち、第1の送信部32は、OID「***.1.1.2」を準備する。第1の送信部32は、S126〜S130の処理を繰り返し実行することによって、連続する10個のインデックス値「1.1.1」〜「1.1.10」を含む10個のOID「***.1.1.1」〜「***.1.1.10」を準備する。ここでも、連続する10個のインデックス値「1.1.1」〜「1.1.10」は、上位の桁(即ち、3次元目の桁及び2次元目の桁)の値として同じ値「1.1」を有すると共に、下位の桁(即ち、1次元目の桁)の値として連続する値「1」〜「10」を有する。この場合、第1の送信部32は、S130でYESと判断して、S132に進む。
S132では、第1の送信部32は、10個のOID「***.1.1.1」〜「***.1.1.10」を含むメインリクエストを、プリンタ50に送信する。これにより、図8の1回目に示されるように、第1の送信部32は、プリンタ50から10個のMIB値「V1.1.1」〜「V1.1.10」を取得する。この場合、第1の送信部32は、図7のS134でYESと判断し、S136でNOと判断し、S138を経て、S126に進む。なお、S138では、第1の送信部32は、現在の処理対象の桁を示すパラメータTが「1」以外の値であれば(S146でTがインクリメントされ得る)、Tを「1」に戻す。
第1の送信部32は、S126〜S130の処理を再び繰り返し実行することによって、10個のOID「***.1.1.11」〜「***.1.1.20」を準備し、S132において、メインリクエストを送信する。これにより、図8の2回目に示されるように、第1の送信部32は、プリンタ50から「No Such」を含むレスポンスを受信する。この場合、第1の送信部32は、図7のS134でYESと判断し、S136でYESと判断し、S140に進む。
S140では、第2の送信部34は、現在のMが「1」であるのか否かを判断する。現在のMが「10」であるために、第2の送信部34は、S140でNOと判断して、S142に進む。S142では、第2の送信部34は、前回のS132で送信されたメインリクエストに含まれる10個のインデックス値「1.1.11」〜「1.1.20」のうち、最も小さいインデックス値であるImin「1.1.11」に含まれる1次元目の桁の値「11」を特定する。そして、第2の送信部34は、現在のI(1)を特定済みの値「11」に置換することによって、新たなI(1)を決定する。S142では、さらに、第2の送信部34は、Mを「10」から「1」に変更する。
S142を終えると、第2の送信部34は、S126に戻り、1個のOIDを準備する。ここでは、S142で決定された新たなI(1)の値「11」が利用される。即ち、第2の送信部34は、OID「***.1.1.11」を準備する。現在のMが「1」であるために、第2の送信部34は、S130でYESと判断して、S132において、OID「***.1.1.11」を含むサブリクエストを送信する。これにより、図8の3回目に示されるように、第2の送信部34は、プリンタ50から1個のMIB値「V1.1.11」を取得する。この場合、第2の送信部34は、図7のS134でYESと判断し、S136でNOと判断し、S138を経て、S126に進む。
第2の送信部34は、S126〜S138の処理を繰り返し実行する。これにより、第2の送信部34は、OID「***.1.1.12」を含むサブリクエストを送信して、MIB値「V1.1.12」を取得する(図8の4回目)。次いで、第2の送信部34は、OID「***.1.1.13」を含むサブリクエストを送信して、「No Such」を含むレスポンスを受信する(図8の5回目)。この場合、第2の送信部34は、図7のS136でYESと判断し、S140でYESと判断し、S144に進む。
S144では、第1の送信部32は、現在のTがKに等しいのか否かを判断する。現在のTが「1」であり、かつ、Kが「3」であるために、第1の送信部32は、S144でNOと判断して、S146に進む。
S146では、第1の送信部32は、現在のTを「1」だけインクリメントして、新たなTを決定する。現在のTが「1」であるために、第1の送信部32は、新たなTを「2」に決定する。次いで、第1の送信部32は、現在のI(T)を「1」だけインクリメントして、新たなI(T)を決定する。Tが「2」であるために、現在のI(T)は、2次元目の桁の現在の値を示す。2次元目の桁の現在の値が「1」であるために、第1の送信部32は、2次元目の桁の新たな値を「2」に決定する(即ち、I(T)=「2」に決定する)。次いで、第1の送信部32は、I(T−1)、I(T−2)、・・・I(1)のそれぞれを、「1」に決定する。ただし、Tが「2」であるために、現時点では、I(T−1)(即ちI(1))しか存在しない。このために、第1の送信部32は、1次元目の桁の新たな値を「1」に決定する(即ち、I(T−1)=「1」に決定する)。S146では、さらに、第1の送信部32は、現在のMを「1」から「10」に変更する。
S146を終えると、第1の送信部32は、S126に戻り、S146で決定されたI(T)及びI(T−1)等に従って、OID「***.1.2.1」を準備する。次いで、第1の送信部32は、S126〜S130の処理を繰り返し実行することによって、10個のOID「***.1.2.1」〜「***.1.2.10」を準備して、S132において、10個のOID「***.1.2.1」〜「***.1.2.10」を含むメインリクエストを、プリンタ50に送信する。これにより、図8の6回目に示されるように、第1の送信部32は、プリンタ50から「No Such」を含むレスポンスを受信する(図7のS136でYES、S140でNO)。
次いで、第2の送信部34は、OID「***.1.2.1」を含むサブリクエストを、プリンタ50に送信して(図7のS142、S126〜S132)、プリンタ50からMIB値「V1.2.1」を取得する(図8の7回目、図7のS134でYES、S136でNO)。これにより、図7のS138において、第2の送信部34は、現在のT(即ち、S146でインクリメントされたT)を、「2」から「1」に変更する。
次いで、第2の送信部34は、OID「***.1.2.2」を含むサブリクエストを送信して、プリンタ50からMIB値「V1.2.2」を取得する(図8の8回目)。次いで、第2の送信部34は、OID「***.1.2.3」を含むサブリクエストを送信して、プリンタ50から「No Such」を含むレスポンスを受信する(図8の9回目)。
以降の処理は、上記と同様である。この結果、図8の10回目以降の処理が実行される。図8の23回目の処理を実行すると、図7のS144でYESと判断され、K次元インデックス情報取得処理(図7)が終了する。即ち、管理デバイス10は、プリンタ50から27個のMIB値を取得するのに、23個のGETリクエストをプリンタ50に送信すれば足りる。従って、管理デバイス10は、K次元インデックス情報を効率良く取得することができる。
なお、図7では、Kが3以上の整数として表わしているが、実際には、Kが1又は2であっても、図7のK次元インデックス情報取得処理を利用可能である。即ち、本実施例では、技術の理解を容易にするために、管理デバイス10は、図7の代わりに、図3及び図5のインデックス情報取得処理を実行する。しかしながら、管理デバイス10は、図3及び図5の代わりに、図7のK次元インデックス情報取得処理に従って、1次元インデックス情報及び2次元インデックス情報を取得してもよい。この場合も、図4及び図6の取得例を実現することができる。
(実施例の効果)
本実施例によると、管理デバイス10は、取得対象の情報がインデックス情報である場合に、10個のOIDを含むメインリクエストをプリンタ50に送信することによって(図3のS42、図5のS82、図7のM=10の場合のS132)、10個のMIB値を一括して取得することができる。このために、管理デバイス10は、各MIB値を効率良く取得することができる。また、管理デバイス10は、10個のMIB値を取得することができない場合に、1個のOIDを含むサブリクエストをプリンタ50に順次送信することによって(図3のS54、図5のS94、図7のM=1の場合のS132)、各MIB値を適切に取得することができる。結果として、図4、図6、及び、図8に示されるように、管理デバイス10は、インデックス情報に含まれる複数個のMIB値の数(例えば図4では22個)よりも少ない個数(例えば図4では6個)のGETリクエストを送信して、複数個のMIB値の全てを適切に取得することができる。このように、本実施例によると、管理デバイス10は、各MIB値を効率良く取得し得る。
特に、本実施例によると、管理デバイス10は、インデックス情報に含まれるMIB値の数を把握していない状況でも、図2のS22のインデックス情報取得処理(図3、図5、図7)を実行することによって、インデックス情報に含まれる複数個のMIB値を効率良く取得することができる。なお、管理デバイス10は、例えば、図4の取得例に従って各MIB値を取得すれば、1次元インデックス情報が、22個のインデックス値「1」〜「22」に対応する22個のMIB値「V1」〜「V22」を含んでいることを把握することができる。従って、管理デバイス10(即ち第1の送信部32)は、2回目以降のインデックス情報取得処理を実行する際に、22個のOID「***.1」〜「***.22」を含むGETリクエストをプリンタ50に送信して、22個のMIB値「V1」〜「V22」を一括して取得してもよい。ただし、上述したように、例えば、プリンタ50がエラー履歴等を累積して格納する場合には、インデックス情報に含まれるMIB値の数(即ちインデックス値の数)が変化し得るために、管理デバイス10は、2回目以降のインデックス情報取得処理を実行する際にも、図3、図5、及び、図7の処理を実行することが好ましい。管理デバイス10が、プリンタ50に新たに格納されたOIDに対応するMIB値を、適切に取得することができるからである。
(対応関係)
プリンタ50が、「対象デバイス」の一例である。ベースID、OIDが、それぞれ、「対象ID」、「組合せID」の一例である。例えば、図1の1次元インデックス情報では、1次元インデックス値「1」〜「22」、MIB値「V1」〜「V22」が、それぞれ、「複数個のインデックス値」、「複数個の部分対象情報」の一例である。また、図4のGETリクエストReq1、GETリクエストReq2が、それぞれ、「第1のメインリクエスト」、「第2のメインリクエスト」の一例である。この場合、1次元インデックス値「1」〜「10」、OID「***.1」〜「***.10」、MIB値「V1」〜「V10」が、それぞれ、「連続するMa個のインデックス値」、「Ma個の組合せID」、「Ma個の部分対象情報」の一例である。即ち、「10」が、「Ma」及び「Mb」の一例である。また、次元数テーブル22内の次元数が、「特定データ」の一例である。
また、GETリクエストReq3も、「第1のメインリクエスト」の一例である。この場合、1次元インデックス値「21」〜「30」、OID「***.21」〜「***.30」が、それぞれ、「連続するMa個のインデックス値」、「Ma個の組合せID」の一例である。この例では、GETリクエストReq4,Req5,Req6が、「1個以上(又は2個以上)のサブリクエスト」の一例である。例えば、GETリクエストReq4では、OID「***.21」が、「Ma個の組合せIDのうちのN個の組合せID」及び「対象デバイスから取得するためのN個の組合せID」の一例である。また、MIB値「V21」が、「N個の部分対象情報」の一例である。即ち、「1」が、「N」の一例である。
また、GETリクエストReq5、GETリクエストReq4が、それぞれ、「第1のサブリクエスト」、「第2のサブリクエスト」の一例である。この場合、OID「***.22」、インデックス値「22」が、それぞれ、「第1の組合せID」、「第1のインデックス値」の一例である。また、OID「***.21」、インデックス値「21」が、それぞれ、「第2の組合せID」、「第2のインデックス値」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例が含まれる。
(変形例1)「対象デバイス」は、プリンタに限られず、他の種類のデバイス(例えば、PC、サーバ、多機能機、コピー機、スキャナ、FAX装置等)であってもよい。
(変形例2)「Ma」及び「Mb」は、10でなくてもよく、2以上の整数であれば、どのような値(例えば、Ma=5、Mb=5)であってもよい。また、「Ma」及び「Mb」は異なる値(例えば、Ma=10、Mb=8)であってもよい。
(変形例3)「N」は、1でなくてもよく、1以上Ma未満の整数であれば、どのような値(例えば、N=3)であってもよい。
(変形例4)「1個以上(又は2個以上)のサブリクエスト」は、GETリクエストでなくてもよく、GETNEXTリクエストであってもよい。GETNEXTリクエストは、GETNEXTリクエストに含まれるOIDの次のOIDに対応するMIB値を取得するためのリクエストである。GETNEXTリクエストは、SNMPv1で採用されているリクエストである。例えば、図4において、第2の送信部34は、レスポンスRes3を受信する場合に、OID「***.21」を含むGETリクエストの代わりに、OID「***.20」を含むGETNEXTリクエストを、プリンタ50に送信してもよい。このような構成でも、第2の送信部34は、OID「***.20」の次のOID「***.21」に対応するMIB値「V21」を含むレスポンスを受信することができる。本変形例では、OID「***.20」が「対象デバイスから取得するためのN個の組合せID」の一例であり、OID「***.21」が「Ma個の組合せIDのうちのN個の組合せID」の一例である。即ち、本変形例のように、「対象デバイスから取得するためのN個の組合せID」が、「Ma個の組合せIDのうちのN個の組合せID」とは異なっていてもよい。
(変形例5)第2の送信部34は、例えば、図4のレスポンスRes3を受信する場合に、OID「***.21」,「***.22」,「***.23」のような昇順で、各サブリクエストに含まれるべき各OIDを順次準備しなくてもよく、OID「***.30」,「***.29」・・・「***.21」のような降順で、各サブリクエストに含まれるべき各OIDを順次準備してもよい。即ち、「1個以上のサブリクエスト」のそれぞれは、N個の組合せIDを含んでいればよい。
(変形例6)次元数テーブル22では、次元数が記述される代わりに、インデックス情報であるのか非インデックス情報であるのかを区別するためのフラグが記述されてもよい。この場合、判断部36は、対象ベースIDに関連付けられているフラグに基づいて、図2のS12の判断を実行してもよい。即ち、「特定データ」は、次元数に限られず、フラグであってもよい。
(変形例7)上記の各実施例では、管理デバイス10のCPU22がソフトウェアに従って処理を実行することによって、各部30〜36の機能が実現される。これに代えて、各部30〜36の機能のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:管理システム、10:管理デバイス、20:制御部、22:次元数テーブル、24 :メモリ、50:プリンタ、52:情報テーブル、V1〜V22:MIB値、Req1〜Req6:GETリクエスト、Res1〜Res6:レスポンス

Claims (6)

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012043838A JP5919887B2 (ja) 2012-02-29 2012-02-29 管理デバイス
US13/775,905 US20130227064A1 (en) 2012-02-29 2013-02-25 Management device, computer-readable storage medium storing computer-readable instructions and associated method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012043838A JP5919887B2 (ja) 2012-02-29 2012-02-29 管理デバイス

Publications (2)

Publication Number Publication Date
JP2013182305A JP2013182305A (ja) 2013-09-12
JP5919887B2 true JP5919887B2 (ja) 2016-05-18

Family

ID=49004499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012043838A Active JP5919887B2 (ja) 2012-02-29 2012-02-29 管理デバイス

Country Status (2)

Country Link
US (1) US20130227064A1 (ja)
JP (1) JP5919887B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5862417B2 (ja) * 2012-03-29 2016-02-16 ブラザー工業株式会社 管理デバイス

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296457A (ja) * 1998-04-06 1999-10-29 Canon Inc Snmpプロトコルを用いたネットワーク管理ソフトウェアを含むネットワークデバイス制御方法及び装置、記録媒体
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 ネットワーク管理システム、表示方法及びネットワーク管理プログラム
JP3821034B2 (ja) * 2002-03-22 2006-09-13 ブラザー工業株式会社 ネットワーク管理システム,管理対象装置,管理装置,プログラム
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 를 이용한 자동 업데이트 시스템 및 방법
JP2006201897A (ja) * 2005-01-19 2006-08-03 Sony Corp ネットワーク未対応機器とネットワーク対応機器との混成システム、ネットワーク未対応機器の管理機能付きネットワーク対応機器、ネットワーク未対応機器の管理方法及び仮想オブジェクトidのデータ構造
US7716355B2 (en) * 2005-04-18 2010-05-11 Cisco Technology, Inc. Method and apparatus for processing simple network management protocol (SNMP) requests for bulk information
KR100636235B1 (ko) * 2005-05-24 2006-10-19 삼성전자주식회사 단순망 관리 프로토콜의 설정 이력 관리 시스템 및 방법
JP4684883B2 (ja) * 2005-12-21 2011-05-18 富士通株式会社 属性情報収集装置、属性情報収集方法および属性情報収集プログラム
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

Also Published As

Publication number Publication date
US20130227064A1 (en) 2013-08-29
JP2013182305A (ja) 2013-09-12

Similar Documents

Publication Publication Date Title
JP5870679B2 (ja) プリンタ
JP6402668B2 (ja) 多機能機
JP2015212893A (ja) 情報処理装置、方法、プログラム、及び情報処理システム
US20160274842A1 (en) Information processing device, distributed processing method, and storage medium
JP6065672B2 (ja) 通信装置
JP5919887B2 (ja) 管理デバイス
US20130198329A1 (en) Information processing apparatus and computer-readable storage medium
JP5862417B2 (ja) 管理デバイス
JP5994692B2 (ja) 中継サーバ及び通信装置
JP5263029B2 (ja) 管理装置及びコンピュータプログラム
JP2010181965A (ja) 管理装置及びコンピュータプログラム
JP5907061B2 (ja) 仲介サーバ、通信装置、及び、コンピュータプログラム
CN103888632B (zh) 图像处理设备和图像处理方法
JP6177710B2 (ja) イベント管理装置及びイベント管理方法
JP5858092B2 (ja) プリンタ
JP2008152648A (ja) データ処理装置
US20190386870A1 (en) Information processing apparatus, information processing method, and computer-readable medium
CN109857410B (zh) 消息队列的云水刀处理方法和系统
JP2011114408A (ja) 画像処理装置及び画像処理方法
US8379251B2 (en) Image forming system and image forming apparatus
JP5298971B2 (ja) 遠隔管理システム
JP2012058841A (ja) 通信装置
JP6016374B2 (ja) 周辺装置、情報処理システム、制御方法およびコンピュータプログラム
JP2013098861A (ja) データ収集装置
JP2017034423A (ja) 電子機器、電子機器の連携システム及び電子機器の連携方法

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160328

R150 Certificate of patent or registration of utility model

Ref document number: 5919887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150