CN105814931A - 基于移动网络信号的网络建模 - Google Patents
基于移动网络信号的网络建模 Download PDFInfo
- Publication number
- CN105814931A CN105814931A CN201480048435.1A CN201480048435A CN105814931A CN 105814931 A CN105814931 A CN 105814931A CN 201480048435 A CN201480048435 A CN 201480048435A CN 105814931 A CN105814931 A CN 105814931A
- Authority
- CN
- China
- Prior art keywords
- radio
- mobile device
- network
- server
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 125
- 238000005457 optimization Methods 0.000 claims abstract description 47
- 230000000694 effects Effects 0.000 claims description 171
- 238000004891 communication Methods 0.000 claims description 103
- 238000004364 calculation method Methods 0.000 claims description 75
- 238000001914 filtration Methods 0.000 claims description 29
- 238000005259 measurement Methods 0.000 claims description 26
- 230000002123 temporal effect Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 10
- 238000004321 preservation Methods 0.000 claims 4
- 238000004458 analytical method Methods 0.000 abstract description 97
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000011664 signaling Effects 0.000 abstract description 8
- 230000002829 reductive effect Effects 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000004044 response Effects 0.000 description 326
- 239000003795 chemical substances by application Substances 0.000 description 155
- 230000006399 behavior Effects 0.000 description 66
- 230000008569 process Effects 0.000 description 43
- 238000007726 management method Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 36
- 230000001413 cellular effect Effects 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 29
- 238000001514 detection method Methods 0.000 description 27
- 230000008859 change Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 26
- 238000007493 shaping process Methods 0.000 description 23
- 238000012546 transfer Methods 0.000 description 23
- 238000004088 simulation Methods 0.000 description 20
- 230000003993 interaction Effects 0.000 description 19
- 238000012544 monitoring process Methods 0.000 description 19
- 230000007246 mechanism Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 9
- 230000002085 persistent effect Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000001737 promoting effect Effects 0.000 description 8
- 101000911753 Homo sapiens Protein FAM107B Proteins 0.000 description 7
- 102100026983 Protein FAM107B Human genes 0.000 description 7
- 230000007423 decrease Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 7
- 230000035945 sensitivity Effects 0.000 description 7
- 238000012384 transportation and delivery Methods 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 6
- 238000013138 pruning Methods 0.000 description 6
- 239000000523 sample Substances 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000001976 improved effect Effects 0.000 description 4
- 239000002184 metal Substances 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- WSGCGMGMFSSTNK-UHFFFAOYSA-M 1-methyl-4-phenyl-1-propan-2-ylpiperidin-1-ium;iodide Chemical compound [I-].C1C[N+](C(C)C)(C)CCC1C1=CC=CC=C1 WSGCGMGMFSSTNK-UHFFFAOYSA-M 0.000 description 1
- 101150053844 APP1 gene Proteins 0.000 description 1
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 1
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002285 radioactive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了关于在移动网络下的信号建模和/或连接的系统和方法,尤其涉及,对于流量的任何优化技术所带来的有益效果,包含移动网络中的信号和/或连接。多个实施例能够将信号计算至特定应用程序,(如判定哪个应用程序为闲置或无用的,判定哪个应用程序会产生问题信号),和/或进一步对优化项进行建模或者省去流量的优化技术。在一些实施例中,为了促使或增强网络的数据流量和信号优化的性能,本发明公开的技术内容包含一个或更多的字段(如,扩展“CRCS”字段),这些字段由如CRCS分析核心模块之类的部件来计算并判定和识别至少如下内容:1、一个事务是否会产生连接(从而产生信号);2、由分布式缓存和代理系统在本案中的实施例而减少或节省的连接的数量。
Description
相关申请的交叉引用
本申请请求美国临时申请号为61/842,279,名称为“移动网络中的信号或连接建模”,(代理人案号为76443-8182.US00),申请提交日为2013年7月2日的美国临时专利的优先权的权益;本申请参考引用上述所申请的内容。
背景技术
为了处理移动网络的堵塞,人们致力于在特定数据拥堵地区的设备上实施网络管理策略或纠正措施,但不尽如人意的是,当前,纠正措施不加选择地被应用在设备上,而纠正措施不加选择地被应用给用户体验造成了负面影响。
附图说明
附图1A示出了一个系统的示例图,在这个系统中,主机服务器有利于流量管理、内容缓存,和/或在移动设备(如无线设备)之间进行资源保护,还包含为了进行资源保护的应用程序服务器或内容提供商,或者其他服务器,例如无线网络(或宽带网络)中的广告服务器、促销内容服务器,或者电子优惠券服务器。
附图1A-1示出了一个示例图,该示例图对分布式开放通道系统的一般体系结构概述做了说明。
附图1B示出了一个示例图,在该图中包含一个代理和缓存系统,该系统分布在主机和设备之间,该系统能促进各个设备之间的网络流量管理,还包含为了进行资源保护和内容缓存的应用程序服务器或内容提供商,或者其他服务器,例如无线网络(或宽带网络)中的广告服务器、促销内容服务器,或者电子优惠券服务器。
附图1C示出了分布式代理和缓存系统的逻辑架构的示例图。
附图1D示出了客户端组件在一个分布式代理和缓存系统的架构示意图。
附图1E描绘了在分布式代理和缓存系统服务器端的组件示意图。
附图1F描绘了在分布式代理和缓存系统的示例服务器端各组件之间的数据流向示意图。
附图2A描绘了一个框图,说明在分布式代理和缓存系统中客户端组件的一个实施例,该种分布式代理和缓存系统驻留在一个移动设备(如无线设备)中,该移动设备可以对无线网络(或宽带网络)基于资源保护而进行数据传输管理,内容缓存,和/或数据管理。客户端代理(或本地代理)可以进一步分类移动流量和/或实施传送策略,基于应用程序的行为,内容的优先级、用户活动,和/或用户预期,例如,为了利于调整数据传输过程中的进一步应用,而对移动设备之间的连接进行优化。
附图2B描绘了附图2A中显示的缓存系统中的组件的一个进一步的实施例,能够缓存,也能够为移动应用程序的行为和/或网络条件来调整适应缓存策略,图中也阐述了组件能够检测长轮询请求和管理缓存的功能。
附图2C描绘了应用程序行为检测器和图2A中显示的缓存系统缓存策略管理器的额外组件,进一步能够检测缓存失败并执行由标识符处理的内容缓存,这些标识符用来处理缓存。
附图2D描绘了图2A中显示的本地缓存中的额外组件,进一步能够执行移动流量分类和基于应用程序行为和/或用户活动的策略实施。
附图2E描绘了图2A中显示的应用程序行为检测器和数据流量整形引擎的额外组件,能进一步促进校准输入数据传输到移动或宽带网络设备,或其用户,为了在移动网络或者宽带网络中接受数据而优化需要建立连接的数量。
附图3A描绘了在分布式代理和缓存系统中的服务端组件,该种分布式代理和缓存系统能基于保护资源,内容缓存,和/或数据流量管理而在无线网络(或宽带网络)中对数据流量进行管理。服务端代理(或代理服务器)能进一步分类移动数据流量和/或实施传送策略,基于应用程序的行为,内容的优先级、用户活动,和/或用户的期望。例如,为了在数据传输校准中的进一步的应用,优化无线传输至移动设备的的数据连接。
附图3B描绘了在附图3A中显示的缓存系统中的缓存策略管理器组件,其能够缓存和适应缓存策略基于移动应用程序的行为和/或网络条件。图中也阐述了组件能够检测长轮询请求和管理缓存的功能。
附图3C描绘了在附图3A中显示的代理系统组件的另一个实施例。这是进一步能够管理和检测缓存机制和监控内容源。
附图3D描绘了在附图3A中显示代理服务器的额外组件,这是进一步能够在履行实施移动流量分类和基于应用行为和/或数据传输的优先级的情况下的策略实施。
附图3E描绘了在附图3A中显示的流量整形引擎中的额外组件,这是进一步能够调整数据传输到一个移动网络设备或者宽带网络设备,或其他接收器,优化在无线网络或宽带网络中的数据传输所需要建立的连接。
附图4描绘了分布式缓存内容的过程流程图,这些内容存在于移动设备(如任何无线设备)与远程代理和缓存内容的分布式管理中。
附图5描绘了一份时序图,这份时序图显示了来自于移动设备(如任何无线设备)的数据请求至一个无线网络(或宽带网络)中的应用程序服务器/内容提供商,是如何可以被一个分布式代理系统在某种意程度上协调的,从而使得网络和电池源在缓存内容的使用过程中和监测执行过程中被分布式代理系统保存了下来。
附图6描绘了一份表格,这份表格记录了不同的流量或应用分类类型,这些在网络接入执行过程中和内容传输政策略中会被使用到。
附图7描绘了一份表格,这份表格记录了不同内容分类类型,这些在网络接入执行过程中和内容传输策略中会被使用到。
附图8描绘了一份交互图,这份交互图显示了通过无线网络或者宽带网络环境,轮询模块所具有的来自于移动设备(如任何无线设备)发送至一个应用程序服务器/内容提供商的数据请求,如何能够在本地代理商缓存并且被分布式缓存系统所管理。
附图9描绘了一份流程图,这份流程图显示了在移动网络环境中的一个移动设备(如,任何无线设备)的信号建模流程。
附图10描绘了另一份流程图,这份流程图显示了在移动网络环境中的一个移动设备(如,任何无线设备)的信号建模流程。
附图11A到附图16D描绘了在确定总连接和时间计算中,CRCS字段计算的示例。
附图17A到17B分别描绘了一个计算连接标识和连接时间间隔的实施例和一个无线电增强间隔的实施例。
附图18描绘了在一段时间之内的方案说明日志的实施例。
附图19A和附图19B分别展示了一个为把一个网络平台项目分割成两个网络平台项目所需的长轮询模块程序和为了把网络平台项目一分为二所需要的真实有效的条件。
附图20和附图21分别描绘了“非充电时期(TIME_ON_NOT_CHARGING)”的字段计算和“非充电时期(TIME_ON_NOT_CHARGING)”的字段串计算。
附图22描述了一个关于测量点的实施例,该测量点来自CRCS分析核心模块能在数据网络中执行建模信号的测量。
附图23A到23E分别描述了输出指标,该输出指标能应用在CRCS分析核心模块的多样表征上。
附图24A到附图24J描述了输出指标的多样计算实施例,该输出指标能应用在CRCS分析核心模块的多样表征上。
附图25描绘了一个综合体系概论,这个综合体系概论关于一个分布式开放通道系统,该系统包含了在数据网络中,CRCS分析核心模块能为了信号建模而执行测量的测量点。
附图26A到附图26N描绘了CRCS分析核心模块能够适应的和/或交替的输出指标的额外实施例。
附图27显示了在计算机系统示例形式中的机器的代表附图,在这个系统内,一组指令集,使得机器执行任何讨论的一个或多个方法,可能会被执行。
发明内容
下述说明和附图具有说明性,而并不解释为限制性。许多具体细节被描述,以提供本文公开内容的通篇理解。然而,在某些实例中,为避免说明内容的模糊化,一些惯用或常规细节并未被描述。本发明公开的参照“一个实施例”或“某一实施例”可以,但不必然指参照同一实施例,并且参照指至少参照其中一个实施例。
本说明书中参照“一个实施例”或“某个实施例”是指与所述实施例相联系的特定特征、结构或特征,都至少包含在所公开的一个实施例中。本说明书中出现的短语“一个实施例”并不必然指代同一实施例,也不表示除其他实施例之外的独立或替代实施例。此外,说明书中所述的各种特征可能仅呈现在某些是实施例上,未呈现在其他实施例上。同样地,说明书中所述的各种要求可能仅限制某些实施例,而不限制其他实施例。
本说明书中所使用的术语通常都在本领域内具有一般含义,在本申请公开范围以及每一术语所使用特定语境中。某些术语用于描述下文所探讨的公开内容,或说明书之中,时就所公开的说明书给业内人士提供额外指导。为方便起见,某些术语被突出显示,例如:加斜体和/或引号。突出显示不影响该术语的范围和含义,当上下文一致时,无论是否突出显示,该术语的范围和含义都保持不变。同一事件可能以多种方式进行说明,希望能够理解
因此,本申请所述的任一或多个术语可能使用替代用词和同义词,但无论本申请是否阐述或探讨某一术语,该术语也不具备任何特殊含义。某些术语存在同义词。阐述一个或多个同义词并不排除其他同义词的使用。本说明书中所使用的实例,包含本申请中的术语实例,仅用于说明,并无进一步限制所述公开或任意示例术语的范围和含义之义。同样,该公开不限于本说明书中给出的各实施例。
根据本申请如下所公开的实施例,各工具、设备、方法及相关结构的举例没有限制公开范围之义。注意:本申请在举例时使用的序号或子序号是为方便读者,绝不应限制公开的范围。除另行规定,本申请中所使用的所有技术和科学术语的含义与本申请所属领域技术人员的通常理解含义一致。一旦出现冲突,本文档,含定义在内,均优先适用。
在本文件中,披露的技术包括了系统和信号建模和/或在移动网络中的连接的方法,特别是,流量包含信号和/或在移动网络中的连接的技术优化所带来的有益效果。表征可以将信号分配给具体的应用程序,(如,判定哪些程序是闲置无益的,哪些程序会造成错误信号),和/或进一步优化成型或存储这些披露数据流量的优化技术的使用方法。
在一些实施例中,披露技术认为在移动网络中在一定时刻会产生数据信号,如,无线电连接在设置时(如建立连接)或无线电连接被移除时(如断开连接)。每个无线电连接可用于一个或多个事务/数据传输,这些可源自一个或多个应用程序。披露技术定义了事务是否会产生一个连接(从而产生信号),并进一步成型、计算、或者相反的,对信号和连接进行量化。这些信号和连接源自在发信号或者数据通路中使用的任何数据流量优化技术。
在一些实施例中,为了启用或增强网络中数据流量和信号优化的性能,本文中包含一个或多个字段,这些字段由例如一个CRCS分析核心模块这样的部件计算产生,这些字段至少用来定义和识别如下内容:1、一个事务是否产生了一个数据连接(从而产生了信号);2、由分布式缓存的披露实施例和代理系统所减少或节省的连接数量。
图1A展示了一个系统示例图,在这个系统中,一个主机服务器100能促进对数据流量的管理,内容的缓存,和/或对移动设备(如无线设备150或客户端设备150)之间进行资源保护,系统中还包含一个应用程序服务器或内容提供商110,或其他诸如广告服务器120A,促销内容服务器120B,或电子优惠券服务器120C,这些都为了资源保护而存在于无线网络或宽带网络中。主机服务器100能进一步探知移动设备无线电的状态,从而应用在为主机服务器或其他控制信号所产生的信息传输而选择一个合适相配的数据通道,和促进用户作为终端对在一个无线网络中的内容和数据传递做性能分析和优化。
移动/客户端设备150可以是任何系统和/或设备,和/或任何设备/系统的组合,能够对任何其他设备,和/或其他诸如主机服务器100和/或应用程序服务器/内容提供商110这样的系统建立数据连接,包括有线连接,无线连接,蜂窝连接。移动/客户端设备150通常包含一个显示器和/或其他输出功能性部件从而来呈现在设备150和/或主机服务器100和/或应用程序服务器/内容提供商110之间的信息和数据交换。所述应用程序服务器/内容提供商110可以是任何服务器,包含第三方服务器或服务/内容提供商,进一步包含广告、促销内容,出版、电子优惠券服务器或服务。同样的,单独的广告服务器120A,促销内容服务器120B,和/或电子优惠券服务器120C作为应用程序服务器或内容提供商同样在实施例中阐述到。
例如,移动/客户端设备150可以包含移动,手持或便携式设备,无线设备,或非便携设备,也可以是任何但不限于:一个服务器笔记本电脑,笔记本电脑,计算机集群,或便携设备,包含笔记本电脑,手提电脑,便携电脑,掌上电脑,移动电话,普通手机,只能手机,PDA,黑莓设备,掌上设备,任何平板电脑,平板手机(一类拥有更大的屏幕尺寸的只能手机,屏幕尺寸在小手机和平板电脑之间),手持平板电脑(如IPAD,Galaxy系列,Nexus,Kindle,KindleFIRE系列,任何基于安卓的平板,基于windows的平板,基于亚马逊的平板或其他类型的平板),任何便携式阅读器/阅读设备、手动控制器,手持游戏设备或控制台,头戴式设备,头戴式显示屏,一个超薄客户端或如iPhone等任何超级手机,和/或其他便携式移动手持设备,或如M2M设备这样的固定式无线接口,等等。在一个实施例中,客户端设备150(或移动设备150),主机服务器100,应用程序服务器110通过网络106和/或网络108进行耦合。在一些实施例中,设备150和主机服务器100可能直接彼此连接。
客户端设备150的输入机制可以包括触摸屏键盘(包括单点触摸,多点触摸,2D或3D的手势感应,等),一个物理键盘,鼠标,指示器,追踪板,运动检测器(如,包括一维、二维、三维加速计,等),光传感器,电容传感器、电阻传感器、温度传感器、距离传感器、压电设备,设备方向检测器(如,电子指南针、倾角传感器、旋转传感器、回转仪、加速度计),或以上任意组合。
信号接收或检测通过一个或多个以上输入机制表明用户活动在客户端设备150上,或者,可用于公开技术上以获取客户端设备150的情境认知。在客户端设备150上的情境认知一般包括但不限于所举例子,客户端设备150的工作或状态确认,管理,用户活动/行为/交互意识,检测,传感,跟踪,和/或应用程序(如,移动应用程序)类型,行为,活动,操作状态,等。
本文公开技术中的情境认知还包括网络端环境数据的知识和检测,该数据能够包括网络信息如网络容量,带宽,流量,网络/连接类型,和/或任何其他操作状态数据。网络端环境数据可以通过网络106和/或网络108(如,通过主机服务器和/或设备150)的网络服务提供商(如,单元网络提供商112和/或互联网服务提供商)收集或查询。应用程序情境认知除了由客户端150确定外,应用程序情境认知也可以从各自的应用程序/服务提供商110(通过主机100和/或客户端设备150)接收或获得/查询。
主机服务器100可以使用从客户端设备150,网络106/108,应用程序(如,移动应用程序)、应用程序服务器/提供商110,或以上的任意组合中获得的情境信息,以管理系统中的流量从而满足客户端设备150的数据请求(如,满足应用程序请求或任何其他请求包括HTTP请求)。在一个实施例中,流量被管理以满足数据请求,该数据请求是为了响应明确或非明确用户103的请求和/或设备/应用程序的维护任务。管理流量使得网络消耗(如,单元网络的使用)保存更有效,使得宽带使用更有效。此外,主机服务器100可以管理和协调系统中的流量,使用设备150端资源(如,包括但不限于电池能消耗,无线电使用,处理器/储存器使用)可以通过一般的资源保存原理被优化,同时通优化性能和用户的体验。
例如,在电池保存情境中,设备150能够观察用户的活动(如,通过一个或多个输入机制观察用户的键盘敲击,背光状态,或其他信号,等)和改变设备150的行为。设备150也能够要求主服务器100改变基于用户活动或行为的网络资源消耗的行为。
在一个实施例中,资源保存的流量管理使用在主服务器100和客户端设备150之间的分布式系统执行。分布式系统包括代理服务器和在服务器端100、和设备/客户端的缓存组件,例如,如在服务器端100上的服务器缓存135和在客户端150上的本地缓存185所示。
在网络(如,网络106和/108)和设备150中用于情境认知流量管理的资源保存的公开功能和技术能够存在于分布式代理和/或缓存系统(如(分布式)流量优化器,流量管理系统,流量缓和中的(分布式)内环缓存机制)。代理和缓存系统能部分或者全部分布于和位于一个给定的客户端设备150和或主机服务器100.分布式代理和/或缓存系统(如(分布式)流量优化器,流量管理系统,流量缓和中的(分布式)内环缓存机制)在附图1C中有了进一步的相关描绘。附图2-5也进一步分别描绘了(分布式)代理和/或在客户端设备150中的缓存组件,主机服务器100,和相关组件的功能与技术内容。
在一个实施例中,客户端设备150与主服务器100和/或应用程序服务器110通过网络106进行通信,网络106可以是单元网络和/或宽带网络。为了促进在设备150和各种应用程序服务器/内容提供商110之间的整体流量管理以实现网络(宽带利用)和设备资源(如,电池消耗),主服务器100能够与应用程序服务器/提供商通过网络108进行通信,网络108包括互联网(如,宽带网络)。
一般而言,网络106和/或108通过客户端设备150,主服务器100,和/或应用程序服务器110进行通信,网络106和/或108可以是单元网络,宽带网络,电话网络,开放式网络,如互联网或专用网络,如内部网和/或外部网,或任何组合。例如,互联网可以提供文件传输、远程登录、电子邮件、新闻、RSS、云端服务,即时消息,可视语音邮件,邮件,网络电话,和通过任何已知或便利协议的其他服务,例如但不限于TCP/IP协议,UDP,HTTP、DNS、FTP、UPnP、NSF、ISDN、PDH、SDH、RS-232、SDH、SONET,等。
网络106和/或108可以是任何不同网络操作全部或部分结合的集合,以提供客户端设备150和主服务器100的连通性,可以对服务系统和设备提供一个或多个网络。在一个实施例中,客户端设备150通信可以通过开放式网络实现,如互联网,私人网络,宽带网络,如内部网络和/或外部网络。在一个实施例中,通信可以通过安全通信协议实现,如安全套接层协议(SSL),或安全传输层协议(TLS)。
此外,通信可以通过一个或多个网络实现,例如但不限于,一个或多个WiMax、局域网(LAN)、无线局域网(WLAN)、个人局域网(PAN)、校园网(CAN)、城域网(MAN)、广域网(WAN)、无线广域网(WWAN)、或任何宽带网络,并进一步使用技术,例如,全球移动通信系统(GSM)、个人通信服务(PCS)、蓝牙、无线网络、固定无线数据,2G、2.5G、3G、4G、国际移动通讯先进技术、准4G、LTE先进技术、移动WiMax、WiMax2、无线MAN先进网络、提高GSM进展数据率(EDGE)、通用分组无线业务(GPRS)、加强的GPRS、iBurst、UMTS、HSPDA、HSUPA、HSPA、UMTS-TDD、1xRTT、EV-DO、信息传递协议如TCP/IP、SMS、MMS、可扩展信息传递和业务协议(XMPP)、实时信息传递协议(RTMP)、即时通信和业务协议(IMPP)、即时信息传递、USSD、IRC,或任何其他无线数据网络、宽带网络,或信息传递协议。
通过下文的更多细节描述和通过附图2A-2E和3A-3E的具体描述,下文实现了一个或更多的实施例,这些实施例可实现如下技术内容:在一个移动网络(若网络106)中的信号成型,给一个或更多的特定程序分配信号,(从而判定哪个应用程序产生了流量信号),和成型来自于分布式缓存和代理系统中的所产生的流量信号储存量。(如产生自附图1C中所示的客户端代理175和/或服务器端代理125.)
在本实施例中,在移动网络中的数据发生信号在特定时刻发生,如,在无线电连接在设置的时候,(如连接时)或者无线电连接被移除的时候(如断开连接)。此外,每个无线电连接可以被一个或更多的事务/数据传输所用,这些事务/数据传输源自一个或更多应用程序。
为了启用或增强网络中数据流量和信号优化的性能,本实施例中包含一个或多个字段,(如扩展的“CRCS”字段)。这些一个或多个字段由例如客户端代理175和/或服务器端代理125这样的部件计算产生。这些字段至少用来定义和识别如下内容:1、一个事务是否产生了一个数据连接(从而产生了信号);2、由分布式缓存的披露实施例和代理系统所减少或节省的连接数量。
值得注意的是,为了方便,分布式缓存系统的客户端(如本地代理105,175,275)在本文中可以被指代为“开放式通道客户端”或者“OC客户端”。同样的,分布式缓存系统中的服务器(如主机服务器111,100,300,主机代理服务器113,125,325)在本文中可以被指代为“开放式通道服务器”或者“OC服务器”。客户端和/或服务器,单独或者共同地,可以执行分布式缓存技术。分布式缓存技术包含,但并不限于,信号优化和延伸缓存技术,在本文中,可以被指代为“开放式通道”或者“OC”。
在一个实施例中,一个CRCS分析核心模块能对信号的测量值和建模执行计算和/或测定。CRCS分析核心模块,可以包含在客户端代理175和/或服务器端代理125(如附图2E和3E所示),在下文中有更多的详细阐述。
附图1A-1描绘了一个分布式开放通道系统,包括一个开放式通道(OC)客户端(或本地)代理175和一个OC(或主机)服务器100,这些被单独或者组合配置,从而实现移动网络中的型号建模。
在一个实施例中,一个CRCS分析核心工具或模块可以对CRCS字段进行扩充计算,CRCS字段在CRCS分析核心单元中被使用和维持,从而实现在移动网络中的移动设备上的信号建模。更具体地说,所述CRCS分析核心单元工具能够对开放式通道架构的效果进行建模,(如,分布式缓存技术包含信号优化和延伸缓存技术。)CRCS分析核心工具或模块可以包含硬件和/或软件模块,并且可以被分别包含在或全部包含在OC客户端(本地)代理175和OC(主机)服务器150。
在一个实施例中,为了对开放式通道架构(如移动数据流量优化技术)进行优化建模或保存,则对扩充CRCS字段进行计算。如,扩展CRCS字段能为开放式通道架构的总体效率进行测量。这些字段能又OC客户端(当地)代理175和/或OC(主机)服务器150进行计算,另外,字段能经移动设备计算和/或字段被计算是为了在移动设备上运行的个体应用程序所需要的信号建模。如,信号能被标识或者分配给特定的应有程序,从而去,如,去判定那些应用程序是闲置无用,那些应用程序会产生问题信号,等。
移动设备150可以包含移动设备应用程序的任意号码。这些应用程序可以被内置、预装或者被移动设备的用户下载。此外,应用程序能与OC客户端代理175进行通信(被OC客户端代理175处理)或者与网络(如因特网)直接连接。如附图1A-1所描绘的实施例,应用程序1-3在每一个最初事务上都有所显示。图中显示,应用程序1和2被OC客户端175所处理,应用程序3则与网络(如因特网)发生直接连接。应用程序1和2也许同样与此中的“无线电警示”有关。应用程序3并不是被开放式通道架构所处理,然而依然能够启动无线电(即移动设备无线电连接)。无线电连接能利用无线电记事本所追踪。每一个应用程序都能形成事务的任何号码,这也许能或也许不能形成网络信号,这一点,非常可贵。
如上文所述,计算扩展CRCS字段为了测量开放式通道的问题处理效率,包括信号效率和时间修正效率。如,信号效率和时间修正效率能为了与一部移动设备相关联的信号而被计算。信号效率(也常被称为信号节省)代表着被节省和优化的移动网络连接数量。相似的,时间修正效率(也常被称为时间节省)代表着移动网络中运行时间的节省量。
在一个实施例中,扩展的CRCS字段能被分割成多个类型。如,扩展CRCS字段可以包含一个连接标志型号和一个时间修正记数型号。此外,扩展CRCS字段能被划分成如下图表1所示的类型。
图表1–CRCS字段类型
如上所述,一个CRCS分析核心工具或模块能够计算扩展CRCS字段,这些字段能被CRCS分析核心工具来维护和使用,从而使得一个移动网络中的一个移动设备的信号能被建模。在一个实施例中,对一个移动设备的信号建模包含建立多个连接和时间计算。关于多个连接和时间计算的相关细节在附图10A—附图26N中阐述。
附图1B描绘了实施例的示意图,图中,一个代理和缓存系统分布在主机服务器100和设备150之间,这促进了设备150和应用服务器或内容提供商110,或其他为了资源优化和内容缓存的服务器诸如广告服务器120A,促销内容服务器120B,或电子优惠券120C之间的网络流量管理。分布在主机服务器100和设备150之间的代理系统能进一步监控移动应用程序活动,这些监控动作是针对于在无线网络环境下的移动设备和/或自动生成和/或与恶意流量相关的分布策略信息。
分布式代理和/或缓存系统(如(分布式)流量优化器,流量管理系统,针对流量减缓的(分布式)内容缓存机制)(例如(分布式)流量优化器,流量管理系统,针对流量减缓的(分布式)内容缓存机制)能包含,如,代理服务器125(如,远程代理)和在服务器端的服务器缓存135组件。服务器端代理125和缓存135能够位于主服务器100的内部。此外,代理服务器125和服务器端的缓存135能够部分或全部位于主服务器100的外部并通过一个或多个网络106和108进行通信。例如,代理服务器125可以在主服务器的外部,服务器缓存135可以在主服务器100上被维护。另外,代理服务器125可以在主服务器内部,而缓存服务器在主服务器100的外部。此外,每个代理服务器125和缓存服务器135可以部分在主服务器100内部,部分在主服务器100外部。应用程序服务器/内容提供商110可以是任何服务器包括第三方服务器或服务/内容提供商,还包括广告、促销内容、出版物、或电子优惠券服务器或服务。同样,不同的广告服务器120A,促销内容服务器120B和/或电子优惠券服务器120C作为应用程序服务器或内容提供商由示例解释说明。
在一个实施例中,分布式系统还可以包括客户端组件,包括但不限于,本地代理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与主服务器100上的代理服务器125进行通信,例如,作为连接元数据。代理服务器125轮流与应用程序服务器/提供商110耦合提供内容和数据以满足设备150的请求。
此外,本地代理175可以识别和检索移动设备性能,包括一个或多个电池电量,设备注册网络,无线电发射状态,或移动设备是否被使用(如,由用户与之交互)。在某些情况下,本地代理175可以延迟,加快(预读取),和/或在数据传输到代理服务器125之前的适当时候修改数据。上述内容会在附图2-5中做进一步的描述。
本地数据库185可以包括在本地代理175或耦合到本地代理175中,可以查询本地存储以在数据请求转发到代理服务器125之前响应数据请求。本地代理175可以使用本地缓存响应以满足移动设备150的确定应用程序请求,可以检索存储在缓存存储器185中的缓存内容,当缓存内容有效时。
同样,主服务器100的代理服务器125也可以延迟,加快,或在数据从本地代理传输到内容来源(如,应用程序服务器/内容提供商110)之前修改数据。此外,代理服务器125使用设备特性和连接元数据以产生满足移动设备150应用程序请求的规则。代理服务器125能够收集关于应用程序请求的实时流量信息供以后通过移动设备150或其他移动设备优化相似连接使用。
一般而言,本地代理175和代理服务器125对执行在移动设备上的多个应用程序来说是透明的。本地代理175对操作系统或移动设备平台来说通常是透明的,具有或不具有特定的设备制造商。在某些情况下,本地代理175的部分或全部特定设备是可选可定制的。在一些实施例中,本地代理175可以打包进无线模型,防火墙,和/或路由器中。
在一个实施例中,主服务器100在某些情况下,可以利用短信息服务中心(SMSC)112的存储和转发功能,如由网络服务提供商提供,与设备150通信以实现网络流量管理。值得注意的是,信息服务中心(SMSC)112也可以利用任何其他类型的可替代渠道,包括USSD和其他网络控制机制。主服务器100可以转发内容或HTTP响应SMSC112,这样就会自动转发给设备150如果在线的话,以及后续转发给设备150如果不在线的话。
一般而言,本文公开的分布式代理和缓存系统允许网络使用优化,例如,通过服务来自于本地缓存185的请求,本地代理175减少了需要满足网络106的请求的数量。另外,本地代理175和代理服务器125可以过滤通信数据中的无关数据。此外,本地代理175和代理服务器125也能够积累低优先级数据,并批量发送以避免发送个人数据片段的协议开销。本地代理175和代理服务器125还能够压缩和译码视频流量,以减少通过网络106和/或108发送的数据量。在网络106和/或108中的信号流量可以被减少,在网络不常用的情况下,网络流量在个别应用程序之间可以同步。
关于移动设备150的电池寿命,通过服务本地缓存185的应用程序或内容请求,本地代理175能够减少无限电模块启动的次数。本地代理175和代理服务器125可以一起工作累积低级优先权数据,并批量发送以减少无线电启动的次数和/或时间。本地代理175通过为所有连接同时执行批量数据传送使网络使用同步。
附图1C描述了分布式代理缓存系统的逻辑结构示例图。
分布式系统可以包含以下组件:
客户端代理175:安装在智能手机上的组件,移动设备或无线设备150与设备操作系统连接,以及安装在设备上的数据服务和应用程序。客户端代理175通常符合且能够操作使用本领域网络协议的标准或规定。附图2A到附图2B和附图4A到附图4C对客户端代理175的额外组件和特征有了更进一步的阐述和描绘。
服务器端代理125可以包括一个或多个服务器,该服务器可以是与第三方应用程序交互的服务器(如,服务器199),移动操作者网络(可以是代理199或是没有说明的额外服务器)和/或客户端代理175。一般而言,服务器端代理125通常符合且能够操作使用本领域网络协议和/或与移动网络组件交互的说明书和/或第三方服务器的标准或规定。附图3A到附图3B和附图5A到附图5C。
报告和使用情况分析服务器174:报告和使用情况分析系统或组件174能够收集客户端175和/或服务器端125的信息,并通过必要的工具产生可以用于分析流量和信号数据的报告和使用情况分析。这个分析可以被代理系统使用以管理/减少流量,或者被网络操作者使用以监测网络并尽可能使网络改进和增强。注意,报告和使用情况分析系统/组件174,可以作为独立于服务器端代理125的服务器,或者可以是部分或全部位于服务器端代理125上的一个组件。
图1D描述了分布式代理缓存系统中客户端组件结构的示例图。
客户端组件175可以包括软件组件或安装在移动设备上的代理件,能够使流量优化并在客户端执行相关功能。客户端代理175组件对最终用户和应用程序163可以透明化操作。客户端代理175可以安装在移动设备上以进行优化,并完成数据通道的更改。一旦数据通道被修改,客户端代理175能够响应服务器提供商或主服务器的应用程序请求,此外还能使应用程序163直接访问数据网络。一般而言,移动设备上的应用程序163不会注意到客户端代理175响应他们的请求。一些客户端代理175组件的示例描述如下:
设备状态监控121:设备状态监控121能够负责识别设备中的多个状态和度量,如网络状态,显示状态,电池电量,等。客户端代理175其余的组件能够根据设备的状态操作和做出决策,在每个状态下以最优的方式操作。
流量识别器122:流量识别器122分析在无线设备应用程序163和各自主服务器之间的全部流量以识别周期性模式。支持传输协议包括DNS,HTTP和HTTPS,这样通过这些端口的流量直接到了客户端代理175处。而分析流量,客户端代理175可以识别周期性轮询模式,该模式可作为后选被服务器端代理125远程执行并,发送到协议优化器123。
协议优化器123:协议优化器123能够实现本地缓存185的周期性请求服务的逻辑,以替代允许这些请求通过网络去服务器提供商/应用程序主服务器上。它的任务是消除或减少发送请求到网络的需求,对网络拥塞和设备电池寿命有着积极地影响。
本地缓存185:本地缓存185能够存储对周期性请求的响应,能够被协议优化器123使用以对应用程序163发送响应。
流量调度器124:流量调度器124能够短暂移动通信并通过统一的保活信号以优化设备资源的使用,这样一些或全部的不同应用程序163能够在同一时间发送保活信息(流量流水线)。流量调度器124也可以决定延迟数据传输,与给定的时间无关(如,设备没有被经常使用)。
策略管理器125:策略管理器125能够存储和执行流量最优化,策略报告由策略管理服务器(PMS)提供。在客户端代理175首次启动时,流量最优化和在一个特定的设备中被执行的策略报告(策略概要文件)能够被策略管理服务器预分配。
监控器127:监控器27可以监测客户端代理175操作可用性。如果客户端代理175由于故障或者因为被禁用不工作,监控器127可以重置DNS路由规则信息,可以恢复原来的DNS设置使设备继续工作直到客户端代理175服务器恢复。
报告代理126:报告代理126可以收集设备中事件发生的信息并将这些信息发送到报告服务器。事件细节暂时存储在设备中,只有当数据通道的状态活跃时才会转发到报告服务器。如果客户端代理175没有在24小时内发送记录,报告代理126可能尝试打开连接并发送记录条目,或者如果没有条目存储,就是一个空的报告包。所有报告设置在策略管理服务器中配置。
推送客户端128:推送客户端128可以负责服务器端代理125和客户端代理175之间的流量。推送客户端128可以发送服务请求如内容更新请求和策略更新请求,并接收来自服务器端代理125请求的更新。此外,推送客户端128可以发送数据到报告服务器(如,可能在服务器端代理125内部或外部的报告和/或使用分析系统)。
代理服务器199具有各种各样的用途,从通过缓存重复请求加快网络服务器,到一组客户共享网络资源的缓存网络、DNS和其他网络的查找。代理服务器199是可选的。分布式代理和缓存系统(125和/或175)允许灵活的代理配置使用任何一个代理199,在操作者网络中的额外代理,或集成代理199和操作者的或其他第三方的代理。
附图1E描述了分布式代理缓存系统中服务器端组件结构的示例图。
分布式系统的服务器端125包括,如能够与流量协调器144交互的中继服务器142,轮询服务器145和/或策略管理服务器143。每个组件都能与客户端代理175,或其他第三方(如,应用程序服务器/服务提供商110和/或其他代理199)和/或报告和使用分析系统通信。服务器端代理125的一些组件如下所述:
中继服务器142:中继服务器142是分布式代理结构中的路由代理。中继服务器142管理安装在设备上并与客户端代理175连接和通信的组件,并提供一个用以报告,服务开通,平台设置,等内容的管理界面。
通知服务器141:通知服务器141是一个可以连接操作者短信息服务中心网关的模块,并对客户端代理175提供短信服务通知。短信息服务通知可以在IP链接不活跃的时候使用,避免客户端服务器175通过无线数据通道激活链接,从而避免额外的信号流量。然而,如果IP链接碰巧被打开用于一些其他通信,通知服务器141可以使用它对客户端代理175发送通知。用户数据库可以存储操作数据,包括终端(手机号码),组织机构和每个资源(URIsorURLs)的通知服务器141网关。
流量协调器144:流量协调器144可以负责客户端代理175和轮询服务器145之间的通信。流量协调器144直接连接轮询服务器145或通过数据存储130连接轮询服务器145到客户端在任何开方或专有协议下,如7TP,实现流量最优化。流量协调器144可以负责服务器端的流量流水:如果相同客户端的数据库具有缓存内容,该内容可以通过一个信息发送到客户端。
轮询服务器145:轮询服务器145可以轮询代表被优化应用程序的第三方应用程序服务器。如果应用程序发生变化(如,新数据产生),轮询服务器145可以报告流量优化器144,该流量优化器144依次向客户端代理175发送通知消息以清除缓存和允许应用程序直接轮询应用程序服务器。
策略管理服务器143:策略管理服务器(PMS)143允许管理员为客户端代理175(设备客户端)配置和存储策略。它还允许管理员通知客户端代理175关于策略的改变。使用策略管理服务器143,每个操作者都可以为每个特定移动操作者网络的特性配置策略从而能够以最有效的方式工作。
报告和使用分析组件:报告和使用分析组件或系统收集来自客户端175和/或服务器端125的信息,并提供工具产生报告和使用分析,操作者可以用于分析应用程序信号和数据消耗。
附图1F描绘了在分布式代理和缓存系统中的客户端组件的数据流向的示例图。应用程序(如程序1,程序2,程序3一直到程序N)之间的流量,客户端代理(如本地代理)175,IP路由表(如在安卓操作系统层),网络接入层和无线网络都在图中被描绘。
在一个实施例中,未优化应用程序流量数据流,如来自APP1的流量,可以完全绕开客户端代理175组件,并经过操作系统层(如安卓操作系统层)直接前行。未优化的流量可以包括但不限于:多元媒体,如视频和音频,如同已被配置过得来自于网络和应用程序的流量去绕开优化,如同待优化的流量。在一个实施例中,所有流量都可以被配置成绕开客户端/服务器端代理。
在另一个实施例中,优化过的应用程序流量,比如来自APP2的流量,可以从应用程序重新定向到客户端代理175。默认地,可以是端口80(HTTP)和端口50(DNS)的流量,也可以是端口443(HTTPS)上经过筛选的流量。然而,其他端口的流量可以配置为直接到达客户端代理。
在另一种实施例中,流量流向可以存在在客户端代理175和源服务器(如内容服务器110)之间,经过因特网和或在客户端代理175和服务器端代理(如代理服务器)125之间。
图2A示出的块图显示了在分布式代理和缓存系统中的客户端组件的另一个例子,还包括一个专有/非标准协议适配引擎和一个应用流量分载引擎。分布式代理和缓存系统中的客户端组件可驻留在移动设备(例如无线设备)250上,其管理无线网络(或宽带网络)中的流量,用于分载应用流量,实现信令优化、节约资源、内容缓存和/或流量管理。客户端代理(或本地代理275)可以进一步为移动流量和/或基于应用行为、内容优先级、用户活动和/或用户预期的实施交付策略进行分类。
设备250可以是诸如便携式电话的便携式或移动式设备(例如任何无线设备),例如,其通常包括网络接口208、操作系统204、情境API206以及可能代理无感知210或代理感知220的移动应用。请注意,虽然设备250在图2A的例子中被作为移动设备特别说明,但这并非一种限制;设备250可以是任何能够通过在包括有线或无线网络(例如无线网络、蜂窝、蓝牙、局域网、广域网等)的网络中接收并传输信号以满足数据请求的无线、宽带、便携式/移动式或非便携式设备。
网络接口208可以是一个联网模块,使设备250通过由主机和外部实体所支持的任何已知的和/或便利的通信协议在网络中与主机服务器250之外的实体调解数据。网络接口208可以包括一个或多个网络适配器卡、无线网络接口卡(例如SMS接口、无线网络接口、包括但不限于各代移动通信标准2G、3G、3.5G、4G、LTE等的接口)、蓝牙、或不管该连接是否通过路由器的接入点、无线路由器、交换机、多层交换机、协议转换器、网关、网桥、桥路由器、集线器、数字媒体接收器和/或中继器。
设备250还可以包括分布式代理和缓存系统的客户端组件,其可以包括但不限于本地代理275(例如移动设备的一个移动客户端)和缓存285。在一个实施方式中,本地代理275包括用户活动模块215、代理API225、请求/事务管理器235、缓存策略管理器245其有一个应用协议模块248、流量整形引擎255和/或连接管理器265。流量整形引擎255还可以包括调整模块256和/或批处理模块257,连接管理器265还可以包括无线控制器266。请求/事务管理器235还可以包括应用行为检测器236和/或优先级处理引擎241,应用行为检测器236还可以包括模式检测器237和/或应用配置文件生成器239。本地代理或所述设备可进一步包括一个专有/非标准协议适配引擎401用于以协议无关的方式优化流量,和/或应用流量分载引擎470用于阻断应用特定的信道、并将流量分载到一个共享信道来以协议无关的方式在无线网络中为流量优化信令。更多或更少的组件/模块/引擎都可以被包含在本地代理275及每个图示组件中。
按照本发明所使用的情况,“模块”、“管理器”、“处理程序”、“检测器”、“接口”、“控制器”、“标准化器”、“发生器”、“无效验证器”或“引擎”都包括了一个通用、专有或共享的处理器以及通常来说由处理器执行的固件或软件模块。取决于特定实现或其他考虑,模块、管理器、处理程序、检测器、接口、控制器、标准化器、发生器、无效验证器或引擎都可以被集中或使其功能被分布。模块、管理器、处理程序、检测器、接口、控制器、标准化器、发生器、无效验证器或引擎可包括通用或专有硬件、固件或用于处理器执行的内嵌于计算机的可读(存储)介质的软件中。
按照本发明所使用的情况,计算机可读介质或计算机可读存储介质旨在包括所有法定(例如在美国即根据35U.S.C.101)介质并明确排除所有性质为非法定的介质,其程度为该排除对包括计算机可读(存储)介质是有效的的权利要求是必要的。已知法定计算机可读介质包括硬件(例如仅举几例——寄存器、随机存取存储器(RAM)、非易失性(NV)存储器),但可以或可以不被限于硬件。
在一个实施方式中,网络流量管理的分布式代理和缓存系统一部分驻留在设备250中或者与之进行通信,包括本地代理275(移动客户端)和/或缓存285。本地代理275可以在设备250上提供一个接口,使用户可以访问包括电子邮件、即时消息、语音信箱、可视语音邮件、消息源、互联网、游戏、生产力工具或其他应用等在内的设备应用和服务。
代理275一般独立于应用之外并可以被应用(例如代理感知和代理无感知应用210和220以及其它移动应用)使用来打开到远程服务器(例如服务器100)的TCP连接。在一些情况下,本地代理275包括代理API225,其可被选择用于与代理感知应用220(或移动设备(例如任何无线设备)上的应用(例如手机应用))相连。
应用210和220通常可以包括任何用户应用、窗口小部件、软件、基于HTTP的应用、网络浏览器、视频或其他多媒体流或下载应用、视频游戏、社交网络应用、电子邮件客户端、RSS管理应用、应用商店、文档管理应用、生产率增强应用等。应用可以由设备制造商、网络服务提供商与设备操作系统一并提供,也可由用户下载或由其他人提供。
如图所示,本地代理275的一个实施方式包括情境API206或者与之耦合。如图所示,情境API206可以是操作系统204或设备平台的一部分或独立于操作系统204。操作系统204可以包括任何操作系统,包括但不限于任何以前、当前和/或将来的WindowsMobile、iOS、安卓、塞班、PalmOS、BrewMP、Java2微型版(J2ME)、黑莓等等的版本/发布。
情境API206可以是操作系统204的一个插件或设备250上的一个特定的客户端/应用。情境API206可检测指示用户或设备活动的信号,例如运动侦测、姿态、设备位置、设备位置的改变、设备背光、击键、点击、激活了的触摸屏、鼠标点击或对其它指针设备的检测。情境API206可耦合到设备250上的输入设备或传感器来识别这些信号。这种信号通常可以包括为响应在设备250的输入设备/机制上的显式用户输入所接收到的输入和/或从设备250上或其附近(例如光、运动、压电等等)的环境信号/情境线索处所收集到的输入。
在一个实施方式中,使用者活动模块215与情境API206交互以识别、确定、推断、检测、计算、预测和/或推理设备250上的用户活动特性。由情境API206收集的各种输入都可以由用户活动模块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可以决定如何以及何时处理给定的请求或事务,或一组请求/事务,根据事务的特征。
本地代理275的一个实施方式还包括一个请求/事务管理器235,其可以检测、识别、拦截、处理、管理设备250上发起的数据请求,例如由应用210和/或220和/或直接/间接的用户请求。请求/事务管理器235可基于事务特性来决定如何和何时处理一个给定的请求或事务或一组请求/事务。请求/事务管理器235可以为在设备250上的应用和/或用户进行的请求或事务进行优先级排序,例如由优先级处理引擎241进行。请求/事务的重要性或优先级可以通过应用规则集由请求/事务管理器235来确定,例如根据事务的时间灵敏度、事务内容的时间灵敏度、事务的时间关键性、事务中所传输的数据的时间关键性和/或发出请求之应用的时间关键性或重要性。
此外,事务的特性也可取决于该事务是否是设备上的用户交互或其他用户发起动作的结果(例如与应用的用户交互(例如手机应用))。在一般情况下,一个时间关键性事务可包括因用户发起的数据传输而产生的事务,并且可依此被划分优先级。事务特性也可以取决于由所请求事务导致的将被传输或预计要被传输的数据量。例如,连接管理器265可基于需要传输的数据量而调节无线模式(例如通过无线控制器266调节高功率和低功率模式)。
此外,无线控制器266/连接管理器265可基于事务的时间关键性/灵敏度调节无线功率模式(高或低)。时间关键性事务(例如用户发起的数据传输产生的事务、前台运行的应用、任何符合一定条件的其它事件)被启动或检测到时,无线控制器266可以触发使用高功率无线模式。
在一般情况下,优先级可以被默认设置,例如基于设备平台、设备制造商、操作系统等。优先级可由特定应用可替代地或附加地设置;例如Facebook应用(例如手机应用)可以为各种事务(例如,状态更新可以比加为好友请求或戳一下请求有更高的优先级,再比如消息发送请求可以比消息删除请求有更高的优先级)配置其自己的优先级,电子邮件客户端或即时消息聊天客户端也可有其自己用于优先权的配置。优先级处理引擎241可以包括用于分配优先级的规则集。
优先级处理引擎241还可以就对请求/事务的整体优先地位的确定而追踪网络提供商的应用或事务优先级之限制或规范。另外,优先级可以部分或全部由用户偏好确定,不管其是显式还是隐式的偏好。在一般情况下,用户可在不同层次设置优先级,例如对于会话或类型或应用的具体优先级(例如比较浏览会话、游戏会话与即时消息聊天会话,用户可以把游戏会话优先级设置为总是高于即时消息聊天会话,而后者优先级又高于网页浏览会话)。用户可以就具体的事务类型(例如使跨越所有应用之所有发送信息请求比消息删除请求具有更高的优先级,使所有日历相关的事件具有更高的优先级等)和/或特定的文件夹来设置特定应用的优先级(例如用户可以设置Facebook相关的事务比LinkedIn相关的事务具有更高的优先级)。
优先级处理引擎241可以追踪和解决不同实体设置的优先级中的冲突。例如,由用户指定的手动设置可能优先于设备操作系统设置,网络提供商参数/限制(例如为一个网络服务区域的默认设置、地理区域、对于一天中的特定时间的设置或基于服务/费用类型的设置)可能会限制任何用户指定的设置和/或应用设定的优先级。在一些情况下,接收自用户的手动同步请求可以覆盖一些、大部分或所有的优先级设置,其中被请求的同步会在被请求时被执行,而无论为此所请求操作单独分配的优先级或整体优先级排名如何。
优先级可以通过任何已知和/或方便的方式被内部定义和追踪,包括但不限于二进制表示、多值表示、分级表示,所有方式都被认为在所公开技术的范围之内。
表2
为说明起见,以上表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不必激活无线来将请求发送到远程实体(例如图1A和3A所示的主机服务器100、图1A和1B所示的服务器/提供商110的内容提供商/应用服务器)上去。这样,本地代理275可以使用本地缓存285和缓存策略管理器245在本地存储数据,用以满足数据请求,以消除或减少对设备无线的使用,实现节约网络资源和设备电池消耗。
在充分利用本地缓存方面,一旦请求/事务管理器225截获设备250上应用的数据请求,本地资源库285就可以被查询,以确定是否有任何本地存储的响应,并且还确定该响应是否有效。当在本地缓存285上有一个有效的响应时,该响应可被提供给设备250上的应用而无需设备250访问蜂窝网络或无线宽带网络。
如果没有一个有效的响应,本地代理275可以查询一个远程代理以确定远程存储的响应是否有效(如,图3A所示的服务器代理325)。如果有效,远程存储的响应(如,图1B所示,其可存储在服务器缓存135或可选的缓存服务器199之上)可以被提供给移动设备,可能无需移动设备250访问蜂窝网络,从而减轻网络资源的消耗。
如果有效的缓存响应不可用,或者如果缓存响应不可用于所截取的数据请求,本地代理275,例如缓存策略管理器245,可以发送数据请求到远程代理(如图3A所示的服务器代理325),其将数据请求转发到内容源(如图1A所示的应用服务器/内容提供商110),并且自内容源的响应可以通过远程代理来提供,并将与图3A所示的主服务器300联系做进一步的描述。缓存策略管理器245可以管理或处理使用各种协议的请求,包括但不限于HTTP、HTTPS、IMAP、POP、SMTP、XMPP和/或ActiveSync。缓存策略管理器245可以把本地数据库285中的数据请求响应作为缓存条目进行本地存储,以随后用于满足相同或相似的数据请求。
缓存策略管理器245可以请求远程代理监视数据请求响应,而在检测到对于数据请求的意外响应时,远程代理可以通知设备250。在这种情况下,在被通知有对于数据请求的意外响应时(例如新的数据、改变了的数据、附加数据等)缓存策略管理器245可擦除或替换设备250上的本地存储的响应。在一个实施方式中,缓存策略管理器245能够检测或识别用于特定请求的协议,包括但不限于HTTP、HTTPS、IMAP、POP、SMTP、XMPP和/或ActiveSync。在一个实施方式中,本地代理275上的特定应用的处理器(例如通过缓存策略管理器245的应用协议模块246)允许对任何可以被端口映射到分布式代理(如图3A所示的端口映射在代理服务器325上)中的处理器的协议进行优化。
在一个实施方式中,本地代理275通知远程代理,使得远程代理可以在将结果返回至设备250之前(例如当对内容源的数据请求取得了与要返回给移动设备的结果相同的结果时),监视接收自内容源进行数据请求的的响应是否有更改的结果。在一般情况下,本地代理275可以使用本地缓存的内容为设备250上的应用模拟应用服务器响应。这能够防止将蜂窝网络的利用用于其中新的/有变化的数据不可用的事务,从而解放了网络资源并防止网络拥塞。
在一个实施方式中,本地代理275包括了一个应用行为检测器236来跟踪、检测、观察、监测可在设备250上访问或安装的应用(例如代理感知和/或代理无感知应用210和220)。应用行为或设备250上可访问到的一个或多个应用所检测到行为(例如通过模式检测器237)的模式可以由本地代理275使用,以优化满足这些应用的数据需求所需的无线网络流量。
例如,基于多个应用被检测到的行为,流量整形引擎255可以调整至少由一些应用通过网络(无线网络)所作的内容请求(例如经由调整模块256)。调整模块256可延缓或加快一些早期提出的请求以实现调整。当请求被调整时,流量整形引擎255可以利用连接管理器在网络中轮询从而满足应用数据请求。多个应用的内容请求可以基于行为模式或规则/设置来调整,例如包括多个应用所请求的内容类型(音频、视频、文本等)、设备(例如移动或无线设备)参数和/或网络参数/流量状况、网络服务提供商的约束/规范等。
在一个实施方式中,模式检测器237可检测在多个应用中由其完成的复用,例如可通过跟踪应用行为中的模式进行。例如,被追踪的模式可以包括作为后台进程检测应用定期、在一天的特定时间、在一周中的特定天、可预测方式的规则时间、以特定频率、以响应于特定类型事件的特定频率、响应于特定类型的用户查询、请求内容相同的频率、做出相同请求所用的频率、请求之间的间隔、应用发出请求或上述的任何组合轮询一个应用服务器。
此类复用可以由流量整形引擎255使用,以通过一个处于设备250远程的代理服务器(例如图1B所示的代理服务器125或图3A所示的代理服务器325)分载来自内容源(例如来自图1A所示的应用/内容提供商110)内容的轮询,该内容本来将源自将在移动设备上或在无线设备250上执行的应用请求。流量整形引擎255可以在复用与规则匹配时决定分载轮询。例如,对于内容或者返回值完全相同的相同资源,或基于一天内特定时间请求资源这样请求和响应之间可重复时长的检测,存在多次复用或请求。轮询的分载可以减少移动设备250为了重复的内容轮询与内容源建立无线(蜂窝或其他无线宽带)连接所需的带宽消耗量。
作为轮询分载的结果,在内容源的轮询中没有检测内容变化时,可提供存储在本地缓存285上的本地缓存内容来满足设备250上的数据请求。因此,当数据没有变化时,应用数据的需求可以得到满足,而无需在无线网络中启用无线使用或占用蜂窝带宽。当数据已经改变和/或新数据已被接收时,轮询被分载到的远程实体可以通知设备250。远程实体可以是图3A所示的主机服务器300。
在一个实施方式中,本地代理275可以减轻对周期保活消息(心跳消息)的需要/使用,以维持TCP/IP连接,这种需要/使用可能有大量功耗,从而对移动设备的电池寿命产生有害影响。本地代理(例如心跳管理器267)中的连接管理器265可以检测、识别和拦截发送自应用的任何或所有心跳(保活)消息。
心跳管理器267可以防止任何或所有这类心跳消息通过蜂窝或其他网络发送,而是依靠分布式代理系统(例如图1B中所示)的服务器组件生成并发送心跳消息,来维持与后端(例如图1A例子中的应用服务器/提供商110)的连接。
本地代理275一般提供任何一个或一部分为单独管理器、模块和/或引擎描述的功能。本地代理275和设备250可以包括额外或更少的组件;包括全部或部分更多或更少的功能,而不偏离本公开内容的新技术。
图2B图示说明了图2的例子中所示的专有/非标准协议适配引擎和应用流量分载引擎附加组件的块图。
在一个实施例中,缓存策略管理器245包括数据生成器203,缓存查找引擎205,缓存适当决策引擎246,调查进度生成器247,应用协议模块248,缓存或连接选择引擎249和/或本地缓存无效器244。缓存适当决策引擎246可以进一步包括时间预测246A,内容预测246B,请求分析仪246C,和/或响应分析仪246D,和缓存或连接选择引擎249,包括一个响应调度器249A。数据产生器203和/或缓存查找引擎205耦合到缓存285(或本地缓存)以修改或添加缓存条目或查询。
缓存查找引擎205年可进一步包括ID或URI过滤器205A,地缓存无效器244可进一步包括TTL管理器244A,和调查进度生成器247可进一步包括时间表更新引擎247A和/或时间调整引擎247B。缓存策略管理器245的一个实施例包括应用程序缓存策略库243。在一个实施例中,应用程序行为探测器236包括一个模式检测器237、轮询间隔探测器238,应用程序概要文件生成器239,和/或优先级引擎241。轮询间隔探测器238可进一步包括长轮询探测器238A,具有响应/请求跟踪引擎238B。轮询间隔探测器238可进一步包括长轮询寻找检测器238C。应用程序文件生成器239可进一步包括响应延迟间隔追踪器239A。
模式检测器237,应用程序文件生成器239,和优先级引擎241的描述也与图2A所描述的模式检测器相联系。一个实施例进一步包括应用程序文件存储库242可由本地代理275使用以存储关于应用程序文件的信息或元数据(如、行为,模式,HTTP请求类型,等等)。
缓存适当决策引擎246可以检测,评估,或者从内容源确定内容(如图1B所示的应用程序服务器/内容提供商110)与移动设备250交互,具有适合缓存的内容。例如,决策引擎246可以使用信息关于请求和/或响应接收由移动设备250发起的请求来确定缓存能力,潜在的可缓存性或非可缓存性。在某些情况下,决策引擎246可以初步验证请求是否直接列入黑名单目的地或请求本身是否源于一个黑名单的客户端或应用程序。如果是,额外的处理和分析可能不能被决策引擎246执行和请求可能被允许通过空气发送到服务器来满足需求。目标黑名单或应用程序/客户端(如,移动应用程序)在本地代理处维护(例如,应用程序文件存储库242)或远程的(如,代理服务器325或另一个实体)。
在一个实施例中,决策引擎246,例如,通过请求分析仪246C收集关于应用程序的信息或移动设备250生成的客户端请求。请求信息包括请求特征信息,包括,例如,请求方法。例如,请求方法可以表明由移动应用程序或客户端生成的HTTP请求的类型。在一个实施例中,响应请求可以被认定为可缓存或者潜在可缓存如果请求方法是GET请求或POST请求。其他类型的请求(如,选择,置顶,设置,删除,跟踪或连接),可能会或可能不会被缓存。一般来说,具有不可缓存请求方法的HTTP请求方法不能被缓存。
请求特征信息可以进一步包括关于请求大小的信息,例如,响应体积的大小超过一定规模的请求(如,HTTP请求)将不被缓存。例如,可以确定缓存性如果请求的信息表明请求体积大小不超过特定大小。在某些情况下,最大缓存请求体积大小可以设置为8092个字节。在其他情况下,可以使用不同的值,依赖网络容量或网络运营商特定设置。
在某些情况下,来自给定的应用程序服务器/内容提供商(如,图1B所示的服务器/内容提供商110)的内容决定适合缓存基于一组标准,例如,标准指定时间临界内容来自内容源被请求。在一个实施例中,本地代理(如图1B和图2A所示的本地代理175或275)申请选择标准以存储来自主机服务器内容,主服务器被应用程序请求作为移动设备本地缓存上的缓存组件以满足应用程序的后续请求。
缓存适当决策引擎246,进一步基于从移动设备250发送请求的检测模式(如,通过设备250上的移动应用程序或其他类型的客户端)和/或收到响应的模式,可以检测请求或响应的可预测性。例如,决策引擎246收集的请求特征信息(如,请求分析仪246C)可以进一步包括在请求和由移动设备相同的客户端生成的其他请求之间的周期性信息或指向相同主机的其他请求(如,具有相似或相同的检验参数)。
可以被决策引擎246或请求分析仪246C周期性检测到,当请求和生成的其他请求由相同的客户端在一个固定速率或近似固定速率,或与一些可识别的动态速率或部分或全部可再生的变化模式下发生。如果请求是由一些可识别的模式(如,定期,间隔探测模式,或趋势(例如,增加,减少,常数等)的时间预测器246A可以由设备上给定的应用程序确定请求,至少从时间的角度来看该应用程序是可预测的和可以识别潜在合适缓存的。
可识别的模式或趋势通常可以包括任何可以被模拟的应用程序或客户端行为,不管是否在本地。例如,在移动设备250上的本地代理275或远程模拟,例如,由主机300上的代理服务器325,或结合本地和远程模拟来仿真应用程序行为。
在一个实施例中,决策引擎246,例如,通过响应分析仪246D,可以收集信息关于响应应用程序或移动设备250生成的客户端请求。响应通常接收服务器或主机的应用程序(如,移动应用程序)或移动设备250上发送请求的客户端。在某些实施例中,移动客户端或应用程序可以是应用程序的移动版本(如,社交网络、搜索、旅游管理器、语音信箱、联系管理器,电子邮件)或通过web浏览器或桌面客户端访问网站。
例如,响应特征信息可以包括是否传输编码或分块传输编码的指示用于发送响应。在某些情况下,通过传输编码或分块传输编码以响应HTTP请求是不缓存的,因此也被进一步分析。分块响应的基本原理通常是大型和非优的,用以缓存,因为这些事物的处理可能减缓总体执行。因此,在一个实施例中,缓存能力或潜在的缓能力可以被确定当传输编码不是用于发送响应。
此外,响应特性信息可以包括相关状态码的响应,可以通过响应分析仪246D识别。在某些情况下,不可缓存状态码的HTTP响应通常是不能缓存的。响应分析仪246D可以从响应中提取状态代码和确定它是否匹配缓存或不可缓存的状态代码。一些缓存状态码包括举例:200-好的,301-重定向,302-发现,300-查看其他,304-不修改,307-临时重定向,或500–内部服务器错误。一些不可缓存的状态码可以包括,例如,403-禁止或404-未找到。
在一个实施例中,可缓存性或潜在的可缓存性可以判断的响应信息并不表明不可缓存的状态代码或表明缓存状态代码。如果响应分析仪246D通过给定的响应检测不可缓存的状态代码,具体的事物(请求/响应对)可能被排除在进一步的处理和确定是在临时基础上,半永久性的,或永久性的基础是不可缓存的。如果这些状态代码表示缓存能力,事务(例如,请求和/或响应对)可能会受到进一步的处理和分析来确定缓存能力。
响应特性信息还可以包括响应大小信息。在一般情况下,响应可以缓存在本地移动设备250,如果响应不超过一定规模。在某些情况下,默认的最大缓存的响应大小设置为128KB。在其他情况下,最大可缓存的响应大小可能不同,和/或可根据运行条件,网络条件下,网络容量,用户偏好,网络运营商的要求,或其他特定应用程序,特定用户,和/或设备的具体原因进行动态调整。在一个实施例中,响应分析仪246D可以识别的响应的大小,和缓存能力或潜在的缓存能力可以判断给定的阈值或最大值是不是超过响应大小。
此外,响应特性信息可以包括响应请求的响应本身信息和同一客户在移动设备上产生的其他请求的其他响应,或指向同一内容主机或应用程序服务器。用于响应的响应本身信息可以跟其他响应比较,例如,通过响应分析仪246D,防止缓存动态内容(或响应经常变化的内容,不能有效地提供缓存条目,如财务数据、股票报价、新闻、实时的体育赛事活动,等),如服务于缓存条目的内容不再相关或更新。
缓存适当决策引擎246(例如,内容预测器246B)可以确定重复性或识别标志的可重复性,潜在可重复性和可预测性以响应接收到的内容源(例如,内容主机/应用程序服务器110如图1A-B所示)。可检测到可重复性,例如,追踪至少两个从内容源接收到的响应,并确定该响应是否相同。例如,缓存能力可以被确定,通过响应分析仪246D,用于响应的响应本身信息与用同样的手机客户端或指向相同的主机/服务器发送的其他响应是否相同或基本相同。这两种响应可能或可能不响应发送响应于连续请求。在一个实施例中,给定应用程序请求响应接收的杂凑值可用于确定在一般和/或为特定请求的应用程序中的内容的可重复性(有或不具有启发)。此外,相同响应可以要求多个应用程序或在特定的环境下。
重复性在收到的内容中不需要100%确定。例如,响应可以被确定为是可重复的,如果某个数字或某个百分比的响应是相同的,或类似。某个特定的数字或某些百分比可以追踪时间的选择周期,默认设置,或基于应用程序生成请求设置(例如,应用程序在不断更新中是否是高度动态的,或在不频繁更新下是少动态的)。任何表明预测性或可重复性,或潜在可重复性,可利用分布式系统中的缓存内容提供请求应用程序或移动设备250上的客户端。
在一个实施例中,对于一个长轮询请求,本地代理175可以开始在地三个请求时缓存响应,当最先两个响应的响应延迟时间为相同时,大致相同时,或检测到间隔增加时。在一般情况下,接收的响应的最先两个响应应该是相同的,在确认收到第三请求的第三响应是相同的(例如,如果R0=R1=R2),第三响应可以本地缓存在移动设备上。根据应用程序类型、数据类型、内容类型、用户偏好、或负载/网络运营商规范,较少或更多相同的响应需要开始缓存。
对长轮询的相同响应增加响应延迟长可以表明搜索周期(例如,一个时期,在移动设备上的应用程序/客户端正在寻找一个在请求和响应之间给定网络允许的最长时间,时序图显示时序特性如图8所示),如应用行为检测器236的长轮询搜索探测器238C检测。
下述示例使用T0,T1,T2描述,其中T表示延时,在当请求被发送和当响应(如,响应标头)被检测/接受连续请求之间:
如上述时间序列所示,T0<T1<T2,这可能表明长轮询的搜索模式当网络超时尚未达到或超过。此外,如果响应R0、R1和R2收到的三个请求是相同的,R2可以被缓存。在这个例子中,R2是缓存在长轮询搜索期间无需等待长轮询以解决,从而加快响应缓存(例如,这是可选加速缓存行为可以实现所有或选定的应用程序)。
因此,本地代理275可以指定信息可以从上面显示的时间序列中提取(如,轮询表,轮询间隔,轮询类型)到代理服务器并开始缓存,并开始要求代理服务器开始轮询和监控源(例如,使用任何T0,T1,T2作为轮询间隔,但通常T2,或最大的检测间隔是不定时的,并接收来自源的响应并将发送到图3A的代理服务器325中用以使用轮询内容源(例如,应用程序服务器/服务提供商310))。
然而,如果被检测到的时间间隔被缩短,应用程序(例如,移动应用程序)/客户端可能仍在寻找一个响应可以可靠地从内容源接收的时间间隔(例如,应用程序/服务器/供应商110或310),并且这样的缓存通常不会开始,直到请求/响应间隔表示相同的时间间隔或时间间隔增加,例如,长轮询类型请求。
下述示例使用T0,T1,T2描述,其中T表示延时,在当请求被发送和当响应(如,响应标头)被检测/接受连续请求之间:
如果响应延迟模式T1<T2<T3>T4被检测,如上述时间序列所示(例如,通过应用行为检测器236的长轮询搜索探测器238C检测),可以确定的是,T3可能超出网络时间并在长轮询搜索周期之外。在请求3中,由于网络、应用程序、服务器或其他原因,在响应发送或可用的响应之前,响应可能未接收到。要求4(T4后),如果一个响应(例如,响应4)检测或接收,然后本地代理275可以使用响应缓存(如果满足内容重复性条件)。本地代理也可以使用T4作为代理服务器监控/轮询内容源的轮询调度集的轮询间隔。
注意上面的说明表明,缓存可以开始,而长轮询是在搜索模式的事件检测中增加响应延迟,只要响应被接收并没有超给定请求的时间。这可以被称为在长轮询搜索中的可选加速缓存。缓存也可以开始在搜寻模式之后(例如,在轮询请求已经解决了一个常数或接近恒定的延迟值)已经完成。请注意,搜寻可能或可能不会出现在长的轮询或当搜索开始时;代理275一般可以检测到这一决定,并确定是否开始在搜索期间(对相同的响应增加时间间隔),或等待,直到找到一个稳定值。
在一个实施例中,缓存适当决策引擎246的时间预测器246A可以追踪时间响应,接收自应用程序的输出请求(例如,移动应用程序)或客户端以检测任何可识别的模式,可以部分或完全重现,使得本地缓存的响应可以在移动设备250上以模拟内容源(例如,应用程序服务器/内容提供商110或310)行为的方式提供给发出请求的客户端。例如,该方式(如,从时间角度)响应或内容将被传递到该设备250的请求应用程序/客户端上。这确保用户体验保护当响应应用程序或移动客户端请求的响应是服务于本地和/或远程缓存,而不是直接从内容源(例如,应用程序,内容提供商110或310)被检索/接收。
在一个实施例中,决策引擎246或时间预测器246A确定给定应用程序(例如,移动应用程序)或客户端的时间特征,例如,请求/响应追踪引擎238B和/或应用程序文件生成器239(例如,响应延时间隔追踪器239A)。使用时序特征,时间预测器246A确定响应请求的内容是否合适的或是潜在适合用于缓存。例如,从一个给定的应用程序的连续两个请求之间的轮询请求间隔可以用来确定是否请求间隔是可重复的(例如,恒定的,接近恒定的,增加模式,减少模式等),可以被预测,这种重复至少有一些时间是精确或接近公差范围内的。
在某些情况下,对于特定应用程序的特定请求类型的时间特征,对于应用程序的多个请求,或者多个应用程序能够存储在应用程序文件存储库242中。应用程序文件存储库242可以存储任何类型的信息或元数据关于应用程序的请求/响应特性,包括时间模式,时间重复性,内容可重复性,等。
应用程序文件存储库242还可以存储元数据,表示用于给定应用程序的请求类型(例如,长时间轮询,长期持有的HTTP请求,HTTP流,推进,可控推进,等)。应用程序文件表明应用程序的请求类型,应用程序可以用在后续被检测的相同/相似的请求中,或当请求从已分类的应用程序中检测。在这种方式下,给定请求类型的时间特征或特定的应用程序的请求被追踪和/或分析,不需要再分析。
应用程序文件可与有效时间相关联(例如,或一个默认的截止时间)。应用程序文件的截止时间的使用,或者对于各方面的应用程序或请求文件基于一个个案例。应用程序的有效时间或实际截止时间可以设置为默认值或单独确定,或将其结合。应用程序文件也可以是特定于无线网络,物理网络,网络运营商,或特定的运营商。
一个实施例包括应用程序黑名单管理器201。应用程序黑名单管理器201可以耦合到应用程序缓存策略库243,并且可以部分或全部内部本地代理或缓存策略管理器245。同样,黑名单管理器201可以部分或全部内部到本地代理或应用程序行为检测器236。黑名单管理201能够聚集,跟踪、更新、管理、调整,或动态监测服务器/主机的目的列表是黑名单,或认定为不缓存,在永久或临时的基础上。目标黑名单,在请求中确定时,可能被用来允许请求发送到(蜂窝)网络用于服务。对请求的求额外处理可能不被执行,因为它被检测并直接列入目标黑名单。
列入目标黑名单可以通过应用程序缓存策略库243中的地址标识符包括特定URIs标识符或标识符模式包括URI模式来确定。一般来说,目标黑名单可以被设置或修改于任何原因任何一方,包括用户(移动设备250所有者/使用者),操作系统/移动设备250平台,目标本身,网络运营商(单元网络),网络服务提供商,其他第三方,或根据一个应用程序的目标列表知道是不可缓存的/不适合缓存。基于分析或处理,目标黑名单中的一些条目可能包括目标汇总,通过本地代理进行处理(例如,缓存适当决策引擎246)。
例如,在移动设备上的应用程序或移动客户端已被认定为不适合将缓存添加到黑名单。其相应的主机/服务器可以添加到或代替移动设备250上的应用程序/客户端请求识别。一些或全部由代理系统识别的客户端可以添加到黑名单。例如,所有应用程序客户端或应用程序暂时确定为不适合缓存,只有那些特定的检测特征(基于时间、周期、频率响应内容的变化,内容的可预测性,大小,等等)可以被列入黑名单。
黑名单条目可能包括应用程序请求列表或移动设备上的客户端的请求(而不是目标),这样,当检测到请求从一个给定的应用程序或给定的客户端,可以通过网络发送一个响应,由于黑名单的客户/应用程序响应在大多数情况下不缓存。
一个给定的应用程序配置文件也可以被处理或不同处理(例如,本地代理275和远程代理325的不同行为)取决于移动帐户联系移动设备的应用程序被访问。例如,一个较高的付费帐户,或首要帐户可允许更高频率访问无线网络或更高的带宽余量,从而影响缓存策略在本地代理275和代理服务器325之间实现,与资源保护相比具有更好的性能。一个给定的应用程序配置文件可能被处理或被不同处理在不同的无线网络条件下(例如,基于拥塞或网络中断,等)。
注意,缓存恰当性可以被确定、追踪和管理多个客户端或应用程序在移动设备250上。缓存恰当性也可以被确定用于不同的请求或请求类型,由移动设备250的上给定的客户端或应用程序发起。缓存策略管理器245,随着时间预测器246A和/或内容预测器246B试探性地确定或估计预测性或潜在的可预测性,可以追踪,管理和存储缓存信息,针对不同应用程序或给定应用程序的不同请求。缓存信息也可能包括条件(例如,应用程序可以被缓存在一天中的特定时间,或一个星期的特定几天,或给定应用程序的特定请求可以被缓存,或所有请求对于给定目标地址可以被缓存),在这些条件下缓存是合适的,可以被确定和/或由缓存适当决策引擎246追踪和存储和/或更新当应用程序缓存策略库243耦合到缓存适当决策引擎246中的适当时候。
缓存策略库243关于对缓存的请求信息,应用程序或相关条件,后续可同样的请求进行检测。在这种方式下,决策引擎246或时间和内容的预测246A/B不需要跟踪和分析请求/响应时间和内容特征做出关于缓存能力评估。此外,在某些情况下,缓存信息可以以共享的方式直接或通过其他移动设备的本地代理服务器主机通信(例如,代理服务器325服务器300)。
例如,各种移动设备上的本地代理275检测的缓存信息可以被发送到远程主服务器或主机服务器的代理服务器325上(如图3A所示的主机服务器300或代理服务器325,图1A-B所示的主机100和代理服务器125)。远程主机或代理服务器可以分发关于特定于应用程序的信息,特定请求的缓存信息和/或任何相关条件到各种移动设备或无线网络中的本地代理或多个无线网络的本地代理(相同服务供应商或多个无线服务提供商),供其使用。
在一般情况下,缓存的选择标准可以进一步包括,例如但不限于,移动设备的状态表明是否移动设备是活跃的或不活跃的,网络条件,和/或无线电覆盖率统计。缓存适当决策引擎246可以是任何一个或任何组合的标准,并以任何顺序,确定缓存的来源可能合适。
一旦应用服务器/内容提供商识别或检测内容,该内容适合于移动设备250的本地缓存,缓存策略管理器245可以处理缓存相关的内容,该内容接收于识别源,该识别源通过存储从内容源接收的内容作为本地缓存中的缓存组件(例如,本地缓存185或285分别如图1B和图2A所示)在移动装置250上。
响应可以被存储在缓存285(例如,也称为的本地缓存)作为缓存条目。添加响应请求,对于缓存的响应,缓存可以响应具有附加信息的元数据。元数据可能是元数据产生器203产生并包含的,例如,缓存的访问时间或者缓存的创造时间的定时数据。元数据可以包括附加信息,例如用于确定是否存储为缓存的输入的响应的任何信息都用来满足随后的响应。例如,元数据信息可以进一步包括,请求时程(例如,包括请求时间,请求开始时间,请求结束时间),杂凑值的请求和/或响应,时间间隔或时间间隔的变化等。
缓存条目通常存储在与有效时间(TTL)关联的缓存285中,例如,由缓存无效器244的TTL管理器244A指定或确定。缓存条目的有效时间是条目在缓存285中维持的总时间,不管该响应是否仍然有效,或给定请求是否相关或在移动设备250上的客户端/应用程序。例如,如果给定缓存条目的有效时间设置为12小时,缓存被清除,删除,或以其他方式表明有超过有效时间,即使响应本身仍然包含在条目中并且适用相关请求。
默认的有效时间可以自动使用所有条目,除非另有规定(例如,由TTL经理244A),或每个缓存条目可以用其个人的TTL创建(例如,TTL管理器244A确定基于各种动态或静态的标准)。请注意,每个条目都可以有一个单独的时间与响应数据和任何相关的元数据关联。在某些情况下,相关的元数据可能与响应的数据有不同的有效时间(例如,一个较长的有效时间)。
内容源具有内容缓存器,另外或可替代的,被确定为一个代理服务器(例如,分别举例代理服务器125或325在图1B和图3A)通过移动装置250的无线通信远程监控内容源(例如,应用程序服务器/内容提供商110)新的或变更的数据。同样,本地代理(例如,分别举例本地代理175或275图1B和图2A)可以发现,从一个特定的应用服务器/内容提供商接收到的内容作为缓存组件被存储在本地缓存285的代理服务器中。
一旦内容被本地缓存,缓存策略管理器245,在接收将来的轮询请求,以接触应用服务器/内容主机(例如,110或310),可以从本地缓存检索缓存的元素,以响应在移动设备的轮询请求,无线移动设备是没有激活服务的轮询请求。例如,缓存查找引擎205可以查询缓存285以确定以前的响应已响应,响应可以从缓存中提供响应来识别匹配的缓存条目,也可以使用存储在高速缓存中的响应的任何元数据。缓存项可以用一个URI标识符的请求或另一种类型的缓存查找引擎查询(例如,通过ID或URI过滤器205A)。缓存查找引擎205可以进一步使用存储在匹配的高速缓存中的元数据(例如,提取任何时间信息或其他相关信息),以确定是否响应仍然是适合于使用在当前请求服务。
注意到,该缓存查找可以通过引擎205使用一个或多个多种策略来执行。在一个实施例中,多个查找策略可以顺序执行存储在缓存285中的每个条目,直到至少有一个策略识别匹配缓存条目。用于执行缓存查找的策略可以包括一个严格匹配标准或允许非匹配参数匹的配标准。
例如,查找引擎205执行严格的匹配策略,在标识符之间搜索完全匹配(例如,主机或资源的URI)中引用的当前请求的代理试图确定缓存项和存储在缓存条目中的标识符。在这种情况下,标识符包括URIs或URLs,严格匹配的匹配算法将搜索缓存条目,其中所有参数属于URLs匹配。例如:
例1
1.缓存包含条目http://test.com/products/
2.请求被产生至URIhttp://test.com/products/
严格的策略会找到一个匹配,因为两个URIs是相同的。
例2
1.缓存包含条目http://test.com/products//?query=all
2.请求被产生至URIhttp://test.com/products/?query=sub
在上述严格的策略下,因为URIs不同于查询参数,匹配不会被发现。
在另一个例子中,查找引擎205查找一个缓存条目,该标识符部分匹配当前请求中引用的标识符,该代理试图找出匹配的缓存条目。例如,查找引擎205可以通过查询具有标识符的缓存条目,该标识符不同于通过查询参数值的请求标识符。利用该策略,查找引擎205可以收集用于多个先前的请求的信息(例如,标识符的任意参数列表)来检查,在当前的请求中检测任意参数。例如,缓存条目通过URI或URL标识符被存储,查询引擎通过不同查询参数的URI搜索缓存条目。如果发现,引擎205可以检查缓存条目用以信息收集在先前的请求中(例如任意参数列表)和检查是否任意参数检测或从当前的URI/URL提取的参数属于任意参数列表。
例1
1.缓存包含条目http://test.com/products//?query=all,其中查询标记可以是任意的。
2.请求被产生至URIhttp://test.com/products/?query=sub
匹配将会发现,因为查询参数是任意标记的。
例2
1.缓存包含条目http://test.com/products//?query=all,其中查询标记可以是任意的。
2.请求被产生至URIhttp://test.com/products/?query=sub&sort=asc
检测缓存命中的附加策略可以被利用。这些策略可以单独使用或在任何组合中实现。当这些策略中的任何一个决定匹配时,可以确定缓存命中率。当查找引擎205确定所请求的数据不能从缓存285中送达时,因为任何原因,可能会显示一个缓存未命中。例如,当全部查找策略不能确定高速缓存条目时,可确定缓存为被识别的高速缓存。
当匹配的缓存条目存在,但被确定为无效或不相关的当前请求,高速缓存也可以被确定。例如,查找引擎205可以进一步分析元数据(例如,它可能包括与匹配的高速缓存条目相关联的高速缓存条目的时间数据),以确定它是否仍然适合用于响应当前的请求。
当查找引擎205已确定缓存命中(例如,表示所请求的数据可以从缓存中送达),在匹配的高速缓存中存储的响应可以从缓存服务来满足应用程序/客户端的请求。
通过使用缓存285、网络带宽和其他资源来服务请求,不应该用于请求/接收来自于已在移动设备250上接收到的轮询响应。这样的服务和实现的应用程序(例如,移动应用程序)在本地缓存285上请求本地缓存中的缓存条目允许更有效的资源和移动网络流量的利用和管理是因为请求不需要发送到无线网络的进一步消耗带宽,在一般情况下,缓存285可以维持移动设备250电源开启/关闭之间,并在应用/客户端之间保持刷新和重新启动。
例如,本地代理275,收到来自其移动设备250或移动设备250上的应用程序或其他类型客户的输出请求,可以拦截请求并确定是否在移动设备250上本地缓存285中允许缓存响应。如果允许,在移动设备缓存中通过本地代理275使用缓存响应来响应输出请求。因此,发出的请求可以被满足,而不需要通过无线网络发送请求,从而节省网络资源和电池消耗。
在一个实施例中,该响应请求的应用程序或设备250上的客户端时内容服务器对应的方式回应持久连接的输出请求(例如,在持续的连接,或长期持有的HTTP连接,长轮询式连接,所建立了无拦截本地代理)。响应时间可以通过由本地代理275效仿和模拟,来保存应用程序的行为和最终用户体验不受影响,或者在本地缓存285的存储目录中的内容比从内容源新收到的内容的影响要小(例如,内容主机/应用服务器110的图1A-B)。可能会被忽视的用户或处理类似的应用程序的重复时间可以精确地估计在一个公差参数,从而不会导致出现操作问题。
例如,输出请求可以是一个持续的连接为内容服务器的请求(例如,应用程序服务器/内容提供商的图1A-1B实例)。在与一个内容源(服务器)持久连接(例如,长轮询,彗星式推或异步HTTP请求,其他推动异步HTTP请求的模拟,长期持有的HTTP请求,HTTP流媒体,或其他)中,在请求发送后,该连接将保持一段时间。在移动设备和服务器之间的连接通常持续到内容被允许从服务器发送到移动设备。因此,当一个长轮询请求发送和接收来自内容源的响应时,通常会有一些延迟时间。如果该内容源不提供某些时间的响应,则该连接也可能由于网络原因未发送响应而终止(例如,套接字关闭)。
因此,模拟响应从内容服务器发送持续连接(例如,长轮询方式连接),对内容服务器响应的方式可以被模拟通过允许时间间隔消失在响应缓存响应的输出请求之前。时间间隔的长度可以通过请求的请求或应用程序的应用程序(客户端的客户端)确定。
在一个实施例中,根据在移动设备上的应用程序的请求特征(例如,时间特性)来确定时间间隔,该应用程序来自原始输出请求。例如,查询请求的时间间隔(例如,它可以被追踪,检测,并通过轮询间隔探测器238的长轮询探测器238A确定)可以用来确定时间间隔,在响应本地缓存条目的请求和由响应调度器249A管理之前等待。
缓存策略管理器245的一个实施例包括一个轮询调度生成器247,它可以为移动设备250上的一个或多个应用程序生成轮询调度程序。移动设备250上的一个物理上不同的分开的实体可以利用轮询调度指定轮询间隔,来监视移动设备上一个或多个应用程序的内容源(例如,缓存的响应可以定期轮询主服务器验证(主机服务器110或310)请求是被管理控制的),举一个例子,代理服务器(例如,代理服务器125或325在图1B和图3B-C实例)就是可以在移动设备250上的监控内容源的这样一个外部实体。
如根据移动设备的轮询请求向内容来源之间的间隔,可以确定投票时间表(例如,包括投票率/频率)。在移动设备250(由本地代理)可以确定轮询时间或速率。在一个实施例中,该应用行为检测器236中的轮询间隔检测器238可以监视来自移动设备250的内容来源的轮询请求,以确定从任何或所有应用程序(例如,移动应用程序)之间的轮询请求之间的间隔。
举例来说,轮询间隔探测器238可以在设备250上为应用程序或客户端追踪请求和响应。在一个实施例中,连续请求被追踪之前从移动设备250上的应用程序(例如,移动应用程序)开始检测输出请求,通过相同的移动客户端或应用程序(例如,移动应用程序)。可以使用从响应缓存请求中收集的请求信息来确定轮询速率。在一个实施例中,该速率是由相同客户端生成的请求产生的优先请求之间的平均时间间隔来确定的。例如,第一个间隔可以在当前请求和先前请求之间计算,第二个间隔可以在两个先前请求之间计算。轮询速率可以由第一个间隔和第二个间隔的平均值被设置,并在设置缓存策略时发送到代理服务器。
交替间隔可计算产生平均数;例如,除了两个以前的请求外多个先前的请求都可以使用,两个个以上的时间间隔可用于计算平均。在一般情况下,计算时间间隔,一个给定的请求不必导致在响应于接收来自主机服务器/内容源,以便使用它的时间间隔计算。也就是说,只要该请求被检测到,即使发送请求失败,或者响应检索失败,使用给定请求的时间特性都可以用来计算时间间隔。
轮询进度生成器247的一个实施例,包括一个进度更新引擎247A和/或时间调整引擎247B。进度更新引擎247A可以确定需要的更新速率或轮询间隔使用给定的应用程序服务器/内容主机从预先设定的值,根据检测到的间隔变化从设备250上的客户端或应用程序生成的实际请求(例如,移动应用程序)。
举例来说,请求的监测速率由应用程序或不同请求间隔的客户端发送被确定(例如,移动应用程序)。进度更新引擎247A可以确定实际请求的更新轮询间隔和生成新的速率,不同于先前设定的速率轮询主机在移动设备的250上的代表。在蜂窝网络中,更新轮询速率可以传送到远程代理服务器(代理服务器325),用于远程代理来监视给定的主机。在某些情况下,更新轮询速率可以在远程代理或监测主机的远程实体上确定。
在一个实施例中,时间调整引擎247B可以进一步优化轮询进度生成以监控应用服务器/内容源(110或310)。例如,时间调整引擎247B可以任意指定一个时间开始轮询对代理服务器。例如,除了设置代理服务器的轮询间隔以监测应用程序,服务器/内容主机还可以指定在移动客户端/应用程序生成的实际请求的时间。
然而,在某些情况下,由于固有传输延迟或增加的网络延迟或其他类型的延迟,远程代理服务器接收来自本地代理轮询设置的一些延时(例如,几分钟,几秒)。这种效应已经在源探测响应变化请求后产生的移动客户端/应用导致无效的缓存的响应发生后,它再次被送达申请后的反应不再是当前的或有效的。这种差异进一步在图21的数据时间图中解释说明。
为了解决这个在其无效之前再次服务于落后内容的并非最优的结果,时间调整引擎247b可以指定查询应该开始时间(t0),当通过移动的应用程序/客户端产生请求时,指定的初始时间t0可以被指定作为代理服务器325的时间,这个时间比实际时间要少。这种方式,所述服务器在机动客户端产生需求之前对资源稍作轮询,以至任何内容的变化都可以在真实的应用程序请求之前被检测到。
在一个实施例中,检测到来自于一个移动设备250的输出请求,来完成在来自于移动设备250上同样应用程序或者客户端的优先请求的时序特性基础上的稳固连接(例如一个长轮询)、COMET式推送和长期保留(HTTP)请求)。例如,请求和/或通讯响应可以通过轮询间隔检测器238的长轮询检测器238a的请求/响应追踪引擎238b追踪到。
连续请求的时序特性可以被终止以为应用程序或者客户端建立一个轮询调度。所述轮询调度可以用于监控内容源(内容源/应用程序服务器)的内容变化,这样,移动设备250中储存于本地高速缓冲存储器的存储的内容可以被恰当管理(例如更新的或者丢弃的)。在一个实施例中,所述时序特性可包括,例如响应延迟时间(‘D’)和/或停顿时间(‘IT’)。
在一个实施例中,请求/响应追踪引擎238b可以追踪到请求和响应来终止、计算和/或判断、应用程序或者客户端请求的时序图。
例如,请求/响应追踪引擎238b发现由所述移动设备上的客户端发出的第一个请求(请求0)和由所述移动设备上的所述客户端发出的第二个请求(请求1),第二个请求在所述移动设备接收到第一请求之后。
在一个实施例中,请求/响应追踪引擎238b可以追踪到请求和响应来终止、计算和/或判断、应用程序或者客户端请求的时序图。所述请求/响应追踪引擎238b可发现由所述移动设备上的客户端发出的第一个请求和由所述移动设备上的所述客户端发出的第二个请求,第二个请求在所述移动设备接收到第一请求之后。
所述请求/响应追踪引擎238b还进一步确定第一、第二请求之间的相对时间和接收到响应所述第一请求的响应。一般地,所述相对时间可以被长轮询检测器238a用来确定应用程序是否生成了长轮询请求。
请注意,所述请求/响应追踪引擎238b在计算相对时间所用到的第一和第二请求是在长轮询搜索周期稳定了之后或者长轮询搜索周期并没有出现。
在一个实施例中,长轮询搜索检测器238c可以通过识别增加的请求间隔(例如增加的延迟)来识别或者发现搜索模式,所述长轮询检测器238a还可以通过在没有响应的请求(例如连接超时)或者间隔的减少之前检测增加的请求间隔来发现搜索模式。另外,长轮询搜索检测器238c可以将一个滤值或者一个阈值应用到请求-响应时间延迟值(例如一个绝对值),在请求-响应时间延迟值上可以被考虑为一个长轮询请求-响应延迟。所述滤值可具有长轮询和/或网络条件(例如2s、5s、10s、15s、20s等)的任何适合值的特征。
所述响应延迟时间('D')是指在一个请求发出之后接收到响应的起始时间,所述停顿是指在所述响应被接收到之后发出之后的一个请求的是时间。在一个实施例中,基于所述响应推迟时间相关的('D')或者('D')的平均值(例如任何时间周期的任何平均值)与停顿时间('IT')的比较(例如通过追踪引擎238b完成的)的持续连接检测到输出请求,例如,通过长轮询检测器238a。用到的平均的数量可以是确定的、动态调整的或者在很长一段时间内是变化的。例如,如果请求推迟时间间隔大于停顿时间间隔(D>ITorD>>IT),客户端发起的请求被判定是长轮询请求。在一个实施例中,所述长轮询检测的所述追踪引擎238b计算、确定或者估算请求推迟时间间隔作为第一请求的时间和起始检测之间的已经过去的时间数量或者完全接收到响应的时间。
在一个实施例中,当在持续连接之后所述停顿时间(‘IT’)变短时,持续连接检测到输出请求,以响应长轮询请求或者长轮询HTTP请求,例如,还可以表现为检测在接收到前一个请求(例如IT~0)的响应之后请求的直接或者接近直接的发出。同样地,所述停顿时间(‘IT’)还可以用于检测这种直接的或者接近直接的再请求来是被长轮询请求。所述追踪引擎238b决定的相对的或者绝对的时间用于确定在第一个请求的响应被接收后是否第二个请求直接的或者接近直接的再请求。例如,如果D+RT+IT~D+RT,请求可能被分类为长轮询请求,IT的值比较小,以维持准确性。如果IT小于阈值,则可能被确定为小值。注意阈值可能是固定的或者通过一个限定的时间期限(一段、一天、一个月等)计算出来的或者通过一个更长的时间期限(几个月或者分析的全程)计算出来的。例如,对于每个请求,平均IT可以被确定,并利用这个平均IT来确定阈值(例如平均IT减去一个特定百分比可能得到阈值)。这可以允许阈值随着时间的推移自动适应网络环境,并改变其服务器性能、可用资源或者服务器响应。一个固定的阈值可用呈现任何值包括例子里的但不局限于此(例如1s、2s、3s、….等)。
在一个是实施例中,长轮询检测器238a可以比较另外应用程序的相对时间控制和请求-响应时间控制特性,来确定应用程序的请求是否是长轮询请求。例如,如果响应延迟间隔时间(‘D’)或者平均响应延迟间隔时间(例如一个请求的平均值或者时间总数的推迟间隔时间的任何平均值)比阈值要大,一个客户端或者应用程序发出的请求可用确定为长轮询请求。
所述阈值可以通过其它客户端的发出的请求的响应推迟间隔时间来确定,例如,通过请求/响应追踪引擎238b或者通过应用配置文件生成器239(例如响应推迟间隔时间追踪器239a)。其它客户端可能属于相同的移动设备,其阈值通过移动设备的组件来在本地确定。这个阈值可以在所有网络的所有资源服务器的所有请求来确定,例如,这个阈值可以被设定为一个特定的常量(例如30秒),用于所有请求或者没有一个可适用的阈值(例如如果D大于30秒,检测到长轮询)的任何请求。
在某些实施例中,其它的客户端属于不同的移动设备,并且阈值可用通过一个代理服务器(例如图3A-B中所显示的主机300的代理服务器325)来确定,这个代理服务器是所述移动设备外部的并且能够通过无线网络与多台不同的移动设备相通讯,参照图3B将做进一步描述。
在一个实施例中,高速缓存策略管理器245将轮询调度发送给代理服务器(例如图1B和图3A例子里的代理服务器125或者325),可用于代理服务器监控内容源,例如,改变的或者新的内容(更新与请求或者应用程序相关联的高速缓冲存储器存储的响应不同的响应)。发送给代理服务器的轮询调度科包括多种时序参数,时序参数包含有但不限制于间隔(从请求1到请求2的时间)或者间隔外的时间(等待响应的是时间,例如所用到的长轮询)。时序间隔‘RI’、‘D’、‘RT’和/或‘IT’或者上述数值的一些统计学处理(例如平均值、标准偏差等)将全部或者部分送至所述代理服务器。
例如,当本地代理服务器275发现一个长轮询的情况下,请求/响应时间顺序的各种不同时序间隔(例如‘D’、RT’和/或‘IT’)被通过使用轮询内容源(例如应用程序服务器/内容主机110)送至代理服务器325。本地代理服务器275可以看做是代理服务器325,被监控的给出的应用程序或者请求是一个长轮询请求(例如指示所述代理服务器设置一个“长轮询标志”)。另外,当代表移动设备发送持续连接迹象时,所述代理服务器利用各种时序间隔来确定。
当检测到来自于发出的请求的应用程序服务器/内容源的新的或者变化的数据(例如,更新的响应),高速缓存策略管理器245的本地缓存无效验证器244可以使本地高速缓存存储器里的缓存组件无效。基于接收到来自于代理服务器(例如代理服务器325或者主机服务器300)的通知的输出请求,缓存响应可以被确定为无效的。给移动客户端的请求提供响应的来源可以被监控到,来确定储存于移动设备250的储存器里的用于请求的存储响应的相关性。例如,当所述储存响应对发出的请求或者发出的应用程序不再有效时,本地缓存无效验证器244可以进一步移动/删除来自于移动设备的储存器的所述储存响应。
在一个实施例中,所述缓存响应在再一次被提供给一个生成输出请求的应用程序,并确定所述缓存响应不再有效之后,从缓存器中移除。所述缓存响应可以在没有等待时间间隔或者有等待时间间隔后被再次提供(例如模拟长轮询里的响应推迟的特定的时间间隔)。在一个实施例中,所述时间间隔是指响应推迟‘D’或者两个或更多响应推迟‘D’的平均值。
新的或者变化的数据可以,例如,被代理服务器(例如图1B和图3A例子里的代理服务器125或者325)所检测到。当一个提供给发送出的请求/轮询的缓存入口被无效,用于移动设备250的无线可以启用来满足随后的轮询请求,参考图4B中的相互作用图表作进一步描述。
高速缓存策略管理器245的一个实施例包括一个缓冲器或者一个连接选择引擎249,能够通过一个应用程序或者窗口小部件来决定是否用本地缓存入口来满足移动设备250的轮询/内容请求。例如,本地代理服务器275或者高速缓存策略管理器245可以拦截移动设备上的应用程序(例如,移动应用程序)发出的轮询请求,来联系应用程序服务器/内容提供商。选择引擎249可确定拦截的请求接收到的内容是否作为缓存组件被储存,以决定移动设备的无线是否需要激活来满足应用程序(例如,移动应用程序)发出的请求,还确定缓存响应是否对输出请求之后的输出请求响应仍然有效。
在一个实施例中,所述本地代理服务器275,响应确定相关缓存内容的存在并且仍然有效,可以从本地缓存器中重新恢复缓存组件,在移动设备的无线没有被激活提供应用程序(例如,移动应用程序)发出的请求时,为应用程序(例如,移动应用程序)发出的轮询请求提供响应。一般地,本地代理服务器275为接收到的任何时候的输出请求持续提供缓存响应直到检测到不同于缓存响应的更新的响应。
当确定了缓存响应不再有效,给出的请求的一个新的请求通过无线网络传送更新的响应。这个请求可以被传送至应用程序服务器/内容提供商(例如服务器/主机110)或者主机服务器(例如主机300上的代理服务器325)上的代理服务器,为了新的或者更新的响应。在一个实施例中,如果在时间间隔内新的响应没有被接收到,移动设备上缓存器的缓存响应被移除之前,所述缓存响应可以作为输出请求的响应被再次提供。
图2C描述了应用程序行为检测器236中组件的另一个例子的说明和图2A中所示的分布式代理系统客户端的本地代理服务器275中的缓存策略管理器245。图示的应用程序行为检测器236和缓存策略管理器245,例如,能够使本地代理服务器275检测到缓存失败,并通过用于解决失败缓存的标识来处理内容的缓存。
在一个实施例中,缓存策略管理器245包括一个缓存失败解决引擎221、一个标识符成型器211、一个缓存适当决策引擎246、一个轮询调度发生器247、一个应用程序协议模块248、具有一个缓存查询模块229的缓存或者连接选择引擎249和/或一个本地缓存失效器244。所述缓存失败解决引擎221进一步包括一种模式提取模块222和/或缓存失败参数检测器223。所述缓存失败参数检测器223进一步包括一个随机参数检测器224和/或一个时间/日期参数检测器226。一个实施例中进一步包括耦合至所述决策引擎246的应用程序缓存策略储存库243。
在一个实施例中,所述应用程序行为检测器236包括一个模式检测器237、一个轮询间隔检测器238、应用程序配置文件生成器239和/或一个优先级引擎241。所述模式检测器237进一步包括一个缓存失败参数检测器223,还具有一个随意参数检测器233和/或一个时间/日期参数检测器234。一个实施例中,进一步包括一个偶联所述应用程序配置文件生成器239的应用程序策略储存库242。所述应用程序配置文件生成器239和所述优先级引擎241已经在图2A中与所述应用程序行为检测器236的相联系的描述了。
所述缓存失败解决引擎221可检测、识别、追踪、管理和/或监控内容或内容源(例如服务器或主机),采用标识符和/或被标识符(例如如URLs和/或URIs的资源识别器)用一个或多个失败缓存或者解决失败缓存的处理的机制。所述缓存失败解决引擎221可以,例如,检测来自于应用程序或者客户端生成的给出的数据请求,标识符失败或者可能失败缓存,否则所述数据请求处理内容或者来于主机或者服务器(例如应用程序服务器/内容主机110或者310)的响应是可以缓存的。
在一个实施例中,所述缓存失败解决引擎221采用移动设备250检测到的数据请求的标识符检测或者识别内容源(例如应用程序服务器/内容主机110或者310)使用的缓存失败机制。所述缓存失败解决引擎221可检测或者识别标识符中可显示缓存失败机制的参数。例如,参数的格式、排列或者模式可以用于鉴定缓存失败(例如模式提取模块222检测或提取的模式、格式或排列)。
所述模式提取模块222可分析进入多个参数或者组件中的标识符,并执行每个参数相匹配的算法来识别任何一个或多个预先确定的格式(例如日期和/时间格式,如图7中所举例的参数702)。例如,从标识符得到的相匹配的或者被解析出的参数可以用来(例如通过缓存失败参数检测器223)识别缓存失败参数,这里含有一个或者多个变化参数。
所述缓存失败参数检测器223,在一个实施例中,可检测随意参数(例如通过随意参数检测器224)和/或时间和/或日期参数,这些代表性地用于缓存失败。所述缓存失败参数检测器223可采用普通使用的格式检测随意参数(例如图7中所描述的参数752)和/或时间/日期,并执行模式匹配和测试。
除了检测模式、格式、和/或排列,所述缓存失败参数检测器还能进一步确定或证实一个给定的参数是否缓存失败和编址内容能否被分布式缓存系统缓存下来。所述缓存失败参数检测器可以通过分析收到的被给定数据请求利用的标识符响应来检测它。总之,一个标识符中变化参数是确定当对应于多数据请求的响应相同的时候指示缓存失败,即使当每个利用变化数据标识符的多数据请求不同的时候。
例如,至少需要两个相同的响应来确定指示缓存失败的变化参数。在某些情况下,可能需要至少三个相同的响应。需要相同响应的数量要求来确定给定请求之间的不同参数值缓存失败可能是特定应用程序的、上下文依赖的、和/或用户依赖的/用户指定的,或者是以上内容的组合。这样的需求也可能是通过分布式缓存系统静态或动态调整的,以满足特定的性能阈值和/或关于用户体验的显式/隐式体验。(例如,用户或应用程序是否收到响应请求的相关/新鲜内容)。可能需要更多相同的响应来确认缓存失败,或者系统将一个给定的参数用于缓存失败是否应用程序由于响应缓存而开始出现故障和/或是否用户表示不满(显式用户反馈)或系统检测到用户的失望(隐式用户提示)。
缓存适当决策引擎246能够检测、评估或决定内容来源(例如,图1B中的应用程序服务器/内容提供商110)的内容是否与移动设备交互,是否有适于缓存的内容。在某些情况下,基于一组标准(例如,内容源中被请求的标准指定时间临界的内容),来自于给定应用程序服务器/内容提供商的内容(例如图1B中的服务器/提供商)决定适于缓存。在一个实施例中,所述本地代理(例如,图1B和图2A中的本地代理175或275)申请一个选择标准来储存主服务器内容,该内容为应用程序请求的作为移动设备上本地缓存的已缓存组件,以此来满足应用程序的后续请求。
述选择标准也可以包括,举例来说(但不作为限制),移动设备的状态指示移动设备是否活跃或不活跃,网络状况,和/或广播覆盖统计。缓存适当决策引擎能够以任意一个标准或任意组合,以任一顺序,识别适于缓存的来源。
一旦应用程序服务器/内容提供商识别或检测到移动设备250上潜在适于本地缓存的内容,所述缓存策略管理器245可以通过储存来自于作为移动设备250上本地储存的缓存组件的内容来源的内容来缓存来自于已识别来源的相关内容。所述内容来源也可以被与移动设备远程无线连接的代理服务器(例如,图1B和图3A例子中显示的代理服务器125或325)识别,这样所述代理服务器能够监控所述内容来源(例如,应用程序服务器/内容提供商)新的或改变了的数据。同样的,代理服务器可以识别本地代理(例如,图1B和图2A分别显示的本地代理175或275),这样来自特定应用程序服务器/内容提供商的内容被储存为本地缓存中的已缓存组件。
在一个实施例中,缓存组件被储存在本地缓存中与一个标准化版本的标识符相联系,标识符使用一个或多个参数用于缓存失败。标识符可以通过标识符标准化模块来标准化,标准化过程可以包括一个或多个例子:将URI调度和宿主转变成小写,将百分比编码的转义字符大写,删除缺省端口,及删除重复的斜杠。
在另一实施例中,所述标识符可以通过删除缓存失败的参数和/或用一个静态值代替,该静态值可以用于处理或与一个响应通过标准化器211或缓存失败参数处理程序212来利用标识符的请求的已缓存响应相联系。例如,本地缓存285(图2A显示)中储存的已缓存组件可以通过使用标准化版本的标识符或一个散列值的标准化版本标识符来识别。一个标识符或所述标准化标识符的散列值可以由杂凑引擎213(hashengine)产生。
一旦内容在本地被缓存,所述缓存策略管理器245能够接收进一步轮询请求来联系内容服务器,检索本地缓存中的缓存组件以响应移动设备250的轮询请求,这样,无线移动设备不用激活来服务轮询请求。这样的服务和满足应用程序(例如,移动应用程序)通过本地缓存目录请求,网络带宽和其他资源不需要用于请求/接收轮询反应,因此允许了更有效的资源和移动网络流量利用率和管理,这可能并未改变接收自移动设备250的响应。
缓存策略管理器245的一个实施例包括一个轮询调度发生器247,能为一个或多个移动设备250内的应用程序产生轮询调度。轮询调度能够制定一个供代理服务器(例如,图1B和图3A例子中显示的代理服务器125或325)使用的轮询间隔来监视一个或多个应用程序的内容来源。所述轮询调度可以被确认,例如,根据移动设备内容来源的轮询请求时间的间隔。在一个实施例中,应用程序行为检测器上的轮询间隔检测器可以监视针对移动设备250中内容来源的轮询请求,以便确定任意或所有应用程序(例如,移动应用程序)的轮询请求之间的间隔。
在一个实施例中,所述缓存策略控制器245发送轮询调度至代理服务器(例如,图1B和图3A例子中显示的代理服务器125或325)且能被代理服务器用于监视内容来源,例如,对于改变或新的内容。当检测到应用程序服务器/内容来源对于一个给定的请求有新的或改变的数据时,缓存策略控制器245上的本地缓存无效验证器244能使本地缓存(例如,缓存185或285)中的缓存组件无效。新的或更改的数据能被代理服务器检测到。当一个给定请求/轮询的缓存项被无效和/或无效后被删除(例如,从缓存中删除)时,移动设备250上的无线电被用于(例如,通过本地代理或缓存策略控制器245)满足后续的轮询请求,进一步的描述参照图4B的交互图。
在另一实施例中,所述代理服务器(例如,图1B和图3A例子中显示的代理服务器125或325)一个改进的在数据请求中使用的资源标识符版本来监视给定内容来源(图1A和图1B显示的用于处理数据请求的应用程序服务器/内容宿主110)的新的或改变的数据。例如,在实例中内容来源或标识符被检测到使用缓存失败机制,一个改进的(例如,标准化的)标识符能够用于轮询内容来源。改进或标准化版本的标识符能够通过缓存策略控制器245,或者更具体地说是标识符标准化器211上的缓存失败参数处理器212与代理服务器联系。
代理服务器使用的用于轮询代表移动设备/应用程序的内容来源的改进后的标识符可能或可能不与标准化的标识符相同。例如,标准化的标识符可能是删除了改变缓存失败参数的原始标识符,然而改进的标识符使用一个替代参数来代替用于缓存失败的参数(例如,改变参数被一个静态值代替或其他已知的本地代理和/或代理服务器的预定值)。更改后参数可以由本地代理275确认并与代理服务器相连。更改后参数也可能是由代理服务器产生的(例如,图3C例子中显示的标识符修改模块353)。
缓存策略管理器245的一个实施例包括一个缓存或内容选择引擎249,可以决定是否使用一个本地缓存条目来满足一个通过应用程序或小程序在移动设备250上产生的轮询/内容请求。例如,本地代理275或缓存策略管理器245能够拦截一个移动设备上应用程序产生的轮询请求,与应用程序服务器/内容提供商商联系。所述选择引擎249可以确认收到的关于拦截请求的内容是否被当做缓存组件储存在当地,决定是否一个无线电的移动设备需要被激活以满足应用程序的请求(例如,移动应用程序)。在一个实施例中,本地代理275为了确定相关缓存内容的存在且任然是有效的,可以检索本地缓存的缓存组件来响应应用程序(例如,移动应用程序),所述应用程序产生了该轮询请求,这样,移动设备的无线电不用激活来为应用程序提供响应(例如,移动应用程序)。
在一个实施例中,储存于本地缓存器285(图2A所示)中的所述缓存组件可用标志符的标准版本或者标志符的标准版本的杂凑值(hashvalue)来识别,例如,采用缓存查询模块229。缓存组件可与标准化的标识符一起储存,标准化的标识符具有移除或者取代的缓存失败参数,这样,相关的缓存组件在未来可被识别并恢复,采用缓存失败相同的类型来满足其它请求。例如,当用于随后请求中的标识符确定被用于相同的缓存失败参数,该标识符的标准化版本会产生,并用于识别储存于移动设备缓存器中的缓存响应,来满足数据请求。标识符的杂凑值或者标准化的标识符可能通过标识符标准化器211的杂凑引擎213生成。
图2D描述了图示说明了本地代理275中附加组件的块图,图2A中所示的例子进一步执行移动流量范畴化理论和基于应用程序行为和/或用户行为的政策的实现。
本地代理275的一个实施方式中,用户活动模块215,进一步包括一个或更多的用户活动检测器/追踪器215a、用户活动预测引擎215b和/或用户预期管理器215c。应用程序行为检测器236还可以包括优先级处理引擎241A、时间关键性检测引擎241B、应用程序状态分类器241C和/或应用程序流量分类器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和/或结合使用活动追踪器215a和/或预测引擎215b),以确保流量被适当归类,从而大致满足用户预期。例如,用户启动操作应被分析(例如通过预期管理器215c)以确定或推断用户是否将等待响应。如果是这样,这种流量应按能够使用户在接收这种响应或操作时不会经历令人不愉快延迟的策略来处理。
在一个实施例中,选择新一代的无线标准网络,以供基于流量源自或被导向至的移动设备上应用程序的活动状态在无线网络中在移动设备和主机服务器之间发送流量。可以选择3G、3.5G、3G+、4G或LTE网络等高级技术标准,用于处理用户交互、用户活动所产生的流量,或含有用户预期或等待数据的流量。对于响应前台活动的移动设备,也可选择高级无线标准网络用于传输包含在移动设备流量中的数据。
在分类流量和确定移动通信传输策略时,可以选择网络配置在(例如通过网络配置选择引擎251)移动设备250上使用,用于在移动设备和代理服务器(325)和/或应用程序服务器(例如应用程序服务器/主机110)之间发送流量。所选择的网络配置可以基于由应用程序行为模块236收集的应用程序活动状态(例如后台或前台的流量)、应用程序流量类别(例如交互或维护流量)、数据/内容的任何优先级、时间灵敏度/关键性方面的信息确定。
所述网络配置选择引擎251可选择或者指定一个或多个生成标准(例如通过无线生成标准选择器251a)、一个数据比率(例如通过数据比率区分符251b)、一个访问通道(例如访问通道选择引擎251c)和/或一个任何结合的访问点(例如通过访问点选择器251d)。
例如,可选择或者指定更先进的一代(例如3G、LTE或者4G或更后)用于流量,当活跃状态与使用者互相影响或者在移动设备最显著的位置。相反,一种较旧的标准(例如2G、2.5G或者3G或者更老的)可指定用于流量,当检测到一种或多种情况,应用程序与使用者之间没有相互影响,应用程序位于移动设备的背景位置,或者流量中包含的数据不是时间关键的或者另外确定具有较低优先级。
同样地,一个具有较慢数据速率的网络配置可被指定用于流量,当检测到一种或多种情况,应用程序与使用者之间没有相互影响,应用程序位于移动设备的背景位置,或者流量中包含的数据不是时间关键的。所述访问通道(例如提出接入信道或者专用信道)可被指定。
图2E描述了流量整形引擎255中的附加组件例子的块图,图2A中显示的是应用程序行为检测器236,其能够易于对准引入来的数据转移至一个移动的或者宽频设备或者它们的使用者,来优化通过无线网络或者宽频网络接收到的数据所需要建立的连接数量。
在本地代理服务器275的一个实施例中,所述流量整形引擎255,除了所述对准模块256、定量模块257之外,还包括一个轮询间隔调整器258。所述轮询间隔调整器258可包括一个因素或者分母检测引擎258a、一个关键应用程序检测器258b、一个关键间隔标识符258c和/或一个轮询间隔设置引擎258d。进一步在一个实施例中,所述本地代理服务器275的应用程序行为检测器236进一步包括一个轮询间隔检测器238。
在不同的服务器或者主机穿越至所述移动设备250的数据爆发的促进校准中,所述本地代理服务器275可最初确定、检测、识别、计算、推断、提取原始的或者默认的所述移动设备250(例如通过所述轮询间隔检测器238)的应用程序或者移动客户端的轮询间隔。原始的或者默认的轮询间隔是移动应用程序本身和/或其主机(例如图1A-1B所示的通信应用程序服务器/内容主机110)代表性的特性。所述轮询间隔检测器238可检测到任何数量或者所有移动应用程序的原始的或者默认的轮询间隔,定期的轮询其应用程序服务器或主机,为了用于代理服务器275生成或者调整轮询间隔以适用于基于安装了应用程序和它们各自轮询的时间特性的设备250。
例如,设备250的应用程序或者移动客户端的轮询时间间隔(原始的或默认的)可以通过轮询间隔调整器258使用。一般来说,第一个服务的轮询间隔调整生成基于第二个服务的轮询间隔,这可能是由不同的主机从第一个服务提供服务(如,Twitter=服务1;ESPN.com=服务2)。调整后的轮询间隔计算第一和/或第二个服务,可用于调整至少一些从归于访问第一和第二服务的移动设备的不同的主机接收到的流量。
例如,在一个实施例中,第一个服务调整的轮询间隔可以是一个因素或标准,以至第一个服务的最初的轮询间隔与第二个服务的最初的轮询间隔一样(例如,由因素或分母检测引擎258a决定的),并且可以进一步确定基于第一个服务的最初的轮询间隔。注意当第一个服务最初的轮询间隔和第二个服务的轮询间隔是彼此的影响因素或者标准时,第一个服务的调整的轮询间隔不需要不同于第一个服务最初的轮询间隔。
在一个实施例中,所述检测引擎258a能够进一步确定一个因素的多样性或第二个服务的轮询间隔,第一个服务调整后的轮询间隔是多个因素或多个第二个服务轮询间隔的标准。此外,所述引擎258a可确定移动设备250上多个应用程序的多个普通因素或多数默认轮询间隔。
此外,第一个服务的调整后的轮询间隔可以进一步确定、调整或重新配置(例如,通过轮询间隔设置引擎258d),基于从第一个服务通信量的时间临界到第二个服务通信量的时间临界,或移动设备250上额外的服务器。例如,关键应用程序检测器258b可以识别、检测或接收输入识别或指定移动设备250上一个或多个的应用程序是比其它的更重要(例如,更高优先级的、时间敏感的内容/通信量、用户首选应用程序、操作系统支持的应用程序、运营赞助商内容等等),并进一步根据需要调整第一和/或第二服务的轮询间隔。
例如,关键的应用程序检测器258b可以识别关键的应用程序作为移动设备上所有应用程序最关键的时间,或突发的数据的一组应用程序正在或企图应用。为了关键应用程序(s),关键应用程序的轮询间隔被确定为一个最小的关键间隔(例如,通过关键间隔标识符258c),不被赋予给一个更新的关键应用程序的轮询间隔的值所超过,这样,数据的优先级需要(例如,无论是用户需要、装置需要或应用程序需要)应用程序服务器或内容主机的数据的准时性和及时性。
高优先级信息/数据或应用程序可以包括,例如,财务数据、体育数据或其他实际上不断变化的数据、其先前的值没有任何数据相关性的任何数据,任何数据(例如,订阅或提供的)用户希望立即实时或接近实时的报告,任何特定特征通过应用程序服务器/内容主机(例如,实时更新状态、或实时通知、优先邮件或其他信息、及时通信消息等等)或者任何类型的高优先级/时间敏感内容的应用程序服务表明作为一个实时或接近实时的特性。
一旦在移动设备250上已经设有一个或多个应用程序的轮询间隔,本地代理服务器275通信的轮询调度包括代理服务器(例如,图3A-3E的远程代理325)的调整的轮询间隔,用于及时调整至少一些从不同的归于第一和第二服务的移动设备上的访问的通信和其它额外的服务。
在一个实施例中,轮询间隔设置引擎258d也可以选择一个共同的起始时间点作为多个应用程序的内容主机服务轮询间隔设置的初始调查。轮询间隔设置引擎258d可以设置开始时间被锚定到设备250上的多个应用程序中相同的绝对时间点。一般来说,应用程序服务器/内容主机通常是UTC和使用NTP来保持在同一时间。例如,间隔设置引擎258d可以任意选择分钟、秒、小时或其他时间指标,将其传给远程代理服务器(例如,代理服务器325)作为调整轮询的一部分参数。所有应用程序使用的时间指标可以随机选择作为共同的“初始时间t0。”
注意,虽然上面使用两个应用程序的例子的描述可以为移动设备250中任意或所有的应用程序执行相同的过程。在某些情况下,部分或全部的功能由一个或多个组件的轮询间隔调整器258可以远程执行,例如,在一个偏远的代理服务器(例如,代理服务器325)上使用调查间隔可以检测到本地移动设备250(例如,通过轮询间隔检测器238)。请注意,远程代理(例如,代理服务器325)可以接收跨多个设备的应用程序的调查时间间隔和跟踪多个设备的应用程序的调整时间间隔,将通过图3E的例子进行进一步描述。
图3A描述了一框图,该框图示出了位于主机服务器300的分布式代理和缓存系统中的服务器端组件的示例,所述主机服务器300为了节约资源,管理无线网络流量。所述服务器端代理(或代理服务器325)能进一步基于应用程序行为、内容优先次序、用户活动、和/或用户期望。
所述主机服务器300通常包括,例如,网络接口308、储存库(repositories)312,314,316。注意所述服务器300可以是任何便携/移动或非便携设备、服务器、计算机集群和/或其他类型处理单元(例如,在图11示例中示出的任意量的机器),能够接收或传输信号,以满足通过包括任意有线或无线网络的数据请求(例如,WiFi,蜂窝,蓝牙等)
所述网络接口308可包括网络模块或设备,该网络模块或设备能够与在所述主机服务器300外部的实体在网络中调停数据,通过任何已知的和/或便捷的由所述主机和所述外部实体支持的通信协议。特别地,所述网络接口308允许所述服务器300与多种设备通信,该多种设备包括移动手机设备350和/或一个或多个应用程序服务器/内容提供商310。
所述主机服务器300能存储关于在连接元数据储存库312中的设备连接信息。另外,任何关于第三方应用程序或内容提供商的信息还能存储在所述储存库312中。所述主机服务器300能存储关于在设备信息储存库324中的设备信息(例如,硬件功能、性能、设备设置、设备语言、网络功能、制造商、设备模型、OS、OS版等)。另外,所述主机服务器300能存储关于在所述网络服务提供商储存库316中的网络提供商和多种网络服务区域的信息。
由网络接口308启动的通信,允许设备350间的同步连接(例如,包括蜂窝连接)和/或与内容服务器/提供商310的连接,以管理设备350和内容提供商310之间的流量,用于优化网络资源利用和/或节约所被服务设备350上的能源(电池)消耗。所述主机服务器300能与由不同网络设备提供商,和/或在相同/不同网络服务区域内服务的移动设备350通信。所述主机服务器300能操作,并与设备350相兼容,所述设备350具有不同类型或移动容量等级,包括通过此示例的方式但不限于1G,2G,2G迁移(2Gtransitional)(2.5G,2.75G),3G(IMT-2000),3G迁移(3.5G,3.75G,3.9G),4G(高级IMT),等。
通常,所述网络接口308可能包括一个或多个网络适配器卡、无线网卡(例如,SMS接口、WiFi接口、多种移动通信标准包括但不限于1G,2G,3G,3.5G,4G类型网络,如LTE,WiMAX等产生的接口)、蓝牙、WiFi或任何其他是否通过路由器、接入点、无线路由器、交换机、多层交换机、协议转换器、网关、网桥路由器、集线器、数字媒体接收器和/或中继器连接的网络。
所述主机服务器300能进一步包括分布式代理和缓存系统的服务器端组件,所述系统能包括代理服务器325和服务器缓存335。在一实施例中,所述代理服务器325能包括HTTP访问引擎345,缓存策略管理器355,代理控制器365,流量整形引擎375、新数据检测器347和/或连接管理器395。
所述HTTP访问引擎345可进一步包括心跳管理器398;所述代理控制器365可进一步包括数据无效验证器368;所述流量整形引擎375可进一步包括控制协议376和批处理模块377。额外或少部分组件/模块/引擎可包括在所述代理服务器325和每个所示组件中。
按照本发明所使用的情况,“模块”、“管理器”、“处理程序”、“检测器”、“接口”、“控制器”、“标准化器”、“发生器”、“无效验证器”或“引擎”都包括了一个通用、专有或共享的处理器以及通常来说由处理器执行的固件或软件模块。取决于特定实现或其他考虑,模块、管理器、处理程序、检测器、接口、控制器、标准化器、发生器、无效验证器或引擎都可以被集中或使其功能被分布。模块、管理器、处理程序、检测器、接口、控制器、标准化器、发生器、无效验证器或引擎可包括通用或专有硬件、固件或用于处理器执行的内嵌于计算机的可读(存储)介质的软件中。按照本发明所使用的情况,计算机可读介质或计算机可读存储介质旨在包括所有法定(例如在美国即根据35U.S.C.101)介质并明确排除所有性质为非法定的介质,其程度为该排除对包括计算机可读(存储)介质是有效的的权利要求是必要的。已知法定计算机可读介质包括硬件(例如仅举几例——寄存器、随机存取存储器(RAM)、非易失性(NV)存储器),但可以或可以不被限于硬件。
在向应用程序服务器或内容提供商310进行应用或内容请求的设备(例如移动设备350)示例中,所述请求可被截获并被路由至所述代理服务器325,所述代理服务器325可被耦合至所述设备350和所述应用程序服务器/内容提供商310。特别地,所述代理服务器能与移动设备350的本地代理(例如,分别在图1和图2中示例的代理175、275)通信,所述本地代理提出向所述代理服务器325的数据请求,在某些情况下用于进一步处理,并且如有必要,用于传输对数据请求的响应至所述应用程序服务器/内容服务器310。
在这个配置下,所述主机300,或在所述主机服务器300中的所述代理服务器325可利用由所述本地代理提供的智能信息,在优化网络和设备资源使用的方式下调节本地代理与设备通信。例如,所述代理服务器325能识别设备350上的用户活动特性,以修改通信频率。所述用户活动特性可由例如在代理控制器365中的活动/行为意识模块,通过由设备350上的本地代理收集的信息确定。
在一实施例中,通信频率可由代理服务器325的连接管理器395控制,例如,调整内容的推动频率或更新至所述设备350。例如,当用户活动特性显示所述用户不活跃,推动频率可被连接管理器395降低。在一实施例中,当用户活动特性显示用户在不活跃期后接着活跃时,所述连接管理器395能调整与设备350的通信频率,发送因通信频率降低而缓冲至所述设备350的数据。
另外,所述代理服务器325包括多种请求、事务、会话、应用和/或特殊事件的优选意识。该意识可由在设备350上的本地代理确定并提供给所述代理服务器325。代理服务器325的所述优先意识模块367通常能评估多个事件或应用的优先级(例如,包括时间紧迫性和时间敏感性等);另外,所述优先意识模块367能追踪由设备350的本地代理确定的优先级。
在某一实施例中,通过优先意识,所述连接管理器395可进一步修改服务器300与设备350的通信频率(例如,如无线控制器396控制的使用或无线频率)。例如,所述服务器300可通知设备350,因此如果并未准备使用无线电时,当符合标准的重要/优先级数据或更新值变得可被发送时,请求无线电使用。
在一实施例中,代理服务器325能检测事件(例如,事务、内容接收来自服务器/提供商310的数据)的多种发生并允许所述事件积累批量传输至设备350。批量传输可被积累,且事件传输可基于由模块367和/或366追踪的优选意识和/或用户活动/应用程序行为意识被延迟。例如,多个事件(较低优先级的时间)批量传输至设备350,当较高优选顺序(达到阈值或标准)的事件在服务器300处被检测到时,可由所述批量模块377启动。另外,当服务器接收自设备350的数据时,来自服务器300的批量传输被触发,表明所述设备无线电已准备使用且因此开启。在一实施例中,代理服务器325能在批量中排序每个信息/数据包,用于基于每个事件/事务优先级的传输,优先级是这样的:一旦连接丢失或电池枯竭等,较高优先内容可被首先发送。
在一实施例中,所述服务器300缓存数据(例如,如由所述缓存策略管理器管理的数据),这样通过网络(例如,蜂窝网络)与设备350的通信频率可被修改(例如,降低)。数据可被缓存,例如,在所述服务器缓存335中,用于之后读取或批量发送至设备,以可能减少开启设备350无线电的需要。所述服务器缓存335可部分或全部在主机服务器300内部,尽管图3A示例中在主机300的外部示出。在某些情况下,服务器缓存335可与另一个实体(例如,选择缓存代理服务器199在图1B示例中示出)管理的另一缓存的和/或集成部分或全部相同,诸如应用程序服务器/内容提供商310、网络服务提供商或另一第三方管理的缓存。
在一实施例中,内容缓存在主机服务器300的协助下在设备350本地处完成。例如,在主机服务器300中的代理服务器325能请求问询应用程序服务器/提供商310并监测响应变化。当变化或新响应被检测到时(例如,通过新数据检测器347),所述代理服务器325能通知移动设备350,在设备350上的本地代理能决定无效(例如,显示过时)相关存储如本地缓存内响应的缓存条目。另外,数据无效验证器模块368能自动指令设备350的本地代理去无效某缓存数据,基于接收来自应用程序服务器/提供商310的响应。所述缓存数据被标记为无效,并能在新内容从内容服务器310接收时替代或删除。
注意所述数据变化可被检测器347用一种或多种方法检测。例如,服务器/提供商310可一发生变化时通知主机服务器300。所述变化还可在主机服务器300响应源服务器/提供商310的直接轮询(directpoll)处检测到。在一些情况下,代理服务器325能额外在设备350上预载具有新的/更新的数据的本地缓存。这可在主机服务器300检测到移动设备上的无线电已准备使用或在服务器具有额外发送至设备350的内容/数据时被实现。
一个或多个上述机制可基于应用程序(例如,用于不同服务器/提供商310的不同策略)同步实施或调整/配置。在一些情况下,源提供商/服务器310可通知主机300事件类型(例如,事件满足优先阈值级)。另外,提供商/服务器310可被配置为在特定时间间隔下通知主机300,不管事件优先级。
在一实施例中,主机300的代理服务器325能监测/追踪响应,该响应被接收用于来自对改变结果优先于返回结果的内容源且发送至移动设备的数据请求;当内容源的数据请求具有返回给移动设备的相同结果时,该监测可能合适,因此防止网络/能源消耗在当没有新变化被特定请求时而被使用。设备350的本地代理能指令代理服务器325完成该监测或代理服务器325能自动触发的过程,当接收到对于特定请求的一定数量的相同响应(例如,或者许多在某一时期内的相同响应)时。
在一实施例中,服务器300,通过活动/行为意识模块366,能够在设备处识别或检测用户活动,该设备与移动设备350分离。例如,模块366可检测到用户信息收件箱(例如,邮件或收件箱类型)被访问。这显示用户与他/她的应用程序使用除所述移动设备350外的设备进行交互,并不需要频繁更新,如果发生的话。
所述服务器300,在该情况下,因此能降低频率,新的或更新的内容与所述频率被送至所述移动设备350,或评估所有通信,只要用户被检测到使用另一设备进行访问。该降频可能是特殊用途的(例如,用于用户在另一设备与之交互的应用程序),或它可能是一般性降频(例如,因为用户被检测到与一服务器或一应用程序通过另一设备进行交互,他/她还能使用其访问其他服务)至所述移动设备350。
在一实施例中,所述主机服务器300能够代表设备350轮询内容源310主,以节省设备350上的能量或电池消耗。例如,在移动设备350上的特定应用程序可以用可预测的重复方式轮询其相应的服务器310。此类重复或其他类型的应用程序行为可以通过代理控制器365的活动/行为模块366进行跟踪。因此主机服务器300可以针对移动设备350上的应用程序轮询内容源310,否则其将由设备350通过无线执行(例如包括蜂窝连接)。主机服务器可通过HTTP访问引擎345来建立HTTP连接的方式,或通过无线控制器396从蜂窝网络来连接到源310的方式,以轮询源310是否有新的或有变化的数据。当检测到新的或有变化的数据时,新数据检测器347可以通知设备450这样的数据对设备450可用,并且/或者将新的/有变化的数据提供给设备350。
在一实施例中,连接管理器395确定移动设备350是不可用的(例如无线被关闭),并且利用SMS将内容发送到设备350,例如通过图1B例子中的SMSC。SMS用于传输失效消息、失效消息的批次,或者,甚至在内容小到足以放入几条(通常为一或两条)SMS消息中的情况下也可传输内容。这避免了访问无线信道来发送附加信息的需要。主机服务器300可使用SMS进行优先级高于阈值或满足其他某种条件的特定事务或响应。服务器300还可以利用SMS作为带外触发器来维持或唤醒的IP连接,作为保持永远在线IP连接的替代。
在一实施例中,代理服务器325中的连接管理器395(例如心跳管理器398)可以代表所连接的设备350生成和/或传输心跳消息,以保持与提供商310的后台连接,用于在设备上350上运行应用。
例如,在分布式代理系统中,设备450上的本地缓存可以防止用于维持应用程序所需TCP/IP连接需要的任何或所有心跳消息被通过蜂窝或其他网络发送,而是依赖主机服务器300上的代理服务器325来生成和/或发送心跳消息来维持与后台的连接(例如图1A的例子中的应用服务器/提供商110)。代理服务器可以生成独立于移动设备上本地代理的操作的保活(心跳)消息。
储存库312、314和/或316可以另外存储软件、描述性数据、图像、系统信息、驱动程序和/或由主机服务器300和/或任何其他服务器的其它组件用于操作的任何其他数据项。储存库可以由一个数据库管理系统(DBMS)管理,例如其可以是但不限于Oracle、DB2、MicrosoftAccess、MicrosoftSQLServer、PostgreSQL、MySQL和FileMaker等。
这些库可以通过面向对象的技术和/或经由文本文件来实现,并且可以由分布式数据库管理系统、面向对象的数据库管理系统(OODBMS)(例如ConceptBase、FastDBMainMemoryDatabaseManagementSystem、JDOInstruments、ObjectDB等)、对象关系数据库管理系统(ORDBMS)(例如Informix、OpenLinkVirtuoso、VMDS等)、一个文件系统和/或任何其它方便的或已知的数据库管理包来管理。
图3B描述了一框图,所述框图示出了在图3A示例的缓存系统中的缓存策略管理器355内的组件的进一步示例,图3A能缓存且适应用于应用程序(例如移动应用程序)行为和/或网络条件的缓存条件。
所述缓存策略管理器355,在一实施例中,可进一步包括元数据生成器303、缓存检查引擎305、应用程序协议模块356、具有轮询调度管理器358的内容源监测引擎357、响应分析器361、和/或更新的或新的内容检测器359。在一实施例中,所述轮询调度管理器358进一步包括主机时序模拟器358a,长轮询请求检测器/管理器358b,调度更新引擎358c,和/或时间调整引擎358d。所述元数据生成器303和/或缓存检查引擎305能耦合至所述缓存335(或,服务器缓存)用于修正,或增加缓存条目或其查询。
在一实施例中,所述代理服务器(例如图1B和图3A示例的代理服务器125或325)可通过监测引擎357监测内容源新的或变化的数据。所述代理服务器,如图所示,是在图2A-B中移动设备250外部的实体。所述内容源(例如,图1B中应用程序服务器/内容提供商110)可以是一个被代理服务器所识别为具有本地缓存于移动设备(例如,移动设备150或250)上的内容的源。所述内容源可被监测,例如通过监测引擎357在一频率下监测,该频率是基于移动设备上内容源的轮询频率。所述轮询调度可由例如本地代理产生并发送至代理服务器。所述轮询频率可被轮询调度管理器358追踪和/或管理。
例如,所述代理服务器能代表移动设备轮询所述主机(例如,内容提供商/应用程序服务器)并通过主机时序模拟器358a模拟客户端至主机的轮询行为。轮询行为可被模拟包括在与主机(例如,通过长轮询请求检测器/管理器358b)持久连接的经验中长轮询请求响应时序的特性。注意一旦轮询间隔/行为被设置,在设备端的本地代理275和/或在服务器端的代理服务器325能验证应用程序服务器/内容主机服务器是否匹配或是否能由预测形式所表示。通常,本地代理和/或代理服务器能检测差异并在核实时,重估并计算、确定或评估另一轮询间隔。
在一实施例中,在分布式代理的服务器端的缓存策略管理器355,能与移动设备上的代理服务器275连接或独立于代理服务器,识别或检测长轮询请求。例如,所述缓存策略管理器355能确定阈值,该阈值被用于在请求-响应时序中比较响应延迟间隔时间(间隔时间“D”在图17A-B的示例性时序图中示出)用于应用程序请求,以识别或检测长轮询请求,可能长轮询请求(例如,客户端与主机通信的持久连接的请求,包括但不限于,长期保留的HTTP请求、使COMET形式推动的长久连接,HTTP流请求等),或另外可被认为长轮询请求的其他请求。
例如,阈值可被代理325使用移动设备处的客户端/应用程序产生的请求的响应延迟间隔次数而确定,所述移动设备科由多种不同蜂窝或无线网络服务。自位于所述主机300的代理325能够通过多种网络与多种移动设备通信起,缓存策略管理器355能在全球层访问应用程序/客户信息,该全球层可被用于设定阈值来分类并检测长轮询。
通过在不同或相同网络的设备的应用程序上追踪响应延迟间隔次数,所述缓存策略管理器355能设置一个或多个阈值,以用于比较长轮询检测的响应延迟间隔次数。由代理服务器设置的阈值325可以是静态的或动态的,并与条件和/或生存时间(在相对或绝对的过期时间/日期)相关联。
另外,代理325的缓存策略管理器355能进一步确定阈值,全部或部分,基于给定无线网络、由给定运营商(服务提供商)服务的网络、或多种无线网络的网络延迟。所述代理325还可确定用于长轮询请求识别的阈值,该长轮询基于一个或多个应用程序服务器/内容提供商(例如,110)的延迟,应用程序(例如移动应用程序)或移动客户端请求指向应用程序服务器/内容提供商。
代理服务器能在监测内容源处检测新的或变化的数据,并传输消息至移动设备通知该变化,该变化是移动设备(或在移动设备上的本地代理)能采取合适行动(例如,无效缓存本地缓存内的组件)。在一些情况下,代理服务器(例如,缓存策略管理器355)在一检测到新的或变化的数据,还能在缓存中存储新的变化的数据(例如,分别在图1B和图3A示例中的服务器缓存135或335)。存储在服务器缓存335中的新的/更新的数据,可在一些情况下被使用,以满足在移动设备处的内容请求;例如,它可在代理服务器已通知移动设备新的/变化的内容后被使用,且本地缓存的内容已被无效。
元数据生成器303,与图2B示例中所示的元数据生成器203相类似,能产生缓存请求于移动设备250处的元数据响应。元数据生成器303能产生存储在服务器缓存335内的缓存条目的元数据。类似地,缓存检查引擎305可包括相同或相似功能,这些功能被描述用于图2B示例中的缓存检查引擎。
响应分析器361可完成任何或所有与分析响应相关的功能,该响应接收用于在移动设备250处产生的请求,这与图2B示例中所示本地代理的响应分析器246d有相同或相似使用。因所述代理服务器325能够接收来自指向移动设备250的应用程序服务器/内容源310,所述代理服务器325(例如,响应分析器361)能完成相似响应分析步骤以确定缓存性,如本地代理的响应分析器所描述的。响应分析流程示例还被描述与图11-13示例中示出的流程图相关联。所述响应可被响应,除了或替代移动设备250的本地代理275处完成的分析。
进一步,所述调度更新引擎358c能更新给定应用程序服务器/内容主机的轮询间隔,该应用程序服务器/内容主机基于移动设备250处应用程序的应用程序请求间隔变化,如本地代理275中的调度更新引擎所描述的。时间调整引擎358d能设置初始时间,在应用程序服务器/内容主机轮询将要开始阻止内容再次过期服务,在如描述用于本地代理275内的调度更新引擎服务刷新内容之前。调度更新和时间调整算法均能与移动设备250的本地代理275处完成的相似过程相联系或替换。
图3C描述了一框图,所述框图示出了在图3A示例中示出的分布式代理系统的服务器端上的代理服务器375中的缓存策略管理器355内的组件的另一示例,图3A的示例能管理和检测失败机制并监测内容源的缓存。
所述缓存策略管理器355,在一实施例中,能进一步包括缓存失败源管理器352、具有轮询调度管理器358的内容源监测引擎357,以及/或更新的或新的内容检测器359。缓存失败源管理器352能进一步包括识别修改模块353和/或识别模式追踪模块354。
在一实施例中,代理服务器(例如图1B和图3A示例的代理服务器125或325)能通过监测引擎357监测内容源新的或变化的数据。所述内容源(例如,图1B中应用程序服务器/内容提供商110,或图3A中应用程序服务器/内容提供商310)可以是一个代理服务器(例如,本地代理)识别的如具有在移动设备(例如,移动设备150或250)上本地缓存的内容的源。内容源310可被检测,例如,通过监测引擎357,在一基于移动设备处内容源的轮询频率的频率下检测。所述轮询调度可被产生,例如,通过本地代理并发送至代理服务器325。轮询频率可被追踪和/或管理通过轮询调度管理器358。
在一实施例中,代理服务器325使用标准识别器或修改识别器轮询所述内容源310,以检测新的或变化的数据(响应)。标准识别器或修改识别器还可由代理服务器325在服务器缓存335上存储响应时使用。通常,标准识别器或修改识别器在缓存失败机制应用于可缓存内容时被使用。缓存失败机制可为如URI或URL识别器内的改变参数形式,并可包括改变时间/数据参数,随机变量或其他类型参数。
标准识别器或修改识别器去除或否则替代与随后请求相关的改变参数和相关响应的识别,并还可用于轮询所述内容源。在一实施例中,修改的识别器由代理服务器325(分布式代理系统的服务器端组件)上的缓存策略管理器355的缓存失败源管理器352(例如,识别器修改模块353)产生。修改的识别器能使用替代参数(在一段时间内通常为静态的)代替被用于失败缓存的变化参数。
所述缓存失败源管理器352选择性包括识别器模式追踪模块354,以追踪、存储并监测一个识别器或多个识别器的多种修改,处理一个或多个内容源(例如,应用程序服务器/内容主机110或310)的内容,以连续性验证由代理服务器325使用的所述修改识别器和/或标准识别器去轮询预测的或准备的内容源工作(例如,接收相同响应或另外仍相较于原始、未修改识别器的响应)。
在事件中,模式追踪模块354检测识别器的修改或标准化,该识别器引发内容源上的不稳定或不可预测行为(例如,可被发送的未预期响应),所述追踪模块354能记录所述修改并指引所述缓存失败源管理器352产生另一修改/标准化,或者通知本地代理(例如本地代理275)产生另一用于轮询内容源的修改/标准化。在另一替代或平行示例中,来移动设备(例如,移动设备250)上的给定移动应用程序/客户端的请求,可临时经网络发送至直接响应的内容源,以被提供给移动设备和/或直到工作产生识别器的修改。
在一实施例中,当新的或变化的数据被检测为已存储在移动设备本地缓存(例如,缓存285)上的响应时,响应如服务器缓存中的服务器缓存组件般被存储。因此,移动设备或本地代理275可连接至代理服务器325,以获取新的或变化的数据,用于响应本地缓存285(目前是无效的,过时的,或其他确定为不相关的)中之前已本地缓存的请求。
所述代理服务器325可在监测应用程序服务器/内容主机310处检测新的或变化的数据,并传输消息至移动设备通知该变化,该变化是移动设备(或在移动设备上的本地代理)能采取合适行动(例如,无效缓存本地缓存内的组件)。在一些情况下,代理服务器(例如,缓存策略管理器355)在一检测到新的或变化的数据,还能在缓存中存储新的变化的数据(例如,分别在图1B和图3A示例中的服务器缓存135或335)。存储在服务器缓存335中的新的/更新的数据,可在一些情况下被使用,以满足在移动设备处的内容请求;例如,它可在代理服务器已通知移动设备新的/变化的内容后被使用,且本地缓存的内容已被无效。
图3D描述了一框图,该框图示出了图3A示例所述代理服务器325中的额外组件的示例,图3A示例能进一步完成基于应用程序行为和/或流量优先级的移动流量分类和策略实施。
在代理服务器325的示例中,流量整形引擎375进一步耦合至流量分析器336,用于对策略定义分类移动流量,并用于指向一个或多个移动设备(例如图2A-2D中的移动设备250)或指向应用程序服务器/内容主机(例如,图1A-1B的110)的移动流量和事务的应用。通常,所述代理服务器325远离移动设备并远离主机服务器,如图1A-1B示例所示。代理服务器325或主机服务器300能监测多种移动设备的流量,并能够分类流量且设计不同移动设备的流量策略。
另外,代理服务器325或主机服务器300可与多个运营商或网络操作者操作,并能实施与多种分类的流量策略应用和流量分类相关的运营商特定策略。例如,代理服务器325或主机服务器300的流量分析器336能包括优化引擎341a、时间关键性检测引擎341b、应用程序状态分类器341c、和/或应用程序流量分类器341d中的一个或多个。
这些引擎或模块中的每个,可追踪不同基于无线运营商的优选顺序、临界时间、后台/前台、或交互/维护所考虑的标准。不同标准还存在用于不同移动设备类型(例如,设备模型、制造商、操作系统等)。在一些情况下,移动设备的用户能调整关于流量分类的设置或标准,以及所述代理服务器325能够追踪并实施这些用户调整的/配置的设置。
在一实施例中,流量分析器336能检测、确定、识别或推断在一个或多个移动设备上的应用程序的活动状态(例如,移动设备150或250),其中流量来自于或指向该移动设备,例如通过应用程序状态分类器341c和/或流量分类器341d。活动状态可被确定,基于应用程序是否在一个或多个移动设备上的前台或后台状态(通过应用程序状态分类器341c),当前台应用程序流量与后台应用程序流量相比可被不同地处理,以优化网络使用。
在交替或结合中,应用程序的活动状态可通过无线连接至移动设备而被确定(例如,通过在本地代理中的应用程序行为检测器)并传输给代理服务器325。例如,活动状态可以按启发式的可靠性水平确定、检测、识别或推断,其基于移动设备的背光状态(例如通过背光探测器)或者在移动设备上的其他软件代理或硬件传感器,包括但不限于电阻传感器、电容传感器、环境光传感器、运动传感器、触摸传感器等。在一般情况下,如果背光开启,流量可以被视为正在或被确定从活动的或处于前台中的应用程序产生,或者该流量是交互式的。此外,如果背光开启,流量可以被视为或被确定来自用户交互或用户活动的流量,或包含用户预期在某个时间段内数据的流量。
活动状态从在移动设备250处评估、确定、重估、推断、识别用户活动来确定,并传输至代理服务器325。在一实施例中,活动状态被基于流量是否是交互式流量或维护流量来确定。交互式流量可以包括来自从用户的应用程序活动/交互直接产生之响应和请求的事务,并且可以包括用户正在等待或预期接收的内容或数据。维护流量可被用于支持不直接由用户检测到的应用程序的功能。维护流量还包括可能发生响应用户动作的动作或事件,但用户不是主动等待或预期响应。
时间关键性检测引擎341b可通常确定、识别、推断包含在发送自移动设备250或发送至主机服务器(例如主机300)或应用程序服务器(例如应用程序服务器/内容源110)的移动设备流量中数据的时间灵敏度。例如,时间敏感数据可以包括状态更新、股票信息更新、即时通讯在线状态信息、电子邮件或其他消息、手机游戏应用程序产生的行动、网页请求、位置更新等。
根据内容或请求性质,非时间敏感或时间关键性的数据可以包括删除消息请求、标记为已读或已编辑的操作、添加好友或删除好友请求等特定于应用程序的操作、某些类型的消息或或其他性质不经常变化的信息等等。在某些情况下,当数据不是时间关键性时,其允许流量通过的时机是基于何时需要从移动设备发送附加数据而设定的。例如,流量整形引擎375可以把流量与一个或多个后续事务调整,使其被一起在移动设备无线(例如使用调整模块378和/或批处理模块377)的单次启动事件中发送。调整模块378也可以把被导向同一主机服务器的时间接近的轮询请求进行调整,因为这些请求可能用相同的数据响应。
通常,新的或变化的数据是否从主机服务器发送至移动设备,是基于移动设备上的应用程序是否与新的或变化的数据相关确定的,运行在前台(例如,通过应用程序状态分类器341c)或新的或变化的数据的优先级或时间关键性。所述代理服务器325可发送新的或变化的数据至移动设备,如果应用程序在移动设备上的前台,或如果应用程序在前台和与移动设备上的用户交互的活跃状态,和/或是否用户等待将被提供于新的或变化的数据的响应。所述代理服务器325(或流量整形引擎375)能发送具有高优先级或时间关键性的新的或变化的数据。
相似地,代理服务器325(或流量整形引擎375)可抑制新的或变化的数据发送,如果应用程序在移动设备的后台中。代理服务器325还能抑制新的或变化的数据发送,如果用户不在等待提供于新的或变化的数据中的响应;其中所述抑制由代理服务器完成,代理服务器耦合至主机服务器并能够无线连接至移动设备。
通常,如果数据包括低优先级或不是时间关键性的新的或变化的数据,代理服务器可等待传输数据直到一段时间后,或直到额外数据被发送(例如,通过调整模块378和/或批量模块377)。
图3E描述了一框图,该框图示出了图3A示例中流量整形引擎375内额外组件的示例,图3A的示例进一步能调整数据传输至移动或宽带设备,或其他接收器,以优化在无线网络或宽带网络中建立传输的连接。
在代理服务器325的实施例中,流量整形引擎376进一步包括通知引擎379,调整模块378包括调整轮询追踪器378a,批量模块377进一步包括连接触发器377a。
在一实施例中,代理服务器325能够轮询不同服务多种应用程序的服务器(例如,第一和第二服务)在给定移动设备上的调度下。轮询调度可由本地代理设备(例如图2A-2E的代理275)以及能包括分配给可被调整的移动设备(例如设备250)上的应用程序的轮询间隔。例如,轮询调度可被在代理服务器325中的流量整形引擎375的调整模块378内的调整流量追踪器378a追踪。服务或应用程序的调整轮询间隔可被确定,基于移动设备上的另一服务的轮询间隔,这样在远程代理325处接收的数据能被批量提供给移动设备,例如,通过批量模块377。
轮询调度还可包括初始开始时间(t0),代表在给定移动设备上的多个应用程序开始轮询。服务第一和第二服务的不同主机的第一轮询的初始开始时间(例如,交互时间起点)可被检测,例如,通过本地代理275(例如,图2A-2E中的代理275),在一些情况下,通过代理服务器325。当由本地代理确定时,本地代理传输用于轮询的交互时间起点至代理服务器325。在一实施例中,交互时间起点将被设置以补偿通信延迟。
在一实施例中,如果给定移动客户端/移动应用程序未开启或不活跃,或者如果给定移动设备250未连接至无线网络,连接触发器377a能发送触发(例如,带外)至移动设备或移动设备上的本地代理,以请求无线电被提供动力和/或激活一个或多个相关应用程序。例如,所述批量模块377可批量多种被发送给给定移动设备上的多个应用程序的内容或数据,并且如果移动客户端/应用程序未开启或活跃,连接触发器377a能发送请求激活应用程序的触发。另外,通知引擎379能发送给移动设备250指示,该指示为数据准备好被发送,请求移动设备250为无线电提供动力,如果无线电目前处于关闭状态时。
注意代理服务器325在多个设备、用户和网络处检测多个移动设备并追踪应用程序特性和用户行为/特征。因此,上述关于调整轮询间隔追踪器的特征,尽管留意指向在给定设备的多个应用程序的示例,但仍需留意多个设备的追踪是相同的,该设备具有安装在其上的其他一系列应用程序,用于计算调整轮询间隔或轮询调度,基于在每个移动设备上的应用程序,通过例如在其上的本地代理(例如本地代理275中图2E所示的组件,该本地代理275可被安装在由代理服务器325服务的多个移动设备中的一个或多个上)。
注意由于代理服务器325管理流量至多个移动设备或管理来自移动设备的流量,在一网络中、跨越网络,在一地理位置下,跨域多个地理位置,对一个网络操作器,或跨越多个网络操作器,所述代理服务器325可调整流量并批量传输数据,基于流量条件或网络条件的大致或整合数据。所述代理服务器325可优化传输至移动设备的数据,例如,当网络阻塞被检测到时。例如,代理服务器325能传输数据至移动设备,设备用户的订阅类型或层次被分层或交错,基于传输至移动设备的内容的最高优先级(例如,批量数据可被首先传输至移动设备A,相比于移动设备B,当设备A的最高优先数据比设备B的数据具有更高优先级时)。
注意,这里有一代理服务器325,例如用于一地理位置或特定网络操作器,网络服务类型或上述的结合。基于不同服务实体,代理服务器325可整合属于网络流量、操作设置、应用程序偏好/要求、用户偏好、订阅相关参数、上述多个结合的信息的不同类型,被代理325使用来优化需要通过接收移动设备建立的连接。服务于地理位置中不同网络的多个代理服务器325,不同操作器可分享流量、订阅、用户、或其间的应用程序阶层信息,以进一步便于网络资源利用、流量管理,并在一些情况下便于传输至移动设备的数据的调整。
图4描述了另一流程图,示出了在移动设备和代理服务器之间的分布式内容缓存以及内容缓存的分布式管理的示例过程。如图所示,本文公开的技术是具有在客户端/移动设备端(例如图2示例中本地代理275)和服务器端(例如图3中代理服务器325)之间分离的缓存任务多个方面的分布式缓存模型。
通常客户端职责可包括决定对特定请求的响应是否可能和/或应该被缓存。代理的设备端能基于收集来自请求和响应/在请求和响应时的信息(例如定时特性、检测模式、启发式检测模式、预测或重复性显示)而做出决定并缓存该决定(例如,在移动设备上的本地缓存内存储)。所述设备端还能通知本地缓存时间的分布式缓存系统中的服务器端,并通知其检测内容源(例如图1B-C中的应用程序服务器/内容提供商110)。
所述设备端进一步指导分布式代理的服务器端周期性地验证缓存响应(例如,通过轮询或发送至内容源的轮询请求)。所述设备端还进一步决定对特定缓存请求的响应是否应该从本地缓存中返回(例如,是否缓存命中被检测到)。设备端使用收集来自请求/在请求时和/或接收来自所述内容源的响应的信息作出所述决定。
通常,服务器端职责可包括验证缓存响应的关联性(例如确定缓存响应是否仍然有效或与相关联的请求有关)。服务器端能发送给移动设备无效请求,以当缓存响应被检测不再有效或不再相关时(例如服务器无效给定内容源),通知设备端。之后设备端可从本地缓存中去除响应。
图4示出了在移动设备(例如分布式代理的客户端)处检测对每个检测或拦截请求(例如HTTP请求)所完成的缓存逻辑过程。在步骤602中,代理客户端(例如本地代理275)接收请求(来自应用程序(例如移动应用程序)或移动客户)。在步骤604中,URL被标准化,并且在步骤606中客户端检查是来确定请求是否可缓存。如果请求被确定为在步骤612中不可缓存,所述请求被发送至步骤608中的源(应用程序服务器/内容提供商),响应被接收610且被发送至请求应用程序622,类似于没有被客户端代理截获的请求-响应时序。
如果请求在步骤612中被确定为可缓存的,客户端查阅缓存以确定缓存条目是否存储目前请求的缓存条目。如果是,在步骤624中,客户端能确定所述条目是否有效,且如果有效,所述客户端能检查所述请求是否包括步骤615中的验证器(例如,修改报头或实体标签)。例如,验证概念脱离RFC2626的章节13.3,其描述报头的可能类型(例如,eTAG,Modified_Since,must_revlaidate,pragmano_cache)并形成有效响应632,如果是就被传送至步骤622中的请求应用程序。如果请求不包括由步骤615确定的验证器,在步骤630中的本地缓存形成响应并传送响应至步骤622中的请求应用程序。这个验证步骤可被用于否则一般会被认为不可缓存的内容。
如果,相反,在步骤624中,缓存条目被发现但被确定不再有效或无效,代理的客户端发送请求616至内容源(应用程序服务器/内容主机)并直接接收来自步骤618的源的响应。相似地,如果在步骤612中,缓存条目在查阅期间未被发现,所述请求也在步骤616中被发送。一旦响应被接收,客户端检查响应以确定步骤626中其是否可缓存。如果是,所述响应被缓存在步骤620中。所述客户端之后在步骤614中发送另一轮询并之后传送响应给步骤622中的请求应用程序。
图5描述了时序图,示出了请求自移动设备450至应用程序服务器/内容提供商496的数据在无线网络中如何通过分布式代理系统460以一种方式协同,该方式是网络和电池资源被节约,通过使用内容缓存和由分布式代理系统460实现的监测。
在满足移动设备450上无需分布式代理系统460的应用程序或客户端请求中,移动设备450或执行与设备450上的软件部件执行数据请求452(例如,HTTPGET,POST,或其他请求)直接至应用程序服务器495并接收直接来自服务器/提供商495的响应404。如果数据已被更新,移动设备上的部件455能刷新自身反应所述更新并等待一小段时间,并触发对服务器/提供商495的另一数据请求。
在一实施例中,请求设备450上的客户端或软件部件455能利用分布式代理系统460处理对服务器/提供商495的数据请求。通常,分布式代理系统460可包括本地代理465(通常被认为系统460的客户端组件并能附属在移动设备450上),缓存代理475(被认为系统的服务器端组件470且附属在主机服务器485上或全部或部分在主机服务器485的外部),以及主机服务器485。本地代理465可通过任何网络或网络结合被连接至缓存代理475和主机服务器485。
当分布式代理系统460被用于数据/应用程序请求时,部件455可通过本地代理465执行数据请求456。本地代理465,可拦截由设备应用程序产生的请求,并能识别所述请求的连接类型(例如,HTTPget请求或其他类型请求)。本地代理465之后能问询本地缓存,任何之前关于请求的信息)。如果本地存储响应不可利用或如果无效响应被存储,本地代理465能更新或存储关于请求的信息、产生的时间和任何其他数据在本地缓存内。所述信息可被更新用于潜在满足后续请求。
本地缓存465能之后发送请求至主机服务器485,且主机服务器485能执行所述请求456并响应458返回所述结果。本地代理465能存储所述结果,且此外关于结果的信息并返回请求部件455的结果。
在一实施例中,如果相同请求出现多次(在某一时期内)且经常趋向于相同结果,本地代理465可通知460服务器485,所述请求应该被监测(例如步骤462和464),对优先于返回结果至本地代理465或请求部件455的结果变化。
在一实施例中,如果请求被标记用于监测,本地代理465目前能存储结果至本地缓存内。目前,当数据请求466,本地响应可利用的,由部件455产生时并在本地代理465处被截获,本地代理465能在不需要跨越无线网络建立连接通信下自本地缓存返回响应468。
另外,服务器代理执行被标记未监测470的请求,以确定给定请求的响应472是否改变。通常,主机服务器485能执行独立于部件455或本地代理465操作的监测。无论何时未期待的响应472接收用于请求,服务器485可通知本地代理465响应已变化(例如步骤474中的无效通知)以及通知本地存储在客户端的响应应该被消除或被新的响应替代。
在这个情况下,来自设备450的部件455的随后数据请求476产生返回自主机服务器485(例如通过缓存代理475)的数据并在步骤478中,所述请求满足缓存代理475。因此,通过利用分布式代理系统460,无线(蜂窝)网络被智能使用,当移动设备40上的用于部件或软件应用程序455的内容/数据通常被改变时。如此,所需流量检查应用程序数据变化在跨越无线(蜂窝)网络上未执行。这减少了产生网络流量的数量并缩短了总共时间,且无线电模块的次数在移动设备450上上电,因此减少电池消耗并,除此之外,释放网络带宽。
图6描述了表格700,示出了不同流量或应用程序分类类型的示例,其被用于实施网络访问和内容输送策略。例如,流量/应用程序分类可包括交互的或后台的,用户是否等待响应、前台/后台应用程序,且背光灯是否打开或关闭。
图7描述了表格800,示出了不同内容分类类型的示例,其被用于实施网络访问和内容输送策略。例如,内容分类类型可包括高或低优先级的内容,且事件关键性或非事件关键性内容/数据。
图8描述了交互视图,示出了应用程序955轮询是否缓存在本地代理965上,其中轮询具有来自移动设置至应用程序服务器/内容提供商995经无线网络的数据请求,并且是否由分布式缓存系统管理(包括本地代理965和主机服务器985(具有服务器缓存935和缓存代理服务器975))。
在一示例中,当移动应用程序/部件955在应用程序服务器/提供商932上轮询,轮询可由本地代理965本地截获934在移动设备上。本地代理965可检测缓存内容是否可用于请求中的轮询内容并因此获取来自本地缓存的响应,以满足在不需要使用无线网络带宽或其他无线网络资源下截获轮询936。移动应用程序/部件955能随后接收来自缓存条目938的轮询的响应。
在另一示例中,移动应用程序部件955轮询所述应用程序服务器/提供商940。轮询由本地代理965截获并检测缓存内容在本地缓存中是否可利用,并确定为缓存944建立轮询源。为了满足所述请求,所述轮询前转至内容源946。应用程序服务器/提供商955接收来自应用程序的轮询请求并提供响应以满足目前响应948。在950中,应用程序(如移动应用程序)/部件955接收来自应用程序服务器/提供商的响应,以满足所述请求。
互相协调,为了建立内容缓存,本地代理965追踪应用程序的轮询频率并能建立轮询调度以发送至主机服务器952。本地代理发送缓存设置给主机服务器954。所述主机服务器985能使用缓存设备,其包括,例如,被轮询的应用程序服务器/提供商的识别和选择性轮询调度956。主机服务器985现在能轮询应用程序服务器/提供商955以检测代表移动设备958的响应。应用程序服务器接收来自主机服务器的轮询和响应960。主机服务器985确定相同响应已被接收并依据特定轮询调度962轮询应用程序服务器995.应用程序服务器/内容提供商995接收轮询并相应响应964。
主机服务器985检测变化的或新的响应并通知所述本地代理965。主机服务器985能额外存储变化的或新的响应在服务器缓存或缓存代理968中。本地代理965接收来自主机服务器985的通知,新的或变化的数据目前是可利用的且能无效影响的缓存条目970。接下来应用程序(例如移动应用程序)/部件955产生对相同服务器/内容提供商972的相同请求,本地代理确定无效缓存条目为可利用的并相反获取来自服务器缓存974的响应,例如,通过HTTP连接。主机服务器985接收新响应的请求并发送响应返回976至本地代理965。因此请求被服务器缓存或缓存代理978,在不需要移动设备使用其无线电或去消耗移动网络带宽下被满足,因此能节约网络资源。
另外,当应用程序(例如,移动应用程序)产生相同的请求在步骤980中,本地代理965,响应确定无效缓存条目为可利用的,跨越移动网络转发轮询至应用程序服务器/提供商在步骤982中。所述应用程序服务器/提供商995,跨越移动网络接收所述轮询并发送返回至移动设备的响应在步骤984中。因此所述请求从服务器/提供商使用移动网络的步骤986中被满足。
图9描述了一个表明移动网络中的移动设备(如,任何无线设备)的信号建模的过程的流程图。所述操作和步骤,用关于图9中被讨论的移动设备的执行来说明。但是,所述操作和步骤也可被在此讨论的开放通道体系结构(OpenChannelarchitecture)中的任何一个或多个组件执行。例如,所述操作和步骤可被移动设备的OC客户端代理(OCclientproxy)(如,图1A-1中移动设备150的OC客户机代理175)执行,移动设备(如,移动设备150),OC(主机)服务器(如,OC(主机)服务器100),一个或多个处理器,和/或其他组件,模块,引擎,或在此讨论的工具执行。更多的或更少的数据流操作是可能的。
开始,在步骤1010,所述移动设备跟踪由在移动网络中的所述移动设备上执行的移动应用程序发起的事务。在步骤1012,所述移动设备确定是否所述事务引起的网络信号要求相应的无线电连接。在步骤1040,所述移动设备为所述移动设备的网络信号建模。
图10描述了一个表明移动网络中的移动设备(如,任何无线设备)的信号的建模过程的实例的流程图。所述操作和步骤,用关于图9中被讨论的移动设备的执行来说明。但是,所述操作和步骤也可被在讨论的开放通道体系结构(OpenChannelarchitecture)中的任何一个或者多个组件执行。例如,所述操作或者步骤可被移动设备的OC客户机代理(如,图1A-1中,移动设备150的OC客户机代理175),移动设备(如,移动设备150),OC(主机)服务器(如,OC(主机)服务器100),一个或多个处理器,和/或其他组件,模块,引擎,或者在此讨论的工具执行。更多的或者更少的数据流操作是可能的。
开始,在步骤1020,所述移动设备访问与所述移动设备相关联的无线电记录。所述无线电记录能够指示移动设备无线电的状态。在步骤1022,所述移动设备访问与所述移动设备相关联的通信活动记录。所述通信活动记录能够指示在移动设备中的多个测量点监测到的各种通信指标。在步骤1024,所述移动设备基于一个或多个无线电记录和通信活动记录,计算一个或者多个CRCS字段。在步骤1026,所述移动设备基于所述一个或多个CRCS字段为所述移动设备的网络信号建模。
通用连接和时间计算示例
图11A-图16D描述了CRCS字段器用于确定通用连接和时间运算的示例。正如文中所讨论的,各种字段计算器可用于所述移动网络信号的建模。重要的是,下面讨论的,CRCS字段运算示例包括以下符号:
l短时间戳形式(如,07:26:00.000用于替代完整形式的2012-10-3007:26:00.000);
l只需要输入记录中所示的运算的字段;
l网络延迟使用的默认值示例(如,15000毫秒);
l请求延迟使用的默认值示例(如,1000毫秒);
l分流比使用的默认值示例(如,3000);
l术语“休眠”和“网络延迟”可作为同义词使用。
此处讨论的所述连接和时间运算的示例主要基于两个主要的数据集:无线电上升间隔(radioupintervals)和被过滤的网络日志(netLogs)(也称为通信活动记录)。
正如上面所述讨论的,扩展CRCS字段能够被划分为多种类型。例如,所述扩展CRCS字段可以包含连接标志类型和时间连接计数类型(atimeconnectedcountstype)(见,如,附录A和B)。此外,所述扩展CRCS字段可以被划分为上文表1中描述的几种类型。
更具体的说,图11A和11B描述了真实的(或者实际的)无线电时间间隔和相应的CRCS字段的计算的示例。图12A和12B描述了虚拟无线电时间间隔和相应的CRCS字段的计算的示例。图13A和13B描述了模拟无线电时间间隔和相应的CRCS字段的计算的示例。图14A和图14B描述了模拟虚拟无线电时间间隔和相应的CRCS字段的计算的示例。图15A-15D描述了模拟的各应用程序无线电上升间隔(radioupintervals)的计算示例。图16A-16D描述了虚拟的模拟个应用程序无线电上升间隔(和相应的CRCS字段。
真实的(或者实际的)字段运算示例
首先提及的是图11A和11B,分别描述了计算真实的(或实际的)无线电上升间隔(的操作示例以及真实的(或者实际的)无线电时间间隔的图像描述。所述真实的(或实际的)字段计算包括实际连接字段和实际时间连接字段的计算。
所述实际连接字段表明发生在网络上的真实的连接。所述无线电记录能够指示移动设备无线电在一端时间内的各种状态以及因此能够用于进行所述实际连接字段的计算。也就是说,所述移动设备无线电的状态可用于确定是否所述移动式设备无线电正在/已经上升(themobiledeviceradiois/wasup)。例如,在一些实施方式中,如果无线电记录的当前状态表明所述移动设备无线电的当前状态被设为DATA_ACTIVITY_CONNECTED状态或者WCDMA_DCH状态,那么所述移动设备无线电被认为是上升的(或者活动的)。相反地,如果所述移动设备无线电的当前状态被设为DATA_ACTIVITY_DORMANT状态或者IDLE状态,那么所述移动设备无线电被认为是下降的(或者不活动的)。
在一个实施方式中,实际时间字段被计算以表示移动设备的无线电通道上升的总的时间间隔(Inoneembodiment,anactualtimefieldiscalculatedindicatingatotaltimeintervalduringwhichtheradiochannelwasupforamobiledevice.)也就是说,所述实际时间字段表示所述网络通道被用于传输数据(如,至或者从客户端)的时间。所述实际时间能够被计算,作为两个最近的网络记录项的所有时间间隔之和,当所述网络记录项处于所述无线电上升间隔时。重要地,计算所述实际时间字段时,如果某个网络记录项是记录中无线电上升记录项之后的第一个网络记录项,那么它的连接的实际时间等于如果两个值的总和:
l该网络记录项和它之后的最近的网络记录之间的时间间隔
l无线电上升和该网络记录项之间的时间间隔
如前所述,参照图11B的示例,所述实际连接字段和所述实际时间字段可以通过阅读与移动设备相关联的无线电访问记录和通信活动记录(此处也被称网记录或者网络记录)计算。所述无线电访问记录和所述通信活动记录的相关部分可以被称为与移动设备相关联的输入记录。在图11A的示例中,下面的表3,表示所述输入网记录和输入无线电记录(总体地,输入记录)的相关部分。
表3-输入网记录和无线电字段
如上所示,所述输入网记录和输入无线电记录每个包括各种网记录项。所述网记录项表示的内涵“NLx”,而无线电记录项表示使用“RLx”内涵。
crcs分析(crcs-analysis)核心工具等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,处理所述输入记录,例如,基于一个或者更多输入记录(如,无线电记录和所述通信活动记录)计算一个或者更多附加的CRCS字段。该处理可包括利用一个或者更多长轮询技术将一个网记录项分为两个或者更多的网记录项。图19A和19B更加详细的描述和讨论了关于更多的长轮询技术之一的使用。如这个例子所示,所述crcs分析核心工具为每个网记录项计算一个实际连接字段(或标记)和实际时间字段。下面的表4描述了一个输出示例。
表4-输出网记录字段
在这个例子中,RL1是无线电上升记录因为它的“state”字段是data_activity_connected并且“prev_state”是data_activity_dorman。同样的,RL2是无线电下降记录因为它的“state”字段是data_activity_dorman并且“prev_state”是data_activity_connected。因此,所述实际无线电上升间隔是:
。
至于所述实际连接计算,NL1制造一个实际连接因为它是所述无线电上升以后的第一个网记录,因此这个网记录启动了一个新连接。NL2和NL3在无线电已经上升时发生,因此他们并不启动一个新连接。因此,实际连接NL1=1;实际连接NL2=0;并且实际连接NL3=0。至于所述实际时间计算:
其中,
[RL1,NL]是无线电记录项RL1和网记录项NL1之间的时间间隔;
[NL1,NL2]是相同的网记录项NL1和网记录项NL2;
[NL2,NL3]是相同的NL2和NL3;
[NL3,RL2]是网记录项NL3和无线电记录项RL2之间的时间间隔;
并且,
因此,
实际时间
实际时间
实际时间
虚拟字段计算示例
接下来提及的是图12A和12B,分别描述了计算虚拟的无线电上升间隔的操作示例以及虚拟的无线电上升间隔的图像描述。更具体的说,所述虚拟字段计算包括虚拟连接字段和虚拟连接时间字段的计算。
正如上面所讨论的,crcs分析工具或者模块(并未示出)能够计算扩展CRCS字段,所述扩展CRCS字段被所述crcs分析核心工具维护并且用于移动网络中的移动设备信号建模。更具体地说,所述crcs分析核心工具可建模开放通道架构(如分布式缓存技术,包括在此讨论的信号优化和扩展缓存技术)的效应。例如,所述crcs分析核心工具或者模块等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够计算所述虚拟无线电上升间隔。所述计算能够包括基于一个或者多个输入记录(如,包含缓存命中信息的无线电记录和通信活动记录)一个或者更多附加的CRCS字段的计算。
更具体地说,如图12B中的例子所示,所述crcs分析核心工具或者模块利用所述无线电记录和缓存命中网记录计算所述虚拟无线电上升间隔。所述虚拟字段说明‘如果没有’移动设备上的所述开放通道客户端,将会发生的连接。图12A展示了一个虚拟字段计算架构的例子。
所述虚拟连接字段表示了一个虚拟连接,虚拟连接通过缓存(没有无线电上升)或者通过一个真实的(实际的)连接创造。即,所述虚拟连接表示了如果没有运行在移动设备上的开放通道客户端,哪种连接将会发生。同样,所述虚拟时间字段表示了如果没有安装运行在移动设备上的开放通道客户端,所述无线通道将会上升的时间间隔。相应地,虚拟时间的总数总是等于或者大于所述实际时间,所述实际时间对图11A和图11B的示例计算。
参照图12A和图12B的例子,下面的表5显示输入网络记录和输入无线记录(总体地,输入记录)示例的相关部分。
表5-输入网记录字段
在一些实施例中,DL记录不是输入记录的一个部分(一项)。如上所示,所述输入网记录和输入无线电记录,每个包含各种网记录项。正如文中所讨论的,所述网记录项表示内涵“NLx”,而所述无线电记录项表示使用“RLx”内涵。
如本例中所示,所述crcs分析核心工具为每个网记录项计算实际连接字段(或标记)和实际时间字段。一个输出示例如下面的表6。
表6-输出网记录字段
在本实例中,计算RL1作为第一个虚拟无线电上升记录项或者入口,因为真实的无线电上升实际发。计算RL2作为第一个无线电下降记录,因为真实的无线电下降实际发生。计算NL4作为第二虚拟无线电上升记录,因为“CLIENT_BYTES_IN”或者“CLIENT_BYTES_OUT”大于0。即,在NL4数据被传输于OC客户端和OC服务器之间。计算DL作为第二无线电下降记录,因为恰好在DL,所述网络延迟结束。同样,在本例子中,不会NL5计算作为记录中的虚拟无线电上升,因为NL4和NL5之间的所述时间间隔小于休眠。
对于虚拟连接字段计算,NL1由于创造实际连接而创造了一个虚拟连接。NL4由于创造虚拟无线电上升而创造了一个虚拟连接。因此:
虚拟连接NL1=1
虚拟连接NL2=0
虚拟连接NL3=0
虚拟连接NL4=1
虚拟连接NL5=0
对虚拟时间字段的计算:
虚拟时间NL1=实际时间NL1
虚拟时间NL2=实际时间NL2
虚拟时间NL3=实际时间NL3
虚拟时间NL4=[NL4,NL5]
虚拟时间NL5=[NL5,DL]
其中,
[NL4,NL5]是网记录项NL4和网记录项NL5之间的时间间隔
[NL5,DL]是网记录项NL5和虚拟无线电下降项DL之间的时间间隔
这里的DL是从虚拟无线电上升开始,网络延迟发生的时间。因此,
虚拟时间NL1=20000
虚拟时间NL2=40000
虚拟时间NL3=180000
虚拟时间NL4=1500
虚拟时间NL5=15000
因此,
虚拟时间NL1=20000
虚拟时间NL2=40000
虚拟时间NL3=180000
虚拟时间NL4=1500
虚拟时间NL5=15000
模拟字段计算示例
接下来提及的是图13A和13B,分别描述了计算模拟无线电上升间隔的操作示例以及模拟无线电上升间隔的图像描述。更具体的说,所述模拟字段计算包括模拟连接字段和模拟连接时间字段的计算。
在一个实施例中,crcs分析核心工具或模块(未示出)能够计算扩展CRCS字段,所述扩展CRCS字段被所述crcs分析核心工具维护并且用于移动网络中的移动设备信号建模。更具体地说,所述crcs分析核心工具可建模开放通道架构(如分布式缓存技术,包括在此讨论的信号优化和扩展缓存技术)的效应。例如,所述crcs分析核心工具或者模块等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够计算所述模拟无线电上升间隔。所述计算能够包括基于一个或者多个输入记录(如,包含缓存命中信息的无线电记录和通信活动记录)一个或者更多附加的CRCS字段的计算。
更具体地,如图13B的示例所示,所述crcs分析核心工具或模块利用所述缓存命中信息记录计算所述模拟无线电上升间隔。
为了计算模拟字段,系统假定移动设备中的所有应用程序采用开放通道客户端,并且没有应用程序可以没有开放通道启动连接。那种情况的无线电记录被称为模拟无线电记录。所述模拟连接字段显示一个连接,如果电话上没有其他应用程序替代在开放通道客户端控制下的应用程序,该连接将通过网络发生。同样,所述模拟时间字段显示连接的时间,如果电话上没有其他应用程序替代在开放通道客户端控制下的应用程序,该连接将会通过网络发生。
参照图13A和图13B,下面的表7显示包括网络点击的所述输入通信活动记录的相关部分。在某些实施例中,所述真实的(实际的)无线记录在计算所述模拟无线电上升间隔时能够被忽略。因此,所述真实的(实际的)无线电记录项没有显示在输入表格数据下。
表7-输入网记录字段
在本示例中,所述DL1,DL2和DL3记录(或项)不输入。相反,所述记录为了描述目的被清楚的说明。正如文中所讨论的,所述网记录项由内涵“NLx”表示。
所述crcs分析核心工具等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够将所述输入处理为,例如,计算一个或多个基于所述一个或多个输入记录(如,通信活动记录)的附加CRCS字段。该处理可包含利用一个或者多个长轮询技术将一个网记录项划分为两个或者更多网记录项。图19A更加详细的描述和讨论这个处理过程。如这个例子所示,所述crcs分析核心工具计算模拟连接字段(或标识)和模拟时间字段。下面的示例输出表8描述了输出网记录字段。
表8-输出网记录字段
在本示例中,NL1是第一个模拟无线电上升记录,因为网记录项由这里开始。DL1是第一个模拟无线电下降记录,因为网络延迟恰好在那个时间结束。与NL1原因相同,NL2是第二个模拟无线电上升记录。与RL1原因相同,DL2是第二个模拟无线电下降记录。与NL1原因相同,NL3是第三个模拟无线电上升记录。与RL1原因相同,DL3是第三个模拟无线电下降记录。
对于模拟连接字段计算,NL1,NL2,和NL3甚至由于各引起一个模拟无线电上升而创造一个模拟连接。因此:
模拟连接NL1=1;
模拟连接NL2=1;
模拟连接NL3=1;
对于模拟时间字段计算,如果两个相邻的网记录项之间的时间间隔大于休眠,那么所述第一个网记录项将具有等于休眠的模拟时间。否则,所述两个相邻的网记录项之间的时间间隔将是所述网记录项之间的实际时间。图13C描述了一个示例。
因此,在图13A-13C的示例中
模拟时间NL1=休眠(网络延迟)=15000
模拟时间NL2=休眠(网络延迟)=15000
模拟时间NL3=休眠(网络延迟)=15000
虚拟模拟字段计算示例
接下来提及的是图14A和14B分别描述了虚拟模拟无线电上升间隔的架构示例以及虚拟模拟无线电时间间隔的示例。更具体的说,下面描述的所述虚拟模拟字段计算包括虚拟模拟字段和虚拟模拟连接时间字段的计算。
在一个实施例中,crcs分析核心工具或模块(未示出)能够计算扩展CRCS字段,扩展CRCS字段被所述crcs分析核心工具维护并且用于移动网络中的移动设备信号建模。更具体的,所述crcs分析核心工具可建模所述开放通道架构(如分布式缓存技术,包括在此讨论的信号优化和扩展缓存技术)的效应。例如,所述crcs分析核心工具或者模块等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够计算模拟虚拟无线电上升间隔。所述计算能够包括基于一个或者更多输入记录(如,无线电记录和包含网络点击和缓存命中信息的通信活动记录)计算一个或者更多附加的CRCS字段。
更具体地,如图14B所示的示例,所述crcs分析核心工具或模块利用网络点击和缓存命中记录计算所述模拟虚拟无线电上升间隔。正如文中所讨论的,所述无线电上升(或活动)间隔。
所述模拟虚拟字段表示的连接发生在一个模拟环境中,该模拟环境在没有开放通道的移动设备上模拟通常采用开放通道客户端的所有应用程序。
所述模拟虚拟连接字段表示在一个模拟环境中,将通过网络发生的连接,该模拟环境在没有开放通道的移动设备上模拟通常采用开放通道客户端的所有应用程序。同样,所述模拟虚拟时间字段表示在模拟环境中,从将通过网络发生的连接中连接的时间,该模拟环境在没有开放通道的移动设备上模拟通常采用开放通道客户端的所有应用程序。
对于图14A和图14B,下面的表9显示包括网络点击的所述输入记录的相关部分。处于一个模拟环境中,该模拟环境在没有开放通道的移动设备上模拟通常采用开放通道客户端的所有应用程序。
表9-输入网记录字段
在本示例中,所述DL1,DL2,和所述DL3记录(或项)不输入。相反,所述记录为了描述目的被清楚的说明。正如文中所讨论的,所述网记录项由内涵“NLx”表示。
所述crcs分析核心工具等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够将所述输入记录处理为,例如,基于一个或者多个输入记录(如,通信活动记录)计算一个或者更多附加的CRCS字段。所述处理过程能够包括利用一个或者更多长轮询技术将一个网记录项划分为两个或者更多的网记录项。图19A更加详细的描述和讨论这个处理过程。如这个例子所示,所述crcs分析核心工具计算模拟连接字段(或标识)和模拟时间字段。下面的示例输出表10描述了输出网记录字段。
表10-输出网记录字段
在本例中,NL4是第四个模拟虚拟无线电上升记录,因为“CLIENT_BYTES_IN”,或者“CLIENT_BYTES_OUT”大于0表示数据被传输于OC客户端和OC服务器之间。注意NL5不是一个模拟虚拟无线电上升记录项,因为在NL4和NL5之间的时间间隔小于休眠。
模拟各应用程序字段计算示例
图15A和15B分别描述了模拟无线电上升间隔的架构示例以及模拟无线电时间间隔的示例。更具体的说,下面描述的所述模拟字段计算包括虚拟模拟字段和虚拟模拟连接时间字段的计算,在每个应用程序的基础上。
在一个实施例中,crcs分析核心工具或模块(未示出)能够计算扩展CRCS字段,,扩展CRCS字段被所述crcs分析核心工具维护并且用于移动网络中的移动设备信号建模。更具体的,所述crcs分析核心工具可建模所述开放通道架构(如分布式缓存技术,包括在此讨论的信号优化和扩展缓存技术)的效应。例如,所述crcs分析核心工具或者模块等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够计算模拟无线电上升间隔,在每个应用程序的基础上。所述计算能够包括基于一个或者多个输入记录(如,包含网络点击信息的通信活动记录)计算一个或者更多附加的CRCS字段。
更具体地说,如图15B中的示例,所述crcs分析核心工具或模块利用某个应用程序的所述网记录计算每个模拟应用程序的无线电上升间隔。在图15B的示例中,网记录NL1是与第一个应用程序#1有关,并且网记录NL2和NL3与第二个应用程序#2有关。
在图15C的示例中,举例说明每个所述第一应用程序#1的所述模拟无线电上升间隔。同样,图15D中的示例,举例说明每个所述第二应用程序#2的所述模拟无线电上升间隔。
所述模拟各应用程序字段(Thesimulatedperapplicationfields)表示的连接发生在一个模拟环境中,该模拟环境在没有开放通道的移动设备上模拟通常采用开放通道客户端的所有应用程序。为了计算模拟各应用程序字段,该系统仅仅关注移动设备上的一个应用程序(如,应用程序#1)。这个应用程序(如,应用程序#1)利用所述开放通道客户端,并且没有应用程序能够脱离开放通道启动连接。在这种情况下的所述无线电记录被称为模拟各应用程序字段。
所述模拟各应用程序连接是一个将通过网络发生在一个模拟环境中的连接,如果有一个应用程序安装在移动设备(在开放通道客户端的控制下)上,并且电话上没有其他应用程序。同样,所述模拟各应用程序时间是从将通过网络发生的连接的连接时间,如果有一个应用程序安装在移动设备(在开放通道客户端的控制下)上,并且电话上没有其他应用程序。
参照图15A和图15B的示例,下面的表11显示了包含网络点击的所述输入记录的相关部分。当计算模拟无线电上升间隔时,我们忽略真实的(实际的)无线电记录,这就是为什么他们没有显示在输入数据中。参见示例表11。
表11-输入网记录字段
在本示例中,所述DL1,DL2,和DL3记录(或项)不输入。相反,所述记录为了描述目的被清楚的说明。正如文中所讨论的,所述网记录项由内涵“NLx”表示。
所述crcs分析核心工具等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够将所述输入记录处理为,例如,基于一个或者多个输入记录(如,通信活动记录)计算一个或者更多附加的CRCS字段。所述处理过程能够包括利用一个或者更多长轮询技术将一个网记录项划分为两个或者更多的网记录项。图19A更加详细的描述和讨论这个处理过程。如这个例子所示,所述crcs分析核心工具计算模拟各应用程序连接字段(或标识)和模拟各应用程序时间字段。下面的示例输出表12描述了输出网记录字段。
表12-输出网记录字段
在本例中,NL1是第一个模拟无线电上升记录,因为网记录项由此处开始。DL1是第一个模拟无线电下降记录,因为网络延迟恰好在那时结束。与NL1原因相同,NL2是第二个模拟无线电上升记录。与RL1原因相同,DL2是第二个模拟无线电下降记录。与NL1原因相同,NL3是第三个模拟无线电上升记录。与RL1原因相同,DL3是第三个模拟无线电下降记录。
对于模拟各应用程序连接字段,NL1,NL2,和NL3由于各引起一个模拟无线电上升事件而创造一个模拟连接。因此:
模拟连接NL1=1;
模拟连接NL2=1;
模拟连接NL3=1;
并且
模拟时间NL1=休眠(网络延迟)=15000;
模拟时间NL2=休眠(网络延迟)=15000;
模拟时间NL3=休眠(网络延迟)=15000;
虚拟模拟个应用程序字段计算示例
图16A和16B分别描述了计算虚拟模拟各应用程序无线电上升间隔的架构示例以及虚拟模拟各应用程序无线电时间间隔的示例。更具体的说,下面描述的所述虚拟模拟各应用程序字段计算包括虚拟模拟各应用程序字段和虚拟模拟各应用程序连接时间字段的计算。
在一个实施例中,crcs分析核心工具或模块(未示出)能够计算扩展CRCS字段,扩展CRCS字段被所述crcs分析核心工具维护并且用于移动网络中的移动设备信号建模。更具体的,所述crcs分析核心工具可建模所述开放通道架构(如分布式缓存技术,包括在此讨论的信号优化和扩展缓存技术)的效应。例如,所述crcs分析核心工具或者模块等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够计算模拟虚拟无线电上升间隔。所述计算能够包括基于一个或者更多输入记录(如,无线电记录和包含网络点击和缓存命中信息的通信活动记录)计算一个或者更多附加的CRCS字段。
更具体地,如图16B所示的示例,所述crcs分析核心工具或模块利用网络点击和缓存命中记录计算所述模拟虚拟无线电上升间隔。正如文中所讨论的,所述无线电上升间隔表示所述移动设备无线电活动期间的一段时间。
在图16C的例子中,所述模拟虚拟无线电上升间隔与描述的所述第一应用程序#1有关。同样,图16D的例子举例说明了与所述第二应用程序#2有关的所述模拟虚拟无线电上升间隔。
所述模拟虚拟各应用程序字段表示的连接发生在一个模拟环境中,在该模拟环境在没有开放通道的移动设备上模拟通常采用所述开放通道客户端的一个单独的应用程序。
所述模拟虚拟各应用程序连接字段表示在模拟环境中,将通过所述网络发生的连接,该模拟环境在没有开放通道的移动设备上模拟通常采用所述开放通道客户端的一个单独的应用程序。同样,所述模拟虚拟时间字段表示在模拟环境中,将通过网络发生的连接中的连接时间,该模拟环境在没有开放通道的移动设备上模拟通常采用开放通道客户端的一个单独的应用程序。
对于图16A和图16B中的例子,下面的表13显示包括网络点击的所述输入记录的相关部分。在没有开放通道的移动设备上模拟通常采用开放通道客户端的所有应用程序的模拟环境中。
表13-输入网记录字段
在本示例中,DL1,DL2,和DL3记录(或项)不输入。相反,所述记录为了描述目的被清楚的说明。正如文中所讨论的,所述网记录项由内涵“NLx”表示。
所述crcs分析核心工具等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够将所述输入记录处理为,例如,基于一个或者多个输入记录(如,通信活动记录)计算一个或者更多附加的CRCS字段。所述处理过程能够包括利用一个或者更多长轮询技术将一个网记录项划分为两个或者更多的网记录项。图19A更加详细的描述和讨论这个处理过程。如这个例子所示,所述crcs分析核心工具计算模拟各应用程序连接字段(或标识)和模拟各应用程序时间字段。下面的示例输出表14描述了输出网记录字段。
表14-输出网记录字段
存储值示例
正如本文中讨论的,所述各种字段的计算能够被用于移动网络信号建模。例如,所述建模可包含存储连接和存储时间的计算。所述存储连接表明作为利用所述开放通道架构的结果存储的连接的数量、编号或者质量。在一个实施例中,所述存储连接能够被如下建模:
存储连接=虚拟连接-实际连接,
存储模拟连接=模拟虚拟连接-模拟连接,
存储模拟各应用程序连接=模拟虚拟各应用程序连接-模拟各应用程序连接,
存储模拟各主机连接=模拟虚拟各主机连接-模拟各主机连接。
同样,所述存储时间是作为利用所述开放通道架构的结构存储的连接时间的时间间隔。在一个实施例中,所述存储时间能够被如下建模:
存储时间=虚拟时间-实际时间,
存储模拟时间=模拟虚拟时间-模拟时间,
存储模拟各应用程序时间=模拟虚拟各应用程序时间-模拟各应用程序时间,
存储模拟各主机时间=模拟虚拟各主机时间-模拟各主机时间。
连接标识和时间
图17A说明了上文讨论的,计算连接标识和连接时间间隔的示例。连接标识表明是否某个网记录引起无线电上升。在一个实施例中,最接近无线电上升日志记录的网记录被连接标识标记,以确定每个无线电上升间隔的所述连接标识。重要地,只有在无线电上升附近的请求延迟的网记录被连接标识标记。
图17B举例说明无线电上升间隔。所述无线电上升间隔可被计算,维持,和/或以其它方式被包含,以计算表明无线电上升时间的某个网记录的影响的连接时间。对于每个无线电上升间隔,所述无线电上升时间等于属于那个特别间隔的网记录的连接时间之和。
网络点击
网络点击是开放通道服务器侧的数据传输的起点。实施例中,网记录项被认为是一个网络点击,当那些条件中的至少一个条件的相关字段为真时:
;
;
;并且,
缓存命中
缓存命中是缓存中数据传输的起点。实施例中,网记录项被为认为是一个缓存命中,当它不是网记录命中并且至少那些当太哦中的一个条件的相关字段为真时:
;
;
;并且,
;
详细计算示例
下面的示例描述了另一个字段计算。开始,假设下面的输入网记录和无线电记录:
表15-输入网记录字段
表16-输入无线电记录字段
图18描述了说明一段时间的记录的示例方案。例如,假设:t1=(07:26:20.000-07:26:00.000)=20000毫秒,
t2=(07:27:00.000-07:26:20.000)=40000毫秒,
t3=(07:27:00.100-07:27:00.000)=100毫秒,
t4=(07:29:00.000-07:27:00.100)=119000毫秒,
t5=(07:29:00.500-07:29:00.000)=500毫秒,
t6=(07:30:00.000-07:29:00.500)=59500毫秒,
t7=(07:31:00.000-07:30:00.000)=60000毫秒,和
网络延迟=15秒
因此,
;并且
;
表17,如下,描述了计算的结果
表17-计算结果
表18显示输出网记录的说明。注意输出时间间隔以毫秒为单位。
表18-输出网记录
长轮询过程示例
图19A用图形描述了将一个网记录项划分为两个网记录项的长轮询过程,通过一个实施例。更具体地,此处描述的所述长轮询过程是将一个网记录项划分为两个网记录项的过程。实施例中,执行网记录项的长轮询处理的条件为:
lRESPONSE_TIME大于或者等于网络延迟(默认值,如,15000毫秒);
l网记录项为网络点击或者缓存命中;
lSERVER_BYTES_IN/RESPONSE_TIME的值小于或者等于分流比(默认值,如3000毫秒)。
图19B用图形描述了为了使所述网记录可划分为两个部分所必须为真的条件。更具体地说,如果SERVER_BYTES_IN/RESPONSE_TIME的值小于或者等于分流比(默认值,如3000毫秒),那么所述网记录能够被划分为两个部分。下面的表19描述了所述字段修改,作为执行所述长轮询处理的结果发生时。
表19-长轮询处理后的字段改变
输入和输出网记录示例,划分前和划分后,分别地描述如下:
表20-输入网记录和无线电字段
表21-输出网记录和无线电字段
记录预处理示例
某些实施例中,记录预处理在被计算字段中的数据填充之前被执行。例如,下面的进程能够被执行:
如果
l运算是PROXY_HTTPS_HANDSHAKE;并且
l或者;并且
l或者;
然后用SERVER_BYTES_IN代替CLIENT_BYTES_OUT。
如果
l运算是PROXY_CACHEABLE_APP_COMPRESSED;或者
l运算是PROXY_UNCACHEABLE_APP_COMPRESSED;并且
l;
那么用SERVER_BYTES_IN代替CLIENT_BYTES_OUT。
如果
l运算是PROXY_CACHEABLE_APP_COMPRESSED;或者
l运算是PROXY_UNCACHEABLE_APP_COMPRESSED;并且
l;
那么用SERVER_BYTES_OUT代替CLIENT_BYTES_IN。
如果
;并且
;并且
;并且
;
那么用0值代替CLIENT_BYTES_IN。
如果那么用0值代替。
报告程序
现在描述各种字段计算的示例。
不充电时间计算示例(ExampleTimeonnotchargingcalculation)。
图20用图形描述计算TIME_ON_NOT_CHARGING字段的示例。一些实施例中,电量记录能够被用于该计算。一些实施例中,TIME_ON_NOT_CHARGING当一个设备的电池健康下降时,代表时间隔之和。例如,
。
充电下降百分比计算示例
图21用图形描述了计算CHARGE_DROP_PERCENT字段的示例。再次,电量记录能够被用于该计算。一些实施例中,所述下降百分比代表当电池健康下降时,电池健康的变化之和。例如,
时间无线电状态计算示例
下面的表格22描述无线电过去状态和相应的报告字段的各种示例之间的关系。更具体地说,下表描述了TIME_RADIO_STATE_n字段的计算,其中n从1到10。在本例中,无线电记录被使用并且如果无线电记录中的INTERVAL值大于0,那么INTERVAL字段的值被存储至其中一个TIME_RADIO_STATE_n字段。
表22-无线电过去状态和报告字段之间的通信
转换到无线电状态计算示例
下面的表23描述了TRANS_INTO_RADIO_STATE_n字段,其中n从1到10。本例中,无线电记录被使用。TRANS_INTO_RADIO_STATE_n字段代表无线电记录被转换至某状态的次数。
表23-无线电当前状态和报告之间的通信
WCDMA时间计算示例
下面的表24描述了WCDMA_TIME_IN_DCH,WCDMA_TIME_IN_FACH,WCDMA_TIME_IN_PCH,和WCDMA_TIME_IN_IDLE字段。再次,无线记录在本例中被使用,并且如果所述无线电记录的INTERVAL值大于0,那么INTERVAL字段的值将会被存储至WCDMA_TIME_<...>字段中的一个字段。无线电过去状态和报告字段之间的通信如下表所示:
表24-无线电过去状态和报告字段之间的通信
WCDMA转换为无线电状态的计算示例
下面的表25描述了WCDMA_TRANS_INTO_DCH,WCDMA_TRANS_INTO_FACH,WCDMA_TRANS_INTO_PCH,WCDMA_TRANS_INTO_IDLE计算字段。无线电记录在本例中被使用。字段WCDMA_TRANS_INTO_<...>表示无线电记录转换为某状态的次数。
表25-无线电当前状态和报告字段之间的通信
字节总数计算示例
下面的表26描述了TOTAL_BYTES_FROM_APP,TOTAL_BYTES_TO_APP,TOTAL_BYTES_FROM_NET,TOTAL_BYTES_TO_NET,TOTAL_BYTES_FROM_CACHE,TOTAL_BYTES_TO_CACHE计算字节。
表26-字节计算
点击总数计算示例
下面的表27描述了TOTAL_HITS_FROM_APP,TOTAL_HITS_TO_APP,TOTAL_HITS_FROM_NET,TOTAL_HITS_TO_NET,TOTAL_HITS_FROM_CACHE,和TOTAL_HITS_TO_CACHE计算字段。
表27-点击计算
缓存请求示例,字节数和命中。
下面的表28描述了TOTAL_BYTES_CACHE_REQ和TOTAL_HITS_CACHE_REQ计算字段。
表28-缓存请求计算
连接计算示例
下面的表29描述了SIM_RADIO_STATE_CHANGES_ACTUAL和IM_RADIO_STATE_CHANGES_SAVED计算字段。某些实施例中,网记录字段能够用于计算那些报告字段。有两种计算情况:
l报告关键类别是“应用程序”;
l报告关键类别是其他(非“应用程序”)
报告关键字类别为“应用程序”的示例
表30-连接计算
报告关键类别是其他(非“应用程序”)
表31-连接计算
时间计算示例
下面的表32描述了SIM_RADIO_TIME_CONN_ACTUAL和SIM_RADIO_TIME_CONN_SAVED计算字段。某些实施例中,所述网记录字段被用于计算那些报告字段。有两种计算情况:
l报告关键类别是“应用程序”;
l报告关键类别是其他(非“应用程序”)
报告关键字类别为“应用程序”的示例
表33-时间计算
报告关键类别是其他(非“应用程序”)
表34-时间计算
网记录字段示例
表35-网记录格式
报告格式字段示例
表36-报告格式
图22描述了测量点的各种示例,测量点来自CRCS分析核心模块等,例如,图2E中的CRCS分析核心255a或者图3E中的CRSC分析核心375a,能够执行用于数据网络中信号建模的测量。一些能够被图23A-23E列出的CRCS分析核心模块适应的输出指标的示例。
本例中,对于HTTPS通信,OC的模拟证书比从网络中接收的证书小,这将表现为负存储。对于HPPTS握手,字节-至-应用程序(bytes-to-app)被字节-自-网络(bytes-from-network)所替代。关于只是自-应用程序-字节(from-app-bytes),OC接收所述请求,不考虑网络的可用性。最常由网络的不可用性引起。在请求不能出去至网络并且无法得到缓存的服务的情况下,调整OC-AT-ADJ至0。
本例中,(调节的)应用程序(APP)和网络通信之间的差是节省通信量(如,[OC-AT-ADJ]-[OC-NT]=[OC-ST])。所述节省通信量加上所述网络通信量的和是应用程序的总通信量(如,[OC-ST]+[TNT]=[TAT])。(调节的)应用程序通信量除以总应用程序通信量等于字节覆盖率(如,[OC-AT-ADJ]/[TAT]=BC)。
某些实施例中,所述开放通道字节计算的覆盖量能够被影响:
业务通道直接至网络接口而不是通过:OC;
TCP端口被配置为旁路:IMAP,POP,7TP;
OC客户端故障转移;
第三方客户端配置通信流量(典型约束)
为错误的接口记录网络总通信量:为TNT定义的接口通常为手动配置。新设备建模需要验证。
暂时因素:网络总通信量被周期性的记录,当每笔事务的OC应用程序通信量被记录时。中断数据收集,例如设备重启将导致这些指标的不同的截止。网络变换通知也将出现在一个更长事务的中间,使其不清楚哪个网络接口被使用。
TCP/IP和UDP协议开销和TCP重发:网络总通信量的测量,但不是OC应用程序通信量的测量。
图24A-24J描述了各种输出指标的计算的示例,其能够被使用在CRCS分析核心模块的实施例中。
图25显示了一个图例,说明分布式开放通道系统的一般体系结构概述,该分布式开放通道系统包括能够执行用于数据网络信号建模的测量的CRCS分析核心模块的测量点。图26A-26N显示额外的示例和/或CRCS分析核心模块能够适应的选择性输出指标。
例如,图26A-26C描述了数据指标示例。图26D-26F描述了最优指标示例。某些实施例中,ISOC/ISOTC存在异常:内部信号最优公式不使用协议计算的模拟值。图26G描述了用户指标示例。某些实施例中,所述用户指标能够被用于提供用户(如,由7TP地址确定的)的唯一编号或者在关注的时间段内的用户组合。此外,所述指标将是有用的,对于计算指标像字节/连接每个用户每天。图26H描述了电池指标示例。图26I-26K描述了信号指标示例。例如,信号总体指标能够提供在关注的时间段内被无线电状态打破的状态转换的数量。同样,整体连接时间可提供在关注的时间段内被无线电状态打破的连接时间。图26L-26M描述了维度指标示例。图26N描述了最优指标示例。图26N描述了最优指标示例。
图27显示由具有指令集的计算机系统组成的一台机器的示意图,导致所述机器执行在本文中讨论的可能会被执行的任何一个或者更多的方法。
在选择性实施例中,所述机器作为一个独立设备运行或者可被连接(如,网络化)至其他机器。在网络部署中,所述机器作为服务器或者客户端机器运行在客户端-服务器网络环境中,或者作为点对点(或分布式)网络环境中的一个点。
所述机器可作为服务器计算机,客户端计算机,个人电脑(PC),用户设备,平板电脑,笔记本电脑,机顶盒(STB),个人数字助理(PDA),移动电话,苹果手机,苹果平板电脑,黑莓手机,处理器,电话,网络设备,网络路由器,交换开关或桥,控制台,手持控制台,(手持)游戏设备,音乐播放器,任何便携式,移动,手持设备,或任何具有可指定要采取的行动的可执行的指令集(序列或其它)的机器。
当在典型实施例中显示的机器可读介质或者机器可读存储介质是一个媒介,术语“机器可读介质”和“机器可读存储介质”应该采取包括单一介质或者多个媒体(如,集中式或分布式存储数据库和/或相关缓存和服务器),存储一个或多个指令集。术语“机器可读介质”和“机器可读存储介质”应该也采取包含任何能够存储、编码或者携带一组用于机器执行的指令媒介,并且使该机器执行任何一个或者更多目前公开的技术或者方法。
一般而言,执行例程可以作为操作系统的一部分或一个特定的应用程序,组件,程序,对象,模块或作为“计算机程序”指令序列来实现公开的实施例。计算机程序通常包括在不同时间在计算机的不同内存和存储设备上的一个或多个指令集,当通过计算机上的一个或多个处理单元或处理器读取和执行指令集时,使计算机运行操作以执行涉及各个方面公开内容的元素。
此外,虽然实施例已经在功能齐全的计算机和计算机系统中被描述,本领域技术人员认为各种实施例能够以各种形式分布在项目产品中,并且无论用来实际影响分配的特定机器或计算机可读介质类型如何,本公开内容都同样适用。
机器可读存储介质,机器可读介质,或计算机可读(存储)介质的进一步示例包括但不限于可记录类型介质如不稳定和稳定存储设备,软盘和其他可移动磁盘,硬盘驱动器,光盘(如,光盘只读存储器(CDROMS),数字多功能光盘,(DVDs),等等),其中,传输类型介质如数字和模拟通信链接。
附加实施例
在一些实施例中披露了移动网络信号的建模方法。该方法包括:确定由在移动网络中的移动设备上的移动应用程序发起的事务是否导致网络信号要求相应的无线电连接,其中至少部分网络信号由通信优化引擎过滤的事务发起;并且建模基于移动设备的网络信号,至少部分,过滤网络信号。
在某些实施例中,过滤的网络信号不引起相应的无线电连接。
在一些实施例中,建模移动设备的网络信号进一步包括计算信号效率,信号效率表明作为过滤结果保存的无线电连接的总数。
在一些实施例中,计算信号效率进一步包括:访问与移动设备相关的无线电记录和通信活动记录;建模一些基于无线电记录和通信活动记录的虚拟无线电连接,其中该虚拟无线电连接表明如果没有前述过滤将会发生的无线电连接;确定一些基于无线电记录的实际无线电连接,其中保存的该无线电连接的总数由虚拟无线电连接的数量与实际无线电连接的数量之差组成。
在一些实施例中,建模移动设备的网络信号进一步包括计算有效连接时间效率,时间连接效率表明作为过滤的结果保存的无线电连接总时间。
在一些实施例中,计算连接时间效率进一步包括:访问与移动设备相关的无线电记录和通信活动记录;建模基于无线电记录和通信活动记录的虚拟无线电连接时间,其中虚拟无线电连接时间表明移动设备无线电如果没有前述过滤将会活动的时间数;确定基于无线电记录的实际无线电连接时间,其中实际无线电连接时间表明移动设备无线电的活动时间数;其中保存的无线电连接总时间由虚拟无线电连接时间和实际无线电连接时间之差组成。
在一些实施例中,该方法进一步包括跟踪在移动网络中的移动设备上执行的移动应用程序发起的事务。
在一些实施例中,该方法进一步包括通过通信优化引擎应用通信优化技术来过滤网络信号,这样至少部分网络信号被过滤。
在一些实施例中,该方法进一步包括访问通信活动记录,通信活动记录表明移动设备的多个通信测量点测得的指标,其中建模网络信号进一步包括计算基于通信指标的连接状态和连接时间间隔。
在一些实施例中,建模移动设备的网络信号进一步包括将网络信号归至在移动设备上执行的移动应用程序中的个别应用程序。
在一些实施例中,该方法进一步包括访问与移动设备相关的无线电记录和通信活动记录,其中无线电记录表明移动设备无线电的状态,其中通信活动记录表明在移动设备的多个测量点测得的各方面的通信指标;并且通过计算一个或者更多的CRCS字段,维护通信活动记录。
在一些实施例中,建模网络信号基于一个或者更多CRCS字段。
在一些实施例中,维护通信活动记录包括长轮询。
在一些实施例中,一个或者更多CRCS字段被划分为连接标识字段和连接时间计数字段。
在一些实施例中,一个或者更多CRCS字段被分为以下一个或者更多类别:实际的,模拟的,实际模拟的,虚拟模拟的,实际模拟各应用程序,和虚拟模拟各应用程序。
在一些实施例中,通信优化引擎包括一个或者更多分布式缓存和代理系统元素。
在一些实施例中,分布式缓存和代理系统包括代理客户端和代理服务器。
在一些实施例中,过滤后的无线电连接由代理客户端本地缓存。
在一些实施例中,公开了建模移动网络的网络信号的方法。该方法包括:访问与在移动网络中操作的移动设备的相关无线电记录,该无线电记录表明了一个移动设备无线电的状态;访问与移动设备相关的通信活动记录,该通信活动记录表明了移动设备的多个测量点测得的各方面的通信指标;基于一个或者更多无线电记录和通信活动记录计算一个或者更多CRCS字段;并且基于一个或者更多CRCS字段建模移动设备的网络信号。
在一些实施例中,该方法进一步包括确定由在移动网络中的移动设备上的移动应用程序发起的事务是否导致网络信号要求相应的无线电连接,其中至少部分网络信号由通信优化引擎过滤的事务发起。
在一些实施例中,过滤的网络信号不会引起在移动设备上的相应的无线电连接,并且未过滤的网络信号会引起在移动设备上的相应的无线电连接。
在一些实施例中,建模网络信号进一步包括计算连接状态和连接时间间隔,至少部分,基于一个或者更多计算得出的CRCS字段。
在一些实施例中,建模移动设备的网络信号进一步包括计算信号效率,信号效率表明作为过滤结果保存的无线电连接的总数。
在一些实施例中,计算信号效率进一步包括:访问与移动设备相关的无线电记录和通信活动记录;建模一些基于无线电记录和通信活动记录的虚拟无线电连接,其中该虚拟无线电连接表明如果没有前述过滤将会发生的无线电连接;确定一些基于无线电记录的实际无线电连接,其中保存的该无线电连接的总数由虚拟无线电连接的数量与实际无线电连接的数量之差组成。
在一些实施例中,建模移动设备的网络信号进一步包括计算有效连接时间效率,时间连接效率表明作为过滤的结果保存的无线电连接总时间。
在一些实施例中,计算连接时间效率进一步包括:访问与移动设备相关的无线电记录和通信活动记录;建模基于无线电记录和通信活动记录的虚拟无线电连接时间,其中虚拟无线电连接时间表明移动设备无线电如果没有前述过滤将会活动的时间数;确定基于无线电记录的实际无线电连接时间,其中实际无线电连接时间表明移动设备无线电的活动时间数;其中保存的无线电连接总时间由虚拟无线电连接时间和实际无线电连接时间之差组成。
在一些实施例中,该方法进一步包括通过跟踪事务和在移动设备上的多个测量点测量各方面的通信指标来维护通信活动记录。
在一些实施例中,一个或者更多CRCS字段被划分为连接标识字段和连接时间计数字段。
在一些实施例中,一个或者更多CRCS字段被分为以下一个或者更多类别:实际的,模拟的,实际模拟的,虚拟模拟的,实际模拟各应用程序,和虚拟模拟各应用程序。
在一些实施例中公开了一种移动设备。该移动设备包括无线电广播设备,处理器,和指令存储内存,其中该指令,当被处理器执行时,导致该移动设备:访问在移动网络中操作的移动设备的无线电记录,该无线电记录表明一个移动设备无线电的状态;访问与该移动设备相关的通信活动记录,该通信活动记录表明了移动设备的多个测量点测得的各方面的通信指标;基于一个或者更多无线电记录和通信活动记录计算一个或者更多CRCS字段;并且基于一个或者更多CRCS字段建模移动设备的网络信号。
在一些实施例中,其中该指令,当被处理器执行时,导致该移动设备:确定由在移动网络中的移动设备上的移动应用程序发起的事务是否导致网络信号要求相应的无线电连接,其中至少部分网络信号由通信优化引擎过滤的事务发起,其中过滤的网络信号不会引起在移动设备上的相应的无线电连接,并且未过滤的网络信号会引起在移动设备上的相应的无线电连接。
在一些实施例中,该手机进一步包括通信优化引擎,通信优化引擎包括一个或者更多分布式缓存和代理系统元素。
在一些实施例中,分布式缓存和代理系统包括代理客户端和代理服务器,并且过滤后的无线电连接由代理客户端本地缓存。
在一些实施例中,该指令,被处理器执行时,进一步的导致该移动设备:跟踪在移动网络中的移动设备上执行的移动应用程序发起的事务;在移动设备上的多个测量点测量各方面的通信指标;并且基于该测量来维护通信活动记录。
在一些实施例中,为了建模该移动设备的网络信号,该所述指令被处理器执行时,进一步地导致该移动设备:计算信号效率,信号效率表明作为过滤结果保存的无线电连接的总数。
在一些实施例中,为了计算该信号效率,所述指令被处理器执行时,进一步地导致该移动设备:访问与移动设备相关的无线电记录和通信活动记录;建模一些基于无线电记录和通信活动记录的虚拟无线电连接,其中该虚拟无线电连接表明如果没有前述过滤将会发生的无线电连接;确定一些基于无线电记录的实际无线电连接,其中保存的该无线电连接的总数由虚拟无线电连接的数量与实际无线电连接的数量之差组成。
在一些实施例中,为了建模该移动设备的网络信号,所述执行在被处理器执行时,进一步的导致该移动设备:计算连接时间效率,时间连接效率表明作为过滤的结果保存的无线电连接总时间。
在一些实施例中,为了计算该有效连接时间效率,所述指令在被处理器执行时,使得该移动设备:访问与移动设备相关的无线电记录和通信活动记录;建模基于无线电记录和通信活动记录的虚拟无线电连接时间,其中虚拟无线电连接时间表明移动设备无线电如果没有前述过滤将会活动的时间数;确定基于无线电记录的实际无线电连接时间,其中实际无线电连接时间表明移动设备无线电的活动时间数;其中保存的无线电连接总时间由虚拟无线电连接时间和实际无线电连接时间之差组成。
在一些实施例中披露了计算机可读存储介质存储被具有处理器的移动设备实施的指令。该指令,在被处理器执行时使得该移动设备:确定由在移动网络中的移动设备上的移动应用程序发起的事务是否导致网络信号要求相应的无线电连接,其中至少部分网络信号由通信优化引擎过滤的事务发起,其中过滤的网络信号不会引起在移动设备上的相应的无线电连接,并且基于至少部分过滤网络信号建模该移动设备的网络信号。
在一些实施例中,建模移动设备的网络信号进一步包括计算信号效率,信号效率表明作为过滤结果保存的无线电连接的总数。
在一些实施例中,建模移动设备的网络信号进一步包括计算计算连接时间效率,时间连接效率表明作为过滤的结果保存的无线电连接总时间。
在一些实施例中,所述指令在被处理器执行时使得该处理器:访问与该移动设备相关的无线电记录和通信活动记录,该无线电记录表明了一个移动设备无线电的状态,该通信活动记录表明了移动设备的多个测量点测得的各方面的通信指标;并且通过计算一个或更多CRCS字段维护通信活动记录。
在一些实施例中,网络信号的建模是基于所述一个或更多CRCS字段。
除非文中明确要求之外,否则在整个说明书和权利要求书中,词语“包含”,“包括”之类都解释为包含的含义,与排除或穷举的含义相对;也就是说,意为“包含,但不限于”。本文所使用“连接”,“耦合”或类似词语,意为两个或多个的组件之间直接或间接地连接或耦合;连接组件的耦合可以是实体的、逻辑或两者组合。另外,词语“这里”、“以上”,“以下”与所引用的类似的词语,当用于本申请时,通常应该指作为整体的本申请而不是指本申请的任何特定部分。在上下文允许的情况下,在上面详细说明中所使用的单数的或复数数目的词语也可以分别包含复数的或单数的数目。涉及到两个或多个项目的列表的词语“或”,覆盖该词语的以下所有的解释:列表中任何一个项目,列表中所有的项目和列表中项目的任意组合。
本发明实施例的以上详细描述并不是为了穷举或者限制本发明上述公开的紧缺形式。上面所描述的本发明的特定实施例和示例基于阐述的目的,但在本发明的范围内可以进行各种等同的修改,正如相关领域技术人员所认识的那样。例如,尽管处理或模块以给定的顺序呈现,但可选择的实施例可以执行具有不同顺序的步骤的程序,或利用具有不同顺序的模块的系统,并且一些处理或模块可以被删除、移动、增加、分割、组合和/或修改来提供可选择例子组合。这些处理或模块中的每一个可以以不同的方式实现。而且,尽管处理或模块以串行的方式在所示的时间执行,作为替代这些处理或模块可以以并行的方式执行,或者在不同的时间执行。此外,本发明所记录的具体序号仅为举例;替换执行方案需部署不同值或范围。
本发明所披露的技术可适用于其它系统,不一定非要用于上面描述的系统。上面描述的各种实施例的组件和方法可以结合以提供进一步的实施例。
上面所记录的专利、应用和其他参考,包含附属申请文件中所列的参考,均属于本申请的参考。所公开方面如有必要可以被修改,以使用如上所述各参考的系统、功能和概念,提供进一步的实施例。
根据上述详细说明,可以对本发明进行这些或其他的改变。尽管上述说明描述本发明特定实施例,并且描述所考虑的最佳方式,但上述描述在文章中多么详细,本发明都可以以多种方式实现。系统的各细节可以在其实施细节上产生相当大的变化,同时仍然包含在这里所公开的发明内。如上所述,用来描述某些公开的特征或方面的特定的术语不应理解为该术语在本文被重新定义为限于与该术语相关,公开的具体特征,特征或方面。一般来说,下面权利要求所使用的术语不应该被解释为将本发明限制到说明书所公开的具体实施方式,除非上面的详细说明部分明确的定义例这种术语。因此,本发明的实际内容不仅包含所公开的实施例,而且也包含在权利要求下实现或实施本发明的所有等同的方式。
尽管本发明的某些方面在下面以某些权利要求的形式提出,但发明人期望本发明的各个方面体现在任意数量的权利要求形式中。例如,尽管根据35U.S.C.§112,?6,仅仅将本发明的一个方面作为装置加功能权利要求来叙述,但其他方面可同样地作为装置加功能权利要求体现(35U.S.C.§112,?6所保存的权利要求必须以“...方法”开头)。因此,申请人在提交申请之后,保留添加附加的权利要求的权利,从而寻求为本发明的其他方面追加这种附加权利要求形式。
Claims (43)
1.一种基于移动网络信号的建模方法,该方法包括:
确定,如果由执行在移动网络中的移动设备上的移动应用程序发起的事务,使得网络信号要求相应的无线电连接,其中至少部分由事务引起的网络信号由流量优化引擎过滤;
建模,用于移动设备的网络信号,基于至少部分过滤的网络信号。
2.根据权利要求1所述的方法,其中过滤的网络信号不会引起相应的无线电连接。
3.根据权利要求1所述的方法,其中为移动设备网络信号建模进一步包括计算能够表明无线电连接总数的信号效率,所述无线电连接总数作为过滤的结果保存。
4.根据权利要求3所述的方法,计算信号效率进一步包括:
访问与移动设备相关联的无线电记录和流量活动记录;
基于无线电记录和流量活动记录建模一些虚拟无线电连接,其中虚拟无线电连接表明如果没有所述过滤无线电连接会发生;
确定无线电连接的实际数量基于无线电记录,其中保存的无线电连接的总值包括虚拟无线电连接和实际无线电连接的数量差。
5.根据权利要求1所述的方法,其中为移动设备网络信号建模进一步包括计算表明总的无线电连接时间作为过滤结果保存的时间连接效率。
6.根据权利要求5所述的方法,其中计算时间连接效率进一步包括:
访问与移动设备相关联的无线电记录和流量活动记录;
基于无线电记录和流量活动记录建模虚拟无线电时间连接,其中虚拟无线电时间连接表明如果没有所述过滤,移动设备无线电活跃大量时间;
基于无线电记录确定一个实际无线电时间连接,其中实际无线电时间连接表明移动设备无线电活跃大量时间;
其中总的无线电连接时间保存包括虚拟无线电时间连接和实际无线电连接时间连接的差。
7.根据权利要求1所述的方法,进一步包括:
追踪由执行在移动网络中的移动设备上的移动应用程序发起的事务。
8.根据权利要求1所述的方法,进一步包括:
通过流量优化引擎应用流量优化技术来过滤网络信号,这样至少部分网络信号是被过滤的。
9.根据权利要求1所述的方法,进一步包括:
访问流量活动记录,表明移动设备上测量多个测量点的流量指标,
其中网络信号建模进一步包括基于流量指标计算连接状态和时间常数间隔。
10.根据权利要求1所述的方法,其中为移动设备网络信号建模进一步包括将网络信号归因于执行在移动设备上的移动应用程序中的个别应用程序。
11.根据权利要求1所述的方法,进一步包括:
访问与移动设备相关联的无线电记录和通信活动记录,
其中无线电记录表明移动设备无线电的状态,
其中流量活动记录表明在移动设备中测量多个测量点的各种流量指标;和通过计算一个或多个CRCS字段来维护流量活动记录。
12.根据权利要求11所述的方法,其中基于一个或多个CRCS字段对网络信号建模。
13.根据权利要求11所述的方法,其中维护流量活动记录包括长时间轮询。
14.根据权利要求11所述的方法,其中一个或多个CRCS字段分为连接标志字段和时间连接计数字段。
15.根据权利要求11所述的方法,其中一个或多个CRCS字段分为下列一个或多个类别:实际,模拟,实际模拟,虚拟模拟,实际模拟每个应用程序和虚拟模拟每个应用程序。
16.根据权利要求1所述的方法,其中流量优化引擎包含一个或多个分布式缓存和代理系统中的组件。
17.根据权利要求16所述的方法,其中分布式缓存和代理系统包括代理客户端和代理服务器。
18.根据权利要求17所述的方法,其中过滤后的无线电连接由代理客户端本地缓存。
19.一种移动网络中网络信号建模的方法,该方法包括:
访问操作在移动网络中与移动设备相关的无线电记录,无线电记录表明移动设备无线电的状态;
访问与移动设备相关联的流量活动记录,流量活动记录表明在移动设备中测量多个测量点的各种流量指标;
基于一个或多个无线电记录和流量活动记录计算一个或多个CRCS字段;以及
基于一个或多个CRCS字段为移动设备的网络信号建模。
20.根据权利要求19所述的方法,进一步包括:
确定,如果由执行在移动网络中的移动设备上的移动应用程序发起的事务,使得网络信号要求相应的无线电连接,其中至少部分由事务引起的网络信号由流量优化引擎过滤。
21.根据权利要求19所述的方法,其中过滤后的网络信号不会引起移动设备中相应的无线电连接,没有过滤的网络信号会导致移动设备上相应的无线电连接。
22.根据权利要求19所述的方法,其中网络信号建模进一步包括计算连接状态和时间连接间隔,至少部分基于,一个或多个计算CRCS字段。
23.根据权利要求19所述的方法,为移动设备网络信号建模进一步包括计算能够表明无线电连接总数的信号效率,所述无线电连接连接总数被保存为过滤的结果。
24.根据权利要求23所述的方法,其中计算信号效率进一步包括:
访问与移动设备相关联的无线电记录和流量活动记录;
建模一定量的虚拟无线电连接,基于无线电日志和流量活动日志,
基于无线电记录和流量活动记录,建模虚拟无线电时间连接,其中虚拟无线电连接表明无线电连接会发生如果没有所述过滤;
基于无线电记录确定实际无线电连接数量,其中无线连接的总数包括虚拟无线电连接数量与实际无线连接数量的差。
25.根据权利要求19所述的方法,为移动设备网络信号建模进一步包括计算能够表明总无线电连接时间的时间连接效率,总无线电连接时间被作为过滤结果保存。
26.根据权利要求25所述的方法,在计算时间连接效率进一步包括:
访问与移动设备相关联的无线电记录和流量活动记录;
基于无线电记录和流量活动记录,建模虚拟无线电时间连接,其中虚拟无线电时间连接表明大量时间移动设备无线电会活跃如果没有所述过滤;
基于无线电记录确定一个实际无线电时间连接,其中实际无线电时间连接表明移动设备无线电活跃大量的时间;
其中总的无线电连接时间保存包括虚拟无线电时间连接和实际无线电连接时间连接的差。
27.根据权利要求19所述的方法,进一步包括维护流量活动记录通过追踪事务和在移动设备中为多个测量点测量各种流量指标。
28.根据权利要求19所述的方法,其中一个或多个CRCS字段分为连接标志字段和时间连接计数字段。
29.根据权利要求19所述的方法,其中一个或多个CRCS字段分为下列一个或多个类别:实际,模拟,实际模拟,虚拟模拟,实际模拟每个应用程序和虚拟模拟每个应用程序。
30.一种移动设备包括:
一个无线设备;
一个处理器;以及
存储指令的内存,其中所述指令,由处理器执行时,使得移动设备:
访问与运行在移动网络中的移动设备相关联的无线电记录,所述无线电记录表明移动设备无线电的状态;
访问与移动设备相关联的流量活动记录,所述流量活动记录表明在移动设备测量多个测量点的各种流量指标;
基于一个或多个无线电记录和流量活动记录计算一个或多个CRCS字段;和
基于一个或多个CRCS字段为移动设备的网络信号建模。
31.根据权利要求30所述的移动设备,其中所述指令,由处理器执行时,进一步使得移动设备:
确定,如果由执行在移动网络中的移动设备上的移动应用程序发起的事务,使得网络信号要求相应的无线电连接,其中至少部分由事务引起的网络信号由流量优化引擎过滤,其中过滤后的网络信号不会引起移动设备中相应的无线连接,没有过滤的网络信号会导致移动设备上相应的无线电连接。
32.根据权利要求31所述的移动设备,进一步包括流量优化引擎,所述流量优化引擎包含一个或多个分布式缓存和代理系统中的组件。
33.根据权利要求32所述的移动设备,其中分布式缓存和代理系统包括代理客户端和代理服务器,其中过滤后的无线电连接由代理客户端本地缓存。
34.根据权利要求30所述的移动设备,其中所述指令,由处理器执行时,进一步使得移动设备:
追踪由执行在移动网络中的移动设备上的移动应用程序发起的事务;
在移动设备中为多个测量点测量各种流量指标;和基于测量值维护流量活动记录。
35.根据权利要求30所述的移动设备,其中为移动设备网络信号建模的指令,由处理器执行时,进一步使移动设备计算能够表明无线电连接总数的信号效率,无线电连接总数作为过滤结果保存。
36.根据权利要求30所述的移动设备,其中计算信号效率的指令,由处理器执行时,进一步使移动设备:
访问与移动设备相关联的无线电记录和流量活动记录;
基于无线电记录和流量活动记录,建模一些虚拟无线电连接,其中虚拟无线电连接表明无线电连接会发生如果没有所述过滤;
确定无线电连接的实际数量基于无线电记录,其中无线电连接的总值保存包括虚拟无线电连接和实际无线电连接的差。
37.根据权利要求30所述的移动设备,其中为移动设备网络信号建模的指令,由处理器执行时,进一步使移动设备计算能够表明总的无线电连接时间的时间连接效率,总的无线电连接时间作为过滤结果保存。
38.根据权利要求37所述的移动设备,其中计算时间效率的指令,由处理器执行时,进一步使移动设备:
访问与移动设备相关联的无线电记录和流量活动记录;和
基于无线电记录和流量活动记录为虚拟无线电连接建模,其中虚拟无线电时间连接表明移动设备无线电活跃大量时间,如果没有所述过滤;
基于无线电记录确定实际无线电时间连接,其中所述实际无线电时间连接表明移动设备无线电活跃大量时间;
其中总的无线电连接时间保存包括虚拟无线电时间连接和实际无线电时间连接的差。
39.一个计算机可读存储介质存储指令由移动设备实现,该移动设备包括处理器,其中所述指令,在由处理器执行时,使移动设备:
确定,如果由执行在移动网络中的移动设备上的移动应用程序发起的事务,使得网络信号要求相应的无线电连接,其中至少部分由事务引起的网络信号由流量优化引擎过滤,其中过滤网络信号不会引起相应的无线电连接;和
为移动设备的网络信号建模,至少基于部分过滤后的网络信号。
40.根据权利要求39所述的计算机可读存储介质,其中为移动设备网络信号建模进一步包括计算表明无线电连接总数的信号效率,无线电连接总数作为过滤结果保存。
41.根据权利要求39所述的计算机可读存储介质,其中为移动设备网络信号建模进一步包括计算表明总的无线电连接时间的时间连接效率,总的无线电连接时间作为过滤结果保存。
42.根据权利要求39所述的计算机可读存储介质,其中所述指令,由处理器执行时,进一步使得处理器:
访问与移动设备相关联的无线电记录和流量活动记录,
其中无线电记录表明移动设备无线电的状态,
其中流量活动记录在移动设备中通过测量多个测量点来表明各种流量指标;和
通过计算一个或多个CRCS字段来维护流量活动记录。
43.根据权利要求42所述的计算机可读存储介质,其中基于一个或多个CRCS字段为网络信号建模。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361842279P | 2013-07-02 | 2013-07-02 | |
US61/842,279 | 2013-07-02 | ||
PCT/US2014/040766 WO2015002714A1 (en) | 2013-07-02 | 2014-06-03 | Modeling network signaling in a mobile network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105814931A true CN105814931A (zh) | 2016-07-27 |
Family
ID=52133391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480048435.1A Pending CN105814931A (zh) | 2013-07-02 | 2014-06-03 | 基于移动网络信号的网络建模 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9819552B2 (zh) |
EP (1) | EP3061283A4 (zh) |
CN (1) | CN105814931A (zh) |
WO (1) | WO2015002714A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243062A (zh) * | 2016-12-27 | 2018-07-03 | 通用电气公司 | 用以在时间序列数据中探测机器启动的事件的系统 |
CN108255848A (zh) * | 2016-12-29 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 实现条件更新的方法、设备及系统 |
CN109199577A (zh) * | 2017-06-30 | 2019-01-15 | 韦伯斯特生物官能(以色列)有限公司 | 用于系统监视和诊断的网络嗅探器 |
CN109587204A (zh) * | 2017-09-29 | 2019-04-05 | 中兴通讯股份有限公司 | 一种访问公网的方法、装置和电子设备 |
CN109889468A (zh) * | 2017-12-06 | 2019-06-14 | 腾讯科技(武汉)有限公司 | 网络数据的传输方法、系统、装置、设备及存储介质 |
CN110086884A (zh) * | 2019-05-09 | 2019-08-02 | 俞力奇 | 一种主机连接通讯系统及连接方法 |
CN110651494A (zh) * | 2017-02-23 | 2020-01-03 | 约翰·梅扎林瓜联合有限公司 | 广泛分布的无线网络中自适应跟踪和分配容量的系统和方法 |
CN112653769A (zh) * | 2021-01-08 | 2021-04-13 | 青岛海尔科技有限公司 | 一种消息的推送方法及系统 |
CN116325702A (zh) * | 2020-09-01 | 2023-06-23 | 甲骨文国际公司 | 用于特定于服务通信代理(scp)的优先级化的网络功能(nf)发现和路由的方法、系统和计算机可读介质 |
US11930083B2 (en) | 2021-08-09 | 2024-03-12 | Oracle International Corporation | Methods, systems, and computer readable media for processing network function (NF) discovery requests at NF repository function (NRF) using prioritized lists of preferred locations |
US11950178B2 (en) | 2021-08-03 | 2024-04-02 | Oracle International Corporation | Methods, systems, and computer readable media for optimized routing of service based interface (SBI) request messages to remote network function (NF) repository functions using indirect communications via service communication proxy (SCP) |
US12022316B2 (en) | 2021-06-23 | 2024-06-25 | Oracle International Corporation | Methods, systems, and computer readable media for optimizing network traffic distribution using timeslot-based tracked producer network function (NF) performance during producer NF selection |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021021B2 (en) | 2011-12-14 | 2015-04-28 | Seven Networks, Inc. | Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system |
WO2015002714A1 (en) | 2013-07-02 | 2015-01-08 | Seven Networks, Inc. | Modeling network signaling in a mobile network |
CN104519036B (zh) * | 2013-09-30 | 2017-10-31 | 腾讯科技(深圳)有限公司 | 一种发送业务请求消息的方法及装置 |
US9813515B2 (en) * | 2013-10-04 | 2017-11-07 | Akamai Technologies, Inc. | Systems and methods for caching content with notification-based invalidation with extension to clients |
US9648125B2 (en) * | 2013-10-04 | 2017-05-09 | Akamai Technologies, Inc. | Systems and methods for caching content with notification-based invalidation |
US9641640B2 (en) * | 2013-10-04 | 2017-05-02 | Akamai Technologies, Inc. | Systems and methods for controlling cacheability and privacy of objects |
WO2016029150A1 (en) * | 2014-08-21 | 2016-02-25 | Seven Networks, Llc | Optimizing network traffic management in a mobile network |
US9894400B2 (en) * | 2015-05-12 | 2018-02-13 | Roku, Inc. | Profile driven communication polling for remote control |
US10938844B2 (en) * | 2016-07-22 | 2021-03-02 | At&T Intellectual Property I, L.P. | Providing security through characterizing mobile traffic by domain names |
US10250281B2 (en) * | 2016-12-30 | 2019-04-02 | Sandisk Technologies Llc | ECC decoder having adjustable parameters |
WO2018137113A1 (zh) * | 2017-01-24 | 2018-08-02 | 深圳企管加企业服务有限公司 | 实现应用桌面的方法和装置 |
US11049005B2 (en) | 2017-03-22 | 2021-06-29 | At&T Intellectual Property I, L.P. | Methods, devices and systems for managing network video traffic |
US10410133B2 (en) | 2017-03-22 | 2019-09-10 | At&T Intellectual Property I, L.P. | Methods, devices and systems for managing network video traffic |
US10979238B2 (en) * | 2018-05-04 | 2021-04-13 | Hellofactory Co., Ltd. | System and method for transmitting and processing group message in a store |
CN111510887B (zh) * | 2020-03-30 | 2021-06-04 | 深圳联想懂的通信有限公司 | 一种sim卡的管理方法、设备及存储介质 |
CN115086897B (zh) * | 2022-06-09 | 2023-10-17 | 深圳创维数字技术有限公司 | 多运营商虚拟流量共享方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054706B2 (en) * | 2003-06-30 | 2006-05-30 | Intel Corporation | Managing supply chains with model predictive control |
CN101690304A (zh) * | 2007-07-11 | 2010-03-31 | 艾利森电话股份有限公司 | 用于确定服务性能的方法和设备 |
US7774440B1 (en) * | 2001-07-25 | 2010-08-10 | Scalable Network Technologies, Inc. | Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model |
CN102355482A (zh) * | 2011-07-28 | 2012-02-15 | 山东中创软件工程股份有限公司 | 一种数据传输方法及设备 |
US8190701B2 (en) * | 2010-11-01 | 2012-05-29 | Seven Networks, Inc. | Cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19811097A1 (de) * | 1998-03-16 | 1999-09-23 | Deutsche Telekom Ag | Simulator zur Simulation eines intelliegenten Netzwerks |
US6615166B1 (en) * | 1999-05-27 | 2003-09-02 | Accenture Llp | Prioritizing components of a network framework required for implementation of technology |
US7398271B1 (en) * | 2001-04-16 | 2008-07-08 | Yahoo! Inc. | Using network traffic logs for search enhancement |
US8977284B2 (en) * | 2001-10-04 | 2015-03-10 | Traxcell Technologies, LLC | Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same |
US8200775B2 (en) * | 2005-02-01 | 2012-06-12 | Newsilike Media Group, Inc | Enhanced syndication |
US7389538B2 (en) * | 2003-11-12 | 2008-06-17 | Fortinet, Inc. | Static code image modeling and recognition |
US20060183462A1 (en) * | 2005-02-11 | 2006-08-17 | Nokia Corporation | Managing an access account using personal area networks and credentials on a mobile device |
US8019333B2 (en) | 2005-03-14 | 2011-09-13 | Qualcomm Incorporated | Apparatus and methods for product acceptance testing on a wireless device |
TWM291148U (en) | 2005-07-08 | 2006-05-21 | Hansder Technology Co Ltd | Computer using power frequency carrier |
US7756829B2 (en) * | 2006-04-18 | 2010-07-13 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
KR101242435B1 (ko) | 2006-10-31 | 2013-03-12 | 에스케이플래닛 주식회사 | 무선 네트워크 에뮬레이션 시스템 및 방법 |
US8583781B2 (en) * | 2009-01-28 | 2013-11-12 | Headwater Partners I Llc | Simplified service network architecture |
KR101268940B1 (ko) | 2009-02-26 | 2013-05-30 | 주식회사 씨에스 | 통신 시스템에서 펨토 기지국 및 그 제어 방법 |
US9769287B2 (en) * | 2010-05-10 | 2017-09-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing protocol overhead in single-block packet access procedures |
US9569595B2 (en) * | 2010-10-15 | 2017-02-14 | Verizon Patent And Licensing Inc. | Dynamic mobile streaming application suppression |
WO2012060997A2 (en) * | 2010-11-01 | 2012-05-10 | Michael Luna | Application and network-based long poll request detection and cacheability assessment therefor |
US9130743B2 (en) * | 2011-06-21 | 2015-09-08 | Pyxim Wireless, Inc. | Method and apparatus for communicating between low message rate wireless devices and users via monitoring, control and information systems |
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 |
US8908535B2 (en) * | 2012-02-10 | 2014-12-09 | Ixia | Methods, traffic simulators, and computer readable media for validating long term evolution (LTE) code blocks and transport blocks |
US9413839B2 (en) * | 2012-07-31 | 2016-08-09 | Sprint Communications Company L.P. | Traffic management of third party applications |
US9497094B2 (en) * | 2013-05-09 | 2016-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for providing network applications monitoring |
WO2015002714A1 (en) | 2013-07-02 | 2015-01-08 | Seven Networks, Inc. | Modeling network signaling in a mobile network |
-
2014
- 2014-06-03 WO PCT/US2014/040766 patent/WO2015002714A1/en active Application Filing
- 2014-06-03 EP EP14819940.9A patent/EP3061283A4/en not_active Withdrawn
- 2014-06-03 CN CN201480048435.1A patent/CN105814931A/zh active Pending
- 2014-06-03 US US14/295,289 patent/US9819552B2/en not_active Expired - Fee Related
-
2017
- 2017-11-14 US US15/812,951 patent/US20180069764A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774440B1 (en) * | 2001-07-25 | 2010-08-10 | Scalable Network Technologies, Inc. | Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model |
US7054706B2 (en) * | 2003-06-30 | 2006-05-30 | Intel Corporation | Managing supply chains with model predictive control |
CN101690304A (zh) * | 2007-07-11 | 2010-03-31 | 艾利森电话股份有限公司 | 用于确定服务性能的方法和设备 |
US8190701B2 (en) * | 2010-11-01 | 2012-05-29 | Seven Networks, Inc. | Cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
CN102355482A (zh) * | 2011-07-28 | 2012-02-15 | 山东中创软件工程股份有限公司 | 一种数据传输方法及设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243062A (zh) * | 2016-12-27 | 2018-07-03 | 通用电气公司 | 用以在时间序列数据中探测机器启动的事件的系统 |
CN108255848A (zh) * | 2016-12-29 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 实现条件更新的方法、设备及系统 |
CN108255848B (zh) * | 2016-12-29 | 2022-06-24 | 阿里巴巴集团控股有限公司 | 实现条件更新的方法、设备及系统 |
CN110651494A (zh) * | 2017-02-23 | 2020-01-03 | 约翰·梅扎林瓜联合有限公司 | 广泛分布的无线网络中自适应跟踪和分配容量的系统和方法 |
CN110651494B (zh) * | 2017-02-23 | 2020-11-17 | 约翰·梅扎林瓜联合有限公司 | 广泛分布的无线网络中自适应跟踪和分配容量的系统和方法 |
CN109199577A (zh) * | 2017-06-30 | 2019-01-15 | 韦伯斯特生物官能(以色列)有限公司 | 用于系统监视和诊断的网络嗅探器 |
CN109199577B (zh) * | 2017-06-30 | 2024-01-02 | 韦伯斯特生物官能(以色列)有限公司 | 用于系统监视和诊断的网络嗅探器 |
CN109587204A (zh) * | 2017-09-29 | 2019-04-05 | 中兴通讯股份有限公司 | 一种访问公网的方法、装置和电子设备 |
CN109587204B (zh) * | 2017-09-29 | 2021-11-02 | 中兴通讯股份有限公司 | 一种访问公网的方法、装置和电子设备 |
CN109889468A (zh) * | 2017-12-06 | 2019-06-14 | 腾讯科技(武汉)有限公司 | 网络数据的传输方法、系统、装置、设备及存储介质 |
CN109889468B (zh) * | 2017-12-06 | 2022-06-14 | 腾讯科技(武汉)有限公司 | 网络数据的传输方法、系统、装置、设备及存储介质 |
CN110086884A (zh) * | 2019-05-09 | 2019-08-02 | 俞力奇 | 一种主机连接通讯系统及连接方法 |
CN116325702A (zh) * | 2020-09-01 | 2023-06-23 | 甲骨文国际公司 | 用于特定于服务通信代理(scp)的优先级化的网络功能(nf)发现和路由的方法、系统和计算机可读介质 |
CN116325702B (zh) * | 2020-09-01 | 2024-06-28 | 甲骨文国际公司 | 用于网络功能发现和路由的方法、系统和介质 |
CN112653769A (zh) * | 2021-01-08 | 2021-04-13 | 青岛海尔科技有限公司 | 一种消息的推送方法及系统 |
US12022316B2 (en) | 2021-06-23 | 2024-06-25 | Oracle International Corporation | Methods, systems, and computer readable media for optimizing network traffic distribution using timeslot-based tracked producer network function (NF) performance during producer NF selection |
US11950178B2 (en) | 2021-08-03 | 2024-04-02 | Oracle International Corporation | Methods, systems, and computer readable media for optimized routing of service based interface (SBI) request messages to remote network function (NF) repository functions using indirect communications via service communication proxy (SCP) |
US11930083B2 (en) | 2021-08-09 | 2024-03-12 | Oracle International Corporation | Methods, systems, and computer readable media for processing network function (NF) discovery requests at NF repository function (NRF) using prioritized lists of preferred locations |
Also Published As
Publication number | Publication date |
---|---|
US20180069764A1 (en) | 2018-03-08 |
US9819552B2 (en) | 2017-11-14 |
WO2015002714A1 (en) | 2015-01-08 |
EP3061283A4 (en) | 2018-04-25 |
EP3061283A1 (en) | 2016-08-31 |
US20150012257A1 (en) | 2015-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105814931A (zh) | 基于移动网络信号的网络建模 | |
CN108429800B (zh) | 一种移动设备 | |
CN106664254A (zh) | 优化移动网络中的网络流量管理 | |
EP2636268B1 (en) | Optimization of resource polling intervals to satisfy mobile device requests | |
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 | |
EP2792188B1 (en) | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system | |
EP2596658B1 (en) | Aligning data transfer to optimize connections established for transmission over a wireless network | |
US10263899B2 (en) | Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network | |
EP2661697B1 (en) | System and method for reduction of mobile network traffic used for domain name system (dns) queries | |
EP2700019B1 (en) | Social caching for device resource sharing and management | |
EP2556441B1 (en) | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief | |
EP2755356B1 (en) | Optimized and Selective Management of Policy Deployment to Mobile Clients in a Congested Network to Prevent Further Aggravation of Network Congestion | |
WO2015031356A1 (en) | Enhanced caching of domain name system (dns) and reverse dns queries for traffic management for signaling optimization in a mobile network | |
WO2013116852A1 (en) | User as an end point for profiling and optimizing the delivery of content and data in a wireless network | |
WO2014011216A1 (en) | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications | |
EP2767116A1 (en) | Wireless traffic management system cache optimization using http headers | |
EP2848028A1 (en) | A method and system for management of a virtual network connection without heartbeat messages | |
WO2013154905A1 (en) | A method and system for management of a virtual network connection without heartbeat messages | |
WO2013177390A1 (en) | Wireless network traffic routing through traffic optimization and tracking of destination address to facilitate service provider billing | |
GB2499089A (en) | Providing reports to mobile network operators based on optimisiciency of wireless network traffic and/or battery consumption reduction | |
WO2013086455A1 (en) | Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation | |
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: 20191108 |
|
AD01 | Patent right deemed abandoned |