用于车辆中的通信总线安全的系统和方法与流程

文档序号:23068556发布日期:2020-11-25 17:56阅读:118来源:国知局
用于车辆中的通信总线安全的系统和方法与流程

交叉引用

本申请要求2019年3月20日提交的美国专利申请第16/359,116号和2018年3月28日提交的美国临时申请第62/648,987号的权益。以上申请的全部公开内容通过引用并入本文中。

本公开内容涉及用于防止未授权装置攻击无钥匙进入/无钥匙启动系统的系统和方法,并且更具体而言,涉及用于防止未授权装置通过侵入车辆通信总线系统例如lin总线通信系统或can总线通信系统而攻击无钥匙进入-无钥匙启动系统的系统和方法。



背景技术:

该部分提供与本公开内容相关的背景信息,其不一定是现有技术。

传统上,无钥匙进入/无钥匙启动(peps)系统是包括无钥匙进入系统的车辆系统,其使得拥有先前已经与车辆的中央peps电子控制单元(ecu)配对的密钥卡的任何人能够仅通过抓住门把手就访问车辆并且能够通过按压按钮启动车辆。响应于按钮按压,中央pepsecu认证密钥卡以确定密钥卡是否被授权访问车辆,以及使用由多个车辆天线指示的信号强度来估计密钥卡的位置。如果密钥卡可以被认证成功并且位于授权区域内,则使车辆的功能对用户是可用的(即,门被解锁或车辆被启动)。

然而,传统的peps系统包括可能使peps系统遭受恶意攻击的物理漏洞。作为示例,用户可以通过将装置连接至车辆的车载诊断(obd-ii)端口来攻击peps系统。使用该装置,用户可以操纵车辆的信号和/或将信号注入车辆的控制器局域网(can)和/或局域互联网络(lin),从而为用户提供启用/停用车辆功能的能力。作为另一个示例,用户可以经由车辆的光盘(cd)播放器和通行装置(pass-throughdevice)来攻击peps系统。具体地,用户可以将cd插入到车辆的cd播放器中,并且cd可以包括当执行例如视窗媒体音频(wan)或动态影像专家压缩标准音频层面3(mp3)文件时将信号离散地注入至车辆的can和/或lin中的指令。

另外,传统的peps系统包括可能使peps系统遭受恶意攻击的无线漏洞。作为示例,用户可以通过对peps系统的各种遥感链路的被动窃听、中间人(mitm)攻击以及身份跟踪来攻击peps系统。



技术实现要素:

该部分提供了对本公开内容的总体概述,而不是其全部范围或其全部特征的全面公开。

本公开内容提供了一种包括被配置成生成第一链接密钥数据包的传感器的系统。该系统包括车辆的控制模块,并且控制模块被配置成生成第二链接密钥数据包。响应于(i)第一链接密钥数据包的第一认证响应(authenticatedresponse)匹配第二链接密钥数据包的第二认证响应以及(ii)用户装置通过无线通信链路连接至控制模块的通信网关,传感器被配置成使用电耦接控制模块和传感器的硬连线链路(hardwirelink)向控制模块传送信号信息。信号信息包括与经由无线通信链路发送的通信信号的特性相对应的信息。

在一些配置中,基于控制模块的第一预链接密钥和随机口令值来生成第一认证响应。

在一些配置中,响应于用户在传感器和用户装置中至少之一的接口上输入pin来生成第一预链接密钥。

在一些配置中,控制模块的随机口令值是由控制模块生成的随机数。

在一些配置中,传感器通过对第一预链接密钥和随机口令值执行密码操作来生成第一认证响应。

在一些配置中,基于第二预链接密钥和标识值来生成第二认证响应。

在一些配置中,标识值被配置成唯一地标识来自多个传感器中的传感器。

在一些配置中,控制模块通过对第二预链接密钥和标识值执行密码操作来生成第二认证响应。

在一些配置中,响应于第一认证响应指示未授权装置电耦接控制模块,控制模块被配置成向用户装置发送消息。该消息指示未授权装置正在尝试与控制模块通信。

