(57)【要約】      （修正有）【課題】無線ネットワークの設計、分析、および最適化のためのクロスレイヤツールチェーンを提供する。【解決手段】アクセスポイント、アプリケーションを実行するエンドポイント、および受動物体を含む物理環境の３次元モデルをシミュレートするとともに、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のネットワークトラフィックをエミュレートする。クロスレイヤツールチェーンは、モデル上にオーバーレイされ、シミュレートされたネットワークトラフィックに基づいて、信号劣化マップを示すグラフィカルユーザインターフェースを出力する。【選択図】図３
2020092404.tif 000002
【特許請求の範囲】
【請求項１】
アクセスポイント（110）、アプリケーション（250）を実行するエンドポイント（120）、および受動物体（130）を含む物理環境（100）の3次元モデルをシミュレートするステップ（310）と、
前記アクセスポイント（110）と前記エンドポイント（120）との間で送信される前記アプリケーション（250）用のネットワークトラフィックをエミュレートするステップ（320）と、
前記モデル内で、前記物理環境（100）の複数の領域内で信号が前記トラフィックを搬送するための経路（140）をシミュレートするステップ（330）と、
前記物理環境（100）内の前記アクセスポイント（110）用の第1の位置、前記エンドポイント（120）用の第2の位置、および前記受動物体（130）用の第3の位置に基づいて、前記複数の領域内の前記経路（140）に沿った信号劣化をエミュレートするステップ（340）と、
前記信号劣化が経路損失しきい値を満たすこと（360）に応答して、前記エンドポイント（120）の動作に影響を及ぼす前記アプリケーション（250）にコマンドを出力するステップ（370）と
を備える、方法（300）。
【請求項２】
前記コマンドが、
前記物理環境（100）をナビゲートする前記エンドポイント（120）へのナビゲーションコマンドであって、前記ナビゲーションコマンドが、前記エンドポイント（120）を前記第2の位置から前記経路損失しきい値を満たす所与の領域を回避する第4の位置に移動させるときに辿るルートを指定する、ナビゲーションコマンド、
前記第2の位置にある前記エンドポイント（120）への利用可能な信号に基づいて、前記アプリケーション（250）が前記エンドポイント（120）に提供するサービスのレベルを指定するアプリケーション命令、および
前記アクセスポイント（110）との接続を維持するために前記エンドポイント（120）を移動させる第5の位置を指定するシステム設定
のうちの1つを含む、請求項1に記載の方法。
【請求項３】
前記信号劣化をエミュレートするステップが、
前記経路（140）に基づいて前記トラフィックの少なくとも一部分を確率的に欠落させるステップ（341）と、
前記トラフィックの残りの部分に基づいて、前記アプリケーション（250）が前記エンドポイント（120）に提供するサービスのレベルを決定するステップ（342）と
をさらに備える、請求項1に記載の方法。
【請求項４】
第2のアクセスポイント（110b）が前記モデル内でシミュレートされ、
前記信号劣化をエミュレートするステップが、
前記経路（140）に基づいて前記トラフィックの少なくとも一部分を確率的に欠落させるステップと、
欠落した前記トラフィックの前記部分に基づいて、前記エンドポイント（120）が前記アクセスポイント（110）から切断し、前記第2のアクセスポイント（110b）に接続しようと試みていると判断することに応答して、前記第2のアクセスポイント（110b）が利用可能な接続スロットを有するかどうかを判定するステップ（324）と
をさらに備える、請求項1に記載の方法。
【請求項５】
前記物理環境（100）の前記3次元モデルをシミュレートするステップが、前記信号劣化に影響を及ぼす能動干渉源をシミュレートするステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記アクセスポイント（110）と前記エンドポイント（120）との間で送信される前記アプリケーション（250）用のトラフィックをエミュレートするステップが、
前記モデル内で前記アプリケーション（250）のインスタンス（250'）を実行するステップ（321）と、
過去の操作入力に基づいて、前記アプリケーション（250）へのシミュレートされた入力を生成するステップ（322）と、
前記アプリケーション（250）の前記インスタンス（250'）によって生成された前記トラフィックを識別するために、前記シミュレートされた入力に基づいて出力を解析するステップ（323）と
をさらに備える、請求項1に記載の方法。
【請求項７】
グラフィカルユーザインターフェース（400）内で、信号劣化マスクを有する前記3次元モデルを表示するステップ（350）
をさらに備える、請求項1に記載の方法。
【請求項８】
前記信号劣化マスクが、
前記物理環境（100）を横切る前記アクセスポイント（110）と前記エンドポイント（120）との間の平均予想待ち時間、
前記物理環境（100）を横切る様々な位置での前記アクセスポイント（110）と前記エンドポイント（120）との間の平均予想パケット損失割合、
前記物理環境（100）を横切る平均予想信号対雑音比、および
時間枠内の前記物理環境（100）を横切る前記アクセスポイント（110）と前記エンドポイント（120）との間の平均の切断された接続の率
のうちの少なくとも1つを示すヒートマップである、請求項7に記載の方法。
【請求項９】
前記信号劣化マスクが、
前記物理環境（100）を横切る前記アクセスポイント（110）と前記エンドポイント（120）との間の最悪予想待ち時間、
前記物理環境（100）を横切る前記アクセスポイント（110）と前記エンドポイント（120）との間の最悪予想パケット損失割合、
前記物理環境（100）を横切る最悪予想信号対雑音比、および
時間枠内の前記物理環境（100）を横切る前記アクセスポイント（110）と前記エンドポイント（120）との間の最悪の切断された接続の率
のうちの少なくとも1つを示すヒートマップである、請求項7に記載の方法。
【請求項１０】
前記信号劣化マスクが、
前記アクセスポイント（110）と前記エンドポイント（120）との間の待ち時間、
前記アクセスポイント（110）と前記エンドポイント（120）との間のパケット損失割合、
前記アクセスポイント（110）からの第1の範囲内の信号対雑音比、
前記エンドポイント（120）からの第2の範囲内の信号対雑音比、および
時間枠内の前記アクセスポイント（110）と前記エンドポイント（120）との間の切断された接続の率
のうちの少なくとも1つを前記第1の位置と比較して低減するように、前記アクセスポイント（110）を再配置する第4の位置を示す、請求項7に記載の方法。
【請求項１１】
システムであって、
プロセッサ（210）と、
前記プロセッサ（210）によって実行されると前記プロセッサ（210）が動作を実行することを可能にする命令を含むメモリ（230）と
を備え、前記動作が、
アクセスポイント（110）、アプリケーション（250）を実行するエンドポイント（120）、および受動物体（130）を含む物理環境（100）の3次元モデルをシミュレートすること（310）と、
前記アクセスポイント（110）と前記エンドポイント（120）との間で送信される前記アプリケーション（250）用のネットワークトラフィックをエミュレートすること（320）と、
前記モデル内で、前記物理環境（100）の複数の領域内で信号が前記トラフィックを搬送するための経路（140）をシミュレートすること（330）と、
前記物理環境（100）内の前記アクセスポイント（110）用の第1の位置、前記エンドポイント（120）用の第2の位置、および前記受動物体（130）用の第3の位置に基づいて、前記複数の領域内の前記経路（140）に沿った信号劣化をエミュレートすること（340）と、
前記信号劣化が経路損失しきい値を満たすこと（360）に応答して、前記エンドポイント（120）の動作に影響を及ぼす前記アプリケーション（250）にコマンドを出力すること（370）と
を備える、システム。
【請求項１２】
前記コマンドが、
前記物理環境（100）をナビゲートする前記エンドポイント（120）へのナビゲーションコマンドであって、前記ナビゲーションコマンドが、前記エンドポイント（120）を前記第2の位置から前記経路損失しきい値を満たす所与の領域を回避する第4の位置に移動させるときに辿るルートを指定する、ナビゲーションコマンド、
前記第2の位置にある前記エンドポイント（120）への利用可能な信号に基づいて、前記アプリケーション（250）が前記エンドポイント（120）に提供するサービスのレベルを指定するアプリケーション命令、および
前記アクセスポイント（110）との接続を維持するために前記エンドポイント（120）を移動させる第5の位置を指定するシステム設定
のうちの1つを含む、請求項11に記載のシステム。
【請求項１３】
前記信号劣化をエミュレートすることが、
前記経路（140）に基づいて前記トラフィックの少なくとも一部分を確率的に欠落させること（341）と、
前記トラフィックの残りの部分に基づいて、前記アプリケーション（250）が前記エンドポイント（120）に提供するサービスのレベルを決定すること（342）と
をさらに備える、請求項11に記載のシステム。
【請求項１４】
前記アクセスポイント（110）と前記エンドポイント（120）との間で送信される前記アプリケーション（250）用のトラフィックをエミュレートすることが、
前記モデル内で前記アプリケーション（250）のインスタンス（250'）を実行すること（321）と、
過去の操作入力に基づいて、前記アプリケーション（250）へのシミュレートされた入力を生成すること（322）と、
前記アプリケーション（250）の前記インスタンス（250'）によって生成された前記トラフィックを識別するために、前記シミュレートされた入力に基づいて出力を解析すること（323）と
をさらに備える、請求項11に記載のシステム。
【請求項１５】
前記動作が、
グラフィカルユーザインターフェース（400）内で、信号劣化マスクを有する前記3次元モデルを表示すること（350）
をさらに備え、
前記信号劣化マスクが、
前記アクセスポイント（110）と前記エンドポイント（120）との間の待ち時間、
前記アクセスポイント（110）と前記エンドポイント（120）との間のパケット損失割合、
信号対雑音比、および
前記アクセスポイント（110）と前記エンドポイント（120）との間の切断された接続の率
うちの少なくとも1つを含む信号特性用の範囲によって定義されたいくつかの領域を示す地形図である、
請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、無線ネットワークの設計、分析、および最適化のためのクロスレイヤツールチェーンを提供する。
【背景技術】
【０００２】
本開示は、環境のモデル化および管理に関し、より詳細には、動的環境内の信号特性をモデル化して、ネットワークデバイスを管理することに関する。静的環境とは対照的に、動的環境は、環境内の様々な物体の位置が変化する環境である。物体が環境内の様々な位置および方向に動き回ると、物体は信号をブロック／減衰し、信号を反射し、それらの物体の以前の位置および方向とは異なる方法で干渉を与える。これらの移動物体は、環境内の様々なネットワークデバイス間の通信に使用される信号の品質に影響を及ぼし、影響を受けるデバイス内の機能低下（たとえば、信号の損失、データ転送エラー、高遅延）を与え、一時的な経路損失問題（たとえば、過度の増築、保守的なデバイス配置）に基づく永続的な設計制約を与える。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、一態様における方法を提供し、方法は、アクセスポイント、アプリケーションを実行するエンドポイント、および受動物体を含む物理環境の3次元モデルをシミュレートするステップと、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のネットワークトラフィックをエミュレートするステップと、モデル内で、物理環境の複数の領域内で信号がトラフィックを搬送するための経路をシミュレートするステップと、物理環境内のアクセスポイント用の第1の位置、エンドポイント用の第2の位置、および受動物体用の第3の位置に基づいて、複数の領域内の経路に沿った信号劣化をエミュレートするステップと、信号劣化が経路損失しきい値を満たすことに応答して、エンドポイントの動作に影響を及ぼすアプリケーションにコマンドを出力するステップとを含む。
【０００４】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、コマンドは、物理環境をナビゲートするエンドポイントへのナビゲーションコマンドであって、ナビゲーションコマンドが、エンドポイントを第2の位置から経路損失しきい値を満たす所与の領域を回避する第4の位置に移動させるときに辿るルートを指定する、ナビゲーションコマンド、第2の位置にあるエンドポイントへの利用可能な信号に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを指定するアプリケーション命令、およびアクセスポイントとの接続を維持するためにエンドポイントを移動させる第5の位置を指定するシステム設定のうちの1つを含む。
【０００５】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、信号劣化をエミュレートするステップは、経路に基づいてトラフィックの少なくとも一部分を確率的に欠落させるステップと、トラフィックの残りの部分に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを決定するステップとをさらに備える。
【０００６】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、第2のアクセスポイントはモデル内でシミュレートされ、信号劣化をエミュレートするステップは、経路に基づいてトラフィックの少なくとも一部分を確率的に欠落させるステップと、欠落したトラフィックの部分に基づいて、エンドポイントがアクセスポイントから切断し、第2のアクセスポイントに接続しようと試みていると判断することに応答して、第2のアクセスポイントが利用可能な接続スロットを有するかどうかを判定するステップとをさらに備える。
【０００７】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、物理環境の3次元モデルをシミュレートするステップは、信号劣化に影響を及ぼす能動干渉源をシミュレートするステップをさらに含む。
【０００８】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のトラフィックをエミュレートするステップは、モデル内でアプリケーションのインスタンスを実行するステップと、過去の操作入力に基づいて、アプリケーションへのシミュレートされた入力を生成するステップと、アプリケーションのインスタンスによって生成されたトラフィックを識別するために、シミュレートされた入力に基づいて出力を解析するステップとをさらに備える。
【０００９】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、方法は、グラフィカルユーザインターフェース内で、信号劣化マスクを有する3次元モデルを表示するステップをさらに備える。
【００１０】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、信号劣化マスクは、物理環境を横切るアクセスポイントとエンドポイントとの間の平均予想待ち時間、物理環境を横切る様々な位置でのアクセスポイントとエンドポイントとの間の平均予想パケット損失割合、物理環境を横切る平均予想信号対雑音比、および時間枠内の物理環境を横切るアクセスポイントとエンドポイントとの間の平均の切断された接続の率のうちの少なくとも1つを示すヒートマップである。
【００１１】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、信号劣化マスクは、物理環境を横切るアクセスポイントとエンドポイントとの間の最悪予想待ち時間、物理環境を横切るアクセスポイントとエンドポイントとの間の最悪予想パケット損失割合、物理環境を横切る最悪予想信号対雑音比、および時間枠内の物理環境を横切るアクセスポイントとエンドポイントとの間の最悪の切断された接続の率のうちの少なくとも1つを示すヒートマップである。
【００１２】
一態様では、上記または下記の任意の例示的な方法と組み合わせて、信号劣化マスクは、アクセスポイントとエンドポイントとの間の待ち時間、アクセスポイントとエンドポイントとの間のパケット損失割合、アクセスポイントからの第1の範囲内の信号対雑音比、エンドポイントからの第2の範囲内の信号対雑音比、および時間枠内のアクセスポイントとエンドポイントとの間の切断された接続の率のうちの少なくとも1つを第1の位置と比較して低減するように、アクセスポイントを再配置する第4の位置を示す。
【００１３】
本開示は、一態様におけるシステムを提供し、システムは、プロセッサと、プロセッサによって実行されるとプロセッサが動作を実行することを可能にする命令を含むメモリとを含み、動作は、アクセスポイント、アプリケーションを実行するエンドポイント、および受動物体を含む物理環境の3次元モデルをシミュレートすることと、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のネットワークトラフィックをエミュレートすることと、モデル内で、物理環境の複数の領域内で信号がトラフィックを搬送するための経路をシミュレートすることと、物理環境内のアクセスポイント用の第1の位置、エンドポイント用の第2の位置、および受動物体用の第3の位置に基づいて、複数の領域内の経路に沿った信号劣化をエミュレートすることと、信号劣化が経路損失しきい値を満たすことに応答して、エンドポイントの動作に影響を及ぼすアプリケーションにコマンドを出力することとを備える。
【００１４】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、コマンドは、物理環境をナビゲートするエンドポイントへのナビゲーションコマンドであって、ナビゲーションコマンドが、エンドポイントを第2の位置から経路損失しきい値を満たす所与の領域を回避する第4の位置に移動させるときに辿るルートを指定する、ナビゲーションコマンド、第2の位置にあるエンドポイントへの利用可能な信号に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを指定するアプリケーション命令、およびアクセスポイントとの接続を維持するためにエンドポイントを移動させる第5の位置を指定するシステム設定のうちの1つを含む。
【００１５】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、信号劣化をエミュレートすることは、経路に基づいてトラフィックの少なくとも一部分を確率的に欠落させることと、トラフィックの残りの部分に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを決定することとをさらに備える。
【００１６】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のトラフィックをエミュレートすることは、モデル内でアプリケーションのインスタンスを実行することと、過去の操作入力に基づいて、アプリケーションへのシミュレートされた入力を生成することと、アプリケーションのインスタンスによって生成されたトラフィックを識別するために、シミュレートされた入力に基づいて出力を解析するステップとをさらに備える。
【００１７】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、動作は、グラフィカルユーザインターフェース内で、信号劣化マスクを有する3次元モデルを表示することをさらに備える。
【００１８】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、信号劣化マスクは、アクセスポイントとエンドポイントとの間の待ち時間、アクセスポイントとエンドポイントとの間のパケット損失割合、信号対雑音比、およびアクセスポイントとエンドポイントとの間の切断された接続の率のうちの少なくとも1つを含む信号特性用の範囲によって定義されたいくつかの領域を示す地形図である。
【００１９】
本開示は、一態様におけるシステムを提供し、システムは、プロセッサと、プロセッサによって実行されると、アクセスポイントデバイスとエンドポイントデバイスとの間の信号経路と、エンドポイントデバイス上で実行されているアプリケーションのインスタンスを実行し、アプリケーションによって生成されたネットワークトラフィックをエミュレートし、信号経路に基づいてネットワークトラフィックを低下させ、低下したネットワークトラフィックに基づいてアプリケーションのパフォーマンスを監視するように構成されたネットワークシミュレータとを含む、動的環境の3次元モデルを生成するように構成された環境モデラを含む、クロスレイヤツールチェーンを提供する命令を含むメモリとを含む。
【００２０】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、環境モデラは、ネットワークシミュレータによってシミュレートされたネットワークトラフィックに基づいて、グラフィカルユーザインターフェース内で、3次元モデルと、3次元モデル上にオーバーレイされた信号劣化マップとを出力する。
【００２１】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、ネットワークシミュレータは、アプリケーションシステムのパフォーマンスが経路損失しきい値を下回ったことを識別することに応答して、エンドポイントへの操作コマンドを出力する。
【００２２】
一態様では、上記または下記の任意の例示的なシステムと組み合わせて、操作コマンドは、動的環境をナビゲートするエンドポイントへのナビゲーションコマンドであって、ナビゲーションコマンドが、経路損失しきい値を満たす所与の領域を回避するエンドポイントを移動させるときに辿るルートを指定する、ナビゲーションコマンド、現在の位置にあるエンドポイントへの利用可能な信号に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを指定するアプリケーション命令、およびアクセスポイントとの接続を維持する位置にエンドポイントを移動させるために新しい位置を指定するシステム設定を含む。
【００２３】
本開示の上記に列挙された特徴を詳細に理解することができるように、上記で簡単に要約された本開示のより詳細な説明は、添付図面に示されている態様のうちのいくつかを参照することによって得られ得る。
【図面の簡単な説明】
【００２４】
【図１Ａ】本開示の態様による、動的環境の様々なビューを示す図である。
【図１Ｂ】本開示の態様による、動的環境の様々なビューを示す図である。
【図１Ｃ】本開示の態様による、動的環境の様々なビューを示す図である。
【図１Ｄ】本開示の態様による、動的環境の様々なビューを示す図である。
【図２】本開示の態様による、例示的なコンピューティングデバイスを示す図である。
【図３】本開示の態様による、無線ネットワークの設計、分析、および最適化のための、ならびに動的な経路損失の緩和のためのクロスレイヤツールチェーンを提供するための方法300のフローチャートである。
【図４Ａ】本開示の態様による、ネットワーク強度ビューを示す図である。
【図４Ｂ】本開示の態様による、ネットワーク強度ビューを示す図である。
【発明を実施するための形態】
【００２５】
本明細書では、動的環境内で無線ネットワークを管理するための態様が提供される。無線ネットワークは、様々なアプリケーションを実行している様々なエンドポイント（EP）に無線接続を提供するいくつかのアクセスポイント（AP）を含み、それらは他の物体とともに環境全体にわたって分散される。EPおよび他の物体が環境内を移動するにつれて、環境内の無線ネットワークの信号特性、ならびにEPおよびAPのシグナリング能力は、時間とともに変化する可能性がある。これらの変更により、信号対雑音比（SNR）が低下したり、EPとAPとの間の接続が切断されたり、さらなる待ち時間またはパケット損失が引き起こされたりすると、アプリケーションは動作しきい値を下回るレートでデータを受信し、結果として異常動作に遭遇する可能性がある。EPは、携帯電話、ラップトップ、自律ビークル用のコントローラーなどの任意のコンピューティングデバイスであってよい。
【００２６】
本開示は、ユーザが動的環境内の変化の影響を視覚化し、それらの変化を補正して環境内のEPおよびアプリケーションのためのサービスレベルを維持することを可能にする、無線ネットワークの設計、分析、および最適化のためのクロスレイヤツールチェーンを提供する。環境の物理モデルは、環境内の様々な位置におけるAPおよびEPの信号特性の放射線モデルと、それらの信号特性に対する様々な他の物体の影響とを含むようにシミュレートされる。1つまたは複数のシグナリングエミュレータは、APとEPとの間の送信を確率的にシミュレートするために、物理モデルと連携して実行される。シグナリングエミュレータは、モデル化された環境内のAP、EP、および他の物体の位置の放射線効果に基づいて、様々な送信イベント（たとえば、パケット損失、干渉、遅延）の確率を調整する。クロスレイヤツールチェーンは、様々な時間期間および動的環境のサブセットまたは領域にわたって、ネットワーク特性（たとえば、欠落したパケットの割合、待ち時間、SNR）に基づいて、視覚化またはアラートを提供することができる。いくつかの態様では、クロスレイヤツールチェーンは、グラフィカルユーザインターフェース（GUI）内で環境向けのエミュレートされた信号特性の視覚表現を出力する。いくつかの態様では、クロスレイヤツールチェーンは、物理環境内のリアルタイムの変化に基づいて、環境内のEPに操作コマンド（たとえば、ナビゲーションコマンド、システム設定、アプリケーション命令）を出力する。
【００２７】
本開示は、様々なネットワークデバイスの機能性および柔軟性における改善を実現する。無線ネットワークの信号特性に対する環境内の移動物体の影響をシミュレートすることにより、APの位置が最適化されてよく、EP上で実行されるアプリケーションの動作が、移動物体によって与えられる一時的な影響を考慮するように調整されてよく、したがって、ユーザ体験の向上、環境のより大きくより信頼性が高い無線ネットワークカバレッジ、および他の利点が可能になる。
【００２８】
図1A〜図1Dは、動的環境100の様々なビューを示している。図1Aは、環境100の初期状態のビューを示し、図1B〜図1Dは、様々な要素の位置または向きが変化した環境についてのその後の状態のビューを示す。動的環境100の各ビューは、第1のアクセスポイント110a（一般に、アクセスポイント110）、第2のアクセスポイント110b、第1のエンドポイント120a（一般に、エンドポイント120）、第2のエンドポイント120b、第3のエンドポイント120c、および受動物体130を含む。信号経路140のいくつかの非限定的な例は、環境100によって影響を受ける可能性があるAP110とEP120との間の通信を表すためにビューに示されているが、本開示を明確にするために、すべての信号経路140、またはAP110とEP120との間で生成された通信が示されている訳ではない。
【００２９】
図1A〜図1Dのビューの各々は、物理的な動的環境100の現実世界のビューであっても、動的環境100の3次元モデルのシミュレートされたビューであってもよい。クロスレイヤツールは、環境およびその環境内で取られる潜在的なアクションをシミュレートし、その結果、環境内のAP110およびEP120は、信号特性の一時的な違いを考慮することができる。クロスレイヤツールは、リアルタイムに動的環境100からの入力を受信して、様々なデバイス、および開放型システム間相互接続（OSI）モデルによる様々なレイヤにおけるアプリケーションに対する影響を含む、動的環境内の無線ネットワークの信号特性に対する物理環境内の動きの予測される影響をシミュレートすることができる。OSIモデルは、7つのレイヤ（物理、データリンク、ネットワーク、トランスポート、セッション、プレゼンテーション、アプリケーション）を含み、それらはネットワークデバイス向けの様々な機能およびデータ処理プロパティを記述する。
【００３０】
図1Aは、第1のAP110aがそれぞれの信号経路140に沿って第1のEP120aおよび第3のEP120cへの接続を確立し、第2のAP110bがそれぞれの信号経路140に沿って第2のEP120bへの接続を確立した、動的環境100を示す。AP110は、エリア内で無線通信を提供する様々なコンピューティングデバイスを含む。いくつかの態様では、AP110は、有線ネットワークへのネットワークインターフェース、および無線通信経路と有線通信経路との間の遷移通信を含む。AP110は、WiFi規格、Bluetooth（登録商標）規格、セルラー通信規格、または独自の規格を含む、動的環境100内の無線ネットワークの管理者によって指定された様々な異なる無線通信規格に従って、無線通信を管理する。
【００３１】
EP120は、AP110と無線通信している様々なコンピューティングデバイスを含み、ラップトップ、デスクトップ、スマートフォン、タブレット、自動テスト機器、自動製造機器、自律ビークルなどが含まれてよい。図1A〜図1Dに示されたように、第1のEP120aはラップトップであり、第2のEP120bは空荷の自律ビークルであり、第3のEP120cは金属板の受動物体130を載せた自律ビークルである。AP110およびEP120で使用され得る例示的なハードウェア要素は、図2に関してより詳細に説明される。
【００３２】
図1Bは、第2のEP120bが図1Aに示された第1のビューに示された位置から移動し、第2のAP110bから第1のAP110aに通信をハンドオーバしようと試みる、動的環境100の第2ビューを示す。EP120は、ターゲットAP110への近接性、ターゲットAP110へのより少ない待ち時間、ターゲットAP110とのより高い信号対雑音比（SNR）などに応答して、1つのAP110からターゲットAP110に通信をハンドオーバしようと試みることができる。しかしながら、AP110は、アクセスノードの数が限られる場合があり、既存の通信セッションを切断する（またはハンドオーバしようとする）可能性がある。たとえば、第2のEP120bとの通信セッションを確立するとき、第1のAP110aは、第1のEP120aとの通信セッションを切断する可能性がある。他の態様では、第1のAP110aに近づくときに第2のEP120bによって生成される信号は、第1のEP120aと第1のAP110aとの間の信号経路140に干渉をもたらす可能性があり、それにより、第1のAP110aまたは第1のEP120aが接続を切断させられる可能性がある。無線ネットワークデバイスは、通信規格に応じて、しきい値を下回るSNR、事前定義されたウィンドウ内で欠落したパケットの数、しきい値を下回る待ち時間、交換接続の確立などに基づいて、接続を切断することができる。
【００３３】
図1Bでは、第2のEP120bは、第1のAP110aと第1のEP120aおよび第3のEP120cとの間の既存の接続に影響を及ぼす能動干渉源の一例である。能動干渉源は、動的環境内で無線で通信するために使用される波長と一致する様々な波長の電波を発生させる。能動干渉源は、ネットワーク経由の通信を目的とする信号、またはネットワーク経由の通信を目的としない他のプロセスの副産物である信号（たとえば、マグネトロンからの漏洩「信号」）を発生させる可能性がある。干渉により、異なるネットワークレイヤでのネットワークの信号特性に影響を及ぼす、接続の切断、パケットの欠落、エラー訂正技法へのより大きな依存などが生じる可能性がある。
【００３４】
潜在的な能動干渉源がいつどこにあると予想されるかを知ることにより、ネットワーク管理者は、それに応じてネットワークアーキテクチャに対する一時的または永続的な調整を行うことができる。たとえば、図1Aおよび図1Bに関して、ネットワークコントローラーは、第2のAP110bとの接続を維持するため、または第2のEP120bのナビゲーションを一時停止もしくは変更して、第1のEP120aおよび第3のEP120cが第1のAP110への接続を維持することを可能にするために、第2のEP120b上で実行されるアプリケーションに操作コマンドを送信することができる。別の例では、図1Aおよび図1Bに関して、ネットワークコントローラーは、第2のAP110bから第1のAP110aへの第2のEP120bの接続のハンドオーバを予測し、接続の切断を回避するために、第1のEP120aまたは第3のEP120cを異なるAP110にハンドオーバするように試みることができる。別の例では、潜在的な接続干渉を示す動的環境100のビューが提示された管理者は、領域内の信号特性を変更して干渉を軽減し、ネットワーク接続性を改善するために、領域内にさらなるAP110を設置するか、領域内の既存のAP110をアップグレードするか、または領域内のAP110を移動させることができる。
【００３５】
図1Cは、第3のEP120cが図1Bに示された第2のビューに示された位置から移動した、動的環境100の第3のビューを示す。第3のEP120cによって搬送される受動物体130は、第1のAP110aと第1のEP120aとの間の信号経路140を妨害する環境100内の空間を占有する。受動物体130の材料組成に応じて、信号経路140は、たとえば、信号経路140を遮断すること、反射信号経路145上で搬送される信号の1つまたは複数の反射を生成すること、および減少信号経路150をもたらすことなどの、いくつかの方法のうちの少なくとも1つで妨害される可能性がある。受動物体130は、ネットワークデバイス間の意図された通信を遮断または減衰し、能動的に通信するデバイスによって生成された信号を反射し、能動干渉源から干渉をリダイレクトする受動干渉源の一例である。
【００３６】
潜在的な受動干渉源がいつどこにあると予想されるかを知ることにより、ネットワーク管理者は、それに応じてネットワークアーキテクチャに対する一時的または永続的な調整を行うことができる。たとえば、図1Aおよび図1Cに関して、ネットワークコントローラーは、ナビゲーションを一時停止もしくは変更して、反射信号経路145もしくは減少信号経路150の生成を軽減するために、第3のEP120c上で実行されているアプリケーションに、アンテナの利得を変更して、減少信号経路150上で搬送される信号を強化するか、もしくは反射信号経路145上で搬送される信号の強度を低減するために、第1のAP110aもしくは第1のEP120aに、異なるAP110に接続して、反射信号経路145もしくは減少信号経路150の生成を回避するために、第1のEP120aに、または通信のチャネルを変更して、反射信号経路145上で搬送される信号もしくは減少信号経路150上で搬送される圧倒的な信号からの干渉の受信を回避するために、任意のネットワークデバイスに、操作コマンドを送信することができる。
【００３７】
図1Dは、第1のAP120aが図1Cに示された第3のビューに示された位置から移動した、動的環境100の第4のビューを示す。AP110の位置ならびにEP120（および他の潜在的な能動干渉源）および受動物体130の位置を追跡することにより、管理者はネットワークの信号特性に対する影響を見ることができる。図1Dでは、図1Cと比較して、第1のAP110aの新しい位置は、新しい位置からEP120への第1のAP110a用の異なる視線により、第1のAP110aと第1のEP120aとの間の通信用の反射信号経路145および減少信号経路150の生成を回避する。
【００３８】
図2は、AP110、EP120、AP110およびEP120と通信しているネットワークコントローラーデバイス、または1つもしくは複数のAP110もしくはEP120と有線通信もしくは無線通信している別のコンピュータとして使用され得る、例示的なコンピューティングデバイス200を示す。コンピューティングデバイス200は、プロセッサ210、無線機220または他のネットワークインターフェース、メモリ230、ならびにユーザに出力を提供し、ユーザおよび環境からの入力を受け入れる様々なハードウェアを含む。
【００３９】
プロセッサ210およびメモリ230は、コンピューティングデバイス200にコンピューティング機能を提供する。メモリ230は、たとえば、ランダムアクセスメモリ（RAM）、リードオンリメモリ（ROM）、フラッシュメモリ、または、プロセッサ210が実行することができる命令を含む任意の他のタイプの揮発性もしくは不揮発性の記憶媒体などの、1つまたは複数のメモリデバイスであってよい。プロセッサ210は、本明細書に記載される機能を実行することが可能な任意のコンピュータプロセッサであってよい。
【００４０】
無線機220は、コンピューティングデバイス200に無線通信を提供する。様々な態様では、無線機220は、有線伝送媒体を介して外部供給源から信号を受信し、外部デバイスに信号を送信する、電気または光ネットワーク送信機／受信機などの、有線ネットワークインターフェースとともに提供される。無線機220は、様々なアンテナと通信していてもよく、Bluetooth（登録商標）規格、Wi-Fi規格、または独自の規格などの様々な規格に従って、送信または受信されるメッセージを構成することができる。
【００４１】
メモリ230は、オペレーティングシステム240、1つまたは複数のアプリケーション250（一般に、アプリケーション250）、およびクロスレイヤツールチェーン260用の（プロセッサ実行可能命令とも呼ばれる）プログラムコードを含むが、他のアプリケーションおよびデータ構造がメモリ230によって含まれてもよい。クロスレイヤツールチェーン260は、アプリケーション250のインスタンス250'および環境モデラ280を実行するネットワークシミュレータ270を含む。プログラムコードは、概して、メモリ230内の様々な機能的な「アプリケーション」または「モジュール」として記載されているが、代替の実装形態は異なる機能または機能の組合せを有してもよい。メモリ230は、概して、そこに同様に記憶されている様々なプログラムコードモジュールによって使用される情報を記憶することができるデータ構造も含む。
【００４２】
環境モデラ280は、環境内のAP110、EP120、および受動物体130を含む、動的物理環境の3次元モデルを生成する。3次元モデルは、3次元モデル内に配置可能な動的環境100内の個々のデバイスおよび物体のモデルを含む。環境モデラ280は、環境内の（AP110、EP120、および意図しない信号源を含む）信号源ならびに信号経路140をモデル化する。モデル物体が環境の3次元モデル内で移動すると、環境モデラ280は、AP110とEP120との間の信号経路をマッピングする。これらの信号経路140は、AP110とEP120との間の通信に使用される経路、ならびに環境内でモデル化されたブロードキャスト送信、反射、および能動的な非シグナリング干渉源から生じる未使用の経路を含む。いくつかの態様では、ユーザは、様々な物体が環境を通って移動するための位置と、AP110およびEP120が関与する様々な通信のセットアップとを指定して、モデル内の様々なシナリオをシミュレートする。いくつかの態様では、ユーザは、物理環境内の物体の報告された位置、および（リアルタイムで報告される）そこで動作中のアプリケーション250を使用して、3次元モデル内の環境をシミュレートするように、環境モデラ280を設定する。
【００４３】
ネットワークシミュレータ270は、シミュレートされている環境内のネットワークデバイス（たとえば、AP110およびEP120）上で実行される様々なアプリケーション250により、無線ネットワーク上で生成および送信されるトラフィックをエミュレートする。いくつかの態様では、ネットワークシミュレータ270は、過去の使用データを使用して、様々なアプリケーション250へのシミュレートされた入力をモデル化する。いくつかの態様では、ネットワークシミュレータ270は、EP120から報告された使用データを使用して、無線ネットワーク上の送信用に生成されたトラフィックをエミュレートする。ネットワークシミュレータ270は、トラフィックをエミュレートするときに、モデル化された物理物体の物理特性、およびモデル化された信号経路140上で搬送される信号の強度を使用して、目的の宛先においてデータが受信されたかどうか、および欠落データがアプリケーション250に与える影響を判定する。ネットワークシミュレータ270によってシミュレートされる信号特性は、（2つの通信デバイスをリンクするために複数の見通し線および反射を含む）マルチパス、ならびに環境内の信号の強度を含む。
【００４４】
トラフィックをエミュレートするために、ネットワークシミュレータ270は、信号経路140に沿って送信されたパケットまたはデータグラムがいつ欠落するか、または破損するかを確率的に判定する。ネットワークシミュレータ270は、信号経路140に放射線不透過物が存在する（たとえば、信号強度を低減もしくは完全に減衰させる）か、または追加信号がシミュレートされたモデル内で信号経路140を占める（たとえば、クロストーク干渉）ときの損失または破損の確率を高める。
【００４５】
（AP110またはEP120において受信された）確率的な欠落の後に残っているエミュレートされたトラフィックを使用して、ネットワークシミュレータ270は、そこで実行中としてエミュレートされたアプリケーション250'の応答をシミュレートする。全量未満のトラフィックの受信に応じて、エミュレートされたアプリケーション250'は、伝送規格およびアプリケーション250に応じて、スローダウンし、品質を低下させ、特定のダウンロード／プロセスを優先し、接続を失う／シャットダウンする。ネットワークシミュレータ270は、トラフィックの減少を考慮して、アプリケーション250がEP120（および関連するユーザ）に提供するサービスのレベルを決定する。一例では、ビデオ再生を提供するアプリケーション250は、より低いレートのデータが受信されると、より低い解像度またはフレームレートを提供する。別の例では、ネットワーク化された記憶位置に記憶された文書へのアクセスを提供するアプリケーション250は、低いレートのデータが受信されると、応答が遅くなるか、またはコンテンツの保存もしくは取出しに時間がかかる可能性がある。
【００４６】
他の態様では、ネットワークシミュレータ270は、ネットワークデバイスによって受信されるトラフィックおよびデバイスの位置における変化に応じて、AP110とEP120との間に確立された接続を監視および調整する。一例では、アプリケーション250が、X個のパケットを連続して欠落させる（すなわち、受信パケットが介在しない第1、第2、第3、．．．第Xのパケットを欠落させる）場合、接続は失われたと見なされ、新しい接続の確立が試みられる。別の例では、AP110は一度に最大X個の一意の接続を維持することができ、新しい接続が要求されると既存の接続を切断する。それに応じて、ネットワークシミュレータ270は、切断された接続および接続を再分配するハンドオーバ手順、ならびに、接続が確立されるのを待っているアプリケーション250のダウンタイムを含む、新しい接続を確立するハンドシェイク手順をエミュレートする。
【００４７】
トラフィックの減少を考慮してアプリケーション250から利用可能なサービスのレベル、および（たとえば、接続数の制限、SNR、またはパフォーマンスのしきい値に起因して）新しい接続が必要であるとネットワークシミュレータ270が判断するかどうかに応じて、クロスレイヤツールチェーン260は、物理環境内のAP110またはEP120に様々なコマンドを出力することができる。様々な例では、クロスレイヤツールチェーン260は、接続を維持し、アンテナゲインを増やし、アンテナゲインを減らし、チャネルを確保し、EP120を異なるAP110にハンドオーバし、アンテナを移動させるなどのために、AP110にコマンドを出力する。様々な例では、クロスレイヤツールチェーン260は、サービス品質を低下させ、様々なデータ要求を制限し（かつ、それによって優先順位を付け）、アンテナゲインを増やし、アンテナゲインを減らし、EP120を別の場所に移動させるか、またはしきい値以下の信号特性を有する領域に入ることを回避するために、通知またはナビゲーションコマンドを与えるなどのために、EP120コマンドを出力する。
【００４８】
クロスレイヤツールチェーン260はまた、マスクとしてオーバーレイされた1つまたは複数のネットワーキング特性を有する、シミュレートされた環境の2次元ビューまたは3次元ビューを出力することができる。オーバーレイされたマスクは、動的環境100内のどこで信号経路140が様々なアプリケーション250に信頼できるサービスまたは信頼できないサービスを提供し得るかをユーザに視覚的に示し、その結果、ユーザは、AP110、EP120、または受動物体130の互いに対する位置を調整し、ルートをプロットして、動的環境100全体を通して、様々なEP120または受動物体130を移動させるルートをプロットするか、または様々なAP110およびEP120の動作のタイミングを調整して干渉を回避もしくは軽減することができる。
【００４９】
図3は、無線ネットワークの設計、分析、および最適化、ならびに動的な経路損失の軽減のために、クロスレイヤツールチェーン260を提供するための方法300のフローチャートである。方法300は、ブロック310で始まり、そこで、環境モデラ280が、環境内の様々な物体（たとえば、AP110、EP120、受動物体130、他の信号源）を含む物理環境のモデルをシミュレートする。
【００５０】
ブロック320において、ネットワークシミュレータ270は、環境内でモデル化された様々なAP110とEP120との間のネットワークトラフィックをエミュレートする。ネットワークシミュレータ270は、AP110およびEP120上で実行されるアプリケーション250のインスタンス250'を321で実行し、AP110とEP120との間の入力として無線で送信されるものとしてシミュレートされるデータを322で生成する。ネットワークシミュレータ270は、入力に基づいてアプリケーション250のインスタンス250'からの出力を323で解析して、APとEP120との間の送信のために生成されるさらなるネットワークトラフィックを決定する。環境内でモデル化された様々なAP110とEP120の間のネットワークトラフィックをエミュレートする一部として、ネットワークシミュレータ270は、様々なAP110およびEP120に対して確立され利用可能な接続を324で決定および監視する。
【００５１】
ブロック330において、ネットワークシミュレータ270は、モデル化された環境内で送信されたデータが辿る信号経路140を決定およびシミュレートする。信号経路140は、様々な物体およびモデル化された環境内で送信されている他の信号を考慮に入れる反射信号経路145および減少信号経路150を含む。
【００５２】
ブロック340において、ネットワークシミュレータ270は、シミュレートされた経路140上の信号劣化をエミュレートし、トラフィックが搬送される経路内の障害物に基づいてトラフィックの少なくとも一部分を341で確率的に欠落させ、残りのトラフィックに基づいてアプリケーション250のインスタンス250'に提供されるサービスレベルを342で決定および監視する。
【００５３】
ブロック350において、クロスレイヤツールチェーン260は、環境内でシミュレートされた物理的な物体に関連する環境の信号特性を示す1つまたは複数の信号マスクを有する、環境の3次元モデルを表示用に出力する。3次元モデルの出力ビューは、その中に様々な物体の配置を有する環境の静止画像を含んでもよいし、様々な物体が様々な配置に移動して、1つまたは複数のネットワーキングレイヤを横切るネットワークの信号特性への1つまたは複数の物体の影響をユーザに示す、環境のアニメーションを含んでもよい。次いで、方法300は終了することができる。
【００５４】
ブロック350に進むことに加えて、またはその代わりに、ブロック360において、クロスレイヤツールチェーン260は、環境内でシミュレートされた所与のEP120が経路損失しきい値を満たすのに十分厳しい信号劣化の影響を受けるかどうかを判定する。クロスレイヤツールチェーン260は、SNRの最大、最小、または平均、デバイス間の予想遅延、デバイス間の予想パケット損失割合、切断された接続の率などを含む、ネットワークの健全性および信頼性の様々な態様を測定するために、経路損失しきい値を設定することができる。所与のEP120の信号劣化が経路損失しきい値を満たさないことに応答して、方法300は終了することができる。
【００５５】
所与のEP120の信号劣化が経路損失しきい値を満たすことに応答して、方法300はブロック370に進む。ブロック370において、EP120の動作に影響を及ぼすように、クロスレイヤツールチェーン260は、EP120上で実行される1つまたは複数のアプリケーション250にコマンドを送信する。一例では、クロスレイヤツールチェーン260は、物理環境100をナビゲートするEP120（たとえば、自律ビークル、人のためのウェイファインダ（wayfinder）デバイス）に、EP120をある場所から別の場所に移動させて、それにより経路損失のしきい値を満たす領域を回避するときに、辿るべきルートまたは回避するべき領域を指定するナビゲーションコマンドを送信する。別の例では、クロスレイヤツールチェーン260は、（たとえば、再生品質を調整する）EP120への利用可能な信号に基づいて、アプリケーション250がEP120に提供するサービスのレベルを指定するアプリケーション命令を送信する。別の例では、EP120がAP110との接続を維持するために、アンテナゲイン、アンテナの向き、キャッシング戦略などのシステム設定。
【００５６】
次いで、方法300は終了することができる。
【００５７】
図4Aおよび図4Bは、動的環境100内の信号品質のヒートマップまたは地形図に例えられてよい、ツールによって出力され得るような、GUI400内のネットワーク強度ビューを示す。図4Aおよび図4Bは、2つのAP110が周囲の信号品質領域とともに示される動的環境100の上面図を示す。信号品質領域は、ユーザがそれらから選択することができる、SNR、パケット受信率、待ち時間、切断された接続の率などのネットワーク信号特性の様々な尺度を示す。様々な態様では、ユーザは、信号強度ビューを提示するときに、1つまたは複数の信号特性、表示スタイル（たとえば、地形図またはヒートマップ）、および分析モード（たとえば、最高値、平均値、または最低値）を選択する。
【００５８】
図4Aは、第1のネットワーク強度ビューを示し、そこでは、第1のAP110aおよび第2のAP110bが、それぞれの第1の領域410a、410b（一般に、第1の領域410）によって囲まれている。第1の領域410の各々は、特性の第1のセット（たとえば、AとBとの間のSNR）内の信号特性を有する動的環境100内の空間の3次元領域を定義する。第2の領域は第1の領域410を囲み、特性の第2のセット（たとえば、BとCとの間のSNR）内の信号特性を有する動的環境100内の空間の3次元領域を定義する。同様に、測定された特性の第3のセットおよび第4のセットをそれぞれ有する第3の領域430および第4の領域440が提示されてよい。システム設定に応じて、ユーザは、地形図内で4つより多いかまたは少ない個別の領域を指定してもよく、信号特性の（様々な値および信号特性を表すそれらの色および強度に基づく）ヒートマップを介して勾配図を指定してもよい。
【００５９】
図4Bは、EP120および受動物体130が動的環境100に持ち込まれた、第2のネットワーク強度ビューを示す。変更された領域410、420、430、440は、EP120が別の信号源として、受動物体130が信号源（示された例ではAP110およびEP120）によって生成された信号の反射器または減衰器として、第1のネットワーク強度ビューの観点からの信号特性に与える影響を示す。信号源から送信され、様々な物体によって反射され、減衰される様々な信号は、ツールによってモデル化された信号特性で表される。
【００６０】
ツールは、環境の個々のビューとして、または動的環境100内の物理物体の表現のビュー上の信号劣化マスクのようなアニメーションとして、信号特性の様々なビューを提示することができる。環境のモデルの上にオーバーレイされた信号劣化マスクが、様々な値に対応する色相、透明度、強度、またはコントラストを有する様々な色で信号特性を示す。一例では、信号劣化マスクは、AP110への直接の見通し線がある動的環境100のエリアを第1の色（たとえば、緑）で示し、直接の見通し線がないエリアを第2の色（たとえば、赤）で示す。別の例では、信号劣化マスクは、第1のSNRより下のエリアを第1の色の第1の強度（たとえば、明るい青）で示し、第1のSNRと第2のSNRとの間のSNRを有するエリアを第1の色の第2の強度（たとえば、青）で示し、第2のSNRを超えるSNRを有するエリアを第1の色の第3の強度（たとえば、濃い青）で示す。環境のビューおよび信号劣化マスクを提供するグラフィカルユーザインターフェース（GUI）により、ユーザが、どのマスクが表示されるか、環境内の視点、様々な信号メトリックに関連する色効果、およびシミュレートされたビュー内で示すべき時間範囲またはシナリオを選択することが可能になる。
【００６１】
さらに、EP120が特定の1つまたは複数の領域の内部または外部に位置するとき、ツールは管理ユーザにアラートを発行するか、またはEP120上で実行されている1つまたは複数のアプリケーション250用の操作コマンドを自動的に生成することができる。操作コマンドは、EP120および受動物体130が動的環境100を動き回るときにリアルタイムで生成されてもよく、（たとえば、EP120がAP110との通信を失う状況を回避するために）EP120または受動物体130がシミュレートされた配置に移動することを予想して非リアルタイムで生成されてもよい。操作コマンドの例には、経路損失しきい値を満たす領域を回避するためにEP120をある位置から別の位置に移動させるときに辿るルートまたは回避する領域を指定する、物理環境100をナビゲートするEP120へのナビゲーションコマンド、（たとえば、コンテンツを事前にキャッシュし、フレームレートを低減する）EP120への利用可能な信号強度に基づいて、アプリケーション250がEP120に提供するサービスのレベルを指定するアプリケーション命令、およびAP110との接続を維持できるようにEP120を移動させる新しい位置を指定するシステム設定が含まれる。
【００６２】
さらに、本開示は以下の条項による例を備える。
【００６３】
条項1．アクセスポイント、アプリケーションを実行するエンドポイント、および受動物体を含む物理環境の3次元モデルをシミュレートするステップと、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のネットワークトラフィックをエミュレートするステップと、モデル内で、物理環境の複数の領域内で信号がトラフィックを搬送するための経路をシミュレートするステップと、物理環境内のアクセスポイント用の第1の位置、エンドポイント用の第2の位置、および受動物体用の第3の位置に基づいて、複数の領域内の経路に沿った信号劣化をエミュレートするステップと、信号劣化が経路損失しきい値を満たすことに応答して、エンドポイントの動作に影響を及ぼすアプリケーションにコマンドを出力するステップとを備える、方法。
【００６４】
条項2．コマンドが、物理環境をナビゲートするエンドポイントへのナビゲーションコマンドであって、ナビゲーションコマンドが、エンドポイントを第2の位置から経路損失しきい値を満たす所与の領域を回避する第4の位置に移動させるときに辿るルートを指定する、ナビゲーションコマンド、第2の位置にあるエンドポイントへの利用可能な信号に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを指定するアプリケーション命令、およびアクセスポイントとの接続を維持するためにエンドポイントを移動させる第5の位置を指定するシステム設定のうちの1つを含む、条項1に記載の方法。
【００６５】
条項3．信号劣化をエミュレートするステップが、経路に基づいてトラフィックの少なくとも一部分を確率的に欠落させるステップと、トラフィックの残りの部分に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを決定するステップとをさらに備える、条項1に記載の方法。
【００６６】
条項4．第2のアクセスポイントがモデル内でシミュレートされ、信号劣化をエミュレートするステップが、経路に基づいてトラフィックの少なくとも一部分を確率的に欠落させるステップと、欠落したトラフィックの部分に基づいて、エンドポイントがアクセスポイントから切断し、第2のアクセスポイントに接続しようと試みていると判断することに応答して、第2のアクセスポイントが利用可能な接続スロットを有するかどうかを判定するステップとをさらに備える、条項1に記載の方法。
【００６７】
条項5．物理環境の3次元モデルをシミュレートするステップが、信号劣化に影響を及ぼす能動干渉源をシミュレートするステップをさらに含む、条項1に記載の方法。
【００６８】
条項6．アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のトラフィックをエミュレートするステップが、モデル内でアプリケーションのインスタンスを実行するステップと、過去の操作入力に基づいて、アプリケーションへのシミュレートされた入力を生成するステップと、アプリケーションのインスタンスによって生成されたトラフィックを識別するために、シミュレートされた入力に基づいて出力を解析するステップとをさらに備える、条項1に記載の方法。
【００６９】
条項7．グラフィカルユーザインターフェース内で、信号劣化マスクを有する3次元モデルを表示するステップをさらに備える、条項1に記載の方法。
【００７０】
条項8．信号劣化マスクが、物理環境を横切るアクセスポイントとエンドポイントとの間の平均予想待ち時間、物理環境を横切る様々な位置でのアクセスポイントとエンドポイントとの間の平均予想パケット損失割合、物理環境を横切る平均予想信号対雑音比、および時間枠内の物理環境を横切るアクセスポイントとエンドポイントとの間の平均の切断された接続の率のうちの少なくとも1つを示すヒートマップである、条項7に記載の方法。
【００７１】
条項9．信号劣化マスクが、物理環境を横切るアクセスポイントとエンドポイントとの間の最悪予想待ち時間、物理環境を横切るアクセスポイントとエンドポイントとの間の最悪予想パケット損失割合、物理環境を横切る最悪予想信号対雑音比、および時間枠内の物理環境を横切るアクセスポイントとエンドポイントとの間の最悪の切断された接続の率のうちの少なくとも1つを示すヒートマップである、条項7に記載の方法。
【００７２】
条項10．信号劣化マスクが、アクセスポイントとエンドポイントとの間の待ち時間、アクセスポイントとエンドポイントとの間のパケット損失割合、アクセスポイントからの第1の範囲内の信号対雑音比、エンドポイントからの第2の範囲内の信号対雑音比、および時間枠内のアクセスポイントとエンドポイントとの間の切断された接続の率のうちの少なくとも1つを第1の位置と比較して低減するように、アクセスポイントを再配置する第4の位置を示す、条項7に記載の方法。
【００７３】
条項11．プロセッサと、プロセッサによって実行されるとプロセッサが動作を実行することを可能にする命令を含むメモリとを備え、動作が、アクセスポイント、アプリケーションを実行するエンドポイント、および受動物体を含む物理環境の3次元モデルをシミュレートすることと、アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のネットワークトラフィックをエミュレートすることと、モデル内で、物理環境の複数の領域内で信号がトラフィックを搬送するための経路をシミュレートすることと、物理環境内のアクセスポイント用の第1の位置、エンドポイント用の第2の位置、および受動物体用の第3の位置に基づいて、複数の領域内の経路に沿った信号劣化をエミュレートすることと、信号劣化が経路損失しきい値を満たすことに応答して、エンドポイントの動作に影響を及ぼすアプリケーションにコマンドを出力することとを備える、システム。
【００７４】
条項12．コマンドが、物理環境をナビゲートするエンドポイントへのナビゲーションコマンドであって、ナビゲーションコマンドが、エンドポイントを第2の位置から経路損失しきい値を満たす所与の領域を回避する第4の位置に移動させるときに辿るルートを指定する、ナビゲーションコマンド、第2の位置にあるエンドポイントへの利用可能な信号に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを指定するアプリケーション命令、およびアクセスポイントとの接続を維持するためにエンドポイントを移動させる第5の位置を指定するシステム設定のうちの1つを含む、条項11に記載のシステム。
【００７５】
条項13．信号劣化をエミュレートすることが、経路に基づいてトラフィックの少なくとも一部分を確率的に欠落させることと、トラフィックの残りの部分に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを決定することとをさらに備える、条項11に記載のシステム。
【００７６】
条項14．アクセスポイントとエンドポイントとの間で送信されるアプリケーション用のトラフィックをエミュレートすることが、モデル内でアプリケーションのインスタンスを実行することと、過去の操作入力に基づいて、アプリケーションへのシミュレートされた入力を生成することと、アプリケーションのインスタンスによって生成されたトラフィックを識別するために、シミュレートされた入力に基づいて出力を解析することとをさらに備える、条項11に記載のシステム。
【００７７】
条項15．動作が、グラフィカルユーザインターフェース内で、信号劣化マスクを有する3次元モデルを表示することをさらに備える、条項11に記載のシステム。
【００７８】
条項16．信号劣化マスクが、アクセスポイントとエンドポイントとの間の待ち時間、アクセスポイントとエンドポイントとの間のパケット損失割合、信号対雑音比、およびアクセスポイントとエンドポイントとの間の切断された接続の率のうちの少なくとも1つを含む信号特性用の範囲によって定義されたいくつかの領域を示す地形図である、条項15に記載のシステム。
【００７９】
条項17．プロセッサと、プロセッサによって実行されると、アクセスポイントデバイスとエンドポイントデバイスとの間の信号経路と、エンドポイントデバイス上で実行されているアプリケーションのインスタンスを実行し、アプリケーションによって生成されたネットワークトラフィックをエミュレートし、信号経路に基づいてネットワークトラフィックを低下させ、低下したネットワークトラフィックに基づいてアプリケーションのパフォーマンスを監視するように構成されたネットワークシミュレータとを含む、動的環境の3次元モデルを生成するように構成された環境モデラを含む、クロスレイヤツールチェーンを提供する命令を含むメモリとを備える、システム。
【００８０】
条項18．環境モデラが、ネットワークシミュレータによってシミュレートされたネットワークトラフィックに基づいて、グラフィカルユーザインターフェース内で、3次元モデルと、3次元モデル上にオーバーレイされた信号劣化マップとを出力する、条項17に記載のシステム。
【００８１】
条項19．ネットワークシミュレータが、アプリケーションシステムのパフォーマンスが経路損失しきい値を下回ったことを識別することに応答して、エンドポイントへの操作コマンドを出力する、条項17に記載のシステム。
【００８２】
条項20．操作コマンドが、動的環境をナビゲートするエンドポイントへのナビゲーションコマンドであって、ナビゲーションコマンドが、経路損失しきい値を満たす所与の領域を回避するエンドポイントを移動させるときに辿るルートを指定する、ナビゲーションコマンド、現在の位置にあるエンドポイントへの利用可能な信号に基づいて、アプリケーションがエンドポイントに提供するサービスのレベルを指定するアプリケーション命令、およびアクセスポイントとの接続を維持する位置にエンドポイントを移動させるために新しい位置を指定するシステム設定を含む、条項19に記載のシステム。
【００８３】
今回の開示では、様々な態様が参照されている。しかしながら、本開示は特定の記載された態様に限定されないことを理解されたい。代わりに、様々な態様に関係するか否かにかかわらず、以下の特徴および要素の任意の組合せは、本明細書で提供された教示を実施および実践するように考えられる。さらに、態様の要素が「AおよびBのうちの少なくとも1つ」の形で記載されるとき、要素Aのみを含む、要素Bのみを含む、および要素AおよびBを含む態様が、それぞれ考えられることを理解されたい。さらに、いくつかの態様は、他の可能な解決策および／または先行技術を超える利点を実現することができるが、特定の利点が所与の態様によって実現されるかどうかは、本開示を限定するものではない。したがって、本明細書で開示された態様、特徴、態様、および利点は、単なる例示であり、特許請求の範囲に明示的に列挙されている場合を除き、添付特許請求の範囲の要素または制限とは見なされない。同様に、「本発明」への言及は、本明細書に開示されたいかなる発明の主題の一般化としても解釈されるべきではなく、特許請求の範囲に明示的に列挙されている場合を除き、添付特許請求の範囲の要素または制限であると見なされるべきではない。
【００８４】
当業者なら理解されるように、本明細書に記載された態様は、システム、方法、またはコンピュータプログラム製品として具現化されてよい。したがって、態様は、本明細書では、すべてが概して、「回路」、「モジュール」、または「システム」と呼ばれる場合がある、完全にハードウェアの態様、（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）完全にソフトウェアの態様、またはソフトウェアとハードウェアの態様を組み合わせた態様の形を取ることができる。さらに、本明細書に記載された態様は、その上に具現化されたコンピュータ可読プログラムコードを有する1つまたは複数のコンピュータ可読媒体内で具現化される、コンピュータプログラム製品の形を取ることができる。
【００８５】
コンピュータ可読媒体上で具現化されるプログラムコードは、無線、有線、光ファイバケーブル、高周波（RF）など、または前述の任意の適切な組合せを含むがそれらに限定されない、任意の適切な媒体を使用して送信されてよい。
【００８６】
本開示の態様についての動作を実行するためのコンピュータプログラムコードは、Java（登録商標）、Smalltalk、C＋＋などのオブジェクト指向プログラミング言語、および  「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。プログラムコードは、完全にユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータ上で一部はリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行される。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（LAN）またはワイドエリアネットワーク（WAN）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または接続は、（たとえば、インターネットサービスプロバイダを使用してインターネットを介して）外部コンピュータに対して行われてもよい。
【００８７】
本開示の態様は、本開示の態様による、方法、装置（システム）、およびコンピュータプログラム製品のフローチャート図および／またはブロック図を参照して本明細書に記載されている。フローチャート図および／またはブロック図の各ブロック、ならびにフローチャート図および／またはブロック図内のブロックの組合せは、コンピュータプログラム命令によって実装できることが理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート図および／またはブロック図のブロックにおいて指定された機能／動作を実装するための手段を生成するようなマシンを生成することができる。
【００８８】
これらのコンピュータプログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスを特定の方式で機能するように指示することができるコンピュータ可読媒体に記憶されてもよく、その結果、コンピュータ可読媒体に記憶された命令は、フローチャート図および／またはブロック図のブロックにおいて指定された機能／動作を実装する命令を含む製造品を生成する。
【００８９】
コンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上で実行する命令が、フローチャート図および／またはブロック図のブロックにおいて指定された機能／動作を実装するためのプロセスを提供するようにコンピュータ実装プロセスを生成するために、一連の動作ステップがコンピュータ、他のプログラム可能な装置、または他のデバイス上で実行されるようにする。
【００９０】
図の中のフローチャート図およびブロック図は、本開示の様々な態様による、システム、方法、およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。この点に関連して、フローチャート図またはブロック図の中の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を備える、モジュール、セグメント、またはコードの一部を表すことができる。いくつかの代替の実装形態では、ブロックに示された機能が、図に示された順序以外で行われてよいことにも留意されたい。たとえば、連続して示された2つのブロックは、実際には、実質的に同時に実行されてもよく、または、ブロックは、関連する機能に応じて、逆の順序もしくは順不同で時々実行されてもよい。ブロック図および／またはフローチャート図の各ブロック、ならびにブロック図および／またはフローチャート図の中のブロックの組合せは、指定された機能もしくは動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令の組合せによって実装できることにも留意されたい。
【００９１】
上記は本開示の態様を対象にしているが、本開示の他の態様およびさらなる態様は、その基本的な範囲から逸脱することなく考案されてよく、その範囲は以下の添付特許請求の範囲によって決定される。
【符号の説明】
【００９２】
100  動的環境、物理環境
110  アクセスポイント
110a  第1のアクセスポイント
110b  第2のアクセスポイント
120  エンドポイント
120a  第1のエンドポイント
120b  第2のエンドポイント
120c  第3のエンドポイント
130  受動物体
140  信号経路
145  反射信号経路
150  減少信号経路
200  コンピューティングデバイス
210  プロセッサ
220  無線機
230  メモリ
240  オペレーティングシステム
250  アプリケーション
250'  アプリケーションのインスタンス
260  クロスレイヤツールチェーン
270  ネットワークシミュレータ
280  環境モデラ
300  方法
400  GUI
410  第1の領域
410a  第1の領域
410b  第1の領域
420  第2の領域
430  第3の領域
440  第4の領域
【図１Ａ】
2020092404.tif 000003
【図１Ｂ】
2020092404.tif 000004
【図１Ｃ】
2020092404.tif 000005
【図１Ｄ】
2020092404.tif 000006
【図２】
2020092404.tif 000007
【図３】
2020092404.tif 000008
【図４Ａ】
2020092404.tif 000009
【図４Ｂ】
2020092404.tif 000010
【外国語明細書】
2020092404000001.pdf