CN105659654A - 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 - Google Patents

在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 Download PDF

Info

Publication number
CN105659654A
CN105659654A CN201480044502.2A CN201480044502A CN105659654A CN 105659654 A CN105659654 A CN 105659654A CN 201480044502 A CN201480044502 A CN 201480044502A CN 105659654 A CN105659654 A CN 105659654A
Authority
CN
China
Prior art keywords
server
equipment
mobile device
client
connection
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.)
Pending
Application number
CN201480044502.2A
Other languages
English (en)
Inventor
迈克尔·弗莱明
安居·科哈诺沃
阿沛·尼冉塔
纳里曼·D·百特里瓦拉
阿里·巴克霍尔姆
胡华杰
魏杰
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.)
Seven Networks LLC
Original Assignee
Seven Networks LLC
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 Seven Networks LLC filed Critical Seven Networks LLC
Publication of CN105659654A publication Critical patent/CN105659654A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一方面,本发明描述的主题包括一种在使用专有和非专有协议的无线网络中进行信令优化的方法。在移动设备上的应用和该移动设备上的本地代理之间建立第一连接,在所述本地代理和不在该移动设备上的代理服务器之间建立第二连接,并在代理服务器和内容服务器之间建立第三连接。客户端和服务器的字节流通过第一、第二和第三连接在客户端和服务器之间传送。移动设备执行信令优化,来优化第二连接上的流量。

Description

