(57)【要約】【課題】通信プロトコルの違いを意識することなく所定の機器との通信を行なうことができる通信装置、通信制御方法、通信制御プログラム及び記録媒体を提供することを目的とする。【解決手段】所定の機器２とネットワークを介して接続される通信装置１であって、機器２との通信を要求する１つ以上のアプリケーション手段１０と、機器２との通信が可能な通信プロトコルを選択し、その通信プロトコルを利用してアプリケーション手段１０からの要求に応じた通信を行なう通信モジュール手段１００とを有することにより上記課題を解決する。【選択図】図４
2007150697.tif 000002
【特許請求の範囲】
【請求項１】
所定の機器とネットワークを介して接続される通信装置であって、
前記機器との通信を要求する１つ以上のアプリケーション手段と、
前記機器との通信が可能な通信プロトコルを選択し、その通信プロトコルを利用して前記アプリケーション手段からの要求に応じた通信を行なう通信モジュール手段と
を有することを特徴とする通信装置。
【請求項２】
前記通信モジュール手段は、前記機器が利用可能な通信プロトコルを判断する機器通信プロトコル判断手段と、
前記機器が利用可能な１つ以上の通信プロトコルから１つの通信プロトコルを選択する機器情報取得制御手段と、
前記アプリケーション手段からの要求を前記機器情報取得制御手段により選択された通信プロトコルに特化した型に変換し、前記機器からの回答を前記機器情報取得制御手段により選択された通信プロトコルに依存しない型に変換する通信プロトコル変換手段と、
前記機器が利用可能な１つ以上の通信プロトコルを利用して前記機器との間で通信を行なう通信手段と
を有することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信モジュール手段は、前記機器が利用可能な通信プロトコルを記憶しておく機器通信プロトコル保持手段を更に有し、
前記機器通信プロトコル判断手段は、前記機器通信プロトコル保持手段に記憶されている前記機器が利用可能な通信プロトコルを利用して前記機器が利用可能な通信プロトコルを判断することを特徴とする請求項２記載の通信装置。
【請求項４】
前記機器情報取得制御手段は、前記アプリケーション手段からの要求の種類に応じて前記機器が利用可能な１つ以上の通信プロトコルから１つの通信プロトコルを選択することを特徴とする請求項２記載の通信装置。
【請求項５】
前記機器情報取得制御手段は、前記アプリケーション手段からの要求に応じた通信を複数の通信プロトコルを利用して行なうことを特徴とする請求項１乃至４何れか一項記載の通信装置。
【請求項６】
所定の機器とネットワークを介して接続される通信装置の通信制御方法であって、
アプリケーション手段が、前記機器との通信を要求するステップと、
通信モジュール手段が、前記機器との通信が可能な通信プロトコルを選択するステップと、
前記通信モジュール手段が、選択された前記機器との通信が可能な通信プロトコルを利用して前記アプリケーション手段からの要求に応じた通信を行なうステップと
を有することを特徴とする通信制御方法。
【請求項７】
所定の機器とネットワークを介して接続されるコンピュータを、
前記機器との通信を要求する１つ以上のアプリケーション手段と、
前記機器との通信が可能な通信プロトコルを選択し、その通信プロトコルを利用して前記アプリケーション手段からの要求に応じた通信を行なう通信モジュール手段と
して機能させるための通信制御プログラム。
【請求項８】
所定の機器とネットワークを介して接続されるコンピュータを、
前記機器との通信を要求する１つ以上のアプリケーション手段と、
前記機器との通信が可能な通信プロトコルを選択し、その通信プロトコルを利用して前記アプリケーション手段からの要求に応じた通信を行なう通信モジュール手段と
して機能させるための通信制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信制御方法、通信制御プログラム及び記録媒体に係り、特に所定の機器と通信を行なう通信装置、その通信装置を制御する通信制御方法、通信制御プログラム及びその通信制御プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年、プリンタ，ファックス（ＦＡＸ），コピー機，複合機（ＭＦＰ）等の機器の多くはＬＡＮ等のネットワークに接続することが可能となっている。このような機器の中にはネットワークを介して機器の状態に関する情報や属性情報等の各種情報の提供が可能なものもある。ただし、サポートしている通信プロトコルは機器毎に異なる場合があった。
【０００３】
このような機器とネットワークを介して接続される通信装置に搭載されたアプリケーションは、複数の機器より各種情報を取得する場合、それぞれの機器がサポートしている通信プロトコルによって機器との通信を行なう必要があった。
【０００４】
図１は、通信装置に搭載されたアプリケーションと機器との通信を表した一例のシーケンス図である。ＭＦＰ２から各種情報を取得する場合、アプリケーション１０はステップＳ１に進み、ＭＦＰ２がサポートしている通信プロトコルを指定し、その通信プロトコルに対応したＡＰＩ（Application Programming Interface）１１を呼び出して情報取得要求を行なう。なお、ステップＳ１の情報取得要求に含まれる「ＩＤ」は取得ＩＤであり、取得したい情報を表す一意な文字列である。
【０００５】
ステップＳ２に進み、ＡＰＩ１１はアプリケーション１０により指定された通信プロトコルに対応した通信モジュール１２に情報取得要求を行なう。通信モジュール１２は情報取得要求に応じてＭＦＰ２から情報を取得していた。即ち、従来の通信装置１に搭載されたアプリケーション１０は各通信プロトコルに依存した処理が実装されていた。
【０００６】
特許文献１には機器毎に異なる通信プロトコルを用いて、それぞれの機器から各種情報を取得する技術が開示されている。
【特許文献１】特開２０００−７６０３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の通信装置１に搭載されたアプリケーション１０は各種情報を取得したいＭＦＰ２がサポートしている通信プロトコルを自ら指定し、その通信プロトコルに対応したＡＰＩ１１を呼び出して情報取得要求を行なう必要があった。
【０００８】
従って、従来の通信装置１に搭載されたアプリケーション１０はネットワーク上の機器に変更があった場合や、既存の機器がサポートしている通信プロトコルに変更があった場合、アプリケーション毎にソースコードの修正、コンパイル及びリンク等の作業が必要であるという問題があった。また、従来の通信装置１に搭載されたアプリケーション１０は夫々の機器がサポートしている通信プロトコルの違いを意識しなければ機器より情報を取得できないという問題があった。
【０００９】
本発明は、上記の点に鑑みなされたもので、通信プロトコルの違いを意識することなく所定の機器との通信を行なうことができる通信装置、通信制御方法、通信制御プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は、所定の機器とネットワークを介して接続される通信装置であって、前記機器との通信を要求する１つ以上のアプリケーション手段と、前記機器との通信が可能な通信プロトコルを選択し、その通信プロトコルを利用して前記アプリケーション手段からの要求に応じた通信を行なう通信モジュール手段とを有することを特徴とする。
【００１１】
このような通信装置では、所定の機器との通信が可能な通信プロトコルを選択し、その通信プロトコルを利用してアプリケーション手段からの要求に応じた通信を行なう通信モジュール手段を有することにより、アプリケーション手段が通信プロトコルの違いを意識することなく所定の機器との通信を行なうことができる。
【００１２】
また、上記課題を解決するため、本発明は前記通信装置を制御する通信制御方法、通信制御プログラム及びその通信制御プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１３】
本発明によれば、通信プロトコルの違いを意識することなく所定の機器との通信を行なうことができる通信装置、通信制御方法、通信制御プログラム及び記録媒体を提供可能である。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００１５】
図２は、本発明の通信装置を含むシステムの一実施例の構成図である。図２のシステムは、通信装置１，ＭＩＢ（Management Information Base）対応のＭＦＰ２ｍ，ＳＯＡＰ（Simple Object Access Protocol）対応のＭＦＰ２ｓ及びＦＴＰ（File Transfer Protocol）対応のＭＦＰ２ｆが、ＬＡＮ等のネットワーク３を介して接続されている。なお、ＭＩＢ対応のＭＦＰ２ｍ，ＳＯＡＰ対応のＭＦＰ２ｓ及びＦＴＰ対応のＭＦＰ２ｆを総称する場合は単にＭＦＰ２という。
【００１６】
通信装置１はＭＦＰ２がサポートしている１つ以上の通信プロトコルを判断し、その１つ以上の通信プロトコルから１つの通信プロトコルを選択して、ＭＦＰ２から機器の状態に関する情報や属性情報等の各種情報（以下、機器情報という）を取得する機能が実装されているコンピュータである。操作者はＭＦＰ２から取得した機器情報を例えば通信装置１の表示装置に表示して確認できる。また、ＭＦＰ２は所定の機器の一例であり、通信装置１からの所定の通信プロトコルを利用した要求に応じて機器情報を提供する。
【００１７】
次に、通信装置１のハードウェア構成について説明する。図３は、本発明の通信装置を示す一例のハードウェア構成図である。図３は、通信装置の一例の構成図である。通信装置１は、それぞれバスＢで相互に接続されている入力装置２１，出力装置２２，ドライブ装置２３，補助記憶装置２５，メモリ装置２６，演算処理装置２７及びインターフェース装置２８で構成される。
【００１８】
入力装置２１はキーボードやマウスなどで構成され、各種信号を入力するために用いられる。出力装置２２はディスプレイ装置などで構成され、各種ウインドウやデータ等を表示するために用いられる。インターフェース装置２８は、モデム，ＬＡＮカードなどで構成されており、ネットワーク３に接続する為に用いられる。
【００１９】
本発明の通信制御プログラムは、通信装置１を制御する各種プログラムの少なくとも一部である。通信制御プログラムは例えば記録媒体２４の配布やネットワーク３からのダウンロードなどによって提供される。なお、通信制御プログラムを記録した記録媒体２４はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２０】
また、通信制御プログラムを記録した記録媒体２４がドライブ装置２３にセットされると、通信制御プログラムは記録媒体２４からドライブ装置２３を介して補助記憶装置２５にインストールされる。ネットワーク３からダウンロードされた通信制御プログラムはインターフェース装置２８を介して補助記憶装置２５にインストールされる。
【００２１】
補助記憶装置２５は、インストールされた通信制御プログラムを格納すると共に、必要なファイル，データ等を格納する。メモリ装置２６は、コンピュータの起動時に補助記憶装置２５から通信制御プログラムを読み出して格納する。そして、演算処理装置２７はメモリ装置２６に格納された通信制御プログラムに従って、後述する各種機能を実現している。
【００２２】
次に、通信装置１とＭＦＰ２との通信について説明する。図４は、通信装置とＭＦＰとの通信を表した一例の模式図である。本発明の通信装置１は、アプリケーション１０及び通信モジュール１００を含む構成である。アプリケーション１０はＭＦＰ２から機器情報を取得するとき、通信モジュール１００を利用する。通信モジュール１００は、ＭＦＰ２がサポートしている１つ以上の通信プロトコルを判断し、その１つ以上の通信プロトコルから１つの通信プロトコルを選択する。通信モジュール１００は、選択した通信プロトコルを利用してアプリケーション１０から要求のあった機器情報を取得する。
【００２３】
このように、本発明の通信装置１では通信モジュール１００がＭＦＰ２のサポートしている１つ以上の通信プロトコルを判断し、その１つ以上の通信プロトコルから１つの通信プロトコルを選択し、その通信プロトコルを利用してアプリケーション１０から要求のあった機器情報を取得している。したがって、アプリケーション１０は通信モジュール１００を利用することで、通信プロトコルの違いを意識することなくＭＦＰ２から機器情報を取得できる。
【００２４】
次に、通信モジュール１００の機能構成について説明する。図５は通信モジュールを示す一例の機能構成図である。通信モジュール１００は、ＡＰＩ１０１，機器情報取得制御部１０２，通信プロトコル変換部１０３，機器通信プロトコル判断部１０４，機器情報キャッシュ部１０５，通信部１０６及び機器通信プロトコルキャッシュ部１０７を含む構成である。通信部１０６は、自動通信プロトコル通信部１１１，ＳＮＭＰ通信部１１２，ＦＴＰ通信部１１３，ＳＯＡＰ通信部１１４を含む構成である。
【００２５】
ＡＰＩ１０１は機器情報を取得／設定するアプリケーション１０から呼び出され、機器情報を取得／設定する為の機能をアプリケーション１０に提供する。機器情報取得制御部１０２は機器情報取得に関する制御を行なう。通信プロトコル変換部１０３は通信装置１からＭＦＰ２に送信する情報を通信プロトコルに依存しない型から通信プロトコルに特化した型に変換し、又はＭＦＰ２から通信装置１に送信された情報を通信プロトコルに特化した型から通信プロトコルに依存しない型に変換する。
【００２６】
機器通信プロトコル判断部１０４は、ＭＦＰ２がサポートしている１つ以上の通信プロトコルを判断する。機器情報キャッシュ部１０５は、ＭＦＰ２から取得した機器情報を通信プロトコルに依存しない型でキャッシュする。機器通信プロトコルキャッシュ部１０７はＭＦＰ２がサポートしている１つ以上の通信プロトコルを記憶しておく。
【００２７】
通信部１０６は、実際にＭＦＰ２との間で通信を行って、ＭＦＰ２より機器情報を取得又はＭＦＰ２に機器情報を設定する。通信部１０６に含まれる自動通信プロトコル通信部１１１はＳＮＭＰ通信部１１２，ＦＴＰ通信部１１３，ＳＯＡＰ通信部１１４の何れかを利用してＭＦＰ２との間で通信を行なう。ＳＮＭＰ通信部１１２，ＦＴＰ通信部１１３及びＳＯＡＰ通信部１１４は、それぞれの通信プロトコルに特化した通信を行なう。
【００２８】
通信部１０６は、図６に示すようなクラス図で表すことができる。また、通信プロトコル変換部１０３は図７に示すようなクラス図で表すことができる。図６は通信部を表すクラス図である。また、図７は通信プロトコル変換部を表すクラス図である。
【００２９】
図６に示すように自動通信プロトコル通信部１１１はＳＮＭＰ通信部１１２，ＦＴＰ通信部１１３，ＳＯＡＰ通信部１１４の存在を知っており、選択された通信プロトコルに対応するＳＮＭＰ通信部１１２，ＦＴＰ通信部１１３，ＳＯＡＰ通信部１１４の何れかを利用してＭＦＰ２との間で通信を行なう。
【００３０】
図７に示すように通信プロトコル変換部１０３は、各通信プロトコル（ＳＮＭＰ，ＳＯＡＰ，ＦＴＰ）を利用して取得した各通信プロトコルに特化した型の機器情報を、上位に渡せる各通信プロトコルに依存しない型（共通の型）の機器情報に変換するモジュールである。
【００３１】
次に、通信モジュール１００の処理手順について説明する。図８は、通信モジュールの処理手順を示す一例のシーケンス図である。ステップＳ１１では、機器情報を取得する為のＡＰＩ１０１がアプリケーション１０から読み出される。ステップＳ１２に進み、ＡＰＩ１０１は機器情報取得制御部１０２に情報取得要求を行なう。
【００３２】
ステップＳ１３に進み、機器情報取得制御部１０２は機器通信プロトコル判断部１０４に対して、ＭＦＰ２がサポートしている１つ以上の通信プロトコルを判断するように要求する。ステップＳ１４に進み、機器通信プロトコル判断部１０４は機器通信プロトコルキャッシュ部１０７にＭＦＰ２がサポートしている１つ以上の通信プロトコルが記憶されていれば、機器通信プロトコルキャッシュ部１０７に記憶されていた１つ以上の通信プロトコルをＭＦＰ２がサポートしている１つ以上の通信プロトコルと判断する。
【００３３】
一方、機器通信プロトコル判断部１０４は機器通信プロトコルキャッシュ部１０７にＭＦＰ２がサポートしている１つ以上の通信プロトコルが記憶されていなければ、図８の点線部分２００で表した実際にＭＦＰ２へ問い合わせる為の処理を行なう。なお、機器通信プロトコル判断部１０４はＭＦＰ２がサポートしている１つ以上の通信プロトコルをトライアンドエラーでチェックするようにしてもよい。
【００３４】
ステップＳ１５に進み、機器通信プロトコル判断部１０４は通信部１０６に通信プロトコルチェックを要求する。ステップＳ１６に進み、通信部１０６はＭＦＰ２がサポートしている１つ以上の通信プロトコルを表す通信プロトコルチェック情報を、ＳＮＭＰを利用してＭＦＰ２から取得する。
【００３５】
ステップＳ１７に進み、機器通信プロトコル判断部１０４は実際にＭＦＰ２へ問い合わせたＭＦＰ２がサポートしている１つ以上の通信プロトコルを機器通信プロトコルキャッシュ部１０７へ記憶する。
【００３６】
ステップＳ１８に進み、機器情報取得制御部１０２は機器情報キャッシュ部１０５にＭＦＰ２の機器情報が記憶されていれば、機器情報キャッシュ部１０５から機器情報を取得する。なお、機器情報キャッシュ部１０５にＭＦＰ２の機器情報が記憶されていなければ機器情報取得制御部１０２は、図８の点線部分２０１で表した実際にＭＦＰ２から取得する為の処理を行う。
【００３７】
ステップＳ１９に進み、機器情報取得制御部１０２は通信部１０６に情報取得を要求する。ステップＳ２０に進み、通信部１０６はＭＦＰ２がサポートしている１つ以上の通信プロトコルから選択された１つの通信プロトコルを利用して、機器情報をＭＦＰ２から取得する。なお、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから１つの通信プロトコルを選択する処理手順は後述する。
【００３８】
ステップＳ２１に進み、機器情報取得制御部１０２はＭＦＰ２から取得した機器情報を図９及び図１０に示すような通信プロトコルに依存しない型に変換する為の通信プロトコル変換要求を通信プロトコル変換部１０３に対して行なう。図９は、機器情報の情報表現の基となる型を示すクラス図である。図１０は、機器情報の各通信プロトコルに依存しない型（共通の型）を示すクラス図である。
【００３９】
ＳＮＭＰを利用して機器情報を取得するとき、図１０のクラス図に従うと、機器情報は図１１に示すようにマッピングされる。図１１は、ＳＮＭＰのときのマッピング例を示す一例の構成図である。また、ＳＯＡＰを利用して機器情報を取得するとき、図１０のクラス図に従うと、機器情報は図１２に示すようにマッピングされる。図１２は、ＳＯＡＰのときのマッピング例を示す一例の構成図である。なお、ＳＯＡＰを利用してＭＦＰ２に機器情報を要求するとき、リクエストのＳＯＡＰメッセージは、図１３に示すように構成される。また、ＳＯＡＰを利用してＭＦＰ２から機器情報を取得するとき、レスポンスのＳＯＡＰメッセージは図１４に示すように構成される。図１３は、リクエストのＳＯＡＰメッセージを示す一例の構成図である。図１４は、レスポンスのＳＯＡＰメッセージを示す一例の構成図である。
【００４０】
すると、通信プロトコル変換部１０３は変換定義ファイルをもとに、ＭＦＰ２から取得した機器情報を通信プロトコルに特化した型から上位に渡せる各通信プロトコルに依存しない型（共通の型）に変換する。例えばＳＮＭＰの場合、通信プロトコル変換部１０３は図１５のＭＩＢ情報取得制御ファイルと、図１６のＭＩＢ情報定義ファイルとによって変換される。図１５はＭＩＢ情報取得制御ファイルの一例の構成図である。図１６はＭＩＢ情報定義ファイルの一例の構成図である。
【００４１】
ステップＳ２２に進み、機器情報取得制御部１０２は通信プロトコルに特化した型から上位に渡せる各通信プロトコルに依存しない型（共通の型）に変換した機器情報を通信プロトコルに依存しない型で機器情報キャッシュ部１０５にキャッシュする。通信装置１は操作者から要求のあった機器情報を機器情報キャッシュ部１０５から読み出し、又はＭＦＰ２から実際に取得して、操作者に確認させることができる。
【００４２】
次に、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから１つの通信プロトコルを選択する処理手順について説明する。図１７は、通信プロトコルを選択する処理手順を示す一例のフローチャートである。
【００４３】
機器情報キャッシュ部１０５にＭＦＰ２の機器情報が記憶されていなければ、機器情報取得制御部１０２はステップＳ３１に進み、ＭＦＰ２がサポートしている１つ以上の通信プロトコルにＳＮＭＰが含まれるか否かにより、ＭＦＰ２がＳＮＭＰをサポートしているか否かを判断する。
【００４４】
ＭＦＰ２がＳＮＭＰをサポートしていると判断すれば、機器情報取得制御部１０２はステップＳ３２に進み、ＳＮＭＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。ＭＦＰ２がＳＮＭＰをサポートしていないと判断すれば、機器情報取得制御部１０２はステップＳ３３に進み、ＭＦＰ２がサポートしている１つ以上の通信プロトコルにＳＯＡＰが含まれるか否かにより、ＭＦＰ２がＳＯＡＰをサポートしているか否かを判断する。
【００４５】
ＭＦＰ２がＳＯＡＰをサポートしていると判断すれば、機器情報取得制御部１０２はステップＳ３４に進み、ＳＯＡＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。ＭＦＰ２がＳＯＡＰをサポートしていないと判断すれば、機器情報取得制御部１０２はステップＳ３５に進み、ＭＦＰ２がサポートしている１つ以上の通信プロトコルにＦＴＰが含まれるか否かにより、ＭＦＰ２がＦＴＰをサポートしているか否かを判断する。
【００４６】
ＭＦＰ２がＦＴＰをサポートしていると判断すれば、機器情報取得制御部１０２はステップＳ３６に進み、ＦＴＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。ＭＦＰ２がＦＴＰをサポートしていないと判断すれば、機器情報取得制御部１０２はステップＳ３７に進み、通信ができない状態の処理を行う。
【００４７】
図１７のフローチャートに示す処理手順により、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから１つの通信プロトコルを選択できる。
【００４８】
図１８は通信プロトコルを選択する処理手順を示す他の例のフローチャートである。機器情報キャッシュ部１０５にＭＦＰ２の機器情報が記憶されていなければ、機器情報取得制御部１０２はステップＳ４１，Ｓ４３及びＳ４５の処理を平行して行なう。ステップＳ４１に進み、機器情報取得制御部１０２はＭＦＰ２がサポートしている１つ以上の通信プロトコルにＳＮＭＰが含まれるか否かにより、ＭＦＰ２がＳＮＭＰをサポートしているか否かを判断する。
【００４９】
ＭＦＰ２がＳＮＭＰをサポートしていると判断すれば、機器情報取得制御部１０２はステップＳ４２に進み、ＳＮＭＰ利用可能フラグを立てたあと、ステップＳ４７に進む。ＭＦＰ２がＳＮＭＰをサポートしていないと判断すれば、機器情報取得制御部１０２はステップＳ４７に進む。
【００５０】
ステップＳ４１と平行してステップＳ４３に進み、機器情報取得制御部１０２はＭＦＰ２がサポートしている１つ以上の通信プロトコルにＳＯＡＰが含まれるか否かにより、ＭＦＰ２がＳＯＡＰをサポートしているか否かを判断する。
【００５１】
ＭＦＰ２がＳＯＡＰをサポートしていると判断すれば、機器情報取得制御部１０２はステップＳ４４に進み、ＳＯＡＰ利用可能フラグを立てたあと、ステップＳ４７に進む。ＭＦＰ２がＳＯＡＰをサポートしていないと判断すれば、機器情報取得制御部１０２はステップＳ４７に進む。
【００５２】
ステップＳ４１と平行してステップＳ４５に進み、機器情報取得制御部１０２はＭＦＰ２がサポートしている１つ以上の通信プロトコルにＦＴＰが含まれるか否かにより、ＭＦＰ２がＦＴＰをサポートしているか否かを判断する。
【００５３】
ＭＦＰ２がＦＴＰをサポートしていると判断すれば、機器情報取得制御部１０２はステップＳ４６に進み、ＦＴＰ利用可能フラグを立てたあと、ステップＳ４７に進む。ＭＦＰ２がＦＴＰをサポートしていないと判断すれば、機器情報取得制御部１０２はステップＳ４７に進む。
【００５４】
ステップＳ４７では、機器情報取得制御部１０２が、ステップＳ１の情報取得要求に含まれていた取得ＩＤ毎に、利用可能フラグの立っている通信プロトコルの中から最良の通信プロトコルを選択する。なお、取得ＩＤ毎に最良の通信プロトコルを選択する方法としては、トライアンドエラーにより選択する方法の他、最もレスポンスの早かった通信プロトコルを選択する方法もある。
【００５５】
機器情報取得制御部１０２は、取得ＩＤ毎に選択した通信プロトコルを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。図１８のフローチャートに示す処理手順により、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから１つの通信プロトコルを選択できる。
【００５６】
図１９は、ＳＮＭＰを利用して取得したケーパビリティに基づき、通信プロトコルを選択する処理手順を示す一例のフローチャートである。機器情報キャッシュ部１０５にＭＦＰ２の機器情報が記憶されていなければ、機器情報取得制御部１０２はステップＳ５１に進み、取得したい機器情報（プロパティ）が、どの通信プロトコルを用いて取得できるかを表すケーパビリティを、ＳＮＭＰでＭＦＰ２から取得する。そして、機器情報取得制御部１０２は図２０のようなケーパビリティテーブルを作成する。
【００５７】
図２０は、ケーパビリティテーブルを表す一例の構成図である。ケーパビリティテーブルは、各通信プロトコルがサポートしているプロパティを表している。機器情報取得制御部１０２はケーパビリティテーブルを利用することで、あるプロパティが、どの通信プロトコルを利用して取得できるのかを判断できる。
【００５８】
ステップＳ５２に進み、機器情報取得制御部１０２は図２０のケーパビリティテーブルを利用することで、取得したいプロパティがＳＮＭＰで取得できるか否かを判定する。取得したいプロパティがＳＮＭＰで取得できると判定すれば、機器情報取得制御部１０２はステップＳ５３に進み、ＳＮＭＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。
【００５９】
取得したいプロパティがＳＮＭＰで取得できないと判定すれば、機器情報取得制御部１０２はステップＳ５４に進み、図２０のケーパビリティテーブルを利用して、取得したいプロパティがＳＯＡＰで取得できるか否かを判定する。取得したいプロパティがＳＯＡＰで取得できると判定すれば、機器情報取得制御部１０２はステップＳ５５に進み、ＳＯＡＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。
【００６０】
取得したいプロパティがＳＯＡＰで取得できないと判定すれば、機器情報取得制御部１０２はステップＳ５６に進み、図２０のケーパビリティテーブルを利用して、取得したいプロパティがＦＴＰで取得できるか否かを判定する。取得したいプロパティがＦＴＰで取得できると判定すれば、機器情報取得制御部１０２はステップＳ５７に進み、ＦＴＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。
【００６１】
取得したいプロパティがＦＴＰで取得できないと判定すれば、機器情報取得制御部１０２は図１９のフローチャートに示す処理を終了する。図１９のフローチャートに示す処理手順により、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから、取得したいプロパティを取得可能な１つの通信プロトコルを選択できる。
【００６２】
図２１は、通信プロトコル判断定義ファイルを利用して通信プロトコルを選択する処理手順を示す一例のフローチャートである。機器情報キャッシュ部１０５にＭＦＰ２の機器情報が記憶されていなければ、機器情報取得制御部１０２はステップＳ６１に進み、図２２の通信プロトコル判断定義ファイルを利用して、取得したいプロパティが、どの通信プロトコルを用いて取得できるかを判断する。
【００６３】
図２２は、取得したいプロパティが、どの通信プロトコルを用いて取得できるかを定義する通信プロトコル判断定義ファイルを表す一例の構成図である。図２２の通信プロトコル判断定義ファイルは、あるプロパティを取得できる通信プロトコルの優先度（図２２中のＰｒｏｔｏｃｏｌ  ｐｒｉｏｒｉｔｙ）が設定されている。機器情報取得制御部１０２は通信プロトコル判断定義ファイルを利用することで、あるプロパティが、どの通信プロトコルを利用して取得できるのかを判断できる。
【００６４】
ステップＳ６２に進み、機器情報取得制御部１０２は図２２の通信プロトコル判断定義ファイルを利用することで、取得したいプロパティがＳＮＭＰで取得できるか否かを判定する。取得したいプロパティがＳＮＭＰで取得できると判定すれば、機器情報取得制御部１０２はステップＳ６３に進み、ＳＮＭＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。
【００６５】
取得したいプロパティがＳＮＭＰで取得できないと判定すれば、機器情報取得制御部１０２はステップＳ６４に進み、図２２の通信プロトコル判断定義ファイルを利用することで、取得したいプロパティがＳＯＡＰで取得できるか否かを判定する。取得したいプロパティがＳＯＡＰで取得できると判定すれば、機器情報取得制御部１０２はステップＳ６５に進み、ＳＯＡＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。
【００６６】
取得したいプロパティがＳＯＡＰで取得できないと判定すれば、機器情報取得制御部１０２はステップＳ６６に進み、図２０のケーパビリティテーブルを利用することで、取得したいプロパティがＦＴＰで取得できるか否かを判定する。取得したいプロパティがＦＴＰで取得できると判定すれば、機器情報取得制御部１０２はステップＳ６７に進み、ＦＴＰを利用して機器情報をＭＦＰ２から取得するように通信部１０６に要求する。取得したいプロパティがＦＴＰで取得できないと判定すれば、機器情報取得制御部１０２は図２１のフローチャートに示す処理を終了する。
【００６７】
なお、ステップＳ６３，Ｓ６５及びＳ６７に続いてステップＳ６８に進み、機器情報取得制御部１０２は選択した通信プロトコルで、取得したいプロパティが取得できたか否かを判定する。取得したいプロパティが取得できたと判定すれば、機器情報取得制御部１０２は図２１のフローチャートに示す処理を終了する。一方、取得したいプロパティが取得できなかったと判定すれば、機器情報取得制御部１０２はステップＳ６９に進み、次に優先度の高い通信プロトコルが選択されるように指定したあと、言い換えれば取得したいプロパティが取得できなかった通信プロトコルが選択されないように指定したあと、ステップＳ６２に戻る。
【００６８】
図２１のフローチャートに示す処理手順により、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから、取得したいプロパティを取得可能な１つの通信プロトコルを選択できる。
【００６９】
次に、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから１つ以上の通信プロトコルを選択する処理手順について説明する。図２３はケーパビリティテーブルを利用して１つ以上の通信プロトコルを選択する処理手順を示す一例のフローチャートである。
【００７０】
ステップＳ７１に進み、プロパティＡ〜Ｇを指定した情報取得要求をＡＰＩ１０１から受信する。ステップＳ７２に進み、機器情報取得制御部１０２は図２０のケーパビリティテーブルを利用して、あるプロパティが、どの通信プロトコルを利用して取得できるのかを判断し、取得するプロパティを各通信プロトコルに振り分け得る。
【００７１】
ここでは、プロパティＡ〜ＣをＳＮＭＰに振り分け、プロパティＥをＳＯＡＰに振り分け、プロパティＧをＦＴＰに振り分ける例を説明する。ステップＳ７３に進み、機器情報取得制御部１０２はＳＮＭＰを利用してプロパティＡ〜ＣをＭＦＰ２から取得するように通信部１０６に要求する。通信部１０６のＳＮＭＰ通信部１１２はＳＮＭＰを利用してＭＦＰ２からプロパティＡ〜Ｃを取得する。
【００７２】
ステップＳ７６に進み、機器情報取得制御部１０２はＭＦＰ２から取得したプロパティＡ〜Ｃを通信プロトコル変換部１０３のＳＮＭＰ変換部にて、ＳＮＭＰに特化した型からＳＮＭＰに依存しない型に変換する。
【００７３】
また、ステップＳ７４に進み、機器情報取得制御部１０２はＳＯＡＰを利用してプロパティＥをＭＦＰ２から取得するように通信部１０６に要求する。通信部１０６のＳＯＡＰ通信部１１４はＳＯＡＰを利用してＭＦＰ２からプロパティＥを取得する。
【００７４】
ステップＳ７７に進み、機器情報取得制御部１０２はＭＦＰ２から取得したプロパティＥを通信プロトコル変換部１０３のＳＯＡＰ変換部にて、ＳＯＡＰに特化した型からＳＯＡＰに依存しない型に変換する。
【００７５】
また、ステップＳ７５に進み、機器情報取得制御部１０２はＦＴＰを利用してプロパティＧをＭＦＰ２から取得するように通信部１０６に要求する。通信部１０６のＦＴＰ通信部１１３はＦＴＰを利用してＭＦＰ２からプロパティＧを取得する。
【００７６】
ステップＳ７８に進み、機器情報取得制御部１０２はＭＦＰ２から取得したプロパティＧを通信プロトコル変換部１０３のＦＴＰ変換部にて、ＦＴＰに特化した型からＦＴＰに依存しない型に変換する。
【００７７】
ステップＳ７６〜Ｓ７８に続いてステップＳ７９に進み、通信プロトコル変換部１０３はステップＳ７６〜Ｓ７８において通信プロトコルに依存しない型に変換されたプロパティＡ〜Ｇをマージしたあと、機器情報取得制御部１０２に送信する。
【００７８】
図２３のフローチャートに示す処理手順により、ＭＦＰ２がサポートしている１つ以上の通信プロトコルから１つ以上の通信プロトコルを選択し、その１つ以上の通信プロトコルを利用して、プロパティを取得できる。
【００７９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００８０】
【図１】通信装置に搭載されたアプリケーションと機器との通信を表した一例のシーケンス図である。
【図２】本発明の通信装置を含むシステムの一実施例の構成図である。
【図３】本発明の通信装置を示す一例のハードウェア構成図である。
【図４】通信装置とＭＦＰとの通信を表した一例の模式図である。
【図５】通信モジュールを示す一例の機能構成図である。
【図６】通信部を表すクラス図である。
【図７】通信プロトコル変換部を表すクラス図である。
【図８】通信モジュールの処理手順を示す一例のシーケンス図である。
【図９】機器情報の情報表現の基となる型を示すクラス図である。
【図１０】機器情報の各通信プロトコルに依存しない型（共通の型）を示すクラス図である。
【図１１】ＳＮＭＰのときのマッピング例を示す一例の構成図である。
【図１２】ＳＯＡＰのときのマッピング例を示す一例の構成図である。
【図１３】リクエストのＳＯＡＰメッセージを示す一例の構成図である。
【図１４】レスポンスのＳＯＡＰメッセージを示す一例の構成図である。
【図１５】ＭＩＢ情報取得制御ファイルの一例の構成図である。
【図１６】ＭＩＢ情報定義ファイルの一例の構成図である。
【図１７】通信プロトコルを選択する処理手順を示す一例のフローチャートである。
【図１８】通信プロトコルを選択する処理手順を示す他の例のフローチャートである。
【図１９】ＳＮＭＰを利用して取得したケーパビリティに基づき、通信プロトコルを選択する処理手順を示す一例のフローチャートである。
【図２０】ケーパビリティテーブルを表す一例の構成図である。
【図２１】通信プロトコル判断定義ファイルを利用して通信プロトコルを選択する処理手順を示す一例のフローチャートである。
【図２２】取得したいプロパティが、どの通信プロトコルを用いて取得できるかを定義する通信プロトコル判断定義ファイルを表す一例の構成図である。
【図２３】ケーパビリティテーブルを利用して１つ以上の通信プロトコルを選択する処理手順を示す一例のフローチャートである。
【符号の説明】
【００８１】
１    通信装置
２，２ｍ，２ｓ，２ｆ    ＭＦＰ
３    ネットワーク
１０    アプリケーション
２１    入力装置
２２    出力装置
２３    ドライブ装置
２４    記録媒体
２５    補助記憶装置
２６    メモリ装置
２７    演算処理装置
２８    インターフェース装置
１００    通信モジュール
１０１    ＡＰＩ
１０２    機器情報取得制御部
１０３    通信プロトコル変換部
１０４    機器通信プロトコル判断部
１０５    機器情報キャッシュ部
１０６    通信部
１０７    機器通信プロトコルキャッシュ部
１１１    自動通信プロトコル通信部
１１２    ＳＮＭＰ通信部
１１３    ＦＴＰ通信部
１１４    ＳＯＡＰ通信部
【図１】
2007150697.tif 000003
【図２】
2007150697.tif 000004
【図３】
2007150697.tif 000005
【図４】
2007150697.tif 000006
【図５】
2007150697.tif 000007
【図６】
2007150697.tif 000008
【図７】
2007150697.tif 000009
【図８】
2007150697.tif 000010
【図９】
2007150697.tif 000011
【図１０】
2007150697.tif 000012
【図１１】
2007150697.tif 000013
【図１２】
2007150697.tif 000014
【図１３】
2007150697.tif 000015
【図１４】
2007150697.tif 000016
【図１５】
2007150697.tif 000017
【図１６】
2007150697.tif 000018
【図１７】
2007150697.tif 000019
【図１８】
2007150697.tif 000020
【図１９】
2007150697.tif 000021
【図２０】
2007150697.tif 000022
【図２１】
2007150697.tif 000023
【図２２】
2007150697.tif 000024
【図２３】
2007150697.tif 000025