CN114189345A - 用于附加按需计算处理的车辆分布式计算 - Google Patents

用于附加按需计算处理的车辆分布式计算 Download PDF

Info

Publication number
CN114189345A
CN114189345A CN202111083366.6A CN202111083366A CN114189345A CN 114189345 A CN114189345 A CN 114189345A CN 202111083366 A CN202111083366 A CN 202111083366A CN 114189345 A CN114189345 A CN 114189345A
Authority
CN
China
Prior art keywords
vehicle
request
computing system
computing
encrypted
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
CN202111083366.6A
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies 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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of CN114189345A publication Critical patent/CN114189345A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Traffic Control Systems (AREA)

Abstract

本公开提供了“用于附加按需计算处理的车辆分布式计算”。用于按需计算能力的车辆分布式计算的系统和技术。本文描述的系统和技术通过生成智能合约并将其授予对智能合约进行出价的本地定位的其他车辆系统来使得能够将离散的计算工作请求分配给其他车辆系统。用于处理请求的数据被加密并发送到赢得智能合约的车辆,所述车辆处理所述请求并返回完成的工作产品。智能合约的完成发起向处理车辆的价值转移,作为处理工作负荷的激励。

Description

用于附加按需计算处理的车辆分布式计算
技术领域
本公开总体上涉及车辆计算机系统。
背景技术
车辆计算机系统在操作期间处理众多计算和处理负荷。由车辆系统执行的计算任务(诸如信息娱乐、监测和诊断过程)随着此类系统的复杂性和能力的增加而增加。另外,车辆系统的演进也导致应用复杂性增加,这也可能导致计算要求增加。并入车辆中的附加特征、系统和装置可匹配或超过车载计算系统的处理能力。
发明内容
在一些实施例中,描述了用于将计算从车辆计算机系统分配到其他车辆或其他位置中的计算机系统的技术。所述技术涉及提供安全的通信和激励方式,以使不同的计算机系统以处理能力或接近处理能力承担来自车辆计算机系统的附加计算请求。在一些实施例中,经由公共网络(诸如公共区块链)上的智能合约分配处理请求,并且在请求车辆与可用车辆之间形成智能合约。诸如公钥和私钥以及随机对称密钥的加密方法确保数据和信息的安全传输。完成和验证的请求完成智能合约并发起从请求车辆的账户到可用车辆的账户的价值转移。在一些实施例中,一个或多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,所述软件、固件、硬件或它们的组合在操作中致使系统执行所述动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,所述指令在由数据处理设备执行时致使所述设备执行所述动作。
一个或多个计算机的系统可以被配置为通过将软件、固件、硬件或它们的组合安装在系统上来执行特定操作或动作,所述软件、固件、硬件或它们的组合在操作中使系统执行所述动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,所述指令在由数据处理设备执行时致使所述设备执行所述动作。一个一般方面包括一种计算机实现的方法,该方法包括:经由第一车辆的计算机系统生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个车辆的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限。所述计算机实现的方法还包括接收所述一个或多个车辆中被授予所述智能合约的第二车辆的标识信息。所述计算机实现的方法还包括生成加密随机对称密钥,所述加密随机对称密钥使用所述第二车辆的公钥进行加密。所述计算机实现的方法还包括使用所述加密随机对称密钥来加密执行所述计算的所述请求。所述计算机实现的方法还包括将所述加密随机对称密钥和所加密的请求传送给所述第二车辆。所述计算机实现的方法还包括从所述第二车辆接收包括与所述请求相关联的完成数据的消息。所述计算机实现的方法还包括生成完成通知,其中所述完成通知包括用于将预定值从所述第一车辆的储值账户转移到所述第二车辆的储值账户的指令。该方面的其他实施例包括对应计算机系统、设备和记录在一个或多个计算机存储装置上的计算机程序,其各自被配置为执行所述方法的动作。
一个一般方面包括一种车辆计算机系统,所述车辆计算机系统包括一个或多个处理器和其上存储有指令的存储器,所述指令在由所述一个或多个处理器执行时致使所述一个或多个处理器执行各种操作。所述指令致使所述一个或多个处理器生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个计算系统的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限。所述指令还致使一个或多个处理器接收所述一个或多个计算系统中被授予所述智能合约的计算系统的标识信息。所述指令还致使所述一个或多个处理器生成加密随机对称密钥,所述加密随机对称密钥使用所述计算系统的公钥进行加密。所述指令还致使所述一个或多个处理器使用所述加密随机对称密钥来执行所述计算。所述指令还致使所述一个或多个处理器将所述加密随机对称密钥和所加密的请求传送给所述计算系统。所述指令还致使所述一个或多个处理器从所述计算系统接收包括与所述请求相关联的完成数据的消息。所述指令还致使所述一个或多个处理器生成完成通知,其中所述完成通知包括用于将预定值从与所述车辆计算机系统相关联的储值账户转移到与所述计算系统相关联的储值账户的指令。
一个一般方面包括一种非暂时性计算机可读介质,其包括指令,所述指令在由所述一个或多个处理器执行时致使所述一个或多个处理器执行各种操作。所述指令致使所述一个或多个处理器在本地车辆计算系统处接收智能合约,所述智能合约包括执行远程车辆计算系统的计算的请求,所述请求包括任务数据、所述智能合约的期满以及所述请求完成的最后期限。所述指令致使所述一个或多个处理器至少部分地基于所述任务数据和所述请求完成的所述最后期限来生成针对所述智能合约的出价。所述指令致使所述一个或多个处理器从所述远程车辆计算系统接收加密随机对称密钥和加密的请求,所述加密随机对称密钥和所加密的请求两者均使用所述本地车辆计算系统的公钥进行加密。所述指令致使所述一个或多个处理器使用所述本地车辆计算系统的私钥来解密所述加密随机对称密钥。所述指令致使所述一个或多个处理器使用所述解密随机对称密钥来解密所加密的请求。所述指令致使所述一个或多个处理器执行所述请求。所述指令致使所述一个或多个处理器向所述远程车辆计算系统传送包括与所述请求相关联的完成数据的消息。
附图说明
通过参考以下附图,可以实现对各种实施例的性质和优点的进一步理解。在附图中,类似的部件或特征可以具有相同的参考标号。此外,相同类型的各种部件可以通过在参考标号之后加上破折号和在类似部件之间进行区分的第二标号来区分。如果在说明书中仅使用第一参考标号,则所述描述适用于具有相同第一参考标号的类似部件中的任一个,而与第二参考标号无关。
图1示出了根据一些实施例的示出在对附加计算资源的请求期间不同车辆之间的交互的简化图。
图2示出了根据一些实施例的处理对附加计算资源的请求所涉及的系统的系统架构。
图3示出了根据一些实施例的示出在对附加计算资源的请求期间执行的过程的简化图。
图4示出了根据一些实施例的用于请求附加计算资源的方法。
图5示出了根据一些实施例的用于处理对附加计算资源的请求的方法。
图6示出了根据一些实施例的车辆系统的框图。
图7示出了根据一些实施例的计算机系统。
图8示出了根据一些实施例的云计算系统。
具体实施方式
现代车辆包括彼此通信并与车辆计算系统通信的许多电子控制单元(ECU)。随着车辆系统变得更先进并且能够具有附加功能,车辆计算系统所需的处理能力不断增加。联网车辆由于各种原因而产生大量数据,诸如车辆健康、安全信息、关于环境的地理位置数据等。该数据可用于许多分析决策以改善驾驶体验(包括安全性、信息娱乐等)。然而,根据任务(以及任务数量),这在计算上可能非常昂贵。另外,有时车辆计算系统将因处理数据请求而过载。在一些情况下,后续特征、附件、添加或复杂计算可能另外在任何一个时间点完全占用或超过车辆计算系统的处理能力。在此类情况下,计算和请求的处理时间增加,这增加了接收或处理重要车辆信息或请求的延迟。
在一些实施例中,车辆计算系统可以使用电信调制解调器来将处理请求和数据卸载到可以满足所述请求的云。然而,这些调制解调器基于可用硬件而在带宽方面受到限制,这仍然可能限制可被执行的计算。在本文描述的系统和技术中,车辆对车辆和车辆对任何事物的通信使得能够在不受电信带宽限制的情况下处理数据和请求。当前正在使用5G技术开发和改进车辆对车辆和车辆对任何事物的通信,但是本文描述的功能性不限于此类技术。相反,可以使用允许车辆进行无线通信的任何通信网络,诸如卫星、蓝牙(R)、无线电、红外和其他此类网络通信类型。另外,本文描述的系统和技术通过在请求完成之后经由价值转移提供支付来激励附近的计算系统来处理来自任何特定车辆计算系统的数据处理请求。
特别地,本文描述的技术和系统使用公共网络,诸如用于计算系统的公共区块链,来将处理负荷分配给网络上的其他计算系统并激励对请求的处理。当特定车辆处于或接近完全利用处理能力时,车辆计算系统将确定是否需要附加处理能力。在需要附加能力的情况下,可以将计算请求分配或划分并分配给网络。可以通过生成智能合约并将处理请求授予特定请求的最低出价者来分配工作。通过使用诸如公钥和私钥以及随机对称密钥的加密方法,在请求计算系统与可用计算系统之间建立或交换安全通信。在完成处理请求之后,将价值从请求车辆系统的账户转移到可用计算系统作为完成请求的奖励。
本文描述的系统和方法可以用于通过将工作分配到附近计算系统的公共网络来提高车辆计算系统的响应性、有效性和处理能力。因此,通过使用价值账户来奖励对其他系统的请求的处理来增加和激励处理能力,并且该处理能力不受通常涉及将处理请求上传到云以获得附加处理能力的电信系统的带宽限制的限制。本文的系统和方法使用区块链技术来动态地找到处理能力以支持特定区域内的特定车辆计算系统,而无需互联网连接。
转到图1,根据一些实施例描绘了示出在对附加计算资源的请求期间作为公共网络的一部分的不同车辆之间的交互的简化图100。在简化图100中,第一车辆102接近完全使用或处理能力,或者可能已经超过车辆上的可用处理能力。车辆102的计算装置划分待处理请求并确定哪些请求可以被分配以供其他行动者处理。该确定可以基于维持对车载安全性、系统健康或其他关键特征的处理,同时卸载对辅助请求的处理请求或针对车辆的非安全操作的非必要计算请求。车辆102创建智能合约108以用于经由区块链网络110进行分配。智能合约108包括与处理请求、请求的大小、请求完成的最后期限、对智能合约的出价的期满、竞价车辆的身份、智能合约有效的地理围栏区域或位置、车辆102的公钥有关的信息,以及其他此类信息。
在区块链网络110上验证智能合约108以验证请求信息是有效的并且还通过将价值转移到其他车辆104和106的储值账户114和116来验证车辆102的储值账户112具有足够的价值来针对在智能合约下处理所述请求而奖励另一车辆104或106。
在验证之后并且在出价窗口期满时,区块链网络110上的多个其他车辆104和106对智能合约108进行出价,其他车辆104和106中的最低出价者被授予智能合约。获胜车辆104响应于被授予智能合约108而接收车辆102的公钥。然后,车辆102通过包括如本文所述的加密消息传输的安全通信手段对处理请求和相关联的数据进行加密并将其传送到获胜车辆104。获胜车辆104在将完成的请求返回到车辆102之前解密并执行处理请求。在车辆102处使用包括车辆102与获胜车辆104之间的消息摘要的加密签名来验证完成的请求。在验证完成的请求后,将资金或价值从车辆102的储值账户112转移到获胜车辆104的储值账户114。
在一些示例中,车辆102可以是自主车辆,并且车辆104和106可以是自主车辆或驾驶员驾驶的车辆。车辆102的传感器捕获关于环境以及车辆102的操作状态和健康的信息。由车辆102的各种传感器收集的信息可以用于确定车辆102应执行的命令,例如关于导航、避开障碍物或保持车辆系统健康。车辆102取决于由传感器收集并尽可能实时地处理的信息。车辆102可以将处理请求卸载到其他附近车辆104和106,以确保尽可能快地完成用于自主车辆的操作的计算和命令。
在一些示例中,当车辆102已经经由各种车载传感器收集了关于环境以及关于车辆102本身的大量遥测数据时,可能需要附加的处理能力来执行分析。随着由车辆(诸如自主车辆)收集的数据量继续增加,确保附加处理能力可用可能越来越重要。
在一些示例中,驾驶员请求可能超过车辆102的处理能力。车辆102可以是自主车辆或者可以是驾驶员驾驶的车辆。例如,在驾驶员驾驶的车辆中,驾驶员可以请求计算多条路线,所有路线都具有针对每条路线的不同配置(到达时间、汽油成本、模式窗体、目的地停车等)。所有这些信息都需要尽可能接近同时或实时地计算,使得用户不需要等待很长时间。车辆102可以将一些路线配置的计算卸载到附近的车辆104和106,以确保尽可能快地向用户呈现所有请求的路线。在自主车辆中,车辆102可以具有不是用户发起的而是驾驶自主车辆或其操作的结果的请求。车辆102的一些或所有请求可以被卸载到其他计算装置。在一些示例中,可以经由本文描述的系统和方法仅卸载非关键功能。非关键功能可以包括乘客请求、信息娱乐请求、辅助导航请求以及车辆102的驾驶或安全不需要的此类请求。
图2示出了根据一些实施例的处理对附加计算资源的请求所涉及的系统200的系统架构。系统200包括通过网络208进行通信的第一车辆202、第二车辆204和计算系统206。系统200可以实现诸如关于图1的简化图100简要描述的事务。车辆202和204各自包括计算系统,使得第一车辆202、第二车辆204和计算系统206各自包括类似或相同部件,其通过分别相对于第一车辆202、第二车辆204和计算系统206的部件使用字母A、B或C来区分并且在不使用附加字母A、B或C的情况下被统称,例如,存储器210对应于第一车辆202、第二车辆204和计算系统206的存储器装置而存储器210A仅指第一车辆202的存储器210A。
第一车辆202和第二车辆204可以是诸如关于图6所描述的任何合适的车辆系统。计算系统206可以被实现为车辆的一部分,或者可以是第一车辆202和第二车辆204的位置中的独立固定计算系统,使得能够通过网络208进行通信。具体地,第一车辆202和第二车辆204包括能够从远程装置和输入装置接收数据、向用户显示信息以及将数据输出到外部装置或系统的计算系统。在一些实施例中,第一车辆202可能能够与第二车辆204和/或计算系统206建立通信会话并从那些系统传输/接收数据。第一车辆202、第二车辆204和计算系统206的计算系统可以包括下载和/或执行应用程序的能力,并且可以包括移动通信装置以及个人计算机和瘦客户端装置。
在一个说明性配置中,第一车辆202、第二车辆204和计算系统206可以包括至少一个存储器210和一个或多个处理单元(或处理器)214。处理器214可以适当地以硬件、计算机可执行指令、固件或其组合来实现。处理器214的计算机可执行指令或固件实现方式可以包括以任何合适的编程语言编写以执行所描述的各种功能的计算机可执行指令或机器可执行指令。第一车辆202、第二车辆204和计算系统206还可以包括一个或多个输入传感器212以用于接收用户和/或环境输入,诸如车辆部件状态数据、环境数据、用户输入和用户与用户界面的交互。可能存在能够检测用户或环境输入的各种输入传感器212,诸如加速度计、相机装置、深度传感器、传声器、温度、压力和车辆系统的其他工况。
存储器210可以存储可在处理器214上加载和执行的程序指令,以及在执行这些程序期间生成的数据。取决于配置以及是否在车辆202或204或独立计算系统206内实现,存储器210可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、快闪存储器等)。第一车辆202、第二车辆204和计算系统206还可以包括附加存储装置216,诸如可移动存储装置或不可移动存储装置,包括但不限于磁存储装置、光盘和/或磁带存储装置。磁盘驱动器及其相关联的计算机可读介质可以为计算装置提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。在一些实现方式中,存储器210可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或ROM。
更详细地转向存储器210的内容,存储器210可以包括操作系统222和用于实现本文公开的特征的一个或多个应用程序或引擎,所述一个或多个应用程序或引擎至少包括出价引擎224、合约引擎226、验证引擎228、加密引擎230和计算引擎232。存储器210还可以包括系统数据(未示出),所述系统数据提供将由引擎224-232处理和/或消耗的信息。
出于本公开的目的,引擎224-232中的任一者可以是安装在第一车辆202、第二车辆204或计算系统206的计算系统上并从其执行的任何计算机可执行指令集。引擎224-232可以由制造商或另一实体安装在第一车辆202、第二车辆204和计算系统206的计算系统上。在一些实施例中,引擎224-232可以使第一车辆202、第二车辆204和计算系统206与第一车辆202、第二车辆204和计算系统206中的另一者建立通信会话。
根据至少一些实施例,出价引擎224可以被配置为生成针对网络208上的智能合约的出价。出价引擎224可以被配置为确定用于完成来自网络208上提供的智能合约的请求的可用处理能力。出价引擎224可以被配置为诸如通过用户可选择的设置来根据用户的需要对智能合约进行出价或停止对合约进行出价。在一些示例中,出价引擎224可以提供针对智能合约的单个出价,所述单个出价基于可用处理能力来确定,例如,当处理能力更加有限时或在车辆202上或在网络208内存在溢价时提交更高的出价。网络208内的处理能力可以基于在任何特定时间在网络208上可用的智能合约的数量或比率作为特定地点内的总车辆的函数来确定。出价引擎224还可以被配置为例如响应于来自通过网络208通信的其他车辆或计算系统的出价而提供多个后续出价。出价引擎224可以继续呈现随后的较低出价,直到达到预定的最低阈值,出价时间期满,或者车辆系统202基于车辆202上的可用处理能力来确定出价太低。
根据至少一些实施例,合约引擎226可以被配置为生成智能合约,诸如图1的智能合约108。合约引擎226可以从计算引擎232接收关于要被分配的计算的信息,并且可以生成包括在网络208上分配的信息的智能合约,所述信息诸如要完成的工作负荷(处理类型而不是全部细节)、工作负荷的大小、完成的最后期限、针对智能合约的出价的期满、请求出价的车辆的标识、智能合约有效的区域、请求车辆的公钥以及其他此类信息。合约引擎226还可以访问与车辆202或车辆202的驾驶员相关联的储值账户,以确保价值诸如基于先前历史的典型值可用于转移到其他计算系统204和206作为对处理请求的交换。
根据至少一些实施例,验证引擎228可以被配置为验证从另一车辆接收的签名,以便验证特定消息或数据包来自另一车辆。验证引擎228还可以被配置为生成在交易中涉及的车辆之间的消息摘要的签名。验证引擎228使用另一车辆的公钥来验证签名。如果签名未通过验证,则不对请求执行进一步的工作。当使用公钥验证了签名时,工作请求由计算引擎232执行。
根据至少一些实施例,加密引擎230可以被配置为对通过网络208在车辆202与204之间交换的消息和数据进行加密和解密。加密引擎230被配置为生成用于对处理请求的数据进行加密的随机对称密钥。加密引擎230还被配置为使用其自己的私钥对对称密钥进行加密以生成密码。接收车辆可以使用公钥来解密该随机对称密钥,并且随后使用随机对称密钥来解密数据。这确保了在车辆之间传输的工作请求和数据的安全性,诸如以防止通过提供虚假完成的工作的恶意攻击。
根据至少一些实施例,计算引擎232可以被配置为在车辆202上执行计算。计算引擎232可以为车辆202以及其他车辆204执行计算。计算引擎232还可以被配置为确定车辆202的处理能力何时不足以或太低而无法及时完成处理请求。计算引擎232还可以被配置为将处理请求划分为可以通过网络208分配到一个或多个附加车辆204或计算系统206的单独的块。
第一车辆202、第二车辆204和计算系统206还可以包含使得系统能够与任何其他合适的电子装置通信的通信接口218。在一些示例中,所述系统可以包括彼此通信的多个子系统,诸如车辆202和204中的每一者的彼此通信的多个计算装置。在一些示例中,通信接口218可以使得车辆202和204以及计算系统206能够与网络(诸如图1的区块链网络110)上的其他电子装置通信。例如,车辆202和204可以包括任何数量的不同短程通信装置,包括蓝牙无线通信、近场通信和任何类型的短程通信。车辆202和204以及计算系统206还可以包括输入/输出(I/O)装置和/或端口220,诸如用于实现与来自用户的各种输入装置(诸如语音输入装置、触摸输入装置、显示器等)的连接。
在一些实施例中,图2中所示的系统可以经由通信网络进行通信。通信网络可以包括许多不同类型的网络中的任一种或组合,诸如公共区块链网络、有线网络、互联网、无线网络、蜂窝网络和其他专用和/或公共网络。另外,通信网络可以包括多个不同的网络。例如,第一车辆202和第二车辆204可以利用蓝牙通信系统来彼此通信,而计算系统206可以通过其他近场通信系统与车辆206通信。
图3示出了根据一些实施例的示出在对附加计算资源的请求期间执行的过程300的简化图。过程300示出了当第一车辆302请求附加处理能力来执行请求时在第一车辆302和第二车辆304上或由其执行的步骤。第二车辆304具有处理能力,并且先前已经经由公共网络(诸如公共区块链)被授予针对该工作的智能合约。
在306处,第一车辆302创建包括要由第二车辆304执行的工作的消息摘要。第一车辆302使用哈希函数创建消息摘要。消息摘要用于将由第二车辆304执行的特定离散计算,诸如由图2的计算引擎232确定为更大工作负荷的一部分的离散计算。
在308处,第一车辆302使用第一车辆302的私钥来创建消息摘要的签名。当第二车辆304被授予智能合约时,第一车辆302的公钥先前被提供给第二车辆,并且可以用于验证第二车辆304处的消息摘要的签名以除了确保消息摘要在到达第二车辆时未被改变之外,还确保消息摘要来自第一车辆302而不是来自网络上的其他行动者。
在310处,第一车辆生成随机对称密钥。随后在312处使用随机对称密钥来加密包括工作请求的消息摘要。随机对称密钥可能不如用于加密数据的其他密钥那样安全,因为拥有密钥的任何一方都可以访问所加密的数据。为每个消息摘要生成随机对称密钥,使得对称密钥仅对单个特定消息摘要有用。
在314处,第一车辆302使用从第二车辆304接收的或以其他方式通过网络可用的第二车辆304的公钥来加密对称密钥。对称密钥在使用公钥加密时形成密码,并且可以安全地传输到第二车辆304以用于在第二车辆304处解密消息摘要。
在316处,第一车辆将加密对称密钥和具有请求的加密的消息摘要发送给第二车辆304。
在318处,第二车辆304通过本地网络或直接通信装置从第一车辆302接收加密对称密钥和加密的消息摘要。
在320处,第二车辆304使用其自己的私钥对加密对称密钥进行解密以获得对称密钥。随后在322处对称密钥可用于解密先前由第一车辆302加密的消息摘要和签名。
在324处,第二车辆304使用第一车辆302的公钥来验证签名。使用第一车辆302的私钥创建签名,使得可以基于在第二车辆304被授予智能合约之后在第二车辆304处接收的公钥容易地执行验证。如果由于第二车辆304不具有正确的公钥而使签名未得到验证,则拒绝工作请求。
在326处,第二车辆304基于解密的消息摘要来执行处理请求。第二车辆304的计算引擎232执行所述请求。
在328处,第二车辆创建完成的工作请求的哈希以生成完成的工作消息摘要。完成的工作消息摘要包括基于来自第一车辆302的请求的完成的数据和信息。
在330处,第二车辆304创建完成的消息摘要的签名。该签名由第二车辆304使用第二车辆304的私钥创建。
在334处将加密的消息摘要和加密的签名发送到第一车辆302之前,在332处,第二车辆304加密完成的工作消息摘要以及签名。使用第一车辆302的公钥来执行加密。
在336处,第一车辆302从第二车辆接收加密的完成的工作消息摘要和加密的签名。随后在338处,第一车辆302使用第一车辆302的私钥对完成的工作消息摘要和签名进行解密。
在340处,第一车辆302使用第二车辆304的公钥来验证签名。如果签名未被验证,则完成的工作未被验证,并且过程停止并且可能重新开始。如果签名被验证,则完成的工作消息摘要被验证为完成,并且在342处对智能合约的指示工作已经完成和得到验证的完成通知。
在344处,第一车辆302发起从第一车辆302的储值账户到第二车辆304的储值账户的价值转移。在一些示例中,区块链上的智能合约的完成可以发起价值转移。所转移的价值基于第二车辆304最初赢得智能合约的获胜出价。
图4示出了根据一些实施例的用于请求附加计算资源的方法400。方法400可以由例如计算系统(诸如图2的第一车辆202或第二车辆204的计算系统)执行,或者可以由图6的车辆系统600的计算系统602执行。尽管按顺序呈现方法400的步骤,但是在一些示例中,一些或所有步骤可以不同的顺序执行,包括同时执行。
在步骤402处,第一车辆的计算装置生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个车辆的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限。计算装置可以响应于在计算装置处接收到处理数据的请求并确定计算装置的可用处理能力不足以执行请求计算而生成智能合约。智能合约可以经由公共区块链或可由车辆计算系统或地理围栏区域范围内的其他计算系统访问的其他此类网络被分配到局部区域,诸如地理围栏区域。可以在公共网络上(例如在公共区块链上)验证智能合约,以确保第一车辆在储值账户中具有价值用以补偿第二车辆在智能合约下执行该请求。
在步骤404中,计算装置接收所述一个或多个车辆中被授予所述智能合约的第二车辆的标识信息。该标识信息可以包括唯一标识符,诸如车辆识别号码(VIN)或其他此类识别信息。所述标识信息还可以包括与和所述第二车辆相关联的公钥相关的信息,以用于所述第一车辆与所述第二车辆之间的安全通信。
在步骤406处,计算装置生成加密随机对称密钥,所述加密随机对称密钥使用所述第二车辆的公钥进行加密。可以生成随机对称密钥以用于在402处生成的智能合约并与之关联,并且仅用于单个工作请求。
在步骤408处,计算装置使用所述加密随机对称密钥来加密执行所述计算的所述请求。加密所述请求可以包括首先加密工作请求并且随后加密随机对称密钥,如步骤406中所述。
在步骤410处,计算装置将所述加密随机对称密钥和所加密的请求传送给所述第二车辆。加密随机对称密钥和加密的请求可以通过公共网络、直接通信(诸如短程通信)或任何其他通信手段来传送。
在步骤412处,计算装置从所述第二车辆接收包括与所述请求相关联的完成数据的消息。当在第一车辆处接收到完成数据时,可以对完成数据进行加密。第二车辆可能已经使用第一车辆的公钥或使用任何其他合适的加密手段对完成数据进行了加密。所述消息还可以包括描述智能合约或初始请求的识别信息,使得第一车辆可以识别完成数据与哪个智能合约(在多个智能合约的情况下)相关联。在一些示例中,可以对消息进行解密和验证,如上文关于图3所描述的。
在步骤414处,计算装置生成完成通知,其中所述完成通知包括用于将预定值从所述第一车辆的储值账户转移到所述第二车辆的储值账户的指令。完成通知可以包括对公共区块链上的智能合约的指示请求已经完成并得到验证的通知。然后智能合约可以发起从第一车辆的储值账户到第二车辆的储值账户的价值转移。在一些示例中,智能合约的储值可能已经在智能合约待决时被转移到持有账户,并且在智能合约完成时被递送到第二车辆的储值账户。
图5示出了根据一些实施例的用于处理对附加计算资源的请求的方法。方法500可以由例如计算系统(诸如图2的第一车辆202、第二车辆204或计算系统206的计算系统)执行,或者可以由图6的车辆系统600的计算系统602执行。尽管按顺序呈现方法500的步骤,但是在一些示例中,一些或所有步骤可以不同的顺序执行,包括同时执行。
在步骤502处,计算装置接收智能合约,所述智能合约包括执行远程车辆计算系统的计算的请求,所述请求包括任务数据、所述智能合约的期满以及所述请求完成的最后期限。可以通过公共网络、局域网、公共区块链或其他此类通信网络接收智能合约。在一些情况下,计算装置可以访问网络上的可用智能合约。计算装置可以被配置为接收或访问智能合约,以参与其他车辆的分布式计算或忽略此类智能合约,如由与车辆相关联的用户偏好设置。
在步骤504处,计算装置至少部分地基于所述任务数据和所述请求完成的所述最后期限来生成针对所述智能合约的出价。可以使用图2的出价引擎220来生成出价,并且该出价基于车辆上的可用计算资源、对分布式处理完成的合约或请求的数量以及其他此类因素。计算装置可以生成针对智能合约的单个出价或多个出价,例如以与其他计算装置竞争。单个出价或第一出价可以基于对公共区块链上的智能合约的出价历史,或取决于车辆本身的计算装置。在对智能合约的出价结束时,如果该出价是获胜的出价,则该计算装置可以被授予智能合约。
在步骤506处,计算装置从所述远程车辆计算系统接收加密随机对称密钥和加密的请求,所述加密随机对称密钥和所加密的请求两者均使用所述本地车辆计算系统的公钥进行加密。所接收的数据可以经由公共网络、专用网络、直接通信或车辆计算装置之间的任何其他合适的通信手段(特别是不受电信装置的带宽限制的通信手段)到达计算装置。
在步骤508处,计算装置使用所述本地车辆计算系统的私钥来解密所述加密随机对称密钥。对称密钥可以仅与智能合约的单个工作请求相关联,并且不能重复使用以用于安全目的。
在步骤510处,计算装置使用解密的随机对称密钥来对加密的请求进行解密。通过加密随机对称密钥并随后使用随机对称密钥来解密请求,该请求是安全的并且也易于被每一方访问,具有私钥或公钥而不是仅依赖于对称密钥(其可能没有那么安全)。
在步骤512处,计算装置执行该请求。所述请求可以由计算引擎232执行,如由计算装置的处理器执行。
在步骤514处,计算装置向所述远程车辆计算系统传送包括与所述请求相关联的完成数据的消息。在一些示例中,可以在将消息传送到远程车辆计算系统之前对消息进行加密。加密可以由加密引擎230执行并且使用远程车辆计算系统的公钥。在传送消息之后,可以验证消息,并且可以将价值转移到本地车辆计算系统的储值账户,作为对完成该请求的补偿。
任何合适的计算系统或计算系统组可以用于执行本文描述的操作或方法。例如,图6示出了车辆系统,所述车辆系统包括计算系统602以及可以执行本文所述的功能中的一些或全部的多个ECU。图7还描绘了可以是计算系统602的至少一部分的计算装置700的示例。
图6示出了根据一些实施例的车辆系统600的框图。车辆系统600可以包括被配置为通过车辆内网络614进行通信的计算系统602。计算系统602包括处理器604和存储装置606。虽然图6中示出了车辆系统600,但是如图所示的示例性部件不意在限制。实际上,车辆系统600可以具有更多或更少的部件,并且可以使用附加的或替代的部件和/或实现方式。应注意,车辆系统600环境的使用是说明性的,因为部件和功能可以用于其他类型的系统,诸如飞机中的飞行控制系统、或医疗装置或工业机器。
车辆系统600可以包括各种类型的汽车、跨界多功能车辆(CUV)、运动型多功能车辆(SUV)、卡车、休闲车辆(RV)、船、飞机或用于运输人或货物的其他移动机器。在许多情况下,车辆系统600可以由内燃发动机提供动力。作为另一种可能性,车辆系统600可以是由内燃发动机和一个或多个电动马达两者提供动力的混合动力电动车辆(HEV),诸如串联式混合动力电动车辆(SHEV)、并联式混合动力电动车辆(PHEV)或并联/串联式混合动力电动车辆(PSHEV)。由于车辆系统600的类型和配置可以变化,因此车辆系统的能力可以相应地变化。作为一些其他可能性,车辆系统600在载客量、牵引能力和容量以及存储量方面可以具有不同能力。
计算系统602可以包括人机界面(HMI)612和供用户与计算系统602交互的显示器628。示例性计算系统602可以是由密歇根州迪尔伯恩市的FORD MOTOR COMPANYTM提供的SYNCTM系统。在一些示例中,显示器628可以包括车辆信息娱乐系统,所述车辆信息娱乐系统包括一个或多个显示器。HMI 612可以被配置为支持语音命令和与驾驶员和驾驶员携带的装置的BLUETOOTHTM接口,经由各种按钮或其他控件接收用户输入,以及向驾驶员或其他车辆系统600乘员提供车辆状态信息。举例来说,计算系统602可以与被配置为调用计算系统602上的功能的一个或多个按钮或其他HMI 612(例如,方向盘音频按钮、通话按钮、仪表板控件等)对接。计算系统602还可以驱动显示器628或以其他方式与之进行通信,所述显示器被配置为例如通过视频控制器向车辆乘员提供视觉输出。在一些情况下,显示器628可以是触摸屏,所述触摸屏还被配置为经由视频控制器接收用户触摸输入,而在其他情况下,显示器628可以是仅显示器而没有触摸输入能力。在一个示例中,显示器628可以是包括在车辆系统600的中央控制台区域中的主机单元显示器。在另一个示例中,显示器628可以是车辆系统600的仪表组的屏幕。
计算系统602还可以包括支持本文所述的计算系统602的功能的执行的各种类型的计算设备。在一个示例中,计算系统602可以包括被配置为执行计算机指令的一个或多个处理器604以及其上可以保存计算机可执行指令和/或数据的存储606介质。计算机可读介质(也称为处理器可读介质或存储装置606)包括参与提供可以由计算机(例如,由一个或多个处理器604)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。一般来讲,处理器604将例如来自存储装置606等的指令和/或数据接收到存储器并使用所述数据来执行所述指令,从而执行一个或多个过程,包括本文所描述的过程中的一个或多个。计算机可执行指令可以根据使用多种编程语言和/或技术创建的计算机程序来编译或解译,所述多种编程语言和/或技术单独地或组合地包括但不限于:Java、C、C++、C#、Fortran、Pascal、VisualBasic、Python、Java Script、Perl、PL/SQL等。存储装置606可以包括用于数据608和应用程序610的分部。数据608可以存储诸如数据库的信息和其他此类信息。应用程序610可以存储计算机可执行指令或处理器604可执行的其他此类指令。
计算系统602可以被配置为与车辆系统600的乘员的移动装置通信。移动装置可以是各种类型的便携式计算装置中的任一种,诸如蜂窝电话、平板计算机、智能手表、膝上型计算机、便携式音乐播放器或能够与计算系统602通信的其他装置。与计算系统602一样,移动装置可以包括被配置为执行计算机指令的一个或多个处理器,以及其上可以保存计算机可执行指令和/或数据的存储介质。在一些示例中,计算系统602可以包括被配置为与移动装置的兼容无线收发器通信的无线收发器(例如,BLUETOOTHTM控制器、ZIGBEETM收发器、Wi-Fi收发器等)。另外或替代地,计算系统602可以通过有线连接(诸如经由移动装置与计算系统602的通用串行总线(USB)子系统之间的USB连接)与移动装置通信。
计算系统602还可以被配置为经由一个或多个车辆内网络614与车辆系统600的其他部件通信。作为一些示例,车辆内网络614可以包括车辆控制器局域网(CAN)、以太网或面向媒体的系统传输(MOST)中的一者或多者。车辆内网络614可以允许计算系统602与车辆系统600的其他单元(诸如ECU A 620、ECU B 622、ECU C 624和ECU D626)通信。ECU 620、622、624和626可以包括车辆系统600的各种电气或机电系统,或者控制车辆系统600的各种子系统。ECU的一些非限制性示例包括:动力传动系统控制模块,所述动力传动系统控制模块被配置为提供对引擎操作部件(例如,怠速控制部件、燃料输送部件、排放控制部件等)的控制和对引擎操作部件的监测(例如,引擎诊断代码的状态);主体控制模块,所述主体控制模块被配置为管理各种电力控制功能,诸如外部照明、内部照明、无钥匙进入、远程起动和进入点状态验证(例如,车辆系统600的引擎罩、门和/或行李厢的关闭状态);无线电收发器模块,所述无线电收发器模块被配置为与钥匙扣或其他车辆系统600装置通信;气候控制管理模块,所述气候控制管理模块被配置为提供对加热和冷却系统部件的控制和监测(例如,压缩机离合器和鼓风机风扇控制、温度传感器信息等);以及变速器控制模块、制动器控制模块、中央计时模块、悬架控制模块、车辆调制解调器(其在一些配置中可能不存在)、被配置为提供车辆系统600位置和航向信息的全球定位系统(GPS)模块和被配置为与车辆系统602协作的各种其他车辆ECU。由各种ECU控制的子系统可以包括车辆系统600的功能部件616,所述功能部件包括诸如动力传动系统、引擎、制动器、灯、转向部件等元件。另外,功能部件616中的一些或全部可以包括传感器618以及装备到车辆系统600的另外传感器,以用于检测车辆系统600及其子系统的各种状态、位置、接近度、温度等。ECU 620、622、624、626可以通过车辆内网络614与计算系统602以及功能部件616和传感器618通信。尽管图6中仅描绘了四个ECU,但是车辆系统600中可以包括任何数量(更多或更少)的ECU。
图7示出了计算装置700的示例的框图。计算装置700可以是本文描述的计算机中的任一个,包括例如图6的车辆系统600内的计算系统602以及ECU 620、622、624、626。计算装置700可以是或包括例如集成计算机、膝上型计算机、台式计算机、平板计算机、服务器或其他电子装置。
计算装置700可以包括经由总线705与其他硬件对接的处理器740。可以包括任何合适的有形(和非暂时性)计算机可读介质(诸如RAM、ROM、EEPROM等)的存储器710可以体现配置计算装置700的操作的程序成分(例如,程序代码715)。存储器710可以存储程序代码715、程序数据717或两者。在一些示例中,计算装置700可以包括输入/输出(“I/O”)接口部件725(例如,用于与显示器745、键盘、鼠标等对接)和另外的存储装置730。
计算装置700执行程序代码715,所述程序代码将处理器740配置为执行本文描述的操作中的一个或多个。在各种实施例中,程序代码715的示例包括以上关于图1描述的逻辑流程图。程序代码715可以驻留在存储器710或任何合适的计算机可读介质中,并且可以由处理器740或任何其他合适的处理器执行。
计算装置700可以通过执行程序代码715来生成或接收程序数据717。例如,传感器数据、行程计数器、认证消息、行程标志和本文所述的其他数据都是可以由计算装置700在执行程序代码715期间使用的程序数据717的示例。
计算装置700可以包括网络部件720。网络部件720可以表示促进网络连接的任何部件中的一个或多个。在一些示例中,网络部件720可以促进无线连接,并且包括无线接口(诸如IEEE 802.11、BLUETOOTHTM或无线电接口)以用于访问蜂窝电话网络(例如,用于访问CDMA、GSM、UMTS或其他移动通信网络的收发器/天线)。在其他示例中,网络部件720可以是有线的,并且可以包括诸如以太网、USB或IEEE 1394的接口。
尽管图7描绘了具有处理器740的单个计算装置700,但是所述系统可以包括任何数量的计算装置700和任何数量的处理器740。例如,多个计算装置700或多个处理器740可以通过有线或无线网络(例如,广域网、局域网或互联网)分布。多个计算装置700或多个处理器740可以单独地或彼此协调地执行本公开的任何步骤。
在一些实施例中,本文描述的功能性(包括计算装置之间的网络和请求的处理)可以由云服务提供商提供为云服务。例如,单独车辆的计算装置之间的网络连接可以包括云计算网络。另外,区块链网络可以通过云计算网络实现。例如,图8描绘了可以跨数据网络820向各种用户装置825a、825b和825c提供网络连接、云联网和计算资源的云计算系统800的示例。用户装置825a、825b和825c可以是上述车辆202或车辆202的计算系统的示例。在所述示例中,可在软件即服务(SaaS)模型下提供服务。一个或多个用户可以订阅所述服务,并且所述云计算系统提供对区块链网络、一个或多个其他计算装置和计算资源的访问以向订阅者提供所述服务。在一个示例中,云计算系统800可以证明对区块链即服务(BaaS)的访问或被提供为区块链即服务(BaaS)。BaaS基础设施可以通过操作区块链应用程序的基于云的基础设施来实现本文所述的方法和系统的操作。云计算系统800可以包括一个或多个远程服务器计算机805。
远程服务器计算机805包括用于存储程序代码和程序数据810或两者的任何合适的非暂时性计算机可读介质,所述程序代码和程序数据由云计算系统800使用用于提供云服务。计算机可读介质可以包括能够向处理器提供计算机可读指令或其他程序代码的任何电子、光学、磁性或其他存储装置。计算机可读介质的非限制性示例包括磁盘、存储器芯片、ROM、RAM、ASIC、光学存储装置、磁带或其他磁性存储装置、或者处理装置可以从中读取指令的任何其他介质。所述指令可包括由编译器或解释器从以任何合适的计算机程序设计语言(包括例如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript和ActionScript)编写的代码生成的处理器特定指令。在各种示例中,服务器计算机805可以包括易失性存储器、非易失性存储器或它们的组合。
服务器计算机805中的一个或多个执行程序数据810,所述程序数据810将服务器计算机805的一个或多个处理器配置为执行本文所述的操作中的一个或多个,包括通过公共区块链验证智能合约、分配计算资源请求,以及本文所述的任何其他功能。如图8中的实施例中所描绘,一个或多个服务器计算机805提供服务以执行如关于图2所描述的在系统200中执行的动作。执行本文描述的一个或多个操作的任何其他合适的系统或子系统(例如,用于与储值账户进行通信或用于验证智能合约的一个或多个开发系统)也可以由云计算系统800实现。
在一些实施例中,云计算系统800可以通过执行程序代码和/或使用程序数据810来实现服务,其可以驻留在服务器计算机805的存储器装置中或任何合适的计算机可读介质中并且可以由服务器计算机805的处理器或任何其他合适的处理器执行。
在一些实施例中,程序数据810包括本文描述的一个或多个数据集和模型。这些数据集的示例包括经销店数据、分类数据等。在一些实施例中,数据集、模型和函数中的一者或多者存储在同一存储器装置中。在附加或替代实施例中,本文描述的程序、数据集、模型和功能中的一者或多者存储在可经由数据网络820访问的不同存储器装置中。
云计算系统800还包括网络接口装置815,所述网络接口装置实现往返于云计算系统800的通信。在某些实施例中,网络接口装置815包括适合于建立与数据网络820的有线或无线数据连接的任何装置或装置组。网络接口装置815的非限制性示例包括以太网网络适配器、调制解调器等。服务器830能够使用网络接口装置815经由数据网络820与用户装置825a、825b和825c通信。
虽然已关于本主题的特定方面对本主题进行了详细描述,但应理解,本领域技术人员在理解前述内容后,可很容易对这些方面做出变更、变化和等效操作。本文阐述了许多具体细节,以提供对所要求保护的主题的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践所要求保护的主题。在其他情况下,未详细描述本领域普通技术人员已知的方法、设备或系统,以免模糊所要求保护的主题。因此,已出于示例而非限制的目的呈现了本公开,并且本公开不排除包括对本主题的此类修改、变化和/或添加,这对于本领域的普通技术人员来说是明显的。
除非另有特别说明,否则应理解,在整个本说明书中,利用诸如“处理”、“计算”、“确定”和“识别”等术语进行的论述指代计算装置的动作或过程,所述计算装置诸如一个或多个计算机或一个或多个类似的电子计算装置,其操纵或变换表示为计算平台的存储器、寄存器或其他信息存储装置、传输装置或显示装置内的物理电子或磁性量的数据。本文使用的“适于”或“被配置为”意指开放和包容性语言,其不排除适于或被配置为执行附加任务或步骤的装置。另外,“基于”的使用意味着是开放的和包容性的,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于超出所述的附加条件或值。本文所包括的标头、列表和编号仅是为了便于解释,并不意味着进行限制。
本文公开的方法的各方面可以在此类计算装置的操作中来执行。本文讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算装置可以包括提供以一个或多个输入为条件的结果的任何合适的部件布置。合适的计算装置包括访问存储的软件的基于多用途微处理器的计算机系统,所述存储的软件将计算系统从通用计算设备编程或配置为实现本主题的一个或多个方面的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言组合来在用于编程或配置计算装置的软件中实现本文所包含的教导。在以上示例中呈现的框的顺序可以有所变化——例如,各框可以被重新排序、组合和/或分成子框。某些框或过程可以并行地执行。
根据本发明,一种计算机实现的方法包括:经由第一车辆的计算机系统生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个车辆的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限;接收所述一个或多个车辆中被授予所述智能合约的第二车辆的标识信息;生成加密随机对称密钥,所述加密随机对称密钥使用所述第二车辆的公钥进行加密;使用所述加密随机对称密钥来加密执行所述计算的所述请求;将所述加密随机对称密钥和所加密的请求传送给所述第二车辆;从所述第二车辆接收包括与所述请求相关联的完成数据的消息;以及生成完成通知,其中所述完成通知包括用于将预定值从所述第一车辆的储值账户转移到所述第二车辆的储值账户的指令。
根据一个实施例,生成所述智能合约包括:接收对计算工作负荷的请求;将所述计算工作负荷划分为一个或多个请求;以及选择所述一个或多个请求中的所述请求以包括在所述智能合约中。
根据一个实施例,选择所述一个或多个请求中的一个请求以包括在所述智能合约中包括:确定所述计算工作负荷超过所述计算机系统的可用计算资源;选择所述请求使得剩余的一个或多个请求不超过所述计算机系统的所述可用计算资源。
根据一个实施例,所述智能合约的所述任务数据描述要被执行的请求的类型以及计算资源需求。
根据一个实施例,所述一个或多个车辆位于所述第一车辆的预定距离内。
根据一个实施例,所述一个或多个车辆包括具有可用计算资源来完成所述请求的计算系统。
根据一个实施例,上述发明的特征还在于向第二车辆提供第一车辆的公钥和通信指令。
根据本发明,提供了一种车辆计算机系统,其具有:一个或多个处理器和存储器,在所述存储器上存储有指令,所述指令在由所述一个或多个处理器执行时致使所述一个或多个处理器进行以下操作:生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个计算系统的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限;接收所述一个或多个计算系统中被授予所述智能合约的计算系统的标识信息;生成加密随机对称密钥,所述加密随机对称密钥使用所述计算系统的公钥进行加密;使用所述加密随机对称密钥来加密执行所述计算的所述请求;将所述加密随机对称密钥和所加密的请求传送给所述计算系统;从所述计算系统接收包括与所述请求相关联的完成数据的消息;以及生成完成通知,其中所述完成通知包括用于将预定值从与所述车辆计算机系统相关联的储值账户转移到与所述计算系统相关联的储值账户的指令。
根据一个实施例,所述计算系统是单独车辆的计算系统。
根据一个实施例,所述计算系统是固定计算系统。
根据一个实施例,所述计算系统是云计算系统。
根据一个实施例,对所述请求进行加密包括:生成所述请求的哈希以生成消息摘要;以及使用所述计算系统的私钥来生成所述消息摘要的签名,并且其中对所述请求进行加密包括对所述哈希和所述签名进行加密。
根据一个实施例,生成所述智能合约包括确定所述车辆是否具有超过预定值的储值账户余额。
根据一个实施例,所述一个或多个计算系统包括一个或多个车辆计算系统,并且其中所述一个或多个车辆计算系统的所有者先前已经授权了使用计算资源处理来自其他车辆的请求。
根据一个实施例,所述一个或多个计算系统在所述车辆计算机系统的预定距离内,并且所述一个或多个计算系统通过短程通信系统与所述车辆计算机系统通信。
根据本发明,提供了一种非暂时性计算机可读介质,其具有指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器进行以下操作:在本地车辆计算系统处接收智能合约,所述智能合约包括执行远程车辆计算系统的计算的请求,所述请求包括任务数据、所述智能合约的期满以及所述请求完成的最后期限;至少部分地基于所述任务数据和所述请求完成的所述最后期限来生成针对所述智能合约的出价;从所述远程车辆计算系统接收加密随机对称密钥和加密的请求,所述加密随机对称密钥和所加密的请求两者均使用所述本地车辆计算系统的公钥进行加密;使用所述本地车辆计算系统的私钥来解密所述加密随机对称密钥;使用所述解密随机对称密钥来解密所加密的请求;执行所述请求;向所述远程车辆计算系统传送包括与所述请求相关联的完成数据的消息。
根据一个实施例,所述指令包括另外的指令,所述另外的指令在由所述一个或多个处理器执行时致使所述一个或多个处理器进行以下操作:在将所述消息传送给所述远程车辆计算系统之前,使用所述本地车辆计算系统的所述私钥对所述完成数据进行加密。
根据一个实施例,经由公共区块链接收所述智能合约。
根据一个实施例,所述远程车辆计算系统位于所述第一车辆的预定距离内。
根据一个实施例,所述智能合约的所述任务数据描述要被执行的请求的类型以及计算资源需求。

