(57)【要約】  ネットワーク装置のためのデータストリーム制御のための方法及び装置である。装置の幾つかの実施形態は、データストリームと関連したコマンドについてのトークンを受信するための受信機を含み、ここで、コマンドは複数のコマンドタイプのうちの１つである。トークンは固定サイズ及びフォーマットを有し、トークンはデータパケットのフィールド内に与えられる。この装置は、トークンに基づいてコマンドタイプを判断し、コマンドデータについての、データパケット内のフィールドの組を構文解析し、コマンドを実施するためのネットワークユニットをさらに含む。【選択図】図４
2010534884.tif 000002
【特許請求の範囲】
【請求項１】
データストリームと関連したコマンドについてのトークンを受信するように構成された受信機を備え、前記コマンドは複数のコマンドタイプの１つであり、前記トークンは、固定サイズ及びフォーマットを有し、かつ、データパケットのフィールド内に与えられ、
前記トークンに基づいてコマンドタイプを判断し、コマンドデータについての前記データパケット内のゼロ又はそれより多いフィールドの組を構文解析し、かつ、前記コマンドを実施するように構成されたネットワークユニットが設けられた、
ことを特徴とする装置。
【請求項２】
前記データパケットの各フィールドは、前記コマンドについての指定されたサイズ及びフォーマットを有することを特徴とする、請求項１に記載の装置。
【請求項３】
前記コマンドに従って動作する、前記データストリームを伝送するための送信機をさらに備えることを特徴とする、請求項１に記載の装置。
【請求項４】
前記データパケットは固定サイズを有することを特徴とする、請求項１に記載の装置。
【請求項５】
前記装置は要求への応答を提供し、前記応答は、前記設定されたパケットサイズのデータパケット内に含まれることを特徴とする、請求項４に記載の装置。
【請求項６】
前記応答は、複数の応答のうちの１つであることを特徴とする、請求項５に記載の装置。
【請求項７】
前記装置は、該装置が理解しないコマンドタイプを含むデータパケットを無視するように構成されることを特徴とする、請求項１に記載の装置。
【請求項８】
前記装置は、前記設定されたパケットサイズに合致しないデータサイズを有するデータパケットを無視するように構成されることを特徴とする、請求項７に記載の装置。
【請求項９】
前記装置は、１つ又はそれ以上のエージェントを含み、前記１つ又はそれ以上のエージェントのうちの１つのエージェントは、前記コマンドについての宛先エージェントであることを特徴とする、請求項１に記載の装置。
【請求項１０】
前記コマンドを解釈するように構成された状態機械をさらに備えることを特徴とする、請求項１に記載の装置。
【請求項１１】
前記装置は、限定された処理能力又は記憶能力を有する低リソース装置であることを特徴とする、請求項１に記載の装置。
【請求項１２】
前記装置は、内蔵プロセッサを有する装置、システムオンチップ（ＳｏＣ）を有する装置、及び手持ち式装置から成る群のうちの１つ又はそれ以上を含むことを特徴とする、請求項１１に記載の装置。
【請求項１３】
データストリームと関連したコマンドについてのトークンを生成するように構成されたネットワークユニットであって、前記コマンドは複数のコマンドのうちの１つであり、前記トークンは、固定サイズ及びフォーマットを有し、かつ、データパケットのフィールド内に与えられ、前記データパケットはコマンドデータについてのゼロ又はそれより多いフィールドを有し、
前記データパケットを伝送するように構成された送信機と、
を備えることを特徴とする装置。
【請求項１４】
前記データパケットの前記ゼロ又はそれより多いフィールドの各々は、前記コマンドについての指定されたサイズ及びフォーマットを有することを特徴とする、請求項１３に記載の装置。
【請求項１５】
前記データパケットは固定サイズを有することを特徴とする、請求項１３に記載の装置。
【請求項１６】
データストリームに関するコマンドについてのトークンを生成するように構成された第１のネットワーク装置を備え、前記トークンはデータパケットのフィールド内に含まれ、かつ、複数のコマンドタイプのうちの１つを表し、前記フィールドは、前記複数のコマンドタイプの各々について用いられる固定サイズ及びフォーマットを有し、
前記コマンドについての前記トークンを受信し、該トークンを復号して該トークンで表される前記コマンドタイプを判断し、データストリームについての該コマンドを実施するように構成された第２のネットワーク装置が設けられた、
ことを特徴とするネットワーク。
【請求項１７】
前記第２のネットワーク装置は状態機械を含み、かつ、該状態機械を用いて前記トークンを復号することを特徴とする、請求項１６に記載のネットワーク。
【請求項１８】
前記コマンドタイプは、
（ａ）前記第２のネットワーク装置と１つ又はそれ以上の宛先との間にデータストリームをセットアップすること、
（ｂ）前記データストリームを再生すること、
（ｃ）前記データストリームを一時停止すること、
（ｄ）前記データストリームに割り当てられたリソースを分解すること、
（ｅ）前記データストリームに関するパラメータを取得し、設定すること、
から成る群のうちの１つ又はそれ以上であることを特徴とする、請求項１６に記載のネットワーク。
【請求項１９】
前記データパケットは固定サイズのものであることを特徴とする、請求項１６に記載のネットワーク。
【請求項２０】
前記第２のネットワーク装置は、前記データパケットが前記固定サイズと合致しない場合に前記コマンドを無視することを特徴とする、請求項１９に記載のネットワーク。
【請求項２１】
データのストリーミングを制御する方法であって、
ネットワークにおけるデータストリームを制御するためにコマンドを生成するステップであって、前記コマンドは複数のコマンドタイプのうちの１つのコマンドタイプを表すためのトークンを含み、前記トークンは固定サイズ及びフォーマットを有する、ステップと、
前記コマンドを伝送するステップと、
前記コマンドを復号するステップと、
を含み、前記コマンドを復号するステップは、前記トークンに基づいて前記コマンドタイプを判断するステップを含むことを特徴とする方法。
【請求項２２】
前記ネットワークは娯楽ネットワークであることを特徴とする、請求項２１に記載の方法。
【請求項２３】
前記トークンは整数値を表し、前記コマンドを復号するステップは、どのコマンドタイプが前記整数値により表されるかを判断するステップを含むことを特徴とする、請求項２１に記載の方法。
【請求項２４】
前記コマンドを復号するステップは、該コマンドのための１つ又はそれ以上のデータフィールドを復号するステップを含み、前記データフィールドの各々についてのサイズ及びフォーマットは、前記コマンドタイプに基づいていることを特徴とする、請求項２１に記載の方法。
【請求項２５】
前記コマンドは、第１のネットワークエージェントによって生成され、前記第１のネットワークエージェントは、第１のネットワーク装置の論理エンティティであることを特徴とする、請求項２１に記載の方法。
【請求項２６】
前記コマンドは、第２のネットワークエージェントにより受信され、前記第２のネットワークエージェントは、第２のネットワーク装置の論理エンティティであることを特徴とする、請求項２５に記載の方法。
【請求項２７】
前記コマンドに基づいて前記データストリームを制御するステップをさらに含むことを特徴とする、請求項２１に記載の方法。
【請求項２８】
プロセッサによってアクセスされたときに、コンピュータに、
ネットワークにおけるデータストリームを制御するためにコマンドを生成することであって、前記コマンドは複数のコマンドタイプのうちの１つのコマンドタイプを表すためのトークンを含み、前記トークンは固定サイズ及びフォーマットを有する、ことと、
前記コマンドを伝送することと、
前記トークンに基づいて前記コマンドタイプを判断することを含む、前記コマンドを復号することと、
を含む動作を実行させる命令を含むコンピュータ可読メディアを備えることを特徴とする製造物品。
【請求項２９】
前記トークンは数値を表し、前記コマンドを復号することは、どのコマンドタイプが前記数値によって表されるかを判断することを含むことを特徴とする、請求項２８に記載の製造物品。
【請求項３０】
前記コマンドを復号することは、該コマンドのための１つ又はそれ以上のデータフィールドを復号することを含み、前記データフィールドの各々についてのサイズ及びフォーマットは、前記コマンドタイプに基づいていることを特徴とする、請求項２８に記載の方法。
【請求項３１】
制御プロトコルを介してネットワーク上で通信するように構成されたネットワークインターフェースを備え、前記制御プロトコルは、複数のコマンドタイプのうちの１つのコマンドタイプを表すためにトークンの使用を含み、前記トークンは固定サイズ及びフォーマットを有し、
前記ネットワークインターフェースを介して動作するように構成された１つ又はそれ以上のエージェントとが設けられた、
ことを特徴とするネットワーク装置。
【請求項３２】
前記１つ又はそれ以上のエージェントのうちの１つのエージェントは、前記制御プロトコルを用いて送られたコマンドを介して別のネットワーク装置を遠隔制御するように構成されることを特徴とする、請求項３１に記載のネットワーク装置。
【請求項３３】
前記ネットワーク装置は、前記ネットワークインターフェースを介して受信したコマンドを処理するように構成された１つ又はそれ以上のメッセージハンドラをさらに備えることを特徴とする、請求項３１に記載のネットワーク装置。
【請求項３４】
前記ネットワークインターフェースを介して受信したコマンドを前記１つ又はそれ以上のメッセージハンドラのうちの１つに向けるように構成されたハードウェア状態機械をさらに備えることを特徴とする、請求項３３に記載のネットワーク装置。
【請求項３５】
前記１つ又はそれ以上のエージェントは、メディアデータソースエージェント、メディアデータ記憶エージェント、及びメディアデータ表示エージェントのうちの１つ又はそれ以上を含むことができることを特徴とする、請求項３１に記載のネットワーク装置。
【請求項３６】
メディアデータソースエージェントは、メディアデータコンテンツを伝送するためのものであり、メディアデータ記憶エージェントは、メディアデータコンテンツを受信し、格納するためのものであり、メディアデータ表示エージェントは、メディアデータコンテンツを受信し、表示するためのものであることを特徴とする、請求項３５に記載のネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般に、ネットワーク分野に関し、より具体的には、ネットワーク装置のためのデータストリーム制御のための方法及び装置に関する。
【背景技術】
【０００２】
個人の電子娯楽の選択肢が増えるにつれて、種々のメディア装置をネットワーク内で互いに接続してデータを共有し、利便性を高め、各要素をより完全に利用しようとする意欲が高まる。例えば、家庭内の特定の装置を互いに接続することができる。このような環境では、音声、映像、ゲーム、及び他の用途に関するデジタルメディアコンテンツをストリーミングする多数の潜在的なソース及びユーザが存在する。
【０００３】
娯楽ネットワークにおいて、メディアストリームの形態を取ったデータを、ネットワーク装置間で転送することができる。メディアストリームは、ネットワーク内において従来の技術を用いて制御することができる。メディアストリームの配信を制御するための様々なプロトコルが存在する。そのような技術の例は、ＲＴＳＰ（Ｒｅａｌ−Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）及びＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）を含む。これらの及び同様のプロトコルは、一般に、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）スキーマ、又は他のテキストベースのプロトコルに基づく。
【０００４】
しかしながら、従来のプロトコルは、低リソースの装置、特に、可変長の文字列を処理するのに又は幾つかの他の装置へのオープン接続を管理するのに十分なバッファ能力又は処理能力をもたない装置にとって、重すぎるものであることがある。娯楽ネットワーク内の装置が限られたリソースを伴って実装されている場合、従来のプロトコルをネットワーク内に実際に実装することは、困難であることがある。
【発明の概要】
【０００５】
ネットワーク装置のためのデータストリーム制御のための方法及び装置が提供される。
【０００６】
本発明の第１の態様において、装置は、データストリームと関連したコマンドに関するトークンを受信するための受信機を含むことができ、コマンドは複数のコマンドタイプのうちの１つである。トークンは固定サイズ及びフォーマットを有し、かつ、データパケットのフィールド内に与えられる。装置は、トークンに基づいてコマンドタイプを判断し、コマンドデータについてのデータパケット内のフィールドの組を構文解析し、かつ、コマンドを実施するためのネットワークユニットをさらに含む。
【０００７】
本発明の第２の態様において、装置は、データストリームと関連したコマンドに関するトークンを生成するためのネットワークユニットを含むことができ、コマンドは、多数のコマンドのうちの１つである。トークンは、固定サイズ及びフォーマットを有し、かつ、データパケットのフィールド内に与えられ、データパケットは、コマンドデータに関するゼロ又はそれより多いフィールドを有する。本装置は、データパケットを伝送するための送信機をさらに含むことができる。
【０００８】
本発明の第３の態様において、ネットワークは、第１のネットワーク装置を含み、ここで第１のネットワーク装置は、データストリームに関するコマンドについてのトークンを生成する。トークンはデータパケットのフィールド内に含まれ、かつ、複数のコマンドタイプのうちの１つを表し、フィールドは、複数のコマンドタイプの各々について用いられる固定サイズ及びフォーマットを有する。ネットワークは、第２のネットワーク装置を含み、該第２のネットワーク装置は、コマンドについてのトークンを受信し、トークンを復号してコマンドタイプを判断し、データストリームについてのコマンドを実施するためのものである。
【０００９】
本発明の第４の態様において、データのストリーミングを制御する方法は、ネットワークにおけるデータストリームを制御するためのコマンドの生成するステップを含み、コマンドは複数のコマンドタイプのうちの１つを表すためのトークンを含み、トークンは固定サイズ及びフォーマットを有する。コマンドは伝送される。この方法は、コマンドを復号するステップをさらに含み、このコマンドを復号するステップは、トークンに基づいてコマンドタイプを判別するステップを含む。
【００１０】
本発明の実施形態は、同一参照符号が同一要素を指す添付の図面の図において、限定としてではなく一例として説明される。
【図面の簡単な説明】
【００１１】
【図１】娯楽ネットワークの実施形態の図である。
【図２】データ制御コマンドの交換を提供するシステムの実施形態の図である。
【図３】ネットワーク装置の実施形態の図である。
【図４】メディア制御コマンドについてのデータパケットの実施形態の図である。
【図５】娯楽ネットワークにおいて転送されるデータパケットの実施形態の図である。
【図６】娯楽ネットワークに関するメディア制御コマンドの実施形態の図である。
【図７】メディアストリームについてのリソースを設定するためのメディア制御コマンドの一例の図である。
【図８】娯楽ネットワークにおけるメディア制御に関するプロセスの実施形態を示すフローチャートである。
【図９】ネットワーク装置の実施形態の図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態は、一般に、ネットワーク装置のためのデータストリーム制御に向けられる。
【００１３】
ここで用いられる「娯楽ネットワーク」とは、装置間でデジタルメディアコンテンツ（音楽、音声／映像、ゲーム、写真などを含む）を配信するための相互接続ネットワークを意味する。娯楽ネットワークは、家庭内ネットワークのような個人用娯楽ネットワーク、ビジネス環境における娯楽ネットワーク、又は娯楽装置の他のいずれかのネットワークを含むことができる。このようなネットワークでは、例えばデジタルテレビチューナ、ケーブルセットトップボックス、映像ストレージサーバ、及び他のソース装置などの特定のネットワーク装置は、メディアコンテンツのソースとすることができる。例えば、デジタルテレビ、ホームシアターシステム、オーディオシステム、ゲームシステム、などの他の装置は、メディアコンテンツを表示する又は使用することができる。さらに、映像及び音声ストレージサーバなどの特定の装置は、メディアコンテンツを格納する又は転送することを意図する場合がある。特定の装置は、複数のメディア機能を実行することができる。幾つかの実施形態において、ネットワーク装置は、単一のローカルエリアネットワーク上に同じ場所に配置することができる。他の実施形態において、ネットワーク装置は、ローカルエリアネットワーク間のトンネリングなどを通じて、複数のネットワークセグメントにわたることができる。娯楽ネットワークは、複数のデータ符号化プロセス及びデータ暗号化プロセスを含むことができる。
【００１４】
幾つかの実施形態において、ネットワーク内のデータストリーム制御コマンドは、固定サイズ、固定フォーマットのメッセージで搬送される。幾つかの実施形態において、ストリーム制御コマンドは、潜在的なストリーム制御コマンドの組の１つを表すために、整数などの数値を含むトークンを含む。幾つかの実施形態において、ストリーム制御コマンドは、限られた処理能力又はバッファ能力を有する低リソースのネットワーク装置によって転送され、受信される。
【００１５】
従来のストリーム制御プロトコルは、一般に、可変長メッセージを有する信頼できるバイトストリームとして搬送される。しかしながら、従来のプロトコルには、例えば処理能力又はバッファ能力が制限される娯楽ネットワークにおけるような、低リソースのネットワーク装置を用いるネットワークにおいては困難がある。低リソースの装置は、これらに限られるものではないが、システムオンチップ（ＳｏＣ）ソリューション、内蔵プロセッサシステム、手持ち式コンピュータ装置、又は他の手持ち式装置、及び処理能力又は記憶容量が制限される他の装置又はシステムを含むことができる。幾つかの実施形態において、低リソース装置は、図１に示され、下記で説明される装置などを含む、メディア装置及び娯楽装置を含むことができる。
【００１６】
幾つかの実施形態において、メディアストリーム制御は、ストリーム制御コマンドを伝送するために、短い固定サイズのメッセージを用いて実施される。幾つかの実施形態において、このようなメッセージの使用により、受信機におけるバッファ要件が決定論的になり、これにより、バッファ管理が簡単になり、限定されたリソースに対する負担が低減する。加えて、例えば、全体のメッセージが容量を上回り、従って、無視することができる場合、部分的復号の必要性がないことから、固定メッセージの使用は、メディアストリーム制御における論理の複雑性を低減させることができる。幾つかの実施形態において、固定メッセージ・サイズは６４バイトとすることができるが、これはほんの一例にすぎず、異なる実施形態においては、より小さい又はより大きいサイズが可能である。
【００１７】
幾つかの実施形態において、次いで、ネットワークプロトコルにおいて、データストリーム制御に関するプロトコルを用いることができる。幾つかの実施形態において、データストリーム制御メッセージを搬送するための基礎プロトコルは、これらに限られるものではないが、ＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）又はＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を含む、いずれかの標準的なネットワークプロトコルとすることができる。幾つかの実施形態において、ストリーム制御に関するプロトコルは、娯楽ネットワーク上での通信におけるネットワーク装置及びエージェントの使用のための娯楽プロトコルの一部、又はサブ・プロトコルとすることができる。
【００１８】
幾つかの実施形態において、ネットワークにおけるデータストリーム制御は、トークンベースのメッセージフォーマットを用いる。幾つかの実施形態において、コマンドは、数値を含むために確立された位置及びサイズを有するフィールドを含むことができ、数値は、メッセージ内に含まれる特定のコマンドタイプのためのトークンを表す。幾つかの実施形態において、ストリーム制御コマンド及び関連したパラメータの各々に、固定サイズ及びフォーマットの数値トークン割り当てる。幾つかの実施形態において、フィールドの可能な値の各々は、特定のコマンドタイプ又はパラメータを表すことができ、いずれの割り当てられない値も未定義のコマンドであり、無視される。これとは対照的に、従来のプロセスでは、ストリーム制御に関するコマンドは一般にテキスト文字列として、既知のスキームにより配信される。ストリーム制御パラメータに対したトークンを使用することにより、限定されたリソースを有するネットワーク装置について、固定サイズのメッセージング及び処理の低減が可能になる。
【００１９】
幾つかの実施形態において、ストリーム制御は、これらに限られるものではないが、
（ａ）ソースと１つ又はそれ以上の宛先との間にストリームをセットアップすること、
（ｂ）ストリームを再生すること、
（ｃ）ストリームを一時停止すること、
（ｄ）ストリームに割り当てられたリソースを分解する（ｔｅａｒ  ｄｏｗｎ）こと、及び
（ｅ）再生速度、再生位置、及び他のストリームの修正を含むことができる、ストリームパラメータを取得し、設定すること、
に関するコマンドを含むことができる。
【００２０】
一例において、ストリーム制御コマンドは、単一バイト（８ビット）としてフォーマットすることができ、ここで、１バイトの２５６の値の各々は異なるコマンドを示す。さらに、セットアップ・コマンドに関する宛先パラメータは、ネットワークバイト順での４バイトのＩＰアドレスと、ネットワークバイト順での２バイトのポート番号とを含むことができる。このような例では、再生速度パラメータは、ネットワークバイト順での４バイトの固定小数点値としてコード化することができる。他のパラメータ及びフィールドは、固定バイトのインクリメントで実装することもできる。このようなフィールドを含んだメッセージは、従って、低リソース装置によって処理するように、固定長を有することができる。幾つかの実施形態において、パケットフィルタリング様式の設計は、メッセージ本体の種々のフィールドに基づいてメッセージを適切なメッセージハンドラに向けることができる。従来のシステムにおけるようなテキストベースのプロトコルは人間が容易に読むことができるが、結果としてもたらされる実装は、プロセス及びメモリを要する。さらに、デバッグなどの操作における人間の操作者による可読性のために、インタープリタが、固定フォーマットのトークンとテキスト文字列との間の翻訳を行うことができる。
【００２１】
幾つかの実施形態において、メッセージハンドラは、ハードウェア状態機械として実装することができる。ハードウェア状態機械を用いることで、ネットワーク装置の簡略化されたシステム設計が可能になる。しかしながら、実施形態は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせとして実装することができる。
【００２２】
低リソース環境にとっての更なる制約は、オープンネットワーク接続を保持するのに必要な状態が非常に大規模なものになり得ることである。幾つかの実施形態において、操作により、保持する必要があるオープン接続の数を減らすことが可能になる。幾つかの実施形態において、ストリーム制御プロトコルを搬送するのに用いられる固定サイズのメッセージのフォーマットは、メッセージタイプ及び宛先を特定するためのフィールドを含むことができる。ストリーム制御は１つのメッセージタイプとしてもよいが、多数のメッセージタイプも可能である。幾つかの実施形態において、ハードウェア状態機械は、特定のタイプのメッセージを特定のメッセージハンドラに向けるように構成される。これにより、異なるプロトコルからのメッセージを同一の接続に多重化することが可能になり、それにより、必要とされるオープン接続の数が低減される。
【００２３】
幾つかの実施形態においては、メッセージのターゲットフィールドを、接続の共有のために用いることもできる。例えば、ストリーム制御プロトコルの多数のクライアントが単一の接続を共有することができ、ハードウェア状態機械は自動的にメッセージを適切なクライアントに向ける。
【００２４】
幾つかの実施形態において、ネットワーク装置の性能に影響を及ぼすことなく、接続を共有する能力を用いて、ネットワーク装置が動作中に保持する必要がある状態の数を低減することができる。幾つかの実施形態において、固定サイズ、固定フォーマットのストリーム制御メッセージングにより与えられる受信機にとっての利点は、送信機にとっても妥当である。送信機において、固定サイズ、固定フォーマットのメッセージを生成するのに必要とするリソースがより少なくなり、ここでもハードウェア状態機械を実装することができる。
【００２５】
図１は、娯楽ネットワークの実施形態の図である。この例示において、娯楽ネットワークシステム１００は、あらゆる両立性のあるメディア装置とネットワークとの接続を提供する。接続は、娯楽ネットワーク１０５との接続として示される。幾つかの実施形態において、装置は、中央ネットワーク・サーバをもたないネットワークとして動作する。娯楽ネットワークを通じて、接続された装置のいずれかの間でメディアデータストリームを転送することができる。さらに、ネットワークを通じて、装置を遠隔制御することができる。装置は、同軸ケーブル、イーサネットケーブル、及びＦｉｒｅｗｉｒｅ、並びにＷｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、及び他の無線技術を介する無線接続を含む、いずれかの周知のコネクタ及び接続プロトコルを介して、ネットワークに接続することができる。
【００２６】
幾つかの実施形態において、装置は、いずれかのメディアソース又は受信者を含むことができる。図１において、事務所１１０は、ゲートウェイ１２２を介した、ネットワーク１０５へのインターネット接続１２０を提供することができる。インターネットから受信したデータは、これらに限られるものではないが、購入した音声ファイル（例えば、ダウンロードした音楽ファイルなど）、映像ファイル（例えば、映画、テレビ、その他）、及びコンピュータ・ゲームを含む、いずれかのストリーミングメディアソースを含むことができる。事務所１１０はさらに、他の機能の中でも特定のメディアストリームを表示する又は特定のコンピュータ・ゲームを作動させることができる、モニタ１２６を用いるパーソナルコンピュータ１２４に接続することもできる。
【００２７】
娯楽ネットワークはさらに、例えば、データをテレビ１３２に提供するためのセットトップボックス１３０を含むことができる、ベッドルーム１１２内の装置と接続することもできる。さらに、寝室（又は、他のいずれかの空間）は、メディアストレージユニット１２８を含むこともできる。メディアストレージユニット１２８は、データを、ネットワーク１０５に接続されたいずれかのソースから受信し、かつ、ネットワーク１０５に接続されたいずれかのデータ受信者に提供することができる。メディアストレージユニット１２８は、ネットワークのためのいずれかのタイプのメディアストリームデータを含有することができる。
【００２８】
システムは、例えば、ケーブル若しくはファイバーシステム１３４、又は、衛星ネットワーク１３６からの入力を受信する居間１１４をさらに含むことができる。こうしたソースからのメディア入力を、ネットワーク１０５に接続されたセットトップボックス１３８及び第２のテレビ１４０に提供することができる。居間のテレビ１４０上に表示するために、ビデオゲームユニット１４２をネットワーク１０５に接続することもできる。ネットワーク１０５に接続された第３のテレビ１４４を含むキッチンのような、ネットワーク化された装置を有するいずれの数の他の部屋も存在し得る。これに限られるものではないが、家屋の至るところに配置されたスピーカを含むことができるステレオ音声システムを含む、他のネットワーク装置も存在し得る。
【００２９】
さらに、いずれの数の携帯型個人用電子装置をネットワークに接続することもできる。装置はケーブルを介して、又は、これらに限られるものではないが、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、赤外線又は他の類似の無線通信プロトコルを含む、無線信号を介して接続することができる。このようなプロトコルの各々は、Ｗｉ−Ｆｉベースステーションのような、ネットワークへのインターフェースを必要とすることがある（図１には図示されていない）。このような携帯型個人用電子装置は、デジタルカメラ１４６、携帯電話１４８、個人用音楽プレーヤー１５０又はビデオカメラ１５２を含むことができる。さらに、自動車がネットワークに近接しているとき（例えば、家の車庫の中にあるとき）、自動車１５４内に収容される移動体システムは、ネットワーク１０５に接続することができる。携帯型個人用電子装置は、例えば、ネットワークの範囲内にあるとき、ネットワークに自動的に接続することができる。接続中、装置への可能な自動更新又はダウンロードを含めて、ネットワークを通じてデータを取得するため又はデータをネットワークに提供するために、装置を利用することができる。一例において、ユーザは、セットトップボックス１３８を介する居間のテレビ１４０において、デジタルカメラ１４６に保存された写真にアクセスするように、ネットワークを通して携帯型電子装置のいずれかに含まれるデータにアクセスすることができる。
【００３０】
幾つかの実施形態において、図１に示されたネットワーク装置は、限定されたネットワーク処理能力及びバッファ能力を有するように設計された低リソース装置である。幾つかの実施形態において、メディア制御コマンドがデータパケットの形で示された装の間で交換され、各々のデータパケットは固定サイズのものであり、個々のコマンドはトークンにより識別される。
【００３１】
図２は、ストリーム制御コマンドの交換を提供するシステムの実施形態の図である。この例示では、娯楽ネットワークにおいて、装置Ａ２０５、装置Ｂ２３０、装置Ｃ２５５、及び他の装置２７５が接続される。幾つかの実施形態において、各々の装置は、ネットワーク上の通信を提供するためのネットワークインターフェースを含む。例えば、装置Ａ２０５はネットワークインターフェース２２０を含み、装置Ｂ２３０はネットワークインターフェース２４５を含み、装置Ｃ２５５はネットワークインターフェース２６５を含む。
【００３２】
幾つかの実施形態において、装置Ａ２０５は、メディア制御コマンドを含むデータパケット２２５を装置Ｂ２３０に転送するように構成することができる。幾つかの実施形態において、データパケット２２５は、多数の異なるメディア制御コマンドのいずれについても固定サイズのものであり、データパケット内に含まれるコマンドは、データパケットの所定のフィールド内のトークン値によって特定される。データパケット２２５はまた、コマンドに関するデータのためのゼロ又はそれより多いフィールドを含むこともできる。フィールドは、様々なサイズのものにすることができ、フィールドはデータパケット２２５内に含まれるメディア制御コマンドのタイプによって決まる。トークンベースのコマンド構造を用いることにより、コマンド操作のための状態機械の使用などにおいて、簡単化された処理が可能になる。幾つかの実施形態において、装置Ａ２０５のための状態機械２１５、装置Ｂ２３０のための状態機械２４０、装置Ｃ２５５のための状態機械２６５で示されるように、各々のネットワーク装置は、メディアコマンド処理のための状態機械を含む。
【００３３】
一例において、メディアデータストリームに影響を与えるために、メディア制御コマンドが、データパケット２２５を介して装置Ｂ２３０に転送される。要求中の装置、即ち装置Ａ２０５へのデータの戻しを含めて、メディアデータストリームは、いずれのネットワーク装置にも配信することができる。この特定の例において、メディアデータストリーム２５０は装置Ｃ２５５に向けられており、１つ又はそれ以上の他の装置２７５に向けることも可能である。コマンドは、これらに限られるものではないが、データストリームのセットアップ、データストリームの操作、データストリームの分解、データストリームに関する問い合わせ、又はメディアストリームの他の態様を含む、メディアデータストリームのライフスパンにおけるいずれかの態様に関連し得る。
【００３４】
幾つかの実施形態において、メディアストリームコマンドは、受信者からの応答をもたらす要求である。図２において、これは、装置Ｂ２３０から装置Ａ２０５へのデータパケットとして示され、装置Ａ２０５から装置Ｂ２３０に送られたデータパケット２２５内に含まれていた要求に対する応答を含むことができる。
【００３５】
図３は、ネットワーク装置の実施形態の図である。幾つかの実施形態において、ネットワーク装置３０５は、イーサネットＭＡＣアドレスなどの少なくとも１つの物理的ネットワークインターフェースを有するエンティティである。図３に示されるように、ネットワーク装置は、２つのネットワークインターフェース３１０及び３１５を含む。従って、幾つかの実施形態において、ネットワーク装置は、物理的エンティティである。幾つかの実施形態において、ネットワーク装置は１つ又はそれ以上のエージェントを含み、各々のエージェントは、ネットワーク装置上に常駐する論理エンティティである。ネットワーク装置上には、多数のエージェントが存在し得る。例えば、図３はネットワーク装置３０５を示し、ネットワークインターフェース３１０は、通信マネージャ３２０を介してエージェント３３０、３３５及び３４０へのアクセスを提供し、通信マネージャ３２５を介してエージェント３４５及び３５０へのアクセスを提供し、通信マネージャ３３０を介してエージェント３５５及び３６０へのアクセスを提供する。幾つかの実施形態において、各々のエージェントには、ネットワーク装置のＩＰアドレスとは無関係に、装置リセット操作にわたって、そのエージェントを他のエージェントから区別するためのグローバルに固有の識別子が割り当てられる。このように、エージェント３５５のために意図されたコマンドを、該エージェントのための固有のアドレスにアドレス指定することができ、次いで、メッセージは、ネットワークインターフェース３１５を経由してエージェント３５５に向けられる。
【００３６】
幾つかの実施形態において、エージェントは、ネットワーク装置における通信の終点として働き、特定の組の能力及び関連した動作を提供する。エージェントは、メディアデータソース、メディアデータ記憶装置、メディアデータコントローラ、及び他の要素を含むことができる。一例において、エージェントは、映像ストリーミングサービスを提供することができる。この例において、エージェントは、メッセージに応答して、メディアストリームに質問し、これを制御することができ、命令されたときに、メディアストリームを別のエージェントに自律的に配信することができる。幾つかの実施形態において、エージェントは、いつでもわずか１つのアクティブなメディアセッションを有し、これにより比較的簡単な操作が可能になる。エージェントがメッセージを送受信し、そのようなメッセージに応答して内部の状態を修正し、副次的な作用として連続的なアクションを行なう能力をもち得るという点で、エージェントは、アクティブなオブジェクトとして働くものとみなすことができる。
【００３７】
幾つかの実施形態において、１又はそれ以上のエージェントが、同等のクラスのメンバーである。同等クラスのメンバーは、同一又は同等の動作を有し、かつ、ユーザに対して単一のエージェントとして表すことができる。一例において、テレビ信号を調整するためのチューナエージェントのプールは、同等クラスのメンバーとすることができ、このようなエージェントは、例えば「ライブＴＶ」としてユーザに提示することができる。幾つかの実施形態において、エージェント３６０についてのエージェントＩＤ３６５のようなエージェントＩＤは、装置ＩＤ、グループＩＤ、及びインスタンスを含むことができる。この形態において、同等クラス３７０のメンバーは、エージェントＩＤの装置ＩＤ及びグループＩＤで表される。
【００３８】
幾つかの実施形態において、エージェントは、通信マネージャにより、娯楽ネットワーク上で通信することができる。幾つかの実施形態において、装置ごとに、図３の通信マネージャ３２０、３２５、及び３３０のような、１つ又はそれ以上の通信マネージャが存在し得る。幾つかの実施形態において、例えば、エージェント３３０、３３５、及び３４０が通信マネージャ３２０によって管理されるといったように、多数のエージェントを単一の通信マネージャによって管理することができる。幾つかの実施形態において、通信マネージャは、通信マネージャ行きの、エージェントとの間のメッセージの経路指定を担当する。このプロセスは、同じネットワーク装置にローカル接続されている他のエージェントにメッセージを配信すること、外部接続上の個々のエージェントから遠隔のネットワーク装置上のエージェントへのメッセージを多重化すること、及びブロードキャスト要求を処理することを含むことができる。幾つかの実施形態において、１つのエージェントを１つの通信マネージャにのみ結合することができ、１つの通信マネージャを１つのネットワークインターフェースにのみ結合することができる。
【００３９】
幾つかの実施形態において、表示マネージャは、表示装置上のリソースを管理するエージェントである。具体的には、表示マネージャは、表示リソース及びスクリーンの幾何学的形状へのアクセスの許可を担当する。幾つかの実施形態において、各々の表示装置は、映像出力、グラフィックス出力、音声出力、及びユーザ入力などの関連した組のＩ／Ｏ装置ごとに、１つの表示マネージャのみを有する。幾つかの実施形態において、エージェントは、セッションマネージャと協働して、表示装置におけるメディアコンテンツの配信及び表示を調整させ、表示装置リソースへのアクセスを許可する。幾つかの実施形態において、表示マネージャは、ユーザセッションについての始点を表し、制御をセッションマネージャに委譲する。
【００４０】
幾つかの実施形態において、セッションマネージャは、アクティブなユーザのための１組のメディアコンテンツを調和させるエージェントである。幾つかの実施形態においては、一旦選択されると、セッションマネージャは、対応する表示マネージャと共に遠隔のオンスクリーン表示セッションを開始し、ネットワーク内の他の装置を管理するためのアプリケーションプログラムを実行し始める。幾つかの実施形態において、表示マネージャは、入力イベントをセッションマネージャに送り、セッションマネージャが他のエージェントに委譲できるアクセス権を表示リソースに与え、よって、他のエージェントがコンテンツを表示装置に配信することを可能にする。一例において、表示マネージャは、セットトップボックス内で実行されるセッションマネージャにアクセス権を与えることができる。セッションマネージャは、表示装置を用いて遠隔ＵＩ（ユーザ・インターフェース）セッションを開始することができ、ネットワーク装置のユーザが、遠隔映像ストレージ装置から再生される映像を選択することを可能にする。幾つかの実施形態において、セッションマネージャは、アクセス権を映像サーバに渡し、映像サーバに、メディアストリームを表示装置に配信するように指示することができる。幾つかの実施形態において、セッションマネージャは、メディアコンテンツを利用する際のユーザの経験を管理するために必要な状態を維持する。
【００４１】
図４は、メディア制御コマンドに関するデータパケットの実施形態の図である。幾つかの実施形態において、データパケット４００は、ヘッダ４１０と、メッセージ本体４１５と、トレーラ４２０とを含むことができる。幾つかの実施形態において、データパケット４００は、いずれかのタイプのメッセージについての固定長４２５を有する。一例において、固定長は６４バイトであるが、より短い又はより長い任意の長さを用いることができる。ヘッダは、メッセージ本体４１５内に含まれるメッセージのタイプを示すためのメッセージタイプフィールド４３５を含むことができる。幾つかの実施形態において、メッセージタイプフィールド４３５は、固定長であり、メッセージタイプを示すための数値トークンを含み、各々の可能なトークン値は、メッセージタイプ又は未定義のメッセージを示す。幾つかの実施形態において、メッセージ本体内に含むことができるメッセージのタイプは、メディア制御コマンドを含む。
【００４２】
幾つかの実施形態において、メッセージ本体４１５は、メディア制御コマンド４３０についての固定長とすることができる。幾つかの実施形態において、メッセージ本体４１５は、該メッセージ本体４１５内に含まれるコマンドのタイプを示すためのコマンドタイプフィールドを含むことができる。幾つかの実施形態において、メッセージタイプフィールド４３５は、固定長であり、コマンドタイプを示すための数値トークンを含み、各々の可能なトークン値は、コマンドタイプ又は未定義のコマンドを示す。
【００４３】
図５は、娯楽ネットワークにおいて転送されるデータパケットの実施形態の図である。幾つかの実施形態において、データパケット５００は６４バイト長であるが、ネットワークにおいていずれのサイズを用いることもできる。幾つかの実施形態において、データパケットは、ヘッダ５０２と、本体５０４と、トレーラ５０６とを含む。幾つかの実施形態において、ヘッダ５０２は、一例において６４ビット・フィールドとすることができる宛先エージェント識別子５０８を含む。幾つかの実施形態において、フィールドは、ネットワークバイト順で伝送され、メッセージを配信すべきエージェントを特定する。幾つかの実施形態において、特定の値（１つの可能な例として、例えば、１６進法の値０×ＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦ）は、メッセージをブロードキャストとして全ての利用可能なエージェントに配信すべきことを示すことができる。幾つかの実施形態において、値ゼロは、無効なエージェント又は指定されていないエージェントを示すことができ、ゼロに設定された宛先識別子フィールドを有するメッセージは、受信側エージェントにより無視される。
【００４４】
幾つかの実施形態において、ヘッダ５０２は、同じく一例として６４ビット・フィールドとして示されるソース（発信元）エージェント識別子フィールド５１０をさらに含む。幾つかの実施形態において、ソースエージェント識別子フィールド５１０は、ネットワークバイト順に伝送され、メッセージを発したエージェントを特定する。ソースが不明の場合には、値をゼロに設定することができる。幾つかの実施形態において、特定の値（１つの可能な例として、例えば、１６進法の値０×ＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦ）が確保され、これはソース識別子として無効であり、ソースフィールド内にこの値を有するメッセージは、受信側エージェントにより無視される。
【００４５】
幾つかの実施形態において、ヘッダは、例えば図５に３２ビットフィールドとして示されるメッセージ識別子フィールド５１２を含む。幾つかの実施形態において、メッセージ識別子フィールドは、ネットワークバイト順に伝送され、個々のメッセージを識別するためのクッキーとして用いられるアプリケーション特有の値を表す。この値は、予期しないメッセージを拒否するために、エージェントにより用いることができる。一例において、要求メッセージは、特定のメッセージ識別子を含むことができ、その後、応答は、同じ識別子を含むことが必要であり、そのことにより、要求者が、古い応答又は二重の応答を拒否することが可能になる。
【００４６】
幾つかの実施形態において、バージョンフィールドが、異なるバージョンを区別するために、ネットワークプロトコルの現在のバージョンを示すことができる。一例において、ビット０−３は、バージョンマイナー番号５１４を形成し、ビット４−７は、バージョンメジャー番号５１６を形成する。例えば、バージョン１．０について、現在のメジャー番号は１であり、現在のマイナー番号は０である。
【００４７】
幾つかの実施形態において、ヘッダ５０２は、８ビット・フィールドとして示されるが、いずれの数のビットを用いることもできる、メッセージタイプフィールド５１８を含むことができる。幾つかの実施形態において、フィールドは、本体５０４内に含まれるメッセージのタイプを示す。一実施形態において、ネットワークプロトコルは、種々のドメイン特有のプロトコルをその中にカプセル封入することができるコンテナプロトコルである。幾つかの実施形態において、メッセージフィールド５１８は、プロトコルを識別する。一例において、エージェントが未認識のメッセージタイプ値を有するメッセージを受信した場合、エージェントは、メッセージを無視し、メッセージへの応答を送らない。幾つかの実施形態において、プロトコルは、メディア制御コマンドを提供するためのプロトコル（メディアソースプロトコル）を含むことができ、このようなプロトコルは、ソースエージェントからのメディアコンテンツ（音声、映像、画像、グラフィックス、及び他のいずれかのメディア）の伝送を制御することができる。
【００４８】
幾つかの実施形態において、ヘッダは、例えば図５に１６ビットフィールドとして示される、フラグメント化（ｆｒａｇｍｅｎｔａｔｉｏｎ）情報フィールド５２０を含むことができる。幾つかの実施形態において、フィールドは、メッセージのフラグメント化に関する情報を提供することを意図している。幾つかの実施形態において、フィールドは、ネットワークバイト順に伝送され、多数のメッセージにわたる交換をサポートするのに用いられる。一例において、フィールドのビット０は、メッセージが交換の最終部分であるかどうかに関するインジケータとして働くことができ、即ち、１の値は、そのメッセージが最終フラグメントであることを示し、０の値は、更なるフラグメントが続くことを示す。この例において、次いで、ビット１−１５は、交換における断片の総数を示すことができ、ここで値０を確保し、フラグメント数が指定されていないこと、従って、いつ最終フラグメントインジケータを監視する必要があるかを示す。フラグメント化情報フィールドを用いて、受信機のメモリ管理を助けることができる。
【００４９】
幾つかの実施形態において、データパケット５００の本体５０４は、メッセージのペイロードを含む。示された例において、メッセージ本体５２４は、３６バイトフィールドであるが、いずれのサイズを用いることもできる。幾つかの実施形態において、メッセージ本体５２４のフォーマットは、メッセージタイプ５１８によって定まる。
【００５０】
幾つかの実施形態において、データパケット５０６の後にトレーラ５０６が続くことができる。幾つかの実施形態において、トレーラ５０６は、ネットワークデータ伝送におけるセキュリティを提供するためのセキュアメッセージ署名５２６を含むことができる。しかしながら、ネットワークにおけるデータ送信のために他のセキュリティ機構を定めてもよく、トレーラ５０６は他の情報を含んでもよい。
【００５１】
図６は、ネットワークにおける制御コマンドの実施形態の図である。制御コマンドは、例えば、娯楽ネットワークのためのメディアデータの制御に関するコマンドを含むことができる。この例示において、制御コマンド６００は、例えば、メッセージ本体５２４内など、図５に示されるデータパケット６００において伝送することができる。幾つかの実施形態において、制御コマンド６００は、固定長のものとすることができる。一例において、メディア制御コマンド６００の固定長は４０バイトであるが、特定の実施形態に応じて、メディア制御コマンドの長さは、より多くても又はより少なくてもよい。
【００５２】
幾つかの実施形態において、メディア制御コマンド６００は、例えば図６に４バイトのヘッダ及び３６バイトの本体として示される、ヘッダ６０２及び本体６０４を含むことができる。幾つかの実施形態において、バージョンは、ヘッダ６０２内のメジャーバージョンフィールド６１６及びマイナーバージョンフィールド６１４で示すことができる。幾つかの実施形態において、ヘッダは、コマンドにより表現されるコマンドタイプを表すトークンを含むためのコマンドタイプフィールド６１８をさらに含むことができる。制御メッセージについての可能なコマンドタイプは、異なる実施形態において変わることがあり、各々のコマンドタイプは、潜在的に異なるメッセージ構造を有する。例えば、幾つかの実装において、幾つかの実施において、メディアデータコンテンツを伝送するエージェントであるメディアデータソースエージェントについて、表１に示すコマンドタイプを定めることができる。
2010534884.tif 000003
2010534884.tif 000004
表１−メディアデータソースエージェントについてのコマンドタイプ
【００５３】
幾つかの実装において、メディアデータコンテンツを受信し、格納するエージェントであるメディア記憶エージェントについて、表２に示すコマンドタイプを定めることができる。
2010534884.tif 000005
2010534884.tif 000006
表２−メディアデータ記憶エージェントについてのコマンドタイプ
【００５４】
幾つかの実装において、メディアデータコンテンツを受信し、表示することができるエージェントであるメディア表示エージェントに対して、表３に示すコマンドタイプを定めることができる。
2010534884.tif 000007
表３−メディアデータ表示エージェントについてのコマンドタイプ
【００５５】
幾つかの実施形態において、ヘッダは、応答コードフィールド６２０を含むことができる。例えば８ビットとして示されるこのフィールドは、要求メッセージのリターン状態を示すことができる。幾つかの実施形態において、応答タイプではないコマンドタイプを有するいずれかのメディアソースコマンドについて、応答コードフィールド６２０は、値０を有し得る。幾つかの実施形態において、エージェントが未定義の応答コードを戻した場合、受信機は、この応答を無効な応答として扱う。ヘッダは、ネットワークメディアコマンドプロトコルの更なる修正のための、１つ又はそれ以上の予約フィールド６２２をさらに含むことができる。
【００５６】
最終的に、制御コマンド６００は、関連したコマンドタイプ６２８のためのフィールドを含むことができる。幾つかの実施形態において、このフィールドは、データパケット内に含まれる特定のコマンドタイプによって変わる。
【００５７】
図７は、データストリームに関するリソースをセットアップするための制御コマンドの一例の図である。この例において、コマンド７００は、ヘッダ６０２及び本体６０４を含み、ヘッダは、マイナーバージョンフィールド６１４と、メジャーバージョンフィールド６１６と、コマンドタイプフィールド６１８（ここでは、セットアップ要求に対するコマンドタイプ１として示される）と、応答コードフィールド６２０（セットアップ要求は応答ではないので、ここでは応答コード＝０として示される）と、予約フィールド６２２とを含んでいる。
【００５８】
幾つかの実施形態において、コマンド７００の本体６０４は、他のメッセージフィールドに関連した情報又は要求の処理方法を表すフラグのビットマップを表すためのフラグフィールド７２４（例えば、特定のビット位置にある１の値は、関連したフラグについて正の値を示し、０の値０は、負の値を示す）と、特定のコンテンツ片の配信に用いることができるポートの数を表すためのポートカウントフィールド７２６と、ターゲット装置における連続したポートの範囲における最初のポートを表すための最初のターゲットポートフィールド７２８と、コンテンツを配信すべきターゲットＩＰｖ４アドレスを表すためのターゲットＩＰアドレス・フィールド７３０と、ターゲットエージェントが配信すべきコンテンツ片の識別子を表すためのコンテンツ識別子フィールド７３２と、アクティブな記録セッションにおけるリモートエンドポイントを形成するエージェントの識別子を表すためのリモートエージェント識別子フィールド７３４と、１つ又はそれ以上の予約フィールド７３６とを含むことができる。図７に示されるフィールドは、特定のコマンドタイプの一例として与えられ、いずれかの他のコマンドタイプのためのフィールドは、そのコマンドに対処するために必要に応じて変わる。
【００５９】
図８は、ネットワークにおけるデータ制御のためのプロセスの実施形態を示すための流れ図である。この図において、ネットワーク装置のエージェントと別のネットワーク装置又は同じネットワーク装置の１つ又はそれ以上の他のエージェントとの間で、接続をセットアップすることができる。幾つかの実施形態において、接続は、複数の目的のために用いることができ、従って、必ずしも特定のデータストリーム操作のために確立されるものではない。接続を確立した後、エージェントは、制御コマンド８０４を含んだデータパケットを受信することができる。
【００６０】
幾つかの実施形態において、データパケットが正しいサイズであるかどうかの判断８０６がなされ得る８０６。幾つかの実施形態において、正しいサイズは、データパケットのサイズをネットワークにおける固定パケットサイズと比較することによって判断される。幾つかの実施形態において、データパケットが正しいサイズでない場合には、メッセージは無視される８１０。幾つかの実施形態において、データパケットが正しいサイズのものである場合には、データパケットがエージェントにアドレス指定されているかどうかの判断８０８がなされ得る。データパケットがエージェントにアドレス指定されていない場合には、メッセージは無視される８１０。データパケットがエージェントにアドレス指定されている場合には、トークンを取得して、メッセージ本体内に含まれるメッセージタイプを判断し、そのメッセージが制御コマンドであれば、データパケット内に存在するコマンドタイプを判断する８１２。エージェントは、該エージェントがそのコマンドタイプを認識するかどうかを判断する８１４。幾つかの実施形態において、トークンが未定義であるか又はトークンがエージェントに適用されないコマンドタイプであった場合には、エージェントはコマンドタイプを認識しないことがある８１４。コマンドが認識されない場合には、メッセージは無視される８１０。コマンドが認識される場合には、そのコマンドに関する予測フィールドを決定することができ８１６、コマンドデータのためのコマンドのフィールドを構文解析する。コマンド内のフィールドがコマンドタイプと合致しない場合には、エラーが存在する可能性がある８３０。（図８に図示されない他のエラー条件が存在し得る。）コマンドへの応答が必要な場合には８２２、応答が、コマンドの送信者に送られる８２４。次いで、コマンドか実施される８２６。幾つかの実施形態において、接続には多数の用途があり得るので、関連した操作が完了が接続を終了する結果にならない場合がある。それ以上接続が必要でなくなると、接続を終了する８２８。
【００６１】
図９は、ネットワーク装置の実施形態の図である。この例証において、ネットワーク装置９０５は、これに限られるものではないが、図１に示される装置を含む、娯楽ネットワークなどのネットワークにおけるいずれかの装置とすることができる。例えば、ネットワーク装置は、テレビ、セットトップボックス、ストレージユニット、ゲーム機、又は他のメディア装置とすることができる。幾つかの実施形態において、ネットワーク装置９０５は、ネットワーク機能を提供するためのネットワークユニット８１０を含む。ネットワーク機能は、これらに限られるものではないが、メディアデータストリームの生成、転送、格納、及び受信を含む。ネットワークユニット９１０は、内蔵システムとして実施することができる。ネットワークユニット９１０は、単一のシステム・オン・チップ（ＳｏＣ）として実装してもよく、又は複数のコンポーネントとして実装してもよい。
【００６２】
幾つかの実施形態において、ネットワークユニット９１０は、データを処理するためのプロセッサを含む。データの処理は、データストリームの生成、転送又は格納のためのデータストリームの操作、並びに、使用のためのデータストリームの暗号解除及び復号を含むことができる。ネットワーク装置はまた、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）９２０又は他の同様のメモリ、及びフラッシュメモリ８２５、又は他の不揮発性メモリなどのネットワーク操作をサポートするためのメモリをさらに含むことができる。
【００６３】
ネットワーク装置９０５はまた、１つ又はそれ以上のネットワークインターフェース９５５を介して、ネットワーク上にデータを伝送するための送信機９３０及び／又はネットワークからデータを受信するための受信機９４０を含むこともできる。送信機９３０又は受信機９４０は、例えば、イーサネットケーブル９５０を含む有線送信ケーブル、或いは無線ユニットに接続することができる。有線伝送ケーブルはまた、同軸ケーブル、電力線、又はデータ伝送に用い得る他のいずれかのケーブル又は配線を含むこともできる。送信機９３０又は受信機９４０は、データ伝送のためのライン９３５及びデータ受信のためのライン９４５のような１又はそれ以上のラインにより、データ転送及び制御信号のためのネットワークユニット９１０に結合することができる。付加的な接続も存在し得る。ネットワーク装置９０５はまた、ここでは図示されない、装置のメディア操作のための多数のコンポーネントも含むことができる。
【００６４】
上記の説明において、本発明の完全な理解を与えるために、説明目的で、多数の具体的な詳細が示されている。しかしながら、当業者であれば、本発明はこのような具体的な詳細のうちの一部がなくても実施できることは明らかであろう。他の例においては、周知の構造及び装置がブロック図の形態で示される。図示されたコンポーネント間に中間的構造が存在し得る。ここで説明される又は図示されるコンポーネントは、図示されない又は説明されない付加的な入力又は出力を有してもよい。図示された要素又はコンポーネントは、いずれかのフィールドの並べ替え又はフィールドサイズの修正を含む、異なる配置又は順序で配置することもできる。
【００６５】
本発明は、種々のプロセスを含むことができる。本発明のプロセスは、ハードウェアコンポーネントによって実行することができ、又は、汎用プロセッサ又は専用プロセッサ、或いは命令を用いてプログラムされた論理回路にプロセスを実行させるために用いることができる、機械実行可能命令において具体化することができる。代替的に、プロセスは、ハードウェアとソフトウェアとの組み合わせにより実行することができる。
【００６６】
本発明の部分は、コンピュータプログラム製品として提供することができ、このコンピュータプログラム製品は、本発明によるプロセスを実行するためにコンピュータ（又は他の電子装置）をプログラムするために用い得るコンピュータプログラム命令が格納されたコンピュータ可読媒体を含むことができる。機械可読媒体は、これらに限られるものではないが、フロッピィディスク、光ディスク、ＣＤ−ＲＯＭ（コンパクトディスク読み出し専用メモリ）、及び光磁気ディスク、ＲＯＭ（読み出し専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、ＥＰＲＯＭ（消去可能プログラム可能読み出し専用メモリ）、ＥＥＰＲＯＭ（電気的消去可能プログラム可能読み出し専用メモリ）、磁気又は光カード、フラッシュメモリ、又は電子命令を格納するのに適した他のタイプの媒体／機械可読媒体を含むことができる。さらに、本発明はまた、コンピュータプログラム製品としてダウンロードすることができ、プログラムは、遠隔コンピュータから要求中のコンピュータに転送することができる。
【００６７】
本方法の多くは、それらの最も基本的な形態で説明されるが、本発明の基本的な範囲から逸脱することなく、プロセスを、方法のいずれかに付加する又はそこから削除することが可能であり、情報を、説明されたメッセージのいずれかに付加する又はそこから取り去ることが可能である。当業者であれば、多数の更なる修正及び適合を為すことができることは明らかであろう。具体的な実施形態は、本発明を限定するためではなく本発明を説明するために与えられる。本発明の範囲は、上記に与えられた特定の例によって定められるものではなく、添付の特許請求の範囲によってのみ定められる。
【００６８】
要素「Ａ」が要素「Ｂ」と又は要素「Ｂ」に連結されると述べられている場合、要素Ａは要素Ｂに直接に連結されていてもよく、又は、例えば要素Ｃを介して間接的に連結されていてもよい。本明細書又は特許請求の範囲が、構成要素、特徴、構造、プロセス、又は特性Ａが、構成要素、特徴、構造、プロセス、又は特性Ｂを「生じさせる」と記述している場合、それは、「Ａ」は「Ｂ」の少なくとも部分的な原因ではあるが、「Ｂ」を生じさせるためには少なくとも１つの他の構成要素、特徴、構造、プロセス、又は特性の補助が存在していてもよいという意味である。本明細書が、ある構成要素、特徴、構造、プロセス、又は特性を「含んでもよい（ｍａｙ）」、「含むことがある（ｍｉｇｈｔ）」、「含むことができる（ｃｏｕｌｄ）」と記述している場合、その特定の構成要素、特徴、構造、プロセス、又は特性が必ず含まれている必要があるわけではない。本明細書又は特許請求の範囲が「１つの（ａ又はａｎ）」要素に言及する場合、記述された要素がただ１つだけ存在するということを意味するものではない。
【００６９】
実施形態は、本発明の実装又は例である。本明細書において、「実施形態」、「１つの実施形態」、「幾つかの実施形態」、又は「他の実施形態」に言及する場合、その実施形態に関連して記述される特定の特徴、構造、又は特性は、少なくとも幾つかの実施形態に含まれるが、必ずしも全ての実施形態に含まれるとは限らないことを意味する。「実施形態」、「１つの実施形態」、又は「幾つかの実施形態」といった様々な形は、必ずしも全て同じ実施形態のことを指しているわけではない。本発明の例示的な実施形態の上記の説明において、本発明の種々の特徴は、開示を簡素化し、本発明の種々の態様のうちの１つ又はそれ以上の理解を助けるために、単一の実施形態、図面、又はその説明において互いにグループ化されることもあることを認識すべきである。しかしながら、この開示方法は、特許請求される本発明が、各請求項において明示的に列挙されるよりも多くの特徴を必要とする意思を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲に反映されるように、本発明の態様は、決して単一の上記の開示された実施形態の特徴の全ての中にあるわけではない。従って、特許請求の範囲は、ここで明示的にこの説明に組み入れられ、各々の請求項は、本発明の別個の実施形態として独立する。
【符号の説明】
【００７０】
１００：娯楽ネットワークシステム
１０５：娯楽ネットワーク
１２２：ゲートウェイ
１２４：パーソナルコンピュータ
１２６：モニタ
１２８：メディアストレージユニット
１３０：セットトップボックス
１３２：テレビ
１３４：ケーブル又はファイバーシステム
１３６：衛星ネットワーク
１３８：セットトップボックス
１４０：第２のテレビジョン
１４２：ビデオゲームユニット
１４４：第３のテレビジョン
１４６：デジタルカメラ
１４８：携帯電話
１５０：個人用音楽プレーヤー
１５２：ビデオカメラ
１５４：自動車
２１５、２４０、２６５：状態機械
２２０、２４５、２６５、３１０、３１５、９５５：ネットワークインターフェース
２２５、２８０、４００、５００：データパケット
２５０：メディアデータストリーム
３２０、３２５、３３０：通信マネージャ
４１０、５０２、６０２：ヘッダ
４１５、５２４：メッセージ本体
４２０、５０６：トレーラ
４２５：データパケットについての固定長
４３０：コマンドについての固定長
４３５：メッセージタイプ
４４０：コマンドタイプ
５０４、６０４：本体
６００、７００、８０４：制御コマンド
７２４：フラグ
９３０：送信機
９３５、９４５：ライン
９４０：受信機
【図１】
2010534884.tif 000008
【図２】
2010534884.tif 000009
【図３】
2010534884.tif 000010
【図４】
2010534884.tif 000011
【図５】
2010534884.tif 000012
【図６】
2010534884.tif 000013
【図７】
2010534884.tif 000014
【図８】
2010534884.tif 000015
【図９】
2010534884.tif 000016
【国際調査報告】
2010534884.tif 000017
2010534884.tif 000018
2010534884.tif 000019