统一的集中式网络堆栈的制作方法

文档序号:18601753发布日期:2019-09-03 22:43阅读:190来源:国知局
统一的集中式网络堆栈的制作方法

本申请要求于2017年3月17日提交的美国临时专利申请号62/472,643的优先权,该申请的全部内容以引用方式并入本文。

本公开涉及电子设备联网,并且更具体地涉及统一的集中式网络堆栈。



背景技术:

电子设备可使用多种通信标准或技术在多种拓扑中联网。在网络中,电子设备必须供应有多种设置、软件和配置,以便与其他联网电子设备通信。因此,每个电子设备取决于其他电子设备的设置、软件和配置,以便在网络上成功地通信。

网络中的不同电子设备可由不同的供应商提供。此外,网络中此类电子设备上的软件可由不同的供应商提供。此外,电子设备上的软件可以是不同的版本或者具有不同的设置或其他已启用的配置。

网络堆栈可包括被配置为解译通信协议的软件。根据由通信协议限定的层,网络堆栈内可存在各种软件层。网络堆栈通常可驻留在给定的电子设备中。可加载网络堆栈,其中对于给定协议层进行通信所需的软件可被加载到存储器中以供处理器执行。网络堆栈可被绑定,其中软件协议可根据电子设备的标识符或硬件诸如网络接口卡(nic)来设置。

附图说明

图1是根据本公开的实施方案的用于集中式网络管理的示例系统100的图示。

图2示出了根据本公开的实施方案的系统100以及系统100的操作的更详细视图。



技术实现要素:

本公开的实施方案包括制品。该制品包括具有指令的非暂态机器可读介质,当在处理器上加载并执行该指令时,该指令将处理器配置为识别第一远程设备且配置第一远程设备的联网以及为第一远程设备托管网络堆栈。结合上述实施方案中的任一者,该介质还可包括用于基于第一远程设备的规格和标识符来配置第一远程设备的联网的指令。结合上述实施方案中的任一者,该介质还可包括用于基于规格和唯一识别第一远程设备的第一远程设备所报告的标识符来配置第一远程设备的联网的指令。结合上述实施方案中的任一者,该介质还可包括用于基于规格和由识别第一远程设备的型号的第一远程设备所报告的标识符来配置第一远程设备的联网的指令。结合上述实施方案中的任一者,该介质还可包括用于识别第二远程设备、配置第二远程设备的联网、为第二远程设备托管网络堆栈以及在第一远程设备和第二远程设备之间发起读写请求的指令。结合上述实施方案中的任一者,该介质还可包括用于通过在第一远程设备的网络接口卡上执行脚本来配置第一远程设备的联网的指令。结合上述实施方案中的任一者,该介质还可包括用于选择要执行的脚本以基于第一远程设备的型号来配置第一远程设备的联网的指令。结合上述实施方案中的任一者,该介质还可包括用于选择要执行的脚本以基于第一远程设备是否包括处理器来配置第一远程设备的联网的指令。结合上述实施方案中的任一者,第一远程设备可不包括通用处理器。结合上述实施方案中的任一者,第一远程设备可不包括网络堆栈。

本公开的实施方案可包括根据上述实施方案中任一者所述的处理器和制品。

本公开的实施方案可包括由执行来自上述实施方案的指令中的任一者的处理器执行的方法。

具体实施方式

图1是根据本公开的实施方案的用于集中式网络管理的示例系统100的图示。

虽然系统100中示出了特定数量的元件,但系统100可包括任何合适数量和种类的元件。系统100可包括根节点102和一个或多个从节点,诸如从节点114和从节点124。每个节点102、114、124可包括合适的硬件和软件配置。例如,每个节点102、114、124可包括相应的应用程序硬件104、116、134;相应的中央处理单元(cpu)106、118;相应的驱动软件128、122;相应的应用程序112、120;和相应的网络控制器(nwc)126、132、136。如图1所示,从节点114和从节点124可以不同的方式来实现。例如,从节点124可不包括cpu和驱动程序,而是仅包括与其他节点通信的应用程序硬件134。每个元件的cpu可以任何合适的方式实现,诸如通过处理器、微控制器、内核或其他合适的机构来实现。每个元件的驱动软件可包括精简网络软件,因为网络堆栈可完全地或部分地卸载到根节点102。应用程序硬件104可包括专用处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、集成电路或其他机构,该其他机构包括被配置为执行可利用联网的特定任务的电路。此外,应用程序112、120可包括在可利用联网的相应cpu上执行的软件。此类应用程序可使用另外的软件诸如驱动程序128、122来访问相应的nwc。可通过电路和指令的任何合适的组合来实现nwc126、132、136,以用于在处理器(诸如nwc内的处理器)上执行。可将nwc126、132、136配置为通过网络130连接到其他节点。nwc126、132、136可包括网络接口卡(nic)或智能nic(inic)。网络130可包括任何合适的网络,诸如内联网、互联网、以太网、无线通信网络、或通过合适的协议和拓扑实现的其他网络。例如,网络130可以允许以太网、can、tcp/ip、mostnetservices功能块(fblocks)或用户特定的标准和协议。

