JP2022514644A - 自動化車両ネットワークにおける計算リソースのプラトーニング - Google Patents

自動化車両ネットワークにおける計算リソースのプラトーニング Download PDF

Info

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
Application number
JP2021535841A
Other languages
English (en)
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.)
Dish Network LLC
Original Assignee
Dish Network LLC
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 Dish Network LLC filed Critical Dish Network LLC
Publication of JP2022514644A publication Critical patent/JP2022514644A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/22Platooning, i.e. convoy of communicating vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control 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/0027Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control 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/0291Fleet control
    • G05D1/0293Convoy travelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • 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]
    • 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/46Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-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の自動化車両は、その中に配備された第1の計算プロセッサを有することと、
    前記複数の自動化車両の内の第2の自動化車両を、その中に配備された第2の計算プロセッサを有するものとして、及び前記時間ウィンドウの内の少なくとも一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように前記時間ウィンドウの内の少なくとも前記一部分の間に第2の走行経路に沿って走行すると予測されるものとして識別することと
    をするための車両トラッカーと、
    前記時間ウィンドウの間に前記第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することと、
    前記第2の計算プロセッサが、前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測されることを判定することと、
    前記プラトーニング可能なタスクを実施するために、前記第1の計算プロセッサ及び前記第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、
    前記スケジューリングに従って、前記第1の計算プロセッサ及び前記第2の計算プロセッサによる前記プラトーニング可能なタスクの履行を命令することと
    をするためのプラトーニングプロセッサと
    を含む、システム。
  2. アドホックネットワークを介して、前記アドホックネットワークの無線アドホックネットワーキングの範囲内の前記複数の自動化車両の内の何れかと通信可能に結合することと、
    前記プラトーニングプロセッサが前記プラトーニング可能なタスクの前記履行を命令することに従って、前記アドホックネットワークを介して前記第1の計算プロセッサ又は前記第2の計算プロセッサの内の少なくとも1つに命令を通信することと
    をするためのネットワークプロセッサ
    を更に含む、請求項1に記載のシステム。
  3. 前記第1の計算プロセッサ及び前記第2の計算プロセッサの各々は、前記アドホックネットワークとの無線接続を確立するために個別のアンテナと結合され、前記アドホックネットワークは、複数のアンテナの内の何れが前記アドホックネットワークのメンバーノードに現在対応する前記複数のアンテナの内の少なくとも別のものに近接しているかに従って動的に変化する複数のメンバーノードを有する、請求項2に記載のシステム。
  4. 前記ネットワークプロセッサは、
    前記時間ウィンドウに従って、前記第1の計算プロセッサと前記第2の計算プロセッサとの間のアドホックネットワーク接続を検出することを更にし、
    前記プラトーニングプロセッサは、前記ネットワークプロセッサが前記アドホックネットワーク接続を検出することに応答して前記プラトーニング可能なタスクの前記履行を命令する、
    請求項2に記載のシステム。
  5. 前記第1の自動化車両及び前記第2の自動化車両から離れたバックエンド計算システムであって、前記ネットワークプロセッサ、前記プラトーニングプロセッサ、及び前記車両トラッカーを含む前記バックエンド計算システム
    を更に含む、請求項2に記載のシステム。
  6. 前記プラトーニングプロセッサは、
    前記時間ウィンドウの間に前記複数の計算タスクにより消費されると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの需要を計算することと、
    前記時間ウィンドウの間に前記複数の計算タスクによる消費に対して利用可能であると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの供給を計算することと
    を更にし、
    前記プラトーニングプロセッサは、前記時間ウィンドウの間の前記計算リソースの需要が前記時間ウィンドウの間の前記計算リソースの供給を超えると判定することに応答して、前記プラトーニング可能なタスクを検出することをする、
    請求項1に記載のシステム。
  7. 前記車両トラッカーは、前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に個別の走行経路に沿って走行すると予測される個別の自動化車両と各々が関連付けられるものとして、候補計算プロセッサのセットを識別することを更にし、
    前記プラトーニングプロセッサは、前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測される候補計算プロセッサの前記セットの内の1つであるものとして前記第2の計算プロセッサを識別することをする、
    請求項1に記載のシステム。
  8. 前記プラトーニング可能なタスクは、複数の並列実行スレッドとして実行可能であり、
    前記プラトーニングプロセッサは、前記第1の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第1の部分をスケジューリングすることと、前記第2の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第2の部分をスケジューリングすることとによって前記プラトーニングをスケジューリングすることをする、
    請求項1に記載のシステム。
  9. 前記第2の自動化車両は前記第1の自動化車両とは異なり、
    前記第2の走行経路は前記第1の走行経路とは異なる、
    請求項1に記載のシステム。
  10. 前記プラトーニングプロセッサは、前記第1の自動化車両内に配備される、
    請求項1に記載のシステム。
  11. 前記車両トラッカーは、前記第2の走行経路が前記第2の自動化車両による走行に対して判定された複数の候補走行経路の内の1つであることを識別することによって、及び前記第2の走行経路が、前記第2の自動化車両が前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるようにさせる前記候補走行経路の内の前記1つであることを識別することによって、前記時間ウィンドウの内の少なくとも前記一部分の間に前記第2の走行経路に沿って走行すると予測されるものとして前記第2の自動化車両を識別することをし、
    前記車両トラッカーは、前記プラトーニングプロセッサが前記プラトーニング可能なタスクの前記履行を命令することに従って、前記第2の車両に前記第2の走行経路を横断するように指揮することを更にする、
    請求項1に記載のシステム。
  12. 前記第1の自動化車両又は前記第2の自動化車両の内の少なくとも1つは、完全に自動的な車両である、
    請求項1に記載のシステム。
  13. 自動化車両ネットワークにおける計算リソースのプラトーニングのための方法であって、
    第1の自動化車両に配備された第1の計算プロセッサによって、時間ウィンドウの間に前記第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することと、
    前記第1の自動化車両が前記時間ウィンドウの間に走行すると予測される第1の走行経路を判定することと、
    前記時間ウィンドウの内の少なくとも一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に配置されるものとして、及び前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別することと、
    前記プラトーニング可能なタスクを実行するために、前記第1の計算プロセッサ及び前記第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、
    前記スケジューリングに従って、前記第1の計算プロセッサ及び前記第2の計算プロセッサによる前記プラトーニング可能なタスクの履行を命令することと
    を含む、方法。
  14. 前記時間ウィンドウの間に前記複数の計算タスクにより消費されると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの需要を計算することと、
    前記時間ウィンドウの間に前記複数の計算タスクによる消費に対して利用可能であると予測される前記第1の計算プロセッサの前記計算リソースの量に従って、前記時間ウィンドウの間の計算リソースの供給を計算することと
    を更に含み、
    前記検出することは、前記時間ウィンドウの間の前記計算リソースの需要が前記時間ウィンドウの間の前記計算リソースの供給を超えると判定することに応答して実施される、
    請求項13に記載の方法。
  15. 前記識別することは、
    前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に個別の走行経路に沿って走行すると予測される個別の自動化車両と各々が関連付けられるものとして候補計算プロセッサのセットを識別することと、
    前記時間ウィンドウの内の少なくとも前記一部分の間に利用可能な計算リソースを有すると予測される候補計算プロセッサの前記セットの内の1つであるものとして前記第2の計算プロセッサを識別することと
    を含む、請求項13に記載の方法。
  16. 前記第1の計算プロセッサ及び前記第2の計算プロセッサの各々は、アドホックネットワークとの無線接続を確立するために個別のアンテナと結合され、前記アドホックネットワークは、複数のアンテナの内の何れが前記アドホックネットワークのメンバーノードに現在対応する前記複数のアンテナの内の少なくとも別のものに近接しているかに従って動的に変化する複数のメンバーノードを有し、
    前記第2の計算プロセッサは、前記アドホックネットワークを経由して前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあると予測され、
    前記命令することは前記アドホックネットワークを経由する、
    請求項13に記載の方法。
  17. 前記時間ウィンドウに従って、前記第1の計算プロセッサと前記第2の計算プロセッサとの間のアドホックネットワーク接続を検出することを更に含み、
    前記命令することは、前記アドホックネットワーク接続を検出することに応答する、
    請求項13に記載の方法。
  18. 前記プラトーニング可能なタスクは、複数の並列実行スレッドとして実行可能であり、
    前記スケジューリングすることは、前記第1の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第1の部分をスケジューリングすることと、前記第2の計算プロセッサにより実行される前記複数の並列実行スレッドの内の第2の部分をスケジューリングすることとを含む、
    請求項13に記載の方法。
  19. 前記第2の計算プロセッサが前記第1の自動化車両とは異なる第2の自動化車両と関連付けられること、及び前記第2の走行経路が前記第1の走行経路とは異なることを判定することを更に含み、
    前記第2の計算プロセッサが、前記時間ウィンドウの内の少なくとも前記一部分の間に前記第2の走行経路に沿って走行すると予測される関連する前記自動化車両内に設置されることを識別することは、前記第2の自動化車両が前記時間ウィンドウの内の少なくとも前記一部分の間に前記第1の自動化車両と同じ車道上を走行すると予測されると判定することを含む、
    請求項13に記載の方法。
  20. 自動化車両ネットワークにおける計算リソースのプラトーニングのためのシステムであって、
    アドホック自動化車両ネットワークと結合するためのネットワークインターフェースと、
    1つ以上のプロセッサと、
    実行される場合に、
    時間ウィンドウの間に第1の計算プロセッサの計算リソースの少なくとも閾値量を消費すると予測される複数の計算タスクの内の1つとしてプラトーニング可能なタスクを検出することであって、前記第1の計算プロセッサは第1の自動化車両内に配備されることと、
    前記第1の自動化車両が前記時間ウィンドウの間に走行すると予測される第1の走行経路を判定することと、
    前記時間ウィンドウの内の少なくとも一部分の間に前記第1の計算プロセッサのアドホックネットワーキングの範囲内にあるように、前記時間ウィンドウの内の少なくとも前記一部分の間に第2の走行経路に沿って走行すると予測される関連する自動化車両内に設置されるものとして、及び前記時間ウィンドウの少なくとも前記一部分の間に利用可能な計算リソースを有すると予測されるものとして第2の計算プロセッサを識別することと、
    前記プラトーニング可能なタスクを実施するために、前記第1の計算プロセッサ及び前記第2の計算プロセッサの計算リソースのプラトーニングをスケジューリングすることと、
    前記スケジューリングに従って、前記第1の計算プロセッサ及び前記第2の計算プロセッサによる前記プラトーニング可能なタスクの前記アドホック自動化車両ネットワークを介した履行を命令することと
    を含むステップを前記1つ以上のプロセッサに実行させる命令をその上に格納する非一時メモリと
    を含む、システム。
JP2021535841A 2018-12-20 2019-12-10 自動化車両ネットワークにおける計算リソースのプラトーニング Pending JP2022514644A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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