在一些配置中,硬连线链路包括本地互连网络(lin),并且无线通信链路是蓝牙低功耗(ble)通信链路。

附加地,本公开内容提供了一种方法,该方法包括使用传感器生成第一链接密钥数据包。该方法包括使用车辆的控制模块生成第二链接密钥数据包,并且控制模块包括被配置成执行存储在非暂态存储器中的指令的至少一个处理器。该方法还包括使用控制模块确定第一链接密钥数据包的第一认证响应是否匹配第二链接密钥数据包的第二认证响应。该方法还包括使用控制模块来确定用户装置是否通过无线通信链路连接至控制模块的通信网关。该方法还包括:响应于(i)第一认证响应匹配第二认证响应以及(ii)用户装置通过无线通信链路连接至控制模块的通信网关,用传感器向使用电耦接控制模块和传感器的硬连线链路向控制模块传送信号信息。信号信息包括与经由ble通信链路发送的通信信号的特性相对应的信息。

在一些配置中,该方法包括使用传感器基于控制模块的第一预链接密钥和随机口令值生成第一认证响应。

在一些配置中,该方法还包括:响应于用户在传感器和用户装置中至少之一的接口上输入pin,使用传感器生成第一预链接密钥。

在一些配置中,控制模块的随机口令值是由控制模块生成的随机数。

在一些配置中,该方法还包括使用传感器通过对第一预链接密钥和随机口令值执行密码操作来生成第一认证响应。

在一些配置中,该方法还包括使用控制模块基于第二预链接密钥和标识值来生成第二认证响应。

在一些配置中,标识值被配置成唯一地标识来自多个传感器中的传感器。

在一些配置中,该方法还包括使用控制模块通过对第二预链接密钥和标识值执行密码操作来生成第二认证响应。

在一些配置中,该方法还包括响应于第一认证响应指示未授权装置电耦接至控制模块,使用控制模块向用户装置发送消息。该消息指示未授权装置正在尝试与控制模块通信。

在一些配置中,硬连线链路包括本地互连网络(lin),并且无线通信链路是蓝牙低功耗(ble)通信链路。

其他适用领域将根据本文中所提供的描述变得明显。该发明内容中的描述和具体示例旨在仅用于说明的目的,而不旨在限制本公开内容的范围。

附图说明

本文中描述的附图仅用于对选择的实施方式而非所有可能的实现方式进行说明的目的,并且不旨在限制本公开内容的范围。

图1示出了根据本公开内容的具有peps系统的主体车辆。

图2示出了根据本公开内容的peps系统的框图。

图3示出了根据本公开内容的peps系统的传感器的框图。

图4示出了根据本公开内容的peps系统的通信网关。

图5a示出了根据本公开内容的具有peps系统和未授权装置的主体车辆。

图5b示出了根据本公开内容的具有peps系统和未授权装置的主体车辆。

图6示出了根据本公开内容的用于peps系统的每个传感器的多个链接密钥。

图7示出了根据本公开内容的用于生成链接密钥的示例算法的流程图。

图8示出了根据本公开内容的用于并入未连接的传感器的示例算法的流程图。在附图的若干视图中对应的附图标记指示对应的部分。

具体实施方式

现在将参照附图更充分地描述示例实施方式。

本公开内容涉及使用消费者级无线协议,例如基于蓝牙联盟的标准化规范的消费者级无线协议,来实现定位系统例如peps系统的系统、方法和架构。具体地,本公开内容涉及使用蓝牙低功耗(ble)通信协议以用于车辆与支持ble的用户装置例如智能电话或可穿戴设备之间的通信的peps系统。具体地,peps系统包括传感器网络,该传感器网络被配置成找到用户装置与车辆之间的现有连接并且测量用户装置与车辆之间的通信的定时和信号特性。此外,peps系统还包括收集由传感器网络测量的物理特性的控制模块。基于物理特性,控制模块可以确定用户装置的位置。可替选地,虽然本公开内容描述了使用蓝牙或ble建立无线通信连接,但是本文描述的系统和方法可以与其他无线通信协议例如wi-fi、wi-fi直连、超宽带(uwb)通信和/或脉冲无线电(ir)uwb通信一起使用。

