(57)【特許請求の範囲】
【請求項１】
複数の機器が接続された第１のネットワークを接続し、前記第１のネットワークとのメッセージの送受信を行なう第１のメッセージ入出力手段と、
複数の機器が接続された第２のネットワークを接続し、インターネットで使用されるＩＰプロトコル機能によりインターネットアプリケーションとの通信を行う第２のメッセージ入手力手段と、前記第１のネットワークに機器がプラグインされたことを検知する第１のプラグイン検知手段と、第１のネットワークに接続された機器と第２のネットワークに接続された機器とが相互に通信するためのゲートウェイ機能を提供する仮想デバイスと、前記第１のプラグイン検知手段より機器がプラグインされた通知を受けて、プラグインされた機器に対応する前記仮想デバイスに第２のネットワークからアクセスするためのＩＰ識別子を付与し、接続要求待機状態にする仮想デバイス管理手段と、前記第２のネットワークの機器から接続要求を受けると仮想デバイスが第１のネットワークの他の機器と通信するための疑似アドレスを生成する疑似アドレス生成手段と、前記仮想デバイスに付与されたアドレスと前記第２のネットワークからアクセスするためのＩＰ識別子の対応を管理するアドレス対応管理手段とを備え、
第２のネットワークに接続された機器と、第１のネットワークに接続された機器との通信を可能とすることを特徴とするゲートウェイ装置。
【請求項２】
第２のネットワークにプラグインされた機器を他の機器から検索し、前記プラグインされた機器を操作するために必要なインタフェース情報の提供を行なう第２のネットワーク側のディレクトリを監視して第２のネットワークの機器のプラグインを検知する第２のプラグイン検知手段と、前記ディレクトリから第２のネットワークの機器の情報を取得して、取得した情報を元に前記仮想デバイスをゲートウェイ装置上に準備する仮想デバイス管理手段と、前記疑似アドレス生成手段を用いて前記仮想デバイスにアドレスを付与し、第１のネットワーク側のレジストリに登録するレジストリ登録手段とを備え、
第１のネットワークの機器からレジストリを介して、第２のネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とすることを特徴とする請求項１記載のゲートウェイ装置。
【請求項３】
第１のネットワークの機器のプラグインを検知する第１のプラグイン検知手段と、第１のネットワーク側のレジストリからプラグインされた機器の情報を取得して、取得した情報を元に前記仮想デバイスをゲートウェイ装置上に準備する仮想デバイス管理手段と、前記疑似アドレス生成手段を用いて前記仮想デバイスに第２のネットワーク側のアドレスを付与し、第２のネットワーク側のディレクトリに登録するディレクトリ登録手段とを備え、
第２のネットワークの機器から、第２のネットワーク側のディレクトリを介して、第１のネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とすることを特徴とする請求項１記載のゲートウェイ装置。
【請求項４】
第１のネットワークの機器間でのストリーム転送を管理するストリーム管理手段と、第２のネットワークに接続された機器とのストリームコネクションを確立し、必要な場合は帯域の確保を行なうストリーム生成手段と、ゲートウェイ装置の第１のネットワーク側のストリーム入出力プラグ識別子と第２のネットワーク側のストリームポートの対応を管理するストリームポート対応管理手段と、第１のネットワーク側ストリームパケットと第２のネットワーク側ストリームパケットの相互変換を行ない送受信するストリームパケット変換手段とを備え、
第１のネットワークの機器と第２のネットワークの機器との間でのストリーム転送を可能にすることを特徴とする請求項１記載のゲートウェイ装置。
【請求項５】
第１のネットワークの機器のプラグインを検知して、プラグインされた機器がユーザインタフェースを提供するための第１のネットワーク側プロトコルをサポートするかを判断する手段を加えた仮想デバイス管理手段と、前記プロトコルがサポートされていると判断された場合は、前記機器と通信してユーザインタフェースを構成するのに必要な情報を取得する情報取得手段と、取得した情報から第２のネットワーク側で利用するためのユーザインタフェースを生成するＵＩ生成手段と、
第２のネットワークの機器から第１のネットワークの機器へアクセス要求があった際に前記生成したユーザインタフェースを転送するＵＩ提供手段とを備え、
第２のネットワークの機器に第１のネットワークの機器を操作するためのユーザインタフェースの表示を可能にすることを特徴とする請求項３記載のゲートウェイ装置。
【請求項６】
第１のネットワークの機器のプラグインを検知し、第１のネットワーク側のレジストリを検索して前記機器の情報を取得する仮想デバイス管理手段と、
プラグインされた第１のネットワークの機器または第２のネットワークの機器の仮想デバイスがゲートウェイ装置に存在しない、かあるいは仮想デバイスソフトウェアのバージョンを更新する必要があると判断された場合には、前記レジストリから取得した機器情報を元に仮想デバイスの提供ロケーション情報を取得する手段と、仮想デバイスの提供ロケーションにアクセスして必要な情報をダウンロードするダウンロード手段とを備え、
プラグインされた第１のネットワークの機器または第２のネットワークの機器の仮想デバイスが機器に存在しない、かあるいは仮想デバイスソフトウェアのバージョンを更新する必要がある場合には、ネットワーク経由で前記仮想デバイスを取得してゲートウェイ機能を提供可能とすることを特徴とするゲートウェイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＨＡＶｉ（Ｈｏｍｅ Ａｕｄｉｏ／Ｖｉｄｅｏ ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ Ａｒｃｈｉｔｅｃｔｕｒｅ）仕様に基づく複数の電子機器が相互接続されているＨＡＶｉネットワークの機器が、ＨＡＶｉ以外のネットワーク（例えばインターネット）に接続された機器との間で相互に通信を行なうためのゲートウェイ（以下ＧＷと略す）装置に関するものである。
【０００２】
【従来の技術】
ＨＡＶｉは、家庭内のＡＶ機器を制御可能にするミドルウェアであり、ＩＥＥＥ１３９４対応のＡＶ機器を制御対象にしている。また、複数のＡＶ機器の相互接続による連携動作や、機器をネットワークに接続するだけで特別な設定を行なう事なく利用できるプラグアンドプレイ機能を実現するための仕様も示されている。
【０００３】
ＨＡＶｉ仕様の詳細は、Ｔｈｅ ＨＡＶｉ Ｓｐｅｃｉｆｉｃａｔｉｏｎ （Ｓｐｅｃｉｆｉｃａｔｉｏｎ ｏｆ ｔｈｅ Ｈｏｍｅ Ａｕｄｉｏ／Ｖｉｄｅｏ Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ Ａｒｃｈｉｔｅｃｔｕｒｅ） （http://www.havi.org/） で紹介されており、また、家庭外ではインターネットプロトコル（IP）をベースにした多種多様なネットワークサービスが提供されている。インターネットに接続される機器間でのプラグアンドプレイを実現する技術がすでに開示されている。同様に、インターネットでのプラグアンドプレイの技術が開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、第一に、ＨＡＶｉ仕様に準拠した通信プロトコルを実装したＨＡＶｉ機器（第１のネットワークの機器）と、インターネットプロトコルを実装したＩＰ機器（第２のネットワークの機器）間で相互に通信するためには、それぞれの物理的仕様、ネットワークプロトコルが異なるため、物理的な仕様の差異を吸収し、プロトコルを相互に理解可能なように変換するゲートウェイ装置（以下GW装置）が必要になる。これを本発明の１番目の課題とする。
【０００５】
第二に、ＩＰネットワーク（第２のネットワーク）側にプラグインされた機器をＨＡＶｉ（第１のネットワーク）側で使用するためには、何らかの手段によりＩＰ機器がプラグインされていることを知り、ＵＲＬなどの接続先アドレスと、通信プロトコルを調べた後、必要な手順を踏んでアクセスすることが必要になる。すなわちＨＡＶｉ等のそれぞれのネットワークでは実現されているプラグアンドプレイの有効性が双方のネットワークプロトコルに互換性がないために損なわれてしまう。これを本発明の２番目の課題とする。
【０００６】
第三に、ＨＡＶｉ側のネットワークにプラグインされた機器をＩＰネットワーク側で使用するためには、何らかの手段によりＨＡＶｉ機器がプラグインされていることを知り、ＨＡＶｉ機器にアクセスするための接続先アドレスや接続手順を調べることが必要になる。これを本発明の３番目の課題とする。
【０００７】
第四に、ＨＡＶｉ仕様で想定されているオーディオやビデオ情報のストリーム転送手段は、ＨＡＶｉネットワーク内に閉じたものとなっており、インターネット上の機器とストリーム情報のやり取りをすることはできない。これを本発明の４番目の課題とする。
【０００８】
第五に、ＨＡＶｉ仕様では、ＨＡＶｉ機器の操作性を向上させるために、ＧＵＩ（グラフィカルユーザインタフェース）が用意されているが、ＨＡＶｉ以外のネットワークプロトコルからこのＧＵＩを利用することはできない。これを本発明の５番目の課題とする。
【０００９】
第六に、前記第一の課題を解決する為のゲートウェイ機能を準備する際に、ＨＡＶｉネットワークと、ＨＡＶｉ以外のネットワークとの相互変換プロトコルに関する情報が、本発明のゲートウェイ装置の持つ情報だけでは不足する場合が想定される。これを本発明の６番目の課題とする。
【００１０】
【課題を解決するための手段】
これらの課題を解決するために、本発明のゲートウェイ装置は、第１に、複数の機器が接続された第１のネットワークを接続し、第１のネットワークとのメッセージの送受信を行なう第１のメッセージ入出力手段と、複数の機器が接続された第２のネットワークを接続し、インターネットで使用されるＩＰプロトコル機能によりインターネットアプリケーションとの通信を行う第２のメッセージ入手力手段と、第１のネットワークに機器がプラグインされたことを検知する第１のプラグイン検知手段と、第１のネットワークに接続された機器と第２のネットワークに接続された機器とが相互に通信するためのゲートウェイ機能を提供する仮想デバイスと、第１のプラグイン検知手段より機器がプラグインされた通知を受けて、プラグインされた機器に対応する前記仮想デバイスに第２のネットワークからアクセスするためのＩＰ識別子を付与し、接続要求待機状態にする仮想デバイス管理手段と、第２のネットワークの機器から接続要求を受けると仮想デバイスが第１のネットワークの他の機器と通信するための疑似アドレスを生成する疑似アドレス生成手段と、仮想デバイスに付与されたアドレスと第２のネットワークからアクセスするためのＩＰ識別子の対応を管理するアドレス対応管理手段とを備え、第２のネットワークに接続された機器と、第１のネットワークに接続された機器との通信を可能とすることを特徴とする。
【００１１】
第２に、第２のネットワークにプラグインされた機器を他の機器から検索し、プラグインされた機器を操作するために必要なインタフェース情報の提供を行なう第１のネットワーク側のディレクトリを監視して第２のネットワークの機器のプラグインを検知する第２のプラグイン検知手段と、上記ディレクトリから第２のネットワークの機器の情報を取得して、取得した情報を元に前記仮想デバイスをゲートウェイ装置上に準備する仮想デバイス管理手段と、疑似アドレス生成手段を用いて仮想デバイスにアドレスを付与し、第１のネットワーク側のレジストリに登録するレジストリ登録手段とを備え、第１のネットワークの機器からレジストリを介して、第２のネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とすることを特徴とする。
【００１２】
第３に、第１のネットワークの機器のプラグインを検知する第１のプラグイン検知手段と、第１のネットワーク側のレジストリからプラグインされた機器の情報を取得して、取得した情報を元に仮想デバイスをゲートウェイ装置上に準備する仮想デバイス管理手段と、疑似アドレス生成手段を用いて仮想デバイスに第２のネットワーク側のアドレスを付与し、第２のネットワーク側のディレクトリに登録するディレクトリ登録手段とを備え、第２のネットワークの機器から、第２のネットワーク側のディレクトリを介して、第１のネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とすることを特徴とする。
【００１３】
第４に、第１のネットワークの機器間でのストリーム転送を管理するストリーム管理手段と、第２のネットワークに接続された機器とのストリームコネクションを確立し、必要な場合は帯域の確保を行なうストリーム生成手段と、ゲートウェイ装置の第１のネットワーク側のストリーム入出力プラグであるＦＣＭプラグと第２のネットワーク側のストリームポートの対応を管理するストリームポート対応管理手段と、第１のネットワーク側ストリームパケットと第２のネットワーク側ストリームパケットの相互変換を行ない送受信するストリームパケット変換手段とを備え、第１のネットワークの機器と第２のネットワークの機器との間でのストリーム転送を可能にすることを特徴とする。
【００１４】
第５に、第１のネットワークの機器のプラグインを検知して、プラグインされた機器がユーザインタフェースを提供するための第１のネットワーク側プロトコルをサポートするかを判断する手段を加えた仮想デバイス管理手段と、上記プロトコルがサポートされていると判断された場合は、機器と通信してユーザインタフェースを構成するのに必要な情報を取得する情報取得手段と、取得した情報から第２のネットワーク側で利用するためのユーザインタフェース生成するＵＩ生成手段と、第２のネットワークの機器から第１のネットワークの機器へアクセス要求があった際に生成したユーザインタフェースを転送するＵＩ提供手段とを備え、第２のネットワークの機器に第１のネットワークの機器を操作するためのユーザインタフェースの表示を可能にすることを特徴とする。
【００１５】
第６に、第１のネットワークの機器のプラグインを検知し、第１のネットワーク側のレジストリを検索して前記機器の情報を取得する仮想デバイス管理手段と、
プラグインされた第１のネットワークの機器または第２のネットワークの機器の仮想デバイスがゲートウェイ装置に存在しない、かあるいは仮想デバイスソフトウェアのバージョンを更新する必要があると判断された場合には、上記レジストリから取得した機器情報を元に仮想デバイスの提供ロケーション情報を取得する手段と、仮想デバイスの提供ロケーションにアクセスして必要な情報をダウンロードするダウンロード手段とを備え、プラグインされた第１のネットワークの機器または第２のネットワークの機器の仮想デバイスが機器に存在しない、かあるいは仮想デバイスソフトウェアのバージョンを更新する必要がある場合には、ネットワーク経由で前記仮想デバイスを取得してゲートウェイ機能を提供可能とすることを特徴とする。
【００１６】
【発明の実施の形態】
（実施の形態１）
以下本発明の請求項１記載のゲートウェイ装置の実施の形態を図面を参照しながら説明する。以下本実施の形態の全ての説明について、HAVi 1.0β の仕様を想定するが本発明はＨＡＶｉの版番号に依存するものではない。
【００１７】
図１は、本発明のゲートウェイ装置の構成を示す機能ブロック図である。
【００１８】
ＨＡＶｉ機器（第１のネットワークの機器）１０１は、ＨＡＶｉネットワーク（第１のネットワーク）１０２に接続されるＨＡＶｉ仕様に準拠したデジタルテレビ（ＤＴＶ）やビデオテープレコーダ（ＶＴＲ）などのＡＶ機器である。ゲートウェイ（ＧＷ）装置１０３は、ＩＰネットワーク（第２のネットワーク）１０４と前記ＨＡＶｉネットワーク間でそれぞれのネットワークに接続された機器が相互に通信できる機能を提供するものであり、ＨＡＶｉ仕様の定めるＦＡＶ（Full AV device）相当の機能を備えているものとする。ＩＰ機器（第２のネットワークの機器）１０５はＩＰネットワークに接続されるネットワークプリンタなどのネットワーク機器である。
【００１９】
ＨＡＶｉプラグイン検知手段１０６はＨＡＶｉネットワークにブロードキャストされるイベントを監視して、ＨＡＶｉ機器のプラグインを検知した場合は仮想デバイス管理手段１０７へ通知するものである。仮想デバイス管理手段１０７は仮想デバイスを使ったＧＷ機能を有効にするためのアドレスの準備をし、仮想デバイスを待機状態にするものである。
【００２０】
疑似アドレス生成手段１０８は、他のネットワークエンティティーが仮想デバイスと通信するためのＨＡＶｉ側、ＩＰ側それぞれのアドレスを生成するものである。アドレス対応管理手段１０９は、ＨＡＶｉ機器、ＩＰ機器のコネクションとそれぞれに付与された疑似アドレスの対応を管理するものである。ＨＡＶｉメッセージ入出力手段（第１のメッセージ入出力手段）１１０は、ＧＷ装置がＨＡＶｉネットワークの機器と通信するためのインタフェースを提供するものである。
仮想デバイス１１１は、ＨＡＶｉ機器をＩＰネットワーク側から、またはＩＰ機器をＨＡＶｉネットワーク側から利用可能とするための通信プロトコル変換を行なうためのゲートウェイとなるものである。ＩＰネットワーク入出力手段（第２ネットワーク入出力手段）１１２は、ＩＰネットワークとのインタフェースを提供するものである。
【００２１】
図２は、図１の仮想デバイス１１１が持つ機能を示すための構成図である。
【００２２】
２０２はＧＷを介して通信する機器の対応を管理するコネクション管理手段である。２０３は、ＨＡＶｉ、ＩＰ側それぞれから受け取った命令を、通信先が理解可能な命令に変換する命令変換手段である。命令変換手段が参照する命令の対応は、命令対応管理手段２０４に管理される。ただし、命令の対応情報は、仮想デバイス外部にデータベースとして管理されていても良いし、対応を規格化するなど事前に決めておくことができれば、汎用的な仮想デバイスとして実装されていても良い。２０５はＧＷ装置が受け取ったメッセージを、他ネットワークに転送するために、宛先アドレス、送信元アドレスを変換するアドレス変換手段である。２０６はＧＷ装置のＩＰネットワーク入出力手段とのインタフェースを提供するものである。２０７はＧＷ装置のＨＡＶｉネットワーク入出力手段とのインタフェースを提供するものである。
【００２３】
図３は、ＨＡＶｉのアドレスの構成を説明したものであり、ＨＡＶｉアドレス３０１は、ＨＡＶｉデバイス固有に割り当てられるＩＤ３０２と、デバイス内のHAVi Software Elementを識別するために付与されるＩＤ３０３から成り、ＳＥＩＤ（Software Element ID）と呼ばれる。HAVi Software Element は、このＳＥＩＤにより他の Software Element と通信を行なう。ＨＡＶｉデバイス固有に割り当てられるＩＤ３０２は、GUID（Global Unique ID）と呼ばれ、EUI64で規定される６４ｂｉｔの識別子であり、デバイス内のSoftware Element を識別するために付与されるSw-Handle は１６ｂｉｔの識別子である。SEIDとしては合計８０ｂｉｔのビット列となる。本例では単純化のため、SEIDはGUIDとSw-Handleの組合わせを、GUIDとSw-Handleをハイフンで連結した形式で記述する。
【００２４】
図４は、ＨＡＶｉとインターネットにおけるサービス命令の対応情報の例である。４０２はHAVi命令で、同行の４０３が対応するインターネットサービス命令である。この情報は独立したデータベースであっても、プログラムとして対応が実装されていても良い。
【００２５】
図５は、ＨＡＶｉとインターネット側のアドレスの対応を管理するテーブルの例である。
【００２６】
５０２はＧＷ装置で動作する仮想（HAVi）デバイスと通信を行なうIP機器とのコネクションを管理する列で同行の５０３は対応するHAVi側のアドレス（SEID）であり、さらに同行の５０４はインターネット側へのアクセス識別子となるものである。本例では、ＧＷ装置のＨＡＶｉ ＧＵＩＤ は “１０”、ＩＰ側の識別子は “１９２．０．０．１”を想定している。
【００２７】
図６は、図５で示したアドレス付与の例（仮想ＶＴＲとＩＰクライアント１）によるＧＷ装置へのアクセスのアドレスをＨＡＶｉ側からとＩＰ側からのそれぞれの例を図示したものである。ＩＰ側からは“１９２．０．０．１：８０８０”でアクセスし、ＨＡＶｉ機器からの返信は“１０−２”で行なう。
【００２８】
図７はＨＡＶｉネットワークにＨＡＶｉ機器がプラグインされた時のＧＷ装置の動作を示したフローチャートである。
【００２９】
図８は、仮想デバイスに、インターネット側からアクセスを受けた時のＧＷ装置の動作を示したフローチャートである。
【００３０】
まず、図７のフローチャートをもとに、図１、図2を使ってＨＡＶｉ機器がＨＡＶｉネットワークにプラグインした時のＧＷ装置の動作について説明する。
【００３１】
ＨＡＶｉネットワークにＨＡＶｉ機器がプラグインされると、ＨＡＶｉネットワークに機器のプラグインを他のＨＡＶｉ機器へ通知可能なイベント（例えばHAVi1.0β におけるNewSoftwareElement グローバルイベント）をブロードキャストする。プラグイン検知手段１０６は、このイベントを監視しており、前記プラグイン通知イベントを検知すると、イベントの付加情報であるプラグインされた機器のHAViアドレス（SEID＝SoftwareElementID）を得る［７０１]。SEIDを得る事により、SEIDをキーにしてHAViレジストリーを検索して［７０２］プラグインされた機器の属性情報（機種、機器ＩＤ，メーカＩＤ）を取得することができるようになる［７０３］。この情報により仮想デバイス管理手段１０７は、HAViのプラグイン機器をIPネットワークからアクセスするためのＧＷとなる適切な仮想デバイスを準備し、待機状態にする［７０４］。ここで、仮想デバイスを準備するとは、1.予め用意された各種機器向けのＧＷプログラムの中から適切なものを選択する、2.機器情報から動的に生成する、3.汎用的なＧＷプログラムに対して接続機器の情報を通知することで適切な動作を行なわせる、といった方法が考えられる。ＧＷとなる仮想デバイスの機能構成の例を図２に示す。待機状態になると同時に、IP側からのアクセスを受け付けるための識別子を付与し［７０５］、アドレス対応テーブルに図５の５０１に登録する［７０６］。GWはIP機器からの接続待ち状態になる［７０７］。以上が図７で示したプラグイン後の動作の流れである。
【００３２】
次に、IP機器からの接続要求を受けた後のGWの動作につて、図８のフローチャートをもとに、図1、図2、図３、図４、図５、図6を使って説明する。
【００３３】
IP側からのアクセス要求がくる［８０１］と、仮想デバイス管理手段１０７は、IP側クライアントからの要求に対してHAVi側からGWを介して応答するための仮想的なHAViアドレスの生成を、疑似アドレス生成手段１０８に依頼する。HAViアドレスは図３に示すように、GUID（Global Unique ID）とSwHandle(Software Handle)から構成されており、このうちGUIDは全HAVi機器を一意に識別するものである。またSwHandle は同一HAVi機器上のソフトウェアエレメントを識別するための識別子であり、HAVi機器毎に管理されるものである。このアドレス体系のため、IPクライアントへの応答を代理として受け取る仮想デバイスの疑似アドレスは仮想デバイス１１１が動作するＧＷ装置のHAVi対応機器としてのGUIDを反映したものでなければならない。従って、疑似アドレス生成手段１０８は、ＧＷ装置のGUIDを取得し［８０２］、デバイス内でHAViアドレスが一意になるようにSwHandleを算出及び付与し、図３に示すようなHAViアドレス（SEID）が生成される。［８０３］。
この新たに生成されたHAViアドレスが仮想デバイス管理手段１０７に渡されると、仮想デバイス管理手段はHAViアドレス５０３と、先に付与したIP側からのアクセスのためのアドレス５０４と、通信する機器の組合わせ（HAVi機器とIPクライアントの組）５０２との対応を、アドレス対応管理手段１０９に、図５に示すように登録する［８０４］。本実施の形態では、ＨＡＶｉアドレスの仮想デバイスへの付与を、ＩＰ側からのアクセス時に行なったが、ＩＰ側からのアクセス前に予め割り当てを行なっていても良い。
【００３４】
図５の例では、GWのGUIDを１０、IPアドレスを１９２．０．０．１、IPクライアント１からアクセスされたHAVi機器はＶＴＲと仮定している。ゲートウェイ装置で複数の仮想デバイスが接続を待機する可能性があるので、本例では仮想ＶＴＲデバイスのポート識別番号を、8080番としている。しかしながら、コネクションの管理は必ずしもIPアドレスとポート番号の組で行なう必要はない。
【００３５】
コネクションとアドレスの対応の登録を行なったら、ＩＰ側からのメッセージを取得し［８０５］、IP側から呼び出された命令に対応するＨＡＶｉ命令を図４の命令対応テーブルを参照して、ＨＡＶｉ命令に翻訳する［８０６］。例えば、IPクライアントからRPCPlay()という命令がコールされた場合、仮想デバイスはこれに対応したHAVi命令ＶＴＲ::Play()をコールする。命令の変換が終わると、先に仮想デバイスに割り当てられた疑似アドレスを発信元ＨＡＶｉアドレスとし、通信相手であるＶＴＲのHAViアドレスを送信宛先 としてHAViメッセージを構成し、HAViメッセージ入出力手段１１０を使って通信先HAVi機器１０１へメッセージを送出する［８０７］。メッセージを受け取ったHAVi機器（ＶＴＲ）１０１は指定された動作を行ない、必要であれば応答メッセージをGWの仮想デバイスに対して返信する。
【００３６】
以下コネクションが切断されるまで、同様な手順で通信が進み［８０８］、コネクションの切断要求がHAVi機器またはIP機器から起ると仮想デバイスがこれを解釈し［８０９］、HAVi側、IP側それぞれのコネクションをクローズする［８１０］。同時にアドレス対応管理手段１０９によりアドレス対応管理テーブルからエントリを削除する［８１１］。最後に仮想デバイスは他に処理すべきコネクションがなければ待機状態に戻る。
【００３７】
また、本実施の形態では、ＩＰネットワーク側からＨＡＶｉ機器へのアクセスを説明したが、ＨＡＶｉネットワークからＩＰ機器へのアクセス手順も同様に行なわれる。
以上説明したように、本実施の形態のゲートウェイ装置は、ＩＰネットワークに接続された機器と、ＨＡＶｉネットワークに接続されたＨＡＶｉ機器との通信を可能とする。
【００３８】
（実施の形態２）
以下本発明の請求項２記載のゲートウェイ装置の実施の形態を図面を参照しながら説明する。
【００３９】
図９は、本発明のゲートウェイ装置の構成を示す機能ブロック図である。
IPプラグイン検知手段９０９は、IPディレクトリ９１５からのIP機器のプラグイン情報を得て、仮想デバイス管理手段９０７に次に説明する動作の開始を依頼する。仮想デバイス管理手段９０７は実施例１で説明した機能に加えて、ＩＰプラグイン検知手段から通知を受けるとＨＡＶｉレジストリ登録手段９１４に対し、新たに追加されたIPネットワークの機器をHAViネットワークからも認識できるように、HAViレジストリ９１３に登録を依頼するものである。ＨＡＶｉレジストリ９１３は、ＨＡＶｉ仕様のRegistryに相当するＨＡＶｉネットワーク内での機器ディレクトリ情報を提供するものであり、ＨＡＶｉアドレス（ＳＥＩＤ）と、機器の属性情報（機種、メーカ、提供機能、利用者の付けたニックネーム）による検索が可能になっている。例えば、“デジタルＴＶ”で検索すると、ＨＡＶｉネットワークに接続されている“デジタルＴＶ”のＳＥＩＤを得ることができ、これによって通信を開始することができるようになる。また、ＩＰディレクトリ９１５は、IPネットワーク上において、サービスの検索サービスやサービスを利用するためのインタフェース情報の提供を行なうものである。
【００４０】
なお、ＩＰディレクトリは必ずしも１つの機器で集中管理する必要はなく、各機器自身が自分のプラグイン情報をネットワーク内に同報し、機器検索には該当する機器自身が応答するような形態であっても良い。HAVi機器９０１、HAViネットワーク９０２、ゲートウェイ装置９０３、IPネットワーク９０４、IP機器９０５、アドレス対応管理手段９０６、疑似アドレス生成手段９０８、HAViメッセージ入出力手段９１０、仮想デバイス９１１、IPネットワーク９１２については、実施の形態１で説明した内容と同じである。
【００４１】
図１０は、本発明のゲートウェイ装置のプラグイン検知手段の動作の流れを説明するフローチャートである。
【００４２】
図１１は、本発明のゲートウェイ装置の仮想デバイス管理手段の動作の流れを説明するフローチャートである。（ａ）はIP機器が新規にプラグインされた時の処理、（ｂ）はIP機器がネットワークから取り外された時の処理である。
【００４３】
図１２は、本実施例におけるアドレス対応テーブルの例である。
【００４４】
図１３は、HAVi側とIP側のサービス（本実施例の場合、プリンターなどの機器）の識別子の対応を記憶管理するサービス対応テーブルの例である。
【００４５】
以下図１０及び図1１のフローチャートをもとに、ゲートウェイ装置の動作を図９、図１２、図１３を使って説明する。
まず、図１０により、ＩＰプラグイン検知手段の動作について説明する。
【００４６】
IPプラグイン検知手段９０９は、IP側でサービス検索のディレクトリサーバの役割をするIPディレクトリ９１５へ対して、IP機器のプラグイン、取り外しに関するイベント通知の依頼を行なう［１００１］。ただし、プラグアンドプレイの規格によっては、通知依頼は不要なものもある。依頼した後は、IPプラグイン検知手段は、通知連絡待機状態となる［１００２］。IP機器９０５はＩＰディレクトリにプラグインするためのプロトコルにより、IPディレクトリ９１５にプラグインを依頼し、必要な情報（機器情報、インタフェース情報、サービスの識別子）を登録する。IPディレクトリ９１５は、前記プラグイン検知手段９０９より通知依頼された内容に合致しているかを判断し、イベントを通知する必要があると判断した場合は、プラグイン検知手段にプラグインイベントを通知する［１００３］。ここでは、例としてネットワークプリンターがIPネットワーク９０４にプラグインされたとする。ＩＰプラグイン検知手段９０９は、通知依頼内容を解析し、通知の内容を判断する［１００３］。通知イベントの内容が、新サービスのプラグインであった場合、通知されたイベントの付加情報より“ネットワークプリンター”がプラグインされた情報を得る［１００４］。
【００４７】
さらに、仮想デバイス管理手段９０７に、プラグインされた機器についてゲートウェイ処理を行なうための仮想デバイスの準備依頼を行なう。［１００５］。
なお、本実施例では、通知されたイベントの付加情報によりプラグインされた機器の種類の情報を得たが、HAVi機器側からのレジストリ検索要求をトリガーとして、IP側ディレクトリ情報を検索するように動作しても良い。
【００４８】
次に、図１１（ａ）をもとに新IP機器がプラグインされた時の、仮想デバイス管理手段９０７の動作を説明する。
【００４９】
ＩＰプラグイン検知手段９０９から依頼を受けた仮想デバイス管理手段９０７は、IPディレクトリサーバ９１５へ問い合わせを行ない、プラグインされた機器のインタフェース情報を取得する。なお、インタフェース情報の取得は、HAVi機器からＩＰ機器が検索された時点や、ＨＡＶｉ機器からＧＷ装置を通しての接続依頼を受けた時点で行なっても良い。
【００５０】
ここで、インターフェース情報とは、機器を制御するための機器依存の情報で、実体はHTMLやXML,JavaScriptなどのスクリプト言語で記述された情報や、JavaAppletのようにユーザインタフェースを提供するプログラムや、機器制御メソッドのＡＰＩを含むオブジェクトである。
【００５１】
仮想デバイス管理手段９０７は、前記取得した機器情報を元に、GWとして適切な仮想デバイス９１１を準備する［１１０２］。仮想デバイスの準備は、例えば、HAViなど異なるプラグアンドプレイ仕様の相互運用のための規格が存在すると仮定すれば、相互運用規格に準じた仮想デバイスを予め用意しておいて、機器の種類に対応するものを選定するという方法も考えられる。例えばIP側にプラグインされた機器が“ネットワークプリンター”であった場合、Jini規格で規定された“ネットワークプリンター”をHAViから使用するための相互運用規格に従った“ネットワークプリンタ仮想デバイス”を選択する。
【００５２】
仮想デバイス管理手段９０７は実施の形態１と同様に疑似アドレス生成手段９０６を使って、仮想デバイスのHAViアドレス（SEID,HUID）を取得する［１１０３］。取得したHAViアドレスSEIDとHUID及び機器に関する付加情報をHAViレジストリ９１３に登録する［１１０４］。ここで、HUIDはHAVi Unique IDの略で、HAViのネットワークリセットに影響を受けない恒久的なSoftwareElementの識別子として使われるものである。
【００５３】
次にHAViレジストリ９１３は、HAViネットワークに対し、新規（仮想）HAVi機器のプラグインを通知するNewSoftwareElementグローバルイベントをブロードキャストする。これにより、HAViネットワーク側でも、新規にIPネットワークにプラグインしたIP機器（サービス）を利用するためのIPアドレスを何らかの手段で調べて入力する、といった手順を行なうことが不要になる。
【００５４】
仮想デバイス管理手段９０７は、先に付与されたHAViアドレスとIP側での識別情報の組を実施の形態１で説明したアドレス対応管理手段９０６を通じてアドレス対応テーブルに登録し、仮想デバイスを待機状態にする［１１０５］。
【００５５】
アドレス対応テーブルの例を図１２に示す。この例では、IPネットワークのネットワークプリンターのゲートウェイとなる仮想デバイスは、HAVi側からはSEID=１０-５、IP側からは192.0.0.1として見えることを示している。また、図１３に示すように、手順１００３で取得したインターネット側でのサービス（本例ではネットワークプリンタ）の識別子と、HAVi側に見せる識別子の対応を管理する。ここで、インターネット側でのサービスの識別子は、ディレクトリサービスにより一意に管理される識別子で、例えばJini のサービスIDがこれにあたる。HAVi機器からの命令（例えば 画像のプリンタ出力）を受けると、仮想デバイスは実施例１と同様に、命令の変換を行ない、変換後の命令をIPネットワーク入出力手段を通じてIPネットワークへ送出する。
【００５６】
次に、IP機器が取り外された時の動作を図１０、図１１のフローチャートをもとに説明する。
【００５７】
手順１００３の通知イベントがサービス消滅であった場合、プラグイン検知手段９０９は、仮想デバイス管理手段９０７へサービスの消滅処理を依頼する。仮想デバイス管理手段は、図１１のフローに示すように、図１３のサービス対応管理テーブルを検索して［１１０９］、消滅したサービスがプラグインしているかどうかを判断する［１１１０］。プラグインしていた時は、アドレス対応管理手段９０６を通してアドレス対応テーブルからエントリーを削除する［１１１１］。また、HAViレジストリ９１３のエントリーを削除し［１１１２］、仮想デバイスを停止する［１１１３］。HAViネットワークには、SoftwareElement消滅を通知するGoneSoftwareElementグローバルイベントをブロードキャストし、IP機器の消滅を通知する［１１１４］。
【００５８】
この手順により、IP側のサービスが消滅（本例では機器が取り外される）すると、ゲートウェイ装置９０３においても連動して、HAViレジストリから削除され、不整合が防止できるようになる。
【００５９】
以上説明したように、本発明の実施の形態２に記載したゲートウェイ装置は、ＨＡＶｉネットワークの機器からＨＡＶｉレジストリを介して、ＩＰネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とする。
【００６０】
（実施の形態３）
以下本発明の請求項３記載のゲートウェイ装置の実施の形態を図面を参照しながら説明する。
【００６１】
図１４は、本発明のゲートウェイ装置の構成を示す機能ブロック図である。ＨＡＶｉプラグイン検知手段１４０６は、ＨＡＶｉネットワークにブロードキャストされるプラグインイベントを監視して、ＨＡＶｉ機器のプラグイン情報を得て、仮想デバイス管理手段１４０７に次に説明する動作の開始を依頼するものである。仮想デバイス管理手段１４０７は実施例１で説明した動作に加えて、ＩＰディレクトリ登録手段１４１４に対し、新たに追加されたＨＡＶｉ機器をＩＰネットワークからも認識できるように、ＩＰディレクトリ１４１５への登録を依頼するものである。ＩＰディレクトリ１４１５、ＨＡＶｉレジストリ１４１３は、実施例２における説明と同じである。HAVi機器１４０１、HAViネットワーク１４０２、ゲートウェイ（ＧＷ）装置１４０３、IPネットワーク１４０４、IP機器１４０５、アドレス対応管理手段１４０９、疑似アドレス生成手段１４０８、HAViメッセージ入出力手段１４１０、仮想デバイス１４１１、IPネットワーク入出力手段１４１２については、実施の形態１で説明した内容と同じである。
【００６２】
図１５は、本発明のゲートウェイ装置のＨＡＶｉプラグイン検知手段１４０６の動作の流れを説明するフローチャートである。
【００６３】
図１６は、本発明のゲートウェイ装置の仮想デバイス管理手段の動作の流れを説明するフローチャートである。（ａ）はＨＡＶｉ機器が新規にプラグインされた時の処理、（ｂ）はＨＡＶｉ機器がネットワークから取り外された時の処理である。
【００６４】
以下図１５及び図1６のフローチャートをもとに、本発明のＧＷ装置の動作を図１４、図１２、図１３を使って説明する。
【００６５】
まず、図１５により、ＨＡＶｉプラグイン検知手段１４０６の動作について説明する。
【００６６】
ＨＡＶｉプラグイン検知手段１４０６は、ＨＡＶｉミドルウェアのイベント管理部へＨＡＶｉネットワークにブロードキャストされるイベントの監視と通知を依頼する［１５０１］。ＨＡＶｉ仕様では、HAViイベントの入出力を管理するHAVi System Software Element である EventManagerにイベント通知登録をしておくと、HAVｉミドルウェアがネットワーク上に流れるメッセージを監視し、該当イベントがブロードキャストされれば依頼したSoftwareElement（本例の場合、HAViプラグイン検知手段）へ通知が行なわれるようになる。依頼後、HAViプラグイン検知手段１４０６は、通知連絡待機状態となる［１５０２］。HAVi機器１４０１は、プラグインするとHAVi仕様で規定されているように、ホストとなる機器のディレクトリ情報データベースである「Registry」に自機の情報を登録する。
「Registry」は新規のプラグインをHAViネットワーク全体に通知するためのイベント（NewSoftwareElement グローバルイベント）をブロードキャストする。
【００６７】
先に記したように、HAViプラグイン検知手段１４０６はブロードキャストされた新規プラグイン通知イベント（NewSoftwareElement イベント）をＨＡＶｉミドルウェア経由で取得する［１５０３］。ここでは、例としてビデオテープレコーダ（VTR）がHAViネットワーク１４０２にプラグインされたとする。ＨＡＶｉプラグイン検知手段１４０６は、通知されたイベントの付加情報より“ＶＴＲ”がプラグインされた情報を得る［１５０４］。さらに、仮想デバイス管理手段１４０７に、プラグインされた機器についてゲートウェイ処理を行なうための仮想デバイス準備依頼を行なう。［１５０５］。
【００６８】
次に、図１６をもとにHAVi機器が新たにプラグインされた時の、仮想デバイス管理手段１４０７の動作を説明する。
【００６９】
HAViプラグイン検知手段１４０６から依頼を受けた仮想デバイス管理手段１４０７は、HAViレジストリ１４１３へ問い合わせを行ない、プラグインされた機器の情報（機種、HUID、製造メーカー名、、、）を取得する。なお、機器情報の取得は、必ずしもプラグインと同時である必要はない。
【００７０】
仮想デバイス管理手段１４０７は、前記取得した機器情報を元に、ゲートウェイとして適切な仮想デバイス１４１１を準備する［１６０２］。仮想デバイスの準備は、実施の形態２の場合と同様に、例えば、HAVi、Jiniの相互運用のための規格が存在すると仮定して、相互運用規格に準じた仮想デバイスを予め用意しておいて、機器の種類に対応するものを選定するという方法も考えられる。例えばHAVi側にプラグインされた機器が“VTR”であった場合、HAVi規格で規定された“VTR”をJiniから使用するための相互運用規格に従った“VTR仮想デバイス”を選択する。仮想デバイス管理手段１４０７は実施例１と同様に疑似アドレス生成手段１４０８を使って、仮想デバイスのIP側からアクセスするための識別子（例：IPアドレス、ポート番号）を取得する［１６０３］。取得したIP識別子及び機器に関する付加情報からインタフェース情報を生成する［１６０４］。ここで、インターフェース情報とは、機器を制御するための機器依存の情報で、形式としてはHTMLやXML,JavaScriptなどのスクリプト言語で記述されたものや、JavaAppletのようにユーザインタフェース情報を含むものや、機器操作メソッドのＡＰＩを含むオブジェクトである。
【００７１】
次に、前記生成したインタフェース情報をIPディレクトリ１４１５に、各プラグアンドプレイの仕様により定められるプロトコルでプラグインする［１６０５］。
これにより、IPネットワーク側でも、新規にHAViネットワークにプラグインしたHAVi機器（サービス）をアクセス識別子、アクセス手段を調べる手順なしに透過的に利用できるようになる。
【００７２】
仮想デバイス管理手段１４０７は、先に付与されたHAViアドレスとIP側での識別情報の組を実施の形態１で説明したアドレス対応管理手段１４０８を通じてアドレス対応テーブルに登録し、仮想デバイスを待機状態にする［１１０６］。アドレス対応テーブルの例は実施の形態１で説明した図５と同様である。また、図１３に示すように、手順１５０４で取得したインターネット側でのサービス（本例ではＶＴＲ）の識別子と、ＩＰ側に見せる識別子の対応を管理する。ここで、インターネット側へ見せるサービスの識別子は、各プラグアンドプレイの仕様により定められる識別子である。
【００７３】
IP機器からの命令（例えば VTR録画）を受けると、仮想デバイスは実施の形態１と同様に、命令の変換を行ない、HAViネットワークへ変換後の命令をHAViネットワーク入出力手段を通じて送出する。
【００７４】
次に、HAVi機器が取り外された時の動作を図１５、図１６のフローチャートをもとに説明する。
【００７５】
手順１５０３の通知イベントがサービス消滅（HAVi仕様では GoneSoftwareElement グローバルイベント）であった場合、HAViプラグイン検知手段１４０６は、仮想デバイス管理手段１４０７へサービスの消滅処理を依頼する。
仮想デバイス管理手段は、イベントの付加情報であるHAViアドレス（SEID）をキーにHAViレジストリ１４１３を検索して、取り外された機器のHUIDを取得する。
次に図１６のフローに示すように、図１３のサービス対応管理テーブルを検索して［１６１０］、消滅したサービスがプラグインしているかどうかを判断する［１６１１］。アドレス対応管理手段１４０９を通してアドレス対応テーブル及びサービス対応テーブルからエントリーを削除する［１６１２、１６１３］。また、IPディレクトリ１４１５に、サービスの消滅を通知する［１６１４］。次に仮想デバイスを停止する［１６１５］。
【００７６】
この手順により、HAVi側のサービスが消滅（本例では機器が取り外される）すると、IPディレクトリ１６１５においても連動して、エントリーから削除され、不整合が防止できるようになる。
【００７７】
以上説明したように、本発明の実施の形態３に記載したゲートウェイ装置は、ＩＰネットワークの機器から、ＩＰディレクトリを介して、ＨＡＶｉネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とする。
【００７８】
（実施の形態４）
以下本発明の請求項４記載のゲートウェイ装置の実施の形態を図面を参照しながら説明する。
【００７９】
図１７は本実施例におけるゲートウェイ装置の機能ブロック図である。
【００８０】
HAViストリーム管理手段１７１６は、ＨＡＶｉ仕様に準拠したHAVi機器間のストリーム転送を可能にするものである。仮想デバイス１７１１は実施の形態１に記載の構成に加えて、IPネットワークに接続されたＩＰ機器とのコネクションを確立し、必要な場合は帯域の確保を行なう。ストリームポート対応管理手段１７１７は、ＧＷ装置上のＨＡＶｉ仕様におけるストリームの管理単位であるＦＣＭプラグ（HAVi Functional Component Plug）とＩＰストリームポートの対応を管理するものである。ストリームパケット変換手段１７１８は、ＨＡＶｉストリームパケットとＩＰストリームパケットを相互に変換して送出するものである。他の要素については、実施の形態１から３の説明と同様である。
【００８１】
図１８は、GW装置を仲介してHAVi機器とIP機器の間でストリームコネクションを生成する手順を説明したシーケンス図である。
【００８２】
図１９は、図１８の手順で生成したストリームを切断する手順を示したシーケンス図である。
【００８３】
図２０は、ストリームポートの対応を管理する対応テーブルの例である。２００２はストリームを扱えるＨＡＶｉ ＦＣＭのＩＤ（ＨＡＶｉ Ｕｎｉｑｕｅ ＩＤ）である。２００３は、ＨＡＶｉストリームのＦＣＭプラグの番号である。２００４は、ＩＥＣ６１８８３で定められるＰＣＲ（Plug Control Register）の番号である。２００５は、ＩＰ側でストリームコネクションをつくるためのＩＰポート番号である。
【００８４】
図１８のシーケンス図をもとに、図１７、図２０を使ってHAVi機器、IP機器間でストリームコネクションを生成する手順について説明する。
【００８５】
映像受信能力を持つIP機器１７０５がプラグインされると、実施例２で説明したように、GW装置１７０３のHAViレジストリ１７１３にIPディレクトリ１７１５と連動して登録される。この際、GW装置はプラグインされたIP機器について、１）ストリームを扱う能力を持つか、２）扱えるデータレート、を機器情報として収集、記憶しておく。
【００８６】
次に、HAVi機器が前記プラグインされたIP機器へストリームを送出する手順について、図１８のシーケンス図を元に図１７、図２０を使って説明する。
【００８７】
HAVi機器１７０１は、映像を受信することが可能な機器をHAVi Registry の機能を使って検索を行なう[１８０１]。先に説明したように、IP機器１７０５が映像を受信できる機器として登録されているので、GW装置１７０３は、IP機器の仮想デバイス１７１１のHAViアドレスSEIDをHAVi機器へ返信する［１８０２］。HAVi機器はHAVi仕様で定められた手順に従って、ストリーム生成のネゴシエーションを開始する。HAVi規格では、ストリームコネクション生成の前処理として、通信相手側の、１）プラグ使用状況、２）扱えるストリームのタイプ、について問い合わせを行なう［１８０３］。本例のGW装置１７０３上の仮想デバイスは、IP機器の代理であるので、IPネットワーク上の実体の状況を問い合わせ、必要ならばGW装置とIP機器間の伝送帯域の確保を行なう［１８０４］。次にGW装置自身の物理的な空きプラグを検出し、ストリームポート管理手段１７１７を用いて、プラグ管理テーブルに登録する［１８０５］。プラグ管理テーブルには図２０に示すように、仮想デバイスのHUID,HAViプロトコルで使用するストリーム送受信の口となるFCMプラグの番号、及びIEC６１８８３で規定される物理的なPCR（Plug Control Register）の番号、ＩＰ側で使用するポート番号、を記録する。
以上の処理の後、GW装置はHAViストリーム管理部を介してHAVi機器に対し、ストリーム生成のための問い合わせの返信を行なう。［１８０６］HAVi機器ではストリーム送出の準備が整うと、ストリームの送出指示をHAViミドルウェアに対して行なう。この時ストリーム送出の通知イベント（ConnectionAddedグローバルイベント）が送出される［１８０７］。ストリームがGW装置に到達すると、IP側へ送出するために、IEC61883パケットをIPパケットに変換する。必要ならばDVフォーマットをMPEGへの変換などＩＰ上で適したデータフォーマットへの変換を行なう。IP機器へ対して変換後のストリームを送出する。
【００８８】
なお、本実施例では、ＨＡＶｉ側からＩＰ側へのストリーム転送について説明したが、同様な手順でＩＰ側からＨＡＶｉへのストリーム転送も実現できる。
以上がストリームを送出する流れについて説明したものである。
【００８９】
次に、ストリームコネクションの切断の動作の流れについて、図１９のシーケンス図をもとに図１７、図２０を用いて説明する。
【００９０】
HAVi機器からストリーム切断の指示が起ると、HAViミドルウェアはHAViネットワークに対してストリーム停止通知イベント（Connection Dropped グローバルイベント）を送出する。GW装置１７０３のHAViストリーム管理手段１７１６はこのイベントを検知して、そのイベントの付加情報である送出元のHUIDから図２０のプラグ管理テーブルを検索して、切断されたコネクションを知る［１９０２］。GW装置はプラグ管理テーブルの情報から切断すべきIPコネクションを特定し、切断処理を行なう［１９０３］。プラグ管理テーブルから切断したエントリーを削除する［１９０４］。
【００９１】
本実施例では、ＨＡＶｉ側からのストリームコネクション切断の手順について説明したが、同様な手順でＩＰ側からのストリームコネクションの切断も実現できる。
【００９２】
以上が切断処理について説明したものである。
【００９３】
以上説明したように、本発明の実施の形態４に記載したゲートウェイ装置は、ＨＡＶｉ機器とＩＰ機器との間でのストリーム転送を可能にする。
【００９４】
（実施の形態５）
以下本発明の請求項５記載のゲートウェイ装置の実施の形態を図面を参照しながら説明する。
【００９５】
図２１は本実施例におけるゲートウェイ装置の機能ブロック図である。
【００９６】
ＤＤＩ（Data Driven Interaction）情報取得手段２１１６は、ＤＤＩ機能を提供するＨＡＶｉ機器とＤＤＩプロトコルにより通信を行ない、前記ＨＡＶｉ機器を操作するためのＧＵＩ構築に必要な情報を収集、記憶するものである。ＵＩ生成手段２１１７は、前記取得したＨＡＶｉ機器を操作するためのＤＤＩ情報から、インターネット上で一般的に利用されるＧＵＩ定義形式（ＨＴＭＬ，JavaAppletなど）に変換するものである。ＵＩ生成手段２１１７は、HAVi GUIを構成する要素であるDDI Element と、インターネットで一般的に使用されているGUIの構成部品（JAVA AWTなど）との対応情報を持つ。ＵＩ提供手段２１１８は、インターネット側のクライアントＩＰ機器２１０５の通信アプリケーション（WWWブラウザなど）のリクエストを受け付けて、前記変換したGUIをクライアントＩＰ機器２１０５へ送信するものである。仮想デバイス２１１１は実施例１で説明した機能に加えて、ＩＰ機器２１０５からの前記GUIを介したリクエストを受け付け、HAVi機器とDDIプロトコルで通信する機能を持つものである。すなわち、ＨＡＶｉ仕様のDDI Controller の機能を持つ。他の要素は実施の形態１から３で説明した内容に同じである。
【００９７】
図２２は、HAVi機器がプラグインされた後、GW装置がHAVi機器のDDI情報を取得する動作の流れを示したシーケンス図である。
【００９８】
図２３は、インターネットのクライアント機器から、GW装置で生成したGUI定義情報を使用して、GW装置を介してHAVi機器に要求を行なう動作の流れを示したシーケンス図である。
【００９９】
図２４はDDI情報により生成したGUIの例である。図２５は前記DDI情報取得手段が収集したDDI情報の一部の例である。図２６は、図２５のDDI情報からインターネットで使用するGUIを生成した際のソースコードの例の一部である。
【０１００】
以下図２２のシーケンス図をもとに、DDI情報を取得してIP向けGUIを生成する流れを説明する。
【０１０１】
HAVi機器２１０１がHAViネットワーク２１０２にプラグインされると、実施例３で説明したように、GW装置２１０３はHAViプラグイン検知手段２１０６がイベントを検知して［２２０１］、該HAVi機器の機器情報をHAVi Registry２１１３からSEIDをキーに検索することにより取得する［２２０２］。機器情報には、HAVi仕様で予約されている属性（GUI_Requirement）の値として、DDIをサポートしているか否かが登録されている。GW装置２１０３は、DDIがサポートされていると判断すると、前記HAVi機器２１０１に対してDDIプロトコルによるDDI情報の収集を行なう［２２０３］。GW装置は、取得したDDI Elementを図２５に示すような情報として記憶する［２２０４］。
【０１０２】
次に、前記記憶したDDI情報をもとに、ＵＩ変換手段２１１７が、IP側GUIの部品との対応知識を利用して、GUIの定義情報を生成する［２２０５］。図２６は、図２５のDDI情報から生成した定義情報（この場合プログラムコード）の例である。なお、図２６では、GUI操作イベントをハンドルする個所についてのみ例を挙げている。GUI操作イベントとして“PLAY"ボタンが押された際、GW装置上のサーバのCallDDi（）というメソッドを、GUI部品の識別子（図２５のElementID）と共に操作対象のHAVi機器へ送信する。また、図２４は、図２５の部品をGUIパネル上に展開した例であり、DDI Elementの必須属性であるLabelテキスト情報を利用して、パネルとボタン部品を生成している。ここで、ElementIDとは、操作対象となるHAVi機器側が割り当てるＧＵＩ部品の識別子であり、ＨＡＶｉ機器がどの部品が操作されたかを認識するためのものである。
【０１０３】
次に図２３を用いてIP機器クライアントからGW装置を介してHAVi機器を操作する流れについて説明する。
【０１０４】
まずクライアントIP機器２１０５は、WWWブラウザなどの汎用ＵＩから、GUIの取得要求を送信する［２３０１］。GW装置はUI提供手段がこれを受けて操作対象のＨＡＶｉ機器とＤＤＩプロトコルによる通信セッションを開始し［２３０２］、前記生成したGUIを転送する[２３０３］。IP機器２１０５は取得したGUIの部品（ボタンなど）を表示し、ユーザの操作を受けて、HAVi機器２１０１の制御を行なう。この時、先に説明した図２６のコードで示されるようなイベント処理によって、GW装置２１０３上仮想デバイス２１１１のメソッドが呼び出される。この際、引数として、どのGUI部品が、どのような操作を受けたかが、仮想デバイス２１１１に渡される。例えば、GUI部品のElementID=１と、動作（Pressed）が渡される［２３０４］。仮想デバイス２１１１では、この引数からDDIプロトコルのUserActionメソッドを、ＤＤＩプロトコルで操作対象のＨＡＶｉ機器に対して送信する［２３０６］。ＨＡＶｉ機器２１０１はこの命令を受け、指定の動作を行なうと共に、必要であれば状態の変化を通知する［２３０７］。サーバ側ではこの返信をさらに翻訳して、ＩＰ機器２１０５へ必要であれば、転送する。以降、ＩＰ機器２１０５がＧＵＩの操作を受けるたびに前記２３０４からの動作を繰り返す。また、ＨＡＶｉ機器側で、他の理由により何らかの状態変化が発生し（テープ残が無くなったなど）、これをＩＰ機器に伝える必要がある場合は、ＤＤＩプロトコルの NotifyDdiChnage を発行し［２３０９］、ＧＷ装置がこれを転送することによってクライアント側に状態を通知することができる［２３１０］。クライアント側から操作終了の指示が伝えられると［２３１１］、ＧＷ装置の仮想デバイス２１１１は、ＤＤＩプロトコルのUnSubscribe（）メソッドをHAVi機器
に対し発行し、操作のセッションをクローズする［２３１２］。
【０１０５】
以上説明したように、本発明の実施の形態５に記載したゲートウェイ装置は、ＩＰ機器にＨＡＶｉ機器を操作するためのＵＩの表示を可能にする。
【０１０６】
（実施の形態６）
以下本発明の請求項６記載のゲートウェイ装置の実施の形態を図面を参照しながら説明する。
【０１０７】
図２７は、本実施例におけるゲートウェイ装置の機能ブロック図である。仮想デバイス提供サイト２７１７は、外部のインターネット上でゲートウェイの働きをする仮想デバイスを提供するサーバで、例えば機器メーカやプロバイダーで運営するWWWサイトがこれにあたる。
【０１０８】
ダウンロード手段２７１６は、前記仮想デバイス提供サイト２７１７にアクセスして指定された仮想デバイス２７１１をダウンロードしてくるものであり、図２８に説明するようなダウンロード先に関する知識を持つ。仮想デバイス管理手段２７０７は、実施の形態３で説明した機能に加えて、HAVi機器プラグイン時に該当機器のゲートウェイとなる仮想デバイスがゲートウェイ装置内に存在しなかった場合は、ダウンロード手段２７１６を通じて、仮想デバイス提供サイト２７１７よりダウンロードする。なお、ダウンロードはＧＷ装置上に既に存在する仮想デバイスと異なるバージョンのものを使用するためであっても良い。その他の要素については実施の形態１から３における説明と同じである。
【０１０９】
図２８は仮想デバイスのダウンロード先を管理するテーブルの例である。
【０１１０】
図２９は、本実施例におけるＧＷ装置の動作を説明するフローチャートである。
【０１１１】
図２９のフローチャートをもとに、ＧＷ装置の動作の流れについて、図２７、図２８を使って説明する。
【０１１２】
新たなHAVi機器２７０１がHAViネットワーク２７０２にプラグインされると、HAViプラグイン検知手段２７０６がイベントを受けることによって、プラグインが通知される［２９０２］。次にHAVi レジストリ ２７１３を検索することによって、プラグインされた機器の情報を得る［２９０３］。次に仮想デバイス管理手段２７０７は、HAVi機器をインターネット側からアクセスするための仮想デバイスの準備を行なおうとする［２９０４］。ここまでの詳細は、実施の形態１と同様である。仮想デバイス管理手段２７０７は、ローカルサイト内に該当HAVi機器のための仮想デバイスが存在するかをチェックする。また、必要であれば仮想デバイスのバージョンのチェックをして更新の必要があるかを判断する［２９０５］。仮想デバイスが存在し、バージョンを更新する必要がない場合は、以降実施の形態３と同様である［２９０６］。仮想デバイスが存在しないか、またはバージョンを更新する必要があると判断された場合、仮想デバイス管理手段は、図２８に示すような提供サイトに関する情報から、先のHAVi レジストリ ２７１３から取得した機器情報（機器番号、機種、メーカ名）をキーに検索することで、外部の仮想デバイスの取得先（本例では、URL）を取得する［２９０７］。ダウンロード手段２７１６はこの仮想デバイスの取得先の情報を元に、IPネットワーク入出力手段２７１２を介して、仮想デバイスをダウンロードする［２９０８］。仮想デバイス管理手段２７０７はダウンロードされた仮想デバイスを、実施の形態３と同様に疑似アドレスの割り振り、IPディレクトリ２７１５への登録を行ない、待機状態にする［２９０９］。
【０１１３】
以上説明したように、本発明の実施の形態６に記載したゲートウェイ装置は、ローカルに保持する情報ではゲートウェイ機能を提供できない場合でも、ネットワーク上から必要機能を取得してゲートウェイ機能を提供可能とする
【０１１４】
【発明の効果】
以上のように本発明によれば、ゲートウェイ装置は、第一に、ＩＰネットワークに接続された機器と、ＨＡＶｉネットワークに接続されたＨＡＶｉ機器との通信を可能とするという効果を有する。第二に、ＨＡＶｉネットワークの機器からＨＡＶｉレジストリを介して、ＩＰネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とするという効果を有する。第三に、ＩＰネットワークの機器から、ＩＰディレクトリを介して、ＨＡＶｉネットワークにプラグインされた機器の自動検出とインタフェース情報の取得を可能とするという効果を有する。第四に、ＨＡＶｉ機器とＩＰ機器との間でのストリーム転送を可能にするという効果を有する。第五に、ＩＰ機器にＨＡＶｉ機器を操作するためのＵＩの表示を可能にするという効果を有する。第六に、ローカルに保持する情報ではゲートウェイ機能を提供できない場合でも、ネットワーク上から必要機能を取得してゲートウェイ機能を提供可能とするという効果を有する。
【図面の簡単な説明】
【図１】本発明の実施の形態１におけるゲートウェイ装置の機能ブロック図
【図２】本発明の実施の形態１における仮想デバイスの構成要素例の図
【図３】ＨＡＶｉアドレスの構成図
【図４】本発明の実施の形態１における命令対応テーブル例の図
【図５】本発明の実施の形態１におけるアドレス対応管理テーブル例の図
【図６】本発明の実施の形態１におけるＧＷ装置へのアクセスのアドレス例の図
【図７】本発明の実施の形態１におけるゲートウェイ装置のプラグイン時の動作フロー図
【図８】本発明の実施の形態１におけるゲートウェイ装置の接続要求受付時の動作フロー図
【図９】本発明の実施の形態２におけるゲートウェイ装置の機能ブロック図
【図１０】本発明の実施の形態２におけるＩＰプラグイン検知手段の動作フロー図
【図１１】（ａ）本発明の実施の形態２における仮想デバイス管理手段のプラグイン時の動作フロー図
（ｂ）本発明の実施の形態２における仮想デバイス管理手段の機器取り外し時の動作フロー図
【図１２】本発明の実施の形態２におけるアドレス対応管理テーブル例の図
【図１３】本発明の実施の形態２におけるサービス対応管理テーブル例の図
【図１４】本発明の実施の形態３におけるゲートウェイ装置の機能ブロック図
【図１５】本発明の実施の形態３におけるＨＡＶｉプラグイン検知手段の動作フロー図
【図１６】（ａ）本発明の実施の形態３における仮想デバイス管理手段のプラグイン時の動作フロー図
（ｂ）本発明の実施の形態３における仮想デバイス管理手段の機器取り外し時の動作フロー図
【図１７】本発明の実施の形態４におけるゲートウェイ装置の機能ブロック図
【図１８】本発明の実施の形態４におけるストリームコネクション確立時の動作シーケンス図
【図１９】本発明の実施の形態４におけるストリームコネクション切断時の動作シーケンス図
【図２０】本発明の実施の形態４におけるプラグ管理テーブル例の図
【図２１】本発明の実施の形態５におけるゲートウェイ装置の機能ブロック図
【図２２】本発明の実施の形態５におけるゲートウェイ装置のＤＤＩ情報取得動作シーケンス図
【図２３】本発明の実施の形態５におけるＩＰからＤＤＩプロトコルによるＧＵＩ操作シーケンス図
【図２４】本発明の実施の形態５におけるＤＤＩ情報を元にしたＧＵＩ例の図
【図２５】本発明の実施の形態５におけるＤＤＩ情報例の図
【図２６】本発明の実施の形態５における自動生成ＧＵＩコード例の図
【図２７】本発明の実施の形態６におけるゲートウェイ装置の機能ブロック図
【図２８】本発明の実施の形態６における仮想デバイスのダウンロード先情報例の図
【図２９】本発明の実施の形態６におけるゲートウェイ装置の仮想デバイスダウンロード時の動作フロー図
【符号の説明】
１０１ ＨＡＶｉ機器
１０２ ＨＡＶｉネットワーク
１０３ ゲートウェイ装置
１０４ ＩＰネットワーク
１０５ ＩＰ機器
１０６ ＨＡＶｉプラグイン検知手段
１０７ 仮想デバイス管理手段
１０８ 疑似アドレス生成手段
１０９ アドレス対応管理手段
１１０ ＨＡＶｉメッセージ入出力手段
１１１ 仮想デバイス
１１２ ＩＰネットワーク入出力手段
２０１ 仮想デバイス
２０２ コネクション管理手段
２０３ 命令変換手段
２０４ 命令対応管理手段
２０５ アドレス変換手段
２０６ ＩＰメッセージ入出力手段とのインタフェース
２０７ ＨＡＶｉメッセージ入出力手段とのインタフェース
３０１ ＨＡＶｉアドレス
３０２ ＥＵＩ６４アドレス（ＧＵＩＤ）
３０３ Ｓｗ−Ｈａｎｄｌｅ
４０１ 命令対応テーブル
４０２ ＨＡＶｉ命令
４０３ インターネットサービス命令
５０１ アドレス対応管理テーブル
５０２ ＨＡＶｉ−ＩＰコネクション管理情報
５０３ ＨＡＶｉ側アドレス
５０４ インターネット側アドレス
９０１ ＨＡＶｉ機器
９０２ ＨＡＶｉネットワーク
９０３ ゲートウェイ装置
９０４ ＩＰネットワーク
９０５ ＩＰ機器
９０６ アドレス対応管理手段
９０７ 仮想デバイス管理手段
９０８ 疑似アドレス生成手段
９０９ ＩＰプラグイン検知手段
９１０ ＨＡＶｉメッセージ入出力手段
９１１ 仮想デバイス
９１２ ＩＰネットワーク入出力手段
９１３ ＨＡＶｉレジストリ
９１４ ＨＡＶｉレジストリ登録手段
９１５ ＩＰディレクトリ
１４０１ ＨＡＶｉ機器
１４０２ ＨＡＶｉネットワーク
１４０３ ゲートウェイ装置
１４０４ ＩＰネットワーク
１４０５ ＩＰ機器
１４０６ ＨＡＶＩプラグイン検知手段
１４０７ 仮想デバイス管理手段
１４０８ 疑似アドレス生成手段
１４０９ アドレス対応管理手段
１４１０ ＨＡＶｉメッセージ入出力手段
１４１１ 仮想デバイス
１４１２ ＩＰネットワーク入出力手段
１４１３ ＨＡＶｉレジストリ
１４１４ ＩＰディレクトリ登録手段
１４１５ ＩＰディレクトリ
１７０１ ＨＡＶｉ機器
１７０２ ＨＡＶｉネットワーク
１７０３ ゲートウェイ装置
１７０４ ＩＰネットワーク
１７０５ ＩＰ機器
１７０６ ＨＡＶＩプラグイン検知手段
１７０７ 仮想デバイス管理手段
１７０８ 疑似アドレス生成手段
１７０９ アドレス対応管理手段
１７１０ ＨＡＶｉメッセージ入出力手段
１７１１ 仮想デバイス
１７１２ ＩＰネットワーク入出力手段
１７１３ ＨＡＶｉレジストリ
１７１４ ＩＰディレクトリ登録手段
１７１５ ＩＰディレクトリ
１７１６ ＨＡＶｉストリーム管理手段
１７１７ ストリームポート対応管理手段
１７１８ ストリームパケット変換手段
２１０１ ＨＡＶｉ機器
２１０２ ＨＡＶｉネットワーク
２１０３ ゲートウェイ装置
２１０４ ＩＰネットワーク
２１０５ ＩＰ機器
２１０６ ＨＡＶＩプラグイン検知手段
２１０７ 仮想デバイス管理手段
２１０８ 疑似アドレス生成手段
２１０９ アドレス対応管理手段
２１１０ ＨＡＶｉメッセージ入出力手段
２１１１ 仮想デバイス
２１１２ ＩＰネットワーク入出力手段
２１１３ ＨＡＶｉレジストリ
２１１４ ＩＰディレクトリ登録手段
２１１５ ＩＰディレクトリ
２１１６ ＤＤＩ情報手段
２１１７ ＵＩ生成手段
２１１８ ＵＩ提供手段
２７０１ ＨＡＶｉ機器
２７０２ ＨＡＶｉネットワーク
２７０３ ゲートウェイ装置
２７０４ ＩＰネットワーク
２７０５ ＩＰ機器
２７０６ ＨＡＶＩプラグイン検知手段
２７０７ 仮想デバイス管理手段
２７０８ 疑似アドレス生成手段
２７０９ アドレス対応管理手段
２７１０ ＨＡＶｉメッセージ入出力手段
２７１１ 仮想デバイス
２７１２ ＩＰネットワーク入出力手段
２７１３ ＨＡＶｉレジストリ
２７１４ ＩＰディレクトリ登録手段
２７１５ ＩＰディレクトリ
２７１６ ダウンロード手段
２７１７ 仮想デバイス提供サイト
【図１】
0004058845.tif 000002
【図２】
0004058845.tif 000003
【図３】
0004058845.tif 000004
【図４】
0004058845.tif 000005
【図５】
0004058845.tif 000006
【図６】
0004058845.tif 000007
【図７】
0004058845.tif 000008
【図８】
0004058845.tif 000009
【図９】
0004058845.tif 000010
【図１０】
0004058845.tif 000011
【図１１】
0004058845.tif 000012
【図１２】
0004058845.tif 000013
【図１３】
0004058845.tif 000014
【図１４】
0004058845.tif 000015
【図１５】
0004058845.tif 000016
【図１６】
0004058845.tif 000017
【図１７】
0004058845.tif 000018
【図１８】
0004058845.tif 000019
【図１９】
0004058845.tif 000020
【図２０】
0004058845.tif 000021
【図２１】
0004058845.tif 000022
【図２２】
0004058845.tif 000023
【図２３】
0004058845.tif 000024
【図２４】
0004058845.tif 000025
【図２５】
0004058845.tif 000026
【図２６】
0004058845.tif 000027
【図２７】
0004058845.tif 000028
【図２８】
0004058845.tif 000029
【図２９】
0004058845.tif 000030