本发明涉及用于处理面向服务的中间件互联网协议(Service Oriented Middleware over Internet Protocol,SOME/IP)流的方法和装置,更具体地,涉及用于通过与音频视频桥接(Audio Video Bridging,AVB)技术交互工作(interworking)来处理SOME/IP流的方法和装置,其中,在车载网络中的SOME/IP服务处理过程期间,流的传输与AVB功能交互工作,以使SOME/IP服务流的服务质量(Quality of Service,QoS)可得到保证。
背景技术:
IT最近的快速发展极大地影响了汽车工业,并且各种IT技术被应用到车辆。
因此,为了支持各种功能,车载通信网络变得更加复杂,并且应用各种通信方案以在车辆控制器之间执行有效的通信。
最近,控制器局域网(CAN)和本地互连网络(LIN)主要用作当前被应用到车辆的总线通信系统。
另外,随着车辆中所加载的控制器数目的增多以及控制器之间交换的信息量的增加,要求更宽的带宽和更稳定的通信环境,因此诸如FlexRay和面向媒体的系统传输(Media Oriented System Transport,MOST)的通信接口被用于车载通信中。
此外,比CAN 100快100倍或更多倍的以太网通信正作为新的车载通信方法吸引着注意。
车载以太网有望被用作批量生产的车辆中的系统网络,且通过非屏蔽双绞线(Unshielded Twisted Pair,UTP)连接以100MBit/s的速度在车辆中经济地传输摄像机图像是可能的。该技术被称为BroadR-Reach,并通过开放联盟SIG协会(OPEN Alliance SIG consortium)标准化。
车载网络已经变成基于以太网通信,并且本领域的目标为,到2015年,使用车载网络作为用于信息娱乐和驱动支持系统的网络。一些OEM期望以太网从2018年开始将为主干网。
BMW已经开发了名为“面向服务的中间件互联网协议(SOME/IP)”的串行化协议。SOME/IP用于通过服务发现(service discovery,SD)协议确认车辆中的电子控制单元(ECU)的服务是否可用。另外,SOME/IP用于发现服务并在ECU中注册事件。
SOME/IP与音频视频桥接(AVB)被一起定义在AUTOSAR系统架构上,但未定义传输将通过SOME/IP服务(例如,前摄像机和后摄像机以及导航系统)传输的层2流同时通过AVB技术保证QoS的过程。根据当前定义的SOME/IP,只能通过传输控制协议(Transmission Control Protocol,TCP)或用户数据报协议(User Datagram Protocol,UDP)才可处理将被传输的流。
技术实现要素:
因此,本发明针对通过与AVB技术交互工作来处理SOME/IP流的方法和装置,其基本上避免了由于现有技术的限制和缺陷所引起的一个或多个问题。
本发明的目的在于提供通过与AVB技术交互工作来处理SOME/IP流的方法和装置。
本发明的另一个目的在于提供通过与AVB技术交互工作来处理SOME/IP流的方法和装置,其中在车载网络中的SOME/IP服务处理过程期间,层2流的传输与AVB功能交互工作,以使SOME/IP服务流的QoS可得到保证。
本发明另外的优点、目的和特征在随后的说明书中部分给出,并且在检视以下内容后,这些优点、目的和特征对本领域技术人员将显而易见,或者可从本发明的实践学习。本发明的目标和其他优点可通过说明书、权利要求书以及附图中具体指出的结构来实现和获得。
为了实现这些目的和其他优点,根据本发明的意图,如本文所实施和广泛描述的,通过在服务器中与音频视频桥接(Audio Video Bridging,AVB)交互工作来处理面向服务的中间件互联网协议(Service Oriented Middleware over Internet Protocol,SOME/IP)流的方法包括:通过SOME/IP服务发现过程来确定SOME/IP流的传输方案,以及根据所确定的传输方案生成InitialEvent消息,并且将所生成的InitialEvent消息传输到客户端。如果所确定的传输方案为L2-帧,则通过AVB的层2传输SOME/IP流。
在本发明的另一个方面,通过在与服务器交互工作的客户端中与音频视频桥接(AVB)交互工作来处理面向服务的中间件互联网协议(SOME/IP)流的方法包括:通过SOME/IP服务发现过程来确定SOME/IP流的传输方案,以及从服务器接收对应于所确定的传输方案的InitialEvent消息。如果所确定的传输方案为L2-帧,则通过AVB的层2传输SOME/IP流。
应理解的是,本发明的上述概括描述和以下详细描述两者为示例性和说明性的,并且旨在提供如所要求保护的本发明的进一步说明。
附图说明
本申请所包括的用于提供本发明的进一步理解并被并入本申请构成本申请一部分的附图示出了本发明的实施例,并与说明书一起用于解释本发明的原理。在附图中:
图1为示出传统SOME/IP消息格式的视图;
图2为示出传统AUTOSAR OS软件堆栈(software stacks)的视图;
图3为示出传统SOME/IP服务供应过程的流程图;
图4为示出IEEE 802.1Qat中传统资源预留过程的视图;
图5为示出在IEEE 802.1Qat中定义的传统预留消息的结构的视图;
图6为示出根据本发明的一个实施例,用于与AVB功能交互工作的SOME/IP消息格式的视图;
图7为示出根据本发明的一个实施例,用于为SOME/IP流与AVB技术交互工作的方法的视图;
图8为示出根据本发明的一个实施例,通过与AVB功能交互工作供应SOME/IP流的过程的流程图;以及
图9为示出根据本发明的一个实施例,通过与AVB功能交互工作供应SOME/IP流的过程的流程图。
具体实施方式
现在将详细参考本发明的优选实施例,其中在附图中示出该优选实施例的示例。本说明书下面所使用的元件的后缀“模块”和“单元”仅出于易起草说明书的考虑而一起给出或使用,不具有区分的意义或功能。
下文中,尽管本发明的一个实施例将所有元件组合示出,但本发明的实施例不局限于此。也就是说,可在本发明的范围内选择性地组合所有元件中的一个或多个。进一步地,可通过独立的硬件分别实施所有元件,或者元件中的一些可被选择性地组合并因此通过具有程序模块的计算机程序实施,该程序模块执行多个硬件中的组合的元件的功能。本领域技术人员可以容易地推断组成计算机程序的代码和代码片段。该计算机程序存储在计算机可读存储介质中,并且通过计算机读取和执行,因此能够实施本发明的实施例。计算机程序的存储媒介可包括磁记录介质、光学记录介质、载波介质等等。
进一步地,应理解的是,本说明书中的术语“包括”、“组成”或“具有”是指可包括相应元件,并且可进一步包括除该元件之外的其他元件。应理解的是,包括技术或科学术语的所有术语具有如本领域技术人员所通常理解的相同的意义。通用术语,诸如词典中所定义的术语,可被解释为具有与本领域中所使用的意义一致的意义,并且可不被解释为具有理想的或过于正式的意义。
进一步地,在本发明的元件的描述中,可使用术语“第一”、“第二”、“A”、“B”、“(a)”、“(b)”等等。这些术语仅用于区分元件,并且不用这些术语限制相应元件的特性、顺序或次序。如果指明元件“连接到”、“组合有”或“耦合有”另一个元件,则应理解的是,前者可直接连接到或组合有后者,或者可在两个元件间插入其他元件。
图1为示出传统SOME/IP消息格式的视图。
SOME/IP为车辆音频视频导航(Audio Video Navigation,AVN)系统和电子控制单元(ECU)之间的以太网通信协议,并通过TCP/IP的服务器/客户端处理来传输数据。
在SOME/IP中,可通过服务发现(SD)协议确认车辆中的服务是否可用。另外,SOME/IP可用于服务发现和ECU中的事件注册。可在服务发现中确定何种传输协议用于传输、接收和处理数据。例如,可使用的传输协议可包括传输控制协议(TCP)和用户数据报协议(UDP)。
图1示出SOME/IP消息的结构。服务器传输各种各样的服务,其中可通过服务器(例如,前摄像机和后摄像机以及导航系统)经服务ID将所述服务提供给客户端,并且要求服务的客户端通过服务请求注册实例ID(instance ID),并从而接收所期望的服务。
图2为示出传统AUTOSAR OS软件堆栈的视图。
更详细地,图2示出AUTOSAR OS上的SOME/IP和音频视频桥接(AVB)中所需的软件的配置,其按照OSI层分割。
通常,在AUTOSAR系统的情况下,服务器可识别将通过SD经由服务发现接收相应服务的客户端,并通过TCP和UDP将相应的服务流传输到所识别的客户端。
然而,最近,当通过SOME/IP的SD发现服务并随后传输服务时,SOME/IP在不与AVB交互工作的情况下单独地操作。另外,尽管定义了保证QoS的AVB,但并未在标准中明确地定义用于使AVB与SOME/IP交互工作以便应用到实际系统的方法。
图3为示出传统SOME/IP服务供应过程的流程图。
在服务发现(SD)过程S320中,服务器310传输OfferService(提供服务)消息,其包括指示各种各样的服务的服务ID,其中可使用组播方案(multicast scheme)通过服务器310将服务提供到客户端350(操作S321)。
此后,客户端350确认包括在OfferService消息中的服务ID,并且如果存在客户端350所需的服务,则将包括客户端350的IP地址和端口号的SubscribeEventgroup(订阅事件组)消息传输到服务器310(操作S323)。
服务器310响应于SubscribeEventgroup消息,使用单播方案将SubscribeEventgroupACK(订阅事件组ACK)消息传输到客户端350(操作S325)。
此后,服务器310可在事件供应过程330中通过UDP将大量服务 流提供到客户端350。
在事件供应过程330中,服务器310将InitialEvent(初始化事件)消息传输到客户端350,并然后每当事件发生时,将Event/Notification(事件/通知)消息传输到客户端350(操作S331到S335)。传输InitialEvents消息和Event/Notification消息时所使用的传输协议可为UDP,如图3中示例性地示出。
如果客户端350不再要求向服务器310请求的服务,则客户端350可传输StopSubscribeEventgroup(停止订阅事件组)消息到服务器310以停止服务流的传输(操作S337)。
图4为示出IEEE 802.1Qat中的传统资源预留过程的视图。
在AVB技术当中,IEEE 802.1Qat是关于多流预留协议(Multiple Stream Reservation Protocol,MSRP)的标准,用以保证以太网环境中实时流量的QoS,并定义了用于提供端到端,例如网桥/交换机和终端之间,QoS得到保证的流的资源预留方法的详细规范。具体地,MSRP在OSI模型中定义了层2(数据链路层)中流式传送的概念。在IEEE802.1Qat中,传输资源或流的终端被定义为发话者(talker)(源节点(source node)),希望接收源或流的终端被定义为收听者(listener),并且发话者和收听者使用信令(signaling)(广告(advertising)和就绪(ready))消息执行资源预留过程。
图4示出使用信令(广告和就绪)消息进行资源预留的示例。用于资源预留的广告和准备消息包括诸如用于识别特定流的流ID、对所有帧的VLAN ID分类的数据帧优先级、用于带宽竞争的等级(Rank)以及指示服务的大小的流量规格(Traffic Specification,Tspec)的信息。等级指示相应流的重要性,例如诸如911电话和安全公告的流的重要性可被设置为高于其他一般流的重要性。
参考图4,具有将被传输的数据的发话者将广告消息传输给所有收听者。在已经通过交换机接收了广告消息的收听者当中,希望接收数据的收听者设置流接收,并传输就绪消息以预留带宽。就绪消息预留交换机的带宽,通过该交换机的带宽传递将要传输给发话者的就绪消息,也即分配传输相应流所需的交换机的带宽。当在发话者中注册了通过收听者传输的就绪消息时,发话者开始传输数据流。
上述Tspec信息是关于由发话者产生的流的期望大小的信息,并用于计算当通过交换机或网关传输数据时所需的带宽以及用于分配交换机中所需的带宽。Tspec信息包括带宽/秒和帧速率/秒信息。借此,每个交换机可保证特定的预留流的QoS。如果发话者所希望传输的流的大小超出了交换机可提供的带宽备用区域,则发话者和收听者接收预留失败消息,其指示未正确地执行预留且停止流预留。
图5为示出在IEEE 802.1Qat中定义的传统预留消息的结构的视图。
更详细地,图5示出通过发送器传输的广告消息的结构。
参考图5,广告消息包括分别具有8字节长度的流ID(Stream ID)、数据帧参数(Data Frame Parameter)和Tspec、具有3比特长度的数据帧优先级(Data Frame Priority)、具有最大5比特长度的等级(Rank)、具有4字节长度的累积延迟(Accumulated Latency)、具有8字节长度的网桥ID(Bridge ID),以及具有1字节长度的故障代码(Failure Code)。
这里,流ID包括MAC地址,用以记录发话者的MAC地址,以及2字节的唯一ID。
数据帧参数包括6字节的目标地址(Destination Address),用以记录将接收相应流的目标节点的MAC地址,以及2字节的VLAN标识符。
Tspec包括2字节长度的MaxFrameSize,其指示每秒传输的最大字节数目,即带宽,以及MaxIntervalFrames,其指示单位时间的帧的数目。
图6为示出根据本发明的一个实施例,用于与AVB功能交互工作的SOME/IP消息格式的视图。
在本发明中,将用于与AVB功能交互工作的消息格式添加到SOME/IP消息,并且因此可传输QoS可得到保证的AVB层2流。
出于该目的,根据本发明的SOME/IP消息600可将用于与层2AVB功能交互工作的MAC地址(MACaddr)610添加到图1的传统SOME/IP消息100。
因此,服务器可将相应客户端的MAC地址信息添加到SOME/IP消息600,以使可通过AVB层2的L2-帧将服务流传输到客户端。
SOME/IP消息600中所包括的L4-协议(L4-Proto)620字段为用 于识别传输协议的字段,该传输协议将用于在已经完成SD过程之后传输所请求的数据流。在SOME/IP中通常定义的传输协议包括仅UDP和TCP。例如,对应于UDP和TCP的L4-协议620的值可被定义为0x11和0x01。
在本发明中,可最新定义向L4-协议620指示层2流传输的L2-SRP(0x21),以使可通过与AVB交互工作将SOME/IP流传输到层2,以便保证QoS。
因此,收听者可确认包括在所接收的InitialEvent消息中的L4-协议620字段的值,并因此确认将通过何种传输方案来传输相应方案。
根据本发明的一个实施例的收听者可支持SOME/IP但可能不支持AVB。在这种情况下,如果收听者接收到通知基于AVB进行L2-帧传输的InitialEvent消息,即,如果L4-协议620字段的值被设置为L2-SRP,则收听者可向发话者传输包括指定的故障代码的就绪消息,该指定的故障代码指示AVB不被支持。
此时,发话者通过所接收的故障代码可确认相应接收器中的L2-帧接收被禁用,将所请求的服务流转换为AVB传输(即L2-帧传输)以外的TCP或UDP模式,并然后将所转换的流传输给收听者。
根据本发明的另一个实施例,可提前定义并在发话者中维护根据所提供服务的类型的传输方案。在这种情况下,当通过SD过程确认了收听者所请求的服务时,发话者可使用对应于所请求的服务的传输方案来传输相应服务。
例如,可将可靠性较高的AVB传输方案,即层2传输方案,应用到高速实时图象数据流,并且可将诸如通过SOME/IP的UDP或TCP的层4传输方案应用到低速数据。
图7为示出根据本发明的一个实施例,用于为SOME/IP流传输与AVB技术交互工作的方法的视图。
根据本发明的服务器可通过SD过程获得客户端的IPv4地址和端口号,并附加地获得客户端的MAC地址(MACaddr)610。
当通过SD过程获得了客户端的MAC地址时,服务器可通过在下文中被简称为L2-帧(L2-Frame)的基于AVB的层2帧(AVB-based layer2frame)来将SOME/IP服务流传输到客户端。
参考图7,服务器可通过SD过程获得客户端的MAC地址,在预留消息700中记录所获得的MAC地址以用于流的预留,即,广告消息的目标地址710字段,并且将预留消息700传输到相应客户端。
参考图4,传统Qat预留过程包括通过MAC广播从多个不特定的收听者中找到要求预留传输的服务接收者的广告过程,以及获得所述接收者的MAC地址并同时分配位于传输路由上的交换机的所需带宽的就绪过程。
然而,在根据本发明通过与AVB交互工作的SOME/IP流传输方案中,服务器通过SOME/IP的SD过程提前确认要求服务接收的客户端以及相应客户端的MAC地址信息,并且因此,AVB的流预留过程不要求单独的客户端MAC地址获取过程。
进一步地,在本发明中,可通过AVB流预留分配过程将AVB流的传输优先级分配给具有相同特性的SOME/IP流,并且因此,可通过更多种方案保证QoS。例如,可通过根据车辆安全性要求将不同的优先级授予传输多媒体数据的前摄像机、后摄像机和导航系统来提供各种QoS服务。
图8为示出根据本发明的一个实施例,通过与AVB功能交互工作供应SOME/IP流的过程的流程图。
更详细地,图8示出通过与AVB交互工作,从SOME/IP中的SD过程到事件的传输和终止的整个功能交互工作过程。
参考图8,当已经完成了SOME/IP SD过程S820时,服务器810将传输服务流的InitialEvent消息传输到客户端850的MAC地址。在该过程期间,客户端850可检测所传输流的最大帧大小(MaxFrameSize),并根据各种各样的服务(SR-型A、B)检测最大帧传输时段(MaxIntervalFrames)。以上所描述的两个值是通过预留消息传输来分配交换机的带宽所必需的,并被称为Tspec信息。此后,服务器810作为发话者860操作且客户端850作为收听者870操作,发话者860通过InitialEvent消息将一个流传输到收听者870,并且收听者870经由该流通过的交换机将就绪消息传输到发话者860,以使可分配各交换机的带宽。
当发话者860成功地接收就绪消息时,发话者860识别流预留被 正常地执行,并开始预留传输。也就是说,只要存在要传输的流,发话者860就可生成事件/通知消息并将该事件/通知消息传输到收听者870。
如果客户端850希望服务终止,则客户端850可将StopSubscribeEventgroup消息传输到服务器810,以请求停止相应服务流的传输。此后,服务器810可根据Qat标准过程执行取消被分配到流预留被停止的交换机的带宽的带宽取消过程。
具体地,根据本发明的发话者860可通过将包括客户端850的MAC地址信息以及通知AVB L2-帧传输的L2-SRP信息的InitialEvent消息传输到收听者870,经与AVB交互工作来执行流的预留传输。这里,InitialEvent消息可包括流的预留传输所必需的Tspec信息以及含有Tspec信息的广告消息。收听者870可通过将包括所接收的Tspec信息的就绪消息传输到发话者860来接收所预留并被分配给位于相应服务流的传输路径上的交换机的带宽。
如果InitialEvent消息中所包括的L4-协议620字段值被设置为L2-SRP且客户端850不支持AVB功能,则客户端850可将StopSubscribeEventgroup消息传输到服务器810,该StopSubscribeEventgroup消息包括指定的宣布禁用L2-帧接收的错误代码。
此后,服务器810可将L4-协议620字段值设置为对应于UDP或TCP的值,然后将InitialEvent消息传输到客户端850,以使可通过UDP或TCP传输相应服务流。
根据本发明的另一个实施例,客户端850可在SD期间将StopSubscribeEventGroup消息的L4-协议620字段值设置为L2-SRP,并请求服务器810通过与AVB交互工作将流通过L2-帧传输。此后,服务器810可根据客户端850的请求分配Qat流带宽,生成其中L4-协议620的值被设置为L2-SRP的InitialEvent消息,并且将所生成的InitialEvent消息传输到客户端850。因此,服务器810可通过可保证QoS的L2-帧来传输客户端850请求订阅的服务流。
根据本发明的一个实施例,服务器810可将OfferService消息传输到客户端850,以通知客户端可用的服务,并且客户端850可通过 SubscribeEventgroup消息将相应服务的订阅请求发送到服务器810。这里,服务器810可通过OfferService消息中所包括的L4-协议620通知客户端850何种传输方案用于传输该可用服务的流。
根据本发明的另一个实施例,客户端850可判断利用何种传输方案接收将请求订阅的服务流,并且通过SubscribeEventgroup消息的L4-协议620将判断结果传输到服务器810。
根据本发明的另一个实施例,服务器810可保持指明随所指定服务而变的传输方案的表格,其中提前定义随所提供服务而变的传输方案,并且当服务器810从客户端850接收具体服务的订阅请求时,参考表格确定对应于所请求服务的L4-协议620的值。
图9为示出根据本发明的一个实施例,通过与AVB功能交互工作供应SOME/IP流的过程的流程图。
当服务器810从客户端850接收具体服务的订阅请求时,服务器810确认对应于所请求服务的L4-协议620的值是否为L2-帧,即L2-SRP(操作S903)。
如果对应于所请求服务的L4-协议620的值为L2-帧,则服务器810生成InitialEvent消息,其中包括客户端850的MAC地址且L4-协议620的值被设置为L2-帧,并将所生成的InitialEvent消息传输到客户端850,以用于通过与AVB功能交互工作进行流的预留传输(操作S905)。这里,服务器810可确定请求订阅的服务的Tspec信息,并将InitialEvent消息(其包括所确定的Tspec信息或含有所确定的Tspec信息的AVB广告消息)传输到客户端850。
客户端850确认是否实现了来自所接收的InitialEvent消息的Tspec信息的加载(操作S907)。作为确认的结果,如果实现了Tspec信息的加载,则客户端850可将包括所加载的Tspec信息的就绪消息传输到服务器810(操作S909)。
当服务器810接收到就绪消息时,服务器810判断是否实现了对交换机的带宽的预留和分配(操作S911)。作为判断的结果,如果实现了对交换机的带宽的预留和分配,则服务器810通过Qat中带宽的预留和分配来执行相应服务流的预留传输(操作S913)。
如果在以上操作S903中L4-协议620的值不是L2-帧,则服务器 810通过TCP或UDP将相应服务流传输到客户端850(操作S915)。
进一步地,如果未实现来自所接收的InitialEvent消息的Tspec信息的加载且L4-协议620的值为L2-帧,则作为以上操作S907中确认的结果,客户端850不执行单独的流预留程序,即,不将就绪消息传输到服务器810,并且可从服务器810接收层2帧(L2-帧)。
如从以上描述显而易见的,根据本发明的方法和装置将具有如下效果。
第一,本发明提供用于通过与AVB技术交互工作来处理SOME/IP流的方法和装置。
第二,本发明提供用于通过与AVB技术交互工作来处理SOME/IP流的方法和装置,其中,在车载网络中的SOME/IP服务处理过程期间将AVB功能应用到层2流的传输,以使SOME/IP服务流的QoS可得到保证。
第三,本发明提供用于通过与AVB技术交互工作来处理SOME/IP流的方法和装置,其中可防止通过传统SOME/IP中的UDP传输而产生的音频流和视频流的丢失,并且可通过SOME/IP流之间的优先级设置保证QoS。
第四,本发明提供用于通过与AVB技术交互工作来处理SOME/IP流的方法和装置,其中可防止通过UDP传输而产生的音频流和视频流的丢失,并且可通过SOME/IP流之间的优先级设置保证QoS。
对本领域技术人员显而易见的是,可在不脱离本发明的精神和范围的情况下,作出各种修改和变型。因此,本发明旨在覆盖权利要求及其等同物范围内的本发明的修改和变型。