Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7747202B2 - リソース割当方法および装置、ならびにコンピュータプログラム - Google Patents
[go: Go Back, main page]

JP7747202B2 - リソース割当方法および装置、ならびにコンピュータプログラム - Google Patents

リソース割当方法および装置、ならびにコンピュータプログラム

Info

Publication number
JP7747202B2
JP7747202B2 JP2024526299A JP2024526299A JP7747202B2 JP 7747202 B2 JP7747202 B2 JP 7747202B2 JP 2024526299 A JP2024526299 A JP 2024526299A JP 2024526299 A JP2024526299 A JP 2024526299A JP 7747202 B2 JP7747202 B2 JP 7747202B2
Authority
JP
Japan
Prior art keywords
server
resources
vehicle
response
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024526299A
Other languages
English (en)
Other versions
JPWO2023238563A5 (ja
JPWO2023238563A1 (ja
Inventor
伸介 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Publication of JPWO2023238563A1 publication Critical patent/JPWO2023238563A1/ja
Publication of JPWO2023238563A5 publication Critical patent/JPWO2023238563A5/ja
Application granted granted Critical
Publication of JP7747202B2 publication Critical patent/JP7747202B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)

Description

この開示は、リソース割当方法および装置、ならびにコンピュータプログラムに関する。この出願は2022年6月9日出願の日本出願第2022-093583号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
運転支援機能を有する車載装置の場合、その利用できる演算リソースに変更が生ずる場合がある。例えば車両の機器の一部が故障すると、その機器が担っていた機能が車載装置から利用できなくなる。そうした場合に、失われた機能に他の演算リソースを割り当てる必要が生じる。後掲の特許文献1には、そのような場合に演算リソースの再割当を行う技術が開示されている。
特開2021-93090号公報
この開示の第1の局面に係るリソース割当方法は、サーバとの通信により運転支援機能を提供する車載装置におけるリソース割当方法であって、車載装置は、車載装置を搭載した車両の走行エリアを管轄するサービス提供装置のリソースと車載装置を搭載した車両である自車両のリソースとを切り替えて車載装置の各機能に割り当てる切替型車載装置であり、リソース割当方法は、コンピュータが、自車両の走行エリアを管轄するサービス提供装置であるサーバのリソースと、自車両のリソースとを車載装置の各機能に割り当てる割当処理を実行するステップと、コンピュータが、走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、割当処理を再実行するステップとを含む。
この開示の第2の局面に係るリソース割当装置は、サーバとの通信により運転支援機能を提供する車載装置におけるリソース割当装置であって、車載装置は、車載装置を搭載した車両の走行エリアを管轄するサーバのリソースと車載装置を搭載した車両である自車両のリソースとを切り替えて車載装置の各機能に割り当てる切替型車載装置であり、リソース割当装置は、自車両の走行エリアを管轄するサーバのリソースと、自車両のリソースとを車載装置の各機能に割り当てる割当処理を実行する割当実行部と、走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、割当処理を再実行する割当再実行部とを含む。
この開示の第3の局面に係るコンピュータプログラムは、コンピュータを、サーバとの通信により運転支援機能を提供する車載装置においてリソースの割当を行うように機能させるコンピュータプログラムであって、車載装置は、車載装置を搭載した車両の走行エリアを管轄するサーバのリソースと車載装置を搭載した車両である自車両のリソースとを切り替えて車載装置の各機能に割り当てる切替型車載装置であり、コンピュータプログラムは、コンピュータを、自車両の走行エリアを管轄するサーバのリソースと、自車両のリソースとを車載装置の各機能に割り当てる割当処理を実行する割当実行部と、走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、割当処理を再実行する割当再実行部として機能させる。
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
図1は、車載エッジサーバ(以下、単に「車載エッジ」という。)の技術的発展段階を示す図である。 図2は、この開示の第1実施形態に係る協調システムに参加する車両の車両システムの概略構成を示すブロック図である。 図3は、第1実施形態に係る協調システムの1例を示す図である。 図4は、図2に示す車両システムの車載エッジを実現するコンピュータのハードウェアブロック図である。 図5は、図4に示す車載エッジの機能的構成を示すブロック図である。 図6は、サーバ構成の種類とその特徴とを表形式で示す図である。 図7は、車両の周辺に存在する車両の種類、車両移動の変化状況、およびサーバリソース状況の組み合わせに伴う、車載エッジとサーバとの連携の切替パターンを表形式で示す図である。 図8は、車載エッジが実行するプログラムの概略構成を示すフローチャートである。 図9は、リソースを自車両とサーバとの間で切替可能な切替型の車載エッジにおけるリソースの再割当を行うプログラムの制御構造を示すフローチャートである。 図10は、図9に示すフローチャートにおいて、切替型の周辺車両があるときに実行されるプログラムの制御構造の前半を示すフローチャートである。 図11は、図9に示すフローチャートにおいて、切替型の周辺車両があるときに実行されるプログラムの制御構造の後半を示すフローチャートである。 図12は、図9に示すフローチャートにおいて、切替型の周辺車両がないときに実行されるプログラムの制御構造の前半を示すフローチャートである。 図13は、図9に示すフローチャートにおいて、切替型の周辺車両がないときに実行されるプログラムの制御構造の後半を示すフローチャートである。 図14は、切替先のサーバの構成に対する、切替型の車両におけるリアルタイムアプリおよび非リアルタイムアプリのリソース割当を表形式で示す図である。 図15は、切替型の車載装置において、ある機能のためのリソースを自車両からサーバに切り替えるためのプログラムの制御構造を示すフローチャートである。 図16は、サーバリソース状況と、周辺車両とのリソースの調整のためのリアルタイムアプリと非リアルタイムアプリとに対するリソース割当を表形式で示す図である。 図17は、切替型周辺車両とのリソース調整を行うためのプログラムの制御構造を示すフローチャートである。 図18は、エッジサーバ(以下「エッジ」という。)を使用したリソースの切替を行うプログラムの制御構造を示すフローチャートである。 図19は、リアルタイムアプリに関する、切替型周辺車両との優先度処理のためのプログラムの制御構造を示すフローチャートである。 図20は、非リアルタイムアプリに関する、切替型周辺車両との優先度処理のためのプログラムの制御構造を示すフローチャートである。 図21は、エッジを使用しないリソースの切替を行うプログラムの制御構造を示すフローチャートである。
[本開示が解決しようとする課題]
特許文献1に開示の技術によれば、車載装置が利用できなくなった演算リソースとは別の種類の演算リソースにも、その機能を割り当てることができるという効果が得られる。
しかし、今後は運転支援機能を有する車載装置の普及が加速することが予測される。一方、車載装置に要求される機能そのものも多様化すると考えられる。たとえば、車両のハードウェアの制限により、車載装置が利用できる演算リソースによっては実現できないような機能が出現することも考えられる。そうした問題には特許文献1に開示の技術は十分に対応できない。
したがってこの開示は、様々な機能を柔軟に提供できるようなリソース割当方法および装置、ならびにコンピュータプログラムを提供することを目的とする。
[本開示の効果]
以上のようにこの開示によると、様々な機能を柔軟に提供できるようなリソース割当方法および装置、ならびにコンピュータプログラムが提供できる。
[本開示の実施形態の説明]
以下の説明および図面においては、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の1または複数の任意の特徴を組み合わせてもよい。
(1) この開示の第1の局面に係るリソース割当方法は、サーバとの通信により運転支援機能を提供する車載装置におけるリソース割当方法であって、車載装置は、車載装置を搭載した車両の走行エリアを管轄するサービス提供装置のリソースと車載装置を搭載した車両である自車両のリソースとを切り替えて車載装置の各機能に割り当てる切替型車載装置であり、リソース割当方法は、コンピュータが、自車両の走行エリアを管轄するサービス提供装置であるサーバのリソースと、自車両のリソースとを車載装置の各機能に割り当てる割当処理を実行するステップと、コンピュータが、走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、割当処理を再実行するステップとを含む。
この構成により、走行エリア内に存在している、サーバとの連携を行う車両の数の変化に応じて、各機能を実現するためのリソースをサーバと車両との間で柔軟に割り当てることができる。その結果、車両のための様々な機能を柔軟に提供できる。
(2) 上記(1)において、再実行するステップは、コンピュータが、走行エリアと走行エリアに隣接する隣接エリアとを含む周辺エリア内に存在する各車両が、サービス提供装置との連携を行なわない単独型車両、リソースの固定的な割当を使用してサービス提供装置と連携する連携型車両、および切替型車載装置を搭載する切替型車両のいずれであるかを判別するステップと、コンピュータが、周辺エリア内に単独型車両以外の車両が存在するか否かを判定する第1判定ステップと、コンピュータが、第1判定ステップにおいて周辺エリア内に単独型車両以外の車両が存在すると判定されたことに応答して、サーバにおいて利用可能なリソースに応じて、自車両のリソースとサーバのリソースとを車載装置の各機能に再割当する処理を実行するステップとを含んでもよい。
この構成により、周辺エリア内に存在している単独型車両の数に関係なく、サーバとの連携を行う車両の数に応じて、各機能を実現するためのリソースをサーバと車両との間で柔軟に割り当てることができる。その結果、車両のための様々な機能を柔軟に提供できる。
(3) 上記(2)において、再割当する処理を実行するステップは、コンピュータが、周辺エリア内に自車両以外に切替型車両が存在しているか否かを判定する第2判定ステップと、コンピュータが、第2判定ステップにおける判定が肯定であることに応答して、周辺エリア内に存在する切替型車両とのサーバのリソースに関する調整結果と、サーバにおいて利用可能なリソースの状況とに基づき、サーバのリソースと、自車両のリソースとを車載装置の各機能に再割当する処理を実行する第1再割当実行ステップと、コンピュータが、第2判定ステップにおける判定が否定であることに応答して、サーバにおいて利用可能なリソースの状況に基づき、サーバのリソースと、自車両のリソースとを車載装置の各機能に再割当する処理を実行する第2再割当実行ステップとを含んでもよい。
この構成により、走行エリア内に存在している単独型車両の数および連携型車両の数に関係なく、周辺の切替型車両の数に応じて、各機能を実現するためのリソースをサーバと自車両との間で柔軟に割り当てることができる。その結果、車両のための様々な機能を柔軟に提供できる。
(4) 上記(3)において、第1再割当実行ステップは、コンピュータが、第2判定ステップにおける判定が肯定であることに応答して、走行エリア内に存在する連携型車両または切替型車両の増加を検出または予測する第1検出ステップと、コンピュータが、第1検出ステップにおいて走行エリア内に存在する連携型車両または切替型車両の増加が検出または予測されたことに応答して、サーバのリソースが不足するか否かを判定する第3判定ステップと、コンピュータが、第3判定ステップにおける判定結果が肯定であることに応答して、周辺エリア内に存在する切替型車両とのサーバのリソースに関する調整を実行し、調整の結果に基づいて、車載装置の機能に割り当てられていたサーバのリソースの少なくとも一部を自車両のリソースに切り替えるステップとを含んでもよい。
この構成により、走行エリア内に存在している単独型車両の数に関係なく、走行エリア内の切替型車両および連携型車両の増加を検出したことまたはそれを予測したことに応じて、減少が予測されるサーバのリソースを車両間で調整し、一部の機能に自車両のリソースを割り当てることができる。その結果、他の切替型車両との協働により、各機能を実現するためのリソースをサーバと自車両との間で柔軟に割り当てることができる。その結果、車両のための様々な機能を柔軟に提供できる。
(5) 上記(4)において、第1再割当実行ステップは、さらに、コンピュータが、第2判定ステップにおける判定が肯定であることに応答して、走行エリア内に存在する連携型車両または切替型車両の減少を検出または予測する第2検出ステップと、コンピュータが、第2検出ステップにおいて走行エリア内に存在する連携型車両または切替型車両の減少が検出または予測されたことに応答して、サーバのリソースに余裕が生じるか否かを判定する第4判定ステップと、コンピュータが、第4判定ステップにおける判定結果が肯定であることに応答して、周辺エリア内に存在する切替型車両とのサーバのリソースに関する調整を実行し、調整の結果にもとづいて、車載装置の機能に割り当てられていた自車両のリソースの少なくとも一部をサーバのリソースに切り替えるステップと含んでもよい。
この構成により、走行エリア内に存在している単独型車両の数に関係なく、走行エリア内の切替型車両および連携型車両の数の減少が検出されたことまたはその予測がされたことに応じて、サーバで余裕が生じたリソースを車両間で調整して配分することで、自車両のリソースが割り当てられていた機能の一部にサーバのリソースを新たに割り当てることができる。その結果、各機能を実現するためのリソースをサーバと自車両との間で柔軟に割り当て、自車両の負担を軽減できる。その結果、車両のための様々な機能を柔軟に提供できる。
(6) 上記(3)において、第1再割当実行ステップは、コンピュータが、第2判定ステップにおける判定が肯定であることに応答して、走行エリア内に存在する連携型車両または切替型車両の減少を検出または予測する第2検出ステップと、コンピュータが、第2検出ステップにおいて走行エリア内に存在する連携型車両または切替型車両の減少が検出または予測されたことに応答して、サーバのリソースに余裕が生じるか否かを判定する第3判定ステップと、コンピュータが、第3判定ステップにおける判定結果が肯定であることに応答して、車載装置の機能に割り当てられていた自車両のリソースの少なくとも一部をサーバのリソースに切り替えるステップとを含んでもよい。
この構成により、走行エリア内に存在している単独型車両の数に関係なく、走行エリア内の切替型車両および連携型車両の数の減少が検出されたことまたはその予測がされたことに応じて、サーバで余裕が生じたリソースを車両間で調整して配分することで、自車両のリソースが割り当てられていた機能の一部にサーバのリソースを新たに割り当てることができる。その結果、各機能を実現するためのリソースをサーバと自車両との間で柔軟に割り当て、自車両の負担を軽減できる。その結果、車両のための様々な機能を柔軟に提供できる。
(7) 上記(3)から(6)のいずれか1つにおいて、第2再割当実行ステップは、コンピュータが、第2判定ステップにおける判定が否定であることに応答して、走行エリア内に存在する連携型車両の増加を検出または予測するエリア内増加検出ステップと、コンピュータが、エリア内増加検出ステップにおいて走行エリア内に存在する連携型車両の増加が検出または予測されたことに応答して、サーバのリソースが不足するか否かを判定する第1サーバリソース判定ステップと、コンピュータが、第1サーバリソース判定ステップにおける判定結果が肯定であることに応答して、車載装置の機能に割り当てられていたサーバのリソースの少なくとも一部を自車両のリソースに切り替えるステップとを含む。
この構成により、走行エリア内に存在している単独型車両の数に関係なく、走行エリア内の連携型車両の数の増加が検出されたことまたはその予測がされたことに応じて、減少が予測されるサーバのリソースを車両間で調整して配分することで、サーバのリソースが割り当てられていた機能の一部に自車両のリソースを新たに割り当てることができる。その結果、走行エリア内の連携型車両が増加しても、各機能を実現するためのリソースをサーバと自車両との間で柔軟に割り当て、サーバの負担を軽減できる。その結果、車両のための様々な機能を柔軟に提供できる。
(8) 上記(7)において、第2再割当実行ステップは、さらに、コンピュータが、第1サーバリソース判定ステップにおける判定が否定であることに応答して、走行エリア内に存在する連携型車両の減少を検出または予測するエリア内減少検出ステップと、コンピュータが、エリア内減少検出ステップにおいて走行エリア内に存在する連携型車両の減少が検出または予測されたことに応答して、サーバのリソースに余裕が生じるか否かを判定する第2サーバリソース判定ステップと、コンピュータが、第2サーバリソース判定ステップにおける判定結果が肯定であることに応答して、車載装置の機能に割り当てられていた自車両のリソースの少なくとも一部をサーバのリソースに切り替えるステップとを含んでもよい。
この構成により、サーバのリソースに余裕が生じる場合には、機能の実行に割り当てられていた自車両のリソースの一部を解放し、サーバのリソースを割り当てることができる。その結果、自車両の負担を軽減し、車両のための様々な機能を柔軟に提供できる。
(9) 上記(3)から(6)のいずれか1つにおいて、第2再割当実行ステップは、コンピュータが、第2判定ステップにおける判定が否定であることに応答して、走行エリア内に存在する連携型車両の減少を検出または予測するエリア内減少検出ステップと、コンピュータが、エリア内減少検出ステップにおいて走行エリア内に存在する連携型車両の数の減少が検出または予測されたことに応答して、サーバのリソースに余裕が生じるか否かを判定する第1サーバリソース判定ステップと、コンピュータが、第1サーバリソース判定ステップにおける判定結果が肯定であることに応答して、車載装置の機能に割り当てられていた自車両のリソースの少なくとも一部をサーバのリソースに切り替えるステップとを含んでもよい。
この構成により、サーバのリソースに余裕が生じる場合には、機能の実行に割り当てられていた自車両のリソースの一部を解放し、サーバのリソースを割り当てることができる。その結果、自車両の負担を軽減し、車両のための様々な機能を柔軟に提供できる。
(10) 上記(5)、(6)、(8)および(9)のいずれか1つにおいて、走行エリアのサーバは、少なくとも第1サーバを含み、車載装置の機能は、第1機能と、第1機能よりも速いレスポンスを必要とする第2機能とを含み、サーバのリソースに切り替えるステップは、走行エリアのサーバが、第1サーバよりレスポンスの速い第2サーバをさらに含むか否かを判定するサーバ構成判定ステップと、サーバ構成判定ステップにおいて、サーバが第2サーバを含まないと判定されたことに応答して、第2機能に自車両のリソースを割り当て、第1機能に第1サーバのリソースを割り当てるステップとを含んでもよい。
この構成により、速いレスポンスを必要とする機能に、自車両ではなく第2サーバのリソースを割り当てることができる。そのため、自車両の負荷を軽減でき、車両のための様々な機能を柔軟に提供できる。
(11) 上記(5)、(6)、(8)および(9)のいずれか1つにおいて、サーバのリソースに切り替えるステップは、さらに、サーバ構成判定ステップにおいて、サーバが第2サーバを含むと判定されたことに応答して、第1機能に第1サーバのリソースを割り当て、第2機能に第2サーバのリソースを割り当てるステップを含んでもよい。
この構成により、速いレスポンスを必要とする機能に、自車両ではなく第2サーバのリソースを割り当て、速いレスポンスが不要な機能には第1サーバのリソースを割り当てることができる。そのため、自車両の負荷を軽減でき、車両のための様々な機能を柔軟に提供できる。
(12) 上記(5)、(6)、(8)および(9)のいずれか1つにおいて、走行エリアのサーバは、少なくとも第1サーバを含み、車載装置の機能は、第1機能と、第1機能よりも速いレスポンスを必要とする第2機能とを含み、サーバのリソースに切り替えるステップは、走行エリアのサーバが、第1サーバよりレスポンスの遅い第2サーバをさらに含むか否かを判定するサーバ構成判定ステップと、サーバ構成判定ステップにおいて、サーバが第2サーバを含まないと判定されたことに応答して、第1機能および第2機能に第1サーバのリソースを割り当てるステップとを含んでもよい。
この構成により、速いレスポンスを必要とする機能には自車両のリソースを割り当て、速いレスポンスが不要な機能には第1のサーバのリソースを割り当てることができる。速いレスポンスが不要な機能に第1のサーバのリソースを割り当てるため、自車のリソースを速いレスポンスが必要な機能に有効に利用できる。その結果、自車両の負荷を軽減しながら、車両のための様々な機能を柔軟に提供できる。
(13) 上記(12)においてサーバのリソースに切り替えるステップは、さらに、サーバ構成判定ステップにおいて、サーバが第2サーバを含むと判定されたことに応答して、第1機能に第2サーバのリソースを割り当て、第2機能に第1サーバのリソースを割り当てるステップを含んでもよい。
この構成により、速いレスポンスを必要とする機能には第2サーバのリソースを割り当て、速いレスポンスが不要な機能には第1のサーバのリソースを割り当てることができる。自車のリソースをさらにその他の機能に割り当てることができ、自車両の負荷を軽減しながら、車両のための様々な機能を柔軟に提供できる。
(14) 上記(5)または(6)において、走行エリアのサーバは、第1サーバと、第1サーバよりもレスポンスの速い第2サーバとを含み、車載装置の機能は、第1機能と、第1機能よりも速いレスポンスを必要とする第2機能とを含んでもよく、サーバのリソースに切り替えるステップは、第2機能に第2サーバが許す限り多く第2サーバのリソースを割り当てるステップと、第1機能に第1サーバおよび第2サーバが許す限り多く第1サーバのリソースおよび第2サーバのリソースを割り当てるステップと、第2機能の中で第2サーバのリソースが割り当てられない機能、および第1機能の中で第1サーバのリソースも第2サーバのリソースも割り当てられない機能に自車両のリソースを割り当てるステップとを含んでもよい。
この構成により、速いレスポンスを必要とする機能には、できる限り多く第2サーバのリソースを割り当てることができる。また速いレスポンスが不要な機能には、できるかぎり多く第1サーバおよび第2サーバにリソースを割り当てることができる。したがって、自車両の負荷を軽減し、他の機能に自車両のリソースが割り当てられる。その結果、車両のための様々な機能を柔軟に提供できる。
(15) 上記(14)において、第2機能に第2サーバが許す限り多く第2サーバのリソースを割り当てるステップは、第2機能の全てに第2サーバのリソースが割り当てられるか否かを判定する割当判定ステップと、割当判定ステップにおいて第2機能の全てに第2サーバのリソースが割り当てられると判定されたことに応答して、第2機能の全てに第2サーバのリソースを割り当てるステップと、割当判定ステップにおいて第2機能の少なくとも一部に第2サーバのリソースが割り当てられないと判定されたことに応答して、走行エリア内の他の切替型車両との間で第2サーバのリソースの割当の調整を実行し、調整の結果にしたがって第2機能の一部に第2サーバのリソースを可能な限り多く割り当てるステップと、調整の結果、第2機能の中で、第2サーバのリソースが割り当てられない機能に自車両のリソースを割り当てるステップとを含んでもよい。
この構成の結果、速いレスポンスが必要な第2機能の全てに第2サーバのリソースを割り当てることができれば、他の車両との調整の必要なく、第2機能の全てに第2サーバのリソースを割り当てられる。自車両のリソースに余裕ができ、他の多様な機能を実現できる。また第2機能の一部に第2サーバのリソースを割り当てることができない場合にも、他の切替型車両との調整により、走行エリア内の車両にとって第2サーバのリソースを有効に利用できるようにした上で、自車両の機能に第2サーバのリソースをできる限り多く割り当てることができる。その結果、第2サーバのリソースを自車両だけではなく走行エリア内の他の車両にとっても有効に利用し、様々な機能を提供できる。
(16) 上記(14)または(15)において、第1機能に第1サーバおよび第2サーバが許す限り多く第1サーバのリソースおよび第2サーバのリソースを割り当てるステップは、第1機能の全てに第1サーバのリソースが割り当てられるか否かを判定する追加判定ステップと、追加判定ステップにおいて第1機能の全てに第1サーバのリソースが割り当てられると判定されたことに応答して、第1機能の全てに第1サーバのリソースを割り当てるステップと、追加判定ステップにおいて第1機能の少なくとも一部に第1サーバのリソースが割り当てられないと判定されたことに応答して、走行エリア内の他の連携型車両および切替型車両との間で第1サーバのリソースの割当の調整を実行し、調整の結果にしたがって第1機能の一部に第1サーバのリソースを可能な限り割り当てるステップと、調整の結果、第1機能の中で、第1サーバのリソースが割り当てられない機能に自車両のリソースを割り当てるステップとを含んでもよい。
この構成の結果、第1機能の全てに第1サーバのリソースを割り当てることができれば、他の車両との調整の必要なく、第1機能の全てに第1サーバのリソースを割り当てられる。自車両のリソースに余裕ができ、他の多様な機能を実現できる。また第1機能の一部に第1サーバのリソースを割り当てることができない場合にも、他の切替型車両との調整により、走行エリア内の車両にとって第1サーバのリソースを有効に利用できる。さらに、自車両は、自車両の第1機能に第1サーバのリソースをできる限り多く割り当てた上で、残りの第1機能に自車両のリソースを割り当てることができる。その結果、第1サーバのリソースを自車両だけではなく走行エリア内の他の車両にとっても有効に利用し、第1機能を含めた様々な機能を提供できる。
(17) この開示の第2の局面に係るリソース割当装置は、サーバとの通信により運転支援機能を提供する車載装置におけるリソース割当装置であって、車載装置は、車載装置を搭載した車両の走行エリアを管轄するサーバのリソースと車載装置を搭載した車両である自車両のリソースとを切り替えて車載装置の各機能に割り当てる切替型車載装置であり、リソース割当装置は、自車両の走行エリアを管轄するサーバのリソースと、自車両のリソースとを車載装置の各機能に割り当てる割当処理を実行する割当実行部と、走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、割当処理を再実行する割当再実行部とを含む。
この構成により、走行エリア内に存在している、サーバとの連携を行う車両の数の変化に応じて、各機能を実現するためのリソースをサーバと車両との間で柔軟に割り当てることができる。その結果、車両のための様々な機能を柔軟に提供できる。
(18) この開示の第3の局面に係るコンピュータプログラムは、コンピュータを、サーバとの通信により運転支援機能を提供する車載装置においてリソースの割当を行うように機能させるコンピュータプログラムであって、車載装置は、車載装置を搭載した車両の走行エリアを管轄するサーバのリソースと車載装置を搭載した車両である自車両のリソースとを切り替えて車載装置の各機能に割り当てる切替型車載装置であり、コンピュータプログラムは、コンピュータを、自車両の走行エリアを管轄するサーバのリソースと、自車両のリソースとを車載装置の各機能に割り当てる割当処理を実行する割当実行部と、走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、割当処理を再実行する割当再実行部として機能させる。
この構成により、走行エリア内に存在している、サーバとの連携を行う車両の数の変化に応じて、各機能を実現するためのリソースをサーバと車両との間で柔軟に割り当てることができる。その結果、車両のための様々な機能を柔軟に提供できる。
[本開示の実施形態の詳細]
本開示の実施形態に係るリソース割当方法および装置、ならびにコンピュータプログラムの具体例を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
第1 第1実施形態
1 開示の背景
運転支援のシステムとして、車両にセンサを搭載し、このセンサデータに対する情報処理を全て車載装置で行うものがある。センサデータが得られた場所でそのデータに対する処理が実行されるので、リアルタイムで行うことが必要な処理をするためにはこのような方式の都合がよい。この明細書においては、このように運転支援のための情報処理を車載装置で実行する機能を車載エッジと呼ぶ。
図1に、車載エッジを搭載した車両システムの技術的発展段階を模式的に示す。図1を参照して、初期の車両システム50は、他の車両などとは切り離された単独型の車載エッジ60と、図示しない各種のセンサとを含む。単独型の車載エッジ60はこれらセンサからのセンサデータを処理するアプリを含む。これらアプリは、車両の安全に不可欠な機能を実現するリアルタイムアプリと、直接には車両の安全に寄与しない非リアルタイムアプリの双方を実行する。このような単独型の車載エッジ60を搭載した車両を、この明細書においては単独型車両という。
しかしこうした車載エッジ60においては、例えば広域の情報を運転支援に役立てることができないという問題がある。また車載エッジ60を搭載した車両のセンサから得た情報を他の車両の運転に利用することができないという問題もある。
続く発展段階の車両システム52は、上記した単独型の車両システム50の欠点を補うものであって、図示しないセンサに加え、所定のエリアを管轄するサーバ72と通信可能な車載エッジ70を含む。車載エッジ70は、リアルタイムアプリを実行する。一方、サーバ72は車載エッジ70から送信されるセンサデータを使用して非リアルタイムアプリを実行する。サーバ72は、非リアルタイムアプリの実行結果を車載エッジ70に送信する。車載エッジ70はこの情報を運転支援に使用する。
このように、車載エッジ70は、サーバ72と連携して運転支援の処理を行う。したがって車載エッジ70を連携型の車載エッジと呼ぶ。また連携型の車載エッジを搭載した車両を連携型車両という。連携型の車載エッジは、車内の各部と外部との通信を行う車載ゲートウェイ(以下「車載GW(Gateway)」という。)の内部に設けられる。
車両システム52よりさらに発展した段階の車両システム54として、サーバ82および他の車両などと通信することが可能な切替型の車載エッジ80を搭載したものを考えることができる。車載エッジ80は、リアルタイムアプリと非リアルタイムアプリとの双方について、車載エッジ80で実行するか、サーバ82で実行するかを切り替えることができる。車載エッジ80はそのために、それらアプリに車載エッジ80を搭載した車両(自車両という。)のリソースを割り当てるか、サーバ82のリソースを割り当てるかを制御するためのリソース制御部を含む。このような切替型の車載エッジ80を搭載した車両を切替型車両という。
このように、車載エッジには技術的な発展段階があるものの、社会で使用されている車載エッジが一律に(同時に)より上位の車載エッジに置き換えられるものではない。単独型、連携型、および切替型の車載エッジを搭載した車両が道路上で混在することが考えられる。こうしたときには、サーバのリソースをめぐり様々な問題が生じ得る。
2 構成
2A ハードウェア構成
例えば図1に示す車両システム54の概略構成は以下のようなものである。図2を参照して、車両システム54は、センサ100、ECU(Electronic Control Unit)102、自動運転ECU104、サーバ82と通信するための無線通信部106、および車両システム54の各部と無線通信部106を介したサーバ82との通信の中継および振り分けを行うための車載GW108とを含む。車載GW108は車載エッジ80を含む。車載エッジ80は、センサ100、ECU102、自動運転ECU104および無線通信部106に接続されている。車載エッジ80は、センサ100からのセンサデータを車載エッジ80内で処理したり、無線通信部106を介してサーバ82に送信してサーバ82によるアプリの実行結果を受信したりする。車載エッジ80は、そうした情報をECU102および自動運転ECU104などに与え、運転支援に役立てる。
なお、図2において、センサ100およびECU102についてはいずれも1つしか示していない。しかし、実際にはセンサ100としては異なるセンサがそれぞれ1または複数個存在しており、ECU102についても異なる機能のECUがそれぞれ1または複数個存在している。ECU102は実質的にはコンピュータであり、指定されたプログラムを実行して結果を他のECUなどに出力するか、またはプログラムを実行することにより車両の各部を制御する機能を持つ。
図1に示す車両システム50は図2において無線通信部106を含まない形式のものである。また車両システム52は図2と同様のハードウェア構成を持つ。
2B 機能的構成
以下、この第1実施形態に係る車載エッジ80を搭載した車両320に関連して生じ得る問題について説明する。なお、以下の実施形態では、車両320が走行しているエリアを走行エリアという。走行エリアに隣接しているエリアであって、他のサーバが管轄しているエリアを隣接エリアという。走行エリアと隣接エリアをまとめて周辺エリアという。周辺エリア内を走行している車両を周辺車両という。なお、サーバにはクラウドサーバ(以下、単に「クラウド」という。)とエッジサーバ(以下、単に「エッジ」という。)との2種類がある。クラウドはエッジより広いエリアを扱うことが多い。エッジはより狭い領域を扱う。したがってエッジはクラウドよりも高速に各車両の要求を処理できる。
図3を参照して、車両320の走行エリアが走行エリア300であるとする。走行エリア300を管轄しているサーバをクラウド304とする。また走行エリア300に隣接するエリアの1つを隣接エリア302とし、隣接エリア302を管轄しているサーバはクラウド306およびエッジ308の組み合わせからなるものとする。クラウド306は隣接エリア302の広い領域を管轄し、エッジ308は隣接エリア302内の狭い領域を管轄している。クラウド306は、隣接エリア302内の車両でエッジ308と通信できない車両からの処理要求を処理する。クラウド306はさらに、エッジ308からの処理依頼についても処理する。もともとエッジ308の管轄範囲がクラウド306の管轄範囲より狭い上、各車両とエッジ308との通信に要する時間も各車両とクラウド306との通信に要する時間より短い。そのため、各車両からの処理依頼に対するレスポンスはエッジ308の方がクラウド306よりも速い。
図3に示す例において、車両320の走行エリア300内には、他の車両322および324が存在する。また隣接エリア302内にも車両326および328が存在する。このように、ある車両320の走行エリアと、その走行エリアに隣接する他の走行エリア内に存在する、車両320とは別の車両は、前述したように車両320にとっての周辺車両である。各エリア内に存在する車両が、上記した単独型車両、連携型車両、および切替型車両のいずれのタイプであるかは、少なくとも各エリアを管轄するサーバはそれらの位置、移動速度および車種などの車両情報とともに把握し管理している。互いに隣接するエリアを管轄するサーバ間においてそうした車両に関する情報が交換される。したがって、各サーバは少なくとも自分が管轄するエリア内と、そのエリアに隣接するエリア内とに存在する車両の位置、移動方向および速度(これらを車両移動状況という。)とその車両のタイプとを把握し管理している。その結果、例えば車両320が周辺車両のタイプおよび車両移動状況などを知りたければクラウド304に問い合わせればよい。
図4に、車載エッジ80を構成するMCU(Micro Controller Unit)のハードウェア構成を示す。図4を参照して、このMCUは、プロセッサであるMPU(Micro-Processing Unit)402と、MPU402が接続される高速バス400と、高速バス400に接続されたSRAM(Static Random Access Memory)404と、高速バス400に接続されたフラッシュメモリ406と、高速バス400に接続されたROM(Read-Only Memory)408とを含む。SRAM404には、プログラムの実行に必要なデータなどが保持される。フラッシュメモリ406には、車載エッジ80が実現する機能を実現するためのプログラム(リアルタイムアプリおよび非リアルタイプアプリの双方を含む。)、リソース制御のためのプログラムなどからなるプログラム426が記憶される。ROM408にはMPU402のブートアッププログラムなどが記憶される。
MCUはさらに、高速バス400にブリッジ412を介して接続された低速バス410と、いずれも低速バス410に接続されたシリアルI/F(Interface)414、ADC(Analog-to-Digital Converter)416、タイマ・カウンタ418、クロック発生器420、電源制御部422および汎用I/F424を含む。
なお、MCUの動作はよく知られており、実施形態において意味があるのはその実行するプログラムの機能なので、以下説明においてはMCU自体の動作については説明しない。
図5に、車載エッジ80の機能的構成をブロック図形式で示す。図5を参照して、機能的には、車載エッジ80は、車載エッジ80の起動時に、車載エッジ80が実現する各機能への自車両または通信可能なサーバのリソースの初期割当を実行するための初期割当部452、および図2に示す無線通信部106に接続された通信処理部450を含む。
車載エッジ80はさらに、通信処理部450に接続され、走行エリア300内の切替型車両および連携型車両の数に生じた変化(増加および減少)を検出または予測するための変化検出部454、および、変化検出部454が変化を検出または予測したことに応答して、車載エッジ80が提供するアプリに対し、自車両およびサーバのリソースを変化後の状況に従って再割当する再割当部456を含む。
車載エッジ80はさらに、リアルタイムアプリおよび非リアルタイムアプリを記憶するためのアプリ記憶部462、初期割当部452によるリソースの初期割当および再割当部456によるリソースの再割当に応答して、アプリ記憶部462から読み出したアプリを割当られたリソース(自車両またはサーバ)にそれぞれ実行させるよう、アプリの実行を制御するためのアプリ制御部458を含む。車載エッジ80はさらに、アプリ制御部458により自車両のリソースにより実行するように指定されたアプリを実行するためのアプリ実行部460を含む。アプリ実行部460は、例えば図2に示すECU102および自動運転ECU104などを含む。
アプリ制御部458によりサーバで実行するよう指定されたアプリは、通信処理部450および図2に示す無線通信部106を経てサーバに送信され、サーバで実行される。または、アプリ制御部458がアプリの識別子をサーバに送信することで、サーバにおいて同等の機能を持つアプリが実行される。
アプリへのリソースの割当は、走行エリア内の連携型車両および切替型車両の数の増減、およびサーバの構成により異なる。図6に、サーバ構成と、各サーバ構成における遅延特性、リアルタイムアプリの実行の可否、および対象エリア(サーバの管轄エリア)の大きさを表形式で示す。
図6に示すように、この実施形態においては、サーバの構成として、クラウドのみ、クラウドとエッジ、1つのエッジのみ、および複数のエッジと複数のクラウドとの任意の組み合わせを考える。これらのうち、クラウドのみを使用する場合には遅延が大きく、エッジを使用する場合には、遅延は小または中程度である。複数クラウドと複数エッジとの組み合わせの場合には、その組み合わせ方により遅延は異なってくる。したがって、サーバ構成がクラウドのみを含む場合はリアルタイムアプリの実行はできないことになる。
図7に、周辺車両に含まれる車両のタイプごとに、走行エリアに関係する車両移動の状況変化および予測ならびにサーバのリソース状況に応じ、どのようにリソースを切り替えるべきかを表形式により示す。
図7の1行目を参照して、例えば、周辺車両が単独型のみであり連携型および切替型車両が存在しない場合には、走行エリアに周辺車両が進入した場合には、サーバのリソース状況には変化は生じない。走行エリアから周辺車両が退出した場合、自車両が走行エリアから隣接エリアのいずれかに移動した場合、またはそうした移動が予測される場合も同様である。したがって自車両(切替型車両)においてリソースの切替の必要はない。
一方、例えば周辺車両に連携型車両が存在している場合を考える。ここで、周辺車両は他に単独型を含んでもよいが、切替型車両は含まないものとする。この場合、自車両の走行エリア内の連携型車両の数が増加する場合および減少する場合の、サーバのリソース状況と切替パターンとを図7の第2行目および第3行目に、それぞれ示す。
自車両の走行エリア内の連携型車両の数が増加する場合とは、例えば隣接エリア内にいる連携型車両が走行エリアに進入する場合または進入することが予測される場合である。他の例としては、自車両が現在の走行エリアから隣接する他の走行エリアに移動しまたは移動が予測される場合であって、その移動先エリア内に、現在の走行エリア内の連携型車両より多くの連携型車両が存在する場合である。この場合には、サーバにおいて利用可能なリソースは一般的に減少し、場合によりサーバのリソースは利用できなくなる。そのときにはサーバのリソースが割り当てられていたアプリにはサーバか自車両のリソースを割り当て直すこと、つまりそのアプリを自車両における処理に切り替える必要がある。
自車両の走行エリア内の連携型車両の数が減少する場合とは、例えば走行エリア内にいる連携型車両が走行エリアから退出する場合または退出することが予測される場合である。他の例としては、自車両が現在の走行エリアから隣接する他の走行エリアに移動しまたは移動が予測される場合であって、その移動先エリア内に存在する連携型車両の数が、現在の走行エリア内の連携型車両の数より少ない場合である。この場合には、サーバにおいて利用可能なリソースは一般的に増加する。その場合、自車両のリソースが割り当てられていた非リアルタイムアプリにサーバのリソースを割り当てることができる可能性がある。したがって、もしもサーバのリソースに余裕があるなら、自車両のリソースが割り当てられていたアプリにサーバのリソースを割り当て直すこと、つまりそのアプリをサーバにおける処理に切り替えることができる。
図7の4行目、5行目、および6行目に記載された情報も同様に解釈できる。ただし、この場合には他の切替型車両が関係してくる。他の切替型車両でも、自車両と同様にリソースの再割当をしようとする。そのために切替型車両の間でサーバのリソースの再割当に競合が発生する可能性がある。そのような場合、切替型車両の間でリソースに関する調整が必要となる。
2C プログラム構成
図5に示す車載エッジ80の各機能を実現するために図4に示すMPU402が実行するプログラムの制御構造を、図8以下に示す。
図8を参照して、このプログラム500は、起動とともにサーバとの通信を開始するステップ510および510に続き、車載装置が利用する機能を実現する各アプリについて、自車両のリソースとサーバのリソースとの初期割当を行うステップ512とを含む。ステップ512において行われる割当処理はどのような方法によるものであってもよい。例えば、利用可能なリソースをサーバに問い合せ、サーバに許可された範囲のリソースを非リアルタイムアプリに割り当て、残りのアプリには自車両のリソースを割り当てることが考えられる。なお、プログラム500の起動時には、車載装置が通信を開始するサーバは図3に示すクラウド304であることを想定している。
このプログラムはさらに、サーバから走行エリアを含む周辺エリアの車両情報をダウンロードするステップ514と、ステップ514においてダウンロードした情報に基づいて、走行エリア内の連携型車両または切替型車両の数に変化が検出または予測されたことに応答してリソースの割当処理を再実行し制御をステップ514に戻すステップ516とを含む。走行エリア内の連携型車両または切替型車両の数に変化が関係されない場合には、制御はステップ514に戻る。
図9を参照して、図8に示す割当処理を再実行するステップ516は以下のような制御構造を持つ。ステップ516は、周辺車両のエッジ装置の種別をステップ514においてダウンロードした車両情報に基づいて観測し判別するステップ550と、ステップ550の判別結果に基づいて、周辺車両に単独型車両以外の車両、すなわち切替型車両または連携型車両が存在するか否かを判定しその結果に従って制御の流れを分岐させるステップ552とを含む。
ステップ552において周辺車両に切替型車両または連携型車両が存在すると判定されたときには制御はステップ554に進む。ステップ554において、MPU402は、周辺車両に切替型車両が存在するか否かに従って制御の流れを分岐させる。切替型車両が存在すれば、制御はステップ556に進み、MPU402は切替型の周辺車両があるときの処理を実行し、ステップ516を終了する。切替型車両がなければ制御はステップ558に進み、MPU402は切替型の周辺車両がないときの処理を実行し、ステップ516を終了する。
ステップ552において周辺車両に切替型車両または連携型車両が存在しないと判定された場合、周辺車両は単独型車両および車載エッジを持たない車両のみということである。それら周辺車両がサーバのリソースを使用することはない。そのため、MPU402が自車両の各機能へのリソースの再割当を行う必要はない。したがってこの場合にMPU402はステップ516の処理を終了する。
図10を参照して、図9のステップ556は以下のような制御構造を持つ。ステップ556は、自車両がエリアを移動予定か否かにもとづいて制御の流れを分岐させるステップ580と、ステップ580における判定が肯定のときに、移動先のエリア内の切替型車両および連携型車両の数がしきい値以上か否かに従って制御の流れを分岐させるステップ582とを含む。ステップ556はさらに、ステップ580の判定が否定のときに、走行エリアに切替型車両または連携型車両が進入したかまたは進入見込みか否かに従って制御の流れを分岐させるステップ584を含む。
ステップ582の判定が肯定のとき、およびステップ584の判定が肯定のときには制御はステップ586に進む。ステップ586においてMPU402は、サーバの処理リソースに余裕がないか、または余裕がなくなる見込みか否かを判定して制御の流れを分岐させる。ステップ586の判定が否定のときにはステップ556は終了する。すなわちこの場合、リソースの再割当は行われない。
ステップ586の判定が肯定のときには、制御はステップ588に進む。MPU402は、ステップ588において、切替型の周辺車両とリソースの割当の調整を行う。さらに制御はステップ590に進み、MPU402はステップ588における調整結果にしたがい、サーバのリソースが割り当てられていたアプリの一部または全部に、自車両のリソースを割り当てる再割当処理を行ってステップ556を終了する。なお、ステップ588における調整結果によっては、ステップ590においてリソースの再割当がされない場合もあり得る。
図11を参照して、図10のステップ584における判定が否定のときには、制御は図11のステップ594に進む。ステップ594においてMPU402は、走行エリアから切替型車両または連携型車両が退出したか、または退出見込みかを判定し、その結果に従って制御の流れを分岐させる。ステップ594の判定が否定のときには、MPU402はステップ556の処理を終了する。
このプログラムはさらに、図10に示すステップ582における判定が否定のとき、または図11のステップ594の判定が肯定のときに実行され、サーバにおけるリソースに余裕ができたか、またはできる見込みか否かを判定しその結果に従って制御の流れを分岐させるステップ596を含む。ステップ596の判定が否定ならMPU402はステップ556を終了させる。ステップ596の判定が肯定なら、MPU402はステップ598において切替型の周辺車両とサーバリソースの割当について調整する。MPU402はさらに、ステップ600において、ステップ598における調整結果に従って、アプリの一部にサーバのリソースを割り当ててステップ556を終了させる。
図12に、図9に示すステップ558を実現するプログラムの制御構造を示す。図12を参照して、切替型の周辺車両が存在しないときの処理を実現するステップ558は、自車両が他の走行エリアに移動予定か否かに従って制御の流れを分岐させるステップ630と、ステップ630の判定が肯定のときに、移動先エリア内に存在する連携型車両の数がしきい値以上か否かを判定しその結果に従って制御の流れを分岐させるステップ632とを含む。ステップ558はさらに、ステップ630の判定が否定のときに、走行エリアに連携型の周辺車両が進入したかまたは進入見込みかを判定し、その結果に従って制御の流れを分岐させるステップ634を含む。
ステップ558はさらに、ステップ632における判定が肯定のとき、またはステップ634における判定が肯定のときに、サーバ処理リソースに余裕がないか、または余裕がなくなる見込みか否かに従って制御の流れを分岐させるステップ636を含む。ステップ636の判定が否定ならばステップ558は終了する。ステップ636の判定が肯定なら、制御はステップ638に進み、MPU402はサーバのリソースが割り当てられていたアプリの一部または全部について自車両のリソースに切り替えてステップ558を終了する。
図13を参照して、ステップ558はさらに、図12のステップ634における判定が否定であることに応答して実行され、走行エリアから連携型車両が退出したかまたは退出が予測されるかに従って制御の流れを分岐させるステップ642を含む。
ステップ632の判定が否定、またはステップ642の判定が肯定ならば、制御はステップ644に進む。MPU402は、ステップ644において、サーバの処理リソースに余裕ができたか、またはできる見込みか否かを判定して制御の流れを分岐させる。ステップ644における判定が否定ならサーバの処理リソースに余裕がないのでステップ558は終了する。ステップ644における判定が肯定なら、制御はステップ646に進みサーバのリソースをアプリに割り当てる処理を実行する。ステップ646が完了するとステップ558は終了する。ステップ646の詳細については図15を参照して後述する。
ステップ642の判定が否定の場合には、ステップ558は終了する。
図14に、切り替え先のサーバ構成の種類に対し、切替型の車両がリアルタイムアプリと非リアルタイムアプリとのリソースをどのような方針に従って割り当てるかについて表形式により示す。図14を参照して、例えば、切替先のサーバがクラウドのみを含む場合(1行目)、クラウドによってはリアルタイムアプリの実行は不可である。したがってMPU402はリアルタイムアプリには自車両のリソースを割り当てる。一方、非リアルタイムアプリには基本的にクラウドのリソースを割り当てる。
第2行目に示すように、サーバがエッジとクラウドとの二層構造となっている場合、エッジはリアルタイムアプリを実行できる。したがって、切替型の車両は、リアルタイムアプリにはエッジのリソースを割り当てる。一方、非リアルタイムアプリはエッジでもクラウドでも処理可能である。したがって、それぞれで利用可能なリソースに応じて、エッジのリソースまたはクラウドのリソースを非リアルタイムアプリに割り当てる。
第5行目には、サーバが複数エッジと複数クラウドとの双方を有するものと、複数クラウドのみを有するものとが組み合わされたものである場合についてのリソース割当方針を示す。この場合、サーバ構成にエッジが含まれるような環境であるときにはサーバ側(エッジ)においてリアルタイムアプリを実行できる。したがって、MPU402はリアルタイムアプリにエッジのリソースを割り当てる。しかしサーバ構成がクラウドのみを含む場合には、サーバ側においてリアルタイムアプリは実行できない。したがってこの場合、MPU402はリアルタイムアプリに自車両のリソースを割り当てる。そしていずれの場合も、MPU402は、非リアルタイムアプリには利用可能なサーバ側のリソースを割り当てる。
図15に、図13のステップ646において実行されるプログラムの制御構造を示す。図15を参照して、アプリに割り当てるリソースをサーバ側に切り替えるステップ646は、サーバ構成にエッジが含まれるか否かを判定しその結果に従って制御の流れを分岐させるステップ680と、ステップ680の判定が否定であることに応答して、リアルタイムアプリには自車両のリソースを割り当て、非リアルタイムアプリにはクラウドのリソースを割り当てるステップ684とを含む。ステップ684においては、MPU402を搭載した車両の走行エリアを管轄しているサーバがクラウドを含むことを想定している。
ステップ680における判定が肯定のときには制御はステップ682に進む。MPU402はステップ682において、サーバ構成にクラウドがあるか否かを判定しその結果に従って制御の流れを分岐させる。
ステップ682における判定が否定のときには制御はステップ686に進む。ステップ682における判定が否定であるということは、サーバ構成がエッジのみということである。したがって、ステップ686においてMPU402は、リアルタイムアプリにはエッジのリソースを割り当て、非リアルタイムアプリについてもエッジのリソースを割り当ててステップ646の処理を終わる。
一方、ステップ682における判定が肯定であるときには制御はステップ688に進む。ステップ682における判定が肯定であるということは、サーバ構成がクラウドとエッジの双方を含むということである。したがってMPU402は、ステップ688においてリアルタイムアプリにはエッジのリソースを割り当て、非リアルタイムアプリにはエッジのリソースの状況に応じ、エッジまたはクラウドのリソースを割り当ててステップ646の処理を終わる。
図16には、切替先のサーバのリソースの状況に応じて、切替型車両が各アプリにどのようにリソースを割り当てるかを表形式により示す。図16を参照して、例えば1行目には、MPU402がエッジまたはクラウドに対してリソースの割り当て要求を行ったときに、エッジが全ての要求を受け入れ可能である場合が示されている。この場合にはクラウドは要求を受け入れる必要はない。切替型車両は、リアルタイムアプリにはエッジのリソースを割り当てる。切替型車両は、非リアルタイムアプリにもエッジのリソースを割り当てる。
第2行目はエッジが割当要求の一部のみの受け入れが可能な場合である。この場合、リアルタイムアプリについては、切替型車両(自車両)は、切替型の周辺車両とリソース割当の優先度を調整する。切替型車両は、調整結果に、リアルタイムアプリのうち、エッジのリソースの割り当てが可能な部分についてはエッジのリソースを割り当てる。切替型車両は、リアルタイムアプリの残りに付いては自車両のリソースを割り当てる。
一方、エッジが割当要求の一部のみの受け入れが可能な場合には、非リアルタイムアプリについてはクラウドの状況によりさらに3つの場合に分けられる。第1はクラウドが割当要求を全て受け入れ可能な場合である。このとき、切替型車両は非リアルタイムアプリの全てにクラウドのリソースを割り当てる。第2はクラウドがリソースの割り当て要求のうち一部のみを受け入れ可能な場合である。このとき、切替型車両は切替型の周辺車両とリソースの割り当てに関する優先度を調整する。切替型車両はさらに、この調整の結果に、非リアルタイムアプリのうちクラウドが受け入れ可能な部分についてはクラウドのリソースを割り当てる。切替型車両は、非リアルタイムアプリの残りについては自車両のリソースを割り当てる。第3は、クラウドがリソースの割り当て要求を受け入れ不可能な場合である。この場合には切替型車両は全ての非リアルタイムアプリに自車両のリソースを割り当てる。
エッジがリソースの割当要求の受け入れができないときが第3行目に示されている。この場合には、クラウドがリソースの割当要求を全て受け入れ可能か否かにかかわらず、リアルタイムアプリの全てに自車両のリソースが割り当てられる。非リアルタイムアプリについては、クラウドが割り当て要求を全て受け入れ可能か、一部のみ可能か、不可かによりリソースの割り当ては異なってくる。クラウドがリソースの割り当て要求を一部のみ受け入れ可能な場合には、切替型車両は切替型の周辺車両と優先度を調整する。切替型車両はその調整の結果に従って、非リアルタイムアプリの中でクラウドのリソースが割り当て可能な部分にはクラウドのリソースを割り当てる。切替型車両は、非リアルタイムアプリの残りには自車両のリソースを割り当てる。
図17に、図10のステップ588および図11のステップ598において実行される、切替型の周辺車両との優先度の調整を実現するプログラムの制御構造をフローチャート形式により示す。図17を参照して、このプログラムは、エッジがリソースの割り当て要求を全て受け入れ可能か否かを判定しその結果に従って制御の流れを分岐させるステップ710と、ステップ710の判定が肯定のときに、リアルタイムアプリにエッジのリソースを割り当て、非リアルタイムアプリにもエッジのリソースを割り当てて処理を終了するステップ714とを含む。
このプログラムはさらに、ステップ710に否定のときに、エッジがリソースの割当要求を一部のみ受け入れ可能か否かを判定しその結果に従って制御の流れを分岐させるステップ712を含む。ステップ712の判定が肯定の場合、制御はステップ716に進む。ステップ716においてMPU402は、エッジを使用するようにリソースの割り当てを行う。ステップ712の判定が否定ならば制御はステップ718に進む。ステップ718においてMPU402は、エッジを使用しないようにリソースの割り当てを行う。
図18に、図17のステップ716において行われる、エッジを使用するようにリソースを割り当てる処理を実現するプログラムの制御構造を示す。図18を参照して、このプログラムは、クラウドがリソースの割当要求を全て受け入れ可能か否かを判定しその結果に従って制御の流れを分岐させるステップ750と、ステップ750の判定が肯定のときに、リアルタイムアプリに関する割当を行うステップ754と、ステップ754に続き、非リアルタイムアプリにクラウドのリソースを割り当ててステップ716を終了するステップ756とを含む。
このプログラムはさらに、ステップ750における判定が否定のときに、クラウドがリソースの割当要求の一部のみ受け入れ可能か否かに従って制御の流れを分岐させるステップ752を含む。ステップ752の判定が肯定のときには制御はステップ758に進む。ステップ752の判定が否定のときには制御はステップ762に進む。
ステップ758においてMPU402は、リアルタイムアプリに関する優先度処理を実行する。続くステップ760においてMPU402は、非リアルタイムアプリに関する優先度処理を実行してステップ716を終了する。一方、ステップ762においてMPU402は、リアルタイムアプリに関する優先度処理を行う。続くステップ764においてMPU402は、非リアルタイムアプリに自車両のリソースを割り当ててステップ716を終了する。
図19に、MPU402が図18のステップ754、758および762において実行する、リアルタイムアプリに関する優先度処理のプログラムの詳細を示す。図19を参照して、このプログラムは、走行エリア内に存在する切替型車両と、優先度を決定するために必要な情報を交換するステップ800と、ステップ800により他の切替型車両から受信した情報を自車両に関する情報とを用いて、各車両の優先度を決定するステップ802とを含む。
ここでいう優先度を決定するためには、様々な基準を利用できる。たとえば緊急車両の優先度が最も高く、事業者の車両の優先度が次に高く、自家用車両の優先度が最も低くなるようにする方法が考えられる。または、サーバ利用のために、各車両の所有者に何らかの課金をすることを考える。この場合には、課金の額が高くなるほど優先度を高くする。これらとは別に、各車両において利用可能なリソースを比較し、リソースに余裕がない車両ほど高い優先度を付与する方法も可能である。さらに、サーバが管理するエリア内を今後走行する時間が長い車両ほど、高い優先度を付与する方法を採用してもよい。また、これらを任意に組み合わせて何らかのスコアを算出するようにし、そのスコアの値が高い車両ほど高い優先度が割り当てられるような方法を採用することも考えられる。
このプログラムはさらに、ステップ802に続き、ステップ802において決定された優先度に従い、優先度の上位の切替型車両から順番に、エッジのリソースが利用可能な限り、リアルタイムアプリにエッジのリソースを割り当てる演算を繰り返し、その過程において自車両のリアルタイムアプリにエッジのリソースを割り当てるステップ804と、ステップ804に続き、自車両のリアルタイムアプリの中でエッジのリソースが割り当てられないものに自車両のリソースを割り当ててこの処理を終了するステップ806とを含む。
図20に、図18のステップ760において実行される非リアルタイムアプリに関する優先度処理の詳細を示す。図20を参照して、ステップ760は、MPU402が、優先度を決定するための情報を走行エリア内の他の切替型車両および走行エリア内に進入が予測される他の切替型車両と交換するステップ830と、ステップ830において交換された情報に基づいて、MPU402が各切替型車両の優先度を決定するステップ832とを含む。
ステップ760はさらに、ステップ832において算出された優先度に従い、優先度が上位の切替型車両から順番に、クラウドのリソースが利用な限り非リアルタイムアプリにクラウドのリソースを割り当てるステップ834と、ステップ834に続き、自車両の非リアルタイムアプリの中で、クラウドのリソースが割り当てられないものに自車両のリソースを割り当ててステップ760を終了するステップ836とを含む。
図21に、図17のステップ718の詳細を示す。図21を参照して、ステップ718は、クラウドが全ての割当要求を受け入れ可能か否かを判定しその結果に従って制御の流れを分岐させるステップ860を含む。ステップ860の判定が肯定のときには、MPU402はステップ864においてリアルタイムアプリに自車両のリソースを割り当てる。MPU402はさらに、ステップ866において非リアルタイムアプリにクラウドのリソースを割り当ててステップ718を終了するステップ866を含む。
ステップ860の判定が否定のときには、MPU402はさらに、ステップ862において、クラウドが一部の割当要求のみ受け入れ可能か否かに従って制御の流れを分岐させる。ステップ862の判定が肯定のときには制御はステップ868に進む。MPU402は、ステップ868において、リアルタイムアプリに自車両のリソースを割り当てる。MPU402はさらに、ステップ870において、非リアルタイムアプリに関する優先度処理を実行してステップ718を終了するステップ870を含む。ステップ870は図20に示すステップ760と同じである。
ステップ862の判定が否定のときには、MPU402は、ステップ872においてリアルタイムアプリに自車両のリソースを割り当てる。MPU402はさらに、続くステップ874において非リアルタイムアプリに自車両のリソースを割り当ててステップ718を終了する。
3 動作
以上に構成を述べた車載エッジ80(図5参照)は、以下のように動作する。図8を参照して、車両320の初期割当部452は、車載エッジ80が動作を開始した時点(図8の処理開始時点)で、車両320が存在しているエリアを管轄しているサーバ(例えば図3に示すクラウド304)との通信を開始する(図8のステップ510)。初期割当部452はサーバから得た情報に基づいて、何らかの方法により、車両320のリアルタイムアプリと非リアルタイムアプリへのリソースの割当処理を行う(ステップ512)。アプリ制御部458はこの割当結果に従い、クラウドまたはエッジのリソースが割り当てられたアプリをアプリ記憶部462から読み出して、通信処理部450を通じクラウドまたはエッジに送信し実行を依頼する。この場合、クラウドのリソースが割り当てられるアプリは非リアルタイムアプリである。エッジのリソースが割り当てられたアプリは、リアルタイムアプリであることも、非リアルタイムアプリであることもある。エッジが存在しない場合には、リアルタイムアプリには自車両のリソースが割当てられる。アプリ制御部458は、自車両のリソースが割り当てられたアプリはアプリ記憶部462から読み出してアプリ実行部460に実行させる。車載エッジ80はその後、この時点まで、各走行エリアを管轄するサーバから周辺車両に関する情報および運転支援に関する情報をダウンロードし(ステップ514)、この情報通信にもとづいて各アプリへのリソースの再割当を実行する(ステップ516)、という処理を繰り返す。
ここでは例えば図3に示すように、車両320が走行エリア300内を走行中であるものとし、走行予定にある時間t1後に隣接エリア302に移動することが予測されたものとする。走行エリア300はクラウド304が管轄している。隣接エリア302はクラウド306およびエッジ308が連携して管轄している。
図3に示す状況において、例えば走行エリア300内の車両324は単独型であり、車両322は切替型であるものとする。車両324は近い将来に走行エリア300から退出が予測される。車両322は車両320の後ろを走行している。したがって、車両322は走行エリア300からはしばらくの間、退出しないことが予測される。また、隣接エリア302内には切替型車両326および328が存在しているものとする。これらのうち、車両326は走行エリア300から遠ざかる方向に走行している。車両328は現時点から時間t2だけ経過した後、隣接エリア302から走行エリア300に進入することがエッジ308およびクラウド306により予測されている。ここではt2<t1とする。また時間t1後にもまだ車両326は隣接エリア302内にとどまっていることがエッジ308により予測されている。
図5を参照して、車両320の変化検出部454は、走行予定に従えば時間t2後に切替型の車両328が走行エリア300に進入することを予測する。この場合、走行エリア300内における切替型車両の数が2から3に増加する。変化検出部454は、この変化を検出したことに応答して、再割当部456に切替型車両の増加を通知する。再割当部456は、この通知に応答して、車両320のリアルタイムアプリおよび非リアルタイムアプリへのリソースの再割当処理を実行する。アプリ制御部458はこの再割当の結果にしたがい、非リアルタイムアプリの中でクラウド304のリソースが割り当てられたアプリはクラウド304に実行を依頼し、車両320のリソースが割り当てられたアプリはそのリソースにそのアプリを実行させる。
なお、図3に示す車両322および328および車両326においても同様の処理が実行される。車両328が隣接エリア302から走行エリア300に進入すると、車両328の走行エリア内の切替型車両の数は2から3に増加する。そのため、車両322および328においては上記したよう車両320と同様の処理が実行される。また車両326にとっては、走行エリア内の切替型車両の数が2から1に減少する。したがって車両326においてもリソースの再割当が実行される。この場合、車両328がどのようなアプリにクラウド306およびエッジ308のリソースを割り当てていたかにより異なるが、一般的には車両326はより多くのアプリにクラウド306およびエッジ308のリソースを割り当てることになる。
さらに、車両328が走行エリア300に進入した後、車両320が隣接エリア302に移動したものとする。この場合、車両320にとっての走行エリアが走行エリア300から隣接エリア302に変化する。車両320の走行エリア内の切替型車両の数は3から2に変化する。したがって、車両320はリソースの再割当処理を実行する。車両326においても同様であり、隣接エリア302内の切替型車両の数が1から2に増加したことを検出してリソースの再割当処理を実行する。その過程で、車両326と車両320との間で優先度の算出が行われ、その結果に従って車両326と車両320との双方においてクラウド306およびエッジ308のリソースの再割当が実行される。
一方、車両320が隣接エリア302に移動したことにより、走行エリア300内の切替型車両の数が3から2に減少する。その結果、車両322および328においてもリソースの再割当処理が実行される。
なお、エリア間を移動する車両が単独型ならば、サーバにおいて利用可能なリソースに変化は生じない。したがってこの場合には切替型車両においてリソースの再割当処理は実行されない。一方、エリア間を移動する車両が連携型車両の場合には事情が異なる。あるエリアに進入する車両が連携型車両ならば、固定した量のサーバのリソースがその連携型車両に割り当てられる。逆にあるエリアから退出する車両が連携型車両ならば、固定した量のサーバのリソースが利用可能になる。したがってこれらの場合に、そのエリア内に連携型車両が存在する場合には、いずれの場合もリソースの再割当処理が実行されることになる。
以上のようにこの実施形態によれば、走行エリア内に存在する連携型車両および切替型車両の数の変化に応じて、切替型車両において、アプリに対するサーバのリソースと自車両のリソースとの再割当が実行される。その結果、サーバのリソースを車両の各アプリの間で柔軟に配分することにより、サーバのリソースを有効に利用して各車両の処理負担を軽減し、様々な機能を柔軟に提供できるという効果がある。
第2 変形例
上記実施形態においては、切替型車両は、サーバを通じて周辺車両の車両移動状況などの情報を入手するものとした。しかしこの開示はそのような形態には限定されない。切替型車両は、他車両とのいわゆる車々間通信により、直接に周辺車両の車両移動状況などの情報を入手してもよい。ただしこの場合、単独型車両、およびそもそも車載エッジを搭載していない車両については、少なくともそれらの車両移動状況についてサーバを通じて入手するか、自車両のセンサデータに基づいて算出する必要がある。または切替型車両は、路側装置などのいわゆるインフラ設備との通信により他車両の車両移動状況などの情報を入手してもよい。
上述の実施形態の各処理(各機能)は、1または複数のプロセッサを含む処理回路(Circuitry)により実現される。上記処理回路は、上記1または複数のプロセッサに加え、1または複数のメモリ、各種アナログ回路、各種デジタル回路が組み合わされた集積回路などにより構成されてもよい。上記1または複数のメモリは、上記各処理を上記1または複数のプロセッサに実行させるプログラム(命令)を格納する。上記1または複数のプロセッサは、上記1または複数のメモリから読み出した上記プログラムに従い上記各処理を実行してもよいし、予め上記各処理を実行するように設計された論理回路に上記各処理を実行してもよい。上記プロセッサは、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)など、コンピュータの制御に適合する種々のプロセッサであってよい。なお物理的に分離した上記複数のプロセッサが互いに協働して上記各処理を実行してもよい。例えば物理的に分離した複数のコンピュータのそれぞれに搭載された上記プロセッサがLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークを介して互いに協働して上記各処理を実行してもよい。上記プログラムは、外部のサーバ装置などから上記ネットワークを介して上記メモリにインストールされても構わないし、CD-ROM(Compact Disc Read-Only Memory)、DVD-ROM(Digital Versatile Disk Read-Only Memory)、半導体メモリなどの記録媒体に格納された状態で流通し、上記記録媒体から上記メモリにインストールされてもよい。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、開示の詳細な説明の記載により示されるわけではなく、請求の範囲の各請求項によって示され、請求の範囲の文言と均等の意味および範囲内での全ての変更が含まれることが意図される。
60、70、80 車載エッジ
72、82 サーバ
100 センサ
102 ECU
104 自動運転ECU
106 無線通信部
108 車載GW
300 走行エリア
302 隣接エリア
304、306 クラウド
308 エッジ
320、322、324、326、328 車両
400 高速バス
402 MPU
404 SRAM
406 フラッシュメモリ
408 ROM
410 低速バス
412 ブリッジ
414 シリアルI/F
416 ADC
418 タイマ・カウンタ
420 クロック発生器
422 電源制御部
424 汎用I/F
426、500 プログラム
450 通信処理部
452 初期割当部
454 変化検出部
456 再割当部
458 アプリ制御部
460 アプリ実行部
462 アプリ記憶部