Claims (15)

1.一种计算机实现的方法,其包括:
经由第一车辆的计算机系统生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个车辆的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限;
接收所述一个或多个车辆中被授予所述智能合约的第二车辆的标识信息;
生成加密随机对称密钥,所述加密随机对称密钥使用所述第二车辆的公钥进行加密;
使用所述加密随机对称密钥来加密执行所述计算的所述请求;
将所述加密随机对称密钥和所加密的请求传送给所述第二车辆;
从所述第二车辆接收包括与所述请求相关联的完成数据的消息;以及
生成完成通知,其中所述完成通知包括用于将预定值从所述第一车辆的储值账户转移到所述第二车辆的储值账户的指令。
2.如权利要求1所述的计算机实现的方法,其中生成所述智能合约包括:
接收对计算工作负荷的请求;
将所述计算工作负荷划分为一个或多个请求;以及
选择所述一个或多个请求中的所述请求以包括在所述智能合约中。
3.如权利要求2所述的计算机实现的方法,其中选择所述一个或多个请求中的一个请求以包括在所述智能合约中包括:
确定所述计算工作负荷超过所述计算机系统的可用计算资源;
选择所述请求使得剩余的一个或多个请求不超过所述计算机系统的所述可用计算资源。
4.如权利要求1、2或3中任一项所述的计算机实现的方法,其中所述智能合约的所述任务数据描述要被执行的请求的类型以及计算资源需求。
5.如权利要求1、2或3所述的计算机实现的方法,其中所述一个或多个车辆位于所述第一车辆的预定距离内。
6.如权利要求1、2或3所述的计算机实现的方法,其还包括向所述第二车辆提供所述第一车辆的公钥和通信指令。
7.一种车辆计算机系统,其包括:
一个或多个处理器;以及
存储器,在所述存储器上存储有指令,所述指令在由所述一个或多个处理器执行时致使所述一个或多个处理器进行以下操作:
生成智能合约,所述智能合约包括执行经由公共区块链分配给一个或多个计算系统的计算的请求,所述智能合约包括任务数据、所述智能合约的期满以及所述请求完成的最后期限;
接收所述一个或多个计算系统中被授予所述智能合约的计算系统的标识信息;
生成加密随机对称密钥,所述加密随机对称密钥使用所述计算系统的公钥进行加密;
使用所述加密随机对称密钥来加密执行所述计算的所述请求;
将所述加密随机对称密钥和所加密的请求传送给所述计算系统;
从所述计算系统接收包括与所述请求相关联的完成数据的消息;以及
生成完成通知,其中所述完成通知包括用于将预定值从与所述车辆计算机系统相关联的储值账户转移到与所述计算系统相关联的储值账户的指令。
8.如权利要求7所述的车辆计算机系统,其中所述计算系统是云计算系统。
9.如权利要求7或8所述的车辆计算机系统,其中对所述请求进行加密包括:
生成所述请求的哈希以生成消息摘要;以及
使用所述计算系统的私钥来生成所述消息摘要的签名,并且其中对所述请求进行加密包括对所述哈希和所述签名进行加密。
10.如权利要求7或8所述的车辆计算机系统,其中生成所述智能合约包括确定所述车辆是否具有超过预定值的储值账户余额。
11.如权利要求7或8所述的车辆计算机系统,其中所述一个或多个计算系统包括一个或多个车辆计算系统,并且其中所述一个或多个车辆计算系统的所有者先前已经授权了使用计算资源处理来自其他车辆的请求。
12.如权利要求7或8所述的车辆计算机系统,其中所述一个或多个计算系统位于所述车辆计算机系统的预定距离内,并且所述一个或多个计算系统通过短程通信系统与所述车辆计算机系统进行通信。
13.一种非暂时性计算机可读介质,其包括指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器进行以下操作:
在本地车辆计算系统处接收智能合约,所述智能合约包括执行远程车辆计算系统的计算的请求,所述请求包括任务数据、所述智能合约的期满以及所述请求完成的最后期限;
至少部分地基于所述任务数据和所述请求完成的所述最后期限来生成针对所述智能合约的出价;
从所述远程车辆计算系统接收加密随机对称密钥和加密的请求,所述加密随机对称密钥和所加密的请求两者均使用所述本地车辆计算系统的公钥进行加密;
使用所述本地车辆计算系统的私钥来解密所述加密随机对称密钥;
使用所述解密随机对称密钥来解密所加密的请求;
执行所述请求;
向所述远程车辆计算系统传送包括与所述请求相关联的完成数据的消息。
14.如权利要求13所述的非暂时性计算机可读介质,其中所述指令包括在由所述一个或多个处理器执行时致使所述一个或多个处理器进行以下操作的另外的指令:
在将所述消息传送给所述远程车辆计算系统之前,使用所述本地车辆计算系统的所述私钥对所述完成数据进行加密。
15.如权利要求13或14所述的非暂时性计算机可读介质,其中所述智能合约的所述任务数据描述要被执行的请求的类型以及计算资源需求。
CN202111083366.6A 2020-09-15 2021-09-15 用于附加按需计算处理的车辆分布式计算 Pending CN114189345A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/021,236 2020-09-15
US17/021,236 US11588797B2 (en) 2020-09-15 2020-09-15 Vehicle distributed computing for additional on-demand computational processing