在无线网络中对使用专有和非专有协议之流量的信令优化, 提供应用和/或服务器稳定性的系统和方法
优先权声明
本发明要求2013年6月11日提交的美国临时专利申请US61/833,796和2013年6月17日提交的美国临时专利申请US61/836,091的权益,以上专利的公开内容全部引用结合于此。
技术领域
本文公开内容涉及在无线网络中的信令优化。更具体来说,其涉及对于无线网络中利用专有和非专有协议的流量进行的信令优化。
背景技术
越来越多的移动流量正转向特定于提供商的专有协议。例子包括谷歌通过TCP端口5228的的流量、WhatsApp、各种应用提供商所使用的Urban Airship推送通知、Skype和雅虎邮件2.0等。这意味着,除了使用HTTP/HTTPS等标准化协议的流量之外,越来越多引发信令的应用流量现在包括由专有协议显著贡献的流量。信令的常规优化依赖于对所使用协议的一定理解。因此,即使对于任意的、专有的和/或非标准协议的信令优化能力,也存在着明确的需要,例如底层协议定义可能未知的情况。
发明内容
本发明所公开的主题包括无线网络中信令优化的方法和系统,此无线网络包括使用标准协议之外的任意的、专有的和/或非标准协议的流量。
一方面,本发明描述的主题包括一种在使用专有和非专有协议的无线网络中进行信令优化的方法。在移动设备上的应用和该移动设备上的本地代理之间建立第一连接,在所述本地代理和不在该移动设备上的代理服务器之间建立第二连接,并在所述代理服务器和内容服务器之间建立第三连接。客户端和服务器之间的字节流通过第一、第二和第三连接,在客户端和服务器之间传送。所述移动设备执行信令优化,来优化第二连接上的流量。
另一方面,本发明描述的主题包括一种在使用专有和非专有协议的无线网络中进行信令优化的系统。该系统包括一台移动设备,其包括一个客户端应用程序和一个本地代理,客户端和本地代理通过第一连接相连,不在该移动设备上的远程代理通过第二连接与本地代理相连,无线网络中的一个服务器通过第三连接和该远程代理相连。客户端和服务器之间的字节流通过第一、第二和第三连接,在客户端和服务器之间传送。移动设备执行信令优化,来优化第二连接上的流量。
另一方面,本发明描述的主题包括一种在使用专有和非专有协议的无线网络中进行信令优化的计算机程序产品。该计算机程序产品包括集成了计算机可读代码的非临时性计算机可读存储介质,该计算机可读代码配置用于在移动设备上的应用和该移动设备上的本地代理之间建立第一连接、在所述本地代理和不在该移动设备上的代理服务器之间建立第二连接、在所述代理服务器和内容服务器之间建立第三连接、通过第一、第二和第三连接在客户端和服务器之间传送字节流并由该移动设备执行信令优化,来优化第二连接上的流量。
附图说明
现在将参照附图来解释此处描述主题的实施方式,其中相似的参考编号表示相似的部分,其中:
图1A是描述了一个根据本发明所述主题的一实施方式的示例性系统的块图,,该系统用于使用专有和非专有协议流量的网络中,信令优化方面的应用和/或服务器稳定性上;
图1B是描述了一个根据本发明所述主题的另一实施方式的示例性系统的块图,该系统用于使用专有和非专有协议流量的网络中,信令优化方面的应用和/或服务器稳定性上;
图1C是描述了一个根据本发明所述主题的另一实施方式的示例性系统客户端组件架构的块图,该系统用于使用专有和非专有协议流量的网络中,信令优化方面的应用和/或服务器稳定性上;
图2A、2B和2C是描述了根据本发明所述主题的另一种实施方式的示例性系统客户端组件架构的块图,该系统用于使用专有和非专有协议流量的网络中,信令优化方面的应用和/或服务器稳定性上;
图3是描述了一个根据本发明所述主题的另一种实施方式的示例性计算机系统中的示例性机器的块图,其中用于使机器执行任一个或多个本发明中所讨论方法的一组指令可在此系统中执行;
图4是描述了一个根据本发明所描主题的一种实施方式的示例性过程的流程图,该过程用于无线网络中利用专有和非专有协议的信令优化。
详述说明下面的描述和附图是说明性的,而不应被解释为限制性的。许多具体细节被描述用于对本文公开内容的通篇理解。然而在某些情况下为避免模糊描述,对公认或常规的细节不做描述。在本文公开内容中,对某一实施方式或一个实施方式的引用可以是但不一定是对同一实施方式的引用;并且这类引用意味着至少一个实施方式。
在本说明书中对“某一实施方式”或“一个实施方式”的引用,意味着被描述为与该实施方式相关的一个特定的特性、结构或特性被包括在本公开内容中的至少一个实施方式之中。在本说明中各个地方的“在一个实施方式中”这一短语的出现,不一定全部指同一实施方式,也不是与其它实施方式相互排斥的单独或替代实施方式。此外,还描述了可以通过一些实施方式而非其他实施方式来展示的各种特性。同样地,还描述了可能是某些实施方式的要求但非其他实施方式要求的各种要求。
在本文公开内容内的上下文以及本说明书中所使用每条术语在使用时的具体的上下文中,这些术语通常具有其在本领域中的普通含义。被用于描述本文公开内容的某些术语将在下面或在本说明书中的其他地方讨论,以就本公开内容所描述内容向从业人员提供进一步的指导。为了方便起见,某些术语可被突出显示,例如使用斜体和/或引号。突出显示的使用对术语的范围和含义没有影响;在相同上下文中,不论术语是否被突出显示,其范围和含义都是相同的。应该理解,同样的东西可以有多种讲法。
因此,替代语言和同义词可用于任何一个或多个本发明所讨论的术语,某个术语是否在本发明中被详细阐述或讨论并不具有任何特殊意义。提供了某些术语的同义词。对一个或多个同义词的详述并不排除对其它同义词的使用。在本说明书中的任何位置对实例的使用(包括本说明书所讨论的任何术语的实例)都仅仅是说明性的,而并非旨在进一步限制任何示例性术语的公开内容或范围和含义。同样地,本文公开内容并不限于本说明书中给出的各种实施方式。
在不旨在限制本文公开内容范围的前提下,如下给出根据本文公开内容实施方式的仪器、设备、方法及其相关结果实例。注意,在实例中可使用标题或副标题为读者提供方便,其决不应限制本文公开内容的范围。除非另有定义,否则本发明使用的所有技术和科学术语,都具有与本文公开内容所涉及领域中普通技术人员所共同理解的含义相同的含义。在冲突的情况下,以本发明件包括其中定义为准。
现有信令优化系统和用于降低移动网络拥塞方法可以优化标准的和非专有的应用级协议上的移动流量,这些协议包括但不限于:超文本传输协议(HTTP)、超文本传输安全协议(HTTPS)、文件传输协议( FTP)、简单邮件传输协议(SMTP)、互联网消息访问协议(IMAP)、邮局协议(POP)和类似物。然而,许多移动应用正在弃用标准协议而启用厂商专有协议。例如,谷歌利用一种非标准的传输控制协议(TCP)端口5228。举另一个例子来说,“WhatsApp”移动应用使用可扩展消息处理现场协议(XMPP)的定制版本。与此类似,Skype和雅虎邮箱等一些应用使用自己的专有协议,而许多提供商也使用Urban Airship之推送通知协议等其他协议。
现有信令优化系统和方法按客户端指示重播或复制整个事务,这意味着执行信号优化的服务器需要自主建立任何会话(TCP 套接口和任何应用层握手,安全套接层(SSL)等)。然而要这样做,这些协议必须被很好地理解。例如,在任何优化能够执行之前,报头协议和其它协议特定的数据必须是已知的。如果因为专有协议不规范而不能被很好理解的话,此类专有协议上的移动流量就不能由现有的优化系统和方法进行优化。
本文公开内容的实施方式,包括为在无线网络中对使用专有和非专有协议之流量的信令优化,提供服务器稳定性的系统和方法。在一个实施方式中,所公开的技术包括一个架构(例如由本地代理和/或代理服务器组成的分布式系统),除了HTTP、HTTPS、 FTP、SMTP、IMAP、POP、XMPP等类似标准协议之外,该架构还为任意的、专有的和/或非标准协议优化信令。在另一个实施方式中,所公开的技术提供了一种协议无关的系统和方法,其用于无线网络中任何流量的信令优化,同时保持与客户端设备进行通信(例如,应用服务器或内容服务器、消息服务器以及类似物等等)的远程服务器无碍运行。
在一个实施方式中,传输控制协议(TCP)流作为字节流在第一次会话上通过,从一个应用到一个本地代理,在第二次TCP会话上通过,从本地代理到一个代理服务器,在第三次TCP会话上通过,从本地代理服务器到一个内容服务器。本地代理在不知道底层协议的情况下观察并且识别字节流内的模式。一旦识别出模式,第二次TCP会话就会被关闭,使得第一次TCP会话对应用重复此模式,而第三次TCP会话对内容服务器重复此模式。一旦任一端检测到模式中的变化,第二次TCP会话就会被重新建立,来把变化内容传输到另一端。
当不可能识别一个字节流中的模式并执行二进制事务的直接重复时,本发明所公开的创新,提供了用于提供或维持应用和/或服务器稳定性的系统和方法,其可以在无线网络中为使用各种专有和非专有协议的流量来优化信令。
本文公开内容的实施方式还进一步包括,通过保持在客户端设备上的远程服务器(例如邮件服务器、应用服务器和/或图1B中的内容提供商110)和/或应用“无碍运行(happy)”(即防止服务器终止连接),为在无线网络中对使用专有协议和/或非专有协议的流量进行信令优化的系统和方法。具体实施方式使用微软交换服务器)作为远程服务器的例子。然而,与应用/客户端设备进行通信的其他服务器也可能是可适用的并且是预期之中的。
GCM服务器允许从应用服务器或内容提供商向使用XMPP的用户设备(上游和下游,即设备到云和云到设备)传送数据。GCM服务器可以为消息进行排序,并将消息发送到用户设备上的目标应用中。这些消息可以通知移动应用有要从内容提供商或应用服务器获取的新数据,且/或可以包括实际数据(例如即时消息)。EAS服务器允许在交换服务器和通过HTTP或HTTPS使用基于XML的协议的移动设备之间的电子邮件、日历、联系人等类似物的无线同步。可以预期各种其他促进客户端设备上的应用和内容提供商或应用服务器之间的通信的中介或邮件服务器。
图1A示出一个系统的示例示意图,其中,为实现资源节约,主机服务器100在无线网络(或宽带网络)中在诸如移动设备150(例如无线设备)、应用服务器110或内容提供商或其它服务器(如广告服务器120A、促销内容服务器120B、电子优惠券服务器120C )或谷歌云消息传递(GCM)服务器和交换主动同步(EAS)服务器等消息服务器之间协助流量管理、内容缓存和/或资源节约。主机服务器可以在无线网络中为使用专有(非标准)和非专有(例如HTTP)协议的流量进一步优化信令。
客户端设备150可以是能够与另一设备、基站112、服务器和/或诸如主机服务器100和/或应用服务器/内容提供商110的其他系统建立包括有线、无线和蜂窝连接在内的任何系统和/或设备,和/或任何的设备/系统组合。客户端设备150通常包括显示器和/或其他输出功能,以表现设备150和/或主机服务器100和/或应用服务器/内容提供商110之间交换的信息和数据。应用服务器/内容提供商110可以是包括第三方服务器或服务/内容提供商在内的任何服务器,其进一步包括广告、促销内容、出版物或电子优惠券服务器或服务。同样的,作为应用服务器或内容提供商的独立的广告服务器120A、促销内容服务器120B和/或电子优惠券服务器120C以举例的方式示出。
例如,客户端/移动设备150可包括移动式、手持式或便携式设备、无线设备或者非便携式设备,并且也可以是以下任何(但不限于)桌面服务器、台式计算机、计算机集群或便携式设备,包括笔记本电脑、手持式电脑、掌上电脑、手机、蜂窝电话、智能电话、PDA、黑莓设备、Palm设备、任何平板电脑、平板手机(介于典型的智能手机和平板电脑之间的拥有更大屏幕尺寸的一类智能手机)、手持式平板电脑(例如iPad、Galaxy系列、Nexus、各种Kindle、,各种Kindle Fire、任何基于Android的平板电脑、任何基于Windows的平板电脑或任何其他平板电脑)、任何便携读取器/读取设备、手持控制台、手持游戏设备或控制台、头戴式设备、头戴式显示器、薄型客户端或诸如iPhone的任何超级手机和/或任何其它便携式、移动式、手持式设备或诸如M2M设备等的固定无线接口。在一个实施方式中,客户端设备150(或移动设备150)、主机服务器100和应用服务器110经由网络106和/或网络108相连。在一些实施方式中,设备150和主机服务器100可以直接相互连接。
客户端设备150的输入机构可包括触摸屏小键盘(包括单次触摸、多次触、二维或三维手势检测等)、物理键盘、鼠标、指针、跟踪板、触笔、触笔检测器/传感器/受体运动检测器/传感器(例如包括1轴、2轴、3轴加速度计等)、面部检测器/识别器、视网膜检测器/扫描仪、光传感器、电容传感器、电阻传感器、温度传感器、接近传感器、压电设备、设备取向检测器(例如电子罗盘、倾斜传感器、旋转传感器、陀螺仪、加速计)或上述的任何组合。
通过一个或多个上述输入机构或其它机构在客户端设备150上接收或检测到用以表明用户活动的信号,在本发明公开的技术中可用于在客户端设备150上获取情境感知。举例来说(但不作为限制),在客户端设备150上的情境感知一般包括客户端设备150操作或状态确认、管理、用户活动/行为/相互作用感知、检测、感测、追踪、趋势分析和/或应用(例如手机应用)类型、行为、活动、操作状态等。
在本文公开内容中的情境感知还包括对网络端情境数据的感知和检测,并可包括诸如网络容量、带宽、流量、网络/连通类型和/或任何其它操作状态数据的网络信息。网络端情境数据可以从网络服务提供商(例如蜂窝信号提供商112和/或互联网服务提供商)处接收和/或查询,这些网络服务提供商属于网络106和/或网络108 (例如主机服务器和/或设备150)。除了从客户端150一端确定的应用情境感知之外,应用情境感知也可从相应的应用/服务提供商110(由主机100和/或客户端设备150)处接收或获得/查询。
举例来说,主机服务器100可以使用为客户端设备150、网络106/108、应用(如手机应用)、应用服务器/提供商110获取的情境信息或其任何组合来管理系统中的流量,从而满足客户端设备150(例如满足应用或任何其他包括HTTP请求在内的请求)的数据请求。在一个实施方式中,流量由主机服务器100管理,来满足响应明确或不明确的用户103请求和/或设备/应用的维护任务所做的数据请求。流量可通过节省网络消耗(例如对蜂窝网络的使用)的方式加以管理,以实现有效和高效的带宽利用。此外,主机服务器100对系统中的这种流量进行管理和协调的方式,可以让设备150端的资源(例如包括但不限于电池能量消耗、无线使用、处理器/存储器使用)使用以普通资源节约理念所优化,同时仍然优化了性能和用户体验。在一些实施方式中,主机服务器100也可间接地通过在移动设备上实施的流量阻断策略创建、选择和/或部署来管理流量。
例如,在电池节约的情况下,设备150可以观察用户活动(例如,通过观察用户击键、背光状态或经由一个或多个输入机构等的其它信号)并改变设备150的行为。设备150还可以请求主机服务器100基于用户活动或行为针对网络资源消耗来改变行为。
在一个实施方式中,为资源节约和/或保持信令优化中服务器稳定性的流量管理,是使用主机服务器100和客户端设备150之间的一个分布式系统来执行的。该分布式系统可包括服务器100端和在设备/客户端上的代理服务器和缓存组件,例如服务器100端上的服务器缓存135和客户机150端上的本地缓存185。
为针对资源节约以及减少或优化网络(例如网络106和/或108)和设备150中信令的情境感知流量管理以及提供服务器稳定性而公开的功能和技术,驻留在分布式代理和缓存系统之中。代理和缓存系统可在一个给定的客户端设备150的部分或全部和/或主机服务器100的部分或全部之间分配,也可在其之上驻留。进一步参考图1C中的示例示意图示出分布式代理和缓存系统。由在客户端设备150中的代理和缓存组件及本发明相关组件所执行的功能和技术,其进一步参考的例子分别作详细描述。
在一个实施方式中,客户端设备150与主机服务器100和/或应用服务器110通过网络106通信,其可是一个蜂窝网络和/或宽带网络。为了方便设备150和各种应用服务器/内容提供商110之间的整体流量管理从而有效利用网络(带宽利用)和设备资源(例如电池消耗),主机服务器100可与应用服务器/提供商110通过可包括互联网(例如一个宽带网络)的网络108进行通信。
在一般情况下,网络106和/或108(客户端设备150、主机服务器100和/或应用服务器110在其上通信)可以是蜂窝网络、宽带网络、电话网络、互联网等开放网络或内联网和/或外联网等专有网络,或其任何组合。例如,互联网可以通过例如但不限于TCP / IP协议、UDP、HTTP、DNS、FTP、UPnP、NSF、ISDN、PDH、RS-232、SDH、SONET等任何已知或方便的协议来提供文件传输、远程登录、电子邮件、新闻、RSS、基于云的服务、即时消息、可视语音邮件、推送邮件、VoIP和其他服务。
网络106和/或108包括任何完全或部分运作的不同网络的集合,协同为客户端设备150和主机服务器100提供连接,在所服务的系统和设备看来是一个或多个网络。在一个实施方式中,从客户端设备150收发的通信可以通过如互联网的开放网络或如内联网和/或外联网的专有网络、宽带网络来实现。在一个实施方式中,通信可通过如安全套接层(SSL)或传输层安全(TLS)的安全通信协议来实现。
此外,通信可以经由一个或多个网络来实现,例如但不限于一个或多个WiMax、局域网(LAN)、无线局域网(WLAN)、个人区域网(PAN)、校园区域网(CAN)、城域网(MAN)、广域网(WAN)、无线广域网(WWAN)或任何宽带网络,其并可进一步由技术强化,实例有全球移动通信系统(GSM)、个人通信服务(PCS)、蓝牙、WiFi、无线固定数据、2G、2.5G、3G(例如基于WCDMA/ UMTS的3G网络)、4G、IMT-Advanced、pre-4G、LTE Advanced、移动WiMax、WiMax 2、无线MAN-Advanced网络、GSM增强数据率演进(EDGE)、通用分组无线业务(GPRS)、增强型GPRS、iBurst、UMTS、HSPDA、HSUPA、HSPA、HSPA+、UMTS-TDD、1xRTT、EV-DO、诸如TCP/IP、短信、彩信、可扩展消息处理现场协议(XMPP)、即时消息传输协议(RTMP)、即时信息与空间协议(IMPP)、即时消息、USSD、IRC的通信协议或任何其它无线数据网络、宽带网络或消息传送协议。
图1B示出了主机服务器和有关设备之间所分布的代理和高速缓冲存储器系统的一个示例示意图,这些有关设备为资源节约和内容缓存而协助设备、应用服务器或内容提供商或其它诸如广告服务器、促销内容服务器、电子优惠券服务器的服务器或诸如GCM服务器和EAS服务器的邮件服务器之间的网络流量管理。分布于主机服务器和设备之间的代理系统可进一步在无线网络中对使用专有(非标准)和非专有(例如HTTP)协议的流量进行信令优化。
例如,分布式代理和缓存系统可包括代理服务器125(例如远程代理)和在服务器端的服务器缓存135组件。如图所示,服务器端代理125和缓存135可位于主机服务器100内部。此外,代理服务器125和服务器端的缓存135可部分或全部在主机服务器100外部并通过网络106和108中的一个或多个进行通信。例如,代理服务器125可在主机服务器外部而服务器缓存135可保持在主机服务器100上。或者,代理服务器125可在主机服务器100之内,而服务器缓存在主机服务器100之外。此外,代理服务器125和缓存135中的每一个都可部分位于主机服务器100的内部并部分位于主机服务器100的外部。应用服务器/内容提供商110可是包括第三方服务器或服务/内容提供商在内的、进一步包括广告、促销内容、出版物或电子优惠券服务器或服务在内的任何服务器。类似的,作为应用服务器或内容提供商的独立的广告服务器120A、促销内容服务器120B、电子优惠券服务器120C和/或邮件服务器(如GCM、EAS服务器) 120D被以举例的方式示出。
在一个实施方式中,分布式系统还可以包括客户端组件,举例来说(但不作为限制),包括本地代理175(例如移动设备上的移动客户端)和/或本地缓存185,如图所示其可驻留于设备150(例如移动设备)之内。
此外,客户端代理175和本地缓存185可部分全部位于设备150之外并通过网络106和108中的一个或多个进行通信。例如,本地代理175可在设备150之外而本地缓存185可被保持在设备150上。或者,本地代理175可在设备150之内而本地缓存185位于设备150之外。此外,代理175和缓存185中的每一个都可部分位于主机服务器100的内部并部分位于主机服务器100的外部。
在一个实施方式中,分布式系统可以包括一个可选的缓存代理服务器199。缓存代理服务器199可以是由应用服务器/内容提供商110、主机服务器100或网络服务提供商112和/或上述任何组合来运行以促进网络通信管理和设备的源节约的一个组件。例如,代理服务器199可用于将被提供给设备150的内容(例如来自应用服务器/提供商110、主机服务器100和/或网络服务提供商112中的一个或多个的内容)进行缓存。内容缓存也可以被全部或部分地由远程代理125执行以满足在设备150上的应用请求或其他数据请求。
在情境感知流量管理、为优化资源节约和/或网络(例如蜂窝式或其它无线网络)中信令优化的服务器稳定性中,用户活动/行为和/或移动设备(例如任何无线设备)150上的应用的行为都可通过本地代理175被跟踪,并通过网络106到代理服务器125组件进行通信,此组件为例如连接元数据的主机服务器100上的组件。代理服务器125继而被耦合到应用服务器/提供商110上去,其提供内容和数据以满足在设备150上所作出的请求。本地代理175可以是一个协议无关组件,其可在一个字节流中识别一种模式并在一个实施方式中执行二进制记录的直接重放。在另一个实施方式中,本地代理175可以维护无线网络中的使用专有和/或非专有协议进行信令优化的应用和/或服务器稳定性。
另外,本地代理175可以识别和检索 包括电池电量、设备所登记的网络、无线状态、信号强度、cell标识符(即cell ID)、位置区域码或该移动设备是否正在使用(例如由用户与之交互)中的一个或多个移动设备属性。在一些情况下,本地代理175可以延迟、加速(预取)和/或在把数据传输到代理服务器125之前修改数据,在适当的时候,这将被引用结合图2A的实例相关联的描述而进一步详细说明。
本地数据库185可被包括在本地代理175之中或被耦合到本地代理175上,并可在数据请求被转发到代理服务器125之前查询对数据请求的本地存储响应。本地缓存的响应可由本地代理175使用,当缓存内容仍然有效时,通过检索存储在缓冲存储器185中的缓存内容来满足移动设备150上的某些应用请求。
类似地,主机服务器100上的代理服务器125也可在向内容源(例如,应用服务器/内容提供商110)传输之前延迟、加速或修改来自本地代理的数据。此外,代理服务器125采用设备属性和连接元数据,以在移动设备150上产生用于满足应用请求的规则。代理服务器125可收集有关用于稍后使用的应用请求的实时流量信息,来优化类似的与移动设备150或其他移动设备的连接。
一般来说, 本地代理175和代理服务器125对移动设备上执行中的多个应用是透明的。本地代理175对于移动设备或平台上的操作系统一般是透明的,并且可以或可以不特定于设备生产厂家。在一些情况下,本地代理175的部分或全部可被定制为设备特有的。在一些实施方式中,本地代理175可以被捆绑到一个无线机型、防火墙和/或一个路由器上。
在一个实施方式中,主机服务器100可在一些情况下利用短消息服务中心(SMSC)114的存储和转发功能(如由网络服务提供商提供的功能)来与设备150通信从而实现网络流量管理。需要注意的是SMSC 114还可利用任何其他类型的替代信道,其包括USSD或其他网络控制机制。主机服务器100可转发内容或HTTP响应到SMSC 114上,这样如果可行,它就会被自动转发到设备150上,或如果设备150当前不可用则会被用于后续转发。
在一般情况下,所公开的分布式代理和缓存系统允许对网络使用的优化,例如,通过服务来自本地缓存服务185的请求,本地代理175可减少需要在网络106上所满足的请求数。另外,本地代理175和代理服务器125可从所传送的数据中过滤不相关的数据。另外,本地代理175和代理服务器125也可以积累低优先级数据,并将其分批发送以避免协议被发送个别数据片段而架空。本地代理175和代理服务器125也可将流量压缩或转码,减少通过网络106和/或108所发送的数据量。网络106和/或108中的信令流量可被减少,因为此网络现在被减少使用并且网络流量可被在每个应用之间同步。
就移动设备150的电池寿命而言,通过服务来自本地缓存185的应用或内容请求,本地代理175可减少无线模块通电次数。本地代理175和代理服务器125可以联合工作以积累低优先级数据,并将其分批发送,从而当无线被通电启用时可减少使用次数和/或时间量。本地代理175可通过为所有连接同时执行批量数据传送来同步网络使用。此外,通过防止移动设备不断试图向拥塞的网络发送信号和/或允许对网络的选择性(例如高优先级流量),本地代理175可以节约移动设备的电池资源。
图1C示出了一个在分布式代理和缓存系统中显示客户端组件的体系结构的示例示意图图,其具有用于使用专有(非标准)和非专有的(例如HTTP)协议来在无线网络中为流量而优化信令的应用/服务器稳定器组件。
客户端代理组件175可包括软件组件或安装在移动设备上以在客户端上使流量优化并执行相关功能的代理。客户端代理175的组件可透明地为终端用户和应用163进行操作,并与设备的操作系统(OS)162相连。客户端代理175可被安装在移动设备上用于优化的进行,并能导致数据路由和/或时机的变化。一旦数据路由被修改,客户端代理175可向服务提供商或主机服务器响应应用请求,除了或而不是让那些应用163直接接入数据网络。一般地,应用163在移动设备上不会注意到客户端代理175在响应其请求。
对客户端代理175的一些示例组件的描述如下:
设备状态监测121:设备状态监测121可负责确定设备中的一些状态和指标,如网络状态、显示状态、电池电量(例如通过无线/电池信息161)等,使得在客户端代理175中的其余部件可操作并根据设备状态做出决策,就每种状态采取最佳方式而行动。
流量识别器122:流量识别器122分析无线设备应用163及其各自的主机服务器之间的所有通信,从而确定经常性模式。支持的传输协议包括以DNS、HTTP和HTTPS为例的协议,从而使得通过这些端口的流量被定向到客户端代理175上。在分析流量时,客户端代理175可识别重复轮询模式,这可以是由服务器端代理125用于远程执行的选项,并传送给协议优化器123。
协议优化器123:协议优化器123可以实施服务来自本地缓存185的经常性请求的逻辑,而不是允许那些请求通过网络流向服务提供商/应用主机服务器。其任务之一是消除或最大限度地减少向网络发送请求的需要,从而积极影响网络拥塞情况和设备的电池寿命。
本地缓存185:本地缓存185可以存储对经常性请求的响应,并且可以被协议优化器123所使用来向应用163发送响应。
流量调度器124:流量调度器124可以通过统一保活信令而临时把通信进行移动以便优化对设备资源的使用,这样不同应用163的部分或全部都可以同时发送保活消息(流量流水线)。流量调度器124也可决定延迟在给定时间内不相关的数据的传输(例如设备未被主动使用时)。
策略管理器129:策略管理器129可以存储和执行由策略管理服务器(PMS)规定的流量优化和报告策略。在客户端代理175首次启动时,将要被在特定设备执行的流量优化和报告策略(策略配置文件)可以由策略管理服务器来规定。在设备的IP层执行流量管理策略,可以让操作者在其使用无线接入网络资源之前,管理流量。策略的使用范围可以从创建针对性极强的用户计划到主动和/或被动地管理网络拥塞。在一个实施中,执行策略的选择条件和/或弃用一项已实施策略的条件,可以由策略管理器129管理或协调。
看门狗127:看门狗127可以监测客户端代理175操作可用性。如果客户端代理175因故障或因其已被禁用而不再工作,看门狗127可以为设备继续工作而重新设置DNS路由规则信息并可以恢复原来的DNS设置,直到客户端代理175服务被恢复。
报告代理126:报告代理126可以收集关于发生在设备中的事件的信息(例如日志),并将信发送息到一个日志存储和处理服务,其可以位于服务端代理125的内部或外部并收集和存储客户端和/或服务器端代理系统日志。事件详细信息被暂时存储在设备上并转移到日志存储和处理服务——只有当数据信道状态活动时。如果客户端代理175不在一定时间(例如二十四小时)内发送记录,报告代理126即可以——在一个实施方式中——试图打开连接并发送记录条目,或者如果存储中没有条目就发送一个空的报告包。所有报告设置都可以在策略管理服务器中进行配置。日志中的信息可被用于报告和/或解决问题,例如。
推送客户端128:推送客户端128可以负责在服务器端代理125和客户端代理175之间的流量响应。推送客户端128能发出如内容更新请求和策略更新请求的服务请求,并从服务器端代理125处接收对这些请求的更新。此外,推送客户端128还可以发送数据到日志存储和处理服务。
代理服务器199具有广泛的用途,从通过缓存重复请求来加速网页服务器,到为一组共享网络资源的客户缓存网页、DNS和其他网络查询。代理服务器199是可选的。分布式代理和缓存系统(125和/或175)允许灵活的代理配置,其要么使用代理199、操作者网络中的额外代理,要么整合代理199和操作者的或其他第三方的代理。
应用/服务器稳定器186可以管理应用和/或服务器级的连接,以防止应用和/或服务器在应用/设备和服务器之间最小化或优化信令的同时终止连接。应用/服务器稳定器186的功能和特性在图2B中被详细描述。
图2A描绘的块图示出移动设备(例如无线设备)250上的分布式代理和缓存系统之客户端组件的一个例子,其管理无线网络(或宽带网络)中的流量,用于应用/服务器稳定性、节约资源、内容缓存和/或流量管理管理流量。客户端代理(或本地代理275)可以进一步为移动流量和/或基于应用行为、内容优先级、用户活动和/或用户预期的实施交付策略进行分类。
设备250可以是诸如便携式电话的便携式或移动式设备(例如任何无线设备),例如,其通常包括网络接口208、操作系统204、情境API 206以及可能代理无感知210或代理感知220的移动应用。请注意,虽然设备250在图2A的例子中被作为移动设备特别说明,但这并非一种限制; 设备250可以是任何能够通过在包括有线或无线网络(例如无线网络、蜂窝、蓝牙、局域网、广域网等)的网络中接收并传输信号以满足数据请求的无线、宽带、便携式/移动式或非便携式的设备。
网络接口208可以是一个联网模块,使设备250通过由主机和外部实体所支持的任何已知的和/或便利的通信协议在网络中与主机服务器250之外的实体调解数据。网络接口208可以包括一个或多个网络适配器卡、无线网络接口卡(例如SMS接口、无线网络接口、包括但不限于各代移动通信标准2G、3G、3.5G、4G、LTE等的接口)、蓝牙、或不管该连接是否通过路由器的接入点、无线路由器、交换机、多层交换机、协议转换器、网关、网桥、桥路由器、集线器、数字媒体接收器和/或中继器。
设备250还可以包括分布式代理和缓存系统的客户端组件,其可以包括但不限于本地代理275(例如移动设备的一个移动客户端)和缓存285。在一个实施方式中,本地代理275包括用户活动模块215、代理API 225、请求/事务管理器235、缓存策略管理器245其有一个应用协议模块248、流量整形引擎255和/或连接管理器265。流量整形引擎255还可以包括调整模块256和/或批处理模块257,连接管理器265还可以包括无线控制器266和心跳管理器267。请求/事务管理器235还可以包括应用行为检测器236和/或优先级处理引擎241,应用行为检测器236还可以包括模式检测器237和/或应用配置文件生成器239。本地代理或所述设备可进一步包括一个专有/非标准协议适配引擎401用于以协议无关的方式优化流量,和/或应用/服务器稳定性管理器470用于以协议无关的方式在无线网络中为流量优化信令的同时保持或阻断连接的终止。更多或更少的组件/模块/引擎都可以被包含在本地代理275及每个图示组件中。
按照本发明所使用的情况,“模块”、“管理器”、“处理程序”、“检测器” 、“接口”、“控制器”、“标准化器”、“发生器” 、“无效验证器”或“引擎”都包括了一个通用、专有或共享的处理器以及通常来说由处理器执行的固件或软件模块。取决于特定实现或其他考虑,模块、管理器、处理程序、检测器、接口、控制器、标准化器、发生器、无效验证器或引擎都可以被集中或使其功能被分布。模块、管理器、处理程序、检测器、接口、控制器、标准化器、发生器、无效验证器或引擎可包括通用或专有硬件、固件或用于处理器执行的内嵌于计算机的可读(存储)介质的软件中。
按照本发明所使用的情况,计算机可读介质或计算机可读存储介质旨在包括所有法定(例如在美国即根据35 U.S.C. 101)介质并明确排除所有性质为非法定的介质,其程度为该排除对包括计算机可读(存储)介质是有效的的权利要求是必要的。已知法定计算机可读介质包括硬件(例如仅举几例——寄存器、随机存取存储器(RAM)、非易失性(NV)存储器),但可以或可以不被限于硬件。
在一个实施方式中,网络流量管理之分布式代理和缓存系统的一部分驻留在或者与设备250进行通信,包括本地代理275(移动客户端)和/或缓存285。本地代理275可以在设备250上提供一个接口,使用户可以访问包括电子邮件、即时消息、语音信箱、可视语音邮件、消息源、互联网、游戏、生产力工具或其他应用等在内的设备应用和服务。
代理275一般独立于应用之外并可以被应用(例如代理感知和代理无感知应用210和220以及其它移动应用)使用来打开到远程服务器(例如服务器100)的TCP连接。在一些情况下,本地代理275包括代理API 225,其可被选择用于与代理感知应用220(或移动设备(例如任何无线设备)上的应用(例如手机应用))相连。
应用210和220通常可以包括任何用户应用、窗口小部件、软件、基于HTTP的应用、网络浏览器、视频或其他多媒体流或下载应用、视频游戏、社交网络应用、电子邮件客户端、RSS管理应用、应用商店、文档管理应用、生产率增强应用等。应用可以由设备制造商、网络服务提供商与设备操作系统一并提供,也可由用户下载或由其他人提供。
如图所示,本地代理的某一实施方式275包括一情境API,或者与情境API 206耦合。如图所示,情境API 206可以是操作系统204或设备平台的一部分或独立于操作系统204。操作系统204可以包括任何操作系统,包括但不限于任何以前、当前和/或将来的Windows Mobile、iOS、安卓、塞班、Palm OS、Brew MP、Java 2微型版(J2ME)、黑莓等等的版本/发布。
情境API 206可以是操作系统204的一个插件或设备250上的一个特定的客户端/应用。情境API 206可检测指示用户或设备活动的信号,例如运动侦测、姿态、设备位置、设备位置的改变、设备背光、击键、点击、激活了的触摸屏、鼠标点击或对其它指针设备的检测。情境API 206可耦合到设备250上的输入设备或传感器来识别这些信号。这种信号通常可以包括为响应在设备250的输入设备/机构上的显式用户输入所接收到的输入,和/或从设备250上或其附近(例如光、运动、压电等等)的环境信号/情境线索处所收集到的输入。
在一个实施方式中,使用者活动模块215与情境API 206交互以识别、确定、推断、检测、计算、预测和/或推理设备250上的用户活动特性。由情境API 206收集的各种输入都可以由用户活动模块215来聚合从而为用户活动特性生成一份简档。这样一个简档可以由用户活动模块215结合各种时间特性而产生。例如,用户活动简档可被实时生成以就用户在给定的时刻(例如由时间窗口中所定义、在最后一分钟、在最后30秒时等)正在做什么或没有在做什么而在给定时间内提供说明,用户活动简档也可以为一个由应用或网页定义的“会话”而生成,其描述了就在设备250上所介入的特定任务而产生的或为一个特定的时间段(例如在过去的2个小时内、在过去的5小时内)的用户行为特性。
此外,特性曲线可以由用户活动模块215产生来描绘出用户活动和行为(例如1周、1个月、2个月等)的历史趋势。这样的历史简档也可以被用来推断用户行为趋势,例如在一天的不同时间的访问频率、一周中某些日子的趋势(周末或周天)、基于位置数据的用户活动趋势(例如IP地址、全球定位系统或蜂窝塔坐标数据)或位置数据的改变(例如基于用户位置的用户活动、或基于所述用户是否在旅途中还是在归属区以外旅行等的用户活动),从而获得用户活动特性。
在一个实施方式中,用户活动模块215可以检测和跟踪设备250上的应用、文档、文件、窗口、图标和文件夹方面的用户活动。例如,当应用或者窗口(例如网页浏览器或任何其它类型的应用)已经被退出、关闭、最小化、最大化、打开、移动到前台或到后台中时,用户活动模块215可以检测到多媒体内容播放等。
在一个实施方式中,设备250上的用户活动特性可用于在本地调节所述设备(例如移动设备或任何无线设备)的行为,以优化资源消耗,如电池/功耗和包括内存、存储器和处理功率等其他设备资源的消耗、和/或进一步优化网络中的信令。在一个实施方式中,在设备上使用的无线可以根据用户的行为(例如由连接管理器265上的无线控制器266)特性而被耦合到用户活动模块215上。例如无线控制器266可以打开或关闭无线——基于设备250上的用户活动特性。此外,取决于用户活动特性,无线控制器266可以调整无线设备的功率模式(例如使用更高的功率模式或更低的功率模式)。
在一个实施方式中, 设备250上的用户活动特性也可用于使另一个设备(例如其它计算机、移动设备、无线设备或者非便携式设备)或服务器(例如 主机服务器100),其可以与设备250进行通信(例如通过蜂窝式网络或其它网络)来修改其与设备250所使用的通信频率。本地代理275可以使用由用户活动模块215所确定的用户行为特性信息来指示远程设备如何调节其通信频率(例如,如果用户处于闲置状态,则降低如数据推送频率的通信频率,而在新的数据、变化了的数据或具有一定重要性水平的数据变得可用等情况下,则请求该远程设备通知设备250)。
在一个实施方式中,用户活动模块215在确定了用户活动特性为用户在一段时间不活动之后变为活动时,作出响应,请求远程设备(例如服务器主机服务器)发送被缓冲了的、作为先前降低通信频率之结果的数据。
另外,或者作为替代,本地代理275可以就设备250上的用户活动特性与远程设备(例如主机服务器100)进行通信,而远程设备将确定如何改变其自己与设备250就网络资源节约和节约设备250的资源的通信频率。
本地代理275的某一实施方式还包括一个请求/事务管理器235,其可以检测、识别、拦截、处理、管理设备250上发起的数据请求——例如由应用210和/或220和/或直接/间接的用户请求。基于事务特性,请求/事务管理器235可以决定如何和何时处理一个给定的请求或事务或一组请求/事务。
请求/事务管理器235可以为在设备250上的应用和/或用户进行的请求或事务进行优先级排序,例如由优先级处理引擎241进行。请求/事务的重要性或优先级可以通过应用规则集而由请求/事务管理器235来确定,例如根据事务的时间灵敏度、事务内容的时间灵敏度、事务的时间关键性、事务中所传输的数据的时间关键性和/或发出请求之应用的时间关键性或重要性。
此外,事务的特性也可取决于该事务是否是设备上的用户交互或其他用户发起动作的结果(例如与应用的用户交互(例如手机应用))。在一般情况下,一个时间关键性事务可包括因用户发起的数据传输而产生的事务,并且可依此被划分优先级。事务特性也可以取决于由所请求事务导致的将被传输或预计要被传输的数据量。例如,连接管理器265可基于需要传输的数据量调节无线模式(例如通过无线控制器266调节高功率和低功率模式)。
此外,无线控制器266/连接管理器265可基于事务的时间关键性/灵敏度调节无线功率模式(高或低)。无线控制器266可以触发使用高功率无线模式——当一个与时间极为相关的事务(例如用户发起的数据传输产生的事务、前台运行的应用、任何符合一定条件的其它事件)被启动或检测到时。
在一般情况下,优先级可以被默认设置,例如基于设备平台、设备制造商、操作系统等。优先级可由特定应用可替代地或附加地设置;例如Facebook应用(例如手机应用)可以为各种事务(例如,状态更新可以比加为好友请求或戳请求(poke request)有更高的优先级,再比如消息发送请求可以比消息删除请求有更高的优先级)配置其自己的优先级,电子邮件客户端或即时消息聊天客户端也可有其自己用于优先权的配置。优先级处理引擎241可以包括用于分配优先级的规则集。
优先级处理引擎241还可以就对请求/事务的整体优先地位的确定而追踪网络提供商的应用或事务优先级之限制或规范。另外,优先级可以部分或全部由用户偏好确定,不管其是显式还是隐式的偏好。在一般情况下,用户可在不同层次设置优先级,例如对于会话或类型或应用的具体优先级(例如比较浏览会话、游戏会话与即时消息聊天会话,用户可以把游戏会话优先级设置为总是高于即时消息聊天会话,而后者优先级又高于网页浏览会话)。用户可以就具体的事务类型(例如使跨越所有应用之所有发送信息请求比消息删除请求具有更高的优先级,使所有日历相关的事件具有更高的优先级等)和/或特定的文件夹来设置特定应用的优先级(例如用户可以设置Facebook相关的事务比LinkedIn相关的事务具有更高的优先级)。
优先级处理引擎241可以追踪和解决不同实体设置的优先级中的冲突。例如,由用户指定的手动设置可能优先于设备操作系统设置,网络提供商参数/限制(例如为一个网络服务区域的默认设置、地理区域、对于一天中的特定时间的设置或基于服务/费用类型的设置)可能会限制任何用户指定的设置和/或应用设定的优先级。在一些情况下,接收自用户的手动同步请求可以覆盖一些、大部分或所有的优先级设置,其中被请求的同步会在被请求时被执行,而无论为此所请求操作单独分配的优先级或整体优先级排名如何。
优先级可以通过任何已知和/或方便的方式被内部定义和追踪,包括但不限于二进制表示、多值表示、分级表示,所有方式都被认为在所公开技术的范围之内。
表格
为说明起见,以上表I以二进制表示方案示出含有已分配优先级事务的一些例子。对额外的事件、请求、事务的类型来说,额外分配是可能的,并且如前所述,优先级分配可以通过更多或更少的粒度级别进行,例如在会话级或在应用级等。
如上表中举例所示,在一般情况下,低优先级的请求/事务可以包括更新消息状态为已读或未读、删除消息和删除联系人。更高优先级的请求/事务可能包括状态更新、新的IM聊天消息、新的电子邮件、日历事件更新/取消/删除、手机游戏会话中的事件、或其他娱乐相关的事件、网购或在线购物的购买确认、加载额外内容或下载内容的请求、联络簿相关的事件、更改设备设置的事务、位置感知或基于位置的事件/事务或任何其他由用户引发的或已知、预期为或怀疑用户在等待响应等的事件/请求/事务等。
收件箱修剪事件(例如电子邮件或任何其它类型的消息)通常被认为是低优先级的并且缺少其他紧迫事件,通常不会触发在设备250上的无线使用。具体来说,如果在计划的修剪事件时间无线没有另外开启,则用来删除旧的电子邮件或其他内容的修剪事件可以是“附带”于其他通信的。例如,如果用户把偏好设置为‘保持消息7天’,则不是在超过7天的那一刻打开设备无线来从设备250启动消息删除,而是将消息在下次打开无线时删除。如果无线功能已经打开,则修剪可按计划正常发生。
请求/事务管理器235可以使用请求的优先级(如通过优先级处理引擎241),以管理设备250输出流量进行资源优化(例如更有效使用设备的无线来实现电池节约)。例如,如果由连接管理器265控制尚未接通无线,则低于某个优先级次序的事务/请求可能不会触发设备250上的无线使用。与此相反,如果事务请求被检测到在特定优先级,无线控制器266可打开无线,使这样的请求可以得到发送。
在一个实施方式中,优先级分配(例如由本地代理275或其他设备/实体确定)可以用来使远程设备修改其与移动设备 或无线设备进行通信的频率。例如,可对远程设备进行配置,以便在有更高重要性的数据要向移动设备或无线设备发送时发送通知到设备250,但在仅有低重要性数据时不发送通知。
在一个实施方式中,事务优先级可以结合用户活动特性被用于塑造或管理流量,例如通过流量整形引擎255。例如,流量整形引擎255可等待从设备250发送低优先级的事务,作为对检测到用户处于休眠状态或非活动状态一段时间的响应。此外,流量整形引擎255可以允许多个低优先级的事务进行积累来从设备250进行批量传送(例如通过批处理模块257)。在一个实施方式中,优先级可以由用户设置、配置或调整。例如,与表I中所示相同或类似形式的内容可以在设备250的用户界面上访问,例如由用户使用以调节或查看优先级。
批处理模块257可以根据一定的标准开始批量传输。例如,批量传输(例如多次事件发生的批量传输,其中一些发生在不同的时间实例)可在检测到特定数量的低优先级事件后、或在第一个低优先级事件启动后经过一定时间之后发生。此外,批处理模块257可以在检测到设备250上发起或较高优​​先级事件时发起累积起来的低优先级事件的批量传输。当无线使用因为其他原因(例如从诸如主机服务器100或300的远程设备接收数据)被触发时,批量传输也可另外被启动。在一个实施方式中,即将发生的修剪事件(收件箱修剪)或任何其他低优先级的事件,都可以在批量传输发生时执行。
在一般情况下,批处理功能可在事件/事务级、应用级或会话级基于以下任何一项或其组合被被禁用或启用:用户配置、设备限制/设置、制造商规范、网络提供商参数/限制、特定于平台的限制/设置、设备的OS设置等。在一个实施方式中,批量传输可以在应用/窗口/文件被关闭、退出或移动到后台时启动;用户可以选择在批量传输之前接受提示;用户也可以手动触发批量传输。
在一个实施方式中,本地代理275通过在缓存285上缓存数据在本地减少或改变在设备250上的无线使用。当来自设备250的请求或事务可以由存储在缓存285中的内容来满足时,无线控制器266不必激活无线来将请求发送到远程实体(例如主机服务器100、诸如服务器/提供商110的内容提供商/应用服务器或诸如GCM和/或EAS服务器的邮件服务器)上去。这样,本地代理275可以使用本地缓存285和缓存策略管理器245在本地存储数据,用以满足数据请求,以消除或减少对设备无线的使用,实现节约网络资源和设备电池消耗。
在充分利用本地缓存方面,一旦请求/事务管理器235截获设备250上应用的数据请求,本地资源库285就可以被查询,以确定是否有任何本地存储的响应,并且还确定该响应是否有效。当在本地缓存285上有一个有效的响应时,该响应可被提供给设备250上的应用而无需设备250访问蜂窝网络或无线宽带网络,例如网络106和108。
如果没有一个有效的响应,本地代理275可以查询一个远程代理以确定远程存储的响应是否有效。如果有效,远程存储的响应(例如其可存储在服务器缓存135或可选的缓存服务器199之上)可以被提供给移动设备,可能无需移动设备250访问蜂窝网络,从而减轻网络资源的消耗。
如果有效的缓存响应不可用,或者如果缓存响应不可用于所截取的数据请求,本地代理275 (或其某一个组成部分,如缓存策略管理器245)可以发送数据请求到远程代理,例如代理服务器125或者缓存代理服务器199,其将数据请求转发到内容源(例如应用服务器/内容提供商110),并且自内容源的响应可以通过远程代理来提供。缓存策略管理器245可以管理或处理使用各种协议的请求,包括但不限于HTTP、HTTPS、IMAP、POP、SMTP、XMPP和/或ActiveSync。缓存策略管理器245可以把本地数据库285中的数据请求响应作为缓存条目进行本地存储,以随后用于满足相同或相似的数据请求。
缓存策略管理器245可以请求远程代理监视数据请求响应,而在检测到对于数据请求的意外响应时,远程代理可以通知设备250。在这种情况下,在被通知有对于数据请求的意外响应时(例如新的数据、改变了的数据、附加数据等)缓存策略管理器245可擦除或替换设备250上的本地存储的响应。在一个实施方式中,缓存策略管理器245能够检测或识别用于特定请求的协议,包括但不限于HTTP、HTTPS、IMAP、POP、SMTP、XMPP和/或ActiveSync。在一个实施方式中,本地代理275上的特定应用的处理器(例如通过缓存策略管理器245的应用协议模块248 )允许对任何可以被端口映射到分布式代理(例如端口映射在代理服务器上)中的处理器的协议进行优化。
在一个实施方式中,本地代理275通知远程代理,使得远程代理可以在将结果返回至设备250之前(例如当对内容源的数据请求取得了与要返回给移动设备的结果相同的结果时),监视接收自内容源进行数据请求的的响应是否有更改的结果。在一般情况下,本地代理275可以使用本地缓存的内容为设备250上的应用模拟应用服务器响应。这能够防止将蜂窝网络的利用,用于其中新的/有变化的数据不可用的事务,从而解放了网络资源并防止网络拥塞。
在一个实施方式中,本地代理275包括了一个应用行为检测器236来跟踪、检测、观察、监测可在设备250上访问或安装的应用(例如代理感知和/或代理无感知应用210和220)。应用行为或设备250上可访问到的一个或多个应用所检测到行为(例如通过模式检测器237)的模式可以由本地代理275使用,以优化满足这些应用的数据需求所需的无线网络流量。
例如,基于多个应用被检测到的行为,流量整形引擎255可以调整至少由一些应用通过网络(无线网络)所作的内容请求(例如经由调整模块256)。调整模块256可延缓或加快一些早期提出的请求以实现调整。当请求被调整时,流量整形引擎255可以利用连接管理器在网络中轮询,从而满足应用数据请求。多个应用的内容请求可以基于行为模式或规则/设置来调整,例如包括多个应用所请求的内容类型(音频、视频、文本等)、设备(例如移动或无线设备)参数和/或网络参数/流量状况、网络服务提供商的约束/规范等。
在一个实施方式中,模式检测器237可检测在多个应用中由其完成的复用,例如可通过跟踪应用行为中的模式进行。例如,被追踪的模式可以包括作为后台进程检测应用定期、在一天的特定时间、在一周中的特定天、可预测方式的规则时间、以特定频率、以响应于特定类型事件的特定频率、响应于特定类型的用户查询、请求内容相同的频率、做出相同请求所用的频率、请求之间的间隔、应用发出请求或上述的任何组合轮询一个应用服务器。
此类复用可以由流量整形引擎255使用,以通过一个处于设备250远程的代理服务器(例如代理服务器125)分载来自内容源(例如来自应用/内容提供商110)内容的轮询,该内容本来将源自将在移动设备上或在无线设备250上执行的应用请求。流量整形引擎255可以在复用与规则匹配时决定分载轮询。例如,对于内容或者返回值完全相同的相同资源,或基于一天内特定时间请求资源这样请求和响应之间可重复时长的检测,存在多次复用或请求。轮询的分载可以减少移动设备250为了重复的内容轮询与内容源建立无线(蜂窝或其他无线宽带)连接所需的带宽消耗量。
作为轮询分载的结果,在内容源的轮询中没有检测内容变化时,可提供存储在本地缓存285上的本地缓存内容来满足设备250上的数据请求。因此,当数据没有变化时,应用数据的需求可以得到满足,而无需在无线网络中启用无线使用或占用蜂窝带宽。当数据已经改变和/或新数据已被接收时,轮询被分载到的远程实体可以通知设备250。远程实体可以是主机服务器100。
在一个实施方式中,本地代理275可以减轻对周期保活消息(心跳消息)的需要/使用,以维持TCP / IP连接,这种需要/使用可能有大量功耗,从而对移动设备的电池寿命产生有害影响。本地代理(例如心跳管理器267)中的连接管理器265可以检测、识别和拦截发送自应用的任何或所有心跳(保活)消息。
心跳管理器267可以防止任何或所有这类心跳消息通过蜂窝或其他网络发送,而是依靠分布式代理系统(例如图1B中所示)的服务器组件生成并发送心跳消息,来维持与后端(例如图1A例子中的应用服务器/提供商110)的连接。
本地代理275一般提供任何一个或一部分为单独管理器、模块和/或引擎描述的功能。本地代理275和设备250可以包括额外或更少的组件;包括全部或部分更多或更少的功能,而不偏离本公开内容的新技术。
图2B图示说明了图2A中所示的应用/服务器稳定管理器470中附加组件的块图。
远程服务器可以通过保活报文或心跳维持与移动设备(例如图1A中的移动设备150)的通信。应用/服务器稳定管理器470可识别用以保持远程服务器“无碍工作”状态且同时优化网络中信令的参数。在一个实施方式中,到远程服务器的心跳可以被拦截或抑制(例如通过心跳拦截器/心跳管理器473),并且可以观察移动设备和远程服务器(例如GCM服务器)之间的连接,以确定远程服务器对错失心跳的容忍(例如通过服务器/应用错失心跳容忍检测器472)。举例来说,如果观察到(例如经过若干心跳周期)在蜂窝连接上的默认心跳间隔为28分钟而GCM服务器在有一次错失心跳的空闲连接大约30分钟时终止连接,则可以确定GCM服务器为预期心跳允许两分钟的宽限期。宽限期结束后,GCM服务器用服务器启动的复位或RST来明确终止连接。例如,心跳间隔和与远程服务器相关联的宽限期可能会因各种连接类型(例如Wi-Fi、2/3G、4G和类似物等)和网络提供商(例如AT&;T、Sprint和类似物等)而有所不同并被由其确定。应用/服务器稳定管理器470可以使用容忍度值以使发送心跳的间隔最大化,从而减少网络中的信令。
在另一个实施方式中,即使应用端套接口被终结(例如通过服务器端套接口管理器474),服务器端套接口也可通过采取一种为应用y和端口k(或端口范围)定义周期x1和/或模式Z1和Z2、周期x2以及周期x3的策略而保持为“无碍运行”或非空闲。在应用y、端口K的套接口空闲超过x1秒之后,或者如果流量与模式z1匹配时,直到在第一个流量x1后已过去×2秒且无线因为其他原因而出现(即不在已经过去x2之前),本地代理275都不对外向网络发送数据(例如保活数据)。
在“×1之后的第一个流量”或者“当应用数据最终被发送到网络”期间(如果应用数据自第一个流量×1后在×3之前被发送到网络),本地代理275都不会在应用试图使用相同的目标端口k(即使IP地址不同)时把应用数据(但接受从应用到本地代理的载荷和TCP套接口以避免触发端口跳跃)中继到网络。如果延迟的保活消息被成功发送到网络,这将允许服务器无碍运行x3,将其延伸至多两倍。
这种策略可适用于移动设备屏幕关闭(例如通过背光源检测器219和/或应用流量分类器241D检测)的情况,以避免影响用户的交互流量。如果服务器在延迟的保活消息被发送到网络后以任何非z2的模式进行响应,则本地代理可以尝试让应用立即重新连接,其方式为通过删除网络端端口、清除所有的应用端阻断、删除应用端套接口(假定应用已经在持续尝试打开新的端口,而删除将触发另一个重新连接尝试)和/或提供对应用的连接意图以允许应用通过尝试重新连接对意图作出响应。这使得服务器可以通过使用应用新建立的健康套接口来重新尝试发送其试图发送的任何数据。
在另一个实施方式中,用于保持远程服务器(例如GCM服务器)无碍运行的示例方法包括使用无线开启机会来向远程服务器发送一个合成心跳,其可以合成确认或真实确认(例如通过合成心跳/确认模块476)之外。示例方法使得不再需要连接终止和重新连接,并使用适当配置的界限以确定何时实际(例如GCM)心跳应被提前。
在一个实施方式中,分布式代理可以通过保持跟踪连接上的TimeOfLastActivity来实现对GCM心跳的提前,并等待第一次心跳的ping消息。当其被接收到时,其被送往服务器,其相应的确认被传输回应用。同时计算(TimeOfHPing - TimeOfLastActivity)之差=心跳间隔。分布式代理为心跳间隔启动计时器来向服务器发送合成心跳ping。如果无线唤醒(goes up),其可能会尝试在心跳间隔X秒之前发送合成ping。否则其可能会在心跳间隔过期时发送。在此期间,每当应用发送一个心跳ping,分布式代理都可以以一个合成心跳确认来响应。所有其他消息都可以顺畅通过。
合成心跳/确认的优化可以通过策略配置启用/禁用。策略配置包括容忍窗口,在其中样机将寻求无线上升事件。如果发生一次,那么将提早发出合成心跳Ping。例如,心跳间隔= 80秒,,则。然后分布式代理将在心跳间隔到期前寻求无线上升事件X =20秒,如果无线唤醒,会提早发出合成心跳Ping。合成心跳pings/acks可以从CRCS日志进行分析。
在一个实施方式中,应用/服务器稳定器470可以确定保持应用在移动设备上“无碍运行”的参数。例如,应用可以在发送心跳而没有收到确认一段时间(例如1分钟)后用TLS关闭终止连接。
在一个实施方式中,应用可以通过分别考虑网络插接口来保持“无碍运行”,这不影响最终用户的体验或只有非常小的影响。“安全响应”可以在本地从移动设备向应用提供,而发出的非保活消息将不会受到影响。与EAS和GCM相兼容的安全响应可以被创建并服务,只要满足特定条件(例如当屏幕关闭时)以保持应用无碍运行时(即防止应用终止连接)(例如通过服务器/应用安全响应提供商478)。
在一 个实施中,本地代理可以允许每x分钟发出一个请求以避免排队未同步的数据,并且进一步决定是否发出一个长轮询。当一个响应返回时,代理服务器或本地代理可以决定是否在本地代理为“安全响应”提供服务,从而在响应是“非新闻”型时可启动缓存。在另一种实现中,本地代理可以同时向网络发出一个请求,并向应用提供一个响应。当来自内容提供商或应用服务器的响应返回时,可对响应进行检查以确定其是是“非新闻”还是“新闻”。如果响应是“新闻”型,本地代理或代理服务器能够确定在从网络向应用传送真实响应之前需要延迟新数据 (例如新的电子邮件)多长时间。
例如,对于其中“新闻”独立于保活消息传送的GCM服务器,该GCM服务器可以保持尽可能长时间的无碍运行,具体取决于宽限期的限制。
在另一个实施方式中,本地代理和/或代理服务器可响应GCM心跳而拦截GCM心跳,并以一个安全响应而作出响应,如移动设备屏幕关闭(例如通过GCM安全响应478A)时的“非新闻”响应。当屏幕亮起时,到GCM服务器的连接被关闭以使应用进入到网络。
对于EAS,可以提供类似的安全响应,以减少EAS协议所导致的信令。当屏幕关闭时,本地代理和/或代理服务器可以用一个EAS“无新闻”响应来回应EAS ping、同步和/或文件夹同步请求。当屏幕亮起或用户活动被检测到时,本地代理会导致应用进入到网络(例如通过EAS安全响应478B)中。在又一个实现中,在实现安全响应策略时可以执行可配置的时间间隔。例如,如果屏幕已关闭了x秒,本地代理会导致应用进入到网络中,然后直到下一个周期过去之前继续以“非新闻”响应来回应。在另一个实现中,时间间隔可以被配置成使本地代理以x秒的“非新闻”响应进行回应,然后允许应用进入到网络中y秒,重复该循环直到屏幕关闭。在再一个实现中,当屏幕亮起时,本地代理可以继续为“非新闻”响应提供服务,直至邮件应用(或其他指定的应用)来到前台为止。
在一个实施方式中,应用级优化可以由分布式代理执行来进行信令优化。本发明描述了为诸如Kik messenger和微信之类的应用所执行的优化例子。然而,这样的优化和方法可被推广并应用到其他的应用。
在Kik messenger的例子中,应用使用端口5223并通过SSL使用XML(XMPP)协议。1.Kik messenger发送周期性保活消息到其服务器。客户端发送“ ”而服务器以“”响应。客户端以很短的时间间隔(1、2秒)开始,但在8分钟(例如可以通过本地代理来确定)左右稳定下来。Kik messenger客户端对确认了的ping消息有8秒的容忍。如果没有响应的“pong”,客户端就会开始终止当前的数据流,并在短时间(7-12秒)后启动一个新的数据流。Kik messenger对合成ping/pong消息作出响应。客户端和服务器都显得使用合成保活消息无碍运行。在到Kik messenger服务器的TCP连接无法通过时,Kik messenger不使用GCM分载。假设有这些观察或确定,则可以使用合成保活消息:
1. 在客户端(在套接口内(in-socket)),本地代理可以用即刻的“pong”消息来响应客户端的“ping”请求。
2. 在服务器端(在套接口外(out-socket)),代理服务器可以独立于客户端执行保活,并在一个实施中利用以下机会:
(a)通过删除不必要的消息来减少保活消息(例如一个数据包之后不久的ping/pong对)
(b)通过在服务器端调整保活频率来减少保活消息的数量。
(c)当其他应用导致无线被打开或以其他方式激活时,在服务器端寻求发送保活消息的机会。
为了实现能够容忍/允许合成ping/pongs的应用优化,可能需要增加或改变策略管理系统(PMS)的策略。例如,应用可能需要被列入白名单(例如用于由本地代理解码SSL流量),合成保活(服务器端)间隔和保活容忍百分比可能需要进行配置。例如,如果应用的稳定保活时间间隔大约是8分钟,分钟可被用作合成保活的机会窗口。因此,600秒长的时间间隔配合40%的容忍度可以在6分钟到10分钟之间提供发出合成保活消息的灵活性。增加保活时间间隔可能更加安全,在一些实现中最多增加到已知运营商的网络超时。例如,在Sprint设备上,设置可以被提高到略小于30分钟而没有显著的质量损失。可能在某些情况下选择600秒(8 +/- 2分钟)的默认值来模拟应用的保活间隔。优化还可以经由PMS配置来开启或关闭。
在某些应用(例如Kik messenger)中,可能需要在升级本地代理后强制重启,因为一些应用可能会在本地代理可用之前启动DNS查询,应用连接会是长时间的和/或应用有时可能缓存其自身DNS结果。
可进行CRCS日志的分析,以识别/检测发送到应用的合成确认消息。合成确认消息可能有特定的to-app和from/to净字节数(例如对Kik messenger而言是28 to-app和0from/to净字节数)、指示器来指示优化的开启/关闭状态、可以指示代理服务器是否能够解码SSL会话(例如如果该DNS查询没有到达代理服务器)的协议字段。日志中还包括有关发送到原服务器(合成ping)的合成保活消息详情,其可以包括诸如from/to-app字节数(如对Kik messenger而言是0)和净字节数(例如对Kik messenger而言是28)的信息。如果无线调整是,分析字段中则可能存在指示符“RA[1]”。没有该指示符意味着无线没有出现在容忍窗口,没有实现优化。
为Kik messenger实施时交换合成保活和确认消息的试验性细节可能包括如下内容。
1. 应用通过其服务器发送周期性保活消息。客户端发送“<ping/>”而服务器以“<pong/>”响应。
2. 无干扰数据采集(SSL握手后)。只要保活消息进行,客户端即以很短的时间间隔(1、2秒)开始,但约8分钟后稳定下来。
3. 删除Ping ——测试保活消息删除时会发生什么。客户端行为:客户端对服务器确认有8秒的容忍。如果没有服务器的确认,客户端就会开始终止当前的数据流,并在短时间(7-12秒)后启动一个新的数据流。
4. 延迟ping——测试保活消息被延迟时会发生什么。延迟超过8秒时,因为应用总是删除连接,所以不能有效地测试,。
5. 合成Pong:设置:在应用端(在插接口内)用合成确认消息响应客户端。在服务器端(在插接口外)阻断ping到达服务器。应用是稳定的,并且在15分钟空闲后向设备发送消息之后,消息成功地到达客户端:
在服务器上,在插接口外读数不时会得到ETIMEDOUT或ECONNRST(大多数ETIMEDOUT),但没有任何其他消息。这可能表明,周期性<ping/>消息不是服务器端的要求。
本发明在另一例子中描述了对应用“微信”进行优化的分析。分布式代理可确定服务器心跳包的内容,如果应用被检测到在屏幕关闭时发送心跳包,则分布式代理可以发送一个假响应以减少信号的计数。在一个实施中,可以实施一种合成心跳方案,其中,(1)在模式中时,分布式代理向客户端发送假响应;(2)接收非心跳包的新数据包时,分布式代理让其前往服务器,将模式复位;以及(3)如果从服务器接收到任何非心跳包的数据包,分布式代理让其前往客户端,将模式复位。在另一个实施中,分布式代理可确定心跳间隔(例如微信的6分钟)。如果客户端发送非心跳的消息,则分布式代理将所有缓存的心跳以及该新数据包发送到服务器。类似地,如果服务器发送一个非心跳数据包,则分布式代理将新的数据包发送到客户端。
图2C示出的块图描述了图2A中客户端(或本地)代理的附加组件的例子,其可进一步根据应用行为和/或用户活动进行移动流量分类和策略执行。
在本地代理275的该实施方式中,用户活动模块215还包括一个或多个用户活动追踪器215A、用户活动预测引擎215B和/或用户预期管理器215C。应用行为检测器236还可以包括优先级处理引擎241A、时间关键性检测引擎241B、应用状态分类器241D和/或应用流量分类器241D。本地代理275可以进一步包括背光探测器219和/或网络配置选择引擎251。网络配置选择引擎251还可以包括一个或多个无线生成标准选择器251A、数据速率符251B、接入信道选择引擎251C和/或接入点选择器。
在一个实施方式中,应用行为检测器236能够检测、确定、识别或推断移动设备250上的一个应用的活动状态,流量源自或被导向(例如经由应用状态分类器241C和/或应用流量分类器241D)该移动设备。活动状态可以通过 移动设备(通过应用状态分类器241C)上的应用在前台状态还是在后台状态来确定,因为前台应用的流量与后台应用的流量可被以不同的方式处理。
在一个实施方式中,活动状态可以按启发式的可靠性水平确定、检测、识别或推断,其基于移动设备250的背光状态(例如通过背光探测器219)或者在移动设备上的其他软件代理或硬件传感器,包括但不限于电阻传感器、电容传感器、环境光传感器、运动传感器、触摸传感器等。在一般情况下,如果背光开启,流量可以被视为正在或被确定从活动的或处于前台中的应用产生,或者该流量是交互式的。此外,如果背光开启,流量可以被视为或被确定来自用户交互或用户活动的流量,或包含用户预期在某个时间段内数据的流量。
在一个实施例中,活动状态被基于流量是否是交互流量或维护流量来确定。交互流量可以包括来自从用户的应用活动/交互直接产生之响应和请求的事务,并且可以包括用户正在等待或预期接收的内容或数据。维护流量可被用于支持不直接由用户检测到的应用的功能。维护流量还包括可能发生响应用户动作的动作或事件,但用户不是主动等待或预期响应。
例如,在移动设备250上的邮件或消息删除操作生成一个在服务器上删除相应邮件或消息的请求,但用户通常不等待响应。因此,这样的请求可以被分类为维护流量或具有较低优先级(例如通过优先级处理引擎241A)的流量和/或非时间关键性(例如通过时间关键性检测引擎214B)的流量。
与此相反,由用户在移动设备250上发起的邮件“读取”或消息“读取”请求可以被归类为“交互流量”,因为用户请求读取消息或邮件时通常在等待访问内容或数据。类似地,这样的请求可以被归类为具有较高优先级(例如通过优先级处理引擎241A)和/或时间关键/时间敏感(例如通过时间临界检测引擎241B)。
时间关键性检测引擎241B可大致确定、识别、推断包含在发送自移动设备250或发送至主机服务器(例如主机300)或应用服务器(例如应用服务器/内容源110)的移动设备流量中数据的时间灵敏度。例如,时间敏感数据可以包括状态更新、股票信息更新、即时通讯在线状态信息、电子邮件或其他消息、手机游戏应用产生的行动、网页请求、位置更新等。根据内容或请求性质,非时间敏感或时间关键性的数据可以包括删除消息请求、标记为已读或已编辑的操作、添加好友或删除好友请求等特定于应用的操作、某些类型的消息或或其他性质不经常变化的信息等等。在某些情况下,当数据不是时间关键性时,其允许流量通过的时机是基于何时需要从移动设备250发送附加数据而设定的。例如,流量整形引擎255可以把流量与一个或多个后续事务调整,使其被一起在移动设备无线(例如使用调整模块256和/或批处理模块257)的单次启动事件中发送。调整模块256也可以把被导向同一主机服务器的时间接近的轮询请求进行调整,因为这些请求可能用相同的数据响应。
活动状态的替代或组合可以从评价、确定、评估、推断、识别移动设备250上的用户活动(例如通过用户活动模块215)确定。例如,用户活动可以使用用户活动跟踪器215A直接检测和跟踪。然后,由此产生的流量可以被适当归类,从而用于后续处理以确定处理策略。此外,用户活动可以由用户活动预测引擎215B来预测或预期。通过预测用户活动或预期用户活动,预测后由此而产生的流量可以被视为是用户活动产生的结果,并可被适当分类以确定传输策略。
此外,用户活动模块215还可以管理用户预期(例如通过用户预期管理器215C和/或使用活动追踪器215和/或预测引擎215B),以确保流量被适当归类,从而大致满足用户预期。例如,用户启动操作应被分析(例如通过预期管理器215)以确定或推断用户是否将等待响应。如果是这样,这种流量应按能够使用户在接收这种响应或操作时不会经历令人不愉快延迟的策略来处理。
在一个实施方式中,新一代的无线标准网络被选择用于无线网中在移动设备和主机服务器之间发送流量,其基于流量源自或被导向至的移动设备上应用的活动状态。可以选择3G、3.5G、3G+、4G或LTE网络等高级技术标准,用于处理用户交互、用户活动所产生的流量,或含有用户预期或等待数据的流量。对于响应前台活动的移动设备,也可选择高级无线标准网络用于传输包含在移动设备流量中的数据。
在分类流量和确定移动通信传输策略时,可以选择网络配置在(例如通过网络配置选择引擎251)移动设备250上使用,用于在移动设备和代理服务器(325)和/或应用服务器(例如应用服务器/主机110)之间发送流量。所选择的网络配置可以基于由应用行为模块236收集的应用活动状态(例如后台或前台的流量)、应用流量类别(例如交互或维护流量)、数据/内容的任何优先级、时间灵敏度/关键性方面的信息确定。
网络配置选择引擎251可以按照任何组合选择或指定一个或多个的代标准(例如通过无线生成标准选择器251A)、数据速率(例如通过数据速率指示器251B)、接入信道(例如接入信道选择引擎251C)和/或接入点(例如通过接入点选择器251D)。
例如,当活动状态是在与用户交互或在移动设备前台时,可以为流量选择或指定更高级的代(例如3G、LTE或4G或更高)。相反,当检测到一个或多个下列内容时,可以为流量指定老一代的标准(例如2G、2.5G、3G或更老的):应用不与用户交互、应用在移动设备的后台运行、或包含在流量中的数据并非时间关键性的或被确定具有较低优先级。
类似地,当检测到一个或多个下列内容时,可以为流量指定具有较慢数据速率的网络配置:应用不与用户交互、应用在移动设备的后台运行或包含在流量中的数据并非时间关键性。接入信道(例如前向接入信道或专有信道)可以被指定。
图3以计算机系统实例的形式示出了一个机器示意图,其中用于让机器执行任一个或多个本发明所讨论方法的一组指令。
在图3的例子中,计算机系统300包括处理器、存储器、非易失性存储器和接口设备。为简化说明起见,省略了各种通用组件(例如高速缓冲存储器)。计算机系统300旨在图解说明一种硬件设备,在其上可采用图2A-2D中举例描述的任何组件(和在本说明书中描述的任何其他组件)。计算机系统300可以是任何适用的已知或便利的类型。计算机系统300的组件可以经由总线或通过一些其它已知或便利的设备耦合在一起。
例如,处理器可以是常规的微处理器,如英特尔奔腾微处理器或摩托罗拉powerPC微处理器。本领域的有关技术人员将认识到,术语“机器可读(存储)介质”或“计算机可读(存储)介质”包括了可由此处理器访问的任何类型的设备。
例如,存储器通过总线而被耦合到处理器上。举例来说(但不作为限制),存储器可以包括随机存取存储器(RAM),如动态RAM(DRAM)和静态RAM(SRAM)。存储器可以是本地的、远程的或分布式的。
总线还把处理器与非易失性存储器和驱动单元耦合到一起。非易失性存储器通常是磁性软盘或硬盘、磁光盘、光盘、诸如CD-ROM、EPROM或EEPROM的只读存储器(ROM)、磁或光卡或存储大量数据的另一种形式。部分这种数据通常在计算机300中运行软件时由一种直接的存储器访问进程写入存储器中。非易失性存储器可以是本地的、远程的或分布式的。非易失性存储器是可选的,因为可以用在存储器中所有可用的适用数据来创建系统。典型的计算机系统通常至少包括处理器、存储器和一个将存储器耦合到处理器的设备(例如总线)。
软件通常存储在非易失性存储器和/或驱动单元中。的确,对于大型程序,甚至可能不能够把整个程序存储在存储器中。然而应当理解的是,如果对于软件运行有必要的话,它会被移动到一个适用于处理的计算机可读位置,为说明起见,该位置在本文中被称为存储器。甚至当软件被移动到存储器中进行运行时,处理器也通常将会利用硬件寄存器来存储与软件相关的值以及理想情况下用于提高运行速度的本地缓存。按照本发明所使用的情况,当软件程序被称为“在计算机可读介质中实现时”,软件程序被假定为存储在任何已知的或方便的位置(从非易失性存储到硬件寄存器)。当至少一个与程序相关联的值被存储在处理器可读的寄存器中时,处理器被认为“经配置以执行程序”。
总线还把处理器耦合到网络接口设备上。接口可以包括一个或多​​个调制解调器或网络接口。应该理解的是,调制解调器或网络接口可以被认为是计算机系统的一部分。接口可以包括模拟调制解调器、ISDN调制解调器、电缆调制解调器、令牌环接口、卫星传输接口(例如“direct PC”)或用于耦合计算机系统到其他计算机系统的其它接口。接口可以包括一个或多​​个输入和/或输出设备。举例来说(但不作为限制),输入/输出设备可以包括键盘、鼠标或其他指示设备、磁盘驱动器、打印机、扫描仪和其他输入和/或输出设备,包括显示设备。举例来说(但不作为限制),显示设备可以包括阴极射线管显示器(CRT)、液晶显示器(LCD)或一些其它已知适用的或便利的显示设备。为简单起见,假设在图8的例子中未示出的任何设备的控制器都驻留在接口中。
在操作中,计算机系统300可以由操作系统软件控制,该系统包括了磁盘操作系统等文件管理系统。操作系统软件与相关的文件管理系统软件的一个实例,是华盛顿州雷蒙德市的微软公司的操作系统家族及其相关的文件管理系统。操作系统软件与相关的文件管理系统软件的另一个实例是Linux操作系统和其相关的文件管理系统。文件管理系统通常存储在非易失性存储器和/或驱动单元中,并使处理器执行操作系统所需的各种操作,以输入和输出数据并存储数据至存储器中,包括在非易失性存储器和/或驱动单元中存储文件。
图4是图解说明一个示例性无线网络信令优化过程的流程图,其无线网络根据本发明所描述主题的一种实施方式使用专有和非专有协议。在图4所示的实施方式中,过程包括在一个移动设备的客户端和移动设备的本地代理之间建立第一连接(步骤400)、在本地代理和不位于所述移动设备上的远程代理之间建立第二连接(步骤402)、在代理服务器和无线网络中的一个服务器之间建立第三连接(步骤404)、在客户端和服务器之间通过第一、第二和第三连接进行字节流通信(步骤406)、以及由移动设备执行信令优化以优化第二连接上的流量(步骤408。)
具体实施例中有些部分可在计算机存储器内以数据位运算的算法和符号表示来呈现。这些算法描述和表示是由本领域技术人员在数据处理领域最有效地向给本领域的其他技术人员传达其工作实质的手段。这里的算法是通常被认为是导致预期结果的自身一致的运算序列。运算是需要物理量的物理操作的运算。尽管并非必需,这些量通常采用能够被存储、传输、组合、比较以及以其他方式操纵的电或磁信号的形式。有时证明主要为了通用的原因而将这些信号称为位、值、元素、符号、字符、术语、数字等具有其方便性。
然而应当牢记,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非另外特别指出,否则如在以下讨论中明显说明的,应当理解在整个描述中使用诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语进行的讨论,指的是计算机系统或类似的电子计算设备的操作和处理,其把表示为计算机系统寄存器和存储器内的物理(电子)量的数据处理和变换成其他数据,后者被类似表示为其他计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内其他物理量。
本发明中所呈现的算法和显示并不固有地与任何特定计算机或其他设备有关。各种通用系统可以结合根据本发明的教示来使用,或者可以证明便于构造更专门的设备来执行一些实施方式中的方法。多种此类系统的所需结构将出现在下面的描述中。另外,技术并未参照任何特定的编程语言描述,所以各种实施方式可因此使用各种编程语言来实现。
在替代实施方式中,机器作为一个独立的设备运行,或者其可以被连接(例如联网)到其它机器。在联网部署中,机器可以作为服务器端或客户端机器在客户端-服务器网络环境中运行,或作为对等机器在点对点(或分布式)网络环境中运行。
机器可以是服务器计算机、客户端计算机、个人计算机(PC)、平板PC、膝上型计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、iPhone 、黑莓手机、处理器、电话机、web设备、网络路由器、交换机或网桥,或能够执行指定由该机器所采取操作的一组指令(按顺序或其它方式)的任何机器。
机器可读介质或机器可读存储介质在示例性实施方式中显示为单一介质,而术语“机器可读介质”和“机器可读存储介质”应当被理解为包括存储一个或多个指令集的单一介质或多种介质(例如集中式或分布式数据库和/或相关联的缓存和服务器)。术语“机器可读介质”和“机器可读存储介质”也应被理解为包括能够存储、编码或携带由机器执行的一组指令的任何介质,以及使机器执行任何一种或多种本发明所公开技术和创新方法的任何介质。
在一般情况下,用以执行来实施本公开内容实施方式的例程,可作为操作系统或称为“计算机程序”的特定应用、组件、程序、对象、模块或指令序列的一部分执行。计算机程序通常包括在一台计算机中的各种存储器和存储设备中设置于不同时间的一个或多个指令集,而且,当由计算机中的一个或多个处理单元或处理器读取和执行时,其会使得计算机执行操作以执行涉及本公开内容的各种方面的元素。
此外,虽然实施方式的描述是根据完全正常工作的计算机和计算机系统进行的,然而本领域的技术人员将理解,各种实施方式都能够以各种形式作为程序产品分配,并且无论用来实际影响分配的特定机器或计算机可读介质类型如何,本公开内容都同样适用。
机器可读存储介质、机器可读介质或计算机可读(存储)介质的其它进一步的例子包括但不限于可记录型介质(如易失性和非易失性存储器设备)、软盘和其他可移动磁盘、硬盘驱动器、光盘(例如只读光盘(CD ROMS)、数字多功能盘(DVD)等)等等,以及传输型介质(如数字和模拟通信链路)。
除非文意另有明确要求,否则在整个说明书和权利要求中,词语“包含”、“包括”等类似词语应被解释为包容的含义,含义与排他或穷举相对;也就是说,意同“包括但不限于”。按照本发明所使用的情况,术语“连接”、“耦合”或其任何变体,是指两个或更多元素之间任何连接或耦合,无论是直接还是间接的;元素之间的连接耦合可以是物理的、逻辑的耦合或两者组合。另外,词语“本发明中”、“以上”、“以下”和类似含义的词语,在本申请中使用时,应指本申请的整体而不是本申请的任何特定部分。如果文意允许,上述具体实施方式中的使用单数或复数数字的词语也可分别包括复数或单数数字。就两个或更多个项目而言,词语“或”覆盖了该词语的所有下述解释:列表中的任何项目、列表中的全部项目以及列表中项目的任何组合。
本文公开内容的实施方法的以上详细描述不旨在穷尽或将教示限制为以上公开的精确形式。虽然本文公开内容的上述描述的具体的实施方式和例子是为了说明的目的,但是相关领域的技术人员将认识到,在本文公开内容的范围之内各种等同的修改都是可能的。例如,尽管处理或模块以给定的顺序呈现,备选实施方式可以按不同的顺序执行具有以下步骤的例程或采用具有模块的系统,并且某些过程或模块可以被删除、移动、增加、再细分、组合和/或修改以提供替代方案或子组合。这些处理或模块可以通过各种不同的方式来实现。此外,尽管过程或模块有时显示为按顺序执行,这些过程或模块也可并行执行或者可以在不同的时间执行。本发明进一步指出的任何特定数字仅仅是示例:替换实施可采用不同的值或范围。
本发明所提供的公开内容的教示可以应用于其它系统,而不一定是上述系统。上述的各种实施方式的元素和操作可以组合以提供进一步的实施方式。
任何专利和申请以及如上所述其它参考资料,包括任何可能被列在所附申请文件的文件,都通过引用被并入本发明。如果需要,本文公开内容的元素可以被修改来采用上述的各种参考资料的系统、功能和概念来提供本公开内容的进一步的实施方式。
可根据上述具体实施方式对本文公开内容作出这些变化和其他的变化。虽然上述说明描述了本文公开内容的某些实施方式,并描述了预期的最佳模式,然而无论上述描述的文字如何详细,本教示仍然可以通过许多方式实现。系统的细微之处可能 在实施细节方面变化相当大,但是这亦由本发明所公开的主题囊括。如上所述,所使用的特定 的术语在描述本文公开内容的特定特性或方面时,不应被认为表示该术语在本发明中被重新定义为限于与该术语相关的公开的任何特定特性、特性或方面。总的来说,用在权利要求书中的词汇不应被理解为将公开的范围限定到申请文件所公开的具体实施方式中,除非在上述具体实施方式部分明确地定义了这些词汇。相应地,本文公开内容的实际范围不仅涵盖了所公开的实施方式,还涵盖了按照权利要求书实践或者实施本公开的所有等同方式。
而本文公开内容的某些方面以某些权利要求形式呈现如下,发明人考虑本文公开内容在任何数量的权利要求形式下的各个方面。例如,虽然本公开内容仅有一个方面作为35 U.S.C. §112, ¶13的方法加功能权利要求引述,但是其它方面可类似作为方法加功能权利要求实施,或以其他形式实施,如以计算机可读介质的形式实施。(任何旨作为35U.S.C. §112, ¶13对待的权利要求都冠以“...的手段”)。相应地,申请人保留在提交申请后添加另外的权利要求的权利,以便为本发明的其它方面采取此类另外的权利要求形式。

