通过多个网络发送数据的制作方法

文档序号:7860268阅读:404来源:国知局
专利名称:通过多个网络发送数据的制作方法
技术领域
本发明涉及从无线通信系统中,特别是在为通信会话提供至少第一和第二无线访问技术的通信系统中的无线设备发送数据。
背景技术
图I示意性地图示了一种无线通信系统,其中第一用户终端2和第二用户终端4 希望进行通信。本文中,第一用户终端2被称为近端或本地终端,而第二用户终端4被称为远端或远程终端。
通信系统包括根据第一无线访问技术的第一通信网络6,例如WiFi。通信系统进一步包括根据第二无线访问技术的第二通信网络8,例如WffAN (例如3G或4G)。
图I示出经由WiFi网络6建立在第一和第二用户终端之间的通信会话。在通信会话中,应用将数据寻址到网络套接口,该套接口是端口号和IP地址的组合。
无线设备具有通过具有多个无线接口(在图I中的设备的情况下为2个)来经由替代性通信网络(例如,图I中的WffAN网络8)建立通信会话的能力。
在一种无线设备中,通过在设备上执行的应用来生成待发送的数据,例如以用于社交通信,诸如VoIP (互联网协议电话)呼叫、即时消息传递(頂)聊天或运行在会议框架上的实时会议。
图2图示了用户设备2的详细视图,其中,在该用户设备2上执行一个以客户端 216形式的这种应用。用户设备2包括中央处理单元(“CPU”)202,诸如屏幕的显示器204 和诸如小键盘206的输入设备与该中央处理器202相连接。显示器204可以包括用于将数据输入到CPU 202的触摸屏。输出音频设备210 (例如扬声器)和输入音频设备212 (例如麦克风)连接到CPU 202。在典型的移动无线设备中,显示器204、小键盘206、输出音频设备210和输入音频设备212集成到用户设备2中。CPU 202连接到多个网络接口 224a、224b 以用于与相应的网络68进行通信。网络接口由无线电访问芯片224提供,该无线电访问芯片224还执行用于管理接口的无线电控制逻辑。用户设备104还包括用于存储数据和应用的存储器226。
图2还图示了执行在CPU 202上的操作系统(OS) 214。运行在OS 214顶部的是客户端108的软件栈216。该软件栈示出客户端协议层218、客户端引擎层220和客户端用户接口层(UI)222。每个层都负责特定的功能。因为每个层都通常与两个其他层进行通信,所以它们被视为安排在栈中,如图2所示。操作系统214管理设备104的硬件资源,并处理经由网络接口 224a、224b发送的去往和来自网络106的数据。客户端软件的客户端协议层218与操作系统214进行通信并管理通信系统上的连接。要求更高级别处理的过程被传递到客户端引擎层220,在该客户端引擎层220,用于生成数据的应用被执行。客户端引擎220还与客户端用户接口层222通信。客户端引擎220可以被安排为控制客户端用户接口层222以经由用户接口将信息呈现给用户,并经由用户接口接收来自用户的信息。
在现有的设备中,如图2中所示,存在管理无线接口的连接的两种可能性。在应用注册到操作系统而未将IP地址的具体分配指定到网络套接口的情形下,被选择用于传送由软件栈216中的应用生成的数据的网络接口由操作系统来确定。这通过图2中的箭头 “网络指示符”来图示。通常,操作系统具有优先级列表,其规定了优选网络,并且仅当优选网络不可用时才使用替代性网络。例如,WiFi网络优选于WffAN网络,以使得后者仅在WiFi 不可用时才被使用。用户可使用选项来改变优先级列表,例如强制WffAN成为优选的,但是那样WiFi网络将仅在WffAN不可用时才被使用。
在另一情形下,加载到CPU中的应用轮询操作系统来估计什么网络接口可用,并且相应地分配IP地址。这可以在设置应用以及在运行时期间来完成。轮询活动由应用来促动。发明内容
根据本发明的方面,提供了一种在通信系统中将数据从源设备发送到目的地设备的方法,该方法包括在设备处执行应用,该应用根据应用层协议生成数据并将数据供应给第一网络接口以用于通过第一信道在通信会话中传送;所述设备在第一网络接口处接收数据以用于供应给所述应用;所述应用确定使移交发生并打开第二信道以用于所述通信会话;所述应用将数据供应给第二网络接口以用于通过所述第二信道进行传送,并且生成消息以用于通过所述第一或第二信道传送到所述目的地设备,所述消息包括标识用于通过所述第二信道接收数据的所述第二网络接口的目的地地址。
本发明的另一方面提供了一种用于在通信系统中接收和发送数据的设备,该设备包括处理器,其被安排为执行应用,该应用生成数据并将数据供应给网络接口以用于通过第一信道在通信会话中传送;所述网络接口通过所述第一信道从源设备接收数据;所述应用被安排为在通过第一信道接收的数据流中检测消息,该消息包括标识用于所述通信会话的第二信道的目的地地址,并供应数据以用于通过所述第二信道在通信会话中传送。
本发明的另一方面提供了一种包括程序代码装置的计算机程序产品,当所述程序代码装置被处理器执行时,执行以下步骤根据应用层协议生成数据并将数据供应给第一网络接口;从所述第一网络接口接收数据;确定使移交发生并将数据供应给第二网络接口 ;以及生成消息以用于经由所述第一或第二网路接口进行传送,所述消息包括标识用于接收数据的所述第二网络接口的目的地地址。
本发明特别适用于对等通信系统,其中从一个用户设备发送的数据流可以是目的在于与所述一个用户设备不直接相连的用户设备。数据流承载有关所预期的目的地设备的地址信息。当在源设备和目的地设备之间建立通信会话时,信道被打开,通过该信道,数据从源设备被发送,并且返回数据从目的地设备被接收。在应用确定打开第二信道的场景中,通信会话可能会被断开(drop)(没有本发明的话),并且源设备的用户将不得不重新建立连接。这会使用户恼怒和沮丧,并且会导致用户认为,重新建立断开的连接。
通过在应用为通信会话打开第二信道时为目的地设备生成消息,其中该通信会话标识了第二网络接口的目的地地址,该目的地设备将其自身的数据流指向新的目的地地址,并因此成功地维持与源设备的连接以用于继续通信。
将会明了,虽然理论上可以与通过第一信道相同的方式通过第二信道建立通信会话,但这样会占用时间并且有破坏性。这可以通过在第一信道上向远侧设备提供目的地地址来避免,以使得其就绪以供第二信道的立即使用。
应用可以基于接收来自源设备中实现的访问层的指示来确定使移交发生,其在我们的共同待决的英国专利申请号XXXX (代理参考号328659GB)中更全面地描述。
网络接口可以是有线或无线的。本发明的实施例在无线通信系统中的无线设备的上下文中描述。
可替换地,应用可以通过自己监控可用网络接口的质量来确定使移交发生。可以经由操作系统获取网络接口的列表。在此技术中,访问层(例如MAC层)不需要监控它们的连接属性。基于应用从操作系统接收有关网络接口的信息,该应用可以确定利用那种无线访问技术,并因此将流量指向哪个网络接口。该决定可以考虑到一个或多个因素,例如价格、信号强度、分组丢失、往返时间(RTT)、抖动(jitter)以及类似的。对于不能被可靠测量的质量参数,应用可以用历史参数来替换当前测量的参数,以使得如果网络在历史上执行得比当前使用的网络更好,则该网络成为优选的。可以通过多种方式来建立参数的历史聚口 ο
在许多现实生活的情况,WiFi可能是可用的,但是质量低劣。例如,信号强度低或者WiFi路由器过载。在这样的场景中,通过WiFi网络发送的数据往往经历分组丢失或者抖动,这转而对诸如语音或视频呼叫的实时应用具有严重的损害效应。因此,即使WiFi可用,使用WWAN也是更好的选择。同时,在用户从WiFi路由器离开的场景(例如当离开家或办公室时)中,可以检测到WiFi连接的恶化,并且在真正失去与WiFi网络的连接之前,应用使得发生到WWAN网络的移交从而带来不间断的服务。
将会明了,相比之下,在操作系统优先级列表确定网络的情形中,仅在无线电芯片 224通知了操作系统其已失去连接(即第一网络不可用)之后才会有网络的改变。
此外,在某些情况下,将应用的流量从WffAN移动到WiFi是有利的。这是因为好的 WiFi网络通常比WffAN网络提供更高的带宽,并具有更少的电池用量。同样,WffAN连接可能受制于有限的数据规划或按流量收费,使其对用户来说成为昂贵的资源。


