(57)【要約】【課題】Ｖ２Ｖ通信の性能を改善する。【解決手段】車両マクロクラウドの第１の車両マイクロクラウドにおける第１のＣＰノードが実行する方法。Ｖ２Ｘネットワークを介して要求者からデータ要求を受信し、制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択する。データプレーンを使用して前記データ要求を処理し、前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成し、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更する。【選択図】図１Ａ
2020102838.tif 000002
【特許請求の範囲】
【請求項１】
車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードが実行する方法であって、
Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、
制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、
データプレーンを使用して前記データ要求を処理するステップと、
前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、
前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、
を含む、方法。
【請求項２】
前記第１のＣＰノードにより処理される前記データ要求は、人気のあるデータコンテンツを要求するものであり、
前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップは、
前記フィードバックデータを分析して、１つ以上のタイプの人気のあるデータコンテンツを特定するステップと、
前記第１のＣＰノードの通信ユニットが前記１つ以上のタイプの人気のあるデータコンテンツをプリフェッチして記憶し、前記データ要求に関する前記データ送達の待ち時間および前記データパケット損失のうちの１つ以上について前記低減を達成するように、前記第１のＣＰノードの前記通信ユニットの動作を変更するステップと、を含む、
請求項１に記載の方法。
【請求項３】
前記第１のＣＰノードにより処理される前記データ要求は、前記データコンテンツを再要求するものであり、
前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップは、
前記フィードバックデータに基づいて前記第１のＣＰノードの通信ユニットが前記データコンテンツをキャッシュして、前記データ要求に関する前記データ送達の待ち時間および前記データパケット損失のうちの１つ以上について前記低減を達成するように、前記第１のＣＰノードの前記通信ユニットの動作を変更するステップを含む、
請求項１に記載の方法。
【請求項４】
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に含み、
前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含む、
請求項１に記載の方法。
【請求項５】
前記制御プレーンは、前記車両マクロクラウド内の車両マイクロクラウドおよび前記車
両マイクロクラウド内のメンバ車両間の分散Ｖ２Ｘ通信の制御タイプの処理に使用され、
前記データプレーンは、前記車両マクロクラウドの前記車両マイクロクラウドおよび前記車両マイクロクラウドの前記メンバ車両の間のデータ送達タイプの分散Ｖ２Ｘ通信の処理に使用される、
請求項１に記載の方法。
【請求項６】
前記第１の車両マイクロクラウドのステータスを記述する第１のステータスデータを生成するステップと、
前記制御プレーンを適用して、前記車両マクロクラウドにおいてステータスデータ交換を実行するステップであって、
前記第１のステータスデータを前記第２の車両マイクロクラウド内の前記第２のＣＰノードに送信するステップ、および、
前記第２の車両マイクロクラウド内の前記第２のＣＰノードから前記第２の車両マイクロクラウドのステータスを記述する第２のステータスデータを受信するステップを含むステップと、を更に含む、
請求項１に記載の方法。
【請求項７】
前記第１のステータスデータは、
前記第１の車両マイクロクラウドの地理的ロケーション、前記第１の車両マイクロクラウドにより記憶されたデータファイルのリストを記述するコンテンツリストおよび各データファイルにより記述された情報、前記第１の車両マイクロクラウドで利用可能な１つ以上の計算リソース、前記第１の車両マイクロクラウドが満たす必要があるデータ送達に対する１つ以上の要求、前記第１の車両マイクロクラウドが満たす必要があるデータ複製に対する１つ以上の要求、および、前記第１の車両マイクロクラウドが満たす必要があるデータ回復に対する１つ以上の要求、のうちの１つ以上を記述するデータを含む、
請求項６に記載の方法。
【請求項８】
前記車両マクロクラウドにおいて実行された前記ステータスデータ交換に基づいて、前記データ送達の待ち時間を記述する待ち時間データおよびパケット送達比率を記述するパケットデータを含むネットワークデータを測定するステップと、
前記第１の車両マイクロクラウドの前記第１のステータスデータ、前記第２の車両マイクロクラウドの前記第２のステータスデータを含むステータスデータ構造、および、前記待ち時間データおよび前記パケットデータを含む前記ネットワークデータのうちの１つ以上を含む前記第１の車両マイクロクラウドのリソースデータを生成するステップと、を更に含む、
請求項６に記載の方法。
【請求項９】
前記制御プレーンを使用して前記データ要求を分析して、前記ターゲットコンテンツプロバイダを選択するステップは、
前記第１の車両マイクロクラウドのステータスを記述する第１のステータスデータからコンテンツリストを検索して、前記データ要求により要求された前記データコンテンツが前記第１の車両マイクロクラウドにより記憶されているか否かを判断するステップと、
前記データ要求により要求された前記データコンテンツが前記第１の車両マイクロクラウドにより記憶されていないことに応答して、前記第１の車両マイクロクラウドのリソースデータを分析して、前記ターゲットコンテンツプロバイダが前記第２の車両マイクロクラウド内の前記第２のＣＰノードであると判断するステップと、を含む、
請求項１に記載の方法。
【請求項１０】
前記ターゲットコンテンツプロバイダは、前記第２のＣＰノードが前記第２の車両マイクロクラウドの記憶装置に前記データコンテンツを記憶していること、前記第２のＣＰノ
ードが、前記車両マクロクラウド内の１つ以上の他の車両マイクロクラウドの１つ以上の他のＣＰノードと比較して、前記第１のＣＰノードへの最小距離を有すること、前記第２のＣＰノードが、前記１つ以上の他のＣＰノードと比較して前記第１のＣＰノードへの最小待ち時間を有すること、前記第２のＣＰノードが、前記１つ以上の他のＣＰノードと比較して、前記第１のＣＰノードへの最高パケット送達比率を有すること、のうちの１つ以上を満たす、前記第２の車両マイクロクラウド内の前記第２のＣＰノードである、
請求項９に記載の方法。
【請求項１１】
前記データプレーンを使用して、前記データ要求を処理するステップは、
前記データプレーンを使用して、前記制御プレーンによる判断に基づいて前記データ要求を処理するステップを含む、
請求項１に記載の方法。
【請求項１２】
前記データ要求は、前記Ｖ２Ｘネットワークを介して、制御メッセージとして前記制御プレーンを経由して前記ターゲットコンテンツプロバイダに転送され、
前記データプレーンを使用して、前記制御プレーンによる判断に基づいて前記データ要求を処理するステップは、
前記データプレーンを使用して、前記Ｖ２Ｘネットワークを介して前記ターゲットコンテンツプロバイダから前記データコンテンツを受信するステップと、
前記データプレーンを使用して、前記Ｖ２Ｘネットワークを介して前記ターゲットコンテンツプロバイダから受信した前記データコンテンツを前記要求者に転送するステップと、を含む、
請求項１１に記載の方法。
【請求項１３】
前記第１の車両マイクロクラウドにおいてデータ複製トリガーイベントをモニタするステップと、
前記データ複製トリガーイベントの発生に応答して、前記第１の車両マイクロクラウドのデータを前記車両マクロクラウド内の別の車両マイクロクラウドに複製するステップと、を更に含む、
請求項１に記載の方法。
【請求項１４】
１組のデータコンテンツが前記第１の車両マイクロクラウドにおいて失われたと判断するステップと、
前記車両マクロクラウド内の別の車両マイクロクラウドから前記１組のデータコンテンツを取得して、前記第１の車両マイクロクラウドにおいて前記１組のデータコンテンツを回復させるステップと、を更に含む、
請求項１に記載の方法。
【請求項１５】
前記第１の車両マイクロクラウドの前記第１のＣＰノードは、前記第１の車両マイクロクラウド内の車両、または、協働して前記第１のＣＰノードの機能を提供する前記第１の車両マイクロクラウド内の複数の車両を含む、
請求項１に記載の方法。
【請求項１６】
車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードとして機能するコネクティッド車両の車載コンピュータシステムを含むシステムであって、前記車載コンピュータシステムは、
通信ユニットと、
プロセッサと、
前記プロセッサによって実行された場合に、
Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者
からデータ要求を受信するステップと、
制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、
データプレーンを使用して前記データ要求を処理するステップと、
前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、
前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、
を前記プロセッサに実行させるコンピュータコードを記憶する非一時的メモリと、を含むシステム。
【請求項１７】
前記コンピュータコードは、前記プロセッサによって実行された場合に、前記プロセッサに、
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に実行させ、
前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含む、
請求項１６に記載のシステム。
【請求項１８】
前記制御プレーンは、前記車両マクロクラウド内の車両マイクロクラウドおよび前記車両マイクロクラウド内のメンバ車両間の分散Ｖ２Ｘ通信の制御タイプの処理に使用され、
前記データプレーンは、前記車両マクロクラウドの前記車両マイクロクラウドおよび前記車両マイクロクラウドの前記メンバ車両の間のデータ送達タイプの分散Ｖ２Ｘ通信の処理に使用される、
請求項１６に記載のシステム。
【請求項１９】
車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードが有するプロセッサによって実行された場合に、
Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、
制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、
データプレーンを使用して前記データ要求を処理するステップと、
前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、
前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、
を前記プロセッサに実行させるコンピュータコードを記憶する非一時的メモリを含む、コンピュータプログラム製品。
【請求項２０】
前記コンピュータコードは、前記プロセッサによって実行された場合に、前記プロセッサに、
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に実行させ、
前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含む、
請求項１９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、車両マクロクラウドに含まれる１組の車両マイクロクラウド間の無線通信の改善に関する。
【背景技術】
【０００２】
クラウドコンピューティングは、コネクティッド自動運転車両に対する新しいサービスを支援する。その理由は、車両がリモートクラウドサーバと、増大しつつある量のデータコンテンツを交換する（例えば、セルラネットワークを介して）ことが予期されるためである。そのようなデータコンテンツの例に、自動運転用の３Ｄ道路地図、インフォテインメントサービスのコンテンツ等がある。車両とクラウドサーバとの間の増大しつつある量のネットワークトラフィックは、無線アクセスネットワークおよび土台をなすバックボーンネットワークに大きな負荷を生じさせうる。
【０００３】
コネクティッド車両のクラスタ（すなわち、「車両マイクロクラウド」）によって分散してデータを記憶することは、コネクティッド車両に向けて生成され、コネクティッド車両により生成される、増大しつつあるネットワークトラフィックに対処する有望な解決策である。車両は、協働してデータコンテンツを車載データ記憶装置に記憶（またはキャッシュ）し、車々間（Ｖ２Ｖ）ネットワークを介して、他の車両により要求されたデータコンテンツを共有する。
【０００４】
車両マイクロクラウド自体は、車両マクロクラウドに更に編成することができる。このようにして、個々の車両マイクロクラウドは、他の車両マイクロクラウドの計算リソースから恩恵を受けることができる。
【発明の概要】
【０００５】
記載されるのは、１組の車両マイクロクラウド（各車両マイクロクラウドは、車両マクロクラウドのメンバである）間の無線通信を改善する制御プレーン（ＣＰ）ノードにインストールされるプレーンクライアントの実施形態である。
車両マイクロクラウドはそれぞれ、プレーンクライアントを有するＣＰノードを有する。１組の車両マイクロクラウドに対応する様々なＣＰノード内の様々なプレーンクライアントは、車両マイクロクラウドがより少ない待ち時間およびデータ損失で互いと通信するためのメカニズムを提供することができる。これと比較して、構成車両マイクロクラウド間のＶ２Ｖ通信を必要とする車両マクロクラウドの既存の解決策は、Ｖ２Ｖ通信からの待ち時間およびデータ損失という問題を有する。
【０００６】
本明細書に記載される幾つかの実施形態では、一般性を失うことなく、１組の車両マイクロクラウドが、第１の車両マイクロクラウドおよび第２の車両マイクロクラウドを含むと仮定する。プレーンクライアントは、車両マクロクラウドの車両にインストールされる。
プレーンクライアントは、１つ以上のプロセッサにより実行された場合に、１つ以上のプロセッサに、第１の車両マイクロクラウド、第２の車両マイクロクラウド、および車両マクロクラウドに含まれる任意の他の車両マイクロクラウド間で、（１）分散制御プレーン、および、（２）データプレーンを確立させるように動作可能なコードおよびルーチンを含む。例えば、分散制御プレーンは、車両マイクロクラウドおよびそれらのメンバ車両間の分散Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）（例えば、Ｖ２Ｖ）通信に使用される。
【０００７】
車両マイクロクラウドの様々な車両に含まれるプレーンクライアントは、互いと協働して、本明細書に記載される機能を提供するように動作可能である。各プレーンクライアントは、以下の動作１〜動作１１の１つ以上を実行するように動作可能なコードおよびルーチンを含む。
【０００８】
動作１：異なるマイクロ車両クラウド内の２つ以上の車両マイクロクラウド内の２つ以上のＣＰノード（例えば、２台以上の車両）のプレーンクライアントは、２つ以上の車両マイクロクラウド間に、（ａ）分散制御プレーン、および、（ｂ）データプレーンを確立する。
【０００９】
動作２：各車両マイクロクラウド内の少なくとも１つのＣＰノードのプレーンクライアントは、ステータスデータを生成する。車両マイクロクラウドのステータスデータは、（ａ）車両マイクロクラウドの地理的ロケーション、（ｂ）車両マイクロクラウドにより記憶されたデータファイルのリスト（すなわち、「コンテンツリスト」）および各データファイルにより記述される情報、（ｃ）この特定の車両マイクロクラウドに利用可能な１つ以上の計算リソース、および、（ｄ）この特定の車両マイクロクラウドが満たす必要がありうるデータ送達、データ複製、またはデータ回復に対する任意の要求、のうちの１つ以上を記述するデジタルデータである。
【００１０】
この動作２およびＣＰノードにより実行される任意の他の動作は、特定の車両マイクロクラウド内の１台の車両によりまたは特定の車両マイクロクラウド内の複数の車両により協働して実行しうる。したがって、特定の車両マイクロクラウドのＣＰノードは、その車両マイクロクラウド内の１台の車両であるか、または協働して、その特定の車両マイクロクラウドのＣＰノードの機能を提供する、その車両マイクロクラウド内の複数の車両でありうる。
【００１１】
動作３：定期的に、車両マクロクラウドの様々なＣＰノードのプレーンクライアントは、車両マクロクラウドのその他のＣＰノードとステータスデータを交換する。動作１において確立された制御プレーンは、ステータスデータのこの交換に使用することができる。
【００１２】
動作４：様々なＣＰノードのプレーンクライアントは、動作３において受信したステータスデータを含む（かつ編成する）ステータスデータ構造をそれぞれ構築する。
【００１３】
動作５：Ｖ２Ｘ（例えば、Ｖ２Ｖ）通信が動作３に使用された場合に、ＣＰノードのプレーンクライアントはそれぞれ、動作４を実行しながら、（ａ）待ち時間（すなわち、「待ち時間データ」により記述される）、および、（ｂ）パケット送達比率（すなわち、「パケットデータ」により記述される）を測定する。
したがって、動作５の実行後、各ＣＰノードは潜在的に、集合的に「リソースデータ」と呼ばれる、以下のデジタルデータを含む。
（ａ）それ自体のステータスデータ
（ｂ）１つ以上の他のＣＰノードのステータスデータを含む１つ以上のステータスデータ構造
（ｃ）動作４においてステータスデータを交換しながら測定された待ち時間データ
（ｄ）動作４においてステータスデータを交換しながら測定されたパケットデータ
【００１４】
動作６：車両（この車両は必ずしもＣＰノードである必要はなく、またはマイクロクラウドメンバである必要さえない）のプレーンクライアントは、車両マイクロクラウドからデータコンテンツを取得したい。この車両のプレーンクライアントが、このデータコンテンツに対する要求を生成し、この要求を付近の第１の車両マイクロクラウドに送信すると仮定する。この動作６を実行する車両は、要求者と呼ぶことができる。
【００１５】
動作７：動作６の第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、第１の車両マイクロクラウドのコンテンツリストを検索し、要求されたデータコンテンツが第１の車両マイクロクラウドにより記憶されているか否かを判断する。動作７は、分岐７ａまたは分岐７ｂに進みうる。
【００１６】
分岐７ａにおいて、要求されたデータコンテンツが第１の車両マイクロクラウドに記憶されている場合、第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、ペイロードとして、要求されたデータコンテンツを含むＶ２Ｘ無線メッセージで、動作６のデータ要求に応える。
【００１７】
分岐７ｂにおいて、要求されたデータが第１の車両マイクロクラウドにより記憶されていない場合、第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、リソースデータを分析して、要求されたデータコンテンツに最も適したプロバイダを決定する。この最も適したプロバイダが第２の車両マイクロクラウドであると仮定する。第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、動作１において確立された制御プレーンを使用して、動作６において受信したデータ要求を第２の車両マイクロクラウドのＣＰノードに転送する。
以下の動作８〜動作１１は、分岐７ａではなく、分岐７ｂが実行されると仮定するものである。
【００１８】
動作８：データプリフェッチを実行しうる。第２の車両マイクロクラウドおよび第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、動作６において要求者により要求されたデータコンテンツを記述する「要求データ」を記録する。このようにして、プレーンクライアントは、特定のデータコンテンツが要求される頻度をモニタする（要求されたデータコンテンツは、将来の計算に使用されて、待ち時間およびデータパケット損失の低減に関して性能を改善することができる）。プレーンクライアントは、異なるデータコンテンツの人気度をモニタし、人気のあるデータコンテンツをプリフェッチする。このようにして、要求者が人気のあるデータコンテンツを要求した場合、分岐７ａを実行することができ、分岐７ｂおよび分岐７ｂに続く動作を実行する必要はない。
【００１９】
動作９：第２の車両マイクロクラウドのＣＰノードのプレーンクライアントは、第１の車両マイクロクラウドのＣＰノードにデータコンテンツを提供する。
【００２０】
動作１０：データキャッシュを実行することができる。第２の車両マイクロクラウドおよび第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、動作６において要求者により要求されたデータコンテンツを含む「コンテンツデータ」をキャッシュする。このようにして、プレーンクライアントは、このデータコンテンツに対して受信される将来の要求のためにコンテンツデータをキャッシュし、それにより、この同じデータコンテンツへの要求について、将来、分岐７ｂおよびその後続動作は必要ないため、これらの将来の要求の待ち時間は低減する。これはまた、これらの将来の要求でのデータパケット損失リスクも低減する。
【００２１】
動作１１：第１の車両マイクロクラウドのＣＰノードのプレーンクライアントは、動作６の要求に応答して、要求されたデータコンテンツを要求者に提供する。
【００２２】
幾つかの実施形態では、制御プレーンにより可能になるデータ複製および失敗リカバリを実行することもできる。
【００２３】
本明細書に記載されるプレーンクライアントは有利なことに、車両マクロクラウドの構
成要素である様々な車両マイクロクラウド間の無線通信の待ち時間およびデータパケット損失を低減することができる。本明細書に記載されるプレーンクライアントは、分散制御プレーンを確立することにより、部分的にこの機能を提供する。比較すると、分散制御プレーンを使用して様々な車両マイクロクラウド間の無線通信の待ち時間およびデータパケット損失を低減する既存の解決策はない。
【００２４】
１つ以上のコンピュータのシステムは、動作に際して、システムにアクションを実行させるソフトウェア、ファームウェア、ハードウェアまたはそれらの組合せをシステムにインストールすることにより、特定の動作またはアクションを実行するように構成することができる。１つ以上のコンピュータプログラムは、データ処理装置によって実行された場合に装置にアクションを実行させる命令を含むことにより、特定の動作またはアクションを実行するように構成することができる。
【００２５】
一つの一般的な形態は、車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードが実行する方法であって、Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、データプレーンを使用して前記データ要求を処理するステップと、前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、を含む。
この態様の別の実施形態は、各々が方法の作用を実行するように構成された、対応するコンピュータシステム、装置、および１つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【００２６】
実施例は、以下の特徴のうちの１つ以上を含み得る。
前記第１のＣＰノードにより処理される前記データ要求は、人気のあるデータコンテンツを要求するものであり、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップは、前記フィードバックデータを分析して、１つ以上のタイプの人気のあるデータコンテンツを特定するステップと、前記第１のＣＰノードの通信ユニットが前記１つ以上のタイプの人気のあるデータコンテンツをプリフェッチして記憶し、前記データ要求に関する前記データ送達の待ち時間および前記データパケット損失のうちの１つ以上について前記低減を達成するように、前記第１のＣＰノードの前記通信ユニットの動作を変更するステップと、を含む方法。
前記第１のＣＰノードにより処理される前記データ要求は、前記データコンテンツを再要求するものであり、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップは、前記フィードバックデータに基づいて前記第１のＣＰノードの通信ユニットが前記データコンテンツをキャッシュして、前記データ要求に関する前記データ送達の待ち時間および前記データパケット損失のうちの１つ以上について前記低減を達成するように、前記第１のＣＰノードの前記通信ユニットの動作を変更するステップを含む方法。
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に含み、前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の
車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含む方法。
前記制御プレーンは、前記車両マクロクラウド内の車両マイクロクラウドおよび前記車両マイクロクラウド内のメンバ車両間の分散Ｖ２Ｘ通信の制御タイプの処理に使用され、前記データプレーンは、前記車両マクロクラウドの前記車両マイクロクラウドおよび前記車両マイクロクラウドの前記メンバ車両の間のデータ送達タイプの分散Ｖ２Ｘ通信の処理に使用される方法。
前記第１の車両マイクロクラウドのステータスを記述する第１のステータスデータを生成するステップと、前記制御プレーンを適用して、前記車両マクロクラウドにおいてステータスデータ交換を実行するステップであって、前記第１のステータスデータを前記第２の車両マイクロクラウド内の前記第２のＣＰノードに送信するステップ、および、前記第２の車両マイクロクラウド内の前記第２のＣＰノードから前記第２の車両マイクロクラウドのステータスを記述する第２のステータスデータを受信するステップを含むステップと、を更に含む方法。
前記第１のステータスデータは、前記第１の車両マイクロクラウドの地理的ロケーション、前記第１の車両マイクロクラウドにより記憶されたデータファイルのリストを記述するコンテンツリストおよび各データファイルにより記述された情報、前記第１の車両マイクロクラウドで利用可能な１つ以上の計算リソース、前記第１の車両マイクロクラウドが満たす必要があるデータ送達に対する１つ以上の要求、前記第１の車両マイクロクラウドが満たす必要があるデータ複製に対する１つ以上の要求、および、前記第１の車両マイクロクラウドが満たす必要があるデータ回復に対する１つ以上の要求、のうちの１つ以上を記述するデータを含む方法。
前記車両マクロクラウドにおいて実行された前記ステータスデータ交換に基づいて、前記データ送達の待ち時間を記述する待ち時間データおよびパケット送達比率を記述するパケットデータを含むネットワークデータを測定するステップと、前記第１の車両マイクロクラウドの前記第１のステータスデータ、前記第２の車両マイクロクラウドの前記第２のステータスデータを含むステータスデータ構造、および、前記待ち時間データおよび前記パケットデータを含む前記ネットワークデータのうちの１つ以上を含む前記第１の車両マイクロクラウドのリソースデータを生成するステップと、を更に含む方法。
前記制御プレーンを使用して前記データ要求を分析して、前記ターゲットコンテンツプロバイダを選択するステップは、前記第１の車両マイクロクラウドのステータスを記述する第１のステータスデータからコンテンツリストを検索して、前記データ要求により要求された前記データコンテンツが前記第１の車両マイクロクラウドにより記憶されているか否かを判断するステップと、前記データ要求により要求された前記データコンテンツが前記第１の車両マイクロクラウドにより記憶されていないことに応答して、前記第１の車両マイクロクラウドのリソースデータを分析して、前記ターゲットコンテンツプロバイダが前記第２の車両マイクロクラウド内の前記第２のＣＰノードであると判断するステップと、を含む方法。
前記ターゲットコンテンツプロバイダは、前記第２のＣＰノードが前記第２の車両マイクロクラウドの記憶装置に前記データコンテンツを記憶していること、前記第２のＣＰノードが、前記車両マクロクラウド内の１つ以上の他の車両マイクロクラウドの１つ以上の他のＣＰノードと比較して、前記第１のＣＰノードへの最小距離を有すること、前記第２のＣＰノードが、前記１つ以上の他のＣＰノードと比較して前記第１のＣＰノードへの最小待ち時間を有すること、前記第２のＣＰノードが、前記１つ以上の他のＣＰノードと比較して、前記第１のＣＰノードへの最高パケット送達比率を有すること、のうちの１つ以上を満たす、前記第２の車両マイクロクラウド内の前記第２のＣＰノードである方法。
前記データプレーンを使用して、前記データ要求を処理するステップは、前記データプレーンを使用して、前記制御プレーンによる判断に基づいて前記データ要求を処理するステップを含む方法。
前記データ要求は、前記Ｖ２Ｘネットワークを介して、制御メッセージとして前記制御
プレーンを経由して前記ターゲットコンテンツプロバイダに転送される方法。
前記データプレーンを使用して、前記制御プレーンによる判断に基づいて前記データ要求を処理するステップは、前記データプレーンを使用して、前記Ｖ２Ｘネットワークを介して前記ターゲットコンテンツプロバイダから前記データコンテンツを受信するステップと、前記データプレーンを使用して、前記Ｖ２Ｘネットワークを介して前記ターゲットコンテンツプロバイダから受信した前記データコンテンツを前記要求者に転送するステップと、を含む方法。
前記第１の車両マイクロクラウドにおいてデータ複製トリガーイベントをモニタするステップと、前記データ複製トリガーイベントの発生に応答して、前記第１の車両マイクロクラウドのデータを前記車両マクロクラウド内の別の車両マイクロクラウドに複製するステップと、を更に含む方法。
１組のデータコンテンツが前記第１の車両マイクロクラウドにおいて失われたと判断するステップと、前記車両マクロクラウド内の別の車両マイクロクラウドから前記１組のデータコンテンツを取得して、前記第１の車両マイクロクラウドにおいて前記１組のデータコンテンツを回復させるステップと、を更に含む方法。
前記第１の車両マイクロクラウドの前記第１のＣＰノードは、前記第１の車両マイクロクラウド内の車両、または、協働して前記第１のＣＰノードの機能を提供する前記第１の車両マイクロクラウド内の複数の車両を含む方法。
説明された技術の実装は、ハードウェア、方法またはプロセス、またはコンピューターアクセス可能媒体上のコンピューターソフトウェアを含み得る。
【００２７】
一つの一般的な形態は、車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードとして機能するコネクティッド車両の車載コンピュータシステムを含むシステムであって、前記車載コンピュータシステムは、通信ユニットと、プロセッサと、前記プロセッサによって実行された場合に、Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、データプレーンを使用して前記データ要求を処理するステップと、前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、を前記プロセッサに実行させるコンピュータコードを記憶する非一時的メモリと、を含む。
この態様の別の実施形態は、各々が方法の作用を実行するように構成された、対応するコンピュータシステム、装置、および１つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【００２８】
実施例は、以下の特徴のうちの１つ以上を含み得る。
前記コンピュータコードは、前記プロセッサによって実行された場合に、前記プロセッサに、
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に実行させ、前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含むシステム。
前記制御プレーンは、前記車両マクロクラウド内の車両マイクロクラウドおよび前記車
両マイクロクラウド内のメンバ車両間の分散Ｖ２Ｘ通信の制御タイプの処理に使用され、前記データプレーンは、前記車両マクロクラウドの前記車両マイクロクラウドおよび前記車両マイクロクラウドの前記メンバ車両の間のデータ送達タイプの分散Ｖ２Ｘ通信の処理に使用されるシステム。
説明された技術の実装は、ハードウェア、方法またはプロセス、またはコンピューターアクセス可能媒体上のコンピューターソフトウェアを含み得る。
【００２９】
一つの一般的な形態は、車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードが有するプロセッサによって実行された場合に、Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、データプレーンを使用して前記データ要求を処理するステップと、前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、を前記プロセッサに実行させるコンピュータコードを記憶する非一時的メモリを含む、コンピュータプログラム製品である。
この態様の別の実施形態は、各々が方法の作用を実行するように構成された、対応するコンピュータシステム、装置、および１つ以上のコンピュータ記憶装置に記録されたコンピュータプログラムを含む。
【００３０】
実施例は、以下の特徴のうちの１つ以上を含み得る。
前記コンピュータコードは、前記プロセッサによって実行された場合に、前記プロセッサに、
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に実行させ、前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含むコンピュータプログラム製品。
説明された技術の実装は、ハードウェア、方法またはプロセス、またはコンピューターアクセス可能媒体上のコンピューターソフトウェアを含み得る。
【００３１】
本開示は、限定ではなく例として、同様の参照番号が同様の要素の参照に使用される添付図面の図に示される。
【図面の簡単な説明】
【００３２】
【図１Ａ】幾つかの実施形態による一例の車両マクロクラウドを示すブロック図である。
【００３３】
【図１Ｂ】幾つかの実施形態による車両マイクロクラウドの一例のＣＰノードを示すブロック図である。
【００３４】
【図１Ｃ】幾つかの実施形態によるプレーンクライアントの動作環境を示すブロック図である。
【００３５】
【図１Ｄ】幾つかの実施形態によるプレーンクライアントの動作環境を示す別のブロック図である。
【００３６】
【図１Ｅ】幾つかの実施形態によるデータ要求の一例のフロープロセスを示すブロック図である。
【００３７】
【図２】幾つかの実施形態によるプレーンクライアントを含む一例のコンピュータシステムを示すブロック図である。
【００３８】
【図３】幾つかの実施形態による車両マクロクラウド内の１組の車両マイクロクラウド間の無線通信を改善する方法を示す。
【００３９】
【図４Ａ】幾つかの実施形態による車両マクロクラウド内の１組の車両マイクロクラウド間の無線通信を改善する別の方法を示す。
【図４Ｂ】幾つかの実施形態による車両マクロクラウド内の１組の車両マイクロクラウド間の無線通信を改善する別の方法を示す。
【図４Ｃ】幾つかの実施形態による車両マクロクラウド内の１組の車両マイクロクラウド間の無線通信を改善する別の方法を示す。
【００４０】
【図５】幾つかの実施形態による、分離された車両マクロクラウドを橋渡しする一例の構造を示す図表現である。
【００４１】
【図６Ａ】幾つかの実施形態による一例のＤＳＲＣデータを示す図表現である。
【図６Ｂ】幾つかの実施形態による一例のＤＳＲＣデータを示す図表現である。
【発明を実施するための形態】
【００４２】
互いに近接するコネクティッド車両は、車両マイクロクラウドを形成することができる。当該コネクティッド車両は、本明細書では「マイクロクラウドメンバ」または「メンバ車両」と呼ばれる。コネクティッド車両は、協働して、Ｖ２Ｘ（例えば、Ｖ２Ｖ）ネットワークを介して、以下に限定されないが、（１）複数のメンバ車両間で協働してリソース集約的計算タスクを実行すること、（２）複数のメンバ車両間で協働してデータコンテンツを保持かつ更新すること、（３）複数のメンバ車両の車載センサにより道路状況の検知を協働して実行すること、および（４）クラウドサーバ（またはエッジサーバ）からのまたはクラウドサーバ（またはエッジサーバ）へのデータコンテンツのダウンロードまたはアップロードを協働して行うことを含めて、計算、データ記憶、検知、通信タスク、およびそれらの任意の組合せをマイクロクラウドメンバ間で実行する。
【００４３】
車両マクロクラウド内の車両マイクロクラウドを使用することにより、データ（例えば、自動運転用の高精細道路地図）にアクセスが必要なときに、車両ネットワーク間（Ｖ２Ｎ）通信（例えば、セルラネットワーク）によって、コネクティッド車両がリモートクラウドサーバまたはエッジサーバに常時アクセスする必要がなくなる。車両マイクロクラウドのモビリティに応じて、車両マイクロクラウドは、例として、静止車両マイクロクラウドおよびモバイル車両マイクロクラウドの２つのタイプに分類することができる。
【００４４】
静止車両マイクロクラウドは、特定の地理的領域（例えば、交差点）に結び付けることができる。車両は、静止車両マイクロクラウドの予め定義された地理的領域に入る際に、静止車両マイクロクラウドに入り、予め定義された地理的領域を出る際に、静止車両マイクロクラウドから出る。予め定義された地理的領域から出るとき、車両はまた、静止車両マイクロクラウドの進行中のタスクを他のメンバ車両にハンドオーバする。幾つかの実施形態では、駐車車両も、静止車両マイクロクラウドのメンバであることができる。
【００４５】
モバイル車両マイクロクラウドでは、メンバリーダ（例えば、車両マイクロクラウド内でリーダとして機能するコネクティッド車両）が、近傍車両をモバイル車両マイクロクラウドに参加するように招待することができる。静止車両マイクロクラウドとは異なり、モバイル車両マイクロクラウドは、メンバリーダが移動するにつれて移動する。メンバリーダは、他のメンバ車両をモバイル車両マイクロクラウドに勧誘し、協働タスクを実行するためにサブタスクを他のメンバ車両に配分する。
【００４６】
複数の車両マイクロクラウドは、Ｖ２Ｘ（例えば、Ｖ２Ｖ）ネットワークを介して相互接続され、広範囲の車両マクロクラウドを形成することができる。車両は、Ｖ２Ｘ（例えば、Ｖ２Ｖ）ネットワークを介して車両マイクロクラウド（または他の車両）にアクセスすることにより、データコンテンツおよびタスク実行を任意の車両マイクロクラウド（または任意の他の車両）から要求することができる。例えば、車両マイクロクラウドは、車両により要求されているタスクを実行し、Ｖ２Ｘ（例えば、Ｖ２Ｖ）ネットワークを介してタスク実行結果を車両に返信する。また、車両マイクロクラウドは、Ｖ２Ｘ（例えば、Ｖ２Ｖ）ネットワークを介して要求されたデータを車両に送信することもでき、したがって、車両は、要求されたデータを車両マイクロクラウドから検索する。このようにして、車両マクロクラウドに対して、サービスの検索およびプロビジョニングを実行することができる。
【００４７】
既存の解決策では、車両マクロクラウドにおけるＶ２Ｖネットワークを介したデータ送達の待ち時間が長いことがあり、データ送達の信頼性が低いことがある。例えば、コンテンツプロバイダが、要求を出した車両から離れている場合、Ｖ２Ｖネットワークを介したデータ転送は、長い待ち時間を発生させる恐れがあり、また、パケット損失に起因した失敗を生じさせる恐れさえある。その上、車両マイクロクラウドからのデータ損失リスクは高い。例えば、車両マイクロクラウドに保持されたデータコンテンツは、車両マイクロクラウド内の車両の数が減る場合、失われる恐れがある。
【００４８】
Ｖ２Ｘ通信を介して１組の車両マイクロクラウド間の無線通信を改善するプレーンクライアントの実施形態についてここで説明する。本明細書に記載されるＶ２Ｘ通信の例には、狭域通信（ＤＳＲＣ）（ＤＳＲＣ通信のタイプの中でも特に基本安全メッセージ（ＢＳＭ）および歩行者安全メッセージ（ＰＳＭ）を含む）、ロングタームエボリューション（ＬＴＥ）、ミリメートル波（ｍｍ波）通信、３Ｇ、４Ｇ、５Ｇ、ＬＴＥ−Ｖ２Ｘ、ＬＴＥ−車車間（ＬＴＥ−Ｖ２Ｖ）、ＬＴＥ−デバイスデバイス間（ＬＴＥ−Ｄ２Ｄ）、ボイスオーバＬＴＥ（ＶｏＬＴＥ）等のうちの１つがあるが、これらに限定されない。幾つかの例では、Ｖ２Ｘ通信は、Ｖ２Ｖ通信、車−インフラ間（Ｖ２Ｉ）通信、車ネットワーク間（Ｖ２Ｎ）通信、またはそれらの任意の組合せを含むことができる。
【００４９】
本明細書に記載されるＶ２Ｘ無線メッセージの例には、狭域通信（ＤＳＲＣ）メッセージ、基本安全メッセージ（ＢＳＭ）、ロングタームエボリューション（ＬＴＥ）メッセージ、ＬＴＥ−Ｖ２Ｘメッセージ（例えば、ＬＴＥ−車車間（ＬＴＥ−Ｖ２Ｖ）メッセージ、ＬＴＥ車−インフラ間（ＬＴＥ−Ｖ２Ｉ）メッセージ）、５Ｇ−ＬＴＥメッセージ、およびミリメートル波メッセージ等があるが、これらに限定されない。
【００５０】
（概説例）
図１Ａを参照して、１つ以上の車両マイクロクラウド１１０を含みうる一例の車両マクロクラウド１０２を示す。各車両マイクロクラウド１１０は、ＣＰノード１１２を含む。例えば、車両マクロクラウド１０２は、第１の車両マイクロクラウド１１０Ａ、第２の車両マイクロクラウド１１０Ｂ、…、および第Ｍの車両マイクロクラウド１１０Ｍを含む（Ｍは正の整数（Ｍ≧１））。
この第１の車両マイクロクラウド１１０ＡはＣＰノード１１２Ａを含み、第２の車両マイクロクラウド１１０ＢはＣＰノード１１２Ｂを含み、第Ｍの車両マイクロクラウド１１０ＭはＣＰノード１１２Ｍを含む。第１の車両マイクロクラウド１１０Ａ、第２の車両マイクロクラウド１１０Ｂ、および第Ｍの車両マイクロクラウド１１０Ｍは、本明細書では集合的または個々に「車両マイクロクラウド１１０」と呼ばれる。第１のＣＰノード１１２Ａ、第２のＣＰノード１１２Ｂ、および第ＭのＣＰノード１１２Ｍは、本明細書では集合的または個々に「ＣＰノード１１２」と呼ばれる。車両マクロクラウド１０２のこれらの車両マイクロクラウド１１０は、ネットワーク１０５に通信可能に結合しうる。
【００５１】
３つの車両マイクロクラウド１１０および１つのネットワーク１０５が図１Ａに示されているが、実際には、車両マクロクラウド１０２は、１つ以上の車両マイクロクラウド１１０および１つ以上のネットワーク１０５を含みうる。
【００５２】
ネットワーク１０５は、有線であれ無線であれ従来のタイプでありえ、スター構成、トークンリング構成、または他の構成を含め、多くの異なる構成を有しうる。さらに、ネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（例えば、インターネット）、または複数のデバイスおよび／またはエンティティが通信しうる、相互接続された他のデータパスを含みうる。幾つかの実施形態では、ネットワーク１０５はピアツーピアネットワークを含みうる。ネットワーク１０５は、種々の異なる通信プロトコルでデータを送信する電気通信ネットワークの部分に結合することもでき、または含みうる。幾つかの実施形態では、ネットワーク１０５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、電子メールＤＳＲＣ、全二重無線通信、ｍｍ波、ＷｉＦｉ（インフラストラクチャモード）、ＷｉＦｉ（アドホックモード）、可視光通信、ＴＶホワイト空間通信、および衛星通信を含め、データを送受信するためのＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワークまたはセルラ通信ネットワークを含む。ネットワーク１０５はまた、３Ｇ、４Ｇ、ＬＴＥ、ＬＴＥ−Ｖ２Ｖ、ＬＴＥ−Ｖ２Ｉ、ＬＴＥ−Ｖ２Ｘ、ＬＴＥ−Ｄ２Ｄ、ＶｏＬＴＥ、ＬＴＥ−５Ｇ、または任意の他のモバイルデータネットワーク、若しくはモバイルデータネットワークの組合せを含みうるモバイルデータネットワークを含むこともできる。さらに、ネットワーク１０５は１つ以上のＩＥＥＥ８０２．１１無線ネットワークを含みうる。
【００５３】
幾つかの実施形態では、ネットワーク１０５はＶ２Ｘネットワーク（例えば、Ｖ２Ｘ無線ネットワーク）を含む。Ｖ２Ｘネットワークとは、車両マイクロクラウド１１０（例えば、ＣＰノード１１２および車両マイクロクラウドの他のメンバ）等のエンティティが、Ｗｉ−Ｆｉ、３Ｇ、４Ｇ、ＬＴＥ、５Ｇ等を含むセルラ通信、狭域通信（ＤＳＲＣ）、ミリメートル波通信等の１つ以上を介して互いと無線通信できるようにする通信ネットワークである。
【００５４】
図１Ｂを参照して、特定の車両マイクロクラウド１１０のＣＰノード１１２の一例を示す。ＣＰノード１１２は、１台のコネクティッド車両１２１または協働して機能して、車両マイクロクラウド１１０のＣＰノードの機能を提供する車両マイクロクラウド１１０内の複数のコネクティッド車両１２１を含みうる。例えば、図１Ｂに示すように、ＣＰノード１１２は第１のコネクティッド車両１２１Ａ、…、および第Ｎのコネクティッド車両１２１Ｎ（本明細書では個々にまたは集合的に「コネクティッド車両１２１」と呼ばれうる）を含む（Ｎは正の整数（Ｎ≧１））。２台のコネクティッド車両１２１が図１Ｂに示されているが、実際には、ＣＰノード１１２は、車両マイクロクラウド１１０内に任意の数のコネクティッド車両１２１を含みうる。
【００５５】
各コネクティッド車両１２１にはプレーンクライアント１９９がインストールされる。例えば、第１のコネクティッド車両１２１Ａはプレーンクライアント１９９Ａを含み、第Ｎのコネクティッド車両１２１Ｎはプレーンクライアント１９９Ｎを含む。プレーンクライアント１９９Ａおよびプレーンクライアント１９９Ｎは、本明細書では個々にまたは集合的に「プレーンクライアント１９９」と呼ばれうる。
【００５６】
幾つかの実施形態では、コネクティッド車両１２１のプレーンクライアント１９９は、コネクティッド車両１２１のプロセッサにより実行された場合に、プロセッサに、図１Ｅおよび図３〜図４Ｃを参照してフロープロセス１６０並びに方法３００および４００の１つ以上のステップを実行させるように動作可能なソフトウェアを含む。
【００５７】
幾つかの実施形態では、プレーンクライアント１９９は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）を含むハードウェアを使用して実装しうる。幾つかの他の実施形態では、プレーンクライアント１９９は、ハードウェアとソフトウェアとの組合せを使用して実装しうる。プレーンクライアント１９９は、デバイス（例えば、車両または他のデバイス）の組合せか、または複数のデバイスの１つに記憶しうる。
【００５８】
プレーンクライアント１９９について図２〜図４Ｃを参照して更に後述する。
【００５９】
図１Ｃを参照して、プレーンクライアント１９９の動作環境１３０を示す。図１Ａおよび図１Ｂに示される要素に加えて、動作環境１３０は要求者１４１を更に含みうる。要求者１４１には、プレーンクライアント１９９Ｘ（プレーンクライアント１９９のインスタンス。簡潔にするためかつ説明の便宜上、プレーンクライアント１９９と呼ぶこともできる）をインストールしうる。動作環境１３０のこれらの要素は、ネットワーク１０５に通信可能に結合しうる。
【００６０】
例として、第１の車両マイクロクラウド１１０Ａはデータコンテンツ１３１Ａを記憶し、第２の車両マイクロクラウド１１０Ｂはデータコンテンツ１３１Ｂを記憶し、第Ｍの車両マイクロクラウド１１０Ｍはデータコンテンツ１３１Ｍを記憶する。データコンテンツ１３１Ａ、データコンテンツ１３１Ｂ、およびデータコンテンツ１３１Ｍは、互いに共通するデータコンテンツの少なくともサブセットを共有することができ、または互いとは全く別個でありうる。データコンテンツ１３１Ａ、データコンテンツ１３１Ｂ、およびデータコンテンツ１３１Ｍは、個々にまたは集合的に「データコンテンツ１３１」と呼ぶことができる。
【００６１】
データコンテンツ１３１は、対応する車両マイクロクラウドにより記憶された１つ以上のデータファイルを含みうる。例えば、データコンテンツ１３１は、限定ではなく、オーディオコンテンツ（例えば、ポッドキャスト、音楽、ボイス記録等）、ビデオコンテンツファイル（例えば、映画、動画等）、地図データファイル（例えば、１つ以上の市、州、または国の高精細地図）、および任意の他のタイプのデータファイルを含みうる。
【００６２】
幾つかの実施形態では、データコンテンツ１３１は、人気のあるデータコンテンツを含みうる。幾つかの例では、データコンテンツの一部分の人気は、この一部分のデータコンテンツの検索を目指す要求の数に基づいて決定することができる。データコンテンツのこの一部分への要求数が閾値を超える場合、データコンテンツのこの部分は人気のあるデータコンテンツであると決定される。代替または追加として、データコンテンツの一部分の人気は、ウェブベースの格付けまたはクラウドソーシングから決定することができる。例えば、音楽ダウンロードウェブサイトでのトップ１００ソングは人気のあるデータコンテンツとすることができる。人気のあるデータコンテンツの他の例も可能である。
【００６３】
車両マイクロクラウド１１０のＣＰノード１１２（例えば、ＣＰノード１１２Ａ、１１２Ｂ、または１１２Ｍ）の拡大図を図１Ｃに示す。ＣＰノード１１２は、例えば、１つ以上のコネクティッド車両１２１（例えば、第１のコネクティッド車両１２１Ａ、…、および第Ｎのコネクティッド車両１２１Ｎ）、プロセッサ（図１Ｃに示されず）、およびメモリ１２７を含む。
【００６４】
メモリ１２７は、ＣＰノード１１２のプロセッサにより実行しうる命令またはデータを記憶する。命令またはデータは、本明細書に記載される方法を実行するコードを含みうる。メモリ１２７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、または何らかの他のメモリデバイスでありうる。幾つかの実施形態では、メモリ１２７は、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、または情報をより永続的に記憶する何らかの他の大容量記憶装置を含めて不揮発性メモリまたは同様の永続的記憶装置および媒体も含む。ＣＰノード１１２は１つ以上のメモリ１２７を含みうる。
【００６５】
メモリ１２７は、リソースデータ１３９およびデータコンテンツ１３１のうちの１つ以上を記憶しうる。
【００６６】
リソースデータ１３９は、ステータスデータ１３３、ステータスデータ構造１３４、待ち時間データ１３５、およびパケットデータ１３７の１つ以上を含む。
【００６７】
車両マイクロクラウド１１０におけるＣＰノード１１２のステータスデータ１３３は、車両マイクロクラウド１１０のステータス情報を記述するデジタルデータを含む。例えば、ステータスデータは、車両マイクロクラウドの地理的ロケーション（例えば、交差点等の車両マイクロクラウドの静止ロケーションまたは車両マイクロクラウド内のメンバリーダのロケーション）、車両マイクロクラウドにより記憶されたデータファイルのリストを記述するコンテンツリストおよび各データファイルにより記述される情報、車両マイクロクラウドで利用可能な１つ以上の計算リソース（例えば、計算力、メモリ、ネットワーク帯域幅等）、車両マイクロクラウドが満たす必要があるデータ送達に対する１つ以上の要求、車両マイクロクラウドが満たす必要があるデータ複製の１つ以上の要求、および車両マイクロクラウドが満たす必要があるデータ回復の１つ以上の要求、のうちの１つ以上を記述するデータを含む。
【００６８】
ＣＰノード１１２のステータスデータ構造１３４は、他のＣＰノード１１２のステータスデータを記述するデジタルデータを含む。例えば、ＣＰノード１１２は、ステータスデータ交換プロセスを通して１つ以上の他のＣＰノード１１２から１つ以上の組のステータスデータを受信し、１つ以上の組のステータスデータを１つ以上のステータスデータ構造１３４に編成する。幾つかの実施形態では、１つ以上のステータスデータ構造１３４は、ＣＰノード１１２と１つ以上の他のＣＰノード１１２との間の１つ以上の距離もそれぞれ含む。１つ以上の距離は、ステータスデータ交換プロセス中、測定することもできる。
【００６９】
待ち時間データ１３５は、車両マイクロクラウド１１０のＣＰノード１１２と、１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２との間の１つ以上の待ち時間値を記述するデジタルデータを含む。例えば、待ち時間データ１３５は、（１）車両マイクロクラウド１１０と第１の他の車両マイクロクラウド１１０との間のデータ送達の第１の待ち時間、（２）車両マイクロクラウド１１０と第２の他の車両マイクロクラウド１１０との間のデータ送達の第２の待ち時間、および、（３）車両マイクロクラ
ウド１１０と任意の他の車両マイクロクラウド１１０との間のデータ送達の任意の他の待ち時間を含む。
【００７０】
パケットデータ１３７は、車両マイクロクラウド１１０のＣＰノード１１２と１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２との間のパケット送達比率（packet delivery ratio）（またはパケット損失比率）を記述するデジタルデ
ータを含む。例えば、パケットデータ１３７は、（１）車両マイクロクラウド１１０と第１の他の車両マイクロクラウド１１０との間の第１のパケット送達比率、（２）車両マイクロクラウド１１０と第２の他の車両マイクロクラウド１１０との間の第２のパケット送達比率、および（３）車両マイクロクラウド１１０と任意の他の車両マイクロクラウド１１０との間の任意の他のパケット送達比率を含む。
【００７１】
データコンテンツ１３１については上述しており、同様の説明をここで繰り返さない。幾つかの実施形態では、各マイクロクラウドメンバは、同じ車両マイクロクラウド１１０の他のメンバまたは他の車両マイクロクラウド１１０のメンバにより要求しうるデータコンテンツを記憶する。要求者１４１は、データコンテンツをマイクロクラウドメンバから要求するコネクティッド車両である。要求者１４１は車両マイクロクラウドのメンバであってもよく、なくてもよい。例えば、要求者１４１は、車両マクロクラウド内の特定の車両マイクロクラウド１１０のメンバ車両である。別の例では、要求者１４１は、車両マクロクラウド内の任意の車両マイクロクラウド１１０のメンバ車両ではない。
【００７２】
幾つかの実施形態では、コネクティッド車両１２１および要求者１４１の１つ以上は、ＤＳＲＣ対応車両でありうる。ＤＳＲＣ対応車両とは、（１）ＤＳＲＣ無線を含み、（２）ＤＳＲＣ準拠全地球測位システム（ＧＰＳ）ユニットを含み、かつ、（３）ＤＳＲＣ対応車両が位置する管轄区域においてＤＳＲＣメッセージを合法的に送受信するように動作可能な車両である。ＤＳＲＣ無線は、ＤＳＲＣ受信機およびＤＳＲＣ送信機を含むハードウェアである。ＤＳＲＣ無線は、ＤＳＲＣメッセージを無線で送受信するように動作可能である。
【００７３】
ＤＳＲＣ準拠ＧＰＳユニットは、車線レベル精度を有する車両の位置情報（またはＤＳＲＣ準拠ＧＰＳユニットを含む何らかの他のＤＳＲＣ対応デバイス）を提供するように動作可能である。幾つかの実施形態では、ＤＳＲＣ準拠ＧＰＳユニットは、屋外にいる６８％の時間、実際位置の１．５ｍ以内でそれ自体の二次元位置を特定、モニタ、追跡するように動作可能である。
【００７４】
従来のＧＰＳユニットは、従来のＧＰＳユニット実際位置の±１０ｍの精度で従来のＧＰＳユニットの位置を記述する位置情報を提供する。それと比較して、ＤＳＲＣ準拠ＧＰＳユニットは、ＤＳＲＣ準拠ＧＰＳユニットの実際位置の±１．５ｍの精度でＤＳＲＣ準拠ＧＰＳユニットの位置を記述するＧＰＳデータを提供する。例えば、道路の車線は一般に約３ｍ幅であり、±１．５ｍという精度は、車両が道路のどの車線を走行中であるかを識別するのに十分であるため、この精度は「車線レベル精度」と呼ばれる。近代車両の先進運転支援システム（ＡＤＡＳ）により提供される幾つかの安全または自律運転アプリケーションでは、車線レベル精度で車両の地理的位置を記述する位置情報を必要とする。加えて、ＤＳＲＣの現在規格では、車両の地理的位置が車線レベル精度で記述されることが要求される。
【００７５】
本明細書で使用される場合、「地理的ロケーション」、「ロケーション」、「地理的位置」、および「位置」という用語は、コネクティッド車両１２１等の物体の緯度および経度を指す。本明細書に記載される一例の実施形態は、車両の実際の地理的位置に関連して少なくとも±１．５ｍの精度で車両の地理的位置を記述する位置情報を提供する。したが
って、本明細書に記載される一例の実施形態は、車線レベル精度以上で車両の地理的位置を記述することが可能である。
【００７６】
コネクティッド車両１２１および要求者１４１は、同じまたは同様の要素を含みうる。コネクティッド車両１２１および要求者１４１は、接続または関連性を共有しうる。例えば、コネクティッド車両１２１および要求者１４１はそれぞれ、これらの車両が「コネクティッド車両」であるような通信ユニットを含み、ここで、通信ユニットは、対応する車両がネットワーク１０５を介して動作環境１３０の他のエンティティと通信できるようにするのに必要な任意のハードウェアおよびソフトウェアを含む。
【００７７】
コネクティッド車両１２１および要求者１４１は、任意のタイプの車両でありうる。コネクティッド車両１２１および要求者１４１は、互いに対して同じタイプの車両であることができ、または互いに対して異なるタイプの車両であることができる。例えば、コネクティッド車両１２１および要求者１４１のいずれか一方は、乗用車、トラック、ＳＵＶ、バス、トラックトレーラー、ドローン、または任意の他の道路ベースの乗物のうちの１つを含みうる。
【００７８】
幾つかの実施形態では、コネクティッド車両１２１および要求者１４１の１つ以上は、自律車両または半自律車両を含みうる。例えば、コネクティッド車両１２１および要求者１４１の１つ以上は、１つ以上のＡＤＡＳシステムを含みうる。１つ以上のＡＤＡＳシステムは、自律機能を提供する機能の幾つかまたは全てを提供しうる。
【００７９】
図１Ｄを参照して、幾つかの実施形態によるプレーンクライアント１９９の別の動作環境１５０を示す。幾つかの状況では、車両マイクロクラウド１１０間のＶ２Ｘ通信は、制御プレーン１５１およびデータプレーン１５３に分割することができる。
【００８０】
制御プレーン１５１は、車両マクロクラウド１０２の車両マイクロクラウド１１０間および車両マイクロクラウド１１０のメンバ車両間の分散Ｖ２Ｘ通信の制御タイプの処理に使用される。例えば、車両マイクロクラウド１１０のＣＰノード１１２は、制御プレーン１５１を介して互いと通信して、車両マイクロクラウド１１０間でのデータコンテンツの転送方法を調整することができる。更なる例では、車両マイクロクラウド１１０のＣＰノード１１２は、制御プレーン１５１を介して互いと通信して、データプレーン１５３を介して車両マイクロクラウド１１０間でデータコンテンツを転送する方法を決定することができる。なお、決定の内容は、データコンテンツを提供するターゲットコンテンツプロバイダ、データ要求をターゲットコンテンツプロバイダに転送する要求転送経路、およびデータコンテンツをターゲットコンテンツプロバイダから要求者に転送するデータ転送経路等を含むが、これらに限定されない。
【００８１】
データプレーン１５３は、車両マクロクラウド１０２の車両マイクロクラウド１１０間および車両マイクロクラウド１１０のメンバ車両間の分散Ｖ２Ｘ通信のデータ送達タイプの処理に使用される。例えば、データコンテンツは、制御プレーン１５１での決定に従って、データプレーン１５３を介して車両マイクロクラウド１１０のＣＰノード１１２間で転送することができる。更なる例では、データ要求は、制御プレーン１５１で決定された要求転送経路に従って、制御メッセージとして制御プレーン１５１を介してターゲットコンテンツプロバイダに転送することができ、データコンテンツは、制御プレーン１５１で決定されたデータ転送経路に従って、データメッセージとしてデータプレーン１５３を介して要求者に転送することができる。
【００８２】
データプレーン１５３により提供される機能例には、制御プレーン１５１での決定に従ってＶ２Ｘネットワーク（例えば、Ｖ２Ｖネットワーク）を介してデータコンテンツを転
送することがある。例えば、車両マイクロクラウド１１０のＣＰノード１１２は、車両マイクロクラウド１１０の１つ以上のマイクロクラウドメンバに、データコンテンツを宛先車両マイクロクラウド１１０のロケーションに送信するように指示する。データコンテンツは、Ｖ２Ｘネットワーク（例えば、マルチホップＶ２Ｖネットワーク）を介してジオキャストルーティングプロトコルにより転送される。
【００８３】
制御プレーン１５１およびデータプレーン１５３は両方とも、Ｖ２Ｘネットワークで展開することができる。例えば、制御プレーン１５１およびデータプレーン１５３は両方とも、Ｖ２Ｖネットワークで展開される。任意選択的に、車ネットワーク間（Ｖ２Ｎ）通信（例えば、セルラネットワーク）により制御プレーン１５１を利用可能にすることも可能である。
【００８４】
再び制御プレーン１５１を参照すると、幾つかの実施形態では、制御プレーン１５１は、車両マイクロクラウド１１０間でデータコンテンツを効率的に送信するのに使用される。例えば、車両マクロクラウド１０２を構成する車両マイクロクラウド（または車両マイクロクラウド１１０のＣＰノード１１２）は、制御プレーン１５１を介して互いとステータス（例えば、ステータスデータ）を交換する。車両マイクロクラウド１１０のステータスデータは、車両マイクロクラウド１１０間でデータコンテンツを転送する方法を知的に決定するのに利用される。車両マイクロクラウド１１０（または車両マイクロクラウド１１０のＣＰノード１１２）は、制御プレーン１５１を介して互いに調整し、車両マイクロクラウド１１０間でのデータコンテンツの効率的な送信を促進する。
【００８５】
制御プレーン１５１により提供される機能の非限定的な例として、データ要求をターゲットコンテンツプロバイダに転送すること、要求者からのデータ要求の受信に応答して、ターゲットコンテンツプロバイダの知的選択を行うこと、他の車両マイクロクラウド１１０からのデータプリフェッチを実行すること、車両マイクロクラウド１１０間でデータ複製を実行すること、および車両マイクロクラウド１１０間で協働データ回復を実行すること等がある。
【００８６】
例えば、制御プレーン１５１を介して交換されたステータスデータに基づいて、データ要求を要求者から受信した車両マイクロクラウド１１０のＣＰノード１１２は、ターゲットコンテンツプロバイダ（例えば、最も適した車両マイクロクラウド１１０）を識別することができる。ターゲットコンテンツプロバイダから、車両マイクロクラウド１１０のＣＰノード１１２は、要求者のデータコンテンツを要求する。このようにして、データ要求の応答時間を短縮することができる。ターゲットコンテンツプロバイダの選択については、図１Ｅを参照して更に後述する。
【００８７】
例えば、データプリフェッチの実行に関して、車両マイクロクラウド１１０のＣＰノード１１２は、データ要求を受信する前、１つ以上の他の車両マイクロクラウド１１０から人気のあるデータコンテンツ（例えば、人気のあるデータコンテンツの最新バージョン）をプリフェッチし、その人気のあるデータコンテンツを車両マイクロクラウド１１０のメモリに記憶する。このようにして、任意の人気のあるデータコンテンツへのデータ要求を要求者から受信した場合、車両マイクロクラウド１１０のＣＰノード１１２は、データ要求に応答して、要求された人気のあるデータコンテンツを要求者に直接送信しうる。このように、車両マイクロクラウド１１０のＣＰノード１１２自体が、要求された人気のあるデータコンテンツの最も適したコンテンツプロバイダであるため、別のターゲットコンテンツプロバイダを選択する必要がない。したがって、データ要求に対する応答時間は短縮される。
【００８８】
例えば、車両マイクロクラウド間でデータの複製を実行することに関して、車両マイク
ロクラウド１１０内の車両数が特定の閾値を下回る場合、車両マイクロクラウド１１０のＣＰノード１１２は、バックアップとしてデータコンテンツを近傍の車両マイクロクラウド１１０に複製することができる。このようにして、データコンテンツの可用性は改善する。
【００８９】
例えば、車両マイクロクラウド１１０間で協働データ回復を実行することに関して、データコンテンツの一部分が車両マイクロクラウド１１０から失われた場合、車両マイクロクラウド１１０のＣＰノード１１２は、近傍の車両マイクロクラウドからそのデータコンテンツの一部分を取得して、データコンテンツを回復する。このようにして、データコンテンツの可用性は改善する。
【００９０】
各車両マイクロクラウド１１０は、制御プレーン１５１上のノード（ＣＰノード１１２と呼ばれる）に対応する。ＣＰノード１１２は仮想エンティティであることができ、その機能は、車両マイクロクラウド１１０のメンバリーダまたは協働的に複数のメンバ車両のいずれかにより提供される。例えば、車両マイクロクラウド１１０の１台のメンバ車両は、車両マイクロクラウド１１０のＣＰノード１１２として機能することができる。代替的には、協働して機能して、ＣＰノード１１２の機能を提供する車両マイクロクラウド１１０の複数のメンバ車両は、協働してＣＰノード１１２として機能することができる。
【００９１】
幾つかの実施形態では、ＣＰノード１１２は、車両マイクロクラウド１１０に保持されたデータコンテンツのリストと、車両マイクロクラウド１１０で利用可能な計算リソース量とを保持する。ＣＰノード１１２は、車両マイクロクラウド１１０のステータスを記述するステータスデータを定期的に生成する。ステータスデータは、車両マイクロクラウド１１０の地理的ロケーション、車両マイクロクラウド１１０により記憶されたデータコンテンツのリスト、車両マイクロクラウド１１０で利用可能な計算リソース量、車両マイクロクラウド１１０が満たす必要があるデータ送達への１つ以上の要求、車両マイクロクラウド１１０が満たす必要があるデータ複製への１つ以上の要求、および車両マイクロクラウド１１０が満たす必要があるデータ回復への１つ以上の要求等、のうちの１つ以上を含む。
【００９２】
ＣＰノード１１２は、他の車両マイクロクラウド１１０の他のＣＰノード１１２とステータスデータを定期的に交換する。制御プレーン１５１がＶ２Ｘネットワーク（例えば、Ｖ２Ｖネットワーク）に展開されることに応答して、ＣＰノード１１２はまた、ステータスデータを交換しながら、他のＣＰノード１１２とのＶ２Ｘ通信（例えば、Ｖ２Ｖ通信）の待ち時間およびパケット送達比率も測定する。
【００９３】
図１Ｄに示される例では、ＣＰノード１１２Ａ、１１２Ｂ、および１１２Ｃを有する３つの車両マイクロクラウド１１０Ａ、１１０Ｂ、および１１０Ｃはそれぞれ、車両マクロクラウド１０２において示されている。各車両マイクロクラウド１１０Ａ、１１０Ｂ、および１１０Ｃは複数のメンバ車両を含む。
【００９４】
データプレーン１５３のレベルでは、データコンテンツが異なる車両マイクロクラウド間で転送される。例えば、データＢは車両マイクロクラウド１１０Ｂと車両マイクロクラウド１１０Ｃとの間で通信され、それにより、車両マイクロクラウド１１０Ｂおよび車両マイクロクラウド１１０Ｃは両方とも、データＢのコピーを対応するＣＰノード１１２Ｂおよび１１２Ｃにそれぞれ記憶する。別の例では、データＤは、車両マイクロクラウド１１０Ｂを介して車両マイクロクラウド１１０Ａに転送され、それにより、車両マイクロクラウド１１０ＡはデータＤのコピーを対応するＣＰノード１１２Ａに記憶する。
【００９５】
制御プレーン１５１のレベルでは、ステータスデータが、ＣＰノード１１２Ａ、１１２
Ｂ、および１１２Ｃ等の異なるＣＰノード間で交換される。ＣＰノード１１２Ａは、データＡおよびデータＤを含む車両マイクロクラウド１１０Ａのコンテンツリストを含む。ＣＰノード１１２Ｂは、データＢおよびデータＥを含む車両マイクロクラウド１１０Ｂのコンテンツリストを含む。ＣＰノード１１２Ｃは、データＡ、データＢ、およびデータＣを含む車両マイクロクラウド１１０Ｃのコンテンツリストを含む。
【００９６】
図１Ｅを参照して、幾つかの実施形態によるデータ要求の一例のフロープロセス１６０を示す。要求者１４１は、データコンテンツの一部分を必要とする場合、データ要求を付近の車両マイクロクラウドに送信することができる。ここでは、付近の車両マイクロクラウドが、車両マイクロクラウド１１０Ｂであると仮定する。制御プレーン１５１のレベルにおいて、車両マイクロクラウド１１０ＢのＣＰノード１１２Ｂは、そのデータコンテンツの一部分が車両マイクロクラウド１１０Ｂで利用可能であるか否かを判断する。
【００９７】
データコンテンツの一部分が車両マイクロクラウド１１０Ｂにおいて利用可能である（例えば、このデータコンテンツの一部分が車両マイクロクラウド１１０Ｂのコンテンツリストに存在する）ことに応答して、ＣＰノード１１２Ｂは、このデータコンテンツの一部分を含むＶ２Ｘ無線メッセージを構築し、Ｖ２Ｘネットワークを介してＶ２Ｘ無線メッセージを要求者１４１に送信する。例えば、要求者１４１により要求されたデータコンテンツの一部分がデータＥであると仮定する。この場合、ＣＰノード１１２Ｂは、要求者１４１に直接応答して、Ｖ２Ｘネットワークを介してデータＥを含むＶ２Ｘ無線メッセージを要求者１４１に送信する。
【００９８】
データコンテンツの一部分が車両マイクロクラウド１１０Ｂで利用可能ではない（このデータコンテンツの一部分が車両マイクロクラウド１１０Ｂのコンテンツリストに存在しない）場合、ＣＰノード１１２Ｂは、リソースデータから、「１つ以上の他の車両マイクロクラウドの１つ以上のステータスを記述する１つ以上のステータスデータ構造」、「待ち時間データ」、および「パケットデータ」のうちの１つ以上を検索する。ＣＰノード１１２Ｂは、１つ以上のステータスデータ構造、待ち時間データ、およびパケットデータの１つ以上に基づいて、ターゲットコンテンツプロバイダを決定する。
【００９９】
幾つかの実施形態では、ターゲットコンテンツプロバイダは、このデータコンテンツの一部分を他の車両マイクロクラウド１１０の記憶装置に記憶する別の車両マイクロクラウド１１０のＣＰノード１１２である。幾つかの実施形態では、ターゲットコンテンツプロバイダは、（１）各候補車両マイクロクラウドへの距離（距離が短いほど良好）、（２）各候補車両マイクロクラウドへの平均Ｖ２Ｘ（例えば、Ｖ２Ｖ）通信待ち時間（待ち時間が短いほど良好）、（３）各候補車両マイクロクラウドへのまたは各候補車両マイクロクラウドへのパケット送達比率（パケット送達比率が高いほど良好）、および（４）それらの任意の組合せの１つ以上に基づいて決定することができる。この例では、候補車両マイクロクラウドは、ターゲットコンテンツプロバイダの候補であることができる別の車両マイクロクラウドである。
【０１００】
ここで、図１Ｅでは、車両マイクロクラウド１１０ＡのＣＰノード１１２Ａがターゲットコンテンツプロバイダとして決定される。ＣＰノード１１２Ａは、以下のうちの１つ以上を満たす。
（１）ＣＰノード１１２Ａは、要求されたデータコンテンツの一部分のコピーを記憶している。
（２）ＣＰノード１１２Ａは、車両マクロクラウド内の１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２と比較して、ＣＰノード１１２Ｂに対して最小距離を有する。
（３）ＣＰノード１１２Ａは、１つ以上の他のＣＰノード１１２と比較して、ＣＰノード
１１２Ｂに対して最小待ち時間を有する。
（４）ＣＰノード１１２Ａは、１つ以上の他のＣＰノード１１２と比較して、ＣＰノード１１２Ｂに対して最高パケット送達比率を有する。および
（５）これらの任意の組合せ
【０１０１】
制御プレーン１５１のレベルにおいて、ＣＰノード１１２Ｂは、ターゲットコンテンツプロバイダにデータ要求を転送する要求転送経路を決定し、要求転送経路に従って、データ要求をターゲットコンテンツプロバイダ（例えば、ＣＰノード１１２Ａ）に転送する。例えば、要求転送経路は、Ｖ２Ｘネットワーク上のホップ数が最小の経路、Ｖ２Ｘネットワーク上の待ち時間が最小の経路、Ｖ２Ｘネットワーク上の距離が最小の経路、またはパケット送達比率が最高の経路でありうる。要求転送経路の他の例も可能である。
【０１０２】
幾つかの実施形態では、制御プレーン１５１のレベルにおいて、ＣＰノード１１２Ｂはまた、ターゲットコンテンツプロバイダ（例えば、ＣＰノード１１２Ａ）が、データコンテンツの一部分を要求者１４１に転送するデータ転送経路も決定する。データ転送経路は、要求者１４１がデータコンテンツの一部分を受信したい車両マイクロクラウド１１０に、そのデータコンテンツの一部分を転送する経路であることができる。例えば、データ転送経路は、Ｖ２Ｘネットワーク上のホップ数が最小の経路、Ｖ２Ｘネットワーク上の待ち時間が最小の経路、Ｖ２Ｘネットワーク上の距離が最小の経路、またはパケット送達比率が最高の経路でありうる。データ転送経路は、要求転送経路と同一であってもよく、重複してもよく、または完全に異なってもよい。
【０１０３】
代替的には、制御プレーン１５１のレベルにおいて、データ転送経路はターゲットコンテンツプロバイダ自体（例えば、ＣＰノード１１２Ａ）により決定することができる。
【０１０４】
次に、制御プレーン１５１のレベルにおいて、ＣＰノード１１２Ｂはデータ要求をＣＰノード１１２Ａに転送する。データ要求の受信に応答して、ＣＰノード１１２Ａは、データコンテンツの一部分が車両マイクロクラウド１１０Ａにおいて利用可能であると判断し、そのデータコンテンツの一部分を含むＶ２Ｘ無線メッセージを生成する。データプレーン１５３のレベルにおいて、ＣＰノード１１２Ａは、Ｖ２Ｘ無線メッセージをデータ転送経路に沿って要求者１４１に転送する。図１Ｅを参照して、要求されたデータコンテンツの一部分がデータＤであると仮定し、ＣＰノード１１２ＡはデータＤをデータ転送経路１６２に沿って車両マイクロクラウド１１０Ｂを介して要求者１４１に転送する。
【０１０５】
（コンピュータシステム例）
これより図２を参照して、幾つかの実施形態による、プレーンクライアント１９９を含む一例のコンピュータシステム２００を示すブロック図を示す。幾つかの実施形態では、コンピュータシステム２００は、図３〜図４Ｃを参照して後述する方法３００および４００の１つ以上のステップを実行するようにプログラムされる専用コンピュータシステムを含みうる。
【０１０６】
簡潔にするためかつ図２の説明の便宜上、車両マクロクラウド１０２が複数の車両マイクロクラウド１１０を含み、図２のプレーンクライアント１９９が車両マクロクラウド１０２内の第１の車両マイクロクラウド１１０の第１のＣＰノード１１２にインストールされていると仮定する。
【０１０７】
幾つかの実施形態では、第１のＣＰノード１１２は少なくとも１台のコネクティッド車両１２１を含む。コンピュータシステム２００は、コネクティッド車両１２１の車載コンピュータである。幾つかの実施形態では、コンピュータシステム２００は、コネクティッド車両１２１の車載ユニットである。幾つかの実施形態では、コンピュータシステム２０
０は、電子制御ユニット（ＥＣＵ）、コネクティッド車両１２１のヘッドユニットまたは何らかの他のプロセッサベースの計算デバイスである。
【０１０８】
コンピュータシステム２００は、幾つかの例により、プレーンクライアント１９９、プロセッサ２２５、メモリ１２７、通信ユニット２４５、ＧＰＳユニット２３８、および記憶装置２４１のうちの１つ以上を含みうる。コンピュータシステム２００の構成要素は、バス２２０により通信可能に結合される。
【０１０９】
示される実施形態では、プロセッサ２２５は、信号線２３７を介してバス２２０に通信可能に結合される。通信ユニット２４５は、信号線２４６を介してバス２２０に通信可能に結合される。ＧＰＳユニット２３８は、信号線２３０を介してバス２２０に通信可能に結合される。記憶装置２４１は、信号線２４２を介してバス２２０に通信可能に結合される。メモリ１２７は、信号線２４４を介してバス２２０に通信可能に結合される。
【０１１０】
メモリ１２７については図１Ｃを参照して上述しており、したがって、同様の説明をここで繰り返さない。メモリ１２７は、図１Ａ〜図１Ｅを参照して上述した任意のデータを記憶しうる。メモリ１２７は、コンピュータシステム２００が機能を提供するために必要な任意のデータを記憶しうる。
【０１１１】
プロセッサ２２５は、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、または計算を実行し、電子表示信号をディスプレイ装置に提供する何らかの他のプロセッサアレイを含む。プロセッサ２２５はデータ信号を処理し、複雑命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実施するアーキテクチャを含めて様々な計算アーキテクチャを含みうる。コンピュータシステム２００は１つ以上のプロセッサ２２５を含みうる。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成も可能でありうる。
【０１１２】
通信ユニット２４５は、ネットワーク１０５または別の通信チャネルとデータをやりとりする。幾つかの実施形態では、通信ユニット２４５は、ＤＳＲＣ送受信機、ＤＳＲＣ受信機、およびコネクティッド車両１２１をＤＳＲＣ対応デバイスにするために必要な他のハードウェアまたはソフトウェアを含みうる。例えば、通信ユニット２４５は、ネットワークを介してＤＳＲＣメッセージをブロードキャストするように構成されたＤＳＲＣアンテナを含む。ＤＳＲＣアンテナはまた、ＢＳＭメッセージをユーザ構成可能な一定間隔（例えば、０．１秒毎、１．６Ｈｚから１０Ｈｚの周波数範囲に対応する時間間隔等）で送信することもできる。
【０１１３】
幾つかの実施形態では、通信ユニット２４５は、ネットワーク１０５または別の通信チャネルに直接、物理的に接続するためのポートを含む。例えば、通信ユニット２４５は、ＵＳＢ、ＳＤ、ＣＡＴ−５、またはネットワーク１０５との有線通信用の同様のポートを含む。幾つかの実施形態では、通信ユニット２４５は、ＩＥＥＥ８０２．１１；ＩＥＥＥ８０２．１６；ＢＬＵＥＴＯＯＴＨ（登録商標）；ＥＮ  ＩＳＯ１４９０６：２００４電子料金収受−アプリケーションインターフェースＥＮ１１２５３：２００４狭域通信−５．８ＧＨｚにおいてマイクロ波を使用する物理層（レビュー）；ＥＮ１２７９５：２００２狭域通信（ＤＳＲＣ）−ＤＳＲＣデータリンク層：媒体アクセスおよび論理リンク制御（レビュー）；ＥＮ１２８３４；２００２狭域通信−アプリケーション層（レビュー）；ＥＮ１３３７２：２００４狭域通信（ＤＳＲＣ）−ＲＴＴＴアプリケーションのＤＳＲＣプロファイル（レビュー）；２０１４年８月２８日付けで出願された「Ｆｕｌｌ−Ｄｕｐｌｅｘ  Ｃｏｏｒｄｉｎａｔｉｏｎ  Ｓｙｓｔｅｍ」と題する米国特許出願第１４／４７１，３８７号明細書に記載される通信方法；または別の適した無線通信方法を含めて１つ
以上の無線通信方法を使用してネットワーク１０５または他の通信チャネルとデータを交換するための無線送受信機を含む。
【０１１４】
幾つかの実施形態では、通信ユニット２４５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、または別の適したタイプの電子通信を含めてセルラ通信ネットワークを介してデータを送受信するセルラ通信送受信機を含む。幾つかの実施形態では、通信ユニット２４５は有線ポートおよび無線送受信機を含む。通信ユニット２４５は、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、およびＳＭＴＰ、ミリメートル波、ＤＳＲＣ等を含めた標準ネットワークプロトコルを使用してファイルまたはメディアオブジェクトを配信する、ネットワーク１０５への他の従来の接続も提供する。
【０１１５】
幾つかの実施形態では、ＧＰＳユニット２３８はコネクティッド車両１２１の従来のＧＰＳユニットである。例えば、ＧＰＳユニット２３８は、ＧＰＳ衛星と無線通信して、コネクティッド車両１２１の地理的ロケーションを記述するデータを検索するハードウェアを含みうる。例えば、ＧＰＳユニット２３８は、１つ以上のＧＰＳ衛星からＧＰＳデータを検索する。幾つかの実施形態では、ＧＰＳユニット２３８は、コネクティッド車両１２１の地理的ロケーションを車線レベル精度で記述するＧＰＳデータを提供するように動作可能な、コネクティッド車両１２１のＤＳＲＣ準拠ＧＰＳユニットである。
【０１１６】
記憶装置２４１は、本明細書に記載される機能を提供するためにデータを記憶する非一時的記憶媒体であることができる。記憶装置２４１は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、または何らかの他のメモリデバイスでありうる。幾つかの実施形態では、記憶装置２４１は、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、または情報をより永続的に記憶する何らかの他の大容量記憶装置を含めて不揮発性メモリまたは同様の永続的記憶装置および媒体も含む。
【０１１７】
図２に示される図示の実施形態では、プレーンクライアント１９９は、通信モジュール２０２、プレーン確立モジュール２０４、ステータスモジュール２０６、要求処理モジュール２０８、機械学習モジュール２１０、および動作モジュール２１２を含む。プレーンクライアント１９９のこれらの構成要素は、バス２２０を介して互いに通信可能に結合される。幾つかの実施形態では、プレーンクライアント１９９の構成要素は１つのデバイスに記憶することができる。幾つかの他の実施形態では、プレーンクライアント１９９の構成要素は、複数のデバイスに分散し、記憶することができる。例えば、プレーンクライアント１９９の構成要素の幾つかは、要求者１４１およびコネクティッド車両１２１にわたり分散しうる。
【０１１８】
通信モジュール２０２は、プレーンクライアント１９９とコンピュータシステム２００の他の構成要素との間の通信を処理するルーチンを含むソフトウェアであることができる。幾つかの実施形態では、通信モジュール２０２は、コンピュータシステム２００のメモリ１２７に記憶することができ、プロセッサ２２５によりアクセス可能かつ実行可能であることができる。通信モジュール２０２は、信号線２２２を介してプロセッサ２２５およびコンピュータシステム２００の他の構成要素と協働し通信するように構成しうる。
【０１１９】
通信モジュール２０２は、通信ユニット２４５を介して動作環境１３０または１５０の１つ以上の要素とデータを送受信する。例えば、通信モジュール２０２は、通信ユニット２４５を介して、ステータスデータ、１つ以上のデータ要求、およびデータコンテンツの
うちの１つ以上を受信または送信する。通信モジュール２０２は、通信ユニット２４５を介して図１Ａ〜図１Ｅを参照して上述した任意のデータまたはメッセージを送信または受信しうる。
【０１２０】
幾つかの実施形態では、通信モジュール２０２は、データをプレーンクライアント１９９の構成要素から受信し、データを記憶装置２４１およびメモリ１２７の１つ以上に記憶する。例えば、通信モジュール２０２は、通信ユニット２４５から、メモリ１２７を参照して上述したデータを受信し（ネットワーク１０５、ＤＳＲＣメッセージ、ＢＳＭ、ＤＳＲＣプローブ、全二重無線メッセージ等を介して）、このデータをメモリ１２７に（またはコンピュータシステム２００のバッファとして機能しうる記憶装置２４１に一時的に）記憶する。
【０１２１】
幾つかの実施形態では、通信モジュール２０２は、プレーンクライアント１９９の構成要素間の通信を処理しうる。例えば、通信モジュール２０２は、プレーン確立モジュール２０４、ステータスモジュール２０６、要求処理モジュール２０８、機械学習モジュール２１０、および動作モジュール２１２の間の通信を処理しうる。これらの任意のモジュールは、通信モジュール２０２に、（通信ユニット２４５を介して）コンピュータシステム２００または動作環境１３０若しくは１５０の他の要素と通信させうる。
【０１２２】
プレーン確立モジュール２０４は、車両マクロクラウド１０２内の車両マイクロクラウド１１０間で制御プレーンおよびデータプレーンの１つ以上を確立するルーチンを含むソフトウェアであることができる。幾つかの実施形態では、プレーン確立モジュール２０４は、コンピュータシステム２００のメモリ１２７に記憶することができ、プロセッサ２２５によりアクセス可能かつ実行可能であることができる。プレーン確立モジュール２０４は、信号線２２４を介してプロセッサ２２５およびコンピュータシステム２００の他の構成要素と協働し通信するように構成しうる。
【０１２３】
幾つかの実施形態では、プレーンクライアント１９９のプレーン確立モジュール２０４（第１の車両マイクロクラウド１１０の第１のＣＰノード１１２にインストールされる）は、１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２と協働して、車両マクロクラウド１０２の制御プレーンおよびデータプレーンを確立するように動作可能である。例えば、制御プレーンは、分散制御プレーンであり、少なくとも、第１の車両マイクロクラウド１１０の第１のＣＰノード１１２および１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２を含む。制御プレーンおよびデータプレーンについては図１Ｄおよび図１Ｅを参照して上述しており、同様の説明をここで繰り返さない。
【０１２４】
ステータスモジュール２０６は、プロセッサ２２５により実行された場合に、プロセッサ２２５に第１の車両マイクロクラウド１１０の第１のＣＰノード１１２のステータスデータおよびリソースデータを生成させるルーチンを含むソフトウェアであることができる。幾つかの実施形態では、ステータスモジュール２０６は、コンピュータシステム２００のメモリ１２７に記憶される命令セットであることができ、プロセッサ２２５によりアクセス可能かつ実行可能であることができる。ステータスモジュール２０６は、信号線２４９を介してプロセッサ２２５およびコンピュータシステム２００の他の構成要素と協働し通信するように構成しうる。
【０１２５】
幾つかの実施形態では、ステータスモジュール２０６は、第１の車両マイクロクラウド１１０のステータスを記述する第１のステータスデータを生成するように動作可能である。ステータスモジュール２０６は、制御プレーンを適用して、車両マクロクラウド１０２において、第１のステータスデータを１つ以上の他の車両マイクロクラウド１１０の１つ
以上の他のＣＰノード１１２に送信し、１つ以上の他のＣＰノード１１２から１つ以上の他の車両マイクロクラウド１１０の１つ以上のステータスを記述する１つ以上の組のステータスデータをそれぞれ受信することを含むステータスデータ交換を実行する。
【０１２６】
例えば、第１のステータスデータは、
・第１の車両マイクロクラウド１１０の地理的ロケーション
・第１の車両マイクロクラウド１１０により記憶されたデータファイルのリストを記述するコンテンツリストおよび各データファイルにより記述される情報
・第１の車両マイクロクラウド１１０において利用可能な１つ以上の計算リソース
・第１の車両マイクロクラウド１１０が満たす必要があるデータ送達への１つ以上の要求・第１の車両マイクロクラウド１１０が満たす必要があるデータ複製への１つ以上の要求、および
・第１の車両マイクロクラウド１１０が満たす必要があるデータ回復への１つ以上の要求
のうちの１つ以上を記述するデータを含む。
【０１２７】
ステータスデータの１つ以上の他の組の各組は、第１のステータスデータと同様のデジタルデータを含みえ、同様の説明をここで繰り返さない。
【０１２８】
ステータスモジュール２０６は、１つ以上の他のＣＰノード１１２と協働して、定期的に車両マクロクラウド１０２の１つ以上の他のＣＰノード１１２とステータスデータを交換する。制御プレーンは、ステータスデータのこの交換に使用される。基本安全メッセージ（ＢＳＭメッセージ）等のＤＳＲＣメッセージを使用して、ステータスデータを様々なＣＰノード１１２間に分散しうる。既存の解決策では、車両マイクロクラウド間で同様のステータスデータを共有することはなく、まして、例えばデータプレーンから独立した制御プレーンを使用して、車両マイクロクラウド間でそのようなステータスデータを共有することは殆どない。
【０１２９】
ステータスデータ交換プロセスを実行している間、ステータスモジュール２０６は、（１）第１のＣＰノード１１２と１つ以上の他のＣＰノード１１２との間のデータ送達の１つ以上の待ち時間値を記述する待ち時間データ、および（２）第１のＣＰノード１１２と１つ以上の他のＣＰノード１１２との間の１つ以上のパケット送達比率を記述するパケットデータを含むネットワークデータを測定する。
【０１３０】
次に、ステータスデータ交換プロセスを実行した後、ステータスモジュール２０６は、１つ以上の他のＣＰノード１１２からそれぞれ受信した１つ以上の組のステータスデータを含む（かつ編成する）１つ以上のステータスデータ構造を構築する。
【０１３１】
ステータスモジュール２０６は、第１の車両マイクロクラウド１１０の第１のステータスデータ、１つ以上の他の車両マイクロクラウド１１０に関連する１つ以上のステータスデータ構造、並びに待ち時間データおよびパケットデータを含むネットワークデータの１つ以上を含む第１の車両マイクロクラウド１１０のリソースデータを生成する。
【０１３２】
例えば、Ｖ２Ｘ（例えば、Ｖ２Ｖ）通信がステータスデータ交換プロセスに使用される場合、ステータスモジュール２０６は、ステータスデータ交換プロセスを実行する間、（ａ）待ち時間（すなわち、待ち時間データ）および（ｂ）パケット送達比率（すなわち、「パケットデータ」）を測定する。次に、第１のＣＰノード１１２は潜在的に、集合的に「リソースデータ」と呼ばれる以下のデジタルデータを含む。
（１）それ自体の第１のステータスデータ
（２）１つ以上の他のＣＰノード１１２のステータスデータを含む１つ以上のステータスデータ構造
（３）ステータスデータを交換する間に測定された待ち時間データ、および
（４）ステータスデータを交換する間に測定されたパケットデータ
【０１３３】
要求処理モジュール２０８は、プロセッサ２２５により実行された場合に、プロセッサ２２５にデータ要求を処理させ、データ要求に関連する処理結果を記述する結果データを生成させるルーチンを含むソフトウェアであることができる。幾つかの実施形態では、要求処理モジュール２０８は、コンピュータシステム２００のメモリ１２７に記憶される命令セットであることができ、プロセッサ２２５によりアクセス可能かつ実行可能であることができる。要求処理モジュール２０８は、信号線２２８を介してプロセッサ２２５およびコンピュータシステム２００の他の構成要素と協働し通信するように構成しうる。
【０１３４】
幾つかの実施形態では、要求処理モジュール２０８は、Ｖ２Ｘネットワークを介して要求者からデータ要求を受信し、制御プレーンを使用してデータ要求を分析して、データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダを選択するように動作可能である。例えば、要求処理モジュール２０８は、第１の車両マイクロクラウド１１０の第１のステータスデータからコンテンツリストを検索し、コンテンツリストに基づいて、データ要求により要求されたデータコンテンツが第１の車両マイクロクラウド１１０により記憶されているか否かを判断する。
【０１３５】
データコンテンツが第１の車両マイクロクラウド１１０により記憶されている場合、第１のＣＰノード１１２の要求処理モジュール２０８は、ペイロードとして要求されたデータコンテンツを含むＶ２Ｘ無線メッセージでデータ要求に応える。要求処理モジュール２０８は、通信ユニット２４５を介してＶ２Ｘ無線メッセージを要求者に送信する。この場合、第１の車両マイクロクラウド１１０の第１のＣＰノード１１２はターゲットコンテンツプロバイダである。
【０１３６】
データ要求により要求されたデータコンテンツが第１の車両マイクロクラウド１１０により記憶されていないことに応答して、要求処理モジュール２０８は、第１の車両マイクロクラウド１１０のリソースデータを分析して、要求されたデータコンテンツを提供するターゲットコンテンツプロバイダを決定する。幾つかの実施形態では、要求処理モジュール２０８はまた、第１の車両マイクロクラウド１１０のリソースデータを分析して、（１）データ要求をターゲットコンテンツプロバイダに転送する要求転送経路および（２）データコンテンツをターゲットコンテンツプロバイダから要求者に転送するデータ転送経路の１つ以上も決定する。ターゲットコンテンツプロバイダ、要求転送経路、およびデータ転送経路の決定については図１Ｄおよび図１Ｅを参照して上述しており、同様の説明をここで繰り返さない。
【０１３７】
次に、要求処理モジュール２０８は、データプレーンを使用してデータ要求を処理する。例えば、要求処理モジュール２０８は、制御プレーンによる決定に基づいてデータプレーンを使用してデータ要求を処理する。特に、要求処理モジュール２０８は、制御プレーンを使用して、Ｖ２Ｘネットワークを介して、制御メッセージとして要求者から受信したデータ要求をターゲットコンテンツプロバイダに転送する。例えば、要求処理モジュール２０８は、制御プレーンのレベルにおいて決定された要求転送経路に従ってデータ要求をターゲットコンテンツプロバイダに転送する。データ要求を受信すると、ターゲットコンテンツプロバイダは、データプレーンを使用してデータコンテンツを第１のＣＰノード１１２に提供する。したがって、第１のＣＰノード１１２の要求処理モジュール２０８は、データプレーンを使用して、データコンテンツをターゲットコンテンツプロバイダから受信し、Ｖ２Ｘネットワークを介してデータコンテンツを要求者に転送する。例えば、ターゲットコンテンツプロバイダは、データ転送経路に従ってデータコンテンツを要求者に提供し、ここで、データ転送経路は、要求者がデータコンテンツを検索することができる中
継ノードとして第１のＣＰノード１１２を含む。
【０１３８】
要求処理モジュール２０８は、データ要求の処理結果を記述する結果データを生成するように動作可能である。例えば、処理結果は、データ要求により要求されたデータコンテンツが第１の車両マイクロクラウド１１０により記憶されており、したがって、他の車両マイクロクラウド１１０からデータコンテンツを検索する必要がないことを示す。別の例では、処理結果は、データ要求により要求されたデータコンテンツが第１の車両マイクロクラウド１１０により記憶されておらず、したがって、データコンテンツが別の車両マイクロクラウド１１０から検索されることを示す。幾つかの実施形態では、処理結果は、データ要求を完了する応答時間、要求転送経路、データ転送経路、要求転送経路に沿ったホップ数、およびデータ転送経路に沿ったホップ数等のうちの１つ以上を含むこともできる。
【０１３９】
機械学習モジュール２１０は、プロセッサ２２５により実行された場合に、プロセッサ２２５にフィードバックデータを生成させ、フィードバックデータを分析させ、フィードバックデータの分析結果に基づいて第１のＣＰノード１１２の動作を変更させるルーチンを含むソフトウェアであることができる。幾つかの実施形態では、機械学習モジュール２１０は、コンピュータシステム２００のメモリ１２７に記憶された命令セットであることができ、プロセッサ２２５によりアクセス可能かつ実行可能であることができる。機械学習モジュール２１０は、信号線２５０を介してプロセッサ２２５およびコンピュータシステム２００の他の構成要素と協働し通信するように構成しうる。
【０１４０】
幾つかの実施形態では、機械学習モジュール２１０は、（１）データ要求の処理結果を記述する結果データ、（２）制御プレーンに関連する制御プレーンデータ、または（３）それらの組合せを含むフィードバックデータを生成する。幾つかの実施形態では、制御プレーンデータは、制御プレーンに関連する任意のデジタルデータを含むことができ、フィードバックデータに組み込まれる。例えば、制御プレーンデータは、１つ以上の車両マイクロクラウドの１つ以上のコンテンツリストを含む。別の例では、制御プレーンデータは、ステータスデータが制御プレーンを介して交換されるステータスデータ交換プロセスを記述するデータ（例えば、車両マクロクラウド１０２の特定の部分または車両マクロクラウド１０２全体にわたりステータスデータ交換プロセスを完了するのに必要な時間）を含む。フィードバックデータは、後述するように、機械学習モジュール２１０のトレーニングに使用することができる。
【０１４１】
幾つかの実施形態では、異なる車両マイクロクラウド１１０のＣＰノード１１２は、制御プレーンを介して、互いに各フィードバックデータを交換することができ、それにより、車両マクロクラウド１０２におけるデータ管理の効率を更に改善することができる。この場合、個々の各ＣＰノード１１２は、それ自体のフィードバックデータのみならず、他のＣＰノード１１２から受信する他のフィードバックデータも使用して、各機械学習モジュール２１０をトレーニングすることができ、それにより、種々のフィードバックデータをトレーニングプロセスで使用することができるため、トレーニング効率および機械学習モジュール２１０の性能を改善しうる。
【０１４２】
幾つかの実施形態では、機械学習モジュール２１０は、第１のＣＰノード１１２により処理されるデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、フィードバックデータに基づいて第１のＣＰノード１１２の動作を変更するように動作可能である。より多くのフィードバックデータが生成されるにつれて、データ送達の待ち時間、データパケット損失、またはそれらの組合せの低減を時間の経過に伴って改善することができる。
【０１４３】
幾つかの実施形態では、機械学習モジュール２１０は、少なくとも、フィードバックデータを分析して、１つ以上のタイプの人気のあるデータコンテンツを決定し、通信ユニット２４５が第１のＣＰノード１１２において１つ以上のタイプの人気のあるデータコンテンツをプリフェッチして記憶するように第１のＣＰノード１１２の通信ユニット２４５の動作を変更することにより、フィードバックに基づいて第１のＣＰノード１１２の動作を変更する。例えば、機械学習モジュール２１０は、特定のデータコンテンツが要求される頻度をモニタする（例えば、機械学習モジュール２１０は、特定のデータコンテンツへのデータ要求回数をカウントし、データ要求回数に基づいて特定のデータコンテンツの人気を決定する）。このようにして、機械学習モジュール２１０は、異なるデータコンテンツの人気をモニタし、最も人気のあるデータコンテンツ（例えば、最高要求頻度を有するデータコンテンツ）をプリフェッチする。この場合、任意の１つ以上のタイプの人気のあるデータコンテンツへのデータ要求の受信に応答して、第１のＣＰノード１１２は、データ要求を他の車両マイクロクラウドに転送せずに、データ要求に直接応答することができ、それにより、データコンテンツを検索するために他の車両マイクロクラウドにデータ要求を転送する状況と比較して、データ要求に関するデータ送達の待ち時間およびデータパケット損失の低減を改善することができる。
【０１４４】
幾つかの実施形態では、機械学習モジュール２１０は、少なくとも、通信ユニット２４５がフィードバックデータに基づいて第１のＣＰノード１１２にデータコンテンツをキャッシュするように第１のＣＰノード１１２の通信ユニット２４５の動作を変更することにより、フィードバックデータに基づいて第１のＣＰノード１１２の動作を変更する。例えば、データコンテンツの一部分へのデータ要求回数が閾値を超えることを示すフィードバックデータに応答して、機械学習モジュール２１０は、通信ユニット２４５に、そのデータコンテンツの一部分を第１のＣＰノード１１２にキャッシュするように指示する。この場合、そのデータコンテンツの一部分への追加のデータ要求の受信に応答して、第１のＣＰノード１１２は、データ要求を他の車両マイクロクラウドに転送することなく、データ要求に直接応答することができ、したがって、データコンテンツの一部分を検索するためにデータ要求を他の車両マイクロクラウドに転送する状況と比較して、データ要求に関するデータ送達の待ち時間およびデータパケット損失の低減を改善することができる。
【０１４５】
幾つかの例では、通信ユニット２４５の動作の変更は、動作するアクティブＶ２Ｘチャネル数の変更（例えば、動作するＶ２Ｘ送受信機の数またはアクティブＶ２Ｘ無線装置の数の変更）、アクティブＶ２Ｘチャネルの動作周波数の変更、Ｖ２Ｘアンテナに適用されるビーム形成方法の変更、および通信ユニット２４５の帯域幅割り振りの変更等の１つ以上を含む。例えば、他の車両マイクロクラウド１１０からプリフェッチすべき人気のあるデータコンテンツの量が閾値を超えることに応答して、機械学習モジュール２１０は、以下の動作の１つ以上を実行することができる。
・より多くのＶ２Ｘチャネルを人気のあるデータコンテンツの同時プリフェッチに使用することができるように、アクティブＶ２Ｘチャネル数を増大させること
・より高い信号対雑音比で通信ユニット２４５において人気のあるデータコンテンツを受信することができるようにＶ２Ｘアンテナに適用されるビーム形成方法を変更すること、および
・人気のあるデータコンテンツをより高速で検索することができるように通信ユニット２４５により多くの帯域幅を割り振ること等
【０１４６】
幾つかの実施形態では、機械学習モジュール２１０は、１つ以上の機械学習技法（例えば、ディープラーニング技法、ニューラルネットワーク等）を利用して、フィードバックデータを分析する。
【０１４７】
幾つかの実施形態では、機械学習モジュール２１０は学習アルゴリズムを利用して、学
習データベースがフィードバックデータのますます多くのインスタンス（本明細書では「ますます多くのフィードバックデータ」）を記憶するため、Ｖ２Ｘネットワークを介したデータ送達の待ち時間およびパケット損失比率を低減することができるようにフィードバックデータを学習データベースに構築する。例えば、機械学習モジュール２１０は、データ要求、データ要求を完了する応答時間、要求されたデータコンテンツ、およびフィードバックデータ等を含むように学習データベースの項目を構築することができる。ますます多くのフィードバックデータが受信されるにつれて、学習データベースのますます多くの項目を構築することができる。その場合、学習データベース内の項目は、フィードバックデータの分析に使用される１つ以上の機械学習技法をトレーニングするためのトレーニングデータとして使用することができる。
【０１４８】
幾つかの実施形態では、機械学習モジュール２１０は学習アルゴリズムを利用し、フィードバックデータは、学習アルゴリズムへの入力として提供される。時間の経過に伴ってますます多くのフィードバックデータが受信されるにつれて、学習アルゴリズムはフィードバックを再帰的に分析し、受信したフィードバックデータに基づいて、時間の経過に伴って第１のＣＰノード１１２の動作を改善する。例えば、第１のＣＰノード１１２の機械学習モジュール２１０は、フィードバックデータの学習アルゴリズム分析に基づいて、どのデータコンテンツをプリフェッチする必要があるのかを予測し、予測されたデータコンテンツをプリフェッチさせるように通信ユニット２４５（例えば、通信ユニット２４５のＶ２Ｘアンテナ）の動作を変更する。この場合、第１のＣＰノード１１２および通信ユニット２４５（例えば、Ｖ２Ｘアンテナ）の動作は改善される。
【０１４９】
幾つかの実施形態では、フィードバックデータに基づいて、機械学習モジュール２１０は、データプリフェッチおよびデータキャッシュの実行にリソース（例えば、計算力、メモリ空間、帯域幅等）を割り振ることができるように、第１のＣＰノード１１２のリソース割り振りスキーム（例えば、計算力割り振りスキーム、メモリ割り振りスキーム、または帯域幅割り振りスキーム等）を変更する。例えば、人気のないデータコンテンツを記憶しているメモリ空間を解放することができ、新しいメモリ空間を人気のあるデータコンテンツの記憶に割り振ることができる。ネットワーク帯域幅割り振りに関しては、何らかのデータコンテンツをプリフェッチする命令に応答して、機械学習モジュール２１０はＶ２Ｘネットワークの負荷をモニタし、帯域幅がＶ２Ｘネットワークにおいて利用可能である場合、データコンテンツをプリフェッチするように通信ユニット２４５の動作を変更する。Ｖ２Ｘネットワークの負荷が閾値を超える場合、機械学習モジュール２１０は、データプリフェッチに割り振られる帯域幅を低減するように通信ユニット２４５の動作を変更する。
【０１５０】
動作モジュール２１２は、プロセッサ２２５により実行された場合に、プロセッサ２２５に第１のＣＰノード１１２に対してデータ動作を実行させるルーチンを含むソフトウェアであることができる。幾つかの実施形態では、動作モジュール２１２は、コンピュータシステム２００のメモリ１２７に記憶される命令セットであることができ、プロセッサ２２５によりアクセス可能かつ実行可能であることができる。動作モジュール２１２は、信号線２５１を介してプロセッサ２２５およびコンピュータシステム２００の他の構成要素と協働し通信するように構成しうる。
【０１５１】
幾つかの実施形態では、動作モジュール２１２は、第１の車両マイクロクラウド１１０におけるデータ複製トリガーイベントをモニタするように動作可能である。データ複製トリガーイベントの発生に応答して、動作モジュール２１２は、車両マクロクラウド１０２内の別の車両マイクロクラウド１１０に第１の車両マイクロクラウド１１０のデータを複製する。例えば、データ複製トリガーイベントは、第１の車両マイクロクラウド１１０内の車両数が第１の閾値を下回ることおよび第１の車両マイクロクラウド１１０において利
用可能なデータ記憶リソース量が第２の閾値を下回ることの１つ以上を含む。
【０１５２】
例えば、第１の車両マイクロクラウド１１０において利用可能なデータ記憶リソース量が、短い時間期間（例えば、次の３０分、１時間等）で予め定義された閾値未満に下がると予期され、データコンテンツの一部分が限られた数の車両マイクロクラウドによってのみキャッシュされている場合、第１のＣＰノード１１２の動作モジュール２１２は、データコンテンツの一部分をバックアップとして１つ以上の他の車両マイクロクラウド１１０に複製するように指示することができる。動作モジュール２１２は、制御プレーンを介して交換されたメタデータに基づいて、第１の車両マイクロクラウド１１０がデータコンテンツの一部分をハンドオーバする１つ以上の他の車両マイクロクラウド１１０を選択する。例えば、１つ以上の他の車両マイクロクラウド１１０は、各候補車両マイクロクラウド１１０において利用可能なデータ記憶リソースおよび第１の車両マイクロクラウド１１０から各候補車両マイクロクラウド１１０までの距離（例えば、第１のＣＰノード１１２と各候補車両マイクロクラウド１１０のＣＰノード１１２との間の距離）の１つ以上に基づいて決定される。例えば、最高量のデータ記憶リソースが利用可能であるか、または最短距離を有する候補車両マイクロクラウド１１０を、データ複製動作の実行に選択することができる。
【０１５３】
幾つかの実施形態では、動作モジュール２１２は、１組のデータコンテンツが第１の車両マイクロクラウド１１０において失われ、その１組のデータコンテンツを車両マクロクラウド１０２内の別の車両マイクロクラウド１１０から取得して、第１の車両マイクロクラウド１１０においてその１組のデータコンテンツを回復すると決定する。例えば、データコンテンツの一部分が第１の車両マイクロクラウド１１０から（例えば、車両の動き、パケット損失等に起因して）失われた場合、第１のＣＰノード１１２の動作モジュール２１２は、リソースデータ中の１つ以上のステータスデータ構造を参照し、１つ以上のステータスデータ構造に基づいて、コンテンツリストがそのデータコンテンツの一部分を含む別のＣＰノード１１２をサーチする。動作モジュール２１２は、Ｖ２Ｘネットワークを介して、失われたデータコンテンツの一部分を提供するようにその別のＣＰノード１１２に要求する。例えば、要求処理モジュール２０８によるデータ要求を処理する動作の実行と同様に、第１のＣＰノード１１２の動作モジュール２１２は、１つ以上のステータスデータ構造および制御プレーンにおいて収集されたネットワーク統計データに基づいて、データコンテンツの一部分を提供するターゲットコンテンツプロバイダを識別する。動作モジュール２１２は、データコンテンツの一部分を提供するようにターゲットコンテンツプロバイダに要求する。
【０１５４】
（プロセス例）
これより図３を参照して、幾つかの実施形態による、車両マクロクラウド１０２内の１組の車両マイクロクラウド１１０間の無線通信を改善する一例の方法３００のフローチャートを示す。方法３００のステップは任意の順序で実行可能であり、必ずしも図３に示される順序である必要はない。ここで、方法３００が第１の車両マイクロクラウド１１０の第１のＣＰノード１１２により実行されると仮定する。
【０１５５】
ステップ３０１において、通信モジュール２０２は、Ｖ２Ｘネットワークを介して要求者からデータ要求を受信する。
【０１５６】
ステップ３０３において、要求処理モジュール２０８は、制御プレーンを使用してデータ要求を分析して、データ要求によって要求されたデータコンテンツを提供するターゲットコンテンツプロバイダを選択する。ターゲットコンテンツプロバイダは、車両マクロクラウド１０２の第２の車両マイクロクラウド１１０内の第２のＣＰノード１１２である。
【０１５７】
ステップ３０５において、要求処理モジュール２０８は、データプレーンを使用してデータ要求を処理する。
【０１５８】
ステップ３０６において、機械学習モジュール２１０は、データ要求の処理結果を記述する結果データおよび制御プレーンに関連する制御プレーンデータの１つ以上を含むフィードバックデータを生成する。
【０１５９】
ステップ３０７において、機械学習モジュール２１０は、第１のＣＰノード１１２により処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、フィードバックデータに基づいて第１のＣＰノード１１２の動作を変更する。より多くのフィードバックデータが生成されるにつれて、低減は時間の経過に伴って改善する。
【０１６０】
図４Ａ〜図４Ｃは、幾つかの実施形態による、車両マクロクラウド１０２内の１組の車両マイクロクラウド１１０間の無線通信を改善する別の方法４００を示す。方法４００のステップは任意の順序で実行可能であり、必ずしも図４Ａ〜図４Ｃに示される順序である必要はない。ここで、方法４００が第１の車両マイクロクラウド１１０の第１のＣＰノード１１２により実行されると仮定する。
【０１６１】
図４Ａを参照すると、ステップ４０１において、プレーン確立モジュール２０４は、他の車両マイクロクラウド１１０の他のＣＰノード１１２と協働して、車両マクロクラウド１０２の制御プレーンおよびデータプレーンを確立する。制御プレーンは分散制御プレーンであり、第１の車両マイクロクラウド１１０の第１のＣＰノード１１２および１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２を含む。
【０１６２】
ステップ４０３において、ステータスモジュール２０６は、第１の車両マイクロクラウド１１０のステータスを記述する第１のステータスデータを生成する。
【０１６３】
ステップ４０５において、ステータスモジュール２０６は、制御プレーンを適用して、車両マクロクラウド１０２内の１つ以上の他の車両マイクロクラウド１１０の１つ以上の他のＣＰノード１１２とのステータスデータ交換を実行する。
【０１６４】
ステップ４０７において、ステータスモジュール２０６は、１つ以上の他の車両マイクロクラウド１１０のステータスデータを含む１つ以上のステータスデータ構造を構築する。
【０１６５】
ステップ４０９において、ステータスモジュール２０６は、車両マクロクラウド１０２において実行されるステータスデータ交換に基づいて、データ送達の待ち時間を記述する待ち時間データおよびパケット送達比率を記述するパケットデータを含むネットワークデータを測定する。
【０１６６】
ステップ４１１において、要求処理モジュール２０８は、Ｖ２Ｘネットワークを介して要求者からデータ要求を受信する。
【０１６７】
ステップ４１３において、要求処理モジュール２０８は、第１の車両マイクロクラウド１１０のステータスを記述する第１のステータスデータからコンテンツリストを検索する。
【０１６８】
図４Ｂを参照すると、ステップ４１５において、要求処理モジュール２０８は、データ要求により要求されたデータコンテンツが第１の車両マイクロクラウド１１０により記憶
されているか否かを判断する。データ要求により要求されたデータコンテンツが第１の車両マイクロクラウド１１０により記憶されていることに応答して、方法４００はステップ４１７に移る。その他の場合、方法４００はステップ４１９に移る。
【０１６９】
ステップ４１７において、要求処理モジュール２０８は、ペイロードとしてデータコンテンツを含むＶ２Ｘ無線メッセージでデータ要求に応答する。次に、方法は図４Ｃのステップ４３５に続く。
【０１７０】
ステップ４１９において、要求処理モジュール２０８は、第１の車両マイクロクラウド１１０のリソースデータを分析して、データコンテンツを提供するターゲットコンテンツプロバイダを決定する。
【０１７１】
ステップ４２１において、要求処理モジュール２０８は、制御プレーンを使用して、Ｖ２Ｘネットワークを介して要求者から受信したデータ要求をターゲットコンテンツプロバイダに転送する。
【０１７２】
ステップ４２３において、要求処理モジュール２０８は、データプレーンを使用して、Ｖ２Ｘネットワークを介してターゲットコンテンツプロバイダからデータコンテンツを受信する。
【０１７３】
ステップ４２５において、要求処理モジュール２０８は、データプレーンを使用して、Ｖ２Ｘネットワークを介してターゲットコンテンツプロバイダから受信したデータコンテンツを要求者に転送する。
【０１７４】
ステップ４２７において、機械学習モジュール２１０は、データ要求の処理結果を記述する結果データおよび制御プレーンに関連する制御プレーンデータの１つ以上を含むフィードバックデータを生成する。
【０１７５】
図４Ｃを参照すると、ステップ４２９において、機械学習モジュール２１０は、フィードバックデータに基づいて、通信ユニット２４５がデータコンテンツを第１のＣＰノード１１２にキャッシュするように、第１のＣＰノード１１２の通信ユニット２４５の動作を変更する。したがって、データコンテンツを要求するデータ要求に関して再び、データ送達の待ち時間およびデータパケット損失は低減する。
【０１７６】
ステップ４３１において、機械学習モジュール２１０は、フィードバックデータを分析して、１つ以上のタイプの人気のあるデータコンテンツを決定する。
【０１７７】
ステップ４３３において、機械学習モジュール２１０は、通信ユニット２４５が１つ以上のタイプの人気のあるデータコンテンツをプリフェッチし、第１のＣＰノード１１２に記憶するように、第１のＣＰノード１１２の通信ユニット２４５の動作を変更する。したがって、１つ以上のタイプの人気のあるデータコンテンツを要求するデータ要求に関するデータ送達の待ち時間およびデータパケット損失は低減する。
【０１７８】
ステップ４３５において、動作モジュール２１２は、第１の車両マイクロクラウド１１０においてデータ複製トリガーイベントをモニタする。
【０１７９】
ステップ４３７において、データ複製トリガーイベントの発生に応答して、動作モジュール２１２は、第１の車両マイクロクラウド１１０のデータを車両マクロクラウド１０２内の別の車両マイクロクラウド１１０に複製する。
【０１８０】
ステップ４３９において、動作モジュール２１２は、１組のデータコンテンツが第１の車両マイクロクラウド１１０において失われたと判断する。
【０１８１】
ステップ４４１において、動作モジュール２１２は、車両マクロクラウド１０２内の別の車両マイクロクラウド１１０から１組のデータコンテンツを取得して、第１の車両マイクロクラウド１１０において１組のデータコンテンツを回復させる。
【０１８２】
図５は、幾つかの実施形態による、分離された車両マクロクラウド１０２を橋渡しする一例の構造５００を示す図表現である。例えば、Ｖ２Ｖネットワークは通常、車両密度が低いエリアにおいて互いから分離され、その結果、複数の分離された車両マクロクラウド１０２になる。この場合、車両マクロクラウド１０２は、Ｖ２Ｖネットワークを介して別の車両マクロクラウド１０２に到達することができない。図５を参照すると、車両マクロクラウドＡは、Ｖ２Ｖネットワークを介して車両マクロクラウドＢにより到達できない。
【０１８３】
幾つかの実施形態では、バックボーンネットワークにおけるクラウドサーバ５０１、エッジサーバ５０３（５０３Ａ、５０３Ｂ）、またはそれらの組合せはそれぞれ、ＣＰノード１１２をホストして、分離された車両マクロクラウド１０２間のこのギャップを橋渡しする。確立されたデータプレーンは、車両マクロクラウド１０２にわたるデータ転送のためにＶ２Ｎ通信を使用することもできる。
【０１８４】
図６Ａおよび図６Ｂは、幾つかの実施形態による一例のＤＳＲＣデータ６００を示す図表現である。ＤＳＲＣメッセージは、分散制御プレーンを使用してＣＰノード１１２間にステータスデータを分散させるのに使用しうる。ＤＳＲＣデータ６００の例を図６Ａおよび図６Ｂに示す。ＤＳＲＣメッセージは、幾つかの実施形態により、ステータスデータを分散するのに使用しうるＶ２Ｘ無線通信の単なる一例である。ステータスデータの分散に任意の他の無線通信方法を使用してもよい。したがって、任意の無線媒体を介して機能する任意のルーティングプロトコルが、所与の車両マイクロクラウド１１０から２ホップ以上離れた他の車両マイクロクラウド１１０へのステータスデータの分散に使用することができる。
【０１８５】
車両にはますますＤＳＲＣが装備されるようになっている。ＤＳＲＣ対応車両は、０．１０秒毎という調製可能なレートでＤＳＲＣメッセージをブロードキャストしうる。例えば、ＤＳＲＣ対応車両は基本安全メッセージ（ＢＳＭメッセージ）を送信しうる。これらのＢＳＭメッセージはＤＳＲＣデータを含む。ＢＳＭメッセージは、車両マクロクラウド１０２のＣＰノード１１２間でステータスデータを送信するのに使用しうる。図６Ａは、各ＢＳＭメッセージに含まれるＤＳＲＣデータの幾つかを示すブロック図を示す。
【０１８６】
以下は図６Ｂの内容の概要である。ＤＳＲＣメッセージのパート１は、車両の位置、進行方向、速度、加速度、ハンドル角、および車両サイズを含むコアデータ要素を含む。ＤＳＲＣメッセージは、毎秒約１０回の調製可能なレートで送信される。
【０１８７】
ＤＳＲＣメッセージのパート２は、任意選択的な要素の広範囲リストから引き出された可変組のデータ要素を含む。それらの幾つかは、イベントトリガー、例えば、ＡＢＳ作動に基づいて選択される。これらはパート１に追加され、ＤＳＲＣメッセージの一部として送信されるが、帯域幅を節約するために、多くは低頻度で送信される。ＤＳＲＣメッセージは、現在のスナップショットのみ（それ自体が数秒の価値の過去の履歴データに制限される経路データを除く）を含む。
【０１８８】
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実装形態はこれらの具体的な詳細無しでも実施できることは当業者にとっ
て明らかであろう。いくつかの実施形態では、発明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、本実施形態は、ユーザインタフェースおよび特定のハードウェアへの参照とともに説明される。しかし、本実施形態は、データおよびコマンドを受信する任意のタイプの計算装置、および、サービスを提供する任意の周辺機器について適用できる。
【０１８９】
本明細書における「一実施形態」または「ある実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が、少なくとも一つの実施形態に含まれることを意味する。「一実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【０１９０】
以上の詳細な説明の一部は、コンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズムの説明と表現は、データ処理分野の当業者が自己の成果の内容を他の当業者に最も効果的に伝えるために使用する手段である。なお、本明細書における（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【０１９１】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」といった用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【０１９２】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気または光学式カード、ＵＳＢキーを含む不揮発性フラッシュメモリ、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【０１９３】
実装形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。いくつかの好ましい実装形態では、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアによって実装される。
【０１９４】
さらに、ある実装形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。明細書の説明において、コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラ
ムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１９５】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【０１９６】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１９７】
データ処理システムが、介在するプライベートネットワークおよび／またはパブリックネットワークを介して、他のデータ処理システム、ストレージデバイス、リモートプリンタなどに結合されるようになることを可能にするために、ネットワークアダプタもシステムに結合されうる。モデム、ケーブルモデル、イーサネットカードは、ネットワークアダプタのほんの数例に過ぎない。
【０１９８】
最後に、本明細書において提示される構造、アルゴリズム、および／または
インターフェースは、特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を構築することが適した場合もある。これら種々のシステムに要求される構成は、以上の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。様々な実装形態で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【０１９９】
実装形態の前述の説明は、例示と説明を目的として行われたものである。したがって、明細書を、網羅的または開示された正確な形式に限定することを意図するものではない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実装形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。
さらに、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できる。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。したがって、本開示は、添付の特許請求の範囲に記載されている本明細書の範囲を例示するものであり、限定することを意図したものではない。
【図１Ａ】
2020102838.tif 000003
【図１Ｂ】
2020102838.tif 000004
【図１Ｃ】
2020102838.tif 000005
【図１Ｄ】
2020102838.tif 000006
【図１Ｅ】
2020102838.tif 000007
【図２】
2020102838.tif 000008
【図３】
2020102838.tif 000009
【図４Ａ】
2020102838.tif 000010
【図４Ｂ】
2020102838.tif 000011
【図４Ｃ】
2020102838.tif 000012
【図５】
2020102838.tif 000013
【図６Ａ】
2020102838.tif 000014
【図６Ｂ】
2020102838.tif 000015
【手続補正書】
【提出日】令和2年3月16日(2020.3.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードが実行する方法であって、
Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、
制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、
データプレーンを使用して前記データ要求を処理するステップと、
前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、
前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、
を含む、方法。
【請求項２】
前記第１のＣＰノードにより処理される前記データ要求は、人気のあるデータコンテンツを要求するものであり、
前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップは、
前記フィードバックデータを分析して、１つ以上のタイプの人気のあるデータコンテンツを特定するステップと、
前記第１のＣＰノードの通信ユニットが前記１つ以上のタイプの人気のあるデータコンテンツをプリフェッチして記憶し、前記データ要求に関する前記データ送達の待ち時間および前記データパケット損失のうちの１つ以上について前記低減を達成するように、前記第１のＣＰノードの前記通信ユニットの動作を変更するステップと、を含む、
請求項１に記載の方法。
【請求項３】
前記第１のＣＰノードにより処理される前記データ要求は、前記データコンテンツを再要求するものであり、
前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップ
は、
前記フィードバックデータに基づいて前記第１のＣＰノードの通信ユニットが前記データコンテンツをキャッシュして、前記データ要求に関する前記データ送達の待ち時間および前記データパケット損失のうちの１つ以上について前記低減を達成するように、前記第１のＣＰノードの前記通信ユニットの動作を変更するステップを含む、
請求項１に記載の方法。
【請求項４】
少なくとも、前記第２の車両マイクロクラウド内の前記第２のＣＰノードと協働して、前記車両マクロクラウドの前記制御プレーンおよび前記データプレーンを確立するステップを更に含み、
前記制御プレーンは、分散制御プレーンであり、少なくとも、前記第１の車両マイクロクラウド内の前記第１のＣＰノードおよび前記第２の車両マイクロクラウド内の前記第２のＣＰノードを含む、
請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記制御プレーンは、前記車両マクロクラウド内の車両マイクロクラウドおよび前記車両マイクロクラウド内のメンバ車両間の分散Ｖ２Ｘ通信の制御タイプの処理に使用され、
前記データプレーンは、前記車両マクロクラウドの前記車両マイクロクラウドおよび前記車両マイクロクラウドの前記メンバ車両の間のデータ送達タイプの分散Ｖ２Ｘ通信の処理に使用される、
請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記第１の車両マイクロクラウドのステータスを記述する第１のステータスデータを生成するステップと、
前記制御プレーンを適用して、前記車両マクロクラウドにおいてステータスデータ交換を実行するステップであって、
前記第１のステータスデータを前記第２の車両マイクロクラウド内の前記第２のＣＰノードに送信するステップ、および、
前記第２の車両マイクロクラウド内の前記第２のＣＰノードから前記第２の車両マイクロクラウドのステータスを記述する第２のステータスデータを受信するステップを含むステップと、を更に含む、
請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記第１のステータスデータは、
前記第１の車両マイクロクラウドの地理的ロケーション、前記第１の車両マイクロクラウドにより記憶されたデータファイルのリストを記述するコンテンツリストおよび各データファイルにより記述された情報、前記第１の車両マイクロクラウドで利用可能な１つ以上の計算リソース、前記第１の車両マイクロクラウドが満たす必要があるデータ送達に対する１つ以上の要求、前記第１の車両マイクロクラウドが満たす必要があるデータ複製に対する１つ以上の要求、および、前記第１の車両マイクロクラウドが満たす必要があるデータ回復に対する１つ以上の要求、のうちの１つ以上を記述するデータを含む、
請求項６に記載の方法。
【請求項８】
前記車両マクロクラウドにおいて実行された前記ステータスデータ交換に基づいて、前記データ送達の待ち時間を記述する待ち時間データおよびパケット送達比率を記述するパケットデータを含むネットワークデータを測定するステップと、
前記第１の車両マイクロクラウドの前記第１のステータスデータ、前記第２の車両マイクロクラウドの前記第２のステータスデータを含むステータスデータ構造、および、前記待ち時間データおよび前記パケットデータを含む前記ネットワークデータのうちの１つ以上を含む前記第１の車両マイクロクラウドのリソースデータを生成するステップと、を更
に含む、
請求項６に記載の方法。
【請求項９】
前記制御プレーンを使用して前記データ要求を分析して、前記ターゲットコンテンツプロバイダを選択するステップは、
前記第１の車両マイクロクラウドのステータスを記述する第１のステータスデータからコンテンツリストを検索して、前記データ要求により要求された前記データコンテンツが前記第１の車両マイクロクラウドにより記憶されているか否かを判断するステップと、
前記データ要求により要求された前記データコンテンツが前記第１の車両マイクロクラウドにより記憶されていないことに応答して、前記第１の車両マイクロクラウドのリソースデータを分析して、前記ターゲットコンテンツプロバイダが前記第２の車両マイクロクラウド内の前記第２のＣＰノードであると判断するステップと、を含む、
請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記ターゲットコンテンツプロバイダは、前記第２のＣＰノードが前記第２の車両マイクロクラウドの記憶装置に前記データコンテンツを記憶していること、前記第２のＣＰノードが、前記車両マクロクラウド内の１つ以上の他の車両マイクロクラウドの１つ以上の他のＣＰノードと比較して、前記第１のＣＰノードへの最小距離を有すること、前記第２のＣＰノードが、前記１つ以上の他のＣＰノードと比較して前記第１のＣＰノードへの最小待ち時間を有すること、前記第２のＣＰノードが、前記１つ以上の他のＣＰノードと比較して、前記第１のＣＰノードへの最高パケット送達比率を有すること、のうちの１つ以上を満たす、前記第２の車両マイクロクラウド内の前記第２のＣＰノードである、
請求項９に記載の方法。
【請求項１１】
前記データプレーンを使用して、前記データ要求を処理するステップは、
前記データプレーンを使用して、前記制御プレーンによる判断に基づいて前記データ要求を処理するステップを含む、
請求項１から１０のいずれか１項に記載の方法。
【請求項１２】
前記データ要求は、前記Ｖ２Ｘネットワークを介して、制御メッセージとして前記制御プレーンを経由して前記ターゲットコンテンツプロバイダに転送され、
前記データプレーンを使用して、前記制御プレーンによる判断に基づいて前記データ要求を処理するステップは、
前記データプレーンを使用して、前記Ｖ２Ｘネットワークを介して前記ターゲットコンテンツプロバイダから前記データコンテンツを受信するステップと、
前記データプレーンを使用して、前記Ｖ２Ｘネットワークを介して前記ターゲットコンテンツプロバイダから受信した前記データコンテンツを前記要求者に転送するステップと、を含む、
請求項１１に記載の方法。
【請求項１３】
前記第１の車両マイクロクラウドにおいてデータ複製トリガーイベントをモニタするステップと、
前記データ複製トリガーイベントの発生に応答して、前記第１の車両マイクロクラウドのデータを前記車両マクロクラウド内の別の車両マイクロクラウドに複製するステップと、を更に含む、
請求項１から１２のいずれか１項に記載の方法。
【請求項１４】
１組のデータコンテンツが前記第１の車両マイクロクラウドにおいて失われたと判断するステップと、
前記車両マクロクラウド内の別の車両マイクロクラウドから前記１組のデータコンテン
ツを取得して、前記第１の車両マイクロクラウドにおいて前記１組のデータコンテンツを回復させるステップと、を更に含む、
請求項１から１３のいずれか１項に記載の方法。
【請求項１５】
前記第１の車両マイクロクラウドの前記第１のＣＰノードは、前記第１の車両マイクロクラウド内の車両、または、協働して前記第１のＣＰノードの機能を提供する前記第１の車両マイクロクラウド内の複数の車両を含む、
請求項１から１４のいずれか１項に記載の方法。
【請求項１６】
車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードとして機能するコネクティッド車両の車載コンピュータシステムを含むシステムであって、前記車載コンピュータシステムは、
通信ユニットと、
プロセッサと、
前記プロセッサによって実行された場合に、
Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、
制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、
データプレーンを使用して前記データ要求を処理するステップと、
前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、
前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、
を前記プロセッサに実行させるコンピュータコードを記憶する非一時的メモリと、を含むシステム。
【請求項１７】
車両マクロクラウド内の第１の車両マイクロクラウドにおける第１の制御プレーン（ＣＰ）ノードが有するプロセッサによって実行された場合に、
Ｖｅｈｉｃｌｅ−ｔｏ−Ｅｖｅｒｙｔｈｉｎｇ（Ｖ２Ｘ）ネットワークを介して要求者からデータ要求を受信するステップと、
制御プレーンを使用して前記データ要求を分析し、前記データ要求により要求されたデータコンテンツを提供するターゲットコンテンツプロバイダである、前記車両マクロクラウド内の第２の車両マイクロクラウドにおける第２のＣＰノードを選択するステップと、
データプレーンを使用して前記データ要求を処理するステップと、
前記データ要求の処理結果を記述する結果データおよび前記制御プレーンに関連付けられた制御プレーンデータの１つ以上を含むフィードバックデータを生成するステップと、
前記第１のＣＰノードにより処理されたデータ要求に関するデータ送達の待ち時間およびデータパケット損失の１つ以上を含む低減が達成されるように、前記フィードバックデータに基づいて前記第１のＣＰノードの動作を変更するステップであって、前記低減は、より多くのフィードバックデータが生成されるにつれて、時間の経過に伴って改善するステップと、
を前記プロセッサに実行させるためのプログラム。
【外国語明細書】
2020102838000001.pdf