Claims (25)

1.一种在利用专有和非专有协议的无线网络中进行信令优化的方法,该方法包括:
在移动设备上的客户端和所述移动设备上的本地代理之间建立第一连接;
在所述本地代理和不位于所述移动设备上的远程代理之间建立第二连接;
在所述代理服务器和无线网络中的服务器之间建立第三连接;
通过第一、第二和第三连接在客户端和服务器之间传送字节流;以及
由移动设备执行信令优化,来优化所述第二连接上的流量。
2.根据权利要求1所述的方法,其中由移动设备执行信令优化包括:在字节流内检测客户端和服务器之间的通信模式,以及响应在字节流内检测通信模式,拆除第二连接,和以下至少一项:
根据通信模式,代表服务器产生客户端方向跨过第一连接的流量;
根据通信模式,代表客户端产生服务器方向跨过第三连接的流量。
3.根据权利要求2所述的方法,其中检测字节流中的模式的方法包括识别涉及客户端和服务器的重复通信。
4.根据权利要求3所述的方法,其中重复通信包括客户端和服务器之间的事务。
5.权利要求要求2所述方法包括检测客户端和服务器之间的通信模式是否已经改变,以及响应检测到通信模式已经改变,重新在本地代理和远程代理之间建立第二连接,并且代表客户端和服务器暂停产生流量。
6.根据权利要求1所述的方法,其中执行信令优化以来优化第二连接上流量包括:
确定移动设备的情境;
基于所确定的移动设备情境修改第二连接上的流量。
7.根据权利要求6所述的方法,其中确定移动设备的情境包括确定以下至少一项:
设备的活动或不活动状态;设备被注册到的网络;设备电池电量;设备的无线状态;设备的信号强度;设备的蜂窝标识符;设备的位置区域码;设备的用户活动特性;设备与服务器之间的通信的特性;服务器对设备和服务器之间通信特性变化的容忍度;设备与服务器之间的通信的优先级;设备与服务器之间通信的时间关键性。
8.根据权利要求6所述的方法,其中修改第二连接上流量包括延迟第二连接上待发送消息的传输。
9.根据权利要求6所述的方法,其中修改第二连接上的流量包括将第二连接上多条待发送消息排队作为对触发事件的响应将其一并发送。
10.根据权利要求9所述的方法,其中触发事件包括以下至少一项:
时间限制到期;
检测到移动设备已经变为活动状态;
检测到移动设备的无线接口已经变活跃状态。
11.根据权利要求6所述的方法,其中修改第二连接上流量包括防止消息在第二连接上发送。
12.一种在利用专有和非专有协议的无线网络中进行信令优化的系统,该系统包括:
一个移动设备,其包括一个客户端应用和一个本地代理,该客户端和本地代理通过第一连接相连;
一个远程代理,其不位于移动设备上,并通过第二连接连接到所述本地代理;以及
一个服务器,其处于无线网络中,并通过第三连接连接到所述远程代理;
其中字节流在客户端和服务器之间通过第一、第二以及第三连接进行通信,其中移动设备执行信令优化,来优化第二连接上的流量。
13.根据权利要求12所述的系统,其中由移动设备通过以下各项执行信令优化:在字节流内检测客户端和服务器之间的通信模式,以及响应在字节流内检测通信模式,拆除第二连接,以及以下至少一项:
根据通信模式,代表服务器产生客户端方向跨过第一连接的流量;
根据通信模式,代表客户端产生服务器方向跨过第三连接的流量。
14.根据权利要求13所述的系统,其中检测字节流中的模式包括识别涉及客户端和服务器的重复通信。
15.根据权利要求14所述的系统,其中重复通信包括客户端和服务器之间的事务。
16.根据权利要求13所述的系统,其包括检测客户端和服务器之间的通信模式是否已经改变,以及作为检测到通信模式已经改变的响应重新在本地代理和远程代理之间建立第二连接,并且代表客户端和服务器暂停产生流量。
17.根据权利要求12所述的系统,其中移动设备通过确定移动设备情境并基于所确定的移动设备情境修改第二连接上的流量,以执行信令优化,来优化第二连接上的流量。
18.根据权利要求17所述的系统,其中确定移动设备的情境包括确定以下中的至少一项:
设备的活动或不活动状态;
设备被注册到的网络;
设备电池电量;
设备的无线状态;
设备的信号强度;
设备的蜂窝标识符;
设备的位置区域码;
设备的用户活动特性;
设备与服务器之间的通信的特性;
服务器对设备和服务器之间通信特性变化的容忍度;
设备与服务器之间的通信的优先级;
设备与服务器之间通信的时间关键性。
19.根据权利要求17所述的系统,其中修改第二连接上流量包括延迟第二连接上待发送消息的传输。
20.根据权利要求17所述的系统,其中修改第二连接上的流量包括将第二连接上多条待发送消息排队作为对触发事件的响应将其一并发送。
21.根据权利要求20所述的系统,其中触发事件包括以下至少一项:
时间限制到期;
检测到移动设备已经变为活动状态;
检测到移动设备的无线接口已经变活跃状态。
22.根据权利要求17所述的系统,其中修改第二连接上流量包括防止消息在第二连接上发送。
23.一种用于使用专有和非专有协议的无线网络中进行信令优化的计算机程序产品,该计算机程序产品包括:
一个具有计算机可读代码的非临时性计算机可读存储介质,该计算机可读代码包括:
计算机可读程序代码,其经过配置用于:
在移动设备上的客户端和所述移动设备上的本地代理之间建立第一连接;
在所述本地代理和不位于所述移动设备上的远程代理之间建立第二连接;
在所述代理服务器和无线网络中的服务器之间建立第三连接;
通过第一、第二和第三连接在客户端和服务器之间传送字节流;由移动设备执行信令优化,来优化第二连接上的流量。
24.根据权利要求23所述的计算机程序产品,其中由移动设备执行信令优化包括:在字节流内检测客户端和服务器之间的通信模式,以及作为在字节流内检测通信模式的响应拆除第二连接,以及以下至少一项:
根据通信模式,代表服务器产生客户端方向跨过第一连接的流量;
根据通信模式,代表客户端产生服务器方向跨过第三连接的流量。
25.根据权利要求23所述的计算机程序产品,其中执行信令优化来优化第二连接上的流量,包括确定移动设备情境并基于所确定的移动设备情境修改第二连接上的流量。
CN201480044502.2A 2013-06-11 2014-06-11 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法 Pending CN105659654A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361833796P 2013-06-11 2013-06-11
US61/833,796 2013-06-11
US201361836091P 2013-06-17 2013-06-17
US61/836,091 2013-06-17
PCT/US2014/042017 WO2014201186A1 (en) 2013-06-11 2014-06-11 Application and/or server stability in signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols

Publications (1)

Publication Number Publication Date
CN105659654A true CN105659654A (zh) 2016-06-08

Family

ID=52022755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480044502.2A Pending CN105659654A (zh) 2013-06-11 2014-06-11 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法

Country Status (4)

Country Link
US (2) US9942341B2 (zh)
EP (1) EP3008942B1 (zh)
CN (1) CN105659654A (zh)
WO (1) WO2014201186A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110999260A (zh) * 2017-07-24 2020-04-10 脸谱公司 在基于代理的网络通信中的控制数据的传输
CN111209261A (zh) * 2020-01-02 2020-05-29 邑客得(上海)信息技术有限公司 基于信令大数据的用户出行轨迹提取方法和系统
CN111988191A (zh) * 2019-05-22 2020-11-24 北京华为数字技术有限公司 一种分布式通信网络的故障检测方法及装置
CN113328877A (zh) * 2021-05-06 2021-08-31 北京天空卫士网络安全技术有限公司 一种端口协议的确定方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3008942B1 (en) * 2013-06-11 2018-10-10 Seven Networks, LLC Application and/or server stability in signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US10505869B2 (en) * 2015-08-04 2019-12-10 International Business Machines Corporation Mimicking a presence notification from an application executing on a virtual component to optimize computing resource allocation/utilization
HK1209967A2 (zh) * 2015-11-20 2017-02-03 李應樵 種自動定製輸出內容的設備,方法及系統
WO2019236376A1 (en) * 2018-06-05 2019-12-12 R-Stor Inc. Fast data connection system and method
CN111385340B (zh) * 2018-12-29 2021-09-24 北京航迹科技有限公司 数据处理方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068665A1 (en) * 1998-04-30 2004-04-08 Openwave Systems Inc. Method and apparatus for maintaining security in a push server
US20090145321A1 (en) * 2004-08-30 2009-06-11 David Wayne Russell System and method for zero latency distributed processing of timed pyrotechnic events
CN102077613A (zh) * 2008-04-25 2011-05-25 爱立信电话股份有限公司 定位节点中用于提供地理区域数据的无线电指纹方法
WO2012018431A1 (en) * 2010-07-26 2012-02-09 Seven Networks, Inc. Prediction of activity session for mobile network use optimization and user experience enhancement
CN103001880A (zh) * 2012-11-30 2013-03-27 北京百度网讯科技有限公司 基于非标准ospf路由协议的流量牵引方法及设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366947B1 (en) * 1998-01-20 2002-04-02 Redmond Venture, Inc. System and method for accelerating network interaction
US6785262B1 (en) 1999-09-28 2004-08-31 Qualcomm, Incorporated Method and apparatus for voice latency reduction in a voice-over-data wireless communication system
US20010054087A1 (en) * 2000-04-26 2001-12-20 Michael Flom Portable internet services
US7318100B2 (en) * 2003-04-14 2008-01-08 Riverbed Technology, Inc. Cooperative proxy auto-discovery and connection interception
US8259923B2 (en) * 2007-02-28 2012-09-04 International Business Machines Corporation Implementing a contact center using open standards and non-proprietary components
WO2007070889A2 (en) * 2005-12-16 2007-06-21 Glt Corporation System and method for detection of data traffic on a network
CN101496387B (zh) * 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
US8839403B2 (en) * 2007-12-31 2014-09-16 Sandisk Il Ltd. Local proxy system and method
US8949719B2 (en) * 2008-05-23 2015-02-03 Viasat, Inc. Methods and systems for user interface event snooping and prefetching
US8699343B2 (en) 2009-04-27 2014-04-15 Sonus Networks, Inc. Adaptive rate control based on overload signals
US8407376B2 (en) * 2009-07-10 2013-03-26 International Business Machines Corporation Recording a communication pattern and replaying messages in a parallel computing system
TW201129037A (en) * 2010-02-03 2011-08-16 Ralink Technology Corp Management method for internet protocol sharing communication mechanism
US8700892B2 (en) * 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
WO2012018556A2 (en) * 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
US20120303834A1 (en) * 2010-10-07 2012-11-29 Stellatus, LLC Seamless digital streaming over different device types
US8417823B2 (en) * 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US8509072B2 (en) 2011-03-07 2013-08-13 Comcast Cable Communications, Llc Network congestion analysis
US8819233B2 (en) * 2011-03-11 2014-08-26 Qualcomm Incorporated System and method using a web proxy-server to access a device having an assigned network address
US8621075B2 (en) * 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
WO2013015995A1 (en) * 2011-07-27 2013-01-31 Seven Networks, Inc. Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US9832095B2 (en) * 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013121465A1 (en) 2012-02-16 2013-08-22 Hitachi, Ltd. Storage system, management server, storage apparatus, and data management method
US8874761B2 (en) * 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9854501B2 (en) 2013-03-14 2017-12-26 Microsoft Technology Licensing, Llc Radio spectrum utilization
WO2014197521A1 (en) * 2013-06-03 2014-12-11 Seven Networks, Inc. Blocking/unblocking algorithms for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
EP3008942B1 (en) * 2013-06-11 2018-10-10 Seven Networks, LLC Application and/or server stability in signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
WO2014201177A1 (en) * 2013-06-11 2014-12-18 Seven Networks, Inc. Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068665A1 (en) * 1998-04-30 2004-04-08 Openwave Systems Inc. Method and apparatus for maintaining security in a push server
US20090145321A1 (en) * 2004-08-30 2009-06-11 David Wayne Russell System and method for zero latency distributed processing of timed pyrotechnic events
CN102077613A (zh) * 2008-04-25 2011-05-25 爱立信电话股份有限公司 定位节点中用于提供地理区域数据的无线电指纹方法
WO2012018431A1 (en) * 2010-07-26 2012-02-09 Seven Networks, Inc. Prediction of activity session for mobile network use optimization and user experience enhancement
CN103001880A (zh) * 2012-11-30 2013-03-27 北京百度网讯科技有限公司 基于非标准ospf路由协议的流量牵引方法及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110999260A (zh) * 2017-07-24 2020-04-10 脸谱公司 在基于代理的网络通信中的控制数据的传输
CN111988191A (zh) * 2019-05-22 2020-11-24 北京华为数字技术有限公司 一种分布式通信网络的故障检测方法及装置
CN111988191B (zh) * 2019-05-22 2022-03-29 北京华为数字技术有限公司 一种分布式通信网络的故障检测方法及装置
CN111209261A (zh) * 2020-01-02 2020-05-29 邑客得(上海)信息技术有限公司 基于信令大数据的用户出行轨迹提取方法和系统
CN113328877A (zh) * 2021-05-06 2021-08-31 北京天空卫士网络安全技术有限公司 一种端口协议的确定方法和装置

Also Published As

Publication number Publication date
WO2014201186A1 (en) 2014-12-18
US9942341B2 (en) 2018-04-10
EP3008942B1 (en) 2018-10-10
US20150067179A1 (en) 2015-03-05
EP3008942A4 (en) 2016-11-30
US20180227381A1 (en) 2018-08-09
EP3008942A1 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105637926B (zh) 将应用流量分载至共享通信信道进行无线网络中的信令优化用于使用专有和非专有协议的流量
CN105659654A (zh) 在无线网络中对使用专有和非专有协议之流量的信令优化,提供应用和/或服务器稳定性的系统和方法
CN103404193B (zh) 调校数据传输以优化为通过无线网络的传输建立的连接
CN103620576B (zh) 适用于移动应用程序行为和网络条件的缓存
US20190155665A1 (en) Methods and systems for providing application programming interfaces and application programming interface extensions to third party applications for optimizing and minimizing application traffic
US20180255156A1 (en) Optimization of resource polling intervals to satisfy mobile device requests
KR101227769B1 (ko) 폴링 간격을 이용한 모바일 네트워크 배경 트래픽 데이터 관리
US9326097B2 (en) Surrounding estimation based on sensors of a mobile device
EP2700019B1 (en) Social caching for device resource sharing and management
EP2636268B1 (en) Optimization of resource polling intervals to satisfy mobile device requests
CN105637919A (zh) 优化无线网络中的保活和其他后台流量
CN105814931A (zh) 基于移动网络信号的网络建模
CN106664254A (zh) 优化移动网络中的网络流量管理
US20150312102A1 (en) Policy management for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
CN107005597A (zh) 基于用户特征在移动设备缓存的无线流量管理系统
WO2013177390A1 (en) Wireless network traffic routing through traffic optimization and tracking of destination address to facilitate service provider billing
WO2013155208A1 (en) Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
WO2014204995A1 (en) Methods and systems for providing application programming interfaces and application programming interface extensions to third party applications for optimizing and minimizing application traffic

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20191115

AD01 Patent right deemed abandoned