Publications (1)

Publication Number Publication Date
CN114189345A true CN114189345A (zh) 2022-03-15

Family

ID=80351640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111083366.6A Pending CN114189345A (zh) 2020-09-15 2021-09-15 用于附加按需计算处理的车辆分布式计算

Country Status (3)

Country Link
US (1) US11588797B2 (zh)
CN (1) CN114189345A (zh)
DE (1) DE102021123926A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230185614A1 (en) * 2021-12-10 2023-06-15 Honda Motor Co., Ltd. System and method for providing decentralized vehicle computing using blockchain

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9365188B1 (en) * 2011-04-22 2016-06-14 Angel A. Penilla Methods and systems for using cloud services to assign e-keys to access vehicles
KR101736104B1 (ko) * 2015-10-28 2017-05-16 현대자동차주식회사 차량 및 그 제어방법
US20170364138A1 (en) * 2016-06-20 2017-12-21 Google Inc. In-vehicle computing system with power conserving maintenance tasks
US10832337B1 (en) * 2016-11-23 2020-11-10 State Farm Mutual Automobile Insurance Company Systems and methods for maintaining a distributed ledger pertaining to smart contracts
US9934625B1 (en) * 2017-01-31 2018-04-03 Uber Technologies, Inc. Detecting vehicle collisions based on moble computing device data
EP3525157A1 (en) * 2018-02-09 2019-08-14 Volkswagen Aktiengesellschaft Method and system for cooperative operation
DE102018115347B4 (de) * 2018-06-26 2021-11-18 Bundesdruckerei Gmbh Erstellen einer Fahrzeugbescheinigung unter Verwendung einer Blockchain
DE102018214354A1 (de) * 2018-08-24 2020-02-27 Robert Bosch Gmbh Erstes fahrzeugseitiges Endgerät, Verfahren zum Betreiben des ersten Endgeräts, zweites fahrzeugseitiges Endgerät und Verfahren zum Betreiben des zweiten fahrzeugseitigen Endgeräts
US11108856B2 (en) * 2018-08-31 2021-08-31 Nakamoto & Turing Labs Inc Methods and apparatus for performing distributed computing using blockchain
US10997251B2 (en) * 2018-10-15 2021-05-04 Bao Tran Smart device
US11460847B2 (en) * 2020-03-27 2022-10-04 Intel Corporation Controller for an autonomous vehicle, and network component

