用在tcp/ip通信网络中的轻量级协议的制作方法

文档序号:7659956阅读:240来源:国知局
专利名称:用在tcp/ip通信网络中的轻量级协议的制作方法
技术领域
本发明 一般而言涉及通过通信系统传送信息,更特别地涉及通过利 用TCP/IP协议组配置的通信系统传送电子信息。这种通信系统的一个 例子包括交通工具通信设备、无线栽波和远程实体。
背景技术
当今的许多设备和基于计算机的服务依赖于通信系统来在彼此之 间传送必要的信息。所述通信系统又由多个独立的通信网络构成,其中 包括有线和无线网络,所有这些网络需要彼此协作,以便形成一个大 的、互连的、无所不在的通信系统。例如,因特网以及大多数商用网络是根据TCP/IP体系结构模型配 置的,所述TCP/IP体系结构模型利用了 TCP/IP协议组。常常认为所述 TCP/IP协议组是多层的集合,其中的每一层负责特定的一组明确定义的 责任,从而该协议组一起作为一个整体操作。根据一个实施例,该TCP/IP 协议组包括应用层、利用传输控制协议(TCP)的传输层、利用因特网 协议(IP)的因特网层、网络层和物理层。协议组的另 一个例子是OSI模型,其是在TCP/IP协议组之后建立 的,并且在几个方面不同于TCP/IP协议组。举例来说,OSI模型包括七 层(应用层、表示层、会话层、传输层、网络层、数据链路层和物理层), 其中所述TCP/IP协议组仅仅包括五层。当在这两个协议组之间进行比 较时,所述OSI模型的表示层和会话层有时被包括在应用层中,以使它们形成单个组合层。应当理解,虽然上面提到的所述TCP/IP和OSI协议组构成了当前 所使用的通信系统的一大部分,但是还可以使用附加的协议组(比如专 有协议组)来配置通信系统。发明内容根据本发明的一方面,提供一种用于在交通工具与一个或多个远程 实体之间提供无线通信的通信系统。该通信系统包括交通工具通信设 备、远程实体和无线栽波系统。所述交通工具通信设备、远程实体和无线载波系统通过一个利用TCP/IP协议栈配置的网络进行通信,该TCP/IP 协议栈具有数据链路层、网络层、传输层和应用层。该应用层包括利用 SOAP协议的第一子层、利用MIME协议的第二子层和利用轻量级协议 的第三子层。根据本发明的另 一方面,提供一种用于通过无线网络与交通工具通 信设备进行通信的方法。该方法包括以下步骤(a)在发起者对等端 (peer)与收听者对等端之间建立会话,其中该会话是在利用具有应用层 的TCP/IP协议栈配置的无线网络上建立的,所述应用层包括利用SOAP 协议的第一子层、利用MIME协议的第二子层和利用轻量级协议的第三 子层;(b)从该发起者对等端向该收听者对等端发送请求消息;(c) 从该收听者对等端向该发起者对等端发送响应消息;以及(d)关闭所 述会话。根据本发明的又一方面,提供一种用于在交通工具与一个或多个远 程实体之间提供无线通信的通信系统。该通信系统包括交通工具通信设 备、远程实体和无线栽波系统。所述交通工具通信设备、远程实体和无 线载波系统通过一个利用TCP/IP协议栈配置的网络通信,该TCP/IP协 议栈具有利用CDMA协议的数据链路层、利用IP协议的网络层、利用 TCP协议的传输层、以及应用层,其中该应用层包括利用SOAP协议的 第一子层、利用MIME协议的第二子层和利用轻量级协议的第三子层。 所述轻量级协议提供包括报头单元、报尾单元和净荷单元的消息,其中 所述报头单元包含尺寸指示符,所述报尾单元表明该消息的末尾。所述 净荷单元针对作为默认内容类型的SOAP内容而被优化,但是可以通过 包括实体报头来提供其他任意的非SOAP MIME内容。