Claims (18)

  1. サーバとの通信により運転支援機能を提供する車載装置におけるリソース割当方法であって、
    前記車載装置は、前記車載装置を搭載した車両の走行エリアを管轄するサービス提供装置のリソースと前記車載装置を搭載した車両である自車両のリソースとを切り替えて前記車載装置の各機能に割り当てる切替型車載装置であり、
    前記リソース割当方法は、
    コンピュータが、前記自車両の走行エリアを管轄するサービス提供装置であるサーバのリソースと、前記自車両のリソースとを前記車載装置の各機能に割り当てる割当処理を実行するステップと、
    コンピュータが、前記走行エリア内に存在している、前記サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、前記割当処理を再実行するステップとを含む、リソース割当方法。
  2. 前記再実行するステップは、
    コンピュータが、前記走行エリアと前記走行エリアに隣接する隣接エリアとを含む周辺エリア内に存在する各車両が、サービス提供装置との連携を行なわない単独型車両、リソースの固定的な割当を使用してサービス提供装置と連携する連携型車両、および前記切替型車載装置を搭載する切替型車両のいずれであるかを判別するステップと、
    コンピュータが、前記周辺エリア内に前記単独型車両以外の車両が存在するか否かを判定する第1判定ステップと、
    コンピュータが、前記第1判定ステップにおいて前記周辺エリア内に前記単独型車両以外の車両が存在すると判定されたことに応答して、前記サーバにおいて利用可能なリソースに応じて、前記自車両のリソースと前記サーバのリソースとを前記車載装置の各機能に再割当する処理を実行するステップとを含む、請求項1に記載の方法。
  3. 前記再割当する処理を実行するステップは、
    コンピュータが、前記周辺エリア内に前記自車両以外に前記切替型車両が存在しているか否かを判定する第2判定ステップと、
    コンピュータが、前記第2判定ステップにおける判定が肯定であることに応答して、前記周辺エリア内に存在する前記切替型車両との前記サーバのリソースに関する調整結果と、前記サーバにおいて利用可能なリソースの状況とに基づき、前記サーバのリソースと、前記自車両のリソースとを前記車載装置の各機能に再割当する処理を実行する第1再割当実行ステップと、
    コンピュータが、前記第2判定ステップにおける判定が否定であることに応答して、前記サーバにおいて利用可能なリソースの状況に基づき、前記サーバのリソースと、前記自車両のリソースとを前記車載装置の各機能に再割当する処理を実行する第2再割当実行ステップとを含む、請求項2に記載の方法。
  4. 前記第1再割当実行ステップは、
    コンピュータが、前記第2判定ステップにおける判定が肯定であることに応答して、前記走行エリア内に存在する前記連携型車両または前記切替型車両の増加を検出または予測する第1検出ステップと、
    コンピュータが、前記第1検出ステップにおいて前記走行エリア内に存在する前記連携型車両または前記切替型車両の増加が検出または予測されたことに応答して、前記サーバのリソースが不足するか否かを判定する第3判定ステップと、
    コンピュータが、前記第3判定ステップにおける判定結果が肯定であることに応答して、前記周辺エリア内に存在する前記切替型車両との前記サーバのリソースに関する調整を実行し、前記調整の結果に基づいて、前記車載装置の機能に割り当てられていた前記サーバのリソースの少なくとも一部を前記自車両のリソースに切り替えるステップとを含む、請求項3に記載の方法。
  5. 前記第1再割当実行ステップは、さらに、
    コンピュータが、前記第2判定ステップにおける判定が肯定であることに応答して、前記走行エリア内に存在する前記連携型車両または前記切替型車両の減少を検出または予測する第2検出ステップと、
    コンピュータが、前記第2検出ステップにおいて前記走行エリア内に存在する前記連携型車両または前記切替型車両の減少が検出または予測されたことに応答して、前記サーバのリソースに余裕が生じるか否かを判定する第4判定ステップと、
    コンピュータが、前記第4判定ステップにおける判定結果が肯定であることに応答して、前記周辺エリア内に存在する前記切替型車両との前記サーバのリソースに関する調整を実行し、前記調整の結果にもとづいて、前記車載装置の機能に割り当てられていた前記自車両のリソースの少なくとも一部を前記サーバのリソースに切り替えるステップと含む、請求項4に記載の方法。
  6. 前記第1再割当実行ステップは、
    コンピュータが、前記第2判定ステップにおける判定が肯定であることに応答して、前記走行エリア内に存在する前記連携型車両または前記切替型車両の減少を検出または予測する第2検出ステップと、
    コンピュータが、前記第2検出ステップにおいて前記走行エリア内に存在する前記連携型車両または前記切替型車両の減少が検出または予測されたことに応答して、前記サーバのリソースに余裕が生じるか否かを判定する第3判定ステップと、
    コンピュータが、前記第3判定ステップにおける判定結果が肯定であることに応答して、前記車載装置の機能に割り当てられていた前記自車両のリソースの少なくとも一部を前記サーバのリソースに切り替えるステップとを含む、請求項3に記載の方法。
  7. 前記第2再割当実行ステップは、
    コンピュータが、前記第2判定ステップにおける判定が否定であることに応答して、前記走行エリア内に存在する前記連携型車両の増加を検出または予測するエリア内増加検出ステップと、
    コンピュータが、前記エリア内増加検出ステップにおいて前記走行エリア内に存在する前記連携型車両の増加が検出または予測されたことに応答して、前記サーバのリソースが不足するか否かを判定する第1サーバリソース判定ステップと、
    コンピュータが、前記第1サーバリソース判定ステップにおける判定結果が肯定であることに応答して、前記車載装置の機能に割り当てられていた前記サーバのリソースの少なくとも一部を前記自車両のリソースに切り替えるステップとを含む、請求項3から請求項6のいずれか1項に記載の方法。
  8. 前記第2再割当実行ステップは、さらに、
    コンピュータが、前記第1サーバリソース判定ステップにおける判定が否定であることに応答して、前記走行エリア内に存在する前記連携型車両の減少を検出または予測するエリア内減少検出ステップと、
    コンピュータが、前記エリア内減少検出ステップにおいて前記走行エリア内に存在する前記連携型車両の減少が検出または予測されたことに応答して、前記サーバのリソースに余裕が生じるか否かを判定する第2サーバリソース判定ステップと、
    コンピュータが、前記第2サーバリソース判定ステップにおける判定結果が肯定であることに応答して、前記車載装置の機能に割り当てられていた前記自車両のリソースの少なくとも一部を前記サーバのリソースに切り替えるステップとを含む、請求項7に記載の方法。
  9. 前記第2再割当実行ステップは、
    コンピュータが、前記第2判定ステップにおける判定が否定であることに応答して、前記走行エリア内に存在する前記連携型車両の減少を検出または予測するエリア内減少検出ステップと、
    コンピュータが、前記エリア内減少検出ステップにおいて前記走行エリア内に存在する前記連携型車両の数の減少が検出または予測されたことに応答して、前記サーバのリソースに余裕が生じるか否かを判定する第1サーバリソース判定ステップと、
    コンピュータが、前記第1サーバリソース判定ステップにおける判定結果が肯定であることに応答して、前記車載装置の機能に割り当てられていた前記自車両のリソースの少なくとも一部を前記サーバのリソースに切り替えるステップとを含む、請求項3から請求項6のいずれか1項に記載の方法。
  10. 前記走行エリアの前記サーバは、少なくとも第1サーバを含み、
    前記車載装置の機能は、第1機能と、第1機能よりも速いレスポンスを必要とする第2機能とを含み、
    前記サーバのリソースに切り替える前記ステップは、
    前記走行エリアの前記サーバが、前記第1サーバよりレスポンスの速い第2サーバをさらに含むか否かを判定するサーバ構成判定ステップと、
    前記サーバ構成判定ステップにおいて、前記サーバが前記第2サーバを含まないと判定されたことに応答して、前記第2機能に前記自車両のリソースを割り当て、前記第1機能に前記第1サーバのリソースを割り当てるステップとを含む、請求項5または請求項6に記載の方法。
  11. 前記サーバのリソースに切り替える前記ステップは、さらに、前記サーバ構成判定ステップにおいて、前記サーバが前記第2サーバを含むと判定されたことに応答して、前記第1機能に前記第1サーバのリソースを割り当て、前記第2機能に前記第2サーバのリソースを割り当てるステップを含む、請求項10に記載の方法。
  12. 前記走行エリアの前記サーバは、少なくとも第1サーバを含み、
    前記車載装置の機能は、第1機能と、第1機能よりも速いレスポンスを必要とする第2機能とを含み、
    前記サーバのリソースに切り替える前記ステップは、
    前記走行エリアの前記サーバが、前記第1サーバよりレスポンスの遅い第2サーバをさらに含むか否かを判定するサーバ構成判定ステップと、
    前記サーバ構成判定ステップにおいて、前記サーバが前記第2サーバを含まないと判定されたことに応答して、前記第1機能および前記第2機能に前記第1サーバのリソースを割り当てるステップとを含む、請求項5または請求項6に記載の方法。
  13. 前記サーバのリソースに切り替える前記ステップは、さらに、前記サーバ構成判定ステップにおいて、前記サーバが前記第2サーバを含むと判定されたことに応答して、前記第1機能に前記第2サーバのリソースを割り当て、前記第2機能に前記第1サーバのリソースを割り当てるステップを含む、請求項12に記載の方法。
  14. 前記走行エリアの前記サーバは、第1サーバと、前記第1サーバよりもレスポンスの速い第2サーバとを含み、
    前記車載装置の機能は、第1機能と、第1機能よりも速いレスポンスを必要とする第2機能とを含み、
    前記サーバのリソースに切り替える前記ステップは、
    前記第2機能に前記第2サーバが許す限り多く前記第2サーバのリソースを割り当てるステップと、
    前記第1機能に前記第1サーバおよび前記第2サーバが許す限り多く前記第1サーバのリソースおよび前記第2サーバのリソースを割り当てるステップと、
    前記第2機能の中で前記第2サーバのリソースが割り当てられない機能、および前記第1機能の中で前記第1サーバのリソースも前記第2サーバのリソースも割り当てられない機能に前記自車両のリソースを割り当てるステップとを含む、請求項5または請求項6に記載の方法。
  15. 前記第2機能に前記第2サーバが許す限り多く前記第2サーバのリソースを割り当てるステップは、
    前記第2機能の全てに前記第2サーバのリソースが割り当てられるか否かを判定する割当判定ステップと、
    前記割当判定ステップにおいて前記第2機能の全てに前記第2サーバのリソースが割り当てられると判定されたことに応答して、前記第2機能の全てに前記第2サーバのリソースを割り当てるステップと、
    前記割当判定ステップにおいて前記第2機能の少なくとも一部に前記第2サーバのリソースが割り当てられないと判定されたことに応答して、前記走行エリア内の他の前記切替型車両との間で前記第2サーバのリソースの割当の調整を実行し、前記調整の結果に従って前記第2機能の前記一部に前記第2サーバのリソースを可能な限り多く割り当てるステップと、
    前記調整の結果、前記第2機能の中で、前記第2サーバのリソースが割り当てられない機能に前記自車両のリソースを割り当てるステップとを含む、請求項14に記載の方法。
  16. 前記第1機能に前記第1サーバおよび前記第2サーバが許す限り多く前記第1サーバのリソースおよび前記第2サーバのリソースを割り当てるステップは、
    前記第1機能の全てに前記第1サーバのリソースが割り当てられるか否かを判定する追加判定ステップと、
    前記追加判定ステップにおいて第1機能の全てに前記第1サーバのリソースが割り当てられると判定されたことに応答して、前記第1機能の全てに前記第1サーバのリソースを割り当てるステップと、
    前記追加判定ステップにおいて前記第1機能の少なくとも一部に前記第1サーバのリソースが割り当てられないと判定されたことに応答して、前記走行エリア内の他の前記連携型車両および前記切替型車両との間で前記第1サーバのリソースの割当の調整を実行し、前記調整の結果に従って前記第1機能の前記一部に前記第1サーバのリソースを可能な限り割り当てるステップと、
    前記調整の結果、前記第1機能の中で、前記第1サーバのリソースが割り当てられない機能に前記自車両のリソースを割り当てるステップとを含む、請求項14に記載の方法。
  17. サーバとの通信により運転支援機能を提供する車載装置におけるリソース割当装置であって、
    前記車載装置は、前記車載装置を搭載した車両の走行エリアを管轄するサーバのリソースと前記車載装置を搭載した車両である自車両のリソースとを切り替えて前記車載装置の各機能に割り当てる切替型車載装置であり、
    前記リソース割当装置は、
    前記自車両の走行エリアを管轄するサーバのリソースと、前記自車両のリソースとを前記車載装置の各機能に割り当てる割当処理を実行する割当実行部と、
    前記走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、前記割当処理を再実行する割当再実行部とを含む、リソース割当装置。
  18. コンピュータを、サーバとの通信により運転支援機能を提供する車載装置においてリソースの割当を行うように機能させるコンピュータプログラムであって、
    前記車載装置は、前記車載装置を搭載した車両の走行エリアを管轄するサーバのリソースと前記車載装置を搭載した車両である自車両のリソースとを切り替えて前記車載装置の各機能に割り当てる切替型車載装置であり、
    前記コンピュータプログラムは、コンピュータを、
    前記自車両の走行エリアを管轄するサーバのリソースと、前記自車両のリソースとを前記車載装置の各機能に割り当てる割当処理を実行する割当実行部と、
    前記走行エリア内に存在している、サーバとの連携を行う車両の数の変化を検出または予測したことに応答して、前記割当処理を再実行する割当再実行部として機能させる、コンピュータプログラム。