另外,传感器网络的每个传感器可以经由硬连线连接与控制模块通信。此外,为了增强传感器网络的传感器与控制模块之间的通信的安全性,传感器中的每一个与链接密钥相关联,并且如果对应的链接密钥与控制模块的链接密钥匹配,则控制模块接收来自传感器中的每一个的通信。

参照图1和图2,peps系统1(也可以称为定位系统)被设置在车辆30内,并且包括通信网关29和统称为传感器31的多个传感器31a至31f。peps系统1包括控制模块20。附加地或可替选地,peps系统包括分布在整个车辆30中并且能够通过例如车辆接口45彼此通信的多个控制模块20。另外,一些控制模块20可以集成到单个电子控制单元(ecu)中,或者能够使用车辆接口45彼此通信。车辆接口45例如可以包括用于主模块之间通信和/或例如用于传感器31之间通信的较低数据速率通信的本地互连网络(lin)的控制器局域网(can)总线。车辆接口45还可以包括时钟扩展外围接口(cxpi)总线。附加地或可替选地,车辆接口45可以包括can总线、lin和cxpi总线通信接口的组合。下面参照图3更进一步详细地讨论传感器31的结构。

控制模块20还可以包括一个或更多个处理器,所述处理器配置成执行存储在非暂态存储器例如只读存储器(rom)和/或随机存取存储器(ram)中的指令。

控制模块20可以包括例如通信网关29,该通信网关29包括连接至天线19的ble芯片组21。如图2所示,天线19可以位于车辆30中。可替选地,天线19可以位于车辆30外部或者控制模块20内。控制模块20还可以包括链路认证模块22,该链路认证模块22认证经由通信链路50进行通信的用户装置10。控制模块20还可以包括用于推送数据的数据管理层23。控制模块20还可以包括连接信息分发模块24。控制模块20还可以包括定时控制模块25。控制模块20还可以包括远程信息处理模块26,例如,全球定位系统(gps)模块和/或其他导航或定位模块。控制模块20还可以包括peps模块27。控制模块20还可以包括本体控制模块28。控制模块20还可以包括传感器处理和定位模块32。控制模块20还可以包括安全过滤模块33。

如图1和图2所示,用户装置10可以经由通信链路50与车辆30的通信网关29通信。没有限制的含义,用户装置10可以是任何支持蓝牙的通信装置,例如,智能电话、智能手表、可穿戴电子设备、密钥卡、平板设备或与车辆30的用户例如车辆30的拥有者、驾驶员、乘客和/或车辆30的技术人员相关联的其他装置。如上所述,可以使用其他无线通信协议来代替蓝牙或ble,例如wi-fi、wi-fi直连、uwb和/或irusb。用户装置10可以包括连接至天线13的ble芯片组11。用户装置10还可以包括存储在计算机可读存储模块或装置例如只读存储器(rom)或随机存取存储器(ram)中的应用软件12。此外,应用软件12包括可以由用户装置10的处理器执行的指令。用户装置10还可以包括gps模块14或其他装置定位服务。

用户装置10和通信网关29可以使用如蓝牙规范所提供和定义的蓝牙通信链路来建立通信链路50。例如,用户装置10和通信网关29之间的通信链路50可以是ble通信链路。可替选地,如上所述,可以使用wi-fi、wi-fi直连、uwb和/或iruwb通信链路来代替ble通信链路。

