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

文档序号:7860270阅读:242来源:国知局
专利名称:通过多个网络发送数据的制作方法
技术领域
本发明涉及从无线通信系统中,特别是在为通信会话提供至少第一和第二无线访问技术的通信系统中的无线设备发送数据。
背景技术
图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上的操作系统(0S)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地址。这可以在设置应用以及在运行时期间完成。轮询活动由应用来促动。发明内容
根据本发明的一方面,提供了一种从通信系统中的设备发送数据的方法,该方法包括在所述设备处执行应用,该应用根据应用层协议生成数据并将数据供应给访问层,用于使用第一网络接口在第一信道上的通信会话中的传送;在所述应用处接收来自替代性第二信道的访问层的关于数据的传送的指示,所述第二信道使用第二网络接口;基于对所述指示的接收,所述应用确定是否响应于该指示而采取动作,并且如果确定这样做,则打开用于通信会话的第二信道,并向所述访问层供应数据以用于在所述第二信道上的传送。
本发明的另一方面提供了一种被安排为在通信系统中发送数据的设备,该设备包括用于发送数据的第一网络接口;用于发送数据的第二网络接口;被安排为执行应用的处理器,所述应用根据应用层协议生成数据,并将所述数据供应给访问层用于传送,所述应用被安排为供应所述数据以用于使用第一网络接口在第一信道上的传送,并被安排为接收来自替代性第二信道的设备处实现的访问层的用于数据的传送的指示,所述第二信道使用所述第二网络接口;所述应用被进一步安排为,基于对所述指示的接收,确定是否响应于该指示采取动作, 并且如果确定这样做,则打开用于通信会话的第二信道,并向所述访问层供应数据以用于使用所述第二网络接口在所述第二信道上的传送。
本发明的另一方面提供了一种包括程序代码装置的计算机程序产品,当所述程序代码装置被处理器执行时,执行以下步骤根据应用层协议生成数据,并将所述数据供应给访问层,以用于使用第一网络接口在第一信道上的通信会话中的传送;接收来自替代性第二信道的访问层的关于数据的传送的指示,所述第二信道使用第二网络接口 ;基于对所述指示的接收,确定是否响应于该指示采取动作,并且如果确定这样做,则打开用于所述通信会话的第二信道,并向所述访问层供应数据以用于在所述第二信道上的传送。
网络接口可以是无线或有线的。
由于所述访问层可持续监视网络情况,所以其能够确定所述第一信道的质量是否在变差。
下文中描述的本发明的实施例处于无线设备的上下文中,并提供了优于由操作系统优先级列表来确定无线接口或者应用不得不促动查询或轮询的情形的显著优点。
在许多现实生活的情况,WiFi网络可能是可用的,但是质量低劣。例如,信号强度低或者WiFi路由器过载。在这样的场景中,通过WiFi网络发送的数据往往经历分组丢失或者抖动,这转而对诸如语音或视频呼叫的实时应用具有严重的损害效应。因此,即使WiFi 可用,使用WffAN也是更好的选择。同时,在用户从WiFi路由器离开的场景(例如当离开家或办公室时)中,可以检测到WiFi连接的恶化,并且在真正失去与WiFi网络的连接之前,应用使得发生到WffAN网络的移交从而带来不间断的服务。
将会明了,相比之下,在操作系统优先级列表确定网络的情形中,仅在无线电芯片 224通知了操作系统其已失去连接(即,第一网络不可用)之后才会有网络的改变。
此外,在某些情况下,将应用的流量从WffAN移动到WiFi是有利的。这是因为好的 WiFi网络通常比WffAN网络提供更高的带宽,并具有更少的电池用量。同样,WffAN连接可能受制于有限的数据规划或按流量收费,使其对用户来说成为昂贵的资源。
在本发明的实施例中,边信息被从应用层发送到访问层,以便影响指示来考虑这种可能性。