Also Published As

Publication number Publication date
US20220086127A1 (en) 2022-03-17
DE102021123926A1 (de) 2022-03-17
US11588797B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
US10850684B2 (en) Vehicle secure messages based on a vehicle private key
US11218456B2 (en) Vehicle-oriented service providing system, in-vehicle device, and command transmission method
CN111447590A (zh) 车辆对车辆文件共享系统和方法
US20160209224A1 (en) Vehicle swap and driver statistics
US11196560B2 (en) Policy and token based authorization framework for connectivity
CN110920560A (zh) 云授权车辆控制
CN110557256A (zh) 临时和定制的车辆访问
US11367356B1 (en) Autonomous fleet service management
US9201843B2 (en) Control device
US20200346634A1 (en) Blockchain based ecosystem for emission tracking of plug in hybrid vehicles
CN114189345A (zh) 用于附加按需计算处理的车辆分布式计算
US20180285885A1 (en) Modules, systems, and methods for incentivizing green driving
CN110914876B (zh) 分配进入授权和行驶授权的方法
CN114200907A (zh) 使用信号评级来识别安保性关键控制器局域网消息和节点
KR20150089697A (ko) 모바일 단말을 이용한 스마트 카 보안 시스템 및 그 방법
US11370392B2 (en) Authentication PIN collision prevention for autonomous vehicles
KR20210033312A (ko) 차량 및 그 유휴 자원 활용 방법
US20220239472A1 (en) Service-oriented architecture in a vehicle
US11418337B2 (en) Method of secrets injection for autonomous vehicles
US20220121904A1 (en) Automated setup and communication coordination for training and utilizing massively parallel neural networks
CN110708192B (zh) 一种应用于可添加设备的车载管理系统及方法
CN114124608A (zh) 专用数字体验通信总线
US20190394644A1 (en) Vehicle feature control
JP7279668B2 (ja) 車載用制御装置
WO2024045043A1 (zh) 计算资源共享的方法、装置以及终端设备

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