peps系统1可以被配置成向用户装置提供通信链路50的附加认证。例如,通信网关29可以与链路认证模块22通信以认证用户装置10并建立通信链路50。例如,链路认证模块22可以被配置成实现口令-响应认证。在这样的情况下,与通信网关29与用户装置10之间的通信有关的定时信息被发送至定时控制模块25,该定时控制模块25通过车辆接口45与传感器31通信,如下面所描述的。此外,通信网关29可以将与通信信道和信道切换参数有关的信息传送至连接信息分发模块24。连接信息分发模块24被配置成使用车辆接口45与传感器31中的每一个通信并且一旦传感器31与通信网关29同步,就向传感器31提供传感器31查找并且随后跟随或窃听安全通信链路50所需的通信信息。

虽然图1和图2示出了具有六个传感器31a至31f的peps系统1,但可以使用任何数量的传感器。例如,peps系统可以包括四个、五个、七个、八个、九个或更多个传感器。以这种方式,虽然本公开内容提供了利用六个传感器的示例,但是可以根据本公开内容使用附加的或更少的传感器。

参照图3,传感器31中的每一个包括连接至天线43的ble芯片组41。如图3所示,天线43可以位于传感器31的内部。可替选地,天线43可以位于传感器31外部。传感器31使用天线43接收ble信号,以及具体地使用ble物理层(phy)控制器46来接收ble物理层消息。传感器31能够观察ble物理层消息并且使用由信道图重建模块42产生的信道图对相关联的信号的物理性质(包括例如接收信号强度(rssi))进行测量。附加地或可替选地,传感器31可以确定相关联的信号的物理性质的其他测量,其包括例如与到达角有关的数据。附加地或可替选地,传感器31可以经由车辆接口45彼此通信和/或与通信网关29通信,以确定由多个传感器接收到的信号的到达时间差、到达时间或到达角数据。附加地或可替选地,传感器31可以测量和确定关于发送至用户装置10并且从用户装置10接收的信号的往返行程飞行时间信息。传感器31经由车辆接口45从通信网关29接收定时信息和信道图信息。定时同步模块44被配置成准确地测量车辆接口45上的消息的接收时间并且将定时信息传递给ble芯片组41。ble芯片组41被配置成获取信道图信息和定时信号以及在特定时间处将phy控制器46调整到特定信道并且观察符合蓝牙物理层规范的所有物理层消息和数据,该蓝牙物理层规范包括例如在蓝牙规范版本5.0中建议或采用的正常数据速率。ble芯片组41经由车辆接口45向通信网关29和/或控制模块20报告数据、时间戳和测量的信号强度。

参照图4,通信网关29包括连接至天线19以接收ble信号的ble芯片组41。ble芯片组41实现蓝牙协议堆栈46,该蓝牙协议堆栈48例如符合包括例如ble规范的版本5的ble规范。ble芯片组41还包括由存储在计算机可读介质例如只读存储器(rom)或随机存取存储器(ram)中的应用代码实现的应用47。此外,应用47包括可由ble芯片组41的处理器执行的指令。应用47可以包括蓝牙规范之外的修改,以使ble芯片组41能够检查由ble芯片组41发送和接收到的带时间戳的数据,而不管数据的有效性。例如,应用47使ble芯片组41能够将发送和接收到的数据与预期进行比较。通信网关29被配置成经由车辆接口45将实际发送和接收到的数据发送至车辆30的控制模块20。可替选地,通信网关29可以被配置成经由车辆接口45从传感器31中的每一个接收数据。应用47还可以被配置为使ble芯片组41能够确认每个传感器31在正确的时间已经接收到正确的数据。

继续参照图4,通信网关29还被配置成提供与对于传感器31中的每一个查找由通信网关29维持的与例如用户装置10的连接并且随后遵循该连接所需的进行中连接(ongoingconnections)和定时信号有关的信息。蓝牙协议栈48被配置成向应用47提供信道图、访问标识符、下一信道和至下一信道的时间。蓝牙协议栈48被配置成将用于发送和接收事件的时间戳的定时信号输出至应用47和/或ble芯片组41的数字pin输出。通信网关29还包括定时同步模块44。定时同步模块44被配置成接受定时信号并且与车辆接口45一起工作以创建连接信息消息和其他通信的准确时间戳。