为了更好地理解本发明并且示出如何实现该发明,将以示例的方式参考附图。
图I是通信系统的示意视图;图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负责寻址、将多个信道分配给不同的用户以及避免冲突等。具体地,它负责监视通过相应的MAC 层322a、322b的不同网络连接的质量。每个层都可以与在不同无线设备中的其对等层通信-链路层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提供网络指示符。相反,在链路层(访问层)中提供聚合器功能330,该聚合器功能330例如作为操作系统214中的服务来运行。MAC层322可以访问至少两个如上文所述的无线技术。相应的MAC层322a、322b 基于诸如信号强度和干扰的参数,监视相应网络上的连接的质量。这些参数被供应给聚合器功能330。
聚合器功能向在应用层312中执行的实时通信应用216供应来自MAC层的以“最佳访问技术”标识符322形式的网络指示。可周期性地和/或在标识符332改变时提供标识符332。标识符可采取网络套接口标识符(例如,使用“最佳访问技术”的本地网络接口卡 (NIC)的IP地址)连同网络类型的指示(例如,WiFi或3G)的形式。由聚合器功能在MAC中选择的“最佳访问技术”可考虑来自实时通信应用216的作为边信息334馈送的信息。该边信息可包括这些参数,例如,使用某种网络类型的价格或者应用对不同的网络类型的打分, 以便指示例如WiFi优于LTE的一般偏好或者对带宽的估计。
参考图4,解释执行在应用层312中的应用对于接收到标识符332的响应。在解释之前,将描述寻址协议。
图4在同一端口处示出两个套接口 406和408。在该上下文中,套接口以端口和 IP地址的唯一组合来表征。应用可以在操作系统中打开套接口并将其绑定到特定的IP地址和端口。
该IP地址是本地网络接口卡的IP地址。通过绑定到IP地址0,应用没有定义使用哪个网络-这将由操作系统来决定。
相反,应用可以通过在打开套接口时指定IP地址来控制使用哪个网络接口。因此,应用通过打开具有网络接口的IP地址的套接口在特定的网络接口上发送数据,并且随后在套接口上发送数据。事实上,应用不能直接访问IP分组报头,因此它不能自己设置报头。随着应用在套接口上发送数据,它可以监听该套接口的任何传入数据。应用首先确定402标识符332是否标识了与应用正在使用用来传送数据的网络不同的网络。如果没有改变,则应用继续在现有的网络(示出为经由MAC层2的WffAN网络8)上控制流量404。这根据应用为该流量打开的套接口 408来完成,该套接口是端口处WffAN网络8的IP地址。如果网络中存在改变,则应用在确定步骤中确定是否使用新网络。不改变网络的响应可以是合理的选择,例如,如果用户已经命令应用不要使用特定的访问技术,或者命令应用只在没有其他选择的情况下才使用该特定的访问技术。在这种情况下,应用继续控制到现有网络的流量。
如果应用确定它应当响应标识符332,则它可以通过在新的IP地址上打开套接口 406并在该新的IP地址上发送数据来选择新的网络403,并控制其到该新网络的流量的一些或全部(图4中以虚线示出)。
应用可向MAC层发送其已经将自己的数据移动到新的网络接口的确认。这允许 MAC层对不再处于使用中的访问技术进行断电,以便节省电源。
在下文中,将数据移动到另一网络接口的过程被称为“移交”。
当数据被移动到另一网络接口时,除非远侧充当服务器并将请求反映给它的源, 否则即使应用将其传出的数据移动到另一网络接口,任何传入的数据仍将到达旧的网络接口。也就是说,即使在移交之后远侧设备应当使用套接口 412时,通过网络8传送的数据将在这样的信道上,在该信道中,远侧设备将要将其数据寻址到套接口 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或2所述的方法,其中,所述应用通过打开对其分配所述网络接口的地址的套接口,来在所述通信会话中定向数据流。
4.根据前述任一权利要求所述的方法,其中,所述应用接收来自所述访问层的指示中的关于所述第二网络接口的网络接口的指示符。
5.根据权利要求I所述的方法,其中,在确定打开所述第二信道之后,所述应用在数据的传送速率中弓I入变化。
6.根据前述任一权利要求所述的方法,其中,在打开所述第二信道时,所述应用向曾与所述设备在第一信道上通信的远侧设备发送新的目的地地址。
7.根据前述任一权利要求所述的方法,其中,在打开所述第二信道之后,所述应用在所述打开之后的间隔内供应数据以用于在所述第一信道和第二信道两者上的传送。
8.根据前述任一权利要求所述的方法,其中,在确定打开所述第二信道之后,所述应用在所述打开之后的间隔内降低数据被供应给所述访问层以用于传送的速率。
9.根据前述任一权利要求所述的方法,其中,在确定打开所述第二信道之后,所述应用向曾在所述第一信道上与所述设备通信的远侧设备发送降低从所述远侧设备到所述设备的数据传送速率的命令。
10.根据前述任一权利要求所述的方法,其中,在确定打开所述第二信道之后,所述应用增加所述源设备处抖动缓存中的延迟。
11.根据前述任一权利要求所述的方法,其中,在确定打开所述第二信道之后,所述应用向曾在所述第一信道上与所述设备通信的远侧设备发送消息,以指令所述远侧设备增加在所述远侧设备处的抖动缓存的延迟。
12.根据前述任一权利要求所述的方法,其中,所述第一和第二网络接口中的至少一个是无线的。
13.一种用于在通信系统中发送数据的设备,该设备包括 用于发送数据的第一网络接口; 用于发送数据的第二网络接口; 被安排为执行应用的处理器,所述应用根据应用层协议生成数据,并将所述数据供应给访问层用于传送,所述应用被安排为供应所述数据以用于使用第一网络接口在第一信道上的传送,并被安排为接收来自替代性第二信道的设备处实现的访问层的关于数据的传送的指示,所述第二信道使用所述第二网络接口 ;所述应用被进一步安排为,基于对所述指示的接收,确定是否响应于该指示采取动作,并且如果确定这样做,则打开用于通信会话的第二信道,并向所述访问层供应数据以用于使用所述第二网络接口在所述第二信道上的传送。
14.根据权利要求13的无线设备,其中,所述应用被安排为执行根据权利要求2至12中任一项所述的步骤。
15.一种包括程序代码装置的计算机程序产品,当所述程序代码装置被处理器执行时,执行以下步骤 根据应用层协议生成数据,并将所述数据供应给访问层,以用于使用第一无线网络接口在第一信道上的通信会话中的传送; 接收来自替代性第二信道的访问层的关于数据的传送的指示,所述第二信道使用第二无线网络接口; 基于对所述指示的接收,确定是否响应于该指示采取动作,并且如果确定这样做,则打开用于所述通信会话的第二信道,并向所述访问层供应数据以用于在所述第二信道上的传送。
16.一个或多个存储指令的计算机可读存储介质,当由计算设备执行时,导致所述计算设备执行如权利要求1-12中任一项所述的方法。
全文摘要
本发明涉及一种从通信系统中的设备发送数据的方法,该方法包括在所述设备处执行应用,该应用根据应用层协议生成数据并将数据供应给访问层,以用于使用第一无线网络接口在第一信道上的通信会话中的传送;在所述应用处接收来自替代性第二信道的访问层的关于数据的传送的指示,所述第二信道使用第二网络接口;基于对所述指示的接收,所述应用确定是否响应于该指示而采取动作,并且如果确定这样做,则打开用于通信会话的第二信道,并向所述访问层供应数据以用于在所述第二信道上的传送。
文档编号H04W48/08GK102984785SQ201210337589
公开日2013年3月20日 申请日期2012年9月13日 优先权日2011年9月13日
发明者C.勒德布罗, S.V.安德森 申请人:斯凯普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1