下文将结合附图描述本发明的优选示例性实施例,其中相同的附图 标记表示相同的元素,并且在附图中图1是描绘能够利用TCP/IP协议组的通信系统的一个示例性实施 例的方框图;图2是描绘一个示例性TCP/IP协议组的多个层的方框图,其中包 括使用在此公开的轻量级协议的应用层子层;
图3是示出用于根据所述轻量级协议发送和接收消息的方法的一个 实施例的一些步骤的流程图;以及图4是示出遵循所述轻量级协议的消息结构的一个实施例的方框图。
具体实施方式
在此公开的轻量级协议是一种优选地结合通信系统使用的通信协 议,该通信系统是利用TCP/IP协议组配置的,并且在交通工具通信设 备与诸如呼叫中心之类的远程实体之间提供无线通信。图1示出通信系统10的一个例子,其可以使用所述轻量级协议并 且通常包括交通工具12、无线载波系统14、陆地网络16和呼叫中心20。 应当理解,诸如这里示出的系统的总体体系结构、设置和操作及其各单 独组件通常是本领域中已知的。因此,下面的段落仅仅提供对一个这种 示例性通信系统10的简短概述,然而这里没有示出的其他系统也可以 采用所述轻量级协议。交通工具12优选地是机动交通工具,比如摩托车、小汽车、卡车、 休闲车(RV)、船、飞机等等,并且其配备有使其能够通过系统IO通 信的合适的硬件和软件。在图1中总体示出了一些交通工具硬件28,其 包括利用网络连接或总线40互连的交通工具通信设备30、远程信息处 理单元32、话筒34、扬声器36以及按钮和/或控制38。合适的网络连 接的例子包括控制器区域网(CAN)、面向媒体的系统传输(MOST)、 局部互连网(LIN)、以太网以及诸如遵循已知的ISO、 SAE和IEEE标 准和规范(这里仅仅举出几个)的其他适当的连接。交通工具通信设备30优选地使用无线电传输来建立与无线栽波系 统14的语音信道,从而可以在该语音信道上发送和接收语音和数据传 输。通过提供语音和数据通信,交通工具通信设备30使得该交通工具 能够提供多种不同服务,其中包括与导航、电话、紧急援助、诊断、信 息娱乐等等相关的服务。根据一个实施例,交通工具通信设备30包括 用于例如免提呼叫的语音通信的标准蜂窝芯片组44和用于数据传输的 调制解调器46。为了能够在所述语音信道上进行成功的数据传输,调制 解调器46应用某种类型的编码或调制以便转换数字数据,从而它可以 通过结合在芯片组44中的声码器或语音编解码器进行通信。提供可接
受的数据速率和误比特率的任何合适的编码或调制技术都可以用于所 公开的方法。所述远程信息处理单元32是一个通过其与呼叫中心20的通信来提 供多种服务的机载设备,其通常包括电子处理设备50、 一个或多个类型 的电子存储器52以及多个功能特定的设备或模块54-58。该远程信息处 理单元32提供多种不同服务,其中例如包括结合基于GPS的交通工 具导航单元54提供的沿途转弯方向和其他导航相关的服务;结合位于 该交通工具上的各种传感器56提供的气嚢布置通知和其他紧急情况或 路边援助相关的服务;以及信息娱乐相关的服务,其中通过信息娱乐中 心58下载音乐、网页、电影、电视节目、视频游戏和/或其他信息,并 且进行存储以用于当前或随后重放。本领域技术人员应当理解,上面列 出的服务绝不是远程信息处理单元32的全部能力的穷举性列表,而仅 仅是说明该远程信息处理单元所能够提供的一些服务。可以预料到,远 程信息处理单元32将包括除了上面列出的之外的多个已知组件。能够 提供上面给出的服务的合适的安装在交通工具上的远程信息处理单元 的构造和操作是本领域技术人员所公知的。无线载波系统14优选地是在所述交通工具硬件28与陆地网络16 之间传输信号的蜂窝电话系统或任何其他合适的无线系统。根据一个示 例性实施例,无线载波系统14包括一个或多个小区塔70、基站和/或移 动交换中心(MSC) 72以及把该无线系统14与陆地网络16相连接所需 要的任何其他连网组件。本领域技术人员可以理解,可能有多种小区塔 /基站/MSC布置,并且它们都可以用于无线系统14。举例来说,所述基 站和小区塔可以共同位于相同的地点,或者它们可以彼此远离,每一个 基站可以负责单个小区塔,或者单个基站可以为多个小区塔服务,并且 多个基站可以被耦合到单个MSC,这里仅仅举出几种可能的布置。优选 地,在一个或多个基站中结合语音编解码器或声码器,但是取决于所述 无线网络的特定体系结构,所述语音编解码器或声码器还可以被结合在 所述MSC中或者被结合在某种其他网络组件中。陆地网络16可以是常规的基于陆地的电信网络,其被连接到一个 或多个陆线电话,并且把无线栽波网络14连接到呼叫中心20。例如, 本领域技术人员可以理解,陆地网络16可以包括公共交换电话网 (PSTN)和/或利用TCP/IP协议组配置的网络。当然,陆地网络16的一标准有线网络、光纤或其他光学网络、电缆网络、电力线、诸如无线局域网(WLAN)之类的其他无线网络、提供宽 带无线接入(BWA)的网络或者它们的任何组合来实现。此外,呼叫中 心20不需要通过陆地网络16连接,而是可以包括无线电话设备,从而 它可以直接与无线网络M通信。呼叫中心20被设计成为所述交通工具硬件28提供多种不同的系统 后端功能,并且根据这里示出的示例性实施例,它通常包括一个或多个 交换机80、服务器82、数据库84、现场顾问86以及本领域中已知的多 种其他电信和计算机设备88。这些呼叫中心组件优选地通过有线或无线 局域网卯彼此耦合。交换机80可以是专用分支交换(PBX)交换机, 其对输入信号进行路由,从而使得语音传输通常被发送到所述现场顾问 86或自动应答系统,并且数据传输被传递到调制解调器或其他设备88 以进行解调和进一步的信号处理。如前面所解释的那样,所述调制解调 器优选地包括编码器,并且可以被连接到诸如服务器82和数据库84之 类的多种设备。数据库84可以被设计成存储用户简档记录、用户行为 模式或者任何其他相关用户信息。数据传输还可以由无线系统实施,比 如802.11x、 GPRS等等。尽管所示实施例被描迷为将结合人工呼叫中心 20使用,但是将会理解,该呼叫中心可以利用无人的自动呼叫应答系 统,并且一般来说可以是希望与其交换语音和数据传输的人工的或无人 的、移动的或固定的任何中心或远程设施。现在转到图2,其中示出了因特网协议组IOO(还被称作"TCP/IP 栈")的一个示例性实施例的方框图,其通常由四个单独层构成,并且 包括在其上运行因特网和大多数商用网络的基本通信协议组。每一层被 设计成执行特定的一组任务或者解决与数据传输相关的特定的一组问 题,并且仅仅与直接处在其下方或上方的层交互。相应地,TCP/IP栈 100中的每一层为其上方的相邻层执行服务,并且对其下方的相邻层提 出请求。该TCP/IP栈100的上方各层通常更接近最终用户并且处理更 为抽象的数据,而该栈中的下方各层通常更接近硬件并且与涉及实际的 数据传输的问题更相关。TCP/IP栈IOO优选地包括数据链路层102、网络层104、传输层106 和应用层108,但是可以具有本领域中已知的任何数量的不同协议层组 合当中的一种。根椐一个优选实施例,TCP/IP栈100对于数据链路层102使用CDMA或其他无线电协议,对于网络层104使用IP协议,并 且对于传输层106使用TCP协议。然而,应当理解,在此所公开的轻量 级协议不限于使用在所述示例性因特网协议组100的应用层108中,而 是可以使用在任何适当的协议组中,其中包括不同于这里示出的TCP/IP 栈、七层OSI模型或者某种其他无线或有线协议组。由于层102-106的 各种实施例是本领域中所已知的,因此下面的描述集中于应用层108, 其包括几个子层,其中包括利用所述轻量级协议的一个子层。应用层108通常协调两个对等端之间的通信并且管理二者之间的对 话,其在某种程度上类似于七层OSI模型的应用层、表示层和会话层的 组合。如果将要通过利用TCP/IP栈100配置的网络传输数据,则应用 层108在将其传递到传输层106之前在传输层协议下封装所述数据。根 据这里示出的实施例,应用层108通常包括第一、第二和第三子层120、 122、 124,其中第三子层124利用所述轻量级协议。从子层120开始,该子层最接近最终用户,并且有时被称作信包 (envel叩e)子层,因为它通过定义所述数据的信包的格式来进一步定义 数据的格式。合适的信包子层协议的 一 个例子是简单对象访问协议 (SOAP)。本领域技术人员将理解,SOAP是一种通常用于在网络上交 换基于XML的消息的协议,并且形成可以在Web服务协议栈(未示出) 内使用的基本消息传送的基础。在SOAP中存在几种不同类型的消息传 送模式,然而,其中最常见的一种是远程过程调用(RPC)模式。RPC 模式使用第一网络节点(被称作SOAP发送方)向第二网络节点(被称 作SOAP接收方)发送请求消息,作为答复,该SOAP接收方立即将响 应消息发送回到该SOAP发送方。子层122也被称作内容管理子层,它通常负责定义数据格式。例如, 多用途因特网邮件扩展(MIME)是一种普遍用于格式化电子邮件的因 特网标准,并且它可以由内容管理子层122来利用。MIME定义用于发 送信息的机制,这是通过对所述信息进行编码和解码,从而可以传输非 ASCII文本文件,比如那些包含图像、声音、电影、节目等等的非ASCII 文本文件。本领域技术人员将理解, 一个MIME报头被添加到所述文 件,并且定义包含在该文件内的数据类型以及所使用的编码方法。现在转到子层124,在此公开的所述轻量级协议特别适用于这样的 应用,所述应用要求传输任意的MIME内容,但是又设法通过最小化会
话和/或协议开销来减小数据通信量。 一个这种应用是通信系统10,其 中交通工具通信设备30与远程呼叫中心20、另一个交通工具或者某一 其他远程实体来无线地通信,并且常常被收取基于其所使用的数据通信 量的服务费。在此公开的所述轻量级协议被合理化以用于高效的通信, 并且被专门设计成在分别使用SOAP和MIME协议的子层120和122下 方以及在分别使用IP和TCP协议的网络层和传输层上方操作。所述轻量级协议建立在同步请求-答复消息传送的语义上,其通常包 括发送请求以获得答复,并且要求每个对等端都能够发送和接收消息。 出于描述的目的,术语"对等端"广泛地指操作在分层通信网络的相同 协议层上的任何用户、过程、程序、设备、控制器或其他逻辑实体,而 不管它们是可执行的、嵌入式的还是其他类型。本公开的轻量级协议定 义了一种用于通过定义消息流和消息结构来处理两个或更多个对等端 之间的TCP/IP会话的方法,与此同时其与IP、 TCP、 MIME和SOAP 协议兼容。也就是,所述轻量级协议每当可能时都使用与所述其他协议 类似的语义和语法,从而使得编程和接口更容易。典型的轻量级协议会 话涉及到几种不同类型的对等端"发起者对等端,,是一旦建立会话就 建立连接的对等端;"收听者对等端,,是一旦建立会话就等待来自该发 起者对等端的新连接的对等端;"客户端对等端,,是一旦建立会话就开 始交换的对等端;以及"服务器对等端,,是一旦建立会话就对客户端对 等端做出响应的对等端。连接到通信系统10并且使用所述轻量级协议 的所有对等端优选地能够扮演全部上述角色,以便于进行同步、双向通 信。如前所述,所述轻量级协议被设计成用在TCP/IP网络中,以便在 两个或更多个对等端之间建立通信。参考图3,其中示出了一个流程图, 该流程图概述了方法150中所涉及到的基本步骤,该方法150用于在发 起者对等端与收听者对等端之间建立轻量级协议会话。从步骤152开 始,发起者对等端通过执行如RFC-793中所阐述的标准TCP3向握手来 建立与收听者对等端的会话。所述握手涉及到一个消息序列,其中包括(打开)呼叫。与涉及到更多会话开销^的其他^^用层协议不同,不需要 进一步的动作来开始该轻量级协议会话。 一旦建立了会话,该收听者对 等端就准备好接收来自该发起者对等端的消息。在步骤154中,该发起
者对等端向该收听者对等端发送请求消息。作为对该请求消息的答复,该收听者对等端把响应消息发送回到该发起者对等端(步骤156)。可 以看出,在已建立的会话期间发生的并且涉及到单次交互的正常消息传 送通常包括两条消息,并且在该发起者对等端从该收听者对等端接收到 所述响应消息时完成。为了进一步最小化数据通信量或开销,轻量级协议方法150通常在 消息传送交互之间维持或保持打开会话。换句话说, 一旦建立了轻量级 协议会话,所述发起者和收听者对等端可以发送和接收多条请求和响应 消息(步骤154和156),而不必每一次都打开和关闭所述会话。 一些 协议要求每当接收到响应消息时关闭会话,并且要求在发送另 一条请求 消息之前重新建立新的会话。与重复打开和关闭会话相关联的动作对于 所述通信系统来说可能是沉重的负担,因为这些动作往往会用尽各种资 源。举例来说,产生、发送和接收与打开和关闭会话相关联的控制消息 需要网络带宽和处理资源,这仅仅是举出几种后果。在许多网络中,特 别是在诸如无线载波14的无线网络中,服务费与带宽或数据通信量直 接相关。通过消除这些控制消息,所述轻量级协议能够减小数椐通信 量,从而能够降低网络的运营成本。此外,把所述会话保持在打开状态 使得所述发起者和收听者对等端可以自由执行其他功能。 一般来说,在 步骤154和156中发送的请求和响应消息将继续,直到发生以下两个事 件的其中之一发起者对等端关闭会话(步骤158);或者发生空闲会 话超时(步骤160)。步骤158查询所述发起者对等端是否关闭了所述会话,正如一旦发起者对等端接收到来自收听者对等端的响应消息以及其所寻求的任何 其他信息,则通常就是这种情况。应当认识到,直到所述会话被关闭为 止,不管其是通过发起者对等端一方的肯定关闭还是由于空闲会话超时 而被关闭,收听者对等端都应当准备好接收来自该发起者的附加消息。 另一方面,步骤160确定是否经过了特定时间量(被称作空闲会话超 时),如果是的话,步骤160把所述方法的控制引导到步骤170,从而 可以关闭所述会话。所述空闲会话超时是收听者对等端在关闭所述会话 之前将等待来自发起者对等端的请求消息的最大时间量。根据一个优选 实施例,与空闲会话超时相关联的所经过的时间i)由收听者对等端在 每一次接收到来自发起者对等端的请求消息时复位;ii)只要收听者对
等端没有向/从发起者对等端接收、处理或发送消息就继续流逝;以及 iii)是针对其中使用了所述轻量级协议的特定应用所选择的预定时间量。如果步骤158和160都导致"否",即表明既没有发生发起者对等 端对所述会话的肯定关闭,也没有发生空闲会话超时,则所迷系统随后 返回到步骤l54,从而可以由发起者对等端发送附加的请求消息。以这 种方式,所述轻量级协议把所述会话保持在打开状态,从而可以在不必 每次都关闭并且重新建立会话的情况下传输多条请求和响应消息。相 反,如果步骤158和160当中的任一个都导致"是",则所迷过程的控 制继续到步骤170,该步骤通过执行标准TCP 4向握手来关闭所述会 话。应当理解,前面对于方法150的描述仅仅是对所述过程的一般描述, 而不包括所发生的每一个步骤或子步骤。举例来说,本领域技术人员将 认识到,可以发生并且确实发生了许多其他步骤,并且可以通过通信系 统IO发送不同于上述消息的许多消息。现在转到图4,利用在此公开的所述轻量级协议发送的每条消息具 有消息体180,该消息体180包括报头182、净荷184和报尾186,所有 这些单元都优逸地遵循扩展的巴科斯诺尔范式(ABNF)语法。报头182 优选地包括大写的三字符指示190,之后是单个空格(SP) 192, 一个表 明该净荷的尺寸的值194,以及回车、换行对(CRLF) l96。所迷指示 向收听对等端通知该消息的目的,或者它可以是命令接收对等端利用某 种类型的信息做出响应的指令。例如,几种通常的指示包括MSG、 RPY、 VER和ERR,尽管还可能有多种其他指示。当向收听者对等端发送一 般请求时使用所述MSG指示,并且当对这种请求消息做出答复时由该 收听者使用所述RPY指示。所述RPY响应是用于所述轻量级协议的一 般响应消息,并且通常是发起者对等端将接收到的作为对MSG请求的 答复的唯一响应。发起者使用所述VER指示来请求由收听者对等端所 支持的所述轻量级协议的版本,收听者利用关于所支持的协议版本的相 容范围的报告来答复所述VER指示,并且规定所支持的最低和最高版 本。所报告的版本优选地是所述协议的规范的所公布的最终版本,并且 是所述对等端完全兼容的版本。所述ERR指示表明已经由收听者对等 端在处理来自发起者的请求时检测到一个错误。各对等端被限制使用所 述ERR指示来报告与净荷数据的处理或使用相关的错误。例如,必须
利用标准RPY响应指示而不是所述ERR指示来报告SOAP错误和应用 处理超时。应当认识到,所述轻量级协议包括允许添加指示或者从所述 协议规范中删除指示的扩展点,正如本领域技术人员所理解的那样。在指示190和空格192之后,值194通过提供包含在净荷内的8比 特八位字节的精确数目来标识净荷尺寸;该值优选地不包括报头182或 报尾186的尺寸。所述净荷尺寸的范围可以是从O到2147483647,并且 它不能是负整数。通过在报头182中提供净荷184的尺寸,所述消息的 接收方能够更好地确定该消息是否已全部到达。虽然前面对于报头182 的描述遵循ABNF并且包括指示、空格、净荷尺寸值和CRLF对,但是 应当理解,这仅仅是一个示例性实施例,并且所述报头可以不同于该例 子。净荷184是消息体180的下一个组成部分,并且包含该消息的主要 数据或指令。所述轻量级协议是利用这样的默认设置产生的,所述默认 设置通过消除一些控制数据来减少开销,并且通过给予其发送和接收任 何已识别的MIME内容的能力而使其更灵活。举例来说,这里示出的实 施例包括利用子层120和122的默认协议(即MIME上的SOAP )构造 的净荷184。由于该特定实施例使用了所述默认协议,并且又使用了默 认内容类型和传送编码,因此可以从所迷消息中省略某些类型的控制数 据(比如MIME实体报头)。当然,这具有减少通过所述网络发送的开 销和数据通信量的效果。如果发起对等端或收听对等端接收到没有任何 实体报头或者仅有不足够的实体报头的消息,则该接收对等端假设所述 消息是根据所述默认布置构造的。如前所述,所述默认内容类型被定义 为"内容-类型""文本/xml;字符集-UTF-8",其另外被称作SOAP,并 且所述默认内容传送编码"内容-传送-编码"是8比特。由所述轻量级 协议使用默认设置可以具有优于不具有可比默认特征的其他协议的优 点。例如,HTTP消息缺少默认内容类型对于在大多数时间使用常见内 容类型的设备和服务会产生多余的开销。在所有消息中都要求报头信息 增大了通过HTTP发送的消息的尺寸,从而使用了更多的网络资源。除了减少开销之外,本公开的轻量级协议的灵活性还在于它可以适 应具有有效的MIME格式的大多数消息,其中包括那些利用不同于 MIME上的SOAP的组合所格式化的那些消息。所述轻量级协议使用报 头实体来发送和接收利用多种有效MIME格式当中的一种所构造的消
息,不过如上面所解释的那样,并没有必要包括所述报头实体。所述实体报头优选地是根据在RFC 2045第3节中找到的规范而构造的。本领 域技术人员将理解,除了 SOAP之夕卜,用于子层120的一些合适的MIME 兼容的协议的例子包括HTTP、 SMTP、 BEEP等等。报尾186跟在净荷184之后并且终结所述消息,从而使得接收方知 道该消息结束。根据这里示出的实施例,报尾186包括END 210(末尾), 之后是CRLF对212。由于所述轻量级协议不是八位字节填充协议,因 此如果收听者对等端接收到在消息净荷中具有等效于报尾186的ASCII 的消息,则该收听者对等端将不会把该消息视为已经在净荷中终结。相 反,该收听者对等端将把实际的报尾186视为该消息的末尾。为了避免 所述消息被视为"形式欠佳",报尾应当紧跟在净荷之后。形式欠佳的 消息导致收听者对等端利用错误消息(错误请求)做出响应,以表明该 消息的出错状况。如果遇到多于一个的表明形式欠佳的消息的状况,则 收听者对等端优选地报告所遇到的第一个状况。当发生任何以下示例性 状况时,就存在形式欠佳的消息报头182以未识别的指示开始或者语 法不正确;净荷尺寸值194缺失或者语法不正确;报尾186没有紧接在 净荷184之后;或者报尾缺失或语法不正确(这里仅仅给出几个例子)。为了总结上面讨论的一些消息传送构造,用于使用了所述轻量级协 议与MIME上的SOAP布置的组合的标准消息的扩展的巴科斯诺尔范式 (ABNF)如下消息=报头净荷报尾 报头=指示SP尺寸CRLF 指示-ALPHA ALPHA ALPHA 尺寸=0... 2147483647 净荷=*八位字节 报尾="END" CRLF在上面的ABNF中使用的词法标记是基于RFC-2234,并且被总结CR-回车,ASCII 0x0D LF-换行,ASCII 0x0A CRLF=CRALPHA-0x6卜0x7A, A-Z SP-空格,ASCII, 0x20 八位字节-0x00-0xFF下面提供了使用在此公开的轻量级协议的消息的几个例子。第 一个 例子示出了由发起者对等端发送并且使用MSG指示的消息请求、以及 由收听者对等端返回并且使用RPY指示的消息响应。椭圆表示在收听 者对等端 一侧对消息净荷的处理。 发起对等端MSG 364<SOAP-ENV:Envelope xmlns:SOAP-ENV-"h邵:〃schemas,xmlsoap.org/soap/envelope/" SOAP-ENV:encod''ngStyle="http:〃schemas.xmlsoap.org/soap/encoding/" ><SOAP-ENV:BodyXm:GetLastTradePrice xmns:m="Some-URT><symbol>DIS</symbol></m:GetLastTradePrice></SOAP-ENV:Body></SOAP-ENV:Envelope>END收听对等端RPY 373<SOAP-ENV:Envelope xmlns:SOAP-ENV="http:〃schemas.xmlsoap.org/soap/envdope/" SOAP-ENV:encodingStyle="http:〃schemas.xmsoap.org/soap/encoding/" ><SOAP-ENV:Body><m:GetLastTradePriceResponse xmlns:nv="Some-URT'xprice> 12.88</pricex/m:GetLastTradePricResponse></SO AP-ENV:Body></SOAP-ENV:Envelope>END为了说明通过使用所述轻量级协议所能经历的会话开销的一些减 少,现在把前面的例子作为使用HTTP上的SOAP的消息来提供。先前的消息传送例子是在发起者对等端与收听者对等端之间进行的;本例是 在客户端与服务器之间进行的。本领域技术人员将理解,使用所述轻量 级协议导致与会话开销相关联的数据通信量的明显减少。 客户端POST/例子HTTP/1.1
内容-类型文本/xml;字符集-utf-8 内容-长度364 SOAP动作"/例子" 用户-代理Java/1/4/2—03 主机本地主机9090<SOAP-ENV:Envelopexmlns:SOAP-ENV-"http:〃schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle-"http:〃schemas.xmlsoap.org/soap/encoding/"xSOAP-ENV:Body><m:GetLastTradePricexmlns:m="Some-URI"><symbol>DIS</symbol></m:GetLastTradePrice></SOAP-ENV:Body></SOAP-ENV:Envelope>服务器HTTP/1.1 200 OK 连接关闭 内容-长度291内容-类型文本/xml;字符集-utf-8日期2006年8月8日,星期三,05:05:04 GMT服务器示例HTTP服务器<SOAP-ENV:Envelope xmlns: SOAP-ENV-http:〃schemas. xmlsoap.org/soap/envelope/ SOAP-EN V: encodingStyl e= "http:〃schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:BodyXm:GetLastTradePriceResponse xmlns:m="Some-URI"xprice>12.88</prke></m:GetLastTradePricResponse></SO AP-ENV:Body></SOAP-ENV:Envelope>根据下一个例子,发起对等端使用所述"VER"指示来请求由收听 者对等端所支持的协议版本。响应于该请求,收听者对等端表明它支持 所述轻量级协议的第1版和第2版。 发起对等端VER0 END收听对等端RPY27
<EMXP-version min=l max=2/> END根据下面的例子,发起对等端发送一条请求消息,该请求消息所包 括的净荷大于所述净荷尺寸值194所表明的值。在检测到该错误之后, 收听者对等端在响应消息中使用所述"ERR"指示以把适当的错误代码 报告回给发起对等端。 发起对等端MSG 17<SOAP-ENV:Envelopexmlns:SOAPENV="http:〃schemas.xmlsoap.org/soap/envelope/" SOAPENV:encodingStyle="http:〃schemas.xmlsoap.org/soap/enco ding/"><SOAP-ENV:Bodyxm:GetLocationxmlns:m-"Some-URT'/></SOAPENV:Body></SOAP-ENV:Envelope>END收听对等端ERR 47<EMXP-err code一,400,、报尾缺失或错误消息长度々EMXP-err〉END所述轻量级协议被设计成使用类似于在诸如HTTP或BEEP之类的 广泛使用的因特网协议中所使用的错误代码。使用常见的错误代码使得 熟悉其他常见协议的开发者更容易学习并且开始使用在此公开的轻量 级协议。根据一个优选实施例,所述错误代码是处在100-999范围(100 和999包括在内)内的整数,并且被分组成各包含100个代码的子范围。为各子范围指定一个特定的错误代码类别。例如,为看起来是源自发起 对等端的错误指定4xx的子范围,并且包括下面的常见例子400错误 请求,403禁止,413消息过大,以及415不受支持的媒体类型。类似 地,为看起来是源自收听对等端的错误指定5xx的子范围。这些源自收 听者的错误的一些常见例子包括500内部服务器错误,501未实现, 以及503服务不可用(这里仅仅举出几个例子)。本领域技术人员将熟 悉来自各种普遍使用的协议的所述错误代码和其他错误代码。可以为所述轻量级协议提供安全性,以便确保保密性、数据完整性 和可用性。可以使用加密来防止对通过所述轻量级协议发送的数据进行未经授权的观看。加密使用的一个例子是在具有强密码的IP-SEC或 TLS/SL上使用所迷协议。此外,可以对所述消息的净荷184进行加密。 所述轻量级协议的传送任意数据的能力使得能够利用所述"应用/八位字 节流"内容-类型和"二进制"内容-传送-编码在MIME信包内对净荷进 行加密并且对其进行传输,或者通过利用S/MIME或某种其他技术来完 成。另外,传送SOAP消息的能力使得能够在利用或不利用WS-安全性 的情况下对所述SOAP消息体进行加密。另一种保护方法是使用在所述 轻量级协议的上方或下方的各层中实现的更为传统的挑战-响应模型。校 验和以及字节计数有助于确保所有数据都被收听者接收到。为了保护免 受中间人攻击,还可以使用具有强密码的TLS。应当理解,前面的描述并不是本发明的定义,而是对本发明的一个 或多个优选的示例性实施例的描述。本发明不限于在此公开的(多个) 特定实施例,而是仅仅由以下的权利要求书来限定。举例来说,所述轻 量级协议可以用于多种协议组,并且不特别限于图2中示出的特定 TCP/IP栈100。此外,在前面的描述中所包含的陈述涉及特定的实施例, 并且除了在上面明确定义的术语或短语之外,其不应被解释为是对本发本领域技术人员^r言,许多其他^施例以及对所公开的(多个)实施例 的各种改变和修改将变得显而易见。所有这种其他的实施例、改变和修 改都打算在所附权利要求书的范围之内。在与一个或多个组件或其他项目的列表相结合使用时,用在本说明 书和;f又利要求书中的术语"例如"和"比如"以及动词"包括,,、"具 有"、"包含"和它们的其它动词形式分别应当被解释为开放式的,这 意味着所述列表不应当被认为是排除了其他附加组件或项目。除非被用 在需要不同解释的上下文中,否则应当使用其最广的合理含义来解释其 他术语。
权利要求
1、一种用于在交通工具与一个或多个远程实体之间提供无线通信的通信系统,包括位于该交通工具上的交通工具通信设备;与该交通工具相距一定距离的远程实体;以及无线载波系统,其与所述交通工具通信设备和所述远程实体通信,从而可以在其间无线地交换信息;其中,所述交通工具通信设备、所述远程实体和所述无线载波系统通过利用TCP/IP协议栈配置的网络通信,该TCP/IP协议栈具有数据链路层、网络层、传输层和应用层,所述应用层包括利用SOAP协议的第一子层、利用MIME协议的第二子层和利用轻量级协议的第三子层。
2、 根据权利要求1所述的通信系统,其中,所述轻量级协议适于 传输任意MIME内容,但是其把SOAP识别为用于所述第一子层的默认 协议。
3、 根据权利要求1所述的通信系统,其中,所述轻量级协议建立 在同步的请求-答复消息传送的语义上。
4、 根据权利要求1所述的通信系统,其中,所述轻量级协议适于 通过利用TCP 3向握手来建立会话。
5、 根据权利要求1所述的通信系统,其中,所述轻量级协议适于 把会话保持在打开状态,从而可以在不关闭所述会话的情况下传输多条 请求和响应消息。
6、 根据权利要求5所述的通信系统,其中,所述轻量级协议适于在发生任一种以下事件的情况下关闭所述会话发起者对等端关闭所述 会话,或者发生空闲会话超时。
7、 根据权利要求6所述的通信系统,其中,由收听者对等端在每次接收到来自发起者对等端的请求消息时复位与所述空闲会话超时相 关联的所经过的时间。
8、 根椐权利要求1所述的通信系统,其中,所述轻量级协议适于 通过利用TCP4向握手来关闭会话。
9、 根椐权利要求1所述的通信系统,其中,所述系统被用来在所 述交通工具通信设备与所述远程实体之间传输以下各类信息的至少其 中一类导航信息,信息娱乐信息,以及诊断信息。
10、 一种用于通过无线网络与交通工具通信设备进行通信的方法, 包括以下步骤(a)在发起者对等端与收听者对等端之间建立会话,其中所述会话 是在利用具有应用层的TCP/IP协议栈配置的无线网络上建立的,所述 应用层包括利用SOAP协议的第一子层、利用MIME协议的第二子层和 利用轻量级协议的第三子层;(b )从所述发起者对等端向所述收听者对等端发送请求消息;(c) 从所述收听者对等端向所述发起者对等端发送响应消息;以及(d) 关闭所述会话。
11、根椐权利要求9所述的方法,其中,步骤(a)还包括利用 TCP 3向握手来建立所述会话。
12、 根据权利要求9所述的方法,其中,所述方法还包括把所述会话保持在打开状态,从而可以在不关闭所述会话的情况下传输多条所 述请求和响应消息。
13、 根据权利要求11所述的方法,其中,步骤(d)还包括在发生 任一种以下事件的情况下关闭所述会话所述发起者对等端关闭所述会话,或者发生空闲会话超时。
14、 根据权利要求12所述的方法,其中,步骤(d)还包括在所 述收听者对等端每次接收到来自所述发起者对等端的所述请求消息时 复位与所述空闲会话超时相关联的所经过的时间。
15、 根据权利要求9所述的方法,其中,步骤(d)还包括利用 TCP 4向握手来关闭所述会话。
16、 根据权利要求9所述的方法,其中,所述方法被用来在所述无 线网络上传输以下各类信息的至少其中一类导航信息,信息娱乐信 息,以及诊断信息。
17、 一种用于在交通工具与一个或多个远程实体之间提供无线通信 的通信系统,包括位于该交通工具上的交通工具通信设备; 与该交通工具相距一定距离的远程实体;以及 无线栽波系统,其与所述交通工具通信设备和所述远程实体通信, 从而可以在其间无线地交换信息;所述交通工具通信设备、所述远程实体和所述无线栽波系统通过利用TCP/IP协议栈配置的网络通信,该TCP/IP协议栈具有利用CDMA协 议的数据链路层、利用IP协议的网络层、利用TCP协议的传输层、以 及应用层,所述应用层包括利用SOAP协议的第一子层、利用MIME协 议的第二子层和利用轻量级协议的第三子层,其中,所述轻量级协议提供消息,所述消息包括包含尺寸指示符的报头单元;表明该消息的末尾的报尾单元;以及位于所述报头单元与报尾单元之间的净荷单元,所述净荷单元针对 作为默认内容类型的SOAP内容而被优化,但是可以通过包括实体报头 来提供其他任意的非SOAP MIME内容。
18、根据权利要求17所述的通信系统,其中,所述轻量级协议提 供允许添加指示或者从协议规范中删除指示的扩展点。
全文摘要
本发明涉及一种针对通过TCP/IP网络的无线数据传送而优化的轻量级通信协议,该TCP/IP网络把交通工具通信设备连接到诸如呼叫中心之类的远程实体。所述轻量级协议利用了包括报头、报尾和净荷单元的消息,其中,所述净荷单元针对作为默认内容类型的SOAP内容的传输而被优化,但是其也能够传输其他类型的非SOAP MIME内容。所述轻量级协议还通过把会话保持在打开状态而减少了会话开销并且从而减少了数据通信量,从而可以在不必每次都关闭会话并且重新建立会话的情况下在单次会话内传输许多消息。
文档编号H04L29/06GK101163143SQ20071014265
公开日2008年4月16日 申请日期2007年8月20日 优先权日2006年8月18日
发明者M·N·霍维 申请人:通用汽车公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1