参照图5a和图5b,peps系统1设置在车辆30内,并且包括通信网关29和传感器31。如上所描述的,传感器31被配置成对由用户装置10经由通信链路50发送至通信网关29的ble信号的物理性质进行测量。传感器31可以测量例如ble信号的rssi和与通信链路50的到达角有关的数据。另外,传感器31可以被配置成确定ble信号的到达时间差、到达时间、到达角和/或往返行程飞行时间数据。然后,通信网关29和/或控制模块20使用ble信号的物理特性和/或数据可以确定用户装置10与车辆30之间的距离。

作为示例,响应于通信网关29经由通信链路50连接至用户装置10,通信网关29可以向传感器31提供与用户装置10发送的ble信号相对应的数据。响应于与通信网关29提供的ble信号相对应的数据匹配与传感器31从用户装置10获取的ble信号相对应的数据(例如,传感器31从通信网关29接收的ble通信包匹配传感器31从用户装置10接收的ble通信包),传感器31被配置成生成ble信号的rssi测量。

然后,传感器31可以经由车辆接口45向控制模块20提供rssi测量,该车辆接口45可以由lin总线实现。例如,尽管是通过有线(而不是无线)连接至控制模块20,但传感器31可以使用蓝牙通信包进行通信。此外,如果每个传感器31的第一链接密钥数据包的第一认证响应与第二链接密钥数据包的第二认证响应匹配,则传感器31可以向控制模块20提供rssi测量。以下参照图6更详细地描述第一认证响应、第二认证响应、第一链接密钥数据包和第二链接密钥数据包。响应于控制模块20从传感器31接收到rssi测量,控制模块20可以基于从传感器31接收的rssi测量来确定用户装置10的位置、用户装置10与车辆30之间的距离和/或用户装置10的轨迹。

基于用户装置10的位置、用户装置10与车辆30之间的距离和/或用户装置10的轨迹,控制模块20可以启用某些车辆功能,例如设置镜子位置、调节方向盘位置、调节驾驶员的座椅位置、修改空调控制设置、调节音频/媒体设置、解锁车辆的门、解锁车辆的行李箱、启用车辆的照明系统、启动车辆等。

然而,提供给控制模块20的rssi测量可能被未授权装置60篡改和/或操纵。作为示例并且如图5a所示,如果未授权装置60连接到(obd-ii)端口,则未授权装置60可以被配置成操纵车辆接口45的信号和/或将信号直接注入车辆接口45中,从而向用户提供启用/停用某些车辆功能的能力。

附加地或可替选地,并且如图5b所示,未授权装置60可以被配置成基于peps系统1的无线漏洞经由通信链路50操纵车辆接口45的信号和/或将信号直接注入到车辆接口45。作为示例,未授权装置60可以被配置成执行被动窃听、mitm攻击和身份跟踪攻击。作为另一示例,未授权装置60可以被配置成执行射频(rf)隔离攻击,如在由densointernationalamerica公司在2017年10月11日提交的美国专利申请第15/730,265号中详细描述的,美国专利申请的全部内容通过引用合并至本文中。

参照图6,示出了用于peps系统的每个传感器的多个链接密钥。如图6所示和如上所述,传感器31被配置成使用车辆接口45与控制模块20通信,该车辆接口45可以由lin总线实现。此外,为了防止来自未授权装置60的篡改和/或攻击,传感器31中的每一个被配置成使用对应的ble芯片组41生成第一链接密钥数据包,并且控制模块20被配置成生成第二链路密钥数据包,并且第二链路密钥数据包中的每一个与传感器31中的一个相关联。作为示例,传感器31a生成第一链接密钥数据包,并且控制模块20生成与传感器31a相关联的第二链接密钥数据包。如果第一链接密钥数据包的认证响应与第二链接密钥数据包的认证响应匹配,则控制模块20生成链接密钥70a。响应于生成链接密钥70a,传感器31a和控制模块20被配置成使用车辆接口45通信。第一链接密钥数据包、第二链接密钥数据包以及认证响应将在下面更详细地描述。

