(57)【要約】  本発明は、1394バス以外のネットワーク技術に基づくネットワークでのオーディオ及びビデオ相互運用性に関する。本発明は、特に通信ネットワークに接続可能な装置によるこのネットワークに接続された他の装置の発見方法に関し、そのネットワークに装置を接続するステップと、このネットワークに接続された他の全ての装置を宛先とし、装置を記述する自動記述情報を含む通知メッセージを発信するステップと、このネットワークに接続された他の全ての装置に自動記述情報要求メッセージを発信するステップと、他の装置の自動記述情報を含むネットワークの他の装置のそれぞれから応答メッセージを受信するステップとを有する。本発明はまた、装置を記述する自動記述情報を含む通知メッセージをネットワークの他の全ての装置に発信する手段と、自動記述情報を要求するメッセージをネットワークの他の全ての装置に発信する手段と、ネットワークの他の装置のそれぞれを記述する情報を含む応答メッセージを受信する手段とを有するネットワークに接続可能な装置に関する。
2007518323.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続可能な装置による前記ネットワークに接続された他の装置の発見方法であって、
前記ネットワークに装置を接続するステップと、
前記ネットワークに接続された他の全ての装置を宛先とし、装置を記述する自動記述情報を含む通知メッセージを発信するステップと、
前記ネットワークに接続された他の全ての装置に自動記述情報要求メッセージを発信するステップと、
他の装置の自動記述情報を含むネットワークの他の装置のそれぞれから応答メッセージを受信するステップと
を有することを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記要求メッセージと前記通知メッセージとは結合される方法。
【請求項３】
請求項１又は２に記載の方法であって、
装置を記述する自動記述情報は、前記装置のネットワークのアドレスを有する方法。
【請求項４】
請求項１ないし３のうちいずれか１項に記載の方法であって、
装置を記述する自動記述情報は、前記ネットワークでの前記装置を特定するアドレスと異なる一意のグローバル識別子を有する方法。
【請求項５】
請求項１ないし４のうちいずれか１項に記載の方法であって、
装置を記述する自動記述情報は、前記装置を制御可能にするソフトウェアモジュールの特性を有する方法。
【請求項６】
請求項１ないし５のうちいずれか１項に記載の方法であって、
前記通知メッセージは、前記ネットワークでのブロードキャストにより配信される方法。
【請求項７】
請求項１ないし５のうちいずれか１項に記載の方法であって、
前記通知メッセージは、他の装置が登録していなければならない所定のマルチキャストアドレスでのマルチキャストにより配信される方法。
【請求項８】
装置を記述する自動記述情報を含む通知メッセージをネットワークの他の全ての装置に発信する手段と、
自動記述情報を要求するメッセージを前記ネットワークの他の全ての装置に発信する手段と、
前記ネットワークの他の装置のそれぞれを記述する情報を含む応答メッセージを受信する手段と
を有することを特徴とするネットワークに接続可能な装置。
【請求項９】
請求項８に記載の装置であって、
装置を記述する自動記述情報は、前記装置のネットワークのアドレスを有する装置。
【請求項１０】
請求項８又は９に記載の装置であって、
前記ネットワークでの前記装置のアドレスと異なる一意のグローバル識別子を生成することを可能にする手段を有する装置。
【請求項１１】
請求項８ないし１０のうちいずれか１項に記載の装置であって、
装置を記述する自動記述情報は、前記装置を制御可能にするソフトウェアモジュールの特性を有する装置。
【請求項１２】
請求項８ないし１１のうちいずれか１項に記載の装置であって、
前記ネットワークでのブロードキャストにより前記通知メッセージを配信する手段を有する装置。
【請求項１３】
請求項８ないし１１のうちいずれか１項に記載の装置であって、
他の装置が登録していなければならない所定のマルチキャストアドレスでのマルチキャストにより前記通知メッセージを配信する手段を有する装置。
【発明の詳細な説明】
【背景技術】
【０００１】
家庭内オーディオ及びビデオ相互運用性（HAViはHome  Audio  Video  interoperabilityを表す）は、IEEE1394バスの技術を使用したネットワークに基づいて家庭内環境のオーディオ及びビデオ装置の相互接続を可能にする大衆消費者向け電気会社により開発された仕様である。現バージョン（HAVi,  Inc.  2694  Bishop  Drive,  Suite  275  San  Ramon,  CA  94583,  USAから入手可能なバージョン1.1）は、IEEE1394バス（参照はIEEE1394-2000標準である）以外の技術に基づくネットワークで動作するように設計されていない。
【０００２】
家庭内装置での市場の現在の状態では、家庭内の状況で発展したネットワークは一般的に異種であり、IEEE1394以外の様々な技術を含むことが明らかである。例えば、インターネットプロトコル（IPはInternet  Protocolを表す）に従うネットワークの重要性について言及が行われる場合に、その参照はRFC791の番号のRequest  For  Comment（RFC）の形式で見出され得る。これらのリクエストはInternet  Engineering  Task  Force（IETF）により維持されている。HAVi仕様は、1394バスでの用途に関して設計されており、その他の技術のネットワークでの使用は、この他の技術への適用についての問題を生じる。
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明は、1394バス以外のネットワーク技術に基づくネットワークでのオーディオ及びビデオ相互運用性に関する。
【０００４】
本発明は、特に通信ネットワークに接続可能な装置によるこのネットワークに接続された他の装置の発見方法に関し、そのネットワークに装置を接続するステップと、このネットワークに接続された他の全ての装置を宛先とし、装置を記述する自動記述情報を含む通知メッセージを発信するステップと、このネットワークに接続された他の全ての装置に自動記述情報要求メッセージを発信するステップと、他の装置の自動記述情報を含むネットワークの他の装置のそれぞれから応答メッセージを受信するステップとを有する。
【０００５】
本発明の特定の実施例によれば、要求メッセージと通知メッセージとは結合される。
【０００６】
本発明の特定の実施例によれば、装置を記述する自動記述情報は、装置のネットワークのアドレスを有する。
【０００７】
本発明の特定の実施例によれば、装置を記述する自動記述情報は、ネットワークでの装置を特定するアドレスと異なる一意のグローバル識別子を有する。
【０００８】
本発明の特定の実施例によれば、装置を記述する自動記述情報は、この装置を制御可能にするソフトウェアモジュールの特性を有する。
【０００９】
本発明の特定の実施例によれば、通知メッセージは、ネットワークでのブロードキャストにより配信される。
【００１０】
本発明の特定の実施例によれば、通知メッセージは、他の装置が登録していなければならない所定のマルチキャストアドレスでのマルチキャストにより配信される。
【００１１】
本発明はまた、装置を記述する自動記述情報を含む通知メッセージをネットワークの他の全ての装置に発信する手段と、自動記述情報を要求するメッセージをネットワークの他の全ての装置に発信する手段と、ネットワークの他の装置のそれぞれを記述する情報を含む応答メッセージを受信する手段とを有するネットワークに接続可能な装置に関する。
【００１２】
本発明の特定の実施例によれば、装置は、ネットワークでの装置を特定するアドレスと異なる一意のグローバル識別子を生成可能にする手段を有する。
【００１３】
本発明の特定の実施例によれば、装置は、ネットワークでのブロードキャストにより通知メッセージを配信する手段を有する。
【００１４】
本発明の特定の実施例によれば、装置は、他の装置が登録していなければならない所定のマルチキャストアドレスでのマルチキャストにより通知メッセージを配信する手段を有する。
【発明を実施するための最良の形態】
【００１５】
以下の説明を読むことにより、本発明が良く理解され、他の特徴及び利点が明らかになる。その説明は添付図面を参照する。
【００１６】
以下の本発明の例示的な実施例は、IP型ネットワークへのHAViへの適応のフレームワークに関して示されているが、本発明はこの形式のネットワークに限定されず、HAViをその他の形式のネットワークに適応させるために使用可能であることが明らかである。本発明はまた、ネットワークに接続された装置を発見しようとする場合に、HAVi以外の使用に関して使用可能である。
【００１７】
図１は、1394バスを有するネットワークでのHAVi仕様で規定されるHAViスタックのアーキテクチャを示す。HAViスタックは、API（“Application  programming  interface”）1.1を介してJAVA（登録商標）でプログラム可能である。装置のスタックは、装置を制御するモジュール（DCM  “Device  Control  Module”）又は装置の機能を制御するモジュール（FCMは“Function  Control  Module”を表す）1.7を有し得る。スタックはまた、ネイティブモジュール1.8を有し得る。レジスタベース1.8（“レジストリ”）は、ネットワークの全ての装置の基礎を維持する。イベントマネージャ1.3は、装置の状態の変化から生じるイベントをネットワークで送信する役目をする。リソースマネージャ1.4は、リソースの共有と動作のスケジューリングとを可能にする。装置制御モジュールマネージャ1.5は、ネットワークの他の装置の制御を可能にするモジュールのインストール及び削除を可能にする。ストリームマネージャ1.6は、ネットワークでのオーディオ及びビデオコンテンツのリアルタイム転送ストリームを管理することができる。メッセージシステム1.9は、システムの様々な構成要素間でメッセージを渡す役目をする。トランスポートレイヤに適応するモジュール1.10（TAMは“Transport  Adaptation  Module”を表す）は、HAViメッセージの組立及び分解を可能にする。伝送媒体のマネージャ1.11（CMMは“Communication  Media  Manager”を表す）は、システムの他の装置がメッセージマネージャを関与せずに伝送媒体を直接使用することを可能にする。このことは、制御が独自仕様のプロトコルに依存する非HAVi装置制御モジュールを実装可能にするために特に必要になる。ストリームマネージャ、TAM又はCMMは、この例1394では、ネットワークのドライバ1.12と対話する。
【００１８】
図２は、本発明の例示的な実施例に関して、HAViスタックのアーキテクチャを示している。ここには、トランスポートレイヤ適応モジュール2.10を除いて、前の図と同じ要素が存在することがわかる。また、TAMとして動作するTCPプロトコルがある。伝送媒体マネージャは、1394ではなく、IPに適応しなければならない。従って、CMMIP2.11を有する。これらのモジュールはIPレイヤ2.12と相互作用する。その部分のストリームマネージャは、ストリーム交換についてIPでサービス品質を提供する802.1q/Q2.13レイヤと相互作用する。
【００１９】
HAVi仕様は、ソフトウェアコンポーネントについてネットワークの一意の識別子を規定する。この識別子はSEID（“Software  Element  Identifier”を表す）と呼ばれる。この識別子は80ビットで符号化され、２つの異なる要素で構成される。第１の識別子は、ネットワークでソフトウェアコンポーネントをホストする装置の固有の識別子に対応する。この識別子は64ビットであり、GUID（“Global  Unique  Identifier”を表す）と呼ばれる。このGUIDは、1394装置を一意に特定するためにIEEE1394により規定されている。すなわち、1394コンポーネントのEUI-64は何らかの1394装置の読み取り専用メモリに格納される。文献“Guidelines  for  64-bit  Global  Identifier  (EUI-64w)  Registration  Authority”でIEEEにより規定されたEUI-64は、24ビットの会社識別子に続いて40ビットの拡張子で構成されることを思い出されたい。
【００２０】
SEIDを構成する第２の要素は、ホストする装置内のコンポーネントを特定することを可能にする16ビットの識別子である。ネットワークの装置の一意の識別子と装置のコンポーネントの識別子とを連結することにより、HAViネットワーク内で何らかのソフトウェアコンポーネントを一意に特定することが可能になる。
【００２１】
しかし、IPネットワークでは等価な64ビットの識別子が存在しない。このネットワークでは、IPバージョン4で34ビットのIPアドレスのみが存在し、IPバージョン6で128ビットのIPアドレスのみが存在する。また、ネットワークがEthernet（登録商標）ネットワークである場合には48ビットのMACアドレスが存在する。第１の着想は、80ビットのSEIDを構成するために、関連のネットワークの本来の識別子と装置のローカルの識別子とを連結して後者を補うことにより、SEIDを構成することである。実際には、異種ネットワークが例えば1394及びIPに基づくバスに接続される場合には、この対策は動作しない。この場合、64ビットのGUIDと16ビットのローカル識別子とに基づいて構成されたSEIDと、例えば32ビットのIPアドレスと48ビットのローカル識別子とに基づいて構成された他のものとが共存することにより、一意でない識別子になることがある。特に、169.254.100.16のIPアドレスと0x000000123456のローカル識別子とに対応する  0xA9FE6410000000123456のSEIDは、0xA9FE641000000012のGUIDと0x3456のローカル識別子とで構成されたSEIDと衝突し得る。従って、HAViを管理しようとするネットワークの形式にかかわらず、64ビットの識別子（GUID）及び16ビットのローカル識別子としてSEIDの構造を保持することが適切である。
【００２２】
従って、1394の標準GUIDと干渉しない（従ってIEEEのEUI-64と干渉しない）GUIDを生成する手段を目的のネットワークで見つける必要がある。これらのEUI-64は、装置が由来する会社を特定する24ビットの会社識別子と、EUI-64が由来しており、会社から生じる識別子の全セット内で一意性の役目をする会社により管理される40ビットの拡張子との連結である。会社識別子は、IEEE登録機関により集中的に管理されている。IPバージョン4のネットワークでこのようなGUIDを構成する第１の手段は、32ビットの当該IPアドレスと連結される0xFFFFFFFEを採用することである。0xFFFFFFの値は会社識別子としてIEEEにより割り当てられてはならないため、GUIDを連結するこの方法は、EUI-64で構成されたGUIDと衝突しない識別子を確実に生成する。
【００２３】
これを行う他の方法は、48ビットのMACアドレスを拡張することにより、EUI-64を構成するIEEEにより推奨された方法を使用することである。すなわち、0xccccccFFFFeeeeeeの形式の構成を選択する。ただし、0xccccccはMACアドレスの会社を特定する部分を表し、0xeeeeeeはMACアドレスの拡張子である。この場合、IEEEは0xFFFFFF及び0xFFFFFEで始まってはならない40ビットの拡張子の割当てを制限しているという事実を通じて、EUI-64との衝突がないことが確保される。0xFFFFFF及び0xFFFFFEは、それぞれMAC-48アドレス及びEUI-48の拡張子の印としてそれぞれ保留されている。
【００２４】
以下のテーブルは、以前の段落で言及したアドレス又は識別子の様々なフォーマットを要約している。
【００２５】
【表１】
2007518323.tif 000003
IPバージョン6のネットワークの場合には、問題は少し異なる。具体的には、このバージョンのIPは、128ビットのアドレスを推奨する。IPバージョン6のアドレスは、２つの部分の64ビット（プレフィックス及びインタフェースの識別子）で構成される。この識別子は、会社識別子の“u/l”ビットと異なり、EUI-64に対応するように設計される。しかし、この差は、EUI-64の一意性を危うくしない。従って、HAVi装置のGUIDを構成するために、IPバージョン6のアドレスの最後の64ビットを直接採用することが可能になる。
【００２６】
IPバージョン4とIPバージョン6との双方の互換性のある装置の場合には、装置のIPバージョン6により規定された識別子を採用するべきである。IPバージョン4に従ってその後にバージョン6と互換性を有するようになることによりネットワークで立ち上がる装置では、装置は、切断されて再接続されているとみなされ、それにより、そのバージョン6アドレスから生じた識別子を割り当てられる。
【００２７】
HAVi装置がネットワークに接続すると、ネットワーク発見段階に入り、このネットワークで利用可能な他の装置を確かめることが可能になる。基礎となるネットワークが1394バスである従来の場合には、新しい装置のプラグインによりもたらされるバスリセット段階は、バスに接続された他の装置のそれぞれのバスで、各装置によりアドレスのリストを取得することで終了する。その後、新しい装置は、読み取り専用メモリで装置の自動記述を読み取るために、ネットワークの各装置に質問することができる（SDDはSelf  Describing  Deviceを表す）。特に、HAVi仕様は、各装置がIEEE1212標準に従うアドレス可能データを保有することを要求する。
【００２８】
従って、1394バス以外のネットワークに対してこの発見段階を置き換えることについて問題が生じる。一方で、ネットワークの装置がネットワークに接続された全ての装置のアドレスのリストを取り出すことを可能にする本来の機構が存在しない。他方で、IEEE1212標準に従うときに行われる遠隔装置のメモリに読み取りに行くことは一般的に可能ではない。それに対して、IPネットワークは、特別の受信者を用いずにネットワークでメッセージを発信することを可能にし、接続された各装置はそのメッセージを受信するブロードキャスト機構を有する。従って、ネットワークに接続する各装置は、ネットワークでブロードキャストメッセージを発信し、自分自身を通知することができる。
【００２９】
マルチキャスト機構も存在する。この機構はマルチキャストアドレスを規定する。この機構を通じて、このマルチキャストアドレスに対して送信された何らかのパケットは、このブロードキャストアドレスに登録している何らかの装置により受信される。従って、HAVi装置のネットワークでの通知に専用の既知のマルチキャストアドレスを規定することが可能である。ネットワークに接続する各装置は、このマルチキャストアドレスで自分自身を通知し、この専用のアドレスに登録しているネットワークの他の全ての装置は、通知を受信する。
【００３０】
このメッセージは、SDDに含まれる自動記述情報を更に有する。このように、ネットワークの各装置は、装置のメモリから読みに行くように、その情報でそのテーブルを更新することができる。例えば、このメッセージはIPプロトコル上のUDPを使用することができる。このように、UDP誤り検出から利益を受ける。HAViに専用のUDPポートを規定することも可能である。この情報の例を図３に示す。ここにあるものは、以下の通りである。
−HAViメッセージバージョン：HAVi1.1仕様にあるように、この装置によりサポートされるHAViシステムのバージョンを示す。
・第１バイトは予備であり、0x00でなければならない。
・第２バイトは主のバージョン番号である。
・第３バイトは副のバージョン番号である。
−オペコード：値は以下の通りである。
・0：live
・1：exiting
・2：request
・3〜255：予備
−更新識別子：8ビットのフィールドが0に初期化され、値がメッセージで変化する毎に増加する。これにより、全ての値を比較する必要なく、メッセージの変化が生じたか否かを確かめることが可能になる。
−装置クラス：装置のクラスを規定する。以下のように規定されてもよい。
・0b0000：予備
・0b0001：basic  audio  video（BAV）
・0b0010：intermediate  audio  video（IAV）
・0b0011：full  audio  video（FAV）
・0b0100〜0b1111：予備
−DM：このビットは、DCMマネージャが実装されているか否かをIAV装置について指定する。BAV装置では0に設定され、FAV装置では1に設置されなければならない。
−SM：このビットは、ストリームマネージャが実装されているか否かをIAV装置について指定する。BAV装置では0に設定され、FAV装置では1に設定されなければならない。
−RM：このビットは、リソースマネージャが実装されているか否かをIAV装置について指定する。BAV装置では0に設定され、FAV装置では1に設定されなければならない。
−DC：このビットは、データにより指示されたインタラクションのコントローラが実装されているか否かをIAV装置について指定し（DDIは“Data  Driven  Interaction”を表す）、DDIコントローラ及びレベル2のユーザインタフェースが実装されているか否かをFAV装置について指定する。BAV装置の場合には0に設定されなければならない。
−DS：このビットは、装置の状態（アクティブ又は非アクティブ）を指定する。IPネットワークのHAVi装置の場合には、ネットワークで自分自身を通知するという事実は装置がアクティブであることを示すため、1に設定されなければならない。
−Br：このビットは装置がブリッジであるか否かを指定する。
−GUID：装置のグローバルに一意の装置識別子。
−IPV4アドレス：装置のIPバージョン4のアドレス。定められていない場合には0に設定されなければならない。
−IPV6アドレス：装置のIPバージョン6のアドレス。定められていない場合には0に設定されなければならない。
−ベンダID：IEEEによりグローバル且つ一意に規定されているベンダの識別子。装置の製造者を特定することが可能になる。
−ベンダ長：ベンダを特定するテキストの長さを指定する。各文字は16ビットのユニコードとして符号化される。
−ベンダテキスト：ベンダを特定する文字列。HAVi仕様により50文字に制限される。
−モデルID：装置の製造者により規定された装置モデルを特定する。
−モデル長：モデルを特定するテキストの長さを指定する。各文字は16ビットのユニコードとして符号化される。
−モデルテキスト：モデルを特定する文字列。HAVi仕様により50文字に制限される。
【００３１】
以下のフィールドはBAV装置のみで利用可能である。この情報を提供せず、そのためDCM（“Device  Control  Module”）コードユニットではないBAV装置と、IAV、FAV装置とでは、  “DCU  URLサイズ”フィールドの後に２つの0の補足のバイトがある限り、これらのフィールドが存在しなければならず、0に設定されなければならない。
−DCUサイズ：転送されるDCMコードユニットのバイトでのサイズ。
−DCUインストール空間：ワークスペースを考慮せずにユニットをインストールするために必要なメモリサイズ。
−DCUワークスペース：コードユニットにより必要なワークスペースの推定値。
−DCU  URLサイズ：DCUのアドレスのバイトでのサイズ。
−URLデータ：コードユニットがあるアドレスを形成する文字列。
【００３２】
どのようにネットワークに接続した装置がネットワークの他の装置に自分自身を通知するかについて検討してきた。どのようにこの装置がネットワークの他の装置を発見するかについて規定する必要がある。このため、装置はネットワークで問い合わせを発信する。この問い合わせは、前述の通知メッセージと同じように発信されてもよい。すなわち、既知のアドレスを用いたマルチキャスト又はブロードキャストにより発信されてもよい。このアドレスは、通知メッセージ又はこのメッセージに特有の他のメッセージについて規定されたものと同じでもよい。この問い合わせを受信したネットワークの各装置は、ユニキャストメッセージで応答する。従って、この応答メッセージは、新しく接続された装置のみに発信される。この応答メッセージは、通常ではSDDから読み取られる自動記述情報を通知として有しなければならない。この応答メッセージは、“live”に対して0に設定されたオペコードフィールドを備えた通知メッセージと同じ形式になってもよい。要求のフォーマットは、図３に記載したフォーマットでもよく、“HAViメッセージバージョン”フィールドが通知と同じ意味を有し、“オペコード”フィールドが2に設定される。また、ネットワークへの新しい装置の接続時に、応答メッセージが通知メッセージに応じて直接発信されることも考えられる。この場合、通知メッセージと要求メッセージとは結合される。
【００３３】
ネットワークに接続する装置によるネットワークの発見段階のステップは、図５に要約されている。装置はネットワークに接続する（ステップ5.1）。接続すると、ネットワークに既に接続された装置を宛先にするものに関する自動記述情報を含む通知メッセージを発信する（ステップ5.2）。この自動記述情報は、1394装置のSDDに含まれる情報に対応するものである。装置がネットワークで自分自身を通知すると、ブロードキャスト又はマルチキャストにより他の全ての装置を宛先とする要求を発信する（5.3）。ネットワークの他の装置は、それに関する自動記述情報を含む応答メッセージを要求の送信者に発信することにより、この要求に応答する（ステップ5.4）。
【００３４】
HAVi仕様は、そのアーキテクチャで通信媒体マネージャ（CMM：communication  media  manager）の存在を規定する。CMMは、HAVi仕様が使用される基礎のネットワークに依存するエンティティである。このマネージャはネットワークへのインタフェースを提供するため、HAViコンポーネントは、HAViメッセージの交換を通じて完全には監視されない装置と相互作用することができる。基礎のネットワークの直接の使用を可能にするインタフェースを提供することにより、HAViモジュールが、動作モード及び使用するプロトコルにかかわらず、独自仕様であっても、ネットワークの何らかの装置を駆動することが可能になる。このマネージャにより提供される他の機能は、ネットワークのHAVi装置のグローバルに一意の識別子（GUID）とそのIPアドレスとの間の連結を行うことである。このマネージャはまた、ネットワークでの指示の機構を実装することも可能にする。この指示の機構により、装置がネットワークで他の装置により送信された指示に登録することが可能になる。従って、この指示をメッセージの形式で受信し、このマネージャを構成する様々な関数の記述にあるようにこれらの登録を管理することが可能である。これらの指示への登録は、発信元の関数として受信されたIPパケットのフィルタリングと、このパケットが関与するIPでのプロトコルのフィルタリングとに対応する。IPネットワークに適合したマネージャ（CMMIP）は、以下の関数を有する。
Cmmip::GetGuidList
Status  Cmmip::GetGuidList(out  sequence  <GUID>  guidList)
guidListはネットワークの全ての装置のGUIDのリストである。
【００３５】
この関数により、ネットワークの全てのHAVi装置のGUIDのリストを取り出すことが可能になる。
Cmmip::GetIPAddress
Status  Cmmip::GetlPAdress(
In  GUID  guid,
Out  sequence  <IpAddress>  ipAddressList)
guidはHAVi装置のGUIDである。
【００３６】
InAddressListは、GUIDがネットワークのguidである装置のIPアドレスのリストである。装置は、最大限で１つのIPバージョン4のアドレス及び１つのIPバージョン6のアドレスを有することができる。
【００３７】
この関数は、そのGUIDにより特定された装置のIPアドレスを返す。
Cmmip::GetGuid
Status  Cmmip::GetGuid(
in  IpAdress  ipAdress,
out  GUID  guid)
ipAdressは装置のIPアドレスである。
【００３８】
guidは装置のGUIDである。
【００３９】
この関数は、そのIPアドレスにより特定された装置のGUIDを返す。
Cmmip::Send
Status  Cmmip::Send(
In  Boolean  useGuid,
In  GUID  guid,
In  IpAddress  ipAdress,
In  uchar  hopLimit,
In  uchar  upperProtocol,
In  sequence<octet>  data)
useGuidは、それを特定するために宛先装置のGUIDを使用しているかIPアドレスを使用しているかを決定するBooleanである。
【００４０】
guidは、useGuidが真に設定されている場合のメッセージ宛先装置のGUIDである。
【００４１】
ipAddressは、useGuidが偽に設定されている場合のメッセージ宛先装置のIPアドレスである。
【００４２】
hopLimitは、メッセージが破棄される前に通過するルータの最大数である。
【００４３】
upperProtocolは、IPパケットに含まれるプロトコルの符号である。例えばUDPの符号は17である。
【００４４】
dataは、発信しようとする一連のデータのバイトを示す。
【００４５】
この関数により、GUID又はIPアドレスにより特定される装置にIPパケットを発信することが可能になる。
Cmmip::EnrollIndication
Status  Cmmip::Enrolllndication(
in  Boolean  useGuid,
in  GUID  guid,
in  IpAdresse  ipAdress,
in  OperationCode  opCode,
in  uchar  upperProtocol,
out  Boolean  conflicts)
useGuidは、それを特定するために宛先装置のGUIDを使用しているかIPアドレスを使用しているかを決定するBooleanである。
【００４６】
guidは、useGuidが真に設定されている場合のメッセージ宛先装置のGUIDである。
【００４７】
ipAddressは、useGuidが偽に設定されている場合のメッセージ宛先装置のIPアドレスである。
【００４８】
opCodeは、発信者により提供された動作コードである。すなわち、マネージャCMMIPがクライアントに発信する通知メッセージの“オペコード”フィールドに配置した値である。
【００４９】
upperProtocolは、受信しようとする指示により使用されるプロトコルである。
【００５０】
conflictsは、この登録又は（“enrolment”）が他の登録と衝突する場合に真であり、そうでない場合に偽である値を有する。
【００５１】
この関数により、マネージャCMMIPのクライアントが所定のプロトコルを使用してネットワークで装置により発信された指示に登録することが可能になる。この機構により、送信者の関数としての装置のインタフェース及びIPで使用されたプロトコルのインタフェースにより受信されたIPパケットをフィルタリングすることが可能になる。全てのビットが1に設定されたIPアドレス（IPバージョン4では0xffffffff又はIPバージョン6では0xffffffffffffffffffffffff）又は全てのビットが1に設定されたGUIDにより、送信者のアドレスに関するフィルタリングが求められておらず、送信者が何であれ、正しいプロトコルを有する全ての受信したパケットを受信することが求められることを示すことが可能になる。マネージャCMMIPは、メッセージ管理システムから取得したCmmip::EnrollIndicationを生じるクライアントのSEIDを格納し、それにより、その後にこの登録に対応するIPパケットを受信したときに、以下に説明するCmmipindicationに基づいてメッセージを介して当該パケットに返信することが可能になる。同一のIPパケットが複数の登録に対応してもよく、この場合には全ての登録モジュールに発信されてもよい。CMMIPはまた、クライアントが移動しとき又はネットワークから切断されたときにフィルタを更新する役目もする。
Cmmip::DropIndication
Status  Cmmip::DropIndication(
in  Boolean  useGuid,
in  GUID  guid,
in  IpAdresse  ipAdress,
in  uchar  upperProtocol)
useGuidは、それを特定するために宛先装置のGUIDを使用しているかIPアドレスを使用しているかを決定するBooleanである。
【００５２】
guidは、useGuidが真に設定されている場合のメッセージ宛先装置のGUIDである。
【００５３】
ipAddressは、useGuidが偽に設定されている場合のメッセージ宛先装置のIPアドレスである。
【００５４】
upperProtocolは、もはや受信しようとしていない指示により使用されるプロトコルである。
【００５５】
この関数により、クライアントが登録解除することが可能になる。
<Client>::CmmipIndication
Status  <Client>::CmmipIndication(
in  Boolean  useGuid,
in  GUID  guid,
in  IpAdresse  ipAdress,
in  uchar  upperProtocol,
in  ushort  dataSize,
in  sequence<octet>  indicationData)
useGuidは、それを特定するために宛先装置のGUIDを使用しているかIPアドレスを使用しているかを決定するBooleanである。
【００５６】
guidは、useGuidが真に設定されている場合のメッセージ宛先装置のGUIDである。
【００５７】
ipAddressは、useGuidが偽に設定されている場合のメッセージ宛先装置のIPアドレスである。
【００５８】
upperProtocolは、発信しようとする指示により使用されるプロトコルである。
【００５９】
dataSizeは、発信しようとするバイトでのデータのサイズである。
【００６０】
indicationDataは、指示を構成する実際のデータを表すバイトのシーケンスである。
【００６１】
この関数は、登録の基準を満たすIPパケットに対応するメッセージをクライアントに発信するために、CMMIPにより使用される。
【００６２】
IPパケットの受信時に、CMMIPは、装置に存在するクライアントの現在の様々な登録をテストする。IPパケットの発信元及びプロトコルが、クライアントの登録により定められた基準に対応する場合、パケットはこの関数によってそれに発信される。
NewDevice
void  NewDevices(in  sequence<GUID>  guidList)
guidListは、新しい装置のGUIDのリストである。
【００６３】
このイベントは、１つ以上の新しい装置が自分自身をネットワークで通知するときにCMMIPにより生成される。このイベントは、CMMIPをホストする装置でローカルにのみ配信される。その理由は、各HAVi装置が自分のHAViを所有しているため、イベントのブロードキャストは必要ないからである。
GoneDevices
void  GoneDevices(in  sequence<GUID>  guidList)
guidListは、切断された装置のGUIDのリストである。
【００６４】
このイベントは、１つ以上の装置がネットワークから切断したときにCMMIPにより生成される。ネットワークからの装置の切断は、切断を伝えるメッセージの発信により、又は当該の若しくは発見段階中の装置と通信しようとする時間制限の終了により検出される。この場合、CMMIPは、イベントマネージャを介して、ネットワークを出た装置のGUIDを伝えるイベントを発信する。このイベントは、CMMIPをホストする装置でローカルにのみ配信される。その理由は、ネットワークの各HAVi装置が自分のHAViを有しているため、イベントのブロードキャストは必要ないからである。
ChangedDevices
void  ChangedDevices(in  sequence<GUID>  guidList)
guidListは、IPアドレスを変更した装置のGUIDのリストである。
【００６５】
このイベントは、ネットワークの１つ以上の装置がIPアドレスを変更したときにCMMIPにより生成される。この変更は、IP又は他のアドレスの間での衝突の検出から生じてもよい。CMMIPは、イベントマネージャを介して、IPアドレスを変更した装置のGUIDを伝えるイベントを発信する。このイベントは、CMMIPをホストする装置でローカルにのみ配信される。その理由は、ネットワークの各HAVi装置が自分のHAViを有しているため、イベントのブロードキャストは必要ないからである。それを望むクライアントは、このイベントの受信時に、Cmmip::GetIpAddress関数を介して、当該装置の新しいアドレスを要求してもよい。
GuidListReady
void  GuidListReady(
in  sequence<GUID>  guidList,
in  sequence<GUID>  goneDevices,
in  sequence<GUID>  newDevices,
in  sequence<GUID>  changedDevices)
guidListは、ネットワークに接続された全てのHAVi装置のGUIDのリストである。
【００６６】
goneDevicesは、再構成中にネットワークから存在しなくなった装置のGUIDのリストである（場合によっては空になる）。
【００６７】
newDevicesは、再構成中にネットワークに出現した装置のGUIDのリストである（場合によっては空になる）。
【００６８】
changedDevicesは、再構成中にIPアドレスを変更した装置のGUIDのリストである（場合によっては空になる）。
【００６９】
このイベントは、ネットワークの装置のGUIDのリストが利用可能になったときにCMMIPにより生成される。実際に、ネットワークの再構成中に、このリストはcmmip::GetGuidList関数を介して（CMMIPが新しく再構成されたネットワークの発見段階を終了する時）もはや利用可能でない。このイベントは装置にローカルのイベントである。
ProxyGuidCreated
void  ProxyGuidCreated(
in  GUID  proxyGuid,
in  sequence<IpAddress>  ipAddressList)
proxyGuidは、非HAVi装置について生成されたGUIDである。
【００７０】
ipAddressListは、非HAVi装置のIPアドレスのリストである。
【００７１】
ネットワークのHAVi装置がネットワークの非HAVi装置と相互作用しようとするとき（LAVは“Legacy  Audio  Video  device”を表す）、この相互作用を管理することができる装置制御モジュール（DCM：device  control  module）をインストールすることができる。HAViの世界でこの装置を特定するために、非HAVi装置がこのような識別子を保有していないことを認識してGUIDを割り当てる必要がある。従って、それと動作しようとするHAVi装置は、それにGUIDを割り当て、このGUIDによりアドレス指定されたこの装置に対してHAViの世界での中継としての役目を果たす（プロキシ）。この中継GUIDの生成は、このイベントによりネットワークでローカルでなく伝達され、中継GUIDの伝達が生成され、装置のIPアドレスが特定される。
【００７２】
従って、このように実装されたCMMIPモジュールにより、ネットワークの装置のGUIDのリストを構成し、これらの装置のIPアドレスとGUIDとの間で連結を行うことが可能になる。また、そのGUID又はそのIPアドレスにより認識される装置にネットワークでIPメッセージを発信することも可能になる。また、発信元とIPで使用されるプロトコルとにより特徴付けられるIPメッセージを受信するための登録の可能性も提供する。
【００７３】
IPネットワークでHAViをサポートすることができる装置6.1は、図６に記載のアーキテクチャを有する。HAViスタックにより記述されるモジュールを実行するプロセッサ6.2を関連付ける内部バス6.4を有していなければならない。装置の読み取り専用メモリ6.3に格納されたプログラムは、実行のためにランダムアクセスメモリ6.5にロードされる。IPネットワーク6.7との交換は、IPネットワークインタフェース6.6を介して行われる。
【図面の簡単な説明】
【００７４】
【図１】1394ネットワークで規定されるHAViスタックのアーキテクチャ
【図２】本発明の例示的な実施例で実装されるHAViスタックのアーキテクチャ
【図３】本発明の例示的な実施例で規定される通知パケットのフォーマット
【図４】本発明の例示的な実施例で規定されるSDD要求パケットのフォーマット
【図５】本発明の例示的な実施例に関するネットワークの発見段階のステップ
【図６】IPネットワークでHAViをサポートする装置のハードウェアアーキテクチャ
【図１】
2007518323.tif 000004
【図２】
2007518323.tif 000005
【図３】
2007518323.tif 000006
【図４】
2007518323.tif 000007
【図５】
2007518323.tif 000008
【図６】
2007518323.tif 000009
【国際調査報告】
2007518323.tif 000010
2007518323.tif 000011
2007518323.tif 000012