(57)【要約】【課題】  ユーザが専門知識や機器構成の検討の必要性などの負担なく、ネットワーク上の複数の機能を大規模かつ複雑に組み合わせて仮想機器を構成する。【解決手段】  機能モジュールの要件、モジュール間の接続関係、および、ネットワーク上で公開する定義からなる部分を持つ構成設計書を定義し、メモリ、通信部、設計書入力部、および管理部を持つ仮想機器管理用の機器構成管理ユニットにおいて、構成設計書をメモリ上に展開するテーブルを用いてネットワーク上の機能モジュールを接続することで階層的な仮想機器を構成する。また、ユーザからの操作を構成する機能モジュールに分割することで操作の翻訳を行う。【選択図】図１
2006018719.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続し得る他の機器が持つ機能モジュールを組み合わせることで仮想機器として動作させるシステムを構築する機器構成管理ユニットであって、
前記他の機器が持つ機能モジュールを組み合わせるために記述される構成設計書を解析し前記メモリ内に構成設定テーブルとして展開する機能と、該構成設定テーブルに従って前記他の機器と行う通信情報を生成し仮想的な機器として動作するシステムを構築する機能、とを備えた機器構成管理ユニット。
【請求項２】
請求項１の機器構成管理ユニットにおいて、
前記構成設計書は、
前記ネットワークに接続し得る他の機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義情報の記述と、
該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件が必要個数列挙されたモジュール要件情報の記述と、
該機能モジュールがそれぞれ持つデータ入力端子およびデータ出力端子に関する接続関係を示すモジュール接続関係情報の記述とを含む、
ことを特徴とする機器構成管理ユニット。
【請求項３】
請求項１の機器構成管理ユニットにおいて、
前記構成設計書は、
構成する前記仮想機器が持つ前記仮想機能を操作するために公開する入力アクションの名称および該入力アクションに関する０個以上の引数の名称および属性からなる入力アクション情報の記述と、
該入力アクション情報に対応させ該仮想機器を構成するネットワーク上の機器が持つ各該機能モジュールに対応させ通信することで機能を制御するための出力アクションの名称および該出力アクションに関する０個以上の引数の名称および属性からなる出力アクション情報、あるいは、
前記管理機器内部で行う操作である内部アクションの名称と該内部アクションに関する０個以上の引数の名称および属性からなる内部アクション情報、
のうち１個以上をその動作順に列挙したアクション翻訳リストの記述を含む、ことを特徴とする機器構成管理ユニット。
【請求項４】
請求項１ないし３のいずれかにおいて、前記機器構成管理ユニットが、前記構成設計書を含むリムーバブル・メディアを読み取るためのリムーバブル・メディア読み取りドライブを備えていることを特徴とする機器構成管理ユニット。
【請求項５】
機器構成管理ユニットにネットワークを介して接続された他の機器が持つ機能モジュールを組み合わせることにより、仮想機器として動作させるシステムを構築するネットワーク機器構築装置であって、
前記機器構成管理ユニットは、メモリ、および管理部を備えており、
前記機能モジュールの要件、前記各モジュール間の接続関係、および前記ネットワーク上で公開する定義からなる部分を持つ構成設計書を定義し、該構成設計書を前記メモリ上に展開するテーブルを用いて、前記ネットワーク上の前記機能モジュールを接続することにより階層的な仮想機器を構成することを特徴とするネットワーク機器構築装置。
【請求項６】
請求項５において、前記構成設計書は、モジュール要件セクション、モジュール接続関係セクション、公開定義セクション、および、アクション翻訳セクションで構成され、
前記モジュール要件セクションは、仮想機器として構成するために必要な機能モジュールに関して、その条件を列挙し、
前記モジュール接続関係セクションは前記モジュール要件セクションで列挙した必要機能モジュールが、それぞれどのように接続されているか、それぞれの機能の入力および出力の接続の対を列挙し、
前記公開定義セクションは、構成する仮想機器を外部に対して公開する内容を定義し、
前記アクション翻訳セクションは外部から届いたアクションを前記管理部が管理している各機能に対して翻訳し伝達するための、前述の必要機能とアクションの対と関連パラメータ、および、管理部自体内部での動作と関連パラメータを、その動作順に列挙している、ことを特徴とするネットワーク機器構築装置。
【請求項７】
請求項５または６において、前記他の機器が家庭用の電子機器であり、前記機器構成管理ユニットを前記電子機器とネットワーク接続し、映像や音響のコンテンツを対象とした仮想機器を構成する、ことを特徴とするネットワーク機器構築装置。
【請求項８】
コンピュータを備えた機器構成管理ユニットにおいて、ネットワークに接続されている他の機器が持つ機能モジュールを組み合わせることで仮想機器を構築するためのコンピュータ・プログラムであって、
前記コンピュータ・プログラムは、コンピュータに
前記他の機器が持つ機能モジュールを組み合わせるために記述された構成設計書を解析してメモリ内に構成設定テーブルとして展開する機能と、
該構成設定テーブルに従って前記他の機器と行う通信情報を生成し仮想的な機器として動作するシステムを構築する機能、とを実現させる、
ことを特徴とするコンピュータ・プログラム。
【請求項９】
コンピュータを備えた機器構成管理ユニットにおいて、ネットワークに接続されている他の機器が持つ機能モジュールを組み合わせることで与えられた構成設計書に対応したシステムを構築するためのコンピュータ・プログラムであって、
前記構成設計書は、
前記ネットワーク上の他の機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義情報の記述と、
該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件が必要個数列挙されたモジュール要件情報の記述と、
該機能モジュールがそれぞれ持つデータ入力端子およびデータ出力端子に関する接続関係を示すモジュール接続関係情報の記述とを含み、
前記コンピュータ・プログラムは、コンピュータに
入力された前記構成設計書を解析し、メモリ内に構成設定テーブルとして展開する機能と、
前記構成設定テーブルに従って該ネットワークに接続されている前記他の機器と行う通信情報を生成することで仮想的な機器として動作するシステムを構築する機能とを実現させる、
ことを特徴とするコンピュータ・プログラム。
【請求項１０】
コンピュータを備えた機器構成管理ユニットにおいて、ネットワークに接続されている他の機器が持つ機能モジュールを選択的に組み合わせることで与えられた構成設計書に対応したシステムを構築するためのコンピュータ・プログラムであって、
前記構成設計書は、
構成する前記仮想機器が持つ前記仮想機能を操作するために公開する入力アクションの名称および該入力アクションに関する０個以上の引数の名称および属性からなる入力アクション情報の記述と、
該入力アクション情報に対応させた、出力アクション情報または内部アクション情報の少なくとも一方のアクション情報をその動作順に列挙したアクション翻訳リストの記述を含み、
前記出力アクション情報は、該仮想機器を構成する該ネットワーク上の機器が持つ各該機能モジュールに対応させ通信することで機能を制御するための出力アクションの名称および該出力アクションに関する０個以上の引数の名称および属性を含む情報であり、
前記内部アクション情報は、前記機器構成管理ユニット内部で行う操作である内部アクションの名称と該内部アクションに関する０個以上の引数の名称および属性を含む情報であり、
前記コンピュータ・プログラムは、コンピュータに
入力された前記構成設計書を解析し、メモリ内に構成設定テーブルとして展開する機能と、
前記構成設定テーブルに従って該ネットワークに接続されている前記他の機器と行う通信情報を生成することで仮想的な機器として動作するシステムを構築する機能とを実現させる、
ことを特徴とするコンピュータ・プログラム。
【請求項１１】
請求項８ないし１０のいずれかにおいて、前記構成設計書は、その記述言語としてXMLを用いることを特徴とするコンピュータ・プログラム。
【請求項１２】
請求項８ないし１０のいずれかにおいて、前記構成設計書は、その記述言語としてコンピュータのプログラム作成用言語あるいはコンピュータの動作定義用記述言語であることを特徴とするコンピュータ・プログラム。
【請求項１３】
コンピュータを備えた機器構成管理ユニットにおいて、ネットワークに接続されている他の機器が持つ機能モジュールを組み合わせて与えられた構成設計書に対応した仮想機器を構築するためのコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記構成設計書は、
前記ネットワーク上の他の機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義情報の記述と、
該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件が必要個数列挙されたモジュール要件情報の記述と、
該機能モジュールがそれぞれ持つデータ入力端子およびデータ出力端子に関する接続関係を示すモジュール接続関係情報の記述とを含み、
前記コンピュータ・プログラムは、コンピュータに、
入力された前記構成設計書を解析し、前記メモリ内に構成設定テーブルとして展開する機能と、
前記構成設定テーブルに従って該ネットワークに接続されている前記他の機器と行う通信情報を生成することで仮想的な機器として動作するシステムを構築する機能とを実現させる、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１４】
機器構成管理ユニットにより、ネットワークに接続された他の機器が持つ機能モジュールを組み合わせることで仮想機器として動作させるシステムを構築する機器構成管理方法であって、
前記機器構成管理ユニットは、メモリと、管理部及び通信部を備えており、
前記他の機器が持つ機能モジュールを組み合わせるために記述される構成設計書を解析して前記メモリ内に構成設定テーブルとして展開し、該構成設定テーブルに従って前記他の機器と行う通信情報を生成することで仮想的な機器として動作するシステムを構築する、ことを特徴とする機器構成管理方法。
【請求項１５】
機器構成管理ユニットにより、ネットワークに接続されている他の機器が持つ機能モジュールを選択的に組み合わせることにより与えられた構成設計書に対応した仮想機器のシステムを構築する機器構成管理方法であって、
前記機器構成管理ユニットは、メモリと、管理部及び通信部を備えており、
前記構成設計書は、
前記ネットワーク上の他の機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義情報の記述と、
該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件が必要個数列挙されたモジュール要件情報の記述と、
該機能モジュールがそれぞれ持つデータ入力端子およびデータ出力端子に関する接続関係を示すモジュール接続関係情報の記述とを含み、
前記構成設計書を解析し前記メモリ内に構成設定テーブルとして展開し、
前記構成設定テーブルに従って該ネットワークに接続されている前記他の機器と行う通信情報を生成することで仮想的な機器として動作する仮想機器を構築する、ことを特徴とする機器構成管理方法。
【請求項１６】
機器構成管理ユニットにおいて、他の機器とネットワークを用いて通信し、該ネットワークに接続されている前記他の機器が持つ機能モジュールを選択して組み合わせることで仮想機器として動作させる仮想機器を構築する機器構成管理方法であって、
前記機器構成管理ユニットは、入力部と、メモリと、管理部及び通信部を備えており、
入力された前記構成設計書を解析し、前記ネットワーク上の他機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義テーブル、および、該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件であるモジュール属性要件が必要個数列挙されたモジュール要件テーブルとして前記メモリ上に展開し、
該モジュール要件テーブルの各項の要件にそれぞれ適合する機能モジュールを持つ機器のネットワーク上の位置および該機器内部の位置を示すためのアドレステーブルを用意し、
前記管理部は、前記通信部を経由してネットワーク上の各機器と通信を行い該各機器内部の各機能モジュールの属性を取得し、該属性と該モジュール要件テーブルが持つ各該モジュール属性要件とを比較し、
各該モジュール属性要件を満足する該機能モジュールを持つ機器のネットワークアドレスおよび機器内の該機能モジュールの位置を特定するアドレスを対応する該アドレステーブルに記録し、
該アドレステーブルがすべての各該モジュール属性要件に対応して記録された場合、前記管理部は該公開定義テーブルに基づき所定の形式により前記通信部よりネットワークの他の機器に対して通知する、ことを特徴とする機器構成管理方法。
【請求項１７】
機器構成管理ユニットにおいて、他の機器とネットワークを用いて通信し、該ネットワークに接続されている前記他の機器が持つ機能モジュールを選択して組み合わせることで仮想機器として動作させる仮想機器を構築する機器構成管理方法であって、
前記機器構成管理ユニットは、入力部と、メモリと、管理部及び通信部を備えており、
前記設計書入力部において前記構成設計書を入力し解析することで、前記ネットワーク上の他機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義テーブルと、該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件であるモジュール属性要件が必要個数列挙されたモジュール要件テーブルと、該機能モジュールがそれぞれ持つデータ入力端子およびデータ出力端子に関する接続関係を示すモジュール接続関係テーブルとを、前記メモリ上に展開し、
該モジュール要件テーブルの各項の要件にそれぞれ適合する機能モジュールを持つ機器のネットワーク上の位置および該機器内部の位置を示すアドレステーブルを用意し、
前記管理部は、前記通信部を経由して該ネットワーク上の各機器と通信を行い該各機器内部の各機能モジュールの属性を取得し、該属性と該モジュール要件テーブルが持つ各該モジュール属性要件とを比較し、
各該モジュール属性要件を満足する該機能モジュールを持つ機器のネットワークアドレスおよび機器内の該機能モジュールの位置を特定するアドレスを対応する該アドレステーブルに記録し、
該アドレステーブルがすべての各該モジュール属性要件に対応して記録され、かつ、前記通信部より該ネットワーク上の他の機器からの接続要求があった場合、該モジュール接続関係テーブルが示す機能モジュールが接続されるよう該通信部を経由して該アドレステーブルの各項のアドレスに向けて該ネットワーク上に接続要求を出力することを特徴とする機器構成管理方法。
【請求項１８】
機器構成管理ユニットにおいて、他の機器とネットワークを用いて通信し、該ネットワークに接続されている前記他の機器が持つ機能モジュールを選択的に組み合わせることにより与えられた構成設計書に対応した仮想機器を構築する機器構成管理方法であって、
前記機器構成管理ユニットは、入力部と、メモリと、管理部及び通信部を備えており、
前記構成設計書は、
構成する前記仮想機器が持つ前記仮想機能を操作するために公開する入力アクションの名称および該入力アクションに関する０個以上の引数の名称および属性からなる入力アクション情報の記述と、
該入力アクション情報に対応させた、出力アクション情報または内部アクション情報の少なくとも一方のアクション情報をその動作順に列挙したアクション翻訳リストの記述を含み、
前記出力アクション情報は、該仮想機器を構成する該ネットワーク上の機器が持つ各該機能モジュールに対応させ通信することで機能を制御するための出力アクションの名称および該出力アクションに関する０個以上の引数の名称および属性を含む情報であり、
前記内部アクション情報は、前記機器構成管理ユニット内部で行う操作である内部アクションの名称と該内部アクションに関する０個以上の引数の名称および属性を含む情報である、ことを特徴とする機器構成管理方法。
【請求項１９】
機器構成管理ユニットにおいて、他の機器とネットワークを用いて通信し、該ネットワークに接続されている前記他の機器が持つ機能モジュールを選択して組み合わせることで仮想機器として動作させるシステムを構築する機器構成管理ユニットにおいて動作する機器構成管理方法であって、
前記機器構成管理ユニットは、入力部と、メモリと、管理部及び通信部を備えており、
前記設計書入力部において前記構成設計書を入力し解析することにより、
ネットワーク上の他機器に対して公開するための該仮想機器の属性および該仮想機器が実現する機能である仮想機能の属性を説明する公開定義テーブルと、
該仮想機器を実現するために必要な部品となる機能モジュールの属性に関する要件であるモジュール属性要件が必要個数列挙されたモジュール要件テーブルと、
構成する前記仮想機器の前記仮想機能を操作するために公開する入力アクションの名称および該入力アクションに関する０個以上の引数の名称および属性からなる入力アクション情報と、
該入力アクション情報に対応させて、該仮想機器を構成する該ネットワーク上の機器が持つ各該機能モジュールに対応させ通信することで機能を制御するための出力アクションの名称および該出力アクションに関する０個以上の引数の名称および属性からなる出力アクション情報、あるいは、前記機器構成管理ユニット内部で行う操作である内部アクションの名称と該内部アクションに関する０個以上の引数の名称および属性からなる内部アクション情報の、少なくともいずれか一方のアクション情報をその動作順に列挙したアクション翻訳リストテーブルとして前記メモリ上に展開し、
該モジュール要件テーブルの各項の要件にそれぞれ適合する機能モジュールを持つ機器のネットワーク上の位置および該機器内部の位置を示すためのアドレステーブルを用意し、
前記管理部は前記通信部を経由してネットワーク上の各機器と通信を行い該各機器内部の各機能モジュールの属性を取得し、該属性と該モジュール要件テーブルが持つ各該モジュール属性要件とを比較し、
各該モジュール属性要件を満足する該機能モジュールを持つ機器のネットワークアドレスおよび機器内の該機能モジュールの位置を特定するアドレスを対応する該アドレステーブルに記録し、該アドレステーブルがすべての各該モジュール属性要件に対応して記録され、かつ、
前記通信部より該ネットワーク上の他の機器からの該アクション翻訳リストテーブルの該入力アクションが指定された実引数を伴って要求された場合、
該アクション翻訳テーブルの順に従って該出力アクションを対応する該ネットワーク上の該機器が持つ該機能モジュールのアドレスを該アドレステーブルから取得し出力、
あるいは、該内部アクションを実行することを特徴とする機器構成管理方法。
【請求項２０】
請求項１４ないし１９のいずれかに記載の機器構成管理方法において、
前記構成設計書入力部は前記通信部を経由して前記ネットワークを通じて前記構成設計書を入手することを特徴とする機器構成管理方法。
【請求項２１】
請求項１４ないし１９のいずれかに記載の機器構成管理方法において、
前記構成設計書を含むリムーバブル・メディアを読み取りドライブ経由で入手することを特徴とする機器構成管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを利用することで電子機器間の接続を実現するシステムにおいて、複数の電子機器が持つ複数の機能を論理的に組み合わせて接続し、物理的接続とは異なる新しい電子機器を仮想的に構成するシステムを提供するためのネットワーク機器構築装置および機器構成管理ユニットと、その機器構成管理方法ならびにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
コンピュータはもちろん、プリンタや音響機器・映像機器等の周辺機器をネットワークに接続し、コンピュータから各機器を制御したり、またはその逆にコンピュータ内の映像や音楽を操作する仕組みが登場している。例えば、ユニバーサル・プラグ・アンド・プレイ(UPnP)やホーム・オーディオ・ビデオ・インターオペラビリティ(HAVi)等といった、機器間で用いられる通信プロトコルや機器や機能が持つべき命令などのフレームワークが検討され実現されてきている。
【０００３】
上述のフレームワークでは、ひとつの機器の中に複数のハードウェアあるいはソフトウェアによるデバイスや機能が存在し、それぞれが独立して操作されることが可能であると想定されている。それぞれのデバイスや機能は機器が持つサービスとして、他の機器から操作されることができる。また、それぞれの機器が持つ、機器自体の属性情報や、機器が持つデバイス／サービスの属性情報をネットワーク上の他機器に対して伝達することが可能である。その仕組みにより、機器がネットワークに接続された場合にそれぞれの機器が持つ機能やサービスをネットワーク内で検索する等の、機器間のネゴシエーションを行うことができる。これらにより、ある機器がネットワークに接続されると、他の機器からその機器の機能が利用可能な状態になる、いわゆるプラグ・アンド・プレイが可能であると言われている。
【０００４】
このように、ネットワークのそれぞれの機器は、ネットワークに接続されているその機器自体や他の機器、および、機器を構成する個々のデバイスや機能サービスを検索し、ユーザに対して提示することができる。ユーザはこの提示により複数のネットワーク上の機器に対して機器間の接続動作を指示し、それぞれの間を音響や映像を始めとするデータが流通する接続を確立させることができる。この接続関係を複数作ることで、物理的な形態をなす機器だけではなく、論理的・仮想的な機器を実現可能である。
【０００５】
仮想機器を実現する第１の手法として、機器を構成する複数の機能モジュールの中から選択した複数のモジュールを、ユーザからの接続コマンドにより接続することを可能とする技術がある（特許文献１参照）。そして、モジュール間でのデータ交換を確立し、物理的に構成された機器のみならず、仮想的な機器を構成することが可能となる。
【０００６】
ユーザの負担を小さくする仮想機器を実現する第２の手法として、特定の機器が持つ機能を基軸に他の機器の一部を流用して仮想機器を構成する技術がある（特許文献２参照）。具体的には、外部機器に特定機能が存在すれば連携して実現可能な仮想機器を機器内に定義し、もし、必要機能がネットワーク上に接続された場合にその機能の情報を更新して実現可能な仮想機器をユーザへ提示することを可能とする。さらに、ユーザに対し仮想機器の実現のために不足する機能の提示を行うことを可能とする。
【０００７】
ここで、上述のフレームワークとしてUPnPを採用した仮想機器の構成例を、図２０〜図２２で説明する。
【０００８】
図２０は、UPnPによる仮想機器の構成例である。UPnPでは、機器を操作する側の機器であるコントロール・ポイント（以下CPと呼ぶ：141)と、被操作側の機器、すなわち、機能を提供（サービス）するサーバ機器からなる構成として説明される。図２０の例では、CP(141)を中心に、２つのサーバ、すなわち、メディア・サーバ(2001)とメディア・レンダラ(2005)がネットワーク(2003)上に入出力(2002、2004)を介して利用可能な状態で接続されている。メディア・サーバ(2001)は記憶装置(202)にある映像や音楽コンテンツをネットワーク(2003)を介して配信するサービスを行う。また、メディア・レンダラ(2005)は配信されるコンテンツをモニタ(2006)上に表示する、例えばＴＶ表示画面のようなサービスを行う。図２０ではネットワーク上に存在するこれらサービスにより、ある機器に存在する配信サーバと、異なる機器に存在する表示サーバとを接続し(2007)、(2008)、コンテンツの視聴を目的としてユーザ(140)は、CP(141)を通じてこれらのサーバ(2001)、(2005)を制御する。
【０００９】
図２１は、図２０のユーザ(140)、CP(141)、サーバ(2001)、(2005)間における、UPnPの接続プロトコルの説明図である。UPnPは、別に規定された通信プロトコルを用いながら、以下のようなステップを行い動作する。なお、あらかじめ各電子機器(2001)、(2005)へのIPアドレス付与は完了していることとする。まず、ネットワーク上の相手機器の探索を行う。CP(141)は、特定機器がネットワーク上にあるかどうかを知るために、機能通知要求を同報通信する(2111)。各機器(2001)、(2005)はその回答として機能の概要情報を機能通知として送付する(2121)。ここでは、機器自体のデバイス(root device)およびそれが行うサービスと、機器が持つ機能モジュールとしてのデバイスとそのサービスに関して概要情報（デバイス・タイプ、識別子、詳細情報へのポインタ情報）を伝達する。次に、これら概要情報を基に、CP(141)はユーザ(140)に対してネットワーク上にどのような機器、デバイス、サービスといった機能が存在するかの概要を提示する(2112)。ユーザ(140)はこの提示された機能の中から、任意に１つ選択する(2101)。この選択を受けて、CP(141)は関連する一つの機器(2001)または(2005)に対して機能の詳細を要求する(2113)。これを受けて機器は機能詳細、例えばサービスが持つ動作を行わせる命令であるアクションおよびその引数や、関連する変数の内容をCPに通知する(2122)。CP(141)はユーザ(140)が他の機能を選択した場合にも同様のステップを行い機能詳細情報を受け取る。これらにより、ユーザが所望するサービスを提供可能なサーバの情報取得が完了する。
【００１０】
図２０の例では、特にコンテンツ配信と配信コンテンツの表示を目的としている。UPnPでは前述の２つのサーバ(2001)、(2005)間を別に定義される転送プロトコルを用いて接続するコネクション・マネージャ・サービスおよびAVトランスポート・サービスによりコンテンツの配信を実行する。つまり、CP(141)は、図２１の接続要求(2114)を受け、メディア・サーバ(2001)とメディア・レンダラ(2005)間をそれぞれが持つコネクション・マネージャと呼ばれるサービスを用いてデータ・フォーマット等を整合させて、AVトランスポート・サービスの機能を用いて接続する(2123)。この結果はCP(141)に通知され(2124)、ユーザ(140)に対して表示を行う(2115)ことで確認可能である(2102)。なお、この例でのCP(141)は、ユーザ(140)の提示という目的から、メディア・レンダラ(2005)サービスを持つ機器内に同時に存在する場合が多い。すなわち、機器としては既にメディア・レンダラおよびCPを同時に持っており、メディア・サーバがネットワーク上に存在する場合には、ユーザがそれを指定することで即時にコンテンツの視聴が可能となる。これはＴＶを見ているユーザが画面上のアイコンを指定することで、ビデオ装置のコンテンツをＴＶで視聴することにほぼ等しい。
【００１１】
図２２は、UPnPでのサービスを操作するアクションのフローである。前述のように接続された機器(2001)または(2005)に対して、ユーザ(140)が行う操作の内容を送り、実際にサービスを享受する。CP(141)は接続時に取得したサービスの詳細をユーザに対して提示する(2211)。この詳細の中にはサービスを行うための操作であるアクション情報も存在する。ユーザへの提示はこれらアクションに対応するアイコン等の表示を行い、ユーザはそれを任意に指定することでCPに対してアクション指令を行う(2201)。CPはアクション指令を該当する機能に対して送付する(2212)。アクション指令を受けた機器は該当するアクションを実行し(2221)、その結果をCPに通知し(2222)、CPはその結果をユーザに表示する(2213)ことで確認する(2202〜2203)。このアクションは、例えば前述のようにＴＶ画面上のアイコンを指定することでビデオの再生を行うことに対応する。この場合の再生のためのアクション実行とは、メディア・サーバ(2001)およびメディア・レンダラ(2005)に対する、AVトランスポート・サービスの再生アクションを実行することである。これらのように、検索、情報交換、接続、アクションの手順で、UPnPは動作する。
【００１２】
【特許文献１】特開平11-355746号公報
【特許文献２】特開2002-73436号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
特許文献１に記載の手法では、ユーザがすべての機器や、その内部にある仕様、および、入出力されるデータのフォーマット等のすべてを把握して、実現すべき仮想機器の機能を実現するための接続関係を想像し、接続動作を行うよう各機器に接続コマンドを発行しなければならない。従って、ユーザが任意の仮想機器を実現するためにはネットワークやプロトコル、個々の機能に関する専門知識を必要とするなど負担が大きく、機器の普及のためには使い勝手の改良が必要であるという問題があった。
【００１４】
一方、特許文献２に記載の手法では、特定機器の機能拡張として外部機器の機能を利用する、1対Ｎの星型接続による仮想機器構成のみが開示されている。従って、多くの機器、多くの機能がネットワーク上に存在し、構成された仮想機器が別の機器の機能、あるいは、別の仮想機器の機能を用いて新たな仮想機器を構成するといった階層構成とするなど、複雑化した仮想機器を柔軟に構成することは実現できないという問題があった。
【００１５】
本発明は、ユーザに対するネットワークやプロトコル、個々の機能に関する専門知識や機器構成の検討の必要性などの負担を少なくしつつ、ネットワーク上の多くの機器内の多くの機能を、より柔軟に大規模かつ複雑に組み合わせて仮想機器を構成するための階層化可能な、ネットワーク機器構築装置および機器構成管理ユニットおよび機器構成管理方法ならびにそこで用いるコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の課題を解決するために、本発明の１つ特徴によれば、ネットワークに接続し得る他の機器が持つ機能モジュールを組み合わせることで仮想機器として動作させるシステムを構築する機器構成管理ユニットであって、前記他の機器が持つ機能モジュールを組み合わせるために記述される構成設計書を解析し前記メモリ内に構成設定テーブルとして展開する機能と、該構成設定テーブルに従って前記他の機器と行う通信情報を生成し仮想的な機器として動作するシステムを構築する機能、とを備えている。
【発明の効果】
【００１７】
本発明により、ユーザに対するネットワークやプロトコル、個々の機能に関する専門知識や機器構成の検討の必要性などの負担を少なくしつつ、ネットワーク上の多くの機器内の多くの機能を、より柔軟に大規模かつ複雑に組み合わせて仮想機器を構成するための階層化可能な、ネットワーク機器構築装置および機器構成管理ユニットおよび機器構成管理方法ならびにそこで用いるコンピュータ・プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明が上記の内容を踏襲しつつ、複数の電子機器が持つ複数の機能を論理的に組み合わせて仮想機器を構成する階層化可能な、ネットワーク機器構築装置および機器構成管理ユニットおよび機器構成管理方法ならびにそこで用いるコンピュータ・プログラムについて、実施例を挙げて説明する。
【実施例１】
【００１９】
図1は、本発明の実施例１におけるネットワーク機器構築装置の構成および接続図である。ここでは、ネットワークまたはバス(150)に、機器構成管理ユニット(101)、および他の電子機器Ａ、Ｂ、Ｃ、−−、ｎが接続されているとする。以下、ネットワークまたはバス(150)を、単にネットワークと呼ぶ。機器構成管理ユニット(101)は内部に構成設計書(102)のテーブル群、設計書入力部(103)、メモリ(104)、管理部(105)、および、通信部(106)を持つよう構成され、これらはバス(107)に接続されている。
【００２０】
なお、機器構成管理ユニット(101)は、例えば、ＣＰＵやメモリ、入出力部、通信部等を備えたコンピュータ上で、所定の機能を備えた１つあるいは複数のプログラムを実行させることで、実現される。構成設計書(102)は、設計書入力部(103)で解析され、メモリ(104)上にいくつかのテーブルの形（構成設定テーブル群）で展開される。管理部(105)はこれらテーブル群やプログラムのフローチャートに従って動作し、その過程で通信部を経由して他の電子機器とデータのやり取りを行う。
【００２１】
なお、図１の例の機器構成管理ユニット(101)は、これはあくまでも一例であり、これらの各機能を全体として実現できるものであれば良く、具体的には種々の構成例かあり得る。例えば、設計書入力部(103)の機能を、入力機能と、構成設計書の解析処理機能とに分けても良いし、あるいは管理部(106)に解析処理機能を持たせても良い。また、これらのプログラムやテーブル群等のデータは、後で述べるように、コンピュータにより読み取り可能な記録媒体に保持されたものから入手しても良く、外部のネットワーク等を介して入手しても良い。
【００２２】
前記他の電子機器とは、電子機器A(110)、電子機器B(120)、電子機器C(130)等である。機器構成管理ユニット(101)内で電子機器A(110)は、内部で機能管理部(111)と通信部(112)、および、機能モジュールA1(113)、A2(115)、A3(117)により構成される。さらに、機能モジュールA1(113)には、機能A1を実現するに必要充分なデバイス1(114)、例えばハード・ディスク装置が接続されており、また、機能モジュールA2(115)には機能A2を実現するに必要充分なデバイス1、例えばモニタが接続されている。
【００２３】
ネットワーク上には他に、電子機器B(120)や電子機器C(130)、及びユーザ(140)用のCP(141)が接続されている。なお、CPは一つの電子機器に同時に存在しても良い。電子機器B(120)は、機能モジュールB1(121)、同B2(122)、および、同B3(123)により内部が構成されている。また、電子機器C(130)は、機能モジュールC1(131)、同C2(132)、および、同C3(133)により内部が構成されている。これら機能モジュールはそれぞれデバイスとともに構成されてもよい。また、内部での構成および接続関係は問わない。一方でネットワーク(150)は、外部のネットワーク(161)に接続されており、これに外部のサービスＳ１(160)が接続されていても良い。
【００２４】
機器構成管理ユニット(101)は、他の電子機器Ａ、Ｂ、Ｃ等が持つ機能モジュールを組み合わせるために記述される構成設計書(102)を解析し、メモリ(104)内に構成設定テーブルとして展開する機能と、該構成設定テーブルに従って前記他の機器と行う通信情報を生成し仮想的な機器として動作するシステムすなわち仮想機器を構築する機能とを備えている。
【００２５】
図２に、本発明における、機器構成管理ユニット(101)で管理される仮想機器(220)の構成処理の概念を示す。機器構成管理ユニット(101)は、以下に述べるフローチャートを実行するプログラム、及び構成設計書(102)を展開したテーブル群(500)に従って動作し、例えは、機能モジュールとしての複数のサーバ、すなわち、メディア・サーバ１(201)、メディア分配(206)、および、メディア・レンダラ(22)をネットワーク(213〜215)を介して管理し、テーブル群の内容でネットワーク上に仮想機器V1(220)を構成可能として公開する。ユーザ(140)は、CP(141)により公開された機能を選択して仮想機器(220)を操作する。
【００２６】
図３は、構成設計書(102)の説明図である。構成設計書(102)は、機器構成管理ユニット(101)において動作する管理部(105)において、どのように仮想機器として構成し管理するかを指示するための設計書であり、テキストあるいはバイナリ・データのどちらで記述されていてもよい。構成設計書(102)は、ここでは特に、UPnPで定義される部分を含んだ階層構造を許すXML(eXtensible Markup Language)文書や、コンピュータの動作を記述するために一般的に用いられているJavaScriptやECMAScript、VBScript、C#等のスクリプト言語、プログラミング言語で記述されたものであってもよい。なお、Javaは登録商標である。
【００２７】
構成設計書(102)は、大きく分類して４つのセクションで構成される。つまり、モジュール要件セクション(301)、モジュール接続関係セクション(302)、公開定義セクション(303)、および、アクション翻訳セクション(304)である。モジュール要件セクション(301)では、仮想機器として構成するために必要な機能モジュールに関して、その条件を列挙する。モジュール接続関係セクション(302)ではモジュール要件セクションで列挙した必要機能モジュールが、それぞれどのように接続されているか、それぞれの機能の入力および出力の接続の対を列挙する。
【００２８】
公開定義セクション(303)では、構成する仮想機器がUPnPのプロトコルを用いて外部に対して公開する内容を定義する。アクション翻訳セクション(304)では外部から届いたアクションを管理部(105)が管理している各機能に対して翻訳し伝達するための、前述の必要機能とアクションの対と関連パラメータ、および、管理部自体内部での動作と関連パラメータを、その動作順に列挙してある。なお、上記は一つの仮想機器に対してそれぞれの定義が対応しているが、同一構成設計書内に複数の仮想機器の定義が記載されていてもよい。
【００２９】
なお、構成設計書(102)の製作には、ネットワークやプロトコル、個々の機能に関する専門知識や機器構成の検討の必要性がある。そこで、ユーザに負担をかけない方法として、例えば専門の業者がこのような構成設計書を種々製作して、リムーバブル・メディア等の形で販売し、ユーザはそれを適宜選択して購入して利用する、という方法が考えられる。
【００３０】
図４は、本実施例により仮想機器V1(220)を構築するためのプログラム、即ち機器構成管理ユニット(101)における仮想機器の生成処理のフローチャートである。図４において、左より、ユーザ(140)の操作、CP(141)での動作、機器構成管理ユニット(101)での処理、および、他の機器１〜ｎ(111、120、130等)での動作を、それぞれ示す。
【００３１】
まず、機器構成管理ユニット(101)の設計書入力部(103)に、構成設計書(102)を入力する(421)。例えば、後で述べる例のように、ユーザが構成設計書(102)の収録されたリムーバブル・メディアをリムーバブル・メディア読み取りドライブにセットし、機器構成管理ユニットに構成設計書(102)の内容を読み取らせる。
【００３２】
機器構成管理ユニット(101)の設計書入力部(103)は、この構成設計書(102)が認識できるかその妥当性を確認する(422)。  
認識できる場合、次に、設計書の内容を解析してメモリ(104)に、テーブル群（500）として展開する(423)。
【００３３】
図５は、構成設計書(102)を展開したメモリ(105)上の構成設定テーブル群（500）の概要である。この構成設定テーブル群（500）は、メモリ上に仮想機器のIDとなる項番(501)と、モジュール要件セクション(301)を展開したモジュール要件テーブル(502)、モジュール接続関係セクション(302)を展開したモジュール接続関係テーブル(503)、および、公開定義セクション(303)を展開した公開定義テーブル(504)を持つ。
【００３４】
また、テーブル群（500）は、これら仮想設計書を展開したテーブルとは別に、後述の仮想機器構成が可能となった場合に該当する仮想機器を公開するための実現可能／公開ポート(505)の情報を持つ。このテーブル群（500）は、仮想機器を単位として複数持つことができる。
【００３５】
図６は、上記テーブル群（500）のモジュール要件テーブル(502)の例である。このモジュール要件テーブル(502)には、ネットワーク上に接続された機器が持つ機能モジュールのうち、構成する仮想機器に必要なモジュールを検索する条件を列挙する。このテーブルには、機能モジュール毎に、項番(601)と、モジュールとしてのデバイス(602)とそのメーカ名(603)型番(604)およびデバイス型(605)と、そのモジュールが持つべきサービス(606)に関するサービス型(607)と入力フォーマット(608)出力フォーマット(609)がある。本実施例ではUPnPを用いているので、これらの他にUPnPで検索できる内容であればそれを条件にしてよい。また、これらモジュール要件セクションを展開した情報以外に、ネットワーク上のどの位置に要件を満足する機能モジュールがあるかを記録するための、発見アドレスをポート番号とともに記録する(610)。これら要件および発見アドレスは、必要とする機能モジュールの数だけそれぞれを持つ。なお、要件ではないところの要素は不要である。
【００３６】
図６に示したモジュール要件テーブル(502)では、図５の構成設定テーブル群(500)のうち項番V1のモジュール要件テーブルTF1を示している。ここには、機能モジュールとしてTF1-1,TF1-2,TF1-3の３つがあり、仮想機器V1はこれらを必要としている。TF1-1はデバイス型として「メディアサーバ」、すなわちコンテンツを配信するサービスを行うデバイスが要件となる。また、サービスとして、前出のようなコンテンツを検索し取得するコンテンツ・ディレクトリ・サービスと、前述のAVトランスポート・サービス、および、コンテンツ配信をする接続を行うコネクション・マネージャ・サービスの３種類がそろっている必要がある。
【００３７】
また、出力するフォーマットとして、MPEG-1、MPEG-2 、または、MPEG-4の形式が可能である必要がある。機能モジュールTF1-2については、例えば日立製作所製のメディア分配デバイスであり、配信される１つのコンテンツを入力し複数に分配するメディア分配サービスを持ち、入力フォーマットにMPEG-1,-2,-4のいずれか、出力フォーマットにも同様の要件を必要としている。機能モジュールTF1-3には、例えば日立製作所製の前出の配信コンテンツを表示するメディア・レンダラであって、表示パラメータを変更可能なレンダリング・コントロール・サービスと、AVトランスポート・サービス、およびコネクション・マネージャ・サービスを持ち、MPEG-1データを入力可能とする必要がある。これらのように、３つの機能モジュールの要件が定義されている。
【００３８】
図７は、図５のテーブル群（500）のモジュール接続関係テーブル(503)の例である。このテーブル(503)は、モジュール要件テーブル(502)で列挙された要件を満足する機能モジュールが発見された場合に、これらの間をどのように接続するかを定義しており、入力と出力の対を列挙する。このテーブルには、項番(701)と、モジュール要件テーブルにおける機能モジュールの項番であって出力側(702)と入力側(703)の項番を対にして列挙する。また、管理上接続完了を記録する(704)。
【００３９】
図７に示したモジュール接続関係テーブル(503)では、図５の構成設定テーブル群（500）のうち項番V1のモジュール接続関係テーブルTC1を示している。図６で定義された３つの機能モジュールが存在した場合に、項番TC1-1としてTF1-1の出力をTF1-2の入力と接続し、TC1-2としてTF1-2の出力をTF1-3の入力に接続することを示している。また、TC1-3としてTF1-3の出力をOUT1として外部に出力することを示している。
【００４０】
図８は、図５のテーブル群（500）の公開定義テーブル(504)の例である。この公開定義テーブル(504)は、図４の概要通知(431)およびUPnPを用いる場合に、ネットワーク上で機器の検索に用いるための情報である。つまり、図４の機器からの機能概要通知(431)および詳細通知(432)において、CP側（および他の機器）に伝達する情報である。このテーブル(504)には、項番(801)と、仮想機器として構成する場合の(仮想)デバイス(802)のメーカ名(804)や型番(803)デバイス型(806)がある。また、(仮想)サービス(803)としてサービス型(807)、入力フォーマット(808)出力フォーマット(809)が存在する。他にもこらの中にはUPnPで定義される機能の概要および詳細が含まれていることが望ましい。また、テーブル(504)には、アクション・翻訳テーブルTA(810)も存在するが、これについては後述する。
【００４１】
図８の例では、図５のテーブル群（500）の構成設定テーブル(504)のうち、項番V1の公開定義テーブルTP1を示している。仮想機器として構成可能となった場合にネットワークに公開する情報として、唯一の機能モジュールTP1-1として、日立製作所製のVD-1000という型番の、コンテンツを表示しながら別に出力するコンテンツ・ブラウザというデバイスがあることを示している。さらに、このデバイスはコンテンツ・ディレクトリ・サービス(813)、MPEG-1又は-2又は-4を出力可能なコネクション・マネージャ・サービス(814)、AVトランスポート・サービス(815)、及び、メディア・レンダラ・サービス(816)を持つ仮想機器として公開することを示す。
【００４２】
図４のフロー説明に戻る。次に、管理部(105)は通信部(106)を通じて、ネットワーク(150)上の各機器が持つ機能を知るために、各機器A〜nに対して機能通知要求を同報通信する(424)。
【００４３】
管理部(105)は、各機器A〜nからの機能通知を前述のモジュール要件テーブル(502)に列挙されたモジュールごとの条件（例えば、項番601）と比較して必要な機能モジュールを検索する(425)。このとき、モジュール要件テーブルにさらに詳細な要件が存在する場合には、さらに機能詳細要求(426)を先程の検索で限定された機器に対して送り(426)、各機器は詳細を通知する(432)。これらを基に、管理部ではモジュール要件テーブルを満足しているかどうかを検証し、満足しているモジュールがネットワーク上に存在すると発見した場合には、発見したアドレスをモジュール要件テーブル(502)の発見／アドレス(610)に登録する(427)。
【００４４】
なお、この登録時に同時に複数の機能モジュールがネットワーク上に存在する場合には、所定の条件を付加して順位付けし、最終的に上位になった機能モジュールを登録してもよい。あるいは、複数の機能モジュールを登録しておき、仮想機器としての実際の利用時に所定の方法で機能モジュールを選択するようにしても良い。
【００４５】
もしテーブル上のモジュールに関して登録が完了した場合には、仮想機器を構成することが可能となったこととなる。CP(141)側から機能概要要求(411)が到着している場合、あるいは、到着してない場合でも、このようにして構成可能となった仮想機器の概要をネットワーク上の他の機器に対して公開するために通知する(428)。この公開内容は公開テーブル(504)の内容である。CP(141)はこの公開された仮想機器をユーザ(140)に示し、利用可能な機能を提示する(412)。利用可能な機能として、例えば、「ビデオ画像の内容説明の自動生成」のように、通常の電子機器では提供されないような新たな機能を持つ仮想機器がユーザに提示される。これを受けて、ユーザは、所望の機能の選択が可能となる(401)。
【００４６】
次に、ユーザ(140)が選択した機能に関して、CP(141)は機能詳細要求を機器構成管理ユニットの管理部(105)に通知する(413)ことで、管理部から詳細内容として公開テーブル(504)の内容を通知する(429)。CPは接続要求を通知し(414)、これを受けて管理部は各機器に対して機能間を接続する要求を通知する(430)。これを受けて機器同士は接続する(433)が、この方法はUPnPの方法でよい。最終的に接続が完了した場合には管理部に通知し(434)、管理部はこれを受けて機能詳細をCPに通知する(431)。CPは機能詳細を提示し(415)ユーザが確認可能となる(402)。
【００４７】
これらから分かるように、ユーザあるいはCPは、前述のUPnPのみで機能モジュールを接続する方法におけるフローと何ら変わることなく、仮想機器を認識可能である。これと対照的に、本実施例の動作により、実際に存在する機器の数に加え、新たな仮想機器が存在することになる。
【００４８】
本実施例のテーブルとフローチャートにより仮想機器を構成した例を、図９に示す。仮想管理機器(920)は、機能モジュールとしての４つのサーバ、すなわち、メディア・サーバ１(901)、メディア分配(906)、および、メディア・レンダラ(911)を管理する。これらはそれぞれ、図１の電子機器Bの機能モジュールB3(123)、電子機器Cの機能モジュールC2(132)、および、電子機器Aの機能モジュールA2(115)がモジュール要件テーブル(502)を満足するとしてネットワーク上で検索され、それぞれの入出力(903,905,907,909)をモジュール接続関係テーブル(503)に基づいて接続し(904、908)、コンテンツ配信として出力可能な仮想機器として公開定義テーブルの内容でネットワーク上に仮想機器V1(920)を構成可能として公開する。なお、入出力(916)は、図１の外部サービスＳ１(160)への接続を示している。
【００４９】
本実施例でも、図２０のUPnPによる仮想機器の構成の例と同様に、ユーザ(140)はCP(141)により仮想機器V1(920)を操作する。しかし、図２０のUPnPによる例がいくつかの機能を操作することを必要とするのに対して、本実施例では、CP(141)は仮想管理機器(920)の機能のみの一つを操作することになる。つまり、ユーザ(140)が意識する機能は、新しい機器の機能だけで良く、ネットワークやプロトコル、個々の機能に関する専門知識や機器構成の検討は不要である。
【００５０】
なお、機器構成管理ユニット(101)を構成する各部はそれぞれが別々の機器上に分散していてもよく、この場合にはネットワーク(150)に接続した通信部を通じて必要な情報交換を行う。また、一つの機器、例えば電子機器A(110)内に、機器構成管理ユニット(101)を構成する部分または全部を併せ持っていてもよい。
【００５１】
本実施例によれば、機器構成管理ユニットの動作を規定するため、機能モジュールの要件、モジュール間の接続関係、および、ネットワーク上で公開する定義からなる部分を持つ構成設計書が提供される。この構成設計書を、例えば専門の業者が製作して販売し、ユーザはそれを購入して利用するような形態が考えられる。これにより、ユーザは専門知識が無くても、また、機器構成の検討に多くの時間をかけることなく、ネットワーク上の複数の機能を大規模かつ複雑に組み合わせて仮想機器を構成し、利用することができる。
【００５２】
また、機器構成管理ユニットにより、ネットワークに接続された機器の機能モジュールから必要な機能モジュールを検索し、現在の状態で仮想機器を構成できるかの可能性をネットワーク上の各機器に対して通知する構成管理を実現することができる。あるいはまた、ネットワークに接続された機器の機能モジュールから必要な機能モジュールを検索し、さらにそれらを前記構成設計書どおりに接続してユーザに提供する構成管理を実現することができる。
【００５３】
以上述べたように、本実施例によれば、ユーザに、ネットワークやプロトコル、個々の機能に関する専門知識や機器構成の検討の必要性などの負担を強いることなく、ネットワーク上の多くの機器内の多くの機能を、より柔軟に大規模かつ複雑に組み合わせて、仮想機器を構成し、ユーザに提供することができる。
【００５４】
従って、例えば、機器構成管理ユニット(101)の機能を有するホームサーバーを保有するユーザが、専門家により作成された構成設計書(102)を購入してその内容をホームサーバーに読み取らせることで、各種電子機器とネットワーク接続された家庭用のネットワーク機器構築装置を構築させることができる。このようにして、ユーザは、手軽に映像や音響のコンテンツを対象とした新たな仮想機器を利用することができる。
【実施例２】
【００５５】
次に、本発明の他の実施例として、仮想機器で公開する機能モジュールを操作するためのアクションから、管理している管理機能モジュールへのアクションを翻訳し伝達する例を、図１０及び図１１に示す。  
図１０は、図８に関連して述べたアクション翻訳テーブルTA(810)の具体例（その１）である。このテーブル(1000)は、図３の構成設計書(102)のアクション翻訳セクション(304)を、メモリ(104)上に展開したものである。このテーブル(1000)は、図５の構成設定テーブル群（500）のうち、公開定義テーブルS1(504)の一部として、図８に示すように各サービスに対応してTA1〜TA41のようなアクション翻訳テーブルとして規定される。
【００５６】
図１０に示した例は、コンテンツ・ディレクトリ・サービス(813)のアクション翻訳テーブルTA1-1である。このアクション翻訳テーブル(1000)は、項番(1001)と、入力アクション(1002)および出力アクション・リスト(1003)で構成される。なお、入力アクションと出力アクションリストは、１対Ｎで対応する。入力アクション(1002)としては、アクション名(1004)と引数(1005)から構成され、さらに引数は引数名(1006)と入出力の方向(1007)および引数の実体あるいは結果を保存する関連状態変数(1008)からなる。出力アクション・リスト(1003)は、アクションを通知する先であるターゲットモジュール(1009)、ターゲッサービス(1010)、アクション名(1011)、およびその引数(1012)からなる。引数は、引数名(1013)と入出力の方向(1014)および引数の実体あるいは結果を保存する関連状態変数(1015)からなる。ここで、ターゲットは図６のモジュール要件テーブルで定義される項番(601)を用いることができる。または、ターゲットとして管理機器の管理部(105)内部へ向ける、すなわち内部処理を行ってもよい。
【００５７】
以下、具体的な処理方法を説明する。まず、前提として実施例１の接続管理方法において、図４のフローの機能詳細通知(431)の一部として、入力アクション(1002)をCP(141)に伝達する。このとき、仮想機器が持つ１つ以上の機能についてそれぞれが持つサービスに対応する入力アクションの全てを伝達することが望ましい。CP(141)はこれらの機能（UPnPではデバイスに相当する）、サービス及び入力アクションを取得し、ユーザ(140)に提示してあるものとする。
【００５８】
図１１は、本実施例におけるアクションの翻訳フローの例である。ユーザ(140)からUPnPの場合と同様にある機能のサービスの動作選択として機能操作がCP(141)に伝えられる(1101)。CP(141)はそれに対応するアクションおよび必要な引数を仮想機器(図２の220)、すなわち機器構成管理ユニット(図１の101)の管理部(105)に通信部(106)を通じて伝達する。管理部(105)では、モジュール要件テーブル(502)のデバイスおよびサーバからアクション翻訳テーブル(504)を選択し、さらに、対応する入力アクションを選択する(1121)。
【００５９】
例えば、ユーザ(140)が、仮想機器V1のデバイスS1-1のコンテンツ・ディレクトリ・サービスの動作である「Get Search Capabilities」（コンテンツ検索の方法取得）を選択した場合(1101)、結果的に図１０のアクション翻訳テーブル(1000)とその中の入力アクションであるTA1-1「Get Search Capabilities」に対応する出力アクション・リストが選択される(1121)。このリストは、1つの出力アクションで構成されているとして取得され(1123)、仮想機器を構成する機能モジュールTF1-1 (テーブル上図６のTF1-1、仮想機器接続上の図２のメディア・サーバ１(201)、および、検索されたおよび実際のモジュールである図１の電子機器BのモジュールB3(123)) に対して、それが提供するコンテンツ・ディレクトリ・サービスに「Get Search Capabilities」アクションを送付する(1126)。
【００６０】
実際にアクションは、図１の電子機器BのモジュールB3(123)に送られ、アクションを実行し(1131)、その実行結果を管理部(105)に通知する(1132)。管理部は結果を収集しておく(1127)。本入力アクションに対応する出力アクションリストはこれで終了なので(1122)、収集したサービス結果をCPに通知する(1128)。CPはこの結果を提示することで(1112)、ユーザがサービス結果を確認することができる(1102)。更に操作がある場合にはつぎのループを実行する(1103)。
【００６１】
本実施例によれば、仮想機器として構成した場合の、仮想機器の仮想機能を操作するアクションに対して、仮想機器を実際に構成する機能モジュールを操作するアクションの組み合わせとする、アクション翻訳による仮想機器の構成管理を実現することができる。また、ネットワークに接続された機器の機能モジュールから必要な機能モジュールを検索し、さらにそれらを前記構成設計書どおりに接続する構成管理を実現することができる。
【００６２】
このように、本実施例によれば、ユーザに、専門知識を要求せずまた機器構成の検討を行う負担を強いること無しに、ネットワーク上の複数の機能を大規模かつ複雑に組み合わせて仮想機器を構成し、利用に供することができる。
【実施例３】
【００６３】
本発明の他の実施例として、もう一つのアクション翻訳例を、図１１及び図１２に示す。図１２は、アクション翻訳テーブルの例（その２）TA3（1200）を示している。図１１において、例えば、ユーザが機能操作(1101)で、実施例１で構成された仮想機器V1のデバイスS1-1のAVトランスポート・サービスの動作である「Play」（コンテンツ再生）をコンテンツIDと再生スピードを引数に選択して操作した場合、管理機器の管理部(105)では結果的にアクション翻訳テーブルTA3（1200）とその中の入力アクションであるTA3-1「Play」に対応する出力アクション・リストが選択される(1121)。このリスト（1203）には４つの出力アクションと１つの内部アクションが定義されており、全てに対して処理を行う。
【００６４】
まず、出力アクション・リスト（1203）における最初のアクション(1216)として、仮想機器を構成する機能モジュールTF1-1 (テーブル上図６のTF1-1、仮想機器接続上の図２のメディア・サーバ１(201)、および、検索されたおよび実際のモジュールである図１の電子機器BのモジュールB3(123)) に対して、それが提供するコンテンツ・ディレクトリ・サービスに「Browse」アクションをオブジェクトIDと指定されたフラグを引数として送付する(1126)。実際にアクションは図１の電子機器B(120)のモジュールB3(123)に送られ、アクションを実行し(1131)その実行結果を管理部に通知する(1132)。管理部は結果を収集しておく(1127)。
【００６５】
次のリスト(1123)にある出力アクション(1217)として、同じくモジュールB3のAVコントロール・サービスに対して「Play」アクションをオブジェクトIDと再生スピードを引数として送付する(1126)。実際にアクションは図１の電子機器BのモジュールB3(123)に送られ、アクションを実行し(1131)、その実行結果を管理部に通知する(1132)。
【００６６】
管理部はこの結果を収集しておく(1127)。
【００６７】
また、次の出力アクション(1218)として、仮想機器を構成する機能モジュールTF1-2 (テーブル上図６のTF1-2、仮想機器接続上の図２の206、および、検索されたおよび実際のモジュールである図１の電子機器C(130)のモジュールC2(132))のAVコントロール・サービスに対して「Play」アクションをオブジェクトIDと再生スピードを引数として送付する(1126)。  
実際にアクションは図１の電子機器CのモジュールC2(132)に送られ、アクションを実行し(1131)その実行結果を管理部に通知する(1132)。管理部は結果を収集しておく(1127)。
【００６８】
次のアクション(1219)は、管理機器の内部で処理する操作すなわち内部アクションである。ここでは、指定時間処理を待つ「Wait」アクションであり、特定の待ち時間定数「Wait Time」を引数にして内部処理を実行する(1124、1125)。この実行結果を上記と同様に収集してもよい。
【００６９】
最後に、次の出力アクション(1220)として、仮想機器を構成する機能モジュールTF1-3 (テーブル上図６のTF1-3、仮想機器接続上の図２の211、および、検索されたおよび実際のモジュールである図１の電子機器A(110)のモジュールA2(115))のAVコントロール・サービスに対して「Play」アクションをオブジェクトIDと再生スピードを引数として送付する(1126)。実際にアクションは図１の電子機器CのモジュールA2(115)に送られ、アクションを実行し(1131)その実行結果を管理部に通知する(1132)。管理部は結果を収集しておく(1127)。
【００７０】
これらのように入力アクションに対して、構成設計書(102)のアクション翻訳セクション(304)で定義されたアクションをそれぞれ対応する機能モジュールで実行し、その結果を得ることが可能になる。
【００７１】
管理部(105)は、これまでに収集した結果を別途定義するルールにより分析して、結果をCPに通知する(1128)。CPはこれを基にユーザに対して提示する(1112)ことで、ユーザの機能操作(1101)に対応する結果を確認する(1102)。更に操作がある場合にはつぎのループを実行する(1103)。
【００７２】
なお、これらアクションの前提となる、図９のように実施例１で示す方法で接続したコンテンツ配信のための接続関係（904, 908）をコンテンツが移動し、メディア・サーバが持つコンテンツ(902)は、アクションによりメディア・レンダラ(911)が持つデバイスであるモニタ(910)に別途表示され、ユーザはコンテンツを視聴できる。また、メディア分配(906は、ネットワーク(913)を介して別途他のモジュールに出力可能な出力を持つ(914)。
【００７３】
本実施例によれば、仮想機器として構成した場合の、仮想機器の仮想機能を操作するアクションに対して、仮想機器を実際に構成する機能モジュールを操作する外部アクションあるいは内部での動作を制御する内部アクションの組み合わせとする、アクション翻訳による仮想機器の構成管理を実現することができる。また、ネットワークに接続された機器の機能モジュールから必要な機能モジュールを検索し、さらにそれらを前記構成設計書どおりに接続する構成管理を実現することができる。
【００７４】
このように、本実施例によれば、ユーザが専門知識や機器構成の検討の必要性などの負担なく、ネットワーク上の複数の機能を大規模かつ複雑に組み合わせて仮想機器を構成し、利用に供することができる。
【実施例４】
【００７５】
次に、仮想機器を階層的に構成する実施例を、図１３〜図１６に示す。図１３は、図５の構成設定テーブル群(500)のうち項番V2として規定される仮想機器V2のモジュール要件セクション(502)を展開したモジュール要件テーブルTF2 (1300)を示している。ここでは、実施例１で構成した仮想機器V1(図５のV1および図２の220)を一つの機能モジュールTF2-1として必要とする。この要件には、デバイスとしてのメーカ名や型番、デバイス型(1302〜1305)、および、サービス内容(1307〜1309)等はすべて図８で公開される要件を満足する。ここで、メディア・レンダラは必須ではないので要件には含まなくてよい。MPEG-1又は-2,あるいは-4を出力することも合致する。すなわち、仮想機器V1が構成され公開された場合に、これを発見して機能モジュールの一つとして利用できる。
【００７６】
次の機能モジュールとしてのTF2-2は、映像インデクシング・デバイスであり、MPEG-1又は-2,あるいは-4のフォーマットのコンテンツを入力として、別に定義される画像処理技術を用いてMPEG-7で規格化された内容で映像コンテンツの説明記述（メタデータ）を自動生成する機能とする。また、もう一つの機能モジュールTF2-3は、このMPEG-7メタデータを蓄積する機能モジュールとする。
【００７７】
図１４は、仮想機器V2が必要とする上記３つのモジュールの接続関係を示す、仮想設計書で記述されたモジュール接続関係セクション(503)を展開したモジュール接続関係テーブル(1400)の例であり、図７に示した例と同様な構成(1401〜1404)を有している。
【００７８】
また、図１５は、この仮想機器V2をネットワーク上で他の機器に対して公開する、仮想設計書で記述された公開定義セクション(504)を展開した公開定義テーブル(1500)の例であり、構成(1501〜1516)を有している。これら内容の説明は実施例１と同様であるため省略する。
【００７９】
図１６は、これらのテーブル群を用いて構成した仮想機器V2である。まず、実施例１により仮想機器V1(920)が既に構成され公開されている(図９の920の省略図)。ここでは図1のようにネットワーク接続された機器から機能モジュールB3(123)、C2(132)、A2(115)を用いて仮想機器V1が構成されている。そして、同様にして機能モジュールS1(140)やA1(113)が要件に合致したモジュールであるとして検索されたとすると、仮想機器V1と機能モジュールS1、機能モジュールA1を構成設計書に従って接続することで、実施例1と同様に新しく仮想機器V2(1601)を構成することができる。
【００８０】
なお、ここで機能モジュールS1は、図1のように外部ネットワーク(161)に接続された外部サービス(160)であってもよい。さらに、まったく新しいサービスを外部から提供したり、新しい機器を購入することで、まったく新しい仮想機器を構成することが可能である。
【００８１】
このように、本実施例によれば、ネットワークに接続された機器の機能モジュールから必要な機能モジュールを検索し、さらにそれらを前記構成設計書どおりに接続して、仮想機器を階層的に構成する構成管理を実現することができる。これにより、ユーザが専門知識や機器構成の検討の必要性などの負担なく、ネットワーク上の複数の機能を大規模かつ複雑に組み合わせて階層的な仮想機器を構成し、利用に供することができる。
【実施例５】
【００８２】
ここでは構成設計書を機器構成管理ユニットに入力する実施例を、図１７〜図１９に示す。まず、図１７はこの１つの例（その１）である。ここでは、機器メーカやASP(Application Service Provider)と呼ばれるサービス提供業者(1701)等から、通信部(106)及びコントロールポイント(1703)を通じてローカルネットワーク(150)と外部ネットワーク(161)を接続することで、市販の構成設計書(1702)を取得（ダウンロード）して機器構成管理ユニット(101)に入力する。
【００８３】
図１８は、構成設計書を機器構成管理ユニット(101)に入力する他の例（その２）である。こ例では、構成設計書を外部ネットワークに接続されたコントロール・ポイント(1801)から、コントロールポイント(1802)及び通信部(106)を経由して入力する。  
なお、コントロール・ポイントは、ネットワークに接続された電子機器以外に、ネットワークを用いない接続方法で接続しても構わない。接続手段は、有線・無線を問わない。
【００８４】
図１９は、構成設計書(1902)を機器構成管理ユニット(101)に入力する他の例（その３）である。機器構成管理ユニット(101)に、フロッピー（登録商標）・ディスクやCD、DVD、リムーバブル・メモリなどの外部メディアを読むことができるドライブ(1901)を接続し、機器メーカやASP業者(1701)等から入手した構成設計書(1902)の保持されたリムーバブル・メディアを接続し、内部バスを通じて入力する。この場合、ドライブ(1901)は、機器構成管理ユニット(101)内にある必要は無く、図１７のコントロールポイント(1703)内にあってもよい。
【００８５】
このように、本実施例によれば、ユーザが構成設計書を手軽に入手できるので、ユーザには専門知識や機器構成の検討の必要性などの負担なく、ネットワーク上の複数の機能を大規模かつ複雑に組み合わせて仮想機器を構成し、利用することができる。
【００８６】
以上、本発明による仮想機器構成方法を、映像や音響のコンテンツを中心に利用する説明を行ったが、本発明は汎用のデータを処理する機能モジュールを用いた構成とすることが可能であり、通信部を搭載したあらゆる産業用機器に対しても適用可能である。従って、本発明は多くの産業で汎用的に用い得るものである。
【図面の簡単な説明】
【００８７】
【図１】本発明の一実施例になるネットワーク機器の構成および接続図を示す図。
【図２】本発明の一実施例による仮想機器の構成処理の概念を示す図。
【図３】本発明の一実施例における構成設計書の説明図。
【図４】本発明の一実施例による仮想機器構成処理のフローチャート。
【図５】本発明の一実施例における構成設定テーブルの概要図。
【図６】本発明の一実施例におけるモジュール要件テーブルの例を示す図。
【図７】本発明の一実施例におけるモジュール接続関係テーブルの例を示す図。
【図８】本発明の一実施例における公開定義テーブルの例を示す図。
【図９】本発明の一実施例により構成された仮想機器の例を示す図。
【図１０】本発明の他の実施例におけるアクション翻訳テーブルの例（その１）を示す図。
【図１１】本発明の他の実施例におけるアクションの翻訳フローの例を示す図。
【図１２】本発明の他の実施例におけるアクション翻訳テーブルの例（その２）を示す図。
【図１３】本発明のさらに他の実施例になる仮想機器V2のモジュール要件テーブルの例を示す図。
【図１４】本発明のさらに他の実施例になる仮想機器V2のモジュール接続関係テーブルの例を示す図。
【図１５】本発明のさらに他の実施例になる仮想機器V2の公開定義テーブルの例を示す図。
【図１６】本発明のさらに他の実施例になる仮想機器V2の例を示す図。
【図１７】本発明の別の実施例になる機器構成管理ユニット設計書の入力例（その１）を示す図。
【図１８】本発明の別の実施例になる機器構成管理ユニット設計書の入力例（その２）を示す図。
【図１９】本発明の別の実施例になる機器構成管理ユニット設計書の入力例（その３）を示す図。
【図２０】従来例によるUPnPによる仮想機器の構成の例を示す図。
【図２１】従来例によるUPnPの接続プロトコルの説明図。
【図２２】従来例によるUPnPでのサービスを操作するアクションのフローを示す図。
【符号の説明】
【００８８】
101：機器構成管理ユニット
102：構成設計書
103：設計書入力部
104：メモリ
105：管理部
106：通信部
107：内部バス
110：電子機器A
111：通信部
112：機能管理部
113：機能モジュールA1
114：デバイス1
115：機能モジュールA1
116：デバイス２
117：機能モジュールA3
120：電子機器B
121：機能モジュールB1
122：機能モジュールB2
123：機能モジュールB3
130：電子機器C
131：機能モジュールC1
132：機能モジュールC2
133：機能モジュールC3
140：ユーザ
141：コントロール・ポイント
150：ネットワークまたはバス
160：外部サービス
161：外部ネットワーク
301：要件セクション
302：モジュール接続関係セクション
303：公開定義セクション
304：アクション翻訳セクション
500：構成設定テーブル群、ある。この構成設定テーブル群（500）は、メモリ上に501：項番
502：モジュール要件テーブル
503：モジュール接続関係テーブル
504：公開定義テーブル。
【図１】
2006018719.tif 000003
【図２】
2006018719.tif 000004
【図３】
2006018719.tif 000005
【図４】
2006018719.tif 000006
【図５】
2006018719.tif 000007
【図６】
2006018719.tif 000008
【図７】
2006018719.tif 000009
【図８】
2006018719.tif 000010
【図９】
2006018719.tif 000011
【図１０】
2006018719.tif 000012
【図１１】
2006018719.tif 000013
【図１２】
2006018719.tif 000014
【図１３】
2006018719.tif 000015
【図１４】
2006018719.tif 000016
【図１５】
2006018719.tif 000017
【図１６】
2006018719.tif 000018
【図１７】
2006018719.tif 000019
【図１８】
2006018719.tif 000020
【図１９】
2006018719.tif 000021
【図２０】
2006018719.tif 000022
【図２１】
2006018719.tif 000023
【図２２】
2006018719.tif 000024