如果第一链接密钥数据包的认证响应与第二链接密钥数据包的认证响应不匹配,则控制模块20不生成链接密钥70a,并且因此,控制模块20不与传感器31a通信。此外,控制模块20可以报告未授权装置60正在尝试攻击peps系统1,如以下进一步详细描述的。

虽然上述实施方式描述了如果第一链接密钥数据包的认证响应匹配第二链接密钥数据包的认证响应,则生成链接密钥70a,但是也可以针对传感器31b至31f中的每一个执行认证响应匹配,以生成对应的链接密钥70b至70f(链接密钥70a至70f统称为链接密钥70)。

第一链接密钥数据包中的每一个可以包括第一预链接密钥,并且当对应的传感器经由车辆接口45电耦接至控制模块20且用户输入与传感器相对应的pin时,可以生成第一预链接密钥。作为示例,传感器31a的第一预链接密钥可以是响应于用户在传感器31a的接口上输入对应的pin或使用在用户装置10上执行的应用接口而生成的128位数,其中,应用被配置成使得能够在用户装置10与传感器31a之间进行通信。另外,第一链接密钥数据包还可以包括唯一地标识对应传感器的标识值。作为示例,传感器31a的标识值可以是唯一地标识传感器31a的48位地址。此外,对应的传感器的标识值可以被提供给控制模块20。

第二链接密钥数据包中的每一个可以包括第二预链接密钥,并且当传感器经由车辆接口45电耦接至控制模块20时可以生成第二预链接密钥。作为示例,控制模块20的第二预链接密钥可以是128位的数,其基于由控制模块20的制造商和/或开发商分配给控制模块20的值。每个第二链接密钥数据包也可以包括随机口令值,该随机口令值在对应的传感器经由车辆接口45耦接至控制模块20时生成。例如,随机口令值可以由控制模块20生成的随机32位数表示。此外,每个随机口令值被提供给对应的传感器。

传感器31中的每一个被配置成基于对应的随机口令值和对应的第一预链接密钥生成第一认证响应。另外,控制模块20被配置成基于对应传感器的标识值和第二预链接密钥生成对应的第二认证响应。作为示例,传感器31和控制模块20可以执行密码操作例如口令-响应认证操作以生成第一认证响应和对应的第二认证响应。

如上所述,如果第一认证响应和对应的第二认证响应匹配,则控制模块20生成对应的链接密钥。响应于生成链接密钥,对应的传感器和控制模块20被配置成使用车辆接口45通信。否则,如果第一认证响应和对应的第二认证响应不匹配,则控制模块20不生成对应的链接密钥,从而防止对应的传感器和控制模块20使用车辆接口45进行通信。

附加地或可替选地,如果第一认证响应和对应的第二认证响应不匹配,并且第一认证响应指示其不是由传感器31中的一个生成(例如,标识值指示其是未授权装置60),则控制模块20可以被配置成确定未授权装置60正在尝试经由车辆接口45连接至控制模块20。这样,控制模块20可以禁止未授权装置60与控制模块20之间的通信,并且将未授权装置60的存在报告给例如与车辆30的用户相关联的用户装置10。

参照图7,示出了用于生成链接密钥的示例控制算法700的流程图。当例如用户将传感器电耦接至控制模块20时,控制算法700在704处开始。在708处,控制算法700使用传感器生成第一预链接密钥。在712处,控制算法700使用控制模块20生成对应的第二预链接密钥。在716处,控制算法700使用传感器将标识值发送至控制模块20。在720处,控制算法700使用控制模块20将随机口令值发送至传感器。在724处,控制算法700使用传感器基于第一预链接密钥和随机口令值生成第一认证响应。在728处,控制算法700使用控制模块20基于第二预链接密钥和标识值生成对应的第二认证响应。