JP2024526299A 2022-06-09 2023-05-08 リソース割当方法および装置、ならびにコンピュータプログラム Active JP7747202B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2022093583 2022-06-09
JP2022093583 2022-06-09
PCT/JP2023/017226 WO2023238563A1 (ja) 2022-06-09 2023-05-08 リソース割当方法および装置、ならびにコンピュータプログラム

Publications (3)

Publication Number Publication Date
JPWO2023238563A1 JPWO2023238563A1 (ja) 2023-12-14
JPWO2023238563A5 JPWO2023238563A5 (ja) 2025-02-03
JP7747202B2 true JP7747202B2 (ja) 2025-10-01

Family

ID=89118102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024526299A Active JP7747202B2 (ja) 2022-06-09 2023-05-08 リソース割当方法および装置、ならびにコンピュータプログラム

Country Status (4)

Country Link
US (1) US20250362960A1 (ja)
JP (1) JP7747202B2 (ja)
CN (1) CN119301568A (ja)
WO (1) WO2023238563A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338264A (ja) 2005-06-01 2006-12-14 Toyota Infotechnology Center Co Ltd タスク割当装置およびタスク割当方法
JP2019185592A (ja) 2018-04-16 2019-10-24 住友電気工業株式会社 路側装置、車載装置、情報処理方法および情報処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7371609B2 (ja) * 2020-11-17 2023-10-31 トヨタ自動車株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338264A (ja) 2005-06-01 2006-12-14 Toyota Infotechnology Center Co Ltd タスク割当装置およびタスク割当方法
JP2019185592A (ja) 2018-04-16 2019-10-24 住友電気工業株式会社 路側装置、車載装置、情報処理方法および情報処理プログラム

