【手続補正書】
【提出日】平成20年11月12日(2008.11.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
格納データを有するターゲット機器と、コントローラ機器とを含む電子機器のネットワークにおいて、格納データの検索を実行する検索方法において、
ａ）検索条件をコマンド構造で指定するステップと、
ｂ）上記コマンド構造を、上記コントローラ機器からネットワークインタフェースを介して上記ターゲット機器に伝送し、該ターゲット機器は、該コマンド構造の記述子を上記格納データの検索を実行する要求として認識するステップと、
ｃ）上記ターゲット機器が、上記格納データの検索を実行するステップと、
ｄ）上記ターゲット機器が、上記検索条件を満たす該ターゲット機器上のデータを識別し、該検索条件を満たすデータに対応する識別子を決定するステップと、
ｅ）上記識別子を含む応答を、上記ターゲット機器から上記ネットワークインタフェースを介して上記コントローラ機器に伝送するステップとを有する検索方法。
【請求項２】
ｆ）上記コントローラ機器が、上記識別子を用いて、上記検索条件を満たすデータにアクセスするステップと、
ｇ）上記データを、上記ターゲット機器から上記ネットワークインタフェースを介して上記コントローラ機器に転送するステップとを更に有し、
上記ネットワークインタフェースは、ピアツーピア通信をサポートしていることを特徴とする請求項１記載の検索方法。
【請求項３】
上記ｇ）ステップは、上記データによって記述される媒体のオブジェクトを、上記ターゲット機器から上記ネットワークインタフェースを介して上記コントローラ機器に転送するステップを更に有することを特徴とする請求項２記載の検索方法。
【請求項４】
上記コマンド構造は、検索するデータを示すコードと、該検索するデータの場所を示すコードと、該場所内の開始点と、上記識別子の応答フォーマットとを含むことを特徴とする請求項１記載の検索方法。
【請求項５】
上記応答フォーマットは、上記検索条件を満たすデータのアドレスであることを特徴とする請求項４記載の検索方法。
【請求項６】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトの位置であることを特徴とする請求項４記載の検索方法。
【請求項７】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトの識別子であることを特徴とする請求項４記載の検索方法。
【請求項８】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトを含むリストであることを特徴とする請求項４記載の検索方法。
【請求項９】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトを含むリストのタイプであることを特徴とする請求項４記載の検索方法。
【請求項１０】
上記電子機器は、ＡＶ／Ｃ（オーディオビジュアル制御）プロトコルに準拠していることを特徴とする請求項１記載の検索方法。
【請求項１１】
上記ターゲット機器は、プロキシ機器であることを特徴とする請求項１記載の検索方法。
【請求項１２】
上記ネットワーク及びネットワークインタフェースは、ＩＥＥＥ１３９４通信バス標準規格に準拠していることを特徴とする請求項１記載の検索方法。
【請求項１３】
格納データの検索を実行する検索システムにおいて、
ネットワークインタフェースと、
上記ネットワークインタフェースに接続され、格納データを有するターゲット機器と、コントローラ機器とを含む複数の電子機器とを備え、
上記コントローラ機器は、検索条件をコマンド構造で指定し、
上記コントローラ機器は、上記コマンド構造を、上記ネットワークインタフェースを介して上記ターゲット機器に伝送し、
上記ターゲット機器は、上記コマンド構造を、上記格納データの検索を実行する要求を示すものと認識し、
上記ターゲット機器は、上記検索を実行するために上記コマンド構造を実行し、該ターゲット機器上の上記検索条件を満たすデータを識別し、該検索条件を満たすデータに対応する識別子を生成し、
上記ターゲット機器は、上記識別子を含む応答を、該ターゲット機器から上記ネットワークインタフェースを介して上記コントローラ機器に伝送することを特徴とする検索システム。
【請求項１４】
上記コントローラ機器は、上記識別子を用いて、上記検索条件を満たすデータにアクセスし、該検索条件を満たすデータを、上記ターゲット機器から上記ネットワークインタフェースを介して受信し、
上記ネットワークインタフェースは、ピアツーピア通信をサポートしていることを特徴とする請求項１３記載の検索システム。
【請求項１５】
上記コントローラ機器は、上記ターゲット機器から、上記検索条件を満たすデータによって記述される媒体のオブジェクトを読み出すことを特徴とする請求項１４記載の検索システム。
【請求項１６】
上記コマンド構造は、検索するデータを示すコードと、該検索するデータの場所を示すコードと、該場所内の開始点と、上記識別子の応答フォーマットとを有することを特徴とする請求項１３記載の検索システム。
【請求項１７】
上記応答フォーマットは、上記検索条件を満たすデータのアドレスであることを特徴とする請求項１６記載の検索システム。
【請求項１８】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトであることを特徴とする請求項１６記載の検索システム。
【請求項１９】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトの識別子であることを特徴とする請求項１６記載の検索システム。
【請求項２０】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトを含むリストであることを特徴とする請求項１６記載の検索システム。
【請求項２１】
上記応答フォーマットは、上記検索条件を満たすデータによって記述される媒体のオブジェクトを含むリストのタイプであることを特徴とする請求項１６記載の検索システム。
【請求項２２】
上記コントローラ機器は、上記コマンド構造を上記検索を実行する要求として識別する記述子を、上記コマンド構造の特定のフィールドに配置することを特徴とする請求項１３記載の検索システム。
【請求項２３】
上記電子機器は、ＡＶ／Ｃ（オーディオビジュアル制御）プロトコルに準拠し、上記ネットワークインタフェースは、ＩＥＥＥ１３９４通信バス標準規格に準拠していることを特徴とする請求項１３記載の検索システム。
【請求項２４】
上記ターゲット機器は、プロキシ機器であることを特徴とする請求項１３記載の検索システム。
【請求項２５】
上記ネットワークインタフェースは、ピアツーピア通信をサポートし、上記コントローラ機器は、上記コマンド構造を非同期で送信し、上記ターゲット機器は、アイソクロノス応答を送信することを特徴とする請求項１３記載の検索システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】  明細書
【発明の名称】  ＡＶ／Ｃプロトコルにおける記述データの検索方法及びシステム
【発明の詳細な説明】
【０００１】
【技術分野】
本発明は、オーディオ／ビジュアルネットワークに接続された民生用電子機器（consumer electronic devices）に関し、特に、ネットワーク内の電子機器に格納されたデータによって検索を実行する検索システム及び方法に関する。
【０００２】
【背景技術】
典型的なオーディオ／ビジュアル（Ａ／Ｖ）システムは、多様な態様でＡＶメディアを提供及び記録する種々の民生用電子機器から構成されている。例えば、家庭用の典型的なＡＶシステムは、ラジオ受信機すなわちチューナ、コンパクトディスク（ＣＤ）プレーヤ及び／又はデジタル多用途ディスク（ＤＶＤ）プレーヤ、多数のスピーカ、テレビ、ビデオカセットレコーダ（ＶＣＲ）、テープデッキ等の幾つか構成要素を含み、また、パーソナルコンピュータ（ＰＣ）を含む場合もある。ＡＶシステム内の民生用電子機器は、幾つかの方法で、一般的にはケーブルによって相互に接続される。
【０００３】
民生用電子機器は、高性能にかつ複雑になってきており、また、最近の最も高性能な機器に対する要望も高まっている。新しい機器が現れ、一般的になってくると、消費者は、それらの機器を購入し、家庭又はオフィスのＡＶシステムに「接続する（plug）」。また、従来のＡＶシステムは、民生用電子機器をネットワーク化するために、家庭又はオフィス用のＡＶネットワークアーキテクチャ（AV network architecture）に置き換えられつつある。ＡＶネットワークアーキテクチャは、機器の機能及び相互運用性を構築することができる強力なプラットフォームを提供し、また、民生用電子機器に組み込まれつつある、より洗練された構成を利用することができる。
【０００４】
通信規格であるＩＥＥＥ１３９４標準規格は、標準通信プロトコル層（例えばオーディオビジュアル制御（ＡＶ／Ｃ）プロトコル）を用いて、民生用電子機器をネットワーク接続するための規格である。ＩＥＥＥ１３９４標準規格は、非同期及びアイソクロノスフォーマットの両方のデータの転送を可能にする廉価な高速シリアルバスアーキテクチャを実現するための国際標準規格である。ＩＥＥＥ１３９４標準規格は、デジタル機器を相互接続する高速シリアルバスを提供する。これによって、全てのデジタル機器間の入力／出力端子間の接続が可能になる。ＩＥＥＥ１３９４標準規格は、アプリケーション用のデジタルインタフェースを定義しており、これによって、バス間で伝送される前に、デジタル形式のデータからアナログ形式のデータに変換するアプリケーションが必要でなくなる。したがって、受信アプリケーションは、アナログデータではなく、デジタルデータをバスから受け取るので、アナログデータからデジタルデータに変換する必要がなくなる。バスが使用中のときでも、デジタル機器をシリアルバスに接続したり、取り外したりすることができるので、ＩＥＥＥ１３９４標準規格は、ある面で民生用電子機器間の通信に対して理想的である。
【０００５】
ＡＶネットワーク内の少なくとも１つ、例えばチューナ、ＰＣ、又はセットトップボックスのようなインテリジェントコントローラ（intelligent controller）は、コントローラ機器として機能する。コントローラ機器は、ＡＶネットワーク上の他の民生用電子機器を接続するための多数の特定の入力を有し、これらの機器は、ターゲット機器と呼ばれる。コントローラ機器は、対応する数の制御ボタン又は制御スイッチを有し、これらは、ターゲット機器のある程度の制御可能性及び相互運用性を与える。ユーザは、中央の機器の前面にあるボタン及びスイッチを操作することにより、又は掌サイズのリモートコントローラのボタンを操作することにより、ＡＶシステム及びターゲット機器を制御する。家庭用のオーディオ／ビジュアル相互運用性（ＨＡＶｉ）アーキテクチャに準拠した機器からなるネットワークのようなＡＶネットワークの他の実施の形態では、ユーザは、ターゲット機器を、画面に表示されたオンスクリーンディスプレイ（ＯＳＤ）又はコントローラ機器のスピーカを介して制御する。
【０００６】
ＡＶネットワーク内のターゲット機器は、データ構造の階層的セットを提供する方法又はモデルを用いて、コンテンツ及び／又は放送サービスを格納する。このようなモデルの一例として、ハロルド・アーロン・ラッドキー（Harold Aaron Ludtke）によって１９９８年３月１７日に出願され、本発明の譲受人に譲渡された発明の名称「Method and Apparatus for Representing Devices and Available Information within a Network of Devices Using Object List and Object Entries」、米国特許出願第０９／０４０，５４０号、代理人整理番号５０Ｌ１８１９に記載されたＡＶ／Ｃオブジェクトリストモデルがある。この米国特許出願第０９／０４０，５４０号は、引用することによって本願に援用される。ＡＶ／Ｃオブジェクトリストモデルでは、オブジェクトは、ターゲット機器上の異なったエンティティ、例えばコンパクトディスク上の特定のトラック、又は多数のＣＤを保持するＣＤチェンジャ内に装填された特定のコンパクトディスクを表すのに用いられる。オブジェクトリストは、オブジェクトのリストであり、例えばＣＤチェンジャ内の全てのＣＤのリストである。
【０００７】
ＡＶネットワークに関する１つの問題は、ネットワークバスの最大帯域幅容量に関連している。すなわち、一般的には、Ｍビット／秒で測定される、ネットワークがデータを搬送することができる最大速度が存在する。ＡＶネットワーク上の各機器は、データを送信している間は、ある程度の帯域幅容量を使用するので、他の機器が同時に使用することができる帯域幅は減少する。
【０００８】
ＡＶネットワーク、特に、ターゲット機器が主にピア（peers）として動作する分散ネットワークの場合、コントローラ機器は、複数の１つ以上のターゲット機器から、データを検出、アクセス及び読み出すことが必要である。従来の技術の重要な問題は、利用可能なコンテンツを記述した特定のデータのインスタンス（例えば、オブジェクト又はオブジェクトリストに対応した記述データ）を、ターゲット機器から検出するためには、コントローラ機器は、最初に、殆どの又は全てのデータをターゲット機器から読み出す。データは、最初に、ターゲット機器からネットワークバスを介してコントローラ機器に転送しなければならない。そして、コントローラ機器は、ターゲット機器に格納されている全てのデータを調べなければならない。例えば、特定のコンパクトディスクが、多数のＣＤを保持するＣＤチェンジャ内に存在するか否かを知るためには、従来の技術では、コントローラ機器は、全てのタイトルをターゲット機器（ＣＤチェンジャ）から読み出す必要がある。そして、コントローラ機器は、読み出した全てのデータに亘って構文解析を行い、探している特定のタイトルを検出しなければならない。これ以外の例では、更に大量のデータを読み出し、検索する必要がある。したがって、従来の技術では、上述した従来の検索方法によって、全てのネットワーク、コントローラ機器及びターゲット機器に大きな負荷がかかる。特に、ネットワークバスには、全てのデータをターゲット機器とコントローラ機器間で送らなければならないので、大きな負荷がかかる。
【０００９】
従来の技術では、記述データの検索が要求される度に、ネットワークバスを介して大量のデータを転送する必要があるので、ネットワークトラヒック（network traffic）が非常に増加してしまうという問題があった。このように、ネットワークバスの利用可能な帯域幅が大幅には減少し、したがって、他の機能のためには、完全に利用できなくなる。ＩＥＥＥ１３９４標準規格では、帯域幅は、アイソクロノス部分と非同期部分とに分割されている。帯域幅のアイソクロノス部分は、必要な帯域幅を効率良く確保する機器に対しては保証される。しかしながら、元来、この種の転送は、ある特定の時間に実行されるように保証されていないので、この保証は、非同期データ転送を犠牲にしている。このように、ネットワークバス上の非同期トラヒックが多いと、全ての非同期トランザクションが遅延されてしまう。例えば、ターゲット機器からコントローラ機器へのＯＳＤデータの伝送が遅延すると、ユーザには、画面の更新が遅くなり、又は動画品質の劣化として現れる。このように、従来の技術では、検索機能に関するトラヒックが重くなる（heavy traffic）ことによって、ＡＶネットワークの機能が一時的に実行されない場合がある。記述データがネットワークバスを介して転送されるときには、ＡＶネットワークが同時に実行できる機能の数は、間違いなく減少する。
【００１０】
さらに、従来の技術では、コントローラ機器は、興味があるオブジェクトを検出するためには、大量の記述データを取得して、検索する必要があるので、問題がある。コントローラ機器には、一般的に、データを処理して格納する能力において限界がある。したがって、従来の方法では、コントローラ機器の中央処理装置及び他のリソースに負荷がかかり、ユーザインタフェースをリアルタイムで管理し、ネットワーク及びターゲット機器を制御するというその主要な機能が疎かになる。したがって、コントローラ機器は、ユーザに応答することができず、グラフィカルユーザインタフェースの一部として提供される表示、画像等が遅延したり、遅くなる。さらに、従来の検索方法をサポートするためには、コントローラ機器は、能力が高い、例えば高速プロセッサ又はより多くのメモリを用いて、設計及び製造しなければならず、民生用のコントローラ機器のコストは上昇する。
【００１１】
同様に、従来の技術の問題は、ターゲット機器の性能にマイナスの影響を与える点である。殆どのターゲット機器では、記述データが、必ずしも高速アクセスに都合の良い場所に格納されておらず、また、コントローラ機器によって要求される検索のためのフォーマットに従っていない。一般的には、ターゲット機器は、最初に、利用可能な情報を集め（gather）、その情報を整理し（assemble）、必要な記述データを編集する（compile）必要がある。その後、ターゲット機器は、種々のデータフォーマットを変換し、記述データをコントローラ機器によって望まれるフォーマットに纏めなければならない。このように、従来の技術は、ターゲット機器において利用可能なリソースを消費するために問題がある。上述したように、ネットワークバスを介してデータをコントローラ機器に送信する従来の検索方法は、ターゲット機器の処理能力に負荷をかける。従来の技術の検索方法をサポートするためには、ターゲット機器は高い能力で設計されなければならないので、消費者が負担するコストも増加する。
【００１２】
従来の技術の別の問題は、ＡＶネットワークに関して生じる絶えることのない発達及び改良に関連している。例えば、汎用のハードディスク又は他の大容量記憶装置を用いる幾つかのターゲット機器は、記録されるデータの種類に関係なく、又は記録されるデータの種類に関する専用の知識を有することなく、データを記録するように設計される場合がある。したがって、ターゲット機器上にどのようなデータが格納されるかを判定するために、記述データをコントローラ機器が必要とするフォーマットと互換性のあるフォーマットで生成する能力を持たない種類の機器が存在する場合もある。
【００１３】
したがって、ネットワークバス上のトラヒックを削減して、全体的なネットワーク性能を向上させ、ターゲット機器上に格納されている記述データの検索を実行する検索方法及び／又はシステムが必要とされる。さらに、上述した要求を取り扱うとともに、上述したターゲット機器及びコントローラ機器にかかる負荷を低減し、したがって、検索機能をサポートするために、例えばより高性能の中央処理装置及びより大きな容量のメモリのようなコストがかかる性能拡張を組み込むことを不要とする一方で、これらの機器の全体的な性能を向上させる記述データを検索する検索方法及び／又はシステムが必要とされる。さらに、上述の要求を取り扱い、将来的にもＡＶネットワークに対して行われる変更及び改良と互換性があることが期待される検索方法及び／又はシステムが必要とされる。
【００１４】
【発明の開示】
【発明が解決しようとする課題】
本発明は、ターゲット機器上に格納されている記述データの検索を実行するが、ネットワークバス上のトラヒックを削減し、それによって、全体的なネットワーク性能を向上させる検索方法及び／又はシステムを提供する。また、本発明は、この要求を達成するとともに、ターゲット機器及びコントローラ機器にかかる負荷を低減し、したがって、検索機能をサポートするために、例えばより高性能の中央処理装置及びより大きな容量のメモリのようなコストがかかる性能拡張を組み込むことを不要とする一方で、これらの機器の全体的な性能を向上させる記述データを検索する検索方法及び／又はシステムを提供する。さらに、本発明は、上述した要求を達成し、さらに、ＡＶネットワークの将来的な実施と互換性があることが期待される検索方法及び／又はシステムを提供する。本発明のこれらの利点及び特にこれら以外の他の利点は、ここに提示する本発明の実施の形態を通して明らかにされる。
【００１５】
【課題を解決するための手段】
本発明は、バス等のネットワークインタフェースにより接続される電子機器のネットワークに格納されたデータを検索する検索方法及びシステムであり、電子機器の少なくとも１つは、格納されたデータを含むターゲット機器であり、別のものがコントローラ機器である。最初に、検索条件が、コマンド構造において指定され、コマンド構造が、コントローラ機器からネットワークバスを介してターゲット機器に伝送される。ターゲット機器は、コマンド構造を、格納しているデータの検索を実行する要求として認識して、コマンド構造を実行し、検索が行われる。検索が成功した結果として、検索条件を満たすターゲット機器上のデータが識別され、そのデータに対応する識別子も指定される。ターゲット機器は、識別子を含む応答を、ネットワークインタフェースを介してコントローラ機器に送信する。識別子は、十分な情報を提供し、その後、検出されたデータがコントローラ機器によりアクセスされ、読み出される。また、識別子により、コントローラ機器は、検索条件を満たすデータによって記述されるコンテンツ／放送サービスデータ（例えばオブジェクト）にアクセスし、読み出すことができるようになる。
【００１６】
一実施の形態では、電子機器は、ＡＶ／Ｃ（オーディオビジュアル制御）プロトコルに準拠し、ネットワーク及びネットワークインタフェースは、ＩＥＥＥ１３９４通信標準規格に準拠する。
【００１７】
本発明は、格納データを有するターゲット機器によって検索を実行し、コントローラ機器では実行しない。したがって、相対的に少量のデータのみがネットワークインタフェースを介して伝送され、ネットワークインタフェースが利用可能な帯域幅容量のうちの小さな部分しか消費せず、全体的なネットワーク性能を向上させる。さらに、コントローラ機器は、興味があるデータを見つけるために大量のデータを検索するという時間のかかるタスクによって負荷をかけられることがない。同様に、ターゲット機器は、ターゲット機器に転送されるデータを生成するために大量のデータを処理し、変換し、更にフォーマットしなければならないことによる負荷をかけられることがない。
【００１８】
本発明の実施の形態では、コマンドにおいて指定される検索条件は、検索の対象、検索の場所、検索の開始点及び／又は検索方向を含むことができる。同様に、その応答において与えられる識別子のためのフォーマットは、検索条件を満たすデータのアドレス、そのデータによって記述されるオブジェクトの位置、オブジェクトの識別子、そのオブジェクトを含むリスト及び／又はそのオブジェクトを含むリストのタイプを含むことができる。本発明により、検索は、記憶装置（例えばハードドライブ）が記述データの構造を理解する必要のない判定基準に基づいて指定され、行われるようになる。本発明のこの柔軟性及び他の特徴により、ＡＶネットワークが変更及び改良された後も、本発明が互換性と有用性とを保つことができる。
【００１９】
【発明を実施するための最良の形態】
以下の詳細な説明では、本発明を完全に理解するためのＡＶ／Ｃプロトコルの記述データを検索する検索方法及びシステムを、多数の詳細な実施の形態を用いて説明する。本発明がこれらの詳細な実施の形態を用いなくても、又はこれらと同等な実施の形態を用いて実施されることは、当業者にとって明らかである。周知の方法、手順、構成要素及び回路を用いたその他の実施の形態は、本発明の実施の形態を不必要に不明瞭することを防ぐために、ここでは詳細には記載しない。
【００２０】
表記及び専門用語
以下に記載する本発明の詳細な説明の一部は、インテリジェント電子媒体機器内のデータビットの操作の手順、論理ブロック、処理及び他の記号表記に関するものである。これらの記載及び表記は、当業者に研究の内容を最も効果的に伝えるためのものであり、データ処理分野の当業者によって用いられる手段である。以下に記載する手順、論理ブロック、プロセス等は、本明細書においても、また、一般的にも、所望の結果に導く矛盾のない一連のステップ又は命令である。これらのステップは、物理量を物理的に操作する必要があるステップである。通常、これらの物理的な操作は、必ずしもそうであるということではないが、民生用電子媒体機器において格納、転送、結合、比較及び他の方法で操作されることができる電気信号又は磁気信号の形態を取る。便宜上及び共通の使用方法を考慮して、本発明の詳細な説明において、これらの信号はビット、数値、要素、記号、文字、項目、番号等として表される。
【００２１】
なお、これら全ての用語は、物理的な操作及び物理量を参照するものとして解釈すべきであり、単なる便宜上のラベルにすぎず、また、当該技術分野において一般的に用いられる用語に鑑みて解釈すべきであるということを理解されたい。以下の説明から明らかなように、具体的に他に記載がなければ、本発明の全説明、すなわち「処理」、「演算」、「生成」、「計算」、「判定」、「表示」等のような用語を用いる説明は、データを操作して変換する民生用電子機器、又は同様の電子計算機（例えば専用又は組込み式のコンピュータシステム）の動作及びプロセス（例えばＦＩＧ．３のプロセス３００）を表す。そのデータは、民生用電子機器のレジスタ及びメモリ内の物理（電子的）量として表され、民生用電子機器のメモリ又はレジスタ、若しくは情報記憶装置、伝送装置又は表示画面のような他の装置内の物理量として同様に表される他のデータに変換される。
【００２２】
現在の技術及び提案される技術によって、民生用電子機器は、家庭用又はオフィス用のネットワークにおいて接続され、オーディオ情報、ビデオ情報及びその他のデータをネットワークバスを介して互いに転送するようになる。本明細書における説明では、「民生用電子機器」及び「ネットワーク」のような用語は、任意の形態又は種類の機器に限定されるものではなく、また、任意の種類の分散ネットワーク又はデータフォーマットに限定されるものでもない。本明細書における説明では、本発明は、シリアルバスを用いてハードウエアにより接続される周知の民生用電子機器を備え、標準的なプロトコルを介して通信するホームネットワークの構成に則して説明される。
【００２３】
分散オーディオビジュアルネットワーク
ＦＩＧ．１は、本発明の一実施の形態であるネットワーク１０の具体的な構成を示すブロック図である。ネットワーク１０は、パーソナルコンピュータシステムを含む民生用電子機器を備え、ＦＩＧ．１に示す組合せ以外の種々の組合せでも、他の民生用電子機器を組み込むように拡張することができる構成になっている。
【００２４】
ネットワーク１０は、一体型の受信機／デコーダ機器、例えばインテリジェントなコントローラ機器１２と、ビデオカメラ１４と、テレビジョン受像機１６と、パーソナルコンピュータ１８と、受信機２０と、ビデオカセットレコーダ（ＶＴＲ）２２と、コンパクトディスク（ＣＤ）プレーヤ２４とを備え、これらの機器は、ネットワークインタフェース（例えばバス３０）によりネットワーク１０内で互いに接続されている。民生用電子機器はそれぞれ、固有アドレスと、１組の制御レジスタと、揮発性及び不揮発性のメモリユニットとを有し、ネットワーク１０上のノードとして表される論理エンティティと見なされる。ネットワーク１０内の民生用電子機器は、ピアツーピア（peer-to-peer）ベースで互いに相互作用することができ、データ、コマンド等がネットワーク１０内の機器間で送られるようになっている。
【００２５】
本実施の形態では、バス３０は、ＩＥＥＥ１３９４に準拠したバスである。したがって、ネットワーク１０の民生用電子機器は、ＡＶ／Ｃ（オーディオビジュアル制御）プロトコルのようなＩＥＥＥ１３９４に準拠したプロトコルを用い、バス３０を介して通信を行う。本発明の他の実施の形態は、当該技術分野において周知の家庭用のオーディオビジュアル相互運用性（ＨＡＶｉ）アーキテクチャに準拠した民生用電子機器のネットワーク内で通信することができる。なお、本発明によれば、他のプロトコル、バス、ネットワークインタフェース及びネットワークアーキテクチャを用いることも可能である。
【００２６】
ＦＩＧ．１に示すコントローラ機器１２は、セットトップボックス又はパーソナルコンピュータのようなインテリジェントなコントローラ機器である。コントローラ機器１２は、ターゲット機器（例えば、ネットワーク１０の他の民生用電子機器）を制御するネットワーク１０内のシステム構成要素／ソフトウエア要素である。コントローラ機器１２に関しては、ＦＩＧ．２Ａで詳細に説明する。
【００２７】
コントローラ機器１２は、幾つかの種類の入力／出力装置（図示せず）により、グラフィカルユーザインタフェースを介してユーザと通信を行う。ユーザの入出力装置は、例えば、リモートコントローラ、キーボード、マウス又は他のカーソル指示機器、ジョイスティック、若しくはこれらを組み合わせた周知の機器を用いることができる。コントローラ機器１２は、一般的に、表示装置に接続されており、この表示装置により、ユーザは、メニュー又はメッセージを見ることができ、また、表示装置は、ユーザが入出力装置によって入力したユーザの入力をユーザエントリとして表示する。表示装置は、コントローラ機器１２に組み込まれていてもよいし、又はコントローラ機器１２から独立していてもよい。例えば、テレビジョン受像機１６をコントローラ機器１２とともに用いて、ユーザにメニュー又はメッセージを表示することもできる。
【００２８】
ネットワーク１０内のコントローラ機器１２以外の民生用電子機器は、ターゲット機器と称せられる。ネットワーク１０内のターゲット機器は、データ構造の階層的セットを提供する方法又はモデルを用いて、コンテンツ及び／又は放送サービスを格納している。ターゲット機器のコンテンツは、例えば、コンパクトディスクのトラックに記録されている音楽のデータである。ターゲット機器の放送サービスは、例えば、テレビ番組の構成部分をそれぞれ集合的に表すデータである。すなわち、１つの構成部分はビデオ部分を含み、第２の構成部分はオーディオ部分を含み、第３の構成部分は字幕用の文字を含む場合がある。各組のコンテンツデータ又は放送サービスを識別するための記述データは、そのコンテンツ及び／又は放送サービスに関連している。記述データは、例えば、コンテンツ又は放送サービスの名称（例えばテレビ番組名）及び特に興味を引くか、若しくは、コンテンツ又は放送サービスを更に定義するのに役に立つ他の関連する細目（例えば特定のエピソードに関する項目、登場人物の名前等）を含む。
【００２９】
コンテンツ及び放送サービスを格納するデータ構造の階層的セットを提供するモデルの一例として、ハロルド・アーロン・ラッドキー（Harold Aaron Ludtke）によって１９９８年３月１７日に出願され、本発明の譲受人に譲渡された発明の名称「Method and Apparatus for Representing Devices and Available Information within a Network of Devices Using Object List and Object Entries」、米国特許出願第０９／０４０，５４０号、代理人整理番号５０Ｌ１８１９に記載されているＡＶ／Ｃオブジェクトリストモデルがある。この米国特許出願第０９／０４０，５４０号は、引用することによって本願に援用される。ＡＶ／Ｃオブジェクトリストモデルにおいて、オブジェクトは、ターゲット機器上の異なったエンティティ、例えばコンパクトディスク上の特定のトラック又は多数のＣＤを保持するＣＤチェンジャ内に装填された特定のコンパクトディスクを表すために用いられる。オブジェクトリストは、オブジェクトのリスト、例えばＣＤチェンジャ内の全てのＣＤのリストである。
【００３０】
ＦＩＧ．２Ａは、本発明の実施の形態であるコントローラ機器１２の具体的な構成を示すブロック図である。本発明によれば、種々の異なる装置を用いることができるが、代表的な装置は、コントローラ機器１２によって表される。
【００３１】
ＦＩＧ．２Ａに示すように、コントローラ機器１２は、情報及び命令を処理するプロセッサ２０１を備え、プロセッサ２０１は、内部アドレス／データバス２００に接続されている。揮発性メモリ２０２（例えばランダムアクセスメモリ）は、プロセッサ２０１用の情報及び命令を格納するものであり、同様にバス２００に接続される。不揮発性メモリ２０３（例えばリードオンリーメモリ）は、プロセッサ２０１用の静的な情報及び命令を格納するためのものであり、同様にバス２００に接続される。コントローラ機器１２は、オプションとして、情報及び命令を格納する大容量記憶装置２０４（例えば磁気又は光ディスク及びディスクドライブのようなデータ記憶装置）を備え、大容量記憶装置２０４は、バス２００に接続されている。また、コントローラ機器１２は、ビデオ／オーディオ受信機２０６と、ムービングピクチャエキスパートグループ（ＭＰＥＧ）装置２０７とを備え、これらもバス２００に接続されている。バスインタフェース２０８は、ネットワークバス３０とのインタフェースとして用いられる。
【００３２】
ＦＩＧ．２Ｂは、本発明の実施の形態を実施することができるターゲット機器２２０の具体的な構成を示すブロック図である。本発明によれば、種々の異なる装置を用いることができるが（例えばＦＩＧ．１に示すターゲット機器）、代表的な装置は、ターゲット機器２２０によって表される。
【００３３】
一般的に、ターゲット機器２２０は、情報を通信するためのバス２３０と、バス２３０に接続され、情報及び命令を処理するプロセッサ２２１と、バス２３０に接続され、プロセッサ２２１用の情報及び命令を格納するランダムアクセスメモリ（揮発性ＲＡＭ）２２２と、バス２３０に接続され、プロセッサ２２１用の静的な情報及び命令を格納するリードオンリーメモリ（不揮発性ＲＯＭ）２２３と、バス２３０に接続され、媒体データ、オブジェクト、コンテンツ及び放送サービスのようなデータ用の磁気又は光ディスク及びディスクドライブのようなデータ記憶装置２２４と、ネットワークバス３０とのインタフェースとしてのバスインタフェース２２８とを備える。
【００３４】
検索及び検出処理
本発明は、ＡＶネットワーク、ＦＩＧ．１のネットワーク１０内のターゲット機器上に格納されている記述データの検索を実行する検索システム及び方法を提供する。本発明によれば、検索条件が指定され、この検索条件は、コマンド構造として、コントローラ機器１２からネットワークバス３０を介してターゲット機器（又は指定された判定基準によって決定される特定のターゲット機器）に伝送される。ターゲット機器は、コマンド構造に応じて、判定基準に対するデータの検索を実行する。検索条件との一致が検出されたとき、ターゲット機器は、応答信号をネットワークバス３０を介してコントローラ機器１２に送る。この応答信号には、ユーザが必要なときに、後で検出データにアクセスして、読み出すことができるように、検出データに関連する識別子（例えばポインタ）が含まれている。以下の詳細な説明でわかるように、本発明は、ターゲット機器がデータの検索を実行し、その結果に関するポインタを用いることによって、ネットワークバス３０上を伝送するデータ量が非常に減るとともに、コントローラ機器及びターゲット機器で処理するデータ量が大幅に削減される。
【００３５】
ＦＩＧ．３は、本発明の一実施の形態であり、ＡＶネットワーク内のターゲット機器に格納されている記述データの検索を実行するプロセス３００のフローチャートである。本実施の形態では、プロセス３００は、ＡＶネットワークに接続されたインテリジェントな機器、例えばＦＩＧ．２Ａ及びＦＩＧ．２Ｂのコントローラ機器１２及びターゲット機器２２０内のプログラム命令として実行される。プロセス３００を実行するための詳細は、ＦＩＧ．３を参照して説明する。
【００３６】
ステップ３０５において、当該技術分野において良く知られた様々な方法のどれかを用いて、ユーザは、検索したいオブジェクトを指示する。ＡＶネットワークに接続された表示装置、例えばＦＩＧ．１に示すテレビジョン受像機１６上に、メニュー又は表示がユーザに表示される。ユーザは、既知の入出力装置、例えば良く知られたリモートコントローラを用いて、検索を実行するオブジェクトを指示する。また、ユーザは、検索を実行する場所、検索を実行する開始点、又は検索を実行する方向を指示することもできる。例えば、ユーザは、検索の対象、例えばトラックのタイトルを入力することにより、別のトラックの検索を開始することもできる。ユーザが予めコンパクトディスク上の特定のトラックの位置を特定している場合には、ユーザは、この特定されたトラックにおいて検索を開始すべきであることを、また、検索がそのオブジェクトリストより高位の又は低位のトラックのいずれかに進むべきであることを指示することもできる。このように、ユーザは、検索を実行するオブジェクトを識別するための基準として用いられる検索条件又は判定基準を指示する。なお、ユーザが検索の方向のような特定の検索条件を入力しない場合には、本発明に基づいて、デフォルト値が自動的に入力され、そのデフォルト値のもとに検索が進行する。あるいは、コントローラ機器１２は、幾つかの検索条件（例えば順方向に検索を実行するかどうか等）を提供することができる。
【００３７】
ステップ３１０において、コントローラ機器（例えばＦＩＧ．１のコントローラ機器１２）は、ユーザによって入力された検索条件に基づき、ステップ３０５においてユーザによって特定された検索条件を含むコマンド構造を定式化する。コマンド構造のために定められたフォーマットが用いられる。本実施の形態では、コマンド構造フォーマット内のバイトの１つ（例えばオペコードバイト）は、コマンド構造が検索を実行する要求であることを示すために用いられる。本発明では、ユーザによって指定された検索条件を、コマンドのために指定された適切なフォーマットのコマンド構造の適切なフィールドに入力する（コマンド構造フォーマットに関する更なる詳細を以下に示す）。
【００３８】
ステップ３１５において、ＦＩＧ．１及びＦＩＧ．３に示すように、コマンド構造が、ネットワーク１０上のコントローラ機器からネットワークバス３０を介してターゲット機器に伝送される。コマンド構造は、１つのターゲット機器、あるいは同時にある限られた数のターゲット機器に伝送することができるが、通常は１つのターゲット機器である。
【００３９】
ＦＩＧ．３に示すように、ステップ３２０において、ターゲット機器（例えばＦＩＧ．２Ｂのターゲット機器２２０）は、コマンド構造内のオペコードバイトを読み、それによって、そのコマンドが、検索要求コマンドであることを認識する。ターゲット機器２２０は、コマンド構造を実行して、コマンド構造内に指定されている検索条件を用いて、その記述データの検索を実行する。当該技術分野において知られている技術を用いて、検索条件を記述データに対して一致させることによって、検索が実行される。このように、本発明によれば、検索はターゲット機器によって実行され、検索を実行するために、記述データ又は他のデータをネットワークバス３０を介してコントローラ機器１２に伝送する必要はない。したがって、ターゲット機器には、データを、コントローラ機器によって要求されるフォーマットに処理しなければならないという負荷がかかることはない。さらに、ネットワークバス３０の帯域幅は、ターゲット機器からコントローラ機器１２へのデータ転送によって使用されることはない。さらに、コントローラ機器１２には、大量の記述データを検索するという負荷がかからない。コントローラ機器１２の代わりに、ターゲット機器が検索を実行し、全体としてネットワークリソースを更に効率的に使用することができる。
【００４０】
ステップ３２５において、検索条件に一致する記述データがターゲット機器によって識別され、そのデータに対応する識別子も決定される。識別子は、後に記述データがコントローラ機器１２によって検出され、アクセスされるようにする様々な種類（例えばポインタ、タイトル、名称、メモリ位置等）のうちの任意の１つとすることができる。以下に示す説明で明らかなように、コマンド構造において、コマンドに応じて提供すべき識別子の種類を特定することができる。例えば、識別子は、データが位置するターゲット機器のレジスタ又はメモリ装置内のアドレスとすることができる。リスト、オブジェクト又は他の記述子のようなデータ構造の場合には、識別子は、コントローラ機器が後に検索条件を満たす記述データの位置を特定するのに十分な情報を有する。本実施の形態では、一旦検索条件を満たすオブジェクトが識別されると、検索は終了される。
【００４１】
ステップ３３０において、ステップ３２５で決定された識別子は、ターゲット機器２２０によって、ネットワークバス３０を介してコントローラ機器１２に送信される。本発明によれば、この時点では、識別子のみが送信される。したがって、ターゲット機器２２０からコントローラ機器１２には、少量のデータのみが転送される。このときの転送に必要な帯域幅容量は、非常に狭い。したがって、本発明を適用した結果、利用可能な帯域幅容量を効率的に利用することができる。
【００４２】
ステップ３３５において、ユーザが望む任意の時点で、ステップ３２５及び３３０からの識別子は、コントローラ機器１２によって用いることが可能になり、コントローラ機器１２は、周知のＡＶ／Ｃプロトコルを用いてターゲット機器２２０にアクセスすることによって、記述データ及び関連するコンテンツ／放送サービスにアクセスすることができる。
【００４３】
ステップ３４０において、ステップ３２５で識別された記述データは、ターゲット機器２２０からバス３０を介してコントローラ機器１２に転送される。同様に、関連するコンテンツ／放送サービスは、コントローラ機器１２に転送され、あるいはユーザが見る及び／又は聞く民生用電子機器にストリーミングすることができる。
【００４４】
別の実施の形態では、識別子に関連する記述データ及び／又は関連するコンテンツ／放送サービスは、識別子と共に伝送することができる（例えば、ステップ３３０で行われ、このときステップ３３５及び３４０は削除される）。
【００４５】
ＦＩＧ．４Ａ〜ＦＩＧ．４Ｄは、本発明の一実施の形態であるプロセス３００に関連するデータの流れを示す。ＦＩＧ．４Ａに示すように、コントローラ機器１２は、検索要求をコマンド構造で、ネットワークバス３０を介してターゲット機器２２０に送信する（例えばＦＩＧ．３のステップ３１５）。
【００４６】
ＦＩＧ．４Ｂに示すように、ターゲット機器２２０は、コマンド構造を、検索を実行する要求として認識して、コマンド構造によって供給された検索条件に基づいて、データ記憶装置２２４の検索を実行する（例えば、ＦＩＧ．３のステップ３２０及び３２５）。検索の期間中、ネットワークバス３０上には、検索に関連するトラヒックは存在しない。
【００４７】
ＦＩＧ．４Ｃに示すように、ターゲット機器２２０は、検索条件を満たす記述データに関連する識別子をコントローラ機器１２に送信する（例えば、ＦＩＧ．３のステップ３３０）。
【００４８】
ＦＩＧ．４Ｄに示すように、その後、コントローラ機器１２は、識別子を用いて、ターゲット機器２２０の検索条件を満たす記述データにアクセスし、ターゲット機器２２０は、識別子によって指定される記述データ又は記述データによって記述される媒体オブジェクトをコントローラ機器１２に返す（例えば、ＦＩＧ．３のステップ３３５及び３４０）。
【００４９】
別の実施の形態では、識別子に関連する記述データ及び／又は関連するコンテンツ／放送サービスは、識別子と共に送られる（ＦＩＧ．４Ｃで示すように、これにより、ＦＩＧ．４Ｄに示すトランザクションは削除される）。
【００５０】
このように、本発明によれば、検索はターゲット機器によって行われる。最初に、検索結果は、検索条件を満たすデータに関連する識別子のみからなり、その識別子のみが、ターゲット機器からコントローラ機器に送られる。その後、記述データ及びコンテンツ／放送サービスがターゲット機器から転送されるときに、ユーザの好みに基づいて、興味があるデータのみが転送される。したがって、本発明は、従来の技術と比較して、ネットワークバスを介して転送され、ターゲット機器及びコントローラ機器によって処理されるデータ量を大幅に削減することができる。
【００５１】
ターゲット機器２２０の実施の形態によって、本発明は、検索動作の効率を高めることができる。典型的な殆どのターゲット機器では、記述データが、素早くアクセスできる１つの位置に格納されていないので、ターゲット機器は、記述データを編集するために必要な情報を集める必要がある。実際には、記述データは、通常、ターゲット機器がその内部で検出することができる情報の異なる部分から編集しなければならない。ターゲット機器は、このデータをどのように取得するかについての内部知識を有するので、最初に、その情報を、コントローラ機器１２により期待されるフォーマットにパッケージングすることなく、データを検索することができる場合もある。このように、本発明によれば、ターゲット機器２２０内の処理サイクル（例えばクロックサイクル）及び他のリソースを節約することができる。
【００５２】
さらに、ターゲット機器２２０が、ネットワークバス３０にデータを送信するために必要な処理パワーを有していない場合、このタスクを実行しないことによって、処理パワーを節約することができる。処理サイクルの点から見ると、ターゲット機器２２０に組み込まれるインタフェース技術によっては、ハードウエアの自動化によって、本発明に基づく検索動作が事実上なくなることもあり、それは、ターゲット機器の実装に依存する。
【００５３】
また、本発明は、将来の特定のクラスの民生用電子機器の実施の形態と互換性を有する。幾つかの電子機器、例えば汎用のハードディスク又は他の大容量記憶装置は、今後、ＩＥＥＥ１３９４ネットワークバスを介して伝送されてくるあらゆる種類のデータストリームを記録するように設計される。これらの電子機器は、データストリームに関する特定の認識を有しない（例えば、これらの電子機器は、データフォーマットの知識がない）。これらの電子機器は、データがネットワークバスから伝送されてきたときに、ただ単に伝送されてきたデータを記録する。これらの電子機器は、コントローラ機器が媒体上に記録されたものを認識するために用いる記述データを生成することができない。例えば、オーディオＣＤをハードディスクにコピーする場合、ハードディスクは、記録データを解析して、トラックタイトル、歌詞等を記述するテーブルオブコンテンツを生成することはできない。実際、コピー処理を完了した後、別のコントローラ機器が、それらの記述データの構造をハードディスクに書き込まなければならない。
【００５４】
将来、コントローラ機器がコンテンツの特定の部分を検索することを望むとき、コントローラ機器は、上述したように、遠隔の検索コマンドをハードディスクに送信することを望む。なお、ハードディスクは、データの内容も、記述子のデータ構造の詳細なフィールドも知らない。したがって、ハードディスクは、特定のタイトルを有するオーディオトラックを検出するために、特定のフィールド、例えば「トラックタイトル」という名称のフィールドを検出することはできない。
【００５５】
本発明は、ハードディスクが記述データの構造を理解する必要がない特定の判定基準に基づく検索指定を許すことによって、上述の問題を解決する。したがって、新しい種類の媒体が考案されたとき、ハードディスクは、将来のＡＶネットワークの実施において実用的なプレーヤとなり得る。これがどのように動作するかという一例を、ＦＩＧ．６を用いて説明する。
【００５６】
本発明の一実施の形態では、検索コマンドは、ハロルド・アーロン・ラッドキー（Harold Aaron Ludkte）によって１９９８年９月１０日に出願され、本発明の譲受人に譲渡された発明の名称「A Method and System for Defining and Discovering Proxy Functionality on a Distributed Audio Video Network」、米国特許出願第０９／１５１，３７３号、代理人整理番号ＳＯＮＹ−５０Ｍ２３７４に記載されている種類のプロキシ機器と共に、用いられる。この米国特許出願第０９／１５１，３７３号は、引用することによって本願に援用される。
【００５７】
ＦＩＧ．５Ａ〜ＦＩＧ．５Ｄは、コントローラ機器１２と、ターゲット機器２２０と、プロキシ機器５２０との間のデータの流れを示す図であり、プロキシ機器５２０は、本特許出願に基づくターゲット機器２２０のための代理である。これらの機器のそれぞれは、ネットワークバス３０（図示せず）に接続されており、ネットワークバス３０を介してデータが流れる。ＦＩＧ．５Ａに示すように、プロキシ機器５２０は、ターゲット機器２２０のデータの内容を解析して、この内容をメモリに格納する。データの内容は、記述データを含み、あるいは記述データによって記述されるオブジェクトを含むことができる。
【００５８】
ＦＩＧ．５Ｂに示すように、コントローラ機器１２は、検索要求をコマンド構造で伝送、すなわちネットワークバス３０を介してプロキシ機器５２０に送信する（例えばＦＩＧ．３のステップ３１５によって記述されているように）。コントローラ機器１２は、プロキシ機器５２０がターゲット機器２２０のための代理であることを認識し、したがって、ターゲット機器２２０の代わりに、コマンド構造をプロキシ機器５２０に伝送する。プロキシ機器５２０は、コマンド構造を、検索を実行する要求として認識して、コマンド構造によって供給された検索条件に基づいて、そのメモリの検索を実行する（例えばＦＩＧ．３のステップ３２０及び３２５）。検索の期間中、ネットワークバス３０上には、検索に関連するトラヒックは存在しない。
【００５９】
ＦＩＧ．５Ｃに示すように、プロキシ機器５２０は、コントローラ機器１２に検索条件を満たす記述データに関連する識別子を送信する（例えばＦＩＧ．３のステップ３３０）。
【００６０】
ＦＩＧ．５Ｄに示すように、その後、コントローラ機器１２は、この識別子を用いて、プロキシ機器５２０上の検索条件を満たす記述データにアクセスする。プロキシ機器５２０は、識別子によって指定される記述データを、ネットワークバス３０を介してコントローラ機器１２に返す。ターゲット機器２２０からプロキシ機器５２０に転送されるデータ量によっては、プロキシ機器５２０は、記述データによって記述される媒体オブジェクトも転送することができる（例えばＦＩＧ．３のステップ３３５及び３４０）。あるいは、プロキシ機器５２０は、ターゲット機器２２０に指示して、記述データによって記述される媒体オブジェクトを転送することができる。
【００６１】
例えば、パーソナルコンピュータは、それ自体をＣＤプレーヤのための代理として特定する。やがて、ユーザがＣＤをＣＤチェンジャに装填すると、パーソナルコンピュータは、各ＣＤの内容を解析して、パーソナルコンピュータ上に保持されているデータベースにその内容を追加する。このデータベースにおいて、例えば、パーソナルコンピュータは、ＣＤタイトルのトラック、個々のトラックタイトル等を保持している。その後、ユーザがホームネットワーク上で利用可能な音楽の検索を実行することを決めたとき、本発明によるコントローラ機器は、ネットワークを検索し、ＣＤチェンジャのための代理として動作しているパーソナルコンピュータを識別する。コントローラ機器は、本発明に基づいて、ホームネットワーク上において検索を開始し、パーソナルコンピュータは、ＣＤチェンジャ及び他の電子機器が、現在、ホームネットワークに接続されていない場合でも、それらの機器の代わりに、代理として、検索結果を返す。
【００６２】
このように、プロキシモデルは、所望のコンテンツ又は放送サービスの分散検索を可能にし、例えば、典型的なＣＤチェンジャよりも非常に大きなリソースを有するパーソナルコンピュータを利用する。なお、上述した分散検索は、当該技術分野において知られたＨＡＶｉネットワークアーキテクチャの場合のように、参照によって記載されたプロキシモデルを用いることなく、ネットワーク上のターゲット機器が互いに通信することによって、達成することができる。
【００６３】
コマンド構造の例示的な実施の形態
コンテンツ及び放送サービスを格納するデータ構造の階層的セットを提供するモデルの一例として、ハロルド・アーロン・ラッドキー（Harold Aaron Ludtke）によって１９９８年３月１７日に出願され、本発明の譲受人に譲渡された発明の名称「Method and Apparatus for Representing Devices and Available Information within a Network of Devices Using Object List and Object Entries」、米国特許出願第０９／０４０，５４０号、代理人整理番号５０Ｌ１８１９に記載されているＡＶ／Ｃオブジェクトリストモデルがある。この米国特許出願第０９／０４０，５４０号は、引用することによって本願に援用される。この引用文献のデータ構造で実施された本発明の一実施の形態を、以下に説明する。以下の説明において、「オブジェクト位置」、「オブジェクトＩＤ」、「リストＩＤ」、「リストタイプ」等の用語は、この引用文献の内容に則して用いられる。なお、本発明は、以下に説明される実施の形態に限定されるものではなく、また、この引用文献を用いる応用形態に限定されるものでもない。
【００６４】
ＦＩＧ．１に示すように、SEARCH DESCRIPTORコマンドにより、コントローラ機器（例えば、コントローラ機器１２）は、ターゲット機器（例えば、ネットワーク１０のターゲット機器）が特定の検索条件を満たすエントリを検出する記述データ（すなわち、コンテンツ又は放送サービスデータでないデータ）の検索を実行することを要求することができる。検索が成功したときは、検索の結果は、記述データに関連する識別子の形でコントローラ機器１２に返される。識別子は、コントローラ機器が、その後、検索によって識別された記述データを検出できるように、十分に詳細である。SEARCH DESCRIPTORコマンドは、そのコマンドを検索を実行する要求として識別するオペコードバイトによって識別される。SEARCH DESCRIPTORコマンドのフォーマットの一実施の形態（例えば、コマンドフレーム）を以下の表１に示す。
（注記：各表及び以下の説明においては、値は１６進表記であり、「msb」は最上位ビットを表し、「lsb」は最下位ビットを表す。）
【００６５】
【表１】
2002507038.tif 000001
【００６６】
SEARCH DESCRIPTORコマンドのsearch_forオペランドは、ターゲット機器が検索するものを指定する。search_forオペランドのフォーマットの一実施の形態を、以下の表２に示す。lengthオペランドは、search_dataオペランドのバイト数を指定する。search_dataオペランドは検索の対象を含み、これらのバイトは、「ＣＮＮ」のようなテキストバイトとして又は任意の数値として表されることができる。検索する特定の対象に対して好みがない場合には、lengthオペランドを０に設定することができる。したがって、search_forオペランドは、柔軟性があり、検索するものによって長さが変わる記述子のデータ構造に適している。
【００６７】
【表２】
2002507038.tif 000002
【００６８】
SEARCH DESCRIPTORコマンドのsearch_inオペランドは、検索の場所及び範囲を指定する。search_inオペランドは、可能なときに、検索を狭くするのに有用である。search_inオペランドの一実施の形態を、以下の表３に示す。ここで、lengthオペランドは、type_specific_infoオペランドのバイト数を指定する。type_specific_infoオペランドは、検索の範囲及び場所を指定する。type_specific_infoオペランドのフォーマットは、typeの値により定義される。typeオペランドの値の一実施の形態を、以下の表４に示す。
【００６９】
【表３】
2002507038.tif 000003
【００７０】
【表４】
2002507038.tif 000004
【００７１】
SEARCH DESCRIPTORコマンドのstart_pointオペランドは、検索を開始する場所を指定する。ここで、lengthオペランドは、type_specific_infoオペランドのバイト数を指定する。ここで、typeオペランドは、type_specific_infoオペランドにおいて、開始点がどのように示されるかを指定する。start_pointオペランドの一実施の形態を、以下の表５に示す。typeオペランドの値の一実施の形態を、以下の表６に示す。
【００７２】
【表５】
2002507038.tif 000005
【００７３】
【表６】
2002507038.tif 000006
【００７４】
SEARCH DESCRIPTORコマンドのdirectionオペランドは、検索がどのように進行すべきかを指定する。directionオペランドの意味の一実施の形態を、以下の表７に示す。
【００７５】
【表７】
2002507038.tif 000007
【００７６】
SEARCH DESCRIPTORコマンドのresponse_formatオペランドは、戻りデータがコントローラ機器１２にどのように提供されることになっているかを指定する。response_formatオペランドの値の一実施の形態を、表８に示す。
【００７７】
【表８】
2002507038.tif 000008
【００７８】
SEARCH DESCRIPTORコマンドのstatusオペランドは、コントローラ機器１２によってＦＦに設定される。statusオペランドは、検索が成功したときに、検索動作の結果を示すために応答で更新される。
【００７９】
SEARCH DESCRIPTORコマンドに対する応答（例えばレスポンスフレーム）の一実施の形態を、表９に示す。表９に示すレスポンスフレームは、検索要求が「受理された」とき、すなわち、ターゲット機器がコマンドを受理し、検索を行うことを試みたときに、送られる。検索要求が「拒否」された（すなわち、例えば無効なパラメータが指定されたので、ターゲット機器が検索要求を拒否した）とき、表９に示すレスポンスフレームの代わりに、簡単なフレームがターゲット機器からコントローラ機器１２に送られる。説明を簡単にするために、コマンドフレームとレスポンスフレームは、同じ構造であるとしているが、これは、同じでなくてもよい。search_forオペランド〜directionオペランドは、上述した通りである。これらのオペランドは、コマンドフレームにおいて有していたのと同じ値を有するレスポンスフレームで返される。response_formatオペランドは、最初に指定された値（コマンドフレームにおいて、コントローラ機器１２によって特別のフォーマットが指定された場合）か、又はターゲット機器によって選択されたフォーマットを示す値のいずれかを含む。statusオペランドは、検索が完了した後の検索の状態を指定する。その状態が「成功」である場合、指定されたデータ、又は検索条件と一致したデータのいずれかが検出されたことを意味する。また、その状態が「失敗」である場合、検索条件に一致するデータが検出されなかったことを意味する。descriptor_identifierオペランドは、ターゲット機器から返されるデータを指定する。データは、response_formatオペランドによって指示されるフォーマットである。addressオペランドは、データフィールドを検索する場合に、戻りデータがどこで検出できるか指定する。記述子構造、例えばリスト、オブジェクト又は他のあらゆる記述子の場合、descriptor_identifierオペランドは、コントローラ機器１２がデータにアクセスするのに十分な情報を含んでいる。
【００８０】
【表９】
2002507038.tif 000009
【００８１】
SEARCH DESCRIPTORコマンドのsearch_inオペランドのtype_specific_info構造は、object_entry_descriptor_specifierデータ構造又はobject_list_descriptor_specifierデータ構造のいずれかを利用する。これらのデータ構造のそれぞれの一実施の形態を、それぞれ表１０及び表１１に示す。object_entry_descriptor_specifierデータ構造は、オブジェクトエントリを指定する。search_inオペランドの場合には、検索動作を実行すべきオブジェクト又はオブジェクトの集合を指定する。object_list_descriptor_specifierデータ構造は、１つ以上のオブジェクトリストを指定する。search_inオペランドの場合には、検索動作を実行すべきリスト又はリストの集合を指定する。
【００８２】
【表１０】
2002507038.tif 000010
【００８３】
【表１１】
2002507038.tif 000011
【００８４】
表１２は、object_entry_descriptor_specifierデータ構造の一実施の形態におけるtypeオペランドとtype_specificオペランドの関係を示す。
【００８５】
【表１２】
2002507038.tif 000012
【００８６】
表１３は、object_list_descriptor_specifierデータ構造の一実施の形態におけるtypeオペランドとtype_specificオペランドの関係を示す。
【００８７】
【表１３】
2002507038.tif 000013
【００８８】
表１４は、表４に示すsearch_in type値のそれぞれに対するSEARCH DESCRIPTORコマンドのsearch_inオペランドのtype_specific_infoデータ構造のそれぞれの一実施の形態を示す。descriptor_identifier構造は、検索動作を実行する非オブジェクト及び非リスト記述子構造の１つを指定するために、用いられる。offset_addressフィールドは、検索を開始するために指定された記述子構造内の開始アドレスを指定する。ここで、lengthフィールドは、検索を実行するバイト数を指定する。
【００８９】
【表１４】
2002507038.tif 000014
【００９０】
【表１５】
2002507038.tif 000015
【００９１】
【表１６】
2002507038.tif 000016
【００９２】
【表１７】
2002507038.tif 000017
【００９３】
表１５は、表６に示すstart_point type値のそれぞれに対するSEARCH DESCRIPTORコマンドのstart_pointオペランドのtype_specific_infoデータ構造のそれぞれの一実施の形態を示す。offset_addressフィールドは、start_pointオペランドにおいて指定された記述子構造の開始からのオフセットを指定する。entry_typeフィールドは、オブジェクト記述子構造のentry_typeフィールドによって定義されるように、オブジェクトエントリのタイプを参照する。
【００９４】
【表１８】
2002507038.tif 000018
【００９５】
【表１９】
2002507038.tif 000019
【００９６】
【表２０】
2002507038.tif 000020
【００９７】
上述の本発明の実施の形態によって、検索は、記憶装置（例えばターゲット機器のハードドライブ）が記述データの構造を理解する必要がない検索条件に基づいて、指定され、実行される。したがって、本発明によれば、ネットワーク、ネットワークを構成する民生用電子機器、又はこれらの装置によって用いられるデータフォーマットに変更及び改良が行われたとしても、本発明は、ＡＶネットワークとの互換性を維持できるような柔軟性を提供することができる。
【００９８】
ＦＩＧ．６は、検索を実行するために用いられる例示的なコマンド構造６００を示す（数値は、１６進表記である）。コマンド構造６００は、オブジェクト記述子構造の任意のフィールドが、どのように指定した値で検索されるかを示す。コマンド構造６００を用いて、例えば、ターゲット機器（例えばＦＩＧ．２Ｂのターゲット機器２２０）には知られていないフィールドを検出することができる。この具体例では、検索は、コマンド構造６００のＡＳＣＩＩ文字によって表されるテキスト「ＮＨＫ」のためのオペランド［０−３］において指定される。object_ID応答フォーマットは、オペランド［１３］によってコマンド構造６００において指定される。
【００９９】
以上詳細に説明してきたように、本発明では、コントローラ機器ではなく、格納データを有するターゲット機器によって検索を実行する検索システム及び方法を提供する。したがって、比較的少ないデータ量のみがネットワークバスを介して伝送され、ネットワークバスの利用可能な帯域幅容量の一部のみを使用し、全体的なネットワーク性能を向上させる。さらに、興味があるデータを見つけるために、コントローラ機器に、大量のデータを検索する負荷がかかることがなくなる。同様に、転送するデータを準備するために、ターゲット機器に、大量のデータを処理しフォーマットしなければならない負荷がかかることがない。
【０１００】
このように、本発明では、ＡＶ／Ｃプロトコルにおいて記述データを検索する検索方法及びシステムの好ましい実施の形態を説明した。本発明を、特定の実施の形態を用いて説明したが、本発明は、このような実施の形態によって限定されるものではなく、特許請求の範囲に基づいて定められるべきである。
【図面の簡単な説明】
【図１】
ＦＩＧ．１は、本発明の実施の形態が実施される典型的なオーディオビジュアルネットワークを示す図である。
【図２】
ＦＩＧ．２Ａは、本発明に適用されるコントローラ機器の具体的な構成を示すブロック図である。
【図３】
ＦＩＧ．２Ｂは、本発明に適用されるターゲット機器の具体的な構成を示すブロック図である。
【図４】
ＦＩＧ．３は、本発明に従って記述データの検索を実行するためにコントローラ機器により実行されるプロセスの一実施の形態のフローチャートである。
【図５】
ＦＩＧ．４Ａは、本発明の一実施の形態によるコントローラ機器とターゲット機器のデータの流れを示す図である。
【図６】
ＦＩＧ．４Ｂは、本発明の一実施の形態によるコントローラ機器とターゲット機器のデータの流れを示す図である。
【図７】
ＦＩＧ．４Ｃは、本発明の一実施の形態によるコントローラ機器とターゲット機器のデータの流れを示す図である。
【図８】
ＦＩＧ．４Ｄは、本発明の一実施の形態によるコントローラ機器とターゲット機器のデータの流れを示す図である。
【図９】
ＦＩＧ．５Ａは、本発明の一実施の形態によるコントローラ機器、ターゲット機器及びプロキシ機器のデータの流れを示す図である。
【図１０】
ＦＩＧ．５Ｂは、本発明の一実施の形態によるコントローラ機器、ターゲット機器及びプロキシ機器のデータの流れを示す図である。
【図１１】
ＦＩＧ．５Ｃは、本発明の一実施の形態によるコントローラ機器、ターゲット機器及びプロキシ機器のデータの流れを示す図である。
【図１２】
ＦＩＧ．５Ｄは、本発明の一実施の形態によるコントローラ機器、ターゲット機器及びプロキシ機器のデータの流れを示す図である。
【図１３】
ＦＩＧ．６は、本発明の一実施の形態による記述データの検索を要求するための典型的なコマンド構造を示す図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2002507038.tif 000021
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2002507038.tif 000022
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2002507038.tif 000023
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2002507038.tif 000024
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2002507038.tif 000025
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2002507038.tif 000026
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2002507038.tif 000027
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2002507038.tif 000028
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2002507038.tif 000029
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2002507038.tif 000030