(57)【特許請求の範囲】
【請求項１】
ワイヤードネットワークにおいてエンティティ間のデータの配布を制御する方法であって、
第１エンティティと第２エンティティとの間の距離を推定するステップを有し、当該ステップは、
前記ワイヤードネットワークにわたり、１以上の中間ノードを介して、前記第１エンティティと第２エンティティとの間の信号送信のための伝播遅延を決定する処理と、
前記伝播遅延に基づき距離を計算する処理とを含み、
前記伝播遅延を決定する処理は、さらに、
前記第１エンティティのクロックと前記第２エンティティのクロックとの関係を確立するために、前記第１及び第２のエンティティのクロックをタイムサーバーに同期させる当該処理と、
前記ワイヤードネットワークを介して、送信時間を含むデータパケットを前記第１エンティティから前記第２エンティティへ送信する処理と、
前記第１エンティティから前記第２エンティティ間のデータパケットに関するパス内の各中間ノードで前記データパケットを受信し、各中間ノードのために処理遅延時間を決定して前記データパケットに挿入し、前記各中間ノードから前記データパケットを再送信する処理と、
前記データパケットを受信時間に前記第２エンティティで受信する処理と、
前記第２エンティティからの返送パケットを第２送信時間に返送する処理と、
前記第２エンティティと前記第１エンティティ間の返送パケットに関するパス内の各中間ノードで前記返送パケットを受信し、各中間ノードのために処理遅延時間を決定して前記返送パケットに挿入し、前記各中間ノードから前記返送パケットを再送信する処理と、
前記返送パケットを第２の受信時間に前記第１エンティティで受信する処理と、
前記第１及び第２のエンティティに関する前記第１及び第２の送信時間と受信時間、並びに前記中間ノードに関する処理遅延時間と使用して前記伝播遅延を決定する処理と、を含み、
前記第１エンティティと第２エンティティとの間の前記推定された距離がデータに対する距離スレッシュホールド内にある場合だけ前記第１エンティティと第２エンティティとの間にデータを配布するステップと、
を備えた方法。
【請求項２】
前記データパケットの第１ビットがネットワーク媒体上に送信されたときに前記送信時間を確立する工程と、
前記返送パケットの第１ビットが前記ネットワーク媒体を経て受信されたときに前記第２の受信時間を確立する工程と、
を更に含む請求項１に記載の方法。
【請求項３】
前記データパケット又は前記返送パケットを受信する各中間ノードのアイデンティティを認証することを更に含む、請求項１に記載の方法。
【請求項４】
前記データパケット及び前記返送パケットは暗号化され、前記各中間ノードは、前記処理遅延時間を挿入するために前記データパケット及び前記返送パケットを解読し、そして前記データパケット及び前記返送パケットを送信のために再暗号化する、請求項３に記載の方法。
【請求項５】
前記距離スレッシュホールドは、配布されるコンテンツに基づいて変化する、請求項１に記載の方法。
【請求項６】
１以上の中間ノードを介して装置からワイヤードネットワーク内の第２装置までの距離を推定するように構成された距離モジュールであって、前記ワイヤードネットワークにわたり、前記装置と第２装置との間に送られたデータパケットに関する伝播遅延を決定するように構成された当該距離モジュールと、
前記データパケットを送受信するための時間を計測するクロックを含む時刻ユニットとを備え、
前記伝播遅延の決定は、
前記クロックと前記第２装置内の第２クロックとの関係を確立するために、前記装置のクロックをタイムサーバーに同期させ、
送信時間を含むデータパケットを前記ワイヤードネットワークを介して前記装置から前記第２装置へ送信することによって、当該データパケットが受信時間に前記第２装置で受信され、返送パケットが第２送信時間に前記第２装置から返送され、
前記装置と前記第２装置間で送信されるパケットに関するパス上の１以上の中間ノードのための処理遅延時間と、前記第２装置から前記装置への返送パケットに関するパス上の１以上の中間ノードのための処理遅延時間とを含む返送パケットを、第２の受信時間に前記装置で受信し、ここで、前記処理遅延時間が各中間ノードによって前記データパケット又は前記返送パケットに挿入されており、
前記装置及び第２装置に関する送信時間及び受信時間、並びに前記中間ノードに関する処理遅延時間に基づき前記伝播遅延を決定し、更に、
前記装置と第２装置との間のデータ送信が許可されるかどうかを、前記推定距離と距離スレッシュホールドとの比較に基づいて判断するための判断モジュールと、
を備えた装置。
【請求項７】
前記タイミングハードウェアは、前記データパケットの第１ビットが前記ネットワーク上に出されたときに前記送信時間を決定し、前記返送パケットの第１ビットが前記ネットワークを経て受信されたときに前記第２の受信時間を決定し、又はその両方を行うように使用される、請求項６に記載の装置。
【請求項８】
前記判断モジュールは、前記装置に収容される、請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的に、所定の物理的なドメイン内でデータが利用されるのを保証することに係り、より詳細には、送信ノードと受信ノードとの間の距離が距離限界内にある場合だけ保護されたデータが利用されるのを保証することに係る。
【背景技術】
【０００２】
動画スタジオ及びブロードキャスタのようなコンテンツ所有者は、多くの場合、コンテンツの配布を、単一の住居内のような狭い物理的範囲に限定することを望む。ネットワーク技術は、広範囲に変化する位置に存在する装置をネットワークが含むので、この制限の実施を困難にする。広告及びコンテンツ配布タイミング（例えば、コンテンツのリリースウインドウ、スポーツブラックアウト、等）の多くが位置に基づくものとすれば、１つの家、住居又はオフィスのような１つの場所の範囲にコンテンツのアクセスを制限することが望まれる。
【０００３】
ＩＰ（インターネットプロトコル）ホップカウンティングに基づいて使用制限を与える試みがなされている。ＩＰは、パケットがソースと行先との間を進むときに通るルーター又は他の中間ノードの数をカウントするためのメカニズムをなす。例えば、図１Ａは、パケットがデータソース１０１からローカル行先１０３及びリモート行先１０５までにとる経路を示している。ホップカウンティングベースの方法のもとでは、ソースは、最大１つのホップを通してデータを送信することに限定される。この場合、ローカル行先１０３へは送信できるが、リモート行先１０５への送信は禁止される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、近代的なバーチャルプライベートネットワーク（ＶＰＮ）技術は、この解決策を無力なものにすることがある。物理的に離れた２つのノード間のＶＰＮ接続は、２つのエンドポイント間の中間ノードを隠してしまう。例えば、図１Ｂに示すように、ユーザは、データソース１０１とリモート行先１０５との間にＶＰＮ接続１０７を生成することがある。ＶＰＮ接続を経て進行するデータパケットは、一般的に、中間ノードを見ないので、パケットは、ＩＰホップカウント限界内に留まりながら長い距離を移動することができる。それ故、ＶＰＮ接続の使用によりバイパスされずに地理的な制限を実施することのできるシステムが要望される。
【課題を解決するための手段】
【０００５】
データを共有するエンティティの物理的な位置を保証する方法及び装置が提供される。
【０００６】
第１の態様において、エンティティ間のデータの配布を制御する方法は、第１エンティティと第２エンティティとの間の距離を推定し、第１エンティティと第２エンティティとの間の推定された距離がデータに対するスレッシュホールド距離内にある場合だけ第１エンティティと第２エンティティとの間でデータを配布することを含む。
【０００７】
第２の態様において、装置は、その装置から第２装置までの距離を推定するための距離モジュールと、装置と第２装置との間のデータ送信が許可されるかどうかを、前記推定距離と距離スレッシュホールドとの比較に基づいて判断するための判断モジュールと、を備えている。
【０００８】
第３の態様において、データの配布を制御するためのシステムは、データを送信するためのソースと、データを受信するためのシンクとを備えている。このシステムは、更に、ソースとシンクとの間の距離を推定するための距離モジュールと、推定された距離がデータに対するスレッシュホールド距離内である場合だけデータを配布できるようにする判断モジュールとを備えている。
【０００９】
本発明の実施形態は、その実施形態を示すのに使用される添付図面及びそれを参照した以下の説明から理解されよう。しかしながら、本発明の実施形態は、これら図面の細部に限定されない。
【図面の簡単な説明】
【００１０】
【図１Ａ】ネットワーク内のポイント間の距離を推定するための従来の方法を示す概略図である。
【図１Ｂ】ネットワーク内のポイント間の距離を推定するための従来の方法を示す概略図である。
【図２】ホームネットワークのようなパーソナルドメインを例示する概略図である。
【図３】装置と装置との間の伝播遅延を決定するためのメカニズムを示すフローチャートである。
【図４】パケット送信を使用して伝播遅延を間接的に決定するためのプロセスを示すフローチャートである。
【図５】ソースが距離に基づいてデータを送信すべきかどうか判断する一実施形態を示すフローチャートである。
【図６】シンクが距離に基づいて送信すべきかどうか判断する一実施形態を示すフローチャートである。
【図７】ソースもシンクも距離に基づいてデータを送信すべきかどうか判断しない一実施形態を示すフローチャートである。
【図８】伝播遅延を使用して装置と装置との間の距離を決定するプロセスを示す。
【図９】信号反射を使用してエンティティとエンティティとの間の距離の測定を示す図である。
【図１０】データを共有するエンティティの物理的な位置を保証するためのシステムの種々の実施形態を示す。
【図１１】ネットワーク装置の実施形態を示す。
【発明を実施するための形態】
【００１１】
データを共有するエンティティの物理的な位置を保証するための方法及び装置が提供される。
【００１２】
ここで使用する「パーソナルドメイン」は、単一エンティティの一部分と考えることのできる装置のセットである。
【００１３】
ある実施形態において、パーソナルドメイン内の装置と装置との間の物理的距離を制限するための手段が提供される。ある実施形態では、データの結合が、単一のパーソナルドメインに属する装置の数、例えば、請求可能なエンティティ、家族、家庭、住居、オフィス、又は他のエンティティに制限される。又、ある実施形態では、パーソナルドメイン内の構成装置は、例えば、メディアコンテンツの表示を含めて、データを使用するためには、互いに規定の物理的距離内に存在することが要求される。
【００１４】
ある実施形態では、システムは、２つのエンドポイント間の距離要件に基づきデータへの進入制御を与える。又、ある実施形態では、交換されるデータは、メディアデータを含むが、それら実施形態は、特定形式のデータに限定されない。又、ある実施形態では、距離要件は、２つのエンドポイント間の最大距離スレッシュホールド、エンドポイント間の最小距離スレッシュホールド、又は進入が許されるレンジ（或いは進入が禁止されるレンジ）を与える最大及び最小距離スレッシュホールドの組合せを含む。
【００１５】
２つの物理的エンティティが距離スレッシュホールド内にあるかどうか決定するために複数の方法を使用することができる。距離は、直接的又は間接的に決定される。ある実施形態では、データパケットのようなデータエレメントをエンドポイント間に送信し、そしてデータ通過のための時間（ネットワーク接続の物理的媒体に関わらず、ここでは、「ワイヤ遅延」と称される）を測定することにより、測定がなされる。第１エンドポイントのクロックと第２エンドポイントのクロックとの間の関係が既知であるか、又はそれを発見できる場合には、エンドポイントによって直接的な測定を行うことができる。クロックの関係は、（両クロックが一致する関係となるように）エンドポイントに対するクロックの同期を含むが、それに限定されない。この目的のためのプロトコル（ＮＴＰ−ネットワークタイムプロトコル）を使用して関係を確立することができる。ある実施形態では、例えば、第１エンドポイントから“ピング(ping)”パケットを送信し、そして第２エンドポイントから返送パケットを受信することにより、単一エンドポイントがワイヤ時間を間接的に決定することができる。このようなプロセスは、以下に詳細に説明する。ワイヤ遅延が発見されると、ワイヤード接続を経ての信号の速度を使用して時間と距離を協調させることにより距離を決定することができる。
【００１６】
ある実施形態では、距離の決定は、限定されたリソースで正確に行われる。又、ある実施形態では、全ての内部処理は、時間測定において考慮される。一実施形態では、処理は、送信パケットに対して非常に正確なタイムスタンプを使用して考慮され、このようなタイムスタンプは、パケットがネットワーク媒体上で送信を開始するとき、及びパケットがネットワーク媒体を経て最初に受信されるときに、決定される。ある実施形態では、タイムスタンプは、ビットがワイヤ又はチャンネルに付与されるか、或いは特殊ハードウェアの使用によりこのようなワイヤ又はチャンネルを経て受信されるときに、発生される。しかしながら、このような特殊ハードウェアサポートは、全ての実施形態において要求されるものではない。送信及び受信の発生を正確に決定することで、内部処理による遅延を考慮する正確な計算を行うことができ、ひいては、第１エンドポイントと第２エンドポイントとの間でワイヤを進むのに実際に費やされる時間を分離することができる。ある実施形態では、距離決定メカニズムは、物理的媒体と独立しているか、又はネットワークの物理的媒体の混合であり、ワイヤード又はワイヤレス接続に対して一般的に使用される。ノードとノードとの間の接続の形式は、決定プロセスには関係ない。
【００１７】
ある実施形態では、距離決定プロセスは、ネットワークの内部ノードに関わりなく動作し、従って、第１エンドポイントと第２エンドポイントとの間のノードに関わりなく動作する。パケットが、考慮されていないノード（例えば、イーサネットスイッチ）を通過しなければならない場合には、システムは、上限を決定するのに一般的に安全な大きな距離に到達する（距離の上限スレッシュホールドを越えるエンドポイントが更に離れているように見え、従って、まだ距離スレッシュホールドの外にあるように見えるためである）。内部ノードを通る遅延は、内部リソースに対するバッファ動作及び競争のために一般的に可変であるが、最小の可変値が真の距離値に最も接近し、従って、最小の観察値を、最も正確な測定値として使用することができる。ある実施形態では、例えば、パケットが最初に受信されるときと、パケットが最初に転送されるときとの間に生じる処理遅延を記録することにより、距離測定プロトコルで動作する内部ノードの動作を通じてより高い精度が与えられる。ある実施形態では、内部ノードは、第１ビットが受信される時間、及び第１ビットが送信される時間を記録し、受信と受信との間の時間差がパケットに記録される。例えば、この時間差をパケットの終了に加算して、一連の処理遅延を与えることもできるし、又はパケットのあるフィールドに処理遅延を累積することもできる。
【００１８】
ある実施形態では、距離決定メカニズムを、既存のプロトコル内で具現化することができる。又、距離決定スキムを、既存のネットワークプロトコル、例えば、ＡＲＰ（アドレスレゾルーションプロトコル）又はＩＣＭＰ（インターネットコントロールメッセージプロトコル）内にカプセル化して、レガシーネットワーク装置を通してプロセスを実行することができる。
【００１９】
ある実施形態では、例えば、人為的に大きな処理遅延をパケットに挿入して第２エンドポイントまでの見掛けの距離を減少するか、さもなければ、距離の計算を操作することにより、悪意のあるユーザがネットワーク進入制御を破ることを防止するセキュリティが与えられる。ある実施形態では、信頼のある装置しかワイヤ遅延計算に関連した情報を与えることができないよう保証するためのセキュリティレイヤが追加される。ある実施形態では、各協働するノードは、そのノードをプロトコルに適合するものとして認証する中央当局からの証明書を得ることが要求される。ある実施形態では、この証明書を使用して、ノードとノードとの間に暗号化通信を確立し、そしてセキュアな署名をパケットにアタッチして、受信者がデータのソースを検証できると共に、非許可のノードによりデータが変更されていないことを検証できるようにする。このように、標準プロトコルを使用してクロック関係交換を暗号化でき、受信したタイムスタンプを正確なものとして検証することができる。間接的な距離測定では、処理遅延を与える各ノードは、例えば、パケットの終わりに遅延値を付加し、そして改竄に対して保護するためにこのような値に署名することができる。別の実施形態では、中間ノードがメッセージを解読し、累積された処理遅延を更新し、そしてメッセージを再暗号化し、署名することができるように、ノードにわたってグローバルなセッションキーを確立することができる。
【００２０】
オープンアーキテクチャーシステムにおいてコンテンツを保護するための方法及び装置が、参考としてここに援用する２００４年１０月１９日に出願された“METHOD AND APPARATUS FOR CONTENT PROTECTION WITHIN AN OPEN ARCHITECTURE SYSTEM”と題する米国特許出願第１０／９６８，７４１号に詳細に述べられている。この特許出願に述べられたシステムは、パーソナルコンピュータのようなオープンシステム内のコンテンツをセキュアなものにすることを含む。
【００２１】
図２は、パーソナルドメインを例示する図である。図２は、パーソナルドメインの一例を示すに過ぎず、パーソナルドメインの構成の大きな変化を具現化することができ、例えば、図２に示すものより少数又は多数の装置を有するか、或いは異なる形式の装置を含むパーソナルドメインを具現化することができる。この例のパーソナルドメインは、ホームネットワーク２０１であり、これは、ワイヤレスルーター２０３、一次パーソナルコンピュータ（ＰＣ）２０５、ベッドルームＰＣ２０７、キッチンＰＣ２０９、ＨＤＴＶオーディオ／ビジュアルディスプレイ２１１、共有ハードドライブ２１３、他の装置２１５、及びプリンタ２１７を備えている。ホームネットワーク２０１は、ワイヤレスネットワークとして示されているが、パーソナルドメインのコンポーネントを接続するためにワイヤードネットワーク（又はワイヤード及びワイヤレスの組合せ）を具現化することもできる。更に、ホームネットワーク２０１は、図２では、ワイヤレスルーター２０３を経てインターネットへアクセスするものとして示されているが、アクセス装置又はインターフェイスを経てアクセスが与えられてもよい。
【００２２】
更に、ホームネットワークへの別の入力は、ホームネットワーク２０１へテレビ番組を供給するケーブルＴＶソース２２１である。この例では、ケーブルＴＶソースは、キッチンＰＣ２０９へ供給される。
【００２３】
この技術で知られたように、ワイヤレスルーター２０３は、パーソナルドメインのコンポーネント間でデータを共有できるようにするために使用される。例えば、ハードドライブ２１３は、キッチンＰＣ又はＨＤＴＶ２１１へマルチメディアコンテンツを配給する。上述したように、ワイヤレスルーター２０３は、バーチャルプライベートネットワークを使用して（例えば、インターネット又は他の接続を経て）、家の物理的建物の外の装置へ接続することができる。図２において、ルーター２０３は、インターネットに接続され、これは、次いで、一例では、バケーションホームディスプレイ２１９へ接続することができる。このように、ホームネットワーク２０１のいずれかのコンポーネントから発せられたコンテンツは、バケーションホームディスプレイ２１９ヘストリーミングさせることができる。構成容易なパーソナルドメインの出現により、データ所有者の許可なしに、保護されたデータを広い地理的領域にわたって今や配布することができる。
【００２４】
技術の進歩で、これらパーソナルドメインに対する可能性が著しく広がった。過去に、ホームネットワークが若干のコンピュータしか含まなかったところで、近代的なパーソナルドメインは、従来ネットワーク化されなかった種々の装置、例えば、テレビや他の娯楽装置も含むことができる。ある実施形態では、多数の異なる位置にメディアを記憶することができる。例えば、個人が家族の写真をホームＰＣ２０５に記憶し、又、ビデオを共有ハードドライブ２１３に記憶することができる。同様に、個人は、そのメディアを多数の異なる装置で見ることを望む。例えば、個人は、記憶したビデオをキッチンＰＣ２０９で見ると共に、休日の写真のスライドショーをＨＤＴＶディスプレイ２１１に表示することを望む。又、個人は、生のケーブルＴＶ信号２２１をキッチンＰＣから家の中の別の装置へ送信したり、或いは全く異なる場所のバケーションホームディスプレイ２１９へ送信したりすることも希望する。従って、パーソナルドメイン内にある通常のモデルは、クライアント−サーバーではなくて、おそらく、ピア・ツー・ピアとなる。このため、データの配布を制限する集中的解決策は、おそらく、有効でない。
【００２５】
ある実施形態では、ソース装置からシンク装置へ行くときにパケットが進行する物理的距離を、例えば、パケットがソースから行先へ進行するのに要する時間の信頼できる推定値を得ることにより推定するために、種々のプロセスが使用される。ある実施形態では、距離の推定は、ネットワーク装置を使用して直接測定することによって行われるか、又は単一のエンドポイントから間接的に行われる。
【００２６】
ある実施形態では、直接測定プロセスは、送信器においてクロックとタイムスタンプ付きパケットとを同期させること、又はパケットが第１ポイントから第２ポイントへ進行するための時間を正確に計算する同様のプロセスを含む。このプロセスでは、送信時間と受信時間との間の差が、ネットワークを通る伝播時間であり、これが距離を表す。
【００２７】
直接決定のためのある実施形態では、この方法は、スイッチを横断するときにパケットに課せられる遅延の可変部分を境界定めして、相互接続されたネットワーク内の任意のノード間のネットワーク遅延の測定値を導出するために種々のメカニズムを含む。これらのメカニズムで、ノード間の物理的距離の信頼できる推定値を決定することができ、パーソナル（物理的）ドメインに対して定義された許容物理的直径を越えて存在すると決定されたノードは、ドメインから除外することができる。ある実施形態では、このような決定をなすのに使用されるスレッシュホールド値は、システムに対する単一の値にセットできるが、他の実施形態では、ネットワークを経て送信されるデータのような幾つかのファクタに基づいてスレッシュホールド（１つ又は複数）が変化してもよい。１つの例では、コンテンツプロバイダーＡは、そのコンテンツを、ネットワークを経て１００マイル送信できることを選択するが、コンテンツプロバイダーＢは、コンテンツを数百フィートに制限することを好む。
【００２８】
このように、パーソナルドメインの最大地理的サイズを実施し、パーソナルドメインの相対的な物理的位置が、コンテンツ所有者又はブロードキャスタによりセットされた定義された最大境界内に入ることを保証する。ある実施形態では、ネットワークノード間の伝播遅延を正確に測定するためにここに述べるある特定の方法を使用できるが、伝播遅延を決定するための多数の方法を使用できることが明らかである。
【００２９】
図３は、装置間の伝播遅延を決定するためのメカニズムを示すフローチャートである。このプロセスにおいて、ソース及びシンク装置は、ネットワークタイムプロトコル（ＮＴＰ）のようなクロック同期プロセスを使用することができる。ＮＴＰは、ネットワークを経て高精度時間情報を普及するための良く知られた方法の一例であり、インターネットを経てクロックを同期するのに共通に使用されるが、クロック関係を使用する本発明の実施形態は、クロック関係を確立又は決定するための特定のメカニズムに限定されない。ＮＴＰを具現化するシステムの基本的要素は、原子クロック又は他の非常に正確なタイムキーピングシステムに直結されたサーバーの小セット（ストラタム０と称される）である。これらのサーバーは、時間情報をサーバーの大セット（ストラタム１と称される）へ与え、次いで、これらサーバーは、時間情報を装置のより広範なセットへ与えることができる。又、ＮＴＰは、付加的な普及レベル（ストラタムと称される）も許すが、インターネット上のほとんどの装置は、ストラタム２で動作する。各レイヤにおいて、受け取られる時間測定値は、ネットワーク遅延が不確実に増加するので、精度が低くなることがある。受信装置は、複数の要求を送信しそして受信データをフィルタリングすることによりこの不確実性を減少できるが、ある程度の不確実性は残る。しかしながら、ストラタム０における時間は、少なくともピコ秒の精度であるから、低いストラタムでも、時間の精度は依然高い。本発明の一実施形態では、パーソナルドメインにおける装置は、それらの内部時間をインターネット上のどこかにあるＮＴＰサーバーに同期させる。
【００３０】
別の実施形態では、それに代わって、ローカルＮＴＰサーバーが使用される。この実施形態では、パーソナルドメインにおける装置の１つがＮＴＰサーバーとして構成される。パーソナルドメインにおける他の装置は、次いで、それらの時間をこのサーバーから受け取る。
【００３１】
ＮＴＰは、クロックを同期させるための特に良く知られた方法であるが、唯一の選択肢ではない。ＩＥＥＥ８０２．１ａｓ規格は、ローカルネットワーク上のマスタークロックサーバーに対してクロックを同期させるための別の手段を提供する。ＮＴＰと同様に、８０２．１ａｓを使用する装置は、高いクロック精度を達成するために複数のメッセージをクロックサーバーと交換する。
【００３２】
上述したように、特にソース（データを供給する装置）及びシンク（データを受け取る装置）とも称される装置が、同期したクロックを適切に維持することを保証する仕方は、多数ある。
【００３３】
図３において、フローチャートは、ソースとシンクとの間の伝播遅延を決定するための１つのプロセスを示す。ブロック３０１において、パーソナルドメインにおける装置は、それらのクロックを同期させるか、さもなければ、クロック間の相対的な関係を決定する。装置は、例えば、ローカル又はインターネットＮＴＰサーバーのようなプロセスを使用して、それらのクロックを同期させるか、さもなければ、クロック関係を決定する。クロックの同期は、ソースが送信の開始を求める前にいつでも遂行できるが、装置のクロックが正確に同期されたままであるよう保証するに充分なほど頻繁に同期をとることが要求される。
【００３４】
ブロック３０３では、ソースは、送信時間でのタイムスタンプを含むテストパケットをシンクへ送信する。一実施形態では、このテストパケットは、送信時に第１ビットが送信媒体に与えられるときに即座にパケットがタイムスタンプされ、ソースにおける送信遅延が伝播遅延の計算に含まれないように、構成される。
【００３５】
ブロック３０５では、パケット送信中に１つ以上の中間装置に遭遇する。一実施形態では、中間装置は、距離決定プロトコルに基づいて動作し、そして処理遅延値をパケットに与える。
【００３６】
ブロック３０７では、シンクがテストパケットを受け取って処理し、パケットを受信した時間を記録する。ブロック３０３におけるパケット送信と同様に、シンクがパケットの受信を開始し、第１ビットが受け取られたときに、受信時間が記録され、シンクにおける受信の遅延が遅延計算に含まれないようにする。別の実施形態では、シンクは、パケットにタイムスタンプを挿入するのではなく、処理時間を記録し、必要に応じて、そのようなデータを与えることができる。
【００３７】
ブロック３０９では、テストパケットを処理した後に、シンクがパケットを返送し、パケットの第１ビットが送信されるときにタイムスタンプが記録される。返送時には、１つ以上の中間ノードに再び遭遇し、これらノードは、再び、それらの処理遅延をパケットに与える（ブロック３１１）。
【００３８】
次いで、ブロック３１３において、ソースが返送パケットを受信し、例えば、パケットの第１ビットが受信されたときにタイムスタンプを記録する。ある実施形態では、ソースは、伝播時間を記憶するか、又はそのような時間を、距離決定のための別の装置へ与える（３１５）。当業者であれば、伝播遅延データは、ソース、シンク、又はメディアマネージメント装置を含む個別のデータマネージメント装置を含めて、多数の位置に記憶できることが明らかであろう。本発明の実施形態では、一般に、伝播遅延に基づいて距離を決定する際に使用するために必要な時に情報が入手できるだけでよい。
【００３９】
図３に示すプロセスは、更に、図示されたプロセスにおいてセキュリティプロトコルを実施することも含む。従って、装置が時間データを与えることが許可され且つ時間データが正確に与えられることが保証される。
【００４０】
図４は、パケット送信を使用して伝播遅延を間接的に決定するためのプロセスを示すフローチャートである。ネットワーク“ピング(ping)”は、例えば、特定の装置がネットワークに接続されたかどうかテストするために共通に使用される良く知られた方法である。ブロック４０１において、ソースは、ピングパケットをシンクへ送信し、送信時間を記録する。ブロック４０３では、シンクは、ピングパケットを受信し、応答パケットで応答する。ブロック４０５では、ソースは、応答パケットを受信し、受信時間を記録する。ある実施形態では、同期クロックメカニズムと同様に、ソースは、伝播遅延が一般的にネットワーク遅延を含むが、ローカル遅延は含まないように、送信及び受信時間を記録するよう動作する。ある実施形態では、送信時間は、ピングパケットの第１ビットが送信された時間に記録され、そして受信時間は、応答の第１ビットが受信された時間に記憶される。ブロック４０７では、ソースは、受信時間から送信時間を減算することにより往復時間を決定する。一般的に、ネットワーク遅延は、往復時間の最大成分であり、ネットワーク通過時間は、一般的に、両方向に同じである。それ故、ソースからシンクへの伝播遅延は、往復時間の半分にほぼ等しい。ブロック４０９では、ソースは、伝播遅延データをローカルに記憶するか、又はパーソナルドメイン内のどこかの既知の場所に記憶する。伝播時間の決定は、図８に更に示され、これについては以下に述べる。
【００４１】
ここに述べる例は、１つ又は２つのパケットトランザクションを使用して、伝播遅延を推定するが、当業者であれば、伝播遅延の測定は、これらのトランザクションを繰り返しそして結果をフィルタリングすることにより更に正確になることが明らかであろう。このようなプロセスの意図は、パケットが送信ライン上で費やす時間を（距離の代用として）測定することであるため、中間装置においてキューイングに費やす時間のような外部表示を考えられる程度まで除外する推定を得ることが望まれる。伝播遅延を増加するのは可変遅延だけであるから、一連の測定における最低の測定時間は、データが送信ラインを経て進行する時間を表す最良の遅延推定を与える。ある実施形態では、ソースは、上述した方法を繰り返して、外部遅延の影響を取り除くことができる。伝播遅延の信頼できる推定がなされると、信号がワイヤ又は空気中を移動する速度、約１フィート／ナノ秒を伝播遅延に乗算することにより、距離を推定することができる。
【００４２】
メディアコンテンツのようなデータを送信するための判断を、システム内の多数の異なる場所で行うことができる。図５は、ソースがデータを送信すべきかどうかの判断を行う一実施形態のフローチャートである。ブロック５０１では、ユーザ（シンク）は、特定のコンテンツをストリーミングする要求をなす。例えば、図１のネットワークでは、ユーザは、ケーブルＴＶ信号２２１をＨＤＴＶディスプレイ２１１へストリーミングするようにキッチンＰＣ２０９に要求する。ブロック５０３では、ソースは、要求を受け取り、その処理を開始する。
【００４３】
ブロック５０５では、ソースは、上述したメカニズムの１つ、又は何らかの他の方法を使用して、シンクまでの距離を決定する。ソースは、このとき距離を決定してもよいし、又は以前に決定された値を使用してもよい。以前に決定された値は、ローカルに記憶されてもよいし、又はリモート記憶位置から得られてもよい。以前に記憶された値が伝播遅延である場合には、ソースは、その時間を、ソースとシンクとの間の距離の推定地へと変換する。次いで、判断ブロック５０７へ進み、決定された距離がスレッシュホールド（これは、システムに対する単一のスレッシュホールドでもよいし、又は送信されるコンテンツによって決定されてもよい）より小さいかどうか評価される。説明を容易にするため、この例示、及び以下に述べる図６、７の例示は、距離の上限スレッシュホールドを使用しているが、これは、全ての実施形態において要求されるものではない。ある実施形態では、距離の下限スレッシュホールドが適用される場合もあり、又、スレッシュホールド未満の距離が拒絶される場合もある。ある実施形態では、距離の下限スレッシュホールド及び上限スレッシュホールドの両方が適用され、従って、少なくとも下限スレッシュホールドであるが、上限スレッシュホールド以下でもある帯域にエリアを制限する環境のような他の制限が適用されてもよい。
【００４４】
図５に示す例において、距離がスレッシュホールド未満である場合は、ソースがブロック５０９に続き、送信を続けると共に、シンクとの接続をなすのに必要なステップを実行する。距離がスレッシュホールドより大きい場合には、ソースがブロック５１１に続き、この場合には、要求を拒絶すると共に、送信を実行できないことをユーザに通知する。
【００４５】
別の実施形態では、図６のフローチャートに示すように、ユーザの要求を拒絶すべきかどうかシンクが判断する。この実施形態では、ブロック６０１においてユーザがコンテンツを要求しそしてブロック６０３においてソースが要求を受け取るときの最初のステップが、図５に示すものと同じであるか又は同様である。図６に示すプロセスは、ブロック６０５において上述したプロセスから分岐し、ソースがシンクとの接続を開始する。ブロック６０７において、シンクは、例えば、上述した方法を使用して、ソースとシンクとの間の距離を決定する。前記方法と同様に、距離は、このとき決定されてもよいし、又は以前に決定されたものでもよい。判断ブロック６０９において、シンクは、決定された距離が設定距離スレッシュホールド未満であるかどうか評価する。距離がスレッシュホールド未満である場合には、シンクはブロック６１１へ進み、ソースとの接続を完了し、コンテンツデータを受信する。距離が距離スレッシュホールドより大きい場合には、シンクはブロック６１１へ続き、この場合に、シンクは、接続の完了を拒否する。ソースは、次いで、接続を行えないことをユーザに通知する。
【００４６】
別の実施形態では、ソースがシンクへコンテンツを送信することが許されるかどうかを第３の装置（メディアマネージメント装置のような）が判断する。例えば、図２に示すネットワークでは、ユーザは、ホームＰＣ２０５を使用して、ＨＤＴＶ２１１へ映画をストリーミングするよう共有ハードドライブ２１３に要求する。この場合に、ホームＰＣは、他の２つの装置間の接続を開始するのに使用される。図７は、これらの環境のもとで使用されるプロセスの実施形態を示すフローチャートである。ブロック７０１において、ユーザは、要求されたコンテンツをソースがシンクへ送信するようにメディアマネージメント装置に要求する。ブロック７０３において、メディアマネージメント装置は、その要求を受け取る。ブロック７０５において、メディアマネージメント装置は、上述した１つ以上の方法を通じてソースとシンクとの間の距離の推定値を決定する。距離の決定は、距離を決定するようにソース又はシンクに問合せることを含んでもよいし、或いは情報が以前に配布されて、マネージメント装置に記憶されてもよい。どのような仕方で距離推定値が得られても、メディアマネージメント装置は、判断ブロック７０７に続き、そこで、距離が設定距離スレッシュホールド未満であるかどうか評価する。距離がスレッシュホールド未満である場合には、メディアマネージメント装置は、ブロック７０９へ続き、接続を続ける。このステップは、送信を開始するようにソースに単に要求するだけでもよいし、又はより複雑な設定ステップを含んでもよい。ソースとシンクとの間の距離がスレッシュホールドより大きい場合には、メディアマネージメント装置は、ブロック７１１へ続き、ユーザの要求を拒絶すると共に、接続を行えないことをユーザに通知する。
【００４７】
上述した方法は、伝播遅延を決定しそしてユーザ要求を拒絶すべきかどうか決定するために特定のタイミングを指定するが、この実施形態は、その特定のプロセス及び結果に限定されない。例えば、当業者であれば、幾つかのシンク装置に対して、接続を設定するときだけではなく、ストリームを送信しながらソースとシンクとの間の距離をチェックすることが好ましいことも明らかであろう。これは、シンクが、接続開始時に許容距離内にあるが、その後、その距離を越えて移動されるポータブル装置であるときに望ましい。
【００４８】
他の実施形態では、システムは、接続送信ラインの長さを測定する方法を通じてソースとシンクとの間の距離を見出すこともできる。例えば、時間ドメインのリフレクトメトリ（ＴＤＲ）は、信号がラインインピーダンスの変化に遭遇するときに生じる信号の反射を含む信号特性を使用して、ライン上のエンドポイント間の距離を決定する良く知られた方法である。当業者であれば、上述した方法は、ソースとシンクとの間の距離を直接的に決定するためにＴＤＲ又は他の方法を使用することにより具現化できることも明らかであろう。この実施形態は、このような距離決定も包含する。
【００４９】
図８は、伝播遅延を使用して装置間の距離を決定するプロセスを示す。この図において、伝播時間（ＴP）は、送信器（ＴX）８０５と受信器（ＲX）８１０との間の送信時間である。送信において、ＴX８０５からＲX８１０への送信時間ＴP８２０と、送信器の動作におけるデータ転送時間ＴD８２５と、受信器における転換時間ＴT８３０（ピングの受信から返送信号の送信までの時間）と、ＲX８１０からＴX８０５への戻り工程のＴP（伝播時間が対称的であると簡単に仮定する）とがあり、往復時間ＴRは、これらの時間の合計に等しい。従って、合計往復時間は、次のようになる。
ＴR＝（２ｘＴP＋ＴD＋ＴT）                                [1]
【００５０】
この決定において、データ転送時間ＴD８２５及び転換時間ＴT８３０は、既知であるか又はこのような装置に対して決定される。これらのファクタが除去された場合は、結果が２ｘＴPとなる。これは、送信器側から測定される往復時間を表し、装置間でクロックを同期させる必要がない。
【００５１】
しかしながら、送信プロセスには、ゼロ以上の可変伝播遅延時間ＴPDもある。その結果、可変伝播遅延と実際の伝播時間ＴPAとの和が発生伝播遅延に等しくなる。
ＴP＝（ＴPA＋ＴPD）                                        [2]
【００５２】
可変伝播遅延はゼロ以上であるから、これは、一連の測定における最低の測定伝播遅延が実際の伝播遅延に最も近い推定値をなすことを意味する。
【００５３】
図９は、信号反射を利用してエンティティ間の距離を測定することを示す。この図において、送信ライン９１５を経てソース装置９０５からシンク装置９１０へメディアコンテンツのようなデータを送信する要求がある。この場合にこのようなデータの送信が許可されるかどうか決定するために、ソース９０５とシンク９１０との間の距離の測定がなされる。１つの測定方法を使用すると、ＴＤＲ装置９２０が、ソースの位置において送信ライン９１５にアタッチされる。（シンク９１０の位置において逆方向に同じ測定を行うことができる。）ＴＤＲ９２０は、送信ライン９１５に信号又は一連の信号９３５を与えるために信号ジェネレータ９２５を備えている。送信ライン９１５上の装置に遭遇したときに生じることであるが、インピーダンスの不連続に遭遇すると、信号の反射が生じる。例えば、ソース装置９１０に到達すると、インピーダンスが変化して、反射信号９４０を発生させる。
【００５４】
反射信号９４０は、次いで、ＴＤＲ９２０内の信号受信器９３０によって検出される。信号９３５及び反射信号９４０は、実際には、送信ライン上を往復するので、信号９３５の送信で始まりそして反射信号の受信で終わる期間の半分が、ソース９０５からシンク９１０への送信時間に等しく、従って、この送信時間からソースとシンクとの間の距離を導出することができる。
【００５５】
図１０は、データを共有するエンティティの物理的な位置を保証するためのシステムの種々の実施形態を示す。ある実施形態では、ネットワーク１０００は、シンク装置１０１０へデータを供給することを要求し又は要求されるソース装置１００５を備えている。ある実施形態では、システムは、２つの装置間の距離を決定するためのモジュールと、そのような距離が１つ以上の距離スレッシュホールド以内であるか、ひいては、データ送信が許可されるかどうか判断するためのモジュールとを含む。距離決定及び判断プロセスは、種々の実施形態において異なる装置で行われる。距離の決定は、間接的又は直接的に行われる。距離の決定は、クロック同期を必要としても、しなくてもよい。
【００５６】
ある実施形態では、ソース装置１００５は、距離を決定するための距離モジュール１０１５と、距離が許可されるかどうか決定するための判断モジュール１０２０と、距離の決定に使用されるクロック１０２５とを備えている。ある実施形態では、シンク装置１０１０は、距離を決定するための距離モジュール１０３０と、距離が許可されるかどうか決定するための判断モジュール１０３５と、距離の決定に使用されるクロック１０４０とを備えている。ある実施形態では、許可の決定は、判断モジュール１０５５を含むデータマネージメント装置１０５０のような個別のエンティティによってなされる。
【００５７】
ある実施形態では、ソース装置１００５及びシンク装置１０１０は、距離決定のためにそれらのクロックの同期を必要とする。これらの装置は、例えば、タイムサーバー１０６０を使用して、中央クロック１０６５の時間との同期をとることができる。ある実施形態では、ＴＤＲ装置のような測定ユニット１０７０を使用して距離を決定することができ、この場合、直接測定ユニット１０７０は、距離モジュール１０７５を含む。
【００５８】
図１１は、ネットワーク装置の一実施形態を示す。この図において、ネットワーク装置１１０５は、距離を決定するための距離モジュール１１１０と、その距離が許可されるかどうか決定するための判断モジュール１１１５と、距離決定に使用されるクロック１１２０とを備えている。
【００５９】
この図において、ネットワーク装置１１０５は、更に、距離決定に使用するための正確なタイムスタンプを与えるタイミングハードウェア１１２５も備えている。このタイミングハードウェア１１２５は、ビットが最初にネットワークチャンネル１１３０を経て送信されるときの時間を確立するか、又は第１ビットがネットワークチャンネル１１３０を経て受信されるときの時間を確立するための特殊なハードウェアを含む。正確な時間測定を与えることにより、タイミングハードウェア１１２５は、時間測定値を実際の伝播時間に制限する上で助けとなる。
【００６０】
付加的な情報及び実施形態
上述した種々のモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで形成することができる。
【００６１】
図示されたコンポーネントとコンポーネントとの間には、中間構造が存在する。ここに説明又は図示された種々のコンポーネントは、図示又は説明されない付加的な入力又は出力を有する。図中のシステムの実際の具現化において、図示されない付加的な回路、制御ライン、及びおそらくは相互接続部がある。図面は、導体を通して接続された２つのブロックを示しているが、図示されていない中間回路が存在する。ここに述べる導体は、連続材料のものである必要はない。例えば、それらは、ビア又は他の接続構造を含んでもよい。ブロックの形状及び相対的なサイズは、実際の形状及び相対的なサイズに関連することを意図していない。ブロック間の矢印が一方向にしか示されていないことは、他の方向に通信がないことを意味するものではない。ブロック間の単一のラインは、ブロック間に他の導体がないことを意味するものではない。
【００６２】
実施形態は、本発明の具現化又は一例である。明細書において「実施形態」、「１つの実施形態」、「ある実施形態」又は「他の実施形態」を言及するときには、その実施形態について述べる特定の特徴、構造又は特性が、少なくともある実施形態には含まれるが、必ずしも全ての実施形態に含まれるのではないことを意味している。「実施形態」、「１つの実施形態」又は「ある実施形態」の種々の出現は、必ずしも全てが同じ実施形態を示していない。
【００６３】
要素“Ａ”が要素“Ｂ”に結合されると言えるときには、要素Ａは、要素Ｂに直結されるか、又は、例えば、要素Ｃを経て間接的に結合される。コンポーネント、特徴、構造、プロセス、又は特性Ａが、コンポーネント、特徴、構造、プロセス、又は特性Ｂを「引き起こす」と明細書又は請求の範囲に述べられたときには、“Ａ”は、“Ｂ”の少なくとも部分的な原因であるが、“Ｂ”を引き起こす上で助けとなる少なくとも１つの他のコンポーネント、特徴、構造、プロセス、又は特性でもあることを意味する。同様に、ＡがＢに応答すると言えるときには、Ａは、Ｂ及びＣの組合せに応答する。
【００６４】
コンポーネント、特徴、構造、プロセス、又は特性を含んでもよく(may)、含むことがあり(might)、又は含むことができる(could)と明細書に示された場合に、その特定のコンポーネント、特徴、構造、プロセス、又は特性を含むことが要求されるのではない。明細書又は請求の範囲で「ある(“a”又は“an”)」要素が言及された場合には、述べられた要素が１つしかないことを意味するものではない。
【００６５】
本発明は、ここに述べる特定の細部に限定されるものではない。実際に、前記説明及び添付図面の多数の他の変更が本発明の範囲内でなされる。従って、本発明の範囲を規定する特許請求の範囲は、前記説明のみならず、それに対する変更も包含する。
【符号の説明】
【００６６】
２０１：ホームネットワーク
２０３：ワイヤレスルーター
２０５：一次パーソナルコンピュータ（ＰＣ）
２０７：ベッドルームＰＣ
２０９：キッチンＰＣ
２１１：ＨＤＴＶオーディオ／ビジュアルディスプレイ
２１３：共有ハードドライブ
２１７：プリンタ
２１９：バケーションホームディスプレイ
２２１：ケーブルＴＶソース
【図１Ａ】
0005450417.tif 000002
【図１Ｂ】
0005450417.tif 000003
【図２】
0005450417.tif 000004
【図３】
0005450417.tif 000005
【図４】
0005450417.tif 000006
【図５】
0005450417.tif 000007
【図６】
0005450417.tif 000008
【図７】
0005450417.tif 000009
【図８】
0005450417.tif 000010
【図９】
0005450417.tif 000011
【図１０】
0005450417.tif 000012
【図１１】
0005450417.tif 000013