JP2022514644A - 自動化車両ネットワークにおける計算リソースのプラトーニング - Google Patents
自動化車両ネットワークにおける計算リソースのプラトーニング Download PDFInfo
- Publication number
- JP2022514644A JP2022514644A JP2021535841A JP2021535841A JP2022514644A JP 2022514644 A JP2022514644 A JP 2022514644A JP 2021535841 A JP2021535841 A JP 2021535841A JP 2021535841 A JP2021535841 A JP 2021535841A JP 2022514644 A JP2022514644 A JP 2022514644A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- time window
- computational
- during
- automated vehicle
- 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.)
- Pending
Links
- 238000007747 plating Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 48
- 230000006855 networking Effects 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 26
- 238000012545 processing Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 12
- 230000003936 working memory Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000000700 radioactive tracer Substances 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/22—Platooning, i.e. convoy of communicating vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0027—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0293—Convoy travelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Traffic Control Systems (AREA)
Abstract
自動化車両ネットワークにおける計算リソースのプラトーニングのための新規の技術が説明される。自動化車両の車載計算プロセッサは、典型的には、多数の計算タスクを実施し、それらの計算タスクの内の幾つかは、計算的に集約的であり得る。本明細書でプラトーニング可能なタスクと称されるこうした幾つかのタスクは、複数のプロセッサによる並列処理に非常に適している。実施形態は、プラトーニング可能なタスクが実行されるであろう時間ウィンドウの間に、利用可能な計算リソースをおそらく有し、アドホックネットワーク通信がプロセッサ間に確立されることを可能にするために相互に十分に近い個別の経路に沿っておそらく走行する、1つ以上の自動化車両内の1つ以上の車載計算プロセッサを検出し得る。こうした場合を検出することに応答して、実施形態は、アドホックネットワークを介した複数のプロセッサによるプラトーニング可能なタスクの共有実行をスケジューリング及び命令し得る。
Description
この出願は、参照によりその全体が本明細書に組み込まれる2018年12月20日に出願の“PLATOONING OF COMPUTATIONAL RESOURCES IN AUTOMATED VEHICLES NETWORKS”という名称の米国特許出願番号62/783,145の利益と優先権を主張する、2019年10月14日に出願の“PLATOONING OF COMPUTATIONAL RESOURCES IN AUTOMATED VEHICLES NETWORKS”という名称の米国非仮出願番号16/600,663の優先権を主張する。
この発明は、一般的に自動化車両に関し、より具体的には、自動化車両ネットワークにおける計算リソースのプラトーニングに関する。
部分的に及び完全に自動的な車両の両方を含む自動化車両による車道及びその他の環境の横断は、複数の複雑な計算タスクを含む多数のプロセスの自動化を含み得る。幾つかのこうしたタスクは、位置センサ(グローバルポジショニング衛星(GPS)デバイス等)、レーダセンサ、赤外線(IR)センサ、カメラ、及び近接センサ等から等、複数のタイプのセンサから大量のセンサデータを受信すること及び処理することを含み得る。その他のこうしたタスクは、ブレーキング、加速、ステアリング、及びその他の運転機能に関連するフィードバックを制御すること及び処理することを含み得る。更にその他のこうしたタスクは、交通事故、車道の損傷、車道の障害物、及び減速等の交通イベント等を検出すること及び対応することを含み得る。また、その他のこうしたタスクは、電力管理機能、気候制御機能、車両寿命チェック機能、乗客インターフェース機能、及びその他の多くの機能を含み得る。高度な車載プロセッサ及びその他のコンポーネントを用いたとしても、特定の自動化車両がその全ての複雑な計算タスクをそれ自体で対処することは、非現実的、圧倒的、非効率的、又はさもなければ望ましくないことであり得る。
とりわけ、実施形態は、自動化車両ネットワークにおける計算リソースのプラトーニングのための新規のシステム及び方法を提供する。自動化車両の車載計算プロセッサは、典型的には、多数の計算タスクを実施し、それらの計算タスクの内の幾つかは、(例えば、複数のセンサからのデータの処理及び分析、並びにそれに応じた複数のフィードバック制御システムの指揮を含み)計算的に集約的であり得る。本明細書ではプラトーニング可能なタスクと称される幾つかのこうしたタスクは、(例えば、複数のスレッドとして実行可能である等)複数のプロセッサによる並列処理に非常に適している。実施形態は、プラトーニング可能なタスクが実行されるであろう時間ウィンドウの間に、利用可能な計算リソースをおそらく有する、及びプロセッサ間にアドホックネットワーク通信を確立可能であるように相互に十分に近い個別の経路に沿っておそらく走行する1つ以上の自動化車両内の1つ以上の車載計算プロセッサを検出し得る。こうした場合を検出することに応答して、実施形態は、アドホックネットワークを介した複数のプロセッサによるプラトーニング可能なタスクの共有実行をスケジューリング及び命令し得る。
一組の実施形態に従えば、自動化車両ネットワークにおける計算リソースのプラトーニングのためのシステムが提供される。システムは、車両トレーサ及びプラトーニングプロセッサを含む。車両トラッカーは、複数の自動化車両の内の第1の自動化車両が時間ウィンドウの間に走行すると予測される第1の走行経路を判定することであって、第1の自動化車両は、その中に配備された第1の計算プロセッサを有することと、複数の自動化車両の内の第2の自動化車両を、その中に配備された第2の計算プロセッサを有するものとして、及び時間ウィンドウの内の少なくとも一部分の間に第1の計算のプロセッサのアドホックネットワーキングの範囲内にあるように時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測されるものとして識別することとをする。プラトーニングプロセッサは、時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することと、第2の計算プロセッサが、時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測されると判定することと、プラトーニング可能なタスクを実施するために、第1の計算プロセッサ及び第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすること、スケジューリングに従って、第1の計算プロセッサ及び第2の計算プロセッサによるプラトーニング可能なタスクの履行を命令することをする。
別の一組の実施形態に従えば、自動化車両ネットワークにおける計算リソースのプラトーニングのための方法が提供される。方法は、第1の自動化車両内に配備された第1の計算プロセッサによって、時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することと、第1の自動化車両が時間ウィンドウの間に走行すると予測される第1の走行経路を判定することと、時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に設置されるものとして、及び時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別することと、プラトーニング可能なタスクを実施するために、第1の計算プロセッサ及び第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、スケジューリングに従って、第1の計算プロセッサ及び第2の計算プロセッサによるプラトーニング可能なタスクの履行を命令することとを含む。
別の一組の実施形態に従えば、自動化車両ネットワークにおける計算リソースのプラトーニングのためのシステムが提供される。システムは、アドホック自動化車両ネットワークと結合するためのネットワークインターフェースと、1つ以上のプロセッサと、実行される場合に、1つ以上のプロセッサにステップを実施させる命令をその上に格納する非一時的メモリとを含む。ステップは、時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することであって、第1の計算プロセッサは第1の自動化車両内に配備されることと、第1の自動化車両が時間ウィンドウの間に走行すると予測される第1の走行経路を判定することと、時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に設置されるものとして、及び時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別することと、プラトーニング可能なタスクを実施するために、第1の計算プロセッサ及び第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、スケジューリングに従って、第1の計算プロセッサ及び第2の計算プロセッサによるプラトーニング可能なタスクのアドホック自動化車両ネットワークを介した履行を命令することとを含む。
この概要は、主張される主題の重要な又は本質的な機構を識別することを意図しておらず、主張される主題の範囲を判定するために別個に使用されることも意図していない。主題は、この特許の明細書全体の適切な部分、何れかの又は全ての図面、及び各請求項を参照することによって理解されるべきである。
上記は、他の機構及び実施形態と共に、以下の明細書、特許請求の範囲、及び添付の図面を参照すると、より明らかになるであろう。
本開示は、添付の図と併せて説明される。
添付の図では、同様のコンポーネント及び/又は機構は、同じ参照ラベルを有し得る。更に、同じタイプの様々なコンポーネントは、同様のコンポーネントの間で区別する第2のラベル(例えば、小文字)が参照ラベルに続くことによって区別され得る。明細書で第1の参照ラベルのみが使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントの内の何れか1つに適用可能である。
開示される技術の実施形態は、以下の本明細書の図の説明に関連して検討する場合により明確になるであろう。以下の説明では、本発明の完全な理解を提供するために、多くの具体的詳細が記載される。しかしながら、本発明は、これらの具体的詳細なしに実践され得ることを当業者は認識すべきである。幾つかの実例では、回路、構造、及び技術は、本発明を曖昧にすることを避けるために詳細には示されていない。
部分的に及び完全に自動的な車両の両方を含む自動化車両による車道及びその他の環境の横断は、複数の複雑な計算タスクを含む多数のプロセスの自動化を含み得る。こうしたタスクは、大量のセンサデータを受信及び処理すること、運転機能を制御すること、交通イベントを検出及び応答すること、電力管理機能を制御すること、乗客インターフェースイベントに対処すること、及び/又はその他の様々な車両関連機能の内の何れかを含み得る。高度な車載プロセッサ及びその他のコンポーネントを用いたとしても、特定の自動化車両がその全ての複雑な計算タスクをそれ自体で対処することは、非現実的、圧倒的、非効率的、又はさもなければ望ましくないことであり得る。
幾つかのアプローチは、ある一定の計算タスクを1つ以上のリモートサーバに(例えば、クラウドベースのサーバに)オフロードすることを含み得る。こうしたアプローチは、ある一定の環境におけるある一定のタスクには効果的であり得るが、こうしたアプローチは制限を有し得る。1つの制限は、1つ以上のリモートサーバとの安定的なリモートネットワーク接続の可用性への依存である(例えば、特定のネットワークは、それらのネットワークとの接続が要望される何処においても、そして何時でも、全ての自動的な車両に利用可能ではないことがある)。別の制限は、過度なオーバーヘッド、過度なレイテンシ、及び/又は他の要因が、時には、こうしたオフロードの効果を妨げる可能性があることである。
本明細書に説明する実施形態は、計算リソースをプラトーニングにするために動的に形成された自動化車両ネットワークを活用することによって自動化車両の計算負荷を軽減するための新規の技術を含む。例えば、第1の自動化車両に搭載された第1の計算プロセッサは、幾つかの時間ウィンドウに渡ってかなりのローカル処理リソースを消費すると予測される1つ以上のスケジューリングされた計算プロセスを検出し得る。それに応じて、(例えば、時間ウィンドウの内の少なくとも一部分に渡って、利用可能な過剰な計算リソースを有し、第1の計算プロセッサを有するアドホック通信ネットワークの中又はその範囲内にある)計算的にプラトーニング可能である1つ以上の他の自動化車両に搭載された1つ以上の他の計算プロセッサに関して判定がなされ得る。検出することに従って、1つ以上の他の計算プロセッサは、時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサと計算的にプラトーニングされ得る。
図1を見ると、ネットワーク環境100は、様々な実施形態に対する文脈として示されている。ネットワーク環境100は、車道142上を走行する複数の自動化車両145を含む。自動化車両145は、(例えば、自動化及び/又は非自動化の)他の車両と共に走行する任意の部分的に又は完全に自動的な車両を含み得る。例えば、自動化車両145は、自動化車、バス、トラック、路面電車、ユーティリティビークル、保守車両、建設車両、公共交通機関車両等を含み得る。一般に、自動化車両145は、完全に又は部分的に人間の介入なしに計算システムが車両の走行(例えば、方向、速度、経路等)を指揮し得る様々なセンサ及び自動制御(自動運転制御を含む)を含む。
任意の特定の時間において、自動化車両145の内の幾つか又は全ては、1つ以上の通信ネットワーク140を介して、相互に、及び/又は他のシステムと無線通信する。通信ネットワーク140は、無線通信リンクが自動化車両145間で直接的又は間接的に確立され得る任意のその他の適切なタイプのネットワークを含み得る。幾つかの実施形態では、幾つか又は全ての自動化車両145は、近くのセルラータワーと、1つ以上の衛星と、1つ以上の近くの中継局と、並びに/又は無線通信を送信及び受信し得る任意のその他のインフラストラクチャと通信するためのアンテナ及び送受信機を含む。インフラストラクチャは、インターネット並びに/又は任意のその他のパブリック及び/若しくはプライベートネットワーク、セルラーネットワーク、衛星ネットワーク、ケーブルネットワーク、光ファイバーネットワーク、バックホールネットワーク等の、1つ以上の他のネットワークと更に通信し得る。幾つかの実施形態では、通信ネットワーク140は、無線アドホックネットワークを含み得る。1つ以上の無線アドホックネットワークは、動的に変化するノードのセット(すなわち、自動化車両145の内の少なくとも幾つかを含む)が必要に応じて相互に無線通信を自己構成することを可能にする任意の適切な方法で実装され得る。例えば、自動化車両145が相互に対して位置を変化させると共に、各々は、他の自動化車両145と何れの無線リンクを形成、脱落、修復等するか、何れのネットワークトラフィックをルーティングするか、何れの方法でトラフィックをルーティングするか、及び(例えば、様々な通信トランザクションでルータとして潜在的に機能する各自動化車両145を)ルーティングするために何れのプロトコルを使用するか等を自動的に判定し得る。幾つかのこうした実施形態では、アドホックネットワークは、近接性に基づいてピアツーピアネットワークとして動的に形成し得る。例えば、特定の自動化車両145は、特定の地理的領域内の全ての互換性のある自動化車両145との無線接続を動的且つ自動的にネゴシエーションし得る。
自動化車両145の各々は、車載計算プロセッサ(OBCP)150を含み、それは、1つ以上のプロセッサデバイスと、非一時的プロセッサ可読メモリデバイス等の1つ以上のメモリデバイスとを含み得る。幾つかの実施形態では、各OBCP150は、OBCP150を有する自動化車両145が通信ネットワーク140と通信し得る(例えば、任意の適切なアンテナ、送受信機等を含む)ネットワークインターフェースを含む。ネットワーク環境100の幾つかの実施形態はまた、通信ネットワーク140の内の1つ以上と通信可能に結合され得る1つ以上のバックエンド計算システム160を含む。例えば、1つ以上のバックエンド計算システム160は、通信ネットワーク140を介して1つ以上の自動化車両145の1つ以上のOBCP150と通信し得る。バックエンド計算システム160は、1つ以上のサーバコンピュータ等として実装され得、それは、通信ネットワーク140を介してアクセス可能であり、複数の場所及び/又は物理的計算デバイスに渡って分散されてもよく、されなくてもよい。例えば、バックエンド計算システム160は、本明細書で説明するように、適切なアプリケーションを実行するための適切な(例えば、固定の又は動的な)処理及びストレージ能力を有するクラウドベースのサーバであり得る。
説明されるように、環境100は、プラトーニングシステム105を含む。プラトーニングシステム105の実施形態は、車両トラッカー120及びプラトーニングプロセッサ130を含み得る。幾つかの実施形態はまた、ネットワークプロセッサ110を含み得る。幾つかの実装では、OBCP150によってプラトーニングシステム105が実装される。例えば、自動化車両145の内の幾つか又は全ての各々は、そのローカルなOBCP150により実装されたプラトーニングシステム105の個別のインスタンスを有し得る。他の実装では、プラトーニングシステム105は、通信ネットワーク140を介して1つ以上の自動化車両145の1つ以上のOBCPにアクセス可能である。こうした実装では、プラトーニングシステム105は、1つ以上のバックエンド計算システム160により実装され得る。
車両トラッカー120の実施形態は、複数の自動化車両145の内の第1の自動化車両145aが時間ウィンドウの間に走行すると予測される第1の走行経路を判定し得る。説明されるように、第1の自動化車両145aは、第1の計算プロセッサ(第1のOBCP150a)を有し得る。車両トラッカー120は、第2の自動化車両145bを、第2の計算プロセッサ(第2のOBCP150b)を有するものとして識別し得る。車両トラッカー120は、時間ウィンドウの内の少なくとも一部分の間に第1のOBCP150aのアドホックネットワーキングの範囲内にあるように、時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測されるものとして第2の自動化車両145bを更に識別し得る。図1に説明するように、幾つかの場合、第1及び第2のOBCP150は、2つの別個の自動化車両145内にある。例えば、第1のOBCP150aは、第1の走行経路に沿って走行する第1の自動化車両145a内にあり、第2のOBCP150bは、第1の自動化車両145aとは異なり、第1の走行経路とは異なる第2の走行経路に沿って走行する第2の自動化車両145b内にある。こうした場合、走行経路は異なるが、車両トラッカー120は、第1及び第2の走行経路が少なくとも部分的に同じである(例えば、それらの走行経路の一部分に対して車道を共有する)か、又は自動化車両145が時間ウィンドウの内の少なくとも一部分の間にアドホックネットワーキングの範囲内にあると予測されるそれらの個別のルートの一部分に沿って十分に近い(例えば、近くの車道上にある)ことを識別し得る。或いは、車両トラッカー120は、一方又は両方の自動化車両145が複数の候補走行経路の内の何れかを使用してその目的地に到達し得ると判定し得、車両トラッカー120は、自動化車両145が時間ウィンドウの内の少なくとも一部分の間にアドホックネットワーキングの範囲内にあると予測されることを複数の候補走行経路の内の何れかがもたらすか否かを判定し得る。そうである場合、実施形態は、何れの候補走行経路を横断するかに関して自動化車145の内の一方又は両方に命令し得、それによって、自動化車両145が時間ウィンドウの内の少なくとも一部分の間にアドホックネットワーキングの範囲内にあると予測される状況を創出することに寄与する。
幾つかの場合、1つ以上のOBCP150は、モバイルデバイスの一部であり得、及び/又はさもなければ特定の自動化車両145から分離可能であり得る(例えば、構造的に統合されなくてもよい)。こうした実装に従えば、第1及び第2のOBCP150は、複数のOBCP150が複数の自動化車両145間を移動し得、及び/又は暫くの間同じ車両内にさえあり得るように、個別の自動化車両145に対するよりもむしろ、個別のユーザ(例えば、個々の人間のユーザ)に対応する。例えば、第1のOBCP150aは、自動化車両145内に統合され得、第2のOBCP150bは、自動化車両145の乗客のタブレットコンピュータ内にあり得る(すなわち、それは、少なくとも着目した時間ウィンドウの間に“車載”である)。
プラトーニングプロセッサ130の実施形態は、時間ウィンドウの間に第1のOBCP150aの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出し得る。例えば、プラトーニングプロセッサ130は、時間ウィンドウの間に複数の計算タスクにより消費されると予測される第1のOBCP150aの計算リソースの量に従って、時間ウィンドウの間の計算リソースの需要を計算し得、プラトーニングプロセッサ130は、時間ウィンドウの間に複数の計算タスクによる消費に対して利用可能であると予測される第1のOBCP150aの計算リソースの量に従って、時間ウィンドウの間の計算リソースの供給を計算し得る。プラトーニングプロセッサ130は、時間ウィンドウの間の計算リソースの需要が時間ウィンドウの間の計算リソースの供給を超えると判定することに応答して、プラトーニング可能なタスクを検出し得る。
プラトーニングプロセッサ130の実施形態は、第2のOBCP150bが時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測されると(例えば、プラトーニング可能なタスクを検出することに応答して)判定し得る。幾つかの実施形態では、車両トラッカー120は、時間ウィンドウの内の少なくとも一部分の間に第1のOBCP150aのアドホックネットワーキングの範囲内にあるように、時間ウィンドウの内の少なくとも一部分の間に個別の走行経路に沿って走行すると予測される個別の自動化車両145と各々が関連付けられる(例えば、第1の自動化車両145a、第2の自動化車両145b、及び/又はその他の自動化車両145内にある)ものとして候補OBCP150のセットを識別する。プラトーニングプロセッサ130は、時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測される候補OBCP150のセットの1つであるものとして第2のOBCP150bをその後識別し得る。プラトーニングプロセッサ130は、プラトーニング可能なタスクを実施するために、第1のOBCP150a及び第2のOBCP150bの計算リソースのプラトーニングをその後スケジューリングし得る。スケジューリングに従って、プラトーニングプロセッサ130は、第1のOBCP150a及び第2のOBCP150bによるプラトーニング可能なタスクの履行を命令し得る。幾つかの実装では、プラトーニング可能なタスクは、複数の並列実行スレッドとして実行可能であり、プラトーニングプロセッサ130は、第1のOBCP150aによって実行される複数の並列実行スレッドの内の第1の部分をスケジューリングすることと、第2のOBCP150bによって実行される複数の並列実行スレッドの内の第2の部分をスケジューリングすることとによって、プラトーニングをスケジューリングし得る。
ネットワークプロセッサ110の実施形態は、アドホックネットワーク(通信ネットワーク140の内の1つ)を介して、アドホックネットワークの無線アドホックネットワーキングの範囲内の複数の自動化車両の内の何れかと通信可能に結合し得る。アドホックネットワークは、複数のアンテナ(無線アドホックネットワーク互換アンテナ)の内の何れが、アドホックネットワークのメンバーノードに現在対応するアンテナの内の少なくとも別のものに近接しているかに従って動的に変化するメンバーノードのセットを有し得る。例えば、アドホックネットワークは、メンバーノード間の1つ以上のホップを使用して、ピアツーピアネットワーク、メッシュネットワーク、及び/又はその他の適切なネットワークを動的に生成し得る。幾つかの実施形態では、プラトーニングプロセッサ130による、プラトーニング可能なタスクの履行の命令は、該命令に従ったアドホックネットワークを介した第1のOBCP150a又は第2のOBCP150bの内の少なくとも1つへの、ネットワークプロセッサ110による通信ネットワーク140を介した命令の通信を含み(又は発動し)得る。幾つかの実施形態に従えば、各OBCP150は、各個別のOBCP150がアドホックネットワークと効果的に通信し(又はそれを介して命令され)得るように、アドホックネットワークとの無線接続を確立するための個別のアンテナを含み得る。
幾つかの実施形態では、ネットワークプロセッサ110は更に、時間ウィンドウに従って、第1のOBCP150aと第2のOBCP150bとの間のアドホックネットワーク接続を検出する。幾つかのこうした実施形態では、プラトーニングプロセッサ130は、ネットワークプロセッサ110がアドホックネットワーク接続を検出することに応答してプラトーニング可能なタスクの履行を命令し得る。例えば、第1の自動化車両145a及び第2の自動化車両145bは、それらの個別の経路に沿って走行していると仮定する。ある時点で(すなわち、時間ウィンドウの内の一部分の間に)、第1の自動化車両145と第2の自動化車両145との間にアドホック無線ネットワーク接続が確立され得るように、自動化車両145は相互に十分に近接する。幾つかの実装では、自動化車両145が何時何処にいるのかの予測に基づいて予めスケジューリングされたタイミングにのみ応答して、プラトーニングプロセッサ130が第1及び第2のOBCP150によるプラトーニング可能なタスクの履行を命令し得るように、(例えば、車両トラッカー120による車両追跡は十分に正確であるので)プラトーニングプロセッサ130によるスケジューリングは十分に正確である。他の実装では、プラトーニングプロセッサ130によるスケジューリングは、自動化車両145間の無線アドホックネットワーク接続が確立されたことを検出することに応答して実行されるタスクスケジューリングを準備する。幾つかの実装では、ネットワーク接続の確立を検出することは、少なくとも最小の閾値リンク品質(例えば、リンクに渡る最小のサービス品質、最小の帯域幅、最小のデータレート、最大のパケットエラー損失等)があることを検出することを含み得る。
図2は、様々な実施形態に従ったプラトーニングシステム200に対する説明的なアーキテクチャを示す。プラトーニングシステム200は、図1のプラトーニングシステム105の実装であり得る。説明するように、プラトーニングシステム200は、ネットワークプロセッサ110、車両トラッカー120、及びプラトーニングプロセッサ130の説明的な実装を含む。説明する文脈では、第1の動的に変化する計算リソース210aを有する第1のOBCP150aと、第2の動的に変化する計算リソース210bを有する第2のOBCP150bとがある。各OBCP150は、個別の車載車両コントローラ225を含み得、又はそれと通信し得る。各車載車両コントローラ225は、個別の自動化車両145の車両機能を制御し得、又は該制御を支援し得る。例えば、車載車両コントローラ225は、操舵、制動及び加速、ナビゲーション等を制御又は支援し得る。
幾つかの実施形態では、第1のOBCP150aは、時間ウィンドウの間に第1のOBCP150aの計算リソース210aの少なくとも閾値量を消費すると予測される複数の計算タスクの1つとしてプラトーニング可能なタスク205を検出し得る。プラトーニング可能なタスク205についての情報(例えば、プラトーニング可能なタスク205の実行が複数のプロセッサ間で分散又は共有され得る方法、プラトーニング可能なタスク205の実行に必要と予測される計算リソースの量、プラトーニング可能なタスク205の実行のタイミング、特定の時間においてプラトーニング可能なタスク205を実行することの重要性等)は、プラトーニングプロセッサ130のタスクスケジューラ230に通信され得る。
車両トラッカー120は、自動化車両145の車載車両コントローラ225と通信し得、及び/又はさもなければ、OBCP150と関連付けられた個別の走行経路215を判定し得る。例えば、走行経路215は、第1の自動化車両145aの第1の走行経路215と、第2の自動化車両145bの第2の走行経路215とに対応し得、走行経路215は、部分的に異なってもよく、異ならなくてもよい。具体的には、車両トラッカー120は、特定の時間ウィンドウの間の自動化車両145の予測された場所(又は候補の場所)に関して走行経路215を判定し得る。
プラトーニングプロセッサ130のタスクスケジューラ230は、時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソース210bを有すると予測されるものとして、第2のOBCP150bを識別し得る。また、車両経路215に基づいて、プラトーニングプロセッサ130(例えば、プラトーニングプロセッサ130の車両スケジューラ220)は、時間ウィンドウの内の少なくとも一部分の間に第1のOBCP150aのアドホックネットワーキングの範囲内にあるように、時間ウィンドウの内の少なくとも一部分の間に走行経路215に沿って走行すると予測される関連する自動化車両145内に第2のOBCP150bが設置されると判定し得る。
上記に従えば、プラトーニングシステム200が、第1のOBCP150aの間近のプラトーニング可能なタスク205と、利用可能な計算リソース210をおそらく有するであろうし、それらの(例えば、潜在的に追加の)OBCP150間でプラトーニング可能なタスク205の実行を分散するのに適切な時間で適切な場所におそらくあるであろう第2のOBCP150bの利用可能性とを検出する場合が生じ得る。こうした場合を検出することに応答して、タスクスケジューラ230は、プラトーニング可能なタスク205を実施するために、第1及び第2のOBCP150の計算リソース210のプラトーニングをスケジューリングし得る。タスクスケジューラ230は、スケジューリングに従って、第1及び第2のOBCP150によるプラトーニング可能なタスク205の履行をその後命令し得る。幾つかの実施形態では、プラトーニングプロセッサ130の車両スケジューラ220は、車載車両コントローラ225に、スケジューリングを更に最適化するように指揮し得る。例えば、車両スケジューラ220は、1つ以上の自動化車両145に対して、時間ウィンドウの間に1つ以上の他の自動化車両145の近くにそれを配置するであろう走行経路を選択すること、(例えば、別の車両の前方又は後方に直接留まるように、隣接するレーンに留まるように等)1つ以上の他の自動化車両145に近接してそれを留まらせるであろう経路に沿って走行すること等を指揮し得る。
本明細書で説明するように、プラトーニングシステム200の実施形態は、1つ以上のOBCP150内に及び/又は1つ以上のバックエンド計算システム160内に実装され得る。実装に依存して、異なるタイプのデータが交換され得、及び/又は異なるタイプの通信がネットワークプロセッサ110を経由して実施され得る。一実装では、ネットワークプロセッサ110、車両トラッカー120、及びプラトーニングプロセッサ130は、バックエンド計算システム160内に全て実装される。こうした実装では、車両の場所及び/又は走行経路215、計算リソース210、プラトーニング可能なタスク205等に関するデータは、1つ以上の通信ネットワーク140を介してネットワークプロセッサ110を使用して通信され得る。バックエンド計算システム160は、ネットワークプロセッサ110を介してプラトーニング可能なタスク205(及び幾つかの実装では、1つ以上の自動化車両145の直接走行)の実行をその後命令し得る。別の実装では、1つ以上のOBCP150の各々は、ネットワークプロセッサ110、車両トラッカー120、及びプラトーニングプロセッサ130を実装する。こうした実装では、車両の場所及び/又は走行経路215、計算リソース210、プラトーニング可能なタスク205等に関するデータは、第1のOBCP150aが設置された車両を含む、自動化車両145の内の1つ以上に、アドホックネットワークを介してネットワークプロセッサ110を使用して通信され得る。第1のOBCP150aは、そのネットワークプロセッサ110を介して、プラトーニング可能なタスク205の実行(及び幾つかの実装では、1つ以上の自動化車両145の直接走行)に関して、1つ以上の自動化車両145内の1つ以上の他のOBCP150にその後命令し得る。他の実装は、コンポーネント及び関連する機能を他の方法で分散し得る。
プラトーニングシステム105又はそのコンポーネントの実施形態は、図3に説明するように、1つ以上のコンピュータシステム上に実装され得、及び/又はそれを組み込み得る。図3は、様々なシステムコンポーネントを実装し得、及び/又は様々な実施形態によって提供される方法の様々なステップを実施し得るコンピュータシステム300の一実施形態の概略図を提供する。図3は、様々なコンポーネントの一般化された説明を提供することのみを意図しており、それらの内の何れか又は全てが適切に利用され得る。図3は、それ故、個々のシステム要素が、比較的分離された、又は比較的より統合された方法でどのように実装され得るかを大まかに説明する。
コンピュータシステム300は、バス305を介して電気的に結合され得る(又は、さもなければ、必要に応じて通信し得る)ハードウェア要素を含んで示されている。ハードウェア要素は、1つ以上の汎用プロセッサ及び/又は1つ以上の専用プロセッサ(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、及び/又はビデオデコーダ等)を含むがこれらに限定されない1つ以上のプロセッサ310と、マウス、キーボード、リモコン、タッチスクリーン、タッチパッド、及び/又は音声入力デバイス等を含み得るがこれらに限定されない1つ以上の入力デバイス315と、表示デバイス、データウェアハウス、及び/又はプリンタ等を含み得るがこれらに限定されない1つ以上の出力デバイス320とを含み得る。
コンピュータシステム300は、1つ以上の非一時的ストレージデバイス325を更に含み(及び/又はそれと通信し)得、それは、非限定的に、ローカル及び/若しくはネットワークアクセス可能なストレージを含み得、並びに/又は非限定的に、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(“RAM”)等のソリッドステートストレージデバイス、及び/又はリードオンリーメモリ(“ROM”)を含み得、それらは、プログラム可能及び/又はフラッシュ更新可能等であり得る。こうしたストレージデバイスは、様々なファイルシステム、及び/又はデータベース構造等を含むがこれらに限定されない、任意の適切なデータストアを実装するように構成され得る。
コンピュータシステム300はまた、通信サブシステム330を含み得、それは、モデム、ネットワークカード(無線又は有線)、赤外線通信デバイス、無線通信デバイス、及び/又はチップセット(例えば、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信デバイス等)等を非限定的に含み得る。通信サブシステム330は、ネットワーク(本明細書で説明される様々なネットワーク等)、他のコンピュータシステム、及び/又は本明細書で説明される任意のその他のデバイスとデータを交換することを可能にし得る。多くの実施形態では、コンピュータシステム300は、本明細書で説明されるように、RAM又はROMデバイスを含み得るワーキングメモリ335を更に含むであろう。
コンピュータシステム300はまた、オペレーティングシステム340、デバイスドライバ、実行可能ライブラリ、及び/又は1つ以上のアプリケーションプログラム345等のその他のコードを含む、ワーキングメモリ335内に現在設置されているものとして示されるソフトウェア要素を含み得、それは、様々な実施形態により提供されるコンピュータプログラムを含み得、並びに/又は本明細書に記載されるように、他の実施形態によって提供される方法を実装する、及び/若しくはシステムを構成するように設計され得る。単なる例として、本明細書で論じる方法に関して説明される1つ以上の手順は、コンピュータ(及び/又はコンピュータ内のプロセッサ)によって実行可能なコード及び/又は命令として実装され得、一態様では、こうしたコード及び/又は命令は、説明する方法に従って1つ以上の動作を実施するように汎用コンピュータ(又は他のデバイス)を構成及び/又は適合するために使用され得る。
これらの命令及び/又はコードのセットは、上で説明した非一時的ストレージデバイス325等の非一時的コンピュータ可読ストレージ媒体上に格納され得る。幾つかの場合、ストレージ媒体は、コンピュータシステム300等のコンピュータシステム内に組み込まれ得る。他の実施形態では、ストレージ媒体は、コンピュータシステム(例えば、コンパクトディスク等のリムーバブル媒体)から分離され得、並びに/又はストレージ媒体がその上に格納された命令/コードを有する汎用コンピュータをプログラム、構成、及び/若しくは適合させるため使用され得るように、インストールパッケージで提供され得る。これらの命令は、コンピュータシステム300により実行可能である実行可能なコードの形式を取り得、並びに/又は(例えば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等の内の何れかを使用して)コンピュータシステム300上でコンパイル及び/又はインストールされると、実行可能コードの形式をその後取るソース及び/又はインストール可能なコードの形式を取り得る。
具体的な要件に従って実質的な変更がなされ得ることは当業者には明らかであろう。例えば、カスタマイズされたハードウェアも使用され得、及び/又は特定の要素は、ハードウェア、ソフトウェア(アプレット等のポータブルソフトウェアを含む)、又はそれらの両方で実装され得る。更に、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続が用いられ得る。
上述のように、一態様では、幾つかの実施形態は、発明の様々な実施形態に従った方法を実施するために、コンピュータシステム(コンピュータシステム300等)を用い得る。一組の実施形態に従えば、こうした方法の手順の内の幾つか又は全ては、ワーキングメモリ335内に含まれる(オペレーティングシステム340及び/又はアプリケーションプログラム345等のその他のコード中に組み込まれ得る)1つ以上の命令の1つ以上のシーケンスをプロセッサ310が実行することに応答して、コンピュータシステム300によって実施される。こうした命令は、非一時的ストレージデバイス325の内の1つ以上等の別のコンピュータ可読媒体からワーキングメモリ335中に読み出され得る。単なる例として、ワーキングメモリ335内に含まれる命令のシーケンスの実行は、本明細書に説明する方法の1つ以上の手順をプロセッサ310に実施させ得る。
幾つかの実施形態では、コンピュータシステム300は、自動化車両ネットワークにおける計算リソースのプラトーニングのためのシステムを実装する。こうしたシステムは、アドホック自動化車両ネットワークと結合するためのネットワークインターフェース、1つ以上のプロセッサ、及び実行される場合に1つ以上のプロセッサにステップを実行させる命令をその上に格納する非一時的メモリを含み得る。ネットワークインターフェースは、例えば、通信サブシステム330によって実装され得る。1つ以上のプロセッサは、プロセッサ310によって実装され得る。命令は、ワーキングメモリ335内に格納され得、例えば、時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出するためであって、第1の計算プロセッサは第1の自動化車両内に配備されるために、時間ウィンドウの間に第1の自動化車両が走行すると予測される第1の走行経路を判定するために、時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両に設置されているものとして、及び時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測されるものとして、第2の計算プロセッサを識別するために、プラトーニング可能なタスクを実施するために第1の計算プロセッサ及び第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングするために、並びにスケジューリングに従って第1の計算プロセッサ及び第2の計算プロセッサによるプラトーニング可能なタスクのアドホック自動化車両ネットワークを介した履行を命令するために、プロセッサ310によって実行可能である。
用語“機械可読媒体”、“コンピュータ可読ストレージ媒体”、及び“コンピュータ可読媒体”は、本明細書で使用されるとき、機械を特定の仕様で動作させるデータを提供することに関与する任意の媒体を指す。これらの媒体は非一時的であり得る。コンピュータシステム300を使用して実装される実施形態では、様々なコンピュータ可読媒体は、実行のためにプロセッサ310に命令/コードを提供することに関与し得、並びに/又はこうした命令/コードを格納及び/若しくは搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的及び/又は有形のストレージ媒体である。こうした媒体は、不揮発性媒体又は揮発性媒体の形式を取り得る。不揮発性媒体は、例えば、非一時的ストレージ装置325等の光学及び/又は磁気ディスクを含む。揮発性媒体は、ワーキングメモリ335等の動的メモリを含むが、これに限定されない。
物理的及び/又は有形のコンピュータ可読媒体の一般的な形式は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、若しくはその他の任意の磁気媒体、CD-ROM、その他の任意の光学媒体、マークのパターンを有する任意のその他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意のその他のメモリチップ若しくはカートリッジ、又はコンピュータが命令及び/若しくはコードを読み出し得る任意のその他の媒体を含む。
様々な形式のコンピュータ可読媒体は、実行のために1つ以上の命令の1つ以上のシーケンスをプロセッサ310に搬送することに関与し得る。単なる例として、命令は、リモートコンピュータの磁気ディスク及び/又は光ディスク上に初めに搬送され得る。リモートコンピュータは、命令をその動的メモリ中にロードし得、コンピュータシステム300により受信及び/又は実行される伝送媒体を経由して信号として命令を送信し得る。
通信サブシステム330(及び/又はそのコンポーネント)は、一般的に信号を受信するであろうし、バス305は、信号(及び/又は信号によって搬送されるデータ、命令等)をワーキングメモリ335にその後搬送し得、プロセッサ310は、そこから命令を検索し、実行する。ワーキングメモリ335により受信された命令は、随意に、プロセッサ310による実行の前又は後の何れかにおいて、非一時的ストレージ装置325上に格納され得る。
コンピュータシステム300のコンポーネントがネットワークに渡って分散され得ることは更に理解されるべきである。例えば、幾つかの処理は、第1のプロセッサを使用してある場所で実施され得るが、他の処理は、第1のプロセッサから離れた別のプロセッサにより実施され得る。コンピュータシステム300の他のコンポーネントも同様に分散され得る。そのようなものだとして、コンピュータシステム300は、複数の場所で処理を実施する分散型コンピューティングシステムとして解釈され得る。幾つかの実例では、コンピュータシステム300は、文脈に依存して、別個のラップトップ、又はデスクトップコンピュータ等の単一のコンピューティングデバイスとして解釈され得る。
上で説明したシステムを含むシステムは、様々な方法を実装するために使用され得る。図4は、様々な実施形態に従った自動化車両ネットワークにおける計算リソースのプラトーニングのための例示的な方法400のフロー図を示す。方法400の実施形態は、第1の自動化車両内に配備された第1の計算プロセッサによって、時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することによって、ステージ404において開始する。幾つかの実施形態は、時間ウィンドウの間に複数の計算タスクにより消費されると予測される第1の計算プロセッサの計算リソースの量に従って、時間ウィンドウの間の計算リソースの需要を計算することによって、ステージ424において開始し得る。こうした実施形態は、ステージ428において、時間ウィンドウの間に複数の計算タスクによる消費に対して利用可能であると予測される第1の計算プロセッサの計算リソースの量に従って、時間ウィンドウの間の計算リソースの供給を計算し得る。こうした実施形態では、ステージ404において検出することは、時間ウィンドウの間の計算リソースの需要が時間ウィンドウの間の計算リソースの供給を超えると判定することに応答して実施され得る。例えば、時間ウィンドウの間の計算リソースの需要が時間ウィンドウの間の計算リソースの供給を超えるか否かに関して、ステージ432において判定がなされ得る。そうである場合、方法400は、ステージ404における判定を進め得る。そうでない場合、方法400は終了し得る。幾つかの実施形態では、方法400(例えば、少なくともステージ404~420)がそうした状態の検出に応答して実行され得るように、ステージ424~432は、次回の時間ウィンドウの間の計算リソースの需要が次回の時間ウィンドウの間の計算リソースの供給を超える状態を監視している連続的又は周期的なバックグラウンドルーチンを表す。
ステージ408において、実施形態は、第1の自動化車両が時間ウィンドウの間に走行すると予測される第1の走行経路を判定し得る。ステージ412において、実施形態は、時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に設置されているものとして、及び時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別し得る。幾つかの実施形態では、ステージ412において識別することは、時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、時間ウィンドウの内の少なくとも一部分の間に個別の走行経路に沿って走行すると予測される個別の自動化車両と各々が関連付けられているものとして候補計算プロセッサのセットを識別することと、時間ウィンドウの内の少なくとも一部分の間に利用可能な計算リソースを有すると予測される候補計算プロセッサのセット内の1つであるものとして第2の計算プロセッサを識別することとを含む。方法400の幾つかの実施形態は、ステージ436において、第2の計算プロセッサが第1の自動化車両とは異なる第2の自動化車両と関連付けられること、及び第2の走行経路が第1の走行経路とは異なることを判定することを更に含む。こうした実施形態では、第2の計算プロセッサが、時間ウィンドウの内の少なくとも一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に設置されることを識別することは、第2の自動化車両が時間ウィンドウの内の少なくとも一部分の間に第1の自動化車両と同じ車道上を走行していると予測されると判定することを含み得る。
ステージ416において、実施形態は、プラトーニング可能なタスクを実施するために、第1の計算プロセッサ及び第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングし得る。幾つかの実施形態では、プラトーニング可能なタスクは、複数の並列実行スレッドとして実行可能であり、ステージ416においてスケジューリングすることは、第1の計算プロセッサにより実行される複数の並列実行スレッドの内の第1の部分をスケジューリングすることと、第2の計算プロセッサにより実行される複数の並列実行スレッドの内の第2の部分をスケジューリングすることとを含む。
ステージ420において、実施形態は、スケジューリングに従って、第1の計算プロセッサ及び第2の計算プロセッサによるプラトーニング可能なタスクの履行を命令し得る。幾つかの実施形態では、第1の計算プロセッサ及び第2の計算プロセッサの各々は、アドホックネットワークとの無線接続を確立するために個別のアンテナと結合され、アドホックネットワークは、複数のアンテナの内の何れがアドホックネットワークのメンバーノードに現在対応する複数のアンテナの内の少なくとも別のものに近接しているかに従って動的に変化する複数のメンバーノードを有する。こうした実施形態では、第2の計算プロセッサは、アドホックネットワークを経由して時間ウィンドウの内の少なくとも一部分の間に第1の計算プロセッサのアドホックネットワーキングの範囲内にあると予測され得、ステージ420において命令することは、(例えば、アドホックネットワークを介して命令を通信することによって)アドホックネットワークを経由して実施され得る。幾つかの実施形態では、方法400は、ステージ440において、時間ウィンドウに従って、第1の計算プロセッサと第2の計算プロセッサとの間のアドホックネットワーク接続を検出することを更に含む。こうした実施形態では、命令することは、アドホックネットワーク接続の検出に応答され得る。
本明細書で説明するように、方法400のステップは、ネットワーク環境の任意の適切なノードにおいて任意の適切なコンポーネントにより実施され得る。幾つかの実装では、ステージ404~420の内の全て(及び例えば、幾つかの場合、ステージ424~440)は、自動化車両の車載システムにより実施される。例えば、第1の自動化車両は、ステージ404~420の内の全てを実施し得、ステージ420は、アドホックネットワークを経由して第1の自動化車両が第2の自動化車両に命令することを含み得る。他の実装形態では、ステージ404~420の内の全て(及び例えば、幾つかの場合、ステージ424~440)は、バックエンド計算システムにより実施される。例えば、検出することは、ステージ420がアドホックネットワークを経由して第1及び第2の計算プロセッサの両方に命令することを含むように、ステージ404においてプラトーニング可能なタスクの検出を指し示し、及び少なくともステージ408~420を発動する情報を第1の自動化車両からバックエンド計算システムにおいて受信することを含み得る。他の実装では、ステージ404~420(及び例えば、幾つかの場合、ステージ424~440)の履行は、1つ以上の自動化車両及び1つ以上のバックエンド計算システムの間で共有され得る。例えば、第1の自動化車両は、ステージ404において検出すること及びステージ408において判定することを実施し得、プラトーニング可能なタスク及び第1の走行経路についての情報を、アドホックネットワーク又は任意のその他の適切なネットワークを経由してバックエンド計算システムへ送信し得る。バックエンド計算システムは、当該情報を受信することに応答して、少なくともステージ412~420を実施し得、最終的に、ステージ420においてアドホックネットワークを経由して第1及び第2の計算プロセッサの両方に命令する。他の実装は、異なる方法で方法400のステップを実施し得る。
上で論じた方法、システム、及びデバイスは例示である。様々な構成は、必要に応じて、様々な手順又はコンポーネントを省略、置換、又は追加し得る。実例として、代替的な構成では、方法は、記載されたものとは異なる順序で実施され得、並びに/又は様々なステージが追加、省略、及び/若しくは組み合わされ得る。また、ある一定の構成に関して説明した機構は、他の様々な構成において組み合わされ得る。構成の異なる態様及び要素は、同様の方法で組み合わされ得る。また、技術は進化しているため、要素の多くは例であり、開示又は請求項の範囲を限定しない。
(実装を含む)例示的な構成の完全な理解を提供するために、具体的な詳細が説明に与えられている。しかしながら、構成はこれらの具体的な詳細なしで実践され得る。例えば、周知の回路、プロセス、アルゴリズム、構造、及び技術は、構成が不明瞭になるのを避けるために、不必要な詳細なしに示されている。この説明は、例示的構成のみを提供し、請求項の範囲、適用可能性、又は構成を限定しない。むしろ、構成の前述の説明は、説明された技術を実装するための有効な説明を当業者に提供するであろう。開示の精神又は範囲から逸脱することなく、要素の機能及び配置に様々な変更がなされ得る。
また、構成は、フロー図又はブロック図として描写されるプロセスとして説明され得る。各々が動作を順次のプロセスとして説明し得るが、動作の多くは並列して又は同時に実施され得る。また、動作の順序は再配置され得る。プロセスは、図中に含まれない追加のステップを有し得る。更に、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、又はマイクロコードで実装される場合、必要なタスクを実施するためのプログラムコード又はコードセグメントは、ストレージ媒体等の非一時的コンピュータ可読媒体内に格納され得る。プロセッサは、説明したタスクを実施し得る。
幾つかの例示的構成を説明したが、開示の精神から逸脱することなく、様々な修正、代替構造、及び均等物が使用され得る。例えば、上記の要素は、より大きなシステムのコンポーネントであり得、他の規則が、発明の適用よりも優先されるか、さもなければ修正され得る。また、上記の要素を検討する前、間、又は後に、複数のステップが着手され得る。
Claims (20)
- 自動化車両ネットワークにおける計算リソースのプラトーニングのためのシステムであって、
複数の自動化車両の内の第1の自動化車両が時間ウィンドウの間に走行すると予測される第1の走行経路を判定することであって、前記第1の自動化車両は、その中に配備された第1の計算プロセッサを有することと、
前記複数の自動化車両の内の第2の自動化車両を、その中に配備された第2の計算プロセッサを有するものとして、及び前記時間ウィンドウの内の少なくとも一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように前記時間ウィンドウの内の少なくとも前記一部分の間に第2の走行経路に沿って走行すると予測されるものとして識別することと
をするための車両トラッカーと、
前記時間ウィンドウの間に前記第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することと、
前記第2の計算プロセッサが、前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測されることを判定することと、
前記プラトーニング可能なタスクを実施するために、前記第1の計算プロセッサ及び前記第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、
前記スケジューリングに従って、前記第1の計算プロセッサ及び前記第2の計算プロセッサによる前記プラトーニング可能なタスクの履行を命令することと
をするためのプラトーニングプロセッサと
を含む、システム。 - アドホックネットワークを介して、前記アドホックネットワークの無線アドホックネットワーキングの範囲内の前記複数の自動化車両の内の何れかと通信可能に結合することと、
前記プラトーニングプロセッサが前記プラトーニング可能なタスクの前記履行を命令することに従って、前記アドホックネットワークを介して前記第1の計算プロセッサ又は前記第2の計算プロセッサの内の少なくとも1つに命令を通信することと
をするためのネットワークプロセッサ
を更に含む、請求項1に記載のシステム。 - 前記第1の計算プロセッサ及び前記第2の計算プロセッサの各々は、前記アドホックネットワークとの無線接続を確立するために個別のアンテナと結合され、前記アドホックネットワークは、複数のアンテナの内の何れが前記アドホックネットワークのメンバーノードに現在対応する前記複数のアンテナの内の少なくとも別のものに近接しているかに従って動的に変化する複数のメンバーノードを有する、請求項2に記載のシステム。
- 前記ネットワークプロセッサは、
前記時間ウィンドウに従って、前記第1の計算プロセッサと前記第2の計算プロセッサとの間のアドホックネットワーク接続を検出することを更にし、
前記プラトーニングプロセッサは、前記ネットワークプロセッサが前記アドホックネットワーク接続を検出することに応答して前記プラトーニング可能なタスクの前記履行を命令する、
請求項2に記載のシステム。 - 前記第1の自動化車両及び前記第2の自動化車両から離れたバックエンド計算システムであって、前記ネットワークプロセッサ、前記プラトーニングプロセッサ、及び前記車両トラッカーを含む前記バックエンド計算システム
を更に含む、請求項2に記載のシステム。 - 前記プラトーニングプロセッサは、
前記時間ウィンドウの間に前記複数の計算タスクにより消費されると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの需要を計算することと、
前記時間ウィンドウの間に前記複数の計算タスクによる消費に対して利用可能であると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの供給を計算することと
を更にし、
前記プラトーニングプロセッサは、前記時間ウィンドウの間の前記計算リソースの需要が前記時間ウィンドウの間の前記計算リソースの供給を超えると判定することに応答して、前記プラトーニング可能なタスクを検出することをする、
請求項1に記載のシステム。 - 前記車両トラッカーは、前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に個別の走行経路に沿って走行すると予測される個別の自動化車両と各々が関連付けられるものとして、候補計算プロセッサのセットを識別することを更にし、
前記プラトーニングプロセッサは、前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測される候補計算プロセッサの前記セットの内の1つであるものとして前記第2の計算プロセッサを識別することをする、
請求項1に記載のシステム。 - 前記プラトーニング可能なタスクは、複数の並列実行スレッドとして実行可能であり、
前記プラトーニングプロセッサは、前記第1の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第1の部分をスケジューリングすることと、前記第2の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第2の部分をスケジューリングすることとによって前記プラトーニングをスケジューリングすることをする、
請求項1に記載のシステム。 - 前記第2の自動化車両は前記第1の自動化車両とは異なり、
前記第2の走行経路は前記第1の走行経路とは異なる、
請求項1に記載のシステム。 - 前記プラトーニングプロセッサは、前記第1の自動化車両内に配備される、
請求項1に記載のシステム。 - 前記車両トラッカーは、前記第2の走行経路が前記第2の自動化車両による走行に対して判定された複数の候補走行経路の内の1つであることを識別することによって、及び前記第2の走行経路が、前記第2の自動化車両が前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるようにさせる前記候補走行経路の内の前記1つであることを識別することによって、前記時間ウィンドウの内の少なくとも前記一部分の間に前記第2の走行経路に沿って走行すると予測されるものとして前記第2の自動化車両を識別することをし、
前記車両トラッカーは、前記プラトーニングプロセッサが前記プラトーニング可能なタスクの前記履行を命令することに従って、前記第2の車両に前記第2の走行経路を横断するように指揮することを更にする、
請求項1に記載のシステム。 - 前記第1の自動化車両又は前記第2の自動化車両の内の少なくとも1つは、完全に自動的な車両である、
請求項1に記載のシステム。 - 自動化車両ネットワークにおける計算リソースのプラトーニングのための方法であって、
第1の自動化車両に配備された第1の計算プロセッサによって、時間ウィンドウの間に前記第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することと、
前記第1の自動化車両が前記時間ウィンドウの間に走行すると予測される第1の走行経路を判定することと、
前記時間ウィンドウの内の少なくとも一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に配置されるものとして、及び前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別することと、
前記プラトーニング可能なタスクを実行するために、前記第1の計算プロセッサ及び前記第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、
前記スケジューリングに従って、前記第1の計算プロセッサ及び前記第2の計算プロセッサによる前記プラトーニング可能なタスクの履行を命令することと
を含む、方法。 - 前記時間ウィンドウの間に前記複数の計算タスクにより消費されると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの需要を計算することと、
前記時間ウィンドウの間に前記複数の計算タスクによる消費に対して利用可能であると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの供給を計算することと
を更に含み、
前記検出することは、前記時間ウィンドウの間の前記計算リソースの需要が前記時間ウィンドウの間の前記計算リソースの供給を超えると判定することに応答して実施される、
請求項13に記載の方法。 - 前記識別することは、
前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に個別の走行経路に沿って走行すると予測される個別の自動化車両と各々が関連付けられるものとして候補計算プロセッサのセットを識別することと、
前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測される候補計算プロセッサの前記セットの内の1つであるものとして前記第2の計算プロセッサを識別することと
を含む、請求項13に記載の方法。 - 前記第1の計算プロセッサ及び前記第2の計算プロセッサの各々は、アドホックネットワークとの無線接続を確立するために個別のアンテナと結合され、前記アドホックネットワークは、複数のアンテナの内の何れが前記アドホックネットワークのメンバーノードに現在対応する前記複数のアンテナの内の少なくとも別のものに近接しているかに従って動的に変化する複数のメンバーノードを有し、
前記第2の計算プロセッサは、前記アドホックネットワークを経由して前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあると予測され、
前記命令することは前記アドホックネットワークを経由する、
請求項13に記載の方法。 - 前記時間ウィンドウに従って、前記第1の計算プロセッサと前記第2の計算プロセッサとの間のアドホックネットワーク接続を検出することを更に含み、
前記命令することは、前記アドホックネットワーク接続を検出することに応答する、
請求項13に記載の方法。 - 前記プラトーニング可能なタスクは、複数の並列実行スレッドとして実行可能であり、
前記スケジューリングすることは、前記第1の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第1の部分をスケジューリングすることと、前記第2の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第2の部分をスケジューリングすることとを含む、
請求項13に記載の方法。 - 前記第2の計算プロセッサが前記第1の自動化車両とは異なる第2の自動化車両と関連付けられること、及び前記第2の走行経路が前記第1の走行経路とは異なることを判定することを更に含み、
前記第2の計算プロセッサが、前記時間ウィンドウの内の少なくとも前記一部分の間に前記第2の走行経路に沿って走行すると予測される関連する前記自動化車両内に設置されることを識別することは、前記第2の自動化車両が前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の自動化車両と同じ車道上を走行すると予測されると判定することを含む、
請求項13に記載の方法。 - 自動化車両ネットワークにおける計算リソースのプラトーニングのためのシステムであって、
アドホック自動化車両ネットワークと結合するためのネットワークインターフェースと、
1つ以上のプロセッサと、
実行される場合に、
時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することであって、前記第1の計算プロセッサは第1の自動化車両内に配備されることと、
前記第1の自動化車両が前記時間ウィンドウの間に走行すると予測される第1の走行経路を判定することと、
前記時間ウィンドウの内の少なくとも一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に設置されるものとして、及び前記時間ウィンドウの少なくとも前記一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別することと、
前記プラトーニング可能なタスクを実施するために、前記第1の計算プロセッサ及び前記第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、
前記スケジューリングに従って、前記第1の計算プロセッサ及び前記第2の計算プロセッサによる前記プラトーニング可能なタスクの前記アドホック自動化車両ネットワークを介した履行を命令することと
を含むステップを前記1つ以上のプロセッサに実行させる命令をその上に格納する非一時メモリと
を含む、システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862783145P | 2018-12-20 | 2018-12-20 | |
US62/783,145 | 2018-12-20 | ||
US16/600,663 US11086670B2 (en) | 2018-12-20 | 2019-10-14 | Platooning of computational resources in automated vehicles networks |
US16/600,663 | 2019-10-14 | ||
PCT/US2019/065318 WO2020131470A1 (en) | 2018-12-20 | 2019-12-10 | Platooning of computational resources in automated vehicles networks |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022514644A true JP2022514644A (ja) | 2022-02-14 |
Family
ID=71097386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021535841A Pending JP2022514644A (ja) | 2018-12-20 | 2019-12-10 | 自動化車両ネットワークにおける計算リソースのプラトーニング |
Country Status (5)
Country | Link |
---|---|
US (2) | US11086670B2 (ja) |
EP (1) | EP3899900A1 (ja) |
JP (1) | JP2022514644A (ja) |
CA (1) | CA3124404A1 (ja) |
WO (1) | WO2020131470A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086670B2 (en) | 2018-12-20 | 2021-08-10 | Dish Network L.L.C. | Platooning of computational resources in automated vehicles networks |
KR20200111978A (ko) * | 2019-03-20 | 2020-10-05 | 현대자동차주식회사 | 내비게이션 시스템 및 그의 경로 탐색 방법 |
US11408739B2 (en) * | 2019-05-16 | 2022-08-09 | International Business Machines Corporation | Location correction utilizing vehicle communication networks |
US12005924B2 (en) * | 2021-06-15 | 2024-06-11 | International Business Machines Corporation | Dynamic route recommendation based on mobile computation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2373136A (en) * | 2001-03-07 | 2002-09-11 | Int Computers Ltd | Distributed computing using wireless mobile devices |
US7945470B1 (en) * | 2006-09-29 | 2011-05-17 | Amazon Technologies, Inc. | Facilitating performance of submitted tasks by mobile task performers |
US7929999B2 (en) * | 2007-05-29 | 2011-04-19 | International Business Machines Corporation | Method and system for harnessing processor power of mobile devices |
CN102077543A (zh) * | 2008-07-29 | 2011-05-25 | 朗讯科技公司 | 计算机网络中用于用户设备间的资源共享的方法和装置 |
US8645745B2 (en) * | 2011-02-24 | 2014-02-04 | International Business Machines Corporation | Distributed job scheduling in a multi-nodal environment |
US10545508B2 (en) | 2016-08-31 | 2020-01-28 | International Business Machines Corporation | Managing synchronized movement of a set of vehicles |
WO2018125686A2 (en) | 2016-12-30 | 2018-07-05 | Intel Corporation | Methods and devices for radio communications |
US11086670B2 (en) | 2018-12-20 | 2021-08-10 | Dish Network L.L.C. | Platooning of computational resources in automated vehicles networks |
-
2019
- 2019-10-14 US US16/600,663 patent/US11086670B2/en active Active
- 2019-12-10 JP JP2021535841A patent/JP2022514644A/ja active Pending
- 2019-12-10 WO PCT/US2019/065318 patent/WO2020131470A1/en unknown
- 2019-12-10 EP EP19832506.0A patent/EP3899900A1/en active Pending
- 2019-12-10 CA CA3124404A patent/CA3124404A1/en active Pending
-
2021
- 2021-07-06 US US17/367,969 patent/US11354158B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11354158B2 (en) | 2022-06-07 |
US11086670B2 (en) | 2021-08-10 |
US20210334136A1 (en) | 2021-10-28 |
WO2020131470A1 (en) | 2020-06-25 |
CA3124404A1 (en) | 2020-06-25 |
US20200201674A1 (en) | 2020-06-25 |
EP3899900A1 (en) | 2021-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022514644A (ja) | 自動化車両ネットワークにおける計算リソースのプラトーニング | |
US10635114B2 (en) | Optimizing space utilization | |
US11012502B2 (en) | Method for operating a decentralized computing network, in particular an edge cloud computer of the decentralized computing network | |
CA3034978A1 (en) | Driver location prediction for a transportation service | |
KR102042046B1 (ko) | 분산 클라우드 기반의 자율주행 시스템 및 방법 | |
WO2016029168A1 (en) | Arranging a transport service for a user based on the estimated time of arrival of the user | |
US20220050725A1 (en) | Method for managing computing capacities in a network with mobile participants | |
US11500372B2 (en) | Joint optimization of robotic vehicle routing for ride quality, safety, and operator demand | |
CN111193763A (zh) | 车辆宏云中改进的无线通信 | |
US20200356911A1 (en) | Dynamic routing of vehicles through established corridors | |
US20200393256A1 (en) | Managing movement of vehicles through directional route corridors | |
JP2007087273A (ja) | 分散処理システム及び車載端末 | |
US11634123B2 (en) | Methods and systems for prioritizing computing methods for autonomous vehicles | |
CN111417065A (zh) | 基于v2x消息变量匹配第一联网设备和第二联网设备 | |
CN113475107B (zh) | 将云侧角色委派给设备的方法、系统和计算机可读存储介质 | |
US20150103738A1 (en) | Selecting an access point for determining position of a device based on traffic load information | |
KR20210089409A (ko) | 차량 자원을 이용하여 서비스를 제공하는 장치 및 그의 동작 방법 | |
CN113243100A (zh) | 用于车辆的用于外包计算过程的装置 | |
KR101837288B1 (ko) | 네트워크의 커버리지에 기초하여 센서 메타데이터를 제공하는 무선 센서 네트워크 | |
TWI830050B (zh) | 基於路線的數位服務管理系統及方法、以及至少一種非暫時性機器可讀取媒體 | |
KR20210151771A (ko) | 도착지로 운행 중인 차량의 배차 관리 방법, 이에 사용되는 관리 서버 및 도착지로 운행 중인 차량의 배차 관리 방법을 실행시키는 프로그램이 기록된 기록 매체 | |
US20240086264A1 (en) | Hardware adaptive vehicle os design on mcu | |
WO2023276431A1 (ja) | 車載装置、方法、コンピュータプログラム、運転支援サーバ及び運転支援方法 | |
US20240086238A1 (en) | General purpose real-time safety implementation on mpu | |
KR102622482B1 (ko) | 자율 주행 차량을 제어하는 전자 장치 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240319 |