CN110719314B - 用于管理计算任务的方法和系统 - Google Patents

用于管理计算任务的方法和系统 Download PDF

Info

Publication number
CN110719314B
CN110719314B CN201910631005.7A CN201910631005A CN110719314B CN 110719314 B CN110719314 B CN 110719314B CN 201910631005 A CN201910631005 A CN 201910631005A CN 110719314 B CN110719314 B CN 110719314B
Authority
CN
China
Prior art keywords
tvvs
task
computing task
timestamp
computing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910631005.7A
Other languages
English (en)
Other versions
CN110719314A (zh
Inventor
O·阿尔廷塔斯
樋口雄大
尾口健太郎
中西徹
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of CN110719314A publication Critical patent/CN110719314A/zh
Application granted granted Critical
Publication of CN110719314B publication Critical patent/CN110719314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请涉及在载具情境中管理计算任务。一种方法接收计算任务;确定计算任务的处理资源要求;确定第一临时载具虚拟服务器(TVVS)在第一时间戳的可用处理资源,第一TVVS包括在第一时间戳在一路段上相对于彼此位置邻近的第一参与载具;确定第一参与载具的载具运动数据;基于第一参与载具的载具运动数据估计第一TVVS在第一时间戳之后的第二时间戳的可用处理资源;基于计算任务的处理资源要求、第一TVVS在第一时间戳的可用处理资源和第一TVVS在第二时间戳的估计可用处理资源确定要在第一TVVS上执行计算任务;并且将计算任务指派给第一TVVS以执行计算任务。

Description

用于管理计算任务的方法和系统
技术领域
本公开涉及管理计算任务。在更具体的示例中,本公开涉及用于在载具情境(vehicle context)中管理计算任务的技术。
背景技术
在载具情境中,计算系统一般从载具接收输入数据以执行各种计算任务并且将计算任务的输出数据提供给载具以促进其操作。当今,现代计算系统经常包括多个计算实体并且经常依赖于资源监视来管理由计算实体执行的计算任务。然而,这些计算系统经常要求大量的计算资源来向和从计算实体传送数据。因此,由于其动态且有限的计算资源,这些计算系统利用载具网络操作一般来说是不实际或不可能的。此外,现有解决方案通常将一个计算任务指派给多个计算实体来执行以应对任务失败的潜在风险。结果,这些现有解决方案在利用计算实体的计算资源方面一般是效率低下的。
发明内容
本公开中描述的主题通过提供用于在载具情境中管理计算任务的新颖技术克服了现有解决方案的缺陷和局限。
根据本公开中描述的主题的一个创新方面,一种由计算机实现的方法包括:接收计算任务;确定计算任务的处理资源要求;确定第一临时载具虚拟服务器(TVVS)在第一时间戳的可用处理资源,第一 TVVS包括在第一时间戳在一路段上相对于彼此位置邻近的第一参与载具;确定第一参与载具的载具运动数据;基于第一参与载具的载具运动数据估计第一TVVS在第二时间戳的可用处理资源,第二时间戳在第一时间戳之后;基于计算任务的处理资源要求、第一TVVS在第一时间戳的可用处理资源和第一TVVS在第二时间戳的估计可用处理资源,确定要在第一TVVS上执行计算任务;并且响应于确定要在第一TVVS上执行计算任务,将计算任务指派给第一TVVS以履行计算任务的执行。
一般而言,本公开中描述的主题的另一创新方面可实现在由计算机实现的方法中,这些方法包括:接收计算任务;确定计算任务的处理资源要求;从路段上的载具确定在第一时间戳在该路段上相对于彼此位置邻近的候选参与载具;确定候选参与载具的载具运动数据;确定候选临时载具虚拟服务器(TVVS)在第一时间戳的可用处理资源,候选TVVS在第一时间戳包括候选参与载具;基于候选参与载具的载具运动数据估计候选TVVS在第二时间戳的可用处理资源,第二时间戳在第一时间戳之后;基于计算任务的处理资源要求、候选TVVS在第一时间戳的可用处理资源和候选TVVS在第二时间戳的估计可用处理资源,确定计算任务在候选TVVS上是可执行的;响应于确定计算任务在候选TVVS上是可执行的,指示候选参与载具形成TVVS;并且将计算任务指派给TVVS以履行计算任务的执行。
一般而言,本公开中描述的主题的另一创新方面可实现在系统中,这些系统包括:一个或多个处理器;存储指令的一个或多个存储器,这些指令当被该一个或多个处理器执行时使得该系统:接收计算任务;确定计算任务的处理资源要求;确定第一临时载具虚拟服务器 (TVVS)在第一时间戳的可用处理资源,第一TVVS包括在第一时间戳在一路段上相对于彼此位置邻近的第一参与载具;确定第一参与载具的载具运动数据;基于第一参与载具的载具运动数据估计第一 TVVS在第二时间戳的可用处理资源,第二时间戳在第一时间戳之后;基于计算任务的处理资源要求、第一TVVS在第一时间戳的可用处理资源和第一TVVS在第二时间戳的估计可用处理资源,确定要在第一 TVVS上执行计算任务;并且响应于确定要在第一TVVS上执行计算任务,将计算任务指派给第一TVVS以履行计算任务的执行。
一般而言,本公开中描述的主题的另一创新方面可实现在系统中,这些系统包括:一个或多个处理器;存储指令的一个或多个存储器,这些指令当被该一个或多个处理器执行时使得该系统:接收计算任务;确定计算任务的处理资源要求;从路段上的载具确定在第一时间戳在该路段上相对于彼此位置邻近的候选参与载具;确定候选参与载具的载具运动数据;确定候选临时载具虚拟服务器(TVVS)在第一时间戳的可用处理资源,候选TVVS在第一时间戳包括候选参与载具;基于候选参与载具的载具运动数据估计候选TVVS在第二时间戳的可用处理资源,第二时间戳在第一时间戳之后;基于计算任务的处理资源要求、候选TVVS在第一时间戳的可用处理资源和候选TVVS在第二时间戳的估计可用处理资源,确定计算任务在候选TVVS上是可执行的;响应于确定计算任务在候选TVVS上是可执行的,指示候选参与载具形成TVVS;并且将计算任务指派给TVVS以履行计算任务的执行。
这些和其他实现方式可各自可选地包括以下特征中的一个或多个:估计第一TVVS在第二时间戳的可用处理资源包括基于第一参与载具的载具运动数据从第一参与载具确定在第二时间戳在该路段上相对于彼此位置邻近的第二参与载具,第一TVVS在第二时间戳包括第二参与载具,并且将第二参与载具的可用处理资源聚集到第一TVVS 在第二时间戳的估计可用处理资源中;基于第一时间戳和计算任务的任务持续时间确定第二时间戳;第一参与载具中包括的每个参与载具的载具运动数据指明该参与载具的载具速度、载具地理定位和载具路线中的一个或多个;在计算任务的执行期间的第一检查点时间戳确定计算任务的完成处理资源要求,确定第一TVVS在第一检查点时间戳的可用处理资源,基于计算任务的完成处理资源要求和第一TVVS在第一检查点时间戳的可用处理资源,确定第一TVVS不能完成计算任务的执行,并且响应于确定第一TVVS不能完成计算任务的执行,重指派计算任务;在计算任务的执行期间的第一检查点时间戳确定计算任务的完成处理资源要求,确定第一TVVS在第一检查点时间戳包括第二参与载具,基于第二参与载具的载具运动数据估计第一TVVS在第二检查点时间戳的可用处理资源,第二检查点时间戳在第一检查点时间戳之后,基于计算任务的完成处理资源要求和第一TVVS在第二检查点时间戳的估计可用处理资源确定第一TVVS不能完成计算任务的执行,并且响应于确定第一TVVS不能完成计算任务的执行,重指派计算任务;确定计算任务的任务进度度量,确定计算任务的任务进度度量满足预定的任务进度阈值,并且响应于确定计算任务的任务进度度量满足预定的任务进度阈值,重指派计算任务;在计算任务的执行期间的检查点时间戳确定要重指派计算任务,确定计算任务的完成处理资源要求,确定一组TVVS,该组的每个TVVS包括在检查点时间戳在路段上相对于彼此位置邻近的参与载具,每个TVVS具有在检查点时间戳的可用处理资源和在第二时间戳的估计可用处理资源,基于计算任务的完成处理资源要求、第二TVVS在检查点时间戳的可用处理资源和第二TVVS在第二时间戳的估计可用处理资源从该组 TVVS中选择第二TVVS,并且将计算任务重指派给第二TVVS以继续计算任务的执行;在计算任务的执行期间的检查点时间戳确定要重指派计算任务,确定计算任务的通信简况,确定第一TVVS在检查点时间戳的地理位置,确定第二TVVS在检查点时间戳的地理位置,第二TVVS包括在检查点时间戳在路段上相对于彼此位置邻近的参与载具,利用计算任务的通信简况、第一TVVS在检查点时间戳的地理位置和第二TVVS在检查点时间戳的地理位置确定与第二TVVS相关联的计算任务的通信资源要求,基于与第二TVVS相关联的计算任务的通信资源要求确定要将计算任务重指派给第二TVVS,并且响应于确定要将计算任务重指派给第二TVVS,将计算任务重指派给第二TVVS 以继续计算任务的执行;计算任务的通信简况指明以下各项中的一个或多个:与计算任务相关联的任务输入数据的输入数据大小,任务输出数据的输出数据大小,任务执行数据大小,请求任务输入数据的频率,请求任务输出数据的频率,从其接收计算任务的任务输入数据的一个或多个计算实体的地理位置,以及向其发送计算任务的任务输出数据的一个或多个计算实体的地理位置;确定计算任务的任务输入数据与该路段相关联,并且指示第一TVVS确定与该路段相关联的附加输入数据,附加输入数据由第一TVVS中包括的第一参与载具的一个或多个传感器生成,并且利用计算任务的任务输入数据和由第一参与载具的一个或多个传感器生成的附加输入数据履行计算任务的执行。
这些和其他实现方式可各自可选地包括以下特征中的一个或多个:候选参与载具具有满足预定的相对距离阈值的在路段上的与彼此的相对距离;确定计算任务在候选TVVS上是可执行的包括确定候选 TVVS在第一时间戳的可用处理资源满足计算任务的处理资源要求,并且确定候选TVVS在第二时间戳的估计可用处理资源满足计算任务的处理资源要求;基于第一时间戳和计算任务的任务持续时间确定第二时间戳;估计候选TVVS在第二时间戳的可用处理资源包括从候选参与载具基于候选参与载具的载具运动数据确定在第二时间戳在该路段上相对于彼此位置邻近的第一候选参与载具,候选TVVS在第二时间戳包括第一候选参与载具,并且将第一候选参与载具的可用处理资源聚集到候选TVVS在第二时间戳的估计可用处理资源中。
这些和其他方面中的一个或多个的其他实现方式包括相应系统、装置和编码在非暂态计算机存储设备上的被配置为执行这些方法的动作的计算机程序。
本公开中给出的用于在载具情境中管理计算任务的新颖技术在多个方面尤其有利。例如,本文描述的技术能够监视和估计计算实体(例如,临时载具虚拟服务器)的可用处理资源,并且在必要时将计算任务从执行计算任务的当前计算实体重指派到另一计算实体。由于计算任务在当前执行该计算任务的临时载具虚拟服务器解散之前和/或在当前计算实体的可用处理资源变得不足以完成该计算任务之前被重指派,所以本技术可避免将计算任务冗余地指派给计算系统的多个计算实体。结果,可优化对计算系统提供的处理资源的利用,而不会增大任务失败的风险或者降低服务质量。作为另一示例,本技术能够基于通信任务的通信简况将计算任务指派给计算实体。因此,每个计算任务可由使接收和分发该计算任务的相关数据所要求的通信资源达到最低限度,和/或使为数据传送带来货币成本的通信网络上的通信带宽达到最低限度的计算实体来执行。
应当理解,前述优点是作为示例提供的,并且本技术具有许多其他优点和益处。
在附图中以示例方式而非限制方式图示了本公开,附图中相似的标号用于指代相似的元件。
附图说明
图1A是用于在载具情境中管理计算任务的示例系统的框图。
图1B是用于在载具情境中管理计算任务的示例系统的结构图。
图2A是示例任务管理应用的框图。
图2B是在各种计算实体中实现的示例任务管理应用的结构图。
图3是用于指派计算任务的示例方法的流程图。
图4是用于确定临时载具虚拟服务器来履行计算任务的执行的示例方法的流程图。
图5是用于建立临时载具虚拟服务器来履行计算任务的执行的示例方法的流程图。
图6A和6B图示了用于重指派计算任务的第一示例方法的流程图。
图7图示了用于重指派计算任务的第二示例方法的流程图。
图8是用于监视计算任务的执行的示例方法的流程图。
图9是用于确定是否要重指派计算任务的示例方法的流程图。
具体实施方式
本文描述的技术可有效地管理计算载具任务。如下文更详细描述的,本技术包括各种方面,例如但不限于如下的方法和相应系统:这些方法和相应系统可确定第一临时载具虚拟服务器(temporal vehicular virtual server,TVVS)在第一时间戳的可用处理资源,在第一时间戳接收第一TVVS中包括的第一参与载具的载具运动数据,并且基于第一参与载具的载具运动数据估计第一TVVS在第一时间戳之后的第二时间戳的可用处理资源。第一TVVS在第一时间戳的可用处理资源和第一TVVS在第二时间戳的估计可用处理资源可用于确定是否要在第一TVVS上执行具有处理资源要求的计算任务,并且相应地将计算任务指派给第一TVVS。在计算任务的执行期间,如果必要,计算任务可被重指派给第二TVVS或者重指派给固定计算服务器以继续任务执行。
图1A是用于管理计算任务的示例系统100的框图。如图所示,系统100包括一个或多个集中式服务器101a…101n、一个或多个本地服务器107a…107n、一个或多个载具平台103a…103n以及一个或多个临时载具虚拟服务器(TVVS)109a…109n。如图所示,每个 TVVS109可包括连接到彼此以形成载具集群的一个或多个载具平台 103,载具集群中的载具平台103可贡献其可用处理资源以合作履行临时载具虚拟服务器(TVVS)109的功能。集中式服务器101和本地服务器107可以是固定计算服务器并且可经由网络105耦合以便进行电子通信。TVVS 109可如信号线156所反映那样通信地耦合到网络105,如信号线160所反映那样通信地耦合到本地服务器107,并且如信号线170所反映那样通信地耦合到其他TVVS 109。载具平台103可如信号线164所反映那样通信地耦合到TVVS 109,如信号线168所反映那样通信地耦合到本地服务器107,并且通过信号线166经由网络 105通信地耦合到系统100的其他组件。
在图1A和其余附图中,标号之后的字母,例如“103a”,表示对具有该特定标号的元件的引用。没有随后字母的文本形式的标号,例如“103”,表示对带有该标号的元件的实例的一般引用。应当理解,图1A中描绘的系统100是作为示例提供的并且系统100和/或本公开设想到的其他系统可包括额外的和/或更少的组件,可组合组件和/或将一个或多个组件划分成额外组件,等等。例如,系统100可包括任何数目的载具平台103、TVVS 109、网络105、本地服务器107或集中式服务器101。
网络105可以是传统类型的、有线和/或无线的,并且可具有许多不同的配置,包括星形配置、令牌环配置或其他配置。例如,网络105 可包括一个或多个局域网(local areanetwork,LAN)、广域网(wide area network,WAN)(例如,互联网)、个人区域网(personalarea network,PAN)、公共网络、私有网络、虚拟网络、虚拟专用网、对等网络、近场网络(例如
Figure BDA0002128698660000081
等等)和/或多个设备可通过其通信的其他互连数据路径。
网络105也可耦合到或者可包括电信网络的一些部分,用于按多种不同的通信协议发送数据。示例协议包括但不限于传送控制协议/ 互联网协议(transmission controlprotocol/Internet protocol, TCP/IP),用户数据报协议(user datagram protocol,UDP),传送控制协议(transmission control protocol,TCP),超文本传输协议(hypertext transfer protocol,HTTP),安全超文本传输协议(secure hypertexttransfer protocol,HTTPS),基于HTTP的动态自适应流媒体(dynamic adaptivestreaming over HTTP,DASH),实时流协议(real-time streaming protocol,RTSP)、实时传输协议(real-time transport protocol,RTP)和实时传输控制协议(real-timetransport control protocol,RTCP),基于互联网协议的语音(voice over Internetprotocol,VOIP),文件传输协议(file transfer protocol,FTP), WebSocket(WS),无线接入协议(wireless access protocol,WAP),各种消息传递协议(SMS、MMS、XMS、IMAP、SMTP、POP、WebDAV 等等),或者其他适当的协议。在一些实施例中,网络105是使用诸如DSRC(Dedicated Short Range Communication,专用短程通信) 之类的连接的无线网络,WAVE,802.11p,3G、4G、5G+network, WiFiTM,卫星网络,载具到基础设施/基础设施到载具(vehicle-to-infrastructure/infrastructure-to-vehicle,V2I/I2V)网络,载具到基础设施/基础设施到云 (vehicle-to-infrastructure/infrastructure-to-cloud,V2I/I2C)网络,载具到基础设施/载具到一切(vehicle-to-infrastructure/vehicle-to-everything,V2I/V2X)网络,载具到载具(vehicle-to-vehicle,V2V)网络,蜂窝网络,或者任何其他无线网络。在一些实施例中,网络105可为通过网络105的每个数据传送带来货币成本。虽然图1A图示了耦合到(一个或多个)集中式服务器101、(一个或多个)本地服务器107和/或(一个或多个) TVVS 109的网络105的单个块,但应当理解网络105在实践中可包括任何数目的网络组合,如上所述。
(一个或多个)载具平台103包括(一个或多个)计算设备152,该(一个或多个)计算设备152具有(一个或多个)传感器113、(一个或多个)处理器115、(一个或多个)存储器117、(一个或多个) 通信单元119、(一个或多个)载具数据存储库123和任务管理应用 120。(一个或多个)计算设备152的示例可包括虚拟或物理计算机处理器、控制单元、微控制器等等,它们耦合到(一个或多个)载具平台103的其他组件,例如一个或多个传感器113、致动器、操纵机构,等等。在一些实施例中,(一个或多个)载具平台103能够从一点运输到另一点。(一个或多个)载具平台103的非限制性示例包括车辆、汽车、公共汽车、船、飞机、仿生植入物、机器人或者具有非暂态计算机电子设备(例如,处理器、存储器或者非暂态计算机电子设备的任何组合)的任何其他平台。(一个或多个)载具平台103在本文中可被称为(一个或多个)载具。
在一些实施例中,随着(一个或多个)载具平台103沿着道路行进,(一个或多个)载具平台103可经由载具到载具(V2V)连接(例如,DSRC、WiFiTM等等)通信地耦合到彼此以向彼此发送和从彼此接收数据。作为示例,图1B图示了在系统100的各种组件之间具有多个通信连接的系统100的结构图190。如图1B中所示,每个载具平台103可与附近的载具平台103建立V2V连接(例如,信号线172等等)以形成履行临时载具虚拟服务器(TVVS)109的功能的载具集群。在一些实施例中,TVVS 109可经由V2V连接(例如,信号线164等等)向其他载具平台103发送和从其他载具平台103接收数据。TVVS 109也可经由V2V连接(例如,信号线170等等)向其他TVVS 109 发送和从其他TVVS 109接收数据。为载具平台103和TVVS 109之间的数据传送实现V2V连接164和V2V连接170是尤其有利的,因为其可大幅降低传送时延和用于向这些实体发送和从这些实体接收数据的货币成本。
在一些实施例中,(一个或多个)载具平台103可经由载具到基础设施(V2I)连接(例如,信号线168)通信地耦合到(一个或多个) 本地服务器107以向(一个或多个)本地服务器107发送和从(一个或多个)本地服务器107接收数据。具体地,在一些实施例中,本地服务器107可以是位于载具平台103在其上行进的路段的路边的计算基础设施。因此,载具平台103可与本地服务器107建立V2I连接168 以向本地服务器107发送和从本地服务器107接收数据。在一些实施例中,(一个或多个)载具平台103也可通信地耦合到网络105以经由网络105向系统100的其他组件发送和从系统100的其他组件接收数据。例如,(一个或多个)载具平台103可通过网络连接(例如,信号线166)经由网络105向集中式服务器101、本地服务器107、TVVS 109、其他载具平台103等等发送数据和从其接收数据。如本文别处所述,在一些实施例中,通过网络连接166经由网络105的数据传送可带来货币成本。
(一个或多个)处理器115可通过执行各种输入/输出、逻辑和/ 或数学运算来执行软件指令(例如,任务)。(一个或多个)处理器 115可具有各种计算体系结构来处理数据信号。(一个或多个)处理器115可以是物理的和/或虚拟的,并且可包括单核或多个处理单元和 /或核。在载具平台103的情境中,处理器可以是在例如汽车之类的载具平台103中实现的电子控制单元(electronic control unit,ECU),虽然其他类型的平台也是可能的并且被设想到了。ECU可接收并且在载具数据存储库123中存储传感器数据(例如,全球定位系统(Global Positioning System,GPS)数据)、资源数据(例如,处理容量数据) 等等作为载具操作数据以供任务管理应用120访问和/或取回。在一些实现方式中,(一个或多个)处理器115可能够生成和提供电子显示信号给(一个或多个)输入/输出设备,支持图像的显示,捕捉和发送图像,执行包括各种类型的任务执行监视和资源估计在内的复杂任务,等等。在一些实现方式中,(一个或多个)处理器115可经由总线154 耦合到(一个或多个)存储器117以从其访问数据和指令和在其中存储数据。总线154可将(一个或多个)处理器115耦合到(一个或多个)载具平台103的其他组件,例如包括(一个或多个)传感器113、 (一个或多个)存储器117、(一个或多个)通信单元119和/或载具数据存储库123。
任务管理应用120是可执行来在载具情境中管理计算任务的计算机逻辑。如图1A中所示,集中式服务器101可包括任务管理应用120 的实例120a,本地服务器107可包括任务管理应用120的实例120b,载具平台103a…103n可包括任务管理应用120的实例120c…120n,并且临时载具虚拟服务器(TVVS)109可包括任务管理应用120的虚拟实例120p(未示出)。在一些实施例中,临时载具虚拟服务器(TVVS) 109中包括的虚拟实例120p可按集中方式实现。例如,虚拟实例120p 可以是形成临时载具虚拟服务器(TVVS)109的载具集群中包括的一载具平台103的实例120。在一些实施例中,虚拟实例120p可按分布方式实现。例如,载具集群的多个载具平台103中包括的实例120可合作履行虚拟实例120p的功能。在一些实施例中,每个实例120a… 120n和120p可包括图2A中所示的任务管理应用120的一个或多个组件,并且可被配置为取决于该实例存在于何处来完全或部分履行本文描述的功能。
在一些实施例中,任务管理应用120可利用一个或多个计算机设备的一个或多个处理器可执行的软件实现,利用硬件实现,和/或利用硬件和软件的组合实现,等等,其中硬件例如但不限于是现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路 (application-specific integrated circuit,ASIC),等等。任务管理应用120可接收并处理载具数据并且经由总线154与载具平台103的其他元件通信,例如存储器117、通信单元119、载具数据存储库123 等等。在下文中至少参考图1B-图9来详细描述任务管理应用120。
(一个或多个)存储器117包括非暂态计算机可使用(例如,可读、可写等等)介质,该介质可以是能够包含、存储、传达、传播或传输指令、数据、计算机程序、软件、代码、例程等等供(一个或多个)处理器115处理或者结合(一个或多个)处理器115处理的任何有形非暂态装置或设备。例如,(一个或多个)存储器117可存储任务管理应用120。在一些实现方式中,(一个或多个)存储器117可包括一个或多个易失性存储器和非易失性存储器。例如,(一个或多个)存储器117可包括但不限于以下各项中的一个或多个:动态随机访问存储器(dynamic random access memory,DRAM)设备、静态随机访问存储器(static randomaccess memory,SRAM)设备、分立存储器设备(例如,PROM、FPROM、ROM)、硬盘驱动器、光盘驱动器(CD、DVD、Blue-rayTM等等)。应当理解,(一个或多个) 存储器117可以是单个设备或者可包括多种类型的设备和配置。
通信单元119向其(例如经由V2V连接164、经由V2I连接168 和/或通过网络连接166经由网络105)通信地耦合到的其他计算设备发送数据和从其接收数据。通信单元119可包括一个或多个有线接口和/或无线收发器来利用有线和/或无线连接发送和接收数据。通信单元119可利用标准通信方法(例如上文论述的那些)与其他计算节点交换数据。
(一个或多个)传感器113包括适用于(一个或多个)载具平台 103的任何类型的传感器。(一个或多个)传感器113可被配置为收集适合于确定载具平台103的特性和/或其内部和外部环境的任何类型的信号数据。(一个或多个)传感器113的非限制性示例包括各种光学传感器(CCD、CMOS、2D、3D、光检测和测距(light detection and ranging,LIDAR)、相机等等)、音频传感器、运动检测传感器、气压计、高度计、热电偶、湿度传感器、红外(IR)传感器、雷达传感器、其他照片传感器、陀螺仪、加速度计、里程表、转向传感器、制动传感器、开关、载具指标传感器、雨刷传感器、地理位置传感器(例如,GPS传感器)、方位传感器、无线收发器(例如,蜂窝、WiFiTM、近场等等)、声纳传感器、超声波传感器、触摸传感器、接近传感器、距离传感器,等等。在一些实施例中,一个或多个传感器113可包括设在载具平台103的前侧、后侧、右侧和/或左侧的朝外的传感器,以便捕捉载具平台103周围的情景情境。在一些实施例中,由于载具平台103可连接到彼此以形成临时载具虚拟服务器(TVVS)109,所以TVVS 109也可具有由这多个载具平台103的传感器113提供的感测能力。
载具数据存储库123包括存储各种类型的数据的非暂态存储介质。例如,载具数据存储库123可存储利用总线在给定的载具平台103 的不同组件之间传达的载具数据,所述总线例如是控制器区域网络 (controller area network,CAN)总线。在一些实施例中,载具数据可包括从耦合到载具平台103的不同组件的多个传感器113收集的载具操作数据,用于监视这些组件的操作状态,例如加速度、减速度、车轮速度(每分钟转数–RPM)、转向角、制动力,等等。在一些实施例中,载具数据可包括唯一地识别载具平台103的载具识别符(ID)(例如,载具识别号(Vehicle Identification Number,VIN))和/或唯一地识别包括载具平台103作为参与载具的临时载具虚拟服务器 (TVVS)109的临时载具虚拟服务器ID。在一些实施例中,载具数据还可包括描述载具平台103的载具运动的载具运动数据。在一些实施例中,载具运动数据可包括载具速度、指示载具平台103的地理位置的载具地理定位(例如,GPS坐标)、载具平台103当前为了到达目的地而遵循的载具路线,等等。其他类型的载具运动数据也是可能的并且被设想到了。
在一些实施例中,载具数据存储库123可存储载具平台103的资源可用性数据。在一些实施例中,载具平台103的资源可用性数据可包括多个资源可用性条目,每个资源可用性条目可描述载具平台103 在特定时间戳的可用处理资源。具体地,资源可用性条目可指示出在特定时间戳在载具平台103中可供使用的各种资源成分的数量。在一些实施例中,资源可用性条目可包括载具平台103的可用计算资源的量(例如,可用中央处理单元(CentralProcessing Unit,CPU)周期的数目)、可用数据存储资源的量(例如,空闲存储空间的容量)、可用存储器资源的量(例如,空闲存储器空间的容量)、可用通信资源的量(例如,未占用通信带宽)、可用感测资源的量(例如,传感器113捕捉的传感器数据的量),等等。作为示例,与第一时间戳t= t1相关联的资源可用性条目可指示出在第一时间戳t=t1,载具平台103具有1GHz的可用计算资源(例如,109个CPU周期),1.5GB 的可用数据存储资源,500MB的可用存储器资源,2Mbps的可用通信资源,以及包括由载具平台103的图像传感器113在第一时间戳t= t1捕捉的4个道路场景图像的感测资源。
在一些实施例中,载具数据存储库123可以是用于存储和提供对数据的访问的数据存储系统(例如,标准数据或数据库管理系统)的一部分。存储在载具数据存储库123中的其他类型的数据也是可能的并且被设想到了。
临时载具虚拟服务器(TVVS)109是由一个或多个载具平台103 形成的虚拟载具服务器。在一些实施例中,在一路段上相对于彼此位置邻近的载具平台103可经由V2V连接172连接到彼此以创建载具集群。载具集群中包括的载具平台103可将其可用处理资源(例如,处理容量、数据存储空间、存储器空间、通信带宽等等)贡献到资源池中以合作履行临时载具虚拟服务器(TVVS)109的功能。在一些实施例中,履行临时载具虚拟服务器(TVVS)109的功能的载具集群中包括的载具平台103可被称为临时载具虚拟服务器(TVVS)109的参与载具。在一些实施例中,随着临时载具虚拟服务器(TVVS)109的参与载具沿着路段行进,临时载具虚拟服务器(TVVS)109能够从该路段上的一个点运输到另一个点。
在一些实施例中,为了让载具平台103成为临时载具虚拟服务器 (TVVS)109的参与载具,载具平台103与临时载具虚拟服务器(TVVS)109的其他参与载具的相对距离可需要满足预定的相对距离阈值(例如,150m)。随着载具平台103沿着路段行进,这种相对距离可随着时间而变化,并且载具平台103可动态地参与或离开临时载具虚拟服务器(TVVS)109的载具集群。因为每个参与载具可动态地加入和离开临时载具虚拟服务器(TVVS)109的载具集群,所以由这些参与载具贡献的临时载具虚拟服务器(TVVS)109的可用处理资源可根据其载具运动而大幅变化。临时载具虚拟服务器(TVVS)109的存在也可以是暂时的。
如图1B中所示,TVVS 109可经由V2V连接164通信地耦合到其他载具平台103以向其他载具平台103发送和从其他载具平台103 接收数据。TVVS 109也可经由V2V连接170通信地耦合到其他TVVS 109以向其他TVVS 109发送和从其他TVVS 109接收数据。在一些实施例中,TVVS 109可经由V2I连接(例如,信号线160)通信地耦合本地服务器107以向本地服务器107发送和从本地服务器107接收数据。具体地,在一些实施例中,本地服务器107可以是位于临时载具虚拟服务器(TVVS)109的参与载具在其上行进的路段的路边的计算基础设施。因此,TVVS 109可与本地服务器107建立V2I连接160 以向本地服务器107发送和从本地服务器107接收数据。在一些实施例中,TVVS 109也可通信地耦合到网络105以经由网络105向系统 100的其他组件发送和从系统100的其他组件接收数据。例如,TVVS 109可通过网络连接(例如,信号线156)经由网络105向集中式服务器101、本地服务器107、其他TVVS 109等等发送数据和从其接收数据。如本文别处所述,在一些实施例中,通过网络连接156经由网络 105的数据传送可带来货币成本。
在一些实施例中,临时载具虚拟服务器(TVVS)109可包括从由临时载具虚拟服务器(TVVS)109的参与载具贡献的可用处理资源虚拟化的虚拟处理器、虚拟存储器和虚拟通信单元。在一些实施例中,临时载具虚拟服务器109可包括任务管理应用120的虚拟实例120p 和虚拟数据存储库128(未示出)。在一些实施例中,临时载具虚拟服务器(TVVS)109的参与载具可贡献其载具数据存储库123的数据存储资源以形成虚拟数据存储库128。从而,虚拟数据存储库128可包括存储各种类型的数据以供任务管理应用120访问和/或取回的非暂态存储介质。
在一些实施例中,虚拟数据存储库128可存储TVVS 109的唯一临时载具虚拟服务器ID、指示TVVS 109的地理位置(例如,GPS坐标)的地理定位以及描述形成临时载具虚拟服务器(TVVS)109的载具集群的载具集群数据。在一些实施例中,TVVS 109的地理定位可以是发起载具集群和/或协调临时载具虚拟服务器(TVVS)109的建立的首领载具平台103的地理位置。在一些实施例中,载具集群数据可包括一个或多个参与载具条目,每个参与载具条目可描述临时载具虚拟服务器(TVVS)109的载具集群中的参与载具。在一些实施例中,参与载具条目可包括参与载具的载具ID、参与载具的载具运动数据、参与载具加入载具集群的参与开始时间、参与载具离开或可能离开载具集群的参与结束时间,等等。如本文别处所述,参与载具的载具运动数据可包括参与载具的载具速度、载具地理定位(例如,GPS坐标)、载具路线,等等。
在一些实施例中,虚拟数据存储库128可存储描述临时载具虚拟服务器(TVVS)109的资源池的资源数据。在一些实施例中,资源数据可包括与TVVS 109相关联的资源可用性数据、资源映射数据、资源分配数据,等等。在一些实施例中,TVVS 109的资源可用性数据可包括多个资源可用性条目,每个资源可用性条目可描述在特定时间戳TVVS 109的可用处理资源。具体地,资源可用性条目可指示出在特定时间戳由临时载具虚拟服务器(TVVS)109的每个参与载具贡献的可用处理资源的数量,以及在特定时间戳TVVS 109的资源池中的可用处理资源的总数量。
在一些实施例中,由临时载具虚拟服务器(TVVS)109的参与载具贡献的可用处理资源可包括多个物理资源单元。这些物理资源单元可利用虚拟化技术被组织和/或聚集成TVVS 109的多个虚拟资源单元。在一些实施例中,对于TVVS 109的资源池中的每个虚拟资源单元,TVVS 109的资源映射数据可将虚拟资源单元映射到一个或多个参与载具的一个或多个相应物理资源单元。在一些实施例中,TVVS 109的资源池中的虚拟资源单元可被分配给各种计算任务以根据需要履行任务执行。在一些实施例中,如果虚拟资源单元被分配给一计算任务,则TVVS 109的资源分配数据可指明虚拟资源单元被分配到的计算任务。在一些实施例中,TVVS 109的资源数据可包括其他类型的资源映射数据和资源分配数据。
在一些实施例中,虚拟数据存储库128可存储TVVS 109的任务执行列表。任务执行列表可包括一个或多个计算任务条目,每个计算任务条目可描述被指派给TVVS 109来履行任务执行的计算任务。在一些实施例中,计算任务可以是要由系统100的计算实体(例如,集中式服务器101、本地服务器107、TVVS 109、载具平台103等等) 指派和/或执行的处理工作负载的单位。执行计算任务的计算实体可被称为容宿计算任务的计算实体。计算任务的执行可包括取回和/或接收计算任务的任务输入数据,处理任务输入数据以生成计算任务的任务输出数据,并且将计算任务的任务输出数据发送到一个或多个请求实体。在一些实施例中,计算任务的执行可包括一个或多个处理操作。处理操作的非限制性示例包括但不限于数据感测操作、数据处理操作、数据存储操作、数据通信操作,等等。在一些实施例中,每个处理操作本身可被认为是计算任务并且可由不同的计算实体执行。其他类型的处理操作也是可能的并且被设想到了。
作为示例,TVVS 109履行的计算任务的执行可包括接收由位于某个路段上的第一载具平台103捕捉的道路场景图像,处理道路场景图像以生成路段的动态地图,将路段的动态地图发送到位于邻近地理区域(例如,在从路段起2英里的半径内的地理区域)中的第二载具平台103,并且将路段的动态地图存储在虚拟数据存储库128中以便以后根据其他实体的请求取回。在此示例中,计算任务的执行可包括由第一载具平台103执行的数据感测操作和数据通信操作,由TVVS 109执行的数据处理操作、数据存储操作和数据通信操作,和/或由第二载具平台103执行的数据通信操作。
如上所述,虚拟数据存储库128中存储的TVVS 109的任务执行列表可包括一个或多个计算任务条目,每个计算任务条目可包括描述计算任务的各种类型的任务数据。在一些实施例中,计算任务的任务数据可包括指明计算任务的多个属性的任务元数据。任务元数据的非限制性示例包括但不限于计算任务的唯一任务ID,计算任务被分类到的任务类别(例如,“图像处理任务”的任务类别、“地图生成任务”的任务类别等等),指示计算任务的优先级别的任务优先级度量(例如,0.2的任务优先级度量、0.9的任务优先级度量等等),请求计算任务的请求时间戳。在一些实施例中,任务元数据还可包括指示计算任务的当前执行状态的任务执行状态(例如,“预处理”的任务执行状态、“执行完成”的任务执行状态等等),指示在其期间执行计算任务的时间量的任务执行时间(例如,00:03:30),指示完成计算任务所需要的额外时间量的剩余执行时间,指示计算任务的任务完成百分比(例如,87%)和/或任务执行速度(例如,11%/s)的任务进度度量,等等。
在一些实施例中,计算任务的任务元数据可包括计算任务的性能要求。性能要求可描述计算任务的执行需要满足的性能的要求。例如,计算任务的性能要求可指明指示出计算任务的执行时间阈值的任务持续时间(例如,00:05:30),请求实体需要在其之前接收到计算任务的任务输出数据的目标交付时间戳(例如,2018年11月5日, 14:00:00),与计算任务的任务输入数据相关联的通信时延阈值(例如,2s),与计算任务的任务输出数据相关联的通信时延阈值(例如, 4s),等等。其他类型的性能要求也是可能的并且被设想到了。
在一些实施例中,计算任务的任务元数据可包括描述各种资源成分履行计算任务的执行的要求的处理资源要求。在一些实施例中,处理资源要求可包括计算简况和通信简况。在一些实施例中,计算任务的计算简况可指明履行计算任务的执行所要求的计算资源的量、数据存储资源的量、存储器资源的量、感测资源的量,等等。
在一些实施例中,由于履行计算任务的执行所要求的通信资源的量可取决于计算任务被指派到的计算实体的地理位置,所以计算任务的通信简况可指明能够用于计算通信资源的这种量(例如,要求的通信带宽)的各种因素。在一些实施例中,计算任务的通信简况可指明与计算任务相关联的任务输入数据的输入数据大小、任务输出数据的输出数据大小、请求任务输入数据的频率、请求任务输出数据的频率,等等。在一些实施例中,通信简况还可指明与计算任务的任务输入数据相关联的地理定位和与计算任务的任务输出数据相关联的地理定位。在一些实施例中,与任务输入数据相关联的地理定位可以是从其接收到计算任务的任务输入数据的计算实体的地理位置,并且与任务输出数据相关联的地理定位可以是计算任务的任务输出数据被发送到的计算实体的地理位置。
在一些实施例中,计算任务的任务元数据可包括计算任务的完成处理资源要求。完成处理资源要求可描述各种资源成分在计算任务的执行期间的检查点时间戳完成计算任务的执行的要求。在一些实施例中,计算任务的完成处理资源要求中指明的数据成分可类似于计算任务的处理资源要求中指明的数据成分,从而为了简明不再重复。
在一些实施例中,计算任务的任务数据可包括以可执行方式描述计算任务的任务描述。在一些实施例中,任务描述可包括计算任务的要被执行来履行计算任务的程序源代码、任务输入数据、任务执行数据等等。在一些实施例中,任务输入数据可被包括在计算任务的任务描述中(例如,要存储的内容项等等),从容宿计算任务的计算实体取回或由容宿计算任务的计算实体生成,和/或在计算任务被执行时从系统100的其他实体接收,等等。在上述示例中,随着生成路段的动态地图的计算任务被TVVS 109执行,计算任务的任务输入数据既可包括从位于该路段上的第一载具平台103接收的道路场景图像也可包括由TVVS109的参与载具生成的道路场景图像。在一些实施例中,任务执行数据可以是在计算任务的执行期间生成的临时数据。例如,任务执行数据可包括任务变量(例如,方向梯度直方图(Histogram of Oriented Gradients,HOG)特征向量,等等),描述计算任务的当前执行状态的虚拟机镜像,等等。在一些实施例中,除了任务元数据和任务描述以外,任务数据还可包括执行或继续执行计算任务所必要的任何类型的数据。
在一些实施例中,虚拟数据存储库128可以是用于存储和提供对数据的访问的数据存储系统(例如,标准数据或数据库管理系统)的一部分。存储在虚拟数据存储库128中的其他类型的数据也是可能的并且被设想到了。
本地服务器107包括硬件和/或虚拟服务器,该硬件和/或虚拟服务器包括处理器、存储器和网络通信能力(例如,通信单元)。在一些实施例中,本地服务器107可为系统100的计算实体管理和/或履行计算任务的执行。在一些实施例中,本地服务器107可具有覆盖区域 192,该覆盖区域192包括载具平台103和多个TVVS 109的参与载具在其上行进的路段。这些载具平台103和/或TVVS 109的这些参与载具可让其计算任务被本地服务器107管理和/或执行。在一些实施例中,本地服务器107还为其他本地服务器107和集中式服务器101管理和/ 或执行计算任务。在一些实施例中,本地服务器107可实现为位于路段的路边的计算基础设施(例如,路边单元)。在一些实施例中,本地服务器107可实现为位于从相应的覆盖区域192起的预定距离(例如,30km)内的固定计算服务器。
如图1B中所示,本地服务器107可通信地耦合到网络105以经由网络105向系统100的其他组件发送和从系统100的其他组件接收数据。例如,本地服务器107可通过网络连接(例如,信号线162) 经由网络105向集中式服务器101、其他本地服务器107、TVVS 109、载具平台103等等发送数据和从其接收数据。如上所述,本地服务器 107可实现为位于载具平台103和TVVS 109的参与载具在其上行进的路段的路边的计算基础设施。因此,在一些实施例中,本地服务器 107可经由V2I连接168向这些载具平台103发送和从这些载具平台103接收数据。本地服务器107也可经由V2I连接160向这些TVVS 109 发送和从这些TVVS 109接收数据。为本地服务器107与载具平台103 和/或TVVS 109之间的数据传送实现V2I连接168和V2V连接160 是尤其有利的,因为其可大幅降低传送时延和用于向这些实体发送和从这些实体接收数据的货币成本。在一些实施例中,如图1A中所示,本地服务器107可包括任务管理应用120b的实例和存储各种类型的数据以供此应用访问和/或取回的数据存储库126。
在一些实施例中,数据存储库126包括非暂态存储介质,该介质存储本地服务器107的唯一本地服务器ID、指示本地服务器107的地理位置(例如,GPS坐标)的本地服务器地理定位、描述本地服务器 107的覆盖区域192的覆盖数据(例如,覆盖地理定位、覆盖边界,等等)。在一些实施例中,数据存储库126也可存储描述本地服务器 107的资源池的资源数据。在一些实施例中,资源数据可包括描述本地服务器107在多个时间戳的可用处理资源的多个资源可用性条目。在一些实施例中,每个资源可用性条目可指示出本地服务器107在特定时间戳的可用计算资源的量(例如,可用CPU周期的数目)、可用数据存储资源的量(例如,空闲存储空间的容量)、可用存储器资源的量(例如,空闲存储器空间的容量)、可用通信资源的量(例如,未占用通信带宽),等等。在一些实施例中,数据存储库126也可存储本地服务器107的任务执行列表。任务执行列表可包括描述被指派给本地服务器107以履行任务执行的一个或多个计算任务的一个或多个计算任务条目。如本文别处所述,每个计算任务条目可包括指明计算任务的各种属性的任务元数据和以可执行方式描述计算任务的任务描述。
在一些实施例中,数据存储库126可存储描述位于本地服务器107 的覆盖区域192内的一个或多个载具平台103的载具信息。这些载具平台103可以是当前没有参与临时载具虚拟服务器(TVVS)109的个体载具平台103。在一些实施例中,载具信息可包括多个载具条目,每个载具条目可包括位于覆盖区域192内的个体载具平台103的载具ID、载具运动数据、资源可用性数据,等等。如本文别处所述,载具平台103的载具运动数据可指示出载具平台103的载具速度、载具地理定位(例如,GPS坐标)、载具路线,等等。载具平台103的资源可用性数据可指示出载具平台103在多个时间戳的可用计算资源的量、可用数据存储资源的量、可用存储器资源的量、可用通信资源的量,等等。在一些实施例中,数据存储库126还可存储描述位于其他本地服务器107的覆盖区域192内的载具平台103的载具信息。
在一些实施例中,数据存储库126可存储描述一个或多个集中式服务器101的集中式服务器信息。在一些实施例中,集中式服务器信息可包括多个集中式服务器条目,每个集中式服务器条目可包括集中式服务器101的唯一集中式服务器ID、集中式服务器地理定位、资源可用性数据,等等。集中式服务器101的资源可用性数据可指示出集中式服务器101在多个时间戳的可用计算资源的量、可用数据存储资源的量、可用存储器资源的量、可用通信资源的量,等等。在一些实施例中,数据存储库126还可存储描述其他(一个或多个)本地服务器107的本地服务器信息。在一些实施例中,本地服务器信息可包括多个本地服务器条目,每个本地服务器条目可包括另一本地服务器 107的唯一本地服务器ID、本地服务器地理定位、覆盖数据、资源可用性数据,等等。另一本地服务器107的资源可用性数据可指示出该另一本地服务器107在多个时间戳的可用计算资源的量、可用数据存储资源的量、可用存储器资源的量、可用通信资源的量,等等。
在一些实施例中,数据存储库126可存储描述位于本地服务器107 的覆盖区域192内的(一个或多个)TVVS和(一个或多个)候选TVVS 的临时载具虚拟服务器信息(TVVS信息)。具体地,本地服务器107 可管理位于其覆盖区域192内的路段上的包括一个或多个现有TVVS 109的一组TVVS和包括一个或多个候选TVVS的一组候选TVVS。在一些实施例中,对于该组TVVS中的每个TVVS 109,TVVS信息可包括指示出该TVVS 109的唯一TVVS ID、TVVS地理定位、载具集群数据、资源可用性数据等等的TVVS条目。在一些实施例中,TVVS 地理定位可指示出TVVS 109的地理位置(例如,TVVS 109的TVVS 地理定位可被确定为协调TVVS 109的建立的首领载具平台103的载具地理定位)。在一些实施例中,载具集群数据可描述形成TVVS 109 的载具集群。如本文别处所述,TVVS 109的载具集群数据可包括每个参与载具的载具ID、载具运动数据、参与开始时间、参与结束时间,等等。在一些实施例中,TVVS 109的资源可用性数据可描述TVVS 109 在多个时间戳的可用处理资源。对于每个特定时间戳,资源可用性数据可指示出由TVVS 109的每个参与载具贡献的可用处理资源的数量,和在该特定时间戳TVVS 109的资源池中的可用处理资源的总数量。
在一些实施例中,候选TVVS可包括有可能连接到彼此以形成新的临时载具虚拟服务器(TVVS)109的候选参与载具。候选参与载具可以是位于本地服务器107的覆盖区域192内的个体载具平台103和/ 或现有TVVS 109的参与载具。在一些实施例中,对于该组候选TVVS 中的每个候选TVVS,TVVS信息可包括指示出该候选TVVS的候选 TVVS地理定位、候选载具集群数据、资源可用性数据等等的候选 TVVS条目。在一些实施例中,候选TVVS地理定位可指示出候选 TVVS的地理位置(例如,候选TVVS地理定位可被确定为候选TVVS 中包括的任何候选参与载具的载具地理定位)。在一些实施例中,候选载具集群数据可描述可能形成与候选TVVS相对应的新TVVS 109 的候选载具集群。候选TVVS的候选载具集群数据可包括每个候选参与载具的载具ID、载具运动数据,等等。在一些实施例中,候选TVVS 的资源可用性数据可描述候选TVVS的可用处理资源。具体地,资源可用性数据可指示出候选TVVS的每个候选参与载具可能贡献的可用处理资源的数量,以及在候选TVVS被实际建立的情况下与候选 TVVS相关联的可用处理资源的总数量。在一些实施例中,数据存储库126还可存储描述位于其他本地服务器107的覆盖区域192内的(一个或多个)TVVS和(一个或多个)候选TVVS的TVVS信息。
在一些实施例中,数据存储库126可存储任务指派列表,该任务指派列表描述当前指派给系统100的各种计算实体(例如,集中式服务器101、本地服务器107、TVVS 109、载具平台103等等)的多个计算任务。在一些实施例中,任务指派列表可包括与多个计算任务相对应的多个任务指派条目,每个任务指派条目可包括计算任务的唯一任务ID、计算任务被指派到的计算实体的唯一实体ID(例如,集中式服务器ID、本地服务器ID、TVVS ID、载具ID等等)、计算任务的任务性能度量,等等。在一些实施例中,任务指派条目还可包括与计算任务相关联的其他类型的任务元数据。
在一些实施例中,数据存储库126可以是用于存储和提供对数据的访问的数据存储系统(例如,标准数据或数据库管理系统)的一部分。存储在数据存储库126中的其他类型的数据也是可能的并且被设想到了。
集中式服务器101包括硬件和/或虚拟服务器,该硬件和/或虚拟服务器包括处理器、存储器和网络通信能力(例如,通信单元)。在一些实施例中,集中式服务器101可以是位置远离载具平台103和多个TVVS 109的参与载具在其上行进的道路的固定计算服务器。例如,集中式服务器101可以是驻留在数据中心中的云服务器。如信号线158 所反映的,集中式服务器101可通信地耦合到网络105。在一些实施例中,集中式服务器101可经由网络105向系统100的其他实体发送和从其接收数据,其中其他实体例如是本地服务器107、临时载具虚拟服务器(TVVS)109、载具平台103,等等。在一些实施例中,与本地服务器107相比,集中式服务器101可被提供有更大量的处理资源。例如,集中式服务器101可具有大规模处理容量、数据存储空间、存储器空间、具有大通信带宽的可靠网络连接,等等。如图1A中所示,集中式服务器101可包括任务管理应用120a的实例和存储各种类型的数据以供此应用访问和/或取回的数据存储库124。
在一些实施例中,数据存储库124包括非暂态存储介质,该介质存储集中式服务器101的唯一集中式服务器ID和指示出集中式服务器101的地理位置(例如,GPS坐标)的集中式服务器地理定位。在一些实施例中,数据存储库124还可存储描述集中式服务器101的资源池的资源数据和描述被指派给集中式服务器101以履行任务执行的一个或多个计算任务的任务执行列表。在一些实施例中,数据存储库 124还可存储描述其他集中式服务器101的集中式服务器信息、描述多个本地服务器107的本地服务器信息和描述位于这些多个本地服务器107的覆盖区域192内的多个载具平台103的载具信息。
在一些实施例中,数据存储库124可存储描述位于这些多个本地服务器107的覆盖区域192内的(一个或多个)TVVS和(一个或多个)候选TVVS的TVVS信息。在一些实施例中,数据存储库124还可存储任务指派列表,该任务指派列表描述当前在系统100的各种计算实体(例如,集中式服务器101、本地服务器107、TVVS 109、载具平台103等等)上执行的多个计算任务。在一些实施例中,存储在集中式服务器101的数据存储库124中的数据的数据成分可类似于存储在本地服务器107的数据存储库126中的数据的数据成分,从而为了简明不再重复。在一些实施例中,数据存储库124可以是用于存储和提供对数据的访问的数据存储系统(例如,标准数据或数据库管理系统)的一部分。存储在数据存储库124中的其他类型的数据也是可能的并且被设想到了。
其他变化和/或组合也是可能的并且被设想到了。应当理解,图1A 和1B中所示的系统100代表了一种示例系统,并且多种不同的系统环境和配置被设想到了并且在本公开的范围内。例如,各种动作和/ 或功能可被从服务器移动到客户端,反之亦然,数据可被整合到单个数据存储库中或者被进一步分割到额外的数据存储库中,并且一些实现方式可包括额外的或更少的计算设备、服务和/或网络,并且可在客户端或服务器侧实现各种功能。另外,系统的各种实体可被集成到单个计算设备或系统中或者被划分到额外的计算设备或系统中,等等。
图2A是示例任务管理应用120的框图。如图所示,任务管理应用120可包括消息处理器202、临时载具虚拟服务器(TVVS)管理器 204、任务管理器206、任务执行器208和资源管理器210,虽然应当理解任务管理应用120可包括额外的组件,例如但不限于配置引擎、训练引擎、加密/解密引擎等等,和/或这各种组件可被组合成单个引擎或者被划分成额外的引擎。
消息处理器202、TVVS管理器204、任务管理器206、任务执行器208和资源管理器210可实现为软件、硬件或者前述的组合。消息处理器202、TVVS管理器204、任务管理器206、任务执行器208和资源管理器210可通过总线(例如,总线154)和/或处理器(例如,处理器115)通信地耦合到彼此和/或耦合到实体的计算设备(例如,载具平台103的计算设备152)的其他组件。在一些实施例中,组件 120、202、204、206、208和/或210中的一个或多个是可由处理器(例如,处理器115)执行来提供其功能的指令的集合。在其他实施例中,组件120、202、204、206、208和/或210中的一个或多个可被存储在存储器(例如,存储器117)中并且可被处理器(例如,处理器115) 访问和执行来提供其功能。在任何前述实施例中,这些组件120、202、 204、206、208和/或210可被适配来与处理器(例如,处理器115) 以及实体的计算设备(例如,载具平台103的计算设备152)的其他组件合作和通信。
图2B是在系统100的各种计算实体(例如,临时载具虚拟服务器(TVVS)109、本地服务器107和/或集中式服务器101,等等)中实现的任务管理应用120的结构图250。如图2B中所示,如果任务管理应用120被实现在TVVS 109中,则任务管理应用120可以可选地被配置为启用消息处理器202、任务执行器208、资源管理器210并且禁用任务管理应用120的其他组件。如图所示,TVVS 109可包括由资源管理器210管理的资源池252。资源池252中的处理资源可包括各种资源成分,例如计算资源(例如,CPU周期的数目)、数据存储资源、存储器资源、通信资源、感测资源(例如,由TVVS 109中包括的参与载具的传感器113捕捉的传感器数据),等等。如本文别处所述,这些资源成分可采取可被分配给各种计算任务来履行任务执行的虚拟资源单元的形式。
如图2B中所示,如果任务管理应用120被实现在本地服务器107 中和/或集中式服务器101中,则任务管理应用120可以可选地被配置为启用消息处理器202、TVVS管理器204、任务管理器206、任务执行器208和资源管理器210。如图所示,本地服务器107和/或集中式服务器101可包括由资源管理器210管理的资源池254。资源池254 中的处理资源可包括计算资源(例如,CPU周期的数目)、数据存储资源、存储器资源、通信资源,等等。在一些实施例中,本地服务器 107和/或集中式服务器101的资源池254可不包括感测资源,因为这些计算服务器可不具有由传感器设备提供的感测能力。任务管理应用 120及其组件202、204、206、208和210在下文参考至少图3-图9更详细描述。
如本文别处所述,任务管理应用120是可执行来在载具情境中管理计算任务的计算机逻辑。在一些实施例中,任务管理应用120可接收计算任务并且确定计算任务的处理资源要求。任务管理应用120可确定计算实体来执行计算任务,执行计算任务的计算实体可以是包括在路段上相对于彼此位置邻近的参与载具的临时载具虚拟服务器 (TVVS)109。具体地,任务管理应用120可确定TVVS 109在第一时间戳的可用处理资源。任务管理应用120可确定TVVS 109中包括的参与载具的载具运动数据,并且基于这些参与载具的载具运动数据估计TVVS 109在第二时间戳的可用处理资源。任务管理应用120可基于计算任务的处理资源要求、TVVS 109在第一时间戳的可用处理资源和TVVS 109在第二时间戳的估计可用处理资源确定要在TVVS 109上执行计算任务。响应于确定要在TVVS 109上执行计算任务,任务管理应用120可将计算任务指派给TVVS 109以履行计算任务的执行。
图3是用于在载具情境中指派计算任务的示例方法300的流程图。在块302中,临时载具虚拟服务器(TVVS)109可监视其可用处理资源。具体地,在每个TVVS 109中,资源管理器210可监视TVVS 109 的资源池252中的各种资源成分,并且在多个时间戳(例如,每2s 等等)频繁地确定资源池252中可供使用的这些资源成分的数量。在一些实施例中,对于特定时间戳,资源管理器210可确定在该特定时间戳由TVVS 109的每个参与载具贡献的可用处理资源的数量,以及在该特定时间戳TVVS 109的资源池252中的可用处理资源的总数量。在一些实施例中,资源管理器210可生成指示出可用处理资源的这些数量的资源可用性条目,并且将与特定时间戳相关联的资源可用性条目存储在虚拟数据存储库128中。
作为示例,在第一时间戳t=t1=14:00:00,资源管理器210可从其虚拟数据存储库128取回第一TVVS 109的载具集群数据并且确定第一TVVS 109在第一时间戳t=t1包括第一参与载具103a、第二参与载具103b和第三参与载具103c。从而,在第一时间戳t=t1,这些参与载具可向第一TVVS 109的资源池252贡献其可用处理资源。
在这个示例中,资源管理器210可确定由第一参与载具103a贡献的可用处理资源包括1GHz的计算资源(例如,109个CPU周期), 1.5GB的数据存储资源,500MB的存储器资源,2Mbps的通信资源,以及包括由第一参与载具103a的图像传感器113在第一时间戳t=t1捕捉的4个道路场景图像的感测资源。资源管理器210可确定由第二参与载具103b贡献的可用处理资源包括1.5GHz的计算资源(例如, 1.5*109个CPU周期),2GB的数据存储资源,750MB的存储器资源, 1.5Mbps的通信资源,以及包括由第二参与载具103b的图像传感器 113在第一时间戳t=t1捕捉的4个道路场景图像的感测资源。资源管理器210还可确定由第三参与载具103c贡献的可用处理资源包括 1GHz的计算资源,2.5GB的数据存储资源,250MB的存储器资源, 1.5Mbps的通信资源,以及包括由第三参与载具103c的图像传感器 113在第一时间戳t=t1捕捉的2个道路场景图像的感测资源。
因此,在这个示例中,资源管理器210可确定在第一时间戳t=t1第一TVVS 109的资源池252中的总可用处理资源包括由第一参与载具103a、第二参与载具103b和第三参与载具103c总体贡献的3.5GHz 的可用计算资源,6GB的可用数据存储资源,1.5GB的可用存储器资源,5Mbps的可用通信资源以及包括在第一时间戳t=t1捕捉的10个道路场景图像的可用感测资源。资源管理器210可生成指示出由第一参与载具103a贡献的可用处理资源、由第二参与载具103b贡献的可用处理资源、由第三参与载具103c贡献的可用处理资源和第一TVVS 109的资源池252中的总可用处理资源的资源可用性条目。资源管理器210随后可将与第一时间戳t=t1=14:00:00相关联的资源可用性条目存储在虚拟数据存储库128中作为第一TVVS 109在第一时间戳t= t1的资源可用性数据。
在块304中,TVVS 109可向为系统100的计算实体管理计算任务的本地服务器107和/或集中式服务器101发送资源可用性状态。为了简化本公开中的描述,假定为系统100的计算实体管理计算任务由本地服务器107执行,这种本地服务器107在这里可被称为本地管理服务器107。应当理解,计算任务的管理可由其他计算实体(例如,集中式服务器101、TVVS109、载具平台103,等等)执行。在一些实施例中,在TVVS 109中,资源管理器210可生成包括特定时间戳和TVVS 109在该特定时间戳的资源可用性数据的资源可用性状态。消息处理器202随后可将资源可用性状态发送到本地管理服务器107。
在块306中,本地管理服务器107可处理资源可用性状态。具体地,在本地管理服务器107中,消息处理器202可分析资源可用性状态以提取特定时间戳和TVVS 109在该特定时间戳的资源可用性数据。消息处理器202随后可将TVVS 109的资源可用性数据与特定时间戳一起存储在数据存储库126中的与TVVS 109相关联的TVVS条目中。如上所述,TVVS 109的资源可用性数据可指示出在特定时间戳由TVVS 109的每个参与载具贡献的可用处理资源的数量,和在特定时间戳TVVS 109的资源池252中的可用处理资源的总数量。在一些实施例中,系统100的其他计算实体(例如,个体载具平台103、其他本地服务器107、集中式服务器101等等)也可以类似的方式监视其可用处理资源并且向本地管理服务器107发送资源可用性状态。结果,本地管理服务器107可保持跟踪在各种时间戳系统100的不同计算实体上的可用处理资源的数量。
在块308中,本地管理服务器107可从请求实体接收计算任务。在一些实施例中,系统100的任何实体可请求计算任务被执行。作为示例,集中式服务器101可请求第一计算任务,该第一计算任务包括接收由位于某一路段上的第一载具平台103捕捉的道路场景图像,处理道路场景图像以生成路段的动态地图,并且将路段的动态地图发送到位于邻近地理区域(例如,在从该路段起的2英里的半径内的地理区域)中的第二载具平台103。在一些实施例中,本地管理服务器107 可确定计算任务的处理资源要求。具体地,在本地管理服务器107中,任务执行器208可分析计算任务以确定计算任务的任务元数据和任务描述。如本文别处所述,任务元数据可指明计算任务的各种属性并且任务描述可以按可执行方式描述计算任务。任务元数据可包括计算任务的处理资源要求。
在上述示例中,对于第一计算任务的任务元数据,任务执行器208 可以为第一计算任务指派唯一任务ID,并且将第一计算任务分类到“地图生成任务”的任务类别中。任务执行器208可指明第一计算任务的任务优先级度量为0.8,第一计算任务的任务执行状态为“预处理”,并且第一计算任务的任务完成百分比为0%。任务执行器208 还可确定第一计算任务的性能要求。在这个示例中,任务执行器208 可确定第一计算任务的任务持续时间(例如,Δt_task_duration)为00:02:30,第一计算任务的目标交付时间戳为“2018年11月5日,14:02:45”,与任务输入数据相关联的通信时延阈值为2s,与任务输出数据相关联的通信时延阈值为4s,等等。
任务执行器208还可确定包括第一计算任务的计算简况和通信简况在内的处理资源要求。如本文别处所述,计算任务的计算简况可指明履行计算任务的执行所要求的计算资源的量、数据存储资源的量、存储器资源的量、感测资源的量,等等。在这个示例中,第一计算任务的计算简况可指示出第一计算任务的执行要求0.3GHz的计算资源,450MB的数据存储资源,300MB的存储器资源以及容宿第一计算任务的计算实体的感测资源(如果适用的话)。在这个示例中,任务执行器208可确定第一计算任务的任务输入数据与该路段相关联(例如,道路场景图像)。从而,如果第一计算任务在TVVS 109上被执行,则感测资源可包括由TVVS 109的参与载具利用其图像传感器113捕捉的道路场景图像。
如本文别处所述,计算任务的通信简况可指明可用于计算履行计算任务的执行所要求的通信资源的量的各种因素。在这个示例中,第一计算任务的任务输入数据可以是从位于该路段上的第一载具平台 103接收的道路场景图像,并且第一计算任务的任务输出数据可以是发送到位于邻近地理区域(例如,从该路段起的2英里内的地理区域) 中的第二载具平台103的该路段的动态地图。从而,第一计算任务的通信简况可指明任务输入数据的输入数据大小是捕捉的道路场景图像的估计数据大小(例如,50kB),并且指明任务输出数据的输出数据大小是路段的动态地图的估计数据大小(例如,100MB)。在这个示例中,第一计算任务的通信简况可指明请求任务输入数据的频率是从第一载具平台103接收道路场景图像的频率(例如,3s),并且指明请求任务输出数据的频率是向第二载具平台103发送路段的动态地图的频率(例如,60s)。第一计算任务的通信简况还可指明与任务输入数据相关联的地理定位是第一载具平台103所位于的路段的地理位置,并且指明与任务输出数据相关联的地理定位是第二载具平台103 所位于的邻近地理区域的地理位置。
在这个示例中,对于第一计算任务的任务描述,任务执行器208 可从数据存储库126取回为了履行第一计算任务所要执行的程序源代码,并且指明任务输入数据是从位于该路段上的第一载具平台103接收的道路场景图像。如果第一计算任务被指派给TVVS 109,则如本文别处所述,任务输入数据还可包括由TVVS 109的参与载具利用其图像传感器113捕捉的道路场景图像。
在一些实施例中,系统100的其他计算实体可从请求实体接收计算任务并且将该计算任务告知本地管理服务器107。例如,在块310 中,临时载具虚拟服务器(TVVS)109可从请求实体接收计算任务。作为示例,TVVS 109可从路段上位于TVVS 109附近的载具平台103接收计算任务。在一些实施例中,在TVVS 109中,任务执行器208 可分析计算任务以确定计算任务的任务元数据和任务描述。在块312 中,TVVS 109可向本地管理服务器107发送任务请求通知。具体地,在TVVS 109中,任务执行器208可生成指示出计算任务被请求的任务请求通知,并且向本地管理服务器107发送任务请求通知。在一些实施例中,任务请求通知可包括指明计算任务的各种属性的任务元数据,和/或如上所述以可执行方式描述计算任务的任务描述。在一些实施例中,系统100的其他计算实体(例如,个体载具平台103、其他本地服务器107、集中式服务器101等等)也可以类似的方式从请求实体接收计算任务并且将该计算任务告知本地管理服务器107。
在块314中,本地管理服务器107可处理任务请求通知。具体地,在本地管理服务器107中,消息处理器202可分析任务请求通知以提取计算任务的任务元数据和/或任务描述。在块316中,本地管理服务器107可确定执行计算任务的计算实体。在一些实施例中,本地管理服务器107可将计算任务指派给个体载具平台103或固定计算服务器 (例如,集中式服务器101、本地管理服务器107本身,另一本地服务器107等等)来履行任务执行。具体地,在本地管理服务器107中,任务管理器206可从数据存储库126取回个体载具平台103、集中式服务器101、本地管理服务器107和/或其他本地服务器107的资源可用性数据。如本文别处所述,资源可用性数据可描述这些计算实体的可用处理资源。在一些实施例中,任务管理器206可基于其可用处理资源从这些计算实体中确定执行计算任务的计算实体。例如,执行计算任务的计算实体可以是具有满足任务元数据中指示的计算任务的处理资源要求的可用处理资源的计算实体。
在一些实施例中,本地管理服务器107可将计算任务指派给临时载具虚拟服务器(TVVS)109来履行任务执行。在TVVS 109上履行计算任务的执行尤其有利,因为TVVS 109可位于从请求实体(例如,与TVVS 109在同一路段上行进的其他载具平台103)起的较小距离内,从而用于接收计算任务的任务输入数据和发送计算任务的任务输出数据的通信时延可被大幅降低。此外,TVVS 109可经由V2V连接 164、V2V连接170和V2I连接160发送和接收数据,从而可限制由通过网络105的数据传送引起的货币成本。
图4是用于确定TVVS 109来履行计算任务的执行的示例方法400 的流程图。方法400可由本地管理服务器107中包括的任务管理应用 120的TVVS管理器204和任务管理器206执行。如本文别处所述,本地管理服务器107可管理包括位于其覆盖区域192内的路段上的一个或多个现有TVVS 109的一组TVVS。为了评估该组TVVS中包括的第一TVVS 109是否能够执行计算任务,在块402中,TVVS管理器204可确定与第一TVVS 109相关联的第一参与载具的载具运动数据。
具体地,TVVS管理器204可从数据存储库126取回第一TVVS 109的载具集群数据,并从而确定第一TVVS 109在第一时间戳包括在该路段上相对于彼此位置邻近的第一参与载具。在一些实施例中,第一时间戳可以是执行为计算任务选择TVVS的当前时间戳tcurrent。在一些实施例中,TVVS管理器204可从第一TVVS 109的第一参与载具接收第一参与载具的载具运动数据。在一些实施例中,第一TVVS 109的第一参与载具可频繁地发送其载具运动数据到本地管理服务器 107(例如,每1s),从而TVVS管理器204可从数据存储库126取回第一参与载具的载具运动数据。如本文别处所述,第一参与载具的载具运动数据可包括第一参与载具的载具速度、载具地理定位(例如, GPS坐标)、载具路线,等等。
在块404中,任务管理器206可确定第一TVVS在第一时间戳的可用处理资源。如本文别处所述,第一TVVS 109可频繁地向本地管理服务器107发送指明其可用处理资源的资源可用性数据(例如,每 1s),从而任务管理器206可从数据存储库126取回第一TVVS 109在第一时间戳的资源可用性数据。资源可用性数据可指示出在第一时间戳由第一TVVS 109的每个第一参与载具贡献的可用处理资源的数量,和在第一时间戳第一TVVS 109的资源池252中的可用处理资源的总数量。
在块406中,任务管理器206可估计第一TVVS在第一时间戳之后的第二时间戳的可用处理资源。在一些实施例中,第二时间戳可以是计算任务需要在其之前完成的目标完成时间戳,并且可基于第一时间戳和计算任务的任务持续时间来确定(例如,两个时间戳之间的时间距离可以是任务持续时间)。在一些实施例中,任务管理器206可基于第一TVVS 109中包括的第一参与载具的载具运动数据来确定第一TVVS在第二时间戳的可用处理资源。具体地,TVVS管理器204 可评估第一TVVS 109中包括的第一参与载具的载具运动数据,并且从第一参与载具确定在第二时间戳在路段上相对于彼此位置邻近的第二参与载具。第一TVVS 109在第二时间戳有可能包括第二参与载具,从而这些第二参与载具可在第二时间戳向第一TVVS 109的资源池 252贡献其可用处理资源。在一些实施例中,任务管理器206可将这些第二参与载具的可用处理资源聚集到第一TVVS在第二时间戳的估计可用处理资源中。
如本文别处所述,第一参与载具的载具运动数据可包括第一参与载具的载具速度、载具地理定位(例如,GPS坐标)、载具路线,等等。在一些实施例中,为了从第一参与载具确定第二参与载具,TVVS 管理器204可确定具有兼容载具速度的第一参与载具。具体地,TVVS 管理器204可计算第一参与载具的载具速度之间的速度差异,并且确定具有满足预定的速度差异阈值的速度差异(例如,小于0.5m/s)的第一参与载具为第二参与载具。在一些实施例中,TVVS管理器204 可根据每个第一参与载具的载具路线确定该第一参与载具在第一时间戳和第二时间戳之间可行进的载具路线部分。TVVS管理器204随后可确定具有重叠的载具路线部分的第一参与载具为第二参与载具。在一些实施例中,TVVS管理器204可利用第一参与载具的载具地理定位计算第一参与载具之间的相对距离并且随着时间的流逝监视这种相对距离。TVVS管理器204可确定至少在预定的时间段期间彼此之间具有满足预定的相对距离阈值的相对距离(例如,在最近3s中小于 20m)的第一参与载具为第二参与载具。
在这些实施例中,由于第二参与载具具有兼容的载具速度、重叠的载具路线部分和/或最近相对于彼此位置邻近,所以这些第二参与载具有可能在第二时间戳仍彼此位置邻近。其他类型的载具运动数据也可用于从第一参与载具确定第二参与载具。在一些实施例中,TVVS 管理器204还可评估位于该路段上的个体载具平台103的载具运动数据以确定第二参与载具。由于一个或多个个体载具平台103可在第二时间戳相对于第一TVVS 109的一个或多个第一参与载具位置邻近,所以这些个体载具平台103可在第二时间戳加入第一TVVS 109并且在第二时间戳向第一TVVS 109的资源池252贡献其可用处理资源。
继续上述示例,本地管理服务器107可评估位于其覆盖区域192 内的该组TVVS中的第一TVVS 109以确定第一计算任务是否能够被第一TVVS 109执行。在这个示例中,TVVS管理器204可从数据存储库126取回第一TVVS 109的载具集群数据,从而确定第一TVVS 109在第一时间戳t=t1=tcurrent=14:00:00包括在高速公路I-15上行进的第一参与载具103a、第二参与载具103b和第三参与载具103c。在这个示例中,任务管理器206可从数据存储库126取回第一TVVS 109在第一时间戳t=t1的资源可用性数据。资源可用性数据可指示出在第一时间戳t=t1第一TVVS 109的资源池252中的总可用处理资源包括由第一参与载具103a、第二参与载具103b和第三参与载具103c 总体贡献的3.5GHz的可用计算资源,6GB的可用数据存储资源, 1.5GB的可用存储器资源,5Mbps的可用通信资源以及包括在第一时间戳t=t1捕捉的10个道路场景图像的可用感测资源。
在这个示例中,任务管理器206可利用第一计算任务的任务持续时间确定第二时间戳t=t2。例如,任务管理器206可计算第二时间戳 t2=t1t_task_duration=14:00:00+00:02:30=14:02:30。在这个示例中, TVVS管理器204可确定在第二时间戳t=t2=14:02:30,第一参与载具103a和第二参与载具103b根据其载具运动数据可继续以30m/s的载具速度在高速公路I-15上行进,而第三参与载具103c根据其载具路线可从高速公路出口295离开。从而,TVVS管理器204可确定第一TVVS 109在第二时间戳t=t2可能包括第一参与载具103a、第二参与载具103b,但不包括第三参与载具103c。因此,任务管理器206 可确定在第二时间戳t=t2第一TVVS 109的资源池252中的总可用处理资源可能包括由第一参与载具103a和第二参与载具103b总体贡献的2.5GHz的可用计算资源,3.5GB的可用数据存储资源,1.25GB的可用存储器资源,3.5Mbps的可用通信资源以及包括在第二时间戳t= t2捕捉的8个道路场景图像的可用感测资源。
在块408中,任务管理器206可确定计算任务是否可被第一TVVS 109执行。在一些实施例中,任务管理器206可基于计算任务的处理资源要求、第一TVVS 109在第一时间戳的可用处理资源和第一TVVS 109在第二时间戳的可用处理资源确定是否要在第一TVVS 109上执行计算任务。如上所述,第一时间戳可以是评估第一TVVS 109的当前时间戳,并且第二时间戳可以是与第一时间戳的时间距离等于计算任务的任务持续时间的未来时间戳。在一些实施例中,任务管理器206 可确定第一TVVS 109在第一时间戳的可用处理资源满足计算任务的处理资源要求,和/或确定第一TVVS 109在第二时间戳的可用处理资源满足计算任务的处理资源要求。因此,任务管理器206可确定第一 TVVS 109可能具有足够的处理资源来完成计算任务的执行,从而计算任务可由第一TVVS 109执行。
如本文别处所述,计算任务的处理资源要求可包括计算任务的计算简况和通信简况。计算任务的计算简况可指明履行计算任务的执行所要求的计算资源的量、数据存储资源的量、存储器资源的量、感测资源的量,等等。在一些实施例中,任务管理器206可利用通信简况来估计履行计算任务的执行所要求的通信资源的量。在一些实施例中,要求的通信资源的这种量可与从第一TVVS 109的TVVS地理定位到与计算任务的任务输入数据相关联的地理定位的距离和/或从第一TVVS 109的TVVS地理定位到与计算任务的任务输出数据相关联的地理定位的距离成正比。在一些实施例中,要求的通信资源的量也可与和计算任务相关联的任务输入数据的输入数据大小、任务输出数据的输出数据大小、请求任务输入数据的频率、请求任务输出数据的频率等等成正比。在一些实施例中,任务管理器206可更新计算任务的处理资源要求以包括要求的通信资源的估计量。
继续上述示例,第一计算任务的计算简况可指示出第一计算任务的执行要求0.3GHz的计算资源,450MB的数据存储资源,300MB 的存储器资源以及包括由容宿第一计算任务的计算实体捕捉的道路场景图像的感测资源(如果适用的话)。在这个示例中,任务管理器206 可评估第一计算任务的通信简况并且估计执行第一计算任务所要求的通信资源的量为1Mbps。任务管理器206可将在第一时间戳t=t1= 14:00:00和在第二时间戳t=t2=14:02:30第一TVVS 109的资源池 252中的总可用处理资源与第一计算任务的处理资源要求相比较。由于在第一时间戳t=t1=14:00:00和在第二时间戳t=t2=14:02:30第一TVVS109的资源池252中包括的每个资源成分的量大于履行第一计算任务的执行所要求的相应资源成分的量,所以任务管理器206可确定第一计算任务可被第一TVVS 109执行。
如果在块408中,任务管理器206确定计算任务可被第一TVVS 109执行,则方法400前进到块410。在块410中,任务管理器206 可选择第一TVVS 109来执行该计算任务,方法400可结束。如果在块408中,任务管理器206确定计算任务不可被第一TVVS 109执行,则方法400前进到块412。在块412中,任务管理器206可确定在该组TVVS中是否有另一现有TVVS109要评估。如果在块412中,任务管理器206确定该组TVVS包括另一现有TVVS 109(例如,第二 TVVS 109)要被评估,则方法400前进到块402以评估第二TVVS 109 是否能够执行该计算任务。如果在块412中,任务管理器206确定该组TVVS不包括另一现有TVVS 109要被评估,则方法400前进到块 414。在块414中,TVVS管理器204和任务管理器206可形成新的TVVS109来执行该计算任务。此实现方式是尤其有利的,因为新的 TVVS 109可根据计算任务的执行所要求被动态建立并且可适应于计算任务的处理资源要求。
在一些实施例中,为了形成新的TVVS 109来执行计算任务,在块430中,TVVS管理器204可从位于该路段上的载具平台103为新的TVVS 109选择参与载具。在块432中,TVVS管理器204可指示这些参与载具形成新的TVVS 109。图5是用于建立新的TVVS 109 来履行计算任务的执行的示例方法500的流程图。方法500可由本地管理服务器107中包括的任务管理应用120的TVVS管理器204和任务管理器206执行。如本文别处所述,本地管理服务器107可管理现有TVVS 109的参与载具和位于其覆盖区域192内的路段上的个体载具平台103。在块502中,TVVS管理器204可从这些载具确定在第一时间戳在该路段上相对于彼此位置邻近的候选参与载具。在一些实施例中,第一时间戳可以是执行新TVVS 109的建立的当前时间戳 tcurrent。在一些实施例中,TVVS管理器204可确定具有满足预定的相对距离阈值(例如,150m)的彼此之间的相对距离的一组载具为候选参与载具。
在块504中,任务管理器206可确定候选TVVS在第一时间戳的初始可用处理资源,候选TVVS可包括候选参与载具。在一些实施例中,候选TVVS的初始可用处理资源可包括候选参与载具在第一时间戳可总体贡献的可用处理资源的数量。在块506中,任务管理器206可确定候选TVVS在第一时间戳的初始可用处理资源是否满足计算任务的处理资源要求。如果在块506中,任务管理器206确定候选TVVS 在第一时间戳的初始可用处理资源不满足计算任务的处理资源要求,则方法500前进到块502以确定另一组载具作为候选TVVS的候选参与载具。
如果在块506中,任务管理器206确定候选TVVS在第一时间戳的初始可用处理资源满足计算任务的处理资源要求,则方法500前进到块508。在块508中,任务管理器206可估计候选TVVS在第一时间戳之后的第二时间戳的未来可用处理资源。在一些实施例中,第二时间戳可以是计算任务需要在其之前完成的目标完成时间戳,并且可基于第一时间戳和计算任务的任务持续时间来确定(例如,两个时间戳之间的时间距离可以是任务持续时间)。在一些实施例中,TVVS 管理器204可确定候选参与载具的载具运动数据。例如,TVVS管理器204可从候选参与载具接收载具运动数据或者从数据存储库126取回其载具运动数据。
在一些实施例中,任务管理器206可基于候选参与载具的载具运动数据来确定候选TVVS在第二时间戳的未来可用处理资源。具体地, TVVS管理器204可评估候选参与载具的载具运动数据,并且从候选参与载具确定在第二时间戳在路段上相对于彼此位置邻近的第一候选参与载具。候选TVVS在第二时间戳有可能包括第一候选参与载具,从而如果候选TVVS被实际建立,则这些第一候选参与载具可在第二时间戳向候选TVVS的资源池252贡献其可用处理资源。在一些实施例中,可以按与上文参考图4论述的从第一TVVS 109的第一参与载具确定第二参与载具类似的方式从候选TVVS的候选参与载具确定第一候选参与载具,从而为了简明不再重复。在一些实施例中,任务管理器206可将第一候选参与载具的可用处理资源聚集到候选TVVS在第二时间戳的估计未来可用处理资源中。
在块510中,任务管理器206可确定候选TVVS在第二时间戳的估计未来可用处理资源是否满足计算任务的处理资源要求。如果在块 510中,任务管理器206确定候选TVVS在第二时间戳的估计未来可用处理资源不满足计算任务的处理资源要求,则方法500前进到块502 以确定另一组载具作为候选TVVS的候选参与载具。如果在块510中,任务管理器206确定候选TVVS在第二时间戳的估计未来可用处理资源满足计算任务的处理资源要求,则方法500前进到块512。
在块512中,TVVS管理器204可指示候选参与载具形成与候选 TVVS相对应的新TVVS 109。如上所述,任务管理器206可确定候选 TVVS在第一时间戳的初始可用处理资源满足计算任务的处理资源要求(例如,在块506中),并且确定候选TVVS在第二时间戳的估计未来可用处理资源满足计算任务的处理资源要求(例如,在块510中)。因此,任务管理器206可确定候选TVVS可能具有足够的处理资源来完成计算任务的执行,从而计算任务在候选TVVS上是可执行的。 TVVS管理器204随后可指示候选参与载具形成与候选TVVS相对应的新TVVS 109。返回参考图4,在块434中,任务管理器206可选择新的TVVS 109来执行计算任务。
返回参考图3,一旦本地管理服务器107确定了执行计算任务的计算实体,本地管理服务器107就可将计算任务指派给所确定的计算实体。例如,本地管理服务器107可将计算任务指派给如上所述被确定为能够执行计算任务的现有第一TVVS 109或者新TVVS 109以履行任务执行。在块318中,本地管理服务器107可生成任务执行指令并发送任务执行指令到所确定的计算实体(例如,第一TVVS 109)。在一些实施例中,任务执行指令可包括计算任务的任务元数据和任务描述。如果被确定来执行计算任务的计算实体与从请求实体接收到计算任务的计算实体相同,则任务执行指令可不包括计算任务的任务数据,而只是指示该计算实体自行执行计算任务。
在一些实施例中,任务执行指令可指示所确定的计算实体使用增强输入数据来执行计算任务(如果适用的话)。具体地,本地管理服务器107可确定计算任务的任务输入数据与路段相关联(例如,道路场景图像),被确定为执行计算任务的计算实体也位于该路段上并且具有感测能力(例如,第一TVVS 109)。从而,本地管理服务器107 可指示第一TVVS 109确定与该路段相关联的附加输入数据,附加输入数据可由第一TVVS 109中包括的第一参与载具的传感器113生成。本地管理服务器107可指示第一TVVS 109利用计算任务的任务输入数据和附加输入数据来履行计算任务的执行。由于可以用从第一参与载具的不同角度收集的附加输入数据增强任务输入数据,所以可促进计算任务的执行。在块320中,所确定的计算实体(例如,第一TVVS 109)可执行计算任务。
图6A和6B图示了用于重指派计算任务的示例方法600的流程图。如本文别处所述,TVVS 109的可用处理资源可由于参与载具的载具运动而随着时间的流逝大幅变化。因此,随着TVVS 109的可用处理资源变得不足以完成计算任务的执行,在TVVS 109上执行的计算任务可能需要被重指派给另一计算实体。在块602中,本地管理服务器107可生成和发送任务执行指令到第一TVVS 109a。任务执行指令可指示第一TVVS 109a执行计算任务。如本文别处所述,任务执行指令可包括计算任务的任务元数据和任务描述。
在块604中,第一TVVS 109a可执行计算任务。具体地,在第一 TVVS 109a中,消息处理器202可分析任务执行指令以提取计算任务的任务元数据和任务描述,任务元数据可包括计算任务的处理资源要求,如本文别处所述。资源管理器210可根据处理资源要求中指明的各种资源成分的量将资源池252中的处理资源分配给计算任务。任务执行器208随后可使用分配的处理资源来履行计算任务的执行。
在块606中,第一TVVS 109a可监视计算任务的执行。具体地,在第一TVVS 109a中,任务执行器208可在多个检查点时间戳(例如,每2s等等)频繁地确定描述计算任务的执行的多个任务性能度量。在一些实施例中,检查点时间戳可以是计算任务的执行期间的时间戳。图8是用于监视计算任务的执行的示例方法800的流程图。在块802 中,任务执行器208可确定计算任务的任务执行时间,任务执行时间可指示出到检查点时间戳为止已执行计算任务的时间量(例如,8s)。在块804中,任务执行器208可确定计算任务的任务进度度量。具体地,任务执行器208可确定在检查点时间戳计算任务的任务完成百分比(例如,88%)。任务执行器208还可计算计算任务的任务执行速度。在一些实施例中,任务执行速度可指示出任务执行器208执行计算任务的速度,并且可被计算为计算任务的任务完成百分比与任务执行时间之间的比率(例如,11%/s)。其他类型的任务进度度量也是可能的并且被设想到了。
在块806中,任务执行器208可估计计算任务的剩余执行时间,剩余执行时间可指示出从检查点时间戳起完成计算任务所需要的额外时间量(例如,7s)。在块808中,任务执行器208可估计计算任务的完成处理资源要求,完成处理资源要求可描述各种资源成分在检查点时间戳完成计算任务的执行的要求。在一些实施例中,完成处理资源要求可包括完成计算简况和完成通信简况。完成计算简况可指明在检查点时间戳完成计算任务的执行所要求的计算资源的量、数据存储资源的量、存储器资源的量、感测资源的量,等等。完成通信简况可指明可用于计算在检查点时间戳完成计算任务的执行所要求的通信资源的量的各种因素。在一些实施例中,任务执行器208可更新虚拟数据存储库128中的与计算任务相关联的计算任务条目以包括任务性能度量的这些更新值。在块810中,资源管理器210可以可选地确定第一TVVS 109a在检查点时间戳的可用处理资源。如本文别处所述,资源管理器210可确定在检查点时间戳由第一TVVS 109a的每个参与载具贡献的可用处理资源的数量,以及在检查点时间戳第一TVVS 109a 的资源池252中的可用处理资源的总数量。
返回参考图6A,在块608中,第一TVVS 109a可向本地管理服务器107发送任务执行状态。具体地,在第一TVVS 109a中,消息处理器202可生成包括计算任务的任务ID、计算任务在第一检查点时间戳的任务性能度量和/或第一TVVS 109a在第一检查点时间戳的可用处理资源的任务执行状态。消息处理器202随后可将任务执行状态发送到本地管理服务器107。在块610中,本地管理服务器107可处理任务执行状态。具体地,在本地管理服务器107中,消息处理器202 可分析任务执行状态以提取计算任务的任务ID、计算任务的任务性能度量和/或第一TVVS 109a在第一检查点时间戳的可用处理资源。如上所述,任务性能度量可包括计算任务在第一检查点时间戳的任务执行时间、任务进度度量(例如,任务完成百分比、任务执行速度等等)、估计剩余执行时间、完成处理资源要求,等等。
在块612中,本地管理服务器107可确定在第一检查点时间戳是否要重指派计算任务。具体地,在本地管理服务器107中,任务管理器206可评估计算任务的任务性能度量和/或第一TVVS 109a在第一检查点时间戳的可用处理资源以确定计算任务是否需要被重指派。图 9是用于确定是否要重指派计算任务的示例方法900的流程图。在块 902中,任务管理器206可确定第一TVVS 109a在第一检查点时间戳的可用处理资源是否满足计算任务的完成处理资源要求。如果在块 902中,任务管理器206确定第一TVVS 109a在第一检查点时间戳的可用处理资源不满足计算任务的完成处理资源要求,则任务管理器 206可确定第一TVVS 109a不能够完成计算任务的执行,因为其当前可用处理资源不足。方法900随后前进到块912。在块912中,任务管理器206可确定计算任务要被重指派。
在块904中,任务管理器206可估计第一TVVS 109a在第一检查点时间戳之后的第二检查点时间戳的可用处理资源。在一些实施例中,第二检查点时间戳可以是计算任务需要在其之前完成的第二时间戳。在一些实施例中,可基于第一检查点时间戳和预定的检查点间隔(例如,两个检查点时间戳之间的时间距离可以是3s的预定检查点间隔) 来确定第二检查点时间戳。在一些实施例中,任务管理器206可基于第一TVVS 109a中包括的参与载具的载具运动数据来估计第一TVVS 109a在第二检查点时间戳的可用处理资源。
具体地,TVVS管理器204可从数据存储库126取回第一TVVS 109a的载具集群数据,并且确定第一TVVS 109a在第一检查点时间戳包括在路段上行进的第一参与载具。在一些实施例中,TVVS管理器204可确定第一参与载具的载具运动数据。例如,TVVS管理器204 可从第一参与载具接收载具运动数据或者从数据存储库126取回其载具运动数据。在一些实施例中,TVVS管理器204可评估第一参与载具的载具运动数据,并且从第一参与载具确定在第二检查点时间戳在路段上相对于彼此位置邻近的第二参与载具。第一TVVS 109a在第二检查点时间戳有可能包括第二参与载具,从而这些第二参与载具可在第二检查点时间戳向第一TVVS 109a的资源池252贡献其可用处理资源。在一些实施例中,任务管理器206可将第二候选参与载具的可用处理资源聚集到第一TVVSa在第二检查点时间戳的估计可用处理资源中。
在块906中,任务管理器206可确定第一TVVS 109a在第二检查点时间戳的估计可用处理资源是否满足计算任务的完成处理资源要求。如果在块906中,任务管理器206确定第一TVVS 109a在第二检查点时间戳的估计可用处理资源不满足计算任务的完成处理资源要求,则任务管理器206可确定第一TVVS 109a不能够完成计算任务的执行,因为其可用处理资源可很快减小并且变得不足以继续任务执行。方法900随后前进到块912。在块912中,任务管理器206可确定计算任务要被重指派。由于计算任务甚至可在第一TVVS 109a的可用处理资源变得不足以完成计算任务之前被重指派,所以与计算任务相关联的任务失败的风险可被降低,任务输出数据可被按时交付给请求实体,从而提供要求的服务质量。
在块908中,任务管理器206可确定计算任务的任务进度度量是否满足预定的任务进度阈值。如本文别处所述,计算任务的任务进度度量可包括计算任务的任务完成百分比、任务执行速度,等等。如果在块908中,任务管理器206确定计算任务的任务进度度量满足预定的任务进度阈值,则方法900前进到块912。在块912中,任务管理器206可确定计算任务要被重指派,因为计算任务没有被高效地执行。作为示例,任务管理器206可确定计算任务的任务执行速度满足预定的任务执行速度阈值(例如,小于5%/s),并且因此确定重指派计算任务。
在一些实施例中,任务管理器206可评估计算任务的任务执行速度、任务完成百分比和/或剩余执行时间来确定计算任务是否要被重指派。作为示例,假定按照从任务执行状态中提取的,计算任务在第一检查点时间戳具有3%的任务执行速度、90%的任务完成百分比和15s 的估计剩余执行时间。在这个示例中,任务管理器206可确定计算任务的任务执行速度满足预定的任务执行速度阈值(例如,小于5%/s),但计算任务的任务完成百分比不满足预定的任务完成百分比阈值(例如,小于75%)。在这个示例中,因为计算任务的执行接近完成(任务完成百分比=90%),所以执行将任务重指派到另一计算实体所要求的处理资源可能高于在第一TVVS 109a上完成计算任务所要求的处理资源。因此,任务管理器206可确定不重指派计算任务以保留执行任务重指派所要求的处理资源。
在块910中,任务管理器206可确定具有高任务优先级度量的另一计算任务是否被指派给第一TVVS 109a。具体地,任务管理器206 可从数据存储库126中的任务指派列表取回与第一TVVS 109a相关联的任务指派条目,并且确定第一TVVS 109a是否被指派了具有满足预定的任务优先级度量阈值的任务优先级度量(例如,高于0.8)的另一计算任务。如果在块910中,任务管理器206确定具有高任务优先级度量的另一计算任务被指派给第一TVVS109a,则方法900前进到块 912。在块912中,任务管理器206可确定计算任务要被重指派,从而在资源池252中分配给该计算任务的处理资源可被重分配来用于另一计算任务的执行。
返回参考图6A,如果在块612中,本地管理服务器107确定在第一检查点时间戳不重指派计算任务,则第一TVVS 109a可继续计算任务的执行。如果在块612中,本地管理服务器107确定在第一检查点时间戳要重指派计算任务(例如,因为第一TVVS 109a不能够完成计算任务的执行和/或因为计算任务的任务进度度量满足预定的任务进度阈值,等等),则方法600前进到块614。在块614中,本地管理服务器107可确定继续计算任务的执行的计算实体。本地管理服务器 107随后可将计算任务从第一TVVS 109a重指派到所确定的计算实体。在一些实施例中,确定在第一检查点时间戳继续计算任务的执行的计算实体可按与上文参考图4和图5论述的确定履行计算任务的执行的计算实体类似的方式执行。
例如,在本地管理服务器107中,任务管理器206可确定计算任务的完成处理资源要求。如本文别处所述,计算任务的完成处理资源要求可描述各种资源成分在第一检查点时间戳完成计算任务的执行的要求并且可以是从任务执行状态中提取的。如本文别处所述,本地管理服务器107可管理包括位于其覆盖区域192内的路段上的一个或多个TVVS 109的一组TVVS,该组TVVS中的每个TVVS 109可包括在第一检查点时间戳在该路段上相对于彼此位置邻近的参与载具。在一些实施例中,TVVS管理器204可确定该组TVVS,并且任务管理器206可评估该组TVVS中的TVVS 109以确定能够继续计算任务的执行的第二TVVS 109b。在一些实施例中,位于其他本地服务器107 的覆盖区域192内的其他组TVVS也可被评估来确定第二TVVS 109b。
在一些实施例中,对于该组TVVS中的每个TVVS 109,任务管理器206可确定该TVVS109在第一检查点时间戳的可用处理资源并且估计该TVVS 109在第一检查点时间戳之后的第二检查点时间戳的可用处理资源。在一些实施例中,第二检查点时间戳可以是计算任务需要在其之前完成的第二时间戳。在一些实施例中,任务管理器206 可从数据存储库126取回TVVS 109在第一检查点时间戳的可用处理资源,并且如本文别处所述基于TVVS 109中包括的参与载具的载具运动数据估计该TVVS 109在第二时间戳的可用处理资源。
在一些实施例中,任务管理器206可基于计算任务的完成处理资源要求、第二TVVS109b在第一检查点时间戳的可用处理资源和第二 TVVS 109b在第二时间戳的估计可用处理资源来从该组TVVS中选择第二TVVS 109b。例如,任务管理器206可确定第二TVVS 109b在第一时间戳的可用处理资源满足计算任务的完成处理资源要求,和/ 或确定第二TVVS109b在第二时间戳的可用处理资源满足计算任务的完成处理资源要求。因此,任务管理器206可确定第二TVVS 109b 可能具有足够的处理资源来继续和完成计算任务的执行,从而将计算任务从第一TVVS 109a重指派给第二TVVS 109b来继续任务执行。在一些实施例中,TVVS管理器204和任务管理器206可如本文别处所述形成新的TVVS 109,并且将计算任务重指派给该新的TVVS 109。应当理解,计算任务也可被重指派给系统100的其他计算实体(例如,集中式服务器101、本地管理服务器107、其他本地服务器107等等) 以继续任务执行。
在一些实施例中,任务管理器206可评估通信资源要求来从该组 TVVS中确定第二TVVS 109b来重指派计算任务。例如,为了确定是否要将计算任务重指派给该组TVVS中的TVVS 109,任务管理器206 可确定与该TVVS 109相关联的计算任务的通信资源要求。具体地,任务管理器206可估计在该TVVS 109上完成计算任务的执行所要求的通信资源的量。所要求的通信资源的这种量可包括将计算任务从第一TVVS 109a发送到该TVVS 109的通信资源的量和在该TVVS 109 上继续计算任务的执行的通信资源的量。
在一些实施例中,任务管理器206可确定计算任务的完成通信简况。完成通信简况可指明可用于计算完成计算任务的执行所要求的通信资源的量的各种因素并且可以是从任务执行状态中提取的。在一些实施例中,完成通信简况可指明计算任务的任务输入数据的输入数据大小、任务输出数据的输出数据大小、任务执行数据(例如,计算任务的虚拟机镜像)的执行数据大小、与任务输入数据相关联的地理定位、与任务输出数据相关联的地理定位,等等。在一些实施例中,任务管理器206可确定TVVS 109在第一检查点时间戳的地理位置和第一TVVS 109a在第一检查点时间戳的地理位置。在一些实施例中,该组TVVS中的TVVS 109可频繁地发送其TVVS地理定位到本地管理服务器107(例如,每1s),从而任务管理器206可从数据存储库126 取回在第一检查点时间戳TVVS 109的TVVS地理定位和第一TVVS109a的TVVS地理定位。
在一些实施例中,任务管理器206可利用计算任务的完成通信简况、第一TVVS109a在第一检查点时间戳的地理位置和TVVS 109在第一检查点时间戳的地理位置来估计完成计算任务的执行所要求的通信资源的量。在一些实施例中,要求的通信资源的这种量可与从第一 TVVS 109a的TVVS地理定位到TVVS 109的TVVS地理定位的距离、从TVVS 109的TVVS地理定位到与计算任务的任务输入数据相关联的地理定位的距离和/或从TVVS 109的TVVS地理定位到与计算任务的任务输出数据相关联的地理定位的距离成正比。在一些实施例中,要求的通信资源的这种量也可与和计算任务相关联的任务执行数据的执行数据大小、任务输入数据的输入数据大小、任务输出数据的输出数据大小等等成正比。
在一些实施例中,任务管理器206可基于与TVVS 109相关联的计算任务的通信资源要求来确定是否将计算任务重指派给TVVS 109。例如,任务管理器206可确定在TVVS 109上完成计算任务的执行所要求的通信资源的量满足预定的通信资源要求阈值(例如,小于3Mbps),从而可将计算任务从第一TVVS 109a重指派到TVVS 109。在一些实施例中,任务管理器206可仅在如下情况下将计算任务重指派给TVVS 109:TVVS 109可能具有足够的处理资源来继续和完成计算任务的执行,并且在TVVS 109上完成计算任务的执行所要求的通信资源的量满足预定的通信资源要求阈值。此实现方式尤其有利,因为其避免了将计算任务重指派给要求大量的通信资源来从第一TVVS 109a接收计算任务以及在TVVS 109上继续计算任务的执行的TVVS 109。结果,对由V2X连接(例如,V2V连接、V2I连接等等)提供的有限通信资源的利用可得到优化。
返回参考图6A,在块616中,本地管理服务器107可生成和发送任务重指派指令到第一TVVS 109a。在一些实施例中,任务重指派指令可指示第一TVVS 109a将计算任务转移给被确定来继续计算任务的执行的计算实体(例如,第二TVVS 109b)。任务重指派指令可包括计算任务的任务ID和第二TVVS 109b的TVVS ID。响应于接收到任务重指派指令,第一TVVS 109a可终止在第一TVVS 109a上对计算任务的执行。在块618中,第一TVVS 109a可更新任务重指派指令以包括计算任务的任务数据。具体地,在第一TVVS 109a中,消息处理器202可分析任务重指派指令以提取计算任务的任务ID和第二 TVVS 109b的TVVS ID。任务执行器208随后可(例如,利用任务 ID)从虚拟数据存储库128中的任务执行列表取回与计算任务相关联的计算任务条目,并且更新任务重指派指令以包括存储在计算任务条目中的任务数据。如本文别处所述,任务数据可包括指明计算任务的各种属性的任务元数据、以可执行方式描述计算任务的任务描述(例如,描述计算任务的当前状态的虚拟机镜像等等)和/或继续计算任务的执行所必要的任何其他类型的数据。
在块620中,第一TVVS 109a可将经更新的任务指派指令发送给第二TVVS 109b。在块622中,第二TVVS 109b可处理经更新的任务指派指令。具体地,在第二TVVS 109b中,消息处理器202可分析经更新的任务指派指令以提取计算任务的任务ID和其他任务数据。在块624中,第二TVVS 109b可生成任务重指派确认和向第一TVVS 109a发送任务重指派确认。在一些实施例中,任务重指派确认可确认在第二TVVS 109b处接收到了计算任务并且第二TVVS 109b将接管计算任务的执行。在一些实施例中,任务重指派确认可包括计算任务的任务ID。在块632中,第二TVVS 109b可继续计算任务的执行。具体地,在第二TVVS 109b中,任务执行器208可更新虚拟数据存储库128中的任务执行列表以包括该计算任务,并且利用从经更新的任务指派指令中提取的任务数据来继续计算任务的执行。
响应于从第二TVVS 109b接收到任务重指派确认,在块626中,第一TVVS 109a可释放与计算任务相关联的处理资源。具体地,在第一TVVS 109a中,资源管理器210可释放第一TVVS 109a的资源池 252中分配给该计算任务的处理资源并且相应地更新第一TVVS 109a的资源分配数据。在一些实施例中,任务执行器208可(例如,利用任务ID)从虚拟数据存储库128中的任务执行列表取回与该计算任务相关联的计算任务条目并且将计算任务条目中的计算任务的任务执行状态更新为“重指派完成”。
在块628中,第一TVVS 109a可生成任务终止通知并向本地管理服务器107发送任务终止通知。在一些实施例中,任务终止通知可指示出计算任务被从第一TVVS 109a转移到第二TVVS 109b并且计算任务在第一TVVS 109a上终止。任务终止通知可包括计算任务的任务ID和第二TVVS 109b的TVVS ID。响应于从第一TVVS 109a接收到任务终止通知,在块630中,本地管理服务器107可更新任务指派。具体地,在本地管理服务器107中,消息处理器202可分析任务终止通知以提取计算任务的任务ID和第二TVVS 109b的TVVS ID。任务管理器206随后可(例如,利用任务ID)从数据存储库126中的任务指派列表取回与计算任务相关联的任务指派条目并且更新任务指派条目以将计算任务与第二TVVS 109b相关联。计算任务从第一TVVS 109a到第二TVVS 109b的任务重指派从而完成。
图7是用于重指派计算任务的另一示例方法700的流程图。在块 702中,本地管理服务器107可生成任务执行指令并向第一TVVS 109a 发送任务执行指令,任务执行指令可指示第一TVVS 109a执行计算任务。在块704中,第一TVVS 109a可执行计算任务。在块706中,第一TVVS 109a可监视计算任务的执行。例如,第一TVVS 109a可确定描述在检查点时间戳的计算任务的执行和在检查点时间戳第一 TVVS 109a的可用处理资源的多个任务性能度量。在块708中,第一 TVVS 109a可确定在检查点时间戳是否要重指派计算任务。在一些实施例中,第一TVVS 109a可按与上文参考图6A和6B所述的本地管理服务器107确定在第一检查点时间戳是否要重指派计算任务类似的方式确定在检查点时间戳是否要重指派计算任务。例如,第一TVVS 109a可确定其资源池252中的可用处理资源可很快减少并且变得不足以完成计算任务的执行(例如,由于一个或多个参与载具的离开)。因此,第一TVVS 109a可确定在检查点时间戳计算任务需要被重指派。
如果在块708中,第一TVVS 109a确定在检查点时间戳计算任务需要被重指派,则方法700前进到块710。在块710中,第一TVVS 109a 可生成任务指派请求并向本地管理服务器107发送任务指派请求。在一些实施例中,任务指派请求可请求本地管理服务器107将计算任务重指派到另一计算实体来继续计算任务的执行。任务指派请求可包括计算任务的任务ID和其他任务数据。在块712中,本地管理服务器107可确定继续计算任务的执行的计算实体。在一些实施例中,可按与上文参考图6A和6B所述类似的方式来确定继续计算任务的执行的计算实体。例如,本地管理服务器107可确定继续计算任务的执行的计算实体是第二TVVS 109b。
在块714中,本地管理服务器107可生成任务重指派指令并向第二TVVS 109b发送任务重指派指令。在一些实施例中,任务重指派指令可指示第二TVVS 109b继续计算任务的执行。任务重指派指令可包括计算任务的任务ID和其他任务数据(例如,任务元数据、任务描述等等)。在块716中,第二TVVS 109b可处理任务重指派指令。具体地,第二TVVS 109b可分析任务重指派指令以提取计算任务的任务 ID和其他任务数据。在块718中,第二TVVS109b可生成任务重指派确认并向本地管理服务器107发送任务重指派确认。在一些实施例中,任务重指派确认可确认在第二TVVS 109b处接收到了计算任务并且第二TVVS 109b将继续计算任务的执行。在一些实施例中,任务重指派确认可包括计算任务的任务ID。在块730中,第二TVVS 109b 可利用从任务指派指令中提取的任务数据来继续计算任务的执行。
响应于从第二TVVS 109b接收到任务重指派确认,在块720中,本地管理服务器107可生成任务终止指令并向第一TVVS 109a发送任务终止指令。在一些实施例中,任务终止指令可指示第一TVVS 109a 终止计算任务。在一些实施例中,任务终止指令可包括计算任务的任务ID。响应于从本地管理服务器107接收到任务终止指令,第一TVVS 109a可终止在第一TVVS 109a上对计算任务的执行。在块724中,第一TVVS 109a可释放与计算任务相关联的处理资源。在一些实施例中,第一TVVS 109a可(例如,利用任务ID)取回虚拟数据存储库128中的与计算任务相关联的计算任务条目并且将计算任务条目中的计算任务的任务执行状态更新为“重指派完成”。
在块726中,第一TVVS 109a可生成任务终止通知并向本地管理服务器107发送任务终止通知。在一些实施例中,任务终止通知可指示出在第一TVVS 109a上终止了计算任务的执行。响应于从第一TVVS 109a接收到任务终止通知,在块728中,本地管理服务器107 可更新任务指派。具体地,在本地管理服务器107中,任务管理器206 可(例如,利用任务ID)从数据存储库126中的任务指派列表取回与计算任务相关联的任务指派条目并且更新任务指派条目以将计算任务与第二TVVS 109b相关联。计算任务从第一TVVS 109a到第二TVVS109b的任务重指派从而完成。
如果在块708中,第一TVVS 109a确定在检查点时间戳不需要重指派计算任务,则方法700前进到块722。在块722中,第一TVVS 109a 可确定计算任务是否完成。如果在块722中,第一TVVS 109a确定计算任务没有完成,则方法700前进到块706以随着计算任务在第一TVVS 109a上被执行而继续监视计算任务的执行。如果在块722中,第一TVVS 109a确定计算任务完成,则第一TVVS 109a可终止计算任务的执行。在块724中,第一TVVS 109a可释放与计算任务相关联的处理资源。在一些实施例中,第一TVVS 109a可(例如,利用任务 ID)取回虚拟数据存储库128中的与计算任务相关联的计算任务条目并且将计算任务条目中的计算任务的任务执行状态更新为“执行完成”。
在块726中,第一TVVS 109a可生成任务终止通知并向本地管理服务器107发送任务终止通知。在一些实施例中,任务终止通知可指示出在第一TVVS 109a上完成了计算任务的执行。响应于从第一 TVVS 109a接收到任务终止通知,在块728中,本地管理服务器107可更新任务指派。在一些实施例中,随着计算任务的执行完成,本地管理服务器107可从数据存储库126中的任务指派列表中移除与该计算任务相关联的任务指派条目。
从而,如上所述,计算任务可被指派给如下的第一TVVS 109a:其在第一时间戳(例如,当前时间戳)具有满足计算任务的处理资源要求的初始可用处理资源,并且在第二时间戳(例如,目标完成时间戳)具有满足计算任务的处理资源要求的未来可用处理资源。因此,有可能第一TVVS 109a能够完成计算任务的执行,而不需要任务重指派。如果在计算任务的执行期间,第一TVVS 109a不能够如预期那样完成计算任务的执行,则计算任务可被及时地重指派给另一计算实体 (例如,第二TVVS 109b)来完成任务执行。如上所述,计算任务可被指派给如下的第二TVVS 109b:其在第一检查点时间戳(例如,当前时间戳)具有满足计算任务的处理资源要求的初始可用处理资源,并且在第二检查点时间戳(例如,目标完成时间戳)具有满足计算任务的完成处理资源要求的未来可用处理资源。因此,有可能第二TVVS109b能够继续并完成计算任务的执行,而不需要另一任务重指派。结果,计算任务的性能要求可得到满足,并且任务失败的风险非常有限。从而,可以改善服务质量,尤其是对于诸如车流情形检测、车道偏离警告、紧急制动等等之类的时间敏感和安全关键计算任务。
在以上描述中,出于说明目的,记载了许多具体细节以便提供对本公开的透彻理解。然而,应当理解,没有这些具体细节也可实现本文描述的技术。另外,以框图形式示出了各种系统、设备和结构以避免模糊描述。例如,各种实现方式被描述为具有特定的硬件、软件和用户界面。然而,本公开适用于任何类型的能够接收数据和命令的计算设备,以及任何提供服务的外围设备。
在一些情况下,在本文中可按计算机存储器内的数据比特上的操作的算法和符号表示来呈现各种实现方式。算法在这里并且一般而言被设想为是通向期望结果的操作的自洽集合。这些操作是要求对物理量的物理操纵的那些。通常(但并非一定),这些量采取能够被存储、传送、组合、比较和以其他方式操纵的电信号或磁信号的形式。已证明有时,主要是出于习惯用法的原因,将这些信号称为比特、值、元素、符号、字符、项、数字等等,是方便的。
然而,应当记住,所有这些和类似的术语都将与适当的物理量相关联并且只是应用到这些量的方便标签。除非另有具体声明,否则从接下来的论述可清楚,要明白在整个本公开各处,利用诸如包括“处理”、“计算”、“运算”、“确定”、“显示”等等的术语的论述指的是将计算机系统的寄存器和存储器内的被表示为物理(电子)量的数据操纵和变换成计算机系统存储器或寄存器或其他这种信息存储、传送或显示设备内的被类似地表示为物理量的其他数据的计算机系统或类似的电子计算设备的动作和过程。
本文描述的各种实现方式可涉及用于执行这里的操作的装置。此装置可以是为要求的目的而专门构造的,或者其可包括由存储在计算机中的计算机程序选择性地激活或重配置的通用计算机。这种计算机程序可被存储在计算机可读存储介质中,计算机可读存储介质包括但不限于任何类型的盘(包括软盘、光盘、CD ROM和磁盘)、只读存储器(read-onlymemory,ROM)、随机访问存储器(random access memory,RAM)、EPROM、EEPROM、磁卡或光卡、包括具有非易失性存储器的USB智能卡的闪存或者适合用于存储电子指令的任何类型的介质,它们各自耦合到计算机系统总线。
本文描述的技术可采取完全硬件的实现方式、完全软件的实现方式或者包含硬件元件和软件元件两者的实现方式的形式。例如,该技术可以用软件实现,软件包括但不限于固件、驻留软件、微代码,等等。此外,该技术可采取可从计算机可使用或计算机可读介质访问的计算机程序产品的形式,该计算机可使用或计算机可读介质提供程序代码来供计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用。对于本说明书而言,计算机可使用或计算机可读介质可以是可包含、存储、传达、传播或传输程序来供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的任何非暂态存储装置。
适用于存储和/或执行程序代码的数据处理系统可包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少一些程序代码的临时存储以减少在执行期间必须从大容量存储装置取回代码的次数的缓存存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可直接地或通过居间的I/O 控制器耦合到系统。
网络适配器也可耦合到系统以使得数据处理系统能够通过居间的私有和/或公共网络变得耦合到其他数据处理系统、存储设备、远程打印机等等。无线(例如,WiFiTM)收发器、以太网适配器和调制解调器只是网络适配器的几个示例。私有和公共网络可具有任何数目的配置和/或拓扑。可利用多种不同的通信协议经由网络在这些设备之间传送数据,所述通信协议例如包括各种互联网层、传输层或应用层协议。例如,可利用诸如以下协议经由网络传送数据:传送控制协议/互联网协议(TCP/IP),用户数据报协议(UDP),传送控制协议(TCP),超文本传输协议(HTTP),安全超文本传输协议(HTTPS),基于 HTTP的动态自适应流媒体(DASH),实时流协议(RTSP)、实时传输协议(RTP)和实时传输控制协议(RTCP),基于互联网协议的语音(VOIP),文件传输协议(FTP),WebSocket(WS),无线接入协议(WAP),各种消息传递协议(SMS、MMS、XMS、IMAP、 SMTP、POP、WebDAV等等),或者其他已知的协议。
最后,本文给出的结构、算法和/或接口并不内在地与任何特定的计算机或其他装置相关。各种通用系统可与根据本文的教导的程序一起使用,或者可证明构造更专门的装置来执行要求的方法块是方便的。对多种这些系统所要求的结构将从以上描述中显现。此外,说明书不是参考任何特定的编程语言来描述的。将会明白,可以使用多种编程语言来实现如本文所述的本说明书的教导。
以上描述是为了图示和描述给出的。其并不打算是穷举性的或将说明书限制到所公开的精确形式。根据以上教导,许多修改和变化是可能的。希望本公开的范围不被本详细描述所限制,而是由本申请的权利要求来限制。本领域技术人员将会理解,说明书可实现为其他具体形式,而并不脱离其精神或必要特性。类似地,模块、例程、特征、属性、方法和其他方面的特定命名和划分并不是强制的或者有意义的,并且实现本说明书或其特征的机制可具有不同的名称、划分和/或格式。
此外,本公开的模块、例程、特征、属性、方法和其他方面可实现为软件、硬件、固件或者前述的任何组合。另外,每当本说明书的某个组件(其示例是模块)被实现为软件时,该组件可实现为独立的程序、实现为更大程序的一部分、实现为多个分开的程序、实现为静态或动态链接的库、实现为内核可加载模块、实现为设备驱动器和/ 或以现在或将来知晓的每一种任何其他方式实现。此外,本公开绝不限于采取任何特定编程语言或者用于任何特定操作系统或环境的实现方式。

Claims (15)

1.一种用于管理计算任务的方法,包括:
接收计算任务;
确定所述计算任务的处理资源要求;
估计所述计算任务的任务持续时间;
确定第一临时载具虚拟服务器TVVS在第一时间戳的可用处理资源,所述第一TVVS包括在所述第一时间戳在一路段上相对于彼此位置邻近的第一参与载具;
确定所述第一参与载具的载具运动数据;
基于所述第一参与载具的载具运动数据估计所述第一TVVS在第二时间戳的可用处理资源,所述第二时间戳在所述第一时间戳之后并且是基于所述第一时间戳和所述计算任务的所述任务持续时间确定的;
基于所述计算任务的处理资源要求、所述第一TVVS在所述第一时间戳的可用处理资源和所述第一TVVS在所述第二时间戳的估计可用处理资源,确定要在所述第一TVVS上执行所述计算任务;并且
响应于确定要在所述第一TVVS上执行所述计算任务,将所述计算任务指派给所述第一TVVS以履行所述计算任务的执行。
2.如权利要求1所述的方法,其中估计所述第一TVVS在所述第二时间戳的可用处理资源包括:
基于所述第一参与载具的载具运动数据从所述第一参与载具确定在所述第二时间戳在所述路段上相对于彼此位置邻近的第二参与载具,所述第一TVVS在所述第二时间戳包括所述第二参与载具;并且
将所述第二参与载具的可用处理资源聚集到所述第一TVVS在所述第二时间戳的估计可用处理资源中。
3.如权利要求1所述的方法,其中所述第一参与载具中包括的每个参与载具的载具运动数据指明该参与载具的载具速度、载具地理定位和载具路线中的一个或多个。
4.如权利要求1所述的方法,还包括:
在所述计算任务的执行期间的第一检查点时间戳确定所述计算任务的完成处理资源要求;
确定所述第一TVVS在所述第一检查点时间戳的可用处理资源;
基于所述计算任务的完成处理资源要求和所述第一TVVS在所述第一检查点时间戳的可用处理资源,确定所述第一TVVS不能完成所述计算任务的执行;并且
响应于确定所述第一TVVS不能完成所述计算任务的执行,重指派所述计算任务。
5.如权利要求1所述的方法,还包括:
在所述计算任务的执行期间的第一检查点时间戳确定所述计算任务的完成处理资源要求;
确定所述第一TVVS在所述第一检查点时间戳包括第二参与载具;
基于所述第二参与载具的载具运动数据估计所述第一TVVS在第二检查点时间戳的可用处理资源,所述第二检查点时间戳在所述第一检查点时间戳之后;
基于所述计算任务的完成处理资源要求和所述第一TVVS在所述第二检查点时间戳的估计可用处理资源确定所述第一TVVS不能完成所述计算任务的执行;并且
响应于确定所述第一TVVS不能完成所述计算任务的执行,重指派所述计算任务。
6.如权利要求1所述的方法,还包括:
确定所述计算任务的任务进度度量;
确定所述计算任务的任务进度度量满足预定的任务进度阈值;并且
响应于确定所述计算任务的任务进度度量满足预定的任务进度阈值,重指派所述计算任务。
7.如权利要求1所述的方法,还包括:
在所述计算任务的执行期间的检查点时间戳确定要重指派所述计算任务;
确定所述计算任务的完成处理资源要求;
确定一组TVVS,该组的每个TVVS包括在所述检查点时间戳在所述路段上相对于彼此位置邻近的参与载具,每个TVVS具有在所述检查点时间戳的可用处理资源和在所述第二时间戳的估计可用处理资源;
基于所述计算任务的完成处理资源要求、第二TVVS在所述检查点时间戳的可用处理资源和所述第二TVVS在所述第二时间戳的估计可用处理资源从所述一组TVVS中选择第二TVVS;并且
将所述计算任务重指派给所述第二TVVS以继续所述计算任务的执行。
8.如权利要求1所述的方法,还包括:
在所述计算任务的执行期间的检查点时间戳确定要重指派所述计算任务;
确定所述计算任务的通信简况;
确定所述第一TVVS在所述检查点时间戳的地理位置;
确定第二TVVS在所述检查点时间戳的地理位置,所述第二TVVS包括在所述检查点时间戳在所述路段上相对于彼此位置邻近的参与载具;
利用所述计算任务的通信简况、所述第一TVVS在所述检查点时间戳的地理位置和所述第二TVVS在所述检查点时间戳的地理位置确定与所述第二TVVS相关联的所述计算任务的通信资源要求;
基于与所述第二TVVS相关联的所述计算任务的通信资源要求确定要将所述计算任务重指派给所述第二TVVS;并且
响应于确定要将所述计算任务重指派给所述第二TVVS,将所述计算任务重指派给所述第二TVVS以继续所述计算任务的执行。
9.如权利要求8所述的方法,其中所述计算任务的通信简况指明以下各项中的一个或多个:
与所述计算任务相关联的任务输入数据的输入数据大小、任务输出数据的输出数据大小、任务执行数据大小、请求所述任务输入数据的频率、请求所述任务输出数据的频率;以及
从其接收所述计算任务的任务输入数据的一个或多个计算实体的地理位置,以及向其发送所述计算任务的任务输出数据的一个或多个计算实体的地理位置。
10.如权利要求1所述的方法,还包括:
确定所述计算任务的任务输入数据与所述路段相关联;并且
指示所述第一TVVS:
确定与所述路段相关联的附加输入数据,所述附加输入数据由所述第一TVVS中包括的第一参与载具的一个或多个传感器生成,并且
利用所述计算任务的任务输入数据和由所述第一参与载具的一个或多个传感器生成的附加输入数据履行所述计算任务的执行。
11.一种用于管理计算任务的方法,包括:
接收计算任务;
确定所述计算任务的处理资源要求;
估计所述计算任务的任务持续时间;
从路段上的载具确定在第一时间戳在所述路段上相对于彼此位置邻近的候选参与载具;
确定所述候选参与载具的载具运动数据;
确定候选临时载具虚拟服务器TVVS在所述第一时间戳的可用处理资源,所述候选TVVS在所述第一时间戳包括所述候选参与载具;
基于所述候选参与载具的载具运动数据估计所述候选TVVS在第二时间戳的可用处理资源,所述第二时间戳在所述第一时间戳之后并且是基于所述第一时间戳和所述计算任务的所述任务持续时间确定的;
基于所述计算任务的处理资源要求、所述候选TVVS在所述第一时间戳的可用处理资源和所述候选TVVS在所述第二时间戳的估计可用处理资源,确定所述计算任务在所述候选TVVS上是可执行的;
响应于确定所述计算任务在所述候选TVVS上是可执行的,指示所述候选参与载具形成TVVS;并且
将所述计算任务指派给所述TVVS以履行所述计算任务的执行。
12.如权利要求11所述的方法,其中所述候选参与载具具有满足预定的相对距离阈值的在所述路段上的与彼此的相对距离。
13.如权利要求11所述的方法,其中确定所述计算任务在所述候选TVVS上是可执行的包括:
确定所述候选TVVS在所述第一时间戳的可用处理资源满足所述计算任务的处理资源要求;并且
确定所述候选TVVS在所述第二时间戳的估计可用处理资源满足所述计算任务的处理资源要求。
14.一种用于管理计算任务的系统,包括:
一个或多个处理器;
存储指令的一个或多个存储器,所述指令当被所述一个或多个处理器执行时使得所述系统:
接收计算任务;
确定所述计算任务的处理资源要求;
估计所述计算任务的任务持续时间;
确定第一临时载具虚拟服务器TVVS在第一时间戳的可用处理资源,所述第一TVVS包括在所述第一时间戳在一路段上相对于彼此位置邻近的第一参与载具;
确定所述第一参与载具的载具运动数据;
基于所述第一参与载具的载具运动数据估计所述第一TVVS在第二时间戳的可用处理资源,所述第二时间戳在所述第一时间戳之后并且是基于所述第一时间戳和所述计算任务的所述任务持续时间确定的;
基于所述计算任务的处理资源要求、所述第一TVVS在所述第一时间戳的可用处理资源和所述第一TVVS在所述第二时间戳的估计可用处理资源,确定要在所述第一TVVS上执行所述计算任务;并且
响应于确定要在所述第一TVVS上执行所述计算任务,将所述计算任务指派给所述第一TVVS以履行所述计算任务的执行。
15.一种用于管理计算任务的系统,包括:
一个或多个处理器;
存储指令的一个或多个存储器,所述指令当被所述一个或多个处理器执行时使得所述系统:
接收计算任务;
确定所述计算任务的处理资源要求;
估计所述计算任务的任务持续时间;
从路段上的载具确定在第一时间戳在所述路段上相对于彼此位置邻近的候选参与载具;
确定所述候选参与载具的载具运动数据;
确定候选临时载具虚拟服务器TVVS在所述第一时间戳的可用处理资源,所述候选TVVS在所述第一时间戳包括所述候选参与载具;
基于所述候选参与载具的载具运动数据估计所述候选TVVS在第二时间戳的可用处理资源,所述第二时间戳在所述第一时间戳之后并且是基于所述第一时间戳和所述计算任务的所述任务持续时间确定的;
基于所述计算任务的处理资源要求、所述候选TVVS在所述第一时间戳的可用处理资源和所述候选TVVS在所述第二时间戳的估计可用处理资源,确定所述计算任务在所述候选TVVS上是可执行的;
响应于确定所述计算任务在所述候选TVVS上是可执行的,指示所述候选参与载具形成TVVS;并且
将所述计算任务指派给所述TVVS以履行所述计算任务的执行。
CN201910631005.7A 2018-07-12 2019-07-12 用于管理计算任务的方法和系统 Active CN110719314B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/034,300 US10705884B2 (en) 2018-07-12 2018-07-12 Managing computational tasks in vehicle context
US16/034,300 2018-07-12

Publications (2)

Publication Number Publication Date
CN110719314A CN110719314A (zh) 2020-01-21
CN110719314B true CN110719314B (zh) 2022-07-05

Family

ID=67253725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910631005.7A Active CN110719314B (zh) 2018-07-12 2019-07-12 用于管理计算任务的方法和系统

Country Status (4)

Country Link
US (1) US10705884B2 (zh)
EP (1) EP3594811B1 (zh)
JP (1) JP7031642B2 (zh)
CN (1) CN110719314B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11683831B2 (en) * 2017-12-01 2023-06-20 Woven Planet North America, Inc. Systems and methods for providing resource analysis for autonomous mobility on demand
US11138044B2 (en) 2018-09-26 2021-10-05 Micron Technology, Inc. Memory pooling between selected memory resources
US11197136B2 (en) * 2018-09-26 2021-12-07 Micron Technology, Inc. Accessing a memory resource at one or more physically remote entities
US11157437B2 (en) * 2018-09-26 2021-10-26 Micron Technology, Inc. Memory pooling between selected memory resources via a base station
US11178219B2 (en) * 2019-03-08 2021-11-16 Toyota Jidosha Kabushiki Kaisha Resource assurance for vehicle cloudification
US11690128B2 (en) * 2019-03-11 2023-06-27 Fujitsu Limited Digital representations of physical intelligent moving objects
JP7338384B2 (ja) * 2019-10-03 2023-09-05 トヨタ自動車株式会社 車両の演算処理装置、サーバコンピュータおよびプログラム
CN113204412A (zh) * 2020-01-31 2021-08-03 伊姆西Ip控股有限责任公司 用于任务调度的方法、电子设备和计算机存储介质
CN111311091B (zh) * 2020-02-13 2023-05-02 中国人民解放军国防科技大学 基于车载云及无人机的高速公路任务检测调度方法及系统
CN113453192A (zh) * 2020-03-25 2021-09-28 北京沃东天骏信息技术有限公司 一种车辆间业务计算的方法和装置
CN112512018B (zh) * 2020-07-24 2022-03-04 北京航空航天大学 一种基于移动边缘计算的协作车辆间任务动态卸载方法
US11418597B2 (en) 2020-10-08 2022-08-16 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for value-anticipating task offloading
CN114407900A (zh) * 2020-10-14 2022-04-29 上海丰豹商务咨询有限公司 一种车路协同自动驾驶功能分配系统及方法
US11393184B2 (en) 2020-11-13 2022-07-19 Denso International America, Inc. Systems and methods for adaptive bounding box selection
US11687370B2 (en) * 2020-11-23 2023-06-27 International Business Machines Corporation Activity assignment based on resource and service availability
US20220394557A1 (en) * 2021-06-04 2022-12-08 Here Global B.V. Method, apparatus, and system for enabling remote use of a vehicle's computational resources via network connection(s)
EP4116826A1 (de) * 2021-07-05 2023-01-11 Deutsche Telekom AG Verfahren zur abgesicherten bereitstellung von rechenleistung durch eine mehrzahl von teilnehmenden fahrzeugen als teil eines intelligenten verkehrssystems, system, telekommunikationsnetz umfassend wenigstens eine anwendungsserverentität und/oder eine edge-cloud-funktionalität, computerprogramm und computerlesbares medium
CN114038205B (zh) * 2021-10-28 2022-12-27 浙江大华技术股份有限公司 停车场的车辆管理方法、计算机设备及存储装置
JP7263580B1 (ja) 2022-02-14 2023-04-24 ソフトバンク株式会社 サーバシステム及び車両

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796454A (zh) * 2014-01-22 2015-07-22 福特环球技术公司 用于云计算的车辆专用计算管理系统
CN105704181A (zh) * 2014-11-26 2016-06-22 国际商业机器公司 管理移动设备中的任务的方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010596B2 (en) 2002-06-28 2006-03-07 International Business Machines Corporation System and method for the allocation of grid computing to network workstations
US7644408B2 (en) 2003-04-25 2010-01-05 Spotware Technologies, Inc. System for assigning and monitoring grid jobs on a computing grid
US7441241B2 (en) 2004-05-20 2008-10-21 International Business Machines Corporation Grid non-deterministic job scheduling
JP4265503B2 (ja) 2004-08-06 2009-05-20 株式会社デンソー 路面情報収集システム及びそれに用いるサーバ
JP2007087273A (ja) 2005-09-26 2007-04-05 Toyota Infotechnology Center Co Ltd 分散処理システム及び車載端末
JP2007156577A (ja) 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd 生活支援ロボットによる色情報獲得方法
JP5674307B2 (ja) 2009-12-17 2015-02-25 グローリー株式会社 対象者検出システムおよび対象者検出方法
JP5516560B2 (ja) 2011-12-08 2014-06-11 株式会社豊田中央研究所 車両分散処理システム及び車両分散処理方法
US9412273B2 (en) * 2012-03-14 2016-08-09 Autoconnect Holdings Llc Radar sensing and emergency response vehicle detection
US20140309913A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Relay and Exchange Protocol in an Automated Zone-Based Vehicular Traffic Control Environment
US10552774B2 (en) 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
CN104683405B (zh) 2013-11-29 2018-04-17 国际商业机器公司 在车联网中集群服务器分发地图匹配任务的方法和装置
US9948704B2 (en) * 2016-04-07 2018-04-17 International Business Machines Corporation Determining a best fit coordinator node in a database as a service infrastructure
US10837790B2 (en) * 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
US11059421B2 (en) * 2018-03-29 2021-07-13 Honda Motor Co., Ltd. Vehicle proximity system using heads-up display augmented reality graphics elements
US10647328B2 (en) * 2018-06-11 2020-05-12 Augmented Radar Imaging, Inc. Dual-measurement data structure for autonomous vehicles
US10796411B2 (en) * 2018-07-20 2020-10-06 EMC IP Holding Company LLC Super-resolution imaging for a multi-sensor internet of things environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796454A (zh) * 2014-01-22 2015-07-22 福特环球技术公司 用于云计算的车辆专用计算管理系统
CN105704181A (zh) * 2014-11-26 2016-06-22 国际商业机器公司 管理移动设备中的任务的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
How to Keep a Vehicular Micro Cloud Intact;Takamasa Higuchi 等;《2018 IEEE 87th Vehicular Technology Conference (VTC Spring)》;20180603;第1-4小节 *

Also Published As

Publication number Publication date
US20200019445A1 (en) 2020-01-16
EP3594811B1 (en) 2021-04-28
EP3594811A1 (en) 2020-01-15
US10705884B2 (en) 2020-07-07
JP7031642B2 (ja) 2022-03-08
JP2020030813A (ja) 2020-02-27
CN110719314A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN110719314B (zh) 用于管理计算任务的方法和系统
AU2017285130B2 (en) Method and system for providing auto space management using virtuous cycle
US20180090009A1 (en) Dynamic traffic guide based on v2v sensor sharing method
CN111669727B (zh) 利用移动出行代理管理车辆
US11451974B2 (en) Managing regionalized vehicular communication
US11689623B2 (en) Adaptive real-time streaming for autonomous vehicles
US11455890B2 (en) Traffic-adaptive deployment of vehicle functions
US10855753B2 (en) Distributed computing of vehicle data by selecting a computation resource of a remote server that satisfies a selection policy for meeting resource requirements according to capability information
US11500372B2 (en) Joint optimization of robotic vehicle routing for ride quality, safety, and operator demand
JP2020102838A (ja) 車両マクロクラウドにおける改善された無線通信
US11971481B2 (en) Point cloud registration for lidar labeling
JP2021005866A (ja) ビークルマイクロクラウドによる協調パーキングスペースサーチ
WO2022139904A1 (en) Route-based digital service management
US20210312729A1 (en) Distributed autonomous vehicle data logger
US11411883B2 (en) Hierarchical computing architecture for traffic management
US20240161511A1 (en) Systems and techniques for processing lidar data
WO2024018748A1 (ja) データ送信装置、運転支援装置、リソース制御方法およびコンピュータプログラム
US20240071232A1 (en) Autonomous vehicle fleet prioritization system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant