调度分组投递的系统和方法

文档序号:7639042阅读:206来源:国知局

专利名称::调度分组投递的系统和方法调度分组投递的系统和方法本发明要求2005年6月6日提交的美国专利申请No.60/687,339的权益。发明领域本发明涉及管理网络上的数据话务的系统和方法,尤其涉及针对不同数据类型的不同需要以及它们在不同类型的有线和无线网络中的行为的系统和方法,而此类网络各自具有不同的特性和变化的网络状态。发明背景与传统的有线网络相比较,无线网络一般具有非常不同的性质。例如,有线网络的"主干"比无线网络更为同构,并且有线网络一般是通过控制数据话务的路由器和交换机连接的智能子网的网络。在有线网络中,用户一般都是稳态的,因此用户的移动对网络服务的影响很小。在有线网络中的,对用户服务的关键影响是网络上的数据话务拥塞。这种拥塞问题是通过使用传输控制协议/网际协议(TCP/IP)来处理的,这是大多数网络应用所使用的协议。无线网络的特征和实现在例如以下几方面非常不同于有线网络1.无线网络的网络基础结构较为简单,这是就在移动网络设备与网络中的第一有线链路之间的节点数而言的;2.无线网络的状态频繁变化,这是由于几个因素,包括环境状况(例如,市内区域相比于郊外区域各自具有不同的信号衰减和传播情况);移动设备的位置(例如,接近于大功率电源的范围相比于处于大的空旷区域);在给定时间的网络话务;毗邻用户对网络的使用,以及基站的主干(例如,光纤相比于铜线主干)等等。3.软件应用一般都不是为包括频率状态变化的无线网络环境所设计。因此,在无线网络上运行这种应用会因增加额外的话务量而使得网络状态变得更差,并因此增大网络的整体延迟以及等待时间,这就会进一步影响其它移动设备用户的体验。在无线网络技术中所发生的两项并行的变化是i)引入新的无线网络类型,使得整个无线网络的基础结构从单一类型的网络基础结构,例如,仅仅只是通用分组无线业务(GPRS)网络,变化到包括多种网络类型——例如,GPRS、WiFi、微波接入全球互通〔WiMAX)和全球移动电信系统(UMTS)——的基础结构;以及ii)无线网络用户现在不再仅仅只使用"后台类"类型的应用,例如,电子邮件、短消息业务(SMS)和F载,而是使用更多的交互式应用,例如,web浏览、网络游戏和数据库访问,诸如多媒体应用、视频点播和webj''播的流应用;以及诸如IP电话、视频电话、和视频游戏的对话应用。服务供应商或者运营商都在积极增加无线网络上这些应用的使用以提高"每用户平均收益"以及订购率。服务供应商还通过与第三方应用相比对他们自己"保证"的应用提供随附服务质S(QoS)的服务来将他们自己与竞争者区别开来。然而,这些不同类型应用的使用导致不同数据话务类型在网络.匕传播,每种数据类型具有不同的投递(时间)要求和不同的差错容限(在应用的时间敏感度相对于差错敏感度谱.匕)。例如,VolP分组是非常时间敏感的并且具有很短的生存时间(TTL),反之分组则是对差错非常敏感的。TCP和UDP/TP协议(被许多软件应用所广泛使用)两者都是不知网络和应用的。TCP的确提供在有线网络.....I::所发生的拥塞控制特征,但此协议并不能区分有线网络和无线网络。这些协议中也没有任何一个是可知应用的(它们对应用的类型以及时间相对亍差错的敏感度都不敏感)。TCP/IP被专门设计以便于通过检测在网络上的拥塞和控制在通信双方之间的话务来克服有线网络|:l口的拥塞问题。然而,TCP/IP在无线网络...匕的使用可能存在着问题。例如,无线网络中的延迟可能是由信号衰减所引起的(而不是由拥塞所引起的),从而使得TCP/IP实际上降低了无线网络的性能。因此,在现有技术中,缺少的是通过使连网设备可作为网络内的智能和集成元(类似于路El:3器/交换机)来使网络中的连网(例如,移动)设备具有认知度和千预性。在现有技术中,连网设备,特别是移动设备,缺乏基于其可指知的有线或者无线网络的类型以及其向其它连网设备通信的数据的类型作出决策的能力(在给定无线和有线网络之间的盖异的前提下,在这两种网络类型上数据通信应被区别对待)。现有技术未能解决下列问题1.TCP/IP在无线网络......匕效率低—F;2.在连网设备的协议层内缺乏对无线网络的知识;3.VoIP和称作实时传输控制协议(RTCP)的标准流视频控制协议在无线网络......匕效率低h4.不依赖于1P报头的信息,就不能在不同类型的数据之间进行动态区别并满足其在混合网络中的实时要求;5.混合网络中的移动设备不能知悉可用网络的类型以及每一网络在任何给定时间的状态,也不能在不要求任何额外事务的条件—F就将状态信息作为数据协议投递的一部分反馈给网络;6.混合网络中的移动设备在物理层之外以及在IP展之F不能预测无线网络的信噪比(SNR),并且不能针对适当的话务类型作出决策,例如,是转发话务还是通过不同网络重定向话务,或基于网络的状况和网络策略来同时使用这两种类型的网络;7.不能在移动设备内提供IP以下的层中的局部抖动处理;以及,8.不能基于网络状况和策略,或者通过由分类ID设置的DNA/指纹或者确定的应用类型来提供移动设备内的移动数据话务优先排序、排队和调度。人们一直试图解决.h述问题,特别是TCP/IP在无线网络...I::效率低.F的问题。这些解决方案包括使用TCP/IP欺骗和隧穿技术,这些技术效率低—F并且经常会造成更多不必要的数据在无线网络....I::被发送,还会给网络设备造成额外的处理开销。TCP/IP是为有线网络所设计的协议并且很适用于解决在该环境中的问题,这些问题通常是与拥塞相关。如果在使用TCP/IP的网络中的一个节点没^接收到确认,则该节点就推定在网络中存在着拥塞并且试图通过减缓传输和提供流^控制来帮助网络。在无线网络中,不能在给定时间内接收到确认通常不是由于拥塞而是因为瞬时网络延迟、^4强度陡降或者等待时间变化所引起的。在这样的情况下,TCP/IP节点就会减缓传输并且等一些时间才返回到其正常操作速度。这时,就会因不必要地减缓了的传输而降低相同带宽...匕的吞吐量。由TCP/IP所引起的另一问题是它是为有线网络的低误比特率链路环境所设计的,因此,如果分组流内有一个分组丢失,则要重新发送所有的分组。例如,如果在20分组的流中丢失了单个分组,则网络节点就要重新发送该流中的所有分组,即使该流中大多数分组已经被成功接收。某些应用层协议——例如,超文本传输协议(HTTP)——以无线网络不友好的方式来使用TCP/IP。例如,当HTTP浏览器——例如,微软Explorer浏览器——作出通信请求时,HTTP浏览器就会进行两个或者三个同时的TCP/IP调用。每一TCP/IP调用都需要三方握手(三次请求和响应)来建立链路。在无线链路(通常比有线链路具有更高的等待时间).匕如果响应没能及时到达,则这就被解释成需要新的TCP/IP请求。如果有-个TCP/IP链路延迟了,则浏览器就会用另一个三方握手来请求另一个TCP/IP链路。所有这些通信都会产生额外的开销并增大无线网络的延迟。为了解决这些问题,已经提出了-些聚焦于使用诸如因特网浏览器之类的应用的单一类型数据的解决方案,但是这些方案效率低—卜'。以—F是所采取的一些旨在克服TCP/IP在无线网络......匕效率低'F的方法。1.数据(内容)压缩,这减小了在网络匕传输的数据量;2.移动设备内的域名系统("DNS")高速缓存;以及,3.己压縮TCP/IP分组的用户数据报("UDP")隧穿,以及TCP/IP欺骗。至今为止,这些方法都不能完全满足要求。它们方法各自的缺点如下1.内容压縮内容压縮一般仅仅只适用于"后台"应用和一些交互式应用,例如,因特网浏览器请求包括文字和图像对象两者的web网站。这一方法基于数据是有损还是无损的分类压縮内容,例如,联合图像专家组("JPEG")和文本("txt")文件格式。这些分类允许采用不同的方式和比率进行压縮。尽管这一方法减小了在网络上行进的数据的量,但这会间接导致更多地占用带宽,它不能消除TCP/IP在无线网络上效率低下的问题,因为是无线延迟变化引起了TCP/IP的这种奇怪行为。2.移动设备内的DNS高速缓存移动设备内的DNS高速缓存用于减小DNS搜索所需的时间。这种技术要求移动设备内的软件高速缓存每一次DNS查询来自DNS的结果。下一次,请求相同的查询时,DNS高速缓存就用于提供结果,以替代在网络上传送请求并等待响应。这一技术减少了频繁传递所请求的查询的需要,但是它并未直接解决TCP/IP效率低下的问题。3.隧穿隧穿包括已压縮或者非压缩的TCP/IP数据的UDP隧穿。隧穿要求通信的移动设备和服务器两者内的软件捕获TCP/IP数据并使整个TCP分组隧穿过UDP。这项技术的缺点包括(i)过程消耗。当TCP数据已经被创建并且传送到较低层时,网络节点应该将数据传递回较高层的用户模式的代理类型的应用,它在内核模式下将TCP分组发回给协议层,但这次请求UDP分组(称之为UDP隧穿)。如果网络节点使用IP安全(IPSec)虚拟专用网络(VPN)加密安全的话,则被隧穿的TCP数据将通过另一IPSec隧道。这就意味着要为一个小的移动设备付出更多的处理时间,并且隧穿技术会引起更多的延迟。此外,如果压縮或者加密发生在第4层(在TCP和UDP层之上并在应用层之下),则代理类型就不能够区分应用的类型。(ii)网络话务量增大。隧穿内的隧穿(正如以上所讨论的)会增加网络上的话务量。这种"解决方案"不能够解决由于无线网络等待时间的变化所产生的TCP效率低创建但是被不同的协议所巻绕以便传输。隧穿TCP数据的主要原因是为了压缩数据,因此数据被巻围着另一个协议以便传输。然而,如果网络具有较高的等待时间,则TCP仍将会由于未能以及时方式接收响应导致奇怪行为。为了克服在无线和混合网络上的TCP问题,有一些解决方案涉及传递额外的分组,例如,ping或者额外确认,以便于维持无线链路上恰当的TCP行为并为软件应用保持链路"存活"。这种方法也是通过因不必要的数据而增大了无线网络上的话务量,并且还将新的分组交换网络的机制改变为早期传承的电路交换网络的机制。分组交换网络的原则是只有在有数据要传送时才向移动用户分配链路。在用户等待响应的时间期间,上行链路将被分配给另一移动用户。这就产生较高的网络容量并且使现有网络能被更大数量的网络用户所使用。电路交换网络使得链路在某一段间上被分配给移动设备用户,而无论该移动用户是否有任何数据要传送。在这一时间期间,其它移动设备用户等待网络将该链接从移动设备用户解除分配并且重新分配给他们使用。这就导致较低的网络容量和低效率的网络使用。漫游漫游是指在网络链路上从一个接入点("AP")移动到另一个接入点的过程,例如,移动设备用户在机场内移动时所发生的情况。对于面向连接的应用(例如,基于TCP/IP的应用)而言,将通信和连接从一个AP转移到另一个AP的等待时间会导致在接收到来自一个新的域的新的IP(在域内移动的情形中)之后重传数据和重新建立TCP。对于时间敏感的应用而言,这就会导致因从一个AP或者一个域移动到另一AP或者另一域所引起的更多延迟。目前,处理这一问题有两个优选的方法1.抢先式AP发现,在该方法中移动设备扫描可用网络,以便于在作出漫游的决策之前检查可用AP的强度;以及漫游时式AP发现,其中,移动设备作出漫游的决策并随后进行区域扫描,以便于找到替换AP。这一方法是供应商专用的并且不基于任何特定标准。2.客户机可以发起漫游,该方法在各种标准中有完好的定义并因此客户机可以恢复应用会话。现有技术的问题在于恢复应用会话,并且这在任何标准中都没有被规定。有人提出网络内的移动IP标准能够解决这一问题,但是移动IP内的信令话务量产生太多不必要的话务。发明概要根据本发明的系统和方法包括一个软件平台,它提供对有线、无线或者混合网络的混合移动数据话务管理。该系统和方法针对不同数据类型不同的要求以及它们在不同无线网络上的行为;每一网络都具有不同的特性和变化的网络状态。移动设备被纳入为整个网络的一部分,而不再作为网络之外的独立实体。在已有技术中,移动节点(即,移动设备)是独立的实体,与网络是脱节的,对可用网络的类型视而不见,并且对其与其它连网设备通信的数据的不同类型也视而不见。本发明提供了一种综合的软件解决方案,该方案将移动节点纳入为网络的一部分,使之能够成为网络内的主动参与者,并且使之能够管理并与网络组件协商具体的数据需要。根据本发明的系统和方法使得移动设备知悉网络状况和应用类型,并因此知悉它们的要求,还知悉在任意给定时间的网络策略,因此能够作出高效率的决策。必要的"智能"是具备的,从而不再需要改造"任何"应用,移动设备的操作系统(OS)代码结构或者硬件。该解决方案使得网络具有或者不具有根据本发明系统都可工作(但是,网络具有该系统可以更加高效率地工作)并且其它不使用本系统的移动设备也能够在该网络内工作。这是通过给移动设备的OS添加了无需发起方和目的方的接入就能截取系统调用和改造调用的能力来达成的。为了实现这些能力,在移动设备的内核OS内插入了两层以截取应用路径。第一层接收应用调用,识别应用和数据的类型;建立协议;并且重定向到UDP(如果其是针对TCP的话)。第二层控制物理层,由此第二层监控网络的状态,预测在不久的将来网络的状态,基于这一信息来调度传出话务的类型,提供对所接收到的对话类应用的分组的局部抖动处理,以及将所收集到的状态提供给其它层。第二层还提供分组在可用的多种类型网络之间的重定向和转发。因此,根据本发明的系统i)通过采取协议方法来管理单一和混合网络上的所有数据类型来产生更大的带宽效率和网络容量,从而减少由应用在无线网络中建立的额外连接(仅仅一个连接是必要的)所产生的开销以及通过减少所要的确认、只发送没有过期的数据并滤掉其它数据、以及不使用效率低下的TCP/IP欺骗和隧穿技术,来减小所传送的数据的开销;ii)通过使用专为无线网络设计的并且能够与所有的数据类型(而不再只是"后台"数据类型)一起工作的高效率协议来提高整体的服务质量。通过将TCP/IP命令结构直接嵌入移动设备(或者其它连网设备)的上层中,来创建一协议;并且通过为不同数据类型提供高效率的优先排序、排队、和调度,为诸如VoIP、互动游戏和流视频、以及电子邮件和公司应用等提供优越的体验;以及,iii)为支持多个网络(混合网络)的运营商提供更好的网络报告和整合策略。因为系统内存在着客户机组件,因此现在运营商能通过将移动设备视为网络元来端对端地观察它们的网络,从而使得运营商能够支持更强的服务水平协议(SLA)和服务质量承诺。此外,有关网络和应用状态及性能的信息被包括为投递数据的相同协议中的一部分,并因此消除为确定网络的状态和性能进行额外事务或调度的测试的耑耍。冋样,运营商能观察在客户机设备—...i::有什么,包括软件和移动设备配置,由此允许运营商能以及时方式处理服务问题,从而既降低成本又减少顾客挫折感。因为作为数据协议投递的一部分,网络信息被传送给到服务器组件,因此运营商可以接收有关网络状态的详尽报告,从而给运营商带来网络的完全可见度。根据本发明,移动设备....匕的系统的低层组件使得能够无缝交换或同时使用多种网络技术(例如,在蜂窝2.5G/3G/4G、Wi-Fi和WiMAX之间),这可以基于使用策略、应用类型和/或网络策略。这允许运营商向他们的顾客提供多种网络选择,使用最好地满足用户要求的选择而不需耍用户向己关心如何来使用这些网络,或者在何时切换到网络而不会中断用户或应用。这还通过允许运营商使用更快的网络来进行回程传输一一例如,对音乐下载使用Wi-Fi,而对电子邮件和其它数据应用使用比较昂贵的蜂窝网络——为运营商提供了更大的网络效率。提供了一种调度分组的投递以供从网络设备传送的方法,该方法包括以—F步骤将该分组按类型来分类;将该分组插入到与所述类型相关联的队列中;基于所述类型为所述分组关联一个时间;井且如果所述分组在时间到期之前没有被调度进行传输,就通知调度器所述分组己经过期;如果所述分组在所述时间到期之前被调度进行传输,则根据所述队列来传送所述分组。分组可以分类成语音、视频、音频或者数据中的一种,并且最大左惜伞和P传尝试的最大次数与所述类型相关联。如果分组是"语音"类型,则与该分组相关联的时间将遵循Pareto分布模型,而如果分组类型是"数据"类型,则与该分组相关联的时间将遵循指数分布模型。提供了一种优越调度分组以供传送的系统,该系统包括队列管理器;用于将分组分入一类并为所述分组关联一时间的分组分类器,分组的类型包括以.F集合一一语音、数据、音频和视频;对于每一所述类型的分组,有一接收所述类型的分组以供传送的相应队列,所述队列管理器从所述队列来确定所要传送的分组;以及队列跟踪器,用于向所述队列管理器报告过期的分组。附图简要说明图1是示出一混合网络的方框图;图2是示出一混合无线网络的纵向视图的方框图;图3是根据本发明的移动设备的示意图;图4是示出根据本发明的系统中的客户机层概观的方框图;图5是客户机相对于其他协议的位置的方框图;图6是示出对传入应用的话务的管理的流程图;图7是示出较低层客户机架构的示意图;图8是示出调度器的示意图;图9是示出SNR播报器的示意图;图IO是示出预先注册及发现过程的流程图;图ll是示出DMP信令结构的表;图12是示出DMP会话的优选实施例的表;以及,图13是示出DMP分组的结构的树。发明具体说明定义在本文档中,下列术语将具有下列含义"高级服务器"是指与ICS进行通信、而ICS可以通过其来访问网络的服务器;"远端主机"是指与网络进行通信的作为传送目的地的目的连网设备,例如,移动设备、服务器或者软件应用;"混合网络"是指对不同网络节点及网络设备使用不同通信协议的网络,且可以包括移动设备,并可以采用一种以上类型的无线协议进行通信;"网络设备"是指能够与其它网络设备进行通信的形成有线、无线或者混合网络的一部分的设备;以及,"无线设备"或者"移动设备"是指用于通过无线或者混合网络与有线或无线设备进行通信的设备。根据本发明的系统设计成与混合网络一起使用,其示例如图1和2所示。虽然在讨论根据本发明的系统和方法的说明性示例时使用的是混合网络,但本发明可以在仅仅使用单一通信协议的网络中使用。图l示出了代表性的混合网络环境l,在该混合网络环境中,几个网络与彼此、与因特网10和移动设备30通信。混合网络环境1的元包括移动交换中心(MSC)40、基收发机站(BTS)50、基控制站(BCS)60、网络节点70、无线电网络控制器(RNC)80、公共交换电话网络(PSTN)90、短信息业务-全球移动通信系统中心(SMS-GSMC)100、本区位置注册/认证中心(HLR/AuC)110、信令系统#7(SS7)网络120、使用移动申请方代理(MAP-P)的设备标识注册(EIR)155、通用分组无线业务(GPRS)网络130、网关GPRS支持节点140、分叉网关(BG)145、网关GPRS支持节点(GGSN)150、公共地面移动网络(PLMN)160以及PLMN间主干网络170。混合网络环境1可以具有多种不同组件以及其中所使用的通信协议。图1示出典型的、但并不是代表性的网络。图2从纵向视角示出了混合无线网络环境1的替换视角。卫星网络200提供了最为广泛的覆盖,并且卫星网络200内是无线广域网210,在本例中是GSM/3G网络220。在无线广域网210内是无线市域网230,在本例中是WiMAX网络240。无线局域网络250在无线城域网260内,在本例中是WiFi网络接入点270。最后,在无线局域网内是无线个人网280,它包括使用诸如蓝牙和超宽带(UWB)等协议来通信的多个网络设备30。图3和4示出了纳入根据本发明的系统的移动设备30的示意图。图3示出了这类移动设备30的概观,而图4示出了内核层300的细节以及在根据本发明的智能客户机系统与移动设备的操作系统(OS)之间的关系。话务管理系统作为标准OS库和功能调用接口的一系列驱动器存储于移动设备上,如图3和图4所示。话务管理系统是一种智能客户机系统("ICS")310,它包括三个主要组件1.上层,TOPICS3202.动态多媒体协议("DMP")330,用作为传输层协议;以及,3.下层,LOWICS340。客户机ICS310与TCP350在同一层上,但是延伸到数据链路层(迷你端口驱动器315),正如图5所示。图5图示说明了LOWICS310与OS中其它协议之间的关系。LOWICS310作为协议驻留在OS中,但是除了TOPICS320之外,没有其它应用或者层调用LOWICS310,而LOWICS310截取到达的要去往其它协议(例如,TCP/IP350)的调用。协议相对于它们在OS内的分层结构以链式格式相互关连。每一协议指向它11在链中的下一个协议,并且将它自己绑定到称为迷你端口驱动器315的可用网络驱动器。因此,在所有的其它协议都已经被加载之后,LOWICS310被加载,并随后指向链中的第一协议入口,TCP/IP350,且注册并绑定到可用的网络驱动器,迷你端口驱动器315。以此方式,LOWICS310能够截取离开IP层去往MAC层的任何分组并因此能在LOWICS层310中对该分组施加策略和调度。移动设备30的其它组件,如图3所示,包括库370、系统调用接口380、TCP/IP系统文件390、文件子系统400、缓冲存储器410、设备驱动器420、字符430、块440、硬件控制450、以及在硬件层470处的硬件/NIC(网络接口卡)460。内核层300还包括进程控制子系统510,它包括调度器700、内存管理器530以及进程间通信器540。TOPICS层320TOPICS层320的主要职责是与来自应用360的调用接口。TOPICS320维护所有的应用(请求者)信息,包括套接字信息、设备和文件对象信息,以及它们的接口,包括预期的最大传输单元(MTU)、缓冲大小、接收接口、预期接收消息格式、超时等等。TOPICS层320维持与预测的应用360的行为有关的记录。正如图4所示,移动设备30的OS的其它组件包括网络驱动器接口规范(NDIS)接口480、UPD接口490、IP接口500、以及ARP接口510。传输驱动器接口550设在TOPICS320与应用360之间。TOPICS层320还与下层LOWICS340进行通信,以通知LOWICS340传出话务的类型,在这里称之为"前信道传输"。LOWICS层320随后将请求者的消息传递给DMP330。TOPICS320包括用于组装分组的TOPICS-DMP组装工作器(未显示)和用于与应用360进行通信的TOPICS接口。传出话务以下是移动设备30将由应用360发送的分组通过ICS310向远端主机传出所进行的事务序列。1.由TOPICS320通过使用应用名、通信端口、和/或扫描请求连接的前两个用户应用缓冲中的报头信息来识别应用程序360的协议。由TOPICS320通过将提取出的信息对照存储于设备上的应用ID和/或签名和/或应用目录ID相比较来验证提取出的信息。TOPICS还检查并确定应用程序360所请求的传输层协议的类型2.由TOPICS320根据请求(例如,创建TCP套接字和/或连接到某一主机的请求)是成功还是失败向应用360发送针对相关任务对请求者(应用程序360)的响应。3.随后,TOPICS320创建并维护有关应用360的应用簿记数据结构以及套接字信息,用于将来自远端主机的响应转发至合适的应用360。4.由TOPICS320通知LOWICS340合适的传出话务类型。5.随后,TOPICS将应用360的数据传递给DMP子模块,以便能基于应用的类型来建立相应的DMP请求协议,并且建立DMP分组(以下进一步描述)。6.将DMP分组传递至UDP190并随后传递至IP500层。7.LOWICS340接收来自IP500层的IP/UDP/DMP分组;以及,8.调度IP/UDP/DMP分组并将其传递至合适的网络接口卡(NIC)460,以便于通过高级服务器传送至远端主机。传入话务图6示出了ICS310接收发给移动设备30的分组的处理过程,此过程如下1.由NIC460接收一DMP分组;2.LOWICS340从DMP分组中分离出IP报头;3.通过DMP头来识别DMP的类型,并由LOWICS340接收机模块确定是否需要进行局部抖动处理;4.如果DMP包含除实时类型以外任何类型的数据,则通过直接调用将DMP分组传递给TOPICSDMP组装工作器(未图示),这是DMP模块内的一个组件(从而使得分组不需要通过IP层500);5.TOPICS-DMP组装工作器模块组装分组以建立消息,并且当信息完成时,就将其传递至TOPICS接口530;6.TOPICS接口530通过它的应用簿记数据结构来确定应该是消息接收方的正确应用360;以及,7.TOPICS接口通过标准的OS调用将消息传递至应用360。DMP(动态多媒体协议)DMP330是一种能够携带任何类型数据的协议。DMP330根据需要,例如,根据针对变化的确认要求和最佳的分组大小,来动态地适应性调整它自身。DMP330共享UDP的某些特性并且也共享TCP的某些特性,然而,DMP携带任意类型的数据同时通过其如图11、12和13所示的动态报头比特来满足每种数据类型对任何类型的无线链路的要求。DMP330使用UDP/IP层500作为传输和网络层协议。DMP330。DMP330优选地与IPv4和IPv6两者一起工作,并且提供针对应用的标准接口和去往UDP/IP层500的标准接口。图13图示说明了DMP的分支。正如图13所示,在DMP中存在着可由报头比特来区别的三层;1.DMP层1:包含"DMP内部"和"DMP通信"(DMPCOM)。DMP内部用于单个子系统内各组件之间的内部通信,例如,在TOPICS320与LOWICS340之间的通信。2.DMP层2,是从DMPCOM分出的分支并且它携带三类消息信令、控制和会话。DMP信令用于两个子系统之间的通信,艮P:a.DMP控制在LOWICS《今AP中的软件之间、以及在AP中的软件—^用于控制目的服务器之间的活动。例如,服务器通知ICS改变它的分组大小或者ICS向服务器提供网络状态信息或者日志。DMP控制还用于向ICS发送控制信息以便于控制ICS的功能集。3.DMP层3,是从DMP信令和DMP会话分出的分支(各自分为两支)a.DMPComSignaling请求在TOPICS320《^高级服务器之间携带诸如注册、重新注册、取消注册和确认等的信令请求b.DMPComSignaling响应携带对所请求的信号的响应c.DMPComSession消息携带实际的应用数据d.DMPComSession控制携带应用连接请求,例如,套接字连接和/或控制反馈信息,例如,RTCP。图11和12图示说明了适用于上述根据三层结构的DMP信令和DMP会话两者的DMP结构的细节和实施例。也可以使用DMP协议的其它实施例,包括本文以及附图中所描述的特征的子集。LOWICS层LOWICS层340包括四个主要子模块,各自讨论如下。LOWICS层340以三种不同的格式驻留在移动设备30的OS中,这三种不同的格式是层、挂钩(一种将层插入在操作系统中的方法)和协议。图7图示说明了LOWICS340相对于OS的概观以及它的内部组件。如图7所示,这些模块包括1.调度器系统700;2.网络监控器570;(a)邻域发现;(b)信噪比播报器;(C)分组转发;3.局部抖动缓冲710;以及。LOWICS—调度器根据本发明的系统具有在移动设备30(或者其它连网设备)接收或发送的不同类型的数据之间加以区分的能力,并且能够识别针对这类数据的移动话务模型。各种不同的数据类型具有其自己的要求,包括端对端传输控制、和等待时间敏感的实时要求。根据本发明系统的一个目的是尽可能多地满足这些不同数据类型的要求。因此,该系统以控制无线链路上的话务、维持负荷、增大网络容量、和提供带宽改善为目标来区分数据和处理分组。为了识别数据类型要求,要识别和考虑三个参数i)最大差错率解释为用于识别物理信道以及传输层协议的差错检测的类型的可接受值。ii)最小吞吐量解释为投递的优先级,因为不同类型的分组具有不同的投递时间要求。对于某些类型的数据(语音、流视频等等)而言,在时间过期之后传送分组变成为网络开销的一部分,因而不再投递相对于时间而言已经过期的这类数据。iii)最大延迟解释为这种数据类型的重传尝试的最大次数以及重传尝试之间的时间。为了管理这些不同的话务类型,系统计算"生存时间"。该生存时间是对特定应用的所有分组作出决策的一段时间。例如,一群分组可能属于消息应用。"会话"是这些分组属于并存在于单一应用的生存时间中的生存时间。生存时间可以是确定性的类型或者是随机分布的两次到达间的类型。使用不同的服务类,即,后台、交互、流和对话等来将话务类縮小到语音、视频、音频和数据的范畴,从而能概括出每种数据类型的特性和要求,并能识别出移动话务模型,如下表1和2所示。表1话务类型和敏感度话务类刑等待时间1两次到达A、1间生成率分组人小话务模型语音高敏感度低敏感度固定固定Pareto分布~)=i-(|)",/^s数据低敏感度高敏感度高度可变髙度可变指数分布,=1-e_7,,20视频高敏感度低敏感度固定高度可变(取决于编解码)表1话务类型和敏感度表中F(P):Pareto分布函数,S:最小分组大小,P:分组大小F(T):随机分布函数,t:时间,T:两次到达间时间t的预期值作为一个示例,IP电话(VoIP)对于等待时间是髙敏感度的而它对于差错是不敏感的,因为用户总是能够要求另一方重复。然而,到达TOPICS320的数据速率是固定并且它的分组大小也是固定的。再看VoIP生成的话务,它遵循Pareto分布的模型。然而,诸如因特网浏览器一般通信的数据对等待时间具有非常低的敏感度而对差错一一例如,接收到受损的银行信息__是高敏感度的。数据分组的到达速率(或者它的生成速率)是可变的并且不可预测的,因为它是以突发串的形式生成和到达的,并且它所生成的话务类型遵循指数分布。话务模型的这种类型信息允许调度器系统700基于所预期的话务模型类型以及可用网络是否具有投递此话务的能力来作出调度决策。例如,在移动用户在2.5代网络(例如,GPRS)的混合网络中,使用VoIP应用就不适合,因为这类网络不具有投递这类话务的能力。表2服务分类说明<table>tableseeoriginaldocumentpage16</column></row><table>表2业务类描述正如表2所示并基于表1,话务类型可根据它们必须被服务、投递和转递给网络的优先级和容许的误比特率(BER)来分类,从而使得如果分组中的差错小于BER,则不需要请求重传数据,并且还能确定在数据到期之前该数据还能够被重传多少次(基于它的生存时间)。例如,VoIP分组可在该分组的生存时间到期之前使用快速重传来重传(如果没有到达)三次,分组的生存时间端对端是250毫秒(正如在VoIP标准中所设定的)。使用这种方法,T(两次到达间的时间t的预期数值)、S(最小分组大小)以及a(常数值)的值可以插入到表1所示的Pareto或者指数分布函数中,以便于调度器系统700能够为分组调度作出决策。不同类的业务包括交互类的业务,它是指面向请求/响应的应用/话务类型,并且它要求用户的交互。这类应用的一个示例是发出请求和接收响应的因特网浏览器。后台类的业务是指其在后台运行并且进行突发型事务的应用类型。电子邮件是这类应用的一个示例,它不需要用户的交互,电子邮件在后台运行并且接收信息。流类的业务是指请求接收类似于视频或音频的媒体——未必是实时的——应用类型。实时类的业务也称为对话,是非常时间敏感的业务类型。它们一般都具有由产业界所设定的固定生存时间。作为一个示例,IP电话仅仅只有250毫秒的可接受延迟,如果在此之后接收到,分组就将不被接收机处理。这类应用/业务的示例是IP电话(VoIP)和视频电话。调度器系统700包括三项主要任务,g卩,队列管理;调度;以及信道SNR播报器。如图8所示,调度器系统700中的队列管理器800包括分组分类器810、专用于不同类型的数据的多个队列820、以及队列跟踪器830(队列扫描器和分析器),队列跟踪器用于报告存储在每个队列内的话务和在每个队列中到期和延迟的分组的数目。调度器840起到队列管理器800与数据链路层850之间的决策制定者的作用。调度器840检测队列管理器800及数据链路层850的内容并作出决策。调度器840还管理在网络层与数据链路层850之间的数据话务。这一处理将高层应用或者网络层与和低层的直接交互隔离开来。然而,这些层是互知的。在实践中,IP层500将分组传递至分组分类器810;分组分类器810检査分组的类型,并且基于分组的类型为分组关联适当的时间,随后将该分组插入到合适的队列820中。在该系统的优选实施例中,队列用于上述讨论的四种明显不同的数据类型,即,语音、视频、音频和数据。随着无线网络的发展,可以包括具有不同特性的其它类型的数据。队列820所提出的挑战是需要监控队列的模块,该模块一般会增加传输调度的延迟。出于这一原因,插入在队列820的缓冲中的每个分组都是一个有效的记录,导致创建出定时器类型的分组。对每一个定时器,这些分组的过期时间长度是变化的,因为定时器分组也是有类型的(例如,语音、视频、音频或数据定时器)。如果分组在定时器到期之前没有到达调度器840处,则该分组就退出队列820并且通知队列跟踪器830它到期了。队列跟踪器830向调度器840报告过期分组的数目,从而通知调度器840在每个队列820中的话务拥塞。调度器840基于在队列820内的数据类型的时间敏感度来判断哪一个队列820应该首先接受服务。调度器840也可以被部署在服务器上以调度去往多个移动设备的下行链路数据话务以及移动设备内不同的数据话务。LOWICS—网络状态监控器SNR播报器卯O,正如图9所示,是网络状态监控器模块的一部分。SNR播报器预测在从目前(0)到接下来的10ms之间的时帧的近期信噪比。这一组件的目的是能够检测预期的信噪干扰比(SINR)值。一般来说,SINR是信号强度与背景噪声比的比率。链路速率取决于用户位置上的SINR。SINR在蜂窝小区内可能会显著变化。这种变化是所有无线系统固有的特性并且主要因为在RF传播损耗、建筑物穿透损耗、衰减效应以及同信道干扰而发生。其结果是,用户所体验到的链路速率可能取决于他/她在蜂窝小区内的位置,正如在DSL的情形中那样。基于来自网络监控器520的支持,能够监控SNR值。SNR播报器系统的目的是接收所监控到的SNR值并且通过观察在过去5ms到现在的这些值,能够计算和估计在接下来的5至10毫秒中的SNR值的预期值。结果所得的这一预期数值将被网络监控器的状态模块用于作出何时将网络从一种类型切换到另一类型(例如,WiFi到蜂窝)的决策,也可以被调度器系统用于将这一参数纳入到它的调度决策制定的考虑中。LOWICS—邻域发现邻域发现是一种根据本发明的方法,用于减少在无线链路上从一个接入点("AP")移动到另一接入点(称之为"漫游")所需要的时间,例如,移动设备的用户在机场中移动。在消除这种延迟——尤其在RF层(层1)中消除这种延迟的方面有几个不同的研究领域。在一优选的实施例中,使用了RF层等待时间减小的层3.5解决方案。对于面向连接的应用(例如,基于TCP/IP的那些应用)而言,将通信和连接从一个AP转移到另一AP的等待时间会导致在接收到来自新的域的新的IP(在域内移动的情形中)之后数据的重传和TCP的重新建立。对于时间敏感的应用而言,这会导致由于从一个AP或者域移动到另一个AP或者域所引起的更多延迟。在一优选实施例中,使用了层3.5的解决方案,该解决方案是层2漫游的超集。在该实施例中,在媒体访问控制(MAC)层之上且在IP层500之下的一层监控(各)AP和域,处理在不同AP之间转发的分组,同时还为更高层屏蔽掉任何变化,这种解决方法需要层2首先漫游,但消除了对新AP应用认证和漫游而导致的额外延迟。为了实现优选的漫游方法,要考虑三个主要领域a)邻域发现;b)预先注册;和,c)分组转发。在一优选实施例中,位于LOWICS340内的网络状态数据模块570提供网络状态数据和邻域发现。在该实施例中,LOWICS340具有IP层500的单个虚拟适配器接口,但是可将其自己绑定到尽可能多的可用NIC460。网络状态监控器570监控从Wi-Fi卡收集到的AP信息,包括AP名、MAC、信号强度、噪声强度以及信噪比。网络状态监控器通过接收来自SNR播报器900的信息来检测下一个最接近的AP,计算从过去起到未来一个小的时间帧内的一段时间的SNR。SNR播报器900随后将具有已经决定将移动到的"备用AP"的预先注册信息发送给网络状态监控器570。因此,在作出漫游决策之前就定位好了AP。在一优选实施例中,AP包含可更新的固件。一般来说,AP固件包含着IP层协议结构,包括路由表、MAC地址更新表、DNS和其它功能集。该固件可以通过增加预先注册表来更新。在识别了AP之后,网络状态数据模块随后向AP发送预先注册请求。AP将该请求转发给高级服务器("AS")并且要求对移动设备30进行认证。AS将对照其数据库校验移动设备30的身份并向AP发送授权。AP随后在AP的预先注册表中记录移动设备30的MAC地址。AP还将它自己的MAC地址、网络地址和生存时间发送给移动设备30。当网络状态数据模块570接收到这一信息时,它将其存储以备下一次漫游使用。生存时间告诉网络状态监控器570该AP将把该信息保存在它的预先注册表中的时间长度。如果这一时间过期,则网络状态监控器570就应该期待另一轮预先注册请求。同时,网络状态监控器570将继续注视SNR,以便于确定备用AP是否是下一次漫游合适的AP。在备用AP的SNR降级的情况下,网络监控器考虑寻找并预先注册新的AP。在LOWICS340中的网络状态数据模块570继续监控网络状态和SNR。在快漫游时间和客户稳定性之间保持平衡是十分重要的。例如,AP的信号强度因变于它的环境和频率而减小是很正常的,因此,对于漫游或者"换手"并不应该考虑这一事件,因为这可能是AP信号强度的瞬间事件,并且不是这种AP的正常信号强度。为了达到这一要求,就针对在漫游到那一个AP之前信号的稳定性创建一时帧阈值。优选的阈值应该是在5和10ms之间,但也可能使用较长或者较短的时间长度。漫游应当发生在现用AP中的SNR减小并且备用AP中的SNR增大之后。为了从一个AP或域移动到另一AP或域,网络状态监控器570首先通过备用AP向AS发送更新注册(重新注册)。当备用AP已经在它的预先注册表中具有这一信息时,它就立即将此请求推行至AS。这就将IP的变化通知AS,从而AS将开始将下行链路话务通过移动设备的新的目标IP重定向到移动设备30。在移动设备30接收到来自AS的确认之后,移动设备30重定向上行链路话务。在这一时间期间,移动设备30在接收到确认之前不将任何上行链路话务发送给AS。这一方法减小了在漫游过程中的分组损耗,减小漫游的历时,因为此信息已经存在于AP处的预先注册表中,并且对移动设备IP的改变对移动设备和在因特网上的远端主机应用两者而言都是完全透明的。后者将把AS视作为移动设备。图IO显示了在预先注册和邻域发现中概览的事件序列。LOWICS—局部抖动处理LOWICS340局部抖动处理器710处理所接收到的实时数据类型。它的主要职责是基于所接收到的网络状态和信息来处理VoIP和实时视频上的抖动。这消除了使用会产生高网络开销的RTCP的需要。为了达到这一目的,缓冲代理机构检查在DMP内的内容类型(ToC)并且决定是将DMP投递给更高层还是将其保留在缓冲模块中。插入在缓冲中的每一数据分组都被附连于一定时器。当定时器到期时,该数据分组就会退出在更高层中的缓冲队列。这就使得缓冲的各列成为"观察"该缓冲的状态的主动代理机构。这就减少了由代理机构跟踪哪些必须从缓冲中移除以及哪些不用从缓冲中移除的需要,并因此减小了缓冲的延迟。此抖动缓冲是在较低层中,因为决策是基于实时网络信息而不是RTCP所提供的反馈机制作出的。这种反馈机制的效率不是很高,因为传入反馈的频率不能被调节以实现无线话务的效率而同时又提供充分和及时信息来减小抖动。使用上述处理,抖动可以减小20%至30%。网络策略根据本发明的方法和系统还能够基于网络策略的要求来控制网络设备。在这种情况下,网络策略必须被创建,并且当网络设备请求注册时,必须被发送给网络设备(例如,移动设备)进行存储。当应用试图接入网络时,将检查网络策略的使用,并且TOPICS和LOWICS将根据策略来向应用提供网络接入。在网络设备与网络服务器之间发生事务期间,在任意时间,如果高级服务器中的数据库处中的网络策略发生变化,就将该变化以"策略推行"命令的形式推行至网络设备。下面的两个表将叙述在一优选实施例中在注册时将被推行至连网设备的策略参数。表3描述了这些策略参数,表4描述了"服务类"的数据结构。表3:<table>tableseeoriginaldocumentpage20</column></row><table><table>tableseeoriginaldocumentpage21</column></row><table>表4:<table>tableseeoriginaldocumentpage21</column></row><table>网络性能根据本发明的方法和系统能够在任何类型的网络上向运营商提供任何应用的服务性能和状态信息,而不需要在网络上创建额外的事务。为了做到这一点,网络设备在设备上存储了每应用可接受的性能阈值参数。当应用数据被携至高级服务器时,网络设备就存储有关每分组使用的网络类型的信息,每个分组上的信噪比参数、丢失的、重复的、重传的分组、以及投递应用消息和接收响应信息所需要的总的时间。这信息存储在网络状态监控器520中的数据库内。如果任何参数超出了设于数据库中、设于网络设备本地、或者基于某些规则(例如,网络策略)计算出的阈值,就生成警报并将其发送到高级服务器。应用数据类型的确定根据本发明的系统和方法能够用于在客户设备(例如,移动设备)上确定应用数据的类型,而不需要改变应用。这是在ICS接收到应用请求时通过截取调用来完成的。随后,ICS识别应用名、和/或用于发送消息的端口,和/或报头信息(这是为连接请求发送的前两个应用消息缓冲的一部分)。诸如VoIP、视频、电子邮件、因特网浏览器等这类提取出的信息用于创建诸如实时、流、后台、交互的相应标记,并且分组也作相应的标记。以上所讨论的系统和方法可以被实现为存储于连网设备内的计算机可读存储器上(例如,存储于RAM)或在计算机可读存储介质上的一系列指令。该方法和系统可以表达为存在于载波中的一系列指令,该载波中包含计算机数据信号,用于与连网设备或服务器互通指令,当由移动设备或服务器内的处理器执行这些指令时就执行本方法。上述方法和系统尽管是在无线或者混合网络的背景中进行讨论的,但是在有线网络设备是"智能"的并且能够识别和处理传入的分组的情况下,上述方法和系统也能在有线网络中得到应用。尽管为了说明的目的已经详细披露了本发明特定的优选实施例,但应该意识到的是,所披露装置的任何变化或改进都在本发明的范围之内。2权利要求1.一种调度分组的投递以便从网络设备传送的方法,包括以下步骤(a)按类型来分类所述分组;(b)将所述分组插入在与所述类型相关联的队列中;(c)基于所述类型为所述分组关联一时间;以及,(d)如果所述分组在所述时间到期之前还没有被调度以进行传送,就通知调度器所述分组已经过期;(e)如果所述分组在所述时间到期之前已经被调度以进行传送,就根据所述队列来传送所述分组。2.如权利要求l所述的方法,其特征在于,在步骤(a)中,所述分组被分类为语音、视频、音频、或数据之一。3.如权利要求2所述的方法,其特征在于,所述类型有一最大差错率与之相关联。4.如权利要求3所述的方法,其特征在于,所述类型有一最大重传尝试次数与之相关联。5.如权利要求4所述的方法,其特征在于,如果所述分组是"语音"类型的,则与所述分组相联系的所述时间遵循pareto分布模型。6.如权利要求5所述的方法,其特征在于,如果所述分组是"数据"类型的,则与所述分组相关联的所述时间遵循指数分布模型。7.—种用于调度以便传送的系统,包括(a)队列管理器;(b)用于将分组分类成包括语音、数据、音频和视频的集合中的一种类型并为所述分组关联一时间的分组分类器;(c)与所述各种类型中的每一种相应的队列,用于接收所述类型的分组以便进行传送,所述队列管理器从所述队列来确定所要传送的所述分组;以及,(d)用于向所述队列管理器报告过期分组的队列跟踪器。全文摘要提供了一种调度分组的投递以供自网络设备传送的系统和方法。分组根据类型进行分类,并与同样类型的其它分组一起排队。每一分组与一到期时间相关联。在此到期时间之后,该分组就不会被投递。一队列跟踪器监控这些队列并移除过期的分组。文档编号H04L12/56GK101258713SQ200680029130公开日2008年9月3日申请日期2006年6月6日优先权日2005年6月6日发明者F·阿杰曼迪,S·M·沙瑞夫-阿玛蒂申请人:茂比迪股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1