(57)【特許請求の範囲】
【請求項１】
複数のノードからのビデオフィードを表す静止画像を受信し、前記静止画像を監視エンティティへ伝送し、ノードからの静止画像によって表されるビデオフィードを選択する応答を前記監視エンティティから受信するように設定される、追跡コントローラであって、前記応答は、前記選択されたビデオフィードを前記ノードから前記監視エンティティへパケット交換ネットワーク上でストリーミングするための複数の候補となるパスを識別する、追跡コントローラ、及び
前記応答を前記ノードへ転送し、前記候補となるパスのうちの１つを確認する前記ノードからの確認を受信し、前記選択されたビデオフィードを前記ノードと前記監視エンティティとの間でダイレクトにストリーミングするためのピアツーピア接続を確立するために、前記監視エンティティへ前記確認を転送するように設定される、接続コントローラ
を備えるシステム。
【請求項２】
前記追跡コントローラは、前記静止画像を複数の監視エンティティへ伝送し、前記ノードと前記複数の監視エンティティとの間でピアツーピア接続を確立するように設定される、請求項１に記載のシステム。
【請求項３】
前記接続コントローラは、前記監視エンティティとノードとの間で一度に複数のピアツーピア接続を確立するように設定される、請求項１又は２に記載のシステム。
【請求項４】
前記接続コントローラは、１つのノードと複数の監視エンティティとの間で一度にピアツーピア接続を確立するように設定される、請求項１から３の何れか一項に記載のシステム。
【請求項５】
前記追跡コントローラは、更新された静止画像を前記ノードから定期的に受信し、前記更新された静止画像を前記監視エンティティへ伝送するように設定される、請求項１から４の何れか一項に記載のシステム。
【請求項６】
前記追跡コントローラは、前記監視エンティティの許容レベルを決定し、前記許容レベルに基づいて、前記監視エンティティへ伝送する静止画像を選択するように設定される、請求項１から５の何れか一項に記載のシステム。
【請求項７】
複数のノードからのビデオフィードを表す静止画像を受信すること、
前記静止画像を監視エンティティへ伝送すること、
ノードからの静止画像によって表されるビデオフィードを選択する応答を前記監視エンティティから受信することであって、前記応答は、前記選択されたビデオフィードを前記ノードから前記監視エンティティへパケット交換ネットワーク上でストリーミングするための複数の候補となるパスを識別すること、
前記応答を前記ノードへ転送すること、
前記候補となるパスのうちの１つを確認する前記ノードからの確認を受信すること、及び
前記選択されたビデオフィードを前記ノードと前記監視エンティティとの間でダイレクトにストリーミングするためのピアツーピア接続を確立するために、前記確認を前記監視エンティティへ転送すること
を含む、方法。
【請求項８】
前記静止画像を複数の監視エンティティへ伝送すること、及び
前記ノードと前記複数の監視エンティティとの間でピアツーピア接続を確立することを更に含む、請求項７に記載の方法。
【請求項９】
前記監視エンティティとノードとの間で一度に複数のピアツーピア接続を確立することを更に含む、請求項７又は８に記載の方法。
【請求項１０】
１つのノードと複数の監視エンティティとの間で一度にピアツーピア接続を確立することを更に含む、請求項７から９の何れか一項に記載の方法。
【請求項１１】
更新された静止画像を前記ノードから定期的に受信すること、及び
前記更新された静止画像を前記監視エンティティへ伝送することを更に含む、請求項７から１０の何れか一項に記載の方法。
【請求項１２】
プログラムされた指令を具現化する非一時的コンピュータ可読媒体であって、前記指令は、プロセッサによって実行されると、請求項７に記載の方法を実施するために動作することができる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ピアツーピアネットワーキングの分野に関する。
【背景技術】
【０００２】
あるユーザが幾人かのユーザに大容量のビデオデータを（例えば、リアルタイムで）伝送したい場合、不完全な手法が複数存在する。例えば、ユーザが、ビデオデータ配信のための専用の中央ハブとして機能する物理スイッチマトリクスを実装することがある。そのようなシステムにおいて、ネットワークにおけるビデオデータのソースは、高精細度マルチメディアインターフェース（ＨＤＭＩ）などの技術を用いて、ダイレクト物理コネクタを介してネットワークに接続される。次いで、物理スイッチマトリクスはソースビデオを、レビューのための一又は複数の所望の位置へと分割する。しかしながら、そのような物理的なケーブル及びスイッチハードウェアにかかる費用は膨大となり得る。
【０００３】
例えば、ハードウェアキャプチャは物理スイッチマトリクスの能力によって制限され、４つの入力及び４つの出力という制限が存在する場合が多い。高度に専門化されたハードウェアによって、より多くの入力／出力ポートが実装可能であるが、より多くのポートが追加されるごとにコストは大幅に増大しすぐに膨大なものとなる。更に、長いビデオケーブルがビデオ信号の質を劣化させ、遠隔位置にビデオデータを供給することが事実上不可能となり得る。
【０００４】
代替的な手法は、ビデオデータをインターネットプロトコル（ＩＰ）ネットワーク上でルーティングすることである。しかしながら、そのような解決法は、他者との共有のためのマルチプラットフォームサポート又はリアルタイムのデスクトップキャプチャを提供できないことがある。従って、ユーザは、ビデオストリーミング／プロビジョニングのための新しい解決法を模索し続けている。
【発明の概要】
【０００５】
本明細書に記載の実施形態は、ピアツーピアネットワーク上でノードを登録することが可能なシグナリングサーバを提供する。次いで、シグナリングサーバは、ビデオデータを供給するために、ノードとのピアツーピア接続の確立を支援し得る。シグナリングサーバを介して接続が確立された後、ピアツーピア接続のための通信は、シグナリングサーバを経由することなくピアデバイス間でダイレクトに送信される。これにより、ビデオデータが素早く且つ効率的にピアツーピア接続において伝送される。
【０００６】
一実施形態は、フライトシミュレータからのビデオフィードをモニタするためのピアツーピア接続を容易にするシステムである。システムは、フライト追跡コントローラ及び接続コントローラを含む。フライト追跡コントローラは、複数のフライトシミュレータからのビデオフィードを表す静止画像を受信し、静止画像を監視エンティティに伝送し、フライトシミュレータからの静止画像によって表されるビデオフィードを選択する応答を監視エンティティから受信することができ、応答は、選択されたビデオフィードをフライトシミュレータからパケット交換ネットワーク上で監視エンティティへとストリーミングするための複数の候補となるパスを識別する。接続コントローラは、応答をフライトシミュレータへ転送し、候補となるパスのうちの１つを確認するフライトシミュレータからの確認（ｃｏｎｆｉｒｍａｔｉｏｎ）を受信し、選択されたビデオフィードをフライトシミュレータと監視エンティティとの間でダイレクトにストリーミングするためのピアツーピア接続を確立するために、確認を監視エンティティへと転送することができる。
【０００７】
別の実施形態は、フライトシミュレータからのビデオフィードをピアツーピアネットワーク上で共有する方法である。本方法は、複数のフライトシミュレータからのビデオフィードを表す静止画像を受信すること、静止画像を監視エンティティに伝送すること、及び、フライトシミュレータからの静止画像によって表されるビデオフィードを選択する応答を、監視エンティティから受信することを含む。応答は、選択されたビデオフィードをフライトシミュレータからパケット交換ネットワーク上で監視エンティティへとストリーミングするための複数の候補となるパスを識別する。本方法はまた、応答をフライトシミュレータへ転送すること、候補となるパスのうちの１つを確認する応答をフライトシミュレータから受信すること、及び、あるフライトについての選択されたビデオフィードをフライトシミュレータと監視エンティティとの間でストリーミングするためのピアツーピア接続を確立するために、確認を監視エンティティへ転送することを含む。
【０００８】
別の実施形態は、プログラムされた指令を具現化する非一時的コンピュータ可読媒体であり、プロセッサによって実行されると、フライトシミュレータからのビデオフィードをピアツーピアネットワーク上で共有するための方法を実施するために動作可能である。本方法は、複数のフライトシミュレータからのビデオフィードを表す静止画像を受信すること、静止画像を監視エンティティに伝送すること、及び、フライトシミュレータからの静止画像によって表されるビデオフィードを選択する応答を、監視エンティティから受信することを含む。応答は、選択されたビデオフィードをフライトシミュレータからパケット交換ネットワーク上で監視エンティティへとストリーミングするための複数の候補となるパスを識別する。本方法はまた、応答をフライトシミュレータへ転送すること、候補となるパスのうちの１つを確認する応答をフライトシミュレータから受信すること、及び、あるフライトについての選択されたビデオフィードをフライトシミュレータと監視エンティティとの間でストリーミングするためのピアツーピア接続を確立するために、確認を監視エンティティへ転送することを含む。
【０００９】
複数のノードからのビデオフィードを表す静止画像を受信し、静止画像を監視エンティティへ伝送し、ノードからの静止画像によって表されるビデオフィードを選択する応答を監視エンティティから受信するように設定された、追跡コントローラであって、応答は、選択されたビデオフィードをノードからパケット交換ネットワーク上で監視エンティティへとストリーミングするための複数の候補となるパスを識別する、追跡コントローラ、及び、応答をノードへ転送し、候補となるパスのうちの１つを確認する応答をノードから受信し、選択されたビデオフィードをノードと監視エンティティとの間でダイレクトにストリーミングするために、確認を監視エンティティへ転送するように設定された、接続コントローラ、を備えるシステム。
【００１０】
本システムにおいて、追跡コントローラは、静止画像を複数の監視エンティティへ伝送し、ノードと複数の監視エンティティとの間でピアツーピア接続を確立するように設定される。本システムにおいて、接続コントローラは、監視エンティティとノードとの間で一度に（ａｔ  ｏｎｃｅ）複数のピアツーピア接続を確立するように設定される。本システムにおいて、接続コントローラは、１つのノードと複数の監視エンティティとの間で一度にピアツーピア接続を確立するように設定される。
【００１１】
本システムにおいて、追跡コントローラは、更新された静止画像を定期的にノードから受信し、更新された静止画像を監視エンティティへ伝送するように設定される。本システムにおいて、接続コントローラは、確立されたピアツーピア接続の各々を識別し、確立されたピアツーピア接続の各々を表すネットワークグラフを生成するように設定される。本システムにおいて、追跡コントローラは、監視エンティティの許容レベルを決定し、許容レベルに基づいて、監視エンティティへ伝送する静止画像を選択するように設定される。
【００１２】
本システムにおいて、追跡コントローラは、ノードのインターネットプロトコル（ＩＰ）アドレスを識別し、識別されたＩＰアドレスを監視エンティティへ伝送するように設定される。本システムにおいて、追跡コントローラは、各静止画像の縦横比を決定し、決定された縦横比を監視エンティティへ伝送するように設定される。
【００１３】
複数のノードからのビデオフィードを表す静止画像を受信すること、静止画像を監視エンティティへ伝送すること、ノードからの静止画像によって表されるビデオフィードを選択する応答を監視エンティティから受信することであって、応答は、選択されたビデオフィードをノードからパケット交換ネットワーク上で監視エンティティへとストリーミングするための複数の候補となるパスを識別すること、候補となるパスのうちの１つを確認するノードからの確認を受信すること、及び、選択されたビデオフィードをノードと監視エンティティとの間でダイレクトにストリーミングするためのピアツーピア接続を確立するために、確認を監視エンティティへ転送することを含む、方法。
【００１４】
本方法は更に、静止画像を複数の監視エンティティへ伝送すること、及び、ノードと複数の監視エンティティとの間のピアツーピア接続を確立することを含む。本方法は更に、監視エンティティとノードとの間で一度に複数のピアツーピア接続を確立することを含む。本方法は更に、１つのノードと複数の監視エンティティとの間で一度にピアツーピア接続を確立することを含む。本方法は更に、更新された静止画像を定期的にノードから受信すること、及び、更新された静止画像を監視エンティティへ伝送することを含む。本方法は更に、確立されたピアツーピア接続の各々を識別すること、及び、確立されたピアツーピア接続の各々を表すネットワークグラフを生成することを含む。本方法は更に、監視エンティティの許容レベルを決定すること、及び、許容レベルに基づいて、監視エンティティへ伝送する静止画像を選択することを含む。本方法は更に、ノードのインターネットプロトコル（ＩＰ）アドレスを識別すること、及び、識別されたＩＰアドレスを監視エンティティへ伝送することを含む。本方法は更に、各静止画像の縦横比を決定すること、及び、決定された縦横比を監視エンティティへ伝送することを含む。
【００１５】
プログラムされた指令を具現化する、非一時的コンピュータ可読媒体であって、複数のノードからのビデオフィードを表す静止画像を受信すること、静止画像を監視エンティティへ伝送すること、ノードからの静止画像によって表されるビデオフィードを選択する応答を監視エンティティから受信することであって、応答は、選択されたビデオフィードをノードからパケット交換ネットワーク上で監視エンティティへとストリーミングするための複数の候補となるパスを識別すること、候補となるパスのうちの１つを確認する確認をノードから受信すること、及び、選択されたビデオフィードをノードと監視エンティティとの間でダイレクトにストリーミングするためのピアツーピア接続を確立するために、確認を監視エンティティへ転送することを含む方法を、プロセッサによって実行される場合に動作させることができる、非一時的コンピュータ可読媒体。本媒体において、方法は更に、静止画像を複数の監視エンティティへ伝送すること、及び、ノードと複数の監視エンティティとの間のピアツーピア接続を確立することを含む。
【００１６】
他の例示的な実施形態（例えば、上述の実施形態に関連する方法及びコンピュータ可読媒体）が、後述される。上述の特徴、機能及び利点は、様々な実施形態において独立に実現することが可能であり、また別の実施形態において組み合わせることも可能である。これらの実施形態について、以下の説明および添付図面を参照して更に詳細に説明する。
【００１７】
本開示の幾つかの実施形態が、添付図面を参照し例示としてのみ説明される。全ての図面において、同じ参照番号は同じ要素又は同じタイプの要素を表す。
【図面の簡単な説明】
【００１８】
【図１】例示的な実施形態におけるピアツーピアネットワークのブロック図である。
【図２】ピアツーピアネットワークの例示的実施形態のシグナリングサーバを管理するフローの図である。
【図３】例示的な実施形態におけるピアノード間の関係を示すブロック図である。
【図４】例示的な実施形態におけるピアノード間の関係を示すブロック図である。
【図５】例示的な実施形態におけるシグナリングサーバによって保持されるノードの例示的なリストを示す。
【図６】例示的な実施形態におけるピアノードからの応答を示す図である。
【図７】例示的な実施形態におけるピアツーピアネットワークアーキテクチャのブロック図である。
【図８】例示的な実施形態における、種々のフライトシミュレータからのビデオフィードを示す静止サムネイル画像を示す図である。
【図９】例示的な実施形態における、ビデオデータのリアルタイムフィードを示す図である。
【００１９】
図面及び下記の記載により、本開示の具体的な例示的実施形態が示される。従って、当業者は、本明細書に明示的に記載又は図示されていない様々な装置を考案して本開示の原理を実施することができるが、それらは本開示の範囲に含まれることを理解されたい。更に、本明細書に記載のいかなる実施例も、本開示の原理の理解を助けるためのものであって、それらの具体的に記載された実施例や諸条件を限定しないものとして理解されるべきである。結果として、本開示は、下記の具体的な実施形態又は実施例に限定されず、特許請求項の範囲及びその均等物によって限定される。
【発明を実施するための形態】
【００２０】
図１は、例示的な実施形態におけるピアツーピアネットワーク１００のブロック図である。ネットワーク１００は、ピアノードとして動作する複数のフライトシミュレータ（１１０、１２０、１３０）、及び、フライトシミュレータ（１１０、１２０、１３０）からのビデオフィードを供給するために、ピアノード間のビデオストリーミング接続の確立を調整（ｃｏｏｒｄｉｎａｔｅ）するシグナリングサーバ１５０を含む。フライトシミュレータは、登録された後、模擬飛行（１１２、１２２、１３２に示す）についてのビデオフィードをインターネットプロトコル（ＩＰ）ネットワーク１４０を介して他のピアノードへと伝送するために、監視エンティティ（例えば、セルラネットワーク基地局１６０又はＷｉＦｉホットスポットを介したモバイルデバイス１７０）として動作する他のピアノードとの接続を確立し得る。監視エンティティは、一又は複数のフライトシミュレータから模擬飛行を見るために使用され、遠隔位置のユーザによって模擬飛行が評価され批評されることが可能となる。
【００２１】
ネットワーク１００は、フライトシミュレータがビデオフィード及び／又は模擬飛行についての他のシミュレータデータ（例えば、オーディオデータ、メタデータなど）を送受するためのピアツーピアネットワーク上のノードとして機能することを可能にするので、従来型のシステムに優る利益を提供する。具体的には、ネットワーク１００は、フライトシミュレータと監視エンティティとの間のダイレクトなピアツーピア接続の構築が可能なシグナリングサーバ１５０によって拡張され、これにより、ビデオフィードが任意の所望位置からレビューされ分析されることが可能となる。
【００２２】
この実施形態で、シグナリングサーバ１５０は、模擬飛行についてのビデオフィードを供給するのにどのフライトシミュレータが現在利用可能であるかを決定する、フライト追跡コントローラ１５２を含む。シグナリングサーバ１５０は、フライトシミュレータと他のピアノードとの間のダイレクトなピアツーピア接続の確立を容易にすることが可能な接続コントローラ１５４も含む。シグナリングサーバ１５０のメモリは、シグナリングサーバ１５０に登録されたノード（例えば、フライトシミュレータ及び／又は監視エンティティ）のリスト、及び、ネットワーク１００のノード間の進行中の接続を示す同様の情報を記憶し得る。コントローラ１５２及び１５４は、カスタム回路として、プログラムされた指令を実行するプロセッサとして、又はこれらの何らかの組み合わせとして実装され得る。
【００２３】
ネットワーク１００の動作の例示的な詳細は、図２に関して説明される。この実施形態について、各フライトシミュレータ（１１０、１２０、及び１３０）がアクティブに動作してパイロットを模擬飛行に没頭させていると仮定する。模擬飛行中、フライトシミュレータによって、毎秒多数のフレームの速さでビデオデータがリアルタイムで生成され、このビデオデータがユーザに提示されて仮想訓練環境をユーザに示す。例えば、ビデオフィードは、模擬された航空機、山岳、湖、及び河川を含む仮想の風景をユーザに提示する。
【００２４】
多くのフライトシミュレータは航空機の既知のモデルの実際のコックピットを模擬するので、狭溢な（ｃｒａｍｐｅｄ）環境である。従って、ある人物が模擬された環境に応じたパイロットの行動を見ることを望む場合、模擬飛行を直接（ｉｎ−ｐｅｒｓｏｎ）見ることが不可能であることが多く、選択肢が限られる。この問題に対処するために、各フライトシミュレータは、フライト追跡コントローラ１５２に（例えば、既知のＩＰアドレスを介して）メッセージを送信し得る。これらの登録メッセージはフライト追跡コントローラ１５２によって用いられ、現在見られ得るビデオフィードをどのフライトシミュレータが生成しているか及び／又はそれらのフライトシミュレータにどのようにアクセスするか、が決定される。例えば、各登録メッセージは、シミュレータを動作しているパイロットのユーザ名、シミュレータのＩＰアドレス、及び／又は、ネットワーク上の他のピアノードにビデオデータフィードをアクティブに送信するためにフライトシミュレータが準備されていることを示すタグを含み得る。
【００２５】
各フライトシミュレータはまた、フライトシミュレータからのある時点でのビデオフィードの状態を表す静止画像も、シグナリングサーバ１５０へ送信する。これらの画像は、実際のストリーミングビデオフィードよりも狭い帯域幅を使用するが、それでもレビューアが様々なフライトシミュレータを素早く識別し判別することが可能となる。
【００２６】
図２は、ピアツーピアネットワークの例示的実施形態のシグナリングサーバを管理するフロー図２００である。方法２００のステップは図１のネットワーク１００を参照して説明されるが、当業者は方法２００が他のシステムで実施され得ることを理解するであろう。本明細書に記載のフロー図のステップは網羅的でなく、図示されない他のステップを含み得る。本明細書に記載のステップはまた、他の順序で実施され得る。
【００２７】
図２によれば、ステップ２０２で、フライト追跡コントローラ１５２は、静止画像をフライトシミュレータから（例えば、それらのフライトシミュレータからの登録リクエストの一部として）受信する。静止画像は、フライトシミュレータからのビデオフィードをそれぞれ示す。フライト追跡コントローラ１５２は更に、ＩＰネットワーク１４０を介してそのフライトシミュレータにどのようにしてコンタクトするかを示すフライトシミュレータについての追跡情報と共に、各フライトシミュレータを登録し得る。
【００２８】
将来のある時点で、監視エンティティ（例えば、スマートフォン１７０）が、シグナリングサーバ１５０への登録を試み得る。ステップ２０４で、フライト追跡コントローラ１５２は、監視に現在利用可能なフライトシミュレータを示すために、フライトシミュレータを識別する情報（例えば、利用可能な各フライトシミュレータのＩＰアドレス）と共に、静止画像を監視エンティティに伝送する。次いで、監視エンティティにおけるユーザは、ビデオフィードを、その対応する静止画像に基づいて選択し得る。選択されたフライトシミュレータの識別情報に基づいて、監視エンティティ（又は、一実施形態では、接続コントローラ１５４）が、フライトシミュレータからＩＰネットワーク１４０を介して監視エンティティへと、選ばれたビデオフィードをストリーミングするための複数の候補となるパスを決定する。監視エンティティは、フライトシミュレータからの静止画像によって表されるビデオフィードを選択する応答を送信し、この応答は、上述の候補となるパスを識別する。ステップ２０６で、接続コントローラ１５４は、監視エンティティからの応答を受信する。
【００２９】
接続コントローラ１５４は、応答に基づいてフライトシミュレータを識別し、フライトシミュレータに応答を転送する（ステップ２０８）。接続コントローラ１５４は更に、そのフライトシミュレータに対して現在接続が提示（ｏｆｆｅｒ）されていることを示すために、シグナリングサーバ１５０におけるメモリを更新し得る。ステップ２１０で、接続コントローラ１５４は、ステップ２０６で提示された候補となるパスのうちの１つを確認する、フライトシミュレータからの確認を受信し、ステップ２１２で、接続コントローラ１５４は、確認を監視エンティティに転送する。この動作によって、フライトシミュレータと監視エンティティとの間でビデオフィードをダイレクトにストリーミングするためのピアツーピア接続の確立が完遂される。従って、ピアツーピア接続のためのパスはシグナリングサーバ１５０を経由せず、それでもなお、シグナリングサーバ１５０は登録されたデバイス間の進行中のピアツーピア接続を認識している。
【００３０】
図２の方法は、模擬飛行を表すビデオフィードを共有するためにフライトシミュレータがピアツーピアネットワーキング技術を使用することを可能にするので、従来型のシステムに優る利点を提供する。これにより、模擬訓練中のパイロットの物理的に近くに位置する必要がなくなる。
【００３１】
図３〜４は、例示的な実施形態におけるピアノード間の関係を示すブロック図３００、４００である。図３〜４に示すように、各ピアノードは、「センダ（ｓｅｎｄｅｒ）」（Ｓ），「レコーダ（ｒｅｃｏｒｄｅｒ）」（Ｒ）、及び／又は「ビューア（ｖｉｅｗｅｒ）」（Ｖ）として動作し得る。本明細書で使用する、センダは、ビデオコンテンツ／データ（例えば、リアルタイムビデオコンテンツ）のソースであり、コンテンツを他のノードに供給するノードである。図１に示すフライトシミュレータはセンダとして動作する。ビューアは任意の受信されたビデオデータをユーザに表示／提供（ｒｅｎｄｅｒ）するためにサーブし、レコーダはビデオデータを後で見るために記録する。図２で示す監視エンティティはビューアとして機能する。幾つかの実施形態で、センダ、レコーダ、又はビューアとしての各ノードの状態が所望に応じて経時的に変化し得る。例えば、遠隔位置で模擬飛行にアクティブに専念しているパイロットからのビデオフィードを見るために、監督者がフライトシミュレータ内に居る（即ち、監督者によって使用されるフライトシミュレータがビューアとして動作する）ことがある。この場合、監督者はフライトシミュレータを離れ、パイロットがレビューされるためにフライトシミュレータに入る（従って、フライトシミュレータがその役割をビューアからセンダに変化させる）ことがある。
【００３２】
本明細書で使用する、「ノード」の語は、ＩＰネットワークを介してビデオデータを他のピアに受信し供給するための任意の適切なシステムを含み得る。例えば、ノードは、専用回路、ブレードサーバ上などで動作するメモリに記憶された指令を実装するプロセッサを含み得る。一実施形態で、各ノードは、プロセッサ及びメモリ上で動作する仮想マシンとして実装される。一実施形態で、各ノードは、ワールドワイドウェブコンソーシアム（Ｗ３Ｃ）によってドラフトされたウェブリアルタイムコミュニケーション（ＷｅｂＲＴＣ）アプリケーションプログラミングインターフェース（ＡＰＩ）を用いて実装される。従って、このような実装は、オペレーティングシステム（ＯＳ）及びアプリケーションを認知しない（ａｇｎｏｓｔｉｃ）。一実施形態で、これらの種々の動作環境を橋渡しするのにＷｅｂＲＴＣが用いられる限り、ノードは、様々な異なるオペレーティングシステム及びアプリケーションを実装し得る。そのようなウェブベースの技術を用いることによって、クライアントソフトウェアは分散され、ウェブブラウザをサポートしている任意のプラットフォーム及びオペレーティングシステムで動作し得る。
【００３３】
図４は、単一のノード（この場合、フライトシミュレータ）が、遠隔のビューアに対して複数のデータフィードを送信するセンダとして動作する状況を示す。この実施形態で、ビューアは、フライトシミュレータによってパイロットに対して表示される模擬された周辺環境のビュー、及び、パイロットを監視するコックピットカメラのビデオフィードを受信する。視線追跡器（ｇａｚｅ  ｔｒａｃｋｅｒ）からのメタデータのフィードも供給され、パイロットがある時点でどこを見ているかを示すために、模擬されたビューの上に重ねられてもよい。
【００３４】
更なる実施形態で、各フライトシミュレータは、そのプロセスリソースを利用して、下記の機能を実施することができる。
キャプチャ-例えば、スクリーンからのビデオ、マイクロフォンからの音声、又はセンサからのデータなどの様々な形態のデータを捕捉する能力。
トランスポート-リアルタイムで捕捉されたデータを、ネットワーク上でノード間でダイレクトに移送する能力。
デュプリケート-フライトシミュレータにおける単一のデータソースを、複数のノードから同時にアクセスできるように設定する能力。
スイッチング-ノード間のソースとデスティネーションとの構成を、接続がネットワーク上で既にアクティブである間に、オペレータ制御又はユーザが作成したソフトウェアコマンドを介して設定する能力。
インテグレーション-キャプチャ、レコーディング、及びリプレイのために、データソースをロジカルにグループ化する能力。
レコード-データソースを記憶する能力。
リプレイ-以前記憶されたデータを再生する能力。
【００３５】
上述の機能の各々は、フライトシミュレータ上で動作する専用アプリケーションによって実装され得る。更に、ピアネットワークのノードは、レコーダ、ビューア又はセンダとして所望に応じて、進行中の伝送内へドロップイン及び／又は外へドロップアウトし得る。例えば、監視エンティティがシグナリングサーバと通信し、フライトシミュレータからのいかなる伝送が現在利用可能／進行中であるかを決定する。これは、ノードが実際のデータ送受に関わっていない場合でも発生し得る。
【００３６】
更なる実施形態で、フライト追跡コントローラ１５２は、接続コントローラ１５４を介して確立された進行中の接続の各々を示す表示を（例えば、ウェブページ又はネットワークグラフとして）生成する。この目的のため、フライト追跡コントローラは、いずれのノードが現在ネットワーク上にあるか、及び、いずれのノードが現在互いに通信中であるかを示すため、図３〜４に示すものと同様のディスプレイを組み立て得る。
【００３７】
図５は、例示的な実施形態における、シグナリングサーバによって保持される例示的なノードのリストを示す図５００を示す。この実施形態で、ノードは、内部ノード番号、ノードのピアツーピアネットワークにおける役割、ノードのＩＰアドレス、及び（存在する場合は）ある時点でのノードのビデオフィードを表す静止画像に基づいて追跡される。この実施形態で、フライトシミュレータはセンダの役割で動作し、監視エンティティはビューアの役割で動作している。
【００３８】
図６は、例示的な実施形態におけるピアノードからの応答を示す図６００である。この実施形態で、監視エンティティは接続先のノードを選択し、監視エンティティが使用する役割（この場合は「ビューア」）、及び、選択されたノードとのダイレクトなピアツーピア接続に用いられ得る複数のインタラクティブ接続確立（ＩＣＥ）パスを示す、メッセージを送信する。
【００３９】
実施例
下記の実施例は、遠隔位置の複数のフライトシミュレータ内のパイロット間で、連携訓練演習を見るためのピアツーピアネットワークの実装にＷｅｂＲＴＣ技術が使用されるシナリオを示している。
【００４０】
この実施例で、様々な国に位置するフライトシミュレータの複数のユーザが、パイロットから離れた位置にいる監督者によって評価される。各パイロットのフライトシミュレータはネットワークノードを実装している。図７は、この実施例で用いられるピアツーピアネットワークアーキテクチャのブロック図７００である。図７によれば、北米における複数のフライトシミュレータ（７１２、７１４、７１６）がＬＡＮ７１０を介してインターネット７３０に接続されている。更に、欧州における複数のフライトシミュレータ（７２２、７２４、７２６）がＬＡＮ７２０を介してインターネット７３０に接続されている。北アフリカに位置する２つの監視用コンピュータ（「モニタ」）（７５０及び７６０）が用いられて、訓練演習中の北米及び欧州のパイロットのパフォーマンスを追跡する。シグナリングサーバ７７０は、モニタとフライトシミュレータとの間のインタラクションを調整し、フライトシミュレータ及びモニタのためのネットワークアドレス変換器（ＮＡＴ）通過を容易にするために、Ｓｅｓｓｉｏｎ  Ｔｒａｖｅｒｓａｌ  Ｕｔｉｌｉｔｉｅｓ  ｆｏｒ  ＮＡＴ（ＳＴＵＮ）サーバが用いられる。
【００４１】
各フライトシミュレータは、模擬された航空機のコックピットビューを示すビデオフィードを生成し、各フライトシミュレータはまた、コックピットビューにおけるパイロットの視線位置を示すデータフィードも生成する。これらのフィードはフライトシミュレータで統合され、圧縮される。次いで、フライトシミュレータノードは、シグナリングサーバ７７０を既知のＩＰアドレスに位置すると識別し（例えば、ネットワーク規模のブロードキャストによって示され）、自身の存在をシグナリングサーバ７７０に示す。各フライトシミュレータはまた、自身がセンダとして動作しているということを示すメッセージをシグナリングサーバに伝送する。
【００４２】
この実施例で、フライトシミュレータが自身をシグナリングサーバ７７０に対して申告（ｄｅｃｌａｒｅ）する時は常に、シグナリングサーバ７７０は、他のピアノードがアクセス可能なローカルに記憶されたレジストリを更新することによって、又は、登録情報を他のノードにブロードキャストすることによって、ネットワーク上の他のノードにそのフライトシミュレータの存在を認識させる。ノードによってピア接続が選択されリクエストされた後、ＮＡＴ情報を含むＷｅｂＲＴＣ提示／返答メッセージングが、シグナリングサーバを介してノード間で送受される。このパッケージに含まれるのは、ビデオフィードがいずれのピアノードから来ているのか、及び、ビデオフィードがいずれのピアノードへ向かうのかを示すカスタムネットワークハンドリングメッセージである。ＷｅｂＲＴＣは、ファイアウォール及びＮＡＴなどのインターネットによくある障害物を含む困難なネットワーク条件で作動するように設計されている。これにより、遠隔地での訓練及びインターナショナルなシミュレーション／試験シナリオなどの用途でピアネットワークの使用が可能となり、これはその他の方法ではＶＰＮ（仮想プライベートネットワーク）なしでは不可能である。
【００４３】
フライトシミュレータが自身のセンダとしてのステータスを示した後、シグナリングサーバは、フライトシミュレータから、現在のビデオフィードを示す静止画像を読み出す。各静止画像は対応するフライトシミュレータからのビデオフィードのスクリーンキャプチャであり、各静止画像はフライトシミュレータからの入力に基づいて、定期的に（例えば、５秒ごとに、特定のイベントごとに、など）更新され、ビデオフィードが経時的にどのように変化しているかを示す。静止画像、及びそれらの静止画像の縦横比がモニタに供給され、これにより監督者はビューイングのためのフライトシミュレータビデオフィードを選択できる。監督者はモニタを動作させて、ビューアとして一度に一又は複数のフライトシミュレータにコンタクトし且つこれらとの接続を確立する。次いで、モニタは、レビューされているフライトシミュレータの各々から、ビデオフィード及び視線データを受信する。各モニタは視線追跡データを各ノードのビデオデータに統合し、次いで、各パイロットについての統合されたフィードを、監督者のために一又は複数のディスプレイ上に表示する。この方式で、監督者がパイロットから離れて位置していても、パイロットが互いに離れて位置していても、彼らはリアルタイムの連携訓練演習に参加し得る。
【００４４】
この実施例で、ノード間のピアツーピアデータ接続の確立はＷｅｂＲＴＣ規格を用いる。ノードは、包括的なデータハンドリングのためのビデオコンテンツ配信手段として、ＷｅｂＲＴＣを用いる。ドキュメントＪＳＥＰ（Ｊａｖａｓｃｒｉｐｔセッション確立プロトコル）は、ＮＡＴ（ネットワークアドレス変換）通過技術ＩＣＥ（インタラクティブ接続確立）を用いて、アプリケーション間のシグナリングを介したピアツーピア接続を実装し作りだすために用いられる。具体的には、所望の接続の各々において、モニタはＪＳＥＰ技術を用いて、選択されたフライトシミュレータの特定のＩＰアドレスに対するＩＣＥパスを決定及び交渉し、これらのＩＣＥパスは、モニタによって選択されたフライトシミュレータに対して、シグナリングサーバ７７０を介して提示され、シグナリングサーバ７７０は、選択されたフライトシミュレータへと提示を転送する。選択されたフライトシミュレータは、選択されたＩＣＥパスを示すＪＳＥＰ受諾（ａｃｃｅｐｔａｎｃｅ）を返信し、これがシグナリングサーバ７７０で受信され、モニタへと転送されてＷｅｂＲＴＣ接続を形成する。ＷｅｂＲＴＣは、シグナリングの実装を設計によって開発者に任せており、ネットワークコンフィギュレーションの柔軟性を最大限に提供している。
【００４５】
図８は、例示的な実施形態における、種々のフライトシミュレータからのビデオフィードを表す静止サムネイル画像を示す図８００である。図８によれば、各フライトシミュレータからのビデオフィードが、フライトシミュレータによって定期的に（例えば、１０秒ごとに）更新される種々の静止サムネイル画像（８１０、８２０、８３０、８４０）で表されている。この技術は帯域幅を節減する一方で、監視エンティティがいずれのビデオフィードがビューイングに望ましいかを素早く特定することを可能にしている。
【００４６】
図９は、例示的な実施形態における、ビデオデータのリアルタイムフィードを示す図９００である。具体的には、図９は、視線追跡データがビデオフィード上に重ねられているビデオフィードを示す。図９で、視線追跡データは、ビデオフィード上を動く「テイル（ｔａｉｌ）」によって表される。テイルの一端ではパイロットの現在の視線（即ち、０秒前のパイロットの視線）が示され、テイルの他端ではパイロットの以前（例えば、１秒前）の視線が示される。このタイプの重ね合わせによって、監督者は、パイロットが模擬飛行の状況に適切に反応しているか否かを素早く決定することが可能となる。
【００４７】
この実施形態で、ネットワーク内のピアの認証とそのなりすましを防止するために、更なるメッセージが用いられる。例えば、ユーザは許容レベルを割り当てられ、フライト追跡コントローラは、ユーザの許容レベルに応じて、特定のユーザによるビューイングが許可されたフライトシミュレータのサブセットを選択し得る。次いで、フライト追跡コントローラは、ユーザがビューイングを許可されたフライトシミュレータについてのみ静止画像を選択的に送信する一方、ユーザが認証されていない接続を防止する。
【００４８】
本明細書に記載の図面に示す様々な要素の内の任意のものが、ハードウェア、ソフトウェア、ファームウェア、又はこれらの何らかの組み合わせとして実装され得る。例えば、ある要素が専用ハードウェアとして実装され得る。専用ハードウェア要素は、「プロセッサ」、「コントローラ」、又は同様の何らかの用語で称され得る。プロセッサによって提供される場合、単一の専用プロセッサによって、単一の共有プロセッサによって、又はそのうちの幾つかが共有であり得る複数の個別のプロセッサによって、機能が提供され得る。更に、「プロセッサ」又は「コントローラ」の語の明確な使用は、ソフトウェアの実行が可能なハードウェアのみを表すと解釈されるべきでなく、非限定的に、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）もしくは他の回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェア記憶用のリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ストレージ、ロジックもしくは何らかの他の物理的ハードウェアコンポーネントもしくはモジュールなどを黙示的に含み得る。
【００４９】
また、ある要素が、その要素の機能を実施するためにプロセッサ又はコンピュータによって実行可能な指令として実装され得る。指令の幾つかの例は、ソフトウェア、プログラムコード、及びファームウェアである。指令は、その要素の機能を実施するようにプロセッサに指示するためにプロセッサによって実行されるとき、動作可能である。指令はプロセッサが可読なストレージデバイスに記憶され得る。ストレージデバイスの幾つかの例は、デジタルもしくはソリッドステートメモリ、磁気ディスク及び磁気テープなどの磁気記憶媒体、ハードドライブ、又は光学可読デジタルデータ記憶媒体である。
【００５０】
具体的な実施形態が本明細書に記載されたが、本開示の範囲はそれらの具体的な実施形態よって限定されるものでない。本開示の範囲は、下記の特許請求の範囲及びその均等物によって規定されるものである。
【符号の説明】
【００５１】
１００    ピアツーピアネットワーク
１１２、１２２、１３２    模擬飛行
１６０    セルラネットワーク基地局
１７０    モバイルデバイス
２００    方法
３００、４００    ピアノード間の関係
５００    例示的なノードのリスト
６００    ピアノードからの応答
７００    ピアツーピアネットワークアーキテクチャ
８００    種々のフライトシミュレータからのビデオフィードを表す静止サムネイル画像
８１０、８２０、８３０、８４０    静止サムネイル画像
９００    ビデオデータのリアルタイムフィード
【図１】
0006517107.tif 000002
【図２】
0006517107.tif 000003
【図３】
0006517107.tif 000004
【図４】
0006517107.tif 000005
【図５】
0006517107.tif 000006
【図６】
0006517107.tif 000007
【図７】
0006517107.tif 000008
【図８】
0006517107.tif 000009
【図９】
0006517107.tif 000010