在732处,控制算法700使用控制模块20确定第一认证响应是否匹配第二认证值。如果是,则控制算法700进行到736;否则,控制算法700进行至740。在736处,控制算法700使得能够经由车辆接口45在传感器与控制模块20之间通信,然后进行到752。在740处,控制算法700禁止经由车辆接口45在传感器与控制模块20之间通信,然后进行到744。在744处,控制算法700确定第一认证响应是否对应于传感器。如果是,则控制算法700进行到752;否则,控制算法700进行至748。在748处,控制算法700将传感器标记为未授权装置60,并将未授权装置60的存在报告给例如与车辆30的用户相关联的用户装置10。在752处,控制算法700结束。

参照图8,示出了用于安装新传感器的示例控制算法800的流程图。当例如用户获得新的、未配对的传感器时,控制算法800在804处开始。在808处,控制算法800确定控制模块20是否电耦接至未配对的传感器。如果是,则控制算法800进行到812;否则,控制算法800保持在808,直到控制模块20电耦接至未配对的传感器。在812处,控制算法800使用控制模块20将对应于未配对的传感器的存在的消息发送至用户装置10。

在816处,控制算法800使用用户装置10的用户界面显示用于将传感器与控制模块20配对的指令。作为示例,用户界面可以显示用于输入与未配对的传感器相对应的pin的图形用户界面元素。作为另一个示例,用户界面可以显示指示新传感器已经电耦接至控制模块20的消息,并且用户界面可以包括确认用户授权安装新传感器的图形用户界面元素。具体地,为了确认用户授权安装新传感器,图形用户界面元件被配置成响应于用户选择而指示控制模块20生成链接密钥。

在820处,控制算法800确定用户装置10是否接收到与指示控制模块20生成链接密钥相对应的输入(例如,用户装置10是否接收到来自用户的正确pin)。如果是,则控制算法进行到824,生成链接密钥并且使得能够在传感器与控制模块20之间进行通信,如图7中所描述的。否则,控制算法800进行到828,并且向用户装置10发送指示存在潜在的未授权装置60的消息。控制算法800然后在832处结束。

前面的描述本质上仅为说明性的,而决不意在限制本公开内容、其应用或用途。本公开内容的广泛教导可以以各种形式实现。因此,尽管本公开内容包括特定示例,但是本公开内容的真实范围不应该因此受到限制,因为在研究附图、说明书和所附权利要求书时其他修改将变得明显。应该理解的是,在不改变本公开内容的原理的情况下,方法内的一个或更多个步骤可以以不同的顺序(或同时)执行。此外,尽管上面将每个实施方式描述为具有某些特征,但是关于本公开内容的任何实施方式描述的那些特征中的任何一个或更多个可以在任何其他实施方式的特征中实现和/或与其组合,即使没有明确描述该组合。换句话说,所描述的实施方式并非互相排斥的,并且一个或更多个实施方式的彼此置换保留在本公开内容的范围内。

使用各种术语来描述元件之间(例如,在模块、电路元件、半导体层等之间)的空间关系和功能关系,所述术语包括“连接”、“接合”、“耦接”、“相邻”、“邻近”、“在顶部”、“上方”、“下方”以及“设置”。除非明确描述为“直接”,否则当在上述公开内容中描述第一元件和第二元件之间的关系时,该关系可以是在第一元件与第二元件之间不存在其他介入元件的直接关系,但是也可以是在第一元件与第二元件之间存在(空间上或功能上)一个或更多个介入元件的间接关系。如本文中所使用的,短语a、b和c中的至少一个应该被解释为使用非排他性逻辑“或”表示的逻辑(a或b或c),并且不应该被解释为表示“a中的至少一个、b中的至少一个以及c中的至少一个”。

在附图中,如箭头所指示的箭头的方向通常示出了所关注的要进行说明的信息(例如数据或指令)的流动。例如,当元件a和元件b交换各种信息,但是从元件a发送至元件b的信息与图示相关时,箭头可以从元件a指向元件b。该单向箭头不暗示没有其他信息从元件b发送至元件a。此外,对于从元素a发送到元素b的信息,元素b可以向元素a发送对该信息的请求或者发送对该信息的接收确认。

