(57)【要約】【課題】ネットワークの状況を考慮した接続先サーバの選択装置、それを備えた車載装置、接続先サーバの選択方法、及びサーバを提供する。【解決手段】接続先サーバの選択装置は、通信回線を通じて接続するサーバを選択するための接続先サーバの選択装置であって、通信回線に接続されている複数個のサーバのアドレスのリストを記憶するためのアドレス記憶装置と、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定する遅延時間測定装置と、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するサーバ選択装置とを含む。【選択図】図４
2020191605.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を通じて接続するサーバを選択するための接続先サーバの選択装置であって、
前記通信回線に接続されている複数個のサーバのアドレスのリストを記憶するためのアドレス記憶装置と、
前記アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定する遅延時間測定装置と、
前記アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するサーバ選択装置とを含む、接続先サーバの選択装置。
【請求項２】
前記サーバ選択装置は、
前記アドレス記憶装置に記憶されたリストのアドレスを、前記遅延時間測定装置により測定された、当該アドレスのサーバとの通信の遅延時間の短い順に並べ替える並べ替え装置と、
前記リスト内のサーバを選択して接続要求を送信する処理を、接続要求に対する承認を受信するまで、前記並べ替え装置により並べ替えられたアドレスの順番に送信先のサーバを変更しながら実行する接続要求送信装置と、
前記接続要求送信装置が承認を受信したことに応答して、当該承認を送信したサーバとの接続を確立する第１の接続確立装置とを含む、請求項１に記載の接続先サーバの選択装置。
【請求項３】
さらに、前記接続要求送信装置と前記第１の接続確立装置とによる処理が、前記リストに含まれるすべてのアドレスに対して失敗したことに応答して、前記リスト内のいずれかのサーバについて、当該サーバに接続している他の装置にハンドオーバを実行させ、当該サーバと前記接続先サーバの選択装置との間の接続を確立するハンドオーバ実行装置を含む、請求項２に記載の接続先サーバの選択装置。
【請求項４】
前記ハンドオーバ実行装置は、
前記リスト内のサーバを選択して、当該サーバに接続中のいずれかの装置についてハンドオーバ処理を行わせるハンドオーバ要求を送信する処理を、当該ハンドオーバ要求に対する承認を受信するまで、前記並べ替え装置により並べ替えられたアドレスの順番に送信先のサーバを変更しながら実行するハンドオーバ要求送信装置と、
前記ハンドオーバ要求送信装置が承認を受信したことに応答して、当該承認を送信したサーバとの接続を確立する第２の接続確立装置とを含む、請求項３に記載の接続先サーバの選択装置。
【請求項５】
さらに、前記遅延時間測定装置による前記遅延時間の測定の実行前に、前記接続先サーバの選択装置に最も近い位置にあるサーバに対して初期接続要求を送信する初期接続要求送信装置と、
前記初期接続要求送信装置が前記初期接続要求の送信先のサーバから承認を受信したことに応答して、当該初期接続要求の送信先のサーバとの接続を確立し、前記遅延時間測定装置の動作を無効化する初期接続確立装置と、
前記初期接続要求送信装置が前記初期接続要求の送信先のサーバから接続の拒否を受信したことに応答して、前記遅延時間測定装置の動作を開始させる、遅延による接続処理の実行装置とを含む、請求項１から請求項４のいずれか１項に記載の接続先サーバの選択装置。
【請求項６】
前記遅延時間測定装置は、前記リストに記憶されている各アドレスに対して、当該アドレスとの間の通信の応答速度を測定し、当該応答速度から前記遅延時間を計算する測定速度測定装置を含む、請求項１から請求項５のいずれか１項に記載の接続先サーバの選択装置。
【請求項７】
請求項１から請求項６のいずれか１項に記載の接続先サーバの選択装置と、
前記接続先サーバの選択装置により選択されたサーバから運転支援情報を受信し、当該運転支援情報を用いて運転者に対する運転支援を行なう運転支援装置とを含む、車載装置。
【請求項８】
請求項７に記載の車載装置であって、
前記接続先サーバの選択装置はさらに、前記車載装置を搭載した車両の移動速度と、前記複数個のサーバの位置とに基づいて、所定時間後の前記車両と、前記複数個のサーバの各々との間の距離を算出する距離算出装置と、
前記複数個のサーバの各々について、前記距離算出装置により算出された距離と、前記遅延時間測定装置により算出された遅延時間との間に、前記距離と前記遅延時間との双方の単調増加関数として定義される換算遅延時間を算出する換算遅延時間算出装置とを含み、
前記サーバ選択装置は、前記アドレス記憶装置に記憶された各アドレスのサーバについて前記換算遅延時間算出装置により算出された前記換算遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続する装置を含む、請求項７に記載の車載装置。
【請求項９】
請求項７または請求項８に記載の車載装置を搭載した、車両。
【請求項１０】
通信回線を通じて接続するサーバを選択するための接続先サーバの選択方法であって、
アドレス記憶装置が、前記通信回線に接続されている複数個のサーバのアドレスのリストを記憶するステップと、
遅延時間測定装置が、前記アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定するステップと、
サーバ選択装置が、前記アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するステップとを含む、接続先サーバの選択方法。
【請求項１１】
１または複数の端末装置と通信する通信装置と、
前記通信装置を介して他のアドレスから応答速度測定のための応答要求を受信したことに応答して、当該他のアドレスに対して当該応答要求に対する応答を送信する応答装置と、
前記通信装置を介し、接続中でない端末装置から接続要求を受信したことに応答して、前記通信装置を介して当該端末装置との接続を確立することが可能か否かを判定する接続可否判定装置と、
前記接続可否判定装置による判定にしたがって、前記接続要求を送信した前記端末装置との接続を確立する処理と、前記接続要求を送信した前記端末装置に対し、接続拒否の応答を送信する処理とを実行する、応答装置と、
前記通信装置を介し、接続中でない端末装置からハンドオーバ要求を受信したことに応答して、前記複数の端末装置のいずれかとの接続を解除して他のサーバと接続させるハンドオーバ処理を実行するハンドオーバ装置と、
前記ハンドオーバ装置によるハンドオーバが完了したことに応答して、前記ハンドオーバ要求を送信した前記接続中でない端末装置との接続を確立する接続確立装置とを含む、サーバ。
【請求項１２】
さらに、前記通信装置を介して前記複数の端末装置から送信された、各端末装置が収集したセンサデータを処理することで運転支援を生成する交通支援装置と、
前記交通支援装置により生成された前記運転支援を、所定の送信タイミングで前記複数の端末装置に対して送信する運転支援送信装置とを含む、請求項１１に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、接続先サーバの選択装置、それを備えた車載装置、接続先サーバの選択方法、およびサーバに関する。
【背景技術】
【０００２】
車両に各種のセンサを搭載し、路側等にもインフラストラクチャ設備のセンサ（以下「インフラセンサ」という）を設置して、サーバでそれらからのセンサデータを集約し解析して運転支援に利用するシステムが普及しつつある。そうしたシステムでは、車両は無線通信を使って近傍の無線基地局に接続し、その無線基地局を介してサーバと通信を行う。
【０００３】
運転支援システムの場合には、通信による遅延が問題となる。車両−サーバ間の無線通信の低遅延化を目的に、車両が走行する現場に近い位置にサーバを設置してこのサーバによりセンサデータを処理することが行われる。現場に近い位置に設置されるサーバという意味で、このサーバをエッジサーバと呼ぶ。
【０００４】
エッジサーバをどこに設置するかは設計思想により異なるが、無線基地局（モバイルエッジ）の付近にエッジサーバを設置することが効率的と考えられる。
【０００５】
図１を参照して、この開示に係る運転支援システム５０は、例えば一本の幹線道路の異なるエリア１１０、１１２、および１１４をそれぞれカバーする無線基地局６０、６４および６８と、これら無線基地局６０、６４および６８にそれぞれ近い位置に設置され、無線基地局６０、６４および６８にそれぞれ接続されているエッジサーバ６２、６６および７０とを含む。無線基地局６０、６４および６８は、バックホール８０により基幹ネットワーク（コアネットワーク）８２に接続されている。
【０００６】
例えば無線基地局６０および無線基地局６８はそれぞれ光ファイバ１２０および光ファイバ１２４でバックホール８０に接続されている。一方、無線基地局６４はメタル線１２２に接続されている。バックホール８０はさらに光ファイバ１２６によって、より広範囲なコアネットワーク８２に接続されている。
【０００７】
エリア１１０内の交差点にはカメラ９０およびＬｉＤＡＲ（light detection and ranging）９２が、エリア１１２内の交差点にはカメラ９４およびＬｉＤＡＲ９６が、エリア１１４内の交差点にはカメラ９８およびＬｉＤＡＲ１００が、それぞれ設けられており、エッジサーバ６２、６６および７０では、それぞれこれら、および各エリア１１０、１１２および１１４に存在する車両から送信されてくるセンサデータを処理する運転支援サーバが稼働している。各運転支援サーバからの運転支援情報は、エッジサーバ６２、６６および７０から無線基地局６０、無線基地局６４、および無線基地局６８等を介して各車両に送信される。
【０００８】
例えば特許文献１に開示された技術では、エリア１１０に存在する車両は無線基地局６０を介してこの無線基地局６０に近接して設けられたエッジサーバ６２と通信し、運転支援情報を受信する。エリア１１０、１１２および１１４が同程度の混雑具合であればこれで問題は生じない。
【０００９】
ところが、図１に示すようにエリア１１０には車両が大変多く存在しているのに対し、エリア１１２および１１４には車両がほとんどいないという状況を考えると状況は一変する。例えば車両１４０を含むエリア１１０内の全車両がセンサデータをエッジサーバ６２にアップロードする場合、エッジサーバ６２との通信トラヒックに輻輳が起こり得る。
【００１０】
このようなシステムでは、ある無線基地局のカバーするエリアが多くの車両で混雑している場合に、その無線基地局の近傍に位置しているエッジサーバに、各車両から大量のセンサデータが集中しトラヒック負荷が過大になることがあるという問題がある。エッジサーバへのトラヒック負荷が過大になればエッジサーバでのデータ処理が遅れ、運転支援に支障をきたす場合もあり得る。
【００１１】
こうした問題を解決するための一つの提案が特許文献１に開示されている。特許文献１に開示されている技術は、複数のサーバと複数のクライアントとを含むサーバ・クライアント・システムにおいて、クライアントからのプロセス要求をどのサーバで実行させるかを決定するための負荷分散装置に関する。この負荷分散装置は、クライアントからプロセス要求を受けると、各サーバでの現在の実行負荷に、この新たなプロセス要求によるプロセスを実行したときの負荷を加え、基本的には、それを各サーバの実行能力と比較することで、残る余裕が最も大きなサーバにそのプロセスを実行させる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】国際公開第２００５／０６２１７６号
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１に記載された負荷分散装置によれば、各サーバにおけるプロセスの実行を効率化できるとされている。しかしこの文献に記載された技術にはさらに改善すべき点がある。
【００１４】
すなわち、特許文献１に開示された技術は、複数のクライアントと複数のサーバとが外部からの影響を受けることなく動作するような環境では期待された効果が発揮できる。しかし、例えば複数の車載装置と複数のエッジサーバとの一部に無線を介した接続のように、ネットワーク上の他の要素による影響を受けたり、各エッジサーバの負荷による影響を受けたりするような環境では、特許文献１に開示された技術は必ずしも有効とは言えない。特許文献１に記載の技術では、各サーバにかかっている負荷と、新たに生じる負荷のみに基づいてサーバを選択しており、ネットワークの状況を考慮していないためである。
【００１５】
したがってこの発明は、ネットワークの状況を考慮した接続先サーバの選択装置、それを備えた車載装置、接続先サーバの選択方法、およびサーバを提供することを目的とする。
【課題を解決するための手段】
【００１６】
この開示の第１の局面に係る接続先サーバの選択装置は、通信回線を通じて接続するサーバを選択するための接続先サーバの選択装置であって、通信回線に接続されている複数個のサーバのアドレスのリストを記憶するためのアドレス記憶装置と、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定する遅延時間測定装置と、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するサーバ選択装置とを含む。
【００１７】
この開示の第２の局面に係る車載装置は、上記したいずれかの接続先サーバの選択装置と、接続先サーバの選択装置により選択されたサーバから運転支援情報を受信し、当該運転支援情報を用いて運転者に対する運転支援を行なう運転支援装置とを含む。
【００１８】
この開示の第３の局面に係る車両は、上記したいずれかの車載装置を搭載した車両である。
【００１９】
この開示の第４の局面に係る接続先サーバの選択方法は、通信回線を通じて接続するサーバを選択するための接続先サーバの選択方法であって、アドレス記憶装置が、通信回線に接続されている複数個のサーバのアドレスのリストを記憶するステップと、遅延時間想定装置が、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定するステップと、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するステップとを含む。
【００２０】
この開示の第５の局面に係るサーバは、１または複数の端末装置と通信する通信装置と、通信装置を介して他のアドレスから応答速度測定のための応答要求を受信したことに応答して、当該他のアドレスに対して当該応答要求に対する応答を送信する応答装置と、
通信装置を介し、接続中でない端末装置から接続要求を受信したことに応答して、通信装置を介して当該端末装置との接続を確立することが可能か否かを判定する接続可否判定装置と、接続可否判定装置による判定にしたがって、接続要求を送信してきた端末装置との接続を確立する処理と、接続要求を送信してきた端末装置に対し、接続拒否の応答を送信する処理とを実行する、応答装置と、通信装置を介し、接続中でない端末装置からハンドオーバ要求を受信したことに応答して、複数の端末装置のいずれかとの接続を解除して他のサーバと接続させるハンドオーバ処理を実行するハンドオーバ装置と、ハンドオーバ装置によるハンドオーバが完了したことに応答して、ハンドオーバ要求を送信してきた接続中でない端末装置との接続を確立する接続確立装置とを含む。
【００２１】
この発明の目的、構成、および効果は、この明細書と添付の図面とにより明らかとなるだろう。
【発明の効果】
【００２２】
以上のようにこの発明によると、ネットワークの状況を考慮した接続先サーバの選択装置、それを備えた車載装置、接続先サーバの選択方法、およびサーバを提供できる。
【図面の簡単な説明】
【００２３】
【図１】図１は、車載装置を含む運転支援システムの概略構成図である。
【図２】図２は、この開示の実施の形態における車載装置とエッジサーバとの接続例を示す図である。
【図３】図３は、この開示の実施の形態において使用される車載装置を搭載した車両の概略図である。
【図４】図４は、この開示の実施の形態の車載装置の機能的ブロック図である。
【図５】図５は、この開示の実施の形態のエッジサーバの機能的ブロック図である。
【図６】図６は、図５に示す負荷分散処理装置のより詳細なブロック図である。
【図７】図７は、図４に示す車載装置を実現するプログラムのハードウェア構成を示すブロック図である。
【図８】図８は、図４に示す車載装置の機能を実現するためのコンピュータプログラムの制御構造を示すフローチャートである。
【図９】図９は、図８に示すハンドオーバ依頼処理を実現するためのコンピュータプログラムの制御構造を示すフローチャートである。
【図１０】図１０は、この開示の実施の形態のエッジサーバを実現するコンピュータの外観を示す図である。
【図１１】図１１は、図１０に示すコンピュータのハードウェア構成を示すブロック図である。
【図１２】図１２は、この開示の実施の形態のエッジサーバを実現するためのコンピュータプログラムの制御構造を示すフローチャートである。
【図１３】図１３は、図１２に示すハンドオーバ処理を実現するためのコンピュータプログラムの制御構造を示すフローチャートである。
【図１４】図１４は、この開示の第２の実施の形態の車載装置を実現するためのコンピュータプログラムの制御構造を示すフローチャートである。
【発明を実施するための形態】
【００２４】
［この開示の実施形態の説明］
以下の説明および図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２５】
（１）この開示の第１の局面に係る接続先サーバの選択装置は、通信回線を通じて接続するサーバを選択するための接続先サーバの選択装置であって、通信回線に接続されている複数個のサーバのアドレスのリストを記憶するためのアドレス記憶装置と、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定する遅延時間測定装置と、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するサーバ選択装置とを含む。
【００２６】
このサーバ選択装置は、単にサーバの負荷状態に基づいて接続するサーバを選択するのではなく、サーバとの通信の遅延を考慮してサーバを選択する。したがって、ネットワークを介した通信状態まで考慮したうえで好ましい処理が実行できるサーバを選択できる。
【００２７】
（２）好ましくは、サーバ選択装置は、アドレス記憶装置に記憶されたリストのアドレスを、遅延時間測定装置により測定された、当該アドレスのサーバとの通信の遅延時間の短い順に並べ替える並べ替え装置と、リスト内のサーバを選択して接続要求を送信する処理を、接続要求に対する承認を受信するまで、並べ替え装置により並べ替えられたアドレスの順番に送信先のサーバを変更しながら実行する接続要求送信装置と、接続要求送信装置が承認を受信したことに応答して、当該承認を送信したサーバとの接続を確立する第１の接続確立装置とを含む。
【００２８】
サーバの選択装置は、遅延時間の短いサーバから選択して順番に接続要求を送信する。遅延時間の短いサーバから順番に接続が可能かどうかについて判断されるので、サーバの選択に要する時間を短縮化できる。
【００２９】
（３）より好ましくは、選択先サーバの選択装置はさらに、接続要求送信装置と第１の接続確立装置とによる処理が、リストに含まれるすべてのアドレスに対して失敗したことに応答して、リスト内のいずれかのサーバについて、当該サーバに接続している他の装置にハンドオーバを実行させ、当該サーバと接続先サーバの選択装置との間の接続を確立するハンドオーバ実行装置を含む。
【００３０】
リスト内のいずれのサーバについても接続ができない場合には、各サーバに対してハンドオーバ実行装置がハンドオーバ処理を依頼する。ハンドオーバが完了することでそのサーバとの接続が可能になり、サーバに接続することが難しい状況でもサーバに接続できる。
【００３１】
（４）さらに好ましくは、ハンドオーバ実行装置は、リスト内のサーバを選択して、当該サーバに接続中のいずれかの装置についてハンドオーバ処理を行わせるハンドオーバ要求を送信する処理を、当該ハンドオーバ要求に対する承認を受信するまで、並べ替え装置により並べ替えられたアドレスの順番に送信先のサーバを変更しながら実行するハンドオーバ要求送信装置と、ハンドオーバ要求送信装置が承認を受信したことに応答して、当該承認を送信したサーバとの接続を確立する第２の接続確立装置とを含む。
【００３２】
リスト内のサーバを選択してハンドオーバ要求を送信し、ハンドオーバ要求が承認されると、リスト内の他のサーバに対するハンドオーバ要求の送信をせずにそのサーバと接続できる。サーバと接続するために要する時間が長くなることが防止できる。
【００３３】
（５）好ましくは、接続先サーバの選択装置はさらに、遅延時間測定装置による遅延時間の測定の実行前に、接続先サーバの選択装置に最も近い位置にあるサーバに対して初期接続要求を送信する初期接続要求送信装置と、初期接続要求送信装置が初期接続要求の送信先のサーバから承認を受信したことに応答して、当該初期接続要求の送信先のサーバとの接続を確立し、遅延時間測定装置の動作を無効化する初期接続確立装置と、初期接続要求送信装置が初期接続要求の送信先のサーバから接続の拒否を受信したことに応答して、遅延時間測定装置の動作を開始させる、遅延による接続処理の実行装置とを含む。
【００３４】
初期接続要求送信装置が、各サーバに対する遅延時間の測定前に、最寄りのサーバとの接続を試みる。最寄りのサーバとの接続が確立できたら、遅延による接続処理の実行は開始されない。その結果、通信資源および接続に要する時間を節約できる。
【００３５】
（６）より好ましくは、遅延時間測定装置は、リストに記憶されている各アドレスに対して、当該アドレスとの間の通信の応答速度を測定し、当該応答速度から遅延時間を算出する測定速度測定装置を含む。
【００３６】
リストに記憶されている各アドレスに対して応答速度を測定し、その応答速度から遅延時間を測定する。実際の応答時間に基づいて遅延時間を計算するので、通信の実態に応じた正確な測定が行える。
【００３７】
（７）この開示の第２の局面に係る車載装置は、上記したいずれかの接続先サーバの選択装置と、接続先サーバの選択装置により選択されたサーバから運転支援情報を受信し、当該運転支援情報を用いて運転者に対する運転支援を行なう運転支援装置とを含む。
【００３８】
この運転支援装置は、単にサーバの負荷状態に基づいて接続するサーバを選択するのではなく、サーバとの通信の遅延を考慮してサーバを選択する。したがって、ネットワークを介した通信状態まで考慮したうえで好ましい処理が実行できるサーバを選択し、運転支援に利用できる。
【００３９】
（８）好ましくは、接続先サーバの選択装置はさらに、車載装置を搭載した車両の移動速度と、複数個のサーバの位置とに基づいて、所定時間後の車両と、複数個のサーバの各々との間の距離を算出する距離算出装置と、複数個のサーバの各々について、距離算出装置により算出された距離と、遅延時間測定装置により算出された遅延時間との間に、距離と遅延時間との双方の単調増加関数として定義される換算遅延時間を算出する換算遅延時間算出装置とを含み、サーバ選択装置は、アドレス記憶装置に記憶された各アドレスのサーバについて換算遅延時間算出装置により算出された換算遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続する装置を含む。
【００４０】
この運転支援装置は、単にサーバの負荷状態に基づいて接続するサーバを選択するのではなく、サーバとの通信の遅延と、さらにこの運転支援装置を搭載した車両と各サーバとの間の距離を考慮してサーバを選択する。したがって、ネットワークを介した通信でハンドオーバをできるだけ少なくし、かつ低遅延で運転支援が実行できるサーバを選択できる。
【００４１】
（９）この開示の第３の局面に係る車両は、上記したいずれかの車載装置を搭載した車両である。
【００４２】
この車両は、単にサーバの負荷状態に基づいて接続するサーバを選択するのではなく、サーバとの通信の遅延を考慮してサーバを選択する。したがって、ネットワークを介した通信状態まで考慮したうえで好ましい処理が実行できるサーバを選択し、運転支援に利用できる。
【００４３】
（１０）この開示の第４の局面に係る接続先サーバの選択方法は、通信回線を通じて接続するサーバを選択するための接続先サーバの選択方法であって、アドレス記憶装置が、通信回線に接続されている複数個のサーバのアドレスのリストを記憶するステップと、遅延時間測定装置が、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間を測定するステップと、サーバ選択装置が、アドレス記憶装置に記憶された各アドレスのサーバとの通信の遅延時間と、当該サーバの状態とに応じて接続すべきサーバを選択し接続するステップとを含む。
【００４４】
このサーバの選択方法によれば、単にサーバの負荷状態に基づいて接続するサーバを選択するのではない。遅延時間測定装置が、サーバとの通信の遅延を測定し、サーバ選択装置がこの遅延を考慮してサーバを選択する。したがって、ネットワークを介した通信状態まで考慮したうえで好ましい処理が実行できるサーバを選択できる
【００４５】
（１１）この開示の第５の局面に係るサーバは、１または複数の端末装置と通信する通信装置と、通信装置を介して他のアドレスから応答速度測定のための応答要求を受信したことに応答して、当該他のアドレスに対して当該応答要求に対する応答を送信する応答装置と、通信装置を介し、接続中でない端末装置から接続要求を受信したことに応答して、通信装置を介して当該端末装置との接続を確立することが可能か否かを判定する接続可否判定装置と、接続可否判定装置による判定にしたがって、接続要求を送信した端末装置との接続を確立する処理と、接続要求を送信した端末装置に対し、接続拒否の応答を送信する処理とを実行する、応答装置と、通信装置を介し、接続中でない端末装置からハンドオーバ要求を受信したことに応答して、複数の端末装置のいずれかとの接続を解除して他のサーバと接続させるハンドオーバ処理を実行するハンドオーバ装置と、ハンドオーバ装置によるハンドオーバが完了したことに応答して、ハンドオーバ要求を送信してきた接続中でない端末装置との接続を確立する接続確立装置とを含む。
【００４６】
端末装置から接続要求を受信すると、サーバの接続可否判定装置は、その端末装置との接続を確立することが可能か否かを判定し、この判定結果にしたがって、応答装置が接続要求を送信してきた端末装置との接続を確立する処理と、接続要求を送信してきた端末装置に対し、接続拒否の応答を送信する処理とを実行する。さらに、接続中でない端末装置からハンドオーバ要求を受信すると、接続中の端末装置のいずれかとの接続を解除して、ハンドオーバ要求を送信してきた端末と接続する。端末装置がサーバのいずれとも接続ができないときにこのサーバにハンドオーバ要求を送信すると、このサーバではハンドオーバ処理をしてその端末装置との接続を行なう。その結果、他のサーバと接続することが困難な端末装置がこのサーバに接続できる。
【００４７】
（１２）好ましくは、サーバは、さらに、通信装置を介して複数の端末装置から送信された、各端末装置が収集したセンサデータを処理することで運転支援情報を生成する運転支援装置と、運転支援装置により生成された運転支援情報を、所定の送信タイミングで複数の端末装置に対して送信する運転支援情報送信装置とを含む。
【００４８】
このサーバは、複数の端末装置から送信されてきたセンサデータを処理して、各端末に運転支援情報を送信する。他のサーバのサービスを受けることができなかった端末装置でもこのサーバに対しては接続可能であり、その結果、端末装置が多数存在していて、各端末装置がサーバに接続が難しい場合でも、このサーバに接続して運転支援情報を受信し運転支援に利用できる。
［この開示の実施形態の詳細］
この開示の実施形態に係る接続先サーバの選択装置、それを備えた車載装置、接続先サーバの選択方法、およびサーバの具体例を、以下に図面を参照しつつ説明する。なお、この開示はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、以下の開示の一部を任意に組合せてもよい。
【００４９】
〈構成〉
図２を参照して、この発明に係る運転支援システム１６０では、ハードウェア的な構成は図１に示す運転支援システム５０と同様である。しかしこの運転支援システム１６０で、例えば車両が接続先のサーバを選択する際には、各サーバの負荷だけではなく、その車両から各サーバまでの通信に生ずる遅延を考慮に入れる点で図１に示す運転支援システム５０と異なる。
【００５０】
図２に示す運転支援システム１６０は、同一の幹線道路の異なるエリア１１０、１１２、および１１４をそれぞれカバーする無線基地局６０、６４および６８と、これら無線基地局６０、６４および６８にそれぞれ近い位置に設置され、無線基地局６０、６４および６８にそれぞれ接続されているエッジサーバ１８０、１８２および１８４とを含む。無線基地局６０、６４および６８は、バックホール１７０によりコアネットワーク８２に接続されている。
【００５１】
例えば無線基地局６０および無線基地局６８は図１に示すものと同様、それぞれ光ファイバ１２０および光ファイバ１２４でバックホール１７０に接続されている。一方、無線基地局６４はメタル線１２２によりバックホール１７０に接続されている。バックホール１７０はさらに光ファイバ１２６によってコアネットワーク８２に接続されている。
【００５２】
エッジサーバ１８０、１８２および１８４では、それぞれこれらエリア１１０、１１２および１１４に存在する車両から送信されてくるセンサデータを処理する運転支援サーバが稼働している。各運転支援サーバからの運転支援情報は、エッジサーバ１８０、１８２および１８４から、それぞれ無線基地局６０、６４および６８等を介して各車両に送信される。
【００５３】
図２の例では、エリア１１０内には多数の車両が存在し、エリア１１２およびエリア１１４内にはほとんど車両が存在しないものとする。この場合、エリア１１０内の車両１７２が運転支援サーバに接続するときには、最初は特許文献１における運転支援システム５０と同様、エッジサーバ１８０に接続しようとする。しかしエッジサーバ１８０の負荷がある程度以上大きいときにはエッジサーバ１８０は新たな車両の接続を許可しない。そのときには、例えば車両１７２は、バックホール１７０内のエッジサーバ１８０を除く各エッジサーバの中でも車両１７２との通信において最も遅延の少ないものを選択して接続する。図２に示す例では無線基地局６４がバックホール１７０とメタル線１２２により接続されているのに対し、無線基地局６８は光ファイバ１２４によりバックホール１７０に接続されている。したがって、通常の状態では車両１７２との通信では、無線基地局６８に接続されたエッジサーバ１８４の方が無線基地局６４に接続されたエッジサーバ１８２より小さな遅延で通信できる。そのため、車両１７２は、無線基地局６４の近傍に設けられたエッジサーバ１８２ではなく、無線基地局６８の近傍に設けられたエッジサーバ１８４と接続する。なお、この実施の形態では、各無線基地局の近傍には１または複数のエッジサーバが存在し、それらはその無線基地局に接続されていることが前提である。複数のエッジサーバが同一の無線基地局に接続されている場合でも、最終的な選択は各エッジサーバとの遅延の大小により決定される。仮に遅延が全く同じエッジサーバが複数個存在するときには、何らかの手段、例えば乱数によりいずれかを選択すればよい。
【００５４】
図３に、例えば車両１７２の概略構成図を示す。図３を参照して、車両１７２は、ＬｉＤＡＲ２０４、車載カメラ２０２、およびミリ波レーダ２００等の各種のセンサ、およびこれらセンサからセンサデータを収集しエッジサーバに無線通信により送信するための車載装置２１０と、を含む。
【００５５】
図４に、車載装置２１０の機能的構成をブロック図形式で示す。図４を参照して、車載装置２１０は、無線通信部２３０と、無線通信部２３０との通信を通じて、車載装置２１０と接続可能なエッジサーバのアドレス等に関する管理を行なうためのエッジサーバ管理部２３２と、エッジサーバ管理部２３２に接続され、車載装置２１０が接続可能なエッジサーバのアドレスのリストを記憶するエッジサーバリスト記憶部２３４と、エッジサーバリスト記憶部２３４に接続され、エッジサーバリスト記憶部２３４に記憶された各アドレスのエッジサーバに対してｐｉｎｇ命令を発行し応答を受信するまでの時間により、各エッジサーバとの間の通信の遅延を測定し、エッジサーバリスト記憶部２３４の各アドレスに付加するためのエッジサーバ遅延測定部２４０と、エッジサーバ遅延測定部２４０に記憶された各アドレスを、その遅延の昇順にソートし、サーバ候補リストとして出力するためのサーバリストソート処理部２４２と、サーバリストソート処理部２４２により出力されたサーバ候補リストを記憶するためのサーバ候補リスト記憶部２４４と、サーバ候補リスト記憶部２４４に記憶されたサーバ候補リストを先頭から順番に、接続可能なエッジサーバが発見されるまで選択しそのアドレスをサーバ候補リスト記憶部２４４から読出し、接続を試みるためのサーバ選択部２３８とを含む。
【００５６】
車載装置２１０はさらに、サーバ選択部２３８による処理で接続可能なエッジサーバが見つからなかったことに応答して、再度、サーバ候補リスト記憶部２４４に記憶されている各エッジサーバに対し、そのエッジサーバに接続されている他の端末装置についてハンドオーバを依頼することで、車載装置２１０をそのエッジサーバに接続することを試みるためのハンドオーバ依頼処理部２４６と、車載装置２１０が接続しているエッジサーバから上記したハンドオーバの通知を受けたときに、そのエッジサーバとの接続を終了し他のエッジサーバと接続を確立するハンドオーバを実行するためのハンドオーバ処理部２４８と、以上のような処理で車載装置２１０が接続されているエッジサーバから運転支援情報を受信し、運転者に提示する等の運転支援処理を実行する運転支援処理部２５０と、センサからのデータを各センサから受信し、所定のフォーマットに変換処理し無線通信部２３０を介してエッジサーバに送信するための運転支援処理部２５０とを含む。
【００５７】
図５を参照して、エッジサーバ１８０はこうした運用を可能にするために以下のような構成を持つ。エッジサーバ１８０は、上記したように複数のインフラセンサ設備（カメラおよびＬｉＤＡＲのいずれかまたは双方を含む。）からの信号および車両搭載センサ（カメラおよびＬｉＤＡＲのいずれかまたは双方を含む。）からの信号を無線通信で受信し、エッジサーバ１８０からの情報を無線通信または有線通信で各車両に送信するための通信装置２７０と、通信装置２７０が受信したデータをその内容により振り分ける受信処理部２７２とを含む。
【００５８】
エッジサーバ１８０はさらに、受信処理部２７２が受信したセンサデータを集約して解析することにより、管理対象の範囲内に存在する車両および歩行者を含む各移動体の位置、速度、属性等を出力するための集約解析結果を出力する集約解析部２７４と、集約解析部２７４が出力する集約解析結果を記憶するための集約解析結果記憶部２７６と、受信処理部２７２が受信した信号の内、個別の車両による解析結果（車両解析結果）を統合的に管理して車両解析結果を出力する個別解析部２７８と、個別解析部２７８が出力する個別解析結果を記憶する個別解析結果記憶部２８０とを含む。
【００５９】
集約解析部２７４が行うセンサデータの集約による解析手法自体は公知のもののいずれを採用してもよい。センサデータの集約により、個々のセンサ信号を解析するだけでは得られない情報を獲得できる。交通環境の検出では、オクルージョンにより、ある動体が単独のセンサ情報だけからは検知できない場合がある。そうした状態でも、センサデータの集約解析を使用することで動体を発見できることがある。そのためには、各車両が複数のセンサを搭載していることが望ましく、またセンサの種類も複数であることが望ましい。多様なセンサ出力を組合せることで集約解析の結果の信頼性が高められる。
【００６０】
エッジサーバ１８０はさらに、受信処理部２７２が各車両から受信した信号に基づいて、管理対象のエリア内に存在する車両等の位置、速度、移動方向、車種、および識別情報等からなる車両情報を得るための車両追跡部２８６と、車両追跡部２８６により解析された各車両の車両情報を記憶するための車両情報記憶部２８８とを含む。
【００６１】
エッジサーバ１８０はさらに、集約解析結果記憶部２７６に記憶された集約解析結果と、個別解析結果記憶部２８０に記憶された個別の車両解析結果とに基づいて、交通状況俯瞰マップを生成し、運転支援情報を生成する運転支援情報生成部２８２と、運転支援情報生成部２８２により生成された運転支援情報を記憶するための運転支援情報記憶部２８４と、運転支援情報記憶部２８４に記憶された運転支援情報を、車両情報記憶部２８８に記憶された車両情報により決まる送信先に配信する処理を行なうための運転支援情報配信部２９０とを含む。
【００６２】
エッジサーバ１８０はさらに、エッジサーバ１８０の近傍に存在するエッジサーバのアドレスのリストを記憶する近傍サーバリスト記憶部２９４と、通信装置２７０および受信処理部２７２を介して近傍のエッジサーバと通信することにより、近傍サーバリスト記憶部２９４に記憶された近傍サーバリストを管理するとともに、クライアントである車載装置からの接続要求に応答し、近傍サーバリスト記憶部２９４に記憶された近傍サーバリストを用いて、複数のエッジサーバの間で、ネットワーク遅延を考慮した負荷分散処理を実行するための負荷分散処理部２９２と、運転支援情報配信部２９０からの運転支援情報、および負荷分散処理部２９２からの負荷分散処理のためのデータを、通信装置２７０を介してそれぞれ所定の送信先（車載装置）に送信する処理を実行するための情報送信処理部２９６とを含む。
【００６３】
図６は、図５に示す負荷分散処理部２９２のより詳細な機能的ブロック図である。図６を参照して、負荷分散処理部２９２は、受信処理部２７２から与えられた負荷分散に関するデータ（車載装置の接続要求またはハンドオーバ依頼処理）をその種類により振分ける処理を実行する処理振分部３２０と、処理振分部３２０から車載装置の接続要求を受信し、自身の負荷状態を調べ、車載装置からの接続要求を認めるか否かを判定する負荷確認部３２１と、負荷確認部３２１により車載装置からの接続要求が認められたことに応答して、接続要求を送信してきた車載装置との接続を確立し、車両に対する運転支援情報の提供からなる車両サービスを開始することを示す応答を生成し出力する車両サービス開始処理部３２２と、負荷確認部３２１により車載装置からの接続要求を処理することができないと判定されたことに応答して、接続を拒否する応答を生成し出力する負荷応答生成部３２４と、処理振分部３２０からハンドオーバ依頼を受信し、近傍サーバリスト記憶部２９４に記憶されている近傍サーバリストを参照して、自己に接続している車載装置のいずれかを収容可能な他のエッジサーバがあるか否かを判定しその結果を出力するハンドオーバ処理確認部３２６と、ハンドオーバ処理確認部３２６の判定が否定であることに応答して、そのハンドオーバ依頼を送信してきた車載装置に対し、ハンドオーバ依頼を拒否する応答を生成する処理を実行するハンドオーバ拒否部３２８と、車両サービス開始処理部３２２、負荷応答生成部３２４およびハンドオーバ拒否部３２８からの応答を出力する出力部３３０とを含む。ハンドオーバ処理確認部３２６の出力が肯定のときには、車両サービス開始処理部３２２が、車載装置に対して接続が可能であることを示す応答を生成し出力部３３０に出力する。
【００６４】
図７を参照して、車載装置２１０は実質的にはコンピュータ３５０を含むプロセッサであって、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３７０、ＣＰＵ３７０とコンピュータ３５０内の各部との間のデータおよび命令の伝送経路となるバス３７２とを含む。コンピュータ３５０はさらに、いずれもバス３７２に接続されたＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３７４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３７６、ハードディスクまたはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等からなる不揮発性の補助記憶装置３７８、無線通信により外部との通信を提供する無線通信部３８０、入出力インターフェイス（Ｉ／Ｆ）３８２、ユーザとの音声によるインタラクションを提供するための音声処理Ｉ／Ｆ３９０、およびＵＳＢメモリ３６２が着脱可能で、ＵＳＢメモリ３６２とコンピュータ３５０内の他の各部との通信を可能にするＵＳＢメモリポート３８４を含む。
【００６５】
車載装置２１０はさらに、バス３７２に接続された、タッチパネル３５２、表示制御装置を含む液晶等のモニタ３５４、入出力Ｉ／Ｆ３８２に接続された車両の制御のための各種アクチュエータ３５６およびＬｉＤＡＲ２０４等（図３参照）の各種センサ３５８と、音声処理Ｉ／Ｆ３９０に接続されたスピーカおよびマイク３６０とを含む。ＲＯＭ３７４にはコンピュータ３５０の起動プログラム等が記憶されている。ＲＡＭ３７６はＣＰＵ３７０による処理の際に様々な変数を記憶するための作業領域として使用される。
【００６６】
図８に、図７のＵＳＢメモリ３６２または補助記憶装置３７８により記憶され、ＣＰＵ３７０により実行される、車載装置によるエッジサーバへの接続の際のサーバ選択処理を行なうプログラムの制御構造をフローチャート形式で示す。このプログラムは、実行時にはＵＳＢメモリ３６２からＵＳＢメモリポート３８４及びバス３７２を介してＲＡＭ３７６にロードされる。またはこのプログラムは、補助記憶装置３７８からバス３７２を介してＲＡＭ３７６にロードされる。ＵＳＢメモリ３６２からＵＳＢメモリポート３８４を介して補助記憶装置３７８にプログラムを保存することもできる。なお、この実施の形態では、無線基地局は、近隣のエッジサーバのリストを管理しており、定期的に、報知情報の一部としてそのリストを送信しているものとする。車載装置は、基地局との通信を開始するに先立ち、基地局からの報知情報を受信することで、最寄りのエッジサーバのアドレスリストを取得している。このリストの先頭には、この無線基地局に最も近いエッジサーバのアドレスが記録されている。
【００６７】
図８を参照して、このプログラムは、最寄りの基地局から受信したエッジサーバのリストの先頭にあるエッジサーバに接続要求を送信するステップ４２０を含む。後述するように、この接続要求を受信したエッジサーバは、自己の負荷状況と新たな車載装置との通信による負荷とから、この接続要求を承認するか拒否するかを決定し、それを明らかにする応答を車載装置に送信する。
【００６８】
このプログラムはさらに、ステップ４２０で送信した接続要求をエッジサーバが承認したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ４２２と、ステップ４２２の判定が肯定、すなわち接続要求が承認されたと判定されたことに応答して、そのエッジサーバとの接続を確立し、処理を終了するステップ４２４とを含む。すなわちこの場合、ステップ４２０で接続要求を送信した先のエッジサーバが車載装置の接続相手として選択されたことになる。
【００６９】
このプログラムはさらに、ステップ４２２の判定が否定であることに応答して、エッジサーバのリストにリストされている各エッジサーバを接続先のサーバ候補とし、各サーバ候補に対してping命令を送信し、応答時間を測定することによりそのサーバ候補との通信の遅延時間を確認し、遅延時間を追加したサーバ候補リストを生成するステップ４２６と、ステップ４２６により生成されたサーバ候補リストを遅延時間の昇順でソートするステップ４２８とを含む。
【００７０】
このプログラムはさらに、ステップ４２８に続き、サーバ候補リストにリストされた先頭のサーバ候補を選択するステップ４３０と、選択されたサーバ候補に対して接続要求を送信するステップ４３２と、このサーバ候補からの回答を受信するステップ４３４と、ステップ４３４で受信した回答が接続要求を承認するものである場合に、制御をステップ４２４に進めてこのサーバ候補との接続を行なうステップ４３６と、ステップ４３６の判定が否定である（接続要求を拒否する）ものである場合に、サーバ候補リストの中にまだ接続要求を送信していない（未試行の）エッジサーバがあるか否かを判断し、判断結果にしたがって制御の流れを分岐させるステップ４３８と、ステップ４３８の判定が肯定であるときには、サーバ候補リストの次のサーバ候補を選択し、制御をステップ４３２に戻すステップ４４０とを含む。
【００７１】
このプログラムはさらに、ステップ４３８の判定が否定のときに、再度、サーバ候補リストにリストされた各サーバ候補に対してハンドオーバ処理を試みることを依頼するハンドオーバ処理依頼を送信するステップ４４２と、ステップ４４２の処理の結果、この車載装置との送信が可能であるサーバ候補があったか否かを判定し、そうしたサーバ候補があった場合には制御をステップ４２４に、それ以外の場合には一定時間経過後にステップ４２０に、それぞれ移動させるステップ４４４とを含む。
【００７２】
ここで、「ハンドオーバ処理」とは、エッジサーバにおいて行われる処理であり、そのエッジサーバに接続している端末装置のいずれかとの接続を終了し、その端末装置を他のエッジサーバに接続させる処理のことをいう。エッジサーバにおいてハンドオーバ処理が可能であれば、新たな端末装置（ここでは車載装置）との接続を確立することが可能になる。ハンドオーバについては後述するが、他のエッジサーバに接続を切り替えることが可能な場合と、そうでない場合とがあり得る。
【００７３】
「ハンドオーバ依頼」とは、エッジサーバに対し、上記したハンドオーバ処理を試みることを依頼することをいう。ハンドオーバ依頼処理を受信したエッジサーバは、上記したハンドオーバ処理を試み、ハンドオーバ処理が成功すればハンドオーバ依頼を送信した端末に対して接続が可能であることを回答する。ハンドオーバ処理が失敗すれば、エッジサーバは接続を拒否する旨の回答を送信してくる。
【００７４】
図９に、図８のステップ４４２で実行されるハンドオーバ依頼処理のより詳細なフローチャートを示す。図９を参照して、ハンドオーバ依頼処理を実現するプログラムは、サーバ候補リストの先頭のエッジサーバを選択するステップ４７０と、選択されたエッジサーバに、そのエッジサーバと接続している車両のハンドオーバをするよう依頼するステップ４７２と、ステップ４７２で送信したハンドオーバ依頼に対するそのエッジサーバからの回答を受信するステップ４７４と、ステップ４７４で受信した回答がハンドオーバ可（接続可）か否かを判定し、その判定にしたがって制御の流れを分岐させるステップ４７６とを含む。
【００７５】
このプログラムはさらに、ステップ４７６の判定が肯定であるときに、ハンドオーバが可能か否かを示すハンドオーバ不可フラグをリセットしてこのプログラムの実行を終了するステップ４８４と、ステップ４７６の判定が否定であるときに、サーバ候補リストにまだハンドオーバ依頼を行っていないエッジサーバがあるか否かを判定して制御の流れを分岐させるステップ４７８と、ステップ４７８の判定が肯定であるときに、サーバ候補リストの次のサーバ候補を選択して制御をステップ４７２に戻すステップ４８２と、ステップ４７８の判定が否定であるときに、ハンドオーバ不可フラグをセットしこのプログラムの実行を終了させるステップ４８０とを含む。
【００７６】
図１０にエッジサーバ１８０の１例の外観を示し、図１１にエッジサーバ１８０を構成するコンピュータのハードウェアブロック図を示す。
【００７７】
図１０を参照して、エッジサーバ１２８を実現するこのコンピュータシステムは、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ６５０を有するコンピュータ６４０と、いずれもコンピュータ６４０に接続されたキーボード６４６、マウス６４８、およびモニタ６４２とを含む。
【００７８】
図１１を参照して、コンピュータ６４０は、ＤＶＤドライブ６５０に加えて、ＣＰＵ６５６と、ＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６５７と、ＣＰＵ６５６、ＧＰＵ６５７、ＤＶＤドライブ６５０に接続されたバス６６６と、バス６６６に接続され、コンピュータ６４０のブートアッププログラム等を記憶するＲＯＭ６５８と、バス６６６に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するＲＡＭ６６０と、バス６６６に接続された不揮発性メモリであるハードディスクドライブ（ＨＤＤ）６５４とを含む。ハードディスク６５４は、ＣＰＵ６５６が実行するプログラム、ＣＰＵ６５６が実行するプログラムが使用するデータ等を記憶するためのものである。コンピュータ６４０はさらに、他端末との通信を可能とするネットワーク６６８への接続を提供するネットワークＩ／Ｆ６４４と、ＵＳＢメモリ６７０が着脱可能で、ＵＳＢメモリ６７０とコンピュータ６４０内の各部との通信を提供するＵＳＢメモリポート６５２とを含む。ネットワーク６６８は、例えば図１および図２に示すバックホール８０である。
【００７９】
上記実施形態では、図５に示す集約解析結果記憶部２７６、個別解析結果記憶部２８０、車両情報記憶部２８８、および運転支援情報記憶部２８４等は、いずれもＨＤＤ６５４またはＲＡＭ６６０により実現される。典型的には、これらはエッジサーバ１８０の稼働時にはＲＡＭ６６０に記憶されており、定期的にバックアップとしてハードディスク６５４に保存される。
【００８０】
このコンピュータシステムをエッジサーバ１２８およびその構成要素の機能として動作させるためのコンピュータプログラムは、ＤＶＤドライブ６５０に装着されるＤＶＤ６６２に記憶され、ＤＶＤドライブ６５０からＨＤＤ６５４に転送される。または、このプログラムはＵＳＢメモリ６７０に記憶され、ＵＳＢメモリ６７０をＵＳＢメモリポート６５２に装着し、プログラムをハードディスク６５４に転送する。または、このプログラムはネットワーク６６８を通じてコンピュータ６４０に送信されＨＤＤ６５４に記憶されてもよい。プログラムは実行の際にＲＡＭ６６０にロードされる。ＣＰＵ６５６は、その内部のプログラムカウンタと呼ばれるレジスタ（図示せず）により示されるアドレスにしたがってＲＡＭ６６０からプログラムを読出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスにしたがってＲＡＭ６６０、ハードディスク６５４またはそれ以外の機器から読出して命令を実行する。ＣＰＵ６５６は、実行結果のデータを、ＲＡＭ６６０、ハードディスク６５４、ＣＰＵ６５６内のレジスタ等、プログラムにより指定されるアドレスに格納する。コンピュータプログラムは、ＤＶＤ６６２から、ＵＳＢメモリ６７０から、またはネットワークを介して、直接にＲＡＭ６６０にロードしてもよい。なお、ＣＰＵ６５６が実行するプログラムの中で、一部のタスク（主として数値計算）については、プログラム内の命令により、またはＣＰＵ６５６による命令実行時の解析結果にしたがって、ＧＰＵ６５７にディスパッチされる。
【００８１】
エッジサーバ１８０の各機能を実現するプログラムは、コンピュータ６４０に上記実施形態に係るエッジサーバ１２８として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ６４０上で動作するオペレーティングシステム（ＯＳ）若しくはサードパーティのプログラム、またはコンピュータ６４０にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施形態のシステムおよび方法を実現するのに必要な機能すべてを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「プログラミング・ツール・キット」を呼出すことにより、上記したエッジサーバ１２８およびその構成要素としての動作を実行する命令のみを含んでいればよい。この点は図７に示すコンピュータ３５０の場合も同様である。コンピュータ３５０および６４０の動作方法は周知であるので、ここでは繰返さない。なお、ＧＰＵ６５７は並列処理を行うことが可能であり、多くの動的物体に関する交通状況俯瞰マップを同時並列的な処理で生成・管理する際に有効に機能する。
【００８２】
この実施の形態において図５に示すエッジサーバ１８０の各機能を実現するプログラムの制御構造を、図１２にフローチャート形式で示す。図１２を参照して、このプログラムは、エッジサーバ１８０がネットワークから受信したメッセージの内容を確認するステップ７００と、ステップ７００で確認したメッセージが、車載装置からの接続要求可否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ７０２とを含む。
【００８３】
このプログラムはさらに、ステップ７０２における判定が肯定であることに応答して、自己の負荷状態を確認するステップ７０４と、ステップ７０４で確認した自己の負荷が一定の値より高い負荷であるか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ７０６と、ステップ７０６の判定が肯定であることに応答して、車載装置に対して接続要求を処理できないことを示す回答を、エッジサーバの再選択の依頼とともに送信しプログラムの実行を終了するステップ７０８と、ステップ７０６の判定が否定であることに応答して、接続可能であることを示す回答を車載装置に送信し、その車載装置を搭載した車両に対するサービスを開始するステップ７１６とを含む。この実施の形態では、ステップ７０４ではエッジサーバ１８０の現在の負荷状態のみを確認する。しかしこの開示はそのような実施の形態には限定されない。特許文献１と同様、自己の現在の負荷状態に、車載装置との接続を行なうことにより発生する新たな負荷を加算したものについて確認を行っても良い。
【００８４】
このプログラムはさらに、ステップ７０２の判定が否定であることに応答して、ステップ７００で確認したメッセージがハンドオーバ処理依頼であるか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ７１０と、ステップ７１０での判定が肯定であることに応答して、ハンドオーバ処理を実行するステップ７１２と、ステップ７１２の処理の後、ハンドオーバフラグの値に基づいてハンドオーバ処理が成功したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ７１４と、ステップ７１４の判定が否定であることに応答して、車載装置に対してこのエッジサーバでは当該車載装置の収容ができないことを示す通知を送信してこのプログラムの実行を終了するステップ７１８とを含む。ステップ７１４の判定結果が肯定であれば制御はステップ７１６に進み、車載装置との通信を確立して当該車載装置を搭載している車両に対するサービスを開始する。
【００８５】
このプログラムはさらに、ステップ７１０の判定結果が否定であることに応答して、メッセージの内容に応じた他の処理を実行し、プログラムの実行を終了するステップ７２０を含む。
【００８６】
図１３に、図１２のステップ７１２を実現するプログラムの制御構造をフローチャート形式で示す。図１３を参照して、このプログラムは、ハンドオーバの対象となる車両のリストの記憶領域を確保し、その内容をクリアするステップ７４０と、ハンドオーバ可能な車両の数を示す変数ｉに０を代入するステップ７４２と、ステップ７４２の後、自己に接続しているすべての車両の車載装置に対して以下の処理７４６を実行するステップ７４４と、ステップ７４４の実行が完了した後に、ハンドオーバ可能な車両の数を示す変数ｉの値が０か否かを判定し、判定結果に応じて制御の流れを分岐させるステップ７４８と、ステップ７４８の判定が肯定であることに応答して、フラグに９を代入しこのプログラムの実行を収容するステップ７５０とを含む。
【００８７】
このプログラムはさらに、ステップ７４８での判定が否定（すなわちｉ≧０）であったことに応答して、変数ｉの値が１と等しいか否かを判定し、判定結果に応答して制御を分岐させるステップ７５２と、ステップ７５２の判定が肯定であるときに、そのただ１つの車載装置を搭載した車両を選択し、その車載装置に対して、他のエッジサーバに接続するよう指示を送信するステップ７５６と、ステップ７５６の後に、フラグの値を０に設定してこのプログラムの実行を終了するステップ７５８と、ステップ７５２の判定が否定のとき、すなわち複数の車載装置において、そのエッジサーバリストの中に他のエッジサーバがリストされている場合に、その中で最も低遅延、かつ運転支援サービスの許容遅延以内で他のエッジサーバと接続可能な車両を選択し、制御をステップ７５６に移すステップ７６０とを含む。
【００８８】
処理７４６は、接続中の車両（車載装置）からその車両が持つエッジサーバリストを取得するステップ７８０と、ステップ７８０で取得したリストに、他のエッジサーバがリストされているか否かを判定し判定結果が否定のときに対象車両に対する処理７４６の実行を終了するステップ７８２と、ステップ７８２の判定が肯定のときに、処理中の車両を候補車両リストに追加するステップ７８４と、ステップ７８４に続き、変数ｉの値に１を加算して対象の車両に対する処理７４６を終了するステップ７８６とを含む。
【００８９】
〈動作〉
以上説明した構造を有するこの発明に係る運転支援システム１６０は以下のように動作する。以下の動作の説明では、車両１７２（図１）がエッジサーバ１８０に接続を試みる際の車両１７２の動作とエッジサーバ１８０の動作とを、図４から図６を使用し、適宜図８および図１２から図１３を参照しながら説明する。
【００９０】
なお、図４を参照して、車載装置２１０は、その車両に搭載されているセンサからのセンサデータを受信し、運転支援処理部２５０によりエッジサーバ１８０への送信データを生成して無線通信部２３０を介してエッジサーバ１８０に定期的に送信する。
【００９１】
図５を参照して、通信装置２７０を介してセンサデータを受信した受信処理部２７２は、センサデータを集約解析部２７４および個別解析部２７８に、それぞれ渡す。集約解析部２７４は、複数の車載装置から受信したセンサデータを集約して解析し、集約解析結果記憶部２７６に保存する。一方、個別解析部２７８は、各車載装置から受信したセンサデータを個別に解析し、個別解析結果を個別解析結果記憶部２８０に保存する。運転支援情報生成部２８２が集約解析結果記憶部２７６に記憶された集約解析結果と個別解析結果記憶部２８０に記憶された個別解析結果とから交通状況俯瞰マップを生成し、交通状況俯瞰マップから運転支援情報を生成して運転支援情報記憶部２８４に格納する。
【００９２】
一方、各車両の車載装置は、その車両のセンサから得られる情報に基づいて、自己の位置、速度、移動方向、車種、および自己の識別情報等をエッジサーバ１８０に送信する。エッジサーバ１８０の受信処理部２７２は、こうした車両に関する情報に基づいて各車両の位置を追跡し、各車両の位置、速度、移動方向、車種、識別情報等を車両情報記憶部２８８に記憶する。
【００９３】
運転支援情報配信部２９０は、運転支援情報記憶部２８４に記憶された運転支援情報を定期的に読出し、車両情報記憶部２８８に記憶された車両のアドレスに基づいて、各車両に配信する処理を実行する。この運転支援情報は情報送信処理部２９６および通信装置２７０を介して対象車両の車載装置に送信される。
【００９４】
これらセンサデータに関する運転支援情報の生成および配信とは別に、各車両とエッジサーバとの接続の確立については以下のような処理がエッジサーバ１８０と車載装置との間で実行される。
【００９５】
なお、車両１７２は、以下に述べる接続処理に先立ち、無線基地局６０が定期的に送信する報知情報を受信し、無線基地局６０の管理するエッジサーバリストを入手して、図６に示す近傍サーバリスト記憶部２９４に記憶しているものとする。すなわち、無線通信部２３０は無線基地局６０が定期的に送信する報知情報を受信し、エッジサーバリストを報知情報から抽出してエッジサーバ管理部２３２に与える。エッジサーバ管理部２３２はこのエッジサーバリストをエッジサーバリスト記憶部２３４に記憶する。
【００９６】
図４を参照して、この運転支援情報を受信した無線通信部２３０は運転支援情報を運転支援処理部２５０に与える。運転支援処理部２５０はこの運転支援情報に基づいて各種の情報の表示、音声の発生等の運転支援処理を実行する。
【００９７】
図４を参照して、車両１７２の車載装置２１０は、エッジサーバリストの先頭にリストされている無線基地局６０にアクセスし、接続を要求する（図８のステップ４２０）。図５を参照して、通信装置２７０を介してこの接続要求を受信したエッジサーバ１８０の集約解析部２７４は、この接続要求を負荷分散処理部２９２に与える。
【００９８】
図１２を参照して、エッジサーバ１８０の負荷分散処理部２９２は、この要求を読み、その内容を確認する（ステップ７００）。要求が接続要求なので（ステップ７０２においてＹＥＳ）制御はステップ７０４に進み、負荷分散処理部２９２はエッジサーバ１８０の現在の負荷状況について確認する。この負荷状況の確認は、例えばＣＰＵの稼働状況（％）、メモリの消費率（％）、エッジサーバ１８０のＣＰＵ温度等を考慮して行われる。負荷状況が新たな接続を収容できる程度である（高負荷でない）と判定されると（ステップ７０６の判定がＮＯ）、制御はステップ７１６に進み、相手である車載装置との接続を確立し、その車載装置を搭載した車両に対するサービスを開始してこの処理を終了する。
【００９９】
エッジサーバ１８０の負荷が、新たな車載装置との接続が許容できないほど高いと判定された場合（ステップ７０６においてＹＥＳ）、制御はステップ７０８に進み、他のエッジサーバとの接続を試す（エッジサーバを再選択する）ように依頼する回答を対象の車載装置に送信し、処理を終わる。
【０１００】
図８を参照して、エッジサーバ１８０からの回答を受信した車載装置２１０の無線通信部２３０は、この回答がエッジサーバ１８０との接続を認めるものか否かを判定する（ステップ４２２）。判定が肯定のときには無線通信部２３０はエッジサーバ接続処理部２３６を制御してエッジサーバ１８０との接続を確立させ（ステップ４２４）、エッジサーバ１８０による運転支援のサービスの受信を開始する。受信した回答が接続要求を拒否するものである場合（ステップ４２２における判定が否定）には、無線通信部２３０はサーバ選択部２３８を制御し、接続先のエッジサーバを選択する処理を開始する。
【０１０１】
サーバ選択部２３８は、エッジサーバ遅延測定部２４０を制御し、無線基地局６０（図２）から受信しエッジサーバリスト記憶部２３４に記憶されているエッジサーバリスト内で、先頭にあるエッジサーバ以外の各エッジサーバ（サーバ候補）の、通信における遅延を測定させ、エッジサーバリスト記憶部２３４にその遅延量を追加して書込む（図８のステップ４２６）。具体的には、エッジサーバ遅延測定部２４０は、エッジサーバリスト記憶部２３４内の各サーバ候補に対してping命令を送信し、その応答を受信するまでの時間に基づいて各エッジサーバとの通信における遅延を算出する。このように遅延時間をping命令の応答時間に基づいて計算するので、簡単に遅延を確認できる。なお、ここで使用する命令はping命令には限定されない。他のサーバに対して応答を要求する命令であればどのようなものでもよい。
【０１０２】
続いてサーバリストソート処理部２４２は、遅延時間が追加されたエッジサーバリストを読出し、遅延時間の昇順でエッジサーバリストをソートしてサーバ候補リストを生成しサーバ候補リスト記憶部２４４に保存する（図８のステップ４２８）。
【０１０３】
図４のサーバ選択部２３８は、サーバ候補リスト記憶部２４４に記憶されたサーバ候補リストの先頭にリストされたサーバ候補を選択し（図８のステップ４３０）、選択したエッジサーバに接続要求を送信する（図８のステップ４３２）。サーバ選択部２３８は、このサーバ候補からの回答を受信し（図８のステップ４３４）、その回答がサーバ候補との接続を認めるものかどうか判定する（ステップ４３６）。回答が肯定なら（ステップ４３６でＹＥＳ）サーバ選択部２３８はエッジサーバ接続処理部２３６を制御し、そのサーバ候補との接続を確立させる（ステップ４２４）。回答が否定なら（ステップ４３６でＮＯ）、サーバ選択部２３８はサーバ候補リストに次のエッジサーバがあるか否かを判定する（図８のステップ４３８）。判定が肯定なら、サーバ選択部２３８はそのサーバ候補を選択し（ステップ４４０）、そのエッジサーバに対して接続要求を送信する（ステップ４３２）。判定が否定なら（図４のステップ４３８においてＮＯ）、図４に示すハンドオーバ依頼処理部２４６は、サーバ候補リスト記憶部２４４に記憶されたサーバ候補リストにリストされた各サーバ候補に対し、ハンドオーバ処理を依頼するハンドオーバ依頼処理を実行する（ステップ４４２）。
【０１０４】
より具体的には、ハンドオーバ依頼処理部２４６は、サーバ候補リスト記憶部２４４に記憶されたサーバ候補リストの先頭にリストされたサーバ候補を選択する（図９のステップ４７０）。そして選択したエッジサーバに対して車両のハンドオーバを依頼する（ステップ４７２）。
【０１０５】
図５を参照して、このハンドオーバの依頼を受信したエッジサーバ（通常はエッジサーバ１８０とは別のサーバとなるが、個々では説明のために仮にエッジサーバ１８０とする）の受信処理部２７２は、この依頼を負荷分散処理部２９２に与える。負荷分散処理部２９２は以下のような処理を実行する。
【０１０６】
図１２を参照して、負荷分散処理部２９２はまず受信したメッセージの内容を確認する（ステップ７００）。このメッセージは接続要求ではなくハンドオーバの依頼なので、ステップ７０２の判定は否定、ステップ７１０の判定は肯定となる。ステップ７１２でエッジサーバ１８０はハンドオーバ処理を実行する。ハンドオーバ処理の詳細については後に説明するが、この処理では、要するに、エッジサーバ１８０に接続している車載装置のうち、１台との接続を解除して別のエッジサーバと接続させ、ハンドオーバ依頼を送信してきた車載装置と接続することが可能かどうかを判定する処理である。
【０１０７】
ハンドオーバ処理が完了した後、負荷分散処理部２９２は、ハンドオーバが可能かどうかを判定し（ステップ７１４）、ハンドオーバができない場合（ステップ７１４においてＮＯ）、収容不可を相手の車載装置に送信（ステップ７１８）し処理を終了する。ハンドオーバが可能な場合には、ハンドオーバの結果として負荷が減少したことに基づいて、ハンドオーバを依頼してきた車載装置との接続を確立し、その車載装置を搭載した車両への運転支援サービスの提供を開始し（ステップ７１６）、処理を終了する。
【０１０８】
再び図９を参照して、相手のサーバ候補からハンドオーバ可の回答を受信すると（ステップ４７６においてＹＥＳ）、車載装置２１０は、ハンドオーバ不可フラグをリセットし、このプログラムの実行を終了する（ステップ４８４）。図８に戻り、ステップ４４４の判定が肯定となるため、ステップ４２４においてハンドオーバ可能であるサーバ候補との接続を確立し、エッジサーバとの接続処理を終了する。
【０１０９】
ハンドオーバ不可の回答を受信すると（ステップ４７６においてＮＯ）、車載装置２１０はまた最初からエッジサーバとの接続処理を再開する（ステップ４４４からステップ４２０）。
【０１１０】
図６および図１３を参照して、図１２のハンドオーバ処理の詳細について説明する。ハンドオーバ処理が開始されると、負荷分散処理部２９２のハンドオーバ処理確認部３２６は、まずハンドオーバの対象となる候補車両のリストをクリアする（図１３のステップ７４０）。続いて、ハンドオーバが可能な車両の数を係数する変数ｉに０を代入することで変数ｉを初期化する（ステップ７４２）。そして、エッジサーバ１８０に接続中の全車両に対して処理７４６（図１３）を実行する。
【０１１１】
処理７４６では、処理対象の車両について、その車両が保持しているエッジサーバリスト（図４のエッジサーバリスト記憶部２３４に保持されている。）をその車両の車載装置から取得する（図１３のステップ７８０）。そのリスト内に、エッジサーバ１８０とは異なるエッジサーバがあるか否かを判定する（ステップ７８２）。もしもそのようなエッジサーバがあれば、この車両を候補車両リストに追加し（ステップ７８４）、変数ｉの値に１を加算して（ステップ７８６）、この車両に対する処理７４６を終了し、次の車両の処理に移る。エッジサーバリスト内にエッジサーバ１８０以外のエッジサーバがなければ（ステップ７８２でＮＯ）この車両に対しては何もせず処理７４６を終了し、次の車両の処理に移る。
【０１１２】
ステップ７４４が終了すると変数ｉの値が０か否かを判定する。変数ｉは他のエッジサーバをリスト内に持つ車載装置（車両）の数を表す。変数ｉが０であれば、他のエッジサーバに接続先を変更できる車載装置は全く存在しないということである。したがって、ハンドオーバ処理が可能か否かを示すフラグに、不可能であることを示す値（９）を代入して処理を終了する。もしも変数ｉの値が１に等しければ、１台の車載装置のみが他のエッジサーバにハンドオーバ可能ということである。したがってその車両をハンドオーバの対象に選択し（ステップ７５４）、選択された車両をそのサーバに接続させる処理を行って（ステップ７５６）、フラグにハンドオーバ可能であることを示す値（０）を代入して（ステップ７５８）処理を終了する。
【０１１３】
ステップ７５２における判定が否定のとき、すなわち変数ｉの値が２以上であるときは、エッジサーバ１８０以外のエッジサーバをエッジサーバリストに持つ車載装置が２以上存在するということである。この中のいずれかを選択する必要がある。どの車載装置を選択するかについての基準はランダムに選ぶことを含めて複数個あり得る。しかし、運転支援システム１６０の資源を有効に用いることから考えると、この車載装置を新たなエッジサーバに接続させるときにも、互いの通信の遅延ができるだけ小さくすることが好ましい。そこで、この実施の形態では、ステップ７４４の処理で選択された複数個の車載装置のうちで、エッジサーバと組合せたときの遅延が最も小さくなるような車載装置を選択し、そのときのエッジサーバに接続させるようにする（ステップ７６０）。こうすることで、新たな車両１７２をエッジサーバ１８０に接続可能にするだけではなく、この処理のために他のエッジサーバへのハンドオーバが必要となる他の車載装置についても、最小限の遅延で運転支援サービスが受けられることになる。
【０１１４】
この実施の形態によれば、エッジサーバがサービスを提供するエリアに多数の車両が存在し、すべての車載装置が同じエッジサーバに接続することが難しい環境でも、この実施の形態に係る車載装置は他のエリアを管理するエッジサーバに接続して低遅延でエッジサーバのサービスを受けることが可能になる。遅延を測定し、その昇順でソートして順にエッジサーバへの接続を試みるので、遅延が小さなサーバを早く見つけることができる。そうしたサーバが見つからないときには、車載装置がエッジサーバに対しハンドオーバを要求できる。したがって、車載装置がいずれかのエッジサーバに接続でき、しかもそのエッジサーバと低遅延で通信できる可能性が高い。その結果、低遅延でエッジサーバによる運転支援サービスを直ちに受けることができる。
【０１１５】
なお、この実施の形態では、ハンドオーバが可能な車載装置の候補を複数個抽出し、その中から１台を選んでハンドオーバの対象としている。しかしこの開示はそのような実施の形態には限定されない。例えば、ハンドオーバ可能な車載装置が１台見つかった時点で直ちにその車載装置をハンドオーバの対象として選択してもよい。こうすることで、ハンドオーバによって車載装置がエッジサーバに接続できるまでの時間を短縮できる。
【０１１６】
［第２の実施の形態］
上記実施の形態では、車載装置が接続するエッジサーバを選択する際に、最も遅延が小さなものを選択している。しかしこの開示はそのような実施の形態には限定されない。車載装置が移動する車両に搭載されるという特性を備えていることを考えると、単に通信の遅延時間だけではなく、車載装置を搭載した車両の移動速度および方向も考慮することが望ましい。そこでこの第２の実施の形態では、車載装置がエッジサーバに接続する際には、エッジサーバとの間の通信の遅延だけではなく、車両の移動方向および速度も考慮して、車載装置とエッジサーバとの接続においてハンドオーバができるだけ少なくなるように接続先を選択する。
【０１１７】
図１４に、この第２の実施の形態に係る車載装置で実行される、エッジサーバとの接続処理を実現するコンピュータプログラムの制御構造をフローチャート形式で示す。図１４を参照して、このプログラムは、図８のステップ４２６の後に、ステップ８００を新たに含み、図８のステップ４２８に替えて、ステップ８０２を持つ。その他の点ではこのプログラムは図８に示すものと同様である。
【０１１８】
図１４を参照して、このプログラムは、図８と同様最寄りの基地局から受信したエッジサーバのリストの先頭にあるエッジサーバに接続要求を送信するステップ４２０を含む。この実施の形態では、無線基地局６０等は、報知情報としてエッジサーバリストを送信する際に、それらに最も近接した無線基地局の位置を自己の位置とともに送信する。
【０１１９】
このプログラムはさらに、ステップ４２０で送信した接続要求をエッジサーバが承認したか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ４２２と、ステップ４２２の判定が肯定、すなわち接続要求が承認されたと判定されたことに応答して、そのエッジサーバとの接続を確立し、処理を終了するステップ４４６とを含む。これは第１の実施の形態と同様である。
【０１２０】
このプログラムはさらに、ステップ４２２の判定が否定であることに応答して、エッジサーバのリストにリストされている各サーバ候補に対してping命令を送信して応答時間を測定することによりそのサーバ候補との通信の遅延時間ｄを確認し、遅延時間を追加したサーバ候補リストを生成するステップ４２６と、各サーバ候補リストに付されているそのサーバ候補の近傍に位置する無線基地局の位置と、自己の現在の位置および速度（移動方向と移動の速さ）とに基づいて、一定時間後に自己との間の予測距離Ｌを算出するステップ８００と、ステップ４２６で算出された遅延ｄとステップ８００で算出された距離Ｌとの間で例えば換算遅延量Ｄ＝αｄ＋（１−α）Ｌ（ただしαは０≦α≦１）により換算遅延量Ｄを計算し、サーバ候補リスト内の各サーバ候補に付与するステップ８０２と、この換算遅延量Ｄの昇順でサーバ候補をソートするステップ８０４とを含む。ステップ８０４の後のステップ４３０以下の処理は図８の場合と同様である。
【０１２１】
ステップ４２０で最初に最寄りのエッジサーバに接続を要求し、その要求が承認されると直ちにそのエッジサーバに接続する。したがって通常時には複雑な処理を行わなくてもよい。最寄りのエッジサーバに接続できず、他のエッジサーバへの接続を試みる際には、上記したように換算遅延量Ｄを用いることにより、単に現時点での遅延時間が最小であるようなエッジサーバではなく、一定時間にわたってある程度好ましい遅延時間での通信が期待でき、かつ将来のハンドオーバが少なくて済むようなエッジサーバを選択できる。
【０１２２】
なお、上記した式におけるαは０≦α≦１を満たす任意の定数であるが、例えば車載装置を搭載した車両の移動の速さおよび方向またはその双方に依存する変数としてもよい。例えば移動の速さが小さい場合にはαは１に近い値とし、移動の速度が大きな場合にはαは０に近い値とする、等である。
【０１２３】
また、換算遅延量Ｄの算出式は上記した式に限らない。遅延時間ｄが大きくなれば換算遅延量Ｄも大きくなり、距離Ｌが大きくなれば換算遅延量Ｄも大きくなるような式、すなわち遅延時間ｄと距離Ｌとの双方に関する単調増加関数に相当するものであればどのような式を採用してもよい。この場合の単調増加関数は好ましくは遅延時間ｄと距離Ｌとの相補について狭義の単調増加関数であるが、定義域の一部区間において広義の単調増加関数であってもよい。
【０１２４】
さらには、ステップ８００において無線基地局の位置を用いるのではなく、エッジサーバの位置を用いて車載装置との間の距離を算出するようにしてもよい。この場合には、エッジサーバのリストにそのエッジサーバの位置データを付しておくようにすればよい。
【０１２５】
以上のようにこの実施の形態によれば、車載装置が接続するエッジサーバを選択する際に、エッジサーバの負荷状況のみで車載装置との接続を判定するのではなく、エッジサーバとの通信の遅延と、車載装置を搭載した車両と各エッジサーバとの間の距離の変化とを考慮して車載装置が接続するエッジサーバを選択できる。その結果、低遅延で、かつ将来にわたって長い間ハンドオーバなしで一定のエッジサーバとの接続を継続し、その運転支援サービスを受けることができる。
【０１２６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。この開示の範囲は、発明の詳細な説明の記載により示されるわけではなく、特許請求の範囲の各請求項によって示され、特許請求の範囲の文言と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２７】
５０、１６０  運転支援システム
６０、６４、６８  無線基地局
６２、６６、７０、１８０、１８２、１８４  エッジサーバ
８０、１７０  バックホール
８２  コアネットワーク
９０、９４、９８  カメラ
９２、９６、１００、２０４  ＬｉＤＡＲ
１１０、１１２、１１４  エリア
１２０、１２４、１２６、１２８、１３０  光ファイバ
１２２  メタル線
１４０、１７２  車両
２００  ミリ波レーダ
２０２  車載カメラ
２１０  車載装置
２３０、３８０  無線通信部
２３２  エッジサーバ管理部
２３４  エッジサーバリスト記憶部
２３６  エッジサーバ接続処理部
２３８  サーバ選択部
２４０  エッジサーバ遅延測定部
２４２  サーバリストソート処理部
２４４  サーバ候補リスト記憶部
２４６  ハンドオーバ依頼処理部
２４８  ハンドオーバ処理部
２５０  運転支援処理部
２５２  センサデータ処理部
２７０  通信装置
２７２  受信処理部
２７４  集約解析部
２７６  集約解析結果記憶部
２７８  個別解析部
２８０  個別解析結果記憶部
２８２  運転支援情報生成部
２８４  運転支援情報記憶部
２８６  車両追跡部
２８８  車両情報記憶部
２９０  運転支援情報配信部
２９２  負荷分散処理部
２９４  近傍サーバリスト記憶部
２９６  情報送信処理部
３２０  処理振分部
３２１  負荷確認部
３２２  車両サービス開始処理部
３２４  負荷応答生成部
３２６  ハンドオーバ確認処理部
３２８  ハンドオーバ拒否部
３３０  出力部
３５０、６４０  コンピュータ
３５２  タッチパネル
３５４、６４２  モニタ
３５６  各種アクチュエータ
３５８  各種センサ
３６０  スピーカおよびマイク
３６２  ＵＳＢメモリ
３７０、６５６  ＣＰＵ
３７２、６６６  バス
３７４、６５８  ＲＯＭ
３７６、６６０  ＲＡＭ
３７８  補助記憶装置
３８２  入出力Ｉ／Ｆ
３８４、６５２  ＵＳＢメモリポート
６４４  ネットワークＩ／Ｆ
４２０、４２２、４２４、４２６、４２８、４３０、４３２、４３４、４３６、４３８、４４０、４４２、４４４、４７０、４７２、４７４、４７６、４７８、４８０、４８２、４８４、７００、７０２、７０４、７０６、７０８、７１０、７１２、７１４、７１６、７１８、７２０、７４０、７４２、７４４、７４８、７５０、７５２、７５４、７５６、７５８、７６０、７８０、７８２、７８４、７８６、８００、８０２、８０４  ステップ
６４６  キーボード
６４８  マウス
６５０  ＤＶＤドライブ
６５４  ハードディスク
６５７  ＧＰＵ
６６８  ネットワーク
７４６  処理
【図１】
2020191605.tif 000003
【図２】
2020191605.tif 000004
【図３】
2020191605.tif 000005
【図４】
2020191605.tif 000006
【図５】
2020191605.tif 000007
【図６】
2020191605.tif 000008
【図７】
2020191605.tif 000009
【図８】
2020191605.tif 000010
【図９】
2020191605.tif 000011
【図１０】
2020191605.tif 000012
【図１１】
2020191605.tif 000013
【図１２】
2020191605.tif 000014
【図１３】
2020191605.tif 000015
【図１４】
2020191605.tif 000016