根节点102可被配置为执行网络管理。网络管理可通过软件诸如集中式网络堆栈(cns)110在根节点102处执行。cns110可通过软件、例程、功能、库、脚本、应用程序或其他代码的任何合适的组合来实现,以由处理器(诸如cpu106)来执行。

在一个实施方案中,cns110可被配置为识别系统100中的网络参与者。该网络参与者可在各种从节点114、124中。在另一个实施方案中,cns110可被配置为执行所有网络节点(诸如从节点114、124)的地址分配。在另一个实施方案中,cns110可被配置为在网络的元件之间执行服务质量信道的分配。在另一个实施方案中,cns110可被配置为在网络中的任何两个点之间分配带宽控制。在另一个实施方案中,cns110可被操作为配置网络130的nwc126、132、136的应用程序界面。在另一个实施方案中,cns110可被操作以配置网络130的节点的应用硬件104、应用硬件116、应用硬件134。可通过带内连接或带外连接诸如通用输入输出(gpio)、i2c或串行外围设备接口(spi)总线执行来自cns110的节点的配置。在一个实施方案中,cns110可执行网络管理以从故障状态恢复。一旦被供应,网络130的节点可通过对等联网协议而彼此进行通信。

每个从节点114、124可根据系统描述符108来配置或限定。系统描述符108可被写入或生成,并且可包括编码每个此类节点的目标状态,诸如以可扩展标记语言(xml)。系统描述符108可由cns110处理,cns110可将设置应用于从节点114、124。如系统描述符108中所述,由cns110应用的设置可完全地或部分地替换从节点114、124的网络配置。在一个实施方案中,系统描述符108可启用节点(诸如从节点124)的联网,所述节点不包括本地多用途微控制器或本地多用途或通用处理器。系统描述符108的内容可由cns110通过其相应的nwc将设置应用于从节点114、124来实现。

在图1中,示出了单个根节点102。根节点102可在例如服务器、计算机、头部单元或其他合适的电子设备中实现。示出了两个从节点114、124。从节点114可在包括通用或多用途微控制器或处理器的电子设备中实现。这些可包括例如媒体播放器、智能电话、计算机或汽车头部单元。从节点124可在不包括通用或多用途微控制器或处理器(诸如麦克风、头戴式耳机放大器、电源适配器或传感器)的电子设备中实现。各种从节点还可包括屏幕、触摸输入、拨号、显示器和相机。在根节点102上操作的cns110可以是统一的集中式网络管理堆栈。

cns110可接收或读取系统描述符108。系统描述符108可存储在存储器中,由用户输入,或从另一实体接收并且在任何合适的数据结构、文件或其他存储机构中实现。系统描述符108可描述所有受支持节点的列表、此类节点中的每个节点的目标配置、音频视觉连接和设置、要在所发现的节点之间建立的通信信道的列表、以及任何其他合适的信息。所述信道可被定义为特定节点之间、从节点和根节点之间、或通常位置。信道可根据通信协议或介质诸如gpio、i2c或spi来定义。

cns110可被配置为通过驱动程序128与每个相应节点的nwc126、132、136进行通信。使用驱动程序128的通信可使用例如usb、i2c、spi或mlb来执行。根据系统描述符108的内容,可将每个本地nwc126、132、136设置为包括网络接口和应用程序界面。应用程序接口可根据所使用的协议来定义,诸如i2c、usb、mlb、spi、i2s或gpio。

