CN1668028A - 数据包传输的系统和方法 - Google Patents

数据包传输的系统和方法 Download PDF

Info

Publication number
CN1668028A
CN1668028A CNA2005100086287A CN200510008628A CN1668028A CN 1668028 A CN1668028 A CN 1668028A CN A2005100086287 A CNA2005100086287 A CN A2005100086287A CN 200510008628 A CN200510008628 A CN 200510008628A CN 1668028 A CN1668028 A CN 1668028A
Authority
CN
China
Prior art keywords
mentioned
link
layer
quality
protocol stack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100086287A
Other languages
English (en)
Other versions
CN100493030C (zh
Inventor
克雷格·A·邓克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1668028A publication Critical patent/CN1668028A/zh
Application granted granted Critical
Publication of CN100493030C publication Critical patent/CN100493030C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Refuse Collection And Transfer (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

提出了一种用于传输数据包的系统和方法,在一个实施例中,一个客户端可被用于查询协议堆栈的第一层,该堆栈用来为上述客户端提供一条传输数据包的链路。以此查询为基础,客户端可用来对这些数据包在协议堆栈的另一层上的如何传输进行调整,以便于提高这些数据包传输的成功可能性。

Description

数据包传输的系统和方法
发明领域
本申请总体上涉及计算机网络,并且特别涉及到了一种用于数据包传输的系统和方法。
发明背景
随着水平的进一步提高,无线通讯技术现在能够提供出高质量的语音和数据服务。正如熟悉技术者所熟知的那样,无线通讯在服务质量(“QOS”)方面面临着几种挑战,而这些挑战是在有线通讯中所没有遇到过的。更明确的说来,有线链路质量能够依照环境因素,无线客户端站的移动,或者从客户端站到基地站之间路径上的物体移动而进行改变。尽管发展到了无线通讯,然而,某些QOS的局限却依然如故。例如,传输控制协议(“TCP”)数据包使用了一种基于时间的失效检测策略,其中按照一个预先设定的时间段不断地重发那些在收到时并未被确认有效的数据包,每次传输尝试的间隔逐渐增加。在一定次数的重试之后,连接被判断为失效。这种策略在有线链路中十分有效,但它不适用于在无线链路上进行的数据包传输,这是实际连接性的问题。
发明概要
本发明的目的之一在于给出一种新颖的连接系统和方法,它能够克服或缓解先前技术的上述缺点中的至少一个。
本发明的一方面提供了一种方法,它包含如下步骤:
通过检测用于实现链路的协议堆栈的第一层与用于传输数据包的协议堆栈的第二层之间的不同,来判断在一个电子设备和一个节点之间的链路质量。
该方法还可以进一步包含按照所确定的质量调整数据包传输的步骤。
上述的第一层可以是OSI模型的第四层,而上述的第二层可以是OSI模型的第二层。
该方法可以进一步包含:
通过检测用于实现第二链路的第二协议堆栈的第三层与用于传输数据包的第二协议堆栈的第四层之间的不同,来确定在一个电子设备和一个节点之间的第二链路质量。
该方法可以进一步包含在确定哪一条链路拥有更理想质量的基础上,在两条链路之一上传输数据包的步骤。
另一方面,本发明提供了一种电子设备,它可以被操作用于通过一条链路同至少一个节点进行通讯。这种设备可用于通过检测用于实现链路的协议堆栈的第一层与用于传输数据包的协议堆栈的第二层的不同,来确定一条链路的质量。
附图的简要说明
下面将仅仅通过参照特定实施例和附图的示例方式来对本发明进行说明,其中:
图1是依照本发明的一个实施例的用于数据包的传输的系统的示意图;
图2是一示意图,它更为详细的显示了图1中的无线链路和数据包传输管理器;
图3是一张流程图,它描述了一种依照本发明的另一实施例的数据包传输方法;
图4显示了图2中的管理器和链路,它们作为图3方法的一部分而相互影响;
图5显示了在图2的方法中,从所进行的链路质量判断中返回的结果示例;
图6显示了图2中的管理器和链路,它们作为图3方法的具体实现中的一部分而相互作用;
图7显示了图2中的管理器和链路,它们作为图3方法的一部分而相互作用;
图8显示了一个依照本发明的另一个实施例的用于传输数据包的系统;
图9是一张示意图,它更为详细的显示了图8中的数据包传输管理器以及两条无线链路;
图10是一张流程图,它描述了一种依照本发明的另一实施例的数据包传输方式。
图11显示了在图10的方法的实现之前,图9系统中的一条通讯路径的一个示例;
图12显示了图9的管理器和链路,它们作为图10方法的一部分而相互影响;
图13显示了图9的管理器和链路,它们作为图10方法的一部分而相互影响;
图14显示了在图10方法中,从所进行的第一条链路质量判断中返回的结果示例;
图15显示了图9的管理器和链路,它们作为图10方法的一部分而相互影响;
图16显示了在图10的方法中,从所进行的第二条链路质量判断中返回的结果示例;
图17显示了图9的管理器和链路,它们作为图10方法的一部分而相互影响;以及
图18显示了在图10的方法实现之后,图9系统中的一条通讯路径的一个示例;
发明的详细说明
现在参照图1,一个用于传输数据包的系统大致如30所示。在当前的实施例中,系统30包含至少一个客户端34,他经由一个无线链路42连接到一个服务提供商节点38。节点38包含一个无线基站46,它通过链路42和一个NAT网关50同客户端34相互影响。接下来,网关50经由一个回程58连接到因特网54上。回程58可以是T1,T3或者是其他任意合适的从节点38到因特网54的链路。因特网54,它自身经由一个第二回程66连接到一个网页服务器62上。
在一个现有的实施例中,客户端34是一个电池驱动的设备,是无线个人数字助理的基于计算机的环境和功能。然而,要理解的是客户端34并不需要电池驱动和/或可以包含其它电子设备的结构和功能性,例如手机,智能电话,台式计算机或者带有无线802.11或者蓝牙性能的便携式电脑或其它类似设备。一般来说,不应局限理解术语“客户端”,而是应该着眼于它在示范实施例的上下文中如何使用。
还要理解的是,在一个现有的实施例中,在客户端34和网页服务器62之间的链路至少有一部分是限制带宽的。在系统30中,因为链路42是一个无线链路,它可能需要给大量的客户端提供服务,因而链路42的带宽限制涉及了回程58,回程66以及客户端34和网页服务器62间链路的其他组成因素。因此,这样的带宽限制影响了一个用户操作客户端34访问因特网54和网页服务器62的所能达到的速度和效率。这种限制还可以进一步导致客户端34需要重发由于链路42的限制而在链路42上丢失的数据包。
NAT网关50是基于标准NAT技术的,因此它允多个连接到在节点38上的客户端34被连接到因特网54上,尽管只有一个公共网际协议(“IP”)被分配给NAT网关50。因此,客户端34(以及其他连接到节点38上的客户端)将会特别拥有一个私人IP地址,而NAT网关50将拥有一个公共IP地址,它可以被因特网54上的其他方访问。因此,当客户端34访问因特网54时,网页服务器62将会经由网关50同客户端34进行通讯,由网关50在上述通讯期间“解译”IP地址。在一个对于当前实施例而言唯一的示例中,客户端34拥有一个私人IP地址“10.0.0.2”,网关拥有私人IP地址10.0.0.1和公共IP地址“50.0.0.1”,而网页服务器拥有公共IP地址“62.0.0.1”。
客户端34被设计用于判断链路42的质量,以便于当去往服务器62的传输控制协议数据包和其它类似数据包传输失败时,特别是当由于链路42的问题而导致传输失败时,为这些数据包开发出一种重发策略。对于客户端34判断链路42质量所使用的装置并没有做特定限制,但在当前实施例中使用了一种已知的信号强度度量规则,当前它被应用在已知的无线设备上,并且它经常在这种设备的显示器上被显示为栅格范围。使用这种已知的信号强度测量方法,客户端34能够追踪出什么级别的信号强度能提供较好的可能性,使传输可能实现。客户端34也能够追踪信号级别的变化,其中如果在一个特定的信号级别出现传输失败,那么之后就根据一个预先设定值增加信号强度,然后客户端34可以判断链路42的质量是否提升到了一个可以成功实现传输的水平。不管判断出的链路42的质量如何,客户端34都包含一个在其上执行的数据包传输管理器70,它可运行实现这种判断并从中开发出一种重发策略。关于客户端34和这种重发策略的进一步理解将在下面给出。
现在参看图2,链路42被更详细的显示出来,特别是链路42所用的网络协议堆栈100。在一个当前实施例中,网络协议堆栈100是以开放式系统互联参考模型(“OSI”)为基础的,并因此而包含了一个物理层101,一个数据链路层102,一个网络层103,一个传输层104,一个对话层105,一个展示层106和一个应用层107。
图2还更详细的显示了管理器70,它包含两个软件对象110和112。对象110被用于判断链路42的质量并将该信息报告给对象112。对象112被用来基于对象110所判断的链路42的质量,选用一种在链路42上进行数据包(例如TCP数据包或类似数据包)传输的重发策略。
为了改进系统30的不同方面,现在将参考图3,它显示了一种传输数据包的方法,如400所指。为了便于辅助解释这种方法,假定由使用系统30的客户端34来实施方法400。然而,需要理解的是客户端34,系统30和/或方法400可以是不同的。并且不需要一定如在此所讨论的那样相互关联着运作,并且这样的变化也在此陈述范畴之内。
在讨论程序400之前,先要假定客户端34正忙于与网页服务器62进行通讯,并且这种通讯中包括,经由链路42,将TCP数据包从客户端34传输到网络服务器62。首先从步骤410开始,至少有一个数据包通过普通方式被传输。因此,无论TCP数据包正被送往何处,该数据包在链路42上的传输,使用的是在系统30中所用的任意已知方式和/或遵循已知的无线数据包数据传输标准,例如使用通用分组无线业务(“GPRS”)或类似技术。正如熟悉技术者所理解的那样,这种数据包依照已知的标准在传输层104上被发送。
接下来,在步骤415,判断在步骤410的数据包传输是否失败了。如果“否”,方法415循环回步骤410,并如前面所述的那样继续进行传输。可以根据已知的内容来做出这一判断,例如客户端34未能接收到一个来自于服务器62的  “未获知”信号,或者服务器62未能响应一个包含此TCP数据包的信息请求。因此,如果传输失败了,那么程序400前进到步骤420。
在步骤420,链路质量被判断出来。在本示例中,是链路42的质量被判断出来。此步骤如图4所示,对象110查询(如标记114所指)来自于链路42所使用的协议堆栈100的数据链路层中的关于链路42质量的有用的固有信息。特别是,层402被对象110查询以获知关于链路42质量的信息,包括诸如信号强度和基地站46的可达性这一类的信息。
图5显示了可能被判断(或者至少是估计)出的结果的一个示例,作为执行步骤420的一个结果。因而图5显示了一个曲线图,它显示了客户端42在前十秒时间段内,成功的将数据发送给基地站46的能力。在这个示例中,它显示了在前十秒时间段内,客户端42在前十秒的第一到第三秒之间,以及第六到第九秒之间能够成功的发送数据。在剩下的时间内,客户端42无法将数据发往基地站46。技术人员将会明白图5中显示的结果仅仅是一个简单的示例,用以辅助说明本实施例。在实际情况中,执行步骤420所得的结果不会像这样包含这种明显的阶跃,而是代之以显示出的,是信号强度随时间的更大的可变性。出于同样的原因,由步骤420生成的结果可以,在某些具体实现中,被认为是对链路质量的一种估计,而不是精确的判断。
之后,方法400从步骤420前进到425,在这一点上,依照在步骤420中开发出的信息,对失败的数据包传输进行重试。如图6和图7所示。在图6中,显示出对象110将其在步骤420中的判断结果发送给对象112,所经由的路径由118所指的双箭头所示。在图7中,显示出对象112以现在已知的链路42质量为依据,经由层104,进行失败数据包的发送重试。发送重试如双箭头122所示。在步骤425进行的重试可以以任意规则为基础,它们使用在步骤420中收集的信息以便开发出一种重试策略。在一种最简单情况中,发送重试将会基于这样的假设,即每一个十秒时间段都有相同的“可发送”和“不可发送”特征。因此,基于这种规则,在步骤425中,将会仅在后来的十秒时间段的第一到第三秒和/或第六到第九秒内进行发送重试。再次被强调的是,使用了至少一部分在方法400期间所收集的信息的任意规则都能够被使用。
之后方法400前进到步骤430,在这点上做出进一步的判断,是否数据包的传输失败了。步骤430的执行方式同步骤415很相似。如果数据包传输失败,之后方法前进到步骤435并且该次发送被视为永久失败。然而,如果发送成功了,那么方法400将会从步骤430返回步骤410,在那里,方法400将会重新开始。
应该理解的是,对步骤400进行一些变化是可能的。例如,步骤410和415可以被去掉,而由客户端34发送的所有数据包可以基于一个对链路42质量的判断而进行发送。出于同样的原因,可以在步骤420和425进行了一定数量的重试之后,在将整个传输视为永久失败之前,在步骤430作出发送失败判断。
现在参看图8,依照本发明另一实施例的一个数据包传输系统如230所示。系统230包含的许多组件与在系统30中所见的类似。特别是,系统230中的一些组件与系统30中的类似组件具有相同的表示符号,但是带有一个后缀“a”,这些组件与其在系统30中的等价组件实质上是相同的,只是考虑到为了系统230的整体功能性而做出了必要的修改并对这些组件进行的附加注解。然而,系统230中的一些组件与系统30中的类似组件具有相同的表示符号,但是带有一个前缀“2”,这些组件是那些不同的组件,并因而需要对这些组件进行更多的讨论。
更明确的说,系统230包含一个客户端234,它跟客户端30实质上相同,只是客户端234包含语音功能并因此能够进行语音通话。系统230还包含一个网络语音协议(“VOIP”)手机262,它可用于传输语音通话。系统230还包含VOIP网络254,它实质上是因特网和一个语音开关的组合。VOIP网络254的因特网部分支持VOIP通话,而语音开关部分将这些VOIP通话转换成一个可被手机262利用的语音信号。因而,手机262可以通过回程66a在网络254上传送语音通话。
因此,节点38a和它的组件(基地站46a和网关50a)可用于在客户端234和手机262之间用数据包格式支持语音通话。在本实施例中,节点38a是基于移动电话系统的,例如全球移动通信系统(“GSM”),或者码分多址(“CDMA”),或者时分多址(“TDMA”),或者频分多址(“FDMA”)等等类似系统。更特别的是,在链路42a上进行的任何在客户端234和手机262之间的语音通话部分,是通过一个常规的语音频道传输的,该频道常用于现存的GSM,CDMA,TDMA,FDMA等等网络。
出于同样的原因,系统230也包含一个第二节点238,它包含它自己的基地站246和网关250。网关250,反过来,可经由一个回程258连接到网络254上。然而,与节点38a不同,第二节点238是以一个短程无线协议为基础的,例如802.11或蓝牙。更特别的是,在链路242上进行的任何在客户端234和手机262之间的语音通话部分,是作为一个VOIP数据包通过一个IP数据频道进行的,该频道常用于像802.11或蓝牙这样的现存短程网络。
因此,除了能够传送语音通话,客户端234也包含适当的硬件,软件和网络接口,以便于使客户端能够在链路42a和242上进行通讯。进一步的说,客户端234还可以判断链路42a和链路242的质量,以便决定链路42a和链路242中的哪一个更适合于(或者更理想)将语音通话从客户端234传送到手机262。客户端234包含一个在其中运行的链路管理器270,它可以被用来实现上述的判断,并基于该判断使用链路42a和链路242中更为合适的链路。关于客户端234和对该链路的使用的讨论将在下面给出。
现在参看图9,它更详细的显示了链路42a和242,特别是链路42a使用的网络协议堆栈100a和链路242使用的网络协议堆栈100aa。在现实施例中,网络协议堆栈100a和100aa也是基于开放式系统互联参考模型(“OSI”),并因此都包含了与堆栈100相同的层。因此,堆栈100a和堆栈100a各自分别包含了一个物理层101a和101aa,一个数据链路层102a和102aa,一个网络层103a和103aa,一个传输层104a和104aa,一个对话层105a和105aa,一个展示层106a和106aa以及一个应用层107a和107aa。
图9还更详细的显示了管理器270,它包含两个软件对象110a和112a。对象110a可用于判断链路42a和242a的质量,并将该信息报告给对象112a。对象112a可以对象110a所判断的链路42a和242a的质量为基础,使用链路42a和242a中合适(或理想)的一个来传输数据包(例如TCP数据包或其它类似数据包)。
为了帮助解释系统30a的不同方面,现在对图10进行说明,它显示了一种数据包传输的方法,如500所指。为了辅助说明该方法,将会假设是由使用系统30a的客户端234来采用方法500。然而需要理解的一点是客户端234,系统30a和/或方法500可以是不同的。并且不需要一定如在此所讨论的那样相互关联着运作,并且这样的变化也在此陈述范围之内。
在讨论方法500之前,要假设链路42已经被选择用于在客户端234和手机262之间进行一个VOIP通话,并且因此在这种初始状态下的这种通讯包括了经由链路42在客户端234到手机262之间进行的语音数据包传送。这种初始状态如图11所示,并且语音数据包传送的初始路径如280所指。该初始状态同时也如图12所示,它显示了对象112a在链路42a的层104a上,沿着语音数据包路径280所进行的语音数据包传送。
首先从步骤510开始,数据包沿着路径280被传送,如图11和12所示。接下来在步骤520中,对第一链路质量进行判断。这一步如图13所示,它显示了对象110a查询链路42a的层102a,查询所使用的方式与前面在方法400的步骤420中所描述的方式十分相似。该查询在图13中由路径114a表示。图14显示了在步骤520所执行查询的结果的一个示例。在图15的示例中,显示了在前一个十秒时间段内,客户端234和链路42a可以在十秒时间段的第一到第三秒和第六到第九秒内用于发送数据。在剩下的时间内,客户端234不能够通过链路42a给基地站46a发送数据。
接下来在步骤530,对第二链路质量进行判断。如图15中所示,它显示了对象110a查询链路242a的层102aa,查询所使用的方式与前面在程序400的步骤420中所描述的方式十分相似。该查询在图15中由路径114aa表示。图16显示了在步骤520所执行查询的结果的一个示例。在图16的示例中,显示了在前一个十秒时间段内,客户端234和链路42a可以在十秒时间段的第零到第六秒和第七到第十秒内用于发送数据。在剩下的时间内,客户端234不能够通过链路242给基地站246发送数据。
接下来在步骤540,对哪条链路拥有较好质量的判断已被做出。如果第一链路比第二链路拥有较高的质量,那么方法前进到步骤550,并选择在第一链路上传送数据包。然而,如果第二链路比第一链路拥有较高的质量,那么该方法前进到步骤560,并选择在第二链路上传送数据包。方法500从步骤550和560返回步骤510,在这一点程序重新开始在选择的链路上进行通信。
在本示例中,链路42a的质量和链路242的质量之间的比较可以通过比较图14和16来实现。可以看出在这个示例中,链路242拥有比链路42a更高的质量(即,因为链路242在前一个十秒时间段内的可用时间段比链路42a长),因此在步骤540中,它将会判断第二链路比第一链路更好,并且因此方法500会从步骤540前进到步骤560。
在步骤560,第二链路被选择。这个示例中的步骤540和560如图17所示,其中显示了对象110a对在步骤520和530中所做出的判断结果所进行的传送,以便于在步骤540中对象112a能够判断第二链路(例如,链路242)的质量高于第一链路(例如,链路42a)。图17附带显示了,语音数据包路径280是由对象112a在链路242的层104aa上实现的,而不是在层104a上。图18也反映了这一变化现在经过节点238。
需要理解的是,使路径280从节点38a转换到节点238的实际技术中包含了一定数量的子步骤,并且可以用任意期望的方法来影响这种子步骤。例如,假设节点38a和节点238都是动态主机配置协议(“DHCP”)设备,在其中它们每人分配一个IP地址给设备234,然后作为传送的一部分从第一链路传至第二链路,之后设备234将会开始通知手机262,用于同设备234通讯的IP地址将要从由节点38a分配的客户端234的IP地址改变为由节点238分配的客户端234的IP地址。
要再次强调的是,上述步骤520-540和图14、16中的特定的判断/估计,仅仅只是用作辅助说明目的的一个简单示例。需要特别解释的是,前面的十秒钟质量采样太短了,无法提供有意义的比较,但可用于给出一个简单的概念。在实际情况中,技术人员可以使用任意不同的期望的或合适的标准,只要它们能够比较两条链路并选择其中之一用来传送数据包。其他标准也可以包含比特率,或者甚至是订户自己的客户端234访问一个已知链路的相关费用。另一个特定的标准可以包含可达到性,其中的附加设备(在系统30中未显示),比如防火墙,或者通话网关,它们可能允许,也可能不允许在一条链路上运行这些设备。因此拥有最好的,或者最期望的可达到性的路径将会被优先给出。因此,在链路42a和242的质量完全相同的情况中,那么就要基于,至少是部分基于,使用链路42a或242所花费的费用来做出最终选择哪条链路的决定。特别是,在短期内至少可以考虑到在一个802.11无线LAN上传送一次语音通话的费用比在一个常规移动电话网络上传送一次语音通话的费用要低(或者甚至是免费的)。
虽然这里只讨论了不同特征和组件的特定组合,但对熟悉技术者而言很显然的一点是,他们能够按自己的要求,随心所欲的利用这里所透露的特征和组件的期望子集和/或这些特征及组件的可选择的组合。例如,可以这样理解,系统30a适用于手机262的VOIP型通话,也可以这样理解,系统30a能够被修改从而适用于一种附加的公共开关电话网络类型(“PSTN”)的通话,只要通过使用适当的PSTN网关。系统30也能够被这样修改。
此外,应该理解的是,方法400和500可以被结合起来,其中步骤510的特性可以包括方法400的特性,这样客户端234可以依照所判断出来的在步骤510中传送数据包的链路质量来传输数据包。
此外,系统30a也能被修改并应用于除语音外的其他类型服务中,并且也可以被应用于在客户端234所使用的链路42a和链路242中能实现的任意类型服务中。其它类型的服务包括,例如,网页浏览,电子邮件,页面调度,语音提示,等等。
此外,系统30可以包含附加的节点,除了节点38a和238之外,只要客户端234包含与这些附加节点通讯的合适接口。在这种方式中,方法500能够被修改用于帮助从大量可用链路中为客户端234选择拥有最好或是最期望质量的链路。
此外,虽然这里所讨论的实施例涉及的是无线链路42,42a和242,,但是这里所教授的内容也可以同样应用于有线链路。例如,链路42a可以是一个有线链路,而有线形式的链路242,例如以太网电缆,可以在链路42a被使用时激活。在这个示例中,方法500可以选择将数据包的传送从无线链路42a上转换到现在可用的以太网电缆上。
作为一个附加示例,链路242和42a可以是基于相同技术的(例如,两条链路都是基于802.11的,或者,都是基于GPRS的),但是链路242和42a是位于不同的管理员域中的。因为这里所教授的内容包含了对层102以外的层的评价,所以可以按照这些层的构造来作出判断,并因此参考了对不同设备的可达到性的估计。例如,在802.11环境中,一个机场内的一个咖啡厅拥有一个802.11无线上网据点,它可能仅仅只允许浏览(经由TCP端口80),而由实际的机场所提供的一个不同的802.11无线上网据点,它可能允许所有的通信,包括语音。因此,这两种链路都能够通过使用这里所教授的技术来进行评价,以判断出最好的或最期望的链路用于实现一次VOIP通话。
这里的实施例提供了超出先前技术的多种优点。例如,先前技术的链路选择是特别由一种特定技术实现的(例如,在GPRS或CDMA网络内的一个转接),但这里的某些实施例包含了在相同或不同技术之间(例如,在GPRS和802.11之间)进行的链路选择。另一个优点在于,链路的选择过程可以连续进行,对一条链路进行评价,然后是下一个,以判断出到底哪一条链路是最适合(或者是最期望,或者甚至是最可能)用于一个特定的服务(例如,甚至有可能在该链路上进行VOIP通话)。然而,当这样的判断同时进行时,有可能使用该陈述的内容来维持需要低延迟的服务(如语音),这些服务没有这种协调评价就不可能实现。这些优点超越了我们所知的802.11节点的独立特性的局限,如果你不是同时评价两条链路的话,它通常不会定义一个足够的低延迟转接来维持一次语音通话。其他的优点对于熟悉技术者而言是显而易见的。
以上描述的本发明的实施例为示例性的,本领域技术人员可以对其进行改变和修改,但这并没有脱离由下面附加的权利要求所单独定义的本发明的保护范围。

Claims (16)

1.一种方法包括以下步骤:
判断在一个电子设备和一个节点之间的一条链路的第一质量,该判断通过检测用于实现上述链路的协议堆栈的第一层与用于传输上述数据包的上述协议堆栈的第二层之间的不同来实现。
2.根据权利要求1所述的方法,进一步包含了依照上述判断出的质量对上述数据包的发送做出调整的步骤。
3.根据权利要求1所述的方法,其中上述第一层是OSI模式的第四层,而上述第二层是OSI模式的第二层。
4.根据权利要求1所述的方法,进一步包含如下步骤:
判断在上述电子设备和第二节点之间的第二链路的第二质量,该判断通过检测实现上述第二链路的第二协议堆栈的第三层与用于传输上述数据包的第二协议堆栈的第四层之间的不同来实现。
5.根据权利要求4所述的方法,其中上述第一质量和第二质量中的至少一个,是以对一个给定服务的可达到性和有效性的至少一个测量值为基础的,该服务用于传输上述数据包。
6.根据权利要求6所述的方法,其中所提到的服务包括网络语音协议。
7.根据权利要求4所述的方法,进一步包含在判断出哪一条链路拥有较理想质量的基础上,在上述两条链路之一上传输上述数据包的步骤。
8.根据权利要求7所述的方法,其中上述判断的做出,至少在部分上,是基于哪条链路用于传送上述数据包的花费较少。
9.根据权利要求7所述的方法,其中上述判断的做出,至少在部分上,是基于从一条上述链路到另一条上述链路的转换,对于一个给定服务而言是否是显而易见的。该服务用于传输上述数据包。
10.一种电子设备,可用于经由一条链路同至少一个节点进行通讯,该设备可用于通过检测用于实现上述链路的一个协议堆栈的第一层与用于传输上述数据包的上述协议堆栈的第二层之间的不同,来判断上述链路的质量。
11.根据权利要求10所述的设备,其中所提到的设备进一步可用于依照上述判断出的质量来对上述数据包的传输进行调整。
12.根据权利要求10所述的设备,其中上述第一层是OSI模式的第四层,而上述第二层是OSI模式的第二层。
13.根据权利要求10所述的设备,其中上述设备还用于判断在上述电子设备和第二节点之间的第二链路的质量,该判断通过检测用于实现上述第二链路的第二协议堆栈的第三层与用于传输上述数据包的第二协议堆栈的第四层之间的不同来实现。
14.根据权利要求13所述的设备,其中上述设备,可进一步用于在判断出哪一条链路拥有较理想质量的基础上,在上述两条链路之一上传输上述数据包。
15.根据权利要求14所述的设备,其中上述判断的做出,至少在部分上,是基于哪条链路用于传送上述数据包的花费较少。
16.一种计算机可读的存储媒体,包含一系列的指令,用于一台电子设备,其中包含如下步骤:
通过检测用于实现一条链路的协议堆栈的第一层与用于传输上述数据包的协议堆栈的第二层之间的不同,来判断在一个电子设备和一个节点之间的一条链路的第一质量。
CNB2005100086287A 2004-02-27 2005-02-28 数据包传输的系统和方法 Active CN100493030C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04251149A EP1578078B1 (en) 2004-02-27 2004-02-27 System and method with adjustment for delivery of packets
EP04251149.3 2004-02-27
EP042511493 2004-02-27

Publications (2)

Publication Number Publication Date
CN1668028A true CN1668028A (zh) 2005-09-14
CN100493030C CN100493030C (zh) 2009-05-27

Family

ID=34833771

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100086287A Active CN100493030C (zh) 2004-02-27 2005-02-28 数据包传输的系统和方法

Country Status (8)

Country Link
EP (2) EP1578078B1 (zh)
CN (1) CN100493030C (zh)
AT (2) ATE325495T1 (zh)
CA (1) CA2498419C (zh)
DE (2) DE602004022836D1 (zh)
ES (1) ES2264088T3 (zh)
HK (2) HK1082342A1 (zh)
SG (1) SG114791A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621795B1 (en) * 1999-10-12 2003-09-16 Verizon Corporate Services Group Inc. Band manager for use in multiple-channel networks
US6922559B2 (en) * 2001-02-26 2005-07-26 Kineto Wireless, Inc. Unlicensed wireless communications base station to facilitate unlicensed and licensed wireless communications with a subscriber device, and method of operation
AU2002303776A1 (en) * 2001-05-30 2002-12-09 Thomson Licensing S.A. Seamless communications through optimal networks
EP1318644A1 (en) * 2001-12-04 2003-06-11 Ascom Systec AG Voice transmission over high bitrate data networks
AU2003251821A1 (en) * 2002-08-30 2004-03-19 Sprint Spectrum, L.P. Method and system for intersystem wireless communication session arbitration

Also Published As

Publication number Publication date
CN100493030C (zh) 2009-05-27
ES2264088T3 (es) 2006-12-16
EP1662750A1 (en) 2006-05-31
HK1082342A1 (en) 2006-06-02
EP1578078A1 (en) 2005-09-21
DE602004000812D1 (de) 2006-06-08
DE602004000812T2 (de) 2006-11-02
EP1578078B1 (en) 2006-05-03
HK1089894A1 (en) 2006-12-08
ATE441279T1 (de) 2009-09-15
CA2498419A1 (en) 2005-08-27
EP1662750B1 (en) 2009-08-26
SG114791A1 (en) 2005-09-28
DE602004022836D1 (de) 2009-10-08
CA2498419C (en) 2008-10-07
ATE325495T1 (de) 2006-06-15

Similar Documents

Publication Publication Date Title
KR100779751B1 (ko) 데이터 정보 획득 방법 및 장치
CN104067654B (zh) 用于实时现场性能的动态tcp层优化
CN1311710C (zh) 用于通过无线网络通信的装置和方法
JP5368498B2 (ja) モバイル通信デバイスとワイヤレスネットワークとの間のデータ接続を要求するアプリケーション間の競合を解消するためのシステムおよび方法
CN1574776A (zh) 为时间受限数据提供自由竞争服务质量
CN1528083A (zh) 有以移动性为基础的内容递送的无线通信系统
CN1860805A (zh) 切换方法和设备
US8532142B2 (en) System and method for delivery of packets
WO2011106984A1 (zh) 移动终端并行传输数据的方法和移动终端
CN1653738A (zh) 在无线设备之间进行ip通信的技术
CN101924625A (zh) 数据包重传控制的方法和网络侧设备
CN1653773A (zh) 移动ip系统中的ppp链路协商
CN1481182A (zh) 用于从一个移动设备向一组移动设备提供位置信息的方法
CN101068439A (zh) 一种通信方法、移动终端、接入点设备和通信系统
CN1976316A (zh) 在无线网络中发送包的设备和方法
CN1835475A (zh) 通用分组无线业务网络侧激活的方法
CN1110932C (zh) 通信系统中用于将数据传送到基站的数据网关和方法
CN1157032C (zh) 具有共同ip地址的移动终端和无线设备
CN1668028A (zh) 数据包传输的系统和方法
CN1217555C (zh) 在移动通信系统中建立r-p链路的方法
CN103891340A (zh) 数据推送方法,装置及系统
CN1969571A (zh) 连接方法
CN1758774A (zh) 一种多路径下短消息路由选择的方法
CN1859605A (zh) 在gsm协议中新增组呼模式下群发短消息的方法
CN1691796A (zh) 通信负荷分担系统及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant