移动网络中的没有持久性tcp连接情况下的推送服务的制作方法

文档序号:8492029阅读:560来源:国知局
移动网络中的没有持久性tcp连接情况下的推送服务的制作方法
【技术领域】
[0001 ] 本公开内容总体上涉及移动网络,更具体来说涉及移动网络推送服务。
【背景技术】
[0002]移动设备应用通常运行在客户端-服务器模型中,其中移动设备上的应用客户端接收并且处理来自一台或多台基于网络的应用服务器的数据。为了获得来自服务器的数据,应用客户端可以使用拉取或推送模式。在拉取模式下,应用客户端周期性地轮询应用服务器的新数据。在推送模式下,应用服务器在新数据可用时将数据“推送”到应用客户端,而无需应用客户端进行轮询。
[0003]常常轮询网络的应用可以受益于推送服务。推送服务包括传统的电子邮件(例如,用于在新的电子邮件到达服务器时向移动设备发送推送通知)、短消息服务(例如,用于在SMS消息到达服务器时发送推送通知)、互联网协议承载语音(VoIP)(例如,用于通知传入呼叫)、web浏览(其例如用于通知何时刷新网页)以及用于3G/4G智能移动设备的不断增长的视频应用。对应于此类视频应用的推送事件通知的示例包括但不限于网络环境改变、策略改变以及可能需要应用客户端响应的其他通知。
[0004]推送模式对于运行在蜂窝网络上的移动设备特别重要。通常来说,当移动设备没有数据要发送或接收时,其可以进入空闲(例如休眠、睡眠)模式,以便节省电池电力以及与该设备的无线电操作相关联的空中资源。无线电接入网维护空闲设备的位置状态信息,并且在针对所述设备的数据到达时,使用由相应的蜂窝接入技术标准定义的寻呼机制来唤醒该移动设备。
[0005]相反地,拉取模式需要移动设备在应用客户端需要轮询应用服务器新数据时周期性地退出空闲模式,而不管服务器是否具有这样的新数据,从而导致移动设备电池资源的浪费和不必要的空中通信。此外,改进应用响应时间要求提高轮询频率,从而浪费更多的电池和空中资源。降低轮询频率可能导致应用客户端对应用服务器事件响应的更多延迟。
[0006]对于使用所有基于IP的数据服务的3G和4G网络,用于当前蜂窝服务提供商的典型网络架构为移动设备提供使用私有IP地址,其在服务提供商核心网络与公共因特网之间存在防火墙。这对推送实现方式构成了严峻挑战。位于(具有私有IP地址的)移动设备上的应用客户端与应用服务器之间的、具有网络地址翻译(MT,Network AddressTranslat1n)的典型防火墙只允许应用客户端与应用服务器之间的、基于传输控制协议(TCP, Transmiss1n Control Protocol)的客户端发起的通信。但是在应用客户端与应用服务器之间维持这样的TCP连接需要周期性“心跳”,其实质上等效于拉取模式(必须周期性地交换源自客户端的TCP分组),并且对于移动设备空闲模式具有与拉取模式类似的影响。
[0007]对位于防火墙后方的具有私有IP地址的应用客户端,如果没有防火墙中的特殊“孔洞”,则位于防火墙外的应用服务器无法向该应用客户端发送IP分组,这是因为无法从服务提供商的网络外部到达客户端的私有IP地址。这样的“防火墙中的孔洞”通常是在由应用客户端发起与应用服务器的TCP连接时被自动产生。防火墙NAT功能在客户端发送的TCP/IP分组中,将〈来源IP地址,来源TCP端口号〉对替换为〈许多客户端所共有的公共IP地址+唯一的新来源TCP端口号〉对,并且在特定一段时间内创建〈来源IP地址,来源TCP端口号〉对与〈唯一的新来源TCP端口号〉之间的映射,从而允许把来自应用服务器的、寻址到〈许多客户端所共有的公共IP地址+唯一的新来源TCP端口号〉的分组转发到应用客户端的〈来源IP地址,来源TCP端口号〉。这样的映射在防火墙中产生一个“孔洞”,从而允许应用服务器向应用客户端发送分组。在没有TCP通信量的情况下(例如当客户端进入空闲模式时),所述映射过时(age out),并且客户端变为无法从服务器到达。然而,通过发送周期性TCP通信量以刷新该映射来维持持续的TCP连接的做法的成本较高,并且需要移动设备周期性地退出空闲状态以生成这样的通信量。此外,不同的防火墙的“时效”计时器配置可能有所不同,从而导致针对此类通信量的需求不必要地过于频繁。
[0008]现有的解决方案表明了防火墙问题的重要性,而且还表明对于服务提供商网络与公共因特网之间的防火墙的推送实现方式不存在单一的令人满意的方法。
[0009]举例来说,基于TCP的移动操作系统(OS)或者移动设备供应商推送服务通常包括位于因特网中别处(在无线服务提供商的受到防火墙保护的核心的外部)的推送服务器,与移动设备OS耦合的推送客户端中间件,以及特定于移动设备OS、被暴露给应用客户端和服务器以登记和接收推送服务的API集合。但是,持续的TCP连接必须穿过防火墙维持。维持这样的连接要求在移动设备与推送服务器之间交换周期性TCP通信量,从而导致电池寿命和空中资源的浪费。基于TCP保持活动(keep-alive)(其在某些情况下是每秒钟)和/或防火墙时效刷新交换的频率,移动设备或者完全无法进入空闲模式(如果保持活动交换过于频繁的话),或者被迫周期性地退出空闲模式以进行保持活动交换。TCP交换的频率通常由特定于OS的考虑因素(例如TCP保持活动或其他机制,其允许服务器在移动设备断电或突然离开无线覆盖范围时检测到死亡TCP连接),以及对应于从服务器到客户端的反向TCP通信量的防火墙孔洞时效计时器来决定。此外,维持与数以千万计的移动设备的持续TCP连接需要分配大量服务器资源。此外,这种方法可能会对于移动设备用户产生隐私问题,这是因为其可能允许第三方推送服务器跟踪移动设备及他们应用的使用。
[0010]图1示出了用于实施基于持续TCP连接的供应商控制的推送服务的移动网络的功能图示。网络100通常通过使用对应于一个或多个移动设备102的私有IP地址来提供移动网络服务(例如语音、文字、视频和其他数据服务)。移动设备102被配置来运行移动设备操作系统(OS)以及利用定制的、供应商实施的推送服务的各种移动网络服务应用。网络100包括移动服务提供商的核心网络106与公共因特网108之间的具有网络地址翻译(NAT)的防火墙104。核心网络106包括通常被用于实施LTE移动通信系统的组件,比如分组数据网络网关(PDN-GW,Packet Data Network gateway) 110、本地用户服务器(HSS,HomeSubscriber Server) 112、移动性管理实体(MME,Mobility Management Entity) 114、服务网关(S-GW, Serving gateway) 116以及一个或多个基站(eNodeB)蜂窝接入点118。然而,核心网络106可以是2G、3G (例如WCDMA-UMTS、CDMA)或4G (例如LTE、WiMAX)网络,其具有被配置来实施任何此类标准定义的网络架构的组件。因此,虽然图1示出了 LTE移动通信系统,但是本领域技术人员将认识到,可以添加或组合这些组件当中的一项或更多项以及各种其他众所周知的组件,用于实施2G、3G、4G或者其他移动通信系统网络架构。
[0011]网络100还可以包括可以通过防火墙104外部的公共因特网108访问的推送服务器120。移动设备102可以包括推送客户端122 (例如与移动设备操作系统(0S,0peratingSystem)耦合的中间件)以及一个或多个应用编程接口(
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1