当与给定的从节点诸如从节点114、124建立网络访问时,cns110可发现网络中的设备。在相应的nwc中的每个从节点中存储的密钥、签名或其他标识符可被读取并用于通信。所存储的标识符可用于将节点彼此区分。所存储的标识符可在设备制造期间或在另一合适的配置过程中安装。随后,可通过cns110为每个节点分配网络地址。每个节点的网络接口可由cns110设置。可设置相应的nwc的应用界面。每个节点的硬件应用程序可利用i2c、gpio或spi连接至nwc。每个节点中的硬件应用程序可使用这些已建立的连接在各种从节点114、124中以及与根节点102彼此通信。硬件应用程序104、116、132可在例如普通硬件或裸硬件中工作,而无需通用处理器或微控制器,诸如在第二从节点124中。可设置相应的nwc126、132、136以确保到达nwc的流数据被应用于与应用程序硬件或应用程序软件112、120的正确接口。在nwc设置期间,网络130中的路由、多路复用或其他连接可利用相应设备的对应的应用程序硬件104、116、134来进行。此外,可设置相应设备上的应用程序软件112、120。在一些情况下,相应设备上的芯片可消耗来自nwc的流数据。芯片可能需要引导、初始化或参数才能正确设置操作。例如,如果应用程序硬件134中的放大器在没有通用处理器或微控制器的从节点124上实现,则该放大器可能需要用于选择单声道或立体声模式、设置音量或其他参数的参数。可能需要设置nwc136,但可根据各个应用程序和设备的需要将应用程序硬件134的设置单独定义为需要的或可选的。

与其中没有通用处理器或微控制器的设备使用主机控制器诸如usb、i2c或spi连接到其他节点的系统相比,系统100可操作。所述设备通常无法与其他元件以对等方式进行网络连接,而是只能通过主机控制器与其他设备进行通信。此外,与以分散方式配置的大多数网络相比,系统100可操作。此外,与其中从节点需要单独的软件堆栈和通用控制器的网络相比,系统100可操作。结果可包括对现有网络的技术改进,其中不具有通用处理器的设备能够以对等方式与其他元件通信,网络元件可被集中地配置并因此被一致地配置为可发生通信,并且网络元件可能不需要单独的软件堆栈和通用控制器,这在处理和存储装置方面可能很昂贵。

在根节点102中,cns110和应用程序软件112可使用驱动程序128与nwc126通信。类似地,在从节点114中,应用程序软件120可使用驱动程序122与nwc132通信。然而,因为从节点124不包括cpu,所以应用程序硬件134的功能可通过nwc136进行通信。在其他节点中,应用程序硬件116可通过nwc132进行通信。应用程序硬件和nwc之间的通信可利用主机控制器技术诸如usb、i2c或spi进行。nwc136、132、126之间的通信可根据由cns110建立和控制的对等网络协议和堆栈来进行。

cns110、应用程序112、驱动程序软件128、应用程序120和驱动程序软件122可通过用于由处理器(诸如相应的cpu106、118)执行的指令来实现,该指令在加载和执行时将处理器配置为执行本公开的功能性。指令可根据需要驻留在一个或多个存储器上以存储或加载用于执行的指令。一个或多个处理器或处理器内核可执行指令。指令可以任何合适的脚本、文件、可执行文件、库、应用程序、功能、应用编程接口或其组合来实现。cns110可使用状态机监测来自各种从节点的请求或来自用户的输入来实现。

图2示出了根据本公开的实施方案的系统100和系统100的操作的更详细视图。在图2的示例中,根节点102可以是管理汽车系统中的节点。该节点可包括从节点114(显示为114a和114b)的两个实例和从节点124的实例(显示为124a)。根节点102可为用于信息娱乐和车辆辅助系统控制的头部单元。从节点114a和从节点114b可包括usb主机、立体系统或任何其他合适的机构。从节点114a和从节点114b可包括cpu,而从节点124a可不包括cpu。从节点124a可以是例如可与系统100的其他部件一起使用的麦克风。

cns110可配置其自身的根节点102的nwc126。例如,根节点102在其nwc126中可具有签名为311的inic。cns110可将网络地址200分配给根节点102。

cns110可将网络地址分配给其他节点。cns110可将网络地址210分配给从节点114a,将地址220分配给从节点114b,并且将地址500分配给从节点124a。从节点114a可具有来自其nwc132中的inic的签名324。如果从节点114b与设备的品牌和型号相同,则从节点114b可具有相同的签名324。在一些实施方案中,每个从节点的签名可以是不同的,即使两个此类从节点具有相同的设备品牌和型号。