在本申请中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”来代替。术语“模块”可以指、是以下的一部分或包括:专用集成电路(asic);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码的处理器电路(共享、专用或组);存储由处理器电路执行的代码的存储器电路(共享、专用或组);提供所描述功能的其他合适的硬件组件;或者上述一些或全部的组合,例如在片上系统中。

模块可以包括一个或更多个接口电路。在一些示例中,接口电路可以包括连接至局域网(lan)、因特网、广域网(wan)或其组合的有线或无线接口。本公开内容的任意给定模块的功能可以分布在经由接口电路连接的多个模块之中。例如,多个模块可以允许负载平衡。在另一示例中,服务器(也称为远程或云)模块可以代表客户端模块来实现一些功能。

上文使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类、数据结构和/或对象。术语“共享处理器电路”包含执行来自多个模块中的一些或全部代码的单处理器电路。术语“组处理器电路”包括结合附加的处理器电路执行来自一个或更多个模块的一些或全部代码的处理器电路。对多个处理器电路的提及包括分立晶片上的多个处理器电路、单个晶片上的多个处理器电路、单个处理器电路的多个核、单个处理器电路的多个线程或者以上的组合。术语“共享存储器电路”包含存储来自多个模块的一些或全部代码的单个存储器电路。术语“组存储器电路”包含结合附加存储器存储来自一个或更多个模块的一些或全部代码的存储器电路。

术语“存储器电路”是术语“计算机可读介质”的子集。如本文中所使用的,术语“计算机可读介质”不包含通过介质(例如在载波上)传播的暂态的电信号或电磁信号,因此术语“计算机可读介质”可以被认为是有形的和非暂态的。非暂态有形计算机可读介质的非限制性示例是非易失性存储器电路(例如闪速存储器电路、可擦除可编程只读存储器电路或掩模型只读存储器电路)、易失性存储器电路(例如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如模拟或数字磁带或硬盘驱动器)和光存储介质(例如cd、dvd或蓝光光盘)。

本申请中描述的设备和方法可以由通过配置通用计算机以执行体现在计算机程序中的一个或更多个特定功能而创建的专用计算机来部分地或完全地实现。上文所述的功能框和流程图元素充当软件规范,该软件规范可以通过熟练的技术员或程序员的常规工作而编译成计算机程序。

计算机程序包括存储在至少一个非暂态、有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包含与专用计算机的硬件进行交互的基本输入/输出系统(bios)、与专用计算机的特定装置交互的装置驱动器、一个或更多个操作系统、用户应用程序、后台服务、后台应用程序等。

计算机程序可以包括:(i)要解析的描述性文本,例如html(超文本标记语言)或xml(可扩展标记语言),(ii)汇编代码,(iii)由编译器从源代码生成的目标代码,(iv)用于由解释器执行的源代码,(v)用于由即时编译器编译和执行的源代码等。仅作为示例,可以使用根据包括以下语言的语法来编写源代码:c、c++、c#、objectivec、swift、haskell、go、sql、r、lisp、java(注册商标)、fortran、perl、pascal、curl、ocaml、javascript(注册商标)、html5(第五版超文本标记语言)、ada、asp(动态服务器网页)、php(php:超文本预处理器)、scala、eiffel、smalltalk、erlang、ruby、flash(注册商标)、visualbasis(注册商标)、lua、matlab、simulink以及python(注册商标)。

出于说明和描述的目的已经提供了对实施方式的前述描述。这些描述并不旨在是穷举的或限制本公开内容。特定实施方式的各个元件或特征通常不限于该特定实施方式,而是在适用的情况下是可互换的并且可以用于所选择的实施方式中,即使没有具体示出或描述也是如此。特定实施方式的各个元件或特征在许多方面也可以变化。这样的变型不被视为是脱离本公开内容,并且所有这样的修改旨在被包括在本公开内容的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1