(57)【要約】    【課題】  機器制御プロトコルが異なる機器同士での機器ネットワークの構成を可能にする。    【解決手段】  複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置において、仮想プロトコル提供部２０２が、機器制御に必要とされる機能を一般化した仮想プロトコルを提供する。仮想プロトコル実行部２０３が、この仮想プロトコルを介して機器制御アプリケーション２０１から送られた機器制御要求を解釈し、仮想プロトコル変換部２０４が、この解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する。【選択図】      図２
2005085238.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置において、
機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供手段と、
前記仮想プロトコル提供手段によって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行手段と、
前記仮想プロトコル実行手段によって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換手段と
を有することを特徴とする機器制御装置。
【請求項２】
前記仮想プロトコル実行手段は、
前記仮想プロトコルを介して送られた機器制御要求を解析するための解析手段と、
前記解析手段によって得られた解析結果を基に実際の制御内容を決定する判断手段と
を含むことを特徴とする請求項１に記載の機器制御装置。
【請求項３】
前記仮想プロトコル変換手段は、前記複数の機器制御プロトコルに対応して複数設けられ、
前記判断手段は、前記解析手段によって得られた解析結果を基に、指定された機器に対応する仮想プロトコル変換手段に対して実行されることを特徴とする請求項２に記載の機器制御装置。
【請求項４】
前記仮想プロトコル変換手段は、前記複数の機器制御プロトコルに対応して複数設けられ、
前記判断手段は、前記解析手段によって得られた解析結果を基に、前記複数の仮想プロトコル変換手段のすべてに対して並列的に同時に実行されることを特徴とする請求項２に記載の機器制御装置。
【請求項５】
前記仮想プロトコル変換手段は、前記複数の機器制御プロトコルに対応して複数設けられ、
前記判断手段は、前記解析手段によって得られた解析結果を基に、前記複数の仮想プロトコル変換手段のすべてに対して直列的に逐次に実行されることを特徴とする請求項２に記載の機器制御装置。
【請求項６】
複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置に適用される機器制御方法において、
機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供ステップと、
前記仮想プロトコル提供ステップによって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行ステップと、
前記仮想プロトコル実行ステップによって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換ステップと
を有することを特徴とする機器制御方法。
【請求項７】
ネットワーク上に存在する複数の機器の集合情報の取得方法において、
前記複数の機器にそれぞれ対応する複数の異なった種類の機器制御プロトコルを実行する実行ステップと、
前記実行ステップによる実行の結果発見された制御対象機器を、前記ネットワーク上に存在する機器の集合情報とする認定ステップと
を有することを特徴とする集合情報取得方法。
【請求項８】
複数の機器と、該複数の機器に対応する複数の異なった種類の機器制御プロトコルとを備えたシステムにおいて特定の機器を検索する機器検索方法において、
前記複数の機器制御プロトコルを順次、実行して、特定の機器を検索することを特徴とする機器検索方法。
【請求項９】
複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置に適用される機器制御方法を、コンピュータに実行させるためのプログラムにおいて、
機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供ステップと、
前記仮想プロトコル提供ステップによって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行ステップと、
前記仮想プロトコル実行ステップによって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換ステップと
を有することを特徴とするプログラム。
【請求項１０】
ネットワーク上に存在する複数の機器の集合情報の取得方法を、コンピュータに実行させるためのプログラムにおいて、
前記複数の機器にそれぞれ対応する複数の異なった種類の機器制御プロトコルを実行する実行ステップと、
前記実行ステップによる実行の結果発見された制御対象機器を、前記ネットワーク上に存在する機器の集合情報とする認定ステップと
を有することを特徴とするプログラム。
【請求項１１】
複数の機器と、該複数の機器に対応する複数の異なった種類の機器制御プロトコルとを備えたシステムにおいて特定の機器を検索する機器検索方法を、コンピュータに実行させるためのプログラムにおいて、
前記複数の機器制御プロトコルを順次、実行して、特定の機器を検索するステップを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器制御装置、機器制御方法、集合情報取得方法、機器検索方法およびプログラムに関し、特に、複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置、該機器制御装置に適用される機器制御方法、ネットワーク上に存在する複数の機器の集合情報の取得方法、特定の機器を検索する機器検索方法、及びこれらの方法をコンピュータに実行させるためのプログラムに関する。
【０００２】
本発明は、特に、ユーザからの機器制御要求を個別の機器だけではなく、複数の機器が互に結合されて構成される機器ネットワーク全体にて総合的に処理する連携機能を実現するものである。
【背景技術】
【０００３】
電子計算機技術の進歩により、単一の機能しか有せず相互に有機的に接続することができなかったオフィス機器や一般の家庭用機器においても、ネットワークを通じたそれらの結合や処理の連携といった機能が実現されるようになってきた。ネットワークを介して複数の機器を相互に接続してデータ伝送や動作制御を行うためには機器制御プロトコルが必要になるが、各種の仕様の機器制御プロトコルが提案されている。
【０００４】
また、ネットワークを介してオフィス機器や家庭用機器を制御することが可能になり、この結果、これらの機器を適切にリモート制御することで新しい付加価値をつけようとする機器制御アプリケーションが登場してきている。
【０００５】
なお、種類の異なる複数の機器制御プロトコルが併用される場合、機器制御アプリケーションは複数の機器制御プロトコルに個別に対応しなければならず、こうした機器制御アプリケーションの処理と機器制御プロトコルの処理との結合度を低下させることを意図した技術として、例えば特許文献１に開示されるような従来技術がある。この従来技術では、通信プロトコルやロボットの軸構成の違いなど、メーカやバージョンの違いに依存するような違いがあっても、処理命令の単純な置き換えによって共通のアプリケーションソフトウェアを開発できるようにしている。
【特許文献１】特開２００１−３０６４１６公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の機器制御プロトコルにおいて各種の仕様や提案が並立している。すなわち、機器制御プロトコルでは、その制御対象となる機器の種類や期待される連携処理の内容に応じて仕様や規約が規定されるため、ネットワークを通じた連携機能を有する機器の種別が拡大すればするほど、機器制御プロトコルの種類も増大していく可能性がある。一方、図１０に示すように、機器制御アプリケーション１０１と制御対象機器１０２とは機器制御プロトコル１０３によって直接接続される関係にあるため、制御対象の機器の種別が拡大すると、機器制御アプリケーションは、複数の機器制御プロトコルに個別に対応する必要があった。図１０は、機器制御アプリケーションと機器制御プロトコルと制御対象機器との従来の接続関係を示すブロック図である。
【０００７】
本発明はこのような問題点に鑑みてなされたものであって、機器制御プロトコルが異なる機器同士での機器ネットワークの構成を可能にした機器制御装置、機器制御方法、集合情報取得方法、機器検索方法およびプログラムを提供することを目的とする。
【０００８】
また、本発明は、機器制御アプリケーションが複数の機器制御プロトコルに個別に対応しなくてもよいようにした機器制御装置、機器制御方法、集合情報取得方法、機器検索方法およびプログラムを提供することを他の目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の発明によれば、複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置において、機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供手段と、前記仮想プロトコル提供手段によって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行手段と、前記仮想プロトコル実行手段によって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換手段とを有することを特徴とする機器制御装置が提供される。
【００１０】
また、請求項６記載の発明によれば、複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置に適用される機器制御方法において、機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供ステップと、前記仮想プロトコル提供ステップによって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行ステップと、前記仮想プロトコル実行ステップによって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換ステップとを有することを特徴とする機器制御方法が提供される。
【００１１】
また、請求項７記載の発明によれば、ネットワーク上に存在する複数の機器の集合情報の取得方法において、前記複数の機器にそれぞれ対応する複数の異なった種類の機器制御プロトコルを実行する実行ステップと、前記実行ステップによる実行の結果発見された制御対象機器を、前記ネットワーク上に存在する機器の集合情報とする認定ステップとを有することを特徴とする集合情報取得方法が提供される。
【００１２】
また、請求項８記載の発明によれば、複数の機器と、該複数の機器に対応する複数の異なった種類の機器制御プロトコルとを備えたシステムにおいて特定の機器を検索する機器検索方法において、前記複数の機器制御プロトコルを順次、実行して、特定の機器を検索することを特徴とする機器検索方法が提供される。
【００１３】
さらに、上記各方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、機器制御プロトコルと機器制御アプリケーションとを、仮想プロトコルを通じて結合することにより、対応する機器制御プロトコルの種類が異なる機器同士での機器ネットワークを構成することができる。
【００１５】
また、機器制御アプリケーションが種類の異なる複数の機器制御プロトコルに個別に対応しなくてもよいようになる。
【００１６】
また、種類の異なる複数の機器制御プロトコルが混在している環境における処理の順序や内容を制御することで、より適切な機器連携処理を実現することができるようになる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を、図面を参照して説明する。なお以下では、具体的な構成例を示すが、本発明はこの具体的な構成例に限定されるものではない。
【００１８】
図１は、図１０に示す従来技術と対比される本発明の特徴的構成を示すブロック図である。
【００１９】
本発明では、機器制御アプリケーション１０１と機器制御プロトコル１０３Ａ〜１０３Ｃとが、仮想プロトコル１０４を介した間接的な接続関係にある。すなわち、機器制御アプリケーション１０１から送られた機器制御要求が、機器制御に必要とされる機能を一般化した仮想プロトコル１０４を介して仮想プロトコル処理部１０５に送られ、そこから複数の機器制御プロトコル１０３Ａ〜１０３Ｃを介して制御対象機器１０２Ａ〜１０２Ｃに送られる。
【００２０】
図２は、本発明の一実施の形態に係る機器制御装置の基本構成を示すブロック図である。
【００２１】
なお、該機器制御装置は、ＣＰＵ，ＲＯＭ，ＲＡＭ等から構成される情報処理装置であり、以下で説明する機器制御装置の各構成部分２０２〜２０４は、ＲＯＭに記憶された制御プログラムをＣＰＵが実行することによって実現される各機能に相当する。
【００２２】
図中２０１は機器制御アプリケーションであり（図１の機器制御アプリケーション１０１に対応）、機器ネットワーク対応の複数の機器を制御することで、単一の機器では成し得なかった処理を実現するものである。機器制御アプリケーション２０１は、機器制御装置内に複数存在することもあり得る。
【００２３】
２０２〜２０５で示す各部は、図１における仮想プロトコル処理部１０５を構成する。
【００２４】
２０２は仮想プロトコル提供部であり、機器制御アプリケーション２０１に対して仮想プロトコルを提供する。すなわち、仮想プロトコルを通じたアプリケーションプログラミングインタフェースを提供する。
【００２５】
２０３は仮想プロトコル実行部であり、仮想プロトコル提供部２０２によって提供される仮想プロトコル（図１の仮想プロトコル１０４に対応）を用いて機器制御アプリケーション２０１より送られた機器制御要求を受け取って解釈し、制御内容を決定する。
【００２６】
２０４は仮想プロトコル変換部であり、仮想プロトコルでの処理内容を、機器制御に用いられる機器制御プロトコルでの処理内容に変換する。仮想プロトコル変換部２０４は、制御対象の機器の数に応じて複数存在し得、機器制御装置の起動時および稼動中において任意に、追加または削除され得る。
【００２７】
２０５は仮想プロトコル転送部であり、仮想プロトコル実行部２０３において決定された制御内容を仮想プロトコル変換部２０４に転送する。仮想プロトコル変換部２０４が複数存在する場合、仮想プロトコル転送部２０５は、仮想プロトコル実行部２０３において決定された制御内容を、仮想プロトコル変換部２０４のうち対応するものに対して転送する。
【００２８】
仮想プロトコル変換部２０４と制御対象装置（図１の制御対象機器１０２Ａ〜１０２Ｃに対応）との間の通信経路で使用する通信プロトコルには、インターネットプロトコル（ＩＰ）が用いられる。ＩＰのバージョンとしてはＩＰｖ４とＩＰｖ６の双方が使用可能である。また、通信経路として実際に使用され得る媒体は、有線または無線である。なお、仮想プロトコル変換部２０４が対象とする機器制御プロトコルに応じて、さらにＴＣＰ、ＵＤＰ、ＨＴＴＰ、ＳＭＴＰ、ＳＮＭＰ、ＦＴＰなどの通信プロトコルが用いられる場合もある。また、通信セキュリティの確保のために、機器制御プロトコルに応じてＩＰＳｅｃ、ＳＳＬなどが用いられる場合がある。
【００２９】
図３は、図２に示す仮想プロトコル実行部２０３の内部構成を示すブロック図である。
【００３０】
３０１はステータス情報保持部であり、制御対象となる機器の状態を示すステータス情報を保持する。
【００３１】
３０２はプロファイル情報保持部であり、制御対象となる機器の仕様を示すプロファイル情報を保持する。
【００３２】
３０３は集合情報保持部であり、機器ネットワークにおいて操作可能な機器の集合の情報を保持する。
【００３３】
３０４は解析部であり、仮想プロトコルによって表現された処理内容（機器制御アプリケーション２０１より送られた機器制御要求）を解析する。
【００３４】
３０５は判断部であり、解析部３０４が解析して得られた結果を基に実際の制御内容を決定する。
【００３５】
図４は、仮想プロトコルにおけるコマンド構成の一例を示す図である。
【００３６】
仮想プロトコルは、機器制御に必要とされる機能を一般化した手段を提供することを目的としたプロトコルであり、各種プロトコルの機能から機器制御に必要と思われる機能を抽出して再構成したものである。
【００３７】
仮想プロトコルは、機器制御を指令するコマンドの集合で構成されている。各コマンドは、コマンド名、入力パラメータリスト、出力パラメータリスト、処理属性の各情報から構成されている。コマンド名は、仮想プロトコルを構成するもっとも基本的な要素であるコマンドの識別名である。入力パラメータリストは、コマンドを実行するにあたって機器制御アプリケーション側で必要とする情報のリストである。出力パラメータリストは、コマンドの実行後に得られる処理結果の情報のリストである。処理属性は、コマンドを複数の実機器制御プロトコルに展開する際の指針情報である。処理属性に基づくコマンドの展開は、図３に示す判断部３０５において行われる。
【００３８】
例えばＵＰｎＰやＪＸＴＡなどでは、探索などの機能を共通して有するものの、それぞれ異なった名称とパラメータとで処理されており、図４では、これを同一の名称、同一のパラメータで処理するようにラップ（抽象化）している。ただし、例えばＪＸＴＡ  のようなピアツーピアプロトコルには、機器制御には関係ないと思われるメッセージルーティングなどの機能があるので、これらは省いている。仮想プロトコルそのものは「機器と機器のやりとりの仮想的な定義」なので、図４では、機能の「名称」（コマンド名）とそのための「入力」とその結果の「出力」の仕様を定義している。
【００３９】
図４では、仮想プロトコルによって実現される諸機能のうち、特に主要な機能である機器の発見と認識の機能に関連するコマンドが示されている。
【００４０】
図４中、コマンド名「プレイヤーリスト取得」のコマンドは、機器ネットワーク上に存在する使用可能な機器の集合情報を取得するためのコマンドである。この機器の集合情報は、図３に示す集合情報保持部３０３にて保持される。このコマンドの実行結果は、出力パラメータリストにあるように、機器ネットワーク上に存在する使用可能な機器を表す識別符号ＩＤのリストとして取得される。本コマンドの処理属性としては「並列」が付与されており、これによって、複数の異なった種類の実機器制御プロトコルに対応して複数の仮想プロトコル変換部２０４が存在する場合、仮想プロトコル変換部２０４の全てに対して並列に同時に、プレイヤーリストの取得指示が発行される。
【００４１】
図４中、コマンド名「ステータス取得」のコマンドは、指定されたＩＤを基に、該ＩＤに対応する機器の状態を示すステータス情報を取得するためのコマンドである。ステータス情報は、図３に示すステータス情報保持部３０１にて保持されている。入力パラメータリストにて機器のＩＤが指定され、出力パラメータリストに、指定ＩＤの機器のステータス情報が入力される。ここで、本コマンドの処理属性として「単独」が付与されている。これにより、複数の異なった種類の実機器制御プロトコルに対応して複数の仮想プロトコル変換部２０４が存在する場合でも、指定ＩＤの機器に対応する仮想プロトコル変換部２０４に対してのみ、ステータスの取得指示が発行される。
【００４２】
図４中、コマンド名「プロファイル取得」のコマンドは、指定されたＩＤを基に、該ＩＤに対応する機器の仕様を示すプロファイル情報を取得するためのコマンドである。プロファイル情報は、図３に示すプロファイル情報保持部３０２にて保持されている。入力パラメータリストにて機器のＩＤが指定され、出力パラメータリストに、指定ＩＤの機器のプロファイル情報が入力される。ここで、本コマンドの処理属性として「単独」が付与されている。これにより、複数の異なった種類の実機器制御プロトコルに対応して複数の仮想プロトコル変換部２０４が存在する場合でも、指定ＩＤの機器に対応する仮想プロトコル変換部２０４に対してのみ、プロファイルの取得指示が発行される。
【００４３】
図４中、コマンド名「検索」のコマンドは、指定された能力・仕様（プロファイルで記述）または状態（ステータスで記述）を有する機器を検索するためのコマンドである。入力パラメータリストに、ステータス情報、プロファイル情報、そしてどちらの情報を検索に用いるかを示すフラグが入力される。出力パラメータリストに、検索の結果得られた機器のＩＤが１つだけ入力される。ここで、本コマンドの処理属性として「直列」が付与されている。これにより、複数の異なった種類の実機器制御プロトコルに対応して複数の仮想プロトコル変換部２０４が存在する場合、指定された能力・仕様または状態を有する機器が見つかるまで、複数の仮想プロトコル変換部２０４の各々に対して、順次、検索の指示が発行される。
【００４４】
図５は、ステータス情報の構成の一例を示す図である。
【００４５】
ステータス情報は機器の状態を示すために用いられる情報であり、例えば、使用可能フラグおよび使用中フラグから構成される。
【００４６】
使用可能フラグは、対応の機器が使用可能であるか否かを示すフラグである。例えば機器に通電がされているときには使用可能フラグは「ＯＫ」とされ、通電されていないときは「ＮＯ」とされる。
【００４７】
使用中フラグは、対応の機器が現在処理中であるか否かを示すフラグである。例えば機器がプリンタである場合に、印刷実行時には使用中フラグは「ＮＧ」とされ、印刷を実行していないときには「ＯＫ」とされる。
【００４８】
図６は、プロファイル情報の構成の一例を示す図である。
【００４９】
プロファイル情報は、機器の能力等を示す仕様を公開するために用いられる情報であり、例えば、ＩＤ、型名、型番、製造者、アドレス、および所有者から構成される。
【００５０】
ＩＤは、機器の物理的実体を一意に識別するための文字列である。例えば「urn:abc-magnet:12345678」である。
【００５１】
型名は、機器のタイプを示す文字列である。例えば「プリンタ」である。
【００５２】
型番は、機器の型番を示す文字列である。例えば「ABC Printer X123」である。
【００５３】
製造者は、機器の製造元を示す文字列である。例えば「ＡＢＣ株式会社」である。
【００５４】
アドレスは、機器ネットワーク上の機器のアドレスを示すものである。例えばＴＣＰ／ＩＰを用いている場合は「150.61.1.2」である。
【００５５】
所有者は、機器の所有者を示すものである。例えば電子メールアドレスで示す場合は、「User-name@abc.co.jp」である。
【００５６】
図７は、機器制御装置で実行される機器制御処理の主要な手順を示すフローチャートである。
【００５７】
まず、ステップＳ７０１で、仮想プロトコル提供部２０２が提供した仮想プロトコルを用いて、機器制御アプリケーション２０１から送られた処理要求（機器制御要求）を受け付ける。
【００５８】
次に、ステップＳ７０２で、仮想プロトコル実行部２０３が、仮想プロトコルを介して機器制御アプリケーション２０１から送られた処理要求（仮想プロトコルによって表現された処理内容）を解析する。これは、特に仮想プロトコル実行部２０３の中の解析部３０４で実施される。例えば機器制御アプリケーション２０１より仮想プロトコルとして"ステータス取得"コマンドが発行された場合、図４の仮想プロトコルテーブルを参照し、当該コマンドの入力パラメータとしては機器ＩＤが、出力パラメータとしてはステータス情報が必要であるということを決定する。
【００５９】
次に、ステップＳ７０３で、仮想プロトコル実行部２０３が、解析部３０４での解析結果を基に、実際の制御の内容を決定する。これは、特に仮想プロトコル実行部２０３の中の判断部３０５で実施される。すなわち、上記の例では、解析部３０４で判定されたステータス取得コマンドでは"入力は機器ＩＤで、出力はステータス情報である"という解析結果をもとに、集合情報保持部３０３を上記機器ＩＤで検索し、そのＩＤを持つ機器が具体的に用いる機器プロトコルを決定し、その機器プロトコルに沿ったステータス取得処理要求を、対応する仮想プロトコル変換部２０４に発行してもらうということを判断する。
【００６０】
次に、ステップＳ７０４で、判断部３０５によって決定された制御の内容を、実際の機器制御に用いられる機器制御プロトコルの処理内容に変換する。これは、仮想プロトコル転送部２０５を介して制御の内容を送られた、複数の仮想プロトコル変換部２０４のうち対応するものにおいて実施される。
【００６１】
次にステップＳ７０５では、ステップＳ７０３によって決定された制御の内容に基づいて、終了条件を満たしているか否かを判定し、終了条件が満たされていなければステップＳ７０４に進んで、別の機器制御プロトコルを対象に同様の処理を実施する。一方、終了条件が満たされていれば、本機器制御処理を終了する。
【００６２】
なお、上記の終了条件とは、具体的には、図４に示す処理属性の内容（並列、単独、直列）を反映させたものであり、判断部３０５がこれを判定する。
【００６３】
例えば、機器制御プロトコルとしてＵＰｎＰとＪＸＴＡの２つが存在している場合、「現在使用可能な機器を列挙しろ」という指令（プレイヤーリスト取得）が仮想プロトコルで発行された場合は、これをプロトコル変換部２０４が、ＵＰｎＰのデバイスディスカバリに、またＪＸＴＡのピアディスカバリにそれぞれ変換する。この時、「機器を発見する」という行為にプロトコル間の優劣関係はないため、ＵＰｎＰとＪＸＴＡ双方のプロトコルで”同時（並列）”に機器発見コマンドの発行が行われる。
【００６４】
これに対して、「機器を検索しろ」という指令（検索）が仮想プロトコルで発行された場合、該当する機器を発見できればそこで処理を打ち切ってかまわないので、まずＵＰｎＰプロトコルで検索が行われ、もし発見できなかったらＪＸＴＡプロトコルで検索が行われるというように、”逐次（直列）”で処理が行われる。あるいは、機器の情報を取得しろ」という仮想プロトコルからの指令（プロファイル取得）が来た場合、これは当該機器と接続できるプロトコルでのみ発行すればよいため、単独で（当該機器と接続できるプロトコルがＵｐｎＰであれば、ＵＰｎＰのみで）処理を行うことになる（図４の処理属性に基づいて処理する）。
【００６５】
このように、本実施形態では、種類の異なる複数の機器制御プロトコルが混在している環境において、１つの仮想プロトコルから複数の実プロトコルへと処理が変換される際に、その複数の実プロトコルを、並列、直列、又は、単独で実行し、処理の順序や内容を制御することが可能である。
【００６６】
図８は、機器制御アプリケーション２０１のユーザインタフェースの一例を示す図である。
【００６７】
本実施の形態においては、仮想プロトコル変換部２０４として、「プラグ＆プレイ」と「ピア２ピア」と「ディレクトリサーバ」という３種類の異なった機器制御プロトコルに対応したものが用意される。
【００６８】
図８は、機器制御アプリケーション２０１を実行する情報処理装置の画像表示装置に表示された画面を示し、該画面には、本実施の形態における機器ネットワークを構成する各機器の一覧リスト８０１と、プロファイル情報およびステータス情報８０２とが表示される。
【００６９】
一覧リスト８０１は、図４に示す「プレイヤーリスト取得」コマンドの実行により出力パラメータリストに入力された機器ＩＤリストに相当する。プロファイル情報およびステータス情報８０２は、一覧リスト８０１に表示された機器の中で選択された機器（プリンタ１）を基に、図４に示す「プロファイル取得」コマンドおよび「ステータス取得」コマンドを実行した結果、それぞれの出力パラメータリストに入力されたプロファイル情報（図６）およびステータス情報（図５）を使用して表示される。
【００７０】
ユーザは、一覧リスト８０１に表示されている制御可能な機器の一覧から所望の機器を選択指定することで、当該機器が提供するサービスを受けることができる。
【００７１】
図９は、機器制御アプリケーション２０１のユーザインタフェースの他の一例を示す図である。
【００７２】
複数の機器制御プロトコルは互に異なる性質や能力を有しているが、このような各々の機器制御プロトコル固有の特性を生かして機器制御アプリケーションを操作したいと考えるユーザに向けたユーザインタフェースが、図９に示すユーザインタフェースである。図９も、機器制御アプリケーション２０１を実行する情報処理装置の画像表示装置に表示された画面を示し、該画面には、機器の一覧リスト９０１と、プロファイル情報およびステータス情報９０２とが表示される。機器の一覧リスト９０１では、機器ネットワークを構成する各機器が、対応する機器制御プロトコル（プロトコル１，２，３）別に分類されて表示され、図９では、プロトコル１に対応する機器が表示されている。プロファイル情報およびステータス情報９０２には、機器の一覧リスト９０１に表示される「プリンタ１」に関するプロファイル情報およびステータス情報が表示される。
【００７３】
これにより、ユーザは、制御の対象となる機器のプロファイル・ステータス情報に、機器制御プロトコルの識別情報を加えた状態で機器の選択を実施することができる。
【００７４】
以上説明したように、機器制御プロトコルと機器制御アプリケーションとの関係を、仮想プロトコルを通じた疎結合に変化させることにより、対応する機器制御プロトコルの種類が異なる機器同士での機器ネットワークを構成することができる。
【００７５】
また、種類の異なる複数の機器制御プロトコルが混在している環境における処理の順序や内容を制御できるようにすることで、より適切な機器連携処理を実現することができるようになる。
【００７６】
さらには、機器制御アプリケーションが種類の異なる複数の機器制御プロトコルに個別に対応しなくてもよいようになる。
【００７７】
〔他の実施の形態〕
上記実施の形態においては、仮想プロトコル変換部２０４と制御対象装置との間の通信経路で使用する通信プロトコルとして、インターネットプロトコル（ＩＰ）を用いたが、これに代わって、機器間を相互に接続することができるその他の通信プロトコルであってもよい。例えばＩＰＸなどであってもよい。
【００７８】
また、上記実施の形態においては、単一の機器制御装置が複数の制御対象装置を制御する形態を示したが、同一の機器ネットワーク上において複数の機器制御装置と複数の制御対象装置とが存在する形態をとってもよい。
【００７９】
また、上記実施の形態においては、１つの機器制御プロトコルは１つの仮想プロトコル変換部２０４に対応する形態を示したが、複数の機器制御プロトコルを１つの仮想プロトコル変換部２０４に対応させる形態であってもよい。あるいは、複数の仮想プロトコル変換部２０４から１つの機器制御プロトコルの制御を実現する形態であってもよい。
【００８０】
また、本発明は複数の装置（例えばＡＶ装置、家庭用電化製品装置、コンピュータ装置、インタフェース装置など）から構成されるシステムに適用しても、また１つの装置に適用してもよい。
【００８１】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００８２】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【００８３】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【００８５】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００８６】
【図１】図１０に示す従来技術と対比される本発明の特徴的構成を示すブロック図である。
【図２】本発明の一実施の形態に係る機器制御装置の基本構成を示すブロック図である。
【図３】図２に示す仮想プロトコル実行部２０３の内部構成を示すブロック図である。
【図４】仮想プロトコルにおけるコマンド構成の一例を示す図である。
【図５】ステータス情報の構成の一例を示す図である。
【図６】プロファイル情報の構成の一例を示す図である。
【図７】機器制御装置で実行される機器制御処理の主要な手順を示すフローチャートである。
【図８】機器制御アプリケーションのユーザインタフェースの一例を示す図である。
【図９】機器制御アプリケーションのユーザインタフェースの他の一例を示す図である。
【図１０】機器制御アプリケーションと機器制御プロトコルと制御対象機器との従来の接続関係を示すブロック図である。
【符号の説明】
【００８７】
１０５  仮想プロトコル処理部
２０１  機器制御アプリケーション
２０２  仮想プロトコル提供部
２０３  仮想プロトコル実行部
２０４  仮想プロトコル変換部
２０５  仮想プロトコル転送部
【図１】
2005085238.tif 000003
【図２】
2005085238.tif 000004
【図３】
2005085238.tif 000005
【図４】
2005085238.tif 000006
【図５】
2005085238.tif 000007
【図６】
2005085238.tif 000008
【図７】
2005085238.tif 000009
【図８】
2005085238.tif 000010
【図９】
2005085238.tif 000011
【図１０】
2005085238.tif 000012
【手続補正書】
【提出日】平成16年8月17日(2004.8.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク上に存在する複数の機器の集合情報の取得方法において、
前記複数の機器にそれぞれ対応する複数の異なった種類の機器制御プロトコルを実行する実行ステップと、
前記実行ステップによる実行の結果発見された制御対象機器を、前記ネットワーク上に存在する機器の集合情報とする認定ステップと
を有することを特徴とする集合情報取得方法。
【請求項２】
複数の機器と、該複数の機器に対応する複数の異なった種類の機器制御プロトコルとを備えたシステムにおいて特定の機器を検索する機器検索方法において、
前記複数の機器制御プロトコルを順次、実行して、特定の機器を検索することを特徴とする機器検索方法。
【請求項３】
ネットワーク上に存在する複数の機器の集合情報の取得方法を、コンピュータに実行させるためのプログラムにおいて、
前記複数の機器にそれぞれ対応する複数の異なった種類の機器制御プロトコルを実行する実行ステップと、
前記実行ステップによる実行の結果発見された制御対象機器を、前記ネットワーク上に存在する機器の集合情報とする認定ステップと
を有することを特徴とするプログラム。
【請求項４】
複数の機器と、該複数の機器に対応する複数の異なった種類の機器制御プロトコルとを備えたシステムにおいて特定の機器を検索する機器検索方法を、コンピュータに実行させるためのプログラムにおいて、
前記複数の機器制御プロトコルを順次、実行して、特定の機器を検索するステップを有することを特徴とするプログラム。
【請求項５】
複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置において、
機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供手段と、
前記仮想プロトコル提供手段によって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行手段と、
前記仮想プロトコル実行手段によって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換手段と
を有することを特徴とする機器制御装置。
【請求項６】
前記仮想プロトコル実行手段は、
前記仮想プロトコルを介して送られた機器制御要求を解析するための解析手段と、
前記解析手段によって得られた解析結果を基に実際の制御内容を決定する判断手段と
を含むことを特徴とする請求項５に記載の機器制御装置。
【請求項７】
前記仮想プロトコル変換手段は、前記複数の機器制御プロトコルに対応して複数設けられ、
前記判断手段は、前記解析手段によって得られた解析結果を基に、指定された機器に対応する仮想プロトコル変換手段に対して実行されることを特徴とする請求項６に記載の機器制御装置。
【請求項８】
前記仮想プロトコル変換手段は、前記複数の機器制御プロトコルに対応して複数設けられ、
前記判断手段は、前記解析手段によって得られた解析結果を基に、前記複数の仮想プロトコル変換手段のすべてに対して並列的に同時に実行されることを特徴とする請求項６に記載の機器制御装置。
【請求項９】
前記仮想プロトコル変換手段は、前記複数の機器制御プロトコルに対応して複数設けられ、
前記判断手段は、前記解析手段によって得られた解析結果を基に、前記複数の仮想プロトコル変換手段のすべてに対して直列的に逐次に実行されることを特徴とする請求項６に記載の機器制御装置。
【請求項１０】
複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置に適用される機器制御方法において、
機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供ステップと、
前記仮想プロトコル提供ステップによって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行ステップと、
前記仮想プロトコル実行ステップによって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換ステップと
を有することを特徴とする機器制御方法。
【請求項１１】
複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置に適用される機器制御方法を、コンピュータに実行させるためのプログラムにおいて、
機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供ステップと、
前記仮想プロトコル提供ステップによって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行ステップと、
前記仮想プロトコル実行ステップによって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換ステップと
を有することを特徴とするプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、集合情報取得方法、機器検索方法、機器制御装置、機器制御方法、およびプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明はこのような問題点に鑑みてなされたものであって、機器制御プロトコルが異なる機器同士での機器ネットワークの構成を可能にした集合情報取得方法、機器検索方法、機器制御装置、機器制御方法、およびプログラムを提供することを目的とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また、本発明は、機器制御アプリケーションが複数の機器制御プロトコルに個別に対応しなくてもよいようにした集合情報取得方法、機器検索方法、機器制御装置、機器制御方法、およびプログラムを提供することを他の目的とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上記目的を達成するために、請求項１記載の発明によれば、ネットワーク上に存在する複数の機器の集合情報の取得方法において、前記複数の機器にそれぞれ対応する複数の異なった種類の機器制御プロトコルを実行する実行ステップと、前記実行ステップによる実行の結果発見された制御対象機器を、前記ネットワーク上に存在する機器の集合情報とする認定ステップとを有することを特徴とする集合情報取得方法が提供される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、請求項２記載の発明によれば、複数の機器と、該複数の機器に対応する複数の異なった種類の機器制御プロトコルとを備えたシステムにおいて特定の機器を検索する機器検索方法において、前記複数の機器制御プロトコルを順次、実行して、特定の機器を検索することを特徴とする機器検索方法が提供される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、請求項５記載の発明によれば、複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置において、機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供手段と、前記仮想プロトコル提供手段によって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行手段と、前記仮想プロトコル実行手段によって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換手段とを有することを特徴とする機器制御装置が提供される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、請求項１０記載の発明によれば、複数の機器にそれぞれ対応する複数の機器制御プロトコルを介して前記複数の機器を制御する機器制御装置に適用される機器制御方法において、機器制御に必要とされる機能を一般化した仮想プロトコルを提供する仮想プロトコル提供ステップと、前記仮想プロトコル提供ステップによって提供された仮想プロトコルを介して送られた機器制御要求を解釈する仮想プロトコル実行ステップと、前記仮想プロトコル実行ステップによって解釈された機器制御要求の処理内容を前記複数の機器制御プロトコルのうち対応の機器制御プロトコルの処理内容に変換する仮想プロトコル変換ステップとを有することを特徴とする機器制御方法が提供される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
これに対して、「機器を検索しろ」という指令（検索）が仮想プロトコルで発行された場合、該当する機器を発見できればそこで処理を打ち切ってかまわないので、まずＵＰｎＰプロトコルで検索が行われ、もし発見できなかったらＪＸＴＡプロトコルで検索が行われるというように、”逐次（直列）”で処理が行われる。あるいは、「機器の情報を取得しろ」という仮想プロトコルからの指令（プロファイル取得）が来た場合、これは当該機器と接続できるプロトコルでのみ発行すればよいため、単独で（当該機器と接続できるプロトコルがＵｐｎＰであれば、ＵＰｎＰのみで）処理を行うことになる（図４の処理属性に基づいて処理する）。