cns110可根据从节点内的标识符来配置从节点114a、114b、124a。例如,cns110可使用标识符324访问从节点114a。基于标识符324,cns110可访问系统描述符108,其中指定此类设备将被配置为具有特定配置例程。这可表示为“execute_aux_script”并且可特定于由从节点114a实现的设备的类型。此外,此类脚本可用于能在cpu上运行的应用程序软件、驱动程序软件或其他元件。“aux_script”可用于配置包括mcu的节点。cns110可执行“aux_script”以配置从节点114a并分配网络地址。类似地,cns110可执行“aux_script”以配置从节点114b的应用程序和nwc。这两个远程节点可以是相同或相似类型的汽车音频可视设备。

cns110可访问从节点124a并确定从节点124a具有标识符375。如上所述,从节点124a可包括没有微控制器的电子设备,诸如麦克风(仅作为示例)。基于远程节点标识为375,系统描述符108可规定使用在示例中指定为“micro_script”的特定脚本来配置远程节点。虽然使用“aux_script”来配置包括微控制器或处理器的远程节点,但“micro_script”可用于配置不包括微控制器或处理器的远程节点。cns110可执行“micro_script”以配置从节点124a的nwc136。在设置期间,cns110可将网络地址500分配给从节点124a。可为节点建立音频/视觉(av)连接。

在一个实施方案中,cns110可被配置为执行从节点114、124的网络配置,而无论从节点是否包括处理器。因此,cns110可被配置为代表相应的从节点执行脚本,诸如“aux_script”或“micro_script”。cns110可使用所执行的脚本的操作来远程控制相应的从节点。cns110可将所执行的脚本的操作应用于所寻址的目标,无论是本地的还是远程的。cns110可通过芯片间通信信道或控制信道连接至从节点114、124。此类信道可以是带外信道。

在每个远程节点处,由脚本产生的命令可由相应的nwc接收。相应的nwc可根据所接收的脚本对其自身进行配置。如果没有微控制器或处理器,则nwc可将i2c和gpio消息传递至其本地硬件。

此外,cns110可向每个节点发出带宽分配或服务质量标准。通过向节点重新发出命令,可动态地改变数据连接、带宽分配、音频视频连接或其他参数。例如,在附接新设备时或设备未从网络130附接时,可执行远程节点的重新配置。

在通过控制信道进行配置之后,可通过网络发送消息来执行后续通信。例如,调节放大器的音量或选择媒体轨道可涉及此类后续消息。可以通过控制信道,在其他信道(诸如i2c)上或在配置期间建立的以太网信道上发送这些消息。决定哪个信道发送消息可取决于消息的带宽要求,因为不同的信道具有不同的带宽容量。cns110可建立要用于不同种类通信的信道,并且可根据服务质量(qos)要求执行带宽限制。在诸如以太网的信道发生故障的情况下,可使用诸如控制信道的其他信道来识别此类错误。可使用充当备份信道的此类其他信道来诊断故障。

由cns110托管的网络堆栈可被配置为本地地或远程地触发对根节点102和从节点114、124的元素的消息。通过cns110可适当获得或设置nwc126、132、136的端口引脚的状态。本地到从节点114、124,此类端口引脚的状态可由从节点114、124处的电路、按钮或其他人机界面设置。因此,在系统中的其他位置信息获取请求可由没有通用处理器的从节点124生成。该请求可由cns110在nwc136的端口处获得,随后进行处理。该请求可以是例如发送或接收数据、建立与另一个元件的连接或任何其他合适的任务的请求。

cns110可被配置为生成和控制网络130中的所有连接。cns110可充当从单元114a、114b、124a的遥控器。例如,cns110可在由从单元114a实现的头部单元和由从单元124a实现的麦克风之间建立连接。从单元124a的麦克风可不包括多媒体卡接口。可通过cns110供应nwc136建立通信。在此类示例中,cns110的i2c总线主控器可管理对麦克风的读写。可将要传输到从单元124a和从从单元124a传输的数据和命令卸载到cns110。因此,根节点102中的现有处理能力可用于运行用于远程控制节点的控制软件。集中控制根节点102中的软件可简化开发过程,因为只需要开发和部署一个软件实例。因此,只有根节点102中的cns110软件堆栈需要联网知识。系统100的软件开发者可能不需要对节点中的多个需求进行编程。相反,开发者可能只需要配置系统描述符108。系统100的架构和拓扑可有利于远程设备的系统分区、电路板空间和功率耗散。可以在远程节点上没有附加存储器和处理能力的情况下开发节点。

尽管上文已描述了示例实施方案,但在不脱离这些实施方案的实质和范围的情况下,可由本公开进行其他变型和实施方案。

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