为了更好地理解本发明并且示出如何实现该发明,将以示例的方式参考附图。
图1是通信系统的示意视图;图2是用户设备的功能框图;图3是根据本发明的一个实施例的用户设备的功能框图;图3A是图示协议栈中的层的示意图;以及图4是示出应用层和访问层之间交互的示意图。具体实施例
现将在参考图2讨论的类型的无线设备的上下文中描述本发明,其修改如图3所示。无线设备可以是支持至少两个无线电访问技术的任何一件用户设备(UE),例如WffAN (UMTS、HSDPA、LTE、Wimax)或WiFi。由处理器执行的软件被组织在图3A所示类型的协议栈 300中。图3A仅图示栈的一个示例-当前使用中存在许多变形,并且本发明可应用于任意类型的栈。图3中例示的栈300包括应用层312,传输层314、互联网层316和链路层318。 链路层被细分成物理链路层320和媒体访问控制(MAC)层322。
链路层负责组织设备I的通信技术。链路层318中的媒体访问控制层322负责寻址、将多个信道分配给不同的用户以及避免冲突等。每个层都可以与在不同的无线设备中的其对等层通信-链路层318与不同设备中的对应链路层以帧的形式在RF数据级别进行通信。在通信会话中,通过无线电访问芯片224 (图2)和网络6或8之间的信道发送和接收帧。
互联网层以承载具有IP报头的IP (互联网协议)数据的分组的形式提供互联网通信,并且负责IP寻址。该层将IP报头应用到数据分组以定义目的地(远端)设备-这些不同于被应用用于将数据流分组定向到特定的网络接口的IP地址,如后续讨论的那样。
传输层14例如根据传输控制协议(TCP)或用户数据报协议(UDP)运行主机对主机通信。在该上下文中,主机是寻求无线地进行通信的任意种类的用户设备。
应用层12在通信的主机之间在过程对过程级别处理基于应用的交互。该层运行可以生成要通过信道发送的数据的用户应用。例如,图2的客户端Π和客户端引擎可以在应用层312中执行。因此,本发明的实施例在用户设备运行经由媒体访问控制层322通过多个无线电访问技术的至少一个技术连接到网络6、8的至少一个应用的上下文中进行描述。
本发明可以与多个不同的应用一起使用,但是一个特定的上下文涉及社交通信, 例如UE之间的VoIP (互联网协议电话)呼叫、即时消息传递(頂)聊天或运行在会议框架上的实时会议。与这些种服务一起,应用可以负责数据传递(例如文件传递)、更新社交网络中联系人的存在信息或控制诸如“保持活动”数据的控制数据。在本情况下,对运行在应用层中的应用的引用被认为包含了所有这些可能性。
回到图3,要注意的是,用户设备的物理元件类似于图2的那些元件,并且带有相同的附图标记。然而,重要的是OS 214不再向无线电芯片224提供网络指示符。相反,网络参数332由OS 214监控并被供应给应用层。
应用层312使用网络参数来确定是否切换网络。还可以将由诸如价格的参数组成的信息考虑在内。网络参数可以包括信号强度、分组丢失、往返时间(RTT)和抖动。
参考图4,解释在执行应用层312中的应用对于接收到参数332的响应。在解释之前,将描述寻址协议。
图4在同一端口处示出两个套接口 406和408。在该上下文中,套接口以端口和 IP地址的唯一组合来表征。应用可以在操作系统中打开套接口并将其绑定到特定的IP地址和端口。
该IP地址是本地网络接口卡的IP地址。通过绑定到IP地址0,应用没有定义使用哪个网络-这将由操作系统来决定。
相反,应用可以通过在打开套接口时指定IP地址来控制使用哪个网络接口。因此,应用通过打开具有网络接口的IP地址的套接字在特定的网络接口上发送数据,并且随后在套接口上发送数据。事实上,应用不能直接访问IP分组报头,因此它不能自己设置报头。随着应用在套接口上发送数据,它可以监听该套接口的任何传入数据。应用首先确定 402如何使用参数,例如通过当前和历史聚合或者两者的组合,并且确定是否从应用当前用来传送数据的网络改变网络。如果没有改变,则应用继续在现有的网络(示出为经由MAC 层2的WffAN网络8)上控制流量404。这根据应用为该流量打开的套接口 408来完成,该套接口是端口处WffAN网络8的IP地址。应用继续监听该套接口以获得返回数据。
如果应用确定它应当响应标识符332,则它可以通过在新的IP地址上打开套接口 406并在该新的IP地址上发送数据来选择新的网络403,打开第二信道并控制其到该新网络的流量的一些或全部(图4中以虚线示出)。
在下文中,将数据移动动另一网络接口的过程被称为“移交”。
当数据被移动到另一网络接口时,除非远侧充当服务器并将请求反映给它的源, 否则即使应用将其传出的数据移动到另一网络接口,任何传入的数据仍将到达旧的网络接口。也就是说,数据通过信道发送,即使在移交之后当远侧设备应当使用套接口 412时,在该信道处,该远侧设备也将会将其数据寻址到套接口 410。因此,在典型的对等系统中,将有必要通知远侧设备要使用的新目的地IP地址。以下事实使其变得复杂,即,所获取的新目的地IP地址可能是远侧设备不能直接定向的私有地址。然而,针对该问题存在众所周知的所谓的网络地址转化(NAT)遍历技术。
因而,当被应用于对等系统时,在发生了网络接口改变时,应用将标识新的目的地 IP地址的消息发送到远侧设备。将会明了,远端设备4在主要方面与本地设备2相类似。 因而,将参考图3和4来解释该远端设备的操作。当该远端设备接收到标识新目的地IP地址的消息414时,在寻址应用生成的数据的分组时,在互联网协议层316中以自身知道的方式考虑该消息。因此,通信会话中的后续分组将被定向到接收侧正确的输入套接口。
此外,应用可以执行多个步骤中的一个或多个以便使得尽可能平滑地从一个网络转变至另一网络。
代替立即将流量移动到新的网络接口,应用可以选择在一段时间内利用新的接口和旧的接口两者。传出的数据可以被冗余地在两个接口上发送,以便确保在新信道的“预热”间隔期间的稳定递送。同样,应用在此间隔中应当继续监控两个套接口的所接收的数据以避免妨碍传入服务。
当切换到新的网络时,该网络的带宽是未知的。因而,应用可以在移动到新的网络接口之后的时间间隔内限制其数据生成速率。该时间间隔和数据限制可以取决于新的访问技术。例如,当从3G移动到WiFi时,可能根本不需要限制,然而当在相反的方向上移动时, 严格限制在IOOkbps的活动范围内可能是合理的。可以将消息发送到远侧设备来完成同样的事情。可替换地,当接收到开始向另一 IP发送的消息414时,建立远侧设备来进行限制。 可以在相应的控制流量功能404中管理本地设备和/或远侧设备的数据速率。在图4中, 控制线418表示来自选择新网络功能403的调节数据速率控制。在远侧设备中,响应于接收到从本地设备发送到远侧设备的消息,创建类似的控制418来调节数据速率。
以下建议影响在接收数据流的路径中的抖动缓存。
抖动缓存416在接收终端中用来以正确的顺序对数据分组进行排序,并且允许隐藏数据分组传播中的变化。抖动缓存位于终端的接收路径上并且从网络接收传入的数据分组。抖动缓存通过在从分组输出数据之前引入延迟来缓存传入分组。通常,抖动缓存根据从网络接收分组的速率的变化来适配延迟。抖动缓存还被安排为对失序到达的分组重新排序成正确的序列,以及丢弃到达太晚以致于不能被包括在正确序列中的分组。增加由抖动缓存引入的延迟降低了到达太晚以致于不能被包括在正确的序列中的分组的数量。增加由抖动缓存引入的延迟还隐藏了数据分组传播中较大的延迟。
当切换到新的网络时,服务中的一些破坏可能是不可避免的。例如,与WiFi连接相比,3G连接可能具有高出上百毫秒的端到端延迟。
为了对用户隐藏该破坏,可以在移交开始的间隔内增加针对通过任意连接接收的数据的抖动缓存延迟。同样,将有关即将来临的移交的消息发送到远侧设备以用于其完成相同的事情。也就是说,当应用确定移动它的流量时,它可以推迟数据的实际移动达几秒钟,以便提前执行准备步骤。作为将消息发送到远侧以使其增加它的抖动缓存延迟的替换, 本地测设备可以逐渐地引入抖动,即它的传出数据流中的分组的传送速率中的变化;这将使位于远侧的自适应抖动缓存自动地增加其延迟。
权利要求
1.一种在通信系统中将数据从源设备发送到目的地设备的方法,该方法包括 在设备处执行应用,该应用根据应用层协议生成数据并将数据供应给第一网络接口以用于通过第一信道在通信会话中传送; 所述设备在所述第一网络接口处接收数据以用于供应给所述应用; 所述应用确定使移交发生并打开第二信道以用于所述通信会话; 所述应用将数据供应给第二网络接口以用于通过所述第二信道进行传送,并且生成消息以用于通过所述第一信道或第二信道传送到所述目的地设备,所述消息包括标识用于通过所述第二信道接收数据的所述第二网络接口的目的地地址。
2.根据权利要求I所述的方法,其中所述消息通过所述第一信道被发送。
3.根据权利要求I所述的方法,其中所述应用基于供应给所述应用的网络参数确定使移交发生。
4.根据权利要求3所述的方法,其中所述应用另外基于供应给所述应用的与所监控的网络参数分离的信息来确定使移交发生。
5.根据权利要求I或2所述的方法,其中所述应用通过打开向其分配了所述第二接口的地址的套接口使移交发生,数据流被指向所述套接口。
6.根据权利要求I所述的方法,其中在确定打开所述第二信道之后,所述应用在数据的传送速率中引入变化。
7.根据前述任一权利要求所述的方法,其中在打开所述第二信道之后,所述应用供应数据以用于在所述打开之后的间隔内通过第一信道和第二信道两者传送。
8.根据前述任一权利要求所述的方法,其中在确定打开所述第二信道之后,所述应用在所述打开之后的间隔内降低数据被供应给访问层以用于传送的速率。
9.根据前述任一权利要求所述的方法,其中在确定打开所述第二信道之后,所述应用向通过所述第一信道与所述设备通信的目的地设备发送降低从所述目的地设备到所述源设备的数据传送的速率的指令。
10.根据前述任一权利要求所述的方法,其中在确定打开所述第二信道之后,所述应用增加所述源设备处的抖动缓存中的延迟。
11.根据前述任一权利要求所述的方法,其中在确定打开所述第二信道之后,所述应用向通过所述第一信道与所述源设备通信的目的地设备发送消息以指令所述目的地设备增加所述目的地设备处的抖动缓存中的延迟。
12.根据前述任一权利要求所述的方法,其中所述第一和第二网络接口的至少一个是无线的。
13.一种用于在无线通信系统中接收和发送数据的设备,该设备包括 处理器,其被安排为执行应用,该应用生成数据并将数据供应给网络接口以用于通过第一信道在通信会话中传送; 所述网络接口通过所述第一信道从源设备接收数据; 所述应用被安排为在通过第一信道接收的数据流中检测消息,该消息包括标识用于所述通信会话的第二信道的目的地地址,并供应数据以用于通过所述第二信道在通信会话中传送。
14.根据权利要求13的设备,其中所述消息标识从所述无线设备发送的数据被指向的源设备的替代性网络接口的目的地地址。
15.根据权利要求13,其中所述应用被安排为检测指示在所述第二信道打开之后的间隔内数据速率降低的消息,其中所述设备包括用于降低数据速率的数据速率控制器。
16.根据权利要求13所述的设备,其中所述应用被安排为在数据流中检测指示抖动缓存延迟增加的消息,所述设备包括抖动缓存并且可用来响应于所述消息增加所述抖动缓存中的延迟。
17.—种包括程序代码装置的计算机程序产品,当所述程序代码装置被处理器执行时,执行以下步骤 根据应用层协议生成数据并将数据供应给第一网络接口; 从所述第一网络接口接收数据; 确定使移交发生并将数据供应给第二网络接口 ;以及 生成消息以用于经由所述第一或第二网路接口进行传送,所述消息包括标识用于接收数据的所述第二网络接口的目的地地址。
18.—个或多个存储指令的计算机可读存储介质,当由计算设备执行时,导致所述计算设备执行如权利要求1-12中任一项所述的方法。
全文摘要
本发明涉及一种在通信系统中将数据从源设备发送到目的地设备的方法,该方法包括在设备处执行应用,该应用根据应用层协议生成数据并将数据供应给第一网络接口以用于通过第一信道在通信会话中传送;所述设备在所述第一网络接口处接收数据以用于供应给所述应用;所述应用确定使移交发生并打开第二信道以用于所述通信会话;所述应用将数据供应给第二网络接口以用于通过所述第二信道进行传送,并且生成消息以用于通过所述第一信道或第二信道传送到所述目的地设备,所述消息包括标识用于通过所述第二信道接收数据的所述第二网络接口的目的地地址。
文档编号H04W48/08GK102984784SQ20121033758
公开日2013年3月20日 申请日期2012年9月13日 优先权日2011年9月13日
发明者C.勒德布罗, S.V.安德森 申请人:斯凯普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1