(57)【特許請求の範囲】
【請求項１】
情報処理装置に対して、新たな機能をプラグインとして追加し、該追加した機能に関する情報をＳＮＭＰのＭＩＢとして、標準ＭＩＢ以外の管理領域であって、該情報処理装置のメーカーによって定義された管理領域に追加するようにプラグインを管理するプラグイン管理手段と、
外部から自装置の機能に関する問い合わせを受け付けた場合であって、該問い合わせを受けた機能が標準ＭＩＢ以外に関連するときは、前記管理領域内の情報にしたがって該問い合わせに該当する機能を受け持つプラグインを管理するプログラムに処理を行わせるように制御し、前記処理の結果を前記問い合わせに対する回答とするようにＭＩＢを管理するＭＩＢ管理手段
を具備し、
前記情報処理装置のメーカーによって定義された管理領域として、画像処理装置のカウンタに関する情報、メンテナンス、障害解析に利用するメーカー固有の情報が含まれ、
前記新たな機能をプラグインとして追加しようとしている装置が、前記情報処理装置のメーカーに認められているか否かを判断し、認められていると判断した場合は、前記プラグイン管理手段による処理を行わせる、
ことを特徴とする情報処理装置。
【請求項２】
前記管理領域はツリー構造を有しており、
前記プラグイン管理手段は、前記ツリー構造に対して、前記新たな機能に関する情報を追加し、該追加した位置と問い合わせに回答するプログラムを対応させて記憶する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
コンピュータを、
情報処理装置に対して、新たな機能をプラグインとして追加し、該追加した機能に関する情報をＳＮＭＰのＭＩＢとして、標準ＭＩＢ以外の管理領域であって、該情報処理装置のメーカーによって定義された管理領域に追加するようにプラグインを管理するプラグイン管理手段と、
外部から自装置の機能に関する問い合わせを受け付けた場合であって、該問い合わせを受けた機能が標準ＭＩＢ以外に関連するときは、前記管理領域内の情報にしたがって該問い合わせに該当する機能を受け持つプラグインを管理するプログラムに処理を行わせるように制御し、前記処理の結果を前記問い合わせに対する回答とするようにＭＩＢを管理するＭＩＢ管理手段
として機能させ、
前記情報処理装置のメーカーによって定義された管理領域として、画像処理装置のカウンタに関する情報、メンテナンス、障害解析に利用するメーカー固有の情報が含まれ、
前記新たな機能をプラグインとして追加しようとしている装置が、前記情報処理装置のメーカーに認められているか否かを判断し、認められていると判断した場合は、前記プラグイン管理手段による処理を行わせる、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
画像形成装置は、ＲＦＣで定義されている標準ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）をサポートすることでメーカーが異なっても、同じような管理（デバイスの状態管理、消耗品管理など）が可能になる。具体的には、管理項目の状態を、同じ指令で取得することが可能となる。さらに、各社で独自のＭＩＢを追加して、そのデバイス固有の管理も標準プロトコルであるＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）で管理を行うことが可能になっている。なお、ＭＩＢとは、ＳＮＭＰで管理されるネットワークデバイスが、自分の状態を外部に知らせるために公開する情報のことである。なお、標準ＭＩＢとは、ＲＦＣで定義されているＭＩＢのことを指す。
プライベートＭＩＢと呼ばれる各社独自のＭＩＢはＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒ  Ａｕｔｈｏｒｉｔｙ）又はＩＣＡＮＮ（Ｉｎｔｅｒｎｅｔ  Ｃｏｒｐｏｒａｔｉｏｎ  ｆｏｒ  Ａｓｓｉｇｎｅｄ  Ｎａｍｅｓ  ａｎｄ  Ｎｕｍｂｅｒｓ）によって割り当てられたＭＩＢツリー下に追加することになっている。
各社は必要に応じて、プライベートＭＩＢの情報を公開して、ＳＮＭＰを利用した管理アプリを開発するベンダーは、その情報を元にＭＩＢの管理アプリを開発している。
このため複数のメーカーを管理するＭＩＢ管理アプリは、管理したい情報はそれぞれ、プライベートＭＩＢに情報があると、各社からプライベートＭＩＢの情報を入手し、作りこまなければならないという状況であった。
また、これらの関連する技術として、特許文献１、特許文献２等に開示されている技術がある。
特許文献１には、機器内部のソフトウェア部品を変更することなく、機能拡張による機器内で取り扱う各種情報を構成する属性データの増減に柔軟に対応可能な情報処理装置、情報処理方法、及び機能拡張プログラムを提供することを課題とし、情報処理装置は、プラグインによって、当該装置が有する機能の追加／削除を行うソフトウェア環境を備え、１つ以上の属性データから構成される機能が利用する情報を所定の記憶領域に格納する記憶装置を有する装置であって、機能が利用する情報生成の要求に応じて、情報管理手段が、情報の属性データを構築／削除するソフトウェア部品がプラグインに対応して当該装置にインストールされ登録された登録情報を有する情報生成手段に、要求時に指定された情報の生成を指示し、情報生成手段が、前記登録情報を基に特定したソフトウェア部品を実行し、情報を生成することが開示されている。
【０００３】
特許文献２には、プラグインを追加する際、プラグイン管理のオブジェクトを対象とし、オブジェクトの状態に応じた独自のメニューを提供したい場合、従来の方法では、メニューの内容を、データベースサービスに登録し、それを表示させていたが、プラグイン構成で、各プラグインが管理するものが違うため、それに合わせてメニューの内容を動的に変更することは困難であったことを課題とし、メニューの表示要求を受けた際、プラグイン側で動的にメニューの作成処理を行い、メニューの内容は、プラグインが有するモジュールによって作成され、各プラグインは独自のメニュー作成処理を持っており、各プラグインで作成したメニューの内容をマージし、メニューの表示を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２２３８７８号公報
【特許文献２】特開２０１０−２５０５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の開示された技術により、情報処理装置にプラグインを追加して機能拡張を行う場合、追加された機能に関する新たな任意の情報の設定・参照が可能にはなったが、追加される情報について予めＭＩＢ構造を定義してデバイスに組み込んでおくことができないため、ＳＮＭＰでは、これらの情報にはアクセスできないものであり、その結果、管理することができないという状況であった。又は、ＳＮＭＰのＭＩＢとして管理するためには、その開発者側による対応が必要であった。具体的には、例えば、プラグインで認証機能をカスタマイズする場合に、認証サーバーのアドレス、暗号方式、認証方式等の認証情報は、個々に異なっており、また新たな情報も付加され得るので、これらを全て予め定義しておくことはできない。  
本発明は、情報処理装置に、プラグインを追加する場合にあって、その機能に関する情報をＳＮＭＰのＭＩＢの管理領域に追加するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、情報処理装置に対して、新たな機能をプラグインとして追加し、該追加した機能に関する情報をＳＮＭＰのＭＩＢとして、標準ＭＩＢ以外の管理領域であって、該情報処理装置のメーカーによって定義された管理領域に追加するようにプラグインを管理するプラグイン管理手段と、外部から自装置の機能に関する問い合わせを受け付けた場合であって、該問い合わせを受けた機能が標準ＭＩＢ以外に関連するときは、前記管理領域内の情報にしたがって該問い合わせに該当する機能を受け持つプラグインを管理するプログラムに処理を行わせるように制御し、前記処理の結果を前記問い合わせに対する回答とするようにＭＩＢを管理するＭＩＢ管理手段を具備し、前記情報処理装置のメーカーによって定義された管理領域として、画像処理装置のカウンタに関する情報、メンテナンス、障害解析に利用するメーカー固有の情報が含まれ、前記新たな機能をプラグインとして追加しようとしている装置が、前記情報処理装置のメーカーに認められているか否かを判断し、認められていると判断した場合は、前記プラグイン管理手段による処理を行わせる、ことを特徴とする情報処理装置である。
【００１１】
請求項２の発明は、前記管理領域はツリー構造を有しており、前記プラグイン管理手段は、前記ツリー構造に対して、前記新たな機能に関する情報を追加し、該追加した位置と問い合わせに回答するプログラムを対応させて記憶することを特徴とする請求項１に記載の情報処理装置である。
【００１４】
請求項３の発明は、コンピュータを、情報処理装置に対して、新たな機能をプラグインとして追加し、該追加した機能に関する情報をＳＮＭＰのＭＩＢとして、標準ＭＩＢ以外の管理領域であって、該情報処理装置のメーカーによって定義された管理領域に追加するようにプラグインを管理するプラグイン管理手段と、外部から自装置の機能に関する問い合わせを受け付けた場合であって、該問い合わせを受けた機能が標準ＭＩＢ以外に関連するときは、前記管理領域内の情報にしたがって該問い合わせに該当する機能を受け持つプラグインを管理するプログラムに処理を行わせるように制御し、前記処理の結果を前記問い合わせに対する回答とするようにＭＩＢを管理するＭＩＢ管理手段として機能させ、前記情報処理装置のメーカーによって定義された管理領域として、画像処理装置のカウンタに関する情報、メンテナンス、障害解析に利用するメーカー固有の情報が含まれ、前記新たな機能をプラグインとして追加しようとしている装置が、前記情報処理装置のメーカーに認められているか否かを判断し、認められていると判断した場合は、前記プラグイン管理手段による処理を行わせる、情報処理プログラムである。
【発明の効果】
【００１９】
請求項１の情報処理装置によれば、新たな機能を追加する場合にあって、その機能に関する情報をＳＮＭＰのＭＩＢの管理領域に追加し、その機能に関する問い合わせに対する回答を行うことができる。
【００２０】
請求項２の情報処理装置によれば、新しい機能に関する問い合わせに対して、ツリー構造である管理領域を用いて、回答するプログラムを特定することができる。
【００２３】
請求項３の情報処理プログラムによれば、新たな機能を追加する場合にあって、その機能に関する情報をＳＮＭＰのＭＩＢの管理領域に追加し、その機能に関する問い合わせに対する回答を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態を利用したシステム構成例を示す説明図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】本実施の形態による処理例を示すフローチャートである。
【図５】本実施の形態による処理例を示すフローチャートである。
【図６】本実施の形態による処理例を示すフローチャートである。
【図７】プラグイン側ＭＩＢ管理テーブルのデータ構造例を示す説明図である。
【図８】ＭＩＢのツリー構造例を示す説明図である。
【図９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２５】
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する情報処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。また、適用する情報処理装置として画像処理装置を例として挙げるが、通信回線に接続可能な装置（いわゆるネットワークデバイス）であれば、画像処理装置以外の装置、例えば、携帯電話（スマートフォンを含む）、モバイル端末、情報家電等であってもよい。
【００２６】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２７】
本実施の形態である情報処理装置１００は、その情報処理装置の開発者以外の者からの要求によって、新たな機能を追加するものであって、図１の例に示すように、通信モジュール１１０、ＭＩＢ管理モジュール１２０、標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０、システムプログラム・データ記憶モジュール１４０、プラグイン管理モジュール１５０、プラグインプログラム・データ記憶モジュール１６０を有している。例えば、情報処理装置１００として画像処理装置（複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置））であってもよい。以下、具体例を示す場合は、画像処理装置としての例を示す。
【００２８】
通信モジュール１１０は、ＭＩＢ管理モジュール１２０と接続されている。通信モジュール１１０は、他の情報処理装置、例えば、情報処理装置１００に新たな機能を追加又は削除する情報処理装置、情報処理装置１００の機能に関する問い合わせを行う情報処理装置等との通信を行う。例えば、ＳＮＭＰにしたがった通信を行う。
【００２９】
ＭＩＢ管理モジュール１２０は、通信モジュール１１０、標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０、プラグイン管理モジュール１５０と接続されている。ＭＩＢ管理モジュール１２０は、通信モジュール１１０を介して外部の情報処理装置から情報処理装置１００の機能に関する問い合わせを受け付けた場合であって、標準ＭＩＢ以外のときは、その問い合わせに該当する機能を受け持つプログラムであるプラグイン管理モジュール１５０に処理を行わせるように制御する。いわゆるディスパッチ処理を行う。また、その制御にあたって、プラグイン管理モジュール１５０によって追加された管理領域内の情報にしたがって、その問い合わせに該当する機能を受け持つプログラムに処理を行わせるように制御するようにしてもよい。なお、ここで標準ＭＩＢの一例としては、情報処理装置１００のホスト名、情報処理装置１００の設置場所や消耗品の残量等の情報が該当する。プライベートＭＩＢとは、情報処理装置１００の開発者によって設計されたＭＩＢである。例えば、情報処理装置１００が画像処理装置である場合は、画像処理装置のカウンタに関する情報やメンテナンスや障害解析に利用するメーカー固有の情報が該当する。
そして、ＭＩＢ管理モジュール１２０は、プラグイン管理モジュール１５０による処理の結果を問い合わせに対する回答とし、通信モジュール１１０を介して、問い合わせを行った外部の情報処理装置に返信する。なお、機能に関する問い合わせとして、具体的には、「ｓｅｔ」、「ｇｅｔ」命令等が該当する。尚、プラグインとは、情報処理装置に追加可能なアプリケーションプログラムのことをいう。
また、ＭＩＢ管理モジュール１２０は、通信モジュール１１０を介して外部の情報処理装置から情報処理装置１００の機能に関する問い合わせを受け付けた場合であって、標準ＭＩＢのときは、その問い合わせに該当する機能を受け持つプログラムである標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０に処理を行わせるように制御する。
【００３０】
標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０は、ＭＩＢ管理モジュール１２０、システムプログラム・データ記憶モジュール１４０と接続されている。標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０は、ＳＮＭＰで標準ＭＩＢの管理を行う。具体的には、そのＭＩＢ（ＳＮＭＰにおける標準ＭＩＢ、情報処理装置１００のプライベートＭＩＢ）の機能に関する問い合わせに対する回答を生成するための処理を行い、また、そのＭＩＢの機能を発揮させる処理を行う。
システムプログラム・データ記憶モジュール１４０は、標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０と接続されている。システムプログラム・データ記憶モジュール１４０は、標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０によってアクセスされ、ＳＮＭＰで標準ＭＩＢの情報を記憶している。
【００３１】
プラグイン管理モジュール１５０は、ＭＩＢ管理モジュール１２０、プラグインプログラム・データ記憶モジュール１６０と接続されている。プラグイン管理モジュール１５０は、情報処理装置１００に対して、その情報処理装置１００の開発者もしくはそれ以外の者からの要求によって、新たな機能を追加する。いわゆるプラグイン機能を有する。もちろんのことながら、その追加した機能を削除する機能も有する。既存の技術を用いてプラグイン処理、その削除処理を行えばよい。なお、「情報処理装置１００の開発者」とは、その情報処理装置１００を開発した者（複数人であってもよいし、法人等であってもよい。）をいい、その情報処理装置１００におけるＳＮＭＰのＭＩＢのツリー構造を設計した者をいう。具体的には、メーカー等である。「情報処理装置１００の開発者以外の者」とは、具体的には、前述のベンダー等といわれる者が含まれる。なお、機能の追加が行われるタイミングは、情報処理装置１００が設置された後に行われるのが一般的である。
そして、プラグイン管理モジュール１５０は、追加した機能に関する情報をＳＮＭＰのＭＩＢとして、標準ＭＩＢ以外の管理領域であって、情報処理装置１００の開発者によって定義された管理領域に追加する。
また、プラグイン管理モジュール１５０は、ＭＩＢ管理モジュール１２０による制御によって、プラグイン管理モジュール１５０の機能に関する問い合わせを受け付けた場合に、その問い合わせに対する回答を行うための処理を行う。その処理結果をＭＩＢ管理モジュール１２０に返す。
プラグインプログラム・データ記憶モジュール１６０は、プラグイン管理モジュール１５０と接続されている。プラグインプログラム・データ記憶モジュール１６０は、プラグイン管理モジュール１５０によってアクセスされ、新たに追加された機能に関する情報（ＭＩＢ等）を記憶している。また、追加された機能のプログラム等を記憶している。
【００３２】
図２は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置１００、プラグイン追加・削除処理装置２１０Ａ、プラグイン追加・削除処理装置２１０Ｂ、ユーザー端末２２０Ａ、ユーザー端末２２０Ｂは、通信回線２９０を介してそれぞれ接続されている。通信回線２９０は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
プラグイン追加・削除処理装置２１０は、前述のベンダー等によって操作され、情報処理装置１００に対して、新たな機能の追加又は削除を行う。例えば、プラグインの追加は、プラグインを記憶しているサーバから情報処理装置１００にダウンロードしてもよい。
ユーザー端末２２０は、情報処理装置１００の機能を利用するユーザーによって操作され、情報処理装置１００に対して処理を依頼するものであり、いわゆるクライアント等とよばれるものである。例えば、ＳＮＭＰで標準ＭＩＢの情報、プラグイン追加・削除処理装置２１０によって追加された機能に関するＭＩＢの情報等を取得して、情報処理装置１００の管理等を行う。
【００３３】
図８は、ＭＩＢツリーの構造例を示す説明図である。なお、ノード名の「Ａ」はメーカー名称を示している。
このＭＩＢツリーでは、Ａ．ＡＰｒｏｄｕｃｔｓ（１  ３  ６  １  ４  １  ２９７  ２）は、このツリーのルートであり、ＡＰｒｏｐｒｉｅｔａｒｙＥｘｔ（９９９９）を子として有しており、ＡＰｒｏｐｒｉｅｔａｒｙＥｘｔ（９９９９）は、ＡＰｒｏｐｒｉｅｔａｒｙＰｒｉｎｔｅｒＥｘｔ（４３）、ＡＰｒｏｐｒｉｅｔａｒｙＪｏｂＭｏｎＥｘｔ（５９）、ＡＰｒｏｐｒｉｅｔａｒｙＳｔｏｃｋＦｉｌｅｓＥｘｔ（９９９）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍｉｚｅｄＭＩＢ（９９９）を子として有しており、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍｉｚｅｄＭＩＢ（９９９）は、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＴａｂｌｅ（１）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）を子として有しており、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＴａｂｌｅ（１）は、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＩｎｄｅｘ（１）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＰｒｕｇｉｎＩＤ（２）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＮａｍｅ（３）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＳｔａｔｕｓ（４）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＯＩＤ（５）、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＩｓＳｔａｎｄａｒｄ（６）を子として有しており、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）は、１、２、３を子として有している。
【００３４】
このＭＩＢツリーにおいて、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍｉｚｅｄＭＩＢ（９９９）以下が、メーカーＡのプライベートＭＩＢのツリーである。そして、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍｉｚｅｄＭＩＢ（９９９）以下に、そのメーカーＡが設計した情報処理装置１００プライベートＭＩＢのためのＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＴａｂｌｅ（１）のツリーと、ベンダーが作成したプラグイン（プログラム）のＭＩＢのためのＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）のツリーを有している。
例えば、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＴａｂｌｅ（１）下にプラグイン側ＭＩＢ管理テーブル７００を記憶している。
つまり、カスタマイズ機能により追加されるＭＩＢの設定情報の実体は、プラグイン手順にしたがい、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）下に追加され、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＴａｂｌｅ（１）に追加情報（プラグイン側ＭＩＢ管理テーブル７００）を記憶する。
なお、ツリーは追加された順番に構築されるので、ＭＩＢの問い合わせ処理は、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＭｎｇＴａｂｌｅ（１）（プラグイン側ＭＩＢ管理テーブル７００）で、ツリーの位置情報を取得した上で、アクセスすることとなる。
また、ＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）のツリー下にあるＭＩＢの問い合わせ（アクセス）があったならば、ＭＩＢ管理モジュール１２０はプラグイン管理モジュール１５０に処理させるように制御する。
予め用意された領域（メーカーＡによって定義されたＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）下のツリー）を、プラグインされた順番に、そのプラグインされたプログラムに関するＭＩＢに割り当てる。プラグイン時にツリー領域が足りなければエラーであり、追加することはできない。
【００３５】
図３は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、プラグイン側であるプラグイン追加・削除処理装置２１０からのＭＩＢ情報の登録処理例を示すものである。ここでは、既に、プラグインの追加処理は終了しているものとする。
ステップＳ３０２では、登録要求を行っているプラグイン追加・削除処理装置２１０が認証済ベンダーか否かを判断し、認証済ベンダーの場合はステップＳ３０４へ進み、それ以外の場合はステップＳ３０８へ進む。ここでの判断は、プラグインを追加しようとしている者が、情報処理装置１００のメーカーに認められているか否かを判断するものであり、無責任な者（悪意ある者等を含む）によるプラグインを防止するためである。具体的には、登録されたベンダーを管理するリストを予め用意しておき、登録要求を行っている者が、そのリスト内に含まれているか否かを判断すればよい。
【００３６】
ステップＳ３０４では、プラグインＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）は登録済みではないか否かを判断し、登録済みではない場合はステップＳ３０６へ進み、それ以外の場合はステップＳ３０８へ進む。ここで、プラグインＩＤは、各ベンダー内で、プラグインを区別するために割り振られる一意な識別子である。具体的には、予め用意されたプラグイン側ＭＩＢ管理テーブル７００内にあるか否かを判断する。図７は、プラグイン側ＭＩＢ管理テーブル７００のデータ構造例を示す説明図である。プラグイン側ＭＩＢ管理テーブル７００は、インデックス欄７１０、プラグインＩＤ欄７２０、名称欄７３０、状態欄７４０、ツリー欄７５０、標準フラグ欄７６０を有している。インデックス欄７１０は、インデックスを記憶している。プラグインＩＤ欄７２０は、本実施の形態において、プラグインしたプログラムを一意に識別するための情報（プラグインＩＤ）を記憶している。名称欄７３０は、そのプログラムの名称を記憶している。状態欄７４０は、そのプログラムに対応するＭＩＢのツリーが利用できるか否かの状態を示す情報を記憶している。ツリー欄７５０は、そのプログラムに対応するＭＩＢのＭＩＢツリー内の位置を記憶している。標準フラグ欄７６０は、ＳＮＭＰに定められた標準のＭＩＢであるか否かを示すフラグを記憶している。このフラグがＦＡＬＳＥの場合は、ベンダーが作成したプログラムに関するＭＩＢであり、そのＭＩＢは、具体的には、前述した図８のＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅ（２）のツリー下に記憶されている。
ステップＳ３０６では、プラグイン側ＭＩＢ管理テーブル７００に空きがあるか否かを判断し、空きがある場合はステップＳ３１０へ進み、それ以外の場合はステップＳ３０８へ進む。
ステップＳ３０８では、登録要求を行っているプラグイン追加・削除処理装置２１０に対してエラーを返す。
【００３７】
ステップＳ３１０では、登録しようとしているＭＩＢは標準ＭＩＢであるか否かを判断し、標準ＭＩＢである場合はステップＳ３１６へ進み、それ以外の場合はステップＳ３１２へ進む。
ステップＳ３１２では、プラグイン側ＭＩＢ追加用ツリー（ＭＩＢツリーの部分木）の空きＯＩＤ（Ｏｂｊｅｃｔ  ＩＤｅｎｔｉｆｉｅｒ）を割り当て、プラグイン側ＭＩＢ管理テーブル７００に登録する。具体的には、前述のように、図７に示すプラグイン側ＭＩＢ管理テーブル７００において、インデックスの値が２である「ＬＤＡＰ：」に関する設定データの実体は、図８に示すＡＰｒｏｐｒｉｅｔａｒＣｕｓｔｏｍＴａｂｌｅの（２）のツリーの「２」の下位に追加される。この場合、外部から問い合わせを受ける際のＯＩＤは、例えば「1.3.6.1.2.1.3:9999:999:2:1」となる。プラグイン側ＭＩＢ管理テーブル７００では、「1.3.6.1.2.1.3:9999:999:2」までの情報を管理し、ＬＤＡＰに関する情報がＩＤ「２」以下のどこに登録されているかは、管理しない。ＩＤが「２」以下のＯＩＤについては、各プラグインが管理しているので、プラグインに対してＭＩＢ情報の取得を依頼することになる。
ステップＳ３１４では、追加したプラグインＭＩＢの情報を管理用プライベートＭＩＢに反映する。具体的には、図７に示すプラグイン側ＭＩＢ管理テーブル７００において、インデックスが２であるプラグインの情報がツリーの「２」の下位に登録されたという内容が登録される。
【００３８】
ステップＳ３１６では、既に登録されているＭＩＢツリーであるか否かを判断し、既に登録されているＭＩＢツリーである場合はステップＳ３１８へ進み、それ以外の場合はステップＳ３２０へ進む。
ステップＳ３１８では、エラーを返す。なお、このステップＳ３１８では、既に登録済の標準ＭＩＢは登録時にエラーとするが、プラグイン側ＭＩＢ管理テーブル７００に登録して、標準ＭＩＢに対する問い合わせであったとしても、標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０によるｇｅｔ／ｓｅｔ処理を行わずに、プラグイン管理モジュール１５０側に渡すようにしてもよい。例えば、バグ修正、標準ＭＩＢのカスタマイズ等にも利用できるようになる。
ステップＳ３２０では、標準ＭＩＢとして、ＯＩＤをプラグイン側ＭＩＢ管理テーブルに登録する。
ステップＳ３９９では、プラグインＭＩＢ追加を完了する。
【００３９】
図４は、本実施の形態による処理例を示すフローチャートである。実施するのは、ＭＩＢ管理モジュール１２０である。このフローチャートは、ユーザー端末２２０から情報処理装置１００に対してのＭＩＢアクセス受付時の処理例を示すものである。具体例として、ユーザ端末からｇｅｔコマンドでＯＩＤを受け取った場合の処理である。
ステップＳ４０２では、受け付けたアクセスのＯＩＤは、情報処理装置１００でサポートしているＯＩＤであるか否かを判断し、サポートしているＯＩＤである場合はステップＳ４０４へ進み、それ以外の場合はステップＳ４０６へ進む。
ステップＳ４０４では、対象ＯＩＤの処理（ｇｅｔ／ｓｅｔ）を行う。
【００４０】
ステップＳ４０６では、プラグイン管理モジュール１５０でサポートしているＯＩＤであるか否かを判断し、プラグイン側でサポートしているＯＩＤである場合はステップＳ４０８へ進み、それ以外の場合はステップＳ４１０へ進む。具体的には、例えば問い合わせのあったＯＩＤが、「1.3.6.1.2.1.3:9999:999:2:1」である場合、上位から「1.3.6.1.2.1.3:9999:999:2」までたどって、図７に例示するプラグイン側ＭＩＢ管理テーブル７００を参照し、プラグインＢ社＿Ｐ１の管理下にあることを判断し、ＭＩＢ情報の取得処理をプラグインＢ社＿Ｐ１に依頼する。
ステップＳ４０８では、そのＯＩＤをサポートしているプラグイン（機能追加されたプログラム）に処理を依頼する。処理を依頼されたプラグインでの処理は、図５の例を用いて後述する。
ステップＳ４１０では、処理結果をＳＮＭＰ  Ｍａｎａｇｅｒ（ＭＩＢ管理モジュール１２０）に返す。そして、ＳＮＭＰ  Ｍａｎａｇｅｒでは、問い合わせを行ったユーザー端末２２０に返信する。なお、ステップＳ４０６でＮの場合は、ＯＩＤがない旨のメッセージを返す。
【００４１】
図５は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、ステップＳ４０８で処理を依頼されたプラグインでの処理例を示すものである。
ステップＳ５０２では、そのプラグインでサポートしているＯＩＤであるか否かを判断し、そのプラグインでサポートしているＯＩＤである場合はステップＳ５０４へ進み、それ以外の場合はステップＳ５０６へ進む。
ステップＳ５０４では、対象ＯＩＤの処理（ｇｅｔ／ｓｅｔ）を行う。
ステップＳ５０６では、処理結果を本体（ステップＳ４１０）に返す。なお、ステップＳ５０２でＮの場合は、ＯＩＤがない旨のメッセージを返す。
【００４２】
図６は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、ＳＮＭＰ  Ｍａｎａｇｍｅｒ（ＭＩＢ管理モジュール１２０）でのＭＩＢの追加箇所の確認処理例を示すものである。追加されたＭＩＢを管理するためには、プラグインの管理を行おうとするベンダーが作成したプログラム、ＭＩＢ管理モジュール１２０において、情報処理装置１００に追加されたＭＩＢの構造を把握することが必要である。
そのために、本フローチャートにより、ＭＩＢ管理モジュール１２０が、追加するＭＩＢのツリー構造を把握できるようにしている。追加されるＭＩＢは、情報処理装置１００のメーカーＡのプライベートＭＩＢの特定ツリー下に追加されるので、追加されたツリーまでのＯＩＤが特定できれば、ＳＮＭＰ  Ｍａｎａｇｅｒ（ＭＩＢ管理モジュール１２０）は追加したＭＩＢにアクセスできるようになる。
【００４３】
ステップＳ６０２では、メーカーＡにおけるプライベートＭＩＢ、任意追加ＭＩＢ、管理ＭＩＢ情報を取得する。具体的には、プラグイン側ＭＩＢ管理テーブル７００を用いて取得する。
ステップＳ６０４では、目的のプラグインＩＤが登録されているか否かを判断し、登録されている場合はステップＳ６０６へ進み、それ以外の場合はステップＳ６０８へ進む。
ステップＳ６０６では、目的のＭＩＢが登録されたＭＩＢツリーを特定し、処理を完了する。具体的には、プラグイン側ＭＩＢ管理テーブル７００のツリー欄７５０に記憶されている、ツリー内の位置を用いて特定する。
ステップＳ６０８では、プラグイン登録を確認する作業処理を行う。目的とするプラグインＩＤが登録されていないので、プラグイン登録が正常に行われたか否かを確認する処理を行う。なお、追加されるＭＩＢは、情報処理装置１００の種類によっては、プラグインの追加状況によって、そのプラグインのプログラムと同じＯＩＤに追加できるとは限らない。その場合は、いったん、新たなＯＩＤを追加した後に、追加したＯＩＤをプラグインのプログラムと同じＯＩＤに変更することによって、ＯＩＤを揃える処理を行うようにしてもよい。
【００４４】
図９を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図９に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部９１７と、プリンタ等のデータ出力部９１８を備えたハードウェア構成例を示している。
【００４５】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１は、前述の実施の形態において説明した各種のモジュール、すなわち、通信モジュール１１０、ＭＩＢ管理モジュール１２０、標準ＭＩＢ／プライベートＭＩＢ管理モジュール１３０、プラグイン管理モジュール１５０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００４６】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス９０４により相互に接続されている。
【００４７】
ホストバス９０４は、ブリッジ９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス９０６に接続されている。
【００４８】
キーボード９０８、マウス等のポインティングデバイス９０９は、操作者により操作される入力デバイスである。ディスプレイ９１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００４９】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）９１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ９０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、システムプログラム・データ記憶モジュール１４０、プラグインプログラム・データ記憶モジュール１６０等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００５０】
ドライブ９１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インターフェース９０７、外部バス９０６、ブリッジ９０５、及びホストバス９０４を介して接続されているＲＡＭ９０３に供給する。リムーバブル記録媒体９１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５１】
接続ポート９１４は、外部接続機器９１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート９１４は、インターフェース９０７、及び外部バス９０６、ブリッジ９０５、ホストバス９０４等を介してＣＰＵ９０１等に接続されている。通信部９１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部９１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部９１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５２】
なお、図９に示す情報処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機などに組み込まれていてもよい。
【００５３】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５４】
１００…情報処理装置
１１０…通信モジュール
１２０…ＭＩＢ管理モジュール
１３０…標準ＭＩＢ／プライベートＭＩＢ管理モジュール
１４０…システムプログラム・データ記憶モジュール
１５０…プラグイン管理モジュール
１６０…プラグインプログラム・データ記憶モジュール
２１０…プラグイン追加・削除処理装置
２２０…ユーザー端末
２９０…通信回線
【図１】
0006455178.tif 000002
【図２】
0006455178.tif 000003
【図３】
0006455178.tif 000004
【図４】
0006455178.tif 000005
【図５】
0006455178.tif 000006
【図６】
0006455178.tif 000007
【図７】
0006455178.tif 000008
【図８】
0006455178.tif 000009
【図９】
0006455178.tif 000010