Also Published As

Publication number Publication date
JPWO2023238563A1 (ja) 2023-12-14
WO2023238563A1 (ja) 2023-12-14
US20250362960A1 (en) 2025-11-27
CN119301568A (zh) 2025-01-10

Similar Documents

Publication Publication Date Title
JP4410661B2 (ja) 分散制御システム
CN114257599A (zh) 自适应的有限持续期边缘资源管理
JP4611853B2 (ja) 分散処理システム、車載端末、及び基地局
US12517761B2 (en) System and method for scheduling computing tasks on a network of autonomous vehicles
WO2019228285A1 (zh) 一种任务调度方法及装置
JP2019179397A (ja) 電子制御装置及びマルチコアの割当て方法
US20250272157A1 (en) Programmatic Work Assignment For Dynamically Load-Balanced Persistent Execution
JP7747202B2 (ja) リソース割当方法および装置、ならびにコンピュータプログラム
CN114489976A (zh) 一种跨边缘服务迁移方法、装置、设备和计算机可读介质
JP2008152470A (ja) データ処理システム及び半導体集積回路
WO2025256541A1 (zh) 资源调度的方法、装置和系统
CN111615082A (zh) 一种异构自动驾驶车辆编队计算任务协同执行方法
JP6890460B2 (ja) 車両制御システム検証手法および検証装置および制御装置
JP2026036650A (ja) リソーススケジューリング方法及び装置、並びにチップシステム、電子機器及び乗り物
CN119428577A (zh) 一种汽车制动的资源管理方法及系统
Easwaran et al. Real-Time Scheduling for Computing Architectures
JP7405142B2 (ja) 車載装置、車両管理システム、リソース管理方法およびリソース管理プログラム
JP6902992B2 (ja) 自動車用電子制御装置
JP7740335B2 (ja) 車載装置、方法、コンピュータプログラム、運転支援サーバ及び運転支援方法
JP7722587B2 (ja) 車載装置、サーバ装置、リソース制御方法、リソース制御支援方法、およびコンピュータプログラム
JP7798271B2 (ja) 帯域幅の制御方法及びシステム、電子機器、乗り物及び記憶媒体
CN115086382B (zh) 一种低速自动驾驶车辆分布式算力增强方法
JP7354979B2 (ja) 通信管理装置、通信管理方法、および通信管理プログラム
WO2025164506A1 (ja) データ収集システム、車載装置、データ収集方法、及びプログラム
JP2010146184A (ja) 車載計算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250901

R150 Certificate of patent or registration of utility model

Ref document number: 7747202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150